From 5665a96166ec6643a5f1705f818e2c71ce011c38 Mon Sep 17 00:00:00 2001 From: Fauzaan Date: Mon, 28 Sep 2026 11:42:44 +0000 Subject: [PATCH 01/16] Keep Read Mode read-only and fix table editing interactions --- README.md | 3 +- .../Document/ContentViewController.swift | 8 - ...DocumentWindowController+EditSession.swift | 165 -------- .../Document/DocumentWindowController.swift | 14 - .../Document/MainSplitViewController.swift | 8 - md-preview/Features/Editor/EditorHTML.swift | 29 +- .../Rendering/MarkdownHTML+HostBridge.swift | 391 ------------------ .../Rendering/MarkdownHTML+Stylesheet.swift | 58 --- md-preview/Rendering/MarkdownWebView.swift | 76 ---- md-preview/Vendor/CodeMirror/mdedit.min.js | 46 +-- scripts/editor-bundle/entry-cm.js | 352 ++++++++++++---- scripts/editor-bundle/smoke-test.mjs | 13 +- .../EditorFormattingTests.swift | 185 +++++++++ .../EditorScrollAnchorTests.swift | 64 ++- .../MarkdownHTMLRenderTests.swift | 15 +- .../MdPreviewUpdateTests.swift | 202 ++++----- 16 files changed, 628 insertions(+), 1001 deletions(-) diff --git a/README.md b/README.md index ef3dc2f0..fcf7a1b4 100644 --- a/README.md +++ b/README.md @@ -69,7 +69,8 @@ Or grab the latest signed and notarized DMG from the [Releases](https://github.c ## Features - **Native rendering** — `WKWebView` pipeline backed by [swift-markdown](https://github.com/swiftlang/swift-markdown), with heading anchors and link handling. Bare `http://` and `https://` URLs are clickable in the app and Quick Look previews. -- **Edit Mode** — edit Markdown in place with a formatting toolbar for headings, emphasis, lists, quotes, code, and links. Toggle it from the toolbar or with ⌘E, then save with ⌘S. +- **Read Mode** — select and copy text, follow links, and browse tables without changing the document. Switch to Edit Mode to edit tables or toggle task checkboxes. +- **Edit Mode** — edit Markdown in place with a formatting toolbar for headings, emphasis, lists, quotes, code, and links. Table cells show inline formatting until focused, then reveal their Markdown syntax for editing. Toggle it from the toolbar or with ⌘E, then save with ⌘S. - **Mermaid diagrams** — fenced `mermaid` code blocks render as diagrams in both the app and Quick Look previews, using a bundled renderer so previews work offline without a CDN request. - **Math equations** — LaTeX inline (`$x_1 + x_2$`), display (`$$\int_0^1 x^2\,dx$$`), and fenced `math` blocks render with a bundled KaTeX. Selecting a rendered formula and copying yields the original LaTeX source (via the official `copy-tex` extension). - **Document outline** — sidebar TOC that mirrors your headings; click to jump. diff --git a/md-preview/Document/ContentViewController.swift b/md-preview/Document/ContentViewController.swift index e824c0e9..72ecb546 100644 --- a/md-preview/Document/ContentViewController.swift +++ b/md-preview/Document/ContentViewController.swift @@ -72,8 +72,6 @@ final class ContentViewController: NSViewController { var activeHeadingDidChange: ((Int?) -> Void)? var zoomDidChange: ((CGFloat) -> Void)? - var taskCheckboxToggled: ((Int, Bool) -> Void)? - var tableEditRequested: ((MarkdownTableEditRequest) -> Void)? var localMarkdownLinkActivated: ((URL) -> Void)? /// Fires once after a pending source scroll anchor (prepared via /// `prepareToRestoreSourceScrollAnchor`) has been applied to a fresh @@ -123,12 +121,6 @@ final class ContentViewController: NSViewController { webView.localMarkdownLinkActivated = { [weak self] url in self?.localMarkdownLinkActivated?(url) } - webView.taskCheckboxToggled = { [weak self] line, checked in - self?.taskCheckboxToggled?(line, checked) - } - webView.tableEditRequested = { [weak self] request in - self?.tableEditRequested?(request) - } webView.zoomDidChange = { [weak self] zoom in self?.webViewCenteredLeadingConstraint?.constant = -MarkdownHTML.preferredPageWidth * zoom / 2 diff --git a/md-preview/Document/DocumentWindowController+EditSession.swift b/md-preview/Document/DocumentWindowController+EditSession.swift index 9471e203..93536b34 100644 --- a/md-preview/Document/DocumentWindowController+EditSession.swift +++ b/md-preview/Document/DocumentWindowController+EditSession.swift @@ -524,171 +524,6 @@ extension DocumentWindowController { } } - func toggleTaskCheckbox(onLine sourceLine: Int, checked: Bool) { - guard !isEditing, - let baseline = currentMarkdown, - let updated = TaskCheckboxSource.settingChecked( - checked, onLine: sourceLine, in: baseline - ), - updated != baseline else { - rerenderCurrentPreview() - return - } - - let diskState = diskFileState(for: currentFileURL, expectedMarkdown: baseline) - saveEditedMarkdown(updated, diskState: diskState) { [weak self] result in - guard let self else { return } - switch result { - case .saved: - self.currentMarkdown = updated - if let url = self.currentFileURL { - self.markdownDocument?.replaceContents(markdown: updated, fileURL: url) - self.renderCurrentDocument(text: updated, fileURL: url) - } - case let .reloaded(externalMarkdown): - self.currentMarkdown = externalMarkdown - if let url = self.currentFileURL { - self.markdownDocument?.replaceContents(markdown: externalMarkdown, fileURL: url) - self.renderCurrentDocument(text: externalMarkdown, fileURL: url) - } - case .cancelled: - self.rerenderCurrentPreview() - } - } - } - - func applyTableEdit(_ request: MarkdownTableEditRequest) { - guard !isEditing, - let baseline = currentMarkdown else { - rerenderCurrentPreview() - return - } - let updated = request.edits.reduce(Optional(baseline)) { markdown, edit in - markdown.flatMap { - MarkdownTableSource.applying( - edit, - fromLine: request.startLine, - throughLine: request.endLine, - in: $0 - ) - } - } - guard let updated, - updated != baseline else { - rerenderCurrentPreview() - return - } - - let diskState = diskFileState(for: currentFileURL, expectedMarkdown: baseline) - let actionName = tableUndoActionName(for: request.edits) - saveEditedMarkdown(updated, diskState: diskState) { [weak self] result in - guard let self else { return } - switch result { - case .saved: - self.currentMarkdown = updated - if let url = self.currentFileURL { - self.markdownDocument?.replaceContents(markdown: updated, fileURL: url) - self.renderCurrentDocument(text: updated, fileURL: url) - self.registerTableUndo( - restoring: baseline, - expectedCurrentMarkdown: updated, - fileURL: url, - actionName: actionName - ) - } - case let .reloaded(externalMarkdown): - self.tableUndoManager.removeAllActions() - self.currentMarkdown = externalMarkdown - if let url = self.currentFileURL { - self.markdownDocument?.replaceContents(markdown: externalMarkdown, fileURL: url) - self.renderCurrentDocument(text: externalMarkdown, fileURL: url) - } - case .cancelled: - self.rerenderCurrentPreview() - } - } - } - - private func tableUndoActionName(for edits: [MarkdownTableEdit]) -> String { - for edit in edits.reversed() { - switch edit { - case .setCell: - return NSLocalizedString("Edit Table Cell", comment: "Table edit undo action") - case .insertRowBefore, .insertRowAfter: - return NSLocalizedString("Add Row", comment: "Table edit undo action") - case .deleteRow: - return NSLocalizedString("Delete Row", comment: "Table edit undo action") - case .insertColumnBefore, .insertColumnAfter: - return NSLocalizedString("Add Column", comment: "Table edit undo action") - case .deleteColumn: - return NSLocalizedString("Delete Column", comment: "Table edit undo action") - } - } - return NSLocalizedString("Edit Table", comment: "Table edit undo action") - } - - private func registerTableUndo(restoring markdown: String, - expectedCurrentMarkdown: String, - fileURL: URL, - actionName: String) { - tableUndoManager.registerUndo(withTarget: self) { target in - target.restoreTableMarkdown( - markdown, - expectedCurrentMarkdown: expectedCurrentMarkdown, - fileURL: fileURL, - actionName: actionName - ) - } - tableUndoManager.setActionName(actionName) - } - - private func restoreTableMarkdown(_ markdown: String, - expectedCurrentMarkdown: String, - fileURL: URL, - actionName: String) { - guard !isEditing, - !isTableUndoSaveInFlight, - currentFileURL?.standardizedFileURL == fileURL.standardizedFileURL, - currentMarkdown == expectedCurrentMarkdown else { - tableUndoManager.removeAllActions() - return - } - - // Register while UndoManager is actively undoing or redoing so AppKit - // puts this inverse operation on the opposite stack immediately. The - // file write can become asynchronous if sandbox permission is needed. - registerTableUndo( - restoring: expectedCurrentMarkdown, - expectedCurrentMarkdown: markdown, - fileURL: fileURL, - actionName: actionName - ) - isTableUndoSaveInFlight = true - let diskState = diskFileState(for: currentFileURL, - expectedMarkdown: expectedCurrentMarkdown) - saveEditedMarkdown(markdown, diskState: diskState) { [weak self] result in - guard let self else { return } - self.isTableUndoSaveInFlight = false - switch result { - case .saved: - self.currentMarkdown = markdown - self.markdownDocument?.replaceContents(markdown: markdown, fileURL: fileURL) - self.renderCurrentDocument(text: markdown, fileURL: fileURL) - case let .reloaded(externalMarkdown): - self.tableUndoManager.removeAllActions() - self.currentMarkdown = externalMarkdown - self.markdownDocument?.replaceContents( - markdown: externalMarkdown, - fileURL: fileURL - ) - self.renderCurrentDocument(text: externalMarkdown, fileURL: fileURL) - case .cancelled: - self.tableUndoManager.removeAllActions() - self.rerenderCurrentPreview() - } - } - } - func rerenderCurrentPreview() { guard let url = currentFileURL, let markdown = currentMarkdown else { return } renderCurrentDocument(text: markdown, fileURL: url) diff --git a/md-preview/Document/DocumentWindowController.swift b/md-preview/Document/DocumentWindowController.swift index 57320673..227b86f8 100644 --- a/md-preview/Document/DocumentWindowController.swift +++ b/md-preview/Document/DocumentWindowController.swift @@ -128,8 +128,6 @@ final class DocumentWindowController: NSWindowController, NSWindowDelegate, NSTo var searchMode: SearchMode = .contains var pendingFindWork: DispatchWorkItem? static let findDebounceDelay: TimeInterval = 0.10 - let tableUndoManager = UndoManager() - var isTableUndoSaveInFlight = false var documentWindow: NSWindow { guard let window else { @@ -206,12 +204,6 @@ final class DocumentWindowController: NSWindowController, NSWindowDelegate, NSTo self?.present(url: url) } } - split.onToggleTaskCheckbox = { [weak self] line, checked in - self?.toggleTaskCheckbox(onLine: line, checked: checked) - } - split.onEditTable = { [weak self] request in - self?.applyTableEdit(request) - } documentWindow.contentViewController = split documentWindow.setContentSize(NSSize(width: 1100, height: 720)) documentWindow.center() @@ -360,15 +352,10 @@ final class DocumentWindowController: NSWindowController, NSWindowDelegate, NSTo applyWindowBackgroundTheme() } - func windowWillReturnUndoManager(_ window: NSWindow) -> UndoManager? { - isEditing ? nil : tableUndoManager - } - /// A saved image of the document, decoding while the window is built. var pendingSnapshot: DocumentSnapshotCache.Prefetch? func display(markdown: String, fileURL: URL?) { - tableUndoManager.removeAllActions() currentFileURL = fileURL currentMarkdown = markdown resetAutoSaveFeedback() @@ -444,7 +431,6 @@ final class DocumentWindowController: NSWindowController, NSWindowDelegate, NSTo return } let restoredScrollPosition = commitNavigation(to: url, intent: intent) - tableUndoManager.removeAllActions() // Switching to a different file blanks the preview so the previous // doc doesn't linger on screen during sheet dismissal + load. diff --git a/md-preview/Document/MainSplitViewController.swift b/md-preview/Document/MainSplitViewController.swift index 4cab53cb..96749ff6 100644 --- a/md-preview/Document/MainSplitViewController.swift +++ b/md-preview/Document/MainSplitViewController.swift @@ -37,8 +37,6 @@ final class MainSplitViewController: NSSplitViewController { var onSelectFile: ((URL) -> Void)? var onOpenMarkdownLink: ((URL) -> Void)? - var onToggleTaskCheckbox: ((Int, Bool) -> Void)? - var onEditTable: ((MarkdownTableEditRequest) -> Void)? override func viewDidLoad() { super.viewDidLoad() @@ -79,12 +77,6 @@ final class MainSplitViewController: NSSplitViewController { contentViewController?.activeHeadingDidChange = { [weak self] headingID in self?.sidebarViewController?.setActiveHeading(headingID) } - contentViewController?.taskCheckboxToggled = { [weak self] line, checked in - self?.onToggleTaskCheckbox?(line, checked) - } - contentViewController?.tableEditRequested = { [weak self] request in - self?.onEditTable?(request) - } contentViewController?.localMarkdownLinkActivated = { [weak self] url in self?.onOpenMarkdownLink?(url) } diff --git a/md-preview/Features/Editor/EditorHTML.swift b/md-preview/Features/Editor/EditorHTML.swift index c335e582..e5c3365d 100644 --- a/md-preview/Features/Editor/EditorHTML.swift +++ b/md-preview/Features/Editor/EditorHTML.swift @@ -528,7 +528,7 @@ nonisolated enum EditorHTML { position: relative; width: fit-content; /* Outer spacing comes from the block separator lines, matching - the preview's .md-table-scroll margin. */ + the preview's table margin. */ margin: 0; max-width: 100%; overflow: visible; @@ -575,34 +575,13 @@ nonisolated enum EditorHTML { opacity: 0.72; pointer-events: none; } + /* Match the document's quiet, text-first editing surface. The caret + identifies the insertion point; a tint marks the active cell. */ .cm-md-table-cell:focus { - outline: 2px solid var(--accent); - outline-offset: -2px; background: color-mix(in srgb, var(--accent) 8%, transparent); } .cm-md-table-cell.is-table-part-selected { - --table-selection-top-edge: 0 0 transparent; - --table-selection-right-edge: 0 0 transparent; - --table-selection-bottom-edge: 0 0 transparent; - --table-selection-left-edge: 0 0 transparent; - background: color-mix(in srgb, var(--accent) 14%, Canvas); - box-shadow: - var(--table-selection-top-edge), - var(--table-selection-right-edge), - var(--table-selection-bottom-edge), - var(--table-selection-left-edge); - } - .cm-md-table-cell.is-table-selection-top { - --table-selection-top-edge: inset 0 1px color-mix(in srgb, var(--accent) 52%, transparent); - } - .cm-md-table-cell.is-table-selection-right { - --table-selection-right-edge: inset -1px 0 color-mix(in srgb, var(--accent) 52%, transparent); - } - .cm-md-table-cell.is-table-selection-bottom { - --table-selection-bottom-edge: inset 0 -1px color-mix(in srgb, var(--accent) 52%, transparent); - } - .cm-md-table-cell.is-table-selection-left { - --table-selection-left-edge: inset 1px 0 color-mix(in srgb, var(--accent) 52%, transparent); + background: color-mix(in srgb, var(--accent) 16%, transparent); } /* Page scrolling lets WebKit own the native toolbar backdrop. The macOS 15 editor keeps its internal scroller. */ diff --git a/md-preview/Rendering/MarkdownHTML+HostBridge.swift b/md-preview/Rendering/MarkdownHTML+HostBridge.swift index 9e47dfbd..1ccb91c9 100644 --- a/md-preview/Rendering/MarkdownHTML+HostBridge.swift +++ b/md-preview/Rendering/MarkdownHTML+HostBridge.swift @@ -412,379 +412,6 @@ nonisolated extension MarkdownHTML { copyCodeBlock(button); }); - function enableTaskCheckboxes() { - if (!hasHostBridge) return; - document.querySelectorAll('.task-list-item-checkbox').forEach((checkbox) => { - checkbox.disabled = false; - }); - } - - let activeTableCell = null; - let nextTableContextToken = 1; - let pendingTableContextAction = null; - let selectedTablePart = null; - let tableCellDrag = null; - let suppressNextTableClick = false; - - function tableMessage(cell, operation, value, pendingValue, pendingCell) { - const table = cell && cell.closest('table[data-source-start][data-source-end]'); - if (!table || table.dataset.tableSaving === '1') return false; - const start = Number(table.dataset.sourceStart); - const end = Number(table.dataset.sourceEnd); - const row = Number(cell.dataset.tableRow); - const column = Number(cell.dataset.tableColumn); - if (![start, end, row, column].every(Number.isInteger)) return false; - table.dataset.tableSaving = '1'; - table.closest('.md-table-editor')?.classList.add('is-saving'); - const message = { kind: 'tableEdit', operation, start, end, row, column }; - if (typeof value === 'string') message.value = value; - if (typeof pendingValue === 'string') { - message.pendingValue = pendingValue; - message.pendingRow = Number(pendingCell?.dataset.tableRow ?? row); - message.pendingColumn = Number(pendingCell?.dataset.tableColumn ?? column); - } - return post(message); - } - - function finishTableCellEdit(save) { - const cell = activeTableCell; - if (!cell) return; - activeTableCell = null; - const original = cell.dataset.tableOriginal || ''; - const value = (cell.innerText || '').replace(/\\n+/g, ' ').trim(); - cell.contentEditable = 'false'; - cell.classList.remove('is-editing'); - if (!save) { - cell.innerHTML = cell.__mdOriginalHTML || ''; - return; - } - if (value !== original) { - tableMessage(cell, 'setCell', value); - } else { - cell.innerHTML = cell.__mdOriginalHTML || ''; - } - } - - function beginTableCellEdit(cell) { - if (!hasHostBridge || !cell) return false; - if (cell === activeTableCell) return true; - clearTablePartSelection(); - finishTableCellEdit(true); - // Never fall back to rendered text. Without exact source metadata, - // editing could silently flatten links, emphasis, code, images, or - // other inline Markdown into plain text. - if (!cell.hasAttribute('data-table-markdown')) return false; - cell.__mdOriginalHTML = cell.innerHTML; - cell.dataset.tableOriginal = cell.dataset.tableMarkdown || ''; - cell.textContent = cell.dataset.tableOriginal; - cell.contentEditable = 'plaintext-only'; - cell.classList.add('is-editing'); - activeTableCell = cell; - cell.focus(); - const selection = window.getSelection(); - if (selection) { - const range = document.createRange(); - range.selectNodeContents(cell); - range.collapse(false); - selection.removeAllRanges(); - selection.addRange(range); - } - return true; - } - - function clearTablePartSelection() { - document.querySelectorAll('.is-table-part-selected').forEach((cell) => { - cell.classList.remove( - 'is-table-part-selected', - 'is-table-selection-top', - 'is-table-selection-right', - 'is-table-selection-bottom', - 'is-table-selection-left' - ); - }); - selectedTablePart?.editor.classList.remove( - 'is-table-row-selected', - 'is-table-column-selected', - 'is-table-range-selected' - ); - selectedTablePart?.editor.removeAttribute('aria-label'); - selectedTablePart = null; - } - - function applyTableSelection(cell, kind, bounds) { - if (!cell) return; - finishTableCellEdit(true); - clearTablePartSelection(); - const editor = cell.closest('.md-table-editor'); - const table = cell.closest('table'); - if (!editor || !table) return; - const items = Array.from(table.querySelectorAll('[data-table-row][data-table-column]')) - .filter((item) => { - const row = Number(item.dataset.tableRow); - const column = Number(item.dataset.tableColumn); - return row >= bounds.top && row <= bounds.bottom - && column >= bounds.left && column <= bounds.right; - }); - items.forEach((item) => { - item.classList.add('is-table-part-selected'); - const row = Number(item.dataset.tableRow); - const column = Number(item.dataset.tableColumn); - if (row === bounds.top) item.classList.add('is-table-selection-top'); - if (column === bounds.right) item.classList.add('is-table-selection-right'); - if (row === bounds.bottom) item.classList.add('is-table-selection-bottom'); - if (column === bounds.left) item.classList.add('is-table-selection-left'); - }); - editor.classList.add( - kind === 'row' - ? 'is-table-row-selected' - : kind === 'column' - ? 'is-table-column-selected' - : 'is-table-range-selected' - ); - window.getSelection()?.removeAllRanges(); - selectedTablePart = { cell, kind, editor, bounds }; - editor.tabIndex = 0; - if (kind === 'range') { - const rowCount = bounds.bottom - bounds.top + 1; - const columnCount = bounds.right - bounds.left + 1; - editor.setAttribute( - 'aria-label', - `Selected ${rowCount} rows by ${columnCount} columns.` - ); - } else { - const row = Number(cell.dataset.tableRow); - const column = Number(cell.dataset.tableColumn); - const number = kind === 'row' ? row : column + 1; - editor.setAttribute( - 'aria-label', - `Selected ${kind} ${number}. Press Delete to remove it.` - ); - } - editor.focus({ preventScroll: true }); - } - - function selectTablePart(cell, operation) { - if (!cell) return; - const table = cell.closest('table'); - if (!table) return; - const row = Number(cell.dataset.tableRow); - const column = Number(cell.dataset.tableColumn); - const kind = operation === 'selectRow' ? 'row' : 'column'; - const bounds = kind === 'row' - ? { top: row, right: table.rows[0].cells.length - 1, bottom: row, left: 0 } - : { top: 0, right: column, bottom: table.rows.length - 1, left: column }; - applyTableSelection(cell, kind, bounds); - } - - function selectTableRange(anchorCell, headCell) { - if (!anchorCell || !headCell || anchorCell.closest('table') !== headCell.closest('table')) { - return; - } - const anchorRow = Number(anchorCell.dataset.tableRow); - const anchorColumn = Number(anchorCell.dataset.tableColumn); - const headRow = Number(headCell.dataset.tableRow); - const headColumn = Number(headCell.dataset.tableColumn); - applyTableSelection(anchorCell, 'range', { - top: Math.min(anchorRow, headRow), - right: Math.max(anchorColumn, headColumn), - bottom: Math.max(anchorRow, headRow), - left: Math.min(anchorColumn, headColumn) - }); - } - - function performTableStructure(cell, operation) { - if (!cell) return; - const table = cell.closest('table'); - const editingCell = activeTableCell && activeTableCell.closest('table') === table - ? activeTableCell : null; - let pendingValue = null; - if (editingCell) { - const value = (editingCell.innerText || '').replace(/\\n+/g, ' ').trim(); - if (value !== (editingCell.dataset.tableOriginal || '')) pendingValue = value; - else editingCell.innerHTML = editingCell.__mdOriginalHTML || ''; - activeTableCell = null; - editingCell.contentEditable = 'false'; - editingCell.classList.remove('is-editing'); - } - tableMessage(cell, operation, null, pendingValue, editingCell); - } - - function requestNativeTableContextMenu(cell) { - const table = cell.closest('table'); - const row = Number(cell.dataset.tableRow); - const columnCount = table?.rows[0]?.cells.length || 1; - const token = String(nextTableContextToken++); - pendingTableContextAction = { token, cell }; - post({ - kind: 'tableContextMenu', - token, - canInsertRowAbove: row > 0, - canDuplicateRow: false, - canDeleteRow: row > 0, - canDeleteColumn: columnCount > 1, - showsDuplicateRow: false - }); - } - - function enableTableEditing(root = document) { - if (!hasHostBridge) return; - root.querySelectorAll('table[data-source-start][data-source-end]').forEach((table) => { - if (table.closest('.md-table-editor')) return; - const editor = document.createElement('div'); - editor.className = 'md-table-editor'; - table.parentNode.insertBefore(editor, table); - const scroll = document.createElement('div'); - scroll.className = 'md-table-scroll'; - editor.appendChild(scroll); - scroll.appendChild(table); - table.querySelectorAll('th[data-table-column]').forEach((cell) => { - const column = Number(cell.dataset.tableColumn); - const placeholder = `Column ${column + 1}`; - cell.dataset.placeholder = placeholder; - // `innerText` forces layout when the table is already in - // the live document. Header emptiness only depends on the - // authored content, so `textContent` is sufficient here. - if (!(cell.textContent || '').trim()) cell.textContent = ''; - updateTableHeaderAccessibilityLabel(cell); - }); - }); - } - - function updateTableHeaderAccessibilityLabel(cell) { - const placeholder = cell.dataset.placeholder; - if (!placeholder) return; - if ((cell.textContent || '').trim()) cell.removeAttribute('aria-label'); - else cell.setAttribute('aria-label', placeholder); - } - - if (hasHostBridge) { - // One delegated listener covers both initial and morphed tables. - document.addEventListener('input', (event) => { - const cell = event.target.closest?.( - '.md-table-editor th[data-table-column]' - ); - if (cell) updateTableHeaderAccessibilityLabel(cell); - }); - } - - document.addEventListener('mousedown', (event) => { - if (event.button !== 0) return; - const cell = event.target.closest?.('.md-table-editor th, .md-table-editor td'); - if (!cell) return; - const row = Number(cell.dataset.tableRow); - const column = Number(cell.dataset.tableColumn); - if (!Number.isInteger(row) || row < 0 || !Number.isInteger(column)) return; - tableCellDrag = { - cell, - table: cell.closest('table'), - row, - column, - head: cell, - active: false - }; - }, true); - - document.addEventListener('mousemove', (event) => { - if (!tableCellDrag) return; - const hitTarget = document.elementFromPoint?.(event.clientX, event.clientY); - const cell = hitTarget?.closest?.('.md-table-editor th, .md-table-editor td') - || event.target.closest?.('.md-table-editor th, .md-table-editor td'); - if (!cell || cell.closest('table') !== tableCellDrag.table) { - return; - } - if (cell === tableCellDrag.cell && !tableCellDrag.active) return; - if (cell === tableCellDrag.head) return; - event.preventDefault(); - tableCellDrag.active = true; - tableCellDrag.head = cell; - selectTableRange(tableCellDrag.cell, cell); - }, true); - - document.addEventListener('mouseup', (event) => { - if (tableCellDrag?.active) { - event.preventDefault(); - window.getSelection()?.removeAllRanges(); - suppressNextTableClick = true; - } - tableCellDrag = null; - }, true); - - document.addEventListener('click', (event) => { - if (suppressNextTableClick) { - suppressNextTableClick = false; - event.preventDefault(); - event.stopPropagation(); - return; - } - const cell = event.target.closest('.md-table-editor th, .md-table-editor td'); - if (!cell) { - clearTablePartSelection(); - finishTableCellEdit(true); - return; - } - if (event.target.closest('a, button, input, img')) return; - if (beginTableCellEdit(cell)) event.preventDefault(); - }); - - document.addEventListener('contextmenu', (event) => { - const cell = event.target.closest('.md-table-editor th, .md-table-editor td'); - if (!cell) return; - event.preventDefault(); - beginTableCellEdit(cell); - requestNativeTableContextMenu(cell); - }); - - document.addEventListener('keydown', (event) => { - if (selectedTablePart && event.target === selectedTablePart.editor) { - if (event.key === 'Escape') { - event.preventDefault(); - clearTablePartSelection(); - return; - } - if (event.key === 'Backspace' || event.key === 'Delete') { - event.preventDefault(); - if (selectedTablePart.kind === 'range') return; - const selection = selectedTablePart; - clearTablePartSelection(); - performTableStructure( - selection.cell, - selection.kind === 'row' ? 'deleteRow' : 'deleteColumn' - ); - return; - } - } - if (!activeTableCell || event.target !== activeTableCell) return; - if (event.key === 'Escape') { - event.preventDefault(); - finishTableCellEdit(false); - } else if (event.key === 'Enter' || event.key === 'Tab') { - event.preventDefault(); - finishTableCellEdit(true); - } - }); - - document.addEventListener('paste', (event) => { - if (!activeTableCell || event.target !== activeTableCell || !event.clipboardData) return; - event.preventDefault(); - document.execCommand('insertText', false, event.clipboardData.getData('text/plain')); - }); - - document.addEventListener('change', (event) => { - const checkbox = event.target.closest('.task-list-item-checkbox'); - if (!checkbox || !hasHostBridge) return; - const item = checkbox.closest('[data-source-line]'); - const sourceLine = item && Number(item.dataset.sourceLine); - if (!Number.isInteger(sourceLine) || sourceLine < 1) { - checkbox.checked = !checkbox.checked; - return; - } - checkbox.disabled = true; - if (!post({ kind: 'taskCheckbox', line: sourceLine, checked: checkbox.checked })) { - checkbox.checked = !checkbox.checked; - checkbox.disabled = false; - } - }); - // Registered on window so it runs after every document-level copy // handler, including the math copy helper that rewrites the plain // text of selections containing formulas; the Markdown source @@ -792,8 +419,6 @@ nonisolated extension MarkdownHTML { window.addEventListener('copy', (event) => { const selection = window.getSelection(); if (!selection || selection.rangeCount === 0 || !event.clipboardData) return; - // A cell being edited copies its own text like any text field. - if (activeTableCell) return; const { fragment, removedButtons } = selectionFragment(selection); const markdown = markdownForSelection(selection); if (markdown !== null) { @@ -911,17 +536,6 @@ nonisolated extension MarkdownHTML { // article. Same-flag re-renders skip the WKWebView reload entirely. const reappliers = []; window.MdPreview = window.MdPreview || {}; - window.MdPreview.performTableContextAction = (token, operation) => { - if (!pendingTableContextAction || pendingTableContextAction.token !== token) return false; - const pending = pendingTableContextAction; - pendingTableContextAction = null; - if (operation === 'selectRow' || operation === 'selectColumn') { - selectTablePart(pending.cell, operation); - } else { - performTableStructure(pending.cell, operation); - } - return true; - }; window.MdPreview.registerReapplier = (fn) => { if (typeof fn === 'function') reappliers.push(fn); }; @@ -1054,8 +668,6 @@ nonisolated extension MarkdownHTML { const article = document.querySelector('.markdown-body'); if (!article) return; const tStart = perfNow(); - finishTableCellEdit(false); - clearTablePartSelection(); // DOM-diff fast path: morph the live article toward the incoming // HTML so finished Mermaid SVGs, KaTeX output, and highlighted // code survive the update instead of being re-rendered. Skipped @@ -1075,7 +687,6 @@ nonisolated extension MarkdownHTML { // Pre-shape the incoming tree so the decorators' wrappers // pair one-to-one with the live DOM during the diff. decorateCodeBlocks(next); - enableTableEditing(next); keyExpensiveBlocks(article); keyExpensiveBlocks(next); morphdom(article, next, MORPH_OPTIONS); @@ -1101,9 +712,7 @@ nonisolated extension MarkdownHTML { // the innerHTML swap leaves fresh undecorated nodes behind. if (!morphed) { decorateCodeBlocks(); - enableTableEditing(); } - enableTaskCheckboxes(); for (const fn of reappliers) { try { fn(); } catch (e) { /* one bad apple shouldn't block others */ } } diff --git a/md-preview/Rendering/MarkdownHTML+Stylesheet.swift b/md-preview/Rendering/MarkdownHTML+Stylesheet.swift index 87903edb..bb66c523 100644 --- a/md-preview/Rendering/MarkdownHTML+Stylesheet.swift +++ b/md-preview/Rendering/MarkdownHTML+Stylesheet.swift @@ -733,63 +733,6 @@ nonisolated extension MarkdownHTML { :is(th, td)[align="right"] { text-align: right; } :is(th, td)[align="left"] { text-align: left; } - .md-table-editor { - position: relative; - display: inline-block; - width: fit-content; - margin: \(largeBlockSpacing)px 0 0; - max-width: 100%; - overflow: visible; - } - .md-table-scroll { - width: fit-content; - max-width: 100%; - overflow-x: auto; - } - .md-table-scroll > table { margin-top: 0; } - .md-table-editor:focus { outline: none; } - .md-table-editor th, - .md-table-editor td { cursor: text; } - .md-table-editor th[data-placeholder]:empty::before { - content: attr(data-placeholder); - color: var(--secondary); - font-weight: 400; - opacity: 0.72; - pointer-events: none; - } - .md-table-editor th.is-editing, - .md-table-editor td.is-editing { - outline: 2px solid var(--accent); - outline-offset: -2px; - background: color-mix(in srgb, var(--accent) 8%, transparent); - white-space: pre-wrap; - } - .md-table-editor .is-table-part-selected { - --table-selection-top-edge: 0 0 transparent; - --table-selection-right-edge: 0 0 transparent; - --table-selection-bottom-edge: 0 0 transparent; - --table-selection-left-edge: 0 0 transparent; - background: color-mix(in srgb, var(--accent) 14%, Canvas); - box-shadow: - var(--table-selection-top-edge), - var(--table-selection-right-edge), - var(--table-selection-bottom-edge), - var(--table-selection-left-edge); - } - .md-table-editor .is-table-selection-top { - --table-selection-top-edge: inset 0 1px color-mix(in srgb, var(--accent) 52%, transparent); - } - .md-table-editor .is-table-selection-right { - --table-selection-right-edge: inset -1px 0 color-mix(in srgb, var(--accent) 52%, transparent); - } - .md-table-editor .is-table-selection-bottom { - --table-selection-bottom-edge: inset 0 -1px color-mix(in srgb, var(--accent) 52%, transparent); - } - .md-table-editor .is-table-selection-left { - --table-selection-left-edge: inset 1px 0 color-mix(in srgb, var(--accent) 52%, transparent); - } - .md-table-editor.is-saving { opacity: 0.72; } - hr { border: 0; height: 1px; @@ -911,7 +854,6 @@ nonisolated extension MarkdownHTML { /* Inner scrollers can't scroll on paper — let them wrap instead of clipping their overflow. */ :root:not(.\(previewPrintClass)) .md-code-wrap, - :root:not(.\(previewPrintClass)) .md-table-scroll, :root:not(.\(previewPrintClass)) table, :root:not(.\(previewPrintClass)) pre { overflow: visible !important; diff --git a/md-preview/Rendering/MarkdownWebView.swift b/md-preview/Rendering/MarkdownWebView.swift index 36b1cea7..406510a1 100644 --- a/md-preview/Rendering/MarkdownWebView.swift +++ b/md-preview/Rendering/MarkdownWebView.swift @@ -136,12 +136,6 @@ struct SourceScrollAnchor { } } -struct MarkdownTableEditRequest { - let startLine: Int - let endLine: Int - let edits: [MarkdownTableEdit] -} - /// User-selectable article layout, persisted across launches. Quick Look /// always renders the centered column; this setting only drives the app. /// Lives here (not AppDelegate.swift) because this file is compiled into @@ -203,8 +197,6 @@ final class MarkdownWebView: NSView, WKNavigationDelegate { var fragmentLinkActivated: ((String) -> Void)? var pointerDocumentYDidChange: ((CGFloat) -> Void)? var localMarkdownLinkActivated: ((URL) -> Void)? - var taskCheckboxToggled: ((Int, Bool) -> Void)? - var tableEditRequested: ((MarkdownTableEditRequest) -> Void)? var scrollDidChange: (() -> Void)? private let assetScheme = MarkdownAssetScheme() private var currentAssetBase: URL? @@ -656,54 +648,6 @@ final class MarkdownWebView: NSView, WKNavigationDelegate { let pasteboard = NSPasteboard.general pasteboard.clearContents() pasteboard.setString(text, forType: .string) - case "taskCheckbox": - guard let line = dict["line"] as? NSNumber, - let checked = dict["checked"] as? NSNumber else { return } - taskCheckboxToggled?(line.intValue, checked.boolValue) - case "tableContextMenu": - presentTableContextMenu(dict) - case "tableEdit": - guard let operation = dict["operation"] as? String, - let start = dict["start"] as? NSNumber, - let end = dict["end"] as? NSNumber, - let row = dict["row"] as? NSNumber, - let column = dict["column"] as? NSNumber else { return } - let edit: MarkdownTableEdit - switch operation { - case "setCell": - guard let value = dict["value"] as? String else { return } - edit = .setCell(row: row.intValue, column: column.intValue, markdown: value) - case "insertRowBefore": - edit = .insertRowBefore(row.intValue) - case "insertRowAfter", "insertRow": - edit = .insertRowAfter(row.intValue) - case "deleteRow": - edit = .deleteRow(row.intValue) - case "insertColumnBefore": - edit = .insertColumnBefore(column.intValue) - case "insertColumnAfter", "insertColumn": - edit = .insertColumnAfter(column.intValue) - case "deleteColumn": - edit = .deleteColumn(column.intValue) - default: - return - } - var edits: [MarkdownTableEdit] = [] - if operation != "setCell", let pendingValue = dict["pendingValue"] as? String { - let pendingRow = (dict["pendingRow"] as? NSNumber)?.intValue ?? row.intValue - let pendingColumn = (dict["pendingColumn"] as? NSNumber)?.intValue ?? column.intValue - edits.append(.setCell( - row: pendingRow, - column: pendingColumn, - markdown: pendingValue - )) - } - edits.append(edit) - tableEditRequested?(MarkdownTableEditRequest( - startLine: start.intValue, - endLine: end.intValue, - edits: edits - )) case "scroll": guard let value = dict["value"] as? String else { return } switch value { @@ -723,26 +667,6 @@ final class MarkdownWebView: NSView, WKNavigationDelegate { } } - private func presentTableContextMenu(_ payload: [String: Any]) { - guard let token = payload["token"] as? String else { return } - let context = TableContextMenuPresenter.Context( - canInsertRowAbove: (payload["canInsertRowAbove"] as? NSNumber)?.boolValue ?? false, - canDuplicateRow: (payload["canDuplicateRow"] as? NSNumber)?.boolValue ?? false, - canDeleteRow: (payload["canDeleteRow"] as? NSNumber)?.boolValue ?? false, - canDeleteColumn: (payload["canDeleteColumn"] as? NSNumber)?.boolValue ?? false, - showsDuplicateRow: (payload["showsDuplicateRow"] as? NSNumber)?.boolValue ?? false - ) - DispatchQueue.main.async { [weak self] in - guard let self else { return } - let presenter = TableContextMenuPresenter(context: context) { [weak self] operation in - guard let self else { return } - let script = "window.MdPreview && window.MdPreview.performTableContextAction(\(self.javaScriptStringLiteral(token)), \(self.javaScriptStringLiteral(operation)))" - self.webView.evaluateJavaScript(script) { _, _ in } - } - presenter.present(in: self.webView) - } - } - #if !QUICK_LOOK_EXTENSION private func presentMermaidPopup(_ payload: [String: Any]) { guard let svg = payload["svg"] as? String, !svg.isEmpty else { return } diff --git a/md-preview/Vendor/CodeMirror/mdedit.min.js b/md-preview/Vendor/CodeMirror/mdedit.min.js index 2114b32e..eff5bbfa 100644 --- a/md-preview/Vendor/CodeMirror/mdedit.min.js +++ b/md-preview/Vendor/CodeMirror/mdedit.min.js @@ -1,20 +1,20 @@ -(()=>{var Xo=[],Eh=[];(()=>{let i="lc,34,7n,7,7b,19,,,,2,,2,,,20,b,1c,l,g,,2t,7,2,6,2,2,,4,z,,u,r,2j,b,1m,9,9,,o,4,,9,,3,,5,17,3,3b,f,,w,1j,,,,4,8,4,,3,7,a,2,t,,1m,,,,2,4,8,,9,,a,2,q,,2,2,1l,,4,2,4,2,2,3,3,,u,2,3,,b,2,1l,,4,5,,2,4,,k,2,m,6,,,1m,,,2,,4,8,,7,3,a,2,u,,1n,,,,c,,9,,14,,3,,1l,3,5,3,,4,7,2,b,2,t,,1m,,2,,2,,3,,5,2,7,2,b,2,s,2,1l,2,,,2,4,8,,9,,a,2,t,,20,,4,,2,3,,,8,,29,,2,7,c,8,2q,,2,9,b,6,22,2,r,,,,,,1j,e,,5,,2,5,b,,10,9,,2u,4,,6,,2,2,2,p,2,4,3,g,4,d,,2,2,6,,f,,jj,3,qa,3,t,3,t,2,u,2,1s,2,,7,8,,2,b,9,,19,3,3b,2,y,,3a,3,4,2,9,,6,3,63,2,2,,1m,,,7,,,,,2,8,6,a,2,,1c,h,1r,4,1c,7,,,5,,14,9,c,2,w,4,2,2,,3,1k,,,2,3,,,3,1m,8,2,2,48,3,,d,,7,4,,6,,3,2,5i,1m,,5,ek,,5f,x,2da,3,3x,,2o,w,fe,6,2x,2,n9w,4,,a,w,2,28,2,7k,,3,,4,,p,2,5,,47,2,q,i,d,,12,8,p,b,1a,3,1c,,2,4,2,2,13,,1v,6,2,2,2,2,c,,8,,1b,,1f,,,3,2,2,5,2,,,16,2,8,,6m,,2,,4,,fn4,,kh,g,g,g,a6,2,gt,,6a,,45,5,1ae,3,,2,5,4,14,3,4,,4l,2,fx,4,ar,2,49,b,4w,,1i,f,1k,3,1d,4,2,2,1x,3,10,5,,8,1q,,c,2,1g,9,a,4,2,,2n,3,2,,,2,6,,4g,,3,8,l,2,1l,2,,,,,m,,e,7,3,5,5f,8,2,3,,,n,,29,,2,6,,,2,,,2,,2,6j,,2,4,6,2,,2,r,2,2d,8,2,,,2,2y,,,,2,6,,,2t,3,2,4,,5,77,9,,2,6t,,a,2,,,4,,40,4,2,2,4,,w,a,14,6,2,4,8,,9,6,2,3,1a,d,,2,ba,7,,6,,,2a,m,2,7,,2,,2,3e,6,3,,,2,,7,,,20,2,3,,,,9n,2,f0b,5,1n,7,t4,,1r,4,29,,f5k,2,43q,,,3,4,5,8,8,2,7,u,4,44,3,1iz,1j,4,1e,8,,e,,m,5,,f,11s,7,,h,2,7,,2,,5,79,7,c5,4,15s,7,31,7,240,5,gx7k,2o,3k,6o".split(",").map(e=>e?parseInt(e,36):1);for(let e=0,t=0;e>1;if(i=Eh[n])e=n+1;else return!0;if(e==t)return!1}}function Ah(i){return i>=127462&&i<=127487}var Zh=8205;function zh(i,e,t=!0,n=!0){return(t?Lh:Ug)(i,e,n)}function Lh(i,e,t){if(e==i.length)return e;e&&Mh(i.charCodeAt(e))&&Wh(i.charCodeAt(e-1))&&e--;let n=Co(i,e);for(e+=qh(n);e=0&&Ah(Co(i,o));)s++,o-=2;if(s%2==0)break;e+=2}else break}return e}function Ug(i,e,t){for(;e>1;){let n=Lh(i,e-2,t);if(n=56320&&i<57344}function Wh(i){return i>=55296&&i<56320}function qh(i){return i<65536?1:2}var H=class i{lineAt(e){if(e<0||e>this.length)throw new RangeError(`Invalid position ${e} in document of length ${this.length}`);return this.lineInner(e,!1,1,0)}line(e){if(e<1||e>this.lines)throw new RangeError(`Invalid line number ${e} in ${this.lines}-line document`);return this.lineInner(e,!0,1,0)}replace(e,t,n){[e,t]=rn(this,e,t);let r=[];return this.decompose(0,e,r,2),n.length&&n.decompose(0,n.length,r,3),this.decompose(t,this.length,r,1),en.from(r,this.length-(t-e)+n.length)}append(e){return this.replace(this.length,this.length,e)}slice(e,t=this.length){[e,t]=rn(this,e,t);let n=[];return this.decompose(e,t,n,0),en.from(n,t-e)}eq(e){if(e==this)return!0;if(e.length!=this.length||e.lines!=this.lines)return!1;let t=this.scanIdentical(e,1),n=this.length-this.scanIdentical(e,-1),r=new vi(this),s=new vi(e);for(let o=t,a=t;;){if(r.next(o),s.next(o),o=0,r.lineBreak!=s.lineBreak||r.done!=s.done||r.value!=s.value)return!1;if(a+=r.value.length,r.done||a>=n)return!0}}iter(e=1){return new vi(this,e)}iterRange(e,t=this.length){return new Dr(this,e,t)}iterLines(e,t){let n;if(e==null)n=this.iter();else{t==null&&(t=this.lines+1);let r=this.line(e).from;n=this.iterRange(r,Math.max(r,t==this.lines+1?this.length:t<=1?0:this.line(t-1).to))}return new Yr(n)}toString(){return this.sliceString(0)}toJSON(){let e=[];return this.flatten(e),e}constructor(){}static of(e){if(e.length==0)throw new RangeError("A document must have at least one line");return e.length==1&&!e[0]?i.empty:e.length<=32?new Ue(e):en.from(Ue.split(e,[]))}},Ue=class i extends H{constructor(e,t=Gg(e)){super(),this.text=e,this.length=t}get lines(){return this.text.length}get children(){return null}lineInner(e,t,n,r){for(let s=0;;s++){let o=this.text[s],a=r+o.length;if((t?n:a)>=e)return new Ro(r,a,n,o);r=a+1,n++}}decompose(e,t,n,r){let s=e<=0&&t>=this.length?this:new i(jh(this.text,e,t),Math.min(t,this.length)-Math.max(0,e));if(r&1){let o=n.pop(),a=Vr(s.text,o.text.slice(),0,s.length);if(a.length<=32)n.push(new i(a,o.length+s.length));else{let l=a.length>>1;n.push(new i(a.slice(0,l)),new i(a.slice(l)))}}else n.push(s)}replace(e,t,n){if(!(n instanceof i))return super.replace(e,t,n);[e,t]=rn(this,e,t);let r=Vr(this.text,Vr(n.text,jh(this.text,0,e)),t),s=this.length+n.length-(t-e);return r.length<=32?new i(r,s):en.from(i.split(r,[]),s)}sliceString(e,t=this.length,n=` -`){[e,t]=rn(this,e,t);let r="";for(let s=0,o=0;s<=t&&oe&&o&&(r+=n),es&&(r+=a.slice(Math.max(0,e-s),t-s)),s=l+1}return r}flatten(e){for(let t of this.text)e.push(t)}scanIdentical(){return 0}static split(e,t){let n=[],r=-1;for(let s of e)n.push(s),r+=s.length+1,n.length==32&&(t.push(new i(n,r)),n=[],r=-1);return r>-1&&t.push(new i(n,r)),t}},en=class i extends H{constructor(e,t){super(),this.children=e,this.length=t,this.lines=0;for(let n of e)this.lines+=n.lines}lineInner(e,t,n,r){for(let s=0;;s++){let o=this.children[s],a=r+o.length,l=n+o.lines-1;if((t?l:a)>=e)return o.lineInner(e,t,n,r);r=a+1,n=l+1}}decompose(e,t,n,r){for(let s=0,o=0;o<=t&&s=o){let c=r&((o<=e?1:0)|(l>=t?2:0));o>=e&&l<=t&&!c?n.push(a):a.decompose(e-o,t-o,n,c)}o=l+1}}replace(e,t,n){if([e,t]=rn(this,e,t),n.lines=s&&t<=a){let l=o.replace(e-s,t-s,n),c=this.lines-o.lines+l.lines;if(l.lines>4&&l.lines>c>>6){let h=this.children.slice();return h[r]=l,new i(h,this.length-(t-e)+n.length)}return super.replace(s,a,l)}s=a+1}return super.replace(e,t,n)}sliceString(e,t=this.length,n=` -`){[e,t]=rn(this,e,t);let r="";for(let s=0,o=0;se&&s&&(r+=n),eo&&(r+=a.sliceString(e-o,t-o,n)),o=l+1}return r}flatten(e){for(let t of this.children)t.flatten(e)}scanIdentical(e,t){if(!(e instanceof i))return 0;let n=0,[r,s,o,a]=t>0?[0,0,this.children.length,e.children.length]:[this.children.length-1,e.children.length-1,-1,-1];for(;;r+=t,s+=t){if(r==o||s==a)return n;let l=this.children[r],c=e.children[s];if(l!=c)return n+l.scanIdentical(c,t);n+=l.length+1}}static from(e,t=e.reduce((n,r)=>n+r.length+1,-1)){let n=0;for(let O of e)n+=O.lines;if(n<32){let O=[];for(let p of e)p.flatten(O);return new Ue(O,t)}let r=Math.max(32,n>>5),s=r<<1,o=r>>1,a=[],l=0,c=-1,h=[];function f(O){let p;if(O.lines>s&&O instanceof i)for(let m of O.children)f(m);else O.lines>o&&(l>o||!l)?(u(),a.push(O)):O instanceof Ue&&l&&(p=h[h.length-1])instanceof Ue&&O.lines+p.lines<=32?(l+=O.lines,c+=O.length+1,h[h.length-1]=new Ue(p.text.concat(O.text),p.length+1+O.length)):(l+O.lines>r&&u(),l+=O.lines,c+=O.length+1,h.push(O))}function u(){l!=0&&(a.push(h.length==1?h[0]:i.from(h,c)),c=-1,l=h.length=0)}for(let O of e)f(O);return u(),a.length==1?a[0]:new i(a,t)}};H.empty=new Ue([""],0);function Gg(i){let e=-1;for(let t of i)e+=t.length+1;return e}function Vr(i,e,t=0,n=1e9){for(let r=0,s=0,o=!0;s=t&&(l>n&&(a=a.slice(0,n-r)),r0?1:(e instanceof Ue?e.text.length:e.children.length)<<1]}nextInner(e,t){for(this.done=this.lineBreak=!1;;){let n=this.nodes.length-1,r=this.nodes[n],s=this.offsets[n],o=s>>1,a=r instanceof Ue?r.text.length:r.children.length;if(o==(t>0?a:0)){if(n==0)return this.done=!0,this.value="",this;t>0&&this.offsets[n-1]++,this.nodes.pop(),this.offsets.pop()}else if((s&1)==(t>0?0:1)){if(this.offsets[n]+=t,e==0)return this.lineBreak=!0,this.value=` -`,this;e--}else if(r instanceof Ue){let l=r.text[o+(t<0?-1:0)];if(this.offsets[n]+=t,l.length>Math.max(0,e))return this.value=e==0?l:t>0?l.slice(e):l.slice(0,l.length-e),this;e-=l.length}else{let l=r.children[o+(t<0?-1:0)];e>l.length?(e-=l.length,this.offsets[n]+=t):(t<0&&this.offsets[n]--,this.nodes.push(l),this.offsets.push(t>0?1:(l instanceof Ue?l.text.length:l.children.length)<<1))}}}next(e=0){return e<0&&(this.nextInner(-e,-this.dir),e=this.value.length),this.nextInner(e,this.dir)}},Dr=class{constructor(e,t,n){this.value="",this.done=!1,this.cursor=new vi(e,t>n?-1:1),this.pos=t>n?e.length:0,this.from=Math.min(t,n),this.to=Math.max(t,n)}nextInner(e,t){if(t<0?this.pos<=this.from:this.pos>=this.to)return this.value="",this.done=!0,this;e+=Math.max(0,t<0?this.pos-this.to:this.from-this.pos);let n=t<0?this.pos-this.from:this.to-this.pos;e>n&&(e=n),n-=e;let{value:r}=this.cursor.next(e);return this.pos+=(r.length+e)*t,this.value=r.length<=n?r:t<0?r.slice(r.length-n):r.slice(0,n),this.done=!this.value,this}next(e=0){return e<0?e=Math.max(e,this.from-this.pos):e>0&&(e=Math.min(e,this.to-this.pos)),this.nextInner(e,this.cursor.dir)}get lineBreak(){return this.cursor.lineBreak&&this.value!=""}},Yr=class{constructor(e){this.inner=e,this.afterBreak=!0,this.value="",this.done=!1}next(e=0){let{done:t,lineBreak:n,value:r}=this.inner.next(e);return t&&this.afterBreak?(this.value="",this.afterBreak=!1):t?(this.done=!0,this.value=""):n?this.afterBreak?this.value="":(this.afterBreak=!0,this.next()):(this.value=r,this.afterBreak=!1),this}get lineBreak(){return!1}};typeof Symbol<"u"&&(H.prototype[Symbol.iterator]=function(){return this.iter()},vi.prototype[Symbol.iterator]=Dr.prototype[Symbol.iterator]=Yr.prototype[Symbol.iterator]=function(){return this});var Ro=class{constructor(e,t,n,r){this.from=e,this.to=t,this.number=n,this.text=r}get length(){return this.to-this.from}};function rn(i,e,t){return e=Math.max(0,Math.min(i.length,e)),[e,Math.max(e,Math.min(i.length,t))]}function ke(i,e,t=!0,n=!0){return zh(i,e,t,n)}function Ng(i){return i>=56320&&i<57344}function Fg(i){return i>=55296&&i<56320}function ti(i,e){let t=i.charCodeAt(e);if(!Fg(t)||e+1==i.length)return t;let n=i.charCodeAt(e+1);return Ng(n)?(t-55296<<10)+(n-56320)+65536:t}function Bh(i){return i<=65535?String.fromCharCode(i):(i-=65536,String.fromCharCode((i>>10)+55296,(i&1023)+56320))}function sn(i){return i<65536?1:2}var Ao=/\r\n?|\n/,me=(function(i){return i[i.Simple=0]="Simple",i[i.TrackDel=1]="TrackDel",i[i.TrackBefore=2]="TrackBefore",i[i.TrackAfter=3]="TrackAfter",i})(me||(me={})),At=class i{constructor(e){this.sections=e}get length(){let e=0;for(let t=0;te)return s+(e-r);s+=a}else{if(n!=me.Simple&&c>=e&&(n==me.TrackDel&&re||n==me.TrackBefore&&re))return null;if(c>e||c==e&&t<0&&!a)return e==r||t<0?s:s+l;s+=l}r=c}if(e>r)throw new RangeError(`Position ${e} is out of range for changeset of length ${r}`);return s}touchesRange(e,t=e){for(let n=0,r=0;n=0&&r<=t&&a>=e)return rt?"cover":!0;r=a}return!1}toString(){let e="";for(let t=0;t=0?":"+r:"")}return e}toJSON(){return this.sections}static fromJSON(e){if(!Array.isArray(e)||e.length%2||e.some(t=>typeof t!="number"))throw new RangeError("Invalid JSON representation of ChangeDesc");return new i(e)}static create(e){return new i(e)}},Ee=class i extends At{constructor(e,t){super(e),this.inserted=t}apply(e){if(this.length!=e.length)throw new RangeError("Applying change set to a document with the wrong length");return Zo(this,(t,n,r,s,o)=>e=e.replace(r,r+(n-t),o),!1),e}mapDesc(e,t=!1){return qo(this,e,t,!0)}invert(e){let t=this.sections.slice(),n=[];for(let r=0,s=0;r=0){t[r]=a,t[r+1]=o;let l=r>>1;for(;n.length0&&ei(n,t,s.text),s.forward(h),a+=h}let c=e[o++];for(;a>1].toJSON()))}return e}static of(e,t,n){let r=[],s=[],o=0,a=null;function l(h=!1){if(!h&&!r.length)return;ou||f<0||u>t)throw new RangeError(`Invalid change range ${f} to ${u} (in doc of length ${t})`);let p=O?typeof O=="string"?H.of(O.split(n||Ao)):O:H.empty,m=p.length;if(f==u&&m==0)return;fo&&Xe(r,f-o,-1),Xe(r,u-f,m),ei(s,r,p),o=u}}return c(e),l(!a),a}static empty(e){return new i(e?[e,-1]:[],[])}static fromJSON(e){if(!Array.isArray(e))throw new RangeError("Invalid JSON representation of ChangeSet");let t=[],n=[];for(let r=0;ra&&typeof o!="string"))throw new RangeError("Invalid JSON representation of ChangeSet");if(s.length==1)t.push(s[0],0);else{for(;n.length=0&&t<=0&&t==i[r+1]?i[r]+=e:r>=0&&e==0&&i[r]==0?i[r+1]+=t:n?(i[r]+=e,i[r+1]+=t):i.push(e,t)}function ei(i,e,t){if(t.length==0)return;let n=e.length-2>>1;if(n>1])),!(t||o==i.sections.length||i.sections[o+1]<0);)a=i.sections[o++],l=i.sections[o++];e(r,c,s,h,f),r=c,s=h}}}function qo(i,e,t,n=!1){let r=[],s=n?[]:null,o=new $i(i),a=new $i(e);for(let l=-1;;){if(o.done&&a.len||a.done&&o.len)throw new Error("Mismatched change set lengths");if(o.ins==-1&&a.ins==-1){let c=Math.min(o.len,a.len);Xe(r,c,-1),o.forward(c),a.forward(c)}else if(a.ins>=0&&(o.ins<0||l==o.i||o.off==0&&(a.len=0&&l=0){let c=0,h=o.len;for(;h;)if(a.ins==-1){let f=Math.min(h,a.len);c+=f,h-=f,a.forward(f)}else if(a.ins==0&&a.lenl||o.ins>=0&&o.len>l)&&(a||n.length>c),s.forward2(l),o.forward(l)}}}}var $i=class{constructor(e){this.set=e,this.i=0,this.next()}next(){let{sections:e}=this.set;this.i>1;return t>=e.length?H.empty:e[t]}textBit(e){let{inserted:t}=this.set,n=this.i-2>>1;return n>=t.length&&!e?H.empty:t[n].slice(this.off,e==null?void 0:this.off+e)}forward(e){e==this.len?this.next():(this.len-=e,this.off+=e)}forward2(e){this.ins==-1?this.forward(e):e==this.ins?this.next():(this.ins-=e,this.off+=e)}},xi=class i{constructor(e,t,n,r){this.from=e,this.to=t,this.flags=n,this.goalColumn=r}get anchor(){return this.flags&32?this.to:this.from}get head(){return this.flags&32?this.from:this.to}get empty(){return this.from==this.to}get assoc(){return this.flags&8?-1:this.flags&16?1:0}get undirectional(){return(this.flags&64)>0}get bidiLevel(){let e=this.flags&7;return e==7?null:e}map(e,t=-1){let n,r;return this.empty?n=r=e.mapPos(this.from,t):(n=e.mapPos(this.from,1),r=e.mapPos(this.to,-1)),n==this.from&&r==this.to?this:new i(n,r,this.flags,this.goalColumn)}extend(e,t=e,n=0){if(e<=this.anchor&&t>=this.anchor)return v.range(e,t,void 0,void 0,n);let r=Math.abs(e-this.anchor)>Math.abs(t-this.anchor)?e:t;return v.range(this.anchor,r,void 0,void 0,n)}eq(e,t=!1){return this.anchor==e.anchor&&this.head==e.head&&this.goalColumn==e.goalColumn&&(!t||!this.empty||this.assoc==e.assoc)}toJSON(){return{anchor:this.anchor,head:this.head}}static fromJSON(e){if(!e||typeof e.anchor!="number"||typeof e.head!="number")throw new RangeError("Invalid JSON representation for SelectionRange");return v.range(e.anchor,e.head)}static create(e,t,n,r){return new i(e,t,n,r)}},v=class i{constructor(e,t){this.ranges=e,this.mainIndex=t}map(e,t=-1){return e.empty?this:i.create(this.ranges.map(n=>n.map(e,t)),this.mainIndex)}eq(e,t=!1){if(this.ranges.length!=e.ranges.length||this.mainIndex!=e.mainIndex)return!1;for(let n=0;ne.toJSON()),main:this.mainIndex}}static fromJSON(e){if(!e||!Array.isArray(e.ranges)||typeof e.main!="number"||e.main>=e.ranges.length)throw new RangeError("Invalid JSON representation for EditorSelection");return new i(e.ranges.map(t=>xi.fromJSON(t)),e.main)}static single(e,t=e){return new i([i.range(e,t)],0)}static create(e,t=0){if(e.length==0)throw new RangeError("A selection needs at least one range");for(let n=0,r=0;rr.from-s.from),t=e.indexOf(n);for(let r=1;rs.head?i.range(l,a):i.range(a,l))}}return new i(e,t)}};function Gh(i,e){for(let t of i.ranges)if(t.to>e)throw new RangeError("Selection points outside of document")}var Io=0,Y=class i{constructor(e,t,n,r,s){this.combine=e,this.compareInput=t,this.compare=n,this.isStatic=r,this.id=Io++,this.default=e([]),this.extensions=typeof s=="function"?s(this):s}get reader(){return this}static define(e={}){return new i(e.combine||(t=>t),e.compareInput||((t,n)=>t===n),e.compare||(e.combine?(t,n)=>t===n:Bo),!!e.static,e.enables)}of(e){return new tn([],this,0,e)}compute(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new tn(e,this,1,t)}computeN(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new tn(e,this,2,t)}from(e,t){return t||(t=n=>n),this.compute([e],n=>t(n.field(e)))}};function Bo(i,e){return i==e||i.length==e.length&&i.every((t,n)=>t===e[n])}var tn=class{constructor(e,t,n,r){this.dependencies=e,this.facet=t,this.type=n,this.value=r,this.id=Io++}dynamicSlot(e){var t;let n=this.value,r=this.facet.compareInput,s=this.id,o=e[s]>>1,a=this.type==2,l=!1,c=!1,h=[];for(let f of this.dependencies)f=="doc"?l=!0:f=="selection"?c=!0:(((t=e[f.id])!==null&&t!==void 0?t:1)&1)==0&&h.push(e[f.id]);return{create(f){return f.values[o]=n(f),1},update(f,u){if(l&&u.docChanged||c&&(u.docChanged||u.selection)||Eo(f,h)){let O=n(f);if(a?!Vh(O,f.values[o],r):!r(O,f.values[o]))return f.values[o]=O,1}return 0},reconfigure:(f,u)=>{let O,p=u.config.address[s];if(p!=null){let m=Gr(u,p);if(this.dependencies.every(b=>b instanceof Y?u.facet(b)===f.facet(b):b instanceof he?u.field(b,!1)==f.field(b,!1):!0)||(a?Vh(O=n(f),m,r):r(O=n(f),m)))return f.values[o]=m,0}else O=n(f);return f.values[o]=O,1}}}get extension(){return this}};function Vh(i,e,t){if(i.length!=e.length)return!1;for(let n=0;ni[l.id]),r=t.map(l=>l.type),s=n.filter(l=>!(l&1)),o=i[e.id]>>1;function a(l){let c=[];for(let h=0;hn===r),e);return e.provide&&(t.provides=e.provide(t)),t}create(e){let t=e.facet(Mr).find(n=>n.field==this);return(t?.create||this.createF)(e)}slot(e){let t=e[this.id]>>1;return{create:n=>(n.values[t]=this.create(n),1),update:(n,r)=>{let s=n.values[t],o=this.updateF(s,r);return this.compareF(s,o)?0:(n.values[t]=o,1)},reconfigure:(n,r)=>{let s=n.facet(Mr),o=r.facet(Mr),a;return(a=s.find(l=>l.field==this))&&a!=o.find(l=>l.field==this)?(n.values[t]=a.create(n),1):r.config.address[this.id]!=null?(n.values[t]=r.field(this),0):(n.values[t]=this.create(n),1)}}}init(e){return[this,Mr.of({field:this,create:e})]}get extension(){return this}},wi={lowest:4,low:3,default:2,high:1,highest:0};function zn(i){return e=>new Ir(e,i)}var dt={highest:zn(wi.highest),high:zn(wi.high),default:zn(wi.default),low:zn(wi.low),lowest:zn(wi.lowest)},Ir=class{constructor(e,t){this.inner=e,this.prec=t}get extension(){return this}},Br=class i{of(e){return new Mn(this,e)}reconfigure(e){return i.reconfigure.of({compartment:this,extension:e})}get(e){return e.config.compartments.get(this)}},Mn=class{constructor(e,t){this.compartment=e,this.inner=t}get extension(){return this}},Ur=class i{constructor(e,t,n,r,s,o){for(this.base=e,this.compartments=t,this.dynamicSlots=n,this.address=r,this.staticValues=s,this.facets=o,this.statusTemplate=[];this.statusTemplate.length>1]}static resolve(e,t,n){let r=[],s=Object.create(null),o=new Map;for(let u of Kg(e,t,o))u instanceof he?r.push(u):(s[u.facet.id]||(s[u.facet.id]=[])).push(u);let a=Object.create(null),l=[],c=[];for(let u of r)a[u.id]=c.length<<1,c.push(O=>u.slot(O));let h=n?.config.facets;for(let u in s){let O=s[u],p=O[0].facet,m=h&&h[u]||[];if(O.every(b=>b.type==0))if(a[p.id]=l.length<<1|1,Bo(m,O))l.push(n.facet(p));else{let b=p.combine(O.map(g=>g.value));l.push(n&&p.compare(b,n.facet(p))?n.facet(p):b)}else{for(let b of O)b.type==0?(a[b.id]=l.length<<1|1,l.push(b.value)):(a[b.id]=c.length<<1,c.push(g=>b.dynamicSlot(g)));a[p.id]=c.length<<1,c.push(b=>Hg(b,p,O))}}let f=c.map(u=>u(a));return new i(e,o,f,a,l,s)}};function Kg(i,e,t){let n=[[],[],[],[],[]],r=new Map;function s(o,a){let l=r.get(o);if(l!=null){if(l<=a)return;let c=n[l].indexOf(o);c>-1&&n[l].splice(c,1),o instanceof Mn&&t.delete(o.compartment)}if(r.set(o,a),Array.isArray(o))for(let c of o)s(c,a);else if(o instanceof Mn){if(t.has(o.compartment))throw new RangeError("Duplicate use of compartment in extensions");let c=e.get(o.compartment)||o.inner;t.set(o.compartment,c),s(c,a)}else if(o instanceof Ir)s(o.inner,o.prec);else if(o instanceof he)n[a].push(o),o.provides&&s(o.provides,a);else if(o instanceof tn)n[a].push(o),o.facet.extensions&&s(o.facet.extensions,wi.default);else{let c=o.extension;if(!c)throw new Error(`Unrecognized extension value in extension set (${o}).`);if(c==o)throw new Error(`Unrecognized extension value in extension set (${o}). This sometimes happens because multiple instances of @codemirror/state are loaded, breaking instanceof checks.`);s(c,a)}}return s(i,wi.default),n.reduce((o,a)=>o.concat(a))}function Ln(i,e){if(e&1)return 2;let t=e>>1,n=i.status[t];if(n==4)throw new Error("Cyclic dependency between fields and/or facets");if(n&2)return n;i.status[t]=4;let r=i.computeSlot(i,i.config.dynamicSlots[t]);return i.status[t]=2|r}function Gr(i,e){return e&1?i.config.staticValues[e>>1]:i.values[e>>1]}var Nh=Y.define(),zo=Y.define({combine:i=>i.some(e=>e),static:!0}),Fh=Y.define({combine:i=>i.length?i[0]:void 0,static:!0}),Hh=Y.define(),Kh=Y.define(),Jh=Y.define(),ef=Y.define({combine:i=>i.length?i[0]:!1}),_e=class{constructor(e,t){this.type=e,this.value=t}static define(){return new Lo}},Lo=class{of(e){return new _e(this,e)}},Mo=class{constructor(e){this.map=e}of(e){return new ie(this,e)}},ie=class i{constructor(e,t){this.type=e,this.value=t}map(e){let t=this.type.map(this.value,e);return t===void 0?void 0:t==this.value?this:new i(this.type,t)}is(e){return this.type==e}static define(e={}){return new Mo(e.map||(t=>t))}static mapEffects(e,t){if(!e.length)return e;let n=[];for(let r of e){let s=r.map(t);s&&n.push(s)}return n}};ie.reconfigure=ie.define();ie.appendConfig=ie.define();var de=class i{constructor(e,t,n,r,s,o){this.startState=e,this.changes=t,this.selection=n,this.effects=r,this.annotations=s,this.scrollIntoView=o,this._doc=null,this._state=null,n&&Gh(n,t.newLength),s.some(a=>a.type==i.time)||(this.annotations=s.concat(i.time.of(Date.now())))}static create(e,t,n,r,s,o){return new i(e,t,n,r,s,o)}get newDoc(){return this._doc||(this._doc=this.changes.apply(this.startState.doc))}get newSelection(){return this.selection||this.startState.selection.map(this.changes)}get state(){return this._state||this.startState.applyTransaction(this),this._state}annotation(e){for(let t of this.annotations)if(t.type==e)return t.value}get docChanged(){return!this.changes.empty}get reconfigured(){return this.startState.config!=this.state.config}isUserEvent(e){let t=this.annotation(i.userEvent);return!!(t&&(t==e||t.length>e.length&&t.slice(0,e.length)==e&&t[e.length]=="."))}};de.time=_e.define();de.userEvent=_e.define();de.addToHistory=_e.define();de.remote=_e.define();function Jg(i,e){let t=[];for(let n=0,r=0;;){let s,o;if(n=i[n]))s=i[n++],o=i[n++];else if(r=0;r--){let s=n[r](i);s instanceof de?i=s:Array.isArray(s)&&s.length==1&&s[0]instanceof de?i=s[0]:i=nf(e,nn(s),!1)}return i}function t0(i){let e=i.startState,t=e.facet(Jh),n=i;for(let r=t.length-1;r>=0;r--){let s=t[r](i);s&&Object.keys(s).length&&(n=tf(n,Wo(e,s,i.changes.newLength),!0))}return n==i?i:de.create(e,i.changes,i.selection,n.effects,n.annotations,n.scrollIntoView)}var i0=[];function nn(i){return i==null?i0:Array.isArray(i)?i:[i]}var qe=(function(i){return i[i.Word=0]="Word",i[i.Space=1]="Space",i[i.Other=2]="Other",i})(qe||(qe={})),n0=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/,jo;try{jo=new RegExp("[\\p{Alphabetic}\\p{Number}_]","u")}catch{}function r0(i){if(jo)return jo.test(i);for(let e=0;e"\x80"&&(t.toUpperCase()!=t.toLowerCase()||n0.test(t)))return!0}return!1}function s0(i){return e=>{if(!/\S/.test(e))return qe.Space;if(r0(e))return qe.Word;for(let t=0;t-1)return qe.Word;return qe.Other}}var re=class i{constructor(e,t,n,r,s,o){this.config=e,this.doc=t,this.selection=n,this.values=r,this.status=e.statusTemplate.slice(),this.computeSlot=s,o&&(o._state=this);for(let a=0;ar.set(c,l)),t=null),r.set(a.value.compartment,a.value.extension)):a.is(ie.reconfigure)?(t=null,n=a.value):a.is(ie.appendConfig)&&(t=null,n=nn(n).concat(a.value));let s;t?s=e.startState.values.slice():(t=Ur.resolve(n,r,this),s=new i(t,this.doc,this.selection,t.dynamicSlots.map(()=>null),(l,c)=>c.reconfigure(l,this),null).values);let o=e.startState.facet(zo)?e.newSelection:e.newSelection.asSingle();new i(t,e.newDoc,o,s,(a,l)=>l.update(a,e),e)}replaceSelection(e){return typeof e=="string"&&(e=this.toText(e)),this.changeByRange(t=>({changes:{from:t.from,to:t.to,insert:e},range:v.cursor(t.from+e.length)}))}changeByRange(e){let t=this.selection,n=e(t.ranges[0]),r=this.changes(n.changes),s=[n.range],o=nn(n.effects);for(let a=1;ao.spec.fromJSON(a,l)))}}return i.create({doc:e.doc,selection:v.fromJSON(e.selection),extensions:t.extensions?r.concat([t.extensions]):r})}static create(e={}){let t=Ur.resolve(e.extensions||[],new Map),n=e.doc instanceof H?e.doc:H.of((e.doc||"").split(t.staticFacet(i.lineSeparator)||Ao)),r=e.selection?e.selection instanceof v?e.selection:v.single(e.selection.anchor,e.selection.head):v.single(0);return Gh(r,n.length),t.staticFacet(zo)||(r=r.asSingle()),new i(t,n,r,t.dynamicSlots.map(()=>null),(s,o)=>o.create(s),null)}get tabSize(){return this.facet(i.tabSize)}get lineBreak(){return this.facet(i.lineSeparator)||` -`}get readOnly(){return this.facet(ef)}phrase(e,...t){for(let n of this.facet(i.phrases))if(Object.prototype.hasOwnProperty.call(n,e)){e=n[e];break}return t.length&&(e=e.replace(/\$(\$|\d*)/g,(n,r)=>{if(r=="$")return"$";let s=+(r||1);return!s||s>t.length?n:t[s-1]})),e}languageDataAt(e,t,n=-1){let r=[];for(let s of this.facet(Nh))for(let o of s(this,t,n))Object.prototype.hasOwnProperty.call(o,e)&&r.push(o[e]);return r}charCategorizer(e){let t=this.languageDataAt("wordChars",e);return s0(t.length?t[0]:"")}wordAt(e){let{text:t,from:n,length:r}=this.doc.lineAt(e),s=this.charCategorizer(e),o=e-n,a=e-n;for(;o>0;){let l=ke(t,o,!1);if(s(t.slice(l,o))!=qe.Word)break;o=l}for(;ai.length?i[0]:4});re.lineSeparator=Fh;re.readOnly=ef;re.phrases=Y.define({compare(i,e){let t=Object.keys(i),n=Object.keys(e);return t.length==n.length&&t.every(r=>i[r]==e[r])}});re.languageData=Nh;re.changeFilter=Hh;re.transactionFilter=Kh;re.transactionExtender=Jh;Br.reconfigure=ie.define();function Vn(i,e,t={}){let n={};for(let r of i)for(let s of Object.keys(r)){let o=r[s],a=n[s];if(a===void 0)n[s]=o;else if(!(a===o||o===void 0))if(Object.hasOwnProperty.call(t,s))n[s]=t[s](a,o);else throw new Error("Config merge conflict for field "+s)}for(let r in e)n[r]===void 0&&(n[r]=e[r]);return n}var tt=class{eq(e){return this==e}range(e,t=e){return Wn.create(e,t,this)}};tt.prototype.startSide=tt.prototype.endSide=0;tt.prototype.point=!1;tt.prototype.mapMode=me.TrackDel;function Uo(i,e){return i==e||i.constructor==e.constructor&&i.eq(e)}var Wn=class i{constructor(e,t,n){this.from=e,this.to=t,this.value=n}static create(e,t,n){return new i(e,t,n)}};function Vo(i,e){return i.from-e.from||i.value.startSide-e.value.startSide}var Do=class i{constructor(e,t,n,r){this.from=e,this.to=t,this.value=n,this.maxPoint=r}get length(){return this.to[this.to.length-1]}findIndex(e,t,n,r=0){let s=n?this.to:this.from;for(let o=r,a=s.length;;){if(o==a)return o;let l=o+a>>1,c=s[l]-e||(n?this.value[l].endSide:this.value[l].startSide)-t;if(l==o)return c>=0?o:a;c>=0?a=l:o=l+1}}between(e,t,n,r){for(let s=this.findIndex(t,-1e9,!0),o=this.findIndex(n,1e9,!1,s);sO||u==O&&c.startSide>0&&c.endSide<=0)continue;(O-u||c.endSide-c.startSide)<0||(o<0&&(o=u),c.point&&(a=Math.max(a,O-u)),n.push(c),r.push(u-o),s.push(O-o))}return{mapped:n.length?new i(r,s,n,a):null,pos:o}}},oe=class i{constructor(e,t,n,r){this.chunkPos=e,this.chunk=t,this.nextLayer=n,this.maxPoint=r}static create(e,t,n,r){return new i(e,t,n,r)}get length(){let e=this.chunk.length-1;return e<0?0:Math.max(this.chunkEnd(e),this.nextLayer.length)}get size(){if(this.isEmpty)return 0;let e=this.nextLayer.size;for(let t of this.chunk)e+=t.value.length;return e}chunkEnd(e){return this.chunkPos[e]+this.chunk[e].length}update(e){let{add:t=[],sort:n=!1,filterFrom:r=0,filterTo:s=this.length}=e,o=e.filter;if(t.length==0&&!o)return this;if(n&&(t=t.slice().sort(Vo)),this.isEmpty)return t.length?i.of(t):this;let a=new Nr(this,null,-1).goto(0),l=0,c=[],h=new Ti;for(;a.value||l=0){let f=t[l++];h.addInner(f.from,f.to,f.value)||c.push(f)}else a.rangeIndex==1&&a.chunkIndexthis.chunkEnd(a.chunkIndex)||sa.to||s=s&&e<=s+o.length&&o.between(s,e-s,t-s,n)===!1)return}this.nextLayer.between(e,t,n)}}iter(e=0){return jn.from([this]).goto(e)}get isEmpty(){return this.nextLayer==this}static iter(e,t=0){return jn.from(e).goto(t)}static compare(e,t,n,r,s=-1){let o=e.filter(f=>f.maxPoint>0||!f.isEmpty&&f.maxPoint>=s),a=t.filter(f=>f.maxPoint>0||!f.isEmpty&&f.maxPoint>=s),l=Dh(o,a,n),c=new Pi(o,l,s),h=new Pi(a,l,s);n.iterGaps((f,u,O)=>Yh(c,f,h,u,O,r)),n.empty&&n.length==0&&Yh(c,0,h,0,0,r)}static eq(e,t,n=0,r){r==null&&(r=999999999);let s=e.filter(h=>!h.isEmpty&&t.indexOf(h)<0),o=t.filter(h=>!h.isEmpty&&e.indexOf(h)<0);if(s.length!=o.length)return!1;if(!s.length)return!0;let a=Dh(s,o),l=new Pi(s,a,0).goto(n),c=new Pi(o,a,0).goto(n);for(;;){if(l.to!=c.to||!Yo(l.active,c.active)||l.point&&(!c.point||!Uo(l.point,c.point)))return!1;if(l.to>r)return!0;l.next(),c.next()}}static spans(e,t,n,r,s=-1){let o=new Pi(e,null,s).goto(t),a=t,l=o.openStart;for(;;){let c=Math.min(o.to,n);if(o.point){let h=o.activeForPoint(o.to),f=o.pointFroma&&(r.span(a,c,o.active,l),l=o.openEnd(c));if(o.to>n)return l+(o.point&&o.to>n?1:0);a=o.to,o.next()}}static of(e,t=!1){let n=new Ti;for(let r of e instanceof Wn?[e]:t?o0(e):e)n.add(r.from,r.to,r.value);return n.finish()}static join(e){if(!e.length)return i.empty;let t=e[e.length-1];for(let n=e.length-2;n>=0;n--)for(let r=e[n];r!=i.empty;r=r.nextLayer)t=new i(r.chunkPos,r.chunk,t,Math.max(r.maxPoint,t.maxPoint));return t}};oe.empty=new oe([],[],null,-1);function o0(i){if(i.length>1)for(let e=i[0],t=1;t0)return i.slice().sort(Vo);e=n}return i}oe.empty.nextLayer=oe.empty;var Ti=class i{finishChunk(e){this.chunks.push(new Do(this.from,this.to,this.value,this.maxPoint)),this.chunkPos.push(this.chunkStart),this.chunkStart=-1,this.setMaxPoint=Math.max(this.setMaxPoint,this.maxPoint),this.maxPoint=-1,e&&(this.from=[],this.to=[],this.value=[])}constructor(){this.chunks=[],this.chunkPos=[],this.chunkStart=-1,this.last=null,this.lastFrom=-1e9,this.lastTo=-1e9,this.from=[],this.to=[],this.value=[],this.maxPoint=-1,this.setMaxPoint=-1,this.nextLayer=null}add(e,t,n){this.addInner(e,t,n)||(this.nextLayer||(this.nextLayer=new i)).add(e,t,n)}addInner(e,t,n){let r=e-this.lastTo||n.startSide-this.last.endSide;if(r<=0&&(e-this.lastFrom||n.startSide-this.last.startSide)<0)throw new Error("Ranges must be added sorted by `from` position and `startSide`");return r<0?!1:(this.from.length==250&&this.finishChunk(!0),this.chunkStart<0&&(this.chunkStart=e),this.from.push(e-this.chunkStart),this.to.push(t-this.chunkStart),this.last=n,this.lastFrom=e,this.lastTo=t,this.value.push(n),n.point&&(this.maxPoint=Math.max(this.maxPoint,t-e)),!0)}addChunk(e,t){if((e-this.lastTo||t.value[0].startSide-this.last.endSide)<0)return!1;this.from.length&&this.finishChunk(!0),this.setMaxPoint=Math.max(this.setMaxPoint,t.maxPoint),this.chunks.push(t),this.chunkPos.push(e);let n=t.value.length-1;return this.last=t.value[n],this.lastFrom=t.from[n]+e,this.lastTo=t.to[n]+e,!0}finish(){return this.finishInner(oe.empty)}finishInner(e){if(this.from.length&&this.finishChunk(!1),this.chunks.length==0)return e;let t=oe.create(this.chunkPos,this.chunks,this.nextLayer?this.nextLayer.finishInner(e):e,this.setMaxPoint);return this.from=null,t}};function Dh(i,e,t){let n=new Map;for(let s of i)for(let o=0;o=this.minPoint)break}}setRangeIndex(e){if(e==this.layer.chunk[this.chunkIndex].value.length){if(this.chunkIndex++,this.skip)for(;this.chunkIndex=n&&r.push(new Nr(o,t,n,s));return r.length==1?r[0]:new i(r)}get startSide(){return this.value?this.value.startSide:0}goto(e,t=-1e9){for(let n of this.heap)n.goto(e,t);for(let n=this.heap.length>>1;n>=0;n--)_o(this.heap,n);return this.next(),this}forward(e,t){for(let n of this.heap)n.forward(e,t);for(let n=this.heap.length>>1;n>=0;n--)_o(this.heap,n);(this.to-e||this.value.endSide-t)<0&&this.next()}next(){if(this.heap.length==0)this.from=this.to=1e9,this.value=null,this.rank=-1;else{let e=this.heap[0];this.from=e.from,this.to=e.to,this.value=e.value,this.rank=e.rank,e.value&&e.next(),_o(this.heap,0)}}};function _o(i,e){for(let t=i[e];;){let n=(e<<1)+1;if(n>=i.length)break;let r=i[n];if(n+1=0&&(r=i[n+1],n++),t.compare(r)<0)break;i[n]=t,i[e]=r,e=n}}var Pi=class{constructor(e,t,n){this.minPoint=n,this.active=[],this.activeTo=[],this.activeRank=[],this.minActive=-1,this.point=null,this.pointFrom=0,this.pointRank=0,this.to=-1e9,this.endSide=0,this.openStart=-1,this.cursor=jn.from(e,t,n)}goto(e,t=-1e9){return this.cursor.goto(e,t),this.active.length=this.activeTo.length=this.activeRank.length=0,this.minActive=-1,this.to=e,this.endSide=t,this.openStart=-1,this.next(),this}forward(e,t){for(;this.minActive>-1&&(this.activeTo[this.minActive]-e||this.active[this.minActive].endSide-t)<0;)this.removeActive(this.minActive);this.cursor.forward(e,t)}removeActive(e){Wr(this.active,e),Wr(this.activeTo,e),Wr(this.activeRank,e),this.minActive=Ih(this.active,this.activeTo)}addActive(e){let t=0,{value:n,to:r,rank:s}=this.cursor;for(;t0;)t++;jr(this.active,t,n),jr(this.activeTo,t,r),jr(this.activeRank,t,s),e&&jr(e,t,this.cursor.from),this.minActive=Ih(this.active,this.activeTo)}next(){let e=this.to,t=this.point;this.point=null;let n=this.openStart<0?[]:null;for(;;){let r=this.minActive;if(r>-1&&(this.activeTo[r]-this.cursor.from||this.active[r].endSide-this.cursor.startSide)<0){if(this.activeTo[r]>e){this.to=this.activeTo[r],this.endSide=this.active[r].endSide;break}this.removeActive(r),n&&Wr(n,r)}else if(this.cursor.value)if(this.cursor.from>e){this.to=this.cursor.from,this.endSide=this.cursor.startSide;break}else{let s=this.cursor.value;if(!s.point)this.addActive(n),this.cursor.next();else if(t&&this.cursor.to==this.to&&this.cursor.from=0&&n[r]=0&&!(this.activeRank[n]e||this.activeTo[n]==e&&this.active[n].endSide>=this.point.endSide)&&t.push(this.active[n]);return t.reverse()}openEnd(e){let t=0;for(let n=this.activeTo.length-1;n>=0&&this.activeTo[n]>e;n--)t++;return t}};function Yh(i,e,t,n,r,s){i.goto(e),t.goto(n);let o=n+r,a=n,l=n-e,c=!!s.boundChange;for(let h=!1;;){let f=i.to+l-t.to,u=f||i.endSide-t.endSide,O=u<0?i.to+l:t.to,p=Math.min(O,o);if(i.point||t.point?(i.point&&t.point&&Uo(i.point,t.point)&&Yo(i.activeForPoint(i.to),t.activeForPoint(t.to))||s.comparePoint(a,p,i.point,t.point),h=!1):(h&&s.boundChange(a),p>a&&!Yo(i.active,t.active)&&s.compareRange(a,p,i.active,t.active),c&&po)break;a=O,u<=0&&i.next(),u>=0&&t.next()}}function Yo(i,e){if(i.length!=e.length)return!1;for(let t=0;t=e;n--)i[n+1]=i[n];i[e]=t}function Ih(i,e){let t=-1,n=1e9;for(let r=0;r=e)return r;if(r==i.length)break;s+=i.charCodeAt(r)==9?t-s%t:1,r=ke(i,r)}return n===!0?-1:i.length}var sf=typeof Symbol>"u"?"__\u037C":Symbol.for("\u037C"),Go=typeof Symbol>"u"?"__styleSet"+Math.floor(Math.random()*1e8):Symbol("styleSet"),of=typeof globalThis<"u"?globalThis:typeof window<"u"?window:{},it=class{constructor(e,t){this.rules=[];let{finish:n}=t||{};function r(o){return/^@/.test(o)?[o]:o.split(/,\s*/)}function s(o,a,l,c){let h=[],f=/^@(\w+)\b/.exec(o[0]),u=f&&f[1]=="keyframes";if(f&&a==null)return l.push(o[0]+";");for(let O in a){let p=a[O];if(/&/.test(O))s(O.split(/,\s*/).map(m=>o.map(b=>m.replace(/&/,b))).reduce((m,b)=>m.concat(b)),p,l);else if(p&&typeof p=="object"){if(!f)throw new RangeError("The value of a property ("+O+") should be a primitive value.");s(r(O),p,h,u)}else p!=null&&h.push(O.replace(/_.*/,"").replace(/[A-Z]/g,m=>"-"+m.toLowerCase())+": "+p+";")}(h.length||u)&&l.push((n&&!f&&!c?o.map(n):o).join(", ")+" {"+h.join(" ")+"}")}for(let o in e)s(r(o),e[o],this.rules)}getRules(){return this.rules.join(` -`)}static newName(){let e=of[sf]||1;return of[sf]=e+1,"\u037C"+e.toString(36)}static mount(e,t,n){let r=e[Go],s=n&&n.nonce;r?s&&r.setNonce(s):r=new No(e,s),r.mount(Array.isArray(t)?t:[t],e)}},af=new Map,No=class{constructor(e,t){let n=e.ownerDocument||e,r=n.defaultView;if(!e.head&&e.adoptedStyleSheets&&r.CSSStyleSheet){let s=af.get(n);if(s)return e[Go]=s;this.sheet=new r.CSSStyleSheet,af.set(n,this)}else this.styleTag=n.createElement("style"),t&&this.styleTag.setAttribute("nonce",t);this.modules=[],e[Go]=this}mount(e,t){let n=this.sheet,r=0,s=0;for(let o=0;o-1&&(this.modules.splice(l,1),s--,l=-1),l==-1){if(this.modules.splice(s++,0,a),n)for(let c=0;c",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},a0=typeof navigator<"u"&&/Mac/.test(navigator.platform),l0=typeof navigator<"u"&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent);for(be=0;be<10;be++)Zt[48+be]=Zt[96+be]=String(be);var be;for(be=1;be<=24;be++)Zt[be+111]="F"+be;var be;for(be=65;be<=90;be++)Zt[be]=String.fromCharCode(be+32),on[be]=String.fromCharCode(be);var be;for(Fr in Zt)on.hasOwnProperty(Fr)||(on[Fr]=Zt[Fr]);var Fr;function lf(i){var e=a0&&i.metaKey&&i.shiftKey&&!i.ctrlKey&&!i.altKey||l0&&i.shiftKey&&i.key&&i.key.length==1||i.key=="Unidentified",t=!e&&i.key||(i.shiftKey?on:Zt)[i.keyCode]||i.key||"Unidentified";return t=="Esc"&&(t="Escape"),t=="Del"&&(t="Delete"),t=="Left"&&(t="ArrowLeft"),t=="Up"&&(t="ArrowUp"),t=="Right"&&(t="ArrowRight"),t=="Down"&&(t="ArrowDown"),t}var ze=typeof navigator<"u"?navigator:{userAgent:"",vendor:"",platform:""},ta=typeof document<"u"?document:{documentElement:{style:{}}},ia=/Edge\/(\d+)/.exec(ze.userAgent),Ef=/MSIE \d/.test(ze.userAgent),na=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(ze.userAgent),Qs=!!(Ef||na||ia),cf=!Qs&&/gecko\/(\d+)/i.test(ze.userAgent),Fo=!Qs&&/Chrome\/(\d+)/.exec(ze.userAgent),hf="webkitFontSmoothing"in ta.documentElement.style,ra=!Qs&&/Apple Computer/.test(ze.vendor),ff=ra&&(/Mobile\/\w+/.test(ze.userAgent)||ze.maxTouchPoints>2),L={mac:ff||/Mac/.test(ze.platform),windows:/Win/.test(ze.platform),linux:/Linux|X11/.test(ze.platform),ie:Qs,ie_version:Ef?ta.documentMode||6:na?+na[1]:ia?+ia[1]:0,gecko:cf,gecko_version:cf?+(/Firefox\/(\d+)/.exec(ze.userAgent)||[0,0])[1]:0,chrome:!!Fo,chrome_version:Fo?+Fo[1]:0,ios:ff,android:/Android\b/.test(ze.userAgent),webkit:hf,webkit_version:hf?+(/\bAppleWebKit\/(\d+)/.exec(ze.userAgent)||[0,0])[1]:0,safari:ra,safari_version:ra?+(/\bVersion\/(\d+(\.\d+)?)/.exec(ze.userAgent)||[0,0])[1]:0,tabSize:ta.documentElement.style.tabSize!=null?"tab-size":"-moz-tab-size"};function Ma(i,e){for(let t in i)t=="class"&&e.class?e.class+=" "+i.class:t=="style"&&e.style?e.style+=";"+i.style:e[t]=i[t];return e}var os=Object.create(null);function Wa(i,e,t){if(i==e)return!0;i||(i=os),e||(e=os);let n=Object.keys(i),r=Object.keys(e);if(n.length-(t&&n.indexOf(t)>-1?1:0)!=r.length-(t&&r.indexOf(t)>-1?1:0))return!1;for(let s of n)if(s!=t&&(r.indexOf(s)==-1||i[s]!==e[s]))return!1;return!0}function c0(i,e){for(let t=i.attributes.length-1;t>=0;t--){let n=i.attributes[t].name;e[n]==null&&i.removeAttribute(n)}for(let t in e){let n=e[t];t=="style"?i.style.cssText=n:i.getAttribute(t)!=n&&i.setAttribute(t,n)}}function uf(i,e,t){let n=!1;if(e)for(let r in e)t&&r in t||(n=!0,r=="style"?i.style.cssText="":i.removeAttribute(r));if(t)for(let r in t)e&&e[r]==t[r]||(n=!0,r=="style"?i.style.cssText=t[r]:i.setAttribute(r,t[r]));return n}function h0(i){let e=Object.create(null);for(let t=0;t0?3e8:-4e8:t>0?1e8:-1e8,new _i(e,t,t,n,e.widget||null,!1)}static replace(e){let t=!!e.block,n,r;if(e.isBlockGap)n=-5e8,r=4e8;else{let{start:s,end:o}=zf(e,t);n=(s?t?-3e8:-1:5e8)-1,r=(o?t?2e8:1:-6e8)+1}return new _i(e,n,r,t,e.widget||null,!0)}static line(e){return new er(e)}static set(e,t=!1){return oe.of(e,t)}hasHeight(){return this.widget?this.widget.estimatedHeight>-1:!1}};Z.none=oe.empty;var Jn=class i extends Z{constructor(e){let{start:t,end:n}=zf(e);super(t?-1:5e8,n?1:-6e8,null,e),this.tagName=e.tagName||"span",this.attrs=e.class&&e.attributes?Ma(e.attributes,{class:e.class}):e.class?{class:e.class}:e.attributes||os}eq(e){return this==e||e instanceof i&&this.tagName==e.tagName&&Wa(this.attrs,e.attrs)}range(e,t=e){if(e>=t)throw new RangeError("Mark decorations may not be empty");return super.range(e,t)}};Jn.prototype.point=!1;var er=class i extends Z{constructor(e){super(-2e8,-2e8,null,e)}eq(e){return e instanceof i&&this.spec.class==e.spec.class&&Wa(this.spec.attributes,e.spec.attributes)}range(e,t=e){if(t!=e)throw new RangeError("Line decoration ranges must be zero-length");return super.range(e,t)}};er.prototype.mapMode=me.TrackBefore;er.prototype.point=!0;var _i=class i extends Z{constructor(e,t,n,r,s,o){super(t,n,s,e),this.block=r,this.isReplace=o,this.mapMode=r?t<=0?me.TrackBefore:me.TrackAfter:me.TrackDel}get type(){return this.startSide!=this.endSide?at.WidgetRange:this.startSide<=0?at.WidgetBefore:at.WidgetAfter}get heightRelevant(){return this.block||!!this.widget&&(this.widget.estimatedHeight>=5||this.widget.lineBreaks>0)}eq(e){return e instanceof i&&f0(this.widget,e.widget)&&this.block==e.block&&this.startSide==e.startSide&&this.endSide==e.endSide}range(e,t=e){if(this.isReplace&&(e>t||e==t&&this.startSide>0&&this.endSide<=0))throw new RangeError("Invalid range for replacement decoration");if(!this.isReplace&&t!=e)throw new RangeError("Widget decorations can only have zero-length ranges");return super.range(e,t)}};_i.prototype.point=!0;function zf(i,e=!1){let{inclusiveStart:t,inclusiveEnd:n}=i;return t==null&&(t=i.inclusive),n==null&&(n=i.inclusive),{start:t??e,end:n??e}}function f0(i,e){return i==e||!!(i&&e&&i.compare(e))}function hn(i,e,t,n=0){let r=t.length-1;r>=0&&t[r]+n>=i?t[r]=Math.max(t[r],e):t.push(i,e)}var ri=class i extends tt{constructor(e,t,n){super(),this.tagName=e,this.attributes=t,this.rank=n}eq(e){return e==this||e instanceof i&&this.tagName==e.tagName&&Wa(this.attributes,e.attributes)}static create(e){return new i(e.tagName,e.attributes||os,e.rank==null?50:Math.max(0,Math.min(e.rank,100)))}static set(e,t=!1){return oe.of(e,t)}};ri.prototype.startSide=ri.prototype.endSide=-1;function tr(i){let e;return i.nodeType==11?e=i.getSelection?i:i.ownerDocument:e=i,e.getSelection()}function sa(i,e){return e?i==e||i.contains(e.nodeType!=1?e.parentNode:e):!1}function Bn(i,e){if(!e.anchorNode)return!1;try{return sa(i,e.anchorNode)}catch{return!1}}function rs(i){return i.nodeType==3?ir(i,0,i.nodeValue.length).getClientRects():i.nodeType==1?i.getClientRects():[]}function Un(i,e,t,n){return t?Of(i,e,t,n,-1)||Of(i,e,t,n,1):!1}function si(i){for(var e=0;;e++)if(i=i.previousSibling,!i)return e}function as(i){return i.nodeType==1&&/^(DIV|P|LI|UL|OL|BLOCKQUOTE|DD|DT|H\d|SECTION|PRE)$/.test(i.nodeName)}function Of(i,e,t,n,r){for(;;){if(i==t&&e==n)return!0;if(e==(r<0?0:zt(i))){if(i.nodeName=="DIV")return!1;let s=i.parentNode;if(!s||s.nodeType!=1)return!1;e=si(i)+(r<0?0:1),i=s}else if(i.nodeType==1){if(i=i.childNodes[e+(r<0?-1:0)],i.nodeType==1&&i.contentEditable=="false")return!1;e=r<0?zt(i):0}else return!1}}function zt(i){return i.nodeType==3?i.nodeValue.length:i.childNodes.length}function ls(i,e){let{left:t,right:n}=i;if(t==n)return i;let r=e?t:n;return{left:r,right:r,top:i.top,bottom:i.bottom}}function u0(i){let e=i.visualViewport;return e?{left:0,right:e.width,top:0,bottom:e.height}:{left:0,right:i.innerWidth,top:0,bottom:i.innerHeight}}function Lf(i,e){let t=e.width/i.offsetWidth,n=e.height/i.offsetHeight;return(t>.995&&t<1.005||!isFinite(t)||Math.abs(e.width-i.offsetWidth)<1)&&(t=1),(n>.995&&n<1.005||!isFinite(n)||Math.abs(e.height-i.offsetHeight)<1)&&(n=1),{scaleX:t,scaleY:n}}function O0(i,e,t,n,r,s,o,a){let l=i.ownerDocument,c=l.defaultView||window;for(let h=i,f=!1;h&&!f;)if(h.nodeType==1){let u,O=h==l.body,p=1,m=1;if(O)u=u0(c);else{if(/^(fixed|sticky)$/.test(getComputedStyle(h).position)&&(f=!0),h.scrollHeight<=h.clientHeight&&h.scrollWidth<=h.clientWidth){h=h.assignedSlot||h.parentNode;continue}let Q=h.getBoundingClientRect();({scaleX:p,scaleY:m}=Lf(h,Q)),u={left:Q.left,right:Q.left+h.clientWidth*p,top:Q.top,bottom:Q.top+h.clientHeight*m}}let b=0,g=0;if(r=="nearest")e.top0&&e.bottom>u.bottom+g&&(g=e.bottom-u.bottom+o)):e.bottom>u.bottom-o&&(g=e.bottom-u.bottom+o,t<0&&e.top-g0&&e.right>u.right+b&&(b=e.right-u.right+s)):e.right>u.right-s&&(b=e.right-u.right+s,t<0&&e.leftu.bottom||e.leftu.right)&&(e={left:Math.max(e.left,u.left),right:Math.min(e.right,u.right),top:Math.max(e.top,u.top),bottom:Math.min(e.bottom,u.bottom)}),h=h.assignedSlot||h.parentNode}else if(h.nodeType==11)h=h.host;else break}function Mf(i,e=!0){let t=i.ownerDocument,n=null,r=null;for(let s=i.parentNode;s&&!(s==t.body||(!e||n)&&r);)if(s.nodeType==1)!r&&s.scrollHeight>s.clientHeight&&(r=s),e&&!n&&s.scrollWidth>s.clientWidth&&(n=s),s=s.assignedSlot||s.parentNode;else if(s.nodeType==11)s=s.host;else break;return{x:n,y:r}}var oa=class{constructor(){this.anchorNode=null,this.anchorOffset=0,this.focusNode=null,this.focusOffset=0}eq(e){return this.anchorNode==e.anchorNode&&this.anchorOffset==e.anchorOffset&&this.focusNode==e.focusNode&&this.focusOffset==e.focusOffset}setRange(e){let{anchorNode:t,focusNode:n}=e;this.set(t,Math.min(e.anchorOffset,t?zt(t):0),n,Math.min(e.focusOffset,n?zt(n):0))}set(e,t,n,r){this.anchorNode=e,this.anchorOffset=t,this.focusNode=n,this.focusOffset=r}},Ci=null;L.safari&&L.safari_version>=26&&(Ci=!1);function Wf(i){if(i.setActive)return i.setActive();if(Ci)return i.focus(Ci);let e=[];for(let t=i;t&&(e.push(t,t.scrollTop,t.scrollLeft),t!=t.ownerDocument);t=t.parentNode);if(i.focus(Ci==null?{get preventScroll(){return Ci={preventScroll:!0},!0}}:void 0),!Ci){Ci=!1;for(let t=0;tMath.max(0,i.document.documentElement.scrollHeight-i.innerHeight-4):i.scrollTop>Math.max(1,i.scrollHeight-i.clientHeight-4)}function Vf(i,e){for(let t=i,n=e;;){if(t.nodeType==3&&n>0)return{node:t,offset:n};if(t.nodeType==1&&n>0){if(t.contentEditable=="false")return null;t=t.childNodes[n-1],n=zt(t)}else if(t.parentNode&&!as(t))n=si(t),t=t.parentNode;else return null}}function Df(i,e){for(let t=i,n=e;;){if(t.nodeType==3&&n=t){if(a.level==n)return o;(s<0||(r!=0?r<0?a.fromt:e[s].level>a.level))&&(s=o)}}if(s<0)throw new RangeError("Index out of range");return s}};function Bf(i,e){if(i.length!=e.length)return!1;for(let t=0;t=0;m-=3)if(vt[m+1]==-O){let b=vt[m+2],g=b&2?r:b&4?b&1?s:r:0;g&&(se[f]=se[vt[m]]=g),a=m;break}}else{if(vt.length==189)break;vt[a++]=f,vt[a++]=u,vt[a++]=l}else if((p=se[f])==2||p==1){let m=p==r;l=m?0:1;for(let b=a-3;b>=0;b-=3){let g=vt[b+2];if(g&2)break;if(m)vt[b+2]|=2;else{if(g&4)break;vt[b+2]|=4}}}}}function y0(i,e,t,n){for(let r=0,s=n;r<=t.length;r++){let o=r?t[r-1].to:i,a=rl;)p==b&&(p=t[--m].from,b=m?t[m-1].to:i),se[--p]=O;l=h}else s=c,l++}}}function la(i,e,t,n,r,s,o){let a=n%2?2:1;if(n%2==r%2)for(let l=e,c=0;ll&&o.push(new st(l,m.from,O));let b=m.direction==Ri!=!(O%2);ca(i,b?n+1:n,r,m.inner,m.from,m.to,o),l=m.to}p=m.to}else{if(p==t||(h?se[p]!=a:se[p]==a))break;p++}u?la(i,l,p,n+1,r,u,o):le;){let h=!0,f=!1;if(!c||l>s[c-1].to){let m=se[l-1];m!=a&&(h=!1,f=m==16)}let u=!h&&a==1?[]:null,O=h?n:n+1,p=l;e:for(;;)if(c&&p==s[c-1].to){if(f)break e;let m=s[--c];if(!h)for(let b=m.from,g=c;;){if(b==e)break e;if(g&&s[g-1].to==b)b=s[--g].from;else{if(se[b-1]==a)break e;break}}if(u)u.push(m);else{m.tose.length;)se[se.length]=256;let n=[],r=e==Ri?0:1;return ca(i,r,r,t,0,i.length,n),n}function Uf(i){return[new st(0,i,0)]}var Gf="";function x0(i,e,t,n,r){var s;let o=n.head-i.from,a=st.find(e,o,(s=n.bidiLevel)!==null&&s!==void 0?s:-1,n.assoc),l=e[a],c=l.side(r,t);if(o==c){let u=a+=r?1:-1;if(u<0||u>=e.length)return null;l=e[a=u],o=l.side(!r,t),c=l.side(r,t)}let h=ke(i.text,o,l.forward(r,t));(hl.to)&&(h=c),Gf=i.text.slice(Math.min(o,h),Math.max(o,h));let f=a==(r?e.length-1:0)?null:e[a+(r?1:-1)];return f&&h==c&&f.level+(r?0:1)i.some(e=>e)}),P0=Y.define({combine:i=>i.some(e=>e)}),iu=Y.define(),Gn=class i{constructor(e,t,n,r,s,o=!1){this.range=e,this.y=t,this.x=n,this.yMargin=r,this.xMargin=s,this.isSnapshot=o}map(e){return e.empty?this:new i(this.range.map(e),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}clip(e){return this.range.to<=e.doc.length?this:new i(v.cursor(e.doc.length),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}},Hr=ie.define({map:(i,e)=>i.map(e)}),nu=ie.define();function ot(i,e,t){let n=i.facet(Kf);n.length?n[0](e):window.onerror&&window.onerror(String(e),t,void 0,void 0,e)||(t?console.error(t+":",e):console.error(e))}var qt=Y.define({combine:i=>i.length?i[0]:!0}),v0=0,ln=Y.define({combine(i){return i.filter((e,t)=>{for(let n=0;n{let l=[];return o&&l.push(bs.of(c=>{let h=c.plugin(a);return h?o(h):Z.none})),s&&l.push(s(a)),l})}static fromClass(e,t){return i.define((n,r)=>new e(n,r),t)}},Nn=class{constructor(e){this.spec=e,this.mustUpdate=null,this.value=null}get plugin(){return this.spec&&this.spec.plugin}update(e){if(this.value){if(this.mustUpdate){let t=this.mustUpdate;if(this.mustUpdate=null,this.value.update)try{this.value.update(t)}catch(n){if(ot(t.state,n,"CodeMirror plugin crashed"),this.value.destroy)try{this.value.destroy()}catch{}this.deactivate()}}}else if(this.spec)try{this.value=this.spec.plugin.create(e,this.spec.arg)}catch(t){ot(e.state,t,"CodeMirror plugin crashed"),this.deactivate()}return this}destroy(e){var t;if(!((t=this.value)===null||t===void 0)&&t.destroy)try{this.value.destroy()}catch(n){ot(e.state,n,"CodeMirror plugin crashed")}}deactivate(){this.spec=this.value=null}},ru=Y.define(),Ya=Y.define(),bs=Y.define(),su=Y.define(),Ia=Y.define(),nr=Y.define(),ou=Y.define();function pf(i,e){let t=i.state.facet(ou);if(!t.length)return t;let n=t.map(s=>s instanceof Function?s(i):s),r=[];return oe.spans(n,e.from,e.to,{point(){},span(s,o,a,l){let c=s-e.from,h=o-e.from,f=r;for(let u=a.length-1;u>=0;u--,l--){let O=a[u].spec.bidiIsolate,p;if(O==null&&(O=w0(e.text,c,h)),l>0&&f.length&&(p=f[f.length-1]).to==c&&p.direction==O)p.to=h,f=p.inner;else{let m={from:c,to:h,direction:O,inner:[]};f.push(m),f=m.inner}}}}),r}var au=Y.define();function lu(i){let e=0,t=0,n=0,r=0;for(let s of i.state.facet(au)){let o=s(i);o&&(o.left!=null&&(e=Math.max(e,o.left)),o.right!=null&&(t=Math.max(t,o.right)),o.top!=null&&(n=Math.max(n,o.top)),o.bottom!=null&&(r=Math.max(r,o.bottom)))}return{left:e,right:t,top:n,bottom:r}}var Dn=Y.define(),mt=class i{constructor(e,t,n,r){this.fromA=e,this.toA=t,this.fromB=n,this.toB=r}join(e){return new i(Math.min(this.fromA,e.fromA),Math.max(this.toA,e.toA),Math.min(this.fromB,e.fromB),Math.max(this.toB,e.toB))}addToSet(e){let t=e.length,n=this;for(;t>0;t--){let r=e[t-1];if(!(r.fromA>n.toA)){if(r.toAr.push(new mt(s,o,a,l))),this.changedRanges=r}static create(e,t,n){return new i(e,t,n)}get viewportChanged(){return(this.flags&4)>0}get viewportMoved(){return(this.flags&8)>0}get heightChanged(){return(this.flags&2)>0}get geometryChanged(){return this.docChanged||(this.flags&18)>0}get focusChanged(){return(this.flags&1)>0}get docChanged(){return!this.changes.empty}get selectionSet(){return this.transactions.some(e=>e.selection)}get empty(){return this.flags==0&&this.transactions.length==0}},$0=[],fe=class{constructor(e,t,n=0){this.dom=e,this.length=t,this.flags=n,this.parent=null,e.cmTile=this}get breakAfter(){return this.flags&1}get children(){return $0}isWidget(){return!1}get isHidden(){return!1}isComposite(){return!1}isLine(){return!1}isText(){return!1}isBlock(){return!1}get domAttrs(){return null}sync(e){if(this.flags|=2,this.flags&4){this.flags&=-5;let t=this.domAttrs;t&&c0(this.dom,t)}}toString(){return this.constructor.name+(this.children.length?`(${this.children})`:"")+(this.breakAfter?"#":"")}destroy(){this.parent=null}setDOM(e){this.dom=e,e.cmTile=this}get posAtStart(){return this.parent?this.parent.posBefore(this):0}get posAtEnd(){return this.posAtStart+this.length}posBefore(e,t=this.posAtStart){let n=t;for(let r of this.children){if(r==e)return n;n+=r.length+r.breakAfter}throw new RangeError("Invalid child in posBefore")}posAfter(e){return this.posBefore(e)+e.length}covers(e){return!0}coordsIn(e,t,n){return null}domPosFor(e,t){let n=si(this.dom),r=this.length?e>0:t>0;return new $t(this.parent.dom,n+(r?1:0),e==0||e==this.length)}markDirty(e){this.flags&=-3,e&&(this.flags|=4),this.parent&&this.parent.flags&2&&this.parent.markDirty(!1)}get overrideDOMText(){return null}get root(){for(let e=this;e;e=e.parent)if(e instanceof On)return e;return null}static get(e){return e.cmTile}},un=class extends fe{constructor(e){super(e,0),this._children=[]}isComposite(){return!0}get children(){return this._children}get lastChild(){return this.children.length?this.children[this.children.length-1]:null}append(e){this.children.push(e),e.parent=this}sync(e){if(this.flags&2)return;super.sync(e);let t=this.dom,n=null,r,s=e?.node==t?e:null,o=0;for(let a of this.children){if(a.sync(e),o+=a.length+a.breakAfter,r=n?n.nextSibling:t.firstChild,s&&r!=a.dom&&(s.written=!0),a.dom.parentNode==t)for(;r&&r!=a.dom;)r=mf(r);else t.insertBefore(a.dom,r);n=a.dom}for(r=n?n.nextSibling:t.firstChild,s&&r&&(s.written=!0);r;)r=mf(r);this.length=o}};function mf(i){let e=i.nextSibling;return i.parentNode.removeChild(i),e}var On=class extends un{constructor(e,t){super(t),this.view=e}owns(e){for(;e;e=e.parent)if(e==this)return!0;return!1}isBlock(){return!0}nearest(e){for(;;){if(!e)return null;let t=fe.get(e);if(t&&this.owns(t))return t;e=e.parentNode}}blockTiles(e){for(let t=[],n=this,r=0,s=0;;)if(r==n.children.length){if(!t.length)return;n=n.parent,n.breakAfter&&s++,r=t.pop()}else{let o=n.children[r++];if(o instanceof Et)t.push(r),n=o,r=0;else{let a=s+o.length,l=e(o,s);if(l!==void 0)return l;s=a+o.breakAfter}}}resolveBlock(e,t){let n,r=-1,s,o=-1;if(this.blockTiles((a,l)=>{let c=l+a.length;if(e>=l&&e<=c){if(a.isWidget()&&t>=-1&&t<=1){if(a.flags&32)return!0;a.flags&16&&(n=void 0)}(le||e==l&&(t>1?a.length:a.covers(-1)))&&(!s||!a.isWidget()&&s.isWidget())&&(s=a,o=e-l)}}),!n&&!s)throw new Error("No tile at position "+e);return n&&t<0||!s?{tile:n,offset:r}:{tile:s,offset:o}}},Et=class i extends un{constructor(e,t){super(e),this.wrapper=t}isBlock(){return!0}covers(e){return this.children.length?e<0?this.children[0].covers(-1):this.lastChild.covers(1):!1}get domAttrs(){return this.wrapper.attributes}static of(e,t){let n=new i(t||document.createElement(e.tagName),e);return t||(n.flags|=4),n}},dn=class i extends un{constructor(e,t){super(e),this.attrs=t}isLine(){return!0}static start(e,t,n){let r=new i(t||document.createElement("div"),e);return(!t||!n)&&(r.flags|=4),r}get domAttrs(){return this.attrs}resolveInline(e,t,n){let r=null,s=-1,o=null,a=-1;function l(h,f){for(let u=0,O=0;u=f&&(p.isComposite()?l(p,f-O):(!o||o.isHidden&&(t>0&&!(o.flags&32)||n&&C0(o,p)))&&(m>f||p.flags&32)?(o=p,a=f-O):(Or&&(e=r);let s=e,o=e,a=0;e==0&&t<0||e==r&&t>=0?L.chrome||L.gecko||(e?(s--,a=1):o=0)?0:l.length-1];return L.safari&&!a&&c.width==0&&(c=Array.prototype.find.call(l,h=>h.width)||c),n==null?c:ls(c,(a?a>0:t<0)==n)}static of(e,t){let n=new i(t||document.createTextNode(e),e);return t||(n.flags|=2),n}},Ai=class i extends fe{constructor(e,t,n,r){super(e,t,r),this.widget=n}isWidget(){return!0}get isHidden(){return this.widget.isHidden}covers(e){return this.flags&48?!1:(this.flags&(e<0?64:128))>0}coordsIn(e,t){return this.coordsInWidget(e,t,!1)}coordsInWidget(e,t,n){let r=this.widget.coordsAt(this.dom,e,t);if(r)return r;if(n)return ls(this.dom.getBoundingClientRect(),this.length?e==0:t<=0);{let s=this.dom.getClientRects(),o=null;if(!s.length)return null;let a=this.flags&16?!0:this.flags&32?!1:e>0;for(let l=a?s.length-1:0;o=s[l],!(e>0?l==0:l==s.length-1||o.top0==n)}},fa=class{constructor(e){this.index=0,this.beforeBreak=!1,this.parents=[],this.tile=e}advance(e,t,n){let{tile:r,index:s,beforeBreak:o,parents:a}=this;for(;e||t>0;)if(r.isComposite())if(o){if(!e)break;n&&n.break(),e--,o=!1}else if(s==r.children.length){if(!e&&!a.length)break;n&&n.leave(r),o=!!r.breakAfter,{tile:r,index:s}=a.pop(),s++}else{let l=r.children[s],c=l.breakAfter;(t>0?l.length<=e:l.length=0;a--){let l=t.marks[a],c=r.lastChild;if(c instanceof je&&c.mark.eq(l.mark))c.dom!=l.dom&&c.setDOM(Ho(l.dom)),r=c;else{if(this.cache.reused.get(l)){let f=fe.get(l.dom);f&&f.setDOM(Ho(l.dom))}let h=je.of(l.mark,l.dom);r.append(h),r=h}this.cache.reused.set(l,2)}let s=fe.get(e.text);s&&this.cache.reused.set(s,2);let o=new Xi(e.text,e.text.nodeValue);o.flags|=8,this.pos=e.range.toB,r.append(o)}addInlineWidget(e,t,n){let r=this.afterWidget&&e.flags&48&&(this.afterWidget.flags&48)==(e.flags&48);r||this.flushBuffer();let s=this.ensureMarks(t,n);!r&&!(e.flags&16)&&s.append(this.getBuffer(1)),s.append(e),this.pos+=e.length,this.afterWidget=e}addMark(e,t,n){this.flushBuffer(),this.ensureMarks(t,n).append(e),this.pos+=e.length,this.afterWidget=null}addBlockWidget(e){this.getBlockPos().append(e),this.pos+=e.length,this.lastBlock=e,this.endLine()}continueWidget(e){let t=this.afterWidget||this.lastBlock;t.length+=e,this.pos+=e}addLineStart(e,t){var n;e||(e=cu);let r=dn.start(e,t||((n=this.cache.find(dn))===null||n===void 0?void 0:n.dom),!!t);this.getBlockPos().append(this.lastBlock=this.curLine=r)}addLine(e){this.getBlockPos().append(e),this.pos+=e.length,this.lastBlock=e,this.endLine()}addBreak(){this.lastBlock.flags|=1,this.endLine(),this.pos++}addLineStartIfNotCovered(e){this.blockPosCovered()||this.addLineStart(e)}ensureLine(e){this.curLine||this.addLineStart(e)}ensureMarks(e,t){var n;let r=this.curLine;for(let s=e.length-1;s>=0;s--){let o=e[s],a;if(t>0&&(a=r.lastChild)&&a instanceof je&&a.mark.eq(o))r=a,t--;else{let l=je.of(o,(n=this.cache.find(je,c=>c.mark.eq(o)))===null||n===void 0?void 0:n.dom);r.append(l),r=l,t=0}}return r}endLine(){if(this.curLine){this.flushBuffer();let e=this.curLine.lastChild;(!e||!gf(this.curLine,!1)||e.dom.nodeName!="BR"&&e.isWidget()&&!(L.ios&&gf(this.curLine,!0)))&&this.curLine.append(this.cache.findWidget(Ko,0,32)||new Ai(Ko.toDOM(),0,Ko,32)),this.curLine=this.afterWidget=null}}updateBlockWrappers(){this.wrapperPos>this.pos+1e4&&(this.blockWrappers.goto(this.pos),this.wrappers.length=0);for(let e=this.wrappers.length-1;e>=0;e--)this.wrappers[e].to=this.pos){let t=e.rank*102+e.value.rank,n=new ua(e.from,e.to,e.value,t),r=this.wrappers.length;for(;r>0&&(this.wrappers[r-1].rank-n.rank||this.wrappers[r-1].to-n.to)<0;)r--;this.wrappers.splice(r,0,n)}this.wrapperPos=this.pos}getBlockPos(){var e;this.updateBlockWrappers();let t=this.root;for(let n of this.wrappers){let r=t.lastChild;if(n.fromo.wrapper.eq(n.wrapper)))===null||e===void 0?void 0:e.dom);t.append(s),t=s}}return t}blockPosCovered(){let e=this.lastBlock;return e!=null&&!e.breakAfter&&(!e.isWidget()||(e.flags&160)>0)}getBuffer(e){let t=2|(e<0?16:32),n=this.cache.find(pn,void 0,1);return n&&(n.flags=t),n||new pn(t)}flushBuffer(){this.afterWidget&&!(this.afterWidget.flags&32)&&(this.afterWidget.parent.append(this.getBuffer(-1)),this.afterWidget=null)}},da=class{constructor(e){this.skipCount=0,this.text="",this.textOff=0,this.cursor=e.iter()}skip(e){this.textOff+e<=this.text.length?this.textOff+=e:(this.skipCount+=e-(this.text.length-this.textOff),this.text="",this.textOff=0)}next(e){if(this.textOff==this.text.length){let{value:r,lineBreak:s,done:o}=this.cursor.next(this.skipCount);if(this.skipCount=0,o)throw new Error("Ran out of text content when drawing inline views");this.text=r;let a=this.textOff=Math.min(e,r.length);return s?null:r.slice(0,a)}let t=Math.min(this.text.length,this.textOff+e),n=this.text.slice(this.textOff,t);return this.textOff=t,n}},hs=[Ai,dn,Xi,je,pn,Et,On];for(let i=0;i[]),this.index=hs.map(()=>0),this.reused=new Map}add(e){let t=e.constructor.bucket,n=this.buckets[t];n.length<6?n.push(e):n[this.index[t]=(this.index[t]+1)%6]=e}find(e,t,n=2){let r=e.bucket,s=this.buckets[r],o=this.index[r];for(let a=0;a{if(this.cache.add(o),o.isComposite())return!1},enter:o=>this.cache.add(o),leave:()=>{},break:()=>{}}}run(e,t){let n=t&&this.getCompositionContext(t.text);for(let r=0,s=0,o=0;;){let a=or){let c=l-r;this.preserve(c,!o,!a),r=l,s+=c}if(!a)break;t&&a.fromA<=t.range.fromA&&a.toA>=t.range.toA?(this.forward(a.fromA,t.range.fromA,t.range.fromA{if(o.isWidget())if(this.openWidget)this.builder.continueWidget(l-a);else{let c=l>0||a{o.isLine()?this.builder.addLineStart(o.attrs,this.cache.maybeReuse(o)):(this.cache.add(o),o instanceof je&&r.unshift(o.mark)),this.openWidget=!1},leave:o=>{o.isLine()?r.length&&(r.length=s=0):o instanceof je&&(r.shift(),s=Math.min(s,r.length))},break:()=>{this.builder.addBreak(),this.openWidget=!1}}),this.text.skip(e)}emit(e,t){let n=null,r=this.builder,s=-1,o=oe.spans(this.decorations,e,t,{point:(a,l,c,h,f,u)=>{if(c instanceof _i){if(this.disallowBlockEffectsFor[u]){if(c.block)throw new RangeError("Block decorations may not be specified via plugins");if(l>this.view.state.doc.lineAt(a).to)throw new RangeError("Decorations that replace line breaks may not be specified via plugins")}if(s=h.length,f>h.length)r.continueWidget(l-a);else{let O=c.widget||(c.block?oi.block:oi.inline),p=X0(c),m=this.cache.findWidget(O,l-a,p)||Ai.of(O,this.view,l-a,p);c.block?(c.startSide>0&&r.addLineStartIfNotCovered(n),r.addBlockWidget(m)):(r.ensureLine(n),r.addInlineWidget(m,h,f))}n=null}else n=_0(n,c);l>a&&this.text.skip(l-a)},span:(a,l,c,h)=>{for(let f=a;f-1&&(this.openWidget=o>s),this.openWidget||r.addLineStartIfNotCovered(n),this.openMarks=o}forward(e,t,n=1){t-e<=10?this.old.advance(t-e,n,this.reuseWalker):(this.old.advance(5,-1,this.reuseWalker),this.old.advance(t-e-10,-1),this.old.advance(5,n,this.reuseWalker))}getCompositionContext(e){let t=[],n=null;for(let r=e.parentNode;;r=r.parentNode){let s=fe.get(r);if(r==this.view.contentDOM)break;s instanceof je?t.push(s):s?.isLine()?n=s:s instanceof Et||(r.nodeName=="DIV"&&!n&&r!=this.view.contentDOM?n=new dn(r,cu):n||t.push(je.of(new Jn({tagName:r.nodeName.toLowerCase(),attributes:h0(r)}),r)))}return{line:n,marks:t}}};function gf(i,e){let t=n=>{for(let r of n.children)if((e?r.isText():r.length)||t(r))return!0;return!1};return t(i)}function X0(i){let e=i.isReplace?(i.startSide<0?64:0)|(i.endSide>0?128:0):i.startSide>0?32:16;return i.block&&(e|=256),e}var cu={class:"cm-line"};function _0(i,e){let t=e.spec.attributes,n=e.spec.class;return!t&&!n||(i||(i={class:"cm-line"}),t&&Ma(t,i),n&&(i.class+=" "+n)),i}function R0(i){let e=[];for(let t=i.parents.length;t>1;t--){let n=t==i.parents.length?i.tile:i.parents[t].tile;n instanceof je&&e.push(n.mark)}return e}function Ho(i){let e=fe.get(i);return e&&e.setDOM(i.cloneNode()),i}var oi=class extends Re{constructor(e){super(),this.tag=e}eq(e){return e.tag==this.tag}toDOM(){return document.createElement(this.tag)}updateDOM(e){return e.nodeName.toLowerCase()==this.tag}get isHidden(){return!0}};oi.inline=new oi("span");oi.block=new oi("div");var Ko=new class extends Re{toDOM(){return document.createElement("br")}get isHidden(){return!0}get editable(){return!0}},fs=class{constructor(e){this.view=e,this.decorations=[],this.blockWrappers=[],this.dynamicDecorationMap=[!1],this.domChanged=null,this.hasComposition=null,this.editContextFormatting=Z.none,this.lastCompositionAfterCursor=!1,this.minWidth=0,this.minWidthFrom=0,this.minWidthTo=0,this.impreciseAnchor=null,this.impreciseHead=null,this.forceSelection=!1,this.lastUpdate=Date.now(),this.updateDeco(),this.tile=new On(e,e.contentDOM),this.updateInner([new mt(0,0,0,e.state.doc.length)],null)}update(e){var t;let n=e.changedRanges;this.minWidth>0&&n.length&&(n.every(({fromA:h,toA:f})=>fthis.minWidthTo)?(this.minWidthFrom=e.changes.mapPos(this.minWidthFrom,1),this.minWidthTo=e.changes.mapPos(this.minWidthTo,1)):this.minWidth=this.minWidthFrom=this.minWidthTo=0),this.updateEditContextFormatting(e);let r=-1;this.view.inputState.composing>=0&&!this.view.observer.editContext&&(!((t=this.domChanged)===null||t===void 0)&&t.newSel?r=this.domChanged.newSel.head:!W0(e.changes,this.hasComposition)&&!e.selectionSet&&(r=e.state.selection.main.head));let s=r>-1?Z0(this.view,e.changes,r):null;if(this.domChanged=null,this.hasComposition){let{from:h,to:f}=this.hasComposition;n=new mt(h,f,e.changes.mapPos(h,-1),e.changes.mapPos(f,1)).addToSet(n.slice())}this.hasComposition=s?{from:s.range.fromB,to:s.range.toB}:null,(L.ie||L.chrome)&&!s&&e&&e.state.doc.lines!=e.startState.doc.lines&&(this.forceSelection=!0);let o=this.decorations,a=this.blockWrappers;this.updateDeco();let l=z0(o,this.decorations,e.changes);l.length&&(n=mt.extendWithRanges(n,l));let c=L0(a,this.blockWrappers,e.changes);return c.length&&(n=mt.extendWithRanges(n,c)),s&&!n.some(h=>h.fromA<=s.range.fromA&&h.toA>=s.range.toA)&&(n=s.range.addToSet(n.slice())),this.tile.flags&2&&n.length==0?!1:(this.updateInner(n,s),e.transactions.length&&(this.lastUpdate=Date.now()),!0)}updateInner(e,t){this.view.viewState.mustMeasureContent=!0;let{observer:n}=this.view;n.ignore(()=>{if(t||e.length){let o=this.tile,a=new ma(this.view,o,this.blockWrappers,this.decorations,this.dynamicDecorationMap);t&&fe.get(t.text)&&a.cache.reused.set(fe.get(t.text),2),this.tile=a.run(e,t),ga(o,a.cache.reused)}this.tile.dom.style.height=this.view.viewState.contentHeight/this.view.scaleY+"px",this.tile.dom.style.flexBasis=this.minWidth?this.minWidth+"px":"";let s=L.chrome||L.ios?{node:n.selectionRange.focusNode,written:!1}:void 0;this.tile.sync(s),s&&(s.written||n.selectionRange.focusNode!=s.node||!this.tile.dom.contains(s.node))&&(this.forceSelection=!0),this.tile.dom.style.height=""});let r=[];if(this.view.viewport.from||this.view.viewport.to-1)&&Bn(n,this.view.observer.selectionRange)&&!(r&&n.contains(r));if(!(s||t||o))return;let a=this.forceSelection;this.forceSelection=!1;let l=this.view.state.selection.main,c,h;if(l.empty?h=c=this.inlineDOMNearPos(l.anchor,l.assoc||1):(h=this.inlineDOMNearPos(l.head,l.head==l.from?1:-1),c=this.inlineDOMNearPos(l.anchor,l.anchor==l.from?1:-1)),L.gecko&&l.empty&&!this.hasComposition&&A0(c)){let u=document.createTextNode("");this.view.observer.ignore(()=>c.node.insertBefore(u,c.node.childNodes[c.offset]||null)),c=h=new $t(u,0),a=!0}let f=this.view.observer.selectionRange;(a||!f.focusNode||(!Un(c.node,c.offset,f.anchorNode,f.anchorOffset)||!Un(h.node,h.offset,f.focusNode,f.focusOffset))&&!this.suppressWidgetCursorChange(f,l))&&(this.view.observer.ignore(()=>{L.android&&L.chrome&&n.contains(f.focusNode)&&M0(f.focusNode,n)&&(n.blur(),n.focus({preventScroll:!0}));let u=tr(this.view.root);if(u)if(l.empty){if(L.gecko){let O=q0(c.node,c.offset);if(O&&O!=3){let p=(O==1?Vf:Df)(c.node,c.offset);p&&(c=new $t(p.node,p.offset))}}u.collapse(c.node,c.offset),l.bidiLevel!=null&&u.caretBidiLevel!==void 0&&(u.caretBidiLevel=l.bidiLevel)}else if(u.extend){u.collapse(c.node,c.offset);try{u.extend(h.node,h.offset)}catch{}}else{let O=document.createRange();l.anchor>l.head&&([c,h]=[h,c]),O.setEnd(h.node,h.offset),O.setStart(c.node,c.offset),u.removeAllRanges(),u.addRange(O)}o&&this.view.root.activeElement==n&&(n.blur(),r&&r.focus())}),this.view.observer.setSelectionRange(c,h)),this.impreciseAnchor=c.precise?null:new $t(f.anchorNode,f.anchorOffset),this.impreciseHead=h.precise?null:new $t(f.focusNode,f.focusOffset)}suppressWidgetCursorChange(e,t){return this.hasComposition&&t.empty&&Un(e.focusNode,e.focusOffset,e.anchorNode,e.anchorOffset)&&this.posFromDOM(e.focusNode,e.focusOffset)==t.head}enforceCursorAssoc(){if(this.hasComposition)return;let{view:e}=this,t=e.state.selection.main,n=tr(e.root),{anchorNode:r,anchorOffset:s}=e.observer.selectionRange;if(!n||!t.empty||!t.assoc||!n.modify)return;let o=this.lineAt(t.head,t.assoc);if(!o)return;let a=o.posAtStart;if(t.head==a||t.head==a+o.length)return;let l=this.coordsAt(t.head,-1),c=this.coordsAt(t.head,1);if(!l||!c||l.bottom>c.top)return;let h=this.domAtPos(t.head+t.assoc,t.assoc);n.collapse(h.node,h.offset),n.modify("move",t.assoc<0?"forward":"backward","lineboundary"),e.observer.readSelectionRange();let f=e.observer.selectionRange;e.docView.posFromDOM(f.anchorNode,f.anchorOffset)!=t.from&&n.collapse(r,s)}posFromDOM(e,t){let n=this.tile.nearest(e);if(!n)return this.tile.dom.compareDocumentPosition(e)&2?0:this.view.state.doc.length;let r=n.posAtStart;if(n.isComposite()){let s;if(e==n.dom)s=n.dom.childNodes[t];else{let o=zt(e)==0?0:t==0?-1:1;for(;;){let a=e.parentNode;if(a==n.dom)break;o==0&&a.firstChild!=a.lastChild&&(e==a.firstChild?o=-1:o=1),e=a}o<0?s=e:s=e.nextSibling}if(s==n.dom.firstChild)return r;for(;s&&!fe.get(s);)s=s.nextSibling;if(!s)return r+n.length;for(let o=0,a=r;;o++){let l=n.children[o];if(l.dom==s)return a;a+=l.length+l.breakAfter}}else return n.isText()?e==n.dom?r+t:r+(t?n.length:0):r}domAtPos(e,t){let{tile:n,offset:r}=this.tile.resolveBlock(e,t);return n.isWidget()?n.domPosFor(r,t):n.domIn(r,t)}inlineDOMNearPos(e,t){let n,r=-1,s=!1,o,a=-1,l=!1;return this.tile.blockTiles((c,h)=>{if(c.isWidget()){if(c.flags&32&&h>=e)return!0;c.flags&16&&(s=!0)}else{let f=h+c.length;if(h<=e&&(n=c,r=e-h,s=f=e&&!o&&(o=c,a=e-h,l=h>e),h>e&&o)return!0}}),!n&&!o?this.domAtPos(e,t):(s&&o?n=null:l&&n&&(o=null),n&&t<0||!o?n.domIn(r,t):o.domIn(a,t))}coordsAt(e,t,n){let{tile:r,offset:s}=this.tile.resolveBlock(e,t);return r.isWidget()?r.widget instanceof Fn?null:r.coordsInWidget(s,t,!0):r.coordsIn(s,t,n)}lineAt(e,t){let{tile:n}=this.tile.resolveBlock(e,t);return n.isLine()?n:null}coordsForChar(e){let{tile:t,offset:n}=this.tile.resolveBlock(e,1);if(!t.isLine())return null;function r(s,o){if(s.isComposite())for(let a of s.children){if(a.length>=o){let l=r(a,o);if(l)return l}if(o-=a.length,o<0)break}else if(s.isText()&&oMath.max(this.view.scrollDOM.clientWidth,this.minWidth)+1,a=-1,l=this.view.textDirection==ue.LTR,c=0,h=(f,u,O)=>{for(let p=0;pr);p++){let m=f.children[p],b=u+m.length,g=m.dom.getBoundingClientRect(),{height:Q}=g;if(O&&!p&&(c+=g.top-O.top),m instanceof Et)b>n&&h(m,u,g);else if(u>=n&&(c>0&&t.push(-c),t.push(Q+c),c=0,o)){let S=m.dom.lastChild,k=S?rs(S):[];if(k.length){let P=k[k.length-1],$=l?P.right-g.left:g.right-P.left;$>a&&(a=$,this.minWidth=s,this.minWidthFrom=u,this.minWidthTo=b)}}O&&p==f.children.length-1&&(c+=O.bottom-g.bottom),u=b+m.breakAfter}};return h(this.tile,0,null),t}textDirectionAt(e){let{tile:t}=this.tile.resolveBlock(e,1);return getComputedStyle(t.dom).direction=="rtl"?ue.RTL:ue.LTR}measureTextSize(){let e=this.tile.blockTiles(o=>{if(o.isLine()&&o.children.length&&o.length<=20){let a=0,l;for(let c of o.children){if(!c.isText()||/[^ -~]/.test(c.text))return;let h=rs(c.dom);if(h.length!=1)return;a+=h[0].width,l=h[0].height}if(a)return{lineHeight:o.dom.getBoundingClientRect().height,charWidth:a/o.length,textHeight:l}}});if(e)return e;let t=document.createElement("div"),n,r,s;return t.className="cm-line",t.style.width="99999px",t.style.position="absolute",t.textContent="abc def ghi jkl mno pqr stu",this.view.observer.ignore(()=>{this.tile.dom.appendChild(t);let o=rs(t.firstChild)[0];n=t.getBoundingClientRect().height,r=o&&o.width?o.width/27:7,s=o&&o.height?o.height:n,t.remove()}),{lineHeight:n,charWidth:r,textHeight:s}}computeBlockGapDeco(){let e=[],t=this.view.viewState;for(let n=0,r=0;;r++){let s=r==t.viewports.length?null:t.viewports[r],o=s?s.from-1:this.view.state.doc.length;if(o>n){let a=(t.lineBlockAt(o).bottom-t.lineBlockAt(n).top)/this.view.scaleY;e.push(Z.replace({widget:new Fn(a),block:!0,inclusive:!0,isBlockGap:!0}).range(n,o))}if(!s)break;n=s.to+1}return Z.set(e)}updateDeco(){let e=1,t=this.view.state.facet(bs).map(s=>(this.dynamicDecorationMap[e++]=typeof s=="function")?s(this.view):s),n=!1,r=this.view.state.facet(Ia).map((s,o)=>{let a=typeof s=="function";return a&&(n=!0),a?s(this.view):s});for(r.length&&(this.dynamicDecorationMap[e++]=n,t.push(oe.join(r))),this.decorations=[this.editContextFormatting,...t,this.computeBlockGapDeco(),this.view.viewState.lineGapDeco];etypeof s=="function"?s(this.view):s)}scrollIntoView(e){if(e.isSnapshot){let c=this.view.viewState.lineBlockAt(e.range.head);this.view.scrollDOM.scrollTop=c.top-e.yMargin,this.view.scrollDOM.scrollLeft=e.xMargin;return}for(let c of this.view.state.facet(iu))try{if(c(this.view,e.range,e))return!0}catch(h){ot(this.view.state,h,"scroll handler")}let{range:t}=e,n=this.coordsAt(t.head,t.assoc||(t.head>t.anchor?-1:1)),r;if(!n)return;!t.empty&&(r=this.coordsAt(t.anchor,t.anchor>t.head?-1:1))&&(n={left:Math.min(n.left,r.left),top:Math.min(n.top,r.top),right:Math.max(n.right,r.right),bottom:Math.max(n.bottom,r.bottom)});let s=lu(this.view),o={left:n.left-s.left,top:n.top-s.top,right:n.right+s.right,bottom:n.bottom+s.bottom},{offsetWidth:a,offsetHeight:l}=this.view.scrollDOM;if(O0(this.view.scrollDOM,o,t.head1&&(n.top>window.pageYOffset+window.visualViewport.offsetTop+window.visualViewport.height||n.bottomn.isWidget()||n.children.some(t);return t(this.tile.resolveBlock(e,1).tile)}destroy(){ga(this.tile)}};function ga(i,e){let t=e?.get(i);if(t!=1){t==null&&i.destroy();for(let n of i.children)ga(n,e)}}function A0(i){return i.node.nodeType==1&&i.node.firstChild&&(i.offset==0||i.node.childNodes[i.offset-1].contentEditable=="false")&&(i.offset==i.node.childNodes.length||i.node.childNodes[i.offset].contentEditable=="false")}function hu(i,e){let t=i.observer.selectionRange;if(!t.focusNode)return null;let n=Vf(t.focusNode,t.focusOffset),r=Df(t.focusNode,t.focusOffset),s=n||r;if(r&&n&&r.node!=n.node){let a=fe.get(r.node);if(!a||a.isText()&&a.text!=r.node.nodeValue)s=r;else if(i.docView.lastCompositionAfterCursor){let l=fe.get(n.node);!l||l.isText()&&l.text!=n.node.nodeValue||(s=r)}}if(i.docView.lastCompositionAfterCursor=s!=n,!s)return null;let o=e-s.offset;return{from:o,to:o+s.node.nodeValue.length,node:s.node}}function Z0(i,e,t){let n=hu(i,t);if(!n)return null;let{node:r,from:s,to:o}=n,a=r.nodeValue;if(/[\n\r]/.test(a)||i.state.doc.sliceString(n.from,n.to)!=a)return null;let l=e.invertedDesc;return{range:new mt(l.mapPos(s),l.mapPos(o),s,o),text:r}}function q0(i,e){return i.nodeType!=1?0:(e&&i.childNodes[e-1].contentEditable=="false"?1:0)|(e{ne.from&&(t=!0)}),t}var Fn=class extends Re{constructor(e){super(),this.height=e}toDOM(){let e=document.createElement("div");return e.className="cm-gap",this.updateDOM(e),e}eq(e){return e.height==this.height}updateDOM(e){return e.style.height=this.height+"px",!0}get editable(){return!0}get estimatedHeight(){return this.height}ignoreEvent(){return!1}};function j0(i,e,t=1){let n=i.charCategorizer(e),r=i.doc.lineAt(e),s=e-r.from;if(r.length==0)return v.cursor(e);s==0?t=1:s==r.length&&(t=-1);let o=s,a=s;t<0?o=ke(r.text,s,!1):a=ke(r.text,s);let l=n(r.text.slice(o,a));for(;o>0;){let c=ke(r.text,o,!1);if(n(r.text.slice(c,o))!=l)break;o=c}for(;ai.defaultLineHeight*1.5){let a=i.viewState.heightOracle.textHeight,l=Math.floor((r-t.top-(i.defaultLineHeight-a)*.5)/a);s+=l*i.viewState.heightOracle.lineLength}let o=i.state.sliceDoc(t.from,t.to);return t.from+rf(o,s,i.state.tabSize)}function D0(i,e,t){let n=i.lineBlockAt(e);if(Array.isArray(n.type)){let r;for(let s of n.type){if(s.from>e)break;if(!(s.toe)return s;(!r||s.type==at.Text&&(r.type!=s.type||(t<0?s.frome)))&&(r=s)}}return r||n}return n}function Y0(i,e,t,n){let r=D0(i,e.head,e.assoc||-1),s=!n||r.type!=at.Text||!(i.lineWrapping||r.widgetLineBreaks)?null:i.coordsAtPos(e.assoc<0&&e.head>r.from?e.head-1:e.head);if(s){let o=i.dom.getBoundingClientRect(),a=i.textDirectionAt(r.from),l=i.posAtCoords({x:t==(a==ue.LTR)?o.right-1:o.left+1,y:(s.top+s.bottom)/2});if(l!=null)return v.cursor(l,t?-1:1)}return v.cursor(t?r.to:r.from,t?-1:1)}function Qf(i,e,t,n){let r=i.state.doc.lineAt(e.head),s=i.bidiSpans(r),o=i.textDirectionAt(r.from);for(let a=e,l=null;;){let c=x0(r,s,o,a,t),h=Gf;if(!c){if(r.number==(t?i.state.doc.lines:1))return a;h=` -`,r=i.state.doc.line(r.number+(t?1:-1)),s=i.bidiSpans(r),c=i.visualLineSide(r,!t)}if(l){if(!l(h))return a}else{if(!n)return c;l=n(h)}a=c}}function I0(i,e,t){let n=i.state.charCategorizer(e),r=n(t);return s=>{let o=n(s);return r==qe.Space&&(r=o),r==o}}function B0(i,e,t,n){let r=e.head,s=t?1:-1;if(r==(t?i.state.doc.length:0))return v.cursor(r,e.assoc);let o=e.goalColumn,a,l=i.contentDOM.getBoundingClientRect(),c=i.coordsAtPos(r,e.assoc||((e.empty?t:e.head==e.from)?1:-1)),h=i.documentTop;if(c)o==null&&(o=c.left-l.left),a=s<0?c.top:c.bottom;else{let p=i.viewState.lineBlockAt(r);o==null&&(o=Math.min(l.right-l.left,i.defaultCharacterWidth*(r-p.from))),a=(s<0?p.top:p.bottom)+h}let f=l.left+o,u=i.viewState.heightOracle.textHeight>>1,O=n??u;for(let p=0;;p+=u){let m=a+(O+p)*s,b=ba(i,{x:f,y:m},!1,s);if(t?m>l.bottom:ma:Q{if(e>s&&er(i)),t.from,e.head>t.from?-1:1);return n==t.from?t:v.cursor(n,ni.viewState.docHeight)return new rt(i.state.doc.length,-1);if(c=i.elementAtHeight(l),n==null)break;if(c.type==at.Text){if(n<0?c.toi.viewport.to)break;let u=i.docView.coordsAt(n<0?c.from:c.to,n>0?-1:1);if(u&&(n<0?u.top<=l+s:u.bottom>=l+s))break}let f=i.viewState.heightOracle.textHeight/2;l=n>0?c.bottom+f:c.top-f}if(i.viewport.from>=c.to||i.viewport.to<=c.from){if(t)return null;if(c.type==at.Text){let f=V0(i,r,c,o,a);return new rt(f,f==c.from?1:-1)}}if(c.type!=at.Text)return l<(c.top+c.bottom)/2?new rt(c.from,1):new rt(c.to,-1);let h=i.docView.lineAt(c.from,2);return(!h||h.length!=c.length)&&(h=i.docView.lineAt(c.from,-2)),new Sa(i,o,a,i.textDirectionAt(c.from)).scanTile(h,c.from)}var Sa=class{constructor(e,t,n,r){this.view=e,this.x=t,this.y=n,this.baseDir=r,this.line=null,this.spans=null}bidiSpansAt(e){return(!this.line||this.line.from>e||this.line.to1||n.length&&(n[0].level!=this.baseDir||n[0].to+r.from>1;t:if(o.has(m)){let g=r+Math.floor(Math.random()*p);for(let Q=0;Q1)){if(Q.bottomthis.y)(!c||c.top>Q.top)&&(c=Q),S=-1;else{let k=Q.left>this.x?this.x-Q.left:Q.right(p+p+m)/3)return this.y=l.bottom-1,this.scan(e,t,!0);if(c&&c.top<(p+m+m)/3)return this.y=c.top+1,this.scan(e,t,!0)}let O=(a?this.dirAt(e[h],1):this.baseDir)==ue.LTR;return{i:h,after:this.x>(u.left+u.right)/2==O}}scanText(e,t){let n=[];for(let s=0;s{let o=n[s]-t,a=n[s+1]-t;return ir(e.dom,o,a).getClientRects()});return r.after?new rt(n[r.i+1],-1):new rt(n[r.i],1)}scanTile(e,t){if(!e.length)return new rt(t,1);if(e.children.length==1){let a=e.children[0];if(a.isText())return this.scanText(a,t);if(a.isComposite())return this.scanTile(a,t)}let n=[t];for(let a=0,l=t;a{let l=e.children[a];return l.flags&48?null:(l.dom.nodeType==1?l.dom:ir(l.dom,0,l.length)).getClientRects()}),s=e.children[r.i],o=n[r.i];return s.isText()?this.scanText(s,o):s.isComposite()?this.scanTile(s,o):r.after?new rt(n[r.i+1],-1):new rt(o,1)}},an="\uFFFF",ya=class{constructor(e,t){this.points=e,this.view=t,this.text="",this.lineSeparator=t.state.facet(re.lineSeparator)}append(e){this.text+=e}lineBreak(){this.text+=an}readRange(e,t){if(!e)return this;let n=e.parentNode;for(let r=e;;){this.findPointBefore(n,r);let s=this.text.length;this.readNode(r);let o=fe.get(r),a=r.nextSibling;if(a==t){o?.breakAfter&&!a&&n!=this.view.contentDOM&&this.lineBreak();break}let l=fe.get(a);(o&&l?o.breakAfter:(o?o.breakAfter:as(r))||as(a)&&(r.nodeName!="BR"||o?.isWidget())&&this.text.length>s)&&!G0(a,t)&&this.lineBreak(),r=a}return this.findPointBefore(n,t),this}readTextNode(e){let t=e.nodeValue;for(let n of this.points)n.node==e&&(n.pos=this.text.length+Math.min(n.offset,t.length));for(let n=0,r=this.lineSeparator?null:/\r\n?|\n/g;;){let s=-1,o=1,a;if(this.lineSeparator?(s=t.indexOf(this.lineSeparator,n),o=this.lineSeparator.length):(a=r.exec(t))&&(s=a.index,o=a[0].length),this.append(t.slice(n,s<0?t.length:s)),s<0)break;if(this.lineBreak(),o>1)for(let l of this.points)l.node==e&&l.pos>this.text.length&&(l.pos-=o-1);n=s+o}}readNode(e){let t=fe.get(e),n=t&&t.overrideDOMText;if(n!=null){this.findPointInside(e,n.length);for(let r=n.iter();!r.next().done;)r.lineBreak?this.lineBreak():this.append(r.value)}else e.nodeType==3?this.readTextNode(e):e.nodeName=="BR"?e.nextSibling&&this.lineBreak():e.nodeType==1&&this.readRange(e.firstChild,null)}findPointBefore(e,t){for(let n of this.points)n.node==e&&e.childNodes[n.offset]==t&&(n.pos=this.text.length)}findPointInside(e,t){for(let n of this.points)(e.nodeType==3?n.node==e:e.contains(n.node))&&(n.pos=this.text.length+(U0(e,n.node,n.offset)?t:0))}};function U0(i,e,t){for(;;){if(!e||t-1;let{impreciseHead:s,impreciseAnchor:o}=e.docView,a=e.state.selection;if(e.state.readOnly&&t>-1)this.newSel=null;else if(t>-1&&(this.bounds=uu(e.docView.tile,t,n,0))){let l=s||o?[]:F0(e),c=new ya(l,e);c.readRange(this.bounds.startDOM,this.bounds.endDOM),this.text=c.text,this.newSel=H0(l,this.bounds.from)}else{let l=e.observer.selectionRange,c=s&&s.node==l.focusNode&&s.offset==l.focusOffset||!sa(e.contentDOM,l.focusNode)?a.main.head:e.docView.posFromDOM(l.focusNode,l.focusOffset),h=o&&o.node==l.anchorNode&&o.offset==l.anchorOffset||!sa(e.contentDOM,l.anchorNode)?a.main.anchor:e.docView.posFromDOM(l.anchorNode,l.anchorOffset),f=e.viewport;if((L.ios||L.chrome)&&c!=h&&Math.min(c,h)<=a.main.from&&Math.max(c,h)>=a.main.to&&(f.from>0||f.to-1&&a.ranges.length>1)this.newSel=a.replaceRange(v.range(h,c));else if(e.lineWrapping&&h==c&&!(a.main.empty&&a.main.head==c)&&e.inputState.lastTouchTime>Date.now()-100){let u=e.coordsAtPos(c,-1),O=0;u&&(O=e.inputState.lastTouchY<=u.bottom?-1:1),this.newSel=v.create([v.cursor(c,O)])}else this.newSel=v.single(h,c)}}};function uu(i,e,t,n){if(i.isComposite()){let r=-1,s=-1,o=-1,a=-1;for(let l=0,c=n,h=n;lt)return uu(f,e,t,c);if(u>=e&&r==-1&&(r=l,s=c),c>t&&f.dom.parentNode==i.dom){o=l,a=h;break}h=u,c=u+f.breakAfter}return{from:s,to:a<0?n+i.length:a,startDOM:(r?i.children[r-1].dom.nextSibling:null)||i.dom.firstChild,endDOM:o=0?i.children[o].dom:null}}else return i.isText()?{from:n,to:n+i.length,startDOM:i.dom,endDOM:i.dom.nextSibling}:null}function Ou(i,e){let t,{newSel:n}=e,{state:r}=i,s=r.selection.main,o=i.inputState.lastKeyTime>Date.now()-100?i.inputState.lastKeyCode:-1;if(e.bounds){let{from:a,to:l}=e.bounds,c=s.from,h=null;(o===8||L.android&&e.text.length=a&&s.to<=l&&(e.typeOver||f!=e.text)&&f.slice(0,s.from-a)==e.text.slice(0,s.from-a)&&f.slice(s.to-a)==e.text.slice(u=e.text.length-(f.length-(s.to-a)))?t={from:s.from,to:s.to,insert:H.of(e.text.slice(s.from-a,u).split(an))}:(O=du(f,e.text,c-a,h))&&(L.chrome&&o==13&&O.toB==O.from+2&&e.text.slice(O.from,O.toB)==an+an&&O.toB--,t={from:a+O.from,to:a+O.toA,insert:H.of(e.text.slice(O.from,O.toB).split(an))})}else n&&(!i.hasFocus&&r.facet(qt)||Os(n,s))&&(n=null);if(!t&&!n)return!1;if((L.mac||L.android)&&t&&t.from==t.to&&t.from==s.head-1&&/^\. ?$/.test(t.insert.toString())&&i.contentDOM.getAttribute("autocorrect")=="off"?(n&&t.insert.length==2&&(n=v.single(n.main.anchor-1,n.main.head-1)),t={from:t.from,to:t.to,insert:H.of([t.insert.toString().replace("."," ")])}):r.doc.lineAt(s.from).toDate.now()-50?t={from:s.from,to:s.to,insert:r.toText(i.inputState.insertingText)}:L.chrome&&t&&t.from==t.to&&t.from==s.head&&t.insert.toString()==` - `&&i.lineWrapping&&(n&&(n=v.single(n.main.anchor-1,n.main.head-1)),t={from:s.from,to:s.to,insert:H.of([" "])}),t)return Ba(i,t,n,o);if(n&&!Os(n,s)){let a=!1,l="select";return i.inputState.lastSelectionTime>Date.now()-50&&(i.inputState.lastSelectionOrigin=="select"&&(a=!0),l=i.inputState.lastSelectionOrigin,l=="select.pointer"&&(n=fu(r.facet(nr).map(c=>c(i)),n))),i.dispatch({selection:n,scrollIntoView:a,userEvent:l}),!0}else return!1}function Ba(i,e,t,n=-1){if(L.ios&&i.inputState.flushIOSKey(e))return!0;let r=i.state.selection.main;if(L.android&&(e.to==r.to&&(e.from==r.from||e.from==r.from-1&&i.state.sliceDoc(e.from,r.from)==" ")&&e.insert.length==1&&e.insert.lines==2&&fn(i.contentDOM,"Enter",13)||(e.from==r.from-1&&e.to==r.to&&e.insert.length==0||n==8&&e.insert.lengthr.head)&&fn(i.contentDOM,"Backspace",8)||e.from==r.from&&e.to==r.to+1&&e.insert.length==0&&fn(i.contentDOM,"Delete",46)))return!0;let s=e.insert.toString();i.inputState.composing>=0&&i.inputState.composing++;let o,a=()=>o||(o=N0(i,e,t));return i.state.facet(Jf).some(l=>l(i,e.from,e.to,s,a))||i.dispatch(a()),!0}function N0(i,e,t){let n,r=i.state,s=r.selection.main,o=-1;if(e.from==e.to&&e.froms.to){let l=e.fromf(i)),c,l);e.from==h&&(o=h)}if(o>-1)n={changes:e,selection:v.cursor(e.from+e.insert.length,-1)};else if(e.from>=s.from&&e.to<=s.to&&e.to-e.from>=(s.to-s.from)/3&&(!t||t.main.empty&&t.main.from==e.from+e.insert.length)&&i.inputState.composing<0){let l=s.frome.to?r.sliceDoc(e.to,s.to):"";n=r.replaceSelection(i.state.toText(l+e.insert.sliceString(0,void 0,i.state.lineBreak)+c))}else{let l=r.changes(e),c=t&&t.main.to<=l.newLength?t.main:void 0;if(r.selection.ranges.length>1&&(i.inputState.composing>=0||i.inputState.compositionPendingChange)&&e.to<=s.to+10&&e.to>=s.to-10){let h=i.state.sliceDoc(e.from,e.to),f,u=t&&hu(i,t.main.head);if(u){let p=e.insert.length-(e.to-e.from);f={from:u.from,to:u.to-p}}else f=i.state.doc.lineAt(s.head);let O=s.to-e.to;n=r.changeByRange(p=>{if(p.from==s.from&&p.to==s.to)return{changes:l,range:c||p.map(l)};let m=p.to-O,b=m-h.length;if(i.state.sliceDoc(b,m)!=h||m>=f.from&&b<=f.to)return{range:p};let g=r.changes({from:b,to:m,insert:e.insert}),Q=p.to-s.to;return{changes:g,range:c?v.range(Math.max(0,c.anchor+Q),Math.max(0,c.head+Q)):p.map(g)}})}else n={changes:l,selection:c&&r.selection.replaceRange(c)}}let a="input.type";return(i.composing||i.inputState.compositionPendingChange&&i.inputState.compositionEndedAt>Date.now()-50)&&(i.inputState.compositionPendingChange=!1,a+=".compose",i.inputState.compositionFirstChange&&(a+=".start",i.inputState.compositionFirstChange=!1)),r.update(n,{userEvent:a,scrollIntoView:!0})}function du(i,e,t,n){let r=Math.min(i.length,e.length),s=0;for(;s0&&a>0&&i.charCodeAt(o-1)==e.charCodeAt(a-1);)o--,a--;if(n=="end"){let l=Math.max(0,s-Math.min(o,a));t-=o+l-s}if(o=o?s-t:0;s-=l,a=s+(a-o),o=s}else if(a=a?s-t:0;s-=l,o=s+(o-a),a=s}return{from:s,toA:o,toB:a}}function F0(i){let e=[];if(i.root.activeElement!=i.contentDOM)return e;let{anchorNode:t,anchorOffset:n,focusNode:r,focusOffset:s}=i.observer.selectionRange;return t&&(e.push(new us(t,n)),(r!=t||s!=n)&&e.push(new us(r,s))),e}function H0(i,e){if(i.length==0)return null;let t=i[0].pos,n=i.length==2?i[1].pos:t;return t>-1&&n>-1?v.single(t+e,n+e):null}function Os(i,e){return e.head==i.main.head&&e.anchor==i.main.anchor}var xa=class{setSelectionOrigin(e){this.lastSelectionOrigin=e,this.lastSelectionTime=Date.now()}constructor(e){this.view=e,this.lastKeyCode=0,this.lastKeyTime=0,this.touchActive=!1,this.lastTouchTime=0,this.lastTouchX=0,this.lastTouchY=0,this.lastFocusTime=0,this.lastScrollTop=0,this.lastScrollLeft=0,this.lastWheelEvent=0,this.pendingIOSKey=void 0,this.lastIOSMomentumScroll=0,this.tabFocusMode=-1,this.lastSelectionOrigin=null,this.lastSelectionTime=0,this.lastContextMenu=0,this.scrollHandlers=[],this.handlers=Object.create(null),this.composing=-1,this.compositionFirstChange=null,this.compositionEndedAt=0,this.compositionPendingKey=!1,this.compositionPendingChange=!1,this.insertingText="",this.insertingTextAt=0,this.mouseSelection=null,this.draggedContent=null,this.handleEvent=this.handleEvent.bind(this),this.notifiedFocused=e.hasFocus,L.safari&&e.contentDOM.addEventListener("input",()=>null),L.gecko&&uQ(e.contentDOM.ownerDocument)}handleEvent(e){!sQ(this.view,e)||this.ignoreDuringComposition(e)||e.type=="keydown"&&this.keydown(e)||(this.view.updateState!=0?Promise.resolve().then(()=>this.runHandlers(e.type,e)):this.runHandlers(e.type,e))}runHandlers(e,t){let n=this.handlers[e];if(n){for(let r of n.observers)r(this.view,t);for(let r of n.handlers){if(t.defaultPrevented)break;if(r(this.view,t)){t.preventDefault();break}}}}ensureHandlers(e){let t=J0(e),n=this.handlers,r=this.view.contentDOM;for(let s in t)if(s!="scroll"){let o=!t[s].handlers.length,a=n[s];a&&o!=!a.handlers.length&&(r.removeEventListener(s,this.handleEvent),a=null),a||r.addEventListener(s,this.handleEvent,{passive:o})}for(let s in n)s!="scroll"&&!t[s]&&r.removeEventListener(s,this.handleEvent);this.handlers=t}keydown(e){if(this.lastKeyCode=e.keyCode,this.lastKeyTime=Date.now(),e.keyCode==9&&this.tabFocusMode>-1&&(!this.tabFocusMode||Date.now()<=this.tabFocusMode))return!0;if(this.tabFocusMode>0&&e.keyCode!=27&&mu.indexOf(e.keyCode)<0&&(this.tabFocusMode=-1),L.android&&L.chrome&&!e.synthetic&&(e.keyCode==13||e.keyCode==8))return this.view.observer.delayAndroidKey(e.key,e.keyCode),!0;if(L.ios&&!e.synthetic&&!e.altKey&&!e.metaKey&&(pu.some(t=>t.keyCode==e.keyCode)&&!e.ctrlKey||eQ.indexOf(e.key)>-1&&e.ctrlKey)){let t={ctrlKey:e.ctrlKey,altKey:e.altKey,metaKey:e.metaKey,shiftKey:e.shiftKey};return t.shiftKey&&L.ios&&!/^(off|none)$/.test(this.view.contentDOM.autocapitalize)&&K0(this.view.win)&&(t.shiftKey=!1),this.pendingIOSKey={key:e.key,keyCode:e.keyCode,mods:t},setTimeout(()=>this.flushIOSKey(),250),!0}return e.keyCode!=229&&this.view.observer.forceFlush(),!1}flushIOSKey(e){let t=this.pendingIOSKey;return!t||t.key=="Enter"&&e&&e.from0?!0:L.safari&&!L.ios&&this.compositionPendingKey&&Date.now()-this.compositionEndedAt<100?(this.compositionPendingKey=!1,!0):!1}startMouseSelection(e){this.mouseSelection&&this.mouseSelection.destroy(),this.mouseSelection=e}update(e){this.view.observer.update(e),this.mouseSelection&&this.mouseSelection.update(e),this.draggedContent&&e.docChanged&&(this.draggedContent=this.draggedContent.map(e.changes)),e.transactions.length&&(this.lastKeyCode=this.lastSelectionTime=0)}destroy(){this.mouseSelection&&this.mouseSelection.destroy()}};function K0(i){return i.visualViewport?i.visualViewport.height*i.visualViewport.scale/i.document.documentElement.clientHeight<.85:!1}function bf(i,e){return(t,n)=>{try{return e.call(i,n,t)}catch(r){ot(t.state,r)}}}function J0(i){let e=Object.create(null);function t(n){return e[n]||(e[n]={observers:[],handlers:[]})}for(let n of i){let r=n.spec,s=r&&r.plugin.domEventHandlers,o=r&&r.plugin.domEventObservers;if(s)for(let a in s){let l=s[a];l&&t(a).handlers.push(bf(n.value,l))}if(o)for(let a in o){let l=o[a];l&&t(a).observers.push(bf(n.value,l))}}for(let n in gt)t(n).handlers.push(gt[n]);for(let n in Le)t(n).observers.push(Le[n]);return e}var pu=[{key:"Backspace",keyCode:8,inputType:"deleteContentBackward"},{key:"Enter",keyCode:13,inputType:"insertParagraph"},{key:"Enter",keyCode:13,inputType:"insertLineBreak"},{key:"Delete",keyCode:46,inputType:"deleteContentForward"}],eQ="dthko",mu=[16,17,18,20,91,92,224,225],Kr=6;function Jr(i){return Math.max(0,i)*.7+8}function tQ(i,e){return Math.max(Math.abs(i.clientX-e.clientX),Math.abs(i.clientY-e.clientY))}var wa=class{constructor(e,t,n,r){this.view=e,this.startEvent=t,this.style=n,this.mustSelect=r,this.scrollSpeed={x:0,y:0},this.scrolling=-1,this.lastEvent=t,this.scrollParents=Mf(e.contentDOM),this.atoms=e.state.facet(nr).map(o=>o(e));let s=e.contentDOM.ownerDocument;s.addEventListener("mousemove",this.move=this.move.bind(this)),s.addEventListener("mouseup",this.up=this.up.bind(this)),this.extend=t.shiftKey,this.multiple=e.state.facet(re.allowMultipleSelections)&&iQ(e,t),this.dragging=rQ(e,t)&&bu(t)==1?null:!1}start(e){this.dragging===!1&&this.select(e)}move(e){if(e.buttons==0)return this.destroy();if(this.dragging||this.dragging==null&&tQ(this.startEvent,e)<10)return;this.select(this.lastEvent=e);let t=0,n=0,r=0,s=0,o=this.view.win.innerWidth,a=this.view.win.innerHeight;this.scrollParents.x&&({left:r,right:o}=this.scrollParents.x.getBoundingClientRect()),this.scrollParents.y&&({top:s,bottom:a}=this.scrollParents.y.getBoundingClientRect());let l=lu(this.view);e.clientX-l.left<=r+Kr?t=-Jr(r-e.clientX):e.clientX+l.right>=o-Kr&&(t=Jr(e.clientX-o)),e.clientY-l.top<=s+Kr?n=-Jr(s-e.clientY):e.clientY+l.bottom>=a-Kr&&(n=Jr(e.clientY-a)),this.setScrollSpeed(t,n)}up(e){this.dragging==null&&this.select(this.lastEvent),this.dragging||e.preventDefault(),this.destroy()}destroy(){this.setScrollSpeed(0,0);let e=this.view.contentDOM.ownerDocument;e.removeEventListener("mousemove",this.move),e.removeEventListener("mouseup",this.up),this.view.inputState.mouseSelection=this.view.inputState.draggedContent=null}setScrollSpeed(e,t){this.scrollSpeed={x:e,y:t},e||t?this.scrolling<0&&(this.scrolling=setInterval(()=>this.scroll(),50)):this.scrolling>-1&&(clearInterval(this.scrolling),this.scrolling=-1)}scroll(){let{x:e,y:t}=this.scrollSpeed;e&&this.scrollParents.x&&(this.scrollParents.x.scrollLeft+=e,e=0),t&&this.scrollParents.y&&(this.scrollParents.y.scrollTop+=t,t=0),(e||t)&&this.view.win.scrollBy(e,t),this.dragging===!1&&this.select(this.lastEvent)}select(e){let{view:t}=this,n=fu(this.atoms,this.style.get(e,this.extend,this.multiple));(this.mustSelect||!n.eq(t.state.selection,this.dragging===!1))&&this.view.dispatch({selection:n,userEvent:"select.pointer"}),this.mustSelect=!1}update(e){e.transactions.some(t=>t.isUserEvent("input.type"))?this.destroy():this.style.update(e)&&setTimeout(()=>this.select(this.lastEvent),20)}};function iQ(i,e){let t=i.state.facet(Nf);return t.length?t[0](e):L.mac?e.metaKey:e.ctrlKey}function nQ(i,e){let t=i.state.facet(Ff);return t.length?t[0](e):L.mac?!e.altKey:!e.ctrlKey}function rQ(i,e){let{main:t}=i.state.selection;if(t.empty)return!1;let n=tr(i.root);if(!n||n.rangeCount==0)return!0;let r=n.getRangeAt(0).getClientRects();for(let s=0;s=e.clientX&&o.top<=e.clientY&&o.bottom>=e.clientY)return!0}return!1}function sQ(i,e){if(!e.bubbles)return!0;if(e.defaultPrevented)return!1;for(let t=e.target,n;t!=i.contentDOM;t=t.parentNode)if(!t||t.nodeType==11||(n=fe.get(t))&&n.isWidget()&&!n.isHidden&&n.widget.ignoreEvent(e))return!1;return!0}var gt=Object.create(null),Le=Object.create(null),gu=L.ie&&L.ie_version<15||L.ios&&L.webkit_version<604;function oQ(i){let e=i.dom.parentNode;if(!e)return;let t=e.appendChild(document.createElement("textarea"));t.style.cssText="position: fixed; left: -10000px; top: 10px",t.focus(),setTimeout(()=>{i.focus(),t.remove(),Qu(i,t.value)},50)}function Ss(i,e,t){for(let n of i.facet(e))t=n(t,i);return t}function Qu(i,e){e=Ss(i.state,Va,e);let{state:t}=i,n,r=1,s=t.toText(e),o=s.lines==t.selection.ranges.length;if(Pa!=null&&t.selection.ranges.every(l=>l.empty)&&Pa==s.toString()){let l=-1;n=t.changeByRange(c=>{let h=t.doc.lineAt(c.from);if(h.from==l)return{range:c};l=h.from;let f=t.toText((o?s.line(r++).text:e)+t.lineBreak);return{changes:{from:h.from,insert:f},range:v.cursor(c.from+f.length)}})}else o?n=t.changeByRange(l=>{let c=s.line(r++);return{changes:{from:l.from,to:l.to,insert:c.text},range:v.cursor(l.from+c.length)}}):n=t.replaceSelection(s);i.dispatch(n,{userEvent:"input.paste",scrollIntoView:!0})}Le.scroll=i=>{let e=i.inputState;e.lastScrollTop=i.scrollDOM.scrollTop,e.lastScrollLeft=i.scrollDOM.scrollLeft,L.ios&&!e.touchActive&&(e.lastIOSMomentumScroll=Date.now())};Le.wheel=Le.mousewheel=i=>{i.inputState.lastWheelEvent=Date.now()};gt.keydown=(i,e)=>(i.inputState.setSelectionOrigin("select"),e.keyCode==27&&i.inputState.tabFocusMode!=0&&(i.inputState.tabFocusMode=Date.now()+2e3),!1);Le.touchstart=(i,e)=>{let t=i.inputState,n=e.targetTouches[0];t.touchActive=!0,t.lastTouchTime=Date.now(),n&&(t.lastTouchX=n.clientX,t.lastTouchY=n.clientY),t.setSelectionOrigin("select.pointer")};Le.touchmove=i=>{i.inputState.setSelectionOrigin("select.pointer")};Le.touchend=(i,e)=>{i.inputState.touchActive=!1};gt.mousedown=(i,e)=>{if(i.observer.flush(),i.inputState.lastTouchTime>Date.now()-2e3)return!1;let t=null;for(let n of i.state.facet(Hf))if(t=n(i,e),t)break;if(!t&&e.button==0&&(t=lQ(i,e)),t){let n=!i.hasFocus;i.inputState.startMouseSelection(new wa(i,e,t,n)),n&&i.observer.ignore(()=>{Wf(i.contentDOM);let s=i.root.activeElement;s&&!s.contains(i.contentDOM)&&s.blur()});let r=i.inputState.mouseSelection;if(r)return r.start(e),r.dragging===!1}else i.inputState.setSelectionOrigin("select.pointer");return!1};function Sf(i,e,t,n){if(n==1)return v.cursor(e,t);if(n==2)return j0(i.state,e,t);{let r=i.docView.lineAt(e,t),s=i.state.doc.lineAt(r?r.posAtEnd:e),o=r?r.posAtStart:s.from,a=r?r.posAtEnd:s.to;return aDate.now()-400&&Math.abs(e.clientX-i.clientX)<2&&Math.abs(e.clientY-i.clientY)<2?(kf+1)%3:1}function lQ(i,e){let t=i.posAndSideAtCoords({x:e.clientX,y:e.clientY},!1),n=bu(e),r=i.state.selection;return{update(s){s.docChanged&&(t.pos=s.changes.mapPos(t.pos),r=r.map(s.changes))},get(s,o,a){let l=i.posAndSideAtCoords({x:s.clientX,y:s.clientY},!1),c,h=Sf(i,l.pos,l.assoc,n);if(t.pos!=l.pos&&!o){let f=Sf(i,t.pos,t.assoc,n),u=Math.min(f.from,h.from),O=Math.max(f.to,h.to);h=u1&&(c=cQ(r,l.pos))?c:a?r.addRange(h):v.create([h])}}}function cQ(i,e){for(let t=0;t=e)return v.create(i.ranges.slice(0,t).concat(i.ranges.slice(t+1)),i.mainIndex==t?0:i.mainIndex-(i.mainIndex>t?1:0))}return null}gt.dragstart=(i,e)=>{let{selection:{main:t}}=i.state;if(e.target.draggable){let r=i.docView.tile.nearest(e.target);if(r&&r.isWidget()){let s=r.posAtStart,o=s+r.length;(s>=t.to||o<=t.from)&&(t=v.undirectionalRange(s,o))}}let{inputState:n}=i;return n.mouseSelection&&(n.mouseSelection.dragging=!0),n.draggedContent=t,e.dataTransfer&&(e.dataTransfer.setData("Text",Ss(i.state,Da,i.state.sliceDoc(t.from,t.to))),e.dataTransfer.effectAllowed="copyMove"),!1};gt.dragend=i=>(i.inputState.draggedContent=null,!1);function wf(i,e,t,n){if(t=Ss(i.state,Va,t),!t)return;let r=i.posAtCoords({x:e.clientX,y:e.clientY},!1),{draggedContent:s}=i.inputState,o=n&&s&&nQ(i,e)?{from:s.from,to:s.to}:null,a={from:r,insert:t},l=i.state.changes(o?[o,a]:a);i.focus(),i.dispatch({changes:l,selection:{anchor:l.mapPos(r,-1),head:l.mapPos(r,1)},userEvent:o?"move.drop":"input.drop"}),i.inputState.draggedContent=null}gt.drop=(i,e)=>{if(!e.dataTransfer)return!1;if(i.state.readOnly)return!0;let t=e.dataTransfer.files;if(t&&t.length){let n=Array(t.length),r=0,s=()=>{++r==t.length&&wf(i,e,n.filter(o=>o!=null).join(i.state.lineBreak),!1)};for(let o=0;o{/[\x00-\x08\x0e-\x1f]{2}/.test(a.result)||(n[o]=a.result),s()},a.readAsText(t[o])}return!0}else{let n=e.dataTransfer.getData("Text");if(n)return wf(i,e,n,!0),!0}return!1};gt.paste=(i,e)=>{if(i.state.readOnly)return!0;i.observer.flush();let t=gu?null:e.clipboardData;return t?(Qu(i,t.getData("text/plain")||t.getData("text/uri-list")),!0):(oQ(i),!1)};function hQ(i,e){let t=i.dom.parentNode;if(!t)return;let n=t.appendChild(document.createElement("textarea"));n.style.cssText="position: fixed; left: -10000px; top: 10px",n.value=e,n.focus(),n.selectionEnd=e.length,n.selectionStart=0,setTimeout(()=>{n.remove(),i.focus()},50)}function fQ(i){let e=[],t=[],n=!1;for(let r of i.selection.ranges)r.empty||(e.push(i.sliceDoc(r.from,r.to)),t.push(r));if(!e.length){let r=-1;for(let{from:s}of i.selection.ranges){let o=i.doc.lineAt(s);o.number>r&&(e.push(o.text),t.push({from:o.from,to:Math.min(i.doc.length,o.to+1)})),r=o.number}n=!0}return{text:Ss(i,Da,e.join(i.lineBreak)),ranges:t,linewise:n}}var Pa=null;gt.copy=gt.cut=(i,e)=>{if(!Bn(i.contentDOM,i.observer.selectionRange))return!1;let{text:t,ranges:n,linewise:r}=fQ(i.state);if(!t&&!r)return!1;Pa=r?t:null,e.type=="cut"&&!i.state.readOnly&&i.dispatch({changes:n,scrollIntoView:!0,userEvent:"delete.cut"});let s=gu?null:e.clipboardData;return s?(s.clearData(),s.setData("text/plain",t),!0):(hQ(i,t),!1)};var Su=_e.define();function yu(i,e){let t=[];for(let n of i.facet(eu)){let r=n(i,e);r&&t.push(r)}return t.length?i.update({effects:t,annotations:Su.of(!0)}):null}function ku(i){setTimeout(()=>{let e=i.hasFocus;if(e!=i.inputState.notifiedFocused){let t=yu(i.state,e);t?i.dispatch(t):i.update([])}},10)}Le.focus=i=>{i.inputState.lastFocusTime=Date.now(),!i.scrollDOM.scrollTop&&(i.inputState.lastScrollTop||i.inputState.lastScrollLeft)&&(i.scrollDOM.scrollTop=i.inputState.lastScrollTop,i.scrollDOM.scrollLeft=i.inputState.lastScrollLeft),ku(i)};Le.blur=i=>{i.observer.clearSelectionRange(),ku(i)};Le.compositionstart=Le.compositionupdate=i=>{i.observer.editContext||(i.inputState.compositionFirstChange==null&&(i.inputState.compositionFirstChange=!0),i.inputState.composing<0&&(i.inputState.composing=0))};Le.compositionend=i=>{i.observer.editContext||(i.inputState.composing=-1,i.inputState.compositionEndedAt=Date.now(),i.inputState.compositionPendingKey=!0,i.inputState.compositionPendingChange=i.observer.pendingRecords().length>0,i.inputState.compositionFirstChange=null,L.chrome&&L.android?i.observer.flushSoon():i.inputState.compositionPendingChange?Promise.resolve().then(()=>i.observer.flush()):setTimeout(()=>{i.inputState.composing<0&&i.docView.hasComposition&&i.update([])},50))};Le.contextmenu=i=>{i.inputState.lastContextMenu=Date.now()};gt.beforeinput=(i,e)=>{var t,n;if((e.inputType=="insertText"||e.inputType=="insertCompositionText")&&(i.inputState.insertingText=e.data,i.inputState.insertingTextAt=Date.now()),e.inputType=="insertReplacementText"&&i.observer.editContext){let s=(t=e.dataTransfer)===null||t===void 0?void 0:t.getData("text/plain"),o=e.getTargetRanges();if(s&&o.length){let a=o[0],l=i.posAtDOM(a.startContainer,a.startOffset),c=i.posAtDOM(a.endContainer,a.endOffset);return Ba(i,{from:l,to:c,insert:i.state.toText(s)},null),!0}}let r;if(L.chrome&&L.android&&(r=pu.find(s=>s.inputType==e.inputType))&&(i.observer.delayAndroidKey(r.key,r.keyCode),r.key=="Backspace"||r.key=="Delete")){let s=((n=window.visualViewport)===null||n===void 0?void 0:n.height)||0;setTimeout(()=>{var o;(((o=window.visualViewport)===null||o===void 0?void 0:o.height)||0)>s+10&&i.hasFocus&&(i.contentDOM.blur(),i.focus())},100)}return L.ios&&e.inputType=="deleteContentForward"&&i.observer.flushSoon(),L.safari&&e.inputType=="insertText"&&i.inputState.composing>=0&&setTimeout(()=>Le.compositionend(i,e),20),!1};var Pf=new Set;function uQ(i){Pf.has(i)||(Pf.add(i),i.addEventListener("copy",()=>{}),i.addEventListener("cut",()=>{}))}var vf=["pre-wrap","normal","pre-line","break-spaces"],mn=!1;function $f(){mn=!1}var va=class{constructor(e){this.lineWrapping=e,this.doc=H.empty,this.heightSamples={},this.lineHeight=14,this.charWidth=7,this.textHeight=14,this.lineLength=30}heightForGap(e,t){let n=this.doc.lineAt(t).number-this.doc.lineAt(e).number+1;return this.lineWrapping&&(n+=Math.max(0,Math.ceil((t-e-n*this.lineLength*.5)/this.lineLength))),this.lineHeight*n}heightForLine(e){return this.lineWrapping?(1+Math.max(0,Math.ceil((e-this.lineLength)/Math.max(1,this.lineLength-5))))*this.lineHeight:this.lineHeight}setDoc(e){return this.doc=e,this}mustRefreshForWrapping(e){return vf.indexOf(e)>-1!=this.lineWrapping}mustRefreshForHeights(e){let t=!1;for(let n=0;n-1,l=Math.abs(t-this.lineHeight)>.3||this.lineWrapping!=a;if(this.lineWrapping=a,this.lineHeight=t,this.charWidth=n,this.textHeight=r,this.lineLength=s,l){this.heightSamples={};for(let c=0;c0}set outdated(e){this.flags=(e?2:0)|this.flags&-3}setHeight(e){this.height!=e&&(Math.abs(this.height-e)>ss&&(mn=!0),this.height=e)}replace(e,t,n){return i.of(n)}decomposeLeft(e,t){t.push(this)}decomposeRight(e,t){t.push(this)}applyChanges(e,t,n,r){let s=this,o=n.doc;for(let a=r.length-1;a>=0;a--){let{fromA:l,toA:c,fromB:h,toB:f}=r[a],u=s.lineAt(l,ae.ByPosNoHeight,n.setDoc(t),0,0),O=u.to>=c?u:s.lineAt(c,ae.ByPosNoHeight,n,0,0);for(f+=O.to-c,c=O.to;a>0&&u.from<=r[a-1].toA;)l=r[a-1].fromA,h=r[a-1].fromB,a--,ls*2){let a=e[t-1];a.break?e.splice(--t,1,a.left,null,a.right):e.splice(--t,1,a.left,a.right),n+=1+a.break,r-=a.size}else if(s>r*2){let a=e[n];a.break?e.splice(n,1,a.left,null,a.right):e.splice(n,1,a.left,a.right),n+=2+a.break,s-=a.size}else break;else if(r=s&&o(this.lineAt(0,ae.ByPos,n,r,s))}setMeasuredHeight(e){let t=e.heights[e.index++];t<0?(this.spaceAbove=-t,t=e.heights[e.index++]):this.spaceAbove=0,this.setHeight(t)}updateHeight(e,t=0,n=!1,r){return r&&r.from<=t&&r.more&&this.setMeasuredHeight(r),this.outdated=!1,this}toString(){return`block(${this.length})`}},nt=class i extends ps{constructor(e,t,n){super(e,t,null),this.collapsed=0,this.widgetHeight=0,this.breaks=0,this.spaceAbove=n}mainBlock(e,t){return new pt(t,this.length,e+this.spaceAbove,this.height-this.spaceAbove,this.breaks)}replace(e,t,n){let r=n[0];return n.length==1&&(r instanceof i||r instanceof ni&&r.flags&4)&&Math.abs(this.length-r.length)<10?(r instanceof ni?r=new i(r.length,this.height,this.spaceAbove):r.height=this.height,this.outdated||(r.outdated=!1),r):Ne.of(n)}updateHeight(e,t=0,n=!1,r){return r&&r.from<=t&&r.more?this.setMeasuredHeight(r):(n||this.outdated)&&(this.spaceAbove=0,this.setHeight(Math.max(this.widgetHeight,e.heightForLine(this.length-this.collapsed))+this.breaks*e.lineHeight)),this.outdated=!1,this}toString(){return`line(${this.length}${this.collapsed?-this.collapsed:""}${this.widgetHeight?":"+this.widgetHeight:""})`}},ni=class i extends Ne{constructor(e){super(e,0)}heightMetrics(e,t){let n=e.doc.lineAt(t).number,r=e.doc.lineAt(t+this.length).number,s=r-n+1,o,a=0;if(e.lineWrapping){let l=Math.min(this.height,e.lineHeight*s);o=l/s,this.length>s+1&&(a=(this.height-l)/(this.length-s-1))}else o=this.height/s;return{firstLine:n,lastLine:r,perLine:o,perChar:a}}blockAt(e,t,n,r){let{firstLine:s,lastLine:o,perLine:a,perChar:l}=this.heightMetrics(t,r);if(t.lineWrapping){let c=r+(e0){let s=n[n.length-1];s instanceof i?n[n.length-1]=new i(s.length+r):n.push(null,new i(r-1))}if(e>0){let s=n[0];s instanceof i?n[0]=new i(e+s.length):n.unshift(new i(e-1),null)}return Ne.of(n)}decomposeLeft(e,t){t.push(new i(e-1),null)}decomposeRight(e,t){t.push(null,new i(this.length-e-1))}updateHeight(e,t=0,n=!1,r){let s=t+this.length;if(r&&r.from<=t+this.length&&r.more){let o=[],a=Math.max(t,r.from),l=-1;for(r.from>t&&o.push(new i(r.from-t-1).updateHeight(e,t));a<=s&&r.more;){let h=e.doc.lineAt(a).length;o.length&&o.push(null);let f=r.heights[r.index++],u=0;f<0&&(u=-f,f=r.heights[r.index++]),l==-1?l=f:Math.abs(f-l)>=ss&&(l=-2);let O=new nt(h,f,u);O.outdated=!1,o.push(O),a+=h+1}a<=s&&o.push(null,new i(s-a).updateHeight(e,a));let c=Ne.of(o);return(l<0||Math.abs(c.height-this.height)>=ss||Math.abs(l-this.heightMetrics(e,t).perLine)>=ss)&&(mn=!0),ds(this,c)}else(n||this.outdated)&&(this.setHeight(e.heightForGap(t,t+this.length)),this.outdated=!1);return this}toString(){return`gap(${this.length})`}},Ta=class extends Ne{constructor(e,t,n){super(e.length+t+n.length,e.height+n.height,t|(e.outdated||n.outdated?2:0)),this.left=e,this.right=n,this.size=e.size+n.size}get break(){return this.flags&1}blockAt(e,t,n,r){let s=n+this.left.height;return ea))return c;let h=t==ae.ByPosNoHeight?ae.ByPosNoHeight:ae.ByPos;return l?c.join(this.right.lineAt(a,h,n,o,a)):this.left.lineAt(a,h,n,r,s).join(c)}forEachLine(e,t,n,r,s,o){let a=r+this.left.height,l=s+this.left.length+this.break;if(this.break)e=l&&this.right.forEachLine(e,t,n,a,l,o);else{let c=this.lineAt(l,ae.ByPos,n,r,s);e=e&&c.from<=t&&o(c),t>c.to&&this.right.forEachLine(c.to+1,t,n,a,l,o)}}replace(e,t,n){let r=this.left.length+this.break;if(tthis.left.length)return this.balanced(this.left,this.right.replace(e-r,t-r,n));let s=[];e>0&&this.decomposeLeft(e,s);let o=s.length;for(let a of n)s.push(a);if(e>0&&Tf(s,o-1),t=n&&t.push(null)),e>n&&this.right.decomposeLeft(e-n,t)}decomposeRight(e,t){let n=this.left.length,r=n+this.break;if(e>=r)return this.right.decomposeRight(e-r,t);e2*t.size||t.size>2*e.size?Ne.of(this.break?[e,null,t]:[e,t]):(this.left=ds(this.left,e),this.right=ds(this.right,t),this.setHeight(e.height+t.height),this.outdated=e.outdated||t.outdated,this.size=e.size+t.size,this.length=e.length+this.break+t.length,this)}updateHeight(e,t=0,n=!1,r){let{left:s,right:o}=this,a=t+s.length+this.break,l=null;return r&&r.from<=t+s.length&&r.more?l=s=s.updateHeight(e,t,n,r):s.updateHeight(e,t,n),r&&r.from<=a+o.length&&r.more?l=o=o.updateHeight(e,a,n,r):o.updateHeight(e,a,n),l?this.balanced(s,o):(this.height=this.left.height+this.right.height,this.outdated=!1,this)}toString(){return this.left+(this.break?" ":"-")+this.right}};function Tf(i,e){let t,n;i[e]==null&&(t=i[e-1])instanceof ni&&(n=i[e+1])instanceof ni&&i.splice(e-1,3,new ni(t.length+1+n.length))}var dQ=5,Ca=class i{constructor(e,t){this.pos=e,this.oracle=t,this.nodes=[],this.lineStart=-1,this.lineEnd=-1,this.covering=null,this.writtenTo=e}get isCovered(){return this.covering&&this.nodes[this.nodes.length-1]==this.covering}span(e,t){if(this.lineStart>-1){let n=Math.min(t,this.lineEnd),r=this.nodes[this.nodes.length-1];r instanceof nt?r.length+=n-this.pos:(n>this.pos||!this.isCovered)&&this.nodes.push(new nt(n-this.pos,-1,0)),this.writtenTo=n,t>n&&(this.nodes.push(null),this.writtenTo++,this.lineStart=-1)}this.pos=t}point(e,t,n){if(e=dQ)&&this.addLineDeco(r,s,o)}else t>e&&this.span(e,t);this.lineEnd>-1&&this.lineEnd-1)return;let{from:e,to:t}=this.oracle.doc.lineAt(this.pos);this.lineStart=e,this.lineEnd=t,this.writtenToe&&this.nodes.push(new nt(this.pos-e,-1,0)),this.writtenTo=this.pos}blankContent(e,t){let n=new ni(t-e);return this.oracle.doc.lineAt(e).to==t&&(n.flags|=4),n}ensureLine(){this.enterLine();let e=this.nodes.length?this.nodes[this.nodes.length-1]:null;if(e instanceof nt)return e;let t=new nt(0,-1,0);return this.nodes.push(t),t}addBlock(e){this.enterLine();let t=e.deco;t&&t.startSide>0&&!this.isCovered&&this.ensureLine(),this.nodes.push(e),this.writtenTo=this.pos=this.pos+e.length,t&&t.endSide>0&&(this.covering=e)}addLineDeco(e,t,n){let r=this.ensureLine();r.length+=n,r.collapsed+=n,r.widgetHeight=Math.max(r.widgetHeight,e),r.breaks+=t,this.writtenTo=this.pos=this.pos+n}finish(e){let t=this.nodes.length==0?null:this.nodes[this.nodes.length-1];this.lineStart>-1&&!(t instanceof nt)&&!this.isCovered?this.nodes.push(new nt(0,-1,0)):(this.writtenToh.clientHeight||h.scrollWidth>h.clientWidth)&&f.overflow!="visible"){let u=h.getBoundingClientRect();s=Math.max(s,u.left),o=Math.min(o,u.right),a=Math.max(a,u.top),l=Math.min(c==i.parentNode?r.innerHeight:l,u.bottom)}c=f.position=="absolute"||f.position=="fixed"?h.offsetParent:h.parentNode}else if(c.nodeType==11)c=c.host;else break;return{left:s-t.left,right:Math.max(s,o)-t.left,top:a-(t.top+e),bottom:Math.max(a,l)-(t.top+e)}}function gQ(i){let e=i.getBoundingClientRect(),t=i.ownerDocument.defaultView||window;return e.left0&&e.top0}function QQ(i,e){let t=i.getBoundingClientRect();return{left:0,right:t.right-t.left,top:e,bottom:t.bottom-(t.top+e)}}var Kn=class{constructor(e,t,n,r){this.from=e,this.to=t,this.size=n,this.displaySize=r}static same(e,t){if(e.length!=t.length)return!1;for(let n=0;ntypeof r!="function"&&r.class=="cm-lineWrapping");this.heightOracle=new va(n),this.stateDeco=Xf(t),this.heightMap=Ne.empty().applyChanges(this.stateDeco,H.empty,this.heightOracle.setDoc(t.doc),[new mt(0,0,0,t.doc.length)]);for(let r=0;r<2&&(this.viewport=this.getViewport(0,null),!!this.updateForViewport());r++);this.updateViewportLines(),this.lineGaps=this.ensureLineGaps([]),this.lineGapDeco=Z.set(this.lineGaps.map(r=>r.draw(this,!1))),this.scrollParent=e.scrollDOM,this.computeVisibleRanges()}updateForViewport(){let e=[this.viewport],{main:t}=this.state.selection;for(let n=0;n<=1;n++){let r=n?t.head:t.anchor;if(!e.some(({from:s,to:o})=>r>=s&&r<=o)){let{from:s,to:o}=this.lineBlockAt(r);e.push(new cn(s,o))}}return this.viewports=e.sort((n,r)=>n.from-r.from),this.updateScaler()}updateScaler(){let e=this.scaler;return this.scaler=this.heightMap.height<=7e6?Cf:new Ra(this.heightOracle,this.heightMap,this.viewports),e.eq(this.scaler)?0:2}updateViewportLines(){this.viewportLines=[],this.heightMap.forEachLine(this.viewport.from,this.viewport.to,this.heightOracle.setDoc(this.state.doc),0,0,e=>{this.viewportLines.push(Yn(e,this.scaler))})}update(e,t=null){this.state=e.state;let n=this.stateDeco;this.stateDeco=Xf(this.state);let r=e.changedRanges,s=mt.extendWithRanges(r,pQ(n,this.stateDeco,e?e.changes:Ee.empty(this.state.doc.length))),o=this.heightMap.height,a=this.scrolledToBottom?null:this.scrollAnchorAt(this.scrollOffset);$f(),this.heightMap=this.heightMap.applyChanges(this.stateDeco,e.startState.doc,this.heightOracle.setDoc(this.state.doc),s),(this.heightMap.height!=o||mn)&&(e.flags|=2),a?(this.scrollAnchorPos=e.changes.mapPos(a.from,-1),this.scrollAnchorHeight=a.top):(this.scrollAnchorPos=-1,this.scrollAnchorHeight=o);let l=s.length?this.mapViewport(this.viewport,e.changes):this.viewport;(t&&(t.range.headl.to)||!this.viewportIsAppropriate(l))&&(l=this.getViewport(0,t));let c=l.from!=this.viewport.from||l.to!=this.viewport.to;this.viewport=l,e.flags|=this.updateForViewport(),(c||!e.changes.empty||e.flags&2)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(this.mapLineGaps(this.lineGaps,e.changes))),e.flags|=this.computeVisibleRanges(e.changes),t&&(this.scrollTarget=t),!this.mustEnforceCursorAssoc&&(e.selectionSet||e.focusChanged)&&e.view.lineWrapping&&e.state.selection.main.empty&&e.state.selection.main.assoc&&!e.state.facet(P0)&&(this.mustEnforceCursorAssoc=!0)}measure(){let{view:e}=this,t=e.contentDOM,n=window.getComputedStyle(t),r=this.heightOracle,s=n.whiteSpace;this.defaultTextDirection=n.direction=="rtl"?ue.RTL:ue.LTR;let o=this.heightOracle.mustRefreshForWrapping(s)||this.mustMeasureContent==="refresh",a=t.getBoundingClientRect(),l=o||this.mustMeasureContent||this.contentDOMHeight!=a.height;this.contentDOMHeight=a.height,this.mustMeasureContent=!1;let c=0,h=0;if(a.width&&a.height){let{scaleX:P,scaleY:$}=Lf(t,a);(P>.005&&Math.abs(this.scaleX-P)>.005||$>.005&&Math.abs(this.scaleY-$)>.005)&&(this.scaleX=P,this.scaleY=$,c|=16,o=l=!0)}let f=(parseInt(n.paddingTop)||0)*this.scaleY,u=(parseInt(n.paddingBottom)||0)*this.scaleY;(this.paddingTop!=f||this.paddingBottom!=u)&&(this.paddingTop=f,this.paddingBottom=u,c|=18),this.editorWidth!=e.scrollDOM.clientWidth&&(r.lineWrapping&&(l=!0),this.editorWidth=e.scrollDOM.clientWidth,c|=16);let O=Mf(this.view.contentDOM,!1).y;O!=this.scrollParent&&(this.scrollParent=O,this.scrollAnchorHeight=-1,this.scrollOffset=0);let p=this.getScrollOffset();this.scrollOffset!=p&&(this.scrollAnchorHeight=-1,this.scrollOffset=p),this.scrolledToBottom=jf(this.scrollParent||e.win);let m=(this.printing?QQ:mQ)(t,this.paddingTop),b=m.top-this.pixelViewport.top,g=m.bottom-this.pixelViewport.bottom;this.pixelViewport=m;let Q=this.pixelViewport.bottom>this.pixelViewport.top&&this.pixelViewport.right>this.pixelViewport.left;if(Q!=this.inView&&(this.inView=Q,Q&&(l=!0)),!this.inView&&!this.scrollTarget&&!gQ(e.dom))return 0;let S=a.width;if((this.contentDOMWidth!=S||this.editorHeight!=e.scrollDOM.clientHeight)&&(this.contentDOMWidth=a.width,this.editorHeight=e.scrollDOM.clientHeight,c|=16),l){let P=e.docView.measureVisibleLineHeights(this.viewport);if(r.mustRefreshForHeights(P)&&(o=!0),o||r.lineWrapping&&Math.abs(S-this.contentDOMWidth)>r.charWidth){let{lineHeight:$,charWidth:R,textHeight:_}=e.docView.measureTextSize();o=$>0&&r.refresh(s,$,R,_,Math.max(5,S/R),P),o&&(e.docView.minWidth=0,c|=16)}b>0&&g>0?h=Math.max(b,g):b<0&&g<0&&(h=Math.min(b,g)),$f();for(let $ of this.viewports){let R=$.from==this.viewport.from?P:e.docView.measureVisibleLineHeights($);this.heightMap=(o?Ne.empty().applyChanges(this.stateDeco,H.empty,this.heightOracle,[new mt(0,0,0,e.state.doc.length)]):this.heightMap).updateHeight(r,0,o,new $a($.from,R))}mn&&(c|=2)}let k=!this.viewportIsAppropriate(this.viewport,h)||this.scrollTarget&&(this.scrollTarget.range.headthis.viewport.to);return k&&(c&2&&(c|=this.updateScaler()),this.viewport=this.getViewport(h,this.scrollTarget),c|=this.updateForViewport()),(c&2||k)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(o?[]:this.lineGaps,e)),c|=this.computeVisibleRanges(),this.mustEnforceCursorAssoc&&(this.mustEnforceCursorAssoc=!1,e.docView.enforceCursorAssoc()),c}get visibleTop(){return this.scaler.fromDOM(this.pixelViewport.top)}get visibleBottom(){return this.scaler.fromDOM(this.pixelViewport.bottom)}getViewport(e,t){let n=.5-Math.max(-.5,Math.min(.5,e/1e3/2)),r=this.heightMap,s=this.heightOracle,{visibleTop:o,visibleBottom:a}=this,l=new cn(r.lineAt(o-n*1e3,ae.ByHeight,s,0,0).from,r.lineAt(a+(1-n)*1e3,ae.ByHeight,s,0,0).to);if(t){let{head:c}=t.range;if(cl.to){let h=Math.min(this.editorHeight,this.pixelViewport.bottom-this.pixelViewport.top),f=r.lineAt(c,ae.ByPos,s,0,0),u;t.y=="center"?u=(f.top+f.bottom)/2-h/2:t.y=="start"||t.y=="nearest"&&c=a+Math.max(10,Math.min(n,250)))&&r>o-2*1e3&&s>1,o=r<<1;if(this.defaultTextDirection!=ue.LTR&&!n)return[];let a=[],l=(h,f,u,O)=>{if(f-hh&&gg.from>=u.from&&g.to<=u.to&&Math.abs(g.from-h)g.fromQ));if(!b){if(fS.from<=f&&S.to>=f)){let S=t.moveToLineBoundary(v.cursor(f),!1,!0).head;S>h&&(f=S)}let g=this.gapSize(u,h,f,O),Q=n||g<2e6?g:2e6;b=new Kn(h,f,g,Q)}a.push(b)},c=h=>{if(h.length2e6)for(let $ of e)$.from>=h.from&&$.fromh.from&&l(h.from,O,h,f),pt.draw(this,this.heightOracle.lineWrapping))))}computeVisibleRanges(e){let t=this.stateDeco;this.lineGaps.length&&(t=t.concat(this.lineGapDeco));let n=[];oe.spans(t,this.viewport.from,this.viewport.to,{span(s,o){n.push({from:s,to:o})},point(){}},20);let r=0;if(n.length!=this.visibleRanges.length)r=12;else for(let s=0;s=this.viewport.from&&e<=this.viewport.to&&this.viewportLines.find(t=>t.from<=e&&t.to>=e)||Yn(this.heightMap.lineAt(e,ae.ByPos,this.heightOracle,0,0),this.scaler)}lineBlockAtHeight(e){return e>=this.viewportLines[0].top&&e<=this.viewportLines[this.viewportLines.length-1].bottom&&this.viewportLines.find(t=>t.top<=e&&t.bottom>=e)||Yn(this.heightMap.lineAt(this.scaler.fromDOM(e),ae.ByHeight,this.heightOracle,0,0),this.scaler)}getScrollOffset(){return(this.scrollParent==this.view.scrollDOM?this.scrollParent.scrollTop:(this.scrollParent?this.scrollParent.getBoundingClientRect().top:0)-this.view.contentDOM.getBoundingClientRect().top)*this.scaleY}scrollAnchorAt(e){let t=this.lineBlockAtHeight(e+8);return t.from>=this.viewport.from||this.viewportLines[0].top-e>200?t:this.viewportLines[0]}elementAtHeight(e){return Yn(this.heightMap.blockAt(this.scaler.fromDOM(e),this.heightOracle,0,0),this.scaler)}get docHeight(){return this.scaler.toDOM(this.heightMap.height)}get contentHeight(){return this.docHeight+this.paddingTop+this.paddingBottom}},cn=class{constructor(e,t){this.from=e,this.to=t}};function bQ(i,e,t){let n=[],r=i,s=0;return oe.spans(t,i,e,{span(){},point(o,a){o>r&&(n.push({from:r,to:o}),s+=o-r),r=a}},20),r=1)return e[e.length-1].to;let n=Math.floor(i*t);for(let r=0;;r++){let{from:s,to:o}=e[r],a=o-s;if(n<=a)return s+n;n-=a}}function ts(i,e){let t=0;for(let{from:n,to:r}of i.ranges){if(e<=r){t+=e-n;break}t+=r-n}return t/i.total}function SQ(i,e){for(let t of i)if(e(t))return t}var Cf={toDOM(i){return i},fromDOM(i){return i},scale:1,eq(i){return i==this}};function Xf(i){let e=i.facet(bs).filter(n=>typeof n!="function"),t=i.facet(Ia).filter(n=>typeof n!="function");return t.length&&e.push(oe.join(t)),e}var Ra=class i{constructor(e,t,n){let r=0,s=0,o=0;this.viewports=n.map(({from:a,to:l})=>{let c=t.lineAt(a,ae.ByPos,e,0,0).top,h=t.lineAt(l,ae.ByPos,e,0,0).bottom;return r+=h-c,{from:a,to:l,top:c,bottom:h,domTop:0,domBottom:0}}),this.scale=(7e6-r)/(t.height-r);for(let a of this.viewports)a.domTop=o+(a.top-s)*this.scale,o=a.domBottom=a.domTop+(a.bottom-a.top),s=a.bottom}toDOM(e){for(let t=0,n=0,r=0;;t++){let s=tt.from==e.viewports[n].from&&t.to==e.viewports[n].to):!1}};function Yn(i,e){if(e.scale==1)return i;let t=e.toDOM(i.top),n=e.toDOM(i.bottom);return new pt(i.from,i.length,t,n-t,Array.isArray(i._content)?i._content.map(r=>Yn(r,e)):i._content)}var is=Y.define({combine:i=>i.join(" ")}),Aa=Y.define({combine:i=>i.indexOf(!0)>-1}),Za=it.newName(),xu=it.newName(),wu=it.newName(),Pu={"&light":"."+xu,"&dark":"."+wu};function qa(i,e,t){return new it(e,{finish(n){return/&/.test(n)?n.replace(/&\w*/,r=>{if(r=="&")return i;if(!t||!t[r])throw new RangeError(`Unsupported selector: ${r}`);return t[r]}):i+" "+n}})}var yQ=qa("."+Za,{"&":{position:"relative !important",boxSizing:"border-box","&.cm-focused":{outline:"1px dotted #212121"},display:"flex !important",flexDirection:"column"},".cm-scroller":{display:"flex !important",alignItems:"flex-start !important",fontFamily:"monospace",lineHeight:1.4,height:"100%",overflowX:"auto",position:"relative",zIndex:0,overflowAnchor:"none"},".cm-content":{margin:0,flexGrow:2,flexShrink:0,display:"block",whiteSpace:"pre",wordWrap:"normal",boxSizing:"border-box",minHeight:"100%",padding:"4px 0",outline:"none","&[contenteditable=true]":{WebkitUserModify:"read-write-plaintext-only"}},".cm-lineWrapping":{whiteSpace_fallback:"pre-wrap",whiteSpace:"break-spaces",wordBreak:"break-word",overflowWrap:"anywhere",flexShrink:1},"&light .cm-content":{caretColor:"black"},"&dark .cm-content":{caretColor:"white"},".cm-line":{display:"block",padding:"0 2px 0 6px"},".cm-layer":{userSelect:"none",position:"absolute",left:0,top:0,contain:"size style","& > *":{position:"absolute"}},"&light .cm-selectionBackground":{background:"#d9d9d9"},"&dark .cm-selectionBackground":{background:"#222"},"&light.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#d7d4f0"},"&dark.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#233"},".cm-cursorLayer":{pointerEvents:"none"},"&.cm-focused > .cm-scroller > .cm-cursorLayer":{animation:"steps(1) cm-blink 1.2s infinite"},"@keyframes cm-blink":{"0%":{},"50%":{opacity:0},"100%":{}},"@keyframes cm-blink2":{"0%":{},"50%":{opacity:0},"100%":{}},".cm-cursor, .cm-dropCursor":{borderLeft:"1.2px solid black",marginLeft:"-0.6px",pointerEvents:"none"},".cm-cursor":{display:"none"},"&dark .cm-cursor":{borderLeftColor:"#ddd"},".cm-selectionHandle":{backgroundColor:"currentColor",width:"1.5px"},".cm-selectionHandle-start::before, .cm-selectionHandle-end::before":{content:'""',backgroundColor:"inherit",borderRadius:"50%",width:"8px",height:"8px",position:"absolute",left:"-3.25px"},".cm-selectionHandle-start::before":{top:"-8px"},".cm-selectionHandle-end::before":{bottom:"-8px"},".cm-dropCursor":{position:"absolute"},"&.cm-focused > .cm-scroller > .cm-cursorLayer .cm-cursor":{display:"block"},".cm-iso":{unicodeBidi:"isolate"},".cm-announced":{position:"fixed",top:"-10000px"},"@media print":{".cm-announced":{display:"none"}},"&light .cm-activeLine":{backgroundColor:"#cceeff44"},"&dark .cm-activeLine":{backgroundColor:"#99eeff33"},"&light .cm-specialChar":{color:"red"},"&dark .cm-specialChar":{color:"#f78"},".cm-gutters":{flexShrink:0,display:"flex",height:"100%",boxSizing:"border-box",zIndex:200},".cm-gutters-before":{insetInlineStart:0},".cm-gutters-after":{insetInlineEnd:0},"&light .cm-gutters":{backgroundColor:"#f5f5f5",color:"#6c6c6c",border:"0px solid #ddd","&.cm-gutters-before":{borderRightWidth:"1px"},"&.cm-gutters-after":{borderLeftWidth:"1px"}},"&dark .cm-gutters":{backgroundColor:"#333338",color:"#ccc"},".cm-gutter":{display:"flex !important",flexDirection:"column",flexShrink:0,boxSizing:"border-box",minHeight:"100%",overflow:"hidden"},".cm-gutterElement":{boxSizing:"border-box"},".cm-lineNumbers .cm-gutterElement":{padding:"0 3px 0 5px",minWidth:"20px",textAlign:"right",whiteSpace:"nowrap"},"&light .cm-activeLineGutter":{backgroundColor:"#e2f2ff"},"&dark .cm-activeLineGutter":{backgroundColor:"#222227"},".cm-panels":{boxSizing:"border-box",position:"sticky",left:0,right:0,zIndex:300},"&light .cm-panels":{backgroundColor:"#f5f5f5",color:"black"},"&light .cm-panels-top":{borderBottom:"1px solid #ddd"},"&light .cm-panels-bottom":{borderTop:"1px solid #ddd"},"&dark .cm-panels":{backgroundColor:"#333338",color:"white"},".cm-dialog":{padding:"2px 19px 4px 6px",position:"relative","& label":{fontSize:"80%"}},".cm-dialog-close":{position:"absolute",top:"3px",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",fontSize:"14px",padding:"0"},".cm-tab":{display:"inline-block",overflow:"hidden",verticalAlign:"bottom"},".cm-widgetBuffer":{verticalAlign:"text-top",height:"1em",width:0,display:"inline"},".cm-placeholder":{color:"#888",display:"inline-block",verticalAlign:"top",userSelect:"none"},".cm-highlightSpace":{backgroundImage:"radial-gradient(circle at 50% 55%, #aaa 20%, transparent 5%)",backgroundPosition:"center"},".cm-highlightTab":{backgroundImage:`url('data:image/svg+xml,')`,backgroundSize:"auto 100%",backgroundPosition:"right 90%",backgroundRepeat:"no-repeat"},".cm-trailingSpace":{backgroundColor:"#ff332255"},".cm-button":{verticalAlign:"middle",color:"inherit",fontSize:"70%",padding:".2em 1em",borderRadius:"1px"},"&light .cm-button":{backgroundImage:"linear-gradient(#eff1f5, #d9d9df)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#b4b4b4, #d0d3d6)"}},"&dark .cm-button":{backgroundImage:"linear-gradient(#393939, #111)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#111, #333)"}},".cm-textfield":{verticalAlign:"middle",color:"inherit",fontSize:"70%",border:"1px solid silver",padding:".2em .5em"},"&light .cm-textfield":{backgroundColor:"white"},"&dark .cm-textfield":{border:"1px solid #555",backgroundColor:"inherit"}},Pu),kQ={childList:!0,characterData:!0,subtree:!0,attributes:!0,characterDataOldValue:!0},ea=L.ie&&L.ie_version<=11,Ea=class{constructor(e){this.view=e,this.active=!1,this.editContext=null,this.selectionRange=new oa,this.selectionChanged=!1,this.delayedFlush=-1,this.resizeTimeout=-1,this.queue=[],this.delayedAndroidKey=null,this.flushingAndroidKey=-1,this.lastChange=0,this.scrollTargets=[],this.intersection=null,this.resizeScroll=null,this.intersecting=!1,this.gapIntersection=null,this.gaps=[],this.printQuery=null,this.parentCheck=-1,this.dom=e.contentDOM,this.observer=new MutationObserver(t=>{for(let n of t)this.queue.push(n);(L.ie&&L.ie_version<=11||L.ios&&e.composing)&&t.some(n=>n.type=="childList"&&n.removedNodes.length||n.type=="characterData"&&n.oldValue.length>n.target.nodeValue.length)?this.flushSoon():this.flush()}),window.EditContext&&L.android&&e.constructor.EDIT_CONTEXT!==!1&&!(L.chrome&&L.chrome_version<126)&&(this.editContext=new za(e),e.state.facet(qt)&&(e.contentDOM.editContext=this.editContext.editContext)),ea&&(this.onCharData=t=>{this.queue.push({target:t.target,type:"characterData",oldValue:t.prevValue}),this.flushSoon()}),this.onSelectionChange=this.onSelectionChange.bind(this),this.onResize=this.onResize.bind(this),this.onPrint=this.onPrint.bind(this),this.onScroll=this.onScroll.bind(this),window.matchMedia&&(this.printQuery=window.matchMedia("print")),typeof ResizeObserver=="function"&&(this.resizeScroll=new ResizeObserver(()=>{var t;((t=this.view.docView)===null||t===void 0?void 0:t.lastUpdate){this.parentCheck<0&&(this.parentCheck=setTimeout(this.listenForScroll.bind(this),1e3)),t.length>0&&t[t.length-1].intersectionRatio>0!=this.intersecting&&(this.intersecting=!this.intersecting,this.intersecting!=this.view.inView&&this.onScrollChanged(document.createEvent("Event")))},{threshold:[0,.001]}),this.intersection.observe(this.dom),this.gapIntersection=new IntersectionObserver(t=>{t.length>0&&t[t.length-1].intersectionRatio>0&&this.onScrollChanged(document.createEvent("Event"))},{})),this.listenForScroll(),this.readSelectionRange()}onScrollChanged(e){this.view.inputState.runHandlers("scroll",e),this.intersecting&&this.view.measure()}onScroll(e){this.intersecting&&this.flush(!1),this.editContext&&this.view.requestMeasure(this.editContext.measureReq),this.onScrollChanged(e)}onResize(){this.resizeTimeout<0&&(this.resizeTimeout=setTimeout(()=>{this.resizeTimeout=-1,this.view.requestMeasure()},50))}onPrint(e){(e.type=="change"||!e.type)&&!e.matches||(this.view.viewState.printing=!0,this.view.measure(),setTimeout(()=>{this.view.viewState.printing=!1,this.view.requestMeasure()},500))}updateGaps(e){if(this.gapIntersection&&(e.length!=this.gaps.length||this.gaps.some((t,n)=>t!=e[n]))){this.gapIntersection.disconnect();for(let t of e)this.gapIntersection.observe(t);this.gaps=e}}onSelectionChange(e){let t=this.selectionChanged;if(!this.readSelectionRange()||this.delayedAndroidKey)return;let{view:n}=this,r=this.selectionRange;if(n.state.facet(qt)?n.root.activeElement!=this.dom:!Bn(this.dom,r))return;let s=r.anchorNode&&n.docView.tile.nearest(r.anchorNode);if(s&&s.isWidget()&&s.widget.ignoreEvent(e)){t||(this.selectionChanged=!1);return}(L.ie&&L.ie_version<=11||L.android&&L.chrome)&&!n.state.selection.main.empty&&r.focusNode&&Un(r.focusNode,r.focusOffset,r.anchorNode,r.anchorOffset)?this.flushSoon():this.flush(!1)}readSelectionRange(){let{view:e}=this,t=tr(e.root);if(!t)return!1;let n=L.safari&&e.root.nodeType==11&&e.root.activeElement==this.dom&&xQ(this.view,t)||t;if(!n||this.selectionRange.eq(n))return!1;let r=Bn(this.dom,n);return r&&!this.selectionChanged&&e.inputState.lastFocusTime>Date.now()-200&&e.inputState.lastTouchTime{let s=this.delayedAndroidKey;s&&(this.clearDelayedAndroidKey(),this.view.inputState.lastKeyCode=s.keyCode,this.view.inputState.lastKeyTime=Date.now(),!this.flush()&&s.force&&fn(this.dom,s.key,s.keyCode))};this.flushingAndroidKey=this.view.win.requestAnimationFrame(r)}(!this.delayedAndroidKey||e=="Enter")&&(this.delayedAndroidKey={key:e,keyCode:t,force:this.lastChange{this.delayedFlush=-1,this.flush()}))}forceFlush(){this.delayedFlush>=0&&(this.view.win.cancelAnimationFrame(this.delayedFlush),this.delayedFlush=-1),this.flush()}pendingRecords(){for(let e of this.observer.takeRecords())this.queue.push(e);return this.queue}processRecords(){let e=this.pendingRecords();e.length&&(this.queue=[]);let t=-1,n=-1,r=!1;for(let s of e){let o=this.readMutation(s);o&&(o.typeOver&&(r=!0),t==-1?{from:t,to:n}=o:(t=Math.min(o.from,t),n=Math.max(o.to,n)))}return{from:t,to:n,typeOver:r}}readChange(){let{from:e,to:t,typeOver:n}=this.processRecords(),r=this.selectionChanged&&Bn(this.dom,this.selectionRange);if(e<0&&!r)return null;e>-1&&(this.lastChange=Date.now()),this.view.inputState.lastFocusTime=0,this.selectionChanged=!1;let s=new ka(this.view,e,t,n);return this.view.docView.domChanged={newSel:s.newSel?s.newSel.main:null},s}flush(e=!0){if(this.delayedFlush>=0||this.delayedAndroidKey)return!1;e&&this.readSelectionRange();let t=this.readChange();if(!t)return this.view.requestMeasure(),!1;let n=this.view.state,r=Ou(this.view,t);return this.view.state==n&&(t.domChanged||t.newSel&&!Os(this.view.state.selection,t.newSel.main))&&this.view.update([]),r}readMutation(e){let t=this.view.docView.tile.nearest(e.target);if(!t||t.isWidget())return null;if(t.markDirty(e.type=="attributes"),e.type=="childList"){let n=_f(t,e.previousSibling||e.target.previousSibling,-1),r=_f(t,e.nextSibling||e.target.nextSibling,1);return{from:n?t.posAfter(n):t.posAtStart,to:r?t.posBefore(r):t.posAtEnd,typeOver:!1}}else return e.type=="characterData"?{from:t.posAtStart,to:t.posAtEnd,typeOver:e.target.nodeValue==e.oldValue}:null}setWindow(e){e!=this.win&&(this.removeWindowListeners(this.win),this.win=e,this.addWindowListeners(this.win))}addWindowListeners(e){e.addEventListener("resize",this.onResize),this.printQuery?this.printQuery.addEventListener?this.printQuery.addEventListener("change",this.onPrint):this.printQuery.addListener(this.onPrint):e.addEventListener("beforeprint",this.onPrint),e.addEventListener("scroll",this.onScroll),e.document.addEventListener("selectionchange",this.onSelectionChange)}removeWindowListeners(e){e.removeEventListener("scroll",this.onScroll),e.removeEventListener("resize",this.onResize),this.printQuery?this.printQuery.removeEventListener?this.printQuery.removeEventListener("change",this.onPrint):this.printQuery.removeListener(this.onPrint):e.removeEventListener("beforeprint",this.onPrint),e.document.removeEventListener("selectionchange",this.onSelectionChange)}update(e){this.editContext&&(this.editContext.update(e),e.startState.facet(qt)!=e.state.facet(qt)&&(e.view.contentDOM.editContext=e.state.facet(qt)?this.editContext.editContext:null))}destroy(){var e,t,n;this.stop(),(e=this.intersection)===null||e===void 0||e.disconnect(),(t=this.gapIntersection)===null||t===void 0||t.disconnect(),(n=this.resizeScroll)===null||n===void 0||n.disconnect();for(let r of this.scrollTargets)r.removeEventListener("scroll",this.onScroll);this.removeWindowListeners(this.win),clearTimeout(this.parentCheck),clearTimeout(this.resizeTimeout),this.win.cancelAnimationFrame(this.delayedFlush),this.win.cancelAnimationFrame(this.flushingAndroidKey),this.editContext&&(this.view.contentDOM.editContext=null,this.editContext.destroy())}};function _f(i,e,t){for(;e;){let n=fe.get(e);if(n&&n.parent==i)return n;let r=e.parentNode;e=r!=i.dom?r:t>0?e.nextSibling:e.previousSibling}return null}function Rf(i,e){let t=e.startContainer,n=e.startOffset,r=e.endContainer,s=e.endOffset,o=i.docView.domAtPos(i.state.selection.main.anchor,1);return Un(o.node,o.offset,r,s)&&([t,n,r,s]=[r,s,t,n]),{anchorNode:t,anchorOffset:n,focusNode:r,focusOffset:s}}function xQ(i,e){if(e.getComposedRanges){let r=e.getComposedRanges(i.root)[0];if(r)return Rf(i,r)}let t=null;function n(r){r.preventDefault(),r.stopImmediatePropagation(),t=r.getTargetRanges()[0]}return i.contentDOM.addEventListener("beforeinput",n,!0),i.dom.ownerDocument.execCommand("indent"),i.contentDOM.removeEventListener("beforeinput",n,!0),t?Rf(i,t):null}var za=class{constructor(e){this.from=0,this.to=0,this.pendingContextChange=null,this.handlers=Object.create(null),this.composing=null,this.resetRange(e.state);let t=this.editContext=new window.EditContext({text:e.state.doc.sliceString(this.from,this.to),selectionStart:this.toContextPos(Math.max(this.from,Math.min(this.to,e.state.selection.main.anchor))),selectionEnd:this.toContextPos(e.state.selection.main.head)});this.handlers.textupdate=n=>{let r=e.state.selection.main,{anchor:s,head:o}=r,a=this.toEditorPos(n.updateRangeStart),l=this.toEditorPos(n.updateRangeEnd);e.inputState.composing>=0&&!this.composing&&(this.composing={contextBase:n.updateRangeStart,editorBase:a,drifted:!1});let c=l-a>n.text.length;a==this.from&&sthis.to&&(l=s);let h=du(e.state.sliceDoc(a,l),n.text,(c?r.from:r.to)-a,c?"end":null);if(!h){let u=v.single(this.toEditorPos(n.selectionStart),this.toEditorPos(n.selectionEnd));Os(u,r)||e.dispatch({selection:u,userEvent:"select"});return}let f={from:h.from+a,to:h.toA+a,insert:H.of(n.text.slice(h.from,h.toB).split(` -`))};if((L.mac||L.android)&&f.from==o-1&&/^\. ?$/.test(n.text)&&e.contentDOM.getAttribute("autocorrect")=="off"&&(f={from:a,to:l,insert:H.of([n.text.replace("."," ")])}),this.pendingContextChange=f,!e.state.readOnly){let u=this.to-this.from+(f.to-f.from+f.insert.length);Ba(e,f,v.single(this.toEditorPos(n.selectionStart,u),this.toEditorPos(n.selectionEnd,u)))}this.pendingContextChange&&(this.revertPending(e.state),this.setSelection(e.state)),f.from=0&&!/[\\p{Alphabetic}\\p{Number}_]/.test(t.text.slice(Math.max(0,n.updateRangeStart-1),Math.min(t.text.length,n.updateRangeStart+1)))&&this.handlers.compositionend(n)},this.handlers.characterboundsupdate=n=>{let r=[],s=null;for(let o=this.toEditorPos(n.rangeStart),a=this.toEditorPos(n.rangeEnd);o{let r=[];for(let s of n.getTextFormats()){let o=s.underlineStyle,a=s.underlineThickness;if(!/none/i.test(o)&&!/none/i.test(a)){let l=this.toEditorPos(s.rangeStart),c=this.toEditorPos(s.rangeEnd);if(l{e.inputState.composing<0&&(e.inputState.composing=0,e.inputState.compositionFirstChange=!0)},this.handlers.compositionend=()=>{if(e.inputState.composing=-1,e.inputState.compositionFirstChange=null,this.composing){let{drifted:n}=this.composing;this.composing=null,n&&this.reset(e.state)}};for(let n in this.handlers)t.addEventListener(n,this.handlers[n]);this.measureReq={read:n=>{let r=tr(n.root);r&&r.rangeCount&&this.editContext.updateSelectionBounds(r.getRangeAt(0).getBoundingClientRect())}}}applyEdits(e){let t=0,n=!1,r=this.pendingContextChange;return e.changes.iterChanges((s,o,a,l,c)=>{if(n)return;let h=c.length-(o-s);if(r&&o>=r.to)if(r.from==s&&r.to==o&&r.insert.eq(c)){r=this.pendingContextChange=null,t+=h,this.to+=h;return}else r=null,this.revertPending(e.state);if(s+=t,o+=t,o<=this.from)this.from+=h,this.to+=h;else if(sthis.to||this.to-this.from+c.length>3e4){n=!0;return}this.editContext.updateText(this.toContextPos(s),this.toContextPos(o),c.toString()),this.to+=h}t+=h}),r&&!n&&this.revertPending(e.state),!n}update(e){let t=this.pendingContextChange,n=e.startState.selection.main;this.composing&&(this.composing.drifted||!e.changes.touchesRange(n.from,n.to)&&e.transactions.some(r=>!r.isUserEvent("input.type")&&r.changes.touchesRange(this.from,this.to)))?(this.composing.drifted=!0,this.composing.editorBase=e.changes.mapPos(this.composing.editorBase)):!this.applyEdits(e)||!this.rangeIsValid(e.state)?(this.pendingContextChange=null,this.reset(e.state)):(e.docChanged||e.selectionSet||t)&&this.setSelection(e.state),(e.geometryChanged||e.docChanged||e.selectionSet)&&e.view.requestMeasure(this.measureReq)}resetRange(e){let{head:t}=e.selection.main;this.from=Math.max(0,t-1e4),this.to=Math.min(e.doc.length,t+1e4)}reset(e){this.resetRange(e),this.editContext.updateText(0,this.editContext.text.length,e.doc.sliceString(this.from,this.to)),this.setSelection(e)}revertPending(e){let t=this.pendingContextChange;this.pendingContextChange=null,this.editContext.updateText(this.toContextPos(t.from),this.toContextPos(t.from+t.insert.length),e.doc.sliceString(t.from,t.to))}setSelection(e){let{main:t}=e.selection,n=this.toContextPos(Math.max(this.from,Math.min(this.to,t.anchor))),r=this.toContextPos(t.head);(this.editContext.selectionStart!=n||this.editContext.selectionEnd!=r)&&this.editContext.updateSelection(n,r)}rangeIsValid(e){let{head:t}=e.selection.main;return!(this.from>0&&t-this.from<500||this.to1e4*3)}toEditorPos(e,t=this.to-this.from){e=Math.min(e,t);let n=this.composing;return n&&n.drifted?n.editorBase+(e-n.contextBase):e+this.from}toContextPos(e){let t=this.composing;return t&&t.drifted?t.contextBase+(e-t.editorBase):e-this.from}destroy(){for(let e in this.handlers)this.editContext.removeEventListener(e,this.handlers[e])}},E=class i{get state(){return this.viewState.state}get viewport(){return this.viewState.viewport}get visibleRanges(){return this.viewState.visibleRanges}get inView(){return this.viewState.inView}get composing(){return!!this.inputState&&this.inputState.composing>0}get compositionStarted(){return!!this.inputState&&this.inputState.composing>=0}get root(){return this._root}get win(){return this.dom.ownerDocument.defaultView||window}constructor(e={}){var t;this.plugins=[],this.pluginMap=new Map,this.editorAttrs={},this.contentAttrs={},this.bidiCache=[],this.destroyed=!1,this.updateState=2,this.measureScheduled=-1,this.measureRequests=[],this.contentDOM=document.createElement("div"),this.scrollDOM=document.createElement("div"),this.scrollDOM.tabIndex=-1,this.scrollDOM.className="cm-scroller",this.scrollDOM.appendChild(this.contentDOM),this.announceDOM=document.createElement("div"),this.announceDOM.className="cm-announced",this.announceDOM.setAttribute("aria-live","polite"),this.dom=document.createElement("div"),this.dom.appendChild(this.announceDOM),this.dom.appendChild(this.scrollDOM),e.parent&&e.parent.appendChild(this.dom);let{dispatch:n}=e;this.dispatchTransactions=e.dispatchTransactions||n&&(r=>r.forEach(s=>n(s,this)))||(r=>this.update(r)),this.dispatch=this.dispatch.bind(this),this._root=e.root||d0(e.parent)||document,this.viewState=new ms(this,e.state||re.create(e)),e.scrollTo&&e.scrollTo.is(Hr)&&(this.viewState.scrollTarget=e.scrollTo.value.clip(this.viewState.state)),this.plugins=this.state.facet(ln).map(r=>new Nn(r));for(let r of this.plugins)r.update(this);this.observer=new Ea(this),this.inputState=new xa(this),this.inputState.ensureHandlers(this.plugins),this.docView=new fs(this),this.mountStyles(),this.updateAttrs(),this.updateState=0,this.requestMeasure(),!((t=document.fonts)===null||t===void 0)&&t.ready&&document.fonts.ready.then(()=>{this.viewState.mustMeasureContent="refresh",this.requestMeasure()})}dispatch(...e){let t=e.length==1&&e[0]instanceof de?e:e.length==1&&Array.isArray(e[0])?e[0]:[this.state.update(...e)];this.dispatchTransactions(t,this)}update(e){if(this.updateState!=0)throw new Error("Calls to EditorView.update are not allowed while an update is in progress");let t=!1,n=!1,r,s=this.state;for(let u of e){if(u.startState!=s)throw new RangeError("Trying to update state with a transaction that doesn't start from the previous state.");s=u.state}if(this.destroyed){this.viewState.state=s;return}let o=this.hasFocus,a=0,l=null;e.some(u=>u.annotation(Su))?(this.inputState.notifiedFocused=o,a=1):o!=this.inputState.notifiedFocused&&(this.inputState.notifiedFocused=o,l=yu(s,o),l||(a=1));let c=this.observer.delayedAndroidKey,h=null;if(c?(this.observer.clearDelayedAndroidKey(),h=this.observer.readChange(),(h&&!this.state.doc.eq(s.doc)||!this.state.selection.eq(s.selection))&&(h=null)):this.observer.clear(),s.facet(re.phrases)!=this.state.facet(re.phrases))return this.setState(s);r=cs.create(this,s,e),r.flags|=a;let f=this.viewState.scrollTarget;try{this.updateState=2;for(let u of e){if(f&&(f=f.map(u.changes)),u.scrollIntoView){let{main:O}=u.state.selection,{x:p,y:m}=this.state.facet(i.cursorScrollMargin);f=new Gn(O.empty?O:v.cursor(O.head,O.head>O.anchor?-1:1),"nearest","nearest",m,p)}for(let O of u.effects)O.is(Hr)&&(f=O.value.clip(this.state))}this.viewState.update(r,f),this.bidiCache=gs.update(this.bidiCache,r.changes),r.empty||(this.updatePlugins(r),this.inputState.update(r)),t=this.docView.update(r),this.state.facet(Dn)!=this.styleModules&&this.mountStyles(),n=this.updateAttrs(),this.showAnnouncements(e),this.docView.updateSelection(t,e.some(u=>u.isUserEvent("select.pointer")))}finally{this.updateState=0}if(r.startState.facet(is)!=r.state.facet(is)&&(this.viewState.mustMeasureContent=!0),(t||n||f||this.viewState.mustEnforceCursorAssoc||this.viewState.mustMeasureContent)&&this.requestMeasure(),t&&this.docViewUpdate(),!r.empty)for(let u of this.state.facet(ha))try{u(r)}catch(O){ot(this.state,O,"update listener")}(l||h)&&Promise.resolve().then(()=>{l&&this.state==l.startState&&this.dispatch(l),h&&!Ou(this,h)&&c.force&&fn(this.contentDOM,c.key,c.keyCode)})}setState(e){if(this.updateState!=0)throw new Error("Calls to EditorView.setState are not allowed while an update is in progress");if(this.destroyed){this.viewState.state=e;return}this.updateState=2;let t=this.hasFocus;try{for(let n of this.plugins)n.destroy(this);this.viewState=new ms(this,e),this.plugins=e.facet(ln).map(n=>new Nn(n)),this.pluginMap.clear();for(let n of this.plugins)n.update(this);this.docView.destroy(),this.docView=new fs(this),this.inputState.ensureHandlers(this.plugins),this.mountStyles(),this.updateAttrs(),this.bidiCache=[]}finally{this.updateState=0}t&&this.focus(),this.requestMeasure()}updatePlugins(e){let t=e.startState.facet(ln),n=e.state.facet(ln);if(t!=n){let r=[];for(let s of n){let o=t.indexOf(s);if(o<0)r.push(new Nn(s));else{let a=this.plugins[o];a.mustUpdate=e,r.push(a)}}for(let s of this.plugins)s.mustUpdate!=e&&s.destroy(this);this.plugins=r,this.pluginMap.clear()}else for(let r of this.plugins)r.mustUpdate=e;for(let r=0;r-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.observer.delayedAndroidKey){this.measureScheduled=-1,this.requestMeasure();return}this.measureScheduled=0,e&&this.observer.forceFlush();let t=null,n=this.viewState.scrollParent,r=this.viewState.getScrollOffset(),{scrollAnchorPos:s,scrollAnchorHeight:o}=this.viewState;Math.abs(r-this.viewState.scrollOffset)>1&&(o=-1),this.viewState.scrollAnchorHeight=-1;try{for(let a=0;;a++){if(o<0)if(jf(n||this.win))s=-1,o=this.viewState.heightMap.height;else{let O=this.viewState.scrollAnchorAt(r);s=O.from,o=O.top}this.updateState=1;let l=this.viewState.measure();if(!l&&!this.measureRequests.length&&this.viewState.scrollTarget==null)break;if(a>5){console.warn(this.measureRequests.length?"Measure loop restarted more than 5 times":"Viewport failed to stabilize");break}let c=[];l&4||([this.measureRequests,c]=[c,this.measureRequests]);let h=c.map(O=>{try{return O.read(this)}catch(p){return ot(this.state,p),Af}}),f=cs.create(this,this.state,[]),u=!1;f.flags|=l,t?t.flags|=l:t=f,this.updateState=2,f.empty||(this.updatePlugins(f),this.inputState.update(f),this.updateAttrs(),u=this.docView.update(f),u&&this.docViewUpdate());for(let O=0;O1||p<-1)&&!(L.ios&&this.inputState.lastIOSMomentumScroll>Date.now()-100)&&(n==this.scrollDOM||this.hasFocus||Math.max(this.inputState.lastWheelEvent,this.inputState.lastTouchTime)>Date.now()-100)){r=r+p,n?n.scrollTop+=p:this.win.scrollBy(0,p),o=-1;continue}}break}}}finally{this.updateState=0,this.measureScheduled=-1}if(t&&!t.empty)for(let a of this.state.facet(ha))a(t)}get themeClasses(){return Za+" "+(this.state.facet(Aa)?wu:xu)+" "+this.state.facet(is)}updateAttrs(){let e=Zf(this,ru,{class:"cm-editor"+(this.hasFocus?" cm-focused ":" ")+this.themeClasses}),t={spellcheck:"false",autocorrect:"off",autocapitalize:"off",writingsuggestions:"false",translate:"no",contenteditable:this.state.facet(qt)?"true":"false",class:"cm-content",style:`${L.tabSize}: ${this.state.tabSize}`,role:"textbox","aria-multiline":"true"};this.state.readOnly&&(t["aria-readonly"]="true"),Zf(this,Ya,t);let n=this.observer.ignore(()=>{let r=uf(this.contentDOM,this.contentAttrs,t),s=uf(this.dom,this.editorAttrs,e);return r||s});return this.editorAttrs=e,this.contentAttrs=t,n}showAnnouncements(e){let t=!0;for(let n of e)for(let r of n.effects)if(r.is(i.announce)){t&&(this.announceDOM.textContent=""),t=!1;let s=this.announceDOM.appendChild(document.createElement("div"));s.textContent=r.value}}mountStyles(){this.styleModules=this.state.facet(Dn);let e=this.state.facet(i.cspNonce);it.mount(this.root,this.styleModules.concat(yQ).reverse(),e?{nonce:e}:void 0)}readMeasured(){if(this.updateState==2)throw new Error("Reading the editor layout isn't allowed during an update");this.updateState==0&&this.measureScheduled>-1&&this.measure(!1)}requestMeasure(e){if(this.measureScheduled<0&&(this.measureScheduled=this.win.requestAnimationFrame(()=>this.measure())),e){if(this.measureRequests.indexOf(e)>-1)return;if(e.key!=null){for(let t=0;tn.plugin==e)||null),t&&t.update(this).value}get documentTop(){return this.contentDOM.getBoundingClientRect().top+this.viewState.paddingTop}get documentPadding(){return{top:this.viewState.paddingTop,bottom:this.viewState.paddingBottom}}get scaleX(){return this.viewState.scaleX}get scaleY(){return this.viewState.scaleY}elementAtHeight(e){return this.readMeasured(),this.viewState.elementAtHeight(e)}lineBlockAtHeight(e){return this.readMeasured(),this.viewState.lineBlockAtHeight(e)}get viewportLineBlocks(){return this.viewState.viewportLines}lineBlockAt(e){return this.viewState.lineBlockAt(e)}get contentHeight(){return this.viewState.contentHeight}moveByChar(e,t,n){return Jo(this,e,Qf(this,e,t,n))}moveByGroup(e,t){return Jo(this,e,Qf(this,e,t,n=>I0(this,e.head,n)))}visualLineSide(e,t){let n=this.bidiSpans(e),r=this.textDirectionAt(e.from),s=n[t?n.length-1:0];return v.cursor(s.side(t,r)+e.from,s.forward(!t,r)?1:-1)}moveToLineBoundary(e,t,n=!0){return Y0(this,e,t,n)}moveVertically(e,t,n){return Jo(this,e,B0(this,e,t,n))}domAtPos(e,t=1){return this.docView.domAtPos(e,t)}posAtDOM(e,t=0){return this.docView.posFromDOM(e,t)}posAtCoords(e,t=!0){this.readMeasured();let n=ba(this,e,t);return n&&n.pos}posAndSideAtCoords(e,t=!0){return this.readMeasured(),ba(this,e,t)}coordsAtPos(e,t=1){this.readMeasured();let n=this.state.doc.lineAt(e),r=this.bidiSpans(n),s=r[st.find(r,e-n.from,-1,t)];return this.docView.coordsAt(e,t,s.dir==ue.RTL)}coordsForChar(e){return this.readMeasured(),this.docView.coordsForChar(e)}get defaultCharacterWidth(){return this.viewState.heightOracle.charWidth}get defaultLineHeight(){return this.viewState.heightOracle.lineHeight}get textDirection(){return this.viewState.defaultTextDirection}textDirectionAt(e){return!this.state.facet(tu)||ethis.viewport.to?this.textDirection:(this.readMeasured(),this.docView.textDirectionAt(e))}get lineWrapping(){return this.viewState.heightOracle.lineWrapping}bidiSpans(e){if(e.length>wQ)return Uf(e.length);let t=this.textDirectionAt(e.from),n;for(let s of this.bidiCache)if(s.from==e.from&&s.dir==t&&(s.fresh||Bf(s.isolates,n=pf(this,e))))return s.order;n||(n=pf(this,e));let r=k0(e.text,t,n);return this.bidiCache.push(new gs(e.from,e.to,t,n,!0,r)),r}get hasFocus(){var e;return(this.dom.ownerDocument.hasFocus()||L.safari&&((e=this.inputState)===null||e===void 0?void 0:e.lastContextMenu)>Date.now()-3e4)&&this.root.activeElement==this.contentDOM}focus(){this.observer.ignore(()=>{Wf(this.contentDOM),this.docView.updateSelection()})}setRoot(e){this._root!=e&&(this._root=e,this.observer.setWindow((e.nodeType==9?e:e.ownerDocument).defaultView||window),this.mountStyles())}destroy(){this.root.activeElement==this.contentDOM&&this.contentDOM.blur();for(let e of this.plugins)e.destroy(this);this.plugins=[],this.inputState.destroy(),this.docView.destroy(),this.dom.remove(),this.observer.destroy(),this.measureScheduled>-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.destroyed=!0}static scrollIntoView(e,t={}){var n,r,s,o;return Hr.of(new Gn(typeof e=="number"?v.cursor(e):e,(n=t.y)!==null&&n!==void 0?n:"nearest",(r=t.x)!==null&&r!==void 0?r:"nearest",(s=t.yMargin)!==null&&s!==void 0?s:5,(o=t.xMargin)!==null&&o!==void 0?o:5))}scrollSnapshot(){let{scrollTop:e,scrollLeft:t}=this.scrollDOM,n=this.viewState.scrollAnchorAt(e);return Hr.of(new Gn(v.cursor(n.from),"start","start",n.top-e,t,!0))}setTabFocusMode(e){e==null?this.inputState.tabFocusMode=this.inputState.tabFocusMode<0?0:-1:typeof e=="boolean"?this.inputState.tabFocusMode=e?0:-1:this.inputState.tabFocusMode!=0&&(this.inputState.tabFocusMode=Date.now()+e)}static domEventHandlers(e){return Fe.define(()=>({}),{eventHandlers:e})}static domEventObservers(e){return Fe.define(()=>({}),{eventObservers:e})}static theme(e,t){let n=it.newName(),r=[is.of(n),Dn.of(qa(`.${n}`,e))];return t&&t.dark&&r.push(Aa.of(!0)),r}static baseTheme(e){return dt.lowest(Dn.of(qa("."+Za,e,Pu)))}static findFromDOM(e){var t;let n=e.querySelector(".cm-content"),r=n&&fe.get(n)||fe.get(e);return((t=r?.root)===null||t===void 0?void 0:t.view)||null}};E.styleModule=Dn;E.inputHandler=Jf;E.clipboardInputFilter=Va;E.clipboardOutputFilter=Da;E.scrollHandler=iu;E.focusChangeEffect=eu;E.perLineTextDirection=tu;E.exceptionSink=Kf;E.updateListener=ha;E.editable=qt;E.mouseSelectionStyle=Hf;E.dragMovesSelection=Ff;E.clickAddsSelectionRange=Nf;E.decorations=bs;E.blockWrappers=su;E.outerDecorations=Ia;E.atomicRanges=nr;E.bidiIsolatedRanges=ou;E.cursorScrollMargin=Y.define({combine:i=>{let e=5,t=5;for(let n of i)typeof n=="number"?e=t=n:{x:e,y:t}=n;return{x:e,y:t}}});E.scrollMargins=au;E.darkTheme=Aa;E.cspNonce=Y.define({combine:i=>i.length?i[0]:""});E.contentAttributes=Ya;E.editorAttributes=ru;E.lineWrapping=E.contentAttributes.of({class:"cm-lineWrapping"});E.announce=ie.define();var wQ=4096,Af={},gs=class i{constructor(e,t,n,r,s,o){this.from=e,this.to=t,this.dir=n,this.isolates=r,this.fresh=s,this.order=o}static update(e,t){if(t.empty&&!e.some(s=>s.fresh))return e;let n=[],r=e.length?e[e.length-1].dir:ue.LTR;for(let s=Math.max(0,e.length-10);s=0;r--){let s=n[r],o=typeof s=="function"?s(i):s;o&&Ma(o,t)}return t}var PQ=L.mac?"mac":L.windows?"win":L.linux?"linux":"key";function vQ(i,e){let t=i.split(/-(?!$)/),n=t[t.length-1];n=="Space"&&(n=" ");let r,s,o,a;for(let l=0;ln.concat(r),[]))),t}var ii=null,CQ=4e3;function XQ(i,e=PQ){let t=Object.create(null),n=Object.create(null),r=(o,a)=>{let l=n[o];if(l==null)n[o]=a;else if(l!=a)throw new Error("Key binding "+o+" is used both as a regular binding and as a multi-stroke prefix")},s=(o,a,l,c,h)=>{var f,u;let O=t[o]||(t[o]=Object.create(null)),p=a.split(/ (?!$)/).map(g=>vQ(g,e));for(let g=1;g{let k=ii={view:S,prefix:Q,scope:o};return setTimeout(()=>{ii==k&&(ii=null)},CQ),!0}]})}let m=p.join(" ");r(m,!1);let b=O[m]||(O[m]={preventDefault:!1,stopPropagation:!1,run:((u=(f=O._any)===null||f===void 0?void 0:f.run)===null||u===void 0?void 0:u.slice())||[]});l&&b.run.push(l),c&&(b.preventDefault=!0),h&&(b.stopPropagation=!0)};for(let o of i){let a=o.scope?o.scope.split(" "):["editor"];if(o.any)for(let c of a){let h=t[c]||(t[c]=Object.create(null));h._any||(h._any={preventDefault:!1,stopPropagation:!1,run:[]});let{any:f}=o;for(let u in h)h[u].run.push(O=>f(O,La))}let l=o[e]||o.key;if(l)for(let c of a)s(c,l,o.run,o.preventDefault,o.stopPropagation),o.shift&&s(c,"Shift-"+l,o.shift,o.preventDefault,o.stopPropagation)}return t}var La=null;function _Q(i,e,t,n){La=e;let r=lf(e),s=ti(r,0),o=sn(s)==r.length&&r!=" ",a="",l=!1,c=!1,h=!1;ii&&ii.view==t&&ii.scope==n&&(a=ii.prefix+" ",mu.indexOf(e.keyCode)<0&&(c=!0,ii=null));let f=new Set,u=b=>{if(b){for(let g of b.run)if(!f.has(g)&&(f.add(g),g(t)))return b.stopPropagation&&(h=!0),!0;b.preventDefault&&(b.stopPropagation&&(h=!0),c=!0)}return!1},O=i[n],p,m;return O&&(u(O[a+ns(r,e,!o)])?l=!0:o&&(e.altKey||e.metaKey||e.ctrlKey)&&!(L.windows&&e.ctrlKey&&e.altKey)&&!(L.mac&&e.altKey&&!(e.ctrlKey||e.metaKey))&&(p=Zt[e.keyCode])&&p!=r?(u(O[a+ns(p,e,!0)])||e.shiftKey&&(m=on[e.keyCode])!=r&&m!=p&&u(O[a+ns(m,e,!1)]))&&(l=!0):o&&e.shiftKey&&u(O[a+ns(r,e,!0)])&&(l=!0),!l&&u(O._any)&&(l=!0)),c&&(l=!0),l&&h&&e.stopPropagation(),La=null,l}var vu=ie.define({map(i,e){return i==null?null:e.mapPos(i)}}),In=he.define({create(){return null},update(i,e){return i!=null&&(i=e.changes.mapPos(i)),e.effects.reduce((t,n)=>n.is(vu)?n.value:t,i)}}),RQ=Fe.fromClass(class{constructor(i){this.view=i,this.cursor=null,this.measureReq={read:this.readPos.bind(this),write:this.drawCursor.bind(this)}}update(i){var e;let t=i.state.field(In);t==null?this.cursor!=null&&((e=this.cursor)===null||e===void 0||e.remove(),this.cursor=null):(this.cursor||(this.cursor=this.view.scrollDOM.appendChild(document.createElement("div")),this.cursor.className="cm-dropCursor"),(i.startState.field(In)!=t||i.docChanged||i.geometryChanged)&&this.view.requestMeasure(this.measureReq))}readPos(){let{view:i}=this,e=i.state.field(In),t=e!=null&&i.coordsAtPos(e);if(!t)return null;let n=i.scrollDOM.getBoundingClientRect();return{left:t.left-n.left+i.scrollDOM.scrollLeft*i.scaleX,top:t.top-n.top+i.scrollDOM.scrollTop*i.scaleY,height:t.bottom-t.top}}drawCursor(i){if(this.cursor){let{scaleX:e,scaleY:t}=this.view;i?(this.cursor.style.left=i.left/e+"px",this.cursor.style.top=i.top/t+"px",this.cursor.style.height=i.height/t+"px"):this.cursor.style.left="-100000px"}}destroy(){this.cursor&&this.cursor.remove()}setDropPos(i){this.view.state.field(In)!=i&&this.view.dispatch({effects:vu.of(i)})}},{eventObservers:{dragover(i){this.setDropPos(this.view.posAtCoords({x:i.clientX,y:i.clientY}))},dragleave(i){(i.target==this.view.contentDOM||!this.view.contentDOM.contains(i.relatedTarget))&&this.setDropPos(null)},dragend(){this.setDropPos(null)},drop(){this.setDropPos(null)}}});function $u(){return[In,RQ]}var Uv=/x/.unicode!=null?"gu":"g";var Lt=class extends tt{compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}eq(e){return!1}destroy(e){}};Lt.prototype.elementClass="";Lt.prototype.toDOM=void 0;Lt.prototype.mapMode=me.TrackBefore;Lt.prototype.startSide=Lt.prototype.endSide=-1;Lt.prototype.point=!0;var AQ=0,Ve=class{constructor(e,t){this.from=e,this.to=t}},I=class{constructor(e={}){this.id=AQ++,this.perNode=!!e.perNode,this.deserialize=e.deserialize||(()=>{throw new Error("This node type doesn't define a deserialize function")}),this.combine=e.combine||null}add(e){if(this.perNode)throw new RangeError("Can't add per-node props to node types");return typeof e!="function"&&(e=Oe.match(e)),t=>{let n=e(t);return n===void 0?null:[this,n]}}};I.closedBy=new I({deserialize:i=>i.split(" ")});I.openedBy=new I({deserialize:i=>i.split(" ")});I.group=new I({deserialize:i=>i.split(" ")});I.isolate=new I({deserialize:i=>{if(i&&i!="rtl"&&i!="ltr"&&i!="auto")throw new RangeError("Invalid value for isolate: "+i);return i||"auto"}});I.contextHash=new I({perNode:!0});I.lookAhead=new I({perNode:!0});I.mounted=new I({perNode:!0});var ai=class{constructor(e,t,n,r=!1){this.tree=e,this.overlay=t,this.parser=n,this.bracketed=r}static get(e){return e&&e.props&&e.props[I.mounted.id]}},ZQ=Object.create(null),Oe=class i{constructor(e,t,n,r=0){this.name=e,this.props=t,this.id=n,this.flags=r}static define(e){let t=e.props&&e.props.length?Object.create(null):ZQ,n=(e.top?1:0)|(e.skipped?2:0)|(e.error?4:0)|(e.name==null?8:0),r=new i(e.name||"",t,e.id,n);if(e.props){for(let s of e.props)if(Array.isArray(s)||(s=s(r)),s){if(s[0].perNode)throw new RangeError("Can't store a per-node prop on a node type");t[s[0].id]=s[1]}}return r}prop(e){return this.props[e.id]}get isTop(){return(this.flags&1)>0}get isSkipped(){return(this.flags&2)>0}get isError(){return(this.flags&4)>0}get isAnonymous(){return(this.flags&8)>0}is(e){if(typeof e=="string"){if(this.name==e)return!0;let t=this.prop(I.group);return t?t.indexOf(e)>-1:!1}return this.id==e}static match(e){let t=Object.create(null);for(let n in e)for(let r of n.split(" "))t[r]=e[n];return n=>{for(let r=n.prop(I.group),s=-1;s<(r?r.length:0);s++){let o=t[s<0?n.name:r[s]];if(o)return o}}}};Oe.none=new Oe("",Object.create(null),0,8);var Mt=class i{constructor(e){this.types=e;for(let t=0;t0;for(let l=this.cursor(o|ee.IncludeAnonymous);;){let c=!1;if(l.from<=s&&l.to>=r&&(!a&&l.type.isAnonymous||t(l)!==!1)){if(l.firstChild())continue;c=!0}for(;c&&n&&(a||!l.type.isAnonymous)&&n(l),!l.nextSibling();){if(!l.parent())return;c=!0}}}prop(e){return e.perNode?this.props?this.props[e.id]:void 0:this.type.prop(e)}get propValues(){let e=[];if(this.props)for(let t in this.props)e.push([+t,this.props[t]]);return e}balance(e={}){return this.children.length<=8?this:nl(Oe.none,this.children,this.positions,0,this.children.length,0,this.length,(t,n,r)=>new i(this.type,t,n,r,this.propValues),e.makeTree||((t,n,r)=>new i(Oe.none,t,n,r)))}static build(e){return EQ(e)}};G.empty=new G(Oe.none,[],[],0);var Ua=class i{constructor(e,t){this.buffer=e,this.index=t}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}get pos(){return this.index}next(){this.index-=4}fork(){return new i(this.buffer,this.index)}},li=class i{constructor(e,t,n){this.buffer=e,this.length=t,this.set=n}get type(){return Oe.none}toString(){let e=[];for(let t=0;t0));l=o[l+3]);return a}slice(e,t,n){let r=this.buffer,s=new Uint16Array(t-e),o=0;for(let a=e,l=0;a=e&&te;case 1:return t<=e&&n>e;case 2:return n>e;case 4:return!0}}function rr(i,e,t,n){for(var r;i.from==i.to||(t<1?i.from>=e:i.from>e)||(t>-1?i.to<=e:i.to0?a.length:-1;e!=c;e+=t){let h=a[e],f=l[e]+o.from,u;if(!(!(s&ee.EnterBracketed&&h instanceof G&&(u=ai.get(h))&&!u.overlay&&u.bracketed&&n>=f&&n<=f+h.length)&&!qu(r,n,f,f+h.length))){if(h instanceof li){if(s&ee.ExcludeBuffers)continue;let O=h.findChild(0,h.buffer.length,t,n-f,r);if(O>-1)return new qi(new Na(o,h,e,f),null,O)}else if(s&ee.IncludeAnonymous||!h.type.isAnonymous||il(h)){let O;if(!(s&ee.IgnoreMounts)&&(O=ai.get(h))&&!O.overlay)return new i(O.tree,f,e,o);let p=new i(h,f,e,o);return s&ee.IncludeAnonymous||!p.type.isAnonymous?p:p.nextChild(t<0?h.children.length-1:0,t,n,r,s)}}}if(s&ee.IncludeAnonymous||!o.type.isAnonymous||(o.index>=0?e=o.index+t:e=t<0?-1:o._parent._tree.children.length,o=o._parent,!o))return null}}get firstChild(){return this.nextChild(0,1,0,4)}get lastChild(){return this.nextChild(this._tree.children.length-1,-1,0,4)}childAfter(e){return this.nextChild(0,1,e,2)}childBefore(e){return this.nextChild(this._tree.children.length-1,-1,e,-2)}prop(e){return this._tree.prop(e)}enter(e,t,n=0){let r;if(!(n&ee.IgnoreOverlays)&&(r=ai.get(this._tree))&&r.overlay){let s=e-this.from,o=n&ee.EnterBracketed&&r.bracketed;for(let{from:a,to:l}of r.overlay)if((t>0||o?a<=s:a=s:l>s))return new i(r.tree,r.overlay[0].from+this.from,-1,this)}return this.nextChild(0,1,e,t,n)}nextSignificantParent(){let e=this;for(;e.type.isAnonymous&&e._parent;)e=e._parent;return e}get parent(){return this._parent?this._parent.nextSignificantParent():null}get nextSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index+1,1,0,4):null}get prevSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index-1,-1,0,4):null}get tree(){return this._tree}toTree(){return this._tree}toString(){return this._tree.toString()}};function Cu(i,e,t,n){let r=i.cursor(),s=[];if(!r.firstChild())return s;if(t!=null){for(let o=!1;!o;)if(o=r.type.is(t),!r.nextSibling())return s}for(;;){if(n!=null&&r.type.is(n))return s;if(r.type.is(e)&&s.push(r.node),!r.nextSibling())return n==null?s:[]}}function Ga(i,e,t=e.length-1){for(let n=i;t>=0;n=n.parent){if(!n)return!1;if(!n.type.isAnonymous){if(e[t]&&e[t]!=n.name)return!1;t--}}return!0}var Na=class{constructor(e,t,n,r){this.parent=e,this.buffer=t,this.index=n,this.start=r}},qi=class i extends xs{get name(){return this.type.name}get from(){return this.context.start+this.context.buffer.buffer[this.index+1]}get to(){return this.context.start+this.context.buffer.buffer[this.index+2]}constructor(e,t,n){super(),this.context=e,this._parent=t,this.index=n,this.type=e.buffer.set.types[e.buffer.buffer[n]]}child(e,t,n){let{buffer:r}=this.context,s=r.findChild(this.index+4,r.buffer[this.index+3],e,t-this.context.start,n);return s<0?null:new i(this.context,this,s)}get firstChild(){return this.child(1,0,4)}get lastChild(){return this.child(-1,0,4)}childAfter(e){return this.child(1,e,2)}childBefore(e){return this.child(-1,e,-2)}prop(e){return this.type.prop(e)}enter(e,t,n=0){if(n&ee.ExcludeBuffers)return null;let{buffer:r}=this.context,s=r.findChild(this.index+4,r.buffer[this.index+3],t>0?1:-1,e-this.context.start,t);return s<0?null:new i(this.context,this,s)}get parent(){return this._parent||this.context.parent.nextSignificantParent()}externalSibling(e){return this._parent?null:this.context.parent.nextChild(this.context.index+e,e,0,4)}get nextSibling(){let{buffer:e}=this.context,t=e.buffer[this.index+3];return t<(this._parent?e.buffer[this._parent.index+3]:e.buffer.length)?new i(this.context,this._parent,t):this.externalSibling(1)}get prevSibling(){let{buffer:e}=this.context,t=this._parent?this._parent.index+4:0;return this.index==t?this.externalSibling(-1):new i(this.context,this._parent,e.findChild(t,this.index,-1,0,4))}get tree(){return null}toTree(){let e=[],t=[],{buffer:n}=this.context,r=this.index+4,s=n.buffer[this.index+3];if(s>r){let o=n.buffer[this.index+1];e.push(n.slice(r,s,o)),t.push(0)}return new G(this.type,e,t,this.to-this.from)}toString(){return this.context.buffer.childString(this.index)}};function Eu(i){if(!i.length)return null;let e=0,t=i[0];for(let s=1;st.from||o.to=e){let a=new De(o.tree,o.overlay[0].from+s.from,-1,s);(r||(r=[n])).push(rr(a,e,t,!1))}}return r?Eu(r):n}var gn=class{get name(){return this.type.name}constructor(e,t=0){if(this.buffer=null,this.stack=[],this.index=0,this.bufferNode=null,this.mode=t&~ee.EnterBracketed,e instanceof De)this.yieldNode(e);else{this._tree=e.context.parent,this.buffer=e.context;for(let n=e._parent;n;n=n._parent)this.stack.unshift(n.index);this.bufferNode=e,this.yieldBuf(e.index)}}yieldNode(e){return e?(this._tree=e,this.type=e.type,this.from=e.from,this.to=e.to,!0):!1}yieldBuf(e,t){this.index=e;let{start:n,buffer:r}=this.buffer;return this.type=t||r.set.types[r.buffer[e]],this.from=n+r.buffer[e+1],this.to=n+r.buffer[e+2],!0}yield(e){return e?e instanceof De?(this.buffer=null,this.yieldNode(e)):(this.buffer=e.context,this.yieldBuf(e.index,e.type)):!1}toString(){return this.buffer?this.buffer.buffer.childString(this.index):this._tree.toString()}enterChild(e,t,n){if(!this.buffer)return this.yield(this._tree.nextChild(e<0?this._tree._tree.children.length-1:0,e,t,n,this.mode));let{buffer:r}=this.buffer,s=r.findChild(this.index+4,r.buffer[this.index+3],e,t-this.buffer.start,n);return s<0?!1:(this.stack.push(this.index),this.yieldBuf(s))}firstChild(){return this.enterChild(1,0,4)}lastChild(){return this.enterChild(-1,0,4)}childAfter(e){return this.enterChild(1,e,2)}childBefore(e){return this.enterChild(-1,e,-2)}enter(e,t,n=this.mode){return this.buffer?n&ee.ExcludeBuffers?!1:this.enterChild(1,e,t):this.yield(this._tree.enter(e,t,n))}parent(){if(!this.buffer)return this.yieldNode(this.mode&ee.IncludeAnonymous?this._tree._parent:this._tree.parent);if(this.stack.length)return this.yieldBuf(this.stack.pop());let e=this.mode&ee.IncludeAnonymous?this.buffer.parent:this.buffer.parent.nextSignificantParent();return this.buffer=null,this.yieldNode(e)}sibling(e){if(!this.buffer)return this._tree._parent?this.yield(this._tree.index<0?null:this._tree._parent.nextChild(this._tree.index+e,e,0,4,this.mode)):!1;let{buffer:t}=this.buffer,n=this.stack.length-1;if(e<0){let r=n<0?0:this.stack[n]+4;if(this.index!=r)return this.yieldBuf(t.findChild(r,this.index,-1,0,4))}else{let r=t.buffer[this.index+3];if(r<(n<0?t.buffer.length:t.buffer[this.stack[n]+3]))return this.yieldBuf(r)}return n<0?this.yield(this.buffer.parent.nextChild(this.buffer.index+e,e,0,4,this.mode)):!1}nextSibling(){return this.sibling(1)}prevSibling(){return this.sibling(-1)}atLastNode(e){let t,n,{buffer:r}=this;if(r){if(e>0){if(this.index-1)for(let s=t+e,o=e<0?-1:n._tree.children.length;s!=o;s+=e){let a=n._tree.children[s];if(this.mode&ee.IncludeAnonymous||a instanceof li||!a.type.isAnonymous||il(a))return!1}return!0}move(e,t){if(t&&this.enterChild(e,0,4))return!0;for(;;){if(this.sibling(e))return!0;if(this.atLastNode(e)||!this.parent())return!1}}next(e=!0){return this.move(1,e)}prev(e=!0){return this.move(-1,e)}moveTo(e,t=0){for(;(this.from==this.to||(t<1?this.from>=e:this.from>e)||(t>-1?this.to<=e:this.to=0;){for(let o=e;o;o=o._parent)if(o.index==r){if(r==this.index)return o;t=o,n=s+1;break e}r=this.stack[--s]}for(let r=n;r=0;s--){if(s<0)return Ga(this._tree,e,r);let o=n[t.buffer[this.stack[s]]];if(!o.isAnonymous){if(e[r]&&e[r]!=o.name)return!1;r--}}return!0}};function il(i){return i.children.some(e=>e instanceof li||!e.type.isAnonymous||il(e))}function EQ(i){var e;let{buffer:t,nodeSet:n,maxBufferLength:r=1024,reused:s=[],minRepeatType:o=n.types.length}=i,a=Array.isArray(t)?new Ua(t,t.length):t,l=n.types,c=0,h=0;function f(P,$,R,_,W,T){let{id:x,start:w,end:C,size:j}=a,y=h,z=c;if(j<0)if(a.next(),j==-1){let N=s[x];R.push(N),_.push(w-P);return}else if(j==-3){c=x;return}else if(j==-4){h=x;return}else throw new RangeError(`Unrecognized record size: ${j}`);let ye=l[x],Rt,X,te=w-P;if(C-w<=r&&(X=b(a.pos-$,W))){let N=new Uint16Array(X.size-X.skip),U=a.pos-X.size,le=N.length;for(;a.pos>U;)le=g(X.start,N,le);Rt=new li(N,C-X.start,n),te=X.start-P}else{let N=a.pos-j;a.next();let U=[],le=[],F=x>=o?x:-1,Qe=0,Ce=C;for(;a.pos>N;)F>=0&&a.id==F&&a.size>=0?(a.end<=Ce-r&&(p(U,le,w,Qe,a.end,Ce,F,y,z),Qe=U.length,Ce=a.end),a.next()):T>2500?u(w,N,U,le):f(w,N,U,le,F,T+1);if(F>=0&&Qe>0&&Qe-1&&Qe>0){let Jt=O(ye,z);Rt=nl(ye,U,le,0,U.length,0,C-w,Jt,Jt)}else Rt=m(ye,U,le,C-w,y-C,z)}R.push(Rt),_.push(te)}function u(P,$,R,_){let W=[],T=0,x=-1;for(;a.pos>$;){let{id:w,start:C,end:j,size:y}=a;if(y>4)a.next();else{if(x>-1&&C=0;j-=3)w[y++]=W[j],w[y++]=W[j+1]-C,w[y++]=W[j+2]-C,w[y++]=y;R.push(new li(w,W[2]-C,n)),_.push(C-P)}}function O(P,$){return(R,_,W)=>{let T=0,x=R.length-1,w,C;if(x>=0&&(w=R[x])instanceof G){if(!x&&w.type==P&&w.length==W)return w;(C=w.prop(I.lookAhead))&&(T=_[x]+w.length+C)}return m(P,R,_,W,T,$)}}function p(P,$,R,_,W,T,x,w,C){let j=[],y=[];for(;P.length>_;)j.push(P.pop()),y.push($.pop()+R-W);P.push(m(n.types[x],j,y,T-W,w-T,C)),$.push(W-R)}function m(P,$,R,_,W,T,x){if(T){let w=[I.contextHash,T];x=x?[w].concat(x):[w]}if(W>25){let w=[I.lookAhead,W];x=x?[w].concat(x):[w]}return new G(P,$,R,_,x)}function b(P,$){let R=a.fork(),_=0,W=0,T=0,x=R.end-r,w={size:0,start:0,skip:0};e:for(let C=R.pos-P;R.pos>C;){let j=R.size;if(R.id==$&&j>=0){w.size=_,w.start=W,w.skip=T,T+=4,_+=4,R.next();continue}let y=R.pos-j;if(j<0||y=o?4:0,ye=R.start;for(R.next();R.pos>y;){if(R.size<0)if(R.size==-3||R.size==-4)z+=4;else break e;else R.id>=o&&(z+=4);R.next()}W=ye,_+=j,T+=z}return($<0||_==P)&&(w.size=_,w.start=W,w.skip=T),w.size>4?w:void 0}function g(P,$,R){let{id:_,start:W,end:T,size:x}=a;if(a.next(),x>=0&&_4){let C=a.pos-(x-4);for(;a.pos>C;)R=g(P,$,R)}$[--R]=w,$[--R]=T-P,$[--R]=W-P,$[--R]=_}else x==-3?c=_:x==-4&&(h=_);return R}let Q=[],S=[];for(;a.pos>0;)f(i.start||0,i.bufferStart||0,Q,S,-1,0);let k=(e=i.length)!==null&&e!==void 0?e:Q.length?S[0]+Q[0].length:0;return new G(l[i.topID],Q.reverse(),S.reverse(),k)}var Xu=new WeakMap;function ks(i,e){if(!i.isAnonymous||e instanceof li||e.type!=i)return 1;let t=Xu.get(e);if(t==null){t=1;for(let n of e.children){if(n.type!=i||!(n instanceof G)){t=1;break}t+=ks(i,n)}Xu.set(e,t)}return t}function nl(i,e,t,n,r,s,o,a,l){let c=0;for(let p=n;p=h)break;$+=R}if(S==k+1){if($>h){let R=p[k];O(R.children,R.positions,0,R.children.length,m[k]+Q);continue}f.push(p[k])}else{let R=m[S-1]+p[S-1].length-P;f.push(nl(i,p,m,k,S,P,R,null,l))}u.push(P+Q-s)}}return O(e,t,n,r,0),(a||l)(f,u,o)}var ci=class{constructor(){this.map=new WeakMap}setBuffer(e,t,n){let r=this.map.get(e);r||this.map.set(e,r=new Map),r.set(t,n)}getBuffer(e,t){let n=this.map.get(e);return n&&n.get(t)}set(e,t){e instanceof qi?this.setBuffer(e.context.buffer,e.index,t):e instanceof De&&this.map.set(e.tree,t)}get(e){return e instanceof qi?this.getBuffer(e.context.buffer,e.index):e instanceof De?this.map.get(e.tree):void 0}cursorSet(e,t){e.buffer?this.setBuffer(e.buffer.buffer,e.index,t):this.map.set(e.tree,t)}cursorGet(e){return e.buffer?this.getBuffer(e.buffer.buffer,e.index):this.map.get(e.tree)}},Wt=class i{constructor(e,t,n,r,s=!1,o=!1){this.from=e,this.to=t,this.tree=n,this.offset=r,this.open=(s?1:0)|(o?2:0)}get openStart(){return(this.open&1)>0}get openEnd(){return(this.open&2)>0}static addTree(e,t=[],n=!1){let r=[new i(0,e.length,e,0,!1,n)];for(let s of t)s.to>e.length&&r.push(s);return r}static applyChanges(e,t,n=128){if(!t.length)return e;let r=[],s=1,o=e.length?e[0]:null;for(let a=0,l=0,c=0;;a++){let h=a=n)for(;o&&o.from=u.from||f<=u.to||c){let O=Math.max(u.from,l)-c,p=Math.min(u.to,f)-c;u=O>=p?null:new i(O,p,u.tree,u.offset+c,a>0,!!h)}if(u&&r.push(u),o.to>f)break;o=snew Ve(r.from,r.to)):[new Ve(0,0)]:[new Ve(0,e.length)],this.createParse(e,t||[],n)}parse(e,t,n){let r=this.startParse(e,t,n);for(;;){let s=r.advance();if(s)return s}}},Ha=class{constructor(e){this.string=e}get length(){return this.string.length}chunk(e){return this.string.slice(e)}get lineChunks(){return!1}read(e,t){return this.string.slice(e,t)}};function Qn(i){return(e,t,n,r)=>new el(e,i,t,n,r)}var ws=class{constructor(e,t,n,r,s,o){this.parser=e,this.parse=t,this.overlay=n,this.bracketed=r,this.target=s,this.from=o}};function _u(i){if(!i.length||i.some(e=>e.from>=e.to))throw new RangeError("Invalid inner parse ranges given: "+JSON.stringify(i))}var Ka=class{constructor(e,t,n,r,s,o,a,l){this.parser=e,this.predicate=t,this.mounts=n,this.index=r,this.start=s,this.bracketed=o,this.target=a,this.prev=l,this.depth=0,this.ranges=[]}},Ja=new I({perNode:!0}),el=class{constructor(e,t,n,r,s){this.nest=t,this.input=n,this.fragments=r,this.ranges=s,this.inner=[],this.innerDone=0,this.baseTree=null,this.stoppedAt=null,this.baseParse=e}advance(){if(this.baseParse){let n=this.baseParse.advance();if(!n)return null;if(this.baseParse=null,this.baseTree=n,this.startInner(),this.stoppedAt!=null)for(let r of this.inner)r.parse.stopAt(this.stoppedAt)}if(this.innerDone==this.inner.length){let n=this.baseTree;return this.stoppedAt!=null&&(n=new G(n.type,n.children,n.positions,n.length,n.propValues.concat([[Ja,this.stoppedAt]]))),n}let e=this.inner[this.innerDone],t=e.parse.advance();if(t){this.innerDone++;let n=Object.assign(Object.create(null),e.target.props);n[I.mounted.id]=new ai(t,e.overlay,e.parser,e.bracketed),e.target.props=n}return null}get parsedPos(){if(this.baseParse)return 0;let e=this.input.length;for(let t=this.innerDone;t=this.stoppedAt)a=!1;else if(e.hasNode(r)){if(t){let c=t.mounts.find(h=>h.frag.from<=r.from&&h.frag.to>=r.to&&h.mount.overlay);if(c)for(let h of c.mount.overlay){let f=h.from+c.pos,u=h.to+c.pos;f>=r.from&&u<=r.to&&!t.ranges.some(O=>O.fromf)&&t.ranges.push({from:f,to:u})}}a=!1}else if(n&&(o=zQ(n.ranges,r.from,r.to)))a=o!=2;else if(!r.type.isAnonymous&&(s=this.nest(r,this.input))&&(r.fromnew Ve(f.from-r.from,f.to-r.from)):null,!!s.bracketed,r.tree,h.length?h[0].from:r.from)),s.overlay?h.length&&(n={ranges:h,depth:0,prev:n}):a=!1}}else if(t&&(l=t.predicate(r))&&(l===!0&&(l=new Ve(r.from,r.to)),l.from=0&&t.ranges[c].to==l.from?t.ranges[c]={from:t.ranges[c].from,to:l.to}:t.ranges.push(l)}if(a&&r.firstChild())t&&t.depth++,n&&n.depth++;else for(;!r.nextSibling();){if(!r.parent())break e;if(t&&!--t.depth){let c=Au(this.ranges,t.ranges);c.length&&(_u(c),this.inner.splice(t.index,0,new ws(t.parser,t.parser.startParse(this.input,Zu(t.mounts,c),c),t.ranges.map(h=>new Ve(h.from-t.start,h.to-t.start)),t.bracketed,t.target,c[0].from))),t=t.prev}n&&!--n.depth&&(n=n.prev)}}}};function zQ(i,e,t){for(let n of i){if(n.from>=t)break;if(n.to>e)return n.from<=e&&n.to>=t?2:1}return 0}function Ru(i,e,t,n,r,s){if(e=e&&t.enter(n,1,ee.IgnoreOverlays|ee.ExcludeBuffers)))if(t.to<=e)t.next(!1)||(this.done=!0);else break}hasNode(e){if(this.moveTo(e.from),!this.done&&this.cursor.from+this.offset==e.from&&this.cursor.tree)for(let t=this.cursor.tree;;){if(t==e.tree)return!0;if(t.children.length&&t.positions[0]==0&&t.children[0]instanceof G)t=t.children[0];else break}return!1}},tl=class{constructor(e){var t;if(this.fragments=e,this.curTo=0,this.fragI=0,e.length){let n=this.curFrag=e[0];this.curTo=(t=n.tree.prop(Ja))!==null&&t!==void 0?t:n.to,this.inner=new Ps(n.tree,-n.offset)}else this.curFrag=this.inner=null}hasNode(e){for(;this.curFrag&&e.from>=this.curTo;)this.nextFrag();return this.curFrag&&this.curFrag.from<=e.from&&this.curTo>=e.to&&this.inner.hasNode(e)}nextFrag(){var e;if(this.fragI++,this.fragI==this.fragments.length)this.curFrag=this.inner=null;else{let t=this.curFrag=this.fragments[this.fragI];this.curTo=(e=t.tree.prop(Ja))!==null&&e!==void 0?e:t.to,this.inner=new Ps(t.tree,-t.offset)}}findMounts(e,t){var n;let r=[];if(this.inner){this.inner.cursor.moveTo(e,1);for(let s=this.inner.cursor.node;s;s=s.parent){let o=(n=s.tree)===null||n===void 0?void 0:n.prop(I.mounted);if(o&&o.parser==t)for(let a=this.fragI;a=s.to)break;l.tree==this.curFrag.tree&&r.push({frag:l,pos:s.from-l.offset,mount:o})}}}return r}};function Au(i,e){let t=null,n=e;for(let r=1,s=0;r=a)break;l.to<=o||(t||(n=t=e.slice()),l.froma&&t.splice(s+1,0,new Ve(a,l.to))):l.to>a?t[s--]=new Ve(a,l.to):t.splice(s--,1))}}return n}function MQ(i,e,t,n){let r=0,s=0,o=!1,a=!1,l=-1e9,c=[];for(;;){let h=r==i.length?1e9:o?i[r].to:i[r].from,f=s==e.length?1e9:a?e[s].to:e[s].from;if(o!=a){let u=Math.max(l,t),O=Math.min(h,f,n);unew Ve(u.from+n,u.to+n)),f=MQ(e,h,l,c);for(let u=0,O=l;;u++){let p=u==f.length,m=p?c:f[u].from;if(m>O&&t.push(new Wt(O,m,r.tree,-o,s.from>=O||s.openStart,s.to<=m||s.openEnd)),p)break;O=f[u].to}}else t.push(new Wt(l,c,r.tree,-o,s.from>=o||s.openStart,s.to<=a||s.openEnd))}return t}var WQ=0,He=class i{constructor(e,t,n,r){this.name=e,this.set=t,this.base=n,this.modified=r,this.id=WQ++}toString(){let{name:e}=this;for(let t of this.modified)t.name&&(e=`${t.name}(${e})`);return e}static define(e,t){let n=typeof e=="string"?e:"?";if(e instanceof i&&(t=e),t?.base)throw new Error("Can not derive from a modified tag");let r=new i(n,[],null,[]);if(r.set.push(r),t)for(let s of t.set)r.set.push(s);return r}static defineModifier(e){let t=new Cs(e);return n=>n.modified.indexOf(t)>-1?n:Cs.get(n.base||n,n.modified.concat(t).sort((r,s)=>r.id-s.id))}},jQ=0,Cs=class i{constructor(e){this.name=e,this.instances=[],this.id=jQ++}static get(e,t){if(!t.length)return e;let n=t[0].instances.find(a=>a.base==e&&VQ(t,a.modified));if(n)return n;let r=[],s=new He(e.name,r,e,t);for(let a of t)a.instances.push(s);let o=DQ(t);for(let a of e.set)if(!a.modified.length)for(let l of o)r.push(i.get(a,l));return s}};function VQ(i,e){return i.length==e.length&&i.every((t,n)=>t==e[n])}function DQ(i){let e=[[]];for(let t=0;tn.length-t.length)}function ge(i){let e=Object.create(null);for(let t in i){let n=i[t];Array.isArray(n)||(n=[n]);for(let r of t.split(" "))if(r){let s=[],o=2,a=r;for(let f=0;;){if(a=="..."&&f>0&&f+3==r.length){o=1;break}let u=/^"(?:[^"\\]|\\.)*?"|[^\/!]+/.exec(a);if(!u)throw new RangeError("Invalid path: "+r);if(s.push(u[0]=="*"?"":u[0][0]=='"'?JSON.parse(u[0]):u[0]),f+=u[0].length,f==r.length)break;let O=r[f++];if(f==r.length&&O=="!"){o=0;break}if(O!="/")throw new RangeError("Invalid path: "+r);a=r.slice(f)}let l=s.length-1,c=s[l];if(!c)throw new RangeError("Invalid path: "+r);let h=new zi(n,o,l>0?s.slice(0,l):null);e[c]=h.sort(e[c])}}return Mu.add(e)}var Mu=new I({combine(i,e){let t,n,r;for(;i||e;){if(!i||e&&i.depth>=e.depth?(r=e,e=e.next):(r=i,i=i.next),t&&t.mode==r.mode&&!r.context&&!t.context)continue;let s=new zi(r.tags,r.mode,r.context);t?t.next=s:n=s,t=s}return n}}),zi=class{constructor(e,t,n,r){this.tags=e,this.mode=t,this.context=n,this.next=r}get opaque(){return this.mode==0}get inherit(){return this.mode==1}sort(e){return!e||e.depth{let o=r;for(let a of s)for(let l of a.set){let c=t[l.id];if(c){o=o?o+" "+c:c;break}}return o},scope:n}}function YQ(i,e){let t=null;for(let n of i){let r=n.style(e);r&&(t=t?t+" "+r:r)}return t}function Xs(i,e,t,n=0,r=i.length){let s=new sl(n,Array.isArray(e)?e:[e],t);s.highlightRange(i.cursor(),n,r,"",s.highlighters),s.flush(r)}var sl=class{constructor(e,t,n){this.at=e,this.highlighters=t,this.span=n,this.class=""}startSpan(e,t){t!=this.class&&(this.flush(e),e>this.at&&(this.at=e),this.class=t)}flush(e){e>this.at&&this.class&&this.span(this.at,e,this.class)}highlightRange(e,t,n,r,s){let{type:o,from:a,to:l}=e;if(a>=n||l<=t)return;o.isTop&&(s=this.highlighters.filter(O=>!O.scope||O.scope(o)));let c=r,h=IQ(e)||zi.empty,f=YQ(s,h.tags);if(f&&(c&&(c+=" "),c+=f,h.mode==1&&(r+=(r?" ":"")+f)),this.startSpan(Math.max(t,a),c),h.opaque)return;let u=e.tree&&e.tree.prop(I.mounted);if(u&&u.overlay){let O=e.node.enter(u.overlay[0].from+a,1),p=this.highlighters.filter(b=>!b.scope||b.scope(u.tree.type)),m=e.firstChild();for(let b=0,g=a;;b++){let Q=b=S||!e.nextSibling())););if(!Q||S>n)break;g=Q.to+a,g>t&&(this.highlightRange(O.cursor(),Math.max(t,Q.from+a),Math.min(n,g),"",p),this.startSpan(Math.min(n,g),c))}m&&e.parent()}else if(e.firstChild()){u&&(r="");do if(!(e.to<=t)){if(e.from>=n)break;this.highlightRange(e,t,n,r,s),this.startSpan(Math.min(n,e.to),c)}while(e.nextSibling());e.parent()}}};function IQ(i){let e=i.type.prop(Mu);for(;e&&e.context&&!i.matchContext(e.context);)e=e.next;return e||null}var q=He.define,vs=q(),hi=q(),zu=q(hi),Lu=q(hi),fi=q(),$s=q(fi),rl=q(fi),Xt=q(),Ei=q(Xt),Tt=q(),Ct=q(),ol=q(),sr=q(ol),Ts=q(),d={comment:vs,lineComment:q(vs),blockComment:q(vs),docComment:q(vs),name:hi,variableName:q(hi),typeName:zu,tagName:q(zu),propertyName:Lu,attributeName:q(Lu),className:q(hi),labelName:q(hi),namespace:q(hi),macroName:q(hi),literal:fi,string:$s,docString:q($s),character:q($s),attributeValue:q($s),number:rl,integer:q(rl),float:q(rl),bool:q(fi),regexp:q(fi),escape:q(fi),color:q(fi),url:q(fi),keyword:Tt,self:q(Tt),null:q(Tt),atom:q(Tt),unit:q(Tt),modifier:q(Tt),operatorKeyword:q(Tt),controlKeyword:q(Tt),definitionKeyword:q(Tt),moduleKeyword:q(Tt),operator:Ct,derefOperator:q(Ct),arithmeticOperator:q(Ct),logicOperator:q(Ct),bitwiseOperator:q(Ct),compareOperator:q(Ct),updateOperator:q(Ct),definitionOperator:q(Ct),typeOperator:q(Ct),controlOperator:q(Ct),punctuation:ol,separator:q(ol),bracket:sr,angleBracket:q(sr),squareBracket:q(sr),paren:q(sr),brace:q(sr),content:Xt,heading:Ei,heading1:q(Ei),heading2:q(Ei),heading3:q(Ei),heading4:q(Ei),heading5:q(Ei),heading6:q(Ei),contentSeparator:q(Xt),list:q(Xt),quote:q(Xt),emphasis:q(Xt),strong:q(Xt),link:q(Xt),monospace:q(Xt),strikethrough:q(Xt),inserted:q(),deleted:q(),changed:q(),invalid:q(),meta:Ts,documentMeta:q(Ts),annotation:q(Ts),processingInstruction:q(Ts),definition:He.defineModifier("definition"),constant:He.defineModifier("constant"),function:He.defineModifier("function"),standard:He.defineModifier("standard"),local:He.defineModifier("local"),special:He.defineModifier("special")};for(let i in d){let e=d[i];e instanceof He&&(e.name=i)}var Jv=al([{tag:d.link,class:"tok-link"},{tag:d.heading,class:"tok-heading"},{tag:d.emphasis,class:"tok-emphasis"},{tag:d.strong,class:"tok-strong"},{tag:d.keyword,class:"tok-keyword"},{tag:d.atom,class:"tok-atom"},{tag:d.bool,class:"tok-bool"},{tag:d.url,class:"tok-url"},{tag:d.labelName,class:"tok-labelName"},{tag:d.inserted,class:"tok-inserted"},{tag:d.deleted,class:"tok-deleted"},{tag:d.literal,class:"tok-literal"},{tag:d.string,class:"tok-string"},{tag:d.number,class:"tok-number"},{tag:[d.regexp,d.escape,d.special(d.string)],class:"tok-string2"},{tag:d.variableName,class:"tok-variableName"},{tag:d.local(d.variableName),class:"tok-variableName tok-local"},{tag:d.definition(d.variableName),class:"tok-variableName tok-definition"},{tag:d.special(d.variableName),class:"tok-variableName2"},{tag:d.definition(d.propertyName),class:"tok-propertyName tok-definition"},{tag:d.typeName,class:"tok-typeName"},{tag:d.namespace,class:"tok-namespace"},{tag:d.className,class:"tok-className"},{tag:d.macroName,class:"tok-macroName"},{tag:d.propertyName,class:"tok-propertyName"},{tag:d.operator,class:"tok-operator"},{tag:d.comment,class:"tok-comment"},{tag:d.meta,class:"tok-meta"},{tag:d.invalid,class:"tok-invalid"},{tag:d.punctuation,class:"tok-punctuation"}]);var ll,Qt=new I;function yn(i){return Y.define({combine:i?e=>e.concat(i):void 0})}var Zs=new I,xe=class{constructor(e,t,n=[],r=""){this.data=e,this.name=r,re.prototype.hasOwnProperty("tree")||Object.defineProperty(re.prototype,"tree",{get(){return B(this)}}),this.parser=t,this.extension=[bn.of(this),re.languageData.of((s,o,a)=>{let l=Wu(s,o,a),c=l.type.prop(Qt);if(!c)return[];let h=s.facet(c),f=l.type.prop(Zs);if(f){let u=l.resolve(o-l.from,a);for(let O of f)if(O.test(u,s)){let p=s.facet(O.facet);return O.type=="replace"?p:p.concat(h)}}return h})].concat(n)}isActiveAt(e,t,n=-1){return Wu(e,t,n).type.prop(Qt)==this.data}findRegions(e){let t=e.facet(bn);if(t?.data==this.data)return[{from:0,to:e.doc.length}];if(!t||!t.allowsNesting)return[];let n=[],r=(s,o)=>{if(s.prop(Qt)==this.data){n.push({from:o,to:o+s.length});return}let a=s.prop(I.mounted);if(a){if(a.tree.prop(Qt)==this.data){if(a.overlay)for(let l of a.overlay)n.push({from:l.from+o,to:l.to+o});else n.push({from:o,to:o+s.length});return}else if(a.overlay){let l=n.length;if(r(a.tree,a.overlay[0].from+o),n.length>l)return}}for(let l=0;ln.isTop?t:void 0)]}),e.name)}configure(e,t){return new i(this.data,this.parser.configure(e),t||this.name)}get allowsNesting(){return this.parser.hasWrappers()}};function B(i){let e=i.field(xe.state,!1);return e?e.tree:G.empty}function qs(i,e,t=50){var n;let r=(n=i.field(xe.state,!1))===null||n===void 0?void 0:n.context;if(!r)return null;let s=r.viewport;r.updateViewport({from:0,to:e});let o=r.isDone(e)||r.work(t,e)?r.tree:null;return r.updateViewport(s),o}function Bu(i,e=i.doc.length){var t;return((t=i.field(xe.state,!1))===null||t===void 0?void 0:t.context.isDone(e))||!1}var ul=class{constructor(e){this.doc=e,this.cursorPos=0,this.string="",this.cursor=e.iter()}get length(){return this.doc.length}syncTo(e){return this.string=this.cursor.next(e-this.cursorPos).value,this.cursorPos=e+this.string.length,this.cursorPos-this.string.length}chunk(e){return this.syncTo(e),this.string}get lineChunks(){return!0}read(e,t){let n=this.cursorPos-this.string.length;return e=this.cursorPos?this.doc.sliceString(e,t):this.string.slice(e-n,t-n)}},or=null,Li=class i{constructor(e,t,n=[],r,s,o,a,l){this.parser=e,this.state=t,this.fragments=n,this.tree=r,this.treeLen=s,this.viewport=o,this.skipped=a,this.scheduleOn=l,this.parse=null,this.tempSkipped=[]}static create(e,t,n){return new i(e,t,[],G.empty,0,n,[],null)}startParse(){return this.parser.startParse(new ul(this.state.doc),this.fragments)}work(e,t){return t!=null&&t>=this.state.doc.length&&(t=void 0),this.tree!=G.empty&&this.isDone(t??this.state.doc.length)?(this.takeTree(),!0):this.withContext(()=>{var n;if(typeof e=="number"){let r=Date.now()+e;e=()=>Date.now()>r}for(this.parse||(this.parse=this.startParse()),t!=null&&(this.parse.stoppedAt==null||this.parse.stoppedAt>t)&&t=this.treeLen&&((this.parse.stoppedAt==null||this.parse.stoppedAt>e)&&this.parse.stopAt(e),this.withContext(()=>{for(;!(t=this.parse.advance()););}),this.treeLen=e,this.tree=t,this.fragments=this.withoutTempSkipped(Wt.addTree(this.tree,this.fragments,!0)),this.parse=null)}withContext(e){let t=or;or=this;try{return e()}finally{or=t}}withoutTempSkipped(e){for(let t;t=this.tempSkipped.pop();)e=ju(e,t.from,t.to);return e}changes(e,t){let{fragments:n,tree:r,treeLen:s,viewport:o,skipped:a}=this;if(this.takeTree(),!e.empty){let l=[];if(e.iterChangedRanges((c,h,f,u)=>l.push({fromA:c,toA:h,fromB:f,toB:u})),n=Wt.applyChanges(n,l),r=G.empty,s=0,o={from:e.mapPos(o.from,-1),to:e.mapPos(o.to,1)},this.skipped.length){a=[];for(let c of this.skipped){let h=e.mapPos(c.from,1),f=e.mapPos(c.to,-1);he.from&&(this.fragments=ju(this.fragments,r,s),this.skipped.splice(n--,1))}return this.skipped.length>=t?!1:(this.reset(),!0)}reset(){this.parse&&(this.takeTree(),this.parse=null)}skipUntilInView(e,t){this.skipped.push({from:e,to:t})}static getSkippingParser(e){return new class extends jt{createParse(t,n,r){let s=r[0].from,o=r[r.length-1].to;return{parsedPos:s,advance(){let l=or;if(l){for(let c of r)l.tempSkipped.push(c);e&&(l.scheduleOn=l.scheduleOn?Promise.all([l.scheduleOn,e]):e)}return this.parsedPos=o,new G(Oe.none,[],[],o-s)},stoppedAt:null,stopAt(){}}}}}isDone(e){e=Math.min(e,this.state.doc.length);let t=this.fragments;return this.treeLen>=e&&t.length&&t[0].from==0&&t[0].to>=e}static get(){return or}};function ju(i,e,t){return Wt.applyChanges(i,[{fromA:e,toA:t,fromB:e,toB:t}])}var ar=class i{constructor(e){this.context=e,this.tree=e.tree}apply(e){if(!e.docChanged&&this.tree==this.context.tree)return this;let t=this.context.changes(e.changes,e.state),n=this.context.treeLen==e.startState.doc.length?void 0:Math.max(e.changes.mapPos(this.context.treeLen),t.viewport.to);return t.work(20,n)||t.takeTree(),new i(t)}static init(e){let t=Math.min(3e3,e.doc.length),n=Li.create(e.facet(bn).parser,e,{from:0,to:t});return n.work(20,t)||n.takeTree(),new i(n)}};xe.state=he.define({create:ar.init,update(i,e){for(let t of e.effects)if(t.is(xe.setState))return t.value;return e.startState.facet(bn)!=e.state.facet(bn)?ar.init(e.state):i.apply(e)}});var Uu=i=>{let e=setTimeout(()=>i(),500);return()=>clearTimeout(e)};typeof requestIdleCallback<"u"&&(Uu=i=>{let e=-1,t=setTimeout(()=>{e=requestIdleCallback(i,{timeout:400})},100);return()=>e<0?clearTimeout(t):cancelIdleCallback(e)});var cl=typeof navigator<"u"&&(!((ll=navigator.scheduling)===null||ll===void 0)&&ll.isInputPending)?()=>navigator.scheduling.isInputPending():null,BQ=Fe.fromClass(class{constructor(e){this.view=e,this.working=null,this.workScheduled=0,this.chunkEnd=-1,this.chunkBudget=-1,this.work=this.work.bind(this),this.scheduleWork()}update(e){let t=this.view.state.field(xe.state).context;(t.updateViewport(e.view.viewport)||this.view.viewport.to>t.treeLen)&&this.scheduleWork(),(e.docChanged||e.selectionSet)&&(this.view.hasFocus&&(this.chunkBudget+=50),this.scheduleWork()),this.checkAsyncSchedule(t)}scheduleWork(){if(this.working)return;let{state:e}=this.view,t=e.field(xe.state);(t.tree!=t.context.tree||!t.context.isDone(e.doc.length))&&(this.working=Uu(this.work))}work(e){this.working=null;let t=Date.now();if(this.chunkEndr+1e3,l=s.context.work(()=>cl&&cl()||Date.now()>o,r+(a?0:1e5));this.chunkBudget-=Date.now()-t,(l||this.chunkBudget<=0)&&(s.context.takeTree(),this.view.dispatch({effects:xe.setState.of(new ar(s.context))})),this.chunkBudget>0&&!(l&&!a)&&this.scheduleWork(),this.checkAsyncSchedule(s.context)}checkAsyncSchedule(e){e.scheduleOn&&(this.workScheduled++,e.scheduleOn.then(()=>this.scheduleWork()).catch(t=>ot(this.view.state,t)).then(()=>this.workScheduled--),e.scheduleOn=null)}destroy(){this.working&&this.working()}isWorking(){return!!(this.working||this.workScheduled>0)}},{eventHandlers:{focus(){this.scheduleWork()}}}),bn=Y.define({combine(i){return i.length?i[0]:null},enables:i=>[xe.state,BQ,E.contentAttributes.compute([i],e=>{let t=e.facet(i);return t&&t.name?{"data-language":t.name}:{}})]}),pe=class{constructor(e,t=[]){this.language=e,this.support=t,this.extension=[e,t]}},Ye=class i{constructor(e,t,n,r,s,o=void 0){this.name=e,this.alias=t,this.extensions=n,this.filename=r,this.loadFunc=s,this.support=o,this.loading=null}load(){return this.loading||(this.loading=this.loadFunc().then(e=>this.support=e,e=>{throw this.loading=null,e}))}static of(e){let{load:t,support:n}=e;if(!t){if(!n)throw new RangeError("Must pass either 'load' or 'support' to LanguageDescription.of");t=()=>Promise.resolve(n)}return new i(e.name,(e.alias||[]).concat(e.name).map(r=>r.toLowerCase()),e.extensions||[],e.filename,t,n)}static matchFilename(e,t){for(let r of e)if(r.filename&&r.filename.test(t))return r;let n=/\.([^.]+)$/.exec(t);if(n){for(let r of e)if(r.extensions.indexOf(n[1])>-1)return r}return null}static matchLanguageName(e,t,n=!0){t=t.toLowerCase();for(let r of e)if(r.alias.some(s=>s==t))return r;if(n)for(let r of e)for(let s of r.alias){let o=t.indexOf(s);if(o>-1&&(s.length>2||!/\w/.test(t[o-1])&&!/\w/.test(t[o+s.length])))return r}return null}},UQ=Y.define(),_t=Y.define({combine:i=>{if(!i.length)return" ";let e=i[0];if(!e||/\S/.test(e)||Array.from(e).some(t=>t!=e[0]))throw new Error("Invalid indent unit: "+JSON.stringify(i[0]));return e}});function ui(i){let e=i.facet(_t);return e.charCodeAt(0)==9?i.tabSize*e.length:e.length}function cr(i,e){let t="",n=i.tabSize,r=i.facet(_t)[0];if(r==" "){for(;e>=n;)t+=" ",e-=n;r=" "}for(let s=0;s=e?GQ(i,t,e):null}var Mi=class{constructor(e,t={}){this.state=e,this.options=t,this.unit=ui(e)}lineAt(e,t=1){let n=this.state.doc.lineAt(e),{simulateBreak:r,simulateDoubleBreak:s}=this.options;return r!=null&&r>=n.from&&r<=n.to?s&&r==e?{text:"",from:e}:(t<0?r-1&&(s+=o-this.countColumn(n,n.search(/\S|$/))),s}countColumn(e,t=e.length){return Ge(e,this.state.tabSize,t)}lineIndent(e,t=1){let{text:n,from:r}=this.lineAt(e,t),s=this.options.overrideIndentation;if(s){let o=s(r);if(o>-1)return o}return this.countColumn(n,n.search(/\S|$/))}get simulatedBreak(){return this.options.simulateBreak||null}},we=new I;function GQ(i,e,t){let n=e.resolveStack(t),r=e.resolveInner(t,-1).resolve(t,0).enterUnfinishedNodesBefore(t);if(r!=n.node){let s=[];for(let o=r;o&&!(o.fromn.node.to||o.from==n.node.from&&o.type==n.node.type);o=o.parent)s.push(o);for(let o=s.length-1;o>=0;o--)n={node:s[o],next:n}}return Gu(n,i,t)}function Gu(i,e,t){for(let n=i;n;n=n.next){let r=FQ(n.node);if(r)return r(Ol.create(e,t,n))}return 0}function NQ(i){return i.pos==i.options.simulateBreak&&i.options.simulateDoubleBreak}function FQ(i){let e=i.type.prop(we);if(e)return e;let t=i.firstChild,n;if(t&&(n=t.type.prop(I.closedBy))){let r=i.lastChild,s=r&&n.indexOf(r.name)>-1;return o=>Nu(o,!0,1,void 0,s&&!NQ(o)?r.from:void 0)}return i.parent==null?HQ:null}function HQ(){return 0}var Ol=class i extends Mi{constructor(e,t,n){super(e.state,e.options),this.base=e,this.pos=t,this.context=n}get node(){return this.context.node}static create(e,t,n){return new i(e,t,n)}get textAfter(){return this.textAfterPos(this.pos)}get baseIndent(){return this.baseIndentFor(this.node)}baseIndentFor(e){let t=this.state.doc.lineAt(e.from);for(;;){let n=e.resolve(t.from);for(;n.parent&&n.parent.from==n.from;)n=n.parent;if(KQ(n,e))break;t=this.state.doc.lineAt(n.from)}return this.lineIndent(t.from)}continue(){return Gu(this.context.next,this.base,this.pos)}};function KQ(i,e){for(let t=e;t;t=t.parent)if(i==t)return!0;return!1}function JQ(i){let e=i.node,t=e.childAfter(e.from),n=e.lastChild;if(!t)return null;let r=i.options.simulateBreak,s=i.state.doc.lineAt(t.from),o=r==null||r<=s.from?s.to:Math.min(s.to,r);for(let a=t.to;;){let l=e.childAfter(a);if(!l||l==n)return null;if(!l.type.isSkipped){if(l.from>=o)return null;let c=/^ */.exec(s.text.slice(t.to-s.from))[0].length;return{from:t.from,to:t.to+c}}a=l.to}}function bt({closing:i,align:e=!0,units:t=1}){return n=>Nu(n,e,t,i)}function Nu(i,e,t,n,r){let s=i.textAfter,o=s.match(/^\s*/)[0].length,a=n&&s.slice(o,o+n.length)==n||r==i.pos+o,l=e?JQ(i):null;return l?a?i.column(l.from):i.column(l.to):i.baseIndent+(a?0:i.unit*t)}var Fu=i=>i.baseIndent;function Vt({except:i,units:e=1}={}){return t=>{let n=i&&i.test(t.textAfter);return t.baseIndent+(n?0:e*t.unit)}}var Hu=Y.define(),$e=new I;function lt(i){let e=i.firstChild,t=i.lastChild;return e&&e.toa.prop(Qt)==o.data:o?a=>a==o:void 0,this.style=al(e.map(a=>({tag:a.tag,class:a.class||r(Object.assign({},a,{tag:null}))})),{all:s}).style,this.module=n?new it(n):null,this.themeType=t.themeType}static define(e,t){return new i(e,t||{})}},dl=Y.define(),Ku=Y.define({combine(i){return i.length?[i[0]]:null}});function hl(i){let e=i.facet(dl);return e.length?e:i.facet(Ku)}function Ju(i,e){let t=[eb],n;return i instanceof Sn&&(i.module&&t.push(E.styleModule.of(i.module)),n=i.themeType),e?.fallback?t.push(Ku.of(i)):n?t.push(dl.computeN([E.darkTheme],r=>r.facet(E.darkTheme)==(n=="dark")?[i]:[])):t.push(dl.of(i)),t}var pl=class{constructor(e){this.markCache=Object.create(null),this.tree=B(e.state),this.decorations=this.buildDeco(e,hl(e.state)),this.decoratedTo=e.viewport.to}update(e){let t=B(e.state),n=hl(e.state),r=n!=hl(e.startState),{viewport:s}=e.view,o=e.changes.mapPos(this.decoratedTo,1);t.length=s.to?(this.decorations=this.decorations.map(e.changes),this.decoratedTo=o):(t!=this.tree||e.viewportChanged||r)&&(this.tree=t,this.decorations=this.buildDeco(e.view,n),this.decoratedTo=s.to)}buildDeco(e,t){if(!t||!this.tree.length)return Z.none;let n=new Ti;for(let{from:r,to:s}of e.visibleRanges)Xs(this.tree,t,(o,a,l)=>{n.add(o,a,this.markCache[l]||(this.markCache[l]=Z.mark({class:l})))},r,s);return n.finish()}},eb=dt.high(Fe.fromClass(pl,{decorations:i=>i.decorations})),l$=Sn.define([{tag:d.meta,color:"#404740"},{tag:d.link,textDecoration:"underline"},{tag:d.heading,textDecoration:"underline",fontWeight:"bold"},{tag:d.emphasis,fontStyle:"italic"},{tag:d.strong,fontWeight:"bold"},{tag:d.strikethrough,textDecoration:"line-through"},{tag:d.keyword,color:"#708"},{tag:[d.atom,d.bool,d.url,d.contentSeparator,d.labelName],color:"#219"},{tag:[d.literal,d.inserted],color:"#164"},{tag:[d.string,d.deleted],color:"#a11"},{tag:[d.regexp,d.escape,d.special(d.string)],color:"#e40"},{tag:d.definition(d.variableName),color:"#00f"},{tag:d.local(d.variableName),color:"#30a"},{tag:[d.typeName,d.namespace],color:"#085"},{tag:d.className,color:"#167"},{tag:[d.special(d.variableName),d.macroName],color:"#256"},{tag:d.definition(d.propertyName),color:"#00c"},{tag:d.comment,color:"#940"},{tag:d.invalid,color:"#f00"}]);var tb=1e4,ib="()[]{}";var Sl=new I;function ml(i,e,t){let n=i.prop(e<0?I.openedBy:I.closedBy);if(n)return n;if(i.name.length==1){let r=t.indexOf(i.name);if(r>-1&&r%2==(e<0?1:0))return[t[r+e]]}return null}function gl(i){let e=i.type.prop(Sl);return e?e(i.node):i}function Wi(i,e,t,n={}){let r=n.maxScanDistance||tb,s=n.brackets||ib,o=B(i),a=o.resolveInner(e,t);for(let l=a;l;l=l.parent){let c=ml(l.type,t,s);if(c&&l.from0?e>=h.from&&eh.from&&e<=h.to))return nb(i,e,t,l,h,c,s)}}return rb(i,e,t,o,a.type,r,s)}function nb(i,e,t,n,r,s,o){let a=n.parent,l={from:r.from,to:r.to},c=0,h=a?.cursor();if(h&&(t<0?h.childBefore(n.from):h.childAfter(n.to)))do if(t<0?h.to<=n.from:h.from>=n.to){if(c==0&&s.indexOf(h.type.name)>-1&&h.from0)return null;let c={from:t<0?e-1:e,to:t>0?e+1:e},h=i.doc.iterRange(e,t>0?i.doc.length:0),f=0;for(let u=0;!h.next().done&&u<=s;){let O=h.value;t<0&&(u+=O.length);let p=e+u*t;for(let m=t>0?0:O.length-1,b=t>0?O.length:-1;m!=b;m+=t){let g=o.indexOf(O[m]);if(!(g<0||n.resolveInner(p+m,1).type!=r))if(g%2==0==t>0)f++;else{if(f==1)return{start:c,end:{from:p+m,to:p+m+1},matched:g>>1==l>>1};f--}}t>0&&(u+=O.length)}return h.done?{start:c,matched:!1}:null}function Vu(i,e,t,n=0,r=0){e==null&&(e=i.search(/[^\s\u00a0]/),e==-1&&(e=i.length));let s=r;for(let o=n;o=this.string.length}sol(){return this.pos==0}peek(){return this.string.charAt(this.pos)||void 0}next(){if(this.post}eatSpace(){let e=this.pos;for(;/[\s\u00a0]/.test(this.string.charAt(this.pos));)++this.pos;return this.pos>e}skipToEnd(){this.pos=this.string.length}skipTo(e){let t=this.string.indexOf(e,this.pos);if(t>-1)return this.pos=t,!0}backUp(e){this.pos-=e}column(){return this.lastColumnPosn?o.toLowerCase():o,s=this.string.substr(this.pos,e.length);return r(s)==r(e)?(t!==!1&&(this.pos+=e.length),!0):null}else{let r=this.string.slice(this.pos).match(e);return r&&r.index>0?null:(r&&t!==!1&&(this.pos+=r[0].length),r)}}current(){return this.string.slice(this.start,this.pos)}};function sb(i){return{name:i.name||"",token:i.token,blankLine:i.blankLine||(()=>{}),startState:i.startState||(()=>!0),copyState:i.copyState||ob,indent:i.indent||(()=>null),languageData:i.languageData||{},tokenTable:i.tokenTable||kl,mergeTokens:i.mergeTokens!==!1}}function ob(i){if(typeof i!="object")return i;let e={};for(let t in i){let n=i[t];e[t]=n instanceof Array?n.slice():n}return e}var Du=new WeakMap,Rs=class i extends xe{constructor(e){let t=yn(e.languageData),n=sb(e),r,s=new class extends jt{createParse(o,a,l){return new Ql(r,o,a,l)}};super(t,s,[],e.name),this.topNode=hb(t,this),r=this,this.streamParser=n,this.stateAfter=new I({perNode:!0}),this.tokenTable=e.tokenTable?new As(n.tokenTable):cb}static define(e){return new i(e)}getIndent(e){let t,{overrideIndentation:n}=e.options;n&&(t=Du.get(e.state),t!=null&&t1e4)return null;for(;s=n&&t+e.length<=r&&e.prop(i.stateAfter);if(s)return{state:i.streamParser.copyState(s),pos:t+e.length};for(let o=e.children.length-1;o>=0;o--){let a=e.children[o],l=t+e.positions[o],c=a instanceof G&&l=e.length)return e;!r&&t==0&&e.type==i.topNode&&(r=!0);for(let s=e.children.length-1;s>=0;s--){let o=e.positions[s],a=e.children[s],l;if(ot&&yl(i,s.tree,0-s.offset,t,a),c;if(l&&l.pos<=n&&(c=eO(i,s.tree,t+s.offset,l.pos+s.offset,!1)))return{state:l.state,tree:c}}return{state:i.streamParser.startState(r?ui(r):4),tree:G.empty}}var Ql=class{constructor(e,t,n,r){this.lang=e,this.input=t,this.fragments=n,this.ranges=r,this.stoppedAt=null,this.chunks=[],this.chunkPos=[],this.chunk=[],this.chunkReused=void 0,this.rangeIndex=0,this.to=r[r.length-1].to;let s=Li.get(),o=r[0].from,{state:a,tree:l}=ab(e,n,o,this.to,s?.state);this.state=a,this.parsedPos=this.chunkStart=o+l.length;for(let c=0;cc.from<=s.viewport.from&&c.to>=s.viewport.from)&&(this.state=this.lang.streamParser.startState(ui(s.state)),s.skipUntilInView(this.parsedPos,s.viewport.from),this.parsedPos=s.viewport.from),this.moveRangeIndex()}advance(){let e=Li.get(),t=this.stoppedAt==null?this.to:Math.min(this.to,this.stoppedAt),n=Math.min(t,this.chunkStart+512);for(e&&(n=Math.min(n,e.viewport.to));this.parsedPos=t?this.finish():e&&this.parsedPos>=e.viewport.to?(e.skipUntilInView(this.parsedPos,t),this.finish()):null}stopAt(e){this.stoppedAt=e}lineAfter(e){let t=this.input.chunk(e);if(this.input.lineChunks)t==` +(()=>{var qo=[],Ih=[];(()=>{let i="lc,34,7n,7,7b,19,,,,2,,2,,,20,b,1c,l,g,,2t,7,2,6,2,2,,4,z,,u,r,2j,b,1m,9,9,,o,4,,9,,3,,5,17,3,3b,f,,w,1j,,,,4,8,4,,3,7,a,2,t,,1m,,,,2,4,8,,9,,a,2,q,,2,2,1l,,4,2,4,2,2,3,3,,u,2,3,,b,2,1l,,4,5,,2,4,,k,2,m,6,,,1m,,,2,,4,8,,7,3,a,2,u,,1n,,,,c,,9,,14,,3,,1l,3,5,3,,4,7,2,b,2,t,,1m,,2,,2,,3,,5,2,7,2,b,2,s,2,1l,2,,,2,4,8,,9,,a,2,t,,20,,4,,2,3,,,8,,29,,2,7,c,8,2q,,2,9,b,6,22,2,r,,,,,,1j,e,,5,,2,5,b,,10,9,,2u,4,,6,,2,2,2,p,2,4,3,g,4,d,,2,2,6,,f,,jj,3,qa,3,t,3,t,2,u,2,1s,2,,7,8,,2,b,9,,19,3,3b,2,y,,3a,3,4,2,9,,6,3,63,2,2,,1m,,,7,,,,,2,8,6,a,2,,1c,h,1r,4,1c,7,,,5,,14,9,c,2,w,4,2,2,,3,1k,,,2,3,,,3,1m,8,2,2,48,3,,d,,7,4,,6,,3,2,5i,1m,,5,ek,,5f,x,2da,3,3x,,2o,w,fe,6,2x,2,n9w,4,,a,w,2,28,2,7k,,3,,4,,p,2,5,,47,2,q,i,d,,12,8,p,b,1a,3,1c,,2,4,2,2,13,,1v,6,2,2,2,2,c,,8,,1b,,1f,,,3,2,2,5,2,,,16,2,8,,6m,,2,,4,,fn4,,kh,g,g,g,a6,2,gt,,6a,,45,5,1ae,3,,2,5,4,14,3,4,,4l,2,fx,4,ar,2,49,b,4w,,1i,f,1k,3,1d,4,2,2,1x,3,10,5,,8,1q,,c,2,1g,9,a,4,2,,2n,3,2,,,2,6,,4g,,3,8,l,2,1l,2,,,,,m,,e,7,3,5,5f,8,2,3,,,n,,29,,2,6,,,2,,,2,,2,6j,,2,4,6,2,,2,r,2,2d,8,2,,,2,2y,,,,2,6,,,2t,3,2,4,,5,77,9,,2,6t,,a,2,,,4,,40,4,2,2,4,,w,a,14,6,2,4,8,,9,6,2,3,1a,d,,2,ba,7,,6,,,2a,m,2,7,,2,,2,3e,6,3,,,2,,7,,,20,2,3,,,,9n,2,f0b,5,1n,7,t4,,1r,4,29,,f5k,2,43q,,,3,4,5,8,8,2,7,u,4,44,3,1iz,1j,4,1e,8,,e,,m,5,,f,11s,7,,h,2,7,,2,,5,79,7,c5,4,15s,7,31,7,240,5,gx7k,2o,3k,6o".split(",").map(e=>e?parseInt(e,36):1);for(let e=0,t=0;e>1;if(i=Ih[n])e=n+1;else return!0;if(e==t)return!1}}function Vh(i){return i>=127462&&i<=127487}var Dh=8205;function Bh(i,e,t=!0,n=!0){return(t?Uh:i0)(i,e,n)}function Uh(i,e,t){if(e==i.length)return e;e&&Gh(i.charCodeAt(e))&&Nh(i.charCodeAt(e-1))&&e--;let n=Zo(i,e);for(e+=Yh(n);e=0&&Vh(Zo(i,o));)s++,o-=2;if(s%2==0)break;e+=2}else break}return e}function i0(i,e,t){for(;e>1;){let n=Uh(i,e-2,t);if(n=56320&&i<57344}function Nh(i){return i>=55296&&i<56320}function Yh(i){return i<65536?1:2}var H=class i{lineAt(e){if(e<0||e>this.length)throw new RangeError(`Invalid position ${e} in document of length ${this.length}`);return this.lineInner(e,!1,1,0)}line(e){if(e<1||e>this.lines)throw new RangeError(`Invalid line number ${e} in ${this.lines}-line document`);return this.lineInner(e,!0,1,0)}replace(e,t,n){[e,t]=sn(this,e,t);let r=[];return this.decompose(0,e,r,2),n.length&&n.decompose(0,n.length,r,3),this.decompose(t,this.length,r,1),tn.from(r,this.length-(t-e)+n.length)}append(e){return this.replace(this.length,this.length,e)}slice(e,t=this.length){[e,t]=sn(this,e,t);let n=[];return this.decompose(e,t,n,0),tn.from(n,t-e)}eq(e){if(e==this)return!0;if(e.length!=this.length||e.lines!=this.lines)return!1;let t=this.scanIdentical(e,1),n=this.length-this.scanIdentical(e,-1),r=new $i(this),s=new $i(e);for(let o=t,a=t;;){if(r.next(o),s.next(o),o=0,r.lineBreak!=s.lineBreak||r.done!=s.done||r.value!=s.value)return!1;if(a+=r.value.length,r.done||a>=n)return!0}}iter(e=1){return new $i(this,e)}iterRange(e,t=this.length){return new Ir(this,e,t)}iterLines(e,t){let n;if(e==null)n=this.iter();else{t==null&&(t=this.lines+1);let r=this.line(e).from;n=this.iterRange(r,Math.max(r,t==this.lines+1?this.length:t<=1?0:this.line(t-1).to))}return new Br(n)}toString(){return this.sliceString(0)}toJSON(){let e=[];return this.flatten(e),e}constructor(){}static of(e){if(e.length==0)throw new RangeError("A document must have at least one line");return e.length==1&&!e[0]?i.empty:e.length<=32?new Ne(e):tn.from(Ne.split(e,[]))}},Ne=class i extends H{constructor(e,t=n0(e)){super(),this.text=e,this.length=t}get lines(){return this.text.length}get children(){return null}lineInner(e,t,n,r){for(let s=0;;s++){let o=this.text[s],a=r+o.length;if((t?n:a)>=e)return new zo(r,a,n,o);r=a+1,n++}}decompose(e,t,n,r){let s=e<=0&&t>=this.length?this:new i(Fh(this.text,e,t),Math.min(t,this.length)-Math.max(0,e));if(r&1){let o=n.pop(),a=Yr(s.text,o.text.slice(),0,s.length);if(a.length<=32)n.push(new i(a,o.length+s.length));else{let l=a.length>>1;n.push(new i(a.slice(0,l)),new i(a.slice(l)))}}else n.push(s)}replace(e,t,n){if(!(n instanceof i))return super.replace(e,t,n);[e,t]=sn(this,e,t);let r=Yr(this.text,Yr(n.text,Fh(this.text,0,e)),t),s=this.length+n.length-(t-e);return r.length<=32?new i(r,s):tn.from(i.split(r,[]),s)}sliceString(e,t=this.length,n=` +`){[e,t]=sn(this,e,t);let r="";for(let s=0,o=0;s<=t&&oe&&o&&(r+=n),es&&(r+=a.slice(Math.max(0,e-s),t-s)),s=l+1}return r}flatten(e){for(let t of this.text)e.push(t)}scanIdentical(){return 0}static split(e,t){let n=[],r=-1;for(let s of e)n.push(s),r+=s.length+1,n.length==32&&(t.push(new i(n,r)),n=[],r=-1);return r>-1&&t.push(new i(n,r)),t}},tn=class i extends H{constructor(e,t){super(),this.children=e,this.length=t,this.lines=0;for(let n of e)this.lines+=n.lines}lineInner(e,t,n,r){for(let s=0;;s++){let o=this.children[s],a=r+o.length,l=n+o.lines-1;if((t?l:a)>=e)return o.lineInner(e,t,n,r);r=a+1,n=l+1}}decompose(e,t,n,r){for(let s=0,o=0;o<=t&&s=o){let c=r&((o<=e?1:0)|(l>=t?2:0));o>=e&&l<=t&&!c?n.push(a):a.decompose(e-o,t-o,n,c)}o=l+1}}replace(e,t,n){if([e,t]=sn(this,e,t),n.lines=s&&t<=a){let l=o.replace(e-s,t-s,n),c=this.lines-o.lines+l.lines;if(l.lines>4&&l.lines>c>>6){let h=this.children.slice();return h[r]=l,new i(h,this.length-(t-e)+n.length)}return super.replace(s,a,l)}s=a+1}return super.replace(e,t,n)}sliceString(e,t=this.length,n=` +`){[e,t]=sn(this,e,t);let r="";for(let s=0,o=0;se&&s&&(r+=n),eo&&(r+=a.sliceString(e-o,t-o,n)),o=l+1}return r}flatten(e){for(let t of this.children)t.flatten(e)}scanIdentical(e,t){if(!(e instanceof i))return 0;let n=0,[r,s,o,a]=t>0?[0,0,this.children.length,e.children.length]:[this.children.length-1,e.children.length-1,-1,-1];for(;;r+=t,s+=t){if(r==o||s==a)return n;let l=this.children[r],c=e.children[s];if(l!=c)return n+l.scanIdentical(c,t);n+=l.length+1}}static from(e,t=e.reduce((n,r)=>n+r.length+1,-1)){let n=0;for(let O of e)n+=O.lines;if(n<32){let O=[];for(let p of e)p.flatten(O);return new Ne(O,t)}let r=Math.max(32,n>>5),s=r<<1,o=r>>1,a=[],l=0,c=-1,h=[];function f(O){let p;if(O.lines>s&&O instanceof i)for(let m of O.children)f(m);else O.lines>o&&(l>o||!l)?(u(),a.push(O)):O instanceof Ne&&l&&(p=h[h.length-1])instanceof Ne&&O.lines+p.lines<=32?(l+=O.lines,c+=O.length+1,h[h.length-1]=new Ne(p.text.concat(O.text),p.length+1+O.length)):(l+O.lines>r&&u(),l+=O.lines,c+=O.length+1,h.push(O))}function u(){l!=0&&(a.push(h.length==1?h[0]:i.from(h,c)),c=-1,l=h.length=0)}for(let O of e)f(O);return u(),a.length==1?a[0]:new i(a,t)}};H.empty=new Ne([""],0);function n0(i){let e=-1;for(let t of i)e+=t.length+1;return e}function Yr(i,e,t=0,n=1e9){for(let r=0,s=0,o=!0;s=t&&(l>n&&(a=a.slice(0,n-r)),r0?1:(e instanceof Ne?e.text.length:e.children.length)<<1]}nextInner(e,t){for(this.done=this.lineBreak=!1;;){let n=this.nodes.length-1,r=this.nodes[n],s=this.offsets[n],o=s>>1,a=r instanceof Ne?r.text.length:r.children.length;if(o==(t>0?a:0)){if(n==0)return this.done=!0,this.value="",this;t>0&&this.offsets[n-1]++,this.nodes.pop(),this.offsets.pop()}else if((s&1)==(t>0?0:1)){if(this.offsets[n]+=t,e==0)return this.lineBreak=!0,this.value=` +`,this;e--}else if(r instanceof Ne){let l=r.text[o+(t<0?-1:0)];if(this.offsets[n]+=t,l.length>Math.max(0,e))return this.value=e==0?l:t>0?l.slice(e):l.slice(0,l.length-e),this;e-=l.length}else{let l=r.children[o+(t<0?-1:0)];e>l.length?(e-=l.length,this.offsets[n]+=t):(t<0&&this.offsets[n]--,this.nodes.push(l),this.offsets.push(t>0?1:(l instanceof Ne?l.text.length:l.children.length)<<1))}}}next(e=0){return e<0&&(this.nextInner(-e,-this.dir),e=this.value.length),this.nextInner(e,this.dir)}},Ir=class{constructor(e,t,n){this.value="",this.done=!1,this.cursor=new $i(e,t>n?-1:1),this.pos=t>n?e.length:0,this.from=Math.min(t,n),this.to=Math.max(t,n)}nextInner(e,t){if(t<0?this.pos<=this.from:this.pos>=this.to)return this.value="",this.done=!0,this;e+=Math.max(0,t<0?this.pos-this.to:this.from-this.pos);let n=t<0?this.pos-this.from:this.to-this.pos;e>n&&(e=n),n-=e;let{value:r}=this.cursor.next(e);return this.pos+=(r.length+e)*t,this.value=r.length<=n?r:t<0?r.slice(r.length-n):r.slice(0,n),this.done=!this.value,this}next(e=0){return e<0?e=Math.max(e,this.from-this.pos):e>0&&(e=Math.min(e,this.to-this.pos)),this.nextInner(e,this.cursor.dir)}get lineBreak(){return this.cursor.lineBreak&&this.value!=""}},Br=class{constructor(e){this.inner=e,this.afterBreak=!0,this.value="",this.done=!1}next(e=0){let{done:t,lineBreak:n,value:r}=this.inner.next(e);return t&&this.afterBreak?(this.value="",this.afterBreak=!1):t?(this.done=!0,this.value=""):n?this.afterBreak?this.value="":(this.afterBreak=!0,this.next()):(this.value=r,this.afterBreak=!1),this}get lineBreak(){return!1}};typeof Symbol<"u"&&(H.prototype[Symbol.iterator]=function(){return this.iter()},$i.prototype[Symbol.iterator]=Ir.prototype[Symbol.iterator]=Br.prototype[Symbol.iterator]=function(){return this});var zo=class{constructor(e,t,n,r){this.from=e,this.to=t,this.number=n,this.text=r}get length(){return this.to-this.from}};function sn(i,e,t){return e=Math.max(0,Math.min(i.length,e)),[e,Math.max(e,Math.min(i.length,t))]}function ke(i,e,t=!0,n=!0){return Bh(i,e,t,n)}function r0(i){return i>=56320&&i<57344}function s0(i){return i>=55296&&i<56320}function ni(i,e){let t=i.charCodeAt(e);if(!s0(t)||e+1==i.length)return t;let n=i.charCodeAt(e+1);return r0(n)?(t-55296<<10)+(n-56320)+65536:t}function tf(i){return i<=65535?String.fromCharCode(i):(i-=65536,String.fromCharCode((i>>10)+55296,(i&1023)+56320))}function on(i){return i<65536?1:2}var Lo=/\r\n?|\n/,me=(function(i){return i[i.Simple=0]="Simple",i[i.TrackDel=1]="TrackDel",i[i.TrackBefore=2]="TrackBefore",i[i.TrackAfter=3]="TrackAfter",i})(me||(me={})),qt=class i{constructor(e){this.sections=e}get length(){let e=0;for(let t=0;te)return s+(e-r);s+=a}else{if(n!=me.Simple&&c>=e&&(n==me.TrackDel&&re||n==me.TrackBefore&&re))return null;if(c>e||c==e&&t<0&&!a)return e==r||t<0?s:s+l;s+=l}r=c}if(e>r)throw new RangeError(`Position ${e} is out of range for changeset of length ${r}`);return s}touchesRange(e,t=e){for(let n=0,r=0;n=0&&r<=t&&a>=e)return rt?"cover":!0;r=a}return!1}toString(){let e="";for(let t=0;t=0?":"+r:"")}return e}toJSON(){return this.sections}static fromJSON(e){if(!Array.isArray(e)||e.length%2||e.some(t=>typeof t!="number"))throw new RangeError("Invalid JSON representation of ChangeDesc");return new i(e)}static create(e){return new i(e)}},ze=class i extends qt{constructor(e,t){super(e),this.inserted=t}apply(e){if(this.length!=e.length)throw new RangeError("Applying change set to a document with the wrong length");return Mo(this,(t,n,r,s,o)=>e=e.replace(r,r+(n-t),o),!1),e}mapDesc(e,t=!1){return Wo(this,e,t,!0)}invert(e){let t=this.sections.slice(),n=[];for(let r=0,s=0;r=0){t[r]=a,t[r+1]=o;let l=r>>1;for(;n.length0&&ii(n,t,s.text),s.forward(h),a+=h}let c=e[o++];for(;a>1].toJSON()))}return e}static of(e,t,n){let r=[],s=[],o=0,a=null;function l(h=!1){if(!h&&!r.length)return;ou||f<0||u>t)throw new RangeError(`Invalid change range ${f} to ${u} (in doc of length ${t})`);let p=O?typeof O=="string"?H.of(O.split(n||Lo)):O:H.empty,m=p.length;if(f==u&&m==0)return;fo&&Xe(r,f-o,-1),Xe(r,u-f,m),ii(s,r,p),o=u}}return c(e),l(!a),a}static empty(e){return new i(e?[e,-1]:[],[])}static fromJSON(e){if(!Array.isArray(e))throw new RangeError("Invalid JSON representation of ChangeSet");let t=[],n=[];for(let r=0;ra&&typeof o!="string"))throw new RangeError("Invalid JSON representation of ChangeSet");if(s.length==1)t.push(s[0],0);else{for(;n.length=0&&t<=0&&t==i[r+1]?i[r]+=e:r>=0&&e==0&&i[r]==0?i[r+1]+=t:n?(i[r]+=e,i[r+1]+=t):i.push(e,t)}function ii(i,e,t){if(t.length==0)return;let n=e.length-2>>1;if(n>1])),!(t||o==i.sections.length||i.sections[o+1]<0);)a=i.sections[o++],l=i.sections[o++];e(r,c,s,h,f),r=c,s=h}}}function Wo(i,e,t,n=!1){let r=[],s=n?[]:null,o=new Ti(i),a=new Ti(e);for(let l=-1;;){if(o.done&&a.len||a.done&&o.len)throw new Error("Mismatched change set lengths");if(o.ins==-1&&a.ins==-1){let c=Math.min(o.len,a.len);Xe(r,c,-1),o.forward(c),a.forward(c)}else if(a.ins>=0&&(o.ins<0||l==o.i||o.off==0&&(a.len=0&&l=0){let c=0,h=o.len;for(;h;)if(a.ins==-1){let f=Math.min(h,a.len);c+=f,h-=f,a.forward(f)}else if(a.ins==0&&a.lenl||o.ins>=0&&o.len>l)&&(a||n.length>c),s.forward2(l),o.forward(l)}}}}var Ti=class{constructor(e){this.set=e,this.i=0,this.next()}next(){let{sections:e}=this.set;this.i>1;return t>=e.length?H.empty:e[t]}textBit(e){let{inserted:t}=this.set,n=this.i-2>>1;return n>=t.length&&!e?H.empty:t[n].slice(this.off,e==null?void 0:this.off+e)}forward(e){e==this.len?this.next():(this.len-=e,this.off+=e)}forward2(e){this.ins==-1?this.forward(e):e==this.ins?this.next():(this.ins-=e,this.off+=e)}},wi=class i{constructor(e,t,n,r){this.from=e,this.to=t,this.flags=n,this.goalColumn=r}get anchor(){return this.flags&32?this.to:this.from}get head(){return this.flags&32?this.from:this.to}get empty(){return this.from==this.to}get assoc(){return this.flags&8?-1:this.flags&16?1:0}get undirectional(){return(this.flags&64)>0}get bidiLevel(){let e=this.flags&7;return e==7?null:e}map(e,t=-1){let n,r;return this.empty?n=r=e.mapPos(this.from,t):(n=e.mapPos(this.from,1),r=e.mapPos(this.to,-1)),n==this.from&&r==this.to?this:new i(n,r,this.flags,this.goalColumn)}extend(e,t=e,n=0){if(e<=this.anchor&&t>=this.anchor)return v.range(e,t,void 0,void 0,n);let r=Math.abs(e-this.anchor)>Math.abs(t-this.anchor)?e:t;return v.range(this.anchor,r,void 0,void 0,n)}eq(e,t=!1){return this.anchor==e.anchor&&this.head==e.head&&this.goalColumn==e.goalColumn&&(!t||!this.empty||this.assoc==e.assoc)}toJSON(){return{anchor:this.anchor,head:this.head}}static fromJSON(e){if(!e||typeof e.anchor!="number"||typeof e.head!="number")throw new RangeError("Invalid JSON representation for SelectionRange");return v.range(e.anchor,e.head)}static create(e,t,n,r){return new i(e,t,n,r)}},v=class i{constructor(e,t){this.ranges=e,this.mainIndex=t}map(e,t=-1){return e.empty?this:i.create(this.ranges.map(n=>n.map(e,t)),this.mainIndex)}eq(e,t=!1){if(this.ranges.length!=e.ranges.length||this.mainIndex!=e.mainIndex)return!1;for(let n=0;ne.toJSON()),main:this.mainIndex}}static fromJSON(e){if(!e||!Array.isArray(e.ranges)||typeof e.main!="number"||e.main>=e.ranges.length)throw new RangeError("Invalid JSON representation for EditorSelection");return new i(e.ranges.map(t=>wi.fromJSON(t)),e.main)}static single(e,t=e){return new i([i.range(e,t)],0)}static create(e,t=0){if(e.length==0)throw new RangeError("A selection needs at least one range");for(let n=0,r=0;rr.from-s.from),t=e.indexOf(n);for(let r=1;rs.head?i.range(l,a):i.range(a,l))}}return new i(e,t)}};function rf(i,e){for(let t of i.ranges)if(t.to>e)throw new RangeError("Selection points outside of document")}var Fo=0,Y=class i{constructor(e,t,n,r,s){this.combine=e,this.compareInput=t,this.compare=n,this.isStatic=r,this.id=Fo++,this.default=e([]),this.extensions=typeof s=="function"?s(this):s}get reader(){return this}static define(e={}){return new i(e.combine||(t=>t),e.compareInput||((t,n)=>t===n),e.compare||(e.combine?(t,n)=>t===n:Ho),!!e.static,e.enables)}of(e){return new nn([],this,0,e)}compute(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new nn(e,this,1,t)}computeN(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new nn(e,this,2,t)}from(e,t){return t||(t=n=>n),this.compute([e],n=>t(n.field(e)))}};function Ho(i,e){return i==e||i.length==e.length&&i.every((t,n)=>t===e[n])}var nn=class{constructor(e,t,n,r){this.dependencies=e,this.facet=t,this.type=n,this.value=r,this.id=Fo++}dynamicSlot(e){var t;let n=this.value,r=this.facet.compareInput,s=this.id,o=e[s]>>1,a=this.type==2,l=!1,c=!1,h=[];for(let f of this.dependencies)f=="doc"?l=!0:f=="selection"?c=!0:(((t=e[f.id])!==null&&t!==void 0?t:1)&1)==0&&h.push(e[f.id]);return{create(f){return f.values[o]=n(f),1},update(f,u){if(l&&u.docChanged||c&&(u.docChanged||u.selection)||jo(f,h)){let O=n(f);if(a?!Hh(O,f.values[o],r):!r(O,f.values[o]))return f.values[o]=O,1}return 0},reconfigure:(f,u)=>{let O,p=u.config.address[s];if(p!=null){let m=Fr(u,p);if(this.dependencies.every(b=>b instanceof Y?u.facet(b)===f.facet(b):b instanceof he?u.field(b,!1)==f.field(b,!1):!0)||(a?Hh(O=n(f),m,r):r(O=n(f),m)))return f.values[o]=m,0}else O=n(f);return f.values[o]=O,1}}}get extension(){return this}};function Hh(i,e,t){if(i.length!=e.length)return!1;for(let n=0;ni[l.id]),r=t.map(l=>l.type),s=n.filter(l=>!(l&1)),o=i[e.id]>>1;function a(l){let c=[];for(let h=0;hn===r),e);return e.provide&&(t.provides=e.provide(t)),t}create(e){let t=e.facet(jr).find(n=>n.field==this);return(t?.create||this.createF)(e)}slot(e){let t=e[this.id]>>1;return{create:n=>(n.values[t]=this.create(n),1),update:(n,r)=>{let s=n.values[t],o=this.updateF(s,r);return this.compareF(s,o)?0:(n.values[t]=o,1)},reconfigure:(n,r)=>{let s=n.facet(jr),o=r.facet(jr),a;return(a=s.find(l=>l.field==this))&&a!=o.find(l=>l.field==this)?(n.values[t]=a.create(n),1):r.config.address[this.id]!=null?(n.values[t]=r.field(this),0):(n.values[t]=this.create(n),1)}}}init(e){return[this,jr.of({field:this,create:e})]}get extension(){return this}},Pi={lowest:4,low:3,default:2,high:1,highest:0};function Mn(i){return e=>new Ur(e,i)}var pt={highest:Mn(Pi.highest),high:Mn(Pi.high),default:Mn(Pi.default),low:Mn(Pi.low),lowest:Mn(Pi.lowest)},Ur=class{constructor(e,t){this.inner=e,this.prec=t}get extension(){return this}},Gr=class i{of(e){return new jn(this,e)}reconfigure(e){return i.reconfigure.of({compartment:this,extension:e})}get(e){return e.config.compartments.get(this)}},jn=class{constructor(e,t){this.compartment=e,this.inner=t}get extension(){return this}},Nr=class i{constructor(e,t,n,r,s,o){for(this.base=e,this.compartments=t,this.dynamicSlots=n,this.address=r,this.staticValues=s,this.facets=o,this.statusTemplate=[];this.statusTemplate.length>1]}static resolve(e,t,n){let r=[],s=Object.create(null),o=new Map;for(let u of a0(e,t,o))u instanceof he?r.push(u):(s[u.facet.id]||(s[u.facet.id]=[])).push(u);let a=Object.create(null),l=[],c=[];for(let u of r)a[u.id]=c.length<<1,c.push(O=>u.slot(O));let h=n?.config.facets;for(let u in s){let O=s[u],p=O[0].facet,m=h&&h[u]||[];if(O.every(b=>b.type==0))if(a[p.id]=l.length<<1|1,Ho(m,O))l.push(n.facet(p));else{let b=p.combine(O.map(g=>g.value));l.push(n&&p.compare(b,n.facet(p))?n.facet(p):b)}else{for(let b of O)b.type==0?(a[b.id]=l.length<<1|1,l.push(b.value)):(a[b.id]=c.length<<1,c.push(g=>b.dynamicSlot(g)));a[p.id]=c.length<<1,c.push(b=>o0(b,p,O))}}let f=c.map(u=>u(a));return new i(e,o,f,a,l,s)}};function a0(i,e,t){let n=[[],[],[],[],[]],r=new Map;function s(o,a){let l=r.get(o);if(l!=null){if(l<=a)return;let c=n[l].indexOf(o);c>-1&&n[l].splice(c,1),o instanceof jn&&t.delete(o.compartment)}if(r.set(o,a),Array.isArray(o))for(let c of o)s(c,a);else if(o instanceof jn){if(t.has(o.compartment))throw new RangeError("Duplicate use of compartment in extensions");let c=e.get(o.compartment)||o.inner;t.set(o.compartment,c),s(c,a)}else if(o instanceof Ur)s(o.inner,o.prec);else if(o instanceof he)n[a].push(o),o.provides&&s(o.provides,a);else if(o instanceof nn)n[a].push(o),o.facet.extensions&&s(o.facet.extensions,Pi.default);else{let c=o.extension;if(!c)throw new Error(`Unrecognized extension value in extension set (${o}).`);if(c==o)throw new Error(`Unrecognized extension value in extension set (${o}). This sometimes happens because multiple instances of @codemirror/state are loaded, breaking instanceof checks.`);s(c,a)}}return s(i,Pi.default),n.reduce((o,a)=>o.concat(a))}function Wn(i,e){if(e&1)return 2;let t=e>>1,n=i.status[t];if(n==4)throw new Error("Cyclic dependency between fields and/or facets");if(n&2)return n;i.status[t]=4;let r=i.computeSlot(i,i.config.dynamicSlots[t]);return i.status[t]=2|r}function Fr(i,e){return e&1?i.config.staticValues[e>>1]:i.values[e>>1]}var sf=Y.define(),Vo=Y.define({combine:i=>i.some(e=>e),static:!0}),of=Y.define({combine:i=>i.length?i[0]:void 0,static:!0}),af=Y.define(),lf=Y.define(),cf=Y.define(),hf=Y.define({combine:i=>i.length?i[0]:!1}),_e=class{constructor(e,t){this.type=e,this.value=t}static define(){return new Do}},Do=class{of(e){return new _e(this,e)}},Yo=class{constructor(e){this.map=e}of(e){return new ie(this,e)}},ie=class i{constructor(e,t){this.type=e,this.value=t}map(e){let t=this.type.map(this.value,e);return t===void 0?void 0:t==this.value?this:new i(this.type,t)}is(e){return this.type==e}static define(e={}){return new Yo(e.map||(t=>t))}static mapEffects(e,t){if(!e.length)return e;let n=[];for(let r of e){let s=r.map(t);s&&n.push(s)}return n}};ie.reconfigure=ie.define();ie.appendConfig=ie.define();var de=class i{constructor(e,t,n,r,s,o){this.startState=e,this.changes=t,this.selection=n,this.effects=r,this.annotations=s,this.scrollIntoView=o,this._doc=null,this._state=null,n&&rf(n,t.newLength),s.some(a=>a.type==i.time)||(this.annotations=s.concat(i.time.of(Date.now())))}static create(e,t,n,r,s,o){return new i(e,t,n,r,s,o)}get newDoc(){return this._doc||(this._doc=this.changes.apply(this.startState.doc))}get newSelection(){return this.selection||this.startState.selection.map(this.changes)}get state(){return this._state||this.startState.applyTransaction(this),this._state}annotation(e){for(let t of this.annotations)if(t.type==e)return t.value}get docChanged(){return!this.changes.empty}get reconfigured(){return this.startState.config!=this.state.config}isUserEvent(e){let t=this.annotation(i.userEvent);return!!(t&&(t==e||t.length>e.length&&t.slice(0,e.length)==e&&t[e.length]=="."))}};de.time=_e.define();de.userEvent=_e.define();de.addToHistory=_e.define();de.remote=_e.define();function l0(i,e){let t=[];for(let n=0,r=0;;){let s,o;if(n=i[n]))s=i[n++],o=i[n++];else if(r=0;r--){let s=n[r](i);s instanceof de?i=s:Array.isArray(s)&&s.length==1&&s[0]instanceof de?i=s[0]:i=uf(e,rn(s),!1)}return i}function h0(i){let e=i.startState,t=e.facet(cf),n=i;for(let r=t.length-1;r>=0;r--){let s=t[r](i);s&&Object.keys(s).length&&(n=ff(n,Io(e,s,i.changes.newLength),!0))}return n==i?i:de.create(e,i.changes,i.selection,n.effects,n.annotations,n.scrollIntoView)}var f0=[];function rn(i){return i==null?f0:Array.isArray(i)?i:[i]}var Ee=(function(i){return i[i.Word=0]="Word",i[i.Space=1]="Space",i[i.Other=2]="Other",i})(Ee||(Ee={})),u0=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/,Bo;try{Bo=new RegExp("[\\p{Alphabetic}\\p{Number}_]","u")}catch{}function O0(i){if(Bo)return Bo.test(i);for(let e=0;e"\x80"&&(t.toUpperCase()!=t.toLowerCase()||u0.test(t)))return!0}return!1}function d0(i){return e=>{if(!/\S/.test(e))return Ee.Space;if(O0(e))return Ee.Word;for(let t=0;t-1)return Ee.Word;return Ee.Other}}var re=class i{constructor(e,t,n,r,s,o){this.config=e,this.doc=t,this.selection=n,this.values=r,this.status=e.statusTemplate.slice(),this.computeSlot=s,o&&(o._state=this);for(let a=0;ar.set(c,l)),t=null),r.set(a.value.compartment,a.value.extension)):a.is(ie.reconfigure)?(t=null,n=a.value):a.is(ie.appendConfig)&&(t=null,n=rn(n).concat(a.value));let s;t?s=e.startState.values.slice():(t=Nr.resolve(n,r,this),s=new i(t,this.doc,this.selection,t.dynamicSlots.map(()=>null),(l,c)=>c.reconfigure(l,this),null).values);let o=e.startState.facet(Vo)?e.newSelection:e.newSelection.asSingle();new i(t,e.newDoc,o,s,(a,l)=>l.update(a,e),e)}replaceSelection(e){return typeof e=="string"&&(e=this.toText(e)),this.changeByRange(t=>({changes:{from:t.from,to:t.to,insert:e},range:v.cursor(t.from+e.length)}))}changeByRange(e){let t=this.selection,n=e(t.ranges[0]),r=this.changes(n.changes),s=[n.range],o=rn(n.effects);for(let a=1;ao.spec.fromJSON(a,l)))}}return i.create({doc:e.doc,selection:v.fromJSON(e.selection),extensions:t.extensions?r.concat([t.extensions]):r})}static create(e={}){let t=Nr.resolve(e.extensions||[],new Map),n=e.doc instanceof H?e.doc:H.of((e.doc||"").split(t.staticFacet(i.lineSeparator)||Lo)),r=e.selection?e.selection instanceof v?e.selection:v.single(e.selection.anchor,e.selection.head):v.single(0);return rf(r,n.length),t.staticFacet(Vo)||(r=r.asSingle()),new i(t,n,r,t.dynamicSlots.map(()=>null),(s,o)=>o.create(s),null)}get tabSize(){return this.facet(i.tabSize)}get lineBreak(){return this.facet(i.lineSeparator)||` +`}get readOnly(){return this.facet(hf)}phrase(e,...t){for(let n of this.facet(i.phrases))if(Object.prototype.hasOwnProperty.call(n,e)){e=n[e];break}return t.length&&(e=e.replace(/\$(\$|\d*)/g,(n,r)=>{if(r=="$")return"$";let s=+(r||1);return!s||s>t.length?n:t[s-1]})),e}languageDataAt(e,t,n=-1){let r=[];for(let s of this.facet(sf))for(let o of s(this,t,n))Object.prototype.hasOwnProperty.call(o,e)&&r.push(o[e]);return r}charCategorizer(e){let t=this.languageDataAt("wordChars",e);return d0(t.length?t[0]:"")}wordAt(e){let{text:t,from:n,length:r}=this.doc.lineAt(e),s=this.charCategorizer(e),o=e-n,a=e-n;for(;o>0;){let l=ke(t,o,!1);if(s(t.slice(l,o))!=Ee.Word)break;o=l}for(;ai.length?i[0]:4});re.lineSeparator=of;re.readOnly=hf;re.phrases=Y.define({compare(i,e){let t=Object.keys(i),n=Object.keys(e);return t.length==n.length&&t.every(r=>i[r]==e[r])}});re.languageData=sf;re.changeFilter=af;re.transactionFilter=lf;re.transactionExtender=cf;Gr.reconfigure=ie.define();function Yn(i,e,t={}){let n={};for(let r of i)for(let s of Object.keys(r)){let o=r[s],a=n[s];if(a===void 0)n[s]=o;else if(!(a===o||o===void 0))if(Object.hasOwnProperty.call(t,s))n[s]=t[s](a,o);else throw new Error("Config merge conflict for field "+s)}for(let r in e)n[r]===void 0&&(n[r]=e[r]);return n}var it=class{eq(e){return this==e}range(e,t=e){return Vn.create(e,t,this)}};it.prototype.startSide=it.prototype.endSide=0;it.prototype.point=!1;it.prototype.mapMode=me.TrackDel;function Ko(i,e){return i==e||i.constructor==e.constructor&&i.eq(e)}var Vn=class i{constructor(e,t,n){this.from=e,this.to=t,this.value=n}static create(e,t,n){return new i(e,t,n)}};function Uo(i,e){return i.from-e.from||i.value.startSide-e.value.startSide}var Go=class i{constructor(e,t,n,r){this.from=e,this.to=t,this.value=n,this.maxPoint=r}get length(){return this.to[this.to.length-1]}findIndex(e,t,n,r=0){let s=n?this.to:this.from;for(let o=r,a=s.length;;){if(o==a)return o;let l=o+a>>1,c=s[l]-e||(n?this.value[l].endSide:this.value[l].startSide)-t;if(l==o)return c>=0?o:a;c>=0?a=l:o=l+1}}between(e,t,n,r){for(let s=this.findIndex(t,-1e9,!0),o=this.findIndex(n,1e9,!1,s);sO||u==O&&c.startSide>0&&c.endSide<=0)continue;(O-u||c.endSide-c.startSide)<0||(o<0&&(o=u),c.point&&(a=Math.max(a,O-u)),n.push(c),r.push(u-o),s.push(O-o))}return{mapped:n.length?new i(r,s,n,a):null,pos:o}}},oe=class i{constructor(e,t,n,r){this.chunkPos=e,this.chunk=t,this.nextLayer=n,this.maxPoint=r}static create(e,t,n,r){return new i(e,t,n,r)}get length(){let e=this.chunk.length-1;return e<0?0:Math.max(this.chunkEnd(e),this.nextLayer.length)}get size(){if(this.isEmpty)return 0;let e=this.nextLayer.size;for(let t of this.chunk)e+=t.value.length;return e}chunkEnd(e){return this.chunkPos[e]+this.chunk[e].length}update(e){let{add:t=[],sort:n=!1,filterFrom:r=0,filterTo:s=this.length}=e,o=e.filter;if(t.length==0&&!o)return this;if(n&&(t=t.slice().sort(Uo)),this.isEmpty)return t.length?i.of(t):this;let a=new Hr(this,null,-1).goto(0),l=0,c=[],h=new Ci;for(;a.value||l=0){let f=t[l++];h.addInner(f.from,f.to,f.value)||c.push(f)}else a.rangeIndex==1&&a.chunkIndexthis.chunkEnd(a.chunkIndex)||sa.to||s=s&&e<=s+o.length&&o.between(s,e-s,t-s,n)===!1)return}this.nextLayer.between(e,t,n)}}iter(e=0){return Dn.from([this]).goto(e)}get isEmpty(){return this.nextLayer==this}static iter(e,t=0){return Dn.from(e).goto(t)}static compare(e,t,n,r,s=-1){let o=e.filter(f=>f.maxPoint>0||!f.isEmpty&&f.maxPoint>=s),a=t.filter(f=>f.maxPoint>0||!f.isEmpty&&f.maxPoint>=s),l=Kh(o,a,n),c=new vi(o,l,s),h=new vi(a,l,s);n.iterGaps((f,u,O)=>Jh(c,f,h,u,O,r)),n.empty&&n.length==0&&Jh(c,0,h,0,0,r)}static eq(e,t,n=0,r){r==null&&(r=999999999);let s=e.filter(h=>!h.isEmpty&&t.indexOf(h)<0),o=t.filter(h=>!h.isEmpty&&e.indexOf(h)<0);if(s.length!=o.length)return!1;if(!s.length)return!0;let a=Kh(s,o),l=new vi(s,a,0).goto(n),c=new vi(o,a,0).goto(n);for(;;){if(l.to!=c.to||!No(l.active,c.active)||l.point&&(!c.point||!Ko(l.point,c.point)))return!1;if(l.to>r)return!0;l.next(),c.next()}}static spans(e,t,n,r,s=-1){let o=new vi(e,null,s).goto(t),a=t,l=o.openStart;for(;;){let c=Math.min(o.to,n);if(o.point){let h=o.activeForPoint(o.to),f=o.pointFroma&&(r.span(a,c,o.active,l),l=o.openEnd(c));if(o.to>n)return l+(o.point&&o.to>n?1:0);a=o.to,o.next()}}static of(e,t=!1){let n=new Ci;for(let r of e instanceof Vn?[e]:t?p0(e):e)n.add(r.from,r.to,r.value);return n.finish()}static join(e){if(!e.length)return i.empty;let t=e[e.length-1];for(let n=e.length-2;n>=0;n--)for(let r=e[n];r!=i.empty;r=r.nextLayer)t=new i(r.chunkPos,r.chunk,t,Math.max(r.maxPoint,t.maxPoint));return t}};oe.empty=new oe([],[],null,-1);function p0(i){if(i.length>1)for(let e=i[0],t=1;t0)return i.slice().sort(Uo);e=n}return i}oe.empty.nextLayer=oe.empty;var Ci=class i{finishChunk(e){this.chunks.push(new Go(this.from,this.to,this.value,this.maxPoint)),this.chunkPos.push(this.chunkStart),this.chunkStart=-1,this.setMaxPoint=Math.max(this.setMaxPoint,this.maxPoint),this.maxPoint=-1,e&&(this.from=[],this.to=[],this.value=[])}constructor(){this.chunks=[],this.chunkPos=[],this.chunkStart=-1,this.last=null,this.lastFrom=-1e9,this.lastTo=-1e9,this.from=[],this.to=[],this.value=[],this.maxPoint=-1,this.setMaxPoint=-1,this.nextLayer=null}add(e,t,n){this.addInner(e,t,n)||(this.nextLayer||(this.nextLayer=new i)).add(e,t,n)}addInner(e,t,n){let r=e-this.lastTo||n.startSide-this.last.endSide;if(r<=0&&(e-this.lastFrom||n.startSide-this.last.startSide)<0)throw new Error("Ranges must be added sorted by `from` position and `startSide`");return r<0?!1:(this.from.length==250&&this.finishChunk(!0),this.chunkStart<0&&(this.chunkStart=e),this.from.push(e-this.chunkStart),this.to.push(t-this.chunkStart),this.last=n,this.lastFrom=e,this.lastTo=t,this.value.push(n),n.point&&(this.maxPoint=Math.max(this.maxPoint,t-e)),!0)}addChunk(e,t){if((e-this.lastTo||t.value[0].startSide-this.last.endSide)<0)return!1;this.from.length&&this.finishChunk(!0),this.setMaxPoint=Math.max(this.setMaxPoint,t.maxPoint),this.chunks.push(t),this.chunkPos.push(e);let n=t.value.length-1;return this.last=t.value[n],this.lastFrom=t.from[n]+e,this.lastTo=t.to[n]+e,!0}finish(){return this.finishInner(oe.empty)}finishInner(e){if(this.from.length&&this.finishChunk(!1),this.chunks.length==0)return e;let t=oe.create(this.chunkPos,this.chunks,this.nextLayer?this.nextLayer.finishInner(e):e,this.setMaxPoint);return this.from=null,t}};function Kh(i,e,t){let n=new Map;for(let s of i)for(let o=0;o=this.minPoint)break}}setRangeIndex(e){if(e==this.layer.chunk[this.chunkIndex].value.length){if(this.chunkIndex++,this.skip)for(;this.chunkIndex=n&&r.push(new Hr(o,t,n,s));return r.length==1?r[0]:new i(r)}get startSide(){return this.value?this.value.startSide:0}goto(e,t=-1e9){for(let n of this.heap)n.goto(e,t);for(let n=this.heap.length>>1;n>=0;n--)Eo(this.heap,n);return this.next(),this}forward(e,t){for(let n of this.heap)n.forward(e,t);for(let n=this.heap.length>>1;n>=0;n--)Eo(this.heap,n);(this.to-e||this.value.endSide-t)<0&&this.next()}next(){if(this.heap.length==0)this.from=this.to=1e9,this.value=null,this.rank=-1;else{let e=this.heap[0];this.from=e.from,this.to=e.to,this.value=e.value,this.rank=e.rank,e.value&&e.next(),Eo(this.heap,0)}}};function Eo(i,e){for(let t=i[e];;){let n=(e<<1)+1;if(n>=i.length)break;let r=i[n];if(n+1=0&&(r=i[n+1],n++),t.compare(r)<0)break;i[n]=t,i[e]=r,e=n}}var vi=class{constructor(e,t,n){this.minPoint=n,this.active=[],this.activeTo=[],this.activeRank=[],this.minActive=-1,this.point=null,this.pointFrom=0,this.pointRank=0,this.to=-1e9,this.endSide=0,this.openStart=-1,this.cursor=Dn.from(e,t,n)}goto(e,t=-1e9){return this.cursor.goto(e,t),this.active.length=this.activeTo.length=this.activeRank.length=0,this.minActive=-1,this.to=e,this.endSide=t,this.openStart=-1,this.next(),this}forward(e,t){for(;this.minActive>-1&&(this.activeTo[this.minActive]-e||this.active[this.minActive].endSide-t)<0;)this.removeActive(this.minActive);this.cursor.forward(e,t)}removeActive(e){Vr(this.active,e),Vr(this.activeTo,e),Vr(this.activeRank,e),this.minActive=ef(this.active,this.activeTo)}addActive(e){let t=0,{value:n,to:r,rank:s}=this.cursor;for(;t0;)t++;Dr(this.active,t,n),Dr(this.activeTo,t,r),Dr(this.activeRank,t,s),e&&Dr(e,t,this.cursor.from),this.minActive=ef(this.active,this.activeTo)}next(){let e=this.to,t=this.point;this.point=null;let n=this.openStart<0?[]:null;for(;;){let r=this.minActive;if(r>-1&&(this.activeTo[r]-this.cursor.from||this.active[r].endSide-this.cursor.startSide)<0){if(this.activeTo[r]>e){this.to=this.activeTo[r],this.endSide=this.active[r].endSide;break}this.removeActive(r),n&&Vr(n,r)}else if(this.cursor.value)if(this.cursor.from>e){this.to=this.cursor.from,this.endSide=this.cursor.startSide;break}else{let s=this.cursor.value;if(!s.point)this.addActive(n),this.cursor.next();else if(t&&this.cursor.to==this.to&&this.cursor.from=0&&n[r]=0&&!(this.activeRank[n]e||this.activeTo[n]==e&&this.active[n].endSide>=this.point.endSide)&&t.push(this.active[n]);return t.reverse()}openEnd(e){let t=0;for(let n=this.activeTo.length-1;n>=0&&this.activeTo[n]>e;n--)t++;return t}};function Jh(i,e,t,n,r,s){i.goto(e),t.goto(n);let o=n+r,a=n,l=n-e,c=!!s.boundChange;for(let h=!1;;){let f=i.to+l-t.to,u=f||i.endSide-t.endSide,O=u<0?i.to+l:t.to,p=Math.min(O,o);if(i.point||t.point?(i.point&&t.point&&Ko(i.point,t.point)&&No(i.activeForPoint(i.to),t.activeForPoint(t.to))||s.comparePoint(a,p,i.point,t.point),h=!1):(h&&s.boundChange(a),p>a&&!No(i.active,t.active)&&s.compareRange(a,p,i.active,t.active),c&&po)break;a=O,u<=0&&i.next(),u>=0&&t.next()}}function No(i,e){if(i.length!=e.length)return!1;for(let t=0;t=e;n--)i[n+1]=i[n];i[e]=t}function ef(i,e){let t=-1,n=1e9;for(let r=0;r=e)return r;if(r==i.length)break;s+=i.charCodeAt(r)==9?t-s%t:1,r=ke(i,r)}return n===!0?-1:i.length}var df=typeof Symbol>"u"?"__\u037C":Symbol.for("\u037C"),Jo=typeof Symbol>"u"?"__styleSet"+Math.floor(Math.random()*1e8):Symbol("styleSet"),pf=typeof globalThis<"u"?globalThis:typeof window<"u"?window:{},nt=class{constructor(e,t){this.rules=[];let{finish:n}=t||{};function r(o){return/^@/.test(o)?[o]:o.split(/,\s*/)}function s(o,a,l,c){let h=[],f=/^@(\w+)\b/.exec(o[0]),u=f&&f[1]=="keyframes";if(f&&a==null)return l.push(o[0]+";");for(let O in a){let p=a[O];if(/&/.test(O))s(O.split(/,\s*/).map(m=>o.map(b=>m.replace(/&/,b))).reduce((m,b)=>m.concat(b)),p,l);else if(p&&typeof p=="object"){if(!f)throw new RangeError("The value of a property ("+O+") should be a primitive value.");s(r(O),p,h,u)}else p!=null&&h.push(O.replace(/_.*/,"").replace(/[A-Z]/g,m=>"-"+m.toLowerCase())+": "+p+";")}(h.length||u)&&l.push((n&&!f&&!c?o.map(n):o).join(", ")+" {"+h.join(" ")+"}")}for(let o in e)s(r(o),e[o],this.rules)}getRules(){return this.rules.join(` +`)}static newName(){let e=pf[df]||1;return pf[df]=e+1,"\u037C"+e.toString(36)}static mount(e,t,n){let r=e[Jo],s=n&&n.nonce;r?s&&r.setNonce(s):r=new ea(e,s),r.mount(Array.isArray(t)?t:[t],e)}},mf=new Map,ea=class{constructor(e,t){let n=e.ownerDocument||e,r=n.defaultView;if(!e.head&&e.adoptedStyleSheets&&r.CSSStyleSheet){let s=mf.get(n);if(s)return e[Jo]=s;this.sheet=new r.CSSStyleSheet,mf.set(n,this)}else this.styleTag=n.createElement("style"),t&&this.styleTag.setAttribute("nonce",t);this.modules=[],e[Jo]=this}mount(e,t){let n=this.sheet,r=0,s=0;for(let o=0;o-1&&(this.modules.splice(l,1),s--,l=-1),l==-1){if(this.modules.splice(s++,0,a),n)for(let c=0;c",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},m0=typeof navigator<"u"&&/Mac/.test(navigator.platform),g0=typeof navigator<"u"&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent);for(be=0;be<10;be++)Et[48+be]=Et[96+be]=String(be);var be;for(be=1;be<=24;be++)Et[be+111]="F"+be;var be;for(be=65;be<=90;be++)Et[be]=String.fromCharCode(be+32),an[be]=String.fromCharCode(be);var be;for(Kr in Et)an.hasOwnProperty(Kr)||(an[Kr]=Et[Kr]);var Kr;function gf(i){var e=m0&&i.metaKey&&i.shiftKey&&!i.ctrlKey&&!i.altKey||g0&&i.shiftKey&&i.key&&i.key.length==1||i.key=="Unidentified",t=!e&&i.key||(i.shiftKey?an:Et)[i.keyCode]||i.key||"Unidentified";return t=="Esc"&&(t="Escape"),t=="Del"&&(t="Delete"),t=="Left"&&(t="ArrowLeft"),t=="Up"&&(t="ArrowUp"),t=="Right"&&(t="ArrowRight"),t=="Down"&&(t="ArrowDown"),t}var Le=typeof navigator<"u"?navigator:{userAgent:"",vendor:"",platform:""},oa=typeof document<"u"?document:{documentElement:{style:{}}},aa=/Edge\/(\d+)/.exec(Le.userAgent),If=/MSIE \d/.test(Le.userAgent),la=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(Le.userAgent),Ss=!!(If||la||aa),Qf=!Ss&&/gecko\/(\d+)/i.test(Le.userAgent),ta=!Ss&&/Chrome\/(\d+)/.exec(Le.userAgent),bf="webkitFontSmoothing"in oa.documentElement.style,ca=!Ss&&/Apple Computer/.test(Le.vendor),Sf=ca&&(/Mobile\/\w+/.test(Le.userAgent)||Le.maxTouchPoints>2),L={mac:Sf||/Mac/.test(Le.platform),windows:/Win/.test(Le.platform),linux:/Linux|X11/.test(Le.platform),ie:Ss,ie_version:If?oa.documentMode||6:la?+la[1]:aa?+aa[1]:0,gecko:Qf,gecko_version:Qf?+(/Firefox\/(\d+)/.exec(Le.userAgent)||[0,0])[1]:0,chrome:!!ta,chrome_version:ta?+ta[1]:0,ios:Sf,android:/Android\b/.test(Le.userAgent),webkit:bf,webkit_version:bf?+(/\bAppleWebKit\/(\d+)/.exec(Le.userAgent)||[0,0])[1]:0,safari:ca,safari_version:ca?+(/\bVersion\/(\d+(\.\d+)?)/.exec(Le.userAgent)||[0,0])[1]:0,tabSize:oa.documentElement.style.tabSize!=null?"tab-size":"-moz-tab-size"};function Ya(i,e){for(let t in i)t=="class"&&e.class?e.class+=" "+i.class:t=="style"&&e.style?e.style+=";"+i.style:e[t]=i[t];return e}var ls=Object.create(null);function Ia(i,e,t){if(i==e)return!0;i||(i=ls),e||(e=ls);let n=Object.keys(i),r=Object.keys(e);if(n.length-(t&&n.indexOf(t)>-1?1:0)!=r.length-(t&&r.indexOf(t)>-1?1:0))return!1;for(let s of n)if(s!=t&&(r.indexOf(s)==-1||i[s]!==e[s]))return!1;return!0}function Q0(i,e){for(let t=i.attributes.length-1;t>=0;t--){let n=i.attributes[t].name;e[n]==null&&i.removeAttribute(n)}for(let t in e){let n=e[t];t=="style"?i.style.cssText=n:i.getAttribute(t)!=n&&i.setAttribute(t,n)}}function yf(i,e,t){let n=!1;if(e)for(let r in e)t&&r in t||(n=!0,r=="style"?i.style.cssText="":i.removeAttribute(r));if(t)for(let r in t)e&&e[r]==t[r]||(n=!0,r=="style"?i.style.cssText=t[r]:i.setAttribute(r,t[r]));return n}function b0(i){let e=Object.create(null);for(let t=0;t0?3e8:-4e8:t>0?1e8:-1e8,new Ri(e,t,t,n,e.widget||null,!1)}static replace(e){let t=!!e.block,n,r;if(e.isBlockGap)n=-5e8,r=4e8;else{let{start:s,end:o}=Bf(e,t);n=(s?t?-3e8:-1:5e8)-1,r=(o?t?2e8:1:-6e8)+1}return new Ri(e,n,r,t,e.widget||null,!0)}static line(e){return new ir(e)}static set(e,t=!1){return oe.of(e,t)}hasHeight(){return this.widget?this.widget.estimatedHeight>-1:!1}};Z.none=oe.empty;var tr=class i extends Z{constructor(e){let{start:t,end:n}=Bf(e);super(t?-1:5e8,n?1:-6e8,null,e),this.tagName=e.tagName||"span",this.attrs=e.class&&e.attributes?Ya(e.attributes,{class:e.class}):e.class?{class:e.class}:e.attributes||ls}eq(e){return this==e||e instanceof i&&this.tagName==e.tagName&&Ia(this.attrs,e.attrs)}range(e,t=e){if(e>=t)throw new RangeError("Mark decorations may not be empty");return super.range(e,t)}};tr.prototype.point=!1;var ir=class i extends Z{constructor(e){super(-2e8,-2e8,null,e)}eq(e){return e instanceof i&&this.spec.class==e.spec.class&&Ia(this.spec.attributes,e.spec.attributes)}range(e,t=e){if(t!=e)throw new RangeError("Line decoration ranges must be zero-length");return super.range(e,t)}};ir.prototype.mapMode=me.TrackBefore;ir.prototype.point=!0;var Ri=class i extends Z{constructor(e,t,n,r,s,o){super(t,n,s,e),this.block=r,this.isReplace=o,this.mapMode=r?t<=0?me.TrackBefore:me.TrackAfter:me.TrackDel}get type(){return this.startSide!=this.endSide?lt.WidgetRange:this.startSide<=0?lt.WidgetBefore:lt.WidgetAfter}get heightRelevant(){return this.block||!!this.widget&&(this.widget.estimatedHeight>=5||this.widget.lineBreaks>0)}eq(e){return e instanceof i&&S0(this.widget,e.widget)&&this.block==e.block&&this.startSide==e.startSide&&this.endSide==e.endSide}range(e,t=e){if(this.isReplace&&(e>t||e==t&&this.startSide>0&&this.endSide<=0))throw new RangeError("Invalid range for replacement decoration");if(!this.isReplace&&t!=e)throw new RangeError("Widget decorations can only have zero-length ranges");return super.range(e,t)}};Ri.prototype.point=!0;function Bf(i,e=!1){let{inclusiveStart:t,inclusiveEnd:n}=i;return t==null&&(t=i.inclusive),n==null&&(n=i.inclusive),{start:t??e,end:n??e}}function S0(i,e){return i==e||!!(i&&e&&i.compare(e))}function fn(i,e,t,n=0){let r=t.length-1;r>=0&&t[r]+n>=i?t[r]=Math.max(t[r],e):t.push(i,e)}var oi=class i extends it{constructor(e,t,n){super(),this.tagName=e,this.attributes=t,this.rank=n}eq(e){return e==this||e instanceof i&&this.tagName==e.tagName&&Ia(this.attributes,e.attributes)}static create(e){return new i(e.tagName,e.attributes||ls,e.rank==null?50:Math.max(0,Math.min(e.rank,100)))}static set(e,t=!1){return oe.of(e,t)}};oi.prototype.startSide=oi.prototype.endSide=-1;function nr(i){let e;return i.nodeType==11?e=i.getSelection?i:i.ownerDocument:e=i,e.getSelection()}function ha(i,e){return e?i==e||i.contains(e.nodeType!=1?e.parentNode:e):!1}function Gn(i,e){if(!e.anchorNode)return!1;try{return ha(i,e.anchorNode)}catch{return!1}}function os(i){return i.nodeType==3?rr(i,0,i.nodeValue.length).getClientRects():i.nodeType==1?i.getClientRects():[]}function Nn(i,e,t,n){return t?kf(i,e,t,n,-1)||kf(i,e,t,n,1):!1}function ai(i){for(var e=0;;e++)if(i=i.previousSibling,!i)return e}function cs(i){return i.nodeType==1&&/^(DIV|P|LI|UL|OL|BLOCKQUOTE|DD|DT|H\d|SECTION|PRE)$/.test(i.nodeName)}function kf(i,e,t,n,r){for(;;){if(i==t&&e==n)return!0;if(e==(r<0?0:Mt(i))){if(i.nodeName=="DIV")return!1;let s=i.parentNode;if(!s||s.nodeType!=1)return!1;e=ai(i)+(r<0?0:1),i=s}else if(i.nodeType==1){if(i=i.childNodes[e+(r<0?-1:0)],i.nodeType==1&&i.contentEditable=="false")return!1;e=r<0?Mt(i):0}else return!1}}function Mt(i){return i.nodeType==3?i.nodeValue.length:i.childNodes.length}function hs(i,e){let{left:t,right:n}=i;if(t==n)return i;let r=e?t:n;return{left:r,right:r,top:i.top,bottom:i.bottom}}function y0(i){let e=i.visualViewport;return e?{left:0,right:e.width,top:0,bottom:e.height}:{left:0,right:i.innerWidth,top:0,bottom:i.innerHeight}}function Uf(i,e){let t=e.width/i.offsetWidth,n=e.height/i.offsetHeight;return(t>.995&&t<1.005||!isFinite(t)||Math.abs(e.width-i.offsetWidth)<1)&&(t=1),(n>.995&&n<1.005||!isFinite(n)||Math.abs(e.height-i.offsetHeight)<1)&&(n=1),{scaleX:t,scaleY:n}}function k0(i,e,t,n,r,s,o,a){let l=i.ownerDocument,c=l.defaultView||window;for(let h=i,f=!1;h&&!f;)if(h.nodeType==1){let u,O=h==l.body,p=1,m=1;if(O)u=y0(c);else{if(/^(fixed|sticky)$/.test(getComputedStyle(h).position)&&(f=!0),h.scrollHeight<=h.clientHeight&&h.scrollWidth<=h.clientWidth){h=h.assignedSlot||h.parentNode;continue}let Q=h.getBoundingClientRect();({scaleX:p,scaleY:m}=Uf(h,Q)),u={left:Q.left,right:Q.left+h.clientWidth*p,top:Q.top,bottom:Q.top+h.clientHeight*m}}let b=0,g=0;if(r=="nearest")e.top0&&e.bottom>u.bottom+g&&(g=e.bottom-u.bottom+o)):e.bottom>u.bottom-o&&(g=e.bottom-u.bottom+o,t<0&&e.top-g0&&e.right>u.right+b&&(b=e.right-u.right+s)):e.right>u.right-s&&(b=e.right-u.right+s,t<0&&e.leftu.bottom||e.leftu.right)&&(e={left:Math.max(e.left,u.left),right:Math.min(e.right,u.right),top:Math.max(e.top,u.top),bottom:Math.min(e.bottom,u.bottom)}),h=h.assignedSlot||h.parentNode}else if(h.nodeType==11)h=h.host;else break}function Gf(i,e=!0){let t=i.ownerDocument,n=null,r=null;for(let s=i.parentNode;s&&!(s==t.body||(!e||n)&&r);)if(s.nodeType==1)!r&&s.scrollHeight>s.clientHeight&&(r=s),e&&!n&&s.scrollWidth>s.clientWidth&&(n=s),s=s.assignedSlot||s.parentNode;else if(s.nodeType==11)s=s.host;else break;return{x:n,y:r}}var fa=class{constructor(){this.anchorNode=null,this.anchorOffset=0,this.focusNode=null,this.focusOffset=0}eq(e){return this.anchorNode==e.anchorNode&&this.anchorOffset==e.anchorOffset&&this.focusNode==e.focusNode&&this.focusOffset==e.focusOffset}setRange(e){let{anchorNode:t,focusNode:n}=e;this.set(t,Math.min(e.anchorOffset,t?Mt(t):0),n,Math.min(e.focusOffset,n?Mt(n):0))}set(e,t,n,r){this.anchorNode=e,this.anchorOffset=t,this.focusNode=n,this.focusOffset=r}},Xi=null;L.safari&&L.safari_version>=26&&(Xi=!1);function Nf(i){if(i.setActive)return i.setActive();if(Xi)return i.focus(Xi);let e=[];for(let t=i;t&&(e.push(t,t.scrollTop,t.scrollLeft),t!=t.ownerDocument);t=t.parentNode);if(i.focus(Xi==null?{get preventScroll(){return Xi={preventScroll:!0},!0}}:void 0),!Xi){Xi=!1;for(let t=0;tMath.max(0,i.document.documentElement.scrollHeight-i.innerHeight-4):i.scrollTop>Math.max(1,i.scrollHeight-i.clientHeight-4)}function Hf(i,e){for(let t=i,n=e;;){if(t.nodeType==3&&n>0)return{node:t,offset:n};if(t.nodeType==1&&n>0){if(t.contentEditable=="false")return null;t=t.childNodes[n-1],n=Mt(t)}else if(t.parentNode&&!cs(t))n=ai(t),t=t.parentNode;else return null}}function Kf(i,e){for(let t=i,n=e;;){if(t.nodeType==3&&n=t){if(a.level==n)return o;(s<0||(r!=0?r<0?a.fromt:e[s].level>a.level))&&(s=o)}}if(s<0)throw new RangeError("Index out of range");return s}};function tu(i,e){if(i.length!=e.length)return!1;for(let t=0;t=0;m-=3)if($t[m+1]==-O){let b=$t[m+2],g=b&2?r:b&4?b&1?s:r:0;g&&(se[f]=se[$t[m]]=g),a=m;break}}else{if($t.length==189)break;$t[a++]=f,$t[a++]=u,$t[a++]=l}else if((p=se[f])==2||p==1){let m=p==r;l=m?0:1;for(let b=a-3;b>=0;b-=3){let g=$t[b+2];if(g&2)break;if(m)$t[b+2]|=2;else{if(g&4)break;$t[b+2]|=4}}}}}function X0(i,e,t,n){for(let r=0,s=n;r<=t.length;r++){let o=r?t[r-1].to:i,a=rl;)p==b&&(p=t[--m].from,b=m?t[m-1].to:i),se[--p]=O;l=h}else s=c,l++}}}function Oa(i,e,t,n,r,s,o){let a=n%2?2:1;if(n%2==r%2)for(let l=e,c=0;ll&&o.push(new ot(l,m.from,O));let b=m.direction==Ai!=!(O%2);da(i,b?n+1:n,r,m.inner,m.from,m.to,o),l=m.to}p=m.to}else{if(p==t||(h?se[p]!=a:se[p]==a))break;p++}u?Oa(i,l,p,n+1,r,u,o):le;){let h=!0,f=!1;if(!c||l>s[c-1].to){let m=se[l-1];m!=a&&(h=!1,f=m==16)}let u=!h&&a==1?[]:null,O=h?n:n+1,p=l;e:for(;;)if(c&&p==s[c-1].to){if(f)break e;let m=s[--c];if(!h)for(let b=m.from,g=c;;){if(b==e)break e;if(g&&s[g-1].to==b)b=s[--g].from;else{if(se[b-1]==a)break e;break}}if(u)u.push(m);else{m.tose.length;)se[se.length]=256;let n=[],r=e==Ai?0:1;return da(i,r,r,t,0,i.length,n),n}function iu(i){return[new ot(0,i,0)]}var nu="";function R0(i,e,t,n,r){var s;let o=n.head-i.from,a=ot.find(e,o,(s=n.bidiLevel)!==null&&s!==void 0?s:-1,n.assoc),l=e[a],c=l.side(r,t);if(o==c){let u=a+=r?1:-1;if(u<0||u>=e.length)return null;l=e[a=u],o=l.side(!r,t),c=l.side(r,t)}let h=ke(i.text,o,l.forward(r,t));(hl.to)&&(h=c),nu=i.text.slice(Math.min(o,h),Math.max(o,h));let f=a==(r?e.length-1:0)?null:e[a+(r?1:-1)];return f&&h==c&&f.level+(r?0:1)i.some(e=>e)}),Z0=Y.define({combine:i=>i.some(e=>e)}),fu=Y.define(),Fn=class i{constructor(e,t,n,r,s,o=!1){this.range=e,this.y=t,this.x=n,this.yMargin=r,this.xMargin=s,this.isSnapshot=o}map(e){return e.empty?this:new i(this.range.map(e),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}clip(e){return this.range.to<=e.doc.length?this:new i(v.cursor(e.doc.length),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}},Jr=ie.define({map:(i,e)=>i.map(e)}),uu=ie.define();function at(i,e,t){let n=i.facet(au);n.length?n[0](e):window.onerror&&window.onerror(String(e),t,void 0,void 0,e)||(t?console.error(t+":",e):console.error(e))}var zt=Y.define({combine:i=>i.length?i[0]:!0}),q0=0,cn=Y.define({combine(i){return i.filter((e,t)=>{for(let n=0;n{let l=[];return o&&l.push(ys.of(c=>{let h=c.plugin(a);return h?o(h):Z.none})),s&&l.push(s(a)),l})}static fromClass(e,t){return i.define((n,r)=>new e(n,r),t)}},Hn=class{constructor(e){this.spec=e,this.mustUpdate=null,this.value=null}get plugin(){return this.spec&&this.spec.plugin}update(e){if(this.value){if(this.mustUpdate){let t=this.mustUpdate;if(this.mustUpdate=null,this.value.update)try{this.value.update(t)}catch(n){if(at(t.state,n,"CodeMirror plugin crashed"),this.value.destroy)try{this.value.destroy()}catch{}this.deactivate()}}}else if(this.spec)try{this.value=this.spec.plugin.create(e,this.spec.arg)}catch(t){at(e.state,t,"CodeMirror plugin crashed"),this.deactivate()}return this}destroy(e){var t;if(!((t=this.value)===null||t===void 0)&&t.destroy)try{this.value.destroy()}catch(n){at(e.state,n,"CodeMirror plugin crashed")}}deactivate(){this.spec=this.value=null}},Ou=Y.define(),Na=Y.define(),ys=Y.define(),du=Y.define(),Fa=Y.define(),sr=Y.define(),pu=Y.define();function wf(i,e){let t=i.state.facet(pu);if(!t.length)return t;let n=t.map(s=>s instanceof Function?s(i):s),r=[];return oe.spans(n,e.from,e.to,{point(){},span(s,o,a,l){let c=s-e.from,h=o-e.from,f=r;for(let u=a.length-1;u>=0;u--,l--){let O=a[u].spec.bidiIsolate,p;if(O==null&&(O=A0(e.text,c,h)),l>0&&f.length&&(p=f[f.length-1]).to==c&&p.direction==O)p.to=h,f=p.inner;else{let m={from:c,to:h,direction:O,inner:[]};f.push(m),f=m.inner}}}}),r}var mu=Y.define();function gu(i){let e=0,t=0,n=0,r=0;for(let s of i.state.facet(mu)){let o=s(i);o&&(o.left!=null&&(e=Math.max(e,o.left)),o.right!=null&&(t=Math.max(t,o.right)),o.top!=null&&(n=Math.max(n,o.top)),o.bottom!=null&&(r=Math.max(r,o.bottom)))}return{left:e,right:t,top:n,bottom:r}}var In=Y.define(),gt=class i{constructor(e,t,n,r){this.fromA=e,this.toA=t,this.fromB=n,this.toB=r}join(e){return new i(Math.min(this.fromA,e.fromA),Math.max(this.toA,e.toA),Math.min(this.fromB,e.fromB),Math.max(this.toB,e.toB))}addToSet(e){let t=e.length,n=this;for(;t>0;t--){let r=e[t-1];if(!(r.fromA>n.toA)){if(r.toAr.push(new gt(s,o,a,l))),this.changedRanges=r}static create(e,t,n){return new i(e,t,n)}get viewportChanged(){return(this.flags&4)>0}get viewportMoved(){return(this.flags&8)>0}get heightChanged(){return(this.flags&2)>0}get geometryChanged(){return this.docChanged||(this.flags&18)>0}get focusChanged(){return(this.flags&1)>0}get docChanged(){return!this.changes.empty}get selectionSet(){return this.transactions.some(e=>e.selection)}get empty(){return this.flags==0&&this.transactions.length==0}},E0=[],fe=class{constructor(e,t,n=0){this.dom=e,this.length=t,this.flags=n,this.parent=null,e.cmTile=this}get breakAfter(){return this.flags&1}get children(){return E0}isWidget(){return!1}get isHidden(){return!1}isComposite(){return!1}isLine(){return!1}isText(){return!1}isBlock(){return!1}get domAttrs(){return null}sync(e){if(this.flags|=2,this.flags&4){this.flags&=-5;let t=this.domAttrs;t&&Q0(this.dom,t)}}toString(){return this.constructor.name+(this.children.length?`(${this.children})`:"")+(this.breakAfter?"#":"")}destroy(){this.parent=null}setDOM(e){this.dom=e,e.cmTile=this}get posAtStart(){return this.parent?this.parent.posBefore(this):0}get posAtEnd(){return this.posAtStart+this.length}posBefore(e,t=this.posAtStart){let n=t;for(let r of this.children){if(r==e)return n;n+=r.length+r.breakAfter}throw new RangeError("Invalid child in posBefore")}posAfter(e){return this.posBefore(e)+e.length}covers(e){return!0}coordsIn(e,t,n){return null}domPosFor(e,t){let n=ai(this.dom),r=this.length?e>0:t>0;return new Tt(this.parent.dom,n+(r?1:0),e==0||e==this.length)}markDirty(e){this.flags&=-3,e&&(this.flags|=4),this.parent&&this.parent.flags&2&&this.parent.markDirty(!1)}get overrideDOMText(){return null}get root(){for(let e=this;e;e=e.parent)if(e instanceof dn)return e;return null}static get(e){return e.cmTile}},On=class extends fe{constructor(e){super(e,0),this._children=[]}isComposite(){return!0}get children(){return this._children}get lastChild(){return this.children.length?this.children[this.children.length-1]:null}append(e){this.children.push(e),e.parent=this}sync(e){if(this.flags&2)return;super.sync(e);let t=this.dom,n=null,r,s=e?.node==t?e:null,o=0;for(let a of this.children){if(a.sync(e),o+=a.length+a.breakAfter,r=n?n.nextSibling:t.firstChild,s&&r!=a.dom&&(s.written=!0),a.dom.parentNode==t)for(;r&&r!=a.dom;)r=Pf(r);else t.insertBefore(a.dom,r);n=a.dom}for(r=n?n.nextSibling:t.firstChild,s&&r&&(s.written=!0);r;)r=Pf(r);this.length=o}};function Pf(i){let e=i.nextSibling;return i.parentNode.removeChild(i),e}var dn=class extends On{constructor(e,t){super(t),this.view=e}owns(e){for(;e;e=e.parent)if(e==this)return!0;return!1}isBlock(){return!0}nearest(e){for(;;){if(!e)return null;let t=fe.get(e);if(t&&this.owns(t))return t;e=e.parentNode}}blockTiles(e){for(let t=[],n=this,r=0,s=0;;)if(r==n.children.length){if(!t.length)return;n=n.parent,n.breakAfter&&s++,r=t.pop()}else{let o=n.children[r++];if(o instanceof Lt)t.push(r),n=o,r=0;else{let a=s+o.length,l=e(o,s);if(l!==void 0)return l;s=a+o.breakAfter}}}resolveBlock(e,t){let n,r=-1,s,o=-1;if(this.blockTiles((a,l)=>{let c=l+a.length;if(e>=l&&e<=c){if(a.isWidget()&&t>=-1&&t<=1){if(a.flags&32)return!0;a.flags&16&&(n=void 0)}(le||e==l&&(t>1?a.length:a.covers(-1)))&&(!s||!a.isWidget()&&s.isWidget())&&(s=a,o=e-l)}}),!n&&!s)throw new Error("No tile at position "+e);return n&&t<0||!s?{tile:n,offset:r}:{tile:s,offset:o}}},Lt=class i extends On{constructor(e,t){super(e),this.wrapper=t}isBlock(){return!0}covers(e){return this.children.length?e<0?this.children[0].covers(-1):this.lastChild.covers(1):!1}get domAttrs(){return this.wrapper.attributes}static of(e,t){let n=new i(t||document.createElement(e.tagName),e);return t||(n.flags|=4),n}},pn=class i extends On{constructor(e,t){super(e),this.attrs=t}isLine(){return!0}static start(e,t,n){let r=new i(t||document.createElement("div"),e);return(!t||!n)&&(r.flags|=4),r}get domAttrs(){return this.attrs}resolveInline(e,t,n){let r=null,s=-1,o=null,a=-1;function l(h,f){for(let u=0,O=0;u=f&&(p.isComposite()?l(p,f-O):(!o||o.isHidden&&(t>0&&!(o.flags&32)||n&&L0(o,p)))&&(m>f||p.flags&32)?(o=p,a=f-O):(Or&&(e=r);let s=e,o=e,a=0;e==0&&t<0||e==r&&t>=0?L.chrome||L.gecko||(e?(s--,a=1):o=0)?0:l.length-1];return L.safari&&!a&&c.width==0&&(c=Array.prototype.find.call(l,h=>h.width)||c),n==null?c:hs(c,(a?a>0:t<0)==n)}static of(e,t){let n=new i(t||document.createTextNode(e),e);return t||(n.flags|=2),n}},Zi=class i extends fe{constructor(e,t,n,r){super(e,t,r),this.widget=n}isWidget(){return!0}get isHidden(){return this.widget.isHidden}covers(e){return this.flags&48?!1:(this.flags&(e<0?64:128))>0}coordsIn(e,t){return this.coordsInWidget(e,t,!1)}coordsInWidget(e,t,n){let r=this.widget.coordsAt(this.dom,e,t);if(r)return r;if(n)return hs(this.dom.getBoundingClientRect(),this.length?e==0:t<=0);{let s=this.dom.getClientRects(),o=null;if(!s.length)return null;let a=this.flags&16?!0:this.flags&32?!1:e>0;for(let l=a?s.length-1:0;o=s[l],!(e>0?l==0:l==s.length-1||o.top0==n)}},ma=class{constructor(e){this.index=0,this.beforeBreak=!1,this.parents=[],this.tile=e}advance(e,t,n){let{tile:r,index:s,beforeBreak:o,parents:a}=this;for(;e||t>0;)if(r.isComposite())if(o){if(!e)break;n&&n.break(),e--,o=!1}else if(s==r.children.length){if(!e&&!a.length)break;n&&n.leave(r),o=!!r.breakAfter,{tile:r,index:s}=a.pop(),s++}else{let l=r.children[s],c=l.breakAfter;(t>0?l.length<=e:l.length=0;a--){let l=t.marks[a],c=r.lastChild;if(c instanceof Ve&&c.mark.eq(l.mark))c.dom!=l.dom&&c.setDOM(ia(l.dom)),r=c;else{if(this.cache.reused.get(l)){let f=fe.get(l.dom);f&&f.setDOM(ia(l.dom))}let h=Ve.of(l.mark,l.dom);r.append(h),r=h}this.cache.reused.set(l,2)}let s=fe.get(e.text);s&&this.cache.reused.set(s,2);let o=new _i(e.text,e.text.nodeValue);o.flags|=8,this.pos=e.range.toB,r.append(o)}addInlineWidget(e,t,n){let r=this.afterWidget&&e.flags&48&&(this.afterWidget.flags&48)==(e.flags&48);r||this.flushBuffer();let s=this.ensureMarks(t,n);!r&&!(e.flags&16)&&s.append(this.getBuffer(1)),s.append(e),this.pos+=e.length,this.afterWidget=e}addMark(e,t,n){this.flushBuffer(),this.ensureMarks(t,n).append(e),this.pos+=e.length,this.afterWidget=null}addBlockWidget(e){this.getBlockPos().append(e),this.pos+=e.length,this.lastBlock=e,this.endLine()}continueWidget(e){let t=this.afterWidget||this.lastBlock;t.length+=e,this.pos+=e}addLineStart(e,t){var n;e||(e=Qu);let r=pn.start(e,t||((n=this.cache.find(pn))===null||n===void 0?void 0:n.dom),!!t);this.getBlockPos().append(this.lastBlock=this.curLine=r)}addLine(e){this.getBlockPos().append(e),this.pos+=e.length,this.lastBlock=e,this.endLine()}addBreak(){this.lastBlock.flags|=1,this.endLine(),this.pos++}addLineStartIfNotCovered(e){this.blockPosCovered()||this.addLineStart(e)}ensureLine(e){this.curLine||this.addLineStart(e)}ensureMarks(e,t){var n;let r=this.curLine;for(let s=e.length-1;s>=0;s--){let o=e[s],a;if(t>0&&(a=r.lastChild)&&a instanceof Ve&&a.mark.eq(o))r=a,t--;else{let l=Ve.of(o,(n=this.cache.find(Ve,c=>c.mark.eq(o)))===null||n===void 0?void 0:n.dom);r.append(l),r=l,t=0}}return r}endLine(){if(this.curLine){this.flushBuffer();let e=this.curLine.lastChild;(!e||!vf(this.curLine,!1)||e.dom.nodeName!="BR"&&e.isWidget()&&!(L.ios&&vf(this.curLine,!0)))&&this.curLine.append(this.cache.findWidget(na,0,32)||new Zi(na.toDOM(),0,na,32)),this.curLine=this.afterWidget=null}}updateBlockWrappers(){this.wrapperPos>this.pos+1e4&&(this.blockWrappers.goto(this.pos),this.wrappers.length=0);for(let e=this.wrappers.length-1;e>=0;e--)this.wrappers[e].to=this.pos){let t=e.rank*102+e.value.rank,n=new ga(e.from,e.to,e.value,t),r=this.wrappers.length;for(;r>0&&(this.wrappers[r-1].rank-n.rank||this.wrappers[r-1].to-n.to)<0;)r--;this.wrappers.splice(r,0,n)}this.wrapperPos=this.pos}getBlockPos(){var e;this.updateBlockWrappers();let t=this.root;for(let n of this.wrappers){let r=t.lastChild;if(n.fromo.wrapper.eq(n.wrapper)))===null||e===void 0?void 0:e.dom);t.append(s),t=s}}return t}blockPosCovered(){let e=this.lastBlock;return e!=null&&!e.breakAfter&&(!e.isWidget()||(e.flags&160)>0)}getBuffer(e){let t=2|(e<0?16:32),n=this.cache.find(mn,void 0,1);return n&&(n.flags=t),n||new mn(t)}flushBuffer(){this.afterWidget&&!(this.afterWidget.flags&32)&&(this.afterWidget.parent.append(this.getBuffer(-1)),this.afterWidget=null)}},ba=class{constructor(e){this.skipCount=0,this.text="",this.textOff=0,this.cursor=e.iter()}skip(e){this.textOff+e<=this.text.length?this.textOff+=e:(this.skipCount+=e-(this.text.length-this.textOff),this.text="",this.textOff=0)}next(e){if(this.textOff==this.text.length){let{value:r,lineBreak:s,done:o}=this.cursor.next(this.skipCount);if(this.skipCount=0,o)throw new Error("Ran out of text content when drawing inline views");this.text=r;let a=this.textOff=Math.min(e,r.length);return s?null:r.slice(0,a)}let t=Math.min(this.text.length,this.textOff+e),n=this.text.slice(this.textOff,t);return this.textOff=t,n}},us=[Zi,pn,_i,Ve,mn,Lt,dn];for(let i=0;i[]),this.index=us.map(()=>0),this.reused=new Map}add(e){let t=e.constructor.bucket,n=this.buckets[t];n.length<6?n.push(e):n[this.index[t]=(this.index[t]+1)%6]=e}find(e,t,n=2){let r=e.bucket,s=this.buckets[r],o=this.index[r];for(let a=0;a{if(this.cache.add(o),o.isComposite())return!1},enter:o=>this.cache.add(o),leave:()=>{},break:()=>{}}}run(e,t){let n=t&&this.getCompositionContext(t.text);for(let r=0,s=0,o=0;;){let a=or){let c=l-r;this.preserve(c,!o,!a),r=l,s+=c}if(!a)break;t&&a.fromA<=t.range.fromA&&a.toA>=t.range.toA?(this.forward(a.fromA,t.range.fromA,t.range.fromA{if(o.isWidget())if(this.openWidget)this.builder.continueWidget(l-a);else{let c=l>0||a{o.isLine()?this.builder.addLineStart(o.attrs,this.cache.maybeReuse(o)):(this.cache.add(o),o instanceof Ve&&r.unshift(o.mark)),this.openWidget=!1},leave:o=>{o.isLine()?r.length&&(r.length=s=0):o instanceof Ve&&(r.shift(),s=Math.min(s,r.length))},break:()=>{this.builder.addBreak(),this.openWidget=!1}}),this.text.skip(e)}emit(e,t){let n=null,r=this.builder,s=-1,o=oe.spans(this.decorations,e,t,{point:(a,l,c,h,f,u)=>{if(c instanceof Ri){if(this.disallowBlockEffectsFor[u]){if(c.block)throw new RangeError("Block decorations may not be specified via plugins");if(l>this.view.state.doc.lineAt(a).to)throw new RangeError("Decorations that replace line breaks may not be specified via plugins")}if(s=h.length,f>h.length)r.continueWidget(l-a);else{let O=c.widget||(c.block?li.block:li.inline),p=M0(c),m=this.cache.findWidget(O,l-a,p)||Zi.of(O,this.view,l-a,p);c.block?(c.startSide>0&&r.addLineStartIfNotCovered(n),r.addBlockWidget(m)):(r.ensureLine(n),r.addInlineWidget(m,h,f))}n=null}else n=W0(n,c);l>a&&this.text.skip(l-a)},span:(a,l,c,h)=>{for(let f=a;f-1&&(this.openWidget=o>s),this.openWidget||r.addLineStartIfNotCovered(n),this.openMarks=o}forward(e,t,n=1){t-e<=10?this.old.advance(t-e,n,this.reuseWalker):(this.old.advance(5,-1,this.reuseWalker),this.old.advance(t-e-10,-1),this.old.advance(5,n,this.reuseWalker))}getCompositionContext(e){let t=[],n=null;for(let r=e.parentNode;;r=r.parentNode){let s=fe.get(r);if(r==this.view.contentDOM)break;s instanceof Ve?t.push(s):s?.isLine()?n=s:s instanceof Lt||(r.nodeName=="DIV"&&!n&&r!=this.view.contentDOM?n=new pn(r,Qu):n||t.push(Ve.of(new tr({tagName:r.nodeName.toLowerCase(),attributes:b0(r)}),r)))}return{line:n,marks:t}}};function vf(i,e){let t=n=>{for(let r of n.children)if((e?r.isText():r.length)||t(r))return!0;return!1};return t(i)}function M0(i){let e=i.isReplace?(i.startSide<0?64:0)|(i.endSide>0?128:0):i.startSide>0?32:16;return i.block&&(e|=256),e}var Qu={class:"cm-line"};function W0(i,e){let t=e.spec.attributes,n=e.spec.class;return!t&&!n||(i||(i={class:"cm-line"}),t&&Ya(t,i),n&&(i.class+=" "+n)),i}function j0(i){let e=[];for(let t=i.parents.length;t>1;t--){let n=t==i.parents.length?i.tile:i.parents[t].tile;n instanceof Ve&&e.push(n.mark)}return e}function ia(i){let e=fe.get(i);return e&&e.setDOM(i.cloneNode()),i}var li=class extends Re{constructor(e){super(),this.tag=e}eq(e){return e.tag==this.tag}toDOM(){return document.createElement(this.tag)}updateDOM(e){return e.nodeName.toLowerCase()==this.tag}get isHidden(){return!0}};li.inline=new li("span");li.block=new li("div");var na=new class extends Re{toDOM(){return document.createElement("br")}get isHidden(){return!0}get editable(){return!0}},Os=class{constructor(e){this.view=e,this.decorations=[],this.blockWrappers=[],this.dynamicDecorationMap=[!1],this.domChanged=null,this.hasComposition=null,this.editContextFormatting=Z.none,this.lastCompositionAfterCursor=!1,this.minWidth=0,this.minWidthFrom=0,this.minWidthTo=0,this.impreciseAnchor=null,this.impreciseHead=null,this.forceSelection=!1,this.lastUpdate=Date.now(),this.updateDeco(),this.tile=new dn(e,e.contentDOM),this.updateInner([new gt(0,0,0,e.state.doc.length)],null)}update(e){var t;let n=e.changedRanges;this.minWidth>0&&n.length&&(n.every(({fromA:h,toA:f})=>fthis.minWidthTo)?(this.minWidthFrom=e.changes.mapPos(this.minWidthFrom,1),this.minWidthTo=e.changes.mapPos(this.minWidthTo,1)):this.minWidth=this.minWidthFrom=this.minWidthTo=0),this.updateEditContextFormatting(e);let r=-1;this.view.inputState.composing>=0&&!this.view.observer.editContext&&(!((t=this.domChanged)===null||t===void 0)&&t.newSel?r=this.domChanged.newSel.head:!N0(e.changes,this.hasComposition)&&!e.selectionSet&&(r=e.state.selection.main.head));let s=r>-1?D0(this.view,e.changes,r):null;if(this.domChanged=null,this.hasComposition){let{from:h,to:f}=this.hasComposition;n=new gt(h,f,e.changes.mapPos(h,-1),e.changes.mapPos(f,1)).addToSet(n.slice())}this.hasComposition=s?{from:s.range.fromB,to:s.range.toB}:null,(L.ie||L.chrome)&&!s&&e&&e.state.doc.lines!=e.startState.doc.lines&&(this.forceSelection=!0);let o=this.decorations,a=this.blockWrappers;this.updateDeco();let l=B0(o,this.decorations,e.changes);l.length&&(n=gt.extendWithRanges(n,l));let c=U0(a,this.blockWrappers,e.changes);return c.length&&(n=gt.extendWithRanges(n,c)),s&&!n.some(h=>h.fromA<=s.range.fromA&&h.toA>=s.range.toA)&&(n=s.range.addToSet(n.slice())),this.tile.flags&2&&n.length==0?!1:(this.updateInner(n,s),e.transactions.length&&(this.lastUpdate=Date.now()),!0)}updateInner(e,t){this.view.viewState.mustMeasureContent=!0;let{observer:n}=this.view;n.ignore(()=>{if(t||e.length){let o=this.tile,a=new ya(this.view,o,this.blockWrappers,this.decorations,this.dynamicDecorationMap);t&&fe.get(t.text)&&a.cache.reused.set(fe.get(t.text),2),this.tile=a.run(e,t),ka(o,a.cache.reused)}this.tile.dom.style.height=this.view.viewState.contentHeight/this.view.scaleY+"px",this.tile.dom.style.flexBasis=this.minWidth?this.minWidth+"px":"";let s=L.chrome||L.ios?{node:n.selectionRange.focusNode,written:!1}:void 0;this.tile.sync(s),s&&(s.written||n.selectionRange.focusNode!=s.node||!this.tile.dom.contains(s.node))&&(this.forceSelection=!0),this.tile.dom.style.height=""});let r=[];if(this.view.viewport.from||this.view.viewport.to-1)&&Gn(n,this.view.observer.selectionRange)&&!(r&&n.contains(r));if(!(s||t||o))return;let a=this.forceSelection;this.forceSelection=!1;let l=this.view.state.selection.main,c,h;if(l.empty?h=c=this.inlineDOMNearPos(l.anchor,l.assoc||1):(h=this.inlineDOMNearPos(l.head,l.head==l.from?1:-1),c=this.inlineDOMNearPos(l.anchor,l.anchor==l.from?1:-1)),L.gecko&&l.empty&&!this.hasComposition&&V0(c)){let u=document.createTextNode("");this.view.observer.ignore(()=>c.node.insertBefore(u,c.node.childNodes[c.offset]||null)),c=h=new Tt(u,0),a=!0}let f=this.view.observer.selectionRange;(a||!f.focusNode||(!Nn(c.node,c.offset,f.anchorNode,f.anchorOffset)||!Nn(h.node,h.offset,f.focusNode,f.focusOffset))&&!this.suppressWidgetCursorChange(f,l))&&(this.view.observer.ignore(()=>{L.android&&L.chrome&&n.contains(f.focusNode)&&G0(f.focusNode,n)&&(n.blur(),n.focus({preventScroll:!0}));let u=nr(this.view.root);if(u)if(l.empty){if(L.gecko){let O=Y0(c.node,c.offset);if(O&&O!=3){let p=(O==1?Hf:Kf)(c.node,c.offset);p&&(c=new Tt(p.node,p.offset))}}u.collapse(c.node,c.offset),l.bidiLevel!=null&&u.caretBidiLevel!==void 0&&(u.caretBidiLevel=l.bidiLevel)}else if(u.extend){u.collapse(c.node,c.offset);try{u.extend(h.node,h.offset)}catch{}}else{let O=document.createRange();l.anchor>l.head&&([c,h]=[h,c]),O.setEnd(h.node,h.offset),O.setStart(c.node,c.offset),u.removeAllRanges(),u.addRange(O)}o&&this.view.root.activeElement==n&&(n.blur(),r&&r.focus())}),this.view.observer.setSelectionRange(c,h)),this.impreciseAnchor=c.precise?null:new Tt(f.anchorNode,f.anchorOffset),this.impreciseHead=h.precise?null:new Tt(f.focusNode,f.focusOffset)}suppressWidgetCursorChange(e,t){return this.hasComposition&&t.empty&&Nn(e.focusNode,e.focusOffset,e.anchorNode,e.anchorOffset)&&this.posFromDOM(e.focusNode,e.focusOffset)==t.head}enforceCursorAssoc(){if(this.hasComposition)return;let{view:e}=this,t=e.state.selection.main,n=nr(e.root),{anchorNode:r,anchorOffset:s}=e.observer.selectionRange;if(!n||!t.empty||!t.assoc||!n.modify)return;let o=this.lineAt(t.head,t.assoc);if(!o)return;let a=o.posAtStart;if(t.head==a||t.head==a+o.length)return;let l=this.coordsAt(t.head,-1),c=this.coordsAt(t.head,1);if(!l||!c||l.bottom>c.top)return;let h=this.domAtPos(t.head+t.assoc,t.assoc);n.collapse(h.node,h.offset),n.modify("move",t.assoc<0?"forward":"backward","lineboundary"),e.observer.readSelectionRange();let f=e.observer.selectionRange;e.docView.posFromDOM(f.anchorNode,f.anchorOffset)!=t.from&&n.collapse(r,s)}posFromDOM(e,t){let n=this.tile.nearest(e);if(!n)return this.tile.dom.compareDocumentPosition(e)&2?0:this.view.state.doc.length;let r=n.posAtStart;if(n.isComposite()){let s;if(e==n.dom)s=n.dom.childNodes[t];else{let o=Mt(e)==0?0:t==0?-1:1;for(;;){let a=e.parentNode;if(a==n.dom)break;o==0&&a.firstChild!=a.lastChild&&(e==a.firstChild?o=-1:o=1),e=a}o<0?s=e:s=e.nextSibling}if(s==n.dom.firstChild)return r;for(;s&&!fe.get(s);)s=s.nextSibling;if(!s)return r+n.length;for(let o=0,a=r;;o++){let l=n.children[o];if(l.dom==s)return a;a+=l.length+l.breakAfter}}else return n.isText()?e==n.dom?r+t:r+(t?n.length:0):r}domAtPos(e,t){let{tile:n,offset:r}=this.tile.resolveBlock(e,t);return n.isWidget()?n.domPosFor(r,t):n.domIn(r,t)}inlineDOMNearPos(e,t){let n,r=-1,s=!1,o,a=-1,l=!1;return this.tile.blockTiles((c,h)=>{if(c.isWidget()){if(c.flags&32&&h>=e)return!0;c.flags&16&&(s=!0)}else{let f=h+c.length;if(h<=e&&(n=c,r=e-h,s=f=e&&!o&&(o=c,a=e-h,l=h>e),h>e&&o)return!0}}),!n&&!o?this.domAtPos(e,t):(s&&o?n=null:l&&n&&(o=null),n&&t<0||!o?n.domIn(r,t):o.domIn(a,t))}coordsAt(e,t,n){let{tile:r,offset:s}=this.tile.resolveBlock(e,t);return r.isWidget()?r.widget instanceof Kn?null:r.coordsInWidget(s,t,!0):r.coordsIn(s,t,n)}lineAt(e,t){let{tile:n}=this.tile.resolveBlock(e,t);return n.isLine()?n:null}coordsForChar(e){let{tile:t,offset:n}=this.tile.resolveBlock(e,1);if(!t.isLine())return null;function r(s,o){if(s.isComposite())for(let a of s.children){if(a.length>=o){let l=r(a,o);if(l)return l}if(o-=a.length,o<0)break}else if(s.isText()&&oMath.max(this.view.scrollDOM.clientWidth,this.minWidth)+1,a=-1,l=this.view.textDirection==ue.LTR,c=0,h=(f,u,O)=>{for(let p=0;pr);p++){let m=f.children[p],b=u+m.length,g=m.dom.getBoundingClientRect(),{height:Q}=g;if(O&&!p&&(c+=g.top-O.top),m instanceof Lt)b>n&&h(m,u,g);else if(u>=n&&(c>0&&t.push(-c),t.push(Q+c),c=0,o)){let S=m.dom.lastChild,x=S?os(S):[];if(x.length){let P=x[x.length-1],$=l?P.right-g.left:g.right-P.left;$>a&&(a=$,this.minWidth=s,this.minWidthFrom=u,this.minWidthTo=b)}}O&&p==f.children.length-1&&(c+=O.bottom-g.bottom),u=b+m.breakAfter}};return h(this.tile,0,null),t}textDirectionAt(e){let{tile:t}=this.tile.resolveBlock(e,1);return getComputedStyle(t.dom).direction=="rtl"?ue.RTL:ue.LTR}measureTextSize(){let e=this.tile.blockTiles(o=>{if(o.isLine()&&o.children.length&&o.length<=20){let a=0,l;for(let c of o.children){if(!c.isText()||/[^ -~]/.test(c.text))return;let h=os(c.dom);if(h.length!=1)return;a+=h[0].width,l=h[0].height}if(a)return{lineHeight:o.dom.getBoundingClientRect().height,charWidth:a/o.length,textHeight:l}}});if(e)return e;let t=document.createElement("div"),n,r,s;return t.className="cm-line",t.style.width="99999px",t.style.position="absolute",t.textContent="abc def ghi jkl mno pqr stu",this.view.observer.ignore(()=>{this.tile.dom.appendChild(t);let o=os(t.firstChild)[0];n=t.getBoundingClientRect().height,r=o&&o.width?o.width/27:7,s=o&&o.height?o.height:n,t.remove()}),{lineHeight:n,charWidth:r,textHeight:s}}computeBlockGapDeco(){let e=[],t=this.view.viewState;for(let n=0,r=0;;r++){let s=r==t.viewports.length?null:t.viewports[r],o=s?s.from-1:this.view.state.doc.length;if(o>n){let a=(t.lineBlockAt(o).bottom-t.lineBlockAt(n).top)/this.view.scaleY;e.push(Z.replace({widget:new Kn(a),block:!0,inclusive:!0,isBlockGap:!0}).range(n,o))}if(!s)break;n=s.to+1}return Z.set(e)}updateDeco(){let e=1,t=this.view.state.facet(ys).map(s=>(this.dynamicDecorationMap[e++]=typeof s=="function")?s(this.view):s),n=!1,r=this.view.state.facet(Fa).map((s,o)=>{let a=typeof s=="function";return a&&(n=!0),a?s(this.view):s});for(r.length&&(this.dynamicDecorationMap[e++]=n,t.push(oe.join(r))),this.decorations=[this.editContextFormatting,...t,this.computeBlockGapDeco(),this.view.viewState.lineGapDeco];etypeof s=="function"?s(this.view):s)}scrollIntoView(e){if(e.isSnapshot){let c=this.view.viewState.lineBlockAt(e.range.head);this.view.scrollDOM.scrollTop=c.top-e.yMargin,this.view.scrollDOM.scrollLeft=e.xMargin;return}for(let c of this.view.state.facet(fu))try{if(c(this.view,e.range,e))return!0}catch(h){at(this.view.state,h,"scroll handler")}let{range:t}=e,n=this.coordsAt(t.head,t.assoc||(t.head>t.anchor?-1:1)),r;if(!n)return;!t.empty&&(r=this.coordsAt(t.anchor,t.anchor>t.head?-1:1))&&(n={left:Math.min(n.left,r.left),top:Math.min(n.top,r.top),right:Math.max(n.right,r.right),bottom:Math.max(n.bottom,r.bottom)});let s=gu(this.view),o={left:n.left-s.left,top:n.top-s.top,right:n.right+s.right,bottom:n.bottom+s.bottom},{offsetWidth:a,offsetHeight:l}=this.view.scrollDOM;if(k0(this.view.scrollDOM,o,t.head1&&(n.top>window.pageYOffset+window.visualViewport.offsetTop+window.visualViewport.height||n.bottomn.isWidget()||n.children.some(t);return t(this.tile.resolveBlock(e,1).tile)}destroy(){ka(this.tile)}};function ka(i,e){let t=e?.get(i);if(t!=1){t==null&&i.destroy();for(let n of i.children)ka(n,e)}}function V0(i){return i.node.nodeType==1&&i.node.firstChild&&(i.offset==0||i.node.childNodes[i.offset-1].contentEditable=="false")&&(i.offset==i.node.childNodes.length||i.node.childNodes[i.offset].contentEditable=="false")}function bu(i,e){let t=i.observer.selectionRange;if(!t.focusNode)return null;let n=Hf(t.focusNode,t.focusOffset),r=Kf(t.focusNode,t.focusOffset),s=n||r;if(r&&n&&r.node!=n.node){let a=fe.get(r.node);if(!a||a.isText()&&a.text!=r.node.nodeValue)s=r;else if(i.docView.lastCompositionAfterCursor){let l=fe.get(n.node);!l||l.isText()&&l.text!=n.node.nodeValue||(s=r)}}if(i.docView.lastCompositionAfterCursor=s!=n,!s)return null;let o=e-s.offset;return{from:o,to:o+s.node.nodeValue.length,node:s.node}}function D0(i,e,t){let n=bu(i,t);if(!n)return null;let{node:r,from:s,to:o}=n,a=r.nodeValue;if(/[\n\r]/.test(a)||i.state.doc.sliceString(n.from,n.to)!=a)return null;let l=e.invertedDesc;return{range:new gt(l.mapPos(s),l.mapPos(o),s,o),text:r}}function Y0(i,e){return i.nodeType!=1?0:(e&&i.childNodes[e-1].contentEditable=="false"?1:0)|(e{ne.from&&(t=!0)}),t}var Kn=class extends Re{constructor(e){super(),this.height=e}toDOM(){let e=document.createElement("div");return e.className="cm-gap",this.updateDOM(e),e}eq(e){return e.height==this.height}updateDOM(e){return e.style.height=this.height+"px",!0}get editable(){return!0}get estimatedHeight(){return this.height}ignoreEvent(){return!1}};function F0(i,e,t=1){let n=i.charCategorizer(e),r=i.doc.lineAt(e),s=e-r.from;if(r.length==0)return v.cursor(e);s==0?t=1:s==r.length&&(t=-1);let o=s,a=s;t<0?o=ke(r.text,s,!1):a=ke(r.text,s);let l=n(r.text.slice(o,a));for(;o>0;){let c=ke(r.text,o,!1);if(n(r.text.slice(c,o))!=l)break;o=c}for(;ai.defaultLineHeight*1.5){let a=i.viewState.heightOracle.textHeight,l=Math.floor((r-t.top-(i.defaultLineHeight-a)*.5)/a);s+=l*i.viewState.heightOracle.lineLength}let o=i.state.sliceDoc(t.from,t.to);return t.from+Of(o,s,i.state.tabSize)}function K0(i,e,t){let n=i.lineBlockAt(e);if(Array.isArray(n.type)){let r;for(let s of n.type){if(s.from>e)break;if(!(s.toe)return s;(!r||s.type==lt.Text&&(r.type!=s.type||(t<0?s.frome)))&&(r=s)}}return r||n}return n}function J0(i,e,t,n){let r=K0(i,e.head,e.assoc||-1),s=!n||r.type!=lt.Text||!(i.lineWrapping||r.widgetLineBreaks)?null:i.coordsAtPos(e.assoc<0&&e.head>r.from?e.head-1:e.head);if(s){let o=i.dom.getBoundingClientRect(),a=i.textDirectionAt(r.from),l=i.posAtCoords({x:t==(a==ue.LTR)?o.right-1:o.left+1,y:(s.top+s.bottom)/2});if(l!=null)return v.cursor(l,t?-1:1)}return v.cursor(t?r.to:r.from,t?-1:1)}function $f(i,e,t,n){let r=i.state.doc.lineAt(e.head),s=i.bidiSpans(r),o=i.textDirectionAt(r.from);for(let a=e,l=null;;){let c=R0(r,s,o,a,t),h=nu;if(!c){if(r.number==(t?i.state.doc.lines:1))return a;h=` +`,r=i.state.doc.line(r.number+(t?1:-1)),s=i.bidiSpans(r),c=i.visualLineSide(r,!t)}if(l){if(!l(h))return a}else{if(!n)return c;l=n(h)}a=c}}function eQ(i,e,t){let n=i.state.charCategorizer(e),r=n(t);return s=>{let o=n(s);return r==Ee.Space&&(r=o),r==o}}function tQ(i,e,t,n){let r=e.head,s=t?1:-1;if(r==(t?i.state.doc.length:0))return v.cursor(r,e.assoc);let o=e.goalColumn,a,l=i.contentDOM.getBoundingClientRect(),c=i.coordsAtPos(r,e.assoc||((e.empty?t:e.head==e.from)?1:-1)),h=i.documentTop;if(c)o==null&&(o=c.left-l.left),a=s<0?c.top:c.bottom;else{let p=i.viewState.lineBlockAt(r);o==null&&(o=Math.min(l.right-l.left,i.defaultCharacterWidth*(r-p.from))),a=(s<0?p.top:p.bottom)+h}let f=l.left+o,u=i.viewState.heightOracle.textHeight>>1,O=n??u;for(let p=0;;p+=u){let m=a+(O+p)*s,b=wa(i,{x:f,y:m},!1,s);if(t?m>l.bottom:ma:Q{if(e>s&&er(i)),t.from,e.head>t.from?-1:1);return n==t.from?t:v.cursor(n,ni.viewState.docHeight)return new st(i.state.doc.length,-1);if(c=i.elementAtHeight(l),n==null)break;if(c.type==lt.Text){if(n<0?c.toi.viewport.to)break;let u=i.docView.coordsAt(n<0?c.from:c.to,n>0?-1:1);if(u&&(n<0?u.top<=l+s:u.bottom>=l+s))break}let f=i.viewState.heightOracle.textHeight/2;l=n>0?c.bottom+f:c.top-f}if(i.viewport.from>=c.to||i.viewport.to<=c.from){if(t)return null;if(c.type==lt.Text){let f=H0(i,r,c,o,a);return new st(f,f==c.from?1:-1)}}if(c.type!=lt.Text)return l<(c.top+c.bottom)/2?new st(c.from,1):new st(c.to,-1);let h=i.docView.lineAt(c.from,2);return(!h||h.length!=c.length)&&(h=i.docView.lineAt(c.from,-2)),new Pa(i,o,a,i.textDirectionAt(c.from)).scanTile(h,c.from)}var Pa=class{constructor(e,t,n,r){this.view=e,this.x=t,this.y=n,this.baseDir=r,this.line=null,this.spans=null}bidiSpansAt(e){return(!this.line||this.line.from>e||this.line.to1||n.length&&(n[0].level!=this.baseDir||n[0].to+r.from>1;t:if(o.has(m)){let g=r+Math.floor(Math.random()*p);for(let Q=0;Q1)){if(Q.bottomthis.y)(!c||c.top>Q.top)&&(c=Q),S=-1;else{let x=Q.left>this.x?this.x-Q.left:Q.right(p+p+m)/3)return this.y=l.bottom-1,this.scan(e,t,!0);if(c&&c.top<(p+m+m)/3)return this.y=c.top+1,this.scan(e,t,!0)}let O=(a?this.dirAt(e[h],1):this.baseDir)==ue.LTR;return{i:h,after:this.x>(u.left+u.right)/2==O}}scanText(e,t){let n=[];for(let s=0;s{let o=n[s]-t,a=n[s+1]-t;return rr(e.dom,o,a).getClientRects()});return r.after?new st(n[r.i+1],-1):new st(n[r.i],1)}scanTile(e,t){if(!e.length)return new st(t,1);if(e.children.length==1){let a=e.children[0];if(a.isText())return this.scanText(a,t);if(a.isComposite())return this.scanTile(a,t)}let n=[t];for(let a=0,l=t;a{let l=e.children[a];return l.flags&48?null:(l.dom.nodeType==1?l.dom:rr(l.dom,0,l.length)).getClientRects()}),s=e.children[r.i],o=n[r.i];return s.isText()?this.scanText(s,o):s.isComposite()?this.scanTile(s,o):r.after?new st(n[r.i+1],-1):new st(o,1)}},ln="\uFFFF",va=class{constructor(e,t){this.points=e,this.view=t,this.text="",this.lineSeparator=t.state.facet(re.lineSeparator)}append(e){this.text+=e}lineBreak(){this.text+=ln}readRange(e,t){if(!e)return this;let n=e.parentNode;for(let r=e;;){this.findPointBefore(n,r);let s=this.text.length;this.readNode(r);let o=fe.get(r),a=r.nextSibling;if(a==t){o?.breakAfter&&!a&&n!=this.view.contentDOM&&this.lineBreak();break}let l=fe.get(a);(o&&l?o.breakAfter:(o?o.breakAfter:cs(r))||cs(a)&&(r.nodeName!="BR"||o?.isWidget())&&this.text.length>s)&&!nQ(a,t)&&this.lineBreak(),r=a}return this.findPointBefore(n,t),this}readTextNode(e){let t=e.nodeValue;for(let n of this.points)n.node==e&&(n.pos=this.text.length+Math.min(n.offset,t.length));for(let n=0,r=this.lineSeparator?null:/\r\n?|\n/g;;){let s=-1,o=1,a;if(this.lineSeparator?(s=t.indexOf(this.lineSeparator,n),o=this.lineSeparator.length):(a=r.exec(t))&&(s=a.index,o=a[0].length),this.append(t.slice(n,s<0?t.length:s)),s<0)break;if(this.lineBreak(),o>1)for(let l of this.points)l.node==e&&l.pos>this.text.length&&(l.pos-=o-1);n=s+o}}readNode(e){let t=fe.get(e),n=t&&t.overrideDOMText;if(n!=null){this.findPointInside(e,n.length);for(let r=n.iter();!r.next().done;)r.lineBreak?this.lineBreak():this.append(r.value)}else e.nodeType==3?this.readTextNode(e):e.nodeName=="BR"?e.nextSibling&&this.lineBreak():e.nodeType==1&&this.readRange(e.firstChild,null)}findPointBefore(e,t){for(let n of this.points)n.node==e&&e.childNodes[n.offset]==t&&(n.pos=this.text.length)}findPointInside(e,t){for(let n of this.points)(e.nodeType==3?n.node==e:e.contains(n.node))&&(n.pos=this.text.length+(iQ(e,n.node,n.offset)?t:0))}};function iQ(i,e,t){for(;;){if(!e||t-1;let{impreciseHead:s,impreciseAnchor:o}=e.docView,a=e.state.selection;if(e.state.readOnly&&t>-1)this.newSel=null;else if(t>-1&&(this.bounds=yu(e.docView.tile,t,n,0))){let l=s||o?[]:sQ(e),c=new va(l,e);c.readRange(this.bounds.startDOM,this.bounds.endDOM),this.text=c.text,this.newSel=oQ(l,this.bounds.from)}else{let l=e.observer.selectionRange,c=s&&s.node==l.focusNode&&s.offset==l.focusOffset||!ha(e.contentDOM,l.focusNode)?a.main.head:e.docView.posFromDOM(l.focusNode,l.focusOffset),h=o&&o.node==l.anchorNode&&o.offset==l.anchorOffset||!ha(e.contentDOM,l.anchorNode)?a.main.anchor:e.docView.posFromDOM(l.anchorNode,l.anchorOffset),f=e.viewport;if((L.ios||L.chrome)&&c!=h&&Math.min(c,h)<=a.main.from&&Math.max(c,h)>=a.main.to&&(f.from>0||f.to-1&&a.ranges.length>1)this.newSel=a.replaceRange(v.range(h,c));else if(e.lineWrapping&&h==c&&!(a.main.empty&&a.main.head==c)&&e.inputState.lastTouchTime>Date.now()-100){let u=e.coordsAtPos(c,-1),O=0;u&&(O=e.inputState.lastTouchY<=u.bottom?-1:1),this.newSel=v.create([v.cursor(c,O)])}else this.newSel=v.single(h,c)}}};function yu(i,e,t,n){if(i.isComposite()){let r=-1,s=-1,o=-1,a=-1;for(let l=0,c=n,h=n;lt)return yu(f,e,t,c);if(u>=e&&r==-1&&(r=l,s=c),c>t&&f.dom.parentNode==i.dom){o=l,a=h;break}h=u,c=u+f.breakAfter}return{from:s,to:a<0?n+i.length:a,startDOM:(r?i.children[r-1].dom.nextSibling:null)||i.dom.firstChild,endDOM:o=0?i.children[o].dom:null}}else return i.isText()?{from:n,to:n+i.length,startDOM:i.dom,endDOM:i.dom.nextSibling}:null}function ku(i,e){let t,{newSel:n}=e,{state:r}=i,s=r.selection.main,o=i.inputState.lastKeyTime>Date.now()-100?i.inputState.lastKeyCode:-1;if(e.bounds){let{from:a,to:l}=e.bounds,c=s.from,h=null;(o===8||L.android&&e.text.length=a&&s.to<=l&&(e.typeOver||f!=e.text)&&f.slice(0,s.from-a)==e.text.slice(0,s.from-a)&&f.slice(s.to-a)==e.text.slice(u=e.text.length-(f.length-(s.to-a)))?t={from:s.from,to:s.to,insert:H.of(e.text.slice(s.from-a,u).split(ln))}:(O=xu(f,e.text,c-a,h))&&(L.chrome&&o==13&&O.toB==O.from+2&&e.text.slice(O.from,O.toB)==ln+ln&&O.toB--,t={from:a+O.from,to:a+O.toA,insert:H.of(e.text.slice(O.from,O.toB).split(ln))})}else n&&(!i.hasFocus&&r.facet(zt)||ps(n,s))&&(n=null);if(!t&&!n)return!1;if((L.mac||L.android)&&t&&t.from==t.to&&t.from==s.head-1&&/^\. ?$/.test(t.insert.toString())&&i.contentDOM.getAttribute("autocorrect")=="off"?(n&&t.insert.length==2&&(n=v.single(n.main.anchor-1,n.main.head-1)),t={from:t.from,to:t.to,insert:H.of([t.insert.toString().replace("."," ")])}):r.doc.lineAt(s.from).toDate.now()-50?t={from:s.from,to:s.to,insert:r.toText(i.inputState.insertingText)}:L.chrome&&t&&t.from==t.to&&t.from==s.head&&t.insert.toString()==` + `&&i.lineWrapping&&(n&&(n=v.single(n.main.anchor-1,n.main.head-1)),t={from:s.from,to:s.to,insert:H.of([" "])}),t)return Ha(i,t,n,o);if(n&&!ps(n,s)){let a=!1,l="select";return i.inputState.lastSelectionTime>Date.now()-50&&(i.inputState.lastSelectionOrigin=="select"&&(a=!0),l=i.inputState.lastSelectionOrigin,l=="select.pointer"&&(n=Su(r.facet(sr).map(c=>c(i)),n))),i.dispatch({selection:n,scrollIntoView:a,userEvent:l}),!0}else return!1}function Ha(i,e,t,n=-1){if(L.ios&&i.inputState.flushIOSKey(e))return!0;let r=i.state.selection.main;if(L.android&&(e.to==r.to&&(e.from==r.from||e.from==r.from-1&&i.state.sliceDoc(e.from,r.from)==" ")&&e.insert.length==1&&e.insert.lines==2&&un(i.contentDOM,"Enter",13)||(e.from==r.from-1&&e.to==r.to&&e.insert.length==0||n==8&&e.insert.lengthr.head)&&un(i.contentDOM,"Backspace",8)||e.from==r.from&&e.to==r.to+1&&e.insert.length==0&&un(i.contentDOM,"Delete",46)))return!0;let s=e.insert.toString();i.inputState.composing>=0&&i.inputState.composing++;let o,a=()=>o||(o=rQ(i,e,t));return i.state.facet(lu).some(l=>l(i,e.from,e.to,s,a))||i.dispatch(a()),!0}function rQ(i,e,t){let n,r=i.state,s=r.selection.main,o=-1;if(e.from==e.to&&e.froms.to){let l=e.fromf(i)),c,l);e.from==h&&(o=h)}if(o>-1)n={changes:e,selection:v.cursor(e.from+e.insert.length,-1)};else if(e.from>=s.from&&e.to<=s.to&&e.to-e.from>=(s.to-s.from)/3&&(!t||t.main.empty&&t.main.from==e.from+e.insert.length)&&i.inputState.composing<0){let l=s.frome.to?r.sliceDoc(e.to,s.to):"";n=r.replaceSelection(i.state.toText(l+e.insert.sliceString(0,void 0,i.state.lineBreak)+c))}else{let l=r.changes(e),c=t&&t.main.to<=l.newLength?t.main:void 0;if(r.selection.ranges.length>1&&(i.inputState.composing>=0||i.inputState.compositionPendingChange)&&e.to<=s.to+10&&e.to>=s.to-10){let h=i.state.sliceDoc(e.from,e.to),f,u=t&&bu(i,t.main.head);if(u){let p=e.insert.length-(e.to-e.from);f={from:u.from,to:u.to-p}}else f=i.state.doc.lineAt(s.head);let O=s.to-e.to;n=r.changeByRange(p=>{if(p.from==s.from&&p.to==s.to)return{changes:l,range:c||p.map(l)};let m=p.to-O,b=m-h.length;if(i.state.sliceDoc(b,m)!=h||m>=f.from&&b<=f.to)return{range:p};let g=r.changes({from:b,to:m,insert:e.insert}),Q=p.to-s.to;return{changes:g,range:c?v.range(Math.max(0,c.anchor+Q),Math.max(0,c.head+Q)):p.map(g)}})}else n={changes:l,selection:c&&r.selection.replaceRange(c)}}let a="input.type";return(i.composing||i.inputState.compositionPendingChange&&i.inputState.compositionEndedAt>Date.now()-50)&&(i.inputState.compositionPendingChange=!1,a+=".compose",i.inputState.compositionFirstChange&&(a+=".start",i.inputState.compositionFirstChange=!1)),r.update(n,{userEvent:a,scrollIntoView:!0})}function xu(i,e,t,n){let r=Math.min(i.length,e.length),s=0;for(;s0&&a>0&&i.charCodeAt(o-1)==e.charCodeAt(a-1);)o--,a--;if(n=="end"){let l=Math.max(0,s-Math.min(o,a));t-=o+l-s}if(o=o?s-t:0;s-=l,a=s+(a-o),o=s}else if(a=a?s-t:0;s-=l,o=s+(o-a),a=s}return{from:s,toA:o,toB:a}}function sQ(i){let e=[];if(i.root.activeElement!=i.contentDOM)return e;let{anchorNode:t,anchorOffset:n,focusNode:r,focusOffset:s}=i.observer.selectionRange;return t&&(e.push(new ds(t,n)),(r!=t||s!=n)&&e.push(new ds(r,s))),e}function oQ(i,e){if(i.length==0)return null;let t=i[0].pos,n=i.length==2?i[1].pos:t;return t>-1&&n>-1?v.single(t+e,n+e):null}function ps(i,e){return e.head==i.main.head&&e.anchor==i.main.anchor}var Ta=class{setSelectionOrigin(e){this.lastSelectionOrigin=e,this.lastSelectionTime=Date.now()}constructor(e){this.view=e,this.lastKeyCode=0,this.lastKeyTime=0,this.touchActive=!1,this.lastTouchTime=0,this.lastTouchX=0,this.lastTouchY=0,this.lastFocusTime=0,this.lastScrollTop=0,this.lastScrollLeft=0,this.lastWheelEvent=0,this.pendingIOSKey=void 0,this.lastIOSMomentumScroll=0,this.tabFocusMode=-1,this.lastSelectionOrigin=null,this.lastSelectionTime=0,this.lastContextMenu=0,this.scrollHandlers=[],this.handlers=Object.create(null),this.composing=-1,this.compositionFirstChange=null,this.compositionEndedAt=0,this.compositionPendingKey=!1,this.compositionPendingChange=!1,this.insertingText="",this.insertingTextAt=0,this.mouseSelection=null,this.draggedContent=null,this.handleEvent=this.handleEvent.bind(this),this.notifiedFocused=e.hasFocus,L.safari&&e.contentDOM.addEventListener("input",()=>null),L.gecko&&yQ(e.contentDOM.ownerDocument)}handleEvent(e){!dQ(this.view,e)||this.ignoreDuringComposition(e)||e.type=="keydown"&&this.keydown(e)||(this.view.updateState!=0?Promise.resolve().then(()=>this.runHandlers(e.type,e)):this.runHandlers(e.type,e))}runHandlers(e,t){let n=this.handlers[e];if(n){for(let r of n.observers)r(this.view,t);for(let r of n.handlers){if(t.defaultPrevented)break;if(r(this.view,t)){t.preventDefault();break}}}}ensureHandlers(e){let t=lQ(e),n=this.handlers,r=this.view.contentDOM;for(let s in t)if(s!="scroll"){let o=!t[s].handlers.length,a=n[s];a&&o!=!a.handlers.length&&(r.removeEventListener(s,this.handleEvent),a=null),a||r.addEventListener(s,this.handleEvent,{passive:o})}for(let s in n)s!="scroll"&&!t[s]&&r.removeEventListener(s,this.handleEvent);this.handlers=t}keydown(e){if(this.lastKeyCode=e.keyCode,this.lastKeyTime=Date.now(),e.keyCode==9&&this.tabFocusMode>-1&&(!this.tabFocusMode||Date.now()<=this.tabFocusMode))return!0;if(this.tabFocusMode>0&&e.keyCode!=27&&Pu.indexOf(e.keyCode)<0&&(this.tabFocusMode=-1),L.android&&L.chrome&&!e.synthetic&&(e.keyCode==13||e.keyCode==8))return this.view.observer.delayAndroidKey(e.key,e.keyCode),!0;if(L.ios&&!e.synthetic&&!e.altKey&&!e.metaKey&&(wu.some(t=>t.keyCode==e.keyCode)&&!e.ctrlKey||cQ.indexOf(e.key)>-1&&e.ctrlKey)){let t={ctrlKey:e.ctrlKey,altKey:e.altKey,metaKey:e.metaKey,shiftKey:e.shiftKey};return t.shiftKey&&L.ios&&!/^(off|none)$/.test(this.view.contentDOM.autocapitalize)&&aQ(this.view.win)&&(t.shiftKey=!1),this.pendingIOSKey={key:e.key,keyCode:e.keyCode,mods:t},setTimeout(()=>this.flushIOSKey(),250),!0}return e.keyCode!=229&&this.view.observer.forceFlush(),!1}flushIOSKey(e){let t=this.pendingIOSKey;return!t||t.key=="Enter"&&e&&e.from0?!0:L.safari&&!L.ios&&this.compositionPendingKey&&Date.now()-this.compositionEndedAt<100?(this.compositionPendingKey=!1,!0):!1}startMouseSelection(e){this.mouseSelection&&this.mouseSelection.destroy(),this.mouseSelection=e}update(e){this.view.observer.update(e),this.mouseSelection&&this.mouseSelection.update(e),this.draggedContent&&e.docChanged&&(this.draggedContent=this.draggedContent.map(e.changes)),e.transactions.length&&(this.lastKeyCode=this.lastSelectionTime=0)}destroy(){this.mouseSelection&&this.mouseSelection.destroy()}};function aQ(i){return i.visualViewport?i.visualViewport.height*i.visualViewport.scale/i.document.documentElement.clientHeight<.85:!1}function Tf(i,e){return(t,n)=>{try{return e.call(i,n,t)}catch(r){at(t.state,r)}}}function lQ(i){let e=Object.create(null);function t(n){return e[n]||(e[n]={observers:[],handlers:[]})}for(let n of i){let r=n.spec,s=r&&r.plugin.domEventHandlers,o=r&&r.plugin.domEventObservers;if(s)for(let a in s){let l=s[a];l&&t(a).handlers.push(Tf(n.value,l))}if(o)for(let a in o){let l=o[a];l&&t(a).observers.push(Tf(n.value,l))}}for(let n in Qt)t(n).handlers.push(Qt[n]);for(let n in Me)t(n).observers.push(Me[n]);return e}var wu=[{key:"Backspace",keyCode:8,inputType:"deleteContentBackward"},{key:"Enter",keyCode:13,inputType:"insertParagraph"},{key:"Enter",keyCode:13,inputType:"insertLineBreak"},{key:"Delete",keyCode:46,inputType:"deleteContentForward"}],cQ="dthko",Pu=[16,17,18,20,91,92,224,225],es=6;function ts(i){return Math.max(0,i)*.7+8}function hQ(i,e){return Math.max(Math.abs(i.clientX-e.clientX),Math.abs(i.clientY-e.clientY))}var Ca=class{constructor(e,t,n,r){this.view=e,this.startEvent=t,this.style=n,this.mustSelect=r,this.scrollSpeed={x:0,y:0},this.scrolling=-1,this.lastEvent=t,this.scrollParents=Gf(e.contentDOM),this.atoms=e.state.facet(sr).map(o=>o(e));let s=e.contentDOM.ownerDocument;s.addEventListener("mousemove",this.move=this.move.bind(this)),s.addEventListener("mouseup",this.up=this.up.bind(this)),this.extend=t.shiftKey,this.multiple=e.state.facet(re.allowMultipleSelections)&&fQ(e,t),this.dragging=OQ(e,t)&&Tu(t)==1?null:!1}start(e){this.dragging===!1&&this.select(e)}move(e){if(e.buttons==0)return this.destroy();if(this.dragging||this.dragging==null&&hQ(this.startEvent,e)<10)return;this.select(this.lastEvent=e);let t=0,n=0,r=0,s=0,o=this.view.win.innerWidth,a=this.view.win.innerHeight;this.scrollParents.x&&({left:r,right:o}=this.scrollParents.x.getBoundingClientRect()),this.scrollParents.y&&({top:s,bottom:a}=this.scrollParents.y.getBoundingClientRect());let l=gu(this.view);e.clientX-l.left<=r+es?t=-ts(r-e.clientX):e.clientX+l.right>=o-es&&(t=ts(e.clientX-o)),e.clientY-l.top<=s+es?n=-ts(s-e.clientY):e.clientY+l.bottom>=a-es&&(n=ts(e.clientY-a)),this.setScrollSpeed(t,n)}up(e){this.dragging==null&&this.select(this.lastEvent),this.dragging||e.preventDefault(),this.destroy()}destroy(){this.setScrollSpeed(0,0);let e=this.view.contentDOM.ownerDocument;e.removeEventListener("mousemove",this.move),e.removeEventListener("mouseup",this.up),this.view.inputState.mouseSelection=this.view.inputState.draggedContent=null}setScrollSpeed(e,t){this.scrollSpeed={x:e,y:t},e||t?this.scrolling<0&&(this.scrolling=setInterval(()=>this.scroll(),50)):this.scrolling>-1&&(clearInterval(this.scrolling),this.scrolling=-1)}scroll(){let{x:e,y:t}=this.scrollSpeed;e&&this.scrollParents.x&&(this.scrollParents.x.scrollLeft+=e,e=0),t&&this.scrollParents.y&&(this.scrollParents.y.scrollTop+=t,t=0),(e||t)&&this.view.win.scrollBy(e,t),this.dragging===!1&&this.select(this.lastEvent)}select(e){let{view:t}=this,n=Su(this.atoms,this.style.get(e,this.extend,this.multiple));(this.mustSelect||!n.eq(t.state.selection,this.dragging===!1))&&this.view.dispatch({selection:n,userEvent:"select.pointer"}),this.mustSelect=!1}update(e){e.transactions.some(t=>t.isUserEvent("input.type"))?this.destroy():this.style.update(e)&&setTimeout(()=>this.select(this.lastEvent),20)}};function fQ(i,e){let t=i.state.facet(ru);return t.length?t[0](e):L.mac?e.metaKey:e.ctrlKey}function uQ(i,e){let t=i.state.facet(su);return t.length?t[0](e):L.mac?!e.altKey:!e.ctrlKey}function OQ(i,e){let{main:t}=i.state.selection;if(t.empty)return!1;let n=nr(i.root);if(!n||n.rangeCount==0)return!0;let r=n.getRangeAt(0).getClientRects();for(let s=0;s=e.clientX&&o.top<=e.clientY&&o.bottom>=e.clientY)return!0}return!1}function dQ(i,e){if(!e.bubbles)return!0;if(e.defaultPrevented)return!1;for(let t=e.target,n;t!=i.contentDOM;t=t.parentNode)if(!t||t.nodeType==11||(n=fe.get(t))&&n.isWidget()&&!n.isHidden&&n.widget.ignoreEvent(e))return!1;return!0}var Qt=Object.create(null),Me=Object.create(null),vu=L.ie&&L.ie_version<15||L.ios&&L.webkit_version<604;function pQ(i){let e=i.dom.parentNode;if(!e)return;let t=e.appendChild(document.createElement("textarea"));t.style.cssText="position: fixed; left: -10000px; top: 10px",t.focus(),setTimeout(()=>{i.focus(),t.remove(),$u(i,t.value)},50)}function ks(i,e,t){for(let n of i.facet(e))t=n(t,i);return t}function $u(i,e){e=ks(i.state,Ua,e);let{state:t}=i,n,r=1,s=t.toText(e),o=s.lines==t.selection.ranges.length;if(Xa!=null&&t.selection.ranges.every(l=>l.empty)&&Xa==s.toString()){let l=-1;n=t.changeByRange(c=>{let h=t.doc.lineAt(c.from);if(h.from==l)return{range:c};l=h.from;let f=t.toText((o?s.line(r++).text:e)+t.lineBreak);return{changes:{from:h.from,insert:f},range:v.cursor(c.from+f.length)}})}else o?n=t.changeByRange(l=>{let c=s.line(r++);return{changes:{from:l.from,to:l.to,insert:c.text},range:v.cursor(l.from+c.length)}}):n=t.replaceSelection(s);i.dispatch(n,{userEvent:"input.paste",scrollIntoView:!0})}Me.scroll=i=>{let e=i.inputState;e.lastScrollTop=i.scrollDOM.scrollTop,e.lastScrollLeft=i.scrollDOM.scrollLeft,L.ios&&!e.touchActive&&(e.lastIOSMomentumScroll=Date.now())};Me.wheel=Me.mousewheel=i=>{i.inputState.lastWheelEvent=Date.now()};Qt.keydown=(i,e)=>(i.inputState.setSelectionOrigin("select"),e.keyCode==27&&i.inputState.tabFocusMode!=0&&(i.inputState.tabFocusMode=Date.now()+2e3),!1);Me.touchstart=(i,e)=>{let t=i.inputState,n=e.targetTouches[0];t.touchActive=!0,t.lastTouchTime=Date.now(),n&&(t.lastTouchX=n.clientX,t.lastTouchY=n.clientY),t.setSelectionOrigin("select.pointer")};Me.touchmove=i=>{i.inputState.setSelectionOrigin("select.pointer")};Me.touchend=(i,e)=>{i.inputState.touchActive=!1};Qt.mousedown=(i,e)=>{if(i.observer.flush(),i.inputState.lastTouchTime>Date.now()-2e3)return!1;let t=null;for(let n of i.state.facet(ou))if(t=n(i,e),t)break;if(!t&&e.button==0&&(t=gQ(i,e)),t){let n=!i.hasFocus;i.inputState.startMouseSelection(new Ca(i,e,t,n)),n&&i.observer.ignore(()=>{Nf(i.contentDOM);let s=i.root.activeElement;s&&!s.contains(i.contentDOM)&&s.blur()});let r=i.inputState.mouseSelection;if(r)return r.start(e),r.dragging===!1}else i.inputState.setSelectionOrigin("select.pointer");return!1};function Cf(i,e,t,n){if(n==1)return v.cursor(e,t);if(n==2)return F0(i.state,e,t);{let r=i.docView.lineAt(e,t),s=i.state.doc.lineAt(r?r.posAtEnd:e),o=r?r.posAtStart:s.from,a=r?r.posAtEnd:s.to;return aDate.now()-400&&Math.abs(e.clientX-i.clientX)<2&&Math.abs(e.clientY-i.clientY)<2?(_f+1)%3:1}function gQ(i,e){let t=i.posAndSideAtCoords({x:e.clientX,y:e.clientY},!1),n=Tu(e),r=i.state.selection;return{update(s){s.docChanged&&(t.pos=s.changes.mapPos(t.pos),r=r.map(s.changes))},get(s,o,a){let l=i.posAndSideAtCoords({x:s.clientX,y:s.clientY},!1),c,h=Cf(i,l.pos,l.assoc,n);if(t.pos!=l.pos&&!o){let f=Cf(i,t.pos,t.assoc,n),u=Math.min(f.from,h.from),O=Math.max(f.to,h.to);h=u1&&(c=QQ(r,l.pos))?c:a?r.addRange(h):v.create([h])}}}function QQ(i,e){for(let t=0;t=e)return v.create(i.ranges.slice(0,t).concat(i.ranges.slice(t+1)),i.mainIndex==t?0:i.mainIndex-(i.mainIndex>t?1:0))}return null}Qt.dragstart=(i,e)=>{let{selection:{main:t}}=i.state;if(e.target.draggable){let r=i.docView.tile.nearest(e.target);if(r&&r.isWidget()){let s=r.posAtStart,o=s+r.length;(s>=t.to||o<=t.from)&&(t=v.undirectionalRange(s,o))}}let{inputState:n}=i;return n.mouseSelection&&(n.mouseSelection.dragging=!0),n.draggedContent=t,e.dataTransfer&&(e.dataTransfer.setData("Text",ks(i.state,Ga,i.state.sliceDoc(t.from,t.to))),e.dataTransfer.effectAllowed="copyMove"),!1};Qt.dragend=i=>(i.inputState.draggedContent=null,!1);function Af(i,e,t,n){if(t=ks(i.state,Ua,t),!t)return;let r=i.posAtCoords({x:e.clientX,y:e.clientY},!1),{draggedContent:s}=i.inputState,o=n&&s&&uQ(i,e)?{from:s.from,to:s.to}:null,a={from:r,insert:t},l=i.state.changes(o?[o,a]:a);i.focus(),i.dispatch({changes:l,selection:{anchor:l.mapPos(r,-1),head:l.mapPos(r,1)},userEvent:o?"move.drop":"input.drop"}),i.inputState.draggedContent=null}Qt.drop=(i,e)=>{if(!e.dataTransfer)return!1;if(i.state.readOnly)return!0;let t=e.dataTransfer.files;if(t&&t.length){let n=Array(t.length),r=0,s=()=>{++r==t.length&&Af(i,e,n.filter(o=>o!=null).join(i.state.lineBreak),!1)};for(let o=0;o{/[\x00-\x08\x0e-\x1f]{2}/.test(a.result)||(n[o]=a.result),s()},a.readAsText(t[o])}return!0}else{let n=e.dataTransfer.getData("Text");if(n)return Af(i,e,n,!0),!0}return!1};Qt.paste=(i,e)=>{if(i.state.readOnly)return!0;i.observer.flush();let t=vu?null:e.clipboardData;return t?($u(i,t.getData("text/plain")||t.getData("text/uri-list")),!0):(pQ(i),!1)};function bQ(i,e){let t=i.dom.parentNode;if(!t)return;let n=t.appendChild(document.createElement("textarea"));n.style.cssText="position: fixed; left: -10000px; top: 10px",n.value=e,n.focus(),n.selectionEnd=e.length,n.selectionStart=0,setTimeout(()=>{n.remove(),i.focus()},50)}function SQ(i){let e=[],t=[],n=!1;for(let r of i.selection.ranges)r.empty||(e.push(i.sliceDoc(r.from,r.to)),t.push(r));if(!e.length){let r=-1;for(let{from:s}of i.selection.ranges){let o=i.doc.lineAt(s);o.number>r&&(e.push(o.text),t.push({from:o.from,to:Math.min(i.doc.length,o.to+1)})),r=o.number}n=!0}return{text:ks(i,Ga,e.join(i.lineBreak)),ranges:t,linewise:n}}var Xa=null;Qt.copy=Qt.cut=(i,e)=>{if(!Gn(i.contentDOM,i.observer.selectionRange))return!1;let{text:t,ranges:n,linewise:r}=SQ(i.state);if(!t&&!r)return!1;Xa=r?t:null,e.type=="cut"&&!i.state.readOnly&&i.dispatch({changes:n,scrollIntoView:!0,userEvent:"delete.cut"});let s=vu?null:e.clipboardData;return s?(s.clearData(),s.setData("text/plain",t),!0):(bQ(i,t),!1)};var Cu=_e.define();function Xu(i,e){let t=[];for(let n of i.facet(cu)){let r=n(i,e);r&&t.push(r)}return t.length?i.update({effects:t,annotations:Cu.of(!0)}):null}function _u(i){setTimeout(()=>{let e=i.hasFocus;if(e!=i.inputState.notifiedFocused){let t=Xu(i.state,e);t?i.dispatch(t):i.update([])}},10)}Me.focus=i=>{i.inputState.lastFocusTime=Date.now(),!i.scrollDOM.scrollTop&&(i.inputState.lastScrollTop||i.inputState.lastScrollLeft)&&(i.scrollDOM.scrollTop=i.inputState.lastScrollTop,i.scrollDOM.scrollLeft=i.inputState.lastScrollLeft),_u(i)};Me.blur=i=>{i.observer.clearSelectionRange(),_u(i)};Me.compositionstart=Me.compositionupdate=i=>{i.observer.editContext||(i.inputState.compositionFirstChange==null&&(i.inputState.compositionFirstChange=!0),i.inputState.composing<0&&(i.inputState.composing=0))};Me.compositionend=i=>{i.observer.editContext||(i.inputState.composing=-1,i.inputState.compositionEndedAt=Date.now(),i.inputState.compositionPendingKey=!0,i.inputState.compositionPendingChange=i.observer.pendingRecords().length>0,i.inputState.compositionFirstChange=null,L.chrome&&L.android?i.observer.flushSoon():i.inputState.compositionPendingChange?Promise.resolve().then(()=>i.observer.flush()):setTimeout(()=>{i.inputState.composing<0&&i.docView.hasComposition&&i.update([])},50))};Me.contextmenu=i=>{i.inputState.lastContextMenu=Date.now()};Qt.beforeinput=(i,e)=>{var t,n;if((e.inputType=="insertText"||e.inputType=="insertCompositionText")&&(i.inputState.insertingText=e.data,i.inputState.insertingTextAt=Date.now()),e.inputType=="insertReplacementText"&&i.observer.editContext){let s=(t=e.dataTransfer)===null||t===void 0?void 0:t.getData("text/plain"),o=e.getTargetRanges();if(s&&o.length){let a=o[0],l=i.posAtDOM(a.startContainer,a.startOffset),c=i.posAtDOM(a.endContainer,a.endOffset);return Ha(i,{from:l,to:c,insert:i.state.toText(s)},null),!0}}let r;if(L.chrome&&L.android&&(r=wu.find(s=>s.inputType==e.inputType))&&(i.observer.delayAndroidKey(r.key,r.keyCode),r.key=="Backspace"||r.key=="Delete")){let s=((n=window.visualViewport)===null||n===void 0?void 0:n.height)||0;setTimeout(()=>{var o;(((o=window.visualViewport)===null||o===void 0?void 0:o.height)||0)>s+10&&i.hasFocus&&(i.contentDOM.blur(),i.focus())},100)}return L.ios&&e.inputType=="deleteContentForward"&&i.observer.flushSoon(),L.safari&&e.inputType=="insertText"&&i.inputState.composing>=0&&setTimeout(()=>Me.compositionend(i,e),20),!1};var Zf=new Set;function yQ(i){Zf.has(i)||(Zf.add(i),i.addEventListener("copy",()=>{}),i.addEventListener("cut",()=>{}))}var qf=["pre-wrap","normal","pre-line","break-spaces"],gn=!1;function Ef(){gn=!1}var _a=class{constructor(e){this.lineWrapping=e,this.doc=H.empty,this.heightSamples={},this.lineHeight=14,this.charWidth=7,this.textHeight=14,this.lineLength=30}heightForGap(e,t){let n=this.doc.lineAt(t).number-this.doc.lineAt(e).number+1;return this.lineWrapping&&(n+=Math.max(0,Math.ceil((t-e-n*this.lineLength*.5)/this.lineLength))),this.lineHeight*n}heightForLine(e){return this.lineWrapping?(1+Math.max(0,Math.ceil((e-this.lineLength)/Math.max(1,this.lineLength-5))))*this.lineHeight:this.lineHeight}setDoc(e){return this.doc=e,this}mustRefreshForWrapping(e){return qf.indexOf(e)>-1!=this.lineWrapping}mustRefreshForHeights(e){let t=!1;for(let n=0;n-1,l=Math.abs(t-this.lineHeight)>.3||this.lineWrapping!=a;if(this.lineWrapping=a,this.lineHeight=t,this.charWidth=n,this.textHeight=r,this.lineLength=s,l){this.heightSamples={};for(let c=0;c0}set outdated(e){this.flags=(e?2:0)|this.flags&-3}setHeight(e){this.height!=e&&(Math.abs(this.height-e)>as&&(gn=!0),this.height=e)}replace(e,t,n){return i.of(n)}decomposeLeft(e,t){t.push(this)}decomposeRight(e,t){t.push(this)}applyChanges(e,t,n,r){let s=this,o=n.doc;for(let a=r.length-1;a>=0;a--){let{fromA:l,toA:c,fromB:h,toB:f}=r[a],u=s.lineAt(l,ae.ByPosNoHeight,n.setDoc(t),0,0),O=u.to>=c?u:s.lineAt(c,ae.ByPosNoHeight,n,0,0);for(f+=O.to-c,c=O.to;a>0&&u.from<=r[a-1].toA;)l=r[a-1].fromA,h=r[a-1].fromB,a--,ls*2){let a=e[t-1];a.break?e.splice(--t,1,a.left,null,a.right):e.splice(--t,1,a.left,a.right),n+=1+a.break,r-=a.size}else if(s>r*2){let a=e[n];a.break?e.splice(n,1,a.left,null,a.right):e.splice(n,1,a.left,a.right),n+=2+a.break,s-=a.size}else break;else if(r=s&&o(this.lineAt(0,ae.ByPos,n,r,s))}setMeasuredHeight(e){let t=e.heights[e.index++];t<0?(this.spaceAbove=-t,t=e.heights[e.index++]):this.spaceAbove=0,this.setHeight(t)}updateHeight(e,t=0,n=!1,r){return r&&r.from<=t&&r.more&&this.setMeasuredHeight(r),this.outdated=!1,this}toString(){return`block(${this.length})`}},rt=class i extends gs{constructor(e,t,n){super(e,t,null),this.collapsed=0,this.widgetHeight=0,this.breaks=0,this.spaceAbove=n}mainBlock(e,t){return new mt(t,this.length,e+this.spaceAbove,this.height-this.spaceAbove,this.breaks)}replace(e,t,n){let r=n[0];return n.length==1&&(r instanceof i||r instanceof si&&r.flags&4)&&Math.abs(this.length-r.length)<10?(r instanceof si?r=new i(r.length,this.height,this.spaceAbove):r.height=this.height,this.outdated||(r.outdated=!1),r):He.of(n)}updateHeight(e,t=0,n=!1,r){return r&&r.from<=t&&r.more?this.setMeasuredHeight(r):(n||this.outdated)&&(this.spaceAbove=0,this.setHeight(Math.max(this.widgetHeight,e.heightForLine(this.length-this.collapsed))+this.breaks*e.lineHeight)),this.outdated=!1,this}toString(){return`line(${this.length}${this.collapsed?-this.collapsed:""}${this.widgetHeight?":"+this.widgetHeight:""})`}},si=class i extends He{constructor(e){super(e,0)}heightMetrics(e,t){let n=e.doc.lineAt(t).number,r=e.doc.lineAt(t+this.length).number,s=r-n+1,o,a=0;if(e.lineWrapping){let l=Math.min(this.height,e.lineHeight*s);o=l/s,this.length>s+1&&(a=(this.height-l)/(this.length-s-1))}else o=this.height/s;return{firstLine:n,lastLine:r,perLine:o,perChar:a}}blockAt(e,t,n,r){let{firstLine:s,lastLine:o,perLine:a,perChar:l}=this.heightMetrics(t,r);if(t.lineWrapping){let c=r+(e0){let s=n[n.length-1];s instanceof i?n[n.length-1]=new i(s.length+r):n.push(null,new i(r-1))}if(e>0){let s=n[0];s instanceof i?n[0]=new i(e+s.length):n.unshift(new i(e-1),null)}return He.of(n)}decomposeLeft(e,t){t.push(new i(e-1),null)}decomposeRight(e,t){t.push(null,new i(this.length-e-1))}updateHeight(e,t=0,n=!1,r){let s=t+this.length;if(r&&r.from<=t+this.length&&r.more){let o=[],a=Math.max(t,r.from),l=-1;for(r.from>t&&o.push(new i(r.from-t-1).updateHeight(e,t));a<=s&&r.more;){let h=e.doc.lineAt(a).length;o.length&&o.push(null);let f=r.heights[r.index++],u=0;f<0&&(u=-f,f=r.heights[r.index++]),l==-1?l=f:Math.abs(f-l)>=as&&(l=-2);let O=new rt(h,f,u);O.outdated=!1,o.push(O),a+=h+1}a<=s&&o.push(null,new i(s-a).updateHeight(e,a));let c=He.of(o);return(l<0||Math.abs(c.height-this.height)>=as||Math.abs(l-this.heightMetrics(e,t).perLine)>=as)&&(gn=!0),ms(this,c)}else(n||this.outdated)&&(this.setHeight(e.heightForGap(t,t+this.length)),this.outdated=!1);return this}toString(){return`gap(${this.length})`}},Aa=class extends He{constructor(e,t,n){super(e.length+t+n.length,e.height+n.height,t|(e.outdated||n.outdated?2:0)),this.left=e,this.right=n,this.size=e.size+n.size}get break(){return this.flags&1}blockAt(e,t,n,r){let s=n+this.left.height;return ea))return c;let h=t==ae.ByPosNoHeight?ae.ByPosNoHeight:ae.ByPos;return l?c.join(this.right.lineAt(a,h,n,o,a)):this.left.lineAt(a,h,n,r,s).join(c)}forEachLine(e,t,n,r,s,o){let a=r+this.left.height,l=s+this.left.length+this.break;if(this.break)e=l&&this.right.forEachLine(e,t,n,a,l,o);else{let c=this.lineAt(l,ae.ByPos,n,r,s);e=e&&c.from<=t&&o(c),t>c.to&&this.right.forEachLine(c.to+1,t,n,a,l,o)}}replace(e,t,n){let r=this.left.length+this.break;if(tthis.left.length)return this.balanced(this.left,this.right.replace(e-r,t-r,n));let s=[];e>0&&this.decomposeLeft(e,s);let o=s.length;for(let a of n)s.push(a);if(e>0&&zf(s,o-1),t=n&&t.push(null)),e>n&&this.right.decomposeLeft(e-n,t)}decomposeRight(e,t){let n=this.left.length,r=n+this.break;if(e>=r)return this.right.decomposeRight(e-r,t);e2*t.size||t.size>2*e.size?He.of(this.break?[e,null,t]:[e,t]):(this.left=ms(this.left,e),this.right=ms(this.right,t),this.setHeight(e.height+t.height),this.outdated=e.outdated||t.outdated,this.size=e.size+t.size,this.length=e.length+this.break+t.length,this)}updateHeight(e,t=0,n=!1,r){let{left:s,right:o}=this,a=t+s.length+this.break,l=null;return r&&r.from<=t+s.length&&r.more?l=s=s.updateHeight(e,t,n,r):s.updateHeight(e,t,n),r&&r.from<=a+o.length&&r.more?l=o=o.updateHeight(e,a,n,r):o.updateHeight(e,a,n),l?this.balanced(s,o):(this.height=this.left.height+this.right.height,this.outdated=!1,this)}toString(){return this.left+(this.break?" ":"-")+this.right}};function zf(i,e){let t,n;i[e]==null&&(t=i[e-1])instanceof si&&(n=i[e+1])instanceof si&&i.splice(e-1,3,new si(t.length+1+n.length))}var xQ=5,Za=class i{constructor(e,t){this.pos=e,this.oracle=t,this.nodes=[],this.lineStart=-1,this.lineEnd=-1,this.covering=null,this.writtenTo=e}get isCovered(){return this.covering&&this.nodes[this.nodes.length-1]==this.covering}span(e,t){if(this.lineStart>-1){let n=Math.min(t,this.lineEnd),r=this.nodes[this.nodes.length-1];r instanceof rt?r.length+=n-this.pos:(n>this.pos||!this.isCovered)&&this.nodes.push(new rt(n-this.pos,-1,0)),this.writtenTo=n,t>n&&(this.nodes.push(null),this.writtenTo++,this.lineStart=-1)}this.pos=t}point(e,t,n){if(e=xQ)&&this.addLineDeco(r,s,o)}else t>e&&this.span(e,t);this.lineEnd>-1&&this.lineEnd-1)return;let{from:e,to:t}=this.oracle.doc.lineAt(this.pos);this.lineStart=e,this.lineEnd=t,this.writtenToe&&this.nodes.push(new rt(this.pos-e,-1,0)),this.writtenTo=this.pos}blankContent(e,t){let n=new si(t-e);return this.oracle.doc.lineAt(e).to==t&&(n.flags|=4),n}ensureLine(){this.enterLine();let e=this.nodes.length?this.nodes[this.nodes.length-1]:null;if(e instanceof rt)return e;let t=new rt(0,-1,0);return this.nodes.push(t),t}addBlock(e){this.enterLine();let t=e.deco;t&&t.startSide>0&&!this.isCovered&&this.ensureLine(),this.nodes.push(e),this.writtenTo=this.pos=this.pos+e.length,t&&t.endSide>0&&(this.covering=e)}addLineDeco(e,t,n){let r=this.ensureLine();r.length+=n,r.collapsed+=n,r.widgetHeight=Math.max(r.widgetHeight,e),r.breaks+=t,this.writtenTo=this.pos=this.pos+n}finish(e){let t=this.nodes.length==0?null:this.nodes[this.nodes.length-1];this.lineStart>-1&&!(t instanceof rt)&&!this.isCovered?this.nodes.push(new rt(0,-1,0)):(this.writtenToh.clientHeight||h.scrollWidth>h.clientWidth)&&f.overflow!="visible"){let u=h.getBoundingClientRect();s=Math.max(s,u.left),o=Math.min(o,u.right),a=Math.max(a,u.top),l=Math.min(c==i.parentNode?r.innerHeight:l,u.bottom)}c=f.position=="absolute"||f.position=="fixed"?h.offsetParent:h.parentNode}else if(c.nodeType==11)c=c.host;else break;return{left:s-t.left,right:Math.max(s,o)-t.left,top:a-(t.top+e),bottom:Math.max(a,l)-(t.top+e)}}function vQ(i){let e=i.getBoundingClientRect(),t=i.ownerDocument.defaultView||window;return e.left0&&e.top0}function $Q(i,e){let t=i.getBoundingClientRect();return{left:0,right:t.right-t.left,top:e,bottom:t.bottom-(t.top+e)}}var er=class{constructor(e,t,n,r){this.from=e,this.to=t,this.size=n,this.displaySize=r}static same(e,t){if(e.length!=t.length)return!1;for(let n=0;ntypeof r!="function"&&r.class=="cm-lineWrapping");this.heightOracle=new _a(n),this.stateDeco=Mf(t),this.heightMap=He.empty().applyChanges(this.stateDeco,H.empty,this.heightOracle.setDoc(t.doc),[new gt(0,0,0,t.doc.length)]);for(let r=0;r<2&&(this.viewport=this.getViewport(0,null),!!this.updateForViewport());r++);this.updateViewportLines(),this.lineGaps=this.ensureLineGaps([]),this.lineGapDeco=Z.set(this.lineGaps.map(r=>r.draw(this,!1))),this.scrollParent=e.scrollDOM,this.computeVisibleRanges()}updateForViewport(){let e=[this.viewport],{main:t}=this.state.selection;for(let n=0;n<=1;n++){let r=n?t.head:t.anchor;if(!e.some(({from:s,to:o})=>r>=s&&r<=o)){let{from:s,to:o}=this.lineBlockAt(r);e.push(new hn(s,o))}}return this.viewports=e.sort((n,r)=>n.from-r.from),this.updateScaler()}updateScaler(){let e=this.scaler;return this.scaler=this.heightMap.height<=7e6?Lf:new za(this.heightOracle,this.heightMap,this.viewports),e.eq(this.scaler)?0:2}updateViewportLines(){this.viewportLines=[],this.heightMap.forEachLine(this.viewport.from,this.viewport.to,this.heightOracle.setDoc(this.state.doc),0,0,e=>{this.viewportLines.push(Bn(e,this.scaler))})}update(e,t=null){this.state=e.state;let n=this.stateDeco;this.stateDeco=Mf(this.state);let r=e.changedRanges,s=gt.extendWithRanges(r,wQ(n,this.stateDeco,e?e.changes:ze.empty(this.state.doc.length))),o=this.heightMap.height,a=this.scrolledToBottom?null:this.scrollAnchorAt(this.scrollOffset);Ef(),this.heightMap=this.heightMap.applyChanges(this.stateDeco,e.startState.doc,this.heightOracle.setDoc(this.state.doc),s),(this.heightMap.height!=o||gn)&&(e.flags|=2),a?(this.scrollAnchorPos=e.changes.mapPos(a.from,-1),this.scrollAnchorHeight=a.top):(this.scrollAnchorPos=-1,this.scrollAnchorHeight=o);let l=s.length?this.mapViewport(this.viewport,e.changes):this.viewport;(t&&(t.range.headl.to)||!this.viewportIsAppropriate(l))&&(l=this.getViewport(0,t));let c=l.from!=this.viewport.from||l.to!=this.viewport.to;this.viewport=l,e.flags|=this.updateForViewport(),(c||!e.changes.empty||e.flags&2)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(this.mapLineGaps(this.lineGaps,e.changes))),e.flags|=this.computeVisibleRanges(e.changes),t&&(this.scrollTarget=t),!this.mustEnforceCursorAssoc&&(e.selectionSet||e.focusChanged)&&e.view.lineWrapping&&e.state.selection.main.empty&&e.state.selection.main.assoc&&!e.state.facet(Z0)&&(this.mustEnforceCursorAssoc=!0)}measure(){let{view:e}=this,t=e.contentDOM,n=window.getComputedStyle(t),r=this.heightOracle,s=n.whiteSpace;this.defaultTextDirection=n.direction=="rtl"?ue.RTL:ue.LTR;let o=this.heightOracle.mustRefreshForWrapping(s)||this.mustMeasureContent==="refresh",a=t.getBoundingClientRect(),l=o||this.mustMeasureContent||this.contentDOMHeight!=a.height;this.contentDOMHeight=a.height,this.mustMeasureContent=!1;let c=0,h=0;if(a.width&&a.height){let{scaleX:P,scaleY:$}=Uf(t,a);(P>.005&&Math.abs(this.scaleX-P)>.005||$>.005&&Math.abs(this.scaleY-$)>.005)&&(this.scaleX=P,this.scaleY=$,c|=16,o=l=!0)}let f=(parseInt(n.paddingTop)||0)*this.scaleY,u=(parseInt(n.paddingBottom)||0)*this.scaleY;(this.paddingTop!=f||this.paddingBottom!=u)&&(this.paddingTop=f,this.paddingBottom=u,c|=18),this.editorWidth!=e.scrollDOM.clientWidth&&(r.lineWrapping&&(l=!0),this.editorWidth=e.scrollDOM.clientWidth,c|=16);let O=Gf(this.view.contentDOM,!1).y;O!=this.scrollParent&&(this.scrollParent=O,this.scrollAnchorHeight=-1,this.scrollOffset=0);let p=this.getScrollOffset();this.scrollOffset!=p&&(this.scrollAnchorHeight=-1,this.scrollOffset=p),this.scrolledToBottom=Ff(this.scrollParent||e.win);let m=(this.printing?$Q:PQ)(t,this.paddingTop),b=m.top-this.pixelViewport.top,g=m.bottom-this.pixelViewport.bottom;this.pixelViewport=m;let Q=this.pixelViewport.bottom>this.pixelViewport.top&&this.pixelViewport.right>this.pixelViewport.left;if(Q!=this.inView&&(this.inView=Q,Q&&(l=!0)),!this.inView&&!this.scrollTarget&&!vQ(e.dom))return 0;let S=a.width;if((this.contentDOMWidth!=S||this.editorHeight!=e.scrollDOM.clientHeight)&&(this.contentDOMWidth=a.width,this.editorHeight=e.scrollDOM.clientHeight,c|=16),l){let P=e.docView.measureVisibleLineHeights(this.viewport);if(r.mustRefreshForHeights(P)&&(o=!0),o||r.lineWrapping&&Math.abs(S-this.contentDOMWidth)>r.charWidth){let{lineHeight:$,charWidth:R,textHeight:_}=e.docView.measureTextSize();o=$>0&&r.refresh(s,$,R,_,Math.max(5,S/R),P),o&&(e.docView.minWidth=0,c|=16)}b>0&&g>0?h=Math.max(b,g):b<0&&g<0&&(h=Math.min(b,g)),Ef();for(let $ of this.viewports){let R=$.from==this.viewport.from?P:e.docView.measureVisibleLineHeights($);this.heightMap=(o?He.empty().applyChanges(this.stateDeco,H.empty,this.heightOracle,[new gt(0,0,0,e.state.doc.length)]):this.heightMap).updateHeight(r,0,o,new Ra($.from,R))}gn&&(c|=2)}let x=!this.viewportIsAppropriate(this.viewport,h)||this.scrollTarget&&(this.scrollTarget.range.headthis.viewport.to);return x&&(c&2&&(c|=this.updateScaler()),this.viewport=this.getViewport(h,this.scrollTarget),c|=this.updateForViewport()),(c&2||x)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(o?[]:this.lineGaps,e)),c|=this.computeVisibleRanges(),this.mustEnforceCursorAssoc&&(this.mustEnforceCursorAssoc=!1,e.docView.enforceCursorAssoc()),c}get visibleTop(){return this.scaler.fromDOM(this.pixelViewport.top)}get visibleBottom(){return this.scaler.fromDOM(this.pixelViewport.bottom)}getViewport(e,t){let n=.5-Math.max(-.5,Math.min(.5,e/1e3/2)),r=this.heightMap,s=this.heightOracle,{visibleTop:o,visibleBottom:a}=this,l=new hn(r.lineAt(o-n*1e3,ae.ByHeight,s,0,0).from,r.lineAt(a+(1-n)*1e3,ae.ByHeight,s,0,0).to);if(t){let{head:c}=t.range;if(cl.to){let h=Math.min(this.editorHeight,this.pixelViewport.bottom-this.pixelViewport.top),f=r.lineAt(c,ae.ByPos,s,0,0),u;t.y=="center"?u=(f.top+f.bottom)/2-h/2:t.y=="start"||t.y=="nearest"&&c=a+Math.max(10,Math.min(n,250)))&&r>o-2*1e3&&s>1,o=r<<1;if(this.defaultTextDirection!=ue.LTR&&!n)return[];let a=[],l=(h,f,u,O)=>{if(f-hh&&gg.from>=u.from&&g.to<=u.to&&Math.abs(g.from-h)g.fromQ));if(!b){if(fS.from<=f&&S.to>=f)){let S=t.moveToLineBoundary(v.cursor(f),!1,!0).head;S>h&&(f=S)}let g=this.gapSize(u,h,f,O),Q=n||g<2e6?g:2e6;b=new er(h,f,g,Q)}a.push(b)},c=h=>{if(h.length2e6)for(let $ of e)$.from>=h.from&&$.fromh.from&&l(h.from,O,h,f),pt.draw(this,this.heightOracle.lineWrapping))))}computeVisibleRanges(e){let t=this.stateDeco;this.lineGaps.length&&(t=t.concat(this.lineGapDeco));let n=[];oe.spans(t,this.viewport.from,this.viewport.to,{span(s,o){n.push({from:s,to:o})},point(){}},20);let r=0;if(n.length!=this.visibleRanges.length)r=12;else for(let s=0;s=this.viewport.from&&e<=this.viewport.to&&this.viewportLines.find(t=>t.from<=e&&t.to>=e)||Bn(this.heightMap.lineAt(e,ae.ByPos,this.heightOracle,0,0),this.scaler)}lineBlockAtHeight(e){return e>=this.viewportLines[0].top&&e<=this.viewportLines[this.viewportLines.length-1].bottom&&this.viewportLines.find(t=>t.top<=e&&t.bottom>=e)||Bn(this.heightMap.lineAt(this.scaler.fromDOM(e),ae.ByHeight,this.heightOracle,0,0),this.scaler)}getScrollOffset(){return(this.scrollParent==this.view.scrollDOM?this.scrollParent.scrollTop:(this.scrollParent?this.scrollParent.getBoundingClientRect().top:0)-this.view.contentDOM.getBoundingClientRect().top)*this.scaleY}scrollAnchorAt(e){let t=this.lineBlockAtHeight(e+8);return t.from>=this.viewport.from||this.viewportLines[0].top-e>200?t:this.viewportLines[0]}elementAtHeight(e){return Bn(this.heightMap.blockAt(this.scaler.fromDOM(e),this.heightOracle,0,0),this.scaler)}get docHeight(){return this.scaler.toDOM(this.heightMap.height)}get contentHeight(){return this.docHeight+this.paddingTop+this.paddingBottom}},hn=class{constructor(e,t){this.from=e,this.to=t}};function TQ(i,e,t){let n=[],r=i,s=0;return oe.spans(t,i,e,{span(){},point(o,a){o>r&&(n.push({from:r,to:o}),s+=o-r),r=a}},20),r=1)return e[e.length-1].to;let n=Math.floor(i*t);for(let r=0;;r++){let{from:s,to:o}=e[r],a=o-s;if(n<=a)return s+n;n-=a}}function ns(i,e){let t=0;for(let{from:n,to:r}of i.ranges){if(e<=r){t+=e-n;break}t+=r-n}return t/i.total}function CQ(i,e){for(let t of i)if(e(t))return t}var Lf={toDOM(i){return i},fromDOM(i){return i},scale:1,eq(i){return i==this}};function Mf(i){let e=i.facet(ys).filter(n=>typeof n!="function"),t=i.facet(Fa).filter(n=>typeof n!="function");return t.length&&e.push(oe.join(t)),e}var za=class i{constructor(e,t,n){let r=0,s=0,o=0;this.viewports=n.map(({from:a,to:l})=>{let c=t.lineAt(a,ae.ByPos,e,0,0).top,h=t.lineAt(l,ae.ByPos,e,0,0).bottom;return r+=h-c,{from:a,to:l,top:c,bottom:h,domTop:0,domBottom:0}}),this.scale=(7e6-r)/(t.height-r);for(let a of this.viewports)a.domTop=o+(a.top-s)*this.scale,o=a.domBottom=a.domTop+(a.bottom-a.top),s=a.bottom}toDOM(e){for(let t=0,n=0,r=0;;t++){let s=tt.from==e.viewports[n].from&&t.to==e.viewports[n].to):!1}};function Bn(i,e){if(e.scale==1)return i;let t=e.toDOM(i.top),n=e.toDOM(i.bottom);return new mt(i.from,i.length,t,n-t,Array.isArray(i._content)?i._content.map(r=>Bn(r,e)):i._content)}var rs=Y.define({combine:i=>i.join(" ")}),La=Y.define({combine:i=>i.indexOf(!0)>-1}),Ma=nt.newName(),Ru=nt.newName(),Au=nt.newName(),Zu={"&light":"."+Ru,"&dark":"."+Au};function Wa(i,e,t){return new nt(e,{finish(n){return/&/.test(n)?n.replace(/&\w*/,r=>{if(r=="&")return i;if(!t||!t[r])throw new RangeError(`Unsupported selector: ${r}`);return t[r]}):i+" "+n}})}var XQ=Wa("."+Ma,{"&":{position:"relative !important",boxSizing:"border-box","&.cm-focused":{outline:"1px dotted #212121"},display:"flex !important",flexDirection:"column"},".cm-scroller":{display:"flex !important",alignItems:"flex-start !important",fontFamily:"monospace",lineHeight:1.4,height:"100%",overflowX:"auto",position:"relative",zIndex:0,overflowAnchor:"none"},".cm-content":{margin:0,flexGrow:2,flexShrink:0,display:"block",whiteSpace:"pre",wordWrap:"normal",boxSizing:"border-box",minHeight:"100%",padding:"4px 0",outline:"none","&[contenteditable=true]":{WebkitUserModify:"read-write-plaintext-only"}},".cm-lineWrapping":{whiteSpace_fallback:"pre-wrap",whiteSpace:"break-spaces",wordBreak:"break-word",overflowWrap:"anywhere",flexShrink:1},"&light .cm-content":{caretColor:"black"},"&dark .cm-content":{caretColor:"white"},".cm-line":{display:"block",padding:"0 2px 0 6px"},".cm-layer":{userSelect:"none",position:"absolute",left:0,top:0,contain:"size style","& > *":{position:"absolute"}},"&light .cm-selectionBackground":{background:"#d9d9d9"},"&dark .cm-selectionBackground":{background:"#222"},"&light.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#d7d4f0"},"&dark.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#233"},".cm-cursorLayer":{pointerEvents:"none"},"&.cm-focused > .cm-scroller > .cm-cursorLayer":{animation:"steps(1) cm-blink 1.2s infinite"},"@keyframes cm-blink":{"0%":{},"50%":{opacity:0},"100%":{}},"@keyframes cm-blink2":{"0%":{},"50%":{opacity:0},"100%":{}},".cm-cursor, .cm-dropCursor":{borderLeft:"1.2px solid black",marginLeft:"-0.6px",pointerEvents:"none"},".cm-cursor":{display:"none"},"&dark .cm-cursor":{borderLeftColor:"#ddd"},".cm-selectionHandle":{backgroundColor:"currentColor",width:"1.5px"},".cm-selectionHandle-start::before, .cm-selectionHandle-end::before":{content:'""',backgroundColor:"inherit",borderRadius:"50%",width:"8px",height:"8px",position:"absolute",left:"-3.25px"},".cm-selectionHandle-start::before":{top:"-8px"},".cm-selectionHandle-end::before":{bottom:"-8px"},".cm-dropCursor":{position:"absolute"},"&.cm-focused > .cm-scroller > .cm-cursorLayer .cm-cursor":{display:"block"},".cm-iso":{unicodeBidi:"isolate"},".cm-announced":{position:"fixed",top:"-10000px"},"@media print":{".cm-announced":{display:"none"}},"&light .cm-activeLine":{backgroundColor:"#cceeff44"},"&dark .cm-activeLine":{backgroundColor:"#99eeff33"},"&light .cm-specialChar":{color:"red"},"&dark .cm-specialChar":{color:"#f78"},".cm-gutters":{flexShrink:0,display:"flex",height:"100%",boxSizing:"border-box",zIndex:200},".cm-gutters-before":{insetInlineStart:0},".cm-gutters-after":{insetInlineEnd:0},"&light .cm-gutters":{backgroundColor:"#f5f5f5",color:"#6c6c6c",border:"0px solid #ddd","&.cm-gutters-before":{borderRightWidth:"1px"},"&.cm-gutters-after":{borderLeftWidth:"1px"}},"&dark .cm-gutters":{backgroundColor:"#333338",color:"#ccc"},".cm-gutter":{display:"flex !important",flexDirection:"column",flexShrink:0,boxSizing:"border-box",minHeight:"100%",overflow:"hidden"},".cm-gutterElement":{boxSizing:"border-box"},".cm-lineNumbers .cm-gutterElement":{padding:"0 3px 0 5px",minWidth:"20px",textAlign:"right",whiteSpace:"nowrap"},"&light .cm-activeLineGutter":{backgroundColor:"#e2f2ff"},"&dark .cm-activeLineGutter":{backgroundColor:"#222227"},".cm-panels":{boxSizing:"border-box",position:"sticky",left:0,right:0,zIndex:300},"&light .cm-panels":{backgroundColor:"#f5f5f5",color:"black"},"&light .cm-panels-top":{borderBottom:"1px solid #ddd"},"&light .cm-panels-bottom":{borderTop:"1px solid #ddd"},"&dark .cm-panels":{backgroundColor:"#333338",color:"white"},".cm-dialog":{padding:"2px 19px 4px 6px",position:"relative","& label":{fontSize:"80%"}},".cm-dialog-close":{position:"absolute",top:"3px",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",fontSize:"14px",padding:"0"},".cm-tab":{display:"inline-block",overflow:"hidden",verticalAlign:"bottom"},".cm-widgetBuffer":{verticalAlign:"text-top",height:"1em",width:0,display:"inline"},".cm-placeholder":{color:"#888",display:"inline-block",verticalAlign:"top",userSelect:"none"},".cm-highlightSpace":{backgroundImage:"radial-gradient(circle at 50% 55%, #aaa 20%, transparent 5%)",backgroundPosition:"center"},".cm-highlightTab":{backgroundImage:`url('data:image/svg+xml,')`,backgroundSize:"auto 100%",backgroundPosition:"right 90%",backgroundRepeat:"no-repeat"},".cm-trailingSpace":{backgroundColor:"#ff332255"},".cm-button":{verticalAlign:"middle",color:"inherit",fontSize:"70%",padding:".2em 1em",borderRadius:"1px"},"&light .cm-button":{backgroundImage:"linear-gradient(#eff1f5, #d9d9df)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#b4b4b4, #d0d3d6)"}},"&dark .cm-button":{backgroundImage:"linear-gradient(#393939, #111)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#111, #333)"}},".cm-textfield":{verticalAlign:"middle",color:"inherit",fontSize:"70%",border:"1px solid silver",padding:".2em .5em"},"&light .cm-textfield":{backgroundColor:"white"},"&dark .cm-textfield":{border:"1px solid #555",backgroundColor:"inherit"}},Zu),_Q={childList:!0,characterData:!0,subtree:!0,attributes:!0,characterDataOldValue:!0},sa=L.ie&&L.ie_version<=11,ja=class{constructor(e){this.view=e,this.active=!1,this.editContext=null,this.selectionRange=new fa,this.selectionChanged=!1,this.delayedFlush=-1,this.resizeTimeout=-1,this.queue=[],this.delayedAndroidKey=null,this.flushingAndroidKey=-1,this.lastChange=0,this.scrollTargets=[],this.intersection=null,this.resizeScroll=null,this.intersecting=!1,this.gapIntersection=null,this.gaps=[],this.printQuery=null,this.parentCheck=-1,this.dom=e.contentDOM,this.observer=new MutationObserver(t=>{for(let n of t)this.queue.push(n);(L.ie&&L.ie_version<=11||L.ios&&e.composing)&&t.some(n=>n.type=="childList"&&n.removedNodes.length||n.type=="characterData"&&n.oldValue.length>n.target.nodeValue.length)?this.flushSoon():this.flush()}),window.EditContext&&L.android&&e.constructor.EDIT_CONTEXT!==!1&&!(L.chrome&&L.chrome_version<126)&&(this.editContext=new Va(e),e.state.facet(zt)&&(e.contentDOM.editContext=this.editContext.editContext)),sa&&(this.onCharData=t=>{this.queue.push({target:t.target,type:"characterData",oldValue:t.prevValue}),this.flushSoon()}),this.onSelectionChange=this.onSelectionChange.bind(this),this.onResize=this.onResize.bind(this),this.onPrint=this.onPrint.bind(this),this.onScroll=this.onScroll.bind(this),window.matchMedia&&(this.printQuery=window.matchMedia("print")),typeof ResizeObserver=="function"&&(this.resizeScroll=new ResizeObserver(()=>{var t;((t=this.view.docView)===null||t===void 0?void 0:t.lastUpdate){this.parentCheck<0&&(this.parentCheck=setTimeout(this.listenForScroll.bind(this),1e3)),t.length>0&&t[t.length-1].intersectionRatio>0!=this.intersecting&&(this.intersecting=!this.intersecting,this.intersecting!=this.view.inView&&this.onScrollChanged(document.createEvent("Event")))},{threshold:[0,.001]}),this.intersection.observe(this.dom),this.gapIntersection=new IntersectionObserver(t=>{t.length>0&&t[t.length-1].intersectionRatio>0&&this.onScrollChanged(document.createEvent("Event"))},{})),this.listenForScroll(),this.readSelectionRange()}onScrollChanged(e){this.view.inputState.runHandlers("scroll",e),this.intersecting&&this.view.measure()}onScroll(e){this.intersecting&&this.flush(!1),this.editContext&&this.view.requestMeasure(this.editContext.measureReq),this.onScrollChanged(e)}onResize(){this.resizeTimeout<0&&(this.resizeTimeout=setTimeout(()=>{this.resizeTimeout=-1,this.view.requestMeasure()},50))}onPrint(e){(e.type=="change"||!e.type)&&!e.matches||(this.view.viewState.printing=!0,this.view.measure(),setTimeout(()=>{this.view.viewState.printing=!1,this.view.requestMeasure()},500))}updateGaps(e){if(this.gapIntersection&&(e.length!=this.gaps.length||this.gaps.some((t,n)=>t!=e[n]))){this.gapIntersection.disconnect();for(let t of e)this.gapIntersection.observe(t);this.gaps=e}}onSelectionChange(e){let t=this.selectionChanged;if(!this.readSelectionRange()||this.delayedAndroidKey)return;let{view:n}=this,r=this.selectionRange;if(n.state.facet(zt)?n.root.activeElement!=this.dom:!Gn(this.dom,r))return;let s=r.anchorNode&&n.docView.tile.nearest(r.anchorNode);if(s&&s.isWidget()&&s.widget.ignoreEvent(e)){t||(this.selectionChanged=!1);return}(L.ie&&L.ie_version<=11||L.android&&L.chrome)&&!n.state.selection.main.empty&&r.focusNode&&Nn(r.focusNode,r.focusOffset,r.anchorNode,r.anchorOffset)?this.flushSoon():this.flush(!1)}readSelectionRange(){let{view:e}=this,t=nr(e.root);if(!t)return!1;let n=L.safari&&e.root.nodeType==11&&e.root.activeElement==this.dom&&RQ(this.view,t)||t;if(!n||this.selectionRange.eq(n))return!1;let r=Gn(this.dom,n);return r&&!this.selectionChanged&&e.inputState.lastFocusTime>Date.now()-200&&e.inputState.lastTouchTime{let s=this.delayedAndroidKey;s&&(this.clearDelayedAndroidKey(),this.view.inputState.lastKeyCode=s.keyCode,this.view.inputState.lastKeyTime=Date.now(),!this.flush()&&s.force&&un(this.dom,s.key,s.keyCode))};this.flushingAndroidKey=this.view.win.requestAnimationFrame(r)}(!this.delayedAndroidKey||e=="Enter")&&(this.delayedAndroidKey={key:e,keyCode:t,force:this.lastChange{this.delayedFlush=-1,this.flush()}))}forceFlush(){this.delayedFlush>=0&&(this.view.win.cancelAnimationFrame(this.delayedFlush),this.delayedFlush=-1),this.flush()}pendingRecords(){for(let e of this.observer.takeRecords())this.queue.push(e);return this.queue}processRecords(){let e=this.pendingRecords();e.length&&(this.queue=[]);let t=-1,n=-1,r=!1;for(let s of e){let o=this.readMutation(s);o&&(o.typeOver&&(r=!0),t==-1?{from:t,to:n}=o:(t=Math.min(o.from,t),n=Math.max(o.to,n)))}return{from:t,to:n,typeOver:r}}readChange(){let{from:e,to:t,typeOver:n}=this.processRecords(),r=this.selectionChanged&&Gn(this.dom,this.selectionRange);if(e<0&&!r)return null;e>-1&&(this.lastChange=Date.now()),this.view.inputState.lastFocusTime=0,this.selectionChanged=!1;let s=new $a(this.view,e,t,n);return this.view.docView.domChanged={newSel:s.newSel?s.newSel.main:null},s}flush(e=!0){if(this.delayedFlush>=0||this.delayedAndroidKey)return!1;e&&this.readSelectionRange();let t=this.readChange();if(!t)return this.view.requestMeasure(),!1;let n=this.view.state,r=ku(this.view,t);return this.view.state==n&&(t.domChanged||t.newSel&&!ps(this.view.state.selection,t.newSel.main))&&this.view.update([]),r}readMutation(e){let t=this.view.docView.tile.nearest(e.target);if(!t||t.isWidget())return null;if(t.markDirty(e.type=="attributes"),e.type=="childList"){let n=Wf(t,e.previousSibling||e.target.previousSibling,-1),r=Wf(t,e.nextSibling||e.target.nextSibling,1);return{from:n?t.posAfter(n):t.posAtStart,to:r?t.posBefore(r):t.posAtEnd,typeOver:!1}}else return e.type=="characterData"?{from:t.posAtStart,to:t.posAtEnd,typeOver:e.target.nodeValue==e.oldValue}:null}setWindow(e){e!=this.win&&(this.removeWindowListeners(this.win),this.win=e,this.addWindowListeners(this.win))}addWindowListeners(e){e.addEventListener("resize",this.onResize),this.printQuery?this.printQuery.addEventListener?this.printQuery.addEventListener("change",this.onPrint):this.printQuery.addListener(this.onPrint):e.addEventListener("beforeprint",this.onPrint),e.addEventListener("scroll",this.onScroll),e.document.addEventListener("selectionchange",this.onSelectionChange)}removeWindowListeners(e){e.removeEventListener("scroll",this.onScroll),e.removeEventListener("resize",this.onResize),this.printQuery?this.printQuery.removeEventListener?this.printQuery.removeEventListener("change",this.onPrint):this.printQuery.removeListener(this.onPrint):e.removeEventListener("beforeprint",this.onPrint),e.document.removeEventListener("selectionchange",this.onSelectionChange)}update(e){this.editContext&&(this.editContext.update(e),e.startState.facet(zt)!=e.state.facet(zt)&&(e.view.contentDOM.editContext=e.state.facet(zt)?this.editContext.editContext:null))}destroy(){var e,t,n;this.stop(),(e=this.intersection)===null||e===void 0||e.disconnect(),(t=this.gapIntersection)===null||t===void 0||t.disconnect(),(n=this.resizeScroll)===null||n===void 0||n.disconnect();for(let r of this.scrollTargets)r.removeEventListener("scroll",this.onScroll);this.removeWindowListeners(this.win),clearTimeout(this.parentCheck),clearTimeout(this.resizeTimeout),this.win.cancelAnimationFrame(this.delayedFlush),this.win.cancelAnimationFrame(this.flushingAndroidKey),this.editContext&&(this.view.contentDOM.editContext=null,this.editContext.destroy())}};function Wf(i,e,t){for(;e;){let n=fe.get(e);if(n&&n.parent==i)return n;let r=e.parentNode;e=r!=i.dom?r:t>0?e.nextSibling:e.previousSibling}return null}function jf(i,e){let t=e.startContainer,n=e.startOffset,r=e.endContainer,s=e.endOffset,o=i.docView.domAtPos(i.state.selection.main.anchor,1);return Nn(o.node,o.offset,r,s)&&([t,n,r,s]=[r,s,t,n]),{anchorNode:t,anchorOffset:n,focusNode:r,focusOffset:s}}function RQ(i,e){if(e.getComposedRanges){let r=e.getComposedRanges(i.root)[0];if(r)return jf(i,r)}let t=null;function n(r){r.preventDefault(),r.stopImmediatePropagation(),t=r.getTargetRanges()[0]}return i.contentDOM.addEventListener("beforeinput",n,!0),i.dom.ownerDocument.execCommand("indent"),i.contentDOM.removeEventListener("beforeinput",n,!0),t?jf(i,t):null}var Va=class{constructor(e){this.from=0,this.to=0,this.pendingContextChange=null,this.handlers=Object.create(null),this.composing=null,this.resetRange(e.state);let t=this.editContext=new window.EditContext({text:e.state.doc.sliceString(this.from,this.to),selectionStart:this.toContextPos(Math.max(this.from,Math.min(this.to,e.state.selection.main.anchor))),selectionEnd:this.toContextPos(e.state.selection.main.head)});this.handlers.textupdate=n=>{let r=e.state.selection.main,{anchor:s,head:o}=r,a=this.toEditorPos(n.updateRangeStart),l=this.toEditorPos(n.updateRangeEnd);e.inputState.composing>=0&&!this.composing&&(this.composing={contextBase:n.updateRangeStart,editorBase:a,drifted:!1});let c=l-a>n.text.length;a==this.from&&sthis.to&&(l=s);let h=xu(e.state.sliceDoc(a,l),n.text,(c?r.from:r.to)-a,c?"end":null);if(!h){let u=v.single(this.toEditorPos(n.selectionStart),this.toEditorPos(n.selectionEnd));ps(u,r)||e.dispatch({selection:u,userEvent:"select"});return}let f={from:h.from+a,to:h.toA+a,insert:H.of(n.text.slice(h.from,h.toB).split(` +`))};if((L.mac||L.android)&&f.from==o-1&&/^\. ?$/.test(n.text)&&e.contentDOM.getAttribute("autocorrect")=="off"&&(f={from:a,to:l,insert:H.of([n.text.replace("."," ")])}),this.pendingContextChange=f,!e.state.readOnly){let u=this.to-this.from+(f.to-f.from+f.insert.length);Ha(e,f,v.single(this.toEditorPos(n.selectionStart,u),this.toEditorPos(n.selectionEnd,u)))}this.pendingContextChange&&(this.revertPending(e.state),this.setSelection(e.state)),f.from=0&&!/[\\p{Alphabetic}\\p{Number}_]/.test(t.text.slice(Math.max(0,n.updateRangeStart-1),Math.min(t.text.length,n.updateRangeStart+1)))&&this.handlers.compositionend(n)},this.handlers.characterboundsupdate=n=>{let r=[],s=null;for(let o=this.toEditorPos(n.rangeStart),a=this.toEditorPos(n.rangeEnd);o{let r=[];for(let s of n.getTextFormats()){let o=s.underlineStyle,a=s.underlineThickness;if(!/none/i.test(o)&&!/none/i.test(a)){let l=this.toEditorPos(s.rangeStart),c=this.toEditorPos(s.rangeEnd);if(l{e.inputState.composing<0&&(e.inputState.composing=0,e.inputState.compositionFirstChange=!0)},this.handlers.compositionend=()=>{if(e.inputState.composing=-1,e.inputState.compositionFirstChange=null,this.composing){let{drifted:n}=this.composing;this.composing=null,n&&this.reset(e.state)}};for(let n in this.handlers)t.addEventListener(n,this.handlers[n]);this.measureReq={read:n=>{let r=nr(n.root);r&&r.rangeCount&&this.editContext.updateSelectionBounds(r.getRangeAt(0).getBoundingClientRect())}}}applyEdits(e){let t=0,n=!1,r=this.pendingContextChange;return e.changes.iterChanges((s,o,a,l,c)=>{if(n)return;let h=c.length-(o-s);if(r&&o>=r.to)if(r.from==s&&r.to==o&&r.insert.eq(c)){r=this.pendingContextChange=null,t+=h,this.to+=h;return}else r=null,this.revertPending(e.state);if(s+=t,o+=t,o<=this.from)this.from+=h,this.to+=h;else if(sthis.to||this.to-this.from+c.length>3e4){n=!0;return}this.editContext.updateText(this.toContextPos(s),this.toContextPos(o),c.toString()),this.to+=h}t+=h}),r&&!n&&this.revertPending(e.state),!n}update(e){let t=this.pendingContextChange,n=e.startState.selection.main;this.composing&&(this.composing.drifted||!e.changes.touchesRange(n.from,n.to)&&e.transactions.some(r=>!r.isUserEvent("input.type")&&r.changes.touchesRange(this.from,this.to)))?(this.composing.drifted=!0,this.composing.editorBase=e.changes.mapPos(this.composing.editorBase)):!this.applyEdits(e)||!this.rangeIsValid(e.state)?(this.pendingContextChange=null,this.reset(e.state)):(e.docChanged||e.selectionSet||t)&&this.setSelection(e.state),(e.geometryChanged||e.docChanged||e.selectionSet)&&e.view.requestMeasure(this.measureReq)}resetRange(e){let{head:t}=e.selection.main;this.from=Math.max(0,t-1e4),this.to=Math.min(e.doc.length,t+1e4)}reset(e){this.resetRange(e),this.editContext.updateText(0,this.editContext.text.length,e.doc.sliceString(this.from,this.to)),this.setSelection(e)}revertPending(e){let t=this.pendingContextChange;this.pendingContextChange=null,this.editContext.updateText(this.toContextPos(t.from),this.toContextPos(t.from+t.insert.length),e.doc.sliceString(t.from,t.to))}setSelection(e){let{main:t}=e.selection,n=this.toContextPos(Math.max(this.from,Math.min(this.to,t.anchor))),r=this.toContextPos(t.head);(this.editContext.selectionStart!=n||this.editContext.selectionEnd!=r)&&this.editContext.updateSelection(n,r)}rangeIsValid(e){let{head:t}=e.selection.main;return!(this.from>0&&t-this.from<500||this.to1e4*3)}toEditorPos(e,t=this.to-this.from){e=Math.min(e,t);let n=this.composing;return n&&n.drifted?n.editorBase+(e-n.contextBase):e+this.from}toContextPos(e){let t=this.composing;return t&&t.drifted?t.contextBase+(e-t.editorBase):e-this.from}destroy(){for(let e in this.handlers)this.editContext.removeEventListener(e,this.handlers[e])}},E=class i{get state(){return this.viewState.state}get viewport(){return this.viewState.viewport}get visibleRanges(){return this.viewState.visibleRanges}get inView(){return this.viewState.inView}get composing(){return!!this.inputState&&this.inputState.composing>0}get compositionStarted(){return!!this.inputState&&this.inputState.composing>=0}get root(){return this._root}get win(){return this.dom.ownerDocument.defaultView||window}constructor(e={}){var t;this.plugins=[],this.pluginMap=new Map,this.editorAttrs={},this.contentAttrs={},this.bidiCache=[],this.destroyed=!1,this.updateState=2,this.measureScheduled=-1,this.measureRequests=[],this.contentDOM=document.createElement("div"),this.scrollDOM=document.createElement("div"),this.scrollDOM.tabIndex=-1,this.scrollDOM.className="cm-scroller",this.scrollDOM.appendChild(this.contentDOM),this.announceDOM=document.createElement("div"),this.announceDOM.className="cm-announced",this.announceDOM.setAttribute("aria-live","polite"),this.dom=document.createElement("div"),this.dom.appendChild(this.announceDOM),this.dom.appendChild(this.scrollDOM),e.parent&&e.parent.appendChild(this.dom);let{dispatch:n}=e;this.dispatchTransactions=e.dispatchTransactions||n&&(r=>r.forEach(s=>n(s,this)))||(r=>this.update(r)),this.dispatch=this.dispatch.bind(this),this._root=e.root||x0(e.parent)||document,this.viewState=new Qs(this,e.state||re.create(e)),e.scrollTo&&e.scrollTo.is(Jr)&&(this.viewState.scrollTarget=e.scrollTo.value.clip(this.viewState.state)),this.plugins=this.state.facet(cn).map(r=>new Hn(r));for(let r of this.plugins)r.update(this);this.observer=new ja(this),this.inputState=new Ta(this),this.inputState.ensureHandlers(this.plugins),this.docView=new Os(this),this.mountStyles(),this.updateAttrs(),this.updateState=0,this.requestMeasure(),!((t=document.fonts)===null||t===void 0)&&t.ready&&document.fonts.ready.then(()=>{this.viewState.mustMeasureContent="refresh",this.requestMeasure()})}dispatch(...e){let t=e.length==1&&e[0]instanceof de?e:e.length==1&&Array.isArray(e[0])?e[0]:[this.state.update(...e)];this.dispatchTransactions(t,this)}update(e){if(this.updateState!=0)throw new Error("Calls to EditorView.update are not allowed while an update is in progress");let t=!1,n=!1,r,s=this.state;for(let u of e){if(u.startState!=s)throw new RangeError("Trying to update state with a transaction that doesn't start from the previous state.");s=u.state}if(this.destroyed){this.viewState.state=s;return}let o=this.hasFocus,a=0,l=null;e.some(u=>u.annotation(Cu))?(this.inputState.notifiedFocused=o,a=1):o!=this.inputState.notifiedFocused&&(this.inputState.notifiedFocused=o,l=Xu(s,o),l||(a=1));let c=this.observer.delayedAndroidKey,h=null;if(c?(this.observer.clearDelayedAndroidKey(),h=this.observer.readChange(),(h&&!this.state.doc.eq(s.doc)||!this.state.selection.eq(s.selection))&&(h=null)):this.observer.clear(),s.facet(re.phrases)!=this.state.facet(re.phrases))return this.setState(s);r=fs.create(this,s,e),r.flags|=a;let f=this.viewState.scrollTarget;try{this.updateState=2;for(let u of e){if(f&&(f=f.map(u.changes)),u.scrollIntoView){let{main:O}=u.state.selection,{x:p,y:m}=this.state.facet(i.cursorScrollMargin);f=new Fn(O.empty?O:v.cursor(O.head,O.head>O.anchor?-1:1),"nearest","nearest",m,p)}for(let O of u.effects)O.is(Jr)&&(f=O.value.clip(this.state))}this.viewState.update(r,f),this.bidiCache=bs.update(this.bidiCache,r.changes),r.empty||(this.updatePlugins(r),this.inputState.update(r)),t=this.docView.update(r),this.state.facet(In)!=this.styleModules&&this.mountStyles(),n=this.updateAttrs(),this.showAnnouncements(e),this.docView.updateSelection(t,e.some(u=>u.isUserEvent("select.pointer")))}finally{this.updateState=0}if(r.startState.facet(rs)!=r.state.facet(rs)&&(this.viewState.mustMeasureContent=!0),(t||n||f||this.viewState.mustEnforceCursorAssoc||this.viewState.mustMeasureContent)&&this.requestMeasure(),t&&this.docViewUpdate(),!r.empty)for(let u of this.state.facet(pa))try{u(r)}catch(O){at(this.state,O,"update listener")}(l||h)&&Promise.resolve().then(()=>{l&&this.state==l.startState&&this.dispatch(l),h&&!ku(this,h)&&c.force&&un(this.contentDOM,c.key,c.keyCode)})}setState(e){if(this.updateState!=0)throw new Error("Calls to EditorView.setState are not allowed while an update is in progress");if(this.destroyed){this.viewState.state=e;return}this.updateState=2;let t=this.hasFocus;try{for(let n of this.plugins)n.destroy(this);this.viewState=new Qs(this,e),this.plugins=e.facet(cn).map(n=>new Hn(n)),this.pluginMap.clear();for(let n of this.plugins)n.update(this);this.docView.destroy(),this.docView=new Os(this),this.inputState.ensureHandlers(this.plugins),this.mountStyles(),this.updateAttrs(),this.bidiCache=[]}finally{this.updateState=0}t&&this.focus(),this.requestMeasure()}updatePlugins(e){let t=e.startState.facet(cn),n=e.state.facet(cn);if(t!=n){let r=[];for(let s of n){let o=t.indexOf(s);if(o<0)r.push(new Hn(s));else{let a=this.plugins[o];a.mustUpdate=e,r.push(a)}}for(let s of this.plugins)s.mustUpdate!=e&&s.destroy(this);this.plugins=r,this.pluginMap.clear()}else for(let r of this.plugins)r.mustUpdate=e;for(let r=0;r-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.observer.delayedAndroidKey){this.measureScheduled=-1,this.requestMeasure();return}this.measureScheduled=0,e&&this.observer.forceFlush();let t=null,n=this.viewState.scrollParent,r=this.viewState.getScrollOffset(),{scrollAnchorPos:s,scrollAnchorHeight:o}=this.viewState;Math.abs(r-this.viewState.scrollOffset)>1&&(o=-1),this.viewState.scrollAnchorHeight=-1;try{for(let a=0;;a++){if(o<0)if(Ff(n||this.win))s=-1,o=this.viewState.heightMap.height;else{let O=this.viewState.scrollAnchorAt(r);s=O.from,o=O.top}this.updateState=1;let l=this.viewState.measure();if(!l&&!this.measureRequests.length&&this.viewState.scrollTarget==null)break;if(a>5){console.warn(this.measureRequests.length?"Measure loop restarted more than 5 times":"Viewport failed to stabilize");break}let c=[];l&4||([this.measureRequests,c]=[c,this.measureRequests]);let h=c.map(O=>{try{return O.read(this)}catch(p){return at(this.state,p),Vf}}),f=fs.create(this,this.state,[]),u=!1;f.flags|=l,t?t.flags|=l:t=f,this.updateState=2,f.empty||(this.updatePlugins(f),this.inputState.update(f),this.updateAttrs(),u=this.docView.update(f),u&&this.docViewUpdate());for(let O=0;O1||p<-1)&&!(L.ios&&this.inputState.lastIOSMomentumScroll>Date.now()-100)&&(n==this.scrollDOM||this.hasFocus||Math.max(this.inputState.lastWheelEvent,this.inputState.lastTouchTime)>Date.now()-100)){r=r+p,n?n.scrollTop+=p:this.win.scrollBy(0,p),o=-1;continue}}break}}}finally{this.updateState=0,this.measureScheduled=-1}if(t&&!t.empty)for(let a of this.state.facet(pa))a(t)}get themeClasses(){return Ma+" "+(this.state.facet(La)?Au:Ru)+" "+this.state.facet(rs)}updateAttrs(){let e=Df(this,Ou,{class:"cm-editor"+(this.hasFocus?" cm-focused ":" ")+this.themeClasses}),t={spellcheck:"false",autocorrect:"off",autocapitalize:"off",writingsuggestions:"false",translate:"no",contenteditable:this.state.facet(zt)?"true":"false",class:"cm-content",style:`${L.tabSize}: ${this.state.tabSize}`,role:"textbox","aria-multiline":"true"};this.state.readOnly&&(t["aria-readonly"]="true"),Df(this,Na,t);let n=this.observer.ignore(()=>{let r=yf(this.contentDOM,this.contentAttrs,t),s=yf(this.dom,this.editorAttrs,e);return r||s});return this.editorAttrs=e,this.contentAttrs=t,n}showAnnouncements(e){let t=!0;for(let n of e)for(let r of n.effects)if(r.is(i.announce)){t&&(this.announceDOM.textContent=""),t=!1;let s=this.announceDOM.appendChild(document.createElement("div"));s.textContent=r.value}}mountStyles(){this.styleModules=this.state.facet(In);let e=this.state.facet(i.cspNonce);nt.mount(this.root,this.styleModules.concat(XQ).reverse(),e?{nonce:e}:void 0)}readMeasured(){if(this.updateState==2)throw new Error("Reading the editor layout isn't allowed during an update");this.updateState==0&&this.measureScheduled>-1&&this.measure(!1)}requestMeasure(e){if(this.measureScheduled<0&&(this.measureScheduled=this.win.requestAnimationFrame(()=>this.measure())),e){if(this.measureRequests.indexOf(e)>-1)return;if(e.key!=null){for(let t=0;tn.plugin==e)||null),t&&t.update(this).value}get documentTop(){return this.contentDOM.getBoundingClientRect().top+this.viewState.paddingTop}get documentPadding(){return{top:this.viewState.paddingTop,bottom:this.viewState.paddingBottom}}get scaleX(){return this.viewState.scaleX}get scaleY(){return this.viewState.scaleY}elementAtHeight(e){return this.readMeasured(),this.viewState.elementAtHeight(e)}lineBlockAtHeight(e){return this.readMeasured(),this.viewState.lineBlockAtHeight(e)}get viewportLineBlocks(){return this.viewState.viewportLines}lineBlockAt(e){return this.viewState.lineBlockAt(e)}get contentHeight(){return this.viewState.contentHeight}moveByChar(e,t,n){return ra(this,e,$f(this,e,t,n))}moveByGroup(e,t){return ra(this,e,$f(this,e,t,n=>eQ(this,e.head,n)))}visualLineSide(e,t){let n=this.bidiSpans(e),r=this.textDirectionAt(e.from),s=n[t?n.length-1:0];return v.cursor(s.side(t,r)+e.from,s.forward(!t,r)?1:-1)}moveToLineBoundary(e,t,n=!0){return J0(this,e,t,n)}moveVertically(e,t,n){return ra(this,e,tQ(this,e,t,n))}domAtPos(e,t=1){return this.docView.domAtPos(e,t)}posAtDOM(e,t=0){return this.docView.posFromDOM(e,t)}posAtCoords(e,t=!0){this.readMeasured();let n=wa(this,e,t);return n&&n.pos}posAndSideAtCoords(e,t=!0){return this.readMeasured(),wa(this,e,t)}coordsAtPos(e,t=1){this.readMeasured();let n=this.state.doc.lineAt(e),r=this.bidiSpans(n),s=r[ot.find(r,e-n.from,-1,t)];return this.docView.coordsAt(e,t,s.dir==ue.RTL)}coordsForChar(e){return this.readMeasured(),this.docView.coordsForChar(e)}get defaultCharacterWidth(){return this.viewState.heightOracle.charWidth}get defaultLineHeight(){return this.viewState.heightOracle.lineHeight}get textDirection(){return this.viewState.defaultTextDirection}textDirectionAt(e){return!this.state.facet(hu)||ethis.viewport.to?this.textDirection:(this.readMeasured(),this.docView.textDirectionAt(e))}get lineWrapping(){return this.viewState.heightOracle.lineWrapping}bidiSpans(e){if(e.length>AQ)return iu(e.length);let t=this.textDirectionAt(e.from),n;for(let s of this.bidiCache)if(s.from==e.from&&s.dir==t&&(s.fresh||tu(s.isolates,n=wf(this,e))))return s.order;n||(n=wf(this,e));let r=_0(e.text,t,n);return this.bidiCache.push(new bs(e.from,e.to,t,n,!0,r)),r}get hasFocus(){var e;return(this.dom.ownerDocument.hasFocus()||L.safari&&((e=this.inputState)===null||e===void 0?void 0:e.lastContextMenu)>Date.now()-3e4)&&this.root.activeElement==this.contentDOM}focus(){this.observer.ignore(()=>{Nf(this.contentDOM),this.docView.updateSelection()})}setRoot(e){this._root!=e&&(this._root=e,this.observer.setWindow((e.nodeType==9?e:e.ownerDocument).defaultView||window),this.mountStyles())}destroy(){this.root.activeElement==this.contentDOM&&this.contentDOM.blur();for(let e of this.plugins)e.destroy(this);this.plugins=[],this.inputState.destroy(),this.docView.destroy(),this.dom.remove(),this.observer.destroy(),this.measureScheduled>-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.destroyed=!0}static scrollIntoView(e,t={}){var n,r,s,o;return Jr.of(new Fn(typeof e=="number"?v.cursor(e):e,(n=t.y)!==null&&n!==void 0?n:"nearest",(r=t.x)!==null&&r!==void 0?r:"nearest",(s=t.yMargin)!==null&&s!==void 0?s:5,(o=t.xMargin)!==null&&o!==void 0?o:5))}scrollSnapshot(){let{scrollTop:e,scrollLeft:t}=this.scrollDOM,n=this.viewState.scrollAnchorAt(e);return Jr.of(new Fn(v.cursor(n.from),"start","start",n.top-e,t,!0))}setTabFocusMode(e){e==null?this.inputState.tabFocusMode=this.inputState.tabFocusMode<0?0:-1:typeof e=="boolean"?this.inputState.tabFocusMode=e?0:-1:this.inputState.tabFocusMode!=0&&(this.inputState.tabFocusMode=Date.now()+e)}static domEventHandlers(e){return De.define(()=>({}),{eventHandlers:e})}static domEventObservers(e){return De.define(()=>({}),{eventObservers:e})}static theme(e,t){let n=nt.newName(),r=[rs.of(n),In.of(Wa(`.${n}`,e))];return t&&t.dark&&r.push(La.of(!0)),r}static baseTheme(e){return pt.lowest(In.of(Wa("."+Ma,e,Zu)))}static findFromDOM(e){var t;let n=e.querySelector(".cm-content"),r=n&&fe.get(n)||fe.get(e);return((t=r?.root)===null||t===void 0?void 0:t.view)||null}};E.styleModule=In;E.inputHandler=lu;E.clipboardInputFilter=Ua;E.clipboardOutputFilter=Ga;E.scrollHandler=fu;E.focusChangeEffect=cu;E.perLineTextDirection=hu;E.exceptionSink=au;E.updateListener=pa;E.editable=zt;E.mouseSelectionStyle=ou;E.dragMovesSelection=su;E.clickAddsSelectionRange=ru;E.decorations=ys;E.blockWrappers=du;E.outerDecorations=Fa;E.atomicRanges=sr;E.bidiIsolatedRanges=pu;E.cursorScrollMargin=Y.define({combine:i=>{let e=5,t=5;for(let n of i)typeof n=="number"?e=t=n:{x:e,y:t}=n;return{x:e,y:t}}});E.scrollMargins=mu;E.darkTheme=La;E.cspNonce=Y.define({combine:i=>i.length?i[0]:""});E.contentAttributes=Na;E.editorAttributes=Ou;E.lineWrapping=E.contentAttributes.of({class:"cm-lineWrapping"});E.announce=ie.define();var AQ=4096,Vf={},bs=class i{constructor(e,t,n,r,s,o){this.from=e,this.to=t,this.dir=n,this.isolates=r,this.fresh=s,this.order=o}static update(e,t){if(t.empty&&!e.some(s=>s.fresh))return e;let n=[],r=e.length?e[e.length-1].dir:ue.LTR;for(let s=Math.max(0,e.length-10);s=0;r--){let s=n[r],o=typeof s=="function"?s(i):s;o&&Ya(o,t)}return t}var ZQ=L.mac?"mac":L.windows?"win":L.linux?"linux":"key";function qQ(i,e){let t=i.split(/-(?!$)/),n=t[t.length-1];n=="Space"&&(n=" ");let r,s,o,a;for(let l=0;ln.concat(r),[]))),t}var ri=null,LQ=4e3;function MQ(i,e=ZQ){let t=Object.create(null),n=Object.create(null),r=(o,a)=>{let l=n[o];if(l==null)n[o]=a;else if(l!=a)throw new Error("Key binding "+o+" is used both as a regular binding and as a multi-stroke prefix")},s=(o,a,l,c,h)=>{var f,u;let O=t[o]||(t[o]=Object.create(null)),p=a.split(/ (?!$)/).map(g=>qQ(g,e));for(let g=1;g{let x=ri={view:S,prefix:Q,scope:o};return setTimeout(()=>{ri==x&&(ri=null)},LQ),!0}]})}let m=p.join(" ");r(m,!1);let b=O[m]||(O[m]={preventDefault:!1,stopPropagation:!1,run:((u=(f=O._any)===null||f===void 0?void 0:f.run)===null||u===void 0?void 0:u.slice())||[]});l&&b.run.push(l),c&&(b.preventDefault=!0),h&&(b.stopPropagation=!0)};for(let o of i){let a=o.scope?o.scope.split(" "):["editor"];if(o.any)for(let c of a){let h=t[c]||(t[c]=Object.create(null));h._any||(h._any={preventDefault:!1,stopPropagation:!1,run:[]});let{any:f}=o;for(let u in h)h[u].run.push(O=>f(O,Da))}let l=o[e]||o.key;if(l)for(let c of a)s(c,l,o.run,o.preventDefault,o.stopPropagation),o.shift&&s(c,"Shift-"+l,o.shift,o.preventDefault,o.stopPropagation)}return t}var Da=null;function WQ(i,e,t,n){Da=e;let r=gf(e),s=ni(r,0),o=on(s)==r.length&&r!=" ",a="",l=!1,c=!1,h=!1;ri&&ri.view==t&&ri.scope==n&&(a=ri.prefix+" ",Pu.indexOf(e.keyCode)<0&&(c=!0,ri=null));let f=new Set,u=b=>{if(b){for(let g of b.run)if(!f.has(g)&&(f.add(g),g(t)))return b.stopPropagation&&(h=!0),!0;b.preventDefault&&(b.stopPropagation&&(h=!0),c=!0)}return!1},O=i[n],p,m;return O&&(u(O[a+ss(r,e,!o)])?l=!0:o&&(e.altKey||e.metaKey||e.ctrlKey)&&!(L.windows&&e.ctrlKey&&e.altKey)&&!(L.mac&&e.altKey&&!(e.ctrlKey||e.metaKey))&&(p=Et[e.keyCode])&&p!=r?(u(O[a+ss(p,e,!0)])||e.shiftKey&&(m=an[e.keyCode])!=r&&m!=p&&u(O[a+ss(m,e,!1)]))&&(l=!0):o&&e.shiftKey&&u(O[a+ss(r,e,!0)])&&(l=!0),!l&&u(O._any)&&(l=!0)),c&&(l=!0),l&&h&&e.stopPropagation(),Da=null,l}var qu=ie.define({map(i,e){return i==null?null:e.mapPos(i)}}),Un=he.define({create(){return null},update(i,e){return i!=null&&(i=e.changes.mapPos(i)),e.effects.reduce((t,n)=>n.is(qu)?n.value:t,i)}}),jQ=De.fromClass(class{constructor(i){this.view=i,this.cursor=null,this.measureReq={read:this.readPos.bind(this),write:this.drawCursor.bind(this)}}update(i){var e;let t=i.state.field(Un);t==null?this.cursor!=null&&((e=this.cursor)===null||e===void 0||e.remove(),this.cursor=null):(this.cursor||(this.cursor=this.view.scrollDOM.appendChild(document.createElement("div")),this.cursor.className="cm-dropCursor"),(i.startState.field(Un)!=t||i.docChanged||i.geometryChanged)&&this.view.requestMeasure(this.measureReq))}readPos(){let{view:i}=this,e=i.state.field(Un),t=e!=null&&i.coordsAtPos(e);if(!t)return null;let n=i.scrollDOM.getBoundingClientRect();return{left:t.left-n.left+i.scrollDOM.scrollLeft*i.scaleX,top:t.top-n.top+i.scrollDOM.scrollTop*i.scaleY,height:t.bottom-t.top}}drawCursor(i){if(this.cursor){let{scaleX:e,scaleY:t}=this.view;i?(this.cursor.style.left=i.left/e+"px",this.cursor.style.top=i.top/t+"px",this.cursor.style.height=i.height/t+"px"):this.cursor.style.left="-100000px"}}destroy(){this.cursor&&this.cursor.remove()}setDropPos(i){this.view.state.field(Un)!=i&&this.view.dispatch({effects:qu.of(i)})}},{eventObservers:{dragover(i){this.setDropPos(this.view.posAtCoords({x:i.clientX,y:i.clientY}))},dragleave(i){(i.target==this.view.contentDOM||!this.view.contentDOM.contains(i.relatedTarget))&&this.setDropPos(null)},dragend(){this.setDropPos(null)},drop(){this.setDropPos(null)}}});function Eu(){return[Un,jQ]}var n$=/x/.unicode!=null?"gu":"g";var Wt=class extends it{compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}eq(e){return!1}destroy(e){}};Wt.prototype.elementClass="";Wt.prototype.toDOM=void 0;Wt.prototype.mapMode=me.TrackBefore;Wt.prototype.startSide=Wt.prototype.endSide=-1;Wt.prototype.point=!0;var VQ=0,Ye=class{constructor(e,t){this.from=e,this.to=t}},I=class{constructor(e={}){this.id=VQ++,this.perNode=!!e.perNode,this.deserialize=e.deserialize||(()=>{throw new Error("This node type doesn't define a deserialize function")}),this.combine=e.combine||null}add(e){if(this.perNode)throw new RangeError("Can't add per-node props to node types");return typeof e!="function"&&(e=Oe.match(e)),t=>{let n=e(t);return n===void 0?null:[this,n]}}};I.closedBy=new I({deserialize:i=>i.split(" ")});I.openedBy=new I({deserialize:i=>i.split(" ")});I.group=new I({deserialize:i=>i.split(" ")});I.isolate=new I({deserialize:i=>{if(i&&i!="rtl"&&i!="ltr"&&i!="auto")throw new RangeError("Invalid value for isolate: "+i);return i||"auto"}});I.contextHash=new I({perNode:!0});I.lookAhead=new I({perNode:!0});I.mounted=new I({perNode:!0});var ci=class{constructor(e,t,n,r=!1){this.tree=e,this.overlay=t,this.parser=n,this.bracketed=r}static get(e){return e&&e.props&&e.props[I.mounted.id]}},DQ=Object.create(null),Oe=class i{constructor(e,t,n,r=0){this.name=e,this.props=t,this.id=n,this.flags=r}static define(e){let t=e.props&&e.props.length?Object.create(null):DQ,n=(e.top?1:0)|(e.skipped?2:0)|(e.error?4:0)|(e.name==null?8:0),r=new i(e.name||"",t,e.id,n);if(e.props){for(let s of e.props)if(Array.isArray(s)||(s=s(r)),s){if(s[0].perNode)throw new RangeError("Can't store a per-node prop on a node type");t[s[0].id]=s[1]}}return r}prop(e){return this.props[e.id]}get isTop(){return(this.flags&1)>0}get isSkipped(){return(this.flags&2)>0}get isError(){return(this.flags&4)>0}get isAnonymous(){return(this.flags&8)>0}is(e){if(typeof e=="string"){if(this.name==e)return!0;let t=this.prop(I.group);return t?t.indexOf(e)>-1:!1}return this.id==e}static match(e){let t=Object.create(null);for(let n in e)for(let r of n.split(" "))t[r]=e[n];return n=>{for(let r=n.prop(I.group),s=-1;s<(r?r.length:0);s++){let o=t[s<0?n.name:r[s]];if(o)return o}}}};Oe.none=new Oe("",Object.create(null),0,8);var jt=class i{constructor(e){this.types=e;for(let t=0;t0;for(let l=this.cursor(o|ee.IncludeAnonymous);;){let c=!1;if(l.from<=s&&l.to>=r&&(!a&&l.type.isAnonymous||t(l)!==!1)){if(l.firstChild())continue;c=!0}for(;c&&n&&(a||!l.type.isAnonymous)&&n(l),!l.nextSibling();){if(!l.parent())return;c=!0}}}prop(e){return e.perNode?this.props?this.props[e.id]:void 0:this.type.prop(e)}get propValues(){let e=[];if(this.props)for(let t in this.props)e.push([+t,this.props[t]]);return e}balance(e={}){return this.children.length<=8?this:ll(Oe.none,this.children,this.positions,0,this.children.length,0,this.length,(t,n,r)=>new i(this.type,t,n,r,this.propValues),e.makeTree||((t,n,r)=>new i(Oe.none,t,n,r)))}static build(e){return IQ(e)}};G.empty=new G(Oe.none,[],[],0);var Ka=class i{constructor(e,t){this.buffer=e,this.index=t}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}get pos(){return this.index}next(){this.index-=4}fork(){return new i(this.buffer,this.index)}},hi=class i{constructor(e,t,n){this.buffer=e,this.length=t,this.set=n}get type(){return Oe.none}toString(){let e=[];for(let t=0;t0));l=o[l+3]);return a}slice(e,t,n){let r=this.buffer,s=new Uint16Array(t-e),o=0;for(let a=e,l=0;a=e&&te;case 1:return t<=e&&n>e;case 2:return n>e;case 4:return!0}}function or(i,e,t,n){for(var r;i.from==i.to||(t<1?i.from>=e:i.from>e)||(t>-1?i.to<=e:i.to0?a.length:-1;e!=c;e+=t){let h=a[e],f=l[e]+o.from,u;if(!(!(s&ee.EnterBracketed&&h instanceof G&&(u=ci.get(h))&&!u.overlay&&u.bracketed&&n>=f&&n<=f+h.length)&&!Yu(r,n,f,f+h.length))){if(h instanceof hi){if(s&ee.ExcludeBuffers)continue;let O=h.findChild(0,h.buffer.length,t,n-f,r);if(O>-1)return new Ei(new el(o,h,e,f),null,O)}else if(s&ee.IncludeAnonymous||!h.type.isAnonymous||al(h)){let O;if(!(s&ee.IgnoreMounts)&&(O=ci.get(h))&&!O.overlay)return new i(O.tree,f,e,o);let p=new i(h,f,e,o);return s&ee.IncludeAnonymous||!p.type.isAnonymous?p:p.nextChild(t<0?h.children.length-1:0,t,n,r,s)}}}if(s&ee.IncludeAnonymous||!o.type.isAnonymous||(o.index>=0?e=o.index+t:e=t<0?-1:o._parent._tree.children.length,o=o._parent,!o))return null}}get firstChild(){return this.nextChild(0,1,0,4)}get lastChild(){return this.nextChild(this._tree.children.length-1,-1,0,4)}childAfter(e){return this.nextChild(0,1,e,2)}childBefore(e){return this.nextChild(this._tree.children.length-1,-1,e,-2)}prop(e){return this._tree.prop(e)}enter(e,t,n=0){let r;if(!(n&ee.IgnoreOverlays)&&(r=ci.get(this._tree))&&r.overlay){let s=e-this.from,o=n&ee.EnterBracketed&&r.bracketed;for(let{from:a,to:l}of r.overlay)if((t>0||o?a<=s:a=s:l>s))return new i(r.tree,r.overlay[0].from+this.from,-1,this)}return this.nextChild(0,1,e,t,n)}nextSignificantParent(){let e=this;for(;e.type.isAnonymous&&e._parent;)e=e._parent;return e}get parent(){return this._parent?this._parent.nextSignificantParent():null}get nextSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index+1,1,0,4):null}get prevSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index-1,-1,0,4):null}get tree(){return this._tree}toTree(){return this._tree}toString(){return this._tree.toString()}};function Lu(i,e,t,n){let r=i.cursor(),s=[];if(!r.firstChild())return s;if(t!=null){for(let o=!1;!o;)if(o=r.type.is(t),!r.nextSibling())return s}for(;;){if(n!=null&&r.type.is(n))return s;if(r.type.is(e)&&s.push(r.node),!r.nextSibling())return n==null?s:[]}}function Ja(i,e,t=e.length-1){for(let n=i;t>=0;n=n.parent){if(!n)return!1;if(!n.type.isAnonymous){if(e[t]&&e[t]!=n.name)return!1;t--}}return!0}var el=class{constructor(e,t,n,r){this.parent=e,this.buffer=t,this.index=n,this.start=r}},Ei=class i extends Ps{get name(){return this.type.name}get from(){return this.context.start+this.context.buffer.buffer[this.index+1]}get to(){return this.context.start+this.context.buffer.buffer[this.index+2]}constructor(e,t,n){super(),this.context=e,this._parent=t,this.index=n,this.type=e.buffer.set.types[e.buffer.buffer[n]]}child(e,t,n){let{buffer:r}=this.context,s=r.findChild(this.index+4,r.buffer[this.index+3],e,t-this.context.start,n);return s<0?null:new i(this.context,this,s)}get firstChild(){return this.child(1,0,4)}get lastChild(){return this.child(-1,0,4)}childAfter(e){return this.child(1,e,2)}childBefore(e){return this.child(-1,e,-2)}prop(e){return this.type.prop(e)}enter(e,t,n=0){if(n&ee.ExcludeBuffers)return null;let{buffer:r}=this.context,s=r.findChild(this.index+4,r.buffer[this.index+3],t>0?1:-1,e-this.context.start,t);return s<0?null:new i(this.context,this,s)}get parent(){return this._parent||this.context.parent.nextSignificantParent()}externalSibling(e){return this._parent?null:this.context.parent.nextChild(this.context.index+e,e,0,4)}get nextSibling(){let{buffer:e}=this.context,t=e.buffer[this.index+3];return t<(this._parent?e.buffer[this._parent.index+3]:e.buffer.length)?new i(this.context,this._parent,t):this.externalSibling(1)}get prevSibling(){let{buffer:e}=this.context,t=this._parent?this._parent.index+4:0;return this.index==t?this.externalSibling(-1):new i(this.context,this._parent,e.findChild(t,this.index,-1,0,4))}get tree(){return null}toTree(){let e=[],t=[],{buffer:n}=this.context,r=this.index+4,s=n.buffer[this.index+3];if(s>r){let o=n.buffer[this.index+1];e.push(n.slice(r,s,o)),t.push(0)}return new G(this.type,e,t,this.to-this.from)}toString(){return this.context.buffer.childString(this.index)}};function Iu(i){if(!i.length)return null;let e=0,t=i[0];for(let s=1;st.from||o.to=e){let a=new Ie(o.tree,o.overlay[0].from+s.from,-1,s);(r||(r=[n])).push(or(a,e,t,!1))}}return r?Iu(r):n}var Qn=class{get name(){return this.type.name}constructor(e,t=0){if(this.buffer=null,this.stack=[],this.index=0,this.bufferNode=null,this.mode=t&~ee.EnterBracketed,e instanceof Ie)this.yieldNode(e);else{this._tree=e.context.parent,this.buffer=e.context;for(let n=e._parent;n;n=n._parent)this.stack.unshift(n.index);this.bufferNode=e,this.yieldBuf(e.index)}}yieldNode(e){return e?(this._tree=e,this.type=e.type,this.from=e.from,this.to=e.to,!0):!1}yieldBuf(e,t){this.index=e;let{start:n,buffer:r}=this.buffer;return this.type=t||r.set.types[r.buffer[e]],this.from=n+r.buffer[e+1],this.to=n+r.buffer[e+2],!0}yield(e){return e?e instanceof Ie?(this.buffer=null,this.yieldNode(e)):(this.buffer=e.context,this.yieldBuf(e.index,e.type)):!1}toString(){return this.buffer?this.buffer.buffer.childString(this.index):this._tree.toString()}enterChild(e,t,n){if(!this.buffer)return this.yield(this._tree.nextChild(e<0?this._tree._tree.children.length-1:0,e,t,n,this.mode));let{buffer:r}=this.buffer,s=r.findChild(this.index+4,r.buffer[this.index+3],e,t-this.buffer.start,n);return s<0?!1:(this.stack.push(this.index),this.yieldBuf(s))}firstChild(){return this.enterChild(1,0,4)}lastChild(){return this.enterChild(-1,0,4)}childAfter(e){return this.enterChild(1,e,2)}childBefore(e){return this.enterChild(-1,e,-2)}enter(e,t,n=this.mode){return this.buffer?n&ee.ExcludeBuffers?!1:this.enterChild(1,e,t):this.yield(this._tree.enter(e,t,n))}parent(){if(!this.buffer)return this.yieldNode(this.mode&ee.IncludeAnonymous?this._tree._parent:this._tree.parent);if(this.stack.length)return this.yieldBuf(this.stack.pop());let e=this.mode&ee.IncludeAnonymous?this.buffer.parent:this.buffer.parent.nextSignificantParent();return this.buffer=null,this.yieldNode(e)}sibling(e){if(!this.buffer)return this._tree._parent?this.yield(this._tree.index<0?null:this._tree._parent.nextChild(this._tree.index+e,e,0,4,this.mode)):!1;let{buffer:t}=this.buffer,n=this.stack.length-1;if(e<0){let r=n<0?0:this.stack[n]+4;if(this.index!=r)return this.yieldBuf(t.findChild(r,this.index,-1,0,4))}else{let r=t.buffer[this.index+3];if(r<(n<0?t.buffer.length:t.buffer[this.stack[n]+3]))return this.yieldBuf(r)}return n<0?this.yield(this.buffer.parent.nextChild(this.buffer.index+e,e,0,4,this.mode)):!1}nextSibling(){return this.sibling(1)}prevSibling(){return this.sibling(-1)}atLastNode(e){let t,n,{buffer:r}=this;if(r){if(e>0){if(this.index-1)for(let s=t+e,o=e<0?-1:n._tree.children.length;s!=o;s+=e){let a=n._tree.children[s];if(this.mode&ee.IncludeAnonymous||a instanceof hi||!a.type.isAnonymous||al(a))return!1}return!0}move(e,t){if(t&&this.enterChild(e,0,4))return!0;for(;;){if(this.sibling(e))return!0;if(this.atLastNode(e)||!this.parent())return!1}}next(e=!0){return this.move(1,e)}prev(e=!0){return this.move(-1,e)}moveTo(e,t=0){for(;(this.from==this.to||(t<1?this.from>=e:this.from>e)||(t>-1?this.to<=e:this.to=0;){for(let o=e;o;o=o._parent)if(o.index==r){if(r==this.index)return o;t=o,n=s+1;break e}r=this.stack[--s]}for(let r=n;r=0;s--){if(s<0)return Ja(this._tree,e,r);let o=n[t.buffer[this.stack[s]]];if(!o.isAnonymous){if(e[r]&&e[r]!=o.name)return!1;r--}}return!0}};function al(i){return i.children.some(e=>e instanceof hi||!e.type.isAnonymous||al(e))}function IQ(i){var e;let{buffer:t,nodeSet:n,maxBufferLength:r=1024,reused:s=[],minRepeatType:o=n.types.length}=i,a=Array.isArray(t)?new Ka(t,t.length):t,l=n.types,c=0,h=0;function f(P,$,R,_,W,T){let{id:k,start:w,end:C,size:j}=a,y=h,z=c;if(j<0)if(a.next(),j==-1){let N=s[k];R.push(N),_.push(w-P);return}else if(j==-3){c=k;return}else if(j==-4){h=k;return}else throw new RangeError(`Unrecognized record size: ${j}`);let ye=l[k],Zt,X,te=w-P;if(C-w<=r&&(X=b(a.pos-$,W))){let N=new Uint16Array(X.size-X.skip),U=a.pos-X.size,le=N.length;for(;a.pos>U;)le=g(X.start,N,le);Zt=new hi(N,C-X.start,n),te=X.start-P}else{let N=a.pos-j;a.next();let U=[],le=[],F=k>=o?k:-1,Qe=0,Ce=C;for(;a.pos>N;)F>=0&&a.id==F&&a.size>=0?(a.end<=Ce-r&&(p(U,le,w,Qe,a.end,Ce,F,y,z),Qe=U.length,Ce=a.end),a.next()):T>2500?u(w,N,U,le):f(w,N,U,le,F,T+1);if(F>=0&&Qe>0&&Qe-1&&Qe>0){let ti=O(ye,z);Zt=ll(ye,U,le,0,U.length,0,C-w,ti,ti)}else Zt=m(ye,U,le,C-w,y-C,z)}R.push(Zt),_.push(te)}function u(P,$,R,_){let W=[],T=0,k=-1;for(;a.pos>$;){let{id:w,start:C,end:j,size:y}=a;if(y>4)a.next();else{if(k>-1&&C=0;j-=3)w[y++]=W[j],w[y++]=W[j+1]-C,w[y++]=W[j+2]-C,w[y++]=y;R.push(new hi(w,W[2]-C,n)),_.push(C-P)}}function O(P,$){return(R,_,W)=>{let T=0,k=R.length-1,w,C;if(k>=0&&(w=R[k])instanceof G){if(!k&&w.type==P&&w.length==W)return w;(C=w.prop(I.lookAhead))&&(T=_[k]+w.length+C)}return m(P,R,_,W,T,$)}}function p(P,$,R,_,W,T,k,w,C){let j=[],y=[];for(;P.length>_;)j.push(P.pop()),y.push($.pop()+R-W);P.push(m(n.types[k],j,y,T-W,w-T,C)),$.push(W-R)}function m(P,$,R,_,W,T,k){if(T){let w=[I.contextHash,T];k=k?[w].concat(k):[w]}if(W>25){let w=[I.lookAhead,W];k=k?[w].concat(k):[w]}return new G(P,$,R,_,k)}function b(P,$){let R=a.fork(),_=0,W=0,T=0,k=R.end-r,w={size:0,start:0,skip:0};e:for(let C=R.pos-P;R.pos>C;){let j=R.size;if(R.id==$&&j>=0){w.size=_,w.start=W,w.skip=T,T+=4,_+=4,R.next();continue}let y=R.pos-j;if(j<0||y=o?4:0,ye=R.start;for(R.next();R.pos>y;){if(R.size<0)if(R.size==-3||R.size==-4)z+=4;else break e;else R.id>=o&&(z+=4);R.next()}W=ye,_+=j,T+=z}return($<0||_==P)&&(w.size=_,w.start=W,w.skip=T),w.size>4?w:void 0}function g(P,$,R){let{id:_,start:W,end:T,size:k}=a;if(a.next(),k>=0&&_4){let C=a.pos-(k-4);for(;a.pos>C;)R=g(P,$,R)}$[--R]=w,$[--R]=T-P,$[--R]=W-P,$[--R]=_}else k==-3?c=_:k==-4&&(h=_);return R}let Q=[],S=[];for(;a.pos>0;)f(i.start||0,i.bufferStart||0,Q,S,-1,0);let x=(e=i.length)!==null&&e!==void 0?e:Q.length?S[0]+Q[0].length:0;return new G(l[i.topID],Q.reverse(),S.reverse(),x)}var Mu=new WeakMap;function ws(i,e){if(!i.isAnonymous||e instanceof hi||e.type!=i)return 1;let t=Mu.get(e);if(t==null){t=1;for(let n of e.children){if(n.type!=i||!(n instanceof G)){t=1;break}t+=ws(i,n)}Mu.set(e,t)}return t}function ll(i,e,t,n,r,s,o,a,l){let c=0;for(let p=n;p=h)break;$+=R}if(S==x+1){if($>h){let R=p[x];O(R.children,R.positions,0,R.children.length,m[x]+Q);continue}f.push(p[x])}else{let R=m[S-1]+p[S-1].length-P;f.push(ll(i,p,m,x,S,P,R,null,l))}u.push(P+Q-s)}}return O(e,t,n,r,0),(a||l)(f,u,o)}var fi=class{constructor(){this.map=new WeakMap}setBuffer(e,t,n){let r=this.map.get(e);r||this.map.set(e,r=new Map),r.set(t,n)}getBuffer(e,t){let n=this.map.get(e);return n&&n.get(t)}set(e,t){e instanceof Ei?this.setBuffer(e.context.buffer,e.index,t):e instanceof Ie&&this.map.set(e.tree,t)}get(e){return e instanceof Ei?this.getBuffer(e.context.buffer,e.index):e instanceof Ie?this.map.get(e.tree):void 0}cursorSet(e,t){e.buffer?this.setBuffer(e.buffer.buffer,e.index,t):this.map.set(e.tree,t)}cursorGet(e){return e.buffer?this.getBuffer(e.buffer.buffer,e.index):this.map.get(e.tree)}},Vt=class i{constructor(e,t,n,r,s=!1,o=!1){this.from=e,this.to=t,this.tree=n,this.offset=r,this.open=(s?1:0)|(o?2:0)}get openStart(){return(this.open&1)>0}get openEnd(){return(this.open&2)>0}static addTree(e,t=[],n=!1){let r=[new i(0,e.length,e,0,!1,n)];for(let s of t)s.to>e.length&&r.push(s);return r}static applyChanges(e,t,n=128){if(!t.length)return e;let r=[],s=1,o=e.length?e[0]:null;for(let a=0,l=0,c=0;;a++){let h=a=n)for(;o&&o.from=u.from||f<=u.to||c){let O=Math.max(u.from,l)-c,p=Math.min(u.to,f)-c;u=O>=p?null:new i(O,p,u.tree,u.offset+c,a>0,!!h)}if(u&&r.push(u),o.to>f)break;o=snew Ye(r.from,r.to)):[new Ye(0,0)]:[new Ye(0,e.length)],this.createParse(e,t||[],n)}parse(e,t,n){let r=this.startParse(e,t,n);for(;;){let s=r.advance();if(s)return s}}},il=class{constructor(e){this.string=e}get length(){return this.string.length}chunk(e){return this.string.slice(e)}get lineChunks(){return!1}read(e,t){return this.string.slice(e,t)}};function bn(i){return(e,t,n,r)=>new sl(e,i,t,n,r)}var vs=class{constructor(e,t,n,r,s,o){this.parser=e,this.parse=t,this.overlay=n,this.bracketed=r,this.target=s,this.from=o}};function Wu(i){if(!i.length||i.some(e=>e.from>=e.to))throw new RangeError("Invalid inner parse ranges given: "+JSON.stringify(i))}var nl=class{constructor(e,t,n,r,s,o,a,l){this.parser=e,this.predicate=t,this.mounts=n,this.index=r,this.start=s,this.bracketed=o,this.target=a,this.prev=l,this.depth=0,this.ranges=[]}},rl=new I({perNode:!0}),sl=class{constructor(e,t,n,r,s){this.nest=t,this.input=n,this.fragments=r,this.ranges=s,this.inner=[],this.innerDone=0,this.baseTree=null,this.stoppedAt=null,this.baseParse=e}advance(){if(this.baseParse){let n=this.baseParse.advance();if(!n)return null;if(this.baseParse=null,this.baseTree=n,this.startInner(),this.stoppedAt!=null)for(let r of this.inner)r.parse.stopAt(this.stoppedAt)}if(this.innerDone==this.inner.length){let n=this.baseTree;return this.stoppedAt!=null&&(n=new G(n.type,n.children,n.positions,n.length,n.propValues.concat([[rl,this.stoppedAt]]))),n}let e=this.inner[this.innerDone],t=e.parse.advance();if(t){this.innerDone++;let n=Object.assign(Object.create(null),e.target.props);n[I.mounted.id]=new ci(t,e.overlay,e.parser,e.bracketed),e.target.props=n}return null}get parsedPos(){if(this.baseParse)return 0;let e=this.input.length;for(let t=this.innerDone;t=this.stoppedAt)a=!1;else if(e.hasNode(r)){if(t){let c=t.mounts.find(h=>h.frag.from<=r.from&&h.frag.to>=r.to&&h.mount.overlay);if(c)for(let h of c.mount.overlay){let f=h.from+c.pos,u=h.to+c.pos;f>=r.from&&u<=r.to&&!t.ranges.some(O=>O.fromf)&&t.ranges.push({from:f,to:u})}}a=!1}else if(n&&(o=BQ(n.ranges,r.from,r.to)))a=o!=2;else if(!r.type.isAnonymous&&(s=this.nest(r,this.input))&&(r.fromnew Ye(f.from-r.from,f.to-r.from)):null,!!s.bracketed,r.tree,h.length?h[0].from:r.from)),s.overlay?h.length&&(n={ranges:h,depth:0,prev:n}):a=!1}}else if(t&&(l=t.predicate(r))&&(l===!0&&(l=new Ye(r.from,r.to)),l.from=0&&t.ranges[c].to==l.from?t.ranges[c]={from:t.ranges[c].from,to:l.to}:t.ranges.push(l)}if(a&&r.firstChild())t&&t.depth++,n&&n.depth++;else for(;!r.nextSibling();){if(!r.parent())break e;if(t&&!--t.depth){let c=Vu(this.ranges,t.ranges);c.length&&(Wu(c),this.inner.splice(t.index,0,new vs(t.parser,t.parser.startParse(this.input,Du(t.mounts,c),c),t.ranges.map(h=>new Ye(h.from-t.start,h.to-t.start)),t.bracketed,t.target,c[0].from))),t=t.prev}n&&!--n.depth&&(n=n.prev)}}}};function BQ(i,e,t){for(let n of i){if(n.from>=t)break;if(n.to>e)return n.from<=e&&n.to>=t?2:1}return 0}function ju(i,e,t,n,r,s){if(e=e&&t.enter(n,1,ee.IgnoreOverlays|ee.ExcludeBuffers)))if(t.to<=e)t.next(!1)||(this.done=!0);else break}hasNode(e){if(this.moveTo(e.from),!this.done&&this.cursor.from+this.offset==e.from&&this.cursor.tree)for(let t=this.cursor.tree;;){if(t==e.tree)return!0;if(t.children.length&&t.positions[0]==0&&t.children[0]instanceof G)t=t.children[0];else break}return!1}},ol=class{constructor(e){var t;if(this.fragments=e,this.curTo=0,this.fragI=0,e.length){let n=this.curFrag=e[0];this.curTo=(t=n.tree.prop(rl))!==null&&t!==void 0?t:n.to,this.inner=new $s(n.tree,-n.offset)}else this.curFrag=this.inner=null}hasNode(e){for(;this.curFrag&&e.from>=this.curTo;)this.nextFrag();return this.curFrag&&this.curFrag.from<=e.from&&this.curTo>=e.to&&this.inner.hasNode(e)}nextFrag(){var e;if(this.fragI++,this.fragI==this.fragments.length)this.curFrag=this.inner=null;else{let t=this.curFrag=this.fragments[this.fragI];this.curTo=(e=t.tree.prop(rl))!==null&&e!==void 0?e:t.to,this.inner=new $s(t.tree,-t.offset)}}findMounts(e,t){var n;let r=[];if(this.inner){this.inner.cursor.moveTo(e,1);for(let s=this.inner.cursor.node;s;s=s.parent){let o=(n=s.tree)===null||n===void 0?void 0:n.prop(I.mounted);if(o&&o.parser==t)for(let a=this.fragI;a=s.to)break;l.tree==this.curFrag.tree&&r.push({frag:l,pos:s.from-l.offset,mount:o})}}}return r}};function Vu(i,e){let t=null,n=e;for(let r=1,s=0;r=a)break;l.to<=o||(t||(n=t=e.slice()),l.froma&&t.splice(s+1,0,new Ye(a,l.to))):l.to>a?t[s--]=new Ye(a,l.to):t.splice(s--,1))}}return n}function GQ(i,e,t,n){let r=0,s=0,o=!1,a=!1,l=-1e9,c=[];for(;;){let h=r==i.length?1e9:o?i[r].to:i[r].from,f=s==e.length?1e9:a?e[s].to:e[s].from;if(o!=a){let u=Math.max(l,t),O=Math.min(h,f,n);unew Ye(u.from+n,u.to+n)),f=GQ(e,h,l,c);for(let u=0,O=l;;u++){let p=u==f.length,m=p?c:f[u].from;if(m>O&&t.push(new Vt(O,m,r.tree,-o,s.from>=O||s.openStart,s.to<=m||s.openEnd)),p)break;O=f[u].to}}else t.push(new Vt(l,c,r.tree,-o,s.from>=o||s.openStart,s.to<=a||s.openEnd))}return t}var NQ=0,Ke=class i{constructor(e,t,n,r){this.name=e,this.set=t,this.base=n,this.modified=r,this.id=NQ++}toString(){let{name:e}=this;for(let t of this.modified)t.name&&(e=`${t.name}(${e})`);return e}static define(e,t){let n=typeof e=="string"?e:"?";if(e instanceof i&&(t=e),t?.base)throw new Error("Can not derive from a modified tag");let r=new i(n,[],null,[]);if(r.set.push(r),t)for(let s of t.set)r.set.push(s);return r}static defineModifier(e){let t=new _s(e);return n=>n.modified.indexOf(t)>-1?n:_s.get(n.base||n,n.modified.concat(t).sort((r,s)=>r.id-s.id))}},FQ=0,_s=class i{constructor(e){this.name=e,this.instances=[],this.id=FQ++}static get(e,t){if(!t.length)return e;let n=t[0].instances.find(a=>a.base==e&&HQ(t,a.modified));if(n)return n;let r=[],s=new Ke(e.name,r,e,t);for(let a of t)a.instances.push(s);let o=KQ(t);for(let a of e.set)if(!a.modified.length)for(let l of o)r.push(i.get(a,l));return s}};function HQ(i,e){return i.length==e.length&&i.every((t,n)=>t==e[n])}function KQ(i){let e=[[]];for(let t=0;tn.length-t.length)}function ge(i){let e=Object.create(null);for(let t in i){let n=i[t];Array.isArray(n)||(n=[n]);for(let r of t.split(" "))if(r){let s=[],o=2,a=r;for(let f=0;;){if(a=="..."&&f>0&&f+3==r.length){o=1;break}let u=/^"(?:[^"\\]|\\.)*?"|[^\/!]+/.exec(a);if(!u)throw new RangeError("Invalid path: "+r);if(s.push(u[0]=="*"?"":u[0][0]=='"'?JSON.parse(u[0]):u[0]),f+=u[0].length,f==r.length)break;let O=r[f++];if(f==r.length&&O=="!"){o=0;break}if(O!="/")throw new RangeError("Invalid path: "+r);a=r.slice(f)}let l=s.length-1,c=s[l];if(!c)throw new RangeError("Invalid path: "+r);let h=new Li(n,o,l>0?s.slice(0,l):null);e[c]=h.sort(e[c])}}return Gu.add(e)}var Gu=new I({combine(i,e){let t,n,r;for(;i||e;){if(!i||e&&i.depth>=e.depth?(r=e,e=e.next):(r=i,i=i.next),t&&t.mode==r.mode&&!r.context&&!t.context)continue;let s=new Li(r.tags,r.mode,r.context);t?t.next=s:n=s,t=s}return n}}),Li=class{constructor(e,t,n,r){this.tags=e,this.mode=t,this.context=n,this.next=r}get opaque(){return this.mode==0}get inherit(){return this.mode==1}sort(e){return!e||e.depth{let o=r;for(let a of s)for(let l of a.set){let c=t[l.id];if(c){o=o?o+" "+c:c;break}}return o},scope:n}}function JQ(i,e){let t=null;for(let n of i){let r=n.style(e);r&&(t=t?t+" "+r:r)}return t}function Rs(i,e,t,n=0,r=i.length){let s=new hl(n,Array.isArray(e)?e:[e],t);s.highlightRange(i.cursor(),n,r,"",s.highlighters),s.flush(r)}var hl=class{constructor(e,t,n){this.at=e,this.highlighters=t,this.span=n,this.class=""}startSpan(e,t){t!=this.class&&(this.flush(e),e>this.at&&(this.at=e),this.class=t)}flush(e){e>this.at&&this.class&&this.span(this.at,e,this.class)}highlightRange(e,t,n,r,s){let{type:o,from:a,to:l}=e;if(a>=n||l<=t)return;o.isTop&&(s=this.highlighters.filter(O=>!O.scope||O.scope(o)));let c=r,h=eb(e)||Li.empty,f=JQ(s,h.tags);if(f&&(c&&(c+=" "),c+=f,h.mode==1&&(r+=(r?" ":"")+f)),this.startSpan(Math.max(t,a),c),h.opaque)return;let u=e.tree&&e.tree.prop(I.mounted);if(u&&u.overlay){let O=e.node.enter(u.overlay[0].from+a,1),p=this.highlighters.filter(b=>!b.scope||b.scope(u.tree.type)),m=e.firstChild();for(let b=0,g=a;;b++){let Q=b=S||!e.nextSibling())););if(!Q||S>n)break;g=Q.to+a,g>t&&(this.highlightRange(O.cursor(),Math.max(t,Q.from+a),Math.min(n,g),"",p),this.startSpan(Math.min(n,g),c))}m&&e.parent()}else if(e.firstChild()){u&&(r="");do if(!(e.to<=t)){if(e.from>=n)break;this.highlightRange(e,t,n,r,s),this.startSpan(Math.min(n,e.to),c)}while(e.nextSibling());e.parent()}}};function eb(i){let e=i.type.prop(Gu);for(;e&&e.context&&!i.matchContext(e.context);)e=e.next;return e||null}var q=Ke.define,Ts=q(),ui=q(),Bu=q(ui),Uu=q(ui),Oi=q(),Cs=q(Oi),cl=q(Oi),_t=q(),zi=q(_t),Ct=q(),Xt=q(),fl=q(),ar=q(fl),Xs=q(),d={comment:Ts,lineComment:q(Ts),blockComment:q(Ts),docComment:q(Ts),name:ui,variableName:q(ui),typeName:Bu,tagName:q(Bu),propertyName:Uu,attributeName:q(Uu),className:q(ui),labelName:q(ui),namespace:q(ui),macroName:q(ui),literal:Oi,string:Cs,docString:q(Cs),character:q(Cs),attributeValue:q(Cs),number:cl,integer:q(cl),float:q(cl),bool:q(Oi),regexp:q(Oi),escape:q(Oi),color:q(Oi),url:q(Oi),keyword:Ct,self:q(Ct),null:q(Ct),atom:q(Ct),unit:q(Ct),modifier:q(Ct),operatorKeyword:q(Ct),controlKeyword:q(Ct),definitionKeyword:q(Ct),moduleKeyword:q(Ct),operator:Xt,derefOperator:q(Xt),arithmeticOperator:q(Xt),logicOperator:q(Xt),bitwiseOperator:q(Xt),compareOperator:q(Xt),updateOperator:q(Xt),definitionOperator:q(Xt),typeOperator:q(Xt),controlOperator:q(Xt),punctuation:fl,separator:q(fl),bracket:ar,angleBracket:q(ar),squareBracket:q(ar),paren:q(ar),brace:q(ar),content:_t,heading:zi,heading1:q(zi),heading2:q(zi),heading3:q(zi),heading4:q(zi),heading5:q(zi),heading6:q(zi),contentSeparator:q(_t),list:q(_t),quote:q(_t),emphasis:q(_t),strong:q(_t),link:q(_t),monospace:q(_t),strikethrough:q(_t),inserted:q(),deleted:q(),changed:q(),invalid:q(),meta:Xs,documentMeta:q(Xs),annotation:q(Xs),processingInstruction:q(Xs),definition:Ke.defineModifier("definition"),constant:Ke.defineModifier("constant"),function:Ke.defineModifier("function"),standard:Ke.defineModifier("standard"),local:Ke.defineModifier("local"),special:Ke.defineModifier("special")};for(let i in d){let e=d[i];e instanceof Ke&&(e.name=i)}var c$=ul([{tag:d.link,class:"tok-link"},{tag:d.heading,class:"tok-heading"},{tag:d.emphasis,class:"tok-emphasis"},{tag:d.strong,class:"tok-strong"},{tag:d.keyword,class:"tok-keyword"},{tag:d.atom,class:"tok-atom"},{tag:d.bool,class:"tok-bool"},{tag:d.url,class:"tok-url"},{tag:d.labelName,class:"tok-labelName"},{tag:d.inserted,class:"tok-inserted"},{tag:d.deleted,class:"tok-deleted"},{tag:d.literal,class:"tok-literal"},{tag:d.string,class:"tok-string"},{tag:d.number,class:"tok-number"},{tag:[d.regexp,d.escape,d.special(d.string)],class:"tok-string2"},{tag:d.variableName,class:"tok-variableName"},{tag:d.local(d.variableName),class:"tok-variableName tok-local"},{tag:d.definition(d.variableName),class:"tok-variableName tok-definition"},{tag:d.special(d.variableName),class:"tok-variableName2"},{tag:d.definition(d.propertyName),class:"tok-propertyName tok-definition"},{tag:d.typeName,class:"tok-typeName"},{tag:d.namespace,class:"tok-namespace"},{tag:d.className,class:"tok-className"},{tag:d.macroName,class:"tok-macroName"},{tag:d.propertyName,class:"tok-propertyName"},{tag:d.operator,class:"tok-operator"},{tag:d.comment,class:"tok-comment"},{tag:d.meta,class:"tok-meta"},{tag:d.invalid,class:"tok-invalid"},{tag:d.punctuation,class:"tok-punctuation"}]);var Ol,bt=new I;function kn(i){return Y.define({combine:i?e=>e.concat(i):void 0})}var Es=new I,xe=class{constructor(e,t,n=[],r=""){this.data=e,this.name=r,re.prototype.hasOwnProperty("tree")||Object.defineProperty(re.prototype,"tree",{get(){return B(this)}}),this.parser=t,this.extension=[Sn.of(this),re.languageData.of((s,o,a)=>{let l=Nu(s,o,a),c=l.type.prop(bt);if(!c)return[];let h=s.facet(c),f=l.type.prop(Es);if(f){let u=l.resolve(o-l.from,a);for(let O of f)if(O.test(u,s)){let p=s.facet(O.facet);return O.type=="replace"?p:p.concat(h)}}return h})].concat(n)}isActiveAt(e,t,n=-1){return Nu(e,t,n).type.prop(bt)==this.data}findRegions(e){let t=e.facet(Sn);if(t?.data==this.data)return[{from:0,to:e.doc.length}];if(!t||!t.allowsNesting)return[];let n=[],r=(s,o)=>{if(s.prop(bt)==this.data){n.push({from:o,to:o+s.length});return}let a=s.prop(I.mounted);if(a){if(a.tree.prop(bt)==this.data){if(a.overlay)for(let l of a.overlay)n.push({from:l.from+o,to:l.to+o});else n.push({from:o,to:o+s.length});return}else if(a.overlay){let l=n.length;if(r(a.tree,a.overlay[0].from+o),n.length>l)return}}for(let l=0;ln.isTop?t:void 0)]}),e.name)}configure(e,t){return new i(this.data,this.parser.configure(e),t||this.name)}get allowsNesting(){return this.parser.hasWrappers()}};function B(i){let e=i.field(xe.state,!1);return e?e.tree:G.empty}function zs(i,e,t=50){var n;let r=(n=i.field(xe.state,!1))===null||n===void 0?void 0:n.context;if(!r)return null;let s=r.viewport;r.updateViewport({from:0,to:e});let o=r.isDone(e)||r.work(t,e)?r.tree:null;return r.updateViewport(s),o}function tO(i,e=i.doc.length){var t;return((t=i.field(xe.state,!1))===null||t===void 0?void 0:t.context.isDone(e))||!1}var gl=class{constructor(e){this.doc=e,this.cursorPos=0,this.string="",this.cursor=e.iter()}get length(){return this.doc.length}syncTo(e){return this.string=this.cursor.next(e-this.cursorPos).value,this.cursorPos=e+this.string.length,this.cursorPos-this.string.length}chunk(e){return this.syncTo(e),this.string}get lineChunks(){return!0}read(e,t){let n=this.cursorPos-this.string.length;return e=this.cursorPos?this.doc.sliceString(e,t):this.string.slice(e-n,t-n)}},lr=null,Mi=class i{constructor(e,t,n=[],r,s,o,a,l){this.parser=e,this.state=t,this.fragments=n,this.tree=r,this.treeLen=s,this.viewport=o,this.skipped=a,this.scheduleOn=l,this.parse=null,this.tempSkipped=[]}static create(e,t,n){return new i(e,t,[],G.empty,0,n,[],null)}startParse(){return this.parser.startParse(new gl(this.state.doc),this.fragments)}work(e,t){return t!=null&&t>=this.state.doc.length&&(t=void 0),this.tree!=G.empty&&this.isDone(t??this.state.doc.length)?(this.takeTree(),!0):this.withContext(()=>{var n;if(typeof e=="number"){let r=Date.now()+e;e=()=>Date.now()>r}for(this.parse||(this.parse=this.startParse()),t!=null&&(this.parse.stoppedAt==null||this.parse.stoppedAt>t)&&t=this.treeLen&&((this.parse.stoppedAt==null||this.parse.stoppedAt>e)&&this.parse.stopAt(e),this.withContext(()=>{for(;!(t=this.parse.advance()););}),this.treeLen=e,this.tree=t,this.fragments=this.withoutTempSkipped(Vt.addTree(this.tree,this.fragments,!0)),this.parse=null)}withContext(e){let t=lr;lr=this;try{return e()}finally{lr=t}}withoutTempSkipped(e){for(let t;t=this.tempSkipped.pop();)e=Fu(e,t.from,t.to);return e}changes(e,t){let{fragments:n,tree:r,treeLen:s,viewport:o,skipped:a}=this;if(this.takeTree(),!e.empty){let l=[];if(e.iterChangedRanges((c,h,f,u)=>l.push({fromA:c,toA:h,fromB:f,toB:u})),n=Vt.applyChanges(n,l),r=G.empty,s=0,o={from:e.mapPos(o.from,-1),to:e.mapPos(o.to,1)},this.skipped.length){a=[];for(let c of this.skipped){let h=e.mapPos(c.from,1),f=e.mapPos(c.to,-1);he.from&&(this.fragments=Fu(this.fragments,r,s),this.skipped.splice(n--,1))}return this.skipped.length>=t?!1:(this.reset(),!0)}reset(){this.parse&&(this.takeTree(),this.parse=null)}skipUntilInView(e,t){this.skipped.push({from:e,to:t})}static getSkippingParser(e){return new class extends Dt{createParse(t,n,r){let s=r[0].from,o=r[r.length-1].to;return{parsedPos:s,advance(){let l=lr;if(l){for(let c of r)l.tempSkipped.push(c);e&&(l.scheduleOn=l.scheduleOn?Promise.all([l.scheduleOn,e]):e)}return this.parsedPos=o,new G(Oe.none,[],[],o-s)},stoppedAt:null,stopAt(){}}}}}isDone(e){e=Math.min(e,this.state.doc.length);let t=this.fragments;return this.treeLen>=e&&t.length&&t[0].from==0&&t[0].to>=e}static get(){return lr}};function Fu(i,e,t){return Vt.applyChanges(i,[{fromA:e,toA:t,fromB:e,toB:t}])}var cr=class i{constructor(e){this.context=e,this.tree=e.tree}apply(e){if(!e.docChanged&&this.tree==this.context.tree)return this;let t=this.context.changes(e.changes,e.state),n=this.context.treeLen==e.startState.doc.length?void 0:Math.max(e.changes.mapPos(this.context.treeLen),t.viewport.to);return t.work(20,n)||t.takeTree(),new i(t)}static init(e){let t=Math.min(3e3,e.doc.length),n=Mi.create(e.facet(Sn).parser,e,{from:0,to:t});return n.work(20,t)||n.takeTree(),new i(n)}};xe.state=he.define({create:cr.init,update(i,e){for(let t of e.effects)if(t.is(xe.setState))return t.value;return e.startState.facet(Sn)!=e.state.facet(Sn)?cr.init(e.state):i.apply(e)}});var iO=i=>{let e=setTimeout(()=>i(),500);return()=>clearTimeout(e)};typeof requestIdleCallback<"u"&&(iO=i=>{let e=-1,t=setTimeout(()=>{e=requestIdleCallback(i,{timeout:400})},100);return()=>e<0?clearTimeout(t):cancelIdleCallback(e)});var dl=typeof navigator<"u"&&(!((Ol=navigator.scheduling)===null||Ol===void 0)&&Ol.isInputPending)?()=>navigator.scheduling.isInputPending():null,tb=De.fromClass(class{constructor(e){this.view=e,this.working=null,this.workScheduled=0,this.chunkEnd=-1,this.chunkBudget=-1,this.work=this.work.bind(this),this.scheduleWork()}update(e){let t=this.view.state.field(xe.state).context;(t.updateViewport(e.view.viewport)||this.view.viewport.to>t.treeLen)&&this.scheduleWork(),(e.docChanged||e.selectionSet)&&(this.view.hasFocus&&(this.chunkBudget+=50),this.scheduleWork()),this.checkAsyncSchedule(t)}scheduleWork(){if(this.working)return;let{state:e}=this.view,t=e.field(xe.state);(t.tree!=t.context.tree||!t.context.isDone(e.doc.length))&&(this.working=iO(this.work))}work(e){this.working=null;let t=Date.now();if(this.chunkEndr+1e3,l=s.context.work(()=>dl&&dl()||Date.now()>o,r+(a?0:1e5));this.chunkBudget-=Date.now()-t,(l||this.chunkBudget<=0)&&(s.context.takeTree(),this.view.dispatch({effects:xe.setState.of(new cr(s.context))})),this.chunkBudget>0&&!(l&&!a)&&this.scheduleWork(),this.checkAsyncSchedule(s.context)}checkAsyncSchedule(e){e.scheduleOn&&(this.workScheduled++,e.scheduleOn.then(()=>this.scheduleWork()).catch(t=>at(this.view.state,t)).then(()=>this.workScheduled--),e.scheduleOn=null)}destroy(){this.working&&this.working()}isWorking(){return!!(this.working||this.workScheduled>0)}},{eventHandlers:{focus(){this.scheduleWork()}}}),Sn=Y.define({combine(i){return i.length?i[0]:null},enables:i=>[xe.state,tb,E.contentAttributes.compute([i],e=>{let t=e.facet(i);return t&&t.name?{"data-language":t.name}:{}})]}),pe=class{constructor(e,t=[]){this.language=e,this.support=t,this.extension=[e,t]}},Be=class i{constructor(e,t,n,r,s,o=void 0){this.name=e,this.alias=t,this.extensions=n,this.filename=r,this.loadFunc=s,this.support=o,this.loading=null}load(){return this.loading||(this.loading=this.loadFunc().then(e=>this.support=e,e=>{throw this.loading=null,e}))}static of(e){let{load:t,support:n}=e;if(!t){if(!n)throw new RangeError("Must pass either 'load' or 'support' to LanguageDescription.of");t=()=>Promise.resolve(n)}return new i(e.name,(e.alias||[]).concat(e.name).map(r=>r.toLowerCase()),e.extensions||[],e.filename,t,n)}static matchFilename(e,t){for(let r of e)if(r.filename&&r.filename.test(t))return r;let n=/\.([^.]+)$/.exec(t);if(n){for(let r of e)if(r.extensions.indexOf(n[1])>-1)return r}return null}static matchLanguageName(e,t,n=!0){t=t.toLowerCase();for(let r of e)if(r.alias.some(s=>s==t))return r;if(n)for(let r of e)for(let s of r.alias){let o=t.indexOf(s);if(o>-1&&(s.length>2||!/\w/.test(t[o-1])&&!/\w/.test(t[o+s.length])))return r}return null}},ib=Y.define(),Rt=Y.define({combine:i=>{if(!i.length)return" ";let e=i[0];if(!e||/\S/.test(e)||Array.from(e).some(t=>t!=e[0]))throw new Error("Invalid indent unit: "+JSON.stringify(i[0]));return e}});function di(i){let e=i.facet(Rt);return e.charCodeAt(0)==9?i.tabSize*e.length:e.length}function fr(i,e){let t="",n=i.tabSize,r=i.facet(Rt)[0];if(r==" "){for(;e>=n;)t+=" ",e-=n;r=" "}for(let s=0;s=e?nb(i,t,e):null}var Wi=class{constructor(e,t={}){this.state=e,this.options=t,this.unit=di(e)}lineAt(e,t=1){let n=this.state.doc.lineAt(e),{simulateBreak:r,simulateDoubleBreak:s}=this.options;return r!=null&&r>=n.from&&r<=n.to?s&&r==e?{text:"",from:e}:(t<0?r-1&&(s+=o-this.countColumn(n,n.search(/\S|$/))),s}countColumn(e,t=e.length){return Fe(e,this.state.tabSize,t)}lineIndent(e,t=1){let{text:n,from:r}=this.lineAt(e,t),s=this.options.overrideIndentation;if(s){let o=s(r);if(o>-1)return o}return this.countColumn(n,n.search(/\S|$/))}get simulatedBreak(){return this.options.simulateBreak||null}},we=new I;function nb(i,e,t){let n=e.resolveStack(t),r=e.resolveInner(t,-1).resolve(t,0).enterUnfinishedNodesBefore(t);if(r!=n.node){let s=[];for(let o=r;o&&!(o.fromn.node.to||o.from==n.node.from&&o.type==n.node.type);o=o.parent)s.push(o);for(let o=s.length-1;o>=0;o--)n={node:s[o],next:n}}return nO(n,i,t)}function nO(i,e,t){for(let n=i;n;n=n.next){let r=sb(n.node);if(r)return r(Ql.create(e,t,n))}return 0}function rb(i){return i.pos==i.options.simulateBreak&&i.options.simulateDoubleBreak}function sb(i){let e=i.type.prop(we);if(e)return e;let t=i.firstChild,n;if(t&&(n=t.type.prop(I.closedBy))){let r=i.lastChild,s=r&&n.indexOf(r.name)>-1;return o=>rO(o,!0,1,void 0,s&&!rb(o)?r.from:void 0)}return i.parent==null?ob:null}function ob(){return 0}var Ql=class i extends Wi{constructor(e,t,n){super(e.state,e.options),this.base=e,this.pos=t,this.context=n}get node(){return this.context.node}static create(e,t,n){return new i(e,t,n)}get textAfter(){return this.textAfterPos(this.pos)}get baseIndent(){return this.baseIndentFor(this.node)}baseIndentFor(e){let t=this.state.doc.lineAt(e.from);for(;;){let n=e.resolve(t.from);for(;n.parent&&n.parent.from==n.from;)n=n.parent;if(ab(n,e))break;t=this.state.doc.lineAt(n.from)}return this.lineIndent(t.from)}continue(){return nO(this.context.next,this.base,this.pos)}};function ab(i,e){for(let t=e;t;t=t.parent)if(i==t)return!0;return!1}function lb(i){let e=i.node,t=e.childAfter(e.from),n=e.lastChild;if(!t)return null;let r=i.options.simulateBreak,s=i.state.doc.lineAt(t.from),o=r==null||r<=s.from?s.to:Math.min(s.to,r);for(let a=t.to;;){let l=e.childAfter(a);if(!l||l==n)return null;if(!l.type.isSkipped){if(l.from>=o)return null;let c=/^ */.exec(s.text.slice(t.to-s.from))[0].length;return{from:t.from,to:t.to+c}}a=l.to}}function St({closing:i,align:e=!0,units:t=1}){return n=>rO(n,e,t,i)}function rO(i,e,t,n,r){let s=i.textAfter,o=s.match(/^\s*/)[0].length,a=n&&s.slice(o,o+n.length)==n||r==i.pos+o,l=e?lb(i):null;return l?a?i.column(l.from):i.column(l.to):i.baseIndent+(a?0:i.unit*t)}var sO=i=>i.baseIndent;function Yt({except:i,units:e=1}={}){return t=>{let n=i&&i.test(t.textAfter);return t.baseIndent+(n?0:e*t.unit)}}var oO=Y.define(),$e=new I;function ct(i){let e=i.firstChild,t=i.lastChild;return e&&e.toa.prop(bt)==o.data:o?a=>a==o:void 0,this.style=ul(e.map(a=>({tag:a.tag,class:a.class||r(Object.assign({},a,{tag:null}))})),{all:s}).style,this.module=n?new nt(n):null,this.themeType=t.themeType}static define(e,t){return new i(e,t||{})}},bl=Y.define(),aO=Y.define({combine(i){return i.length?[i[0]]:null}});function pl(i){let e=i.facet(bl);return e.length?e:i.facet(aO)}function lO(i,e){let t=[cb],n;return i instanceof yn&&(i.module&&t.push(E.styleModule.of(i.module)),n=i.themeType),e?.fallback?t.push(aO.of(i)):n?t.push(bl.computeN([E.darkTheme],r=>r.facet(E.darkTheme)==(n=="dark")?[i]:[])):t.push(bl.of(i)),t}var Sl=class{constructor(e){this.markCache=Object.create(null),this.tree=B(e.state),this.decorations=this.buildDeco(e,pl(e.state)),this.decoratedTo=e.viewport.to}update(e){let t=B(e.state),n=pl(e.state),r=n!=pl(e.startState),{viewport:s}=e.view,o=e.changes.mapPos(this.decoratedTo,1);t.length=s.to?(this.decorations=this.decorations.map(e.changes),this.decoratedTo=o):(t!=this.tree||e.viewportChanged||r)&&(this.tree=t,this.decorations=this.buildDeco(e.view,n),this.decoratedTo=s.to)}buildDeco(e,t){if(!t||!this.tree.length)return Z.none;let n=new Ci;for(let{from:r,to:s}of e.visibleRanges)Rs(this.tree,t,(o,a,l)=>{n.add(o,a,this.markCache[l]||(this.markCache[l]=Z.mark({class:l})))},r,s);return n.finish()}},cb=pt.high(De.fromClass(Sl,{decorations:i=>i.decorations})),Q$=yn.define([{tag:d.meta,color:"#404740"},{tag:d.link,textDecoration:"underline"},{tag:d.heading,textDecoration:"underline",fontWeight:"bold"},{tag:d.emphasis,fontStyle:"italic"},{tag:d.strong,fontWeight:"bold"},{tag:d.strikethrough,textDecoration:"line-through"},{tag:d.keyword,color:"#708"},{tag:[d.atom,d.bool,d.url,d.contentSeparator,d.labelName],color:"#219"},{tag:[d.literal,d.inserted],color:"#164"},{tag:[d.string,d.deleted],color:"#a11"},{tag:[d.regexp,d.escape,d.special(d.string)],color:"#e40"},{tag:d.definition(d.variableName),color:"#00f"},{tag:d.local(d.variableName),color:"#30a"},{tag:[d.typeName,d.namespace],color:"#085"},{tag:d.className,color:"#167"},{tag:[d.special(d.variableName),d.macroName],color:"#256"},{tag:d.definition(d.propertyName),color:"#00c"},{tag:d.comment,color:"#940"},{tag:d.invalid,color:"#f00"}]);var hb=1e4,fb="()[]{}";var Pl=new I;function yl(i,e,t){let n=i.prop(e<0?I.openedBy:I.closedBy);if(n)return n;if(i.name.length==1){let r=t.indexOf(i.name);if(r>-1&&r%2==(e<0?1:0))return[t[r+e]]}return null}function kl(i){let e=i.type.prop(Pl);return e?e(i.node):i}function ji(i,e,t,n={}){let r=n.maxScanDistance||hb,s=n.brackets||fb,o=B(i),a=o.resolveInner(e,t);for(let l=a;l;l=l.parent){let c=yl(l.type,t,s);if(c&&l.from0?e>=h.from&&eh.from&&e<=h.to))return ub(i,e,t,l,h,c,s)}}return Ob(i,e,t,o,a.type,r,s)}function ub(i,e,t,n,r,s,o){let a=n.parent,l={from:r.from,to:r.to},c=0,h=a?.cursor();if(h&&(t<0?h.childBefore(n.from):h.childAfter(n.to)))do if(t<0?h.to<=n.from:h.from>=n.to){if(c==0&&s.indexOf(h.type.name)>-1&&h.from0)return null;let c={from:t<0?e-1:e,to:t>0?e+1:e},h=i.doc.iterRange(e,t>0?i.doc.length:0),f=0;for(let u=0;!h.next().done&&u<=s;){let O=h.value;t<0&&(u+=O.length);let p=e+u*t;for(let m=t>0?0:O.length-1,b=t>0?O.length:-1;m!=b;m+=t){let g=o.indexOf(O[m]);if(!(g<0||n.resolveInner(p+m,1).type!=r))if(g%2==0==t>0)f++;else{if(f==1)return{start:c,end:{from:p+m,to:p+m+1},matched:g>>1==l>>1};f--}}t>0&&(u+=O.length)}return h.done?{start:c,matched:!1}:null}function Hu(i,e,t,n=0,r=0){e==null&&(e=i.search(/[^\s\u00a0]/),e==-1&&(e=i.length));let s=r;for(let o=n;o=this.string.length}sol(){return this.pos==0}peek(){return this.string.charAt(this.pos)||void 0}next(){if(this.post}eatSpace(){let e=this.pos;for(;/[\s\u00a0]/.test(this.string.charAt(this.pos));)++this.pos;return this.pos>e}skipToEnd(){this.pos=this.string.length}skipTo(e){let t=this.string.indexOf(e,this.pos);if(t>-1)return this.pos=t,!0}backUp(e){this.pos-=e}column(){return this.lastColumnPosn?o.toLowerCase():o,s=this.string.substr(this.pos,e.length);return r(s)==r(e)?(t!==!1&&(this.pos+=e.length),!0):null}else{let r=this.string.slice(this.pos).match(e);return r&&r.index>0?null:(r&&t!==!1&&(this.pos+=r[0].length),r)}}current(){return this.string.slice(this.start,this.pos)}};function db(i){return{name:i.name||"",token:i.token,blankLine:i.blankLine||(()=>{}),startState:i.startState||(()=>!0),copyState:i.copyState||pb,indent:i.indent||(()=>null),languageData:i.languageData||{},tokenTable:i.tokenTable||$l,mergeTokens:i.mergeTokens!==!1}}function pb(i){if(typeof i!="object")return i;let e={};for(let t in i){let n=i[t];e[t]=n instanceof Array?n.slice():n}return e}var Ku=new WeakMap,Zs=class i extends xe{constructor(e){let t=kn(e.languageData),n=db(e),r,s=new class extends Dt{createParse(o,a,l){return new xl(r,o,a,l)}};super(t,s,[],e.name),this.topNode=bb(t,this),r=this,this.streamParser=n,this.stateAfter=new I({perNode:!0}),this.tokenTable=e.tokenTable?new qs(n.tokenTable):Qb}static define(e){return new i(e)}getIndent(e){let t,{overrideIndentation:n}=e.options;n&&(t=Ku.get(e.state),t!=null&&t1e4)return null;for(;s=n&&t+e.length<=r&&e.prop(i.stateAfter);if(s)return{state:i.streamParser.copyState(s),pos:t+e.length};for(let o=e.children.length-1;o>=0;o--){let a=e.children[o],l=t+e.positions[o],c=a instanceof G&&l=e.length)return e;!r&&t==0&&e.type==i.topNode&&(r=!0);for(let s=e.children.length-1;s>=0;s--){let o=e.positions[s],a=e.children[s],l;if(ot&&vl(i,s.tree,0-s.offset,t,a),c;if(l&&l.pos<=n&&(c=cO(i,s.tree,t+s.offset,l.pos+s.offset,!1)))return{state:l.state,tree:c}}return{state:i.streamParser.startState(r?di(r):4),tree:G.empty}}var xl=class{constructor(e,t,n,r){this.lang=e,this.input=t,this.fragments=n,this.ranges=r,this.stoppedAt=null,this.chunks=[],this.chunkPos=[],this.chunk=[],this.chunkReused=void 0,this.rangeIndex=0,this.to=r[r.length-1].to;let s=Mi.get(),o=r[0].from,{state:a,tree:l}=mb(e,n,o,this.to,s?.state);this.state=a,this.parsedPos=this.chunkStart=o+l.length;for(let c=0;cc.from<=s.viewport.from&&c.to>=s.viewport.from)&&(this.state=this.lang.streamParser.startState(di(s.state)),s.skipUntilInView(this.parsedPos,s.viewport.from),this.parsedPos=s.viewport.from),this.moveRangeIndex()}advance(){let e=Mi.get(),t=this.stoppedAt==null?this.to:Math.min(this.to,this.stoppedAt),n=Math.min(t,this.chunkStart+512);for(e&&(n=Math.min(n,e.viewport.to));this.parsedPos=t?this.finish():e&&this.parsedPos>=e.viewport.to?(e.skipUntilInView(this.parsedPos,t),this.finish()):null}stopAt(e){this.stoppedAt=e}lineAfter(e){let t=this.input.chunk(e);if(this.input.lineChunks)t==` `&&(t="");else{let n=t.indexOf(` -`);n>-1&&(t=t.slice(0,n))}return e+t.length<=this.to?t:t.slice(0,this.to-e)}nextLine(){let e=this.parsedPos,t=this.lineAfter(e),n=e+t.length;for(let r=this.rangeIndex;;){let s=this.ranges[r].to;if(s>=n||(t=t.slice(0,s-(n-t.length)),r++,r==this.ranges.length))break;let o=this.ranges[r].from,a=this.lineAfter(o);t+=a,n=o+a.length}return{line:t,end:n}}skipGapsTo(e,t,n){for(;;){let r=this.ranges[this.rangeIndex].to,s=e+t;if(n>0?r>s:r>=s)break;let o=this.ranges[++this.rangeIndex].from;t+=o-r}return t}moveRangeIndex(){for(;this.ranges[this.rangeIndex].to1){r=this.skipGapsTo(t,r,1),t+=r;let a=this.chunk.length;r=this.skipGapsTo(n,r,-1),n+=r,s+=this.chunk.length-a}let o=this.chunk.length-4;return this.lang.streamParser.mergeTokens&&s==4&&o>=0&&this.chunk[o]==e&&this.chunk[o+2]==t?this.chunk[o+2]=n:this.chunk.push(e,t,n,s),r}parseLine(e){let{line:t,end:n}=this.nextLine(),r=0,{streamParser:s}=this.lang,o=new _s(t,e?e.state.tabSize:4,e?ui(e.state):2);if(o.eol())s.blankLine(this.state,o.indentUnit);else for(;!o.eol();){let a=tO(s.token,o,this.state);if(a&&(r=this.emitToken(this.lang.tokenTable.resolve(a),this.parsedPos+o.start,this.parsedPos+o.pos,r)),o.start>1e4)break}this.parsedPos=n,this.moveRangeIndex(),this.parsedPose.start)return r}throw new Error("Stream parser failed to advance stream.")}var kl=Object.create(null),lr=[Oe.none],lb=new Mt(lr),Yu=[],Iu=Object.create(null),iO=Object.create(null);for(let[i,e]of[["variable","variableName"],["variable-2","variableName.special"],["string-2","string.special"],["def","variableName.definition"],["tag","tagName"],["attribute","attributeName"],["type","typeName"],["builtin","variableName.standard"],["qualifier","modifier"],["error","invalid"],["header","heading"],["property","propertyName"]])iO[i]=nO(kl,e);var As=class{constructor(e){this.extra=e,this.table=Object.assign(Object.create(null),iO)}resolve(e){return e?this.table[e]||(this.table[e]=nO(this.extra,e)):0}},cb=new As(kl);function fl(i,e){Yu.indexOf(i)>-1||(Yu.push(i),console.warn(e))}function nO(i,e){let t=[];for(let a of e.split(" ")){let l=[];for(let c of a.split(".")){let h=i[c]||d[c];h?typeof h=="function"?l.length?l=l.map(h):fl(c,`Modifier ${c} used at start of tag`):l.length?fl(c,`Tag ${c} used as modifier`):l=Array.isArray(h)?h:[h]:fl(c,`Unknown highlighting tag ${c}`)}for(let c of l)t.push(c)}if(!t.length)return 0;let n=e.replace(/ /g,"_"),r=n+" "+t.map(a=>a.id),s=Iu[r];if(s)return s.id;let o=Iu[r]=Oe.define({id:lr.length,name:n,props:[ge({[n]:t})]});return lr.push(o),o.id}function hb(i,e){let t=Oe.define({id:lr.length,name:"Document",props:[Qt.add(()=>i),we.add(()=>n=>e.getIndent(n))],top:!0});return lr.push(t),t}var c$={rtl:Z.mark({class:"cm-iso",inclusive:!0,attributes:{dir:"rtl"},bidiIsolate:ue.RTL}),ltr:Z.mark({class:"cm-iso",inclusive:!0,attributes:{dir:"ltr"},bidiIsolate:ue.LTR}),auto:Z.mark({class:"cm-iso",inclusive:!0,attributes:{dir:"auto"},bidiIsolate:null})};var fb=i=>{let{state:e}=i,t=e.doc.lineAt(e.selection.main.from),n=Cl(i.state,t.from);return n.line?ub(i):n.block?db(i):!1};function Tl(i,e){return({state:t,dispatch:n})=>{if(t.readOnly)return!1;let r=i(e,t);return r?(n(t.update(r)),!0):!1}}var ub=Tl(gb,0);var Ob=Tl(uO,0);var db=Tl((i,e)=>uO(i,e,mb(e)),0);function Cl(i,e){let t=i.languageDataAt("commentTokens",e,1);return t.length?t[0]:{}}var hr=50;function pb(i,{open:e,close:t},n,r){let s=i.sliceDoc(n-hr,n),o=i.sliceDoc(r,r+hr),a=/\s*$/.exec(s)[0].length,l=/^\s*/.exec(o)[0].length,c=s.length-a;if(s.slice(c-e.length,c)==e&&o.slice(l,l+t.length)==t)return{open:{pos:n-a,margin:a&&1},close:{pos:r+l,margin:l&&1}};let h,f;r-n<=2*hr?h=f=i.sliceDoc(n,r):(h=i.sliceDoc(n,n+hr),f=i.sliceDoc(r-hr,r));let u=/^\s*/.exec(h)[0].length,O=/\s*$/.exec(f)[0].length,p=f.length-O-t.length;return h.slice(u,u+e.length)==e&&f.slice(p,p+t.length)==t?{open:{pos:n+u+e.length,margin:/\s/.test(h.charAt(u+e.length))?1:0},close:{pos:r-O-t.length,margin:/\s/.test(f.charAt(p-1))?1:0}}:null}function mb(i){let e=[];for(let t of i.selection.ranges){let n=i.doc.lineAt(t.from),r=t.to<=n.to?n:i.doc.lineAt(t.to);r.from>n.from&&r.from==t.to&&(r=t.to==n.to+1?n:i.doc.lineAt(t.to-1));let s=e.length-1;s>=0&&e[s].to>n.from?e[s].to=r.to:e.push({from:n.from+/^\s*/.exec(n.text)[0].length,to:r.to})}return e}function uO(i,e,t=e.selection.ranges){let n=t.map(s=>Cl(e,s.from).block);if(!n.every(s=>s))return null;let r=t.map((s,o)=>pb(e,n[o],s.from,s.to));if(i!=2&&!r.every(s=>s))return{changes:e.changes(t.map((s,o)=>r[o]?[]:[{from:s.from,insert:n[o].open+" "},{from:s.to,insert:" "+n[o].close}]))};if(i!=1&&r.some(s=>s)){let s=[];for(let o=0,a;or&&(s==o||o>f.from)){r=f.from;let u=/^\s*/.exec(f.text)[0].length,O=u==f.length,p=f.text.slice(u,u+c.length)==c?u:-1;us.comment<0&&(!s.empty||s.single))){let s=[];for(let{line:a,token:l,indent:c,empty:h,single:f}of n)(f||!h)&&s.push({from:a.from+c,insert:l+" "});let o=e.changes(s);return{changes:o,selection:e.selection.map(o,1)}}else if(i!=1&&n.some(s=>s.comment>=0)){let s=[];for(let{line:o,comment:a,token:l}of n)if(a>=0){let c=o.from+a,h=c+l.length;o.text[h-o.from]==" "&&h++,s.push({from:c,to:h})}return{changes:s}}return null}var wl=_e.define(),Qb=_e.define(),bb=Y.define(),OO=Y.define({combine(i){return Vn(i,{minDepth:100,newGroupDelay:500,joinToEvent:(e,t)=>t},{minDepth:Math.max,newGroupDelay:Math.min,joinToEvent:(e,t)=>(n,r)=>e(n,r)||t(n,r)})}}),dO=he.define({create(){return ji.empty},update(i,e){let t=e.state.facet(OO),n=e.annotation(wl);if(n){let l=St.fromTransaction(e,n.selection),c=n.side,h=c==0?i.undone:i.done;return l?h=zs(h,h.length,t.minDepth,l):h=QO(h,e.startState.selection),new ji(c==0?n.rest:h,c==0?h:n.rest)}let r=e.annotation(Qb);if((r=="full"||r=="before")&&(i=i.isolate()),e.annotation(de.addToHistory)===!1)return e.changes.empty?i:i.addMapping(e.changes.desc);let s=St.fromTransaction(e),o=e.annotation(de.time),a=e.annotation(de.userEvent);return s?i=i.addChanges(s,o,a,t,e):e.selection&&(i=i.addSelection(e.startState.selection,o,a,t.newGroupDelay)),(r=="full"||r=="after")&&(i=i.isolate()),i},toJSON(i){return{done:i.done.map(e=>e.toJSON()),undone:i.undone.map(e=>e.toJSON())}},fromJSON(i){return new ji(i.done.map(St.fromJSON),i.undone.map(St.fromJSON))}});function pO(i={}){return[dO,OO.of(i),E.domEventHandlers({beforeinput(e,t){let n=e.inputType=="historyUndo"?mO:e.inputType=="historyRedo"?Pl:null;return n?(e.preventDefault(),n(t)):!1}})]}function Ls(i,e){return function({state:t,dispatch:n}){if(!e&&t.readOnly)return!1;let r=t.field(dO,!1);if(!r)return!1;let s=r.pop(i,t,e);return s?(n(s),!0):!1}}var mO=Ls(0,!1),Pl=Ls(1,!1),Sb=Ls(0,!0),yb=Ls(1,!0);var St=class i{constructor(e,t,n,r,s){this.changes=e,this.effects=t,this.mapped=n,this.startSelection=r,this.selectionsAfter=s}setSelAfter(e){return new i(this.changes,this.effects,this.mapped,this.startSelection,e)}toJSON(){var e,t,n;return{changes:(e=this.changes)===null||e===void 0?void 0:e.toJSON(),mapped:(t=this.mapped)===null||t===void 0?void 0:t.toJSON(),startSelection:(n=this.startSelection)===null||n===void 0?void 0:n.toJSON(),selectionsAfter:this.selectionsAfter.map(r=>r.toJSON())}}static fromJSON(e){return new i(e.changes&&Ee.fromJSON(e.changes),[],e.mapped&&At.fromJSON(e.mapped),e.startSelection&&v.fromJSON(e.startSelection),e.selectionsAfter.map(v.fromJSON))}static fromTransaction(e,t){let n=ct;for(let r of e.startState.facet(bb)){let s=r(e);s.length&&(n=n.concat(s))}return!n.length&&e.changes.empty?null:new i(e.changes.invert(e.startState.doc),n,void 0,t||e.startState.selection,ct)}static selection(e){return new i(void 0,ct,void 0,void 0,e)}};function zs(i,e,t,n){let r=e+1>t+20?e-t-1:0,s=i.slice(r,e);return s.push(n),s}function kb(i,e){let t=[],n=!1;return i.iterChangedRanges((r,s)=>t.push(r,s)),e.iterChangedRanges((r,s,o,a)=>{for(let l=0;l=c&&o<=h&&(n=!0)}}),n}function xb(i,e){return i.ranges.length==e.ranges.length&&i.ranges.filter((t,n)=>t.empty!=e.ranges[n].empty).length===0}function gO(i,e){return i.length?e.length?i.concat(e):i:e}var ct=[],wb=200;function QO(i,e){if(i.length){let t=i[i.length-1],n=t.selectionsAfter.slice(Math.max(0,t.selectionsAfter.length-wb));return n.length&&n[n.length-1].eq(e)?i:(n.push(e),zs(i,i.length-1,1e9,t.setSelAfter(n)))}else return[St.selection([e])]}function Pb(i){let e=i[i.length-1],t=i.slice();return t[i.length-1]=e.setSelAfter(e.selectionsAfter.slice(0,e.selectionsAfter.length-1)),t}function xl(i,e){if(!i.length)return i;let t=i.length,n=ct;for(;t;){let r=vb(i[t-1],e,n);if(r.changes&&!r.changes.empty||r.effects.length){let s=i.slice(0,t);return s[t-1]=r,s}else e=r.mapped,t--,n=r.selectionsAfter}return n.length?[St.selection(n)]:ct}function vb(i,e,t){let n=gO(i.selectionsAfter.length?i.selectionsAfter.map(a=>a.map(e)):ct,t);if(!i.changes)return St.selection(n);let r=i.changes.map(e),s=e.mapDesc(i.changes,!0),o=i.mapped?i.mapped.composeDesc(s):s;return new St(r,ie.mapEffects(i.effects,e),o,i.startSelection.map(s),n)}var $b=/^(input\.type|delete)($|\.)/,ji=class i{constructor(e,t,n=0,r=void 0){this.done=e,this.undone=t,this.prevTime=n,this.prevUserEvent=r}isolate(){return this.prevTime?new i(this.done,this.undone):this}addChanges(e,t,n,r,s){let o=this.done,a=o[o.length-1];return a&&a.changes&&!a.changes.empty&&e.changes&&(!n||$b.test(n))&&(!a.selectionsAfter.length&&t-this.prevTime0&&t-this.prevTimet.empty?i.moveByChar(t,e):Ms(t,e))}function Ae(i){return i.textDirectionAt(i.state.selection.main.head)==ue.LTR}var yO=i=>SO(i,!Ae(i)),kO=i=>SO(i,Ae(i));function xO(i,e){return kt(i,t=>t.empty?i.moveByGroup(t,e):Ms(t,e))}var Tb=i=>xO(i,!Ae(i)),Cb=i=>xO(i,Ae(i));var g$=typeof Intl<"u"&&Intl.Segmenter?new Intl.Segmenter(void 0,{granularity:"word"}):null;function Xb(i,e,t){if(e.type.prop(t))return!0;let n=e.to-e.from;return n&&(n>2||/[^\s,.;:]/.test(i.sliceDoc(e.from,e.to)))||e.firstChild}function Ws(i,e,t){let n=B(i).resolveInner(e.head),r=t?I.closedBy:I.openedBy;for(let l=e.head;;){let c=t?n.childAfter(l):n.childBefore(l);if(!c)break;Xb(i,c,r)?n=c:l=t?c.to:c.from}let s=n.type.prop(r),o,a;return s&&(o=t?Wi(i,n.from,1):Wi(i,n.to,-1))&&o.matched?a=t?o.end.to:o.end.from:a=t?n.to:n.from,v.cursor(a,t?-1:1)}var _b=i=>kt(i,e=>Ws(i.state,e,!Ae(i))),Rb=i=>kt(i,e=>Ws(i.state,e,Ae(i)));function wO(i,e){return kt(i,t=>{if(!t.empty)return Ms(t,e);let n=i.moveVertically(t,e);return n.head!=t.head?n:i.moveToLineBoundary(t,e)})}var PO=i=>wO(i,!1),vO=i=>wO(i,!0);function $O(i){let e=i.scrollDOM.clientHeighto.empty?i.moveVertically(o,e,t.height):Ms(o,e));if(r.eq(n.selection))return!1;let s;if(t.selfScroll){let o=i.coordsAtPos(n.selection.main.head),a=i.scrollDOM.getBoundingClientRect(),l=a.top+t.marginTop,c=a.bottom-t.marginBottom;o&&o.top>l&&o.bottomTO(i,!1),vl=i=>TO(i,!0);function Oi(i,e,t){let n=i.lineBlockAt(e.head),r=i.moveToLineBoundary(e,t);if(r.head==e.head&&r.head!=(t?n.to:n.from)&&(r=i.moveToLineBoundary(e,t,!1)),!t&&r.head==n.from&&n.length){let s=/^\s*/.exec(i.state.sliceDoc(n.from,Math.min(n.from+100,n.to)))[0].length;s&&e.head!=n.from+s&&(r=v.cursor(n.from+s))}return r}var Ab=i=>kt(i,e=>Oi(i,e,!0)),Zb=i=>kt(i,e=>Oi(i,e,!1)),qb=i=>kt(i,e=>Oi(i,e,!Ae(i))),Eb=i=>kt(i,e=>Oi(i,e,Ae(i))),zb=i=>kt(i,e=>v.cursor(i.lineBlockAt(e.head).from,1)),Lb=i=>kt(i,e=>v.cursor(i.lineBlockAt(e.head).to,-1));function Mb(i,e,t){let n=!1,r=kn(i.selection,s=>{let o=Wi(i,s.head,-1)||Wi(i,s.head,1)||s.head>0&&Wi(i,s.head-1,1)||s.headMb(i,e,!1);function ht(i,e,t){let n=kn(i.state.selection,r=>{r.undirectional&&r.head>=r.anchor!=e&&(r=v.range(r.head,r.anchor));let s=t(r);return v.range(r.anchor,s.head,s.goalColumn,s.bidiLevel||void 0,s.assoc)});return n.eq(i.state.selection)?!1:(i.dispatch(yt(i.state,n)),!0)}function CO(i,e){return ht(i,e,t=>i.moveByChar(t,e))}var XO=i=>CO(i,!Ae(i)),_O=i=>CO(i,Ae(i));function RO(i,e){return ht(i,e,t=>i.moveByGroup(t,e))}var jb=i=>RO(i,!Ae(i)),Vb=i=>RO(i,Ae(i));var Db=i=>{let e=!Ae(i);return ht(i,e,t=>Ws(i.state,t,e))},Yb=i=>{let e=Ae(i);return ht(i,e,t=>Ws(i.state,t,e))};function AO(i,e){return ht(i,e,t=>i.moveVertically(t,e))}var ZO=i=>AO(i,!1),qO=i=>AO(i,!0);function EO(i,e){return ht(i,e,t=>i.moveVertically(t,e,$O(i).height))}var sO=i=>EO(i,!1),oO=i=>EO(i,!0),Ib=i=>ht(i,!0,e=>Oi(i,e,!0)),Bb=i=>ht(i,!1,e=>Oi(i,e,!1)),Ub=i=>{let e=!Ae(i);return ht(i,e,t=>Oi(i,t,e))},Gb=i=>{let e=Ae(i);return ht(i,e,t=>Oi(i,t,e))},Nb=i=>ht(i,!1,e=>v.cursor(i.lineBlockAt(e.head).from)),Fb=i=>ht(i,!0,e=>v.cursor(i.lineBlockAt(e.head).to)),aO=({state:i,dispatch:e})=>(e(yt(i,{anchor:0})),!0),lO=({state:i,dispatch:e})=>(e(yt(i,{anchor:i.doc.length})),!0),cO=({state:i,dispatch:e})=>(e(yt(i,{anchor:i.selection.main.anchor,head:0})),!0),hO=({state:i,dispatch:e})=>(e(yt(i,{anchor:i.selection.main.anchor,head:i.doc.length})),!0),Hb=({state:i,dispatch:e})=>(e(i.update({selection:{anchor:0,head:i.doc.length},userEvent:"select"})),!0),Kb=({state:i,dispatch:e})=>{let t=js(i).map(({from:n,to:r})=>v.range(n,Math.min(r+1,i.doc.length)));return e(i.update({selection:v.create(t),userEvent:"select"})),!0},Jb=({state:i,dispatch:e})=>{let t=kn(i.selection,n=>{let r=B(i),s=r.resolveStack(n.from,1);if(n.empty){let o=r.resolveStack(n.from,-1);o.node.from>=s.node.from&&o.node.to<=s.node.to&&(s=o)}for(let o=s;o;o=o.next){let{node:a}=o;if((a.from=n.to||a.to>n.to&&a.from<=n.from)&&o.next)return v.range(a.to,a.from)}return n});return t.eq(i.selection)?!1:(e(yt(i,t)),!0)};function zO(i,e){let{state:t}=i,n=t.selection,r=t.selection.ranges.slice();for(let s of t.selection.ranges){let o=t.doc.lineAt(s.head);if(e?o.to0)for(let a=s;;){let l=i.moveVertically(a,e);if(l.heado.to){r.some(c=>c.head==l.head)||r.push(l);break}else{if(l.head==a.head)break;a=l}}}return r.length==n.ranges.length?!1:(i.dispatch(yt(t,v.create(r,r.length-1))),!0)}var eS=i=>zO(i,!1),tS=i=>zO(i,!0),iS=({state:i,dispatch:e})=>{let t=i.selection,n=null;return t.ranges.length>1?n=v.create([t.main]):t.main.empty||(n=v.create([v.cursor(t.main.head)])),n?(e(yt(i,n)),!0):!1};function fr(i,e){if(i.state.readOnly)return!1;let t="delete.selection",{state:n}=i,r=n.changeByRange(s=>{let{from:o,to:a}=s;if(o==a){let l=e(s);lo&&(t="delete.forward",l=Es(i,l,!0)),o=Math.min(o,l),a=Math.max(a,l)}else o=Es(i,o,!1),a=Es(i,a,!0);return o==a?{range:s}:{changes:{from:o,to:a},range:v.cursor(o,or(i)))n.between(e,e,(r,s)=>{re&&(e=t?s:r)});return e}var LO=(i,e,t)=>fr(i,n=>{let r=n.from,{state:s}=i,o=s.doc.lineAt(r),a,l;if(t&&!e&&r>o.from&&rLO(i,!1,!0);var MO=i=>LO(i,!0,!1),WO=(i,e)=>fr(i,t=>{let n=t.head,{state:r}=i,s=r.doc.lineAt(n),o=r.charCategorizer(n);for(let a=null;;){if(n==(e?s.to:s.from)){n==t.head&&s.number!=(e?r.doc.lines:1)&&(n+=e?1:-1);break}let l=ke(s.text,n-s.from,e)+s.from,c=s.text.slice(Math.min(n,l)-s.from,Math.max(n,l)-s.from),h=o(c);if(a!=null&&h!=a)break;(c!=" "||n!=t.head)&&(a=h),n=l}return n}),jO=i=>WO(i,!1),nS=i=>WO(i,!0);var rS=i=>fr(i,e=>{let t=i.lineBlockAt(e.head).to;return e.headfr(i,e=>{let t=i.moveToLineBoundary(e,!1).head;return e.head>t?t:Math.max(0,e.head-1)}),oS=i=>fr(i,e=>{let t=i.moveToLineBoundary(e,!0).head;return e.head{if(i.readOnly)return!1;let t=i.changeByRange(n=>({changes:{from:n.from,to:n.to,insert:H.of(["",""])},range:v.cursor(n.from)}));return e(i.update(t,{scrollIntoView:!0,userEvent:"input"})),!0},lS=({state:i,dispatch:e})=>{if(i.readOnly)return!1;let t=i.changeByRange(n=>{if(!n.empty||n.from==0||n.from==i.doc.length)return{range:n};let r=n.from,s=i.doc.lineAt(r),o=r==s.from?r-1:ke(s.text,r-s.from,!1)+s.from,a=r==s.to?r+1:ke(s.text,r-s.from,!0)+s.from;return{changes:{from:o,to:a,insert:i.doc.slice(r,a).append(i.doc.slice(o,r))},range:v.cursor(a)}});return t.changes.empty?!1:(e(i.update(t,{scrollIntoView:!0,userEvent:"move.character"})),!0)};function js(i){let e=[],t=-1;for(let n of i.selection.ranges){let r=i.doc.lineAt(n.from),s=i.doc.lineAt(n.to);if(!n.empty&&n.to==s.from&&(s=i.doc.lineAt(n.to-1)),t>=r.number){let o=e[e.length-1];o.to=s.to,o.ranges.push(n)}else e.push({from:r.from,to:s.to,ranges:[n]});t=s.number+1}return e}function VO(i,e,t){if(i.readOnly)return!1;let n=[],r=[];for(let s of js(i)){if(t?s.to==i.doc.length:s.from==0)continue;let o=i.doc.lineAt(t?s.to+1:s.from-1),a=o.length+1;if(t){n.push({from:s.to,to:o.to},{from:s.from,insert:o.text+i.lineBreak});for(let l of s.ranges)r.push(v.range(Math.min(i.doc.length,l.anchor+a),Math.min(i.doc.length,l.head+a)))}else{n.push({from:o.from,to:s.from},{from:s.to,insert:i.lineBreak+o.text});for(let l of s.ranges)r.push(v.range(l.anchor-a,l.head-a))}}return n.length?(e(i.update({changes:n,scrollIntoView:!0,selection:v.create(r,i.selection.mainIndex),userEvent:"move.line"})),!0):!1}var cS=({state:i,dispatch:e})=>VO(i,e,!1),hS=({state:i,dispatch:e})=>VO(i,e,!0);function DO(i,e,t){if(i.readOnly)return!1;let n=[];for(let s of js(i))t?n.push({from:s.from,insert:i.doc.slice(s.from,s.to)+i.lineBreak}):n.push({from:s.to,insert:i.lineBreak+i.doc.slice(s.from,s.to)});let r=i.changes(n);return e(i.update({changes:r,selection:i.selection.map(r,t?1:-1),scrollIntoView:!0,userEvent:"input.copyline"})),!0}var fS=({state:i,dispatch:e})=>DO(i,e,!1),uS=({state:i,dispatch:e})=>DO(i,e,!0),OS=i=>{if(i.state.readOnly)return!1;let{state:e}=i,t=e.changes(js(e).map(({from:r,to:s})=>(r>0?r--:s{let s;if(i.lineWrapping){let o=i.lineBlockAt(r.head),a=i.coordsAtPos(r.head,r.assoc||1);a&&(s=o.bottom+i.documentTop-a.bottom+i.defaultLineHeight/2)}return i.moveVertically(r,!0,s)}).map(t);return i.dispatch({changes:t,selection:n,scrollIntoView:!0,userEvent:"delete.line"}),!0};function dS(i,e){if(/\(\)|\[\]|\{\}/.test(i.sliceDoc(e-1,e+1)))return{from:e,to:e};let t=B(i).resolveInner(e),n=t.childBefore(e),r=t.childAfter(e),s;return n&&r&&n.to<=e&&r.from>=e&&(s=n.type.prop(I.closedBy))&&s.indexOf(r.name)>-1&&i.doc.lineAt(n.to).from==i.doc.lineAt(r.from).from&&!/\S/.test(i.sliceDoc(n.to,r.from))?{from:n.to,to:r.from}:null}var fO=YO(!1),pS=YO(!0);function YO(i){return({state:e,dispatch:t})=>{if(e.readOnly)return!1;let n=e.changeByRange(r=>{let{from:s,to:o}=r,a=e.doc.lineAt(s),l=!i&&s==o&&dS(e,s);i&&(s=o=(o<=a.to?a:e.doc.lineAt(o)).to);let c=new Mi(e,{simulateBreak:s,simulateDoubleBreak:!!l}),h=bl(c,s);for(h==null&&(h=Ge(/^\s*/.exec(e.doc.lineAt(s).text)[0],e.tabSize));oa.from&&s{let r=[];for(let o=n.from;o<=n.to;){let a=i.doc.lineAt(o);a.number>t&&(n.empty||n.to>a.from)&&(e(a,r,n),t=a.number),o=a.to+1}let s=i.changes(r);return{changes:r,range:v.range(s.mapPos(n.anchor,1),s.mapPos(n.head,1))}})}var mS=({state:i,dispatch:e})=>{if(i.readOnly)return!1;let t=Object.create(null),n=new Mi(i,{overrideIndentation:s=>{let o=t[s];return o??-1}}),r=Xl(i,(s,o,a)=>{let l=bl(n,s.from);if(l==null)return;/\S/.test(s.text)||(l=0);let c=/^\s*/.exec(s.text)[0],h=cr(i,l);(c!=h||a.fromi.readOnly?!1:(e(i.update(Xl(i,(t,n)=>{n.push({from:t.from,insert:i.facet(_t)})}),{userEvent:"input.indent"})),!0),_l=({state:i,dispatch:e})=>i.readOnly?!1:(e(i.update(Xl(i,(t,n)=>{let r=/^\s*/.exec(t.text)[0];if(!r)return;let s=Ge(r,i.tabSize),o=0,a=cr(i,Math.max(0,s-ui(i)));for(;o(i.setTabFocusMode(),!0);var Rl=({state:i,dispatch:e})=>i.selection.ranges.some(t=>!t.empty)?IO({state:i,dispatch:e}):(e(i.update(i.replaceSelection(" "),{scrollIntoView:!0,userEvent:"input"})),!0),QS=[{key:"Ctrl-b",run:yO,shift:XO,preventDefault:!0},{key:"Ctrl-f",run:kO,shift:_O},{key:"Ctrl-p",run:PO,shift:ZO},{key:"Ctrl-n",run:vO,shift:qO},{key:"Ctrl-a",run:zb,shift:Nb},{key:"Ctrl-e",run:Lb,shift:Fb},{key:"Ctrl-d",run:MO},{key:"Ctrl-h",run:$l},{key:"Ctrl-k",run:rS},{key:"Ctrl-Alt-h",run:jO},{key:"Ctrl-o",run:aS},{key:"Ctrl-t",run:lS},{key:"Ctrl-v",run:vl}],bS=[{key:"ArrowLeft",run:yO,shift:XO,preventDefault:!0},{key:"Mod-ArrowLeft",mac:"Alt-ArrowLeft",run:Tb,shift:jb,preventDefault:!0},{mac:"Cmd-ArrowLeft",run:qb,shift:Ub,preventDefault:!0},{key:"ArrowRight",run:kO,shift:_O,preventDefault:!0},{key:"Mod-ArrowRight",mac:"Alt-ArrowRight",run:Cb,shift:Vb,preventDefault:!0},{mac:"Cmd-ArrowRight",run:Eb,shift:Gb,preventDefault:!0},{key:"ArrowUp",run:PO,shift:ZO,preventDefault:!0},{mac:"Cmd-ArrowUp",run:aO,shift:cO},{mac:"Ctrl-ArrowUp",run:rO,shift:sO},{key:"ArrowDown",run:vO,shift:qO,preventDefault:!0},{mac:"Cmd-ArrowDown",run:lO,shift:hO},{mac:"Ctrl-ArrowDown",run:vl,shift:oO},{key:"PageUp",run:rO,shift:sO},{key:"PageDown",run:vl,shift:oO},{key:"Home",run:Zb,shift:Bb,preventDefault:!0},{key:"Mod-Home",run:aO,shift:cO},{key:"End",run:Ab,shift:Ib,preventDefault:!0},{key:"Mod-End",run:lO,shift:hO},{key:"Enter",run:fO,shift:fO},{key:"Mod-a",run:Hb},{key:"Backspace",run:$l,shift:$l,preventDefault:!0},{key:"Delete",run:MO,preventDefault:!0},{key:"Mod-Backspace",mac:"Alt-Backspace",run:jO,preventDefault:!0},{key:"Mod-Delete",mac:"Alt-Delete",run:nS,preventDefault:!0},{mac:"Mod-Backspace",run:sS,preventDefault:!0},{mac:"Mod-Delete",run:oS,preventDefault:!0}].concat(QS.map(i=>({mac:i.key,run:i.run,shift:i.shift}))),BO=[{key:"Alt-ArrowLeft",mac:"Ctrl-ArrowLeft",run:_b,shift:Db},{key:"Alt-ArrowRight",mac:"Ctrl-ArrowRight",run:Rb,shift:Yb},{key:"Alt-ArrowUp",run:cS},{key:"Shift-Alt-ArrowUp",run:fS},{key:"Alt-ArrowDown",run:hS},{key:"Shift-Alt-ArrowDown",run:uS},{key:"Mod-Alt-ArrowUp",run:eS},{key:"Mod-Alt-ArrowDown",run:tS},{key:"Escape",run:iS},{key:"Mod-Enter",run:pS},{key:"Alt-l",mac:"Ctrl-l",run:Kb},{key:"Mod-i",run:Jb,preventDefault:!0},{key:"Mod-[",run:_l},{key:"Mod-]",run:IO},{key:"Mod-Alt-\\",run:mS},{key:"Shift-Mod-k",run:OS},{key:"Shift-Mod-\\",run:Wb},{key:"Mod-/",run:fb},{key:"Alt-A",run:Ob},{key:"Ctrl-m",mac:"Shift-Alt-m",run:gS}].concat(bS);var Vs=class{constructor(e,t,n,r){this.state=e,this.pos=t,this.explicit=n,this.view=r,this.abortListeners=[],this.abortOnDocChange=!1}tokenBefore(e){let t=B(this.state).resolveInner(this.pos,-1);for(;t&&e.indexOf(t.name)<0;)t=t.parent;return t?{from:t.from,to:this.pos,text:this.state.sliceDoc(t.from,this.pos),type:t.type}:null}matchBefore(e){let t=this.state.doc.lineAt(this.pos),n=Math.max(t.from,this.pos-250),r=t.text.slice(n-t.from,this.pos-t.from),s=r.search(yS(e,!1));return s<0?null:{from:n+s,to:this.pos,text:r.slice(s)}}get aborted(){return this.abortListeners==null}addEventListener(e,t,n){e=="abort"&&this.abortListeners&&(this.abortListeners.push(t),n&&n.onDocChange&&(this.abortOnDocChange=!0))}};function UO(i){let e=Object.keys(i).join(""),t=/\w/.test(e);return t&&(e=e.replace(/\w/g,"")),`[${t?"\\w":""}${e.replace(/[^\w\s]/g,"\\$&")}]`}function SS(i){let e=Object.create(null),t=Object.create(null);for(let{label:r}of i){e[r[0]]=!0;for(let s=1;stypeof r=="string"?{label:r}:r),[t,n]=e.every(r=>/^\w+$/.test(r.label))?[/\w*$/,/\w+$/]:SS(e);return r=>{let s=r.matchBefore(n);return s||r.explicit?{from:s?s.from:r.pos,options:e,validFor:t}:null}}function Ys(i,e){return t=>{for(let n=B(t.state).resolveInner(t.pos,-1);n;n=n.parent){if(i.indexOf(n.name)>-1)return null;if(n.type.isTop)break}return e(t)}}function yS(i,e){var t;let{source:n}=i,r=e&&n[0]!="^",s=n[n.length-1]!="$";return!r&&!s?i:new RegExp(`${r?"^":""}(?:${n})${s?"$":""}`,(t=i.flags)!==null&&t!==void 0?t:i.ignoreCase?"i":"")}var kS=_e.define();var w$=typeof navigator=="object"&&/Win/.test(navigator.platform);var xS=E.baseTheme({".cm-tooltip.cm-tooltip-autocomplete":{"& > ul":{fontFamily:"monospace",whiteSpace:"nowrap",overflow:"hidden auto",maxWidth_fallback:"700px",maxWidth:"min(700px, 95vw)",minWidth:"250px",maxHeight:"10em",height:"100%",listStyle:"none",margin:0,padding:0,"& > li, & > completion-section":{padding:"1px 3px",lineHeight:1.2},"& > li":{overflowX:"hidden",textOverflow:"ellipsis",cursor:"pointer"},"& > completion-section":{display:"list-item",borderBottom:"1px solid silver",paddingLeft:"0.5em",opacity:.7}}},"&light .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#17c",color:"white"},"&light .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#777"},"&dark .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#347",color:"white"},"&dark .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#444"},".cm-completionListIncompleteTop:before, .cm-completionListIncompleteBottom:after":{content:'"\xB7\xB7\xB7"',opacity:.5,display:"block",textAlign:"center",cursor:"pointer"},".cm-tooltip.cm-completionInfo":{position:"absolute",padding:"3px 9px",width:"max-content",maxWidth:"400px",boxSizing:"border-box",whiteSpace:"pre-line"},".cm-completionInfo.cm-completionInfo-left":{right:"100%"},".cm-completionInfo.cm-completionInfo-right":{left:"100%"},".cm-completionInfo.cm-completionInfo-left-narrow":{right:"30px"},".cm-completionInfo.cm-completionInfo-right-narrow":{left:"30px"},"&light .cm-snippetField":{backgroundColor:"#00000022"},"&dark .cm-snippetField":{backgroundColor:"#ffffff22"},".cm-snippetFieldPosition":{verticalAlign:"text-top",width:0,height:"1.15em",display:"inline-block",margin:"0 -0.7px -.7em",borderLeft:"1.4px dotted #888"},".cm-completionMatchedText":{textDecoration:"underline"},".cm-completionDetail":{marginLeft:"0.5em",fontStyle:"italic"},".cm-completionIcon":{fontSize:"90%",width:".8em",display:"inline-block",textAlign:"center",paddingRight:".6em",opacity:"0.6",boxSizing:"content-box"},".cm-completionIcon-function, .cm-completionIcon-method":{"&:after":{content:"'\u0192'"}},".cm-completionIcon-class":{"&:after":{content:"'\u25CB'"}},".cm-completionIcon-interface":{"&:after":{content:"'\u25CC'"}},".cm-completionIcon-variable":{"&:after":{content:"'\u{1D465}'"}},".cm-completionIcon-constant":{"&:after":{content:"'\u{1D436}'"}},".cm-completionIcon-type":{"&:after":{content:"'\u{1D461}'"}},".cm-completionIcon-enum":{"&:after":{content:"'\u222A'"}},".cm-completionIcon-property":{"&:after":{content:"'\u25A1'"}},".cm-completionIcon-keyword":{"&:after":{content:"'\u{1F511}\uFE0E'"}},".cm-completionIcon-namespace":{"&:after":{content:"'\u25A2'"}},".cm-completionIcon-text":{"&:after":{content:"'abc'",fontSize:"50%",verticalAlign:"middle"}}}),Zl=class{constructor(e,t,n,r){this.field=e,this.line=t,this.from=n,this.to=r}},ql=class i{constructor(e,t,n){this.field=e,this.from=t,this.to=n}map(e){let t=e.mapPos(this.from,-1,me.TrackDel),n=e.mapPos(this.to,1,me.TrackDel);return t==null||n==null?null:new i(this.field,t,n)}},El=class i{constructor(e,t){this.lines=e,this.fieldPositions=t}instantiate(e,t){let n=[],r=[t],s=e.doc.lineAt(t),o=/^\s*/.exec(s.text)[0];for(let l of this.lines){if(n.length){let c=o,h=/^\t*/.exec(l)[0].length;for(let f=0;fnew ql(l.field,r[l.line]+l.from,r[l.line]+l.to));return{text:n,ranges:a}}static parse(e){let t=[],n=[],r=[],s;for(let o of e.split(/\r\n?|\n/)){for(;s=/[#$]\{(?:(\d+)(?::([^{}]*))?|((?:\\[{}]|[^{}])*))\}/.exec(o);){let a=s[1]?+s[1]:null,l=s[2]||s[3]||"",c=-1;a===0&&(a=1e9);let h=l.replace(/\\[{}]/g,f=>f[1]);for(let f=0;f=c&&u.field++}for(let f of r)if(f.line==n.length&&f.from>s.index){let u=s[2]?3+(s[1]||"").length:2;f.from-=u,f.to-=u}r.push(new Zl(c,n.length,s.index,s.index+h.length)),o=o.slice(0,s.index)+l+o.slice(s.index+s[0].length)}o=o.replace(/\\([{}])/g,(a,l,c)=>{for(let h of r)h.line==n.length&&h.from>c&&(h.from--,h.to--);return l}),n.push(o)}return new i(n,r)}},wS=Z.widget({widget:new class extends Re{toDOM(){let i=document.createElement("span");return i.className="cm-snippetFieldPosition",i}ignoreEvent(){return!1}}}),PS=Z.mark({class:"cm-snippetField"}),xn=class i{constructor(e,t){this.ranges=e,this.active=t,this.deco=Z.set(e.map(n=>(n.from==n.to?wS:PS).range(n.from,n.to)),!0)}map(e){let t=[];for(let n of this.ranges){let r=n.map(e);if(!r)return null;t.push(r)}return new i(t,this.active)}selectionInsideField(e){return e.ranges.every(t=>this.ranges.some(n=>n.field==this.active&&n.from<=t.from&&n.to>=t.to))}},dr=ie.define({map(i,e){return i&&i.map(e)}}),vS=ie.define(),ur=he.define({create(){return null},update(i,e){for(let t of e.effects){if(t.is(dr))return t.value;if(t.is(vS)&&i)return new xn(i.ranges,t.value)}return i&&e.docChanged&&(i=i.map(e.changes)),i&&e.selection&&!i.selectionInsideField(e.selection)&&(i=null),i},provide:i=>E.decorations.from(i,e=>e?e.deco:Z.none)});function zl(i,e){return v.create(i.filter(t=>t.field==e).map(t=>v.range(t.from,t.to)))}function $S(i){let e=El.parse(i);return(t,n,r,s)=>{let{text:o,ranges:a}=e.instantiate(t.state,r),{main:l}=t.state.selection,c={changes:{from:r,to:s==l.from?l.to:s,insert:H.of(o)},scrollIntoView:!0,annotations:n?[kS.of(n),de.userEvent.of("input.complete")]:void 0};if(a.length&&(c.selection=zl(a,0)),a.some(h=>h.field>0)){let h=new xn(a,0),f=c.effects=[dr.of(h)];t.state.field(ur,!1)===void 0&&f.push(ie.appendConfig.of([ur,RS,AS,xS]))}t.dispatch(t.state.update(c))}}function HO(i){return({state:e,dispatch:t})=>{let n=e.field(ur,!1);if(!n||i<0&&n.active==0)return!1;let r=n.active+i,s=i>0&&!n.ranges.some(o=>o.field==r+i);return t(e.update({selection:zl(n.ranges,r),effects:dr.of(s?null:new xn(n.ranges,r)),scrollIntoView:!0})),!0}}var TS=({state:i,dispatch:e})=>i.field(ur,!1)?(e(i.update({effects:dr.of(null)})),!0):!1,CS=HO(1),XS=HO(-1);var _S=[{key:"Tab",run:CS,shift:XS},{key:"Escape",run:TS}],GO=Y.define({combine(i){return i.length?i[0]:_S}}),RS=dt.highest(Zi.compute([GO],i=>i.facet(GO)));function ce(i,e){return{...e,apply:$S(i)}}var AS=E.domEventHandlers({mousedown(i,e){let t=e.state.field(ur,!1),n;if(!t||(n=e.posAtCoords({x:i.clientX,y:i.clientY}))==null)return!1;let r=t.ranges.find(s=>s.from<=n&&s.to>=n);return!r||r.field==t.active?!1:(e.dispatch({selection:zl(t.ranges,r.field),effects:dr.of(t.ranges.some(s=>s.field>r.field)?new xn(t.ranges,r.field):null),scrollIntoView:!0}),!0)}});var Or={brackets:["(","[","{","'",'"'],before:")]}:;>",stringPrefixes:[]},Vi=ie.define({map(i,e){let t=e.mapPos(i,-1,me.TrackAfter);return t??void 0}}),Ll=new class extends tt{};Ll.startSide=1;Ll.endSide=-1;var KO=he.define({create(){return oe.empty},update(i,e){if(i=i.map(e.changes),e.selection){let t=e.state.doc.lineAt(e.selection.main.head);i=i.update({filter:n=>n>=t.from&&n<=t.to})}for(let t of e.effects)t.is(Vi)&&(i=i.update({add:[Ll.range(t.value,t.value+1)]}));return i}});function JO(){return[qS,KO]}var Al="()[]{}<>\xAB\xBB\xBB\xAB\uFF3B\uFF3D\uFF5B\uFF5D";function ed(i){for(let e=0;e{if((ZS?i.composing:i.compositionStarted)||i.state.readOnly)return!1;let r=i.state.selection.main;if(n.length>2||n.length==2&&sn(ti(n,0))==1||e!=r.from||t!=r.to)return!1;let s=zS(i.state,n);return s?(i.dispatch(s),!0):!1}),ES=({state:i,dispatch:e})=>{if(i.readOnly)return!1;let n=td(i,i.selection.main.head).brackets||Or.brackets,r=null,s=i.changeByRange(o=>{if(o.empty){let a=LS(i.doc,o.head);for(let l of n)if(l==a&&Is(i.doc,o.head)==ed(ti(l,0)))return{changes:{from:o.head-l.length,to:o.head+l.length},range:v.cursor(o.head-l.length)}}return{range:r=o}});return r||e(i.update(s,{scrollIntoView:!0,userEvent:"delete.backward"})),!r},id=[{key:"Backspace",run:ES}];function zS(i,e){let t=td(i,i.selection.main.head),n=t.brackets||Or.brackets;for(let r of n){let s=ed(ti(r,0));if(e==r)return s==r?jS(i,r,n.indexOf(r+r+r)>-1,t):MS(i,r,s,t.before||Or.before);if(e==s&&nd(i,i.selection.main.from))return WS(i,r,s)}return null}function nd(i,e){let t=!1;return i.field(KO).between(0,i.doc.length,n=>{n==e&&(t=!0)}),t}function Is(i,e){let t=i.sliceString(e,e+2);return t.slice(0,sn(ti(t,0)))}function LS(i,e){let t=i.sliceString(e-2,e);return sn(ti(t,0))==t.length?t:t.slice(1)}function MS(i,e,t,n){let r=null,s=i.changeByRange(o=>{if(!o.empty)return{changes:[{insert:e,from:o.from},{insert:t,from:o.to}],effects:Vi.of(o.to+e.length),range:v.range(o.anchor+e.length,o.head+e.length)};let a=Is(i.doc,o.head);return!a||/\s/.test(a)||n.indexOf(a)>-1?{changes:{insert:e+t,from:o.head},effects:Vi.of(o.head+e.length),range:v.cursor(o.head+e.length)}:{range:r=o}});return r?null:i.update(s,{scrollIntoView:!0,userEvent:"input.type"})}function WS(i,e,t){let n=null,r=i.changeByRange(s=>s.empty&&Is(i.doc,s.head)==t?{changes:{from:s.head,to:s.head+t.length,insert:t},range:v.cursor(s.head+t.length)}:n={range:s});return n?null:i.update(r,{scrollIntoView:!0,userEvent:"input.type"})}function jS(i,e,t,n){let r=n.stringPrefixes||Or.stringPrefixes,s=null,o=i.changeByRange(a=>{if(!a.empty)return{changes:[{insert:e,from:a.from},{insert:e,from:a.to}],effects:Vi.of(a.to+e.length),range:v.range(a.anchor+e.length,a.head+e.length)};let l=a.head,c=Is(i.doc,l),h;if(c==e){if(NO(i,l))return{changes:{insert:e+e,from:l},effects:Vi.of(l+e.length),range:v.cursor(l+e.length)};if(nd(i,l)){let u=t&&i.sliceDoc(l,l+e.length*3)==e+e+e?e+e+e:e;return{changes:{from:l,to:l+u.length,insert:u},range:v.cursor(l+u.length)}}}else{if(t&&i.sliceDoc(l-2*e.length,l)==e+e&&(h=FO(i,l-2*e.length,r))>-1&&NO(i,h))return{changes:{insert:e+e+e+e,from:l},effects:Vi.of(l+e.length),range:v.cursor(l+e.length)};if(i.charCategorizer(l)(c)!=qe.Word&&FO(i,l,r)>-1&&!VS(i,l,e,r))return{changes:{insert:e+e,from:l},effects:Vi.of(l+e.length),range:v.cursor(l+e.length)}}return{range:s=a}});return s?null:i.update(o,{scrollIntoView:!0,userEvent:"input.type"})}function NO(i,e){let t=B(i).resolveInner(e+1);return t.parent&&t.from==e}function VS(i,e,t,n){let r=B(i).resolveInner(e,-1),s=n.reduce((o,a)=>Math.max(o,a.length),0);for(let o=0;o<5;o++){let a=i.sliceDoc(r.from,Math.min(r.to,r.from+t.length+s)),l=a.indexOf(t);if(!l||l>-1&&n.indexOf(a.slice(0,l))>-1){let h=r.firstChild;for(;h&&h.from==r.from&&h.to-h.from>t.length+l;){if(i.sliceDoc(h.to-t.length,h.to)==t)return!1;h=h.firstChild}return!0}let c=r.to==e&&r.parent;if(!c)break;r=c}return!1}function FO(i,e,t){let n=i.charCategorizer(e);if(n(i.sliceDoc(e-1,e))!=qe.Word)return e;for(let r of t){let s=e-r.length;if(i.sliceDoc(s,e)==r&&n(i.sliceDoc(s-1,s))!=qe.Word)return s}return-1}var Gs=class i{static create(e,t,n,r,s){let o=r+(r<<8)+e+(t<<4)|0;return new i(e,t,n,o,s,[],[])}constructor(e,t,n,r,s,o,a){this.type=e,this.value=t,this.from=n,this.hash=r,this.end=s,this.children=o,this.positions=a,this.hashProp=[[I.contextHash,r]]}addChild(e,t){e.prop(I.contextHash)!=this.hash&&(e=new G(e.type,e.children,e.positions,e.length,this.hashProp)),this.children.push(e),this.positions.push(t)}toTree(e,t=this.end){let n=this.children.length-1;return n>=0&&(t=Math.max(t,this.positions[n]+this.children[n].length+this.from)),new G(e.types[this.type],this.children,this.positions,t-this.from).balance({makeTree:(r,s,o)=>new G(Oe.none,r,s,o,this.hashProp)})}},A;(function(i){i[i.Document=1]="Document",i[i.CodeBlock=2]="CodeBlock",i[i.FencedCode=3]="FencedCode",i[i.Blockquote=4]="Blockquote",i[i.HorizontalRule=5]="HorizontalRule",i[i.BulletList=6]="BulletList",i[i.OrderedList=7]="OrderedList",i[i.ListItem=8]="ListItem",i[i.ATXHeading1=9]="ATXHeading1",i[i.ATXHeading2=10]="ATXHeading2",i[i.ATXHeading3=11]="ATXHeading3",i[i.ATXHeading4=12]="ATXHeading4",i[i.ATXHeading5=13]="ATXHeading5",i[i.ATXHeading6=14]="ATXHeading6",i[i.SetextHeading1=15]="SetextHeading1",i[i.SetextHeading2=16]="SetextHeading2",i[i.HTMLBlock=17]="HTMLBlock",i[i.LinkReference=18]="LinkReference",i[i.Paragraph=19]="Paragraph",i[i.CommentBlock=20]="CommentBlock",i[i.ProcessingInstructionBlock=21]="ProcessingInstructionBlock",i[i.Escape=22]="Escape",i[i.Entity=23]="Entity",i[i.HardBreak=24]="HardBreak",i[i.Emphasis=25]="Emphasis",i[i.StrongEmphasis=26]="StrongEmphasis",i[i.Link=27]="Link",i[i.Image=28]="Image",i[i.InlineCode=29]="InlineCode",i[i.HTMLTag=30]="HTMLTag",i[i.Comment=31]="Comment",i[i.ProcessingInstruction=32]="ProcessingInstruction",i[i.Autolink=33]="Autolink",i[i.HeaderMark=34]="HeaderMark",i[i.QuoteMark=35]="QuoteMark",i[i.ListMark=36]="ListMark",i[i.LinkMark=37]="LinkMark",i[i.EmphasisMark=38]="EmphasisMark",i[i.CodeMark=39]="CodeMark",i[i.CodeText=40]="CodeText",i[i.CodeInfo=41]="CodeInfo",i[i.LinkTitle=42]="LinkTitle",i[i.LinkLabel=43]="LinkLabel",i[i.URL=44]="URL"})(A||(A={}));var jl=class{constructor(e,t){this.start=e,this.content=t,this.marks=[],this.parsers=[]}},Vl=class{constructor(){this.text="",this.baseIndent=0,this.basePos=0,this.depth=0,this.markers=[],this.pos=0,this.indent=0,this.next=-1}forward(){this.basePos>this.pos&&this.forwardInner()}forwardInner(){let e=this.skipSpace(this.basePos);this.indent=this.countIndent(e,this.pos,this.indent),this.pos=e,this.next=e==this.text.length?-1:this.text.charCodeAt(e)}skipSpace(e){return mr(this.text,e)}reset(e){for(this.text=e,this.baseIndent=this.basePos=this.pos=this.indent=0,this.forwardInner(),this.depth=1;this.markers.length;)this.markers.pop()}moveBase(e){this.basePos=e,this.baseIndent=this.countIndent(e,this.pos,this.indent)}moveBaseColumn(e){this.baseIndent=e,this.basePos=this.findColumn(e)}addMarker(e){this.markers.push(e)}countIndent(e,t=0,n=0){for(let r=t;r=e.stack[t.depth+1].value+t.baseIndent)return!0;if(t.indent>=t.baseIndent+4)return!1;let n=(i.type==A.OrderedList?ec:Jl)(t,e,!1);return n>0&&(i.type!=A.BulletList||Kl(t,e,!1)<0)&&t.text.charCodeAt(t.pos+n-1)==i.value}var pd={[A.Blockquote](i,e,t){return t.next!=62?!1:(t.markers.push(ne(A.QuoteMark,e.lineStart+t.pos,e.lineStart+t.pos+1)),t.moveBase(t.pos+(ft(t.text.charCodeAt(t.pos+1))?2:1)),i.end=e.lineStart+t.text.length,!0)},[A.ListItem](i,e,t){return t.indent-1?!1:(t.moveBaseColumn(t.baseIndent+i.value),!0)},[A.OrderedList]:rd,[A.BulletList]:rd,[A.Document](){return!0}};function ft(i){return i==32||i==9||i==10||i==13}function mr(i,e=0){for(;et&&ft(i.charCodeAt(e-1));)e--;return e}function md(i){if(i.next!=96&&i.next!=126)return-1;let e=i.pos+1;for(;e-1&&i.depth==e.stack.length&&e.parser.leafBlockParsers.indexOf(wd.SetextHeading)>-1||n<3?-1:1}function Qd(i,e){for(let t=i.stack.length-1;t>=0;t--)if(i.stack[t].type==e)return!0;return!1}function Jl(i,e,t){return(i.next==45||i.next==43||i.next==42)&&(i.pos==i.text.length-1||ft(i.text.charCodeAt(i.pos+1)))&&(!t||Qd(e,A.BulletList)||i.skipSpace(i.pos+2)=48&&r<=57;){n++;if(n==i.text.length)return-1;r=i.text.charCodeAt(n)}return n==i.pos||n>i.pos+9||r!=46&&r!=41||ni.pos+1||i.next!=49)?-1:n+1-i.pos}function bd(i){if(i.next!=35)return-1;let e=i.pos+1;for(;e6?-1:t}function Sd(i){if(i.next!=45&&i.next!=61||i.indent>=i.baseIndent+4)return-1;let e=i.pos+1;for(;e/,kd=/\?>/,Yl=[[/^<(?:script|pre|style)(?:\s|>|$)/i,/<\/(?:script|pre|style)>/i],[/^\s*/,_d=/\?>/,Nl=[[/^<(?:script|pre|style)(?:\s|>|$)/i,/<\/(?:script|pre|style)>/i],[/^\s*/i.exec(n);if(s)return i.append(ne(A.Comment,t,t+1+s[0].length));let o=/^\?[^]*?\?>/.exec(n);if(o)return i.append(ne(A.ProcessingInstruction,t,t+1+o[0].length));let a=/^(?:![A-Z][^]*?>|!\[CDATA\[[^]*?\]\]>|\/\s*[a-zA-Z][\w-]*\s*>|\s*[a-zA-Z][\w-]*(\s+[a-zA-Z:_][\w-.:]*(?:\s*=\s*(?:[^\s"'=<>`]+|'[^']*'|"[^"]*"))?)*\s*(\/\s*)?>)/.exec(n);return a?i.append(ne(A.HTMLTag,t,t+1+a[0].length)):-1},Emphasis(i,e,t){if(e!=95&&e!=42)return-1;let n=t+1;for(;i.char(n)==e;)n++;let r=i.slice(t-1,t),s=i.slice(n,n+1),o=br.test(r),a=br.test(s),l=/\s|^$/.test(r),c=/\s|^$/.test(s),h=!c&&(!a||l||o),f=!l&&(!o||c||a),u=h&&(e==42||!f||o),O=f&&(e==42||!h||a);return i.append(new Me(e==95?$d:Td,t,n,(u?1:0)|(O?2:0)))},HardBreak(i,e,t){if(e==92&&i.char(t+1)==10)return i.append(ne(A.HardBreak,t,t+2));if(e==32){let n=t+1;for(;i.char(n)==32;)n++;if(i.char(n)==10&&n>=t+2)return i.append(ne(A.HardBreak,t,n+1))}return-1},Link(i,e,t){return e==91?i.append(new Me(Di,t,t+1,1)):-1},Image(i,e,t){return e==33&&i.char(t+1)==91?i.append(new Me(Hs,t,t+2,1)):-1},LinkEnd(i,e,t){if(e!=93)return-1;for(let n=i.parts.length-1;n>=0;n--){let r=i.parts[n];if(r instanceof Me&&(r.type==Di||r.type==Hs)){if(!r.side||i.skipSpace(r.to)==t&&!/[(\[]/.test(i.slice(t+1,t+2)))return i.parts[n]=null,-1;let s=i.takeContent(n),o=i.parts[n]=IS(i,s,r.type==Di?A.Link:A.Image,r.from,t+1);if(r.type==Di)for(let a=0;ae?ne(A.URL,e+t,s+t):s==i.length?null:!1}}function Xd(i,e,t){let n=i.charCodeAt(e);if(n!=39&&n!=34&&n!=40)return!1;let r=n==40?41:n;for(let s=e+1,o=!1;s=this.end?-1:this.text.charCodeAt(e-this.offset)}get end(){return this.offset+this.text.length}slice(e,t){return this.text.slice(e-this.offset,t-this.offset)}append(e){return this.parts.push(e),e.to}addDelimiter(e,t,n,r,s){return this.append(new Me(e,t,n,(r?1:0)|(s?2:0)))}get hasOpenLink(){for(let e=this.parts.length-1;e>=0;e--){let t=this.parts[e];if(t instanceof Me&&(t.type==Di||t.type==Hs))return!0}return!1}addElement(e){return this.append(e)}resolveMarkers(e){for(let n=e;n=e;l--){let m=this.parts[l];if(m instanceof Me&&m.side&1&&m.type==r.type&&!(s&&(r.side&1||m.side&2)&&(m.to-m.from+o)%3==0&&((m.to-m.from)%3||o%3))){a=m;break}}if(!a)continue;let c=r.type.resolve,h=[],f=a.from,u=r.to;if(s){let m=Math.min(2,a.to-a.from,o);f=a.to-m,u=r.from+m,c=m==1?"Emphasis":"StrongEmphasis"}a.type.mark&&h.push(this.elt(a.type.mark,f,a.to));for(let m=l+1;m=0;t--){let n=this.parts[t];if(n instanceof Me&&n.type==e&&n.side&1)return t}return null}takeContent(e){let t=this.resolveMarkers(e);return this.parts.length=e,t}getDelimiterAt(e){let t=this.parts[e];return t instanceof Me?t:null}skipSpace(e){return mr(this.text,e-this.offset)+this.offset}elt(e,t,n,r){return typeof e=="string"?ne(this.parser.getNodeType(e),t,n,r):new Fs(e,t)}};Sr.linkStart=Di;Sr.imageStart=Hs;function Nl(i,e){if(!e.length)return i;if(!i.length)return e;let t=i.slice(),n=0;for(let r of e){for(;n(e?e-1:0))return!1;if(this.fragmentEnd<0){let s=this.fragment.to;for(;s>0&&this.input.read(s-1,s)!=` -`;)s--;this.fragmentEnd=s?s-1:0}let n=this.cursor;n||(n=this.cursor=this.fragment.tree.cursor(),n.firstChild());let r=e+this.fragment.offset;for(;n.to<=r;)if(!n.parent())return!1;for(;;){if(n.from>=r)return this.fragment.from<=t;if(!n.childAfter(r))return!1}}matches(e){let t=this.cursor.tree;return t&&t.prop(I.contextHash)==e}takeNodes(e){let t=this.cursor,n=this.fragment.offset,r=this.fragmentEnd-(this.fragment.openEnd?1:0),s=e.absoluteLineStart,o=s,a=e.block.children.length,l=o,c=a;for(;;){if(t.to-n>r){if(t.type.isAnonymous&&t.firstChild())continue;break}let h=Rd(t.from-n,e.ranges);if(t.to-n<=e.ranges[e.rangeI].to)e.addNode(t.tree,h);else{let f=new G(e.parser.nodeSet.types[A.Paragraph],[],[],0,e.block.hashProp);e.reusePlaceholders.set(f,t.tree),e.addNode(f,h)}if(t.type.is("Block")&&(BS.indexOf(t.type.id)<0?(o=t.to-n,a=e.block.children.length):(o=l,a=c),l=t.to-n,c=e.block.children.length),!t.nextSibling())break}for(;e.block.children.length>a;)e.block.children.pop(),e.block.positions.pop();return o-s}};function Rd(i,e){let t=i;for(let n=1;nBs[i]),Object.keys(Bs).map(i=>wd[i]),Object.keys(Bs),DS,pd,Object.keys(Wl).map(i=>Wl[i]),Object.keys(Wl),[]);function GS(i,e,t){let n=[];for(let r=i.firstChild,s=e;;r=r.nextSibling){let o=r?r.from:t;if(o>s&&n.push({from:s,to:o}),!r)break;s=r.to}return n}function Zd(i){let{codeParser:e,htmlParser:t}=i;return{wrap:Qn((r,s)=>{let o=r.type.id;if(e&&(o==A.CodeBlock||o==A.FencedCode)){let a="";if(o==A.FencedCode){let c=r.node.getChild(A.CodeInfo);c&&(a=s.read(c.from,c.to))}let l=e(a);if(l)return{parser:l,overlay:c=>c.type.id==A.CodeText,bracketed:o==A.FencedCode}}else if(t&&(o==A.HTMLBlock||o==A.HTMLTag||o==A.CommentBlock))return{parser:t,overlay:GS(r.node,r.from,r.to)};return null})}}var NS={resolve:"Strikethrough",mark:"StrikethroughMark"},FS={defineNodes:[{name:"Strikethrough",style:{"Strikethrough/...":d.strikethrough}},{name:"StrikethroughMark",style:d.processingInstruction}],parseInline:[{name:"Strikethrough",parse(i,e,t){if(e!=126||i.char(t+1)!=126||i.char(t+2)==126)return-1;let n=i.slice(t-1,t),r=i.slice(t+2,t+3),s=/\s|^$/.test(n),o=/\s|^$/.test(r),a=br.test(n),l=br.test(r);return i.addDelimiter(NS,t,t+2,!o&&(!l||s||a),!s&&(!a||o||l))},after:"Emphasis"}]};function gr(i,e,t=0,n,r=0){let s=0,o=!0,a=-1,l=-1,c=!1,h=()=>{n.push(i.elt("TableCell",r+a,r+l,i.parser.parseInline(e.slice(a,l),r+a)))};for(let f=t;f-1)&&s++,o=!1,n&&(a>-1&&h(),n.push(i.elt("TableDelimiter",f+r,f+r+1))),a=l=-1):(c||u!=32&&u!=9)&&(a<0&&(a=f),l=f+1),c=!c&&u==92}return a>-1&&(s++,n&&h()),s}function ld(i,e){for(let t=e;t\s]*\|?(\s*:?-+:?\s*\|)+(\s*:?-+:?\s*)?$/,Ks=class{constructor(){this.rows=null}nextLine(e,t,n){if(this.rows==null){this.rows=!1;let r;if((t.next==45||t.next==58||t.next==124)&&qd.test(r=t.text.slice(t.pos))){let s=[];gr(e,n.content,0,s,n.start)==gr(e,r,0)&&(this.rows=[e.elt("TableHeader",n.start,n.start+n.content.length,s),e.elt("TableDelimiter",e.lineStart+t.pos,e.lineStart+t.text.length)])}}else if(this.rows){let r=[];gr(e,t.text,t.pos,r,e.lineStart),this.rows.push(e.elt("TableRow",e.lineStart+t.pos,e.lineStart+t.text.length,r))}return!1}finish(e,t){return this.rows?(e.addLeafElement(t,e.elt("Table",t.start,t.start+t.content.length,this.rows)),!0):!1}},HS={defineNodes:[{name:"Table",block:!0},{name:"TableHeader",style:{"TableHeader/...":d.heading}},"TableRow",{name:"TableCell",style:d.content},{name:"TableDelimiter",style:d.processingInstruction}],parseBlock:[{name:"Table",leaf(i,e){return ld(e.content,0)?new Ks:null},endLeaf(i,e,t){if(t.parsers.some(r=>r instanceof Ks)||!ld(e.text,e.basePos))return!1;let n=i.peekLine();return qd.test(n)&&gr(i,e.text,e.basePos)==gr(i,n,e.basePos)},before:"SetextHeading"}]},Hl=class{nextLine(){return!1}finish(e,t){return e.addLeafElement(t,e.elt("Task",t.start,t.start+t.content.length,[e.elt("TaskMarker",t.start,t.start+3),...e.parser.parseInline(t.content.slice(3),t.start+3)])),!0}},KS={defineNodes:[{name:"Task",block:!0,style:d.list},{name:"TaskMarker",style:d.atom}],parseBlock:[{name:"TaskList",leaf(i,e){return/^\[[ xX]\][ \t]/.test(e.content)&&i.parentType().name=="ListItem"?new Hl:null},after:"SetextHeading"}]},cd=/(www\.)|(https?:\/\/)|([\w.+-]{1,100}@)|(mailto:|xmpp:)/gy,hd=/[\w-]+(\.[\w-]+)+(:\d+)?(\/[^\s<]*)?/gy,JS=/[\w-]+\.[\w-]+($|[/:])/,fd=/[\w.+-]+@[\w-]+(\.[\w.-]+)+/gy,ud=/\/[a-zA-Z\d@.]+/gy;function Od(i,e,t,n){let r=0;for(let s=e;s-1)return-1;let n=e+t[0].length;for(;;){let r=i[n-1],s;if(/[?!.,:*_~]/.test(r)||r==")"&&Od(i,e,n,")")>Od(i,e,n,"("))n--;else if(r==";"&&(s=/&(?:#\d+|#x[a-f\d]+|\w+);$/.exec(i.slice(e,n))))n=e+s.index;else break}return n}function dd(i,e){fd.lastIndex=e;let t=fd.exec(i);if(!t)return-1;let n=t[0][t[0].length-1];return n=="_"||n=="-"?-1:e+t[0].length-(n=="."?1:0)}var ty={parseInline:[{name:"Autolink",parse(i,e,t){let n=t-i.offset;if(n&&/\w/.test(i.text[n-1]))return-1;cd.lastIndex=n;let r=cd.exec(i.text),s=-1;if(!r)return-1;if(r[1]||r[2]){if(s=ey(i.text,n+r[0].length),s>-1&&i.hasOpenLink){let o=/([^\[\]]|\[[^\]]*\])*/.exec(i.text.slice(n,s));s=n+o[0].length}}else r[3]?s=dd(i.text,n):(s=dd(i.text,n+r[0].length),s>-1&&r[0]=="xmpp:"&&(ud.lastIndex=s,r=ud.exec(i.text),r&&(s=r.index+r[0].length)));return s<0?-1:(i.addElement(i.elt("URL",t,s+i.offset)),s+i.offset)}}]},Ed=[HS,KS,FS,ty];function zd(i,e,t){return(n,r,s)=>{if(r!=i||n.char(s+1)==i)return-1;let o=[n.elt(t,s,s+1)];for(let a=s+1;at%3==0).concat(this.state)}]@${this.pos}${this.score?"!"+this.score:""}`}static start(e,t,n=0){let r=e.parser.context;return new i(e,[],t,n,n,0,[],0,r?new Js(r,r.start):null,0,null)}get context(){return this.curContext?this.curContext.context:null}pushState(e,t){this.stack.push(this.state,t,this.bufferBase+this.buffer.length),this.state=e}reduce(e){var t;let n=e>>19,r=e&65535,{parser:s}=this.p,o=this.reducePos=2e3&&!(!((t=this.p.parser.nodeSet.types[r])===null||t===void 0)&&t.isAnonymous)&&(c==this.p.lastBigReductionStart?(this.p.bigReductionCount++,this.p.lastBigReductionSize=h):this.p.lastBigReductionSizel;)this.stack.pop();this.reduceContext(r,c)}storeNode(e,t,n,r=4,s=!1){if(e==0&&(!this.stack.length||this.stack[this.stack.length-1]0&&this.buffer[o-4]==0&&this.buffer[o-1]>-1){if(t==n)return;if(this.buffer[o-2]>=t){this.buffer[o-2]=n;return}}}if(!s||this.pos==n)this.buffer.push(e,t,n,r);else{let o=this.buffer.length;if(o>0&&(this.buffer[o-4]!=0||this.buffer[o-1]<0)){let a=!1;for(let l=o;l>0&&this.buffer[l-2]>n;l-=4)if(this.buffer[l-1]>=0){a=!0;break}if(a)for(;o>0&&this.buffer[o-2]>n;)this.buffer[o]=this.buffer[o-4],this.buffer[o+1]=this.buffer[o-3],this.buffer[o+2]=this.buffer[o-2],this.buffer[o+3]=this.buffer[o-1],o-=4,r>4&&(r-=4)}this.buffer[o]=e,this.buffer[o+1]=t,this.buffer[o+2]=n,this.buffer[o+3]=r}}shift(e,t,n,r){if(e&131072)this.pushState(e&65535,this.pos);else if((e&262144)==0){let s=e,{parser:o}=this.p;this.pos=r;let a=o.stateFlag(s,1);!a&&(r>n||t<=o.maxNode)&&(this.reducePos=r),this.pushState(s,a?n:Math.min(n,this.reducePos)),this.shiftContext(t,n),t<=o.maxNode&&this.buffer.push(t,n,r,4)}else this.pos=r,this.shiftContext(t,n),t<=this.p.parser.maxNode&&this.buffer.push(t,n,r,4)}apply(e,t,n,r){e&65536?this.reduce(e):this.shift(e,t,n,r)}useNode(e,t){let n=this.p.reused.length-1;(n<0||this.p.reused[n]!=e)&&(this.p.reused.push(e),n++);let r=this.pos;this.reducePos=this.pos=r+e.length,this.pushState(t,r),this.buffer.push(n,r,this.reducePos,-1),this.curContext&&this.updateContext(this.curContext.tracker.reuse(this.curContext.context,e,this,this.p.stream.reset(this.pos-e.length)))}split(){let e=this,t=e.buffer.length;for(t&&e.buffer[t-4]==0&&(t-=4);t>0&&e.buffer[t-2]>e.reducePos;)t-=4;let n=e.buffer.slice(t),r=e.bufferBase+t;for(;e&&r==e.bufferBase;)e=e.parent;return new i(this.p,this.stack.slice(),this.state,this.reducePos,this.pos,this.score,n,r,this.curContext,this.lookAhead,e)}recoverByDelete(e,t){let n=e<=this.p.parser.maxNode;n&&this.storeNode(e,this.pos,t,4),this.storeNode(0,this.pos,t,n?8:4),this.pos=this.reducePos=t,this.score-=190}canShift(e){for(let t=new rc(this);;){let n=this.p.parser.stateSlot(t.state,4)||this.p.parser.hasAction(t.state,e);if(n==0)return!1;if((n&65536)==0)return!0;t.reduce(n)}}recoverByInsert(e){if(this.stack.length>=300)return[];let t=this.p.parser.nextStates(this.state);if(t.length>8||this.stack.length>=120){let r=[];for(let s=0,o;sl&1&&a==o)||r.push(t[s],o)}t=r}let n=[];for(let r=0;r>19,r=t&65535,s=this.stack.length-n*3;if(s<0||e.getGoto(this.stack[s],r,!1)<0){let o=this.findForcedReduction();if(o==null)return!1;t=o}this.storeNode(0,this.pos,this.pos,4,!0),this.score-=100}return this.reducePos=this.pos,this.reduce(t),!0}findForcedReduction(){let{parser:e}=this.p,t=[],n=(r,s)=>{if(!t.includes(r))return t.push(r),e.allActions(r,o=>{if(!(o&393216))if(o&65536){let a=(o>>19)-s;if(a>1){let l=o&65535,c=this.stack.length-a*3;if(c>=0&&e.getGoto(this.stack[c],l,!1)>=0)return a<<19|65536|l}}else{let a=n(o,s+1);if(a!=null)return a}})};return n(this.state,0)}forceAll(){for(;!this.p.parser.stateFlag(this.state,2);)if(!this.forceReduce()){this.storeNode(0,this.pos,this.pos,4,!0);break}return this}get deadEnd(){if(this.stack.length!=3)return!1;let{parser:e}=this.p;return e.data[e.stateSlot(this.state,1)]==65535&&!e.stateSlot(this.state,4)}restart(){this.storeNode(0,this.pos,this.pos,4,!0),this.state=this.stack[0],this.stack.length=0}sameState(e){if(this.state!=e.state||this.stack.length!=e.stack.length)return!1;for(let t=0;t0&&this.emitLookAhead()}},Js=class{constructor(e,t){this.tracker=e,this.context=t,this.hash=e.strict?e.hash(t):0}},rc=class{constructor(e){this.start=e,this.state=e.state,this.stack=e.stack,this.base=this.stack.length}reduce(e){let t=e&65535,n=e>>19;n==0?(this.stack==this.start.stack&&(this.stack=this.stack.slice()),this.stack.push(this.state,0,0),this.base+=3):this.base-=(n-1)*3;let r=this.start.p.parser.getGoto(this.stack[this.base-3],t,!0);this.state=r}},sc=class i{constructor(e,t,n){this.stack=e,this.pos=t,this.index=n,this.buffer=e.buffer,this.index==0&&this.maybeNext()}static create(e,t=e.bufferBase+e.buffer.length){return new i(e,t,t-e.bufferBase)}maybeNext(){let e=this.stack.parent;e!=null&&(this.index=this.stack.bufferBase-e.bufferBase,this.stack=e,this.buffer=e.buffer)}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}next(){this.index-=4,this.pos-=4,this.index==0&&this.maybeNext()}fork(){return new i(this.stack,this.pos,this.index)}};function yr(i,e=Uint16Array){if(typeof i!="string")return i;let t=null;for(let n=0,r=0;n=92&&o--,o>=34&&o--;let l=o-32;if(l>=46&&(l-=46,a=!0),s+=l,a)break;s*=46}t?t[r++]=s:t=new e(s)}return t}var Pn=class{constructor(){this.start=-1,this.value=-1,this.end=-1,this.extended=-1,this.lookAhead=0,this.mask=0,this.context=0}},jd=new Pn,oc=class{constructor(e,t){this.input=e,this.ranges=t,this.chunk="",this.chunkOff=0,this.chunk2="",this.chunk2Pos=0,this.next=-1,this.token=jd,this.rangeIndex=0,this.pos=this.chunkPos=t[0].from,this.range=t[0],this.end=t[t.length-1].to,this.readNext()}resolveOffset(e,t){let n=this.range,r=this.rangeIndex,s=this.pos+e;for(;sn.to:s>=n.to;){if(r==this.ranges.length-1)return null;let o=this.ranges[++r];s+=o.from-n.to,n=o}return s}clipPos(e){if(e>=this.range.from&&ee)return Math.max(e,t.from);return this.end}peek(e){let t=this.chunkOff+e,n,r;if(t>=0&&t=this.chunk2Pos&&na.to&&(this.chunk2=this.chunk2.slice(0,a.to-n)),r=this.chunk2.charCodeAt(0)}}return n>=this.token.lookAhead&&(this.token.lookAhead=n+1),r}acceptToken(e,t=0){let n=t?this.resolveOffset(t,-1):this.pos;if(n==null||n=this.chunk2Pos&&this.posthis.range.to?e.slice(0,this.range.to-this.pos):e,this.chunkPos=this.pos,this.chunkOff=0}}readNext(){return this.chunkOff>=this.chunk.length&&(this.getChunk(),this.chunkOff==this.chunk.length)?this.next=-1:this.next=this.chunk.charCodeAt(this.chunkOff)}advance(e=1){for(this.chunkOff+=e;this.pos+e>=this.range.to;){if(this.rangeIndex==this.ranges.length-1)return this.setDone();e-=this.range.to-this.pos,this.range=this.ranges[++this.rangeIndex],this.pos=this.range.from}return this.pos+=e,this.pos>=this.token.lookAhead&&(this.token.lookAhead=this.pos+1),this.readNext()}setDone(){return this.pos=this.chunkPos=this.end,this.range=this.ranges[this.rangeIndex=this.ranges.length-1],this.chunk="",this.next=-1}reset(e,t){if(t?(this.token=t,t.start=e,t.lookAhead=e+1,t.value=t.extended=-1):this.token=jd,this.pos!=e){if(this.pos=e,e==this.end)return this.setDone(),this;for(;e=this.range.to;)this.range=this.ranges[++this.rangeIndex];e>=this.chunkPos&&e=this.chunkPos&&t<=this.chunkPos+this.chunk.length)return this.chunk.slice(e-this.chunkPos,t-this.chunkPos);if(e>=this.chunk2Pos&&t<=this.chunk2Pos+this.chunk2.length)return this.chunk2.slice(e-this.chunk2Pos,t-this.chunk2Pos);if(e>=this.range.from&&t<=this.range.to)return this.input.read(e,t);let n="";for(let r of this.ranges){if(r.from>=t)break;r.to>e&&(n+=this.input.read(Math.max(r.from,e),Math.min(r.to,t)))}return n}},pi=class{constructor(e,t){this.data=e,this.id=t}token(e,t){let{parser:n}=t.p;Bd(this.data,e,t,this.id,n.data,n.tokenPrecTable)}};pi.prototype.contextual=pi.prototype.fallback=pi.prototype.extend=!1;var mi=class{constructor(e,t,n){this.precTable=t,this.elseToken=n,this.data=typeof e=="string"?yr(e):e}token(e,t){let n=e.pos,r=0;for(;;){let s=e.next<0,o=e.resolveOffset(1,1);if(Bd(this.data,e,t,0,this.data,this.precTable),e.token.value>-1)break;if(this.elseToken==null)return;if(s||r++,o==null)break;e.reset(o,e.token)}r&&(e.reset(n,e.token),e.acceptToken(this.elseToken,r))}};mi.prototype.contextual=pi.prototype.fallback=pi.prototype.extend=!1;var K=class{constructor(e,t={}){this.token=e,this.contextual=!!t.contextual,this.fallback=!!t.fallback,this.extend=!!t.extend}};function Bd(i,e,t,n,r,s){let o=0,a=1<0){let p=i[O];if(l.allows(p)&&(e.token.value==-1||e.token.value==p||ny(p,e.token.value,r,s))){e.acceptToken(p);break}}let h=e.next,f=0,u=i[o+2];if(e.next<0&&u>f&&i[c+u*3-3]==65535){o=i[c+u*3-1];continue e}for(;f>1,p=c+O+(O<<1),m=i[p],b=i[p+1]||65536;if(h=b)f=O+1;else{o=i[p+2],e.advance();continue e}}break}}function Vd(i,e,t){for(let n=e,r;(r=i[n])!=65535;n++)if(r==t)return n-e;return-1}function ny(i,e,t,n){let r=Vd(t,n,e);return r<0||Vd(t,n,i)e)&&!n.type.isError)return t<0?Math.max(0,Math.min(n.to-1,e-25)):Math.min(i.length,Math.max(n.from+1,e+25));if(t<0?n.prevSibling():n.nextSibling())break;if(!n.parent())return t<0?0:i.length}}var ac=class{constructor(e,t){this.fragments=e,this.nodeSet=t,this.i=0,this.fragment=null,this.safeFrom=-1,this.safeTo=-1,this.trees=[],this.start=[],this.index=[],this.nextFragment()}nextFragment(){let e=this.fragment=this.i==this.fragments.length?null:this.fragments[this.i++];if(e){for(this.safeFrom=e.openStart?Dd(e.tree,e.from+e.offset,1)-e.offset:e.from,this.safeTo=e.openEnd?Dd(e.tree,e.to+e.offset,-1)-e.offset:e.to;this.trees.length;)this.trees.pop(),this.start.pop(),this.index.pop();this.trees.push(e.tree),this.start.push(-e.offset),this.index.push(0),this.nextStart=this.safeFrom}else this.nextStart=1e9}nodeAt(e){if(ee)return this.nextStart=o,null;if(s instanceof G){if(o==e){if(o=Math.max(this.safeFrom,e)&&(this.trees.push(s),this.start.push(o),this.index.push(0))}else this.index[t]++,this.nextStart=o+s.length}}},lc=class{constructor(e,t){this.stream=t,this.tokens=[],this.mainToken=null,this.actions=[],this.tokens=e.tokenizers.map(n=>new Pn)}getActions(e){let t=0,n=null,{parser:r}=e.p,{tokenizers:s}=r,o=r.stateSlot(e.state,3),a=e.curContext?e.curContext.hash:0,l=0;for(let c=0;cf.end+25&&(l=Math.max(f.lookAhead,l)),f.value!=0)){let u=t;if(f.extended>-1&&(t=this.addActions(e,f.extended,f.end,t)),t=this.addActions(e,f.value,f.end,t),!h.extend&&(n=f,t>u))break}}for(;this.actions.length>t;)this.actions.pop();return l&&e.setLookAhead(l),!n&&e.pos==this.stream.end&&(n=new Pn,n.value=e.p.parser.eofTerm,n.start=n.end=e.pos,t=this.addActions(e,n.value,n.end,t)),this.mainToken=n,this.actions}getMainToken(e){if(this.mainToken)return this.mainToken;let t=new Pn,{pos:n,p:r}=e;return t.start=n,t.end=Math.min(n+1,r.stream.end),t.value=n==r.stream.end?r.parser.eofTerm:0,t}updateCachedToken(e,t,n){let r=this.stream.clipPos(n.pos);if(t.token(this.stream.reset(r,e),n),e.value>-1){let{parser:s}=n.p;for(let o=0;o=0&&n.p.parser.dialect.allows(a>>1)){(a&1)==0?e.value=a>>1:e.extended=a>>1;break}}}else e.value=0,e.end=this.stream.clipPos(r+1)}putAction(e,t,n,r){for(let s=0;se.bufferLength*4?new ac(n,e.nodeSet):null}get parsedPos(){return this.minStackPos}advance(){let e=this.stacks,t=this.minStackPos,n=this.stacks=[],r,s;if(this.bigReductionCount>300&&e.length==1){let[o]=e;for(;o.forceReduce()&&o.stack.length&&o.stack[o.stack.length-2]>=this.lastBigReductionStart;);this.bigReductionCount=this.lastBigReductionSize=0}for(let o=0;ot)n.push(a);else{if(this.advanceStack(a,n,e))continue;{r||(r=[],s=[]),r.push(a);let l=this.tokens.getMainToken(a);s.push(l.value,l.end)}}break}}if(!n.length){let o=r&&ry(r);if(o)return Ke&&console.log("Finish with "+this.stackID(o)),this.stackToTree(o);if(this.parser.strict)throw Ke&&r&&console.log("Stuck with token "+(this.tokens.mainToken?this.parser.getName(this.tokens.mainToken.value):"none")),new SyntaxError("No parse at "+t);this.recovering||(this.recovering=5)}if(this.recovering&&r){let o=this.stoppedAt!=null&&r[0].pos>this.stoppedAt?r[0]:this.runRecovery(r,s,n);if(o)return Ke&&console.log("Force-finish "+this.stackID(o)),this.stackToTree(o.forceAll())}if(this.recovering){let o=this.recovering==1?1:this.recovering*3;if(n.length>o)for(n.sort((a,l)=>l.score-a.score);n.length>o;)n.pop();n.some(a=>a.reducePos>t)&&this.recovering--}else if(n.length>1){e:for(let o=0;o500&&c.buffer.length>500)if((a.score-c.score||a.buffer.length-c.buffer.length)>0)n.splice(l--,1);else{n.splice(o--,1);continue e}}}n.length>12&&(n.sort((o,a)=>a.score-o.score),n.splice(12,n.length-12))}this.minStackPos=n[0].pos;for(let o=1;o ":"";if(this.stoppedAt!=null&&r>this.stoppedAt)return e.forceReduce()?e:null;if(this.fragments){let c=e.curContext&&e.curContext.tracker.strict,h=c?e.curContext.hash:0;for(let f=this.fragments.nodeAt(r);f;){let u=this.parser.nodeSet.types[f.type.id]==f.type?s.getGoto(e.state,f.type.id):-1;if(u>-1&&f.length&&(!c||(f.prop(I.contextHash)||0)==h))return e.useNode(f,u),Ke&&console.log(o+this.stackID(e)+` (via reuse of ${s.getName(f.type.id)})`),!0;if(!(f instanceof G)||f.children.length==0||f.positions[0]>0)break;let O=f.children[0];if(O instanceof G&&f.positions[0]==0)f=O;else break}}let a=s.stateSlot(e.state,4);if(a>0)return e.reduce(a),Ke&&console.log(o+this.stackID(e)+` (via always-reduce ${s.getName(a&65535)})`),!0;if(e.stack.length>=8400)for(;e.stack.length>6e3&&e.forceReduce(););let l=this.tokens.getActions(e);for(let c=0;cr?t.push(p):n.push(p)}return!1}advanceFully(e,t){let n=e.pos;for(;;){if(!this.advanceStack(e,null,null))return!1;if(e.pos>n)return Yd(e,t),!0}}runRecovery(e,t,n){let r=null,s=!1;for(let o=0;o ":"";if(a.deadEnd&&(s||(s=!0,a.restart(),Ke&&console.log(h+this.stackID(a)+" (restarted)"),this.advanceFully(a,n))))continue;let f=a.split(),u=h;for(let O=0;O<10&&f.forceReduce()&&(Ke&&console.log(u+this.stackID(f)+" (via force-reduce)"),!this.advanceFully(f,n));O++)Ke&&(u=this.stackID(f)+" -> ");for(let O of a.recoverByInsert(l))Ke&&console.log(h+this.stackID(O)+" (via recover-insert)"),this.advanceFully(O,n);this.stream.end>a.pos?(c==a.pos&&(c++,l=0),a.recoverByDelete(l,c),Ke&&console.log(h+this.stackID(a)+` (via recover-delete ${this.parser.getName(l)})`),Yd(a,n)):(!r||r.scorei,ut=class{constructor(e){this.start=e.start,this.shift=e.shift||ic,this.reduce=e.reduce||ic,this.reuse=e.reuse||ic,this.hash=e.hash||(()=>0),this.strict=e.strict!==!1}},Pe=class i extends jt{constructor(e){if(super(),this.wrappers=[],e.version!=14)throw new RangeError(`Parser version (${e.version}) doesn't match runtime version (14)`);let t=e.nodeNames.split(" ");this.minRepeatTerm=t.length;for(let a=0;ae.topRules[a][1]),r=[];for(let a=0;a=0)s(h,l,a[c++]);else{let f=a[c+-h];for(let u=-h;u>0;u--)s(a[c++],l,f);c++}}}this.nodeSet=new Mt(t.map((a,l)=>Oe.define({name:l>=this.minRepeatTerm?void 0:a,id:l,props:r[l],top:n.indexOf(l)>-1,error:l==0,skipped:e.skippedNodes&&e.skippedNodes.indexOf(l)>-1}))),e.propSources&&(this.nodeSet=this.nodeSet.extend(...e.propSources)),this.strict=!1,this.bufferLength=1024;let o=yr(e.tokenData);this.context=e.context,this.specializerSpecs=e.specialized||[],this.specialized=new Uint16Array(this.specializerSpecs.length);for(let a=0;atypeof a=="number"?new pi(o,a):a),this.topRules=e.topRules,this.dialects=e.dialects||{},this.dynamicPrecedences=e.dynamicPrecedences||null,this.tokenPrecTable=e.tokenPrec,this.termNames=e.termNames||null,this.maxNode=this.nodeSet.types.length-1,this.dialect=this.parseDialect(),this.top=this.topRules[Object.keys(this.topRules)[0]]}createParse(e,t,n){let r=new cc(this,e,t,n);for(let s of this.wrappers)r=s(r,e,t,n);return r}getGoto(e,t,n=!1){let r=this.goto;if(t>=r[0])return-1;for(let s=r[t+1];;){let o=r[s++],a=o&1,l=r[s++];if(a&&n)return l;for(let c=s+(o>>1);s0}validAction(e,t){return!!this.allActions(e,n=>n==t?!0:null)}allActions(e,t){let n=this.stateSlot(e,4),r=n?t(n):void 0;for(let s=this.stateSlot(e,1);r==null;s+=3){if(this.data[s]==65535)if(this.data[s+1]==1)s=Dt(this.data,s+2);else break;r=t(Dt(this.data,s+1))}return r}nextStates(e){let t=[];for(let n=this.stateSlot(e,1);;n+=3){if(this.data[n]==65535)if(this.data[n+1]==1)n=Dt(this.data,n+2);else break;if((this.data[n+2]&1)==0){let r=this.data[n+1];t.some((s,o)=>o&1&&s==r)||t.push(this.data[n],r)}}return t}configure(e){let t=Object.assign(Object.create(i.prototype),this);if(e.props&&(t.nodeSet=this.nodeSet.extend(...e.props)),e.top){let n=this.topRules[e.top];if(!n)throw new RangeError(`Invalid top rule name ${e.top}`);t.top=n}return e.tokenizers&&(t.tokenizers=this.tokenizers.map(n=>{let r=e.tokenizers.find(s=>s.from==n);return r?r.to:n})),e.specializers&&(t.specializers=this.specializers.slice(),t.specializerSpecs=this.specializerSpecs.map((n,r)=>{let s=e.specializers.find(a=>a.from==n.external);if(!s)return n;let o=Object.assign(Object.assign({},n),{external:s.to});return t.specializers[r]=Id(o),o})),e.contextTracker&&(t.context=e.contextTracker),e.dialect&&(t.dialect=this.parseDialect(e.dialect)),e.strict!=null&&(t.strict=e.strict),e.wrap&&(t.wrappers=t.wrappers.concat(e.wrap)),e.bufferLength!=null&&(t.bufferLength=e.bufferLength),t}hasWrappers(){return this.wrappers.length>0}getName(e){return this.termNames?this.termNames[e]:String(e<=this.maxNode&&this.nodeSet.types[e].name||e)}get eofTerm(){return this.maxNode+1}get topNode(){return this.nodeSet.types[this.top[1]]}dynamicPrecedence(e){let t=this.dynamicPrecedences;return t==null?0:t[e]||0}parseDialect(e){let t=Object.keys(this.dialects),n=t.map(()=>!1);if(e)for(let s of e.split(" ")){let o=t.indexOf(s);o>=0&&(n[o]=!0)}let r=null;for(let s=0;sn)&&t.p.parser.stateFlag(t.state,2)&&(!e||e.scorei.external(t,n)<<1|e}return i.get}var sy=55,oy=1,ay=56,ly=2,cy=57,hy=3,Ud=4,fy=5,pc=6,tp=7,ip=8,np=9,rp=10,uy=11,Oy=12,dy=13,fc=58,py=14,my=15,Gd=59,sp=21,gy=23,op=24,Qy=25,Oc=27,ap=28,by=29,Sy=32,yy=35,ky=37,xy=38,wy=0,Py=1,vy={area:!0,base:!0,br:!0,col:!0,command:!0,embed:!0,frame:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0,menuitem:!0},$y={dd:!0,li:!0,optgroup:!0,option:!0,p:!0,rp:!0,rt:!0,tbody:!0,td:!0,tfoot:!0,th:!0,tr:!0},Nd={dd:{dd:!0,dt:!0},dt:{dd:!0,dt:!0},li:{li:!0},option:{option:!0,optgroup:!0},optgroup:{optgroup:!0},p:{address:!0,article:!0,aside:!0,blockquote:!0,dir:!0,div:!0,dl:!0,fieldset:!0,footer:!0,form:!0,h1:!0,h2:!0,h3:!0,h4:!0,h5:!0,h6:!0,header:!0,hgroup:!0,hr:!0,menu:!0,nav:!0,ol:!0,p:!0,pre:!0,section:!0,table:!0,ul:!0},rp:{rp:!0,rt:!0},rt:{rp:!0,rt:!0},tbody:{tbody:!0,tfoot:!0},td:{td:!0,th:!0},tfoot:{tbody:!0},th:{td:!0,th:!0},thead:{tbody:!0,tfoot:!0},tr:{tr:!0}};function Ty(i){return i==45||i==46||i==58||i>=65&&i<=90||i==95||i>=97&&i<=122||i>=161}var Fd=null,Hd=null,Kd=0;function dc(i,e){let t=i.pos+e;if(Kd==t&&Hd==i)return Fd;let n=i.peek(e),r="";for(;Ty(n);)r+=String.fromCharCode(n),n=i.peek(++e);return Hd=i,Kd=t,Fd=r?r.toLowerCase():n==Cy||n==Xy?void 0:null}var lp=60,eo=62,mc=47,Cy=63,Xy=33,_y=45;function Jd(i,e){this.name=i,this.parent=e}var Ry=[pc,rp,tp,ip,np],Ay=new ut({start:null,shift(i,e,t,n){return Ry.indexOf(e)>-1?new Jd(dc(n,1)||"",i):i},reduce(i,e){return e==sp&&i?i.parent:i},reuse(i,e,t,n){let r=e.type.id;return r==pc||r==ky?new Jd(dc(n,1)||"",i):i},strict:!1}),Zy=new K((i,e)=>{if(i.next!=lp){i.next<0&&e.context&&i.acceptToken(fc);return}i.advance();let t=i.next==mc;t&&i.advance();let n=dc(i,0);if(n===void 0)return;if(!n)return i.acceptToken(t?my:py);let r=e.context?e.context.name:null;if(t){if(n==r)return i.acceptToken(uy);if(r&&$y[r])return i.acceptToken(fc,-2);if(e.dialectEnabled(wy))return i.acceptToken(Oy);for(let s=e.context;s;s=s.parent)if(s.name==n)return;i.acceptToken(dy)}else{if(n=="script")return i.acceptToken(tp);if(n=="style")return i.acceptToken(ip);if(n=="textarea")return i.acceptToken(np);if(vy.hasOwnProperty(n))return i.acceptToken(rp);r&&Nd[r]&&Nd[r][n]?i.acceptToken(fc,-1):i.acceptToken(pc)}},{contextual:!0}),qy=new K(i=>{for(let e=0,t=0;;t++){if(i.next<0){t&&i.acceptToken(Gd);break}if(i.next==_y)e++;else if(i.next==eo&&e>=2){t>=3&&i.acceptToken(Gd,-2);break}else e=0;i.advance()}});function Ey(i){for(;i;i=i.parent)if(i.name=="svg"||i.name=="math")return!0;return!1}var zy=new K((i,e)=>{if(i.next==mc&&i.peek(1)==eo){let t=e.dialectEnabled(Py)||Ey(e.context);i.acceptToken(t?fy:Ud,2)}else i.next==eo&&i.acceptToken(Ud,1)});function gc(i,e,t){let n=2+i.length;return new K(r=>{for(let s=0,o=0,a=0;;a++){if(r.next<0){a&&r.acceptToken(e);break}if(s==0&&r.next==lp||s==1&&r.next==mc||s>=2&&so?r.acceptToken(e,-o):r.acceptToken(t,-(o-2));break}else if((r.next==10||r.next==13)&&a){r.acceptToken(e,1);break}else s=o=0;r.advance()}})}var Ly=gc("script",sy,oy),My=gc("style",ay,ly),Wy=gc("textarea",cy,hy),jy=ge({"Text RawText IncompleteTag IncompleteCloseTag":d.content,"StartTag StartCloseTag SelfClosingEndTag EndTag":d.angleBracket,TagName:d.tagName,"MismatchedCloseTag/TagName":[d.tagName,d.invalid],AttributeName:d.attributeName,"AttributeValue UnquotedAttributeValue":d.attributeValue,Is:d.definitionOperator,"EntityReference CharacterReference":d.character,Comment:d.blockComment,ProcessingInst:d.processingInstruction,DoctypeDecl:d.documentMeta}),cp=Pe.deserialize({version:14,states:",xOVO!rOOO!ZQ#tO'#CrO!`Q#tO'#C{O!eQ#tO'#DOO!jQ#tO'#DRO!oQ#tO'#DTO!tOaO'#CqO#PObO'#CqO#[OdO'#CqO$kO!rO'#CqOOO`'#Cq'#CqO$rO$fO'#DUO$zQ#tO'#DWO%PQ#tO'#DXOOO`'#Dl'#DlOOO`'#DZ'#DZQVO!rOOO%UQ&rO,59^O%aQ&rO,59gO%lQ&rO,59jO%wQ&rO,59mO&SQ&rO,59oOOOa'#D_'#D_O&_OaO'#CyO&jOaO,59]OOOb'#D`'#D`O&rObO'#C|O&}ObO,59]OOOd'#Da'#DaO'VOdO'#DPO'bOdO,59]OOO`'#Db'#DbO'jO!rO,59]O'qQ#tO'#DSOOO`,59],59]OOOp'#Dc'#DcO'vO$fO,59pOOO`,59p,59pO(OQ#|O,59rO(TQ#|O,59sOOO`-E7X-E7XO(YQ&rO'#CtOOQW'#D['#D[O(hQ&rO1G.xOOOa1G.x1G.xOOO`1G/Z1G/ZO(sQ&rO1G/ROOOb1G/R1G/RO)OQ&rO1G/UOOOd1G/U1G/UO)ZQ&rO1G/XOOO`1G/X1G/XO)fQ&rO1G/ZOOOa-E7]-E7]O)qQ#tO'#CzOOO`1G.w1G.wOOOb-E7^-E7^O)vQ#tO'#C}OOOd-E7_-E7_O){Q#tO'#DQOOO`-E7`-E7`O*QQ#|O,59nOOOp-E7a-E7aOOO`1G/[1G/[OOO`1G/^1G/^OOO`1G/_1G/_O*VQ,UO,59`OOQW-E7Y-E7YOOOa7+$d7+$dOOO`7+$u7+$uOOOb7+$m7+$mOOOd7+$p7+$pOOO`7+$s7+$sO*bQ#|O,59fO*gQ#|O,59iO*lQ#|O,59lOOO`1G/Y1G/YO*qO7[O'#CwO+SOMhO'#CwOOQW1G.z1G.zOOO`1G/Q1G/QOOO`1G/T1G/TOOO`1G/W1G/WOOOO'#D]'#D]O+eO7[O,59cOOQW,59c,59cOOOO'#D^'#D^O+vOMhO,59cOOOO-E7Z-E7ZOOQW1G.}1G.}OOOO-E7[-E7[",stateData:",c~O!_OS~OUSOVPOWQOXROYTO[]O][O^^O_^Oa^Ob^Oc^Od^Oy^O|_O!eZO~OgaO~OgbO~OgcO~OgdO~OgeO~O!XfOPmP![mP~O!YiOQpP![pP~O!ZlORsP![sP~OUSOVPOWQOXROYTOZqO[]O][O^^O_^Oa^Ob^Oc^Od^Oy^O!eZO~O![rO~P#gO!]sO!fuO~OgvO~OgwO~OS|OT}OiyO~OS!POT}OiyO~OS!ROT}OiyO~OS!TOT}OiyO~OS}OT}OiyO~O!XfOPmX![mX~OP!WO![!XO~O!YiOQpX![pX~OQ!ZO![!XO~O!ZlORsX![sX~OR!]O![!XO~O![!XO~P#gOg!_O~O!]sO!f!aO~OS!bO~OS!cO~Oj!dOShXThXihX~OS!fOT!gOiyO~OS!hOT!gOiyO~OS!iOT!gOiyO~OS!jOT!gOiyO~OS!gOT!gOiyO~Og!kO~Og!lO~Og!mO~OS!nO~Ol!qO!a!oO!c!pO~OS!rO~OS!sO~OS!tO~Ob!uOc!uOd!uO!a!wO!b!uO~Ob!xOc!xOd!xO!c!wO!d!xO~Ob!uOc!uOd!uO!a!{O!b!uO~Ob!xOc!xOd!xO!c!{O!d!xO~OT~cbd!ey|!e~",goto:"%q!aPPPPPPPPPPPPPPPPPPPPP!b!hP!nPP!zP!}#Q#T#Z#^#a#g#j#m#s#y!bP!b!bP$P$V$m$s$y%P%V%]%cPPPPPPPP%iX^OX`pXUOX`pezabcde{!O!Q!S!UR!q!dRhUR!XhXVOX`pRkVR!XkXWOX`pRnWR!XnXXOX`pQrXR!XpXYOX`pQ`ORx`Q{aQ!ObQ!QcQ!SdQ!UeZ!e{!O!Q!S!UQ!v!oR!z!vQ!y!pR!|!yQgUR!VgQjVR!YjQmWR![mQpXR!^pQtZR!`tS_O`ToXp",nodeNames:"\u26A0 StartCloseTag StartCloseTag StartCloseTag EndTag SelfClosingEndTag StartTag StartTag StartTag StartTag StartTag StartCloseTag StartCloseTag StartCloseTag IncompleteTag IncompleteCloseTag Document Text EntityReference CharacterReference InvalidEntity Element OpenTag TagName Attribute AttributeName Is AttributeValue UnquotedAttributeValue ScriptText CloseTag OpenTag StyleText CloseTag OpenTag TextareaText CloseTag OpenTag CloseTag SelfClosingTag Comment ProcessingInst MismatchedCloseTag CloseTag DoctypeDecl",maxTerm:68,context:Ay,nodeProps:[["closedBy",-10,1,2,3,7,8,9,10,11,12,13,"EndTag",6,"EndTag SelfClosingEndTag",-4,22,31,34,37,"CloseTag"],["openedBy",4,"StartTag StartCloseTag",5,"StartTag",-4,30,33,36,38,"OpenTag"],["group",-10,14,15,18,19,20,21,40,41,42,43,"Entity",17,"Entity TextContent",-3,29,32,35,"TextContent Entity"],["isolate",-11,22,30,31,33,34,36,37,38,39,42,43,"ltr",-3,27,28,40,""]],propSources:[jy],skippedNodes:[0],repeatNodeCount:9,tokenData:"!]tw8twx7Sx!P8t!P!Q5u!Q!]8t!]!^/^!^!a7S!a#S8t#S#T;{#T#s8t#s$f5u$f;'S8t;'S;=`>V<%l?Ah8t?Ah?BY5u?BY?Mn8t?MnO5u!Z5zblWOX5uXZ7SZ[5u[^7S^p5uqr5urs7Sst+Ptw5uwx7Sx!]5u!]!^7w!^!a7S!a#S5u#S#T7S#T;'S5u;'S;=`8n<%lO5u!R7VVOp7Sqs7St!]7S!]!^7l!^;'S7S;'S;=`7q<%lO7S!R7qOb!R!R7tP;=`<%l7S!Z8OYlWb!ROX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+P!Z8qP;=`<%l5u!_8{iiSlWOX5uXZ7SZ[5u[^7S^p5uqr8trs7Sst/^tw8twx7Sx!P8t!P!Q5u!Q!]8t!]!^:j!^!a7S!a#S8t#S#T;{#T#s8t#s$f5u$f;'S8t;'S;=`>V<%l?Ah8t?Ah?BY5u?BY?Mn8t?MnO5u!_:sbiSlWb!ROX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+P!VP<%l?Ah;{?Ah?BY7S?BY?Mn;{?MnO7S!V=dXiSb!Rqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0m!V>SP;=`<%l;{!_>YP;=`<%l8t!_>dhiSlWOX@OXZAYZ[@O[^AY^p@OqrBwrsAYswBwwxAYx!PBw!P!Q@O!Q!]Bw!]!^/^!^!aAY!a#SBw#S#TE{#T#sBw#s$f@O$f;'SBw;'S;=`HS<%l?AhBw?Ah?BY@O?BY?MnBw?MnO@O!Z@TalWOX@OXZAYZ[@O[^AY^p@Oqr@OrsAYsw@OwxAYx!]@O!]!^Az!^!aAY!a#S@O#S#TAY#T;'S@O;'S;=`Bq<%lO@O!RA]UOpAYq!]AY!]!^Ao!^;'SAY;'S;=`At<%lOAY!RAtOc!R!RAwP;=`<%lAY!ZBRYlWc!ROX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+P!ZBtP;=`<%l@O!_COhiSlWOX@OXZAYZ[@O[^AY^p@OqrBwrsAYswBwwxAYx!PBw!P!Q@O!Q!]Bw!]!^Dj!^!aAY!a#SBw#S#TE{#T#sBw#s$f@O$f;'SBw;'S;=`HS<%l?AhBw?Ah?BY@O?BY?MnBw?MnO@O!_DsbiSlWc!ROX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+P!VFQbiSOpAYqrE{rsAYswE{wxAYx!PE{!P!QAY!Q!]E{!]!^GY!^!aAY!a#sE{#s$fAY$f;'SE{;'S;=`G|<%l?AhE{?Ah?BYAY?BY?MnE{?MnOAY!VGaXiSc!Rqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0m!VHPP;=`<%lE{!_HVP;=`<%lBw!ZHcW!cxaP!b`Or(trs'ksv(tw!^(t!^!_)e!_;'S(t;'S;=`*P<%lO(t!aIYliSaPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx}-_}!OKQ!O!P-_!P!Q$q!Q!^-_!^!_*V!_!a&X!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q!aK_kiSaPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx!P-_!P!Q$q!Q!^-_!^!_*V!_!`&X!`!aMS!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q!TM_XaP!b`!dp!fQOr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&X!aNZ!ZiSgQaPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx}-_}!OMz!O!PMz!P!Q$q!Q![Mz![!]Mz!]!^-_!^!_*V!_!a&X!a!c-_!c!}Mz!}#R-_#R#SMz#S#T1k#T#oMz#o#s-_#s$f$q$f$}-_$}%OMz%O%W-_%W%oMz%o%p-_%p&aMz&a&b-_&b1pMz1p4UMz4U4dMz4d4e-_4e$ISMz$IS$I`-_$I`$IbMz$Ib$Je-_$Je$JgMz$Jg$Kh-_$Kh%#tMz%#t&/x-_&/x&EtMz&Et&FV-_&FV;'SMz;'S;:j!#|;:j;=`3X<%l?&r-_?&r?AhMz?Ah?BY$q?BY?MnMz?MnO$q!a!$PP;=`<%lMz!R!$ZY!b`!dpOq*Vqr!$yrs(Vsv*Vwx)ex!a*V!a!b!4t!b;'S*V;'S;=`*s<%lO*V!R!%Q]!b`!dpOr*Vrs(Vsv*Vwx)ex}*V}!O!%y!O!f*V!f!g!']!g#W*V#W#X!0`#X;'S*V;'S;=`*s<%lO*V!R!&QX!b`!dpOr*Vrs(Vsv*Vwx)ex}*V}!O!&m!O;'S*V;'S;=`*s<%lO*V!R!&vV!b`!dp!ePOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!'dX!b`!dpOr*Vrs(Vsv*Vwx)ex!q*V!q!r!(P!r;'S*V;'S;=`*s<%lO*V!R!(WX!b`!dpOr*Vrs(Vsv*Vwx)ex!e*V!e!f!(s!f;'S*V;'S;=`*s<%lO*V!R!(zX!b`!dpOr*Vrs(Vsv*Vwx)ex!v*V!v!w!)g!w;'S*V;'S;=`*s<%lO*V!R!)nX!b`!dpOr*Vrs(Vsv*Vwx)ex!{*V!{!|!*Z!|;'S*V;'S;=`*s<%lO*V!R!*bX!b`!dpOr*Vrs(Vsv*Vwx)ex!r*V!r!s!*}!s;'S*V;'S;=`*s<%lO*V!R!+UX!b`!dpOr*Vrs(Vsv*Vwx)ex!g*V!g!h!+q!h;'S*V;'S;=`*s<%lO*V!R!+xY!b`!dpOr!+qrs!,hsv!+qvw!-Swx!.[x!`!+q!`!a!/j!a;'S!+q;'S;=`!0Y<%lO!+qq!,mV!dpOv!,hvx!-Sx!`!,h!`!a!-q!a;'S!,h;'S;=`!.U<%lO!,hP!-VTO!`!-S!`!a!-f!a;'S!-S;'S;=`!-k<%lO!-SP!-kO|PP!-nP;=`<%l!-Sq!-xS!dp|POv(Vx;'S(V;'S;=`(h<%lO(Vq!.XP;=`<%l!,ha!.aX!b`Or!.[rs!-Ssv!.[vw!-Sw!`!.[!`!a!.|!a;'S!.[;'S;=`!/d<%lO!.[a!/TT!b`|POr)esv)ew;'S)e;'S;=`)y<%lO)ea!/gP;=`<%l!.[!R!/sV!b`!dp|POr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!0]P;=`<%l!+q!R!0gX!b`!dpOr*Vrs(Vsv*Vwx)ex#c*V#c#d!1S#d;'S*V;'S;=`*s<%lO*V!R!1ZX!b`!dpOr*Vrs(Vsv*Vwx)ex#V*V#V#W!1v#W;'S*V;'S;=`*s<%lO*V!R!1}X!b`!dpOr*Vrs(Vsv*Vwx)ex#h*V#h#i!2j#i;'S*V;'S;=`*s<%lO*V!R!2qX!b`!dpOr*Vrs(Vsv*Vwx)ex#m*V#m#n!3^#n;'S*V;'S;=`*s<%lO*V!R!3eX!b`!dpOr*Vrs(Vsv*Vwx)ex#d*V#d#e!4Q#e;'S*V;'S;=`*s<%lO*V!R!4XX!b`!dpOr*Vrs(Vsv*Vwx)ex#X*V#X#Y!+q#Y;'S*V;'S;=`*s<%lO*V!R!4{Y!b`!dpOr!4trs!5ksv!4tvw!6Vwx!8]x!a!4t!a!b!:]!b;'S!4t;'S;=`!;r<%lO!4tq!5pV!dpOv!5kvx!6Vx!a!5k!a!b!7W!b;'S!5k;'S;=`!8V<%lO!5kP!6YTO!a!6V!a!b!6i!b;'S!6V;'S;=`!7Q<%lO!6VP!6lTO!`!6V!`!a!6{!a;'S!6V;'S;=`!7Q<%lO!6VP!7QOyPP!7TP;=`<%l!6Vq!7]V!dpOv!5kvx!6Vx!`!5k!`!a!7r!a;'S!5k;'S;=`!8V<%lO!5kq!7yS!dpyPOv(Vx;'S(V;'S;=`(h<%lO(Vq!8YP;=`<%l!5ka!8bX!b`Or!8]rs!6Vsv!8]vw!6Vw!a!8]!a!b!8}!b;'S!8];'S;=`!:V<%lO!8]a!9SX!b`Or!8]rs!6Vsv!8]vw!6Vw!`!8]!`!a!9o!a;'S!8];'S;=`!:V<%lO!8]a!9vT!b`yPOr)esv)ew;'S)e;'S;=`)y<%lO)ea!:YP;=`<%l!8]!R!:dY!b`!dpOr!4trs!5ksv!4tvw!6Vwx!8]x!`!4t!`!a!;S!a;'S!4t;'S;=`!;r<%lO!4t!R!;]V!b`!dpyPOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!;uP;=`<%l!4t!V!{let c=a.type.id;if(c==by)return uc(a,l,t);if(c==Sy)return uc(a,l,n);if(c==yy)return uc(a,l,r);if(c==sp&&s.length){let h=a.node,f=h.firstChild,u=f&&ep(f,l),O;if(u){for(let p of s)if(p.tag==u&&(!p.attrs||p.attrs(O||(O=hp(f,l))))){let m=h.lastChild,b=m.type.id==xy?m.from:h.to;if(b>f.to)return{parser:p.parser,overlay:[{from:f.to,to:b}]}}}}if(o&&c==op){let h=a.node,f;if(f=h.firstChild){let u=o[l.read(f.from,f.to)];if(u)for(let O of u){if(O.tagName&&O.tagName!=ep(h.parent,l))continue;let p=h.lastChild;if(p.type.id==Oc){let m=p.from+1,b=p.lastChild,g=p.to-(b&&b.isError?0:1);if(g>m)return{parser:O.parser,overlay:[{from:m,to:g}],bracketed:!0}}else if(p.type.id==ap)return{parser:O.parser,overlay:[{from:p.from,to:p.to}]}}}}return null})}var Vy=145,fp=1,Dy=146,Yy=147,Op=2,Iy=148,By=3,Uy=4,dp=[9,10,11,12,13,32,133,160,5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8232,8233,8239,8287,12288],Gy=58,Ny=40,pp=95,Fy=91,to=45,Hy=46,Ky=35,Jy=37,ek=38,tk=92,ik=10,nk=42;function kr(i){return i>=65&&i<=90||i>=97&&i<=122||i>=161}function bc(i){return i>=48&&i<=57}function up(i){return bc(i)||i>=97&&i<=102||i>=65&&i<=70}var mp=(i,e,t)=>(n,r)=>{for(let s=!1,o=0,a=0;;a++){let{next:l}=n;if(kr(l)||l==to||l==pp||s&&bc(l))!s&&(l!=to||a>0)&&(s=!0),o===a&&l==to&&o++,n.advance();else if(l==tk&&n.peek(1)!=ik){if(n.advance(),up(n.next)){do n.advance();while(up(n.next));n.next==32&&n.advance()}else n.next>-1&&n.advance();s=!0}else{s&&n.acceptToken(o==2&&r.canShift(Op)?e:l==Ny?t:i);break}}},rk=new K(mp(Dy,Op,Yy),{contextual:!0}),sk=new K(mp(Iy,By,Uy),{contextual:!0}),ok=new K(i=>{if(dp.includes(i.peek(-1))){let{next:e}=i;(kr(e)||e==pp||e==Ky||e==Hy||e==nk||e==Fy||e==Gy&&kr(i.peek(1))||e==to||e==ek)&&i.acceptToken(Vy)}}),ak=new K(i=>{if(!dp.includes(i.peek(-1))){let{next:e}=i;if(e==Jy&&(i.advance(),i.acceptToken(fp)),kr(e)){do i.advance();while(kr(i.next)||bc(i.next));i.acceptToken(fp)}}}),lk=ge({"AtKeyword import charset namespace keyframes media supports font-feature-values":d.definitionKeyword,"from to selector scope MatchFlag":d.keyword,NamespaceName:d.namespace,KeyframeName:d.labelName,KeyframeRangeName:d.operatorKeyword,TagName:d.tagName,ClassName:d.className,PseudoClassName:d.constant(d.className),IdName:d.labelName,"FeatureName PropertyName":d.propertyName,AttributeName:d.attributeName,NumberLiteral:d.number,KeywordQuery:d.keyword,UnaryQueryOp:d.operatorKeyword,"CallTag ValueName FontName":d.atom,VariableName:d.variableName,Callee:d.operatorKeyword,Unit:d.unit,"UniversalSelector NestingSelector":d.definitionOperator,"MatchOp CompareOp":d.compareOperator,"ChildOp SiblingOp, LogicOp":d.logicOperator,BinOp:d.arithmeticOperator,Important:d.modifier,Comment:d.blockComment,ColorLiteral:d.color,"ParenthesizedContent StringLiteral":d.string,":":d.punctuation,"PseudoOp #":d.derefOperator,"; , |":d.separator,"( )":d.paren,"[ ]":d.squareBracket,"{ }":d.brace}),ck={__proto__:null,lang:44,"nth-child":44,"nth-last-child":44,"nth-of-type":44,"nth-last-of-type":44,dir:44,"host-context":44,if:90,url:152,"url-prefix":152,domain:152,regexp:152},hk={__proto__:null,or:104,and:104,not:112,only:112,layer:206},fk={__proto__:null,selector:118,style:124,layer:202},uk={__proto__:null,"@import":198,"@media":210,"@charset":214,"@namespace":218,"@keyframes":224,"@supports":236,"@scope":240,"@font-feature-values":246},Ok={__proto__:null,to:243},gp=Pe.deserialize({version:14,states:"MlQYQdOOO#}QdOOP$UO`OOO%OQaO'#CfOOQP'#Ce'#CeO%VQdO'#CgO%[Q`O'#CgO%aQaO'#FnO&XQdO'#CkO&xQaO'#CcO'SQdO'#CnO'_QdO'#EOO'dQdO'#EQO'oQdO'#EXO'oQdO'#E[OOQP'#Fn'#FnO)RQhO'#E}OOQS'#Fm'#FmOOQS'#FQ'#FQQYQdOOO)YQdO'#EbO*iQhO'#EhO)YQdO'#EjO*pQdO'#ElO*{QdO'#EoO)}QhO'#EuO+TQdO'#EwO+`QdO'#EzO+eQaO'#CfO+lQ`O'#E_O+qQ`O'#F{O+|QdO'#F{QOQ`OOP,WO&jO'#CaPOOO)CA])CA]OOQP'#Ci'#CiOOQP,59R,59RO%VQdO,59ROOQP'#Cm'#CmOOQP,59V,59VO&XQdO,59VO,cQdO,59YO'_QdO,5:jO'dQdO,5:lO'oQdO,5:sO'oQdO,5:uO'oQdO,5:vO'oQdO'#FXO,nQ`O,58}O,vQdO'#E^OOQS,58},58}OOQP'#Cq'#CqOOQO'#D|'#D|OOQP,59Y,59YO,}Q`O,59YO-SQ`O,59YOOQP'#EP'#EPOOQP,5:j,5:jO-XQpO'#ERO-dQdO'#ESO-iQ`O'#ESO-nQpO,5:lO.XQaO,5:sO.oQaO,5:vOOQW'#D^'#D^O/nQhO'#DgO0RQhO,5;iO)}QhO'#DeO0`Q`O'#DnO0eQhO'#DxOOQW'#Ft'#FtOOQS,5;i,5;iO0jQ`O'#DhO0oQ`O'#DkOOQS-E9O-E9OOOQ['#Cv'#CvO0tQdO'#CwO1[QdO'#C}O1rQdO'#DQO2YQ!pO'#DSO4fQ!jO,5:|OOQO'#DX'#DXO-SQ`O'#DWO4vQ!nO'#FqO6|Q`O'#DYO7RQ`O'#DyOOQ['#Fq'#FqO7WQhO'#GOO7fQ`O,5;SO7kQ!bO,5;UOOQS'#En'#EnO7sQ`O,5;WO7xQdO,5;WOOQO'#Eq'#EqO8QQ`O,5;ZO8VQhO,5;aO'oQdO'#DjOOQS,5;c,5;cO0jQ`O,5;cO8_QdO,5;cOOQS'#F`'#F`O8gQdO'#E|O7fQ`O,5;fO8oQdO,5:yO9PQdO'#FZO9^Q`O,5lQhO'#DoOOQW,5:Y,5:YOOQW,5:d,5:dOOQW,5:S,5:SO>vQhO,5:VO?bQ!fO'#FrOOQS'#Fr'#FrOOQS'#FS'#FSO@rQdO,59cOOQ[,59c,59cOAYQdO,59iOOQ[,59i,59iOApQdO,59lOOQ[,59l,59lOOQ[,59n,59nO)YQdO,59pOBWQhO'#EdOOQW'#Ed'#EdOBuQ`O1G0hO4oQhO1G0hOOQ[,59r,59rO)}QhO'#D[OOQ[,59t,59tOBzQ#tO,5:eOCVQhO'#F]OCdQ`O,5vQhO'#DmOI_QhO'#DqOIgQhO'#DsOIlQhO'#FwOOQO'#Fw'#FwOItQ!bO'#DwOOQO'#Fy'#FyOOQO'#Fv'#FvOIyQ`O1G/qOOQS-E9Q-E9QOOQ[1G.}1G.}OOQ[1G/T1G/TOOQ[1G/W1G/WOOQ[1G/[1G/[OJOQdO,5;OOOQS7+&S7+&SOJTQ`O7+&SOJYQhO'#D]OJbQ`O,59vO)}QhO,59vOOQ[1G0P1G0POJjQ`O1G0POJoQhO,5;wOOQO-E9Z-E9ZOOQS7+&^7+&^OJ}QbO'#DSOOQO'#Et'#EtOK]Q`O'#EsOOQO'#Es'#EsOKhQ`O'#F^OKpQdO,5;^OOQS,5;^,5;^OOQ[1G/p1G/pOOQS7+&i7+&iO7fQ`O7+&iOK{Q!fO'#FYO)YQdO'#FYOMSQdO7+&POOQO7+&P7+&POOQO,5:{,5:{OOQO1G1a1G1aOMgQ!bO<vQhO'#DrOOQO,5:],5:]O! hQhO,5:_OGUQhO,5:cOOQW7+%]7+%]OOQO'#Ef'#EfO! pQ`O1G0jOOQS<xAN>xO!#zQ`OAN>xO!$PQaO,5;rOOQO-E9U-E9UO!$ZQdO,5;qOOQO-E9T-E9TOOQW<vQhO'#DuOOQO1G/y1G/yO!%vQ!bO1G/}OJOQdO'#F[O!&OQ`O7+&UOOQW7+&U7+&UO!&WQ!bO1G/cOOQ[7+$|7+$|O!&cQhO7+$|P!&jQ`O'#FTOOQO,5;y,5;yOOQO-E9]-E9]OOQS1G1d1G1dOOQPG24dG24dO!&oQ`OAN>ZO)YQdO1G1[O!&tQ`O7+'jOOQO1G/x1G/xO!&|Q`O,5:aO!$eQhO7+%iOOQO,5;v,5;vOOQO-E9Y-E9YOOQW<Q!]!^>|!^!_?_!_!`@Z!`!a@n!a!b%Z!b!cAo!c!k%Z!k!lC|!l!u%Z!u!vC|!v!}%Z!}#OD_#O#P%Z#P#QDp#Q#R2X#R#]%Z#]#^ER#^#g%Z#g#hC|#h#o%Z#o#pIf#p#qIw#q#rJ`#r#sJq#s#y%Z#y#z&R#z$f%Z$f$g&R$g#BY%Z#BY#BZ&R#BZ$IS%Z$IS$I_&R$I_$I|%Z$I|$JO&R$JO$JT%Z$JT$JU&R$JU$KV%Z$KV$KW&R$KW&FU%Z&FU&FV&R&FV;'S%Z;'S;=`KY<%lO%Z`%^SOy%jz;'S%j;'S;=`%{<%lO%j`%oS!o`Oy%jz;'S%j;'S;=`%{<%lO%j`&OP;=`<%l%j~&Wh$[~OX%jX^'r^p%jpq'rqy%jz#y%j#y#z'r#z$f%j$f$g'r$g#BY%j#BY#BZ'r#BZ$IS%j$IS$I_'r$I_$I|%j$I|$JO'r$JO$JT%j$JT$JU'r$JU$KV%j$KV$KW'r$KW&FU%j&FU&FV'r&FV;'S%j;'S;=`%{<%lO%j~'yh$[~!o`OX%jX^'r^p%jpq'rqy%jz#y%j#y#z'r#z$f%j$f$g'r$g#BY%j#BY#BZ'r#BZ$IS%j$IS$I_'r$I_$I|%j$I|$JO'r$JO$JT%j$JT$JU'r$JU$KV%j$KV$KW'r$KW&FU%j&FU&FV'r&FV;'S%j;'S;=`%{<%lO%jj)jS$qYOy%jz;'S%j;'S;=`%{<%lO%j~)yWOY)vZr)vrs*cs#O)v#O#P*h#P;'S)v;'S;=`+d<%lO)v~*hOw~~*kRO;'S)v;'S;=`*t;=`O)v~*wXOY)vZr)vrs*cs#O)v#O#P*h#P;'S)v;'S;=`+d;=`<%l)v<%lO)v~+gP;=`<%l)vj+oYmYOy%jz!Q%j!Q![,_![!c%j!c!i,_!i#T%j#T#Z,_#Z;'S%j;'S;=`%{<%lO%jj,dY!o`Oy%jz!Q%j!Q![-S![!c%j!c!i-S!i#T%j#T#Z-S#Z;'S%j;'S;=`%{<%lO%jj-XY!o`Oy%jz!Q%j!Q![-w![!c%j!c!i-w!i#T%j#T#Z-w#Z;'S%j;'S;=`%{<%lO%jj.OYuY!o`Oy%jz!Q%j!Q![.n![!c%j!c!i.n!i#T%j#T#Z.n#Z;'S%j;'S;=`%{<%lO%jj.uYuY!o`Oy%jz!Q%j!Q![/e![!c%j!c!i/e!i#T%j#T#Z/e#Z;'S%j;'S;=`%{<%lO%jj/jY!o`Oy%jz!Q%j!Q![0Y![!c%j!c!i0Y!i#T%j#T#Z0Y#Z;'S%j;'S;=`%{<%lO%jj0aYuY!o`Oy%jz!Q%j!Q![1P![!c%j!c!i1P!i#T%j#T#Z1P#Z;'S%j;'S;=`%{<%lO%jj1UY!o`Oy%jz!Q%j!Q![1t![!c%j!c!i1t!i#T%j#T#Z1t#Z;'S%j;'S;=`%{<%lO%jj1{SuY!o`Oy%jz;'S%j;'S;=`%{<%lO%jd2[UOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%jd2uS!yS!o`Oy%jz;'S%j;'S;=`%{<%lO%jb3WS^QOy%jz;'S%j;'S;=`%{<%lO%j~3gWOY3dZw3dwx*cx#O3d#O#P4P#P;'S3d;'S;=`4{<%lO3d~4SRO;'S3d;'S;=`4];=`O3d~4`XOY3dZw3dwx*cx#O3d#O#P4P#P;'S3d;'S;=`4{;=`<%l3d<%lO3d~5OP;=`<%l3dj5WShYOy%jz;'S%j;'S;=`%{<%lO%j~5iOg~n5pUWQyWOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%jj6ZWyW#PQOy%jz!O%j!O!P6s!P!Q%j!Q![9x![;'S%j;'S;=`%{<%lO%jj6xU!o`Oy%jz!Q%j!Q![7[![;'S%j;'S;=`%{<%lO%jj7cY!o`$gYOy%jz!Q%j!Q![7[![!g%j!g!h8R!h#X%j#X#Y8R#Y;'S%j;'S;=`%{<%lO%jj8WY!o`Oy%jz{%j{|8v|}%j}!O8v!O!Q%j!Q![9_![;'S%j;'S;=`%{<%lO%jj8{U!o`Oy%jz!Q%j!Q![9_![;'S%j;'S;=`%{<%lO%jj9fU!o`$gYOy%jz!Q%j!Q![9_![;'S%j;'S;=`%{<%lO%jj:P[!o`$gYOy%jz!O%j!O!P7[!P!Q%j!Q![9x![!g%j!g!h8R!h#X%j#X#Y8R#Y;'S%j;'S;=`%{<%lO%jj:zS!dYOy%jz;'S%j;'S;=`%{<%lO%jj;]WyWOy%jz!O%j!O!P6s!P!Q%j!Q![9x![;'S%j;'S;=`%{<%lO%jj;zU`YOy%jz!Q%j!Q![7[![;'S%j;'S;=`%{<%lO%j~VUcYOy%jz![%j![!]>i!];'S%j;'S;=`%{<%lO%jj>pSdY!o`Oy%jz;'S%j;'S;=`%{<%lO%jj?RSnYOy%jz;'S%j;'S;=`%{<%lO%jh?dU!WWOy%jz!_%j!_!`?v!`;'S%j;'S;=`%{<%lO%jh?}S!WW!o`Oy%jz;'S%j;'S;=`%{<%lO%jl@bS!WW!ySOy%jz;'S%j;'S;=`%{<%lO%jj@uV!|Q!WWOy%jz!_%j!_!`?v!`!aA[!a;'S%j;'S;=`%{<%lO%jbAcS!|Q!o`Oy%jz;'S%j;'S;=`%{<%lO%jjArYOy%jz}%j}!OBb!O!c%j!c!}CP!}#T%j#T#oCP#o;'S%j;'S;=`%{<%lO%jjBgW!o`Oy%jz!c%j!c!}CP!}#T%j#T#oCP#o;'S%j;'S;=`%{<%lO%jjCW[lY!o`Oy%jz}%j}!OCP!O!Q%j!Q![CP![!c%j!c!}CP!}#T%j#T#oCP#o;'S%j;'S;=`%{<%lO%jhDRS!zWOy%jz;'S%j;'S;=`%{<%lO%jjDdSpYOy%jz;'S%j;'S;=`%{<%lO%jnDuSo^Oy%jz;'S%j;'S;=`%{<%lO%jjEWU!zWOy%jz#a%j#a#bEj#b;'S%j;'S;=`%{<%lO%jbEoU!o`Oy%jz#d%j#d#eFR#e;'S%j;'S;=`%{<%lO%jbFWU!o`Oy%jz#c%j#c#dFj#d;'S%j;'S;=`%{<%lO%jbFoU!o`Oy%jz#f%j#f#gGR#g;'S%j;'S;=`%{<%lO%jbGWU!o`Oy%jz#h%j#h#iGj#i;'S%j;'S;=`%{<%lO%jbGoU!o`Oy%jz#T%j#T#UHR#U;'S%j;'S;=`%{<%lO%jbHWU!o`Oy%jz#b%j#b#cHj#c;'S%j;'S;=`%{<%lO%jbHoU!o`Oy%jz#h%j#h#iIR#i;'S%j;'S;=`%{<%lO%jbIYS$pQ!o`Oy%jz;'S%j;'S;=`%{<%lO%jjIkSsYOy%jz;'S%j;'S;=`%{<%lO%jfI|U$cUOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%jjJeSrYOy%jz;'S%j;'S;=`%{<%lO%jfJvU#PQOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%j`K]P;=`<%l%Z",tokenizers:[ok,ak,rk,sk,1,2,3,4,new mi("m~RRYZ[z{a~~g~aO$_~~dP!P!Qg~lO$`~~",28,152)],topRules:{StyleSheet:[0,6],Styles:[1,126]},dynamicPrecedences:{94:1},specialized:[{term:147,get:i=>ck[i]||-1},{term:148,get:i=>hk[i]||-1},{term:4,get:i=>fk[i]||-1},{term:28,get:i=>uk[i]||-1},{term:146,get:i=>Ok[i]||-1}],tokenPrec:2405});var Sc=null;function yc(){if(!Sc&&typeof document=="object"&&document.body){let{style:i}=document.body,e=[],t=new Set;for(let n in i)n!="cssText"&&n!="cssFloat"&&typeof i[n]=="string"&&(/[A-Z]/.test(n)&&(n=n.replace(/[A-Z]/g,r=>"-"+r.toLowerCase())),t.has(n)||(e.push(n),t.add(n)));Sc=e.sort().map(n=>({type:"property",label:n,apply:n+": "}))}return Sc||[]}var Qp=["active","after","any-link","autofill","backdrop","before","checked","cue","default","defined","disabled","empty","enabled","file-selector-button","first","first-child","first-letter","first-line","first-of-type","focus","focus-visible","focus-within","fullscreen","has","host","host-context","hover","in-range","indeterminate","invalid","is","lang","last-child","last-of-type","left","link","marker","modal","not","nth-child","nth-last-child","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","part","placeholder","placeholder-shown","read-only","read-write","required","right","root","scope","selection","slotted","target","target-text","valid","visited","where"].map(i=>({type:"class",label:i})),bp=["above","absolute","activeborder","additive","activecaption","after-white-space","ahead","alias","all","all-scroll","alphabetic","alternate","always","antialiased","appworkspace","asterisks","attr","auto","auto-flow","avoid","avoid-column","avoid-page","avoid-region","axis-pan","background","backwards","baseline","below","bidi-override","blink","block","block-axis","bold","bolder","border","border-box","both","bottom","break","break-all","break-word","bullets","button","button-bevel","buttonface","buttonhighlight","buttonshadow","buttontext","calc","capitalize","caps-lock-indicator","caption","captiontext","caret","cell","center","checkbox","circle","cjk-decimal","clear","clip","close-quote","col-resize","collapse","color","color-burn","color-dodge","column","column-reverse","compact","condensed","contain","content","contents","content-box","context-menu","continuous","copy","counter","counters","cover","crop","cross","crosshair","currentcolor","cursive","cyclic","darken","dashed","decimal","decimal-leading-zero","default","default-button","dense","destination-atop","destination-in","destination-out","destination-over","difference","disc","discard","disclosure-closed","disclosure-open","document","dot-dash","dot-dot-dash","dotted","double","down","e-resize","ease","ease-in","ease-in-out","ease-out","element","ellipse","ellipsis","embed","end","ethiopic-abegede-gez","ethiopic-halehame-aa-er","ethiopic-halehame-gez","ew-resize","exclusion","expanded","extends","extra-condensed","extra-expanded","fantasy","fast","fill","fill-box","fixed","flat","flex","flex-end","flex-start","footnotes","forwards","from","geometricPrecision","graytext","grid","groove","hand","hard-light","help","hidden","hide","higher","highlight","highlighttext","horizontal","hsl","hsla","hue","icon","ignore","inactiveborder","inactivecaption","inactivecaptiontext","infinite","infobackground","infotext","inherit","initial","inline","inline-axis","inline-block","inline-flex","inline-grid","inline-table","inset","inside","intrinsic","invert","italic","justify","keep-all","landscape","large","larger","left","level","lighter","lighten","line-through","linear","linear-gradient","lines","list-item","listbox","listitem","local","logical","loud","lower","lower-hexadecimal","lower-latin","lower-norwegian","lowercase","ltr","luminosity","manipulation","match","matrix","matrix3d","medium","menu","menutext","message-box","middle","min-intrinsic","mix","monospace","move","multiple","multiple_mask_images","multiply","n-resize","narrower","ne-resize","nesw-resize","no-close-quote","no-drop","no-open-quote","no-repeat","none","normal","not-allowed","nowrap","ns-resize","numbers","numeric","nw-resize","nwse-resize","oblique","opacity","open-quote","optimizeLegibility","optimizeSpeed","outset","outside","outside-shape","overlay","overline","padding","padding-box","painted","page","paused","perspective","pinch-zoom","plus-darker","plus-lighter","pointer","polygon","portrait","pre","pre-line","pre-wrap","preserve-3d","progress","push-button","radial-gradient","radio","read-only","read-write","read-write-plaintext-only","rectangle","region","relative","repeat","repeating-linear-gradient","repeating-radial-gradient","repeat-x","repeat-y","reset","reverse","rgb","rgba","ridge","right","rotate","rotate3d","rotateX","rotateY","rotateZ","round","row","row-resize","row-reverse","rtl","run-in","running","s-resize","sans-serif","saturation","scale","scale3d","scaleX","scaleY","scaleZ","screen","scroll","scrollbar","scroll-position","se-resize","self-start","self-end","semi-condensed","semi-expanded","separate","serif","show","single","skew","skewX","skewY","skip-white-space","slide","slider-horizontal","slider-vertical","sliderthumb-horizontal","sliderthumb-vertical","slow","small","small-caps","small-caption","smaller","soft-light","solid","source-atop","source-in","source-out","source-over","space","space-around","space-between","space-evenly","spell-out","square","start","static","status-bar","stretch","stroke","stroke-box","sub","subpixel-antialiased","svg_masks","super","sw-resize","symbolic","symbols","system-ui","table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row","table-row-group","text","text-bottom","text-top","textarea","textfield","thick","thin","threeddarkshadow","threedface","threedhighlight","threedlightshadow","threedshadow","to","top","transform","translate","translate3d","translateX","translateY","translateZ","transparent","ultra-condensed","ultra-expanded","underline","unidirectional-pan","unset","up","upper-latin","uppercase","url","var","vertical","vertical-text","view-box","visible","visibleFill","visiblePainted","visibleStroke","visual","w-resize","wait","wave","wider","window","windowframe","windowtext","words","wrap","wrap-reverse","x-large","x-small","xor","xx-large","xx-small"].map(i=>({type:"keyword",label:i})).concat(["aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","grey","green","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen"].map(i=>({type:"constant",label:i}))),dk=["a","abbr","address","article","aside","b","bdi","bdo","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","dd","del","details","dfn","dialog","div","dl","dt","em","figcaption","figure","footer","form","header","hgroup","h1","h2","h3","h4","h5","h6","hr","html","i","iframe","img","input","ins","kbd","label","legend","li","main","meter","nav","ol","output","p","pre","ruby","section","select","small","source","span","strong","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","tr","u","ul"].map(i=>({type:"type",label:i})),pk=["@charset","@color-profile","@container","@counter-style","@font-face","@font-feature-values","@font-palette-values","@import","@keyframes","@layer","@media","@namespace","@page","@position-try","@property","@scope","@starting-style","@supports","@view-transition"].map(i=>({type:"keyword",label:i})),Yt=/^(\w[\w-]*|-\w[\w-]*|)$/,mk=/^-(-[\w-]*)?$/;function gk(i,e){var t;if((i.name=="("||i.type.isError)&&(i=i.parent||i),i.name!="ArgList")return!1;let n=(t=i.parent)===null||t===void 0?void 0:t.firstChild;return n?.name!="Callee"?!1:e.sliceString(n.from,n.to)=="var"}var Sp=new ci,Qk=["Declaration"];function bk(i){for(let e=i;;){if(e.type.isTop)return e;if(!(e=e.parent))return i}}function yp(i,e,t){if(e.to-e.from>4096){let n=Sp.get(e);if(n)return n;let r=[],s=new Set,o=e.cursor(ee.IncludeAnonymous);if(o.firstChild())do for(let a of yp(i,o.node,t))s.has(a.label)||(s.add(a.label),r.push(a));while(o.nextSibling());return Sp.set(e,r),r}else{let n=[],r=new Set;return e.cursor().iterate(s=>{var o;if(t(s)&&s.matchContext(Qk)&&((o=s.node.nextSibling)===null||o===void 0?void 0:o.name)==":"){let a=i.sliceString(s.from,s.to);r.has(a)||(r.add(a),n.push({label:a,type:"variable"}))}}),n}}var Sk=i=>e=>{let{state:t,pos:n}=e,r=B(t).resolveInner(n,-1),s=r.type.isError&&r.from==r.to-1&&t.doc.sliceString(r.from,r.to)=="-";if(r.name=="PropertyName"||(s||r.name=="TagName")&&/^(Block|Styles)$/.test(r.resolve(r.to).name))return{from:r.from,options:yc(),validFor:Yt};if(r.name=="ValueName")return{from:r.from,options:bp,validFor:Yt};if(r.name=="PseudoClassName")return{from:r.from,options:Qp,validFor:Yt};if(i(r)||(e.explicit||s)&&gk(r,t.doc))return{from:i(r)||s?r.from:n,options:yp(t.doc,bk(r),i),validFor:mk};if(r.name=="TagName"){for(let{parent:l}=r;l;l=l.parent)if(l.name=="Block")return{from:r.from,options:yc(),validFor:Yt};return{from:r.from,options:dk,validFor:Yt}}if(r.name=="AtKeyword")return{from:r.from,options:pk,validFor:Yt};if(!e.explicit)return null;let o=r.resolve(n),a=o.childBefore(n);return a&&a.name==":"&&o.name=="PseudoClassSelector"?{from:n,options:Qp,validFor:Yt}:a&&a.name==":"&&o.name=="Declaration"||o.name=="ArgList"?{from:n,options:bp,validFor:Yt}:o.name=="Block"||o.name=="Styles"?{from:n,options:yc(),validFor:Yt}:null},yk=Sk(i=>i.name=="VariableName"),xr=ve.define({name:"css",parser:gp.configure({props:[we.add({Declaration:Vt()}),$e.add({"Block KeyframeList":lt})]}),languageData:{commentTokens:{block:{open:"/*",close:"*/"}},indentOnInput:/^\s*\}$/,wordChars:"-"}});function io(){return new pe(xr,xr.data.of({autocomplete:yk}))}var kk=316,xk=317,kp=1,wk=2,Pk=3,vk=4,$k=318,Tk=320,Ck=321,Xk=5,_k=6,Rk=0,xc=[9,10,11,12,13,32,133,160,5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8232,8233,8239,8287,12288],xp=125,Ak=59,wc=47,Zk=42,qk=43,Ek=45,zk=60,Lk=44,Mk=63,Wk=46,jk=91,Vk=new ut({start:!1,shift(i,e){return e==Xk||e==_k||e==Tk?i:e==Ck},strict:!1}),Dk=new K((i,e)=>{let{next:t}=i;(t==xp||t==-1||e.context)&&i.acceptToken($k)},{contextual:!0,fallback:!0}),Yk=new K((i,e)=>{let{next:t}=i,n;xc.indexOf(t)>-1||t==wc&&((n=i.peek(1))==wc||n==Zk)||t!=xp&&t!=Ak&&t!=-1&&!e.context&&i.acceptToken(kk)},{contextual:!0}),Ik=new K((i,e)=>{i.next==jk&&!e.context&&i.acceptToken(xk)},{contextual:!0}),Bk=new K((i,e)=>{let{next:t}=i;if(t==qk||t==Ek){if(i.advance(),t==i.next){i.advance();let n=!e.context&&e.canShift(kp);i.acceptToken(n?kp:wk)}}else t==Mk&&i.peek(1)==Wk&&(i.advance(),i.advance(),(i.next<48||i.next>57)&&i.acceptToken(Pk))},{contextual:!0});function kc(i,e){return i>=65&&i<=90||i>=97&&i<=122||i==95||i>=192||!e&&i>=48&&i<=57}var Uk=new K((i,e)=>{if(i.next!=zk||!e.dialectEnabled(Rk)||(i.advance(),i.next==wc))return;let t=0;for(;xc.indexOf(i.next)>-1;)i.advance(),t++;if(kc(i.next,!0)){for(i.advance(),t++;kc(i.next,!1);)i.advance(),t++;for(;xc.indexOf(i.next)>-1;)i.advance(),t++;if(i.next==Lk)return;for(let n=0;;n++){if(n==7){if(!kc(i.next,!0))return;break}if(i.next!="extends".charCodeAt(n))break;i.advance(),t++}}i.acceptToken(vk,-t)}),Gk=ge({"get set async static":d.modifier,"for while do if else switch try catch finally return throw break continue default case defer":d.controlKeyword,"in of await yield void typeof delete instanceof as satisfies":d.operatorKeyword,"let var const using function class extends":d.definitionKeyword,"import export from":d.moduleKeyword,"with debugger new":d.keyword,TemplateString:d.special(d.string),super:d.atom,BooleanLiteral:d.bool,this:d.self,null:d.null,Star:d.modifier,VariableName:d.variableName,"CallExpression/VariableName TaggedTemplateExpression/VariableName":d.function(d.variableName),VariableDefinition:d.definition(d.variableName),Label:d.labelName,PropertyName:d.propertyName,PrivatePropertyName:d.special(d.propertyName),"CallExpression/MemberExpression/PropertyName":d.function(d.propertyName),"FunctionDeclaration/VariableDefinition":d.function(d.definition(d.variableName)),"ClassDeclaration/VariableDefinition":d.definition(d.className),"NewExpression/VariableName":d.className,PropertyDefinition:d.definition(d.propertyName),PrivatePropertyDefinition:d.definition(d.special(d.propertyName)),UpdateOp:d.updateOperator,"LineComment Hashbang":d.lineComment,BlockComment:d.blockComment,Number:d.number,String:d.string,Escape:d.escape,ArithOp:d.arithmeticOperator,LogicOp:d.logicOperator,BitOp:d.bitwiseOperator,CompareOp:d.compareOperator,RegExp:d.regexp,Equals:d.definitionOperator,Arrow:d.function(d.punctuation),": Spread":d.punctuation,"( )":d.paren,"[ ]":d.squareBracket,"{ }":d.brace,"InterpolationStart InterpolationEnd":d.special(d.brace),".":d.derefOperator,", ;":d.separator,"@":d.meta,TypeName:d.typeName,TypeDefinition:d.definition(d.typeName),"type enum interface implements namespace module declare":d.definitionKeyword,"abstract global Privacy readonly override":d.modifier,"is keyof unique infer asserts":d.operatorKeyword,JSXAttributeValue:d.attributeValue,JSXText:d.content,"JSXStartTag JSXStartCloseTag JSXSelfCloseEndTag JSXEndTag":d.angleBracket,"JSXIdentifier JSXNameSpacedName":d.tagName,"JSXAttribute/JSXIdentifier JSXAttribute/JSXNameSpacedName":d.attributeName,"JSXBuiltin/JSXIdentifier":d.standard(d.tagName)}),Nk={__proto__:null,export:20,as:25,from:33,default:36,async:41,function:42,in:52,out:55,const:56,extends:60,this:64,true:72,false:72,null:84,void:88,typeof:92,super:108,new:142,delete:154,yield:163,await:167,class:172,public:235,private:235,protected:235,readonly:237,instanceof:256,satisfies:259,import:292,keyof:349,unique:353,infer:359,asserts:395,is:397,abstract:417,implements:419,type:421,let:424,var:426,using:429,interface:435,enum:439,namespace:445,module:447,declare:451,global:455,defer:471,for:476,of:485,while:488,with:492,do:496,if:500,else:502,switch:506,case:512,try:518,catch:522,finally:526,return:530,throw:534,break:538,continue:542,debugger:546},Fk={__proto__:null,async:129,get:131,set:133,declare:195,public:197,private:197,protected:197,static:199,abstract:201,override:203,readonly:209,accessor:211,new:401},Hk={__proto__:null,"<":193},wp=Pe.deserialize({version:14,states:"$F|Q%TQlOOO%[QlOOO'_QpOOP(lO`OOO*zQ!0MxO'#CiO+RO#tO'#CjO+aO&jO'#CjO+oO#@ItO'#DaO.QQlO'#DgO.bQlO'#DrO%[QlO'#DzO0fQlO'#ESOOQ!0Lf'#E['#E[O1PQ`O'#EXOOQO'#Ep'#EpOOQO'#Il'#IlO1XQ`O'#GsO1dQ`O'#EoO1iQ`O'#EoO3hQ!0MxO'#JrO6[Q!0MxO'#JsO6uQ`O'#F]O6zQ,UO'#FtOOQ!0Lf'#Ff'#FfO7VO7dO'#FfO9XQMhO'#F|O9`Q`O'#F{OOQ!0Lf'#Js'#JsOOQ!0Lb'#Jr'#JrO9eQ`O'#GwOOQ['#K_'#K_O9pQ`O'#IYO9uQ!0LrO'#IZOOQ['#J`'#J`OOQ['#I_'#I_Q`QlOOQ`QlOOO9}Q!L^O'#DvO:UQlO'#EOO:]QlO'#EQO9kQ`O'#GsO:dQMhO'#CoO:rQ`O'#EnO:}Q`O'#EyO;hQMhO'#FeO;xQ`O'#GsOOQO'#K`'#K`O;}Q`O'#K`O<]Q`O'#G{O<]Q`O'#G|O<]Q`O'#HOO9kQ`O'#HRO=SQ`O'#HUO>kQ`O'#CeO>{Q`O'#HcO?TQ`O'#HiO?TQ`O'#HkO`QlO'#HmO?TQ`O'#HoO?TQ`O'#HrO?YQ`O'#HxO?_Q!0LsO'#IOO%[QlO'#IQO?jQ!0LsO'#ISO?uQ!0LsO'#IUO9uQ!0LrO'#IWO@QQ!0MxO'#CiOASQpO'#DlQOQ`OOO%[QlO'#EQOAjQ`O'#ETO:dQMhO'#EnOAuQ`O'#EnOBQQ!bO'#FeOOQ['#Cg'#CgOOQ!0Lb'#Dq'#DqOOQ!0Lb'#Jv'#JvO%[QlO'#JvOOQO'#Jy'#JyOOQO'#Ih'#IhOCQQpO'#EgOOQ!0Lb'#Ef'#EfOOQ!0Lb'#J}'#J}OC|Q!0MSO'#EgODWQpO'#EWOOQO'#Jx'#JxODlQpO'#JyOEyQpO'#EWODWQpO'#EgPFWO&2DjO'#CbPOOO)CD})CD}OOOO'#I`'#I`OFcO#tO,59UOOQ!0Lh,59U,59UOOOO'#Ia'#IaOFqO&jO,59UOGPQ!L^O'#DcOOOO'#Ic'#IcOGWO#@ItO,59{OOQ!0Lf,59{,59{OGfQlO'#IdOGyQ`O'#JtOIxQ!fO'#JtO+}QlO'#JtOJPQ`O,5:ROJgQ`O'#EpOJtQ`O'#KTOKPQ`O'#KSOKPQ`O'#KSOKXQ`O,5;^OK^Q`O'#KROOQ!0Ln,5:^,5:^OKeQlO,5:^OMcQ!0MxO,5:fONSQ`O,5:nONmQ!0LrO'#KQONtQ`O'#KPO9eQ`O'#KPO! YQ`O'#KPO! bQ`O,5;]O! gQ`O'#KPO!#lQ!fO'#JsOOQ!0Lh'#Ci'#CiO%[QlO'#ESO!$[Q!fO,5:sOOQS'#Jz'#JzOOQO-EtOOQ['#Jh'#JhOOQ[,5>u,5>uOOQ[-E<]-E<]O!TO`QlO,5>VO!LOQ`O,5>XO`QlO,5>ZO!LTQ`O,5>^O!LYQlO,5>dOOQ[,5>j,5>jO%[QlO,5>jO9uQ!0LrO,5>lOOQ[,5>n,5>nO#!dQ`O,5>nOOQ[,5>p,5>pO#!dQ`O,5>pOOQ[,5>r,5>rO##QQpO'#D_O%[QlO'#JvO##sQpO'#JvO##}QpO'#DmO#$`QpO'#DmO#&qQlO'#DmO#&xQ`O'#JuO#'QQ`O,5:WO#'VQ`O'#EtO#'eQ`O'#KUO#'mQ`O,5;_O#'rQpO'#DmO#(PQpO'#EVOOQ!0Lf,5:o,5:oO%[QlO,5:oO#(WQ`O,5:oO?YQ`O,5;YO!CUQpO,5;YO!C^QMhO,5;YO:dQMhO,5;YO#(`Q`O,5@bO#(eQ07dO,5:sOOQO-EPO$6^Q`O,5>POOQ[1G3i1G3iO`QlO1G3iOOQ[1G3o1G3oOOQ[1G3q1G3qO?TQ`O1G3sO$6cQlO1G3uO$:gQlO'#HtOOQ[1G3x1G3xO$:tQ`O'#HzO?YQ`O'#H|OOQ[1G4O1G4OO$:|QlO1G4OO9uQ!0LrO1G4UOOQ[1G4W1G4WOOQ!0Lb'#G_'#G_O9uQ!0LrO1G4YO9uQ!0LrO1G4[O$?TQ`O,5@bO!)[QlO,5;`O9eQ`O,5;`O?YQ`O,5:XO!)[QlO,5:XO!CUQpO,5:XO$?YQ?MtO,5:XOOQO,5;`,5;`O$?dQpO'#IeO$?zQ`O,5@aOOQ!0Lf1G/r1G/rO$@SQpO'#IkO$@^Q`O,5@pOOQ!0Lb1G0y1G0yO#$`QpO,5:XOOQO'#Ig'#IgO$@fQpO,5:qOOQ!0Ln,5:q,5:qO#(ZQ`O1G0ZOOQ!0Lf1G0Z1G0ZO%[QlO1G0ZOOQ!0Lf1G0t1G0tO?YQ`O1G0tO!CUQpO1G0tO!C^QMhO1G0tOOQ!0Lb1G5|1G5|O!ByQ!0LrO1G0^OOQO1G0m1G0mO%[QlO1G0mO$@mQ!0LrO1G0mO$@xQ!0LrO1G0mO!CUQpO1G0^ODWQpO1G0^O$AWQ!0LrO1G0mOOQO1G0^1G0^O$AlQ!0MxO1G0mPOOO-E<[-E<[POOO1G.h1G.hOOOO1G/i1G/iO$AvQ!bO,5QQpO,5@}OOQ!0Lb1G3c1G3cOOQ[7+$V7+$VO@zQ`O7+$VO9uQ!0LrO7+$VO%>]Q`O7+$VO%[QlO1G6lO%[QlO1G6mO%>bQ!0LrO1G6lO%>lQlO1G3kO%>sQ`O1G3kO%>xQlO1G3kOOQ[7+)T7+)TO9uQ!0LrO7+)_O`QlO7+)aOOQ['#Kh'#KhOOQ['#JS'#JSO%?PQlO,5>`OOQ[,5>`,5>`O%[QlO'#HuO%?^Q`O'#HwOOQ[,5>f,5>fO9eQ`O,5>fOOQ[,5>h,5>hOOQ[7+)j7+)jOOQ[7+)p7+)pOOQ[7+)t7+)tOOQ[7+)v7+)vO%?cQpO1G5|O%?}Q?MtO1G0zO%@XQ`O1G0zOOQO1G/s1G/sO%@dQ?MtO1G/sO?YQ`O1G/sO!)[QlO'#DmOOQO,5?P,5?POOQO-ERQ`O7+,WO&>WQ`O7+,XO%[QlO7+,WO%[QlO7+,XOOQ[7+)V7+)VO&>]Q`O7+)VO&>bQlO7+)VO&>iQ`O7+)VOOQ[<nQ`O,5>aOOQ[,5>c,5>cO&>sQ`O1G4QO9eQ`O7+&fO!)[QlO7+&fOOQO7+%_7+%_O&>xQ?MtO1G6ZO?YQ`O7+%_OOQ!0Lf<yQ?MvO,5?aO'@|Q?MvO,5?cO'CPQ?MvO7+'|O'DuQMjOG27TOOQO<VO!l$xO#jROe!iOpkOrPO(T)]O(VTO(YUO(aVO(o[O~O!]$_Oa$qa'z$qa'w$qa!k$qa!Y$qa!_$qa%i$qa!g$qa~Ol)dO~P!&zOh%VOp%WOr%XOs$tOt$tOz%YO|%ZO!O%]O!S${O!_$|O!i%bO!l$xO#j%cO$W%`O$t%^O$v%_O$y%aO(T(vO(VTO(YUO(a$uO(y$}O(z%PO~Og(pP~P!,TO!Q)iO!g)hO!_$^X$Z$^X$]$^X$_$^X$f$^X~O!g)hO!_({X$Z({X$]({X$_({X$f({X~O!Q)iO~P!.^O!Q)iO!_({X$Z({X$]({X$_({X$f({X~O!_)kO$Z)oO$])jO$_)jO$f)pO~O![)sO~P!)[O$]$hO$_$gO$f)wO~On$zX!Q$zX#S$zX'y$zX(y$zX(z$zX~OgmXg$zXnmX!]mX#`mX~P!0SOx)yO(b)zO(c)|O~On*VO!Q*OO'y*PO(y$}O(z%PO~Og)}O~P!1WOg*WO~Oh%VOr%XOs$tOt$tOz%YO|%ZO!OVO!l$xO#jVO!l$xO#jROe!iOpkOrPO(VTO(YUO(aVO(o[O~O(T=QO~P#$qO!]-]O!^(iX~O!^-_O~O!g-VO#`-UO!]#hX!^#hX~O!]-`O!^(xX~O!^-bO~O!c-cO!d-cO(U!lO~P#$`O!^-fO~P'_On-iO!_'`O~O!Y-nO~Os!{a!b!{a!c!{a!d!{a#T!{a#U!{a#V!{a#W!{a#X!{a#[!{a#]!{a(U!{a(V!{a(Y!{a(e!{a(o!{a~P!#vO!p-sO#`-qO~PChO!c-uO!d-uO(U!lO~PDWOa%nO#`-qO'z%nO~Oa%nO!g#vO#`-qO'z%nO~Oa%nO!g#vO!p-sO#`-qO'z%nO(r'pO~O(P'xO(Q'xO(R-zO~Ov-{O~O!Y'Wa!]'Wa~P!:tO![.PO!Y'WX!]'WX~P%[O!](VO!Y(ha~O!Y(ha~PHRO!](^O!Y(va~O!S%hO![.TO!_%iO(T%gO!Y'^X!]'^X~O#`.VO!](ta!k(taa(ta'z(ta~O!g#vO~P#,wO!](jO!k(sa~O!S%hO!_%iO#j.ZO(T%gO~Op.`O!S%hO![.]O!_%iO!|]O#i._O#j.]O(T%gO!]'aX!k'aX~OR.dO!l#xO~Oh%VOn.gO!_'`O%i.fO~Oa#ci!]#ci'z#ci'w#ci!Y#ci!k#civ#ci!_#ci%i#ci!g#ci~P!:tOn>]O!Q*OO'y*PO(y$}O(z%PO~O#k#_aa#_a#`#_a'z#_a!]#_a!k#_a!_#_a!Y#_a~P#/sO#k(`XP(`XR(`X[(`Xa(`Xj(`Xr(`X!S(`X!l(`X!p(`X#R(`X#n(`X#o(`X#p(`X#q(`X#r(`X#s(`X#t(`X#u(`X#v(`X#x(`X#z(`X#{(`X'z(`X(a(`X(r(`X!k(`X!Y(`X'w(`Xv(`X!_(`X%i(`X!g(`X~P!6kO!].tO!k(kX~P!:tO!k.wO~O!Y.yO~OP$[OR#zO!Q#yO!S#{O!l#xO!p$[O(aVO[#mia#mij#mir#mi!]#mi#R#mi#o#mi#p#mi#q#mi#r#mi#s#mi#t#mi#u#mi#v#mi#x#mi#z#mi#{#mi'z#mi(r#mi(y#mi(z#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#n#mi~P#3cO#n$OO~P#3cOP$[OR#zOr$aO!Q#yO!S#{O!l#xO!p$[O#n$OO#o$PO#p$PO#q$PO(aVO[#mia#mij#mi!]#mi#R#mi#s#mi#t#mi#u#mi#v#mi#x#mi#z#mi#{#mi'z#mi(r#mi(y#mi(z#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#r#mi~P#6QO#r$QO~P#6QOP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO(aVOa#mi!]#mi#x#mi#z#mi#{#mi'z#mi(r#mi(y#mi(z#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#v#mi~P#8oOP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO#v$SO(aVO(z#}Oa#mi!]#mi#z#mi#{#mi'z#mi(r#mi(y#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#x$UO~P#;VO#x#mi~P#;VO#v$SO~P#8oOP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO#v$SO#x$UO(aVO(y#|O(z#}Oa#mi!]#mi#{#mi'z#mi(r#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#z#mi~P#={O#z$WO~P#={OP]XR]X[]Xj]Xr]X!Q]X!S]X!l]X!p]X#R]X#S]X#`]X#kfX#n]X#o]X#p]X#q]X#r]X#s]X#t]X#u]X#v]X#x]X#z]X#{]X$Q]X(a]X(r]X(y]X(z]X!]]X!^]X~O$O]X~P#@jOP$[OR#zO[]O!Q*OO'y*PO(y$}O(z%POP#miR#mi!S#mi!l#mi!p#mi#n#mi#o#mi#p#mi#q#mi(a#mi~P#EyO!]/POg(pX~P!1WOg/RO~Oa$Pi!]$Pi'z$Pi'w$Pi!Y$Pi!k$Piv$Pi!_$Pi%i$Pi!g$Pi~P!:tO$]/SO$_/SO~O$]/TO$_/TO~O!g)hO#`/UO!_$cX$Z$cX$]$cX$_$cX$f$cX~O![/VO~O!_)kO$Z/XO$])jO$_)jO$f/YO~O!]VO!l$xO#j^O!Q*OO'y*PO(y$}O(z%POP#miR#mi!S#mi!l#mi!p#mi#n#mi#o#mi#p#mi#q#mi(a#mi~P&,QO#S$dOP(`XR(`X[(`Xj(`Xn(`Xr(`X!Q(`X!S(`X!l(`X!p(`X#R(`X#n(`X#o(`X#p(`X#q(`X#r(`X#s(`X#t(`X#u(`X#v(`X#x(`X#z(`X#{(`X$O(`X'y(`X(a(`X(r(`X(y(`X(z(`X!](`X!^(`X~O$O$Pi!]$Pi!^$Pi~P#BwO$O!ri!^!ri~P$+oOg']a!]']a~P!1WO!^7nO~O!]'da!^'da~P#BwO!Y7oO~P#/sO!g#vO(r'pO!]'ea!k'ea~O!]/pO!k)Oi~O!]/pO!g#vO!k)Oi~Og$|q!]$|q#`$|q$O$|q~P!1WO!Y'ga!]'ga~P#/sO!g7vO~O!]/yO!Y)Pi~P#/sO!]/yO!Y)Pi~O!Y7yO~Oh%VOr8OO!l%eO(r'pO~Oj8QO!g#vO~Or8TO!g#vO(r'pO~O!Q*OO'y*PO(z%POn'ja(y'ja!]'ja#`'ja~Og'ja$O'ja~P&5RO!Q*OO'y*POn'la(y'la(z'la!]'la#`'la~Og'la$O'la~P&5tOg(_q!](_q~P!1WO#`8VOg(_q!](_q~P!1WO!Y8WO~Og%Oq!]%Oq#`%Oq$O%Oq~P!1WOa$oy!]$oy'z$oy'w$oy!Y$oy!k$oyv$oy!_$oy%i$oy!g$oy~P!:tO!g6rO~O!]5[O!_)Qa~O!_'`OP$TaR$Ta[$Taj$Tar$Ta!Q$Ta!S$Ta!]$Ta!l$Ta!p$Ta#R$Ta#n$Ta#o$Ta#p$Ta#q$Ta#r$Ta#s$Ta#t$Ta#u$Ta#v$Ta#x$Ta#z$Ta#{$Ta(a$Ta(r$Ta(y$Ta(z$Ta~O%i7WO~P&8fO%^8[Oa%[i!_%[i'z%[i!]%[i~Oa#cy!]#cy'z#cy'w#cy!Y#cy!k#cyv#cy!_#cy%i#cy!g#cy~P!:tO[8^O~Ob8`O(T+qO(VTO(YUO~O!]1TO!^)Xi~O`8dO~O(e(|O!]'pX!^'pX~O!]5uO!^)Ua~O!^8nO~P%;eO(o!sO~P$&YO#[8oO~O!_1oO~O!_1oO%i8qO~On8tO!_1oO%i8qO~O[8yO!]'sa!^'sa~O!]1zO!^)Vi~O!k8}O~O!k9OO~O!k9RO~O!k9RO~P%[Oa9TO~O!g9UO~O!k9VO~O!](wi!^(wi~P#BwOa%nO#`9_O'z%nO~O!](ty!k(tya(ty'z(ty~P!:tO!](jO!k(sy~O%i9bO~P&8fO!_'`O%i9bO~O#k$|qP$|qR$|q[$|qa$|qj$|qr$|q!S$|q!]$|q!l$|q!p$|q#R$|q#n$|q#o$|q#p$|q#q$|q#r$|q#s$|q#t$|q#u$|q#v$|q#x$|q#z$|q#{$|q'z$|q(a$|q(r$|q!k$|q!Y$|q'w$|q#`$|qv$|q!_$|q%i$|q!g$|q~P#/sO#k'jaP'jaR'ja['jaa'jaj'jar'ja!S'ja!l'ja!p'ja#R'ja#n'ja#o'ja#p'ja#q'ja#r'ja#s'ja#t'ja#u'ja#v'ja#x'ja#z'ja#{'ja'z'ja(a'ja(r'ja!k'ja!Y'ja'w'jav'ja!_'ja%i'ja!g'ja~P&5RO#k'laP'laR'la['laa'laj'lar'la!S'la!l'la!p'la#R'la#n'la#o'la#p'la#q'la#r'la#s'la#t'la#u'la#v'la#x'la#z'la#{'la'z'la(a'la(r'la!k'la!Y'la'w'lav'la!_'la%i'la!g'la~P&5tO#k%OqP%OqR%Oq[%Oqa%Oqj%Oqr%Oq!S%Oq!]%Oq!l%Oq!p%Oq#R%Oq#n%Oq#o%Oq#p%Oq#q%Oq#r%Oq#s%Oq#t%Oq#u%Oq#v%Oq#x%Oq#z%Oq#{%Oq'z%Oq(a%Oq(r%Oq!k%Oq!Y%Oq'w%Oq#`%Oqv%Oq!_%Oq%i%Oq!g%Oq~P#/sO!]'Yi!k'Yi~P!:tO$O#cq!]#cq!^#cq~P#BwO(y$}OP%aaR%aa[%aaj%aar%aa!S%aa!l%aa!p%aa#R%aa#n%aa#o%aa#p%aa#q%aa#r%aa#s%aa#t%aa#u%aa#v%aa#x%aa#z%aa#{%aa$O%aa(a%aa(r%aa!]%aa!^%aa~On%aa!Q%aa'y%aa(z%aa~P&IyO(z%POP%caR%ca[%caj%car%ca!S%ca!l%ca!p%ca#R%ca#n%ca#o%ca#p%ca#q%ca#r%ca#s%ca#t%ca#u%ca#v%ca#x%ca#z%ca#{%ca$O%ca(a%ca(r%ca!]%ca!^%ca~On%ca!Q%ca'y%ca(y%ca~P&LQOn>^O!Q*OO'y*PO(z%PO~P&IyOn>^O!Q*OO'y*PO(y$}O~P&LQOR0kO!Q0kO!S0lO#S$dOP}a[}aj}an}ar}a!l}a!p}a#R}a#n}a#o}a#p}a#q}a#r}a#s}a#t}a#u}a#v}a#x}a#z}a#{}a$O}a'y}a(a}a(r}a(y}a(z}a!]}a!^}a~O!Q*OO'y*POP$saR$sa[$saj$san$sar$sa!S$sa!l$sa!p$sa#R$sa#n$sa#o$sa#p$sa#q$sa#r$sa#s$sa#t$sa#u$sa#v$sa#x$sa#z$sa#{$sa$O$sa(a$sa(r$sa(y$sa(z$sa!]$sa!^$sa~O!Q*OO'y*POP$uaR$ua[$uaj$uan$uar$ua!S$ua!l$ua!p$ua#R$ua#n$ua#o$ua#p$ua#q$ua#r$ua#s$ua#t$ua#u$ua#v$ua#x$ua#z$ua#{$ua$O$ua(a$ua(r$ua(y$ua(z$ua!]$ua!^$ua~On>^O!Q*OO'y*PO(y$}O(z%PO~OP%TaR%Ta[%Taj%Tar%Ta!S%Ta!l%Ta!p%Ta#R%Ta#n%Ta#o%Ta#p%Ta#q%Ta#r%Ta#s%Ta#t%Ta#u%Ta#v%Ta#x%Ta#z%Ta#{%Ta$O%Ta(a%Ta(r%Ta!]%Ta!^%Ta~P''VO$O$mq!]$mq!^$mq~P#BwO$O$oq!]$oq!^$oq~P#BwO!^9oO~O$O9pO~P!1WO!g#vO!]'ei!k'ei~O!g#vO(r'pO!]'ei!k'ei~O!]/pO!k)Oq~O!Y'gi!]'gi~P#/sO!]/yO!Y)Pq~Or9wO!g#vO(r'pO~O[9yO!Y9xO~P#/sO!Y9xO~Oj:PO!g#vO~Og(_y!](_y~P!1WO!]'na!_'na~P#/sOa%[q!_%[q'z%[q!]%[q~P#/sO[:UO~O!]1TO!^)Xq~O`:YO~O#`:ZO!]'pa!^'pa~O!]5uO!^)Ui~P#BwO!S:]O~O!_1oO%i:`O~O(VTO(YUO(e:eO~O!]1zO!^)Vq~O!k:hO~O!k:iO~O!k:jO~O!k:jO~P%[O#`:mO!]#hy!^#hy~O!]#hy!^#hy~P#BwO%i:rO~P&8fO!_'`O%i:rO~O$O#|y!]#|y!^#|y~P#BwOP$|iR$|i[$|ij$|ir$|i!S$|i!l$|i!p$|i#R$|i#n$|i#o$|i#p$|i#q$|i#r$|i#s$|i#t$|i#u$|i#v$|i#x$|i#z$|i#{$|i$O$|i(a$|i(r$|i!]$|i!^$|i~P''VO!Q*OO'y*PO(z%POP'iaR'ia['iaj'ian'iar'ia!S'ia!l'ia!p'ia#R'ia#n'ia#o'ia#p'ia#q'ia#r'ia#s'ia#t'ia#u'ia#v'ia#x'ia#z'ia#{'ia$O'ia(a'ia(r'ia(y'ia!]'ia!^'ia~O!Q*OO'y*POP'kaR'ka['kaj'kan'kar'ka!S'ka!l'ka!p'ka#R'ka#n'ka#o'ka#p'ka#q'ka#r'ka#s'ka#t'ka#u'ka#v'ka#x'ka#z'ka#{'ka$O'ka(a'ka(r'ka(y'ka(z'ka!]'ka!^'ka~O(y$}OP%aiR%ai[%aij%ain%air%ai!Q%ai!S%ai!l%ai!p%ai#R%ai#n%ai#o%ai#p%ai#q%ai#r%ai#s%ai#t%ai#u%ai#v%ai#x%ai#z%ai#{%ai$O%ai'y%ai(a%ai(r%ai(z%ai!]%ai!^%ai~O(z%POP%ciR%ci[%cij%cin%cir%ci!Q%ci!S%ci!l%ci!p%ci#R%ci#n%ci#o%ci#p%ci#q%ci#r%ci#s%ci#t%ci#u%ci#v%ci#x%ci#z%ci#{%ci$O%ci'y%ci(a%ci(r%ci(y%ci!]%ci!^%ci~O$O$oy!]$oy!^$oy~P#BwO$O#cy!]#cy!^#cy~P#BwO!g#vO!]'eq!k'eq~O!]/pO!k)Oy~O!Y'gq!]'gq~P#/sOr:|O!g#vO(r'pO~O[;QO!Y;PO~P#/sO!Y;PO~Og(_!R!](_!R~P!1WOa%[y!_%[y'z%[y!]%[y~P#/sO!]1TO!^)Xy~O!]5uO!^)Uq~O(T;XO~O!_1oO%i;[O~O!k;_O~O%i;dO~P&8fOP$|qR$|q[$|qj$|qr$|q!S$|q!l$|q!p$|q#R$|q#n$|q#o$|q#p$|q#q$|q#r$|q#s$|q#t$|q#u$|q#v$|q#x$|q#z$|q#{$|q$O$|q(a$|q(r$|q!]$|q!^$|q~P''VO!Q*OO'y*PO(z%POP'jaR'ja['jaj'jan'jar'ja!S'ja!l'ja!p'ja#R'ja#n'ja#o'ja#p'ja#q'ja#r'ja#s'ja#t'ja#u'ja#v'ja#x'ja#z'ja#{'ja$O'ja(a'ja(r'ja(y'ja!]'ja!^'ja~O!Q*OO'y*POP'laR'la['laj'lan'lar'la!S'la!l'la!p'la#R'la#n'la#o'la#p'la#q'la#r'la#s'la#t'la#u'la#v'la#x'la#z'la#{'la$O'la(a'la(r'la(y'la(z'la!]'la!^'la~OP%OqR%Oq[%Oqj%Oqr%Oq!S%Oq!l%Oq!p%Oq#R%Oq#n%Oq#o%Oq#p%Oq#q%Oq#r%Oq#s%Oq#t%Oq#u%Oq#v%Oq#x%Oq#z%Oq#{%Oq$O%Oq(a%Oq(r%Oq!]%Oq!^%Oq~P''VOg%e!Z!]%e!Z#`%e!Z$O%e!Z~P!1WO!Y;hO~P#/sOr;iO!g#vO(r'pO~O[;kO!Y;hO~P#/sO!]'pq!^'pq~P#BwO!]#h!Z!^#h!Z~P#BwO#k%e!ZP%e!ZR%e!Z[%e!Za%e!Zj%e!Zr%e!Z!S%e!Z!]%e!Z!l%e!Z!p%e!Z#R%e!Z#n%e!Z#o%e!Z#p%e!Z#q%e!Z#r%e!Z#s%e!Z#t%e!Z#u%e!Z#v%e!Z#x%e!Z#z%e!Z#{%e!Z'z%e!Z(a%e!Z(r%e!Z!k%e!Z!Y%e!Z'w%e!Z#`%e!Zv%e!Z!_%e!Z%i%e!Z!g%e!Z~P#/sOr;tO!g#vO(r'pO~O!Y;uO~P#/sOr;|O!g#vO(r'pO~O!Y;}O~P#/sOP%e!ZR%e!Z[%e!Zj%e!Zr%e!Z!S%e!Z!l%e!Z!p%e!Z#R%e!Z#n%e!Z#o%e!Z#p%e!Z#q%e!Z#r%e!Z#s%e!Z#t%e!Z#u%e!Z#v%e!Z#x%e!Z#z%e!Z#{%e!Z$O%e!Z(a%e!Z(r%e!Z!]%e!Z!^%e!Z~P''VOrROe!iOpkOrPO(T)]O(VTO(YUO(aVO(o[O~O!]WO!l$xO#jgPPP!>oI[PPPPPPPPP!BOP!C]PPI[!DnPI[PI[I[I[I[I[PI[!FQP!I[P!LbP!Lf!Lp!Lt!LtP!IXP!Lx!LxP#!OP#!SI[PI[#!Y#%_CjA^PA^PA^A^P#&lA^A^#)OA^#+vA^#.SA^A^#.r#1W#1W#1]#1f#1W#1qPP#1WPA^#2ZA^#6YA^A^6mPPP#:_PPP#:x#:xP#:xP#;`#:xPP#;fP#;]P#;]#;y#;]#P#>V#>]#>k#>q#>{#?R#?]#?c#?s#?y#@k#@}#AT#AZ#Ai#BO#Cs#DR#DY#Et#FS#Gt#HS#HY#H`#Hf#Hp#Hv#H|#IW#Ij#IpPPPPPPPPPPP#IvPPPPPPP#Jk#Mx$ b$ i$ qPPP$']P$'f$*_$0x$0{$1O$1}$2Q$2X$2aP$2g$2jP$3W$3[$4S$5b$5g$5}PP$6S$6Y$6^$6a$6e$6i$7e$7|$8e$8i$8l$8o$8y$8|$9Q$9UR!|RoqOXst!Z#d%m&r&t&u&w,s,x2[2_Y!vQ'`-e1o5{Q%tvQ%|yQ&T|Q&j!VS'W!e-]Q'f!iS'l!r!yU*k$|*Z*oQ+o%}S+|&V&WQ,d&dQ-c'_Q-m'gQ-u'mQ0[*qQ1b,OQ1y,eR<{SU+P%]S!S!nQ!r!v!y!z$|'W'_'`'l'm'n*k*o*q*r-]-c-e-u0[0_1o5{5}%[$ti#v$b$c$d$x${%O%Q%^%_%c)y*R*T*V*Y*a*g*w*x+f+i,S,V.f/P/d/m/x/y/{0`0b0i0j0o1f1i1q3c4^4_4j4o5Q5[5_6S7W7v8Q8V8[8q9b9p9y:P:`:r;Q;[;d;kP>X>Y>]>^Q&X|Q'U!eS'[%i-`Q+t&PQ,P&WQ,f&gQ0n+SQ1Y+uQ1_+{Q2Q,jQ2R,kQ5f1TQ5o1aQ6[1zQ6_1|Q6`2PQ8`5gQ8c5lQ8|6bQ:X8dQ:f8yQ;V:YR<}*ZrnOXst!V!Z#d%m&i&r&t&u&w,s,x2[2_R,h&k&z^OPXYstuvwz!Z!`!g!j!o#S#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%m%t&R&k&n&o&r&t&u&w&{'T'b'r(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:mR>S[#]WZ#W#Z'X(T!b%jm#h#i#l$x%e%h(^(h(i(j*Y*^*b+Z+[+^,o-V.T.Z.[.]._/m/p2d3[3]4a6r7TQ%wxQ%{yW&Q|&V&W,OQ&_!TQ'c!hQ'e!iQ(q#sS+n%|%}Q+r&PQ,_&bQ,c&dS-l'f'gQ.i(rQ1R+oQ1X+uQ1Z+vQ1^+zQ1t,`S1x,d,eQ2|-mQ5e1TQ5i1WQ5n1`Q6Z1yQ8_5gQ8b5kQ8f5pQ:T8^R;T:U!U$zi$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Y!^%yy!i!u%{%|%}'V'e'f'g'k'u*j+n+o-Y-l-m-t0R0U1R2u2|3T4r4s4v7}9{Q+h%wQ,T&[Q,W&]Q,b&dQ.h(qQ1s,_U1w,c,d,eQ3e.iQ6U1tS6Y1x1yQ8x6Z#f>T#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k]>^o>UPS&[!Q&iQ&]!RQ&^!SU*}%[%d=sR,R&Y%]%Si#v$b$c$d$x${%O%Q%^%_%c)y*R*T*V*Y*a*g*w*x+f+i,S,V.f/P/d/m/x/y/{0`0b0i0j0o1f1i1q3c4^4_4j4o5Q5[5_6S7W7v8Q8V8[8q9b9p9y:P:`:r;Q;[;d;kP>X>Y>]>^T)z$u){V+P%]S$i$^c#Y#e%q%s%u(S(Y(t(y)R)S)T)U)V)W)X)Y)Z)[)^)`)b)g)q+d+x-Z-x-}.S.U.s.v.z.|.}/O/b0p2k2n3O3V3k3p3q3r3s3t3u3v3w3x3y3z3{3|4P4Q4X5X5c6u6{7Q7a7b7k7l8k9X9]9g9m9n:o;W;`SQ'Y!eR2q-]!W!nQ!e!r!v!y!z$|'W'_'`'l'm'n*Z*k*o*q*r-]-c-e-u0[0_1o5{5}R1l,ZnqOXst!Z#d%m&r&t&u&w,s,x2[2_Q&y!^Q'v!xS(s#u<^Q+l%zQ,]&_Q,^&aQ-j'dQ-w'oS.r(x=PS0q+X=ZQ1P+mQ1n,[Q2c,zQ2e,{Q2m-WQ2z-kQ2}-oS5Y0r=eQ5a1QS5d1S=fQ6t2oQ6x2{Q6}3SQ8]5bQ9Y6vQ9Z6yQ9^7OR:l9V$d$]c#Y#e%s%u(S(Y(t(y)R)S)T)U)V)W)X)Y)Z)[)^)`)b)g)q+d+x-Z-x-}.S.U.s.v.z.}/O/b0p2k2n3O3V3k3p3q3r3s3t3u3v3w3x3y3z3{3|4P4Q4X5X5c6u6{7Q7a7b7k7l8k9X9]9g9m9n:o;W;`SS#q]SU$fd)_,mS(p#p'iU*v%R(w4OU0m+O.n7gQ5^0xQ7V3`Q9d7YR:s9em!tQ!r!v!y!z'`'l'm'n-e-u1o5{5}Q't!uS(f#g2US-s'k'wQ/s*]Q0R*jQ3U-vQ4f/tQ4r0TQ4s0UQ4x0^Q7r4`S7}4t4vS8R4y4{Q9r7sQ9v7yQ9{8OQ:Q8TS:{9w9xS;g:|;PS;s;h;iS;{;t;uSSR=o>R%^bOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&o&r&t&u&w&{'T'b'r(T(V(](d(x(z)O)}*i+X+]+g,p,s,x-i-q.P.V.g.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3d3l4z6T6e6f6i6|7[8t9T9_Q%fj!^%xy!i!u%{%|%}'V'e'f'g'k'u*j+n+o-Y-l-m-t0R0U1R2u2|3T4r4s4v7}9{S&Oz!jQ+k%yQ,a&dW1v,b,c,d,eU6X1w1x1yS8w6Y6ZQ:d8x!r=j$Z$n'X)s-U-X/V2p4T5w6s:Z:mSQ=t>QR=u>R%QeOPXYstuvw!Z!`!g!o#S#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&r&t&u&w&{'T'b'r(V(](d(x(z)O)}*i+X+]+g,p,s,x-i-q.P.V.g.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3d3l4z6T6e6f6i6|7[8t9T9_Y#bWZ#W#Z(T!b%jm#h#i#l$x%e%h(^(h(i(j*Y*^*b+Z+[+^,o-V.T.Z.[.]._/m/p2d3[3]4a6r7TQ,n&o!p=k$Z$n)s-U-X/V2p4T5w6s:Z:mSR=n'XU']!e%i*ZR2s-`%SdOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&r&t&u&w&{'T'b'r(T(V(](d(x(z)O)}*i+X+],p,s,x-i-q.P.V.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3l4z6T6e6f6i6|8t9T9_!r)_$Z$n'X)s-U-X/V2p4T5w6s:Z:mSQ,m&oQ0x+gQ3`.gQ7Y3dR9e7[!b$Tc#Y%q(S(Y(t(y)Z)[)`)g+x-x-}.S.U.s.v/b0p3O3V3k3{5X5c6{7Q7a9]:oS)^)q-Z.|2k2n3p4P4X6u7b7k7l8k9X9g9m9n;W;`=vQ>X>ZR>Y>['QkOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%m%t&R&k&n&o&r&t&u&w&{'T'X'b'r(T(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:mSS$oh$pR4U/U'XgOPWXYZhstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n$p%m%t&R&k&n&o&r&t&u&w&{'T'X'b'r(T(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/U/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:mST$kf$qQ$ifS)j$l)nR)v$qT$jf$qT)l$l)n'XhOPWXYZhstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n$p%m%t&R&k&n&o&r&t&u&w&{'T'X'b'r(T(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/U/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:mST$oh$pQ$rhR)u$p%^jOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&o&r&t&u&w&{'T'b'r(T(V(](d(x(z)O)}*i+X+]+g,p,s,x-i-q.P.V.g.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3d3l4z6T6e6f6i6|7[8t9T9_!s>Q$Z$n'X)s-U-X/V2p4T5w6s:Z:mS#glOPXZst!Z!`!o#S#d#o#{$n%m&k&n&o&r&t&u&w&{'T'b)O)s*i+]+g,p,s,x-i.g/V/n0]0l1r2S2T2V2X2[2_2a3d4T4z6T6e6f6i7[8t9T!U%Ri$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Y#f(w#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k]>^Q+T%aQ/c*Oo4OP>X>YQ*c$zU*l$|*Z*oQ+U%bQ0W*m#f=q#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k]>^n=rTQ=x>UQ=y>VR=z>W!U%Ri$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Y#f(w#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k]>^o4OP>X>Y>]>^Q,U&]Q1h,WQ5s1gR8h5tV*n$|*Z*oU*n$|*Z*oT5z1o5{S0P*i/nQ4w0]T8S4z:]Q+j%xQ0V*lQ1O+kQ1u,aQ6W1vQ8v6XQ:c8wR;^:d!U%Oi$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Yx*R$v)e*S*u+V/v0d0e4R4g5R5S5W7p8U:R:x=p=}>OS0`*t0a#f]>^nZ>[`=T3}7c7f7j9h:t:w;yS=_.l3iT=`7e9k!U%Qi$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Y|*T$v)e*U*t+V/g/v0d0e4R4g4|5R5S5W7p8U:R:x=p=}>OS0b*u0c#f]>^nZ>[d=V3}7d7e7j9h9i:t:u:w;yS=a.m3jT=b7f9lrnOXst!V!Z#d%m&i&r&t&u&w,s,x2[2_Q&f!UR,p&ornOXst!V!Z#d%m&i&r&t&u&w,s,x2[2_R&f!UQ,Y&^R1d,RsnOXst!V!Z#d%m&i&r&t&u&w,s,x2[2_Q1p,_S6R1s1tU8p6P6Q6US:_8r8sS;Y:^:aQ;m;ZR;w;nQ&m!VR,i&iR6_1|R:f8yW&Q|&V&W,OR1Z+vQ&r!WR,s&sR,y&xT2],x2_R,}&yQ,|&yR2f,}Q'y!{R-y'ySsOtQ#dXT%ps#dQ#OTR'{#OQ#RUR'}#RQ){$uR/`){Q#UVR(Q#UQ#XWU(W#X(X.QQ(X#YR.Q(YQ-^'YR2r-^Q.u(yS3m.u3nR3n.vQ-e'`R2v-eY!rQ'`-e1o5{R'j!rQ/Q)eR4S/QU#_W%h*YU(_#_(`.RQ(`#`R.R(ZQ-a']R2t-at`OXst!V!Z#d%m&i&k&r&t&u&w,s,x2[2_S#hZ%eU#r`#h.[R.[(jQ(k#jQ.X(gW.a(k.X3X7RQ3X.YR7R3YQ)n$lR/W)nQ$phR)t$pQ$`cU)a$`-|O>Z>[Q/z*eU4k/z4m7xQ4m/|R7x4lS*o$|*ZR0Y*ox*S$v)e*t*u+V/v0d0e4R4g5R5S5W7p8U:R:x=p=}>O!d.j(u)c*[*e.l.m.q/_/k/|0v1e3h4[4h4l5r7]7`7w7z8X8Z9t9|:S:};R;e;j;v>Z>[U/h*S.j7ca7c3}7e7f7j9h:t:w;yQ0a*tQ3i.lU4}0a3i9kR9k7e|*U$v)e*t*u+V/g/v0d0e4R4g4|5R5S5W7p8U:R:x=p=}>O!h.k(u)c*[*e.l.m.q/_/k/|0v1e3f3h4[4h4l5r7]7^7`7w7z8X8Z9t9|:S:};R;e;j;v>Z>[U/j*U.k7de7d3}7e7f7j9h9i:t:u:w;yQ0c*uQ3j.mU5P0c3j9lR9l7fQ*z%UR0g*zQ5]0vR8Y5]Q+_%kR0u+_Q5v1jS8j5v:[R:[8kQ,[&_R1m,[Q5{1oR8m5{Q1{,fS6]1{8zR8z6_Q1U+rW5h1U5j8a:VQ5j1XQ8a5iR:V8bQ+w&QR1[+wQ2_,xR6m2_YrOXst#dQ&v!ZQ+a%mQ,r&rQ,t&tQ,u&uQ,w&wQ2Y,sS2],x2_R6l2[Q%opQ&z!_Q&}!aQ'P!bQ'R!cQ'q!uQ+`%lQ+l%zQ,Q&XQ,h&mQ-P&|W-p'k's't'wQ-w'oQ0X*nQ1P+mQ1c,PS2O,i,lQ2g-OQ2h-RQ2i-SQ2}-oW3P-r-s-v-xQ5a1QQ5m1_Q5q1eQ6V1uQ6a2QQ6k2ZU6z3O3R3UQ6}3SQ8]5bQ8e5oQ8g5rQ8l5zQ8u6WQ8{6`S9[6{7PQ9^7OQ:W8cQ:b8vQ:g8|Q:n9]Q;U:XQ;]:cQ;a:oQ;l;VR;o;^Q%zyQ'd!iQ'o!uU+m%{%|%}Q-W'VU-k'e'f'gS-o'k'uQ0Q*jS1Q+n+oQ2o-YS2{-l-mQ3S-tS4p0R0UQ5b1RQ6v2uQ6y2|Q7O3TU7{4r4s4vQ9z7}R;O9{S$wi>PR*{%VU%Ui%V>PR0f*yQ$viS(u#v+iS)c$b$cQ)e$dQ*[$xS*e${*YQ*t%OQ*u%QQ+Q%^Q+R%_Q+V%cQ.lPQ=}>XQ>O>YQ>Z>]R>[>^Q+O%]Q.nSR#[WR'Z!el!tQ!r!v!y!z'`'l'm'n-e-u1o5{5}S'V!e-]U*j$|*Z*oS-Y'W'_S0U*k*qQ0^*rQ2u-cQ4v0[R4{0_R({#xQ!fQT-d'`-e]!qQ!r'`-e1o5{Q#p]R'i < TypeParamList in out const TypeDefinition extends ThisType this LiteralType ArithOp Number BooleanLiteral TemplateType InterpolationEnd Interpolation InterpolationStart NullType null VoidType void TypeofType typeof MemberExpression . PropertyName [ TemplateString Escape Interpolation super RegExp ] ArrayExpression Spread , } { ObjectExpression Property async get set PropertyDefinition Block : NewTarget new NewExpression ) ( ArgList UnaryExpression delete LogicOp BitOp YieldExpression yield AwaitExpression await ParenthesizedExpression ClassExpression class ClassBody MethodDeclaration Decorator @ MemberExpression PrivatePropertyName CallExpression TypeArgList CompareOp < declare Privacy static abstract override PrivatePropertyDefinition PropertyDeclaration readonly accessor Optional TypeAnnotation Equals StaticBlock FunctionExpression ArrowFunction ParamList ParamList ArrayPattern ObjectPattern PatternProperty Privacy readonly Arrow MemberExpression BinaryExpression ArithOp ArithOp ArithOp ArithOp BitOp CompareOp instanceof satisfies CompareOp BitOp BitOp BitOp LogicOp LogicOp ConditionalExpression LogicOp LogicOp AssignmentExpression UpdateOp PostfixExpression CallExpression InstantiationExpression TaggedTemplateExpression DynamicImport import ImportMeta JSXElement JSXSelfCloseEndTag JSXSelfClosingTag JSXIdentifier JSXBuiltin JSXIdentifier JSXNamespacedName JSXMemberExpression JSXSpreadAttribute JSXAttribute JSXAttributeValue JSXEscape JSXEndTag JSXOpenTag JSXFragmentTag JSXText JSXEscape JSXStartCloseTag JSXCloseTag PrefixCast < ArrowFunction TypeParamList SequenceExpression InstantiationExpression KeyofType keyof UniqueType unique ImportType InferredType infer TypeName ParenthesizedType FunctionSignature ParamList NewSignature IndexedType TupleType Label ArrayType ReadonlyType ObjectType MethodType PropertyType IndexSignature PropertyDefinition CallSignature TypePredicate asserts is NewSignature new UnionType LogicOp IntersectionType LogicOp ConditionalType ParameterizedType ClassDeclaration abstract implements type VariableDeclaration let var using TypeAliasDeclaration InterfaceDeclaration interface EnumDeclaration enum EnumBody NamespaceDeclaration namespace module AmbientDeclaration declare GlobalDeclaration global ClassDeclaration ClassBody AmbientFunctionDeclaration ExportGroup VariableName VariableName ImportDeclaration defer ImportGroup ForStatement for ForSpec ForInSpec ForOfSpec of WhileStatement while WithStatement with DoStatement do IfStatement if else SwitchStatement switch SwitchBody CaseLabel case DefaultLabel TryStatement try CatchClause catch FinallyClause finally ReturnStatement return ThrowStatement throw BreakStatement break ContinueStatement continue DebuggerStatement debugger LabeledStatement ExpressionStatement SingleExpression SingleClassItem",maxTerm:380,context:Vk,nodeProps:[["isolate",-8,5,6,14,37,39,51,53,55,""],["group",-26,9,17,19,68,207,211,215,216,218,221,224,234,237,243,245,247,249,252,258,264,266,268,270,272,274,275,"Statement",-34,13,14,32,35,36,42,51,54,55,57,62,70,72,76,80,82,84,85,110,111,120,121,136,139,141,142,143,144,145,147,148,167,169,171,"Expression",-23,31,33,37,41,43,45,173,175,177,178,180,181,182,184,185,186,188,189,190,201,203,205,206,"Type",-3,88,103,109,"ClassItem"],["openedBy",23,"<",38,"InterpolationStart",56,"[",60,"{",73,"(",160,"JSXStartCloseTag"],["closedBy",-2,24,168,">",40,"InterpolationEnd",50,"]",61,"}",74,")",165,"JSXEndTag"]],propSources:[Gk],skippedNodes:[0,5,6,278],repeatNodeCount:37,tokenData:"$Fq07[R!bOX%ZXY+gYZ-yZ[+g[]%Z]^.c^p%Zpq+gqr/mrs3cst:_tuEruvJSvwLkwx! Yxy!'iyz!(sz{!)}{|!,q|}!.O}!O!,q!O!P!/Y!P!Q!9j!Q!R#:O!R![#<_![!]#I_!]!^#Jk!^!_#Ku!_!`$![!`!a$$v!a!b$*T!b!c$,r!c!}Er!}#O$-|#O#P$/W#P#Q$4o#Q#R$5y#R#SEr#S#T$7W#T#o$8b#o#p$x#r#s$@U#s$f%Z$f$g+g$g#BYEr#BY#BZ$A`#BZ$ISEr$IS$I_$A`$I_$I|Er$I|$I}$Dk$I}$JO$Dk$JO$JTEr$JT$JU$A`$JU$KVEr$KV$KW$A`$KW&FUEr&FU&FV$A`&FV;'SEr;'S;=`I|<%l?HTEr?HT?HU$A`?HUOEr(n%d_$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z&j&hT$i&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c&j&zP;=`<%l&c'|'U]$i&j(Z!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!b(SU(Z!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}!b(iP;=`<%l'}'|(oP;=`<%l&}'[(y]$i&j(WpOY(rYZ&cZr(rrs&cs!^(r!^!_)r!_#O(r#O#P&c#P#o(r#o#p)r#p;'S(r;'S;=`*a<%lO(rp)wU(WpOY)rZr)rs#O)r#P;'S)r;'S;=`*Z<%lO)rp*^P;=`<%l)r'[*dP;=`<%l(r#S*nX(Wp(Z!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g#S+^P;=`<%l*g(n+dP;=`<%l%Z07[+rq$i&j(Wp(Z!b'|0/lOX%ZXY+gYZ&cZ[+g[p%Zpq+gqr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p$f%Z$f$g+g$g#BY%Z#BY#BZ+g#BZ$IS%Z$IS$I_+g$I_$JT%Z$JT$JU+g$JU$KV%Z$KV$KW+g$KW&FU%Z&FU&FV+g&FV;'S%Z;'S;=`+a<%l?HT%Z?HT?HU+g?HUO%Z07[.ST(X#S$i&j'}0/lO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c07[.n_$i&j(Wp(Z!b'}0/lOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z)3p/x`$i&j!p),Q(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`0z!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW1V`#v(Ch$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`2X!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW2d_#v(Ch$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'At3l_(V':f$i&j(Z!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k(^4r_$i&j(Z!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k&z5vX$i&jOr5qrs6cs!^5q!^!_6y!_#o5q#o#p6y#p;'S5q;'S;=`7h<%lO5q&z6jT$d`$i&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c`6|TOr6yrs7]s;'S6y;'S;=`7b<%lO6y`7bO$d``7eP;=`<%l6y&z7kP;=`<%l5q(^7w]$d`$i&j(Z!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!r8uZ(Z!bOY8pYZ6yZr8prs9hsw8pwx6yx#O8p#O#P6y#P;'S8p;'S;=`:R<%lO8p!r9oU$d`(Z!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}!r:UP;=`<%l8p(^:[P;=`<%l4k%9[:hh$i&j(Wp(Z!bOY%ZYZ&cZq%Zqr`#P#o`x!^=^!^!_?q!_#O=^#O#P>`#P#o=^#o#p?q#p;'S=^;'S;=`@h<%lO=^&n>gXWS$i&jOY>`YZ&cZ!^>`!^!_?S!_#o>`#o#p?S#p;'S>`;'S;=`?k<%lO>`S?XSWSOY?SZ;'S?S;'S;=`?e<%lO?SS?hP;=`<%l?S&n?nP;=`<%l>`!f?xWWS(Z!bOY?qZw?qwx?Sx#O?q#O#P?S#P;'S?q;'S;=`@b<%lO?q!f@eP;=`<%l?q(Q@kP;=`<%l=^'`@w]WS$i&j(WpOY@nYZ&cZr@nrs>`s!^@n!^!_Ap!_#O@n#O#P>`#P#o@n#o#pAp#p;'S@n;'S;=`Bg<%lO@ntAwWWS(WpOYApZrAprs?Ss#OAp#O#P?S#P;'SAp;'S;=`Ba<%lOAptBdP;=`<%lAp'`BjP;=`<%l@n#WBvYWS(Wp(Z!bOYBmZrBmrs?qswBmwxApx#OBm#O#P?S#P;'SBm;'S;=`Cf<%lOBm#WCiP;=`<%lBm(rCoP;=`<%l^!Q^$i&j!X7`OY!=yYZ&cZ!P!=y!P!Q!>|!Q!^!=y!^!_!@c!_!}!=y!}#O!CW#O#P!Dy#P#o!=y#o#p!@c#p;'S!=y;'S;=`!Ek<%lO!=y|#X#Z&c#Z#[!>|#[#]&c#]#^!>|#^#a&c#a#b!>|#b#g&c#g#h!>|#h#i&c#i#j!>|#j#k!>|#k#m&c#m#n!>|#n#o&c#p;'S&c;'S;=`&w<%lO&c7`!@hX!X7`OY!@cZ!P!@c!P!Q!AT!Q!}!@c!}#O!Ar#O#P!Bq#P;'S!@c;'S;=`!CQ<%lO!@c7`!AYW!X7`#W#X!AT#Z#[!AT#]#^!AT#a#b!AT#g#h!AT#i#j!AT#j#k!AT#m#n!AT7`!AuVOY!ArZ#O!Ar#O#P!B[#P#Q!@c#Q;'S!Ar;'S;=`!Bk<%lO!Ar7`!B_SOY!ArZ;'S!Ar;'S;=`!Bk<%lO!Ar7`!BnP;=`<%l!Ar7`!BtSOY!@cZ;'S!@c;'S;=`!CQ<%lO!@c7`!CTP;=`<%l!@c^!Ezl$i&j(Z!b!X7`OY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#W&}#W#X!Eq#X#Z&}#Z#[!Eq#[#]&}#]#^!Eq#^#a&}#a#b!Eq#b#g&}#g#h!Eq#h#i&}#i#j!Eq#j#k!Eq#k#m&}#m#n!Eq#n#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}8r!GyZ(Z!b!X7`OY!GrZw!Grwx!@cx!P!Gr!P!Q!Hl!Q!}!Gr!}#O!JU#O#P!Bq#P;'S!Gr;'S;=`!J|<%lO!Gr8r!Hse(Z!b!X7`OY'}Zw'}x#O'}#P#W'}#W#X!Hl#X#Z'}#Z#[!Hl#[#]'}#]#^!Hl#^#a'}#a#b!Hl#b#g'}#g#h!Hl#h#i'}#i#j!Hl#j#k!Hl#k#m'}#m#n!Hl#n;'S'};'S;=`(f<%lO'}8r!JZX(Z!bOY!JUZw!JUwx!Arx#O!JU#O#P!B[#P#Q!Gr#Q;'S!JU;'S;=`!Jv<%lO!JU8r!JyP;=`<%l!JU8r!KPP;=`<%l!Gr>^!KZ^$i&j(Z!bOY!KSYZ&cZw!KSwx!CWx!^!KS!^!_!JU!_#O!KS#O#P!DR#P#Q!^!LYP;=`<%l!KS>^!L`P;=`<%l!_#c#d#Bq#d#l%Z#l#m#Es#m#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#>j_$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#?rd$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!R#AQ!R!S#AQ!S!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#AQ#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#A]f$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!R#AQ!R!S#AQ!S!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#AQ#S#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#Bzc$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!Y#DV!Y!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#DV#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#Dbe$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!Y#DV!Y!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#DV#S#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#E|g$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![#Ge![!^%Z!^!_*g!_!c%Z!c!i#Ge!i#O%Z#O#P&c#P#R%Z#R#S#Ge#S#T%Z#T#Z#Ge#Z#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#Gpi$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![#Ge![!^%Z!^!_*g!_!c%Z!c!i#Ge!i#O%Z#O#P&c#P#R%Z#R#S#Ge#S#T%Z#T#Z#Ge#Z#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z*)x#Il_!g$b$i&j$O)Lv(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z)[#Jv_al$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z04f#LS^h#)`#R-v$?V_!^(CdvBr$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z?O$@a_!q7`$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z07[$Aq|$i&j(Wp(Z!b'|0/l$]#t(T,2j(e$I[OX%ZXY+gYZ&cZ[+g[p%Zpq+gqr%Zrs&}st%ZtuEruw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Er![!^%Z!^!_*g!_!c%Z!c!}Er!}#O%Z#O#P&c#P#R%Z#R#SEr#S#T%Z#T#oEr#o#p*g#p$f%Z$f$g+g$g#BYEr#BY#BZ$A`#BZ$ISEr$IS$I_$A`$I_$JTEr$JT$JU$A`$JU$KVEr$KV$KW$A`$KW&FUEr&FU&FV$A`&FV;'SEr;'S;=`I|<%l?HTEr?HT?HU$A`?HUOEr07[$D|k$i&j(Wp(Z!b'}0/l$]#t(T,2j(e$I[OY%ZYZ&cZr%Zrs&}st%ZtuEruw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Er![!^%Z!^!_*g!_!c%Z!c!}Er!}#O%Z#O#P&c#P#R%Z#R#SEr#S#T%Z#T#oEr#o#p*g#p$g%Z$g;'SEr;'S;=`I|<%lOEr",tokenizers:[Yk,Ik,Bk,Uk,2,3,4,5,6,7,8,9,10,11,12,13,14,Dk,new mi("$S~RRtu[#O#Pg#S#T#|~_P#o#pb~gOx~~jVO#i!P#i#j!U#j#l!P#l#m!q#m;'S!P;'S;=`#v<%lO!P~!UO!U~~!XS!Q![!e!c!i!e#T#Z!e#o#p#Z~!hR!Q![!q!c!i!q#T#Z!q~!tR!Q![!}!c!i!}#T#Z!}~#QR!Q![!P!c!i!P#T#Z!P~#^R!Q![#g!c!i#g#T#Z#g~#jS!Q![#g!c!i#g#T#Z#g#q#r!P~#yP;=`<%l!P~$RO(c~~",141,340),new mi("j~RQYZXz{^~^O(Q~~aP!P!Qd~iO(R~~",25,323)],topRules:{Script:[0,7],SingleExpression:[1,276],SingleClassItem:[2,277]},dialects:{jsx:0,ts:15175},dynamicPrecedences:{80:1,82:1,94:1,169:1,199:1},specialized:[{term:327,get:i=>Nk[i]||-1},{term:343,get:i=>Fk[i]||-1},{term:95,get:i=>Hk[i]||-1}],tokenPrec:15201});var Tp=[ce("function ${name}(${params}) {\n ${}\n}",{label:"function",detail:"definition",type:"keyword"}),ce("for (let ${index} = 0; ${index} < ${bound}; ${index}++) {\n ${}\n}",{label:"for",detail:"loop",type:"keyword"}),ce("for (let ${name} of ${collection}) {\n ${}\n}",{label:"for",detail:"of loop",type:"keyword"}),ce("do {\n ${}\n} while (${})",{label:"do",detail:"loop",type:"keyword"}),ce("while (${}) {\n ${}\n}",{label:"while",detail:"loop",type:"keyword"}),ce(`try { +`);n=r<0?t:t.slice(0,r)}return e+n.length>this.to?n.slice(0,this.to-e):n}prevLineEnd(){return this.atEnd?this.lineStart:this.lineStart-1}startContext(e,t,n=0){this.block=Fs.create(e,n,this.lineStart+t,this.block.hash,this.lineStart+this.line.text.length),this.stack.push(this.block)}startComposite(e,t,n=0){this.startContext(this.parser.getNodeType(e),t,n)}addNode(e,t,n){typeof e=="number"&&(e=new G(this.parser.nodeSet.types[e],Pn,Pn,(n??this.prevLineEnd())-t)),this.block.addChild(e,t-this.block.from)}addElement(e){this.block.addChild(e.toTree(this.parser.nodeSet),e.from-this.block.from)}addLeafElement(e,t){this.addNode(this.buffer.writeElements(ec(t.children,e.marks),-t.from).finish(t.type,t.to-t.from),t.from)}finishContext(){let e=this.stack.pop(),t=this.stack[this.stack.length-1];t.addChild(e.toTree(this.parser.nodeSet),e.from-t.from),this.block=t}finish(){for(;this.stack.length>1;)this.finishContext();return this.addGaps(this.block.toTree(this.parser.nodeSet,this.lineStart))}addGaps(e){return this.ranges.length>1?Zd(this.ranges,0,e.topNode,this.ranges[0].from,this.reusePlaceholders):e}finishLeaf(e){for(let n of e.parsers)if(n.finish(this,e))return;let t=ec(this.parser.parseInline(e.content,e.start),e.marks);this.addNode(this.buffer.writeElements(t,-e.start).finish(A.Paragraph,e.content.length),e.start)}elt(e,t,n,r){return typeof e=="string"?ne(this.parser.getNodeType(e),t,n,r):new Ks(e,t)}get buffer(){return new Hs(this.parser.nodeSet)}};function Zd(i,e,t,n,r){let s=i[e].to,o=[],a=[],l=t.from+n;function c(h,f){for(;f?h>=s:h>s;){let u=i[e+1].from-s;n+=u,h+=u,e++,s=i[e].to}}for(let h=t.firstChild;h;h=h.nextSibling){c(h.from+n,!0);let f=h.from+n,u,O=r.get(h.tree);O?u=O:h.to+n>s?(u=Zd(i,e,h,n,r),c(h.to+n,!1)):u=h.toTree(),o.push(u),a.push(f-l)}return c(t.to+n,!1),new G(t.type,o,a,t.to+n-l,t.tree?t.tree.propValues:void 0)}var Sr=class i extends Dt{constructor(e,t,n,r,s,o,a,l,c){super(),this.nodeSet=e,this.blockParsers=t,this.leafBlockParsers=n,this.blockNames=r,this.endLeafBlock=s,this.skipContextMarkup=o,this.inlineParsers=a,this.inlineNames=l,this.wrappers=c,this.nodeTypes=Object.create(null);for(let h of e.types)this.nodeTypes[h.name]=h.id}createParse(e,t,n){let r=new Kl(this,e,t,n);for(let s of this.wrappers)r=s(r,e,t,n);return r}configure(e){let t=Jl(e);if(!t)return this;let{nodeSet:n,skipContextMarkup:r}=this,s=this.blockParsers.slice(),o=this.leafBlockParsers.slice(),a=this.blockNames.slice(),l=this.inlineParsers.slice(),c=this.inlineNames.slice(),h=this.endLeafBlock.slice(),f=this.wrappers;if(gr(t.defineNodes)){r=Object.assign({},r);let u=n.types.slice(),O;for(let p of t.defineNodes){let{name:m,block:b,composite:g,style:Q}=typeof p=="string"?{name:p}:p;if(u.some(P=>P.name==m))continue;g&&(r[u.length]=(P,$,R)=>g($,R,P.value));let S=u.length,x=g?["Block","BlockContext"]:b?S>=A.ATXHeading1&&S<=A.SetextHeading2?["Block","LeafBlock","Heading"]:["Block","LeafBlock"]:void 0;u.push(Oe.define({id:S,name:m,props:x&&[[I.group,x]]})),Q&&(O||(O={}),Array.isArray(Q)||Q instanceof Ke?O[m]=Q:Object.assign(O,Q))}n=new jt(u),O&&(n=n.extend(ge(O)))}if(gr(t.props)&&(n=n.extend(...t.props)),gr(t.remove))for(let u of t.remove){let O=this.blockNames.indexOf(u),p=this.inlineNames.indexOf(u);O>-1&&(s[O]=o[O]=void 0),p>-1&&(l[p]=void 0)}if(gr(t.parseBlock))for(let u of t.parseBlock){let O=a.indexOf(u.name);if(O>-1)s[O]=u.parse,o[O]=u.leaf;else{let p=u.before?Ns(a,u.before):u.after?Ns(a,u.after)+1:a.length-1;s.splice(p,0,u.parse),o.splice(p,0,u.leaf),a.splice(p,0,u.name)}u.endLeaf&&h.push(u.endLeaf)}if(gr(t.parseInline))for(let u of t.parseInline){let O=c.indexOf(u.name);if(O>-1)l[O]=u.parse;else{let p=u.before?Ns(c,u.before):u.after?Ns(c,u.after)+1:c.length-1;l.splice(p,0,u.parse),c.splice(p,0,u.name)}}return t.wrap&&(f=f.concat(t.wrap)),new i(n,s,o,a,h,r,l,c,f)}getNodeType(e){let t=this.nodeTypes[e];if(t==null)throw new RangeError(`Unknown node type '${e}'`);return t}parseInline(e,t){let n=new kr(this,e,t);e:for(let r=t;r=0){r=a;continue e}}r++}return n.resolveMarkers(0)}};function gr(i){return i!=null&&i.length>0}function Jl(i){if(!Array.isArray(i))return i;if(i.length==0)return null;let e=Jl(i[0]);if(i.length==1)return e;let t=Jl(i.slice(1));if(!t||!e)return e||t;let n=(o,a)=>(o||Pn).concat(a||Pn),r=e.wrap,s=t.wrap;return{props:n(e.props,t.props),defineNodes:n(e.defineNodes,t.defineNodes),parseBlock:n(e.parseBlock,t.parseBlock),parseInline:n(e.parseInline,t.parseInline),remove:n(e.remove,t.remove),wrap:r?s?(o,a,l,c)=>r(s(o,a,l,c),a,l,c):r:s}}function Ns(i,e){let t=i.indexOf(e);if(t<0)throw new RangeError(`Position specified relative to unknown parser ${e}`);return t}var qd=[Oe.none];for(let i=1,e;e=A[i];i++)qd[i]=Oe.define({id:i,name:e,props:i>=A.Escape?[]:[[I.group,i in wd?["Block","BlockContext"]:["Block","LeafBlock"]]],top:e=="Document"});var Pn=[],Hs=class{constructor(e){this.nodeSet=e,this.content=[],this.nodes=[]}write(e,t,n,r=0){return this.content.push(e,t,n,4+r*4),this}writeElements(e,t=0){for(let n of e)n.writeTo(this,t);return this}finish(e,t){return G.build({buffer:this.content,nodeSet:this.nodeSet,reused:this.nodes,topID:e,length:t})}},Ii=class{constructor(e,t,n,r=Pn){this.type=e,this.from=t,this.to=n,this.children=r}writeTo(e,t){let n=e.content.length;e.writeElements(this.children,t),e.content.push(this.type,this.from+t,this.to+t,e.content.length+4-n)}toTree(e){return new Hs(e).writeElements(this.children,-this.from).finish(this.type,this.to-this.from)}},Ks=class{constructor(e,t){this.tree=e,this.from=t}get to(){return this.from+this.tree.length}get type(){return this.tree.type.id}get children(){return Pn}writeTo(e,t){e.nodes.push(this.tree),e.content.push(e.nodes.length-1,this.from+t,this.to+t,-1)}toTree(){return this.tree}};function ne(i,e,t,n){return new Ii(i,e,t,n)}var Ed={resolve:"Emphasis",mark:"EmphasisMark"},zd={resolve:"Emphasis",mark:"EmphasisMark"},Yi={},Js={},We=class{constructor(e,t,n,r){this.type=e,this.from=t,this.to=n,this.side=r}},md="!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~",yr=/[!"#$%&'()*+,\-.\/:;<=>?@\[\\\]^_`{|}~\xA1\u2010-\u2027]/;try{yr=new RegExp("[\\p{S}|\\p{P}]","u")}catch{}var Il={Escape(i,e,t){if(e!=92||t==i.end-1)return-1;let n=i.char(t+1);for(let r=0;r]+|[a-z\d.!#$%&'*+/=?^_`{|}~-]+@[a-z\d](?:[a-z\d-]{0,61}[a-z\d])?(?:\.[a-z\d](?:[a-z\d-]{0,61}[a-z\d])?)*)>/i.exec(n);if(r)return i.append(ne(A.Autolink,t,t+1+r[0].length,[ne(A.LinkMark,t,t+1),ne(A.URL,t+1,t+r[0].length),ne(A.LinkMark,t+r[0].length,t+1+r[0].length)]));let s=/^!--[^>](?:-[^-]|[^-])*?-->/i.exec(n);if(s)return i.append(ne(A.Comment,t,t+1+s[0].length));let o=/^\?[^]*?\?>/.exec(n);if(o)return i.append(ne(A.ProcessingInstruction,t,t+1+o[0].length));let a=/^(?:![A-Z][^]*?>|!\[CDATA\[[^]*?\]\]>|\/\s*[a-zA-Z][\w-]*\s*>|\s*[a-zA-Z][\w-]*(\s+[a-zA-Z:_][\w-.:]*(?:\s*=\s*(?:[^\s"'=<>`]+|'[^']*'|"[^"]*"))?)*\s*(\/\s*)?>)/.exec(n);return a?i.append(ne(A.HTMLTag,t,t+1+a[0].length)):-1},Emphasis(i,e,t){if(e!=95&&e!=42)return-1;let n=t+1;for(;i.char(n)==e;)n++;let r=i.slice(t-1,t),s=i.slice(n,n+1),o=yr.test(r),a=yr.test(s),l=/\s|^$/.test(r),c=/\s|^$/.test(s),h=!c&&(!a||l||o),f=!l&&(!o||c||a),u=h&&(e==42||!f||o),O=f&&(e==42||!h||a);return i.append(new We(e==95?Ed:zd,t,n,(u?1:0)|(O?2:0)))},HardBreak(i,e,t){if(e==92&&i.char(t+1)==10)return i.append(ne(A.HardBreak,t,t+2));if(e==32){let n=t+1;for(;i.char(n)==32;)n++;if(i.char(n)==10&&n>=t+2)return i.append(ne(A.HardBreak,t,n+1))}return-1},Link(i,e,t){return e==91?i.append(new We(Yi,t,t+1,1)):-1},Image(i,e,t){return e==33&&i.char(t+1)==91?i.append(new We(Js,t,t+2,1)):-1},LinkEnd(i,e,t){if(e!=93)return-1;for(let n=i.parts.length-1;n>=0;n--){let r=i.parts[n];if(r instanceof We&&(r.type==Yi||r.type==Js)){if(!r.side||i.skipSpace(r.to)==t&&!/[(\[]/.test(i.slice(t+1,t+2)))return i.parts[n]=null,-1;let s=i.takeContent(n),o=i.parts[n]=ey(i,s,r.type==Yi?A.Link:A.Image,r.from,t+1);if(r.type==Yi)for(let a=0;ae?ne(A.URL,e+t,s+t):s==i.length?null:!1}}function Md(i,e,t){let n=i.charCodeAt(e);if(n!=39&&n!=34&&n!=40)return!1;let r=n==40?41:n;for(let s=e+1,o=!1;s=this.end?-1:this.text.charCodeAt(e-this.offset)}get end(){return this.offset+this.text.length}slice(e,t){return this.text.slice(e-this.offset,t-this.offset)}append(e){return this.parts.push(e),e.to}addDelimiter(e,t,n,r,s){return this.append(new We(e,t,n,(r?1:0)|(s?2:0)))}get hasOpenLink(){for(let e=this.parts.length-1;e>=0;e--){let t=this.parts[e];if(t instanceof We&&(t.type==Yi||t.type==Js))return!0}return!1}addElement(e){return this.append(e)}resolveMarkers(e){for(let n=e;n=e;l--){let m=this.parts[l];if(m instanceof We&&m.side&1&&m.type==r.type&&!(s&&(r.side&1||m.side&2)&&(m.to-m.from+o)%3==0&&((m.to-m.from)%3||o%3))){a=m;break}}if(!a)continue;let c=r.type.resolve,h=[],f=a.from,u=r.to;if(s){let m=Math.min(2,a.to-a.from,o);f=a.to-m,u=r.from+m,c=m==1?"Emphasis":"StrongEmphasis"}a.type.mark&&h.push(this.elt(a.type.mark,f,a.to));for(let m=l+1;m=0;t--){let n=this.parts[t];if(n instanceof We&&n.type==e&&n.side&1)return t}return null}takeContent(e){let t=this.resolveMarkers(e);return this.parts.length=e,t}getDelimiterAt(e){let t=this.parts[e];return t instanceof We?t:null}skipSpace(e){return Qr(this.text,e-this.offset)+this.offset}elt(e,t,n,r){return typeof e=="string"?ne(this.parser.getNodeType(e),t,n,r):new Ks(e,t)}};kr.linkStart=Yi;kr.imageStart=Js;function ec(i,e){if(!e.length)return i;if(!i.length)return e;let t=i.slice(),n=0;for(let r of e){for(;n(e?e-1:0))return!1;if(this.fragmentEnd<0){let s=this.fragment.to;for(;s>0&&this.input.read(s-1,s)!=` +`;)s--;this.fragmentEnd=s?s-1:0}let n=this.cursor;n||(n=this.cursor=this.fragment.tree.cursor(),n.firstChild());let r=e+this.fragment.offset;for(;n.to<=r;)if(!n.parent())return!1;for(;;){if(n.from>=r)return this.fragment.from<=t;if(!n.childAfter(r))return!1}}matches(e){let t=this.cursor.tree;return t&&t.prop(I.contextHash)==e}takeNodes(e){let t=this.cursor,n=this.fragment.offset,r=this.fragmentEnd-(this.fragment.openEnd?1:0),s=e.absoluteLineStart,o=s,a=e.block.children.length,l=o,c=a;for(;;){if(t.to-n>r){if(t.type.isAnonymous&&t.firstChild())continue;break}let h=jd(t.from-n,e.ranges);if(t.to-n<=e.ranges[e.rangeI].to)e.addNode(t.tree,h);else{let f=new G(e.parser.nodeSet.types[A.Paragraph],[],[],0,e.block.hashProp);e.reusePlaceholders.set(f,t.tree),e.addNode(f,h)}if(t.type.is("Block")&&(ty.indexOf(t.type.id)<0?(o=t.to-n,a=e.block.children.length):(o=l,a=c),l=t.to-n,c=e.block.children.length),!t.nextSibling())break}for(;e.block.children.length>a;)e.block.children.pop(),e.block.positions.pop();return o-s}};function jd(i,e){let t=i;for(let n=1;nGs[i]),Object.keys(Gs).map(i=>Ad[i]),Object.keys(Gs),KS,wd,Object.keys(Il).map(i=>Il[i]),Object.keys(Il),[]);function ny(i,e,t){let n=[];for(let r=i.firstChild,s=e;;r=r.nextSibling){let o=r?r.from:t;if(o>s&&n.push({from:s,to:o}),!r)break;s=r.to}return n}function Dd(i){let{codeParser:e,htmlParser:t}=i;return{wrap:bn((r,s)=>{let o=r.type.id;if(e&&(o==A.CodeBlock||o==A.FencedCode)){let a="";if(o==A.FencedCode){let c=r.node.getChild(A.CodeInfo);c&&(a=s.read(c.from,c.to))}let l=e(a);if(l)return{parser:l,overlay:c=>c.type.id==A.CodeText,bracketed:o==A.FencedCode}}else if(t&&(o==A.HTMLBlock||o==A.HTMLTag||o==A.CommentBlock))return{parser:t,overlay:ny(r.node,r.from,r.to)};return null})}}var ry={resolve:"Strikethrough",mark:"StrikethroughMark"},sy={defineNodes:[{name:"Strikethrough",style:{"Strikethrough/...":d.strikethrough}},{name:"StrikethroughMark",style:d.processingInstruction}],parseInline:[{name:"Strikethrough",parse(i,e,t){if(e!=126||i.char(t+1)!=126||i.char(t+2)==126)return-1;let n=i.slice(t-1,t),r=i.slice(t+2,t+3),s=/\s|^$/.test(n),o=/\s|^$/.test(r),a=yr.test(n),l=yr.test(r);return i.addDelimiter(ry,t,t+2,!o&&(!l||s||a),!s&&(!a||o||l))},after:"Emphasis"}]};function br(i,e,t=0,n,r=0){let s=0,o=!0,a=-1,l=-1,c=!1,h=()=>{n.push(i.elt("TableCell",r+a,r+l,i.parser.parseInline(e.slice(a,l),r+a)))};for(let f=t;f-1)&&s++,o=!1,n&&(a>-1&&h(),n.push(i.elt("TableDelimiter",f+r,f+r+1))),a=l=-1):(c||u!=32&&u!=9)&&(a<0&&(a=f),l=f+1),c=!c&&u==92}return a>-1&&(s++,n&&h()),s}function gd(i,e){for(let t=e;t\s]*\|?(\s*:?-+:?\s*\|)+(\s*:?-+:?\s*)?$/,eo=class{constructor(){this.rows=null}nextLine(e,t,n){if(this.rows==null){this.rows=!1;let r;if((t.next==45||t.next==58||t.next==124)&&Yd.test(r=t.text.slice(t.pos))){let s=[];br(e,n.content,0,s,n.start)==br(e,r,0)&&(this.rows=[e.elt("TableHeader",n.start,n.start+n.content.length,s),e.elt("TableDelimiter",e.lineStart+t.pos,e.lineStart+t.text.length)])}}else if(this.rows){let r=[];br(e,t.text,t.pos,r,e.lineStart),this.rows.push(e.elt("TableRow",e.lineStart+t.pos,e.lineStart+t.text.length,r))}return!1}finish(e,t){return this.rows?(e.addLeafElement(t,e.elt("Table",t.start,t.start+t.content.length,this.rows)),!0):!1}},oy={defineNodes:[{name:"Table",block:!0},{name:"TableHeader",style:{"TableHeader/...":d.heading}},"TableRow",{name:"TableCell",style:d.content},{name:"TableDelimiter",style:d.processingInstruction}],parseBlock:[{name:"Table",leaf(i,e){return gd(e.content,0)?new eo:null},endLeaf(i,e,t){if(t.parsers.some(r=>r instanceof eo)||!gd(e.text,e.basePos))return!1;let n=i.peekLine();return Yd.test(n)&&br(i,e.text,e.basePos)==br(i,n,e.basePos)},before:"SetextHeading"}]},ic=class{nextLine(){return!1}finish(e,t){return e.addLeafElement(t,e.elt("Task",t.start,t.start+t.content.length,[e.elt("TaskMarker",t.start,t.start+3),...e.parser.parseInline(t.content.slice(3),t.start+3)])),!0}},ay={defineNodes:[{name:"Task",block:!0,style:d.list},{name:"TaskMarker",style:d.atom}],parseBlock:[{name:"TaskList",leaf(i,e){return/^\[[ xX]\][ \t]/.test(e.content)&&i.parentType().name=="ListItem"?new ic:null},after:"SetextHeading"}]},Qd=/(www\.)|(https?:\/\/)|([\w.+-]{1,100}@)|(mailto:|xmpp:)/gy,bd=/[\w-]+(\.[\w-]+)+(:\d+)?(\/[^\s<]*)?/gy,ly=/[\w-]+\.[\w-]+($|[/:])/,Sd=/[\w.+-]+@[\w-]+(\.[\w.-]+)+/gy,yd=/\/[a-zA-Z\d@.]+/gy;function kd(i,e,t,n){let r=0;for(let s=e;s-1)return-1;let n=e+t[0].length;for(;;){let r=i[n-1],s;if(/[?!.,:*_~]/.test(r)||r==")"&&kd(i,e,n,")")>kd(i,e,n,"("))n--;else if(r==";"&&(s=/&(?:#\d+|#x[a-f\d]+|\w+);$/.exec(i.slice(e,n))))n=e+s.index;else break}return n}function xd(i,e){Sd.lastIndex=e;let t=Sd.exec(i);if(!t)return-1;let n=t[0][t[0].length-1];return n=="_"||n=="-"?-1:e+t[0].length-(n=="."?1:0)}var hy={parseInline:[{name:"Autolink",parse(i,e,t){let n=t-i.offset;if(n&&/\w/.test(i.text[n-1]))return-1;Qd.lastIndex=n;let r=Qd.exec(i.text),s=-1;if(!r)return-1;if(r[1]||r[2]){if(s=cy(i.text,n+r[0].length),s>-1&&i.hasOpenLink){let o=/([^\[\]]|\[[^\]]*\])*/.exec(i.text.slice(n,s));s=n+o[0].length}}else r[3]?s=xd(i.text,n):(s=xd(i.text,n+r[0].length),s>-1&&r[0]=="xmpp:"&&(yd.lastIndex=s,r=yd.exec(i.text),r&&(s=r.index+r[0].length)));return s<0?-1:(i.addElement(i.elt("URL",t,s+i.offset)),s+i.offset)}}]},Id=[oy,ay,sy,hy];function Bd(i,e,t){return(n,r,s)=>{if(r!=i||n.char(s+1)==i)return-1;let o=[n.elt(t,s,s+1)];for(let a=s+1;at%3==0).concat(this.state)}]@${this.pos}${this.score?"!"+this.score:""}`}static start(e,t,n=0){let r=e.parser.context;return new i(e,[],t,n,n,0,[],0,r?new to(r,r.start):null,0,null)}get context(){return this.curContext?this.curContext.context:null}pushState(e,t){this.stack.push(this.state,t,this.bufferBase+this.buffer.length),this.state=e}reduce(e){var t;let n=e>>19,r=e&65535,{parser:s}=this.p,o=this.reducePos=2e3&&!(!((t=this.p.parser.nodeSet.types[r])===null||t===void 0)&&t.isAnonymous)&&(c==this.p.lastBigReductionStart?(this.p.bigReductionCount++,this.p.lastBigReductionSize=h):this.p.lastBigReductionSizel;)this.stack.pop();this.reduceContext(r,c)}storeNode(e,t,n,r=4,s=!1){if(e==0&&(!this.stack.length||this.stack[this.stack.length-1]0&&this.buffer[o-4]==0&&this.buffer[o-1]>-1){if(t==n)return;if(this.buffer[o-2]>=t){this.buffer[o-2]=n;return}}}if(!s||this.pos==n)this.buffer.push(e,t,n,r);else{let o=this.buffer.length;if(o>0&&(this.buffer[o-4]!=0||this.buffer[o-1]<0)){let a=!1;for(let l=o;l>0&&this.buffer[l-2]>n;l-=4)if(this.buffer[l-1]>=0){a=!0;break}if(a)for(;o>0&&this.buffer[o-2]>n;)this.buffer[o]=this.buffer[o-4],this.buffer[o+1]=this.buffer[o-3],this.buffer[o+2]=this.buffer[o-2],this.buffer[o+3]=this.buffer[o-1],o-=4,r>4&&(r-=4)}this.buffer[o]=e,this.buffer[o+1]=t,this.buffer[o+2]=n,this.buffer[o+3]=r}}shift(e,t,n,r){if(e&131072)this.pushState(e&65535,this.pos);else if((e&262144)==0){let s=e,{parser:o}=this.p;this.pos=r;let a=o.stateFlag(s,1);!a&&(r>n||t<=o.maxNode)&&(this.reducePos=r),this.pushState(s,a?n:Math.min(n,this.reducePos)),this.shiftContext(t,n),t<=o.maxNode&&this.buffer.push(t,n,r,4)}else this.pos=r,this.shiftContext(t,n),t<=this.p.parser.maxNode&&this.buffer.push(t,n,r,4)}apply(e,t,n,r){e&65536?this.reduce(e):this.shift(e,t,n,r)}useNode(e,t){let n=this.p.reused.length-1;(n<0||this.p.reused[n]!=e)&&(this.p.reused.push(e),n++);let r=this.pos;this.reducePos=this.pos=r+e.length,this.pushState(t,r),this.buffer.push(n,r,this.reducePos,-1),this.curContext&&this.updateContext(this.curContext.tracker.reuse(this.curContext.context,e,this,this.p.stream.reset(this.pos-e.length)))}split(){let e=this,t=e.buffer.length;for(t&&e.buffer[t-4]==0&&(t-=4);t>0&&e.buffer[t-2]>e.reducePos;)t-=4;let n=e.buffer.slice(t),r=e.bufferBase+t;for(;e&&r==e.bufferBase;)e=e.parent;return new i(this.p,this.stack.slice(),this.state,this.reducePos,this.pos,this.score,n,r,this.curContext,this.lookAhead,e)}recoverByDelete(e,t){let n=e<=this.p.parser.maxNode;n&&this.storeNode(e,this.pos,t,4),this.storeNode(0,this.pos,t,n?8:4),this.pos=this.reducePos=t,this.score-=190}canShift(e){for(let t=new cc(this);;){let n=this.p.parser.stateSlot(t.state,4)||this.p.parser.hasAction(t.state,e);if(n==0)return!1;if((n&65536)==0)return!0;t.reduce(n)}}recoverByInsert(e){if(this.stack.length>=300)return[];let t=this.p.parser.nextStates(this.state);if(t.length>8||this.stack.length>=120){let r=[];for(let s=0,o;sl&1&&a==o)||r.push(t[s],o)}t=r}let n=[];for(let r=0;r>19,r=t&65535,s=this.stack.length-n*3;if(s<0||e.getGoto(this.stack[s],r,!1)<0){let o=this.findForcedReduction();if(o==null)return!1;t=o}this.storeNode(0,this.pos,this.pos,4,!0),this.score-=100}return this.reducePos=this.pos,this.reduce(t),!0}findForcedReduction(){let{parser:e}=this.p,t=[],n=(r,s)=>{if(!t.includes(r))return t.push(r),e.allActions(r,o=>{if(!(o&393216))if(o&65536){let a=(o>>19)-s;if(a>1){let l=o&65535,c=this.stack.length-a*3;if(c>=0&&e.getGoto(this.stack[c],l,!1)>=0)return a<<19|65536|l}}else{let a=n(o,s+1);if(a!=null)return a}})};return n(this.state,0)}forceAll(){for(;!this.p.parser.stateFlag(this.state,2);)if(!this.forceReduce()){this.storeNode(0,this.pos,this.pos,4,!0);break}return this}get deadEnd(){if(this.stack.length!=3)return!1;let{parser:e}=this.p;return e.data[e.stateSlot(this.state,1)]==65535&&!e.stateSlot(this.state,4)}restart(){this.storeNode(0,this.pos,this.pos,4,!0),this.state=this.stack[0],this.stack.length=0}sameState(e){if(this.state!=e.state||this.stack.length!=e.stack.length)return!1;for(let t=0;t0&&this.emitLookAhead()}},to=class{constructor(e,t){this.tracker=e,this.context=t,this.hash=e.strict?e.hash(t):0}},cc=class{constructor(e){this.start=e,this.state=e.state,this.stack=e.stack,this.base=this.stack.length}reduce(e){let t=e&65535,n=e>>19;n==0?(this.stack==this.start.stack&&(this.stack=this.stack.slice()),this.stack.push(this.state,0,0),this.base+=3):this.base-=(n-1)*3;let r=this.start.p.parser.getGoto(this.stack[this.base-3],t,!0);this.state=r}},hc=class i{constructor(e,t,n){this.stack=e,this.pos=t,this.index=n,this.buffer=e.buffer,this.index==0&&this.maybeNext()}static create(e,t=e.bufferBase+e.buffer.length){return new i(e,t,t-e.bufferBase)}maybeNext(){let e=this.stack.parent;e!=null&&(this.index=this.stack.bufferBase-e.bufferBase,this.stack=e,this.buffer=e.buffer)}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}next(){this.index-=4,this.pos-=4,this.index==0&&this.maybeNext()}fork(){return new i(this.stack,this.pos,this.index)}};function xr(i,e=Uint16Array){if(typeof i!="string")return i;let t=null;for(let n=0,r=0;n=92&&o--,o>=34&&o--;let l=o-32;if(l>=46&&(l-=46,a=!0),s+=l,a)break;s*=46}t?t[r++]=s:t=new e(s)}return t}var vn=class{constructor(){this.start=-1,this.value=-1,this.end=-1,this.extended=-1,this.lookAhead=0,this.mask=0,this.context=0}},Fd=new vn,fc=class{constructor(e,t){this.input=e,this.ranges=t,this.chunk="",this.chunkOff=0,this.chunk2="",this.chunk2Pos=0,this.next=-1,this.token=Fd,this.rangeIndex=0,this.pos=this.chunkPos=t[0].from,this.range=t[0],this.end=t[t.length-1].to,this.readNext()}resolveOffset(e,t){let n=this.range,r=this.rangeIndex,s=this.pos+e;for(;sn.to:s>=n.to;){if(r==this.ranges.length-1)return null;let o=this.ranges[++r];s+=o.from-n.to,n=o}return s}clipPos(e){if(e>=this.range.from&&ee)return Math.max(e,t.from);return this.end}peek(e){let t=this.chunkOff+e,n,r;if(t>=0&&t=this.chunk2Pos&&na.to&&(this.chunk2=this.chunk2.slice(0,a.to-n)),r=this.chunk2.charCodeAt(0)}}return n>=this.token.lookAhead&&(this.token.lookAhead=n+1),r}acceptToken(e,t=0){let n=t?this.resolveOffset(t,-1):this.pos;if(n==null||n=this.chunk2Pos&&this.posthis.range.to?e.slice(0,this.range.to-this.pos):e,this.chunkPos=this.pos,this.chunkOff=0}}readNext(){return this.chunkOff>=this.chunk.length&&(this.getChunk(),this.chunkOff==this.chunk.length)?this.next=-1:this.next=this.chunk.charCodeAt(this.chunkOff)}advance(e=1){for(this.chunkOff+=e;this.pos+e>=this.range.to;){if(this.rangeIndex==this.ranges.length-1)return this.setDone();e-=this.range.to-this.pos,this.range=this.ranges[++this.rangeIndex],this.pos=this.range.from}return this.pos+=e,this.pos>=this.token.lookAhead&&(this.token.lookAhead=this.pos+1),this.readNext()}setDone(){return this.pos=this.chunkPos=this.end,this.range=this.ranges[this.rangeIndex=this.ranges.length-1],this.chunk="",this.next=-1}reset(e,t){if(t?(this.token=t,t.start=e,t.lookAhead=e+1,t.value=t.extended=-1):this.token=Fd,this.pos!=e){if(this.pos=e,e==this.end)return this.setDone(),this;for(;e=this.range.to;)this.range=this.ranges[++this.rangeIndex];e>=this.chunkPos&&e=this.chunkPos&&t<=this.chunkPos+this.chunk.length)return this.chunk.slice(e-this.chunkPos,t-this.chunkPos);if(e>=this.chunk2Pos&&t<=this.chunk2Pos+this.chunk2.length)return this.chunk2.slice(e-this.chunk2Pos,t-this.chunk2Pos);if(e>=this.range.from&&t<=this.range.to)return this.input.read(e,t);let n="";for(let r of this.ranges){if(r.from>=t)break;r.to>e&&(n+=this.input.read(Math.max(r.from,e),Math.min(r.to,t)))}return n}},gi=class{constructor(e,t){this.data=e,this.id=t}token(e,t){let{parser:n}=t.p;tp(this.data,e,t,this.id,n.data,n.tokenPrecTable)}};gi.prototype.contextual=gi.prototype.fallback=gi.prototype.extend=!1;var Qi=class{constructor(e,t,n){this.precTable=t,this.elseToken=n,this.data=typeof e=="string"?xr(e):e}token(e,t){let n=e.pos,r=0;for(;;){let s=e.next<0,o=e.resolveOffset(1,1);if(tp(this.data,e,t,0,this.data,this.precTable),e.token.value>-1)break;if(this.elseToken==null)return;if(s||r++,o==null)break;e.reset(o,e.token)}r&&(e.reset(n,e.token),e.acceptToken(this.elseToken,r))}};Qi.prototype.contextual=gi.prototype.fallback=gi.prototype.extend=!1;var K=class{constructor(e,t={}){this.token=e,this.contextual=!!t.contextual,this.fallback=!!t.fallback,this.extend=!!t.extend}};function tp(i,e,t,n,r,s){let o=0,a=1<0){let p=i[O];if(l.allows(p)&&(e.token.value==-1||e.token.value==p||uy(p,e.token.value,r,s))){e.acceptToken(p);break}}let h=e.next,f=0,u=i[o+2];if(e.next<0&&u>f&&i[c+u*3-3]==65535){o=i[c+u*3-1];continue e}for(;f>1,p=c+O+(O<<1),m=i[p],b=i[p+1]||65536;if(h=b)f=O+1;else{o=i[p+2],e.advance();continue e}}break}}function Hd(i,e,t){for(let n=e,r;(r=i[n])!=65535;n++)if(r==t)return n-e;return-1}function uy(i,e,t,n){let r=Hd(t,n,e);return r<0||Hd(t,n,i)e)&&!n.type.isError)return t<0?Math.max(0,Math.min(n.to-1,e-25)):Math.min(i.length,Math.max(n.from+1,e+25));if(t<0?n.prevSibling():n.nextSibling())break;if(!n.parent())return t<0?0:i.length}}var uc=class{constructor(e,t){this.fragments=e,this.nodeSet=t,this.i=0,this.fragment=null,this.safeFrom=-1,this.safeTo=-1,this.trees=[],this.start=[],this.index=[],this.nextFragment()}nextFragment(){let e=this.fragment=this.i==this.fragments.length?null:this.fragments[this.i++];if(e){for(this.safeFrom=e.openStart?Kd(e.tree,e.from+e.offset,1)-e.offset:e.from,this.safeTo=e.openEnd?Kd(e.tree,e.to+e.offset,-1)-e.offset:e.to;this.trees.length;)this.trees.pop(),this.start.pop(),this.index.pop();this.trees.push(e.tree),this.start.push(-e.offset),this.index.push(0),this.nextStart=this.safeFrom}else this.nextStart=1e9}nodeAt(e){if(ee)return this.nextStart=o,null;if(s instanceof G){if(o==e){if(o=Math.max(this.safeFrom,e)&&(this.trees.push(s),this.start.push(o),this.index.push(0))}else this.index[t]++,this.nextStart=o+s.length}}},Oc=class{constructor(e,t){this.stream=t,this.tokens=[],this.mainToken=null,this.actions=[],this.tokens=e.tokenizers.map(n=>new vn)}getActions(e){let t=0,n=null,{parser:r}=e.p,{tokenizers:s}=r,o=r.stateSlot(e.state,3),a=e.curContext?e.curContext.hash:0,l=0;for(let c=0;cf.end+25&&(l=Math.max(f.lookAhead,l)),f.value!=0)){let u=t;if(f.extended>-1&&(t=this.addActions(e,f.extended,f.end,t)),t=this.addActions(e,f.value,f.end,t),!h.extend&&(n=f,t>u))break}}for(;this.actions.length>t;)this.actions.pop();return l&&e.setLookAhead(l),!n&&e.pos==this.stream.end&&(n=new vn,n.value=e.p.parser.eofTerm,n.start=n.end=e.pos,t=this.addActions(e,n.value,n.end,t)),this.mainToken=n,this.actions}getMainToken(e){if(this.mainToken)return this.mainToken;let t=new vn,{pos:n,p:r}=e;return t.start=n,t.end=Math.min(n+1,r.stream.end),t.value=n==r.stream.end?r.parser.eofTerm:0,t}updateCachedToken(e,t,n){let r=this.stream.clipPos(n.pos);if(t.token(this.stream.reset(r,e),n),e.value>-1){let{parser:s}=n.p;for(let o=0;o=0&&n.p.parser.dialect.allows(a>>1)){(a&1)==0?e.value=a>>1:e.extended=a>>1;break}}}else e.value=0,e.end=this.stream.clipPos(r+1)}putAction(e,t,n,r){for(let s=0;se.bufferLength*4?new uc(n,e.nodeSet):null}get parsedPos(){return this.minStackPos}advance(){let e=this.stacks,t=this.minStackPos,n=this.stacks=[],r,s;if(this.bigReductionCount>300&&e.length==1){let[o]=e;for(;o.forceReduce()&&o.stack.length&&o.stack[o.stack.length-2]>=this.lastBigReductionStart;);this.bigReductionCount=this.lastBigReductionSize=0}for(let o=0;ot)n.push(a);else{if(this.advanceStack(a,n,e))continue;{r||(r=[],s=[]),r.push(a);let l=this.tokens.getMainToken(a);s.push(l.value,l.end)}}break}}if(!n.length){let o=r&&Oy(r);if(o)return Je&&console.log("Finish with "+this.stackID(o)),this.stackToTree(o);if(this.parser.strict)throw Je&&r&&console.log("Stuck with token "+(this.tokens.mainToken?this.parser.getName(this.tokens.mainToken.value):"none")),new SyntaxError("No parse at "+t);this.recovering||(this.recovering=5)}if(this.recovering&&r){let o=this.stoppedAt!=null&&r[0].pos>this.stoppedAt?r[0]:this.runRecovery(r,s,n);if(o)return Je&&console.log("Force-finish "+this.stackID(o)),this.stackToTree(o.forceAll())}if(this.recovering){let o=this.recovering==1?1:this.recovering*3;if(n.length>o)for(n.sort((a,l)=>l.score-a.score);n.length>o;)n.pop();n.some(a=>a.reducePos>t)&&this.recovering--}else if(n.length>1){e:for(let o=0;o500&&c.buffer.length>500)if((a.score-c.score||a.buffer.length-c.buffer.length)>0)n.splice(l--,1);else{n.splice(o--,1);continue e}}}n.length>12&&(n.sort((o,a)=>a.score-o.score),n.splice(12,n.length-12))}this.minStackPos=n[0].pos;for(let o=1;o ":"";if(this.stoppedAt!=null&&r>this.stoppedAt)return e.forceReduce()?e:null;if(this.fragments){let c=e.curContext&&e.curContext.tracker.strict,h=c?e.curContext.hash:0;for(let f=this.fragments.nodeAt(r);f;){let u=this.parser.nodeSet.types[f.type.id]==f.type?s.getGoto(e.state,f.type.id):-1;if(u>-1&&f.length&&(!c||(f.prop(I.contextHash)||0)==h))return e.useNode(f,u),Je&&console.log(o+this.stackID(e)+` (via reuse of ${s.getName(f.type.id)})`),!0;if(!(f instanceof G)||f.children.length==0||f.positions[0]>0)break;let O=f.children[0];if(O instanceof G&&f.positions[0]==0)f=O;else break}}let a=s.stateSlot(e.state,4);if(a>0)return e.reduce(a),Je&&console.log(o+this.stackID(e)+` (via always-reduce ${s.getName(a&65535)})`),!0;if(e.stack.length>=8400)for(;e.stack.length>6e3&&e.forceReduce(););let l=this.tokens.getActions(e);for(let c=0;cr?t.push(p):n.push(p)}return!1}advanceFully(e,t){let n=e.pos;for(;;){if(!this.advanceStack(e,null,null))return!1;if(e.pos>n)return Jd(e,t),!0}}runRecovery(e,t,n){let r=null,s=!1;for(let o=0;o ":"";if(a.deadEnd&&(s||(s=!0,a.restart(),Je&&console.log(h+this.stackID(a)+" (restarted)"),this.advanceFully(a,n))))continue;let f=a.split(),u=h;for(let O=0;O<10&&f.forceReduce()&&(Je&&console.log(u+this.stackID(f)+" (via force-reduce)"),!this.advanceFully(f,n));O++)Je&&(u=this.stackID(f)+" -> ");for(let O of a.recoverByInsert(l))Je&&console.log(h+this.stackID(O)+" (via recover-insert)"),this.advanceFully(O,n);this.stream.end>a.pos?(c==a.pos&&(c++,l=0),a.recoverByDelete(l,c),Je&&console.log(h+this.stackID(a)+` (via recover-delete ${this.parser.getName(l)})`),Jd(a,n)):(!r||r.scorei,Ot=class{constructor(e){this.start=e.start,this.shift=e.shift||ac,this.reduce=e.reduce||ac,this.reuse=e.reuse||ac,this.hash=e.hash||(()=>0),this.strict=e.strict!==!1}},Pe=class i extends Dt{constructor(e){if(super(),this.wrappers=[],e.version!=14)throw new RangeError(`Parser version (${e.version}) doesn't match runtime version (14)`);let t=e.nodeNames.split(" ");this.minRepeatTerm=t.length;for(let a=0;ae.topRules[a][1]),r=[];for(let a=0;a=0)s(h,l,a[c++]);else{let f=a[c+-h];for(let u=-h;u>0;u--)s(a[c++],l,f);c++}}}this.nodeSet=new jt(t.map((a,l)=>Oe.define({name:l>=this.minRepeatTerm?void 0:a,id:l,props:r[l],top:n.indexOf(l)>-1,error:l==0,skipped:e.skippedNodes&&e.skippedNodes.indexOf(l)>-1}))),e.propSources&&(this.nodeSet=this.nodeSet.extend(...e.propSources)),this.strict=!1,this.bufferLength=1024;let o=xr(e.tokenData);this.context=e.context,this.specializerSpecs=e.specialized||[],this.specialized=new Uint16Array(this.specializerSpecs.length);for(let a=0;atypeof a=="number"?new gi(o,a):a),this.topRules=e.topRules,this.dialects=e.dialects||{},this.dynamicPrecedences=e.dynamicPrecedences||null,this.tokenPrecTable=e.tokenPrec,this.termNames=e.termNames||null,this.maxNode=this.nodeSet.types.length-1,this.dialect=this.parseDialect(),this.top=this.topRules[Object.keys(this.topRules)[0]]}createParse(e,t,n){let r=new dc(this,e,t,n);for(let s of this.wrappers)r=s(r,e,t,n);return r}getGoto(e,t,n=!1){let r=this.goto;if(t>=r[0])return-1;for(let s=r[t+1];;){let o=r[s++],a=o&1,l=r[s++];if(a&&n)return l;for(let c=s+(o>>1);s0}validAction(e,t){return!!this.allActions(e,n=>n==t?!0:null)}allActions(e,t){let n=this.stateSlot(e,4),r=n?t(n):void 0;for(let s=this.stateSlot(e,1);r==null;s+=3){if(this.data[s]==65535)if(this.data[s+1]==1)s=It(this.data,s+2);else break;r=t(It(this.data,s+1))}return r}nextStates(e){let t=[];for(let n=this.stateSlot(e,1);;n+=3){if(this.data[n]==65535)if(this.data[n+1]==1)n=It(this.data,n+2);else break;if((this.data[n+2]&1)==0){let r=this.data[n+1];t.some((s,o)=>o&1&&s==r)||t.push(this.data[n],r)}}return t}configure(e){let t=Object.assign(Object.create(i.prototype),this);if(e.props&&(t.nodeSet=this.nodeSet.extend(...e.props)),e.top){let n=this.topRules[e.top];if(!n)throw new RangeError(`Invalid top rule name ${e.top}`);t.top=n}return e.tokenizers&&(t.tokenizers=this.tokenizers.map(n=>{let r=e.tokenizers.find(s=>s.from==n);return r?r.to:n})),e.specializers&&(t.specializers=this.specializers.slice(),t.specializerSpecs=this.specializerSpecs.map((n,r)=>{let s=e.specializers.find(a=>a.from==n.external);if(!s)return n;let o=Object.assign(Object.assign({},n),{external:s.to});return t.specializers[r]=ep(o),o})),e.contextTracker&&(t.context=e.contextTracker),e.dialect&&(t.dialect=this.parseDialect(e.dialect)),e.strict!=null&&(t.strict=e.strict),e.wrap&&(t.wrappers=t.wrappers.concat(e.wrap)),e.bufferLength!=null&&(t.bufferLength=e.bufferLength),t}hasWrappers(){return this.wrappers.length>0}getName(e){return this.termNames?this.termNames[e]:String(e<=this.maxNode&&this.nodeSet.types[e].name||e)}get eofTerm(){return this.maxNode+1}get topNode(){return this.nodeSet.types[this.top[1]]}dynamicPrecedence(e){let t=this.dynamicPrecedences;return t==null?0:t[e]||0}parseDialect(e){let t=Object.keys(this.dialects),n=t.map(()=>!1);if(e)for(let s of e.split(" ")){let o=t.indexOf(s);o>=0&&(n[o]=!0)}let r=null;for(let s=0;sn)&&t.p.parser.stateFlag(t.state,2)&&(!e||e.scorei.external(t,n)<<1|e}return i.get}var dy=55,py=1,my=56,gy=2,Qy=57,by=3,ip=4,Sy=5,Sc=6,hp=7,fp=8,up=9,Op=10,yy=11,ky=12,xy=13,mc=58,wy=14,Py=15,np=59,dp=21,vy=23,pp=24,$y=25,Qc=27,mp=28,Ty=29,Cy=32,Xy=35,_y=37,Ry=38,Ay=0,Zy=1,qy={area:!0,base:!0,br:!0,col:!0,command:!0,embed:!0,frame:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0,menuitem:!0},Ey={dd:!0,li:!0,optgroup:!0,option:!0,p:!0,rp:!0,rt:!0,tbody:!0,td:!0,tfoot:!0,th:!0,tr:!0},rp={dd:{dd:!0,dt:!0},dt:{dd:!0,dt:!0},li:{li:!0},option:{option:!0,optgroup:!0},optgroup:{optgroup:!0},p:{address:!0,article:!0,aside:!0,blockquote:!0,dir:!0,div:!0,dl:!0,fieldset:!0,footer:!0,form:!0,h1:!0,h2:!0,h3:!0,h4:!0,h5:!0,h6:!0,header:!0,hgroup:!0,hr:!0,menu:!0,nav:!0,ol:!0,p:!0,pre:!0,section:!0,table:!0,ul:!0},rp:{rp:!0,rt:!0},rt:{rp:!0,rt:!0},tbody:{tbody:!0,tfoot:!0},td:{td:!0,th:!0},tfoot:{tbody:!0},th:{td:!0,th:!0},thead:{tbody:!0,tfoot:!0},tr:{tr:!0}};function zy(i){return i==45||i==46||i==58||i>=65&&i<=90||i==95||i>=97&&i<=122||i>=161}var sp=null,op=null,ap=0;function bc(i,e){let t=i.pos+e;if(ap==t&&op==i)return sp;let n=i.peek(e),r="";for(;zy(n);)r+=String.fromCharCode(n),n=i.peek(++e);return op=i,ap=t,sp=r?r.toLowerCase():n==Ly||n==My?void 0:null}var gp=60,io=62,yc=47,Ly=63,My=33,Wy=45;function lp(i,e){this.name=i,this.parent=e}var jy=[Sc,Op,hp,fp,up],Vy=new Ot({start:null,shift(i,e,t,n){return jy.indexOf(e)>-1?new lp(bc(n,1)||"",i):i},reduce(i,e){return e==dp&&i?i.parent:i},reuse(i,e,t,n){let r=e.type.id;return r==Sc||r==_y?new lp(bc(n,1)||"",i):i},strict:!1}),Dy=new K((i,e)=>{if(i.next!=gp){i.next<0&&e.context&&i.acceptToken(mc);return}i.advance();let t=i.next==yc;t&&i.advance();let n=bc(i,0);if(n===void 0)return;if(!n)return i.acceptToken(t?Py:wy);let r=e.context?e.context.name:null;if(t){if(n==r)return i.acceptToken(yy);if(r&&Ey[r])return i.acceptToken(mc,-2);if(e.dialectEnabled(Ay))return i.acceptToken(ky);for(let s=e.context;s;s=s.parent)if(s.name==n)return;i.acceptToken(xy)}else{if(n=="script")return i.acceptToken(hp);if(n=="style")return i.acceptToken(fp);if(n=="textarea")return i.acceptToken(up);if(qy.hasOwnProperty(n))return i.acceptToken(Op);r&&rp[r]&&rp[r][n]?i.acceptToken(mc,-1):i.acceptToken(Sc)}},{contextual:!0}),Yy=new K(i=>{for(let e=0,t=0;;t++){if(i.next<0){t&&i.acceptToken(np);break}if(i.next==Wy)e++;else if(i.next==io&&e>=2){t>=3&&i.acceptToken(np,-2);break}else e=0;i.advance()}});function Iy(i){for(;i;i=i.parent)if(i.name=="svg"||i.name=="math")return!0;return!1}var By=new K((i,e)=>{if(i.next==yc&&i.peek(1)==io){let t=e.dialectEnabled(Zy)||Iy(e.context);i.acceptToken(t?Sy:ip,2)}else i.next==io&&i.acceptToken(ip,1)});function kc(i,e,t){let n=2+i.length;return new K(r=>{for(let s=0,o=0,a=0;;a++){if(r.next<0){a&&r.acceptToken(e);break}if(s==0&&r.next==gp||s==1&&r.next==yc||s>=2&&so?r.acceptToken(e,-o):r.acceptToken(t,-(o-2));break}else if((r.next==10||r.next==13)&&a){r.acceptToken(e,1);break}else s=o=0;r.advance()}})}var Uy=kc("script",dy,py),Gy=kc("style",my,gy),Ny=kc("textarea",Qy,by),Fy=ge({"Text RawText IncompleteTag IncompleteCloseTag":d.content,"StartTag StartCloseTag SelfClosingEndTag EndTag":d.angleBracket,TagName:d.tagName,"MismatchedCloseTag/TagName":[d.tagName,d.invalid],AttributeName:d.attributeName,"AttributeValue UnquotedAttributeValue":d.attributeValue,Is:d.definitionOperator,"EntityReference CharacterReference":d.character,Comment:d.blockComment,ProcessingInst:d.processingInstruction,DoctypeDecl:d.documentMeta}),Qp=Pe.deserialize({version:14,states:",xOVO!rOOO!ZQ#tO'#CrO!`Q#tO'#C{O!eQ#tO'#DOO!jQ#tO'#DRO!oQ#tO'#DTO!tOaO'#CqO#PObO'#CqO#[OdO'#CqO$kO!rO'#CqOOO`'#Cq'#CqO$rO$fO'#DUO$zQ#tO'#DWO%PQ#tO'#DXOOO`'#Dl'#DlOOO`'#DZ'#DZQVO!rOOO%UQ&rO,59^O%aQ&rO,59gO%lQ&rO,59jO%wQ&rO,59mO&SQ&rO,59oOOOa'#D_'#D_O&_OaO'#CyO&jOaO,59]OOOb'#D`'#D`O&rObO'#C|O&}ObO,59]OOOd'#Da'#DaO'VOdO'#DPO'bOdO,59]OOO`'#Db'#DbO'jO!rO,59]O'qQ#tO'#DSOOO`,59],59]OOOp'#Dc'#DcO'vO$fO,59pOOO`,59p,59pO(OQ#|O,59rO(TQ#|O,59sOOO`-E7X-E7XO(YQ&rO'#CtOOQW'#D['#D[O(hQ&rO1G.xOOOa1G.x1G.xOOO`1G/Z1G/ZO(sQ&rO1G/ROOOb1G/R1G/RO)OQ&rO1G/UOOOd1G/U1G/UO)ZQ&rO1G/XOOO`1G/X1G/XO)fQ&rO1G/ZOOOa-E7]-E7]O)qQ#tO'#CzOOO`1G.w1G.wOOOb-E7^-E7^O)vQ#tO'#C}OOOd-E7_-E7_O){Q#tO'#DQOOO`-E7`-E7`O*QQ#|O,59nOOOp-E7a-E7aOOO`1G/[1G/[OOO`1G/^1G/^OOO`1G/_1G/_O*VQ,UO,59`OOQW-E7Y-E7YOOOa7+$d7+$dOOO`7+$u7+$uOOOb7+$m7+$mOOOd7+$p7+$pOOO`7+$s7+$sO*bQ#|O,59fO*gQ#|O,59iO*lQ#|O,59lOOO`1G/Y1G/YO*qO7[O'#CwO+SOMhO'#CwOOQW1G.z1G.zOOO`1G/Q1G/QOOO`1G/T1G/TOOO`1G/W1G/WOOOO'#D]'#D]O+eO7[O,59cOOQW,59c,59cOOOO'#D^'#D^O+vOMhO,59cOOOO-E7Z-E7ZOOQW1G.}1G.}OOOO-E7[-E7[",stateData:",c~O!_OS~OUSOVPOWQOXROYTO[]O][O^^O_^Oa^Ob^Oc^Od^Oy^O|_O!eZO~OgaO~OgbO~OgcO~OgdO~OgeO~O!XfOPmP![mP~O!YiOQpP![pP~O!ZlORsP![sP~OUSOVPOWQOXROYTOZqO[]O][O^^O_^Oa^Ob^Oc^Od^Oy^O!eZO~O![rO~P#gO!]sO!fuO~OgvO~OgwO~OS|OT}OiyO~OS!POT}OiyO~OS!ROT}OiyO~OS!TOT}OiyO~OS}OT}OiyO~O!XfOPmX![mX~OP!WO![!XO~O!YiOQpX![pX~OQ!ZO![!XO~O!ZlORsX![sX~OR!]O![!XO~O![!XO~P#gOg!_O~O!]sO!f!aO~OS!bO~OS!cO~Oj!dOShXThXihX~OS!fOT!gOiyO~OS!hOT!gOiyO~OS!iOT!gOiyO~OS!jOT!gOiyO~OS!gOT!gOiyO~Og!kO~Og!lO~Og!mO~OS!nO~Ol!qO!a!oO!c!pO~OS!rO~OS!sO~OS!tO~Ob!uOc!uOd!uO!a!wO!b!uO~Ob!xOc!xOd!xO!c!wO!d!xO~Ob!uOc!uOd!uO!a!{O!b!uO~Ob!xOc!xOd!xO!c!{O!d!xO~OT~cbd!ey|!e~",goto:"%q!aPPPPPPPPPPPPPPPPPPPPP!b!hP!nPP!zP!}#Q#T#Z#^#a#g#j#m#s#y!bP!b!bP$P$V$m$s$y%P%V%]%cPPPPPPPP%iX^OX`pXUOX`pezabcde{!O!Q!S!UR!q!dRhUR!XhXVOX`pRkVR!XkXWOX`pRnWR!XnXXOX`pQrXR!XpXYOX`pQ`ORx`Q{aQ!ObQ!QcQ!SdQ!UeZ!e{!O!Q!S!UQ!v!oR!z!vQ!y!pR!|!yQgUR!VgQjVR!YjQmWR![mQpXR!^pQtZR!`tS_O`ToXp",nodeNames:"\u26A0 StartCloseTag StartCloseTag StartCloseTag EndTag SelfClosingEndTag StartTag StartTag StartTag StartTag StartTag StartCloseTag StartCloseTag StartCloseTag IncompleteTag IncompleteCloseTag Document Text EntityReference CharacterReference InvalidEntity Element OpenTag TagName Attribute AttributeName Is AttributeValue UnquotedAttributeValue ScriptText CloseTag OpenTag StyleText CloseTag OpenTag TextareaText CloseTag OpenTag CloseTag SelfClosingTag Comment ProcessingInst MismatchedCloseTag CloseTag DoctypeDecl",maxTerm:68,context:Vy,nodeProps:[["closedBy",-10,1,2,3,7,8,9,10,11,12,13,"EndTag",6,"EndTag SelfClosingEndTag",-4,22,31,34,37,"CloseTag"],["openedBy",4,"StartTag StartCloseTag",5,"StartTag",-4,30,33,36,38,"OpenTag"],["group",-10,14,15,18,19,20,21,40,41,42,43,"Entity",17,"Entity TextContent",-3,29,32,35,"TextContent Entity"],["isolate",-11,22,30,31,33,34,36,37,38,39,42,43,"ltr",-3,27,28,40,""]],propSources:[Fy],skippedNodes:[0],repeatNodeCount:9,tokenData:"!]tw8twx7Sx!P8t!P!Q5u!Q!]8t!]!^/^!^!a7S!a#S8t#S#T;{#T#s8t#s$f5u$f;'S8t;'S;=`>V<%l?Ah8t?Ah?BY5u?BY?Mn8t?MnO5u!Z5zblWOX5uXZ7SZ[5u[^7S^p5uqr5urs7Sst+Ptw5uwx7Sx!]5u!]!^7w!^!a7S!a#S5u#S#T7S#T;'S5u;'S;=`8n<%lO5u!R7VVOp7Sqs7St!]7S!]!^7l!^;'S7S;'S;=`7q<%lO7S!R7qOb!R!R7tP;=`<%l7S!Z8OYlWb!ROX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+P!Z8qP;=`<%l5u!_8{iiSlWOX5uXZ7SZ[5u[^7S^p5uqr8trs7Sst/^tw8twx7Sx!P8t!P!Q5u!Q!]8t!]!^:j!^!a7S!a#S8t#S#T;{#T#s8t#s$f5u$f;'S8t;'S;=`>V<%l?Ah8t?Ah?BY5u?BY?Mn8t?MnO5u!_:sbiSlWb!ROX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+P!VP<%l?Ah;{?Ah?BY7S?BY?Mn;{?MnO7S!V=dXiSb!Rqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0m!V>SP;=`<%l;{!_>YP;=`<%l8t!_>dhiSlWOX@OXZAYZ[@O[^AY^p@OqrBwrsAYswBwwxAYx!PBw!P!Q@O!Q!]Bw!]!^/^!^!aAY!a#SBw#S#TE{#T#sBw#s$f@O$f;'SBw;'S;=`HS<%l?AhBw?Ah?BY@O?BY?MnBw?MnO@O!Z@TalWOX@OXZAYZ[@O[^AY^p@Oqr@OrsAYsw@OwxAYx!]@O!]!^Az!^!aAY!a#S@O#S#TAY#T;'S@O;'S;=`Bq<%lO@O!RA]UOpAYq!]AY!]!^Ao!^;'SAY;'S;=`At<%lOAY!RAtOc!R!RAwP;=`<%lAY!ZBRYlWc!ROX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+P!ZBtP;=`<%l@O!_COhiSlWOX@OXZAYZ[@O[^AY^p@OqrBwrsAYswBwwxAYx!PBw!P!Q@O!Q!]Bw!]!^Dj!^!aAY!a#SBw#S#TE{#T#sBw#s$f@O$f;'SBw;'S;=`HS<%l?AhBw?Ah?BY@O?BY?MnBw?MnO@O!_DsbiSlWc!ROX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+P!VFQbiSOpAYqrE{rsAYswE{wxAYx!PE{!P!QAY!Q!]E{!]!^GY!^!aAY!a#sE{#s$fAY$f;'SE{;'S;=`G|<%l?AhE{?Ah?BYAY?BY?MnE{?MnOAY!VGaXiSc!Rqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0m!VHPP;=`<%lE{!_HVP;=`<%lBw!ZHcW!cxaP!b`Or(trs'ksv(tw!^(t!^!_)e!_;'S(t;'S;=`*P<%lO(t!aIYliSaPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx}-_}!OKQ!O!P-_!P!Q$q!Q!^-_!^!_*V!_!a&X!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q!aK_kiSaPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx!P-_!P!Q$q!Q!^-_!^!_*V!_!`&X!`!aMS!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q!TM_XaP!b`!dp!fQOr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&X!aNZ!ZiSgQaPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx}-_}!OMz!O!PMz!P!Q$q!Q![Mz![!]Mz!]!^-_!^!_*V!_!a&X!a!c-_!c!}Mz!}#R-_#R#SMz#S#T1k#T#oMz#o#s-_#s$f$q$f$}-_$}%OMz%O%W-_%W%oMz%o%p-_%p&aMz&a&b-_&b1pMz1p4UMz4U4dMz4d4e-_4e$ISMz$IS$I`-_$I`$IbMz$Ib$Je-_$Je$JgMz$Jg$Kh-_$Kh%#tMz%#t&/x-_&/x&EtMz&Et&FV-_&FV;'SMz;'S;:j!#|;:j;=`3X<%l?&r-_?&r?AhMz?Ah?BY$q?BY?MnMz?MnO$q!a!$PP;=`<%lMz!R!$ZY!b`!dpOq*Vqr!$yrs(Vsv*Vwx)ex!a*V!a!b!4t!b;'S*V;'S;=`*s<%lO*V!R!%Q]!b`!dpOr*Vrs(Vsv*Vwx)ex}*V}!O!%y!O!f*V!f!g!']!g#W*V#W#X!0`#X;'S*V;'S;=`*s<%lO*V!R!&QX!b`!dpOr*Vrs(Vsv*Vwx)ex}*V}!O!&m!O;'S*V;'S;=`*s<%lO*V!R!&vV!b`!dp!ePOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!'dX!b`!dpOr*Vrs(Vsv*Vwx)ex!q*V!q!r!(P!r;'S*V;'S;=`*s<%lO*V!R!(WX!b`!dpOr*Vrs(Vsv*Vwx)ex!e*V!e!f!(s!f;'S*V;'S;=`*s<%lO*V!R!(zX!b`!dpOr*Vrs(Vsv*Vwx)ex!v*V!v!w!)g!w;'S*V;'S;=`*s<%lO*V!R!)nX!b`!dpOr*Vrs(Vsv*Vwx)ex!{*V!{!|!*Z!|;'S*V;'S;=`*s<%lO*V!R!*bX!b`!dpOr*Vrs(Vsv*Vwx)ex!r*V!r!s!*}!s;'S*V;'S;=`*s<%lO*V!R!+UX!b`!dpOr*Vrs(Vsv*Vwx)ex!g*V!g!h!+q!h;'S*V;'S;=`*s<%lO*V!R!+xY!b`!dpOr!+qrs!,hsv!+qvw!-Swx!.[x!`!+q!`!a!/j!a;'S!+q;'S;=`!0Y<%lO!+qq!,mV!dpOv!,hvx!-Sx!`!,h!`!a!-q!a;'S!,h;'S;=`!.U<%lO!,hP!-VTO!`!-S!`!a!-f!a;'S!-S;'S;=`!-k<%lO!-SP!-kO|PP!-nP;=`<%l!-Sq!-xS!dp|POv(Vx;'S(V;'S;=`(h<%lO(Vq!.XP;=`<%l!,ha!.aX!b`Or!.[rs!-Ssv!.[vw!-Sw!`!.[!`!a!.|!a;'S!.[;'S;=`!/d<%lO!.[a!/TT!b`|POr)esv)ew;'S)e;'S;=`)y<%lO)ea!/gP;=`<%l!.[!R!/sV!b`!dp|POr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!0]P;=`<%l!+q!R!0gX!b`!dpOr*Vrs(Vsv*Vwx)ex#c*V#c#d!1S#d;'S*V;'S;=`*s<%lO*V!R!1ZX!b`!dpOr*Vrs(Vsv*Vwx)ex#V*V#V#W!1v#W;'S*V;'S;=`*s<%lO*V!R!1}X!b`!dpOr*Vrs(Vsv*Vwx)ex#h*V#h#i!2j#i;'S*V;'S;=`*s<%lO*V!R!2qX!b`!dpOr*Vrs(Vsv*Vwx)ex#m*V#m#n!3^#n;'S*V;'S;=`*s<%lO*V!R!3eX!b`!dpOr*Vrs(Vsv*Vwx)ex#d*V#d#e!4Q#e;'S*V;'S;=`*s<%lO*V!R!4XX!b`!dpOr*Vrs(Vsv*Vwx)ex#X*V#X#Y!+q#Y;'S*V;'S;=`*s<%lO*V!R!4{Y!b`!dpOr!4trs!5ksv!4tvw!6Vwx!8]x!a!4t!a!b!:]!b;'S!4t;'S;=`!;r<%lO!4tq!5pV!dpOv!5kvx!6Vx!a!5k!a!b!7W!b;'S!5k;'S;=`!8V<%lO!5kP!6YTO!a!6V!a!b!6i!b;'S!6V;'S;=`!7Q<%lO!6VP!6lTO!`!6V!`!a!6{!a;'S!6V;'S;=`!7Q<%lO!6VP!7QOyPP!7TP;=`<%l!6Vq!7]V!dpOv!5kvx!6Vx!`!5k!`!a!7r!a;'S!5k;'S;=`!8V<%lO!5kq!7yS!dpyPOv(Vx;'S(V;'S;=`(h<%lO(Vq!8YP;=`<%l!5ka!8bX!b`Or!8]rs!6Vsv!8]vw!6Vw!a!8]!a!b!8}!b;'S!8];'S;=`!:V<%lO!8]a!9SX!b`Or!8]rs!6Vsv!8]vw!6Vw!`!8]!`!a!9o!a;'S!8];'S;=`!:V<%lO!8]a!9vT!b`yPOr)esv)ew;'S)e;'S;=`)y<%lO)ea!:YP;=`<%l!8]!R!:dY!b`!dpOr!4trs!5ksv!4tvw!6Vwx!8]x!`!4t!`!a!;S!a;'S!4t;'S;=`!;r<%lO!4t!R!;]V!b`!dpyPOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!;uP;=`<%l!4t!V!{let c=a.type.id;if(c==Ty)return gc(a,l,t);if(c==Cy)return gc(a,l,n);if(c==Xy)return gc(a,l,r);if(c==dp&&s.length){let h=a.node,f=h.firstChild,u=f&&cp(f,l),O;if(u){for(let p of s)if(p.tag==u&&(!p.attrs||p.attrs(O||(O=bp(f,l))))){let m=h.lastChild,b=m.type.id==Ry?m.from:h.to;if(b>f.to)return{parser:p.parser,overlay:[{from:f.to,to:b}]}}}}if(o&&c==pp){let h=a.node,f;if(f=h.firstChild){let u=o[l.read(f.from,f.to)];if(u)for(let O of u){if(O.tagName&&O.tagName!=cp(h.parent,l))continue;let p=h.lastChild;if(p.type.id==Qc){let m=p.from+1,b=p.lastChild,g=p.to-(b&&b.isError?0:1);if(g>m)return{parser:O.parser,overlay:[{from:m,to:g}],bracketed:!0}}else if(p.type.id==mp)return{parser:O.parser,overlay:[{from:p.from,to:p.to}]}}}}return null})}var Hy=145,Sp=1,Ky=146,Jy=147,kp=2,ek=148,tk=3,ik=4,xp=[9,10,11,12,13,32,133,160,5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8232,8233,8239,8287,12288],nk=58,rk=40,wp=95,sk=91,no=45,ok=46,ak=35,lk=37,ck=38,hk=92,fk=10,uk=42;function wr(i){return i>=65&&i<=90||i>=97&&i<=122||i>=161}function wc(i){return i>=48&&i<=57}function yp(i){return wc(i)||i>=97&&i<=102||i>=65&&i<=70}var Pp=(i,e,t)=>(n,r)=>{for(let s=!1,o=0,a=0;;a++){let{next:l}=n;if(wr(l)||l==no||l==wp||s&&wc(l))!s&&(l!=no||a>0)&&(s=!0),o===a&&l==no&&o++,n.advance();else if(l==hk&&n.peek(1)!=fk){if(n.advance(),yp(n.next)){do n.advance();while(yp(n.next));n.next==32&&n.advance()}else n.next>-1&&n.advance();s=!0}else{s&&n.acceptToken(o==2&&r.canShift(kp)?e:l==rk?t:i);break}}},Ok=new K(Pp(Ky,kp,Jy),{contextual:!0}),dk=new K(Pp(ek,tk,ik),{contextual:!0}),pk=new K(i=>{if(xp.includes(i.peek(-1))){let{next:e}=i;(wr(e)||e==wp||e==ak||e==ok||e==uk||e==sk||e==nk&&wr(i.peek(1))||e==no||e==ck)&&i.acceptToken(Hy)}}),mk=new K(i=>{if(!xp.includes(i.peek(-1))){let{next:e}=i;if(e==lk&&(i.advance(),i.acceptToken(Sp)),wr(e)){do i.advance();while(wr(i.next)||wc(i.next));i.acceptToken(Sp)}}}),gk=ge({"AtKeyword import charset namespace keyframes media supports font-feature-values":d.definitionKeyword,"from to selector scope MatchFlag":d.keyword,NamespaceName:d.namespace,KeyframeName:d.labelName,KeyframeRangeName:d.operatorKeyword,TagName:d.tagName,ClassName:d.className,PseudoClassName:d.constant(d.className),IdName:d.labelName,"FeatureName PropertyName":d.propertyName,AttributeName:d.attributeName,NumberLiteral:d.number,KeywordQuery:d.keyword,UnaryQueryOp:d.operatorKeyword,"CallTag ValueName FontName":d.atom,VariableName:d.variableName,Callee:d.operatorKeyword,Unit:d.unit,"UniversalSelector NestingSelector":d.definitionOperator,"MatchOp CompareOp":d.compareOperator,"ChildOp SiblingOp, LogicOp":d.logicOperator,BinOp:d.arithmeticOperator,Important:d.modifier,Comment:d.blockComment,ColorLiteral:d.color,"ParenthesizedContent StringLiteral":d.string,":":d.punctuation,"PseudoOp #":d.derefOperator,"; , |":d.separator,"( )":d.paren,"[ ]":d.squareBracket,"{ }":d.brace}),Qk={__proto__:null,lang:44,"nth-child":44,"nth-last-child":44,"nth-of-type":44,"nth-last-of-type":44,dir:44,"host-context":44,if:90,url:152,"url-prefix":152,domain:152,regexp:152},bk={__proto__:null,or:104,and:104,not:112,only:112,layer:206},Sk={__proto__:null,selector:118,style:124,layer:202},yk={__proto__:null,"@import":198,"@media":210,"@charset":214,"@namespace":218,"@keyframes":224,"@supports":236,"@scope":240,"@font-feature-values":246},kk={__proto__:null,to:243},vp=Pe.deserialize({version:14,states:"MlQYQdOOO#}QdOOP$UO`OOO%OQaO'#CfOOQP'#Ce'#CeO%VQdO'#CgO%[Q`O'#CgO%aQaO'#FnO&XQdO'#CkO&xQaO'#CcO'SQdO'#CnO'_QdO'#EOO'dQdO'#EQO'oQdO'#EXO'oQdO'#E[OOQP'#Fn'#FnO)RQhO'#E}OOQS'#Fm'#FmOOQS'#FQ'#FQQYQdOOO)YQdO'#EbO*iQhO'#EhO)YQdO'#EjO*pQdO'#ElO*{QdO'#EoO)}QhO'#EuO+TQdO'#EwO+`QdO'#EzO+eQaO'#CfO+lQ`O'#E_O+qQ`O'#F{O+|QdO'#F{QOQ`OOP,WO&jO'#CaPOOO)CA])CA]OOQP'#Ci'#CiOOQP,59R,59RO%VQdO,59ROOQP'#Cm'#CmOOQP,59V,59VO&XQdO,59VO,cQdO,59YO'_QdO,5:jO'dQdO,5:lO'oQdO,5:sO'oQdO,5:uO'oQdO,5:vO'oQdO'#FXO,nQ`O,58}O,vQdO'#E^OOQS,58},58}OOQP'#Cq'#CqOOQO'#D|'#D|OOQP,59Y,59YO,}Q`O,59YO-SQ`O,59YOOQP'#EP'#EPOOQP,5:j,5:jO-XQpO'#ERO-dQdO'#ESO-iQ`O'#ESO-nQpO,5:lO.XQaO,5:sO.oQaO,5:vOOQW'#D^'#D^O/nQhO'#DgO0RQhO,5;iO)}QhO'#DeO0`Q`O'#DnO0eQhO'#DxOOQW'#Ft'#FtOOQS,5;i,5;iO0jQ`O'#DhO0oQ`O'#DkOOQS-E9O-E9OOOQ['#Cv'#CvO0tQdO'#CwO1[QdO'#C}O1rQdO'#DQO2YQ!pO'#DSO4fQ!jO,5:|OOQO'#DX'#DXO-SQ`O'#DWO4vQ!nO'#FqO6|Q`O'#DYO7RQ`O'#DyOOQ['#Fq'#FqO7WQhO'#GOO7fQ`O,5;SO7kQ!bO,5;UOOQS'#En'#EnO7sQ`O,5;WO7xQdO,5;WOOQO'#Eq'#EqO8QQ`O,5;ZO8VQhO,5;aO'oQdO'#DjOOQS,5;c,5;cO0jQ`O,5;cO8_QdO,5;cOOQS'#F`'#F`O8gQdO'#E|O7fQ`O,5;fO8oQdO,5:yO9PQdO'#FZO9^Q`O,5lQhO'#DoOOQW,5:Y,5:YOOQW,5:d,5:dOOQW,5:S,5:SO>vQhO,5:VO?bQ!fO'#FrOOQS'#Fr'#FrOOQS'#FS'#FSO@rQdO,59cOOQ[,59c,59cOAYQdO,59iOOQ[,59i,59iOApQdO,59lOOQ[,59l,59lOOQ[,59n,59nO)YQdO,59pOBWQhO'#EdOOQW'#Ed'#EdOBuQ`O1G0hO4oQhO1G0hOOQ[,59r,59rO)}QhO'#D[OOQ[,59t,59tOBzQ#tO,5:eOCVQhO'#F]OCdQ`O,5vQhO'#DmOI_QhO'#DqOIgQhO'#DsOIlQhO'#FwOOQO'#Fw'#FwOItQ!bO'#DwOOQO'#Fy'#FyOOQO'#Fv'#FvOIyQ`O1G/qOOQS-E9Q-E9QOOQ[1G.}1G.}OOQ[1G/T1G/TOOQ[1G/W1G/WOOQ[1G/[1G/[OJOQdO,5;OOOQS7+&S7+&SOJTQ`O7+&SOJYQhO'#D]OJbQ`O,59vO)}QhO,59vOOQ[1G0P1G0POJjQ`O1G0POJoQhO,5;wOOQO-E9Z-E9ZOOQS7+&^7+&^OJ}QbO'#DSOOQO'#Et'#EtOK]Q`O'#EsOOQO'#Es'#EsOKhQ`O'#F^OKpQdO,5;^OOQS,5;^,5;^OOQ[1G/p1G/pOOQS7+&i7+&iO7fQ`O7+&iOK{Q!fO'#FYO)YQdO'#FYOMSQdO7+&POOQO7+&P7+&POOQO,5:{,5:{OOQO1G1a1G1aOMgQ!bO<vQhO'#DrOOQO,5:],5:]O! hQhO,5:_OGUQhO,5:cOOQW7+%]7+%]OOQO'#Ef'#EfO! pQ`O1G0jOOQS<xAN>xO!#zQ`OAN>xO!$PQaO,5;rOOQO-E9U-E9UO!$ZQdO,5;qOOQO-E9T-E9TOOQW<vQhO'#DuOOQO1G/y1G/yO!%vQ!bO1G/}OJOQdO'#F[O!&OQ`O7+&UOOQW7+&U7+&UO!&WQ!bO1G/cOOQ[7+$|7+$|O!&cQhO7+$|P!&jQ`O'#FTOOQO,5;y,5;yOOQO-E9]-E9]OOQS1G1d1G1dOOQPG24dG24dO!&oQ`OAN>ZO)YQdO1G1[O!&tQ`O7+'jOOQO1G/x1G/xO!&|Q`O,5:aO!$eQhO7+%iOOQO,5;v,5;vOOQO-E9Y-E9YOOQW<Q!]!^>|!^!_?_!_!`@Z!`!a@n!a!b%Z!b!cAo!c!k%Z!k!lC|!l!u%Z!u!vC|!v!}%Z!}#OD_#O#P%Z#P#QDp#Q#R2X#R#]%Z#]#^ER#^#g%Z#g#hC|#h#o%Z#o#pIf#p#qIw#q#rJ`#r#sJq#s#y%Z#y#z&R#z$f%Z$f$g&R$g#BY%Z#BY#BZ&R#BZ$IS%Z$IS$I_&R$I_$I|%Z$I|$JO&R$JO$JT%Z$JT$JU&R$JU$KV%Z$KV$KW&R$KW&FU%Z&FU&FV&R&FV;'S%Z;'S;=`KY<%lO%Z`%^SOy%jz;'S%j;'S;=`%{<%lO%j`%oS!o`Oy%jz;'S%j;'S;=`%{<%lO%j`&OP;=`<%l%j~&Wh$[~OX%jX^'r^p%jpq'rqy%jz#y%j#y#z'r#z$f%j$f$g'r$g#BY%j#BY#BZ'r#BZ$IS%j$IS$I_'r$I_$I|%j$I|$JO'r$JO$JT%j$JT$JU'r$JU$KV%j$KV$KW'r$KW&FU%j&FU&FV'r&FV;'S%j;'S;=`%{<%lO%j~'yh$[~!o`OX%jX^'r^p%jpq'rqy%jz#y%j#y#z'r#z$f%j$f$g'r$g#BY%j#BY#BZ'r#BZ$IS%j$IS$I_'r$I_$I|%j$I|$JO'r$JO$JT%j$JT$JU'r$JU$KV%j$KV$KW'r$KW&FU%j&FU&FV'r&FV;'S%j;'S;=`%{<%lO%jj)jS$qYOy%jz;'S%j;'S;=`%{<%lO%j~)yWOY)vZr)vrs*cs#O)v#O#P*h#P;'S)v;'S;=`+d<%lO)v~*hOw~~*kRO;'S)v;'S;=`*t;=`O)v~*wXOY)vZr)vrs*cs#O)v#O#P*h#P;'S)v;'S;=`+d;=`<%l)v<%lO)v~+gP;=`<%l)vj+oYmYOy%jz!Q%j!Q![,_![!c%j!c!i,_!i#T%j#T#Z,_#Z;'S%j;'S;=`%{<%lO%jj,dY!o`Oy%jz!Q%j!Q![-S![!c%j!c!i-S!i#T%j#T#Z-S#Z;'S%j;'S;=`%{<%lO%jj-XY!o`Oy%jz!Q%j!Q![-w![!c%j!c!i-w!i#T%j#T#Z-w#Z;'S%j;'S;=`%{<%lO%jj.OYuY!o`Oy%jz!Q%j!Q![.n![!c%j!c!i.n!i#T%j#T#Z.n#Z;'S%j;'S;=`%{<%lO%jj.uYuY!o`Oy%jz!Q%j!Q![/e![!c%j!c!i/e!i#T%j#T#Z/e#Z;'S%j;'S;=`%{<%lO%jj/jY!o`Oy%jz!Q%j!Q![0Y![!c%j!c!i0Y!i#T%j#T#Z0Y#Z;'S%j;'S;=`%{<%lO%jj0aYuY!o`Oy%jz!Q%j!Q![1P![!c%j!c!i1P!i#T%j#T#Z1P#Z;'S%j;'S;=`%{<%lO%jj1UY!o`Oy%jz!Q%j!Q![1t![!c%j!c!i1t!i#T%j#T#Z1t#Z;'S%j;'S;=`%{<%lO%jj1{SuY!o`Oy%jz;'S%j;'S;=`%{<%lO%jd2[UOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%jd2uS!yS!o`Oy%jz;'S%j;'S;=`%{<%lO%jb3WS^QOy%jz;'S%j;'S;=`%{<%lO%j~3gWOY3dZw3dwx*cx#O3d#O#P4P#P;'S3d;'S;=`4{<%lO3d~4SRO;'S3d;'S;=`4];=`O3d~4`XOY3dZw3dwx*cx#O3d#O#P4P#P;'S3d;'S;=`4{;=`<%l3d<%lO3d~5OP;=`<%l3dj5WShYOy%jz;'S%j;'S;=`%{<%lO%j~5iOg~n5pUWQyWOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%jj6ZWyW#PQOy%jz!O%j!O!P6s!P!Q%j!Q![9x![;'S%j;'S;=`%{<%lO%jj6xU!o`Oy%jz!Q%j!Q![7[![;'S%j;'S;=`%{<%lO%jj7cY!o`$gYOy%jz!Q%j!Q![7[![!g%j!g!h8R!h#X%j#X#Y8R#Y;'S%j;'S;=`%{<%lO%jj8WY!o`Oy%jz{%j{|8v|}%j}!O8v!O!Q%j!Q![9_![;'S%j;'S;=`%{<%lO%jj8{U!o`Oy%jz!Q%j!Q![9_![;'S%j;'S;=`%{<%lO%jj9fU!o`$gYOy%jz!Q%j!Q![9_![;'S%j;'S;=`%{<%lO%jj:P[!o`$gYOy%jz!O%j!O!P7[!P!Q%j!Q![9x![!g%j!g!h8R!h#X%j#X#Y8R#Y;'S%j;'S;=`%{<%lO%jj:zS!dYOy%jz;'S%j;'S;=`%{<%lO%jj;]WyWOy%jz!O%j!O!P6s!P!Q%j!Q![9x![;'S%j;'S;=`%{<%lO%jj;zU`YOy%jz!Q%j!Q![7[![;'S%j;'S;=`%{<%lO%j~VUcYOy%jz![%j![!]>i!];'S%j;'S;=`%{<%lO%jj>pSdY!o`Oy%jz;'S%j;'S;=`%{<%lO%jj?RSnYOy%jz;'S%j;'S;=`%{<%lO%jh?dU!WWOy%jz!_%j!_!`?v!`;'S%j;'S;=`%{<%lO%jh?}S!WW!o`Oy%jz;'S%j;'S;=`%{<%lO%jl@bS!WW!ySOy%jz;'S%j;'S;=`%{<%lO%jj@uV!|Q!WWOy%jz!_%j!_!`?v!`!aA[!a;'S%j;'S;=`%{<%lO%jbAcS!|Q!o`Oy%jz;'S%j;'S;=`%{<%lO%jjArYOy%jz}%j}!OBb!O!c%j!c!}CP!}#T%j#T#oCP#o;'S%j;'S;=`%{<%lO%jjBgW!o`Oy%jz!c%j!c!}CP!}#T%j#T#oCP#o;'S%j;'S;=`%{<%lO%jjCW[lY!o`Oy%jz}%j}!OCP!O!Q%j!Q![CP![!c%j!c!}CP!}#T%j#T#oCP#o;'S%j;'S;=`%{<%lO%jhDRS!zWOy%jz;'S%j;'S;=`%{<%lO%jjDdSpYOy%jz;'S%j;'S;=`%{<%lO%jnDuSo^Oy%jz;'S%j;'S;=`%{<%lO%jjEWU!zWOy%jz#a%j#a#bEj#b;'S%j;'S;=`%{<%lO%jbEoU!o`Oy%jz#d%j#d#eFR#e;'S%j;'S;=`%{<%lO%jbFWU!o`Oy%jz#c%j#c#dFj#d;'S%j;'S;=`%{<%lO%jbFoU!o`Oy%jz#f%j#f#gGR#g;'S%j;'S;=`%{<%lO%jbGWU!o`Oy%jz#h%j#h#iGj#i;'S%j;'S;=`%{<%lO%jbGoU!o`Oy%jz#T%j#T#UHR#U;'S%j;'S;=`%{<%lO%jbHWU!o`Oy%jz#b%j#b#cHj#c;'S%j;'S;=`%{<%lO%jbHoU!o`Oy%jz#h%j#h#iIR#i;'S%j;'S;=`%{<%lO%jbIYS$pQ!o`Oy%jz;'S%j;'S;=`%{<%lO%jjIkSsYOy%jz;'S%j;'S;=`%{<%lO%jfI|U$cUOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%jjJeSrYOy%jz;'S%j;'S;=`%{<%lO%jfJvU#PQOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%j`K]P;=`<%l%Z",tokenizers:[pk,mk,Ok,dk,1,2,3,4,new Qi("m~RRYZ[z{a~~g~aO$_~~dP!P!Qg~lO$`~~",28,152)],topRules:{StyleSheet:[0,6],Styles:[1,126]},dynamicPrecedences:{94:1},specialized:[{term:147,get:i=>Qk[i]||-1},{term:148,get:i=>bk[i]||-1},{term:4,get:i=>Sk[i]||-1},{term:28,get:i=>yk[i]||-1},{term:146,get:i=>kk[i]||-1}],tokenPrec:2405});var Pc=null;function vc(){if(!Pc&&typeof document=="object"&&document.body){let{style:i}=document.body,e=[],t=new Set;for(let n in i)n!="cssText"&&n!="cssFloat"&&typeof i[n]=="string"&&(/[A-Z]/.test(n)&&(n=n.replace(/[A-Z]/g,r=>"-"+r.toLowerCase())),t.has(n)||(e.push(n),t.add(n)));Pc=e.sort().map(n=>({type:"property",label:n,apply:n+": "}))}return Pc||[]}var $p=["active","after","any-link","autofill","backdrop","before","checked","cue","default","defined","disabled","empty","enabled","file-selector-button","first","first-child","first-letter","first-line","first-of-type","focus","focus-visible","focus-within","fullscreen","has","host","host-context","hover","in-range","indeterminate","invalid","is","lang","last-child","last-of-type","left","link","marker","modal","not","nth-child","nth-last-child","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","part","placeholder","placeholder-shown","read-only","read-write","required","right","root","scope","selection","slotted","target","target-text","valid","visited","where"].map(i=>({type:"class",label:i})),Tp=["above","absolute","activeborder","additive","activecaption","after-white-space","ahead","alias","all","all-scroll","alphabetic","alternate","always","antialiased","appworkspace","asterisks","attr","auto","auto-flow","avoid","avoid-column","avoid-page","avoid-region","axis-pan","background","backwards","baseline","below","bidi-override","blink","block","block-axis","bold","bolder","border","border-box","both","bottom","break","break-all","break-word","bullets","button","button-bevel","buttonface","buttonhighlight","buttonshadow","buttontext","calc","capitalize","caps-lock-indicator","caption","captiontext","caret","cell","center","checkbox","circle","cjk-decimal","clear","clip","close-quote","col-resize","collapse","color","color-burn","color-dodge","column","column-reverse","compact","condensed","contain","content","contents","content-box","context-menu","continuous","copy","counter","counters","cover","crop","cross","crosshair","currentcolor","cursive","cyclic","darken","dashed","decimal","decimal-leading-zero","default","default-button","dense","destination-atop","destination-in","destination-out","destination-over","difference","disc","discard","disclosure-closed","disclosure-open","document","dot-dash","dot-dot-dash","dotted","double","down","e-resize","ease","ease-in","ease-in-out","ease-out","element","ellipse","ellipsis","embed","end","ethiopic-abegede-gez","ethiopic-halehame-aa-er","ethiopic-halehame-gez","ew-resize","exclusion","expanded","extends","extra-condensed","extra-expanded","fantasy","fast","fill","fill-box","fixed","flat","flex","flex-end","flex-start","footnotes","forwards","from","geometricPrecision","graytext","grid","groove","hand","hard-light","help","hidden","hide","higher","highlight","highlighttext","horizontal","hsl","hsla","hue","icon","ignore","inactiveborder","inactivecaption","inactivecaptiontext","infinite","infobackground","infotext","inherit","initial","inline","inline-axis","inline-block","inline-flex","inline-grid","inline-table","inset","inside","intrinsic","invert","italic","justify","keep-all","landscape","large","larger","left","level","lighter","lighten","line-through","linear","linear-gradient","lines","list-item","listbox","listitem","local","logical","loud","lower","lower-hexadecimal","lower-latin","lower-norwegian","lowercase","ltr","luminosity","manipulation","match","matrix","matrix3d","medium","menu","menutext","message-box","middle","min-intrinsic","mix","monospace","move","multiple","multiple_mask_images","multiply","n-resize","narrower","ne-resize","nesw-resize","no-close-quote","no-drop","no-open-quote","no-repeat","none","normal","not-allowed","nowrap","ns-resize","numbers","numeric","nw-resize","nwse-resize","oblique","opacity","open-quote","optimizeLegibility","optimizeSpeed","outset","outside","outside-shape","overlay","overline","padding","padding-box","painted","page","paused","perspective","pinch-zoom","plus-darker","plus-lighter","pointer","polygon","portrait","pre","pre-line","pre-wrap","preserve-3d","progress","push-button","radial-gradient","radio","read-only","read-write","read-write-plaintext-only","rectangle","region","relative","repeat","repeating-linear-gradient","repeating-radial-gradient","repeat-x","repeat-y","reset","reverse","rgb","rgba","ridge","right","rotate","rotate3d","rotateX","rotateY","rotateZ","round","row","row-resize","row-reverse","rtl","run-in","running","s-resize","sans-serif","saturation","scale","scale3d","scaleX","scaleY","scaleZ","screen","scroll","scrollbar","scroll-position","se-resize","self-start","self-end","semi-condensed","semi-expanded","separate","serif","show","single","skew","skewX","skewY","skip-white-space","slide","slider-horizontal","slider-vertical","sliderthumb-horizontal","sliderthumb-vertical","slow","small","small-caps","small-caption","smaller","soft-light","solid","source-atop","source-in","source-out","source-over","space","space-around","space-between","space-evenly","spell-out","square","start","static","status-bar","stretch","stroke","stroke-box","sub","subpixel-antialiased","svg_masks","super","sw-resize","symbolic","symbols","system-ui","table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row","table-row-group","text","text-bottom","text-top","textarea","textfield","thick","thin","threeddarkshadow","threedface","threedhighlight","threedlightshadow","threedshadow","to","top","transform","translate","translate3d","translateX","translateY","translateZ","transparent","ultra-condensed","ultra-expanded","underline","unidirectional-pan","unset","up","upper-latin","uppercase","url","var","vertical","vertical-text","view-box","visible","visibleFill","visiblePainted","visibleStroke","visual","w-resize","wait","wave","wider","window","windowframe","windowtext","words","wrap","wrap-reverse","x-large","x-small","xor","xx-large","xx-small"].map(i=>({type:"keyword",label:i})).concat(["aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","grey","green","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen"].map(i=>({type:"constant",label:i}))),xk=["a","abbr","address","article","aside","b","bdi","bdo","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","dd","del","details","dfn","dialog","div","dl","dt","em","figcaption","figure","footer","form","header","hgroup","h1","h2","h3","h4","h5","h6","hr","html","i","iframe","img","input","ins","kbd","label","legend","li","main","meter","nav","ol","output","p","pre","ruby","section","select","small","source","span","strong","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","tr","u","ul"].map(i=>({type:"type",label:i})),wk=["@charset","@color-profile","@container","@counter-style","@font-face","@font-feature-values","@font-palette-values","@import","@keyframes","@layer","@media","@namespace","@page","@position-try","@property","@scope","@starting-style","@supports","@view-transition"].map(i=>({type:"keyword",label:i})),Bt=/^(\w[\w-]*|-\w[\w-]*|)$/,Pk=/^-(-[\w-]*)?$/;function vk(i,e){var t;if((i.name=="("||i.type.isError)&&(i=i.parent||i),i.name!="ArgList")return!1;let n=(t=i.parent)===null||t===void 0?void 0:t.firstChild;return n?.name!="Callee"?!1:e.sliceString(n.from,n.to)=="var"}var Cp=new fi,$k=["Declaration"];function Tk(i){for(let e=i;;){if(e.type.isTop)return e;if(!(e=e.parent))return i}}function Xp(i,e,t){if(e.to-e.from>4096){let n=Cp.get(e);if(n)return n;let r=[],s=new Set,o=e.cursor(ee.IncludeAnonymous);if(o.firstChild())do for(let a of Xp(i,o.node,t))s.has(a.label)||(s.add(a.label),r.push(a));while(o.nextSibling());return Cp.set(e,r),r}else{let n=[],r=new Set;return e.cursor().iterate(s=>{var o;if(t(s)&&s.matchContext($k)&&((o=s.node.nextSibling)===null||o===void 0?void 0:o.name)==":"){let a=i.sliceString(s.from,s.to);r.has(a)||(r.add(a),n.push({label:a,type:"variable"}))}}),n}}var Ck=i=>e=>{let{state:t,pos:n}=e,r=B(t).resolveInner(n,-1),s=r.type.isError&&r.from==r.to-1&&t.doc.sliceString(r.from,r.to)=="-";if(r.name=="PropertyName"||(s||r.name=="TagName")&&/^(Block|Styles)$/.test(r.resolve(r.to).name))return{from:r.from,options:vc(),validFor:Bt};if(r.name=="ValueName")return{from:r.from,options:Tp,validFor:Bt};if(r.name=="PseudoClassName")return{from:r.from,options:$p,validFor:Bt};if(i(r)||(e.explicit||s)&&vk(r,t.doc))return{from:i(r)||s?r.from:n,options:Xp(t.doc,Tk(r),i),validFor:Pk};if(r.name=="TagName"){for(let{parent:l}=r;l;l=l.parent)if(l.name=="Block")return{from:r.from,options:vc(),validFor:Bt};return{from:r.from,options:xk,validFor:Bt}}if(r.name=="AtKeyword")return{from:r.from,options:wk,validFor:Bt};if(!e.explicit)return null;let o=r.resolve(n),a=o.childBefore(n);return a&&a.name==":"&&o.name=="PseudoClassSelector"?{from:n,options:$p,validFor:Bt}:a&&a.name==":"&&o.name=="Declaration"||o.name=="ArgList"?{from:n,options:Tp,validFor:Bt}:o.name=="Block"||o.name=="Styles"?{from:n,options:vc(),validFor:Bt}:null},Xk=Ck(i=>i.name=="VariableName"),Pr=ve.define({name:"css",parser:vp.configure({props:[we.add({Declaration:Yt()}),$e.add({"Block KeyframeList":ct})]}),languageData:{commentTokens:{block:{open:"/*",close:"*/"}},indentOnInput:/^\s*\}$/,wordChars:"-"}});function ro(){return new pe(Pr,Pr.data.of({autocomplete:Xk}))}var _k=316,Rk=317,_p=1,Ak=2,Zk=3,qk=4,Ek=318,zk=320,Lk=321,Mk=5,Wk=6,jk=0,Tc=[9,10,11,12,13,32,133,160,5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8232,8233,8239,8287,12288],Rp=125,Vk=59,Cc=47,Dk=42,Yk=43,Ik=45,Bk=60,Uk=44,Gk=63,Nk=46,Fk=91,Hk=new Ot({start:!1,shift(i,e){return e==Mk||e==Wk||e==zk?i:e==Lk},strict:!1}),Kk=new K((i,e)=>{let{next:t}=i;(t==Rp||t==-1||e.context)&&i.acceptToken(Ek)},{contextual:!0,fallback:!0}),Jk=new K((i,e)=>{let{next:t}=i,n;Tc.indexOf(t)>-1||t==Cc&&((n=i.peek(1))==Cc||n==Dk)||t!=Rp&&t!=Vk&&t!=-1&&!e.context&&i.acceptToken(_k)},{contextual:!0}),e1=new K((i,e)=>{i.next==Fk&&!e.context&&i.acceptToken(Rk)},{contextual:!0}),t1=new K((i,e)=>{let{next:t}=i;if(t==Yk||t==Ik){if(i.advance(),t==i.next){i.advance();let n=!e.context&&e.canShift(_p);i.acceptToken(n?_p:Ak)}}else t==Gk&&i.peek(1)==Nk&&(i.advance(),i.advance(),(i.next<48||i.next>57)&&i.acceptToken(Zk))},{contextual:!0});function $c(i,e){return i>=65&&i<=90||i>=97&&i<=122||i==95||i>=192||!e&&i>=48&&i<=57}var i1=new K((i,e)=>{if(i.next!=Bk||!e.dialectEnabled(jk)||(i.advance(),i.next==Cc))return;let t=0;for(;Tc.indexOf(i.next)>-1;)i.advance(),t++;if($c(i.next,!0)){for(i.advance(),t++;$c(i.next,!1);)i.advance(),t++;for(;Tc.indexOf(i.next)>-1;)i.advance(),t++;if(i.next==Uk)return;for(let n=0;;n++){if(n==7){if(!$c(i.next,!0))return;break}if(i.next!="extends".charCodeAt(n))break;i.advance(),t++}}i.acceptToken(qk,-t)}),n1=ge({"get set async static":d.modifier,"for while do if else switch try catch finally return throw break continue default case defer":d.controlKeyword,"in of await yield void typeof delete instanceof as satisfies":d.operatorKeyword,"let var const using function class extends":d.definitionKeyword,"import export from":d.moduleKeyword,"with debugger new":d.keyword,TemplateString:d.special(d.string),super:d.atom,BooleanLiteral:d.bool,this:d.self,null:d.null,Star:d.modifier,VariableName:d.variableName,"CallExpression/VariableName TaggedTemplateExpression/VariableName":d.function(d.variableName),VariableDefinition:d.definition(d.variableName),Label:d.labelName,PropertyName:d.propertyName,PrivatePropertyName:d.special(d.propertyName),"CallExpression/MemberExpression/PropertyName":d.function(d.propertyName),"FunctionDeclaration/VariableDefinition":d.function(d.definition(d.variableName)),"ClassDeclaration/VariableDefinition":d.definition(d.className),"NewExpression/VariableName":d.className,PropertyDefinition:d.definition(d.propertyName),PrivatePropertyDefinition:d.definition(d.special(d.propertyName)),UpdateOp:d.updateOperator,"LineComment Hashbang":d.lineComment,BlockComment:d.blockComment,Number:d.number,String:d.string,Escape:d.escape,ArithOp:d.arithmeticOperator,LogicOp:d.logicOperator,BitOp:d.bitwiseOperator,CompareOp:d.compareOperator,RegExp:d.regexp,Equals:d.definitionOperator,Arrow:d.function(d.punctuation),": Spread":d.punctuation,"( )":d.paren,"[ ]":d.squareBracket,"{ }":d.brace,"InterpolationStart InterpolationEnd":d.special(d.brace),".":d.derefOperator,", ;":d.separator,"@":d.meta,TypeName:d.typeName,TypeDefinition:d.definition(d.typeName),"type enum interface implements namespace module declare":d.definitionKeyword,"abstract global Privacy readonly override":d.modifier,"is keyof unique infer asserts":d.operatorKeyword,JSXAttributeValue:d.attributeValue,JSXText:d.content,"JSXStartTag JSXStartCloseTag JSXSelfCloseEndTag JSXEndTag":d.angleBracket,"JSXIdentifier JSXNameSpacedName":d.tagName,"JSXAttribute/JSXIdentifier JSXAttribute/JSXNameSpacedName":d.attributeName,"JSXBuiltin/JSXIdentifier":d.standard(d.tagName)}),r1={__proto__:null,export:20,as:25,from:33,default:36,async:41,function:42,in:52,out:55,const:56,extends:60,this:64,true:72,false:72,null:84,void:88,typeof:92,super:108,new:142,delete:154,yield:163,await:167,class:172,public:235,private:235,protected:235,readonly:237,instanceof:256,satisfies:259,import:292,keyof:349,unique:353,infer:359,asserts:395,is:397,abstract:417,implements:419,type:421,let:424,var:426,using:429,interface:435,enum:439,namespace:445,module:447,declare:451,global:455,defer:471,for:476,of:485,while:488,with:492,do:496,if:500,else:502,switch:506,case:512,try:518,catch:522,finally:526,return:530,throw:534,break:538,continue:542,debugger:546},s1={__proto__:null,async:129,get:131,set:133,declare:195,public:197,private:197,protected:197,static:199,abstract:201,override:203,readonly:209,accessor:211,new:401},o1={__proto__:null,"<":193},Ap=Pe.deserialize({version:14,states:"$F|Q%TQlOOO%[QlOOO'_QpOOP(lO`OOO*zQ!0MxO'#CiO+RO#tO'#CjO+aO&jO'#CjO+oO#@ItO'#DaO.QQlO'#DgO.bQlO'#DrO%[QlO'#DzO0fQlO'#ESOOQ!0Lf'#E['#E[O1PQ`O'#EXOOQO'#Ep'#EpOOQO'#Il'#IlO1XQ`O'#GsO1dQ`O'#EoO1iQ`O'#EoO3hQ!0MxO'#JrO6[Q!0MxO'#JsO6uQ`O'#F]O6zQ,UO'#FtOOQ!0Lf'#Ff'#FfO7VO7dO'#FfO9XQMhO'#F|O9`Q`O'#F{OOQ!0Lf'#Js'#JsOOQ!0Lb'#Jr'#JrO9eQ`O'#GwOOQ['#K_'#K_O9pQ`O'#IYO9uQ!0LrO'#IZOOQ['#J`'#J`OOQ['#I_'#I_Q`QlOOQ`QlOOO9}Q!L^O'#DvO:UQlO'#EOO:]QlO'#EQO9kQ`O'#GsO:dQMhO'#CoO:rQ`O'#EnO:}Q`O'#EyO;hQMhO'#FeO;xQ`O'#GsOOQO'#K`'#K`O;}Q`O'#K`O<]Q`O'#G{O<]Q`O'#G|O<]Q`O'#HOO9kQ`O'#HRO=SQ`O'#HUO>kQ`O'#CeO>{Q`O'#HcO?TQ`O'#HiO?TQ`O'#HkO`QlO'#HmO?TQ`O'#HoO?TQ`O'#HrO?YQ`O'#HxO?_Q!0LsO'#IOO%[QlO'#IQO?jQ!0LsO'#ISO?uQ!0LsO'#IUO9uQ!0LrO'#IWO@QQ!0MxO'#CiOASQpO'#DlQOQ`OOO%[QlO'#EQOAjQ`O'#ETO:dQMhO'#EnOAuQ`O'#EnOBQQ!bO'#FeOOQ['#Cg'#CgOOQ!0Lb'#Dq'#DqOOQ!0Lb'#Jv'#JvO%[QlO'#JvOOQO'#Jy'#JyOOQO'#Ih'#IhOCQQpO'#EgOOQ!0Lb'#Ef'#EfOOQ!0Lb'#J}'#J}OC|Q!0MSO'#EgODWQpO'#EWOOQO'#Jx'#JxODlQpO'#JyOEyQpO'#EWODWQpO'#EgPFWO&2DjO'#CbPOOO)CD})CD}OOOO'#I`'#I`OFcO#tO,59UOOQ!0Lh,59U,59UOOOO'#Ia'#IaOFqO&jO,59UOGPQ!L^O'#DcOOOO'#Ic'#IcOGWO#@ItO,59{OOQ!0Lf,59{,59{OGfQlO'#IdOGyQ`O'#JtOIxQ!fO'#JtO+}QlO'#JtOJPQ`O,5:ROJgQ`O'#EpOJtQ`O'#KTOKPQ`O'#KSOKPQ`O'#KSOKXQ`O,5;^OK^Q`O'#KROOQ!0Ln,5:^,5:^OKeQlO,5:^OMcQ!0MxO,5:fONSQ`O,5:nONmQ!0LrO'#KQONtQ`O'#KPO9eQ`O'#KPO! YQ`O'#KPO! bQ`O,5;]O! gQ`O'#KPO!#lQ!fO'#JsOOQ!0Lh'#Ci'#CiO%[QlO'#ESO!$[Q!fO,5:sOOQS'#Jz'#JzOOQO-EtOOQ['#Jh'#JhOOQ[,5>u,5>uOOQ[-E<]-E<]O!TO`QlO,5>VO!LOQ`O,5>XO`QlO,5>ZO!LTQ`O,5>^O!LYQlO,5>dOOQ[,5>j,5>jO%[QlO,5>jO9uQ!0LrO,5>lOOQ[,5>n,5>nO#!dQ`O,5>nOOQ[,5>p,5>pO#!dQ`O,5>pOOQ[,5>r,5>rO##QQpO'#D_O%[QlO'#JvO##sQpO'#JvO##}QpO'#DmO#$`QpO'#DmO#&qQlO'#DmO#&xQ`O'#JuO#'QQ`O,5:WO#'VQ`O'#EtO#'eQ`O'#KUO#'mQ`O,5;_O#'rQpO'#DmO#(PQpO'#EVOOQ!0Lf,5:o,5:oO%[QlO,5:oO#(WQ`O,5:oO?YQ`O,5;YO!CUQpO,5;YO!C^QMhO,5;YO:dQMhO,5;YO#(`Q`O,5@bO#(eQ07dO,5:sOOQO-EPO$6^Q`O,5>POOQ[1G3i1G3iO`QlO1G3iOOQ[1G3o1G3oOOQ[1G3q1G3qO?TQ`O1G3sO$6cQlO1G3uO$:gQlO'#HtOOQ[1G3x1G3xO$:tQ`O'#HzO?YQ`O'#H|OOQ[1G4O1G4OO$:|QlO1G4OO9uQ!0LrO1G4UOOQ[1G4W1G4WOOQ!0Lb'#G_'#G_O9uQ!0LrO1G4YO9uQ!0LrO1G4[O$?TQ`O,5@bO!)[QlO,5;`O9eQ`O,5;`O?YQ`O,5:XO!)[QlO,5:XO!CUQpO,5:XO$?YQ?MtO,5:XOOQO,5;`,5;`O$?dQpO'#IeO$?zQ`O,5@aOOQ!0Lf1G/r1G/rO$@SQpO'#IkO$@^Q`O,5@pOOQ!0Lb1G0y1G0yO#$`QpO,5:XOOQO'#Ig'#IgO$@fQpO,5:qOOQ!0Ln,5:q,5:qO#(ZQ`O1G0ZOOQ!0Lf1G0Z1G0ZO%[QlO1G0ZOOQ!0Lf1G0t1G0tO?YQ`O1G0tO!CUQpO1G0tO!C^QMhO1G0tOOQ!0Lb1G5|1G5|O!ByQ!0LrO1G0^OOQO1G0m1G0mO%[QlO1G0mO$@mQ!0LrO1G0mO$@xQ!0LrO1G0mO!CUQpO1G0^ODWQpO1G0^O$AWQ!0LrO1G0mOOQO1G0^1G0^O$AlQ!0MxO1G0mPOOO-E<[-E<[POOO1G.h1G.hOOOO1G/i1G/iO$AvQ!bO,5QQpO,5@}OOQ!0Lb1G3c1G3cOOQ[7+$V7+$VO@zQ`O7+$VO9uQ!0LrO7+$VO%>]Q`O7+$VO%[QlO1G6lO%[QlO1G6mO%>bQ!0LrO1G6lO%>lQlO1G3kO%>sQ`O1G3kO%>xQlO1G3kOOQ[7+)T7+)TO9uQ!0LrO7+)_O`QlO7+)aOOQ['#Kh'#KhOOQ['#JS'#JSO%?PQlO,5>`OOQ[,5>`,5>`O%[QlO'#HuO%?^Q`O'#HwOOQ[,5>f,5>fO9eQ`O,5>fOOQ[,5>h,5>hOOQ[7+)j7+)jOOQ[7+)p7+)pOOQ[7+)t7+)tOOQ[7+)v7+)vO%?cQpO1G5|O%?}Q?MtO1G0zO%@XQ`O1G0zOOQO1G/s1G/sO%@dQ?MtO1G/sO?YQ`O1G/sO!)[QlO'#DmOOQO,5?P,5?POOQO-ERQ`O7+,WO&>WQ`O7+,XO%[QlO7+,WO%[QlO7+,XOOQ[7+)V7+)VO&>]Q`O7+)VO&>bQlO7+)VO&>iQ`O7+)VOOQ[<nQ`O,5>aOOQ[,5>c,5>cO&>sQ`O1G4QO9eQ`O7+&fO!)[QlO7+&fOOQO7+%_7+%_O&>xQ?MtO1G6ZO?YQ`O7+%_OOQ!0Lf<yQ?MvO,5?aO'@|Q?MvO,5?cO'CPQ?MvO7+'|O'DuQMjOG27TOOQO<VO!l$xO#jROe!iOpkOrPO(T)]O(VTO(YUO(aVO(o[O~O!]$_Oa$qa'z$qa'w$qa!k$qa!Y$qa!_$qa%i$qa!g$qa~Ol)dO~P!&zOh%VOp%WOr%XOs$tOt$tOz%YO|%ZO!O%]O!S${O!_$|O!i%bO!l$xO#j%cO$W%`O$t%^O$v%_O$y%aO(T(vO(VTO(YUO(a$uO(y$}O(z%PO~Og(pP~P!,TO!Q)iO!g)hO!_$^X$Z$^X$]$^X$_$^X$f$^X~O!g)hO!_({X$Z({X$]({X$_({X$f({X~O!Q)iO~P!.^O!Q)iO!_({X$Z({X$]({X$_({X$f({X~O!_)kO$Z)oO$])jO$_)jO$f)pO~O![)sO~P!)[O$]$hO$_$gO$f)wO~On$zX!Q$zX#S$zX'y$zX(y$zX(z$zX~OgmXg$zXnmX!]mX#`mX~P!0SOx)yO(b)zO(c)|O~On*VO!Q*OO'y*PO(y$}O(z%PO~Og)}O~P!1WOg*WO~Oh%VOr%XOs$tOt$tOz%YO|%ZO!OVO!l$xO#jVO!l$xO#jROe!iOpkOrPO(VTO(YUO(aVO(o[O~O(T=QO~P#$qO!]-]O!^(iX~O!^-_O~O!g-VO#`-UO!]#hX!^#hX~O!]-`O!^(xX~O!^-bO~O!c-cO!d-cO(U!lO~P#$`O!^-fO~P'_On-iO!_'`O~O!Y-nO~Os!{a!b!{a!c!{a!d!{a#T!{a#U!{a#V!{a#W!{a#X!{a#[!{a#]!{a(U!{a(V!{a(Y!{a(e!{a(o!{a~P!#vO!p-sO#`-qO~PChO!c-uO!d-uO(U!lO~PDWOa%nO#`-qO'z%nO~Oa%nO!g#vO#`-qO'z%nO~Oa%nO!g#vO!p-sO#`-qO'z%nO(r'pO~O(P'xO(Q'xO(R-zO~Ov-{O~O!Y'Wa!]'Wa~P!:tO![.PO!Y'WX!]'WX~P%[O!](VO!Y(ha~O!Y(ha~PHRO!](^O!Y(va~O!S%hO![.TO!_%iO(T%gO!Y'^X!]'^X~O#`.VO!](ta!k(taa(ta'z(ta~O!g#vO~P#,wO!](jO!k(sa~O!S%hO!_%iO#j.ZO(T%gO~Op.`O!S%hO![.]O!_%iO!|]O#i._O#j.]O(T%gO!]'aX!k'aX~OR.dO!l#xO~Oh%VOn.gO!_'`O%i.fO~Oa#ci!]#ci'z#ci'w#ci!Y#ci!k#civ#ci!_#ci%i#ci!g#ci~P!:tOn>]O!Q*OO'y*PO(y$}O(z%PO~O#k#_aa#_a#`#_a'z#_a!]#_a!k#_a!_#_a!Y#_a~P#/sO#k(`XP(`XR(`X[(`Xa(`Xj(`Xr(`X!S(`X!l(`X!p(`X#R(`X#n(`X#o(`X#p(`X#q(`X#r(`X#s(`X#t(`X#u(`X#v(`X#x(`X#z(`X#{(`X'z(`X(a(`X(r(`X!k(`X!Y(`X'w(`Xv(`X!_(`X%i(`X!g(`X~P!6kO!].tO!k(kX~P!:tO!k.wO~O!Y.yO~OP$[OR#zO!Q#yO!S#{O!l#xO!p$[O(aVO[#mia#mij#mir#mi!]#mi#R#mi#o#mi#p#mi#q#mi#r#mi#s#mi#t#mi#u#mi#v#mi#x#mi#z#mi#{#mi'z#mi(r#mi(y#mi(z#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#n#mi~P#3cO#n$OO~P#3cOP$[OR#zOr$aO!Q#yO!S#{O!l#xO!p$[O#n$OO#o$PO#p$PO#q$PO(aVO[#mia#mij#mi!]#mi#R#mi#s#mi#t#mi#u#mi#v#mi#x#mi#z#mi#{#mi'z#mi(r#mi(y#mi(z#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#r#mi~P#6QO#r$QO~P#6QOP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO(aVOa#mi!]#mi#x#mi#z#mi#{#mi'z#mi(r#mi(y#mi(z#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#v#mi~P#8oOP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO#v$SO(aVO(z#}Oa#mi!]#mi#z#mi#{#mi'z#mi(r#mi(y#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#x$UO~P#;VO#x#mi~P#;VO#v$SO~P#8oOP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO#v$SO#x$UO(aVO(y#|O(z#}Oa#mi!]#mi#{#mi'z#mi(r#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#z#mi~P#={O#z$WO~P#={OP]XR]X[]Xj]Xr]X!Q]X!S]X!l]X!p]X#R]X#S]X#`]X#kfX#n]X#o]X#p]X#q]X#r]X#s]X#t]X#u]X#v]X#x]X#z]X#{]X$Q]X(a]X(r]X(y]X(z]X!]]X!^]X~O$O]X~P#@jOP$[OR#zO[]O!Q*OO'y*PO(y$}O(z%POP#miR#mi!S#mi!l#mi!p#mi#n#mi#o#mi#p#mi#q#mi(a#mi~P#EyO!]/POg(pX~P!1WOg/RO~Oa$Pi!]$Pi'z$Pi'w$Pi!Y$Pi!k$Piv$Pi!_$Pi%i$Pi!g$Pi~P!:tO$]/SO$_/SO~O$]/TO$_/TO~O!g)hO#`/UO!_$cX$Z$cX$]$cX$_$cX$f$cX~O![/VO~O!_)kO$Z/XO$])jO$_)jO$f/YO~O!]VO!l$xO#j^O!Q*OO'y*PO(y$}O(z%POP#miR#mi!S#mi!l#mi!p#mi#n#mi#o#mi#p#mi#q#mi(a#mi~P&,QO#S$dOP(`XR(`X[(`Xj(`Xn(`Xr(`X!Q(`X!S(`X!l(`X!p(`X#R(`X#n(`X#o(`X#p(`X#q(`X#r(`X#s(`X#t(`X#u(`X#v(`X#x(`X#z(`X#{(`X$O(`X'y(`X(a(`X(r(`X(y(`X(z(`X!](`X!^(`X~O$O$Pi!]$Pi!^$Pi~P#BwO$O!ri!^!ri~P$+oOg']a!]']a~P!1WO!^7nO~O!]'da!^'da~P#BwO!Y7oO~P#/sO!g#vO(r'pO!]'ea!k'ea~O!]/pO!k)Oi~O!]/pO!g#vO!k)Oi~Og$|q!]$|q#`$|q$O$|q~P!1WO!Y'ga!]'ga~P#/sO!g7vO~O!]/yO!Y)Pi~P#/sO!]/yO!Y)Pi~O!Y7yO~Oh%VOr8OO!l%eO(r'pO~Oj8QO!g#vO~Or8TO!g#vO(r'pO~O!Q*OO'y*PO(z%POn'ja(y'ja!]'ja#`'ja~Og'ja$O'ja~P&5RO!Q*OO'y*POn'la(y'la(z'la!]'la#`'la~Og'la$O'la~P&5tOg(_q!](_q~P!1WO#`8VOg(_q!](_q~P!1WO!Y8WO~Og%Oq!]%Oq#`%Oq$O%Oq~P!1WOa$oy!]$oy'z$oy'w$oy!Y$oy!k$oyv$oy!_$oy%i$oy!g$oy~P!:tO!g6rO~O!]5[O!_)Qa~O!_'`OP$TaR$Ta[$Taj$Tar$Ta!Q$Ta!S$Ta!]$Ta!l$Ta!p$Ta#R$Ta#n$Ta#o$Ta#p$Ta#q$Ta#r$Ta#s$Ta#t$Ta#u$Ta#v$Ta#x$Ta#z$Ta#{$Ta(a$Ta(r$Ta(y$Ta(z$Ta~O%i7WO~P&8fO%^8[Oa%[i!_%[i'z%[i!]%[i~Oa#cy!]#cy'z#cy'w#cy!Y#cy!k#cyv#cy!_#cy%i#cy!g#cy~P!:tO[8^O~Ob8`O(T+qO(VTO(YUO~O!]1TO!^)Xi~O`8dO~O(e(|O!]'pX!^'pX~O!]5uO!^)Ua~O!^8nO~P%;eO(o!sO~P$&YO#[8oO~O!_1oO~O!_1oO%i8qO~On8tO!_1oO%i8qO~O[8yO!]'sa!^'sa~O!]1zO!^)Vi~O!k8}O~O!k9OO~O!k9RO~O!k9RO~P%[Oa9TO~O!g9UO~O!k9VO~O!](wi!^(wi~P#BwOa%nO#`9_O'z%nO~O!](ty!k(tya(ty'z(ty~P!:tO!](jO!k(sy~O%i9bO~P&8fO!_'`O%i9bO~O#k$|qP$|qR$|q[$|qa$|qj$|qr$|q!S$|q!]$|q!l$|q!p$|q#R$|q#n$|q#o$|q#p$|q#q$|q#r$|q#s$|q#t$|q#u$|q#v$|q#x$|q#z$|q#{$|q'z$|q(a$|q(r$|q!k$|q!Y$|q'w$|q#`$|qv$|q!_$|q%i$|q!g$|q~P#/sO#k'jaP'jaR'ja['jaa'jaj'jar'ja!S'ja!l'ja!p'ja#R'ja#n'ja#o'ja#p'ja#q'ja#r'ja#s'ja#t'ja#u'ja#v'ja#x'ja#z'ja#{'ja'z'ja(a'ja(r'ja!k'ja!Y'ja'w'jav'ja!_'ja%i'ja!g'ja~P&5RO#k'laP'laR'la['laa'laj'lar'la!S'la!l'la!p'la#R'la#n'la#o'la#p'la#q'la#r'la#s'la#t'la#u'la#v'la#x'la#z'la#{'la'z'la(a'la(r'la!k'la!Y'la'w'lav'la!_'la%i'la!g'la~P&5tO#k%OqP%OqR%Oq[%Oqa%Oqj%Oqr%Oq!S%Oq!]%Oq!l%Oq!p%Oq#R%Oq#n%Oq#o%Oq#p%Oq#q%Oq#r%Oq#s%Oq#t%Oq#u%Oq#v%Oq#x%Oq#z%Oq#{%Oq'z%Oq(a%Oq(r%Oq!k%Oq!Y%Oq'w%Oq#`%Oqv%Oq!_%Oq%i%Oq!g%Oq~P#/sO!]'Yi!k'Yi~P!:tO$O#cq!]#cq!^#cq~P#BwO(y$}OP%aaR%aa[%aaj%aar%aa!S%aa!l%aa!p%aa#R%aa#n%aa#o%aa#p%aa#q%aa#r%aa#s%aa#t%aa#u%aa#v%aa#x%aa#z%aa#{%aa$O%aa(a%aa(r%aa!]%aa!^%aa~On%aa!Q%aa'y%aa(z%aa~P&IyO(z%POP%caR%ca[%caj%car%ca!S%ca!l%ca!p%ca#R%ca#n%ca#o%ca#p%ca#q%ca#r%ca#s%ca#t%ca#u%ca#v%ca#x%ca#z%ca#{%ca$O%ca(a%ca(r%ca!]%ca!^%ca~On%ca!Q%ca'y%ca(y%ca~P&LQOn>^O!Q*OO'y*PO(z%PO~P&IyOn>^O!Q*OO'y*PO(y$}O~P&LQOR0kO!Q0kO!S0lO#S$dOP}a[}aj}an}ar}a!l}a!p}a#R}a#n}a#o}a#p}a#q}a#r}a#s}a#t}a#u}a#v}a#x}a#z}a#{}a$O}a'y}a(a}a(r}a(y}a(z}a!]}a!^}a~O!Q*OO'y*POP$saR$sa[$saj$san$sar$sa!S$sa!l$sa!p$sa#R$sa#n$sa#o$sa#p$sa#q$sa#r$sa#s$sa#t$sa#u$sa#v$sa#x$sa#z$sa#{$sa$O$sa(a$sa(r$sa(y$sa(z$sa!]$sa!^$sa~O!Q*OO'y*POP$uaR$ua[$uaj$uan$uar$ua!S$ua!l$ua!p$ua#R$ua#n$ua#o$ua#p$ua#q$ua#r$ua#s$ua#t$ua#u$ua#v$ua#x$ua#z$ua#{$ua$O$ua(a$ua(r$ua(y$ua(z$ua!]$ua!^$ua~On>^O!Q*OO'y*PO(y$}O(z%PO~OP%TaR%Ta[%Taj%Tar%Ta!S%Ta!l%Ta!p%Ta#R%Ta#n%Ta#o%Ta#p%Ta#q%Ta#r%Ta#s%Ta#t%Ta#u%Ta#v%Ta#x%Ta#z%Ta#{%Ta$O%Ta(a%Ta(r%Ta!]%Ta!^%Ta~P''VO$O$mq!]$mq!^$mq~P#BwO$O$oq!]$oq!^$oq~P#BwO!^9oO~O$O9pO~P!1WO!g#vO!]'ei!k'ei~O!g#vO(r'pO!]'ei!k'ei~O!]/pO!k)Oq~O!Y'gi!]'gi~P#/sO!]/yO!Y)Pq~Or9wO!g#vO(r'pO~O[9yO!Y9xO~P#/sO!Y9xO~Oj:PO!g#vO~Og(_y!](_y~P!1WO!]'na!_'na~P#/sOa%[q!_%[q'z%[q!]%[q~P#/sO[:UO~O!]1TO!^)Xq~O`:YO~O#`:ZO!]'pa!^'pa~O!]5uO!^)Ui~P#BwO!S:]O~O!_1oO%i:`O~O(VTO(YUO(e:eO~O!]1zO!^)Vq~O!k:hO~O!k:iO~O!k:jO~O!k:jO~P%[O#`:mO!]#hy!^#hy~O!]#hy!^#hy~P#BwO%i:rO~P&8fO!_'`O%i:rO~O$O#|y!]#|y!^#|y~P#BwOP$|iR$|i[$|ij$|ir$|i!S$|i!l$|i!p$|i#R$|i#n$|i#o$|i#p$|i#q$|i#r$|i#s$|i#t$|i#u$|i#v$|i#x$|i#z$|i#{$|i$O$|i(a$|i(r$|i!]$|i!^$|i~P''VO!Q*OO'y*PO(z%POP'iaR'ia['iaj'ian'iar'ia!S'ia!l'ia!p'ia#R'ia#n'ia#o'ia#p'ia#q'ia#r'ia#s'ia#t'ia#u'ia#v'ia#x'ia#z'ia#{'ia$O'ia(a'ia(r'ia(y'ia!]'ia!^'ia~O!Q*OO'y*POP'kaR'ka['kaj'kan'kar'ka!S'ka!l'ka!p'ka#R'ka#n'ka#o'ka#p'ka#q'ka#r'ka#s'ka#t'ka#u'ka#v'ka#x'ka#z'ka#{'ka$O'ka(a'ka(r'ka(y'ka(z'ka!]'ka!^'ka~O(y$}OP%aiR%ai[%aij%ain%air%ai!Q%ai!S%ai!l%ai!p%ai#R%ai#n%ai#o%ai#p%ai#q%ai#r%ai#s%ai#t%ai#u%ai#v%ai#x%ai#z%ai#{%ai$O%ai'y%ai(a%ai(r%ai(z%ai!]%ai!^%ai~O(z%POP%ciR%ci[%cij%cin%cir%ci!Q%ci!S%ci!l%ci!p%ci#R%ci#n%ci#o%ci#p%ci#q%ci#r%ci#s%ci#t%ci#u%ci#v%ci#x%ci#z%ci#{%ci$O%ci'y%ci(a%ci(r%ci(y%ci!]%ci!^%ci~O$O$oy!]$oy!^$oy~P#BwO$O#cy!]#cy!^#cy~P#BwO!g#vO!]'eq!k'eq~O!]/pO!k)Oy~O!Y'gq!]'gq~P#/sOr:|O!g#vO(r'pO~O[;QO!Y;PO~P#/sO!Y;PO~Og(_!R!](_!R~P!1WOa%[y!_%[y'z%[y!]%[y~P#/sO!]1TO!^)Xy~O!]5uO!^)Uq~O(T;XO~O!_1oO%i;[O~O!k;_O~O%i;dO~P&8fOP$|qR$|q[$|qj$|qr$|q!S$|q!l$|q!p$|q#R$|q#n$|q#o$|q#p$|q#q$|q#r$|q#s$|q#t$|q#u$|q#v$|q#x$|q#z$|q#{$|q$O$|q(a$|q(r$|q!]$|q!^$|q~P''VO!Q*OO'y*PO(z%POP'jaR'ja['jaj'jan'jar'ja!S'ja!l'ja!p'ja#R'ja#n'ja#o'ja#p'ja#q'ja#r'ja#s'ja#t'ja#u'ja#v'ja#x'ja#z'ja#{'ja$O'ja(a'ja(r'ja(y'ja!]'ja!^'ja~O!Q*OO'y*POP'laR'la['laj'lan'lar'la!S'la!l'la!p'la#R'la#n'la#o'la#p'la#q'la#r'la#s'la#t'la#u'la#v'la#x'la#z'la#{'la$O'la(a'la(r'la(y'la(z'la!]'la!^'la~OP%OqR%Oq[%Oqj%Oqr%Oq!S%Oq!l%Oq!p%Oq#R%Oq#n%Oq#o%Oq#p%Oq#q%Oq#r%Oq#s%Oq#t%Oq#u%Oq#v%Oq#x%Oq#z%Oq#{%Oq$O%Oq(a%Oq(r%Oq!]%Oq!^%Oq~P''VOg%e!Z!]%e!Z#`%e!Z$O%e!Z~P!1WO!Y;hO~P#/sOr;iO!g#vO(r'pO~O[;kO!Y;hO~P#/sO!]'pq!^'pq~P#BwO!]#h!Z!^#h!Z~P#BwO#k%e!ZP%e!ZR%e!Z[%e!Za%e!Zj%e!Zr%e!Z!S%e!Z!]%e!Z!l%e!Z!p%e!Z#R%e!Z#n%e!Z#o%e!Z#p%e!Z#q%e!Z#r%e!Z#s%e!Z#t%e!Z#u%e!Z#v%e!Z#x%e!Z#z%e!Z#{%e!Z'z%e!Z(a%e!Z(r%e!Z!k%e!Z!Y%e!Z'w%e!Z#`%e!Zv%e!Z!_%e!Z%i%e!Z!g%e!Z~P#/sOr;tO!g#vO(r'pO~O!Y;uO~P#/sOr;|O!g#vO(r'pO~O!Y;}O~P#/sOP%e!ZR%e!Z[%e!Zj%e!Zr%e!Z!S%e!Z!l%e!Z!p%e!Z#R%e!Z#n%e!Z#o%e!Z#p%e!Z#q%e!Z#r%e!Z#s%e!Z#t%e!Z#u%e!Z#v%e!Z#x%e!Z#z%e!Z#{%e!Z$O%e!Z(a%e!Z(r%e!Z!]%e!Z!^%e!Z~P''VOrROe!iOpkOrPO(T)]O(VTO(YUO(aVO(o[O~O!]WO!l$xO#jgPPP!>oI[PPPPPPPPP!BOP!C]PPI[!DnPI[PI[I[I[I[I[PI[!FQP!I[P!LbP!Lf!Lp!Lt!LtP!IXP!Lx!LxP#!OP#!SI[PI[#!Y#%_CjA^PA^PA^A^P#&lA^A^#)OA^#+vA^#.SA^A^#.r#1W#1W#1]#1f#1W#1qPP#1WPA^#2ZA^#6YA^A^6mPPP#:_PPP#:x#:xP#:xP#;`#:xPP#;fP#;]P#;]#;y#;]#P#>V#>]#>k#>q#>{#?R#?]#?c#?s#?y#@k#@}#AT#AZ#Ai#BO#Cs#DR#DY#Et#FS#Gt#HS#HY#H`#Hf#Hp#Hv#H|#IW#Ij#IpPPPPPPPPPPP#IvPPPPPPP#Jk#Mx$ b$ i$ qPPP$']P$'f$*_$0x$0{$1O$1}$2Q$2X$2aP$2g$2jP$3W$3[$4S$5b$5g$5}PP$6S$6Y$6^$6a$6e$6i$7e$7|$8e$8i$8l$8o$8y$8|$9Q$9UR!|RoqOXst!Z#d%m&r&t&u&w,s,x2[2_Y!vQ'`-e1o5{Q%tvQ%|yQ&T|Q&j!VS'W!e-]Q'f!iS'l!r!yU*k$|*Z*oQ+o%}S+|&V&WQ,d&dQ-c'_Q-m'gQ-u'mQ0[*qQ1b,OQ1y,eR<{SU+P%]S!S!nQ!r!v!y!z$|'W'_'`'l'm'n*k*o*q*r-]-c-e-u0[0_1o5{5}%[$ti#v$b$c$d$x${%O%Q%^%_%c)y*R*T*V*Y*a*g*w*x+f+i,S,V.f/P/d/m/x/y/{0`0b0i0j0o1f1i1q3c4^4_4j4o5Q5[5_6S7W7v8Q8V8[8q9b9p9y:P:`:r;Q;[;d;kP>X>Y>]>^Q&X|Q'U!eS'[%i-`Q+t&PQ,P&WQ,f&gQ0n+SQ1Y+uQ1_+{Q2Q,jQ2R,kQ5f1TQ5o1aQ6[1zQ6_1|Q6`2PQ8`5gQ8c5lQ8|6bQ:X8dQ:f8yQ;V:YR<}*ZrnOXst!V!Z#d%m&i&r&t&u&w,s,x2[2_R,h&k&z^OPXYstuvwz!Z!`!g!j!o#S#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%m%t&R&k&n&o&r&t&u&w&{'T'b'r(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:mR>S[#]WZ#W#Z'X(T!b%jm#h#i#l$x%e%h(^(h(i(j*Y*^*b+Z+[+^,o-V.T.Z.[.]._/m/p2d3[3]4a6r7TQ%wxQ%{yW&Q|&V&W,OQ&_!TQ'c!hQ'e!iQ(q#sS+n%|%}Q+r&PQ,_&bQ,c&dS-l'f'gQ.i(rQ1R+oQ1X+uQ1Z+vQ1^+zQ1t,`S1x,d,eQ2|-mQ5e1TQ5i1WQ5n1`Q6Z1yQ8_5gQ8b5kQ8f5pQ:T8^R;T:U!U$zi$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Y!^%yy!i!u%{%|%}'V'e'f'g'k'u*j+n+o-Y-l-m-t0R0U1R2u2|3T4r4s4v7}9{Q+h%wQ,T&[Q,W&]Q,b&dQ.h(qQ1s,_U1w,c,d,eQ3e.iQ6U1tS6Y1x1yQ8x6Z#f>T#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k]>^o>UPS&[!Q&iQ&]!RQ&^!SU*}%[%d=sR,R&Y%]%Si#v$b$c$d$x${%O%Q%^%_%c)y*R*T*V*Y*a*g*w*x+f+i,S,V.f/P/d/m/x/y/{0`0b0i0j0o1f1i1q3c4^4_4j4o5Q5[5_6S7W7v8Q8V8[8q9b9p9y:P:`:r;Q;[;d;kP>X>Y>]>^T)z$u){V+P%]S$i$^c#Y#e%q%s%u(S(Y(t(y)R)S)T)U)V)W)X)Y)Z)[)^)`)b)g)q+d+x-Z-x-}.S.U.s.v.z.|.}/O/b0p2k2n3O3V3k3p3q3r3s3t3u3v3w3x3y3z3{3|4P4Q4X5X5c6u6{7Q7a7b7k7l8k9X9]9g9m9n:o;W;`SQ'Y!eR2q-]!W!nQ!e!r!v!y!z$|'W'_'`'l'm'n*Z*k*o*q*r-]-c-e-u0[0_1o5{5}R1l,ZnqOXst!Z#d%m&r&t&u&w,s,x2[2_Q&y!^Q'v!xS(s#u<^Q+l%zQ,]&_Q,^&aQ-j'dQ-w'oS.r(x=PS0q+X=ZQ1P+mQ1n,[Q2c,zQ2e,{Q2m-WQ2z-kQ2}-oS5Y0r=eQ5a1QS5d1S=fQ6t2oQ6x2{Q6}3SQ8]5bQ9Y6vQ9Z6yQ9^7OR:l9V$d$]c#Y#e%s%u(S(Y(t(y)R)S)T)U)V)W)X)Y)Z)[)^)`)b)g)q+d+x-Z-x-}.S.U.s.v.z.}/O/b0p2k2n3O3V3k3p3q3r3s3t3u3v3w3x3y3z3{3|4P4Q4X5X5c6u6{7Q7a7b7k7l8k9X9]9g9m9n:o;W;`SS#q]SU$fd)_,mS(p#p'iU*v%R(w4OU0m+O.n7gQ5^0xQ7V3`Q9d7YR:s9em!tQ!r!v!y!z'`'l'm'n-e-u1o5{5}Q't!uS(f#g2US-s'k'wQ/s*]Q0R*jQ3U-vQ4f/tQ4r0TQ4s0UQ4x0^Q7r4`S7}4t4vS8R4y4{Q9r7sQ9v7yQ9{8OQ:Q8TS:{9w9xS;g:|;PS;s;h;iS;{;t;uSSR=o>R%^bOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&o&r&t&u&w&{'T'b'r(T(V(](d(x(z)O)}*i+X+]+g,p,s,x-i-q.P.V.g.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3d3l4z6T6e6f6i6|7[8t9T9_Q%fj!^%xy!i!u%{%|%}'V'e'f'g'k'u*j+n+o-Y-l-m-t0R0U1R2u2|3T4r4s4v7}9{S&Oz!jQ+k%yQ,a&dW1v,b,c,d,eU6X1w1x1yS8w6Y6ZQ:d8x!r=j$Z$n'X)s-U-X/V2p4T5w6s:Z:mSQ=t>QR=u>R%QeOPXYstuvw!Z!`!g!o#S#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&r&t&u&w&{'T'b'r(V(](d(x(z)O)}*i+X+]+g,p,s,x-i-q.P.V.g.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3d3l4z6T6e6f6i6|7[8t9T9_Y#bWZ#W#Z(T!b%jm#h#i#l$x%e%h(^(h(i(j*Y*^*b+Z+[+^,o-V.T.Z.[.]._/m/p2d3[3]4a6r7TQ,n&o!p=k$Z$n)s-U-X/V2p4T5w6s:Z:mSR=n'XU']!e%i*ZR2s-`%SdOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&r&t&u&w&{'T'b'r(T(V(](d(x(z)O)}*i+X+],p,s,x-i-q.P.V.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3l4z6T6e6f6i6|8t9T9_!r)_$Z$n'X)s-U-X/V2p4T5w6s:Z:mSQ,m&oQ0x+gQ3`.gQ7Y3dR9e7[!b$Tc#Y%q(S(Y(t(y)Z)[)`)g+x-x-}.S.U.s.v/b0p3O3V3k3{5X5c6{7Q7a9]:oS)^)q-Z.|2k2n3p4P4X6u7b7k7l8k9X9g9m9n;W;`=vQ>X>ZR>Y>['QkOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%m%t&R&k&n&o&r&t&u&w&{'T'X'b'r(T(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:mSS$oh$pR4U/U'XgOPWXYZhstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n$p%m%t&R&k&n&o&r&t&u&w&{'T'X'b'r(T(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/U/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:mST$kf$qQ$ifS)j$l)nR)v$qT$jf$qT)l$l)n'XhOPWXYZhstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n$p%m%t&R&k&n&o&r&t&u&w&{'T'X'b'r(T(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/U/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:mST$oh$pQ$rhR)u$p%^jOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&o&r&t&u&w&{'T'b'r(T(V(](d(x(z)O)}*i+X+]+g,p,s,x-i-q.P.V.g.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3d3l4z6T6e6f6i6|7[8t9T9_!s>Q$Z$n'X)s-U-X/V2p4T5w6s:Z:mS#glOPXZst!Z!`!o#S#d#o#{$n%m&k&n&o&r&t&u&w&{'T'b)O)s*i+]+g,p,s,x-i.g/V/n0]0l1r2S2T2V2X2[2_2a3d4T4z6T6e6f6i7[8t9T!U%Ri$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Y#f(w#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k]>^Q+T%aQ/c*Oo4OP>X>YQ*c$zU*l$|*Z*oQ+U%bQ0W*m#f=q#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k]>^n=rTQ=x>UQ=y>VR=z>W!U%Ri$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Y#f(w#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k]>^o4OP>X>Y>]>^Q,U&]Q1h,WQ5s1gR8h5tV*n$|*Z*oU*n$|*Z*oT5z1o5{S0P*i/nQ4w0]T8S4z:]Q+j%xQ0V*lQ1O+kQ1u,aQ6W1vQ8v6XQ:c8wR;^:d!U%Oi$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Yx*R$v)e*S*u+V/v0d0e4R4g5R5S5W7p8U:R:x=p=}>OS0`*t0a#f]>^nZ>[`=T3}7c7f7j9h:t:w;yS=_.l3iT=`7e9k!U%Qi$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Y|*T$v)e*U*t+V/g/v0d0e4R4g4|5R5S5W7p8U:R:x=p=}>OS0b*u0c#f]>^nZ>[d=V3}7d7e7j9h9i:t:u:w;yS=a.m3jT=b7f9lrnOXst!V!Z#d%m&i&r&t&u&w,s,x2[2_Q&f!UR,p&ornOXst!V!Z#d%m&i&r&t&u&w,s,x2[2_R&f!UQ,Y&^R1d,RsnOXst!V!Z#d%m&i&r&t&u&w,s,x2[2_Q1p,_S6R1s1tU8p6P6Q6US:_8r8sS;Y:^:aQ;m;ZR;w;nQ&m!VR,i&iR6_1|R:f8yW&Q|&V&W,OR1Z+vQ&r!WR,s&sR,y&xT2],x2_R,}&yQ,|&yR2f,}Q'y!{R-y'ySsOtQ#dXT%ps#dQ#OTR'{#OQ#RUR'}#RQ){$uR/`){Q#UVR(Q#UQ#XWU(W#X(X.QQ(X#YR.Q(YQ-^'YR2r-^Q.u(yS3m.u3nR3n.vQ-e'`R2v-eY!rQ'`-e1o5{R'j!rQ/Q)eR4S/QU#_W%h*YU(_#_(`.RQ(`#`R.R(ZQ-a']R2t-at`OXst!V!Z#d%m&i&k&r&t&u&w,s,x2[2_S#hZ%eU#r`#h.[R.[(jQ(k#jQ.X(gW.a(k.X3X7RQ3X.YR7R3YQ)n$lR/W)nQ$phR)t$pQ$`cU)a$`-|O>Z>[Q/z*eU4k/z4m7xQ4m/|R7x4lS*o$|*ZR0Y*ox*S$v)e*t*u+V/v0d0e4R4g5R5S5W7p8U:R:x=p=}>O!d.j(u)c*[*e.l.m.q/_/k/|0v1e3h4[4h4l5r7]7`7w7z8X8Z9t9|:S:};R;e;j;v>Z>[U/h*S.j7ca7c3}7e7f7j9h:t:w;yQ0a*tQ3i.lU4}0a3i9kR9k7e|*U$v)e*t*u+V/g/v0d0e4R4g4|5R5S5W7p8U:R:x=p=}>O!h.k(u)c*[*e.l.m.q/_/k/|0v1e3f3h4[4h4l5r7]7^7`7w7z8X8Z9t9|:S:};R;e;j;v>Z>[U/j*U.k7de7d3}7e7f7j9h9i:t:u:w;yQ0c*uQ3j.mU5P0c3j9lR9l7fQ*z%UR0g*zQ5]0vR8Y5]Q+_%kR0u+_Q5v1jS8j5v:[R:[8kQ,[&_R1m,[Q5{1oR8m5{Q1{,fS6]1{8zR8z6_Q1U+rW5h1U5j8a:VQ5j1XQ8a5iR:V8bQ+w&QR1[+wQ2_,xR6m2_YrOXst#dQ&v!ZQ+a%mQ,r&rQ,t&tQ,u&uQ,w&wQ2Y,sS2],x2_R6l2[Q%opQ&z!_Q&}!aQ'P!bQ'R!cQ'q!uQ+`%lQ+l%zQ,Q&XQ,h&mQ-P&|W-p'k's't'wQ-w'oQ0X*nQ1P+mQ1c,PS2O,i,lQ2g-OQ2h-RQ2i-SQ2}-oW3P-r-s-v-xQ5a1QQ5m1_Q5q1eQ6V1uQ6a2QQ6k2ZU6z3O3R3UQ6}3SQ8]5bQ8e5oQ8g5rQ8l5zQ8u6WQ8{6`S9[6{7PQ9^7OQ:W8cQ:b8vQ:g8|Q:n9]Q;U:XQ;]:cQ;a:oQ;l;VR;o;^Q%zyQ'd!iQ'o!uU+m%{%|%}Q-W'VU-k'e'f'gS-o'k'uQ0Q*jS1Q+n+oQ2o-YS2{-l-mQ3S-tS4p0R0UQ5b1RQ6v2uQ6y2|Q7O3TU7{4r4s4vQ9z7}R;O9{S$wi>PR*{%VU%Ui%V>PR0f*yQ$viS(u#v+iS)c$b$cQ)e$dQ*[$xS*e${*YQ*t%OQ*u%QQ+Q%^Q+R%_Q+V%cQ.lPQ=}>XQ>O>YQ>Z>]R>[>^Q+O%]Q.nSR#[WR'Z!el!tQ!r!v!y!z'`'l'm'n-e-u1o5{5}S'V!e-]U*j$|*Z*oS-Y'W'_S0U*k*qQ0^*rQ2u-cQ4v0[R4{0_R({#xQ!fQT-d'`-e]!qQ!r'`-e1o5{Q#p]R'i < TypeParamList in out const TypeDefinition extends ThisType this LiteralType ArithOp Number BooleanLiteral TemplateType InterpolationEnd Interpolation InterpolationStart NullType null VoidType void TypeofType typeof MemberExpression . PropertyName [ TemplateString Escape Interpolation super RegExp ] ArrayExpression Spread , } { ObjectExpression Property async get set PropertyDefinition Block : NewTarget new NewExpression ) ( ArgList UnaryExpression delete LogicOp BitOp YieldExpression yield AwaitExpression await ParenthesizedExpression ClassExpression class ClassBody MethodDeclaration Decorator @ MemberExpression PrivatePropertyName CallExpression TypeArgList CompareOp < declare Privacy static abstract override PrivatePropertyDefinition PropertyDeclaration readonly accessor Optional TypeAnnotation Equals StaticBlock FunctionExpression ArrowFunction ParamList ParamList ArrayPattern ObjectPattern PatternProperty Privacy readonly Arrow MemberExpression BinaryExpression ArithOp ArithOp ArithOp ArithOp BitOp CompareOp instanceof satisfies CompareOp BitOp BitOp BitOp LogicOp LogicOp ConditionalExpression LogicOp LogicOp AssignmentExpression UpdateOp PostfixExpression CallExpression InstantiationExpression TaggedTemplateExpression DynamicImport import ImportMeta JSXElement JSXSelfCloseEndTag JSXSelfClosingTag JSXIdentifier JSXBuiltin JSXIdentifier JSXNamespacedName JSXMemberExpression JSXSpreadAttribute JSXAttribute JSXAttributeValue JSXEscape JSXEndTag JSXOpenTag JSXFragmentTag JSXText JSXEscape JSXStartCloseTag JSXCloseTag PrefixCast < ArrowFunction TypeParamList SequenceExpression InstantiationExpression KeyofType keyof UniqueType unique ImportType InferredType infer TypeName ParenthesizedType FunctionSignature ParamList NewSignature IndexedType TupleType Label ArrayType ReadonlyType ObjectType MethodType PropertyType IndexSignature PropertyDefinition CallSignature TypePredicate asserts is NewSignature new UnionType LogicOp IntersectionType LogicOp ConditionalType ParameterizedType ClassDeclaration abstract implements type VariableDeclaration let var using TypeAliasDeclaration InterfaceDeclaration interface EnumDeclaration enum EnumBody NamespaceDeclaration namespace module AmbientDeclaration declare GlobalDeclaration global ClassDeclaration ClassBody AmbientFunctionDeclaration ExportGroup VariableName VariableName ImportDeclaration defer ImportGroup ForStatement for ForSpec ForInSpec ForOfSpec of WhileStatement while WithStatement with DoStatement do IfStatement if else SwitchStatement switch SwitchBody CaseLabel case DefaultLabel TryStatement try CatchClause catch FinallyClause finally ReturnStatement return ThrowStatement throw BreakStatement break ContinueStatement continue DebuggerStatement debugger LabeledStatement ExpressionStatement SingleExpression SingleClassItem",maxTerm:380,context:Hk,nodeProps:[["isolate",-8,5,6,14,37,39,51,53,55,""],["group",-26,9,17,19,68,207,211,215,216,218,221,224,234,237,243,245,247,249,252,258,264,266,268,270,272,274,275,"Statement",-34,13,14,32,35,36,42,51,54,55,57,62,70,72,76,80,82,84,85,110,111,120,121,136,139,141,142,143,144,145,147,148,167,169,171,"Expression",-23,31,33,37,41,43,45,173,175,177,178,180,181,182,184,185,186,188,189,190,201,203,205,206,"Type",-3,88,103,109,"ClassItem"],["openedBy",23,"<",38,"InterpolationStart",56,"[",60,"{",73,"(",160,"JSXStartCloseTag"],["closedBy",-2,24,168,">",40,"InterpolationEnd",50,"]",61,"}",74,")",165,"JSXEndTag"]],propSources:[n1],skippedNodes:[0,5,6,278],repeatNodeCount:37,tokenData:"$Fq07[R!bOX%ZXY+gYZ-yZ[+g[]%Z]^.c^p%Zpq+gqr/mrs3cst:_tuEruvJSvwLkwx! Yxy!'iyz!(sz{!)}{|!,q|}!.O}!O!,q!O!P!/Y!P!Q!9j!Q!R#:O!R![#<_![!]#I_!]!^#Jk!^!_#Ku!_!`$![!`!a$$v!a!b$*T!b!c$,r!c!}Er!}#O$-|#O#P$/W#P#Q$4o#Q#R$5y#R#SEr#S#T$7W#T#o$8b#o#p$x#r#s$@U#s$f%Z$f$g+g$g#BYEr#BY#BZ$A`#BZ$ISEr$IS$I_$A`$I_$I|Er$I|$I}$Dk$I}$JO$Dk$JO$JTEr$JT$JU$A`$JU$KVEr$KV$KW$A`$KW&FUEr&FU&FV$A`&FV;'SEr;'S;=`I|<%l?HTEr?HT?HU$A`?HUOEr(n%d_$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z&j&hT$i&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c&j&zP;=`<%l&c'|'U]$i&j(Z!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!b(SU(Z!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}!b(iP;=`<%l'}'|(oP;=`<%l&}'[(y]$i&j(WpOY(rYZ&cZr(rrs&cs!^(r!^!_)r!_#O(r#O#P&c#P#o(r#o#p)r#p;'S(r;'S;=`*a<%lO(rp)wU(WpOY)rZr)rs#O)r#P;'S)r;'S;=`*Z<%lO)rp*^P;=`<%l)r'[*dP;=`<%l(r#S*nX(Wp(Z!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g#S+^P;=`<%l*g(n+dP;=`<%l%Z07[+rq$i&j(Wp(Z!b'|0/lOX%ZXY+gYZ&cZ[+g[p%Zpq+gqr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p$f%Z$f$g+g$g#BY%Z#BY#BZ+g#BZ$IS%Z$IS$I_+g$I_$JT%Z$JT$JU+g$JU$KV%Z$KV$KW+g$KW&FU%Z&FU&FV+g&FV;'S%Z;'S;=`+a<%l?HT%Z?HT?HU+g?HUO%Z07[.ST(X#S$i&j'}0/lO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c07[.n_$i&j(Wp(Z!b'}0/lOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z)3p/x`$i&j!p),Q(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`0z!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW1V`#v(Ch$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`2X!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW2d_#v(Ch$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'At3l_(V':f$i&j(Z!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k(^4r_$i&j(Z!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k&z5vX$i&jOr5qrs6cs!^5q!^!_6y!_#o5q#o#p6y#p;'S5q;'S;=`7h<%lO5q&z6jT$d`$i&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c`6|TOr6yrs7]s;'S6y;'S;=`7b<%lO6y`7bO$d``7eP;=`<%l6y&z7kP;=`<%l5q(^7w]$d`$i&j(Z!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!r8uZ(Z!bOY8pYZ6yZr8prs9hsw8pwx6yx#O8p#O#P6y#P;'S8p;'S;=`:R<%lO8p!r9oU$d`(Z!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}!r:UP;=`<%l8p(^:[P;=`<%l4k%9[:hh$i&j(Wp(Z!bOY%ZYZ&cZq%Zqr`#P#o`x!^=^!^!_?q!_#O=^#O#P>`#P#o=^#o#p?q#p;'S=^;'S;=`@h<%lO=^&n>gXWS$i&jOY>`YZ&cZ!^>`!^!_?S!_#o>`#o#p?S#p;'S>`;'S;=`?k<%lO>`S?XSWSOY?SZ;'S?S;'S;=`?e<%lO?SS?hP;=`<%l?S&n?nP;=`<%l>`!f?xWWS(Z!bOY?qZw?qwx?Sx#O?q#O#P?S#P;'S?q;'S;=`@b<%lO?q!f@eP;=`<%l?q(Q@kP;=`<%l=^'`@w]WS$i&j(WpOY@nYZ&cZr@nrs>`s!^@n!^!_Ap!_#O@n#O#P>`#P#o@n#o#pAp#p;'S@n;'S;=`Bg<%lO@ntAwWWS(WpOYApZrAprs?Ss#OAp#O#P?S#P;'SAp;'S;=`Ba<%lOAptBdP;=`<%lAp'`BjP;=`<%l@n#WBvYWS(Wp(Z!bOYBmZrBmrs?qswBmwxApx#OBm#O#P?S#P;'SBm;'S;=`Cf<%lOBm#WCiP;=`<%lBm(rCoP;=`<%l^!Q^$i&j!X7`OY!=yYZ&cZ!P!=y!P!Q!>|!Q!^!=y!^!_!@c!_!}!=y!}#O!CW#O#P!Dy#P#o!=y#o#p!@c#p;'S!=y;'S;=`!Ek<%lO!=y|#X#Z&c#Z#[!>|#[#]&c#]#^!>|#^#a&c#a#b!>|#b#g&c#g#h!>|#h#i&c#i#j!>|#j#k!>|#k#m&c#m#n!>|#n#o&c#p;'S&c;'S;=`&w<%lO&c7`!@hX!X7`OY!@cZ!P!@c!P!Q!AT!Q!}!@c!}#O!Ar#O#P!Bq#P;'S!@c;'S;=`!CQ<%lO!@c7`!AYW!X7`#W#X!AT#Z#[!AT#]#^!AT#a#b!AT#g#h!AT#i#j!AT#j#k!AT#m#n!AT7`!AuVOY!ArZ#O!Ar#O#P!B[#P#Q!@c#Q;'S!Ar;'S;=`!Bk<%lO!Ar7`!B_SOY!ArZ;'S!Ar;'S;=`!Bk<%lO!Ar7`!BnP;=`<%l!Ar7`!BtSOY!@cZ;'S!@c;'S;=`!CQ<%lO!@c7`!CTP;=`<%l!@c^!Ezl$i&j(Z!b!X7`OY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#W&}#W#X!Eq#X#Z&}#Z#[!Eq#[#]&}#]#^!Eq#^#a&}#a#b!Eq#b#g&}#g#h!Eq#h#i&}#i#j!Eq#j#k!Eq#k#m&}#m#n!Eq#n#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}8r!GyZ(Z!b!X7`OY!GrZw!Grwx!@cx!P!Gr!P!Q!Hl!Q!}!Gr!}#O!JU#O#P!Bq#P;'S!Gr;'S;=`!J|<%lO!Gr8r!Hse(Z!b!X7`OY'}Zw'}x#O'}#P#W'}#W#X!Hl#X#Z'}#Z#[!Hl#[#]'}#]#^!Hl#^#a'}#a#b!Hl#b#g'}#g#h!Hl#h#i'}#i#j!Hl#j#k!Hl#k#m'}#m#n!Hl#n;'S'};'S;=`(f<%lO'}8r!JZX(Z!bOY!JUZw!JUwx!Arx#O!JU#O#P!B[#P#Q!Gr#Q;'S!JU;'S;=`!Jv<%lO!JU8r!JyP;=`<%l!JU8r!KPP;=`<%l!Gr>^!KZ^$i&j(Z!bOY!KSYZ&cZw!KSwx!CWx!^!KS!^!_!JU!_#O!KS#O#P!DR#P#Q!^!LYP;=`<%l!KS>^!L`P;=`<%l!_#c#d#Bq#d#l%Z#l#m#Es#m#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#>j_$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#?rd$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!R#AQ!R!S#AQ!S!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#AQ#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#A]f$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!R#AQ!R!S#AQ!S!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#AQ#S#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#Bzc$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!Y#DV!Y!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#DV#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#Dbe$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!Y#DV!Y!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#DV#S#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#E|g$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![#Ge![!^%Z!^!_*g!_!c%Z!c!i#Ge!i#O%Z#O#P&c#P#R%Z#R#S#Ge#S#T%Z#T#Z#Ge#Z#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#Gpi$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![#Ge![!^%Z!^!_*g!_!c%Z!c!i#Ge!i#O%Z#O#P&c#P#R%Z#R#S#Ge#S#T%Z#T#Z#Ge#Z#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z*)x#Il_!g$b$i&j$O)Lv(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z)[#Jv_al$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z04f#LS^h#)`#R-v$?V_!^(CdvBr$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z?O$@a_!q7`$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z07[$Aq|$i&j(Wp(Z!b'|0/l$]#t(T,2j(e$I[OX%ZXY+gYZ&cZ[+g[p%Zpq+gqr%Zrs&}st%ZtuEruw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Er![!^%Z!^!_*g!_!c%Z!c!}Er!}#O%Z#O#P&c#P#R%Z#R#SEr#S#T%Z#T#oEr#o#p*g#p$f%Z$f$g+g$g#BYEr#BY#BZ$A`#BZ$ISEr$IS$I_$A`$I_$JTEr$JT$JU$A`$JU$KVEr$KV$KW$A`$KW&FUEr&FU&FV$A`&FV;'SEr;'S;=`I|<%l?HTEr?HT?HU$A`?HUOEr07[$D|k$i&j(Wp(Z!b'}0/l$]#t(T,2j(e$I[OY%ZYZ&cZr%Zrs&}st%ZtuEruw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Er![!^%Z!^!_*g!_!c%Z!c!}Er!}#O%Z#O#P&c#P#R%Z#R#SEr#S#T%Z#T#oEr#o#p*g#p$g%Z$g;'SEr;'S;=`I|<%lOEr",tokenizers:[Jk,e1,t1,i1,2,3,4,5,6,7,8,9,10,11,12,13,14,Kk,new Qi("$S~RRtu[#O#Pg#S#T#|~_P#o#pb~gOx~~jVO#i!P#i#j!U#j#l!P#l#m!q#m;'S!P;'S;=`#v<%lO!P~!UO!U~~!XS!Q![!e!c!i!e#T#Z!e#o#p#Z~!hR!Q![!q!c!i!q#T#Z!q~!tR!Q![!}!c!i!}#T#Z!}~#QR!Q![!P!c!i!P#T#Z!P~#^R!Q![#g!c!i#g#T#Z#g~#jS!Q![#g!c!i#g#T#Z#g#q#r!P~#yP;=`<%l!P~$RO(c~~",141,340),new Qi("j~RQYZXz{^~^O(Q~~aP!P!Qd~iO(R~~",25,323)],topRules:{Script:[0,7],SingleExpression:[1,276],SingleClassItem:[2,277]},dialects:{jsx:0,ts:15175},dynamicPrecedences:{80:1,82:1,94:1,169:1,199:1},specialized:[{term:327,get:i=>r1[i]||-1},{term:343,get:i=>s1[i]||-1},{term:95,get:i=>o1[i]||-1}],tokenPrec:15201});var zp=[ce("function ${name}(${params}) {\n ${}\n}",{label:"function",detail:"definition",type:"keyword"}),ce("for (let ${index} = 0; ${index} < ${bound}; ${index}++) {\n ${}\n}",{label:"for",detail:"loop",type:"keyword"}),ce("for (let ${name} of ${collection}) {\n ${}\n}",{label:"for",detail:"of loop",type:"keyword"}),ce("do {\n ${}\n} while (${})",{label:"do",detail:"loop",type:"keyword"}),ce("while (${}) {\n ${}\n}",{label:"while",detail:"loop",type:"keyword"}),ce(`try { \${} } catch (\${error}) { \${} @@ -26,22 +26,22 @@ constructor(\${params}) { \${} } -}`,{label:"class",detail:"definition",type:"keyword"}),ce('import {${names}} from "${module}"\n${}',{label:"import",detail:"named",type:"keyword"}),ce('import ${name} from "${module}"\n${}',{label:"import",detail:"default",type:"keyword"})],Kk=Tp.concat([ce("interface ${name} {\n ${}\n}",{label:"interface",detail:"definition",type:"keyword"}),ce("type ${name} = ${type}",{label:"type",detail:"definition",type:"keyword"}),ce("enum ${name} {\n ${}\n}",{label:"enum",detail:"definition",type:"keyword"})]),Pp=new ci,Cp=new Set(["Script","Block","FunctionExpression","FunctionDeclaration","ArrowFunction","MethodDeclaration","ForStatement"]);function wr(i){return(e,t)=>{let n=e.node.getChild("VariableDefinition");return n&&t(n,i),!0}}var Jk=["FunctionDeclaration"],e1={FunctionDeclaration:wr("function"),ClassDeclaration:wr("class"),ClassExpression:()=>!0,EnumDeclaration:wr("constant"),TypeAliasDeclaration:wr("type"),NamespaceDeclaration:wr("namespace"),VariableDefinition(i,e){i.matchContext(Jk)||e(i,"variable")},TypeDefinition(i,e){e(i,"type")},__proto__:null};function Xp(i,e){let t=Pp.get(e);if(t)return t;let n=[],r=!0;function s(o,a){let l=i.sliceString(o.from,o.to);n.push({label:l,type:a})}return e.cursor(ee.IncludeAnonymous).iterate(o=>{if(r)r=!1;else if(o.name){let a=e1[o.name];if(a&&a(o,s)||Cp.has(o.name))return!1}else if(o.to-o.from>8192){for(let a of Xp(i,o.node))n.push(a);return!1}}),Pp.set(e,n),n}var vp=/^[\w$\xa1-\uffff][\w$\d\xa1-\uffff]*$/,_p=["TemplateString","String","RegExp","LineComment","BlockComment","VariableDefinition","TypeDefinition","Label","PropertyDefinition","PropertyName","PrivatePropertyDefinition","PrivatePropertyName","JSXText","JSXAttributeValue","JSXOpenTag","JSXCloseTag","JSXSelfClosingTag",".","?."];function t1(i){let e=B(i.state).resolveInner(i.pos,-1);if(_p.indexOf(e.name)>-1)return null;let t=e.name=="VariableName"||e.to-e.from<20&&vp.test(i.state.sliceDoc(e.from,e.to));if(!t&&!i.explicit)return null;let n=[];for(let r=e;r;r=r.parent)Cp.has(r.name)&&(n=n.concat(Xp(i.state.doc,r)));return{options:n,from:t?e.from:i.pos,validFor:vp}}var xt=ve.define({name:"javascript",parser:wp.configure({props:[we.add({IfStatement:Vt({except:/^\s*({|else\b)/}),TryStatement:Vt({except:/^\s*({|catch\b|finally\b)/}),LabeledStatement:Fu,SwitchBody:i=>{let e=i.textAfter,t=/^\s*\}/.test(e),n=/^\s*(case|default)\b/.test(e);return i.baseIndent+(t?0:n?1:2)*i.unit},Block:bt({closing:"}"}),ArrowFunction:i=>i.baseIndent+i.unit,"TemplateString BlockComment":()=>null,"Statement Property":Vt({except:/^\s*{/}),JSXElement(i){let e=/^\s*<\//.test(i.textAfter);return i.lineIndent(i.node.from)+(e?0:i.unit)},JSXEscape(i){let e=/\s*\}/.test(i.textAfter);return i.lineIndent(i.node.from)+(e?0:i.unit)},"JSXOpenTag JSXSelfClosingTag"(i){return i.column(i.node.from)+i.unit}}),$e.add({"Block ClassBody SwitchBody EnumBody ObjectExpression ArrayExpression ObjectType":lt,BlockComment(i){return{from:i.from+2,to:i.to-2}},JSXElement(i){let e=i.firstChild;if(!e||e.name=="JSXSelfClosingTag")return null;let t=i.lastChild;return{from:e.to,to:t.type.isError?i.to:t.from}},"JSXSelfClosingTag JSXOpenTag"(i){var e;let t=(e=i.firstChild)===null||e===void 0?void 0:e.nextSibling,n=i.lastChild;return!t||t.type.isError?null:{from:t.to,to:n.type.isError?i.to:n.from}}})]}),languageData:{closeBrackets:{brackets:["(","[","{","'",'"',"`"]},commentTokens:{line:"//",block:{open:"/*",close:"*/"}},indentOnInput:/^\s*(?:case |default:|\{|\}|<\/)$/,wordChars:"$"}}),Rp={test:i=>/^JSX/.test(i.name),facet:yn({commentTokens:{block:{open:"{/*",close:"*/}"}}})},Pc=xt.configure({dialect:"ts"},"typescript"),vc=xt.configure({dialect:"jsx",props:[Zs.add(i=>i.isTop?[Rp]:void 0)]}),$c=xt.configure({dialect:"jsx ts",props:[Zs.add(i=>i.isTop?[Rp]:void 0)]},"typescript"),Ap=i=>({label:i,type:"keyword"}),Zp="break case const continue default delete export extends false finally in instanceof let new return static super switch this throw true typeof var yield".split(" ").map(Ap),i1=Zp.concat(["declare","implements","private","protected","public"].map(Ap));function no(i={}){let e=i.jsx?i.typescript?$c:vc:i.typescript?Pc:xt,t=i.typescript?Kk.concat(i1):Tp.concat(Zp);return new pe(e,[xt.data.of({autocomplete:Ys(_p,Ds(t))}),xt.data.of({autocomplete:t1}),i.jsx?s1:[]])}function n1(i){for(;;){if(i.name=="JSXOpenTag"||i.name=="JSXSelfClosingTag"||i.name=="JSXFragmentTag")return i;if(i.name=="JSXEscape"||!i.parent)return null;i=i.parent}}function $p(i,e,t=i.length){for(let n=e?.firstChild;n;n=n.nextSibling)if(n.name=="JSXIdentifier"||n.name=="JSXBuiltin"||n.name=="JSXNamespacedName"||n.name=="JSXMemberExpression")return i.sliceString(n.from,Math.min(n.to,t));return""}var r1=typeof navigator=="object"&&/Android\b/.test(navigator.userAgent),s1=E.inputHandler.of((i,e,t,n,r)=>{if((r1?i.composing:i.compositionStarted)||i.state.readOnly||e!=t||n!=">"&&n!="/"||!xt.isActiveAt(i.state,e,-1))return!1;let s=r(),{state:o}=s,a=o.changeByRange(l=>{var c;let{head:h}=l,f=B(o).resolveInner(h-1,-1),u;if(f.name=="JSXStartTag"&&(f=f.parent),!(o.doc.sliceString(h-1,h)!=n||f.name=="JSXAttributeValue"&&f.to>h)){if(n==">"&&f.name=="JSXFragmentTag")return{range:l,changes:{from:h,insert:""}};if(n=="/"&&f.name=="JSXStartCloseTag"){let O=f.parent,p=O.parent;if(p&&O.from==h-2&&((u=$p(o.doc,p.firstChild,h))||((c=p.firstChild)===null||c===void 0?void 0:c.name)=="JSXFragmentTag")){let m=`${u}>`;return{range:v.cursor(h+m.length,-1),changes:{from:h,insert:m}}}}else if(n==">"){let O=n1(f);if(O&&O.name=="JSXOpenTag"&&!/^\/?>|^<\//.test(o.doc.sliceString(h,h+2))&&(u=$p(o.doc,O,h)))return{range:l,changes:{from:h,insert:``}}}}return{range:l}});return a.changes.empty?!1:(i.dispatch([s,o.update(a,{userEvent:"input.complete",scrollIntoView:!0})]),!0)});var Pr=["_blank","_self","_top","_parent"],Tc=["ascii","utf-8","utf-16","latin1","latin1"],Cc=["get","post","put","delete"],Xc=["application/x-www-form-urlencoded","multipart/form-data","text/plain"],Je=["true","false"],D={},o1={a:{attrs:{href:null,ping:null,type:null,media:null,target:Pr,hreflang:null}},abbr:D,address:D,area:{attrs:{alt:null,coords:null,href:null,target:null,ping:null,media:null,hreflang:null,type:null,shape:["default","rect","circle","poly"]}},article:D,aside:D,audio:{attrs:{src:null,mediagroup:null,crossorigin:["anonymous","use-credentials"],preload:["none","metadata","auto"],autoplay:["autoplay"],loop:["loop"],controls:["controls"]}},b:D,base:{attrs:{href:null,target:Pr}},bdi:D,bdo:D,blockquote:{attrs:{cite:null}},body:D,br:D,button:{attrs:{form:null,formaction:null,name:null,value:null,autofocus:["autofocus"],disabled:["autofocus"],formenctype:Xc,formmethod:Cc,formnovalidate:["novalidate"],formtarget:Pr,type:["submit","reset","button"]}},canvas:{attrs:{width:null,height:null}},caption:D,center:D,cite:D,code:D,col:{attrs:{span:null}},colgroup:{attrs:{span:null}},command:{attrs:{type:["command","checkbox","radio"],label:null,icon:null,radiogroup:null,command:null,title:null,disabled:["disabled"],checked:["checked"]}},data:{attrs:{value:null}},datagrid:{attrs:{disabled:["disabled"],multiple:["multiple"]}},datalist:{attrs:{data:null}},dd:D,del:{attrs:{cite:null,datetime:null}},details:{attrs:{open:["open"]}},dfn:D,div:D,dl:D,dt:D,em:D,embed:{attrs:{src:null,type:null,width:null,height:null}},eventsource:{attrs:{src:null}},fieldset:{attrs:{disabled:["disabled"],form:null,name:null}},figcaption:D,figure:D,footer:D,form:{attrs:{action:null,name:null,"accept-charset":Tc,autocomplete:["on","off"],enctype:Xc,method:Cc,novalidate:["novalidate"],target:Pr}},h1:D,h2:D,h3:D,h4:D,h5:D,h6:D,head:{children:["title","base","link","style","meta","script","noscript","command"]},header:D,hgroup:D,hr:D,html:{attrs:{manifest:null}},i:D,iframe:{attrs:{src:null,srcdoc:null,name:null,width:null,height:null,sandbox:["allow-top-navigation","allow-same-origin","allow-forms","allow-scripts"],seamless:["seamless"]}},img:{attrs:{alt:null,src:null,ismap:null,usemap:null,width:null,height:null,crossorigin:["anonymous","use-credentials"]}},input:{attrs:{alt:null,dirname:null,form:null,formaction:null,height:null,list:null,max:null,maxlength:null,min:null,name:null,pattern:null,placeholder:null,size:null,src:null,step:null,value:null,width:null,accept:["audio/*","video/*","image/*"],autocomplete:["on","off"],autofocus:["autofocus"],checked:["checked"],disabled:["disabled"],formenctype:Xc,formmethod:Cc,formnovalidate:["novalidate"],formtarget:Pr,multiple:["multiple"],readonly:["readonly"],required:["required"],type:["hidden","text","search","tel","url","email","password","datetime","date","month","week","time","datetime-local","number","range","color","checkbox","radio","file","submit","image","reset","button"]}},ins:{attrs:{cite:null,datetime:null}},kbd:D,keygen:{attrs:{challenge:null,form:null,name:null,autofocus:["autofocus"],disabled:["disabled"],keytype:["RSA"]}},label:{attrs:{for:null,form:null}},legend:D,li:{attrs:{value:null}},link:{attrs:{href:null,type:null,hreflang:null,media:null,sizes:["all","16x16","16x16 32x32","16x16 32x32 64x64"]}},map:{attrs:{name:null}},mark:D,menu:{attrs:{label:null,type:["list","context","toolbar"]}},meta:{attrs:{content:null,charset:Tc,name:["viewport","application-name","author","description","generator","keywords"],"http-equiv":["content-language","content-type","default-style","refresh"]}},meter:{attrs:{value:null,min:null,low:null,high:null,max:null,optimum:null}},nav:D,noscript:D,object:{attrs:{data:null,type:null,name:null,usemap:null,form:null,width:null,height:null,typemustmatch:["typemustmatch"]}},ol:{attrs:{reversed:["reversed"],start:null,type:["1","a","A","i","I"]},children:["li","script","template","ul","ol"]},optgroup:{attrs:{disabled:["disabled"],label:null}},option:{attrs:{disabled:["disabled"],label:null,selected:["selected"],value:null}},output:{attrs:{for:null,form:null,name:null}},p:D,param:{attrs:{name:null,value:null}},pre:D,progress:{attrs:{value:null,max:null}},q:{attrs:{cite:null}},rp:D,rt:D,ruby:D,samp:D,script:{attrs:{type:["text/javascript"],src:null,async:["async"],defer:["defer"],charset:Tc}},section:D,select:{attrs:{form:null,name:null,size:null,autofocus:["autofocus"],disabled:["disabled"],multiple:["multiple"]}},slot:{attrs:{name:null}},small:D,source:{attrs:{src:null,type:null,media:null}},span:D,strong:D,style:{attrs:{type:["text/css"],media:null,scoped:null}},sub:D,summary:D,sup:D,table:D,tbody:D,td:{attrs:{colspan:null,rowspan:null,headers:null}},template:D,textarea:{attrs:{dirname:null,form:null,maxlength:null,name:null,placeholder:null,rows:null,cols:null,autofocus:["autofocus"],disabled:["disabled"],readonly:["readonly"],required:["required"],wrap:["soft","hard"]}},tfoot:D,th:{attrs:{colspan:null,rowspan:null,headers:null,scope:["row","col","rowgroup","colgroup"]}},thead:D,time:{attrs:{datetime:null}},title:D,tr:D,track:{attrs:{src:null,label:null,default:null,kind:["subtitles","captions","descriptions","chapters","metadata"],srclang:null}},ul:{children:["li","script","template","ul","ol"]},var:D,video:{attrs:{src:null,poster:null,width:null,height:null,crossorigin:["anonymous","use-credentials"],preload:["auto","metadata","none"],autoplay:["autoplay"],mediagroup:["movie"],muted:["muted"],controls:["controls"]}},wbr:D},Lp={accesskey:null,class:null,contenteditable:Je,contextmenu:null,dir:["ltr","rtl","auto"],draggable:["true","false","auto"],dropzone:["copy","move","link","string:","file:"],hidden:["hidden"],id:null,inert:["inert"],itemid:null,itemprop:null,itemref:null,itemscope:["itemscope"],itemtype:null,lang:["ar","bn","de","en-GB","en-US","es","fr","hi","id","ja","pa","pt","ru","tr","zh"],spellcheck:Je,autocorrect:Je,autocapitalize:Je,style:null,tabindex:null,title:null,translate:["yes","no"],rel:["stylesheet","alternate","author","bookmark","help","license","next","nofollow","noreferrer","prefetch","prev","search","tag"],role:"alert application article banner button cell checkbox complementary contentinfo dialog document feed figure form grid gridcell heading img list listbox listitem main navigation region row rowgroup search switch tab table tabpanel textbox timer".split(" "),"aria-activedescendant":null,"aria-atomic":Je,"aria-autocomplete":["inline","list","both","none"],"aria-busy":Je,"aria-checked":["true","false","mixed","undefined"],"aria-controls":null,"aria-describedby":null,"aria-disabled":Je,"aria-dropeffect":null,"aria-expanded":["true","false","undefined"],"aria-flowto":null,"aria-grabbed":["true","false","undefined"],"aria-haspopup":Je,"aria-hidden":Je,"aria-invalid":["true","false","grammar","spelling"],"aria-label":null,"aria-labelledby":null,"aria-level":null,"aria-live":["off","polite","assertive"],"aria-multiline":Je,"aria-multiselectable":Je,"aria-owns":null,"aria-posinset":null,"aria-pressed":["true","false","mixed","undefined"],"aria-readonly":Je,"aria-relevant":null,"aria-required":Je,"aria-selected":["true","false","undefined"],"aria-setsize":null,"aria-sort":["ascending","descending","none","other"],"aria-valuemax":null,"aria-valuemin":null,"aria-valuenow":null,"aria-valuetext":null},Mp="beforeunload copy cut dragstart dragover dragleave dragenter dragend drag paste focus blur change click load mousedown mouseenter mouseleave mouseup keydown keyup resize scroll unload".split(" ").map(i=>"on"+i);for(let i of Mp)Lp[i]=null;var Ii=class{constructor(e,t){this.tags={...o1,...e},this.globalAttrs={...Lp,...t},this.allTags=Object.keys(this.tags),this.globalAttrNames=Object.keys(this.globalAttrs)}};Ii.default=new Ii;function vn(i,e,t=i.length){if(!e)return"";let n=e.firstChild,r=n&&n.getChild("TagName");return r?i.sliceString(r.from,Math.min(r.to,t)):""}function $n(i,e=!1){for(;i;i=i.parent)if(i.name=="Element")if(e)e=!1;else return i;return null}function Wp(i,e,t){let n=t.tags[vn(i,$n(e))];return n?.children||t.allTags}function _c(i,e){let t=[];for(let n=$n(e);n&&!n.type.isTop;n=$n(n.parent)){let r=vn(i,n);if(r&&n.lastChild.name=="CloseTag")break;r&&t.indexOf(r)<0&&(e.name=="EndTag"||e.from>=n.firstChild.to)&&t.push(r)}return t}var jp=/^[:\-\.\w\u00b7-\uffff]*$/;function qp(i,e,t,n,r){let s=/\s*>/.test(i.sliceDoc(r,r+5))?"":">",o=$n(t,t.name=="StartTag"||t.name=="TagName");return{from:n,to:r,options:Wp(i.doc,o,e).map(a=>({label:a,type:"type"})).concat(_c(i.doc,t).map((a,l)=>({label:"/"+a,apply:"/"+a+s,type:"type",boost:99-l}))),validFor:/^\/?[:\-\.\w\u00b7-\uffff]*$/}}function Ep(i,e,t,n){let r=/\s*>/.test(i.sliceDoc(n,n+5))?"":">";return{from:t,to:n,options:_c(i.doc,e).map((s,o)=>({label:s,apply:s+r,type:"type",boost:99-o})),validFor:jp}}function a1(i,e,t,n){let r=[],s=0;for(let o of Wp(i.doc,t,e))r.push({label:"<"+o,type:"type"});for(let o of _c(i.doc,t))r.push({label:"",type:"type",boost:99-s++});return{from:n,to:n,options:r,validFor:/^<\/?[:\-\.\w\u00b7-\uffff]*$/}}function l1(i,e,t,n,r){let s=$n(t),o=s?e.tags[vn(i.doc,s)]:null,a=o&&o.attrs?Object.keys(o.attrs):[],l=o&&o.globalAttrs===!1?a:a.length?a.concat(e.globalAttrNames):e.globalAttrNames;return{from:n,to:r,options:l.map(c=>({label:c,type:"property"})),validFor:jp}}function c1(i,e,t,n,r){var s;let o=(s=t.parent)===null||s===void 0?void 0:s.getChild("AttributeName"),a=[],l;if(o){let c=i.sliceDoc(o.from,o.to),h=e.globalAttrs[c];if(!h){let f=$n(t),u=f?e.tags[vn(i.doc,f)]:null;h=u?.attrs&&u.attrs[c]}if(h){let f=i.sliceDoc(n,r).toLowerCase(),u='"',O='"';/^['"]/.test(f)?(l=f[0]=='"'?/^[^"]*$/:/^[^']*$/,u="",O=i.sliceDoc(r,r+1)==f[0]?"":f[0],f=f.slice(1),n++):l=/^[^\s<>='"]*$/;for(let p of h)a.push({label:p,apply:u+p+O,type:"constant"})}}return{from:n,to:r,options:a,validFor:l}}function Vp(i,e){let{state:t,pos:n}=e,r=B(t).resolveInner(n,-1),s=r.resolve(n);for(let o=n,a;s==r&&(a=r.childBefore(o));){let l=a.lastChild;if(!l||!l.type.isError||l.fromVp(n,r)}var f1=xt.parser.configure({top:"SingleExpression"}),Yp=[{tag:"script",attrs:i=>i.type=="text/typescript"||i.lang=="ts",parser:Pc.parser},{tag:"script",attrs:i=>i.type=="text/babel"||i.type=="text/jsx",parser:vc.parser},{tag:"script",attrs:i=>i.type=="text/typescript-jsx",parser:$c.parser},{tag:"script",attrs(i){return/^(importmap|speculationrules|application\/(.+\+)?json)$/i.test(i.type)},parser:f1},{tag:"script",attrs(i){return!i.type||/^(?:text|application)\/(?:x-)?(?:java|ecma)script$|^module$|^$/i.test(i.type)},parser:xt.parser},{tag:"style",attrs(i){return(!i.lang||i.lang=="css")&&(!i.type||/^(text\/)?(x-)?(stylesheet|css)$/i.test(i.type))},parser:xr.parser}],Ip=[{name:"style",parser:xr.parser.configure({top:"Styles"})}].concat(Mp.map(i=>({name:i,parser:xt.parser}))),Bp=ve.define({name:"html",parser:cp.configure({props:[we.add({Element(i){let e=/^(\s*)(<\/)?/.exec(i.textAfter);return i.node.to<=i.pos+e[0].length?i.continue():i.lineIndent(i.node.from)+(e[2]?0:i.unit)},"OpenTag CloseTag SelfClosingTag"(i){return i.column(i.node.from)+i.unit},Document(i){if(i.pos+/\s*/.exec(i.textAfter)[0].lengthi.getChild("TagName")})]}),languageData:{commentTokens:{block:{open:""}},indentOnInput:/^\s*<\/\w+\W$/,wordChars:"-_"}}),ro=Bp.configure({wrap:Qc(Yp,Ip)});function so(i={}){let e="",t;i.matchClosingTags===!1&&(e="noMatch"),i.selfClosingTags===!0&&(e=(e?e+" ":"")+"selfClosing"),(i.nestedLanguages&&i.nestedLanguages.length||i.nestedAttributes&&i.nestedAttributes.length)&&(t=Qc((i.nestedLanguages||[]).concat(Yp),(i.nestedAttributes||[]).concat(Ip)));let n=t?Bp.configure({wrap:t,dialect:e}):e?ro.configure({dialect:e}):ro;return new pe(n,[ro.data.of({autocomplete:h1(i)}),i.autoCloseTags!==!1?u1:[],no().support,io().support])}var zp=new Set("area base br col command embed frame hr img input keygen link meta param source track wbr menuitem".split(" ")),u1=E.inputHandler.of((i,e,t,n,r)=>{if(i.composing||i.state.readOnly||e!=t||n!=">"&&n!="/"||!ro.isActiveAt(i.state,e,-1))return!1;let s=r(),{state:o}=s,a=o.changeByRange(l=>{var c,h,f;let u=o.doc.sliceString(l.from-1,l.to)==n,{head:O}=l,p=B(o).resolveInner(O,-1),m;if(u&&n==">"&&p.name=="EndTag"){let b=p.parent;if(((h=(c=b.parent)===null||c===void 0?void 0:c.lastChild)===null||h===void 0?void 0:h.name)!="CloseTag"&&(m=vn(o.doc,b.parent,O))&&!zp.has(m)){let g=O+(o.doc.sliceString(O,O+1)===">"?1:0),Q=``;return{range:l,changes:{from:O,to:g,insert:Q}}}}else if(u&&n=="/"&&p.name=="IncompleteCloseTag"){let b=p.parent;if(p.from==O-2&&((f=b.lastChild)===null||f===void 0?void 0:f.name)!="CloseTag"&&(m=vn(o.doc,b,O))&&!zp.has(m)){let g=O+(o.doc.sliceString(O,O+1)===">"?1:0),Q=`${m}>`;return{range:v.cursor(O+Q.length,-1),changes:{from:O,to:g,insert:Q}}}}return{range:l}});return a.changes.empty?!1:(i.dispatch([s,o.update(a,{userEvent:"input.complete",scrollIntoView:!0})]),!0)});var Np=yn({commentTokens:{block:{open:""}}}),Fp=new I,Hp=Ad.configure({props:[$e.add(i=>!i.is("Block")||i.is("Document")||Zc(i)!=null||O1(i)?void 0:(e,t)=>({from:t.doc.lineAt(e.from).to,to:e.to})),Fp.add(Zc),we.add({Document:()=>null}),Qt.add({Document:Np})]});function Zc(i){let e=/^(?:ATX|Setext)Heading(\d)$/.exec(i.name);return e?+e[1]:void 0}function O1(i){return i.name=="OrderedList"||i.name=="BulletList"}function d1(i,e){let t=i;for(;;){let n=t.nextSibling,r;if(!n||(r=Zc(n.type))!=null&&r<=e)break;t=n}return t.to}var p1=Hu.of((i,e,t)=>{for(let n=B(i).resolveInner(t,-1);n&&!(n.fromt)return{from:t,to:s}}return null});function qc(i){return new xe(Np,i,[],"markdown")}var m1=qc(Hp),g1=Hp.configure([Ed,Md,Ld,Wd,{props:[$e.add({Table:(i,e)=>({from:e.doc.lineAt(i.from).to,to:i.to})})]}]),gi=qc(g1);function Q1(i,e){return t=>{if(t&&i){let n=null;if(t=/\S*/.exec(t)[0],typeof i=="function"?n=i(t):n=Ye.matchLanguageName(i,t,!0),n instanceof Ye)return n.support?n.support.language.parser:Li.getSkippingParser(n.load());if(n)return n.parser}return e?e.parser:null}}var vr=class{constructor(e,t,n,r,s,o,a){this.node=e,this.from=t,this.to=n,this.spaceBefore=r,this.spaceAfter=s,this.type=o,this.item=a}blank(e,t=!0){let n=this.spaceBefore+(this.node.name=="Blockquote"?">":"");if(e!=null){for(;n.length0;r--)n+=" ";return n+(t?this.spaceAfter:"")}}marker(e,t){let n=this.node.name=="OrderedList"?String(+Jp(this.item,e)[2]+t):"";return this.spaceBefore+n+this.type+this.spaceAfter}};function Kp(i,e){let t=[],n=[];for(let r=i;r;r=r.parent){if(r.name=="FencedCode")return n;(r.name=="ListItem"||r.name=="Blockquote")&&t.push(r)}for(let r=t.length-1;r>=0;r--){let s=t[r],o,a=e.lineAt(s.from),l=s.from-a.from;if(s.name=="Blockquote"&&(o=/^ *>( ?)/.exec(a.text.slice(l))))n.push(new vr(s,l,l+o[0].length,"",o[1],">",null));else if(s.name=="ListItem"&&s.parent.name=="OrderedList"&&(o=/^( *)\d+([.)])( *)/.exec(a.text.slice(l)))){let c=o[3],h=o[0].length;c.length>=4&&(c=c.slice(0,c.length-4),h-=4),n.push(new vr(s.parent,l,l+h,o[1],c,o[2],s))}else if(s.name=="ListItem"&&s.parent.name=="BulletList"&&(o=/^( *)([-+*])( {1,4}\[[ xX]\])?( +)/.exec(a.text.slice(l)))){let c=o[4],h=o[0].length;c.length>4&&(c=c.slice(0,c.length-4),h-=4);let f=o[2];o[3]&&(f+=o[3].replace(/[xX]/," ")),n.push(new vr(s.parent,l,l+h,o[1],c,f,s))}}return n}function Jp(i,e){return/^(\s*)(\d+)(?=[.)])/.exec(e.sliceString(i.from,i.from+10))}function Rc(i,e,t,n=0){for(let r=-1,s=i;;){if(s.name=="ListItem"){let a=Jp(s,e),l=+a[2];if(r>=0){if(l!=r+1)return;t.push({from:s.from+a[1].length,to:s.from+a[0].length,insert:String(r+2+n)})}r=l}let o=s.nextSibling;if(!o)break;s=o}}function Ec(i,e){let t=/^[ \t]*/.exec(i)[0].length;if(!t||e.facet(_t)!=" ")return i;let n=Ge(i,4,t),r="";for(let s=n;s>0;)s>=4?(r+=" ",s-=4):(r+=" ",s--);return r+i.slice(t)}var b1=(i={})=>({state:e,dispatch:t})=>{let n=B(e),{doc:r}=e,s=null,o=e.changeByRange(a=>{if(!a.empty||!gi.isActiveAt(e,a.from,-1)&&!gi.isActiveAt(e,a.from,1))return s={range:a};let l=a.from,c=r.lineAt(l),h=Kp(n.resolveInner(l,-1),r);for(;h.length&&h[h.length-1].from>l-c.from;)h.pop();if(!h.length)return s={range:a};let f=h[h.length-1];if(f.to-f.spaceAfter.length>l-c.from)return s={range:a};let u=l>=f.to-f.spaceAfter.length&&!/\S/.test(c.text.slice(f.to));if(f.item&&u){let g=f.node.firstChild,Q=f.node.getChild("ListItem","ListItem");if(g.to>=l||Q&&Q.to0&&!/[^\s>]/.test(r.lineAt(c.from-1).text)||i.nonTightLists===!1){let S=h.length>1?h[h.length-2]:null,k,P="";S&&S.item?(k=c.from+S.from,P=S.marker(r,1)):k=c.from+(S?S.to:0);let $=[{from:k,to:l,insert:P}];return f.node.name=="OrderedList"&&Rc(f.item,r,$,-2),S&&S.node.name=="OrderedList"&&Rc(S.item,r,$),{range:v.cursor(k+P.length),changes:$}}else{let S=Gp(h,e,c);return{range:v.cursor(l+S.length+1),changes:{from:c.from,insert:S+e.lineBreak}}}}if(f.node.name=="Blockquote"&&u&&c.from){let g=r.lineAt(c.from-1),Q=/>\s*$/.exec(g.text);if(Q&&Q.index==f.from){let S=e.changes([{from:g.from+Q.index,to:g.to},{from:c.from+f.from,to:c.to}]);return{range:a.map(S),changes:S}}}let O=[];f.node.name=="OrderedList"&&Rc(f.item,r,O);let p=f.item&&f.item.from]*/.exec(c.text)[0].length>=f.to)for(let g=0,Q=h.length-1;g<=Q;g++)m+=g==Q&&!p?h[g].marker(r,1):h[g].blank(gc.from&&/\s/.test(c.text.charAt(b-c.from-1));)b--;return m=Ec(m,e),y1(f.node,e.doc)&&(m=Gp(h,e,c)+e.lineBreak+m),O.push({from:b,to:l,insert:e.lineBreak+m}),{range:v.cursor(b+m.length+1),changes:O}});return s?!1:(t(e.update(o,{scrollIntoView:!0,userEvent:"input"})),!0)},S1=b1();function Up(i){return i.name=="QuoteMark"||i.name=="ListMark"}function y1(i,e){if(i.name!="OrderedList"&&i.name!="BulletList")return!1;let t=i.firstChild,n=i.getChild("ListItem","ListItem");if(!n)return!1;let r=e.lineAt(t.to),s=e.lineAt(n.from),o=/^[\s>]*$/.test(r.text);return r.number+(o?0:1){let t=B(i),n=null,r=i.changeByRange(s=>{let o=s.from,{doc:a}=i;if(s.empty&&gi.isActiveAt(i,s.from)){let l=a.lineAt(o),c=Kp(k1(t,o),a);if(c.length){let h=c[c.length-1],f=h.to-h.spaceAfter.length+(h.spaceAfter?1:0);if(o-l.from>f&&!/\S/.test(l.text.slice(f,o-l.from)))return{range:v.cursor(l.from+f),changes:{from:l.from+f,to:o}};if(o-l.from==f&&(!h.item||l.from<=h.item.from||!/\S/.test(l.text.slice(0,h.to)))){let u=l.from+h.from;if(h.item&&h.node.from{var t;let{main:n}=e.state.selection;if(n.empty)return!1;let r=(t=i.clipboardData)===null||t===void 0?void 0:t.getData("text/plain");if(!r||!/^(https?:\/\/|mailto:|xmpp:|www\.)/.test(r)||(/^www\./.test(r)&&(r="https://"+r),!gi.isActiveAt(e.state,n.from,1)))return!1;let s=B(e.state),o=!1;return s.iterate({from:n.from,to:n.to,enter:a=>{(a.from>n.from||v1.test(a.name))&&(o=!0)},leave:a=>{a.to{if(i.next==-1&&e.canShift(im))return i.acceptToken(im);let t=i.peek(-1);if((Bt(t)||t<0)&&e.context.type!=Tr){if(Cn(i,45))if(e.canShift(Tn))i.acceptToken(Tn);else return i.acceptToken(T1,3);if(Cn(i,46))if(e.canShift(Tn))i.acceptToken(Tn);else return i.acceptToken(C1,3);let n=0;for(;i.next==32;)n++,i.advance();(n{if(e.context.type==Tr){i.next==63&&(i.advance(),Bi(i.next)&&i.acceptToken(R1));return}if(i.next==45)i.advance(),Bi(i.next)&&i.acceptToken(e.context.type==Dc&&e.context.depth==$r(i,i.pos-1)?X1:sm);else if(i.next==63)i.advance(),Bi(i.next)&&i.acceptToken(e.context.type==Mc&&e.context.depth==$r(i,i.pos-1)?_1:om);else{let t=i.pos;for(;;)if(jc(i.next)){if(i.pos==t)return;i.advance()}else if(i.next==33)hm(i);else if(i.next==38)Vc(i);else if(i.next==42){Vc(i);break}else if(i.next==39||i.next==34){if(Yc(i,!0))break;return}else if(i.next==91||i.next==123){if(!F1(i))return;break}else{fm(i,!0,!1,0);break}for(;jc(i.next);)i.advance();if(i.next==58){if(i.pos==t&&e.canShift(j1))return;let n=i.peek(1);Bi(n)&&i.acceptTokenTo(e.context.type==Mc&&e.context.depth==$r(i,t)?A1:am,t)}}},{contextual:!0});function N1(i){return i>32&&i<127&&i!=34&&i!=37&&i!=44&&i!=60&&i!=62&&i!=92&&i!=94&&i!=96&&i!=123&&i!=124&&i!=125}function nm(i){return i>=48&&i<=57||i>=97&&i<=102||i>=65&&i<=70}function rm(i,e){return i.next==37?(i.advance(),nm(i.next)&&i.advance(),nm(i.next)&&i.advance(),!0):N1(i.next)||e&&i.next==44?(i.advance(),!0):!1}function hm(i){if(i.advance(),i.next==60){for(i.advance();;)if(!rm(i,!0)){i.next==62&&i.advance();break}}else for(;rm(i,!1););}function Vc(i){for(i.advance();!Bi(i.next)&&oo(i.next)!="f";)i.advance()}function Yc(i,e){let t=i.next,n=!1,r=i.pos;for(i.advance();;){let s=i.next;if(s<0)break;if(i.advance(),s==t)if(s==39)if(i.next==39)i.advance();else break;else break;else if(s==92&&t==34)i.next>=0&&i.advance();else if(Bt(s)){if(e)return!1;n=!0}else if(e&&i.pos>=r+1024)return!1}return!n}function F1(i){for(let e=[],t=i.pos+1024;;)if(i.next==91||i.next==123)e.push(i.next),i.advance();else if(i.next==39||i.next==34){if(!Yc(i,!0))return!1}else if(i.next==93||i.next==125){if(e[e.length-1]!=i.next-2)return!1;if(e.pop(),i.advance(),!e.length)return!0}else{if(i.next<0||i.pos>t||Bt(i.next))return!1;i.advance()}}var H1="iiisiiissisfissssssssssssisssiiissssssssssssssssssssssssssfsfssissssssssssssssssssssssssssfif";function oo(i){return i<33?"u":i>125?"s":H1[i-33]}function Lc(i,e){let t=oo(i);return t!="u"&&!(e&&t=="f")}function fm(i,e,t,n){if(oo(i.next)=="s"||(i.next==63||i.next==58||i.next==45)&&Lc(i.peek(1),t))i.advance();else return!1;let r=i.pos;for(;;){let s=i.next,o=0,a=n+1;for(;cm(s);){if(Bt(s)){if(e)return!1;a=0}else a++;s=i.peek(++o)}if(!(s>=0&&(s==58?Lc(i.peek(o+1),t):s==35?i.peek(o-1)!=32:Lc(s,t)))||!t&&a<=n||a==0&&!t&&(Cn(i,45,o)||Cn(i,46,o)))break;if(e&&oo(s)=="f")return!1;for(let c=o;c>=0;c--)i.advance();if(e&&i.pos>r+1024)return!1}return!0}var K1=new K((i,e)=>{if(i.next==33)hm(i),i.acceptToken(L1);else if(i.next==38||i.next==42){let t=i.next==38?E1:z1;Vc(i),i.acceptToken(t)}else i.next==39||i.next==34?(Yc(i,!1),i.acceptToken(q1)):fm(i,!1,e.context.type==Tr,e.context.depth)&&i.acceptToken(Z1)}),J1=new K((i,e)=>{let t=e.context.type==Wc?e.context.depth:-1,n=i.pos;e:for(;;){let r=0,s=i.next;for(;s==32;)s=i.peek(++r);if(!r&&(Cn(i,45,r)||Cn(i,46,r))||!Bt(s)&&(t<0&&(t=Math.max(e.context.depth+1,r)),rYAN>Y",stateData:";S~O!fOS!gOS^OS~OP_OQbORSOTUOWROXROYYOZZO[XOcPOqQO!PVO!V[O!cTO~O`cO~P]OVkOWROXROYeOZfO[dOcPOmhOqQO~OboO~P!bOVtOWROXROYeOZfO[dOcPOmrOqQO~OpwO~P#WORSOTUOWROXROYYOZZO[XOcPOqQO!PVO!cTO~OSvP!avP!bvP~P#|OWROXROYeOZfO[dOcPOqQO~OmzO~P%OOm!OOUzP!azP!bzP!dzP~P#|O^!SO!b!QO!f!TO!g!RO~ORSOTUOWROXROcPOqQO!PVO!cTO~OY!UOP!QXQ!QX!V!QX!`!QXS!QX!a!QX!b!QXU!QXm!QX!d!QX~P&aO[!WOP!SXQ!SX!V!SX!`!SXS!SX!a!SX!b!SXU!SXm!SX!d!SX~P&aO^!ZO!W![O!b!YO!f!]O!g!YO~OP!_O!V[OQaX!`aX~OPaXQaX!VaX!`aX~P#|OP!bOQ!cO!V[O~OP_O!V[O~P#|OWROXROY!fOcPOqQObfXmfXofXpfX~OWROXRO[!hOcPOqQObhXmhXohXphX~ObeXmlXoeX~ObkXokX~P%OOm!kO~Om!lObnPonP~P%OOb!pOo!oO~Ob!pO~P!bOm!sOosXpsX~OosXpsX~P%OOm!uOotPptP~P%OOo!xOp!yO~Op!yO~P#WOS!|O!a#OO!b#OO~OUyX!ayX!byX!dyX~P#|Om#QO~OU#SO!a#UO!b#UO!d#RO~Om#WOUzX!azX!bzX!dzX~O]#XO~O!b#XO!g#YO~O^#ZO!b#XO!g#YO~OP!RXQ!RX!V!RX!`!RXS!RX!a!RX!b!RXU!RXm!RX!d!RX~P&aOP!TXQ!TX!V!TX!`!TXS!TX!a!TX!b!TXU!TXm!TX!d!TX~P&aO!b#^O!g#^O~O^#_O!b#^O!f#`O!g#^O~O^#_O!W#aO!b#^O!g#^O~OPaaQaa!Vaa!`aa~P#|OP#cO!V[OQ!XX!`!XX~OP!XXQ!XX!V!XX!`!XX~P#|OP_O!V[OQ!_X!`!_X~P#|OWROXROcPOqQObgXmgXogXpgX~OWROXROcPOqQObiXmiXoiXpiX~Obkaoka~P%OObnXonX~P%OOm#kO~Ob#lOo!oO~Oosapsa~P%OOotXptX~P%OOm#pO~Oo!xOp#qO~OSwP!awP!bwP~P#|OS!|O!a#vO!b#vO~OUya!aya!bya!dya~P#|Om#xO~P%OOm#{OU}P!a}P!b}P!d}P~P#|OU#SO!a$OO!b$OO!d#RO~O]$QO~O!b$QO!g$RO~O!b$SO!g$SO~O^$TO!b$SO!g$SO~O^$TO!b$SO!f$UO!g$SO~OP!XaQ!Xa!V!Xa!`!Xa~P#|Obnaona~P%OOotapta~P%OOo!xO~OU|X!a|X!b|X!d|X~P#|Om$ZO~Om$]OU}X!a}X!b}X!d}X~O]$^O~O!b$_O!g$_O~O^$`O!b$_O!g$_O~OU|a!a|a!b|a!d|a~P#|O!b$cO!g$cO~O",goto:",]!mPPPPPPPPPPPPPPPPP!nPP!v#v#|$`#|$c$f$j$nP%VPPP!v%Y%^%a%{&O%a&R&U&X&_&b%aP&e&{&e'O'RPP']'a'g'm's'y(XPPPPPPPP(_)e*X+c,VUaObcR#e!c!{ROPQSTUXY_bcdehknrtvz!O!U!W!_!b!c!f!h!k!l!s!u!|#Q#R#S#W#c#k#p#x#{$Z$]QmPR!qnqfPQThknrtv!k!l!s!u#R#k#pR!gdR!ieTlPnTjPnSiPnSqQvQ{TQ!mkQ!trQ!vtR#y#RR!nkTsQvR!wt!RWOSUXY_bcz!O!U!W!_!b!c!|#Q#S#W#c#x#{$Z$]RySR#t!|R|TR|UQ!PUR#|#SR#z#RR#z#SyZOSU_bcz!O!_!b!c!|#Q#S#W#c#x#{$Z$]R!VXR!XYa]O^abc!a!c!eT!da!eQnPR!rnQvQR!{vQ!}yR#u!}Q#T|R#}#TW^Obc!cS!^^!aT!aa!eQ!eaR#f!eW`Obc!cQxSS}U#SQ!`_Q#PzQ#V!OQ#b!_Q#d!bQ#s!|Q#w#QQ$P#WQ$V#cQ$Y#xQ$[#{Q$a$ZR$b$]xZOSU_bcz!O!_!b!c!|#Q#S#W#c#x#{$Z$]Q!VXQ!XYQ#[!UR#]!W!QWOSUXY_bcz!O!U!W!_!b!c!|#Q#S#W#c#x#{$Z$]pfPQThknrtv!k!l!s!u#R#k#pQ!gdQ!ieQ#g!fR#h!hSgPn^pQTkrtv#RQ!jhQ#i!kQ#j!lQ#n!sQ#o!uQ$W#kR$X#pQuQR!zv",nodeNames:"\u26A0 DirectiveEnd DocEnd - - ? ? ? Literal QuotedLiteral Anchor Alias Tag BlockLiteralContent Comment Stream BOM Document ] [ FlowSequence Item Tagged Anchored Anchored Tagged FlowMapping Pair Key : Pair , } { FlowMapping Pair Pair BlockSequence Item Item BlockMapping Pair Pair Key Pair Pair BlockLiteral BlockLiteralHeader Tagged Anchored Anchored Tagged Directive DirectiveName DirectiveContent Document",maxTerm:74,context:B1,nodeProps:[["isolate",-3,8,9,14,""],["openedBy",18,"[",32,"{"],["closedBy",19,"]",33,"}"]],propSources:[ex],skippedNodes:[0],repeatNodeCount:6,tokenData:"-Y~RnOX#PXY$QYZ$]Z]#P]^$]^p#Ppq$Qqs#Pst$btu#Puv$yv|#P|}&e}![#P![!]'O!]!`#P!`!a'i!a!}#P!}#O*g#O#P#P#P#Q+Q#Q#o#P#o#p+k#p#q'i#q#r,U#r;'S#P;'S;=`#z<%l?HT#P?HT?HU,o?HUO#PQ#UU!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PQ#kTOY#PZs#Pt;'S#P;'S;=`#z<%lO#PQ#}P;=`<%l#P~$VQ!f~XY$Qpq$Q~$bO!g~~$gS^~OY$bZ;'S$b;'S;=`$s<%lO$b~$vP;=`<%l$bR%OX!WQOX%kXY#PZ]%k]^#P^p%kpq#hq;'S%k;'S;=`&_<%lO%kR%rX!WQ!VPOX%kXY#PZ]%k]^#P^p%kpq#hq;'S%k;'S;=`&_<%lO%kR&bP;=`<%l%kR&lUoP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR'VUmP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR'p[!PP!WQOY#PZp#Ppq#hq{#P{|(f|}#P}!O(f!O!R#P!R![)p![;'S#P;'S;=`#z<%lO#PR(mW!PP!WQOY#PZp#Ppq#hq!R#P!R![)V![;'S#P;'S;=`#z<%lO#PR)^U!PP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR)wY!PP!WQOY#PZp#Ppq#hq{#P{|)V|}#P}!O)V!O;'S#P;'S;=`#z<%lO#PR*nUcP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR+XUbP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR+rUqP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR,]UpP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR,vU`P!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#P",tokenizers:[U1,G1,K1,J1,0,1],topRules:{Stream:[0,15]},tokenPrec:0});var tx=Pe.deserialize({version:14,states:"!vOQOPOOO]OPO'#C_OhOPO'#C^OOOO'#Cc'#CcOpOPO'#CaQOOOOOO{OPOOOOOO'#Cb'#CbO!WOPO'#C`O!`OPO,58xOOOO-E6a-E6aOOOO-E6`-E6`OOOO'#C_'#C_OOOO1G.d1G.d",stateData:"!h~OXPOYROWTP~OWVXXRXYRX~OYVOXSP~OXROYROWTX~OXROYROWTP~OYVOXSX~OX[O~OXY~",goto:"vWPPX[beioRUOQQOR]XRXQTTOUQWQRZWSSOURYS",nodeNames:"\u26A0 Document Frontmatter DashLine FrontmatterContent Body",maxTerm:10,skippedNodes:[0],repeatNodeCount:2,tokenData:"$z~RXOYnYZ!^Z]n]^!^^}n}!O!i!O;'Sn;'S;=`!c<%lOn~qXOYnYZ!^Z]n]^!^^;'Sn;'S;=`!c<%l~n~On~~!^~!cOY~~!fP;=`<%ln~!lZOYnYZ!^Z]n]^!^^}n}!O#_!O;'Sn;'S;=`!c<%l~n~On~~!^~#bZOYnYZ!^Z]n]^!^^}n}!O$T!O;'Sn;'S;=`!c<%l~n~On~~!^~$WXOYnYZ$sZ]n]^$s^;'Sn;'S;=`!c<%l~n~On~~$s~$zOX~Y~",tokenizers:[0],topRules:{Document:[0,1]},tokenPrec:67}),ix=ve.define({name:"yaml",parser:um.configure({props:[we.add({Stream:i=>{for(let e=i.node.resolve(i.pos,-1);e&&e.to>=i.pos;e=e.parent){if(e.name=="BlockLiteralContent"&&e.fromi.pos)return null}}return null},FlowMapping:bt({closing:"}"}),FlowSequence:bt({closing:"]"})}),$e.add({"FlowMapping FlowSequence":lt,"Item Pair BlockLiteral":(i,e)=>({from:e.doc.lineAt(i.from).to,to:i.to})})]}),languageData:{commentTokens:{line:"#"},indentOnInput:/^\s*[\]\}]$/}});var nx=ve.define({name:"yaml-frontmatter",parser:tx.configure({props:[ge({DashLine:d.meta})]})});function Om(i){let{language:e,support:t}=i.content instanceof pe?i.content:{language:i.content,support:[]};return new pe(nx.configure({wrap:Qn(n=>n.name=="FrontmatterContent"?{parser:ix.parser}:n.name=="Body"?{parser:e.parser}:null)}),t)}var rx=1,bm=194,Sm=195,sx=196,dm=197,ox=198,ax=199,lx=200,cx=2,ym=3,pm=201,hx=24,fx=25,ux=49,Ox=50,dx=55,px=56,mx=57,gx=59,Qx=60,bx=61,Sx=62,yx=63,kx=65,xx=238,wx=71,Px=241,vx=242,$x=243,Tx=244,Cx=245,Xx=246,_x=247,Rx=248,km=72,Ax=249,Zx=250,qx=251,Ex=252,zx=253,Lx=254,Mx=255,Wx=256,jx=73,Vx=77,Dx=263,Yx=112,Ix=130,Bx=151,Ux=152,Gx=155,Ui=10,Cr=13,Gc=32,co=9,Nc=35,Nx=40,Fx=46,Uc=123,mm=125,xm=39,wm=34,gm=92,Hx=111,Kx=120,Jx=78,ew=117,tw=85,iw=new Set([fx,ux,Ox,Dx,kx,Ix,px,mx,xx,Sx,yx,km,jx,Vx,Qx,bx,Bx,Ux,Gx,Yx]);function Ic(i){return i==Ui||i==Cr}function Bc(i){return i>=48&&i<=57||i>=65&&i<=70||i>=97&&i<=102}var nw=new K((i,e)=>{let t;if(i.next<0)i.acceptToken(ax);else if(e.context.flags&ao)Ic(i.next)&&i.acceptToken(ox,1);else if(((t=i.peek(-1))<0||Ic(t))&&e.canShift(dm)){let n=0;for(;i.next==Gc||i.next==co;)i.advance(),n++;(i.next==Ui||i.next==Cr||i.next==Nc)&&i.acceptToken(dm,-n)}else Ic(i.next)&&i.acceptToken(sx,1)},{contextual:!0}),rw=new K((i,e)=>{let t=e.context;if(t.flags)return;let n=i.peek(-1);if(n==Ui||n==Cr){let r=0,s=0;for(;;){if(i.next==Gc)r++;else if(i.next==co)r+=8-r%8;else break;i.advance(),s++}r!=t.indent&&i.next!=Ui&&i.next!=Cr&&i.next!=Nc&&(r[i,e|Pm])),aw=new ut({start:sw,reduce(i,e,t,n){return i.flags&ao&&iw.has(e)||(e==wx||e==km)&&i.flags&Pm?i.parent:i},shift(i,e,t,n){return e==bm?new lo(i,ow(n.read(n.pos,t.pos)),0):e==Sm?i.parent:e==hx||e==dx||e==gx||e==ym?new lo(i,0,ao):Qm.has(e)?new lo(i,0,Qm.get(e)|i.flags&ao):i},hash(i){return i.hash}}),lw=new K(i=>{for(let e=0;e<5;e++){if(i.next!="print".charCodeAt(e))return;i.advance()}if(!/\w/.test(String.fromCharCode(i.next)))for(let e=0;;e++){let t=i.peek(e);if(!(t==Gc||t==co)){t!=Nx&&t!=Fx&&t!=Ui&&t!=Cr&&t!=Nc&&i.acceptToken(rx);return}}}),cw=new K((i,e)=>{let{flags:t}=e.context,n=t&Ut?wm:xm,r=(t&Gt)>0,s=!(t&Nt),o=(t&Ft)>0,a=i.pos;for(;!(i.next<0);)if(o&&i.next==Uc)if(i.peek(1)==Uc)i.advance(2);else{if(i.pos==a){i.acceptToken(ym,1);return}break}else if(s&&i.next==gm){if(i.pos==a){i.advance();let l=i.next;l>=0&&(i.advance(),hw(i,l)),i.acceptToken(cx);return}break}else if(i.next==gm&&!s&&i.peek(1)>-1)i.advance(2);else if(i.next==n&&(!r||i.peek(1)==n&&i.peek(2)==n)){if(i.pos==a){i.acceptToken(pm,r?3:1);return}break}else if(i.next==Ui){if(r)i.advance();else if(i.pos==a){i.acceptToken(pm);return}break}else i.advance();i.pos>a&&i.acceptToken(lx)});function hw(i,e){if(e==Hx)for(let t=0;t<2&&i.next>=48&&i.next<=55;t++)i.advance();else if(e==Kx)for(let t=0;t<2&&Bc(i.next);t++)i.advance();else if(e==ew)for(let t=0;t<4&&Bc(i.next);t++)i.advance();else if(e==tw)for(let t=0;t<8&&Bc(i.next);t++)i.advance();else if(e==Jx&&i.next==Uc){for(i.advance();i.next>=0&&i.next!=mm&&i.next!=xm&&i.next!=wm&&i.next!=Ui;)i.advance();i.next==mm&&i.advance()}}var fw=ge({'async "*" "**" FormatConversion FormatSpec':d.modifier,"for while if elif else try except finally return raise break continue with pass assert await yield match case":d.controlKeyword,"in not and or is del":d.operatorKeyword,"from def class global nonlocal lambda":d.definitionKeyword,import:d.moduleKeyword,"with as print":d.keyword,Boolean:d.bool,None:d.null,VariableName:d.variableName,"CallExpression/VariableName":d.function(d.variableName),"FunctionDefinition/VariableName":d.function(d.definition(d.variableName)),"ClassDefinition/VariableName":d.definition(d.className),PropertyName:d.propertyName,"CallExpression/MemberExpression/PropertyName":d.function(d.propertyName),Comment:d.lineComment,Number:d.number,String:d.string,FormatString:d.special(d.string),Escape:d.escape,UpdateOp:d.updateOperator,"ArithOp!":d.arithmeticOperator,BitOp:d.bitwiseOperator,CompareOp:d.compareOperator,AssignOp:d.definitionOperator,Ellipsis:d.punctuation,At:d.meta,"( )":d.paren,"[ ]":d.squareBracket,"{ }":d.brace,".":d.derefOperator,", ;":d.separator}),uw={__proto__:null,await:44,or:54,and:56,in:60,not:62,is:64,if:70,else:72,lambda:76,yield:94,from:96,async:102,for:104,None:162,True:164,False:164,del:178,pass:182,break:186,continue:190,return:194,raise:202,import:206,as:208,global:212,nonlocal:214,assert:218,type:223,elif:236,while:240,try:246,except:248,finally:250,with:254,def:258,class:268,match:279,case:285},vm=Pe.deserialize({version:14,states:"##jQ`QeOOP$}OSOOO&WQtO'#HUOOQS'#Co'#CoOOQS'#Cp'#CpO'vQdO'#CnO*UQtO'#HTOOQS'#HU'#HUOOQS'#DU'#DUOOQS'#HT'#HTO*rQdO'#D_O+VQdO'#DfO+gQdO'#DjO+zOWO'#DuO,VOWO'#DvO.[QtO'#GuOOQS'#Gu'#GuO'vQdO'#GtO0ZQtO'#GtOOQS'#Eb'#EbO0rQdO'#EcOOQS'#Gs'#GsO0|QdO'#GrOOQV'#Gr'#GrO1XQdO'#FYOOQS'#G^'#G^O1^QdO'#FXOOQV'#IS'#ISOOQV'#Gq'#GqOOQV'#Fq'#FqQ`QeOOO'vQdO'#CqO1lQdO'#C}O1sQdO'#DRO2RQdO'#HYO2cQtO'#EVO'vQdO'#EWOOQS'#EY'#EYOOQS'#E['#E[OOQS'#E^'#E^O2wQdO'#E`O3_QdO'#EdO3rQdO'#EfO3zQtO'#EfO1XQdO'#EiO0rQdO'#ElO1XQdO'#EnO0rQdO'#EtO0rQdO'#EwO4VQdO'#EyO4^QdO'#FOO4iQdO'#EzO0rQdO'#FOO1XQdO'#FQO1XQdO'#FVO4nQdO'#F[P4uOdO'#GpPOOO)CBd)CBdOOQS'#Ce'#CeOOQS'#Cf'#CfOOQS'#Cg'#CgOOQS'#Ch'#ChOOQS'#Ci'#CiOOQS'#Cj'#CjOOQS'#Cl'#ClO'vQdO,59OO'vQdO,59OO'vQdO,59OO'vQdO,59OO'vQdO,59OO'vQdO,59OO5TQdO'#DoOOQS,5:Y,5:YO5hQdO'#HdOOQS,5:],5:]O5uQ!fO,5:]O5zQtO,59YO1lQdO,59bO1lQdO,59bO1lQdO,59bO8jQdO,59bO8oQdO,59bO8vQdO,59jO8}QdO'#HTO:TQdO'#HSOOQS'#HS'#HSOOQS'#D['#D[O:lQdO,59aO'vQdO,59aO:zQdO,59aOOQS,59y,59yO;PQdO,5:RO'vQdO,5:ROOQS,5:Q,5:QO;_QdO,5:QO;dQdO,5:XO'vQdO,5:XO'vQdO,5:VOOQS,5:U,5:UO;uQdO,5:UO;zQdO,5:WOOOW'#Fy'#FyOOOOQS'#Ds'#DsOOQS1G/w1G/wOOQS1G.|1G.|O!/[QtO1G.|O!/cQtO1G.|O1lQdO1G.|O!0OQdO1G/UOOQS'#DZ'#DZO0rQdO,59tOOQS1G.{1G.{O!0VQdO1G/eO!0gQdO1G/eO!0oQdO1G/fO'vQdO'#H[O!0tQdO'#H[O!0yQtO1G.{O!1ZQdO,59iO!2aQdO,5=zO!2qQdO,5=zO!2yQdO1G/mO!3OQtO1G/mOOQS1G/l1G/lO!3`QdO,5=uO!4VQdO,5=uO0rQdO1G/qO!4tQdO1G/sO!4yQtO1G/sO!5ZQtO1G/qOOQS1G/p1G/pOOQS1G/r1G/rOOOW-E9w-E9wOOQS1G/{1G/{O!5kQdO'#HxO0rQdO'#HxO!5|QdO,5>cOOOW-E9x-E9xOOQS1G/|1G/|OOQS-E9{-E9{O!6[Q#xO1G2zO!6{QtO1G2zO'vQdO,5kOOQS1G1`1G1`O!8RQdO1G1`OOQS'#DV'#DVO0rQdO,5=qOOQS,5=q,5=qO!8WQdO'#FrO!8cQdO,59oO!8kQdO1G/XO!8uQtO,5=uOOQS1G3`1G3`OOQS,5:m,5:mO!9fQdO'#GtOOQS,5jO!;ZQdO,5>jO1XQdO,5>jO!;lQdO,5>iOOQS-E:R-E:RO!;qQdO1G0lO!;|QdO1G0lO!lO!lO!hO!=VQdO,5>hO!=hQdO'#EpO0rQdO1G0tO!=sQdO1G0tO!=xQgO1G0zO!AvQgO1G0}O!EqQdO,5>oO!E{QdO,5>oO!FTQtO,5>oO0rQdO1G1PO!F_QdO1G1PO4iQdO1G1UO!!vQdO1G1WOOQV,5;a,5;aO!FdQfO,5;aO!FiQgO1G1QO!JjQdO'#GZO4iQdO1G1QO4iQdO1G1QO!JzQdO,5>pO!KXQdO,5>pO1XQdO,5>pOOQV1G1U1G1UO!KaQdO'#FSO!KrQ!fO1G1WO!KzQdO1G1WOOQV1G1]1G1]O4iQdO1G1]O!LPQdO1G1]O!LXQdO'#F^OOQV1G1b1G1bO!#ZQtO1G1bPOOO1G2v1G2vP!L^OSO1G2vOOQS,5=},5=}OOQS'#Dp'#DpO0rQdO,5=}O!LfQdO,5=|O!LyQdO,5=|OOQS1G/u1G/uO!MRQdO,5>PO!McQdO,5>PO!MkQdO,5>PO!NOQdO,5>PO!N`QdO,5>POOQS1G3j1G3jOOQS7+$h7+$hO!8kQdO7+$pO#!RQdO1G.|O#!YQdO1G.|OOQS1G/`1G/`OOQS,5<`,5<`O'vQdO,5<`OOQS7+%P7+%PO#!aQdO7+%POOQS-E9r-E9rOOQS7+%Q7+%QO#!qQdO,5=vO'vQdO,5=vOOQS7+$g7+$gO#!vQdO7+%PO##OQdO7+%QO##TQdO1G3fOOQS7+%X7+%XO##eQdO1G3fO##mQdO7+%XOOQS,5<_,5<_O'vQdO,5<_O##rQdO1G3aOOQS-E9q-E9qO#$iQdO7+%]OOQS7+%_7+%_O#$wQdO1G3aO#%fQdO7+%_O#%kQdO1G3gO#%{QdO1G3gO#&TQdO7+%]O#&YQdO,5>dO#&sQdO,5>dO#&sQdO,5>dOOQS'#Dx'#DxO#'UO&jO'#DzO#'aO`O'#HyOOOW1G3}1G3}O#'fQdO1G3}O#'nQdO1G3}O#'yQ#xO7+(fO#(jQtO1G2UP#)TQdO'#GOOOQS,5nQdO,5sQdO1G4OOOQS-E9y-E9yO#?^QdO1G4OO<[QdO'#H{OOOO'#D{'#D{OOOO'#F|'#F|O#?oO&jO,5:fOOOW,5>e,5>eOOOW7+)i7+)iO#?zQdO7+)iO#@SQdO1G2zO#@mQdO1G2zP'vQdO'#FuO0rQdO<mO#BQQdO,5>mOOQS1G0v1G0vOOQS<rO#KgQdO,5>rO#KrQdO,5>rO#K}QdO,5>qO#L`QdO,5>qOOQS1G1Y1G1YOOQS,5;p,5;pOOQV<VAN>VO$ oQdO<cAN>cO0rQdO1G1|O$!PQtO1G1|P$!ZQdO'#FvOOQS1G2R1G2RP$!hQdO'#F{O$!uQdO7+)jO$#`QdO,5>gOOOO-E9z-E9zOOOW<tO$4{QdO,5>tO1XQdO,5vO$)nQdO,5>vOOQS1G1p1G1pOOQS,5<[,5<[OOQU7+'P7+'PO$+zQdO1G/iO$)nQdO,5wO$8zQdO,5>wOOQS1G1s1G1sOOQS7+'S7+'SP$)nQdO'#GdO$9SQdO1G4bO$9^QdO1G4bO$9fQdO1G4bOOQS7+%T7+%TO$9tQdO1G1tO$:SQtO'#FaO$:ZQdO,5<}OOQS,5<},5<}O$:iQdO1G4cOOQS-E:a-E:aO$)nQdO,5<|O$:pQdO,5<|O$:uQdO7+)|OOQS-E:`-E:`O$;PQdO7+)|O$)nQdO,5S~O%cOS%^OSSOS%]PQ~OPdOVaOfoOhYOopOs!POvqO!PrO!Q{O!T!SO!U!RO!XZO!][O!h`O!r`O!s`O!t`O!{tO!}uO#PvO#RwO#TxO#XyO#ZzO#^|O#_|O#a}O#c!OO#l!QO#o!TO#s!UO#u!VO#z!WO#}hO$P!XO%oRO%pRO%tSO%uWO&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O&c^O&d^O&e^O&f^O&g^O&h^O&i^O&j^O~O%]!YO~OV!aO_!aOa!bOh!iO!X!kO!f!mO%j![O%k!]O%l!^O%m!_O%n!_O%o!`O%p!`O%q!aO%r!aO%s!aO~Ok%xXl%xXm%xXn%xXo%xXp%xXs%xXz%xX{%xX!x%xX#g%xX%[%xX%_%xX%z%xXg%xX!T%xX!U%xX%{%xX!W%xX![%xX!Q%xX#[%xXt%xX!m%xX~P%SOfoOhYO!XZO!][O!h`O!r`O!s`O!t`O%oRO%pRO%tSO%uWO&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O&c^O&d^O&e^O&f^O&g^O&h^O&i^O&j^O~Oz%wX{%wX#g%wX%[%wX%_%wX%z%wX~Ok!pOl!qOm!oOn!oOo!rOp!sOs!tO!x%wX~P)pOV!zOg!|Oo0cOv0qO!PrO~P'vOV#OOo0cOv0qO!W#PO~P'vOV#SOa#TOo0cOv0qO![#UO~P'vOQ#XO%`#XO%a#ZO~OQ#^OR#[O%`#^O%a#`O~OV%iX_%iXa%iXh%iXk%iXl%iXm%iXn%iXo%iXp%iXs%iXz%iX!X%iX!f%iX%j%iX%k%iX%l%iX%m%iX%n%iX%o%iX%p%iX%q%iX%r%iX%s%iXg%iX!T%iX!U%iX~O&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O&c^O&d^O&e^O&f^O&g^O&h^O&i^O&j^O{%iX!x%iX#g%iX%[%iX%_%iX%z%iX%{%iX!W%iX![%iX!Q%iX#[%iXt%iX!m%iX~P,eOz#dO{%hX!x%hX#g%hX%[%hX%_%hX%z%hX~Oo0cOv0qO~P'vO#g#gO%[#iO%_#iO~O%uWO~O!T#nO#u!VO#z!WO#}hO~OopO~P'vOV#sOa#tO%uWO{wP~OV#xOo0cOv0qO!Q#yO~P'vO{#{O!x$QO%z#|O#g!yX%[!yX%_!yX~OV#xOo0cOv0qO#g#SX%[#SX%_#SX~P'vOo0cOv0qO#g#WX%[#WX%_#WX~P'vOh$WO%uWO~O!f$YO!r$YO%uWO~OV$eO~P'vO!U$gO#s$hO#u$iO~O{$jO~OV$qO~P'vOS$sO%[$rO%_$rO%c$tO~OV$}Oa$}Og%POo0cOv0qO~P'vOo0cOv0qO{%SO~P'vO&Y%UO~Oa!bOh!iO!X!kO!f!mOVba_bakbalbambanbaobapbasbazba{ba!xba#gba%[ba%_ba%jba%kba%lba%mba%nba%oba%pba%qba%rba%sba%zbagba!Tba!Uba%{ba!Wba![ba!Qba#[batba!mba~On%ZO~Oo%ZO~P'vOo0cO~P'vOk0eOl0fOm0dOn0dOo0mOp0nOs0rOg%wX!T%wX!U%wX%{%wX!W%wX![%wX!Q%wX#[%wX!m%wX~P)pO%{%]Og%vXz%vX!T%vX!U%vX!W%vX{%vX~Og%_Oz%`O!T%dO!U%cO~Og%_O~Oz%gO!T%dO!U%cO!W&SX~O!W%kO~Oz%lO{%nO!T%dO!U%cO![%}X~O![%rO~O![%sO~OQ#XO%`#XO%a%uO~OV%wOo0cOv0qO!PrO~P'vOQ#^OR#[O%`#^O%a%zO~OV!qa_!qaa!qah!qak!qal!qam!qan!qao!qap!qas!qaz!qa{!qa!X!qa!f!qa!x!qa#g!qa%[!qa%_!qa%j!qa%k!qa%l!qa%m!qa%n!qa%o!qa%p!qa%q!qa%r!qa%s!qa%z!qag!qa!T!qa!U!qa%{!qa!W!qa![!qa!Q!qa#[!qat!qa!m!qa~P#yOz%|O{%ha!x%ha#g%ha%[%ha%_%ha%z%ha~P%SOV&OOopOvqO{%ha!x%ha#g%ha%[%ha%_%ha%z%ha~P'vOz%|O{%ha!x%ha#g%ha%[%ha%_%ha%z%ha~OPdOVaOopOvqO!PrO!Q{O!{tO!}uO#PvO#RwO#TxO#XyO#ZzO#^|O#_|O#a}O#c!OO#g$zX%[$zX%_$zX~P'vO#g#gO%[&TO%_&TO~O!f&UOh&sX%[&sXz&sX#[&sX#g&sX%_&sX#Z&sXg&sX~Oh!iO%[&WO~Okealeameaneaoeapeaseazea{ea!xea#gea%[ea%_ea%zeagea!Tea!Uea%{ea!Wea![ea!Qea#[eatea!mea~P%SOsqazqa{qa#gqa%[qa%_qa%zqa~Ok!pOl!qOm!oOn!oOo!rOp!sO!xqa~PEcO%z&YOz%yX{%yX~O%uWOz%yX{%yX~Oz&]O{wX~O{&_O~Oz%lO#g%}X%[%}X%_%}Xg%}X{%}X![%}X!m%}X%z%}X~OV0lOo0cOv0qO!PrO~P'vO%z#|O#gUa%[Ua%_Ua~Oz&hO#g&PX%[&PX%_&PXn&PX~P%SOz&kO!Q&jO#g#Wa%[#Wa%_#Wa~Oz&lO#[&nO#g&rX%[&rX%_&rXg&rX~O!f$YO!r$YO#Z&qO%uWO~O#Z&qO~Oz&sO#g&tX%[&tX%_&tX~Oz&uO#g&pX%[&pX%_&pX{&pX~O!X&wO%z&xO~Oz&|On&wX~P%SOn'PO~OPdOVaOopOvqO!PrO!Q{O!{tO!}uO#PvO#RwO#TxO#XyO#ZzO#^|O#_|O#a}O#c!OO%['UO~P'vOt'YO#p'WO#q'XOP#naV#naf#nah#nao#nas#nav#na!P#na!Q#na!T#na!U#na!X#na!]#na!h#na!r#na!s#na!t#na!{#na!}#na#P#na#R#na#T#na#X#na#Z#na#^#na#_#na#a#na#c#na#l#na#o#na#s#na#u#na#z#na#}#na$P#na%X#na%o#na%p#na%t#na%u#na&Z#na&[#na&]#na&^#na&_#na&`#na&a#na&b#na&c#na&d#na&e#na&f#na&g#na&h#na&i#na&j#na%Z#na%_#na~Oz'ZO#[']O{&xX~Oh'_O!X&wO~Oh!iO{$jO!X&wO~O{'eO~P%SO%['hO%_'hO~OS'iO%['hO%_'hO~OV!aO_!aOa!bOh!iO!X!kO!f!mO%l!^O%m!_O%n!_O%o!`O%p!`O%q!aO%r!aO%s!aOkWilWimWinWioWipWisWizWi{Wi!xWi#gWi%[Wi%_Wi%jWi%zWigWi!TWi!UWi%{Wi!WWi![Wi!QWi#[WitWi!mWi~O%k!]O~P!#uO%kWi~P!#uOV!aO_!aOa!bOh!iO!X!kO!f!mO%o!`O%p!`O%q!aO%r!aO%s!aOkWilWimWinWioWipWisWizWi{Wi!xWi#gWi%[Wi%_Wi%jWi%kWi%lWi%zWigWi!TWi!UWi%{Wi!WWi![Wi!QWi#[WitWi!mWi~O%m!_O%n!_O~P!&pO%mWi%nWi~P!&pOa!bOh!iO!X!kO!f!mOkWilWimWinWioWipWisWizWi{Wi!xWi#gWi%[Wi%_Wi%jWi%kWi%lWi%mWi%nWi%oWi%pWi%zWigWi!TWi!UWi%{Wi!WWi![Wi!QWi#[WitWi!mWi~OV!aO_!aO%q!aO%r!aO%s!aO~P!)nOVWi_Wi%qWi%rWi%sWi~P!)nO!T%dO!U%cOg&VXz&VX~O%z'kO%{'kO~P,eOz'mOg&UX~Og'oO~Oz'pO{'rO!W&XX~Oo0cOv0qOz'pO{'sO!W&XX~P'vO!W'uO~Om!oOn!oOo!rOp!sOkjisjizji{ji!xji#gji%[ji%_ji%zji~Ol!qO~P!.aOlji~P!.aOk0eOl0fOm0dOn0dOo0mOp0nO~Ot'wO~P!/jOV'|Og'}Oo0cOv0qO~P'vOg'}Oz(OO~Og(QO~O!U(SO~Og(TOz(OO!T%dO!U%cO~P%SOk0eOl0fOm0dOn0dOo0mOp0nOgqa!Tqa!Uqa%{qa!Wqa![qa!Qqa#[qatqa!mqa~PEcOV'|Oo0cOv0qO!W&Sa~P'vOz(WO!W&Sa~O!W(XO~Oz(WO!T%dO!U%cO!W&Sa~P%SOV(]Oo0cOv0qO![%}a#g%}a%[%}a%_%}ag%}a{%}a!m%}a%z%}a~P'vOz(^O![%}a#g%}a%[%}a%_%}ag%}a{%}a!m%}a%z%}a~O![(aO~Oz(^O!T%dO!U%cO![%}a~P%SOz(dO!T%dO!U%cO![&Ta~P%SOz(gO{&lX![&lX!m&lX%z&lX~O{(kO![(mO!m(nO%z(jO~OV&OOopOvqO{%hi!x%hi#g%hi%[%hi%_%hi%z%hi~P'vOz(pO{%hi!x%hi#g%hi%[%hi%_%hi%z%hi~O!f&UOh&sa%[&saz&sa#[&sa#g&sa%_&sa#Z&sag&sa~O%[(uO~OV#sOa#tO%uWO~Oz&]O{wa~OopOvqO~P'vOz(^O#g%}a%[%}a%_%}ag%}a{%}a![%}a!m%}a%z%}a~P%SOz(zO#g%hX%[%hX%_%hX%z%hX~O%z#|O#gUi%[Ui%_Ui~O#g&Pa%[&Pa%_&Pan&Pa~P'vOz(}O#g&Pa%[&Pa%_&Pan&Pa~O%uWO#g&ra%[&ra%_&rag&ra~Oz)SO#g&ra%[&ra%_&rag&ra~Og)VO~OV)WOh$WO%uWO~O#Z)XO~O%uWO#g&ta%[&ta%_&ta~Oz)ZO#g&ta%[&ta%_&ta~Oo0cOv0qO#g&pa%[&pa%_&pa{&pa~P'vOz)^O#g&pa%[&pa%_&pa{&pa~OV)`Oa)`O%uWO~O%z)eO~Ot)hO#j)gOP#hiV#hif#hih#hio#his#hiv#hi!P#hi!Q#hi!T#hi!U#hi!X#hi!]#hi!h#hi!r#hi!s#hi!t#hi!{#hi!}#hi#P#hi#R#hi#T#hi#X#hi#Z#hi#^#hi#_#hi#a#hi#c#hi#l#hi#o#hi#s#hi#u#hi#z#hi#}#hi$P#hi%X#hi%o#hi%p#hi%t#hi%u#hi&Z#hi&[#hi&]#hi&^#hi&_#hi&`#hi&a#hi&b#hi&c#hi&d#hi&e#hi&f#hi&g#hi&h#hi&i#hi&j#hi%Z#hi%_#hi~Ot)iOP#kiV#kif#kih#kio#kis#kiv#ki!P#ki!Q#ki!T#ki!U#ki!X#ki!]#ki!h#ki!r#ki!s#ki!t#ki!{#ki!}#ki#P#ki#R#ki#T#ki#X#ki#Z#ki#^#ki#_#ki#a#ki#c#ki#l#ki#o#ki#s#ki#u#ki#z#ki#}#ki$P#ki%X#ki%o#ki%p#ki%t#ki%u#ki&Z#ki&[#ki&]#ki&^#ki&_#ki&`#ki&a#ki&b#ki&c#ki&d#ki&e#ki&f#ki&g#ki&h#ki&i#ki&j#ki%Z#ki%_#ki~OV)kOn&wa~P'vOz)lOn&wa~Oz)lOn&wa~P%SOn)pO~O%Y)tO~Ot)wO#p'WO#q)vOP#niV#nif#nih#nio#nis#niv#ni!P#ni!Q#ni!T#ni!U#ni!X#ni!]#ni!h#ni!r#ni!s#ni!t#ni!{#ni!}#ni#P#ni#R#ni#T#ni#X#ni#Z#ni#^#ni#_#ni#a#ni#c#ni#l#ni#o#ni#s#ni#u#ni#z#ni#}#ni$P#ni%X#ni%o#ni%p#ni%t#ni%u#ni&Z#ni&[#ni&]#ni&^#ni&_#ni&`#ni&a#ni&b#ni&c#ni&d#ni&e#ni&f#ni&g#ni&h#ni&i#ni&j#ni%Z#ni%_#ni~OV)zOo0cOv0qO{$jO~P'vOo0cOv0qO{&xa~P'vOz*OO{&xa~OV*SOa*TOg*WO%q*UO%uWO~O{$jO&{*YO~Oh'_O~Oh!iO{$jO~O%[*_O~O%[*aO%_*aO~OV$}Oa$}Oo0cOv0qOg&Ua~P'vOz*dOg&Ua~Oo0cOv0qO{*gO!W&Xa~P'vOz*hO!W&Xa~Oo0cOv0qOz*hO{*kO!W&Xa~P'vOo0cOv0qOz*hO!W&Xa~P'vOz*hO{*kO!W&Xa~Om0dOn0dOo0mOp0nOgjikjisjizji!Tji!Uji%{ji!Wji{ji![ji#gji%[ji%_ji!Qji#[jitji!mji%zji~Ol0fO~P!NkOlji~P!NkOV'|Og*pOo0cOv0qO~P'vOn*rO~Og*pOz*tO~Og*uO~OV'|Oo0cOv0qO!W&Si~P'vOz*vO!W&Si~O!W*wO~OV(]Oo0cOv0qO![%}i#g%}i%[%}i%_%}ig%}i{%}i!m%}i%z%}i~P'vOz*zO!T%dO!U%cO![&Ti~Oz*}O![%}i#g%}i%[%}i%_%}ig%}i{%}i!m%}i%z%}i~O![+OO~Oa+QOo0cOv0qO![&Ti~P'vOz*zO![&Ti~O![+SO~OV+UOo0cOv0qO{&la![&la!m&la%z&la~P'vOz+VO{&la![&la!m&la%z&la~O!]+YO&n+[O![!nX~O![+^O~O{(kO![+_O~O{(kO![+_O!m+`O~OV&OOopOvqO{%hq!x%hq#g%hq%[%hq%_%hq%z%hq~P'vOz$ri{$ri!x$ri#g$ri%[$ri%_$ri%z$ri~P%SOV&OOopOvqO~P'vOV&OOo0cOv0qO#g%ha%[%ha%_%ha%z%ha~P'vOz+aO#g%ha%[%ha%_%ha%z%ha~Oz$ia#g$ia%[$ia%_$ian$ia~P%SO#g&Pi%[&Pi%_&Pin&Pi~P'vOz+dO#g#Wq%[#Wq%_#Wq~O#[+eOz$va#g$va%[$va%_$vag$va~O%uWO#g&ri%[&ri%_&rig&ri~Oz+gO#g&ri%[&ri%_&rig&ri~OV+iOh$WO%uWO~O%uWO#g&ti%[&ti%_&ti~Oo0cOv0qO#g&pi%[&pi%_&pi{&pi~P'vO{#{Oz#eX!W#eX~Oz+mO!W&uX~O!W+oO~Ot+rO#j)gOP#hqV#hqf#hqh#hqo#hqs#hqv#hq!P#hq!Q#hq!T#hq!U#hq!X#hq!]#hq!h#hq!r#hq!s#hq!t#hq!{#hq!}#hq#P#hq#R#hq#T#hq#X#hq#Z#hq#^#hq#_#hq#a#hq#c#hq#l#hq#o#hq#s#hq#u#hq#z#hq#}#hq$P#hq%X#hq%o#hq%p#hq%t#hq%u#hq&Z#hq&[#hq&]#hq&^#hq&_#hq&`#hq&a#hq&b#hq&c#hq&d#hq&e#hq&f#hq&g#hq&h#hq&i#hq&j#hq%Z#hq%_#hq~On$|az$|a~P%SOV)kOn&wi~P'vOz+yOn&wi~Oz,TO{$jO#[,TO~O#q,VOP#nqV#nqf#nqh#nqo#nqs#nqv#nq!P#nq!Q#nq!T#nq!U#nq!X#nq!]#nq!h#nq!r#nq!s#nq!t#nq!{#nq!}#nq#P#nq#R#nq#T#nq#X#nq#Z#nq#^#nq#_#nq#a#nq#c#nq#l#nq#o#nq#s#nq#u#nq#z#nq#}#nq$P#nq%X#nq%o#nq%p#nq%t#nq%u#nq&Z#nq&[#nq&]#nq&^#nq&_#nq&`#nq&a#nq&b#nq&c#nq&d#nq&e#nq&f#nq&g#nq&h#nq&i#nq&j#nq%Z#nq%_#nq~O#[,WOz%Oa{%Oa~Oo0cOv0qO{&xi~P'vOz,YO{&xi~O{#{O%z,[Og&zXz&zX~O%uWOg&zXz&zX~Oz,`Og&yX~Og,bO~O%Y,eO~O!T%dO!U%cOg&Viz&Vi~OV$}Oa$}Oo0cOv0qOg&Ui~P'vO{,hOz$la!W$la~Oo0cOv0qO{,iOz$la!W$la~P'vOo0cOv0qO{*gO!W&Xi~P'vOz,lO!W&Xi~Oo0cOv0qOz,lO!W&Xi~P'vOz,lO{,oO!W&Xi~Og$hiz$hi!W$hi~P%SOV'|Oo0cOv0qO~P'vOn,qO~OV'|Og,rOo0cOv0qO~P'vOV'|Oo0cOv0qO!W&Sq~P'vOz$gi![$gi#g$gi%[$gi%_$gig$gi{$gi!m$gi%z$gi~P%SOV(]Oo0cOv0qO~P'vOa+QOo0cOv0qO![&Tq~P'vOz,sO![&Tq~O![,tO~OV(]Oo0cOv0qO![%}q#g%}q%[%}q%_%}qg%}q{%}q!m%}q%z%}q~P'vO{,uO~OV+UOo0cOv0qO{&li![&li!m&li%z&li~P'vOz,zO{&li![&li!m&li%z&li~O!]+YO&n+[O![!na~O{(kO![,}O~OV&OOo0cOv0qO#g%hi%[%hi%_%hi%z%hi~P'vOz-OO#g%hi%[%hi%_%hi%z%hi~O%uWO#g&rq%[&rq%_&rqg&rq~Oz-RO#g&rq%[&rq%_&rqg&rq~OV)`Oa)`O%uWO!W&ua~Oz-TO!W&ua~On$|iz$|i~P%SOV)kO~P'vOV)kOn&wq~P'vOt-XOP#myV#myf#myh#myo#mys#myv#my!P#my!Q#my!T#my!U#my!X#my!]#my!h#my!r#my!s#my!t#my!{#my!}#my#P#my#R#my#T#my#X#my#Z#my#^#my#_#my#a#my#c#my#l#my#o#my#s#my#u#my#z#my#}#my$P#my%X#my%o#my%p#my%t#my%u#my&Z#my&[#my&]#my&^#my&_#my&`#my&a#my&b#my&c#my&d#my&e#my&f#my&g#my&h#my&i#my&j#my%Z#my%_#my~O%Z-]O%_-]O~P`O#q-^OP#nyV#nyf#nyh#nyo#nys#nyv#ny!P#ny!Q#ny!T#ny!U#ny!X#ny!]#ny!h#ny!r#ny!s#ny!t#ny!{#ny!}#ny#P#ny#R#ny#T#ny#X#ny#Z#ny#^#ny#_#ny#a#ny#c#ny#l#ny#o#ny#s#ny#u#ny#z#ny#}#ny$P#ny%X#ny%o#ny%p#ny%t#ny%u#ny&Z#ny&[#ny&]#ny&^#ny&_#ny&`#ny&a#ny&b#ny&c#ny&d#ny&e#ny&f#ny&g#ny&h#ny&i#ny&j#ny%Z#ny%_#ny~Oz-aO{$jO#[-aO~Oo0cOv0qO{&xq~P'vOz-dO{&xq~O%z,[Og&zaz&za~O{#{Og&zaz&za~OV*SOa*TO%q*UO%uWOg&ya~Oz-hOg&ya~O$S-lO~OV$}Oa$}Oo0cOv0qO~P'vOo0cOv0qO{-mOz$li!W$li~P'vOo0cOv0qOz$li!W$li~P'vO{-mOz$li!W$li~Oo0cOv0qO{*gO~P'vOo0cOv0qO{*gO!W&Xq~P'vOz-pO!W&Xq~Oo0cOv0qOz-pO!W&Xq~P'vOs-sO!T%dO!U%cOg&Oq!W&Oq![&Oqz&Oq~P!/jOa+QOo0cOv0qO![&Ty~P'vOz$ji![$ji~P%SOa+QOo0cOv0qO~P'vOV+UOo0cOv0qO~P'vOV+UOo0cOv0qO{&lq![&lq!m&lq%z&lq~P'vO{(kO![-xO!m-yO%z-wO~OV&OOo0cOv0qO#g%hq%[%hq%_%hq%z%hq~P'vO%uWO#g&ry%[&ry%_&ryg&ry~OV)`Oa)`O%uWO!W&ui~Ot-}OP#m!RV#m!Rf#m!Rh#m!Ro#m!Rs#m!Rv#m!R!P#m!R!Q#m!R!T#m!R!U#m!R!X#m!R!]#m!R!h#m!R!r#m!R!s#m!R!t#m!R!{#m!R!}#m!R#P#m!R#R#m!R#T#m!R#X#m!R#Z#m!R#^#m!R#_#m!R#a#m!R#c#m!R#l#m!R#o#m!R#s#m!R#u#m!R#z#m!R#}#m!R$P#m!R%X#m!R%o#m!R%p#m!R%t#m!R%u#m!R&Z#m!R&[#m!R&]#m!R&^#m!R&_#m!R&`#m!R&a#m!R&b#m!R&c#m!R&d#m!R&e#m!R&f#m!R&g#m!R&h#m!R&i#m!R&j#m!R%Z#m!R%_#m!R~Oo0cOv0qO{&xy~P'vOV*SOa*TO%q*UO%uWOg&yi~O$S-lO%Z.VO%_.VO~OV.aOh._O!X.^O!].`O!h.YO!s.[O!t.[O%p.XO%uWO&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O~Oo0cOv0qOz$lq!W$lq~P'vO{.fOz$lq!W$lq~Oo0cOv0qO{*gO!W&Xy~P'vOz.gO!W&Xy~Oo0cOv.kO~P'vOs-sO!T%dO!U%cOg&Oy!W&Oy![&Oyz&Oy~P!/jO{(kO![.nO~O{(kO![.nO!m.oO~OV*SOa*TO%q*UO%uWO~Oh.tO!f.rOz$TX#[$TX%j$TXg$TX~Os$TX{$TX!W$TX![$TX~P$-bO%o.vO%p.vOs$UXz$UX{$UX#[$UX%j$UX!W$UXg$UX![$UX~O!h.xO~Oz.|O#[/OO%j.yOs&|X{&|X!W&|Xg&|X~Oa/RO~P$)zOh.tOs&}Xz&}X{&}X#[&}X%j&}X!W&}Xg&}X![&}X~Os/VO{$jO~Oo0cOv0qOz$ly!W$ly~P'vOo0cOv0qO{*gO!W&X!R~P'vOz/ZO!W&X!R~Og&RXs&RX!T&RX!U&RX!W&RX![&RXz&RX~P!/jOs-sO!T%dO!U%cOg&Qa!W&Qa![&Qaz&Qa~O{(kO![/^O~O!f.rOh$[as$[az$[a{$[a#[$[a%j$[a!W$[ag$[a![$[a~O!h/eO~O%o.vO%p.vOs$Uaz$Ua{$Ua#[$Ua%j$Ua!W$Uag$Ua![$Ua~O%j.yOs$Yaz$Ya{$Ya#[$Ya!W$Yag$Ya![$Ya~Os&|a{&|a!W&|ag&|a~P$)nOz/jOs&|a{&|a!W&|ag&|a~O!W/mO~Og/mO~O{/oO~O![/pO~Oo0cOv0qO{*gO!W&X!Z~P'vO{/sO~O%z/tO~P$-bOz/uO#[/OO%j.yOg'PX~Oz/uOg'PX~Og/wO~O!h/xO~O#[/OOs%Saz%Sa{%Sa%j%Sa!W%Sag%Sa![%Sa~O#[/OO%j.yOs%Waz%Wa{%Wa!W%Wag%Wa~Os&|i{&|i!W&|ig&|i~P$)nOz/zO#[/OO%j.yO!['Oa~Og'Pa~P$)nOz0SOg'Pa~Oa0UO!['Oi~P$)zOz0WO!['Oi~Oz0WO#[/OO%j.yO!['Oi~O#[/OO%j.yOg$biz$bi~O%z0ZO~P$-bO#[/OO%j.yOg%Vaz%Va~Og'Pi~P$)nO{0^O~Oa0UO!['Oq~P$)zOz0`O!['Oq~O#[/OO%j.yOz%Ui![%Ui~Oa0UO~P$)zOa0UO!['Oy~P$)zO#[/OO%j.yOg$ciz$ci~O#[/OO%j.yOz%Uq![%Uq~Oz+aO#g%ha%[%ha%_%ha%z%ha~P%SOV&OOo0cOv0qO~P'vOn0hO~Oo0hO~P'vO{0iO~Ot0jO~P!/jO&]&Z&j&h&i&g&f&d&e&c&b&`&a&_&^&[%u~",goto:"!=j'QPPPPPP'RP'Z*s+[+t,_,y-fP.SP'Z.r.r'ZPPP'Z2[PPPPPP2[5PPP5PP7b7k=sPP=v>h>kPP'Z'ZPP>zPP'Z'ZPP'Z'Z'Z'Z'Z?O?w'ZP?zP@QDXGuGyPG|HWH['ZPPPH_Hk'RP'R'RP'RP'RP'RP'RP'R'R'RP'RPP'RPP'RP'RPHqH}IVPI^IdPI^PI^I^PPPI^PKrPK{LVL]KrPI^LfPI^PLmLsPLwM]MzNeLwLwNkNxLwLwLwLw! ^! d! g! l! o! y!!P!!]!!o!!u!#P!#V!#s!#y!$P!$Z!$a!$g!$y!%T!%Z!%a!%k!%q!%w!%}!&T!&Z!&e!&k!&u!&{!'U!'[!'k!'s!'}!(UPPPPPPPPPPP!([!(_!(e!(n!(x!)TPPPPPPPPPPPP!-u!/Z!3^!6oPP!6w!7W!7a!8Y!8P!8c!8i!8l!8o!8r!8z!9jPPPPPPPPPPPPPPPPP!9m!9q!9wP!:]!:a!:m!:v!;S!;j!;m!;p!;v!;|!_![!]Do!]!^Es!^!_FZ!_!`Gk!`!aHX!a!b%T!b!cIf!c!dJU!d!eK^!e!hJU!h!i!#f!i!tJU!t!u!,|!u!wJU!w!x!.t!x!}JU!}#O!0S#O#P&o#P#Q!0j#Q#R!1Q#R#SJU#S#T%T#T#UJU#U#VK^#V#YJU#Y#Z!#f#Z#fJU#f#g!,|#g#iJU#i#j!.t#j#oJU#o#p!1n#p#q!1s#q#r!2a#r#s!2f#s$g%T$g;'SJU;'S;=`KW<%lOJU`%YT&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T`%lP;=`<%l%To%v]&n`%c_OX%TXY%oY[%T[]%o]p%Tpq%oq#O%T#O#P&o#P#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To&tX&n`OY%TYZ%oZ]%T]^%o^#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc'f[&n`O!_%T!_!`([!`#T%T#T#U(r#U#f%T#f#g(r#g#h(r#h#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc(cTmR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc(yT!mR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk)aV&n`&[ZOr%Trs)vs#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk){V&n`Or%Trs*bs#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk*iT&n`&^ZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To+PZS_&n`OY*xYZ%TZ]*x]^%T^#o*x#o#p+r#p#q*x#q#r+r#r;'S*x;'S;=`,^<%lO*x_+wTS_OY+rZ]+r^;'S+r;'S;=`,W<%lO+r_,ZP;=`<%l+ro,aP;=`<%l*xj,kV%rQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj-XT!xY&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj-oV%lQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk.]V&n`&ZZOw%Twx.rx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk.wV&n`Ow%Twx/^x#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk/eT&n`&]ZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk/{ThZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc0cTgR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk0yXVZ&n`Oz%Tz{1f{!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk1mVaR&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk2ZV%oZ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc2wTzR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To3_W%pZ&n`O!_%T!_!`-Q!`!a3w!a#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Td4OT&{S&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk4fX!fQ&n`O!O%T!O!P5R!P!Q%T!Q![6T![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk5WV&n`O!O%T!O!P5m!P#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk5tT!rZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti6[a!hX&n`O!Q%T!Q![6T![!g%T!g!h7a!h!l%T!l!m9s!m#R%T#R#S6T#S#X%T#X#Y7a#Y#^%T#^#_9s#_#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti7fZ&n`O{%T{|8X|}%T}!O8X!O!Q%T!Q![8s![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti8^V&n`O!Q%T!Q![8s![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti8z]!hX&n`O!Q%T!Q![8s![!l%T!l!m9s!m#R%T#R#S8s#S#^%T#^#_9s#_#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti9zT!hX&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk:bX%qR&n`O!P%T!P!Q:}!Q!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj;UV%sQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti;ro!hX&n`O!O%T!O!P=s!P!Q%T!Q![>_![!d%T!d!e?q!e!g%T!g!h7a!h!l%T!l!m9s!m!q%T!q!rA]!r!z%T!z!{Bq!{#R%T#R#S>_#S#U%T#U#V?q#V#X%T#X#Y7a#Y#^%T#^#_9s#_#c%T#c#dA]#d#l%T#l#mBq#m#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti=xV&n`O!Q%T!Q![6T![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti>fc!hX&n`O!O%T!O!P=s!P!Q%T!Q![>_![!g%T!g!h7a!h!l%T!l!m9s!m#R%T#R#S>_#S#X%T#X#Y7a#Y#^%T#^#_9s#_#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti?vY&n`O!Q%T!Q!R@f!R!S@f!S#R%T#R#S@f#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti@mY!hX&n`O!Q%T!Q!R@f!R!S@f!S#R%T#R#S@f#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiAbX&n`O!Q%T!Q!YA}!Y#R%T#R#SA}#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiBUX!hX&n`O!Q%T!Q!YA}!Y#R%T#R#SA}#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiBv]&n`O!Q%T!Q![Co![!c%T!c!iCo!i#R%T#R#SCo#S#T%T#T#ZCo#Z#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiCv]!hX&n`O!Q%T!Q![Co![!c%T!c!iCo!i#R%T#R#SCo#S#T%T#T#ZCo#Z#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%ToDvV{_&n`O!_%T!_!`E]!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TcEdT%{R&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkEzT#gZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkFbXmR&n`O!^%T!^!_F}!_!`([!`!a([!a#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TjGUV%mQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkGrV%zZ&n`O!_%T!_!`([!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkH`WmR&n`O!_%T!_!`([!`!aHx!a#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TjIPV%nQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkIoV_Q#}P&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%ToJ_]&n`&YS%uZO!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUoKZP;=`<%lJUoKge&n`&YS%uZOr%Trs)Ysw%Twx.Ux!Q%T!Q![JU![!c%T!c!tJU!t!uLx!u!}JU!}#R%T#R#SJU#S#T%T#T#fJU#f#gLx#g#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUoMRa&n`&YS%uZOr%TrsNWsw%Twx! vx!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUkN_V&n`&`ZOr%TrsNts#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkNyV&n`Or%Trs! `s#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk! gT&n`&bZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk! }V&n`&_ZOw%Twx!!dx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!!iV&n`Ow%Twx!#Ox#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!#VT&n`&aZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To!#oe&n`&YS%uZOr%Trs!%Qsw%Twx!&px!Q%T!Q![JU![!c%T!c!tJU!t!u!(`!u!}JU!}#R%T#R#SJU#S#T%T#T#fJU#f#g!(`#g#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUk!%XV&n`&dZOr%Trs!%ns#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!%sV&n`Or%Trs!&Ys#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!&aT&n`&fZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!&wV&n`&cZOw%Twx!'^x#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!'cV&n`Ow%Twx!'xx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!(PT&n`&eZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To!(ia&n`&YS%uZOr%Trs!)nsw%Twx!+^x!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUk!)uV&n`&hZOr%Trs!*[s#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!*aV&n`Or%Trs!*vs#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!*}T&n`&jZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!+eV&n`&gZOw%Twx!+zx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!,PV&n`Ow%Twx!,fx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!,mT&n`&iZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To!-Vi&n`&YS%uZOr%TrsNWsw%Twx! vx!Q%T!Q![JU![!c%T!c!dJU!d!eLx!e!hJU!h!i!(`!i!}JU!}#R%T#R#SJU#S#T%T#T#UJU#U#VLx#V#YJU#Y#Z!(`#Z#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUo!.}a&n`&YS%uZOr%Trs)Ysw%Twx.Ux!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUk!0ZT!XZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc!0qT!WR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj!1XV%kQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T~!1sO!]~k!1zV%jR&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T~!2fO![~i!2mT%tX&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T",tokenizers:[lw,rw,nw,cw,0,1,2,3,4],topRules:{Script:[0,5]},specialized:[{term:221,get:i=>uw[i]||-1}],tokenPrec:7668});var $m=new ci,Cm=new Set(["Script","Body","FunctionDefinition","ClassDefinition","LambdaExpression","ForStatement","MatchClause"]);function ho(i){return(e,t,n)=>{if(n)return!1;let r=e.node.getChild("VariableName");return r&&t(r,i),!0}}var Ow={FunctionDefinition:ho("function"),ClassDefinition:ho("class"),ForStatement(i,e,t){if(t){for(let n=i.node.firstChild;n;n=n.nextSibling)if(n.name=="VariableName")e(n,"variable");else if(n.name=="in")break}},ImportStatement(i,e){var t,n;let{node:r}=i,s=((t=r.firstChild)===null||t===void 0?void 0:t.name)=="from";for(let o=r.getChild("import");o;o=o.nextSibling)o.name=="VariableName"&&((n=o.nextSibling)===null||n===void 0?void 0:n.name)!="as"&&e(o,s?"variable":"namespace")},AssignStatement(i,e){for(let t=i.node.firstChild;t;t=t.nextSibling)if(t.name=="VariableName")e(t,"variable");else if(t.name==":"||t.name=="AssignOp")break},ParamList(i,e){for(let t=null,n=i.node.firstChild;n;n=n.nextSibling)n.name=="VariableName"&&(!t||!/\*|AssignOp/.test(t.name))&&e(n,"variable"),t=n},CapturePattern:ho("variable"),AsPattern:ho("variable"),__proto__:null};function Xm(i,e){let t=$m.get(e);if(t)return t;let n=[],r=!0;function s(o,a){let l=i.sliceString(o.from,o.to);n.push({label:l,type:a})}return e.cursor(ee.IncludeAnonymous).iterate(o=>{if(o.name){let a=Ow[o.name];if(a&&a(o,s,r)||!r&&Cm.has(o.name))return!1;r=!1}else if(o.to-o.from>8192){for(let a of Xm(i,o.node))n.push(a);return!1}}),$m.set(e,n),n}var Tm=/^[\w\xa1-\uffff][\w\d\xa1-\uffff]*$/,_m=["String","FormatString","Comment","PropertyName"];function dw(i){let e=B(i.state).resolveInner(i.pos,-1);if(_m.indexOf(e.name)>-1)return null;let t=e.name=="VariableName"||e.to-e.from<20&&Tm.test(i.state.sliceDoc(e.from,e.to));if(!t&&!i.explicit)return null;let n=[];for(let r=e;r;r=r.parent)Cm.has(r.name)&&(n=n.concat(Xm(i.state.doc,r)));return{options:n,from:t?e.from:i.pos,validFor:Tm}}var pw=["__annotations__","__builtins__","__debug__","__doc__","__import__","__name__","__loader__","__package__","__spec__","False","None","True"].map(i=>({label:i,type:"constant"})).concat(["ArithmeticError","AssertionError","AttributeError","BaseException","BlockingIOError","BrokenPipeError","BufferError","BytesWarning","ChildProcessError","ConnectionAbortedError","ConnectionError","ConnectionRefusedError","ConnectionResetError","DeprecationWarning","EOFError","Ellipsis","EncodingWarning","EnvironmentError","Exception","FileExistsError","FileNotFoundError","FloatingPointError","FutureWarning","GeneratorExit","IOError","ImportError","ImportWarning","IndentationError","IndexError","InterruptedError","IsADirectoryError","KeyError","KeyboardInterrupt","LookupError","MemoryError","ModuleNotFoundError","NameError","NotADirectoryError","NotImplemented","NotImplementedError","OSError","OverflowError","PendingDeprecationWarning","PermissionError","ProcessLookupError","RecursionError","ReferenceError","ResourceWarning","RuntimeError","RuntimeWarning","StopAsyncIteration","StopIteration","SyntaxError","SyntaxWarning","SystemError","SystemExit","TabError","TimeoutError","TypeError","UnboundLocalError","UnicodeDecodeError","UnicodeEncodeError","UnicodeError","UnicodeTranslateError","UnicodeWarning","UserWarning","ValueError","Warning","ZeroDivisionError"].map(i=>({label:i,type:"type"}))).concat(["bool","bytearray","bytes","classmethod","complex","float","frozenset","int","list","map","memoryview","object","range","set","staticmethod","str","super","tuple","type"].map(i=>({label:i,type:"class"}))).concat(["abs","aiter","all","anext","any","ascii","bin","breakpoint","callable","chr","compile","delattr","dict","dir","divmod","enumerate","eval","exec","exit","filter","format","getattr","globals","hasattr","hash","help","hex","id","input","isinstance","issubclass","iter","len","license","locals","max","min","next","oct","open","ord","pow","print","property","quit","repr","reversed","round","setattr","slice","sorted","sum","vars","zip"].map(i=>({label:i,type:"function"}))),mw=[ce("def ${name}(${params}):\n ${}",{label:"def",detail:"function",type:"keyword"}),ce("for ${name} in ${collection}:\n ${}",{label:"for",detail:"loop",type:"keyword"}),ce("while ${}:\n ${}",{label:"while",detail:"loop",type:"keyword"}),ce("try:\n ${}\nexcept ${error}:\n ${}",{label:"try",detail:"/ except block",type:"keyword"}),ce(`if \${}: +}`,{label:"class",detail:"definition",type:"keyword"}),ce('import {${names}} from "${module}"\n${}',{label:"import",detail:"named",type:"keyword"}),ce('import ${name} from "${module}"\n${}',{label:"import",detail:"default",type:"keyword"})],a1=zp.concat([ce("interface ${name} {\n ${}\n}",{label:"interface",detail:"definition",type:"keyword"}),ce("type ${name} = ${type}",{label:"type",detail:"definition",type:"keyword"}),ce("enum ${name} {\n ${}\n}",{label:"enum",detail:"definition",type:"keyword"})]),Zp=new fi,Lp=new Set(["Script","Block","FunctionExpression","FunctionDeclaration","ArrowFunction","MethodDeclaration","ForStatement"]);function vr(i){return(e,t)=>{let n=e.node.getChild("VariableDefinition");return n&&t(n,i),!0}}var l1=["FunctionDeclaration"],c1={FunctionDeclaration:vr("function"),ClassDeclaration:vr("class"),ClassExpression:()=>!0,EnumDeclaration:vr("constant"),TypeAliasDeclaration:vr("type"),NamespaceDeclaration:vr("namespace"),VariableDefinition(i,e){i.matchContext(l1)||e(i,"variable")},TypeDefinition(i,e){e(i,"type")},__proto__:null};function Mp(i,e){let t=Zp.get(e);if(t)return t;let n=[],r=!0;function s(o,a){let l=i.sliceString(o.from,o.to);n.push({label:l,type:a})}return e.cursor(ee.IncludeAnonymous).iterate(o=>{if(r)r=!1;else if(o.name){let a=c1[o.name];if(a&&a(o,s)||Lp.has(o.name))return!1}else if(o.to-o.from>8192){for(let a of Mp(i,o.node))n.push(a);return!1}}),Zp.set(e,n),n}var qp=/^[\w$\xa1-\uffff][\w$\d\xa1-\uffff]*$/,Wp=["TemplateString","String","RegExp","LineComment","BlockComment","VariableDefinition","TypeDefinition","Label","PropertyDefinition","PropertyName","PrivatePropertyDefinition","PrivatePropertyName","JSXText","JSXAttributeValue","JSXOpenTag","JSXCloseTag","JSXSelfClosingTag",".","?."];function h1(i){let e=B(i.state).resolveInner(i.pos,-1);if(Wp.indexOf(e.name)>-1)return null;let t=e.name=="VariableName"||e.to-e.from<20&&qp.test(i.state.sliceDoc(e.from,e.to));if(!t&&!i.explicit)return null;let n=[];for(let r=e;r;r=r.parent)Lp.has(r.name)&&(n=n.concat(Mp(i.state.doc,r)));return{options:n,from:t?e.from:i.pos,validFor:qp}}var wt=ve.define({name:"javascript",parser:Ap.configure({props:[we.add({IfStatement:Yt({except:/^\s*({|else\b)/}),TryStatement:Yt({except:/^\s*({|catch\b|finally\b)/}),LabeledStatement:sO,SwitchBody:i=>{let e=i.textAfter,t=/^\s*\}/.test(e),n=/^\s*(case|default)\b/.test(e);return i.baseIndent+(t?0:n?1:2)*i.unit},Block:St({closing:"}"}),ArrowFunction:i=>i.baseIndent+i.unit,"TemplateString BlockComment":()=>null,"Statement Property":Yt({except:/^\s*{/}),JSXElement(i){let e=/^\s*<\//.test(i.textAfter);return i.lineIndent(i.node.from)+(e?0:i.unit)},JSXEscape(i){let e=/\s*\}/.test(i.textAfter);return i.lineIndent(i.node.from)+(e?0:i.unit)},"JSXOpenTag JSXSelfClosingTag"(i){return i.column(i.node.from)+i.unit}}),$e.add({"Block ClassBody SwitchBody EnumBody ObjectExpression ArrayExpression ObjectType":ct,BlockComment(i){return{from:i.from+2,to:i.to-2}},JSXElement(i){let e=i.firstChild;if(!e||e.name=="JSXSelfClosingTag")return null;let t=i.lastChild;return{from:e.to,to:t.type.isError?i.to:t.from}},"JSXSelfClosingTag JSXOpenTag"(i){var e;let t=(e=i.firstChild)===null||e===void 0?void 0:e.nextSibling,n=i.lastChild;return!t||t.type.isError?null:{from:t.to,to:n.type.isError?i.to:n.from}}})]}),languageData:{closeBrackets:{brackets:["(","[","{","'",'"',"`"]},commentTokens:{line:"//",block:{open:"/*",close:"*/"}},indentOnInput:/^\s*(?:case |default:|\{|\}|<\/)$/,wordChars:"$"}}),jp={test:i=>/^JSX/.test(i.name),facet:kn({commentTokens:{block:{open:"{/*",close:"*/}"}}})},Xc=wt.configure({dialect:"ts"},"typescript"),_c=wt.configure({dialect:"jsx",props:[Es.add(i=>i.isTop?[jp]:void 0)]}),Rc=wt.configure({dialect:"jsx ts",props:[Es.add(i=>i.isTop?[jp]:void 0)]},"typescript"),Vp=i=>({label:i,type:"keyword"}),Dp="break case const continue default delete export extends false finally in instanceof let new return static super switch this throw true typeof var yield".split(" ").map(Vp),f1=Dp.concat(["declare","implements","private","protected","public"].map(Vp));function so(i={}){let e=i.jsx?i.typescript?Rc:_c:i.typescript?Xc:wt,t=i.typescript?a1.concat(f1):zp.concat(Dp);return new pe(e,[wt.data.of({autocomplete:Bs(Wp,Is(t))}),wt.data.of({autocomplete:h1}),i.jsx?d1:[]])}function u1(i){for(;;){if(i.name=="JSXOpenTag"||i.name=="JSXSelfClosingTag"||i.name=="JSXFragmentTag")return i;if(i.name=="JSXEscape"||!i.parent)return null;i=i.parent}}function Ep(i,e,t=i.length){for(let n=e?.firstChild;n;n=n.nextSibling)if(n.name=="JSXIdentifier"||n.name=="JSXBuiltin"||n.name=="JSXNamespacedName"||n.name=="JSXMemberExpression")return i.sliceString(n.from,Math.min(n.to,t));return""}var O1=typeof navigator=="object"&&/Android\b/.test(navigator.userAgent),d1=E.inputHandler.of((i,e,t,n,r)=>{if((O1?i.composing:i.compositionStarted)||i.state.readOnly||e!=t||n!=">"&&n!="/"||!wt.isActiveAt(i.state,e,-1))return!1;let s=r(),{state:o}=s,a=o.changeByRange(l=>{var c;let{head:h}=l,f=B(o).resolveInner(h-1,-1),u;if(f.name=="JSXStartTag"&&(f=f.parent),!(o.doc.sliceString(h-1,h)!=n||f.name=="JSXAttributeValue"&&f.to>h)){if(n==">"&&f.name=="JSXFragmentTag")return{range:l,changes:{from:h,insert:""}};if(n=="/"&&f.name=="JSXStartCloseTag"){let O=f.parent,p=O.parent;if(p&&O.from==h-2&&((u=Ep(o.doc,p.firstChild,h))||((c=p.firstChild)===null||c===void 0?void 0:c.name)=="JSXFragmentTag")){let m=`${u}>`;return{range:v.cursor(h+m.length,-1),changes:{from:h,insert:m}}}}else if(n==">"){let O=u1(f);if(O&&O.name=="JSXOpenTag"&&!/^\/?>|^<\//.test(o.doc.sliceString(h,h+2))&&(u=Ep(o.doc,O,h)))return{range:l,changes:{from:h,insert:``}}}}return{range:l}});return a.changes.empty?!1:(i.dispatch([s,o.update(a,{userEvent:"input.complete",scrollIntoView:!0})]),!0)});var $r=["_blank","_self","_top","_parent"],Ac=["ascii","utf-8","utf-16","latin1","latin1"],Zc=["get","post","put","delete"],qc=["application/x-www-form-urlencoded","multipart/form-data","text/plain"],et=["true","false"],D={},p1={a:{attrs:{href:null,ping:null,type:null,media:null,target:$r,hreflang:null}},abbr:D,address:D,area:{attrs:{alt:null,coords:null,href:null,target:null,ping:null,media:null,hreflang:null,type:null,shape:["default","rect","circle","poly"]}},article:D,aside:D,audio:{attrs:{src:null,mediagroup:null,crossorigin:["anonymous","use-credentials"],preload:["none","metadata","auto"],autoplay:["autoplay"],loop:["loop"],controls:["controls"]}},b:D,base:{attrs:{href:null,target:$r}},bdi:D,bdo:D,blockquote:{attrs:{cite:null}},body:D,br:D,button:{attrs:{form:null,formaction:null,name:null,value:null,autofocus:["autofocus"],disabled:["autofocus"],formenctype:qc,formmethod:Zc,formnovalidate:["novalidate"],formtarget:$r,type:["submit","reset","button"]}},canvas:{attrs:{width:null,height:null}},caption:D,center:D,cite:D,code:D,col:{attrs:{span:null}},colgroup:{attrs:{span:null}},command:{attrs:{type:["command","checkbox","radio"],label:null,icon:null,radiogroup:null,command:null,title:null,disabled:["disabled"],checked:["checked"]}},data:{attrs:{value:null}},datagrid:{attrs:{disabled:["disabled"],multiple:["multiple"]}},datalist:{attrs:{data:null}},dd:D,del:{attrs:{cite:null,datetime:null}},details:{attrs:{open:["open"]}},dfn:D,div:D,dl:D,dt:D,em:D,embed:{attrs:{src:null,type:null,width:null,height:null}},eventsource:{attrs:{src:null}},fieldset:{attrs:{disabled:["disabled"],form:null,name:null}},figcaption:D,figure:D,footer:D,form:{attrs:{action:null,name:null,"accept-charset":Ac,autocomplete:["on","off"],enctype:qc,method:Zc,novalidate:["novalidate"],target:$r}},h1:D,h2:D,h3:D,h4:D,h5:D,h6:D,head:{children:["title","base","link","style","meta","script","noscript","command"]},header:D,hgroup:D,hr:D,html:{attrs:{manifest:null}},i:D,iframe:{attrs:{src:null,srcdoc:null,name:null,width:null,height:null,sandbox:["allow-top-navigation","allow-same-origin","allow-forms","allow-scripts"],seamless:["seamless"]}},img:{attrs:{alt:null,src:null,ismap:null,usemap:null,width:null,height:null,crossorigin:["anonymous","use-credentials"]}},input:{attrs:{alt:null,dirname:null,form:null,formaction:null,height:null,list:null,max:null,maxlength:null,min:null,name:null,pattern:null,placeholder:null,size:null,src:null,step:null,value:null,width:null,accept:["audio/*","video/*","image/*"],autocomplete:["on","off"],autofocus:["autofocus"],checked:["checked"],disabled:["disabled"],formenctype:qc,formmethod:Zc,formnovalidate:["novalidate"],formtarget:$r,multiple:["multiple"],readonly:["readonly"],required:["required"],type:["hidden","text","search","tel","url","email","password","datetime","date","month","week","time","datetime-local","number","range","color","checkbox","radio","file","submit","image","reset","button"]}},ins:{attrs:{cite:null,datetime:null}},kbd:D,keygen:{attrs:{challenge:null,form:null,name:null,autofocus:["autofocus"],disabled:["disabled"],keytype:["RSA"]}},label:{attrs:{for:null,form:null}},legend:D,li:{attrs:{value:null}},link:{attrs:{href:null,type:null,hreflang:null,media:null,sizes:["all","16x16","16x16 32x32","16x16 32x32 64x64"]}},map:{attrs:{name:null}},mark:D,menu:{attrs:{label:null,type:["list","context","toolbar"]}},meta:{attrs:{content:null,charset:Ac,name:["viewport","application-name","author","description","generator","keywords"],"http-equiv":["content-language","content-type","default-style","refresh"]}},meter:{attrs:{value:null,min:null,low:null,high:null,max:null,optimum:null}},nav:D,noscript:D,object:{attrs:{data:null,type:null,name:null,usemap:null,form:null,width:null,height:null,typemustmatch:["typemustmatch"]}},ol:{attrs:{reversed:["reversed"],start:null,type:["1","a","A","i","I"]},children:["li","script","template","ul","ol"]},optgroup:{attrs:{disabled:["disabled"],label:null}},option:{attrs:{disabled:["disabled"],label:null,selected:["selected"],value:null}},output:{attrs:{for:null,form:null,name:null}},p:D,param:{attrs:{name:null,value:null}},pre:D,progress:{attrs:{value:null,max:null}},q:{attrs:{cite:null}},rp:D,rt:D,ruby:D,samp:D,script:{attrs:{type:["text/javascript"],src:null,async:["async"],defer:["defer"],charset:Ac}},section:D,select:{attrs:{form:null,name:null,size:null,autofocus:["autofocus"],disabled:["disabled"],multiple:["multiple"]}},slot:{attrs:{name:null}},small:D,source:{attrs:{src:null,type:null,media:null}},span:D,strong:D,style:{attrs:{type:["text/css"],media:null,scoped:null}},sub:D,summary:D,sup:D,table:D,tbody:D,td:{attrs:{colspan:null,rowspan:null,headers:null}},template:D,textarea:{attrs:{dirname:null,form:null,maxlength:null,name:null,placeholder:null,rows:null,cols:null,autofocus:["autofocus"],disabled:["disabled"],readonly:["readonly"],required:["required"],wrap:["soft","hard"]}},tfoot:D,th:{attrs:{colspan:null,rowspan:null,headers:null,scope:["row","col","rowgroup","colgroup"]}},thead:D,time:{attrs:{datetime:null}},title:D,tr:D,track:{attrs:{src:null,label:null,default:null,kind:["subtitles","captions","descriptions","chapters","metadata"],srclang:null}},ul:{children:["li","script","template","ul","ol"]},var:D,video:{attrs:{src:null,poster:null,width:null,height:null,crossorigin:["anonymous","use-credentials"],preload:["auto","metadata","none"],autoplay:["autoplay"],mediagroup:["movie"],muted:["muted"],controls:["controls"]}},wbr:D},Up={accesskey:null,class:null,contenteditable:et,contextmenu:null,dir:["ltr","rtl","auto"],draggable:["true","false","auto"],dropzone:["copy","move","link","string:","file:"],hidden:["hidden"],id:null,inert:["inert"],itemid:null,itemprop:null,itemref:null,itemscope:["itemscope"],itemtype:null,lang:["ar","bn","de","en-GB","en-US","es","fr","hi","id","ja","pa","pt","ru","tr","zh"],spellcheck:et,autocorrect:et,autocapitalize:et,style:null,tabindex:null,title:null,translate:["yes","no"],rel:["stylesheet","alternate","author","bookmark","help","license","next","nofollow","noreferrer","prefetch","prev","search","tag"],role:"alert application article banner button cell checkbox complementary contentinfo dialog document feed figure form grid gridcell heading img list listbox listitem main navigation region row rowgroup search switch tab table tabpanel textbox timer".split(" "),"aria-activedescendant":null,"aria-atomic":et,"aria-autocomplete":["inline","list","both","none"],"aria-busy":et,"aria-checked":["true","false","mixed","undefined"],"aria-controls":null,"aria-describedby":null,"aria-disabled":et,"aria-dropeffect":null,"aria-expanded":["true","false","undefined"],"aria-flowto":null,"aria-grabbed":["true","false","undefined"],"aria-haspopup":et,"aria-hidden":et,"aria-invalid":["true","false","grammar","spelling"],"aria-label":null,"aria-labelledby":null,"aria-level":null,"aria-live":["off","polite","assertive"],"aria-multiline":et,"aria-multiselectable":et,"aria-owns":null,"aria-posinset":null,"aria-pressed":["true","false","mixed","undefined"],"aria-readonly":et,"aria-relevant":null,"aria-required":et,"aria-selected":["true","false","undefined"],"aria-setsize":null,"aria-sort":["ascending","descending","none","other"],"aria-valuemax":null,"aria-valuemin":null,"aria-valuenow":null,"aria-valuetext":null},Gp="beforeunload copy cut dragstart dragover dragleave dragenter dragend drag paste focus blur change click load mousedown mouseenter mouseleave mouseup keydown keyup resize scroll unload".split(" ").map(i=>"on"+i);for(let i of Gp)Up[i]=null;var Bi=class{constructor(e,t){this.tags={...p1,...e},this.globalAttrs={...Up,...t},this.allTags=Object.keys(this.tags),this.globalAttrNames=Object.keys(this.globalAttrs)}};Bi.default=new Bi;function $n(i,e,t=i.length){if(!e)return"";let n=e.firstChild,r=n&&n.getChild("TagName");return r?i.sliceString(r.from,Math.min(r.to,t)):""}function Tn(i,e=!1){for(;i;i=i.parent)if(i.name=="Element")if(e)e=!1;else return i;return null}function Np(i,e,t){let n=t.tags[$n(i,Tn(e))];return n?.children||t.allTags}function Ec(i,e){let t=[];for(let n=Tn(e);n&&!n.type.isTop;n=Tn(n.parent)){let r=$n(i,n);if(r&&n.lastChild.name=="CloseTag")break;r&&t.indexOf(r)<0&&(e.name=="EndTag"||e.from>=n.firstChild.to)&&t.push(r)}return t}var Fp=/^[:\-\.\w\u00b7-\uffff]*$/;function Yp(i,e,t,n,r){let s=/\s*>/.test(i.sliceDoc(r,r+5))?"":">",o=Tn(t,t.name=="StartTag"||t.name=="TagName");return{from:n,to:r,options:Np(i.doc,o,e).map(a=>({label:a,type:"type"})).concat(Ec(i.doc,t).map((a,l)=>({label:"/"+a,apply:"/"+a+s,type:"type",boost:99-l}))),validFor:/^\/?[:\-\.\w\u00b7-\uffff]*$/}}function Ip(i,e,t,n){let r=/\s*>/.test(i.sliceDoc(n,n+5))?"":">";return{from:t,to:n,options:Ec(i.doc,e).map((s,o)=>({label:s,apply:s+r,type:"type",boost:99-o})),validFor:Fp}}function m1(i,e,t,n){let r=[],s=0;for(let o of Np(i.doc,t,e))r.push({label:"<"+o,type:"type"});for(let o of Ec(i.doc,t))r.push({label:"",type:"type",boost:99-s++});return{from:n,to:n,options:r,validFor:/^<\/?[:\-\.\w\u00b7-\uffff]*$/}}function g1(i,e,t,n,r){let s=Tn(t),o=s?e.tags[$n(i.doc,s)]:null,a=o&&o.attrs?Object.keys(o.attrs):[],l=o&&o.globalAttrs===!1?a:a.length?a.concat(e.globalAttrNames):e.globalAttrNames;return{from:n,to:r,options:l.map(c=>({label:c,type:"property"})),validFor:Fp}}function Q1(i,e,t,n,r){var s;let o=(s=t.parent)===null||s===void 0?void 0:s.getChild("AttributeName"),a=[],l;if(o){let c=i.sliceDoc(o.from,o.to),h=e.globalAttrs[c];if(!h){let f=Tn(t),u=f?e.tags[$n(i.doc,f)]:null;h=u?.attrs&&u.attrs[c]}if(h){let f=i.sliceDoc(n,r).toLowerCase(),u='"',O='"';/^['"]/.test(f)?(l=f[0]=='"'?/^[^"]*$/:/^[^']*$/,u="",O=i.sliceDoc(r,r+1)==f[0]?"":f[0],f=f.slice(1),n++):l=/^[^\s<>='"]*$/;for(let p of h)a.push({label:p,apply:u+p+O,type:"constant"})}}return{from:n,to:r,options:a,validFor:l}}function Hp(i,e){let{state:t,pos:n}=e,r=B(t).resolveInner(n,-1),s=r.resolve(n);for(let o=n,a;s==r&&(a=r.childBefore(o));){let l=a.lastChild;if(!l||!l.type.isError||l.fromHp(n,r)}var S1=wt.parser.configure({top:"SingleExpression"}),Jp=[{tag:"script",attrs:i=>i.type=="text/typescript"||i.lang=="ts",parser:Xc.parser},{tag:"script",attrs:i=>i.type=="text/babel"||i.type=="text/jsx",parser:_c.parser},{tag:"script",attrs:i=>i.type=="text/typescript-jsx",parser:Rc.parser},{tag:"script",attrs(i){return/^(importmap|speculationrules|application\/(.+\+)?json)$/i.test(i.type)},parser:S1},{tag:"script",attrs(i){return!i.type||/^(?:text|application)\/(?:x-)?(?:java|ecma)script$|^module$|^$/i.test(i.type)},parser:wt.parser},{tag:"style",attrs(i){return(!i.lang||i.lang=="css")&&(!i.type||/^(text\/)?(x-)?(stylesheet|css)$/i.test(i.type))},parser:Pr.parser}],em=[{name:"style",parser:Pr.parser.configure({top:"Styles"})}].concat(Gp.map(i=>({name:i,parser:wt.parser}))),tm=ve.define({name:"html",parser:Qp.configure({props:[we.add({Element(i){let e=/^(\s*)(<\/)?/.exec(i.textAfter);return i.node.to<=i.pos+e[0].length?i.continue():i.lineIndent(i.node.from)+(e[2]?0:i.unit)},"OpenTag CloseTag SelfClosingTag"(i){return i.column(i.node.from)+i.unit},Document(i){if(i.pos+/\s*/.exec(i.textAfter)[0].lengthi.getChild("TagName")})]}),languageData:{commentTokens:{block:{open:""}},indentOnInput:/^\s*<\/\w+\W$/,wordChars:"-_"}}),oo=tm.configure({wrap:xc(Jp,em)});function ao(i={}){let e="",t;i.matchClosingTags===!1&&(e="noMatch"),i.selfClosingTags===!0&&(e=(e?e+" ":"")+"selfClosing"),(i.nestedLanguages&&i.nestedLanguages.length||i.nestedAttributes&&i.nestedAttributes.length)&&(t=xc((i.nestedLanguages||[]).concat(Jp),(i.nestedAttributes||[]).concat(em)));let n=t?tm.configure({wrap:t,dialect:e}):e?oo.configure({dialect:e}):oo;return new pe(n,[oo.data.of({autocomplete:b1(i)}),i.autoCloseTags!==!1?y1:[],so().support,ro().support])}var Bp=new Set("area base br col command embed frame hr img input keygen link meta param source track wbr menuitem".split(" ")),y1=E.inputHandler.of((i,e,t,n,r)=>{if(i.composing||i.state.readOnly||e!=t||n!=">"&&n!="/"||!oo.isActiveAt(i.state,e,-1))return!1;let s=r(),{state:o}=s,a=o.changeByRange(l=>{var c,h,f;let u=o.doc.sliceString(l.from-1,l.to)==n,{head:O}=l,p=B(o).resolveInner(O,-1),m;if(u&&n==">"&&p.name=="EndTag"){let b=p.parent;if(((h=(c=b.parent)===null||c===void 0?void 0:c.lastChild)===null||h===void 0?void 0:h.name)!="CloseTag"&&(m=$n(o.doc,b.parent,O))&&!Bp.has(m)){let g=O+(o.doc.sliceString(O,O+1)===">"?1:0),Q=``;return{range:l,changes:{from:O,to:g,insert:Q}}}}else if(u&&n=="/"&&p.name=="IncompleteCloseTag"){let b=p.parent;if(p.from==O-2&&((f=b.lastChild)===null||f===void 0?void 0:f.name)!="CloseTag"&&(m=$n(o.doc,b,O))&&!Bp.has(m)){let g=O+(o.doc.sliceString(O,O+1)===">"?1:0),Q=`${m}>`;return{range:v.cursor(O+Q.length,-1),changes:{from:O,to:g,insert:Q}}}}return{range:l}});return a.changes.empty?!1:(i.dispatch([s,o.update(a,{userEvent:"input.complete",scrollIntoView:!0})]),!0)});var rm=kn({commentTokens:{block:{open:""}}}),sm=new I,om=Vd.configure({props:[$e.add(i=>!i.is("Block")||i.is("Document")||Mc(i)!=null||k1(i)?void 0:(e,t)=>({from:t.doc.lineAt(e.from).to,to:e.to})),sm.add(Mc),we.add({Document:()=>null}),bt.add({Document:rm})]});function Mc(i){let e=/^(?:ATX|Setext)Heading(\d)$/.exec(i.name);return e?+e[1]:void 0}function k1(i){return i.name=="OrderedList"||i.name=="BulletList"}function x1(i,e){let t=i;for(;;){let n=t.nextSibling,r;if(!n||(r=Mc(n.type))!=null&&r<=e)break;t=n}return t.to}var w1=oO.of((i,e,t)=>{for(let n=B(i).resolveInner(t,-1);n&&!(n.fromt)return{from:t,to:s}}return null});function Wc(i){return new xe(rm,i,[],"markdown")}var P1=Wc(om),v1=om.configure([Id,Gd,Ud,Nd,{props:[$e.add({Table:(i,e)=>({from:e.doc.lineAt(i.from).to,to:i.to})})]}]),bi=Wc(v1);function $1(i,e){return t=>{if(t&&i){let n=null;if(t=/\S*/.exec(t)[0],typeof i=="function"?n=i(t):n=Be.matchLanguageName(i,t,!0),n instanceof Be)return n.support?n.support.language.parser:Mi.getSkippingParser(n.load());if(n)return n.parser}return e?e.parser:null}}var Tr=class{constructor(e,t,n,r,s,o,a){this.node=e,this.from=t,this.to=n,this.spaceBefore=r,this.spaceAfter=s,this.type=o,this.item=a}blank(e,t=!0){let n=this.spaceBefore+(this.node.name=="Blockquote"?">":"");if(e!=null){for(;n.length0;r--)n+=" ";return n+(t?this.spaceAfter:"")}}marker(e,t){let n=this.node.name=="OrderedList"?String(+lm(this.item,e)[2]+t):"";return this.spaceBefore+n+this.type+this.spaceAfter}};function am(i,e){let t=[],n=[];for(let r=i;r;r=r.parent){if(r.name=="FencedCode")return n;(r.name=="ListItem"||r.name=="Blockquote")&&t.push(r)}for(let r=t.length-1;r>=0;r--){let s=t[r],o,a=e.lineAt(s.from),l=s.from-a.from;if(s.name=="Blockquote"&&(o=/^ *>( ?)/.exec(a.text.slice(l))))n.push(new Tr(s,l,l+o[0].length,"",o[1],">",null));else if(s.name=="ListItem"&&s.parent.name=="OrderedList"&&(o=/^( *)\d+([.)])( *)/.exec(a.text.slice(l)))){let c=o[3],h=o[0].length;c.length>=4&&(c=c.slice(0,c.length-4),h-=4),n.push(new Tr(s.parent,l,l+h,o[1],c,o[2],s))}else if(s.name=="ListItem"&&s.parent.name=="BulletList"&&(o=/^( *)([-+*])( {1,4}\[[ xX]\])?( +)/.exec(a.text.slice(l)))){let c=o[4],h=o[0].length;c.length>4&&(c=c.slice(0,c.length-4),h-=4);let f=o[2];o[3]&&(f+=o[3].replace(/[xX]/," ")),n.push(new Tr(s.parent,l,l+h,o[1],c,f,s))}}return n}function lm(i,e){return/^(\s*)(\d+)(?=[.)])/.exec(e.sliceString(i.from,i.from+10))}function zc(i,e,t,n=0){for(let r=-1,s=i;;){if(s.name=="ListItem"){let a=lm(s,e),l=+a[2];if(r>=0){if(l!=r+1)return;t.push({from:s.from+a[1].length,to:s.from+a[0].length,insert:String(r+2+n)})}r=l}let o=s.nextSibling;if(!o)break;s=o}}function jc(i,e){let t=/^[ \t]*/.exec(i)[0].length;if(!t||e.facet(Rt)!=" ")return i;let n=Fe(i,4,t),r="";for(let s=n;s>0;)s>=4?(r+=" ",s-=4):(r+=" ",s--);return r+i.slice(t)}var T1=(i={})=>({state:e,dispatch:t})=>{let n=B(e),{doc:r}=e,s=null,o=e.changeByRange(a=>{if(!a.empty||!bi.isActiveAt(e,a.from,-1)&&!bi.isActiveAt(e,a.from,1))return s={range:a};let l=a.from,c=r.lineAt(l),h=am(n.resolveInner(l,-1),r);for(;h.length&&h[h.length-1].from>l-c.from;)h.pop();if(!h.length)return s={range:a};let f=h[h.length-1];if(f.to-f.spaceAfter.length>l-c.from)return s={range:a};let u=l>=f.to-f.spaceAfter.length&&!/\S/.test(c.text.slice(f.to));if(f.item&&u){let g=f.node.firstChild,Q=f.node.getChild("ListItem","ListItem");if(g.to>=l||Q&&Q.to0&&!/[^\s>]/.test(r.lineAt(c.from-1).text)||i.nonTightLists===!1){let S=h.length>1?h[h.length-2]:null,x,P="";S&&S.item?(x=c.from+S.from,P=S.marker(r,1)):x=c.from+(S?S.to:0);let $=[{from:x,to:l,insert:P}];return f.node.name=="OrderedList"&&zc(f.item,r,$,-2),S&&S.node.name=="OrderedList"&&zc(S.item,r,$),{range:v.cursor(x+P.length),changes:$}}else{let S=nm(h,e,c);return{range:v.cursor(l+S.length+1),changes:{from:c.from,insert:S+e.lineBreak}}}}if(f.node.name=="Blockquote"&&u&&c.from){let g=r.lineAt(c.from-1),Q=/>\s*$/.exec(g.text);if(Q&&Q.index==f.from){let S=e.changes([{from:g.from+Q.index,to:g.to},{from:c.from+f.from,to:c.to}]);return{range:a.map(S),changes:S}}}let O=[];f.node.name=="OrderedList"&&zc(f.item,r,O);let p=f.item&&f.item.from]*/.exec(c.text)[0].length>=f.to)for(let g=0,Q=h.length-1;g<=Q;g++)m+=g==Q&&!p?h[g].marker(r,1):h[g].blank(gc.from&&/\s/.test(c.text.charAt(b-c.from-1));)b--;return m=jc(m,e),X1(f.node,e.doc)&&(m=nm(h,e,c)+e.lineBreak+m),O.push({from:b,to:l,insert:e.lineBreak+m}),{range:v.cursor(b+m.length+1),changes:O}});return s?!1:(t(e.update(o,{scrollIntoView:!0,userEvent:"input"})),!0)},C1=T1();function im(i){return i.name=="QuoteMark"||i.name=="ListMark"}function X1(i,e){if(i.name!="OrderedList"&&i.name!="BulletList")return!1;let t=i.firstChild,n=i.getChild("ListItem","ListItem");if(!n)return!1;let r=e.lineAt(t.to),s=e.lineAt(n.from),o=/^[\s>]*$/.test(r.text);return r.number+(o?0:1){let t=B(i),n=null,r=i.changeByRange(s=>{let o=s.from,{doc:a}=i;if(s.empty&&bi.isActiveAt(i,s.from)){let l=a.lineAt(o),c=am(_1(t,o),a);if(c.length){let h=c[c.length-1],f=h.to-h.spaceAfter.length+(h.spaceAfter?1:0);if(o-l.from>f&&!/\S/.test(l.text.slice(f,o-l.from)))return{range:v.cursor(l.from+f),changes:{from:l.from+f,to:o}};if(o-l.from==f&&(!h.item||l.from<=h.item.from||!/\S/.test(l.text.slice(0,h.to)))){let u=l.from+h.from;if(h.item&&h.node.from{var t;let{main:n}=e.state.selection;if(n.empty)return!1;let r=(t=i.clipboardData)===null||t===void 0?void 0:t.getData("text/plain");if(!r||!/^(https?:\/\/|mailto:|xmpp:|www\.)/.test(r)||(/^www\./.test(r)&&(r="https://"+r),!bi.isActiveAt(e.state,n.from,1)))return!1;let s=B(e.state),o=!1;return s.iterate({from:n.from,to:n.to,enter:a=>{(a.from>n.from||q1.test(a.name))&&(o=!0)},leave:a=>{a.to{if(i.next==-1&&e.canShift(hm))return i.acceptToken(hm);let t=i.peek(-1);if((Gt(t)||t<0)&&e.context.type!=Xr){if(Xn(i,45))if(e.canShift(Cn))i.acceptToken(Cn);else return i.acceptToken(z1,3);if(Xn(i,46))if(e.canShift(Cn))i.acceptToken(Cn);else return i.acceptToken(L1,3);let n=0;for(;i.next==32;)n++,i.advance();(n{if(e.context.type==Xr){i.next==63&&(i.advance(),Ui(i.next)&&i.acceptToken(j1));return}if(i.next==45)i.advance(),Ui(i.next)&&i.acceptToken(e.context.type==Nc&&e.context.depth==Cr(i,i.pos-1)?M1:Om);else if(i.next==63)i.advance(),Ui(i.next)&&i.acceptToken(e.context.type==Ic&&e.context.depth==Cr(i,i.pos-1)?W1:dm);else{let t=i.pos;for(;;)if(Uc(i.next)){if(i.pos==t)return;i.advance()}else if(i.next==33)Qm(i);else if(i.next==38)Gc(i);else if(i.next==42){Gc(i);break}else if(i.next==39||i.next==34){if(Fc(i,!0))break;return}else if(i.next==91||i.next==123){if(!sx(i))return;break}else{bm(i,!0,!1,0);break}for(;Uc(i.next);)i.advance();if(i.next==58){if(i.pos==t&&e.canShift(F1))return;let n=i.peek(1);Ui(n)&&i.acceptTokenTo(e.context.type==Ic&&e.context.depth==Cr(i,t)?V1:pm,t)}}},{contextual:!0});function rx(i){return i>32&&i<127&&i!=34&&i!=37&&i!=44&&i!=60&&i!=62&&i!=92&&i!=94&&i!=96&&i!=123&&i!=124&&i!=125}function fm(i){return i>=48&&i<=57||i>=97&&i<=102||i>=65&&i<=70}function um(i,e){return i.next==37?(i.advance(),fm(i.next)&&i.advance(),fm(i.next)&&i.advance(),!0):rx(i.next)||e&&i.next==44?(i.advance(),!0):!1}function Qm(i){if(i.advance(),i.next==60){for(i.advance();;)if(!um(i,!0)){i.next==62&&i.advance();break}}else for(;um(i,!1););}function Gc(i){for(i.advance();!Ui(i.next)&&lo(i.next)!="f";)i.advance()}function Fc(i,e){let t=i.next,n=!1,r=i.pos;for(i.advance();;){let s=i.next;if(s<0)break;if(i.advance(),s==t)if(s==39)if(i.next==39)i.advance();else break;else break;else if(s==92&&t==34)i.next>=0&&i.advance();else if(Gt(s)){if(e)return!1;n=!0}else if(e&&i.pos>=r+1024)return!1}return!n}function sx(i){for(let e=[],t=i.pos+1024;;)if(i.next==91||i.next==123)e.push(i.next),i.advance();else if(i.next==39||i.next==34){if(!Fc(i,!0))return!1}else if(i.next==93||i.next==125){if(e[e.length-1]!=i.next-2)return!1;if(e.pop(),i.advance(),!e.length)return!0}else{if(i.next<0||i.pos>t||Gt(i.next))return!1;i.advance()}}var ox="iiisiiissisfissssssssssssisssiiissssssssssssssssssssssssssfsfssissssssssssssssssssssssssssfif";function lo(i){return i<33?"u":i>125?"s":ox[i-33]}function Yc(i,e){let t=lo(i);return t!="u"&&!(e&&t=="f")}function bm(i,e,t,n){if(lo(i.next)=="s"||(i.next==63||i.next==58||i.next==45)&&Yc(i.peek(1),t))i.advance();else return!1;let r=i.pos;for(;;){let s=i.next,o=0,a=n+1;for(;gm(s);){if(Gt(s)){if(e)return!1;a=0}else a++;s=i.peek(++o)}if(!(s>=0&&(s==58?Yc(i.peek(o+1),t):s==35?i.peek(o-1)!=32:Yc(s,t)))||!t&&a<=n||a==0&&!t&&(Xn(i,45,o)||Xn(i,46,o)))break;if(e&&lo(s)=="f")return!1;for(let c=o;c>=0;c--)i.advance();if(e&&i.pos>r+1024)return!1}return!0}var ax=new K((i,e)=>{if(i.next==33)Qm(i),i.acceptToken(U1);else if(i.next==38||i.next==42){let t=i.next==38?I1:B1;Gc(i),i.acceptToken(t)}else i.next==39||i.next==34?(Fc(i,!1),i.acceptToken(Y1)):bm(i,!1,e.context.type==Xr,e.context.depth)&&i.acceptToken(D1)}),lx=new K((i,e)=>{let t=e.context.type==Bc?e.context.depth:-1,n=i.pos;e:for(;;){let r=0,s=i.next;for(;s==32;)s=i.peek(++r);if(!r&&(Xn(i,45,r)||Xn(i,46,r))||!Gt(s)&&(t<0&&(t=Math.max(e.context.depth+1,r)),rYAN>Y",stateData:";S~O!fOS!gOS^OS~OP_OQbORSOTUOWROXROYYOZZO[XOcPOqQO!PVO!V[O!cTO~O`cO~P]OVkOWROXROYeOZfO[dOcPOmhOqQO~OboO~P!bOVtOWROXROYeOZfO[dOcPOmrOqQO~OpwO~P#WORSOTUOWROXROYYOZZO[XOcPOqQO!PVO!cTO~OSvP!avP!bvP~P#|OWROXROYeOZfO[dOcPOqQO~OmzO~P%OOm!OOUzP!azP!bzP!dzP~P#|O^!SO!b!QO!f!TO!g!RO~ORSOTUOWROXROcPOqQO!PVO!cTO~OY!UOP!QXQ!QX!V!QX!`!QXS!QX!a!QX!b!QXU!QXm!QX!d!QX~P&aO[!WOP!SXQ!SX!V!SX!`!SXS!SX!a!SX!b!SXU!SXm!SX!d!SX~P&aO^!ZO!W![O!b!YO!f!]O!g!YO~OP!_O!V[OQaX!`aX~OPaXQaX!VaX!`aX~P#|OP!bOQ!cO!V[O~OP_O!V[O~P#|OWROXROY!fOcPOqQObfXmfXofXpfX~OWROXRO[!hOcPOqQObhXmhXohXphX~ObeXmlXoeX~ObkXokX~P%OOm!kO~Om!lObnPonP~P%OOb!pOo!oO~Ob!pO~P!bOm!sOosXpsX~OosXpsX~P%OOm!uOotPptP~P%OOo!xOp!yO~Op!yO~P#WOS!|O!a#OO!b#OO~OUyX!ayX!byX!dyX~P#|Om#QO~OU#SO!a#UO!b#UO!d#RO~Om#WOUzX!azX!bzX!dzX~O]#XO~O!b#XO!g#YO~O^#ZO!b#XO!g#YO~OP!RXQ!RX!V!RX!`!RXS!RX!a!RX!b!RXU!RXm!RX!d!RX~P&aOP!TXQ!TX!V!TX!`!TXS!TX!a!TX!b!TXU!TXm!TX!d!TX~P&aO!b#^O!g#^O~O^#_O!b#^O!f#`O!g#^O~O^#_O!W#aO!b#^O!g#^O~OPaaQaa!Vaa!`aa~P#|OP#cO!V[OQ!XX!`!XX~OP!XXQ!XX!V!XX!`!XX~P#|OP_O!V[OQ!_X!`!_X~P#|OWROXROcPOqQObgXmgXogXpgX~OWROXROcPOqQObiXmiXoiXpiX~Obkaoka~P%OObnXonX~P%OOm#kO~Ob#lOo!oO~Oosapsa~P%OOotXptX~P%OOm#pO~Oo!xOp#qO~OSwP!awP!bwP~P#|OS!|O!a#vO!b#vO~OUya!aya!bya!dya~P#|Om#xO~P%OOm#{OU}P!a}P!b}P!d}P~P#|OU#SO!a$OO!b$OO!d#RO~O]$QO~O!b$QO!g$RO~O!b$SO!g$SO~O^$TO!b$SO!g$SO~O^$TO!b$SO!f$UO!g$SO~OP!XaQ!Xa!V!Xa!`!Xa~P#|Obnaona~P%OOotapta~P%OOo!xO~OU|X!a|X!b|X!d|X~P#|Om$ZO~Om$]OU}X!a}X!b}X!d}X~O]$^O~O!b$_O!g$_O~O^$`O!b$_O!g$_O~OU|a!a|a!b|a!d|a~P#|O!b$cO!g$cO~O",goto:",]!mPPPPPPPPPPPPPPPPP!nPP!v#v#|$`#|$c$f$j$nP%VPPP!v%Y%^%a%{&O%a&R&U&X&_&b%aP&e&{&e'O'RPP']'a'g'm's'y(XPPPPPPPP(_)e*X+c,VUaObcR#e!c!{ROPQSTUXY_bcdehknrtvz!O!U!W!_!b!c!f!h!k!l!s!u!|#Q#R#S#W#c#k#p#x#{$Z$]QmPR!qnqfPQThknrtv!k!l!s!u#R#k#pR!gdR!ieTlPnTjPnSiPnSqQvQ{TQ!mkQ!trQ!vtR#y#RR!nkTsQvR!wt!RWOSUXY_bcz!O!U!W!_!b!c!|#Q#S#W#c#x#{$Z$]RySR#t!|R|TR|UQ!PUR#|#SR#z#RR#z#SyZOSU_bcz!O!_!b!c!|#Q#S#W#c#x#{$Z$]R!VXR!XYa]O^abc!a!c!eT!da!eQnPR!rnQvQR!{vQ!}yR#u!}Q#T|R#}#TW^Obc!cS!^^!aT!aa!eQ!eaR#f!eW`Obc!cQxSS}U#SQ!`_Q#PzQ#V!OQ#b!_Q#d!bQ#s!|Q#w#QQ$P#WQ$V#cQ$Y#xQ$[#{Q$a$ZR$b$]xZOSU_bcz!O!_!b!c!|#Q#S#W#c#x#{$Z$]Q!VXQ!XYQ#[!UR#]!W!QWOSUXY_bcz!O!U!W!_!b!c!|#Q#S#W#c#x#{$Z$]pfPQThknrtv!k!l!s!u#R#k#pQ!gdQ!ieQ#g!fR#h!hSgPn^pQTkrtv#RQ!jhQ#i!kQ#j!lQ#n!sQ#o!uQ$W#kR$X#pQuQR!zv",nodeNames:"\u26A0 DirectiveEnd DocEnd - - ? ? ? Literal QuotedLiteral Anchor Alias Tag BlockLiteralContent Comment Stream BOM Document ] [ FlowSequence Item Tagged Anchored Anchored Tagged FlowMapping Pair Key : Pair , } { FlowMapping Pair Pair BlockSequence Item Item BlockMapping Pair Pair Key Pair Pair BlockLiteral BlockLiteralHeader Tagged Anchored Anchored Tagged Directive DirectiveName DirectiveContent Document",maxTerm:74,context:tx,nodeProps:[["isolate",-3,8,9,14,""],["openedBy",18,"[",32,"{"],["closedBy",19,"]",33,"}"]],propSources:[cx],skippedNodes:[0],repeatNodeCount:6,tokenData:"-Y~RnOX#PXY$QYZ$]Z]#P]^$]^p#Ppq$Qqs#Pst$btu#Puv$yv|#P|}&e}![#P![!]'O!]!`#P!`!a'i!a!}#P!}#O*g#O#P#P#P#Q+Q#Q#o#P#o#p+k#p#q'i#q#r,U#r;'S#P;'S;=`#z<%l?HT#P?HT?HU,o?HUO#PQ#UU!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PQ#kTOY#PZs#Pt;'S#P;'S;=`#z<%lO#PQ#}P;=`<%l#P~$VQ!f~XY$Qpq$Q~$bO!g~~$gS^~OY$bZ;'S$b;'S;=`$s<%lO$b~$vP;=`<%l$bR%OX!WQOX%kXY#PZ]%k]^#P^p%kpq#hq;'S%k;'S;=`&_<%lO%kR%rX!WQ!VPOX%kXY#PZ]%k]^#P^p%kpq#hq;'S%k;'S;=`&_<%lO%kR&bP;=`<%l%kR&lUoP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR'VUmP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR'p[!PP!WQOY#PZp#Ppq#hq{#P{|(f|}#P}!O(f!O!R#P!R![)p![;'S#P;'S;=`#z<%lO#PR(mW!PP!WQOY#PZp#Ppq#hq!R#P!R![)V![;'S#P;'S;=`#z<%lO#PR)^U!PP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR)wY!PP!WQOY#PZp#Ppq#hq{#P{|)V|}#P}!O)V!O;'S#P;'S;=`#z<%lO#PR*nUcP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR+XUbP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR+rUqP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR,]UpP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR,vU`P!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#P",tokenizers:[ix,nx,ax,lx,0,1],topRules:{Stream:[0,15]},tokenPrec:0});var hx=Pe.deserialize({version:14,states:"!vOQOPOOO]OPO'#C_OhOPO'#C^OOOO'#Cc'#CcOpOPO'#CaQOOOOOO{OPOOOOOO'#Cb'#CbO!WOPO'#C`O!`OPO,58xOOOO-E6a-E6aOOOO-E6`-E6`OOOO'#C_'#C_OOOO1G.d1G.d",stateData:"!h~OXPOYROWTP~OWVXXRXYRX~OYVOXSP~OXROYROWTX~OXROYROWTP~OYVOXSX~OX[O~OXY~",goto:"vWPPX[beioRUOQQOR]XRXQTTOUQWQRZWSSOURYS",nodeNames:"\u26A0 Document Frontmatter DashLine FrontmatterContent Body",maxTerm:10,skippedNodes:[0],repeatNodeCount:2,tokenData:"$z~RXOYnYZ!^Z]n]^!^^}n}!O!i!O;'Sn;'S;=`!c<%lOn~qXOYnYZ!^Z]n]^!^^;'Sn;'S;=`!c<%l~n~On~~!^~!cOY~~!fP;=`<%ln~!lZOYnYZ!^Z]n]^!^^}n}!O#_!O;'Sn;'S;=`!c<%l~n~On~~!^~#bZOYnYZ!^Z]n]^!^^}n}!O$T!O;'Sn;'S;=`!c<%l~n~On~~!^~$WXOYnYZ$sZ]n]^$s^;'Sn;'S;=`!c<%l~n~On~~$s~$zOX~Y~",tokenizers:[0],topRules:{Document:[0,1]},tokenPrec:67}),fx=ve.define({name:"yaml",parser:Sm.configure({props:[we.add({Stream:i=>{for(let e=i.node.resolve(i.pos,-1);e&&e.to>=i.pos;e=e.parent){if(e.name=="BlockLiteralContent"&&e.fromi.pos)return null}}return null},FlowMapping:St({closing:"}"}),FlowSequence:St({closing:"]"})}),$e.add({"FlowMapping FlowSequence":ct,"Item Pair BlockLiteral":(i,e)=>({from:e.doc.lineAt(i.from).to,to:i.to})})]}),languageData:{commentTokens:{line:"#"},indentOnInput:/^\s*[\]\}]$/}});var ux=ve.define({name:"yaml-frontmatter",parser:hx.configure({props:[ge({DashLine:d.meta})]})});function ym(i){let{language:e,support:t}=i.content instanceof pe?i.content:{language:i.content,support:[]};return new pe(ux.configure({wrap:bn(n=>n.name=="FrontmatterContent"?{parser:fx.parser}:n.name=="Body"?{parser:e.parser}:null)}),t)}var Ox=1,$m=194,Tm=195,dx=196,km=197,px=198,mx=199,gx=200,Qx=2,Cm=3,xm=201,bx=24,Sx=25,yx=49,kx=50,xx=55,wx=56,Px=57,vx=59,$x=60,Tx=61,Cx=62,Xx=63,_x=65,Rx=238,Ax=71,Zx=241,qx=242,Ex=243,zx=244,Lx=245,Mx=246,Wx=247,jx=248,Xm=72,Vx=249,Dx=250,Yx=251,Ix=252,Bx=253,Ux=254,Gx=255,Nx=256,Fx=73,Hx=77,Kx=263,Jx=112,ew=130,tw=151,iw=152,nw=155,Gi=10,_r=13,eh=32,fo=9,th=35,rw=40,sw=46,Jc=123,wm=125,_m=39,Rm=34,Pm=92,ow=111,aw=120,lw=78,cw=117,hw=85,fw=new Set([Sx,yx,kx,Kx,_x,ew,wx,Px,Rx,Cx,Xx,Xm,Fx,Hx,$x,Tx,tw,iw,nw,Jx]);function Hc(i){return i==Gi||i==_r}function Kc(i){return i>=48&&i<=57||i>=65&&i<=70||i>=97&&i<=102}var uw=new K((i,e)=>{let t;if(i.next<0)i.acceptToken(mx);else if(e.context.flags&co)Hc(i.next)&&i.acceptToken(px,1);else if(((t=i.peek(-1))<0||Hc(t))&&e.canShift(km)){let n=0;for(;i.next==eh||i.next==fo;)i.advance(),n++;(i.next==Gi||i.next==_r||i.next==th)&&i.acceptToken(km,-n)}else Hc(i.next)&&i.acceptToken(dx,1)},{contextual:!0}),Ow=new K((i,e)=>{let t=e.context;if(t.flags)return;let n=i.peek(-1);if(n==Gi||n==_r){let r=0,s=0;for(;;){if(i.next==eh)r++;else if(i.next==fo)r+=8-r%8;else break;i.advance(),s++}r!=t.indent&&i.next!=Gi&&i.next!=_r&&i.next!=th&&(r[i,e|Am])),mw=new Ot({start:dw,reduce(i,e,t,n){return i.flags&co&&fw.has(e)||(e==Ax||e==Xm)&&i.flags&Am?i.parent:i},shift(i,e,t,n){return e==$m?new ho(i,pw(n.read(n.pos,t.pos)),0):e==Tm?i.parent:e==bx||e==xx||e==vx||e==Cm?new ho(i,0,co):vm.has(e)?new ho(i,0,vm.get(e)|i.flags&co):i},hash(i){return i.hash}}),gw=new K(i=>{for(let e=0;e<5;e++){if(i.next!="print".charCodeAt(e))return;i.advance()}if(!/\w/.test(String.fromCharCode(i.next)))for(let e=0;;e++){let t=i.peek(e);if(!(t==eh||t==fo)){t!=rw&&t!=sw&&t!=Gi&&t!=_r&&t!=th&&i.acceptToken(Ox);return}}}),Qw=new K((i,e)=>{let{flags:t}=e.context,n=t&Nt?Rm:_m,r=(t&Ft)>0,s=!(t&Ht),o=(t&Kt)>0,a=i.pos;for(;!(i.next<0);)if(o&&i.next==Jc)if(i.peek(1)==Jc)i.advance(2);else{if(i.pos==a){i.acceptToken(Cm,1);return}break}else if(s&&i.next==Pm){if(i.pos==a){i.advance();let l=i.next;l>=0&&(i.advance(),bw(i,l)),i.acceptToken(Qx);return}break}else if(i.next==Pm&&!s&&i.peek(1)>-1)i.advance(2);else if(i.next==n&&(!r||i.peek(1)==n&&i.peek(2)==n)){if(i.pos==a){i.acceptToken(xm,r?3:1);return}break}else if(i.next==Gi){if(r)i.advance();else if(i.pos==a){i.acceptToken(xm);return}break}else i.advance();i.pos>a&&i.acceptToken(gx)});function bw(i,e){if(e==ow)for(let t=0;t<2&&i.next>=48&&i.next<=55;t++)i.advance();else if(e==aw)for(let t=0;t<2&&Kc(i.next);t++)i.advance();else if(e==cw)for(let t=0;t<4&&Kc(i.next);t++)i.advance();else if(e==hw)for(let t=0;t<8&&Kc(i.next);t++)i.advance();else if(e==lw&&i.next==Jc){for(i.advance();i.next>=0&&i.next!=wm&&i.next!=_m&&i.next!=Rm&&i.next!=Gi;)i.advance();i.next==wm&&i.advance()}}var Sw=ge({'async "*" "**" FormatConversion FormatSpec':d.modifier,"for while if elif else try except finally return raise break continue with pass assert await yield match case":d.controlKeyword,"in not and or is del":d.operatorKeyword,"from def class global nonlocal lambda":d.definitionKeyword,import:d.moduleKeyword,"with as print":d.keyword,Boolean:d.bool,None:d.null,VariableName:d.variableName,"CallExpression/VariableName":d.function(d.variableName),"FunctionDefinition/VariableName":d.function(d.definition(d.variableName)),"ClassDefinition/VariableName":d.definition(d.className),PropertyName:d.propertyName,"CallExpression/MemberExpression/PropertyName":d.function(d.propertyName),Comment:d.lineComment,Number:d.number,String:d.string,FormatString:d.special(d.string),Escape:d.escape,UpdateOp:d.updateOperator,"ArithOp!":d.arithmeticOperator,BitOp:d.bitwiseOperator,CompareOp:d.compareOperator,AssignOp:d.definitionOperator,Ellipsis:d.punctuation,At:d.meta,"( )":d.paren,"[ ]":d.squareBracket,"{ }":d.brace,".":d.derefOperator,", ;":d.separator}),yw={__proto__:null,await:44,or:54,and:56,in:60,not:62,is:64,if:70,else:72,lambda:76,yield:94,from:96,async:102,for:104,None:162,True:164,False:164,del:178,pass:182,break:186,continue:190,return:194,raise:202,import:206,as:208,global:212,nonlocal:214,assert:218,type:223,elif:236,while:240,try:246,except:248,finally:250,with:254,def:258,class:268,match:279,case:285},Zm=Pe.deserialize({version:14,states:"##jQ`QeOOP$}OSOOO&WQtO'#HUOOQS'#Co'#CoOOQS'#Cp'#CpO'vQdO'#CnO*UQtO'#HTOOQS'#HU'#HUOOQS'#DU'#DUOOQS'#HT'#HTO*rQdO'#D_O+VQdO'#DfO+gQdO'#DjO+zOWO'#DuO,VOWO'#DvO.[QtO'#GuOOQS'#Gu'#GuO'vQdO'#GtO0ZQtO'#GtOOQS'#Eb'#EbO0rQdO'#EcOOQS'#Gs'#GsO0|QdO'#GrOOQV'#Gr'#GrO1XQdO'#FYOOQS'#G^'#G^O1^QdO'#FXOOQV'#IS'#ISOOQV'#Gq'#GqOOQV'#Fq'#FqQ`QeOOO'vQdO'#CqO1lQdO'#C}O1sQdO'#DRO2RQdO'#HYO2cQtO'#EVO'vQdO'#EWOOQS'#EY'#EYOOQS'#E['#E[OOQS'#E^'#E^O2wQdO'#E`O3_QdO'#EdO3rQdO'#EfO3zQtO'#EfO1XQdO'#EiO0rQdO'#ElO1XQdO'#EnO0rQdO'#EtO0rQdO'#EwO4VQdO'#EyO4^QdO'#FOO4iQdO'#EzO0rQdO'#FOO1XQdO'#FQO1XQdO'#FVO4nQdO'#F[P4uOdO'#GpPOOO)CBd)CBdOOQS'#Ce'#CeOOQS'#Cf'#CfOOQS'#Cg'#CgOOQS'#Ch'#ChOOQS'#Ci'#CiOOQS'#Cj'#CjOOQS'#Cl'#ClO'vQdO,59OO'vQdO,59OO'vQdO,59OO'vQdO,59OO'vQdO,59OO'vQdO,59OO5TQdO'#DoOOQS,5:Y,5:YO5hQdO'#HdOOQS,5:],5:]O5uQ!fO,5:]O5zQtO,59YO1lQdO,59bO1lQdO,59bO1lQdO,59bO8jQdO,59bO8oQdO,59bO8vQdO,59jO8}QdO'#HTO:TQdO'#HSOOQS'#HS'#HSOOQS'#D['#D[O:lQdO,59aO'vQdO,59aO:zQdO,59aOOQS,59y,59yO;PQdO,5:RO'vQdO,5:ROOQS,5:Q,5:QO;_QdO,5:QO;dQdO,5:XO'vQdO,5:XO'vQdO,5:VOOQS,5:U,5:UO;uQdO,5:UO;zQdO,5:WOOOW'#Fy'#FyOOOOQS'#Ds'#DsOOQS1G/w1G/wOOQS1G.|1G.|O!/[QtO1G.|O!/cQtO1G.|O1lQdO1G.|O!0OQdO1G/UOOQS'#DZ'#DZO0rQdO,59tOOQS1G.{1G.{O!0VQdO1G/eO!0gQdO1G/eO!0oQdO1G/fO'vQdO'#H[O!0tQdO'#H[O!0yQtO1G.{O!1ZQdO,59iO!2aQdO,5=zO!2qQdO,5=zO!2yQdO1G/mO!3OQtO1G/mOOQS1G/l1G/lO!3`QdO,5=uO!4VQdO,5=uO0rQdO1G/qO!4tQdO1G/sO!4yQtO1G/sO!5ZQtO1G/qOOQS1G/p1G/pOOQS1G/r1G/rOOOW-E9w-E9wOOQS1G/{1G/{O!5kQdO'#HxO0rQdO'#HxO!5|QdO,5>cOOOW-E9x-E9xOOQS1G/|1G/|OOQS-E9{-E9{O!6[Q#xO1G2zO!6{QtO1G2zO'vQdO,5kOOQS1G1`1G1`O!8RQdO1G1`OOQS'#DV'#DVO0rQdO,5=qOOQS,5=q,5=qO!8WQdO'#FrO!8cQdO,59oO!8kQdO1G/XO!8uQtO,5=uOOQS1G3`1G3`OOQS,5:m,5:mO!9fQdO'#GtOOQS,5jO!;ZQdO,5>jO1XQdO,5>jO!;lQdO,5>iOOQS-E:R-E:RO!;qQdO1G0lO!;|QdO1G0lO!lO!lO!hO!=VQdO,5>hO!=hQdO'#EpO0rQdO1G0tO!=sQdO1G0tO!=xQgO1G0zO!AvQgO1G0}O!EqQdO,5>oO!E{QdO,5>oO!FTQtO,5>oO0rQdO1G1PO!F_QdO1G1PO4iQdO1G1UO!!vQdO1G1WOOQV,5;a,5;aO!FdQfO,5;aO!FiQgO1G1QO!JjQdO'#GZO4iQdO1G1QO4iQdO1G1QO!JzQdO,5>pO!KXQdO,5>pO1XQdO,5>pOOQV1G1U1G1UO!KaQdO'#FSO!KrQ!fO1G1WO!KzQdO1G1WOOQV1G1]1G1]O4iQdO1G1]O!LPQdO1G1]O!LXQdO'#F^OOQV1G1b1G1bO!#ZQtO1G1bPOOO1G2v1G2vP!L^OSO1G2vOOQS,5=},5=}OOQS'#Dp'#DpO0rQdO,5=}O!LfQdO,5=|O!LyQdO,5=|OOQS1G/u1G/uO!MRQdO,5>PO!McQdO,5>PO!MkQdO,5>PO!NOQdO,5>PO!N`QdO,5>POOQS1G3j1G3jOOQS7+$h7+$hO!8kQdO7+$pO#!RQdO1G.|O#!YQdO1G.|OOQS1G/`1G/`OOQS,5<`,5<`O'vQdO,5<`OOQS7+%P7+%PO#!aQdO7+%POOQS-E9r-E9rOOQS7+%Q7+%QO#!qQdO,5=vO'vQdO,5=vOOQS7+$g7+$gO#!vQdO7+%PO##OQdO7+%QO##TQdO1G3fOOQS7+%X7+%XO##eQdO1G3fO##mQdO7+%XOOQS,5<_,5<_O'vQdO,5<_O##rQdO1G3aOOQS-E9q-E9qO#$iQdO7+%]OOQS7+%_7+%_O#$wQdO1G3aO#%fQdO7+%_O#%kQdO1G3gO#%{QdO1G3gO#&TQdO7+%]O#&YQdO,5>dO#&sQdO,5>dO#&sQdO,5>dOOQS'#Dx'#DxO#'UO&jO'#DzO#'aO`O'#HyOOOW1G3}1G3}O#'fQdO1G3}O#'nQdO1G3}O#'yQ#xO7+(fO#(jQtO1G2UP#)TQdO'#GOOOQS,5nQdO,5sQdO1G4OOOQS-E9y-E9yO#?^QdO1G4OO<[QdO'#H{OOOO'#D{'#D{OOOO'#F|'#F|O#?oO&jO,5:fOOOW,5>e,5>eOOOW7+)i7+)iO#?zQdO7+)iO#@SQdO1G2zO#@mQdO1G2zP'vQdO'#FuO0rQdO<mO#BQQdO,5>mOOQS1G0v1G0vOOQS<rO#KgQdO,5>rO#KrQdO,5>rO#K}QdO,5>qO#L`QdO,5>qOOQS1G1Y1G1YOOQS,5;p,5;pOOQV<VAN>VO$ oQdO<cAN>cO0rQdO1G1|O$!PQtO1G1|P$!ZQdO'#FvOOQS1G2R1G2RP$!hQdO'#F{O$!uQdO7+)jO$#`QdO,5>gOOOO-E9z-E9zOOOW<tO$4{QdO,5>tO1XQdO,5vO$)nQdO,5>vOOQS1G1p1G1pOOQS,5<[,5<[OOQU7+'P7+'PO$+zQdO1G/iO$)nQdO,5wO$8zQdO,5>wOOQS1G1s1G1sOOQS7+'S7+'SP$)nQdO'#GdO$9SQdO1G4bO$9^QdO1G4bO$9fQdO1G4bOOQS7+%T7+%TO$9tQdO1G1tO$:SQtO'#FaO$:ZQdO,5<}OOQS,5<},5<}O$:iQdO1G4cOOQS-E:a-E:aO$)nQdO,5<|O$:pQdO,5<|O$:uQdO7+)|OOQS-E:`-E:`O$;PQdO7+)|O$)nQdO,5S~O%cOS%^OSSOS%]PQ~OPdOVaOfoOhYOopOs!POvqO!PrO!Q{O!T!SO!U!RO!XZO!][O!h`O!r`O!s`O!t`O!{tO!}uO#PvO#RwO#TxO#XyO#ZzO#^|O#_|O#a}O#c!OO#l!QO#o!TO#s!UO#u!VO#z!WO#}hO$P!XO%oRO%pRO%tSO%uWO&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O&c^O&d^O&e^O&f^O&g^O&h^O&i^O&j^O~O%]!YO~OV!aO_!aOa!bOh!iO!X!kO!f!mO%j![O%k!]O%l!^O%m!_O%n!_O%o!`O%p!`O%q!aO%r!aO%s!aO~Ok%xXl%xXm%xXn%xXo%xXp%xXs%xXz%xX{%xX!x%xX#g%xX%[%xX%_%xX%z%xXg%xX!T%xX!U%xX%{%xX!W%xX![%xX!Q%xX#[%xXt%xX!m%xX~P%SOfoOhYO!XZO!][O!h`O!r`O!s`O!t`O%oRO%pRO%tSO%uWO&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O&c^O&d^O&e^O&f^O&g^O&h^O&i^O&j^O~Oz%wX{%wX#g%wX%[%wX%_%wX%z%wX~Ok!pOl!qOm!oOn!oOo!rOp!sOs!tO!x%wX~P)pOV!zOg!|Oo0cOv0qO!PrO~P'vOV#OOo0cOv0qO!W#PO~P'vOV#SOa#TOo0cOv0qO![#UO~P'vOQ#XO%`#XO%a#ZO~OQ#^OR#[O%`#^O%a#`O~OV%iX_%iXa%iXh%iXk%iXl%iXm%iXn%iXo%iXp%iXs%iXz%iX!X%iX!f%iX%j%iX%k%iX%l%iX%m%iX%n%iX%o%iX%p%iX%q%iX%r%iX%s%iXg%iX!T%iX!U%iX~O&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O&c^O&d^O&e^O&f^O&g^O&h^O&i^O&j^O{%iX!x%iX#g%iX%[%iX%_%iX%z%iX%{%iX!W%iX![%iX!Q%iX#[%iXt%iX!m%iX~P,eOz#dO{%hX!x%hX#g%hX%[%hX%_%hX%z%hX~Oo0cOv0qO~P'vO#g#gO%[#iO%_#iO~O%uWO~O!T#nO#u!VO#z!WO#}hO~OopO~P'vOV#sOa#tO%uWO{wP~OV#xOo0cOv0qO!Q#yO~P'vO{#{O!x$QO%z#|O#g!yX%[!yX%_!yX~OV#xOo0cOv0qO#g#SX%[#SX%_#SX~P'vOo0cOv0qO#g#WX%[#WX%_#WX~P'vOh$WO%uWO~O!f$YO!r$YO%uWO~OV$eO~P'vO!U$gO#s$hO#u$iO~O{$jO~OV$qO~P'vOS$sO%[$rO%_$rO%c$tO~OV$}Oa$}Og%POo0cOv0qO~P'vOo0cOv0qO{%SO~P'vO&Y%UO~Oa!bOh!iO!X!kO!f!mOVba_bakbalbambanbaobapbasbazba{ba!xba#gba%[ba%_ba%jba%kba%lba%mba%nba%oba%pba%qba%rba%sba%zbagba!Tba!Uba%{ba!Wba![ba!Qba#[batba!mba~On%ZO~Oo%ZO~P'vOo0cO~P'vOk0eOl0fOm0dOn0dOo0mOp0nOs0rOg%wX!T%wX!U%wX%{%wX!W%wX![%wX!Q%wX#[%wX!m%wX~P)pO%{%]Og%vXz%vX!T%vX!U%vX!W%vX{%vX~Og%_Oz%`O!T%dO!U%cO~Og%_O~Oz%gO!T%dO!U%cO!W&SX~O!W%kO~Oz%lO{%nO!T%dO!U%cO![%}X~O![%rO~O![%sO~OQ#XO%`#XO%a%uO~OV%wOo0cOv0qO!PrO~P'vOQ#^OR#[O%`#^O%a%zO~OV!qa_!qaa!qah!qak!qal!qam!qan!qao!qap!qas!qaz!qa{!qa!X!qa!f!qa!x!qa#g!qa%[!qa%_!qa%j!qa%k!qa%l!qa%m!qa%n!qa%o!qa%p!qa%q!qa%r!qa%s!qa%z!qag!qa!T!qa!U!qa%{!qa!W!qa![!qa!Q!qa#[!qat!qa!m!qa~P#yOz%|O{%ha!x%ha#g%ha%[%ha%_%ha%z%ha~P%SOV&OOopOvqO{%ha!x%ha#g%ha%[%ha%_%ha%z%ha~P'vOz%|O{%ha!x%ha#g%ha%[%ha%_%ha%z%ha~OPdOVaOopOvqO!PrO!Q{O!{tO!}uO#PvO#RwO#TxO#XyO#ZzO#^|O#_|O#a}O#c!OO#g$zX%[$zX%_$zX~P'vO#g#gO%[&TO%_&TO~O!f&UOh&sX%[&sXz&sX#[&sX#g&sX%_&sX#Z&sXg&sX~Oh!iO%[&WO~Okealeameaneaoeapeaseazea{ea!xea#gea%[ea%_ea%zeagea!Tea!Uea%{ea!Wea![ea!Qea#[eatea!mea~P%SOsqazqa{qa#gqa%[qa%_qa%zqa~Ok!pOl!qOm!oOn!oOo!rOp!sO!xqa~PEcO%z&YOz%yX{%yX~O%uWOz%yX{%yX~Oz&]O{wX~O{&_O~Oz%lO#g%}X%[%}X%_%}Xg%}X{%}X![%}X!m%}X%z%}X~OV0lOo0cOv0qO!PrO~P'vO%z#|O#gUa%[Ua%_Ua~Oz&hO#g&PX%[&PX%_&PXn&PX~P%SOz&kO!Q&jO#g#Wa%[#Wa%_#Wa~Oz&lO#[&nO#g&rX%[&rX%_&rXg&rX~O!f$YO!r$YO#Z&qO%uWO~O#Z&qO~Oz&sO#g&tX%[&tX%_&tX~Oz&uO#g&pX%[&pX%_&pX{&pX~O!X&wO%z&xO~Oz&|On&wX~P%SOn'PO~OPdOVaOopOvqO!PrO!Q{O!{tO!}uO#PvO#RwO#TxO#XyO#ZzO#^|O#_|O#a}O#c!OO%['UO~P'vOt'YO#p'WO#q'XOP#naV#naf#nah#nao#nas#nav#na!P#na!Q#na!T#na!U#na!X#na!]#na!h#na!r#na!s#na!t#na!{#na!}#na#P#na#R#na#T#na#X#na#Z#na#^#na#_#na#a#na#c#na#l#na#o#na#s#na#u#na#z#na#}#na$P#na%X#na%o#na%p#na%t#na%u#na&Z#na&[#na&]#na&^#na&_#na&`#na&a#na&b#na&c#na&d#na&e#na&f#na&g#na&h#na&i#na&j#na%Z#na%_#na~Oz'ZO#[']O{&xX~Oh'_O!X&wO~Oh!iO{$jO!X&wO~O{'eO~P%SO%['hO%_'hO~OS'iO%['hO%_'hO~OV!aO_!aOa!bOh!iO!X!kO!f!mO%l!^O%m!_O%n!_O%o!`O%p!`O%q!aO%r!aO%s!aOkWilWimWinWioWipWisWizWi{Wi!xWi#gWi%[Wi%_Wi%jWi%zWigWi!TWi!UWi%{Wi!WWi![Wi!QWi#[WitWi!mWi~O%k!]O~P!#uO%kWi~P!#uOV!aO_!aOa!bOh!iO!X!kO!f!mO%o!`O%p!`O%q!aO%r!aO%s!aOkWilWimWinWioWipWisWizWi{Wi!xWi#gWi%[Wi%_Wi%jWi%kWi%lWi%zWigWi!TWi!UWi%{Wi!WWi![Wi!QWi#[WitWi!mWi~O%m!_O%n!_O~P!&pO%mWi%nWi~P!&pOa!bOh!iO!X!kO!f!mOkWilWimWinWioWipWisWizWi{Wi!xWi#gWi%[Wi%_Wi%jWi%kWi%lWi%mWi%nWi%oWi%pWi%zWigWi!TWi!UWi%{Wi!WWi![Wi!QWi#[WitWi!mWi~OV!aO_!aO%q!aO%r!aO%s!aO~P!)nOVWi_Wi%qWi%rWi%sWi~P!)nO!T%dO!U%cOg&VXz&VX~O%z'kO%{'kO~P,eOz'mOg&UX~Og'oO~Oz'pO{'rO!W&XX~Oo0cOv0qOz'pO{'sO!W&XX~P'vO!W'uO~Om!oOn!oOo!rOp!sOkjisjizji{ji!xji#gji%[ji%_ji%zji~Ol!qO~P!.aOlji~P!.aOk0eOl0fOm0dOn0dOo0mOp0nO~Ot'wO~P!/jOV'|Og'}Oo0cOv0qO~P'vOg'}Oz(OO~Og(QO~O!U(SO~Og(TOz(OO!T%dO!U%cO~P%SOk0eOl0fOm0dOn0dOo0mOp0nOgqa!Tqa!Uqa%{qa!Wqa![qa!Qqa#[qatqa!mqa~PEcOV'|Oo0cOv0qO!W&Sa~P'vOz(WO!W&Sa~O!W(XO~Oz(WO!T%dO!U%cO!W&Sa~P%SOV(]Oo0cOv0qO![%}a#g%}a%[%}a%_%}ag%}a{%}a!m%}a%z%}a~P'vOz(^O![%}a#g%}a%[%}a%_%}ag%}a{%}a!m%}a%z%}a~O![(aO~Oz(^O!T%dO!U%cO![%}a~P%SOz(dO!T%dO!U%cO![&Ta~P%SOz(gO{&lX![&lX!m&lX%z&lX~O{(kO![(mO!m(nO%z(jO~OV&OOopOvqO{%hi!x%hi#g%hi%[%hi%_%hi%z%hi~P'vOz(pO{%hi!x%hi#g%hi%[%hi%_%hi%z%hi~O!f&UOh&sa%[&saz&sa#[&sa#g&sa%_&sa#Z&sag&sa~O%[(uO~OV#sOa#tO%uWO~Oz&]O{wa~OopOvqO~P'vOz(^O#g%}a%[%}a%_%}ag%}a{%}a![%}a!m%}a%z%}a~P%SOz(zO#g%hX%[%hX%_%hX%z%hX~O%z#|O#gUi%[Ui%_Ui~O#g&Pa%[&Pa%_&Pan&Pa~P'vOz(}O#g&Pa%[&Pa%_&Pan&Pa~O%uWO#g&ra%[&ra%_&rag&ra~Oz)SO#g&ra%[&ra%_&rag&ra~Og)VO~OV)WOh$WO%uWO~O#Z)XO~O%uWO#g&ta%[&ta%_&ta~Oz)ZO#g&ta%[&ta%_&ta~Oo0cOv0qO#g&pa%[&pa%_&pa{&pa~P'vOz)^O#g&pa%[&pa%_&pa{&pa~OV)`Oa)`O%uWO~O%z)eO~Ot)hO#j)gOP#hiV#hif#hih#hio#his#hiv#hi!P#hi!Q#hi!T#hi!U#hi!X#hi!]#hi!h#hi!r#hi!s#hi!t#hi!{#hi!}#hi#P#hi#R#hi#T#hi#X#hi#Z#hi#^#hi#_#hi#a#hi#c#hi#l#hi#o#hi#s#hi#u#hi#z#hi#}#hi$P#hi%X#hi%o#hi%p#hi%t#hi%u#hi&Z#hi&[#hi&]#hi&^#hi&_#hi&`#hi&a#hi&b#hi&c#hi&d#hi&e#hi&f#hi&g#hi&h#hi&i#hi&j#hi%Z#hi%_#hi~Ot)iOP#kiV#kif#kih#kio#kis#kiv#ki!P#ki!Q#ki!T#ki!U#ki!X#ki!]#ki!h#ki!r#ki!s#ki!t#ki!{#ki!}#ki#P#ki#R#ki#T#ki#X#ki#Z#ki#^#ki#_#ki#a#ki#c#ki#l#ki#o#ki#s#ki#u#ki#z#ki#}#ki$P#ki%X#ki%o#ki%p#ki%t#ki%u#ki&Z#ki&[#ki&]#ki&^#ki&_#ki&`#ki&a#ki&b#ki&c#ki&d#ki&e#ki&f#ki&g#ki&h#ki&i#ki&j#ki%Z#ki%_#ki~OV)kOn&wa~P'vOz)lOn&wa~Oz)lOn&wa~P%SOn)pO~O%Y)tO~Ot)wO#p'WO#q)vOP#niV#nif#nih#nio#nis#niv#ni!P#ni!Q#ni!T#ni!U#ni!X#ni!]#ni!h#ni!r#ni!s#ni!t#ni!{#ni!}#ni#P#ni#R#ni#T#ni#X#ni#Z#ni#^#ni#_#ni#a#ni#c#ni#l#ni#o#ni#s#ni#u#ni#z#ni#}#ni$P#ni%X#ni%o#ni%p#ni%t#ni%u#ni&Z#ni&[#ni&]#ni&^#ni&_#ni&`#ni&a#ni&b#ni&c#ni&d#ni&e#ni&f#ni&g#ni&h#ni&i#ni&j#ni%Z#ni%_#ni~OV)zOo0cOv0qO{$jO~P'vOo0cOv0qO{&xa~P'vOz*OO{&xa~OV*SOa*TOg*WO%q*UO%uWO~O{$jO&{*YO~Oh'_O~Oh!iO{$jO~O%[*_O~O%[*aO%_*aO~OV$}Oa$}Oo0cOv0qOg&Ua~P'vOz*dOg&Ua~Oo0cOv0qO{*gO!W&Xa~P'vOz*hO!W&Xa~Oo0cOv0qOz*hO{*kO!W&Xa~P'vOo0cOv0qOz*hO!W&Xa~P'vOz*hO{*kO!W&Xa~Om0dOn0dOo0mOp0nOgjikjisjizji!Tji!Uji%{ji!Wji{ji![ji#gji%[ji%_ji!Qji#[jitji!mji%zji~Ol0fO~P!NkOlji~P!NkOV'|Og*pOo0cOv0qO~P'vOn*rO~Og*pOz*tO~Og*uO~OV'|Oo0cOv0qO!W&Si~P'vOz*vO!W&Si~O!W*wO~OV(]Oo0cOv0qO![%}i#g%}i%[%}i%_%}ig%}i{%}i!m%}i%z%}i~P'vOz*zO!T%dO!U%cO![&Ti~Oz*}O![%}i#g%}i%[%}i%_%}ig%}i{%}i!m%}i%z%}i~O![+OO~Oa+QOo0cOv0qO![&Ti~P'vOz*zO![&Ti~O![+SO~OV+UOo0cOv0qO{&la![&la!m&la%z&la~P'vOz+VO{&la![&la!m&la%z&la~O!]+YO&n+[O![!nX~O![+^O~O{(kO![+_O~O{(kO![+_O!m+`O~OV&OOopOvqO{%hq!x%hq#g%hq%[%hq%_%hq%z%hq~P'vOz$ri{$ri!x$ri#g$ri%[$ri%_$ri%z$ri~P%SOV&OOopOvqO~P'vOV&OOo0cOv0qO#g%ha%[%ha%_%ha%z%ha~P'vOz+aO#g%ha%[%ha%_%ha%z%ha~Oz$ia#g$ia%[$ia%_$ian$ia~P%SO#g&Pi%[&Pi%_&Pin&Pi~P'vOz+dO#g#Wq%[#Wq%_#Wq~O#[+eOz$va#g$va%[$va%_$vag$va~O%uWO#g&ri%[&ri%_&rig&ri~Oz+gO#g&ri%[&ri%_&rig&ri~OV+iOh$WO%uWO~O%uWO#g&ti%[&ti%_&ti~Oo0cOv0qO#g&pi%[&pi%_&pi{&pi~P'vO{#{Oz#eX!W#eX~Oz+mO!W&uX~O!W+oO~Ot+rO#j)gOP#hqV#hqf#hqh#hqo#hqs#hqv#hq!P#hq!Q#hq!T#hq!U#hq!X#hq!]#hq!h#hq!r#hq!s#hq!t#hq!{#hq!}#hq#P#hq#R#hq#T#hq#X#hq#Z#hq#^#hq#_#hq#a#hq#c#hq#l#hq#o#hq#s#hq#u#hq#z#hq#}#hq$P#hq%X#hq%o#hq%p#hq%t#hq%u#hq&Z#hq&[#hq&]#hq&^#hq&_#hq&`#hq&a#hq&b#hq&c#hq&d#hq&e#hq&f#hq&g#hq&h#hq&i#hq&j#hq%Z#hq%_#hq~On$|az$|a~P%SOV)kOn&wi~P'vOz+yOn&wi~Oz,TO{$jO#[,TO~O#q,VOP#nqV#nqf#nqh#nqo#nqs#nqv#nq!P#nq!Q#nq!T#nq!U#nq!X#nq!]#nq!h#nq!r#nq!s#nq!t#nq!{#nq!}#nq#P#nq#R#nq#T#nq#X#nq#Z#nq#^#nq#_#nq#a#nq#c#nq#l#nq#o#nq#s#nq#u#nq#z#nq#}#nq$P#nq%X#nq%o#nq%p#nq%t#nq%u#nq&Z#nq&[#nq&]#nq&^#nq&_#nq&`#nq&a#nq&b#nq&c#nq&d#nq&e#nq&f#nq&g#nq&h#nq&i#nq&j#nq%Z#nq%_#nq~O#[,WOz%Oa{%Oa~Oo0cOv0qO{&xi~P'vOz,YO{&xi~O{#{O%z,[Og&zXz&zX~O%uWOg&zXz&zX~Oz,`Og&yX~Og,bO~O%Y,eO~O!T%dO!U%cOg&Viz&Vi~OV$}Oa$}Oo0cOv0qOg&Ui~P'vO{,hOz$la!W$la~Oo0cOv0qO{,iOz$la!W$la~P'vOo0cOv0qO{*gO!W&Xi~P'vOz,lO!W&Xi~Oo0cOv0qOz,lO!W&Xi~P'vOz,lO{,oO!W&Xi~Og$hiz$hi!W$hi~P%SOV'|Oo0cOv0qO~P'vOn,qO~OV'|Og,rOo0cOv0qO~P'vOV'|Oo0cOv0qO!W&Sq~P'vOz$gi![$gi#g$gi%[$gi%_$gig$gi{$gi!m$gi%z$gi~P%SOV(]Oo0cOv0qO~P'vOa+QOo0cOv0qO![&Tq~P'vOz,sO![&Tq~O![,tO~OV(]Oo0cOv0qO![%}q#g%}q%[%}q%_%}qg%}q{%}q!m%}q%z%}q~P'vO{,uO~OV+UOo0cOv0qO{&li![&li!m&li%z&li~P'vOz,zO{&li![&li!m&li%z&li~O!]+YO&n+[O![!na~O{(kO![,}O~OV&OOo0cOv0qO#g%hi%[%hi%_%hi%z%hi~P'vOz-OO#g%hi%[%hi%_%hi%z%hi~O%uWO#g&rq%[&rq%_&rqg&rq~Oz-RO#g&rq%[&rq%_&rqg&rq~OV)`Oa)`O%uWO!W&ua~Oz-TO!W&ua~On$|iz$|i~P%SOV)kO~P'vOV)kOn&wq~P'vOt-XOP#myV#myf#myh#myo#mys#myv#my!P#my!Q#my!T#my!U#my!X#my!]#my!h#my!r#my!s#my!t#my!{#my!}#my#P#my#R#my#T#my#X#my#Z#my#^#my#_#my#a#my#c#my#l#my#o#my#s#my#u#my#z#my#}#my$P#my%X#my%o#my%p#my%t#my%u#my&Z#my&[#my&]#my&^#my&_#my&`#my&a#my&b#my&c#my&d#my&e#my&f#my&g#my&h#my&i#my&j#my%Z#my%_#my~O%Z-]O%_-]O~P`O#q-^OP#nyV#nyf#nyh#nyo#nys#nyv#ny!P#ny!Q#ny!T#ny!U#ny!X#ny!]#ny!h#ny!r#ny!s#ny!t#ny!{#ny!}#ny#P#ny#R#ny#T#ny#X#ny#Z#ny#^#ny#_#ny#a#ny#c#ny#l#ny#o#ny#s#ny#u#ny#z#ny#}#ny$P#ny%X#ny%o#ny%p#ny%t#ny%u#ny&Z#ny&[#ny&]#ny&^#ny&_#ny&`#ny&a#ny&b#ny&c#ny&d#ny&e#ny&f#ny&g#ny&h#ny&i#ny&j#ny%Z#ny%_#ny~Oz-aO{$jO#[-aO~Oo0cOv0qO{&xq~P'vOz-dO{&xq~O%z,[Og&zaz&za~O{#{Og&zaz&za~OV*SOa*TO%q*UO%uWOg&ya~Oz-hOg&ya~O$S-lO~OV$}Oa$}Oo0cOv0qO~P'vOo0cOv0qO{-mOz$li!W$li~P'vOo0cOv0qOz$li!W$li~P'vO{-mOz$li!W$li~Oo0cOv0qO{*gO~P'vOo0cOv0qO{*gO!W&Xq~P'vOz-pO!W&Xq~Oo0cOv0qOz-pO!W&Xq~P'vOs-sO!T%dO!U%cOg&Oq!W&Oq![&Oqz&Oq~P!/jOa+QOo0cOv0qO![&Ty~P'vOz$ji![$ji~P%SOa+QOo0cOv0qO~P'vOV+UOo0cOv0qO~P'vOV+UOo0cOv0qO{&lq![&lq!m&lq%z&lq~P'vO{(kO![-xO!m-yO%z-wO~OV&OOo0cOv0qO#g%hq%[%hq%_%hq%z%hq~P'vO%uWO#g&ry%[&ry%_&ryg&ry~OV)`Oa)`O%uWO!W&ui~Ot-}OP#m!RV#m!Rf#m!Rh#m!Ro#m!Rs#m!Rv#m!R!P#m!R!Q#m!R!T#m!R!U#m!R!X#m!R!]#m!R!h#m!R!r#m!R!s#m!R!t#m!R!{#m!R!}#m!R#P#m!R#R#m!R#T#m!R#X#m!R#Z#m!R#^#m!R#_#m!R#a#m!R#c#m!R#l#m!R#o#m!R#s#m!R#u#m!R#z#m!R#}#m!R$P#m!R%X#m!R%o#m!R%p#m!R%t#m!R%u#m!R&Z#m!R&[#m!R&]#m!R&^#m!R&_#m!R&`#m!R&a#m!R&b#m!R&c#m!R&d#m!R&e#m!R&f#m!R&g#m!R&h#m!R&i#m!R&j#m!R%Z#m!R%_#m!R~Oo0cOv0qO{&xy~P'vOV*SOa*TO%q*UO%uWOg&yi~O$S-lO%Z.VO%_.VO~OV.aOh._O!X.^O!].`O!h.YO!s.[O!t.[O%p.XO%uWO&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O~Oo0cOv0qOz$lq!W$lq~P'vO{.fOz$lq!W$lq~Oo0cOv0qO{*gO!W&Xy~P'vOz.gO!W&Xy~Oo0cOv.kO~P'vOs-sO!T%dO!U%cOg&Oy!W&Oy![&Oyz&Oy~P!/jO{(kO![.nO~O{(kO![.nO!m.oO~OV*SOa*TO%q*UO%uWO~Oh.tO!f.rOz$TX#[$TX%j$TXg$TX~Os$TX{$TX!W$TX![$TX~P$-bO%o.vO%p.vOs$UXz$UX{$UX#[$UX%j$UX!W$UXg$UX![$UX~O!h.xO~Oz.|O#[/OO%j.yOs&|X{&|X!W&|Xg&|X~Oa/RO~P$)zOh.tOs&}Xz&}X{&}X#[&}X%j&}X!W&}Xg&}X![&}X~Os/VO{$jO~Oo0cOv0qOz$ly!W$ly~P'vOo0cOv0qO{*gO!W&X!R~P'vOz/ZO!W&X!R~Og&RXs&RX!T&RX!U&RX!W&RX![&RXz&RX~P!/jOs-sO!T%dO!U%cOg&Qa!W&Qa![&Qaz&Qa~O{(kO![/^O~O!f.rOh$[as$[az$[a{$[a#[$[a%j$[a!W$[ag$[a![$[a~O!h/eO~O%o.vO%p.vOs$Uaz$Ua{$Ua#[$Ua%j$Ua!W$Uag$Ua![$Ua~O%j.yOs$Yaz$Ya{$Ya#[$Ya!W$Yag$Ya![$Ya~Os&|a{&|a!W&|ag&|a~P$)nOz/jOs&|a{&|a!W&|ag&|a~O!W/mO~Og/mO~O{/oO~O![/pO~Oo0cOv0qO{*gO!W&X!Z~P'vO{/sO~O%z/tO~P$-bOz/uO#[/OO%j.yOg'PX~Oz/uOg'PX~Og/wO~O!h/xO~O#[/OOs%Saz%Sa{%Sa%j%Sa!W%Sag%Sa![%Sa~O#[/OO%j.yOs%Waz%Wa{%Wa!W%Wag%Wa~Os&|i{&|i!W&|ig&|i~P$)nOz/zO#[/OO%j.yO!['Oa~Og'Pa~P$)nOz0SOg'Pa~Oa0UO!['Oi~P$)zOz0WO!['Oi~Oz0WO#[/OO%j.yO!['Oi~O#[/OO%j.yOg$biz$bi~O%z0ZO~P$-bO#[/OO%j.yOg%Vaz%Va~Og'Pi~P$)nO{0^O~Oa0UO!['Oq~P$)zOz0`O!['Oq~O#[/OO%j.yOz%Ui![%Ui~Oa0UO~P$)zOa0UO!['Oy~P$)zO#[/OO%j.yOg$ciz$ci~O#[/OO%j.yOz%Uq![%Uq~Oz+aO#g%ha%[%ha%_%ha%z%ha~P%SOV&OOo0cOv0qO~P'vOn0hO~Oo0hO~P'vO{0iO~Ot0jO~P!/jO&]&Z&j&h&i&g&f&d&e&c&b&`&a&_&^&[%u~",goto:"!=j'QPPPPPP'RP'Z*s+[+t,_,y-fP.SP'Z.r.r'ZPPP'Z2[PPPPPP2[5PPP5PP7b7k=sPP=v>h>kPP'Z'ZPP>zPP'Z'ZPP'Z'Z'Z'Z'Z?O?w'ZP?zP@QDXGuGyPG|HWH['ZPPPH_Hk'RP'R'RP'RP'RP'RP'RP'R'R'RP'RPP'RPP'RP'RPHqH}IVPI^IdPI^PI^I^PPPI^PKrPK{LVL]KrPI^LfPI^PLmLsPLwM]MzNeLwLwNkNxLwLwLwLw! ^! d! g! l! o! y!!P!!]!!o!!u!#P!#V!#s!#y!$P!$Z!$a!$g!$y!%T!%Z!%a!%k!%q!%w!%}!&T!&Z!&e!&k!&u!&{!'U!'[!'k!'s!'}!(UPPPPPPPPPPP!([!(_!(e!(n!(x!)TPPPPPPPPPPPP!-u!/Z!3^!6oPP!6w!7W!7a!8Y!8P!8c!8i!8l!8o!8r!8z!9jPPPPPPPPPPPPPPPPP!9m!9q!9wP!:]!:a!:m!:v!;S!;j!;m!;p!;v!;|!_![!]Do!]!^Es!^!_FZ!_!`Gk!`!aHX!a!b%T!b!cIf!c!dJU!d!eK^!e!hJU!h!i!#f!i!tJU!t!u!,|!u!wJU!w!x!.t!x!}JU!}#O!0S#O#P&o#P#Q!0j#Q#R!1Q#R#SJU#S#T%T#T#UJU#U#VK^#V#YJU#Y#Z!#f#Z#fJU#f#g!,|#g#iJU#i#j!.t#j#oJU#o#p!1n#p#q!1s#q#r!2a#r#s!2f#s$g%T$g;'SJU;'S;=`KW<%lOJU`%YT&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T`%lP;=`<%l%To%v]&n`%c_OX%TXY%oY[%T[]%o]p%Tpq%oq#O%T#O#P&o#P#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To&tX&n`OY%TYZ%oZ]%T]^%o^#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc'f[&n`O!_%T!_!`([!`#T%T#T#U(r#U#f%T#f#g(r#g#h(r#h#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc(cTmR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc(yT!mR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk)aV&n`&[ZOr%Trs)vs#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk){V&n`Or%Trs*bs#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk*iT&n`&^ZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To+PZS_&n`OY*xYZ%TZ]*x]^%T^#o*x#o#p+r#p#q*x#q#r+r#r;'S*x;'S;=`,^<%lO*x_+wTS_OY+rZ]+r^;'S+r;'S;=`,W<%lO+r_,ZP;=`<%l+ro,aP;=`<%l*xj,kV%rQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj-XT!xY&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj-oV%lQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk.]V&n`&ZZOw%Twx.rx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk.wV&n`Ow%Twx/^x#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk/eT&n`&]ZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk/{ThZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc0cTgR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk0yXVZ&n`Oz%Tz{1f{!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk1mVaR&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk2ZV%oZ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc2wTzR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To3_W%pZ&n`O!_%T!_!`-Q!`!a3w!a#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Td4OT&{S&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk4fX!fQ&n`O!O%T!O!P5R!P!Q%T!Q![6T![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk5WV&n`O!O%T!O!P5m!P#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk5tT!rZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti6[a!hX&n`O!Q%T!Q![6T![!g%T!g!h7a!h!l%T!l!m9s!m#R%T#R#S6T#S#X%T#X#Y7a#Y#^%T#^#_9s#_#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti7fZ&n`O{%T{|8X|}%T}!O8X!O!Q%T!Q![8s![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti8^V&n`O!Q%T!Q![8s![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti8z]!hX&n`O!Q%T!Q![8s![!l%T!l!m9s!m#R%T#R#S8s#S#^%T#^#_9s#_#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti9zT!hX&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk:bX%qR&n`O!P%T!P!Q:}!Q!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj;UV%sQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti;ro!hX&n`O!O%T!O!P=s!P!Q%T!Q![>_![!d%T!d!e?q!e!g%T!g!h7a!h!l%T!l!m9s!m!q%T!q!rA]!r!z%T!z!{Bq!{#R%T#R#S>_#S#U%T#U#V?q#V#X%T#X#Y7a#Y#^%T#^#_9s#_#c%T#c#dA]#d#l%T#l#mBq#m#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti=xV&n`O!Q%T!Q![6T![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti>fc!hX&n`O!O%T!O!P=s!P!Q%T!Q![>_![!g%T!g!h7a!h!l%T!l!m9s!m#R%T#R#S>_#S#X%T#X#Y7a#Y#^%T#^#_9s#_#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti?vY&n`O!Q%T!Q!R@f!R!S@f!S#R%T#R#S@f#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti@mY!hX&n`O!Q%T!Q!R@f!R!S@f!S#R%T#R#S@f#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiAbX&n`O!Q%T!Q!YA}!Y#R%T#R#SA}#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiBUX!hX&n`O!Q%T!Q!YA}!Y#R%T#R#SA}#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiBv]&n`O!Q%T!Q![Co![!c%T!c!iCo!i#R%T#R#SCo#S#T%T#T#ZCo#Z#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiCv]!hX&n`O!Q%T!Q![Co![!c%T!c!iCo!i#R%T#R#SCo#S#T%T#T#ZCo#Z#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%ToDvV{_&n`O!_%T!_!`E]!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TcEdT%{R&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkEzT#gZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkFbXmR&n`O!^%T!^!_F}!_!`([!`!a([!a#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TjGUV%mQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkGrV%zZ&n`O!_%T!_!`([!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkH`WmR&n`O!_%T!_!`([!`!aHx!a#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TjIPV%nQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkIoV_Q#}P&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%ToJ_]&n`&YS%uZO!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUoKZP;=`<%lJUoKge&n`&YS%uZOr%Trs)Ysw%Twx.Ux!Q%T!Q![JU![!c%T!c!tJU!t!uLx!u!}JU!}#R%T#R#SJU#S#T%T#T#fJU#f#gLx#g#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUoMRa&n`&YS%uZOr%TrsNWsw%Twx! vx!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUkN_V&n`&`ZOr%TrsNts#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkNyV&n`Or%Trs! `s#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk! gT&n`&bZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk! }V&n`&_ZOw%Twx!!dx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!!iV&n`Ow%Twx!#Ox#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!#VT&n`&aZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To!#oe&n`&YS%uZOr%Trs!%Qsw%Twx!&px!Q%T!Q![JU![!c%T!c!tJU!t!u!(`!u!}JU!}#R%T#R#SJU#S#T%T#T#fJU#f#g!(`#g#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUk!%XV&n`&dZOr%Trs!%ns#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!%sV&n`Or%Trs!&Ys#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!&aT&n`&fZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!&wV&n`&cZOw%Twx!'^x#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!'cV&n`Ow%Twx!'xx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!(PT&n`&eZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To!(ia&n`&YS%uZOr%Trs!)nsw%Twx!+^x!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUk!)uV&n`&hZOr%Trs!*[s#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!*aV&n`Or%Trs!*vs#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!*}T&n`&jZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!+eV&n`&gZOw%Twx!+zx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!,PV&n`Ow%Twx!,fx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!,mT&n`&iZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To!-Vi&n`&YS%uZOr%TrsNWsw%Twx! vx!Q%T!Q![JU![!c%T!c!dJU!d!eLx!e!hJU!h!i!(`!i!}JU!}#R%T#R#SJU#S#T%T#T#UJU#U#VLx#V#YJU#Y#Z!(`#Z#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUo!.}a&n`&YS%uZOr%Trs)Ysw%Twx.Ux!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUk!0ZT!XZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc!0qT!WR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj!1XV%kQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T~!1sO!]~k!1zV%jR&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T~!2fO![~i!2mT%tX&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T",tokenizers:[gw,Ow,uw,Qw,0,1,2,3,4],topRules:{Script:[0,5]},specialized:[{term:221,get:i=>yw[i]||-1}],tokenPrec:7668});var qm=new fi,zm=new Set(["Script","Body","FunctionDefinition","ClassDefinition","LambdaExpression","ForStatement","MatchClause"]);function uo(i){return(e,t,n)=>{if(n)return!1;let r=e.node.getChild("VariableName");return r&&t(r,i),!0}}var kw={FunctionDefinition:uo("function"),ClassDefinition:uo("class"),ForStatement(i,e,t){if(t){for(let n=i.node.firstChild;n;n=n.nextSibling)if(n.name=="VariableName")e(n,"variable");else if(n.name=="in")break}},ImportStatement(i,e){var t,n;let{node:r}=i,s=((t=r.firstChild)===null||t===void 0?void 0:t.name)=="from";for(let o=r.getChild("import");o;o=o.nextSibling)o.name=="VariableName"&&((n=o.nextSibling)===null||n===void 0?void 0:n.name)!="as"&&e(o,s?"variable":"namespace")},AssignStatement(i,e){for(let t=i.node.firstChild;t;t=t.nextSibling)if(t.name=="VariableName")e(t,"variable");else if(t.name==":"||t.name=="AssignOp")break},ParamList(i,e){for(let t=null,n=i.node.firstChild;n;n=n.nextSibling)n.name=="VariableName"&&(!t||!/\*|AssignOp/.test(t.name))&&e(n,"variable"),t=n},CapturePattern:uo("variable"),AsPattern:uo("variable"),__proto__:null};function Lm(i,e){let t=qm.get(e);if(t)return t;let n=[],r=!0;function s(o,a){let l=i.sliceString(o.from,o.to);n.push({label:l,type:a})}return e.cursor(ee.IncludeAnonymous).iterate(o=>{if(o.name){let a=kw[o.name];if(a&&a(o,s,r)||!r&&zm.has(o.name))return!1;r=!1}else if(o.to-o.from>8192){for(let a of Lm(i,o.node))n.push(a);return!1}}),qm.set(e,n),n}var Em=/^[\w\xa1-\uffff][\w\d\xa1-\uffff]*$/,Mm=["String","FormatString","Comment","PropertyName"];function xw(i){let e=B(i.state).resolveInner(i.pos,-1);if(Mm.indexOf(e.name)>-1)return null;let t=e.name=="VariableName"||e.to-e.from<20&&Em.test(i.state.sliceDoc(e.from,e.to));if(!t&&!i.explicit)return null;let n=[];for(let r=e;r;r=r.parent)zm.has(r.name)&&(n=n.concat(Lm(i.state.doc,r)));return{options:n,from:t?e.from:i.pos,validFor:Em}}var ww=["__annotations__","__builtins__","__debug__","__doc__","__import__","__name__","__loader__","__package__","__spec__","False","None","True"].map(i=>({label:i,type:"constant"})).concat(["ArithmeticError","AssertionError","AttributeError","BaseException","BlockingIOError","BrokenPipeError","BufferError","BytesWarning","ChildProcessError","ConnectionAbortedError","ConnectionError","ConnectionRefusedError","ConnectionResetError","DeprecationWarning","EOFError","Ellipsis","EncodingWarning","EnvironmentError","Exception","FileExistsError","FileNotFoundError","FloatingPointError","FutureWarning","GeneratorExit","IOError","ImportError","ImportWarning","IndentationError","IndexError","InterruptedError","IsADirectoryError","KeyError","KeyboardInterrupt","LookupError","MemoryError","ModuleNotFoundError","NameError","NotADirectoryError","NotImplemented","NotImplementedError","OSError","OverflowError","PendingDeprecationWarning","PermissionError","ProcessLookupError","RecursionError","ReferenceError","ResourceWarning","RuntimeError","RuntimeWarning","StopAsyncIteration","StopIteration","SyntaxError","SyntaxWarning","SystemError","SystemExit","TabError","TimeoutError","TypeError","UnboundLocalError","UnicodeDecodeError","UnicodeEncodeError","UnicodeError","UnicodeTranslateError","UnicodeWarning","UserWarning","ValueError","Warning","ZeroDivisionError"].map(i=>({label:i,type:"type"}))).concat(["bool","bytearray","bytes","classmethod","complex","float","frozenset","int","list","map","memoryview","object","range","set","staticmethod","str","super","tuple","type"].map(i=>({label:i,type:"class"}))).concat(["abs","aiter","all","anext","any","ascii","bin","breakpoint","callable","chr","compile","delattr","dict","dir","divmod","enumerate","eval","exec","exit","filter","format","getattr","globals","hasattr","hash","help","hex","id","input","isinstance","issubclass","iter","len","license","locals","max","min","next","oct","open","ord","pow","print","property","quit","repr","reversed","round","setattr","slice","sorted","sum","vars","zip"].map(i=>({label:i,type:"function"}))),Pw=[ce("def ${name}(${params}):\n ${}",{label:"def",detail:"function",type:"keyword"}),ce("for ${name} in ${collection}:\n ${}",{label:"for",detail:"loop",type:"keyword"}),ce("while ${}:\n ${}",{label:"while",detail:"loop",type:"keyword"}),ce("try:\n ${}\nexcept ${error}:\n ${}",{label:"try",detail:"/ except block",type:"keyword"}),ce(`if \${}: -`,{label:"if",detail:"block",type:"keyword"}),ce("if ${}:\n ${}\nelse:\n ${}",{label:"if",detail:"/ else block",type:"keyword"}),ce("class ${name}:\n def __init__(self, ${params}):\n ${}",{label:"class",detail:"definition",type:"keyword"}),ce("import ${module}",{label:"import",detail:"statement",type:"keyword"}),ce("from ${module} import ${names}",{label:"from",detail:"import",type:"keyword"})],gw=Ys(_m,Ds(pw.concat(mw)));function Fc(i){let{node:e,pos:t}=i,n=i.lineIndent(t,-1),r=null;for(;;){let s=e.childBefore(t);if(s)if(s.name=="Comment")t=s.from;else if(s.name=="Body"||s.name=="MatchBody")i.baseIndentFor(s)+i.unit<=n&&(r=s),e=s;else if(s.name=="MatchClause")e=s;else if(s.type.is("Statement"))e=s;else break;else break}return r}function Hc(i,e){let t=i.baseIndentFor(e),n=i.lineAt(i.pos,-1),r=n.from+n.text.length;return/^\s*($|#)/.test(n.text)&&i.node.tot?null:t+i.unit}var Kc=ve.define({name:"python",parser:vm.configure({props:[we.add({Body:i=>{var e;let t=/^\s*(#|$)/.test(i.textAfter)&&Fc(i)||i.node;return(e=Hc(i,t))!==null&&e!==void 0?e:i.continue()},MatchBody:i=>{var e;let t=Fc(i);return(e=Hc(i,t||i.node))!==null&&e!==void 0?e:i.continue()},IfStatement:i=>/^\s*(else:|elif )/.test(i.textAfter)?i.baseIndent:i.continue(),"ForStatement WhileStatement":i=>/^\s*else:/.test(i.textAfter)?i.baseIndent:i.continue(),TryStatement:i=>/^\s*(except[ :]|finally:|else:)/.test(i.textAfter)?i.baseIndent:i.continue(),MatchStatement:i=>/^\s*case /.test(i.textAfter)?i.baseIndent+i.unit:i.continue(),"TupleExpression ComprehensionExpression ParamList ArgList ParenthesizedExpression":bt({closing:")"}),"DictionaryExpression DictionaryComprehensionExpression SetExpression SetComprehensionExpression":bt({closing:"}"}),"ArrayExpression ArrayComprehensionExpression":bt({closing:"]"}),MemberExpression:i=>i.baseIndent+i.unit,"String FormatString":()=>null,Script:i=>{var e;let t=Fc(i);return(e=t&&Hc(i,t))!==null&&e!==void 0?e:i.continue()}}),$e.add({"ArrayExpression DictionaryExpression SetExpression TupleExpression":lt,Body:(i,e)=>({from:i.from+1,to:i.to-(i.to==e.doc.length?0:1)}),"String FormatString":(i,e)=>({from:e.doc.lineAt(i.from).to,to:i.to})})]}),languageData:{closeBrackets:{brackets:["(","[","{","'",'"',"'''",'"""'],stringPrefixes:["f","fr","rf","r","u","b","br","rb","F","FR","RF","R","U","B","BR","RB"]},commentTokens:{line:"#"},indentOnInput:/^\s*([\}\]\)]|else:|elif |except |finally:|case\s+[^:]*:?)$/}});function Rm(){return new pe(Kc,[Kc.data.of({autocomplete:dw}),Kc.data.of({autocomplete:gw})])}var Qw=ge({String:d.string,Number:d.number,"True False":d.bool,PropertyName:d.propertyName,Null:d.null,", :":d.separator,"[ ]":d.squareBracket,"{ }":d.brace}),Am=Pe.deserialize({version:14,states:"$bOVQPOOOOQO'#Cb'#CbOnQPO'#CeOvQPO'#ClOOQO'#Cr'#CrQOQPOOOOQO'#Cg'#CgO}QPO'#CfO!SQPO'#CtOOQO,59P,59PO![QPO,59PO!aQPO'#CuOOQO,59W,59WO!iQPO,59WOVQPO,59QOqQPO'#CmO!nQPO,59`OOQO1G.k1G.kOVQPO'#CnO!vQPO,59aOOQO1G.r1G.rOOQO1G.l1G.lOOQO,59X,59XOOQO-E6k-E6kOOQO,59Y,59YOOQO-E6l-E6l",stateData:"#O~OeOS~OQSORSOSSOTSOWQO_ROgPO~OVXOgUO~O^[O~PVO[^O~O]_OVhX~OVaO~O]bO^iX~O^dO~O]_OVha~O]bO^ia~O",goto:"!kjPPPPPPkPPkqwPPPPk{!RPPP!XP!e!hXSOR^bQWQRf_TVQ_Q`WRg`QcZRicQTOQZRQe^RhbRYQR]R",nodeNames:"\u26A0 JsonText True False Null Number String } { Object Property PropertyName : , ] [ Array",maxTerm:25,nodeProps:[["isolate",-2,6,11,""],["openedBy",7,"{",14,"["],["closedBy",8,"}",15,"]"]],propSources:[Qw],skippedNodes:[0],repeatNodeCount:2,tokenData:"(|~RaXY!WYZ!W]^!Wpq!Wrs!]|}$u}!O$z!Q!R%T!R![&c![!]&t!}#O&y#P#Q'O#Y#Z'T#b#c'r#h#i(Z#o#p(r#q#r(w~!]Oe~~!`Wpq!]qr!]rs!xs#O!]#O#P!}#P;'S!];'S;=`$o<%lO!]~!}Og~~#QXrs!]!P!Q!]#O#P!]#U#V!]#Y#Z!]#b#c!]#f#g!]#h#i!]#i#j#m~#pR!Q![#y!c!i#y#T#Z#y~#|R!Q![$V!c!i$V#T#Z$V~$YR!Q![$c!c!i$c#T#Z$c~$fR!Q![!]!c!i!]#T#Z!]~$rP;=`<%l!]~$zO]~~$}Q!Q!R%T!R![&c~%YRT~!O!P%c!g!h%w#X#Y%w~%fP!Q![%i~%nRT~!Q![%i!g!h%w#X#Y%w~%zR{|&T}!O&T!Q![&Z~&WP!Q![&Z~&`PT~!Q![&Z~&hST~!O!P%c!Q![&c!g!h%w#X#Y%w~&yO[~~'OO_~~'TO^~~'WP#T#U'Z~'^P#`#a'a~'dP#g#h'g~'jP#X#Y'm~'rOR~~'uP#i#j'x~'{P#`#a(O~(RP#`#a(U~(ZOS~~(^P#f#g(a~(dP#i#j(g~(jP#X#Y(m~(rOQ~~(wOW~~(|OV~",tokenizers:[0],topRules:{JsonText:[0,1]},tokenPrec:0});var bw=ve.define({name:"json",parser:Am.configure({props:[we.add({Object:Vt({except:/^\s*\}/}),Array:Vt({except:/^\s*\]/})}),$e.add({"Object Array":lt})]}),languageData:{closeBrackets:{brackets:["[","{",'"']},indentOnInput:/^\s*[\}\]]$/}});function Zm(){return new pe(bw)}function fo(i){for(var e={},t=0;t~^?!",Pw=":;,.(){}[]",vw=/^\-?0b[01][01_]*/,$w=/^\-?0o[0-7][0-7_]*/,Tw=/^\-?0x[\dA-Fa-f][\dA-Fa-f_]*(?:(?:\.[\dA-Fa-f][\dA-Fa-f_]*)?[Pp]\-?\d[\d_]*)?/,Cw=/^\-?\d[\d_]*(?:\.\d[\d_]*)?(?:[Ee]\-?\d[\d_]*)?/,Xw=/^\$\d+|(`?)[_A-Za-z][_A-Za-z$0-9]*\1/,_w=/^\.(?:\$\d+|(`?)[_A-Za-z][_A-Za-z$0-9]*\1)/,Rw=/^\#[A-Za-z]+/,Aw=/^@(?:\$\d+|(`?)[_A-Za-z][_A-Za-z$0-9]*\1)/;function qm(i,e,t){if(i.sol()&&(e.indented=i.indentation()),i.eatSpace())return null;var n=i.peek();if(n=="/"){if(i.match("//"))return i.skipToEnd(),"comment";if(i.match("/*"))return e.tokenize.push(Jc),Jc(i,e)}if(i.match(Rw))return"builtin";if(i.match(Aw))return"attribute";if(i.match(vw)||i.match($w)||i.match(Tw)||i.match(Cw))return"number";if(i.match(_w))return"property";if(ww.indexOf(n)>-1)return i.next(),"operator";if(Pw.indexOf(n)>-1)return i.next(),i.match(".."),"punctuation";var r;if(r=i.match(/("""|"|')/)){var s=qw.bind(null,r[0]);return e.tokenize.push(s),s(i,e)}if(i.match(Xw)){var o=i.current();return xw.hasOwnProperty(o)?"type":kw.hasOwnProperty(o)?"atom":Sw.hasOwnProperty(o)?(yw.hasOwnProperty(o)&&(e.prev="define"),"keyword"):t=="define"?"def":"variable"}return i.next(),null}function Zw(){var i=0;return function(e,t,n){var r=qm(e,t,n);if(r=="punctuation"){if(e.current()=="(")++i;else if(e.current()==")"){if(i==0)return e.backUp(1),t.tokenize.pop(),t.tokenize[t.tokenize.length-1](e,t);--i}}return r}}function qw(i,e,t){for(var n=i.length==1,r,s=!1;r=e.peek();)if(s){if(e.next(),r=="(")return t.tokenize.push(Zw()),"string";s=!1}else{if(e.match(i))return t.tokenize.pop(),"string";e.next(),s=r=="\\"}return n&&t.tokenize.pop(),"string"}function Jc(i,e){for(var t;t=i.next();)if(t==="/"&&i.eat("*"))e.tokenize.push(Jc);else if(t==="*"&&i.eat("/")){e.tokenize.pop();break}return"comment"}function Ew(i,e,t){this.prev=i,this.align=e,this.indented=t}function zw(i,e){var t=e.match(/^\s*($|\/[\/\*]|[)}\]])/,!1)?null:e.column()+1;i.context=new Ew(i.context,t,i.indented)}function Lw(i){i.context&&(i.indented=i.context.indented,i.context=i.context.prev)}var Em={name:"swift",startState:function(){return{prev:null,context:null,indented:0,tokenize:[]}},token:function(i,e){var t=e.prev;e.prev=null;var n=e.tokenize[e.tokenize.length-1]||qm,r=n(i,e,t);if(!r||r=="comment"?e.prev=t:e.prev||(e.prev=r),r=="punctuation"){var s=/[\(\[\{]|([\]\)\}])/.exec(i.current());s&&(s[1]?Lw:zw)(e,i)}return r},indent:function(i,e,t){var n=i.context;if(!n)return 0;var r=/^[\]\}\)]/.test(e);return n.align!=null?n.align-(r?1:0):n.indented+(r?0:t.unit)},languageData:{indentOnInput:/^\s*[\)\}\]]$/,commentTokens:{line:"//",block:{open:"/*",close:"*/"}},closeBrackets:{brackets:["(","[","{","'",'"',"`"]}}};var eh={};function th(i,e){for(var t=0;t1&&i.eat("$");var t=i.next();return/['"({]/.test(t)?(e.tokens[0]=uo(t,t=="("?"quote":t=="{"?"def":"string"),Xn(i,e)):(/\d/.test(t)||i.eatWhile(/\w/),e.tokens.shift(),"def")};function jw(i){return function(e,t){return e.sol()&&e.string==i&&t.tokens.shift(),e.skipToEnd(),"string.special"}}function Xn(i,e){return(e.tokens[0]||Mw)(i,e)}var jm={name:"shell",startState:function(){return{tokens:[]}},token:function(i,e){return Xn(i,e)},languageData:{autocomplete:zm.concat(Lm,Mm),closeBrackets:{brackets:["(","[","{","'",'"',"`"]},commentTokens:{line:"#"}}};var Vw=["true","false","on","off","yes","no"],Dw=new RegExp("\\b(("+Vw.join(")|(")+"))$","i"),Vm={name:"yaml",token:function(i,e){var t=i.peek(),n=e.escaped;if(e.escaped=!1,t=="#"&&(i.pos==0||/\s/.test(i.string.charAt(i.pos-1))))return i.skipToEnd(),"comment";if(i.match(/^('([^']|\\.)*'?|"([^"]|\\.)*"?)/))return"string";if(e.literal&&i.indentation()>e.keyCol)return i.skipToEnd(),"string";if(e.literal&&(e.literal=!1),i.sol()){if(e.keyCol=0,e.pair=!1,e.pairStart=!1,i.match("---")||i.match("..."))return"def";if(i.match(/^\s*-\s+/))return"meta"}if(i.match(/^(\{|\}|\[|\])/))return t=="{"?e.inlinePairs++:t=="}"?e.inlinePairs--:t=="["?e.inlineList++:e.inlineList--,"meta";if(e.inlineList>0&&!n&&t==",")return i.next(),"meta";if(e.inlinePairs>0&&!n&&t==",")return e.keyCol=0,e.pair=!1,e.pairStart=!1,i.next(),"meta";if(e.pairStart){if(i.match(/^\s*(\||\>)\s*/))return e.literal=!0,"meta";if(i.match(/^\s*(\&|\*)[a-z0-9\._-]+\b/i))return"variable";if(e.inlinePairs==0&&i.match(/^\s*-?[0-9\.\,]+\s?$/)||e.inlinePairs>0&&i.match(/^\s*-?[0-9\.\,]+\s?(?=(,|}))/))return"number";if(i.match(Dw))return"keyword"}return!e.pair&&i.match(/^\s*(?:[,\[\]{}&*!|>'"%@`][^\s'":]|[^,\[\]{}#&*!|>'"%@`])[^#]*?(?=\s*:($|\s))/)?(e.pair=!0,e.keyCol=i.indentation(),"atom"):e.pair&&i.match(/^:\s*/)?(e.pairStart=!0,"meta"):(e.pairStart=!1,e.escaped=t=="\\",i.next(),null)},startState:function(){return{pair:!1,pairStart:!1,keyCol:0,inlinePairs:0,inlineList:0,literal:!1,escaped:!1}},languageData:{commentTokens:{line:"#"}}};var Yw={break:!0,case:!0,chan:!0,const:!0,continue:!0,default:!0,defer:!0,else:!0,fallthrough:!0,for:!0,func:!0,go:!0,goto:!0,if:!0,import:!0,interface:!0,map:!0,package:!0,range:!0,return:!0,select:!0,struct:!0,switch:!0,type:!0,var:!0,bool:!0,byte:!0,complex64:!0,complex128:!0,float32:!0,float64:!0,int8:!0,int16:!0,int32:!0,int64:!0,string:!0,uint8:!0,uint16:!0,uint32:!0,uint64:!0,int:!0,uint:!0,uintptr:!0,error:!0,rune:!0,any:!0,comparable:!0},Iw={true:!0,false:!0,iota:!0,nil:!0,append:!0,cap:!0,close:!0,complex:!0,copy:!0,delete:!0,imag:!0,len:!0,make:!0,new:!0,panic:!0,print:!0,println:!0,real:!0,recover:!0},Dm=/[+\-*&^%:=<>!|\/]/,Ht;function Oo(i,e){var t=i.next();if(t=='"'||t=="'"||t=="`")return e.tokenize=Bw(t),e.tokenize(i,e);if(/[\d\.]/.test(t))return t=="."?i.match(/^[0-9]+([eE][\-+]?[0-9]+)?/):t=="0"?i.match(/^[xX][0-9a-fA-F]+/)||i.match(/^0[0-7]+/):i.match(/^[0-9]*\.?[0-9]*([eE][\-+]?[0-9]+)?/),"number";if(/[\[\]{}\(\),;\:\.]/.test(t))return Ht=t,null;if(t=="/"){if(i.eat("*"))return e.tokenize=Ym,Ym(i,e);if(i.eat("/"))return i.skipToEnd(),"comment"}if(Dm.test(t))return i.eatWhile(Dm),"operator";i.eatWhile(/[\w\$_\xa1-\uffff]/);var n=i.current();return Yw.propertyIsEnumerable(n)?((n=="case"||n=="default")&&(Ht="case"),"keyword"):Iw.propertyIsEnumerable(n)?"atom":"variable"}function Bw(i){return function(e,t){for(var n=!1,r,s=!1;(r=e.next())!=null;){if(r==i&&!n){s=!0;break}n=!n&&i!="`"&&r=="\\"}return(s||!(n||i=="`"))&&(t.tokenize=Oo),"string"}}function Ym(i,e){for(var t=!1,n;n=i.next();){if(n=="/"&&t){e.tokenize=Oo;break}t=n=="*"}return"comment"}function Bm(i,e,t,n,r){this.indented=i,this.column=e,this.type=t,this.align=n,this.prev=r}function ih(i,e,t){return i.context=new Bm(i.indented,e,t,null,i.context)}function Im(i){if(i.context.prev){var e=i.context.type;return(e==")"||e=="]"||e=="}")&&(i.indented=i.context.indented),i.context=i.context.prev}}var Um={name:"go",startState:function(i){return{tokenize:null,context:new Bm(-i,0,"top",!1),indented:0,startOfLine:!0}},token:function(i,e){var t=e.context;if(i.sol()&&(t.align==null&&(t.align=!1),e.indented=i.indentation(),e.startOfLine=!0,t.type=="case"&&(t.type="}")),i.eatSpace())return null;Ht=null;var n=(e.tokenize||Oo)(i,e);return n=="comment"||(t.align==null&&(t.align=!0),Ht=="{"?ih(e,i.column(),"}"):Ht=="["?ih(e,i.column(),"]"):Ht=="("?ih(e,i.column(),")"):Ht=="case"?t.type="case":(Ht=="}"&&t.type=="}"||Ht==t.type)&&Im(e),e.startOfLine=!1),n},indent:function(i,e,t){if(i.tokenize!=Oo&&i.tokenize!=null)return null;var n=i.context,r=e&&e.charAt(0);if(n.type=="case"&&/^(?:case|default)\b/.test(e))return n.indented;var s=r==n.type;return n.align?n.column+(s?0:1):n.indented+(s?0:t.unit)},languageData:{indentOnInput:/^\s([{}]|case |default\s*:)$/,commentTokens:{line:"//",block:{open:"/*",close:"*/"}}}};function rh(i){for(var e={},t=0,n=i.length;t]/)?(i.eat(/[\<\>]/),"atom"):i.eat(/[\+\-\*\/\&\|\:\!]/)?"atom":i.eat(/[a-zA-Z$@_\xa1-\uffff]/)?(i.eatWhile(/[\w$\xa1-\uffff]/),i.eat(/[\?\!\=]/),"atom"):"operator";if(t=="@"&&i.match(/^@?[a-zA-Z_\xa1-\uffff]/))return i.eat("@"),i.eatWhile(/[\w\xa1-\uffff]/),"propertyName";if(t=="$")return i.eat(/[a-zA-Z_]/)?i.eatWhile(/[\w]/):i.eat(/\d/)?i.eat(/\d/):i.next(),"variableName.special";if(/[a-zA-Z_\xa1-\uffff]/.test(t))return i.eatWhile(/[\w\xa1-\uffff]/),i.eat(/[\?\!]/),i.eat(":")?"atom":"variable";if(t=="|"&&(e.varList||e.lastTok=="{"||e.lastTok=="do"))return wt="|",null;if(/[\(\)\[\]{}\\;]/.test(t))return wt=t,null;if(t=="-"&&i.eat(">"))return"operator";if(/[=+\-\/*:\.^%<>~|]/.test(t)){var a=i.eatWhile(/[=+\-\/*:\.^%<>~|]/);return t=="."&&!a&&(wt="."),"operator"}else return null}}}function Hw(i){for(var e=i.pos,t=0,n,r=!1,s=!1;(n=i.next())!=null;)if(s)s=!1;else{if("[{(".indexOf(n)>-1)t++;else if("]})".indexOf(n)>-1){if(t--,t<0)break}else if(n=="/"&&t==0){r=!0;break}s=n=="\\"}return i.backUp(i.pos-e),r}function nh(i){return i||(i=1),function(e,t){if(e.peek()=="}"){if(i==1)return t.tokenize.pop(),t.tokenize[t.tokenize.length-1](e,t);t.tokenize[t.tokenize.length-1]=nh(i-1)}else e.peek()=="{"&&(t.tokenize[t.tokenize.length-1]=nh(i+1));return po(e,t)}}function Kw(){var i=!1;return function(e,t){return i?(t.tokenize.pop(),t.tokenize[t.tokenize.length-1](e,t)):(i=!0,po(e,t))}}function Xr(i,e,t,n){return function(r,s){var o=!1,a;for(s.context.type==="read-quoted-paused"&&(s.context=s.context.prev,r.eat("}"));(a=r.next())!=null;){if(a==i&&(n||!o)){s.tokenize.pop();break}if(t&&a=="#"&&!o){if(r.eat("{")){i=="}"&&(s.context={prev:s.context,type:"read-quoted-paused"}),s.tokenize.push(nh());break}else if(/[@\$]/.test(r.peek())){s.tokenize.push(Kw());break}}o=!o&&a=="\\"}return e}}function Jw(i,e){return function(t,n){return e&&t.eatSpace(),t.match(i)?n.tokenize.pop():t.skipToEnd(),"string"}}function eP(i,e){return i.sol()&&i.match("=end")&&i.eol()&&e.tokenize.pop(),i.skipToEnd(),"comment"}var Fm={name:"ruby",startState:function(i){return{tokenize:[po],indented:0,context:{type:"top",indented:-i},continuedLine:!1,lastTok:null,varList:!1}},token:function(i,e){wt=null,i.sol()&&(e.indented=i.indentation());var t=e.tokenize[e.tokenize.length-1](i,e),n,r=wt;if(t=="variable"){var s=i.current();t=e.lastTok=="."?"property":Uw.propertyIsEnumerable(i.current())?"keyword":/^[A-Z]/.test(s)?"tag":e.lastTok=="def"||e.lastTok=="class"||e.varList?"def":"variable",t=="keyword"&&(r=s,Gw.propertyIsEnumerable(s)?n="indent":Nw.propertyIsEnumerable(s)?n="dedent":((s=="if"||s=="unless")&&i.column()==i.indentation()||s=="do"&&e.context.indented2&&o.token&&typeof o.token!="string"){t.pending=[];for(var c=2;c-1)return null;var r=t.indent.length-1,s=i[t.state];e:for(;;){for(var o=0;o!]+/,token:"operator"},{regex:/[a-zA-Z_]\w*!/,token:"macroName"},{regex:/[a-zA-Z_]\w*/,token:"variable"},{regex:/[\{\[\(]/,indent:!0},{regex:/[\}\]\)]/,dedent:!0}],string:[{regex:/"/,token:"string",next:"start"},{regex:/(?:[^\\"]|\\(?:.|$))*/,token:"string"}],string_raw:[{regex:/"/,token:"string",next:"start"},{regex:/[^"]*/,token:"string"}],string_raw_hash:[{regex:/"#+/,token:"string",next:"start"},{regex:/(?:[^"]|"(?!#))*/,token:"string"}],comment:[{regex:/.*?\*\//,token:"comment",next:"start"},{regex:/.*/,token:"comment"}],languageData:{name:"rust",dontIndentStates:["comment"],indentOnInput:/^\s*\}$/,commentTokens:{line:"//",block:{open:"/*",close:"*/"}}}});function ah(i,e,t,n,r,s){this.indented=i,this.column=e,this.type=t,this.info=n,this.align=r,this.prev=s}function mo(i,e,t,n){var r=i.indented;return i.context&&i.context.type=="statement"&&t!="statement"&&(r=i.context.indented),i.context=new ah(r,e,t,n,null,i.context)}function _r(i){var e=i.context.type;return(e==")"||e=="]"||e=="}")&&(i.indented=i.context.indented),i.context=i.context.prev}function eg(i,e,t){if(e.prevToken=="variable"||e.prevToken=="type"||/\S(?:[^- ]>|[*\]])\s*$|\*$/.test(i.string.slice(0,t))||e.typeAtEndOfLine&&i.column()==i.indentation())return!0}function sh(i){for(;;){if(!i||i.type=="top")return!0;if(i.type=="}"&&i.prev.info!="namespace")return!1;i=i.prev}}function et(i){var e=i.statementIndentUnit,t=i.dontAlignCalls,n=i.keywords||{},r=i.types||{},s=i.builtin||{},o=i.blockKeywords||{},a=i.defKeywords||{},l=i.atoms||{},c=i.hooks||{},h=i.multiLineStrings,f=i.indentStatements!==!1,u=i.indentSwitch!==!1,O=i.namespaceSeparator,p=i.isPunctuationChar||/[\[\]{}\(\),;\:\.]/,m=i.numberStart||/[\d\.]/,b=i.number||/^(?:0x[a-f\d]+|0b[01]+|(?:\d+\.?\d*|\.\d+)(?:e[-+]?\d+)?)(u|ll?|l|f)?/i,g=i.isOperatorChar||/[+\-*&%=<>!?|\/]/,Q=i.isIdentifierChar||/[\w\$_\xa1-\uffff]/,S=i.isReservedIdentifier||!1,k,P;function $(T,x){var w=T.next();if(c[w]){var C=c[w](T,x);if(C!==!1)return C}if(w=='"'||w=="'")return x.tokenize=R(w),x.tokenize(T,x);if(m.test(w)){if(T.backUp(1),T.match(b))return"number";T.next()}if(p.test(w))return k=w,null;if(w=="/"){if(T.eat("*"))return x.tokenize=_,_(T,x);if(T.eat("/"))return T.skipToEnd(),"comment"}if(g.test(w)){for(;!T.match(/^\/[\/*]/,!1)&&T.eat(g););return"operator"}if(T.eatWhile(Q),O)for(;T.match(O);)T.eatWhile(Q);var j=T.current();return Kt(n,j)?(Kt(o,j)&&(k="newstatement"),Kt(a,j)&&(P=!0),"keyword"):Kt(r,j)?"type":Kt(s,j)||S&&S(j)?(Kt(o,j)&&(k="newstatement"),"builtin"):Kt(l,j)?"atom":"variable"}function R(T){return function(x,w){for(var C=!1,j,y=!1;(j=x.next())!=null;){if(j==T&&!C){y=!0;break}C=!C&&j=="\\"}return(y||!(C||h))&&(w.tokenize=null),"string"}}function _(T,x){for(var w=!1,C;C=T.next();){if(C=="/"&&w){x.tokenize=null;break}w=C=="*"}return"comment"}function W(T,x){i.typeFirstDefinitions&&T.eol()&&sh(x.context)&&(x.typeAtEndOfLine=eg(T,x,T.pos))}return{name:i.name,startState:function(T){return{tokenize:null,context:new ah(-T,0,"top",null,!1),indented:0,startOfLine:!0,prevToken:null}},token:function(T,x){var w=x.context;if(T.sol()&&(w.align==null&&(w.align=!1),x.indented=T.indentation(),x.startOfLine=!0),T.eatSpace())return W(T,x),null;k=P=null;var C=(x.tokenize||$)(T,x);if(C=="comment"||C=="meta")return C;if(w.align==null&&(w.align=!0),k==";"||k==":"||k==","&&T.match(/^\s*(?:\/\/.*)?$/,!1))for(;x.context.type=="statement";)_r(x);else if(k=="{")mo(x,T.column(),"}");else if(k=="[")mo(x,T.column(),"]");else if(k=="(")mo(x,T.column(),")");else if(k=="}"){for(;w.type=="statement";)w=_r(x);for(w.type=="}"&&(w=_r(x));w.type=="statement";)w=_r(x)}else k==w.type?_r(x):f&&((w.type=="}"||w.type=="top")&&k!=";"||w.type=="statement"&&k=="newstatement")&&mo(x,T.column(),"statement",T.current());if(C=="variable"&&(x.prevToken=="def"||i.typeFirstDefinitions&&eg(T,x,T.start)&&sh(x.context)&&T.match(/^\s*\(/,!1))&&(C="def"),c.token){var j=c.token(T,x,C);j!==void 0&&(C=j)}return C=="def"&&i.styleDefs===!1&&(C="variable"),x.startOfLine=!1,x.prevToken=P?"def":C||k,W(T,x),C},indent:function(T,x,w){if(T.tokenize!=$&&T.tokenize!=null||T.typeAtEndOfLine&&sh(T.context))return null;var C=T.context,j=x&&x.charAt(0),y=j==C.type;if(C.type=="statement"&&j=="}"&&(C=C.prev),i.dontIndentStatements)for(;C.type=="statement"&&i.dontIndentStatements.test(C.info);)C=C.prev;if(c.indent){var z=c.indent(T,C,x,w.unit);if(typeof z=="number")return z}var ye=C.prev&&C.prev.info=="switch";if(i.allmanIndentation&&/[{(]/.test(j)){for(;C.type!="top"&&C.type!="}";)C=C.prev;return C.indented}return C.type=="statement"?C.indented+(j=="{"?0:e||w.unit):C.align&&(!t||C.type!=")")?C.column+(y?0:1):C.type==")"&&!y?C.indented+(e||w.unit):C.indented+(y?0:w.unit)+(!y&&ye&&!/^(?:case|default)\b/.test(x)?w.unit:0)},languageData:{indentOnInput:u?/^\s*(?:case .*?:|default:|\{\}?|\})$/:/^\s*[{}]$/,commentTokens:{line:"//",block:{open:"/*",close:"*/"}},autocomplete:Object.keys(n).concat(Object.keys(r)).concat(Object.keys(s)).concat(Object.keys(l)),...i.languageData}}}function V(i){for(var e={},t=i.split(" "),n=0;n!?|\/#:@]/,hooks:{"@":function(i){return i.eatWhile(/[\w\$_]/),"meta"},'"':function(i,e){return i.match('""')?(e.tokenize=ug,e.tokenize(i,e)):!1},"'":function(i){return i.match(/^(\\[^'\s]+|[^\\'])'/)?"character":(i.eatWhile(/[\w\$_\xa1-\uffff]/),"atom")},"=":function(i,e){var t=e.context;return t.type=="}"&&t.align&&i.eat(">")?(e.context=new ah(t.indented,t.column,t.type,t.info,null,t.prev),"operator"):!1},"/":function(i,e){return i.eat("*")?(e.tokenize=Rr(1),e.tokenize(i,e)):!1}},languageData:{closeBrackets:{brackets:["(","[","{","'",'"','"""']}}});function lP(i){return function(e,t){for(var n=!1,r,s=!1;!e.eol();){if(!i&&!n&&e.match('"')){s=!0;break}if(i&&e.match('"""')){s=!0;break}r=e.next(),!n&&r=="$"&&e.match("{")&&e.skipTo("}"),n=!n&&r=="\\"&&!i}return(s||!i)&&(t.tokenize=null),"string"}}var Og=et({name:"kotlin",keywords:V("package as typealias class interface this super val operator var fun for is in This throw return annotation break continue object if else while do try when !in !is as? file import where by get set abstract enum open inner override private public internal protected catch finally out final vararg reified dynamic companion constructor init sealed field property receiver param sparam lateinit data inline noinline tailrec external annotation crossinline const operator infix suspend actual expect setparam"),types:V("Boolean Byte Character CharSequence Class ClassLoader Cloneable Comparable Compiler Double Exception Float Integer Long Math Number Object Package Pair Process Runtime Runnable SecurityManager Short StackTraceElement StrictMath String StringBuffer System Thread ThreadGroup ThreadLocal Throwable Triple Void Annotation Any BooleanArray ByteArray Char CharArray DeprecationLevel DoubleArray Enum FloatArray Function Int IntArray Lazy LazyThreadSafetyMode LongArray Nothing ShortArray Unit"),intendSwitch:!1,indentStatements:!1,multiLineStrings:!0,number:/^(?:0x[a-f\d_]+|0b[01_]+|(?:[\d_]+(\.\d+)?|\.\d+)(?:e[-+]?[\d_]+)?)(ul?|l|f)?/i,blockKeywords:V("catch class do else finally for if where try while enum"),defKeywords:V("class val var object interface fun"),atoms:V("true false null this"),hooks:{"@":function(i){return i.eatWhile(/[\w\$_]/),"meta"},"*":function(i,e){return e.prevToken=="."?"variable":"operator"},'"':function(i,e){return e.tokenize=lP(i.match('""')),e.tokenize(i,e)},"/":function(i,e){return i.eat("*")?(e.tokenize=Rr(1),e.tokenize(i,e)):!1},indent:function(i,e,t,n){var r=t&&t.charAt(0);if((i.prevToken=="}"||i.prevToken==")")&&t=="")return i.indented;if(i.prevToken=="operator"&&t!="}"&&i.context.type!="}"||i.prevToken=="variable"&&r=="."||(i.prevToken=="}"||i.prevToken==")")&&r==".")return n*2+e.indented;if(e.align&&e.type=="}")return e.indented+(i.context.type==(t||"").charAt(0)?0:n)}},languageData:{closeBrackets:{brackets:["(","[","{","'",'"','"""']}}}),UT=et({name:"shader",keywords:V("sampler1D sampler2D sampler3D samplerCube sampler1DShadow sampler2DShadow const attribute uniform varying break continue discard return for while do if else struct in out inout"),types:V("float int bool void vec2 vec3 vec4 ivec2 ivec3 ivec4 bvec2 bvec3 bvec4 mat2 mat3 mat4"),blockKeywords:V("for while do if else struct"),builtin:V("radians degrees sin cos tan asin acos atan pow exp log exp2 sqrt inversesqrt abs sign floor ceil fract mod min max clamp mix step smoothstep length distance dot cross normalize ftransform faceforward reflect refract matrixCompMult lessThan lessThanEqual greaterThan greaterThanEqual equal notEqual any all not texture1D texture1DProj texture1DLod texture1DProjLod texture2D texture2DProj texture2DLod texture2DProjLod texture3D texture3DProj texture3DLod texture3DProjLod textureCube textureCubeLod shadow1D shadow2D shadow1DProj shadow2DProj shadow1DLod shadow2DLod shadow1DProjLod shadow2DProjLod dFdx dFdy fwidth noise1 noise2 noise3 noise4"),atoms:V("true false gl_FragColor gl_SecondaryColor gl_Normal gl_Vertex gl_MultiTexCoord0 gl_MultiTexCoord1 gl_MultiTexCoord2 gl_MultiTexCoord3 gl_MultiTexCoord4 gl_MultiTexCoord5 gl_MultiTexCoord6 gl_MultiTexCoord7 gl_FogCoord gl_PointCoord gl_Position gl_PointSize gl_ClipVertex gl_FrontColor gl_BackColor gl_FrontSecondaryColor gl_BackSecondaryColor gl_TexCoord gl_FogFragCoord gl_FragCoord gl_FrontFacing gl_FragData gl_FragDepth gl_ModelViewMatrix gl_ProjectionMatrix gl_ModelViewProjectionMatrix gl_TextureMatrix gl_NormalMatrix gl_ModelViewMatrixInverse gl_ProjectionMatrixInverse gl_ModelViewProjectionMatrixInverse gl_TextureMatrixTranspose gl_ModelViewMatrixInverseTranspose gl_ProjectionMatrixInverseTranspose gl_ModelViewProjectionMatrixInverseTranspose gl_TextureMatrixInverseTranspose gl_NormalScale gl_DepthRange gl_ClipPlane gl_Point gl_FrontMaterial gl_BackMaterial gl_LightSource gl_LightModel gl_FrontLightModelProduct gl_BackLightModelProduct gl_TextureColor gl_EyePlaneS gl_EyePlaneT gl_EyePlaneR gl_EyePlaneQ gl_FogParameters gl_MaxLights gl_MaxClipPlanes gl_MaxTextureUnits gl_MaxTextureCoords gl_MaxVertexAttribs gl_MaxVertexUniformComponents gl_MaxVaryingFloats gl_MaxVertexTextureImageUnits gl_MaxTextureImageUnits gl_MaxFragmentUniformComponents gl_MaxCombineTextureImageUnits gl_MaxDrawBuffers"),indentSwitch:!1,hooks:{"#":bi}}),GT=et({name:"nesc",keywords:V(Ar+" as atomic async call command component components configuration event generic implementation includes interface module new norace nx_struct nx_union post provides signal task uses abstract extends"),types:Zr,blockKeywords:V(qr),atoms:V("null true false"),hooks:{"#":bi}}),dg=et({name:"objectivec",keywords:V(Ar+" "+rg),types:og,builtin:V(sg),blockKeywords:V(qr+" @synthesize @try @catch @finally @autoreleasepool @synchronized"),defKeywords:V(Qo+" @interface @implementation @protocol @class"),dontIndentStatements:/^@.*$/,typeFirstDefinitions:!0,atoms:V("YES NO NULL Nil nil true false nullptr"),isReservedIdentifier:So,hooks:{"#":bi,"*":bo}}),NT=et({name:"objectivecpp",keywords:V(Ar+" "+rg+" "+ng),types:og,builtin:V(sg),blockKeywords:V(qr+" @synthesize @try @catch @finally @autoreleasepool @synchronized class try catch"),defKeywords:V(Qo+" @interface @implementation @protocol @class class namespace"),dontIndentStatements:/^@.*$|^template$/,typeFirstDefinitions:!0,atoms:V("YES NO NULL Nil nil true false nullptr"),isReservedIdentifier:So,hooks:{"#":bi,"*":bo,u:Qi,U:Qi,L:Qi,R:Qi,0:Se,1:Se,2:Se,3:Se,4:Se,5:Se,6:Se,7:Se,8:Se,9:Se,token:function(i,e,t){if(t=="variable"&&i.peek()=="("&&(e.prevToken==";"||e.prevToken==null||e.prevToken=="}")&&ag(i.current()))return"def"}},namespaceSeparator:"::"}),FT=et({name:"squirrel",keywords:V("base break clone continue const default delete enum extends function in class foreach local resume return this throw typeof yield constructor instanceof static"),types:Zr,blockKeywords:V("case catch class else for foreach if switch try while"),defKeywords:V("function local class"),typeFirstDefinitions:!0,atoms:V("true false null"),hooks:{"#":bi}}),go=null;function pg(i){return function(e,t){for(var n=!1,r,s=!1;!e.eol();){if(!n&&e.match('"')&&(i=="single"||e.match('""'))){s=!0;break}if(!n&&e.match("``")){go=pg(i),s=!0;break}r=e.next(),n=i=="single"&&!n&&r=="\\"}return s&&(t.tokenize=null),"string"}}var HT=et({name:"ceylon",keywords:V("abstracts alias assembly assert assign break case catch class continue dynamic else exists extends finally for function given if import in interface is let module new nonempty object of out outer package return satisfies super switch then this throw try value void while"),types:function(i){var e=i.charAt(0);return e===e.toUpperCase()&&e!==e.toLowerCase()},blockKeywords:V("case catch class dynamic else finally for function if interface module new object switch try while"),defKeywords:V("class dynamic function interface module object package value"),builtin:V("abstract actual aliased annotation by default deprecated doc final formal late license native optional sealed see serializable shared suppressWarnings tagged throws variable"),isPunctuationChar:/[\[\]{}\(\),;\:\.`]/,isOperatorChar:/[+\-*&%=<>!?|^~:\/]/,numberStart:/[\d#$]/,number:/^(?:#[\da-fA-F_]+|\$[01_]+|[\d_]+[kMGTPmunpf]?|[\d_]+\.[\d_]+(?:[eE][-+]?\d+|[kMGTPmunpf]|)|)/i,multiLineStrings:!0,typeFirstDefinitions:!0,atoms:V("true false null larger smaller equal empty finished"),indentSwitch:!1,styleDefs:!1,hooks:{"@":function(i){return i.eatWhile(/[\w\$_]/),"meta"},'"':function(i,e){return e.tokenize=pg(i.match('""')?"triple":"single"),e.tokenize(i,e)},"`":function(i,e){return!go||!i.match("`")?!1:(e.tokenize=go,go=null,e.tokenize(i,e))},"'":function(i){return i.match(/^(\\[^'\s]+|[^\\'])'/)?"string.special":(i.eatWhile(/[\w\$_\xa1-\uffff]/),"atom")},token:function(i,e,t){if((t=="variable"||t=="type")&&e.prevToken==".")return"variableName.special"}},languageData:{closeBrackets:{brackets:["(","[","{","'",'"','"""']}}});function cP(i){(i.interpolationStack||(i.interpolationStack=[])).push(i.tokenize)}function mg(i){return(i.interpolationStack||(i.interpolationStack=[])).pop()}function hP(i){return i.interpolationStack?i.interpolationStack.length:0}function oh(i,e,t,n){var r=!1;if(e.eat(i))if(e.eat(i))r=!0;else return"string";function s(o,a){for(var l=!1;!o.eol();){if(!n&&!l&&o.peek()=="$")return cP(a),a.tokenize=fP,"string";var c=o.next();if(c==i&&!l&&(!r||o.match(i+i))){a.tokenize=null;break}l=!n&&!l&&c=="\\"}return"string"}return t.tokenize=s,s(e,t)}function fP(i,e){return i.eat("$"),i.eat("{")?e.tokenize=null:e.tokenize=uP,null}function uP(i,e){return i.eatWhile(/[\w_]/),e.tokenize=mg(e),"variable"}var KT=et({name:"dart",keywords:V("this super static final const abstract class extends external factory implements mixin get native set typedef with enum throw rethrow assert break case continue default in return new deferred async await covariant try catch finally do else for if switch while import library export part of show hide is as extension on yield late required sealed base interface when inline"),blockKeywords:V("try catch finally do else for if switch while"),builtin:V("void bool num int double dynamic var String Null Never"),atoms:V("true false null"),number:/^(?:0x[a-f\d_]+|(?:[\d_]+\.?[\d_]*|\.[\d_]+)(?:e[-+]?[\d_]+)?)/i,hooks:{"@":function(i){return i.eatWhile(/[\w\$_\.]/),"meta"},"'":function(i,e){return oh("'",i,e,!1)},'"':function(i,e){return oh('"',i,e,!1)},r:function(i,e){var t=i.peek();return t=="'"||t=='"'?oh(i.next(),i,e,!0):!1},"}":function(i,e){return hP(e)>0?(e.tokenize=mg(e),null):!1},"/":function(i,e){return i.eat("*")?(e.tokenize=Rr(1),e.tokenize(i,e)):!1},token:function(i,e,t){if(t=="variable"){var n=RegExp("^[_$]*[A-Z][a-zA-Z0-9_$]*$","g");if(n.test(i.current()))return"type"}}}});function We(i){var e=i.client||{},t=i.atoms||{false:!0,true:!0,null:!0},n=i.builtin||M(Qg),r=i.keywords||M(Ni),s=i.operatorChars||/^[*+\-%<>!=&|~^\/]/,o=i.support||{},a=i.hooks||{},l=i.dateSQL||{date:!0,time:!0,timestamp:!0},c=i.backslashStringEscapes!==!1,h=i.brackets||/^[\{}\(\)\[\]]/,f=i.punctuation||/^[;.,:]/;function u(g,Q){var S=g.next();if(a[S]){var k=a[S](g,Q);if(k!==!1)return k}if(o.hexNumber&&(S=="0"&&g.match(/^[xX][0-9a-fA-F]+/)||(S=="x"||S=="X")&&g.match(/^'[0-9a-fA-F]*'/)))return"number";if(o.binaryNumber&&((S=="b"||S=="B")&&g.match(/^'[01]+'/)||S=="0"&&g.match(/^b[01]*/)))return"number";if(S.charCodeAt(0)>47&&S.charCodeAt(0)<58)return g.match(/^[0-9]*(\.[0-9]+)?([eE][-+]?[0-9]+)?/),o.decimallessFloat&&g.match(/^\.(?!\.)/),"number";if(S=="?"&&(g.eatSpace()||g.eol()||g.eat(";")))return"macroName";if(S=="'"||S=='"'&&o.doubleQuote)return Q.tokenize=O(S),Q.tokenize(g,Q);if((o.nCharCast&&(S=="n"||S=="N")||o.charsetCast&&S=="_"&&g.match(/[a-z][a-z0-9]*/i))&&(g.peek()=="'"||g.peek()=='"'))return"keyword";if(o.escapeConstant&&(S=="e"||S=="E")&&(g.peek()=="'"||g.peek()=='"'&&o.doubleQuote))return Q.tokenize=function($,R){return(R.tokenize=O($.next(),!0))($,R)},"keyword";if(o.commentSlashSlash&&S=="/"&&g.eat("/"))return g.skipToEnd(),"comment";if(o.commentHash&&S=="#"||S=="-"&&g.eat("-")&&(!o.commentSpaceRequired||g.eat(" ")))return g.skipToEnd(),"comment";if(S=="/"&&g.eat("*"))return Q.tokenize=p(1),Q.tokenize(g,Q);if(S=="."){if(o.zerolessFloat&&g.match(/^(?:\d+(?:e[+-]?\d+)?)/i))return"number";if(g.match(/^\.+/))return null;if(o.ODBCdotTable&&g.match(/^[\w\d_$#]+/))return"type"}else{if(s.test(S))return g.eatWhile(s),"operator";if(h.test(S))return"bracket";if(f.test(S))return g.eatWhile(f),"punctuation";if(S=="{"&&(g.match(/^( )*(d|D|t|T|ts|TS)( )*'[^']*'( )*}/)||g.match(/^( )*(d|D|t|T|ts|TS)( )*"[^"]*"( )*}/)))return"number";g.eatWhile(/^[_\w\d]/);var P=g.current().toLowerCase();return l.hasOwnProperty(P)&&(g.match(/^( )+'[^']*'/)||g.match(/^( )+"[^"]*"/))?"number":t.hasOwnProperty(P)?"atom":n.hasOwnProperty(P)?"type":r.hasOwnProperty(P)?"keyword":e.hasOwnProperty(P)?"builtin":null}}function O(g,Q){return function(S,k){for(var P=!1,$;($=S.next())!=null;){if($==g&&!P){k.tokenize=u;break}P=(c||Q)&&!P&&$=="\\"}return"string"}}function p(g){return function(Q,S){var k=Q.match(/^.*?(\/\*|\*\/)/);return k?k[1]=="/*"?S.tokenize=p(g+1):g>1?S.tokenize=p(g-1):S.tokenize=u:Q.skipToEnd(),"comment"}}function m(g,Q,S){Q.context={prev:Q.context,indent:g.indentation(),col:g.column(),type:S}}function b(g){g.indent=g.context.indent,g.context=g.context.prev}return{name:"sql",startState:function(){return{tokenize:u,context:null}},token:function(g,Q){if(g.sol()&&Q.context&&Q.context.align==null&&(Q.context.align=!1),Q.tokenize==u&&g.eatSpace())return null;var S=Q.tokenize(g,Q);if(S=="comment")return S;Q.context&&Q.context.align==null&&(Q.context.align=!0);var k=g.current();return k=="("?m(g,Q,")"):k=="["?m(g,Q,"]"):Q.context&&Q.context.type==k&&b(Q),S},indent:function(g,Q,S){var k=g.context;if(!k)return null;var P=Q.charAt(0)==k.type;return k.align?k.col+(P?0:1):k.indent+(P?0:S.unit)},languageData:{commentTokens:{line:o.commentSlashSlash?"//":o.commentHash?"#":"--",block:{open:"/*",close:"*/"}},closeBrackets:{brackets:["(","[","{","'",'"',"`"]}}}}function lh(i){for(var e;(e=i.next())!=null;)if(e=="`"&&!i.eat("`"))return"string.special";return i.backUp(i.current().length-1),i.eatWhile(/\w/)?"string.special":null}function OP(i){for(var e;(e=i.next())!=null;)if(e=='"'&&!i.eat('"'))return"string.special";return i.backUp(i.current().length-1),i.eatWhile(/\w/)?"string.special":null}function Gi(i){return i.eat("@")&&(i.match("session."),i.match("local."),i.match("global.")),i.eat("'")?(i.match(/^.*'/),"string.special"):i.eat('"')?(i.match(/^.*"/),"string.special"):i.eat("`")?(i.match(/^.*`/),"string.special"):i.match(/^[0-9a-zA-Z$\.\_]+/)?"string.special":null}function gg(i){return i.eat("N")?"atom":i.match(/^[a-zA-Z.#!?]/)?"string.special":null}var Ni="alter and as asc between by count create delete desc distinct drop from group having in insert into is join like not on or order select set table union update values where limit ";function M(i){for(var e={},t=i.split(" "),n=0;n!=^\&|\/]/,brackets:/^[\{}\(\)]/,punctuation:/^[;.,:/]/,backslashStringEscapes:!1,dateSQL:M("date datetimeoffset datetime2 smalldatetime datetime time"),hooks:{"@":Gi}}),iC=We({client:M("charset clear connect edit ego exit go help nopager notee nowarning pager print prompt quit rehash source status system tee"),keywords:M(Ni+"accessible action add after algorithm all analyze asensitive at authors auto_increment autocommit avg avg_row_length before binary binlog both btree cache call cascade cascaded case catalog_name chain change changed character check checkpoint checksum class_origin client_statistics close coalesce code collate collation collations column columns comment commit committed completion concurrent condition connection consistent constraint contains continue contributors convert cross current current_date current_time current_timestamp current_user cursor data database databases day_hour day_microsecond day_minute day_second deallocate dec declare default delay_key_write delayed delimiter des_key_file describe deterministic dev_pop dev_samp deviance diagnostics directory disable discard distinctrow div dual dumpfile each elseif enable enclosed end ends engine engines enum errors escape escaped even event events every execute exists exit explain extended fast fetch field fields first flush for force foreign found_rows full fulltext function general get global grant grants group group_concat handler hash help high_priority hosts hour_microsecond hour_minute hour_second if ignore ignore_server_ids import index index_statistics infile inner innodb inout insensitive insert_method install interval invoker isolation iterate key keys kill language last leading leave left level limit linear lines list load local localtime localtimestamp lock logs low_priority master master_heartbeat_period master_ssl_verify_server_cert masters match max max_rows maxvalue message_text middleint migrate min min_rows minute_microsecond minute_second mod mode modifies modify mutex mysql_errno natural next no no_write_to_binlog offline offset one online open optimize option optionally out outer outfile pack_keys parser partition partitions password phase plugin plugins prepare preserve prev primary privileges procedure processlist profile profiles purge query quick range read read_write reads real rebuild recover references regexp relaylog release remove rename reorganize repair repeatable replace require resignal restrict resume return returns revoke right rlike rollback rollup row row_format rtree savepoint schedule schema schema_name schemas second_microsecond security sensitive separator serializable server session share show signal slave slow smallint snapshot soname spatial specific sql sql_big_result sql_buffer_result sql_cache sql_calc_found_rows sql_no_cache sql_small_result sqlexception sqlstate sqlwarning ssl start starting starts status std stddev stddev_pop stddev_samp storage straight_join subclass_origin sum suspend table_name table_statistics tables tablespace temporary terminated to trailing transaction trigger triggers truncate uncommitted undo uninstall unique unlock upgrade usage use use_frm user user_resources user_statistics using utc_date utc_time utc_timestamp value variables varying view views warnings when while with work write xa xor year_month zerofill begin do then else loop repeat"),builtin:M("bool boolean bit blob decimal double float long longblob longtext medium mediumblob mediumint mediumtext time timestamp tinyblob tinyint tinytext text bigint int int1 int2 int3 int4 int8 integer float float4 float8 double char varbinary varchar varcharacter precision date datetime year unsigned signed numeric"),atoms:M("false true null unknown"),operatorChars:/^[*+\-%<>!=&|^]/,dateSQL:M("date time timestamp"),support:M("ODBCdotTable decimallessFloat zerolessFloat binaryNumber hexNumber doubleQuote nCharCast charsetCast commentHash commentSpaceRequired"),hooks:{"@":Gi,"`":lh,"\\":gg}}),nC=We({client:M("charset clear connect edit ego exit go help nopager notee nowarning pager print prompt quit rehash source status system tee"),keywords:M(Ni+"accessible action add after algorithm all always analyze asensitive at authors auto_increment autocommit avg avg_row_length before binary binlog both btree cache call cascade cascaded case catalog_name chain change changed character check checkpoint checksum class_origin client_statistics close coalesce code collate collation collations column columns comment commit committed completion concurrent condition connection consistent constraint contains continue contributors convert cross current current_date current_time current_timestamp current_user cursor data database databases day_hour day_microsecond day_minute day_second deallocate dec declare default delay_key_write delayed delimiter des_key_file describe deterministic dev_pop dev_samp deviance diagnostics directory disable discard distinctrow div dual dumpfile each elseif enable enclosed end ends engine engines enum errors escape escaped even event events every execute exists exit explain extended fast fetch field fields first flush for force foreign found_rows full fulltext function general generated get global grant grants group group_concat handler hard hash help high_priority hosts hour_microsecond hour_minute hour_second if ignore ignore_server_ids import index index_statistics infile inner innodb inout insensitive insert_method install interval invoker isolation iterate key keys kill language last leading leave left level limit linear lines list load local localtime localtimestamp lock logs low_priority master master_heartbeat_period master_ssl_verify_server_cert masters match max max_rows maxvalue message_text middleint migrate min min_rows minute_microsecond minute_second mod mode modifies modify mutex mysql_errno natural next no no_write_to_binlog offline offset one online open optimize option optionally out outer outfile pack_keys parser partition partitions password persistent phase plugin plugins prepare preserve prev primary privileges procedure processlist profile profiles purge query quick range read read_write reads real rebuild recover references regexp relaylog release remove rename reorganize repair repeatable replace require resignal restrict resume return returns revoke right rlike rollback rollup row row_format rtree savepoint schedule schema schema_name schemas second_microsecond security sensitive separator serializable server session share show shutdown signal slave slow smallint snapshot soft soname spatial specific sql sql_big_result sql_buffer_result sql_cache sql_calc_found_rows sql_no_cache sql_small_result sqlexception sqlstate sqlwarning ssl start starting starts status std stddev stddev_pop stddev_samp storage straight_join subclass_origin sum suspend table_name table_statistics tables tablespace temporary terminated to trailing transaction trigger triggers truncate uncommitted undo uninstall unique unlock upgrade usage use use_frm user user_resources user_statistics using utc_date utc_time utc_timestamp value variables varying view views virtual warnings when while with work write xa xor year_month zerofill begin do then else loop repeat"),builtin:M("bool boolean bit blob decimal double float long longblob longtext medium mediumblob mediumint mediumtext time timestamp tinyblob tinyint tinytext text bigint int int1 int2 int3 int4 int8 integer float float4 float8 double char varbinary varchar varcharacter precision date datetime year unsigned signed numeric"),atoms:M("false true null unknown"),operatorChars:/^[*+\-%<>!=&|^]/,dateSQL:M("date time timestamp"),support:M("ODBCdotTable decimallessFloat zerolessFloat binaryNumber hexNumber doubleQuote nCharCast charsetCast commentHash commentSpaceRequired"),hooks:{"@":Gi,"`":lh,"\\":gg}}),rC=We({client:M("auth backup bail binary changes check clone databases dbinfo dump echo eqp exit explain fullschema headers help import imposter indexes iotrace limit lint load log mode nullvalue once open output print prompt quit read restore save scanstats schema separator session shell show stats system tables testcase timeout timer trace vfsinfo vfslist vfsname width"),keywords:M(Ni+"abort action add after all analyze attach autoincrement before begin cascade case cast check collate column commit conflict constraint cross current_date current_time current_timestamp database default deferrable deferred detach each else end escape except exclusive exists explain fail for foreign full glob if ignore immediate index indexed initially inner instead intersect isnull key left limit match natural no notnull null of offset outer plan pragma primary query raise recursive references regexp reindex release rename replace restrict right rollback row savepoint temp temporary then to transaction trigger unique using vacuum view virtual when with without"),builtin:M("bool boolean bit blob decimal double float long longblob longtext medium mediumblob mediumint mediumtext time timestamp tinyblob tinyint tinytext text clob bigint int int2 int8 integer float double char varchar date datetime year unsigned signed numeric real"),atoms:M("null current_date current_time current_timestamp"),operatorChars:/^[*+\-%<>!=&|/~]/,dateSQL:M("date time timestamp datetime"),support:M("decimallessFloat zerolessFloat"),identifierQuote:'"',hooks:{"@":Gi,":":Gi,"?":Gi,$:Gi,'"':OP,"`":lh}}),sC=We({client:{},keywords:M("add all allow alter and any apply as asc authorize batch begin by clustering columnfamily compact consistency count create custom delete desc distinct drop each_quorum exists filtering from grant if in index insert into key keyspace keyspaces level limit local_one local_quorum modify nan norecursive nosuperuser not of on one order password permission permissions primary quorum rename revoke schema select set storage superuser table three to token truncate ttl two type unlogged update use user users using values where with writetime"),builtin:M("ascii bigint blob boolean counter decimal double float frozen inet int list map static text timestamp timeuuid tuple uuid varchar varint"),atoms:M("false true infinity NaN"),operatorChars:/^[<>=]/,dateSQL:{},support:M("commentSlashSlash decimallessFloat"),hooks:{}}),oC=We({client:M("appinfo arraysize autocommit autoprint autorecovery autotrace blockterminator break btitle cmdsep colsep compatibility compute concat copycommit copytypecheck define describe echo editfile embedded escape exec execute feedback flagger flush heading headsep instance linesize lno loboffset logsource long longchunksize markup native newpage numformat numwidth pagesize pause pno recsep recsepchar release repfooter repheader serveroutput shiftinout show showmode size spool sqlblanklines sqlcase sqlcode sqlcontinue sqlnumber sqlpluscompatibility sqlprefix sqlprompt sqlterminator suffix tab term termout time timing trimout trimspool ttitle underline verify version wrap"),keywords:M("abort accept access add all alter and any array arraylen as asc assert assign at attributes audit authorization avg base_table begin between binary_integer body boolean by case cast char char_base check close cluster clusters colauth column comment commit compress connect connected constant constraint crash create current currval cursor data_base database date dba deallocate debugoff debugon decimal declare default definition delay delete desc digits dispose distinct do drop else elseif elsif enable end entry escape exception exception_init exchange exclusive exists exit external fast fetch file for force form from function generic goto grant group having identified if immediate in increment index indexes indicator initial initrans insert interface intersect into is key level library like limited local lock log logging long loop master maxextents maxtrans member minextents minus mislabel mode modify multiset new next no noaudit nocompress nologging noparallel not nowait number_base object of off offline on online only open option or order out package parallel partition pctfree pctincrease pctused pls_integer positive positiven pragma primary prior private privileges procedure public raise range raw read rebuild record ref references refresh release rename replace resource restrict return returning returns reverse revoke rollback row rowid rowlabel rownum rows run savepoint schema segment select separate session set share snapshot some space split sql start statement storage subtype successful synonym tabauth table tables tablespace task terminate then to trigger truncate type union unique unlimited unrecoverable unusable update use using validate value values variable view views when whenever where while with work"),builtin:M("abs acos add_months ascii asin atan atan2 average bfile bfilename bigserial bit blob ceil character chartorowid chr clob concat convert cos cosh count dec decode deref dual dump dup_val_on_index empty error exp false float floor found glb greatest hextoraw initcap instr instrb int integer isopen last_day least length lengthb ln lower lpad ltrim lub make_ref max min mlslabel mod months_between natural naturaln nchar nclob new_time next_day nextval nls_charset_decl_len nls_charset_id nls_charset_name nls_initcap nls_lower nls_sort nls_upper nlssort no_data_found notfound null number numeric nvarchar2 nvl others power rawtohex real reftohex round rowcount rowidtochar rowtype rpad rtrim serial sign signtype sin sinh smallint soundex sqlcode sqlerrm sqrt stddev string substr substrb sum sysdate tan tanh to_char text to_date to_label to_multi_byte to_number to_single_byte translate true trunc uid unlogged upper user userenv varchar varchar2 variance varying vsize xml"),operatorChars:/^[*\/+\-%<>!=~]/,dateSQL:M("date time timestamp"),support:M("doubleQuote nCharCast zerolessFloat binaryNumber hexNumber")}),aC=We({keywords:M("select alter $elem$ $key$ $value$ add after all analyze and archive as asc before between binary both bucket buckets by cascade case cast change cluster clustered clusterstatus collection column columns comment compute concatenate continue create cross cursor data database databases dbproperties deferred delete delimited desc describe directory disable distinct distribute drop else enable end escaped exclusive exists explain export extended external fetch fields fileformat first format formatted from full function functions grant group having hold_ddltime idxproperties if import in index indexes inpath inputdriver inputformat insert intersect into is items join keys lateral left like limit lines load local location lock locks mapjoin materialized minus msck no_drop nocompress not of offline on option or order out outer outputdriver outputformat overwrite partition partitioned partitions percent plus preserve procedure purge range rcfile read readonly reads rebuild recordreader recordwriter recover reduce regexp rename repair replace restrict revoke right rlike row schema schemas semi sequencefile serde serdeproperties set shared show show_database sort sorted ssl statistics stored streamtable table tables tablesample tblproperties temporary terminated textfile then tmp to touch transform trigger unarchive undo union uniquejoin unlock update use using utc utc_tmestamp view when where while with admin authorization char compact compactions conf cube current current_date current_timestamp day decimal defined dependency directories elem_type exchange file following for grouping hour ignore inner interval jar less logical macro minute month more none noscan over owner partialscan preceding pretty principals protection reload rewrite role roles rollup rows second server sets skewed transactions truncate unbounded unset uri user values window year"),builtin:M("bool boolean long timestamp tinyint smallint bigint int float double date datetime unsigned string array struct map uniontype key_type utctimestamp value_type varchar"),atoms:M("false true null unknown"),operatorChars:/^[*+\-%<>!=]/,dateSQL:M("date timestamp"),support:M("ODBCdotTable doubleQuote binaryNumber hexNumber")}),lC=We({client:M("source"),keywords:M(Ni+"a abort abs absent absolute access according action ada add admin after aggregate alias all allocate also alter always analyse analyze and any are array array_agg array_max_cardinality as asc asensitive assert assertion assignment asymmetric at atomic attach attribute attributes authorization avg backward base64 before begin begin_frame begin_partition bernoulli between bigint binary bit bit_length blob blocked bom boolean both breadth by c cache call called cardinality cascade cascaded case cast catalog catalog_name ceil ceiling chain char char_length character character_length character_set_catalog character_set_name character_set_schema characteristics characters check checkpoint class class_origin clob close cluster coalesce cobol collate collation collation_catalog collation_name collation_schema collect column column_name columns command_function command_function_code comment comments commit committed concurrently condition condition_number configuration conflict connect connection connection_name constant constraint constraint_catalog constraint_name constraint_schema constraints constructor contains content continue control conversion convert copy corr corresponding cost count covar_pop covar_samp create cross csv cube cume_dist current current_catalog current_date current_default_transform_group current_path current_role current_row current_schema current_time current_timestamp current_transform_group_for_type current_user cursor cursor_name cycle data database datalink datatype date datetime_interval_code datetime_interval_precision day db deallocate debug dec decimal declare default defaults deferrable deferred defined definer degree delete delimiter delimiters dense_rank depends depth deref derived desc describe descriptor detach detail deterministic diagnostics dictionary disable discard disconnect dispatch distinct dlnewcopy dlpreviouscopy dlurlcomplete dlurlcompleteonly dlurlcompletewrite dlurlpath dlurlpathonly dlurlpathwrite dlurlscheme dlurlserver dlvalue do document domain double drop dump dynamic dynamic_function dynamic_function_code each element else elseif elsif empty enable encoding encrypted end end_frame end_partition endexec enforced enum equals errcode error escape event every except exception exclude excluding exclusive exec execute exists exit exp explain expression extension external extract false family fetch file filter final first first_value flag float floor following for force foreach foreign fortran forward found frame_row free freeze from fs full function functions fusion g general generated get global go goto grant granted greatest group grouping groups handler having header hex hierarchy hint hold hour id identity if ignore ilike immediate immediately immutable implementation implicit import in include including increment indent index indexes indicator info inherit inherits initially inline inner inout input insensitive insert instance instantiable instead int integer integrity intersect intersection interval into invoker is isnull isolation join k key key_member key_type label lag language large last last_value lateral lead leading leakproof least left length level library like like_regex limit link listen ln load local localtime localtimestamp location locator lock locked log logged loop lower m map mapping match matched materialized max max_cardinality maxvalue member merge message message_length message_octet_length message_text method min minute minvalue mod mode modifies module month more move multiset mumps name names namespace national natural nchar nclob nesting new next nfc nfd nfkc nfkd nil no none normalize normalized not nothing notice notify notnull nowait nth_value ntile null nullable nullif nulls number numeric object occurrences_regex octet_length octets of off offset oids old on only open operator option options or order ordering ordinality others out outer output over overlaps overlay overriding owned owner p pad parallel parameter parameter_mode parameter_name parameter_ordinal_position parameter_specific_catalog parameter_specific_name parameter_specific_schema parser partial partition pascal passing passthrough password path percent percent_rank percentile_cont percentile_disc perform period permission pg_context pg_datatype_name pg_exception_context pg_exception_detail pg_exception_hint placing plans pli policy portion position position_regex power precedes preceding precision prepare prepared preserve primary print_strict_params prior privileges procedural procedure procedures program public publication query quote raise range rank read reads real reassign recheck recovery recursive ref references referencing refresh regr_avgx regr_avgy regr_count regr_intercept regr_r2 regr_slope regr_sxx regr_sxy regr_syy reindex relative release rename repeatable replace replica requiring reset respect restart restore restrict result result_oid return returned_cardinality returned_length returned_octet_length returned_sqlstate returning returns reverse revoke right role rollback rollup routine routine_catalog routine_name routine_schema routines row row_count row_number rows rowtype rule savepoint scale schema schema_name schemas scope scope_catalog scope_name scope_schema scroll search second section security select selective self sensitive sequence sequences serializable server server_name session session_user set setof sets share show similar simple size skip slice smallint snapshot some source space specific specific_name specifictype sql sqlcode sqlerror sqlexception sqlstate sqlwarning sqrt stable stacked standalone start state statement static statistics stddev_pop stddev_samp stdin stdout storage strict strip structure style subclass_origin submultiset subscription substring substring_regex succeeds sum symmetric sysid system system_time system_user t table table_name tables tablesample tablespace temp template temporary text then ties time timestamp timezone_hour timezone_minute to token top_level_count trailing transaction transaction_active transactions_committed transactions_rolled_back transform transforms translate translate_regex translation treat trigger trigger_catalog trigger_name trigger_schema trim trim_array true truncate trusted type types uescape unbounded uncommitted under unencrypted union unique unknown unlink unlisten unlogged unnamed unnest until untyped update upper uri usage use_column use_variable user user_defined_type_catalog user_defined_type_code user_defined_type_name user_defined_type_schema using vacuum valid validate validator value value_of values var_pop var_samp varbinary varchar variable_conflict variadic varying verbose version versioning view views volatile warning when whenever where while whitespace width_bucket window with within without work wrapper write xml xmlagg xmlattributes xmlbinary xmlcast xmlcomment xmlconcat xmldeclaration xmldocument xmlelement xmlexists xmlforest xmliterate xmlnamespaces xmlparse xmlpi xmlquery xmlroot xmlschema xmlserialize xmltable xmltext xmlvalidate year yes zone"),builtin:M("bigint int8 bigserial serial8 bit varying varbit boolean bool box bytea character char varchar cidr circle date double precision float8 inet integer int int4 interval json jsonb line lseg macaddr macaddr8 money numeric decimal path pg_lsn point polygon real float4 smallint int2 smallserial serial2 serial serial4 text time without zone with timetz timestamp timestamptz tsquery tsvector txid_snapshot uuid xml"),atoms:M("false true null unknown"),operatorChars:/^[*\/+\-%<>!=&|^\/#@?~]/,backslashStringEscapes:!1,dateSQL:M("date time timestamp"),support:M("ODBCdotTable decimallessFloat zerolessFloat binaryNumber hexNumber nCharCast charsetCast escapeConstant")}),cC=We({keywords:M("ancestor and asc by contains desc descendant distinct from group has in is limit offset on order select superset where"),atoms:M("false true"),builtin:M("blob datetime first key __key__ string integer double boolean null"),operatorChars:/^[*+\-%<>!=]/}),hC=We({client:M("source"),keywords:M("abort absolute access action active add admin after aggregate all also alter always analyse analyze and any array as asc assertion assignment asymmetric at authorization backward before begin between bigint binary bit boolean both by cache called cascade cascaded case cast chain char character characteristics check checkpoint class close cluster coalesce codegen collate column comment commit committed concurrency concurrently configuration connection constraint constraints contains content continue conversion copy cost cpu_rate_limit create createdb createexttable createrole createuser cross csv cube current current_catalog current_date current_role current_schema current_time current_timestamp current_user cursor cycle data database day deallocate dec decimal declare decode default defaults deferrable deferred definer delete delimiter delimiters deny desc dictionary disable discard distinct distributed do document domain double drop dxl each else enable encoding encrypted end enum errors escape every except exchange exclude excluding exclusive execute exists explain extension external extract false family fetch fields filespace fill filter first float following for force foreign format forward freeze from full function global grant granted greatest group group_id grouping handler hash having header hold host hour identity if ignore ilike immediate immutable implicit in including inclusive increment index indexes inherit inherits initially inline inner inout input insensitive insert instead int integer intersect interval into invoker is isnull isolation join key language large last leading least left level like limit list listen load local localtime localtimestamp location lock log login mapping master match maxvalue median merge minute minvalue missing mode modifies modify month move name names national natural nchar new newline next no nocreatedb nocreateexttable nocreaterole nocreateuser noinherit nologin none noovercommit nosuperuser not nothing notify notnull nowait null nullif nulls numeric object of off offset oids old on only operator option options or order ordered others out outer over overcommit overlaps overlay owned owner parser partial partition partitions passing password percent percentile_cont percentile_disc placing plans position preceding precision prepare prepared preserve primary prior privileges procedural procedure protocol queue quote randomly range read readable reads real reassign recheck recursive ref references reindex reject relative release rename repeatable replace replica reset resource restart restrict returning returns revoke right role rollback rollup rootpartition row rows rule savepoint scatter schema scroll search second security segment select sequence serializable session session_user set setof sets share show similar simple smallint some split sql stable standalone start statement statistics stdin stdout storage strict strip subpartition subpartitions substring superuser symmetric sysid system table tablespace temp template temporary text then threshold ties time timestamp to trailing transaction treat trigger trim true truncate trusted type unbounded uncommitted unencrypted union unique unknown unlisten until update user using vacuum valid validation validator value values varchar variadic varying verbose version view volatile web when where whitespace window with within without work writable write xml xmlattributes xmlconcat xmlelement xmlexists xmlforest xmlparse xmlpi xmlroot xmlserialize year yes zone"),builtin:M("bigint int8 bigserial serial8 bit varying varbit boolean bool box bytea character char varchar cidr circle date double precision float float8 inet integer int int4 interval json jsonb line lseg macaddr macaddr8 money numeric decimal path pg_lsn point polygon real float4 smallint int2 smallserial serial2 serial serial4 text time without zone with timetz timestamp timestamptz tsquery tsvector txid_snapshot uuid xml"),atoms:M("false true null unknown"),operatorChars:/^[*+\-%<>!=&|^\/#@?~]/,dateSQL:M("date time timestamp"),support:M("ODBCdotTable decimallessFloat zerolessFloat binaryNumber hexNumber nCharCast charsetCast")}),fC=We({keywords:M("add after all alter analyze and anti archive array as asc at between bucket buckets by cache cascade case cast change clear cluster clustered codegen collection column columns comment commit compact compactions compute concatenate cost create cross cube current current_date current_timestamp database databases data dbproperties defined delete delimited deny desc describe dfs directories distinct distribute drop else end escaped except exchange exists explain export extended external false fields fileformat first following for format formatted from full function functions global grant group grouping having if ignore import in index indexes inner inpath inputformat insert intersect interval into is items join keys last lateral lazy left like limit lines list load local location lock locks logical macro map minus msck natural no not null nulls of on optimize option options or order out outer outputformat over overwrite partition partitioned partitions percent preceding principals purge range recordreader recordwriter recover reduce refresh regexp rename repair replace reset restrict revoke right rlike role roles rollback rollup row rows schema schemas select semi separated serde serdeproperties set sets show skewed sort sorted start statistics stored stratify struct table tables tablesample tblproperties temp temporary terminated then to touch transaction transactions transform true truncate unarchive unbounded uncache union unlock unset use using values view when where window with"),builtin:M("tinyint smallint int bigint boolean float double string binary timestamp decimal array map struct uniontype delimited serde sequencefile textfile rcfile inputformat outputformat"),atoms:M("false true null"),operatorChars:/^[*\/+\-%<>!=~&|^]/,dateSQL:M("date time timestamp"),support:M("ODBCdotTable doubleQuote zerolessFloat")}),uC=We({client:M("source"),keywords:M("alter and as asc between by count create delete desc distinct drop from group having in insert into is join like not on or order select set table union update values where limit after all and as at asc avedev avg between by case cast coalesce count create current_timestamp day days delete define desc distinct else end escape events every exists false first from full group having hour hours in inner insert instanceof into irstream is istream join last lastweekday left limit like max match_recognize matches median measures metadatasql min minute minutes msec millisecond milliseconds not null offset on or order outer output partition pattern prev prior regexp retain-union retain-intersection right rstream sec second seconds select set some snapshot sql stddev sum then true unidirectional until update variable weekday when where window"),builtin:{},atoms:M("false true null"),operatorChars:/^[*+\-%<>!=&|^\/#@?~]/,dateSQL:M("time"),support:M("decimallessFloat zerolessFloat binaryNumber hexNumber")});var bg={name:"toml",startState:function(){return{inString:!1,stringType:"",lhs:!0,inArray:0}},token:function(i,e){let t;if(!e.inString&&(t=i.match(/^('''|"""|'|")/))&&(e.stringType=t[0],e.inString=!0),i.sol()&&!e.inString&&e.inArray===0&&(e.lhs=!0),e.inString){for(;e.inString;)if(i.match(e.stringType))e.inString=!1;else if(i.peek()==="\\")i.next(),i.next();else{if(i.eol())break;i.match(/^.[^\\\"\']*/)}return e.lhs?"property":"string"}else{if(e.inArray&&i.peek()==="]")return i.next(),e.inArray--,"bracket";if(e.lhs&&i.peek()==="["&&i.skipTo("]"))return i.next(),i.peek()==="]"&&i.next(),"atom";if(i.peek()==="#")return i.skipToEnd(),"comment";if(i.eatSpace())return null;if(e.lhs&&i.eatWhile(function(n){return n!="="&&n!=" "}))return"property";if(e.lhs&&i.peek()==="=")return i.next(),e.lhs=!1,null;if(!e.lhs&&i.match(/^\d\d\d\d[\d\-\:\.T]*Z/))return"atom";if(!e.lhs&&(i.match("true")||i.match("false")))return"atom";if(!e.lhs&&i.peek()==="[")return e.inArray++,i.next(),"bracket";if(!e.lhs&&i.match(/^\-?\d+(?:\.\d+)?/))return"number";i.eatSpace()||i.next()}return null},languageData:{commentTokens:{line:"#"}}};var dP=ge({"for in if else endfor endif":d.controlKeyword,"Attribute/Identifier":d.definition(d.propertyName),"ForIntro/Identifier":d.definition(d.propertyName),"Block/Identifier":d.definitionKeyword,"FunctionCall/Identifier":d.function(d.variableName),"Attribute/Expression":d.attributeValue,"VariableExpr/Identifier":d.variableName,"GetAttr/Identifier":d.variableName,Identifier:d.name,"LiteralValue/...":d.literal,"StringLit/... TemplateLiteral":d.string,NumericLit:d.number,BoolLit:d.bool,NullLit:d.null,Comment:d.comment,LineComment:d.lineComment,BlockComment:d.blockComment,"( )":d.paren,"{ }":d.bracket,"[ ]":d.squareBracket,ArithOp:d.arithmeticOperator,LogicOp:d.logicOperator,CompareOp:d.compareOperator,ControlOp:d.controlOperator,HeredocIdentifier:d.special(d.controlKeyword),HeredocStart:d.special(d.brace),"TemplateInterpolationStart TemplateInterpolationEnd":d.special(d.brace),"TemplateDirectiveStart TemplateDirectiveEnd":d.special(d.brace),StripMarker:d.special(d.brace),Ellipsis:d.punctuation,": =>":d.punctuation,",":d.separator}),ch=1,hh=2,fh=3,uh=4,Oh=5,dh=6,Rn=7,Ze=93,Te={QUOTED_TEMPLATE:1,TEMPLATE_INTERPOLATION:2,TEMPLATE_DIRECTIVE:4,HEREDOC_TEMPLATE:8},pP=function(i){var e=0,t,n;if(i.length===0)return e;for(t=0;t{if(e.canShift(ch)&&!(e.context&&e.context.type===Te.QUOTED_TEMPLATE)&&String.fromCharCode(i.next)==='"')return i.advance(),i.acceptToken(ch)},{contextual:!0,fallback:!0}),bP=new K((i,e)=>{if(e.canShift(hh)&&e.context&&e.context.type===Te.QUOTED_TEMPLATE&&String.fromCharCode(i.next)==='"')return i.advance(),i.acceptToken(hh)},{contextual:!0,fallback:!0}),SP=new K((i,e)=>{if(e.canShift(Ze)&&e.context&&e.context.type===Te.QUOTED_TEMPLATE)switch(String.fromCharCode(i.next)){case"\\":switch(i.advance(),String.fromCharCode(i.next)){case'"':case"n":case"r":case"t":case"\\":return i.advance(),i.acceptToken(Ze);case"u":for(let t=0;t<4;t++)if(i.advance(),!/[0-9a-fA-F]/.test(String.fromCharCode(i.next)))return;return i.advance(),i.acceptToken(Ze);case"U":for(let t=0;t<8;t++)if(i.advance(),!/[0-9a-fA-F]/.test(String.fromCharCode(i.next)))return;return i.advance(),i.acceptToken(Ze);default:return}}if(e.canShift(Ze)&&e.context&&(e.context.type===Te.QUOTED_TEMPLATE||e.context.type===Te.HEREDOC_TEMPLATE)&&i.next!==-1)return i.advance(),i.acceptToken(Ze)},{contextual:!0,fallback:!0}),yP=new K((i,e)=>{if(e.canShift(fh)&&e.canShift(Ze)&&!(e.context&&e.context.type===Te.TEMPLATE_INTERPOLATION)&&String.fromCharCode(i.next)==="$")return i.advance(),String.fromCharCode(i.next)==="{"?(i.advance(),i.acceptToken(fh)):(String.fromCharCode(i.next)==="$"&&(i.advance(),String.fromCharCode(i.next)==="{")&&i.advance(),i.acceptToken(Ze))},{contextual:!0,fallback:!0}),kP=new K((i,e)=>{if(e.canShift(uh)&&e.context&&e.context.type===Te.TEMPLATE_INTERPOLATION&&String.fromCharCode(i.next)==="}")return i.advance(),i.acceptToken(uh)},{contextual:!0,fallback:!0}),xP=new K((i,e)=>{if(e.canShift(Oh)&&e.canShift(Ze)&&!(e.context&&e.context.type===Te.TEMPLATE_DIRECTIVE)&&String.fromCharCode(i.next)==="%")return i.advance(),String.fromCharCode(i.next)==="{"?(i.advance(),i.acceptToken(Oh)):(String.fromCharCode(i.next)==="%"&&(i.advance(),String.fromCharCode(i.next)==="{")&&i.advance(),i.acceptToken(Ze))},{contextual:!0,fallback:!0}),wP=new K((i,e)=>{if(e.canShift(dh)&&e.context&&e.context.type===Te.TEMPLATE_DIRECTIVE&&String.fromCharCode(i.next)==="}")return i.advance(),i.acceptToken(dh)},{contextual:!0,fallback:!0}),PP=new K((i,e)=>{if(e.canShift(Rn)&&!(e.context&&e.context.type===Te.HEREDOC_TEMPLATE)&&i.next!==-1){let t=String.fromCharCode(i.next);for(;/[0-9a-zA-Z]/.test(t)||t==="_"||t==="-";)i.advance(),t=String.fromCharCode(i.next);return i.acceptToken(Rn)}if(e.canShift(Rn)&&e.canShift(Ze)&&e.context&&e.context.type===Te.HEREDOC_TEMPLATE&&i.next!=-1){let t=e.context.heredoc_identifier,n=!1,r=!1,s=String.fromCharCode(i.next);for(;/\s/.test(s);)r=!0,s===` +`,{label:"if",detail:"block",type:"keyword"}),ce("if ${}:\n ${}\nelse:\n ${}",{label:"if",detail:"/ else block",type:"keyword"}),ce("class ${name}:\n def __init__(self, ${params}):\n ${}",{label:"class",detail:"definition",type:"keyword"}),ce("import ${module}",{label:"import",detail:"statement",type:"keyword"}),ce("from ${module} import ${names}",{label:"from",detail:"import",type:"keyword"})],vw=Bs(Mm,Is(ww.concat(Pw)));function ih(i){let{node:e,pos:t}=i,n=i.lineIndent(t,-1),r=null;for(;;){let s=e.childBefore(t);if(s)if(s.name=="Comment")t=s.from;else if(s.name=="Body"||s.name=="MatchBody")i.baseIndentFor(s)+i.unit<=n&&(r=s),e=s;else if(s.name=="MatchClause")e=s;else if(s.type.is("Statement"))e=s;else break;else break}return r}function nh(i,e){let t=i.baseIndentFor(e),n=i.lineAt(i.pos,-1),r=n.from+n.text.length;return/^\s*($|#)/.test(n.text)&&i.node.tot?null:t+i.unit}var rh=ve.define({name:"python",parser:Zm.configure({props:[we.add({Body:i=>{var e;let t=/^\s*(#|$)/.test(i.textAfter)&&ih(i)||i.node;return(e=nh(i,t))!==null&&e!==void 0?e:i.continue()},MatchBody:i=>{var e;let t=ih(i);return(e=nh(i,t||i.node))!==null&&e!==void 0?e:i.continue()},IfStatement:i=>/^\s*(else:|elif )/.test(i.textAfter)?i.baseIndent:i.continue(),"ForStatement WhileStatement":i=>/^\s*else:/.test(i.textAfter)?i.baseIndent:i.continue(),TryStatement:i=>/^\s*(except[ :]|finally:|else:)/.test(i.textAfter)?i.baseIndent:i.continue(),MatchStatement:i=>/^\s*case /.test(i.textAfter)?i.baseIndent+i.unit:i.continue(),"TupleExpression ComprehensionExpression ParamList ArgList ParenthesizedExpression":St({closing:")"}),"DictionaryExpression DictionaryComprehensionExpression SetExpression SetComprehensionExpression":St({closing:"}"}),"ArrayExpression ArrayComprehensionExpression":St({closing:"]"}),MemberExpression:i=>i.baseIndent+i.unit,"String FormatString":()=>null,Script:i=>{var e;let t=ih(i);return(e=t&&nh(i,t))!==null&&e!==void 0?e:i.continue()}}),$e.add({"ArrayExpression DictionaryExpression SetExpression TupleExpression":ct,Body:(i,e)=>({from:i.from+1,to:i.to-(i.to==e.doc.length?0:1)}),"String FormatString":(i,e)=>({from:e.doc.lineAt(i.from).to,to:i.to})})]}),languageData:{closeBrackets:{brackets:["(","[","{","'",'"',"'''",'"""'],stringPrefixes:["f","fr","rf","r","u","b","br","rb","F","FR","RF","R","U","B","BR","RB"]},commentTokens:{line:"#"},indentOnInput:/^\s*([\}\]\)]|else:|elif |except |finally:|case\s+[^:]*:?)$/}});function Wm(){return new pe(rh,[rh.data.of({autocomplete:xw}),rh.data.of({autocomplete:vw})])}var $w=ge({String:d.string,Number:d.number,"True False":d.bool,PropertyName:d.propertyName,Null:d.null,", :":d.separator,"[ ]":d.squareBracket,"{ }":d.brace}),jm=Pe.deserialize({version:14,states:"$bOVQPOOOOQO'#Cb'#CbOnQPO'#CeOvQPO'#ClOOQO'#Cr'#CrQOQPOOOOQO'#Cg'#CgO}QPO'#CfO!SQPO'#CtOOQO,59P,59PO![QPO,59PO!aQPO'#CuOOQO,59W,59WO!iQPO,59WOVQPO,59QOqQPO'#CmO!nQPO,59`OOQO1G.k1G.kOVQPO'#CnO!vQPO,59aOOQO1G.r1G.rOOQO1G.l1G.lOOQO,59X,59XOOQO-E6k-E6kOOQO,59Y,59YOOQO-E6l-E6l",stateData:"#O~OeOS~OQSORSOSSOTSOWQO_ROgPO~OVXOgUO~O^[O~PVO[^O~O]_OVhX~OVaO~O]bO^iX~O^dO~O]_OVha~O]bO^ia~O",goto:"!kjPPPPPPkPPkqwPPPPk{!RPPP!XP!e!hXSOR^bQWQRf_TVQ_Q`WRg`QcZRicQTOQZRQe^RhbRYQR]R",nodeNames:"\u26A0 JsonText True False Null Number String } { Object Property PropertyName : , ] [ Array",maxTerm:25,nodeProps:[["isolate",-2,6,11,""],["openedBy",7,"{",14,"["],["closedBy",8,"}",15,"]"]],propSources:[$w],skippedNodes:[0],repeatNodeCount:2,tokenData:"(|~RaXY!WYZ!W]^!Wpq!Wrs!]|}$u}!O$z!Q!R%T!R![&c![!]&t!}#O&y#P#Q'O#Y#Z'T#b#c'r#h#i(Z#o#p(r#q#r(w~!]Oe~~!`Wpq!]qr!]rs!xs#O!]#O#P!}#P;'S!];'S;=`$o<%lO!]~!}Og~~#QXrs!]!P!Q!]#O#P!]#U#V!]#Y#Z!]#b#c!]#f#g!]#h#i!]#i#j#m~#pR!Q![#y!c!i#y#T#Z#y~#|R!Q![$V!c!i$V#T#Z$V~$YR!Q![$c!c!i$c#T#Z$c~$fR!Q![!]!c!i!]#T#Z!]~$rP;=`<%l!]~$zO]~~$}Q!Q!R%T!R![&c~%YRT~!O!P%c!g!h%w#X#Y%w~%fP!Q![%i~%nRT~!Q![%i!g!h%w#X#Y%w~%zR{|&T}!O&T!Q![&Z~&WP!Q![&Z~&`PT~!Q![&Z~&hST~!O!P%c!Q![&c!g!h%w#X#Y%w~&yO[~~'OO_~~'TO^~~'WP#T#U'Z~'^P#`#a'a~'dP#g#h'g~'jP#X#Y'm~'rOR~~'uP#i#j'x~'{P#`#a(O~(RP#`#a(U~(ZOS~~(^P#f#g(a~(dP#i#j(g~(jP#X#Y(m~(rOQ~~(wOW~~(|OV~",tokenizers:[0],topRules:{JsonText:[0,1]},tokenPrec:0});var Tw=ve.define({name:"json",parser:jm.configure({props:[we.add({Object:Yt({except:/^\s*\}/}),Array:Yt({except:/^\s*\]/})}),$e.add({"Object Array":ct})]}),languageData:{closeBrackets:{brackets:["[","{",'"']},indentOnInput:/^\s*[\}\]]$/}});function Vm(){return new pe(Tw)}function Oo(i){for(var e={},t=0;t~^?!",Zw=":;,.(){}[]",qw=/^\-?0b[01][01_]*/,Ew=/^\-?0o[0-7][0-7_]*/,zw=/^\-?0x[\dA-Fa-f][\dA-Fa-f_]*(?:(?:\.[\dA-Fa-f][\dA-Fa-f_]*)?[Pp]\-?\d[\d_]*)?/,Lw=/^\-?\d[\d_]*(?:\.\d[\d_]*)?(?:[Ee]\-?\d[\d_]*)?/,Mw=/^\$\d+|(`?)[_A-Za-z][_A-Za-z$0-9]*\1/,Ww=/^\.(?:\$\d+|(`?)[_A-Za-z][_A-Za-z$0-9]*\1)/,jw=/^\#[A-Za-z]+/,Vw=/^@(?:\$\d+|(`?)[_A-Za-z][_A-Za-z$0-9]*\1)/;function Dm(i,e,t){if(i.sol()&&(e.indented=i.indentation()),i.eatSpace())return null;var n=i.peek();if(n=="/"){if(i.match("//"))return i.skipToEnd(),"comment";if(i.match("/*"))return e.tokenize.push(sh),sh(i,e)}if(i.match(jw))return"builtin";if(i.match(Vw))return"attribute";if(i.match(qw)||i.match(Ew)||i.match(zw)||i.match(Lw))return"number";if(i.match(Ww))return"property";if(Aw.indexOf(n)>-1)return i.next(),"operator";if(Zw.indexOf(n)>-1)return i.next(),i.match(".."),"punctuation";var r;if(r=i.match(/("""|"|')/)){var s=Yw.bind(null,r[0]);return e.tokenize.push(s),s(i,e)}if(i.match(Mw)){var o=i.current();return Rw.hasOwnProperty(o)?"type":_w.hasOwnProperty(o)?"atom":Cw.hasOwnProperty(o)?(Xw.hasOwnProperty(o)&&(e.prev="define"),"keyword"):t=="define"?"def":"variable"}return i.next(),null}function Dw(){var i=0;return function(e,t,n){var r=Dm(e,t,n);if(r=="punctuation"){if(e.current()=="(")++i;else if(e.current()==")"){if(i==0)return e.backUp(1),t.tokenize.pop(),t.tokenize[t.tokenize.length-1](e,t);--i}}return r}}function Yw(i,e,t){for(var n=i.length==1,r,s=!1;r=e.peek();)if(s){if(e.next(),r=="(")return t.tokenize.push(Dw()),"string";s=!1}else{if(e.match(i))return t.tokenize.pop(),"string";e.next(),s=r=="\\"}return n&&t.tokenize.pop(),"string"}function sh(i,e){for(var t;t=i.next();)if(t==="/"&&i.eat("*"))e.tokenize.push(sh);else if(t==="*"&&i.eat("/")){e.tokenize.pop();break}return"comment"}function Iw(i,e,t){this.prev=i,this.align=e,this.indented=t}function Bw(i,e){var t=e.match(/^\s*($|\/[\/\*]|[)}\]])/,!1)?null:e.column()+1;i.context=new Iw(i.context,t,i.indented)}function Uw(i){i.context&&(i.indented=i.context.indented,i.context=i.context.prev)}var Ym={name:"swift",startState:function(){return{prev:null,context:null,indented:0,tokenize:[]}},token:function(i,e){var t=e.prev;e.prev=null;var n=e.tokenize[e.tokenize.length-1]||Dm,r=n(i,e,t);if(!r||r=="comment"?e.prev=t:e.prev||(e.prev=r),r=="punctuation"){var s=/[\(\[\{]|([\]\)\}])/.exec(i.current());s&&(s[1]?Uw:Bw)(e,i)}return r},indent:function(i,e,t){var n=i.context;if(!n)return 0;var r=/^[\]\}\)]/.test(e);return n.align!=null?n.align-(r?1:0):n.indented+(r?0:t.unit)},languageData:{indentOnInput:/^\s*[\)\}\]]$/,commentTokens:{line:"//",block:{open:"/*",close:"*/"}},closeBrackets:{brackets:["(","[","{","'",'"',"`"]}}};var oh={};function ah(i,e){for(var t=0;t1&&i.eat("$");var t=i.next();return/['"({]/.test(t)?(e.tokens[0]=po(t,t=="("?"quote":t=="{"?"def":"string"),_n(i,e)):(/\d/.test(t)||i.eatWhile(/\w/),e.tokens.shift(),"def")};function Fw(i){return function(e,t){return e.sol()&&e.string==i&&t.tokens.shift(),e.skipToEnd(),"string.special"}}function _n(i,e){return(e.tokens[0]||Gw)(i,e)}var Nm={name:"shell",startState:function(){return{tokens:[]}},token:function(i,e){return _n(i,e)},languageData:{autocomplete:Im.concat(Bm,Um),closeBrackets:{brackets:["(","[","{","'",'"',"`"]},commentTokens:{line:"#"}}};var Hw=["true","false","on","off","yes","no"],Kw=new RegExp("\\b(("+Hw.join(")|(")+"))$","i"),Fm={name:"yaml",token:function(i,e){var t=i.peek(),n=e.escaped;if(e.escaped=!1,t=="#"&&(i.pos==0||/\s/.test(i.string.charAt(i.pos-1))))return i.skipToEnd(),"comment";if(i.match(/^('([^']|\\.)*'?|"([^"]|\\.)*"?)/))return"string";if(e.literal&&i.indentation()>e.keyCol)return i.skipToEnd(),"string";if(e.literal&&(e.literal=!1),i.sol()){if(e.keyCol=0,e.pair=!1,e.pairStart=!1,i.match("---")||i.match("..."))return"def";if(i.match(/^\s*-\s+/))return"meta"}if(i.match(/^(\{|\}|\[|\])/))return t=="{"?e.inlinePairs++:t=="}"?e.inlinePairs--:t=="["?e.inlineList++:e.inlineList--,"meta";if(e.inlineList>0&&!n&&t==",")return i.next(),"meta";if(e.inlinePairs>0&&!n&&t==",")return e.keyCol=0,e.pair=!1,e.pairStart=!1,i.next(),"meta";if(e.pairStart){if(i.match(/^\s*(\||\>)\s*/))return e.literal=!0,"meta";if(i.match(/^\s*(\&|\*)[a-z0-9\._-]+\b/i))return"variable";if(e.inlinePairs==0&&i.match(/^\s*-?[0-9\.\,]+\s?$/)||e.inlinePairs>0&&i.match(/^\s*-?[0-9\.\,]+\s?(?=(,|}))/))return"number";if(i.match(Kw))return"keyword"}return!e.pair&&i.match(/^\s*(?:[,\[\]{}&*!|>'"%@`][^\s'":]|[^,\[\]{}#&*!|>'"%@`])[^#]*?(?=\s*:($|\s))/)?(e.pair=!0,e.keyCol=i.indentation(),"atom"):e.pair&&i.match(/^:\s*/)?(e.pairStart=!0,"meta"):(e.pairStart=!1,e.escaped=t=="\\",i.next(),null)},startState:function(){return{pair:!1,pairStart:!1,keyCol:0,inlinePairs:0,inlineList:0,literal:!1,escaped:!1}},languageData:{commentTokens:{line:"#"}}};var Jw={break:!0,case:!0,chan:!0,const:!0,continue:!0,default:!0,defer:!0,else:!0,fallthrough:!0,for:!0,func:!0,go:!0,goto:!0,if:!0,import:!0,interface:!0,map:!0,package:!0,range:!0,return:!0,select:!0,struct:!0,switch:!0,type:!0,var:!0,bool:!0,byte:!0,complex64:!0,complex128:!0,float32:!0,float64:!0,int8:!0,int16:!0,int32:!0,int64:!0,string:!0,uint8:!0,uint16:!0,uint32:!0,uint64:!0,int:!0,uint:!0,uintptr:!0,error:!0,rune:!0,any:!0,comparable:!0},eP={true:!0,false:!0,iota:!0,nil:!0,append:!0,cap:!0,close:!0,complex:!0,copy:!0,delete:!0,imag:!0,len:!0,make:!0,new:!0,panic:!0,print:!0,println:!0,real:!0,recover:!0},Hm=/[+\-*&^%:=<>!|\/]/,Jt;function mo(i,e){var t=i.next();if(t=='"'||t=="'"||t=="`")return e.tokenize=tP(t),e.tokenize(i,e);if(/[\d\.]/.test(t))return t=="."?i.match(/^[0-9]+([eE][\-+]?[0-9]+)?/):t=="0"?i.match(/^[xX][0-9a-fA-F]+/)||i.match(/^0[0-7]+/):i.match(/^[0-9]*\.?[0-9]*([eE][\-+]?[0-9]+)?/),"number";if(/[\[\]{}\(\),;\:\.]/.test(t))return Jt=t,null;if(t=="/"){if(i.eat("*"))return e.tokenize=Km,Km(i,e);if(i.eat("/"))return i.skipToEnd(),"comment"}if(Hm.test(t))return i.eatWhile(Hm),"operator";i.eatWhile(/[\w\$_\xa1-\uffff]/);var n=i.current();return Jw.propertyIsEnumerable(n)?((n=="case"||n=="default")&&(Jt="case"),"keyword"):eP.propertyIsEnumerable(n)?"atom":"variable"}function tP(i){return function(e,t){for(var n=!1,r,s=!1;(r=e.next())!=null;){if(r==i&&!n){s=!0;break}n=!n&&i!="`"&&r=="\\"}return(s||!(n||i=="`"))&&(t.tokenize=mo),"string"}}function Km(i,e){for(var t=!1,n;n=i.next();){if(n=="/"&&t){e.tokenize=mo;break}t=n=="*"}return"comment"}function eg(i,e,t,n,r){this.indented=i,this.column=e,this.type=t,this.align=n,this.prev=r}function lh(i,e,t){return i.context=new eg(i.indented,e,t,null,i.context)}function Jm(i){if(i.context.prev){var e=i.context.type;return(e==")"||e=="]"||e=="}")&&(i.indented=i.context.indented),i.context=i.context.prev}}var tg={name:"go",startState:function(i){return{tokenize:null,context:new eg(-i,0,"top",!1),indented:0,startOfLine:!0}},token:function(i,e){var t=e.context;if(i.sol()&&(t.align==null&&(t.align=!1),e.indented=i.indentation(),e.startOfLine=!0,t.type=="case"&&(t.type="}")),i.eatSpace())return null;Jt=null;var n=(e.tokenize||mo)(i,e);return n=="comment"||(t.align==null&&(t.align=!0),Jt=="{"?lh(e,i.column(),"}"):Jt=="["?lh(e,i.column(),"]"):Jt=="("?lh(e,i.column(),")"):Jt=="case"?t.type="case":(Jt=="}"&&t.type=="}"||Jt==t.type)&&Jm(e),e.startOfLine=!1),n},indent:function(i,e,t){if(i.tokenize!=mo&&i.tokenize!=null)return null;var n=i.context,r=e&&e.charAt(0);if(n.type=="case"&&/^(?:case|default)\b/.test(e))return n.indented;var s=r==n.type;return n.align?n.column+(s?0:1):n.indented+(s?0:t.unit)},languageData:{indentOnInput:/^\s([{}]|case |default\s*:)$/,commentTokens:{line:"//",block:{open:"/*",close:"*/"}}}};function hh(i){for(var e={},t=0,n=i.length;t]/)?(i.eat(/[\<\>]/),"atom"):i.eat(/[\+\-\*\/\&\|\:\!]/)?"atom":i.eat(/[a-zA-Z$@_\xa1-\uffff]/)?(i.eatWhile(/[\w$\xa1-\uffff]/),i.eat(/[\?\!\=]/),"atom"):"operator";if(t=="@"&&i.match(/^@?[a-zA-Z_\xa1-\uffff]/))return i.eat("@"),i.eatWhile(/[\w\xa1-\uffff]/),"propertyName";if(t=="$")return i.eat(/[a-zA-Z_]/)?i.eatWhile(/[\w]/):i.eat(/\d/)?i.eat(/\d/):i.next(),"variableName.special";if(/[a-zA-Z_\xa1-\uffff]/.test(t))return i.eatWhile(/[\w\xa1-\uffff]/),i.eat(/[\?\!]/),i.eat(":")?"atom":"variable";if(t=="|"&&(e.varList||e.lastTok=="{"||e.lastTok=="do"))return Pt="|",null;if(/[\(\)\[\]{}\\;]/.test(t))return Pt=t,null;if(t=="-"&&i.eat(">"))return"operator";if(/[=+\-\/*:\.^%<>~|]/.test(t)){var a=i.eatWhile(/[=+\-\/*:\.^%<>~|]/);return t=="."&&!a&&(Pt="."),"operator"}else return null}}}function oP(i){for(var e=i.pos,t=0,n,r=!1,s=!1;(n=i.next())!=null;)if(s)s=!1;else{if("[{(".indexOf(n)>-1)t++;else if("]})".indexOf(n)>-1){if(t--,t<0)break}else if(n=="/"&&t==0){r=!0;break}s=n=="\\"}return i.backUp(i.pos-e),r}function ch(i){return i||(i=1),function(e,t){if(e.peek()=="}"){if(i==1)return t.tokenize.pop(),t.tokenize[t.tokenize.length-1](e,t);t.tokenize[t.tokenize.length-1]=ch(i-1)}else e.peek()=="{"&&(t.tokenize[t.tokenize.length-1]=ch(i+1));return go(e,t)}}function aP(){var i=!1;return function(e,t){return i?(t.tokenize.pop(),t.tokenize[t.tokenize.length-1](e,t)):(i=!0,go(e,t))}}function Rr(i,e,t,n){return function(r,s){var o=!1,a;for(s.context.type==="read-quoted-paused"&&(s.context=s.context.prev,r.eat("}"));(a=r.next())!=null;){if(a==i&&(n||!o)){s.tokenize.pop();break}if(t&&a=="#"&&!o){if(r.eat("{")){i=="}"&&(s.context={prev:s.context,type:"read-quoted-paused"}),s.tokenize.push(ch());break}else if(/[@\$]/.test(r.peek())){s.tokenize.push(aP());break}}o=!o&&a=="\\"}return e}}function lP(i,e){return function(t,n){return e&&t.eatSpace(),t.match(i)?n.tokenize.pop():t.skipToEnd(),"string"}}function cP(i,e){return i.sol()&&i.match("=end")&&i.eol()&&e.tokenize.pop(),i.skipToEnd(),"comment"}var rg={name:"ruby",startState:function(i){return{tokenize:[go],indented:0,context:{type:"top",indented:-i},continuedLine:!1,lastTok:null,varList:!1}},token:function(i,e){Pt=null,i.sol()&&(e.indented=i.indentation());var t=e.tokenize[e.tokenize.length-1](i,e),n,r=Pt;if(t=="variable"){var s=i.current();t=e.lastTok=="."?"property":iP.propertyIsEnumerable(i.current())?"keyword":/^[A-Z]/.test(s)?"tag":e.lastTok=="def"||e.lastTok=="class"||e.varList?"def":"variable",t=="keyword"&&(r=s,nP.propertyIsEnumerable(s)?n="indent":rP.propertyIsEnumerable(s)?n="dedent":((s=="if"||s=="unless")&&i.column()==i.indentation()||s=="do"&&e.context.indented2&&o.token&&typeof o.token!="string"){t.pending=[];for(var c=2;c-1)return null;var r=t.indent.length-1,s=i[t.state];e:for(;;){for(var o=0;o!]+/,token:"operator"},{regex:/[a-zA-Z_]\w*!/,token:"macroName"},{regex:/[a-zA-Z_]\w*/,token:"variable"},{regex:/[\{\[\(]/,indent:!0},{regex:/[\}\]\)]/,dedent:!0}],string:[{regex:/"/,token:"string",next:"start"},{regex:/(?:[^\\"]|\\(?:.|$))*/,token:"string"}],string_raw:[{regex:/"/,token:"string",next:"start"},{regex:/[^"]*/,token:"string"}],string_raw_hash:[{regex:/"#+/,token:"string",next:"start"},{regex:/(?:[^"]|"(?!#))*/,token:"string"}],comment:[{regex:/.*?\*\//,token:"comment",next:"start"},{regex:/.*/,token:"comment"}],languageData:{name:"rust",dontIndentStates:["comment"],indentOnInput:/^\s*\}$/,commentTokens:{line:"//",block:{open:"/*",close:"*/"}}}});function Oh(i,e,t,n,r,s){this.indented=i,this.column=e,this.type=t,this.info=n,this.align=r,this.prev=s}function Qo(i,e,t,n){var r=i.indented;return i.context&&i.context.type=="statement"&&t!="statement"&&(r=i.context.indented),i.context=new Oh(r,e,t,n,null,i.context)}function Ar(i){var e=i.context.type;return(e==")"||e=="]"||e=="}")&&(i.indented=i.context.indented),i.context=i.context.prev}function lg(i,e,t){if(e.prevToken=="variable"||e.prevToken=="type"||/\S(?:[^- ]>|[*\]])\s*$|\*$/.test(i.string.slice(0,t))||e.typeAtEndOfLine&&i.column()==i.indentation())return!0}function fh(i){for(;;){if(!i||i.type=="top")return!0;if(i.type=="}"&&i.prev.info!="namespace")return!1;i=i.prev}}function tt(i){var e=i.statementIndentUnit,t=i.dontAlignCalls,n=i.keywords||{},r=i.types||{},s=i.builtin||{},o=i.blockKeywords||{},a=i.defKeywords||{},l=i.atoms||{},c=i.hooks||{},h=i.multiLineStrings,f=i.indentStatements!==!1,u=i.indentSwitch!==!1,O=i.namespaceSeparator,p=i.isPunctuationChar||/[\[\]{}\(\),;\:\.]/,m=i.numberStart||/[\d\.]/,b=i.number||/^(?:0x[a-f\d]+|0b[01]+|(?:\d+\.?\d*|\.\d+)(?:e[-+]?\d+)?)(u|ll?|l|f)?/i,g=i.isOperatorChar||/[+\-*&%=<>!?|\/]/,Q=i.isIdentifierChar||/[\w\$_\xa1-\uffff]/,S=i.isReservedIdentifier||!1,x,P;function $(T,k){var w=T.next();if(c[w]){var C=c[w](T,k);if(C!==!1)return C}if(w=='"'||w=="'")return k.tokenize=R(w),k.tokenize(T,k);if(m.test(w)){if(T.backUp(1),T.match(b))return"number";T.next()}if(p.test(w))return x=w,null;if(w=="/"){if(T.eat("*"))return k.tokenize=_,_(T,k);if(T.eat("/"))return T.skipToEnd(),"comment"}if(g.test(w)){for(;!T.match(/^\/[\/*]/,!1)&&T.eat(g););return"operator"}if(T.eatWhile(Q),O)for(;T.match(O);)T.eatWhile(Q);var j=T.current();return ei(n,j)?(ei(o,j)&&(x="newstatement"),ei(a,j)&&(P=!0),"keyword"):ei(r,j)?"type":ei(s,j)||S&&S(j)?(ei(o,j)&&(x="newstatement"),"builtin"):ei(l,j)?"atom":"variable"}function R(T){return function(k,w){for(var C=!1,j,y=!1;(j=k.next())!=null;){if(j==T&&!C){y=!0;break}C=!C&&j=="\\"}return(y||!(C||h))&&(w.tokenize=null),"string"}}function _(T,k){for(var w=!1,C;C=T.next();){if(C=="/"&&w){k.tokenize=null;break}w=C=="*"}return"comment"}function W(T,k){i.typeFirstDefinitions&&T.eol()&&fh(k.context)&&(k.typeAtEndOfLine=lg(T,k,T.pos))}return{name:i.name,startState:function(T){return{tokenize:null,context:new Oh(-T,0,"top",null,!1),indented:0,startOfLine:!0,prevToken:null}},token:function(T,k){var w=k.context;if(T.sol()&&(w.align==null&&(w.align=!1),k.indented=T.indentation(),k.startOfLine=!0),T.eatSpace())return W(T,k),null;x=P=null;var C=(k.tokenize||$)(T,k);if(C=="comment"||C=="meta")return C;if(w.align==null&&(w.align=!0),x==";"||x==":"||x==","&&T.match(/^\s*(?:\/\/.*)?$/,!1))for(;k.context.type=="statement";)Ar(k);else if(x=="{")Qo(k,T.column(),"}");else if(x=="[")Qo(k,T.column(),"]");else if(x=="(")Qo(k,T.column(),")");else if(x=="}"){for(;w.type=="statement";)w=Ar(k);for(w.type=="}"&&(w=Ar(k));w.type=="statement";)w=Ar(k)}else x==w.type?Ar(k):f&&((w.type=="}"||w.type=="top")&&x!=";"||w.type=="statement"&&x=="newstatement")&&Qo(k,T.column(),"statement",T.current());if(C=="variable"&&(k.prevToken=="def"||i.typeFirstDefinitions&&lg(T,k,T.start)&&fh(k.context)&&T.match(/^\s*\(/,!1))&&(C="def"),c.token){var j=c.token(T,k,C);j!==void 0&&(C=j)}return C=="def"&&i.styleDefs===!1&&(C="variable"),k.startOfLine=!1,k.prevToken=P?"def":C||x,W(T,k),C},indent:function(T,k,w){if(T.tokenize!=$&&T.tokenize!=null||T.typeAtEndOfLine&&fh(T.context))return null;var C=T.context,j=k&&k.charAt(0),y=j==C.type;if(C.type=="statement"&&j=="}"&&(C=C.prev),i.dontIndentStatements)for(;C.type=="statement"&&i.dontIndentStatements.test(C.info);)C=C.prev;if(c.indent){var z=c.indent(T,C,k,w.unit);if(typeof z=="number")return z}var ye=C.prev&&C.prev.info=="switch";if(i.allmanIndentation&&/[{(]/.test(j)){for(;C.type!="top"&&C.type!="}";)C=C.prev;return C.indented}return C.type=="statement"?C.indented+(j=="{"?0:e||w.unit):C.align&&(!t||C.type!=")")?C.column+(y?0:1):C.type==")"&&!y?C.indented+(e||w.unit):C.indented+(y?0:w.unit)+(!y&&ye&&!/^(?:case|default)\b/.test(k)?w.unit:0)},languageData:{indentOnInput:u?/^\s*(?:case .*?:|default:|\{\}?|\})$/:/^\s*[{}]$/,commentTokens:{line:"//",block:{open:"/*",close:"*/"}},autocomplete:Object.keys(n).concat(Object.keys(r)).concat(Object.keys(s)).concat(Object.keys(l)),...i.languageData}}}function V(i){for(var e={},t=i.split(" "),n=0;n!?|\/#:@]/,hooks:{"@":function(i){return i.eatWhile(/[\w\$_]/),"meta"},'"':function(i,e){return i.match('""')?(e.tokenize=Sg,e.tokenize(i,e)):!1},"'":function(i){return i.match(/^(\\[^'\s]+|[^\\'])'/)?"character":(i.eatWhile(/[\w\$_\xa1-\uffff]/),"atom")},"=":function(i,e){var t=e.context;return t.type=="}"&&t.align&&i.eat(">")?(e.context=new Oh(t.indented,t.column,t.type,t.info,null,t.prev),"operator"):!1},"/":function(i,e){return i.eat("*")?(e.tokenize=Zr(1),e.tokenize(i,e)):!1}},languageData:{closeBrackets:{brackets:["(","[","{","'",'"','"""']}}});function gP(i){return function(e,t){for(var n=!1,r,s=!1;!e.eol();){if(!i&&!n&&e.match('"')){s=!0;break}if(i&&e.match('"""')){s=!0;break}r=e.next(),!n&&r=="$"&&e.match("{")&&e.skipTo("}"),n=!n&&r=="\\"&&!i}return(s||!i)&&(t.tokenize=null),"string"}}var yg=tt({name:"kotlin",keywords:V("package as typealias class interface this super val operator var fun for is in This throw return annotation break continue object if else while do try when !in !is as? file import where by get set abstract enum open inner override private public internal protected catch finally out final vararg reified dynamic companion constructor init sealed field property receiver param sparam lateinit data inline noinline tailrec external annotation crossinline const operator infix suspend actual expect setparam"),types:V("Boolean Byte Character CharSequence Class ClassLoader Cloneable Comparable Compiler Double Exception Float Integer Long Math Number Object Package Pair Process Runtime Runnable SecurityManager Short StackTraceElement StrictMath String StringBuffer System Thread ThreadGroup ThreadLocal Throwable Triple Void Annotation Any BooleanArray ByteArray Char CharArray DeprecationLevel DoubleArray Enum FloatArray Function Int IntArray Lazy LazyThreadSafetyMode LongArray Nothing ShortArray Unit"),intendSwitch:!1,indentStatements:!1,multiLineStrings:!0,number:/^(?:0x[a-f\d_]+|0b[01_]+|(?:[\d_]+(\.\d+)?|\.\d+)(?:e[-+]?[\d_]+)?)(ul?|l|f)?/i,blockKeywords:V("catch class do else finally for if where try while enum"),defKeywords:V("class val var object interface fun"),atoms:V("true false null this"),hooks:{"@":function(i){return i.eatWhile(/[\w\$_]/),"meta"},"*":function(i,e){return e.prevToken=="."?"variable":"operator"},'"':function(i,e){return e.tokenize=gP(i.match('""')),e.tokenize(i,e)},"/":function(i,e){return i.eat("*")?(e.tokenize=Zr(1),e.tokenize(i,e)):!1},indent:function(i,e,t,n){var r=t&&t.charAt(0);if((i.prevToken=="}"||i.prevToken==")")&&t=="")return i.indented;if(i.prevToken=="operator"&&t!="}"&&i.context.type!="}"||i.prevToken=="variable"&&r=="."||(i.prevToken=="}"||i.prevToken==")")&&r==".")return n*2+e.indented;if(e.align&&e.type=="}")return e.indented+(i.context.type==(t||"").charAt(0)?0:n)}},languageData:{closeBrackets:{brackets:["(","[","{","'",'"','"""']}}}),nC=tt({name:"shader",keywords:V("sampler1D sampler2D sampler3D samplerCube sampler1DShadow sampler2DShadow const attribute uniform varying break continue discard return for while do if else struct in out inout"),types:V("float int bool void vec2 vec3 vec4 ivec2 ivec3 ivec4 bvec2 bvec3 bvec4 mat2 mat3 mat4"),blockKeywords:V("for while do if else struct"),builtin:V("radians degrees sin cos tan asin acos atan pow exp log exp2 sqrt inversesqrt abs sign floor ceil fract mod min max clamp mix step smoothstep length distance dot cross normalize ftransform faceforward reflect refract matrixCompMult lessThan lessThanEqual greaterThan greaterThanEqual equal notEqual any all not texture1D texture1DProj texture1DLod texture1DProjLod texture2D texture2DProj texture2DLod texture2DProjLod texture3D texture3DProj texture3DLod texture3DProjLod textureCube textureCubeLod shadow1D shadow2D shadow1DProj shadow2DProj shadow1DLod shadow2DLod shadow1DProjLod shadow2DProjLod dFdx dFdy fwidth noise1 noise2 noise3 noise4"),atoms:V("true false gl_FragColor gl_SecondaryColor gl_Normal gl_Vertex gl_MultiTexCoord0 gl_MultiTexCoord1 gl_MultiTexCoord2 gl_MultiTexCoord3 gl_MultiTexCoord4 gl_MultiTexCoord5 gl_MultiTexCoord6 gl_MultiTexCoord7 gl_FogCoord gl_PointCoord gl_Position gl_PointSize gl_ClipVertex gl_FrontColor gl_BackColor gl_FrontSecondaryColor gl_BackSecondaryColor gl_TexCoord gl_FogFragCoord gl_FragCoord gl_FrontFacing gl_FragData gl_FragDepth gl_ModelViewMatrix gl_ProjectionMatrix gl_ModelViewProjectionMatrix gl_TextureMatrix gl_NormalMatrix gl_ModelViewMatrixInverse gl_ProjectionMatrixInverse gl_ModelViewProjectionMatrixInverse gl_TextureMatrixTranspose gl_ModelViewMatrixInverseTranspose gl_ProjectionMatrixInverseTranspose gl_ModelViewProjectionMatrixInverseTranspose gl_TextureMatrixInverseTranspose gl_NormalScale gl_DepthRange gl_ClipPlane gl_Point gl_FrontMaterial gl_BackMaterial gl_LightSource gl_LightModel gl_FrontLightModelProduct gl_BackLightModelProduct gl_TextureColor gl_EyePlaneS gl_EyePlaneT gl_EyePlaneR gl_EyePlaneQ gl_FogParameters gl_MaxLights gl_MaxClipPlanes gl_MaxTextureUnits gl_MaxTextureCoords gl_MaxVertexAttribs gl_MaxVertexUniformComponents gl_MaxVaryingFloats gl_MaxVertexTextureImageUnits gl_MaxTextureImageUnits gl_MaxFragmentUniformComponents gl_MaxCombineTextureImageUnits gl_MaxDrawBuffers"),indentSwitch:!1,hooks:{"#":yi}}),rC=tt({name:"nesc",keywords:V(qr+" as atomic async call command component components configuration event generic implementation includes interface module new norace nx_struct nx_union post provides signal task uses abstract extends"),types:Er,blockKeywords:V(zr),atoms:V("null true false"),hooks:{"#":yi}}),kg=tt({name:"objectivec",keywords:V(qr+" "+ug),types:dg,builtin:V(Og),blockKeywords:V(zr+" @synthesize @try @catch @finally @autoreleasepool @synchronized"),defKeywords:V(So+" @interface @implementation @protocol @class"),dontIndentStatements:/^@.*$/,typeFirstDefinitions:!0,atoms:V("YES NO NULL Nil nil true false nullptr"),isReservedIdentifier:ko,hooks:{"#":yi,"*":yo}}),sC=tt({name:"objectivecpp",keywords:V(qr+" "+ug+" "+fg),types:dg,builtin:V(Og),blockKeywords:V(zr+" @synthesize @try @catch @finally @autoreleasepool @synchronized class try catch"),defKeywords:V(So+" @interface @implementation @protocol @class class namespace"),dontIndentStatements:/^@.*$|^template$/,typeFirstDefinitions:!0,atoms:V("YES NO NULL Nil nil true false nullptr"),isReservedIdentifier:ko,hooks:{"#":yi,"*":yo,u:Si,U:Si,L:Si,R:Si,0:Se,1:Se,2:Se,3:Se,4:Se,5:Se,6:Se,7:Se,8:Se,9:Se,token:function(i,e,t){if(t=="variable"&&i.peek()=="("&&(e.prevToken==";"||e.prevToken==null||e.prevToken=="}")&&pg(i.current()))return"def"}},namespaceSeparator:"::"}),oC=tt({name:"squirrel",keywords:V("base break clone continue const default delete enum extends function in class foreach local resume return this throw typeof yield constructor instanceof static"),types:Er,blockKeywords:V("case catch class else for foreach if switch try while"),defKeywords:V("function local class"),typeFirstDefinitions:!0,atoms:V("true false null"),hooks:{"#":yi}}),bo=null;function xg(i){return function(e,t){for(var n=!1,r,s=!1;!e.eol();){if(!n&&e.match('"')&&(i=="single"||e.match('""'))){s=!0;break}if(!n&&e.match("``")){bo=xg(i),s=!0;break}r=e.next(),n=i=="single"&&!n&&r=="\\"}return s&&(t.tokenize=null),"string"}}var aC=tt({name:"ceylon",keywords:V("abstracts alias assembly assert assign break case catch class continue dynamic else exists extends finally for function given if import in interface is let module new nonempty object of out outer package return satisfies super switch then this throw try value void while"),types:function(i){var e=i.charAt(0);return e===e.toUpperCase()&&e!==e.toLowerCase()},blockKeywords:V("case catch class dynamic else finally for function if interface module new object switch try while"),defKeywords:V("class dynamic function interface module object package value"),builtin:V("abstract actual aliased annotation by default deprecated doc final formal late license native optional sealed see serializable shared suppressWarnings tagged throws variable"),isPunctuationChar:/[\[\]{}\(\),;\:\.`]/,isOperatorChar:/[+\-*&%=<>!?|^~:\/]/,numberStart:/[\d#$]/,number:/^(?:#[\da-fA-F_]+|\$[01_]+|[\d_]+[kMGTPmunpf]?|[\d_]+\.[\d_]+(?:[eE][-+]?\d+|[kMGTPmunpf]|)|)/i,multiLineStrings:!0,typeFirstDefinitions:!0,atoms:V("true false null larger smaller equal empty finished"),indentSwitch:!1,styleDefs:!1,hooks:{"@":function(i){return i.eatWhile(/[\w\$_]/),"meta"},'"':function(i,e){return e.tokenize=xg(i.match('""')?"triple":"single"),e.tokenize(i,e)},"`":function(i,e){return!bo||!i.match("`")?!1:(e.tokenize=bo,bo=null,e.tokenize(i,e))},"'":function(i){return i.match(/^(\\[^'\s]+|[^\\'])'/)?"string.special":(i.eatWhile(/[\w\$_\xa1-\uffff]/),"atom")},token:function(i,e,t){if((t=="variable"||t=="type")&&e.prevToken==".")return"variableName.special"}},languageData:{closeBrackets:{brackets:["(","[","{","'",'"','"""']}}});function QP(i){(i.interpolationStack||(i.interpolationStack=[])).push(i.tokenize)}function wg(i){return(i.interpolationStack||(i.interpolationStack=[])).pop()}function bP(i){return i.interpolationStack?i.interpolationStack.length:0}function uh(i,e,t,n){var r=!1;if(e.eat(i))if(e.eat(i))r=!0;else return"string";function s(o,a){for(var l=!1;!o.eol();){if(!n&&!l&&o.peek()=="$")return QP(a),a.tokenize=SP,"string";var c=o.next();if(c==i&&!l&&(!r||o.match(i+i))){a.tokenize=null;break}l=!n&&!l&&c=="\\"}return"string"}return t.tokenize=s,s(e,t)}function SP(i,e){return i.eat("$"),i.eat("{")?e.tokenize=null:e.tokenize=yP,null}function yP(i,e){return i.eatWhile(/[\w_]/),e.tokenize=wg(e),"variable"}var lC=tt({name:"dart",keywords:V("this super static final const abstract class extends external factory implements mixin get native set typedef with enum throw rethrow assert break case continue default in return new deferred async await covariant try catch finally do else for if switch while import library export part of show hide is as extension on yield late required sealed base interface when inline"),blockKeywords:V("try catch finally do else for if switch while"),builtin:V("void bool num int double dynamic var String Null Never"),atoms:V("true false null"),number:/^(?:0x[a-f\d_]+|(?:[\d_]+\.?[\d_]*|\.[\d_]+)(?:e[-+]?[\d_]+)?)/i,hooks:{"@":function(i){return i.eatWhile(/[\w\$_\.]/),"meta"},"'":function(i,e){return uh("'",i,e,!1)},'"':function(i,e){return uh('"',i,e,!1)},r:function(i,e){var t=i.peek();return t=="'"||t=='"'?uh(i.next(),i,e,!0):!1},"}":function(i,e){return bP(e)>0?(e.tokenize=wg(e),null):!1},"/":function(i,e){return i.eat("*")?(e.tokenize=Zr(1),e.tokenize(i,e)):!1},token:function(i,e,t){if(t=="variable"){var n=RegExp("^[_$]*[A-Z][a-zA-Z0-9_$]*$","g");if(n.test(i.current()))return"type"}}}});function je(i){var e=i.client||{},t=i.atoms||{false:!0,true:!0,null:!0},n=i.builtin||M(vg),r=i.keywords||M(Fi),s=i.operatorChars||/^[*+\-%<>!=&|~^\/]/,o=i.support||{},a=i.hooks||{},l=i.dateSQL||{date:!0,time:!0,timestamp:!0},c=i.backslashStringEscapes!==!1,h=i.brackets||/^[\{}\(\)\[\]]/,f=i.punctuation||/^[;.,:]/;function u(g,Q){var S=g.next();if(a[S]){var x=a[S](g,Q);if(x!==!1)return x}if(o.hexNumber&&(S=="0"&&g.match(/^[xX][0-9a-fA-F]+/)||(S=="x"||S=="X")&&g.match(/^'[0-9a-fA-F]*'/)))return"number";if(o.binaryNumber&&((S=="b"||S=="B")&&g.match(/^'[01]+'/)||S=="0"&&g.match(/^b[01]*/)))return"number";if(S.charCodeAt(0)>47&&S.charCodeAt(0)<58)return g.match(/^[0-9]*(\.[0-9]+)?([eE][-+]?[0-9]+)?/),o.decimallessFloat&&g.match(/^\.(?!\.)/),"number";if(S=="?"&&(g.eatSpace()||g.eol()||g.eat(";")))return"macroName";if(S=="'"||S=='"'&&o.doubleQuote)return Q.tokenize=O(S),Q.tokenize(g,Q);if((o.nCharCast&&(S=="n"||S=="N")||o.charsetCast&&S=="_"&&g.match(/[a-z][a-z0-9]*/i))&&(g.peek()=="'"||g.peek()=='"'))return"keyword";if(o.escapeConstant&&(S=="e"||S=="E")&&(g.peek()=="'"||g.peek()=='"'&&o.doubleQuote))return Q.tokenize=function($,R){return(R.tokenize=O($.next(),!0))($,R)},"keyword";if(o.commentSlashSlash&&S=="/"&&g.eat("/"))return g.skipToEnd(),"comment";if(o.commentHash&&S=="#"||S=="-"&&g.eat("-")&&(!o.commentSpaceRequired||g.eat(" ")))return g.skipToEnd(),"comment";if(S=="/"&&g.eat("*"))return Q.tokenize=p(1),Q.tokenize(g,Q);if(S=="."){if(o.zerolessFloat&&g.match(/^(?:\d+(?:e[+-]?\d+)?)/i))return"number";if(g.match(/^\.+/))return null;if(o.ODBCdotTable&&g.match(/^[\w\d_$#]+/))return"type"}else{if(s.test(S))return g.eatWhile(s),"operator";if(h.test(S))return"bracket";if(f.test(S))return g.eatWhile(f),"punctuation";if(S=="{"&&(g.match(/^( )*(d|D|t|T|ts|TS)( )*'[^']*'( )*}/)||g.match(/^( )*(d|D|t|T|ts|TS)( )*"[^"]*"( )*}/)))return"number";g.eatWhile(/^[_\w\d]/);var P=g.current().toLowerCase();return l.hasOwnProperty(P)&&(g.match(/^( )+'[^']*'/)||g.match(/^( )+"[^"]*"/))?"number":t.hasOwnProperty(P)?"atom":n.hasOwnProperty(P)?"type":r.hasOwnProperty(P)?"keyword":e.hasOwnProperty(P)?"builtin":null}}function O(g,Q){return function(S,x){for(var P=!1,$;($=S.next())!=null;){if($==g&&!P){x.tokenize=u;break}P=(c||Q)&&!P&&$=="\\"}return"string"}}function p(g){return function(Q,S){var x=Q.match(/^.*?(\/\*|\*\/)/);return x?x[1]=="/*"?S.tokenize=p(g+1):g>1?S.tokenize=p(g-1):S.tokenize=u:Q.skipToEnd(),"comment"}}function m(g,Q,S){Q.context={prev:Q.context,indent:g.indentation(),col:g.column(),type:S}}function b(g){g.indent=g.context.indent,g.context=g.context.prev}return{name:"sql",startState:function(){return{tokenize:u,context:null}},token:function(g,Q){if(g.sol()&&Q.context&&Q.context.align==null&&(Q.context.align=!1),Q.tokenize==u&&g.eatSpace())return null;var S=Q.tokenize(g,Q);if(S=="comment")return S;Q.context&&Q.context.align==null&&(Q.context.align=!0);var x=g.current();return x=="("?m(g,Q,")"):x=="["?m(g,Q,"]"):Q.context&&Q.context.type==x&&b(Q),S},indent:function(g,Q,S){var x=g.context;if(!x)return null;var P=Q.charAt(0)==x.type;return x.align?x.col+(P?0:1):x.indent+(P?0:S.unit)},languageData:{commentTokens:{line:o.commentSlashSlash?"//":o.commentHash?"#":"--",block:{open:"/*",close:"*/"}},closeBrackets:{brackets:["(","[","{","'",'"',"`"]}}}}function dh(i){for(var e;(e=i.next())!=null;)if(e=="`"&&!i.eat("`"))return"string.special";return i.backUp(i.current().length-1),i.eatWhile(/\w/)?"string.special":null}function kP(i){for(var e;(e=i.next())!=null;)if(e=='"'&&!i.eat('"'))return"string.special";return i.backUp(i.current().length-1),i.eatWhile(/\w/)?"string.special":null}function Ni(i){return i.eat("@")&&(i.match("session."),i.match("local."),i.match("global.")),i.eat("'")?(i.match(/^.*'/),"string.special"):i.eat('"')?(i.match(/^.*"/),"string.special"):i.eat("`")?(i.match(/^.*`/),"string.special"):i.match(/^[0-9a-zA-Z$\.\_]+/)?"string.special":null}function Pg(i){return i.eat("N")?"atom":i.match(/^[a-zA-Z.#!?]/)?"string.special":null}var Fi="alter and as asc between by count create delete desc distinct drop from group having in insert into is join like not on or order select set table union update values where limit ";function M(i){for(var e={},t=i.split(" "),n=0;n!=^\&|\/]/,brackets:/^[\{}\(\)]/,punctuation:/^[;.,:/]/,backslashStringEscapes:!1,dateSQL:M("date datetimeoffset datetime2 smalldatetime datetime time"),hooks:{"@":Ni}}),uC=je({client:M("charset clear connect edit ego exit go help nopager notee nowarning pager print prompt quit rehash source status system tee"),keywords:M(Fi+"accessible action add after algorithm all analyze asensitive at authors auto_increment autocommit avg avg_row_length before binary binlog both btree cache call cascade cascaded case catalog_name chain change changed character check checkpoint checksum class_origin client_statistics close coalesce code collate collation collations column columns comment commit committed completion concurrent condition connection consistent constraint contains continue contributors convert cross current current_date current_time current_timestamp current_user cursor data database databases day_hour day_microsecond day_minute day_second deallocate dec declare default delay_key_write delayed delimiter des_key_file describe deterministic dev_pop dev_samp deviance diagnostics directory disable discard distinctrow div dual dumpfile each elseif enable enclosed end ends engine engines enum errors escape escaped even event events every execute exists exit explain extended fast fetch field fields first flush for force foreign found_rows full fulltext function general get global grant grants group group_concat handler hash help high_priority hosts hour_microsecond hour_minute hour_second if ignore ignore_server_ids import index index_statistics infile inner innodb inout insensitive insert_method install interval invoker isolation iterate key keys kill language last leading leave left level limit linear lines list load local localtime localtimestamp lock logs low_priority master master_heartbeat_period master_ssl_verify_server_cert masters match max max_rows maxvalue message_text middleint migrate min min_rows minute_microsecond minute_second mod mode modifies modify mutex mysql_errno natural next no no_write_to_binlog offline offset one online open optimize option optionally out outer outfile pack_keys parser partition partitions password phase plugin plugins prepare preserve prev primary privileges procedure processlist profile profiles purge query quick range read read_write reads real rebuild recover references regexp relaylog release remove rename reorganize repair repeatable replace require resignal restrict resume return returns revoke right rlike rollback rollup row row_format rtree savepoint schedule schema schema_name schemas second_microsecond security sensitive separator serializable server session share show signal slave slow smallint snapshot soname spatial specific sql sql_big_result sql_buffer_result sql_cache sql_calc_found_rows sql_no_cache sql_small_result sqlexception sqlstate sqlwarning ssl start starting starts status std stddev stddev_pop stddev_samp storage straight_join subclass_origin sum suspend table_name table_statistics tables tablespace temporary terminated to trailing transaction trigger triggers truncate uncommitted undo uninstall unique unlock upgrade usage use use_frm user user_resources user_statistics using utc_date utc_time utc_timestamp value variables varying view views warnings when while with work write xa xor year_month zerofill begin do then else loop repeat"),builtin:M("bool boolean bit blob decimal double float long longblob longtext medium mediumblob mediumint mediumtext time timestamp tinyblob tinyint tinytext text bigint int int1 int2 int3 int4 int8 integer float float4 float8 double char varbinary varchar varcharacter precision date datetime year unsigned signed numeric"),atoms:M("false true null unknown"),operatorChars:/^[*+\-%<>!=&|^]/,dateSQL:M("date time timestamp"),support:M("ODBCdotTable decimallessFloat zerolessFloat binaryNumber hexNumber doubleQuote nCharCast charsetCast commentHash commentSpaceRequired"),hooks:{"@":Ni,"`":dh,"\\":Pg}}),OC=je({client:M("charset clear connect edit ego exit go help nopager notee nowarning pager print prompt quit rehash source status system tee"),keywords:M(Fi+"accessible action add after algorithm all always analyze asensitive at authors auto_increment autocommit avg avg_row_length before binary binlog both btree cache call cascade cascaded case catalog_name chain change changed character check checkpoint checksum class_origin client_statistics close coalesce code collate collation collations column columns comment commit committed completion concurrent condition connection consistent constraint contains continue contributors convert cross current current_date current_time current_timestamp current_user cursor data database databases day_hour day_microsecond day_minute day_second deallocate dec declare default delay_key_write delayed delimiter des_key_file describe deterministic dev_pop dev_samp deviance diagnostics directory disable discard distinctrow div dual dumpfile each elseif enable enclosed end ends engine engines enum errors escape escaped even event events every execute exists exit explain extended fast fetch field fields first flush for force foreign found_rows full fulltext function general generated get global grant grants group group_concat handler hard hash help high_priority hosts hour_microsecond hour_minute hour_second if ignore ignore_server_ids import index index_statistics infile inner innodb inout insensitive insert_method install interval invoker isolation iterate key keys kill language last leading leave left level limit linear lines list load local localtime localtimestamp lock logs low_priority master master_heartbeat_period master_ssl_verify_server_cert masters match max max_rows maxvalue message_text middleint migrate min min_rows minute_microsecond minute_second mod mode modifies modify mutex mysql_errno natural next no no_write_to_binlog offline offset one online open optimize option optionally out outer outfile pack_keys parser partition partitions password persistent phase plugin plugins prepare preserve prev primary privileges procedure processlist profile profiles purge query quick range read read_write reads real rebuild recover references regexp relaylog release remove rename reorganize repair repeatable replace require resignal restrict resume return returns revoke right rlike rollback rollup row row_format rtree savepoint schedule schema schema_name schemas second_microsecond security sensitive separator serializable server session share show shutdown signal slave slow smallint snapshot soft soname spatial specific sql sql_big_result sql_buffer_result sql_cache sql_calc_found_rows sql_no_cache sql_small_result sqlexception sqlstate sqlwarning ssl start starting starts status std stddev stddev_pop stddev_samp storage straight_join subclass_origin sum suspend table_name table_statistics tables tablespace temporary terminated to trailing transaction trigger triggers truncate uncommitted undo uninstall unique unlock upgrade usage use use_frm user user_resources user_statistics using utc_date utc_time utc_timestamp value variables varying view views virtual warnings when while with work write xa xor year_month zerofill begin do then else loop repeat"),builtin:M("bool boolean bit blob decimal double float long longblob longtext medium mediumblob mediumint mediumtext time timestamp tinyblob tinyint tinytext text bigint int int1 int2 int3 int4 int8 integer float float4 float8 double char varbinary varchar varcharacter precision date datetime year unsigned signed numeric"),atoms:M("false true null unknown"),operatorChars:/^[*+\-%<>!=&|^]/,dateSQL:M("date time timestamp"),support:M("ODBCdotTable decimallessFloat zerolessFloat binaryNumber hexNumber doubleQuote nCharCast charsetCast commentHash commentSpaceRequired"),hooks:{"@":Ni,"`":dh,"\\":Pg}}),dC=je({client:M("auth backup bail binary changes check clone databases dbinfo dump echo eqp exit explain fullschema headers help import imposter indexes iotrace limit lint load log mode nullvalue once open output print prompt quit read restore save scanstats schema separator session shell show stats system tables testcase timeout timer trace vfsinfo vfslist vfsname width"),keywords:M(Fi+"abort action add after all analyze attach autoincrement before begin cascade case cast check collate column commit conflict constraint cross current_date current_time current_timestamp database default deferrable deferred detach each else end escape except exclusive exists explain fail for foreign full glob if ignore immediate index indexed initially inner instead intersect isnull key left limit match natural no notnull null of offset outer plan pragma primary query raise recursive references regexp reindex release rename replace restrict right rollback row savepoint temp temporary then to transaction trigger unique using vacuum view virtual when with without"),builtin:M("bool boolean bit blob decimal double float long longblob longtext medium mediumblob mediumint mediumtext time timestamp tinyblob tinyint tinytext text clob bigint int int2 int8 integer float double char varchar date datetime year unsigned signed numeric real"),atoms:M("null current_date current_time current_timestamp"),operatorChars:/^[*+\-%<>!=&|/~]/,dateSQL:M("date time timestamp datetime"),support:M("decimallessFloat zerolessFloat"),identifierQuote:'"',hooks:{"@":Ni,":":Ni,"?":Ni,$:Ni,'"':kP,"`":dh}}),pC=je({client:{},keywords:M("add all allow alter and any apply as asc authorize batch begin by clustering columnfamily compact consistency count create custom delete desc distinct drop each_quorum exists filtering from grant if in index insert into key keyspace keyspaces level limit local_one local_quorum modify nan norecursive nosuperuser not of on one order password permission permissions primary quorum rename revoke schema select set storage superuser table three to token truncate ttl two type unlogged update use user users using values where with writetime"),builtin:M("ascii bigint blob boolean counter decimal double float frozen inet int list map static text timestamp timeuuid tuple uuid varchar varint"),atoms:M("false true infinity NaN"),operatorChars:/^[<>=]/,dateSQL:{},support:M("commentSlashSlash decimallessFloat"),hooks:{}}),mC=je({client:M("appinfo arraysize autocommit autoprint autorecovery autotrace blockterminator break btitle cmdsep colsep compatibility compute concat copycommit copytypecheck define describe echo editfile embedded escape exec execute feedback flagger flush heading headsep instance linesize lno loboffset logsource long longchunksize markup native newpage numformat numwidth pagesize pause pno recsep recsepchar release repfooter repheader serveroutput shiftinout show showmode size spool sqlblanklines sqlcase sqlcode sqlcontinue sqlnumber sqlpluscompatibility sqlprefix sqlprompt sqlterminator suffix tab term termout time timing trimout trimspool ttitle underline verify version wrap"),keywords:M("abort accept access add all alter and any array arraylen as asc assert assign at attributes audit authorization avg base_table begin between binary_integer body boolean by case cast char char_base check close cluster clusters colauth column comment commit compress connect connected constant constraint crash create current currval cursor data_base database date dba deallocate debugoff debugon decimal declare default definition delay delete desc digits dispose distinct do drop else elseif elsif enable end entry escape exception exception_init exchange exclusive exists exit external fast fetch file for force form from function generic goto grant group having identified if immediate in increment index indexes indicator initial initrans insert interface intersect into is key level library like limited local lock log logging long loop master maxextents maxtrans member minextents minus mislabel mode modify multiset new next no noaudit nocompress nologging noparallel not nowait number_base object of off offline on online only open option or order out package parallel partition pctfree pctincrease pctused pls_integer positive positiven pragma primary prior private privileges procedure public raise range raw read rebuild record ref references refresh release rename replace resource restrict return returning returns reverse revoke rollback row rowid rowlabel rownum rows run savepoint schema segment select separate session set share snapshot some space split sql start statement storage subtype successful synonym tabauth table tables tablespace task terminate then to trigger truncate type union unique unlimited unrecoverable unusable update use using validate value values variable view views when whenever where while with work"),builtin:M("abs acos add_months ascii asin atan atan2 average bfile bfilename bigserial bit blob ceil character chartorowid chr clob concat convert cos cosh count dec decode deref dual dump dup_val_on_index empty error exp false float floor found glb greatest hextoraw initcap instr instrb int integer isopen last_day least length lengthb ln lower lpad ltrim lub make_ref max min mlslabel mod months_between natural naturaln nchar nclob new_time next_day nextval nls_charset_decl_len nls_charset_id nls_charset_name nls_initcap nls_lower nls_sort nls_upper nlssort no_data_found notfound null number numeric nvarchar2 nvl others power rawtohex real reftohex round rowcount rowidtochar rowtype rpad rtrim serial sign signtype sin sinh smallint soundex sqlcode sqlerrm sqrt stddev string substr substrb sum sysdate tan tanh to_char text to_date to_label to_multi_byte to_number to_single_byte translate true trunc uid unlogged upper user userenv varchar varchar2 variance varying vsize xml"),operatorChars:/^[*\/+\-%<>!=~]/,dateSQL:M("date time timestamp"),support:M("doubleQuote nCharCast zerolessFloat binaryNumber hexNumber")}),gC=je({keywords:M("select alter $elem$ $key$ $value$ add after all analyze and archive as asc before between binary both bucket buckets by cascade case cast change cluster clustered clusterstatus collection column columns comment compute concatenate continue create cross cursor data database databases dbproperties deferred delete delimited desc describe directory disable distinct distribute drop else enable end escaped exclusive exists explain export extended external fetch fields fileformat first format formatted from full function functions grant group having hold_ddltime idxproperties if import in index indexes inpath inputdriver inputformat insert intersect into is items join keys lateral left like limit lines load local location lock locks mapjoin materialized minus msck no_drop nocompress not of offline on option or order out outer outputdriver outputformat overwrite partition partitioned partitions percent plus preserve procedure purge range rcfile read readonly reads rebuild recordreader recordwriter recover reduce regexp rename repair replace restrict revoke right rlike row schema schemas semi sequencefile serde serdeproperties set shared show show_database sort sorted ssl statistics stored streamtable table tables tablesample tblproperties temporary terminated textfile then tmp to touch transform trigger unarchive undo union uniquejoin unlock update use using utc utc_tmestamp view when where while with admin authorization char compact compactions conf cube current current_date current_timestamp day decimal defined dependency directories elem_type exchange file following for grouping hour ignore inner interval jar less logical macro minute month more none noscan over owner partialscan preceding pretty principals protection reload rewrite role roles rollup rows second server sets skewed transactions truncate unbounded unset uri user values window year"),builtin:M("bool boolean long timestamp tinyint smallint bigint int float double date datetime unsigned string array struct map uniontype key_type utctimestamp value_type varchar"),atoms:M("false true null unknown"),operatorChars:/^[*+\-%<>!=]/,dateSQL:M("date timestamp"),support:M("ODBCdotTable doubleQuote binaryNumber hexNumber")}),QC=je({client:M("source"),keywords:M(Fi+"a abort abs absent absolute access according action ada add admin after aggregate alias all allocate also alter always analyse analyze and any are array array_agg array_max_cardinality as asc asensitive assert assertion assignment asymmetric at atomic attach attribute attributes authorization avg backward base64 before begin begin_frame begin_partition bernoulli between bigint binary bit bit_length blob blocked bom boolean both breadth by c cache call called cardinality cascade cascaded case cast catalog catalog_name ceil ceiling chain char char_length character character_length character_set_catalog character_set_name character_set_schema characteristics characters check checkpoint class class_origin clob close cluster coalesce cobol collate collation collation_catalog collation_name collation_schema collect column column_name columns command_function command_function_code comment comments commit committed concurrently condition condition_number configuration conflict connect connection connection_name constant constraint constraint_catalog constraint_name constraint_schema constraints constructor contains content continue control conversion convert copy corr corresponding cost count covar_pop covar_samp create cross csv cube cume_dist current current_catalog current_date current_default_transform_group current_path current_role current_row current_schema current_time current_timestamp current_transform_group_for_type current_user cursor cursor_name cycle data database datalink datatype date datetime_interval_code datetime_interval_precision day db deallocate debug dec decimal declare default defaults deferrable deferred defined definer degree delete delimiter delimiters dense_rank depends depth deref derived desc describe descriptor detach detail deterministic diagnostics dictionary disable discard disconnect dispatch distinct dlnewcopy dlpreviouscopy dlurlcomplete dlurlcompleteonly dlurlcompletewrite dlurlpath dlurlpathonly dlurlpathwrite dlurlscheme dlurlserver dlvalue do document domain double drop dump dynamic dynamic_function dynamic_function_code each element else elseif elsif empty enable encoding encrypted end end_frame end_partition endexec enforced enum equals errcode error escape event every except exception exclude excluding exclusive exec execute exists exit exp explain expression extension external extract false family fetch file filter final first first_value flag float floor following for force foreach foreign fortran forward found frame_row free freeze from fs full function functions fusion g general generated get global go goto grant granted greatest group grouping groups handler having header hex hierarchy hint hold hour id identity if ignore ilike immediate immediately immutable implementation implicit import in include including increment indent index indexes indicator info inherit inherits initially inline inner inout input insensitive insert instance instantiable instead int integer integrity intersect intersection interval into invoker is isnull isolation join k key key_member key_type label lag language large last last_value lateral lead leading leakproof least left length level library like like_regex limit link listen ln load local localtime localtimestamp location locator lock locked log logged loop lower m map mapping match matched materialized max max_cardinality maxvalue member merge message message_length message_octet_length message_text method min minute minvalue mod mode modifies module month more move multiset mumps name names namespace national natural nchar nclob nesting new next nfc nfd nfkc nfkd nil no none normalize normalized not nothing notice notify notnull nowait nth_value ntile null nullable nullif nulls number numeric object occurrences_regex octet_length octets of off offset oids old on only open operator option options or order ordering ordinality others out outer output over overlaps overlay overriding owned owner p pad parallel parameter parameter_mode parameter_name parameter_ordinal_position parameter_specific_catalog parameter_specific_name parameter_specific_schema parser partial partition pascal passing passthrough password path percent percent_rank percentile_cont percentile_disc perform period permission pg_context pg_datatype_name pg_exception_context pg_exception_detail pg_exception_hint placing plans pli policy portion position position_regex power precedes preceding precision prepare prepared preserve primary print_strict_params prior privileges procedural procedure procedures program public publication query quote raise range rank read reads real reassign recheck recovery recursive ref references referencing refresh regr_avgx regr_avgy regr_count regr_intercept regr_r2 regr_slope regr_sxx regr_sxy regr_syy reindex relative release rename repeatable replace replica requiring reset respect restart restore restrict result result_oid return returned_cardinality returned_length returned_octet_length returned_sqlstate returning returns reverse revoke right role rollback rollup routine routine_catalog routine_name routine_schema routines row row_count row_number rows rowtype rule savepoint scale schema schema_name schemas scope scope_catalog scope_name scope_schema scroll search second section security select selective self sensitive sequence sequences serializable server server_name session session_user set setof sets share show similar simple size skip slice smallint snapshot some source space specific specific_name specifictype sql sqlcode sqlerror sqlexception sqlstate sqlwarning sqrt stable stacked standalone start state statement static statistics stddev_pop stddev_samp stdin stdout storage strict strip structure style subclass_origin submultiset subscription substring substring_regex succeeds sum symmetric sysid system system_time system_user t table table_name tables tablesample tablespace temp template temporary text then ties time timestamp timezone_hour timezone_minute to token top_level_count trailing transaction transaction_active transactions_committed transactions_rolled_back transform transforms translate translate_regex translation treat trigger trigger_catalog trigger_name trigger_schema trim trim_array true truncate trusted type types uescape unbounded uncommitted under unencrypted union unique unknown unlink unlisten unlogged unnamed unnest until untyped update upper uri usage use_column use_variable user user_defined_type_catalog user_defined_type_code user_defined_type_name user_defined_type_schema using vacuum valid validate validator value value_of values var_pop var_samp varbinary varchar variable_conflict variadic varying verbose version versioning view views volatile warning when whenever where while whitespace width_bucket window with within without work wrapper write xml xmlagg xmlattributes xmlbinary xmlcast xmlcomment xmlconcat xmldeclaration xmldocument xmlelement xmlexists xmlforest xmliterate xmlnamespaces xmlparse xmlpi xmlquery xmlroot xmlschema xmlserialize xmltable xmltext xmlvalidate year yes zone"),builtin:M("bigint int8 bigserial serial8 bit varying varbit boolean bool box bytea character char varchar cidr circle date double precision float8 inet integer int int4 interval json jsonb line lseg macaddr macaddr8 money numeric decimal path pg_lsn point polygon real float4 smallint int2 smallserial serial2 serial serial4 text time without zone with timetz timestamp timestamptz tsquery tsvector txid_snapshot uuid xml"),atoms:M("false true null unknown"),operatorChars:/^[*\/+\-%<>!=&|^\/#@?~]/,backslashStringEscapes:!1,dateSQL:M("date time timestamp"),support:M("ODBCdotTable decimallessFloat zerolessFloat binaryNumber hexNumber nCharCast charsetCast escapeConstant")}),bC=je({keywords:M("ancestor and asc by contains desc descendant distinct from group has in is limit offset on order select superset where"),atoms:M("false true"),builtin:M("blob datetime first key __key__ string integer double boolean null"),operatorChars:/^[*+\-%<>!=]/}),SC=je({client:M("source"),keywords:M("abort absolute access action active add admin after aggregate all also alter always analyse analyze and any array as asc assertion assignment asymmetric at authorization backward before begin between bigint binary bit boolean both by cache called cascade cascaded case cast chain char character characteristics check checkpoint class close cluster coalesce codegen collate column comment commit committed concurrency concurrently configuration connection constraint constraints contains content continue conversion copy cost cpu_rate_limit create createdb createexttable createrole createuser cross csv cube current current_catalog current_date current_role current_schema current_time current_timestamp current_user cursor cycle data database day deallocate dec decimal declare decode default defaults deferrable deferred definer delete delimiter delimiters deny desc dictionary disable discard distinct distributed do document domain double drop dxl each else enable encoding encrypted end enum errors escape every except exchange exclude excluding exclusive execute exists explain extension external extract false family fetch fields filespace fill filter first float following for force foreign format forward freeze from full function global grant granted greatest group group_id grouping handler hash having header hold host hour identity if ignore ilike immediate immutable implicit in including inclusive increment index indexes inherit inherits initially inline inner inout input insensitive insert instead int integer intersect interval into invoker is isnull isolation join key language large last leading least left level like limit list listen load local localtime localtimestamp location lock log login mapping master match maxvalue median merge minute minvalue missing mode modifies modify month move name names national natural nchar new newline next no nocreatedb nocreateexttable nocreaterole nocreateuser noinherit nologin none noovercommit nosuperuser not nothing notify notnull nowait null nullif nulls numeric object of off offset oids old on only operator option options or order ordered others out outer over overcommit overlaps overlay owned owner parser partial partition partitions passing password percent percentile_cont percentile_disc placing plans position preceding precision prepare prepared preserve primary prior privileges procedural procedure protocol queue quote randomly range read readable reads real reassign recheck recursive ref references reindex reject relative release rename repeatable replace replica reset resource restart restrict returning returns revoke right role rollback rollup rootpartition row rows rule savepoint scatter schema scroll search second security segment select sequence serializable session session_user set setof sets share show similar simple smallint some split sql stable standalone start statement statistics stdin stdout storage strict strip subpartition subpartitions substring superuser symmetric sysid system table tablespace temp template temporary text then threshold ties time timestamp to trailing transaction treat trigger trim true truncate trusted type unbounded uncommitted unencrypted union unique unknown unlisten until update user using vacuum valid validation validator value values varchar variadic varying verbose version view volatile web when where whitespace window with within without work writable write xml xmlattributes xmlconcat xmlelement xmlexists xmlforest xmlparse xmlpi xmlroot xmlserialize year yes zone"),builtin:M("bigint int8 bigserial serial8 bit varying varbit boolean bool box bytea character char varchar cidr circle date double precision float float8 inet integer int int4 interval json jsonb line lseg macaddr macaddr8 money numeric decimal path pg_lsn point polygon real float4 smallint int2 smallserial serial2 serial serial4 text time without zone with timetz timestamp timestamptz tsquery tsvector txid_snapshot uuid xml"),atoms:M("false true null unknown"),operatorChars:/^[*+\-%<>!=&|^\/#@?~]/,dateSQL:M("date time timestamp"),support:M("ODBCdotTable decimallessFloat zerolessFloat binaryNumber hexNumber nCharCast charsetCast")}),yC=je({keywords:M("add after all alter analyze and anti archive array as asc at between bucket buckets by cache cascade case cast change clear cluster clustered codegen collection column columns comment commit compact compactions compute concatenate cost create cross cube current current_date current_timestamp database databases data dbproperties defined delete delimited deny desc describe dfs directories distinct distribute drop else end escaped except exchange exists explain export extended external false fields fileformat first following for format formatted from full function functions global grant group grouping having if ignore import in index indexes inner inpath inputformat insert intersect interval into is items join keys last lateral lazy left like limit lines list load local location lock locks logical macro map minus msck natural no not null nulls of on optimize option options or order out outer outputformat over overwrite partition partitioned partitions percent preceding principals purge range recordreader recordwriter recover reduce refresh regexp rename repair replace reset restrict revoke right rlike role roles rollback rollup row rows schema schemas select semi separated serde serdeproperties set sets show skewed sort sorted start statistics stored stratify struct table tables tablesample tblproperties temp temporary terminated then to touch transaction transactions transform true truncate unarchive unbounded uncache union unlock unset use using values view when where window with"),builtin:M("tinyint smallint int bigint boolean float double string binary timestamp decimal array map struct uniontype delimited serde sequencefile textfile rcfile inputformat outputformat"),atoms:M("false true null"),operatorChars:/^[*\/+\-%<>!=~&|^]/,dateSQL:M("date time timestamp"),support:M("ODBCdotTable doubleQuote zerolessFloat")}),kC=je({client:M("source"),keywords:M("alter and as asc between by count create delete desc distinct drop from group having in insert into is join like not on or order select set table union update values where limit after all and as at asc avedev avg between by case cast coalesce count create current_timestamp day days delete define desc distinct else end escape events every exists false first from full group having hour hours in inner insert instanceof into irstream is istream join last lastweekday left limit like max match_recognize matches median measures metadatasql min minute minutes msec millisecond milliseconds not null offset on or order outer output partition pattern prev prior regexp retain-union retain-intersection right rstream sec second seconds select set some snapshot sql stddev sum then true unidirectional until update variable weekday when where window"),builtin:{},atoms:M("false true null"),operatorChars:/^[*+\-%<>!=&|^\/#@?~]/,dateSQL:M("time"),support:M("decimallessFloat zerolessFloat binaryNumber hexNumber")});var $g={name:"toml",startState:function(){return{inString:!1,stringType:"",lhs:!0,inArray:0}},token:function(i,e){let t;if(!e.inString&&(t=i.match(/^('''|"""|'|")/))&&(e.stringType=t[0],e.inString=!0),i.sol()&&!e.inString&&e.inArray===0&&(e.lhs=!0),e.inString){for(;e.inString;)if(i.match(e.stringType))e.inString=!1;else if(i.peek()==="\\")i.next(),i.next();else{if(i.eol())break;i.match(/^.[^\\\"\']*/)}return e.lhs?"property":"string"}else{if(e.inArray&&i.peek()==="]")return i.next(),e.inArray--,"bracket";if(e.lhs&&i.peek()==="["&&i.skipTo("]"))return i.next(),i.peek()==="]"&&i.next(),"atom";if(i.peek()==="#")return i.skipToEnd(),"comment";if(i.eatSpace())return null;if(e.lhs&&i.eatWhile(function(n){return n!="="&&n!=" "}))return"property";if(e.lhs&&i.peek()==="=")return i.next(),e.lhs=!1,null;if(!e.lhs&&i.match(/^\d\d\d\d[\d\-\:\.T]*Z/))return"atom";if(!e.lhs&&(i.match("true")||i.match("false")))return"atom";if(!e.lhs&&i.peek()==="[")return e.inArray++,i.next(),"bracket";if(!e.lhs&&i.match(/^\-?\d+(?:\.\d+)?/))return"number";i.eatSpace()||i.next()}return null},languageData:{commentTokens:{line:"#"}}};var xP=ge({"for in if else endfor endif":d.controlKeyword,"Attribute/Identifier":d.definition(d.propertyName),"ForIntro/Identifier":d.definition(d.propertyName),"Block/Identifier":d.definitionKeyword,"FunctionCall/Identifier":d.function(d.variableName),"Attribute/Expression":d.attributeValue,"VariableExpr/Identifier":d.variableName,"GetAttr/Identifier":d.variableName,Identifier:d.name,"LiteralValue/...":d.literal,"StringLit/... TemplateLiteral":d.string,NumericLit:d.number,BoolLit:d.bool,NullLit:d.null,Comment:d.comment,LineComment:d.lineComment,BlockComment:d.blockComment,"( )":d.paren,"{ }":d.bracket,"[ ]":d.squareBracket,ArithOp:d.arithmeticOperator,LogicOp:d.logicOperator,CompareOp:d.compareOperator,ControlOp:d.controlOperator,HeredocIdentifier:d.special(d.controlKeyword),HeredocStart:d.special(d.brace),"TemplateInterpolationStart TemplateInterpolationEnd":d.special(d.brace),"TemplateDirectiveStart TemplateDirectiveEnd":d.special(d.brace),StripMarker:d.special(d.brace),Ellipsis:d.punctuation,": =>":d.punctuation,",":d.separator}),ph=1,mh=2,gh=3,Qh=4,bh=5,Sh=6,An=7,Ze=93,Te={QUOTED_TEMPLATE:1,TEMPLATE_INTERPOLATION:2,TEMPLATE_DIRECTIVE:4,HEREDOC_TEMPLATE:8},wP=function(i){var e=0,t,n;if(i.length===0)return e;for(t=0;t{if(e.canShift(ph)&&!(e.context&&e.context.type===Te.QUOTED_TEMPLATE)&&String.fromCharCode(i.next)==='"')return i.advance(),i.acceptToken(ph)},{contextual:!0,fallback:!0}),TP=new K((i,e)=>{if(e.canShift(mh)&&e.context&&e.context.type===Te.QUOTED_TEMPLATE&&String.fromCharCode(i.next)==='"')return i.advance(),i.acceptToken(mh)},{contextual:!0,fallback:!0}),CP=new K((i,e)=>{if(e.canShift(Ze)&&e.context&&e.context.type===Te.QUOTED_TEMPLATE)switch(String.fromCharCode(i.next)){case"\\":switch(i.advance(),String.fromCharCode(i.next)){case'"':case"n":case"r":case"t":case"\\":return i.advance(),i.acceptToken(Ze);case"u":for(let t=0;t<4;t++)if(i.advance(),!/[0-9a-fA-F]/.test(String.fromCharCode(i.next)))return;return i.advance(),i.acceptToken(Ze);case"U":for(let t=0;t<8;t++)if(i.advance(),!/[0-9a-fA-F]/.test(String.fromCharCode(i.next)))return;return i.advance(),i.acceptToken(Ze);default:return}}if(e.canShift(Ze)&&e.context&&(e.context.type===Te.QUOTED_TEMPLATE||e.context.type===Te.HEREDOC_TEMPLATE)&&i.next!==-1)return i.advance(),i.acceptToken(Ze)},{contextual:!0,fallback:!0}),XP=new K((i,e)=>{if(e.canShift(gh)&&e.canShift(Ze)&&!(e.context&&e.context.type===Te.TEMPLATE_INTERPOLATION)&&String.fromCharCode(i.next)==="$")return i.advance(),String.fromCharCode(i.next)==="{"?(i.advance(),i.acceptToken(gh)):(String.fromCharCode(i.next)==="$"&&(i.advance(),String.fromCharCode(i.next)==="{")&&i.advance(),i.acceptToken(Ze))},{contextual:!0,fallback:!0}),_P=new K((i,e)=>{if(e.canShift(Qh)&&e.context&&e.context.type===Te.TEMPLATE_INTERPOLATION&&String.fromCharCode(i.next)==="}")return i.advance(),i.acceptToken(Qh)},{contextual:!0,fallback:!0}),RP=new K((i,e)=>{if(e.canShift(bh)&&e.canShift(Ze)&&!(e.context&&e.context.type===Te.TEMPLATE_DIRECTIVE)&&String.fromCharCode(i.next)==="%")return i.advance(),String.fromCharCode(i.next)==="{"?(i.advance(),i.acceptToken(bh)):(String.fromCharCode(i.next)==="%"&&(i.advance(),String.fromCharCode(i.next)==="{")&&i.advance(),i.acceptToken(Ze))},{contextual:!0,fallback:!0}),AP=new K((i,e)=>{if(e.canShift(Sh)&&e.context&&e.context.type===Te.TEMPLATE_DIRECTIVE&&String.fromCharCode(i.next)==="}")return i.advance(),i.acceptToken(Sh)},{contextual:!0,fallback:!0}),ZP=new K((i,e)=>{if(e.canShift(An)&&!(e.context&&e.context.type===Te.HEREDOC_TEMPLATE)&&i.next!==-1){let t=String.fromCharCode(i.next);for(;/[0-9a-zA-Z]/.test(t)||t==="_"||t==="-";)i.advance(),t=String.fromCharCode(i.next);return i.acceptToken(An)}if(e.canShift(An)&&e.canShift(Ze)&&e.context&&e.context.type===Te.HEREDOC_TEMPLATE&&i.next!=-1){let t=e.context.heredoc_identifier,n=!1,r=!1,s=String.fromCharCode(i.next);for(;/\s/.test(s);)r=!0,s===` `&&(n=!0),i.advance(),s=String.fromCharCode(i.next);if(r&&i.acceptToken(Ze),!n)return;let o=0;for(let l=0;lbQ&jO,5:fOOQy,5:h,5:hPOQy'#EY'#EYPOQy,5:j,5:jPOQy,5:k,5:kOOQy1G0g1G0gOOQO7+%u7+%uO>jQ&jO7+%uOOQ%n,5:|,5:|OOQ%n1G.}1G.}O>oQ&rO1G.}O>tQ&rO1G.}OOQ%n1G/Q1G/QO?PQ&jO,59jO?[Q'[O,59jOOQ%n1G/W1G/WO1tQ)tO1G/WO?dQ&jO'#DVO1tQ)tO1G/WO?rQ&jO,59oO@QQ'[O,59oO@YQ'[O,59qO@bQ&jO1G/RO@jQ&jO1G/RO$yQ&kO1G/XO@oQ'[O1G/XOOQy7+$y7+$yO@zQ&jO,5:rOA]Q&kO1G0lOOQO-E8U-E8UOOQy7+%[7+%[OAdQ&jO7+%[O$yQ&kO'#DlO$yQ&kO1G/qOAiQ&jO1G/qOOQP'#ES'#ESO$yQ&kO7+%rP$yQ&kO'#EXO$yQ&kO7+%_OAnQ&kO,5:ROAuQ&jO,5:ROOQO,5:R,5:ROOQy7+%V7+%VOOQy1G0Q1G0QPOQy-E8W-E8WOOQO<eAN>eOKmQ&jOAN>eOKrQ&jOAN>eOOQ%n<cOOQyG24PG24POLiQ&jOG24POOQ$YG23_G23_OLnQ'[OG23_OLyQ'[OG23_O$yQ&kOG23_OOQPG23}G23}OOQyLD)kLD)kOOQ$YLD(yLD(yOMOQ'[OLD(yOMTQ'[OLD(yOOQ$Y!$'Le!$'LeOM`Q'[O!$'LeOOQ$Y!)9BP!)9BPO-wQ&kO'#DoO/TQ&kO'#DoOMeQ&kO'#CkO-wQ&kO,5:^O/TQ&kO,5:^O-wQ&kO,5:^O/TQ&kO,5:^O-wQ&kO,5:^O/TQ&kO,5:^O-wQ&kO,5:^O/TQ&kO,5:^O-wQ&kO,5:^O/TQ&kO,5:^O-wQ&kO,5:^O/TQ&kO,5:^ON[Q&kO1G/xO! XQ&kO1G/xO!!UQ&kO1G/xO!%UQ&kO1G/xO!%]Q&kO1G/xO-wQ&kO7+%rO/TQ&kO7+%rO4uQ&jO1G0WO4uQ&jO1G0WO$yQ&kO,5:lO$yQ&kO,5:l",stateData:"!%l~O#ROSXPQYPQ~O^RO!SQO~OXVOYVO~OPZO^gOa[OcXOdXOfYO!P`O!RdO!ScO!YoO#W]O#X]O#^iO#_jO~OPqO^sO!SuO#SrO~O^RO#O[X!R[X~OQ!PORyOT!QO#PwO~OV!RO~OPZO^gOa[OcXOdXOfYOp!WO!P`O!ScO!YoO#W]O#X]O#^iO#_jO~O!O!TO~P#iO#S!XO#[!XO#o!YO~OPZO^gOa[OcXOdXOfYO!P`O!ScO!YoO#W]O#X]O#^iO#_jO~O#V!]O!R#ZX~P$yOp!WO~PmO!R!`O~O!Y!aO!P!VX!o!VX#^!VX#`!VX#a!VX#b!VX#c!VX#d!VX#e!VX#f!VX#g!VX#h!VX#i!VX#j!VX#k!VX#l!VX#m!VX#n!VX#o!VX~O#S!VX#[!VX!O!VX#V!VX!W!VX^!VX#O!VXS!VXl!VXv!VX![!VXU!VX!R!VX~P&[O!o!pO#^!dO#`!cO#a!cO#b!cO#c!dO#d!eO#e!eO#f!eO#g!eO#h!fO#i!fO#j!gO#k!hO#l!qO#m!rO#n!sO#o_X#V_X^_X!R_X~O!P!oO#S_X#[_X!O_X!W_X#O_XS_Xl_Xv_X![_XU_X~P(iOPqO^sO!S!zO~O^RO!R!{O~O#P!}OQ#UPR#UPT#UPV#UP~OQ#POR!yXT!yX#P!yX~OS#QOl#RO~P$yORyOT#VO#PwO~ORyOT#ZO#PwO~OQ#]ORyOT!QO#PwO~Ol#_Op#^Ov#`O~ORyOT!QOV#bO#PwO~O#V#cO#o!YO!O#YX~O!O#eO~O^#gO~OPZO^#iOa[OcXOdXOfYO!P`O!ScO!YoO#W]O#X]O#^iO#_jO~O!R#Za~P$yO#V#lO!R#Za~P$yOPZO^#nOa[OcXOdXOfYO!P`O!ScO!YoO#W]O#X]O#^iO#_jO~O!W#rO~P$yO^#{O~O!W$PO#o!YO~OQ#PO~O#o!YO^]i#O]i!R]i~O^RO!R$QO~OS$TOl$UO~P$yOS$TOl$UO#o!YO~Ol$XOp#^Os$YOv#`O~ORyOT$]O#PwO~Ol$_Op#^Ov#`Ox$`Oz$aO~O^$bO~Op$cOv$dO~ORyOT!QOV$fO#PwO~O!O#Ya~P$yO#V$hO!O#Ya~Ov$lO!O$jO#o!YO~Oq$mO#V$nO~O#o!YOP!Ui^!Uia!Uic!Uid!Uif!Ui!P!Ui!R!Ui!S!Ui!Y!Ui#V!Ui#W!Ui#X!Ui#^!Ui#_!Ui~O#[$oO#o!YO~O!R#Zi~P$yO#]!VX~P&[O#]$rO#o!YO~O!o!pO#^!dO#`!cO#a!cO#b!cO#c!dO#d!eO#e!eO#f!eO#g!eO#h!fO#i!fO#j!gO#k!hO#l!qO#m!rO#n!sO#o_X~O!P!oO#]_X~P5eO![$uO#V$sO#o!YO!W!ZX~O!W$vO~O#`!cO#a!cO#b!cO!P!fi!o!fi#S!fi#[!fi#d!fi#e!fi#f!fi#g!fi#h!fi#i!fi#j!fi#k!fi#l!fi#m!fi#n!fi#o!fi!O!fi#V!fi!W!fi^!fi#O!fiS!fil!fiv!fi![!fiU!fi!R!fi~O#^!fi#c!fi~P7^O#^!dO#c!dO~P7^O#^!dO#`!cO#a!cO#b!cO#c!dO#d!eO#e!eO#f!eO#g!eO!P!fi!o!fi#S!fi#[!fi#j!fi#k!fi#l!fi#m!fi#n!fi#o!fi!O!fi#V!fi!W!fi^!fi#O!fiS!fil!fiv!fi![!fiU!fi!R!fi~O#h!fi#i!fi~P9rO#h!fO#i!fO~P9rO#^!dO#`!cO#a!cO#b!cO#c!dO#d!eO#e!eO#f!eO#g!eO#h!fO#i!fO#j!gO!P!fi!o!fi#k!fi#l!fi#m!fi#n!fi#o!fi#V!fi^!fi!R!fi~O#S!fi#[!fi!O!fi!W!fi#O!fiS!fil!fiv!fi![!fiU!fi~PvP[i]||-1}],tokenPrec:2320}),TP=ve.define({parser:$P.configure({props:[we.add({Block:bt({closing:"}",align:!1})}),$e.add({"Object Tuple TemplateFor TemplateIf":lt,BlockComment:i=>({from:i.from+2,to:i.to-2}),HeredocTemplate(i){let e=i.getChild("HeredocIdentifier");return e?{from:e.to,to:i.to}:null},FunctionCall(i){let e=i.getChild("("),t=i.getChild(")");return!e||!t?null:{from:e.from+1,to:t.to-1}},Block(i){let e=i.getChild("{"),t=i.getChild("}");return!e||!t?null:{from:e.from+1,to:t.to-1}}}),dP]}),languageData:{commentTokens:{line:"#",block:{open:"/*",close:"*/"}}}});function Sg(){return new pe(TP)}function CP(i){let e=i.trim();if(!e)return"";if(/^#!.*\b(?:ba)?sh\b|^\s*\$\s+/.test(e))return"bash";if(e.startsWith("{")&&e.endsWith("}")||e.startsWith("[")&&e.endsWith("]"))try{return JSON.parse(e),"json"}catch{}return/^\s*(?:|(?:using\s+namespace\s+std|std::\w+|(?:cout|cin)\s*(?:<<|>>))\b)/m.test(e)?"cpp":/^\s*(?:#\s*include\s*[<"](?:assert|ctype|errno|float|inttypes|limits|math|setjmp|signal|stdarg|stdbool|stddef|stdint|stdio|stdlib|string|time)\.h[>"]|(?:int|void)\s+main\s*\([^)]*\)\s*\{)/m.test(e)?"c":/^\s*(?:async\s+)?def\s+\w+\s*\(|^\s*from\s+\w+[\w.]*\s+import\b|^\s*class\s+\w+\s*[:(]/m.test(e)?"python":/\b(?:SELECT|INSERT|UPDATE|DELETE|CREATE\s+(?:TABLE|VIEW|INDEX)|WITH)\b[\s\S]*\b(?:FROM|INTO|WHERE|AS)\b/i.test(e)?"sql":/(?:^|\n)\s*(?:[#.]?[A-Za-z][\w-]*)\s*\{[\s\S]*:[\s\S]*\}/.test(e)||/@(?:media|keyframes|supports)\b/.test(e)?"css":/^\s*(?:const|let|var)\s+[A-Za-z_$][\w$]*\s*(?::[^=\n]+)?\s*=/m.test(e)||/\b(?:function\s+\w+\s*\(|console\.(?:log|error|warn)|=>)/.test(e)?"javascript":/^\s*(?:[-A-Za-z_][\w-]*):\s*(?:[^:#\n]|$)/m.test(e)&&!/[{};]/.test(e)?"yaml":/^\s*(?:echo|printf|export|source|cd|mkdir|rm|cp|mv)\s+/m.test(e)?"bash":""}var Ie=(i,e,t)=>Ye.of({name:i,alias:e,support:new pe(Rs.define(t))}),Wg=[Ye.of({name:"javascript",alias:["js","jsx","ts","tsx","typescript","node"],support:no({jsx:!0,typescript:!0})}),Ye.of({name:"python",alias:["py"],support:Rm()}),Ye.of({name:"json",alias:["jsonc"],support:Zm()}),Ye.of({name:"css",alias:["scss"],support:io()}),Ye.of({name:"html",alias:["htm","xml"],support:so()}),Ye.of({name:"hcl",alias:["terraform","tf"],support:Sg()}),Ie("swift",[],Em),Ie("shell",["sh","bash","zsh","console"],jm),Ie("yaml",["yml"],Vm),Ie("go",["golang"],Um),Ie("ruby",["rb"],Fm),Ie("rust",["rs"],Jm),Ie("c",["h"],lg),Ie("cpp",["c++","cc","hpp"],cg),Ie("java",[],hg),Ie("kotlin",["kt"],Og),Ie("objective-c",["objc","objectivec"],dg),Ie("csharp",["cs","c#"],fg),Ie("sql",[],We({})),Ie("toml",[],bg)],XP={resolve:"Highlight",mark:"HighlightMark"},_P=/[\p{S}\p{P}]/u;function yg(i){return!i||/\s/.test(i)}function kg(i){return!!i&&_P.test(i)}var RP={defineNodes:["Highlight","HighlightMark"],parseInline:[{name:"Highlight",parse(i,e,t){if(e!==61||i.char(t+1)!==61)return-1;let n=t;for(;n>i.offset&&i.char(n-1)===61;)n--;let r=t+2;for(;i.char(r)===61;)r++;let s=n+(r-n)%2;if(t=i.offset&&i.char(m)===92;m--)o++;if(o%2!==0)return-1;let a=i.slice(n-1,n),l=i.slice(r,r+1),c=yg(a),h=yg(l),f=kg(a),u=kg(l),O=!h&&(!u||c||f),p=!c&&(!f||h||u);return i.addDelimiter(XP,t,t+2,O,p)},after:"Emphasis"}]},zr=class extends Re{constructor(e,t){super(),this.text=e,this.className=t}eq(e){return e.text===this.text&&e.className===this.className}toDOM(){let e=document.createElement("span");return e.textContent=this.text,e.className=this.className,e}ignoreEvent(){return!1}},yh=class extends Re{constructor(e,t,n,r,s){super(),this.source=e,this.alt=t,this.raw=n,this.from=r,this.to=s}eq(e){return e.source===this.source&&e.alt===this.alt&&e.raw===this.raw&&e.from===this.from&&e.to===this.to}toDOM(e){let t=document.createElement("span");t.className="cm-md-image-preview",t.setAttribute("role","figure");let n=document.createElement("img");n.src=this.source,n.alt=this.alt,n.draggable=!1,n.addEventListener("error",()=>t.classList.add("cm-md-image-error"),{once:!0});let r=document.createElement("code");r.className="cm-md-image-source",r.textContent=this.raw,r.title="Click to edit image source";let s=o=>{o.preventDefault(),o.stopPropagation(),e.focus(),e.dispatch({selection:{anchor:Math.min(this.from+2,this.to)},userEvent:"select.pointer"})};return r.addEventListener("mousedown",s),r.addEventListener("click",s),n.addEventListener("mousedown",o=>{o.preventDefault(),o.stopPropagation()}),n.addEventListener("click",o=>{o.preventDefault(),o.stopPropagation();let a=n.currentSrc||n.src;a.startsWith("md-asset:")?window.__mdRequestImageRename?.(a):s(o)}),t.append(n,r),t}ignoreEvent(){return!0}},kh=class extends Re{eq(){return!0}toDOM(){let e=document.createElement("span");return e.className="cm-md-hr",e}ignoreEvent(){return!1}},AP=0,xh=class extends Re{constructor(e){super(),this.source=e}eq(e){return e.source===this.source}toDOM(e){let t=document.createElement("figure");t.className="cm-md-mermaid-preview",t.setAttribute("role","img"),t.setAttribute("aria-label","Mermaid diagram. Click to edit source.");let n=document.createElement("div");n.className="cm-md-mermaid-stage",n.textContent="Rendering diagram\u2026",t.appendChild(n),t.addEventListener("mousedown",o=>{o.preventDefault(),e.focus();let a=e.posAtDOM(t);e.dispatch({selection:{anchor:a+1},userEvent:"select.pointer"})});let r=window.mermaid;if(!r||typeof r.render!="function")return n.textContent="Mermaid preview unavailable. Click to edit source.",t;let s=`md-editor-mermaid-${++AP}`;return Promise.resolve(r.render(s,this.source)).then(({svg:o})=>{n.innerHTML=o;let a=n.querySelector("svg"),l=a?.viewBox?.baseVal;a&&l?.width>0&&l?.height>0&&(t.style.setProperty("--mm-aspect",`${l.width} / ${l.height}`),a.removeAttribute("width"),a.removeAttribute("height"),a.setAttribute("preserveAspectRatio","xMidYMid meet"),a.style.width="100%",a.style.height="100%"),e.requestMeasure()}).catch(()=>{n.textContent="Unable to render Mermaid diagram. Click to edit source.",t.classList.add("cm-md-mermaid-error"),e.requestMeasure()}),t}ignoreEvent(){return!0}},jg=new WeakMap,wh=ie.define({map:(i,e)=>e.mapPos(i,1,me.TrackAfter)??void 0}),Zn=he.define({create:()=>new Set,update(i,e){if(!e.docChanged&&!e.effects.some(n=>n.is(wh)))return i;let t=new Set([...i].map(n=>e.changes.mapPos(n,1,me.TrackAfter)).filter(n=>n!=null));for(let n of e.effects)n.is(wh)&&(t.has(n.value)?t.delete(n.value):t.add(n.value));return t}}),ph=i=>'",Po=class extends Re{constructor(e){super(),Object.assign(this,e)}eq(e){return e.fenceFrom===this.fenceFrom&&e.infoFrom===this.infoFrom&&e.infoTo===this.infoTo&&e.rawInfo===this.rawInfo&&e.detectedLanguage===this.detectedLanguage&&e.wrapped===this.wrapped&&e.plain===this.plain}toDOM(e){let t=document.createElement("span");t.className="cm-md-code-language",t.contentEditable="false";let n=document.createElement("input");n.type="text",n.className="cm-md-code-language-input",n.autocomplete="off",n.spellcheck=!1,n.value=this.language,n.readOnly=!!this.plain,n.placeholder="language",n.setAttribute("aria-label","Code block language"),n.dataset.fenceFrom=String(this.fenceFrom);let r=this.rawInfo.match(/^\S+([\s\S]*)$/)?.[1]||"",s=n.value,o=!0,a=!1,l=()=>{if(this.plain)return;let f=n.value.trim().split(/\s+/,1)[0].toLowerCase(),u=f?f+r:"";u!==this.rawInfo&&n.value!==s&&(a=!0,e.dispatch({changes:{from:this.infoFrom,to:this.infoTo,insert:u},userEvent:"input"}))};n.addEventListener("change",l),n.addEventListener("keydown",f=>{f.stopPropagation(),f.key==="Enter"?(f.preventDefault(),l(),n.blur(),e.focus()):f.key==="Escape"&&(f.preventDefault(),o=!1,n.value=this.language,n.blur(),e.focus())}),n.addEventListener("mousedown",f=>f.stopPropagation()),n.addEventListener("click",f=>f.stopPropagation()),n.addEventListener("blur",()=>{o&&!a&&l(),a=!1,o=!0}),t.appendChild(n);let c=(f,u,O,p)=>{let m=document.createElement("button");return m.type="button",m.className=`cm-md-code-action ${O}`,m.title=f,m.setAttribute("aria-label",f),m.innerHTML=ph(u),m.addEventListener("mousedown",b=>{b.preventDefault(),b.stopPropagation()}),m.addEventListener("click",b=>{b.preventDefault(),b.stopPropagation(),p(m)}),t.appendChild(m),m};return c(this.wrapped?"Unwrap code":"Wrap code",this.wrapped?"unwrap":"wrap","cm-md-code-toggle-wrap",()=>e.dispatch({effects:wh.of(e.state.doc.lineAt(this.fenceFrom).from)})).setAttribute("aria-pressed",String(this.wrapped)),c("Copy code","copy","cm-md-code-copy",async f=>{let u=e.state.doc.lineAt(this.fenceFrom),O=B(e.state).resolve(this.plain?u.to:this.fenceFrom+1,-1);for(;O&&O.name!==(this.plain?"CodeBlock":"FencedCode");)O=O.parent;if(!O)return;let p=this.plain?O.getChildren("CodeText").map(m=>e.state.sliceDoc(m.from,m.to)).join(""):$o(e.state,O).source;try{let m=jg.get(e);m?m(p):await navigator.clipboard.writeText(p),f.innerHTML=ph("check"),f.title="Code copied",f.setAttribute("aria-label",f.title),clearTimeout(f.copyTimer),f.copyTimer=setTimeout(()=>{f.innerHTML=ph("copy"),f.title="Copy code",f.setAttribute("aria-label",f.title)},1100)}catch{}}),t}ignoreEvent(){return!0}};function mh(i){let e=[],t="",n=0,r=0;for(let o=0;obQ&jO,5:fOOQy,5:h,5:hPOQy'#EY'#EYPOQy,5:j,5:jPOQy,5:k,5:kOOQy1G0g1G0gOOQO7+%u7+%uO>jQ&jO7+%uOOQ%n,5:|,5:|OOQ%n1G.}1G.}O>oQ&rO1G.}O>tQ&rO1G.}OOQ%n1G/Q1G/QO?PQ&jO,59jO?[Q'[O,59jOOQ%n1G/W1G/WO1tQ)tO1G/WO?dQ&jO'#DVO1tQ)tO1G/WO?rQ&jO,59oO@QQ'[O,59oO@YQ'[O,59qO@bQ&jO1G/RO@jQ&jO1G/RO$yQ&kO1G/XO@oQ'[O1G/XOOQy7+$y7+$yO@zQ&jO,5:rOA]Q&kO1G0lOOQO-E8U-E8UOOQy7+%[7+%[OAdQ&jO7+%[O$yQ&kO'#DlO$yQ&kO1G/qOAiQ&jO1G/qOOQP'#ES'#ESO$yQ&kO7+%rP$yQ&kO'#EXO$yQ&kO7+%_OAnQ&kO,5:ROAuQ&jO,5:ROOQO,5:R,5:ROOQy7+%V7+%VOOQy1G0Q1G0QPOQy-E8W-E8WOOQO<eAN>eOKmQ&jOAN>eOKrQ&jOAN>eOOQ%n<cOOQyG24PG24POLiQ&jOG24POOQ$YG23_G23_OLnQ'[OG23_OLyQ'[OG23_O$yQ&kOG23_OOQPG23}G23}OOQyLD)kLD)kOOQ$YLD(yLD(yOMOQ'[OLD(yOMTQ'[OLD(yOOQ$Y!$'Le!$'LeOM`Q'[O!$'LeOOQ$Y!)9BP!)9BPO-wQ&kO'#DoO/TQ&kO'#DoOMeQ&kO'#CkO-wQ&kO,5:^O/TQ&kO,5:^O-wQ&kO,5:^O/TQ&kO,5:^O-wQ&kO,5:^O/TQ&kO,5:^O-wQ&kO,5:^O/TQ&kO,5:^O-wQ&kO,5:^O/TQ&kO,5:^O-wQ&kO,5:^O/TQ&kO,5:^ON[Q&kO1G/xO! XQ&kO1G/xO!!UQ&kO1G/xO!%UQ&kO1G/xO!%]Q&kO1G/xO-wQ&kO7+%rO/TQ&kO7+%rO4uQ&jO1G0WO4uQ&jO1G0WO$yQ&kO,5:lO$yQ&kO,5:l",stateData:"!%l~O#ROSXPQYPQ~O^RO!SQO~OXVOYVO~OPZO^gOa[OcXOdXOfYO!P`O!RdO!ScO!YoO#W]O#X]O#^iO#_jO~OPqO^sO!SuO#SrO~O^RO#O[X!R[X~OQ!PORyOT!QO#PwO~OV!RO~OPZO^gOa[OcXOdXOfYOp!WO!P`O!ScO!YoO#W]O#X]O#^iO#_jO~O!O!TO~P#iO#S!XO#[!XO#o!YO~OPZO^gOa[OcXOdXOfYO!P`O!ScO!YoO#W]O#X]O#^iO#_jO~O#V!]O!R#ZX~P$yOp!WO~PmO!R!`O~O!Y!aO!P!VX!o!VX#^!VX#`!VX#a!VX#b!VX#c!VX#d!VX#e!VX#f!VX#g!VX#h!VX#i!VX#j!VX#k!VX#l!VX#m!VX#n!VX#o!VX~O#S!VX#[!VX!O!VX#V!VX!W!VX^!VX#O!VXS!VXl!VXv!VX![!VXU!VX!R!VX~P&[O!o!pO#^!dO#`!cO#a!cO#b!cO#c!dO#d!eO#e!eO#f!eO#g!eO#h!fO#i!fO#j!gO#k!hO#l!qO#m!rO#n!sO#o_X#V_X^_X!R_X~O!P!oO#S_X#[_X!O_X!W_X#O_XS_Xl_Xv_X![_XU_X~P(iOPqO^sO!S!zO~O^RO!R!{O~O#P!}OQ#UPR#UPT#UPV#UP~OQ#POR!yXT!yX#P!yX~OS#QOl#RO~P$yORyOT#VO#PwO~ORyOT#ZO#PwO~OQ#]ORyOT!QO#PwO~Ol#_Op#^Ov#`O~ORyOT!QOV#bO#PwO~O#V#cO#o!YO!O#YX~O!O#eO~O^#gO~OPZO^#iOa[OcXOdXOfYO!P`O!ScO!YoO#W]O#X]O#^iO#_jO~O!R#Za~P$yO#V#lO!R#Za~P$yOPZO^#nOa[OcXOdXOfYO!P`O!ScO!YoO#W]O#X]O#^iO#_jO~O!W#rO~P$yO^#{O~O!W$PO#o!YO~OQ#PO~O#o!YO^]i#O]i!R]i~O^RO!R$QO~OS$TOl$UO~P$yOS$TOl$UO#o!YO~Ol$XOp#^Os$YOv#`O~ORyOT$]O#PwO~Ol$_Op#^Ov#`Ox$`Oz$aO~O^$bO~Op$cOv$dO~ORyOT!QOV$fO#PwO~O!O#Ya~P$yO#V$hO!O#Ya~Ov$lO!O$jO#o!YO~Oq$mO#V$nO~O#o!YOP!Ui^!Uia!Uic!Uid!Uif!Ui!P!Ui!R!Ui!S!Ui!Y!Ui#V!Ui#W!Ui#X!Ui#^!Ui#_!Ui~O#[$oO#o!YO~O!R#Zi~P$yO#]!VX~P&[O#]$rO#o!YO~O!o!pO#^!dO#`!cO#a!cO#b!cO#c!dO#d!eO#e!eO#f!eO#g!eO#h!fO#i!fO#j!gO#k!hO#l!qO#m!rO#n!sO#o_X~O!P!oO#]_X~P5eO![$uO#V$sO#o!YO!W!ZX~O!W$vO~O#`!cO#a!cO#b!cO!P!fi!o!fi#S!fi#[!fi#d!fi#e!fi#f!fi#g!fi#h!fi#i!fi#j!fi#k!fi#l!fi#m!fi#n!fi#o!fi!O!fi#V!fi!W!fi^!fi#O!fiS!fil!fiv!fi![!fiU!fi!R!fi~O#^!fi#c!fi~P7^O#^!dO#c!dO~P7^O#^!dO#`!cO#a!cO#b!cO#c!dO#d!eO#e!eO#f!eO#g!eO!P!fi!o!fi#S!fi#[!fi#j!fi#k!fi#l!fi#m!fi#n!fi#o!fi!O!fi#V!fi!W!fi^!fi#O!fiS!fil!fiv!fi![!fiU!fi!R!fi~O#h!fi#i!fi~P9rO#h!fO#i!fO~P9rO#^!dO#`!cO#a!cO#b!cO#c!dO#d!eO#e!eO#f!eO#g!eO#h!fO#i!fO#j!gO!P!fi!o!fi#k!fi#l!fi#m!fi#n!fi#o!fi#V!fi^!fi!R!fi~O#S!fi#[!fi!O!fi!W!fi#O!fiS!fil!fiv!fi![!fiU!fi~PqP[i]||-1}],tokenPrec:2320}),zP=ve.define({parser:EP.configure({props:[we.add({Block:St({closing:"}",align:!1})}),$e.add({"Object Tuple TemplateFor TemplateIf":ct,BlockComment:i=>({from:i.from+2,to:i.to-2}),HeredocTemplate(i){let e=i.getChild("HeredocIdentifier");return e?{from:e.to,to:i.to}:null},FunctionCall(i){let e=i.getChild("("),t=i.getChild(")");return!e||!t?null:{from:e.from+1,to:t.to-1}},Block(i){let e=i.getChild("{"),t=i.getChild("}");return!e||!t?null:{from:e.from+1,to:t.to-1}}}),xP]}),languageData:{commentTokens:{line:"#",block:{open:"/*",close:"*/"}}}});function Tg(){return new pe(zP)}function LP(i){let e=i.trim();if(!e)return"";if(/^#!.*\b(?:ba)?sh\b|^\s*\$\s+/.test(e))return"bash";if(e.startsWith("{")&&e.endsWith("}")||e.startsWith("[")&&e.endsWith("]"))try{return JSON.parse(e),"json"}catch{}return/^\s*(?:|(?:using\s+namespace\s+std|std::\w+|(?:cout|cin)\s*(?:<<|>>))\b)/m.test(e)?"cpp":/^\s*(?:#\s*include\s*[<"](?:assert|ctype|errno|float|inttypes|limits|math|setjmp|signal|stdarg|stdbool|stddef|stdint|stdio|stdlib|string|time)\.h[>"]|(?:int|void)\s+main\s*\([^)]*\)\s*\{)/m.test(e)?"c":/^\s*(?:async\s+)?def\s+\w+\s*\(|^\s*from\s+\w+[\w.]*\s+import\b|^\s*class\s+\w+\s*[:(]/m.test(e)?"python":/\b(?:SELECT|INSERT|UPDATE|DELETE|CREATE\s+(?:TABLE|VIEW|INDEX)|WITH)\b[\s\S]*\b(?:FROM|INTO|WHERE|AS)\b/i.test(e)?"sql":/(?:^|\n)\s*(?:[#.]?[A-Za-z][\w-]*)\s*\{[\s\S]*:[\s\S]*\}/.test(e)||/@(?:media|keyframes|supports)\b/.test(e)?"css":/^\s*(?:const|let|var)\s+[A-Za-z_$][\w$]*\s*(?::[^=\n]+)?\s*=/m.test(e)||/\b(?:function\s+\w+\s*\(|console\.(?:log|error|warn)|=>)/.test(e)?"javascript":/^\s*(?:[-A-Za-z_][\w-]*):\s*(?:[^:#\n]|$)/m.test(e)&&!/[{};]/.test(e)?"yaml":/^\s*(?:echo|printf|export|source|cd|mkdir|rm|cp|mv)\s+/m.test(e)?"bash":""}var Ue=(i,e,t)=>Be.of({name:i,alias:e,support:new pe(Zs.define(t))}),Ug=[Be.of({name:"javascript",alias:["js","jsx","ts","tsx","typescript","node"],support:so({jsx:!0,typescript:!0})}),Be.of({name:"python",alias:["py"],support:Wm()}),Be.of({name:"json",alias:["jsonc"],support:Vm()}),Be.of({name:"css",alias:["scss"],support:ro()}),Be.of({name:"html",alias:["htm","xml"],support:ao()}),Be.of({name:"hcl",alias:["terraform","tf"],support:Tg()}),Ue("swift",[],Ym),Ue("shell",["sh","bash","zsh","console"],Nm),Ue("yaml",["yml"],Fm),Ue("go",["golang"],tg),Ue("ruby",["rb"],rg),Ue("rust",["rs"],ag),Ue("c",["h"],mg),Ue("cpp",["c++","cc","hpp"],gg),Ue("java",[],Qg),Ue("kotlin",["kt"],yg),Ue("objective-c",["objc","objectivec"],kg),Ue("csharp",["cs","c#"],bg),Ue("sql",[],je({})),Ue("toml",[],$g)],MP={resolve:"Highlight",mark:"HighlightMark"},WP=/[\p{S}\p{P}]/u;function Cg(i){return!i||/\s/.test(i)}function Xg(i){return!!i&&WP.test(i)}var qh={defineNodes:["Highlight","HighlightMark"],parseInline:[{name:"Highlight",parse(i,e,t){if(e!==61||i.char(t+1)!==61)return-1;let n=t;for(;n>i.offset&&i.char(n-1)===61;)n--;let r=t+2;for(;i.char(r)===61;)r++;let s=n+(r-n)%2;if(t=i.offset&&i.char(m)===92;m--)o++;if(o%2!==0)return-1;let a=i.slice(n-1,n),l=i.slice(r,r+1),c=Cg(a),h=Cg(l),f=Xg(a),u=Xg(l),O=!h&&(!u||c||f),p=!c&&(!f||h||u);return i.addDelimiter(MP,t,t+2,O,p)},after:"Emphasis"}]},Mr=class extends Re{constructor(e,t){super(),this.text=e,this.className=t}eq(e){return e.text===this.text&&e.className===this.className}toDOM(){let e=document.createElement("span");return e.textContent=this.text,e.className=this.className,e}ignoreEvent(){return!1}},vh=class extends Re{constructor(e,t,n,r,s){super(),this.source=e,this.alt=t,this.raw=n,this.from=r,this.to=s}eq(e){return e.source===this.source&&e.alt===this.alt&&e.raw===this.raw&&e.from===this.from&&e.to===this.to}toDOM(e){let t=document.createElement("span");t.className="cm-md-image-preview",t.setAttribute("role","figure");let n=document.createElement("img");n.src=this.source,n.alt=this.alt,n.draggable=!1,n.addEventListener("error",()=>t.classList.add("cm-md-image-error"),{once:!0});let r=document.createElement("code");r.className="cm-md-image-source",r.textContent=this.raw,r.title="Click to edit image source";let s=o=>{o.preventDefault(),o.stopPropagation(),e.focus(),e.dispatch({selection:{anchor:Math.min(this.from+2,this.to)},userEvent:"select.pointer"})};return r.addEventListener("mousedown",s),r.addEventListener("click",s),n.addEventListener("mousedown",o=>{o.preventDefault(),o.stopPropagation()}),n.addEventListener("click",o=>{o.preventDefault(),o.stopPropagation();let a=n.currentSrc||n.src;a.startsWith("md-asset:")?window.__mdRequestImageRename?.(a):s(o)}),t.append(n,r),t}ignoreEvent(){return!0}},$h=class extends Re{eq(){return!0}toDOM(){let e=document.createElement("span");return e.className="cm-md-hr",e}ignoreEvent(){return!1}},jP=0,Th=class extends Re{constructor(e){super(),this.source=e}eq(e){return e.source===this.source}toDOM(e){let t=document.createElement("figure");t.className="cm-md-mermaid-preview",t.setAttribute("role","img"),t.setAttribute("aria-label","Mermaid diagram. Click to edit source.");let n=document.createElement("div");n.className="cm-md-mermaid-stage",n.textContent="Rendering diagram\u2026",t.appendChild(n),t.addEventListener("mousedown",o=>{o.preventDefault(),e.focus();let a=e.posAtDOM(t);e.dispatch({selection:{anchor:a+1},userEvent:"select.pointer"})});let r=window.mermaid;if(!r||typeof r.render!="function")return n.textContent="Mermaid preview unavailable. Click to edit source.",t;let s=`md-editor-mermaid-${++jP}`;return Promise.resolve(r.render(s,this.source)).then(({svg:o})=>{n.innerHTML=o;let a=n.querySelector("svg"),l=a?.viewBox?.baseVal;a&&l?.width>0&&l?.height>0&&(t.style.setProperty("--mm-aspect",`${l.width} / ${l.height}`),a.removeAttribute("width"),a.removeAttribute("height"),a.setAttribute("preserveAspectRatio","xMidYMid meet"),a.style.width="100%",a.style.height="100%"),e.requestMeasure()}).catch(()=>{n.textContent="Unable to render Mermaid diagram. Click to edit source.",t.classList.add("cm-md-mermaid-error"),e.requestMeasure()}),t}ignoreEvent(){return!0}},Gg=new WeakMap,Ch=ie.define({map:(i,e)=>e.mapPos(i,1,me.TrackAfter)??void 0}),qn=he.define({create:()=>new Set,update(i,e){if(!e.docChanged&&!e.effects.some(n=>n.is(Ch)))return i;let t=new Set([...i].map(n=>e.changes.mapPos(n,1,me.TrackAfter)).filter(n=>n!=null));for(let n of e.effects)n.is(Ch)&&(t.has(n.value)?t.delete(n.value):t.add(n.value));return t}}),yh=i=>'",Xo=class extends Re{constructor(e){super(),Object.assign(this,e)}eq(e){return e.fenceFrom===this.fenceFrom&&e.infoFrom===this.infoFrom&&e.infoTo===this.infoTo&&e.rawInfo===this.rawInfo&&e.detectedLanguage===this.detectedLanguage&&e.wrapped===this.wrapped&&e.plain===this.plain}toDOM(e){let t=document.createElement("span");t.className="cm-md-code-language",t.contentEditable="false";let n=document.createElement("input");n.type="text",n.className="cm-md-code-language-input",n.autocomplete="off",n.spellcheck=!1,n.value=this.language,n.readOnly=!!this.plain,n.placeholder="language",n.setAttribute("aria-label","Code block language"),n.dataset.fenceFrom=String(this.fenceFrom);let r=this.rawInfo.match(/^\S+([\s\S]*)$/)?.[1]||"",s=n.value,o=!0,a=!1,l=()=>{if(this.plain)return;let f=n.value.trim().split(/\s+/,1)[0].toLowerCase(),u=f?f+r:"";u!==this.rawInfo&&n.value!==s&&(a=!0,e.dispatch({changes:{from:this.infoFrom,to:this.infoTo,insert:u},userEvent:"input"}))};n.addEventListener("change",l),n.addEventListener("keydown",f=>{f.stopPropagation(),f.key==="Enter"?(f.preventDefault(),l(),n.blur(),e.focus()):f.key==="Escape"&&(f.preventDefault(),o=!1,n.value=this.language,n.blur(),e.focus())}),n.addEventListener("mousedown",f=>f.stopPropagation()),n.addEventListener("click",f=>f.stopPropagation()),n.addEventListener("blur",()=>{o&&!a&&l(),a=!1,o=!0}),t.appendChild(n);let c=(f,u,O,p)=>{let m=document.createElement("button");return m.type="button",m.className=`cm-md-code-action ${O}`,m.title=f,m.setAttribute("aria-label",f),m.innerHTML=yh(u),m.addEventListener("mousedown",b=>{b.preventDefault(),b.stopPropagation()}),m.addEventListener("click",b=>{b.preventDefault(),b.stopPropagation(),p(m)}),t.appendChild(m),m};return c(this.wrapped?"Unwrap code":"Wrap code",this.wrapped?"unwrap":"wrap","cm-md-code-toggle-wrap",()=>e.dispatch({effects:Ch.of(e.state.doc.lineAt(this.fenceFrom).from)})).setAttribute("aria-pressed",String(this.wrapped)),c("Copy code","copy","cm-md-code-copy",async f=>{let u=e.state.doc.lineAt(this.fenceFrom),O=B(e.state).resolve(this.plain?u.to:this.fenceFrom+1,-1);for(;O&&O.name!==(this.plain?"CodeBlock":"FencedCode");)O=O.parent;if(!O)return;let p=this.plain?O.getChildren("CodeText").map(m=>e.state.sliceDoc(m.from,m.to)).join(""):Ro(e.state,O).source;try{let m=Gg.get(e);m?m(p):await navigator.clipboard.writeText(p),f.innerHTML=yh("check"),f.title="Code copied",f.setAttribute("aria-label",f.title),clearTimeout(f.copyTimer),f.copyTimer=setTimeout(()=>{f.innerHTML=yh("copy"),f.title="Copy code",f.setAttribute("aria-label",f.title)},1100)}catch{}}),t}ignoreEvent(){return!0}};function vo(i,e=!1){let t=[],n="",r=0,s=()=>t.push({text:n.trim(),from:r+n.length-n.trimStart().length,to:r+n.trimEnd().length}),o=0,a=0;for(let c=0;cc.text)}function VP(i){let e=i.trim(),t=e.startsWith(":"),n=e.endsWith(":"),r=e.replace(/^:/,"").replace(/:$/,"");return/^-{3,}$/.test(r)?t&&n?"center":t?"left":n?"right":"none":null}function Eh(i){let e=i.endsWith(` `),t=i.replace(/\n$/,"").split(` -`);if(t.length<2)return null;let n=mh(t[0]),r=mh(t[1]).map(ZP);if(!n.length||!r.length||r.some(a=>a==null))return null;let s=[n,...t.slice(2).map(mh)],o=Math.max(r.length,...s.map(a=>a.length));for(;r.lengthMath.max(3,...i.rows.map(a=>Array.from(a[o]||"").length))),t=s=>"| "+s.map((o,a)=>{let l=qP(o);return l+" ".repeat(Math.max(0,e[a]-Array.from(l).length))}).join(" | ")+" |",n="| "+i.alignments.map((s,o)=>{let a=e[o];return s==="left"?":"+"-".repeat(Math.max(3,a-1)):s==="right"?"-".repeat(Math.max(3,a-1))+":":s==="center"?":"+"-".repeat(Math.max(3,a-2))+":":"-".repeat(a)}).join(" | ")+" |";return[t(i.rows[0]),n,...i.rows.slice(1).map(t)].join(` +`);if(t.length<2)return null;let n=vo(t[0]),r=vo(t[1]).map(VP);if(!n.length||!r.length||r.some(a=>a==null))return null;let s=[n,...t.slice(2).map(a=>vo(a))],o=Math.max(r.length,...s.map(a=>a.length));for(;r.length{let f=i.slice(0,c).replace(/\n+/g," ").length-l;e[h]=r[Math.max(0,Math.min(f,n.length))]})}return s}function DP(i){let e=i.alignments.map((s,o)=>Math.max(3,...i.rows.map(a=>Array.from(a[o]||"").length))),t=s=>"| "+s.map((o,a)=>{let l=zh(o);return l+" ".repeat(Math.max(0,e[a]-Array.from(l).length))}).join(" | ")+" |",n="| "+i.alignments.map((s,o)=>{let a=e[o];return s==="left"?":"+"-".repeat(Math.max(3,a-1)):s==="right"?"-".repeat(Math.max(3,a-1))+":":s==="center"?":"+"-".repeat(Math.max(3,a-2))+":":"-".repeat(a)}).join(" | ")+" |";return[t(i.rows[0]),n,...i.rows.slice(1).map(t)].join(` `)+(i.trailingNewline?` -`:"")}var zP=1,Er=null;function gh(i,e){i.replaceChildren();let t=0;e.includes("`")&&gi.parser.parse(e).iterate({enter(n){if(n.name!=="InlineCode")return;i.append(document.createTextNode(e.slice(t,n.from)));let r=document.createElement("code");r.className="cm-md-inline-code";let s=e.slice(n.node.firstChild.to,n.node.lastChild.from).replace(/\n/g," ");return s.startsWith(" ")&&s.endsWith(" ")&&/[^ ]/.test(s)&&(s=s.slice(1,-1)),r.textContent=s,i.append(r),t=n.to,!1}}),i.append(document.createTextNode(e.slice(t)))}var Ph=class extends Re{constructor(e,t){super(),this.source=e,this.from=t}eq(e){return e.source===this.source&&e.from===this.from}toDOM(e){let t=Ch(this.source),n=document.createElement("div");if(n.className="cm-md-table-widget",n.dataset.tableFrom=String(this.from),!t)return n.textContent=this.source,n;let r=null,s=null,o=null,a=!1,l=document.createElement("div");l.className="cm-md-table-scroll",n.appendChild(l);let c=document.createElement("table");c.className="cm-md-table-grid",l.appendChild(c);let h=(Q,S)=>{requestAnimationFrame(()=>requestAnimationFrame(()=>{let k=e.dom.querySelector(`.cm-md-table-widget[data-table-from="${this.from}"]`);(k&&k.querySelector(`[data-table-row="${Q}"][data-table-column="${S}"]`))?.focus()}))},f=(Q=null)=>{let S=EP(t);if(S===this.source){Q&&n.querySelector(`[data-table-row="${Q.row}"][data-table-column="${Q.column}"]`)?.focus();return}r=null,e.dispatch({changes:{from:this.from,to:this.from+this.source.length,insert:S},userEvent:"input"}),Q&&h(Q.row,Q.column)},u=()=>{!r||r.element.dataset.tableEditing!=="true"||(t.rows[r.row][r.column]=r.element.innerText||"")},O=()=>{n.querySelectorAll(".is-table-part-selected").forEach(Q=>{Q.classList.remove("is-table-part-selected","is-table-selection-top","is-table-selection-right","is-table-selection-bottom","is-table-selection-left")}),n.classList.remove("is-table-row-selected","is-table-column-selected","is-table-range-selected"),n.removeAttribute("aria-label"),s=null},p=(Q,S,k)=>{if(u(),O(),Array.from(n.querySelectorAll(".cm-md-table-cell")).filter($=>{let R=Number($.dataset.tableRow),_=Number($.dataset.tableColumn);return R>=S.top&&R<=S.bottom&&_>=S.left&&_<=S.right}).forEach($=>{$.classList.add("is-table-part-selected");let R=Number($.dataset.tableRow),_=Number($.dataset.tableColumn);R===S.top&&$.classList.add("is-table-selection-top"),_===S.right&&$.classList.add("is-table-selection-right"),R===S.bottom&&$.classList.add("is-table-selection-bottom"),_===S.left&&$.classList.add("is-table-selection-left")}),n.classList.add(Q==="row"?"is-table-row-selected":Q==="column"?"is-table-column-selected":"is-table-range-selected"),window.getSelection()?.removeAllRanges(),s={kind:Q,row:k.row,column:k.column,bounds:S},n.tabIndex=0,Q==="range"){let $=S.bottom-S.top+1,R=S.right-S.left+1;n.setAttribute("aria-label",`Selected ${$} rows by ${R} columns.`)}else{let $=Q==="row"?k.row:k.column+1;n.setAttribute("aria-label",`Selected ${Q} ${$}. Press Delete to remove it.`)}n.focus()},m=(Q,S,k)=>{let P=Q==="row"?{top:S,right:t.alignments.length-1,bottom:S,left:0}:{top:0,right:k,bottom:t.rows.length-1,left:k};p(Q,P,{row:S,column:k})},b=(Q,S,k,P)=>{p("range",{top:Math.min(Q,k),right:Math.max(S,P),bottom:Math.max(Q,k),left:Math.min(S,P)},{row:Q,column:S})},g=(Q,S,k)=>{if(u(),Q==="selectRow"&&S>0)m("row",S,k);else if(Q==="selectColumn"&&t.alignments.length>1)m("column",S,k);else if(Q==="insertRowBefore"&&S>0)t.rows.splice(S,0,Array(t.alignments.length).fill("")),f({row:S,column:k});else if(Q==="insertRowAfter")t.rows.splice(S+1,0,Array(t.alignments.length).fill("")),f({row:S+1,column:k});else if(Q==="duplicateRow"&&S>0)t.rows.splice(S+1,0,[...t.rows[S]]),f({row:S+1,column:k});else if(Q==="deleteRow"&&S>0)t.rows.splice(S,1),f({row:Math.min(S,t.rows.length-1),column:k});else if(Q==="insertColumnBefore"){for(let P of t.rows)P.splice(k,0,"");t.alignments.splice(k,0,"none"),f({row:S,column:k})}else if(Q==="insertColumnAfter"){for(let P of t.rows)P.splice(k+1,0,"");t.alignments.splice(k+1,0,"none"),f({row:S,column:k+1})}else if(Q==="deleteColumn"&&t.alignments.length>1){for(let P of t.rows)P.splice(k,1);t.alignments.splice(k,1),f({row:S,column:Math.min(k,t.alignments.length-1)})}};return t.rows.forEach((Q,S)=>{let k=document.createElement("tr");c.appendChild(k),Q.forEach((P,$)=>{let R=document.createElement(S===0?"th":"td"),_=document.createElement("div");if(_.className="cm-md-table-cell",_.contentEditable="plaintext-only",_.spellcheck=!0,gh(_,P),_.dataset.tableRow=String(S),_.dataset.tableColumn=String($),S===0){let W=`Column ${$+1}`;_.dataset.placeholder=W;let T=()=>{(_.innerText||"").trim()?_.removeAttribute("aria-label"):_.setAttribute("aria-label",W)};T(),_.addEventListener("input",T)}t.alignments[$]!=="none"&&(_.style.textAlign=t.alignments[$]),_.addEventListener("focus",()=>{O(),_.textContent=t.rows[S][$],_.dataset.tableEditing="true",r={row:S,column:$,element:_}}),_.addEventListener("contextmenu",W=>{W.preventDefault(),r={row:S,column:$,element:_};let T=String(zP++);Er={token:T,perform:x=>g(x,S,$)},window.__mdRequestTableContextMenu?.({token:T,canInsertRowAbove:S>0,canDuplicateRow:S>0,canDeleteRow:S>0,canDeleteColumn:t.alignments.length>1,showsDuplicateRow:!0})}),_.addEventListener("blur",()=>{if(!r||r.element!==_)return;let W=_.innerText||"",T=W!==t.rows[S][$];t.rows[S][$]=W,r=null,delete _.dataset.tableEditing,gh(_,t.rows[S][$]),T&&f()}),_.addEventListener("keydown",W=>{if(W.key==="Escape"){W.preventDefault(),r=null,_.blur(),delete _.dataset.tableEditing,gh(_,t.rows[S][$]),e.focus();return}if(W.key!=="Tab"&&W.key!=="Enter")return;W.preventDefault(),t.rows[S][$]=_.innerText||"";let T=W.key==="Tab"&&W.shiftKey,x=S,w=$+(T?-1:1);w<0?(x--,w=t.alignments.length-1):w>=t.alignments.length&&(x++,w=0),x<0?(x=0,w=0):x>=t.rows.length&&t.rows.push(Array(t.alignments.length).fill("")),f({row:x,column:w})}),R.appendChild(_),k.appendChild(R)})}),n.addEventListener("mousedown",Q=>{if(Q.button!==0)return;let S=Q.target.closest?.(".cm-md-table-cell");if(!S)return;let k=Number(S.dataset.tableRow),P=Number(S.dataset.tableColumn);if(!Number.isInteger(k)||k<0||!Number.isInteger(P))return;Q.preventDefault(),Q.stopPropagation(),o={cell:S,row:k,column:P,head:S,active:!1};let $=_=>{document.removeEventListener("mousemove",R,!0),document.removeEventListener("mouseup",$,!0);let W=o;if(W?.active)_.preventDefault(),window.getSelection()?.removeAllRanges(),a=!0;else if(W){_.preventDefault(),W.cell.focus({preventScroll:!0});let T=window.getSelection(),x=document.caretRangeFromPoint?.(_.clientX,_.clientY);(!x||!W.cell.contains(x.startContainer))&&(x=document.createRange(),x.selectNodeContents(W.cell),x.collapse(!1)),T?.removeAllRanges(),T?.addRange(x),a=!0}o=null},R=_=>{if(!o)return;let T=document.elementFromPoint?.(_.clientX,_.clientY)?.closest?.(".cm-md-table-cell")||_.target.closest?.(".cm-md-table-cell");!T||!n.contains(T)||T===o.cell&&!o.active||T!==o.head&&(_.preventDefault(),o.active=!0,o.head=T,b(o.row,o.column,Number(T.dataset.tableRow),Number(T.dataset.tableColumn)))};document.addEventListener("mousemove",R,!0),document.addEventListener("mouseup",$,!0)},!0),n.addEventListener("click",Q=>{a&&(a=!1,Q.preventDefault(),Q.stopPropagation())},!0),n.addEventListener("keydown",Q=>{if(!s)return;if(Q.key==="Escape"){Q.preventDefault(),O(),e.focus();return}if(Q.key!=="Backspace"&&Q.key!=="Delete")return;if(s.kind==="range"){Q.preventDefault();return}Q.preventDefault();let S=s;O(),g(S.kind==="row"?"deleteRow":"deleteColumn",S.row,S.column)}),n}ignoreEvent(){return!0}},To=ie.define();function Qh(i,e,t,n=0){let r=[];if(e){let o=new RegExp(e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),"giu"),a=i.toString();for(let l of a.matchAll(o)){let c=l.index;(!t||c===0||!/[A-Za-z0-9_]/.test(a[c-1]))&&r.push({from:c,to:c+l[0].length})}}n=r.length?Math.min(Math.max(n,0),r.length-1):-1;let s=Z.set(r.map((o,a)=>Z.mark({class:a===n?"cm-find-match cm-find-current":"cm-find-match"}).range(o.from,o.to)));return{query:e,beginsWith:t,matches:r,index:n,decorations:s}}var yi=he.define({create:i=>Qh(i.doc,"",!1),update(i,e){for(let t of e.effects)if(t.is(To)){let{query:n,beginsWith:r,index:s}=t.value;return Qh(e.state.doc,n,r,s)}return e.docChanged?Qh(e.state.doc,i.query,i.beginsWith,i.index):i},provide:i=>E.decorations.from(i,e=>e.decorations)});function vo(i,e,t){let n=i.field(yi),r=n.matches[n.index];return!!r&&r.frome}var LP=E.baseTheme({".cm-find-match":{backgroundColor:"#ffe58a",color:"#201800",borderRadius:"2px"},".cm-find-current":{backgroundColor:"#ffad33",outline:"1px solid #9b5700"}});function xg(i){let e=[];return(qs(i,i.doc.length,80)||B(i)).iterate({enter(n){if(n.name!=="Table")return;if(vo(i,n.from,n.to))return!1;let r=i.doc.sliceString(n.from,n.to);if(Ch(r))return e.push(Z.replace({block:!0,widget:new Ph(r,n.from)}).range(n.from,n.to)),!1}}),Z.set(e,!0)}var MP=he.define({create:xg,update:(i,e)=>e.docChanged||e.effects.some(t=>t.is(To))?xg(e.state):i,provide:i=>E.decorations.from(i)}),Be=Z.replace({}),wg=Z.replace({widget:new zr("\u2022","cm-md-bullet")}),Pg=Z.mark({class:"cm-md-bullet-source"}),vg=new Map,WP=i=>{let e=vg.get(i);return e||(e=Z.replace({widget:new zr(i,"cm-md-ordered")}),vg.set(i,e)),e},jP=Z.mark({class:"cm-md-ordered-source"}),VP=Z.replace({widget:new kh}),DP=Z.line({class:"cm-md-rule-line"}),An=/^([ \t]*)([-+*]|\d+[.)])([ \t]+|$)/,YP=Z.replace({widget:new zr(" ","cm-md-join")}),vh={},IP=i=>Z.line({class:"cm-md-h"+i});for(let i=1;i<=6;i++)vh[i]=IP(i);var BP=Z.line({class:"cm-md-heading-inactive"}),$g=Z.line({class:"cm-md-heading-after-blank"}),UP=Z.line({class:"cm-md-image-line"}),Tg=Z.line({class:"cm-md-line-collapsed"}),Ot={line:22.8,blankGap:4,paragraph:12,quote:18,alert:24,table:24,hr:12},GP=new Set(["Paragraph","FencedCode","CodeBlock","Blockquote","BulletList","OrderedList","Table","HorizontalRule","HTMLBlock"]),Cg=new Map,yo=i=>{let e=Cg.get(i);return e||(e=Z.line({class:"cm-md-block-separator",attributes:{style:`height:${i}px;min-height:0;line-height:${i}px;overflow:hidden;`}}),Cg.set(i,e)),e},Xg=new Map,NP=i=>{let e=Xg.get(i);return e||(e=Z.line({class:"cm-md-block-gap",attributes:{style:`padding-bottom:${i}px;--cm-md-block-gap:${i}px;`}}),Xg.set(i,e)),e},_g=new Map,FP=(i,e,t,n)=>{let r=`${i}:${e}:${t}:${n}`,s=_g.get(r);if(!s){let o=[],a=[];for(let l=0;lri.create({tagName:"div",attributes:{class:`cm-md-code-card${s?" cm-md-code-card-wrapped":""}`}}).range(n,r)),!0)}var iv=Z.line({class:"cm-md-table"}),Ag=Z.line({class:"cm-md-list-item-gap"}),ko=Z.line({class:"cm-md-list-item"}),Zg=new Map,bh=i=>{let e=Zg.get(i);return e||(e=Z.line({class:`cm-md-list-depth-${i}`,attributes:{style:`padding-inline-start:${i*2.1}em;text-indent:-2.1em;`}}),Zg.set(i,e)),e},nv=Z.mark({class:"cm-md-fence-info"}),rv=Z.mark({class:"cm-md-code-fence-source-hidden"}),sv=Z.mark({class:"cm-md-heading-source-hidden"}),ov=Z.mark({class:"cm-md-heading-prefix"}),av=Z.mark({class:"cm-md-heading-marker"}),lv=Z.line({class:"cm-md-setext-marker-line"}),cv=Z.mark({class:"cm-md-setext-source"}),hv=Z.mark({class:"cm-md-link"}),fv=Z.mark({class:"cm-md-url"}),uv=Z.mark({class:"cm-md-strong"}),Ov=Z.mark({class:"cm-md-emphasis"}),dv=Z.mark({class:"cm-md-strikethrough"}),pv=Z.mark({class:"cm-md-highlight"}),mv=Z.line({class:"cm-md-frontmatter"}),gv=Z.line({class:"cm-md-frontmatter-first"}),Qv=Z.line({class:"cm-md-frontmatter-last"}),bv=Z.mark({class:"cm-md-frontmatter-delim"}),Sv=Z.line({attributes:{dir:"auto"}});function qg(i){let e=[];for(let t=1;t<=i.doc.lines;t++)e.push(Sv.range(i.doc.line(t).from));return Z.set(e)}var yv=he.define({create:qg,update(i,e){return e.docChanged?qg(e.state):i},provide:i=>E.decorations.from(i)});function $o(i,e){let t="",n=null,r=[];for(let g=e.node.firstChild;g;g=g.nextSibling)g.name==="CodeInfo"&&(n=g,t=i.doc.sliceString(g.from,g.to)),g.name==="CodeMark"&&r.push(g);let s=t.trim().split(/\s+/,1)[0].toLowerCase(),o=i.doc.lineAt(e.from),a=r[0],l=o.to1&&(c=i.doc.lineAt(r[r.length-1].from).from);let h=i.sliceDoc(o.from,e.from),f=/^ {0,3}$/.test(h)?h.length:0,u=e.node.getChildren("CodeText"),O=u.map((g,Q)=>{let S=Q?i.doc.lineAt(g.from).number-i.doc.lineAt(u[Q-1].to).number:0;return` -`.repeat(S)+i.sliceDoc(g.from,g.to)}).join("").replace(new RegExp("^ {0,"+f+"}","gm"),""),p=s?"":CP(O),m=n?.from??a?.to??o.to,b=n?.to??m;return{explicitLanguage:s,language:s||p,detectedLanguage:p,metadata:t.trim().split(/\s+/).slice(1).join(" "),rawInfo:t,infoFrom:m,infoTo:b,sourceFrom:l,source:O}}function wo(i,e){let t=B(i).resolve(e,-1);for(;t;){if(t.name==="FencedCode")return{from:t.from,to:t.to,closed:t.node.lastChild?.name==="CodeMark"};t=t.parent}return null}var $h=ie.define(),Pt=he.define({create:()=>null,update(i,e){if(e.docChanged)return null;for(let t of e.effects)if(t.is($h))return t.value;return i?.activateOnSelection&&e.isUserEvent("select.pointer")?{selection:e.state.selection.main,focused:!0,fence:e.state.field(Ki),activateOnSelection:!1}:i}}),kv=Fe.fromClass(class{constructor(i){this.view=i,this.releaseTimer=null,this.down=e=>{e.button!==0||e.target.closest("input, textarea, button, select, .cm-md-table-cell")||(clearTimeout(this.releaseTimer),!i.state.field(Pt)&&i.dispatch({effects:$h.of({selection:i.state.selection.main,focused:i.hasFocus,fence:i.state.field(Ki),activateOnSelection:e.detail===1&&!e.shiftKey&&!e.metaKey&&!e.ctrlKey&&!e.altKey})}))},this.finish=()=>{i.state.field(Pt)&&(clearTimeout(this.releaseTimer),this.releaseTimer=setTimeout(()=>this.release(),0))},this.release=()=>{clearTimeout(this.releaseTimer),i.state.field(Pt)&&i.dispatch({effects:$h.of(null)})},this.move=e=>{e.buttons===0&&this.finish()},i.contentDOM.addEventListener("mousedown",this.down,!0),i.contentDOM.addEventListener("keydown",this.release,!0),i.dom.ownerDocument.addEventListener("mouseup",this.finish),i.dom.ownerDocument.addEventListener("mousemove",this.move),i.dom.ownerDocument.addEventListener("dragend",this.finish),i.win.addEventListener("blur",this.finish)}destroy(){clearTimeout(this.releaseTimer);let i=this.view;i.contentDOM.removeEventListener("mousedown",this.down,!0),i.contentDOM.removeEventListener("keydown",this.release,!0),i.dom.ownerDocument.removeEventListener("mouseup",this.finish),i.dom.ownerDocument.removeEventListener("mousemove",this.move),i.dom.ownerDocument.removeEventListener("dragend",this.finish),i.win.removeEventListener("blur",this.finish)}}),xv=E.mouseSelectionStyle.of((i,e)=>{if(e.button!==0||e.detail!==1||e.shiftKey||e.metaKey||e.ctrlKey||e.altKey)return null;let t=i.posAtCoords({x:e.clientX,y:e.clientY});if(t==null)return null;let n=!1;return{update(r){t=r.changes.mapPos(t)},get(r){n||=Math.hypot(r.clientX-e.clientX,r.clientY-e.clientY)>3;let s=n?i.posAtCoords({x:r.clientX,y:r.clientY},!1)??t:t;return v.single(t,s)}}}),Ki=he.define({create:()=>null,update(i,e){i&&e.docChanged&&(i={from:e.changes.mapPos(i.from,1),to:e.changes.mapPos(i.to,-1)});let t=e.state.selection.main;if(!t.empty)return null;let n=t.head;return e.isUserEvent("select.pointer")||!i&&e.docChanged&&e.isUserEvent("input")?wo(e.state,n):!i||ni.to?null:e.docChanged&&wo(e.state,n)||i}});function xo(i){let e=[],t=i.field(Ki);return(qs(i,i.doc.length,80)||B(i)).iterate({enter(r){if(r.name!=="FencedCode")return;let s=$o(i,r),o=t!=null&&r.from<=t.from&&r.to>=t.to;if(s.language==="mermaid"&&!o&&!vo(i,r.from,r.to))return e.push(Z.replace({block:!0,widget:new xh(s.source)}).range(r.from,r.to)),!1}}),Z.set(e,!0)}var wv=he.define({create:i=>xo(i),update:(i,e)=>{if(e.state.field(Pt))return e.startState.field(Pt)?.activateOnSelection&&!e.state.field(Pt).activateOnSelection?xo(e.state):i;if(e.startState.field(Pt))return xo(e.state);let t=e.startState.field(Ki),n=e.state.field(Ki),r=t?.from!==n?.from||t?.to!==n?.to,s=!1;return e.docChanged&&e.changes.iterChanges((o,a,l,c,h)=>{if(s)return;let u=e.startState.doc.sliceString(o,a)+h.toString();s=/[`~]|mermaid/i.test(u)}),r||s||e.effects.some(o=>o.is(To))||e.docChanged&&e.state.field(yi).query?xo(e.state):e.docChanged?i.map(e.changes):i},provide:i=>E.decorations.from(i)});function Pv(i,e){let t=e.get(i.sourceFrom);if(t?.language===i.detectedLanguage&&t.source===i.source)return t.tokens;let n=[],r=Ye.matchLanguageName(Wg,i.detectedLanguage,!1)?.support?.language;return r&&Xs(r.parser.parse(i.source),Vg,(s,o,a)=>{n.push({from:s,to:o,mark:Z.mark({class:a})})}),e.set(i.sourceFrom,{language:i.detectedLanguage,source:i.source,tokens:n}),n}function Eg(i,e){let t=[],{state:n}=i,r=n.field(Pt),s=r?.selection??n.selection.main,o=r?r.fence:n.field(Ki),l=(r?r.focused:i.hasFocus)&&(s.empty||i.compositionStarted)?s.head:null,c=(x,w)=>vo(n,x,w)||l!=null&&l>=x&&l<=w,h=x=>{let w=n.doc.lineAt(x);return c(w.from,w.to)},f=x=>vo(n,x.from,x.to)||o!=null&&x.from<=o.from&&x.to>=o.to,u=new Set,O=new Set,p=(x,w)=>{let C=n.doc.lineAt(x),j=w.spec.class+"@"+C.from;u.has(j)||(u.add(j),t.push(w.range(C.from)))},m=(x,w,C)=>{let j=x;for(;j<=w;){let y=n.doc.lineAt(j);if(p(y.from,C),y.to>=w)break;j=y.to+1}},b=x=>{let w=0;for(let C of x)w=C===" "?w+(4-w%4):w+1;return w},g=(x,w)=>{let C=w[1],j=w[2],y=w[3],z=x.from+C.length,ye=z+j.length,Rt=Math.floor(b(C)/4)+1;p(x.from,ko),p(x.from,bh(Rt)),O.add(x.from),x.number>1&&An.test(n.doc.line(x.number-1).text)&&p(x.from,Ag),C.length>0&&t.push(Be.range(x.from,z));let X=/^[-+*]$/.test(j)&&/^\s*\[[ xX]\](\s|$)/.test(x.text.slice(ye-x.from));/^[-+*]$/.test(j)&&!X&&(h(z)?(t.push(Pg.range(z,ye)),y.length>0&&t.push(Be.range(ye,ye+y.length))):t.push(wg.range(z,ye+y.length)))},Q=x=>{let w=n.doc.lineAt(x),C=w.number,j=Math.max(C-64,1);for(;C>j&&n.doc.line(C-1).text.length===0;)C--;return{line:w,first:C,count:w.number-C}},S=x=>{switch(x.name){case"Blockquote":{let w=n.doc.lineAt(x.from);return/^ {0,3}> ?\[!(note|tip|important|warning|caution)\]/i.test(w.text)?Ot.alert:Ot.quote}case"Table":return Ot.table;case"HorizontalRule":return Ot.hr;case"FencedCode":return $o(n,x).language==="mermaid"?Ot.table:Ot.paragraph;default:return Ot.paragraph}},k=-1,P=x=>{let w=n.doc.lineAt(x.from);w.number===1||w.from<=k||Q(x.from).count===0&&p(n.doc.line(w.number-1).from,NP(S(x)))},$=x=>{let w=Q(x.from);if(w.count===0)return;let C=n.doc.line(w.line.number-1);if(w.first===1){p(C.from,yo(Ot.blankGap+S(x)));return}let j=S(x),y=Ot.blankGap+j;p(C.from,yo(y))},R=0,_=[],W=[],T=new Map;for(let{from:x,to:w}of i.visibleRanges){let C=null;B(n).iterate({from:x,to:w,enter:y=>{R++;let z=y.name;if(R===2&&z==="Document"&&(C=R),C!=null&&R===C+1&&GP.has(z)&&($(y),P(y)),z==="Frontmatter"){let X=y.to>y.from&&n.doc.lineAt(y.to).from===y.to?y.to-1:y.to;k=X,m(y.from,X,mv),p(y.from,gv),p(n.doc.lineAt(X).from,Qv);return}if(z==="DashLine"){t.push(bv.range(y.from,y.to));return}let ye=z.match(/^ATXHeading(\d)$/);if(ye){p(y.from,vh[+ye[1]]),Q(y.from).count>0&&p(y.from,$g),h(y.from)||p(y.from,BP);return}let Rt=z.match(/^SetextHeading(\d)$/);if(Rt){p(y.from,vh[+Rt[1]]),Q(y.from).count>0&&p(y.from,$g);return}if(z==="HeaderMark"){let X=y.node.parent;if(X&&/^ATXHeading/.test(X.name)){t.push(av.range(y.from,y.to));let te=n.doc.sliceString(y.to,y.to+1),N=y.to+(te===" "?1:0),U=y.from===X.from,le=n.doc.lineAt(y.from),F=U&&/^ {0,3}$/.test(n.doc.sliceString(le.from,y.from))?le.from:y.from;U&&t.push(ov.range(F,N)),h(y.from)||t.push(sv.range(F,N))}else X&&/^SetextHeading/.test(X.name)&&(p(y.from,lv),t.push(cv.range(y.from,y.to)));return}if(z==="Blockquote"){W.push(y.from);let X=n.doc.lineAt(y.from),te=y.node.parent?.name==="Blockquote",N=y.node.prevSibling;for(;N?.name==="QuoteMark";)N=N.prevSibling;let U=te&&N?Ot.quote:0,le=y.from;for(;le<=y.to;){let F=n.doc.lineAt(le),Qe=T.get(F.from)||{depth:0,starts:0,ends:0,gap:0};if(Qe.depth=Math.max(Qe.depth,W.length),F.from===X.from&&(Qe.starts++,Qe.gap+=U),F.to>=y.to&&Qe.ends++,T.set(F.from,Qe),F.to>=y.to)break;le=F.to+1}return}if(z==="QuoteMark"){if(!h(y.from)){let X=n.doc.sliceString(y.to,y.to+1);t.push(Be.range(y.from,y.to+(X===" "?1:0)))}return}if(z==="Paragraph"&&/^(Blockquote|ListItem)$/.test(y.node.parent?.name||"")){let X=n.doc.lineAt(y.from);if(X.number>n.doc.lineAt(y.node.parent.from).number){let te=n.doc.line(X.number-1);/^(?:[ >]*)$/.test(te.text)&&p(te.from,yo(Ot.paragraph))}}if(z==="Escape"&&!c(y.from,y.to)){t.push(Be.range(y.from,y.from+1));return}if(z==="StrongEmphasis"){t.push(uv.range(y.from,y.to));return}if(z==="Emphasis"){t.push(Ov.range(y.from,y.to));return}if(z==="Strikethrough"){t.push(dv.range(y.from,y.to));return}if(z==="Highlight"){let X=[];for(let U=y.node.firstChild;U;U=U.nextSibling)U.name==="HighlightMark"&&X.push(U);let te=X.length?X[0].to:y.from,N=X.length>1?X[X.length-1].from:y.to;te1?X[X.length-1].from:y.to;te")?te.slice(1,-1):te;if(!N||N.startsWith("//"))return!1;let U=y.from+2;for(let F=y.node.firstChild;F;F=F.nextSibling)if(F.name==="LinkMark"&&n.doc.sliceString(F.from,F.to)==="]"){U=F.from;break}let le=n.doc.sliceString(y.from+2,U);if(!c(y.from,y.to)){let F=n.doc.lineAt(y.from);F.text.trim()===n.doc.sliceString(y.from,y.to)&&p(F.from,UP),t.push(Z.replace({widget:new yh(N,le,n.doc.sliceString(y.from,y.to),y.from,y.to)}).range(y.from,y.to))}return!1}if(z==="Link"){y.node.getChild("URL")&&t.push(hv.range(y.from,y.to));return}if(z==="LinkMark"){let X=y.node.parent;X&&X.name==="Link"&&X.getChild("URL")&&!c(X.from,X.to)&&t.push(Be.range(y.from,y.to));return}if(z==="URL"){let X=y.node.parent;X&&X.name==="Link"&&(c(X.from,X.to)?t.push(fv.range(y.from,y.to)):t.push(Be.range(y.from,y.to)));return}if(z==="BulletList"||z==="OrderedList"){_.push(y.from);return}if(z==="ListItem"){let X=y.from===_[_.length-1],te=_.length>1;if(!X){let F=n.doc.lineAt(y.from).number-1;for(;F>0&&n.doc.line(F).text.trim()==="";)p(n.doc.line(F).from,yo(0)),F--}(!X||te)&&p(y.from,Ag),m(y.from,y.to,ko),p(y.from,bh(_.length)),O.add(n.doc.lineAt(y.from).from);{let Qe=n.doc.lineAt(y.from).to+1;for(;Qe<=y.to;){let Ce=n.doc.lineAt(Qe),Jt=Ce.text;if(Jt.length>0&&!An.test(Jt)){p(Ce.from,HP),p(Ce.from,bh(_.length));let ki=Jt.match(/^[ \t]+/);ki&&t.push(Be.range(Ce.from,Ce.from+ki[0].length))}if(Ce.to>=y.to)break;Qe=Ce.to+1}}let N=n.doc.lineAt(y.from),le=N.text.match(An)?.[1]??"";le.length>0&&t.push(Be.range(N.from,N.from+le.length));return}if(z==="ListMark"){let X=n.doc.sliceString(y.from,y.to),te=n.doc.lineAt(y.from),N=/^\s*\[[ xX]\](\s|$)/.test(te.text.slice(y.to-te.from));if((X==="-"||X==="*"||X==="+")&&!N){let U=n.doc.sliceString(y.to,y.to+1);h(y.from)?(t.push(Pg.range(y.from,y.to)),U===" "&&t.push(Be.range(y.to,y.to+1))):t.push(wg.range(y.from,y.to+(U===" "?1:0)))}else if(/^\d+[.)]$/.test(X)&&!N){let U=n.doc.sliceString(y.to,y.to+1);h(y.from)?(t.push(jP.range(y.from,y.to)),U===" "&&t.push(Be.range(y.to,y.to+1))):t.push(WP(X).range(y.from,y.to+(U===" "?1:0)))}return}if(z==="FencedCode"||z==="CodeBlock"){let X=n.doc.lineAt(y.from),te=n.doc.lineAt(y.to),N=z==="FencedCode"&&y.node.lastChild?.name==="CodeMark",U=te.number-X.number>=(N?2:1),le=z==="FencedCode"&&!h(X.from),F=N&&!h(te.from),Qe=le&&U?n.doc.line(X.number+1):X,Ce=U?Qe:X,Jt=!U&&z==="FencedCode"?X:F?n.doc.line(te.number-1):te;if(z==="FencedCode"){let J=$o(n,y);if(J.detectedLanguage)for(let Ji of Pv(J,e))t.push(Ji.mark.range(J.sourceFrom+Ji.from,J.sourceFrom+Ji.to));t.push(Z.widget({widget:new Po({wrapped:n.field(Zn).has(X.from),fenceFrom:y.from,language:J.language,detectedLanguage:J.detectedLanguage,rawInfo:J.rawInfo,infoFrom:J.infoFrom,infoTo:J.infoTo}),side:-1}).range(Ce.from))}else t.push(Z.widget({widget:new Po({fenceFrom:X.from,language:"text",rawInfo:"",plain:!0,wrapped:n.field(Zn).has(X.from)}),side:-1}).range(Ce.from));let ki=y.from;for(;ki<=y.to;){let J=n.doc.lineAt(ki),Ji=z==="CodeBlock"&&u.has(`${ko.spec.class}@${J.from}`)?J.text.match(An):null;if(Ji){if(g(J,Ji),J.to>=y.to)break;ki=J.to+1;continue}let _h=z==="FencedCode"&&J.from===Ce.from;if((le&&J.from===X.from||F&&J.from===te.from)&&!_h)p(J.from,Tg);else if(z==="FencedCode"&&!U&&J.from!==X.from&&!_h)p(J.from,Tg);else{let En=J.from===Qe.from,Rh=J.from===Jt.from;En&&p(J.from,JP),Rh&&p(J.from,ev),!En&&!Rh&&p(J.from,KP),t.push(Z.line({attributes:{"data-code-scroll-group":String(X.from),class:n.field(Zn).has(X.from)?"cm-md-code-wrapped":""}}).range(J.from)),J.length&&t.push(tv.range(J.from,J.to))}if(z==="CodeBlock"&&!h(J.from)){let En=J.text.match(/^(?: {4}|\t)/)?.[0];En&&t.push(Be.range(J.from,J.from+En.length))}if(J.to>=y.to)break;ki=J.to+1}return}if(z==="CodeInfo"){let X=y.node.parent;if(!X)return;h(X.from)&&t.push(nv.range(y.from,y.to));return}if(z==="Table"){m(y.from,y.to,iv);return}if(z==="HorizontalRule"){h(y.from)||(p(y.from,DP),t.push(VP.range(y.from,y.to)));return}},leave:y=>{R--;let z=y.name;(z==="BulletList"||z==="OrderedList")&&_.pop(),z==="Blockquote"&&W.pop()}});for(let[y,z]of T)p(y,FP(z.depth,z.starts,z.ends,z.gap));T.clear();let j=x;for(;j<=w;){let y=n.doc.lineAt(j);if(u.has(`${ko.spec.class}@${y.from}`)&&!O.has(y.from)){let ye=y.text.match(An);ye&&g(y,ye)}if(y.to>=w)break;j=y.to+1}}return Z.set(t,!0)}function zg(i){let e=i.selection.main,t=new Set,n=0;for(let r=B(i).resolveInner(e.from,1);r;r=r.parent){if(r.toi.decorations,provide:i=>E.blockWrappers.of(e=>e.plugin(i)?.codeWrappers??ri.set([]))}),$v=Fe.fromClass(class{constructor(i){this.schedule(i)}update(i){(i.docChanged||i.selectionSet||i.viewportChanged||i.geometryChanged||i.focusChanged)&&this.schedule(i.view)}docViewUpdate(i){this.schedule(i)}schedule(i){i.requestMeasure({key:this,read(e){return Array.from(e.dom.querySelectorAll(".cm-md-heading-prefix")).map(t=>{let n=t.closest(".cm-line");return n?{line:n,width:t.getBoundingClientRect().width}:null}).filter(Boolean)},write(e){for(let{line:t,width:n}of e){let r=`${n}px`;t.style.getPropertyValue("--cm-md-heading-prefix-width")!==r&&t.style.setProperty("--cm-md-heading-prefix-width",r)}}})}});function Lg(i){let e=[],t=i.selection.main,n=(s,o)=>t.from<=o&&t.to>=s;return(qs(i,i.doc.length,80)||B(i)).iterate({enter:s=>{let o=s.name;if(o==="FencedCode"||o==="CodeBlock"||o==="HTMLBlock")return!1;if(o!=="Paragraph")return;if(n(s.from,s.to))return!1;let a=i.doc.lineAt(s.from);for(;a.toLg(i),update:(i,e)=>e.docChanged||e.selection?Lg(e.state):i,provide:i=>E.decorations.from(i)}),Vg=Sn.define([{tag:[d.keyword,d.modifier,d.operatorKeyword,d.controlKeyword,d.definitionKeyword,d.moduleKeyword],class:"hl-keyword"},{tag:[d.string,d.special(d.string),d.regexp],class:"hl-string"},{tag:[d.comment,d.blockComment,d.lineComment],class:"hl-comment"},{tag:[d.number,d.integer,d.float,d.character],class:"hl-number"},{tag:[d.bool,d.atom,d.null],class:"hl-keyword"},{tag:[d.typeName,d.namespace],class:"hl-type"},{tag:[d.className,d.definition(d.typeName)],class:"hl-declaration"},{tag:[d.function(d.variableName),d.function(d.propertyName),d.macroName],class:"hl-function"},{tag:[d.propertyName,d.labelName],class:"hl-property"},{tag:d.attributeName,class:"hl-attribute"},{tag:[d.standard(d.variableName),d.standard(d.typeName)],class:"hl-builtin"},{tag:[d.meta,d.processingInstruction],class:"hl-meta"},{tag:[d.punctuation,d.operator],class:"hl-plain"}]);function Si(i){return e=>{let t=e.state.changeByRange(n=>{let{from:r,to:s}=n;for(;rr&&/\s/.test(e.state.sliceDoc(s-1,s));)s--;let o=i.length,a=e.state.sliceDoc(Math.max(0,r-o),r),l=e.state.sliceDoc(s,s+o);if(a===i&&l===i)return{changes:[{from:r-o,to:r,insert:""},{from:s,to:s+o,insert:""}],range:v.range(r-o,s-o)};let c=e.state.sliceDoc(r,s);return c.startsWith(i)&&c.endsWith(i)&&c.length>=o*2?{changes:{from:r,to:s,insert:c.slice(o,c.length-o)},range:v.range(r,s-o*2)}:{changes:{from:r,to:s,insert:i+c+i},range:v.range(r+o,s+o)}});return e.dispatch(t,{scrollIntoView:!0,userEvent:"input"}),!0}}function Xh(i,e){let t=i.selection.main,n=i.doc.lineAt(t.from).number,r=i.doc.lineAt(t.to).number,s=[];for(let o=n;o<=r;o++)s.push(i.doc.line(o));return e(s)}function Sh(i,e){return t=>{let n=Xh(t.state,r=>{let s=r.every(o=>e.test(o.text));return r.map(o=>{if(s){let a=o.text.match(e);return{from:o.from,to:o.from+a[0].length,insert:""}}return e.test(o.text)?null:{from:o.from,insert:i}}).filter(Boolean)});return n.length&&Lr(t,n),!0}}function Lr(i,e){let t=i.state.changes(e),n=i.state.selection.main;i.dispatch({changes:e,selection:v.range(t.mapPos(n.anchor,1),t.mapPos(n.head,1)),userEvent:"input"})}function Tv(i){let e=/^\d+\.\s/,t=Xh(i.state,n=>{let r=n.every(o=>e.test(o.text)),s=1;return n.map(o=>{if(r){let a=o.text.match(e);return{from:o.from,to:o.from+a[0].length,insert:""}}return e.test(o.text)?null:{from:o.from,insert:`${s++}. `}}).filter(Boolean)});return t.length&&Lr(i,t),!0}function Th(i){let e=i.selection.main,t=i.doc.lineAt(e.from).number,n=i.doc.lineAt(e.empty?e.to:e.to-1).number;return Array.from({length:n-t+1},(r,s)=>i.doc.line(t+s))}function Dg(i){let e=/^([ \t]*(?:>[ \t]*)*)(?:([-+*]|\d+[.)])([ \t]+)(\[[ xX]\][ \t]+)?)?/.exec(i);return{prefix:e[0],indent:e[1],style:e[2]?e[4]?"task":/^\d/.test(e[2])?"ordered":"bullet":"none"}}function qn(i,e,t){for(let n=B(i).resolve(e,1);n;n=n.parent)if(t.includes(n.name))return n;return null}function Yg(i){return Th(i).filter(e=>!/^[ \t>]*$/.test(e.text)&&!qn(i,e.from+e.text.search(/\S/),["FencedCode","CodeBlock"]))}function Cv(i,e){if(!["none","bullet","ordered","task"].includes(e))return!1;let t=Yg(i.state).map((n,r)=>{let s=Dg(n.text);if(s.style===e)return null;let o=e==="none"?"":e==="bullet"?"- ":e==="task"?"- [ ] ":`${r+1}. `;return{from:n.from,to:n.from+s.prefix.length,insert:s.indent+o}}).filter(Boolean);return t.length&&Lr(i,t),i.focus(),!0}function Hi(i){return e=>{let t=Xh(e.state,n=>n.map(r=>{let s=r.text.match(/^(#{1,6})\s+/),a=(s?s[1].length:0)===i||i===0?"":"#".repeat(i)+" ";return{from:r.from,to:r.from+(s?s[0].length:0),insert:a}}));return e.dispatch({changes:t,userEvent:"input"}),!0}}function Ig(i){let e={InlineCode:"code",FencedCode:"fenced",CodeBlock:"plain",Blockquote:"quote",Table:"table"};for(let t=B(i).resolve(i.selection.main.head,i.selection.main.empty?1:-1);t;t=t.parent)if(e[t.name])return{style:e[t.name],node:t};return{style:"none",node:null}}function Xv(i,e,t=""){if(!["none","quote","code","plain","fenced","table"].includes(e))return!1;let n=i.state,r=n.selection.main,s=Ig(n),o=s.node&&r.from>=s.node.from&&r.to<=s.node.to;if(e==="code"&&(!o||s.style==="code"))return s.style!=="code"&&Si("`")(i),i.focus(),!0;if(e==="table"){let p=qn(n,r.to,["FencedCode"]),m=p?p.to:n.doc.lineAt(r.to).to,g=(p&&p.lastChild?.name!=="CodeMark"?` +`:"")}var YP=1,Lr=null,IP=bi.parser.configure(qh),Ng=new WeakMap;function kh(i,e){let t={StrongEmphasis:"cm-md-strong",Emphasis:"cm-md-emphasis",Strikethrough:"cm-md-strikethrough",Highlight:"cm-md-highlight"},n=(o,a,l)=>{if(!a)return;let c=document.createTextNode(a);Ng.set(c,l),o.append(c)},r=(o,a,l,c)=>{let h=l;for(let f=a.firstChild;f;f=f.nextSibling)f.fromc||(n(o,e.slice(h,f.from),h),s(o,f),h=f.to);n(o,e.slice(h,c),h)},s=(o,a)=>{if(a.name==="InlineCode"){let l=document.createElement("code");l.className="cm-md-inline-code";let c=e.slice(a.firstChild.to,a.lastChild.from).replace(/\n/g," "),h=c.startsWith(" ")&&c.endsWith(" ")&&/[^ ]/.test(c);h&&(c=c.slice(1,-1)),n(l,c,a.firstChild.to+(h?1:0)),o.append(l)}else if(t[a.name]){let l=document.createElement("span");l.className=t[a.name],r(l,a,a.firstChild.to,a.lastChild.from),o.append(l)}else if(a.name==="Link"&&a.getChild("URL")){let l=a.getChildren("LinkMark"),c=document.createElement("span");c.className="cm-md-link",r(c,a,l[0].to,l[1].from),o.append(c)}else a.name==="Escape"?n(o,e.slice(a.from+1,a.to),a.from+1):a.name==="Image"?n(o,e.slice(a.from,a.to),a.from):r(o,a,a.from,a.to)};i.replaceChildren(),s(i,IP.parse(e).topNode)}var qe=new WeakMap,Lh=new WeakMap,BP=new Set(["bold","italic","strikethrough","highlight","code","link"]);function Fg(i,e){let n=i.state.doc.lineAt(e.tableFrom).number+(e.row===0?0:e.row+1);if(n>i.state.doc.lines)return null;let r=i.state.doc.line(n),s=vo(r.text,!0)[e.column];return s?{from:r.from+s.from,to:r.from+Math.max(s.from,s.to)}:null}function zn(i){let e=qe.get(i);if(!e||e.element.dataset.tableEditing!=="true")return;let t=window.getSelection();if(!t?.anchorNode||!t.focusNode||!e.element.contains(t.anchorNode)||!e.element.contains(t.focusNode))return;let n=(a,l)=>{let c=document.createRange();return c.selectNodeContents(e.element),c.setEnd(a,l),c.toString().length};e.anchor=n(t.anchorNode,t.anchorOffset),e.head=n(t.focusNode,t.focusOffset);let r=e.element.innerText||"",s=[e.anchor,e.head];zh(r,s),e.sourceAnchor=s[0],e.sourceHead=s[1];let o=re.create({doc:r,selection:v.single(e.anchor,e.head),extensions:[Dc({extensions:qh})]});Lh.get(i)?.(Ah(o))}function $o(i){let e=qe.get(i);if(!e)return null;zn(i),e.element.dataset.tableEditing==="true"&&e.element.blur();let t=Fg(i,e);if(!t)return null;let n=t.to-t.from;return i.dispatch({selection:v.single(t.from+Math.max(0,Math.min(e.sourceAnchor??e.anchor,n)),t.from+Math.max(0,Math.min(e.sourceHead??e.head,n)))}),e}function To(i,e){let t=Fg(i,e);if(!t)return;let n=i.state.selection.main,r=Math.max(0,Math.min(n.anchor-t.from,t.to-t.from)),s=Math.max(0,Math.min(n.head-t.from,t.to-t.from)),o=i.dom.querySelector(`.cm-md-table-widget[data-table-from="${e.tableFrom}"] [data-table-row="${e.row}"][data-table-column="${e.column}"]`);if(!o)return;o.focus({preventScroll:!0});let a=o.firstChild||o.appendChild(document.createTextNode(""));window.getSelection()?.setBaseAndExtent(a,r,a,s),zn(i)}var UP=De.fromClass(class{constructor(i){this.view=i,this.capture=()=>zn(i),this.clear=e=>{e.target.closest?.(".cm-md-table-cell")||qe.delete(i)},document.addEventListener("selectionchange",this.capture),i.dom.addEventListener("mousedown",this.clear,!0)}destroy(){document.removeEventListener("selectionchange",this.capture),this.view.dom.removeEventListener("mousedown",this.clear,!0),qe.delete(this.view),Lh.delete(this.view)}}),Xh=class extends Re{constructor(e,t){super(),this.source=e,this.from=t}eq(e){return e.source===this.source&&e.from===this.from}toDOM(e){let t=Eh(this.source),n=document.createElement("div");if(n.className="cm-md-table-widget",n.dataset.tableFrom=String(this.from),!t)return n.textContent=this.source,n;let r=null,s=null,o=null,a=!1,l=document.createElement("div");l.className="cm-md-table-scroll",n.appendChild(l);let c=document.createElement("table");c.className="cm-md-table-grid",l.appendChild(c);let h=(Q,S)=>{requestAnimationFrame(()=>requestAnimationFrame(()=>{let x=e.dom.querySelector(`.cm-md-table-widget[data-table-from="${this.from}"]`);(x&&x.querySelector(`[data-table-row="${Q}"][data-table-column="${S}"]`))?.focus()}))},f=(Q=null)=>{let S=DP(t);if(S===this.source){Q&&n.querySelector(`[data-table-row="${Q.row}"][data-table-column="${Q.column}"]`)?.focus();return}r=null,e.dispatch({changes:{from:this.from,to:this.from+this.source.length,insert:S},userEvent:"input"}),Q&&h(Q.row,Q.column)},u=()=>{!r||r.element.dataset.tableEditing!=="true"||(t.rows[r.row][r.column]=r.element.innerText||"")},O=()=>{n.querySelectorAll(".is-table-part-selected").forEach(Q=>{Q.classList.remove("is-table-part-selected")}),n.classList.remove("is-table-row-selected","is-table-column-selected","is-table-range-selected"),n.removeAttribute("aria-label"),s=null},p=(Q,S,x)=>{if(u(),O(),Array.from(n.querySelectorAll(".cm-md-table-cell")).filter($=>{let R=Number($.dataset.tableRow),_=Number($.dataset.tableColumn);return R>=S.top&&R<=S.bottom&&_>=S.left&&_<=S.right}).forEach($=>{$.classList.add("is-table-part-selected")}),n.classList.add(Q==="row"?"is-table-row-selected":Q==="column"?"is-table-column-selected":"is-table-range-selected"),window.getSelection()?.removeAllRanges(),s={kind:Q,row:x.row,column:x.column,bounds:S},qe.delete(e),n.tabIndex=0,Q==="range"){let $=S.bottom-S.top+1,R=S.right-S.left+1;n.setAttribute("aria-label",`Selected ${$} rows by ${R} columns.`)}else{let $=Q==="row"?x.row:x.column+1;n.setAttribute("aria-label",`Selected ${Q} ${$}. Press Delete to remove it.`)}n.focus()},m=(Q,S,x)=>{let P=Q==="row"?{top:S,right:t.alignments.length-1,bottom:S,left:0}:{top:0,right:x,bottom:t.rows.length-1,left:x};p(Q,P,{row:S,column:x})},b=(Q,S,x,P)=>{p("range",{top:Math.min(Q,x),right:Math.max(S,P),bottom:Math.max(Q,x),left:Math.min(S,P)},{row:Q,column:S})},g=(Q,S,x)=>{if(u(),Q==="selectRow"&&S>0)m("row",S,x);else if(Q==="selectColumn"&&t.alignments.length>1)m("column",S,x);else if(Q==="insertRowBefore"&&S>0)t.rows.splice(S,0,Array(t.alignments.length).fill("")),f({row:S,column:x});else if(Q==="insertRowAfter")t.rows.splice(S+1,0,Array(t.alignments.length).fill("")),f({row:S+1,column:x});else if(Q==="duplicateRow"&&S>0)t.rows.splice(S+1,0,[...t.rows[S]]),f({row:S+1,column:x});else if(Q==="deleteRow"&&S>0)t.rows.splice(S,1),f({row:Math.min(S,t.rows.length-1),column:x});else if(Q==="insertColumnBefore"){for(let P of t.rows)P.splice(x,0,"");t.alignments.splice(x,0,"none"),f({row:S,column:x})}else if(Q==="insertColumnAfter"){for(let P of t.rows)P.splice(x+1,0,"");t.alignments.splice(x+1,0,"none"),f({row:S,column:x+1})}else if(Q==="deleteColumn"&&t.alignments.length>1){for(let P of t.rows)P.splice(x,1);t.alignments.splice(x,1),f({row:S,column:Math.min(x,t.alignments.length-1)})}};return t.rows.forEach((Q,S)=>{let x=document.createElement("tr");c.appendChild(x),Q.forEach((P,$)=>{let R=document.createElement(S===0?"th":"td"),_=document.createElement("div");if(_.className="cm-md-table-cell",_.contentEditable="plaintext-only",_.spellcheck=!0,kh(_,P),_.dataset.tableRow=String(S),_.dataset.tableColumn=String($),S===0){let W=`Column ${$+1}`;_.dataset.placeholder=W;let T=()=>{(_.innerText||"").trim()?_.removeAttribute("aria-label"):_.setAttribute("aria-label",W)};T(),_.addEventListener("input",T)}t.alignments[$]!=="none"&&(_.style.textAlign=t.alignments[$]),_.addEventListener("focus",()=>{O(),(_.textContent!==t.rows[S][$]||_.childElementCount)&&(_.textContent=t.rows[S][$]),_.dataset.tableEditing="true",qe.set(e,{tableFrom:this.from,row:S,column:$,element:_,anchor:0,head:0}),r={row:S,column:$,element:_}}),_.addEventListener("contextmenu",W=>{W.preventDefault(),_.focus(),r={row:S,column:$,element:_};let T=String(YP++);Lr={token:T,perform:k=>g(k,S,$)},window.__mdRequestTableContextMenu?.({token:T,canInsertRowAbove:S>0,canDuplicateRow:S>0,canDeleteRow:S>0,canDeleteColumn:t.alignments.length>1,showsDuplicateRow:!0})}),_.addEventListener("blur",()=>{if(zn(e),!r||r.element!==_)return;let W=_.innerText||"",T=W!==t.rows[S][$];t.rows[S][$]=W,r=null,delete _.dataset.tableEditing,kh(_,t.rows[S][$]),T&&f()}),_.addEventListener("keydown",W=>{if((W.metaKey||W.ctrlKey)&&["b","i"].includes(W.key.toLowerCase())){W.preventDefault();let C=$o(e);At(W.key.toLowerCase()==="b"?"**":"*")(e),C&&To(e,C);return}if(W.key==="Escape"){W.preventDefault(),r=null,_.blur(),delete _.dataset.tableEditing,kh(_,t.rows[S][$]),qe.delete(e),e.focus();return}if(W.key!=="Tab"&&W.key!=="Enter")return;W.preventDefault(),t.rows[S][$]=_.innerText||"";let T=W.key==="Tab"&&W.shiftKey,k=S,w=$+(T?-1:1);w<0?(k--,w=t.alignments.length-1):w>=t.alignments.length&&(k++,w=0),k<0?(k=0,w=0):k>=t.rows.length&&t.rows.push(Array(t.alignments.length).fill("")),f({row:k,column:w})}),R.appendChild(_),x.appendChild(R)})}),n.addEventListener("mousedown",Q=>{if(Q.button!==0)return;let S=Q.target.closest?.(".cm-md-table-cell");if(!S)return;let x=Number(S.dataset.tableRow),P=Number(S.dataset.tableColumn);if(!Number.isInteger(x)||x<0||!Number.isInteger(P))return;Q.stopPropagation();let $=null;if(S.dataset.tableEditing!=="true"&&Q.detail===1&&!Q.shiftKey&&!Q.metaKey&&!Q.ctrlKey&&!Q.altKey&&S.textContent!==t.rows[x][P]){let T=document.caretRangeFromPoint?.(Q.clientX,Q.clientY),k=T&&Ng.get(T.startContainer);k!=null&&S.contains(T.startContainer)&&($=k+T.startOffset,Q.preventDefault())}S.focus({preventScroll:!0});let R=T=>{let k=S.firstChild;k&&window.getSelection()?.setBaseAndExtent(k,$,k,T)};$!=null&&R($),o={cell:S,row:x,column:P,head:S,active:!1,dragged:!1};let _=T=>{document.removeEventListener("mousemove",W,!0),document.removeEventListener("mouseup",_,!0),o?.active?(T.preventDefault(),window.getSelection()?.removeAllRanges(),a=!0):zn(e),o=null},W=T=>{if(!o)return;let w=document.elementFromPoint?.(T.clientX,T.clientY)?.closest?.(".cm-md-table-cell")||T.target.closest?.(".cm-md-table-cell");if(!(!w||!n.contains(w))){if(w===o.cell&&!o.active){if($!=null&&(T.preventDefault(),o.dragged||=Math.hypot(T.clientX-Q.clientX,T.clientY-Q.clientY)>3,o.dragged)){let C=document.caretRangeFromPoint?.(T.clientX,T.clientY);C?.startContainer===S.firstChild&&R(C.startOffset)}return}w!==o.head&&(T.preventDefault(),o.active=!0,o.head=w,b(o.row,o.column,Number(w.dataset.tableRow),Number(w.dataset.tableColumn)))}};document.addEventListener("mousemove",W,!0),document.addEventListener("mouseup",_,!0)},!0),n.addEventListener("click",Q=>{a&&(a=!1,Q.preventDefault(),Q.stopPropagation())},!0),n.addEventListener("keydown",Q=>{if(!s)return;if(Q.key==="Escape"){Q.preventDefault(),O(),e.focus();return}if(Q.key!=="Backspace"&&Q.key!=="Delete")return;if(s.kind==="range"){Q.preventDefault();return}Q.preventDefault();let S=s;O(),g(S.kind==="row"?"deleteRow":"deleteColumn",S.row,S.column)}),n}ignoreEvent(){return!0}},Ao=ie.define();function xh(i,e,t,n=0){let r=[];if(e){let o=new RegExp(e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),"giu"),a=i.toString();for(let l of a.matchAll(o)){let c=l.index;(!t||c===0||!/[A-Za-z0-9_]/.test(a[c-1]))&&r.push({from:c,to:c+l[0].length})}}n=r.length?Math.min(Math.max(n,0),r.length-1):-1;let s=Z.set(r.map((o,a)=>Z.mark({class:a===n?"cm-find-match cm-find-current":"cm-find-match"}).range(o.from,o.to)));return{query:e,beginsWith:t,matches:r,index:n,decorations:s}}var ki=he.define({create:i=>xh(i.doc,"",!1),update(i,e){for(let t of e.effects)if(t.is(Ao)){let{query:n,beginsWith:r,index:s}=t.value;return xh(e.state.doc,n,r,s)}return e.docChanged?xh(e.state.doc,i.query,i.beginsWith,i.index):i},provide:i=>E.decorations.from(i,e=>e.decorations)});function _o(i,e,t){let n=i.field(ki),r=n.matches[n.index];return!!r&&r.frome}var GP=E.baseTheme({".cm-find-match":{backgroundColor:"#ffe58a",color:"#201800",borderRadius:"2px"},".cm-find-current":{backgroundColor:"#ffad33",outline:"1px solid #9b5700"}});function _g(i){let e=[];return(zs(i,i.doc.length,80)||B(i)).iterate({enter(n){if(n.name!=="Table")return;if(_o(i,n.from,n.to))return!1;let r=i.doc.sliceString(n.from,n.to);if(Eh(r))return e.push(Z.replace({block:!0,widget:new Xh(r,n.from)}).range(n.from,n.to)),!1}}),Z.set(e,!0)}var NP=he.define({create:_g,update:(i,e)=>e.docChanged||e.effects.some(t=>t.is(Ao))?_g(e.state):i,provide:i=>E.decorations.from(i)}),Ge=Z.replace({}),Rg=Z.replace({widget:new Mr("\u2022","cm-md-bullet")}),Ag=Z.mark({class:"cm-md-bullet-source"}),Zg=new Map,FP=i=>{let e=Zg.get(i);return e||(e=Z.replace({widget:new Mr(i,"cm-md-ordered")}),Zg.set(i,e)),e},HP=Z.mark({class:"cm-md-ordered-source"}),KP=Z.replace({widget:new $h}),JP=Z.line({class:"cm-md-rule-line"}),Zn=/^([ \t]*)([-+*]|\d+[.)])([ \t]+|$)/,ev=Z.replace({widget:new Mr(" ","cm-md-join")}),_h={},tv=i=>Z.line({class:"cm-md-h"+i});for(let i=1;i<=6;i++)_h[i]=tv(i);var iv=Z.line({class:"cm-md-heading-inactive"}),qg=Z.line({class:"cm-md-heading-after-blank"}),nv=Z.line({class:"cm-md-image-line"}),Eg=Z.line({class:"cm-md-line-collapsed"}),dt={line:22.8,blankGap:4,paragraph:12,quote:18,alert:24,table:24,hr:12},rv=new Set(["Paragraph","FencedCode","CodeBlock","Blockquote","BulletList","OrderedList","Table","HorizontalRule","HTMLBlock"]),zg=new Map,xo=i=>{let e=zg.get(i);return e||(e=Z.line({class:"cm-md-block-separator",attributes:{style:`height:${i}px;min-height:0;line-height:${i}px;overflow:hidden;`}}),zg.set(i,e)),e},Lg=new Map,sv=i=>{let e=Lg.get(i);return e||(e=Z.line({class:"cm-md-block-gap",attributes:{style:`padding-bottom:${i}px;--cm-md-block-gap:${i}px;`}}),Lg.set(i,e)),e},Mg=new Map,ov=(i,e,t,n)=>{let r=`${i}:${e}:${t}:${n}`,s=Mg.get(r);if(!s){let o=[],a=[];for(let l=0;loi.create({tagName:"div",attributes:{class:`cm-md-code-card${s?" cm-md-code-card-wrapped":""}`}}).range(n,r)),!0)}var uv=Z.line({class:"cm-md-table"}),jg=Z.line({class:"cm-md-list-item-gap"}),wo=Z.line({class:"cm-md-list-item"}),Vg=new Map,wh=i=>{let e=Vg.get(i);return e||(e=Z.line({class:`cm-md-list-depth-${i}`,attributes:{style:`padding-inline-start:${i*2.1}em;text-indent:-2.1em;`}}),Vg.set(i,e)),e},Ov=Z.mark({class:"cm-md-fence-info"}),dv=Z.mark({class:"cm-md-code-fence-source-hidden"}),pv=Z.mark({class:"cm-md-heading-source-hidden"}),mv=Z.mark({class:"cm-md-heading-prefix"}),gv=Z.mark({class:"cm-md-heading-marker"}),Qv=Z.line({class:"cm-md-setext-marker-line"}),bv=Z.mark({class:"cm-md-setext-source"}),Sv=Z.mark({class:"cm-md-link"}),yv=Z.mark({class:"cm-md-url"}),kv=Z.mark({class:"cm-md-strong"}),xv=Z.mark({class:"cm-md-emphasis"}),wv=Z.mark({class:"cm-md-strikethrough"}),Pv=Z.mark({class:"cm-md-highlight"}),vv=Z.line({class:"cm-md-frontmatter"}),$v=Z.line({class:"cm-md-frontmatter-first"}),Tv=Z.line({class:"cm-md-frontmatter-last"}),Cv=Z.mark({class:"cm-md-frontmatter-delim"}),Xv=Z.line({attributes:{dir:"auto"}});function Dg(i){let e=[];for(let t=1;t<=i.doc.lines;t++)e.push(Xv.range(i.doc.line(t).from));return Z.set(e)}var _v=he.define({create:Dg,update(i,e){return e.docChanged?Dg(e.state):i},provide:i=>E.decorations.from(i)});function Ro(i,e){let t="",n=null,r=[];for(let g=e.node.firstChild;g;g=g.nextSibling)g.name==="CodeInfo"&&(n=g,t=i.doc.sliceString(g.from,g.to)),g.name==="CodeMark"&&r.push(g);let s=t.trim().split(/\s+/,1)[0].toLowerCase(),o=i.doc.lineAt(e.from),a=r[0],l=o.to1&&(c=i.doc.lineAt(r[r.length-1].from).from);let h=i.sliceDoc(o.from,e.from),f=/^ {0,3}$/.test(h)?h.length:0,u=e.node.getChildren("CodeText"),O=u.map((g,Q)=>{let S=Q?i.doc.lineAt(g.from).number-i.doc.lineAt(u[Q-1].to).number:0;return` +`.repeat(S)+i.sliceDoc(g.from,g.to)}).join("").replace(new RegExp("^ {0,"+f+"}","gm"),""),p=s?"":LP(O),m=n?.from??a?.to??o.to,b=n?.to??m;return{explicitLanguage:s,language:s||p,detectedLanguage:p,metadata:t.trim().split(/\s+/).slice(1).join(" "),rawInfo:t,infoFrom:m,infoTo:b,sourceFrom:l,source:O}}function Co(i,e){let t=B(i).resolve(e,-1);for(;t;){if(t.name==="FencedCode")return{from:t.from,to:t.to,closed:t.node.lastChild?.name==="CodeMark"};t=t.parent}return null}var Rh=ie.define(),vt=he.define({create:()=>null,update(i,e){if(e.docChanged)return null;for(let t of e.effects)if(t.is(Rh))return t.value;return i?.activateOnSelection&&e.isUserEvent("select.pointer")?{selection:e.state.selection.main,focused:!0,fence:e.state.field(Ji),activateOnSelection:!1}:i}}),Rv=De.fromClass(class{constructor(i){this.view=i,this.releaseTimer=null,this.down=e=>{e.button!==0||e.target.closest("input, textarea, button, select, .cm-md-table-cell")||(clearTimeout(this.releaseTimer),!i.state.field(vt)&&i.dispatch({effects:Rh.of({selection:i.state.selection.main,focused:i.hasFocus,fence:i.state.field(Ji),activateOnSelection:e.detail===1&&!e.shiftKey&&!e.metaKey&&!e.ctrlKey&&!e.altKey})}))},this.finish=()=>{i.state.field(vt)&&(clearTimeout(this.releaseTimer),this.releaseTimer=setTimeout(()=>this.release(),0))},this.release=()=>{clearTimeout(this.releaseTimer),i.state.field(vt)&&i.dispatch({effects:Rh.of(null)})},this.move=e=>{e.buttons===0&&this.finish()},i.contentDOM.addEventListener("mousedown",this.down,!0),i.contentDOM.addEventListener("keydown",this.release,!0),i.dom.ownerDocument.addEventListener("mouseup",this.finish),i.dom.ownerDocument.addEventListener("mousemove",this.move),i.dom.ownerDocument.addEventListener("dragend",this.finish),i.win.addEventListener("blur",this.finish)}destroy(){clearTimeout(this.releaseTimer);let i=this.view;i.contentDOM.removeEventListener("mousedown",this.down,!0),i.contentDOM.removeEventListener("keydown",this.release,!0),i.dom.ownerDocument.removeEventListener("mouseup",this.finish),i.dom.ownerDocument.removeEventListener("mousemove",this.move),i.dom.ownerDocument.removeEventListener("dragend",this.finish),i.win.removeEventListener("blur",this.finish)}}),Av=E.mouseSelectionStyle.of((i,e)=>{if(e.button!==0||e.detail!==1||e.shiftKey||e.metaKey||e.ctrlKey||e.altKey)return null;let t=i.posAtCoords({x:e.clientX,y:e.clientY});if(t==null)return null;let n=!1;return{update(r){t=r.changes.mapPos(t)},get(r){n||=Math.hypot(r.clientX-e.clientX,r.clientY-e.clientY)>3;let s=n?i.posAtCoords({x:r.clientX,y:r.clientY},!1)??t:t;return v.single(t,s)}}}),Ji=he.define({create:()=>null,update(i,e){i&&e.docChanged&&(i={from:e.changes.mapPos(i.from,1),to:e.changes.mapPos(i.to,-1)});let t=e.state.selection.main;if(!t.empty)return null;let n=t.head;return e.isUserEvent("select.pointer")||!i&&e.docChanged&&e.isUserEvent("input")?Co(e.state,n):!i||ni.to?null:e.docChanged&&Co(e.state,n)||i}});function Po(i){let e=[],t=i.field(Ji);return(zs(i,i.doc.length,80)||B(i)).iterate({enter(r){if(r.name!=="FencedCode")return;let s=Ro(i,r),o=t!=null&&r.from<=t.from&&r.to>=t.to;if(s.language==="mermaid"&&!o&&!_o(i,r.from,r.to))return e.push(Z.replace({block:!0,widget:new Th(s.source)}).range(r.from,r.to)),!1}}),Z.set(e,!0)}var Zv=he.define({create:i=>Po(i),update:(i,e)=>{if(e.state.field(vt))return e.startState.field(vt)?.activateOnSelection&&!e.state.field(vt).activateOnSelection?Po(e.state):i;if(e.startState.field(vt))return Po(e.state);let t=e.startState.field(Ji),n=e.state.field(Ji),r=t?.from!==n?.from||t?.to!==n?.to,s=!1;return e.docChanged&&e.changes.iterChanges((o,a,l,c,h)=>{if(s)return;let u=e.startState.doc.sliceString(o,a)+h.toString();s=/[`~]|mermaid/i.test(u)}),r||s||e.effects.some(o=>o.is(Ao))||e.docChanged&&e.state.field(ki).query?Po(e.state):e.docChanged?i.map(e.changes):i},provide:i=>E.decorations.from(i)});function qv(i,e){let t=e.get(i.sourceFrom);if(t?.language===i.detectedLanguage&&t.source===i.source)return t.tokens;let n=[],r=Be.matchLanguageName(Ug,i.detectedLanguage,!1)?.support?.language;return r&&Rs(r.parser.parse(i.source),Hg,(s,o,a)=>{n.push({from:s,to:o,mark:Z.mark({class:a})})}),e.set(i.sourceFrom,{language:i.detectedLanguage,source:i.source,tokens:n}),n}function Yg(i,e){let t=[],{state:n}=i,r=n.field(vt),s=r?.selection??n.selection.main,o=r?r.fence:n.field(Ji),l=(r?r.focused:i.hasFocus)&&(s.empty||i.compositionStarted)?s.head:null,c=(k,w)=>_o(n,k,w)||l!=null&&l>=k&&l<=w,h=k=>{let w=n.doc.lineAt(k);return c(w.from,w.to)},f=k=>_o(n,k.from,k.to)||o!=null&&k.from<=o.from&&k.to>=o.to,u=new Set,O=new Set,p=(k,w)=>{let C=n.doc.lineAt(k),j=w.spec.class+"@"+C.from;u.has(j)||(u.add(j),t.push(w.range(C.from)))},m=(k,w,C)=>{let j=k;for(;j<=w;){let y=n.doc.lineAt(j);if(p(y.from,C),y.to>=w)break;j=y.to+1}},b=k=>{let w=0;for(let C of k)w=C===" "?w+(4-w%4):w+1;return w},g=(k,w)=>{let C=w[1],j=w[2],y=w[3],z=k.from+C.length,ye=z+j.length,Zt=Math.floor(b(C)/4)+1;p(k.from,wo),p(k.from,wh(Zt)),O.add(k.from),k.number>1&&Zn.test(n.doc.line(k.number-1).text)&&p(k.from,jg),C.length>0&&t.push(Ge.range(k.from,z));let X=/^[-+*]$/.test(j)&&/^\s*\[[ xX]\](\s|$)/.test(k.text.slice(ye-k.from));/^[-+*]$/.test(j)&&!X&&(h(z)?(t.push(Ag.range(z,ye)),y.length>0&&t.push(Ge.range(ye,ye+y.length))):t.push(Rg.range(z,ye+y.length)))},Q=k=>{let w=n.doc.lineAt(k),C=w.number,j=Math.max(C-64,1);for(;C>j&&n.doc.line(C-1).text.length===0;)C--;return{line:w,first:C,count:w.number-C}},S=k=>{switch(k.name){case"Blockquote":{let w=n.doc.lineAt(k.from);return/^ {0,3}> ?\[!(note|tip|important|warning|caution)\]/i.test(w.text)?dt.alert:dt.quote}case"Table":return dt.table;case"HorizontalRule":return dt.hr;case"FencedCode":return Ro(n,k).language==="mermaid"?dt.table:dt.paragraph;default:return dt.paragraph}},x=-1,P=k=>{let w=n.doc.lineAt(k.from);w.number===1||w.from<=x||Q(k.from).count===0&&p(n.doc.line(w.number-1).from,sv(S(k)))},$=k=>{let w=Q(k.from);if(w.count===0)return;let C=n.doc.line(w.line.number-1);if(w.first===1){p(C.from,xo(dt.blankGap+S(k)));return}let j=S(k),y=dt.blankGap+j;p(C.from,xo(y))},R=0,_=[],W=[],T=new Map;for(let{from:k,to:w}of i.visibleRanges){let C=null;B(n).iterate({from:k,to:w,enter:y=>{R++;let z=y.name;if(R===2&&z==="Document"&&(C=R),C!=null&&R===C+1&&rv.has(z)&&($(y),P(y)),z==="Frontmatter"){let X=y.to>y.from&&n.doc.lineAt(y.to).from===y.to?y.to-1:y.to;x=X,m(y.from,X,vv),p(y.from,$v),p(n.doc.lineAt(X).from,Tv);return}if(z==="DashLine"){t.push(Cv.range(y.from,y.to));return}let ye=z.match(/^ATXHeading(\d)$/);if(ye){p(y.from,_h[+ye[1]]),Q(y.from).count>0&&p(y.from,qg),h(y.from)||p(y.from,iv);return}let Zt=z.match(/^SetextHeading(\d)$/);if(Zt){p(y.from,_h[+Zt[1]]),Q(y.from).count>0&&p(y.from,qg);return}if(z==="HeaderMark"){let X=y.node.parent;if(X&&/^ATXHeading/.test(X.name)){t.push(gv.range(y.from,y.to));let te=n.doc.sliceString(y.to,y.to+1),N=y.to+(te===" "?1:0),U=y.from===X.from,le=n.doc.lineAt(y.from),F=U&&/^ {0,3}$/.test(n.doc.sliceString(le.from,y.from))?le.from:y.from;U&&t.push(mv.range(F,N)),h(y.from)||t.push(pv.range(F,N))}else X&&/^SetextHeading/.test(X.name)&&(p(y.from,Qv),t.push(bv.range(y.from,y.to)));return}if(z==="Blockquote"){W.push(y.from);let X=n.doc.lineAt(y.from),te=y.node.parent?.name==="Blockquote",N=y.node.prevSibling;for(;N?.name==="QuoteMark";)N=N.prevSibling;let U=te&&N?dt.quote:0,le=y.from;for(;le<=y.to;){let F=n.doc.lineAt(le),Qe=T.get(F.from)||{depth:0,starts:0,ends:0,gap:0};if(Qe.depth=Math.max(Qe.depth,W.length),F.from===X.from&&(Qe.starts++,Qe.gap+=U),F.to>=y.to&&Qe.ends++,T.set(F.from,Qe),F.to>=y.to)break;le=F.to+1}return}if(z==="QuoteMark"){if(!h(y.from)){let X=n.doc.sliceString(y.to,y.to+1);t.push(Ge.range(y.from,y.to+(X===" "?1:0)))}return}if(z==="Paragraph"&&/^(Blockquote|ListItem)$/.test(y.node.parent?.name||"")){let X=n.doc.lineAt(y.from);if(X.number>n.doc.lineAt(y.node.parent.from).number){let te=n.doc.line(X.number-1);/^(?:[ >]*)$/.test(te.text)&&p(te.from,xo(dt.paragraph))}}if(z==="Escape"&&!c(y.from,y.to)){t.push(Ge.range(y.from,y.from+1));return}if(z==="StrongEmphasis"){t.push(kv.range(y.from,y.to));return}if(z==="Emphasis"){t.push(xv.range(y.from,y.to));return}if(z==="Strikethrough"){t.push(wv.range(y.from,y.to));return}if(z==="Highlight"){let X=[];for(let U=y.node.firstChild;U;U=U.nextSibling)U.name==="HighlightMark"&&X.push(U);let te=X.length?X[0].to:y.from,N=X.length>1?X[X.length-1].from:y.to;te1?X[X.length-1].from:y.to;te")?te.slice(1,-1):te;if(!N||N.startsWith("//"))return!1;let U=y.from+2;for(let F=y.node.firstChild;F;F=F.nextSibling)if(F.name==="LinkMark"&&n.doc.sliceString(F.from,F.to)==="]"){U=F.from;break}let le=n.doc.sliceString(y.from+2,U);if(!c(y.from,y.to)){let F=n.doc.lineAt(y.from);F.text.trim()===n.doc.sliceString(y.from,y.to)&&p(F.from,nv),t.push(Z.replace({widget:new vh(N,le,n.doc.sliceString(y.from,y.to),y.from,y.to)}).range(y.from,y.to))}return!1}if(z==="Link"){y.node.getChild("URL")&&t.push(Sv.range(y.from,y.to));return}if(z==="LinkMark"){let X=y.node.parent;X&&X.name==="Link"&&X.getChild("URL")&&!c(X.from,X.to)&&t.push(Ge.range(y.from,y.to));return}if(z==="URL"){let X=y.node.parent;X&&X.name==="Link"&&(c(X.from,X.to)?t.push(yv.range(y.from,y.to)):t.push(Ge.range(y.from,y.to)));return}if(z==="BulletList"||z==="OrderedList"){_.push(y.from);return}if(z==="ListItem"){let X=y.from===_[_.length-1],te=_.length>1;if(!X){let F=n.doc.lineAt(y.from).number-1;for(;F>0&&n.doc.line(F).text.trim()==="";)p(n.doc.line(F).from,xo(0)),F--}(!X||te)&&p(y.from,jg),m(y.from,y.to,wo),p(y.from,wh(_.length)),O.add(n.doc.lineAt(y.from).from);{let Qe=n.doc.lineAt(y.from).to+1;for(;Qe<=y.to;){let Ce=n.doc.lineAt(Qe),ti=Ce.text;if(ti.length>0&&!Zn.test(ti)){p(Ce.from,av),p(Ce.from,wh(_.length));let xi=ti.match(/^[ \t]+/);xi&&t.push(Ge.range(Ce.from,Ce.from+xi[0].length))}if(Ce.to>=y.to)break;Qe=Ce.to+1}}let N=n.doc.lineAt(y.from),le=N.text.match(Zn)?.[1]??"";le.length>0&&t.push(Ge.range(N.from,N.from+le.length));return}if(z==="ListMark"){let X=n.doc.sliceString(y.from,y.to),te=n.doc.lineAt(y.from),N=/^\s*\[[ xX]\](\s|$)/.test(te.text.slice(y.to-te.from));if((X==="-"||X==="*"||X==="+")&&!N){let U=n.doc.sliceString(y.to,y.to+1);h(y.from)?(t.push(Ag.range(y.from,y.to)),U===" "&&t.push(Ge.range(y.to,y.to+1))):t.push(Rg.range(y.from,y.to+(U===" "?1:0)))}else if(/^\d+[.)]$/.test(X)&&!N){let U=n.doc.sliceString(y.to,y.to+1);h(y.from)?(t.push(HP.range(y.from,y.to)),U===" "&&t.push(Ge.range(y.to,y.to+1))):t.push(FP(X).range(y.from,y.to+(U===" "?1:0)))}return}if(z==="FencedCode"||z==="CodeBlock"){let X=n.doc.lineAt(y.from),te=n.doc.lineAt(y.to),N=z==="FencedCode"&&y.node.lastChild?.name==="CodeMark",U=te.number-X.number>=(N?2:1),le=z==="FencedCode"&&!h(X.from),F=N&&!h(te.from),Qe=le&&U?n.doc.line(X.number+1):X,Ce=U?Qe:X,ti=!U&&z==="FencedCode"?X:F?n.doc.line(te.number-1):te;if(z==="FencedCode"){let J=Ro(n,y);if(J.detectedLanguage)for(let en of qv(J,e))t.push(en.mark.range(J.sourceFrom+en.from,J.sourceFrom+en.to));t.push(Z.widget({widget:new Xo({wrapped:n.field(qn).has(X.from),fenceFrom:y.from,language:J.language,detectedLanguage:J.detectedLanguage,rawInfo:J.rawInfo,infoFrom:J.infoFrom,infoTo:J.infoTo}),side:-1}).range(Ce.from))}else t.push(Z.widget({widget:new Xo({fenceFrom:X.from,language:"text",rawInfo:"",plain:!0,wrapped:n.field(qn).has(X.from)}),side:-1}).range(Ce.from));let xi=y.from;for(;xi<=y.to;){let J=n.doc.lineAt(xi),en=z==="CodeBlock"&&u.has(`${wo.spec.class}@${J.from}`)?J.text.match(Zn):null;if(en){if(g(J,en),J.to>=y.to)break;xi=J.to+1;continue}let Wh=z==="FencedCode"&&J.from===Ce.from;if((le&&J.from===X.from||F&&J.from===te.from)&&!Wh)p(J.from,Eg);else if(z==="FencedCode"&&!U&&J.from!==X.from&&!Wh)p(J.from,Eg);else{let Ln=J.from===Qe.from,jh=J.from===ti.from;Ln&&p(J.from,cv),jh&&p(J.from,hv),!Ln&&!jh&&p(J.from,lv),t.push(Z.line({attributes:{"data-code-scroll-group":String(X.from),class:n.field(qn).has(X.from)?"cm-md-code-wrapped":""}}).range(J.from)),J.length&&t.push(fv.range(J.from,J.to))}if(z==="CodeBlock"&&!h(J.from)){let Ln=J.text.match(/^(?: {4}|\t)/)?.[0];Ln&&t.push(Ge.range(J.from,J.from+Ln.length))}if(J.to>=y.to)break;xi=J.to+1}return}if(z==="CodeInfo"){let X=y.node.parent;if(!X)return;h(X.from)&&t.push(Ov.range(y.from,y.to));return}if(z==="Table"){m(y.from,y.to,uv);return}if(z==="HorizontalRule"){h(y.from)||(p(y.from,JP),t.push(KP.range(y.from,y.to)));return}},leave:y=>{R--;let z=y.name;(z==="BulletList"||z==="OrderedList")&&_.pop(),z==="Blockquote"&&W.pop()}});for(let[y,z]of T)p(y,ov(z.depth,z.starts,z.ends,z.gap));T.clear();let j=k;for(;j<=w;){let y=n.doc.lineAt(j);if(u.has(`${wo.spec.class}@${y.from}`)&&!O.has(y.from)){let ye=y.text.match(Zn);ye&&g(y,ye)}if(y.to>=w)break;j=y.to+1}}return Z.set(t,!0)}function Ah(i){let e=i.selection.main,t=new Set,n=0;for(let r=B(i).resolveInner(e.from,1);r;r=r.parent){if(r.toi.decorations,provide:i=>E.blockWrappers.of(e=>e.plugin(i)?.codeWrappers??oi.set([]))}),zv=De.fromClass(class{constructor(i){this.schedule(i)}update(i){(i.docChanged||i.selectionSet||i.viewportChanged||i.geometryChanged||i.focusChanged)&&this.schedule(i.view)}docViewUpdate(i){this.schedule(i)}schedule(i){i.requestMeasure({key:this,read(e){return Array.from(e.dom.querySelectorAll(".cm-md-heading-prefix")).map(t=>{let n=t.closest(".cm-line");return n?{line:n,width:t.getBoundingClientRect().width}:null}).filter(Boolean)},write(e){for(let{line:t,width:n}of e){let r=`${n}px`;t.style.getPropertyValue("--cm-md-heading-prefix-width")!==r&&t.style.setProperty("--cm-md-heading-prefix-width",r)}}})}});function Ig(i){let e=[],t=i.selection.main,n=(s,o)=>t.from<=o&&t.to>=s;return(zs(i,i.doc.length,80)||B(i)).iterate({enter:s=>{let o=s.name;if(o==="FencedCode"||o==="CodeBlock"||o==="HTMLBlock")return!1;if(o!=="Paragraph")return;if(n(s.from,s.to))return!1;let a=i.doc.lineAt(s.from);for(;a.toIg(i),update:(i,e)=>e.docChanged||e.selection?Ig(e.state):i,provide:i=>E.decorations.from(i)}),Hg=yn.define([{tag:[d.keyword,d.modifier,d.operatorKeyword,d.controlKeyword,d.definitionKeyword,d.moduleKeyword],class:"hl-keyword"},{tag:[d.string,d.special(d.string),d.regexp],class:"hl-string"},{tag:[d.comment,d.blockComment,d.lineComment],class:"hl-comment"},{tag:[d.number,d.integer,d.float,d.character],class:"hl-number"},{tag:[d.bool,d.atom,d.null],class:"hl-keyword"},{tag:[d.typeName,d.namespace],class:"hl-type"},{tag:[d.className,d.definition(d.typeName)],class:"hl-declaration"},{tag:[d.function(d.variableName),d.function(d.propertyName),d.macroName],class:"hl-function"},{tag:[d.propertyName,d.labelName],class:"hl-property"},{tag:d.attributeName,class:"hl-attribute"},{tag:[d.standard(d.variableName),d.standard(d.typeName)],class:"hl-builtin"},{tag:[d.meta,d.processingInstruction],class:"hl-meta"},{tag:[d.punctuation,d.operator],class:"hl-plain"}]);function At(i){return e=>{let t=e.state.changeByRange(n=>{let{from:r,to:s}=n;for(;rr&&/\s/.test(e.state.sliceDoc(s-1,s));)s--;let o=i.length,a=e.state.sliceDoc(Math.max(0,r-o),r),l=e.state.sliceDoc(s,s+o);if(a===i&&l===i)return{changes:[{from:r-o,to:r,insert:""},{from:s,to:s+o,insert:""}],range:v.range(r-o,s-o)};let c=e.state.sliceDoc(r,s);return c.startsWith(i)&&c.endsWith(i)&&c.length>=o*2?{changes:{from:r,to:s,insert:c.slice(o,c.length-o)},range:v.range(r,s-o*2)}:{changes:{from:r,to:s,insert:i+c+i},range:v.range(r+o,s+o)}});return e.dispatch(t,{scrollIntoView:!0,userEvent:"input"}),!0}}function Mh(i,e){let t=i.selection.main,n=i.doc.lineAt(t.from).number,r=i.doc.lineAt(t.to).number,s=[];for(let o=n;o<=r;o++)s.push(i.doc.line(o));return e(s)}function Ph(i,e){return t=>{let n=Mh(t.state,r=>{let s=r.every(o=>e.test(o.text));return r.map(o=>{if(s){let a=o.text.match(e);return{from:o.from,to:o.from+a[0].length,insert:""}}return e.test(o.text)?null:{from:o.from,insert:i}}).filter(Boolean)});return n.length&&Wr(t,n),!0}}function Wr(i,e){let t=i.state.changes(e),n=i.state.selection.main;i.dispatch({changes:e,selection:v.range(t.mapPos(n.anchor,1),t.mapPos(n.head,1)),userEvent:"input"})}function Lv(i){let e=/^\d+\.\s/,t=Mh(i.state,n=>{let r=n.every(o=>e.test(o.text)),s=1;return n.map(o=>{if(r){let a=o.text.match(e);return{from:o.from,to:o.from+a[0].length,insert:""}}return e.test(o.text)?null:{from:o.from,insert:`${s++}. `}}).filter(Boolean)});return t.length&&Wr(i,t),!0}function Zh(i){let e=i.selection.main,t=i.doc.lineAt(e.from).number,n=i.doc.lineAt(e.empty?e.to:e.to-1).number;return Array.from({length:n-t+1},(r,s)=>i.doc.line(t+s))}function Kg(i){let e=/^([ \t]*(?:>[ \t]*)*)(?:([-+*]|\d+[.)])([ \t]+)(\[[ xX]\][ \t]+)?)?/.exec(i);return{prefix:e[0],indent:e[1],style:e[2]?e[4]?"task":/^\d/.test(e[2])?"ordered":"bullet":"none"}}function En(i,e,t){for(let n=B(i).resolve(e,1);n;n=n.parent)if(t.includes(n.name))return n;return null}function Jg(i){return Zh(i).filter(e=>!/^[ \t>]*$/.test(e.text)&&!En(i,e.from+e.text.search(/\S/),["FencedCode","CodeBlock"]))}function Mv(i,e){if(!["none","bullet","ordered","task"].includes(e))return!1;let t=Jg(i.state).map((n,r)=>{let s=Kg(n.text);if(s.style===e)return null;let o=e==="none"?"":e==="bullet"?"- ":e==="task"?"- [ ] ":`${r+1}. `;return{from:n.from,to:n.from+s.prefix.length,insert:s.indent+o}}).filter(Boolean);return t.length&&Wr(i,t),i.focus(),!0}function Ki(i){return e=>{let t=Mh(e.state,n=>n.map(r=>{let s=r.text.match(/^(#{1,6})\s+/),a=(s?s[1].length:0)===i||i===0?"":"#".repeat(i)+" ";return{from:r.from,to:r.from+(s?s[0].length:0),insert:a}}));return e.dispatch({changes:t,userEvent:"input"}),!0}}function e0(i){let e={InlineCode:"code",FencedCode:"fenced",CodeBlock:"plain",Blockquote:"quote",Table:"table"};for(let t=B(i).resolve(i.selection.main.head,i.selection.main.empty?1:-1);t;t=t.parent)if(e[t.name])return{style:e[t.name],node:t};return{style:"none",node:null}}function Wv(i,e,t=""){if(!["none","quote","code","plain","fenced","table"].includes(e))return!1;let n=i.state,r=n.selection.main,s=e0(n),o=s.node&&r.from>=s.node.from&&r.to<=s.node.to;if(e==="code"&&(!o||s.style==="code"))return s.style!=="code"&&At("`")(i),i.focus(),!0;if(e==="table"){let p=En(n,r.to,["FencedCode"]),m=p?p.to:n.doc.lineAt(r.to).to,g=(p&&p.lastChild?.name!=="CodeMark"?` `+n.sliceDoc(p.firstChild.from,p.firstChild.to):"")+` | Column 1 | Column 2 | | --- | --- | | | | -`;return i.dispatch({changes:{from:m,insert:g},selection:{anchor:m+g.length},userEvent:"input"}),i.focus(),!0}if(e===s.style&&o&&e!=="fenced")return!0;if(e==="quote"&&!o){let p=Th(n).filter(m=>!qn(n,m.from+Math.max(0,m.text.search(/\S/)),["Blockquote"])).map(m=>({from:m.from,insert:"> "}));return p.length&&Lr(i,p),i.focus(),!0}let a=Th(n),l=a[0].from,c=a[a.length-1].to,h=n.sliceDoc(l,c),f=s.node;if(f&&r.from>=f.from&&r.to<=f.to&&(s.style!=="code"||e==="none")){if(l=s.style==="code"?f.from:n.doc.lineAt(f.from).from,c=f.to,h=n.sliceDoc(l,c),s.style==="fenced"){let p=n.doc.lineAt(f.from),m=n.doc.lineAt(f.to),b=f.lastChild?.name==="CodeMark";h=n.sliceDoc(Math.min(p.to+1,f.to),b?m.from:f.to).replace(/\n$/,"")}else if(s.style==="plain")h=h.replace(/^(?: {4}|\t)/gm,"");else if(s.style==="quote")h=h.replace(/^ {0,3}> ?/gm,"");else if(s.style==="code")h=n.sliceDoc(f.firstChild.to,f.lastChild.from);else if(s.style==="table"){let p=Ch(h);p&&(h=p.rows.map(m=>m.join(" ")).join(` +`;return i.dispatch({changes:{from:m,insert:g},selection:{anchor:m+g.length},userEvent:"input"}),i.focus(),!0}if(e===s.style&&o&&e!=="fenced")return!0;if(e==="quote"&&!o){let p=Zh(n).filter(m=>!En(n,m.from+Math.max(0,m.text.search(/\S/)),["Blockquote"])).map(m=>({from:m.from,insert:"> "}));return p.length&&Wr(i,p),i.focus(),!0}let a=Zh(n),l=a[0].from,c=a[a.length-1].to,h=n.sliceDoc(l,c),f=s.node;if(f&&r.from>=f.from&&r.to<=f.to&&(s.style!=="code"||e==="none")){if(l=s.style==="code"?f.from:n.doc.lineAt(f.from).from,c=f.to,h=n.sliceDoc(l,c),s.style==="fenced"){let p=n.doc.lineAt(f.from),m=n.doc.lineAt(f.to),b=f.lastChild?.name==="CodeMark";h=n.sliceDoc(Math.min(p.to+1,f.to),b?m.from:f.to).replace(/\n$/,"")}else if(s.style==="plain")h=h.replace(/^(?: {4}|\t)/gm,"");else if(s.style==="quote")h=h.replace(/^ {0,3}> ?/gm,"");else if(s.style==="code")h=n.sliceDoc(f.firstChild.to,f.lastChild.from);else if(s.style==="table"){let p=Eh(h);p&&(h=p.rows.map(m=>m.join(" ")).join(` `))}}let u=h,O=0;if(e==="code"){h=h.replace(/\n/g," ");let p="`".repeat(Math.max(1,...(h.match(/`+/g)||[]).map(b=>b.length+1))),m=/^`|`$/.test(h)||/^ .* $/.test(h)&&/\S/.test(h)?" ":"";u=p+m+h+m+p,O=p.length+m.length}if(e==="quote"&&(u=h.split(` `).map(p=>"> "+p).join(` `),O=2),e==="plain"&&(u=h.split(` @@ -49,4 +49,4 @@ `),O=4),e==="fenced"){let p=h.match(/`+/g)||[],m="`".repeat(Math.max(3,...p.map(Q=>Q.length+1))),b=String(t).replace(/[^\w+-]/g,""),g=m+b+` `;u=g+h+` `+m,O=g.length}return e==="plain"&&l>0&&n.doc.lineAt(l-1).text.trim()&&(u=` -`+u,O++),i.dispatch({changes:{from:l,to:c,insert:u},selection:{anchor:l+O},userEvent:"input"}),i.focus(),!0}function _v(i){let e=i.state.selection.main,t=i.state.sliceDoc(e.from,e.to)||"text",n=`[${t}](url)`,r=e.from+t.length+3;return i.dispatch({changes:{from:e.from,to:e.to,insert:n},selection:v.range(r,r+3),userEvent:"input",scrollIntoView:!0}),!0}var Mg=_e.define();function Rv(i,e){let t=B(i).resolve(e,-1);for(;t;){if(t.name==="FencedCode")return t.from;t=t.parent}return null}var Av=re.transactionFilter.of(i=>{if(!i.docChanged||!i.isUserEvent("input")||i.annotation(Mg))return i;let e=i.newSelection.main;if(!e.empty)return i;let t=i.newDoc.lineAt(e.head),n=e.head-t.from;if(t.text.slice(0,n)!=="```"||t.text.slice(n)!=="")return i;let r=!1,s=null;if(i.changes.iterChanges((l,c,h,f,u)=>{if(r||h>e.head||f=t.from+3,r&&(s=l)}),!r)return i;let o=i.startState.doc.lineAt(s),a=Rv(i.startState,s);return a!=null&&at.number&&(n=i.state.doc.line(n.number-1)),e.empty){let o=wo(i.state,e.head);if(o){let a=i.state.doc.lineAt(o.from),l=i.state.doc.lineAt(o.to);if(t.number>a.number&&(!o.closed||t.numbera)return Rl(i)}return!0}let s=[];for(let o=t.number;o<=n.number;o++)s.push({from:i.state.doc.line(o).from,insert:" "});return Lr(i,s),!0}window.MDEditor={create(i,e,t){let n=t&&t.onDirty,r=t&&t.onPasteImage;Object.assign(Ot,t&&t.spacing||{});let s=new E({parent:i,state:re.create({doc:e,extensions:[pO(),yi,LP,$u(),E.lineWrapping,E.perLineTextDirection.of(!0),_t.of(" "),yv,Om({content:tm({base:gi,codeLanguages:Wg,extensions:RP})}),Ki,Zn,Pt,kv,xv,wv,MP,Ju({style:Vg.style,scope:m=>m.prop(Qt)!==gi.data}),dt.lowest(vv),$v,Av,JO(),Zi.of([{key:"Mod-b",run:Si("**")},{key:"Mod-i",run:Si("*")},{key:"Tab",run:Zv,shift:_l},...id,...zc,...BO,...bO]),E.updateListener.of(m=>{if(t?.onFormattingChange&&(m.selectionSet||m.docChanged||m.focusChanged||B(m.startState)!==B(m.state))&&t.onFormattingChange(zg(m.state)),m.docChanged&&t?.onSearchChange){let b=m.state.field(yi);t.onSearchChange({index:b.index+1,total:b.matches.length})}m.docChanged&&n&&!m.transactions.some(b=>b.isUserEvent("rename"))&&n()}),E.domEventHandlers({paste(m,b){if(m.target instanceof Element&&m.target.closest(".cm-md-table-cell")||!Array.from(m.clipboardData?.items||[]).some(S=>String(S.type||"").toLowerCase().startsWith("image/"))||typeof r!="function")return!1;m.preventDefault();let Q=b.state.selection.main;return r(Q.from,Q.to),!0}})]})}),o=!!(t&&t.pageScrolling),a=o?document.scrollingElement:s.scrollDOM,l=o?window:a,c=null,h=0,f=null,u=()=>s.documentTop+a.scrollTop-(o?0:a.getBoundingClientRect().top),O=m=>{let b=s.lineBlockAt(m),g=0,Q=0;try{let S=s.domAtPos(m).node,k=S.nodeType===Node.ELEMENT_NODE?S:S.parentElement,P=k&&k.closest(".cm-line");if(P){let $=getComputedStyle(P);g=parseFloat($.paddingTop)||0,Q=parseFloat($.paddingBottom)||0}}catch{}return{top:b.top+g,height:Math.max(b.height-g-Q,1),sourceStart:s.state.doc.lineAt(b.from).number,sourceEnd:s.state.doc.lineAt(b.to).number+1}},p={bold:Si("**"),italic:Si("*"),strikethrough:Si("~~"),highlight:Si("=="),code:Si("`"),h0:Hi(0),h1:Hi(1),h2:Hi(2),h3:Hi(3),h4:Hi(4),h5:Hi(5),h6:Hi(6),quote:Sh("> ",/^>\s?/),bulletList:Sh("- ",/^\s*[-*+]\s/),orderedList:Tv,taskList:Sh("- [ ] ",/^\s*[-*+]\s+\[[ xX]\]\s/),link:_v};return t?.onCopyCode&&jg.set(s,t.onCopyCode),t?.onFormattingChange?.(zg(s.state)),{getMarkdown:()=>s.state.doc.toString(),getBlockStyle:()=>Ig(s.state).style,setBlockStyle:(m,b)=>Xv(s,m,b),getListStyle:()=>{let m=Yg(s.state).map(b=>Dg(b.text).style);return m.length?m.every(b=>b===m[0])?m[0]:"mixed":"none"},setListStyle:m=>Cv(s,m),getLinkSelection:(m=!1)=>{let{from:b,to:g}=s.state.selection.main,Q=qn(s.state,b,["Link"]);if(m&&Q&&g<=Q.to){let S=Q.getChildren("LinkMark");return{from:Q.from,to:Q.to,text:s.state.sliceDoc(S[0].to,S[1].from)}}return{from:b,to:g,text:s.state.sliceDoc(b,g)}},insertLinkFromPopover:(m,b,g,Q)=>{let S=String(b).trim();if(!S||/[\r\n]/.test(S)||g<0||Qs.state.doc.length)return!1;let k=qn(s.state,g,["Link"]);if(k&&(g>k.from||Qg?qn(s.state,Q-1,["Link"]):null;if(P&&(g>P.from||Q\\()]/g,W=>/[()]/.test(W)?"%"+W.charCodeAt(0).toString(16).toUpperCase():encodeURIComponent(W)),_=`[${$}](${R})`;return s.dispatch({changes:{from:g,to:Q,insert:_},selection:{anchor:g+_.length},userEvent:"input"}),s.focus(),!0},getHeadingLevel:()=>{for(let m=B(s.state).resolveInner(s.state.selection.main.head,1);m;m=m.parent){let b=/^(?:ATX|Setext)Heading([1-6])$/.exec(m.name);if(b)return Number(b[1])}return 0},find:(m,b=!1,g=!1)=>{let Q=s.state.field(yi),S=Q.query===m&&Q.beginsWith===g,k=0;S&&Q.matches.length?k=(Q.index+(b?-1:1)+Q.matches.length)%Q.matches.length:b&&(k=Number.MAX_SAFE_INTEGER),s.dispatch({effects:To.of({query:m,beginsWith:g,index:k})});let P=s.state.field(yi),$=P.matches[P.index];return $&&(c=null,didUserScroll=!0,s.dispatch({effects:E.scrollIntoView($.from,{y:"center"})})),{index:P.index+1,total:P.matches.length}},isSyntaxReady:()=>Bu(s.state,s.state.doc.length),replaceMarkdown:m=>{let b=String(m||""),g=b.length,Q=s.state.selection.main,S=Math.min(Q.anchor,g),k=Math.min(Q.head,g),P=a.scrollTop;s.dispatch({changes:{from:0,to:s.state.doc.length,insert:b},selection:{anchor:S,head:k},userEvent:"rename",annotations:de.addToHistory.of(!1)}),requestAnimationFrame(()=>{a.scrollTop=P,s.requestMeasure()})},insertTextAt:(m,b,g)=>{let Q=s.state.doc.length,S=Math.max(0,Math.min(Number(b)||0,Q)),k=Math.max(S,Math.min(Number(g)||S,Q));s.dispatch({changes:{from:S,to:k,insert:String(m||"")},selection:{anchor:S+String(m||"").length},userEvent:"input",scrollIntoView:!0}),s.focus()},focus:()=>s.focus(),getScrollAnchor:()=>{if(Number.isFinite(c)&&Math.abs(a.scrollTop-f)<=.5)return{position:c,gap:h||0};let m=a.scrollTop-u(),b=s.lineBlockAtHeight(m),g=s.state.doc.lineAt(b.from),Q=O(g.from),S=Q.height>0?Math.min(Math.max((m-Q.top)/Q.height,0),1):0,k=Math.max(Q.top-m,0);return{position:Q.sourceStart+S*(Q.sourceEnd-Q.sourceStart),gap:k}},setScrollPosition:(m,b,g)=>new Promise(Q=>{let k=Math.max(a.scrollHeight-a.clientHeight,0)*Math.min(Math.max(Number(m)||0,0),1),P=null,$=Number.isFinite(g)?Math.max(g,0):0;if(Number.isFinite(b)&&b>=1){let R=Math.min(Math.floor(b),s.state.doc.lines);if(P=s.state.doc.line(R).from,P!=null){let _=O(P),W=(b-_.sourceStart)/(_.sourceEnd-_.sourceStart);k=u()+_.top+_.height*W-$,s.dispatch({effects:E.scrollIntoView(P,{y:"start"})})}}requestAnimationFrame(()=>{let R=Math.max(a.scrollHeight-a.clientHeight,0);if(P!=null){let _=O(P),W=(b-_.sourceStart)/(_.sourceEnd-_.sourceStart);k=u()+_.top+_.height*W-$}else k=R*Math.min(Math.max(Number(m)||0,0),1);a.scrollTop=Math.min(Math.max(k,0),R),l.dispatchEvent(new Event("scroll")),s.requestMeasure(),requestAnimationFrame(()=>{c=Number.isFinite(b)?b:null,h=Number.isFinite(b)?$:0,f=a.scrollTop,Q(!0)})})}),select:(m,b=m)=>s.dispatch({selection:{anchor:m,head:b},userEvent:"select.pointer"}),insert:m=>{let b=s.state.selection.main;s.state.facet(E.inputHandler).some(Q=>Q(s,b.from,b.to,m))||s.dispatch({changes:{from:b.from,to:b.to,insert:m},selection:{anchor:b.from+m.length},userEvent:"input"})},exec:m=>{let b=p[m];b&&(b(s),s.focus())},performTableContextAction:(m,b)=>{if(!Er||Er.token!==m)return!1;let g=Er;return Er=null,g.perform(b),!0},destroy:()=>{s.destroy()}}}};})(); +`+u,O++),i.dispatch({changes:{from:l,to:c,insert:u},selection:{anchor:l+O},userEvent:"input"}),i.focus(),!0}function jv(i){let e=i.state.selection.main,t=i.state.sliceDoc(e.from,e.to)||"text",n=`[${t}](url)`,r=e.from+t.length+3;return i.dispatch({changes:{from:e.from,to:e.to,insert:n},selection:v.range(r,r+3),userEvent:"input",scrollIntoView:!0}),!0}var Bg=_e.define();function Vv(i,e){let t=B(i).resolve(e,-1);for(;t;){if(t.name==="FencedCode")return t.from;t=t.parent}return null}var Dv=re.transactionFilter.of(i=>{if(!i.docChanged||!i.isUserEvent("input")||i.annotation(Bg))return i;let e=i.newSelection.main;if(!e.empty)return i;let t=i.newDoc.lineAt(e.head),n=e.head-t.from;if(t.text.slice(0,n)!=="```"||t.text.slice(n)!=="")return i;let r=!1,s=null;if(i.changes.iterChanges((l,c,h,f,u)=>{if(r||h>e.head||f=t.from+3,r&&(s=l)}),!r)return i;let o=i.startState.doc.lineAt(s),a=Vv(i.startState,s);return a!=null&&at.number&&(n=i.state.doc.line(n.number-1)),e.empty){let o=Co(i.state,e.head);if(o){let a=i.state.doc.lineAt(o.from),l=i.state.doc.lineAt(o.to);if(t.number>a.number&&(!o.closed||t.numbera)return zl(i)}return!0}let s=[];for(let o=t.number;o<=n.number;o++)s.push({from:i.state.doc.line(o).from,insert:" "});return Wr(i,s),!0}window.MDEditor={create(i,e,t){let n=t&&t.onDirty,r=t&&t.onPasteImage;Object.assign(dt,t&&t.spacing||{});let s=new E({parent:i,state:re.create({doc:e,extensions:[wO(),ki,GP,Eu(),E.lineWrapping,E.perLineTextDirection.of(!0),Rt.of(" "),_v,ym({content:Dc({base:bi,codeLanguages:Ug,extensions:qh})}),Ji,qn,vt,Rv,Av,Zv,NP,UP,lO({style:Hg.style,scope:m=>m.prop(bt)!==bi.data}),pt.lowest(Ev),zv,Dv,ld(),qi.of([{key:"Mod-b",run:At("**")},{key:"Mod-i",run:At("*")},{key:"Tab",run:Yv,shift:El},...fd,...Vc,...td,...TO]),E.updateListener.of(m=>{if(t?.onFormattingChange&&(m.selectionSet||m.docChanged||m.focusChanged||B(m.startState)!==B(m.state))&&(qe.has(s)?zn(s):t.onFormattingChange(Ah(m.state))),m.docChanged&&t?.onSearchChange){let b=m.state.field(ki);t.onSearchChange({index:b.index+1,total:b.matches.length})}m.docChanged&&n&&!m.transactions.some(b=>b.isUserEvent("rename"))&&n()}),E.domEventHandlers({paste(m,b){if(m.target instanceof Element&&m.target.closest(".cm-md-table-cell")||!Array.from(m.clipboardData?.items||[]).some(S=>String(S.type||"").toLowerCase().startsWith("image/"))||typeof r!="function")return!1;m.preventDefault();let Q=b.state.selection.main;return r(Q.from,Q.to),!0}})]})}),o=!!(t&&t.pageScrolling),a=o?document.scrollingElement:s.scrollDOM,l=o?window:a,c=null,h=0,f=null,u=()=>s.documentTop+a.scrollTop-(o?0:a.getBoundingClientRect().top),O=m=>{let b=s.lineBlockAt(m),g=0,Q=0;try{let S=s.domAtPos(m).node,x=S.nodeType===Node.ELEMENT_NODE?S:S.parentElement,P=x&&x.closest(".cm-line");if(P){let $=getComputedStyle(P);g=parseFloat($.paddingTop)||0,Q=parseFloat($.paddingBottom)||0}}catch{}return{top:b.top+g,height:Math.max(b.height-g-Q,1),sourceStart:s.state.doc.lineAt(b.from).number,sourceEnd:s.state.doc.lineAt(b.to).number+1}},p={bold:At("**"),italic:At("*"),strikethrough:At("~~"),highlight:At("=="),code:At("`"),h0:Ki(0),h1:Ki(1),h2:Ki(2),h3:Ki(3),h4:Ki(4),h5:Ki(5),h6:Ki(6),quote:Ph("> ",/^>\s?/),bulletList:Ph("- ",/^\s*[-*+]\s/),orderedList:Lv,taskList:Ph("- [ ] ",/^\s*[-*+]\s+\[[ xX]\]\s/),link:jv};return t?.onCopyCode&&Gg.set(s,t.onCopyCode),t?.onFormattingChange&&Lh.set(s,t.onFormattingChange),t?.onFormattingChange?.(Ah(s.state)),{getMarkdown:()=>s.state.doc.toString(),getBlockStyle:()=>qe.has(s)?"table":e0(s.state).style,setBlockStyle:(m,b)=>{if(qe.has(s)){if(m!=="code")return!1;let g=$o(s);return g?(At("`")(s),To(s,g),!0):!1}return Wv(s,m,b)},getListStyle:()=>{if(qe.has(s))return"none";let m=Jg(s.state).map(b=>Kg(b.text).style);return m.length?m.every(b=>b===m[0])?m[0]:"mixed":"none"},setListStyle:m=>!qe.has(s)&&Mv(s,m),getLinkSelection:(m=!1)=>{$o(s);let{from:b,to:g}=s.state.selection.main,Q=En(s.state,b,["Link"]);if(m&&Q&&g<=Q.to){let S=Q.getChildren("LinkMark");return{from:Q.from,to:Q.to,text:s.state.sliceDoc(S[0].to,S[1].from)}}return{from:b,to:g,text:s.state.sliceDoc(b,g)}},insertLinkFromPopover:(m,b,g,Q)=>{let S=String(b).trim();if(!S||/[\r\n]/.test(S)||g<0||Qs.state.doc.length)return!1;let x=En(s.state,g,["Link"]);if(x&&(g>x.from||Qg?En(s.state,Q-1,["Link"]):null;if(P&&(g>P.from||Q\\()]/g,k=>/[()]/.test(k)?"%"+k.charCodeAt(0).toString(16).toUpperCase():encodeURIComponent(k)),_=qe.get(s),W=`[${$}](${R})`,T=_?zh(W):W;return s.dispatch({changes:{from:g,to:Q,insert:T},selection:{anchor:g+T.length},userEvent:"input"}),_?To(s,_):s.focus(),!0},getHeadingLevel:()=>{if(qe.has(s))return 0;for(let m=B(s.state).resolveInner(s.state.selection.main.head,1);m;m=m.parent){let b=/^(?:ATX|Setext)Heading([1-6])$/.exec(m.name);if(b)return Number(b[1])}return 0},find:(m,b=!1,g=!1)=>{let Q=s.state.field(ki),S=Q.query===m&&Q.beginsWith===g,x=0;S&&Q.matches.length?x=(Q.index+(b?-1:1)+Q.matches.length)%Q.matches.length:b&&(x=Number.MAX_SAFE_INTEGER),s.dispatch({effects:Ao.of({query:m,beginsWith:g,index:x})});let P=s.state.field(ki),$=P.matches[P.index];return $&&(c=null,didUserScroll=!0,s.dispatch({effects:E.scrollIntoView($.from,{y:"center"})})),{index:P.index+1,total:P.matches.length}},isSyntaxReady:()=>tO(s.state,s.state.doc.length),replaceMarkdown:m=>{let b=String(m||""),g=b.length,Q=s.state.selection.main,S=Math.min(Q.anchor,g),x=Math.min(Q.head,g),P=a.scrollTop;s.dispatch({changes:{from:0,to:s.state.doc.length,insert:b},selection:{anchor:S,head:x},userEvent:"rename",annotations:de.addToHistory.of(!1)}),requestAnimationFrame(()=>{a.scrollTop=P,s.requestMeasure()})},insertTextAt:(m,b,g)=>{let Q=s.state.doc.length,S=Math.max(0,Math.min(Number(b)||0,Q)),x=Math.max(S,Math.min(Number(g)||S,Q));s.dispatch({changes:{from:S,to:x,insert:String(m||"")},selection:{anchor:S+String(m||"").length},userEvent:"input",scrollIntoView:!0}),s.focus()},focus:()=>s.focus(),getScrollAnchor:()=>{if(Number.isFinite(c)&&Math.abs(a.scrollTop-f)<=.5)return{position:c,gap:h||0};let m=a.scrollTop-u(),b=s.lineBlockAtHeight(m),g=s.state.doc.lineAt(b.from),Q=O(g.from),S=Q.height>0?Math.min(Math.max((m-Q.top)/Q.height,0),1):0,x=Math.max(Q.top-m,0);return{position:Q.sourceStart+S*(Q.sourceEnd-Q.sourceStart),gap:x}},setScrollPosition:(m,b,g)=>new Promise(Q=>{let x=Math.max(a.scrollHeight-a.clientHeight,0)*Math.min(Math.max(Number(m)||0,0),1),P=null,$=Number.isFinite(g)?Math.max(g,0):0;if(Number.isFinite(b)&&b>=1){let R=Math.min(Math.floor(b),s.state.doc.lines);if(P=s.state.doc.line(R).from,P!=null){let _=O(P),W=(b-_.sourceStart)/(_.sourceEnd-_.sourceStart);x=u()+_.top+_.height*W-$,s.dispatch({effects:E.scrollIntoView(P,{y:"start"})})}}requestAnimationFrame(()=>{let R=Math.max(a.scrollHeight-a.clientHeight,0);if(P!=null){let _=O(P),W=(b-_.sourceStart)/(_.sourceEnd-_.sourceStart);x=u()+_.top+_.height*W-$}else x=R*Math.min(Math.max(Number(m)||0,0),1);a.scrollTop=Math.min(Math.max(x,0),R),l.dispatchEvent(new Event("scroll")),s.requestMeasure(),requestAnimationFrame(()=>{c=Number.isFinite(b)?b:null,h=Number.isFinite(b)?$:0,f=a.scrollTop,Q(!0)})})}),select:(m,b=m)=>{qe.delete(s),s.dispatch({selection:{anchor:m,head:b},userEvent:"select.pointer"})},insert:m=>{let b=s.state.selection.main;s.state.facet(E.inputHandler).some(Q=>Q(s,b.from,b.to,m))||s.dispatch({changes:{from:b.from,to:b.to,insert:m},selection:{anchor:b.from+m.length},userEvent:"input"})},exec:m=>{let b=p[m];if(!b)return!1;if(qe.has(s)){if(!BP.has(m))return!1;let g=$o(s);return g?(b(s),To(s,g),!0):!1}return b(s),s.focus(),!0},performTableContextAction:(m,b)=>{if(!Lr||Lr.token!==m)return!1;let g=Lr;return Lr=null,g.perform(b),!0},destroy:()=>{s.destroy()}}}};})(); diff --git a/scripts/editor-bundle/entry-cm.js b/scripts/editor-bundle/entry-cm.js index 7987e5a4..48368d8b 100644 --- a/scripts/editor-bundle/entry-cm.js +++ b/scripts/editor-bundle/entry-cm.js @@ -466,9 +466,15 @@ class CodeLanguageWidget extends WidgetType { // Visual table editor // --------------------------------------------------------------------------- -function splitTableRow(source) { +function splitTableRow(source, includeRanges = false) { const cells = [] let cell = "" + let cellFrom = 0 + const appendCell = () => cells.push({ + text: cell.trim(), + from: cellFrom + cell.length - cell.trimStart().length, + to: cellFrom + cell.trimEnd().length, + }) let backslashes = 0 let codeFenceLength = 0 for (let index = 0; index < source.length;) { @@ -485,19 +491,20 @@ function splitTableRow(source) { continue } if (character === "|" && backslashes % 2 === 0 && codeFenceLength === 0) { - cells.push(cell.trim()) + appendCell() cell = "" + cellFrom = index + 1 } else { cell += character } backslashes = character === "\\" ? backslashes + 1 : 0 index++ } - cells.push(cell.trim()) + appendCell() const trimmed = source.trim() - if (trimmed.startsWith("|") && cells[0] === "") cells.shift() - if (trimmed.endsWith("|") && cells[cells.length - 1] === "") cells.pop() - return cells + if (trimmed.startsWith("|") && cells[0].text === "") cells.shift() + if (trimmed.endsWith("|") && cells[cells.length - 1].text === "") cells.pop() + return includeRanges ? cells : cells.map(cell => cell.text) } function parseTableAlignment(cell) { @@ -519,7 +526,7 @@ function parseTableSource(source) { const header = splitTableRow(lines[0]) const alignments = splitTableRow(lines[1]).map(parseTableAlignment) if (!header.length || !alignments.length || alignments.some((item) => item == null)) return null - const rows = [header, ...lines.slice(2).map(splitTableRow)] + const rows = [header, ...lines.slice(2).map(line => splitTableRow(line))] const columnCount = Math.max(alignments.length, ...rows.map((row) => row.length)) while (alignments.length < columnCount) alignments.push("none") alignments.length = columnCount @@ -530,12 +537,15 @@ function parseTableSource(source) { return { rows, alignments, trailingNewline } } -function escapedTableCell(source) { - const flattened = source.replace(/\n+/g, " ").trim() +function escapedTableCell(source, positions = null) { + const normalized = source.replace(/\n+/g, " ") + const flattened = normalized.trim() + const positionMap = positions ? [] : null let result = "" let backslashes = 0 let codeFenceLength = 0 for (let index = 0; index < flattened.length;) { + if (positionMap) positionMap[index] = result.length const character = flattened[index] if (character === "`" && backslashes % 2 === 0) { let end = index + 1 @@ -543,6 +553,9 @@ function escapedTableCell(source) { const runLength = end - index if (codeFenceLength === 0) codeFenceLength = runLength else if (codeFenceLength === runLength) codeFenceLength = 0 + if (positionMap) { + for (let offset = index; offset < end; offset++) positionMap[offset] = result.length + offset - index + } result += flattened.slice(index, end) index = end backslashes = 0 @@ -553,6 +566,14 @@ function escapedTableCell(source) { backslashes = character === "\\" ? backslashes + 1 : 0 index++ } + if (positionMap) { + positionMap[flattened.length] = result.length + const leading = normalized.length - normalized.trimStart().length + positions.forEach((position, index) => { + const normalizedOffset = source.slice(0, position).replace(/\n+/g, " ").length - leading + positions[index] = positionMap[Math.max(0, Math.min(normalizedOffset, flattened.length))] + }) + } return result } @@ -579,28 +600,159 @@ function serializeTable(model) { let nextTableContextToken = 1 let pendingTableContextAction = null -// Inactive cells render code spans; focused cells expose their original -// Markdown. Build DOM nodes rather than interpreting cell contents as HTML. -function renderTableCellCode(element, source) { - element.replaceChildren() - let offset = 0 - if (source.includes('`')) markdownLanguage.parser.parse(source).iterate({ - enter(node) { - if (node.name !== 'InlineCode') return - element.append(document.createTextNode(source.slice(offset, node.from))) +// Inactive cells render inline formatting; focused cells expose their exact +// Markdown. Build DOM nodes so authored HTML stays text and links stay editable. +const tableInlineParser = markdownLanguage.parser.configure(obsidianHighlight) +const tableRenderedTextOffsets = new WeakMap() + +function renderTableCell(element, source) { + const classes = { + StrongEmphasis: 'cm-md-strong', + Emphasis: 'cm-md-emphasis', + Strikethrough: 'cm-md-strikethrough', + Highlight: 'cm-md-highlight', + } + const appendText = (parent, text, from) => { + if (!text) return + const node = document.createTextNode(text) + tableRenderedTextOffsets.set(node, from) + parent.append(node) + } + const appendRange = (parent, node, from, to) => { + let offset = from + for (let child = node.firstChild; child; child = child.nextSibling) { + if (child.from < from || child.to > to) continue + appendText(parent, source.slice(offset, child.from), offset) + appendNode(parent, child) + offset = child.to + } + appendText(parent, source.slice(offset, to), offset) + } + const appendNode = (parent, node) => { + if (node.name === 'InlineCode') { const code = document.createElement('code') code.className = 'cm-md-inline-code' - let text = source.slice(node.node.firstChild.to, node.node.lastChild.from).replace(/\n/g, ' ') - if (text.startsWith(' ') && text.endsWith(' ') && /[^ ]/.test(text)) text = text.slice(1, -1) - code.textContent = text - element.append(code) - offset = node.to - return false - }, + let text = source.slice(node.firstChild.to, node.lastChild.from).replace(/\n/g, ' ') + const padded = text.startsWith(' ') && text.endsWith(' ') && /[^ ]/.test(text) + if (padded) text = text.slice(1, -1) + appendText(code, text, node.firstChild.to + (padded ? 1 : 0)) + parent.append(code) + } else if (classes[node.name]) { + const span = document.createElement('span') + span.className = classes[node.name] + appendRange(span, node, node.firstChild.to, node.lastChild.from) + parent.append(span) + } else if (node.name === 'Link' && node.getChild('URL')) { + const marks = node.getChildren('LinkMark') + const label = document.createElement('span') + label.className = 'cm-md-link' + appendRange(label, node, marks[0].to, marks[1].from) + parent.append(label) + } else if (node.name === 'Escape') { + appendText(parent, source.slice(node.from + 1, node.to), node.from + 1) + } else if (node.name === 'Image') { + appendText(parent, source.slice(node.from, node.to), node.from) + } else { + appendRange(parent, node, node.from, node.to) + } + } + element.replaceChildren() + appendNode(element, tableInlineParser.parse(source).topNode) +} + +// A table cell owns a native DOM selection, separate from CodeMirror's. +// Remember it when the native formatting toolbar or link popover takes focus. +const tableFormattingTargets = new WeakMap() +const tableFormattingCallbacks = new WeakMap() +const tableInlineCommands = new Set(['bold', 'italic', 'strikethrough', 'highlight', 'code', 'link']) + +function tableCellSourceRange(view, target) { + const first = view.state.doc.lineAt(target.tableFrom) + const lineNumber = first.number + (target.row === 0 ? 0 : target.row + 1) + if (lineNumber > view.state.doc.lines) return null + const line = view.state.doc.line(lineNumber) + const range = splitTableRow(line.text, true)[target.column] + if (!range) return null + return { from: line.from + range.from, to: line.from + Math.max(range.from, range.to) } +} + +function captureTableSelection(view) { + const target = tableFormattingTargets.get(view) + if (!target || target.element.dataset.tableEditing !== 'true') return + const selection = window.getSelection() + if (!selection?.anchorNode || !selection.focusNode + || !target.element.contains(selection.anchorNode) || !target.element.contains(selection.focusNode)) return + const offset = (node, position) => { + const range = document.createRange() + range.selectNodeContents(target.element) + range.setEnd(node, position) + return range.toString().length + } + target.anchor = offset(selection.anchorNode, selection.anchorOffset) + target.head = offset(selection.focusNode, selection.focusOffset) + const text = target.element.innerText || '' + const positions = [target.anchor, target.head] + escapedTableCell(text, positions) + target.sourceAnchor = positions[0] + target.sourceHead = positions[1] + const state = EditorState.create({ + doc: text, + selection: EditorSelection.single(target.anchor, target.head), + extensions: [markdown({ extensions: obsidianHighlight })], }) - element.append(document.createTextNode(source.slice(offset))) + tableFormattingCallbacks.get(view)?.(formattingState(state)) +} + +function prepareTableFormatting(view) { + const target = tableFormattingTargets.get(view) + if (!target) return null + captureTableSelection(view) + // Blur commits any pending typing through the table's existing save path. + if (target.element.dataset.tableEditing === 'true') target.element.blur() + const range = tableCellSourceRange(view, target) + if (!range) return null + const length = range.to - range.from + view.dispatch({ selection: EditorSelection.single( + range.from + Math.max(0, Math.min(target.sourceAnchor ?? target.anchor, length)), + range.from + Math.max(0, Math.min(target.sourceHead ?? target.head, length)), + ) }) + return target +} + +function restoreTableFormatting(view, target) { + const range = tableCellSourceRange(view, target) + if (!range) return + const selection = view.state.selection.main + const anchor = Math.max(0, Math.min(selection.anchor - range.from, range.to - range.from)) + const head = Math.max(0, Math.min(selection.head - range.from, range.to - range.from)) + const cell = view.dom.querySelector( + `.cm-md-table-widget[data-table-from="${target.tableFrom}"] [data-table-row="${target.row}"][data-table-column="${target.column}"]` + ) + if (!cell) return + cell.focus({ preventScroll: true }) + const text = cell.firstChild || cell.appendChild(document.createTextNode('')) + window.getSelection()?.setBaseAndExtent(text, anchor, text, head) + captureTableSelection(view) } +const tableFormattingSelection = ViewPlugin.fromClass(class { + constructor(view) { + this.view = view + this.capture = () => captureTableSelection(view) + this.clear = event => { + if (!event.target.closest?.('.cm-md-table-cell')) tableFormattingTargets.delete(view) + } + document.addEventListener('selectionchange', this.capture) + view.dom.addEventListener('mousedown', this.clear, true) + } + destroy() { + document.removeEventListener('selectionchange', this.capture) + this.view.dom.removeEventListener('mousedown', this.clear, true) + tableFormattingTargets.delete(this.view) + tableFormattingCallbacks.delete(this.view) + } +}) + class TableEditorWidget extends WidgetType { constructor(source, from) { super() @@ -668,13 +820,7 @@ class TableEditorWidget extends WidgetType { const clearPartSelection = () => { root.querySelectorAll(".is-table-part-selected").forEach((cell) => { - cell.classList.remove( - "is-table-part-selected", - "is-table-selection-top", - "is-table-selection-right", - "is-table-selection-bottom", - "is-table-selection-left", - ) + cell.classList.remove("is-table-part-selected") }) root.classList.remove( "is-table-row-selected", @@ -696,12 +842,6 @@ class TableEditorWidget extends WidgetType { }) cells.forEach((cell) => { cell.classList.add("is-table-part-selected") - const row = Number(cell.dataset.tableRow) - const column = Number(cell.dataset.tableColumn) - if (row === bounds.top) cell.classList.add("is-table-selection-top") - if (column === bounds.right) cell.classList.add("is-table-selection-right") - if (row === bounds.bottom) cell.classList.add("is-table-selection-bottom") - if (column === bounds.left) cell.classList.add("is-table-selection-left") }) root.classList.add( kind === "row" @@ -712,6 +852,7 @@ class TableEditorWidget extends WidgetType { ) window.getSelection()?.removeAllRanges() selectedPart = { kind, row: anchor.row, column: anchor.column, bounds } + tableFormattingTargets.delete(view) root.tabIndex = 0 if (kind === "range") { const rowCount = bounds.bottom - bounds.top + 1 @@ -785,7 +926,7 @@ class TableEditorWidget extends WidgetType { editor.className = "cm-md-table-cell" editor.contentEditable = "plaintext-only" editor.spellcheck = true - renderTableCellCode(editor, value) + renderTableCell(editor, value) editor.dataset.tableRow = String(row) editor.dataset.tableColumn = String(column) if (row === 0) { @@ -801,12 +942,16 @@ class TableEditorWidget extends WidgetType { if (model.alignments[column] !== "none") editor.style.textAlign = model.alignments[column] editor.addEventListener("focus", () => { clearPartSelection() - editor.textContent = model.rows[row][column] + if (editor.textContent !== model.rows[row][column] || editor.childElementCount) { + editor.textContent = model.rows[row][column] + } editor.dataset.tableEditing = 'true' + tableFormattingTargets.set(view, { tableFrom: this.from, row, column, element: editor, anchor: 0, head: 0 }) active = { row, column, element: editor } }) editor.addEventListener("contextmenu", (event) => { event.preventDefault() + editor.focus() active = { row, column, element: editor } const token = String(nextTableContextToken++) pendingTableContextAction = { @@ -823,22 +968,31 @@ class TableEditorWidget extends WidgetType { }) }) editor.addEventListener("blur", () => { + captureTableSelection(view) if (!active || active.element !== editor) return const value = editor.innerText || "" const changed = value !== model.rows[row][column] model.rows[row][column] = value active = null delete editor.dataset.tableEditing - renderTableCellCode(editor, model.rows[row][column]) + renderTableCell(editor, model.rows[row][column]) if (changed) applyModel() }) editor.addEventListener("keydown", (event) => { + if ((event.metaKey || event.ctrlKey) && ['b', 'i'].includes(event.key.toLowerCase())) { + event.preventDefault() + const target = prepareTableFormatting(view) + toggleInlineMark(event.key.toLowerCase() === 'b' ? '**' : '*')(view) + if (target) restoreTableFormatting(view, target) + return + } if (event.key === "Escape") { event.preventDefault() active = null editor.blur() delete editor.dataset.tableEditing - renderTableCellCode(editor, model.rows[row][column]) + renderTableCell(editor, model.rows[row][column]) + tableFormattingTargets.delete(view) view.focus() return } @@ -874,13 +1028,28 @@ class TableEditorWidget extends WidgetType { const row = Number(cell.dataset.tableRow) const column = Number(cell.dataset.tableColumn) if (!Number.isInteger(row) || row < 0 || !Number.isInteger(column)) return - // Keep CodeMirror from replacing the widget while WebKit is tracking the - // contenteditable gesture. WebKit's native selection begins on mouse - // down and can't be reliably cancelled after the pointer crosses into a - // second cell, so ordinary clicks restore their caret on mouse up. - event.preventDefault() + // Anchor a plain click in rendered text before revealing its Markdown, + // just like anchoredPointerSelection does for ordinary editor text. event.stopPropagation() - cellDrag = { cell, row, column, head: cell, active: false } + let sourceAnchor = null + if (cell.dataset.tableEditing !== 'true' && event.detail === 1 + && !event.shiftKey && !event.metaKey && !event.ctrlKey && !event.altKey + && cell.textContent !== model.rows[row][column]) { + const hit = document.caretRangeFromPoint?.(event.clientX, event.clientY) + const from = hit && tableRenderedTextOffsets.get(hit.startContainer) + if (from != null && cell.contains(hit.startContainer)) { + sourceAnchor = from + hit.startOffset + event.preventDefault() + } + } + cell.focus({ preventScroll: true }) + const selectSource = (head) => { + const text = cell.firstChild + if (!text) return + window.getSelection()?.setBaseAndExtent(text, sourceAnchor, text, head) + } + if (sourceAnchor != null) selectSource(sourceAnchor) + cellDrag = { cell, row, column, head: cell, active: false, dragged: false } const finishCellDrag = (finishEvent) => { document.removeEventListener("mousemove", moveCellDrag, true) @@ -890,22 +1059,8 @@ class TableEditorWidget extends WidgetType { finishEvent.preventDefault() window.getSelection()?.removeAllRanges() suppressNextTableClick = true - } else if (finishedDrag) { - finishEvent.preventDefault() - finishedDrag.cell.focus({ preventScroll: true }) - const selection = window.getSelection() - let range = document.caretRangeFromPoint?.( - finishEvent.clientX, - finishEvent.clientY, - ) - if (!range || !finishedDrag.cell.contains(range.startContainer)) { - range = document.createRange() - range.selectNodeContents(finishedDrag.cell) - range.collapse(false) - } - selection?.removeAllRanges() - selection?.addRange(range) - suppressNextTableClick = true + } else { + captureTableSelection(view) } cellDrag = null } @@ -918,7 +1073,18 @@ class TableEditorWidget extends WidgetType { const head = hitTarget?.closest?.(".cm-md-table-cell") || moveEvent.target.closest?.(".cm-md-table-cell") if (!head || !root.contains(head)) return - if (head === cellDrag.cell && !cellDrag.active) return + if (head === cellDrag.cell && !cellDrag.active) { + if (sourceAnchor != null) { + moveEvent.preventDefault() + cellDrag.dragged ||= Math.hypot(moveEvent.clientX - event.clientX, + moveEvent.clientY - event.clientY) > 3 + if (cellDrag.dragged) { + const hit = document.caretRangeFromPoint?.(moveEvent.clientX, moveEvent.clientY) + if (hit?.startContainer === cell.firstChild) selectSource(hit.startOffset) + } + } + return + } if (head === cellDrag.head) return moveEvent.preventDefault() cellDrag.active = true @@ -2171,7 +2337,7 @@ function formattingState(state) { const match = /^(?:ATX|Setext)Heading([1-6])$/.exec(node.name) if (match) heading = Number(match[1]) const command = { StrongEmphasis: 'bold', Emphasis: 'italic', - Strikethrough: 'strikethrough', Link: 'link', InlineCode: 'code', + Strikethrough: 'strikethrough', Highlight: 'highlight', Link: 'link', InlineCode: 'code', BulletList: 'list', OrderedList: 'list', Blockquote: 'quote', FencedCode: 'fenced', CodeBlock: 'plain', Table: 'table' }[node.name] if (command) commands.add(command) @@ -2722,6 +2888,7 @@ window.MDEditor = { anchoredPointerSelection, mermaidPreviews, tableEditors, + tableFormattingSelection, // Markdown punctuation also carries processingInstruction tags. // Keep code colors inside embedded languages, not Markdown markers. syntaxHighlighting({ @@ -2748,7 +2915,8 @@ window.MDEditor = { EditorView.updateListener.of((update) => { if (callbacks?.onFormattingChange && (update.selectionSet || update.docChanged || update.focusChanged || syntaxTree(update.startState) !== syntaxTree(update.state))) { - callbacks.onFormattingChange(formattingState(update.state)) + if (tableFormattingTargets.has(view)) captureTableSelection(view) + else callbacks.onFormattingChange(formattingState(update.state)) } if (update.docChanged && callbacks?.onSearchChange) { const search = update.state.field(documentFind) @@ -2832,18 +3000,31 @@ window.MDEditor = { link: insertLink, } if (callbacks?.onCopyCode) codeCopyHandlers.set(view, callbacks.onCopyCode) + if (callbacks?.onFormattingChange) tableFormattingCallbacks.set(view, callbacks.onFormattingChange) callbacks?.onFormattingChange?.(formattingState(view.state)) return { getMarkdown: () => view.state.doc.toString(), - getBlockStyle: () => stylingContext(view.state).style, - setBlockStyle: (style, language) => applyBlockStyle(view, style, language), + getBlockStyle: () => tableFormattingTargets.has(view) ? 'table' : stylingContext(view.state).style, + setBlockStyle: (style, language) => { + if (tableFormattingTargets.has(view)) { + if (style !== 'code') return false + const target = prepareTableFormatting(view) + if (!target) return false + toggleInlineMark('`')(view) + restoreTableFormatting(view, target) + return true + } + return applyBlockStyle(view, style, language) + }, getListStyle: () => { + if (tableFormattingTargets.has(view)) return 'none' const styles = editableListLines(view.state).map(line => listPrefix(line.text).style) if (!styles.length) return 'none' return styles.every(style => style === styles[0]) ? styles[0] : 'mixed' }, - setListStyle: style => applyListStyle(view, style), + setListStyle: style => !tableFormattingTargets.has(view) && applyListStyle(view, style), getLinkSelection: (expandLink = false) => { + prepareTableFormatting(view) const { from, to } = view.state.selection.main const link = enclosingNode(view.state, from, ['Link']) if (expandLink && link && to <= link.to) { @@ -2864,12 +3045,16 @@ window.MDEditor = { const label = (String(text) || destination).replace(/\\/g, '\\\\').replace(/([\[\]])/g, '\\$1').replace(/[\r\n]+/g, ' ') const target = destination.replace(/[\s<>\\()]/g, character => /[()]/.test(character) ? '%' + character.charCodeAt(0).toString(16).toUpperCase() : encodeURIComponent(character)) - const insert = `[${label}](${target})` + const tableTarget = tableFormattingTargets.get(view) + const linkMarkdown = `[${label}](${target})` + const insert = tableTarget ? escapedTableCell(linkMarkdown) : linkMarkdown view.dispatch({ changes: { from, to, insert }, selection: { anchor: from + insert.length }, userEvent: 'input' }) - view.focus() + if (tableTarget) restoreTableFormatting(view, tableTarget) + else view.focus() return true }, getHeadingLevel: () => { + if (tableFormattingTargets.has(view)) return 0 for (let node = syntaxTree(view.state).resolveInner(view.state.selection.main.head, 1); node; node = node.parent) { const heading = /^(?:ATX|Setext)Heading([1-6])$/.exec(node.name) if (heading) return Number(heading[1]) @@ -2996,10 +3181,10 @@ window.MDEditor = { }), // Used by hosts that map an external pointer target into the source. // Mark it as a pointer selection so fenced blocks enter source mode. - select: (anchor, head = anchor) => view.dispatch({ - selection: { anchor, head }, - userEvent: "select.pointer", - }), + select: (anchor, head = anchor) => { + tableFormattingTargets.delete(view) + view.dispatch({ selection: { anchor, head }, userEvent: "select.pointer" }) + }, insert: (text) => { const range = view.state.selection.main const handled = view.state.facet(EditorView.inputHandler) @@ -3013,7 +3198,18 @@ window.MDEditor = { }, exec: (name) => { const command = commands[name] - if (command) { command(view); view.focus() } + if (!command) return false + if (tableFormattingTargets.has(view)) { + if (!tableInlineCommands.has(name)) return false + const target = prepareTableFormatting(view) + if (!target) return false + command(view) + restoreTableFormatting(view, target) + return true + } + command(view) + view.focus() + return true }, performTableContextAction: (token, action) => { if (!pendingTableContextAction || pendingTableContextAction.token !== token) return false diff --git a/scripts/editor-bundle/smoke-test.mjs b/scripts/editor-bundle/smoke-test.mjs index e7d877f6..15d3b486 100644 --- a/scripts/editor-bundle/smoke-test.mjs +++ b/scripts/editor-bundle/smoke-test.mjs @@ -1105,10 +1105,8 @@ const selectedBottomRight = dragTableHost.querySelector( ) check("dragging across rows and columns selects the anchor-to-head rectangle", dragSelectedWidget?.querySelectorAll(".is-table-part-selected").length === 4 - && selectedTopLeft?.classList.contains("is-table-selection-top") - && selectedTopLeft?.classList.contains("is-table-selection-left") - && selectedBottomRight?.classList.contains("is-table-selection-bottom") - && selectedBottomRight?.classList.contains("is-table-selection-right")) + && selectedTopLeft?.classList.contains("is-table-part-selected") + && selectedBottomRight?.classList.contains("is-table-part-selected")) check("cell-range selection persists after pointer release without native text selection", dragSelectedWidget?.classList.contains("is-table-range-selected") && dom.window.getSelection()?.rangeCount === 0) @@ -1119,7 +1117,7 @@ dragSelectedWidget?.dispatchEvent(new dom.window.KeyboardEvent("keydown", { })) check("Escape clears a dragged cell range", dragSelectedWidget?.querySelectorAll(".is-table-part-selected").length === 0) -dragStartCell?.dispatchEvent(new dom.window.MouseEvent("mousedown", { +const nativeCellClickAllowed = dragStartCell?.dispatchEvent(new dom.window.MouseEvent("mousedown", { button: 0, buttons: 1, clientX: 100, @@ -1139,9 +1137,8 @@ dragStartCell?.dispatchEvent(new dom.window.MouseEvent("click", { bubbles: true, cancelable: true, })) -check("an ordinary cell click still restores the editing caret", - dom.window.getSelection()?.rangeCount === 1 - && dragStartCell?.contains(dom.window.getSelection()?.anchorNode)) +check("an ordinary cell click allows native caret placement and selection", + nativeCellClickAllowed === true) const dragHeaderCell = dragTableHost.querySelector( '[data-table-row="0"][data-table-column="1"]' ) diff --git a/tests/swift-tests/Tests/MarkdownHelpersTests/EditorFormattingTests.swift b/tests/swift-tests/Tests/MarkdownHelpersTests/EditorFormattingTests.swift index e9ff7ed1..2a49b92d 100644 --- a/tests/swift-tests/Tests/MarkdownHelpersTests/EditorFormattingTests.swift +++ b/tests/swift-tests/Tests/MarkdownHelpersTests/EditorFormattingTests.swift @@ -4,6 +4,191 @@ import XCTest @MainActor final class EditorFormattingTests: XCTestCase { + func testTableClickAnchorsBeforeRevealingSyntax() async throws { + let script = try TestVendor.script("md-preview/Vendor/CodeMirror/mdedit.min.js") + for cell in ["**target words**", "*target words*", "~~target words~~", + "`target words`", "`` target words ``", "==target words==", + "[target words](https://example.com)", "**before *target words***"] { + for drag in [false, true] { + let source = "| Name |\n| --- |\n| \(cell) |" + let editor = WebViewLayoutHarness( + html: EditorHTML.render(markdown: source, editorJavaScript: script), + width: 500, isEditor: true, height: 400) + defer { editor.close() } + _ = try await editor.layout(texts: [], imageCount: 0) + let result = try await editor.webView.callAsyncJavaScript(""" + const cell = document.querySelector('[data-table-row="1"][data-table-column="0"]'); + const walker = document.createTreeWalker(cell, NodeFilter.SHOW_TEXT); + while (walker.nextNode()) { + if (walker.currentNode.textContent.includes('target')) break; + } + const node = walker.currentNode; + const start = node.textContent.indexOf('target') + 2; + const range = document.createRange(); + range.setStart(node, start); range.setEnd(node, start + 1); + const rect = range.getBoundingClientRect(); + const x = rect.x + rect.width * 0.25, y = rect.y + rect.height / 2; + const hit = document.caretRangeFromPoint(x, y); + const expected = sourceCell.indexOf('target') + hit.startOffset - node.textContent.indexOf('target'); + const mouse = (type, target, dx = 0) => target.dispatchEvent(new MouseEvent(type, + {bubbles: true, cancelable: true, button: 0, buttons: type === 'mouseup' ? 0 : 1, + detail: 1, clientX: x + dx, clientY: y, view: window})); + mouse('mousedown', document.elementFromPoint(x, y)); + const selection = window.getSelection(); + const anchor = selection.anchorOffset; + mouse('mousemove', document, drag ? 65 : 0.1); + mouse('mouseup', document, drag ? 65 : 0.1); + return {expected, anchor, finalAnchor: selection.anchorOffset, + collapsed: selection.isCollapsed, text: cell.textContent, + source: window.__mdEditor.getMarkdown()}; + """, arguments: ["sourceCell": cell, "drag": drag], in: nil, contentWorld: .page) + let values = try XCTUnwrap(result as? [String: Any]) + XCTAssertEqual(values["anchor"] as? Int, values["expected"] as? Int, cell) + XCTAssertEqual(values["finalAnchor"] as? Int, values["expected"] as? Int, cell) + XCTAssertEqual(values["collapsed"] as? Bool, !drag, cell) + XCTAssertEqual(values["text"] as? String, cell) + XCTAssertEqual(values["source"] as? String, source) + } + } + } + + func testTablePointerSelectionKeepsNativeTextRangeAndFormattingTarget() async throws { + let script = try TestVendor.script("md-preview/Vendor/CodeMirror/mdedit.min.js") + let editor = WebViewLayoutHarness( + html: EditorHTML.render(markdown: "Before\n\n| Name | Status |\n| --- | --- |\n| Ada Lovelace | Ready |", editorJavaScript: script), + width: 650, isEditor: true, height: 400) + defer { editor.close() } + _ = try await editor.layout(texts: [], imageCount: 0) + let result = try await editor.webView.evaluateJavaScript(""" + (() => { + const cell = document.querySelector('[data-table-row="1"][data-table-column="0"]'); + const down = new MouseEvent('mousedown', { button: 0, buttons: 1, bubbles: true, cancelable: true }); + cell.dispatchEvent(down); + const sourceFocused = document.activeElement === cell && !down.defaultPrevented; + // Model WebKit's native drag selection between down and up. + // The table handlers must not collapse or prevent this range. + window.getSelection().setBaseAndExtent(cell.firstChild, 0, cell.firstChild, 3); + const up = new MouseEvent('mouseup', { button: 0, bubbles: true, cancelable: true }); + cell.dispatchEvent(up); + const click = new MouseEvent('click', { button: 0, bubbles: true, cancelable: true }); + cell.dispatchEvent(click); + const retained = window.getSelection().toString() === 'Ada' + && !up.defaultPrevented && !click.defaultPrevented; + const doubleDown = new MouseEvent('mousedown', { button: 0, detail: 2, bubbles: true, cancelable: true }); + cell.dispatchEvent(doubleDown); + const doubleAllowed = !doubleDown.defaultPrevented; + cell.dispatchEvent(new MouseEvent('mouseup', { button: 0, bubbles: true })); + window.__mdEditor.exec('bold'); + return sourceFocused && retained && doubleAllowed + && window.__mdEditor.getMarkdown().includes('**Ada** Lovelace') + && window.__mdEditor.getMarkdown().startsWith('Before\\n\\n'); + })() + """) + XCTAssertEqual(result as? Bool, true) + } + + func testFormattingToolbarTargetsTableCellSelectionAfterBlur() async throws { + let script = try TestVendor.script("md-preview/Vendor/CodeMirror/mdedit.min.js") + for (command, marker) in [("bold", "**"), ("italic", "*"), ("strikethrough", "~~"), ("highlight", "=="), ("code", "`")] { + let markdown = "Unrelated paragraph\n\n| Name | Status |\n| --- | --- |\n| Ada Lovelace | Ready |\n\nAfter table" + let editor = WebViewLayoutHarness(html: EditorHTML.render(markdown: markdown, editorJavaScript: script), + width: 650, isEditor: true, height: 400) + defer { editor.close() } + _ = try await editor.layout(texts: [], imageCount: 0) + let result = try await editor.webView.callAsyncJavaScript(""" + const api = window.__mdEditor; + const cell = document.querySelector('[data-table-row="1"][data-table-column="0"]'); + cell.focus(); + window.getSelection().setBaseAndExtent(cell.firstChild, 0, cell.firstChild, 3); + document.dispatchEvent(new Event('selectionchange')); + // Native toolbar focus must not redirect the action to the paragraph. + cell.blur(); + api.exec(command); + let current = document.querySelector('[data-table-row="1"][data-table-column="0"]'); + const applied = current.textContent === marker + 'Ada' + marker + ' Lovelace' + && document.activeElement === current && window.getSelection().toString() === 'Ada'; + api.exec(command); + current = document.querySelector('[data-table-row="1"][data-table-column="0"]'); + const toggledOff = current.textContent === 'Ada Lovelace'; + const beforeBlock = api.getMarkdown(); + api.exec('h2'); + api.setListStyle('bullet'); + return applied && toggledOff && api.getMarkdown() === beforeBlock + && api.getMarkdown().startsWith('Unrelated paragraph\\n\\n') + && api.getMarkdown().endsWith('\\n\\nAfter table') + && document.querySelector('[data-table-row="1"][data-table-column="1"]').textContent === 'Ready'; + """, arguments: ["command": command, "marker": marker], in: nil, contentWorld: .page) + XCTAssertEqual(result as? Bool, true, command) + } + } + + func testTableLinkPopoverAndKeyboardFormattingPreservePendingTyping() async throws { + let script = try TestVendor.script("md-preview/Vendor/CodeMirror/mdedit.min.js") + let markdown = "Before\n\n| Name |\n| --- |\n| Ada |" + let editor = WebViewLayoutHarness(html: EditorHTML.render(markdown: markdown, editorJavaScript: script), + width: 650, isEditor: true, height: 400) + defer { editor.close() } + _ = try await editor.layout(texts: [], imageCount: 0) + let result = try await editor.webView.evaluateJavaScript(""" + (() => { + const api = window.__mdEditor; + let cell = document.querySelector('[data-table-row="1"]'); + cell.focus(); + cell.textContent = 'New Ada'; + window.getSelection().setBaseAndExtent(cell.firstChild, 4, cell.firstChild, 7); + const selected = api.getLinkSelection(true); + const correctLabel = selected.text === 'Ada'; + const linked = api.insertLinkFromPopover(selected.text, 'https://example.com', selected.from, selected.to); + cell = document.querySelector('[data-table-row="1"]'); + const linkSource = cell.textContent === 'New [Ada](https://example.com)'; + window.getSelection().setBaseAndExtent(cell.firstChild, 0, cell.firstChild, 3); + cell.dispatchEvent(new KeyboardEvent('keydown', { key: 'b', metaKey: true, bubbles: true, cancelable: true })); + cell = document.querySelector('[data-table-row="1"]'); + const keyboard = cell.textContent === '**New** [Ada](https://example.com)'; + cell.blur(); + return correctLabel && linked && linkSource && keyboard + && api.getMarkdown().startsWith('Before\\n\\n') + && api.getMarkdown().includes('**New** [Ada](https://example.com)'); + })() + """) + XCTAssertEqual(result as? Bool, true) + } + + func testTableFormattingMapsPendingPipesWhitespaceUnicodeAndEmptyCells() async throws { + let script = try TestVendor.script("md-preview/Vendor/CodeMirror/mdedit.min.js") + for (text, start, end, expected) in [ + ("left | Ada", 7, 10, "left \\| **Ada**"), + (" Ada ", 2, 5, "**Ada**"), + ("🙂 Ada", 3, 6, "🙂 **Ada**"), + ("", 0, 0, "****") + ] { + let editor = WebViewLayoutHarness( + html: EditorHTML.render(markdown: "Before\n\n| First | Second |\n| --- | --- |\n| Same | Same |\n| Same | |", editorJavaScript: script), + width: 650, isEditor: true, height: 400) + defer { editor.close() } + _ = try await editor.layout(texts: [], imageCount: 0) + let result = try await editor.webView.callAsyncJavaScript(""" + const api = window.__mdEditor; + const selector = '[data-table-row="2"][data-table-column="1"]'; + const cell = document.querySelector(selector); + cell.focus(); + cell.replaceChildren(document.createTextNode(text)); + window.getSelection().setBaseAndExtent(cell.firstChild, start, cell.firstChild, end); + api.exec('bold'); + const value = document.querySelector(selector).textContent; + const neighbor = document.querySelector('[data-table-row="2"][data-table-column="0"]').textContent; + api.select(0, 6); + api.exec('italic'); + return JSON.stringify({ value, neighbor, outside: api.getMarkdown().startsWith('*Before*\\n\\n') }); + """, arguments: ["text": text, "start": start, "end": end], in: nil, contentWorld: .page) + let json = try XCTUnwrap(result as? String) + let values = try XCTUnwrap(JSONSerialization.jsonObject(with: Data(json.utf8)) as? [String: Any]) + XCTAssertEqual(values["value"] as? String, expected, json) + XCTAssertEqual(values["neighbor"] as? String, "Same", json) + XCTAssertEqual(values["outside"] as? Bool, true, json) + } + } + func testLinkPopoverRejectsPartialOverlapAtEitherSelectionEdge() async throws { let script = try TestVendor.script("md-preview/Vendor/CodeMirror/mdedit.min.js") let source = "Before [hello](https://example.com) after" diff --git a/tests/swift-tests/Tests/MarkdownHelpersTests/EditorScrollAnchorTests.swift b/tests/swift-tests/Tests/MarkdownHelpersTests/EditorScrollAnchorTests.swift index 109c2721..1a8e702d 100644 --- a/tests/swift-tests/Tests/MarkdownHelpersTests/EditorScrollAnchorTests.swift +++ b/tests/swift-tests/Tests/MarkdownHelpersTests/EditorScrollAnchorTests.swift @@ -55,19 +55,15 @@ final class EditorScrollAnchorTests: XCTestCase { const expected = document.createElement('span'); expected.style.background = 'color-mix(in srgb, var(--link) 8%, transparent)'; document.body.append(expected); - const focusMatches = getComputedStyle(cell).outlineColor === accent - && getComputedStyle(cell).backgroundColor === getComputedStyle(expected).backgroundColor; + const focusMatches = !isEditor || (getComputedStyle(cell).outlineStyle === 'none' + && getComputedStyle(cell).backgroundColor === getComputedStyle(expected).backgroundColor); focusStyle.remove(); cell.classList.remove('theme-focus-probe'); cell.classList.remove('is-editing'); - cell.classList.add('is-table-part-selected', 'is-table-selection-top', - 'is-table-selection-right', 'is-table-selection-bottom', 'is-table-selection-left'); - expected.style.background = 'color-mix(in srgb, var(--link) 14%, Canvas)'; - expected.style.boxShadow = [ - 'inset 0 1px', 'inset -1px 0', 'inset 0 -1px', 'inset 1px 0' - ].map(edge => edge + ' color-mix(in srgb, var(--link) 52%, transparent)').join(','); - const selectionMatches = getComputedStyle(cell).backgroundColor === getComputedStyle(expected).backgroundColor - && getComputedStyle(cell).boxShadow === getComputedStyle(expected).boxShadow; + cell.classList.add('is-table-part-selected'); + expected.style.background = 'color-mix(in srgb, var(--link) 16%, transparent)'; + const selectionMatches = !isEditor || (getComputedStyle(cell).backgroundColor === getComputedStyle(expected).backgroundColor + && getComputedStyle(cell).boxShadow === 'none'); let checkboxMatches = true; if (!isEditor) { const checkbox = document.createElement('input'); @@ -573,6 +569,54 @@ final class EditorScrollAnchorTests: XCTestCase { XCTAssertEqual(result as? Bool, true) } + func testTableInlineFormattingOnlyShowsSourceInFocusedCell() async throws { + let script = try TestVendor.script("md-preview/Vendor/CodeMirror/mdedit.min.js") + let source = "**bold _nested_** and *italic* ~~old~~ ==marked== [**label**](https://example.com) `code`" + let markdown = "| Value | Other |\n| --- | --- |\n| \(source) | **neighbor** |" + let editor = WebViewLayoutHarness( + html: EditorHTML.render(markdown: markdown, editorJavaScript: script), + width: 900, isEditor: true, height: 400) + defer { editor.close() } + _ = try await editor.layout(texts: [], imageCount: 0) + let result = try await editor.webView.callAsyncJavaScript(""" + const cell = document.querySelector('[data-table-row="1"][data-table-column="0"]'); + const neighbor = document.querySelector('[data-table-row="1"][data-table-column="1"]'); + const before = window.__mdEditor.getMarkdown(); + const rendered = () => cell.textContent === 'bold nested and italic old marked label code' + && cell.querySelector('.cm-md-strong .cm-md-emphasis')?.textContent === 'nested' + && cell.querySelector('.cm-md-strikethrough')?.textContent === 'old' + && cell.querySelector('.cm-md-highlight')?.textContent === 'marked' + && cell.querySelector('.cm-md-link .cm-md-strong')?.textContent === 'label' + && cell.querySelector('code')?.textContent === 'code'; + const initiallyRendered = rendered(); + cell.focus(); + const exactSource = cell.textContent === source && !cell.querySelector('span, code'); + const neighborRendered = neighbor.textContent === 'neighbor'; + cell.blur(); + const restored = rendered() && window.__mdEditor.getMarkdown() === before; + cell.focus(); + cell.textContent = '**replacement**'; + cell.dispatchEvent(new KeyboardEvent('keydown', { key: 'Escape', bubbles: true })); + return initiallyRendered && exactSource && neighborRendered && restored + && rendered() && window.__mdEditor.getMarkdown() === before; + """, arguments: ["source": source], in: nil, contentWorld: .page) + XCTAssertEqual(result as? Bool, true) + _ = try await editor.webView.evaluateJavaScript(""" + (() => { + const cell = document.querySelector('[data-table-row="1"][data-table-column="0"]'); + cell.focus(); + cell.textContent = '**saved**'; + cell.blur(); + return true; + })() + """) + let saved = try await editor.webView.evaluateJavaScript(""" + window.__mdEditor.getMarkdown().includes('**saved**') + && document.querySelector('[data-table-row="1"][data-table-column="0"] .cm-md-strong')?.textContent === 'saved' + """) + XCTAssertEqual(saved as? Bool, true) + } + func testTopClearanceIsNonEditingAndScrollsAwayWithDocument() async throws { let script = try TestVendor.script("md-preview/Vendor/CodeMirror/mdedit.min.js") let markdown = String(repeating: "Editable text under the floating controls.\n\n", count: 80) diff --git a/tests/swift-tests/Tests/MarkdownHelpersTests/MarkdownHTMLRenderTests.swift b/tests/swift-tests/Tests/MarkdownHelpersTests/MarkdownHTMLRenderTests.swift index cf0f43a4..70074f92 100644 --- a/tests/swift-tests/Tests/MarkdownHelpersTests/MarkdownHTMLRenderTests.swift +++ b/tests/swift-tests/Tests/MarkdownHelpersTests/MarkdownHTMLRenderTests.swift @@ -39,7 +39,6 @@ final class MarkdownHTMLRenderTests: XCTestCase { XCTAssertTrue(rendered.articleHTML.contains("")) XCTAssertFalse(rendered.html.contains("kind: 'imageClick'")) - XCTAssertTrue(rendered.html.contains("a, button, input, img")) } func testYamlFrontmatterRendersAsTableBeforeDocumentBody() { @@ -2380,17 +2379,9 @@ final class MarkdownHTMLRenderTests: XCTestCase { XCTAssertTrue(rendered.articleHTML.contains( "10" ), rendered.articleHTML) - XCTAssertTrue(rendered.html.contains("function enableTableEditing(root = document)")) - XCTAssertFalse(rendered.html.contains("md-table-edge-action")) - XCTAssertTrue(rendered.html.contains("kind: 'tableContextMenu'")) - XCTAssertTrue(rendered.html.contains("cell.dataset.placeholder = placeholder")) - XCTAssertTrue(rendered.html.contains("function selectTablePart(cell, operation)")) - XCTAssertTrue(rendered.html.contains("event.key === 'Backspace' || event.key === 'Delete'")) - XCTAssertTrue(rendered.html.contains("selectTableRange(tableCellDrag.cell, cell)")) - XCTAssertTrue(rendered.html.contains("window.getSelection()?.removeAllRanges()")) - XCTAssertTrue(rendered.html.contains(".md-table-editor .is-table-selection-left")) - XCTAssertTrue(rendered.html.contains("cell.hasAttribute('data-table-markdown')")) - XCTAssertTrue(rendered.html.contains("cell.dataset.tableOriginal = cell.dataset.tableMarkdown || ''")) + XCTAssertFalse(rendered.html.contains("kind: 'tableEdit'")) + XCTAssertFalse(rendered.html.contains("kind: 'tableContextMenu'")) + XCTAssertFalse(rendered.html.contains("kind: 'taskCheckbox'")) } func testRenderedTableCellsRetainOriginalMarkdownForSourceAwareEditing() throws { diff --git a/tests/swift-tests/Tests/MarkdownHelpersTests/MdPreviewUpdateTests.swift b/tests/swift-tests/Tests/MarkdownHelpersTests/MdPreviewUpdateTests.swift index 389eac28..e34e5b2d 100644 --- a/tests/swift-tests/Tests/MarkdownHelpersTests/MdPreviewUpdateTests.swift +++ b/tests/swift-tests/Tests/MarkdownHelpersTests/MdPreviewUpdateTests.swift @@ -258,120 +258,86 @@ final class MdPreviewUpdateTests: XCTestCase { } @MainActor - func testTableHeaderPlaceholderAccessibilityUsesDelegatedUpdates() async throws { - let webView = try await loadHarness( - articleAttributes: "", - stubsWebKitMessageHandler: true - ) - let article = MarkdownHTML.render( - markdown: """ - | | Name | + func testReaderTablesAndTasksStayReadOnlyAcrossUpdates() async throws { + let webView = try await loadHarness(articleAttributes: "", stubsWebKitMessageHandler: true) + let article = MarkdownHTML.render(markdown: """ + | Name | Value | | --- | --- | - | First | Ada | - """, - vendorLoading: .lazy - ).articleHTML - let document = MarkdownHTML.javaScriptStringLiteral(article) + | **Ada** | [Link](https://example.com) | - // Instrument the WebKit APIs that caused the regression. Unlike a - // source-string assertion, these counters remain valid if functions - // or event-handler registration are reordered. - _ = try await webView.evaluateJavaScript(""" - (() => { - window.__tableHeaderInnerTextReads = 0; - window.__tableCellInputListenerRegistrations = 0; - - const innerText = Object.getOwnPropertyDescriptor( - HTMLElement.prototype, - 'innerText' - ); - if (!innerText || typeof innerText.get !== 'function') { - throw new Error('HTMLElement.innerText getter unavailable'); + - [ ] Pending + - [x] Done + """, vendorLoading: .lazy).articleHTML + let document = MarkdownHTML.javaScriptStringLiteral(article) + // Cover first population, morphdom, and the innerHTML fallback. + for path in ["initial", "morph", "fallback"] { + if path == "fallback" { + _ = try await webView.evaluateJavaScript("window.morphdom = undefined; true") } - const patchedInnerText = { - configurable: innerText.configurable, - enumerable: innerText.enumerable, - get() { - if (this.matches?.('th[data-table-column]')) { - window.__tableHeaderInnerTextReads += 1; - } - return innerText.get.call(this); - } - }; - if (innerText.set) { - patchedInnerText.set = function (value) { - return innerText.set.call(this, value); - }; + _ = try await webView.evaluateJavaScript("window.MdPreview.update(\(document)); true") + let result = try await webView.evaluateJavaScript(""" + (() => { + window.__hostMessages = []; + const cell = document.querySelector('td'); + const table = cell.closest('table'); + const before = table.outerHTML; + const height = table.getBoundingClientRect().height; + cell.dispatchEvent(new MouseEvent('mousedown', { bubbles: true, button: 0 })); + cell.click(); + cell.dispatchEvent(new KeyboardEvent('keydown', { bubbles: true, key: 'x' })); + const context = new MouseEvent('contextmenu', { bubbles: true, cancelable: true }); + cell.dispatchEvent(context); + const paste = new Event('paste', { bubbles: true, cancelable: true }); + cell.dispatchEvent(paste); + const checkboxes = [...document.querySelectorAll('.task-list-item-checkbox')]; + const checked = checkboxes.map(box => box.checked); + checkboxes.forEach(box => { + box.click(); + box.dispatchEvent(new Event('change', { bubbles: true })); + }); + const range = document.createRange(); + range.selectNodeContents(cell); + const selection = window.getSelection(); + selection.removeAllRanges(); + selection.addRange(range); + const selectedText = selection.toString(); + const copied = {}; + const copy = new Event('copy', { bubbles: true, cancelable: true }); + Object.defineProperty(copy, 'clipboardData', { + value: { setData(type, value) { copied[type] = value; } } + }); + cell.dispatchEvent(copy); + return JSON.stringify({ + unchanged: table.outerHTML === before, + stableHeight: table.getBoundingClientRect().height === height, + editable: !!document.querySelector('[contenteditable="plaintext-only"], [contenteditable="true"]'), + editorCount: document.querySelectorAll('.md-table-editor').length, + disabled: checkboxes.length === 2 && checkboxes.every(box => box.disabled), + checkedUnchanged: checkboxes.every((box, i) => box.checked === checked[i]), + contextPrevented: context.defaultPrevented, + pastePrevented: paste.defaultPrevented, + selectedText, + copiedText: copied['text/plain'] || selectedText, + link: table.querySelector('a').getAttribute('href'), + mutations: window.__hostMessages.filter(message => + ['tableEdit', 'tableContextMenu', 'taskCheckbox'].includes(message.kind)).length + }); + })() + """) + let json = try XCTUnwrap(result as? String) + let state = try XCTUnwrap(JSONSerialization.jsonObject(with: Data(json.utf8)) as? [String: Any]) + for key in ["unchanged", "stableHeight", "disabled", "checkedUnchanged"] { + XCTAssertEqual(state[key] as? Bool, true, "\(path): \(key): \(json)") } - Object.defineProperty(HTMLElement.prototype, 'innerText', patchedInnerText); - - const addEventListener = EventTarget.prototype.addEventListener; - EventTarget.prototype.addEventListener = function (type, listener, options) { - if (type === 'input' && this instanceof HTMLTableCellElement) { - window.__tableCellInputListenerRegistrations += 1; - } - return addEventListener.call(this, type, listener, options); - }; - return true; - })() - """) - - // Exercise both the initial populate and the morph path. Table setup - // must stay idempotent and the delegated input handler must keep the - // placeholder's accessibility label in sync. - _ = try await webView.evaluateJavaScript( - "window.MdPreview.update(\(document)); true" - ) - _ = try await webView.evaluateJavaScript( - "window.MdPreview.update(\(document)); true" - ) - - let result = try await webView.evaluateJavaScript(""" - (() => { - const headers = document.querySelectorAll( - '.md-table-editor th[data-table-column]' - ); - const empty = headers[0]; - const named = headers[1]; - const initialEmptyLabel = empty.getAttribute('aria-label'); - const initialNamedLabel = named.getAttribute('aria-label'); - - empty.textContent = 'Renamed'; - empty.dispatchEvent(new Event('input', { bubbles: true })); - const renamedLabel = empty.getAttribute('aria-label'); - - empty.textContent = ''; - empty.dispatchEvent(new Event('input', { bubbles: true })); - const restoredLabel = empty.getAttribute('aria-label'); - - return JSON.stringify({ - editorCount: document.querySelectorAll('.md-table-editor').length, - scrollCount: document.querySelectorAll('.md-table-scroll').length, - headerCount: headers.length, - headerInnerTextReads: window.__tableHeaderInnerTextReads, - tableCellInputListenerRegistrations: - window.__tableCellInputListenerRegistrations, - placeholder: empty.dataset.placeholder || '', - initialEmptyLabel, - initialNamedLabel, - renamedLabel, - restoredLabel, - }); - })() - """) - let json = try XCTUnwrap(result as? String) - let state = try JSONDecoder().decode(TableHeaderPlaceholderState.self, from: Data(json.utf8)) - - XCTAssertEqual(state.editorCount, 1, json) - XCTAssertEqual(state.scrollCount, 1, json) - XCTAssertEqual(state.headerCount, 2, json) - XCTAssertEqual(state.headerInnerTextReads, 0, json) - XCTAssertEqual(state.tableCellInputListenerRegistrations, 0, json) - XCTAssertEqual(state.placeholder, "Column 1", json) - XCTAssertEqual(state.initialEmptyLabel, "Column 1", json) - XCTAssertNil(state.initialNamedLabel, json) - XCTAssertNil(state.renamedLabel, json) - XCTAssertEqual(state.restoredLabel, "Column 1", json) + for key in ["editable", "contextPrevented", "pastePrevented"] { + XCTAssertEqual(state[key] as? Bool, false, "\(path): \(key): \(json)") + } + XCTAssertEqual(state["editorCount"] as? Int, 0, json) + XCTAssertEqual(state["mutations"] as? Int, 0, json) + XCTAssertEqual(state["selectedText"] as? String, "Ada", json) + XCTAssertEqual(state["copiedText"] as? String, "Ada", json) + XCTAssertEqual(state["link"] as? String, "https://example.com", json) + } } /// Builds the harness page — bundled DOMPurify + morphdom, the shipped @@ -391,7 +357,7 @@ final class MdPreviewUpdateTests: XCTestCase { @@ -428,6 +394,7 @@ final class MdPreviewUpdateTests: XCTestCase { + \(webKitMessageHandlerStub) @@ -506,16 +473,3 @@ private struct WarmupArticleState: Decodable { case warmup, opacity, keyedBlocks, paragraphText } } - -private struct TableHeaderPlaceholderState: Decodable { - let editorCount: Int - let scrollCount: Int - let headerCount: Int - let headerInnerTextReads: Int - let tableCellInputListenerRegistrations: Int - let placeholder: String - let initialEmptyLabel: String? - let initialNamedLabel: String? - let renamedLabel: String? - let restoredLabel: String? -} From 1664d406edcbf94799694ae28b3e5524476e6fb9 Mon Sep 17 00:00:00 2001 From: Fauzaan Date: Mon, 28 Sep 2026 11:52:44 +0000 Subject: [PATCH 02/16] Render editable task checkboxes and exit empty task lists --- README.md | 2 +- md-preview/Features/Editor/EditorHTML.swift | 35 ++++++ md-preview/Vendor/CodeMirror/mdedit.min.js | 46 ++++---- scripts/editor-bundle/entry-cm.js | 72 +++++++++++- .../EditorFormattingTests.swift | 103 ++++++++++++++++++ 5 files changed, 229 insertions(+), 29 deletions(-) diff --git a/README.md b/README.md index fcf7a1b4..9d99ed37 100644 --- a/README.md +++ b/README.md @@ -70,7 +70,7 @@ Or grab the latest signed and notarized DMG from the [Releases](https://github.c - **Native rendering** — `WKWebView` pipeline backed by [swift-markdown](https://github.com/swiftlang/swift-markdown), with heading anchors and link handling. Bare `http://` and `https://` URLs are clickable in the app and Quick Look previews. - **Read Mode** — select and copy text, follow links, and browse tables without changing the document. Switch to Edit Mode to edit tables or toggle task checkboxes. -- **Edit Mode** — edit Markdown in place with a formatting toolbar for headings, emphasis, lists, quotes, code, and links. Table cells show inline formatting until focused, then reveal their Markdown syntax for editing. Toggle it from the toolbar or with ⌘E, then save with ⌘S. +- **Edit Mode** — edit Markdown in place with a formatting toolbar for headings, emphasis, lists, quotes, code, and links. Table cells show inline formatting until focused, then reveal their Markdown syntax for editing. Task markers become checkboxes as you type; Enter continues a task list, and Enter on an empty task exits it. Toggle it from the toolbar or with ⌘E, then save with ⌘S. - **Mermaid diagrams** — fenced `mermaid` code blocks render as diagrams in both the app and Quick Look previews, using a bundled renderer so previews work offline without a CDN request. - **Math equations** — LaTeX inline (`$x_1 + x_2$`), display (`$$\int_0^1 x^2\,dx$$`), and fenced `math` blocks render with a bundled KaTeX. Selecting a rendered formula and copying yields the original LaTeX source (via the official `copy-tex` extension). - **Document outline** — sidebar TOC that mirrors your headings; click to jump. diff --git a/md-preview/Features/Editor/EditorHTML.swift b/md-preview/Features/Editor/EditorHTML.swift index e5c3365d..77c700ca 100644 --- a/md-preview/Features/Editor/EditorHTML.swift +++ b/md-preview/Features/Editor/EditorHTML.swift @@ -283,6 +283,41 @@ nonisolated enum EditorHTML { padding-inline-start: 2.1em; text-indent: -2.1em; } + .cm-md-task-marker { + display: inline-block; + width: 2.1em; + text-indent: 0; + text-align: end; + padding-inline-end: 0.6em; + box-sizing: border-box; + } + .cm-md-task-marker input { + appearance: none; + -webkit-appearance: none; + font: inherit; + width: 0.9em; + height: 0.9em; + margin: 0; + vertical-align: calc(0.5cap - 0.45em); + border: 1.5px solid var(--grid); + border-radius: 25%; + background: transparent; + position: relative; + cursor: pointer; + } + .cm-md-task-marker input:checked { + border-color: var(--accent); + background: var(--accent); + } + .cm-md-task-marker input:checked::after { + content: ""; + position: absolute; + inset: 0; + background-image: url('data:image/svg+xml;utf8,'); + background-repeat: no-repeat; + background-position: center; + background-size: 100% 100%; + } .cm-md-bullet { display: inline-block; width: 2.1em; diff --git a/md-preview/Vendor/CodeMirror/mdedit.min.js b/md-preview/Vendor/CodeMirror/mdedit.min.js index eff5bbfa..338a342f 100644 --- a/md-preview/Vendor/CodeMirror/mdedit.min.js +++ b/md-preview/Vendor/CodeMirror/mdedit.min.js @@ -1,20 +1,20 @@ -(()=>{var qo=[],Ih=[];(()=>{let i="lc,34,7n,7,7b,19,,,,2,,2,,,20,b,1c,l,g,,2t,7,2,6,2,2,,4,z,,u,r,2j,b,1m,9,9,,o,4,,9,,3,,5,17,3,3b,f,,w,1j,,,,4,8,4,,3,7,a,2,t,,1m,,,,2,4,8,,9,,a,2,q,,2,2,1l,,4,2,4,2,2,3,3,,u,2,3,,b,2,1l,,4,5,,2,4,,k,2,m,6,,,1m,,,2,,4,8,,7,3,a,2,u,,1n,,,,c,,9,,14,,3,,1l,3,5,3,,4,7,2,b,2,t,,1m,,2,,2,,3,,5,2,7,2,b,2,s,2,1l,2,,,2,4,8,,9,,a,2,t,,20,,4,,2,3,,,8,,29,,2,7,c,8,2q,,2,9,b,6,22,2,r,,,,,,1j,e,,5,,2,5,b,,10,9,,2u,4,,6,,2,2,2,p,2,4,3,g,4,d,,2,2,6,,f,,jj,3,qa,3,t,3,t,2,u,2,1s,2,,7,8,,2,b,9,,19,3,3b,2,y,,3a,3,4,2,9,,6,3,63,2,2,,1m,,,7,,,,,2,8,6,a,2,,1c,h,1r,4,1c,7,,,5,,14,9,c,2,w,4,2,2,,3,1k,,,2,3,,,3,1m,8,2,2,48,3,,d,,7,4,,6,,3,2,5i,1m,,5,ek,,5f,x,2da,3,3x,,2o,w,fe,6,2x,2,n9w,4,,a,w,2,28,2,7k,,3,,4,,p,2,5,,47,2,q,i,d,,12,8,p,b,1a,3,1c,,2,4,2,2,13,,1v,6,2,2,2,2,c,,8,,1b,,1f,,,3,2,2,5,2,,,16,2,8,,6m,,2,,4,,fn4,,kh,g,g,g,a6,2,gt,,6a,,45,5,1ae,3,,2,5,4,14,3,4,,4l,2,fx,4,ar,2,49,b,4w,,1i,f,1k,3,1d,4,2,2,1x,3,10,5,,8,1q,,c,2,1g,9,a,4,2,,2n,3,2,,,2,6,,4g,,3,8,l,2,1l,2,,,,,m,,e,7,3,5,5f,8,2,3,,,n,,29,,2,6,,,2,,,2,,2,6j,,2,4,6,2,,2,r,2,2d,8,2,,,2,2y,,,,2,6,,,2t,3,2,4,,5,77,9,,2,6t,,a,2,,,4,,40,4,2,2,4,,w,a,14,6,2,4,8,,9,6,2,3,1a,d,,2,ba,7,,6,,,2a,m,2,7,,2,,2,3e,6,3,,,2,,7,,,20,2,3,,,,9n,2,f0b,5,1n,7,t4,,1r,4,29,,f5k,2,43q,,,3,4,5,8,8,2,7,u,4,44,3,1iz,1j,4,1e,8,,e,,m,5,,f,11s,7,,h,2,7,,2,,5,79,7,c5,4,15s,7,31,7,240,5,gx7k,2o,3k,6o".split(",").map(e=>e?parseInt(e,36):1);for(let e=0,t=0;e>1;if(i=Ih[n])e=n+1;else return!0;if(e==t)return!1}}function Vh(i){return i>=127462&&i<=127487}var Dh=8205;function Bh(i,e,t=!0,n=!0){return(t?Uh:i0)(i,e,n)}function Uh(i,e,t){if(e==i.length)return e;e&&Gh(i.charCodeAt(e))&&Nh(i.charCodeAt(e-1))&&e--;let n=Zo(i,e);for(e+=Yh(n);e=0&&Vh(Zo(i,o));)s++,o-=2;if(s%2==0)break;e+=2}else break}return e}function i0(i,e,t){for(;e>1;){let n=Uh(i,e-2,t);if(n=56320&&i<57344}function Nh(i){return i>=55296&&i<56320}function Yh(i){return i<65536?1:2}var H=class i{lineAt(e){if(e<0||e>this.length)throw new RangeError(`Invalid position ${e} in document of length ${this.length}`);return this.lineInner(e,!1,1,0)}line(e){if(e<1||e>this.lines)throw new RangeError(`Invalid line number ${e} in ${this.lines}-line document`);return this.lineInner(e,!0,1,0)}replace(e,t,n){[e,t]=sn(this,e,t);let r=[];return this.decompose(0,e,r,2),n.length&&n.decompose(0,n.length,r,3),this.decompose(t,this.length,r,1),tn.from(r,this.length-(t-e)+n.length)}append(e){return this.replace(this.length,this.length,e)}slice(e,t=this.length){[e,t]=sn(this,e,t);let n=[];return this.decompose(e,t,n,0),tn.from(n,t-e)}eq(e){if(e==this)return!0;if(e.length!=this.length||e.lines!=this.lines)return!1;let t=this.scanIdentical(e,1),n=this.length-this.scanIdentical(e,-1),r=new $i(this),s=new $i(e);for(let o=t,a=t;;){if(r.next(o),s.next(o),o=0,r.lineBreak!=s.lineBreak||r.done!=s.done||r.value!=s.value)return!1;if(a+=r.value.length,r.done||a>=n)return!0}}iter(e=1){return new $i(this,e)}iterRange(e,t=this.length){return new Ir(this,e,t)}iterLines(e,t){let n;if(e==null)n=this.iter();else{t==null&&(t=this.lines+1);let r=this.line(e).from;n=this.iterRange(r,Math.max(r,t==this.lines+1?this.length:t<=1?0:this.line(t-1).to))}return new Br(n)}toString(){return this.sliceString(0)}toJSON(){let e=[];return this.flatten(e),e}constructor(){}static of(e){if(e.length==0)throw new RangeError("A document must have at least one line");return e.length==1&&!e[0]?i.empty:e.length<=32?new Ne(e):tn.from(Ne.split(e,[]))}},Ne=class i extends H{constructor(e,t=n0(e)){super(),this.text=e,this.length=t}get lines(){return this.text.length}get children(){return null}lineInner(e,t,n,r){for(let s=0;;s++){let o=this.text[s],a=r+o.length;if((t?n:a)>=e)return new zo(r,a,n,o);r=a+1,n++}}decompose(e,t,n,r){let s=e<=0&&t>=this.length?this:new i(Fh(this.text,e,t),Math.min(t,this.length)-Math.max(0,e));if(r&1){let o=n.pop(),a=Yr(s.text,o.text.slice(),0,s.length);if(a.length<=32)n.push(new i(a,o.length+s.length));else{let l=a.length>>1;n.push(new i(a.slice(0,l)),new i(a.slice(l)))}}else n.push(s)}replace(e,t,n){if(!(n instanceof i))return super.replace(e,t,n);[e,t]=sn(this,e,t);let r=Yr(this.text,Yr(n.text,Fh(this.text,0,e)),t),s=this.length+n.length-(t-e);return r.length<=32?new i(r,s):tn.from(i.split(r,[]),s)}sliceString(e,t=this.length,n=` -`){[e,t]=sn(this,e,t);let r="";for(let s=0,o=0;s<=t&&oe&&o&&(r+=n),es&&(r+=a.slice(Math.max(0,e-s),t-s)),s=l+1}return r}flatten(e){for(let t of this.text)e.push(t)}scanIdentical(){return 0}static split(e,t){let n=[],r=-1;for(let s of e)n.push(s),r+=s.length+1,n.length==32&&(t.push(new i(n,r)),n=[],r=-1);return r>-1&&t.push(new i(n,r)),t}},tn=class i extends H{constructor(e,t){super(),this.children=e,this.length=t,this.lines=0;for(let n of e)this.lines+=n.lines}lineInner(e,t,n,r){for(let s=0;;s++){let o=this.children[s],a=r+o.length,l=n+o.lines-1;if((t?l:a)>=e)return o.lineInner(e,t,n,r);r=a+1,n=l+1}}decompose(e,t,n,r){for(let s=0,o=0;o<=t&&s=o){let c=r&((o<=e?1:0)|(l>=t?2:0));o>=e&&l<=t&&!c?n.push(a):a.decompose(e-o,t-o,n,c)}o=l+1}}replace(e,t,n){if([e,t]=sn(this,e,t),n.lines=s&&t<=a){let l=o.replace(e-s,t-s,n),c=this.lines-o.lines+l.lines;if(l.lines>4&&l.lines>c>>6){let h=this.children.slice();return h[r]=l,new i(h,this.length-(t-e)+n.length)}return super.replace(s,a,l)}s=a+1}return super.replace(e,t,n)}sliceString(e,t=this.length,n=` -`){[e,t]=sn(this,e,t);let r="";for(let s=0,o=0;se&&s&&(r+=n),eo&&(r+=a.sliceString(e-o,t-o,n)),o=l+1}return r}flatten(e){for(let t of this.children)t.flatten(e)}scanIdentical(e,t){if(!(e instanceof i))return 0;let n=0,[r,s,o,a]=t>0?[0,0,this.children.length,e.children.length]:[this.children.length-1,e.children.length-1,-1,-1];for(;;r+=t,s+=t){if(r==o||s==a)return n;let l=this.children[r],c=e.children[s];if(l!=c)return n+l.scanIdentical(c,t);n+=l.length+1}}static from(e,t=e.reduce((n,r)=>n+r.length+1,-1)){let n=0;for(let O of e)n+=O.lines;if(n<32){let O=[];for(let p of e)p.flatten(O);return new Ne(O,t)}let r=Math.max(32,n>>5),s=r<<1,o=r>>1,a=[],l=0,c=-1,h=[];function f(O){let p;if(O.lines>s&&O instanceof i)for(let m of O.children)f(m);else O.lines>o&&(l>o||!l)?(u(),a.push(O)):O instanceof Ne&&l&&(p=h[h.length-1])instanceof Ne&&O.lines+p.lines<=32?(l+=O.lines,c+=O.length+1,h[h.length-1]=new Ne(p.text.concat(O.text),p.length+1+O.length)):(l+O.lines>r&&u(),l+=O.lines,c+=O.length+1,h.push(O))}function u(){l!=0&&(a.push(h.length==1?h[0]:i.from(h,c)),c=-1,l=h.length=0)}for(let O of e)f(O);return u(),a.length==1?a[0]:new i(a,t)}};H.empty=new Ne([""],0);function n0(i){let e=-1;for(let t of i)e+=t.length+1;return e}function Yr(i,e,t=0,n=1e9){for(let r=0,s=0,o=!0;s=t&&(l>n&&(a=a.slice(0,n-r)),r0?1:(e instanceof Ne?e.text.length:e.children.length)<<1]}nextInner(e,t){for(this.done=this.lineBreak=!1;;){let n=this.nodes.length-1,r=this.nodes[n],s=this.offsets[n],o=s>>1,a=r instanceof Ne?r.text.length:r.children.length;if(o==(t>0?a:0)){if(n==0)return this.done=!0,this.value="",this;t>0&&this.offsets[n-1]++,this.nodes.pop(),this.offsets.pop()}else if((s&1)==(t>0?0:1)){if(this.offsets[n]+=t,e==0)return this.lineBreak=!0,this.value=` -`,this;e--}else if(r instanceof Ne){let l=r.text[o+(t<0?-1:0)];if(this.offsets[n]+=t,l.length>Math.max(0,e))return this.value=e==0?l:t>0?l.slice(e):l.slice(0,l.length-e),this;e-=l.length}else{let l=r.children[o+(t<0?-1:0)];e>l.length?(e-=l.length,this.offsets[n]+=t):(t<0&&this.offsets[n]--,this.nodes.push(l),this.offsets.push(t>0?1:(l instanceof Ne?l.text.length:l.children.length)<<1))}}}next(e=0){return e<0&&(this.nextInner(-e,-this.dir),e=this.value.length),this.nextInner(e,this.dir)}},Ir=class{constructor(e,t,n){this.value="",this.done=!1,this.cursor=new $i(e,t>n?-1:1),this.pos=t>n?e.length:0,this.from=Math.min(t,n),this.to=Math.max(t,n)}nextInner(e,t){if(t<0?this.pos<=this.from:this.pos>=this.to)return this.value="",this.done=!0,this;e+=Math.max(0,t<0?this.pos-this.to:this.from-this.pos);let n=t<0?this.pos-this.from:this.to-this.pos;e>n&&(e=n),n-=e;let{value:r}=this.cursor.next(e);return this.pos+=(r.length+e)*t,this.value=r.length<=n?r:t<0?r.slice(r.length-n):r.slice(0,n),this.done=!this.value,this}next(e=0){return e<0?e=Math.max(e,this.from-this.pos):e>0&&(e=Math.min(e,this.to-this.pos)),this.nextInner(e,this.cursor.dir)}get lineBreak(){return this.cursor.lineBreak&&this.value!=""}},Br=class{constructor(e){this.inner=e,this.afterBreak=!0,this.value="",this.done=!1}next(e=0){let{done:t,lineBreak:n,value:r}=this.inner.next(e);return t&&this.afterBreak?(this.value="",this.afterBreak=!1):t?(this.done=!0,this.value=""):n?this.afterBreak?this.value="":(this.afterBreak=!0,this.next()):(this.value=r,this.afterBreak=!1),this}get lineBreak(){return!1}};typeof Symbol<"u"&&(H.prototype[Symbol.iterator]=function(){return this.iter()},$i.prototype[Symbol.iterator]=Ir.prototype[Symbol.iterator]=Br.prototype[Symbol.iterator]=function(){return this});var zo=class{constructor(e,t,n,r){this.from=e,this.to=t,this.number=n,this.text=r}get length(){return this.to-this.from}};function sn(i,e,t){return e=Math.max(0,Math.min(i.length,e)),[e,Math.max(e,Math.min(i.length,t))]}function ke(i,e,t=!0,n=!0){return Bh(i,e,t,n)}function r0(i){return i>=56320&&i<57344}function s0(i){return i>=55296&&i<56320}function ni(i,e){let t=i.charCodeAt(e);if(!s0(t)||e+1==i.length)return t;let n=i.charCodeAt(e+1);return r0(n)?(t-55296<<10)+(n-56320)+65536:t}function tf(i){return i<=65535?String.fromCharCode(i):(i-=65536,String.fromCharCode((i>>10)+55296,(i&1023)+56320))}function on(i){return i<65536?1:2}var Lo=/\r\n?|\n/,me=(function(i){return i[i.Simple=0]="Simple",i[i.TrackDel=1]="TrackDel",i[i.TrackBefore=2]="TrackBefore",i[i.TrackAfter=3]="TrackAfter",i})(me||(me={})),qt=class i{constructor(e){this.sections=e}get length(){let e=0;for(let t=0;te)return s+(e-r);s+=a}else{if(n!=me.Simple&&c>=e&&(n==me.TrackDel&&re||n==me.TrackBefore&&re))return null;if(c>e||c==e&&t<0&&!a)return e==r||t<0?s:s+l;s+=l}r=c}if(e>r)throw new RangeError(`Position ${e} is out of range for changeset of length ${r}`);return s}touchesRange(e,t=e){for(let n=0,r=0;n=0&&r<=t&&a>=e)return rt?"cover":!0;r=a}return!1}toString(){let e="";for(let t=0;t=0?":"+r:"")}return e}toJSON(){return this.sections}static fromJSON(e){if(!Array.isArray(e)||e.length%2||e.some(t=>typeof t!="number"))throw new RangeError("Invalid JSON representation of ChangeDesc");return new i(e)}static create(e){return new i(e)}},ze=class i extends qt{constructor(e,t){super(e),this.inserted=t}apply(e){if(this.length!=e.length)throw new RangeError("Applying change set to a document with the wrong length");return Mo(this,(t,n,r,s,o)=>e=e.replace(r,r+(n-t),o),!1),e}mapDesc(e,t=!1){return Wo(this,e,t,!0)}invert(e){let t=this.sections.slice(),n=[];for(let r=0,s=0;r=0){t[r]=a,t[r+1]=o;let l=r>>1;for(;n.length0&&ii(n,t,s.text),s.forward(h),a+=h}let c=e[o++];for(;a>1].toJSON()))}return e}static of(e,t,n){let r=[],s=[],o=0,a=null;function l(h=!1){if(!h&&!r.length)return;ou||f<0||u>t)throw new RangeError(`Invalid change range ${f} to ${u} (in doc of length ${t})`);let p=O?typeof O=="string"?H.of(O.split(n||Lo)):O:H.empty,m=p.length;if(f==u&&m==0)return;fo&&Xe(r,f-o,-1),Xe(r,u-f,m),ii(s,r,p),o=u}}return c(e),l(!a),a}static empty(e){return new i(e?[e,-1]:[],[])}static fromJSON(e){if(!Array.isArray(e))throw new RangeError("Invalid JSON representation of ChangeSet");let t=[],n=[];for(let r=0;ra&&typeof o!="string"))throw new RangeError("Invalid JSON representation of ChangeSet");if(s.length==1)t.push(s[0],0);else{for(;n.length=0&&t<=0&&t==i[r+1]?i[r]+=e:r>=0&&e==0&&i[r]==0?i[r+1]+=t:n?(i[r]+=e,i[r+1]+=t):i.push(e,t)}function ii(i,e,t){if(t.length==0)return;let n=e.length-2>>1;if(n>1])),!(t||o==i.sections.length||i.sections[o+1]<0);)a=i.sections[o++],l=i.sections[o++];e(r,c,s,h,f),r=c,s=h}}}function Wo(i,e,t,n=!1){let r=[],s=n?[]:null,o=new Ti(i),a=new Ti(e);for(let l=-1;;){if(o.done&&a.len||a.done&&o.len)throw new Error("Mismatched change set lengths");if(o.ins==-1&&a.ins==-1){let c=Math.min(o.len,a.len);Xe(r,c,-1),o.forward(c),a.forward(c)}else if(a.ins>=0&&(o.ins<0||l==o.i||o.off==0&&(a.len=0&&l=0){let c=0,h=o.len;for(;h;)if(a.ins==-1){let f=Math.min(h,a.len);c+=f,h-=f,a.forward(f)}else if(a.ins==0&&a.lenl||o.ins>=0&&o.len>l)&&(a||n.length>c),s.forward2(l),o.forward(l)}}}}var Ti=class{constructor(e){this.set=e,this.i=0,this.next()}next(){let{sections:e}=this.set;this.i>1;return t>=e.length?H.empty:e[t]}textBit(e){let{inserted:t}=this.set,n=this.i-2>>1;return n>=t.length&&!e?H.empty:t[n].slice(this.off,e==null?void 0:this.off+e)}forward(e){e==this.len?this.next():(this.len-=e,this.off+=e)}forward2(e){this.ins==-1?this.forward(e):e==this.ins?this.next():(this.ins-=e,this.off+=e)}},wi=class i{constructor(e,t,n,r){this.from=e,this.to=t,this.flags=n,this.goalColumn=r}get anchor(){return this.flags&32?this.to:this.from}get head(){return this.flags&32?this.from:this.to}get empty(){return this.from==this.to}get assoc(){return this.flags&8?-1:this.flags&16?1:0}get undirectional(){return(this.flags&64)>0}get bidiLevel(){let e=this.flags&7;return e==7?null:e}map(e,t=-1){let n,r;return this.empty?n=r=e.mapPos(this.from,t):(n=e.mapPos(this.from,1),r=e.mapPos(this.to,-1)),n==this.from&&r==this.to?this:new i(n,r,this.flags,this.goalColumn)}extend(e,t=e,n=0){if(e<=this.anchor&&t>=this.anchor)return v.range(e,t,void 0,void 0,n);let r=Math.abs(e-this.anchor)>Math.abs(t-this.anchor)?e:t;return v.range(this.anchor,r,void 0,void 0,n)}eq(e,t=!1){return this.anchor==e.anchor&&this.head==e.head&&this.goalColumn==e.goalColumn&&(!t||!this.empty||this.assoc==e.assoc)}toJSON(){return{anchor:this.anchor,head:this.head}}static fromJSON(e){if(!e||typeof e.anchor!="number"||typeof e.head!="number")throw new RangeError("Invalid JSON representation for SelectionRange");return v.range(e.anchor,e.head)}static create(e,t,n,r){return new i(e,t,n,r)}},v=class i{constructor(e,t){this.ranges=e,this.mainIndex=t}map(e,t=-1){return e.empty?this:i.create(this.ranges.map(n=>n.map(e,t)),this.mainIndex)}eq(e,t=!1){if(this.ranges.length!=e.ranges.length||this.mainIndex!=e.mainIndex)return!1;for(let n=0;ne.toJSON()),main:this.mainIndex}}static fromJSON(e){if(!e||!Array.isArray(e.ranges)||typeof e.main!="number"||e.main>=e.ranges.length)throw new RangeError("Invalid JSON representation for EditorSelection");return new i(e.ranges.map(t=>wi.fromJSON(t)),e.main)}static single(e,t=e){return new i([i.range(e,t)],0)}static create(e,t=0){if(e.length==0)throw new RangeError("A selection needs at least one range");for(let n=0,r=0;rr.from-s.from),t=e.indexOf(n);for(let r=1;rs.head?i.range(l,a):i.range(a,l))}}return new i(e,t)}};function rf(i,e){for(let t of i.ranges)if(t.to>e)throw new RangeError("Selection points outside of document")}var Fo=0,Y=class i{constructor(e,t,n,r,s){this.combine=e,this.compareInput=t,this.compare=n,this.isStatic=r,this.id=Fo++,this.default=e([]),this.extensions=typeof s=="function"?s(this):s}get reader(){return this}static define(e={}){return new i(e.combine||(t=>t),e.compareInput||((t,n)=>t===n),e.compare||(e.combine?(t,n)=>t===n:Ho),!!e.static,e.enables)}of(e){return new nn([],this,0,e)}compute(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new nn(e,this,1,t)}computeN(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new nn(e,this,2,t)}from(e,t){return t||(t=n=>n),this.compute([e],n=>t(n.field(e)))}};function Ho(i,e){return i==e||i.length==e.length&&i.every((t,n)=>t===e[n])}var nn=class{constructor(e,t,n,r){this.dependencies=e,this.facet=t,this.type=n,this.value=r,this.id=Fo++}dynamicSlot(e){var t;let n=this.value,r=this.facet.compareInput,s=this.id,o=e[s]>>1,a=this.type==2,l=!1,c=!1,h=[];for(let f of this.dependencies)f=="doc"?l=!0:f=="selection"?c=!0:(((t=e[f.id])!==null&&t!==void 0?t:1)&1)==0&&h.push(e[f.id]);return{create(f){return f.values[o]=n(f),1},update(f,u){if(l&&u.docChanged||c&&(u.docChanged||u.selection)||jo(f,h)){let O=n(f);if(a?!Hh(O,f.values[o],r):!r(O,f.values[o]))return f.values[o]=O,1}return 0},reconfigure:(f,u)=>{let O,p=u.config.address[s];if(p!=null){let m=Fr(u,p);if(this.dependencies.every(b=>b instanceof Y?u.facet(b)===f.facet(b):b instanceof he?u.field(b,!1)==f.field(b,!1):!0)||(a?Hh(O=n(f),m,r):r(O=n(f),m)))return f.values[o]=m,0}else O=n(f);return f.values[o]=O,1}}}get extension(){return this}};function Hh(i,e,t){if(i.length!=e.length)return!1;for(let n=0;ni[l.id]),r=t.map(l=>l.type),s=n.filter(l=>!(l&1)),o=i[e.id]>>1;function a(l){let c=[];for(let h=0;hn===r),e);return e.provide&&(t.provides=e.provide(t)),t}create(e){let t=e.facet(jr).find(n=>n.field==this);return(t?.create||this.createF)(e)}slot(e){let t=e[this.id]>>1;return{create:n=>(n.values[t]=this.create(n),1),update:(n,r)=>{let s=n.values[t],o=this.updateF(s,r);return this.compareF(s,o)?0:(n.values[t]=o,1)},reconfigure:(n,r)=>{let s=n.facet(jr),o=r.facet(jr),a;return(a=s.find(l=>l.field==this))&&a!=o.find(l=>l.field==this)?(n.values[t]=a.create(n),1):r.config.address[this.id]!=null?(n.values[t]=r.field(this),0):(n.values[t]=this.create(n),1)}}}init(e){return[this,jr.of({field:this,create:e})]}get extension(){return this}},Pi={lowest:4,low:3,default:2,high:1,highest:0};function Mn(i){return e=>new Ur(e,i)}var pt={highest:Mn(Pi.highest),high:Mn(Pi.high),default:Mn(Pi.default),low:Mn(Pi.low),lowest:Mn(Pi.lowest)},Ur=class{constructor(e,t){this.inner=e,this.prec=t}get extension(){return this}},Gr=class i{of(e){return new jn(this,e)}reconfigure(e){return i.reconfigure.of({compartment:this,extension:e})}get(e){return e.config.compartments.get(this)}},jn=class{constructor(e,t){this.compartment=e,this.inner=t}get extension(){return this}},Nr=class i{constructor(e,t,n,r,s,o){for(this.base=e,this.compartments=t,this.dynamicSlots=n,this.address=r,this.staticValues=s,this.facets=o,this.statusTemplate=[];this.statusTemplate.length>1]}static resolve(e,t,n){let r=[],s=Object.create(null),o=new Map;for(let u of a0(e,t,o))u instanceof he?r.push(u):(s[u.facet.id]||(s[u.facet.id]=[])).push(u);let a=Object.create(null),l=[],c=[];for(let u of r)a[u.id]=c.length<<1,c.push(O=>u.slot(O));let h=n?.config.facets;for(let u in s){let O=s[u],p=O[0].facet,m=h&&h[u]||[];if(O.every(b=>b.type==0))if(a[p.id]=l.length<<1|1,Ho(m,O))l.push(n.facet(p));else{let b=p.combine(O.map(g=>g.value));l.push(n&&p.compare(b,n.facet(p))?n.facet(p):b)}else{for(let b of O)b.type==0?(a[b.id]=l.length<<1|1,l.push(b.value)):(a[b.id]=c.length<<1,c.push(g=>b.dynamicSlot(g)));a[p.id]=c.length<<1,c.push(b=>o0(b,p,O))}}let f=c.map(u=>u(a));return new i(e,o,f,a,l,s)}};function a0(i,e,t){let n=[[],[],[],[],[]],r=new Map;function s(o,a){let l=r.get(o);if(l!=null){if(l<=a)return;let c=n[l].indexOf(o);c>-1&&n[l].splice(c,1),o instanceof jn&&t.delete(o.compartment)}if(r.set(o,a),Array.isArray(o))for(let c of o)s(c,a);else if(o instanceof jn){if(t.has(o.compartment))throw new RangeError("Duplicate use of compartment in extensions");let c=e.get(o.compartment)||o.inner;t.set(o.compartment,c),s(c,a)}else if(o instanceof Ur)s(o.inner,o.prec);else if(o instanceof he)n[a].push(o),o.provides&&s(o.provides,a);else if(o instanceof nn)n[a].push(o),o.facet.extensions&&s(o.facet.extensions,Pi.default);else{let c=o.extension;if(!c)throw new Error(`Unrecognized extension value in extension set (${o}).`);if(c==o)throw new Error(`Unrecognized extension value in extension set (${o}). This sometimes happens because multiple instances of @codemirror/state are loaded, breaking instanceof checks.`);s(c,a)}}return s(i,Pi.default),n.reduce((o,a)=>o.concat(a))}function Wn(i,e){if(e&1)return 2;let t=e>>1,n=i.status[t];if(n==4)throw new Error("Cyclic dependency between fields and/or facets");if(n&2)return n;i.status[t]=4;let r=i.computeSlot(i,i.config.dynamicSlots[t]);return i.status[t]=2|r}function Fr(i,e){return e&1?i.config.staticValues[e>>1]:i.values[e>>1]}var sf=Y.define(),Vo=Y.define({combine:i=>i.some(e=>e),static:!0}),of=Y.define({combine:i=>i.length?i[0]:void 0,static:!0}),af=Y.define(),lf=Y.define(),cf=Y.define(),hf=Y.define({combine:i=>i.length?i[0]:!1}),_e=class{constructor(e,t){this.type=e,this.value=t}static define(){return new Do}},Do=class{of(e){return new _e(this,e)}},Yo=class{constructor(e){this.map=e}of(e){return new ie(this,e)}},ie=class i{constructor(e,t){this.type=e,this.value=t}map(e){let t=this.type.map(this.value,e);return t===void 0?void 0:t==this.value?this:new i(this.type,t)}is(e){return this.type==e}static define(e={}){return new Yo(e.map||(t=>t))}static mapEffects(e,t){if(!e.length)return e;let n=[];for(let r of e){let s=r.map(t);s&&n.push(s)}return n}};ie.reconfigure=ie.define();ie.appendConfig=ie.define();var de=class i{constructor(e,t,n,r,s,o){this.startState=e,this.changes=t,this.selection=n,this.effects=r,this.annotations=s,this.scrollIntoView=o,this._doc=null,this._state=null,n&&rf(n,t.newLength),s.some(a=>a.type==i.time)||(this.annotations=s.concat(i.time.of(Date.now())))}static create(e,t,n,r,s,o){return new i(e,t,n,r,s,o)}get newDoc(){return this._doc||(this._doc=this.changes.apply(this.startState.doc))}get newSelection(){return this.selection||this.startState.selection.map(this.changes)}get state(){return this._state||this.startState.applyTransaction(this),this._state}annotation(e){for(let t of this.annotations)if(t.type==e)return t.value}get docChanged(){return!this.changes.empty}get reconfigured(){return this.startState.config!=this.state.config}isUserEvent(e){let t=this.annotation(i.userEvent);return!!(t&&(t==e||t.length>e.length&&t.slice(0,e.length)==e&&t[e.length]=="."))}};de.time=_e.define();de.userEvent=_e.define();de.addToHistory=_e.define();de.remote=_e.define();function l0(i,e){let t=[];for(let n=0,r=0;;){let s,o;if(n=i[n]))s=i[n++],o=i[n++];else if(r=0;r--){let s=n[r](i);s instanceof de?i=s:Array.isArray(s)&&s.length==1&&s[0]instanceof de?i=s[0]:i=uf(e,rn(s),!1)}return i}function h0(i){let e=i.startState,t=e.facet(cf),n=i;for(let r=t.length-1;r>=0;r--){let s=t[r](i);s&&Object.keys(s).length&&(n=ff(n,Io(e,s,i.changes.newLength),!0))}return n==i?i:de.create(e,i.changes,i.selection,n.effects,n.annotations,n.scrollIntoView)}var f0=[];function rn(i){return i==null?f0:Array.isArray(i)?i:[i]}var Ee=(function(i){return i[i.Word=0]="Word",i[i.Space=1]="Space",i[i.Other=2]="Other",i})(Ee||(Ee={})),u0=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/,Bo;try{Bo=new RegExp("[\\p{Alphabetic}\\p{Number}_]","u")}catch{}function O0(i){if(Bo)return Bo.test(i);for(let e=0;e"\x80"&&(t.toUpperCase()!=t.toLowerCase()||u0.test(t)))return!0}return!1}function d0(i){return e=>{if(!/\S/.test(e))return Ee.Space;if(O0(e))return Ee.Word;for(let t=0;t-1)return Ee.Word;return Ee.Other}}var re=class i{constructor(e,t,n,r,s,o){this.config=e,this.doc=t,this.selection=n,this.values=r,this.status=e.statusTemplate.slice(),this.computeSlot=s,o&&(o._state=this);for(let a=0;ar.set(c,l)),t=null),r.set(a.value.compartment,a.value.extension)):a.is(ie.reconfigure)?(t=null,n=a.value):a.is(ie.appendConfig)&&(t=null,n=rn(n).concat(a.value));let s;t?s=e.startState.values.slice():(t=Nr.resolve(n,r,this),s=new i(t,this.doc,this.selection,t.dynamicSlots.map(()=>null),(l,c)=>c.reconfigure(l,this),null).values);let o=e.startState.facet(Vo)?e.newSelection:e.newSelection.asSingle();new i(t,e.newDoc,o,s,(a,l)=>l.update(a,e),e)}replaceSelection(e){return typeof e=="string"&&(e=this.toText(e)),this.changeByRange(t=>({changes:{from:t.from,to:t.to,insert:e},range:v.cursor(t.from+e.length)}))}changeByRange(e){let t=this.selection,n=e(t.ranges[0]),r=this.changes(n.changes),s=[n.range],o=rn(n.effects);for(let a=1;ao.spec.fromJSON(a,l)))}}return i.create({doc:e.doc,selection:v.fromJSON(e.selection),extensions:t.extensions?r.concat([t.extensions]):r})}static create(e={}){let t=Nr.resolve(e.extensions||[],new Map),n=e.doc instanceof H?e.doc:H.of((e.doc||"").split(t.staticFacet(i.lineSeparator)||Lo)),r=e.selection?e.selection instanceof v?e.selection:v.single(e.selection.anchor,e.selection.head):v.single(0);return rf(r,n.length),t.staticFacet(Vo)||(r=r.asSingle()),new i(t,n,r,t.dynamicSlots.map(()=>null),(s,o)=>o.create(s),null)}get tabSize(){return this.facet(i.tabSize)}get lineBreak(){return this.facet(i.lineSeparator)||` -`}get readOnly(){return this.facet(hf)}phrase(e,...t){for(let n of this.facet(i.phrases))if(Object.prototype.hasOwnProperty.call(n,e)){e=n[e];break}return t.length&&(e=e.replace(/\$(\$|\d*)/g,(n,r)=>{if(r=="$")return"$";let s=+(r||1);return!s||s>t.length?n:t[s-1]})),e}languageDataAt(e,t,n=-1){let r=[];for(let s of this.facet(sf))for(let o of s(this,t,n))Object.prototype.hasOwnProperty.call(o,e)&&r.push(o[e]);return r}charCategorizer(e){let t=this.languageDataAt("wordChars",e);return d0(t.length?t[0]:"")}wordAt(e){let{text:t,from:n,length:r}=this.doc.lineAt(e),s=this.charCategorizer(e),o=e-n,a=e-n;for(;o>0;){let l=ke(t,o,!1);if(s(t.slice(l,o))!=Ee.Word)break;o=l}for(;ai.length?i[0]:4});re.lineSeparator=of;re.readOnly=hf;re.phrases=Y.define({compare(i,e){let t=Object.keys(i),n=Object.keys(e);return t.length==n.length&&t.every(r=>i[r]==e[r])}});re.languageData=sf;re.changeFilter=af;re.transactionFilter=lf;re.transactionExtender=cf;Gr.reconfigure=ie.define();function Yn(i,e,t={}){let n={};for(let r of i)for(let s of Object.keys(r)){let o=r[s],a=n[s];if(a===void 0)n[s]=o;else if(!(a===o||o===void 0))if(Object.hasOwnProperty.call(t,s))n[s]=t[s](a,o);else throw new Error("Config merge conflict for field "+s)}for(let r in e)n[r]===void 0&&(n[r]=e[r]);return n}var it=class{eq(e){return this==e}range(e,t=e){return Vn.create(e,t,this)}};it.prototype.startSide=it.prototype.endSide=0;it.prototype.point=!1;it.prototype.mapMode=me.TrackDel;function Ko(i,e){return i==e||i.constructor==e.constructor&&i.eq(e)}var Vn=class i{constructor(e,t,n){this.from=e,this.to=t,this.value=n}static create(e,t,n){return new i(e,t,n)}};function Uo(i,e){return i.from-e.from||i.value.startSide-e.value.startSide}var Go=class i{constructor(e,t,n,r){this.from=e,this.to=t,this.value=n,this.maxPoint=r}get length(){return this.to[this.to.length-1]}findIndex(e,t,n,r=0){let s=n?this.to:this.from;for(let o=r,a=s.length;;){if(o==a)return o;let l=o+a>>1,c=s[l]-e||(n?this.value[l].endSide:this.value[l].startSide)-t;if(l==o)return c>=0?o:a;c>=0?a=l:o=l+1}}between(e,t,n,r){for(let s=this.findIndex(t,-1e9,!0),o=this.findIndex(n,1e9,!1,s);sO||u==O&&c.startSide>0&&c.endSide<=0)continue;(O-u||c.endSide-c.startSide)<0||(o<0&&(o=u),c.point&&(a=Math.max(a,O-u)),n.push(c),r.push(u-o),s.push(O-o))}return{mapped:n.length?new i(r,s,n,a):null,pos:o}}},oe=class i{constructor(e,t,n,r){this.chunkPos=e,this.chunk=t,this.nextLayer=n,this.maxPoint=r}static create(e,t,n,r){return new i(e,t,n,r)}get length(){let e=this.chunk.length-1;return e<0?0:Math.max(this.chunkEnd(e),this.nextLayer.length)}get size(){if(this.isEmpty)return 0;let e=this.nextLayer.size;for(let t of this.chunk)e+=t.value.length;return e}chunkEnd(e){return this.chunkPos[e]+this.chunk[e].length}update(e){let{add:t=[],sort:n=!1,filterFrom:r=0,filterTo:s=this.length}=e,o=e.filter;if(t.length==0&&!o)return this;if(n&&(t=t.slice().sort(Uo)),this.isEmpty)return t.length?i.of(t):this;let a=new Hr(this,null,-1).goto(0),l=0,c=[],h=new Ci;for(;a.value||l=0){let f=t[l++];h.addInner(f.from,f.to,f.value)||c.push(f)}else a.rangeIndex==1&&a.chunkIndexthis.chunkEnd(a.chunkIndex)||sa.to||s=s&&e<=s+o.length&&o.between(s,e-s,t-s,n)===!1)return}this.nextLayer.between(e,t,n)}}iter(e=0){return Dn.from([this]).goto(e)}get isEmpty(){return this.nextLayer==this}static iter(e,t=0){return Dn.from(e).goto(t)}static compare(e,t,n,r,s=-1){let o=e.filter(f=>f.maxPoint>0||!f.isEmpty&&f.maxPoint>=s),a=t.filter(f=>f.maxPoint>0||!f.isEmpty&&f.maxPoint>=s),l=Kh(o,a,n),c=new vi(o,l,s),h=new vi(a,l,s);n.iterGaps((f,u,O)=>Jh(c,f,h,u,O,r)),n.empty&&n.length==0&&Jh(c,0,h,0,0,r)}static eq(e,t,n=0,r){r==null&&(r=999999999);let s=e.filter(h=>!h.isEmpty&&t.indexOf(h)<0),o=t.filter(h=>!h.isEmpty&&e.indexOf(h)<0);if(s.length!=o.length)return!1;if(!s.length)return!0;let a=Kh(s,o),l=new vi(s,a,0).goto(n),c=new vi(o,a,0).goto(n);for(;;){if(l.to!=c.to||!No(l.active,c.active)||l.point&&(!c.point||!Ko(l.point,c.point)))return!1;if(l.to>r)return!0;l.next(),c.next()}}static spans(e,t,n,r,s=-1){let o=new vi(e,null,s).goto(t),a=t,l=o.openStart;for(;;){let c=Math.min(o.to,n);if(o.point){let h=o.activeForPoint(o.to),f=o.pointFroma&&(r.span(a,c,o.active,l),l=o.openEnd(c));if(o.to>n)return l+(o.point&&o.to>n?1:0);a=o.to,o.next()}}static of(e,t=!1){let n=new Ci;for(let r of e instanceof Vn?[e]:t?p0(e):e)n.add(r.from,r.to,r.value);return n.finish()}static join(e){if(!e.length)return i.empty;let t=e[e.length-1];for(let n=e.length-2;n>=0;n--)for(let r=e[n];r!=i.empty;r=r.nextLayer)t=new i(r.chunkPos,r.chunk,t,Math.max(r.maxPoint,t.maxPoint));return t}};oe.empty=new oe([],[],null,-1);function p0(i){if(i.length>1)for(let e=i[0],t=1;t0)return i.slice().sort(Uo);e=n}return i}oe.empty.nextLayer=oe.empty;var Ci=class i{finishChunk(e){this.chunks.push(new Go(this.from,this.to,this.value,this.maxPoint)),this.chunkPos.push(this.chunkStart),this.chunkStart=-1,this.setMaxPoint=Math.max(this.setMaxPoint,this.maxPoint),this.maxPoint=-1,e&&(this.from=[],this.to=[],this.value=[])}constructor(){this.chunks=[],this.chunkPos=[],this.chunkStart=-1,this.last=null,this.lastFrom=-1e9,this.lastTo=-1e9,this.from=[],this.to=[],this.value=[],this.maxPoint=-1,this.setMaxPoint=-1,this.nextLayer=null}add(e,t,n){this.addInner(e,t,n)||(this.nextLayer||(this.nextLayer=new i)).add(e,t,n)}addInner(e,t,n){let r=e-this.lastTo||n.startSide-this.last.endSide;if(r<=0&&(e-this.lastFrom||n.startSide-this.last.startSide)<0)throw new Error("Ranges must be added sorted by `from` position and `startSide`");return r<0?!1:(this.from.length==250&&this.finishChunk(!0),this.chunkStart<0&&(this.chunkStart=e),this.from.push(e-this.chunkStart),this.to.push(t-this.chunkStart),this.last=n,this.lastFrom=e,this.lastTo=t,this.value.push(n),n.point&&(this.maxPoint=Math.max(this.maxPoint,t-e)),!0)}addChunk(e,t){if((e-this.lastTo||t.value[0].startSide-this.last.endSide)<0)return!1;this.from.length&&this.finishChunk(!0),this.setMaxPoint=Math.max(this.setMaxPoint,t.maxPoint),this.chunks.push(t),this.chunkPos.push(e);let n=t.value.length-1;return this.last=t.value[n],this.lastFrom=t.from[n]+e,this.lastTo=t.to[n]+e,!0}finish(){return this.finishInner(oe.empty)}finishInner(e){if(this.from.length&&this.finishChunk(!1),this.chunks.length==0)return e;let t=oe.create(this.chunkPos,this.chunks,this.nextLayer?this.nextLayer.finishInner(e):e,this.setMaxPoint);return this.from=null,t}};function Kh(i,e,t){let n=new Map;for(let s of i)for(let o=0;o=this.minPoint)break}}setRangeIndex(e){if(e==this.layer.chunk[this.chunkIndex].value.length){if(this.chunkIndex++,this.skip)for(;this.chunkIndex=n&&r.push(new Hr(o,t,n,s));return r.length==1?r[0]:new i(r)}get startSide(){return this.value?this.value.startSide:0}goto(e,t=-1e9){for(let n of this.heap)n.goto(e,t);for(let n=this.heap.length>>1;n>=0;n--)Eo(this.heap,n);return this.next(),this}forward(e,t){for(let n of this.heap)n.forward(e,t);for(let n=this.heap.length>>1;n>=0;n--)Eo(this.heap,n);(this.to-e||this.value.endSide-t)<0&&this.next()}next(){if(this.heap.length==0)this.from=this.to=1e9,this.value=null,this.rank=-1;else{let e=this.heap[0];this.from=e.from,this.to=e.to,this.value=e.value,this.rank=e.rank,e.value&&e.next(),Eo(this.heap,0)}}};function Eo(i,e){for(let t=i[e];;){let n=(e<<1)+1;if(n>=i.length)break;let r=i[n];if(n+1=0&&(r=i[n+1],n++),t.compare(r)<0)break;i[n]=t,i[e]=r,e=n}}var vi=class{constructor(e,t,n){this.minPoint=n,this.active=[],this.activeTo=[],this.activeRank=[],this.minActive=-1,this.point=null,this.pointFrom=0,this.pointRank=0,this.to=-1e9,this.endSide=0,this.openStart=-1,this.cursor=Dn.from(e,t,n)}goto(e,t=-1e9){return this.cursor.goto(e,t),this.active.length=this.activeTo.length=this.activeRank.length=0,this.minActive=-1,this.to=e,this.endSide=t,this.openStart=-1,this.next(),this}forward(e,t){for(;this.minActive>-1&&(this.activeTo[this.minActive]-e||this.active[this.minActive].endSide-t)<0;)this.removeActive(this.minActive);this.cursor.forward(e,t)}removeActive(e){Vr(this.active,e),Vr(this.activeTo,e),Vr(this.activeRank,e),this.minActive=ef(this.active,this.activeTo)}addActive(e){let t=0,{value:n,to:r,rank:s}=this.cursor;for(;t0;)t++;Dr(this.active,t,n),Dr(this.activeTo,t,r),Dr(this.activeRank,t,s),e&&Dr(e,t,this.cursor.from),this.minActive=ef(this.active,this.activeTo)}next(){let e=this.to,t=this.point;this.point=null;let n=this.openStart<0?[]:null;for(;;){let r=this.minActive;if(r>-1&&(this.activeTo[r]-this.cursor.from||this.active[r].endSide-this.cursor.startSide)<0){if(this.activeTo[r]>e){this.to=this.activeTo[r],this.endSide=this.active[r].endSide;break}this.removeActive(r),n&&Vr(n,r)}else if(this.cursor.value)if(this.cursor.from>e){this.to=this.cursor.from,this.endSide=this.cursor.startSide;break}else{let s=this.cursor.value;if(!s.point)this.addActive(n),this.cursor.next();else if(t&&this.cursor.to==this.to&&this.cursor.from=0&&n[r]=0&&!(this.activeRank[n]e||this.activeTo[n]==e&&this.active[n].endSide>=this.point.endSide)&&t.push(this.active[n]);return t.reverse()}openEnd(e){let t=0;for(let n=this.activeTo.length-1;n>=0&&this.activeTo[n]>e;n--)t++;return t}};function Jh(i,e,t,n,r,s){i.goto(e),t.goto(n);let o=n+r,a=n,l=n-e,c=!!s.boundChange;for(let h=!1;;){let f=i.to+l-t.to,u=f||i.endSide-t.endSide,O=u<0?i.to+l:t.to,p=Math.min(O,o);if(i.point||t.point?(i.point&&t.point&&Ko(i.point,t.point)&&No(i.activeForPoint(i.to),t.activeForPoint(t.to))||s.comparePoint(a,p,i.point,t.point),h=!1):(h&&s.boundChange(a),p>a&&!No(i.active,t.active)&&s.compareRange(a,p,i.active,t.active),c&&po)break;a=O,u<=0&&i.next(),u>=0&&t.next()}}function No(i,e){if(i.length!=e.length)return!1;for(let t=0;t=e;n--)i[n+1]=i[n];i[e]=t}function ef(i,e){let t=-1,n=1e9;for(let r=0;r=e)return r;if(r==i.length)break;s+=i.charCodeAt(r)==9?t-s%t:1,r=ke(i,r)}return n===!0?-1:i.length}var df=typeof Symbol>"u"?"__\u037C":Symbol.for("\u037C"),Jo=typeof Symbol>"u"?"__styleSet"+Math.floor(Math.random()*1e8):Symbol("styleSet"),pf=typeof globalThis<"u"?globalThis:typeof window<"u"?window:{},nt=class{constructor(e,t){this.rules=[];let{finish:n}=t||{};function r(o){return/^@/.test(o)?[o]:o.split(/,\s*/)}function s(o,a,l,c){let h=[],f=/^@(\w+)\b/.exec(o[0]),u=f&&f[1]=="keyframes";if(f&&a==null)return l.push(o[0]+";");for(let O in a){let p=a[O];if(/&/.test(O))s(O.split(/,\s*/).map(m=>o.map(b=>m.replace(/&/,b))).reduce((m,b)=>m.concat(b)),p,l);else if(p&&typeof p=="object"){if(!f)throw new RangeError("The value of a property ("+O+") should be a primitive value.");s(r(O),p,h,u)}else p!=null&&h.push(O.replace(/_.*/,"").replace(/[A-Z]/g,m=>"-"+m.toLowerCase())+": "+p+";")}(h.length||u)&&l.push((n&&!f&&!c?o.map(n):o).join(", ")+" {"+h.join(" ")+"}")}for(let o in e)s(r(o),e[o],this.rules)}getRules(){return this.rules.join(` -`)}static newName(){let e=pf[df]||1;return pf[df]=e+1,"\u037C"+e.toString(36)}static mount(e,t,n){let r=e[Jo],s=n&&n.nonce;r?s&&r.setNonce(s):r=new ea(e,s),r.mount(Array.isArray(t)?t:[t],e)}},mf=new Map,ea=class{constructor(e,t){let n=e.ownerDocument||e,r=n.defaultView;if(!e.head&&e.adoptedStyleSheets&&r.CSSStyleSheet){let s=mf.get(n);if(s)return e[Jo]=s;this.sheet=new r.CSSStyleSheet,mf.set(n,this)}else this.styleTag=n.createElement("style"),t&&this.styleTag.setAttribute("nonce",t);this.modules=[],e[Jo]=this}mount(e,t){let n=this.sheet,r=0,s=0;for(let o=0;o-1&&(this.modules.splice(l,1),s--,l=-1),l==-1){if(this.modules.splice(s++,0,a),n)for(let c=0;c",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},m0=typeof navigator<"u"&&/Mac/.test(navigator.platform),g0=typeof navigator<"u"&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent);for(be=0;be<10;be++)Et[48+be]=Et[96+be]=String(be);var be;for(be=1;be<=24;be++)Et[be+111]="F"+be;var be;for(be=65;be<=90;be++)Et[be]=String.fromCharCode(be+32),an[be]=String.fromCharCode(be);var be;for(Kr in Et)an.hasOwnProperty(Kr)||(an[Kr]=Et[Kr]);var Kr;function gf(i){var e=m0&&i.metaKey&&i.shiftKey&&!i.ctrlKey&&!i.altKey||g0&&i.shiftKey&&i.key&&i.key.length==1||i.key=="Unidentified",t=!e&&i.key||(i.shiftKey?an:Et)[i.keyCode]||i.key||"Unidentified";return t=="Esc"&&(t="Escape"),t=="Del"&&(t="Delete"),t=="Left"&&(t="ArrowLeft"),t=="Up"&&(t="ArrowUp"),t=="Right"&&(t="ArrowRight"),t=="Down"&&(t="ArrowDown"),t}var Le=typeof navigator<"u"?navigator:{userAgent:"",vendor:"",platform:""},oa=typeof document<"u"?document:{documentElement:{style:{}}},aa=/Edge\/(\d+)/.exec(Le.userAgent),If=/MSIE \d/.test(Le.userAgent),la=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(Le.userAgent),Ss=!!(If||la||aa),Qf=!Ss&&/gecko\/(\d+)/i.test(Le.userAgent),ta=!Ss&&/Chrome\/(\d+)/.exec(Le.userAgent),bf="webkitFontSmoothing"in oa.documentElement.style,ca=!Ss&&/Apple Computer/.test(Le.vendor),Sf=ca&&(/Mobile\/\w+/.test(Le.userAgent)||Le.maxTouchPoints>2),L={mac:Sf||/Mac/.test(Le.platform),windows:/Win/.test(Le.platform),linux:/Linux|X11/.test(Le.platform),ie:Ss,ie_version:If?oa.documentMode||6:la?+la[1]:aa?+aa[1]:0,gecko:Qf,gecko_version:Qf?+(/Firefox\/(\d+)/.exec(Le.userAgent)||[0,0])[1]:0,chrome:!!ta,chrome_version:ta?+ta[1]:0,ios:Sf,android:/Android\b/.test(Le.userAgent),webkit:bf,webkit_version:bf?+(/\bAppleWebKit\/(\d+)/.exec(Le.userAgent)||[0,0])[1]:0,safari:ca,safari_version:ca?+(/\bVersion\/(\d+(\.\d+)?)/.exec(Le.userAgent)||[0,0])[1]:0,tabSize:oa.documentElement.style.tabSize!=null?"tab-size":"-moz-tab-size"};function Ya(i,e){for(let t in i)t=="class"&&e.class?e.class+=" "+i.class:t=="style"&&e.style?e.style+=";"+i.style:e[t]=i[t];return e}var ls=Object.create(null);function Ia(i,e,t){if(i==e)return!0;i||(i=ls),e||(e=ls);let n=Object.keys(i),r=Object.keys(e);if(n.length-(t&&n.indexOf(t)>-1?1:0)!=r.length-(t&&r.indexOf(t)>-1?1:0))return!1;for(let s of n)if(s!=t&&(r.indexOf(s)==-1||i[s]!==e[s]))return!1;return!0}function Q0(i,e){for(let t=i.attributes.length-1;t>=0;t--){let n=i.attributes[t].name;e[n]==null&&i.removeAttribute(n)}for(let t in e){let n=e[t];t=="style"?i.style.cssText=n:i.getAttribute(t)!=n&&i.setAttribute(t,n)}}function yf(i,e,t){let n=!1;if(e)for(let r in e)t&&r in t||(n=!0,r=="style"?i.style.cssText="":i.removeAttribute(r));if(t)for(let r in t)e&&e[r]==t[r]||(n=!0,r=="style"?i.style.cssText=t[r]:i.setAttribute(r,t[r]));return n}function b0(i){let e=Object.create(null);for(let t=0;t0?3e8:-4e8:t>0?1e8:-1e8,new Ri(e,t,t,n,e.widget||null,!1)}static replace(e){let t=!!e.block,n,r;if(e.isBlockGap)n=-5e8,r=4e8;else{let{start:s,end:o}=Bf(e,t);n=(s?t?-3e8:-1:5e8)-1,r=(o?t?2e8:1:-6e8)+1}return new Ri(e,n,r,t,e.widget||null,!0)}static line(e){return new ir(e)}static set(e,t=!1){return oe.of(e,t)}hasHeight(){return this.widget?this.widget.estimatedHeight>-1:!1}};Z.none=oe.empty;var tr=class i extends Z{constructor(e){let{start:t,end:n}=Bf(e);super(t?-1:5e8,n?1:-6e8,null,e),this.tagName=e.tagName||"span",this.attrs=e.class&&e.attributes?Ya(e.attributes,{class:e.class}):e.class?{class:e.class}:e.attributes||ls}eq(e){return this==e||e instanceof i&&this.tagName==e.tagName&&Ia(this.attrs,e.attrs)}range(e,t=e){if(e>=t)throw new RangeError("Mark decorations may not be empty");return super.range(e,t)}};tr.prototype.point=!1;var ir=class i extends Z{constructor(e){super(-2e8,-2e8,null,e)}eq(e){return e instanceof i&&this.spec.class==e.spec.class&&Ia(this.spec.attributes,e.spec.attributes)}range(e,t=e){if(t!=e)throw new RangeError("Line decoration ranges must be zero-length");return super.range(e,t)}};ir.prototype.mapMode=me.TrackBefore;ir.prototype.point=!0;var Ri=class i extends Z{constructor(e,t,n,r,s,o){super(t,n,s,e),this.block=r,this.isReplace=o,this.mapMode=r?t<=0?me.TrackBefore:me.TrackAfter:me.TrackDel}get type(){return this.startSide!=this.endSide?lt.WidgetRange:this.startSide<=0?lt.WidgetBefore:lt.WidgetAfter}get heightRelevant(){return this.block||!!this.widget&&(this.widget.estimatedHeight>=5||this.widget.lineBreaks>0)}eq(e){return e instanceof i&&S0(this.widget,e.widget)&&this.block==e.block&&this.startSide==e.startSide&&this.endSide==e.endSide}range(e,t=e){if(this.isReplace&&(e>t||e==t&&this.startSide>0&&this.endSide<=0))throw new RangeError("Invalid range for replacement decoration");if(!this.isReplace&&t!=e)throw new RangeError("Widget decorations can only have zero-length ranges");return super.range(e,t)}};Ri.prototype.point=!0;function Bf(i,e=!1){let{inclusiveStart:t,inclusiveEnd:n}=i;return t==null&&(t=i.inclusive),n==null&&(n=i.inclusive),{start:t??e,end:n??e}}function S0(i,e){return i==e||!!(i&&e&&i.compare(e))}function fn(i,e,t,n=0){let r=t.length-1;r>=0&&t[r]+n>=i?t[r]=Math.max(t[r],e):t.push(i,e)}var oi=class i extends it{constructor(e,t,n){super(),this.tagName=e,this.attributes=t,this.rank=n}eq(e){return e==this||e instanceof i&&this.tagName==e.tagName&&Ia(this.attributes,e.attributes)}static create(e){return new i(e.tagName,e.attributes||ls,e.rank==null?50:Math.max(0,Math.min(e.rank,100)))}static set(e,t=!1){return oe.of(e,t)}};oi.prototype.startSide=oi.prototype.endSide=-1;function nr(i){let e;return i.nodeType==11?e=i.getSelection?i:i.ownerDocument:e=i,e.getSelection()}function ha(i,e){return e?i==e||i.contains(e.nodeType!=1?e.parentNode:e):!1}function Gn(i,e){if(!e.anchorNode)return!1;try{return ha(i,e.anchorNode)}catch{return!1}}function os(i){return i.nodeType==3?rr(i,0,i.nodeValue.length).getClientRects():i.nodeType==1?i.getClientRects():[]}function Nn(i,e,t,n){return t?kf(i,e,t,n,-1)||kf(i,e,t,n,1):!1}function ai(i){for(var e=0;;e++)if(i=i.previousSibling,!i)return e}function cs(i){return i.nodeType==1&&/^(DIV|P|LI|UL|OL|BLOCKQUOTE|DD|DT|H\d|SECTION|PRE)$/.test(i.nodeName)}function kf(i,e,t,n,r){for(;;){if(i==t&&e==n)return!0;if(e==(r<0?0:Mt(i))){if(i.nodeName=="DIV")return!1;let s=i.parentNode;if(!s||s.nodeType!=1)return!1;e=ai(i)+(r<0?0:1),i=s}else if(i.nodeType==1){if(i=i.childNodes[e+(r<0?-1:0)],i.nodeType==1&&i.contentEditable=="false")return!1;e=r<0?Mt(i):0}else return!1}}function Mt(i){return i.nodeType==3?i.nodeValue.length:i.childNodes.length}function hs(i,e){let{left:t,right:n}=i;if(t==n)return i;let r=e?t:n;return{left:r,right:r,top:i.top,bottom:i.bottom}}function y0(i){let e=i.visualViewport;return e?{left:0,right:e.width,top:0,bottom:e.height}:{left:0,right:i.innerWidth,top:0,bottom:i.innerHeight}}function Uf(i,e){let t=e.width/i.offsetWidth,n=e.height/i.offsetHeight;return(t>.995&&t<1.005||!isFinite(t)||Math.abs(e.width-i.offsetWidth)<1)&&(t=1),(n>.995&&n<1.005||!isFinite(n)||Math.abs(e.height-i.offsetHeight)<1)&&(n=1),{scaleX:t,scaleY:n}}function k0(i,e,t,n,r,s,o,a){let l=i.ownerDocument,c=l.defaultView||window;for(let h=i,f=!1;h&&!f;)if(h.nodeType==1){let u,O=h==l.body,p=1,m=1;if(O)u=y0(c);else{if(/^(fixed|sticky)$/.test(getComputedStyle(h).position)&&(f=!0),h.scrollHeight<=h.clientHeight&&h.scrollWidth<=h.clientWidth){h=h.assignedSlot||h.parentNode;continue}let Q=h.getBoundingClientRect();({scaleX:p,scaleY:m}=Uf(h,Q)),u={left:Q.left,right:Q.left+h.clientWidth*p,top:Q.top,bottom:Q.top+h.clientHeight*m}}let b=0,g=0;if(r=="nearest")e.top0&&e.bottom>u.bottom+g&&(g=e.bottom-u.bottom+o)):e.bottom>u.bottom-o&&(g=e.bottom-u.bottom+o,t<0&&e.top-g0&&e.right>u.right+b&&(b=e.right-u.right+s)):e.right>u.right-s&&(b=e.right-u.right+s,t<0&&e.leftu.bottom||e.leftu.right)&&(e={left:Math.max(e.left,u.left),right:Math.min(e.right,u.right),top:Math.max(e.top,u.top),bottom:Math.min(e.bottom,u.bottom)}),h=h.assignedSlot||h.parentNode}else if(h.nodeType==11)h=h.host;else break}function Gf(i,e=!0){let t=i.ownerDocument,n=null,r=null;for(let s=i.parentNode;s&&!(s==t.body||(!e||n)&&r);)if(s.nodeType==1)!r&&s.scrollHeight>s.clientHeight&&(r=s),e&&!n&&s.scrollWidth>s.clientWidth&&(n=s),s=s.assignedSlot||s.parentNode;else if(s.nodeType==11)s=s.host;else break;return{x:n,y:r}}var fa=class{constructor(){this.anchorNode=null,this.anchorOffset=0,this.focusNode=null,this.focusOffset=0}eq(e){return this.anchorNode==e.anchorNode&&this.anchorOffset==e.anchorOffset&&this.focusNode==e.focusNode&&this.focusOffset==e.focusOffset}setRange(e){let{anchorNode:t,focusNode:n}=e;this.set(t,Math.min(e.anchorOffset,t?Mt(t):0),n,Math.min(e.focusOffset,n?Mt(n):0))}set(e,t,n,r){this.anchorNode=e,this.anchorOffset=t,this.focusNode=n,this.focusOffset=r}},Xi=null;L.safari&&L.safari_version>=26&&(Xi=!1);function Nf(i){if(i.setActive)return i.setActive();if(Xi)return i.focus(Xi);let e=[];for(let t=i;t&&(e.push(t,t.scrollTop,t.scrollLeft),t!=t.ownerDocument);t=t.parentNode);if(i.focus(Xi==null?{get preventScroll(){return Xi={preventScroll:!0},!0}}:void 0),!Xi){Xi=!1;for(let t=0;tMath.max(0,i.document.documentElement.scrollHeight-i.innerHeight-4):i.scrollTop>Math.max(1,i.scrollHeight-i.clientHeight-4)}function Hf(i,e){for(let t=i,n=e;;){if(t.nodeType==3&&n>0)return{node:t,offset:n};if(t.nodeType==1&&n>0){if(t.contentEditable=="false")return null;t=t.childNodes[n-1],n=Mt(t)}else if(t.parentNode&&!cs(t))n=ai(t),t=t.parentNode;else return null}}function Kf(i,e){for(let t=i,n=e;;){if(t.nodeType==3&&n=t){if(a.level==n)return o;(s<0||(r!=0?r<0?a.fromt:e[s].level>a.level))&&(s=o)}}if(s<0)throw new RangeError("Index out of range");return s}};function tu(i,e){if(i.length!=e.length)return!1;for(let t=0;t=0;m-=3)if($t[m+1]==-O){let b=$t[m+2],g=b&2?r:b&4?b&1?s:r:0;g&&(se[f]=se[$t[m]]=g),a=m;break}}else{if($t.length==189)break;$t[a++]=f,$t[a++]=u,$t[a++]=l}else if((p=se[f])==2||p==1){let m=p==r;l=m?0:1;for(let b=a-3;b>=0;b-=3){let g=$t[b+2];if(g&2)break;if(m)$t[b+2]|=2;else{if(g&4)break;$t[b+2]|=4}}}}}function X0(i,e,t,n){for(let r=0,s=n;r<=t.length;r++){let o=r?t[r-1].to:i,a=rl;)p==b&&(p=t[--m].from,b=m?t[m-1].to:i),se[--p]=O;l=h}else s=c,l++}}}function Oa(i,e,t,n,r,s,o){let a=n%2?2:1;if(n%2==r%2)for(let l=e,c=0;ll&&o.push(new ot(l,m.from,O));let b=m.direction==Ai!=!(O%2);da(i,b?n+1:n,r,m.inner,m.from,m.to,o),l=m.to}p=m.to}else{if(p==t||(h?se[p]!=a:se[p]==a))break;p++}u?Oa(i,l,p,n+1,r,u,o):le;){let h=!0,f=!1;if(!c||l>s[c-1].to){let m=se[l-1];m!=a&&(h=!1,f=m==16)}let u=!h&&a==1?[]:null,O=h?n:n+1,p=l;e:for(;;)if(c&&p==s[c-1].to){if(f)break e;let m=s[--c];if(!h)for(let b=m.from,g=c;;){if(b==e)break e;if(g&&s[g-1].to==b)b=s[--g].from;else{if(se[b-1]==a)break e;break}}if(u)u.push(m);else{m.tose.length;)se[se.length]=256;let n=[],r=e==Ai?0:1;return da(i,r,r,t,0,i.length,n),n}function iu(i){return[new ot(0,i,0)]}var nu="";function R0(i,e,t,n,r){var s;let o=n.head-i.from,a=ot.find(e,o,(s=n.bidiLevel)!==null&&s!==void 0?s:-1,n.assoc),l=e[a],c=l.side(r,t);if(o==c){let u=a+=r?1:-1;if(u<0||u>=e.length)return null;l=e[a=u],o=l.side(!r,t),c=l.side(r,t)}let h=ke(i.text,o,l.forward(r,t));(hl.to)&&(h=c),nu=i.text.slice(Math.min(o,h),Math.max(o,h));let f=a==(r?e.length-1:0)?null:e[a+(r?1:-1)];return f&&h==c&&f.level+(r?0:1)i.some(e=>e)}),Z0=Y.define({combine:i=>i.some(e=>e)}),fu=Y.define(),Fn=class i{constructor(e,t,n,r,s,o=!1){this.range=e,this.y=t,this.x=n,this.yMargin=r,this.xMargin=s,this.isSnapshot=o}map(e){return e.empty?this:new i(this.range.map(e),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}clip(e){return this.range.to<=e.doc.length?this:new i(v.cursor(e.doc.length),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}},Jr=ie.define({map:(i,e)=>i.map(e)}),uu=ie.define();function at(i,e,t){let n=i.facet(au);n.length?n[0](e):window.onerror&&window.onerror(String(e),t,void 0,void 0,e)||(t?console.error(t+":",e):console.error(e))}var zt=Y.define({combine:i=>i.length?i[0]:!0}),q0=0,cn=Y.define({combine(i){return i.filter((e,t)=>{for(let n=0;n{let l=[];return o&&l.push(ys.of(c=>{let h=c.plugin(a);return h?o(h):Z.none})),s&&l.push(s(a)),l})}static fromClass(e,t){return i.define((n,r)=>new e(n,r),t)}},Hn=class{constructor(e){this.spec=e,this.mustUpdate=null,this.value=null}get plugin(){return this.spec&&this.spec.plugin}update(e){if(this.value){if(this.mustUpdate){let t=this.mustUpdate;if(this.mustUpdate=null,this.value.update)try{this.value.update(t)}catch(n){if(at(t.state,n,"CodeMirror plugin crashed"),this.value.destroy)try{this.value.destroy()}catch{}this.deactivate()}}}else if(this.spec)try{this.value=this.spec.plugin.create(e,this.spec.arg)}catch(t){at(e.state,t,"CodeMirror plugin crashed"),this.deactivate()}return this}destroy(e){var t;if(!((t=this.value)===null||t===void 0)&&t.destroy)try{this.value.destroy()}catch(n){at(e.state,n,"CodeMirror plugin crashed")}}deactivate(){this.spec=this.value=null}},Ou=Y.define(),Na=Y.define(),ys=Y.define(),du=Y.define(),Fa=Y.define(),sr=Y.define(),pu=Y.define();function wf(i,e){let t=i.state.facet(pu);if(!t.length)return t;let n=t.map(s=>s instanceof Function?s(i):s),r=[];return oe.spans(n,e.from,e.to,{point(){},span(s,o,a,l){let c=s-e.from,h=o-e.from,f=r;for(let u=a.length-1;u>=0;u--,l--){let O=a[u].spec.bidiIsolate,p;if(O==null&&(O=A0(e.text,c,h)),l>0&&f.length&&(p=f[f.length-1]).to==c&&p.direction==O)p.to=h,f=p.inner;else{let m={from:c,to:h,direction:O,inner:[]};f.push(m),f=m.inner}}}}),r}var mu=Y.define();function gu(i){let e=0,t=0,n=0,r=0;for(let s of i.state.facet(mu)){let o=s(i);o&&(o.left!=null&&(e=Math.max(e,o.left)),o.right!=null&&(t=Math.max(t,o.right)),o.top!=null&&(n=Math.max(n,o.top)),o.bottom!=null&&(r=Math.max(r,o.bottom)))}return{left:e,right:t,top:n,bottom:r}}var In=Y.define(),gt=class i{constructor(e,t,n,r){this.fromA=e,this.toA=t,this.fromB=n,this.toB=r}join(e){return new i(Math.min(this.fromA,e.fromA),Math.max(this.toA,e.toA),Math.min(this.fromB,e.fromB),Math.max(this.toB,e.toB))}addToSet(e){let t=e.length,n=this;for(;t>0;t--){let r=e[t-1];if(!(r.fromA>n.toA)){if(r.toAr.push(new gt(s,o,a,l))),this.changedRanges=r}static create(e,t,n){return new i(e,t,n)}get viewportChanged(){return(this.flags&4)>0}get viewportMoved(){return(this.flags&8)>0}get heightChanged(){return(this.flags&2)>0}get geometryChanged(){return this.docChanged||(this.flags&18)>0}get focusChanged(){return(this.flags&1)>0}get docChanged(){return!this.changes.empty}get selectionSet(){return this.transactions.some(e=>e.selection)}get empty(){return this.flags==0&&this.transactions.length==0}},E0=[],fe=class{constructor(e,t,n=0){this.dom=e,this.length=t,this.flags=n,this.parent=null,e.cmTile=this}get breakAfter(){return this.flags&1}get children(){return E0}isWidget(){return!1}get isHidden(){return!1}isComposite(){return!1}isLine(){return!1}isText(){return!1}isBlock(){return!1}get domAttrs(){return null}sync(e){if(this.flags|=2,this.flags&4){this.flags&=-5;let t=this.domAttrs;t&&Q0(this.dom,t)}}toString(){return this.constructor.name+(this.children.length?`(${this.children})`:"")+(this.breakAfter?"#":"")}destroy(){this.parent=null}setDOM(e){this.dom=e,e.cmTile=this}get posAtStart(){return this.parent?this.parent.posBefore(this):0}get posAtEnd(){return this.posAtStart+this.length}posBefore(e,t=this.posAtStart){let n=t;for(let r of this.children){if(r==e)return n;n+=r.length+r.breakAfter}throw new RangeError("Invalid child in posBefore")}posAfter(e){return this.posBefore(e)+e.length}covers(e){return!0}coordsIn(e,t,n){return null}domPosFor(e,t){let n=ai(this.dom),r=this.length?e>0:t>0;return new Tt(this.parent.dom,n+(r?1:0),e==0||e==this.length)}markDirty(e){this.flags&=-3,e&&(this.flags|=4),this.parent&&this.parent.flags&2&&this.parent.markDirty(!1)}get overrideDOMText(){return null}get root(){for(let e=this;e;e=e.parent)if(e instanceof dn)return e;return null}static get(e){return e.cmTile}},On=class extends fe{constructor(e){super(e,0),this._children=[]}isComposite(){return!0}get children(){return this._children}get lastChild(){return this.children.length?this.children[this.children.length-1]:null}append(e){this.children.push(e),e.parent=this}sync(e){if(this.flags&2)return;super.sync(e);let t=this.dom,n=null,r,s=e?.node==t?e:null,o=0;for(let a of this.children){if(a.sync(e),o+=a.length+a.breakAfter,r=n?n.nextSibling:t.firstChild,s&&r!=a.dom&&(s.written=!0),a.dom.parentNode==t)for(;r&&r!=a.dom;)r=Pf(r);else t.insertBefore(a.dom,r);n=a.dom}for(r=n?n.nextSibling:t.firstChild,s&&r&&(s.written=!0);r;)r=Pf(r);this.length=o}};function Pf(i){let e=i.nextSibling;return i.parentNode.removeChild(i),e}var dn=class extends On{constructor(e,t){super(t),this.view=e}owns(e){for(;e;e=e.parent)if(e==this)return!0;return!1}isBlock(){return!0}nearest(e){for(;;){if(!e)return null;let t=fe.get(e);if(t&&this.owns(t))return t;e=e.parentNode}}blockTiles(e){for(let t=[],n=this,r=0,s=0;;)if(r==n.children.length){if(!t.length)return;n=n.parent,n.breakAfter&&s++,r=t.pop()}else{let o=n.children[r++];if(o instanceof Lt)t.push(r),n=o,r=0;else{let a=s+o.length,l=e(o,s);if(l!==void 0)return l;s=a+o.breakAfter}}}resolveBlock(e,t){let n,r=-1,s,o=-1;if(this.blockTiles((a,l)=>{let c=l+a.length;if(e>=l&&e<=c){if(a.isWidget()&&t>=-1&&t<=1){if(a.flags&32)return!0;a.flags&16&&(n=void 0)}(le||e==l&&(t>1?a.length:a.covers(-1)))&&(!s||!a.isWidget()&&s.isWidget())&&(s=a,o=e-l)}}),!n&&!s)throw new Error("No tile at position "+e);return n&&t<0||!s?{tile:n,offset:r}:{tile:s,offset:o}}},Lt=class i extends On{constructor(e,t){super(e),this.wrapper=t}isBlock(){return!0}covers(e){return this.children.length?e<0?this.children[0].covers(-1):this.lastChild.covers(1):!1}get domAttrs(){return this.wrapper.attributes}static of(e,t){let n=new i(t||document.createElement(e.tagName),e);return t||(n.flags|=4),n}},pn=class i extends On{constructor(e,t){super(e),this.attrs=t}isLine(){return!0}static start(e,t,n){let r=new i(t||document.createElement("div"),e);return(!t||!n)&&(r.flags|=4),r}get domAttrs(){return this.attrs}resolveInline(e,t,n){let r=null,s=-1,o=null,a=-1;function l(h,f){for(let u=0,O=0;u=f&&(p.isComposite()?l(p,f-O):(!o||o.isHidden&&(t>0&&!(o.flags&32)||n&&L0(o,p)))&&(m>f||p.flags&32)?(o=p,a=f-O):(Or&&(e=r);let s=e,o=e,a=0;e==0&&t<0||e==r&&t>=0?L.chrome||L.gecko||(e?(s--,a=1):o=0)?0:l.length-1];return L.safari&&!a&&c.width==0&&(c=Array.prototype.find.call(l,h=>h.width)||c),n==null?c:hs(c,(a?a>0:t<0)==n)}static of(e,t){let n=new i(t||document.createTextNode(e),e);return t||(n.flags|=2),n}},Zi=class i extends fe{constructor(e,t,n,r){super(e,t,r),this.widget=n}isWidget(){return!0}get isHidden(){return this.widget.isHidden}covers(e){return this.flags&48?!1:(this.flags&(e<0?64:128))>0}coordsIn(e,t){return this.coordsInWidget(e,t,!1)}coordsInWidget(e,t,n){let r=this.widget.coordsAt(this.dom,e,t);if(r)return r;if(n)return hs(this.dom.getBoundingClientRect(),this.length?e==0:t<=0);{let s=this.dom.getClientRects(),o=null;if(!s.length)return null;let a=this.flags&16?!0:this.flags&32?!1:e>0;for(let l=a?s.length-1:0;o=s[l],!(e>0?l==0:l==s.length-1||o.top0==n)}},ma=class{constructor(e){this.index=0,this.beforeBreak=!1,this.parents=[],this.tile=e}advance(e,t,n){let{tile:r,index:s,beforeBreak:o,parents:a}=this;for(;e||t>0;)if(r.isComposite())if(o){if(!e)break;n&&n.break(),e--,o=!1}else if(s==r.children.length){if(!e&&!a.length)break;n&&n.leave(r),o=!!r.breakAfter,{tile:r,index:s}=a.pop(),s++}else{let l=r.children[s],c=l.breakAfter;(t>0?l.length<=e:l.length=0;a--){let l=t.marks[a],c=r.lastChild;if(c instanceof Ve&&c.mark.eq(l.mark))c.dom!=l.dom&&c.setDOM(ia(l.dom)),r=c;else{if(this.cache.reused.get(l)){let f=fe.get(l.dom);f&&f.setDOM(ia(l.dom))}let h=Ve.of(l.mark,l.dom);r.append(h),r=h}this.cache.reused.set(l,2)}let s=fe.get(e.text);s&&this.cache.reused.set(s,2);let o=new _i(e.text,e.text.nodeValue);o.flags|=8,this.pos=e.range.toB,r.append(o)}addInlineWidget(e,t,n){let r=this.afterWidget&&e.flags&48&&(this.afterWidget.flags&48)==(e.flags&48);r||this.flushBuffer();let s=this.ensureMarks(t,n);!r&&!(e.flags&16)&&s.append(this.getBuffer(1)),s.append(e),this.pos+=e.length,this.afterWidget=e}addMark(e,t,n){this.flushBuffer(),this.ensureMarks(t,n).append(e),this.pos+=e.length,this.afterWidget=null}addBlockWidget(e){this.getBlockPos().append(e),this.pos+=e.length,this.lastBlock=e,this.endLine()}continueWidget(e){let t=this.afterWidget||this.lastBlock;t.length+=e,this.pos+=e}addLineStart(e,t){var n;e||(e=Qu);let r=pn.start(e,t||((n=this.cache.find(pn))===null||n===void 0?void 0:n.dom),!!t);this.getBlockPos().append(this.lastBlock=this.curLine=r)}addLine(e){this.getBlockPos().append(e),this.pos+=e.length,this.lastBlock=e,this.endLine()}addBreak(){this.lastBlock.flags|=1,this.endLine(),this.pos++}addLineStartIfNotCovered(e){this.blockPosCovered()||this.addLineStart(e)}ensureLine(e){this.curLine||this.addLineStart(e)}ensureMarks(e,t){var n;let r=this.curLine;for(let s=e.length-1;s>=0;s--){let o=e[s],a;if(t>0&&(a=r.lastChild)&&a instanceof Ve&&a.mark.eq(o))r=a,t--;else{let l=Ve.of(o,(n=this.cache.find(Ve,c=>c.mark.eq(o)))===null||n===void 0?void 0:n.dom);r.append(l),r=l,t=0}}return r}endLine(){if(this.curLine){this.flushBuffer();let e=this.curLine.lastChild;(!e||!vf(this.curLine,!1)||e.dom.nodeName!="BR"&&e.isWidget()&&!(L.ios&&vf(this.curLine,!0)))&&this.curLine.append(this.cache.findWidget(na,0,32)||new Zi(na.toDOM(),0,na,32)),this.curLine=this.afterWidget=null}}updateBlockWrappers(){this.wrapperPos>this.pos+1e4&&(this.blockWrappers.goto(this.pos),this.wrappers.length=0);for(let e=this.wrappers.length-1;e>=0;e--)this.wrappers[e].to=this.pos){let t=e.rank*102+e.value.rank,n=new ga(e.from,e.to,e.value,t),r=this.wrappers.length;for(;r>0&&(this.wrappers[r-1].rank-n.rank||this.wrappers[r-1].to-n.to)<0;)r--;this.wrappers.splice(r,0,n)}this.wrapperPos=this.pos}getBlockPos(){var e;this.updateBlockWrappers();let t=this.root;for(let n of this.wrappers){let r=t.lastChild;if(n.fromo.wrapper.eq(n.wrapper)))===null||e===void 0?void 0:e.dom);t.append(s),t=s}}return t}blockPosCovered(){let e=this.lastBlock;return e!=null&&!e.breakAfter&&(!e.isWidget()||(e.flags&160)>0)}getBuffer(e){let t=2|(e<0?16:32),n=this.cache.find(mn,void 0,1);return n&&(n.flags=t),n||new mn(t)}flushBuffer(){this.afterWidget&&!(this.afterWidget.flags&32)&&(this.afterWidget.parent.append(this.getBuffer(-1)),this.afterWidget=null)}},ba=class{constructor(e){this.skipCount=0,this.text="",this.textOff=0,this.cursor=e.iter()}skip(e){this.textOff+e<=this.text.length?this.textOff+=e:(this.skipCount+=e-(this.text.length-this.textOff),this.text="",this.textOff=0)}next(e){if(this.textOff==this.text.length){let{value:r,lineBreak:s,done:o}=this.cursor.next(this.skipCount);if(this.skipCount=0,o)throw new Error("Ran out of text content when drawing inline views");this.text=r;let a=this.textOff=Math.min(e,r.length);return s?null:r.slice(0,a)}let t=Math.min(this.text.length,this.textOff+e),n=this.text.slice(this.textOff,t);return this.textOff=t,n}},us=[Zi,pn,_i,Ve,mn,Lt,dn];for(let i=0;i[]),this.index=us.map(()=>0),this.reused=new Map}add(e){let t=e.constructor.bucket,n=this.buckets[t];n.length<6?n.push(e):n[this.index[t]=(this.index[t]+1)%6]=e}find(e,t,n=2){let r=e.bucket,s=this.buckets[r],o=this.index[r];for(let a=0;a{if(this.cache.add(o),o.isComposite())return!1},enter:o=>this.cache.add(o),leave:()=>{},break:()=>{}}}run(e,t){let n=t&&this.getCompositionContext(t.text);for(let r=0,s=0,o=0;;){let a=or){let c=l-r;this.preserve(c,!o,!a),r=l,s+=c}if(!a)break;t&&a.fromA<=t.range.fromA&&a.toA>=t.range.toA?(this.forward(a.fromA,t.range.fromA,t.range.fromA{if(o.isWidget())if(this.openWidget)this.builder.continueWidget(l-a);else{let c=l>0||a{o.isLine()?this.builder.addLineStart(o.attrs,this.cache.maybeReuse(o)):(this.cache.add(o),o instanceof Ve&&r.unshift(o.mark)),this.openWidget=!1},leave:o=>{o.isLine()?r.length&&(r.length=s=0):o instanceof Ve&&(r.shift(),s=Math.min(s,r.length))},break:()=>{this.builder.addBreak(),this.openWidget=!1}}),this.text.skip(e)}emit(e,t){let n=null,r=this.builder,s=-1,o=oe.spans(this.decorations,e,t,{point:(a,l,c,h,f,u)=>{if(c instanceof Ri){if(this.disallowBlockEffectsFor[u]){if(c.block)throw new RangeError("Block decorations may not be specified via plugins");if(l>this.view.state.doc.lineAt(a).to)throw new RangeError("Decorations that replace line breaks may not be specified via plugins")}if(s=h.length,f>h.length)r.continueWidget(l-a);else{let O=c.widget||(c.block?li.block:li.inline),p=M0(c),m=this.cache.findWidget(O,l-a,p)||Zi.of(O,this.view,l-a,p);c.block?(c.startSide>0&&r.addLineStartIfNotCovered(n),r.addBlockWidget(m)):(r.ensureLine(n),r.addInlineWidget(m,h,f))}n=null}else n=W0(n,c);l>a&&this.text.skip(l-a)},span:(a,l,c,h)=>{for(let f=a;f-1&&(this.openWidget=o>s),this.openWidget||r.addLineStartIfNotCovered(n),this.openMarks=o}forward(e,t,n=1){t-e<=10?this.old.advance(t-e,n,this.reuseWalker):(this.old.advance(5,-1,this.reuseWalker),this.old.advance(t-e-10,-1),this.old.advance(5,n,this.reuseWalker))}getCompositionContext(e){let t=[],n=null;for(let r=e.parentNode;;r=r.parentNode){let s=fe.get(r);if(r==this.view.contentDOM)break;s instanceof Ve?t.push(s):s?.isLine()?n=s:s instanceof Lt||(r.nodeName=="DIV"&&!n&&r!=this.view.contentDOM?n=new pn(r,Qu):n||t.push(Ve.of(new tr({tagName:r.nodeName.toLowerCase(),attributes:b0(r)}),r)))}return{line:n,marks:t}}};function vf(i,e){let t=n=>{for(let r of n.children)if((e?r.isText():r.length)||t(r))return!0;return!1};return t(i)}function M0(i){let e=i.isReplace?(i.startSide<0?64:0)|(i.endSide>0?128:0):i.startSide>0?32:16;return i.block&&(e|=256),e}var Qu={class:"cm-line"};function W0(i,e){let t=e.spec.attributes,n=e.spec.class;return!t&&!n||(i||(i={class:"cm-line"}),t&&Ya(t,i),n&&(i.class+=" "+n)),i}function j0(i){let e=[];for(let t=i.parents.length;t>1;t--){let n=t==i.parents.length?i.tile:i.parents[t].tile;n instanceof Ve&&e.push(n.mark)}return e}function ia(i){let e=fe.get(i);return e&&e.setDOM(i.cloneNode()),i}var li=class extends Re{constructor(e){super(),this.tag=e}eq(e){return e.tag==this.tag}toDOM(){return document.createElement(this.tag)}updateDOM(e){return e.nodeName.toLowerCase()==this.tag}get isHidden(){return!0}};li.inline=new li("span");li.block=new li("div");var na=new class extends Re{toDOM(){return document.createElement("br")}get isHidden(){return!0}get editable(){return!0}},Os=class{constructor(e){this.view=e,this.decorations=[],this.blockWrappers=[],this.dynamicDecorationMap=[!1],this.domChanged=null,this.hasComposition=null,this.editContextFormatting=Z.none,this.lastCompositionAfterCursor=!1,this.minWidth=0,this.minWidthFrom=0,this.minWidthTo=0,this.impreciseAnchor=null,this.impreciseHead=null,this.forceSelection=!1,this.lastUpdate=Date.now(),this.updateDeco(),this.tile=new dn(e,e.contentDOM),this.updateInner([new gt(0,0,0,e.state.doc.length)],null)}update(e){var t;let n=e.changedRanges;this.minWidth>0&&n.length&&(n.every(({fromA:h,toA:f})=>fthis.minWidthTo)?(this.minWidthFrom=e.changes.mapPos(this.minWidthFrom,1),this.minWidthTo=e.changes.mapPos(this.minWidthTo,1)):this.minWidth=this.minWidthFrom=this.minWidthTo=0),this.updateEditContextFormatting(e);let r=-1;this.view.inputState.composing>=0&&!this.view.observer.editContext&&(!((t=this.domChanged)===null||t===void 0)&&t.newSel?r=this.domChanged.newSel.head:!N0(e.changes,this.hasComposition)&&!e.selectionSet&&(r=e.state.selection.main.head));let s=r>-1?D0(this.view,e.changes,r):null;if(this.domChanged=null,this.hasComposition){let{from:h,to:f}=this.hasComposition;n=new gt(h,f,e.changes.mapPos(h,-1),e.changes.mapPos(f,1)).addToSet(n.slice())}this.hasComposition=s?{from:s.range.fromB,to:s.range.toB}:null,(L.ie||L.chrome)&&!s&&e&&e.state.doc.lines!=e.startState.doc.lines&&(this.forceSelection=!0);let o=this.decorations,a=this.blockWrappers;this.updateDeco();let l=B0(o,this.decorations,e.changes);l.length&&(n=gt.extendWithRanges(n,l));let c=U0(a,this.blockWrappers,e.changes);return c.length&&(n=gt.extendWithRanges(n,c)),s&&!n.some(h=>h.fromA<=s.range.fromA&&h.toA>=s.range.toA)&&(n=s.range.addToSet(n.slice())),this.tile.flags&2&&n.length==0?!1:(this.updateInner(n,s),e.transactions.length&&(this.lastUpdate=Date.now()),!0)}updateInner(e,t){this.view.viewState.mustMeasureContent=!0;let{observer:n}=this.view;n.ignore(()=>{if(t||e.length){let o=this.tile,a=new ya(this.view,o,this.blockWrappers,this.decorations,this.dynamicDecorationMap);t&&fe.get(t.text)&&a.cache.reused.set(fe.get(t.text),2),this.tile=a.run(e,t),ka(o,a.cache.reused)}this.tile.dom.style.height=this.view.viewState.contentHeight/this.view.scaleY+"px",this.tile.dom.style.flexBasis=this.minWidth?this.minWidth+"px":"";let s=L.chrome||L.ios?{node:n.selectionRange.focusNode,written:!1}:void 0;this.tile.sync(s),s&&(s.written||n.selectionRange.focusNode!=s.node||!this.tile.dom.contains(s.node))&&(this.forceSelection=!0),this.tile.dom.style.height=""});let r=[];if(this.view.viewport.from||this.view.viewport.to-1)&&Gn(n,this.view.observer.selectionRange)&&!(r&&n.contains(r));if(!(s||t||o))return;let a=this.forceSelection;this.forceSelection=!1;let l=this.view.state.selection.main,c,h;if(l.empty?h=c=this.inlineDOMNearPos(l.anchor,l.assoc||1):(h=this.inlineDOMNearPos(l.head,l.head==l.from?1:-1),c=this.inlineDOMNearPos(l.anchor,l.anchor==l.from?1:-1)),L.gecko&&l.empty&&!this.hasComposition&&V0(c)){let u=document.createTextNode("");this.view.observer.ignore(()=>c.node.insertBefore(u,c.node.childNodes[c.offset]||null)),c=h=new Tt(u,0),a=!0}let f=this.view.observer.selectionRange;(a||!f.focusNode||(!Nn(c.node,c.offset,f.anchorNode,f.anchorOffset)||!Nn(h.node,h.offset,f.focusNode,f.focusOffset))&&!this.suppressWidgetCursorChange(f,l))&&(this.view.observer.ignore(()=>{L.android&&L.chrome&&n.contains(f.focusNode)&&G0(f.focusNode,n)&&(n.blur(),n.focus({preventScroll:!0}));let u=nr(this.view.root);if(u)if(l.empty){if(L.gecko){let O=Y0(c.node,c.offset);if(O&&O!=3){let p=(O==1?Hf:Kf)(c.node,c.offset);p&&(c=new Tt(p.node,p.offset))}}u.collapse(c.node,c.offset),l.bidiLevel!=null&&u.caretBidiLevel!==void 0&&(u.caretBidiLevel=l.bidiLevel)}else if(u.extend){u.collapse(c.node,c.offset);try{u.extend(h.node,h.offset)}catch{}}else{let O=document.createRange();l.anchor>l.head&&([c,h]=[h,c]),O.setEnd(h.node,h.offset),O.setStart(c.node,c.offset),u.removeAllRanges(),u.addRange(O)}o&&this.view.root.activeElement==n&&(n.blur(),r&&r.focus())}),this.view.observer.setSelectionRange(c,h)),this.impreciseAnchor=c.precise?null:new Tt(f.anchorNode,f.anchorOffset),this.impreciseHead=h.precise?null:new Tt(f.focusNode,f.focusOffset)}suppressWidgetCursorChange(e,t){return this.hasComposition&&t.empty&&Nn(e.focusNode,e.focusOffset,e.anchorNode,e.anchorOffset)&&this.posFromDOM(e.focusNode,e.focusOffset)==t.head}enforceCursorAssoc(){if(this.hasComposition)return;let{view:e}=this,t=e.state.selection.main,n=nr(e.root),{anchorNode:r,anchorOffset:s}=e.observer.selectionRange;if(!n||!t.empty||!t.assoc||!n.modify)return;let o=this.lineAt(t.head,t.assoc);if(!o)return;let a=o.posAtStart;if(t.head==a||t.head==a+o.length)return;let l=this.coordsAt(t.head,-1),c=this.coordsAt(t.head,1);if(!l||!c||l.bottom>c.top)return;let h=this.domAtPos(t.head+t.assoc,t.assoc);n.collapse(h.node,h.offset),n.modify("move",t.assoc<0?"forward":"backward","lineboundary"),e.observer.readSelectionRange();let f=e.observer.selectionRange;e.docView.posFromDOM(f.anchorNode,f.anchorOffset)!=t.from&&n.collapse(r,s)}posFromDOM(e,t){let n=this.tile.nearest(e);if(!n)return this.tile.dom.compareDocumentPosition(e)&2?0:this.view.state.doc.length;let r=n.posAtStart;if(n.isComposite()){let s;if(e==n.dom)s=n.dom.childNodes[t];else{let o=Mt(e)==0?0:t==0?-1:1;for(;;){let a=e.parentNode;if(a==n.dom)break;o==0&&a.firstChild!=a.lastChild&&(e==a.firstChild?o=-1:o=1),e=a}o<0?s=e:s=e.nextSibling}if(s==n.dom.firstChild)return r;for(;s&&!fe.get(s);)s=s.nextSibling;if(!s)return r+n.length;for(let o=0,a=r;;o++){let l=n.children[o];if(l.dom==s)return a;a+=l.length+l.breakAfter}}else return n.isText()?e==n.dom?r+t:r+(t?n.length:0):r}domAtPos(e,t){let{tile:n,offset:r}=this.tile.resolveBlock(e,t);return n.isWidget()?n.domPosFor(r,t):n.domIn(r,t)}inlineDOMNearPos(e,t){let n,r=-1,s=!1,o,a=-1,l=!1;return this.tile.blockTiles((c,h)=>{if(c.isWidget()){if(c.flags&32&&h>=e)return!0;c.flags&16&&(s=!0)}else{let f=h+c.length;if(h<=e&&(n=c,r=e-h,s=f=e&&!o&&(o=c,a=e-h,l=h>e),h>e&&o)return!0}}),!n&&!o?this.domAtPos(e,t):(s&&o?n=null:l&&n&&(o=null),n&&t<0||!o?n.domIn(r,t):o.domIn(a,t))}coordsAt(e,t,n){let{tile:r,offset:s}=this.tile.resolveBlock(e,t);return r.isWidget()?r.widget instanceof Kn?null:r.coordsInWidget(s,t,!0):r.coordsIn(s,t,n)}lineAt(e,t){let{tile:n}=this.tile.resolveBlock(e,t);return n.isLine()?n:null}coordsForChar(e){let{tile:t,offset:n}=this.tile.resolveBlock(e,1);if(!t.isLine())return null;function r(s,o){if(s.isComposite())for(let a of s.children){if(a.length>=o){let l=r(a,o);if(l)return l}if(o-=a.length,o<0)break}else if(s.isText()&&oMath.max(this.view.scrollDOM.clientWidth,this.minWidth)+1,a=-1,l=this.view.textDirection==ue.LTR,c=0,h=(f,u,O)=>{for(let p=0;pr);p++){let m=f.children[p],b=u+m.length,g=m.dom.getBoundingClientRect(),{height:Q}=g;if(O&&!p&&(c+=g.top-O.top),m instanceof Lt)b>n&&h(m,u,g);else if(u>=n&&(c>0&&t.push(-c),t.push(Q+c),c=0,o)){let S=m.dom.lastChild,x=S?os(S):[];if(x.length){let P=x[x.length-1],$=l?P.right-g.left:g.right-P.left;$>a&&(a=$,this.minWidth=s,this.minWidthFrom=u,this.minWidthTo=b)}}O&&p==f.children.length-1&&(c+=O.bottom-g.bottom),u=b+m.breakAfter}};return h(this.tile,0,null),t}textDirectionAt(e){let{tile:t}=this.tile.resolveBlock(e,1);return getComputedStyle(t.dom).direction=="rtl"?ue.RTL:ue.LTR}measureTextSize(){let e=this.tile.blockTiles(o=>{if(o.isLine()&&o.children.length&&o.length<=20){let a=0,l;for(let c of o.children){if(!c.isText()||/[^ -~]/.test(c.text))return;let h=os(c.dom);if(h.length!=1)return;a+=h[0].width,l=h[0].height}if(a)return{lineHeight:o.dom.getBoundingClientRect().height,charWidth:a/o.length,textHeight:l}}});if(e)return e;let t=document.createElement("div"),n,r,s;return t.className="cm-line",t.style.width="99999px",t.style.position="absolute",t.textContent="abc def ghi jkl mno pqr stu",this.view.observer.ignore(()=>{this.tile.dom.appendChild(t);let o=os(t.firstChild)[0];n=t.getBoundingClientRect().height,r=o&&o.width?o.width/27:7,s=o&&o.height?o.height:n,t.remove()}),{lineHeight:n,charWidth:r,textHeight:s}}computeBlockGapDeco(){let e=[],t=this.view.viewState;for(let n=0,r=0;;r++){let s=r==t.viewports.length?null:t.viewports[r],o=s?s.from-1:this.view.state.doc.length;if(o>n){let a=(t.lineBlockAt(o).bottom-t.lineBlockAt(n).top)/this.view.scaleY;e.push(Z.replace({widget:new Kn(a),block:!0,inclusive:!0,isBlockGap:!0}).range(n,o))}if(!s)break;n=s.to+1}return Z.set(e)}updateDeco(){let e=1,t=this.view.state.facet(ys).map(s=>(this.dynamicDecorationMap[e++]=typeof s=="function")?s(this.view):s),n=!1,r=this.view.state.facet(Fa).map((s,o)=>{let a=typeof s=="function";return a&&(n=!0),a?s(this.view):s});for(r.length&&(this.dynamicDecorationMap[e++]=n,t.push(oe.join(r))),this.decorations=[this.editContextFormatting,...t,this.computeBlockGapDeco(),this.view.viewState.lineGapDeco];etypeof s=="function"?s(this.view):s)}scrollIntoView(e){if(e.isSnapshot){let c=this.view.viewState.lineBlockAt(e.range.head);this.view.scrollDOM.scrollTop=c.top-e.yMargin,this.view.scrollDOM.scrollLeft=e.xMargin;return}for(let c of this.view.state.facet(fu))try{if(c(this.view,e.range,e))return!0}catch(h){at(this.view.state,h,"scroll handler")}let{range:t}=e,n=this.coordsAt(t.head,t.assoc||(t.head>t.anchor?-1:1)),r;if(!n)return;!t.empty&&(r=this.coordsAt(t.anchor,t.anchor>t.head?-1:1))&&(n={left:Math.min(n.left,r.left),top:Math.min(n.top,r.top),right:Math.max(n.right,r.right),bottom:Math.max(n.bottom,r.bottom)});let s=gu(this.view),o={left:n.left-s.left,top:n.top-s.top,right:n.right+s.right,bottom:n.bottom+s.bottom},{offsetWidth:a,offsetHeight:l}=this.view.scrollDOM;if(k0(this.view.scrollDOM,o,t.head1&&(n.top>window.pageYOffset+window.visualViewport.offsetTop+window.visualViewport.height||n.bottomn.isWidget()||n.children.some(t);return t(this.tile.resolveBlock(e,1).tile)}destroy(){ka(this.tile)}};function ka(i,e){let t=e?.get(i);if(t!=1){t==null&&i.destroy();for(let n of i.children)ka(n,e)}}function V0(i){return i.node.nodeType==1&&i.node.firstChild&&(i.offset==0||i.node.childNodes[i.offset-1].contentEditable=="false")&&(i.offset==i.node.childNodes.length||i.node.childNodes[i.offset].contentEditable=="false")}function bu(i,e){let t=i.observer.selectionRange;if(!t.focusNode)return null;let n=Hf(t.focusNode,t.focusOffset),r=Kf(t.focusNode,t.focusOffset),s=n||r;if(r&&n&&r.node!=n.node){let a=fe.get(r.node);if(!a||a.isText()&&a.text!=r.node.nodeValue)s=r;else if(i.docView.lastCompositionAfterCursor){let l=fe.get(n.node);!l||l.isText()&&l.text!=n.node.nodeValue||(s=r)}}if(i.docView.lastCompositionAfterCursor=s!=n,!s)return null;let o=e-s.offset;return{from:o,to:o+s.node.nodeValue.length,node:s.node}}function D0(i,e,t){let n=bu(i,t);if(!n)return null;let{node:r,from:s,to:o}=n,a=r.nodeValue;if(/[\n\r]/.test(a)||i.state.doc.sliceString(n.from,n.to)!=a)return null;let l=e.invertedDesc;return{range:new gt(l.mapPos(s),l.mapPos(o),s,o),text:r}}function Y0(i,e){return i.nodeType!=1?0:(e&&i.childNodes[e-1].contentEditable=="false"?1:0)|(e{ne.from&&(t=!0)}),t}var Kn=class extends Re{constructor(e){super(),this.height=e}toDOM(){let e=document.createElement("div");return e.className="cm-gap",this.updateDOM(e),e}eq(e){return e.height==this.height}updateDOM(e){return e.style.height=this.height+"px",!0}get editable(){return!0}get estimatedHeight(){return this.height}ignoreEvent(){return!1}};function F0(i,e,t=1){let n=i.charCategorizer(e),r=i.doc.lineAt(e),s=e-r.from;if(r.length==0)return v.cursor(e);s==0?t=1:s==r.length&&(t=-1);let o=s,a=s;t<0?o=ke(r.text,s,!1):a=ke(r.text,s);let l=n(r.text.slice(o,a));for(;o>0;){let c=ke(r.text,o,!1);if(n(r.text.slice(c,o))!=l)break;o=c}for(;ai.defaultLineHeight*1.5){let a=i.viewState.heightOracle.textHeight,l=Math.floor((r-t.top-(i.defaultLineHeight-a)*.5)/a);s+=l*i.viewState.heightOracle.lineLength}let o=i.state.sliceDoc(t.from,t.to);return t.from+Of(o,s,i.state.tabSize)}function K0(i,e,t){let n=i.lineBlockAt(e);if(Array.isArray(n.type)){let r;for(let s of n.type){if(s.from>e)break;if(!(s.toe)return s;(!r||s.type==lt.Text&&(r.type!=s.type||(t<0?s.frome)))&&(r=s)}}return r||n}return n}function J0(i,e,t,n){let r=K0(i,e.head,e.assoc||-1),s=!n||r.type!=lt.Text||!(i.lineWrapping||r.widgetLineBreaks)?null:i.coordsAtPos(e.assoc<0&&e.head>r.from?e.head-1:e.head);if(s){let o=i.dom.getBoundingClientRect(),a=i.textDirectionAt(r.from),l=i.posAtCoords({x:t==(a==ue.LTR)?o.right-1:o.left+1,y:(s.top+s.bottom)/2});if(l!=null)return v.cursor(l,t?-1:1)}return v.cursor(t?r.to:r.from,t?-1:1)}function $f(i,e,t,n){let r=i.state.doc.lineAt(e.head),s=i.bidiSpans(r),o=i.textDirectionAt(r.from);for(let a=e,l=null;;){let c=R0(r,s,o,a,t),h=nu;if(!c){if(r.number==(t?i.state.doc.lines:1))return a;h=` -`,r=i.state.doc.line(r.number+(t?1:-1)),s=i.bidiSpans(r),c=i.visualLineSide(r,!t)}if(l){if(!l(h))return a}else{if(!n)return c;l=n(h)}a=c}}function eQ(i,e,t){let n=i.state.charCategorizer(e),r=n(t);return s=>{let o=n(s);return r==Ee.Space&&(r=o),r==o}}function tQ(i,e,t,n){let r=e.head,s=t?1:-1;if(r==(t?i.state.doc.length:0))return v.cursor(r,e.assoc);let o=e.goalColumn,a,l=i.contentDOM.getBoundingClientRect(),c=i.coordsAtPos(r,e.assoc||((e.empty?t:e.head==e.from)?1:-1)),h=i.documentTop;if(c)o==null&&(o=c.left-l.left),a=s<0?c.top:c.bottom;else{let p=i.viewState.lineBlockAt(r);o==null&&(o=Math.min(l.right-l.left,i.defaultCharacterWidth*(r-p.from))),a=(s<0?p.top:p.bottom)+h}let f=l.left+o,u=i.viewState.heightOracle.textHeight>>1,O=n??u;for(let p=0;;p+=u){let m=a+(O+p)*s,b=wa(i,{x:f,y:m},!1,s);if(t?m>l.bottom:ma:Q{if(e>s&&er(i)),t.from,e.head>t.from?-1:1);return n==t.from?t:v.cursor(n,ni.viewState.docHeight)return new st(i.state.doc.length,-1);if(c=i.elementAtHeight(l),n==null)break;if(c.type==lt.Text){if(n<0?c.toi.viewport.to)break;let u=i.docView.coordsAt(n<0?c.from:c.to,n>0?-1:1);if(u&&(n<0?u.top<=l+s:u.bottom>=l+s))break}let f=i.viewState.heightOracle.textHeight/2;l=n>0?c.bottom+f:c.top-f}if(i.viewport.from>=c.to||i.viewport.to<=c.from){if(t)return null;if(c.type==lt.Text){let f=H0(i,r,c,o,a);return new st(f,f==c.from?1:-1)}}if(c.type!=lt.Text)return l<(c.top+c.bottom)/2?new st(c.from,1):new st(c.to,-1);let h=i.docView.lineAt(c.from,2);return(!h||h.length!=c.length)&&(h=i.docView.lineAt(c.from,-2)),new Pa(i,o,a,i.textDirectionAt(c.from)).scanTile(h,c.from)}var Pa=class{constructor(e,t,n,r){this.view=e,this.x=t,this.y=n,this.baseDir=r,this.line=null,this.spans=null}bidiSpansAt(e){return(!this.line||this.line.from>e||this.line.to1||n.length&&(n[0].level!=this.baseDir||n[0].to+r.from>1;t:if(o.has(m)){let g=r+Math.floor(Math.random()*p);for(let Q=0;Q1)){if(Q.bottomthis.y)(!c||c.top>Q.top)&&(c=Q),S=-1;else{let x=Q.left>this.x?this.x-Q.left:Q.right(p+p+m)/3)return this.y=l.bottom-1,this.scan(e,t,!0);if(c&&c.top<(p+m+m)/3)return this.y=c.top+1,this.scan(e,t,!0)}let O=(a?this.dirAt(e[h],1):this.baseDir)==ue.LTR;return{i:h,after:this.x>(u.left+u.right)/2==O}}scanText(e,t){let n=[];for(let s=0;s{let o=n[s]-t,a=n[s+1]-t;return rr(e.dom,o,a).getClientRects()});return r.after?new st(n[r.i+1],-1):new st(n[r.i],1)}scanTile(e,t){if(!e.length)return new st(t,1);if(e.children.length==1){let a=e.children[0];if(a.isText())return this.scanText(a,t);if(a.isComposite())return this.scanTile(a,t)}let n=[t];for(let a=0,l=t;a{let l=e.children[a];return l.flags&48?null:(l.dom.nodeType==1?l.dom:rr(l.dom,0,l.length)).getClientRects()}),s=e.children[r.i],o=n[r.i];return s.isText()?this.scanText(s,o):s.isComposite()?this.scanTile(s,o):r.after?new st(n[r.i+1],-1):new st(o,1)}},ln="\uFFFF",va=class{constructor(e,t){this.points=e,this.view=t,this.text="",this.lineSeparator=t.state.facet(re.lineSeparator)}append(e){this.text+=e}lineBreak(){this.text+=ln}readRange(e,t){if(!e)return this;let n=e.parentNode;for(let r=e;;){this.findPointBefore(n,r);let s=this.text.length;this.readNode(r);let o=fe.get(r),a=r.nextSibling;if(a==t){o?.breakAfter&&!a&&n!=this.view.contentDOM&&this.lineBreak();break}let l=fe.get(a);(o&&l?o.breakAfter:(o?o.breakAfter:cs(r))||cs(a)&&(r.nodeName!="BR"||o?.isWidget())&&this.text.length>s)&&!nQ(a,t)&&this.lineBreak(),r=a}return this.findPointBefore(n,t),this}readTextNode(e){let t=e.nodeValue;for(let n of this.points)n.node==e&&(n.pos=this.text.length+Math.min(n.offset,t.length));for(let n=0,r=this.lineSeparator?null:/\r\n?|\n/g;;){let s=-1,o=1,a;if(this.lineSeparator?(s=t.indexOf(this.lineSeparator,n),o=this.lineSeparator.length):(a=r.exec(t))&&(s=a.index,o=a[0].length),this.append(t.slice(n,s<0?t.length:s)),s<0)break;if(this.lineBreak(),o>1)for(let l of this.points)l.node==e&&l.pos>this.text.length&&(l.pos-=o-1);n=s+o}}readNode(e){let t=fe.get(e),n=t&&t.overrideDOMText;if(n!=null){this.findPointInside(e,n.length);for(let r=n.iter();!r.next().done;)r.lineBreak?this.lineBreak():this.append(r.value)}else e.nodeType==3?this.readTextNode(e):e.nodeName=="BR"?e.nextSibling&&this.lineBreak():e.nodeType==1&&this.readRange(e.firstChild,null)}findPointBefore(e,t){for(let n of this.points)n.node==e&&e.childNodes[n.offset]==t&&(n.pos=this.text.length)}findPointInside(e,t){for(let n of this.points)(e.nodeType==3?n.node==e:e.contains(n.node))&&(n.pos=this.text.length+(iQ(e,n.node,n.offset)?t:0))}};function iQ(i,e,t){for(;;){if(!e||t-1;let{impreciseHead:s,impreciseAnchor:o}=e.docView,a=e.state.selection;if(e.state.readOnly&&t>-1)this.newSel=null;else if(t>-1&&(this.bounds=yu(e.docView.tile,t,n,0))){let l=s||o?[]:sQ(e),c=new va(l,e);c.readRange(this.bounds.startDOM,this.bounds.endDOM),this.text=c.text,this.newSel=oQ(l,this.bounds.from)}else{let l=e.observer.selectionRange,c=s&&s.node==l.focusNode&&s.offset==l.focusOffset||!ha(e.contentDOM,l.focusNode)?a.main.head:e.docView.posFromDOM(l.focusNode,l.focusOffset),h=o&&o.node==l.anchorNode&&o.offset==l.anchorOffset||!ha(e.contentDOM,l.anchorNode)?a.main.anchor:e.docView.posFromDOM(l.anchorNode,l.anchorOffset),f=e.viewport;if((L.ios||L.chrome)&&c!=h&&Math.min(c,h)<=a.main.from&&Math.max(c,h)>=a.main.to&&(f.from>0||f.to-1&&a.ranges.length>1)this.newSel=a.replaceRange(v.range(h,c));else if(e.lineWrapping&&h==c&&!(a.main.empty&&a.main.head==c)&&e.inputState.lastTouchTime>Date.now()-100){let u=e.coordsAtPos(c,-1),O=0;u&&(O=e.inputState.lastTouchY<=u.bottom?-1:1),this.newSel=v.create([v.cursor(c,O)])}else this.newSel=v.single(h,c)}}};function yu(i,e,t,n){if(i.isComposite()){let r=-1,s=-1,o=-1,a=-1;for(let l=0,c=n,h=n;lt)return yu(f,e,t,c);if(u>=e&&r==-1&&(r=l,s=c),c>t&&f.dom.parentNode==i.dom){o=l,a=h;break}h=u,c=u+f.breakAfter}return{from:s,to:a<0?n+i.length:a,startDOM:(r?i.children[r-1].dom.nextSibling:null)||i.dom.firstChild,endDOM:o=0?i.children[o].dom:null}}else return i.isText()?{from:n,to:n+i.length,startDOM:i.dom,endDOM:i.dom.nextSibling}:null}function ku(i,e){let t,{newSel:n}=e,{state:r}=i,s=r.selection.main,o=i.inputState.lastKeyTime>Date.now()-100?i.inputState.lastKeyCode:-1;if(e.bounds){let{from:a,to:l}=e.bounds,c=s.from,h=null;(o===8||L.android&&e.text.length=a&&s.to<=l&&(e.typeOver||f!=e.text)&&f.slice(0,s.from-a)==e.text.slice(0,s.from-a)&&f.slice(s.to-a)==e.text.slice(u=e.text.length-(f.length-(s.to-a)))?t={from:s.from,to:s.to,insert:H.of(e.text.slice(s.from-a,u).split(ln))}:(O=xu(f,e.text,c-a,h))&&(L.chrome&&o==13&&O.toB==O.from+2&&e.text.slice(O.from,O.toB)==ln+ln&&O.toB--,t={from:a+O.from,to:a+O.toA,insert:H.of(e.text.slice(O.from,O.toB).split(ln))})}else n&&(!i.hasFocus&&r.facet(zt)||ps(n,s))&&(n=null);if(!t&&!n)return!1;if((L.mac||L.android)&&t&&t.from==t.to&&t.from==s.head-1&&/^\. ?$/.test(t.insert.toString())&&i.contentDOM.getAttribute("autocorrect")=="off"?(n&&t.insert.length==2&&(n=v.single(n.main.anchor-1,n.main.head-1)),t={from:t.from,to:t.to,insert:H.of([t.insert.toString().replace("."," ")])}):r.doc.lineAt(s.from).toDate.now()-50?t={from:s.from,to:s.to,insert:r.toText(i.inputState.insertingText)}:L.chrome&&t&&t.from==t.to&&t.from==s.head&&t.insert.toString()==` - `&&i.lineWrapping&&(n&&(n=v.single(n.main.anchor-1,n.main.head-1)),t={from:s.from,to:s.to,insert:H.of([" "])}),t)return Ha(i,t,n,o);if(n&&!ps(n,s)){let a=!1,l="select";return i.inputState.lastSelectionTime>Date.now()-50&&(i.inputState.lastSelectionOrigin=="select"&&(a=!0),l=i.inputState.lastSelectionOrigin,l=="select.pointer"&&(n=Su(r.facet(sr).map(c=>c(i)),n))),i.dispatch({selection:n,scrollIntoView:a,userEvent:l}),!0}else return!1}function Ha(i,e,t,n=-1){if(L.ios&&i.inputState.flushIOSKey(e))return!0;let r=i.state.selection.main;if(L.android&&(e.to==r.to&&(e.from==r.from||e.from==r.from-1&&i.state.sliceDoc(e.from,r.from)==" ")&&e.insert.length==1&&e.insert.lines==2&&un(i.contentDOM,"Enter",13)||(e.from==r.from-1&&e.to==r.to&&e.insert.length==0||n==8&&e.insert.lengthr.head)&&un(i.contentDOM,"Backspace",8)||e.from==r.from&&e.to==r.to+1&&e.insert.length==0&&un(i.contentDOM,"Delete",46)))return!0;let s=e.insert.toString();i.inputState.composing>=0&&i.inputState.composing++;let o,a=()=>o||(o=rQ(i,e,t));return i.state.facet(lu).some(l=>l(i,e.from,e.to,s,a))||i.dispatch(a()),!0}function rQ(i,e,t){let n,r=i.state,s=r.selection.main,o=-1;if(e.from==e.to&&e.froms.to){let l=e.fromf(i)),c,l);e.from==h&&(o=h)}if(o>-1)n={changes:e,selection:v.cursor(e.from+e.insert.length,-1)};else if(e.from>=s.from&&e.to<=s.to&&e.to-e.from>=(s.to-s.from)/3&&(!t||t.main.empty&&t.main.from==e.from+e.insert.length)&&i.inputState.composing<0){let l=s.frome.to?r.sliceDoc(e.to,s.to):"";n=r.replaceSelection(i.state.toText(l+e.insert.sliceString(0,void 0,i.state.lineBreak)+c))}else{let l=r.changes(e),c=t&&t.main.to<=l.newLength?t.main:void 0;if(r.selection.ranges.length>1&&(i.inputState.composing>=0||i.inputState.compositionPendingChange)&&e.to<=s.to+10&&e.to>=s.to-10){let h=i.state.sliceDoc(e.from,e.to),f,u=t&&bu(i,t.main.head);if(u){let p=e.insert.length-(e.to-e.from);f={from:u.from,to:u.to-p}}else f=i.state.doc.lineAt(s.head);let O=s.to-e.to;n=r.changeByRange(p=>{if(p.from==s.from&&p.to==s.to)return{changes:l,range:c||p.map(l)};let m=p.to-O,b=m-h.length;if(i.state.sliceDoc(b,m)!=h||m>=f.from&&b<=f.to)return{range:p};let g=r.changes({from:b,to:m,insert:e.insert}),Q=p.to-s.to;return{changes:g,range:c?v.range(Math.max(0,c.anchor+Q),Math.max(0,c.head+Q)):p.map(g)}})}else n={changes:l,selection:c&&r.selection.replaceRange(c)}}let a="input.type";return(i.composing||i.inputState.compositionPendingChange&&i.inputState.compositionEndedAt>Date.now()-50)&&(i.inputState.compositionPendingChange=!1,a+=".compose",i.inputState.compositionFirstChange&&(a+=".start",i.inputState.compositionFirstChange=!1)),r.update(n,{userEvent:a,scrollIntoView:!0})}function xu(i,e,t,n){let r=Math.min(i.length,e.length),s=0;for(;s0&&a>0&&i.charCodeAt(o-1)==e.charCodeAt(a-1);)o--,a--;if(n=="end"){let l=Math.max(0,s-Math.min(o,a));t-=o+l-s}if(o=o?s-t:0;s-=l,a=s+(a-o),o=s}else if(a=a?s-t:0;s-=l,o=s+(o-a),a=s}return{from:s,toA:o,toB:a}}function sQ(i){let e=[];if(i.root.activeElement!=i.contentDOM)return e;let{anchorNode:t,anchorOffset:n,focusNode:r,focusOffset:s}=i.observer.selectionRange;return t&&(e.push(new ds(t,n)),(r!=t||s!=n)&&e.push(new ds(r,s))),e}function oQ(i,e){if(i.length==0)return null;let t=i[0].pos,n=i.length==2?i[1].pos:t;return t>-1&&n>-1?v.single(t+e,n+e):null}function ps(i,e){return e.head==i.main.head&&e.anchor==i.main.anchor}var Ta=class{setSelectionOrigin(e){this.lastSelectionOrigin=e,this.lastSelectionTime=Date.now()}constructor(e){this.view=e,this.lastKeyCode=0,this.lastKeyTime=0,this.touchActive=!1,this.lastTouchTime=0,this.lastTouchX=0,this.lastTouchY=0,this.lastFocusTime=0,this.lastScrollTop=0,this.lastScrollLeft=0,this.lastWheelEvent=0,this.pendingIOSKey=void 0,this.lastIOSMomentumScroll=0,this.tabFocusMode=-1,this.lastSelectionOrigin=null,this.lastSelectionTime=0,this.lastContextMenu=0,this.scrollHandlers=[],this.handlers=Object.create(null),this.composing=-1,this.compositionFirstChange=null,this.compositionEndedAt=0,this.compositionPendingKey=!1,this.compositionPendingChange=!1,this.insertingText="",this.insertingTextAt=0,this.mouseSelection=null,this.draggedContent=null,this.handleEvent=this.handleEvent.bind(this),this.notifiedFocused=e.hasFocus,L.safari&&e.contentDOM.addEventListener("input",()=>null),L.gecko&&yQ(e.contentDOM.ownerDocument)}handleEvent(e){!dQ(this.view,e)||this.ignoreDuringComposition(e)||e.type=="keydown"&&this.keydown(e)||(this.view.updateState!=0?Promise.resolve().then(()=>this.runHandlers(e.type,e)):this.runHandlers(e.type,e))}runHandlers(e,t){let n=this.handlers[e];if(n){for(let r of n.observers)r(this.view,t);for(let r of n.handlers){if(t.defaultPrevented)break;if(r(this.view,t)){t.preventDefault();break}}}}ensureHandlers(e){let t=lQ(e),n=this.handlers,r=this.view.contentDOM;for(let s in t)if(s!="scroll"){let o=!t[s].handlers.length,a=n[s];a&&o!=!a.handlers.length&&(r.removeEventListener(s,this.handleEvent),a=null),a||r.addEventListener(s,this.handleEvent,{passive:o})}for(let s in n)s!="scroll"&&!t[s]&&r.removeEventListener(s,this.handleEvent);this.handlers=t}keydown(e){if(this.lastKeyCode=e.keyCode,this.lastKeyTime=Date.now(),e.keyCode==9&&this.tabFocusMode>-1&&(!this.tabFocusMode||Date.now()<=this.tabFocusMode))return!0;if(this.tabFocusMode>0&&e.keyCode!=27&&Pu.indexOf(e.keyCode)<0&&(this.tabFocusMode=-1),L.android&&L.chrome&&!e.synthetic&&(e.keyCode==13||e.keyCode==8))return this.view.observer.delayAndroidKey(e.key,e.keyCode),!0;if(L.ios&&!e.synthetic&&!e.altKey&&!e.metaKey&&(wu.some(t=>t.keyCode==e.keyCode)&&!e.ctrlKey||cQ.indexOf(e.key)>-1&&e.ctrlKey)){let t={ctrlKey:e.ctrlKey,altKey:e.altKey,metaKey:e.metaKey,shiftKey:e.shiftKey};return t.shiftKey&&L.ios&&!/^(off|none)$/.test(this.view.contentDOM.autocapitalize)&&aQ(this.view.win)&&(t.shiftKey=!1),this.pendingIOSKey={key:e.key,keyCode:e.keyCode,mods:t},setTimeout(()=>this.flushIOSKey(),250),!0}return e.keyCode!=229&&this.view.observer.forceFlush(),!1}flushIOSKey(e){let t=this.pendingIOSKey;return!t||t.key=="Enter"&&e&&e.from0?!0:L.safari&&!L.ios&&this.compositionPendingKey&&Date.now()-this.compositionEndedAt<100?(this.compositionPendingKey=!1,!0):!1}startMouseSelection(e){this.mouseSelection&&this.mouseSelection.destroy(),this.mouseSelection=e}update(e){this.view.observer.update(e),this.mouseSelection&&this.mouseSelection.update(e),this.draggedContent&&e.docChanged&&(this.draggedContent=this.draggedContent.map(e.changes)),e.transactions.length&&(this.lastKeyCode=this.lastSelectionTime=0)}destroy(){this.mouseSelection&&this.mouseSelection.destroy()}};function aQ(i){return i.visualViewport?i.visualViewport.height*i.visualViewport.scale/i.document.documentElement.clientHeight<.85:!1}function Tf(i,e){return(t,n)=>{try{return e.call(i,n,t)}catch(r){at(t.state,r)}}}function lQ(i){let e=Object.create(null);function t(n){return e[n]||(e[n]={observers:[],handlers:[]})}for(let n of i){let r=n.spec,s=r&&r.plugin.domEventHandlers,o=r&&r.plugin.domEventObservers;if(s)for(let a in s){let l=s[a];l&&t(a).handlers.push(Tf(n.value,l))}if(o)for(let a in o){let l=o[a];l&&t(a).observers.push(Tf(n.value,l))}}for(let n in Qt)t(n).handlers.push(Qt[n]);for(let n in Me)t(n).observers.push(Me[n]);return e}var wu=[{key:"Backspace",keyCode:8,inputType:"deleteContentBackward"},{key:"Enter",keyCode:13,inputType:"insertParagraph"},{key:"Enter",keyCode:13,inputType:"insertLineBreak"},{key:"Delete",keyCode:46,inputType:"deleteContentForward"}],cQ="dthko",Pu=[16,17,18,20,91,92,224,225],es=6;function ts(i){return Math.max(0,i)*.7+8}function hQ(i,e){return Math.max(Math.abs(i.clientX-e.clientX),Math.abs(i.clientY-e.clientY))}var Ca=class{constructor(e,t,n,r){this.view=e,this.startEvent=t,this.style=n,this.mustSelect=r,this.scrollSpeed={x:0,y:0},this.scrolling=-1,this.lastEvent=t,this.scrollParents=Gf(e.contentDOM),this.atoms=e.state.facet(sr).map(o=>o(e));let s=e.contentDOM.ownerDocument;s.addEventListener("mousemove",this.move=this.move.bind(this)),s.addEventListener("mouseup",this.up=this.up.bind(this)),this.extend=t.shiftKey,this.multiple=e.state.facet(re.allowMultipleSelections)&&fQ(e,t),this.dragging=OQ(e,t)&&Tu(t)==1?null:!1}start(e){this.dragging===!1&&this.select(e)}move(e){if(e.buttons==0)return this.destroy();if(this.dragging||this.dragging==null&&hQ(this.startEvent,e)<10)return;this.select(this.lastEvent=e);let t=0,n=0,r=0,s=0,o=this.view.win.innerWidth,a=this.view.win.innerHeight;this.scrollParents.x&&({left:r,right:o}=this.scrollParents.x.getBoundingClientRect()),this.scrollParents.y&&({top:s,bottom:a}=this.scrollParents.y.getBoundingClientRect());let l=gu(this.view);e.clientX-l.left<=r+es?t=-ts(r-e.clientX):e.clientX+l.right>=o-es&&(t=ts(e.clientX-o)),e.clientY-l.top<=s+es?n=-ts(s-e.clientY):e.clientY+l.bottom>=a-es&&(n=ts(e.clientY-a)),this.setScrollSpeed(t,n)}up(e){this.dragging==null&&this.select(this.lastEvent),this.dragging||e.preventDefault(),this.destroy()}destroy(){this.setScrollSpeed(0,0);let e=this.view.contentDOM.ownerDocument;e.removeEventListener("mousemove",this.move),e.removeEventListener("mouseup",this.up),this.view.inputState.mouseSelection=this.view.inputState.draggedContent=null}setScrollSpeed(e,t){this.scrollSpeed={x:e,y:t},e||t?this.scrolling<0&&(this.scrolling=setInterval(()=>this.scroll(),50)):this.scrolling>-1&&(clearInterval(this.scrolling),this.scrolling=-1)}scroll(){let{x:e,y:t}=this.scrollSpeed;e&&this.scrollParents.x&&(this.scrollParents.x.scrollLeft+=e,e=0),t&&this.scrollParents.y&&(this.scrollParents.y.scrollTop+=t,t=0),(e||t)&&this.view.win.scrollBy(e,t),this.dragging===!1&&this.select(this.lastEvent)}select(e){let{view:t}=this,n=Su(this.atoms,this.style.get(e,this.extend,this.multiple));(this.mustSelect||!n.eq(t.state.selection,this.dragging===!1))&&this.view.dispatch({selection:n,userEvent:"select.pointer"}),this.mustSelect=!1}update(e){e.transactions.some(t=>t.isUserEvent("input.type"))?this.destroy():this.style.update(e)&&setTimeout(()=>this.select(this.lastEvent),20)}};function fQ(i,e){let t=i.state.facet(ru);return t.length?t[0](e):L.mac?e.metaKey:e.ctrlKey}function uQ(i,e){let t=i.state.facet(su);return t.length?t[0](e):L.mac?!e.altKey:!e.ctrlKey}function OQ(i,e){let{main:t}=i.state.selection;if(t.empty)return!1;let n=nr(i.root);if(!n||n.rangeCount==0)return!0;let r=n.getRangeAt(0).getClientRects();for(let s=0;s=e.clientX&&o.top<=e.clientY&&o.bottom>=e.clientY)return!0}return!1}function dQ(i,e){if(!e.bubbles)return!0;if(e.defaultPrevented)return!1;for(let t=e.target,n;t!=i.contentDOM;t=t.parentNode)if(!t||t.nodeType==11||(n=fe.get(t))&&n.isWidget()&&!n.isHidden&&n.widget.ignoreEvent(e))return!1;return!0}var Qt=Object.create(null),Me=Object.create(null),vu=L.ie&&L.ie_version<15||L.ios&&L.webkit_version<604;function pQ(i){let e=i.dom.parentNode;if(!e)return;let t=e.appendChild(document.createElement("textarea"));t.style.cssText="position: fixed; left: -10000px; top: 10px",t.focus(),setTimeout(()=>{i.focus(),t.remove(),$u(i,t.value)},50)}function ks(i,e,t){for(let n of i.facet(e))t=n(t,i);return t}function $u(i,e){e=ks(i.state,Ua,e);let{state:t}=i,n,r=1,s=t.toText(e),o=s.lines==t.selection.ranges.length;if(Xa!=null&&t.selection.ranges.every(l=>l.empty)&&Xa==s.toString()){let l=-1;n=t.changeByRange(c=>{let h=t.doc.lineAt(c.from);if(h.from==l)return{range:c};l=h.from;let f=t.toText((o?s.line(r++).text:e)+t.lineBreak);return{changes:{from:h.from,insert:f},range:v.cursor(c.from+f.length)}})}else o?n=t.changeByRange(l=>{let c=s.line(r++);return{changes:{from:l.from,to:l.to,insert:c.text},range:v.cursor(l.from+c.length)}}):n=t.replaceSelection(s);i.dispatch(n,{userEvent:"input.paste",scrollIntoView:!0})}Me.scroll=i=>{let e=i.inputState;e.lastScrollTop=i.scrollDOM.scrollTop,e.lastScrollLeft=i.scrollDOM.scrollLeft,L.ios&&!e.touchActive&&(e.lastIOSMomentumScroll=Date.now())};Me.wheel=Me.mousewheel=i=>{i.inputState.lastWheelEvent=Date.now()};Qt.keydown=(i,e)=>(i.inputState.setSelectionOrigin("select"),e.keyCode==27&&i.inputState.tabFocusMode!=0&&(i.inputState.tabFocusMode=Date.now()+2e3),!1);Me.touchstart=(i,e)=>{let t=i.inputState,n=e.targetTouches[0];t.touchActive=!0,t.lastTouchTime=Date.now(),n&&(t.lastTouchX=n.clientX,t.lastTouchY=n.clientY),t.setSelectionOrigin("select.pointer")};Me.touchmove=i=>{i.inputState.setSelectionOrigin("select.pointer")};Me.touchend=(i,e)=>{i.inputState.touchActive=!1};Qt.mousedown=(i,e)=>{if(i.observer.flush(),i.inputState.lastTouchTime>Date.now()-2e3)return!1;let t=null;for(let n of i.state.facet(ou))if(t=n(i,e),t)break;if(!t&&e.button==0&&(t=gQ(i,e)),t){let n=!i.hasFocus;i.inputState.startMouseSelection(new Ca(i,e,t,n)),n&&i.observer.ignore(()=>{Nf(i.contentDOM);let s=i.root.activeElement;s&&!s.contains(i.contentDOM)&&s.blur()});let r=i.inputState.mouseSelection;if(r)return r.start(e),r.dragging===!1}else i.inputState.setSelectionOrigin("select.pointer");return!1};function Cf(i,e,t,n){if(n==1)return v.cursor(e,t);if(n==2)return F0(i.state,e,t);{let r=i.docView.lineAt(e,t),s=i.state.doc.lineAt(r?r.posAtEnd:e),o=r?r.posAtStart:s.from,a=r?r.posAtEnd:s.to;return aDate.now()-400&&Math.abs(e.clientX-i.clientX)<2&&Math.abs(e.clientY-i.clientY)<2?(_f+1)%3:1}function gQ(i,e){let t=i.posAndSideAtCoords({x:e.clientX,y:e.clientY},!1),n=Tu(e),r=i.state.selection;return{update(s){s.docChanged&&(t.pos=s.changes.mapPos(t.pos),r=r.map(s.changes))},get(s,o,a){let l=i.posAndSideAtCoords({x:s.clientX,y:s.clientY},!1),c,h=Cf(i,l.pos,l.assoc,n);if(t.pos!=l.pos&&!o){let f=Cf(i,t.pos,t.assoc,n),u=Math.min(f.from,h.from),O=Math.max(f.to,h.to);h=u1&&(c=QQ(r,l.pos))?c:a?r.addRange(h):v.create([h])}}}function QQ(i,e){for(let t=0;t=e)return v.create(i.ranges.slice(0,t).concat(i.ranges.slice(t+1)),i.mainIndex==t?0:i.mainIndex-(i.mainIndex>t?1:0))}return null}Qt.dragstart=(i,e)=>{let{selection:{main:t}}=i.state;if(e.target.draggable){let r=i.docView.tile.nearest(e.target);if(r&&r.isWidget()){let s=r.posAtStart,o=s+r.length;(s>=t.to||o<=t.from)&&(t=v.undirectionalRange(s,o))}}let{inputState:n}=i;return n.mouseSelection&&(n.mouseSelection.dragging=!0),n.draggedContent=t,e.dataTransfer&&(e.dataTransfer.setData("Text",ks(i.state,Ga,i.state.sliceDoc(t.from,t.to))),e.dataTransfer.effectAllowed="copyMove"),!1};Qt.dragend=i=>(i.inputState.draggedContent=null,!1);function Af(i,e,t,n){if(t=ks(i.state,Ua,t),!t)return;let r=i.posAtCoords({x:e.clientX,y:e.clientY},!1),{draggedContent:s}=i.inputState,o=n&&s&&uQ(i,e)?{from:s.from,to:s.to}:null,a={from:r,insert:t},l=i.state.changes(o?[o,a]:a);i.focus(),i.dispatch({changes:l,selection:{anchor:l.mapPos(r,-1),head:l.mapPos(r,1)},userEvent:o?"move.drop":"input.drop"}),i.inputState.draggedContent=null}Qt.drop=(i,e)=>{if(!e.dataTransfer)return!1;if(i.state.readOnly)return!0;let t=e.dataTransfer.files;if(t&&t.length){let n=Array(t.length),r=0,s=()=>{++r==t.length&&Af(i,e,n.filter(o=>o!=null).join(i.state.lineBreak),!1)};for(let o=0;o{/[\x00-\x08\x0e-\x1f]{2}/.test(a.result)||(n[o]=a.result),s()},a.readAsText(t[o])}return!0}else{let n=e.dataTransfer.getData("Text");if(n)return Af(i,e,n,!0),!0}return!1};Qt.paste=(i,e)=>{if(i.state.readOnly)return!0;i.observer.flush();let t=vu?null:e.clipboardData;return t?($u(i,t.getData("text/plain")||t.getData("text/uri-list")),!0):(pQ(i),!1)};function bQ(i,e){let t=i.dom.parentNode;if(!t)return;let n=t.appendChild(document.createElement("textarea"));n.style.cssText="position: fixed; left: -10000px; top: 10px",n.value=e,n.focus(),n.selectionEnd=e.length,n.selectionStart=0,setTimeout(()=>{n.remove(),i.focus()},50)}function SQ(i){let e=[],t=[],n=!1;for(let r of i.selection.ranges)r.empty||(e.push(i.sliceDoc(r.from,r.to)),t.push(r));if(!e.length){let r=-1;for(let{from:s}of i.selection.ranges){let o=i.doc.lineAt(s);o.number>r&&(e.push(o.text),t.push({from:o.from,to:Math.min(i.doc.length,o.to+1)})),r=o.number}n=!0}return{text:ks(i,Ga,e.join(i.lineBreak)),ranges:t,linewise:n}}var Xa=null;Qt.copy=Qt.cut=(i,e)=>{if(!Gn(i.contentDOM,i.observer.selectionRange))return!1;let{text:t,ranges:n,linewise:r}=SQ(i.state);if(!t&&!r)return!1;Xa=r?t:null,e.type=="cut"&&!i.state.readOnly&&i.dispatch({changes:n,scrollIntoView:!0,userEvent:"delete.cut"});let s=vu?null:e.clipboardData;return s?(s.clearData(),s.setData("text/plain",t),!0):(bQ(i,t),!1)};var Cu=_e.define();function Xu(i,e){let t=[];for(let n of i.facet(cu)){let r=n(i,e);r&&t.push(r)}return t.length?i.update({effects:t,annotations:Cu.of(!0)}):null}function _u(i){setTimeout(()=>{let e=i.hasFocus;if(e!=i.inputState.notifiedFocused){let t=Xu(i.state,e);t?i.dispatch(t):i.update([])}},10)}Me.focus=i=>{i.inputState.lastFocusTime=Date.now(),!i.scrollDOM.scrollTop&&(i.inputState.lastScrollTop||i.inputState.lastScrollLeft)&&(i.scrollDOM.scrollTop=i.inputState.lastScrollTop,i.scrollDOM.scrollLeft=i.inputState.lastScrollLeft),_u(i)};Me.blur=i=>{i.observer.clearSelectionRange(),_u(i)};Me.compositionstart=Me.compositionupdate=i=>{i.observer.editContext||(i.inputState.compositionFirstChange==null&&(i.inputState.compositionFirstChange=!0),i.inputState.composing<0&&(i.inputState.composing=0))};Me.compositionend=i=>{i.observer.editContext||(i.inputState.composing=-1,i.inputState.compositionEndedAt=Date.now(),i.inputState.compositionPendingKey=!0,i.inputState.compositionPendingChange=i.observer.pendingRecords().length>0,i.inputState.compositionFirstChange=null,L.chrome&&L.android?i.observer.flushSoon():i.inputState.compositionPendingChange?Promise.resolve().then(()=>i.observer.flush()):setTimeout(()=>{i.inputState.composing<0&&i.docView.hasComposition&&i.update([])},50))};Me.contextmenu=i=>{i.inputState.lastContextMenu=Date.now()};Qt.beforeinput=(i,e)=>{var t,n;if((e.inputType=="insertText"||e.inputType=="insertCompositionText")&&(i.inputState.insertingText=e.data,i.inputState.insertingTextAt=Date.now()),e.inputType=="insertReplacementText"&&i.observer.editContext){let s=(t=e.dataTransfer)===null||t===void 0?void 0:t.getData("text/plain"),o=e.getTargetRanges();if(s&&o.length){let a=o[0],l=i.posAtDOM(a.startContainer,a.startOffset),c=i.posAtDOM(a.endContainer,a.endOffset);return Ha(i,{from:l,to:c,insert:i.state.toText(s)},null),!0}}let r;if(L.chrome&&L.android&&(r=wu.find(s=>s.inputType==e.inputType))&&(i.observer.delayAndroidKey(r.key,r.keyCode),r.key=="Backspace"||r.key=="Delete")){let s=((n=window.visualViewport)===null||n===void 0?void 0:n.height)||0;setTimeout(()=>{var o;(((o=window.visualViewport)===null||o===void 0?void 0:o.height)||0)>s+10&&i.hasFocus&&(i.contentDOM.blur(),i.focus())},100)}return L.ios&&e.inputType=="deleteContentForward"&&i.observer.flushSoon(),L.safari&&e.inputType=="insertText"&&i.inputState.composing>=0&&setTimeout(()=>Me.compositionend(i,e),20),!1};var Zf=new Set;function yQ(i){Zf.has(i)||(Zf.add(i),i.addEventListener("copy",()=>{}),i.addEventListener("cut",()=>{}))}var qf=["pre-wrap","normal","pre-line","break-spaces"],gn=!1;function Ef(){gn=!1}var _a=class{constructor(e){this.lineWrapping=e,this.doc=H.empty,this.heightSamples={},this.lineHeight=14,this.charWidth=7,this.textHeight=14,this.lineLength=30}heightForGap(e,t){let n=this.doc.lineAt(t).number-this.doc.lineAt(e).number+1;return this.lineWrapping&&(n+=Math.max(0,Math.ceil((t-e-n*this.lineLength*.5)/this.lineLength))),this.lineHeight*n}heightForLine(e){return this.lineWrapping?(1+Math.max(0,Math.ceil((e-this.lineLength)/Math.max(1,this.lineLength-5))))*this.lineHeight:this.lineHeight}setDoc(e){return this.doc=e,this}mustRefreshForWrapping(e){return qf.indexOf(e)>-1!=this.lineWrapping}mustRefreshForHeights(e){let t=!1;for(let n=0;n-1,l=Math.abs(t-this.lineHeight)>.3||this.lineWrapping!=a;if(this.lineWrapping=a,this.lineHeight=t,this.charWidth=n,this.textHeight=r,this.lineLength=s,l){this.heightSamples={};for(let c=0;c0}set outdated(e){this.flags=(e?2:0)|this.flags&-3}setHeight(e){this.height!=e&&(Math.abs(this.height-e)>as&&(gn=!0),this.height=e)}replace(e,t,n){return i.of(n)}decomposeLeft(e,t){t.push(this)}decomposeRight(e,t){t.push(this)}applyChanges(e,t,n,r){let s=this,o=n.doc;for(let a=r.length-1;a>=0;a--){let{fromA:l,toA:c,fromB:h,toB:f}=r[a],u=s.lineAt(l,ae.ByPosNoHeight,n.setDoc(t),0,0),O=u.to>=c?u:s.lineAt(c,ae.ByPosNoHeight,n,0,0);for(f+=O.to-c,c=O.to;a>0&&u.from<=r[a-1].toA;)l=r[a-1].fromA,h=r[a-1].fromB,a--,ls*2){let a=e[t-1];a.break?e.splice(--t,1,a.left,null,a.right):e.splice(--t,1,a.left,a.right),n+=1+a.break,r-=a.size}else if(s>r*2){let a=e[n];a.break?e.splice(n,1,a.left,null,a.right):e.splice(n,1,a.left,a.right),n+=2+a.break,s-=a.size}else break;else if(r=s&&o(this.lineAt(0,ae.ByPos,n,r,s))}setMeasuredHeight(e){let t=e.heights[e.index++];t<0?(this.spaceAbove=-t,t=e.heights[e.index++]):this.spaceAbove=0,this.setHeight(t)}updateHeight(e,t=0,n=!1,r){return r&&r.from<=t&&r.more&&this.setMeasuredHeight(r),this.outdated=!1,this}toString(){return`block(${this.length})`}},rt=class i extends gs{constructor(e,t,n){super(e,t,null),this.collapsed=0,this.widgetHeight=0,this.breaks=0,this.spaceAbove=n}mainBlock(e,t){return new mt(t,this.length,e+this.spaceAbove,this.height-this.spaceAbove,this.breaks)}replace(e,t,n){let r=n[0];return n.length==1&&(r instanceof i||r instanceof si&&r.flags&4)&&Math.abs(this.length-r.length)<10?(r instanceof si?r=new i(r.length,this.height,this.spaceAbove):r.height=this.height,this.outdated||(r.outdated=!1),r):He.of(n)}updateHeight(e,t=0,n=!1,r){return r&&r.from<=t&&r.more?this.setMeasuredHeight(r):(n||this.outdated)&&(this.spaceAbove=0,this.setHeight(Math.max(this.widgetHeight,e.heightForLine(this.length-this.collapsed))+this.breaks*e.lineHeight)),this.outdated=!1,this}toString(){return`line(${this.length}${this.collapsed?-this.collapsed:""}${this.widgetHeight?":"+this.widgetHeight:""})`}},si=class i extends He{constructor(e){super(e,0)}heightMetrics(e,t){let n=e.doc.lineAt(t).number,r=e.doc.lineAt(t+this.length).number,s=r-n+1,o,a=0;if(e.lineWrapping){let l=Math.min(this.height,e.lineHeight*s);o=l/s,this.length>s+1&&(a=(this.height-l)/(this.length-s-1))}else o=this.height/s;return{firstLine:n,lastLine:r,perLine:o,perChar:a}}blockAt(e,t,n,r){let{firstLine:s,lastLine:o,perLine:a,perChar:l}=this.heightMetrics(t,r);if(t.lineWrapping){let c=r+(e0){let s=n[n.length-1];s instanceof i?n[n.length-1]=new i(s.length+r):n.push(null,new i(r-1))}if(e>0){let s=n[0];s instanceof i?n[0]=new i(e+s.length):n.unshift(new i(e-1),null)}return He.of(n)}decomposeLeft(e,t){t.push(new i(e-1),null)}decomposeRight(e,t){t.push(null,new i(this.length-e-1))}updateHeight(e,t=0,n=!1,r){let s=t+this.length;if(r&&r.from<=t+this.length&&r.more){let o=[],a=Math.max(t,r.from),l=-1;for(r.from>t&&o.push(new i(r.from-t-1).updateHeight(e,t));a<=s&&r.more;){let h=e.doc.lineAt(a).length;o.length&&o.push(null);let f=r.heights[r.index++],u=0;f<0&&(u=-f,f=r.heights[r.index++]),l==-1?l=f:Math.abs(f-l)>=as&&(l=-2);let O=new rt(h,f,u);O.outdated=!1,o.push(O),a+=h+1}a<=s&&o.push(null,new i(s-a).updateHeight(e,a));let c=He.of(o);return(l<0||Math.abs(c.height-this.height)>=as||Math.abs(l-this.heightMetrics(e,t).perLine)>=as)&&(gn=!0),ms(this,c)}else(n||this.outdated)&&(this.setHeight(e.heightForGap(t,t+this.length)),this.outdated=!1);return this}toString(){return`gap(${this.length})`}},Aa=class extends He{constructor(e,t,n){super(e.length+t+n.length,e.height+n.height,t|(e.outdated||n.outdated?2:0)),this.left=e,this.right=n,this.size=e.size+n.size}get break(){return this.flags&1}blockAt(e,t,n,r){let s=n+this.left.height;return ea))return c;let h=t==ae.ByPosNoHeight?ae.ByPosNoHeight:ae.ByPos;return l?c.join(this.right.lineAt(a,h,n,o,a)):this.left.lineAt(a,h,n,r,s).join(c)}forEachLine(e,t,n,r,s,o){let a=r+this.left.height,l=s+this.left.length+this.break;if(this.break)e=l&&this.right.forEachLine(e,t,n,a,l,o);else{let c=this.lineAt(l,ae.ByPos,n,r,s);e=e&&c.from<=t&&o(c),t>c.to&&this.right.forEachLine(c.to+1,t,n,a,l,o)}}replace(e,t,n){let r=this.left.length+this.break;if(tthis.left.length)return this.balanced(this.left,this.right.replace(e-r,t-r,n));let s=[];e>0&&this.decomposeLeft(e,s);let o=s.length;for(let a of n)s.push(a);if(e>0&&zf(s,o-1),t=n&&t.push(null)),e>n&&this.right.decomposeLeft(e-n,t)}decomposeRight(e,t){let n=this.left.length,r=n+this.break;if(e>=r)return this.right.decomposeRight(e-r,t);e2*t.size||t.size>2*e.size?He.of(this.break?[e,null,t]:[e,t]):(this.left=ms(this.left,e),this.right=ms(this.right,t),this.setHeight(e.height+t.height),this.outdated=e.outdated||t.outdated,this.size=e.size+t.size,this.length=e.length+this.break+t.length,this)}updateHeight(e,t=0,n=!1,r){let{left:s,right:o}=this,a=t+s.length+this.break,l=null;return r&&r.from<=t+s.length&&r.more?l=s=s.updateHeight(e,t,n,r):s.updateHeight(e,t,n),r&&r.from<=a+o.length&&r.more?l=o=o.updateHeight(e,a,n,r):o.updateHeight(e,a,n),l?this.balanced(s,o):(this.height=this.left.height+this.right.height,this.outdated=!1,this)}toString(){return this.left+(this.break?" ":"-")+this.right}};function zf(i,e){let t,n;i[e]==null&&(t=i[e-1])instanceof si&&(n=i[e+1])instanceof si&&i.splice(e-1,3,new si(t.length+1+n.length))}var xQ=5,Za=class i{constructor(e,t){this.pos=e,this.oracle=t,this.nodes=[],this.lineStart=-1,this.lineEnd=-1,this.covering=null,this.writtenTo=e}get isCovered(){return this.covering&&this.nodes[this.nodes.length-1]==this.covering}span(e,t){if(this.lineStart>-1){let n=Math.min(t,this.lineEnd),r=this.nodes[this.nodes.length-1];r instanceof rt?r.length+=n-this.pos:(n>this.pos||!this.isCovered)&&this.nodes.push(new rt(n-this.pos,-1,0)),this.writtenTo=n,t>n&&(this.nodes.push(null),this.writtenTo++,this.lineStart=-1)}this.pos=t}point(e,t,n){if(e=xQ)&&this.addLineDeco(r,s,o)}else t>e&&this.span(e,t);this.lineEnd>-1&&this.lineEnd-1)return;let{from:e,to:t}=this.oracle.doc.lineAt(this.pos);this.lineStart=e,this.lineEnd=t,this.writtenToe&&this.nodes.push(new rt(this.pos-e,-1,0)),this.writtenTo=this.pos}blankContent(e,t){let n=new si(t-e);return this.oracle.doc.lineAt(e).to==t&&(n.flags|=4),n}ensureLine(){this.enterLine();let e=this.nodes.length?this.nodes[this.nodes.length-1]:null;if(e instanceof rt)return e;let t=new rt(0,-1,0);return this.nodes.push(t),t}addBlock(e){this.enterLine();let t=e.deco;t&&t.startSide>0&&!this.isCovered&&this.ensureLine(),this.nodes.push(e),this.writtenTo=this.pos=this.pos+e.length,t&&t.endSide>0&&(this.covering=e)}addLineDeco(e,t,n){let r=this.ensureLine();r.length+=n,r.collapsed+=n,r.widgetHeight=Math.max(r.widgetHeight,e),r.breaks+=t,this.writtenTo=this.pos=this.pos+n}finish(e){let t=this.nodes.length==0?null:this.nodes[this.nodes.length-1];this.lineStart>-1&&!(t instanceof rt)&&!this.isCovered?this.nodes.push(new rt(0,-1,0)):(this.writtenToh.clientHeight||h.scrollWidth>h.clientWidth)&&f.overflow!="visible"){let u=h.getBoundingClientRect();s=Math.max(s,u.left),o=Math.min(o,u.right),a=Math.max(a,u.top),l=Math.min(c==i.parentNode?r.innerHeight:l,u.bottom)}c=f.position=="absolute"||f.position=="fixed"?h.offsetParent:h.parentNode}else if(c.nodeType==11)c=c.host;else break;return{left:s-t.left,right:Math.max(s,o)-t.left,top:a-(t.top+e),bottom:Math.max(a,l)-(t.top+e)}}function vQ(i){let e=i.getBoundingClientRect(),t=i.ownerDocument.defaultView||window;return e.left0&&e.top0}function $Q(i,e){let t=i.getBoundingClientRect();return{left:0,right:t.right-t.left,top:e,bottom:t.bottom-(t.top+e)}}var er=class{constructor(e,t,n,r){this.from=e,this.to=t,this.size=n,this.displaySize=r}static same(e,t){if(e.length!=t.length)return!1;for(let n=0;ntypeof r!="function"&&r.class=="cm-lineWrapping");this.heightOracle=new _a(n),this.stateDeco=Mf(t),this.heightMap=He.empty().applyChanges(this.stateDeco,H.empty,this.heightOracle.setDoc(t.doc),[new gt(0,0,0,t.doc.length)]);for(let r=0;r<2&&(this.viewport=this.getViewport(0,null),!!this.updateForViewport());r++);this.updateViewportLines(),this.lineGaps=this.ensureLineGaps([]),this.lineGapDeco=Z.set(this.lineGaps.map(r=>r.draw(this,!1))),this.scrollParent=e.scrollDOM,this.computeVisibleRanges()}updateForViewport(){let e=[this.viewport],{main:t}=this.state.selection;for(let n=0;n<=1;n++){let r=n?t.head:t.anchor;if(!e.some(({from:s,to:o})=>r>=s&&r<=o)){let{from:s,to:o}=this.lineBlockAt(r);e.push(new hn(s,o))}}return this.viewports=e.sort((n,r)=>n.from-r.from),this.updateScaler()}updateScaler(){let e=this.scaler;return this.scaler=this.heightMap.height<=7e6?Lf:new za(this.heightOracle,this.heightMap,this.viewports),e.eq(this.scaler)?0:2}updateViewportLines(){this.viewportLines=[],this.heightMap.forEachLine(this.viewport.from,this.viewport.to,this.heightOracle.setDoc(this.state.doc),0,0,e=>{this.viewportLines.push(Bn(e,this.scaler))})}update(e,t=null){this.state=e.state;let n=this.stateDeco;this.stateDeco=Mf(this.state);let r=e.changedRanges,s=gt.extendWithRanges(r,wQ(n,this.stateDeco,e?e.changes:ze.empty(this.state.doc.length))),o=this.heightMap.height,a=this.scrolledToBottom?null:this.scrollAnchorAt(this.scrollOffset);Ef(),this.heightMap=this.heightMap.applyChanges(this.stateDeco,e.startState.doc,this.heightOracle.setDoc(this.state.doc),s),(this.heightMap.height!=o||gn)&&(e.flags|=2),a?(this.scrollAnchorPos=e.changes.mapPos(a.from,-1),this.scrollAnchorHeight=a.top):(this.scrollAnchorPos=-1,this.scrollAnchorHeight=o);let l=s.length?this.mapViewport(this.viewport,e.changes):this.viewport;(t&&(t.range.headl.to)||!this.viewportIsAppropriate(l))&&(l=this.getViewport(0,t));let c=l.from!=this.viewport.from||l.to!=this.viewport.to;this.viewport=l,e.flags|=this.updateForViewport(),(c||!e.changes.empty||e.flags&2)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(this.mapLineGaps(this.lineGaps,e.changes))),e.flags|=this.computeVisibleRanges(e.changes),t&&(this.scrollTarget=t),!this.mustEnforceCursorAssoc&&(e.selectionSet||e.focusChanged)&&e.view.lineWrapping&&e.state.selection.main.empty&&e.state.selection.main.assoc&&!e.state.facet(Z0)&&(this.mustEnforceCursorAssoc=!0)}measure(){let{view:e}=this,t=e.contentDOM,n=window.getComputedStyle(t),r=this.heightOracle,s=n.whiteSpace;this.defaultTextDirection=n.direction=="rtl"?ue.RTL:ue.LTR;let o=this.heightOracle.mustRefreshForWrapping(s)||this.mustMeasureContent==="refresh",a=t.getBoundingClientRect(),l=o||this.mustMeasureContent||this.contentDOMHeight!=a.height;this.contentDOMHeight=a.height,this.mustMeasureContent=!1;let c=0,h=0;if(a.width&&a.height){let{scaleX:P,scaleY:$}=Uf(t,a);(P>.005&&Math.abs(this.scaleX-P)>.005||$>.005&&Math.abs(this.scaleY-$)>.005)&&(this.scaleX=P,this.scaleY=$,c|=16,o=l=!0)}let f=(parseInt(n.paddingTop)||0)*this.scaleY,u=(parseInt(n.paddingBottom)||0)*this.scaleY;(this.paddingTop!=f||this.paddingBottom!=u)&&(this.paddingTop=f,this.paddingBottom=u,c|=18),this.editorWidth!=e.scrollDOM.clientWidth&&(r.lineWrapping&&(l=!0),this.editorWidth=e.scrollDOM.clientWidth,c|=16);let O=Gf(this.view.contentDOM,!1).y;O!=this.scrollParent&&(this.scrollParent=O,this.scrollAnchorHeight=-1,this.scrollOffset=0);let p=this.getScrollOffset();this.scrollOffset!=p&&(this.scrollAnchorHeight=-1,this.scrollOffset=p),this.scrolledToBottom=Ff(this.scrollParent||e.win);let m=(this.printing?$Q:PQ)(t,this.paddingTop),b=m.top-this.pixelViewport.top,g=m.bottom-this.pixelViewport.bottom;this.pixelViewport=m;let Q=this.pixelViewport.bottom>this.pixelViewport.top&&this.pixelViewport.right>this.pixelViewport.left;if(Q!=this.inView&&(this.inView=Q,Q&&(l=!0)),!this.inView&&!this.scrollTarget&&!vQ(e.dom))return 0;let S=a.width;if((this.contentDOMWidth!=S||this.editorHeight!=e.scrollDOM.clientHeight)&&(this.contentDOMWidth=a.width,this.editorHeight=e.scrollDOM.clientHeight,c|=16),l){let P=e.docView.measureVisibleLineHeights(this.viewport);if(r.mustRefreshForHeights(P)&&(o=!0),o||r.lineWrapping&&Math.abs(S-this.contentDOMWidth)>r.charWidth){let{lineHeight:$,charWidth:R,textHeight:_}=e.docView.measureTextSize();o=$>0&&r.refresh(s,$,R,_,Math.max(5,S/R),P),o&&(e.docView.minWidth=0,c|=16)}b>0&&g>0?h=Math.max(b,g):b<0&&g<0&&(h=Math.min(b,g)),Ef();for(let $ of this.viewports){let R=$.from==this.viewport.from?P:e.docView.measureVisibleLineHeights($);this.heightMap=(o?He.empty().applyChanges(this.stateDeco,H.empty,this.heightOracle,[new gt(0,0,0,e.state.doc.length)]):this.heightMap).updateHeight(r,0,o,new Ra($.from,R))}gn&&(c|=2)}let x=!this.viewportIsAppropriate(this.viewport,h)||this.scrollTarget&&(this.scrollTarget.range.headthis.viewport.to);return x&&(c&2&&(c|=this.updateScaler()),this.viewport=this.getViewport(h,this.scrollTarget),c|=this.updateForViewport()),(c&2||x)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(o?[]:this.lineGaps,e)),c|=this.computeVisibleRanges(),this.mustEnforceCursorAssoc&&(this.mustEnforceCursorAssoc=!1,e.docView.enforceCursorAssoc()),c}get visibleTop(){return this.scaler.fromDOM(this.pixelViewport.top)}get visibleBottom(){return this.scaler.fromDOM(this.pixelViewport.bottom)}getViewport(e,t){let n=.5-Math.max(-.5,Math.min(.5,e/1e3/2)),r=this.heightMap,s=this.heightOracle,{visibleTop:o,visibleBottom:a}=this,l=new hn(r.lineAt(o-n*1e3,ae.ByHeight,s,0,0).from,r.lineAt(a+(1-n)*1e3,ae.ByHeight,s,0,0).to);if(t){let{head:c}=t.range;if(cl.to){let h=Math.min(this.editorHeight,this.pixelViewport.bottom-this.pixelViewport.top),f=r.lineAt(c,ae.ByPos,s,0,0),u;t.y=="center"?u=(f.top+f.bottom)/2-h/2:t.y=="start"||t.y=="nearest"&&c=a+Math.max(10,Math.min(n,250)))&&r>o-2*1e3&&s>1,o=r<<1;if(this.defaultTextDirection!=ue.LTR&&!n)return[];let a=[],l=(h,f,u,O)=>{if(f-hh&&gg.from>=u.from&&g.to<=u.to&&Math.abs(g.from-h)g.fromQ));if(!b){if(fS.from<=f&&S.to>=f)){let S=t.moveToLineBoundary(v.cursor(f),!1,!0).head;S>h&&(f=S)}let g=this.gapSize(u,h,f,O),Q=n||g<2e6?g:2e6;b=new er(h,f,g,Q)}a.push(b)},c=h=>{if(h.length2e6)for(let $ of e)$.from>=h.from&&$.fromh.from&&l(h.from,O,h,f),pt.draw(this,this.heightOracle.lineWrapping))))}computeVisibleRanges(e){let t=this.stateDeco;this.lineGaps.length&&(t=t.concat(this.lineGapDeco));let n=[];oe.spans(t,this.viewport.from,this.viewport.to,{span(s,o){n.push({from:s,to:o})},point(){}},20);let r=0;if(n.length!=this.visibleRanges.length)r=12;else for(let s=0;s=this.viewport.from&&e<=this.viewport.to&&this.viewportLines.find(t=>t.from<=e&&t.to>=e)||Bn(this.heightMap.lineAt(e,ae.ByPos,this.heightOracle,0,0),this.scaler)}lineBlockAtHeight(e){return e>=this.viewportLines[0].top&&e<=this.viewportLines[this.viewportLines.length-1].bottom&&this.viewportLines.find(t=>t.top<=e&&t.bottom>=e)||Bn(this.heightMap.lineAt(this.scaler.fromDOM(e),ae.ByHeight,this.heightOracle,0,0),this.scaler)}getScrollOffset(){return(this.scrollParent==this.view.scrollDOM?this.scrollParent.scrollTop:(this.scrollParent?this.scrollParent.getBoundingClientRect().top:0)-this.view.contentDOM.getBoundingClientRect().top)*this.scaleY}scrollAnchorAt(e){let t=this.lineBlockAtHeight(e+8);return t.from>=this.viewport.from||this.viewportLines[0].top-e>200?t:this.viewportLines[0]}elementAtHeight(e){return Bn(this.heightMap.blockAt(this.scaler.fromDOM(e),this.heightOracle,0,0),this.scaler)}get docHeight(){return this.scaler.toDOM(this.heightMap.height)}get contentHeight(){return this.docHeight+this.paddingTop+this.paddingBottom}},hn=class{constructor(e,t){this.from=e,this.to=t}};function TQ(i,e,t){let n=[],r=i,s=0;return oe.spans(t,i,e,{span(){},point(o,a){o>r&&(n.push({from:r,to:o}),s+=o-r),r=a}},20),r=1)return e[e.length-1].to;let n=Math.floor(i*t);for(let r=0;;r++){let{from:s,to:o}=e[r],a=o-s;if(n<=a)return s+n;n-=a}}function ns(i,e){let t=0;for(let{from:n,to:r}of i.ranges){if(e<=r){t+=e-n;break}t+=r-n}return t/i.total}function CQ(i,e){for(let t of i)if(e(t))return t}var Lf={toDOM(i){return i},fromDOM(i){return i},scale:1,eq(i){return i==this}};function Mf(i){let e=i.facet(ys).filter(n=>typeof n!="function"),t=i.facet(Fa).filter(n=>typeof n!="function");return t.length&&e.push(oe.join(t)),e}var za=class i{constructor(e,t,n){let r=0,s=0,o=0;this.viewports=n.map(({from:a,to:l})=>{let c=t.lineAt(a,ae.ByPos,e,0,0).top,h=t.lineAt(l,ae.ByPos,e,0,0).bottom;return r+=h-c,{from:a,to:l,top:c,bottom:h,domTop:0,domBottom:0}}),this.scale=(7e6-r)/(t.height-r);for(let a of this.viewports)a.domTop=o+(a.top-s)*this.scale,o=a.domBottom=a.domTop+(a.bottom-a.top),s=a.bottom}toDOM(e){for(let t=0,n=0,r=0;;t++){let s=tt.from==e.viewports[n].from&&t.to==e.viewports[n].to):!1}};function Bn(i,e){if(e.scale==1)return i;let t=e.toDOM(i.top),n=e.toDOM(i.bottom);return new mt(i.from,i.length,t,n-t,Array.isArray(i._content)?i._content.map(r=>Bn(r,e)):i._content)}var rs=Y.define({combine:i=>i.join(" ")}),La=Y.define({combine:i=>i.indexOf(!0)>-1}),Ma=nt.newName(),Ru=nt.newName(),Au=nt.newName(),Zu={"&light":"."+Ru,"&dark":"."+Au};function Wa(i,e,t){return new nt(e,{finish(n){return/&/.test(n)?n.replace(/&\w*/,r=>{if(r=="&")return i;if(!t||!t[r])throw new RangeError(`Unsupported selector: ${r}`);return t[r]}):i+" "+n}})}var XQ=Wa("."+Ma,{"&":{position:"relative !important",boxSizing:"border-box","&.cm-focused":{outline:"1px dotted #212121"},display:"flex !important",flexDirection:"column"},".cm-scroller":{display:"flex !important",alignItems:"flex-start !important",fontFamily:"monospace",lineHeight:1.4,height:"100%",overflowX:"auto",position:"relative",zIndex:0,overflowAnchor:"none"},".cm-content":{margin:0,flexGrow:2,flexShrink:0,display:"block",whiteSpace:"pre",wordWrap:"normal",boxSizing:"border-box",minHeight:"100%",padding:"4px 0",outline:"none","&[contenteditable=true]":{WebkitUserModify:"read-write-plaintext-only"}},".cm-lineWrapping":{whiteSpace_fallback:"pre-wrap",whiteSpace:"break-spaces",wordBreak:"break-word",overflowWrap:"anywhere",flexShrink:1},"&light .cm-content":{caretColor:"black"},"&dark .cm-content":{caretColor:"white"},".cm-line":{display:"block",padding:"0 2px 0 6px"},".cm-layer":{userSelect:"none",position:"absolute",left:0,top:0,contain:"size style","& > *":{position:"absolute"}},"&light .cm-selectionBackground":{background:"#d9d9d9"},"&dark .cm-selectionBackground":{background:"#222"},"&light.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#d7d4f0"},"&dark.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#233"},".cm-cursorLayer":{pointerEvents:"none"},"&.cm-focused > .cm-scroller > .cm-cursorLayer":{animation:"steps(1) cm-blink 1.2s infinite"},"@keyframes cm-blink":{"0%":{},"50%":{opacity:0},"100%":{}},"@keyframes cm-blink2":{"0%":{},"50%":{opacity:0},"100%":{}},".cm-cursor, .cm-dropCursor":{borderLeft:"1.2px solid black",marginLeft:"-0.6px",pointerEvents:"none"},".cm-cursor":{display:"none"},"&dark .cm-cursor":{borderLeftColor:"#ddd"},".cm-selectionHandle":{backgroundColor:"currentColor",width:"1.5px"},".cm-selectionHandle-start::before, .cm-selectionHandle-end::before":{content:'""',backgroundColor:"inherit",borderRadius:"50%",width:"8px",height:"8px",position:"absolute",left:"-3.25px"},".cm-selectionHandle-start::before":{top:"-8px"},".cm-selectionHandle-end::before":{bottom:"-8px"},".cm-dropCursor":{position:"absolute"},"&.cm-focused > .cm-scroller > .cm-cursorLayer .cm-cursor":{display:"block"},".cm-iso":{unicodeBidi:"isolate"},".cm-announced":{position:"fixed",top:"-10000px"},"@media print":{".cm-announced":{display:"none"}},"&light .cm-activeLine":{backgroundColor:"#cceeff44"},"&dark .cm-activeLine":{backgroundColor:"#99eeff33"},"&light .cm-specialChar":{color:"red"},"&dark .cm-specialChar":{color:"#f78"},".cm-gutters":{flexShrink:0,display:"flex",height:"100%",boxSizing:"border-box",zIndex:200},".cm-gutters-before":{insetInlineStart:0},".cm-gutters-after":{insetInlineEnd:0},"&light .cm-gutters":{backgroundColor:"#f5f5f5",color:"#6c6c6c",border:"0px solid #ddd","&.cm-gutters-before":{borderRightWidth:"1px"},"&.cm-gutters-after":{borderLeftWidth:"1px"}},"&dark .cm-gutters":{backgroundColor:"#333338",color:"#ccc"},".cm-gutter":{display:"flex !important",flexDirection:"column",flexShrink:0,boxSizing:"border-box",minHeight:"100%",overflow:"hidden"},".cm-gutterElement":{boxSizing:"border-box"},".cm-lineNumbers .cm-gutterElement":{padding:"0 3px 0 5px",minWidth:"20px",textAlign:"right",whiteSpace:"nowrap"},"&light .cm-activeLineGutter":{backgroundColor:"#e2f2ff"},"&dark .cm-activeLineGutter":{backgroundColor:"#222227"},".cm-panels":{boxSizing:"border-box",position:"sticky",left:0,right:0,zIndex:300},"&light .cm-panels":{backgroundColor:"#f5f5f5",color:"black"},"&light .cm-panels-top":{borderBottom:"1px solid #ddd"},"&light .cm-panels-bottom":{borderTop:"1px solid #ddd"},"&dark .cm-panels":{backgroundColor:"#333338",color:"white"},".cm-dialog":{padding:"2px 19px 4px 6px",position:"relative","& label":{fontSize:"80%"}},".cm-dialog-close":{position:"absolute",top:"3px",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",fontSize:"14px",padding:"0"},".cm-tab":{display:"inline-block",overflow:"hidden",verticalAlign:"bottom"},".cm-widgetBuffer":{verticalAlign:"text-top",height:"1em",width:0,display:"inline"},".cm-placeholder":{color:"#888",display:"inline-block",verticalAlign:"top",userSelect:"none"},".cm-highlightSpace":{backgroundImage:"radial-gradient(circle at 50% 55%, #aaa 20%, transparent 5%)",backgroundPosition:"center"},".cm-highlightTab":{backgroundImage:`url('data:image/svg+xml,')`,backgroundSize:"auto 100%",backgroundPosition:"right 90%",backgroundRepeat:"no-repeat"},".cm-trailingSpace":{backgroundColor:"#ff332255"},".cm-button":{verticalAlign:"middle",color:"inherit",fontSize:"70%",padding:".2em 1em",borderRadius:"1px"},"&light .cm-button":{backgroundImage:"linear-gradient(#eff1f5, #d9d9df)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#b4b4b4, #d0d3d6)"}},"&dark .cm-button":{backgroundImage:"linear-gradient(#393939, #111)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#111, #333)"}},".cm-textfield":{verticalAlign:"middle",color:"inherit",fontSize:"70%",border:"1px solid silver",padding:".2em .5em"},"&light .cm-textfield":{backgroundColor:"white"},"&dark .cm-textfield":{border:"1px solid #555",backgroundColor:"inherit"}},Zu),_Q={childList:!0,characterData:!0,subtree:!0,attributes:!0,characterDataOldValue:!0},sa=L.ie&&L.ie_version<=11,ja=class{constructor(e){this.view=e,this.active=!1,this.editContext=null,this.selectionRange=new fa,this.selectionChanged=!1,this.delayedFlush=-1,this.resizeTimeout=-1,this.queue=[],this.delayedAndroidKey=null,this.flushingAndroidKey=-1,this.lastChange=0,this.scrollTargets=[],this.intersection=null,this.resizeScroll=null,this.intersecting=!1,this.gapIntersection=null,this.gaps=[],this.printQuery=null,this.parentCheck=-1,this.dom=e.contentDOM,this.observer=new MutationObserver(t=>{for(let n of t)this.queue.push(n);(L.ie&&L.ie_version<=11||L.ios&&e.composing)&&t.some(n=>n.type=="childList"&&n.removedNodes.length||n.type=="characterData"&&n.oldValue.length>n.target.nodeValue.length)?this.flushSoon():this.flush()}),window.EditContext&&L.android&&e.constructor.EDIT_CONTEXT!==!1&&!(L.chrome&&L.chrome_version<126)&&(this.editContext=new Va(e),e.state.facet(zt)&&(e.contentDOM.editContext=this.editContext.editContext)),sa&&(this.onCharData=t=>{this.queue.push({target:t.target,type:"characterData",oldValue:t.prevValue}),this.flushSoon()}),this.onSelectionChange=this.onSelectionChange.bind(this),this.onResize=this.onResize.bind(this),this.onPrint=this.onPrint.bind(this),this.onScroll=this.onScroll.bind(this),window.matchMedia&&(this.printQuery=window.matchMedia("print")),typeof ResizeObserver=="function"&&(this.resizeScroll=new ResizeObserver(()=>{var t;((t=this.view.docView)===null||t===void 0?void 0:t.lastUpdate){this.parentCheck<0&&(this.parentCheck=setTimeout(this.listenForScroll.bind(this),1e3)),t.length>0&&t[t.length-1].intersectionRatio>0!=this.intersecting&&(this.intersecting=!this.intersecting,this.intersecting!=this.view.inView&&this.onScrollChanged(document.createEvent("Event")))},{threshold:[0,.001]}),this.intersection.observe(this.dom),this.gapIntersection=new IntersectionObserver(t=>{t.length>0&&t[t.length-1].intersectionRatio>0&&this.onScrollChanged(document.createEvent("Event"))},{})),this.listenForScroll(),this.readSelectionRange()}onScrollChanged(e){this.view.inputState.runHandlers("scroll",e),this.intersecting&&this.view.measure()}onScroll(e){this.intersecting&&this.flush(!1),this.editContext&&this.view.requestMeasure(this.editContext.measureReq),this.onScrollChanged(e)}onResize(){this.resizeTimeout<0&&(this.resizeTimeout=setTimeout(()=>{this.resizeTimeout=-1,this.view.requestMeasure()},50))}onPrint(e){(e.type=="change"||!e.type)&&!e.matches||(this.view.viewState.printing=!0,this.view.measure(),setTimeout(()=>{this.view.viewState.printing=!1,this.view.requestMeasure()},500))}updateGaps(e){if(this.gapIntersection&&(e.length!=this.gaps.length||this.gaps.some((t,n)=>t!=e[n]))){this.gapIntersection.disconnect();for(let t of e)this.gapIntersection.observe(t);this.gaps=e}}onSelectionChange(e){let t=this.selectionChanged;if(!this.readSelectionRange()||this.delayedAndroidKey)return;let{view:n}=this,r=this.selectionRange;if(n.state.facet(zt)?n.root.activeElement!=this.dom:!Gn(this.dom,r))return;let s=r.anchorNode&&n.docView.tile.nearest(r.anchorNode);if(s&&s.isWidget()&&s.widget.ignoreEvent(e)){t||(this.selectionChanged=!1);return}(L.ie&&L.ie_version<=11||L.android&&L.chrome)&&!n.state.selection.main.empty&&r.focusNode&&Nn(r.focusNode,r.focusOffset,r.anchorNode,r.anchorOffset)?this.flushSoon():this.flush(!1)}readSelectionRange(){let{view:e}=this,t=nr(e.root);if(!t)return!1;let n=L.safari&&e.root.nodeType==11&&e.root.activeElement==this.dom&&RQ(this.view,t)||t;if(!n||this.selectionRange.eq(n))return!1;let r=Gn(this.dom,n);return r&&!this.selectionChanged&&e.inputState.lastFocusTime>Date.now()-200&&e.inputState.lastTouchTime{let s=this.delayedAndroidKey;s&&(this.clearDelayedAndroidKey(),this.view.inputState.lastKeyCode=s.keyCode,this.view.inputState.lastKeyTime=Date.now(),!this.flush()&&s.force&&un(this.dom,s.key,s.keyCode))};this.flushingAndroidKey=this.view.win.requestAnimationFrame(r)}(!this.delayedAndroidKey||e=="Enter")&&(this.delayedAndroidKey={key:e,keyCode:t,force:this.lastChange{this.delayedFlush=-1,this.flush()}))}forceFlush(){this.delayedFlush>=0&&(this.view.win.cancelAnimationFrame(this.delayedFlush),this.delayedFlush=-1),this.flush()}pendingRecords(){for(let e of this.observer.takeRecords())this.queue.push(e);return this.queue}processRecords(){let e=this.pendingRecords();e.length&&(this.queue=[]);let t=-1,n=-1,r=!1;for(let s of e){let o=this.readMutation(s);o&&(o.typeOver&&(r=!0),t==-1?{from:t,to:n}=o:(t=Math.min(o.from,t),n=Math.max(o.to,n)))}return{from:t,to:n,typeOver:r}}readChange(){let{from:e,to:t,typeOver:n}=this.processRecords(),r=this.selectionChanged&&Gn(this.dom,this.selectionRange);if(e<0&&!r)return null;e>-1&&(this.lastChange=Date.now()),this.view.inputState.lastFocusTime=0,this.selectionChanged=!1;let s=new $a(this.view,e,t,n);return this.view.docView.domChanged={newSel:s.newSel?s.newSel.main:null},s}flush(e=!0){if(this.delayedFlush>=0||this.delayedAndroidKey)return!1;e&&this.readSelectionRange();let t=this.readChange();if(!t)return this.view.requestMeasure(),!1;let n=this.view.state,r=ku(this.view,t);return this.view.state==n&&(t.domChanged||t.newSel&&!ps(this.view.state.selection,t.newSel.main))&&this.view.update([]),r}readMutation(e){let t=this.view.docView.tile.nearest(e.target);if(!t||t.isWidget())return null;if(t.markDirty(e.type=="attributes"),e.type=="childList"){let n=Wf(t,e.previousSibling||e.target.previousSibling,-1),r=Wf(t,e.nextSibling||e.target.nextSibling,1);return{from:n?t.posAfter(n):t.posAtStart,to:r?t.posBefore(r):t.posAtEnd,typeOver:!1}}else return e.type=="characterData"?{from:t.posAtStart,to:t.posAtEnd,typeOver:e.target.nodeValue==e.oldValue}:null}setWindow(e){e!=this.win&&(this.removeWindowListeners(this.win),this.win=e,this.addWindowListeners(this.win))}addWindowListeners(e){e.addEventListener("resize",this.onResize),this.printQuery?this.printQuery.addEventListener?this.printQuery.addEventListener("change",this.onPrint):this.printQuery.addListener(this.onPrint):e.addEventListener("beforeprint",this.onPrint),e.addEventListener("scroll",this.onScroll),e.document.addEventListener("selectionchange",this.onSelectionChange)}removeWindowListeners(e){e.removeEventListener("scroll",this.onScroll),e.removeEventListener("resize",this.onResize),this.printQuery?this.printQuery.removeEventListener?this.printQuery.removeEventListener("change",this.onPrint):this.printQuery.removeListener(this.onPrint):e.removeEventListener("beforeprint",this.onPrint),e.document.removeEventListener("selectionchange",this.onSelectionChange)}update(e){this.editContext&&(this.editContext.update(e),e.startState.facet(zt)!=e.state.facet(zt)&&(e.view.contentDOM.editContext=e.state.facet(zt)?this.editContext.editContext:null))}destroy(){var e,t,n;this.stop(),(e=this.intersection)===null||e===void 0||e.disconnect(),(t=this.gapIntersection)===null||t===void 0||t.disconnect(),(n=this.resizeScroll)===null||n===void 0||n.disconnect();for(let r of this.scrollTargets)r.removeEventListener("scroll",this.onScroll);this.removeWindowListeners(this.win),clearTimeout(this.parentCheck),clearTimeout(this.resizeTimeout),this.win.cancelAnimationFrame(this.delayedFlush),this.win.cancelAnimationFrame(this.flushingAndroidKey),this.editContext&&(this.view.contentDOM.editContext=null,this.editContext.destroy())}};function Wf(i,e,t){for(;e;){let n=fe.get(e);if(n&&n.parent==i)return n;let r=e.parentNode;e=r!=i.dom?r:t>0?e.nextSibling:e.previousSibling}return null}function jf(i,e){let t=e.startContainer,n=e.startOffset,r=e.endContainer,s=e.endOffset,o=i.docView.domAtPos(i.state.selection.main.anchor,1);return Nn(o.node,o.offset,r,s)&&([t,n,r,s]=[r,s,t,n]),{anchorNode:t,anchorOffset:n,focusNode:r,focusOffset:s}}function RQ(i,e){if(e.getComposedRanges){let r=e.getComposedRanges(i.root)[0];if(r)return jf(i,r)}let t=null;function n(r){r.preventDefault(),r.stopImmediatePropagation(),t=r.getTargetRanges()[0]}return i.contentDOM.addEventListener("beforeinput",n,!0),i.dom.ownerDocument.execCommand("indent"),i.contentDOM.removeEventListener("beforeinput",n,!0),t?jf(i,t):null}var Va=class{constructor(e){this.from=0,this.to=0,this.pendingContextChange=null,this.handlers=Object.create(null),this.composing=null,this.resetRange(e.state);let t=this.editContext=new window.EditContext({text:e.state.doc.sliceString(this.from,this.to),selectionStart:this.toContextPos(Math.max(this.from,Math.min(this.to,e.state.selection.main.anchor))),selectionEnd:this.toContextPos(e.state.selection.main.head)});this.handlers.textupdate=n=>{let r=e.state.selection.main,{anchor:s,head:o}=r,a=this.toEditorPos(n.updateRangeStart),l=this.toEditorPos(n.updateRangeEnd);e.inputState.composing>=0&&!this.composing&&(this.composing={contextBase:n.updateRangeStart,editorBase:a,drifted:!1});let c=l-a>n.text.length;a==this.from&&sthis.to&&(l=s);let h=xu(e.state.sliceDoc(a,l),n.text,(c?r.from:r.to)-a,c?"end":null);if(!h){let u=v.single(this.toEditorPos(n.selectionStart),this.toEditorPos(n.selectionEnd));ps(u,r)||e.dispatch({selection:u,userEvent:"select"});return}let f={from:h.from+a,to:h.toA+a,insert:H.of(n.text.slice(h.from,h.toB).split(` -`))};if((L.mac||L.android)&&f.from==o-1&&/^\. ?$/.test(n.text)&&e.contentDOM.getAttribute("autocorrect")=="off"&&(f={from:a,to:l,insert:H.of([n.text.replace("."," ")])}),this.pendingContextChange=f,!e.state.readOnly){let u=this.to-this.from+(f.to-f.from+f.insert.length);Ha(e,f,v.single(this.toEditorPos(n.selectionStart,u),this.toEditorPos(n.selectionEnd,u)))}this.pendingContextChange&&(this.revertPending(e.state),this.setSelection(e.state)),f.from=0&&!/[\\p{Alphabetic}\\p{Number}_]/.test(t.text.slice(Math.max(0,n.updateRangeStart-1),Math.min(t.text.length,n.updateRangeStart+1)))&&this.handlers.compositionend(n)},this.handlers.characterboundsupdate=n=>{let r=[],s=null;for(let o=this.toEditorPos(n.rangeStart),a=this.toEditorPos(n.rangeEnd);o{let r=[];for(let s of n.getTextFormats()){let o=s.underlineStyle,a=s.underlineThickness;if(!/none/i.test(o)&&!/none/i.test(a)){let l=this.toEditorPos(s.rangeStart),c=this.toEditorPos(s.rangeEnd);if(l{e.inputState.composing<0&&(e.inputState.composing=0,e.inputState.compositionFirstChange=!0)},this.handlers.compositionend=()=>{if(e.inputState.composing=-1,e.inputState.compositionFirstChange=null,this.composing){let{drifted:n}=this.composing;this.composing=null,n&&this.reset(e.state)}};for(let n in this.handlers)t.addEventListener(n,this.handlers[n]);this.measureReq={read:n=>{let r=nr(n.root);r&&r.rangeCount&&this.editContext.updateSelectionBounds(r.getRangeAt(0).getBoundingClientRect())}}}applyEdits(e){let t=0,n=!1,r=this.pendingContextChange;return e.changes.iterChanges((s,o,a,l,c)=>{if(n)return;let h=c.length-(o-s);if(r&&o>=r.to)if(r.from==s&&r.to==o&&r.insert.eq(c)){r=this.pendingContextChange=null,t+=h,this.to+=h;return}else r=null,this.revertPending(e.state);if(s+=t,o+=t,o<=this.from)this.from+=h,this.to+=h;else if(sthis.to||this.to-this.from+c.length>3e4){n=!0;return}this.editContext.updateText(this.toContextPos(s),this.toContextPos(o),c.toString()),this.to+=h}t+=h}),r&&!n&&this.revertPending(e.state),!n}update(e){let t=this.pendingContextChange,n=e.startState.selection.main;this.composing&&(this.composing.drifted||!e.changes.touchesRange(n.from,n.to)&&e.transactions.some(r=>!r.isUserEvent("input.type")&&r.changes.touchesRange(this.from,this.to)))?(this.composing.drifted=!0,this.composing.editorBase=e.changes.mapPos(this.composing.editorBase)):!this.applyEdits(e)||!this.rangeIsValid(e.state)?(this.pendingContextChange=null,this.reset(e.state)):(e.docChanged||e.selectionSet||t)&&this.setSelection(e.state),(e.geometryChanged||e.docChanged||e.selectionSet)&&e.view.requestMeasure(this.measureReq)}resetRange(e){let{head:t}=e.selection.main;this.from=Math.max(0,t-1e4),this.to=Math.min(e.doc.length,t+1e4)}reset(e){this.resetRange(e),this.editContext.updateText(0,this.editContext.text.length,e.doc.sliceString(this.from,this.to)),this.setSelection(e)}revertPending(e){let t=this.pendingContextChange;this.pendingContextChange=null,this.editContext.updateText(this.toContextPos(t.from),this.toContextPos(t.from+t.insert.length),e.doc.sliceString(t.from,t.to))}setSelection(e){let{main:t}=e.selection,n=this.toContextPos(Math.max(this.from,Math.min(this.to,t.anchor))),r=this.toContextPos(t.head);(this.editContext.selectionStart!=n||this.editContext.selectionEnd!=r)&&this.editContext.updateSelection(n,r)}rangeIsValid(e){let{head:t}=e.selection.main;return!(this.from>0&&t-this.from<500||this.to1e4*3)}toEditorPos(e,t=this.to-this.from){e=Math.min(e,t);let n=this.composing;return n&&n.drifted?n.editorBase+(e-n.contextBase):e+this.from}toContextPos(e){let t=this.composing;return t&&t.drifted?t.contextBase+(e-t.editorBase):e-this.from}destroy(){for(let e in this.handlers)this.editContext.removeEventListener(e,this.handlers[e])}},E=class i{get state(){return this.viewState.state}get viewport(){return this.viewState.viewport}get visibleRanges(){return this.viewState.visibleRanges}get inView(){return this.viewState.inView}get composing(){return!!this.inputState&&this.inputState.composing>0}get compositionStarted(){return!!this.inputState&&this.inputState.composing>=0}get root(){return this._root}get win(){return this.dom.ownerDocument.defaultView||window}constructor(e={}){var t;this.plugins=[],this.pluginMap=new Map,this.editorAttrs={},this.contentAttrs={},this.bidiCache=[],this.destroyed=!1,this.updateState=2,this.measureScheduled=-1,this.measureRequests=[],this.contentDOM=document.createElement("div"),this.scrollDOM=document.createElement("div"),this.scrollDOM.tabIndex=-1,this.scrollDOM.className="cm-scroller",this.scrollDOM.appendChild(this.contentDOM),this.announceDOM=document.createElement("div"),this.announceDOM.className="cm-announced",this.announceDOM.setAttribute("aria-live","polite"),this.dom=document.createElement("div"),this.dom.appendChild(this.announceDOM),this.dom.appendChild(this.scrollDOM),e.parent&&e.parent.appendChild(this.dom);let{dispatch:n}=e;this.dispatchTransactions=e.dispatchTransactions||n&&(r=>r.forEach(s=>n(s,this)))||(r=>this.update(r)),this.dispatch=this.dispatch.bind(this),this._root=e.root||x0(e.parent)||document,this.viewState=new Qs(this,e.state||re.create(e)),e.scrollTo&&e.scrollTo.is(Jr)&&(this.viewState.scrollTarget=e.scrollTo.value.clip(this.viewState.state)),this.plugins=this.state.facet(cn).map(r=>new Hn(r));for(let r of this.plugins)r.update(this);this.observer=new ja(this),this.inputState=new Ta(this),this.inputState.ensureHandlers(this.plugins),this.docView=new Os(this),this.mountStyles(),this.updateAttrs(),this.updateState=0,this.requestMeasure(),!((t=document.fonts)===null||t===void 0)&&t.ready&&document.fonts.ready.then(()=>{this.viewState.mustMeasureContent="refresh",this.requestMeasure()})}dispatch(...e){let t=e.length==1&&e[0]instanceof de?e:e.length==1&&Array.isArray(e[0])?e[0]:[this.state.update(...e)];this.dispatchTransactions(t,this)}update(e){if(this.updateState!=0)throw new Error("Calls to EditorView.update are not allowed while an update is in progress");let t=!1,n=!1,r,s=this.state;for(let u of e){if(u.startState!=s)throw new RangeError("Trying to update state with a transaction that doesn't start from the previous state.");s=u.state}if(this.destroyed){this.viewState.state=s;return}let o=this.hasFocus,a=0,l=null;e.some(u=>u.annotation(Cu))?(this.inputState.notifiedFocused=o,a=1):o!=this.inputState.notifiedFocused&&(this.inputState.notifiedFocused=o,l=Xu(s,o),l||(a=1));let c=this.observer.delayedAndroidKey,h=null;if(c?(this.observer.clearDelayedAndroidKey(),h=this.observer.readChange(),(h&&!this.state.doc.eq(s.doc)||!this.state.selection.eq(s.selection))&&(h=null)):this.observer.clear(),s.facet(re.phrases)!=this.state.facet(re.phrases))return this.setState(s);r=fs.create(this,s,e),r.flags|=a;let f=this.viewState.scrollTarget;try{this.updateState=2;for(let u of e){if(f&&(f=f.map(u.changes)),u.scrollIntoView){let{main:O}=u.state.selection,{x:p,y:m}=this.state.facet(i.cursorScrollMargin);f=new Fn(O.empty?O:v.cursor(O.head,O.head>O.anchor?-1:1),"nearest","nearest",m,p)}for(let O of u.effects)O.is(Jr)&&(f=O.value.clip(this.state))}this.viewState.update(r,f),this.bidiCache=bs.update(this.bidiCache,r.changes),r.empty||(this.updatePlugins(r),this.inputState.update(r)),t=this.docView.update(r),this.state.facet(In)!=this.styleModules&&this.mountStyles(),n=this.updateAttrs(),this.showAnnouncements(e),this.docView.updateSelection(t,e.some(u=>u.isUserEvent("select.pointer")))}finally{this.updateState=0}if(r.startState.facet(rs)!=r.state.facet(rs)&&(this.viewState.mustMeasureContent=!0),(t||n||f||this.viewState.mustEnforceCursorAssoc||this.viewState.mustMeasureContent)&&this.requestMeasure(),t&&this.docViewUpdate(),!r.empty)for(let u of this.state.facet(pa))try{u(r)}catch(O){at(this.state,O,"update listener")}(l||h)&&Promise.resolve().then(()=>{l&&this.state==l.startState&&this.dispatch(l),h&&!ku(this,h)&&c.force&&un(this.contentDOM,c.key,c.keyCode)})}setState(e){if(this.updateState!=0)throw new Error("Calls to EditorView.setState are not allowed while an update is in progress");if(this.destroyed){this.viewState.state=e;return}this.updateState=2;let t=this.hasFocus;try{for(let n of this.plugins)n.destroy(this);this.viewState=new Qs(this,e),this.plugins=e.facet(cn).map(n=>new Hn(n)),this.pluginMap.clear();for(let n of this.plugins)n.update(this);this.docView.destroy(),this.docView=new Os(this),this.inputState.ensureHandlers(this.plugins),this.mountStyles(),this.updateAttrs(),this.bidiCache=[]}finally{this.updateState=0}t&&this.focus(),this.requestMeasure()}updatePlugins(e){let t=e.startState.facet(cn),n=e.state.facet(cn);if(t!=n){let r=[];for(let s of n){let o=t.indexOf(s);if(o<0)r.push(new Hn(s));else{let a=this.plugins[o];a.mustUpdate=e,r.push(a)}}for(let s of this.plugins)s.mustUpdate!=e&&s.destroy(this);this.plugins=r,this.pluginMap.clear()}else for(let r of this.plugins)r.mustUpdate=e;for(let r=0;r-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.observer.delayedAndroidKey){this.measureScheduled=-1,this.requestMeasure();return}this.measureScheduled=0,e&&this.observer.forceFlush();let t=null,n=this.viewState.scrollParent,r=this.viewState.getScrollOffset(),{scrollAnchorPos:s,scrollAnchorHeight:o}=this.viewState;Math.abs(r-this.viewState.scrollOffset)>1&&(o=-1),this.viewState.scrollAnchorHeight=-1;try{for(let a=0;;a++){if(o<0)if(Ff(n||this.win))s=-1,o=this.viewState.heightMap.height;else{let O=this.viewState.scrollAnchorAt(r);s=O.from,o=O.top}this.updateState=1;let l=this.viewState.measure();if(!l&&!this.measureRequests.length&&this.viewState.scrollTarget==null)break;if(a>5){console.warn(this.measureRequests.length?"Measure loop restarted more than 5 times":"Viewport failed to stabilize");break}let c=[];l&4||([this.measureRequests,c]=[c,this.measureRequests]);let h=c.map(O=>{try{return O.read(this)}catch(p){return at(this.state,p),Vf}}),f=fs.create(this,this.state,[]),u=!1;f.flags|=l,t?t.flags|=l:t=f,this.updateState=2,f.empty||(this.updatePlugins(f),this.inputState.update(f),this.updateAttrs(),u=this.docView.update(f),u&&this.docViewUpdate());for(let O=0;O1||p<-1)&&!(L.ios&&this.inputState.lastIOSMomentumScroll>Date.now()-100)&&(n==this.scrollDOM||this.hasFocus||Math.max(this.inputState.lastWheelEvent,this.inputState.lastTouchTime)>Date.now()-100)){r=r+p,n?n.scrollTop+=p:this.win.scrollBy(0,p),o=-1;continue}}break}}}finally{this.updateState=0,this.measureScheduled=-1}if(t&&!t.empty)for(let a of this.state.facet(pa))a(t)}get themeClasses(){return Ma+" "+(this.state.facet(La)?Au:Ru)+" "+this.state.facet(rs)}updateAttrs(){let e=Df(this,Ou,{class:"cm-editor"+(this.hasFocus?" cm-focused ":" ")+this.themeClasses}),t={spellcheck:"false",autocorrect:"off",autocapitalize:"off",writingsuggestions:"false",translate:"no",contenteditable:this.state.facet(zt)?"true":"false",class:"cm-content",style:`${L.tabSize}: ${this.state.tabSize}`,role:"textbox","aria-multiline":"true"};this.state.readOnly&&(t["aria-readonly"]="true"),Df(this,Na,t);let n=this.observer.ignore(()=>{let r=yf(this.contentDOM,this.contentAttrs,t),s=yf(this.dom,this.editorAttrs,e);return r||s});return this.editorAttrs=e,this.contentAttrs=t,n}showAnnouncements(e){let t=!0;for(let n of e)for(let r of n.effects)if(r.is(i.announce)){t&&(this.announceDOM.textContent=""),t=!1;let s=this.announceDOM.appendChild(document.createElement("div"));s.textContent=r.value}}mountStyles(){this.styleModules=this.state.facet(In);let e=this.state.facet(i.cspNonce);nt.mount(this.root,this.styleModules.concat(XQ).reverse(),e?{nonce:e}:void 0)}readMeasured(){if(this.updateState==2)throw new Error("Reading the editor layout isn't allowed during an update");this.updateState==0&&this.measureScheduled>-1&&this.measure(!1)}requestMeasure(e){if(this.measureScheduled<0&&(this.measureScheduled=this.win.requestAnimationFrame(()=>this.measure())),e){if(this.measureRequests.indexOf(e)>-1)return;if(e.key!=null){for(let t=0;tn.plugin==e)||null),t&&t.update(this).value}get documentTop(){return this.contentDOM.getBoundingClientRect().top+this.viewState.paddingTop}get documentPadding(){return{top:this.viewState.paddingTop,bottom:this.viewState.paddingBottom}}get scaleX(){return this.viewState.scaleX}get scaleY(){return this.viewState.scaleY}elementAtHeight(e){return this.readMeasured(),this.viewState.elementAtHeight(e)}lineBlockAtHeight(e){return this.readMeasured(),this.viewState.lineBlockAtHeight(e)}get viewportLineBlocks(){return this.viewState.viewportLines}lineBlockAt(e){return this.viewState.lineBlockAt(e)}get contentHeight(){return this.viewState.contentHeight}moveByChar(e,t,n){return ra(this,e,$f(this,e,t,n))}moveByGroup(e,t){return ra(this,e,$f(this,e,t,n=>eQ(this,e.head,n)))}visualLineSide(e,t){let n=this.bidiSpans(e),r=this.textDirectionAt(e.from),s=n[t?n.length-1:0];return v.cursor(s.side(t,r)+e.from,s.forward(!t,r)?1:-1)}moveToLineBoundary(e,t,n=!0){return J0(this,e,t,n)}moveVertically(e,t,n){return ra(this,e,tQ(this,e,t,n))}domAtPos(e,t=1){return this.docView.domAtPos(e,t)}posAtDOM(e,t=0){return this.docView.posFromDOM(e,t)}posAtCoords(e,t=!0){this.readMeasured();let n=wa(this,e,t);return n&&n.pos}posAndSideAtCoords(e,t=!0){return this.readMeasured(),wa(this,e,t)}coordsAtPos(e,t=1){this.readMeasured();let n=this.state.doc.lineAt(e),r=this.bidiSpans(n),s=r[ot.find(r,e-n.from,-1,t)];return this.docView.coordsAt(e,t,s.dir==ue.RTL)}coordsForChar(e){return this.readMeasured(),this.docView.coordsForChar(e)}get defaultCharacterWidth(){return this.viewState.heightOracle.charWidth}get defaultLineHeight(){return this.viewState.heightOracle.lineHeight}get textDirection(){return this.viewState.defaultTextDirection}textDirectionAt(e){return!this.state.facet(hu)||ethis.viewport.to?this.textDirection:(this.readMeasured(),this.docView.textDirectionAt(e))}get lineWrapping(){return this.viewState.heightOracle.lineWrapping}bidiSpans(e){if(e.length>AQ)return iu(e.length);let t=this.textDirectionAt(e.from),n;for(let s of this.bidiCache)if(s.from==e.from&&s.dir==t&&(s.fresh||tu(s.isolates,n=wf(this,e))))return s.order;n||(n=wf(this,e));let r=_0(e.text,t,n);return this.bidiCache.push(new bs(e.from,e.to,t,n,!0,r)),r}get hasFocus(){var e;return(this.dom.ownerDocument.hasFocus()||L.safari&&((e=this.inputState)===null||e===void 0?void 0:e.lastContextMenu)>Date.now()-3e4)&&this.root.activeElement==this.contentDOM}focus(){this.observer.ignore(()=>{Nf(this.contentDOM),this.docView.updateSelection()})}setRoot(e){this._root!=e&&(this._root=e,this.observer.setWindow((e.nodeType==9?e:e.ownerDocument).defaultView||window),this.mountStyles())}destroy(){this.root.activeElement==this.contentDOM&&this.contentDOM.blur();for(let e of this.plugins)e.destroy(this);this.plugins=[],this.inputState.destroy(),this.docView.destroy(),this.dom.remove(),this.observer.destroy(),this.measureScheduled>-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.destroyed=!0}static scrollIntoView(e,t={}){var n,r,s,o;return Jr.of(new Fn(typeof e=="number"?v.cursor(e):e,(n=t.y)!==null&&n!==void 0?n:"nearest",(r=t.x)!==null&&r!==void 0?r:"nearest",(s=t.yMargin)!==null&&s!==void 0?s:5,(o=t.xMargin)!==null&&o!==void 0?o:5))}scrollSnapshot(){let{scrollTop:e,scrollLeft:t}=this.scrollDOM,n=this.viewState.scrollAnchorAt(e);return Jr.of(new Fn(v.cursor(n.from),"start","start",n.top-e,t,!0))}setTabFocusMode(e){e==null?this.inputState.tabFocusMode=this.inputState.tabFocusMode<0?0:-1:typeof e=="boolean"?this.inputState.tabFocusMode=e?0:-1:this.inputState.tabFocusMode!=0&&(this.inputState.tabFocusMode=Date.now()+e)}static domEventHandlers(e){return De.define(()=>({}),{eventHandlers:e})}static domEventObservers(e){return De.define(()=>({}),{eventObservers:e})}static theme(e,t){let n=nt.newName(),r=[rs.of(n),In.of(Wa(`.${n}`,e))];return t&&t.dark&&r.push(La.of(!0)),r}static baseTheme(e){return pt.lowest(In.of(Wa("."+Ma,e,Zu)))}static findFromDOM(e){var t;let n=e.querySelector(".cm-content"),r=n&&fe.get(n)||fe.get(e);return((t=r?.root)===null||t===void 0?void 0:t.view)||null}};E.styleModule=In;E.inputHandler=lu;E.clipboardInputFilter=Ua;E.clipboardOutputFilter=Ga;E.scrollHandler=fu;E.focusChangeEffect=cu;E.perLineTextDirection=hu;E.exceptionSink=au;E.updateListener=pa;E.editable=zt;E.mouseSelectionStyle=ou;E.dragMovesSelection=su;E.clickAddsSelectionRange=ru;E.decorations=ys;E.blockWrappers=du;E.outerDecorations=Fa;E.atomicRanges=sr;E.bidiIsolatedRanges=pu;E.cursorScrollMargin=Y.define({combine:i=>{let e=5,t=5;for(let n of i)typeof n=="number"?e=t=n:{x:e,y:t}=n;return{x:e,y:t}}});E.scrollMargins=mu;E.darkTheme=La;E.cspNonce=Y.define({combine:i=>i.length?i[0]:""});E.contentAttributes=Na;E.editorAttributes=Ou;E.lineWrapping=E.contentAttributes.of({class:"cm-lineWrapping"});E.announce=ie.define();var AQ=4096,Vf={},bs=class i{constructor(e,t,n,r,s,o){this.from=e,this.to=t,this.dir=n,this.isolates=r,this.fresh=s,this.order=o}static update(e,t){if(t.empty&&!e.some(s=>s.fresh))return e;let n=[],r=e.length?e[e.length-1].dir:ue.LTR;for(let s=Math.max(0,e.length-10);s=0;r--){let s=n[r],o=typeof s=="function"?s(i):s;o&&Ya(o,t)}return t}var ZQ=L.mac?"mac":L.windows?"win":L.linux?"linux":"key";function qQ(i,e){let t=i.split(/-(?!$)/),n=t[t.length-1];n=="Space"&&(n=" ");let r,s,o,a;for(let l=0;ln.concat(r),[]))),t}var ri=null,LQ=4e3;function MQ(i,e=ZQ){let t=Object.create(null),n=Object.create(null),r=(o,a)=>{let l=n[o];if(l==null)n[o]=a;else if(l!=a)throw new Error("Key binding "+o+" is used both as a regular binding and as a multi-stroke prefix")},s=(o,a,l,c,h)=>{var f,u;let O=t[o]||(t[o]=Object.create(null)),p=a.split(/ (?!$)/).map(g=>qQ(g,e));for(let g=1;g{let x=ri={view:S,prefix:Q,scope:o};return setTimeout(()=>{ri==x&&(ri=null)},LQ),!0}]})}let m=p.join(" ");r(m,!1);let b=O[m]||(O[m]={preventDefault:!1,stopPropagation:!1,run:((u=(f=O._any)===null||f===void 0?void 0:f.run)===null||u===void 0?void 0:u.slice())||[]});l&&b.run.push(l),c&&(b.preventDefault=!0),h&&(b.stopPropagation=!0)};for(let o of i){let a=o.scope?o.scope.split(" "):["editor"];if(o.any)for(let c of a){let h=t[c]||(t[c]=Object.create(null));h._any||(h._any={preventDefault:!1,stopPropagation:!1,run:[]});let{any:f}=o;for(let u in h)h[u].run.push(O=>f(O,Da))}let l=o[e]||o.key;if(l)for(let c of a)s(c,l,o.run,o.preventDefault,o.stopPropagation),o.shift&&s(c,"Shift-"+l,o.shift,o.preventDefault,o.stopPropagation)}return t}var Da=null;function WQ(i,e,t,n){Da=e;let r=gf(e),s=ni(r,0),o=on(s)==r.length&&r!=" ",a="",l=!1,c=!1,h=!1;ri&&ri.view==t&&ri.scope==n&&(a=ri.prefix+" ",Pu.indexOf(e.keyCode)<0&&(c=!0,ri=null));let f=new Set,u=b=>{if(b){for(let g of b.run)if(!f.has(g)&&(f.add(g),g(t)))return b.stopPropagation&&(h=!0),!0;b.preventDefault&&(b.stopPropagation&&(h=!0),c=!0)}return!1},O=i[n],p,m;return O&&(u(O[a+ss(r,e,!o)])?l=!0:o&&(e.altKey||e.metaKey||e.ctrlKey)&&!(L.windows&&e.ctrlKey&&e.altKey)&&!(L.mac&&e.altKey&&!(e.ctrlKey||e.metaKey))&&(p=Et[e.keyCode])&&p!=r?(u(O[a+ss(p,e,!0)])||e.shiftKey&&(m=an[e.keyCode])!=r&&m!=p&&u(O[a+ss(m,e,!1)]))&&(l=!0):o&&e.shiftKey&&u(O[a+ss(r,e,!0)])&&(l=!0),!l&&u(O._any)&&(l=!0)),c&&(l=!0),l&&h&&e.stopPropagation(),Da=null,l}var qu=ie.define({map(i,e){return i==null?null:e.mapPos(i)}}),Un=he.define({create(){return null},update(i,e){return i!=null&&(i=e.changes.mapPos(i)),e.effects.reduce((t,n)=>n.is(qu)?n.value:t,i)}}),jQ=De.fromClass(class{constructor(i){this.view=i,this.cursor=null,this.measureReq={read:this.readPos.bind(this),write:this.drawCursor.bind(this)}}update(i){var e;let t=i.state.field(Un);t==null?this.cursor!=null&&((e=this.cursor)===null||e===void 0||e.remove(),this.cursor=null):(this.cursor||(this.cursor=this.view.scrollDOM.appendChild(document.createElement("div")),this.cursor.className="cm-dropCursor"),(i.startState.field(Un)!=t||i.docChanged||i.geometryChanged)&&this.view.requestMeasure(this.measureReq))}readPos(){let{view:i}=this,e=i.state.field(Un),t=e!=null&&i.coordsAtPos(e);if(!t)return null;let n=i.scrollDOM.getBoundingClientRect();return{left:t.left-n.left+i.scrollDOM.scrollLeft*i.scaleX,top:t.top-n.top+i.scrollDOM.scrollTop*i.scaleY,height:t.bottom-t.top}}drawCursor(i){if(this.cursor){let{scaleX:e,scaleY:t}=this.view;i?(this.cursor.style.left=i.left/e+"px",this.cursor.style.top=i.top/t+"px",this.cursor.style.height=i.height/t+"px"):this.cursor.style.left="-100000px"}}destroy(){this.cursor&&this.cursor.remove()}setDropPos(i){this.view.state.field(Un)!=i&&this.view.dispatch({effects:qu.of(i)})}},{eventObservers:{dragover(i){this.setDropPos(this.view.posAtCoords({x:i.clientX,y:i.clientY}))},dragleave(i){(i.target==this.view.contentDOM||!this.view.contentDOM.contains(i.relatedTarget))&&this.setDropPos(null)},dragend(){this.setDropPos(null)},drop(){this.setDropPos(null)}}});function Eu(){return[Un,jQ]}var n$=/x/.unicode!=null?"gu":"g";var Wt=class extends it{compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}eq(e){return!1}destroy(e){}};Wt.prototype.elementClass="";Wt.prototype.toDOM=void 0;Wt.prototype.mapMode=me.TrackBefore;Wt.prototype.startSide=Wt.prototype.endSide=-1;Wt.prototype.point=!0;var VQ=0,Ye=class{constructor(e,t){this.from=e,this.to=t}},I=class{constructor(e={}){this.id=VQ++,this.perNode=!!e.perNode,this.deserialize=e.deserialize||(()=>{throw new Error("This node type doesn't define a deserialize function")}),this.combine=e.combine||null}add(e){if(this.perNode)throw new RangeError("Can't add per-node props to node types");return typeof e!="function"&&(e=Oe.match(e)),t=>{let n=e(t);return n===void 0?null:[this,n]}}};I.closedBy=new I({deserialize:i=>i.split(" ")});I.openedBy=new I({deserialize:i=>i.split(" ")});I.group=new I({deserialize:i=>i.split(" ")});I.isolate=new I({deserialize:i=>{if(i&&i!="rtl"&&i!="ltr"&&i!="auto")throw new RangeError("Invalid value for isolate: "+i);return i||"auto"}});I.contextHash=new I({perNode:!0});I.lookAhead=new I({perNode:!0});I.mounted=new I({perNode:!0});var ci=class{constructor(e,t,n,r=!1){this.tree=e,this.overlay=t,this.parser=n,this.bracketed=r}static get(e){return e&&e.props&&e.props[I.mounted.id]}},DQ=Object.create(null),Oe=class i{constructor(e,t,n,r=0){this.name=e,this.props=t,this.id=n,this.flags=r}static define(e){let t=e.props&&e.props.length?Object.create(null):DQ,n=(e.top?1:0)|(e.skipped?2:0)|(e.error?4:0)|(e.name==null?8:0),r=new i(e.name||"",t,e.id,n);if(e.props){for(let s of e.props)if(Array.isArray(s)||(s=s(r)),s){if(s[0].perNode)throw new RangeError("Can't store a per-node prop on a node type");t[s[0].id]=s[1]}}return r}prop(e){return this.props[e.id]}get isTop(){return(this.flags&1)>0}get isSkipped(){return(this.flags&2)>0}get isError(){return(this.flags&4)>0}get isAnonymous(){return(this.flags&8)>0}is(e){if(typeof e=="string"){if(this.name==e)return!0;let t=this.prop(I.group);return t?t.indexOf(e)>-1:!1}return this.id==e}static match(e){let t=Object.create(null);for(let n in e)for(let r of n.split(" "))t[r]=e[n];return n=>{for(let r=n.prop(I.group),s=-1;s<(r?r.length:0);s++){let o=t[s<0?n.name:r[s]];if(o)return o}}}};Oe.none=new Oe("",Object.create(null),0,8);var jt=class i{constructor(e){this.types=e;for(let t=0;t0;for(let l=this.cursor(o|ee.IncludeAnonymous);;){let c=!1;if(l.from<=s&&l.to>=r&&(!a&&l.type.isAnonymous||t(l)!==!1)){if(l.firstChild())continue;c=!0}for(;c&&n&&(a||!l.type.isAnonymous)&&n(l),!l.nextSibling();){if(!l.parent())return;c=!0}}}prop(e){return e.perNode?this.props?this.props[e.id]:void 0:this.type.prop(e)}get propValues(){let e=[];if(this.props)for(let t in this.props)e.push([+t,this.props[t]]);return e}balance(e={}){return this.children.length<=8?this:ll(Oe.none,this.children,this.positions,0,this.children.length,0,this.length,(t,n,r)=>new i(this.type,t,n,r,this.propValues),e.makeTree||((t,n,r)=>new i(Oe.none,t,n,r)))}static build(e){return IQ(e)}};G.empty=new G(Oe.none,[],[],0);var Ka=class i{constructor(e,t){this.buffer=e,this.index=t}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}get pos(){return this.index}next(){this.index-=4}fork(){return new i(this.buffer,this.index)}},hi=class i{constructor(e,t,n){this.buffer=e,this.length=t,this.set=n}get type(){return Oe.none}toString(){let e=[];for(let t=0;t0));l=o[l+3]);return a}slice(e,t,n){let r=this.buffer,s=new Uint16Array(t-e),o=0;for(let a=e,l=0;a=e&&te;case 1:return t<=e&&n>e;case 2:return n>e;case 4:return!0}}function or(i,e,t,n){for(var r;i.from==i.to||(t<1?i.from>=e:i.from>e)||(t>-1?i.to<=e:i.to0?a.length:-1;e!=c;e+=t){let h=a[e],f=l[e]+o.from,u;if(!(!(s&ee.EnterBracketed&&h instanceof G&&(u=ci.get(h))&&!u.overlay&&u.bracketed&&n>=f&&n<=f+h.length)&&!Yu(r,n,f,f+h.length))){if(h instanceof hi){if(s&ee.ExcludeBuffers)continue;let O=h.findChild(0,h.buffer.length,t,n-f,r);if(O>-1)return new Ei(new el(o,h,e,f),null,O)}else if(s&ee.IncludeAnonymous||!h.type.isAnonymous||al(h)){let O;if(!(s&ee.IgnoreMounts)&&(O=ci.get(h))&&!O.overlay)return new i(O.tree,f,e,o);let p=new i(h,f,e,o);return s&ee.IncludeAnonymous||!p.type.isAnonymous?p:p.nextChild(t<0?h.children.length-1:0,t,n,r,s)}}}if(s&ee.IncludeAnonymous||!o.type.isAnonymous||(o.index>=0?e=o.index+t:e=t<0?-1:o._parent._tree.children.length,o=o._parent,!o))return null}}get firstChild(){return this.nextChild(0,1,0,4)}get lastChild(){return this.nextChild(this._tree.children.length-1,-1,0,4)}childAfter(e){return this.nextChild(0,1,e,2)}childBefore(e){return this.nextChild(this._tree.children.length-1,-1,e,-2)}prop(e){return this._tree.prop(e)}enter(e,t,n=0){let r;if(!(n&ee.IgnoreOverlays)&&(r=ci.get(this._tree))&&r.overlay){let s=e-this.from,o=n&ee.EnterBracketed&&r.bracketed;for(let{from:a,to:l}of r.overlay)if((t>0||o?a<=s:a=s:l>s))return new i(r.tree,r.overlay[0].from+this.from,-1,this)}return this.nextChild(0,1,e,t,n)}nextSignificantParent(){let e=this;for(;e.type.isAnonymous&&e._parent;)e=e._parent;return e}get parent(){return this._parent?this._parent.nextSignificantParent():null}get nextSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index+1,1,0,4):null}get prevSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index-1,-1,0,4):null}get tree(){return this._tree}toTree(){return this._tree}toString(){return this._tree.toString()}};function Lu(i,e,t,n){let r=i.cursor(),s=[];if(!r.firstChild())return s;if(t!=null){for(let o=!1;!o;)if(o=r.type.is(t),!r.nextSibling())return s}for(;;){if(n!=null&&r.type.is(n))return s;if(r.type.is(e)&&s.push(r.node),!r.nextSibling())return n==null?s:[]}}function Ja(i,e,t=e.length-1){for(let n=i;t>=0;n=n.parent){if(!n)return!1;if(!n.type.isAnonymous){if(e[t]&&e[t]!=n.name)return!1;t--}}return!0}var el=class{constructor(e,t,n,r){this.parent=e,this.buffer=t,this.index=n,this.start=r}},Ei=class i extends Ps{get name(){return this.type.name}get from(){return this.context.start+this.context.buffer.buffer[this.index+1]}get to(){return this.context.start+this.context.buffer.buffer[this.index+2]}constructor(e,t,n){super(),this.context=e,this._parent=t,this.index=n,this.type=e.buffer.set.types[e.buffer.buffer[n]]}child(e,t,n){let{buffer:r}=this.context,s=r.findChild(this.index+4,r.buffer[this.index+3],e,t-this.context.start,n);return s<0?null:new i(this.context,this,s)}get firstChild(){return this.child(1,0,4)}get lastChild(){return this.child(-1,0,4)}childAfter(e){return this.child(1,e,2)}childBefore(e){return this.child(-1,e,-2)}prop(e){return this.type.prop(e)}enter(e,t,n=0){if(n&ee.ExcludeBuffers)return null;let{buffer:r}=this.context,s=r.findChild(this.index+4,r.buffer[this.index+3],t>0?1:-1,e-this.context.start,t);return s<0?null:new i(this.context,this,s)}get parent(){return this._parent||this.context.parent.nextSignificantParent()}externalSibling(e){return this._parent?null:this.context.parent.nextChild(this.context.index+e,e,0,4)}get nextSibling(){let{buffer:e}=this.context,t=e.buffer[this.index+3];return t<(this._parent?e.buffer[this._parent.index+3]:e.buffer.length)?new i(this.context,this._parent,t):this.externalSibling(1)}get prevSibling(){let{buffer:e}=this.context,t=this._parent?this._parent.index+4:0;return this.index==t?this.externalSibling(-1):new i(this.context,this._parent,e.findChild(t,this.index,-1,0,4))}get tree(){return null}toTree(){let e=[],t=[],{buffer:n}=this.context,r=this.index+4,s=n.buffer[this.index+3];if(s>r){let o=n.buffer[this.index+1];e.push(n.slice(r,s,o)),t.push(0)}return new G(this.type,e,t,this.to-this.from)}toString(){return this.context.buffer.childString(this.index)}};function Iu(i){if(!i.length)return null;let e=0,t=i[0];for(let s=1;st.from||o.to=e){let a=new Ie(o.tree,o.overlay[0].from+s.from,-1,s);(r||(r=[n])).push(or(a,e,t,!1))}}return r?Iu(r):n}var Qn=class{get name(){return this.type.name}constructor(e,t=0){if(this.buffer=null,this.stack=[],this.index=0,this.bufferNode=null,this.mode=t&~ee.EnterBracketed,e instanceof Ie)this.yieldNode(e);else{this._tree=e.context.parent,this.buffer=e.context;for(let n=e._parent;n;n=n._parent)this.stack.unshift(n.index);this.bufferNode=e,this.yieldBuf(e.index)}}yieldNode(e){return e?(this._tree=e,this.type=e.type,this.from=e.from,this.to=e.to,!0):!1}yieldBuf(e,t){this.index=e;let{start:n,buffer:r}=this.buffer;return this.type=t||r.set.types[r.buffer[e]],this.from=n+r.buffer[e+1],this.to=n+r.buffer[e+2],!0}yield(e){return e?e instanceof Ie?(this.buffer=null,this.yieldNode(e)):(this.buffer=e.context,this.yieldBuf(e.index,e.type)):!1}toString(){return this.buffer?this.buffer.buffer.childString(this.index):this._tree.toString()}enterChild(e,t,n){if(!this.buffer)return this.yield(this._tree.nextChild(e<0?this._tree._tree.children.length-1:0,e,t,n,this.mode));let{buffer:r}=this.buffer,s=r.findChild(this.index+4,r.buffer[this.index+3],e,t-this.buffer.start,n);return s<0?!1:(this.stack.push(this.index),this.yieldBuf(s))}firstChild(){return this.enterChild(1,0,4)}lastChild(){return this.enterChild(-1,0,4)}childAfter(e){return this.enterChild(1,e,2)}childBefore(e){return this.enterChild(-1,e,-2)}enter(e,t,n=this.mode){return this.buffer?n&ee.ExcludeBuffers?!1:this.enterChild(1,e,t):this.yield(this._tree.enter(e,t,n))}parent(){if(!this.buffer)return this.yieldNode(this.mode&ee.IncludeAnonymous?this._tree._parent:this._tree.parent);if(this.stack.length)return this.yieldBuf(this.stack.pop());let e=this.mode&ee.IncludeAnonymous?this.buffer.parent:this.buffer.parent.nextSignificantParent();return this.buffer=null,this.yieldNode(e)}sibling(e){if(!this.buffer)return this._tree._parent?this.yield(this._tree.index<0?null:this._tree._parent.nextChild(this._tree.index+e,e,0,4,this.mode)):!1;let{buffer:t}=this.buffer,n=this.stack.length-1;if(e<0){let r=n<0?0:this.stack[n]+4;if(this.index!=r)return this.yieldBuf(t.findChild(r,this.index,-1,0,4))}else{let r=t.buffer[this.index+3];if(r<(n<0?t.buffer.length:t.buffer[this.stack[n]+3]))return this.yieldBuf(r)}return n<0?this.yield(this.buffer.parent.nextChild(this.buffer.index+e,e,0,4,this.mode)):!1}nextSibling(){return this.sibling(1)}prevSibling(){return this.sibling(-1)}atLastNode(e){let t,n,{buffer:r}=this;if(r){if(e>0){if(this.index-1)for(let s=t+e,o=e<0?-1:n._tree.children.length;s!=o;s+=e){let a=n._tree.children[s];if(this.mode&ee.IncludeAnonymous||a instanceof hi||!a.type.isAnonymous||al(a))return!1}return!0}move(e,t){if(t&&this.enterChild(e,0,4))return!0;for(;;){if(this.sibling(e))return!0;if(this.atLastNode(e)||!this.parent())return!1}}next(e=!0){return this.move(1,e)}prev(e=!0){return this.move(-1,e)}moveTo(e,t=0){for(;(this.from==this.to||(t<1?this.from>=e:this.from>e)||(t>-1?this.to<=e:this.to=0;){for(let o=e;o;o=o._parent)if(o.index==r){if(r==this.index)return o;t=o,n=s+1;break e}r=this.stack[--s]}for(let r=n;r=0;s--){if(s<0)return Ja(this._tree,e,r);let o=n[t.buffer[this.stack[s]]];if(!o.isAnonymous){if(e[r]&&e[r]!=o.name)return!1;r--}}return!0}};function al(i){return i.children.some(e=>e instanceof hi||!e.type.isAnonymous||al(e))}function IQ(i){var e;let{buffer:t,nodeSet:n,maxBufferLength:r=1024,reused:s=[],minRepeatType:o=n.types.length}=i,a=Array.isArray(t)?new Ka(t,t.length):t,l=n.types,c=0,h=0;function f(P,$,R,_,W,T){let{id:k,start:w,end:C,size:j}=a,y=h,z=c;if(j<0)if(a.next(),j==-1){let N=s[k];R.push(N),_.push(w-P);return}else if(j==-3){c=k;return}else if(j==-4){h=k;return}else throw new RangeError(`Unrecognized record size: ${j}`);let ye=l[k],Zt,X,te=w-P;if(C-w<=r&&(X=b(a.pos-$,W))){let N=new Uint16Array(X.size-X.skip),U=a.pos-X.size,le=N.length;for(;a.pos>U;)le=g(X.start,N,le);Zt=new hi(N,C-X.start,n),te=X.start-P}else{let N=a.pos-j;a.next();let U=[],le=[],F=k>=o?k:-1,Qe=0,Ce=C;for(;a.pos>N;)F>=0&&a.id==F&&a.size>=0?(a.end<=Ce-r&&(p(U,le,w,Qe,a.end,Ce,F,y,z),Qe=U.length,Ce=a.end),a.next()):T>2500?u(w,N,U,le):f(w,N,U,le,F,T+1);if(F>=0&&Qe>0&&Qe-1&&Qe>0){let ti=O(ye,z);Zt=ll(ye,U,le,0,U.length,0,C-w,ti,ti)}else Zt=m(ye,U,le,C-w,y-C,z)}R.push(Zt),_.push(te)}function u(P,$,R,_){let W=[],T=0,k=-1;for(;a.pos>$;){let{id:w,start:C,end:j,size:y}=a;if(y>4)a.next();else{if(k>-1&&C=0;j-=3)w[y++]=W[j],w[y++]=W[j+1]-C,w[y++]=W[j+2]-C,w[y++]=y;R.push(new hi(w,W[2]-C,n)),_.push(C-P)}}function O(P,$){return(R,_,W)=>{let T=0,k=R.length-1,w,C;if(k>=0&&(w=R[k])instanceof G){if(!k&&w.type==P&&w.length==W)return w;(C=w.prop(I.lookAhead))&&(T=_[k]+w.length+C)}return m(P,R,_,W,T,$)}}function p(P,$,R,_,W,T,k,w,C){let j=[],y=[];for(;P.length>_;)j.push(P.pop()),y.push($.pop()+R-W);P.push(m(n.types[k],j,y,T-W,w-T,C)),$.push(W-R)}function m(P,$,R,_,W,T,k){if(T){let w=[I.contextHash,T];k=k?[w].concat(k):[w]}if(W>25){let w=[I.lookAhead,W];k=k?[w].concat(k):[w]}return new G(P,$,R,_,k)}function b(P,$){let R=a.fork(),_=0,W=0,T=0,k=R.end-r,w={size:0,start:0,skip:0};e:for(let C=R.pos-P;R.pos>C;){let j=R.size;if(R.id==$&&j>=0){w.size=_,w.start=W,w.skip=T,T+=4,_+=4,R.next();continue}let y=R.pos-j;if(j<0||y=o?4:0,ye=R.start;for(R.next();R.pos>y;){if(R.size<0)if(R.size==-3||R.size==-4)z+=4;else break e;else R.id>=o&&(z+=4);R.next()}W=ye,_+=j,T+=z}return($<0||_==P)&&(w.size=_,w.start=W,w.skip=T),w.size>4?w:void 0}function g(P,$,R){let{id:_,start:W,end:T,size:k}=a;if(a.next(),k>=0&&_4){let C=a.pos-(k-4);for(;a.pos>C;)R=g(P,$,R)}$[--R]=w,$[--R]=T-P,$[--R]=W-P,$[--R]=_}else k==-3?c=_:k==-4&&(h=_);return R}let Q=[],S=[];for(;a.pos>0;)f(i.start||0,i.bufferStart||0,Q,S,-1,0);let x=(e=i.length)!==null&&e!==void 0?e:Q.length?S[0]+Q[0].length:0;return new G(l[i.topID],Q.reverse(),S.reverse(),x)}var Mu=new WeakMap;function ws(i,e){if(!i.isAnonymous||e instanceof hi||e.type!=i)return 1;let t=Mu.get(e);if(t==null){t=1;for(let n of e.children){if(n.type!=i||!(n instanceof G)){t=1;break}t+=ws(i,n)}Mu.set(e,t)}return t}function ll(i,e,t,n,r,s,o,a,l){let c=0;for(let p=n;p=h)break;$+=R}if(S==x+1){if($>h){let R=p[x];O(R.children,R.positions,0,R.children.length,m[x]+Q);continue}f.push(p[x])}else{let R=m[S-1]+p[S-1].length-P;f.push(ll(i,p,m,x,S,P,R,null,l))}u.push(P+Q-s)}}return O(e,t,n,r,0),(a||l)(f,u,o)}var fi=class{constructor(){this.map=new WeakMap}setBuffer(e,t,n){let r=this.map.get(e);r||this.map.set(e,r=new Map),r.set(t,n)}getBuffer(e,t){let n=this.map.get(e);return n&&n.get(t)}set(e,t){e instanceof Ei?this.setBuffer(e.context.buffer,e.index,t):e instanceof Ie&&this.map.set(e.tree,t)}get(e){return e instanceof Ei?this.getBuffer(e.context.buffer,e.index):e instanceof Ie?this.map.get(e.tree):void 0}cursorSet(e,t){e.buffer?this.setBuffer(e.buffer.buffer,e.index,t):this.map.set(e.tree,t)}cursorGet(e){return e.buffer?this.getBuffer(e.buffer.buffer,e.index):this.map.get(e.tree)}},Vt=class i{constructor(e,t,n,r,s=!1,o=!1){this.from=e,this.to=t,this.tree=n,this.offset=r,this.open=(s?1:0)|(o?2:0)}get openStart(){return(this.open&1)>0}get openEnd(){return(this.open&2)>0}static addTree(e,t=[],n=!1){let r=[new i(0,e.length,e,0,!1,n)];for(let s of t)s.to>e.length&&r.push(s);return r}static applyChanges(e,t,n=128){if(!t.length)return e;let r=[],s=1,o=e.length?e[0]:null;for(let a=0,l=0,c=0;;a++){let h=a=n)for(;o&&o.from=u.from||f<=u.to||c){let O=Math.max(u.from,l)-c,p=Math.min(u.to,f)-c;u=O>=p?null:new i(O,p,u.tree,u.offset+c,a>0,!!h)}if(u&&r.push(u),o.to>f)break;o=snew Ye(r.from,r.to)):[new Ye(0,0)]:[new Ye(0,e.length)],this.createParse(e,t||[],n)}parse(e,t,n){let r=this.startParse(e,t,n);for(;;){let s=r.advance();if(s)return s}}},il=class{constructor(e){this.string=e}get length(){return this.string.length}chunk(e){return this.string.slice(e)}get lineChunks(){return!1}read(e,t){return this.string.slice(e,t)}};function bn(i){return(e,t,n,r)=>new sl(e,i,t,n,r)}var vs=class{constructor(e,t,n,r,s,o){this.parser=e,this.parse=t,this.overlay=n,this.bracketed=r,this.target=s,this.from=o}};function Wu(i){if(!i.length||i.some(e=>e.from>=e.to))throw new RangeError("Invalid inner parse ranges given: "+JSON.stringify(i))}var nl=class{constructor(e,t,n,r,s,o,a,l){this.parser=e,this.predicate=t,this.mounts=n,this.index=r,this.start=s,this.bracketed=o,this.target=a,this.prev=l,this.depth=0,this.ranges=[]}},rl=new I({perNode:!0}),sl=class{constructor(e,t,n,r,s){this.nest=t,this.input=n,this.fragments=r,this.ranges=s,this.inner=[],this.innerDone=0,this.baseTree=null,this.stoppedAt=null,this.baseParse=e}advance(){if(this.baseParse){let n=this.baseParse.advance();if(!n)return null;if(this.baseParse=null,this.baseTree=n,this.startInner(),this.stoppedAt!=null)for(let r of this.inner)r.parse.stopAt(this.stoppedAt)}if(this.innerDone==this.inner.length){let n=this.baseTree;return this.stoppedAt!=null&&(n=new G(n.type,n.children,n.positions,n.length,n.propValues.concat([[rl,this.stoppedAt]]))),n}let e=this.inner[this.innerDone],t=e.parse.advance();if(t){this.innerDone++;let n=Object.assign(Object.create(null),e.target.props);n[I.mounted.id]=new ci(t,e.overlay,e.parser,e.bracketed),e.target.props=n}return null}get parsedPos(){if(this.baseParse)return 0;let e=this.input.length;for(let t=this.innerDone;t=this.stoppedAt)a=!1;else if(e.hasNode(r)){if(t){let c=t.mounts.find(h=>h.frag.from<=r.from&&h.frag.to>=r.to&&h.mount.overlay);if(c)for(let h of c.mount.overlay){let f=h.from+c.pos,u=h.to+c.pos;f>=r.from&&u<=r.to&&!t.ranges.some(O=>O.fromf)&&t.ranges.push({from:f,to:u})}}a=!1}else if(n&&(o=BQ(n.ranges,r.from,r.to)))a=o!=2;else if(!r.type.isAnonymous&&(s=this.nest(r,this.input))&&(r.fromnew Ye(f.from-r.from,f.to-r.from)):null,!!s.bracketed,r.tree,h.length?h[0].from:r.from)),s.overlay?h.length&&(n={ranges:h,depth:0,prev:n}):a=!1}}else if(t&&(l=t.predicate(r))&&(l===!0&&(l=new Ye(r.from,r.to)),l.from=0&&t.ranges[c].to==l.from?t.ranges[c]={from:t.ranges[c].from,to:l.to}:t.ranges.push(l)}if(a&&r.firstChild())t&&t.depth++,n&&n.depth++;else for(;!r.nextSibling();){if(!r.parent())break e;if(t&&!--t.depth){let c=Vu(this.ranges,t.ranges);c.length&&(Wu(c),this.inner.splice(t.index,0,new vs(t.parser,t.parser.startParse(this.input,Du(t.mounts,c),c),t.ranges.map(h=>new Ye(h.from-t.start,h.to-t.start)),t.bracketed,t.target,c[0].from))),t=t.prev}n&&!--n.depth&&(n=n.prev)}}}};function BQ(i,e,t){for(let n of i){if(n.from>=t)break;if(n.to>e)return n.from<=e&&n.to>=t?2:1}return 0}function ju(i,e,t,n,r,s){if(e=e&&t.enter(n,1,ee.IgnoreOverlays|ee.ExcludeBuffers)))if(t.to<=e)t.next(!1)||(this.done=!0);else break}hasNode(e){if(this.moveTo(e.from),!this.done&&this.cursor.from+this.offset==e.from&&this.cursor.tree)for(let t=this.cursor.tree;;){if(t==e.tree)return!0;if(t.children.length&&t.positions[0]==0&&t.children[0]instanceof G)t=t.children[0];else break}return!1}},ol=class{constructor(e){var t;if(this.fragments=e,this.curTo=0,this.fragI=0,e.length){let n=this.curFrag=e[0];this.curTo=(t=n.tree.prop(rl))!==null&&t!==void 0?t:n.to,this.inner=new $s(n.tree,-n.offset)}else this.curFrag=this.inner=null}hasNode(e){for(;this.curFrag&&e.from>=this.curTo;)this.nextFrag();return this.curFrag&&this.curFrag.from<=e.from&&this.curTo>=e.to&&this.inner.hasNode(e)}nextFrag(){var e;if(this.fragI++,this.fragI==this.fragments.length)this.curFrag=this.inner=null;else{let t=this.curFrag=this.fragments[this.fragI];this.curTo=(e=t.tree.prop(rl))!==null&&e!==void 0?e:t.to,this.inner=new $s(t.tree,-t.offset)}}findMounts(e,t){var n;let r=[];if(this.inner){this.inner.cursor.moveTo(e,1);for(let s=this.inner.cursor.node;s;s=s.parent){let o=(n=s.tree)===null||n===void 0?void 0:n.prop(I.mounted);if(o&&o.parser==t)for(let a=this.fragI;a=s.to)break;l.tree==this.curFrag.tree&&r.push({frag:l,pos:s.from-l.offset,mount:o})}}}return r}};function Vu(i,e){let t=null,n=e;for(let r=1,s=0;r=a)break;l.to<=o||(t||(n=t=e.slice()),l.froma&&t.splice(s+1,0,new Ye(a,l.to))):l.to>a?t[s--]=new Ye(a,l.to):t.splice(s--,1))}}return n}function GQ(i,e,t,n){let r=0,s=0,o=!1,a=!1,l=-1e9,c=[];for(;;){let h=r==i.length?1e9:o?i[r].to:i[r].from,f=s==e.length?1e9:a?e[s].to:e[s].from;if(o!=a){let u=Math.max(l,t),O=Math.min(h,f,n);unew Ye(u.from+n,u.to+n)),f=GQ(e,h,l,c);for(let u=0,O=l;;u++){let p=u==f.length,m=p?c:f[u].from;if(m>O&&t.push(new Vt(O,m,r.tree,-o,s.from>=O||s.openStart,s.to<=m||s.openEnd)),p)break;O=f[u].to}}else t.push(new Vt(l,c,r.tree,-o,s.from>=o||s.openStart,s.to<=a||s.openEnd))}return t}var NQ=0,Ke=class i{constructor(e,t,n,r){this.name=e,this.set=t,this.base=n,this.modified=r,this.id=NQ++}toString(){let{name:e}=this;for(let t of this.modified)t.name&&(e=`${t.name}(${e})`);return e}static define(e,t){let n=typeof e=="string"?e:"?";if(e instanceof i&&(t=e),t?.base)throw new Error("Can not derive from a modified tag");let r=new i(n,[],null,[]);if(r.set.push(r),t)for(let s of t.set)r.set.push(s);return r}static defineModifier(e){let t=new _s(e);return n=>n.modified.indexOf(t)>-1?n:_s.get(n.base||n,n.modified.concat(t).sort((r,s)=>r.id-s.id))}},FQ=0,_s=class i{constructor(e){this.name=e,this.instances=[],this.id=FQ++}static get(e,t){if(!t.length)return e;let n=t[0].instances.find(a=>a.base==e&&HQ(t,a.modified));if(n)return n;let r=[],s=new Ke(e.name,r,e,t);for(let a of t)a.instances.push(s);let o=KQ(t);for(let a of e.set)if(!a.modified.length)for(let l of o)r.push(i.get(a,l));return s}};function HQ(i,e){return i.length==e.length&&i.every((t,n)=>t==e[n])}function KQ(i){let e=[[]];for(let t=0;tn.length-t.length)}function ge(i){let e=Object.create(null);for(let t in i){let n=i[t];Array.isArray(n)||(n=[n]);for(let r of t.split(" "))if(r){let s=[],o=2,a=r;for(let f=0;;){if(a=="..."&&f>0&&f+3==r.length){o=1;break}let u=/^"(?:[^"\\]|\\.)*?"|[^\/!]+/.exec(a);if(!u)throw new RangeError("Invalid path: "+r);if(s.push(u[0]=="*"?"":u[0][0]=='"'?JSON.parse(u[0]):u[0]),f+=u[0].length,f==r.length)break;let O=r[f++];if(f==r.length&&O=="!"){o=0;break}if(O!="/")throw new RangeError("Invalid path: "+r);a=r.slice(f)}let l=s.length-1,c=s[l];if(!c)throw new RangeError("Invalid path: "+r);let h=new Li(n,o,l>0?s.slice(0,l):null);e[c]=h.sort(e[c])}}return Gu.add(e)}var Gu=new I({combine(i,e){let t,n,r;for(;i||e;){if(!i||e&&i.depth>=e.depth?(r=e,e=e.next):(r=i,i=i.next),t&&t.mode==r.mode&&!r.context&&!t.context)continue;let s=new Li(r.tags,r.mode,r.context);t?t.next=s:n=s,t=s}return n}}),Li=class{constructor(e,t,n,r){this.tags=e,this.mode=t,this.context=n,this.next=r}get opaque(){return this.mode==0}get inherit(){return this.mode==1}sort(e){return!e||e.depth{let o=r;for(let a of s)for(let l of a.set){let c=t[l.id];if(c){o=o?o+" "+c:c;break}}return o},scope:n}}function JQ(i,e){let t=null;for(let n of i){let r=n.style(e);r&&(t=t?t+" "+r:r)}return t}function Rs(i,e,t,n=0,r=i.length){let s=new hl(n,Array.isArray(e)?e:[e],t);s.highlightRange(i.cursor(),n,r,"",s.highlighters),s.flush(r)}var hl=class{constructor(e,t,n){this.at=e,this.highlighters=t,this.span=n,this.class=""}startSpan(e,t){t!=this.class&&(this.flush(e),e>this.at&&(this.at=e),this.class=t)}flush(e){e>this.at&&this.class&&this.span(this.at,e,this.class)}highlightRange(e,t,n,r,s){let{type:o,from:a,to:l}=e;if(a>=n||l<=t)return;o.isTop&&(s=this.highlighters.filter(O=>!O.scope||O.scope(o)));let c=r,h=eb(e)||Li.empty,f=JQ(s,h.tags);if(f&&(c&&(c+=" "),c+=f,h.mode==1&&(r+=(r?" ":"")+f)),this.startSpan(Math.max(t,a),c),h.opaque)return;let u=e.tree&&e.tree.prop(I.mounted);if(u&&u.overlay){let O=e.node.enter(u.overlay[0].from+a,1),p=this.highlighters.filter(b=>!b.scope||b.scope(u.tree.type)),m=e.firstChild();for(let b=0,g=a;;b++){let Q=b=S||!e.nextSibling())););if(!Q||S>n)break;g=Q.to+a,g>t&&(this.highlightRange(O.cursor(),Math.max(t,Q.from+a),Math.min(n,g),"",p),this.startSpan(Math.min(n,g),c))}m&&e.parent()}else if(e.firstChild()){u&&(r="");do if(!(e.to<=t)){if(e.from>=n)break;this.highlightRange(e,t,n,r,s),this.startSpan(Math.min(n,e.to),c)}while(e.nextSibling());e.parent()}}};function eb(i){let e=i.type.prop(Gu);for(;e&&e.context&&!i.matchContext(e.context);)e=e.next;return e||null}var q=Ke.define,Ts=q(),ui=q(),Bu=q(ui),Uu=q(ui),Oi=q(),Cs=q(Oi),cl=q(Oi),_t=q(),zi=q(_t),Ct=q(),Xt=q(),fl=q(),ar=q(fl),Xs=q(),d={comment:Ts,lineComment:q(Ts),blockComment:q(Ts),docComment:q(Ts),name:ui,variableName:q(ui),typeName:Bu,tagName:q(Bu),propertyName:Uu,attributeName:q(Uu),className:q(ui),labelName:q(ui),namespace:q(ui),macroName:q(ui),literal:Oi,string:Cs,docString:q(Cs),character:q(Cs),attributeValue:q(Cs),number:cl,integer:q(cl),float:q(cl),bool:q(Oi),regexp:q(Oi),escape:q(Oi),color:q(Oi),url:q(Oi),keyword:Ct,self:q(Ct),null:q(Ct),atom:q(Ct),unit:q(Ct),modifier:q(Ct),operatorKeyword:q(Ct),controlKeyword:q(Ct),definitionKeyword:q(Ct),moduleKeyword:q(Ct),operator:Xt,derefOperator:q(Xt),arithmeticOperator:q(Xt),logicOperator:q(Xt),bitwiseOperator:q(Xt),compareOperator:q(Xt),updateOperator:q(Xt),definitionOperator:q(Xt),typeOperator:q(Xt),controlOperator:q(Xt),punctuation:fl,separator:q(fl),bracket:ar,angleBracket:q(ar),squareBracket:q(ar),paren:q(ar),brace:q(ar),content:_t,heading:zi,heading1:q(zi),heading2:q(zi),heading3:q(zi),heading4:q(zi),heading5:q(zi),heading6:q(zi),contentSeparator:q(_t),list:q(_t),quote:q(_t),emphasis:q(_t),strong:q(_t),link:q(_t),monospace:q(_t),strikethrough:q(_t),inserted:q(),deleted:q(),changed:q(),invalid:q(),meta:Xs,documentMeta:q(Xs),annotation:q(Xs),processingInstruction:q(Xs),definition:Ke.defineModifier("definition"),constant:Ke.defineModifier("constant"),function:Ke.defineModifier("function"),standard:Ke.defineModifier("standard"),local:Ke.defineModifier("local"),special:Ke.defineModifier("special")};for(let i in d){let e=d[i];e instanceof Ke&&(e.name=i)}var c$=ul([{tag:d.link,class:"tok-link"},{tag:d.heading,class:"tok-heading"},{tag:d.emphasis,class:"tok-emphasis"},{tag:d.strong,class:"tok-strong"},{tag:d.keyword,class:"tok-keyword"},{tag:d.atom,class:"tok-atom"},{tag:d.bool,class:"tok-bool"},{tag:d.url,class:"tok-url"},{tag:d.labelName,class:"tok-labelName"},{tag:d.inserted,class:"tok-inserted"},{tag:d.deleted,class:"tok-deleted"},{tag:d.literal,class:"tok-literal"},{tag:d.string,class:"tok-string"},{tag:d.number,class:"tok-number"},{tag:[d.regexp,d.escape,d.special(d.string)],class:"tok-string2"},{tag:d.variableName,class:"tok-variableName"},{tag:d.local(d.variableName),class:"tok-variableName tok-local"},{tag:d.definition(d.variableName),class:"tok-variableName tok-definition"},{tag:d.special(d.variableName),class:"tok-variableName2"},{tag:d.definition(d.propertyName),class:"tok-propertyName tok-definition"},{tag:d.typeName,class:"tok-typeName"},{tag:d.namespace,class:"tok-namespace"},{tag:d.className,class:"tok-className"},{tag:d.macroName,class:"tok-macroName"},{tag:d.propertyName,class:"tok-propertyName"},{tag:d.operator,class:"tok-operator"},{tag:d.comment,class:"tok-comment"},{tag:d.meta,class:"tok-meta"},{tag:d.invalid,class:"tok-invalid"},{tag:d.punctuation,class:"tok-punctuation"}]);var Ol,bt=new I;function kn(i){return Y.define({combine:i?e=>e.concat(i):void 0})}var Es=new I,xe=class{constructor(e,t,n=[],r=""){this.data=e,this.name=r,re.prototype.hasOwnProperty("tree")||Object.defineProperty(re.prototype,"tree",{get(){return B(this)}}),this.parser=t,this.extension=[Sn.of(this),re.languageData.of((s,o,a)=>{let l=Nu(s,o,a),c=l.type.prop(bt);if(!c)return[];let h=s.facet(c),f=l.type.prop(Es);if(f){let u=l.resolve(o-l.from,a);for(let O of f)if(O.test(u,s)){let p=s.facet(O.facet);return O.type=="replace"?p:p.concat(h)}}return h})].concat(n)}isActiveAt(e,t,n=-1){return Nu(e,t,n).type.prop(bt)==this.data}findRegions(e){let t=e.facet(Sn);if(t?.data==this.data)return[{from:0,to:e.doc.length}];if(!t||!t.allowsNesting)return[];let n=[],r=(s,o)=>{if(s.prop(bt)==this.data){n.push({from:o,to:o+s.length});return}let a=s.prop(I.mounted);if(a){if(a.tree.prop(bt)==this.data){if(a.overlay)for(let l of a.overlay)n.push({from:l.from+o,to:l.to+o});else n.push({from:o,to:o+s.length});return}else if(a.overlay){let l=n.length;if(r(a.tree,a.overlay[0].from+o),n.length>l)return}}for(let l=0;ln.isTop?t:void 0)]}),e.name)}configure(e,t){return new i(this.data,this.parser.configure(e),t||this.name)}get allowsNesting(){return this.parser.hasWrappers()}};function B(i){let e=i.field(xe.state,!1);return e?e.tree:G.empty}function zs(i,e,t=50){var n;let r=(n=i.field(xe.state,!1))===null||n===void 0?void 0:n.context;if(!r)return null;let s=r.viewport;r.updateViewport({from:0,to:e});let o=r.isDone(e)||r.work(t,e)?r.tree:null;return r.updateViewport(s),o}function tO(i,e=i.doc.length){var t;return((t=i.field(xe.state,!1))===null||t===void 0?void 0:t.context.isDone(e))||!1}var gl=class{constructor(e){this.doc=e,this.cursorPos=0,this.string="",this.cursor=e.iter()}get length(){return this.doc.length}syncTo(e){return this.string=this.cursor.next(e-this.cursorPos).value,this.cursorPos=e+this.string.length,this.cursorPos-this.string.length}chunk(e){return this.syncTo(e),this.string}get lineChunks(){return!0}read(e,t){let n=this.cursorPos-this.string.length;return e=this.cursorPos?this.doc.sliceString(e,t):this.string.slice(e-n,t-n)}},lr=null,Mi=class i{constructor(e,t,n=[],r,s,o,a,l){this.parser=e,this.state=t,this.fragments=n,this.tree=r,this.treeLen=s,this.viewport=o,this.skipped=a,this.scheduleOn=l,this.parse=null,this.tempSkipped=[]}static create(e,t,n){return new i(e,t,[],G.empty,0,n,[],null)}startParse(){return this.parser.startParse(new gl(this.state.doc),this.fragments)}work(e,t){return t!=null&&t>=this.state.doc.length&&(t=void 0),this.tree!=G.empty&&this.isDone(t??this.state.doc.length)?(this.takeTree(),!0):this.withContext(()=>{var n;if(typeof e=="number"){let r=Date.now()+e;e=()=>Date.now()>r}for(this.parse||(this.parse=this.startParse()),t!=null&&(this.parse.stoppedAt==null||this.parse.stoppedAt>t)&&t=this.treeLen&&((this.parse.stoppedAt==null||this.parse.stoppedAt>e)&&this.parse.stopAt(e),this.withContext(()=>{for(;!(t=this.parse.advance()););}),this.treeLen=e,this.tree=t,this.fragments=this.withoutTempSkipped(Vt.addTree(this.tree,this.fragments,!0)),this.parse=null)}withContext(e){let t=lr;lr=this;try{return e()}finally{lr=t}}withoutTempSkipped(e){for(let t;t=this.tempSkipped.pop();)e=Fu(e,t.from,t.to);return e}changes(e,t){let{fragments:n,tree:r,treeLen:s,viewport:o,skipped:a}=this;if(this.takeTree(),!e.empty){let l=[];if(e.iterChangedRanges((c,h,f,u)=>l.push({fromA:c,toA:h,fromB:f,toB:u})),n=Vt.applyChanges(n,l),r=G.empty,s=0,o={from:e.mapPos(o.from,-1),to:e.mapPos(o.to,1)},this.skipped.length){a=[];for(let c of this.skipped){let h=e.mapPos(c.from,1),f=e.mapPos(c.to,-1);he.from&&(this.fragments=Fu(this.fragments,r,s),this.skipped.splice(n--,1))}return this.skipped.length>=t?!1:(this.reset(),!0)}reset(){this.parse&&(this.takeTree(),this.parse=null)}skipUntilInView(e,t){this.skipped.push({from:e,to:t})}static getSkippingParser(e){return new class extends Dt{createParse(t,n,r){let s=r[0].from,o=r[r.length-1].to;return{parsedPos:s,advance(){let l=lr;if(l){for(let c of r)l.tempSkipped.push(c);e&&(l.scheduleOn=l.scheduleOn?Promise.all([l.scheduleOn,e]):e)}return this.parsedPos=o,new G(Oe.none,[],[],o-s)},stoppedAt:null,stopAt(){}}}}}isDone(e){e=Math.min(e,this.state.doc.length);let t=this.fragments;return this.treeLen>=e&&t.length&&t[0].from==0&&t[0].to>=e}static get(){return lr}};function Fu(i,e,t){return Vt.applyChanges(i,[{fromA:e,toA:t,fromB:e,toB:t}])}var cr=class i{constructor(e){this.context=e,this.tree=e.tree}apply(e){if(!e.docChanged&&this.tree==this.context.tree)return this;let t=this.context.changes(e.changes,e.state),n=this.context.treeLen==e.startState.doc.length?void 0:Math.max(e.changes.mapPos(this.context.treeLen),t.viewport.to);return t.work(20,n)||t.takeTree(),new i(t)}static init(e){let t=Math.min(3e3,e.doc.length),n=Mi.create(e.facet(Sn).parser,e,{from:0,to:t});return n.work(20,t)||n.takeTree(),new i(n)}};xe.state=he.define({create:cr.init,update(i,e){for(let t of e.effects)if(t.is(xe.setState))return t.value;return e.startState.facet(Sn)!=e.state.facet(Sn)?cr.init(e.state):i.apply(e)}});var iO=i=>{let e=setTimeout(()=>i(),500);return()=>clearTimeout(e)};typeof requestIdleCallback<"u"&&(iO=i=>{let e=-1,t=setTimeout(()=>{e=requestIdleCallback(i,{timeout:400})},100);return()=>e<0?clearTimeout(t):cancelIdleCallback(e)});var dl=typeof navigator<"u"&&(!((Ol=navigator.scheduling)===null||Ol===void 0)&&Ol.isInputPending)?()=>navigator.scheduling.isInputPending():null,tb=De.fromClass(class{constructor(e){this.view=e,this.working=null,this.workScheduled=0,this.chunkEnd=-1,this.chunkBudget=-1,this.work=this.work.bind(this),this.scheduleWork()}update(e){let t=this.view.state.field(xe.state).context;(t.updateViewport(e.view.viewport)||this.view.viewport.to>t.treeLen)&&this.scheduleWork(),(e.docChanged||e.selectionSet)&&(this.view.hasFocus&&(this.chunkBudget+=50),this.scheduleWork()),this.checkAsyncSchedule(t)}scheduleWork(){if(this.working)return;let{state:e}=this.view,t=e.field(xe.state);(t.tree!=t.context.tree||!t.context.isDone(e.doc.length))&&(this.working=iO(this.work))}work(e){this.working=null;let t=Date.now();if(this.chunkEndr+1e3,l=s.context.work(()=>dl&&dl()||Date.now()>o,r+(a?0:1e5));this.chunkBudget-=Date.now()-t,(l||this.chunkBudget<=0)&&(s.context.takeTree(),this.view.dispatch({effects:xe.setState.of(new cr(s.context))})),this.chunkBudget>0&&!(l&&!a)&&this.scheduleWork(),this.checkAsyncSchedule(s.context)}checkAsyncSchedule(e){e.scheduleOn&&(this.workScheduled++,e.scheduleOn.then(()=>this.scheduleWork()).catch(t=>at(this.view.state,t)).then(()=>this.workScheduled--),e.scheduleOn=null)}destroy(){this.working&&this.working()}isWorking(){return!!(this.working||this.workScheduled>0)}},{eventHandlers:{focus(){this.scheduleWork()}}}),Sn=Y.define({combine(i){return i.length?i[0]:null},enables:i=>[xe.state,tb,E.contentAttributes.compute([i],e=>{let t=e.facet(i);return t&&t.name?{"data-language":t.name}:{}})]}),pe=class{constructor(e,t=[]){this.language=e,this.support=t,this.extension=[e,t]}},Be=class i{constructor(e,t,n,r,s,o=void 0){this.name=e,this.alias=t,this.extensions=n,this.filename=r,this.loadFunc=s,this.support=o,this.loading=null}load(){return this.loading||(this.loading=this.loadFunc().then(e=>this.support=e,e=>{throw this.loading=null,e}))}static of(e){let{load:t,support:n}=e;if(!t){if(!n)throw new RangeError("Must pass either 'load' or 'support' to LanguageDescription.of");t=()=>Promise.resolve(n)}return new i(e.name,(e.alias||[]).concat(e.name).map(r=>r.toLowerCase()),e.extensions||[],e.filename,t,n)}static matchFilename(e,t){for(let r of e)if(r.filename&&r.filename.test(t))return r;let n=/\.([^.]+)$/.exec(t);if(n){for(let r of e)if(r.extensions.indexOf(n[1])>-1)return r}return null}static matchLanguageName(e,t,n=!0){t=t.toLowerCase();for(let r of e)if(r.alias.some(s=>s==t))return r;if(n)for(let r of e)for(let s of r.alias){let o=t.indexOf(s);if(o>-1&&(s.length>2||!/\w/.test(t[o-1])&&!/\w/.test(t[o+s.length])))return r}return null}},ib=Y.define(),Rt=Y.define({combine:i=>{if(!i.length)return" ";let e=i[0];if(!e||/\S/.test(e)||Array.from(e).some(t=>t!=e[0]))throw new Error("Invalid indent unit: "+JSON.stringify(i[0]));return e}});function di(i){let e=i.facet(Rt);return e.charCodeAt(0)==9?i.tabSize*e.length:e.length}function fr(i,e){let t="",n=i.tabSize,r=i.facet(Rt)[0];if(r==" "){for(;e>=n;)t+=" ",e-=n;r=" "}for(let s=0;s=e?nb(i,t,e):null}var Wi=class{constructor(e,t={}){this.state=e,this.options=t,this.unit=di(e)}lineAt(e,t=1){let n=this.state.doc.lineAt(e),{simulateBreak:r,simulateDoubleBreak:s}=this.options;return r!=null&&r>=n.from&&r<=n.to?s&&r==e?{text:"",from:e}:(t<0?r-1&&(s+=o-this.countColumn(n,n.search(/\S|$/))),s}countColumn(e,t=e.length){return Fe(e,this.state.tabSize,t)}lineIndent(e,t=1){let{text:n,from:r}=this.lineAt(e,t),s=this.options.overrideIndentation;if(s){let o=s(r);if(o>-1)return o}return this.countColumn(n,n.search(/\S|$/))}get simulatedBreak(){return this.options.simulateBreak||null}},we=new I;function nb(i,e,t){let n=e.resolveStack(t),r=e.resolveInner(t,-1).resolve(t,0).enterUnfinishedNodesBefore(t);if(r!=n.node){let s=[];for(let o=r;o&&!(o.fromn.node.to||o.from==n.node.from&&o.type==n.node.type);o=o.parent)s.push(o);for(let o=s.length-1;o>=0;o--)n={node:s[o],next:n}}return nO(n,i,t)}function nO(i,e,t){for(let n=i;n;n=n.next){let r=sb(n.node);if(r)return r(Ql.create(e,t,n))}return 0}function rb(i){return i.pos==i.options.simulateBreak&&i.options.simulateDoubleBreak}function sb(i){let e=i.type.prop(we);if(e)return e;let t=i.firstChild,n;if(t&&(n=t.type.prop(I.closedBy))){let r=i.lastChild,s=r&&n.indexOf(r.name)>-1;return o=>rO(o,!0,1,void 0,s&&!rb(o)?r.from:void 0)}return i.parent==null?ob:null}function ob(){return 0}var Ql=class i extends Wi{constructor(e,t,n){super(e.state,e.options),this.base=e,this.pos=t,this.context=n}get node(){return this.context.node}static create(e,t,n){return new i(e,t,n)}get textAfter(){return this.textAfterPos(this.pos)}get baseIndent(){return this.baseIndentFor(this.node)}baseIndentFor(e){let t=this.state.doc.lineAt(e.from);for(;;){let n=e.resolve(t.from);for(;n.parent&&n.parent.from==n.from;)n=n.parent;if(ab(n,e))break;t=this.state.doc.lineAt(n.from)}return this.lineIndent(t.from)}continue(){return nO(this.context.next,this.base,this.pos)}};function ab(i,e){for(let t=e;t;t=t.parent)if(i==t)return!0;return!1}function lb(i){let e=i.node,t=e.childAfter(e.from),n=e.lastChild;if(!t)return null;let r=i.options.simulateBreak,s=i.state.doc.lineAt(t.from),o=r==null||r<=s.from?s.to:Math.min(s.to,r);for(let a=t.to;;){let l=e.childAfter(a);if(!l||l==n)return null;if(!l.type.isSkipped){if(l.from>=o)return null;let c=/^ */.exec(s.text.slice(t.to-s.from))[0].length;return{from:t.from,to:t.to+c}}a=l.to}}function St({closing:i,align:e=!0,units:t=1}){return n=>rO(n,e,t,i)}function rO(i,e,t,n,r){let s=i.textAfter,o=s.match(/^\s*/)[0].length,a=n&&s.slice(o,o+n.length)==n||r==i.pos+o,l=e?lb(i):null;return l?a?i.column(l.from):i.column(l.to):i.baseIndent+(a?0:i.unit*t)}var sO=i=>i.baseIndent;function Yt({except:i,units:e=1}={}){return t=>{let n=i&&i.test(t.textAfter);return t.baseIndent+(n?0:e*t.unit)}}var oO=Y.define(),$e=new I;function ct(i){let e=i.firstChild,t=i.lastChild;return e&&e.toa.prop(bt)==o.data:o?a=>a==o:void 0,this.style=ul(e.map(a=>({tag:a.tag,class:a.class||r(Object.assign({},a,{tag:null}))})),{all:s}).style,this.module=n?new nt(n):null,this.themeType=t.themeType}static define(e,t){return new i(e,t||{})}},bl=Y.define(),aO=Y.define({combine(i){return i.length?[i[0]]:null}});function pl(i){let e=i.facet(bl);return e.length?e:i.facet(aO)}function lO(i,e){let t=[cb],n;return i instanceof yn&&(i.module&&t.push(E.styleModule.of(i.module)),n=i.themeType),e?.fallback?t.push(aO.of(i)):n?t.push(bl.computeN([E.darkTheme],r=>r.facet(E.darkTheme)==(n=="dark")?[i]:[])):t.push(bl.of(i)),t}var Sl=class{constructor(e){this.markCache=Object.create(null),this.tree=B(e.state),this.decorations=this.buildDeco(e,pl(e.state)),this.decoratedTo=e.viewport.to}update(e){let t=B(e.state),n=pl(e.state),r=n!=pl(e.startState),{viewport:s}=e.view,o=e.changes.mapPos(this.decoratedTo,1);t.length=s.to?(this.decorations=this.decorations.map(e.changes),this.decoratedTo=o):(t!=this.tree||e.viewportChanged||r)&&(this.tree=t,this.decorations=this.buildDeco(e.view,n),this.decoratedTo=s.to)}buildDeco(e,t){if(!t||!this.tree.length)return Z.none;let n=new Ci;for(let{from:r,to:s}of e.visibleRanges)Rs(this.tree,t,(o,a,l)=>{n.add(o,a,this.markCache[l]||(this.markCache[l]=Z.mark({class:l})))},r,s);return n.finish()}},cb=pt.high(De.fromClass(Sl,{decorations:i=>i.decorations})),Q$=yn.define([{tag:d.meta,color:"#404740"},{tag:d.link,textDecoration:"underline"},{tag:d.heading,textDecoration:"underline",fontWeight:"bold"},{tag:d.emphasis,fontStyle:"italic"},{tag:d.strong,fontWeight:"bold"},{tag:d.strikethrough,textDecoration:"line-through"},{tag:d.keyword,color:"#708"},{tag:[d.atom,d.bool,d.url,d.contentSeparator,d.labelName],color:"#219"},{tag:[d.literal,d.inserted],color:"#164"},{tag:[d.string,d.deleted],color:"#a11"},{tag:[d.regexp,d.escape,d.special(d.string)],color:"#e40"},{tag:d.definition(d.variableName),color:"#00f"},{tag:d.local(d.variableName),color:"#30a"},{tag:[d.typeName,d.namespace],color:"#085"},{tag:d.className,color:"#167"},{tag:[d.special(d.variableName),d.macroName],color:"#256"},{tag:d.definition(d.propertyName),color:"#00c"},{tag:d.comment,color:"#940"},{tag:d.invalid,color:"#f00"}]);var hb=1e4,fb="()[]{}";var Pl=new I;function yl(i,e,t){let n=i.prop(e<0?I.openedBy:I.closedBy);if(n)return n;if(i.name.length==1){let r=t.indexOf(i.name);if(r>-1&&r%2==(e<0?1:0))return[t[r+e]]}return null}function kl(i){let e=i.type.prop(Pl);return e?e(i.node):i}function ji(i,e,t,n={}){let r=n.maxScanDistance||hb,s=n.brackets||fb,o=B(i),a=o.resolveInner(e,t);for(let l=a;l;l=l.parent){let c=yl(l.type,t,s);if(c&&l.from0?e>=h.from&&eh.from&&e<=h.to))return ub(i,e,t,l,h,c,s)}}return Ob(i,e,t,o,a.type,r,s)}function ub(i,e,t,n,r,s,o){let a=n.parent,l={from:r.from,to:r.to},c=0,h=a?.cursor();if(h&&(t<0?h.childBefore(n.from):h.childAfter(n.to)))do if(t<0?h.to<=n.from:h.from>=n.to){if(c==0&&s.indexOf(h.type.name)>-1&&h.from0)return null;let c={from:t<0?e-1:e,to:t>0?e+1:e},h=i.doc.iterRange(e,t>0?i.doc.length:0),f=0;for(let u=0;!h.next().done&&u<=s;){let O=h.value;t<0&&(u+=O.length);let p=e+u*t;for(let m=t>0?0:O.length-1,b=t>0?O.length:-1;m!=b;m+=t){let g=o.indexOf(O[m]);if(!(g<0||n.resolveInner(p+m,1).type!=r))if(g%2==0==t>0)f++;else{if(f==1)return{start:c,end:{from:p+m,to:p+m+1},matched:g>>1==l>>1};f--}}t>0&&(u+=O.length)}return h.done?{start:c,matched:!1}:null}function Hu(i,e,t,n=0,r=0){e==null&&(e=i.search(/[^\s\u00a0]/),e==-1&&(e=i.length));let s=r;for(let o=n;o=this.string.length}sol(){return this.pos==0}peek(){return this.string.charAt(this.pos)||void 0}next(){if(this.post}eatSpace(){let e=this.pos;for(;/[\s\u00a0]/.test(this.string.charAt(this.pos));)++this.pos;return this.pos>e}skipToEnd(){this.pos=this.string.length}skipTo(e){let t=this.string.indexOf(e,this.pos);if(t>-1)return this.pos=t,!0}backUp(e){this.pos-=e}column(){return this.lastColumnPosn?o.toLowerCase():o,s=this.string.substr(this.pos,e.length);return r(s)==r(e)?(t!==!1&&(this.pos+=e.length),!0):null}else{let r=this.string.slice(this.pos).match(e);return r&&r.index>0?null:(r&&t!==!1&&(this.pos+=r[0].length),r)}}current(){return this.string.slice(this.start,this.pos)}};function db(i){return{name:i.name||"",token:i.token,blankLine:i.blankLine||(()=>{}),startState:i.startState||(()=>!0),copyState:i.copyState||pb,indent:i.indent||(()=>null),languageData:i.languageData||{},tokenTable:i.tokenTable||$l,mergeTokens:i.mergeTokens!==!1}}function pb(i){if(typeof i!="object")return i;let e={};for(let t in i){let n=i[t];e[t]=n instanceof Array?n.slice():n}return e}var Ku=new WeakMap,Zs=class i extends xe{constructor(e){let t=kn(e.languageData),n=db(e),r,s=new class extends Dt{createParse(o,a,l){return new xl(r,o,a,l)}};super(t,s,[],e.name),this.topNode=bb(t,this),r=this,this.streamParser=n,this.stateAfter=new I({perNode:!0}),this.tokenTable=e.tokenTable?new qs(n.tokenTable):Qb}static define(e){return new i(e)}getIndent(e){let t,{overrideIndentation:n}=e.options;n&&(t=Ku.get(e.state),t!=null&&t1e4)return null;for(;s=n&&t+e.length<=r&&e.prop(i.stateAfter);if(s)return{state:i.streamParser.copyState(s),pos:t+e.length};for(let o=e.children.length-1;o>=0;o--){let a=e.children[o],l=t+e.positions[o],c=a instanceof G&&l=e.length)return e;!r&&t==0&&e.type==i.topNode&&(r=!0);for(let s=e.children.length-1;s>=0;s--){let o=e.positions[s],a=e.children[s],l;if(ot&&vl(i,s.tree,0-s.offset,t,a),c;if(l&&l.pos<=n&&(c=cO(i,s.tree,t+s.offset,l.pos+s.offset,!1)))return{state:l.state,tree:c}}return{state:i.streamParser.startState(r?di(r):4),tree:G.empty}}var xl=class{constructor(e,t,n,r){this.lang=e,this.input=t,this.fragments=n,this.ranges=r,this.stoppedAt=null,this.chunks=[],this.chunkPos=[],this.chunk=[],this.chunkReused=void 0,this.rangeIndex=0,this.to=r[r.length-1].to;let s=Mi.get(),o=r[0].from,{state:a,tree:l}=mb(e,n,o,this.to,s?.state);this.state=a,this.parsedPos=this.chunkStart=o+l.length;for(let c=0;cc.from<=s.viewport.from&&c.to>=s.viewport.from)&&(this.state=this.lang.streamParser.startState(di(s.state)),s.skipUntilInView(this.parsedPos,s.viewport.from),this.parsedPos=s.viewport.from),this.moveRangeIndex()}advance(){let e=Mi.get(),t=this.stoppedAt==null?this.to:Math.min(this.to,this.stoppedAt),n=Math.min(t,this.chunkStart+512);for(e&&(n=Math.min(n,e.viewport.to));this.parsedPos=t?this.finish():e&&this.parsedPos>=e.viewport.to?(e.skipUntilInView(this.parsedPos,t),this.finish()):null}stopAt(e){this.stoppedAt=e}lineAfter(e){let t=this.input.chunk(e);if(this.input.lineChunks)t==` +(()=>{var qo=[],Uh=[];(()=>{let i="lc,34,7n,7,7b,19,,,,2,,2,,,20,b,1c,l,g,,2t,7,2,6,2,2,,4,z,,u,r,2j,b,1m,9,9,,o,4,,9,,3,,5,17,3,3b,f,,w,1j,,,,4,8,4,,3,7,a,2,t,,1m,,,,2,4,8,,9,,a,2,q,,2,2,1l,,4,2,4,2,2,3,3,,u,2,3,,b,2,1l,,4,5,,2,4,,k,2,m,6,,,1m,,,2,,4,8,,7,3,a,2,u,,1n,,,,c,,9,,14,,3,,1l,3,5,3,,4,7,2,b,2,t,,1m,,2,,2,,3,,5,2,7,2,b,2,s,2,1l,2,,,2,4,8,,9,,a,2,t,,20,,4,,2,3,,,8,,29,,2,7,c,8,2q,,2,9,b,6,22,2,r,,,,,,1j,e,,5,,2,5,b,,10,9,,2u,4,,6,,2,2,2,p,2,4,3,g,4,d,,2,2,6,,f,,jj,3,qa,3,t,3,t,2,u,2,1s,2,,7,8,,2,b,9,,19,3,3b,2,y,,3a,3,4,2,9,,6,3,63,2,2,,1m,,,7,,,,,2,8,6,a,2,,1c,h,1r,4,1c,7,,,5,,14,9,c,2,w,4,2,2,,3,1k,,,2,3,,,3,1m,8,2,2,48,3,,d,,7,4,,6,,3,2,5i,1m,,5,ek,,5f,x,2da,3,3x,,2o,w,fe,6,2x,2,n9w,4,,a,w,2,28,2,7k,,3,,4,,p,2,5,,47,2,q,i,d,,12,8,p,b,1a,3,1c,,2,4,2,2,13,,1v,6,2,2,2,2,c,,8,,1b,,1f,,,3,2,2,5,2,,,16,2,8,,6m,,2,,4,,fn4,,kh,g,g,g,a6,2,gt,,6a,,45,5,1ae,3,,2,5,4,14,3,4,,4l,2,fx,4,ar,2,49,b,4w,,1i,f,1k,3,1d,4,2,2,1x,3,10,5,,8,1q,,c,2,1g,9,a,4,2,,2n,3,2,,,2,6,,4g,,3,8,l,2,1l,2,,,,,m,,e,7,3,5,5f,8,2,3,,,n,,29,,2,6,,,2,,,2,,2,6j,,2,4,6,2,,2,r,2,2d,8,2,,,2,2y,,,,2,6,,,2t,3,2,4,,5,77,9,,2,6t,,a,2,,,4,,40,4,2,2,4,,w,a,14,6,2,4,8,,9,6,2,3,1a,d,,2,ba,7,,6,,,2a,m,2,7,,2,,2,3e,6,3,,,2,,7,,,20,2,3,,,,9n,2,f0b,5,1n,7,t4,,1r,4,29,,f5k,2,43q,,,3,4,5,8,8,2,7,u,4,44,3,1iz,1j,4,1e,8,,e,,m,5,,f,11s,7,,h,2,7,,2,,5,79,7,c5,4,15s,7,31,7,240,5,gx7k,2o,3k,6o".split(",").map(e=>e?parseInt(e,36):1);for(let e=0,t=0;e>1;if(i=Uh[n])e=n+1;else return!0;if(e==t)return!1}}function Yh(i){return i>=127462&&i<=127487}var Ih=8205;function Gh(i,e,t=!0,n=!0){return(t?Nh:r0)(i,e,n)}function Nh(i,e,t){if(e==i.length)return e;e&&Fh(i.charCodeAt(e))&&Hh(i.charCodeAt(e-1))&&e--;let n=Eo(i,e);for(e+=Bh(n);e=0&&Yh(Eo(i,o));)s++,o-=2;if(s%2==0)break;e+=2}else break}return e}function r0(i,e,t){for(;e>1;){let n=Nh(i,e-2,t);if(n=56320&&i<57344}function Hh(i){return i>=55296&&i<56320}function Bh(i){return i<65536?1:2}var K=class i{lineAt(e){if(e<0||e>this.length)throw new RangeError(`Invalid position ${e} in document of length ${this.length}`);return this.lineInner(e,!1,1,0)}line(e){if(e<1||e>this.lines)throw new RangeError(`Invalid line number ${e} in ${this.lines}-line document`);return this.lineInner(e,!0,1,0)}replace(e,t,n){[e,t]=sn(this,e,t);let r=[];return this.decompose(0,e,r,2),n.length&&n.decompose(0,n.length,r,3),this.decompose(t,this.length,r,1),tn.from(r,this.length-(t-e)+n.length)}append(e){return this.replace(this.length,this.length,e)}slice(e,t=this.length){[e,t]=sn(this,e,t);let n=[];return this.decompose(e,t,n,0),tn.from(n,t-e)}eq(e){if(e==this)return!0;if(e.length!=this.length||e.lines!=this.lines)return!1;let t=this.scanIdentical(e,1),n=this.length-this.scanIdentical(e,-1),r=new Ti(this),s=new Ti(e);for(let o=t,a=t;;){if(r.next(o),s.next(o),o=0,r.lineBreak!=s.lineBreak||r.done!=s.done||r.value!=s.value)return!1;if(a+=r.value.length,r.done||a>=n)return!0}}iter(e=1){return new Ti(this,e)}iterRange(e,t=this.length){return new Ir(this,e,t)}iterLines(e,t){let n;if(e==null)n=this.iter();else{t==null&&(t=this.lines+1);let r=this.line(e).from;n=this.iterRange(r,Math.max(r,t==this.lines+1?this.length:t<=1?0:this.line(t-1).to))}return new Br(n)}toString(){return this.sliceString(0)}toJSON(){let e=[];return this.flatten(e),e}constructor(){}static of(e){if(e.length==0)throw new RangeError("A document must have at least one line");return e.length==1&&!e[0]?i.empty:e.length<=32?new Ne(e):tn.from(Ne.split(e,[]))}},Ne=class i extends K{constructor(e,t=s0(e)){super(),this.text=e,this.length=t}get lines(){return this.text.length}get children(){return null}lineInner(e,t,n,r){for(let s=0;;s++){let o=this.text[s],a=r+o.length;if((t?n:a)>=e)return new Lo(r,a,n,o);r=a+1,n++}}decompose(e,t,n,r){let s=e<=0&&t>=this.length?this:new i(Kh(this.text,e,t),Math.min(t,this.length)-Math.max(0,e));if(r&1){let o=n.pop(),a=Yr(s.text,o.text.slice(),0,s.length);if(a.length<=32)n.push(new i(a,o.length+s.length));else{let l=a.length>>1;n.push(new i(a.slice(0,l)),new i(a.slice(l)))}}else n.push(s)}replace(e,t,n){if(!(n instanceof i))return super.replace(e,t,n);[e,t]=sn(this,e,t);let r=Yr(this.text,Yr(n.text,Kh(this.text,0,e)),t),s=this.length+n.length-(t-e);return r.length<=32?new i(r,s):tn.from(i.split(r,[]),s)}sliceString(e,t=this.length,n=` +`){[e,t]=sn(this,e,t);let r="";for(let s=0,o=0;s<=t&&oe&&o&&(r+=n),es&&(r+=a.slice(Math.max(0,e-s),t-s)),s=l+1}return r}flatten(e){for(let t of this.text)e.push(t)}scanIdentical(){return 0}static split(e,t){let n=[],r=-1;for(let s of e)n.push(s),r+=s.length+1,n.length==32&&(t.push(new i(n,r)),n=[],r=-1);return r>-1&&t.push(new i(n,r)),t}},tn=class i extends K{constructor(e,t){super(),this.children=e,this.length=t,this.lines=0;for(let n of e)this.lines+=n.lines}lineInner(e,t,n,r){for(let s=0;;s++){let o=this.children[s],a=r+o.length,l=n+o.lines-1;if((t?l:a)>=e)return o.lineInner(e,t,n,r);r=a+1,n=l+1}}decompose(e,t,n,r){for(let s=0,o=0;o<=t&&s=o){let c=r&((o<=e?1:0)|(l>=t?2:0));o>=e&&l<=t&&!c?n.push(a):a.decompose(e-o,t-o,n,c)}o=l+1}}replace(e,t,n){if([e,t]=sn(this,e,t),n.lines=s&&t<=a){let l=o.replace(e-s,t-s,n),c=this.lines-o.lines+l.lines;if(l.lines>4&&l.lines>c>>6){let h=this.children.slice();return h[r]=l,new i(h,this.length-(t-e)+n.length)}return super.replace(s,a,l)}s=a+1}return super.replace(e,t,n)}sliceString(e,t=this.length,n=` +`){[e,t]=sn(this,e,t);let r="";for(let s=0,o=0;se&&s&&(r+=n),eo&&(r+=a.sliceString(e-o,t-o,n)),o=l+1}return r}flatten(e){for(let t of this.children)t.flatten(e)}scanIdentical(e,t){if(!(e instanceof i))return 0;let n=0,[r,s,o,a]=t>0?[0,0,this.children.length,e.children.length]:[this.children.length-1,e.children.length-1,-1,-1];for(;;r+=t,s+=t){if(r==o||s==a)return n;let l=this.children[r],c=e.children[s];if(l!=c)return n+l.scanIdentical(c,t);n+=l.length+1}}static from(e,t=e.reduce((n,r)=>n+r.length+1,-1)){let n=0;for(let O of e)n+=O.lines;if(n<32){let O=[];for(let p of e)p.flatten(O);return new Ne(O,t)}let r=Math.max(32,n>>5),s=r<<1,o=r>>1,a=[],l=0,c=-1,h=[];function f(O){let p;if(O.lines>s&&O instanceof i)for(let m of O.children)f(m);else O.lines>o&&(l>o||!l)?(u(),a.push(O)):O instanceof Ne&&l&&(p=h[h.length-1])instanceof Ne&&O.lines+p.lines<=32?(l+=O.lines,c+=O.length+1,h[h.length-1]=new Ne(p.text.concat(O.text),p.length+1+O.length)):(l+O.lines>r&&u(),l+=O.lines,c+=O.length+1,h.push(O))}function u(){l!=0&&(a.push(h.length==1?h[0]:i.from(h,c)),c=-1,l=h.length=0)}for(let O of e)f(O);return u(),a.length==1?a[0]:new i(a,t)}};K.empty=new Ne([""],0);function s0(i){let e=-1;for(let t of i)e+=t.length+1;return e}function Yr(i,e,t=0,n=1e9){for(let r=0,s=0,o=!0;s=t&&(l>n&&(a=a.slice(0,n-r)),r0?1:(e instanceof Ne?e.text.length:e.children.length)<<1]}nextInner(e,t){for(this.done=this.lineBreak=!1;;){let n=this.nodes.length-1,r=this.nodes[n],s=this.offsets[n],o=s>>1,a=r instanceof Ne?r.text.length:r.children.length;if(o==(t>0?a:0)){if(n==0)return this.done=!0,this.value="",this;t>0&&this.offsets[n-1]++,this.nodes.pop(),this.offsets.pop()}else if((s&1)==(t>0?0:1)){if(this.offsets[n]+=t,e==0)return this.lineBreak=!0,this.value=` +`,this;e--}else if(r instanceof Ne){let l=r.text[o+(t<0?-1:0)];if(this.offsets[n]+=t,l.length>Math.max(0,e))return this.value=e==0?l:t>0?l.slice(e):l.slice(0,l.length-e),this;e-=l.length}else{let l=r.children[o+(t<0?-1:0)];e>l.length?(e-=l.length,this.offsets[n]+=t):(t<0&&this.offsets[n]--,this.nodes.push(l),this.offsets.push(t>0?1:(l instanceof Ne?l.text.length:l.children.length)<<1))}}}next(e=0){return e<0&&(this.nextInner(-e,-this.dir),e=this.value.length),this.nextInner(e,this.dir)}},Ir=class{constructor(e,t,n){this.value="",this.done=!1,this.cursor=new Ti(e,t>n?-1:1),this.pos=t>n?e.length:0,this.from=Math.min(t,n),this.to=Math.max(t,n)}nextInner(e,t){if(t<0?this.pos<=this.from:this.pos>=this.to)return this.value="",this.done=!0,this;e+=Math.max(0,t<0?this.pos-this.to:this.from-this.pos);let n=t<0?this.pos-this.from:this.to-this.pos;e>n&&(e=n),n-=e;let{value:r}=this.cursor.next(e);return this.pos+=(r.length+e)*t,this.value=r.length<=n?r:t<0?r.slice(r.length-n):r.slice(0,n),this.done=!this.value,this}next(e=0){return e<0?e=Math.max(e,this.from-this.pos):e>0&&(e=Math.min(e,this.to-this.pos)),this.nextInner(e,this.cursor.dir)}get lineBreak(){return this.cursor.lineBreak&&this.value!=""}},Br=class{constructor(e){this.inner=e,this.afterBreak=!0,this.value="",this.done=!1}next(e=0){let{done:t,lineBreak:n,value:r}=this.inner.next(e);return t&&this.afterBreak?(this.value="",this.afterBreak=!1):t?(this.done=!0,this.value=""):n?this.afterBreak?this.value="":(this.afterBreak=!0,this.next()):(this.value=r,this.afterBreak=!1),this}get lineBreak(){return!1}};typeof Symbol<"u"&&(K.prototype[Symbol.iterator]=function(){return this.iter()},Ti.prototype[Symbol.iterator]=Ir.prototype[Symbol.iterator]=Br.prototype[Symbol.iterator]=function(){return this});var Lo=class{constructor(e,t,n,r){this.from=e,this.to=t,this.number=n,this.text=r}get length(){return this.to-this.from}};function sn(i,e,t){return e=Math.max(0,Math.min(i.length,e)),[e,Math.max(e,Math.min(i.length,t))]}function ke(i,e,t=!0,n=!0){return Gh(i,e,t,n)}function o0(i){return i>=56320&&i<57344}function a0(i){return i>=55296&&i<56320}function ni(i,e){let t=i.charCodeAt(e);if(!a0(t)||e+1==i.length)return t;let n=i.charCodeAt(e+1);return o0(n)?(t-55296<<10)+(n-56320)+65536:t}function rf(i){return i<=65535?String.fromCharCode(i):(i-=65536,String.fromCharCode((i>>10)+55296,(i&1023)+56320))}function on(i){return i<65536?1:2}var Mo=/\r\n?|\n/,ge=(function(i){return i[i.Simple=0]="Simple",i[i.TrackDel=1]="TrackDel",i[i.TrackBefore=2]="TrackBefore",i[i.TrackAfter=3]="TrackAfter",i})(ge||(ge={})),Et=class i{constructor(e){this.sections=e}get length(){let e=0;for(let t=0;te)return s+(e-r);s+=a}else{if(n!=ge.Simple&&c>=e&&(n==ge.TrackDel&&re||n==ge.TrackBefore&&re))return null;if(c>e||c==e&&t<0&&!a)return e==r||t<0?s:s+l;s+=l}r=c}if(e>r)throw new RangeError(`Position ${e} is out of range for changeset of length ${r}`);return s}touchesRange(e,t=e){for(let n=0,r=0;n=0&&r<=t&&a>=e)return rt?"cover":!0;r=a}return!1}toString(){let e="";for(let t=0;t=0?":"+r:"")}return e}toJSON(){return this.sections}static fromJSON(e){if(!Array.isArray(e)||e.length%2||e.some(t=>typeof t!="number"))throw new RangeError("Invalid JSON representation of ChangeDesc");return new i(e)}static create(e){return new i(e)}},ze=class i extends Et{constructor(e,t){super(e),this.inserted=t}apply(e){if(this.length!=e.length)throw new RangeError("Applying change set to a document with the wrong length");return Wo(this,(t,n,r,s,o)=>e=e.replace(r,r+(n-t),o),!1),e}mapDesc(e,t=!1){return jo(this,e,t,!0)}invert(e){let t=this.sections.slice(),n=[];for(let r=0,s=0;r=0){t[r]=a,t[r+1]=o;let l=r>>1;for(;n.length0&&ii(n,t,s.text),s.forward(h),a+=h}let c=e[o++];for(;a>1].toJSON()))}return e}static of(e,t,n){let r=[],s=[],o=0,a=null;function l(h=!1){if(!h&&!r.length)return;ou||f<0||u>t)throw new RangeError(`Invalid change range ${f} to ${u} (in doc of length ${t})`);let p=O?typeof O=="string"?K.of(O.split(n||Mo)):O:K.empty,m=p.length;if(f==u&&m==0)return;fo&&_e(r,f-o,-1),_e(r,u-f,m),ii(s,r,p),o=u}}return c(e),l(!a),a}static empty(e){return new i(e?[e,-1]:[],[])}static fromJSON(e){if(!Array.isArray(e))throw new RangeError("Invalid JSON representation of ChangeSet");let t=[],n=[];for(let r=0;ra&&typeof o!="string"))throw new RangeError("Invalid JSON representation of ChangeSet");if(s.length==1)t.push(s[0],0);else{for(;n.length=0&&t<=0&&t==i[r+1]?i[r]+=e:r>=0&&e==0&&i[r]==0?i[r+1]+=t:n?(i[r]+=e,i[r+1]+=t):i.push(e,t)}function ii(i,e,t){if(t.length==0)return;let n=e.length-2>>1;if(n>1])),!(t||o==i.sections.length||i.sections[o+1]<0);)a=i.sections[o++],l=i.sections[o++];e(r,c,s,h,f),r=c,s=h}}}function jo(i,e,t,n=!1){let r=[],s=n?[]:null,o=new Ci(i),a=new Ci(e);for(let l=-1;;){if(o.done&&a.len||a.done&&o.len)throw new Error("Mismatched change set lengths");if(o.ins==-1&&a.ins==-1){let c=Math.min(o.len,a.len);_e(r,c,-1),o.forward(c),a.forward(c)}else if(a.ins>=0&&(o.ins<0||l==o.i||o.off==0&&(a.len=0&&l=0){let c=0,h=o.len;for(;h;)if(a.ins==-1){let f=Math.min(h,a.len);c+=f,h-=f,a.forward(f)}else if(a.ins==0&&a.lenl||o.ins>=0&&o.len>l)&&(a||n.length>c),s.forward2(l),o.forward(l)}}}}var Ci=class{constructor(e){this.set=e,this.i=0,this.next()}next(){let{sections:e}=this.set;this.i>1;return t>=e.length?K.empty:e[t]}textBit(e){let{inserted:t}=this.set,n=this.i-2>>1;return n>=t.length&&!e?K.empty:t[n].slice(this.off,e==null?void 0:this.off+e)}forward(e){e==this.len?this.next():(this.len-=e,this.off+=e)}forward2(e){this.ins==-1?this.forward(e):e==this.ins?this.next():(this.ins-=e,this.off+=e)}},Pi=class i{constructor(e,t,n,r){this.from=e,this.to=t,this.flags=n,this.goalColumn=r}get anchor(){return this.flags&32?this.to:this.from}get head(){return this.flags&32?this.from:this.to}get empty(){return this.from==this.to}get assoc(){return this.flags&8?-1:this.flags&16?1:0}get undirectional(){return(this.flags&64)>0}get bidiLevel(){let e=this.flags&7;return e==7?null:e}map(e,t=-1){let n,r;return this.empty?n=r=e.mapPos(this.from,t):(n=e.mapPos(this.from,1),r=e.mapPos(this.to,-1)),n==this.from&&r==this.to?this:new i(n,r,this.flags,this.goalColumn)}extend(e,t=e,n=0){if(e<=this.anchor&&t>=this.anchor)return P.range(e,t,void 0,void 0,n);let r=Math.abs(e-this.anchor)>Math.abs(t-this.anchor)?e:t;return P.range(this.anchor,r,void 0,void 0,n)}eq(e,t=!1){return this.anchor==e.anchor&&this.head==e.head&&this.goalColumn==e.goalColumn&&(!t||!this.empty||this.assoc==e.assoc)}toJSON(){return{anchor:this.anchor,head:this.head}}static fromJSON(e){if(!e||typeof e.anchor!="number"||typeof e.head!="number")throw new RangeError("Invalid JSON representation for SelectionRange");return P.range(e.anchor,e.head)}static create(e,t,n,r){return new i(e,t,n,r)}},P=class i{constructor(e,t){this.ranges=e,this.mainIndex=t}map(e,t=-1){return e.empty?this:i.create(this.ranges.map(n=>n.map(e,t)),this.mainIndex)}eq(e,t=!1){if(this.ranges.length!=e.ranges.length||this.mainIndex!=e.mainIndex)return!1;for(let n=0;ne.toJSON()),main:this.mainIndex}}static fromJSON(e){if(!e||!Array.isArray(e.ranges)||typeof e.main!="number"||e.main>=e.ranges.length)throw new RangeError("Invalid JSON representation for EditorSelection");return new i(e.ranges.map(t=>Pi.fromJSON(t)),e.main)}static single(e,t=e){return new i([i.range(e,t)],0)}static create(e,t=0){if(e.length==0)throw new RangeError("A selection needs at least one range");for(let n=0,r=0;rr.from-s.from),t=e.indexOf(n);for(let r=1;rs.head?i.range(l,a):i.range(a,l))}}return new i(e,t)}};function of(i,e){for(let t of i.ranges)if(t.to>e)throw new RangeError("Selection points outside of document")}var Ho=0,Y=class i{constructor(e,t,n,r,s){this.combine=e,this.compareInput=t,this.compare=n,this.isStatic=r,this.id=Ho++,this.default=e([]),this.extensions=typeof s=="function"?s(this):s}get reader(){return this}static define(e={}){return new i(e.combine||(t=>t),e.compareInput||((t,n)=>t===n),e.compare||(e.combine?(t,n)=>t===n:Ko),!!e.static,e.enables)}of(e){return new nn([],this,0,e)}compute(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new nn(e,this,1,t)}computeN(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new nn(e,this,2,t)}from(e,t){return t||(t=n=>n),this.compute([e],n=>t(n.field(e)))}};function Ko(i,e){return i==e||i.length==e.length&&i.every((t,n)=>t===e[n])}var nn=class{constructor(e,t,n,r){this.dependencies=e,this.facet=t,this.type=n,this.value=r,this.id=Ho++}dynamicSlot(e){var t;let n=this.value,r=this.facet.compareInput,s=this.id,o=e[s]>>1,a=this.type==2,l=!1,c=!1,h=[];for(let f of this.dependencies)f=="doc"?l=!0:f=="selection"?c=!0:(((t=e[f.id])!==null&&t!==void 0?t:1)&1)==0&&h.push(e[f.id]);return{create(f){return f.values[o]=n(f),1},update(f,u){if(l&&u.docChanged||c&&(u.docChanged||u.selection)||Vo(f,h)){let O=n(f);if(a?!Jh(O,f.values[o],r):!r(O,f.values[o]))return f.values[o]=O,1}return 0},reconfigure:(f,u)=>{let O,p=u.config.address[s];if(p!=null){let m=Fr(u,p);if(this.dependencies.every(b=>b instanceof Y?u.facet(b)===f.facet(b):b instanceof he?u.field(b,!1)==f.field(b,!1):!0)||(a?Jh(O=n(f),m,r):r(O=n(f),m)))return f.values[o]=m,0}else O=n(f);return f.values[o]=O,1}}}get extension(){return this}};function Jh(i,e,t){if(i.length!=e.length)return!1;for(let n=0;ni[l.id]),r=t.map(l=>l.type),s=n.filter(l=>!(l&1)),o=i[e.id]>>1;function a(l){let c=[];for(let h=0;hn===r),e);return e.provide&&(t.provides=e.provide(t)),t}create(e){let t=e.facet(jr).find(n=>n.field==this);return(t?.create||this.createF)(e)}slot(e){let t=e[this.id]>>1;return{create:n=>(n.values[t]=this.create(n),1),update:(n,r)=>{let s=n.values[t],o=this.updateF(s,r);return this.compareF(s,o)?0:(n.values[t]=o,1)},reconfigure:(n,r)=>{let s=n.facet(jr),o=r.facet(jr),a;return(a=s.find(l=>l.field==this))&&a!=o.find(l=>l.field==this)?(n.values[t]=a.create(n),1):r.config.address[this.id]!=null?(n.values[t]=r.field(this),0):(n.values[t]=this.create(n),1)}}}init(e){return[this,jr.of({field:this,create:e})]}get extension(){return this}},vi={lowest:4,low:3,default:2,high:1,highest:0};function Mn(i){return e=>new Ur(e,i)}var nt={highest:Mn(vi.highest),high:Mn(vi.high),default:Mn(vi.default),low:Mn(vi.low),lowest:Mn(vi.lowest)},Ur=class{constructor(e,t){this.inner=e,this.prec=t}get extension(){return this}},Gr=class i{of(e){return new jn(this,e)}reconfigure(e){return i.reconfigure.of({compartment:this,extension:e})}get(e){return e.config.compartments.get(this)}},jn=class{constructor(e,t){this.compartment=e,this.inner=t}get extension(){return this}},Nr=class i{constructor(e,t,n,r,s,o){for(this.base=e,this.compartments=t,this.dynamicSlots=n,this.address=r,this.staticValues=s,this.facets=o,this.statusTemplate=[];this.statusTemplate.length>1]}static resolve(e,t,n){let r=[],s=Object.create(null),o=new Map;for(let u of c0(e,t,o))u instanceof he?r.push(u):(s[u.facet.id]||(s[u.facet.id]=[])).push(u);let a=Object.create(null),l=[],c=[];for(let u of r)a[u.id]=c.length<<1,c.push(O=>u.slot(O));let h=n?.config.facets;for(let u in s){let O=s[u],p=O[0].facet,m=h&&h[u]||[];if(O.every(b=>b.type==0))if(a[p.id]=l.length<<1|1,Ko(m,O))l.push(n.facet(p));else{let b=p.combine(O.map(g=>g.value));l.push(n&&p.compare(b,n.facet(p))?n.facet(p):b)}else{for(let b of O)b.type==0?(a[b.id]=l.length<<1|1,l.push(b.value)):(a[b.id]=c.length<<1,c.push(g=>b.dynamicSlot(g)));a[p.id]=c.length<<1,c.push(b=>l0(b,p,O))}}let f=c.map(u=>u(a));return new i(e,o,f,a,l,s)}};function c0(i,e,t){let n=[[],[],[],[],[]],r=new Map;function s(o,a){let l=r.get(o);if(l!=null){if(l<=a)return;let c=n[l].indexOf(o);c>-1&&n[l].splice(c,1),o instanceof jn&&t.delete(o.compartment)}if(r.set(o,a),Array.isArray(o))for(let c of o)s(c,a);else if(o instanceof jn){if(t.has(o.compartment))throw new RangeError("Duplicate use of compartment in extensions");let c=e.get(o.compartment)||o.inner;t.set(o.compartment,c),s(c,a)}else if(o instanceof Ur)s(o.inner,o.prec);else if(o instanceof he)n[a].push(o),o.provides&&s(o.provides,a);else if(o instanceof nn)n[a].push(o),o.facet.extensions&&s(o.facet.extensions,vi.default);else{let c=o.extension;if(!c)throw new Error(`Unrecognized extension value in extension set (${o}).`);if(c==o)throw new Error(`Unrecognized extension value in extension set (${o}). This sometimes happens because multiple instances of @codemirror/state are loaded, breaking instanceof checks.`);s(c,a)}}return s(i,vi.default),n.reduce((o,a)=>o.concat(a))}function Wn(i,e){if(e&1)return 2;let t=e>>1,n=i.status[t];if(n==4)throw new Error("Cyclic dependency between fields and/or facets");if(n&2)return n;i.status[t]=4;let r=i.computeSlot(i,i.config.dynamicSlots[t]);return i.status[t]=2|r}function Fr(i,e){return e&1?i.config.staticValues[e>>1]:i.values[e>>1]}var af=Y.define(),Do=Y.define({combine:i=>i.some(e=>e),static:!0}),lf=Y.define({combine:i=>i.length?i[0]:void 0,static:!0}),cf=Y.define(),hf=Y.define(),ff=Y.define(),uf=Y.define({combine:i=>i.length?i[0]:!1}),Re=class{constructor(e,t){this.type=e,this.value=t}static define(){return new Yo}},Yo=class{of(e){return new Re(this,e)}},Io=class{constructor(e){this.map=e}of(e){return new ie(this,e)}},ie=class i{constructor(e,t){this.type=e,this.value=t}map(e){let t=this.type.map(this.value,e);return t===void 0?void 0:t==this.value?this:new i(this.type,t)}is(e){return this.type==e}static define(e={}){return new Io(e.map||(t=>t))}static mapEffects(e,t){if(!e.length)return e;let n=[];for(let r of e){let s=r.map(t);s&&n.push(s)}return n}};ie.reconfigure=ie.define();ie.appendConfig=ie.define();var pe=class i{constructor(e,t,n,r,s,o){this.startState=e,this.changes=t,this.selection=n,this.effects=r,this.annotations=s,this.scrollIntoView=o,this._doc=null,this._state=null,n&&of(n,t.newLength),s.some(a=>a.type==i.time)||(this.annotations=s.concat(i.time.of(Date.now())))}static create(e,t,n,r,s,o){return new i(e,t,n,r,s,o)}get newDoc(){return this._doc||(this._doc=this.changes.apply(this.startState.doc))}get newSelection(){return this.selection||this.startState.selection.map(this.changes)}get state(){return this._state||this.startState.applyTransaction(this),this._state}annotation(e){for(let t of this.annotations)if(t.type==e)return t.value}get docChanged(){return!this.changes.empty}get reconfigured(){return this.startState.config!=this.state.config}isUserEvent(e){let t=this.annotation(i.userEvent);return!!(t&&(t==e||t.length>e.length&&t.slice(0,e.length)==e&&t[e.length]=="."))}};pe.time=Re.define();pe.userEvent=Re.define();pe.addToHistory=Re.define();pe.remote=Re.define();function h0(i,e){let t=[];for(let n=0,r=0;;){let s,o;if(n=i[n]))s=i[n++],o=i[n++];else if(r=0;r--){let s=n[r](i);s instanceof pe?i=s:Array.isArray(s)&&s.length==1&&s[0]instanceof pe?i=s[0]:i=df(e,rn(s),!1)}return i}function u0(i){let e=i.startState,t=e.facet(ff),n=i;for(let r=t.length-1;r>=0;r--){let s=t[r](i);s&&Object.keys(s).length&&(n=Of(n,Bo(e,s,i.changes.newLength),!0))}return n==i?i:pe.create(e,i.changes,i.selection,n.effects,n.annotations,n.scrollIntoView)}var O0=[];function rn(i){return i==null?O0:Array.isArray(i)?i:[i]}var qe=(function(i){return i[i.Word=0]="Word",i[i.Space=1]="Space",i[i.Other=2]="Other",i})(qe||(qe={})),d0=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/,Uo;try{Uo=new RegExp("[\\p{Alphabetic}\\p{Number}_]","u")}catch{}function p0(i){if(Uo)return Uo.test(i);for(let e=0;e"\x80"&&(t.toUpperCase()!=t.toLowerCase()||d0.test(t)))return!0}return!1}function m0(i){return e=>{if(!/\S/.test(e))return qe.Space;if(p0(e))return qe.Word;for(let t=0;t-1)return qe.Word;return qe.Other}}var re=class i{constructor(e,t,n,r,s,o){this.config=e,this.doc=t,this.selection=n,this.values=r,this.status=e.statusTemplate.slice(),this.computeSlot=s,o&&(o._state=this);for(let a=0;ar.set(c,l)),t=null),r.set(a.value.compartment,a.value.extension)):a.is(ie.reconfigure)?(t=null,n=a.value):a.is(ie.appendConfig)&&(t=null,n=rn(n).concat(a.value));let s;t?s=e.startState.values.slice():(t=Nr.resolve(n,r,this),s=new i(t,this.doc,this.selection,t.dynamicSlots.map(()=>null),(l,c)=>c.reconfigure(l,this),null).values);let o=e.startState.facet(Do)?e.newSelection:e.newSelection.asSingle();new i(t,e.newDoc,o,s,(a,l)=>l.update(a,e),e)}replaceSelection(e){return typeof e=="string"&&(e=this.toText(e)),this.changeByRange(t=>({changes:{from:t.from,to:t.to,insert:e},range:P.cursor(t.from+e.length)}))}changeByRange(e){let t=this.selection,n=e(t.ranges[0]),r=this.changes(n.changes),s=[n.range],o=rn(n.effects);for(let a=1;ao.spec.fromJSON(a,l)))}}return i.create({doc:e.doc,selection:P.fromJSON(e.selection),extensions:t.extensions?r.concat([t.extensions]):r})}static create(e={}){let t=Nr.resolve(e.extensions||[],new Map),n=e.doc instanceof K?e.doc:K.of((e.doc||"").split(t.staticFacet(i.lineSeparator)||Mo)),r=e.selection?e.selection instanceof P?e.selection:P.single(e.selection.anchor,e.selection.head):P.single(0);return of(r,n.length),t.staticFacet(Do)||(r=r.asSingle()),new i(t,n,r,t.dynamicSlots.map(()=>null),(s,o)=>o.create(s),null)}get tabSize(){return this.facet(i.tabSize)}get lineBreak(){return this.facet(i.lineSeparator)||` +`}get readOnly(){return this.facet(uf)}phrase(e,...t){for(let n of this.facet(i.phrases))if(Object.prototype.hasOwnProperty.call(n,e)){e=n[e];break}return t.length&&(e=e.replace(/\$(\$|\d*)/g,(n,r)=>{if(r=="$")return"$";let s=+(r||1);return!s||s>t.length?n:t[s-1]})),e}languageDataAt(e,t,n=-1){let r=[];for(let s of this.facet(af))for(let o of s(this,t,n))Object.prototype.hasOwnProperty.call(o,e)&&r.push(o[e]);return r}charCategorizer(e){let t=this.languageDataAt("wordChars",e);return m0(t.length?t[0]:"")}wordAt(e){let{text:t,from:n,length:r}=this.doc.lineAt(e),s=this.charCategorizer(e),o=e-n,a=e-n;for(;o>0;){let l=ke(t,o,!1);if(s(t.slice(l,o))!=qe.Word)break;o=l}for(;ai.length?i[0]:4});re.lineSeparator=lf;re.readOnly=uf;re.phrases=Y.define({compare(i,e){let t=Object.keys(i),n=Object.keys(e);return t.length==n.length&&t.every(r=>i[r]==e[r])}});re.languageData=af;re.changeFilter=cf;re.transactionFilter=hf;re.transactionExtender=ff;Gr.reconfigure=ie.define();function Yn(i,e,t={}){let n={};for(let r of i)for(let s of Object.keys(r)){let o=r[s],a=n[s];if(a===void 0)n[s]=o;else if(!(a===o||o===void 0))if(Object.hasOwnProperty.call(t,s))n[s]=t[s](a,o);else throw new Error("Config merge conflict for field "+s)}for(let r in e)n[r]===void 0&&(n[r]=e[r]);return n}var it=class{eq(e){return this==e}range(e,t=e){return Vn.create(e,t,this)}};it.prototype.startSide=it.prototype.endSide=0;it.prototype.point=!1;it.prototype.mapMode=ge.TrackDel;function Jo(i,e){return i==e||i.constructor==e.constructor&&i.eq(e)}var Vn=class i{constructor(e,t,n){this.from=e,this.to=t,this.value=n}static create(e,t,n){return new i(e,t,n)}};function Go(i,e){return i.from-e.from||i.value.startSide-e.value.startSide}var No=class i{constructor(e,t,n,r){this.from=e,this.to=t,this.value=n,this.maxPoint=r}get length(){return this.to[this.to.length-1]}findIndex(e,t,n,r=0){let s=n?this.to:this.from;for(let o=r,a=s.length;;){if(o==a)return o;let l=o+a>>1,c=s[l]-e||(n?this.value[l].endSide:this.value[l].startSide)-t;if(l==o)return c>=0?o:a;c>=0?a=l:o=l+1}}between(e,t,n,r){for(let s=this.findIndex(t,-1e9,!0),o=this.findIndex(n,1e9,!1,s);sO||u==O&&c.startSide>0&&c.endSide<=0)continue;(O-u||c.endSide-c.startSide)<0||(o<0&&(o=u),c.point&&(a=Math.max(a,O-u)),n.push(c),r.push(u-o),s.push(O-o))}return{mapped:n.length?new i(r,s,n,a):null,pos:o}}},ae=class i{constructor(e,t,n,r){this.chunkPos=e,this.chunk=t,this.nextLayer=n,this.maxPoint=r}static create(e,t,n,r){return new i(e,t,n,r)}get length(){let e=this.chunk.length-1;return e<0?0:Math.max(this.chunkEnd(e),this.nextLayer.length)}get size(){if(this.isEmpty)return 0;let e=this.nextLayer.size;for(let t of this.chunk)e+=t.value.length;return e}chunkEnd(e){return this.chunkPos[e]+this.chunk[e].length}update(e){let{add:t=[],sort:n=!1,filterFrom:r=0,filterTo:s=this.length}=e,o=e.filter;if(t.length==0&&!o)return this;if(n&&(t=t.slice().sort(Go)),this.isEmpty)return t.length?i.of(t):this;let a=new Hr(this,null,-1).goto(0),l=0,c=[],h=new Xi;for(;a.value||l=0){let f=t[l++];h.addInner(f.from,f.to,f.value)||c.push(f)}else a.rangeIndex==1&&a.chunkIndexthis.chunkEnd(a.chunkIndex)||sa.to||s=s&&e<=s+o.length&&o.between(s,e-s,t-s,n)===!1)return}this.nextLayer.between(e,t,n)}}iter(e=0){return Dn.from([this]).goto(e)}get isEmpty(){return this.nextLayer==this}static iter(e,t=0){return Dn.from(e).goto(t)}static compare(e,t,n,r,s=-1){let o=e.filter(f=>f.maxPoint>0||!f.isEmpty&&f.maxPoint>=s),a=t.filter(f=>f.maxPoint>0||!f.isEmpty&&f.maxPoint>=s),l=ef(o,a,n),c=new $i(o,l,s),h=new $i(a,l,s);n.iterGaps((f,u,O)=>tf(c,f,h,u,O,r)),n.empty&&n.length==0&&tf(c,0,h,0,0,r)}static eq(e,t,n=0,r){r==null&&(r=999999999);let s=e.filter(h=>!h.isEmpty&&t.indexOf(h)<0),o=t.filter(h=>!h.isEmpty&&e.indexOf(h)<0);if(s.length!=o.length)return!1;if(!s.length)return!0;let a=ef(s,o),l=new $i(s,a,0).goto(n),c=new $i(o,a,0).goto(n);for(;;){if(l.to!=c.to||!Fo(l.active,c.active)||l.point&&(!c.point||!Jo(l.point,c.point)))return!1;if(l.to>r)return!0;l.next(),c.next()}}static spans(e,t,n,r,s=-1){let o=new $i(e,null,s).goto(t),a=t,l=o.openStart;for(;;){let c=Math.min(o.to,n);if(o.point){let h=o.activeForPoint(o.to),f=o.pointFroma&&(r.span(a,c,o.active,l),l=o.openEnd(c));if(o.to>n)return l+(o.point&&o.to>n?1:0);a=o.to,o.next()}}static of(e,t=!1){let n=new Xi;for(let r of e instanceof Vn?[e]:t?g0(e):e)n.add(r.from,r.to,r.value);return n.finish()}static join(e){if(!e.length)return i.empty;let t=e[e.length-1];for(let n=e.length-2;n>=0;n--)for(let r=e[n];r!=i.empty;r=r.nextLayer)t=new i(r.chunkPos,r.chunk,t,Math.max(r.maxPoint,t.maxPoint));return t}};ae.empty=new ae([],[],null,-1);function g0(i){if(i.length>1)for(let e=i[0],t=1;t0)return i.slice().sort(Go);e=n}return i}ae.empty.nextLayer=ae.empty;var Xi=class i{finishChunk(e){this.chunks.push(new No(this.from,this.to,this.value,this.maxPoint)),this.chunkPos.push(this.chunkStart),this.chunkStart=-1,this.setMaxPoint=Math.max(this.setMaxPoint,this.maxPoint),this.maxPoint=-1,e&&(this.from=[],this.to=[],this.value=[])}constructor(){this.chunks=[],this.chunkPos=[],this.chunkStart=-1,this.last=null,this.lastFrom=-1e9,this.lastTo=-1e9,this.from=[],this.to=[],this.value=[],this.maxPoint=-1,this.setMaxPoint=-1,this.nextLayer=null}add(e,t,n){this.addInner(e,t,n)||(this.nextLayer||(this.nextLayer=new i)).add(e,t,n)}addInner(e,t,n){let r=e-this.lastTo||n.startSide-this.last.endSide;if(r<=0&&(e-this.lastFrom||n.startSide-this.last.startSide)<0)throw new Error("Ranges must be added sorted by `from` position and `startSide`");return r<0?!1:(this.from.length==250&&this.finishChunk(!0),this.chunkStart<0&&(this.chunkStart=e),this.from.push(e-this.chunkStart),this.to.push(t-this.chunkStart),this.last=n,this.lastFrom=e,this.lastTo=t,this.value.push(n),n.point&&(this.maxPoint=Math.max(this.maxPoint,t-e)),!0)}addChunk(e,t){if((e-this.lastTo||t.value[0].startSide-this.last.endSide)<0)return!1;this.from.length&&this.finishChunk(!0),this.setMaxPoint=Math.max(this.setMaxPoint,t.maxPoint),this.chunks.push(t),this.chunkPos.push(e);let n=t.value.length-1;return this.last=t.value[n],this.lastFrom=t.from[n]+e,this.lastTo=t.to[n]+e,!0}finish(){return this.finishInner(ae.empty)}finishInner(e){if(this.from.length&&this.finishChunk(!1),this.chunks.length==0)return e;let t=ae.create(this.chunkPos,this.chunks,this.nextLayer?this.nextLayer.finishInner(e):e,this.setMaxPoint);return this.from=null,t}};function ef(i,e,t){let n=new Map;for(let s of i)for(let o=0;o=this.minPoint)break}}setRangeIndex(e){if(e==this.layer.chunk[this.chunkIndex].value.length){if(this.chunkIndex++,this.skip)for(;this.chunkIndex=n&&r.push(new Hr(o,t,n,s));return r.length==1?r[0]:new i(r)}get startSide(){return this.value?this.value.startSide:0}goto(e,t=-1e9){for(let n of this.heap)n.goto(e,t);for(let n=this.heap.length>>1;n>=0;n--)zo(this.heap,n);return this.next(),this}forward(e,t){for(let n of this.heap)n.forward(e,t);for(let n=this.heap.length>>1;n>=0;n--)zo(this.heap,n);(this.to-e||this.value.endSide-t)<0&&this.next()}next(){if(this.heap.length==0)this.from=this.to=1e9,this.value=null,this.rank=-1;else{let e=this.heap[0];this.from=e.from,this.to=e.to,this.value=e.value,this.rank=e.rank,e.value&&e.next(),zo(this.heap,0)}}};function zo(i,e){for(let t=i[e];;){let n=(e<<1)+1;if(n>=i.length)break;let r=i[n];if(n+1=0&&(r=i[n+1],n++),t.compare(r)<0)break;i[n]=t,i[e]=r,e=n}}var $i=class{constructor(e,t,n){this.minPoint=n,this.active=[],this.activeTo=[],this.activeRank=[],this.minActive=-1,this.point=null,this.pointFrom=0,this.pointRank=0,this.to=-1e9,this.endSide=0,this.openStart=-1,this.cursor=Dn.from(e,t,n)}goto(e,t=-1e9){return this.cursor.goto(e,t),this.active.length=this.activeTo.length=this.activeRank.length=0,this.minActive=-1,this.to=e,this.endSide=t,this.openStart=-1,this.next(),this}forward(e,t){for(;this.minActive>-1&&(this.activeTo[this.minActive]-e||this.active[this.minActive].endSide-t)<0;)this.removeActive(this.minActive);this.cursor.forward(e,t)}removeActive(e){Vr(this.active,e),Vr(this.activeTo,e),Vr(this.activeRank,e),this.minActive=nf(this.active,this.activeTo)}addActive(e){let t=0,{value:n,to:r,rank:s}=this.cursor;for(;t0;)t++;Dr(this.active,t,n),Dr(this.activeTo,t,r),Dr(this.activeRank,t,s),e&&Dr(e,t,this.cursor.from),this.minActive=nf(this.active,this.activeTo)}next(){let e=this.to,t=this.point;this.point=null;let n=this.openStart<0?[]:null;for(;;){let r=this.minActive;if(r>-1&&(this.activeTo[r]-this.cursor.from||this.active[r].endSide-this.cursor.startSide)<0){if(this.activeTo[r]>e){this.to=this.activeTo[r],this.endSide=this.active[r].endSide;break}this.removeActive(r),n&&Vr(n,r)}else if(this.cursor.value)if(this.cursor.from>e){this.to=this.cursor.from,this.endSide=this.cursor.startSide;break}else{let s=this.cursor.value;if(!s.point)this.addActive(n),this.cursor.next();else if(t&&this.cursor.to==this.to&&this.cursor.from=0&&n[r]=0&&!(this.activeRank[n]e||this.activeTo[n]==e&&this.active[n].endSide>=this.point.endSide)&&t.push(this.active[n]);return t.reverse()}openEnd(e){let t=0;for(let n=this.activeTo.length-1;n>=0&&this.activeTo[n]>e;n--)t++;return t}};function tf(i,e,t,n,r,s){i.goto(e),t.goto(n);let o=n+r,a=n,l=n-e,c=!!s.boundChange;for(let h=!1;;){let f=i.to+l-t.to,u=f||i.endSide-t.endSide,O=u<0?i.to+l:t.to,p=Math.min(O,o);if(i.point||t.point?(i.point&&t.point&&Jo(i.point,t.point)&&Fo(i.activeForPoint(i.to),t.activeForPoint(t.to))||s.comparePoint(a,p,i.point,t.point),h=!1):(h&&s.boundChange(a),p>a&&!Fo(i.active,t.active)&&s.compareRange(a,p,i.active,t.active),c&&po)break;a=O,u<=0&&i.next(),u>=0&&t.next()}}function Fo(i,e){if(i.length!=e.length)return!1;for(let t=0;t=e;n--)i[n+1]=i[n];i[e]=t}function nf(i,e){let t=-1,n=1e9;for(let r=0;r=e)return r;if(r==i.length)break;s+=i.charCodeAt(r)==9?t-s%t:1,r=ke(i,r)}return n===!0?-1:i.length}var mf=typeof Symbol>"u"?"__\u037C":Symbol.for("\u037C"),ea=typeof Symbol>"u"?"__styleSet"+Math.floor(Math.random()*1e8):Symbol("styleSet"),gf=typeof globalThis<"u"?globalThis:typeof window<"u"?window:{},rt=class{constructor(e,t){this.rules=[];let{finish:n}=t||{};function r(o){return/^@/.test(o)?[o]:o.split(/,\s*/)}function s(o,a,l,c){let h=[],f=/^@(\w+)\b/.exec(o[0]),u=f&&f[1]=="keyframes";if(f&&a==null)return l.push(o[0]+";");for(let O in a){let p=a[O];if(/&/.test(O))s(O.split(/,\s*/).map(m=>o.map(b=>m.replace(/&/,b))).reduce((m,b)=>m.concat(b)),p,l);else if(p&&typeof p=="object"){if(!f)throw new RangeError("The value of a property ("+O+") should be a primitive value.");s(r(O),p,h,u)}else p!=null&&h.push(O.replace(/_.*/,"").replace(/[A-Z]/g,m=>"-"+m.toLowerCase())+": "+p+";")}(h.length||u)&&l.push((n&&!f&&!c?o.map(n):o).join(", ")+" {"+h.join(" ")+"}")}for(let o in e)s(r(o),e[o],this.rules)}getRules(){return this.rules.join(` +`)}static newName(){let e=gf[mf]||1;return gf[mf]=e+1,"\u037C"+e.toString(36)}static mount(e,t,n){let r=e[ea],s=n&&n.nonce;r?s&&r.setNonce(s):r=new ta(e,s),r.mount(Array.isArray(t)?t:[t],e)}},Qf=new Map,ta=class{constructor(e,t){let n=e.ownerDocument||e,r=n.defaultView;if(!e.head&&e.adoptedStyleSheets&&r.CSSStyleSheet){let s=Qf.get(n);if(s)return e[ea]=s;this.sheet=new r.CSSStyleSheet,Qf.set(n,this)}else this.styleTag=n.createElement("style"),t&&this.styleTag.setAttribute("nonce",t);this.modules=[],e[ea]=this}mount(e,t){let n=this.sheet,r=0,s=0;for(let o=0;o-1&&(this.modules.splice(l,1),s--,l=-1),l==-1){if(this.modules.splice(s++,0,a),n)for(let c=0;c",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},Q0=typeof navigator<"u"&&/Mac/.test(navigator.platform),b0=typeof navigator<"u"&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent);for(Se=0;Se<10;Se++)qt[48+Se]=qt[96+Se]=String(Se);var Se;for(Se=1;Se<=24;Se++)qt[Se+111]="F"+Se;var Se;for(Se=65;Se<=90;Se++)qt[Se]=String.fromCharCode(Se+32),an[Se]=String.fromCharCode(Se);var Se;for(Kr in qt)an.hasOwnProperty(Kr)||(an[Kr]=qt[Kr]);var Kr;function bf(i){var e=Q0&&i.metaKey&&i.shiftKey&&!i.ctrlKey&&!i.altKey||b0&&i.shiftKey&&i.key&&i.key.length==1||i.key=="Unidentified",t=!e&&i.key||(i.shiftKey?an:qt)[i.keyCode]||i.key||"Unidentified";return t=="Esc"&&(t="Escape"),t=="Del"&&(t="Delete"),t=="Left"&&(t="ArrowLeft"),t=="Up"&&(t="ArrowUp"),t=="Right"&&(t="ArrowRight"),t=="Down"&&(t="ArrowDown"),t}var Le=typeof navigator<"u"?navigator:{userAgent:"",vendor:"",platform:""},aa=typeof document<"u"?document:{documentElement:{style:{}}},la=/Edge\/(\d+)/.exec(Le.userAgent),Uf=/MSIE \d/.test(Le.userAgent),ca=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(Le.userAgent),Ss=!!(Uf||ca||la),Sf=!Ss&&/gecko\/(\d+)/i.test(Le.userAgent),ia=!Ss&&/Chrome\/(\d+)/.exec(Le.userAgent),yf="webkitFontSmoothing"in aa.documentElement.style,ha=!Ss&&/Apple Computer/.test(Le.vendor),kf=ha&&(/Mobile\/\w+/.test(Le.userAgent)||Le.maxTouchPoints>2),L={mac:kf||/Mac/.test(Le.platform),windows:/Win/.test(Le.platform),linux:/Linux|X11/.test(Le.platform),ie:Ss,ie_version:Uf?aa.documentMode||6:ca?+ca[1]:la?+la[1]:0,gecko:Sf,gecko_version:Sf?+(/Firefox\/(\d+)/.exec(Le.userAgent)||[0,0])[1]:0,chrome:!!ia,chrome_version:ia?+ia[1]:0,ios:kf,android:/Android\b/.test(Le.userAgent),webkit:yf,webkit_version:yf?+(/\bAppleWebKit\/(\d+)/.exec(Le.userAgent)||[0,0])[1]:0,safari:ha,safari_version:ha?+(/\bVersion\/(\d+(\.\d+)?)/.exec(Le.userAgent)||[0,0])[1]:0,tabSize:aa.documentElement.style.tabSize!=null?"tab-size":"-moz-tab-size"};function Ia(i,e){for(let t in i)t=="class"&&e.class?e.class+=" "+i.class:t=="style"&&e.style?e.style+=";"+i.style:e[t]=i[t];return e}var ls=Object.create(null);function Ba(i,e,t){if(i==e)return!0;i||(i=ls),e||(e=ls);let n=Object.keys(i),r=Object.keys(e);if(n.length-(t&&n.indexOf(t)>-1?1:0)!=r.length-(t&&r.indexOf(t)>-1?1:0))return!1;for(let s of n)if(s!=t&&(r.indexOf(s)==-1||i[s]!==e[s]))return!1;return!0}function S0(i,e){for(let t=i.attributes.length-1;t>=0;t--){let n=i.attributes[t].name;e[n]==null&&i.removeAttribute(n)}for(let t in e){let n=e[t];t=="style"?i.style.cssText=n:i.getAttribute(t)!=n&&i.setAttribute(t,n)}}function xf(i,e,t){let n=!1;if(e)for(let r in e)t&&r in t||(n=!0,r=="style"?i.style.cssText="":i.removeAttribute(r));if(t)for(let r in t)e&&e[r]==t[r]||(n=!0,r=="style"?i.style.cssText=t[r]:i.setAttribute(r,t[r]));return n}function y0(i){let e=Object.create(null);for(let t=0;t0?3e8:-4e8:t>0?1e8:-1e8,new Ai(e,t,t,n,e.widget||null,!1)}static replace(e){let t=!!e.block,n,r;if(e.isBlockGap)n=-5e8,r=4e8;else{let{start:s,end:o}=Gf(e,t);n=(s?t?-3e8:-1:5e8)-1,r=(o?t?2e8:1:-6e8)+1}return new Ai(e,n,r,t,e.widget||null,!0)}static line(e){return new ir(e)}static set(e,t=!1){return ae.of(e,t)}hasHeight(){return this.widget?this.widget.estimatedHeight>-1:!1}};Z.none=ae.empty;var tr=class i extends Z{constructor(e){let{start:t,end:n}=Gf(e);super(t?-1:5e8,n?1:-6e8,null,e),this.tagName=e.tagName||"span",this.attrs=e.class&&e.attributes?Ia(e.attributes,{class:e.class}):e.class?{class:e.class}:e.attributes||ls}eq(e){return this==e||e instanceof i&&this.tagName==e.tagName&&Ba(this.attrs,e.attrs)}range(e,t=e){if(e>=t)throw new RangeError("Mark decorations may not be empty");return super.range(e,t)}};tr.prototype.point=!1;var ir=class i extends Z{constructor(e){super(-2e8,-2e8,null,e)}eq(e){return e instanceof i&&this.spec.class==e.spec.class&&Ba(this.spec.attributes,e.spec.attributes)}range(e,t=e){if(t!=e)throw new RangeError("Line decoration ranges must be zero-length");return super.range(e,t)}};ir.prototype.mapMode=ge.TrackBefore;ir.prototype.point=!0;var Ai=class i extends Z{constructor(e,t,n,r,s,o){super(t,n,s,e),this.block=r,this.isReplace=o,this.mapMode=r?t<=0?ge.TrackBefore:ge.TrackAfter:ge.TrackDel}get type(){return this.startSide!=this.endSide?ct.WidgetRange:this.startSide<=0?ct.WidgetBefore:ct.WidgetAfter}get heightRelevant(){return this.block||!!this.widget&&(this.widget.estimatedHeight>=5||this.widget.lineBreaks>0)}eq(e){return e instanceof i&&k0(this.widget,e.widget)&&this.block==e.block&&this.startSide==e.startSide&&this.endSide==e.endSide}range(e,t=e){if(this.isReplace&&(e>t||e==t&&this.startSide>0&&this.endSide<=0))throw new RangeError("Invalid range for replacement decoration");if(!this.isReplace&&t!=e)throw new RangeError("Widget decorations can only have zero-length ranges");return super.range(e,t)}};Ai.prototype.point=!0;function Gf(i,e=!1){let{inclusiveStart:t,inclusiveEnd:n}=i;return t==null&&(t=i.inclusive),n==null&&(n=i.inclusive),{start:t??e,end:n??e}}function k0(i,e){return i==e||!!(i&&e&&i.compare(e))}function fn(i,e,t,n=0){let r=t.length-1;r>=0&&t[r]+n>=i?t[r]=Math.max(t[r],e):t.push(i,e)}var oi=class i extends it{constructor(e,t,n){super(),this.tagName=e,this.attributes=t,this.rank=n}eq(e){return e==this||e instanceof i&&this.tagName==e.tagName&&Ba(this.attributes,e.attributes)}static create(e){return new i(e.tagName,e.attributes||ls,e.rank==null?50:Math.max(0,Math.min(e.rank,100)))}static set(e,t=!1){return ae.of(e,t)}};oi.prototype.startSide=oi.prototype.endSide=-1;function nr(i){let e;return i.nodeType==11?e=i.getSelection?i:i.ownerDocument:e=i,e.getSelection()}function fa(i,e){return e?i==e||i.contains(e.nodeType!=1?e.parentNode:e):!1}function Gn(i,e){if(!e.anchorNode)return!1;try{return fa(i,e.anchorNode)}catch{return!1}}function os(i){return i.nodeType==3?rr(i,0,i.nodeValue.length).getClientRects():i.nodeType==1?i.getClientRects():[]}function Nn(i,e,t,n){return t?wf(i,e,t,n,-1)||wf(i,e,t,n,1):!1}function ai(i){for(var e=0;;e++)if(i=i.previousSibling,!i)return e}function cs(i){return i.nodeType==1&&/^(DIV|P|LI|UL|OL|BLOCKQUOTE|DD|DT|H\d|SECTION|PRE)$/.test(i.nodeName)}function wf(i,e,t,n,r){for(;;){if(i==t&&e==n)return!0;if(e==(r<0?0:Mt(i))){if(i.nodeName=="DIV")return!1;let s=i.parentNode;if(!s||s.nodeType!=1)return!1;e=ai(i)+(r<0?0:1),i=s}else if(i.nodeType==1){if(i=i.childNodes[e+(r<0?-1:0)],i.nodeType==1&&i.contentEditable=="false")return!1;e=r<0?Mt(i):0}else return!1}}function Mt(i){return i.nodeType==3?i.nodeValue.length:i.childNodes.length}function hs(i,e){let{left:t,right:n}=i;if(t==n)return i;let r=e?t:n;return{left:r,right:r,top:i.top,bottom:i.bottom}}function x0(i){let e=i.visualViewport;return e?{left:0,right:e.width,top:0,bottom:e.height}:{left:0,right:i.innerWidth,top:0,bottom:i.innerHeight}}function Nf(i,e){let t=e.width/i.offsetWidth,n=e.height/i.offsetHeight;return(t>.995&&t<1.005||!isFinite(t)||Math.abs(e.width-i.offsetWidth)<1)&&(t=1),(n>.995&&n<1.005||!isFinite(n)||Math.abs(e.height-i.offsetHeight)<1)&&(n=1),{scaleX:t,scaleY:n}}function w0(i,e,t,n,r,s,o,a){let l=i.ownerDocument,c=l.defaultView||window;for(let h=i,f=!1;h&&!f;)if(h.nodeType==1){let u,O=h==l.body,p=1,m=1;if(O)u=x0(c);else{if(/^(fixed|sticky)$/.test(getComputedStyle(h).position)&&(f=!0),h.scrollHeight<=h.clientHeight&&h.scrollWidth<=h.clientWidth){h=h.assignedSlot||h.parentNode;continue}let Q=h.getBoundingClientRect();({scaleX:p,scaleY:m}=Nf(h,Q)),u={left:Q.left,right:Q.left+h.clientWidth*p,top:Q.top,bottom:Q.top+h.clientHeight*m}}let b=0,g=0;if(r=="nearest")e.top0&&e.bottom>u.bottom+g&&(g=e.bottom-u.bottom+o)):e.bottom>u.bottom-o&&(g=e.bottom-u.bottom+o,t<0&&e.top-g0&&e.right>u.right+b&&(b=e.right-u.right+s)):e.right>u.right-s&&(b=e.right-u.right+s,t<0&&e.leftu.bottom||e.leftu.right)&&(e={left:Math.max(e.left,u.left),right:Math.min(e.right,u.right),top:Math.max(e.top,u.top),bottom:Math.min(e.bottom,u.bottom)}),h=h.assignedSlot||h.parentNode}else if(h.nodeType==11)h=h.host;else break}function Ff(i,e=!0){let t=i.ownerDocument,n=null,r=null;for(let s=i.parentNode;s&&!(s==t.body||(!e||n)&&r);)if(s.nodeType==1)!r&&s.scrollHeight>s.clientHeight&&(r=s),e&&!n&&s.scrollWidth>s.clientWidth&&(n=s),s=s.assignedSlot||s.parentNode;else if(s.nodeType==11)s=s.host;else break;return{x:n,y:r}}var ua=class{constructor(){this.anchorNode=null,this.anchorOffset=0,this.focusNode=null,this.focusOffset=0}eq(e){return this.anchorNode==e.anchorNode&&this.anchorOffset==e.anchorOffset&&this.focusNode==e.focusNode&&this.focusOffset==e.focusOffset}setRange(e){let{anchorNode:t,focusNode:n}=e;this.set(t,Math.min(e.anchorOffset,t?Mt(t):0),n,Math.min(e.focusOffset,n?Mt(n):0))}set(e,t,n,r){this.anchorNode=e,this.anchorOffset=t,this.focusNode=n,this.focusOffset=r}},_i=null;L.safari&&L.safari_version>=26&&(_i=!1);function Hf(i){if(i.setActive)return i.setActive();if(_i)return i.focus(_i);let e=[];for(let t=i;t&&(e.push(t,t.scrollTop,t.scrollLeft),t!=t.ownerDocument);t=t.parentNode);if(i.focus(_i==null?{get preventScroll(){return _i={preventScroll:!0},!0}}:void 0),!_i){_i=!1;for(let t=0;tMath.max(0,i.document.documentElement.scrollHeight-i.innerHeight-4):i.scrollTop>Math.max(1,i.scrollHeight-i.clientHeight-4)}function Jf(i,e){for(let t=i,n=e;;){if(t.nodeType==3&&n>0)return{node:t,offset:n};if(t.nodeType==1&&n>0){if(t.contentEditable=="false")return null;t=t.childNodes[n-1],n=Mt(t)}else if(t.parentNode&&!cs(t))n=ai(t),t=t.parentNode;else return null}}function eu(i,e){for(let t=i,n=e;;){if(t.nodeType==3&&n=t){if(a.level==n)return o;(s<0||(r!=0?r<0?a.fromt:e[s].level>a.level))&&(s=o)}}if(s<0)throw new RangeError("Index out of range");return s}};function nu(i,e){if(i.length!=e.length)return!1;for(let t=0;t=0;m-=3)if($t[m+1]==-O){let b=$t[m+2],g=b&2?r:b&4?b&1?s:r:0;g&&(oe[f]=oe[$t[m]]=g),a=m;break}}else{if($t.length==189)break;$t[a++]=f,$t[a++]=u,$t[a++]=l}else if((p=oe[f])==2||p==1){let m=p==r;l=m?0:1;for(let b=a-3;b>=0;b-=3){let g=$t[b+2];if(g&2)break;if(m)$t[b+2]|=2;else{if(g&4)break;$t[b+2]|=4}}}}}function R0(i,e,t,n){for(let r=0,s=n;r<=t.length;r++){let o=r?t[r-1].to:i,a=rl;)p==b&&(p=t[--m].from,b=m?t[m-1].to:i),oe[--p]=O;l=h}else s=c,l++}}}function da(i,e,t,n,r,s,o){let a=n%2?2:1;if(n%2==r%2)for(let l=e,c=0;ll&&o.push(new at(l,m.from,O));let b=m.direction==Zi!=!(O%2);pa(i,b?n+1:n,r,m.inner,m.from,m.to,o),l=m.to}p=m.to}else{if(p==t||(h?oe[p]!=a:oe[p]==a))break;p++}u?da(i,l,p,n+1,r,u,o):le;){let h=!0,f=!1;if(!c||l>s[c-1].to){let m=oe[l-1];m!=a&&(h=!1,f=m==16)}let u=!h&&a==1?[]:null,O=h?n:n+1,p=l;e:for(;;)if(c&&p==s[c-1].to){if(f)break e;let m=s[--c];if(!h)for(let b=m.from,g=c;;){if(b==e)break e;if(g&&s[g-1].to==b)b=s[--g].from;else{if(oe[b-1]==a)break e;break}}if(u)u.push(m);else{m.tooe.length;)oe[oe.length]=256;let n=[],r=e==Zi?0:1;return pa(i,r,r,t,0,i.length,n),n}function ru(i){return[new at(0,i,0)]}var su="";function Z0(i,e,t,n,r){var s;let o=n.head-i.from,a=at.find(e,o,(s=n.bidiLevel)!==null&&s!==void 0?s:-1,n.assoc),l=e[a],c=l.side(r,t);if(o==c){let u=a+=r?1:-1;if(u<0||u>=e.length)return null;l=e[a=u],o=l.side(!r,t),c=l.side(r,t)}let h=ke(i.text,o,l.forward(r,t));(hl.to)&&(h=c),su=i.text.slice(Math.min(o,h),Math.max(o,h));let f=a==(r?e.length-1:0)?null:e[a+(r?1:-1)];return f&&h==c&&f.level+(r?0:1)i.some(e=>e)}),q0=Y.define({combine:i=>i.some(e=>e)}),Ou=Y.define(),Fn=class i{constructor(e,t,n,r,s,o=!1){this.range=e,this.y=t,this.x=n,this.yMargin=r,this.xMargin=s,this.isSnapshot=o}map(e){return e.empty?this:new i(this.range.map(e),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}clip(e){return this.range.to<=e.doc.length?this:new i(P.cursor(e.doc.length),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}},Jr=ie.define({map:(i,e)=>i.map(e)}),du=ie.define();function lt(i,e,t){let n=i.facet(cu);n.length?n[0](e):window.onerror&&window.onerror(String(e),t,void 0,void 0,e)||(t?console.error(t+":",e):console.error(e))}var zt=Y.define({combine:i=>i.length?i[0]:!0}),z0=0,cn=Y.define({combine(i){return i.filter((e,t)=>{for(let n=0;n{let l=[];return o&&l.push(ys.of(c=>{let h=c.plugin(a);return h?o(h):Z.none})),s&&l.push(s(a)),l})}static fromClass(e,t){return i.define((n,r)=>new e(n,r),t)}},Hn=class{constructor(e){this.spec=e,this.mustUpdate=null,this.value=null}get plugin(){return this.spec&&this.spec.plugin}update(e){if(this.value){if(this.mustUpdate){let t=this.mustUpdate;if(this.mustUpdate=null,this.value.update)try{this.value.update(t)}catch(n){if(lt(t.state,n,"CodeMirror plugin crashed"),this.value.destroy)try{this.value.destroy()}catch{}this.deactivate()}}}else if(this.spec)try{this.value=this.spec.plugin.create(e,this.spec.arg)}catch(t){lt(e.state,t,"CodeMirror plugin crashed"),this.deactivate()}return this}destroy(e){var t;if(!((t=this.value)===null||t===void 0)&&t.destroy)try{this.value.destroy()}catch(n){lt(e.state,n,"CodeMirror plugin crashed")}}deactivate(){this.spec=this.value=null}},pu=Y.define(),Fa=Y.define(),ys=Y.define(),mu=Y.define(),Ha=Y.define(),sr=Y.define(),gu=Y.define();function vf(i,e){let t=i.state.facet(gu);if(!t.length)return t;let n=t.map(s=>s instanceof Function?s(i):s),r=[];return ae.spans(n,e.from,e.to,{point(){},span(s,o,a,l){let c=s-e.from,h=o-e.from,f=r;for(let u=a.length-1;u>=0;u--,l--){let O=a[u].spec.bidiIsolate,p;if(O==null&&(O=E0(e.text,c,h)),l>0&&f.length&&(p=f[f.length-1]).to==c&&p.direction==O)p.to=h,f=p.inner;else{let m={from:c,to:h,direction:O,inner:[]};f.push(m),f=m.inner}}}}),r}var Qu=Y.define();function bu(i){let e=0,t=0,n=0,r=0;for(let s of i.state.facet(Qu)){let o=s(i);o&&(o.left!=null&&(e=Math.max(e,o.left)),o.right!=null&&(t=Math.max(t,o.right)),o.top!=null&&(n=Math.max(n,o.top)),o.bottom!=null&&(r=Math.max(r,o.bottom)))}return{left:e,right:t,top:n,bottom:r}}var In=Y.define(),gt=class i{constructor(e,t,n,r){this.fromA=e,this.toA=t,this.fromB=n,this.toB=r}join(e){return new i(Math.min(this.fromA,e.fromA),Math.max(this.toA,e.toA),Math.min(this.fromB,e.fromB),Math.max(this.toB,e.toB))}addToSet(e){let t=e.length,n=this;for(;t>0;t--){let r=e[t-1];if(!(r.fromA>n.toA)){if(r.toAr.push(new gt(s,o,a,l))),this.changedRanges=r}static create(e,t,n){return new i(e,t,n)}get viewportChanged(){return(this.flags&4)>0}get viewportMoved(){return(this.flags&8)>0}get heightChanged(){return(this.flags&2)>0}get geometryChanged(){return this.docChanged||(this.flags&18)>0}get focusChanged(){return(this.flags&1)>0}get docChanged(){return!this.changes.empty}get selectionSet(){return this.transactions.some(e=>e.selection)}get empty(){return this.flags==0&&this.transactions.length==0}},L0=[],fe=class{constructor(e,t,n=0){this.dom=e,this.length=t,this.flags=n,this.parent=null,e.cmTile=this}get breakAfter(){return this.flags&1}get children(){return L0}isWidget(){return!1}get isHidden(){return!1}isComposite(){return!1}isLine(){return!1}isText(){return!1}isBlock(){return!1}get domAttrs(){return null}sync(e){if(this.flags|=2,this.flags&4){this.flags&=-5;let t=this.domAttrs;t&&S0(this.dom,t)}}toString(){return this.constructor.name+(this.children.length?`(${this.children})`:"")+(this.breakAfter?"#":"")}destroy(){this.parent=null}setDOM(e){this.dom=e,e.cmTile=this}get posAtStart(){return this.parent?this.parent.posBefore(this):0}get posAtEnd(){return this.posAtStart+this.length}posBefore(e,t=this.posAtStart){let n=t;for(let r of this.children){if(r==e)return n;n+=r.length+r.breakAfter}throw new RangeError("Invalid child in posBefore")}posAfter(e){return this.posBefore(e)+e.length}covers(e){return!0}coordsIn(e,t,n){return null}domPosFor(e,t){let n=ai(this.dom),r=this.length?e>0:t>0;return new Tt(this.parent.dom,n+(r?1:0),e==0||e==this.length)}markDirty(e){this.flags&=-3,e&&(this.flags|=4),this.parent&&this.parent.flags&2&&this.parent.markDirty(!1)}get overrideDOMText(){return null}get root(){for(let e=this;e;e=e.parent)if(e instanceof dn)return e;return null}static get(e){return e.cmTile}},On=class extends fe{constructor(e){super(e,0),this._children=[]}isComposite(){return!0}get children(){return this._children}get lastChild(){return this.children.length?this.children[this.children.length-1]:null}append(e){this.children.push(e),e.parent=this}sync(e){if(this.flags&2)return;super.sync(e);let t=this.dom,n=null,r,s=e?.node==t?e:null,o=0;for(let a of this.children){if(a.sync(e),o+=a.length+a.breakAfter,r=n?n.nextSibling:t.firstChild,s&&r!=a.dom&&(s.written=!0),a.dom.parentNode==t)for(;r&&r!=a.dom;)r=$f(r);else t.insertBefore(a.dom,r);n=a.dom}for(r=n?n.nextSibling:t.firstChild,s&&r&&(s.written=!0);r;)r=$f(r);this.length=o}};function $f(i){let e=i.nextSibling;return i.parentNode.removeChild(i),e}var dn=class extends On{constructor(e,t){super(t),this.view=e}owns(e){for(;e;e=e.parent)if(e==this)return!0;return!1}isBlock(){return!0}nearest(e){for(;;){if(!e)return null;let t=fe.get(e);if(t&&this.owns(t))return t;e=e.parentNode}}blockTiles(e){for(let t=[],n=this,r=0,s=0;;)if(r==n.children.length){if(!t.length)return;n=n.parent,n.breakAfter&&s++,r=t.pop()}else{let o=n.children[r++];if(o instanceof Lt)t.push(r),n=o,r=0;else{let a=s+o.length,l=e(o,s);if(l!==void 0)return l;s=a+o.breakAfter}}}resolveBlock(e,t){let n,r=-1,s,o=-1;if(this.blockTiles((a,l)=>{let c=l+a.length;if(e>=l&&e<=c){if(a.isWidget()&&t>=-1&&t<=1){if(a.flags&32)return!0;a.flags&16&&(n=void 0)}(le||e==l&&(t>1?a.length:a.covers(-1)))&&(!s||!a.isWidget()&&s.isWidget())&&(s=a,o=e-l)}}),!n&&!s)throw new Error("No tile at position "+e);return n&&t<0||!s?{tile:n,offset:r}:{tile:s,offset:o}}},Lt=class i extends On{constructor(e,t){super(e),this.wrapper=t}isBlock(){return!0}covers(e){return this.children.length?e<0?this.children[0].covers(-1):this.lastChild.covers(1):!1}get domAttrs(){return this.wrapper.attributes}static of(e,t){let n=new i(t||document.createElement(e.tagName),e);return t||(n.flags|=4),n}},pn=class i extends On{constructor(e,t){super(e),this.attrs=t}isLine(){return!0}static start(e,t,n){let r=new i(t||document.createElement("div"),e);return(!t||!n)&&(r.flags|=4),r}get domAttrs(){return this.attrs}resolveInline(e,t,n){let r=null,s=-1,o=null,a=-1;function l(h,f){for(let u=0,O=0;u=f&&(p.isComposite()?l(p,f-O):(!o||o.isHidden&&(t>0&&!(o.flags&32)||n&&W0(o,p)))&&(m>f||p.flags&32)?(o=p,a=f-O):(Or&&(e=r);let s=e,o=e,a=0;e==0&&t<0||e==r&&t>=0?L.chrome||L.gecko||(e?(s--,a=1):o=0)?0:l.length-1];return L.safari&&!a&&c.width==0&&(c=Array.prototype.find.call(l,h=>h.width)||c),n==null?c:hs(c,(a?a>0:t<0)==n)}static of(e,t){let n=new i(t||document.createTextNode(e),e);return t||(n.flags|=2),n}},Ei=class i extends fe{constructor(e,t,n,r){super(e,t,r),this.widget=n}isWidget(){return!0}get isHidden(){return this.widget.isHidden}covers(e){return this.flags&48?!1:(this.flags&(e<0?64:128))>0}coordsIn(e,t){return this.coordsInWidget(e,t,!1)}coordsInWidget(e,t,n){let r=this.widget.coordsAt(this.dom,e,t);if(r)return r;if(n)return hs(this.dom.getBoundingClientRect(),this.length?e==0:t<=0);{let s=this.dom.getClientRects(),o=null;if(!s.length)return null;let a=this.flags&16?!0:this.flags&32?!1:e>0;for(let l=a?s.length-1:0;o=s[l],!(e>0?l==0:l==s.length-1||o.top0==n)}},ga=class{constructor(e){this.index=0,this.beforeBreak=!1,this.parents=[],this.tile=e}advance(e,t,n){let{tile:r,index:s,beforeBreak:o,parents:a}=this;for(;e||t>0;)if(r.isComposite())if(o){if(!e)break;n&&n.break(),e--,o=!1}else if(s==r.children.length){if(!e&&!a.length)break;n&&n.leave(r),o=!!r.breakAfter,{tile:r,index:s}=a.pop(),s++}else{let l=r.children[s],c=l.breakAfter;(t>0?l.length<=e:l.length=0;a--){let l=t.marks[a],c=r.lastChild;if(c instanceof Ve&&c.mark.eq(l.mark))c.dom!=l.dom&&c.setDOM(na(l.dom)),r=c;else{if(this.cache.reused.get(l)){let f=fe.get(l.dom);f&&f.setDOM(na(l.dom))}let h=Ve.of(l.mark,l.dom);r.append(h),r=h}this.cache.reused.set(l,2)}let s=fe.get(e.text);s&&this.cache.reused.set(s,2);let o=new Ri(e.text,e.text.nodeValue);o.flags|=8,this.pos=e.range.toB,r.append(o)}addInlineWidget(e,t,n){let r=this.afterWidget&&e.flags&48&&(this.afterWidget.flags&48)==(e.flags&48);r||this.flushBuffer();let s=this.ensureMarks(t,n);!r&&!(e.flags&16)&&s.append(this.getBuffer(1)),s.append(e),this.pos+=e.length,this.afterWidget=e}addMark(e,t,n){this.flushBuffer(),this.ensureMarks(t,n).append(e),this.pos+=e.length,this.afterWidget=null}addBlockWidget(e){this.getBlockPos().append(e),this.pos+=e.length,this.lastBlock=e,this.endLine()}continueWidget(e){let t=this.afterWidget||this.lastBlock;t.length+=e,this.pos+=e}addLineStart(e,t){var n;e||(e=Su);let r=pn.start(e,t||((n=this.cache.find(pn))===null||n===void 0?void 0:n.dom),!!t);this.getBlockPos().append(this.lastBlock=this.curLine=r)}addLine(e){this.getBlockPos().append(e),this.pos+=e.length,this.lastBlock=e,this.endLine()}addBreak(){this.lastBlock.flags|=1,this.endLine(),this.pos++}addLineStartIfNotCovered(e){this.blockPosCovered()||this.addLineStart(e)}ensureLine(e){this.curLine||this.addLineStart(e)}ensureMarks(e,t){var n;let r=this.curLine;for(let s=e.length-1;s>=0;s--){let o=e[s],a;if(t>0&&(a=r.lastChild)&&a instanceof Ve&&a.mark.eq(o))r=a,t--;else{let l=Ve.of(o,(n=this.cache.find(Ve,c=>c.mark.eq(o)))===null||n===void 0?void 0:n.dom);r.append(l),r=l,t=0}}return r}endLine(){if(this.curLine){this.flushBuffer();let e=this.curLine.lastChild;(!e||!Tf(this.curLine,!1)||e.dom.nodeName!="BR"&&e.isWidget()&&!(L.ios&&Tf(this.curLine,!0)))&&this.curLine.append(this.cache.findWidget(ra,0,32)||new Ei(ra.toDOM(),0,ra,32)),this.curLine=this.afterWidget=null}}updateBlockWrappers(){this.wrapperPos>this.pos+1e4&&(this.blockWrappers.goto(this.pos),this.wrappers.length=0);for(let e=this.wrappers.length-1;e>=0;e--)this.wrappers[e].to=this.pos){let t=e.rank*102+e.value.rank,n=new Qa(e.from,e.to,e.value,t),r=this.wrappers.length;for(;r>0&&(this.wrappers[r-1].rank-n.rank||this.wrappers[r-1].to-n.to)<0;)r--;this.wrappers.splice(r,0,n)}this.wrapperPos=this.pos}getBlockPos(){var e;this.updateBlockWrappers();let t=this.root;for(let n of this.wrappers){let r=t.lastChild;if(n.fromo.wrapper.eq(n.wrapper)))===null||e===void 0?void 0:e.dom);t.append(s),t=s}}return t}blockPosCovered(){let e=this.lastBlock;return e!=null&&!e.breakAfter&&(!e.isWidget()||(e.flags&160)>0)}getBuffer(e){let t=2|(e<0?16:32),n=this.cache.find(mn,void 0,1);return n&&(n.flags=t),n||new mn(t)}flushBuffer(){this.afterWidget&&!(this.afterWidget.flags&32)&&(this.afterWidget.parent.append(this.getBuffer(-1)),this.afterWidget=null)}},Sa=class{constructor(e){this.skipCount=0,this.text="",this.textOff=0,this.cursor=e.iter()}skip(e){this.textOff+e<=this.text.length?this.textOff+=e:(this.skipCount+=e-(this.text.length-this.textOff),this.text="",this.textOff=0)}next(e){if(this.textOff==this.text.length){let{value:r,lineBreak:s,done:o}=this.cursor.next(this.skipCount);if(this.skipCount=0,o)throw new Error("Ran out of text content when drawing inline views");this.text=r;let a=this.textOff=Math.min(e,r.length);return s?null:r.slice(0,a)}let t=Math.min(this.text.length,this.textOff+e),n=this.text.slice(this.textOff,t);return this.textOff=t,n}},us=[Ei,pn,Ri,Ve,mn,Lt,dn];for(let i=0;i[]),this.index=us.map(()=>0),this.reused=new Map}add(e){let t=e.constructor.bucket,n=this.buckets[t];n.length<6?n.push(e):n[this.index[t]=(this.index[t]+1)%6]=e}find(e,t,n=2){let r=e.bucket,s=this.buckets[r],o=this.index[r];for(let a=0;a{if(this.cache.add(o),o.isComposite())return!1},enter:o=>this.cache.add(o),leave:()=>{},break:()=>{}}}run(e,t){let n=t&&this.getCompositionContext(t.text);for(let r=0,s=0,o=0;;){let a=or){let c=l-r;this.preserve(c,!o,!a),r=l,s+=c}if(!a)break;t&&a.fromA<=t.range.fromA&&a.toA>=t.range.toA?(this.forward(a.fromA,t.range.fromA,t.range.fromA{if(o.isWidget())if(this.openWidget)this.builder.continueWidget(l-a);else{let c=l>0||a{o.isLine()?this.builder.addLineStart(o.attrs,this.cache.maybeReuse(o)):(this.cache.add(o),o instanceof Ve&&r.unshift(o.mark)),this.openWidget=!1},leave:o=>{o.isLine()?r.length&&(r.length=s=0):o instanceof Ve&&(r.shift(),s=Math.min(s,r.length))},break:()=>{this.builder.addBreak(),this.openWidget=!1}}),this.text.skip(e)}emit(e,t){let n=null,r=this.builder,s=-1,o=ae.spans(this.decorations,e,t,{point:(a,l,c,h,f,u)=>{if(c instanceof Ai){if(this.disallowBlockEffectsFor[u]){if(c.block)throw new RangeError("Block decorations may not be specified via plugins");if(l>this.view.state.doc.lineAt(a).to)throw new RangeError("Decorations that replace line breaks may not be specified via plugins")}if(s=h.length,f>h.length)r.continueWidget(l-a);else{let O=c.widget||(c.block?li.block:li.inline),p=j0(c),m=this.cache.findWidget(O,l-a,p)||Ei.of(O,this.view,l-a,p);c.block?(c.startSide>0&&r.addLineStartIfNotCovered(n),r.addBlockWidget(m)):(r.ensureLine(n),r.addInlineWidget(m,h,f))}n=null}else n=V0(n,c);l>a&&this.text.skip(l-a)},span:(a,l,c,h)=>{for(let f=a;f-1&&(this.openWidget=o>s),this.openWidget||r.addLineStartIfNotCovered(n),this.openMarks=o}forward(e,t,n=1){t-e<=10?this.old.advance(t-e,n,this.reuseWalker):(this.old.advance(5,-1,this.reuseWalker),this.old.advance(t-e-10,-1),this.old.advance(5,n,this.reuseWalker))}getCompositionContext(e){let t=[],n=null;for(let r=e.parentNode;;r=r.parentNode){let s=fe.get(r);if(r==this.view.contentDOM)break;s instanceof Ve?t.push(s):s?.isLine()?n=s:s instanceof Lt||(r.nodeName=="DIV"&&!n&&r!=this.view.contentDOM?n=new pn(r,Su):n||t.push(Ve.of(new tr({tagName:r.nodeName.toLowerCase(),attributes:y0(r)}),r)))}return{line:n,marks:t}}};function Tf(i,e){let t=n=>{for(let r of n.children)if((e?r.isText():r.length)||t(r))return!0;return!1};return t(i)}function j0(i){let e=i.isReplace?(i.startSide<0?64:0)|(i.endSide>0?128:0):i.startSide>0?32:16;return i.block&&(e|=256),e}var Su={class:"cm-line"};function V0(i,e){let t=e.spec.attributes,n=e.spec.class;return!t&&!n||(i||(i={class:"cm-line"}),t&&Ia(t,i),n&&(i.class+=" "+n)),i}function D0(i){let e=[];for(let t=i.parents.length;t>1;t--){let n=t==i.parents.length?i.tile:i.parents[t].tile;n instanceof Ve&&e.push(n.mark)}return e}function na(i){let e=fe.get(i);return e&&e.setDOM(i.cloneNode()),i}var li=class extends ve{constructor(e){super(),this.tag=e}eq(e){return e.tag==this.tag}toDOM(){return document.createElement(this.tag)}updateDOM(e){return e.nodeName.toLowerCase()==this.tag}get isHidden(){return!0}};li.inline=new li("span");li.block=new li("div");var ra=new class extends ve{toDOM(){return document.createElement("br")}get isHidden(){return!0}get editable(){return!0}},Os=class{constructor(e){this.view=e,this.decorations=[],this.blockWrappers=[],this.dynamicDecorationMap=[!1],this.domChanged=null,this.hasComposition=null,this.editContextFormatting=Z.none,this.lastCompositionAfterCursor=!1,this.minWidth=0,this.minWidthFrom=0,this.minWidthTo=0,this.impreciseAnchor=null,this.impreciseHead=null,this.forceSelection=!1,this.lastUpdate=Date.now(),this.updateDeco(),this.tile=new dn(e,e.contentDOM),this.updateInner([new gt(0,0,0,e.state.doc.length)],null)}update(e){var t;let n=e.changedRanges;this.minWidth>0&&n.length&&(n.every(({fromA:h,toA:f})=>fthis.minWidthTo)?(this.minWidthFrom=e.changes.mapPos(this.minWidthFrom,1),this.minWidthTo=e.changes.mapPos(this.minWidthTo,1)):this.minWidth=this.minWidthFrom=this.minWidthTo=0),this.updateEditContextFormatting(e);let r=-1;this.view.inputState.composing>=0&&!this.view.observer.editContext&&(!((t=this.domChanged)===null||t===void 0)&&t.newSel?r=this.domChanged.newSel.head:!H0(e.changes,this.hasComposition)&&!e.selectionSet&&(r=e.state.selection.main.head));let s=r>-1?I0(this.view,e.changes,r):null;if(this.domChanged=null,this.hasComposition){let{from:h,to:f}=this.hasComposition;n=new gt(h,f,e.changes.mapPos(h,-1),e.changes.mapPos(f,1)).addToSet(n.slice())}this.hasComposition=s?{from:s.range.fromB,to:s.range.toB}:null,(L.ie||L.chrome)&&!s&&e&&e.state.doc.lines!=e.startState.doc.lines&&(this.forceSelection=!0);let o=this.decorations,a=this.blockWrappers;this.updateDeco();let l=G0(o,this.decorations,e.changes);l.length&&(n=gt.extendWithRanges(n,l));let c=N0(a,this.blockWrappers,e.changes);return c.length&&(n=gt.extendWithRanges(n,c)),s&&!n.some(h=>h.fromA<=s.range.fromA&&h.toA>=s.range.toA)&&(n=s.range.addToSet(n.slice())),this.tile.flags&2&&n.length==0?!1:(this.updateInner(n,s),e.transactions.length&&(this.lastUpdate=Date.now()),!0)}updateInner(e,t){this.view.viewState.mustMeasureContent=!0;let{observer:n}=this.view;n.ignore(()=>{if(t||e.length){let o=this.tile,a=new ka(this.view,o,this.blockWrappers,this.decorations,this.dynamicDecorationMap);t&&fe.get(t.text)&&a.cache.reused.set(fe.get(t.text),2),this.tile=a.run(e,t),xa(o,a.cache.reused)}this.tile.dom.style.height=this.view.viewState.contentHeight/this.view.scaleY+"px",this.tile.dom.style.flexBasis=this.minWidth?this.minWidth+"px":"";let s=L.chrome||L.ios?{node:n.selectionRange.focusNode,written:!1}:void 0;this.tile.sync(s),s&&(s.written||n.selectionRange.focusNode!=s.node||!this.tile.dom.contains(s.node))&&(this.forceSelection=!0),this.tile.dom.style.height=""});let r=[];if(this.view.viewport.from||this.view.viewport.to-1)&&Gn(n,this.view.observer.selectionRange)&&!(r&&n.contains(r));if(!(s||t||o))return;let a=this.forceSelection;this.forceSelection=!1;let l=this.view.state.selection.main,c,h;if(l.empty?h=c=this.inlineDOMNearPos(l.anchor,l.assoc||1):(h=this.inlineDOMNearPos(l.head,l.head==l.from?1:-1),c=this.inlineDOMNearPos(l.anchor,l.anchor==l.from?1:-1)),L.gecko&&l.empty&&!this.hasComposition&&Y0(c)){let u=document.createTextNode("");this.view.observer.ignore(()=>c.node.insertBefore(u,c.node.childNodes[c.offset]||null)),c=h=new Tt(u,0),a=!0}let f=this.view.observer.selectionRange;(a||!f.focusNode||(!Nn(c.node,c.offset,f.anchorNode,f.anchorOffset)||!Nn(h.node,h.offset,f.focusNode,f.focusOffset))&&!this.suppressWidgetCursorChange(f,l))&&(this.view.observer.ignore(()=>{L.android&&L.chrome&&n.contains(f.focusNode)&&F0(f.focusNode,n)&&(n.blur(),n.focus({preventScroll:!0}));let u=nr(this.view.root);if(u)if(l.empty){if(L.gecko){let O=B0(c.node,c.offset);if(O&&O!=3){let p=(O==1?Jf:eu)(c.node,c.offset);p&&(c=new Tt(p.node,p.offset))}}u.collapse(c.node,c.offset),l.bidiLevel!=null&&u.caretBidiLevel!==void 0&&(u.caretBidiLevel=l.bidiLevel)}else if(u.extend){u.collapse(c.node,c.offset);try{u.extend(h.node,h.offset)}catch{}}else{let O=document.createRange();l.anchor>l.head&&([c,h]=[h,c]),O.setEnd(h.node,h.offset),O.setStart(c.node,c.offset),u.removeAllRanges(),u.addRange(O)}o&&this.view.root.activeElement==n&&(n.blur(),r&&r.focus())}),this.view.observer.setSelectionRange(c,h)),this.impreciseAnchor=c.precise?null:new Tt(f.anchorNode,f.anchorOffset),this.impreciseHead=h.precise?null:new Tt(f.focusNode,f.focusOffset)}suppressWidgetCursorChange(e,t){return this.hasComposition&&t.empty&&Nn(e.focusNode,e.focusOffset,e.anchorNode,e.anchorOffset)&&this.posFromDOM(e.focusNode,e.focusOffset)==t.head}enforceCursorAssoc(){if(this.hasComposition)return;let{view:e}=this,t=e.state.selection.main,n=nr(e.root),{anchorNode:r,anchorOffset:s}=e.observer.selectionRange;if(!n||!t.empty||!t.assoc||!n.modify)return;let o=this.lineAt(t.head,t.assoc);if(!o)return;let a=o.posAtStart;if(t.head==a||t.head==a+o.length)return;let l=this.coordsAt(t.head,-1),c=this.coordsAt(t.head,1);if(!l||!c||l.bottom>c.top)return;let h=this.domAtPos(t.head+t.assoc,t.assoc);n.collapse(h.node,h.offset),n.modify("move",t.assoc<0?"forward":"backward","lineboundary"),e.observer.readSelectionRange();let f=e.observer.selectionRange;e.docView.posFromDOM(f.anchorNode,f.anchorOffset)!=t.from&&n.collapse(r,s)}posFromDOM(e,t){let n=this.tile.nearest(e);if(!n)return this.tile.dom.compareDocumentPosition(e)&2?0:this.view.state.doc.length;let r=n.posAtStart;if(n.isComposite()){let s;if(e==n.dom)s=n.dom.childNodes[t];else{let o=Mt(e)==0?0:t==0?-1:1;for(;;){let a=e.parentNode;if(a==n.dom)break;o==0&&a.firstChild!=a.lastChild&&(e==a.firstChild?o=-1:o=1),e=a}o<0?s=e:s=e.nextSibling}if(s==n.dom.firstChild)return r;for(;s&&!fe.get(s);)s=s.nextSibling;if(!s)return r+n.length;for(let o=0,a=r;;o++){let l=n.children[o];if(l.dom==s)return a;a+=l.length+l.breakAfter}}else return n.isText()?e==n.dom?r+t:r+(t?n.length:0):r}domAtPos(e,t){let{tile:n,offset:r}=this.tile.resolveBlock(e,t);return n.isWidget()?n.domPosFor(r,t):n.domIn(r,t)}inlineDOMNearPos(e,t){let n,r=-1,s=!1,o,a=-1,l=!1;return this.tile.blockTiles((c,h)=>{if(c.isWidget()){if(c.flags&32&&h>=e)return!0;c.flags&16&&(s=!0)}else{let f=h+c.length;if(h<=e&&(n=c,r=e-h,s=f=e&&!o&&(o=c,a=e-h,l=h>e),h>e&&o)return!0}}),!n&&!o?this.domAtPos(e,t):(s&&o?n=null:l&&n&&(o=null),n&&t<0||!o?n.domIn(r,t):o.domIn(a,t))}coordsAt(e,t,n){let{tile:r,offset:s}=this.tile.resolveBlock(e,t);return r.isWidget()?r.widget instanceof Kn?null:r.coordsInWidget(s,t,!0):r.coordsIn(s,t,n)}lineAt(e,t){let{tile:n}=this.tile.resolveBlock(e,t);return n.isLine()?n:null}coordsForChar(e){let{tile:t,offset:n}=this.tile.resolveBlock(e,1);if(!t.isLine())return null;function r(s,o){if(s.isComposite())for(let a of s.children){if(a.length>=o){let l=r(a,o);if(l)return l}if(o-=a.length,o<0)break}else if(s.isText()&&oMath.max(this.view.scrollDOM.clientWidth,this.minWidth)+1,a=-1,l=this.view.textDirection==ue.LTR,c=0,h=(f,u,O)=>{for(let p=0;pr);p++){let m=f.children[p],b=u+m.length,g=m.dom.getBoundingClientRect(),{height:Q}=g;if(O&&!p&&(c+=g.top-O.top),m instanceof Lt)b>n&&h(m,u,g);else if(u>=n&&(c>0&&t.push(-c),t.push(Q+c),c=0,o)){let S=m.dom.lastChild,x=S?os(S):[];if(x.length){let v=x[x.length-1],$=l?v.right-g.left:g.right-v.left;$>a&&(a=$,this.minWidth=s,this.minWidthFrom=u,this.minWidthTo=b)}}O&&p==f.children.length-1&&(c+=O.bottom-g.bottom),u=b+m.breakAfter}};return h(this.tile,0,null),t}textDirectionAt(e){let{tile:t}=this.tile.resolveBlock(e,1);return getComputedStyle(t.dom).direction=="rtl"?ue.RTL:ue.LTR}measureTextSize(){let e=this.tile.blockTiles(o=>{if(o.isLine()&&o.children.length&&o.length<=20){let a=0,l;for(let c of o.children){if(!c.isText()||/[^ -~]/.test(c.text))return;let h=os(c.dom);if(h.length!=1)return;a+=h[0].width,l=h[0].height}if(a)return{lineHeight:o.dom.getBoundingClientRect().height,charWidth:a/o.length,textHeight:l}}});if(e)return e;let t=document.createElement("div"),n,r,s;return t.className="cm-line",t.style.width="99999px",t.style.position="absolute",t.textContent="abc def ghi jkl mno pqr stu",this.view.observer.ignore(()=>{this.tile.dom.appendChild(t);let o=os(t.firstChild)[0];n=t.getBoundingClientRect().height,r=o&&o.width?o.width/27:7,s=o&&o.height?o.height:n,t.remove()}),{lineHeight:n,charWidth:r,textHeight:s}}computeBlockGapDeco(){let e=[],t=this.view.viewState;for(let n=0,r=0;;r++){let s=r==t.viewports.length?null:t.viewports[r],o=s?s.from-1:this.view.state.doc.length;if(o>n){let a=(t.lineBlockAt(o).bottom-t.lineBlockAt(n).top)/this.view.scaleY;e.push(Z.replace({widget:new Kn(a),block:!0,inclusive:!0,isBlockGap:!0}).range(n,o))}if(!s)break;n=s.to+1}return Z.set(e)}updateDeco(){let e=1,t=this.view.state.facet(ys).map(s=>(this.dynamicDecorationMap[e++]=typeof s=="function")?s(this.view):s),n=!1,r=this.view.state.facet(Ha).map((s,o)=>{let a=typeof s=="function";return a&&(n=!0),a?s(this.view):s});for(r.length&&(this.dynamicDecorationMap[e++]=n,t.push(ae.join(r))),this.decorations=[this.editContextFormatting,...t,this.computeBlockGapDeco(),this.view.viewState.lineGapDeco];etypeof s=="function"?s(this.view):s)}scrollIntoView(e){if(e.isSnapshot){let c=this.view.viewState.lineBlockAt(e.range.head);this.view.scrollDOM.scrollTop=c.top-e.yMargin,this.view.scrollDOM.scrollLeft=e.xMargin;return}for(let c of this.view.state.facet(Ou))try{if(c(this.view,e.range,e))return!0}catch(h){lt(this.view.state,h,"scroll handler")}let{range:t}=e,n=this.coordsAt(t.head,t.assoc||(t.head>t.anchor?-1:1)),r;if(!n)return;!t.empty&&(r=this.coordsAt(t.anchor,t.anchor>t.head?-1:1))&&(n={left:Math.min(n.left,r.left),top:Math.min(n.top,r.top),right:Math.max(n.right,r.right),bottom:Math.max(n.bottom,r.bottom)});let s=bu(this.view),o={left:n.left-s.left,top:n.top-s.top,right:n.right+s.right,bottom:n.bottom+s.bottom},{offsetWidth:a,offsetHeight:l}=this.view.scrollDOM;if(w0(this.view.scrollDOM,o,t.head1&&(n.top>window.pageYOffset+window.visualViewport.offsetTop+window.visualViewport.height||n.bottomn.isWidget()||n.children.some(t);return t(this.tile.resolveBlock(e,1).tile)}destroy(){xa(this.tile)}};function xa(i,e){let t=e?.get(i);if(t!=1){t==null&&i.destroy();for(let n of i.children)xa(n,e)}}function Y0(i){return i.node.nodeType==1&&i.node.firstChild&&(i.offset==0||i.node.childNodes[i.offset-1].contentEditable=="false")&&(i.offset==i.node.childNodes.length||i.node.childNodes[i.offset].contentEditable=="false")}function yu(i,e){let t=i.observer.selectionRange;if(!t.focusNode)return null;let n=Jf(t.focusNode,t.focusOffset),r=eu(t.focusNode,t.focusOffset),s=n||r;if(r&&n&&r.node!=n.node){let a=fe.get(r.node);if(!a||a.isText()&&a.text!=r.node.nodeValue)s=r;else if(i.docView.lastCompositionAfterCursor){let l=fe.get(n.node);!l||l.isText()&&l.text!=n.node.nodeValue||(s=r)}}if(i.docView.lastCompositionAfterCursor=s!=n,!s)return null;let o=e-s.offset;return{from:o,to:o+s.node.nodeValue.length,node:s.node}}function I0(i,e,t){let n=yu(i,t);if(!n)return null;let{node:r,from:s,to:o}=n,a=r.nodeValue;if(/[\n\r]/.test(a)||i.state.doc.sliceString(n.from,n.to)!=a)return null;let l=e.invertedDesc;return{range:new gt(l.mapPos(s),l.mapPos(o),s,o),text:r}}function B0(i,e){return i.nodeType!=1?0:(e&&i.childNodes[e-1].contentEditable=="false"?1:0)|(e{ne.from&&(t=!0)}),t}var Kn=class extends ve{constructor(e){super(),this.height=e}toDOM(){let e=document.createElement("div");return e.className="cm-gap",this.updateDOM(e),e}eq(e){return e.height==this.height}updateDOM(e){return e.style.height=this.height+"px",!0}get editable(){return!0}get estimatedHeight(){return this.height}ignoreEvent(){return!1}};function K0(i,e,t=1){let n=i.charCategorizer(e),r=i.doc.lineAt(e),s=e-r.from;if(r.length==0)return P.cursor(e);s==0?t=1:s==r.length&&(t=-1);let o=s,a=s;t<0?o=ke(r.text,s,!1):a=ke(r.text,s);let l=n(r.text.slice(o,a));for(;o>0;){let c=ke(r.text,o,!1);if(n(r.text.slice(c,o))!=l)break;o=c}for(;ai.defaultLineHeight*1.5){let a=i.viewState.heightOracle.textHeight,l=Math.floor((r-t.top-(i.defaultLineHeight-a)*.5)/a);s+=l*i.viewState.heightOracle.lineLength}let o=i.state.sliceDoc(t.from,t.to);return t.from+pf(o,s,i.state.tabSize)}function eQ(i,e,t){let n=i.lineBlockAt(e);if(Array.isArray(n.type)){let r;for(let s of n.type){if(s.from>e)break;if(!(s.toe)return s;(!r||s.type==ct.Text&&(r.type!=s.type||(t<0?s.frome)))&&(r=s)}}return r||n}return n}function tQ(i,e,t,n){let r=eQ(i,e.head,e.assoc||-1),s=!n||r.type!=ct.Text||!(i.lineWrapping||r.widgetLineBreaks)?null:i.coordsAtPos(e.assoc<0&&e.head>r.from?e.head-1:e.head);if(s){let o=i.dom.getBoundingClientRect(),a=i.textDirectionAt(r.from),l=i.posAtCoords({x:t==(a==ue.LTR)?o.right-1:o.left+1,y:(s.top+s.bottom)/2});if(l!=null)return P.cursor(l,t?-1:1)}return P.cursor(t?r.to:r.from,t?-1:1)}function Cf(i,e,t,n){let r=i.state.doc.lineAt(e.head),s=i.bidiSpans(r),o=i.textDirectionAt(r.from);for(let a=e,l=null;;){let c=Z0(r,s,o,a,t),h=su;if(!c){if(r.number==(t?i.state.doc.lines:1))return a;h=` +`,r=i.state.doc.line(r.number+(t?1:-1)),s=i.bidiSpans(r),c=i.visualLineSide(r,!t)}if(l){if(!l(h))return a}else{if(!n)return c;l=n(h)}a=c}}function iQ(i,e,t){let n=i.state.charCategorizer(e),r=n(t);return s=>{let o=n(s);return r==qe.Space&&(r=o),r==o}}function nQ(i,e,t,n){let r=e.head,s=t?1:-1;if(r==(t?i.state.doc.length:0))return P.cursor(r,e.assoc);let o=e.goalColumn,a,l=i.contentDOM.getBoundingClientRect(),c=i.coordsAtPos(r,e.assoc||((e.empty?t:e.head==e.from)?1:-1)),h=i.documentTop;if(c)o==null&&(o=c.left-l.left),a=s<0?c.top:c.bottom;else{let p=i.viewState.lineBlockAt(r);o==null&&(o=Math.min(l.right-l.left,i.defaultCharacterWidth*(r-p.from))),a=(s<0?p.top:p.bottom)+h}let f=l.left+o,u=i.viewState.heightOracle.textHeight>>1,O=n??u;for(let p=0;;p+=u){let m=a+(O+p)*s,b=Pa(i,{x:f,y:m},!1,s);if(t?m>l.bottom:ma:Q{if(e>s&&er(i)),t.from,e.head>t.from?-1:1);return n==t.from?t:P.cursor(n,ni.viewState.docHeight)return new ot(i.state.doc.length,-1);if(c=i.elementAtHeight(l),n==null)break;if(c.type==ct.Text){if(n<0?c.toi.viewport.to)break;let u=i.docView.coordsAt(n<0?c.from:c.to,n>0?-1:1);if(u&&(n<0?u.top<=l+s:u.bottom>=l+s))break}let f=i.viewState.heightOracle.textHeight/2;l=n>0?c.bottom+f:c.top-f}if(i.viewport.from>=c.to||i.viewport.to<=c.from){if(t)return null;if(c.type==ct.Text){let f=J0(i,r,c,o,a);return new ot(f,f==c.from?1:-1)}}if(c.type!=ct.Text)return l<(c.top+c.bottom)/2?new ot(c.from,1):new ot(c.to,-1);let h=i.docView.lineAt(c.from,2);return(!h||h.length!=c.length)&&(h=i.docView.lineAt(c.from,-2)),new va(i,o,a,i.textDirectionAt(c.from)).scanTile(h,c.from)}var va=class{constructor(e,t,n,r){this.view=e,this.x=t,this.y=n,this.baseDir=r,this.line=null,this.spans=null}bidiSpansAt(e){return(!this.line||this.line.from>e||this.line.to1||n.length&&(n[0].level!=this.baseDir||n[0].to+r.from>1;t:if(o.has(m)){let g=r+Math.floor(Math.random()*p);for(let Q=0;Q1)){if(Q.bottomthis.y)(!c||c.top>Q.top)&&(c=Q),S=-1;else{let x=Q.left>this.x?this.x-Q.left:Q.right(p+p+m)/3)return this.y=l.bottom-1,this.scan(e,t,!0);if(c&&c.top<(p+m+m)/3)return this.y=c.top+1,this.scan(e,t,!0)}let O=(a?this.dirAt(e[h],1):this.baseDir)==ue.LTR;return{i:h,after:this.x>(u.left+u.right)/2==O}}scanText(e,t){let n=[];for(let s=0;s{let o=n[s]-t,a=n[s+1]-t;return rr(e.dom,o,a).getClientRects()});return r.after?new ot(n[r.i+1],-1):new ot(n[r.i],1)}scanTile(e,t){if(!e.length)return new ot(t,1);if(e.children.length==1){let a=e.children[0];if(a.isText())return this.scanText(a,t);if(a.isComposite())return this.scanTile(a,t)}let n=[t];for(let a=0,l=t;a{let l=e.children[a];return l.flags&48?null:(l.dom.nodeType==1?l.dom:rr(l.dom,0,l.length)).getClientRects()}),s=e.children[r.i],o=n[r.i];return s.isText()?this.scanText(s,o):s.isComposite()?this.scanTile(s,o):r.after?new ot(n[r.i+1],-1):new ot(o,1)}},ln="\uFFFF",$a=class{constructor(e,t){this.points=e,this.view=t,this.text="",this.lineSeparator=t.state.facet(re.lineSeparator)}append(e){this.text+=e}lineBreak(){this.text+=ln}readRange(e,t){if(!e)return this;let n=e.parentNode;for(let r=e;;){this.findPointBefore(n,r);let s=this.text.length;this.readNode(r);let o=fe.get(r),a=r.nextSibling;if(a==t){o?.breakAfter&&!a&&n!=this.view.contentDOM&&this.lineBreak();break}let l=fe.get(a);(o&&l?o.breakAfter:(o?o.breakAfter:cs(r))||cs(a)&&(r.nodeName!="BR"||o?.isWidget())&&this.text.length>s)&&!sQ(a,t)&&this.lineBreak(),r=a}return this.findPointBefore(n,t),this}readTextNode(e){let t=e.nodeValue;for(let n of this.points)n.node==e&&(n.pos=this.text.length+Math.min(n.offset,t.length));for(let n=0,r=this.lineSeparator?null:/\r\n?|\n/g;;){let s=-1,o=1,a;if(this.lineSeparator?(s=t.indexOf(this.lineSeparator,n),o=this.lineSeparator.length):(a=r.exec(t))&&(s=a.index,o=a[0].length),this.append(t.slice(n,s<0?t.length:s)),s<0)break;if(this.lineBreak(),o>1)for(let l of this.points)l.node==e&&l.pos>this.text.length&&(l.pos-=o-1);n=s+o}}readNode(e){let t=fe.get(e),n=t&&t.overrideDOMText;if(n!=null){this.findPointInside(e,n.length);for(let r=n.iter();!r.next().done;)r.lineBreak?this.lineBreak():this.append(r.value)}else e.nodeType==3?this.readTextNode(e):e.nodeName=="BR"?e.nextSibling&&this.lineBreak():e.nodeType==1&&this.readRange(e.firstChild,null)}findPointBefore(e,t){for(let n of this.points)n.node==e&&e.childNodes[n.offset]==t&&(n.pos=this.text.length)}findPointInside(e,t){for(let n of this.points)(e.nodeType==3?n.node==e:e.contains(n.node))&&(n.pos=this.text.length+(rQ(e,n.node,n.offset)?t:0))}};function rQ(i,e,t){for(;;){if(!e||t-1;let{impreciseHead:s,impreciseAnchor:o}=e.docView,a=e.state.selection;if(e.state.readOnly&&t>-1)this.newSel=null;else if(t>-1&&(this.bounds=xu(e.docView.tile,t,n,0))){let l=s||o?[]:aQ(e),c=new $a(l,e);c.readRange(this.bounds.startDOM,this.bounds.endDOM),this.text=c.text,this.newSel=lQ(l,this.bounds.from)}else{let l=e.observer.selectionRange,c=s&&s.node==l.focusNode&&s.offset==l.focusOffset||!fa(e.contentDOM,l.focusNode)?a.main.head:e.docView.posFromDOM(l.focusNode,l.focusOffset),h=o&&o.node==l.anchorNode&&o.offset==l.anchorOffset||!fa(e.contentDOM,l.anchorNode)?a.main.anchor:e.docView.posFromDOM(l.anchorNode,l.anchorOffset),f=e.viewport;if((L.ios||L.chrome)&&c!=h&&Math.min(c,h)<=a.main.from&&Math.max(c,h)>=a.main.to&&(f.from>0||f.to-1&&a.ranges.length>1)this.newSel=a.replaceRange(P.range(h,c));else if(e.lineWrapping&&h==c&&!(a.main.empty&&a.main.head==c)&&e.inputState.lastTouchTime>Date.now()-100){let u=e.coordsAtPos(c,-1),O=0;u&&(O=e.inputState.lastTouchY<=u.bottom?-1:1),this.newSel=P.create([P.cursor(c,O)])}else this.newSel=P.single(h,c)}}};function xu(i,e,t,n){if(i.isComposite()){let r=-1,s=-1,o=-1,a=-1;for(let l=0,c=n,h=n;lt)return xu(f,e,t,c);if(u>=e&&r==-1&&(r=l,s=c),c>t&&f.dom.parentNode==i.dom){o=l,a=h;break}h=u,c=u+f.breakAfter}return{from:s,to:a<0?n+i.length:a,startDOM:(r?i.children[r-1].dom.nextSibling:null)||i.dom.firstChild,endDOM:o=0?i.children[o].dom:null}}else return i.isText()?{from:n,to:n+i.length,startDOM:i.dom,endDOM:i.dom.nextSibling}:null}function wu(i,e){let t,{newSel:n}=e,{state:r}=i,s=r.selection.main,o=i.inputState.lastKeyTime>Date.now()-100?i.inputState.lastKeyCode:-1;if(e.bounds){let{from:a,to:l}=e.bounds,c=s.from,h=null;(o===8||L.android&&e.text.length=a&&s.to<=l&&(e.typeOver||f!=e.text)&&f.slice(0,s.from-a)==e.text.slice(0,s.from-a)&&f.slice(s.to-a)==e.text.slice(u=e.text.length-(f.length-(s.to-a)))?t={from:s.from,to:s.to,insert:K.of(e.text.slice(s.from-a,u).split(ln))}:(O=Pu(f,e.text,c-a,h))&&(L.chrome&&o==13&&O.toB==O.from+2&&e.text.slice(O.from,O.toB)==ln+ln&&O.toB--,t={from:a+O.from,to:a+O.toA,insert:K.of(e.text.slice(O.from,O.toB).split(ln))})}else n&&(!i.hasFocus&&r.facet(zt)||ps(n,s))&&(n=null);if(!t&&!n)return!1;if((L.mac||L.android)&&t&&t.from==t.to&&t.from==s.head-1&&/^\. ?$/.test(t.insert.toString())&&i.contentDOM.getAttribute("autocorrect")=="off"?(n&&t.insert.length==2&&(n=P.single(n.main.anchor-1,n.main.head-1)),t={from:t.from,to:t.to,insert:K.of([t.insert.toString().replace("."," ")])}):r.doc.lineAt(s.from).toDate.now()-50?t={from:s.from,to:s.to,insert:r.toText(i.inputState.insertingText)}:L.chrome&&t&&t.from==t.to&&t.from==s.head&&t.insert.toString()==` + `&&i.lineWrapping&&(n&&(n=P.single(n.main.anchor-1,n.main.head-1)),t={from:s.from,to:s.to,insert:K.of([" "])}),t)return Ka(i,t,n,o);if(n&&!ps(n,s)){let a=!1,l="select";return i.inputState.lastSelectionTime>Date.now()-50&&(i.inputState.lastSelectionOrigin=="select"&&(a=!0),l=i.inputState.lastSelectionOrigin,l=="select.pointer"&&(n=ku(r.facet(sr).map(c=>c(i)),n))),i.dispatch({selection:n,scrollIntoView:a,userEvent:l}),!0}else return!1}function Ka(i,e,t,n=-1){if(L.ios&&i.inputState.flushIOSKey(e))return!0;let r=i.state.selection.main;if(L.android&&(e.to==r.to&&(e.from==r.from||e.from==r.from-1&&i.state.sliceDoc(e.from,r.from)==" ")&&e.insert.length==1&&e.insert.lines==2&&un(i.contentDOM,"Enter",13)||(e.from==r.from-1&&e.to==r.to&&e.insert.length==0||n==8&&e.insert.lengthr.head)&&un(i.contentDOM,"Backspace",8)||e.from==r.from&&e.to==r.to+1&&e.insert.length==0&&un(i.contentDOM,"Delete",46)))return!0;let s=e.insert.toString();i.inputState.composing>=0&&i.inputState.composing++;let o,a=()=>o||(o=oQ(i,e,t));return i.state.facet(hu).some(l=>l(i,e.from,e.to,s,a))||i.dispatch(a()),!0}function oQ(i,e,t){let n,r=i.state,s=r.selection.main,o=-1;if(e.from==e.to&&e.froms.to){let l=e.fromf(i)),c,l);e.from==h&&(o=h)}if(o>-1)n={changes:e,selection:P.cursor(e.from+e.insert.length,-1)};else if(e.from>=s.from&&e.to<=s.to&&e.to-e.from>=(s.to-s.from)/3&&(!t||t.main.empty&&t.main.from==e.from+e.insert.length)&&i.inputState.composing<0){let l=s.frome.to?r.sliceDoc(e.to,s.to):"";n=r.replaceSelection(i.state.toText(l+e.insert.sliceString(0,void 0,i.state.lineBreak)+c))}else{let l=r.changes(e),c=t&&t.main.to<=l.newLength?t.main:void 0;if(r.selection.ranges.length>1&&(i.inputState.composing>=0||i.inputState.compositionPendingChange)&&e.to<=s.to+10&&e.to>=s.to-10){let h=i.state.sliceDoc(e.from,e.to),f,u=t&&yu(i,t.main.head);if(u){let p=e.insert.length-(e.to-e.from);f={from:u.from,to:u.to-p}}else f=i.state.doc.lineAt(s.head);let O=s.to-e.to;n=r.changeByRange(p=>{if(p.from==s.from&&p.to==s.to)return{changes:l,range:c||p.map(l)};let m=p.to-O,b=m-h.length;if(i.state.sliceDoc(b,m)!=h||m>=f.from&&b<=f.to)return{range:p};let g=r.changes({from:b,to:m,insert:e.insert}),Q=p.to-s.to;return{changes:g,range:c?P.range(Math.max(0,c.anchor+Q),Math.max(0,c.head+Q)):p.map(g)}})}else n={changes:l,selection:c&&r.selection.replaceRange(c)}}let a="input.type";return(i.composing||i.inputState.compositionPendingChange&&i.inputState.compositionEndedAt>Date.now()-50)&&(i.inputState.compositionPendingChange=!1,a+=".compose",i.inputState.compositionFirstChange&&(a+=".start",i.inputState.compositionFirstChange=!1)),r.update(n,{userEvent:a,scrollIntoView:!0})}function Pu(i,e,t,n){let r=Math.min(i.length,e.length),s=0;for(;s0&&a>0&&i.charCodeAt(o-1)==e.charCodeAt(a-1);)o--,a--;if(n=="end"){let l=Math.max(0,s-Math.min(o,a));t-=o+l-s}if(o=o?s-t:0;s-=l,a=s+(a-o),o=s}else if(a=a?s-t:0;s-=l,o=s+(o-a),a=s}return{from:s,toA:o,toB:a}}function aQ(i){let e=[];if(i.root.activeElement!=i.contentDOM)return e;let{anchorNode:t,anchorOffset:n,focusNode:r,focusOffset:s}=i.observer.selectionRange;return t&&(e.push(new ds(t,n)),(r!=t||s!=n)&&e.push(new ds(r,s))),e}function lQ(i,e){if(i.length==0)return null;let t=i[0].pos,n=i.length==2?i[1].pos:t;return t>-1&&n>-1?P.single(t+e,n+e):null}function ps(i,e){return e.head==i.main.head&&e.anchor==i.main.anchor}var Ca=class{setSelectionOrigin(e){this.lastSelectionOrigin=e,this.lastSelectionTime=Date.now()}constructor(e){this.view=e,this.lastKeyCode=0,this.lastKeyTime=0,this.touchActive=!1,this.lastTouchTime=0,this.lastTouchX=0,this.lastTouchY=0,this.lastFocusTime=0,this.lastScrollTop=0,this.lastScrollLeft=0,this.lastWheelEvent=0,this.pendingIOSKey=void 0,this.lastIOSMomentumScroll=0,this.tabFocusMode=-1,this.lastSelectionOrigin=null,this.lastSelectionTime=0,this.lastContextMenu=0,this.scrollHandlers=[],this.handlers=Object.create(null),this.composing=-1,this.compositionFirstChange=null,this.compositionEndedAt=0,this.compositionPendingKey=!1,this.compositionPendingChange=!1,this.insertingText="",this.insertingTextAt=0,this.mouseSelection=null,this.draggedContent=null,this.handleEvent=this.handleEvent.bind(this),this.notifiedFocused=e.hasFocus,L.safari&&e.contentDOM.addEventListener("input",()=>null),L.gecko&&xQ(e.contentDOM.ownerDocument)}handleEvent(e){!mQ(this.view,e)||this.ignoreDuringComposition(e)||e.type=="keydown"&&this.keydown(e)||(this.view.updateState!=0?Promise.resolve().then(()=>this.runHandlers(e.type,e)):this.runHandlers(e.type,e))}runHandlers(e,t){let n=this.handlers[e];if(n){for(let r of n.observers)r(this.view,t);for(let r of n.handlers){if(t.defaultPrevented)break;if(r(this.view,t)){t.preventDefault();break}}}}ensureHandlers(e){let t=hQ(e),n=this.handlers,r=this.view.contentDOM;for(let s in t)if(s!="scroll"){let o=!t[s].handlers.length,a=n[s];a&&o!=!a.handlers.length&&(r.removeEventListener(s,this.handleEvent),a=null),a||r.addEventListener(s,this.handleEvent,{passive:o})}for(let s in n)s!="scroll"&&!t[s]&&r.removeEventListener(s,this.handleEvent);this.handlers=t}keydown(e){if(this.lastKeyCode=e.keyCode,this.lastKeyTime=Date.now(),e.keyCode==9&&this.tabFocusMode>-1&&(!this.tabFocusMode||Date.now()<=this.tabFocusMode))return!0;if(this.tabFocusMode>0&&e.keyCode!=27&&$u.indexOf(e.keyCode)<0&&(this.tabFocusMode=-1),L.android&&L.chrome&&!e.synthetic&&(e.keyCode==13||e.keyCode==8))return this.view.observer.delayAndroidKey(e.key,e.keyCode),!0;if(L.ios&&!e.synthetic&&!e.altKey&&!e.metaKey&&(vu.some(t=>t.keyCode==e.keyCode)&&!e.ctrlKey||fQ.indexOf(e.key)>-1&&e.ctrlKey)){let t={ctrlKey:e.ctrlKey,altKey:e.altKey,metaKey:e.metaKey,shiftKey:e.shiftKey};return t.shiftKey&&L.ios&&!/^(off|none)$/.test(this.view.contentDOM.autocapitalize)&&cQ(this.view.win)&&(t.shiftKey=!1),this.pendingIOSKey={key:e.key,keyCode:e.keyCode,mods:t},setTimeout(()=>this.flushIOSKey(),250),!0}return e.keyCode!=229&&this.view.observer.forceFlush(),!1}flushIOSKey(e){let t=this.pendingIOSKey;return!t||t.key=="Enter"&&e&&e.from0?!0:L.safari&&!L.ios&&this.compositionPendingKey&&Date.now()-this.compositionEndedAt<100?(this.compositionPendingKey=!1,!0):!1}startMouseSelection(e){this.mouseSelection&&this.mouseSelection.destroy(),this.mouseSelection=e}update(e){this.view.observer.update(e),this.mouseSelection&&this.mouseSelection.update(e),this.draggedContent&&e.docChanged&&(this.draggedContent=this.draggedContent.map(e.changes)),e.transactions.length&&(this.lastKeyCode=this.lastSelectionTime=0)}destroy(){this.mouseSelection&&this.mouseSelection.destroy()}};function cQ(i){return i.visualViewport?i.visualViewport.height*i.visualViewport.scale/i.document.documentElement.clientHeight<.85:!1}function Xf(i,e){return(t,n)=>{try{return e.call(i,n,t)}catch(r){lt(t.state,r)}}}function hQ(i){let e=Object.create(null);function t(n){return e[n]||(e[n]={observers:[],handlers:[]})}for(let n of i){let r=n.spec,s=r&&r.plugin.domEventHandlers,o=r&&r.plugin.domEventObservers;if(s)for(let a in s){let l=s[a];l&&t(a).handlers.push(Xf(n.value,l))}if(o)for(let a in o){let l=o[a];l&&t(a).observers.push(Xf(n.value,l))}}for(let n in Qt)t(n).handlers.push(Qt[n]);for(let n in Me)t(n).observers.push(Me[n]);return e}var vu=[{key:"Backspace",keyCode:8,inputType:"deleteContentBackward"},{key:"Enter",keyCode:13,inputType:"insertParagraph"},{key:"Enter",keyCode:13,inputType:"insertLineBreak"},{key:"Delete",keyCode:46,inputType:"deleteContentForward"}],fQ="dthko",$u=[16,17,18,20,91,92,224,225],es=6;function ts(i){return Math.max(0,i)*.7+8}function uQ(i,e){return Math.max(Math.abs(i.clientX-e.clientX),Math.abs(i.clientY-e.clientY))}var Xa=class{constructor(e,t,n,r){this.view=e,this.startEvent=t,this.style=n,this.mustSelect=r,this.scrollSpeed={x:0,y:0},this.scrolling=-1,this.lastEvent=t,this.scrollParents=Ff(e.contentDOM),this.atoms=e.state.facet(sr).map(o=>o(e));let s=e.contentDOM.ownerDocument;s.addEventListener("mousemove",this.move=this.move.bind(this)),s.addEventListener("mouseup",this.up=this.up.bind(this)),this.extend=t.shiftKey,this.multiple=e.state.facet(re.allowMultipleSelections)&&OQ(e,t),this.dragging=pQ(e,t)&&Xu(t)==1?null:!1}start(e){this.dragging===!1&&this.select(e)}move(e){if(e.buttons==0)return this.destroy();if(this.dragging||this.dragging==null&&uQ(this.startEvent,e)<10)return;this.select(this.lastEvent=e);let t=0,n=0,r=0,s=0,o=this.view.win.innerWidth,a=this.view.win.innerHeight;this.scrollParents.x&&({left:r,right:o}=this.scrollParents.x.getBoundingClientRect()),this.scrollParents.y&&({top:s,bottom:a}=this.scrollParents.y.getBoundingClientRect());let l=bu(this.view);e.clientX-l.left<=r+es?t=-ts(r-e.clientX):e.clientX+l.right>=o-es&&(t=ts(e.clientX-o)),e.clientY-l.top<=s+es?n=-ts(s-e.clientY):e.clientY+l.bottom>=a-es&&(n=ts(e.clientY-a)),this.setScrollSpeed(t,n)}up(e){this.dragging==null&&this.select(this.lastEvent),this.dragging||e.preventDefault(),this.destroy()}destroy(){this.setScrollSpeed(0,0);let e=this.view.contentDOM.ownerDocument;e.removeEventListener("mousemove",this.move),e.removeEventListener("mouseup",this.up),this.view.inputState.mouseSelection=this.view.inputState.draggedContent=null}setScrollSpeed(e,t){this.scrollSpeed={x:e,y:t},e||t?this.scrolling<0&&(this.scrolling=setInterval(()=>this.scroll(),50)):this.scrolling>-1&&(clearInterval(this.scrolling),this.scrolling=-1)}scroll(){let{x:e,y:t}=this.scrollSpeed;e&&this.scrollParents.x&&(this.scrollParents.x.scrollLeft+=e,e=0),t&&this.scrollParents.y&&(this.scrollParents.y.scrollTop+=t,t=0),(e||t)&&this.view.win.scrollBy(e,t),this.dragging===!1&&this.select(this.lastEvent)}select(e){let{view:t}=this,n=ku(this.atoms,this.style.get(e,this.extend,this.multiple));(this.mustSelect||!n.eq(t.state.selection,this.dragging===!1))&&this.view.dispatch({selection:n,userEvent:"select.pointer"}),this.mustSelect=!1}update(e){e.transactions.some(t=>t.isUserEvent("input.type"))?this.destroy():this.style.update(e)&&setTimeout(()=>this.select(this.lastEvent),20)}};function OQ(i,e){let t=i.state.facet(ou);return t.length?t[0](e):L.mac?e.metaKey:e.ctrlKey}function dQ(i,e){let t=i.state.facet(au);return t.length?t[0](e):L.mac?!e.altKey:!e.ctrlKey}function pQ(i,e){let{main:t}=i.state.selection;if(t.empty)return!1;let n=nr(i.root);if(!n||n.rangeCount==0)return!0;let r=n.getRangeAt(0).getClientRects();for(let s=0;s=e.clientX&&o.top<=e.clientY&&o.bottom>=e.clientY)return!0}return!1}function mQ(i,e){if(!e.bubbles)return!0;if(e.defaultPrevented)return!1;for(let t=e.target,n;t!=i.contentDOM;t=t.parentNode)if(!t||t.nodeType==11||(n=fe.get(t))&&n.isWidget()&&!n.isHidden&&n.widget.ignoreEvent(e))return!1;return!0}var Qt=Object.create(null),Me=Object.create(null),Tu=L.ie&&L.ie_version<15||L.ios&&L.webkit_version<604;function gQ(i){let e=i.dom.parentNode;if(!e)return;let t=e.appendChild(document.createElement("textarea"));t.style.cssText="position: fixed; left: -10000px; top: 10px",t.focus(),setTimeout(()=>{i.focus(),t.remove(),Cu(i,t.value)},50)}function ks(i,e,t){for(let n of i.facet(e))t=n(t,i);return t}function Cu(i,e){e=ks(i.state,Ga,e);let{state:t}=i,n,r=1,s=t.toText(e),o=s.lines==t.selection.ranges.length;if(_a!=null&&t.selection.ranges.every(l=>l.empty)&&_a==s.toString()){let l=-1;n=t.changeByRange(c=>{let h=t.doc.lineAt(c.from);if(h.from==l)return{range:c};l=h.from;let f=t.toText((o?s.line(r++).text:e)+t.lineBreak);return{changes:{from:h.from,insert:f},range:P.cursor(c.from+f.length)}})}else o?n=t.changeByRange(l=>{let c=s.line(r++);return{changes:{from:l.from,to:l.to,insert:c.text},range:P.cursor(l.from+c.length)}}):n=t.replaceSelection(s);i.dispatch(n,{userEvent:"input.paste",scrollIntoView:!0})}Me.scroll=i=>{let e=i.inputState;e.lastScrollTop=i.scrollDOM.scrollTop,e.lastScrollLeft=i.scrollDOM.scrollLeft,L.ios&&!e.touchActive&&(e.lastIOSMomentumScroll=Date.now())};Me.wheel=Me.mousewheel=i=>{i.inputState.lastWheelEvent=Date.now()};Qt.keydown=(i,e)=>(i.inputState.setSelectionOrigin("select"),e.keyCode==27&&i.inputState.tabFocusMode!=0&&(i.inputState.tabFocusMode=Date.now()+2e3),!1);Me.touchstart=(i,e)=>{let t=i.inputState,n=e.targetTouches[0];t.touchActive=!0,t.lastTouchTime=Date.now(),n&&(t.lastTouchX=n.clientX,t.lastTouchY=n.clientY),t.setSelectionOrigin("select.pointer")};Me.touchmove=i=>{i.inputState.setSelectionOrigin("select.pointer")};Me.touchend=(i,e)=>{i.inputState.touchActive=!1};Qt.mousedown=(i,e)=>{if(i.observer.flush(),i.inputState.lastTouchTime>Date.now()-2e3)return!1;let t=null;for(let n of i.state.facet(lu))if(t=n(i,e),t)break;if(!t&&e.button==0&&(t=bQ(i,e)),t){let n=!i.hasFocus;i.inputState.startMouseSelection(new Xa(i,e,t,n)),n&&i.observer.ignore(()=>{Hf(i.contentDOM);let s=i.root.activeElement;s&&!s.contains(i.contentDOM)&&s.blur()});let r=i.inputState.mouseSelection;if(r)return r.start(e),r.dragging===!1}else i.inputState.setSelectionOrigin("select.pointer");return!1};function _f(i,e,t,n){if(n==1)return P.cursor(e,t);if(n==2)return K0(i.state,e,t);{let r=i.docView.lineAt(e,t),s=i.state.doc.lineAt(r?r.posAtEnd:e),o=r?r.posAtStart:s.from,a=r?r.posAtEnd:s.to;return aDate.now()-400&&Math.abs(e.clientX-i.clientX)<2&&Math.abs(e.clientY-i.clientY)<2?(Af+1)%3:1}function bQ(i,e){let t=i.posAndSideAtCoords({x:e.clientX,y:e.clientY},!1),n=Xu(e),r=i.state.selection;return{update(s){s.docChanged&&(t.pos=s.changes.mapPos(t.pos),r=r.map(s.changes))},get(s,o,a){let l=i.posAndSideAtCoords({x:s.clientX,y:s.clientY},!1),c,h=_f(i,l.pos,l.assoc,n);if(t.pos!=l.pos&&!o){let f=_f(i,t.pos,t.assoc,n),u=Math.min(f.from,h.from),O=Math.max(f.to,h.to);h=u1&&(c=SQ(r,l.pos))?c:a?r.addRange(h):P.create([h])}}}function SQ(i,e){for(let t=0;t=e)return P.create(i.ranges.slice(0,t).concat(i.ranges.slice(t+1)),i.mainIndex==t?0:i.mainIndex-(i.mainIndex>t?1:0))}return null}Qt.dragstart=(i,e)=>{let{selection:{main:t}}=i.state;if(e.target.draggable){let r=i.docView.tile.nearest(e.target);if(r&&r.isWidget()){let s=r.posAtStart,o=s+r.length;(s>=t.to||o<=t.from)&&(t=P.undirectionalRange(s,o))}}let{inputState:n}=i;return n.mouseSelection&&(n.mouseSelection.dragging=!0),n.draggedContent=t,e.dataTransfer&&(e.dataTransfer.setData("Text",ks(i.state,Na,i.state.sliceDoc(t.from,t.to))),e.dataTransfer.effectAllowed="copyMove"),!1};Qt.dragend=i=>(i.inputState.draggedContent=null,!1);function Ef(i,e,t,n){if(t=ks(i.state,Ga,t),!t)return;let r=i.posAtCoords({x:e.clientX,y:e.clientY},!1),{draggedContent:s}=i.inputState,o=n&&s&&dQ(i,e)?{from:s.from,to:s.to}:null,a={from:r,insert:t},l=i.state.changes(o?[o,a]:a);i.focus(),i.dispatch({changes:l,selection:{anchor:l.mapPos(r,-1),head:l.mapPos(r,1)},userEvent:o?"move.drop":"input.drop"}),i.inputState.draggedContent=null}Qt.drop=(i,e)=>{if(!e.dataTransfer)return!1;if(i.state.readOnly)return!0;let t=e.dataTransfer.files;if(t&&t.length){let n=Array(t.length),r=0,s=()=>{++r==t.length&&Ef(i,e,n.filter(o=>o!=null).join(i.state.lineBreak),!1)};for(let o=0;o{/[\x00-\x08\x0e-\x1f]{2}/.test(a.result)||(n[o]=a.result),s()},a.readAsText(t[o])}return!0}else{let n=e.dataTransfer.getData("Text");if(n)return Ef(i,e,n,!0),!0}return!1};Qt.paste=(i,e)=>{if(i.state.readOnly)return!0;i.observer.flush();let t=Tu?null:e.clipboardData;return t?(Cu(i,t.getData("text/plain")||t.getData("text/uri-list")),!0):(gQ(i),!1)};function yQ(i,e){let t=i.dom.parentNode;if(!t)return;let n=t.appendChild(document.createElement("textarea"));n.style.cssText="position: fixed; left: -10000px; top: 10px",n.value=e,n.focus(),n.selectionEnd=e.length,n.selectionStart=0,setTimeout(()=>{n.remove(),i.focus()},50)}function kQ(i){let e=[],t=[],n=!1;for(let r of i.selection.ranges)r.empty||(e.push(i.sliceDoc(r.from,r.to)),t.push(r));if(!e.length){let r=-1;for(let{from:s}of i.selection.ranges){let o=i.doc.lineAt(s);o.number>r&&(e.push(o.text),t.push({from:o.from,to:Math.min(i.doc.length,o.to+1)})),r=o.number}n=!0}return{text:ks(i,Na,e.join(i.lineBreak)),ranges:t,linewise:n}}var _a=null;Qt.copy=Qt.cut=(i,e)=>{if(!Gn(i.contentDOM,i.observer.selectionRange))return!1;let{text:t,ranges:n,linewise:r}=kQ(i.state);if(!t&&!r)return!1;_a=r?t:null,e.type=="cut"&&!i.state.readOnly&&i.dispatch({changes:n,scrollIntoView:!0,userEvent:"delete.cut"});let s=Tu?null:e.clipboardData;return s?(s.clearData(),s.setData("text/plain",t),!0):(yQ(i,t),!1)};var _u=Re.define();function Ru(i,e){let t=[];for(let n of i.facet(fu)){let r=n(i,e);r&&t.push(r)}return t.length?i.update({effects:t,annotations:_u.of(!0)}):null}function Au(i){setTimeout(()=>{let e=i.hasFocus;if(e!=i.inputState.notifiedFocused){let t=Ru(i.state,e);t?i.dispatch(t):i.update([])}},10)}Me.focus=i=>{i.inputState.lastFocusTime=Date.now(),!i.scrollDOM.scrollTop&&(i.inputState.lastScrollTop||i.inputState.lastScrollLeft)&&(i.scrollDOM.scrollTop=i.inputState.lastScrollTop,i.scrollDOM.scrollLeft=i.inputState.lastScrollLeft),Au(i)};Me.blur=i=>{i.observer.clearSelectionRange(),Au(i)};Me.compositionstart=Me.compositionupdate=i=>{i.observer.editContext||(i.inputState.compositionFirstChange==null&&(i.inputState.compositionFirstChange=!0),i.inputState.composing<0&&(i.inputState.composing=0))};Me.compositionend=i=>{i.observer.editContext||(i.inputState.composing=-1,i.inputState.compositionEndedAt=Date.now(),i.inputState.compositionPendingKey=!0,i.inputState.compositionPendingChange=i.observer.pendingRecords().length>0,i.inputState.compositionFirstChange=null,L.chrome&&L.android?i.observer.flushSoon():i.inputState.compositionPendingChange?Promise.resolve().then(()=>i.observer.flush()):setTimeout(()=>{i.inputState.composing<0&&i.docView.hasComposition&&i.update([])},50))};Me.contextmenu=i=>{i.inputState.lastContextMenu=Date.now()};Qt.beforeinput=(i,e)=>{var t,n;if((e.inputType=="insertText"||e.inputType=="insertCompositionText")&&(i.inputState.insertingText=e.data,i.inputState.insertingTextAt=Date.now()),e.inputType=="insertReplacementText"&&i.observer.editContext){let s=(t=e.dataTransfer)===null||t===void 0?void 0:t.getData("text/plain"),o=e.getTargetRanges();if(s&&o.length){let a=o[0],l=i.posAtDOM(a.startContainer,a.startOffset),c=i.posAtDOM(a.endContainer,a.endOffset);return Ka(i,{from:l,to:c,insert:i.state.toText(s)},null),!0}}let r;if(L.chrome&&L.android&&(r=vu.find(s=>s.inputType==e.inputType))&&(i.observer.delayAndroidKey(r.key,r.keyCode),r.key=="Backspace"||r.key=="Delete")){let s=((n=window.visualViewport)===null||n===void 0?void 0:n.height)||0;setTimeout(()=>{var o;(((o=window.visualViewport)===null||o===void 0?void 0:o.height)||0)>s+10&&i.hasFocus&&(i.contentDOM.blur(),i.focus())},100)}return L.ios&&e.inputType=="deleteContentForward"&&i.observer.flushSoon(),L.safari&&e.inputType=="insertText"&&i.inputState.composing>=0&&setTimeout(()=>Me.compositionend(i,e),20),!1};var qf=new Set;function xQ(i){qf.has(i)||(qf.add(i),i.addEventListener("copy",()=>{}),i.addEventListener("cut",()=>{}))}var zf=["pre-wrap","normal","pre-line","break-spaces"],gn=!1;function Lf(){gn=!1}var Ra=class{constructor(e){this.lineWrapping=e,this.doc=K.empty,this.heightSamples={},this.lineHeight=14,this.charWidth=7,this.textHeight=14,this.lineLength=30}heightForGap(e,t){let n=this.doc.lineAt(t).number-this.doc.lineAt(e).number+1;return this.lineWrapping&&(n+=Math.max(0,Math.ceil((t-e-n*this.lineLength*.5)/this.lineLength))),this.lineHeight*n}heightForLine(e){return this.lineWrapping?(1+Math.max(0,Math.ceil((e-this.lineLength)/Math.max(1,this.lineLength-5))))*this.lineHeight:this.lineHeight}setDoc(e){return this.doc=e,this}mustRefreshForWrapping(e){return zf.indexOf(e)>-1!=this.lineWrapping}mustRefreshForHeights(e){let t=!1;for(let n=0;n-1,l=Math.abs(t-this.lineHeight)>.3||this.lineWrapping!=a;if(this.lineWrapping=a,this.lineHeight=t,this.charWidth=n,this.textHeight=r,this.lineLength=s,l){this.heightSamples={};for(let c=0;c0}set outdated(e){this.flags=(e?2:0)|this.flags&-3}setHeight(e){this.height!=e&&(Math.abs(this.height-e)>as&&(gn=!0),this.height=e)}replace(e,t,n){return i.of(n)}decomposeLeft(e,t){t.push(this)}decomposeRight(e,t){t.push(this)}applyChanges(e,t,n,r){let s=this,o=n.doc;for(let a=r.length-1;a>=0;a--){let{fromA:l,toA:c,fromB:h,toB:f}=r[a],u=s.lineAt(l,le.ByPosNoHeight,n.setDoc(t),0,0),O=u.to>=c?u:s.lineAt(c,le.ByPosNoHeight,n,0,0);for(f+=O.to-c,c=O.to;a>0&&u.from<=r[a-1].toA;)l=r[a-1].fromA,h=r[a-1].fromB,a--,ls*2){let a=e[t-1];a.break?e.splice(--t,1,a.left,null,a.right):e.splice(--t,1,a.left,a.right),n+=1+a.break,r-=a.size}else if(s>r*2){let a=e[n];a.break?e.splice(n,1,a.left,null,a.right):e.splice(n,1,a.left,a.right),n+=2+a.break,s-=a.size}else break;else if(r=s&&o(this.lineAt(0,le.ByPos,n,r,s))}setMeasuredHeight(e){let t=e.heights[e.index++];t<0?(this.spaceAbove=-t,t=e.heights[e.index++]):this.spaceAbove=0,this.setHeight(t)}updateHeight(e,t=0,n=!1,r){return r&&r.from<=t&&r.more&&this.setMeasuredHeight(r),this.outdated=!1,this}toString(){return`block(${this.length})`}},st=class i extends gs{constructor(e,t,n){super(e,t,null),this.collapsed=0,this.widgetHeight=0,this.breaks=0,this.spaceAbove=n}mainBlock(e,t){return new mt(t,this.length,e+this.spaceAbove,this.height-this.spaceAbove,this.breaks)}replace(e,t,n){let r=n[0];return n.length==1&&(r instanceof i||r instanceof si&&r.flags&4)&&Math.abs(this.length-r.length)<10?(r instanceof si?r=new i(r.length,this.height,this.spaceAbove):r.height=this.height,this.outdated||(r.outdated=!1),r):He.of(n)}updateHeight(e,t=0,n=!1,r){return r&&r.from<=t&&r.more?this.setMeasuredHeight(r):(n||this.outdated)&&(this.spaceAbove=0,this.setHeight(Math.max(this.widgetHeight,e.heightForLine(this.length-this.collapsed))+this.breaks*e.lineHeight)),this.outdated=!1,this}toString(){return`line(${this.length}${this.collapsed?-this.collapsed:""}${this.widgetHeight?":"+this.widgetHeight:""})`}},si=class i extends He{constructor(e){super(e,0)}heightMetrics(e,t){let n=e.doc.lineAt(t).number,r=e.doc.lineAt(t+this.length).number,s=r-n+1,o,a=0;if(e.lineWrapping){let l=Math.min(this.height,e.lineHeight*s);o=l/s,this.length>s+1&&(a=(this.height-l)/(this.length-s-1))}else o=this.height/s;return{firstLine:n,lastLine:r,perLine:o,perChar:a}}blockAt(e,t,n,r){let{firstLine:s,lastLine:o,perLine:a,perChar:l}=this.heightMetrics(t,r);if(t.lineWrapping){let c=r+(e0){let s=n[n.length-1];s instanceof i?n[n.length-1]=new i(s.length+r):n.push(null,new i(r-1))}if(e>0){let s=n[0];s instanceof i?n[0]=new i(e+s.length):n.unshift(new i(e-1),null)}return He.of(n)}decomposeLeft(e,t){t.push(new i(e-1),null)}decomposeRight(e,t){t.push(null,new i(this.length-e-1))}updateHeight(e,t=0,n=!1,r){let s=t+this.length;if(r&&r.from<=t+this.length&&r.more){let o=[],a=Math.max(t,r.from),l=-1;for(r.from>t&&o.push(new i(r.from-t-1).updateHeight(e,t));a<=s&&r.more;){let h=e.doc.lineAt(a).length;o.length&&o.push(null);let f=r.heights[r.index++],u=0;f<0&&(u=-f,f=r.heights[r.index++]),l==-1?l=f:Math.abs(f-l)>=as&&(l=-2);let O=new st(h,f,u);O.outdated=!1,o.push(O),a+=h+1}a<=s&&o.push(null,new i(s-a).updateHeight(e,a));let c=He.of(o);return(l<0||Math.abs(c.height-this.height)>=as||Math.abs(l-this.heightMetrics(e,t).perLine)>=as)&&(gn=!0),ms(this,c)}else(n||this.outdated)&&(this.setHeight(e.heightForGap(t,t+this.length)),this.outdated=!1);return this}toString(){return`gap(${this.length})`}},Za=class extends He{constructor(e,t,n){super(e.length+t+n.length,e.height+n.height,t|(e.outdated||n.outdated?2:0)),this.left=e,this.right=n,this.size=e.size+n.size}get break(){return this.flags&1}blockAt(e,t,n,r){let s=n+this.left.height;return ea))return c;let h=t==le.ByPosNoHeight?le.ByPosNoHeight:le.ByPos;return l?c.join(this.right.lineAt(a,h,n,o,a)):this.left.lineAt(a,h,n,r,s).join(c)}forEachLine(e,t,n,r,s,o){let a=r+this.left.height,l=s+this.left.length+this.break;if(this.break)e=l&&this.right.forEachLine(e,t,n,a,l,o);else{let c=this.lineAt(l,le.ByPos,n,r,s);e=e&&c.from<=t&&o(c),t>c.to&&this.right.forEachLine(c.to+1,t,n,a,l,o)}}replace(e,t,n){let r=this.left.length+this.break;if(tthis.left.length)return this.balanced(this.left,this.right.replace(e-r,t-r,n));let s=[];e>0&&this.decomposeLeft(e,s);let o=s.length;for(let a of n)s.push(a);if(e>0&&Mf(s,o-1),t=n&&t.push(null)),e>n&&this.right.decomposeLeft(e-n,t)}decomposeRight(e,t){let n=this.left.length,r=n+this.break;if(e>=r)return this.right.decomposeRight(e-r,t);e2*t.size||t.size>2*e.size?He.of(this.break?[e,null,t]:[e,t]):(this.left=ms(this.left,e),this.right=ms(this.right,t),this.setHeight(e.height+t.height),this.outdated=e.outdated||t.outdated,this.size=e.size+t.size,this.length=e.length+this.break+t.length,this)}updateHeight(e,t=0,n=!1,r){let{left:s,right:o}=this,a=t+s.length+this.break,l=null;return r&&r.from<=t+s.length&&r.more?l=s=s.updateHeight(e,t,n,r):s.updateHeight(e,t,n),r&&r.from<=a+o.length&&r.more?l=o=o.updateHeight(e,a,n,r):o.updateHeight(e,a,n),l?this.balanced(s,o):(this.height=this.left.height+this.right.height,this.outdated=!1,this)}toString(){return this.left+(this.break?" ":"-")+this.right}};function Mf(i,e){let t,n;i[e]==null&&(t=i[e-1])instanceof si&&(n=i[e+1])instanceof si&&i.splice(e-1,3,new si(t.length+1+n.length))}var PQ=5,Ea=class i{constructor(e,t){this.pos=e,this.oracle=t,this.nodes=[],this.lineStart=-1,this.lineEnd=-1,this.covering=null,this.writtenTo=e}get isCovered(){return this.covering&&this.nodes[this.nodes.length-1]==this.covering}span(e,t){if(this.lineStart>-1){let n=Math.min(t,this.lineEnd),r=this.nodes[this.nodes.length-1];r instanceof st?r.length+=n-this.pos:(n>this.pos||!this.isCovered)&&this.nodes.push(new st(n-this.pos,-1,0)),this.writtenTo=n,t>n&&(this.nodes.push(null),this.writtenTo++,this.lineStart=-1)}this.pos=t}point(e,t,n){if(e=PQ)&&this.addLineDeco(r,s,o)}else t>e&&this.span(e,t);this.lineEnd>-1&&this.lineEnd-1)return;let{from:e,to:t}=this.oracle.doc.lineAt(this.pos);this.lineStart=e,this.lineEnd=t,this.writtenToe&&this.nodes.push(new st(this.pos-e,-1,0)),this.writtenTo=this.pos}blankContent(e,t){let n=new si(t-e);return this.oracle.doc.lineAt(e).to==t&&(n.flags|=4),n}ensureLine(){this.enterLine();let e=this.nodes.length?this.nodes[this.nodes.length-1]:null;if(e instanceof st)return e;let t=new st(0,-1,0);return this.nodes.push(t),t}addBlock(e){this.enterLine();let t=e.deco;t&&t.startSide>0&&!this.isCovered&&this.ensureLine(),this.nodes.push(e),this.writtenTo=this.pos=this.pos+e.length,t&&t.endSide>0&&(this.covering=e)}addLineDeco(e,t,n){let r=this.ensureLine();r.length+=n,r.collapsed+=n,r.widgetHeight=Math.max(r.widgetHeight,e),r.breaks+=t,this.writtenTo=this.pos=this.pos+n}finish(e){let t=this.nodes.length==0?null:this.nodes[this.nodes.length-1];this.lineStart>-1&&!(t instanceof st)&&!this.isCovered?this.nodes.push(new st(0,-1,0)):(this.writtenToh.clientHeight||h.scrollWidth>h.clientWidth)&&f.overflow!="visible"){let u=h.getBoundingClientRect();s=Math.max(s,u.left),o=Math.min(o,u.right),a=Math.max(a,u.top),l=Math.min(c==i.parentNode?r.innerHeight:l,u.bottom)}c=f.position=="absolute"||f.position=="fixed"?h.offsetParent:h.parentNode}else if(c.nodeType==11)c=c.host;else break;return{left:s-t.left,right:Math.max(s,o)-t.left,top:a-(t.top+e),bottom:Math.max(a,l)-(t.top+e)}}function TQ(i){let e=i.getBoundingClientRect(),t=i.ownerDocument.defaultView||window;return e.left0&&e.top0}function CQ(i,e){let t=i.getBoundingClientRect();return{left:0,right:t.right-t.left,top:e,bottom:t.bottom-(t.top+e)}}var er=class{constructor(e,t,n,r){this.from=e,this.to=t,this.size=n,this.displaySize=r}static same(e,t){if(e.length!=t.length)return!1;for(let n=0;ntypeof r!="function"&&r.class=="cm-lineWrapping");this.heightOracle=new Ra(n),this.stateDeco=jf(t),this.heightMap=He.empty().applyChanges(this.stateDeco,K.empty,this.heightOracle.setDoc(t.doc),[new gt(0,0,0,t.doc.length)]);for(let r=0;r<2&&(this.viewport=this.getViewport(0,null),!!this.updateForViewport());r++);this.updateViewportLines(),this.lineGaps=this.ensureLineGaps([]),this.lineGapDeco=Z.set(this.lineGaps.map(r=>r.draw(this,!1))),this.scrollParent=e.scrollDOM,this.computeVisibleRanges()}updateForViewport(){let e=[this.viewport],{main:t}=this.state.selection;for(let n=0;n<=1;n++){let r=n?t.head:t.anchor;if(!e.some(({from:s,to:o})=>r>=s&&r<=o)){let{from:s,to:o}=this.lineBlockAt(r);e.push(new hn(s,o))}}return this.viewports=e.sort((n,r)=>n.from-r.from),this.updateScaler()}updateScaler(){let e=this.scaler;return this.scaler=this.heightMap.height<=7e6?Wf:new La(this.heightOracle,this.heightMap,this.viewports),e.eq(this.scaler)?0:2}updateViewportLines(){this.viewportLines=[],this.heightMap.forEachLine(this.viewport.from,this.viewport.to,this.heightOracle.setDoc(this.state.doc),0,0,e=>{this.viewportLines.push(Bn(e,this.scaler))})}update(e,t=null){this.state=e.state;let n=this.stateDeco;this.stateDeco=jf(this.state);let r=e.changedRanges,s=gt.extendWithRanges(r,vQ(n,this.stateDeco,e?e.changes:ze.empty(this.state.doc.length))),o=this.heightMap.height,a=this.scrolledToBottom?null:this.scrollAnchorAt(this.scrollOffset);Lf(),this.heightMap=this.heightMap.applyChanges(this.stateDeco,e.startState.doc,this.heightOracle.setDoc(this.state.doc),s),(this.heightMap.height!=o||gn)&&(e.flags|=2),a?(this.scrollAnchorPos=e.changes.mapPos(a.from,-1),this.scrollAnchorHeight=a.top):(this.scrollAnchorPos=-1,this.scrollAnchorHeight=o);let l=s.length?this.mapViewport(this.viewport,e.changes):this.viewport;(t&&(t.range.headl.to)||!this.viewportIsAppropriate(l))&&(l=this.getViewport(0,t));let c=l.from!=this.viewport.from||l.to!=this.viewport.to;this.viewport=l,e.flags|=this.updateForViewport(),(c||!e.changes.empty||e.flags&2)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(this.mapLineGaps(this.lineGaps,e.changes))),e.flags|=this.computeVisibleRanges(e.changes),t&&(this.scrollTarget=t),!this.mustEnforceCursorAssoc&&(e.selectionSet||e.focusChanged)&&e.view.lineWrapping&&e.state.selection.main.empty&&e.state.selection.main.assoc&&!e.state.facet(q0)&&(this.mustEnforceCursorAssoc=!0)}measure(){let{view:e}=this,t=e.contentDOM,n=window.getComputedStyle(t),r=this.heightOracle,s=n.whiteSpace;this.defaultTextDirection=n.direction=="rtl"?ue.RTL:ue.LTR;let o=this.heightOracle.mustRefreshForWrapping(s)||this.mustMeasureContent==="refresh",a=t.getBoundingClientRect(),l=o||this.mustMeasureContent||this.contentDOMHeight!=a.height;this.contentDOMHeight=a.height,this.mustMeasureContent=!1;let c=0,h=0;if(a.width&&a.height){let{scaleX:v,scaleY:$}=Nf(t,a);(v>.005&&Math.abs(this.scaleX-v)>.005||$>.005&&Math.abs(this.scaleY-$)>.005)&&(this.scaleX=v,this.scaleY=$,c|=16,o=l=!0)}let f=(parseInt(n.paddingTop)||0)*this.scaleY,u=(parseInt(n.paddingBottom)||0)*this.scaleY;(this.paddingTop!=f||this.paddingBottom!=u)&&(this.paddingTop=f,this.paddingBottom=u,c|=18),this.editorWidth!=e.scrollDOM.clientWidth&&(r.lineWrapping&&(l=!0),this.editorWidth=e.scrollDOM.clientWidth,c|=16);let O=Ff(this.view.contentDOM,!1).y;O!=this.scrollParent&&(this.scrollParent=O,this.scrollAnchorHeight=-1,this.scrollOffset=0);let p=this.getScrollOffset();this.scrollOffset!=p&&(this.scrollAnchorHeight=-1,this.scrollOffset=p),this.scrolledToBottom=Kf(this.scrollParent||e.win);let m=(this.printing?CQ:$Q)(t,this.paddingTop),b=m.top-this.pixelViewport.top,g=m.bottom-this.pixelViewport.bottom;this.pixelViewport=m;let Q=this.pixelViewport.bottom>this.pixelViewport.top&&this.pixelViewport.right>this.pixelViewport.left;if(Q!=this.inView&&(this.inView=Q,Q&&(l=!0)),!this.inView&&!this.scrollTarget&&!TQ(e.dom))return 0;let S=a.width;if((this.contentDOMWidth!=S||this.editorHeight!=e.scrollDOM.clientHeight)&&(this.contentDOMWidth=a.width,this.editorHeight=e.scrollDOM.clientHeight,c|=16),l){let v=e.docView.measureVisibleLineHeights(this.viewport);if(r.mustRefreshForHeights(v)&&(o=!0),o||r.lineWrapping&&Math.abs(S-this.contentDOMWidth)>r.charWidth){let{lineHeight:$,charWidth:R,textHeight:_}=e.docView.measureTextSize();o=$>0&&r.refresh(s,$,R,_,Math.max(5,S/R),v),o&&(e.docView.minWidth=0,c|=16)}b>0&&g>0?h=Math.max(b,g):b<0&&g<0&&(h=Math.min(b,g)),Lf();for(let $ of this.viewports){let R=$.from==this.viewport.from?v:e.docView.measureVisibleLineHeights($);this.heightMap=(o?He.empty().applyChanges(this.stateDeco,K.empty,this.heightOracle,[new gt(0,0,0,e.state.doc.length)]):this.heightMap).updateHeight(r,0,o,new Aa($.from,R))}gn&&(c|=2)}let x=!this.viewportIsAppropriate(this.viewport,h)||this.scrollTarget&&(this.scrollTarget.range.headthis.viewport.to);return x&&(c&2&&(c|=this.updateScaler()),this.viewport=this.getViewport(h,this.scrollTarget),c|=this.updateForViewport()),(c&2||x)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(o?[]:this.lineGaps,e)),c|=this.computeVisibleRanges(),this.mustEnforceCursorAssoc&&(this.mustEnforceCursorAssoc=!1,e.docView.enforceCursorAssoc()),c}get visibleTop(){return this.scaler.fromDOM(this.pixelViewport.top)}get visibleBottom(){return this.scaler.fromDOM(this.pixelViewport.bottom)}getViewport(e,t){let n=.5-Math.max(-.5,Math.min(.5,e/1e3/2)),r=this.heightMap,s=this.heightOracle,{visibleTop:o,visibleBottom:a}=this,l=new hn(r.lineAt(o-n*1e3,le.ByHeight,s,0,0).from,r.lineAt(a+(1-n)*1e3,le.ByHeight,s,0,0).to);if(t){let{head:c}=t.range;if(cl.to){let h=Math.min(this.editorHeight,this.pixelViewport.bottom-this.pixelViewport.top),f=r.lineAt(c,le.ByPos,s,0,0),u;t.y=="center"?u=(f.top+f.bottom)/2-h/2:t.y=="start"||t.y=="nearest"&&c=a+Math.max(10,Math.min(n,250)))&&r>o-2*1e3&&s>1,o=r<<1;if(this.defaultTextDirection!=ue.LTR&&!n)return[];let a=[],l=(h,f,u,O)=>{if(f-hh&&gg.from>=u.from&&g.to<=u.to&&Math.abs(g.from-h)g.fromQ));if(!b){if(fS.from<=f&&S.to>=f)){let S=t.moveToLineBoundary(P.cursor(f),!1,!0).head;S>h&&(f=S)}let g=this.gapSize(u,h,f,O),Q=n||g<2e6?g:2e6;b=new er(h,f,g,Q)}a.push(b)},c=h=>{if(h.length2e6)for(let $ of e)$.from>=h.from&&$.fromh.from&&l(h.from,O,h,f),pt.draw(this,this.heightOracle.lineWrapping))))}computeVisibleRanges(e){let t=this.stateDeco;this.lineGaps.length&&(t=t.concat(this.lineGapDeco));let n=[];ae.spans(t,this.viewport.from,this.viewport.to,{span(s,o){n.push({from:s,to:o})},point(){}},20);let r=0;if(n.length!=this.visibleRanges.length)r=12;else for(let s=0;s=this.viewport.from&&e<=this.viewport.to&&this.viewportLines.find(t=>t.from<=e&&t.to>=e)||Bn(this.heightMap.lineAt(e,le.ByPos,this.heightOracle,0,0),this.scaler)}lineBlockAtHeight(e){return e>=this.viewportLines[0].top&&e<=this.viewportLines[this.viewportLines.length-1].bottom&&this.viewportLines.find(t=>t.top<=e&&t.bottom>=e)||Bn(this.heightMap.lineAt(this.scaler.fromDOM(e),le.ByHeight,this.heightOracle,0,0),this.scaler)}getScrollOffset(){return(this.scrollParent==this.view.scrollDOM?this.scrollParent.scrollTop:(this.scrollParent?this.scrollParent.getBoundingClientRect().top:0)-this.view.contentDOM.getBoundingClientRect().top)*this.scaleY}scrollAnchorAt(e){let t=this.lineBlockAtHeight(e+8);return t.from>=this.viewport.from||this.viewportLines[0].top-e>200?t:this.viewportLines[0]}elementAtHeight(e){return Bn(this.heightMap.blockAt(this.scaler.fromDOM(e),this.heightOracle,0,0),this.scaler)}get docHeight(){return this.scaler.toDOM(this.heightMap.height)}get contentHeight(){return this.docHeight+this.paddingTop+this.paddingBottom}},hn=class{constructor(e,t){this.from=e,this.to=t}};function XQ(i,e,t){let n=[],r=i,s=0;return ae.spans(t,i,e,{span(){},point(o,a){o>r&&(n.push({from:r,to:o}),s+=o-r),r=a}},20),r=1)return e[e.length-1].to;let n=Math.floor(i*t);for(let r=0;;r++){let{from:s,to:o}=e[r],a=o-s;if(n<=a)return s+n;n-=a}}function ns(i,e){let t=0;for(let{from:n,to:r}of i.ranges){if(e<=r){t+=e-n;break}t+=r-n}return t/i.total}function _Q(i,e){for(let t of i)if(e(t))return t}var Wf={toDOM(i){return i},fromDOM(i){return i},scale:1,eq(i){return i==this}};function jf(i){let e=i.facet(ys).filter(n=>typeof n!="function"),t=i.facet(Ha).filter(n=>typeof n!="function");return t.length&&e.push(ae.join(t)),e}var La=class i{constructor(e,t,n){let r=0,s=0,o=0;this.viewports=n.map(({from:a,to:l})=>{let c=t.lineAt(a,le.ByPos,e,0,0).top,h=t.lineAt(l,le.ByPos,e,0,0).bottom;return r+=h-c,{from:a,to:l,top:c,bottom:h,domTop:0,domBottom:0}}),this.scale=(7e6-r)/(t.height-r);for(let a of this.viewports)a.domTop=o+(a.top-s)*this.scale,o=a.domBottom=a.domTop+(a.bottom-a.top),s=a.bottom}toDOM(e){for(let t=0,n=0,r=0;;t++){let s=tt.from==e.viewports[n].from&&t.to==e.viewports[n].to):!1}};function Bn(i,e){if(e.scale==1)return i;let t=e.toDOM(i.top),n=e.toDOM(i.bottom);return new mt(i.from,i.length,t,n-t,Array.isArray(i._content)?i._content.map(r=>Bn(r,e)):i._content)}var rs=Y.define({combine:i=>i.join(" ")}),Ma=Y.define({combine:i=>i.indexOf(!0)>-1}),Wa=rt.newName(),Zu=rt.newName(),Eu=rt.newName(),qu={"&light":"."+Zu,"&dark":"."+Eu};function ja(i,e,t){return new rt(e,{finish(n){return/&/.test(n)?n.replace(/&\w*/,r=>{if(r=="&")return i;if(!t||!t[r])throw new RangeError(`Unsupported selector: ${r}`);return t[r]}):i+" "+n}})}var RQ=ja("."+Wa,{"&":{position:"relative !important",boxSizing:"border-box","&.cm-focused":{outline:"1px dotted #212121"},display:"flex !important",flexDirection:"column"},".cm-scroller":{display:"flex !important",alignItems:"flex-start !important",fontFamily:"monospace",lineHeight:1.4,height:"100%",overflowX:"auto",position:"relative",zIndex:0,overflowAnchor:"none"},".cm-content":{margin:0,flexGrow:2,flexShrink:0,display:"block",whiteSpace:"pre",wordWrap:"normal",boxSizing:"border-box",minHeight:"100%",padding:"4px 0",outline:"none","&[contenteditable=true]":{WebkitUserModify:"read-write-plaintext-only"}},".cm-lineWrapping":{whiteSpace_fallback:"pre-wrap",whiteSpace:"break-spaces",wordBreak:"break-word",overflowWrap:"anywhere",flexShrink:1},"&light .cm-content":{caretColor:"black"},"&dark .cm-content":{caretColor:"white"},".cm-line":{display:"block",padding:"0 2px 0 6px"},".cm-layer":{userSelect:"none",position:"absolute",left:0,top:0,contain:"size style","& > *":{position:"absolute"}},"&light .cm-selectionBackground":{background:"#d9d9d9"},"&dark .cm-selectionBackground":{background:"#222"},"&light.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#d7d4f0"},"&dark.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#233"},".cm-cursorLayer":{pointerEvents:"none"},"&.cm-focused > .cm-scroller > .cm-cursorLayer":{animation:"steps(1) cm-blink 1.2s infinite"},"@keyframes cm-blink":{"0%":{},"50%":{opacity:0},"100%":{}},"@keyframes cm-blink2":{"0%":{},"50%":{opacity:0},"100%":{}},".cm-cursor, .cm-dropCursor":{borderLeft:"1.2px solid black",marginLeft:"-0.6px",pointerEvents:"none"},".cm-cursor":{display:"none"},"&dark .cm-cursor":{borderLeftColor:"#ddd"},".cm-selectionHandle":{backgroundColor:"currentColor",width:"1.5px"},".cm-selectionHandle-start::before, .cm-selectionHandle-end::before":{content:'""',backgroundColor:"inherit",borderRadius:"50%",width:"8px",height:"8px",position:"absolute",left:"-3.25px"},".cm-selectionHandle-start::before":{top:"-8px"},".cm-selectionHandle-end::before":{bottom:"-8px"},".cm-dropCursor":{position:"absolute"},"&.cm-focused > .cm-scroller > .cm-cursorLayer .cm-cursor":{display:"block"},".cm-iso":{unicodeBidi:"isolate"},".cm-announced":{position:"fixed",top:"-10000px"},"@media print":{".cm-announced":{display:"none"}},"&light .cm-activeLine":{backgroundColor:"#cceeff44"},"&dark .cm-activeLine":{backgroundColor:"#99eeff33"},"&light .cm-specialChar":{color:"red"},"&dark .cm-specialChar":{color:"#f78"},".cm-gutters":{flexShrink:0,display:"flex",height:"100%",boxSizing:"border-box",zIndex:200},".cm-gutters-before":{insetInlineStart:0},".cm-gutters-after":{insetInlineEnd:0},"&light .cm-gutters":{backgroundColor:"#f5f5f5",color:"#6c6c6c",border:"0px solid #ddd","&.cm-gutters-before":{borderRightWidth:"1px"},"&.cm-gutters-after":{borderLeftWidth:"1px"}},"&dark .cm-gutters":{backgroundColor:"#333338",color:"#ccc"},".cm-gutter":{display:"flex !important",flexDirection:"column",flexShrink:0,boxSizing:"border-box",minHeight:"100%",overflow:"hidden"},".cm-gutterElement":{boxSizing:"border-box"},".cm-lineNumbers .cm-gutterElement":{padding:"0 3px 0 5px",minWidth:"20px",textAlign:"right",whiteSpace:"nowrap"},"&light .cm-activeLineGutter":{backgroundColor:"#e2f2ff"},"&dark .cm-activeLineGutter":{backgroundColor:"#222227"},".cm-panels":{boxSizing:"border-box",position:"sticky",left:0,right:0,zIndex:300},"&light .cm-panels":{backgroundColor:"#f5f5f5",color:"black"},"&light .cm-panels-top":{borderBottom:"1px solid #ddd"},"&light .cm-panels-bottom":{borderTop:"1px solid #ddd"},"&dark .cm-panels":{backgroundColor:"#333338",color:"white"},".cm-dialog":{padding:"2px 19px 4px 6px",position:"relative","& label":{fontSize:"80%"}},".cm-dialog-close":{position:"absolute",top:"3px",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",fontSize:"14px",padding:"0"},".cm-tab":{display:"inline-block",overflow:"hidden",verticalAlign:"bottom"},".cm-widgetBuffer":{verticalAlign:"text-top",height:"1em",width:0,display:"inline"},".cm-placeholder":{color:"#888",display:"inline-block",verticalAlign:"top",userSelect:"none"},".cm-highlightSpace":{backgroundImage:"radial-gradient(circle at 50% 55%, #aaa 20%, transparent 5%)",backgroundPosition:"center"},".cm-highlightTab":{backgroundImage:`url('data:image/svg+xml,')`,backgroundSize:"auto 100%",backgroundPosition:"right 90%",backgroundRepeat:"no-repeat"},".cm-trailingSpace":{backgroundColor:"#ff332255"},".cm-button":{verticalAlign:"middle",color:"inherit",fontSize:"70%",padding:".2em 1em",borderRadius:"1px"},"&light .cm-button":{backgroundImage:"linear-gradient(#eff1f5, #d9d9df)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#b4b4b4, #d0d3d6)"}},"&dark .cm-button":{backgroundImage:"linear-gradient(#393939, #111)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#111, #333)"}},".cm-textfield":{verticalAlign:"middle",color:"inherit",fontSize:"70%",border:"1px solid silver",padding:".2em .5em"},"&light .cm-textfield":{backgroundColor:"white"},"&dark .cm-textfield":{border:"1px solid #555",backgroundColor:"inherit"}},qu),AQ={childList:!0,characterData:!0,subtree:!0,attributes:!0,characterDataOldValue:!0},oa=L.ie&&L.ie_version<=11,Va=class{constructor(e){this.view=e,this.active=!1,this.editContext=null,this.selectionRange=new ua,this.selectionChanged=!1,this.delayedFlush=-1,this.resizeTimeout=-1,this.queue=[],this.delayedAndroidKey=null,this.flushingAndroidKey=-1,this.lastChange=0,this.scrollTargets=[],this.intersection=null,this.resizeScroll=null,this.intersecting=!1,this.gapIntersection=null,this.gaps=[],this.printQuery=null,this.parentCheck=-1,this.dom=e.contentDOM,this.observer=new MutationObserver(t=>{for(let n of t)this.queue.push(n);(L.ie&&L.ie_version<=11||L.ios&&e.composing)&&t.some(n=>n.type=="childList"&&n.removedNodes.length||n.type=="characterData"&&n.oldValue.length>n.target.nodeValue.length)?this.flushSoon():this.flush()}),window.EditContext&&L.android&&e.constructor.EDIT_CONTEXT!==!1&&!(L.chrome&&L.chrome_version<126)&&(this.editContext=new Da(e),e.state.facet(zt)&&(e.contentDOM.editContext=this.editContext.editContext)),oa&&(this.onCharData=t=>{this.queue.push({target:t.target,type:"characterData",oldValue:t.prevValue}),this.flushSoon()}),this.onSelectionChange=this.onSelectionChange.bind(this),this.onResize=this.onResize.bind(this),this.onPrint=this.onPrint.bind(this),this.onScroll=this.onScroll.bind(this),window.matchMedia&&(this.printQuery=window.matchMedia("print")),typeof ResizeObserver=="function"&&(this.resizeScroll=new ResizeObserver(()=>{var t;((t=this.view.docView)===null||t===void 0?void 0:t.lastUpdate){this.parentCheck<0&&(this.parentCheck=setTimeout(this.listenForScroll.bind(this),1e3)),t.length>0&&t[t.length-1].intersectionRatio>0!=this.intersecting&&(this.intersecting=!this.intersecting,this.intersecting!=this.view.inView&&this.onScrollChanged(document.createEvent("Event")))},{threshold:[0,.001]}),this.intersection.observe(this.dom),this.gapIntersection=new IntersectionObserver(t=>{t.length>0&&t[t.length-1].intersectionRatio>0&&this.onScrollChanged(document.createEvent("Event"))},{})),this.listenForScroll(),this.readSelectionRange()}onScrollChanged(e){this.view.inputState.runHandlers("scroll",e),this.intersecting&&this.view.measure()}onScroll(e){this.intersecting&&this.flush(!1),this.editContext&&this.view.requestMeasure(this.editContext.measureReq),this.onScrollChanged(e)}onResize(){this.resizeTimeout<0&&(this.resizeTimeout=setTimeout(()=>{this.resizeTimeout=-1,this.view.requestMeasure()},50))}onPrint(e){(e.type=="change"||!e.type)&&!e.matches||(this.view.viewState.printing=!0,this.view.measure(),setTimeout(()=>{this.view.viewState.printing=!1,this.view.requestMeasure()},500))}updateGaps(e){if(this.gapIntersection&&(e.length!=this.gaps.length||this.gaps.some((t,n)=>t!=e[n]))){this.gapIntersection.disconnect();for(let t of e)this.gapIntersection.observe(t);this.gaps=e}}onSelectionChange(e){let t=this.selectionChanged;if(!this.readSelectionRange()||this.delayedAndroidKey)return;let{view:n}=this,r=this.selectionRange;if(n.state.facet(zt)?n.root.activeElement!=this.dom:!Gn(this.dom,r))return;let s=r.anchorNode&&n.docView.tile.nearest(r.anchorNode);if(s&&s.isWidget()&&s.widget.ignoreEvent(e)){t||(this.selectionChanged=!1);return}(L.ie&&L.ie_version<=11||L.android&&L.chrome)&&!n.state.selection.main.empty&&r.focusNode&&Nn(r.focusNode,r.focusOffset,r.anchorNode,r.anchorOffset)?this.flushSoon():this.flush(!1)}readSelectionRange(){let{view:e}=this,t=nr(e.root);if(!t)return!1;let n=L.safari&&e.root.nodeType==11&&e.root.activeElement==this.dom&&ZQ(this.view,t)||t;if(!n||this.selectionRange.eq(n))return!1;let r=Gn(this.dom,n);return r&&!this.selectionChanged&&e.inputState.lastFocusTime>Date.now()-200&&e.inputState.lastTouchTime{let s=this.delayedAndroidKey;s&&(this.clearDelayedAndroidKey(),this.view.inputState.lastKeyCode=s.keyCode,this.view.inputState.lastKeyTime=Date.now(),!this.flush()&&s.force&&un(this.dom,s.key,s.keyCode))};this.flushingAndroidKey=this.view.win.requestAnimationFrame(r)}(!this.delayedAndroidKey||e=="Enter")&&(this.delayedAndroidKey={key:e,keyCode:t,force:this.lastChange{this.delayedFlush=-1,this.flush()}))}forceFlush(){this.delayedFlush>=0&&(this.view.win.cancelAnimationFrame(this.delayedFlush),this.delayedFlush=-1),this.flush()}pendingRecords(){for(let e of this.observer.takeRecords())this.queue.push(e);return this.queue}processRecords(){let e=this.pendingRecords();e.length&&(this.queue=[]);let t=-1,n=-1,r=!1;for(let s of e){let o=this.readMutation(s);o&&(o.typeOver&&(r=!0),t==-1?{from:t,to:n}=o:(t=Math.min(o.from,t),n=Math.max(o.to,n)))}return{from:t,to:n,typeOver:r}}readChange(){let{from:e,to:t,typeOver:n}=this.processRecords(),r=this.selectionChanged&&Gn(this.dom,this.selectionRange);if(e<0&&!r)return null;e>-1&&(this.lastChange=Date.now()),this.view.inputState.lastFocusTime=0,this.selectionChanged=!1;let s=new Ta(this.view,e,t,n);return this.view.docView.domChanged={newSel:s.newSel?s.newSel.main:null},s}flush(e=!0){if(this.delayedFlush>=0||this.delayedAndroidKey)return!1;e&&this.readSelectionRange();let t=this.readChange();if(!t)return this.view.requestMeasure(),!1;let n=this.view.state,r=wu(this.view,t);return this.view.state==n&&(t.domChanged||t.newSel&&!ps(this.view.state.selection,t.newSel.main))&&this.view.update([]),r}readMutation(e){let t=this.view.docView.tile.nearest(e.target);if(!t||t.isWidget())return null;if(t.markDirty(e.type=="attributes"),e.type=="childList"){let n=Vf(t,e.previousSibling||e.target.previousSibling,-1),r=Vf(t,e.nextSibling||e.target.nextSibling,1);return{from:n?t.posAfter(n):t.posAtStart,to:r?t.posBefore(r):t.posAtEnd,typeOver:!1}}else return e.type=="characterData"?{from:t.posAtStart,to:t.posAtEnd,typeOver:e.target.nodeValue==e.oldValue}:null}setWindow(e){e!=this.win&&(this.removeWindowListeners(this.win),this.win=e,this.addWindowListeners(this.win))}addWindowListeners(e){e.addEventListener("resize",this.onResize),this.printQuery?this.printQuery.addEventListener?this.printQuery.addEventListener("change",this.onPrint):this.printQuery.addListener(this.onPrint):e.addEventListener("beforeprint",this.onPrint),e.addEventListener("scroll",this.onScroll),e.document.addEventListener("selectionchange",this.onSelectionChange)}removeWindowListeners(e){e.removeEventListener("scroll",this.onScroll),e.removeEventListener("resize",this.onResize),this.printQuery?this.printQuery.removeEventListener?this.printQuery.removeEventListener("change",this.onPrint):this.printQuery.removeListener(this.onPrint):e.removeEventListener("beforeprint",this.onPrint),e.document.removeEventListener("selectionchange",this.onSelectionChange)}update(e){this.editContext&&(this.editContext.update(e),e.startState.facet(zt)!=e.state.facet(zt)&&(e.view.contentDOM.editContext=e.state.facet(zt)?this.editContext.editContext:null))}destroy(){var e,t,n;this.stop(),(e=this.intersection)===null||e===void 0||e.disconnect(),(t=this.gapIntersection)===null||t===void 0||t.disconnect(),(n=this.resizeScroll)===null||n===void 0||n.disconnect();for(let r of this.scrollTargets)r.removeEventListener("scroll",this.onScroll);this.removeWindowListeners(this.win),clearTimeout(this.parentCheck),clearTimeout(this.resizeTimeout),this.win.cancelAnimationFrame(this.delayedFlush),this.win.cancelAnimationFrame(this.flushingAndroidKey),this.editContext&&(this.view.contentDOM.editContext=null,this.editContext.destroy())}};function Vf(i,e,t){for(;e;){let n=fe.get(e);if(n&&n.parent==i)return n;let r=e.parentNode;e=r!=i.dom?r:t>0?e.nextSibling:e.previousSibling}return null}function Df(i,e){let t=e.startContainer,n=e.startOffset,r=e.endContainer,s=e.endOffset,o=i.docView.domAtPos(i.state.selection.main.anchor,1);return Nn(o.node,o.offset,r,s)&&([t,n,r,s]=[r,s,t,n]),{anchorNode:t,anchorOffset:n,focusNode:r,focusOffset:s}}function ZQ(i,e){if(e.getComposedRanges){let r=e.getComposedRanges(i.root)[0];if(r)return Df(i,r)}let t=null;function n(r){r.preventDefault(),r.stopImmediatePropagation(),t=r.getTargetRanges()[0]}return i.contentDOM.addEventListener("beforeinput",n,!0),i.dom.ownerDocument.execCommand("indent"),i.contentDOM.removeEventListener("beforeinput",n,!0),t?Df(i,t):null}var Da=class{constructor(e){this.from=0,this.to=0,this.pendingContextChange=null,this.handlers=Object.create(null),this.composing=null,this.resetRange(e.state);let t=this.editContext=new window.EditContext({text:e.state.doc.sliceString(this.from,this.to),selectionStart:this.toContextPos(Math.max(this.from,Math.min(this.to,e.state.selection.main.anchor))),selectionEnd:this.toContextPos(e.state.selection.main.head)});this.handlers.textupdate=n=>{let r=e.state.selection.main,{anchor:s,head:o}=r,a=this.toEditorPos(n.updateRangeStart),l=this.toEditorPos(n.updateRangeEnd);e.inputState.composing>=0&&!this.composing&&(this.composing={contextBase:n.updateRangeStart,editorBase:a,drifted:!1});let c=l-a>n.text.length;a==this.from&&sthis.to&&(l=s);let h=Pu(e.state.sliceDoc(a,l),n.text,(c?r.from:r.to)-a,c?"end":null);if(!h){let u=P.single(this.toEditorPos(n.selectionStart),this.toEditorPos(n.selectionEnd));ps(u,r)||e.dispatch({selection:u,userEvent:"select"});return}let f={from:h.from+a,to:h.toA+a,insert:K.of(n.text.slice(h.from,h.toB).split(` +`))};if((L.mac||L.android)&&f.from==o-1&&/^\. ?$/.test(n.text)&&e.contentDOM.getAttribute("autocorrect")=="off"&&(f={from:a,to:l,insert:K.of([n.text.replace("."," ")])}),this.pendingContextChange=f,!e.state.readOnly){let u=this.to-this.from+(f.to-f.from+f.insert.length);Ka(e,f,P.single(this.toEditorPos(n.selectionStart,u),this.toEditorPos(n.selectionEnd,u)))}this.pendingContextChange&&(this.revertPending(e.state),this.setSelection(e.state)),f.from=0&&!/[\\p{Alphabetic}\\p{Number}_]/.test(t.text.slice(Math.max(0,n.updateRangeStart-1),Math.min(t.text.length,n.updateRangeStart+1)))&&this.handlers.compositionend(n)},this.handlers.characterboundsupdate=n=>{let r=[],s=null;for(let o=this.toEditorPos(n.rangeStart),a=this.toEditorPos(n.rangeEnd);o{let r=[];for(let s of n.getTextFormats()){let o=s.underlineStyle,a=s.underlineThickness;if(!/none/i.test(o)&&!/none/i.test(a)){let l=this.toEditorPos(s.rangeStart),c=this.toEditorPos(s.rangeEnd);if(l{e.inputState.composing<0&&(e.inputState.composing=0,e.inputState.compositionFirstChange=!0)},this.handlers.compositionend=()=>{if(e.inputState.composing=-1,e.inputState.compositionFirstChange=null,this.composing){let{drifted:n}=this.composing;this.composing=null,n&&this.reset(e.state)}};for(let n in this.handlers)t.addEventListener(n,this.handlers[n]);this.measureReq={read:n=>{let r=nr(n.root);r&&r.rangeCount&&this.editContext.updateSelectionBounds(r.getRangeAt(0).getBoundingClientRect())}}}applyEdits(e){let t=0,n=!1,r=this.pendingContextChange;return e.changes.iterChanges((s,o,a,l,c)=>{if(n)return;let h=c.length-(o-s);if(r&&o>=r.to)if(r.from==s&&r.to==o&&r.insert.eq(c)){r=this.pendingContextChange=null,t+=h,this.to+=h;return}else r=null,this.revertPending(e.state);if(s+=t,o+=t,o<=this.from)this.from+=h,this.to+=h;else if(sthis.to||this.to-this.from+c.length>3e4){n=!0;return}this.editContext.updateText(this.toContextPos(s),this.toContextPos(o),c.toString()),this.to+=h}t+=h}),r&&!n&&this.revertPending(e.state),!n}update(e){let t=this.pendingContextChange,n=e.startState.selection.main;this.composing&&(this.composing.drifted||!e.changes.touchesRange(n.from,n.to)&&e.transactions.some(r=>!r.isUserEvent("input.type")&&r.changes.touchesRange(this.from,this.to)))?(this.composing.drifted=!0,this.composing.editorBase=e.changes.mapPos(this.composing.editorBase)):!this.applyEdits(e)||!this.rangeIsValid(e.state)?(this.pendingContextChange=null,this.reset(e.state)):(e.docChanged||e.selectionSet||t)&&this.setSelection(e.state),(e.geometryChanged||e.docChanged||e.selectionSet)&&e.view.requestMeasure(this.measureReq)}resetRange(e){let{head:t}=e.selection.main;this.from=Math.max(0,t-1e4),this.to=Math.min(e.doc.length,t+1e4)}reset(e){this.resetRange(e),this.editContext.updateText(0,this.editContext.text.length,e.doc.sliceString(this.from,this.to)),this.setSelection(e)}revertPending(e){let t=this.pendingContextChange;this.pendingContextChange=null,this.editContext.updateText(this.toContextPos(t.from),this.toContextPos(t.from+t.insert.length),e.doc.sliceString(t.from,t.to))}setSelection(e){let{main:t}=e.selection,n=this.toContextPos(Math.max(this.from,Math.min(this.to,t.anchor))),r=this.toContextPos(t.head);(this.editContext.selectionStart!=n||this.editContext.selectionEnd!=r)&&this.editContext.updateSelection(n,r)}rangeIsValid(e){let{head:t}=e.selection.main;return!(this.from>0&&t-this.from<500||this.to1e4*3)}toEditorPos(e,t=this.to-this.from){e=Math.min(e,t);let n=this.composing;return n&&n.drifted?n.editorBase+(e-n.contextBase):e+this.from}toContextPos(e){let t=this.composing;return t&&t.drifted?t.contextBase+(e-t.editorBase):e-this.from}destroy(){for(let e in this.handlers)this.editContext.removeEventListener(e,this.handlers[e])}},z=class i{get state(){return this.viewState.state}get viewport(){return this.viewState.viewport}get visibleRanges(){return this.viewState.visibleRanges}get inView(){return this.viewState.inView}get composing(){return!!this.inputState&&this.inputState.composing>0}get compositionStarted(){return!!this.inputState&&this.inputState.composing>=0}get root(){return this._root}get win(){return this.dom.ownerDocument.defaultView||window}constructor(e={}){var t;this.plugins=[],this.pluginMap=new Map,this.editorAttrs={},this.contentAttrs={},this.bidiCache=[],this.destroyed=!1,this.updateState=2,this.measureScheduled=-1,this.measureRequests=[],this.contentDOM=document.createElement("div"),this.scrollDOM=document.createElement("div"),this.scrollDOM.tabIndex=-1,this.scrollDOM.className="cm-scroller",this.scrollDOM.appendChild(this.contentDOM),this.announceDOM=document.createElement("div"),this.announceDOM.className="cm-announced",this.announceDOM.setAttribute("aria-live","polite"),this.dom=document.createElement("div"),this.dom.appendChild(this.announceDOM),this.dom.appendChild(this.scrollDOM),e.parent&&e.parent.appendChild(this.dom);let{dispatch:n}=e;this.dispatchTransactions=e.dispatchTransactions||n&&(r=>r.forEach(s=>n(s,this)))||(r=>this.update(r)),this.dispatch=this.dispatch.bind(this),this._root=e.root||P0(e.parent)||document,this.viewState=new Qs(this,e.state||re.create(e)),e.scrollTo&&e.scrollTo.is(Jr)&&(this.viewState.scrollTarget=e.scrollTo.value.clip(this.viewState.state)),this.plugins=this.state.facet(cn).map(r=>new Hn(r));for(let r of this.plugins)r.update(this);this.observer=new Va(this),this.inputState=new Ca(this),this.inputState.ensureHandlers(this.plugins),this.docView=new Os(this),this.mountStyles(),this.updateAttrs(),this.updateState=0,this.requestMeasure(),!((t=document.fonts)===null||t===void 0)&&t.ready&&document.fonts.ready.then(()=>{this.viewState.mustMeasureContent="refresh",this.requestMeasure()})}dispatch(...e){let t=e.length==1&&e[0]instanceof pe?e:e.length==1&&Array.isArray(e[0])?e[0]:[this.state.update(...e)];this.dispatchTransactions(t,this)}update(e){if(this.updateState!=0)throw new Error("Calls to EditorView.update are not allowed while an update is in progress");let t=!1,n=!1,r,s=this.state;for(let u of e){if(u.startState!=s)throw new RangeError("Trying to update state with a transaction that doesn't start from the previous state.");s=u.state}if(this.destroyed){this.viewState.state=s;return}let o=this.hasFocus,a=0,l=null;e.some(u=>u.annotation(_u))?(this.inputState.notifiedFocused=o,a=1):o!=this.inputState.notifiedFocused&&(this.inputState.notifiedFocused=o,l=Ru(s,o),l||(a=1));let c=this.observer.delayedAndroidKey,h=null;if(c?(this.observer.clearDelayedAndroidKey(),h=this.observer.readChange(),(h&&!this.state.doc.eq(s.doc)||!this.state.selection.eq(s.selection))&&(h=null)):this.observer.clear(),s.facet(re.phrases)!=this.state.facet(re.phrases))return this.setState(s);r=fs.create(this,s,e),r.flags|=a;let f=this.viewState.scrollTarget;try{this.updateState=2;for(let u of e){if(f&&(f=f.map(u.changes)),u.scrollIntoView){let{main:O}=u.state.selection,{x:p,y:m}=this.state.facet(i.cursorScrollMargin);f=new Fn(O.empty?O:P.cursor(O.head,O.head>O.anchor?-1:1),"nearest","nearest",m,p)}for(let O of u.effects)O.is(Jr)&&(f=O.value.clip(this.state))}this.viewState.update(r,f),this.bidiCache=bs.update(this.bidiCache,r.changes),r.empty||(this.updatePlugins(r),this.inputState.update(r)),t=this.docView.update(r),this.state.facet(In)!=this.styleModules&&this.mountStyles(),n=this.updateAttrs(),this.showAnnouncements(e),this.docView.updateSelection(t,e.some(u=>u.isUserEvent("select.pointer")))}finally{this.updateState=0}if(r.startState.facet(rs)!=r.state.facet(rs)&&(this.viewState.mustMeasureContent=!0),(t||n||f||this.viewState.mustEnforceCursorAssoc||this.viewState.mustMeasureContent)&&this.requestMeasure(),t&&this.docViewUpdate(),!r.empty)for(let u of this.state.facet(ma))try{u(r)}catch(O){lt(this.state,O,"update listener")}(l||h)&&Promise.resolve().then(()=>{l&&this.state==l.startState&&this.dispatch(l),h&&!wu(this,h)&&c.force&&un(this.contentDOM,c.key,c.keyCode)})}setState(e){if(this.updateState!=0)throw new Error("Calls to EditorView.setState are not allowed while an update is in progress");if(this.destroyed){this.viewState.state=e;return}this.updateState=2;let t=this.hasFocus;try{for(let n of this.plugins)n.destroy(this);this.viewState=new Qs(this,e),this.plugins=e.facet(cn).map(n=>new Hn(n)),this.pluginMap.clear();for(let n of this.plugins)n.update(this);this.docView.destroy(),this.docView=new Os(this),this.inputState.ensureHandlers(this.plugins),this.mountStyles(),this.updateAttrs(),this.bidiCache=[]}finally{this.updateState=0}t&&this.focus(),this.requestMeasure()}updatePlugins(e){let t=e.startState.facet(cn),n=e.state.facet(cn);if(t!=n){let r=[];for(let s of n){let o=t.indexOf(s);if(o<0)r.push(new Hn(s));else{let a=this.plugins[o];a.mustUpdate=e,r.push(a)}}for(let s of this.plugins)s.mustUpdate!=e&&s.destroy(this);this.plugins=r,this.pluginMap.clear()}else for(let r of this.plugins)r.mustUpdate=e;for(let r=0;r-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.observer.delayedAndroidKey){this.measureScheduled=-1,this.requestMeasure();return}this.measureScheduled=0,e&&this.observer.forceFlush();let t=null,n=this.viewState.scrollParent,r=this.viewState.getScrollOffset(),{scrollAnchorPos:s,scrollAnchorHeight:o}=this.viewState;Math.abs(r-this.viewState.scrollOffset)>1&&(o=-1),this.viewState.scrollAnchorHeight=-1;try{for(let a=0;;a++){if(o<0)if(Kf(n||this.win))s=-1,o=this.viewState.heightMap.height;else{let O=this.viewState.scrollAnchorAt(r);s=O.from,o=O.top}this.updateState=1;let l=this.viewState.measure();if(!l&&!this.measureRequests.length&&this.viewState.scrollTarget==null)break;if(a>5){console.warn(this.measureRequests.length?"Measure loop restarted more than 5 times":"Viewport failed to stabilize");break}let c=[];l&4||([this.measureRequests,c]=[c,this.measureRequests]);let h=c.map(O=>{try{return O.read(this)}catch(p){return lt(this.state,p),Yf}}),f=fs.create(this,this.state,[]),u=!1;f.flags|=l,t?t.flags|=l:t=f,this.updateState=2,f.empty||(this.updatePlugins(f),this.inputState.update(f),this.updateAttrs(),u=this.docView.update(f),u&&this.docViewUpdate());for(let O=0;O1||p<-1)&&!(L.ios&&this.inputState.lastIOSMomentumScroll>Date.now()-100)&&(n==this.scrollDOM||this.hasFocus||Math.max(this.inputState.lastWheelEvent,this.inputState.lastTouchTime)>Date.now()-100)){r=r+p,n?n.scrollTop+=p:this.win.scrollBy(0,p),o=-1;continue}}break}}}finally{this.updateState=0,this.measureScheduled=-1}if(t&&!t.empty)for(let a of this.state.facet(ma))a(t)}get themeClasses(){return Wa+" "+(this.state.facet(Ma)?Eu:Zu)+" "+this.state.facet(rs)}updateAttrs(){let e=If(this,pu,{class:"cm-editor"+(this.hasFocus?" cm-focused ":" ")+this.themeClasses}),t={spellcheck:"false",autocorrect:"off",autocapitalize:"off",writingsuggestions:"false",translate:"no",contenteditable:this.state.facet(zt)?"true":"false",class:"cm-content",style:`${L.tabSize}: ${this.state.tabSize}`,role:"textbox","aria-multiline":"true"};this.state.readOnly&&(t["aria-readonly"]="true"),If(this,Fa,t);let n=this.observer.ignore(()=>{let r=xf(this.contentDOM,this.contentAttrs,t),s=xf(this.dom,this.editorAttrs,e);return r||s});return this.editorAttrs=e,this.contentAttrs=t,n}showAnnouncements(e){let t=!0;for(let n of e)for(let r of n.effects)if(r.is(i.announce)){t&&(this.announceDOM.textContent=""),t=!1;let s=this.announceDOM.appendChild(document.createElement("div"));s.textContent=r.value}}mountStyles(){this.styleModules=this.state.facet(In);let e=this.state.facet(i.cspNonce);rt.mount(this.root,this.styleModules.concat(RQ).reverse(),e?{nonce:e}:void 0)}readMeasured(){if(this.updateState==2)throw new Error("Reading the editor layout isn't allowed during an update");this.updateState==0&&this.measureScheduled>-1&&this.measure(!1)}requestMeasure(e){if(this.measureScheduled<0&&(this.measureScheduled=this.win.requestAnimationFrame(()=>this.measure())),e){if(this.measureRequests.indexOf(e)>-1)return;if(e.key!=null){for(let t=0;tn.plugin==e)||null),t&&t.update(this).value}get documentTop(){return this.contentDOM.getBoundingClientRect().top+this.viewState.paddingTop}get documentPadding(){return{top:this.viewState.paddingTop,bottom:this.viewState.paddingBottom}}get scaleX(){return this.viewState.scaleX}get scaleY(){return this.viewState.scaleY}elementAtHeight(e){return this.readMeasured(),this.viewState.elementAtHeight(e)}lineBlockAtHeight(e){return this.readMeasured(),this.viewState.lineBlockAtHeight(e)}get viewportLineBlocks(){return this.viewState.viewportLines}lineBlockAt(e){return this.viewState.lineBlockAt(e)}get contentHeight(){return this.viewState.contentHeight}moveByChar(e,t,n){return sa(this,e,Cf(this,e,t,n))}moveByGroup(e,t){return sa(this,e,Cf(this,e,t,n=>iQ(this,e.head,n)))}visualLineSide(e,t){let n=this.bidiSpans(e),r=this.textDirectionAt(e.from),s=n[t?n.length-1:0];return P.cursor(s.side(t,r)+e.from,s.forward(!t,r)?1:-1)}moveToLineBoundary(e,t,n=!0){return tQ(this,e,t,n)}moveVertically(e,t,n){return sa(this,e,nQ(this,e,t,n))}domAtPos(e,t=1){return this.docView.domAtPos(e,t)}posAtDOM(e,t=0){return this.docView.posFromDOM(e,t)}posAtCoords(e,t=!0){this.readMeasured();let n=Pa(this,e,t);return n&&n.pos}posAndSideAtCoords(e,t=!0){return this.readMeasured(),Pa(this,e,t)}coordsAtPos(e,t=1){this.readMeasured();let n=this.state.doc.lineAt(e),r=this.bidiSpans(n),s=r[at.find(r,e-n.from,-1,t)];return this.docView.coordsAt(e,t,s.dir==ue.RTL)}coordsForChar(e){return this.readMeasured(),this.docView.coordsForChar(e)}get defaultCharacterWidth(){return this.viewState.heightOracle.charWidth}get defaultLineHeight(){return this.viewState.heightOracle.lineHeight}get textDirection(){return this.viewState.defaultTextDirection}textDirectionAt(e){return!this.state.facet(uu)||ethis.viewport.to?this.textDirection:(this.readMeasured(),this.docView.textDirectionAt(e))}get lineWrapping(){return this.viewState.heightOracle.lineWrapping}bidiSpans(e){if(e.length>EQ)return ru(e.length);let t=this.textDirectionAt(e.from),n;for(let s of this.bidiCache)if(s.from==e.from&&s.dir==t&&(s.fresh||nu(s.isolates,n=vf(this,e))))return s.order;n||(n=vf(this,e));let r=A0(e.text,t,n);return this.bidiCache.push(new bs(e.from,e.to,t,n,!0,r)),r}get hasFocus(){var e;return(this.dom.ownerDocument.hasFocus()||L.safari&&((e=this.inputState)===null||e===void 0?void 0:e.lastContextMenu)>Date.now()-3e4)&&this.root.activeElement==this.contentDOM}focus(){this.observer.ignore(()=>{Hf(this.contentDOM),this.docView.updateSelection()})}setRoot(e){this._root!=e&&(this._root=e,this.observer.setWindow((e.nodeType==9?e:e.ownerDocument).defaultView||window),this.mountStyles())}destroy(){this.root.activeElement==this.contentDOM&&this.contentDOM.blur();for(let e of this.plugins)e.destroy(this);this.plugins=[],this.inputState.destroy(),this.docView.destroy(),this.dom.remove(),this.observer.destroy(),this.measureScheduled>-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.destroyed=!0}static scrollIntoView(e,t={}){var n,r,s,o;return Jr.of(new Fn(typeof e=="number"?P.cursor(e):e,(n=t.y)!==null&&n!==void 0?n:"nearest",(r=t.x)!==null&&r!==void 0?r:"nearest",(s=t.yMargin)!==null&&s!==void 0?s:5,(o=t.xMargin)!==null&&o!==void 0?o:5))}scrollSnapshot(){let{scrollTop:e,scrollLeft:t}=this.scrollDOM,n=this.viewState.scrollAnchorAt(e);return Jr.of(new Fn(P.cursor(n.from),"start","start",n.top-e,t,!0))}setTabFocusMode(e){e==null?this.inputState.tabFocusMode=this.inputState.tabFocusMode<0?0:-1:typeof e=="boolean"?this.inputState.tabFocusMode=e?0:-1:this.inputState.tabFocusMode!=0&&(this.inputState.tabFocusMode=Date.now()+e)}static domEventHandlers(e){return De.define(()=>({}),{eventHandlers:e})}static domEventObservers(e){return De.define(()=>({}),{eventObservers:e})}static theme(e,t){let n=rt.newName(),r=[rs.of(n),In.of(ja(`.${n}`,e))];return t&&t.dark&&r.push(Ma.of(!0)),r}static baseTheme(e){return nt.lowest(In.of(ja("."+Wa,e,qu)))}static findFromDOM(e){var t;let n=e.querySelector(".cm-content"),r=n&&fe.get(n)||fe.get(e);return((t=r?.root)===null||t===void 0?void 0:t.view)||null}};z.styleModule=In;z.inputHandler=hu;z.clipboardInputFilter=Ga;z.clipboardOutputFilter=Na;z.scrollHandler=Ou;z.focusChangeEffect=fu;z.perLineTextDirection=uu;z.exceptionSink=cu;z.updateListener=ma;z.editable=zt;z.mouseSelectionStyle=lu;z.dragMovesSelection=au;z.clickAddsSelectionRange=ou;z.decorations=ys;z.blockWrappers=mu;z.outerDecorations=Ha;z.atomicRanges=sr;z.bidiIsolatedRanges=gu;z.cursorScrollMargin=Y.define({combine:i=>{let e=5,t=5;for(let n of i)typeof n=="number"?e=t=n:{x:e,y:t}=n;return{x:e,y:t}}});z.scrollMargins=Qu;z.darkTheme=Ma;z.cspNonce=Y.define({combine:i=>i.length?i[0]:""});z.contentAttributes=Fa;z.editorAttributes=pu;z.lineWrapping=z.contentAttributes.of({class:"cm-lineWrapping"});z.announce=ie.define();var EQ=4096,Yf={},bs=class i{constructor(e,t,n,r,s,o){this.from=e,this.to=t,this.dir=n,this.isolates=r,this.fresh=s,this.order=o}static update(e,t){if(t.empty&&!e.some(s=>s.fresh))return e;let n=[],r=e.length?e[e.length-1].dir:ue.LTR;for(let s=Math.max(0,e.length-10);s=0;r--){let s=n[r],o=typeof s=="function"?s(i):s;o&&Ia(o,t)}return t}var qQ=L.mac?"mac":L.windows?"win":L.linux?"linux":"key";function zQ(i,e){let t=i.split(/-(?!$)/),n=t[t.length-1];n=="Space"&&(n=" ");let r,s,o,a;for(let l=0;ln.concat(r),[]))),t}var ri=null,WQ=4e3;function jQ(i,e=qQ){let t=Object.create(null),n=Object.create(null),r=(o,a)=>{let l=n[o];if(l==null)n[o]=a;else if(l!=a)throw new Error("Key binding "+o+" is used both as a regular binding and as a multi-stroke prefix")},s=(o,a,l,c,h)=>{var f,u;let O=t[o]||(t[o]=Object.create(null)),p=a.split(/ (?!$)/).map(g=>zQ(g,e));for(let g=1;g{let x=ri={view:S,prefix:Q,scope:o};return setTimeout(()=>{ri==x&&(ri=null)},WQ),!0}]})}let m=p.join(" ");r(m,!1);let b=O[m]||(O[m]={preventDefault:!1,stopPropagation:!1,run:((u=(f=O._any)===null||f===void 0?void 0:f.run)===null||u===void 0?void 0:u.slice())||[]});l&&b.run.push(l),c&&(b.preventDefault=!0),h&&(b.stopPropagation=!0)};for(let o of i){let a=o.scope?o.scope.split(" "):["editor"];if(o.any)for(let c of a){let h=t[c]||(t[c]=Object.create(null));h._any||(h._any={preventDefault:!1,stopPropagation:!1,run:[]});let{any:f}=o;for(let u in h)h[u].run.push(O=>f(O,Ya))}let l=o[e]||o.key;if(l)for(let c of a)s(c,l,o.run,o.preventDefault,o.stopPropagation),o.shift&&s(c,"Shift-"+l,o.shift,o.preventDefault,o.stopPropagation)}return t}var Ya=null;function VQ(i,e,t,n){Ya=e;let r=bf(e),s=ni(r,0),o=on(s)==r.length&&r!=" ",a="",l=!1,c=!1,h=!1;ri&&ri.view==t&&ri.scope==n&&(a=ri.prefix+" ",$u.indexOf(e.keyCode)<0&&(c=!0,ri=null));let f=new Set,u=b=>{if(b){for(let g of b.run)if(!f.has(g)&&(f.add(g),g(t)))return b.stopPropagation&&(h=!0),!0;b.preventDefault&&(b.stopPropagation&&(h=!0),c=!0)}return!1},O=i[n],p,m;return O&&(u(O[a+ss(r,e,!o)])?l=!0:o&&(e.altKey||e.metaKey||e.ctrlKey)&&!(L.windows&&e.ctrlKey&&e.altKey)&&!(L.mac&&e.altKey&&!(e.ctrlKey||e.metaKey))&&(p=qt[e.keyCode])&&p!=r?(u(O[a+ss(p,e,!0)])||e.shiftKey&&(m=an[e.keyCode])!=r&&m!=p&&u(O[a+ss(m,e,!1)]))&&(l=!0):o&&e.shiftKey&&u(O[a+ss(r,e,!0)])&&(l=!0),!l&&u(O._any)&&(l=!0)),c&&(l=!0),l&&h&&e.stopPropagation(),Ya=null,l}var zu=ie.define({map(i,e){return i==null?null:e.mapPos(i)}}),Un=he.define({create(){return null},update(i,e){return i!=null&&(i=e.changes.mapPos(i)),e.effects.reduce((t,n)=>n.is(zu)?n.value:t,i)}}),DQ=De.fromClass(class{constructor(i){this.view=i,this.cursor=null,this.measureReq={read:this.readPos.bind(this),write:this.drawCursor.bind(this)}}update(i){var e;let t=i.state.field(Un);t==null?this.cursor!=null&&((e=this.cursor)===null||e===void 0||e.remove(),this.cursor=null):(this.cursor||(this.cursor=this.view.scrollDOM.appendChild(document.createElement("div")),this.cursor.className="cm-dropCursor"),(i.startState.field(Un)!=t||i.docChanged||i.geometryChanged)&&this.view.requestMeasure(this.measureReq))}readPos(){let{view:i}=this,e=i.state.field(Un),t=e!=null&&i.coordsAtPos(e);if(!t)return null;let n=i.scrollDOM.getBoundingClientRect();return{left:t.left-n.left+i.scrollDOM.scrollLeft*i.scaleX,top:t.top-n.top+i.scrollDOM.scrollTop*i.scaleY,height:t.bottom-t.top}}drawCursor(i){if(this.cursor){let{scaleX:e,scaleY:t}=this.view;i?(this.cursor.style.left=i.left/e+"px",this.cursor.style.top=i.top/t+"px",this.cursor.style.height=i.height/t+"px"):this.cursor.style.left="-100000px"}}destroy(){this.cursor&&this.cursor.remove()}setDropPos(i){this.view.state.field(Un)!=i&&this.view.dispatch({effects:zu.of(i)})}},{eventObservers:{dragover(i){this.setDropPos(this.view.posAtCoords({x:i.clientX,y:i.clientY}))},dragleave(i){(i.target==this.view.contentDOM||!this.view.contentDOM.contains(i.relatedTarget))&&this.setDropPos(null)},dragend(){this.setDropPos(null)},drop(){this.setDropPos(null)}}});function Lu(){return[Un,DQ]}var o$=/x/.unicode!=null?"gu":"g";var Wt=class extends it{compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}eq(e){return!1}destroy(e){}};Wt.prototype.elementClass="";Wt.prototype.toDOM=void 0;Wt.prototype.mapMode=ge.TrackBefore;Wt.prototype.startSide=Wt.prototype.endSide=-1;Wt.prototype.point=!0;var YQ=0,Ye=class{constructor(e,t){this.from=e,this.to=t}},I=class{constructor(e={}){this.id=YQ++,this.perNode=!!e.perNode,this.deserialize=e.deserialize||(()=>{throw new Error("This node type doesn't define a deserialize function")}),this.combine=e.combine||null}add(e){if(this.perNode)throw new RangeError("Can't add per-node props to node types");return typeof e!="function"&&(e=Oe.match(e)),t=>{let n=e(t);return n===void 0?null:[this,n]}}};I.closedBy=new I({deserialize:i=>i.split(" ")});I.openedBy=new I({deserialize:i=>i.split(" ")});I.group=new I({deserialize:i=>i.split(" ")});I.isolate=new I({deserialize:i=>{if(i&&i!="rtl"&&i!="ltr"&&i!="auto")throw new RangeError("Invalid value for isolate: "+i);return i||"auto"}});I.contextHash=new I({perNode:!0});I.lookAhead=new I({perNode:!0});I.mounted=new I({perNode:!0});var hi=class{constructor(e,t,n,r=!1){this.tree=e,this.overlay=t,this.parser=n,this.bracketed=r}static get(e){return e&&e.props&&e.props[I.mounted.id]}},IQ=Object.create(null),Oe=class i{constructor(e,t,n,r=0){this.name=e,this.props=t,this.id=n,this.flags=r}static define(e){let t=e.props&&e.props.length?Object.create(null):IQ,n=(e.top?1:0)|(e.skipped?2:0)|(e.error?4:0)|(e.name==null?8:0),r=new i(e.name||"",t,e.id,n);if(e.props){for(let s of e.props)if(Array.isArray(s)||(s=s(r)),s){if(s[0].perNode)throw new RangeError("Can't store a per-node prop on a node type");t[s[0].id]=s[1]}}return r}prop(e){return this.props[e.id]}get isTop(){return(this.flags&1)>0}get isSkipped(){return(this.flags&2)>0}get isError(){return(this.flags&4)>0}get isAnonymous(){return(this.flags&8)>0}is(e){if(typeof e=="string"){if(this.name==e)return!0;let t=this.prop(I.group);return t?t.indexOf(e)>-1:!1}return this.id==e}static match(e){let t=Object.create(null);for(let n in e)for(let r of n.split(" "))t[r]=e[n];return n=>{for(let r=n.prop(I.group),s=-1;s<(r?r.length:0);s++){let o=t[s<0?n.name:r[s]];if(o)return o}}}};Oe.none=new Oe("",Object.create(null),0,8);var jt=class i{constructor(e){this.types=e;for(let t=0;t0;for(let l=this.cursor(o|te.IncludeAnonymous);;){let c=!1;if(l.from<=s&&l.to>=r&&(!a&&l.type.isAnonymous||t(l)!==!1)){if(l.firstChild())continue;c=!0}for(;c&&n&&(a||!l.type.isAnonymous)&&n(l),!l.nextSibling();){if(!l.parent())return;c=!0}}}prop(e){return e.perNode?this.props?this.props[e.id]:void 0:this.type.prop(e)}get propValues(){let e=[];if(this.props)for(let t in this.props)e.push([+t,this.props[t]]);return e}balance(e={}){return this.children.length<=8?this:cl(Oe.none,this.children,this.positions,0,this.children.length,0,this.length,(t,n,r)=>new i(this.type,t,n,r,this.propValues),e.makeTree||((t,n,r)=>new i(Oe.none,t,n,r)))}static build(e){return UQ(e)}};F.empty=new F(Oe.none,[],[],0);var Ja=class i{constructor(e,t){this.buffer=e,this.index=t}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}get pos(){return this.index}next(){this.index-=4}fork(){return new i(this.buffer,this.index)}},fi=class i{constructor(e,t,n){this.buffer=e,this.length=t,this.set=n}get type(){return Oe.none}toString(){let e=[];for(let t=0;t0));l=o[l+3]);return a}slice(e,t,n){let r=this.buffer,s=new Uint16Array(t-e),o=0;for(let a=e,l=0;a=e&&te;case 1:return t<=e&&n>e;case 2:return n>e;case 4:return!0}}function or(i,e,t,n){for(var r;i.from==i.to||(t<1?i.from>=e:i.from>e)||(t>-1?i.to<=e:i.to0?a.length:-1;e!=c;e+=t){let h=a[e],f=l[e]+o.from,u;if(!(!(s&te.EnterBracketed&&h instanceof F&&(u=hi.get(h))&&!u.overlay&&u.bracketed&&n>=f&&n<=f+h.length)&&!Bu(r,n,f,f+h.length))){if(h instanceof fi){if(s&te.ExcludeBuffers)continue;let O=h.findChild(0,h.buffer.length,t,n-f,r);if(O>-1)return new qi(new tl(o,h,e,f),null,O)}else if(s&te.IncludeAnonymous||!h.type.isAnonymous||ll(h)){let O;if(!(s&te.IgnoreMounts)&&(O=hi.get(h))&&!O.overlay)return new i(O.tree,f,e,o);let p=new i(h,f,e,o);return s&te.IncludeAnonymous||!p.type.isAnonymous?p:p.nextChild(t<0?h.children.length-1:0,t,n,r,s)}}}if(s&te.IncludeAnonymous||!o.type.isAnonymous||(o.index>=0?e=o.index+t:e=t<0?-1:o._parent._tree.children.length,o=o._parent,!o))return null}}get firstChild(){return this.nextChild(0,1,0,4)}get lastChild(){return this.nextChild(this._tree.children.length-1,-1,0,4)}childAfter(e){return this.nextChild(0,1,e,2)}childBefore(e){return this.nextChild(this._tree.children.length-1,-1,e,-2)}prop(e){return this._tree.prop(e)}enter(e,t,n=0){let r;if(!(n&te.IgnoreOverlays)&&(r=hi.get(this._tree))&&r.overlay){let s=e-this.from,o=n&te.EnterBracketed&&r.bracketed;for(let{from:a,to:l}of r.overlay)if((t>0||o?a<=s:a=s:l>s))return new i(r.tree,r.overlay[0].from+this.from,-1,this)}return this.nextChild(0,1,e,t,n)}nextSignificantParent(){let e=this;for(;e.type.isAnonymous&&e._parent;)e=e._parent;return e}get parent(){return this._parent?this._parent.nextSignificantParent():null}get nextSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index+1,1,0,4):null}get prevSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index-1,-1,0,4):null}get tree(){return this._tree}toTree(){return this._tree}toString(){return this._tree.toString()}};function Wu(i,e,t,n){let r=i.cursor(),s=[];if(!r.firstChild())return s;if(t!=null){for(let o=!1;!o;)if(o=r.type.is(t),!r.nextSibling())return s}for(;;){if(n!=null&&r.type.is(n))return s;if(r.type.is(e)&&s.push(r.node),!r.nextSibling())return n==null?s:[]}}function el(i,e,t=e.length-1){for(let n=i;t>=0;n=n.parent){if(!n)return!1;if(!n.type.isAnonymous){if(e[t]&&e[t]!=n.name)return!1;t--}}return!0}var tl=class{constructor(e,t,n,r){this.parent=e,this.buffer=t,this.index=n,this.start=r}},qi=class i extends Ps{get name(){return this.type.name}get from(){return this.context.start+this.context.buffer.buffer[this.index+1]}get to(){return this.context.start+this.context.buffer.buffer[this.index+2]}constructor(e,t,n){super(),this.context=e,this._parent=t,this.index=n,this.type=e.buffer.set.types[e.buffer.buffer[n]]}child(e,t,n){let{buffer:r}=this.context,s=r.findChild(this.index+4,r.buffer[this.index+3],e,t-this.context.start,n);return s<0?null:new i(this.context,this,s)}get firstChild(){return this.child(1,0,4)}get lastChild(){return this.child(-1,0,4)}childAfter(e){return this.child(1,e,2)}childBefore(e){return this.child(-1,e,-2)}prop(e){return this.type.prop(e)}enter(e,t,n=0){if(n&te.ExcludeBuffers)return null;let{buffer:r}=this.context,s=r.findChild(this.index+4,r.buffer[this.index+3],t>0?1:-1,e-this.context.start,t);return s<0?null:new i(this.context,this,s)}get parent(){return this._parent||this.context.parent.nextSignificantParent()}externalSibling(e){return this._parent?null:this.context.parent.nextChild(this.context.index+e,e,0,4)}get nextSibling(){let{buffer:e}=this.context,t=e.buffer[this.index+3];return t<(this._parent?e.buffer[this._parent.index+3]:e.buffer.length)?new i(this.context,this._parent,t):this.externalSibling(1)}get prevSibling(){let{buffer:e}=this.context,t=this._parent?this._parent.index+4:0;return this.index==t?this.externalSibling(-1):new i(this.context,this._parent,e.findChild(t,this.index,-1,0,4))}get tree(){return null}toTree(){let e=[],t=[],{buffer:n}=this.context,r=this.index+4,s=n.buffer[this.index+3];if(s>r){let o=n.buffer[this.index+1];e.push(n.slice(r,s,o)),t.push(0)}return new F(this.type,e,t,this.to-this.from)}toString(){return this.context.buffer.childString(this.index)}};function Uu(i){if(!i.length)return null;let e=0,t=i[0];for(let s=1;st.from||o.to=e){let a=new Ie(o.tree,o.overlay[0].from+s.from,-1,s);(r||(r=[n])).push(or(a,e,t,!1))}}return r?Uu(r):n}var Qn=class{get name(){return this.type.name}constructor(e,t=0){if(this.buffer=null,this.stack=[],this.index=0,this.bufferNode=null,this.mode=t&~te.EnterBracketed,e instanceof Ie)this.yieldNode(e);else{this._tree=e.context.parent,this.buffer=e.context;for(let n=e._parent;n;n=n._parent)this.stack.unshift(n.index);this.bufferNode=e,this.yieldBuf(e.index)}}yieldNode(e){return e?(this._tree=e,this.type=e.type,this.from=e.from,this.to=e.to,!0):!1}yieldBuf(e,t){this.index=e;let{start:n,buffer:r}=this.buffer;return this.type=t||r.set.types[r.buffer[e]],this.from=n+r.buffer[e+1],this.to=n+r.buffer[e+2],!0}yield(e){return e?e instanceof Ie?(this.buffer=null,this.yieldNode(e)):(this.buffer=e.context,this.yieldBuf(e.index,e.type)):!1}toString(){return this.buffer?this.buffer.buffer.childString(this.index):this._tree.toString()}enterChild(e,t,n){if(!this.buffer)return this.yield(this._tree.nextChild(e<0?this._tree._tree.children.length-1:0,e,t,n,this.mode));let{buffer:r}=this.buffer,s=r.findChild(this.index+4,r.buffer[this.index+3],e,t-this.buffer.start,n);return s<0?!1:(this.stack.push(this.index),this.yieldBuf(s))}firstChild(){return this.enterChild(1,0,4)}lastChild(){return this.enterChild(-1,0,4)}childAfter(e){return this.enterChild(1,e,2)}childBefore(e){return this.enterChild(-1,e,-2)}enter(e,t,n=this.mode){return this.buffer?n&te.ExcludeBuffers?!1:this.enterChild(1,e,t):this.yield(this._tree.enter(e,t,n))}parent(){if(!this.buffer)return this.yieldNode(this.mode&te.IncludeAnonymous?this._tree._parent:this._tree.parent);if(this.stack.length)return this.yieldBuf(this.stack.pop());let e=this.mode&te.IncludeAnonymous?this.buffer.parent:this.buffer.parent.nextSignificantParent();return this.buffer=null,this.yieldNode(e)}sibling(e){if(!this.buffer)return this._tree._parent?this.yield(this._tree.index<0?null:this._tree._parent.nextChild(this._tree.index+e,e,0,4,this.mode)):!1;let{buffer:t}=this.buffer,n=this.stack.length-1;if(e<0){let r=n<0?0:this.stack[n]+4;if(this.index!=r)return this.yieldBuf(t.findChild(r,this.index,-1,0,4))}else{let r=t.buffer[this.index+3];if(r<(n<0?t.buffer.length:t.buffer[this.stack[n]+3]))return this.yieldBuf(r)}return n<0?this.yield(this.buffer.parent.nextChild(this.buffer.index+e,e,0,4,this.mode)):!1}nextSibling(){return this.sibling(1)}prevSibling(){return this.sibling(-1)}atLastNode(e){let t,n,{buffer:r}=this;if(r){if(e>0){if(this.index-1)for(let s=t+e,o=e<0?-1:n._tree.children.length;s!=o;s+=e){let a=n._tree.children[s];if(this.mode&te.IncludeAnonymous||a instanceof fi||!a.type.isAnonymous||ll(a))return!1}return!0}move(e,t){if(t&&this.enterChild(e,0,4))return!0;for(;;){if(this.sibling(e))return!0;if(this.atLastNode(e)||!this.parent())return!1}}next(e=!0){return this.move(1,e)}prev(e=!0){return this.move(-1,e)}moveTo(e,t=0){for(;(this.from==this.to||(t<1?this.from>=e:this.from>e)||(t>-1?this.to<=e:this.to=0;){for(let o=e;o;o=o._parent)if(o.index==r){if(r==this.index)return o;t=o,n=s+1;break e}r=this.stack[--s]}for(let r=n;r=0;s--){if(s<0)return el(this._tree,e,r);let o=n[t.buffer[this.stack[s]]];if(!o.isAnonymous){if(e[r]&&e[r]!=o.name)return!1;r--}}return!0}};function ll(i){return i.children.some(e=>e instanceof fi||!e.type.isAnonymous||ll(e))}function UQ(i){var e;let{buffer:t,nodeSet:n,maxBufferLength:r=1024,reused:s=[],minRepeatType:o=n.types.length}=i,a=Array.isArray(t)?new Ja(t,t.length):t,l=n.types,c=0,h=0;function f(v,$,R,_,W,T){let{id:k,start:w,end:C,size:j}=a,y=h,q=c;if(j<0)if(a.next(),j==-1){let N=s[k];R.push(N),_.push(w-v);return}else if(j==-3){c=k;return}else if(j==-4){h=k;return}else throw new RangeError(`Unrecognized record size: ${j}`);let de=l[k],Zt,X,G=w-v;if(C-w<=r&&(X=b(a.pos-$,W))){let N=new Uint16Array(X.size-X.skip),B=a.pos-X.size,se=N.length;for(;a.pos>B;)se=g(X.start,N,se);Zt=new fi(N,C-X.start,n),G=X.start-v}else{let N=a.pos-j;a.next();let B=[],se=[],H=k>=o?k:-1,be=0,Xe=C;for(;a.pos>N;)H>=0&&a.id==H&&a.size>=0?(a.end<=Xe-r&&(p(B,se,w,be,a.end,Xe,H,y,q),be=B.length,Xe=a.end),a.next()):T>2500?u(w,N,B,se):f(w,N,B,se,H,T+1);if(H>=0&&be>0&&be-1&&be>0){let ti=O(de,q);Zt=cl(de,B,se,0,B.length,0,C-w,ti,ti)}else Zt=m(de,B,se,C-w,y-C,q)}R.push(Zt),_.push(G)}function u(v,$,R,_){let W=[],T=0,k=-1;for(;a.pos>$;){let{id:w,start:C,end:j,size:y}=a;if(y>4)a.next();else{if(k>-1&&C=0;j-=3)w[y++]=W[j],w[y++]=W[j+1]-C,w[y++]=W[j+2]-C,w[y++]=y;R.push(new fi(w,W[2]-C,n)),_.push(C-v)}}function O(v,$){return(R,_,W)=>{let T=0,k=R.length-1,w,C;if(k>=0&&(w=R[k])instanceof F){if(!k&&w.type==v&&w.length==W)return w;(C=w.prop(I.lookAhead))&&(T=_[k]+w.length+C)}return m(v,R,_,W,T,$)}}function p(v,$,R,_,W,T,k,w,C){let j=[],y=[];for(;v.length>_;)j.push(v.pop()),y.push($.pop()+R-W);v.push(m(n.types[k],j,y,T-W,w-T,C)),$.push(W-R)}function m(v,$,R,_,W,T,k){if(T){let w=[I.contextHash,T];k=k?[w].concat(k):[w]}if(W>25){let w=[I.lookAhead,W];k=k?[w].concat(k):[w]}return new F(v,$,R,_,k)}function b(v,$){let R=a.fork(),_=0,W=0,T=0,k=R.end-r,w={size:0,start:0,skip:0};e:for(let C=R.pos-v;R.pos>C;){let j=R.size;if(R.id==$&&j>=0){w.size=_,w.start=W,w.skip=T,T+=4,_+=4,R.next();continue}let y=R.pos-j;if(j<0||y=o?4:0,de=R.start;for(R.next();R.pos>y;){if(R.size<0)if(R.size==-3||R.size==-4)q+=4;else break e;else R.id>=o&&(q+=4);R.next()}W=de,_+=j,T+=q}return($<0||_==v)&&(w.size=_,w.start=W,w.skip=T),w.size>4?w:void 0}function g(v,$,R){let{id:_,start:W,end:T,size:k}=a;if(a.next(),k>=0&&_4){let C=a.pos-(k-4);for(;a.pos>C;)R=g(v,$,R)}$[--R]=w,$[--R]=T-v,$[--R]=W-v,$[--R]=_}else k==-3?c=_:k==-4&&(h=_);return R}let Q=[],S=[];for(;a.pos>0;)f(i.start||0,i.bufferStart||0,Q,S,-1,0);let x=(e=i.length)!==null&&e!==void 0?e:Q.length?S[0]+Q[0].length:0;return new F(l[i.topID],Q.reverse(),S.reverse(),x)}var ju=new WeakMap;function ws(i,e){if(!i.isAnonymous||e instanceof fi||e.type!=i)return 1;let t=ju.get(e);if(t==null){t=1;for(let n of e.children){if(n.type!=i||!(n instanceof F)){t=1;break}t+=ws(i,n)}ju.set(e,t)}return t}function cl(i,e,t,n,r,s,o,a,l){let c=0;for(let p=n;p=h)break;$+=R}if(S==x+1){if($>h){let R=p[x];O(R.children,R.positions,0,R.children.length,m[x]+Q);continue}f.push(p[x])}else{let R=m[S-1]+p[S-1].length-v;f.push(cl(i,p,m,x,S,v,R,null,l))}u.push(v+Q-s)}}return O(e,t,n,r,0),(a||l)(f,u,o)}var ui=class{constructor(){this.map=new WeakMap}setBuffer(e,t,n){let r=this.map.get(e);r||this.map.set(e,r=new Map),r.set(t,n)}getBuffer(e,t){let n=this.map.get(e);return n&&n.get(t)}set(e,t){e instanceof qi?this.setBuffer(e.context.buffer,e.index,t):e instanceof Ie&&this.map.set(e.tree,t)}get(e){return e instanceof qi?this.getBuffer(e.context.buffer,e.index):e instanceof Ie?this.map.get(e.tree):void 0}cursorSet(e,t){e.buffer?this.setBuffer(e.buffer.buffer,e.index,t):this.map.set(e.tree,t)}cursorGet(e){return e.buffer?this.getBuffer(e.buffer.buffer,e.index):this.map.get(e.tree)}},Vt=class i{constructor(e,t,n,r,s=!1,o=!1){this.from=e,this.to=t,this.tree=n,this.offset=r,this.open=(s?1:0)|(o?2:0)}get openStart(){return(this.open&1)>0}get openEnd(){return(this.open&2)>0}static addTree(e,t=[],n=!1){let r=[new i(0,e.length,e,0,!1,n)];for(let s of t)s.to>e.length&&r.push(s);return r}static applyChanges(e,t,n=128){if(!t.length)return e;let r=[],s=1,o=e.length?e[0]:null;for(let a=0,l=0,c=0;;a++){let h=a=n)for(;o&&o.from=u.from||f<=u.to||c){let O=Math.max(u.from,l)-c,p=Math.min(u.to,f)-c;u=O>=p?null:new i(O,p,u.tree,u.offset+c,a>0,!!h)}if(u&&r.push(u),o.to>f)break;o=snew Ye(r.from,r.to)):[new Ye(0,0)]:[new Ye(0,e.length)],this.createParse(e,t||[],n)}parse(e,t,n){let r=this.startParse(e,t,n);for(;;){let s=r.advance();if(s)return s}}},nl=class{constructor(e){this.string=e}get length(){return this.string.length}chunk(e){return this.string.slice(e)}get lineChunks(){return!1}read(e,t){return this.string.slice(e,t)}};function bn(i){return(e,t,n,r)=>new ol(e,i,t,n,r)}var vs=class{constructor(e,t,n,r,s,o){this.parser=e,this.parse=t,this.overlay=n,this.bracketed=r,this.target=s,this.from=o}};function Vu(i){if(!i.length||i.some(e=>e.from>=e.to))throw new RangeError("Invalid inner parse ranges given: "+JSON.stringify(i))}var rl=class{constructor(e,t,n,r,s,o,a,l){this.parser=e,this.predicate=t,this.mounts=n,this.index=r,this.start=s,this.bracketed=o,this.target=a,this.prev=l,this.depth=0,this.ranges=[]}},sl=new I({perNode:!0}),ol=class{constructor(e,t,n,r,s){this.nest=t,this.input=n,this.fragments=r,this.ranges=s,this.inner=[],this.innerDone=0,this.baseTree=null,this.stoppedAt=null,this.baseParse=e}advance(){if(this.baseParse){let n=this.baseParse.advance();if(!n)return null;if(this.baseParse=null,this.baseTree=n,this.startInner(),this.stoppedAt!=null)for(let r of this.inner)r.parse.stopAt(this.stoppedAt)}if(this.innerDone==this.inner.length){let n=this.baseTree;return this.stoppedAt!=null&&(n=new F(n.type,n.children,n.positions,n.length,n.propValues.concat([[sl,this.stoppedAt]]))),n}let e=this.inner[this.innerDone],t=e.parse.advance();if(t){this.innerDone++;let n=Object.assign(Object.create(null),e.target.props);n[I.mounted.id]=new hi(t,e.overlay,e.parser,e.bracketed),e.target.props=n}return null}get parsedPos(){if(this.baseParse)return 0;let e=this.input.length;for(let t=this.innerDone;t=this.stoppedAt)a=!1;else if(e.hasNode(r)){if(t){let c=t.mounts.find(h=>h.frag.from<=r.from&&h.frag.to>=r.to&&h.mount.overlay);if(c)for(let h of c.mount.overlay){let f=h.from+c.pos,u=h.to+c.pos;f>=r.from&&u<=r.to&&!t.ranges.some(O=>O.fromf)&&t.ranges.push({from:f,to:u})}}a=!1}else if(n&&(o=GQ(n.ranges,r.from,r.to)))a=o!=2;else if(!r.type.isAnonymous&&(s=this.nest(r,this.input))&&(r.fromnew Ye(f.from-r.from,f.to-r.from)):null,!!s.bracketed,r.tree,h.length?h[0].from:r.from)),s.overlay?h.length&&(n={ranges:h,depth:0,prev:n}):a=!1}}else if(t&&(l=t.predicate(r))&&(l===!0&&(l=new Ye(r.from,r.to)),l.from=0&&t.ranges[c].to==l.from?t.ranges[c]={from:t.ranges[c].from,to:l.to}:t.ranges.push(l)}if(a&&r.firstChild())t&&t.depth++,n&&n.depth++;else for(;!r.nextSibling();){if(!r.parent())break e;if(t&&!--t.depth){let c=Yu(this.ranges,t.ranges);c.length&&(Vu(c),this.inner.splice(t.index,0,new vs(t.parser,t.parser.startParse(this.input,Iu(t.mounts,c),c),t.ranges.map(h=>new Ye(h.from-t.start,h.to-t.start)),t.bracketed,t.target,c[0].from))),t=t.prev}n&&!--n.depth&&(n=n.prev)}}}};function GQ(i,e,t){for(let n of i){if(n.from>=t)break;if(n.to>e)return n.from<=e&&n.to>=t?2:1}return 0}function Du(i,e,t,n,r,s){if(e=e&&t.enter(n,1,te.IgnoreOverlays|te.ExcludeBuffers)))if(t.to<=e)t.next(!1)||(this.done=!0);else break}hasNode(e){if(this.moveTo(e.from),!this.done&&this.cursor.from+this.offset==e.from&&this.cursor.tree)for(let t=this.cursor.tree;;){if(t==e.tree)return!0;if(t.children.length&&t.positions[0]==0&&t.children[0]instanceof F)t=t.children[0];else break}return!1}},al=class{constructor(e){var t;if(this.fragments=e,this.curTo=0,this.fragI=0,e.length){let n=this.curFrag=e[0];this.curTo=(t=n.tree.prop(sl))!==null&&t!==void 0?t:n.to,this.inner=new $s(n.tree,-n.offset)}else this.curFrag=this.inner=null}hasNode(e){for(;this.curFrag&&e.from>=this.curTo;)this.nextFrag();return this.curFrag&&this.curFrag.from<=e.from&&this.curTo>=e.to&&this.inner.hasNode(e)}nextFrag(){var e;if(this.fragI++,this.fragI==this.fragments.length)this.curFrag=this.inner=null;else{let t=this.curFrag=this.fragments[this.fragI];this.curTo=(e=t.tree.prop(sl))!==null&&e!==void 0?e:t.to,this.inner=new $s(t.tree,-t.offset)}}findMounts(e,t){var n;let r=[];if(this.inner){this.inner.cursor.moveTo(e,1);for(let s=this.inner.cursor.node;s;s=s.parent){let o=(n=s.tree)===null||n===void 0?void 0:n.prop(I.mounted);if(o&&o.parser==t)for(let a=this.fragI;a=s.to)break;l.tree==this.curFrag.tree&&r.push({frag:l,pos:s.from-l.offset,mount:o})}}}return r}};function Yu(i,e){let t=null,n=e;for(let r=1,s=0;r=a)break;l.to<=o||(t||(n=t=e.slice()),l.froma&&t.splice(s+1,0,new Ye(a,l.to))):l.to>a?t[s--]=new Ye(a,l.to):t.splice(s--,1))}}return n}function FQ(i,e,t,n){let r=0,s=0,o=!1,a=!1,l=-1e9,c=[];for(;;){let h=r==i.length?1e9:o?i[r].to:i[r].from,f=s==e.length?1e9:a?e[s].to:e[s].from;if(o!=a){let u=Math.max(l,t),O=Math.min(h,f,n);unew Ye(u.from+n,u.to+n)),f=FQ(e,h,l,c);for(let u=0,O=l;;u++){let p=u==f.length,m=p?c:f[u].from;if(m>O&&t.push(new Vt(O,m,r.tree,-o,s.from>=O||s.openStart,s.to<=m||s.openEnd)),p)break;O=f[u].to}}else t.push(new Vt(l,c,r.tree,-o,s.from>=o||s.openStart,s.to<=a||s.openEnd))}return t}var HQ=0,Ke=class i{constructor(e,t,n,r){this.name=e,this.set=t,this.base=n,this.modified=r,this.id=HQ++}toString(){let{name:e}=this;for(let t of this.modified)t.name&&(e=`${t.name}(${e})`);return e}static define(e,t){let n=typeof e=="string"?e:"?";if(e instanceof i&&(t=e),t?.base)throw new Error("Can not derive from a modified tag");let r=new i(n,[],null,[]);if(r.set.push(r),t)for(let s of t.set)r.set.push(s);return r}static defineModifier(e){let t=new _s(e);return n=>n.modified.indexOf(t)>-1?n:_s.get(n.base||n,n.modified.concat(t).sort((r,s)=>r.id-s.id))}},KQ=0,_s=class i{constructor(e){this.name=e,this.instances=[],this.id=KQ++}static get(e,t){if(!t.length)return e;let n=t[0].instances.find(a=>a.base==e&&JQ(t,a.modified));if(n)return n;let r=[],s=new Ke(e.name,r,e,t);for(let a of t)a.instances.push(s);let o=eb(t);for(let a of e.set)if(!a.modified.length)for(let l of o)r.push(i.get(a,l));return s}};function JQ(i,e){return i.length==e.length&&i.every((t,n)=>t==e[n])}function eb(i){let e=[[]];for(let t=0;tn.length-t.length)}function Qe(i){let e=Object.create(null);for(let t in i){let n=i[t];Array.isArray(n)||(n=[n]);for(let r of t.split(" "))if(r){let s=[],o=2,a=r;for(let f=0;;){if(a=="..."&&f>0&&f+3==r.length){o=1;break}let u=/^"(?:[^"\\]|\\.)*?"|[^\/!]+/.exec(a);if(!u)throw new RangeError("Invalid path: "+r);if(s.push(u[0]=="*"?"":u[0][0]=='"'?JSON.parse(u[0]):u[0]),f+=u[0].length,f==r.length)break;let O=r[f++];if(f==r.length&&O=="!"){o=0;break}if(O!="/")throw new RangeError("Invalid path: "+r);a=r.slice(f)}let l=s.length-1,c=s[l];if(!c)throw new RangeError("Invalid path: "+r);let h=new Li(n,o,l>0?s.slice(0,l):null);e[c]=h.sort(e[c])}}return Fu.add(e)}var Fu=new I({combine(i,e){let t,n,r;for(;i||e;){if(!i||e&&i.depth>=e.depth?(r=e,e=e.next):(r=i,i=i.next),t&&t.mode==r.mode&&!r.context&&!t.context)continue;let s=new Li(r.tags,r.mode,r.context);t?t.next=s:n=s,t=s}return n}}),Li=class{constructor(e,t,n,r){this.tags=e,this.mode=t,this.context=n,this.next=r}get opaque(){return this.mode==0}get inherit(){return this.mode==1}sort(e){return!e||e.depth{let o=r;for(let a of s)for(let l of a.set){let c=t[l.id];if(c){o=o?o+" "+c:c;break}}return o},scope:n}}function tb(i,e){let t=null;for(let n of i){let r=n.style(e);r&&(t=t?t+" "+r:r)}return t}function Rs(i,e,t,n=0,r=i.length){let s=new fl(n,Array.isArray(e)?e:[e],t);s.highlightRange(i.cursor(),n,r,"",s.highlighters),s.flush(r)}var fl=class{constructor(e,t,n){this.at=e,this.highlighters=t,this.span=n,this.class=""}startSpan(e,t){t!=this.class&&(this.flush(e),e>this.at&&(this.at=e),this.class=t)}flush(e){e>this.at&&this.class&&this.span(this.at,e,this.class)}highlightRange(e,t,n,r,s){let{type:o,from:a,to:l}=e;if(a>=n||l<=t)return;o.isTop&&(s=this.highlighters.filter(O=>!O.scope||O.scope(o)));let c=r,h=ib(e)||Li.empty,f=tb(s,h.tags);if(f&&(c&&(c+=" "),c+=f,h.mode==1&&(r+=(r?" ":"")+f)),this.startSpan(Math.max(t,a),c),h.opaque)return;let u=e.tree&&e.tree.prop(I.mounted);if(u&&u.overlay){let O=e.node.enter(u.overlay[0].from+a,1),p=this.highlighters.filter(b=>!b.scope||b.scope(u.tree.type)),m=e.firstChild();for(let b=0,g=a;;b++){let Q=b=S||!e.nextSibling())););if(!Q||S>n)break;g=Q.to+a,g>t&&(this.highlightRange(O.cursor(),Math.max(t,Q.from+a),Math.min(n,g),"",p),this.startSpan(Math.min(n,g),c))}m&&e.parent()}else if(e.firstChild()){u&&(r="");do if(!(e.to<=t)){if(e.from>=n)break;this.highlightRange(e,t,n,r,s),this.startSpan(Math.min(n,e.to),c)}while(e.nextSibling());e.parent()}}};function ib(i){let e=i.type.prop(Fu);for(;e&&e.context&&!i.matchContext(e.context);)e=e.next;return e||null}var E=Ke.define,Ts=E(),Oi=E(),Gu=E(Oi),Nu=E(Oi),di=E(),Cs=E(di),hl=E(di),_t=E(),zi=E(_t),Ct=E(),Xt=E(),ul=E(),ar=E(ul),Xs=E(),d={comment:Ts,lineComment:E(Ts),blockComment:E(Ts),docComment:E(Ts),name:Oi,variableName:E(Oi),typeName:Gu,tagName:E(Gu),propertyName:Nu,attributeName:E(Nu),className:E(Oi),labelName:E(Oi),namespace:E(Oi),macroName:E(Oi),literal:di,string:Cs,docString:E(Cs),character:E(Cs),attributeValue:E(Cs),number:hl,integer:E(hl),float:E(hl),bool:E(di),regexp:E(di),escape:E(di),color:E(di),url:E(di),keyword:Ct,self:E(Ct),null:E(Ct),atom:E(Ct),unit:E(Ct),modifier:E(Ct),operatorKeyword:E(Ct),controlKeyword:E(Ct),definitionKeyword:E(Ct),moduleKeyword:E(Ct),operator:Xt,derefOperator:E(Xt),arithmeticOperator:E(Xt),logicOperator:E(Xt),bitwiseOperator:E(Xt),compareOperator:E(Xt),updateOperator:E(Xt),definitionOperator:E(Xt),typeOperator:E(Xt),controlOperator:E(Xt),punctuation:ul,separator:E(ul),bracket:ar,angleBracket:E(ar),squareBracket:E(ar),paren:E(ar),brace:E(ar),content:_t,heading:zi,heading1:E(zi),heading2:E(zi),heading3:E(zi),heading4:E(zi),heading5:E(zi),heading6:E(zi),contentSeparator:E(_t),list:E(_t),quote:E(_t),emphasis:E(_t),strong:E(_t),link:E(_t),monospace:E(_t),strikethrough:E(_t),inserted:E(),deleted:E(),changed:E(),invalid:E(),meta:Xs,documentMeta:E(Xs),annotation:E(Xs),processingInstruction:E(Xs),definition:Ke.defineModifier("definition"),constant:Ke.defineModifier("constant"),function:Ke.defineModifier("function"),standard:Ke.defineModifier("standard"),local:Ke.defineModifier("local"),special:Ke.defineModifier("special")};for(let i in d){let e=d[i];e instanceof Ke&&(e.name=i)}var u$=Ol([{tag:d.link,class:"tok-link"},{tag:d.heading,class:"tok-heading"},{tag:d.emphasis,class:"tok-emphasis"},{tag:d.strong,class:"tok-strong"},{tag:d.keyword,class:"tok-keyword"},{tag:d.atom,class:"tok-atom"},{tag:d.bool,class:"tok-bool"},{tag:d.url,class:"tok-url"},{tag:d.labelName,class:"tok-labelName"},{tag:d.inserted,class:"tok-inserted"},{tag:d.deleted,class:"tok-deleted"},{tag:d.literal,class:"tok-literal"},{tag:d.string,class:"tok-string"},{tag:d.number,class:"tok-number"},{tag:[d.regexp,d.escape,d.special(d.string)],class:"tok-string2"},{tag:d.variableName,class:"tok-variableName"},{tag:d.local(d.variableName),class:"tok-variableName tok-local"},{tag:d.definition(d.variableName),class:"tok-variableName tok-definition"},{tag:d.special(d.variableName),class:"tok-variableName2"},{tag:d.definition(d.propertyName),class:"tok-propertyName tok-definition"},{tag:d.typeName,class:"tok-typeName"},{tag:d.namespace,class:"tok-namespace"},{tag:d.className,class:"tok-className"},{tag:d.macroName,class:"tok-macroName"},{tag:d.propertyName,class:"tok-propertyName"},{tag:d.operator,class:"tok-operator"},{tag:d.comment,class:"tok-comment"},{tag:d.meta,class:"tok-meta"},{tag:d.invalid,class:"tok-invalid"},{tag:d.punctuation,class:"tok-punctuation"}]);var dl,bt=new I;function kn(i){return Y.define({combine:i?e=>e.concat(i):void 0})}var qs=new I,xe=class{constructor(e,t,n=[],r=""){this.data=e,this.name=r,re.prototype.hasOwnProperty("tree")||Object.defineProperty(re.prototype,"tree",{get(){return U(this)}}),this.parser=t,this.extension=[Sn.of(this),re.languageData.of((s,o,a)=>{let l=Hu(s,o,a),c=l.type.prop(bt);if(!c)return[];let h=s.facet(c),f=l.type.prop(qs);if(f){let u=l.resolve(o-l.from,a);for(let O of f)if(O.test(u,s)){let p=s.facet(O.facet);return O.type=="replace"?p:p.concat(h)}}return h})].concat(n)}isActiveAt(e,t,n=-1){return Hu(e,t,n).type.prop(bt)==this.data}findRegions(e){let t=e.facet(Sn);if(t?.data==this.data)return[{from:0,to:e.doc.length}];if(!t||!t.allowsNesting)return[];let n=[],r=(s,o)=>{if(s.prop(bt)==this.data){n.push({from:o,to:o+s.length});return}let a=s.prop(I.mounted);if(a){if(a.tree.prop(bt)==this.data){if(a.overlay)for(let l of a.overlay)n.push({from:l.from+o,to:l.to+o});else n.push({from:o,to:o+s.length});return}else if(a.overlay){let l=n.length;if(r(a.tree,a.overlay[0].from+o),n.length>l)return}}for(let l=0;ln.isTop?t:void 0)]}),e.name)}configure(e,t){return new i(this.data,this.parser.configure(e),t||this.name)}get allowsNesting(){return this.parser.hasWrappers()}};function U(i){let e=i.field(xe.state,!1);return e?e.tree:F.empty}function zs(i,e,t=50){var n;let r=(n=i.field(xe.state,!1))===null||n===void 0?void 0:n.context;if(!r)return null;let s=r.viewport;r.updateViewport({from:0,to:e});let o=r.isDone(e)||r.work(t,e)?r.tree:null;return r.updateViewport(s),o}function nO(i,e=i.doc.length){var t;return((t=i.field(xe.state,!1))===null||t===void 0?void 0:t.context.isDone(e))||!1}var Ql=class{constructor(e){this.doc=e,this.cursorPos=0,this.string="",this.cursor=e.iter()}get length(){return this.doc.length}syncTo(e){return this.string=this.cursor.next(e-this.cursorPos).value,this.cursorPos=e+this.string.length,this.cursorPos-this.string.length}chunk(e){return this.syncTo(e),this.string}get lineChunks(){return!0}read(e,t){let n=this.cursorPos-this.string.length;return e=this.cursorPos?this.doc.sliceString(e,t):this.string.slice(e-n,t-n)}},lr=null,Mi=class i{constructor(e,t,n=[],r,s,o,a,l){this.parser=e,this.state=t,this.fragments=n,this.tree=r,this.treeLen=s,this.viewport=o,this.skipped=a,this.scheduleOn=l,this.parse=null,this.tempSkipped=[]}static create(e,t,n){return new i(e,t,[],F.empty,0,n,[],null)}startParse(){return this.parser.startParse(new Ql(this.state.doc),this.fragments)}work(e,t){return t!=null&&t>=this.state.doc.length&&(t=void 0),this.tree!=F.empty&&this.isDone(t??this.state.doc.length)?(this.takeTree(),!0):this.withContext(()=>{var n;if(typeof e=="number"){let r=Date.now()+e;e=()=>Date.now()>r}for(this.parse||(this.parse=this.startParse()),t!=null&&(this.parse.stoppedAt==null||this.parse.stoppedAt>t)&&t=this.treeLen&&((this.parse.stoppedAt==null||this.parse.stoppedAt>e)&&this.parse.stopAt(e),this.withContext(()=>{for(;!(t=this.parse.advance()););}),this.treeLen=e,this.tree=t,this.fragments=this.withoutTempSkipped(Vt.addTree(this.tree,this.fragments,!0)),this.parse=null)}withContext(e){let t=lr;lr=this;try{return e()}finally{lr=t}}withoutTempSkipped(e){for(let t;t=this.tempSkipped.pop();)e=Ku(e,t.from,t.to);return e}changes(e,t){let{fragments:n,tree:r,treeLen:s,viewport:o,skipped:a}=this;if(this.takeTree(),!e.empty){let l=[];if(e.iterChangedRanges((c,h,f,u)=>l.push({fromA:c,toA:h,fromB:f,toB:u})),n=Vt.applyChanges(n,l),r=F.empty,s=0,o={from:e.mapPos(o.from,-1),to:e.mapPos(o.to,1)},this.skipped.length){a=[];for(let c of this.skipped){let h=e.mapPos(c.from,1),f=e.mapPos(c.to,-1);he.from&&(this.fragments=Ku(this.fragments,r,s),this.skipped.splice(n--,1))}return this.skipped.length>=t?!1:(this.reset(),!0)}reset(){this.parse&&(this.takeTree(),this.parse=null)}skipUntilInView(e,t){this.skipped.push({from:e,to:t})}static getSkippingParser(e){return new class extends Dt{createParse(t,n,r){let s=r[0].from,o=r[r.length-1].to;return{parsedPos:s,advance(){let l=lr;if(l){for(let c of r)l.tempSkipped.push(c);e&&(l.scheduleOn=l.scheduleOn?Promise.all([l.scheduleOn,e]):e)}return this.parsedPos=o,new F(Oe.none,[],[],o-s)},stoppedAt:null,stopAt(){}}}}}isDone(e){e=Math.min(e,this.state.doc.length);let t=this.fragments;return this.treeLen>=e&&t.length&&t[0].from==0&&t[0].to>=e}static get(){return lr}};function Ku(i,e,t){return Vt.applyChanges(i,[{fromA:e,toA:t,fromB:e,toB:t}])}var cr=class i{constructor(e){this.context=e,this.tree=e.tree}apply(e){if(!e.docChanged&&this.tree==this.context.tree)return this;let t=this.context.changes(e.changes,e.state),n=this.context.treeLen==e.startState.doc.length?void 0:Math.max(e.changes.mapPos(this.context.treeLen),t.viewport.to);return t.work(20,n)||t.takeTree(),new i(t)}static init(e){let t=Math.min(3e3,e.doc.length),n=Mi.create(e.facet(Sn).parser,e,{from:0,to:t});return n.work(20,t)||n.takeTree(),new i(n)}};xe.state=he.define({create:cr.init,update(i,e){for(let t of e.effects)if(t.is(xe.setState))return t.value;return e.startState.facet(Sn)!=e.state.facet(Sn)?cr.init(e.state):i.apply(e)}});var rO=i=>{let e=setTimeout(()=>i(),500);return()=>clearTimeout(e)};typeof requestIdleCallback<"u"&&(rO=i=>{let e=-1,t=setTimeout(()=>{e=requestIdleCallback(i,{timeout:400})},100);return()=>e<0?clearTimeout(t):cancelIdleCallback(e)});var pl=typeof navigator<"u"&&(!((dl=navigator.scheduling)===null||dl===void 0)&&dl.isInputPending)?()=>navigator.scheduling.isInputPending():null,nb=De.fromClass(class{constructor(e){this.view=e,this.working=null,this.workScheduled=0,this.chunkEnd=-1,this.chunkBudget=-1,this.work=this.work.bind(this),this.scheduleWork()}update(e){let t=this.view.state.field(xe.state).context;(t.updateViewport(e.view.viewport)||this.view.viewport.to>t.treeLen)&&this.scheduleWork(),(e.docChanged||e.selectionSet)&&(this.view.hasFocus&&(this.chunkBudget+=50),this.scheduleWork()),this.checkAsyncSchedule(t)}scheduleWork(){if(this.working)return;let{state:e}=this.view,t=e.field(xe.state);(t.tree!=t.context.tree||!t.context.isDone(e.doc.length))&&(this.working=rO(this.work))}work(e){this.working=null;let t=Date.now();if(this.chunkEndr+1e3,l=s.context.work(()=>pl&&pl()||Date.now()>o,r+(a?0:1e5));this.chunkBudget-=Date.now()-t,(l||this.chunkBudget<=0)&&(s.context.takeTree(),this.view.dispatch({effects:xe.setState.of(new cr(s.context))})),this.chunkBudget>0&&!(l&&!a)&&this.scheduleWork(),this.checkAsyncSchedule(s.context)}checkAsyncSchedule(e){e.scheduleOn&&(this.workScheduled++,e.scheduleOn.then(()=>this.scheduleWork()).catch(t=>lt(this.view.state,t)).then(()=>this.workScheduled--),e.scheduleOn=null)}destroy(){this.working&&this.working()}isWorking(){return!!(this.working||this.workScheduled>0)}},{eventHandlers:{focus(){this.scheduleWork()}}}),Sn=Y.define({combine(i){return i.length?i[0]:null},enables:i=>[xe.state,nb,z.contentAttributes.compute([i],e=>{let t=e.facet(i);return t&&t.name?{"data-language":t.name}:{}})]}),me=class{constructor(e,t=[]){this.language=e,this.support=t,this.extension=[e,t]}},Be=class i{constructor(e,t,n,r,s,o=void 0){this.name=e,this.alias=t,this.extensions=n,this.filename=r,this.loadFunc=s,this.support=o,this.loading=null}load(){return this.loading||(this.loading=this.loadFunc().then(e=>this.support=e,e=>{throw this.loading=null,e}))}static of(e){let{load:t,support:n}=e;if(!t){if(!n)throw new RangeError("Must pass either 'load' or 'support' to LanguageDescription.of");t=()=>Promise.resolve(n)}return new i(e.name,(e.alias||[]).concat(e.name).map(r=>r.toLowerCase()),e.extensions||[],e.filename,t,n)}static matchFilename(e,t){for(let r of e)if(r.filename&&r.filename.test(t))return r;let n=/\.([^.]+)$/.exec(t);if(n){for(let r of e)if(r.extensions.indexOf(n[1])>-1)return r}return null}static matchLanguageName(e,t,n=!0){t=t.toLowerCase();for(let r of e)if(r.alias.some(s=>s==t))return r;if(n)for(let r of e)for(let s of r.alias){let o=t.indexOf(s);if(o>-1&&(s.length>2||!/\w/.test(t[o-1])&&!/\w/.test(t[o+s.length])))return r}return null}},rb=Y.define(),Rt=Y.define({combine:i=>{if(!i.length)return" ";let e=i[0];if(!e||/\S/.test(e)||Array.from(e).some(t=>t!=e[0]))throw new Error("Invalid indent unit: "+JSON.stringify(i[0]));return e}});function pi(i){let e=i.facet(Rt);return e.charCodeAt(0)==9?i.tabSize*e.length:e.length}function fr(i,e){let t="",n=i.tabSize,r=i.facet(Rt)[0];if(r==" "){for(;e>=n;)t+=" ",e-=n;r=" "}for(let s=0;s=e?sb(i,t,e):null}var Wi=class{constructor(e,t={}){this.state=e,this.options=t,this.unit=pi(e)}lineAt(e,t=1){let n=this.state.doc.lineAt(e),{simulateBreak:r,simulateDoubleBreak:s}=this.options;return r!=null&&r>=n.from&&r<=n.to?s&&r==e?{text:"",from:e}:(t<0?r-1&&(s+=o-this.countColumn(n,n.search(/\S|$/))),s}countColumn(e,t=e.length){return Fe(e,this.state.tabSize,t)}lineIndent(e,t=1){let{text:n,from:r}=this.lineAt(e,t),s=this.options.overrideIndentation;if(s){let o=s(r);if(o>-1)return o}return this.countColumn(n,n.search(/\S|$/))}get simulatedBreak(){return this.options.simulateBreak||null}},we=new I;function sb(i,e,t){let n=e.resolveStack(t),r=e.resolveInner(t,-1).resolve(t,0).enterUnfinishedNodesBefore(t);if(r!=n.node){let s=[];for(let o=r;o&&!(o.fromn.node.to||o.from==n.node.from&&o.type==n.node.type);o=o.parent)s.push(o);for(let o=s.length-1;o>=0;o--)n={node:s[o],next:n}}return sO(n,i,t)}function sO(i,e,t){for(let n=i;n;n=n.next){let r=ab(n.node);if(r)return r(bl.create(e,t,n))}return 0}function ob(i){return i.pos==i.options.simulateBreak&&i.options.simulateDoubleBreak}function ab(i){let e=i.type.prop(we);if(e)return e;let t=i.firstChild,n;if(t&&(n=t.type.prop(I.closedBy))){let r=i.lastChild,s=r&&n.indexOf(r.name)>-1;return o=>oO(o,!0,1,void 0,s&&!ob(o)?r.from:void 0)}return i.parent==null?lb:null}function lb(){return 0}var bl=class i extends Wi{constructor(e,t,n){super(e.state,e.options),this.base=e,this.pos=t,this.context=n}get node(){return this.context.node}static create(e,t,n){return new i(e,t,n)}get textAfter(){return this.textAfterPos(this.pos)}get baseIndent(){return this.baseIndentFor(this.node)}baseIndentFor(e){let t=this.state.doc.lineAt(e.from);for(;;){let n=e.resolve(t.from);for(;n.parent&&n.parent.from==n.from;)n=n.parent;if(cb(n,e))break;t=this.state.doc.lineAt(n.from)}return this.lineIndent(t.from)}continue(){return sO(this.context.next,this.base,this.pos)}};function cb(i,e){for(let t=e;t;t=t.parent)if(i==t)return!0;return!1}function hb(i){let e=i.node,t=e.childAfter(e.from),n=e.lastChild;if(!t)return null;let r=i.options.simulateBreak,s=i.state.doc.lineAt(t.from),o=r==null||r<=s.from?s.to:Math.min(s.to,r);for(let a=t.to;;){let l=e.childAfter(a);if(!l||l==n)return null;if(!l.type.isSkipped){if(l.from>=o)return null;let c=/^ */.exec(s.text.slice(t.to-s.from))[0].length;return{from:t.from,to:t.to+c}}a=l.to}}function St({closing:i,align:e=!0,units:t=1}){return n=>oO(n,e,t,i)}function oO(i,e,t,n,r){let s=i.textAfter,o=s.match(/^\s*/)[0].length,a=n&&s.slice(o,o+n.length)==n||r==i.pos+o,l=e?hb(i):null;return l?a?i.column(l.from):i.column(l.to):i.baseIndent+(a?0:i.unit*t)}var aO=i=>i.baseIndent;function Yt({except:i,units:e=1}={}){return t=>{let n=i&&i.test(t.textAfter);return t.baseIndent+(n?0:e*t.unit)}}var lO=Y.define(),Te=new I;function ht(i){let e=i.firstChild,t=i.lastChild;return e&&e.toa.prop(bt)==o.data:o?a=>a==o:void 0,this.style=Ol(e.map(a=>({tag:a.tag,class:a.class||r(Object.assign({},a,{tag:null}))})),{all:s}).style,this.module=n?new rt(n):null,this.themeType=t.themeType}static define(e,t){return new i(e,t||{})}},Sl=Y.define(),cO=Y.define({combine(i){return i.length?[i[0]]:null}});function ml(i){let e=i.facet(Sl);return e.length?e:i.facet(cO)}function hO(i,e){let t=[fb],n;return i instanceof yn&&(i.module&&t.push(z.styleModule.of(i.module)),n=i.themeType),e?.fallback?t.push(cO.of(i)):n?t.push(Sl.computeN([z.darkTheme],r=>r.facet(z.darkTheme)==(n=="dark")?[i]:[])):t.push(Sl.of(i)),t}var yl=class{constructor(e){this.markCache=Object.create(null),this.tree=U(e.state),this.decorations=this.buildDeco(e,ml(e.state)),this.decoratedTo=e.viewport.to}update(e){let t=U(e.state),n=ml(e.state),r=n!=ml(e.startState),{viewport:s}=e.view,o=e.changes.mapPos(this.decoratedTo,1);t.length=s.to?(this.decorations=this.decorations.map(e.changes),this.decoratedTo=o):(t!=this.tree||e.viewportChanged||r)&&(this.tree=t,this.decorations=this.buildDeco(e.view,n),this.decoratedTo=s.to)}buildDeco(e,t){if(!t||!this.tree.length)return Z.none;let n=new Xi;for(let{from:r,to:s}of e.visibleRanges)Rs(this.tree,t,(o,a,l)=>{n.add(o,a,this.markCache[l]||(this.markCache[l]=Z.mark({class:l})))},r,s);return n.finish()}},fb=nt.high(De.fromClass(yl,{decorations:i=>i.decorations})),y$=yn.define([{tag:d.meta,color:"#404740"},{tag:d.link,textDecoration:"underline"},{tag:d.heading,textDecoration:"underline",fontWeight:"bold"},{tag:d.emphasis,fontStyle:"italic"},{tag:d.strong,fontWeight:"bold"},{tag:d.strikethrough,textDecoration:"line-through"},{tag:d.keyword,color:"#708"},{tag:[d.atom,d.bool,d.url,d.contentSeparator,d.labelName],color:"#219"},{tag:[d.literal,d.inserted],color:"#164"},{tag:[d.string,d.deleted],color:"#a11"},{tag:[d.regexp,d.escape,d.special(d.string)],color:"#e40"},{tag:d.definition(d.variableName),color:"#00f"},{tag:d.local(d.variableName),color:"#30a"},{tag:[d.typeName,d.namespace],color:"#085"},{tag:d.className,color:"#167"},{tag:[d.special(d.variableName),d.macroName],color:"#256"},{tag:d.definition(d.propertyName),color:"#00c"},{tag:d.comment,color:"#940"},{tag:d.invalid,color:"#f00"}]);var ub=1e4,Ob="()[]{}";var vl=new I;function kl(i,e,t){let n=i.prop(e<0?I.openedBy:I.closedBy);if(n)return n;if(i.name.length==1){let r=t.indexOf(i.name);if(r>-1&&r%2==(e<0?1:0))return[t[r+e]]}return null}function xl(i){let e=i.type.prop(vl);return e?e(i.node):i}function ji(i,e,t,n={}){let r=n.maxScanDistance||ub,s=n.brackets||Ob,o=U(i),a=o.resolveInner(e,t);for(let l=a;l;l=l.parent){let c=kl(l.type,t,s);if(c&&l.from0?e>=h.from&&eh.from&&e<=h.to))return db(i,e,t,l,h,c,s)}}return pb(i,e,t,o,a.type,r,s)}function db(i,e,t,n,r,s,o){let a=n.parent,l={from:r.from,to:r.to},c=0,h=a?.cursor();if(h&&(t<0?h.childBefore(n.from):h.childAfter(n.to)))do if(t<0?h.to<=n.from:h.from>=n.to){if(c==0&&s.indexOf(h.type.name)>-1&&h.from0)return null;let c={from:t<0?e-1:e,to:t>0?e+1:e},h=i.doc.iterRange(e,t>0?i.doc.length:0),f=0;for(let u=0;!h.next().done&&u<=s;){let O=h.value;t<0&&(u+=O.length);let p=e+u*t;for(let m=t>0?0:O.length-1,b=t>0?O.length:-1;m!=b;m+=t){let g=o.indexOf(O[m]);if(!(g<0||n.resolveInner(p+m,1).type!=r))if(g%2==0==t>0)f++;else{if(f==1)return{start:c,end:{from:p+m,to:p+m+1},matched:g>>1==l>>1};f--}}t>0&&(u+=O.length)}return h.done?{start:c,matched:!1}:null}function Ju(i,e,t,n=0,r=0){e==null&&(e=i.search(/[^\s\u00a0]/),e==-1&&(e=i.length));let s=r;for(let o=n;o=this.string.length}sol(){return this.pos==0}peek(){return this.string.charAt(this.pos)||void 0}next(){if(this.post}eatSpace(){let e=this.pos;for(;/[\s\u00a0]/.test(this.string.charAt(this.pos));)++this.pos;return this.pos>e}skipToEnd(){this.pos=this.string.length}skipTo(e){let t=this.string.indexOf(e,this.pos);if(t>-1)return this.pos=t,!0}backUp(e){this.pos-=e}column(){return this.lastColumnPosn?o.toLowerCase():o,s=this.string.substr(this.pos,e.length);return r(s)==r(e)?(t!==!1&&(this.pos+=e.length),!0):null}else{let r=this.string.slice(this.pos).match(e);return r&&r.index>0?null:(r&&t!==!1&&(this.pos+=r[0].length),r)}}current(){return this.string.slice(this.start,this.pos)}};function mb(i){return{name:i.name||"",token:i.token,blankLine:i.blankLine||(()=>{}),startState:i.startState||(()=>!0),copyState:i.copyState||gb,indent:i.indent||(()=>null),languageData:i.languageData||{},tokenTable:i.tokenTable||Tl,mergeTokens:i.mergeTokens!==!1}}function gb(i){if(typeof i!="object")return i;let e={};for(let t in i){let n=i[t];e[t]=n instanceof Array?n.slice():n}return e}var eO=new WeakMap,Zs=class i extends xe{constructor(e){let t=kn(e.languageData),n=mb(e),r,s=new class extends Dt{createParse(o,a,l){return new wl(r,o,a,l)}};super(t,s,[],e.name),this.topNode=yb(t,this),r=this,this.streamParser=n,this.stateAfter=new I({perNode:!0}),this.tokenTable=e.tokenTable?new Es(n.tokenTable):Sb}static define(e){return new i(e)}getIndent(e){let t,{overrideIndentation:n}=e.options;n&&(t=eO.get(e.state),t!=null&&t1e4)return null;for(;s=n&&t+e.length<=r&&e.prop(i.stateAfter);if(s)return{state:i.streamParser.copyState(s),pos:t+e.length};for(let o=e.children.length-1;o>=0;o--){let a=e.children[o],l=t+e.positions[o],c=a instanceof F&&l=e.length)return e;!r&&t==0&&e.type==i.topNode&&(r=!0);for(let s=e.children.length-1;s>=0;s--){let o=e.positions[s],a=e.children[s],l;if(ot&&$l(i,s.tree,0-s.offset,t,a),c;if(l&&l.pos<=n&&(c=fO(i,s.tree,t+s.offset,l.pos+s.offset,!1)))return{state:l.state,tree:c}}return{state:i.streamParser.startState(r?pi(r):4),tree:F.empty}}var wl=class{constructor(e,t,n,r){this.lang=e,this.input=t,this.fragments=n,this.ranges=r,this.stoppedAt=null,this.chunks=[],this.chunkPos=[],this.chunk=[],this.chunkReused=void 0,this.rangeIndex=0,this.to=r[r.length-1].to;let s=Mi.get(),o=r[0].from,{state:a,tree:l}=Qb(e,n,o,this.to,s?.state);this.state=a,this.parsedPos=this.chunkStart=o+l.length;for(let c=0;cc.from<=s.viewport.from&&c.to>=s.viewport.from)&&(this.state=this.lang.streamParser.startState(pi(s.state)),s.skipUntilInView(this.parsedPos,s.viewport.from),this.parsedPos=s.viewport.from),this.moveRangeIndex()}advance(){let e=Mi.get(),t=this.stoppedAt==null?this.to:Math.min(this.to,this.stoppedAt),n=Math.min(t,this.chunkStart+512);for(e&&(n=Math.min(n,e.viewport.to));this.parsedPos=t?this.finish():e&&this.parsedPos>=e.viewport.to?(e.skipUntilInView(this.parsedPos,t),this.finish()):null}stopAt(e){this.stoppedAt=e}lineAfter(e){let t=this.input.chunk(e);if(this.input.lineChunks)t==` `&&(t="");else{let n=t.indexOf(` -`);n>-1&&(t=t.slice(0,n))}return e+t.length<=this.to?t:t.slice(0,this.to-e)}nextLine(){let e=this.parsedPos,t=this.lineAfter(e),n=e+t.length;for(let r=this.rangeIndex;;){let s=this.ranges[r].to;if(s>=n||(t=t.slice(0,s-(n-t.length)),r++,r==this.ranges.length))break;let o=this.ranges[r].from,a=this.lineAfter(o);t+=a,n=o+a.length}return{line:t,end:n}}skipGapsTo(e,t,n){for(;;){let r=this.ranges[this.rangeIndex].to,s=e+t;if(n>0?r>s:r>=s)break;let o=this.ranges[++this.rangeIndex].from;t+=o-r}return t}moveRangeIndex(){for(;this.ranges[this.rangeIndex].to1){r=this.skipGapsTo(t,r,1),t+=r;let a=this.chunk.length;r=this.skipGapsTo(n,r,-1),n+=r,s+=this.chunk.length-a}let o=this.chunk.length-4;return this.lang.streamParser.mergeTokens&&s==4&&o>=0&&this.chunk[o]==e&&this.chunk[o+2]==t?this.chunk[o+2]=n:this.chunk.push(e,t,n,s),r}parseLine(e){let{line:t,end:n}=this.nextLine(),r=0,{streamParser:s}=this.lang,o=new As(t,e?e.state.tabSize:4,e?di(e.state):2);if(o.eol())s.blankLine(this.state,o.indentUnit);else for(;!o.eol();){let a=hO(s.token,o,this.state);if(a&&(r=this.emitToken(this.lang.tokenTable.resolve(a),this.parsedPos+o.start,this.parsedPos+o.pos,r)),o.start>1e4)break}this.parsedPos=n,this.moveRangeIndex(),this.parsedPose.start)return r}throw new Error("Stream parser failed to advance stream.")}var $l=Object.create(null),hr=[Oe.none],gb=new jt(hr),Ju=[],eO=Object.create(null),fO=Object.create(null);for(let[i,e]of[["variable","variableName"],["variable-2","variableName.special"],["string-2","string.special"],["def","variableName.definition"],["tag","tagName"],["attribute","attributeName"],["type","typeName"],["builtin","variableName.standard"],["qualifier","modifier"],["error","invalid"],["header","heading"],["property","propertyName"]])fO[i]=uO($l,e);var qs=class{constructor(e){this.extra=e,this.table=Object.assign(Object.create(null),fO)}resolve(e){return e?this.table[e]||(this.table[e]=uO(this.extra,e)):0}},Qb=new qs($l);function ml(i,e){Ju.indexOf(i)>-1||(Ju.push(i),console.warn(e))}function uO(i,e){let t=[];for(let a of e.split(" ")){let l=[];for(let c of a.split(".")){let h=i[c]||d[c];h?typeof h=="function"?l.length?l=l.map(h):ml(c,`Modifier ${c} used at start of tag`):l.length?ml(c,`Tag ${c} used as modifier`):l=Array.isArray(h)?h:[h]:ml(c,`Unknown highlighting tag ${c}`)}for(let c of l)t.push(c)}if(!t.length)return 0;let n=e.replace(/ /g,"_"),r=n+" "+t.map(a=>a.id),s=eO[r];if(s)return s.id;let o=eO[r]=Oe.define({id:hr.length,name:n,props:[ge({[n]:t})]});return hr.push(o),o.id}function bb(i,e){let t=Oe.define({id:hr.length,name:"Document",props:[bt.add(()=>i),we.add(()=>n=>e.getIndent(n))],top:!0});return hr.push(t),t}var b$={rtl:Z.mark({class:"cm-iso",inclusive:!0,attributes:{dir:"rtl"},bidiIsolate:ue.RTL}),ltr:Z.mark({class:"cm-iso",inclusive:!0,attributes:{dir:"ltr"},bidiIsolate:ue.LTR}),auto:Z.mark({class:"cm-iso",inclusive:!0,attributes:{dir:"auto"},bidiIsolate:null})};var Sb=i=>{let{state:e}=i,t=e.doc.lineAt(e.selection.main.from),n=Zl(i.state,t.from);return n.line?yb(i):n.block?xb(i):!1};function Al(i,e){return({state:t,dispatch:n})=>{if(t.readOnly)return!1;let r=i(e,t);return r?(n(t.update(r)),!0):!1}}var yb=Al(vb,0);var kb=Al(yO,0);var xb=Al((i,e)=>yO(i,e,Pb(e)),0);function Zl(i,e){let t=i.languageDataAt("commentTokens",e,1);return t.length?t[0]:{}}var ur=50;function wb(i,{open:e,close:t},n,r){let s=i.sliceDoc(n-ur,n),o=i.sliceDoc(r,r+ur),a=/\s*$/.exec(s)[0].length,l=/^\s*/.exec(o)[0].length,c=s.length-a;if(s.slice(c-e.length,c)==e&&o.slice(l,l+t.length)==t)return{open:{pos:n-a,margin:a&&1},close:{pos:r+l,margin:l&&1}};let h,f;r-n<=2*ur?h=f=i.sliceDoc(n,r):(h=i.sliceDoc(n,n+ur),f=i.sliceDoc(r-ur,r));let u=/^\s*/.exec(h)[0].length,O=/\s*$/.exec(f)[0].length,p=f.length-O-t.length;return h.slice(u,u+e.length)==e&&f.slice(p,p+t.length)==t?{open:{pos:n+u+e.length,margin:/\s/.test(h.charAt(u+e.length))?1:0},close:{pos:r-O-t.length,margin:/\s/.test(f.charAt(p-1))?1:0}}:null}function Pb(i){let e=[];for(let t of i.selection.ranges){let n=i.doc.lineAt(t.from),r=t.to<=n.to?n:i.doc.lineAt(t.to);r.from>n.from&&r.from==t.to&&(r=t.to==n.to+1?n:i.doc.lineAt(t.to-1));let s=e.length-1;s>=0&&e[s].to>n.from?e[s].to=r.to:e.push({from:n.from+/^\s*/.exec(n.text)[0].length,to:r.to})}return e}function yO(i,e,t=e.selection.ranges){let n=t.map(s=>Zl(e,s.from).block);if(!n.every(s=>s))return null;let r=t.map((s,o)=>wb(e,n[o],s.from,s.to));if(i!=2&&!r.every(s=>s))return{changes:e.changes(t.map((s,o)=>r[o]?[]:[{from:s.from,insert:n[o].open+" "},{from:s.to,insert:" "+n[o].close}]))};if(i!=1&&r.some(s=>s)){let s=[];for(let o=0,a;or&&(s==o||o>f.from)){r=f.from;let u=/^\s*/.exec(f.text)[0].length,O=u==f.length,p=f.text.slice(u,u+c.length)==c?u:-1;us.comment<0&&(!s.empty||s.single))){let s=[];for(let{line:a,token:l,indent:c,empty:h,single:f}of n)(f||!h)&&s.push({from:a.from+c,insert:l+" "});let o=e.changes(s);return{changes:o,selection:e.selection.map(o,1)}}else if(i!=1&&n.some(s=>s.comment>=0)){let s=[];for(let{line:o,comment:a,token:l}of n)if(a>=0){let c=o.from+a,h=c+l.length;o.text[h-o.from]==" "&&h++,s.push({from:c,to:h})}return{changes:s}}return null}var Cl=_e.define(),$b=_e.define(),Tb=Y.define(),kO=Y.define({combine(i){return Yn(i,{minDepth:100,newGroupDelay:500,joinToEvent:(e,t)=>t},{minDepth:Math.max,newGroupDelay:Math.min,joinToEvent:(e,t)=>(n,r)=>e(n,r)||t(n,r)})}}),xO=he.define({create(){return Vi.empty},update(i,e){let t=e.state.facet(kO),n=e.annotation(Cl);if(n){let l=yt.fromTransaction(e,n.selection),c=n.side,h=c==0?i.undone:i.done;return l?h=Ms(h,h.length,t.minDepth,l):h=$O(h,e.startState.selection),new Vi(c==0?n.rest:h,c==0?h:n.rest)}let r=e.annotation($b);if((r=="full"||r=="before")&&(i=i.isolate()),e.annotation(de.addToHistory)===!1)return e.changes.empty?i:i.addMapping(e.changes.desc);let s=yt.fromTransaction(e),o=e.annotation(de.time),a=e.annotation(de.userEvent);return s?i=i.addChanges(s,o,a,t,e):e.selection&&(i=i.addSelection(e.startState.selection,o,a,t.newGroupDelay)),(r=="full"||r=="after")&&(i=i.isolate()),i},toJSON(i){return{done:i.done.map(e=>e.toJSON()),undone:i.undone.map(e=>e.toJSON())}},fromJSON(i){return new Vi(i.done.map(yt.fromJSON),i.undone.map(yt.fromJSON))}});function wO(i={}){return[xO,kO.of(i),E.domEventHandlers({beforeinput(e,t){let n=e.inputType=="historyUndo"?PO:e.inputType=="historyRedo"?Xl:null;return n?(e.preventDefault(),n(t)):!1}})]}function Ws(i,e){return function({state:t,dispatch:n}){if(!e&&t.readOnly)return!1;let r=t.field(xO,!1);if(!r)return!1;let s=r.pop(i,t,e);return s?(n(s),!0):!1}}var PO=Ws(0,!1),Xl=Ws(1,!1),Cb=Ws(0,!0),Xb=Ws(1,!0);var yt=class i{constructor(e,t,n,r,s){this.changes=e,this.effects=t,this.mapped=n,this.startSelection=r,this.selectionsAfter=s}setSelAfter(e){return new i(this.changes,this.effects,this.mapped,this.startSelection,e)}toJSON(){var e,t,n;return{changes:(e=this.changes)===null||e===void 0?void 0:e.toJSON(),mapped:(t=this.mapped)===null||t===void 0?void 0:t.toJSON(),startSelection:(n=this.startSelection)===null||n===void 0?void 0:n.toJSON(),selectionsAfter:this.selectionsAfter.map(r=>r.toJSON())}}static fromJSON(e){return new i(e.changes&&ze.fromJSON(e.changes),[],e.mapped&&qt.fromJSON(e.mapped),e.startSelection&&v.fromJSON(e.startSelection),e.selectionsAfter.map(v.fromJSON))}static fromTransaction(e,t){let n=ht;for(let r of e.startState.facet(Tb)){let s=r(e);s.length&&(n=n.concat(s))}return!n.length&&e.changes.empty?null:new i(e.changes.invert(e.startState.doc),n,void 0,t||e.startState.selection,ht)}static selection(e){return new i(void 0,ht,void 0,void 0,e)}};function Ms(i,e,t,n){let r=e+1>t+20?e-t-1:0,s=i.slice(r,e);return s.push(n),s}function _b(i,e){let t=[],n=!1;return i.iterChangedRanges((r,s)=>t.push(r,s)),e.iterChangedRanges((r,s,o,a)=>{for(let l=0;l=c&&o<=h&&(n=!0)}}),n}function Rb(i,e){return i.ranges.length==e.ranges.length&&i.ranges.filter((t,n)=>t.empty!=e.ranges[n].empty).length===0}function vO(i,e){return i.length?e.length?i.concat(e):i:e}var ht=[],Ab=200;function $O(i,e){if(i.length){let t=i[i.length-1],n=t.selectionsAfter.slice(Math.max(0,t.selectionsAfter.length-Ab));return n.length&&n[n.length-1].eq(e)?i:(n.push(e),Ms(i,i.length-1,1e9,t.setSelAfter(n)))}else return[yt.selection([e])]}function Zb(i){let e=i[i.length-1],t=i.slice();return t[i.length-1]=e.setSelAfter(e.selectionsAfter.slice(0,e.selectionsAfter.length-1)),t}function Tl(i,e){if(!i.length)return i;let t=i.length,n=ht;for(;t;){let r=qb(i[t-1],e,n);if(r.changes&&!r.changes.empty||r.effects.length){let s=i.slice(0,t);return s[t-1]=r,s}else e=r.mapped,t--,n=r.selectionsAfter}return n.length?[yt.selection(n)]:ht}function qb(i,e,t){let n=vO(i.selectionsAfter.length?i.selectionsAfter.map(a=>a.map(e)):ht,t);if(!i.changes)return yt.selection(n);let r=i.changes.map(e),s=e.mapDesc(i.changes,!0),o=i.mapped?i.mapped.composeDesc(s):s;return new yt(r,ie.mapEffects(i.effects,e),o,i.startSelection.map(s),n)}var Eb=/^(input\.type|delete)($|\.)/,Vi=class i{constructor(e,t,n=0,r=void 0){this.done=e,this.undone=t,this.prevTime=n,this.prevUserEvent=r}isolate(){return this.prevTime?new i(this.done,this.undone):this}addChanges(e,t,n,r,s){let o=this.done,a=o[o.length-1];return a&&a.changes&&!a.changes.empty&&e.changes&&(!n||Eb.test(n))&&(!a.selectionsAfter.length&&t-this.prevTime0&&t-this.prevTimet.empty?i.moveByChar(t,e):js(t,e))}function Ae(i){return i.textDirectionAt(i.state.selection.main.head)==ue.LTR}var XO=i=>CO(i,!Ae(i)),_O=i=>CO(i,Ae(i));function RO(i,e){return xt(i,t=>t.empty?i.moveByGroup(t,e):js(t,e))}var zb=i=>RO(i,!Ae(i)),Lb=i=>RO(i,Ae(i));var $$=typeof Intl<"u"&&Intl.Segmenter?new Intl.Segmenter(void 0,{granularity:"word"}):null;function Mb(i,e,t){if(e.type.prop(t))return!0;let n=e.to-e.from;return n&&(n>2||/[^\s,.;:]/.test(i.sliceDoc(e.from,e.to)))||e.firstChild}function Vs(i,e,t){let n=B(i).resolveInner(e.head),r=t?I.closedBy:I.openedBy;for(let l=e.head;;){let c=t?n.childAfter(l):n.childBefore(l);if(!c)break;Mb(i,c,r)?n=c:l=t?c.to:c.from}let s=n.type.prop(r),o,a;return s&&(o=t?ji(i,n.from,1):ji(i,n.to,-1))&&o.matched?a=t?o.end.to:o.end.from:a=t?n.to:n.from,v.cursor(a,t?-1:1)}var Wb=i=>xt(i,e=>Vs(i.state,e,!Ae(i))),jb=i=>xt(i,e=>Vs(i.state,e,Ae(i)));function AO(i,e){return xt(i,t=>{if(!t.empty)return js(t,e);let n=i.moveVertically(t,e);return n.head!=t.head?n:i.moveToLineBoundary(t,e)})}var ZO=i=>AO(i,!1),qO=i=>AO(i,!0);function EO(i){let e=i.scrollDOM.clientHeighto.empty?i.moveVertically(o,e,t.height):js(o,e));if(r.eq(n.selection))return!1;let s;if(t.selfScroll){let o=i.coordsAtPos(n.selection.main.head),a=i.scrollDOM.getBoundingClientRect(),l=a.top+t.marginTop,c=a.bottom-t.marginBottom;o&&o.top>l&&o.bottomzO(i,!1),_l=i=>zO(i,!0);function pi(i,e,t){let n=i.lineBlockAt(e.head),r=i.moveToLineBoundary(e,t);if(r.head==e.head&&r.head!=(t?n.to:n.from)&&(r=i.moveToLineBoundary(e,t,!1)),!t&&r.head==n.from&&n.length){let s=/^\s*/.exec(i.state.sliceDoc(n.from,Math.min(n.from+100,n.to)))[0].length;s&&e.head!=n.from+s&&(r=v.cursor(n.from+s))}return r}var Vb=i=>xt(i,e=>pi(i,e,!0)),Db=i=>xt(i,e=>pi(i,e,!1)),Yb=i=>xt(i,e=>pi(i,e,!Ae(i))),Ib=i=>xt(i,e=>pi(i,e,Ae(i))),Bb=i=>xt(i,e=>v.cursor(i.lineBlockAt(e.head).from,1)),Ub=i=>xt(i,e=>v.cursor(i.lineBlockAt(e.head).to,-1));function Gb(i,e,t){let n=!1,r=xn(i.selection,s=>{let o=ji(i,s.head,-1)||ji(i,s.head,1)||s.head>0&&ji(i,s.head-1,1)||s.headGb(i,e,!1);function ft(i,e,t){let n=xn(i.state.selection,r=>{r.undirectional&&r.head>=r.anchor!=e&&(r=v.range(r.head,r.anchor));let s=t(r);return v.range(r.anchor,s.head,s.goalColumn,s.bidiLevel||void 0,s.assoc)});return n.eq(i.state.selection)?!1:(i.dispatch(kt(i.state,n)),!0)}function LO(i,e){return ft(i,e,t=>i.moveByChar(t,e))}var MO=i=>LO(i,!Ae(i)),WO=i=>LO(i,Ae(i));function jO(i,e){return ft(i,e,t=>i.moveByGroup(t,e))}var Fb=i=>jO(i,!Ae(i)),Hb=i=>jO(i,Ae(i));var Kb=i=>{let e=!Ae(i);return ft(i,e,t=>Vs(i.state,t,e))},Jb=i=>{let e=Ae(i);return ft(i,e,t=>Vs(i.state,t,e))};function VO(i,e){return ft(i,e,t=>i.moveVertically(t,e))}var DO=i=>VO(i,!1),YO=i=>VO(i,!0);function IO(i,e){return ft(i,e,t=>i.moveVertically(t,e,EO(i).height))}var dO=i=>IO(i,!1),pO=i=>IO(i,!0),eS=i=>ft(i,!0,e=>pi(i,e,!0)),tS=i=>ft(i,!1,e=>pi(i,e,!1)),iS=i=>{let e=!Ae(i);return ft(i,e,t=>pi(i,t,e))},nS=i=>{let e=Ae(i);return ft(i,e,t=>pi(i,t,e))},rS=i=>ft(i,!1,e=>v.cursor(i.lineBlockAt(e.head).from)),sS=i=>ft(i,!0,e=>v.cursor(i.lineBlockAt(e.head).to)),mO=({state:i,dispatch:e})=>(e(kt(i,{anchor:0})),!0),gO=({state:i,dispatch:e})=>(e(kt(i,{anchor:i.doc.length})),!0),QO=({state:i,dispatch:e})=>(e(kt(i,{anchor:i.selection.main.anchor,head:0})),!0),bO=({state:i,dispatch:e})=>(e(kt(i,{anchor:i.selection.main.anchor,head:i.doc.length})),!0),oS=({state:i,dispatch:e})=>(e(i.update({selection:{anchor:0,head:i.doc.length},userEvent:"select"})),!0),aS=({state:i,dispatch:e})=>{let t=Ds(i).map(({from:n,to:r})=>v.range(n,Math.min(r+1,i.doc.length)));return e(i.update({selection:v.create(t),userEvent:"select"})),!0},lS=({state:i,dispatch:e})=>{let t=xn(i.selection,n=>{let r=B(i),s=r.resolveStack(n.from,1);if(n.empty){let o=r.resolveStack(n.from,-1);o.node.from>=s.node.from&&o.node.to<=s.node.to&&(s=o)}for(let o=s;o;o=o.next){let{node:a}=o;if((a.from=n.to||a.to>n.to&&a.from<=n.from)&&o.next)return v.range(a.to,a.from)}return n});return t.eq(i.selection)?!1:(e(kt(i,t)),!0)};function BO(i,e){let{state:t}=i,n=t.selection,r=t.selection.ranges.slice();for(let s of t.selection.ranges){let o=t.doc.lineAt(s.head);if(e?o.to0)for(let a=s;;){let l=i.moveVertically(a,e);if(l.heado.to){r.some(c=>c.head==l.head)||r.push(l);break}else{if(l.head==a.head)break;a=l}}}return r.length==n.ranges.length?!1:(i.dispatch(kt(t,v.create(r,r.length-1))),!0)}var cS=i=>BO(i,!1),hS=i=>BO(i,!0),fS=({state:i,dispatch:e})=>{let t=i.selection,n=null;return t.ranges.length>1?n=v.create([t.main]):t.main.empty||(n=v.create([v.cursor(t.main.head)])),n?(e(kt(i,n)),!0):!1};function Or(i,e){if(i.state.readOnly)return!1;let t="delete.selection",{state:n}=i,r=n.changeByRange(s=>{let{from:o,to:a}=s;if(o==a){let l=e(s);lo&&(t="delete.forward",l=Ls(i,l,!0)),o=Math.min(o,l),a=Math.max(a,l)}else o=Ls(i,o,!1),a=Ls(i,a,!0);return o==a?{range:s}:{changes:{from:o,to:a},range:v.cursor(o,or(i)))n.between(e,e,(r,s)=>{re&&(e=t?s:r)});return e}var UO=(i,e,t)=>Or(i,n=>{let r=n.from,{state:s}=i,o=s.doc.lineAt(r),a,l;if(t&&!e&&r>o.from&&rUO(i,!1,!0);var GO=i=>UO(i,!0,!1),NO=(i,e)=>Or(i,t=>{let n=t.head,{state:r}=i,s=r.doc.lineAt(n),o=r.charCategorizer(n);for(let a=null;;){if(n==(e?s.to:s.from)){n==t.head&&s.number!=(e?r.doc.lines:1)&&(n+=e?1:-1);break}let l=ke(s.text,n-s.from,e)+s.from,c=s.text.slice(Math.min(n,l)-s.from,Math.max(n,l)-s.from),h=o(c);if(a!=null&&h!=a)break;(c!=" "||n!=t.head)&&(a=h),n=l}return n}),FO=i=>NO(i,!1),uS=i=>NO(i,!0);var OS=i=>Or(i,e=>{let t=i.lineBlockAt(e.head).to;return e.headOr(i,e=>{let t=i.moveToLineBoundary(e,!1).head;return e.head>t?t:Math.max(0,e.head-1)}),pS=i=>Or(i,e=>{let t=i.moveToLineBoundary(e,!0).head;return e.head{if(i.readOnly)return!1;let t=i.changeByRange(n=>({changes:{from:n.from,to:n.to,insert:H.of(["",""])},range:v.cursor(n.from)}));return e(i.update(t,{scrollIntoView:!0,userEvent:"input"})),!0},gS=({state:i,dispatch:e})=>{if(i.readOnly)return!1;let t=i.changeByRange(n=>{if(!n.empty||n.from==0||n.from==i.doc.length)return{range:n};let r=n.from,s=i.doc.lineAt(r),o=r==s.from?r-1:ke(s.text,r-s.from,!1)+s.from,a=r==s.to?r+1:ke(s.text,r-s.from,!0)+s.from;return{changes:{from:o,to:a,insert:i.doc.slice(r,a).append(i.doc.slice(o,r))},range:v.cursor(a)}});return t.changes.empty?!1:(e(i.update(t,{scrollIntoView:!0,userEvent:"move.character"})),!0)};function Ds(i){let e=[],t=-1;for(let n of i.selection.ranges){let r=i.doc.lineAt(n.from),s=i.doc.lineAt(n.to);if(!n.empty&&n.to==s.from&&(s=i.doc.lineAt(n.to-1)),t>=r.number){let o=e[e.length-1];o.to=s.to,o.ranges.push(n)}else e.push({from:r.from,to:s.to,ranges:[n]});t=s.number+1}return e}function HO(i,e,t){if(i.readOnly)return!1;let n=[],r=[];for(let s of Ds(i)){if(t?s.to==i.doc.length:s.from==0)continue;let o=i.doc.lineAt(t?s.to+1:s.from-1),a=o.length+1;if(t){n.push({from:s.to,to:o.to},{from:s.from,insert:o.text+i.lineBreak});for(let l of s.ranges)r.push(v.range(Math.min(i.doc.length,l.anchor+a),Math.min(i.doc.length,l.head+a)))}else{n.push({from:o.from,to:s.from},{from:s.to,insert:i.lineBreak+o.text});for(let l of s.ranges)r.push(v.range(l.anchor-a,l.head-a))}}return n.length?(e(i.update({changes:n,scrollIntoView:!0,selection:v.create(r,i.selection.mainIndex),userEvent:"move.line"})),!0):!1}var QS=({state:i,dispatch:e})=>HO(i,e,!1),bS=({state:i,dispatch:e})=>HO(i,e,!0);function KO(i,e,t){if(i.readOnly)return!1;let n=[];for(let s of Ds(i))t?n.push({from:s.from,insert:i.doc.slice(s.from,s.to)+i.lineBreak}):n.push({from:s.to,insert:i.lineBreak+i.doc.slice(s.from,s.to)});let r=i.changes(n);return e(i.update({changes:r,selection:i.selection.map(r,t?1:-1),scrollIntoView:!0,userEvent:"input.copyline"})),!0}var SS=({state:i,dispatch:e})=>KO(i,e,!1),yS=({state:i,dispatch:e})=>KO(i,e,!0),kS=i=>{if(i.state.readOnly)return!1;let{state:e}=i,t=e.changes(Ds(e).map(({from:r,to:s})=>(r>0?r--:s{let s;if(i.lineWrapping){let o=i.lineBlockAt(r.head),a=i.coordsAtPos(r.head,r.assoc||1);a&&(s=o.bottom+i.documentTop-a.bottom+i.defaultLineHeight/2)}return i.moveVertically(r,!0,s)}).map(t);return i.dispatch({changes:t,selection:n,scrollIntoView:!0,userEvent:"delete.line"}),!0};function xS(i,e){if(/\(\)|\[\]|\{\}/.test(i.sliceDoc(e-1,e+1)))return{from:e,to:e};let t=B(i).resolveInner(e),n=t.childBefore(e),r=t.childAfter(e),s;return n&&r&&n.to<=e&&r.from>=e&&(s=n.type.prop(I.closedBy))&&s.indexOf(r.name)>-1&&i.doc.lineAt(n.to).from==i.doc.lineAt(r.from).from&&!/\S/.test(i.sliceDoc(n.to,r.from))?{from:n.to,to:r.from}:null}var SO=JO(!1),wS=JO(!0);function JO(i){return({state:e,dispatch:t})=>{if(e.readOnly)return!1;let n=e.changeByRange(r=>{let{from:s,to:o}=r,a=e.doc.lineAt(s),l=!i&&s==o&&xS(e,s);i&&(s=o=(o<=a.to?a:e.doc.lineAt(o)).to);let c=new Wi(e,{simulateBreak:s,simulateDoubleBreak:!!l}),h=wl(c,s);for(h==null&&(h=Fe(/^\s*/.exec(e.doc.lineAt(s).text)[0],e.tabSize));oa.from&&s{let r=[];for(let o=n.from;o<=n.to;){let a=i.doc.lineAt(o);a.number>t&&(n.empty||n.to>a.from)&&(e(a,r,n),t=a.number),o=a.to+1}let s=i.changes(r);return{changes:r,range:v.range(s.mapPos(n.anchor,1),s.mapPos(n.head,1))}})}var PS=({state:i,dispatch:e})=>{if(i.readOnly)return!1;let t=Object.create(null),n=new Wi(i,{overrideIndentation:s=>{let o=t[s];return o??-1}}),r=ql(i,(s,o,a)=>{let l=wl(n,s.from);if(l==null)return;/\S/.test(s.text)||(l=0);let c=/^\s*/.exec(s.text)[0],h=fr(i,l);(c!=h||a.fromi.readOnly?!1:(e(i.update(ql(i,(t,n)=>{n.push({from:t.from,insert:i.facet(Rt)})}),{userEvent:"input.indent"})),!0),El=({state:i,dispatch:e})=>i.readOnly?!1:(e(i.update(ql(i,(t,n)=>{let r=/^\s*/.exec(t.text)[0];if(!r)return;let s=Fe(r,i.tabSize),o=0,a=fr(i,Math.max(0,s-di(i)));for(;o(i.setTabFocusMode(),!0);var zl=({state:i,dispatch:e})=>i.selection.ranges.some(t=>!t.empty)?ed({state:i,dispatch:e}):(e(i.update(i.replaceSelection(" "),{scrollIntoView:!0,userEvent:"input"})),!0),$S=[{key:"Ctrl-b",run:XO,shift:MO,preventDefault:!0},{key:"Ctrl-f",run:_O,shift:WO},{key:"Ctrl-p",run:ZO,shift:DO},{key:"Ctrl-n",run:qO,shift:YO},{key:"Ctrl-a",run:Bb,shift:rS},{key:"Ctrl-e",run:Ub,shift:sS},{key:"Ctrl-d",run:GO},{key:"Ctrl-h",run:Rl},{key:"Ctrl-k",run:OS},{key:"Ctrl-Alt-h",run:FO},{key:"Ctrl-o",run:mS},{key:"Ctrl-t",run:gS},{key:"Ctrl-v",run:_l}],TS=[{key:"ArrowLeft",run:XO,shift:MO,preventDefault:!0},{key:"Mod-ArrowLeft",mac:"Alt-ArrowLeft",run:zb,shift:Fb,preventDefault:!0},{mac:"Cmd-ArrowLeft",run:Yb,shift:iS,preventDefault:!0},{key:"ArrowRight",run:_O,shift:WO,preventDefault:!0},{key:"Mod-ArrowRight",mac:"Alt-ArrowRight",run:Lb,shift:Hb,preventDefault:!0},{mac:"Cmd-ArrowRight",run:Ib,shift:nS,preventDefault:!0},{key:"ArrowUp",run:ZO,shift:DO,preventDefault:!0},{mac:"Cmd-ArrowUp",run:mO,shift:QO},{mac:"Ctrl-ArrowUp",run:OO,shift:dO},{key:"ArrowDown",run:qO,shift:YO,preventDefault:!0},{mac:"Cmd-ArrowDown",run:gO,shift:bO},{mac:"Ctrl-ArrowDown",run:_l,shift:pO},{key:"PageUp",run:OO,shift:dO},{key:"PageDown",run:_l,shift:pO},{key:"Home",run:Db,shift:tS,preventDefault:!0},{key:"Mod-Home",run:mO,shift:QO},{key:"End",run:Vb,shift:eS,preventDefault:!0},{key:"Mod-End",run:gO,shift:bO},{key:"Enter",run:SO,shift:SO},{key:"Mod-a",run:oS},{key:"Backspace",run:Rl,shift:Rl,preventDefault:!0},{key:"Delete",run:GO,preventDefault:!0},{key:"Mod-Backspace",mac:"Alt-Backspace",run:FO,preventDefault:!0},{key:"Mod-Delete",mac:"Alt-Delete",run:uS,preventDefault:!0},{mac:"Mod-Backspace",run:dS,preventDefault:!0},{mac:"Mod-Delete",run:pS,preventDefault:!0}].concat($S.map(i=>({mac:i.key,run:i.run,shift:i.shift}))),td=[{key:"Alt-ArrowLeft",mac:"Ctrl-ArrowLeft",run:Wb,shift:Kb},{key:"Alt-ArrowRight",mac:"Ctrl-ArrowRight",run:jb,shift:Jb},{key:"Alt-ArrowUp",run:QS},{key:"Shift-Alt-ArrowUp",run:SS},{key:"Alt-ArrowDown",run:bS},{key:"Shift-Alt-ArrowDown",run:yS},{key:"Mod-Alt-ArrowUp",run:cS},{key:"Mod-Alt-ArrowDown",run:hS},{key:"Escape",run:fS},{key:"Mod-Enter",run:wS},{key:"Alt-l",mac:"Ctrl-l",run:aS},{key:"Mod-i",run:lS,preventDefault:!0},{key:"Mod-[",run:El},{key:"Mod-]",run:ed},{key:"Mod-Alt-\\",run:PS},{key:"Shift-Mod-k",run:kS},{key:"Shift-Mod-\\",run:Nb},{key:"Mod-/",run:Sb},{key:"Alt-A",run:kb},{key:"Ctrl-m",mac:"Shift-Alt-m",run:vS}].concat(TS);var Ys=class{constructor(e,t,n,r){this.state=e,this.pos=t,this.explicit=n,this.view=r,this.abortListeners=[],this.abortOnDocChange=!1}tokenBefore(e){let t=B(this.state).resolveInner(this.pos,-1);for(;t&&e.indexOf(t.name)<0;)t=t.parent;return t?{from:t.from,to:this.pos,text:this.state.sliceDoc(t.from,this.pos),type:t.type}:null}matchBefore(e){let t=this.state.doc.lineAt(this.pos),n=Math.max(t.from,this.pos-250),r=t.text.slice(n-t.from,this.pos-t.from),s=r.search(XS(e,!1));return s<0?null:{from:n+s,to:this.pos,text:r.slice(s)}}get aborted(){return this.abortListeners==null}addEventListener(e,t,n){e=="abort"&&this.abortListeners&&(this.abortListeners.push(t),n&&n.onDocChange&&(this.abortOnDocChange=!0))}};function id(i){let e=Object.keys(i).join(""),t=/\w/.test(e);return t&&(e=e.replace(/\w/g,"")),`[${t?"\\w":""}${e.replace(/[^\w\s]/g,"\\$&")}]`}function CS(i){let e=Object.create(null),t=Object.create(null);for(let{label:r}of i){e[r[0]]=!0;for(let s=1;stypeof r=="string"?{label:r}:r),[t,n]=e.every(r=>/^\w+$/.test(r.label))?[/\w*$/,/\w+$/]:CS(e);return r=>{let s=r.matchBefore(n);return s||r.explicit?{from:s?s.from:r.pos,options:e,validFor:t}:null}}function Bs(i,e){return t=>{for(let n=B(t.state).resolveInner(t.pos,-1);n;n=n.parent){if(i.indexOf(n.name)>-1)return null;if(n.type.isTop)break}return e(t)}}function XS(i,e){var t;let{source:n}=i,r=e&&n[0]!="^",s=n[n.length-1]!="$";return!r&&!s?i:new RegExp(`${r?"^":""}(?:${n})${s?"$":""}`,(t=i.flags)!==null&&t!==void 0?t:i.ignoreCase?"i":"")}var _S=_e.define();var Z$=typeof navigator=="object"&&/Win/.test(navigator.platform);var RS=E.baseTheme({".cm-tooltip.cm-tooltip-autocomplete":{"& > ul":{fontFamily:"monospace",whiteSpace:"nowrap",overflow:"hidden auto",maxWidth_fallback:"700px",maxWidth:"min(700px, 95vw)",minWidth:"250px",maxHeight:"10em",height:"100%",listStyle:"none",margin:0,padding:0,"& > li, & > completion-section":{padding:"1px 3px",lineHeight:1.2},"& > li":{overflowX:"hidden",textOverflow:"ellipsis",cursor:"pointer"},"& > completion-section":{display:"list-item",borderBottom:"1px solid silver",paddingLeft:"0.5em",opacity:.7}}},"&light .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#17c",color:"white"},"&light .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#777"},"&dark .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#347",color:"white"},"&dark .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#444"},".cm-completionListIncompleteTop:before, .cm-completionListIncompleteBottom:after":{content:'"\xB7\xB7\xB7"',opacity:.5,display:"block",textAlign:"center",cursor:"pointer"},".cm-tooltip.cm-completionInfo":{position:"absolute",padding:"3px 9px",width:"max-content",maxWidth:"400px",boxSizing:"border-box",whiteSpace:"pre-line"},".cm-completionInfo.cm-completionInfo-left":{right:"100%"},".cm-completionInfo.cm-completionInfo-right":{left:"100%"},".cm-completionInfo.cm-completionInfo-left-narrow":{right:"30px"},".cm-completionInfo.cm-completionInfo-right-narrow":{left:"30px"},"&light .cm-snippetField":{backgroundColor:"#00000022"},"&dark .cm-snippetField":{backgroundColor:"#ffffff22"},".cm-snippetFieldPosition":{verticalAlign:"text-top",width:0,height:"1.15em",display:"inline-block",margin:"0 -0.7px -.7em",borderLeft:"1.4px dotted #888"},".cm-completionMatchedText":{textDecoration:"underline"},".cm-completionDetail":{marginLeft:"0.5em",fontStyle:"italic"},".cm-completionIcon":{fontSize:"90%",width:".8em",display:"inline-block",textAlign:"center",paddingRight:".6em",opacity:"0.6",boxSizing:"content-box"},".cm-completionIcon-function, .cm-completionIcon-method":{"&:after":{content:"'\u0192'"}},".cm-completionIcon-class":{"&:after":{content:"'\u25CB'"}},".cm-completionIcon-interface":{"&:after":{content:"'\u25CC'"}},".cm-completionIcon-variable":{"&:after":{content:"'\u{1D465}'"}},".cm-completionIcon-constant":{"&:after":{content:"'\u{1D436}'"}},".cm-completionIcon-type":{"&:after":{content:"'\u{1D461}'"}},".cm-completionIcon-enum":{"&:after":{content:"'\u222A'"}},".cm-completionIcon-property":{"&:after":{content:"'\u25A1'"}},".cm-completionIcon-keyword":{"&:after":{content:"'\u{1F511}\uFE0E'"}},".cm-completionIcon-namespace":{"&:after":{content:"'\u25A2'"}},".cm-completionIcon-text":{"&:after":{content:"'abc'",fontSize:"50%",verticalAlign:"middle"}}}),Ml=class{constructor(e,t,n,r){this.field=e,this.line=t,this.from=n,this.to=r}},Wl=class i{constructor(e,t,n){this.field=e,this.from=t,this.to=n}map(e){let t=e.mapPos(this.from,-1,me.TrackDel),n=e.mapPos(this.to,1,me.TrackDel);return t==null||n==null?null:new i(this.field,t,n)}},jl=class i{constructor(e,t){this.lines=e,this.fieldPositions=t}instantiate(e,t){let n=[],r=[t],s=e.doc.lineAt(t),o=/^\s*/.exec(s.text)[0];for(let l of this.lines){if(n.length){let c=o,h=/^\t*/.exec(l)[0].length;for(let f=0;fnew Wl(l.field,r[l.line]+l.from,r[l.line]+l.to));return{text:n,ranges:a}}static parse(e){let t=[],n=[],r=[],s;for(let o of e.split(/\r\n?|\n/)){for(;s=/[#$]\{(?:(\d+)(?::([^{}]*))?|((?:\\[{}]|[^{}])*))\}/.exec(o);){let a=s[1]?+s[1]:null,l=s[2]||s[3]||"",c=-1;a===0&&(a=1e9);let h=l.replace(/\\[{}]/g,f=>f[1]);for(let f=0;f=c&&u.field++}for(let f of r)if(f.line==n.length&&f.from>s.index){let u=s[2]?3+(s[1]||"").length:2;f.from-=u,f.to-=u}r.push(new Ml(c,n.length,s.index,s.index+h.length)),o=o.slice(0,s.index)+l+o.slice(s.index+s[0].length)}o=o.replace(/\\([{}])/g,(a,l,c)=>{for(let h of r)h.line==n.length&&h.from>c&&(h.from--,h.to--);return l}),n.push(o)}return new i(n,r)}},AS=Z.widget({widget:new class extends Re{toDOM(){let i=document.createElement("span");return i.className="cm-snippetFieldPosition",i}ignoreEvent(){return!1}}}),ZS=Z.mark({class:"cm-snippetField"}),wn=class i{constructor(e,t){this.ranges=e,this.active=t,this.deco=Z.set(e.map(n=>(n.from==n.to?AS:ZS).range(n.from,n.to)),!0)}map(e){let t=[];for(let n of this.ranges){let r=n.map(e);if(!r)return null;t.push(r)}return new i(t,this.active)}selectionInsideField(e){return e.ranges.every(t=>this.ranges.some(n=>n.field==this.active&&n.from<=t.from&&n.to>=t.to))}},mr=ie.define({map(i,e){return i&&i.map(e)}}),qS=ie.define(),dr=he.define({create(){return null},update(i,e){for(let t of e.effects){if(t.is(mr))return t.value;if(t.is(qS)&&i)return new wn(i.ranges,t.value)}return i&&e.docChanged&&(i=i.map(e.changes)),i&&e.selection&&!i.selectionInsideField(e.selection)&&(i=null),i},provide:i=>E.decorations.from(i,e=>e?e.deco:Z.none)});function Vl(i,e){return v.create(i.filter(t=>t.field==e).map(t=>v.range(t.from,t.to)))}function ES(i){let e=jl.parse(i);return(t,n,r,s)=>{let{text:o,ranges:a}=e.instantiate(t.state,r),{main:l}=t.state.selection,c={changes:{from:r,to:s==l.from?l.to:s,insert:H.of(o)},scrollIntoView:!0,annotations:n?[_S.of(n),de.userEvent.of("input.complete")]:void 0};if(a.length&&(c.selection=Vl(a,0)),a.some(h=>h.field>0)){let h=new wn(a,0),f=c.effects=[mr.of(h)];t.state.field(dr,!1)===void 0&&f.push(ie.appendConfig.of([dr,jS,VS,RS]))}t.dispatch(t.state.update(c))}}function od(i){return({state:e,dispatch:t})=>{let n=e.field(dr,!1);if(!n||i<0&&n.active==0)return!1;let r=n.active+i,s=i>0&&!n.ranges.some(o=>o.field==r+i);return t(e.update({selection:Vl(n.ranges,r),effects:mr.of(s?null:new wn(n.ranges,r)),scrollIntoView:!0})),!0}}var zS=({state:i,dispatch:e})=>i.field(dr,!1)?(e(i.update({effects:mr.of(null)})),!0):!1,LS=od(1),MS=od(-1);var WS=[{key:"Tab",run:LS,shift:MS},{key:"Escape",run:zS}],nd=Y.define({combine(i){return i.length?i[0]:WS}}),jS=pt.highest(qi.compute([nd],i=>i.facet(nd)));function ce(i,e){return{...e,apply:ES(i)}}var VS=E.domEventHandlers({mousedown(i,e){let t=e.state.field(dr,!1),n;if(!t||(n=e.posAtCoords({x:i.clientX,y:i.clientY}))==null)return!1;let r=t.ranges.find(s=>s.from<=n&&s.to>=n);return!r||r.field==t.active?!1:(e.dispatch({selection:Vl(t.ranges,r.field),effects:mr.of(t.ranges.some(s=>s.field>r.field)?new wn(t.ranges,r.field):null),scrollIntoView:!0}),!0)}});var pr={brackets:["(","[","{","'",'"'],before:")]}:;>",stringPrefixes:[]},Di=ie.define({map(i,e){let t=e.mapPos(i,-1,me.TrackAfter);return t??void 0}}),Dl=new class extends it{};Dl.startSide=1;Dl.endSide=-1;var ad=he.define({create(){return oe.empty},update(i,e){if(i=i.map(e.changes),e.selection){let t=e.state.doc.lineAt(e.selection.main.head);i=i.update({filter:n=>n>=t.from&&n<=t.to})}for(let t of e.effects)t.is(Di)&&(i=i.update({add:[Dl.range(t.value,t.value+1)]}));return i}});function ld(){return[YS,ad]}var Ll="()[]{}<>\xAB\xBB\xBB\xAB\uFF3B\uFF3D\uFF5B\uFF5D";function cd(i){for(let e=0;e{if((DS?i.composing:i.compositionStarted)||i.state.readOnly)return!1;let r=i.state.selection.main;if(n.length>2||n.length==2&&on(ni(n,0))==1||e!=r.from||t!=r.to)return!1;let s=BS(i.state,n);return s?(i.dispatch(s),!0):!1}),IS=({state:i,dispatch:e})=>{if(i.readOnly)return!1;let n=hd(i,i.selection.main.head).brackets||pr.brackets,r=null,s=i.changeByRange(o=>{if(o.empty){let a=US(i.doc,o.head);for(let l of n)if(l==a&&Us(i.doc,o.head)==cd(ni(l,0)))return{changes:{from:o.head-l.length,to:o.head+l.length},range:v.cursor(o.head-l.length)}}return{range:r=o}});return r||e(i.update(s,{scrollIntoView:!0,userEvent:"delete.backward"})),!r},fd=[{key:"Backspace",run:IS}];function BS(i,e){let t=hd(i,i.selection.main.head),n=t.brackets||pr.brackets;for(let r of n){let s=cd(ni(r,0));if(e==r)return s==r?FS(i,r,n.indexOf(r+r+r)>-1,t):GS(i,r,s,t.before||pr.before);if(e==s&&ud(i,i.selection.main.from))return NS(i,r,s)}return null}function ud(i,e){let t=!1;return i.field(ad).between(0,i.doc.length,n=>{n==e&&(t=!0)}),t}function Us(i,e){let t=i.sliceString(e,e+2);return t.slice(0,on(ni(t,0)))}function US(i,e){let t=i.sliceString(e-2,e);return on(ni(t,0))==t.length?t:t.slice(1)}function GS(i,e,t,n){let r=null,s=i.changeByRange(o=>{if(!o.empty)return{changes:[{insert:e,from:o.from},{insert:t,from:o.to}],effects:Di.of(o.to+e.length),range:v.range(o.anchor+e.length,o.head+e.length)};let a=Us(i.doc,o.head);return!a||/\s/.test(a)||n.indexOf(a)>-1?{changes:{insert:e+t,from:o.head},effects:Di.of(o.head+e.length),range:v.cursor(o.head+e.length)}:{range:r=o}});return r?null:i.update(s,{scrollIntoView:!0,userEvent:"input.type"})}function NS(i,e,t){let n=null,r=i.changeByRange(s=>s.empty&&Us(i.doc,s.head)==t?{changes:{from:s.head,to:s.head+t.length,insert:t},range:v.cursor(s.head+t.length)}:n={range:s});return n?null:i.update(r,{scrollIntoView:!0,userEvent:"input.type"})}function FS(i,e,t,n){let r=n.stringPrefixes||pr.stringPrefixes,s=null,o=i.changeByRange(a=>{if(!a.empty)return{changes:[{insert:e,from:a.from},{insert:e,from:a.to}],effects:Di.of(a.to+e.length),range:v.range(a.anchor+e.length,a.head+e.length)};let l=a.head,c=Us(i.doc,l),h;if(c==e){if(rd(i,l))return{changes:{insert:e+e,from:l},effects:Di.of(l+e.length),range:v.cursor(l+e.length)};if(ud(i,l)){let u=t&&i.sliceDoc(l,l+e.length*3)==e+e+e?e+e+e:e;return{changes:{from:l,to:l+u.length,insert:u},range:v.cursor(l+u.length)}}}else{if(t&&i.sliceDoc(l-2*e.length,l)==e+e&&(h=sd(i,l-2*e.length,r))>-1&&rd(i,h))return{changes:{insert:e+e+e+e,from:l},effects:Di.of(l+e.length),range:v.cursor(l+e.length)};if(i.charCategorizer(l)(c)!=Ee.Word&&sd(i,l,r)>-1&&!HS(i,l,e,r))return{changes:{insert:e+e,from:l},effects:Di.of(l+e.length),range:v.cursor(l+e.length)}}return{range:s=a}});return s?null:i.update(o,{scrollIntoView:!0,userEvent:"input.type"})}function rd(i,e){let t=B(i).resolveInner(e+1);return t.parent&&t.from==e}function HS(i,e,t,n){let r=B(i).resolveInner(e,-1),s=n.reduce((o,a)=>Math.max(o,a.length),0);for(let o=0;o<5;o++){let a=i.sliceDoc(r.from,Math.min(r.to,r.from+t.length+s)),l=a.indexOf(t);if(!l||l>-1&&n.indexOf(a.slice(0,l))>-1){let h=r.firstChild;for(;h&&h.from==r.from&&h.to-h.from>t.length+l;){if(i.sliceDoc(h.to-t.length,h.to)==t)return!1;h=h.firstChild}return!0}let c=r.to==e&&r.parent;if(!c)break;r=c}return!1}function sd(i,e,t){let n=i.charCategorizer(e);if(n(i.sliceDoc(e-1,e))!=Ee.Word)return e;for(let r of t){let s=e-r.length;if(i.sliceDoc(s,e)==r&&n(i.sliceDoc(s-1,s))!=Ee.Word)return s}return-1}var Fs=class i{static create(e,t,n,r,s){let o=r+(r<<8)+e+(t<<4)|0;return new i(e,t,n,o,s,[],[])}constructor(e,t,n,r,s,o,a){this.type=e,this.value=t,this.from=n,this.hash=r,this.end=s,this.children=o,this.positions=a,this.hashProp=[[I.contextHash,r]]}addChild(e,t){e.prop(I.contextHash)!=this.hash&&(e=new G(e.type,e.children,e.positions,e.length,this.hashProp)),this.children.push(e),this.positions.push(t)}toTree(e,t=this.end){let n=this.children.length-1;return n>=0&&(t=Math.max(t,this.positions[n]+this.children[n].length+this.from)),new G(e.types[this.type],this.children,this.positions,t-this.from).balance({makeTree:(r,s,o)=>new G(Oe.none,r,s,o,this.hashProp)})}},A;(function(i){i[i.Document=1]="Document",i[i.CodeBlock=2]="CodeBlock",i[i.FencedCode=3]="FencedCode",i[i.Blockquote=4]="Blockquote",i[i.HorizontalRule=5]="HorizontalRule",i[i.BulletList=6]="BulletList",i[i.OrderedList=7]="OrderedList",i[i.ListItem=8]="ListItem",i[i.ATXHeading1=9]="ATXHeading1",i[i.ATXHeading2=10]="ATXHeading2",i[i.ATXHeading3=11]="ATXHeading3",i[i.ATXHeading4=12]="ATXHeading4",i[i.ATXHeading5=13]="ATXHeading5",i[i.ATXHeading6=14]="ATXHeading6",i[i.SetextHeading1=15]="SetextHeading1",i[i.SetextHeading2=16]="SetextHeading2",i[i.HTMLBlock=17]="HTMLBlock",i[i.LinkReference=18]="LinkReference",i[i.Paragraph=19]="Paragraph",i[i.CommentBlock=20]="CommentBlock",i[i.ProcessingInstructionBlock=21]="ProcessingInstructionBlock",i[i.Escape=22]="Escape",i[i.Entity=23]="Entity",i[i.HardBreak=24]="HardBreak",i[i.Emphasis=25]="Emphasis",i[i.StrongEmphasis=26]="StrongEmphasis",i[i.Link=27]="Link",i[i.Image=28]="Image",i[i.InlineCode=29]="InlineCode",i[i.HTMLTag=30]="HTMLTag",i[i.Comment=31]="Comment",i[i.ProcessingInstruction=32]="ProcessingInstruction",i[i.Autolink=33]="Autolink",i[i.HeaderMark=34]="HeaderMark",i[i.QuoteMark=35]="QuoteMark",i[i.ListMark=36]="ListMark",i[i.LinkMark=37]="LinkMark",i[i.EmphasisMark=38]="EmphasisMark",i[i.CodeMark=39]="CodeMark",i[i.CodeText=40]="CodeText",i[i.CodeInfo=41]="CodeInfo",i[i.LinkTitle=42]="LinkTitle",i[i.LinkLabel=43]="LinkLabel",i[i.URL=44]="URL"})(A||(A={}));var Bl=class{constructor(e,t){this.start=e,this.content=t,this.marks=[],this.parsers=[]}},Ul=class{constructor(){this.text="",this.baseIndent=0,this.basePos=0,this.depth=0,this.markers=[],this.pos=0,this.indent=0,this.next=-1}forward(){this.basePos>this.pos&&this.forwardInner()}forwardInner(){let e=this.skipSpace(this.basePos);this.indent=this.countIndent(e,this.pos,this.indent),this.pos=e,this.next=e==this.text.length?-1:this.text.charCodeAt(e)}skipSpace(e){return Qr(this.text,e)}reset(e){for(this.text=e,this.baseIndent=this.basePos=this.pos=this.indent=0,this.forwardInner(),this.depth=1;this.markers.length;)this.markers.pop()}moveBase(e){this.basePos=e,this.baseIndent=this.countIndent(e,this.pos,this.indent)}moveBaseColumn(e){this.baseIndent=e,this.basePos=this.findColumn(e)}addMarker(e){this.markers.push(e)}countIndent(e,t=0,n=0){for(let r=t;r=e.stack[t.depth+1].value+t.baseIndent)return!0;if(t.indent>=t.baseIndent+4)return!1;let n=(i.type==A.OrderedList?sc:rc)(t,e,!1);return n>0&&(i.type!=A.BulletList||nc(t,e,!1)<0)&&t.text.charCodeAt(t.pos+n-1)==i.value}var wd={[A.Blockquote](i,e,t){return t.next!=62?!1:(t.markers.push(ne(A.QuoteMark,e.lineStart+t.pos,e.lineStart+t.pos+1)),t.moveBase(t.pos+(ut(t.text.charCodeAt(t.pos+1))?2:1)),i.end=e.lineStart+t.text.length,!0)},[A.ListItem](i,e,t){return t.indent-1?!1:(t.moveBaseColumn(t.baseIndent+i.value),!0)},[A.OrderedList]:Od,[A.BulletList]:Od,[A.Document](){return!0}};function ut(i){return i==32||i==9||i==10||i==13}function Qr(i,e=0){for(;et&&ut(i.charCodeAt(e-1));)e--;return e}function Pd(i){if(i.next!=96&&i.next!=126)return-1;let e=i.pos+1;for(;e-1&&i.depth==e.stack.length&&e.parser.leafBlockParsers.indexOf(Ad.SetextHeading)>-1||n<3?-1:1}function $d(i,e){for(let t=i.stack.length-1;t>=0;t--)if(i.stack[t].type==e)return!0;return!1}function rc(i,e,t){return(i.next==45||i.next==43||i.next==42)&&(i.pos==i.text.length-1||ut(i.text.charCodeAt(i.pos+1)))&&(!t||$d(e,A.BulletList)||i.skipSpace(i.pos+2)=48&&r<=57;){n++;if(n==i.text.length)return-1;r=i.text.charCodeAt(n)}return n==i.pos||n>i.pos+9||r!=46&&r!=41||ni.pos+1||i.next!=49)?-1:n+1-i.pos}function Td(i){if(i.next!=35)return-1;let e=i.pos+1;for(;e6?-1:t}function Cd(i){if(i.next!=45&&i.next!=61||i.indent>=i.baseIndent+4)return-1;let e=i.pos+1;for(;e/,_d=/\?>/,Nl=[[/^<(?:script|pre|style)(?:\s|>|$)/i,/<\/(?:script|pre|style)>/i],[/^\s*/,Ad=/\?>/,Fl=[[/^<(?:script|pre|style)(?:\s|>|$)/i,/<\/(?:script|pre|style)>/i],[/^\s*/i.exec(n);if(s)return i.append(ne(A.Comment,t,t+1+s[0].length));let o=/^\?[^]*?\?>/.exec(n);if(o)return i.append(ne(A.ProcessingInstruction,t,t+1+o[0].length));let a=/^(?:![A-Z][^]*?>|!\[CDATA\[[^]*?\]\]>|\/\s*[a-zA-Z][\w-]*\s*>|\s*[a-zA-Z][\w-]*(\s+[a-zA-Z:_][\w-.:]*(?:\s*=\s*(?:[^\s"'=<>`]+|'[^']*'|"[^"]*"))?)*\s*(\/\s*)?>)/.exec(n);return a?i.append(ne(A.HTMLTag,t,t+1+a[0].length)):-1},Emphasis(i,e,t){if(e!=95&&e!=42)return-1;let n=t+1;for(;i.char(n)==e;)n++;let r=i.slice(t-1,t),s=i.slice(n,n+1),o=yr.test(r),a=yr.test(s),l=/\s|^$/.test(r),c=/\s|^$/.test(s),h=!c&&(!a||l||o),f=!l&&(!o||c||a),u=h&&(e==42||!f||o),O=f&&(e==42||!h||a);return i.append(new We(e==95?Ed:zd,t,n,(u?1:0)|(O?2:0)))},HardBreak(i,e,t){if(e==92&&i.char(t+1)==10)return i.append(ne(A.HardBreak,t,t+2));if(e==32){let n=t+1;for(;i.char(n)==32;)n++;if(i.char(n)==10&&n>=t+2)return i.append(ne(A.HardBreak,t,n+1))}return-1},Link(i,e,t){return e==91?i.append(new We(Yi,t,t+1,1)):-1},Image(i,e,t){return e==33&&i.char(t+1)==91?i.append(new We(Js,t,t+2,1)):-1},LinkEnd(i,e,t){if(e!=93)return-1;for(let n=i.parts.length-1;n>=0;n--){let r=i.parts[n];if(r instanceof We&&(r.type==Yi||r.type==Js)){if(!r.side||i.skipSpace(r.to)==t&&!/[(\[]/.test(i.slice(t+1,t+2)))return i.parts[n]=null,-1;let s=i.takeContent(n),o=i.parts[n]=ey(i,s,r.type==Yi?A.Link:A.Image,r.from,t+1);if(r.type==Yi)for(let a=0;ae?ne(A.URL,e+t,s+t):s==i.length?null:!1}}function Md(i,e,t){let n=i.charCodeAt(e);if(n!=39&&n!=34&&n!=40)return!1;let r=n==40?41:n;for(let s=e+1,o=!1;s=this.end?-1:this.text.charCodeAt(e-this.offset)}get end(){return this.offset+this.text.length}slice(e,t){return this.text.slice(e-this.offset,t-this.offset)}append(e){return this.parts.push(e),e.to}addDelimiter(e,t,n,r,s){return this.append(new We(e,t,n,(r?1:0)|(s?2:0)))}get hasOpenLink(){for(let e=this.parts.length-1;e>=0;e--){let t=this.parts[e];if(t instanceof We&&(t.type==Yi||t.type==Js))return!0}return!1}addElement(e){return this.append(e)}resolveMarkers(e){for(let n=e;n=e;l--){let m=this.parts[l];if(m instanceof We&&m.side&1&&m.type==r.type&&!(s&&(r.side&1||m.side&2)&&(m.to-m.from+o)%3==0&&((m.to-m.from)%3||o%3))){a=m;break}}if(!a)continue;let c=r.type.resolve,h=[],f=a.from,u=r.to;if(s){let m=Math.min(2,a.to-a.from,o);f=a.to-m,u=r.from+m,c=m==1?"Emphasis":"StrongEmphasis"}a.type.mark&&h.push(this.elt(a.type.mark,f,a.to));for(let m=l+1;m=0;t--){let n=this.parts[t];if(n instanceof We&&n.type==e&&n.side&1)return t}return null}takeContent(e){let t=this.resolveMarkers(e);return this.parts.length=e,t}getDelimiterAt(e){let t=this.parts[e];return t instanceof We?t:null}skipSpace(e){return Qr(this.text,e-this.offset)+this.offset}elt(e,t,n,r){return typeof e=="string"?ne(this.parser.getNodeType(e),t,n,r):new Ks(e,t)}};kr.linkStart=Yi;kr.imageStart=Js;function ec(i,e){if(!e.length)return i;if(!i.length)return e;let t=i.slice(),n=0;for(let r of e){for(;n(e?e-1:0))return!1;if(this.fragmentEnd<0){let s=this.fragment.to;for(;s>0&&this.input.read(s-1,s)!=` -`;)s--;this.fragmentEnd=s?s-1:0}let n=this.cursor;n||(n=this.cursor=this.fragment.tree.cursor(),n.firstChild());let r=e+this.fragment.offset;for(;n.to<=r;)if(!n.parent())return!1;for(;;){if(n.from>=r)return this.fragment.from<=t;if(!n.childAfter(r))return!1}}matches(e){let t=this.cursor.tree;return t&&t.prop(I.contextHash)==e}takeNodes(e){let t=this.cursor,n=this.fragment.offset,r=this.fragmentEnd-(this.fragment.openEnd?1:0),s=e.absoluteLineStart,o=s,a=e.block.children.length,l=o,c=a;for(;;){if(t.to-n>r){if(t.type.isAnonymous&&t.firstChild())continue;break}let h=jd(t.from-n,e.ranges);if(t.to-n<=e.ranges[e.rangeI].to)e.addNode(t.tree,h);else{let f=new G(e.parser.nodeSet.types[A.Paragraph],[],[],0,e.block.hashProp);e.reusePlaceholders.set(f,t.tree),e.addNode(f,h)}if(t.type.is("Block")&&(ty.indexOf(t.type.id)<0?(o=t.to-n,a=e.block.children.length):(o=l,a=c),l=t.to-n,c=e.block.children.length),!t.nextSibling())break}for(;e.block.children.length>a;)e.block.children.pop(),e.block.positions.pop();return o-s}};function jd(i,e){let t=i;for(let n=1;nGs[i]),Object.keys(Gs).map(i=>Ad[i]),Object.keys(Gs),KS,wd,Object.keys(Il).map(i=>Il[i]),Object.keys(Il),[]);function ny(i,e,t){let n=[];for(let r=i.firstChild,s=e;;r=r.nextSibling){let o=r?r.from:t;if(o>s&&n.push({from:s,to:o}),!r)break;s=r.to}return n}function Dd(i){let{codeParser:e,htmlParser:t}=i;return{wrap:bn((r,s)=>{let o=r.type.id;if(e&&(o==A.CodeBlock||o==A.FencedCode)){let a="";if(o==A.FencedCode){let c=r.node.getChild(A.CodeInfo);c&&(a=s.read(c.from,c.to))}let l=e(a);if(l)return{parser:l,overlay:c=>c.type.id==A.CodeText,bracketed:o==A.FencedCode}}else if(t&&(o==A.HTMLBlock||o==A.HTMLTag||o==A.CommentBlock))return{parser:t,overlay:ny(r.node,r.from,r.to)};return null})}}var ry={resolve:"Strikethrough",mark:"StrikethroughMark"},sy={defineNodes:[{name:"Strikethrough",style:{"Strikethrough/...":d.strikethrough}},{name:"StrikethroughMark",style:d.processingInstruction}],parseInline:[{name:"Strikethrough",parse(i,e,t){if(e!=126||i.char(t+1)!=126||i.char(t+2)==126)return-1;let n=i.slice(t-1,t),r=i.slice(t+2,t+3),s=/\s|^$/.test(n),o=/\s|^$/.test(r),a=yr.test(n),l=yr.test(r);return i.addDelimiter(ry,t,t+2,!o&&(!l||s||a),!s&&(!a||o||l))},after:"Emphasis"}]};function br(i,e,t=0,n,r=0){let s=0,o=!0,a=-1,l=-1,c=!1,h=()=>{n.push(i.elt("TableCell",r+a,r+l,i.parser.parseInline(e.slice(a,l),r+a)))};for(let f=t;f-1)&&s++,o=!1,n&&(a>-1&&h(),n.push(i.elt("TableDelimiter",f+r,f+r+1))),a=l=-1):(c||u!=32&&u!=9)&&(a<0&&(a=f),l=f+1),c=!c&&u==92}return a>-1&&(s++,n&&h()),s}function gd(i,e){for(let t=e;t\s]*\|?(\s*:?-+:?\s*\|)+(\s*:?-+:?\s*)?$/,eo=class{constructor(){this.rows=null}nextLine(e,t,n){if(this.rows==null){this.rows=!1;let r;if((t.next==45||t.next==58||t.next==124)&&Yd.test(r=t.text.slice(t.pos))){let s=[];br(e,n.content,0,s,n.start)==br(e,r,0)&&(this.rows=[e.elt("TableHeader",n.start,n.start+n.content.length,s),e.elt("TableDelimiter",e.lineStart+t.pos,e.lineStart+t.text.length)])}}else if(this.rows){let r=[];br(e,t.text,t.pos,r,e.lineStart),this.rows.push(e.elt("TableRow",e.lineStart+t.pos,e.lineStart+t.text.length,r))}return!1}finish(e,t){return this.rows?(e.addLeafElement(t,e.elt("Table",t.start,t.start+t.content.length,this.rows)),!0):!1}},oy={defineNodes:[{name:"Table",block:!0},{name:"TableHeader",style:{"TableHeader/...":d.heading}},"TableRow",{name:"TableCell",style:d.content},{name:"TableDelimiter",style:d.processingInstruction}],parseBlock:[{name:"Table",leaf(i,e){return gd(e.content,0)?new eo:null},endLeaf(i,e,t){if(t.parsers.some(r=>r instanceof eo)||!gd(e.text,e.basePos))return!1;let n=i.peekLine();return Yd.test(n)&&br(i,e.text,e.basePos)==br(i,n,e.basePos)},before:"SetextHeading"}]},ic=class{nextLine(){return!1}finish(e,t){return e.addLeafElement(t,e.elt("Task",t.start,t.start+t.content.length,[e.elt("TaskMarker",t.start,t.start+3),...e.parser.parseInline(t.content.slice(3),t.start+3)])),!0}},ay={defineNodes:[{name:"Task",block:!0,style:d.list},{name:"TaskMarker",style:d.atom}],parseBlock:[{name:"TaskList",leaf(i,e){return/^\[[ xX]\][ \t]/.test(e.content)&&i.parentType().name=="ListItem"?new ic:null},after:"SetextHeading"}]},Qd=/(www\.)|(https?:\/\/)|([\w.+-]{1,100}@)|(mailto:|xmpp:)/gy,bd=/[\w-]+(\.[\w-]+)+(:\d+)?(\/[^\s<]*)?/gy,ly=/[\w-]+\.[\w-]+($|[/:])/,Sd=/[\w.+-]+@[\w-]+(\.[\w.-]+)+/gy,yd=/\/[a-zA-Z\d@.]+/gy;function kd(i,e,t,n){let r=0;for(let s=e;s-1)return-1;let n=e+t[0].length;for(;;){let r=i[n-1],s;if(/[?!.,:*_~]/.test(r)||r==")"&&kd(i,e,n,")")>kd(i,e,n,"("))n--;else if(r==";"&&(s=/&(?:#\d+|#x[a-f\d]+|\w+);$/.exec(i.slice(e,n))))n=e+s.index;else break}return n}function xd(i,e){Sd.lastIndex=e;let t=Sd.exec(i);if(!t)return-1;let n=t[0][t[0].length-1];return n=="_"||n=="-"?-1:e+t[0].length-(n=="."?1:0)}var hy={parseInline:[{name:"Autolink",parse(i,e,t){let n=t-i.offset;if(n&&/\w/.test(i.text[n-1]))return-1;Qd.lastIndex=n;let r=Qd.exec(i.text),s=-1;if(!r)return-1;if(r[1]||r[2]){if(s=cy(i.text,n+r[0].length),s>-1&&i.hasOpenLink){let o=/([^\[\]]|\[[^\]]*\])*/.exec(i.text.slice(n,s));s=n+o[0].length}}else r[3]?s=xd(i.text,n):(s=xd(i.text,n+r[0].length),s>-1&&r[0]=="xmpp:"&&(yd.lastIndex=s,r=yd.exec(i.text),r&&(s=r.index+r[0].length)));return s<0?-1:(i.addElement(i.elt("URL",t,s+i.offset)),s+i.offset)}}]},Id=[oy,ay,sy,hy];function Bd(i,e,t){return(n,r,s)=>{if(r!=i||n.char(s+1)==i)return-1;let o=[n.elt(t,s,s+1)];for(let a=s+1;at%3==0).concat(this.state)}]@${this.pos}${this.score?"!"+this.score:""}`}static start(e,t,n=0){let r=e.parser.context;return new i(e,[],t,n,n,0,[],0,r?new to(r,r.start):null,0,null)}get context(){return this.curContext?this.curContext.context:null}pushState(e,t){this.stack.push(this.state,t,this.bufferBase+this.buffer.length),this.state=e}reduce(e){var t;let n=e>>19,r=e&65535,{parser:s}=this.p,o=this.reducePos=2e3&&!(!((t=this.p.parser.nodeSet.types[r])===null||t===void 0)&&t.isAnonymous)&&(c==this.p.lastBigReductionStart?(this.p.bigReductionCount++,this.p.lastBigReductionSize=h):this.p.lastBigReductionSizel;)this.stack.pop();this.reduceContext(r,c)}storeNode(e,t,n,r=4,s=!1){if(e==0&&(!this.stack.length||this.stack[this.stack.length-1]0&&this.buffer[o-4]==0&&this.buffer[o-1]>-1){if(t==n)return;if(this.buffer[o-2]>=t){this.buffer[o-2]=n;return}}}if(!s||this.pos==n)this.buffer.push(e,t,n,r);else{let o=this.buffer.length;if(o>0&&(this.buffer[o-4]!=0||this.buffer[o-1]<0)){let a=!1;for(let l=o;l>0&&this.buffer[l-2]>n;l-=4)if(this.buffer[l-1]>=0){a=!0;break}if(a)for(;o>0&&this.buffer[o-2]>n;)this.buffer[o]=this.buffer[o-4],this.buffer[o+1]=this.buffer[o-3],this.buffer[o+2]=this.buffer[o-2],this.buffer[o+3]=this.buffer[o-1],o-=4,r>4&&(r-=4)}this.buffer[o]=e,this.buffer[o+1]=t,this.buffer[o+2]=n,this.buffer[o+3]=r}}shift(e,t,n,r){if(e&131072)this.pushState(e&65535,this.pos);else if((e&262144)==0){let s=e,{parser:o}=this.p;this.pos=r;let a=o.stateFlag(s,1);!a&&(r>n||t<=o.maxNode)&&(this.reducePos=r),this.pushState(s,a?n:Math.min(n,this.reducePos)),this.shiftContext(t,n),t<=o.maxNode&&this.buffer.push(t,n,r,4)}else this.pos=r,this.shiftContext(t,n),t<=this.p.parser.maxNode&&this.buffer.push(t,n,r,4)}apply(e,t,n,r){e&65536?this.reduce(e):this.shift(e,t,n,r)}useNode(e,t){let n=this.p.reused.length-1;(n<0||this.p.reused[n]!=e)&&(this.p.reused.push(e),n++);let r=this.pos;this.reducePos=this.pos=r+e.length,this.pushState(t,r),this.buffer.push(n,r,this.reducePos,-1),this.curContext&&this.updateContext(this.curContext.tracker.reuse(this.curContext.context,e,this,this.p.stream.reset(this.pos-e.length)))}split(){let e=this,t=e.buffer.length;for(t&&e.buffer[t-4]==0&&(t-=4);t>0&&e.buffer[t-2]>e.reducePos;)t-=4;let n=e.buffer.slice(t),r=e.bufferBase+t;for(;e&&r==e.bufferBase;)e=e.parent;return new i(this.p,this.stack.slice(),this.state,this.reducePos,this.pos,this.score,n,r,this.curContext,this.lookAhead,e)}recoverByDelete(e,t){let n=e<=this.p.parser.maxNode;n&&this.storeNode(e,this.pos,t,4),this.storeNode(0,this.pos,t,n?8:4),this.pos=this.reducePos=t,this.score-=190}canShift(e){for(let t=new cc(this);;){let n=this.p.parser.stateSlot(t.state,4)||this.p.parser.hasAction(t.state,e);if(n==0)return!1;if((n&65536)==0)return!0;t.reduce(n)}}recoverByInsert(e){if(this.stack.length>=300)return[];let t=this.p.parser.nextStates(this.state);if(t.length>8||this.stack.length>=120){let r=[];for(let s=0,o;sl&1&&a==o)||r.push(t[s],o)}t=r}let n=[];for(let r=0;r>19,r=t&65535,s=this.stack.length-n*3;if(s<0||e.getGoto(this.stack[s],r,!1)<0){let o=this.findForcedReduction();if(o==null)return!1;t=o}this.storeNode(0,this.pos,this.pos,4,!0),this.score-=100}return this.reducePos=this.pos,this.reduce(t),!0}findForcedReduction(){let{parser:e}=this.p,t=[],n=(r,s)=>{if(!t.includes(r))return t.push(r),e.allActions(r,o=>{if(!(o&393216))if(o&65536){let a=(o>>19)-s;if(a>1){let l=o&65535,c=this.stack.length-a*3;if(c>=0&&e.getGoto(this.stack[c],l,!1)>=0)return a<<19|65536|l}}else{let a=n(o,s+1);if(a!=null)return a}})};return n(this.state,0)}forceAll(){for(;!this.p.parser.stateFlag(this.state,2);)if(!this.forceReduce()){this.storeNode(0,this.pos,this.pos,4,!0);break}return this}get deadEnd(){if(this.stack.length!=3)return!1;let{parser:e}=this.p;return e.data[e.stateSlot(this.state,1)]==65535&&!e.stateSlot(this.state,4)}restart(){this.storeNode(0,this.pos,this.pos,4,!0),this.state=this.stack[0],this.stack.length=0}sameState(e){if(this.state!=e.state||this.stack.length!=e.stack.length)return!1;for(let t=0;t0&&this.emitLookAhead()}},to=class{constructor(e,t){this.tracker=e,this.context=t,this.hash=e.strict?e.hash(t):0}},cc=class{constructor(e){this.start=e,this.state=e.state,this.stack=e.stack,this.base=this.stack.length}reduce(e){let t=e&65535,n=e>>19;n==0?(this.stack==this.start.stack&&(this.stack=this.stack.slice()),this.stack.push(this.state,0,0),this.base+=3):this.base-=(n-1)*3;let r=this.start.p.parser.getGoto(this.stack[this.base-3],t,!0);this.state=r}},hc=class i{constructor(e,t,n){this.stack=e,this.pos=t,this.index=n,this.buffer=e.buffer,this.index==0&&this.maybeNext()}static create(e,t=e.bufferBase+e.buffer.length){return new i(e,t,t-e.bufferBase)}maybeNext(){let e=this.stack.parent;e!=null&&(this.index=this.stack.bufferBase-e.bufferBase,this.stack=e,this.buffer=e.buffer)}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}next(){this.index-=4,this.pos-=4,this.index==0&&this.maybeNext()}fork(){return new i(this.stack,this.pos,this.index)}};function xr(i,e=Uint16Array){if(typeof i!="string")return i;let t=null;for(let n=0,r=0;n=92&&o--,o>=34&&o--;let l=o-32;if(l>=46&&(l-=46,a=!0),s+=l,a)break;s*=46}t?t[r++]=s:t=new e(s)}return t}var vn=class{constructor(){this.start=-1,this.value=-1,this.end=-1,this.extended=-1,this.lookAhead=0,this.mask=0,this.context=0}},Fd=new vn,fc=class{constructor(e,t){this.input=e,this.ranges=t,this.chunk="",this.chunkOff=0,this.chunk2="",this.chunk2Pos=0,this.next=-1,this.token=Fd,this.rangeIndex=0,this.pos=this.chunkPos=t[0].from,this.range=t[0],this.end=t[t.length-1].to,this.readNext()}resolveOffset(e,t){let n=this.range,r=this.rangeIndex,s=this.pos+e;for(;sn.to:s>=n.to;){if(r==this.ranges.length-1)return null;let o=this.ranges[++r];s+=o.from-n.to,n=o}return s}clipPos(e){if(e>=this.range.from&&ee)return Math.max(e,t.from);return this.end}peek(e){let t=this.chunkOff+e,n,r;if(t>=0&&t=this.chunk2Pos&&na.to&&(this.chunk2=this.chunk2.slice(0,a.to-n)),r=this.chunk2.charCodeAt(0)}}return n>=this.token.lookAhead&&(this.token.lookAhead=n+1),r}acceptToken(e,t=0){let n=t?this.resolveOffset(t,-1):this.pos;if(n==null||n=this.chunk2Pos&&this.posthis.range.to?e.slice(0,this.range.to-this.pos):e,this.chunkPos=this.pos,this.chunkOff=0}}readNext(){return this.chunkOff>=this.chunk.length&&(this.getChunk(),this.chunkOff==this.chunk.length)?this.next=-1:this.next=this.chunk.charCodeAt(this.chunkOff)}advance(e=1){for(this.chunkOff+=e;this.pos+e>=this.range.to;){if(this.rangeIndex==this.ranges.length-1)return this.setDone();e-=this.range.to-this.pos,this.range=this.ranges[++this.rangeIndex],this.pos=this.range.from}return this.pos+=e,this.pos>=this.token.lookAhead&&(this.token.lookAhead=this.pos+1),this.readNext()}setDone(){return this.pos=this.chunkPos=this.end,this.range=this.ranges[this.rangeIndex=this.ranges.length-1],this.chunk="",this.next=-1}reset(e,t){if(t?(this.token=t,t.start=e,t.lookAhead=e+1,t.value=t.extended=-1):this.token=Fd,this.pos!=e){if(this.pos=e,e==this.end)return this.setDone(),this;for(;e=this.range.to;)this.range=this.ranges[++this.rangeIndex];e>=this.chunkPos&&e=this.chunkPos&&t<=this.chunkPos+this.chunk.length)return this.chunk.slice(e-this.chunkPos,t-this.chunkPos);if(e>=this.chunk2Pos&&t<=this.chunk2Pos+this.chunk2.length)return this.chunk2.slice(e-this.chunk2Pos,t-this.chunk2Pos);if(e>=this.range.from&&t<=this.range.to)return this.input.read(e,t);let n="";for(let r of this.ranges){if(r.from>=t)break;r.to>e&&(n+=this.input.read(Math.max(r.from,e),Math.min(r.to,t)))}return n}},gi=class{constructor(e,t){this.data=e,this.id=t}token(e,t){let{parser:n}=t.p;tp(this.data,e,t,this.id,n.data,n.tokenPrecTable)}};gi.prototype.contextual=gi.prototype.fallback=gi.prototype.extend=!1;var Qi=class{constructor(e,t,n){this.precTable=t,this.elseToken=n,this.data=typeof e=="string"?xr(e):e}token(e,t){let n=e.pos,r=0;for(;;){let s=e.next<0,o=e.resolveOffset(1,1);if(tp(this.data,e,t,0,this.data,this.precTable),e.token.value>-1)break;if(this.elseToken==null)return;if(s||r++,o==null)break;e.reset(o,e.token)}r&&(e.reset(n,e.token),e.acceptToken(this.elseToken,r))}};Qi.prototype.contextual=gi.prototype.fallback=gi.prototype.extend=!1;var K=class{constructor(e,t={}){this.token=e,this.contextual=!!t.contextual,this.fallback=!!t.fallback,this.extend=!!t.extend}};function tp(i,e,t,n,r,s){let o=0,a=1<0){let p=i[O];if(l.allows(p)&&(e.token.value==-1||e.token.value==p||uy(p,e.token.value,r,s))){e.acceptToken(p);break}}let h=e.next,f=0,u=i[o+2];if(e.next<0&&u>f&&i[c+u*3-3]==65535){o=i[c+u*3-1];continue e}for(;f>1,p=c+O+(O<<1),m=i[p],b=i[p+1]||65536;if(h=b)f=O+1;else{o=i[p+2],e.advance();continue e}}break}}function Hd(i,e,t){for(let n=e,r;(r=i[n])!=65535;n++)if(r==t)return n-e;return-1}function uy(i,e,t,n){let r=Hd(t,n,e);return r<0||Hd(t,n,i)e)&&!n.type.isError)return t<0?Math.max(0,Math.min(n.to-1,e-25)):Math.min(i.length,Math.max(n.from+1,e+25));if(t<0?n.prevSibling():n.nextSibling())break;if(!n.parent())return t<0?0:i.length}}var uc=class{constructor(e,t){this.fragments=e,this.nodeSet=t,this.i=0,this.fragment=null,this.safeFrom=-1,this.safeTo=-1,this.trees=[],this.start=[],this.index=[],this.nextFragment()}nextFragment(){let e=this.fragment=this.i==this.fragments.length?null:this.fragments[this.i++];if(e){for(this.safeFrom=e.openStart?Kd(e.tree,e.from+e.offset,1)-e.offset:e.from,this.safeTo=e.openEnd?Kd(e.tree,e.to+e.offset,-1)-e.offset:e.to;this.trees.length;)this.trees.pop(),this.start.pop(),this.index.pop();this.trees.push(e.tree),this.start.push(-e.offset),this.index.push(0),this.nextStart=this.safeFrom}else this.nextStart=1e9}nodeAt(e){if(ee)return this.nextStart=o,null;if(s instanceof G){if(o==e){if(o=Math.max(this.safeFrom,e)&&(this.trees.push(s),this.start.push(o),this.index.push(0))}else this.index[t]++,this.nextStart=o+s.length}}},Oc=class{constructor(e,t){this.stream=t,this.tokens=[],this.mainToken=null,this.actions=[],this.tokens=e.tokenizers.map(n=>new vn)}getActions(e){let t=0,n=null,{parser:r}=e.p,{tokenizers:s}=r,o=r.stateSlot(e.state,3),a=e.curContext?e.curContext.hash:0,l=0;for(let c=0;cf.end+25&&(l=Math.max(f.lookAhead,l)),f.value!=0)){let u=t;if(f.extended>-1&&(t=this.addActions(e,f.extended,f.end,t)),t=this.addActions(e,f.value,f.end,t),!h.extend&&(n=f,t>u))break}}for(;this.actions.length>t;)this.actions.pop();return l&&e.setLookAhead(l),!n&&e.pos==this.stream.end&&(n=new vn,n.value=e.p.parser.eofTerm,n.start=n.end=e.pos,t=this.addActions(e,n.value,n.end,t)),this.mainToken=n,this.actions}getMainToken(e){if(this.mainToken)return this.mainToken;let t=new vn,{pos:n,p:r}=e;return t.start=n,t.end=Math.min(n+1,r.stream.end),t.value=n==r.stream.end?r.parser.eofTerm:0,t}updateCachedToken(e,t,n){let r=this.stream.clipPos(n.pos);if(t.token(this.stream.reset(r,e),n),e.value>-1){let{parser:s}=n.p;for(let o=0;o=0&&n.p.parser.dialect.allows(a>>1)){(a&1)==0?e.value=a>>1:e.extended=a>>1;break}}}else e.value=0,e.end=this.stream.clipPos(r+1)}putAction(e,t,n,r){for(let s=0;se.bufferLength*4?new uc(n,e.nodeSet):null}get parsedPos(){return this.minStackPos}advance(){let e=this.stacks,t=this.minStackPos,n=this.stacks=[],r,s;if(this.bigReductionCount>300&&e.length==1){let[o]=e;for(;o.forceReduce()&&o.stack.length&&o.stack[o.stack.length-2]>=this.lastBigReductionStart;);this.bigReductionCount=this.lastBigReductionSize=0}for(let o=0;ot)n.push(a);else{if(this.advanceStack(a,n,e))continue;{r||(r=[],s=[]),r.push(a);let l=this.tokens.getMainToken(a);s.push(l.value,l.end)}}break}}if(!n.length){let o=r&&Oy(r);if(o)return Je&&console.log("Finish with "+this.stackID(o)),this.stackToTree(o);if(this.parser.strict)throw Je&&r&&console.log("Stuck with token "+(this.tokens.mainToken?this.parser.getName(this.tokens.mainToken.value):"none")),new SyntaxError("No parse at "+t);this.recovering||(this.recovering=5)}if(this.recovering&&r){let o=this.stoppedAt!=null&&r[0].pos>this.stoppedAt?r[0]:this.runRecovery(r,s,n);if(o)return Je&&console.log("Force-finish "+this.stackID(o)),this.stackToTree(o.forceAll())}if(this.recovering){let o=this.recovering==1?1:this.recovering*3;if(n.length>o)for(n.sort((a,l)=>l.score-a.score);n.length>o;)n.pop();n.some(a=>a.reducePos>t)&&this.recovering--}else if(n.length>1){e:for(let o=0;o500&&c.buffer.length>500)if((a.score-c.score||a.buffer.length-c.buffer.length)>0)n.splice(l--,1);else{n.splice(o--,1);continue e}}}n.length>12&&(n.sort((o,a)=>a.score-o.score),n.splice(12,n.length-12))}this.minStackPos=n[0].pos;for(let o=1;o ":"";if(this.stoppedAt!=null&&r>this.stoppedAt)return e.forceReduce()?e:null;if(this.fragments){let c=e.curContext&&e.curContext.tracker.strict,h=c?e.curContext.hash:0;for(let f=this.fragments.nodeAt(r);f;){let u=this.parser.nodeSet.types[f.type.id]==f.type?s.getGoto(e.state,f.type.id):-1;if(u>-1&&f.length&&(!c||(f.prop(I.contextHash)||0)==h))return e.useNode(f,u),Je&&console.log(o+this.stackID(e)+` (via reuse of ${s.getName(f.type.id)})`),!0;if(!(f instanceof G)||f.children.length==0||f.positions[0]>0)break;let O=f.children[0];if(O instanceof G&&f.positions[0]==0)f=O;else break}}let a=s.stateSlot(e.state,4);if(a>0)return e.reduce(a),Je&&console.log(o+this.stackID(e)+` (via always-reduce ${s.getName(a&65535)})`),!0;if(e.stack.length>=8400)for(;e.stack.length>6e3&&e.forceReduce(););let l=this.tokens.getActions(e);for(let c=0;cr?t.push(p):n.push(p)}return!1}advanceFully(e,t){let n=e.pos;for(;;){if(!this.advanceStack(e,null,null))return!1;if(e.pos>n)return Jd(e,t),!0}}runRecovery(e,t,n){let r=null,s=!1;for(let o=0;o ":"";if(a.deadEnd&&(s||(s=!0,a.restart(),Je&&console.log(h+this.stackID(a)+" (restarted)"),this.advanceFully(a,n))))continue;let f=a.split(),u=h;for(let O=0;O<10&&f.forceReduce()&&(Je&&console.log(u+this.stackID(f)+" (via force-reduce)"),!this.advanceFully(f,n));O++)Je&&(u=this.stackID(f)+" -> ");for(let O of a.recoverByInsert(l))Je&&console.log(h+this.stackID(O)+" (via recover-insert)"),this.advanceFully(O,n);this.stream.end>a.pos?(c==a.pos&&(c++,l=0),a.recoverByDelete(l,c),Je&&console.log(h+this.stackID(a)+` (via recover-delete ${this.parser.getName(l)})`),Jd(a,n)):(!r||r.scorei,Ot=class{constructor(e){this.start=e.start,this.shift=e.shift||ac,this.reduce=e.reduce||ac,this.reuse=e.reuse||ac,this.hash=e.hash||(()=>0),this.strict=e.strict!==!1}},Pe=class i extends Dt{constructor(e){if(super(),this.wrappers=[],e.version!=14)throw new RangeError(`Parser version (${e.version}) doesn't match runtime version (14)`);let t=e.nodeNames.split(" ");this.minRepeatTerm=t.length;for(let a=0;ae.topRules[a][1]),r=[];for(let a=0;a=0)s(h,l,a[c++]);else{let f=a[c+-h];for(let u=-h;u>0;u--)s(a[c++],l,f);c++}}}this.nodeSet=new jt(t.map((a,l)=>Oe.define({name:l>=this.minRepeatTerm?void 0:a,id:l,props:r[l],top:n.indexOf(l)>-1,error:l==0,skipped:e.skippedNodes&&e.skippedNodes.indexOf(l)>-1}))),e.propSources&&(this.nodeSet=this.nodeSet.extend(...e.propSources)),this.strict=!1,this.bufferLength=1024;let o=xr(e.tokenData);this.context=e.context,this.specializerSpecs=e.specialized||[],this.specialized=new Uint16Array(this.specializerSpecs.length);for(let a=0;atypeof a=="number"?new gi(o,a):a),this.topRules=e.topRules,this.dialects=e.dialects||{},this.dynamicPrecedences=e.dynamicPrecedences||null,this.tokenPrecTable=e.tokenPrec,this.termNames=e.termNames||null,this.maxNode=this.nodeSet.types.length-1,this.dialect=this.parseDialect(),this.top=this.topRules[Object.keys(this.topRules)[0]]}createParse(e,t,n){let r=new dc(this,e,t,n);for(let s of this.wrappers)r=s(r,e,t,n);return r}getGoto(e,t,n=!1){let r=this.goto;if(t>=r[0])return-1;for(let s=r[t+1];;){let o=r[s++],a=o&1,l=r[s++];if(a&&n)return l;for(let c=s+(o>>1);s0}validAction(e,t){return!!this.allActions(e,n=>n==t?!0:null)}allActions(e,t){let n=this.stateSlot(e,4),r=n?t(n):void 0;for(let s=this.stateSlot(e,1);r==null;s+=3){if(this.data[s]==65535)if(this.data[s+1]==1)s=It(this.data,s+2);else break;r=t(It(this.data,s+1))}return r}nextStates(e){let t=[];for(let n=this.stateSlot(e,1);;n+=3){if(this.data[n]==65535)if(this.data[n+1]==1)n=It(this.data,n+2);else break;if((this.data[n+2]&1)==0){let r=this.data[n+1];t.some((s,o)=>o&1&&s==r)||t.push(this.data[n],r)}}return t}configure(e){let t=Object.assign(Object.create(i.prototype),this);if(e.props&&(t.nodeSet=this.nodeSet.extend(...e.props)),e.top){let n=this.topRules[e.top];if(!n)throw new RangeError(`Invalid top rule name ${e.top}`);t.top=n}return e.tokenizers&&(t.tokenizers=this.tokenizers.map(n=>{let r=e.tokenizers.find(s=>s.from==n);return r?r.to:n})),e.specializers&&(t.specializers=this.specializers.slice(),t.specializerSpecs=this.specializerSpecs.map((n,r)=>{let s=e.specializers.find(a=>a.from==n.external);if(!s)return n;let o=Object.assign(Object.assign({},n),{external:s.to});return t.specializers[r]=ep(o),o})),e.contextTracker&&(t.context=e.contextTracker),e.dialect&&(t.dialect=this.parseDialect(e.dialect)),e.strict!=null&&(t.strict=e.strict),e.wrap&&(t.wrappers=t.wrappers.concat(e.wrap)),e.bufferLength!=null&&(t.bufferLength=e.bufferLength),t}hasWrappers(){return this.wrappers.length>0}getName(e){return this.termNames?this.termNames[e]:String(e<=this.maxNode&&this.nodeSet.types[e].name||e)}get eofTerm(){return this.maxNode+1}get topNode(){return this.nodeSet.types[this.top[1]]}dynamicPrecedence(e){let t=this.dynamicPrecedences;return t==null?0:t[e]||0}parseDialect(e){let t=Object.keys(this.dialects),n=t.map(()=>!1);if(e)for(let s of e.split(" ")){let o=t.indexOf(s);o>=0&&(n[o]=!0)}let r=null;for(let s=0;sn)&&t.p.parser.stateFlag(t.state,2)&&(!e||e.scorei.external(t,n)<<1|e}return i.get}var dy=55,py=1,my=56,gy=2,Qy=57,by=3,ip=4,Sy=5,Sc=6,hp=7,fp=8,up=9,Op=10,yy=11,ky=12,xy=13,mc=58,wy=14,Py=15,np=59,dp=21,vy=23,pp=24,$y=25,Qc=27,mp=28,Ty=29,Cy=32,Xy=35,_y=37,Ry=38,Ay=0,Zy=1,qy={area:!0,base:!0,br:!0,col:!0,command:!0,embed:!0,frame:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0,menuitem:!0},Ey={dd:!0,li:!0,optgroup:!0,option:!0,p:!0,rp:!0,rt:!0,tbody:!0,td:!0,tfoot:!0,th:!0,tr:!0},rp={dd:{dd:!0,dt:!0},dt:{dd:!0,dt:!0},li:{li:!0},option:{option:!0,optgroup:!0},optgroup:{optgroup:!0},p:{address:!0,article:!0,aside:!0,blockquote:!0,dir:!0,div:!0,dl:!0,fieldset:!0,footer:!0,form:!0,h1:!0,h2:!0,h3:!0,h4:!0,h5:!0,h6:!0,header:!0,hgroup:!0,hr:!0,menu:!0,nav:!0,ol:!0,p:!0,pre:!0,section:!0,table:!0,ul:!0},rp:{rp:!0,rt:!0},rt:{rp:!0,rt:!0},tbody:{tbody:!0,tfoot:!0},td:{td:!0,th:!0},tfoot:{tbody:!0},th:{td:!0,th:!0},thead:{tbody:!0,tfoot:!0},tr:{tr:!0}};function zy(i){return i==45||i==46||i==58||i>=65&&i<=90||i==95||i>=97&&i<=122||i>=161}var sp=null,op=null,ap=0;function bc(i,e){let t=i.pos+e;if(ap==t&&op==i)return sp;let n=i.peek(e),r="";for(;zy(n);)r+=String.fromCharCode(n),n=i.peek(++e);return op=i,ap=t,sp=r?r.toLowerCase():n==Ly||n==My?void 0:null}var gp=60,io=62,yc=47,Ly=63,My=33,Wy=45;function lp(i,e){this.name=i,this.parent=e}var jy=[Sc,Op,hp,fp,up],Vy=new Ot({start:null,shift(i,e,t,n){return jy.indexOf(e)>-1?new lp(bc(n,1)||"",i):i},reduce(i,e){return e==dp&&i?i.parent:i},reuse(i,e,t,n){let r=e.type.id;return r==Sc||r==_y?new lp(bc(n,1)||"",i):i},strict:!1}),Dy=new K((i,e)=>{if(i.next!=gp){i.next<0&&e.context&&i.acceptToken(mc);return}i.advance();let t=i.next==yc;t&&i.advance();let n=bc(i,0);if(n===void 0)return;if(!n)return i.acceptToken(t?Py:wy);let r=e.context?e.context.name:null;if(t){if(n==r)return i.acceptToken(yy);if(r&&Ey[r])return i.acceptToken(mc,-2);if(e.dialectEnabled(Ay))return i.acceptToken(ky);for(let s=e.context;s;s=s.parent)if(s.name==n)return;i.acceptToken(xy)}else{if(n=="script")return i.acceptToken(hp);if(n=="style")return i.acceptToken(fp);if(n=="textarea")return i.acceptToken(up);if(qy.hasOwnProperty(n))return i.acceptToken(Op);r&&rp[r]&&rp[r][n]?i.acceptToken(mc,-1):i.acceptToken(Sc)}},{contextual:!0}),Yy=new K(i=>{for(let e=0,t=0;;t++){if(i.next<0){t&&i.acceptToken(np);break}if(i.next==Wy)e++;else if(i.next==io&&e>=2){t>=3&&i.acceptToken(np,-2);break}else e=0;i.advance()}});function Iy(i){for(;i;i=i.parent)if(i.name=="svg"||i.name=="math")return!0;return!1}var By=new K((i,e)=>{if(i.next==yc&&i.peek(1)==io){let t=e.dialectEnabled(Zy)||Iy(e.context);i.acceptToken(t?Sy:ip,2)}else i.next==io&&i.acceptToken(ip,1)});function kc(i,e,t){let n=2+i.length;return new K(r=>{for(let s=0,o=0,a=0;;a++){if(r.next<0){a&&r.acceptToken(e);break}if(s==0&&r.next==gp||s==1&&r.next==yc||s>=2&&so?r.acceptToken(e,-o):r.acceptToken(t,-(o-2));break}else if((r.next==10||r.next==13)&&a){r.acceptToken(e,1);break}else s=o=0;r.advance()}})}var Uy=kc("script",dy,py),Gy=kc("style",my,gy),Ny=kc("textarea",Qy,by),Fy=ge({"Text RawText IncompleteTag IncompleteCloseTag":d.content,"StartTag StartCloseTag SelfClosingEndTag EndTag":d.angleBracket,TagName:d.tagName,"MismatchedCloseTag/TagName":[d.tagName,d.invalid],AttributeName:d.attributeName,"AttributeValue UnquotedAttributeValue":d.attributeValue,Is:d.definitionOperator,"EntityReference CharacterReference":d.character,Comment:d.blockComment,ProcessingInst:d.processingInstruction,DoctypeDecl:d.documentMeta}),Qp=Pe.deserialize({version:14,states:",xOVO!rOOO!ZQ#tO'#CrO!`Q#tO'#C{O!eQ#tO'#DOO!jQ#tO'#DRO!oQ#tO'#DTO!tOaO'#CqO#PObO'#CqO#[OdO'#CqO$kO!rO'#CqOOO`'#Cq'#CqO$rO$fO'#DUO$zQ#tO'#DWO%PQ#tO'#DXOOO`'#Dl'#DlOOO`'#DZ'#DZQVO!rOOO%UQ&rO,59^O%aQ&rO,59gO%lQ&rO,59jO%wQ&rO,59mO&SQ&rO,59oOOOa'#D_'#D_O&_OaO'#CyO&jOaO,59]OOOb'#D`'#D`O&rObO'#C|O&}ObO,59]OOOd'#Da'#DaO'VOdO'#DPO'bOdO,59]OOO`'#Db'#DbO'jO!rO,59]O'qQ#tO'#DSOOO`,59],59]OOOp'#Dc'#DcO'vO$fO,59pOOO`,59p,59pO(OQ#|O,59rO(TQ#|O,59sOOO`-E7X-E7XO(YQ&rO'#CtOOQW'#D['#D[O(hQ&rO1G.xOOOa1G.x1G.xOOO`1G/Z1G/ZO(sQ&rO1G/ROOOb1G/R1G/RO)OQ&rO1G/UOOOd1G/U1G/UO)ZQ&rO1G/XOOO`1G/X1G/XO)fQ&rO1G/ZOOOa-E7]-E7]O)qQ#tO'#CzOOO`1G.w1G.wOOOb-E7^-E7^O)vQ#tO'#C}OOOd-E7_-E7_O){Q#tO'#DQOOO`-E7`-E7`O*QQ#|O,59nOOOp-E7a-E7aOOO`1G/[1G/[OOO`1G/^1G/^OOO`1G/_1G/_O*VQ,UO,59`OOQW-E7Y-E7YOOOa7+$d7+$dOOO`7+$u7+$uOOOb7+$m7+$mOOOd7+$p7+$pOOO`7+$s7+$sO*bQ#|O,59fO*gQ#|O,59iO*lQ#|O,59lOOO`1G/Y1G/YO*qO7[O'#CwO+SOMhO'#CwOOQW1G.z1G.zOOO`1G/Q1G/QOOO`1G/T1G/TOOO`1G/W1G/WOOOO'#D]'#D]O+eO7[O,59cOOQW,59c,59cOOOO'#D^'#D^O+vOMhO,59cOOOO-E7Z-E7ZOOQW1G.}1G.}OOOO-E7[-E7[",stateData:",c~O!_OS~OUSOVPOWQOXROYTO[]O][O^^O_^Oa^Ob^Oc^Od^Oy^O|_O!eZO~OgaO~OgbO~OgcO~OgdO~OgeO~O!XfOPmP![mP~O!YiOQpP![pP~O!ZlORsP![sP~OUSOVPOWQOXROYTOZqO[]O][O^^O_^Oa^Ob^Oc^Od^Oy^O!eZO~O![rO~P#gO!]sO!fuO~OgvO~OgwO~OS|OT}OiyO~OS!POT}OiyO~OS!ROT}OiyO~OS!TOT}OiyO~OS}OT}OiyO~O!XfOPmX![mX~OP!WO![!XO~O!YiOQpX![pX~OQ!ZO![!XO~O!ZlORsX![sX~OR!]O![!XO~O![!XO~P#gOg!_O~O!]sO!f!aO~OS!bO~OS!cO~Oj!dOShXThXihX~OS!fOT!gOiyO~OS!hOT!gOiyO~OS!iOT!gOiyO~OS!jOT!gOiyO~OS!gOT!gOiyO~Og!kO~Og!lO~Og!mO~OS!nO~Ol!qO!a!oO!c!pO~OS!rO~OS!sO~OS!tO~Ob!uOc!uOd!uO!a!wO!b!uO~Ob!xOc!xOd!xO!c!wO!d!xO~Ob!uOc!uOd!uO!a!{O!b!uO~Ob!xOc!xOd!xO!c!{O!d!xO~OT~cbd!ey|!e~",goto:"%q!aPPPPPPPPPPPPPPPPPPPPP!b!hP!nPP!zP!}#Q#T#Z#^#a#g#j#m#s#y!bP!b!bP$P$V$m$s$y%P%V%]%cPPPPPPPP%iX^OX`pXUOX`pezabcde{!O!Q!S!UR!q!dRhUR!XhXVOX`pRkVR!XkXWOX`pRnWR!XnXXOX`pQrXR!XpXYOX`pQ`ORx`Q{aQ!ObQ!QcQ!SdQ!UeZ!e{!O!Q!S!UQ!v!oR!z!vQ!y!pR!|!yQgUR!VgQjVR!YjQmWR![mQpXR!^pQtZR!`tS_O`ToXp",nodeNames:"\u26A0 StartCloseTag StartCloseTag StartCloseTag EndTag SelfClosingEndTag StartTag StartTag StartTag StartTag StartTag StartCloseTag StartCloseTag StartCloseTag IncompleteTag IncompleteCloseTag Document Text EntityReference CharacterReference InvalidEntity Element OpenTag TagName Attribute AttributeName Is AttributeValue UnquotedAttributeValue ScriptText CloseTag OpenTag StyleText CloseTag OpenTag TextareaText CloseTag OpenTag CloseTag SelfClosingTag Comment ProcessingInst MismatchedCloseTag CloseTag DoctypeDecl",maxTerm:68,context:Vy,nodeProps:[["closedBy",-10,1,2,3,7,8,9,10,11,12,13,"EndTag",6,"EndTag SelfClosingEndTag",-4,22,31,34,37,"CloseTag"],["openedBy",4,"StartTag StartCloseTag",5,"StartTag",-4,30,33,36,38,"OpenTag"],["group",-10,14,15,18,19,20,21,40,41,42,43,"Entity",17,"Entity TextContent",-3,29,32,35,"TextContent Entity"],["isolate",-11,22,30,31,33,34,36,37,38,39,42,43,"ltr",-3,27,28,40,""]],propSources:[Fy],skippedNodes:[0],repeatNodeCount:9,tokenData:"!]tw8twx7Sx!P8t!P!Q5u!Q!]8t!]!^/^!^!a7S!a#S8t#S#T;{#T#s8t#s$f5u$f;'S8t;'S;=`>V<%l?Ah8t?Ah?BY5u?BY?Mn8t?MnO5u!Z5zblWOX5uXZ7SZ[5u[^7S^p5uqr5urs7Sst+Ptw5uwx7Sx!]5u!]!^7w!^!a7S!a#S5u#S#T7S#T;'S5u;'S;=`8n<%lO5u!R7VVOp7Sqs7St!]7S!]!^7l!^;'S7S;'S;=`7q<%lO7S!R7qOb!R!R7tP;=`<%l7S!Z8OYlWb!ROX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+P!Z8qP;=`<%l5u!_8{iiSlWOX5uXZ7SZ[5u[^7S^p5uqr8trs7Sst/^tw8twx7Sx!P8t!P!Q5u!Q!]8t!]!^:j!^!a7S!a#S8t#S#T;{#T#s8t#s$f5u$f;'S8t;'S;=`>V<%l?Ah8t?Ah?BY5u?BY?Mn8t?MnO5u!_:sbiSlWb!ROX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+P!VP<%l?Ah;{?Ah?BY7S?BY?Mn;{?MnO7S!V=dXiSb!Rqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0m!V>SP;=`<%l;{!_>YP;=`<%l8t!_>dhiSlWOX@OXZAYZ[@O[^AY^p@OqrBwrsAYswBwwxAYx!PBw!P!Q@O!Q!]Bw!]!^/^!^!aAY!a#SBw#S#TE{#T#sBw#s$f@O$f;'SBw;'S;=`HS<%l?AhBw?Ah?BY@O?BY?MnBw?MnO@O!Z@TalWOX@OXZAYZ[@O[^AY^p@Oqr@OrsAYsw@OwxAYx!]@O!]!^Az!^!aAY!a#S@O#S#TAY#T;'S@O;'S;=`Bq<%lO@O!RA]UOpAYq!]AY!]!^Ao!^;'SAY;'S;=`At<%lOAY!RAtOc!R!RAwP;=`<%lAY!ZBRYlWc!ROX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+P!ZBtP;=`<%l@O!_COhiSlWOX@OXZAYZ[@O[^AY^p@OqrBwrsAYswBwwxAYx!PBw!P!Q@O!Q!]Bw!]!^Dj!^!aAY!a#SBw#S#TE{#T#sBw#s$f@O$f;'SBw;'S;=`HS<%l?AhBw?Ah?BY@O?BY?MnBw?MnO@O!_DsbiSlWc!ROX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+P!VFQbiSOpAYqrE{rsAYswE{wxAYx!PE{!P!QAY!Q!]E{!]!^GY!^!aAY!a#sE{#s$fAY$f;'SE{;'S;=`G|<%l?AhE{?Ah?BYAY?BY?MnE{?MnOAY!VGaXiSc!Rqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0m!VHPP;=`<%lE{!_HVP;=`<%lBw!ZHcW!cxaP!b`Or(trs'ksv(tw!^(t!^!_)e!_;'S(t;'S;=`*P<%lO(t!aIYliSaPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx}-_}!OKQ!O!P-_!P!Q$q!Q!^-_!^!_*V!_!a&X!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q!aK_kiSaPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx!P-_!P!Q$q!Q!^-_!^!_*V!_!`&X!`!aMS!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q!TM_XaP!b`!dp!fQOr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&X!aNZ!ZiSgQaPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx}-_}!OMz!O!PMz!P!Q$q!Q![Mz![!]Mz!]!^-_!^!_*V!_!a&X!a!c-_!c!}Mz!}#R-_#R#SMz#S#T1k#T#oMz#o#s-_#s$f$q$f$}-_$}%OMz%O%W-_%W%oMz%o%p-_%p&aMz&a&b-_&b1pMz1p4UMz4U4dMz4d4e-_4e$ISMz$IS$I`-_$I`$IbMz$Ib$Je-_$Je$JgMz$Jg$Kh-_$Kh%#tMz%#t&/x-_&/x&EtMz&Et&FV-_&FV;'SMz;'S;:j!#|;:j;=`3X<%l?&r-_?&r?AhMz?Ah?BY$q?BY?MnMz?MnO$q!a!$PP;=`<%lMz!R!$ZY!b`!dpOq*Vqr!$yrs(Vsv*Vwx)ex!a*V!a!b!4t!b;'S*V;'S;=`*s<%lO*V!R!%Q]!b`!dpOr*Vrs(Vsv*Vwx)ex}*V}!O!%y!O!f*V!f!g!']!g#W*V#W#X!0`#X;'S*V;'S;=`*s<%lO*V!R!&QX!b`!dpOr*Vrs(Vsv*Vwx)ex}*V}!O!&m!O;'S*V;'S;=`*s<%lO*V!R!&vV!b`!dp!ePOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!'dX!b`!dpOr*Vrs(Vsv*Vwx)ex!q*V!q!r!(P!r;'S*V;'S;=`*s<%lO*V!R!(WX!b`!dpOr*Vrs(Vsv*Vwx)ex!e*V!e!f!(s!f;'S*V;'S;=`*s<%lO*V!R!(zX!b`!dpOr*Vrs(Vsv*Vwx)ex!v*V!v!w!)g!w;'S*V;'S;=`*s<%lO*V!R!)nX!b`!dpOr*Vrs(Vsv*Vwx)ex!{*V!{!|!*Z!|;'S*V;'S;=`*s<%lO*V!R!*bX!b`!dpOr*Vrs(Vsv*Vwx)ex!r*V!r!s!*}!s;'S*V;'S;=`*s<%lO*V!R!+UX!b`!dpOr*Vrs(Vsv*Vwx)ex!g*V!g!h!+q!h;'S*V;'S;=`*s<%lO*V!R!+xY!b`!dpOr!+qrs!,hsv!+qvw!-Swx!.[x!`!+q!`!a!/j!a;'S!+q;'S;=`!0Y<%lO!+qq!,mV!dpOv!,hvx!-Sx!`!,h!`!a!-q!a;'S!,h;'S;=`!.U<%lO!,hP!-VTO!`!-S!`!a!-f!a;'S!-S;'S;=`!-k<%lO!-SP!-kO|PP!-nP;=`<%l!-Sq!-xS!dp|POv(Vx;'S(V;'S;=`(h<%lO(Vq!.XP;=`<%l!,ha!.aX!b`Or!.[rs!-Ssv!.[vw!-Sw!`!.[!`!a!.|!a;'S!.[;'S;=`!/d<%lO!.[a!/TT!b`|POr)esv)ew;'S)e;'S;=`)y<%lO)ea!/gP;=`<%l!.[!R!/sV!b`!dp|POr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!0]P;=`<%l!+q!R!0gX!b`!dpOr*Vrs(Vsv*Vwx)ex#c*V#c#d!1S#d;'S*V;'S;=`*s<%lO*V!R!1ZX!b`!dpOr*Vrs(Vsv*Vwx)ex#V*V#V#W!1v#W;'S*V;'S;=`*s<%lO*V!R!1}X!b`!dpOr*Vrs(Vsv*Vwx)ex#h*V#h#i!2j#i;'S*V;'S;=`*s<%lO*V!R!2qX!b`!dpOr*Vrs(Vsv*Vwx)ex#m*V#m#n!3^#n;'S*V;'S;=`*s<%lO*V!R!3eX!b`!dpOr*Vrs(Vsv*Vwx)ex#d*V#d#e!4Q#e;'S*V;'S;=`*s<%lO*V!R!4XX!b`!dpOr*Vrs(Vsv*Vwx)ex#X*V#X#Y!+q#Y;'S*V;'S;=`*s<%lO*V!R!4{Y!b`!dpOr!4trs!5ksv!4tvw!6Vwx!8]x!a!4t!a!b!:]!b;'S!4t;'S;=`!;r<%lO!4tq!5pV!dpOv!5kvx!6Vx!a!5k!a!b!7W!b;'S!5k;'S;=`!8V<%lO!5kP!6YTO!a!6V!a!b!6i!b;'S!6V;'S;=`!7Q<%lO!6VP!6lTO!`!6V!`!a!6{!a;'S!6V;'S;=`!7Q<%lO!6VP!7QOyPP!7TP;=`<%l!6Vq!7]V!dpOv!5kvx!6Vx!`!5k!`!a!7r!a;'S!5k;'S;=`!8V<%lO!5kq!7yS!dpyPOv(Vx;'S(V;'S;=`(h<%lO(Vq!8YP;=`<%l!5ka!8bX!b`Or!8]rs!6Vsv!8]vw!6Vw!a!8]!a!b!8}!b;'S!8];'S;=`!:V<%lO!8]a!9SX!b`Or!8]rs!6Vsv!8]vw!6Vw!`!8]!`!a!9o!a;'S!8];'S;=`!:V<%lO!8]a!9vT!b`yPOr)esv)ew;'S)e;'S;=`)y<%lO)ea!:YP;=`<%l!8]!R!:dY!b`!dpOr!4trs!5ksv!4tvw!6Vwx!8]x!`!4t!`!a!;S!a;'S!4t;'S;=`!;r<%lO!4t!R!;]V!b`!dpyPOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!;uP;=`<%l!4t!V!{let c=a.type.id;if(c==Ty)return gc(a,l,t);if(c==Cy)return gc(a,l,n);if(c==Xy)return gc(a,l,r);if(c==dp&&s.length){let h=a.node,f=h.firstChild,u=f&&cp(f,l),O;if(u){for(let p of s)if(p.tag==u&&(!p.attrs||p.attrs(O||(O=bp(f,l))))){let m=h.lastChild,b=m.type.id==Ry?m.from:h.to;if(b>f.to)return{parser:p.parser,overlay:[{from:f.to,to:b}]}}}}if(o&&c==pp){let h=a.node,f;if(f=h.firstChild){let u=o[l.read(f.from,f.to)];if(u)for(let O of u){if(O.tagName&&O.tagName!=cp(h.parent,l))continue;let p=h.lastChild;if(p.type.id==Qc){let m=p.from+1,b=p.lastChild,g=p.to-(b&&b.isError?0:1);if(g>m)return{parser:O.parser,overlay:[{from:m,to:g}],bracketed:!0}}else if(p.type.id==mp)return{parser:O.parser,overlay:[{from:p.from,to:p.to}]}}}}return null})}var Hy=145,Sp=1,Ky=146,Jy=147,kp=2,ek=148,tk=3,ik=4,xp=[9,10,11,12,13,32,133,160,5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8232,8233,8239,8287,12288],nk=58,rk=40,wp=95,sk=91,no=45,ok=46,ak=35,lk=37,ck=38,hk=92,fk=10,uk=42;function wr(i){return i>=65&&i<=90||i>=97&&i<=122||i>=161}function wc(i){return i>=48&&i<=57}function yp(i){return wc(i)||i>=97&&i<=102||i>=65&&i<=70}var Pp=(i,e,t)=>(n,r)=>{for(let s=!1,o=0,a=0;;a++){let{next:l}=n;if(wr(l)||l==no||l==wp||s&&wc(l))!s&&(l!=no||a>0)&&(s=!0),o===a&&l==no&&o++,n.advance();else if(l==hk&&n.peek(1)!=fk){if(n.advance(),yp(n.next)){do n.advance();while(yp(n.next));n.next==32&&n.advance()}else n.next>-1&&n.advance();s=!0}else{s&&n.acceptToken(o==2&&r.canShift(kp)?e:l==rk?t:i);break}}},Ok=new K(Pp(Ky,kp,Jy),{contextual:!0}),dk=new K(Pp(ek,tk,ik),{contextual:!0}),pk=new K(i=>{if(xp.includes(i.peek(-1))){let{next:e}=i;(wr(e)||e==wp||e==ak||e==ok||e==uk||e==sk||e==nk&&wr(i.peek(1))||e==no||e==ck)&&i.acceptToken(Hy)}}),mk=new K(i=>{if(!xp.includes(i.peek(-1))){let{next:e}=i;if(e==lk&&(i.advance(),i.acceptToken(Sp)),wr(e)){do i.advance();while(wr(i.next)||wc(i.next));i.acceptToken(Sp)}}}),gk=ge({"AtKeyword import charset namespace keyframes media supports font-feature-values":d.definitionKeyword,"from to selector scope MatchFlag":d.keyword,NamespaceName:d.namespace,KeyframeName:d.labelName,KeyframeRangeName:d.operatorKeyword,TagName:d.tagName,ClassName:d.className,PseudoClassName:d.constant(d.className),IdName:d.labelName,"FeatureName PropertyName":d.propertyName,AttributeName:d.attributeName,NumberLiteral:d.number,KeywordQuery:d.keyword,UnaryQueryOp:d.operatorKeyword,"CallTag ValueName FontName":d.atom,VariableName:d.variableName,Callee:d.operatorKeyword,Unit:d.unit,"UniversalSelector NestingSelector":d.definitionOperator,"MatchOp CompareOp":d.compareOperator,"ChildOp SiblingOp, LogicOp":d.logicOperator,BinOp:d.arithmeticOperator,Important:d.modifier,Comment:d.blockComment,ColorLiteral:d.color,"ParenthesizedContent StringLiteral":d.string,":":d.punctuation,"PseudoOp #":d.derefOperator,"; , |":d.separator,"( )":d.paren,"[ ]":d.squareBracket,"{ }":d.brace}),Qk={__proto__:null,lang:44,"nth-child":44,"nth-last-child":44,"nth-of-type":44,"nth-last-of-type":44,dir:44,"host-context":44,if:90,url:152,"url-prefix":152,domain:152,regexp:152},bk={__proto__:null,or:104,and:104,not:112,only:112,layer:206},Sk={__proto__:null,selector:118,style:124,layer:202},yk={__proto__:null,"@import":198,"@media":210,"@charset":214,"@namespace":218,"@keyframes":224,"@supports":236,"@scope":240,"@font-feature-values":246},kk={__proto__:null,to:243},vp=Pe.deserialize({version:14,states:"MlQYQdOOO#}QdOOP$UO`OOO%OQaO'#CfOOQP'#Ce'#CeO%VQdO'#CgO%[Q`O'#CgO%aQaO'#FnO&XQdO'#CkO&xQaO'#CcO'SQdO'#CnO'_QdO'#EOO'dQdO'#EQO'oQdO'#EXO'oQdO'#E[OOQP'#Fn'#FnO)RQhO'#E}OOQS'#Fm'#FmOOQS'#FQ'#FQQYQdOOO)YQdO'#EbO*iQhO'#EhO)YQdO'#EjO*pQdO'#ElO*{QdO'#EoO)}QhO'#EuO+TQdO'#EwO+`QdO'#EzO+eQaO'#CfO+lQ`O'#E_O+qQ`O'#F{O+|QdO'#F{QOQ`OOP,WO&jO'#CaPOOO)CA])CA]OOQP'#Ci'#CiOOQP,59R,59RO%VQdO,59ROOQP'#Cm'#CmOOQP,59V,59VO&XQdO,59VO,cQdO,59YO'_QdO,5:jO'dQdO,5:lO'oQdO,5:sO'oQdO,5:uO'oQdO,5:vO'oQdO'#FXO,nQ`O,58}O,vQdO'#E^OOQS,58},58}OOQP'#Cq'#CqOOQO'#D|'#D|OOQP,59Y,59YO,}Q`O,59YO-SQ`O,59YOOQP'#EP'#EPOOQP,5:j,5:jO-XQpO'#ERO-dQdO'#ESO-iQ`O'#ESO-nQpO,5:lO.XQaO,5:sO.oQaO,5:vOOQW'#D^'#D^O/nQhO'#DgO0RQhO,5;iO)}QhO'#DeO0`Q`O'#DnO0eQhO'#DxOOQW'#Ft'#FtOOQS,5;i,5;iO0jQ`O'#DhO0oQ`O'#DkOOQS-E9O-E9OOOQ['#Cv'#CvO0tQdO'#CwO1[QdO'#C}O1rQdO'#DQO2YQ!pO'#DSO4fQ!jO,5:|OOQO'#DX'#DXO-SQ`O'#DWO4vQ!nO'#FqO6|Q`O'#DYO7RQ`O'#DyOOQ['#Fq'#FqO7WQhO'#GOO7fQ`O,5;SO7kQ!bO,5;UOOQS'#En'#EnO7sQ`O,5;WO7xQdO,5;WOOQO'#Eq'#EqO8QQ`O,5;ZO8VQhO,5;aO'oQdO'#DjOOQS,5;c,5;cO0jQ`O,5;cO8_QdO,5;cOOQS'#F`'#F`O8gQdO'#E|O7fQ`O,5;fO8oQdO,5:yO9PQdO'#FZO9^Q`O,5lQhO'#DoOOQW,5:Y,5:YOOQW,5:d,5:dOOQW,5:S,5:SO>vQhO,5:VO?bQ!fO'#FrOOQS'#Fr'#FrOOQS'#FS'#FSO@rQdO,59cOOQ[,59c,59cOAYQdO,59iOOQ[,59i,59iOApQdO,59lOOQ[,59l,59lOOQ[,59n,59nO)YQdO,59pOBWQhO'#EdOOQW'#Ed'#EdOBuQ`O1G0hO4oQhO1G0hOOQ[,59r,59rO)}QhO'#D[OOQ[,59t,59tOBzQ#tO,5:eOCVQhO'#F]OCdQ`O,5vQhO'#DmOI_QhO'#DqOIgQhO'#DsOIlQhO'#FwOOQO'#Fw'#FwOItQ!bO'#DwOOQO'#Fy'#FyOOQO'#Fv'#FvOIyQ`O1G/qOOQS-E9Q-E9QOOQ[1G.}1G.}OOQ[1G/T1G/TOOQ[1G/W1G/WOOQ[1G/[1G/[OJOQdO,5;OOOQS7+&S7+&SOJTQ`O7+&SOJYQhO'#D]OJbQ`O,59vO)}QhO,59vOOQ[1G0P1G0POJjQ`O1G0POJoQhO,5;wOOQO-E9Z-E9ZOOQS7+&^7+&^OJ}QbO'#DSOOQO'#Et'#EtOK]Q`O'#EsOOQO'#Es'#EsOKhQ`O'#F^OKpQdO,5;^OOQS,5;^,5;^OOQ[1G/p1G/pOOQS7+&i7+&iO7fQ`O7+&iOK{Q!fO'#FYO)YQdO'#FYOMSQdO7+&POOQO7+&P7+&POOQO,5:{,5:{OOQO1G1a1G1aOMgQ!bO<vQhO'#DrOOQO,5:],5:]O! hQhO,5:_OGUQhO,5:cOOQW7+%]7+%]OOQO'#Ef'#EfO! pQ`O1G0jOOQS<xAN>xO!#zQ`OAN>xO!$PQaO,5;rOOQO-E9U-E9UO!$ZQdO,5;qOOQO-E9T-E9TOOQW<vQhO'#DuOOQO1G/y1G/yO!%vQ!bO1G/}OJOQdO'#F[O!&OQ`O7+&UOOQW7+&U7+&UO!&WQ!bO1G/cOOQ[7+$|7+$|O!&cQhO7+$|P!&jQ`O'#FTOOQO,5;y,5;yOOQO-E9]-E9]OOQS1G1d1G1dOOQPG24dG24dO!&oQ`OAN>ZO)YQdO1G1[O!&tQ`O7+'jOOQO1G/x1G/xO!&|Q`O,5:aO!$eQhO7+%iOOQO,5;v,5;vOOQO-E9Y-E9YOOQW<Q!]!^>|!^!_?_!_!`@Z!`!a@n!a!b%Z!b!cAo!c!k%Z!k!lC|!l!u%Z!u!vC|!v!}%Z!}#OD_#O#P%Z#P#QDp#Q#R2X#R#]%Z#]#^ER#^#g%Z#g#hC|#h#o%Z#o#pIf#p#qIw#q#rJ`#r#sJq#s#y%Z#y#z&R#z$f%Z$f$g&R$g#BY%Z#BY#BZ&R#BZ$IS%Z$IS$I_&R$I_$I|%Z$I|$JO&R$JO$JT%Z$JT$JU&R$JU$KV%Z$KV$KW&R$KW&FU%Z&FU&FV&R&FV;'S%Z;'S;=`KY<%lO%Z`%^SOy%jz;'S%j;'S;=`%{<%lO%j`%oS!o`Oy%jz;'S%j;'S;=`%{<%lO%j`&OP;=`<%l%j~&Wh$[~OX%jX^'r^p%jpq'rqy%jz#y%j#y#z'r#z$f%j$f$g'r$g#BY%j#BY#BZ'r#BZ$IS%j$IS$I_'r$I_$I|%j$I|$JO'r$JO$JT%j$JT$JU'r$JU$KV%j$KV$KW'r$KW&FU%j&FU&FV'r&FV;'S%j;'S;=`%{<%lO%j~'yh$[~!o`OX%jX^'r^p%jpq'rqy%jz#y%j#y#z'r#z$f%j$f$g'r$g#BY%j#BY#BZ'r#BZ$IS%j$IS$I_'r$I_$I|%j$I|$JO'r$JO$JT%j$JT$JU'r$JU$KV%j$KV$KW'r$KW&FU%j&FU&FV'r&FV;'S%j;'S;=`%{<%lO%jj)jS$qYOy%jz;'S%j;'S;=`%{<%lO%j~)yWOY)vZr)vrs*cs#O)v#O#P*h#P;'S)v;'S;=`+d<%lO)v~*hOw~~*kRO;'S)v;'S;=`*t;=`O)v~*wXOY)vZr)vrs*cs#O)v#O#P*h#P;'S)v;'S;=`+d;=`<%l)v<%lO)v~+gP;=`<%l)vj+oYmYOy%jz!Q%j!Q![,_![!c%j!c!i,_!i#T%j#T#Z,_#Z;'S%j;'S;=`%{<%lO%jj,dY!o`Oy%jz!Q%j!Q![-S![!c%j!c!i-S!i#T%j#T#Z-S#Z;'S%j;'S;=`%{<%lO%jj-XY!o`Oy%jz!Q%j!Q![-w![!c%j!c!i-w!i#T%j#T#Z-w#Z;'S%j;'S;=`%{<%lO%jj.OYuY!o`Oy%jz!Q%j!Q![.n![!c%j!c!i.n!i#T%j#T#Z.n#Z;'S%j;'S;=`%{<%lO%jj.uYuY!o`Oy%jz!Q%j!Q![/e![!c%j!c!i/e!i#T%j#T#Z/e#Z;'S%j;'S;=`%{<%lO%jj/jY!o`Oy%jz!Q%j!Q![0Y![!c%j!c!i0Y!i#T%j#T#Z0Y#Z;'S%j;'S;=`%{<%lO%jj0aYuY!o`Oy%jz!Q%j!Q![1P![!c%j!c!i1P!i#T%j#T#Z1P#Z;'S%j;'S;=`%{<%lO%jj1UY!o`Oy%jz!Q%j!Q![1t![!c%j!c!i1t!i#T%j#T#Z1t#Z;'S%j;'S;=`%{<%lO%jj1{SuY!o`Oy%jz;'S%j;'S;=`%{<%lO%jd2[UOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%jd2uS!yS!o`Oy%jz;'S%j;'S;=`%{<%lO%jb3WS^QOy%jz;'S%j;'S;=`%{<%lO%j~3gWOY3dZw3dwx*cx#O3d#O#P4P#P;'S3d;'S;=`4{<%lO3d~4SRO;'S3d;'S;=`4];=`O3d~4`XOY3dZw3dwx*cx#O3d#O#P4P#P;'S3d;'S;=`4{;=`<%l3d<%lO3d~5OP;=`<%l3dj5WShYOy%jz;'S%j;'S;=`%{<%lO%j~5iOg~n5pUWQyWOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%jj6ZWyW#PQOy%jz!O%j!O!P6s!P!Q%j!Q![9x![;'S%j;'S;=`%{<%lO%jj6xU!o`Oy%jz!Q%j!Q![7[![;'S%j;'S;=`%{<%lO%jj7cY!o`$gYOy%jz!Q%j!Q![7[![!g%j!g!h8R!h#X%j#X#Y8R#Y;'S%j;'S;=`%{<%lO%jj8WY!o`Oy%jz{%j{|8v|}%j}!O8v!O!Q%j!Q![9_![;'S%j;'S;=`%{<%lO%jj8{U!o`Oy%jz!Q%j!Q![9_![;'S%j;'S;=`%{<%lO%jj9fU!o`$gYOy%jz!Q%j!Q![9_![;'S%j;'S;=`%{<%lO%jj:P[!o`$gYOy%jz!O%j!O!P7[!P!Q%j!Q![9x![!g%j!g!h8R!h#X%j#X#Y8R#Y;'S%j;'S;=`%{<%lO%jj:zS!dYOy%jz;'S%j;'S;=`%{<%lO%jj;]WyWOy%jz!O%j!O!P6s!P!Q%j!Q![9x![;'S%j;'S;=`%{<%lO%jj;zU`YOy%jz!Q%j!Q![7[![;'S%j;'S;=`%{<%lO%j~VUcYOy%jz![%j![!]>i!];'S%j;'S;=`%{<%lO%jj>pSdY!o`Oy%jz;'S%j;'S;=`%{<%lO%jj?RSnYOy%jz;'S%j;'S;=`%{<%lO%jh?dU!WWOy%jz!_%j!_!`?v!`;'S%j;'S;=`%{<%lO%jh?}S!WW!o`Oy%jz;'S%j;'S;=`%{<%lO%jl@bS!WW!ySOy%jz;'S%j;'S;=`%{<%lO%jj@uV!|Q!WWOy%jz!_%j!_!`?v!`!aA[!a;'S%j;'S;=`%{<%lO%jbAcS!|Q!o`Oy%jz;'S%j;'S;=`%{<%lO%jjArYOy%jz}%j}!OBb!O!c%j!c!}CP!}#T%j#T#oCP#o;'S%j;'S;=`%{<%lO%jjBgW!o`Oy%jz!c%j!c!}CP!}#T%j#T#oCP#o;'S%j;'S;=`%{<%lO%jjCW[lY!o`Oy%jz}%j}!OCP!O!Q%j!Q![CP![!c%j!c!}CP!}#T%j#T#oCP#o;'S%j;'S;=`%{<%lO%jhDRS!zWOy%jz;'S%j;'S;=`%{<%lO%jjDdSpYOy%jz;'S%j;'S;=`%{<%lO%jnDuSo^Oy%jz;'S%j;'S;=`%{<%lO%jjEWU!zWOy%jz#a%j#a#bEj#b;'S%j;'S;=`%{<%lO%jbEoU!o`Oy%jz#d%j#d#eFR#e;'S%j;'S;=`%{<%lO%jbFWU!o`Oy%jz#c%j#c#dFj#d;'S%j;'S;=`%{<%lO%jbFoU!o`Oy%jz#f%j#f#gGR#g;'S%j;'S;=`%{<%lO%jbGWU!o`Oy%jz#h%j#h#iGj#i;'S%j;'S;=`%{<%lO%jbGoU!o`Oy%jz#T%j#T#UHR#U;'S%j;'S;=`%{<%lO%jbHWU!o`Oy%jz#b%j#b#cHj#c;'S%j;'S;=`%{<%lO%jbHoU!o`Oy%jz#h%j#h#iIR#i;'S%j;'S;=`%{<%lO%jbIYS$pQ!o`Oy%jz;'S%j;'S;=`%{<%lO%jjIkSsYOy%jz;'S%j;'S;=`%{<%lO%jfI|U$cUOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%jjJeSrYOy%jz;'S%j;'S;=`%{<%lO%jfJvU#PQOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%j`K]P;=`<%l%Z",tokenizers:[pk,mk,Ok,dk,1,2,3,4,new Qi("m~RRYZ[z{a~~g~aO$_~~dP!P!Qg~lO$`~~",28,152)],topRules:{StyleSheet:[0,6],Styles:[1,126]},dynamicPrecedences:{94:1},specialized:[{term:147,get:i=>Qk[i]||-1},{term:148,get:i=>bk[i]||-1},{term:4,get:i=>Sk[i]||-1},{term:28,get:i=>yk[i]||-1},{term:146,get:i=>kk[i]||-1}],tokenPrec:2405});var Pc=null;function vc(){if(!Pc&&typeof document=="object"&&document.body){let{style:i}=document.body,e=[],t=new Set;for(let n in i)n!="cssText"&&n!="cssFloat"&&typeof i[n]=="string"&&(/[A-Z]/.test(n)&&(n=n.replace(/[A-Z]/g,r=>"-"+r.toLowerCase())),t.has(n)||(e.push(n),t.add(n)));Pc=e.sort().map(n=>({type:"property",label:n,apply:n+": "}))}return Pc||[]}var $p=["active","after","any-link","autofill","backdrop","before","checked","cue","default","defined","disabled","empty","enabled","file-selector-button","first","first-child","first-letter","first-line","first-of-type","focus","focus-visible","focus-within","fullscreen","has","host","host-context","hover","in-range","indeterminate","invalid","is","lang","last-child","last-of-type","left","link","marker","modal","not","nth-child","nth-last-child","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","part","placeholder","placeholder-shown","read-only","read-write","required","right","root","scope","selection","slotted","target","target-text","valid","visited","where"].map(i=>({type:"class",label:i})),Tp=["above","absolute","activeborder","additive","activecaption","after-white-space","ahead","alias","all","all-scroll","alphabetic","alternate","always","antialiased","appworkspace","asterisks","attr","auto","auto-flow","avoid","avoid-column","avoid-page","avoid-region","axis-pan","background","backwards","baseline","below","bidi-override","blink","block","block-axis","bold","bolder","border","border-box","both","bottom","break","break-all","break-word","bullets","button","button-bevel","buttonface","buttonhighlight","buttonshadow","buttontext","calc","capitalize","caps-lock-indicator","caption","captiontext","caret","cell","center","checkbox","circle","cjk-decimal","clear","clip","close-quote","col-resize","collapse","color","color-burn","color-dodge","column","column-reverse","compact","condensed","contain","content","contents","content-box","context-menu","continuous","copy","counter","counters","cover","crop","cross","crosshair","currentcolor","cursive","cyclic","darken","dashed","decimal","decimal-leading-zero","default","default-button","dense","destination-atop","destination-in","destination-out","destination-over","difference","disc","discard","disclosure-closed","disclosure-open","document","dot-dash","dot-dot-dash","dotted","double","down","e-resize","ease","ease-in","ease-in-out","ease-out","element","ellipse","ellipsis","embed","end","ethiopic-abegede-gez","ethiopic-halehame-aa-er","ethiopic-halehame-gez","ew-resize","exclusion","expanded","extends","extra-condensed","extra-expanded","fantasy","fast","fill","fill-box","fixed","flat","flex","flex-end","flex-start","footnotes","forwards","from","geometricPrecision","graytext","grid","groove","hand","hard-light","help","hidden","hide","higher","highlight","highlighttext","horizontal","hsl","hsla","hue","icon","ignore","inactiveborder","inactivecaption","inactivecaptiontext","infinite","infobackground","infotext","inherit","initial","inline","inline-axis","inline-block","inline-flex","inline-grid","inline-table","inset","inside","intrinsic","invert","italic","justify","keep-all","landscape","large","larger","left","level","lighter","lighten","line-through","linear","linear-gradient","lines","list-item","listbox","listitem","local","logical","loud","lower","lower-hexadecimal","lower-latin","lower-norwegian","lowercase","ltr","luminosity","manipulation","match","matrix","matrix3d","medium","menu","menutext","message-box","middle","min-intrinsic","mix","monospace","move","multiple","multiple_mask_images","multiply","n-resize","narrower","ne-resize","nesw-resize","no-close-quote","no-drop","no-open-quote","no-repeat","none","normal","not-allowed","nowrap","ns-resize","numbers","numeric","nw-resize","nwse-resize","oblique","opacity","open-quote","optimizeLegibility","optimizeSpeed","outset","outside","outside-shape","overlay","overline","padding","padding-box","painted","page","paused","perspective","pinch-zoom","plus-darker","plus-lighter","pointer","polygon","portrait","pre","pre-line","pre-wrap","preserve-3d","progress","push-button","radial-gradient","radio","read-only","read-write","read-write-plaintext-only","rectangle","region","relative","repeat","repeating-linear-gradient","repeating-radial-gradient","repeat-x","repeat-y","reset","reverse","rgb","rgba","ridge","right","rotate","rotate3d","rotateX","rotateY","rotateZ","round","row","row-resize","row-reverse","rtl","run-in","running","s-resize","sans-serif","saturation","scale","scale3d","scaleX","scaleY","scaleZ","screen","scroll","scrollbar","scroll-position","se-resize","self-start","self-end","semi-condensed","semi-expanded","separate","serif","show","single","skew","skewX","skewY","skip-white-space","slide","slider-horizontal","slider-vertical","sliderthumb-horizontal","sliderthumb-vertical","slow","small","small-caps","small-caption","smaller","soft-light","solid","source-atop","source-in","source-out","source-over","space","space-around","space-between","space-evenly","spell-out","square","start","static","status-bar","stretch","stroke","stroke-box","sub","subpixel-antialiased","svg_masks","super","sw-resize","symbolic","symbols","system-ui","table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row","table-row-group","text","text-bottom","text-top","textarea","textfield","thick","thin","threeddarkshadow","threedface","threedhighlight","threedlightshadow","threedshadow","to","top","transform","translate","translate3d","translateX","translateY","translateZ","transparent","ultra-condensed","ultra-expanded","underline","unidirectional-pan","unset","up","upper-latin","uppercase","url","var","vertical","vertical-text","view-box","visible","visibleFill","visiblePainted","visibleStroke","visual","w-resize","wait","wave","wider","window","windowframe","windowtext","words","wrap","wrap-reverse","x-large","x-small","xor","xx-large","xx-small"].map(i=>({type:"keyword",label:i})).concat(["aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","grey","green","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen"].map(i=>({type:"constant",label:i}))),xk=["a","abbr","address","article","aside","b","bdi","bdo","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","dd","del","details","dfn","dialog","div","dl","dt","em","figcaption","figure","footer","form","header","hgroup","h1","h2","h3","h4","h5","h6","hr","html","i","iframe","img","input","ins","kbd","label","legend","li","main","meter","nav","ol","output","p","pre","ruby","section","select","small","source","span","strong","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","tr","u","ul"].map(i=>({type:"type",label:i})),wk=["@charset","@color-profile","@container","@counter-style","@font-face","@font-feature-values","@font-palette-values","@import","@keyframes","@layer","@media","@namespace","@page","@position-try","@property","@scope","@starting-style","@supports","@view-transition"].map(i=>({type:"keyword",label:i})),Bt=/^(\w[\w-]*|-\w[\w-]*|)$/,Pk=/^-(-[\w-]*)?$/;function vk(i,e){var t;if((i.name=="("||i.type.isError)&&(i=i.parent||i),i.name!="ArgList")return!1;let n=(t=i.parent)===null||t===void 0?void 0:t.firstChild;return n?.name!="Callee"?!1:e.sliceString(n.from,n.to)=="var"}var Cp=new fi,$k=["Declaration"];function Tk(i){for(let e=i;;){if(e.type.isTop)return e;if(!(e=e.parent))return i}}function Xp(i,e,t){if(e.to-e.from>4096){let n=Cp.get(e);if(n)return n;let r=[],s=new Set,o=e.cursor(ee.IncludeAnonymous);if(o.firstChild())do for(let a of Xp(i,o.node,t))s.has(a.label)||(s.add(a.label),r.push(a));while(o.nextSibling());return Cp.set(e,r),r}else{let n=[],r=new Set;return e.cursor().iterate(s=>{var o;if(t(s)&&s.matchContext($k)&&((o=s.node.nextSibling)===null||o===void 0?void 0:o.name)==":"){let a=i.sliceString(s.from,s.to);r.has(a)||(r.add(a),n.push({label:a,type:"variable"}))}}),n}}var Ck=i=>e=>{let{state:t,pos:n}=e,r=B(t).resolveInner(n,-1),s=r.type.isError&&r.from==r.to-1&&t.doc.sliceString(r.from,r.to)=="-";if(r.name=="PropertyName"||(s||r.name=="TagName")&&/^(Block|Styles)$/.test(r.resolve(r.to).name))return{from:r.from,options:vc(),validFor:Bt};if(r.name=="ValueName")return{from:r.from,options:Tp,validFor:Bt};if(r.name=="PseudoClassName")return{from:r.from,options:$p,validFor:Bt};if(i(r)||(e.explicit||s)&&vk(r,t.doc))return{from:i(r)||s?r.from:n,options:Xp(t.doc,Tk(r),i),validFor:Pk};if(r.name=="TagName"){for(let{parent:l}=r;l;l=l.parent)if(l.name=="Block")return{from:r.from,options:vc(),validFor:Bt};return{from:r.from,options:xk,validFor:Bt}}if(r.name=="AtKeyword")return{from:r.from,options:wk,validFor:Bt};if(!e.explicit)return null;let o=r.resolve(n),a=o.childBefore(n);return a&&a.name==":"&&o.name=="PseudoClassSelector"?{from:n,options:$p,validFor:Bt}:a&&a.name==":"&&o.name=="Declaration"||o.name=="ArgList"?{from:n,options:Tp,validFor:Bt}:o.name=="Block"||o.name=="Styles"?{from:n,options:vc(),validFor:Bt}:null},Xk=Ck(i=>i.name=="VariableName"),Pr=ve.define({name:"css",parser:vp.configure({props:[we.add({Declaration:Yt()}),$e.add({"Block KeyframeList":ct})]}),languageData:{commentTokens:{block:{open:"/*",close:"*/"}},indentOnInput:/^\s*\}$/,wordChars:"-"}});function ro(){return new pe(Pr,Pr.data.of({autocomplete:Xk}))}var _k=316,Rk=317,_p=1,Ak=2,Zk=3,qk=4,Ek=318,zk=320,Lk=321,Mk=5,Wk=6,jk=0,Tc=[9,10,11,12,13,32,133,160,5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8232,8233,8239,8287,12288],Rp=125,Vk=59,Cc=47,Dk=42,Yk=43,Ik=45,Bk=60,Uk=44,Gk=63,Nk=46,Fk=91,Hk=new Ot({start:!1,shift(i,e){return e==Mk||e==Wk||e==zk?i:e==Lk},strict:!1}),Kk=new K((i,e)=>{let{next:t}=i;(t==Rp||t==-1||e.context)&&i.acceptToken(Ek)},{contextual:!0,fallback:!0}),Jk=new K((i,e)=>{let{next:t}=i,n;Tc.indexOf(t)>-1||t==Cc&&((n=i.peek(1))==Cc||n==Dk)||t!=Rp&&t!=Vk&&t!=-1&&!e.context&&i.acceptToken(_k)},{contextual:!0}),e1=new K((i,e)=>{i.next==Fk&&!e.context&&i.acceptToken(Rk)},{contextual:!0}),t1=new K((i,e)=>{let{next:t}=i;if(t==Yk||t==Ik){if(i.advance(),t==i.next){i.advance();let n=!e.context&&e.canShift(_p);i.acceptToken(n?_p:Ak)}}else t==Gk&&i.peek(1)==Nk&&(i.advance(),i.advance(),(i.next<48||i.next>57)&&i.acceptToken(Zk))},{contextual:!0});function $c(i,e){return i>=65&&i<=90||i>=97&&i<=122||i==95||i>=192||!e&&i>=48&&i<=57}var i1=new K((i,e)=>{if(i.next!=Bk||!e.dialectEnabled(jk)||(i.advance(),i.next==Cc))return;let t=0;for(;Tc.indexOf(i.next)>-1;)i.advance(),t++;if($c(i.next,!0)){for(i.advance(),t++;$c(i.next,!1);)i.advance(),t++;for(;Tc.indexOf(i.next)>-1;)i.advance(),t++;if(i.next==Uk)return;for(let n=0;;n++){if(n==7){if(!$c(i.next,!0))return;break}if(i.next!="extends".charCodeAt(n))break;i.advance(),t++}}i.acceptToken(qk,-t)}),n1=ge({"get set async static":d.modifier,"for while do if else switch try catch finally return throw break continue default case defer":d.controlKeyword,"in of await yield void typeof delete instanceof as satisfies":d.operatorKeyword,"let var const using function class extends":d.definitionKeyword,"import export from":d.moduleKeyword,"with debugger new":d.keyword,TemplateString:d.special(d.string),super:d.atom,BooleanLiteral:d.bool,this:d.self,null:d.null,Star:d.modifier,VariableName:d.variableName,"CallExpression/VariableName TaggedTemplateExpression/VariableName":d.function(d.variableName),VariableDefinition:d.definition(d.variableName),Label:d.labelName,PropertyName:d.propertyName,PrivatePropertyName:d.special(d.propertyName),"CallExpression/MemberExpression/PropertyName":d.function(d.propertyName),"FunctionDeclaration/VariableDefinition":d.function(d.definition(d.variableName)),"ClassDeclaration/VariableDefinition":d.definition(d.className),"NewExpression/VariableName":d.className,PropertyDefinition:d.definition(d.propertyName),PrivatePropertyDefinition:d.definition(d.special(d.propertyName)),UpdateOp:d.updateOperator,"LineComment Hashbang":d.lineComment,BlockComment:d.blockComment,Number:d.number,String:d.string,Escape:d.escape,ArithOp:d.arithmeticOperator,LogicOp:d.logicOperator,BitOp:d.bitwiseOperator,CompareOp:d.compareOperator,RegExp:d.regexp,Equals:d.definitionOperator,Arrow:d.function(d.punctuation),": Spread":d.punctuation,"( )":d.paren,"[ ]":d.squareBracket,"{ }":d.brace,"InterpolationStart InterpolationEnd":d.special(d.brace),".":d.derefOperator,", ;":d.separator,"@":d.meta,TypeName:d.typeName,TypeDefinition:d.definition(d.typeName),"type enum interface implements namespace module declare":d.definitionKeyword,"abstract global Privacy readonly override":d.modifier,"is keyof unique infer asserts":d.operatorKeyword,JSXAttributeValue:d.attributeValue,JSXText:d.content,"JSXStartTag JSXStartCloseTag JSXSelfCloseEndTag JSXEndTag":d.angleBracket,"JSXIdentifier JSXNameSpacedName":d.tagName,"JSXAttribute/JSXIdentifier JSXAttribute/JSXNameSpacedName":d.attributeName,"JSXBuiltin/JSXIdentifier":d.standard(d.tagName)}),r1={__proto__:null,export:20,as:25,from:33,default:36,async:41,function:42,in:52,out:55,const:56,extends:60,this:64,true:72,false:72,null:84,void:88,typeof:92,super:108,new:142,delete:154,yield:163,await:167,class:172,public:235,private:235,protected:235,readonly:237,instanceof:256,satisfies:259,import:292,keyof:349,unique:353,infer:359,asserts:395,is:397,abstract:417,implements:419,type:421,let:424,var:426,using:429,interface:435,enum:439,namespace:445,module:447,declare:451,global:455,defer:471,for:476,of:485,while:488,with:492,do:496,if:500,else:502,switch:506,case:512,try:518,catch:522,finally:526,return:530,throw:534,break:538,continue:542,debugger:546},s1={__proto__:null,async:129,get:131,set:133,declare:195,public:197,private:197,protected:197,static:199,abstract:201,override:203,readonly:209,accessor:211,new:401},o1={__proto__:null,"<":193},Ap=Pe.deserialize({version:14,states:"$F|Q%TQlOOO%[QlOOO'_QpOOP(lO`OOO*zQ!0MxO'#CiO+RO#tO'#CjO+aO&jO'#CjO+oO#@ItO'#DaO.QQlO'#DgO.bQlO'#DrO%[QlO'#DzO0fQlO'#ESOOQ!0Lf'#E['#E[O1PQ`O'#EXOOQO'#Ep'#EpOOQO'#Il'#IlO1XQ`O'#GsO1dQ`O'#EoO1iQ`O'#EoO3hQ!0MxO'#JrO6[Q!0MxO'#JsO6uQ`O'#F]O6zQ,UO'#FtOOQ!0Lf'#Ff'#FfO7VO7dO'#FfO9XQMhO'#F|O9`Q`O'#F{OOQ!0Lf'#Js'#JsOOQ!0Lb'#Jr'#JrO9eQ`O'#GwOOQ['#K_'#K_O9pQ`O'#IYO9uQ!0LrO'#IZOOQ['#J`'#J`OOQ['#I_'#I_Q`QlOOQ`QlOOO9}Q!L^O'#DvO:UQlO'#EOO:]QlO'#EQO9kQ`O'#GsO:dQMhO'#CoO:rQ`O'#EnO:}Q`O'#EyO;hQMhO'#FeO;xQ`O'#GsOOQO'#K`'#K`O;}Q`O'#K`O<]Q`O'#G{O<]Q`O'#G|O<]Q`O'#HOO9kQ`O'#HRO=SQ`O'#HUO>kQ`O'#CeO>{Q`O'#HcO?TQ`O'#HiO?TQ`O'#HkO`QlO'#HmO?TQ`O'#HoO?TQ`O'#HrO?YQ`O'#HxO?_Q!0LsO'#IOO%[QlO'#IQO?jQ!0LsO'#ISO?uQ!0LsO'#IUO9uQ!0LrO'#IWO@QQ!0MxO'#CiOASQpO'#DlQOQ`OOO%[QlO'#EQOAjQ`O'#ETO:dQMhO'#EnOAuQ`O'#EnOBQQ!bO'#FeOOQ['#Cg'#CgOOQ!0Lb'#Dq'#DqOOQ!0Lb'#Jv'#JvO%[QlO'#JvOOQO'#Jy'#JyOOQO'#Ih'#IhOCQQpO'#EgOOQ!0Lb'#Ef'#EfOOQ!0Lb'#J}'#J}OC|Q!0MSO'#EgODWQpO'#EWOOQO'#Jx'#JxODlQpO'#JyOEyQpO'#EWODWQpO'#EgPFWO&2DjO'#CbPOOO)CD})CD}OOOO'#I`'#I`OFcO#tO,59UOOQ!0Lh,59U,59UOOOO'#Ia'#IaOFqO&jO,59UOGPQ!L^O'#DcOOOO'#Ic'#IcOGWO#@ItO,59{OOQ!0Lf,59{,59{OGfQlO'#IdOGyQ`O'#JtOIxQ!fO'#JtO+}QlO'#JtOJPQ`O,5:ROJgQ`O'#EpOJtQ`O'#KTOKPQ`O'#KSOKPQ`O'#KSOKXQ`O,5;^OK^Q`O'#KROOQ!0Ln,5:^,5:^OKeQlO,5:^OMcQ!0MxO,5:fONSQ`O,5:nONmQ!0LrO'#KQONtQ`O'#KPO9eQ`O'#KPO! YQ`O'#KPO! bQ`O,5;]O! gQ`O'#KPO!#lQ!fO'#JsOOQ!0Lh'#Ci'#CiO%[QlO'#ESO!$[Q!fO,5:sOOQS'#Jz'#JzOOQO-EtOOQ['#Jh'#JhOOQ[,5>u,5>uOOQ[-E<]-E<]O!TO`QlO,5>VO!LOQ`O,5>XO`QlO,5>ZO!LTQ`O,5>^O!LYQlO,5>dOOQ[,5>j,5>jO%[QlO,5>jO9uQ!0LrO,5>lOOQ[,5>n,5>nO#!dQ`O,5>nOOQ[,5>p,5>pO#!dQ`O,5>pOOQ[,5>r,5>rO##QQpO'#D_O%[QlO'#JvO##sQpO'#JvO##}QpO'#DmO#$`QpO'#DmO#&qQlO'#DmO#&xQ`O'#JuO#'QQ`O,5:WO#'VQ`O'#EtO#'eQ`O'#KUO#'mQ`O,5;_O#'rQpO'#DmO#(PQpO'#EVOOQ!0Lf,5:o,5:oO%[QlO,5:oO#(WQ`O,5:oO?YQ`O,5;YO!CUQpO,5;YO!C^QMhO,5;YO:dQMhO,5;YO#(`Q`O,5@bO#(eQ07dO,5:sOOQO-EPO$6^Q`O,5>POOQ[1G3i1G3iO`QlO1G3iOOQ[1G3o1G3oOOQ[1G3q1G3qO?TQ`O1G3sO$6cQlO1G3uO$:gQlO'#HtOOQ[1G3x1G3xO$:tQ`O'#HzO?YQ`O'#H|OOQ[1G4O1G4OO$:|QlO1G4OO9uQ!0LrO1G4UOOQ[1G4W1G4WOOQ!0Lb'#G_'#G_O9uQ!0LrO1G4YO9uQ!0LrO1G4[O$?TQ`O,5@bO!)[QlO,5;`O9eQ`O,5;`O?YQ`O,5:XO!)[QlO,5:XO!CUQpO,5:XO$?YQ?MtO,5:XOOQO,5;`,5;`O$?dQpO'#IeO$?zQ`O,5@aOOQ!0Lf1G/r1G/rO$@SQpO'#IkO$@^Q`O,5@pOOQ!0Lb1G0y1G0yO#$`QpO,5:XOOQO'#Ig'#IgO$@fQpO,5:qOOQ!0Ln,5:q,5:qO#(ZQ`O1G0ZOOQ!0Lf1G0Z1G0ZO%[QlO1G0ZOOQ!0Lf1G0t1G0tO?YQ`O1G0tO!CUQpO1G0tO!C^QMhO1G0tOOQ!0Lb1G5|1G5|O!ByQ!0LrO1G0^OOQO1G0m1G0mO%[QlO1G0mO$@mQ!0LrO1G0mO$@xQ!0LrO1G0mO!CUQpO1G0^ODWQpO1G0^O$AWQ!0LrO1G0mOOQO1G0^1G0^O$AlQ!0MxO1G0mPOOO-E<[-E<[POOO1G.h1G.hOOOO1G/i1G/iO$AvQ!bO,5QQpO,5@}OOQ!0Lb1G3c1G3cOOQ[7+$V7+$VO@zQ`O7+$VO9uQ!0LrO7+$VO%>]Q`O7+$VO%[QlO1G6lO%[QlO1G6mO%>bQ!0LrO1G6lO%>lQlO1G3kO%>sQ`O1G3kO%>xQlO1G3kOOQ[7+)T7+)TO9uQ!0LrO7+)_O`QlO7+)aOOQ['#Kh'#KhOOQ['#JS'#JSO%?PQlO,5>`OOQ[,5>`,5>`O%[QlO'#HuO%?^Q`O'#HwOOQ[,5>f,5>fO9eQ`O,5>fOOQ[,5>h,5>hOOQ[7+)j7+)jOOQ[7+)p7+)pOOQ[7+)t7+)tOOQ[7+)v7+)vO%?cQpO1G5|O%?}Q?MtO1G0zO%@XQ`O1G0zOOQO1G/s1G/sO%@dQ?MtO1G/sO?YQ`O1G/sO!)[QlO'#DmOOQO,5?P,5?POOQO-ERQ`O7+,WO&>WQ`O7+,XO%[QlO7+,WO%[QlO7+,XOOQ[7+)V7+)VO&>]Q`O7+)VO&>bQlO7+)VO&>iQ`O7+)VOOQ[<nQ`O,5>aOOQ[,5>c,5>cO&>sQ`O1G4QO9eQ`O7+&fO!)[QlO7+&fOOQO7+%_7+%_O&>xQ?MtO1G6ZO?YQ`O7+%_OOQ!0Lf<yQ?MvO,5?aO'@|Q?MvO,5?cO'CPQ?MvO7+'|O'DuQMjOG27TOOQO<VO!l$xO#jROe!iOpkOrPO(T)]O(VTO(YUO(aVO(o[O~O!]$_Oa$qa'z$qa'w$qa!k$qa!Y$qa!_$qa%i$qa!g$qa~Ol)dO~P!&zOh%VOp%WOr%XOs$tOt$tOz%YO|%ZO!O%]O!S${O!_$|O!i%bO!l$xO#j%cO$W%`O$t%^O$v%_O$y%aO(T(vO(VTO(YUO(a$uO(y$}O(z%PO~Og(pP~P!,TO!Q)iO!g)hO!_$^X$Z$^X$]$^X$_$^X$f$^X~O!g)hO!_({X$Z({X$]({X$_({X$f({X~O!Q)iO~P!.^O!Q)iO!_({X$Z({X$]({X$_({X$f({X~O!_)kO$Z)oO$])jO$_)jO$f)pO~O![)sO~P!)[O$]$hO$_$gO$f)wO~On$zX!Q$zX#S$zX'y$zX(y$zX(z$zX~OgmXg$zXnmX!]mX#`mX~P!0SOx)yO(b)zO(c)|O~On*VO!Q*OO'y*PO(y$}O(z%PO~Og)}O~P!1WOg*WO~Oh%VOr%XOs$tOt$tOz%YO|%ZO!OVO!l$xO#jVO!l$xO#jROe!iOpkOrPO(VTO(YUO(aVO(o[O~O(T=QO~P#$qO!]-]O!^(iX~O!^-_O~O!g-VO#`-UO!]#hX!^#hX~O!]-`O!^(xX~O!^-bO~O!c-cO!d-cO(U!lO~P#$`O!^-fO~P'_On-iO!_'`O~O!Y-nO~Os!{a!b!{a!c!{a!d!{a#T!{a#U!{a#V!{a#W!{a#X!{a#[!{a#]!{a(U!{a(V!{a(Y!{a(e!{a(o!{a~P!#vO!p-sO#`-qO~PChO!c-uO!d-uO(U!lO~PDWOa%nO#`-qO'z%nO~Oa%nO!g#vO#`-qO'z%nO~Oa%nO!g#vO!p-sO#`-qO'z%nO(r'pO~O(P'xO(Q'xO(R-zO~Ov-{O~O!Y'Wa!]'Wa~P!:tO![.PO!Y'WX!]'WX~P%[O!](VO!Y(ha~O!Y(ha~PHRO!](^O!Y(va~O!S%hO![.TO!_%iO(T%gO!Y'^X!]'^X~O#`.VO!](ta!k(taa(ta'z(ta~O!g#vO~P#,wO!](jO!k(sa~O!S%hO!_%iO#j.ZO(T%gO~Op.`O!S%hO![.]O!_%iO!|]O#i._O#j.]O(T%gO!]'aX!k'aX~OR.dO!l#xO~Oh%VOn.gO!_'`O%i.fO~Oa#ci!]#ci'z#ci'w#ci!Y#ci!k#civ#ci!_#ci%i#ci!g#ci~P!:tOn>]O!Q*OO'y*PO(y$}O(z%PO~O#k#_aa#_a#`#_a'z#_a!]#_a!k#_a!_#_a!Y#_a~P#/sO#k(`XP(`XR(`X[(`Xa(`Xj(`Xr(`X!S(`X!l(`X!p(`X#R(`X#n(`X#o(`X#p(`X#q(`X#r(`X#s(`X#t(`X#u(`X#v(`X#x(`X#z(`X#{(`X'z(`X(a(`X(r(`X!k(`X!Y(`X'w(`Xv(`X!_(`X%i(`X!g(`X~P!6kO!].tO!k(kX~P!:tO!k.wO~O!Y.yO~OP$[OR#zO!Q#yO!S#{O!l#xO!p$[O(aVO[#mia#mij#mir#mi!]#mi#R#mi#o#mi#p#mi#q#mi#r#mi#s#mi#t#mi#u#mi#v#mi#x#mi#z#mi#{#mi'z#mi(r#mi(y#mi(z#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#n#mi~P#3cO#n$OO~P#3cOP$[OR#zOr$aO!Q#yO!S#{O!l#xO!p$[O#n$OO#o$PO#p$PO#q$PO(aVO[#mia#mij#mi!]#mi#R#mi#s#mi#t#mi#u#mi#v#mi#x#mi#z#mi#{#mi'z#mi(r#mi(y#mi(z#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#r#mi~P#6QO#r$QO~P#6QOP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO(aVOa#mi!]#mi#x#mi#z#mi#{#mi'z#mi(r#mi(y#mi(z#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#v#mi~P#8oOP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO#v$SO(aVO(z#}Oa#mi!]#mi#z#mi#{#mi'z#mi(r#mi(y#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#x$UO~P#;VO#x#mi~P#;VO#v$SO~P#8oOP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO#v$SO#x$UO(aVO(y#|O(z#}Oa#mi!]#mi#{#mi'z#mi(r#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#z#mi~P#={O#z$WO~P#={OP]XR]X[]Xj]Xr]X!Q]X!S]X!l]X!p]X#R]X#S]X#`]X#kfX#n]X#o]X#p]X#q]X#r]X#s]X#t]X#u]X#v]X#x]X#z]X#{]X$Q]X(a]X(r]X(y]X(z]X!]]X!^]X~O$O]X~P#@jOP$[OR#zO[]O!Q*OO'y*PO(y$}O(z%POP#miR#mi!S#mi!l#mi!p#mi#n#mi#o#mi#p#mi#q#mi(a#mi~P#EyO!]/POg(pX~P!1WOg/RO~Oa$Pi!]$Pi'z$Pi'w$Pi!Y$Pi!k$Piv$Pi!_$Pi%i$Pi!g$Pi~P!:tO$]/SO$_/SO~O$]/TO$_/TO~O!g)hO#`/UO!_$cX$Z$cX$]$cX$_$cX$f$cX~O![/VO~O!_)kO$Z/XO$])jO$_)jO$f/YO~O!]VO!l$xO#j^O!Q*OO'y*PO(y$}O(z%POP#miR#mi!S#mi!l#mi!p#mi#n#mi#o#mi#p#mi#q#mi(a#mi~P&,QO#S$dOP(`XR(`X[(`Xj(`Xn(`Xr(`X!Q(`X!S(`X!l(`X!p(`X#R(`X#n(`X#o(`X#p(`X#q(`X#r(`X#s(`X#t(`X#u(`X#v(`X#x(`X#z(`X#{(`X$O(`X'y(`X(a(`X(r(`X(y(`X(z(`X!](`X!^(`X~O$O$Pi!]$Pi!^$Pi~P#BwO$O!ri!^!ri~P$+oOg']a!]']a~P!1WO!^7nO~O!]'da!^'da~P#BwO!Y7oO~P#/sO!g#vO(r'pO!]'ea!k'ea~O!]/pO!k)Oi~O!]/pO!g#vO!k)Oi~Og$|q!]$|q#`$|q$O$|q~P!1WO!Y'ga!]'ga~P#/sO!g7vO~O!]/yO!Y)Pi~P#/sO!]/yO!Y)Pi~O!Y7yO~Oh%VOr8OO!l%eO(r'pO~Oj8QO!g#vO~Or8TO!g#vO(r'pO~O!Q*OO'y*PO(z%POn'ja(y'ja!]'ja#`'ja~Og'ja$O'ja~P&5RO!Q*OO'y*POn'la(y'la(z'la!]'la#`'la~Og'la$O'la~P&5tOg(_q!](_q~P!1WO#`8VOg(_q!](_q~P!1WO!Y8WO~Og%Oq!]%Oq#`%Oq$O%Oq~P!1WOa$oy!]$oy'z$oy'w$oy!Y$oy!k$oyv$oy!_$oy%i$oy!g$oy~P!:tO!g6rO~O!]5[O!_)Qa~O!_'`OP$TaR$Ta[$Taj$Tar$Ta!Q$Ta!S$Ta!]$Ta!l$Ta!p$Ta#R$Ta#n$Ta#o$Ta#p$Ta#q$Ta#r$Ta#s$Ta#t$Ta#u$Ta#v$Ta#x$Ta#z$Ta#{$Ta(a$Ta(r$Ta(y$Ta(z$Ta~O%i7WO~P&8fO%^8[Oa%[i!_%[i'z%[i!]%[i~Oa#cy!]#cy'z#cy'w#cy!Y#cy!k#cyv#cy!_#cy%i#cy!g#cy~P!:tO[8^O~Ob8`O(T+qO(VTO(YUO~O!]1TO!^)Xi~O`8dO~O(e(|O!]'pX!^'pX~O!]5uO!^)Ua~O!^8nO~P%;eO(o!sO~P$&YO#[8oO~O!_1oO~O!_1oO%i8qO~On8tO!_1oO%i8qO~O[8yO!]'sa!^'sa~O!]1zO!^)Vi~O!k8}O~O!k9OO~O!k9RO~O!k9RO~P%[Oa9TO~O!g9UO~O!k9VO~O!](wi!^(wi~P#BwOa%nO#`9_O'z%nO~O!](ty!k(tya(ty'z(ty~P!:tO!](jO!k(sy~O%i9bO~P&8fO!_'`O%i9bO~O#k$|qP$|qR$|q[$|qa$|qj$|qr$|q!S$|q!]$|q!l$|q!p$|q#R$|q#n$|q#o$|q#p$|q#q$|q#r$|q#s$|q#t$|q#u$|q#v$|q#x$|q#z$|q#{$|q'z$|q(a$|q(r$|q!k$|q!Y$|q'w$|q#`$|qv$|q!_$|q%i$|q!g$|q~P#/sO#k'jaP'jaR'ja['jaa'jaj'jar'ja!S'ja!l'ja!p'ja#R'ja#n'ja#o'ja#p'ja#q'ja#r'ja#s'ja#t'ja#u'ja#v'ja#x'ja#z'ja#{'ja'z'ja(a'ja(r'ja!k'ja!Y'ja'w'jav'ja!_'ja%i'ja!g'ja~P&5RO#k'laP'laR'la['laa'laj'lar'la!S'la!l'la!p'la#R'la#n'la#o'la#p'la#q'la#r'la#s'la#t'la#u'la#v'la#x'la#z'la#{'la'z'la(a'la(r'la!k'la!Y'la'w'lav'la!_'la%i'la!g'la~P&5tO#k%OqP%OqR%Oq[%Oqa%Oqj%Oqr%Oq!S%Oq!]%Oq!l%Oq!p%Oq#R%Oq#n%Oq#o%Oq#p%Oq#q%Oq#r%Oq#s%Oq#t%Oq#u%Oq#v%Oq#x%Oq#z%Oq#{%Oq'z%Oq(a%Oq(r%Oq!k%Oq!Y%Oq'w%Oq#`%Oqv%Oq!_%Oq%i%Oq!g%Oq~P#/sO!]'Yi!k'Yi~P!:tO$O#cq!]#cq!^#cq~P#BwO(y$}OP%aaR%aa[%aaj%aar%aa!S%aa!l%aa!p%aa#R%aa#n%aa#o%aa#p%aa#q%aa#r%aa#s%aa#t%aa#u%aa#v%aa#x%aa#z%aa#{%aa$O%aa(a%aa(r%aa!]%aa!^%aa~On%aa!Q%aa'y%aa(z%aa~P&IyO(z%POP%caR%ca[%caj%car%ca!S%ca!l%ca!p%ca#R%ca#n%ca#o%ca#p%ca#q%ca#r%ca#s%ca#t%ca#u%ca#v%ca#x%ca#z%ca#{%ca$O%ca(a%ca(r%ca!]%ca!^%ca~On%ca!Q%ca'y%ca(y%ca~P&LQOn>^O!Q*OO'y*PO(z%PO~P&IyOn>^O!Q*OO'y*PO(y$}O~P&LQOR0kO!Q0kO!S0lO#S$dOP}a[}aj}an}ar}a!l}a!p}a#R}a#n}a#o}a#p}a#q}a#r}a#s}a#t}a#u}a#v}a#x}a#z}a#{}a$O}a'y}a(a}a(r}a(y}a(z}a!]}a!^}a~O!Q*OO'y*POP$saR$sa[$saj$san$sar$sa!S$sa!l$sa!p$sa#R$sa#n$sa#o$sa#p$sa#q$sa#r$sa#s$sa#t$sa#u$sa#v$sa#x$sa#z$sa#{$sa$O$sa(a$sa(r$sa(y$sa(z$sa!]$sa!^$sa~O!Q*OO'y*POP$uaR$ua[$uaj$uan$uar$ua!S$ua!l$ua!p$ua#R$ua#n$ua#o$ua#p$ua#q$ua#r$ua#s$ua#t$ua#u$ua#v$ua#x$ua#z$ua#{$ua$O$ua(a$ua(r$ua(y$ua(z$ua!]$ua!^$ua~On>^O!Q*OO'y*PO(y$}O(z%PO~OP%TaR%Ta[%Taj%Tar%Ta!S%Ta!l%Ta!p%Ta#R%Ta#n%Ta#o%Ta#p%Ta#q%Ta#r%Ta#s%Ta#t%Ta#u%Ta#v%Ta#x%Ta#z%Ta#{%Ta$O%Ta(a%Ta(r%Ta!]%Ta!^%Ta~P''VO$O$mq!]$mq!^$mq~P#BwO$O$oq!]$oq!^$oq~P#BwO!^9oO~O$O9pO~P!1WO!g#vO!]'ei!k'ei~O!g#vO(r'pO!]'ei!k'ei~O!]/pO!k)Oq~O!Y'gi!]'gi~P#/sO!]/yO!Y)Pq~Or9wO!g#vO(r'pO~O[9yO!Y9xO~P#/sO!Y9xO~Oj:PO!g#vO~Og(_y!](_y~P!1WO!]'na!_'na~P#/sOa%[q!_%[q'z%[q!]%[q~P#/sO[:UO~O!]1TO!^)Xq~O`:YO~O#`:ZO!]'pa!^'pa~O!]5uO!^)Ui~P#BwO!S:]O~O!_1oO%i:`O~O(VTO(YUO(e:eO~O!]1zO!^)Vq~O!k:hO~O!k:iO~O!k:jO~O!k:jO~P%[O#`:mO!]#hy!^#hy~O!]#hy!^#hy~P#BwO%i:rO~P&8fO!_'`O%i:rO~O$O#|y!]#|y!^#|y~P#BwOP$|iR$|i[$|ij$|ir$|i!S$|i!l$|i!p$|i#R$|i#n$|i#o$|i#p$|i#q$|i#r$|i#s$|i#t$|i#u$|i#v$|i#x$|i#z$|i#{$|i$O$|i(a$|i(r$|i!]$|i!^$|i~P''VO!Q*OO'y*PO(z%POP'iaR'ia['iaj'ian'iar'ia!S'ia!l'ia!p'ia#R'ia#n'ia#o'ia#p'ia#q'ia#r'ia#s'ia#t'ia#u'ia#v'ia#x'ia#z'ia#{'ia$O'ia(a'ia(r'ia(y'ia!]'ia!^'ia~O!Q*OO'y*POP'kaR'ka['kaj'kan'kar'ka!S'ka!l'ka!p'ka#R'ka#n'ka#o'ka#p'ka#q'ka#r'ka#s'ka#t'ka#u'ka#v'ka#x'ka#z'ka#{'ka$O'ka(a'ka(r'ka(y'ka(z'ka!]'ka!^'ka~O(y$}OP%aiR%ai[%aij%ain%air%ai!Q%ai!S%ai!l%ai!p%ai#R%ai#n%ai#o%ai#p%ai#q%ai#r%ai#s%ai#t%ai#u%ai#v%ai#x%ai#z%ai#{%ai$O%ai'y%ai(a%ai(r%ai(z%ai!]%ai!^%ai~O(z%POP%ciR%ci[%cij%cin%cir%ci!Q%ci!S%ci!l%ci!p%ci#R%ci#n%ci#o%ci#p%ci#q%ci#r%ci#s%ci#t%ci#u%ci#v%ci#x%ci#z%ci#{%ci$O%ci'y%ci(a%ci(r%ci(y%ci!]%ci!^%ci~O$O$oy!]$oy!^$oy~P#BwO$O#cy!]#cy!^#cy~P#BwO!g#vO!]'eq!k'eq~O!]/pO!k)Oy~O!Y'gq!]'gq~P#/sOr:|O!g#vO(r'pO~O[;QO!Y;PO~P#/sO!Y;PO~Og(_!R!](_!R~P!1WOa%[y!_%[y'z%[y!]%[y~P#/sO!]1TO!^)Xy~O!]5uO!^)Uq~O(T;XO~O!_1oO%i;[O~O!k;_O~O%i;dO~P&8fOP$|qR$|q[$|qj$|qr$|q!S$|q!l$|q!p$|q#R$|q#n$|q#o$|q#p$|q#q$|q#r$|q#s$|q#t$|q#u$|q#v$|q#x$|q#z$|q#{$|q$O$|q(a$|q(r$|q!]$|q!^$|q~P''VO!Q*OO'y*PO(z%POP'jaR'ja['jaj'jan'jar'ja!S'ja!l'ja!p'ja#R'ja#n'ja#o'ja#p'ja#q'ja#r'ja#s'ja#t'ja#u'ja#v'ja#x'ja#z'ja#{'ja$O'ja(a'ja(r'ja(y'ja!]'ja!^'ja~O!Q*OO'y*POP'laR'la['laj'lan'lar'la!S'la!l'la!p'la#R'la#n'la#o'la#p'la#q'la#r'la#s'la#t'la#u'la#v'la#x'la#z'la#{'la$O'la(a'la(r'la(y'la(z'la!]'la!^'la~OP%OqR%Oq[%Oqj%Oqr%Oq!S%Oq!l%Oq!p%Oq#R%Oq#n%Oq#o%Oq#p%Oq#q%Oq#r%Oq#s%Oq#t%Oq#u%Oq#v%Oq#x%Oq#z%Oq#{%Oq$O%Oq(a%Oq(r%Oq!]%Oq!^%Oq~P''VOg%e!Z!]%e!Z#`%e!Z$O%e!Z~P!1WO!Y;hO~P#/sOr;iO!g#vO(r'pO~O[;kO!Y;hO~P#/sO!]'pq!^'pq~P#BwO!]#h!Z!^#h!Z~P#BwO#k%e!ZP%e!ZR%e!Z[%e!Za%e!Zj%e!Zr%e!Z!S%e!Z!]%e!Z!l%e!Z!p%e!Z#R%e!Z#n%e!Z#o%e!Z#p%e!Z#q%e!Z#r%e!Z#s%e!Z#t%e!Z#u%e!Z#v%e!Z#x%e!Z#z%e!Z#{%e!Z'z%e!Z(a%e!Z(r%e!Z!k%e!Z!Y%e!Z'w%e!Z#`%e!Zv%e!Z!_%e!Z%i%e!Z!g%e!Z~P#/sOr;tO!g#vO(r'pO~O!Y;uO~P#/sOr;|O!g#vO(r'pO~O!Y;}O~P#/sOP%e!ZR%e!Z[%e!Zj%e!Zr%e!Z!S%e!Z!l%e!Z!p%e!Z#R%e!Z#n%e!Z#o%e!Z#p%e!Z#q%e!Z#r%e!Z#s%e!Z#t%e!Z#u%e!Z#v%e!Z#x%e!Z#z%e!Z#{%e!Z$O%e!Z(a%e!Z(r%e!Z!]%e!Z!^%e!Z~P''VOrROe!iOpkOrPO(T)]O(VTO(YUO(aVO(o[O~O!]WO!l$xO#jgPPP!>oI[PPPPPPPPP!BOP!C]PPI[!DnPI[PI[I[I[I[I[PI[!FQP!I[P!LbP!Lf!Lp!Lt!LtP!IXP!Lx!LxP#!OP#!SI[PI[#!Y#%_CjA^PA^PA^A^P#&lA^A^#)OA^#+vA^#.SA^A^#.r#1W#1W#1]#1f#1W#1qPP#1WPA^#2ZA^#6YA^A^6mPPP#:_PPP#:x#:xP#:xP#;`#:xPP#;fP#;]P#;]#;y#;]#P#>V#>]#>k#>q#>{#?R#?]#?c#?s#?y#@k#@}#AT#AZ#Ai#BO#Cs#DR#DY#Et#FS#Gt#HS#HY#H`#Hf#Hp#Hv#H|#IW#Ij#IpPPPPPPPPPPP#IvPPPPPPP#Jk#Mx$ b$ i$ qPPP$']P$'f$*_$0x$0{$1O$1}$2Q$2X$2aP$2g$2jP$3W$3[$4S$5b$5g$5}PP$6S$6Y$6^$6a$6e$6i$7e$7|$8e$8i$8l$8o$8y$8|$9Q$9UR!|RoqOXst!Z#d%m&r&t&u&w,s,x2[2_Y!vQ'`-e1o5{Q%tvQ%|yQ&T|Q&j!VS'W!e-]Q'f!iS'l!r!yU*k$|*Z*oQ+o%}S+|&V&WQ,d&dQ-c'_Q-m'gQ-u'mQ0[*qQ1b,OQ1y,eR<{SU+P%]S!S!nQ!r!v!y!z$|'W'_'`'l'm'n*k*o*q*r-]-c-e-u0[0_1o5{5}%[$ti#v$b$c$d$x${%O%Q%^%_%c)y*R*T*V*Y*a*g*w*x+f+i,S,V.f/P/d/m/x/y/{0`0b0i0j0o1f1i1q3c4^4_4j4o5Q5[5_6S7W7v8Q8V8[8q9b9p9y:P:`:r;Q;[;d;kP>X>Y>]>^Q&X|Q'U!eS'[%i-`Q+t&PQ,P&WQ,f&gQ0n+SQ1Y+uQ1_+{Q2Q,jQ2R,kQ5f1TQ5o1aQ6[1zQ6_1|Q6`2PQ8`5gQ8c5lQ8|6bQ:X8dQ:f8yQ;V:YR<}*ZrnOXst!V!Z#d%m&i&r&t&u&w,s,x2[2_R,h&k&z^OPXYstuvwz!Z!`!g!j!o#S#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%m%t&R&k&n&o&r&t&u&w&{'T'b'r(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:mR>S[#]WZ#W#Z'X(T!b%jm#h#i#l$x%e%h(^(h(i(j*Y*^*b+Z+[+^,o-V.T.Z.[.]._/m/p2d3[3]4a6r7TQ%wxQ%{yW&Q|&V&W,OQ&_!TQ'c!hQ'e!iQ(q#sS+n%|%}Q+r&PQ,_&bQ,c&dS-l'f'gQ.i(rQ1R+oQ1X+uQ1Z+vQ1^+zQ1t,`S1x,d,eQ2|-mQ5e1TQ5i1WQ5n1`Q6Z1yQ8_5gQ8b5kQ8f5pQ:T8^R;T:U!U$zi$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Y!^%yy!i!u%{%|%}'V'e'f'g'k'u*j+n+o-Y-l-m-t0R0U1R2u2|3T4r4s4v7}9{Q+h%wQ,T&[Q,W&]Q,b&dQ.h(qQ1s,_U1w,c,d,eQ3e.iQ6U1tS6Y1x1yQ8x6Z#f>T#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k]>^o>UPS&[!Q&iQ&]!RQ&^!SU*}%[%d=sR,R&Y%]%Si#v$b$c$d$x${%O%Q%^%_%c)y*R*T*V*Y*a*g*w*x+f+i,S,V.f/P/d/m/x/y/{0`0b0i0j0o1f1i1q3c4^4_4j4o5Q5[5_6S7W7v8Q8V8[8q9b9p9y:P:`:r;Q;[;d;kP>X>Y>]>^T)z$u){V+P%]S$i$^c#Y#e%q%s%u(S(Y(t(y)R)S)T)U)V)W)X)Y)Z)[)^)`)b)g)q+d+x-Z-x-}.S.U.s.v.z.|.}/O/b0p2k2n3O3V3k3p3q3r3s3t3u3v3w3x3y3z3{3|4P4Q4X5X5c6u6{7Q7a7b7k7l8k9X9]9g9m9n:o;W;`SQ'Y!eR2q-]!W!nQ!e!r!v!y!z$|'W'_'`'l'm'n*Z*k*o*q*r-]-c-e-u0[0_1o5{5}R1l,ZnqOXst!Z#d%m&r&t&u&w,s,x2[2_Q&y!^Q'v!xS(s#u<^Q+l%zQ,]&_Q,^&aQ-j'dQ-w'oS.r(x=PS0q+X=ZQ1P+mQ1n,[Q2c,zQ2e,{Q2m-WQ2z-kQ2}-oS5Y0r=eQ5a1QS5d1S=fQ6t2oQ6x2{Q6}3SQ8]5bQ9Y6vQ9Z6yQ9^7OR:l9V$d$]c#Y#e%s%u(S(Y(t(y)R)S)T)U)V)W)X)Y)Z)[)^)`)b)g)q+d+x-Z-x-}.S.U.s.v.z.}/O/b0p2k2n3O3V3k3p3q3r3s3t3u3v3w3x3y3z3{3|4P4Q4X5X5c6u6{7Q7a7b7k7l8k9X9]9g9m9n:o;W;`SS#q]SU$fd)_,mS(p#p'iU*v%R(w4OU0m+O.n7gQ5^0xQ7V3`Q9d7YR:s9em!tQ!r!v!y!z'`'l'm'n-e-u1o5{5}Q't!uS(f#g2US-s'k'wQ/s*]Q0R*jQ3U-vQ4f/tQ4r0TQ4s0UQ4x0^Q7r4`S7}4t4vS8R4y4{Q9r7sQ9v7yQ9{8OQ:Q8TS:{9w9xS;g:|;PS;s;h;iS;{;t;uSSR=o>R%^bOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&o&r&t&u&w&{'T'b'r(T(V(](d(x(z)O)}*i+X+]+g,p,s,x-i-q.P.V.g.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3d3l4z6T6e6f6i6|7[8t9T9_Q%fj!^%xy!i!u%{%|%}'V'e'f'g'k'u*j+n+o-Y-l-m-t0R0U1R2u2|3T4r4s4v7}9{S&Oz!jQ+k%yQ,a&dW1v,b,c,d,eU6X1w1x1yS8w6Y6ZQ:d8x!r=j$Z$n'X)s-U-X/V2p4T5w6s:Z:mSQ=t>QR=u>R%QeOPXYstuvw!Z!`!g!o#S#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&r&t&u&w&{'T'b'r(V(](d(x(z)O)}*i+X+]+g,p,s,x-i-q.P.V.g.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3d3l4z6T6e6f6i6|7[8t9T9_Y#bWZ#W#Z(T!b%jm#h#i#l$x%e%h(^(h(i(j*Y*^*b+Z+[+^,o-V.T.Z.[.]._/m/p2d3[3]4a6r7TQ,n&o!p=k$Z$n)s-U-X/V2p4T5w6s:Z:mSR=n'XU']!e%i*ZR2s-`%SdOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&r&t&u&w&{'T'b'r(T(V(](d(x(z)O)}*i+X+],p,s,x-i-q.P.V.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3l4z6T6e6f6i6|8t9T9_!r)_$Z$n'X)s-U-X/V2p4T5w6s:Z:mSQ,m&oQ0x+gQ3`.gQ7Y3dR9e7[!b$Tc#Y%q(S(Y(t(y)Z)[)`)g+x-x-}.S.U.s.v/b0p3O3V3k3{5X5c6{7Q7a9]:oS)^)q-Z.|2k2n3p4P4X6u7b7k7l8k9X9g9m9n;W;`=vQ>X>ZR>Y>['QkOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%m%t&R&k&n&o&r&t&u&w&{'T'X'b'r(T(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:mSS$oh$pR4U/U'XgOPWXYZhstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n$p%m%t&R&k&n&o&r&t&u&w&{'T'X'b'r(T(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/U/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:mST$kf$qQ$ifS)j$l)nR)v$qT$jf$qT)l$l)n'XhOPWXYZhstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n$p%m%t&R&k&n&o&r&t&u&w&{'T'X'b'r(T(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/U/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:mST$oh$pQ$rhR)u$p%^jOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&o&r&t&u&w&{'T'b'r(T(V(](d(x(z)O)}*i+X+]+g,p,s,x-i-q.P.V.g.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3d3l4z6T6e6f6i6|7[8t9T9_!s>Q$Z$n'X)s-U-X/V2p4T5w6s:Z:mS#glOPXZst!Z!`!o#S#d#o#{$n%m&k&n&o&r&t&u&w&{'T'b)O)s*i+]+g,p,s,x-i.g/V/n0]0l1r2S2T2V2X2[2_2a3d4T4z6T6e6f6i7[8t9T!U%Ri$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Y#f(w#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k]>^Q+T%aQ/c*Oo4OP>X>YQ*c$zU*l$|*Z*oQ+U%bQ0W*m#f=q#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k]>^n=rTQ=x>UQ=y>VR=z>W!U%Ri$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Y#f(w#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k]>^o4OP>X>Y>]>^Q,U&]Q1h,WQ5s1gR8h5tV*n$|*Z*oU*n$|*Z*oT5z1o5{S0P*i/nQ4w0]T8S4z:]Q+j%xQ0V*lQ1O+kQ1u,aQ6W1vQ8v6XQ:c8wR;^:d!U%Oi$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Yx*R$v)e*S*u+V/v0d0e4R4g5R5S5W7p8U:R:x=p=}>OS0`*t0a#f]>^nZ>[`=T3}7c7f7j9h:t:w;yS=_.l3iT=`7e9k!U%Qi$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Y|*T$v)e*U*t+V/g/v0d0e4R4g4|5R5S5W7p8U:R:x=p=}>OS0b*u0c#f]>^nZ>[d=V3}7d7e7j9h9i:t:u:w;yS=a.m3jT=b7f9lrnOXst!V!Z#d%m&i&r&t&u&w,s,x2[2_Q&f!UR,p&ornOXst!V!Z#d%m&i&r&t&u&w,s,x2[2_R&f!UQ,Y&^R1d,RsnOXst!V!Z#d%m&i&r&t&u&w,s,x2[2_Q1p,_S6R1s1tU8p6P6Q6US:_8r8sS;Y:^:aQ;m;ZR;w;nQ&m!VR,i&iR6_1|R:f8yW&Q|&V&W,OR1Z+vQ&r!WR,s&sR,y&xT2],x2_R,}&yQ,|&yR2f,}Q'y!{R-y'ySsOtQ#dXT%ps#dQ#OTR'{#OQ#RUR'}#RQ){$uR/`){Q#UVR(Q#UQ#XWU(W#X(X.QQ(X#YR.Q(YQ-^'YR2r-^Q.u(yS3m.u3nR3n.vQ-e'`R2v-eY!rQ'`-e1o5{R'j!rQ/Q)eR4S/QU#_W%h*YU(_#_(`.RQ(`#`R.R(ZQ-a']R2t-at`OXst!V!Z#d%m&i&k&r&t&u&w,s,x2[2_S#hZ%eU#r`#h.[R.[(jQ(k#jQ.X(gW.a(k.X3X7RQ3X.YR7R3YQ)n$lR/W)nQ$phR)t$pQ$`cU)a$`-|O>Z>[Q/z*eU4k/z4m7xQ4m/|R7x4lS*o$|*ZR0Y*ox*S$v)e*t*u+V/v0d0e4R4g5R5S5W7p8U:R:x=p=}>O!d.j(u)c*[*e.l.m.q/_/k/|0v1e3h4[4h4l5r7]7`7w7z8X8Z9t9|:S:};R;e;j;v>Z>[U/h*S.j7ca7c3}7e7f7j9h:t:w;yQ0a*tQ3i.lU4}0a3i9kR9k7e|*U$v)e*t*u+V/g/v0d0e4R4g4|5R5S5W7p8U:R:x=p=}>O!h.k(u)c*[*e.l.m.q/_/k/|0v1e3f3h4[4h4l5r7]7^7`7w7z8X8Z9t9|:S:};R;e;j;v>Z>[U/j*U.k7de7d3}7e7f7j9h9i:t:u:w;yQ0c*uQ3j.mU5P0c3j9lR9l7fQ*z%UR0g*zQ5]0vR8Y5]Q+_%kR0u+_Q5v1jS8j5v:[R:[8kQ,[&_R1m,[Q5{1oR8m5{Q1{,fS6]1{8zR8z6_Q1U+rW5h1U5j8a:VQ5j1XQ8a5iR:V8bQ+w&QR1[+wQ2_,xR6m2_YrOXst#dQ&v!ZQ+a%mQ,r&rQ,t&tQ,u&uQ,w&wQ2Y,sS2],x2_R6l2[Q%opQ&z!_Q&}!aQ'P!bQ'R!cQ'q!uQ+`%lQ+l%zQ,Q&XQ,h&mQ-P&|W-p'k's't'wQ-w'oQ0X*nQ1P+mQ1c,PS2O,i,lQ2g-OQ2h-RQ2i-SQ2}-oW3P-r-s-v-xQ5a1QQ5m1_Q5q1eQ6V1uQ6a2QQ6k2ZU6z3O3R3UQ6}3SQ8]5bQ8e5oQ8g5rQ8l5zQ8u6WQ8{6`S9[6{7PQ9^7OQ:W8cQ:b8vQ:g8|Q:n9]Q;U:XQ;]:cQ;a:oQ;l;VR;o;^Q%zyQ'd!iQ'o!uU+m%{%|%}Q-W'VU-k'e'f'gS-o'k'uQ0Q*jS1Q+n+oQ2o-YS2{-l-mQ3S-tS4p0R0UQ5b1RQ6v2uQ6y2|Q7O3TU7{4r4s4vQ9z7}R;O9{S$wi>PR*{%VU%Ui%V>PR0f*yQ$viS(u#v+iS)c$b$cQ)e$dQ*[$xS*e${*YQ*t%OQ*u%QQ+Q%^Q+R%_Q+V%cQ.lPQ=}>XQ>O>YQ>Z>]R>[>^Q+O%]Q.nSR#[WR'Z!el!tQ!r!v!y!z'`'l'm'n-e-u1o5{5}S'V!e-]U*j$|*Z*oS-Y'W'_S0U*k*qQ0^*rQ2u-cQ4v0[R4{0_R({#xQ!fQT-d'`-e]!qQ!r'`-e1o5{Q#p]R'i < TypeParamList in out const TypeDefinition extends ThisType this LiteralType ArithOp Number BooleanLiteral TemplateType InterpolationEnd Interpolation InterpolationStart NullType null VoidType void TypeofType typeof MemberExpression . PropertyName [ TemplateString Escape Interpolation super RegExp ] ArrayExpression Spread , } { ObjectExpression Property async get set PropertyDefinition Block : NewTarget new NewExpression ) ( ArgList UnaryExpression delete LogicOp BitOp YieldExpression yield AwaitExpression await ParenthesizedExpression ClassExpression class ClassBody MethodDeclaration Decorator @ MemberExpression PrivatePropertyName CallExpression TypeArgList CompareOp < declare Privacy static abstract override PrivatePropertyDefinition PropertyDeclaration readonly accessor Optional TypeAnnotation Equals StaticBlock FunctionExpression ArrowFunction ParamList ParamList ArrayPattern ObjectPattern PatternProperty Privacy readonly Arrow MemberExpression BinaryExpression ArithOp ArithOp ArithOp ArithOp BitOp CompareOp instanceof satisfies CompareOp BitOp BitOp BitOp LogicOp LogicOp ConditionalExpression LogicOp LogicOp AssignmentExpression UpdateOp PostfixExpression CallExpression InstantiationExpression TaggedTemplateExpression DynamicImport import ImportMeta JSXElement JSXSelfCloseEndTag JSXSelfClosingTag JSXIdentifier JSXBuiltin JSXIdentifier JSXNamespacedName JSXMemberExpression JSXSpreadAttribute JSXAttribute JSXAttributeValue JSXEscape JSXEndTag JSXOpenTag JSXFragmentTag JSXText JSXEscape JSXStartCloseTag JSXCloseTag PrefixCast < ArrowFunction TypeParamList SequenceExpression InstantiationExpression KeyofType keyof UniqueType unique ImportType InferredType infer TypeName ParenthesizedType FunctionSignature ParamList NewSignature IndexedType TupleType Label ArrayType ReadonlyType ObjectType MethodType PropertyType IndexSignature PropertyDefinition CallSignature TypePredicate asserts is NewSignature new UnionType LogicOp IntersectionType LogicOp ConditionalType ParameterizedType ClassDeclaration abstract implements type VariableDeclaration let var using TypeAliasDeclaration InterfaceDeclaration interface EnumDeclaration enum EnumBody NamespaceDeclaration namespace module AmbientDeclaration declare GlobalDeclaration global ClassDeclaration ClassBody AmbientFunctionDeclaration ExportGroup VariableName VariableName ImportDeclaration defer ImportGroup ForStatement for ForSpec ForInSpec ForOfSpec of WhileStatement while WithStatement with DoStatement do IfStatement if else SwitchStatement switch SwitchBody CaseLabel case DefaultLabel TryStatement try CatchClause catch FinallyClause finally ReturnStatement return ThrowStatement throw BreakStatement break ContinueStatement continue DebuggerStatement debugger LabeledStatement ExpressionStatement SingleExpression SingleClassItem",maxTerm:380,context:Hk,nodeProps:[["isolate",-8,5,6,14,37,39,51,53,55,""],["group",-26,9,17,19,68,207,211,215,216,218,221,224,234,237,243,245,247,249,252,258,264,266,268,270,272,274,275,"Statement",-34,13,14,32,35,36,42,51,54,55,57,62,70,72,76,80,82,84,85,110,111,120,121,136,139,141,142,143,144,145,147,148,167,169,171,"Expression",-23,31,33,37,41,43,45,173,175,177,178,180,181,182,184,185,186,188,189,190,201,203,205,206,"Type",-3,88,103,109,"ClassItem"],["openedBy",23,"<",38,"InterpolationStart",56,"[",60,"{",73,"(",160,"JSXStartCloseTag"],["closedBy",-2,24,168,">",40,"InterpolationEnd",50,"]",61,"}",74,")",165,"JSXEndTag"]],propSources:[n1],skippedNodes:[0,5,6,278],repeatNodeCount:37,tokenData:"$Fq07[R!bOX%ZXY+gYZ-yZ[+g[]%Z]^.c^p%Zpq+gqr/mrs3cst:_tuEruvJSvwLkwx! Yxy!'iyz!(sz{!)}{|!,q|}!.O}!O!,q!O!P!/Y!P!Q!9j!Q!R#:O!R![#<_![!]#I_!]!^#Jk!^!_#Ku!_!`$![!`!a$$v!a!b$*T!b!c$,r!c!}Er!}#O$-|#O#P$/W#P#Q$4o#Q#R$5y#R#SEr#S#T$7W#T#o$8b#o#p$x#r#s$@U#s$f%Z$f$g+g$g#BYEr#BY#BZ$A`#BZ$ISEr$IS$I_$A`$I_$I|Er$I|$I}$Dk$I}$JO$Dk$JO$JTEr$JT$JU$A`$JU$KVEr$KV$KW$A`$KW&FUEr&FU&FV$A`&FV;'SEr;'S;=`I|<%l?HTEr?HT?HU$A`?HUOEr(n%d_$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z&j&hT$i&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c&j&zP;=`<%l&c'|'U]$i&j(Z!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!b(SU(Z!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}!b(iP;=`<%l'}'|(oP;=`<%l&}'[(y]$i&j(WpOY(rYZ&cZr(rrs&cs!^(r!^!_)r!_#O(r#O#P&c#P#o(r#o#p)r#p;'S(r;'S;=`*a<%lO(rp)wU(WpOY)rZr)rs#O)r#P;'S)r;'S;=`*Z<%lO)rp*^P;=`<%l)r'[*dP;=`<%l(r#S*nX(Wp(Z!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g#S+^P;=`<%l*g(n+dP;=`<%l%Z07[+rq$i&j(Wp(Z!b'|0/lOX%ZXY+gYZ&cZ[+g[p%Zpq+gqr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p$f%Z$f$g+g$g#BY%Z#BY#BZ+g#BZ$IS%Z$IS$I_+g$I_$JT%Z$JT$JU+g$JU$KV%Z$KV$KW+g$KW&FU%Z&FU&FV+g&FV;'S%Z;'S;=`+a<%l?HT%Z?HT?HU+g?HUO%Z07[.ST(X#S$i&j'}0/lO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c07[.n_$i&j(Wp(Z!b'}0/lOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z)3p/x`$i&j!p),Q(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`0z!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW1V`#v(Ch$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`2X!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW2d_#v(Ch$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'At3l_(V':f$i&j(Z!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k(^4r_$i&j(Z!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k&z5vX$i&jOr5qrs6cs!^5q!^!_6y!_#o5q#o#p6y#p;'S5q;'S;=`7h<%lO5q&z6jT$d`$i&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c`6|TOr6yrs7]s;'S6y;'S;=`7b<%lO6y`7bO$d``7eP;=`<%l6y&z7kP;=`<%l5q(^7w]$d`$i&j(Z!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!r8uZ(Z!bOY8pYZ6yZr8prs9hsw8pwx6yx#O8p#O#P6y#P;'S8p;'S;=`:R<%lO8p!r9oU$d`(Z!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}!r:UP;=`<%l8p(^:[P;=`<%l4k%9[:hh$i&j(Wp(Z!bOY%ZYZ&cZq%Zqr`#P#o`x!^=^!^!_?q!_#O=^#O#P>`#P#o=^#o#p?q#p;'S=^;'S;=`@h<%lO=^&n>gXWS$i&jOY>`YZ&cZ!^>`!^!_?S!_#o>`#o#p?S#p;'S>`;'S;=`?k<%lO>`S?XSWSOY?SZ;'S?S;'S;=`?e<%lO?SS?hP;=`<%l?S&n?nP;=`<%l>`!f?xWWS(Z!bOY?qZw?qwx?Sx#O?q#O#P?S#P;'S?q;'S;=`@b<%lO?q!f@eP;=`<%l?q(Q@kP;=`<%l=^'`@w]WS$i&j(WpOY@nYZ&cZr@nrs>`s!^@n!^!_Ap!_#O@n#O#P>`#P#o@n#o#pAp#p;'S@n;'S;=`Bg<%lO@ntAwWWS(WpOYApZrAprs?Ss#OAp#O#P?S#P;'SAp;'S;=`Ba<%lOAptBdP;=`<%lAp'`BjP;=`<%l@n#WBvYWS(Wp(Z!bOYBmZrBmrs?qswBmwxApx#OBm#O#P?S#P;'SBm;'S;=`Cf<%lOBm#WCiP;=`<%lBm(rCoP;=`<%l^!Q^$i&j!X7`OY!=yYZ&cZ!P!=y!P!Q!>|!Q!^!=y!^!_!@c!_!}!=y!}#O!CW#O#P!Dy#P#o!=y#o#p!@c#p;'S!=y;'S;=`!Ek<%lO!=y|#X#Z&c#Z#[!>|#[#]&c#]#^!>|#^#a&c#a#b!>|#b#g&c#g#h!>|#h#i&c#i#j!>|#j#k!>|#k#m&c#m#n!>|#n#o&c#p;'S&c;'S;=`&w<%lO&c7`!@hX!X7`OY!@cZ!P!@c!P!Q!AT!Q!}!@c!}#O!Ar#O#P!Bq#P;'S!@c;'S;=`!CQ<%lO!@c7`!AYW!X7`#W#X!AT#Z#[!AT#]#^!AT#a#b!AT#g#h!AT#i#j!AT#j#k!AT#m#n!AT7`!AuVOY!ArZ#O!Ar#O#P!B[#P#Q!@c#Q;'S!Ar;'S;=`!Bk<%lO!Ar7`!B_SOY!ArZ;'S!Ar;'S;=`!Bk<%lO!Ar7`!BnP;=`<%l!Ar7`!BtSOY!@cZ;'S!@c;'S;=`!CQ<%lO!@c7`!CTP;=`<%l!@c^!Ezl$i&j(Z!b!X7`OY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#W&}#W#X!Eq#X#Z&}#Z#[!Eq#[#]&}#]#^!Eq#^#a&}#a#b!Eq#b#g&}#g#h!Eq#h#i&}#i#j!Eq#j#k!Eq#k#m&}#m#n!Eq#n#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}8r!GyZ(Z!b!X7`OY!GrZw!Grwx!@cx!P!Gr!P!Q!Hl!Q!}!Gr!}#O!JU#O#P!Bq#P;'S!Gr;'S;=`!J|<%lO!Gr8r!Hse(Z!b!X7`OY'}Zw'}x#O'}#P#W'}#W#X!Hl#X#Z'}#Z#[!Hl#[#]'}#]#^!Hl#^#a'}#a#b!Hl#b#g'}#g#h!Hl#h#i'}#i#j!Hl#j#k!Hl#k#m'}#m#n!Hl#n;'S'};'S;=`(f<%lO'}8r!JZX(Z!bOY!JUZw!JUwx!Arx#O!JU#O#P!B[#P#Q!Gr#Q;'S!JU;'S;=`!Jv<%lO!JU8r!JyP;=`<%l!JU8r!KPP;=`<%l!Gr>^!KZ^$i&j(Z!bOY!KSYZ&cZw!KSwx!CWx!^!KS!^!_!JU!_#O!KS#O#P!DR#P#Q!^!LYP;=`<%l!KS>^!L`P;=`<%l!_#c#d#Bq#d#l%Z#l#m#Es#m#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#>j_$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#?rd$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!R#AQ!R!S#AQ!S!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#AQ#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#A]f$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!R#AQ!R!S#AQ!S!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#AQ#S#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#Bzc$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!Y#DV!Y!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#DV#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#Dbe$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!Y#DV!Y!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#DV#S#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#E|g$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![#Ge![!^%Z!^!_*g!_!c%Z!c!i#Ge!i#O%Z#O#P&c#P#R%Z#R#S#Ge#S#T%Z#T#Z#Ge#Z#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#Gpi$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![#Ge![!^%Z!^!_*g!_!c%Z!c!i#Ge!i#O%Z#O#P&c#P#R%Z#R#S#Ge#S#T%Z#T#Z#Ge#Z#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z*)x#Il_!g$b$i&j$O)Lv(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z)[#Jv_al$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z04f#LS^h#)`#R-v$?V_!^(CdvBr$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z?O$@a_!q7`$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z07[$Aq|$i&j(Wp(Z!b'|0/l$]#t(T,2j(e$I[OX%ZXY+gYZ&cZ[+g[p%Zpq+gqr%Zrs&}st%ZtuEruw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Er![!^%Z!^!_*g!_!c%Z!c!}Er!}#O%Z#O#P&c#P#R%Z#R#SEr#S#T%Z#T#oEr#o#p*g#p$f%Z$f$g+g$g#BYEr#BY#BZ$A`#BZ$ISEr$IS$I_$A`$I_$JTEr$JT$JU$A`$JU$KVEr$KV$KW$A`$KW&FUEr&FU&FV$A`&FV;'SEr;'S;=`I|<%l?HTEr?HT?HU$A`?HUOEr07[$D|k$i&j(Wp(Z!b'}0/l$]#t(T,2j(e$I[OY%ZYZ&cZr%Zrs&}st%ZtuEruw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Er![!^%Z!^!_*g!_!c%Z!c!}Er!}#O%Z#O#P&c#P#R%Z#R#SEr#S#T%Z#T#oEr#o#p*g#p$g%Z$g;'SEr;'S;=`I|<%lOEr",tokenizers:[Jk,e1,t1,i1,2,3,4,5,6,7,8,9,10,11,12,13,14,Kk,new Qi("$S~RRtu[#O#Pg#S#T#|~_P#o#pb~gOx~~jVO#i!P#i#j!U#j#l!P#l#m!q#m;'S!P;'S;=`#v<%lO!P~!UO!U~~!XS!Q![!e!c!i!e#T#Z!e#o#p#Z~!hR!Q![!q!c!i!q#T#Z!q~!tR!Q![!}!c!i!}#T#Z!}~#QR!Q![!P!c!i!P#T#Z!P~#^R!Q![#g!c!i#g#T#Z#g~#jS!Q![#g!c!i#g#T#Z#g#q#r!P~#yP;=`<%l!P~$RO(c~~",141,340),new Qi("j~RQYZXz{^~^O(Q~~aP!P!Qd~iO(R~~",25,323)],topRules:{Script:[0,7],SingleExpression:[1,276],SingleClassItem:[2,277]},dialects:{jsx:0,ts:15175},dynamicPrecedences:{80:1,82:1,94:1,169:1,199:1},specialized:[{term:327,get:i=>r1[i]||-1},{term:343,get:i=>s1[i]||-1},{term:95,get:i=>o1[i]||-1}],tokenPrec:15201});var zp=[ce("function ${name}(${params}) {\n ${}\n}",{label:"function",detail:"definition",type:"keyword"}),ce("for (let ${index} = 0; ${index} < ${bound}; ${index}++) {\n ${}\n}",{label:"for",detail:"loop",type:"keyword"}),ce("for (let ${name} of ${collection}) {\n ${}\n}",{label:"for",detail:"of loop",type:"keyword"}),ce("do {\n ${}\n} while (${})",{label:"do",detail:"loop",type:"keyword"}),ce("while (${}) {\n ${}\n}",{label:"while",detail:"loop",type:"keyword"}),ce(`try { +`);n=r<0?t:t.slice(0,r)}return e+n.length>this.to?n.slice(0,this.to-e):n}prevLineEnd(){return this.atEnd?this.lineStart:this.lineStart-1}startContext(e,t,n=0){this.block=Fs.create(e,n,this.lineStart+t,this.block.hash,this.lineStart+this.line.text.length),this.stack.push(this.block)}startComposite(e,t,n=0){this.startContext(this.parser.getNodeType(e),t,n)}addNode(e,t,n){typeof e=="number"&&(e=new F(this.parser.nodeSet.types[e],Pn,Pn,(n??this.prevLineEnd())-t)),this.block.addChild(e,t-this.block.from)}addElement(e){this.block.addChild(e.toTree(this.parser.nodeSet),e.from-this.block.from)}addLeafElement(e,t){this.addNode(this.buffer.writeElements(tc(t.children,e.marks),-t.from).finish(t.type,t.to-t.from),t.from)}finishContext(){let e=this.stack.pop(),t=this.stack[this.stack.length-1];t.addChild(e.toTree(this.parser.nodeSet),e.from-t.from),this.block=t}finish(){for(;this.stack.length>1;)this.finishContext();return this.addGaps(this.block.toTree(this.parser.nodeSet,this.lineStart))}addGaps(e){return this.ranges.length>1?qd(this.ranges,0,e.topNode,this.ranges[0].from,this.reusePlaceholders):e}finishLeaf(e){for(let n of e.parsers)if(n.finish(this,e))return;let t=tc(this.parser.parseInline(e.content,e.start),e.marks);this.addNode(this.buffer.writeElements(t,-e.start).finish(A.Paragraph,e.content.length),e.start)}elt(e,t,n,r){return typeof e=="string"?ne(this.parser.getNodeType(e),t,n,r):new Ks(e,t)}get buffer(){return new Hs(this.parser.nodeSet)}};function qd(i,e,t,n,r){let s=i[e].to,o=[],a=[],l=t.from+n;function c(h,f){for(;f?h>=s:h>s;){let u=i[e+1].from-s;n+=u,h+=u,e++,s=i[e].to}}for(let h=t.firstChild;h;h=h.nextSibling){c(h.from+n,!0);let f=h.from+n,u,O=r.get(h.tree);O?u=O:h.to+n>s?(u=qd(i,e,h,n,r),c(h.to+n,!1)):u=h.toTree(),o.push(u),a.push(f-l)}return c(t.to+n,!1),new F(t.type,o,a,t.to+n-l,t.tree?t.tree.propValues:void 0)}var Sr=class i extends Dt{constructor(e,t,n,r,s,o,a,l,c){super(),this.nodeSet=e,this.blockParsers=t,this.leafBlockParsers=n,this.blockNames=r,this.endLeafBlock=s,this.skipContextMarkup=o,this.inlineParsers=a,this.inlineNames=l,this.wrappers=c,this.nodeTypes=Object.create(null);for(let h of e.types)this.nodeTypes[h.name]=h.id}createParse(e,t,n){let r=new Jl(this,e,t,n);for(let s of this.wrappers)r=s(r,e,t,n);return r}configure(e){let t=ec(e);if(!t)return this;let{nodeSet:n,skipContextMarkup:r}=this,s=this.blockParsers.slice(),o=this.leafBlockParsers.slice(),a=this.blockNames.slice(),l=this.inlineParsers.slice(),c=this.inlineNames.slice(),h=this.endLeafBlock.slice(),f=this.wrappers;if(gr(t.defineNodes)){r=Object.assign({},r);let u=n.types.slice(),O;for(let p of t.defineNodes){let{name:m,block:b,composite:g,style:Q}=typeof p=="string"?{name:p}:p;if(u.some(v=>v.name==m))continue;g&&(r[u.length]=(v,$,R)=>g($,R,v.value));let S=u.length,x=g?["Block","BlockContext"]:b?S>=A.ATXHeading1&&S<=A.SetextHeading2?["Block","LeafBlock","Heading"]:["Block","LeafBlock"]:void 0;u.push(Oe.define({id:S,name:m,props:x&&[[I.group,x]]})),Q&&(O||(O={}),Array.isArray(Q)||Q instanceof Ke?O[m]=Q:Object.assign(O,Q))}n=new jt(u),O&&(n=n.extend(Qe(O)))}if(gr(t.props)&&(n=n.extend(...t.props)),gr(t.remove))for(let u of t.remove){let O=this.blockNames.indexOf(u),p=this.inlineNames.indexOf(u);O>-1&&(s[O]=o[O]=void 0),p>-1&&(l[p]=void 0)}if(gr(t.parseBlock))for(let u of t.parseBlock){let O=a.indexOf(u.name);if(O>-1)s[O]=u.parse,o[O]=u.leaf;else{let p=u.before?Ns(a,u.before):u.after?Ns(a,u.after)+1:a.length-1;s.splice(p,0,u.parse),o.splice(p,0,u.leaf),a.splice(p,0,u.name)}u.endLeaf&&h.push(u.endLeaf)}if(gr(t.parseInline))for(let u of t.parseInline){let O=c.indexOf(u.name);if(O>-1)l[O]=u.parse;else{let p=u.before?Ns(c,u.before):u.after?Ns(c,u.after)+1:c.length-1;l.splice(p,0,u.parse),c.splice(p,0,u.name)}}return t.wrap&&(f=f.concat(t.wrap)),new i(n,s,o,a,h,r,l,c,f)}getNodeType(e){let t=this.nodeTypes[e];if(t==null)throw new RangeError(`Unknown node type '${e}'`);return t}parseInline(e,t){let n=new kr(this,e,t);e:for(let r=t;r=0){r=a;continue e}}r++}return n.resolveMarkers(0)}};function gr(i){return i!=null&&i.length>0}function ec(i){if(!Array.isArray(i))return i;if(i.length==0)return null;let e=ec(i[0]);if(i.length==1)return e;let t=ec(i.slice(1));if(!t||!e)return e||t;let n=(o,a)=>(o||Pn).concat(a||Pn),r=e.wrap,s=t.wrap;return{props:n(e.props,t.props),defineNodes:n(e.defineNodes,t.defineNodes),parseBlock:n(e.parseBlock,t.parseBlock),parseInline:n(e.parseInline,t.parseInline),remove:n(e.remove,t.remove),wrap:r?s?(o,a,l,c)=>r(s(o,a,l,c),a,l,c):r:s}}function Ns(i,e){let t=i.indexOf(e);if(t<0)throw new RangeError(`Position specified relative to unknown parser ${e}`);return t}var zd=[Oe.none];for(let i=1,e;e=A[i];i++)zd[i]=Oe.define({id:i,name:e,props:i>=A.Escape?[]:[[I.group,i in vd?["Block","BlockContext"]:["Block","LeafBlock"]]],top:e=="Document"});var Pn=[],Hs=class{constructor(e){this.nodeSet=e,this.content=[],this.nodes=[]}write(e,t,n,r=0){return this.content.push(e,t,n,4+r*4),this}writeElements(e,t=0){for(let n of e)n.writeTo(this,t);return this}finish(e,t){return F.build({buffer:this.content,nodeSet:this.nodeSet,reused:this.nodes,topID:e,length:t})}},Ii=class{constructor(e,t,n,r=Pn){this.type=e,this.from=t,this.to=n,this.children=r}writeTo(e,t){let n=e.content.length;e.writeElements(this.children,t),e.content.push(this.type,this.from+t,this.to+t,e.content.length+4-n)}toTree(e){return new Hs(e).writeElements(this.children,-this.from).finish(this.type,this.to-this.from)}},Ks=class{constructor(e,t){this.tree=e,this.from=t}get to(){return this.from+this.tree.length}get type(){return this.tree.type.id}get children(){return Pn}writeTo(e,t){e.nodes.push(this.tree),e.content.push(e.nodes.length-1,this.from+t,this.to+t,-1)}toTree(){return this.tree}};function ne(i,e,t,n){return new Ii(i,e,t,n)}var Ld={resolve:"Emphasis",mark:"EmphasisMark"},Md={resolve:"Emphasis",mark:"EmphasisMark"},Yi={},Js={},We=class{constructor(e,t,n,r){this.type=e,this.from=t,this.to=n,this.side=r}},Qd="!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~",yr=/[!"#$%&'()*+,\-.\/:;<=>?@\[\\\]^_`{|}~\xA1\u2010-\u2027]/;try{yr=new RegExp("[\\p{S}|\\p{P}]","u")}catch{}var Bl={Escape(i,e,t){if(e!=92||t==i.end-1)return-1;let n=i.char(t+1);for(let r=0;r]+|[a-z\d.!#$%&'*+/=?^_`{|}~-]+@[a-z\d](?:[a-z\d-]{0,61}[a-z\d])?(?:\.[a-z\d](?:[a-z\d-]{0,61}[a-z\d])?)*)>/i.exec(n);if(r)return i.append(ne(A.Autolink,t,t+1+r[0].length,[ne(A.LinkMark,t,t+1),ne(A.URL,t+1,t+r[0].length),ne(A.LinkMark,t+r[0].length,t+1+r[0].length)]));let s=/^!--[^>](?:-[^-]|[^-])*?-->/i.exec(n);if(s)return i.append(ne(A.Comment,t,t+1+s[0].length));let o=/^\?[^]*?\?>/.exec(n);if(o)return i.append(ne(A.ProcessingInstruction,t,t+1+o[0].length));let a=/^(?:![A-Z][^]*?>|!\[CDATA\[[^]*?\]\]>|\/\s*[a-zA-Z][\w-]*\s*>|\s*[a-zA-Z][\w-]*(\s+[a-zA-Z:_][\w-.:]*(?:\s*=\s*(?:[^\s"'=<>`]+|'[^']*'|"[^"]*"))?)*\s*(\/\s*)?>)/.exec(n);return a?i.append(ne(A.HTMLTag,t,t+1+a[0].length)):-1},Emphasis(i,e,t){if(e!=95&&e!=42)return-1;let n=t+1;for(;i.char(n)==e;)n++;let r=i.slice(t-1,t),s=i.slice(n,n+1),o=yr.test(r),a=yr.test(s),l=/\s|^$/.test(r),c=/\s|^$/.test(s),h=!c&&(!a||l||o),f=!l&&(!o||c||a),u=h&&(e==42||!f||o),O=f&&(e==42||!h||a);return i.append(new We(e==95?Ld:Md,t,n,(u?1:0)|(O?2:0)))},HardBreak(i,e,t){if(e==92&&i.char(t+1)==10)return i.append(ne(A.HardBreak,t,t+2));if(e==32){let n=t+1;for(;i.char(n)==32;)n++;if(i.char(n)==10&&n>=t+2)return i.append(ne(A.HardBreak,t,n+1))}return-1},Link(i,e,t){return e==91?i.append(new We(Yi,t,t+1,1)):-1},Image(i,e,t){return e==33&&i.char(t+1)==91?i.append(new We(Js,t,t+2,1)):-1},LinkEnd(i,e,t){if(e!=93)return-1;for(let n=i.parts.length-1;n>=0;n--){let r=i.parts[n];if(r instanceof We&&(r.type==Yi||r.type==Js)){if(!r.side||i.skipSpace(r.to)==t&&!/[(\[]/.test(i.slice(t+1,t+2)))return i.parts[n]=null,-1;let s=i.takeContent(n),o=i.parts[n]=iy(i,s,r.type==Yi?A.Link:A.Image,r.from,t+1);if(r.type==Yi)for(let a=0;ae?ne(A.URL,e+t,s+t):s==i.length?null:!1}}function jd(i,e,t){let n=i.charCodeAt(e);if(n!=39&&n!=34&&n!=40)return!1;let r=n==40?41:n;for(let s=e+1,o=!1;s=this.end?-1:this.text.charCodeAt(e-this.offset)}get end(){return this.offset+this.text.length}slice(e,t){return this.text.slice(e-this.offset,t-this.offset)}append(e){return this.parts.push(e),e.to}addDelimiter(e,t,n,r,s){return this.append(new We(e,t,n,(r?1:0)|(s?2:0)))}get hasOpenLink(){for(let e=this.parts.length-1;e>=0;e--){let t=this.parts[e];if(t instanceof We&&(t.type==Yi||t.type==Js))return!0}return!1}addElement(e){return this.append(e)}resolveMarkers(e){for(let n=e;n=e;l--){let m=this.parts[l];if(m instanceof We&&m.side&1&&m.type==r.type&&!(s&&(r.side&1||m.side&2)&&(m.to-m.from+o)%3==0&&((m.to-m.from)%3||o%3))){a=m;break}}if(!a)continue;let c=r.type.resolve,h=[],f=a.from,u=r.to;if(s){let m=Math.min(2,a.to-a.from,o);f=a.to-m,u=r.from+m,c=m==1?"Emphasis":"StrongEmphasis"}a.type.mark&&h.push(this.elt(a.type.mark,f,a.to));for(let m=l+1;m=0;t--){let n=this.parts[t];if(n instanceof We&&n.type==e&&n.side&1)return t}return null}takeContent(e){let t=this.resolveMarkers(e);return this.parts.length=e,t}getDelimiterAt(e){let t=this.parts[e];return t instanceof We?t:null}skipSpace(e){return Qr(this.text,e-this.offset)+this.offset}elt(e,t,n,r){return typeof e=="string"?ne(this.parser.getNodeType(e),t,n,r):new Ks(e,t)}};kr.linkStart=Yi;kr.imageStart=Js;function tc(i,e){if(!e.length)return i;if(!i.length)return e;let t=i.slice(),n=0;for(let r of e){for(;n(e?e-1:0))return!1;if(this.fragmentEnd<0){let s=this.fragment.to;for(;s>0&&this.input.read(s-1,s)!=` +`;)s--;this.fragmentEnd=s?s-1:0}let n=this.cursor;n||(n=this.cursor=this.fragment.tree.cursor(),n.firstChild());let r=e+this.fragment.offset;for(;n.to<=r;)if(!n.parent())return!1;for(;;){if(n.from>=r)return this.fragment.from<=t;if(!n.childAfter(r))return!1}}matches(e){let t=this.cursor.tree;return t&&t.prop(I.contextHash)==e}takeNodes(e){let t=this.cursor,n=this.fragment.offset,r=this.fragmentEnd-(this.fragment.openEnd?1:0),s=e.absoluteLineStart,o=s,a=e.block.children.length,l=o,c=a;for(;;){if(t.to-n>r){if(t.type.isAnonymous&&t.firstChild())continue;break}let h=Dd(t.from-n,e.ranges);if(t.to-n<=e.ranges[e.rangeI].to)e.addNode(t.tree,h);else{let f=new F(e.parser.nodeSet.types[A.Paragraph],[],[],0,e.block.hashProp);e.reusePlaceholders.set(f,t.tree),e.addNode(f,h)}if(t.type.is("Block")&&(ny.indexOf(t.type.id)<0?(o=t.to-n,a=e.block.children.length):(o=l,a=c),l=t.to-n,c=e.block.children.length),!t.nextSibling())break}for(;e.block.children.length>a;)e.block.children.pop(),e.block.positions.pop();return o-s}};function Dd(i,e){let t=i;for(let n=1;nGs[i]),Object.keys(Gs).map(i=>Ed[i]),Object.keys(Gs),ey,vd,Object.keys(Bl).map(i=>Bl[i]),Object.keys(Bl),[]);function sy(i,e,t){let n=[];for(let r=i.firstChild,s=e;;r=r.nextSibling){let o=r?r.from:t;if(o>s&&n.push({from:s,to:o}),!r)break;s=r.to}return n}function Id(i){let{codeParser:e,htmlParser:t}=i;return{wrap:bn((r,s)=>{let o=r.type.id;if(e&&(o==A.CodeBlock||o==A.FencedCode)){let a="";if(o==A.FencedCode){let c=r.node.getChild(A.CodeInfo);c&&(a=s.read(c.from,c.to))}let l=e(a);if(l)return{parser:l,overlay:c=>c.type.id==A.CodeText,bracketed:o==A.FencedCode}}else if(t&&(o==A.HTMLBlock||o==A.HTMLTag||o==A.CommentBlock))return{parser:t,overlay:sy(r.node,r.from,r.to)};return null})}}var oy={resolve:"Strikethrough",mark:"StrikethroughMark"},ay={defineNodes:[{name:"Strikethrough",style:{"Strikethrough/...":d.strikethrough}},{name:"StrikethroughMark",style:d.processingInstruction}],parseInline:[{name:"Strikethrough",parse(i,e,t){if(e!=126||i.char(t+1)!=126||i.char(t+2)==126)return-1;let n=i.slice(t-1,t),r=i.slice(t+2,t+3),s=/\s|^$/.test(n),o=/\s|^$/.test(r),a=yr.test(n),l=yr.test(r);return i.addDelimiter(oy,t,t+2,!o&&(!l||s||a),!s&&(!a||o||l))},after:"Emphasis"}]};function br(i,e,t=0,n,r=0){let s=0,o=!0,a=-1,l=-1,c=!1,h=()=>{n.push(i.elt("TableCell",r+a,r+l,i.parser.parseInline(e.slice(a,l),r+a)))};for(let f=t;f-1)&&s++,o=!1,n&&(a>-1&&h(),n.push(i.elt("TableDelimiter",f+r,f+r+1))),a=l=-1):(c||u!=32&&u!=9)&&(a<0&&(a=f),l=f+1),c=!c&&u==92}return a>-1&&(s++,n&&h()),s}function bd(i,e){for(let t=e;t\s]*\|?(\s*:?-+:?\s*\|)+(\s*:?-+:?\s*)?$/,eo=class{constructor(){this.rows=null}nextLine(e,t,n){if(this.rows==null){this.rows=!1;let r;if((t.next==45||t.next==58||t.next==124)&&Bd.test(r=t.text.slice(t.pos))){let s=[];br(e,n.content,0,s,n.start)==br(e,r,0)&&(this.rows=[e.elt("TableHeader",n.start,n.start+n.content.length,s),e.elt("TableDelimiter",e.lineStart+t.pos,e.lineStart+t.text.length)])}}else if(this.rows){let r=[];br(e,t.text,t.pos,r,e.lineStart),this.rows.push(e.elt("TableRow",e.lineStart+t.pos,e.lineStart+t.text.length,r))}return!1}finish(e,t){return this.rows?(e.addLeafElement(t,e.elt("Table",t.start,t.start+t.content.length,this.rows)),!0):!1}},ly={defineNodes:[{name:"Table",block:!0},{name:"TableHeader",style:{"TableHeader/...":d.heading}},"TableRow",{name:"TableCell",style:d.content},{name:"TableDelimiter",style:d.processingInstruction}],parseBlock:[{name:"Table",leaf(i,e){return bd(e.content,0)?new eo:null},endLeaf(i,e,t){if(t.parsers.some(r=>r instanceof eo)||!bd(e.text,e.basePos))return!1;let n=i.peekLine();return Bd.test(n)&&br(i,e.text,e.basePos)==br(i,n,e.basePos)},before:"SetextHeading"}]},nc=class{nextLine(){return!1}finish(e,t){return e.addLeafElement(t,e.elt("Task",t.start,t.start+t.content.length,[e.elt("TaskMarker",t.start,t.start+3),...e.parser.parseInline(t.content.slice(3),t.start+3)])),!0}},cy={defineNodes:[{name:"Task",block:!0,style:d.list},{name:"TaskMarker",style:d.atom}],parseBlock:[{name:"TaskList",leaf(i,e){return/^\[[ xX]\][ \t]/.test(e.content)&&i.parentType().name=="ListItem"?new nc:null},after:"SetextHeading"}]},Sd=/(www\.)|(https?:\/\/)|([\w.+-]{1,100}@)|(mailto:|xmpp:)/gy,yd=/[\w-]+(\.[\w-]+)+(:\d+)?(\/[^\s<]*)?/gy,hy=/[\w-]+\.[\w-]+($|[/:])/,kd=/[\w.+-]+@[\w-]+(\.[\w.-]+)+/gy,xd=/\/[a-zA-Z\d@.]+/gy;function wd(i,e,t,n){let r=0;for(let s=e;s-1)return-1;let n=e+t[0].length;for(;;){let r=i[n-1],s;if(/[?!.,:*_~]/.test(r)||r==")"&&wd(i,e,n,")")>wd(i,e,n,"("))n--;else if(r==";"&&(s=/&(?:#\d+|#x[a-f\d]+|\w+);$/.exec(i.slice(e,n))))n=e+s.index;else break}return n}function Pd(i,e){kd.lastIndex=e;let t=kd.exec(i);if(!t)return-1;let n=t[0][t[0].length-1];return n=="_"||n=="-"?-1:e+t[0].length-(n=="."?1:0)}var uy={parseInline:[{name:"Autolink",parse(i,e,t){let n=t-i.offset;if(n&&/\w/.test(i.text[n-1]))return-1;Sd.lastIndex=n;let r=Sd.exec(i.text),s=-1;if(!r)return-1;if(r[1]||r[2]){if(s=fy(i.text,n+r[0].length),s>-1&&i.hasOpenLink){let o=/([^\[\]]|\[[^\]]*\])*/.exec(i.text.slice(n,s));s=n+o[0].length}}else r[3]?s=Pd(i.text,n):(s=Pd(i.text,n+r[0].length),s>-1&&r[0]=="xmpp:"&&(xd.lastIndex=s,r=xd.exec(i.text),r&&(s=r.index+r[0].length)));return s<0?-1:(i.addElement(i.elt("URL",t,s+i.offset)),s+i.offset)}}]},Ud=[ly,cy,ay,uy];function Gd(i,e,t){return(n,r,s)=>{if(r!=i||n.char(s+1)==i)return-1;let o=[n.elt(t,s,s+1)];for(let a=s+1;at%3==0).concat(this.state)}]@${this.pos}${this.score?"!"+this.score:""}`}static start(e,t,n=0){let r=e.parser.context;return new i(e,[],t,n,n,0,[],0,r?new to(r,r.start):null,0,null)}get context(){return this.curContext?this.curContext.context:null}pushState(e,t){this.stack.push(this.state,t,this.bufferBase+this.buffer.length),this.state=e}reduce(e){var t;let n=e>>19,r=e&65535,{parser:s}=this.p,o=this.reducePos=2e3&&!(!((t=this.p.parser.nodeSet.types[r])===null||t===void 0)&&t.isAnonymous)&&(c==this.p.lastBigReductionStart?(this.p.bigReductionCount++,this.p.lastBigReductionSize=h):this.p.lastBigReductionSizel;)this.stack.pop();this.reduceContext(r,c)}storeNode(e,t,n,r=4,s=!1){if(e==0&&(!this.stack.length||this.stack[this.stack.length-1]0&&this.buffer[o-4]==0&&this.buffer[o-1]>-1){if(t==n)return;if(this.buffer[o-2]>=t){this.buffer[o-2]=n;return}}}if(!s||this.pos==n)this.buffer.push(e,t,n,r);else{let o=this.buffer.length;if(o>0&&(this.buffer[o-4]!=0||this.buffer[o-1]<0)){let a=!1;for(let l=o;l>0&&this.buffer[l-2]>n;l-=4)if(this.buffer[l-1]>=0){a=!0;break}if(a)for(;o>0&&this.buffer[o-2]>n;)this.buffer[o]=this.buffer[o-4],this.buffer[o+1]=this.buffer[o-3],this.buffer[o+2]=this.buffer[o-2],this.buffer[o+3]=this.buffer[o-1],o-=4,r>4&&(r-=4)}this.buffer[o]=e,this.buffer[o+1]=t,this.buffer[o+2]=n,this.buffer[o+3]=r}}shift(e,t,n,r){if(e&131072)this.pushState(e&65535,this.pos);else if((e&262144)==0){let s=e,{parser:o}=this.p;this.pos=r;let a=o.stateFlag(s,1);!a&&(r>n||t<=o.maxNode)&&(this.reducePos=r),this.pushState(s,a?n:Math.min(n,this.reducePos)),this.shiftContext(t,n),t<=o.maxNode&&this.buffer.push(t,n,r,4)}else this.pos=r,this.shiftContext(t,n),t<=this.p.parser.maxNode&&this.buffer.push(t,n,r,4)}apply(e,t,n,r){e&65536?this.reduce(e):this.shift(e,t,n,r)}useNode(e,t){let n=this.p.reused.length-1;(n<0||this.p.reused[n]!=e)&&(this.p.reused.push(e),n++);let r=this.pos;this.reducePos=this.pos=r+e.length,this.pushState(t,r),this.buffer.push(n,r,this.reducePos,-1),this.curContext&&this.updateContext(this.curContext.tracker.reuse(this.curContext.context,e,this,this.p.stream.reset(this.pos-e.length)))}split(){let e=this,t=e.buffer.length;for(t&&e.buffer[t-4]==0&&(t-=4);t>0&&e.buffer[t-2]>e.reducePos;)t-=4;let n=e.buffer.slice(t),r=e.bufferBase+t;for(;e&&r==e.bufferBase;)e=e.parent;return new i(this.p,this.stack.slice(),this.state,this.reducePos,this.pos,this.score,n,r,this.curContext,this.lookAhead,e)}recoverByDelete(e,t){let n=e<=this.p.parser.maxNode;n&&this.storeNode(e,this.pos,t,4),this.storeNode(0,this.pos,t,n?8:4),this.pos=this.reducePos=t,this.score-=190}canShift(e){for(let t=new hc(this);;){let n=this.p.parser.stateSlot(t.state,4)||this.p.parser.hasAction(t.state,e);if(n==0)return!1;if((n&65536)==0)return!0;t.reduce(n)}}recoverByInsert(e){if(this.stack.length>=300)return[];let t=this.p.parser.nextStates(this.state);if(t.length>8||this.stack.length>=120){let r=[];for(let s=0,o;sl&1&&a==o)||r.push(t[s],o)}t=r}let n=[];for(let r=0;r>19,r=t&65535,s=this.stack.length-n*3;if(s<0||e.getGoto(this.stack[s],r,!1)<0){let o=this.findForcedReduction();if(o==null)return!1;t=o}this.storeNode(0,this.pos,this.pos,4,!0),this.score-=100}return this.reducePos=this.pos,this.reduce(t),!0}findForcedReduction(){let{parser:e}=this.p,t=[],n=(r,s)=>{if(!t.includes(r))return t.push(r),e.allActions(r,o=>{if(!(o&393216))if(o&65536){let a=(o>>19)-s;if(a>1){let l=o&65535,c=this.stack.length-a*3;if(c>=0&&e.getGoto(this.stack[c],l,!1)>=0)return a<<19|65536|l}}else{let a=n(o,s+1);if(a!=null)return a}})};return n(this.state,0)}forceAll(){for(;!this.p.parser.stateFlag(this.state,2);)if(!this.forceReduce()){this.storeNode(0,this.pos,this.pos,4,!0);break}return this}get deadEnd(){if(this.stack.length!=3)return!1;let{parser:e}=this.p;return e.data[e.stateSlot(this.state,1)]==65535&&!e.stateSlot(this.state,4)}restart(){this.storeNode(0,this.pos,this.pos,4,!0),this.state=this.stack[0],this.stack.length=0}sameState(e){if(this.state!=e.state||this.stack.length!=e.stack.length)return!1;for(let t=0;t0&&this.emitLookAhead()}},to=class{constructor(e,t){this.tracker=e,this.context=t,this.hash=e.strict?e.hash(t):0}},hc=class{constructor(e){this.start=e,this.state=e.state,this.stack=e.stack,this.base=this.stack.length}reduce(e){let t=e&65535,n=e>>19;n==0?(this.stack==this.start.stack&&(this.stack=this.stack.slice()),this.stack.push(this.state,0,0),this.base+=3):this.base-=(n-1)*3;let r=this.start.p.parser.getGoto(this.stack[this.base-3],t,!0);this.state=r}},fc=class i{constructor(e,t,n){this.stack=e,this.pos=t,this.index=n,this.buffer=e.buffer,this.index==0&&this.maybeNext()}static create(e,t=e.bufferBase+e.buffer.length){return new i(e,t,t-e.bufferBase)}maybeNext(){let e=this.stack.parent;e!=null&&(this.index=this.stack.bufferBase-e.bufferBase,this.stack=e,this.buffer=e.buffer)}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}next(){this.index-=4,this.pos-=4,this.index==0&&this.maybeNext()}fork(){return new i(this.stack,this.pos,this.index)}};function xr(i,e=Uint16Array){if(typeof i!="string")return i;let t=null;for(let n=0,r=0;n=92&&o--,o>=34&&o--;let l=o-32;if(l>=46&&(l-=46,a=!0),s+=l,a)break;s*=46}t?t[r++]=s:t=new e(s)}return t}var vn=class{constructor(){this.start=-1,this.value=-1,this.end=-1,this.extended=-1,this.lookAhead=0,this.mask=0,this.context=0}},Kd=new vn,uc=class{constructor(e,t){this.input=e,this.ranges=t,this.chunk="",this.chunkOff=0,this.chunk2="",this.chunk2Pos=0,this.next=-1,this.token=Kd,this.rangeIndex=0,this.pos=this.chunkPos=t[0].from,this.range=t[0],this.end=t[t.length-1].to,this.readNext()}resolveOffset(e,t){let n=this.range,r=this.rangeIndex,s=this.pos+e;for(;sn.to:s>=n.to;){if(r==this.ranges.length-1)return null;let o=this.ranges[++r];s+=o.from-n.to,n=o}return s}clipPos(e){if(e>=this.range.from&&ee)return Math.max(e,t.from);return this.end}peek(e){let t=this.chunkOff+e,n,r;if(t>=0&&t=this.chunk2Pos&&na.to&&(this.chunk2=this.chunk2.slice(0,a.to-n)),r=this.chunk2.charCodeAt(0)}}return n>=this.token.lookAhead&&(this.token.lookAhead=n+1),r}acceptToken(e,t=0){let n=t?this.resolveOffset(t,-1):this.pos;if(n==null||n=this.chunk2Pos&&this.posthis.range.to?e.slice(0,this.range.to-this.pos):e,this.chunkPos=this.pos,this.chunkOff=0}}readNext(){return this.chunkOff>=this.chunk.length&&(this.getChunk(),this.chunkOff==this.chunk.length)?this.next=-1:this.next=this.chunk.charCodeAt(this.chunkOff)}advance(e=1){for(this.chunkOff+=e;this.pos+e>=this.range.to;){if(this.rangeIndex==this.ranges.length-1)return this.setDone();e-=this.range.to-this.pos,this.range=this.ranges[++this.rangeIndex],this.pos=this.range.from}return this.pos+=e,this.pos>=this.token.lookAhead&&(this.token.lookAhead=this.pos+1),this.readNext()}setDone(){return this.pos=this.chunkPos=this.end,this.range=this.ranges[this.rangeIndex=this.ranges.length-1],this.chunk="",this.next=-1}reset(e,t){if(t?(this.token=t,t.start=e,t.lookAhead=e+1,t.value=t.extended=-1):this.token=Kd,this.pos!=e){if(this.pos=e,e==this.end)return this.setDone(),this;for(;e=this.range.to;)this.range=this.ranges[++this.rangeIndex];e>=this.chunkPos&&e=this.chunkPos&&t<=this.chunkPos+this.chunk.length)return this.chunk.slice(e-this.chunkPos,t-this.chunkPos);if(e>=this.chunk2Pos&&t<=this.chunk2Pos+this.chunk2.length)return this.chunk2.slice(e-this.chunk2Pos,t-this.chunk2Pos);if(e>=this.range.from&&t<=this.range.to)return this.input.read(e,t);let n="";for(let r of this.ranges){if(r.from>=t)break;r.to>e&&(n+=this.input.read(Math.max(r.from,e),Math.min(r.to,t)))}return n}},Qi=class{constructor(e,t){this.data=e,this.id=t}token(e,t){let{parser:n}=t.p;np(this.data,e,t,this.id,n.data,n.tokenPrecTable)}};Qi.prototype.contextual=Qi.prototype.fallback=Qi.prototype.extend=!1;var bi=class{constructor(e,t,n){this.precTable=t,this.elseToken=n,this.data=typeof e=="string"?xr(e):e}token(e,t){let n=e.pos,r=0;for(;;){let s=e.next<0,o=e.resolveOffset(1,1);if(np(this.data,e,t,0,this.data,this.precTable),e.token.value>-1)break;if(this.elseToken==null)return;if(s||r++,o==null)break;e.reset(o,e.token)}r&&(e.reset(n,e.token),e.acceptToken(this.elseToken,r))}};bi.prototype.contextual=Qi.prototype.fallback=Qi.prototype.extend=!1;var J=class{constructor(e,t={}){this.token=e,this.contextual=!!t.contextual,this.fallback=!!t.fallback,this.extend=!!t.extend}};function np(i,e,t,n,r,s){let o=0,a=1<0){let p=i[O];if(l.allows(p)&&(e.token.value==-1||e.token.value==p||dy(p,e.token.value,r,s))){e.acceptToken(p);break}}let h=e.next,f=0,u=i[o+2];if(e.next<0&&u>f&&i[c+u*3-3]==65535){o=i[c+u*3-1];continue e}for(;f>1,p=c+O+(O<<1),m=i[p],b=i[p+1]||65536;if(h=b)f=O+1;else{o=i[p+2],e.advance();continue e}}break}}function Jd(i,e,t){for(let n=e,r;(r=i[n])!=65535;n++)if(r==t)return n-e;return-1}function dy(i,e,t,n){let r=Jd(t,n,e);return r<0||Jd(t,n,i)e)&&!n.type.isError)return t<0?Math.max(0,Math.min(n.to-1,e-25)):Math.min(i.length,Math.max(n.from+1,e+25));if(t<0?n.prevSibling():n.nextSibling())break;if(!n.parent())return t<0?0:i.length}}var Oc=class{constructor(e,t){this.fragments=e,this.nodeSet=t,this.i=0,this.fragment=null,this.safeFrom=-1,this.safeTo=-1,this.trees=[],this.start=[],this.index=[],this.nextFragment()}nextFragment(){let e=this.fragment=this.i==this.fragments.length?null:this.fragments[this.i++];if(e){for(this.safeFrom=e.openStart?ep(e.tree,e.from+e.offset,1)-e.offset:e.from,this.safeTo=e.openEnd?ep(e.tree,e.to+e.offset,-1)-e.offset:e.to;this.trees.length;)this.trees.pop(),this.start.pop(),this.index.pop();this.trees.push(e.tree),this.start.push(-e.offset),this.index.push(0),this.nextStart=this.safeFrom}else this.nextStart=1e9}nodeAt(e){if(ee)return this.nextStart=o,null;if(s instanceof F){if(o==e){if(o=Math.max(this.safeFrom,e)&&(this.trees.push(s),this.start.push(o),this.index.push(0))}else this.index[t]++,this.nextStart=o+s.length}}},dc=class{constructor(e,t){this.stream=t,this.tokens=[],this.mainToken=null,this.actions=[],this.tokens=e.tokenizers.map(n=>new vn)}getActions(e){let t=0,n=null,{parser:r}=e.p,{tokenizers:s}=r,o=r.stateSlot(e.state,3),a=e.curContext?e.curContext.hash:0,l=0;for(let c=0;cf.end+25&&(l=Math.max(f.lookAhead,l)),f.value!=0)){let u=t;if(f.extended>-1&&(t=this.addActions(e,f.extended,f.end,t)),t=this.addActions(e,f.value,f.end,t),!h.extend&&(n=f,t>u))break}}for(;this.actions.length>t;)this.actions.pop();return l&&e.setLookAhead(l),!n&&e.pos==this.stream.end&&(n=new vn,n.value=e.p.parser.eofTerm,n.start=n.end=e.pos,t=this.addActions(e,n.value,n.end,t)),this.mainToken=n,this.actions}getMainToken(e){if(this.mainToken)return this.mainToken;let t=new vn,{pos:n,p:r}=e;return t.start=n,t.end=Math.min(n+1,r.stream.end),t.value=n==r.stream.end?r.parser.eofTerm:0,t}updateCachedToken(e,t,n){let r=this.stream.clipPos(n.pos);if(t.token(this.stream.reset(r,e),n),e.value>-1){let{parser:s}=n.p;for(let o=0;o=0&&n.p.parser.dialect.allows(a>>1)){(a&1)==0?e.value=a>>1:e.extended=a>>1;break}}}else e.value=0,e.end=this.stream.clipPos(r+1)}putAction(e,t,n,r){for(let s=0;se.bufferLength*4?new Oc(n,e.nodeSet):null}get parsedPos(){return this.minStackPos}advance(){let e=this.stacks,t=this.minStackPos,n=this.stacks=[],r,s;if(this.bigReductionCount>300&&e.length==1){let[o]=e;for(;o.forceReduce()&&o.stack.length&&o.stack[o.stack.length-2]>=this.lastBigReductionStart;);this.bigReductionCount=this.lastBigReductionSize=0}for(let o=0;ot)n.push(a);else{if(this.advanceStack(a,n,e))continue;{r||(r=[],s=[]),r.push(a);let l=this.tokens.getMainToken(a);s.push(l.value,l.end)}}break}}if(!n.length){let o=r&&py(r);if(o)return Je&&console.log("Finish with "+this.stackID(o)),this.stackToTree(o);if(this.parser.strict)throw Je&&r&&console.log("Stuck with token "+(this.tokens.mainToken?this.parser.getName(this.tokens.mainToken.value):"none")),new SyntaxError("No parse at "+t);this.recovering||(this.recovering=5)}if(this.recovering&&r){let o=this.stoppedAt!=null&&r[0].pos>this.stoppedAt?r[0]:this.runRecovery(r,s,n);if(o)return Je&&console.log("Force-finish "+this.stackID(o)),this.stackToTree(o.forceAll())}if(this.recovering){let o=this.recovering==1?1:this.recovering*3;if(n.length>o)for(n.sort((a,l)=>l.score-a.score);n.length>o;)n.pop();n.some(a=>a.reducePos>t)&&this.recovering--}else if(n.length>1){e:for(let o=0;o500&&c.buffer.length>500)if((a.score-c.score||a.buffer.length-c.buffer.length)>0)n.splice(l--,1);else{n.splice(o--,1);continue e}}}n.length>12&&(n.sort((o,a)=>a.score-o.score),n.splice(12,n.length-12))}this.minStackPos=n[0].pos;for(let o=1;o ":"";if(this.stoppedAt!=null&&r>this.stoppedAt)return e.forceReduce()?e:null;if(this.fragments){let c=e.curContext&&e.curContext.tracker.strict,h=c?e.curContext.hash:0;for(let f=this.fragments.nodeAt(r);f;){let u=this.parser.nodeSet.types[f.type.id]==f.type?s.getGoto(e.state,f.type.id):-1;if(u>-1&&f.length&&(!c||(f.prop(I.contextHash)||0)==h))return e.useNode(f,u),Je&&console.log(o+this.stackID(e)+` (via reuse of ${s.getName(f.type.id)})`),!0;if(!(f instanceof F)||f.children.length==0||f.positions[0]>0)break;let O=f.children[0];if(O instanceof F&&f.positions[0]==0)f=O;else break}}let a=s.stateSlot(e.state,4);if(a>0)return e.reduce(a),Je&&console.log(o+this.stackID(e)+` (via always-reduce ${s.getName(a&65535)})`),!0;if(e.stack.length>=8400)for(;e.stack.length>6e3&&e.forceReduce(););let l=this.tokens.getActions(e);for(let c=0;cr?t.push(p):n.push(p)}return!1}advanceFully(e,t){let n=e.pos;for(;;){if(!this.advanceStack(e,null,null))return!1;if(e.pos>n)return tp(e,t),!0}}runRecovery(e,t,n){let r=null,s=!1;for(let o=0;o ":"";if(a.deadEnd&&(s||(s=!0,a.restart(),Je&&console.log(h+this.stackID(a)+" (restarted)"),this.advanceFully(a,n))))continue;let f=a.split(),u=h;for(let O=0;O<10&&f.forceReduce()&&(Je&&console.log(u+this.stackID(f)+" (via force-reduce)"),!this.advanceFully(f,n));O++)Je&&(u=this.stackID(f)+" -> ");for(let O of a.recoverByInsert(l))Je&&console.log(h+this.stackID(O)+" (via recover-insert)"),this.advanceFully(O,n);this.stream.end>a.pos?(c==a.pos&&(c++,l=0),a.recoverByDelete(l,c),Je&&console.log(h+this.stackID(a)+` (via recover-delete ${this.parser.getName(l)})`),tp(a,n)):(!r||r.scorei,dt=class{constructor(e){this.start=e.start,this.shift=e.shift||lc,this.reduce=e.reduce||lc,this.reuse=e.reuse||lc,this.hash=e.hash||(()=>0),this.strict=e.strict!==!1}},Pe=class i extends Dt{constructor(e){if(super(),this.wrappers=[],e.version!=14)throw new RangeError(`Parser version (${e.version}) doesn't match runtime version (14)`);let t=e.nodeNames.split(" ");this.minRepeatTerm=t.length;for(let a=0;ae.topRules[a][1]),r=[];for(let a=0;a=0)s(h,l,a[c++]);else{let f=a[c+-h];for(let u=-h;u>0;u--)s(a[c++],l,f);c++}}}this.nodeSet=new jt(t.map((a,l)=>Oe.define({name:l>=this.minRepeatTerm?void 0:a,id:l,props:r[l],top:n.indexOf(l)>-1,error:l==0,skipped:e.skippedNodes&&e.skippedNodes.indexOf(l)>-1}))),e.propSources&&(this.nodeSet=this.nodeSet.extend(...e.propSources)),this.strict=!1,this.bufferLength=1024;let o=xr(e.tokenData);this.context=e.context,this.specializerSpecs=e.specialized||[],this.specialized=new Uint16Array(this.specializerSpecs.length);for(let a=0;atypeof a=="number"?new Qi(o,a):a),this.topRules=e.topRules,this.dialects=e.dialects||{},this.dynamicPrecedences=e.dynamicPrecedences||null,this.tokenPrecTable=e.tokenPrec,this.termNames=e.termNames||null,this.maxNode=this.nodeSet.types.length-1,this.dialect=this.parseDialect(),this.top=this.topRules[Object.keys(this.topRules)[0]]}createParse(e,t,n){let r=new pc(this,e,t,n);for(let s of this.wrappers)r=s(r,e,t,n);return r}getGoto(e,t,n=!1){let r=this.goto;if(t>=r[0])return-1;for(let s=r[t+1];;){let o=r[s++],a=o&1,l=r[s++];if(a&&n)return l;for(let c=s+(o>>1);s0}validAction(e,t){return!!this.allActions(e,n=>n==t?!0:null)}allActions(e,t){let n=this.stateSlot(e,4),r=n?t(n):void 0;for(let s=this.stateSlot(e,1);r==null;s+=3){if(this.data[s]==65535)if(this.data[s+1]==1)s=It(this.data,s+2);else break;r=t(It(this.data,s+1))}return r}nextStates(e){let t=[];for(let n=this.stateSlot(e,1);;n+=3){if(this.data[n]==65535)if(this.data[n+1]==1)n=It(this.data,n+2);else break;if((this.data[n+2]&1)==0){let r=this.data[n+1];t.some((s,o)=>o&1&&s==r)||t.push(this.data[n],r)}}return t}configure(e){let t=Object.assign(Object.create(i.prototype),this);if(e.props&&(t.nodeSet=this.nodeSet.extend(...e.props)),e.top){let n=this.topRules[e.top];if(!n)throw new RangeError(`Invalid top rule name ${e.top}`);t.top=n}return e.tokenizers&&(t.tokenizers=this.tokenizers.map(n=>{let r=e.tokenizers.find(s=>s.from==n);return r?r.to:n})),e.specializers&&(t.specializers=this.specializers.slice(),t.specializerSpecs=this.specializerSpecs.map((n,r)=>{let s=e.specializers.find(a=>a.from==n.external);if(!s)return n;let o=Object.assign(Object.assign({},n),{external:s.to});return t.specializers[r]=ip(o),o})),e.contextTracker&&(t.context=e.contextTracker),e.dialect&&(t.dialect=this.parseDialect(e.dialect)),e.strict!=null&&(t.strict=e.strict),e.wrap&&(t.wrappers=t.wrappers.concat(e.wrap)),e.bufferLength!=null&&(t.bufferLength=e.bufferLength),t}hasWrappers(){return this.wrappers.length>0}getName(e){return this.termNames?this.termNames[e]:String(e<=this.maxNode&&this.nodeSet.types[e].name||e)}get eofTerm(){return this.maxNode+1}get topNode(){return this.nodeSet.types[this.top[1]]}dynamicPrecedence(e){let t=this.dynamicPrecedences;return t==null?0:t[e]||0}parseDialect(e){let t=Object.keys(this.dialects),n=t.map(()=>!1);if(e)for(let s of e.split(" ")){let o=t.indexOf(s);o>=0&&(n[o]=!0)}let r=null;for(let s=0;sn)&&t.p.parser.stateFlag(t.state,2)&&(!e||e.scorei.external(t,n)<<1|e}return i.get}var my=55,gy=1,Qy=56,by=2,Sy=57,yy=3,rp=4,ky=5,yc=6,up=7,Op=8,dp=9,pp=10,xy=11,wy=12,Py=13,gc=58,vy=14,$y=15,sp=59,mp=21,Ty=23,gp=24,Cy=25,bc=27,Qp=28,Xy=29,_y=32,Ry=35,Ay=37,Zy=38,Ey=0,qy=1,zy={area:!0,base:!0,br:!0,col:!0,command:!0,embed:!0,frame:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0,menuitem:!0},Ly={dd:!0,li:!0,optgroup:!0,option:!0,p:!0,rp:!0,rt:!0,tbody:!0,td:!0,tfoot:!0,th:!0,tr:!0},op={dd:{dd:!0,dt:!0},dt:{dd:!0,dt:!0},li:{li:!0},option:{option:!0,optgroup:!0},optgroup:{optgroup:!0},p:{address:!0,article:!0,aside:!0,blockquote:!0,dir:!0,div:!0,dl:!0,fieldset:!0,footer:!0,form:!0,h1:!0,h2:!0,h3:!0,h4:!0,h5:!0,h6:!0,header:!0,hgroup:!0,hr:!0,menu:!0,nav:!0,ol:!0,p:!0,pre:!0,section:!0,table:!0,ul:!0},rp:{rp:!0,rt:!0},rt:{rp:!0,rt:!0},tbody:{tbody:!0,tfoot:!0},td:{td:!0,th:!0},tfoot:{tbody:!0},th:{td:!0,th:!0},thead:{tbody:!0,tfoot:!0},tr:{tr:!0}};function My(i){return i==45||i==46||i==58||i>=65&&i<=90||i==95||i>=97&&i<=122||i>=161}var ap=null,lp=null,cp=0;function Sc(i,e){let t=i.pos+e;if(cp==t&&lp==i)return ap;let n=i.peek(e),r="";for(;My(n);)r+=String.fromCharCode(n),n=i.peek(++e);return lp=i,cp=t,ap=r?r.toLowerCase():n==Wy||n==jy?void 0:null}var bp=60,io=62,kc=47,Wy=63,jy=33,Vy=45;function hp(i,e){this.name=i,this.parent=e}var Dy=[yc,pp,up,Op,dp],Yy=new dt({start:null,shift(i,e,t,n){return Dy.indexOf(e)>-1?new hp(Sc(n,1)||"",i):i},reduce(i,e){return e==mp&&i?i.parent:i},reuse(i,e,t,n){let r=e.type.id;return r==yc||r==Ay?new hp(Sc(n,1)||"",i):i},strict:!1}),Iy=new J((i,e)=>{if(i.next!=bp){i.next<0&&e.context&&i.acceptToken(gc);return}i.advance();let t=i.next==kc;t&&i.advance();let n=Sc(i,0);if(n===void 0)return;if(!n)return i.acceptToken(t?$y:vy);let r=e.context?e.context.name:null;if(t){if(n==r)return i.acceptToken(xy);if(r&&Ly[r])return i.acceptToken(gc,-2);if(e.dialectEnabled(Ey))return i.acceptToken(wy);for(let s=e.context;s;s=s.parent)if(s.name==n)return;i.acceptToken(Py)}else{if(n=="script")return i.acceptToken(up);if(n=="style")return i.acceptToken(Op);if(n=="textarea")return i.acceptToken(dp);if(zy.hasOwnProperty(n))return i.acceptToken(pp);r&&op[r]&&op[r][n]?i.acceptToken(gc,-1):i.acceptToken(yc)}},{contextual:!0}),By=new J(i=>{for(let e=0,t=0;;t++){if(i.next<0){t&&i.acceptToken(sp);break}if(i.next==Vy)e++;else if(i.next==io&&e>=2){t>=3&&i.acceptToken(sp,-2);break}else e=0;i.advance()}});function Uy(i){for(;i;i=i.parent)if(i.name=="svg"||i.name=="math")return!0;return!1}var Gy=new J((i,e)=>{if(i.next==kc&&i.peek(1)==io){let t=e.dialectEnabled(qy)||Uy(e.context);i.acceptToken(t?ky:rp,2)}else i.next==io&&i.acceptToken(rp,1)});function xc(i,e,t){let n=2+i.length;return new J(r=>{for(let s=0,o=0,a=0;;a++){if(r.next<0){a&&r.acceptToken(e);break}if(s==0&&r.next==bp||s==1&&r.next==kc||s>=2&&so?r.acceptToken(e,-o):r.acceptToken(t,-(o-2));break}else if((r.next==10||r.next==13)&&a){r.acceptToken(e,1);break}else s=o=0;r.advance()}})}var Ny=xc("script",my,gy),Fy=xc("style",Qy,by),Hy=xc("textarea",Sy,yy),Ky=Qe({"Text RawText IncompleteTag IncompleteCloseTag":d.content,"StartTag StartCloseTag SelfClosingEndTag EndTag":d.angleBracket,TagName:d.tagName,"MismatchedCloseTag/TagName":[d.tagName,d.invalid],AttributeName:d.attributeName,"AttributeValue UnquotedAttributeValue":d.attributeValue,Is:d.definitionOperator,"EntityReference CharacterReference":d.character,Comment:d.blockComment,ProcessingInst:d.processingInstruction,DoctypeDecl:d.documentMeta}),Sp=Pe.deserialize({version:14,states:",xOVO!rOOO!ZQ#tO'#CrO!`Q#tO'#C{O!eQ#tO'#DOO!jQ#tO'#DRO!oQ#tO'#DTO!tOaO'#CqO#PObO'#CqO#[OdO'#CqO$kO!rO'#CqOOO`'#Cq'#CqO$rO$fO'#DUO$zQ#tO'#DWO%PQ#tO'#DXOOO`'#Dl'#DlOOO`'#DZ'#DZQVO!rOOO%UQ&rO,59^O%aQ&rO,59gO%lQ&rO,59jO%wQ&rO,59mO&SQ&rO,59oOOOa'#D_'#D_O&_OaO'#CyO&jOaO,59]OOOb'#D`'#D`O&rObO'#C|O&}ObO,59]OOOd'#Da'#DaO'VOdO'#DPO'bOdO,59]OOO`'#Db'#DbO'jO!rO,59]O'qQ#tO'#DSOOO`,59],59]OOOp'#Dc'#DcO'vO$fO,59pOOO`,59p,59pO(OQ#|O,59rO(TQ#|O,59sOOO`-E7X-E7XO(YQ&rO'#CtOOQW'#D['#D[O(hQ&rO1G.xOOOa1G.x1G.xOOO`1G/Z1G/ZO(sQ&rO1G/ROOOb1G/R1G/RO)OQ&rO1G/UOOOd1G/U1G/UO)ZQ&rO1G/XOOO`1G/X1G/XO)fQ&rO1G/ZOOOa-E7]-E7]O)qQ#tO'#CzOOO`1G.w1G.wOOOb-E7^-E7^O)vQ#tO'#C}OOOd-E7_-E7_O){Q#tO'#DQOOO`-E7`-E7`O*QQ#|O,59nOOOp-E7a-E7aOOO`1G/[1G/[OOO`1G/^1G/^OOO`1G/_1G/_O*VQ,UO,59`OOQW-E7Y-E7YOOOa7+$d7+$dOOO`7+$u7+$uOOOb7+$m7+$mOOOd7+$p7+$pOOO`7+$s7+$sO*bQ#|O,59fO*gQ#|O,59iO*lQ#|O,59lOOO`1G/Y1G/YO*qO7[O'#CwO+SOMhO'#CwOOQW1G.z1G.zOOO`1G/Q1G/QOOO`1G/T1G/TOOO`1G/W1G/WOOOO'#D]'#D]O+eO7[O,59cOOQW,59c,59cOOOO'#D^'#D^O+vOMhO,59cOOOO-E7Z-E7ZOOQW1G.}1G.}OOOO-E7[-E7[",stateData:",c~O!_OS~OUSOVPOWQOXROYTO[]O][O^^O_^Oa^Ob^Oc^Od^Oy^O|_O!eZO~OgaO~OgbO~OgcO~OgdO~OgeO~O!XfOPmP![mP~O!YiOQpP![pP~O!ZlORsP![sP~OUSOVPOWQOXROYTOZqO[]O][O^^O_^Oa^Ob^Oc^Od^Oy^O!eZO~O![rO~P#gO!]sO!fuO~OgvO~OgwO~OS|OT}OiyO~OS!POT}OiyO~OS!ROT}OiyO~OS!TOT}OiyO~OS}OT}OiyO~O!XfOPmX![mX~OP!WO![!XO~O!YiOQpX![pX~OQ!ZO![!XO~O!ZlORsX![sX~OR!]O![!XO~O![!XO~P#gOg!_O~O!]sO!f!aO~OS!bO~OS!cO~Oj!dOShXThXihX~OS!fOT!gOiyO~OS!hOT!gOiyO~OS!iOT!gOiyO~OS!jOT!gOiyO~OS!gOT!gOiyO~Og!kO~Og!lO~Og!mO~OS!nO~Ol!qO!a!oO!c!pO~OS!rO~OS!sO~OS!tO~Ob!uOc!uOd!uO!a!wO!b!uO~Ob!xOc!xOd!xO!c!wO!d!xO~Ob!uOc!uOd!uO!a!{O!b!uO~Ob!xOc!xOd!xO!c!{O!d!xO~OT~cbd!ey|!e~",goto:"%q!aPPPPPPPPPPPPPPPPPPPPP!b!hP!nPP!zP!}#Q#T#Z#^#a#g#j#m#s#y!bP!b!bP$P$V$m$s$y%P%V%]%cPPPPPPPP%iX^OX`pXUOX`pezabcde{!O!Q!S!UR!q!dRhUR!XhXVOX`pRkVR!XkXWOX`pRnWR!XnXXOX`pQrXR!XpXYOX`pQ`ORx`Q{aQ!ObQ!QcQ!SdQ!UeZ!e{!O!Q!S!UQ!v!oR!z!vQ!y!pR!|!yQgUR!VgQjVR!YjQmWR![mQpXR!^pQtZR!`tS_O`ToXp",nodeNames:"\u26A0 StartCloseTag StartCloseTag StartCloseTag EndTag SelfClosingEndTag StartTag StartTag StartTag StartTag StartTag StartCloseTag StartCloseTag StartCloseTag IncompleteTag IncompleteCloseTag Document Text EntityReference CharacterReference InvalidEntity Element OpenTag TagName Attribute AttributeName Is AttributeValue UnquotedAttributeValue ScriptText CloseTag OpenTag StyleText CloseTag OpenTag TextareaText CloseTag OpenTag CloseTag SelfClosingTag Comment ProcessingInst MismatchedCloseTag CloseTag DoctypeDecl",maxTerm:68,context:Yy,nodeProps:[["closedBy",-10,1,2,3,7,8,9,10,11,12,13,"EndTag",6,"EndTag SelfClosingEndTag",-4,22,31,34,37,"CloseTag"],["openedBy",4,"StartTag StartCloseTag",5,"StartTag",-4,30,33,36,38,"OpenTag"],["group",-10,14,15,18,19,20,21,40,41,42,43,"Entity",17,"Entity TextContent",-3,29,32,35,"TextContent Entity"],["isolate",-11,22,30,31,33,34,36,37,38,39,42,43,"ltr",-3,27,28,40,""]],propSources:[Ky],skippedNodes:[0],repeatNodeCount:9,tokenData:"!]tw8twx7Sx!P8t!P!Q5u!Q!]8t!]!^/^!^!a7S!a#S8t#S#T;{#T#s8t#s$f5u$f;'S8t;'S;=`>V<%l?Ah8t?Ah?BY5u?BY?Mn8t?MnO5u!Z5zblWOX5uXZ7SZ[5u[^7S^p5uqr5urs7Sst+Ptw5uwx7Sx!]5u!]!^7w!^!a7S!a#S5u#S#T7S#T;'S5u;'S;=`8n<%lO5u!R7VVOp7Sqs7St!]7S!]!^7l!^;'S7S;'S;=`7q<%lO7S!R7qOb!R!R7tP;=`<%l7S!Z8OYlWb!ROX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+P!Z8qP;=`<%l5u!_8{iiSlWOX5uXZ7SZ[5u[^7S^p5uqr8trs7Sst/^tw8twx7Sx!P8t!P!Q5u!Q!]8t!]!^:j!^!a7S!a#S8t#S#T;{#T#s8t#s$f5u$f;'S8t;'S;=`>V<%l?Ah8t?Ah?BY5u?BY?Mn8t?MnO5u!_:sbiSlWb!ROX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+P!VP<%l?Ah;{?Ah?BY7S?BY?Mn;{?MnO7S!V=dXiSb!Rqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0m!V>SP;=`<%l;{!_>YP;=`<%l8t!_>dhiSlWOX@OXZAYZ[@O[^AY^p@OqrBwrsAYswBwwxAYx!PBw!P!Q@O!Q!]Bw!]!^/^!^!aAY!a#SBw#S#TE{#T#sBw#s$f@O$f;'SBw;'S;=`HS<%l?AhBw?Ah?BY@O?BY?MnBw?MnO@O!Z@TalWOX@OXZAYZ[@O[^AY^p@Oqr@OrsAYsw@OwxAYx!]@O!]!^Az!^!aAY!a#S@O#S#TAY#T;'S@O;'S;=`Bq<%lO@O!RA]UOpAYq!]AY!]!^Ao!^;'SAY;'S;=`At<%lOAY!RAtOc!R!RAwP;=`<%lAY!ZBRYlWc!ROX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+P!ZBtP;=`<%l@O!_COhiSlWOX@OXZAYZ[@O[^AY^p@OqrBwrsAYswBwwxAYx!PBw!P!Q@O!Q!]Bw!]!^Dj!^!aAY!a#SBw#S#TE{#T#sBw#s$f@O$f;'SBw;'S;=`HS<%l?AhBw?Ah?BY@O?BY?MnBw?MnO@O!_DsbiSlWc!ROX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+P!VFQbiSOpAYqrE{rsAYswE{wxAYx!PE{!P!QAY!Q!]E{!]!^GY!^!aAY!a#sE{#s$fAY$f;'SE{;'S;=`G|<%l?AhE{?Ah?BYAY?BY?MnE{?MnOAY!VGaXiSc!Rqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0m!VHPP;=`<%lE{!_HVP;=`<%lBw!ZHcW!cxaP!b`Or(trs'ksv(tw!^(t!^!_)e!_;'S(t;'S;=`*P<%lO(t!aIYliSaPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx}-_}!OKQ!O!P-_!P!Q$q!Q!^-_!^!_*V!_!a&X!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q!aK_kiSaPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx!P-_!P!Q$q!Q!^-_!^!_*V!_!`&X!`!aMS!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q!TM_XaP!b`!dp!fQOr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&X!aNZ!ZiSgQaPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx}-_}!OMz!O!PMz!P!Q$q!Q![Mz![!]Mz!]!^-_!^!_*V!_!a&X!a!c-_!c!}Mz!}#R-_#R#SMz#S#T1k#T#oMz#o#s-_#s$f$q$f$}-_$}%OMz%O%W-_%W%oMz%o%p-_%p&aMz&a&b-_&b1pMz1p4UMz4U4dMz4d4e-_4e$ISMz$IS$I`-_$I`$IbMz$Ib$Je-_$Je$JgMz$Jg$Kh-_$Kh%#tMz%#t&/x-_&/x&EtMz&Et&FV-_&FV;'SMz;'S;:j!#|;:j;=`3X<%l?&r-_?&r?AhMz?Ah?BY$q?BY?MnMz?MnO$q!a!$PP;=`<%lMz!R!$ZY!b`!dpOq*Vqr!$yrs(Vsv*Vwx)ex!a*V!a!b!4t!b;'S*V;'S;=`*s<%lO*V!R!%Q]!b`!dpOr*Vrs(Vsv*Vwx)ex}*V}!O!%y!O!f*V!f!g!']!g#W*V#W#X!0`#X;'S*V;'S;=`*s<%lO*V!R!&QX!b`!dpOr*Vrs(Vsv*Vwx)ex}*V}!O!&m!O;'S*V;'S;=`*s<%lO*V!R!&vV!b`!dp!ePOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!'dX!b`!dpOr*Vrs(Vsv*Vwx)ex!q*V!q!r!(P!r;'S*V;'S;=`*s<%lO*V!R!(WX!b`!dpOr*Vrs(Vsv*Vwx)ex!e*V!e!f!(s!f;'S*V;'S;=`*s<%lO*V!R!(zX!b`!dpOr*Vrs(Vsv*Vwx)ex!v*V!v!w!)g!w;'S*V;'S;=`*s<%lO*V!R!)nX!b`!dpOr*Vrs(Vsv*Vwx)ex!{*V!{!|!*Z!|;'S*V;'S;=`*s<%lO*V!R!*bX!b`!dpOr*Vrs(Vsv*Vwx)ex!r*V!r!s!*}!s;'S*V;'S;=`*s<%lO*V!R!+UX!b`!dpOr*Vrs(Vsv*Vwx)ex!g*V!g!h!+q!h;'S*V;'S;=`*s<%lO*V!R!+xY!b`!dpOr!+qrs!,hsv!+qvw!-Swx!.[x!`!+q!`!a!/j!a;'S!+q;'S;=`!0Y<%lO!+qq!,mV!dpOv!,hvx!-Sx!`!,h!`!a!-q!a;'S!,h;'S;=`!.U<%lO!,hP!-VTO!`!-S!`!a!-f!a;'S!-S;'S;=`!-k<%lO!-SP!-kO|PP!-nP;=`<%l!-Sq!-xS!dp|POv(Vx;'S(V;'S;=`(h<%lO(Vq!.XP;=`<%l!,ha!.aX!b`Or!.[rs!-Ssv!.[vw!-Sw!`!.[!`!a!.|!a;'S!.[;'S;=`!/d<%lO!.[a!/TT!b`|POr)esv)ew;'S)e;'S;=`)y<%lO)ea!/gP;=`<%l!.[!R!/sV!b`!dp|POr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!0]P;=`<%l!+q!R!0gX!b`!dpOr*Vrs(Vsv*Vwx)ex#c*V#c#d!1S#d;'S*V;'S;=`*s<%lO*V!R!1ZX!b`!dpOr*Vrs(Vsv*Vwx)ex#V*V#V#W!1v#W;'S*V;'S;=`*s<%lO*V!R!1}X!b`!dpOr*Vrs(Vsv*Vwx)ex#h*V#h#i!2j#i;'S*V;'S;=`*s<%lO*V!R!2qX!b`!dpOr*Vrs(Vsv*Vwx)ex#m*V#m#n!3^#n;'S*V;'S;=`*s<%lO*V!R!3eX!b`!dpOr*Vrs(Vsv*Vwx)ex#d*V#d#e!4Q#e;'S*V;'S;=`*s<%lO*V!R!4XX!b`!dpOr*Vrs(Vsv*Vwx)ex#X*V#X#Y!+q#Y;'S*V;'S;=`*s<%lO*V!R!4{Y!b`!dpOr!4trs!5ksv!4tvw!6Vwx!8]x!a!4t!a!b!:]!b;'S!4t;'S;=`!;r<%lO!4tq!5pV!dpOv!5kvx!6Vx!a!5k!a!b!7W!b;'S!5k;'S;=`!8V<%lO!5kP!6YTO!a!6V!a!b!6i!b;'S!6V;'S;=`!7Q<%lO!6VP!6lTO!`!6V!`!a!6{!a;'S!6V;'S;=`!7Q<%lO!6VP!7QOyPP!7TP;=`<%l!6Vq!7]V!dpOv!5kvx!6Vx!`!5k!`!a!7r!a;'S!5k;'S;=`!8V<%lO!5kq!7yS!dpyPOv(Vx;'S(V;'S;=`(h<%lO(Vq!8YP;=`<%l!5ka!8bX!b`Or!8]rs!6Vsv!8]vw!6Vw!a!8]!a!b!8}!b;'S!8];'S;=`!:V<%lO!8]a!9SX!b`Or!8]rs!6Vsv!8]vw!6Vw!`!8]!`!a!9o!a;'S!8];'S;=`!:V<%lO!8]a!9vT!b`yPOr)esv)ew;'S)e;'S;=`)y<%lO)ea!:YP;=`<%l!8]!R!:dY!b`!dpOr!4trs!5ksv!4tvw!6Vwx!8]x!`!4t!`!a!;S!a;'S!4t;'S;=`!;r<%lO!4t!R!;]V!b`!dpyPOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!;uP;=`<%l!4t!V!{let c=a.type.id;if(c==Xy)return Qc(a,l,t);if(c==_y)return Qc(a,l,n);if(c==Ry)return Qc(a,l,r);if(c==mp&&s.length){let h=a.node,f=h.firstChild,u=f&&fp(f,l),O;if(u){for(let p of s)if(p.tag==u&&(!p.attrs||p.attrs(O||(O=yp(f,l))))){let m=h.lastChild,b=m.type.id==Zy?m.from:h.to;if(b>f.to)return{parser:p.parser,overlay:[{from:f.to,to:b}]}}}}if(o&&c==gp){let h=a.node,f;if(f=h.firstChild){let u=o[l.read(f.from,f.to)];if(u)for(let O of u){if(O.tagName&&O.tagName!=fp(h.parent,l))continue;let p=h.lastChild;if(p.type.id==bc){let m=p.from+1,b=p.lastChild,g=p.to-(b&&b.isError?0:1);if(g>m)return{parser:O.parser,overlay:[{from:m,to:g}],bracketed:!0}}else if(p.type.id==Qp)return{parser:O.parser,overlay:[{from:p.from,to:p.to}]}}}}return null})}var Jy=145,kp=1,ek=146,tk=147,wp=2,ik=148,nk=3,rk=4,Pp=[9,10,11,12,13,32,133,160,5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8232,8233,8239,8287,12288],sk=58,ok=40,vp=95,ak=91,no=45,lk=46,ck=35,hk=37,fk=38,uk=92,Ok=10,dk=42;function wr(i){return i>=65&&i<=90||i>=97&&i<=122||i>=161}function Pc(i){return i>=48&&i<=57}function xp(i){return Pc(i)||i>=97&&i<=102||i>=65&&i<=70}var $p=(i,e,t)=>(n,r)=>{for(let s=!1,o=0,a=0;;a++){let{next:l}=n;if(wr(l)||l==no||l==vp||s&&Pc(l))!s&&(l!=no||a>0)&&(s=!0),o===a&&l==no&&o++,n.advance();else if(l==uk&&n.peek(1)!=Ok){if(n.advance(),xp(n.next)){do n.advance();while(xp(n.next));n.next==32&&n.advance()}else n.next>-1&&n.advance();s=!0}else{s&&n.acceptToken(o==2&&r.canShift(wp)?e:l==ok?t:i);break}}},pk=new J($p(ek,wp,tk),{contextual:!0}),mk=new J($p(ik,nk,rk),{contextual:!0}),gk=new J(i=>{if(Pp.includes(i.peek(-1))){let{next:e}=i;(wr(e)||e==vp||e==ck||e==lk||e==dk||e==ak||e==sk&&wr(i.peek(1))||e==no||e==fk)&&i.acceptToken(Jy)}}),Qk=new J(i=>{if(!Pp.includes(i.peek(-1))){let{next:e}=i;if(e==hk&&(i.advance(),i.acceptToken(kp)),wr(e)){do i.advance();while(wr(i.next)||Pc(i.next));i.acceptToken(kp)}}}),bk=Qe({"AtKeyword import charset namespace keyframes media supports font-feature-values":d.definitionKeyword,"from to selector scope MatchFlag":d.keyword,NamespaceName:d.namespace,KeyframeName:d.labelName,KeyframeRangeName:d.operatorKeyword,TagName:d.tagName,ClassName:d.className,PseudoClassName:d.constant(d.className),IdName:d.labelName,"FeatureName PropertyName":d.propertyName,AttributeName:d.attributeName,NumberLiteral:d.number,KeywordQuery:d.keyword,UnaryQueryOp:d.operatorKeyword,"CallTag ValueName FontName":d.atom,VariableName:d.variableName,Callee:d.operatorKeyword,Unit:d.unit,"UniversalSelector NestingSelector":d.definitionOperator,"MatchOp CompareOp":d.compareOperator,"ChildOp SiblingOp, LogicOp":d.logicOperator,BinOp:d.arithmeticOperator,Important:d.modifier,Comment:d.blockComment,ColorLiteral:d.color,"ParenthesizedContent StringLiteral":d.string,":":d.punctuation,"PseudoOp #":d.derefOperator,"; , |":d.separator,"( )":d.paren,"[ ]":d.squareBracket,"{ }":d.brace}),Sk={__proto__:null,lang:44,"nth-child":44,"nth-last-child":44,"nth-of-type":44,"nth-last-of-type":44,dir:44,"host-context":44,if:90,url:152,"url-prefix":152,domain:152,regexp:152},yk={__proto__:null,or:104,and:104,not:112,only:112,layer:206},kk={__proto__:null,selector:118,style:124,layer:202},xk={__proto__:null,"@import":198,"@media":210,"@charset":214,"@namespace":218,"@keyframes":224,"@supports":236,"@scope":240,"@font-feature-values":246},wk={__proto__:null,to:243},Tp=Pe.deserialize({version:14,states:"MlQYQdOOO#}QdOOP$UO`OOO%OQaO'#CfOOQP'#Ce'#CeO%VQdO'#CgO%[Q`O'#CgO%aQaO'#FnO&XQdO'#CkO&xQaO'#CcO'SQdO'#CnO'_QdO'#EOO'dQdO'#EQO'oQdO'#EXO'oQdO'#E[OOQP'#Fn'#FnO)RQhO'#E}OOQS'#Fm'#FmOOQS'#FQ'#FQQYQdOOO)YQdO'#EbO*iQhO'#EhO)YQdO'#EjO*pQdO'#ElO*{QdO'#EoO)}QhO'#EuO+TQdO'#EwO+`QdO'#EzO+eQaO'#CfO+lQ`O'#E_O+qQ`O'#F{O+|QdO'#F{QOQ`OOP,WO&jO'#CaPOOO)CA])CA]OOQP'#Ci'#CiOOQP,59R,59RO%VQdO,59ROOQP'#Cm'#CmOOQP,59V,59VO&XQdO,59VO,cQdO,59YO'_QdO,5:jO'dQdO,5:lO'oQdO,5:sO'oQdO,5:uO'oQdO,5:vO'oQdO'#FXO,nQ`O,58}O,vQdO'#E^OOQS,58},58}OOQP'#Cq'#CqOOQO'#D|'#D|OOQP,59Y,59YO,}Q`O,59YO-SQ`O,59YOOQP'#EP'#EPOOQP,5:j,5:jO-XQpO'#ERO-dQdO'#ESO-iQ`O'#ESO-nQpO,5:lO.XQaO,5:sO.oQaO,5:vOOQW'#D^'#D^O/nQhO'#DgO0RQhO,5;iO)}QhO'#DeO0`Q`O'#DnO0eQhO'#DxOOQW'#Ft'#FtOOQS,5;i,5;iO0jQ`O'#DhO0oQ`O'#DkOOQS-E9O-E9OOOQ['#Cv'#CvO0tQdO'#CwO1[QdO'#C}O1rQdO'#DQO2YQ!pO'#DSO4fQ!jO,5:|OOQO'#DX'#DXO-SQ`O'#DWO4vQ!nO'#FqO6|Q`O'#DYO7RQ`O'#DyOOQ['#Fq'#FqO7WQhO'#GOO7fQ`O,5;SO7kQ!bO,5;UOOQS'#En'#EnO7sQ`O,5;WO7xQdO,5;WOOQO'#Eq'#EqO8QQ`O,5;ZO8VQhO,5;aO'oQdO'#DjOOQS,5;c,5;cO0jQ`O,5;cO8_QdO,5;cOOQS'#F`'#F`O8gQdO'#E|O7fQ`O,5;fO8oQdO,5:yO9PQdO'#FZO9^Q`O,5lQhO'#DoOOQW,5:Y,5:YOOQW,5:d,5:dOOQW,5:S,5:SO>vQhO,5:VO?bQ!fO'#FrOOQS'#Fr'#FrOOQS'#FS'#FSO@rQdO,59cOOQ[,59c,59cOAYQdO,59iOOQ[,59i,59iOApQdO,59lOOQ[,59l,59lOOQ[,59n,59nO)YQdO,59pOBWQhO'#EdOOQW'#Ed'#EdOBuQ`O1G0hO4oQhO1G0hOOQ[,59r,59rO)}QhO'#D[OOQ[,59t,59tOBzQ#tO,5:eOCVQhO'#F]OCdQ`O,5vQhO'#DmOI_QhO'#DqOIgQhO'#DsOIlQhO'#FwOOQO'#Fw'#FwOItQ!bO'#DwOOQO'#Fy'#FyOOQO'#Fv'#FvOIyQ`O1G/qOOQS-E9Q-E9QOOQ[1G.}1G.}OOQ[1G/T1G/TOOQ[1G/W1G/WOOQ[1G/[1G/[OJOQdO,5;OOOQS7+&S7+&SOJTQ`O7+&SOJYQhO'#D]OJbQ`O,59vO)}QhO,59vOOQ[1G0P1G0POJjQ`O1G0POJoQhO,5;wOOQO-E9Z-E9ZOOQS7+&^7+&^OJ}QbO'#DSOOQO'#Et'#EtOK]Q`O'#EsOOQO'#Es'#EsOKhQ`O'#F^OKpQdO,5;^OOQS,5;^,5;^OOQ[1G/p1G/pOOQS7+&i7+&iO7fQ`O7+&iOK{Q!fO'#FYO)YQdO'#FYOMSQdO7+&POOQO7+&P7+&POOQO,5:{,5:{OOQO1G1a1G1aOMgQ!bO<vQhO'#DrOOQO,5:],5:]O! hQhO,5:_OGUQhO,5:cOOQW7+%]7+%]OOQO'#Ef'#EfO! pQ`O1G0jOOQS<xAN>xO!#zQ`OAN>xO!$PQaO,5;rOOQO-E9U-E9UO!$ZQdO,5;qOOQO-E9T-E9TOOQW<vQhO'#DuOOQO1G/y1G/yO!%vQ!bO1G/}OJOQdO'#F[O!&OQ`O7+&UOOQW7+&U7+&UO!&WQ!bO1G/cOOQ[7+$|7+$|O!&cQhO7+$|P!&jQ`O'#FTOOQO,5;y,5;yOOQO-E9]-E9]OOQS1G1d1G1dOOQPG24dG24dO!&oQ`OAN>ZO)YQdO1G1[O!&tQ`O7+'jOOQO1G/x1G/xO!&|Q`O,5:aO!$eQhO7+%iOOQO,5;v,5;vOOQO-E9Y-E9YOOQW<Q!]!^>|!^!_?_!_!`@Z!`!a@n!a!b%Z!b!cAo!c!k%Z!k!lC|!l!u%Z!u!vC|!v!}%Z!}#OD_#O#P%Z#P#QDp#Q#R2X#R#]%Z#]#^ER#^#g%Z#g#hC|#h#o%Z#o#pIf#p#qIw#q#rJ`#r#sJq#s#y%Z#y#z&R#z$f%Z$f$g&R$g#BY%Z#BY#BZ&R#BZ$IS%Z$IS$I_&R$I_$I|%Z$I|$JO&R$JO$JT%Z$JT$JU&R$JU$KV%Z$KV$KW&R$KW&FU%Z&FU&FV&R&FV;'S%Z;'S;=`KY<%lO%Z`%^SOy%jz;'S%j;'S;=`%{<%lO%j`%oS!o`Oy%jz;'S%j;'S;=`%{<%lO%j`&OP;=`<%l%j~&Wh$[~OX%jX^'r^p%jpq'rqy%jz#y%j#y#z'r#z$f%j$f$g'r$g#BY%j#BY#BZ'r#BZ$IS%j$IS$I_'r$I_$I|%j$I|$JO'r$JO$JT%j$JT$JU'r$JU$KV%j$KV$KW'r$KW&FU%j&FU&FV'r&FV;'S%j;'S;=`%{<%lO%j~'yh$[~!o`OX%jX^'r^p%jpq'rqy%jz#y%j#y#z'r#z$f%j$f$g'r$g#BY%j#BY#BZ'r#BZ$IS%j$IS$I_'r$I_$I|%j$I|$JO'r$JO$JT%j$JT$JU'r$JU$KV%j$KV$KW'r$KW&FU%j&FU&FV'r&FV;'S%j;'S;=`%{<%lO%jj)jS$qYOy%jz;'S%j;'S;=`%{<%lO%j~)yWOY)vZr)vrs*cs#O)v#O#P*h#P;'S)v;'S;=`+d<%lO)v~*hOw~~*kRO;'S)v;'S;=`*t;=`O)v~*wXOY)vZr)vrs*cs#O)v#O#P*h#P;'S)v;'S;=`+d;=`<%l)v<%lO)v~+gP;=`<%l)vj+oYmYOy%jz!Q%j!Q![,_![!c%j!c!i,_!i#T%j#T#Z,_#Z;'S%j;'S;=`%{<%lO%jj,dY!o`Oy%jz!Q%j!Q![-S![!c%j!c!i-S!i#T%j#T#Z-S#Z;'S%j;'S;=`%{<%lO%jj-XY!o`Oy%jz!Q%j!Q![-w![!c%j!c!i-w!i#T%j#T#Z-w#Z;'S%j;'S;=`%{<%lO%jj.OYuY!o`Oy%jz!Q%j!Q![.n![!c%j!c!i.n!i#T%j#T#Z.n#Z;'S%j;'S;=`%{<%lO%jj.uYuY!o`Oy%jz!Q%j!Q![/e![!c%j!c!i/e!i#T%j#T#Z/e#Z;'S%j;'S;=`%{<%lO%jj/jY!o`Oy%jz!Q%j!Q![0Y![!c%j!c!i0Y!i#T%j#T#Z0Y#Z;'S%j;'S;=`%{<%lO%jj0aYuY!o`Oy%jz!Q%j!Q![1P![!c%j!c!i1P!i#T%j#T#Z1P#Z;'S%j;'S;=`%{<%lO%jj1UY!o`Oy%jz!Q%j!Q![1t![!c%j!c!i1t!i#T%j#T#Z1t#Z;'S%j;'S;=`%{<%lO%jj1{SuY!o`Oy%jz;'S%j;'S;=`%{<%lO%jd2[UOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%jd2uS!yS!o`Oy%jz;'S%j;'S;=`%{<%lO%jb3WS^QOy%jz;'S%j;'S;=`%{<%lO%j~3gWOY3dZw3dwx*cx#O3d#O#P4P#P;'S3d;'S;=`4{<%lO3d~4SRO;'S3d;'S;=`4];=`O3d~4`XOY3dZw3dwx*cx#O3d#O#P4P#P;'S3d;'S;=`4{;=`<%l3d<%lO3d~5OP;=`<%l3dj5WShYOy%jz;'S%j;'S;=`%{<%lO%j~5iOg~n5pUWQyWOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%jj6ZWyW#PQOy%jz!O%j!O!P6s!P!Q%j!Q![9x![;'S%j;'S;=`%{<%lO%jj6xU!o`Oy%jz!Q%j!Q![7[![;'S%j;'S;=`%{<%lO%jj7cY!o`$gYOy%jz!Q%j!Q![7[![!g%j!g!h8R!h#X%j#X#Y8R#Y;'S%j;'S;=`%{<%lO%jj8WY!o`Oy%jz{%j{|8v|}%j}!O8v!O!Q%j!Q![9_![;'S%j;'S;=`%{<%lO%jj8{U!o`Oy%jz!Q%j!Q![9_![;'S%j;'S;=`%{<%lO%jj9fU!o`$gYOy%jz!Q%j!Q![9_![;'S%j;'S;=`%{<%lO%jj:P[!o`$gYOy%jz!O%j!O!P7[!P!Q%j!Q![9x![!g%j!g!h8R!h#X%j#X#Y8R#Y;'S%j;'S;=`%{<%lO%jj:zS!dYOy%jz;'S%j;'S;=`%{<%lO%jj;]WyWOy%jz!O%j!O!P6s!P!Q%j!Q![9x![;'S%j;'S;=`%{<%lO%jj;zU`YOy%jz!Q%j!Q![7[![;'S%j;'S;=`%{<%lO%j~VUcYOy%jz![%j![!]>i!];'S%j;'S;=`%{<%lO%jj>pSdY!o`Oy%jz;'S%j;'S;=`%{<%lO%jj?RSnYOy%jz;'S%j;'S;=`%{<%lO%jh?dU!WWOy%jz!_%j!_!`?v!`;'S%j;'S;=`%{<%lO%jh?}S!WW!o`Oy%jz;'S%j;'S;=`%{<%lO%jl@bS!WW!ySOy%jz;'S%j;'S;=`%{<%lO%jj@uV!|Q!WWOy%jz!_%j!_!`?v!`!aA[!a;'S%j;'S;=`%{<%lO%jbAcS!|Q!o`Oy%jz;'S%j;'S;=`%{<%lO%jjArYOy%jz}%j}!OBb!O!c%j!c!}CP!}#T%j#T#oCP#o;'S%j;'S;=`%{<%lO%jjBgW!o`Oy%jz!c%j!c!}CP!}#T%j#T#oCP#o;'S%j;'S;=`%{<%lO%jjCW[lY!o`Oy%jz}%j}!OCP!O!Q%j!Q![CP![!c%j!c!}CP!}#T%j#T#oCP#o;'S%j;'S;=`%{<%lO%jhDRS!zWOy%jz;'S%j;'S;=`%{<%lO%jjDdSpYOy%jz;'S%j;'S;=`%{<%lO%jnDuSo^Oy%jz;'S%j;'S;=`%{<%lO%jjEWU!zWOy%jz#a%j#a#bEj#b;'S%j;'S;=`%{<%lO%jbEoU!o`Oy%jz#d%j#d#eFR#e;'S%j;'S;=`%{<%lO%jbFWU!o`Oy%jz#c%j#c#dFj#d;'S%j;'S;=`%{<%lO%jbFoU!o`Oy%jz#f%j#f#gGR#g;'S%j;'S;=`%{<%lO%jbGWU!o`Oy%jz#h%j#h#iGj#i;'S%j;'S;=`%{<%lO%jbGoU!o`Oy%jz#T%j#T#UHR#U;'S%j;'S;=`%{<%lO%jbHWU!o`Oy%jz#b%j#b#cHj#c;'S%j;'S;=`%{<%lO%jbHoU!o`Oy%jz#h%j#h#iIR#i;'S%j;'S;=`%{<%lO%jbIYS$pQ!o`Oy%jz;'S%j;'S;=`%{<%lO%jjIkSsYOy%jz;'S%j;'S;=`%{<%lO%jfI|U$cUOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%jjJeSrYOy%jz;'S%j;'S;=`%{<%lO%jfJvU#PQOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%j`K]P;=`<%l%Z",tokenizers:[gk,Qk,pk,mk,1,2,3,4,new bi("m~RRYZ[z{a~~g~aO$_~~dP!P!Qg~lO$`~~",28,152)],topRules:{StyleSheet:[0,6],Styles:[1,126]},dynamicPrecedences:{94:1},specialized:[{term:147,get:i=>Sk[i]||-1},{term:148,get:i=>yk[i]||-1},{term:4,get:i=>kk[i]||-1},{term:28,get:i=>xk[i]||-1},{term:146,get:i=>wk[i]||-1}],tokenPrec:2405});var vc=null;function $c(){if(!vc&&typeof document=="object"&&document.body){let{style:i}=document.body,e=[],t=new Set;for(let n in i)n!="cssText"&&n!="cssFloat"&&typeof i[n]=="string"&&(/[A-Z]/.test(n)&&(n=n.replace(/[A-Z]/g,r=>"-"+r.toLowerCase())),t.has(n)||(e.push(n),t.add(n)));vc=e.sort().map(n=>({type:"property",label:n,apply:n+": "}))}return vc||[]}var Cp=["active","after","any-link","autofill","backdrop","before","checked","cue","default","defined","disabled","empty","enabled","file-selector-button","first","first-child","first-letter","first-line","first-of-type","focus","focus-visible","focus-within","fullscreen","has","host","host-context","hover","in-range","indeterminate","invalid","is","lang","last-child","last-of-type","left","link","marker","modal","not","nth-child","nth-last-child","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","part","placeholder","placeholder-shown","read-only","read-write","required","right","root","scope","selection","slotted","target","target-text","valid","visited","where"].map(i=>({type:"class",label:i})),Xp=["above","absolute","activeborder","additive","activecaption","after-white-space","ahead","alias","all","all-scroll","alphabetic","alternate","always","antialiased","appworkspace","asterisks","attr","auto","auto-flow","avoid","avoid-column","avoid-page","avoid-region","axis-pan","background","backwards","baseline","below","bidi-override","blink","block","block-axis","bold","bolder","border","border-box","both","bottom","break","break-all","break-word","bullets","button","button-bevel","buttonface","buttonhighlight","buttonshadow","buttontext","calc","capitalize","caps-lock-indicator","caption","captiontext","caret","cell","center","checkbox","circle","cjk-decimal","clear","clip","close-quote","col-resize","collapse","color","color-burn","color-dodge","column","column-reverse","compact","condensed","contain","content","contents","content-box","context-menu","continuous","copy","counter","counters","cover","crop","cross","crosshair","currentcolor","cursive","cyclic","darken","dashed","decimal","decimal-leading-zero","default","default-button","dense","destination-atop","destination-in","destination-out","destination-over","difference","disc","discard","disclosure-closed","disclosure-open","document","dot-dash","dot-dot-dash","dotted","double","down","e-resize","ease","ease-in","ease-in-out","ease-out","element","ellipse","ellipsis","embed","end","ethiopic-abegede-gez","ethiopic-halehame-aa-er","ethiopic-halehame-gez","ew-resize","exclusion","expanded","extends","extra-condensed","extra-expanded","fantasy","fast","fill","fill-box","fixed","flat","flex","flex-end","flex-start","footnotes","forwards","from","geometricPrecision","graytext","grid","groove","hand","hard-light","help","hidden","hide","higher","highlight","highlighttext","horizontal","hsl","hsla","hue","icon","ignore","inactiveborder","inactivecaption","inactivecaptiontext","infinite","infobackground","infotext","inherit","initial","inline","inline-axis","inline-block","inline-flex","inline-grid","inline-table","inset","inside","intrinsic","invert","italic","justify","keep-all","landscape","large","larger","left","level","lighter","lighten","line-through","linear","linear-gradient","lines","list-item","listbox","listitem","local","logical","loud","lower","lower-hexadecimal","lower-latin","lower-norwegian","lowercase","ltr","luminosity","manipulation","match","matrix","matrix3d","medium","menu","menutext","message-box","middle","min-intrinsic","mix","monospace","move","multiple","multiple_mask_images","multiply","n-resize","narrower","ne-resize","nesw-resize","no-close-quote","no-drop","no-open-quote","no-repeat","none","normal","not-allowed","nowrap","ns-resize","numbers","numeric","nw-resize","nwse-resize","oblique","opacity","open-quote","optimizeLegibility","optimizeSpeed","outset","outside","outside-shape","overlay","overline","padding","padding-box","painted","page","paused","perspective","pinch-zoom","plus-darker","plus-lighter","pointer","polygon","portrait","pre","pre-line","pre-wrap","preserve-3d","progress","push-button","radial-gradient","radio","read-only","read-write","read-write-plaintext-only","rectangle","region","relative","repeat","repeating-linear-gradient","repeating-radial-gradient","repeat-x","repeat-y","reset","reverse","rgb","rgba","ridge","right","rotate","rotate3d","rotateX","rotateY","rotateZ","round","row","row-resize","row-reverse","rtl","run-in","running","s-resize","sans-serif","saturation","scale","scale3d","scaleX","scaleY","scaleZ","screen","scroll","scrollbar","scroll-position","se-resize","self-start","self-end","semi-condensed","semi-expanded","separate","serif","show","single","skew","skewX","skewY","skip-white-space","slide","slider-horizontal","slider-vertical","sliderthumb-horizontal","sliderthumb-vertical","slow","small","small-caps","small-caption","smaller","soft-light","solid","source-atop","source-in","source-out","source-over","space","space-around","space-between","space-evenly","spell-out","square","start","static","status-bar","stretch","stroke","stroke-box","sub","subpixel-antialiased","svg_masks","super","sw-resize","symbolic","symbols","system-ui","table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row","table-row-group","text","text-bottom","text-top","textarea","textfield","thick","thin","threeddarkshadow","threedface","threedhighlight","threedlightshadow","threedshadow","to","top","transform","translate","translate3d","translateX","translateY","translateZ","transparent","ultra-condensed","ultra-expanded","underline","unidirectional-pan","unset","up","upper-latin","uppercase","url","var","vertical","vertical-text","view-box","visible","visibleFill","visiblePainted","visibleStroke","visual","w-resize","wait","wave","wider","window","windowframe","windowtext","words","wrap","wrap-reverse","x-large","x-small","xor","xx-large","xx-small"].map(i=>({type:"keyword",label:i})).concat(["aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","grey","green","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen"].map(i=>({type:"constant",label:i}))),Pk=["a","abbr","address","article","aside","b","bdi","bdo","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","dd","del","details","dfn","dialog","div","dl","dt","em","figcaption","figure","footer","form","header","hgroup","h1","h2","h3","h4","h5","h6","hr","html","i","iframe","img","input","ins","kbd","label","legend","li","main","meter","nav","ol","output","p","pre","ruby","section","select","small","source","span","strong","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","tr","u","ul"].map(i=>({type:"type",label:i})),vk=["@charset","@color-profile","@container","@counter-style","@font-face","@font-feature-values","@font-palette-values","@import","@keyframes","@layer","@media","@namespace","@page","@position-try","@property","@scope","@starting-style","@supports","@view-transition"].map(i=>({type:"keyword",label:i})),Bt=/^(\w[\w-]*|-\w[\w-]*|)$/,$k=/^-(-[\w-]*)?$/;function Tk(i,e){var t;if((i.name=="("||i.type.isError)&&(i=i.parent||i),i.name!="ArgList")return!1;let n=(t=i.parent)===null||t===void 0?void 0:t.firstChild;return n?.name!="Callee"?!1:e.sliceString(n.from,n.to)=="var"}var _p=new ui,Ck=["Declaration"];function Xk(i){for(let e=i;;){if(e.type.isTop)return e;if(!(e=e.parent))return i}}function Rp(i,e,t){if(e.to-e.from>4096){let n=_p.get(e);if(n)return n;let r=[],s=new Set,o=e.cursor(te.IncludeAnonymous);if(o.firstChild())do for(let a of Rp(i,o.node,t))s.has(a.label)||(s.add(a.label),r.push(a));while(o.nextSibling());return _p.set(e,r),r}else{let n=[],r=new Set;return e.cursor().iterate(s=>{var o;if(t(s)&&s.matchContext(Ck)&&((o=s.node.nextSibling)===null||o===void 0?void 0:o.name)==":"){let a=i.sliceString(s.from,s.to);r.has(a)||(r.add(a),n.push({label:a,type:"variable"}))}}),n}}var _k=i=>e=>{let{state:t,pos:n}=e,r=U(t).resolveInner(n,-1),s=r.type.isError&&r.from==r.to-1&&t.doc.sliceString(r.from,r.to)=="-";if(r.name=="PropertyName"||(s||r.name=="TagName")&&/^(Block|Styles)$/.test(r.resolve(r.to).name))return{from:r.from,options:$c(),validFor:Bt};if(r.name=="ValueName")return{from:r.from,options:Xp,validFor:Bt};if(r.name=="PseudoClassName")return{from:r.from,options:Cp,validFor:Bt};if(i(r)||(e.explicit||s)&&Tk(r,t.doc))return{from:i(r)||s?r.from:n,options:Rp(t.doc,Xk(r),i),validFor:$k};if(r.name=="TagName"){for(let{parent:l}=r;l;l=l.parent)if(l.name=="Block")return{from:r.from,options:$c(),validFor:Bt};return{from:r.from,options:Pk,validFor:Bt}}if(r.name=="AtKeyword")return{from:r.from,options:vk,validFor:Bt};if(!e.explicit)return null;let o=r.resolve(n),a=o.childBefore(n);return a&&a.name==":"&&o.name=="PseudoClassSelector"?{from:n,options:Cp,validFor:Bt}:a&&a.name==":"&&o.name=="Declaration"||o.name=="ArgList"?{from:n,options:Xp,validFor:Bt}:o.name=="Block"||o.name=="Styles"?{from:n,options:$c(),validFor:Bt}:null},Rk=_k(i=>i.name=="VariableName"),Pr=$e.define({name:"css",parser:Tp.configure({props:[we.add({Declaration:Yt()}),Te.add({"Block KeyframeList":ht})]}),languageData:{commentTokens:{block:{open:"/*",close:"*/"}},indentOnInput:/^\s*\}$/,wordChars:"-"}});function ro(){return new me(Pr,Pr.data.of({autocomplete:Rk}))}var Ak=316,Zk=317,Ap=1,Ek=2,qk=3,zk=4,Lk=318,Mk=320,Wk=321,jk=5,Vk=6,Dk=0,Cc=[9,10,11,12,13,32,133,160,5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8232,8233,8239,8287,12288],Zp=125,Yk=59,Xc=47,Ik=42,Bk=43,Uk=45,Gk=60,Nk=44,Fk=63,Hk=46,Kk=91,Jk=new dt({start:!1,shift(i,e){return e==jk||e==Vk||e==Mk?i:e==Wk},strict:!1}),e1=new J((i,e)=>{let{next:t}=i;(t==Zp||t==-1||e.context)&&i.acceptToken(Lk)},{contextual:!0,fallback:!0}),t1=new J((i,e)=>{let{next:t}=i,n;Cc.indexOf(t)>-1||t==Xc&&((n=i.peek(1))==Xc||n==Ik)||t!=Zp&&t!=Yk&&t!=-1&&!e.context&&i.acceptToken(Ak)},{contextual:!0}),i1=new J((i,e)=>{i.next==Kk&&!e.context&&i.acceptToken(Zk)},{contextual:!0}),n1=new J((i,e)=>{let{next:t}=i;if(t==Bk||t==Uk){if(i.advance(),t==i.next){i.advance();let n=!e.context&&e.canShift(Ap);i.acceptToken(n?Ap:Ek)}}else t==Fk&&i.peek(1)==Hk&&(i.advance(),i.advance(),(i.next<48||i.next>57)&&i.acceptToken(qk))},{contextual:!0});function Tc(i,e){return i>=65&&i<=90||i>=97&&i<=122||i==95||i>=192||!e&&i>=48&&i<=57}var r1=new J((i,e)=>{if(i.next!=Gk||!e.dialectEnabled(Dk)||(i.advance(),i.next==Xc))return;let t=0;for(;Cc.indexOf(i.next)>-1;)i.advance(),t++;if(Tc(i.next,!0)){for(i.advance(),t++;Tc(i.next,!1);)i.advance(),t++;for(;Cc.indexOf(i.next)>-1;)i.advance(),t++;if(i.next==Nk)return;for(let n=0;;n++){if(n==7){if(!Tc(i.next,!0))return;break}if(i.next!="extends".charCodeAt(n))break;i.advance(),t++}}i.acceptToken(zk,-t)}),s1=Qe({"get set async static":d.modifier,"for while do if else switch try catch finally return throw break continue default case defer":d.controlKeyword,"in of await yield void typeof delete instanceof as satisfies":d.operatorKeyword,"let var const using function class extends":d.definitionKeyword,"import export from":d.moduleKeyword,"with debugger new":d.keyword,TemplateString:d.special(d.string),super:d.atom,BooleanLiteral:d.bool,this:d.self,null:d.null,Star:d.modifier,VariableName:d.variableName,"CallExpression/VariableName TaggedTemplateExpression/VariableName":d.function(d.variableName),VariableDefinition:d.definition(d.variableName),Label:d.labelName,PropertyName:d.propertyName,PrivatePropertyName:d.special(d.propertyName),"CallExpression/MemberExpression/PropertyName":d.function(d.propertyName),"FunctionDeclaration/VariableDefinition":d.function(d.definition(d.variableName)),"ClassDeclaration/VariableDefinition":d.definition(d.className),"NewExpression/VariableName":d.className,PropertyDefinition:d.definition(d.propertyName),PrivatePropertyDefinition:d.definition(d.special(d.propertyName)),UpdateOp:d.updateOperator,"LineComment Hashbang":d.lineComment,BlockComment:d.blockComment,Number:d.number,String:d.string,Escape:d.escape,ArithOp:d.arithmeticOperator,LogicOp:d.logicOperator,BitOp:d.bitwiseOperator,CompareOp:d.compareOperator,RegExp:d.regexp,Equals:d.definitionOperator,Arrow:d.function(d.punctuation),": Spread":d.punctuation,"( )":d.paren,"[ ]":d.squareBracket,"{ }":d.brace,"InterpolationStart InterpolationEnd":d.special(d.brace),".":d.derefOperator,", ;":d.separator,"@":d.meta,TypeName:d.typeName,TypeDefinition:d.definition(d.typeName),"type enum interface implements namespace module declare":d.definitionKeyword,"abstract global Privacy readonly override":d.modifier,"is keyof unique infer asserts":d.operatorKeyword,JSXAttributeValue:d.attributeValue,JSXText:d.content,"JSXStartTag JSXStartCloseTag JSXSelfCloseEndTag JSXEndTag":d.angleBracket,"JSXIdentifier JSXNameSpacedName":d.tagName,"JSXAttribute/JSXIdentifier JSXAttribute/JSXNameSpacedName":d.attributeName,"JSXBuiltin/JSXIdentifier":d.standard(d.tagName)}),o1={__proto__:null,export:20,as:25,from:33,default:36,async:41,function:42,in:52,out:55,const:56,extends:60,this:64,true:72,false:72,null:84,void:88,typeof:92,super:108,new:142,delete:154,yield:163,await:167,class:172,public:235,private:235,protected:235,readonly:237,instanceof:256,satisfies:259,import:292,keyof:349,unique:353,infer:359,asserts:395,is:397,abstract:417,implements:419,type:421,let:424,var:426,using:429,interface:435,enum:439,namespace:445,module:447,declare:451,global:455,defer:471,for:476,of:485,while:488,with:492,do:496,if:500,else:502,switch:506,case:512,try:518,catch:522,finally:526,return:530,throw:534,break:538,continue:542,debugger:546},a1={__proto__:null,async:129,get:131,set:133,declare:195,public:197,private:197,protected:197,static:199,abstract:201,override:203,readonly:209,accessor:211,new:401},l1={__proto__:null,"<":193},Ep=Pe.deserialize({version:14,states:"$F|Q%TQlOOO%[QlOOO'_QpOOP(lO`OOO*zQ!0MxO'#CiO+RO#tO'#CjO+aO&jO'#CjO+oO#@ItO'#DaO.QQlO'#DgO.bQlO'#DrO%[QlO'#DzO0fQlO'#ESOOQ!0Lf'#E['#E[O1PQ`O'#EXOOQO'#Ep'#EpOOQO'#Il'#IlO1XQ`O'#GsO1dQ`O'#EoO1iQ`O'#EoO3hQ!0MxO'#JrO6[Q!0MxO'#JsO6uQ`O'#F]O6zQ,UO'#FtOOQ!0Lf'#Ff'#FfO7VO7dO'#FfO9XQMhO'#F|O9`Q`O'#F{OOQ!0Lf'#Js'#JsOOQ!0Lb'#Jr'#JrO9eQ`O'#GwOOQ['#K_'#K_O9pQ`O'#IYO9uQ!0LrO'#IZOOQ['#J`'#J`OOQ['#I_'#I_Q`QlOOQ`QlOOO9}Q!L^O'#DvO:UQlO'#EOO:]QlO'#EQO9kQ`O'#GsO:dQMhO'#CoO:rQ`O'#EnO:}Q`O'#EyO;hQMhO'#FeO;xQ`O'#GsOOQO'#K`'#K`O;}Q`O'#K`O<]Q`O'#G{O<]Q`O'#G|O<]Q`O'#HOO9kQ`O'#HRO=SQ`O'#HUO>kQ`O'#CeO>{Q`O'#HcO?TQ`O'#HiO?TQ`O'#HkO`QlO'#HmO?TQ`O'#HoO?TQ`O'#HrO?YQ`O'#HxO?_Q!0LsO'#IOO%[QlO'#IQO?jQ!0LsO'#ISO?uQ!0LsO'#IUO9uQ!0LrO'#IWO@QQ!0MxO'#CiOASQpO'#DlQOQ`OOO%[QlO'#EQOAjQ`O'#ETO:dQMhO'#EnOAuQ`O'#EnOBQQ!bO'#FeOOQ['#Cg'#CgOOQ!0Lb'#Dq'#DqOOQ!0Lb'#Jv'#JvO%[QlO'#JvOOQO'#Jy'#JyOOQO'#Ih'#IhOCQQpO'#EgOOQ!0Lb'#Ef'#EfOOQ!0Lb'#J}'#J}OC|Q!0MSO'#EgODWQpO'#EWOOQO'#Jx'#JxODlQpO'#JyOEyQpO'#EWODWQpO'#EgPFWO&2DjO'#CbPOOO)CD})CD}OOOO'#I`'#I`OFcO#tO,59UOOQ!0Lh,59U,59UOOOO'#Ia'#IaOFqO&jO,59UOGPQ!L^O'#DcOOOO'#Ic'#IcOGWO#@ItO,59{OOQ!0Lf,59{,59{OGfQlO'#IdOGyQ`O'#JtOIxQ!fO'#JtO+}QlO'#JtOJPQ`O,5:ROJgQ`O'#EpOJtQ`O'#KTOKPQ`O'#KSOKPQ`O'#KSOKXQ`O,5;^OK^Q`O'#KROOQ!0Ln,5:^,5:^OKeQlO,5:^OMcQ!0MxO,5:fONSQ`O,5:nONmQ!0LrO'#KQONtQ`O'#KPO9eQ`O'#KPO! YQ`O'#KPO! bQ`O,5;]O! gQ`O'#KPO!#lQ!fO'#JsOOQ!0Lh'#Ci'#CiO%[QlO'#ESO!$[Q!fO,5:sOOQS'#Jz'#JzOOQO-EtOOQ['#Jh'#JhOOQ[,5>u,5>uOOQ[-E<]-E<]O!TO`QlO,5>VO!LOQ`O,5>XO`QlO,5>ZO!LTQ`O,5>^O!LYQlO,5>dOOQ[,5>j,5>jO%[QlO,5>jO9uQ!0LrO,5>lOOQ[,5>n,5>nO#!dQ`O,5>nOOQ[,5>p,5>pO#!dQ`O,5>pOOQ[,5>r,5>rO##QQpO'#D_O%[QlO'#JvO##sQpO'#JvO##}QpO'#DmO#$`QpO'#DmO#&qQlO'#DmO#&xQ`O'#JuO#'QQ`O,5:WO#'VQ`O'#EtO#'eQ`O'#KUO#'mQ`O,5;_O#'rQpO'#DmO#(PQpO'#EVOOQ!0Lf,5:o,5:oO%[QlO,5:oO#(WQ`O,5:oO?YQ`O,5;YO!CUQpO,5;YO!C^QMhO,5;YO:dQMhO,5;YO#(`Q`O,5@bO#(eQ07dO,5:sOOQO-EPO$6^Q`O,5>POOQ[1G3i1G3iO`QlO1G3iOOQ[1G3o1G3oOOQ[1G3q1G3qO?TQ`O1G3sO$6cQlO1G3uO$:gQlO'#HtOOQ[1G3x1G3xO$:tQ`O'#HzO?YQ`O'#H|OOQ[1G4O1G4OO$:|QlO1G4OO9uQ!0LrO1G4UOOQ[1G4W1G4WOOQ!0Lb'#G_'#G_O9uQ!0LrO1G4YO9uQ!0LrO1G4[O$?TQ`O,5@bO!)[QlO,5;`O9eQ`O,5;`O?YQ`O,5:XO!)[QlO,5:XO!CUQpO,5:XO$?YQ?MtO,5:XOOQO,5;`,5;`O$?dQpO'#IeO$?zQ`O,5@aOOQ!0Lf1G/r1G/rO$@SQpO'#IkO$@^Q`O,5@pOOQ!0Lb1G0y1G0yO#$`QpO,5:XOOQO'#Ig'#IgO$@fQpO,5:qOOQ!0Ln,5:q,5:qO#(ZQ`O1G0ZOOQ!0Lf1G0Z1G0ZO%[QlO1G0ZOOQ!0Lf1G0t1G0tO?YQ`O1G0tO!CUQpO1G0tO!C^QMhO1G0tOOQ!0Lb1G5|1G5|O!ByQ!0LrO1G0^OOQO1G0m1G0mO%[QlO1G0mO$@mQ!0LrO1G0mO$@xQ!0LrO1G0mO!CUQpO1G0^ODWQpO1G0^O$AWQ!0LrO1G0mOOQO1G0^1G0^O$AlQ!0MxO1G0mPOOO-E<[-E<[POOO1G.h1G.hOOOO1G/i1G/iO$AvQ!bO,5QQpO,5@}OOQ!0Lb1G3c1G3cOOQ[7+$V7+$VO@zQ`O7+$VO9uQ!0LrO7+$VO%>]Q`O7+$VO%[QlO1G6lO%[QlO1G6mO%>bQ!0LrO1G6lO%>lQlO1G3kO%>sQ`O1G3kO%>xQlO1G3kOOQ[7+)T7+)TO9uQ!0LrO7+)_O`QlO7+)aOOQ['#Kh'#KhOOQ['#JS'#JSO%?PQlO,5>`OOQ[,5>`,5>`O%[QlO'#HuO%?^Q`O'#HwOOQ[,5>f,5>fO9eQ`O,5>fOOQ[,5>h,5>hOOQ[7+)j7+)jOOQ[7+)p7+)pOOQ[7+)t7+)tOOQ[7+)v7+)vO%?cQpO1G5|O%?}Q?MtO1G0zO%@XQ`O1G0zOOQO1G/s1G/sO%@dQ?MtO1G/sO?YQ`O1G/sO!)[QlO'#DmOOQO,5?P,5?POOQO-ERQ`O7+,WO&>WQ`O7+,XO%[QlO7+,WO%[QlO7+,XOOQ[7+)V7+)VO&>]Q`O7+)VO&>bQlO7+)VO&>iQ`O7+)VOOQ[<nQ`O,5>aOOQ[,5>c,5>cO&>sQ`O1G4QO9eQ`O7+&fO!)[QlO7+&fOOQO7+%_7+%_O&>xQ?MtO1G6ZO?YQ`O7+%_OOQ!0Lf<yQ?MvO,5?aO'@|Q?MvO,5?cO'CPQ?MvO7+'|O'DuQMjOG27TOOQO<VO!l$xO#jROe!iOpkOrPO(T)]O(VTO(YUO(aVO(o[O~O!]$_Oa$qa'z$qa'w$qa!k$qa!Y$qa!_$qa%i$qa!g$qa~Ol)dO~P!&zOh%VOp%WOr%XOs$tOt$tOz%YO|%ZO!O%]O!S${O!_$|O!i%bO!l$xO#j%cO$W%`O$t%^O$v%_O$y%aO(T(vO(VTO(YUO(a$uO(y$}O(z%PO~Og(pP~P!,TO!Q)iO!g)hO!_$^X$Z$^X$]$^X$_$^X$f$^X~O!g)hO!_({X$Z({X$]({X$_({X$f({X~O!Q)iO~P!.^O!Q)iO!_({X$Z({X$]({X$_({X$f({X~O!_)kO$Z)oO$])jO$_)jO$f)pO~O![)sO~P!)[O$]$hO$_$gO$f)wO~On$zX!Q$zX#S$zX'y$zX(y$zX(z$zX~OgmXg$zXnmX!]mX#`mX~P!0SOx)yO(b)zO(c)|O~On*VO!Q*OO'y*PO(y$}O(z%PO~Og)}O~P!1WOg*WO~Oh%VOr%XOs$tOt$tOz%YO|%ZO!OVO!l$xO#jVO!l$xO#jROe!iOpkOrPO(VTO(YUO(aVO(o[O~O(T=QO~P#$qO!]-]O!^(iX~O!^-_O~O!g-VO#`-UO!]#hX!^#hX~O!]-`O!^(xX~O!^-bO~O!c-cO!d-cO(U!lO~P#$`O!^-fO~P'_On-iO!_'`O~O!Y-nO~Os!{a!b!{a!c!{a!d!{a#T!{a#U!{a#V!{a#W!{a#X!{a#[!{a#]!{a(U!{a(V!{a(Y!{a(e!{a(o!{a~P!#vO!p-sO#`-qO~PChO!c-uO!d-uO(U!lO~PDWOa%nO#`-qO'z%nO~Oa%nO!g#vO#`-qO'z%nO~Oa%nO!g#vO!p-sO#`-qO'z%nO(r'pO~O(P'xO(Q'xO(R-zO~Ov-{O~O!Y'Wa!]'Wa~P!:tO![.PO!Y'WX!]'WX~P%[O!](VO!Y(ha~O!Y(ha~PHRO!](^O!Y(va~O!S%hO![.TO!_%iO(T%gO!Y'^X!]'^X~O#`.VO!](ta!k(taa(ta'z(ta~O!g#vO~P#,wO!](jO!k(sa~O!S%hO!_%iO#j.ZO(T%gO~Op.`O!S%hO![.]O!_%iO!|]O#i._O#j.]O(T%gO!]'aX!k'aX~OR.dO!l#xO~Oh%VOn.gO!_'`O%i.fO~Oa#ci!]#ci'z#ci'w#ci!Y#ci!k#civ#ci!_#ci%i#ci!g#ci~P!:tOn>]O!Q*OO'y*PO(y$}O(z%PO~O#k#_aa#_a#`#_a'z#_a!]#_a!k#_a!_#_a!Y#_a~P#/sO#k(`XP(`XR(`X[(`Xa(`Xj(`Xr(`X!S(`X!l(`X!p(`X#R(`X#n(`X#o(`X#p(`X#q(`X#r(`X#s(`X#t(`X#u(`X#v(`X#x(`X#z(`X#{(`X'z(`X(a(`X(r(`X!k(`X!Y(`X'w(`Xv(`X!_(`X%i(`X!g(`X~P!6kO!].tO!k(kX~P!:tO!k.wO~O!Y.yO~OP$[OR#zO!Q#yO!S#{O!l#xO!p$[O(aVO[#mia#mij#mir#mi!]#mi#R#mi#o#mi#p#mi#q#mi#r#mi#s#mi#t#mi#u#mi#v#mi#x#mi#z#mi#{#mi'z#mi(r#mi(y#mi(z#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#n#mi~P#3cO#n$OO~P#3cOP$[OR#zOr$aO!Q#yO!S#{O!l#xO!p$[O#n$OO#o$PO#p$PO#q$PO(aVO[#mia#mij#mi!]#mi#R#mi#s#mi#t#mi#u#mi#v#mi#x#mi#z#mi#{#mi'z#mi(r#mi(y#mi(z#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#r#mi~P#6QO#r$QO~P#6QOP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO(aVOa#mi!]#mi#x#mi#z#mi#{#mi'z#mi(r#mi(y#mi(z#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#v#mi~P#8oOP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO#v$SO(aVO(z#}Oa#mi!]#mi#z#mi#{#mi'z#mi(r#mi(y#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#x$UO~P#;VO#x#mi~P#;VO#v$SO~P#8oOP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO#v$SO#x$UO(aVO(y#|O(z#}Oa#mi!]#mi#{#mi'z#mi(r#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#z#mi~P#={O#z$WO~P#={OP]XR]X[]Xj]Xr]X!Q]X!S]X!l]X!p]X#R]X#S]X#`]X#kfX#n]X#o]X#p]X#q]X#r]X#s]X#t]X#u]X#v]X#x]X#z]X#{]X$Q]X(a]X(r]X(y]X(z]X!]]X!^]X~O$O]X~P#@jOP$[OR#zO[]O!Q*OO'y*PO(y$}O(z%POP#miR#mi!S#mi!l#mi!p#mi#n#mi#o#mi#p#mi#q#mi(a#mi~P#EyO!]/POg(pX~P!1WOg/RO~Oa$Pi!]$Pi'z$Pi'w$Pi!Y$Pi!k$Piv$Pi!_$Pi%i$Pi!g$Pi~P!:tO$]/SO$_/SO~O$]/TO$_/TO~O!g)hO#`/UO!_$cX$Z$cX$]$cX$_$cX$f$cX~O![/VO~O!_)kO$Z/XO$])jO$_)jO$f/YO~O!]VO!l$xO#j^O!Q*OO'y*PO(y$}O(z%POP#miR#mi!S#mi!l#mi!p#mi#n#mi#o#mi#p#mi#q#mi(a#mi~P&,QO#S$dOP(`XR(`X[(`Xj(`Xn(`Xr(`X!Q(`X!S(`X!l(`X!p(`X#R(`X#n(`X#o(`X#p(`X#q(`X#r(`X#s(`X#t(`X#u(`X#v(`X#x(`X#z(`X#{(`X$O(`X'y(`X(a(`X(r(`X(y(`X(z(`X!](`X!^(`X~O$O$Pi!]$Pi!^$Pi~P#BwO$O!ri!^!ri~P$+oOg']a!]']a~P!1WO!^7nO~O!]'da!^'da~P#BwO!Y7oO~P#/sO!g#vO(r'pO!]'ea!k'ea~O!]/pO!k)Oi~O!]/pO!g#vO!k)Oi~Og$|q!]$|q#`$|q$O$|q~P!1WO!Y'ga!]'ga~P#/sO!g7vO~O!]/yO!Y)Pi~P#/sO!]/yO!Y)Pi~O!Y7yO~Oh%VOr8OO!l%eO(r'pO~Oj8QO!g#vO~Or8TO!g#vO(r'pO~O!Q*OO'y*PO(z%POn'ja(y'ja!]'ja#`'ja~Og'ja$O'ja~P&5RO!Q*OO'y*POn'la(y'la(z'la!]'la#`'la~Og'la$O'la~P&5tOg(_q!](_q~P!1WO#`8VOg(_q!](_q~P!1WO!Y8WO~Og%Oq!]%Oq#`%Oq$O%Oq~P!1WOa$oy!]$oy'z$oy'w$oy!Y$oy!k$oyv$oy!_$oy%i$oy!g$oy~P!:tO!g6rO~O!]5[O!_)Qa~O!_'`OP$TaR$Ta[$Taj$Tar$Ta!Q$Ta!S$Ta!]$Ta!l$Ta!p$Ta#R$Ta#n$Ta#o$Ta#p$Ta#q$Ta#r$Ta#s$Ta#t$Ta#u$Ta#v$Ta#x$Ta#z$Ta#{$Ta(a$Ta(r$Ta(y$Ta(z$Ta~O%i7WO~P&8fO%^8[Oa%[i!_%[i'z%[i!]%[i~Oa#cy!]#cy'z#cy'w#cy!Y#cy!k#cyv#cy!_#cy%i#cy!g#cy~P!:tO[8^O~Ob8`O(T+qO(VTO(YUO~O!]1TO!^)Xi~O`8dO~O(e(|O!]'pX!^'pX~O!]5uO!^)Ua~O!^8nO~P%;eO(o!sO~P$&YO#[8oO~O!_1oO~O!_1oO%i8qO~On8tO!_1oO%i8qO~O[8yO!]'sa!^'sa~O!]1zO!^)Vi~O!k8}O~O!k9OO~O!k9RO~O!k9RO~P%[Oa9TO~O!g9UO~O!k9VO~O!](wi!^(wi~P#BwOa%nO#`9_O'z%nO~O!](ty!k(tya(ty'z(ty~P!:tO!](jO!k(sy~O%i9bO~P&8fO!_'`O%i9bO~O#k$|qP$|qR$|q[$|qa$|qj$|qr$|q!S$|q!]$|q!l$|q!p$|q#R$|q#n$|q#o$|q#p$|q#q$|q#r$|q#s$|q#t$|q#u$|q#v$|q#x$|q#z$|q#{$|q'z$|q(a$|q(r$|q!k$|q!Y$|q'w$|q#`$|qv$|q!_$|q%i$|q!g$|q~P#/sO#k'jaP'jaR'ja['jaa'jaj'jar'ja!S'ja!l'ja!p'ja#R'ja#n'ja#o'ja#p'ja#q'ja#r'ja#s'ja#t'ja#u'ja#v'ja#x'ja#z'ja#{'ja'z'ja(a'ja(r'ja!k'ja!Y'ja'w'jav'ja!_'ja%i'ja!g'ja~P&5RO#k'laP'laR'la['laa'laj'lar'la!S'la!l'la!p'la#R'la#n'la#o'la#p'la#q'la#r'la#s'la#t'la#u'la#v'la#x'la#z'la#{'la'z'la(a'la(r'la!k'la!Y'la'w'lav'la!_'la%i'la!g'la~P&5tO#k%OqP%OqR%Oq[%Oqa%Oqj%Oqr%Oq!S%Oq!]%Oq!l%Oq!p%Oq#R%Oq#n%Oq#o%Oq#p%Oq#q%Oq#r%Oq#s%Oq#t%Oq#u%Oq#v%Oq#x%Oq#z%Oq#{%Oq'z%Oq(a%Oq(r%Oq!k%Oq!Y%Oq'w%Oq#`%Oqv%Oq!_%Oq%i%Oq!g%Oq~P#/sO!]'Yi!k'Yi~P!:tO$O#cq!]#cq!^#cq~P#BwO(y$}OP%aaR%aa[%aaj%aar%aa!S%aa!l%aa!p%aa#R%aa#n%aa#o%aa#p%aa#q%aa#r%aa#s%aa#t%aa#u%aa#v%aa#x%aa#z%aa#{%aa$O%aa(a%aa(r%aa!]%aa!^%aa~On%aa!Q%aa'y%aa(z%aa~P&IyO(z%POP%caR%ca[%caj%car%ca!S%ca!l%ca!p%ca#R%ca#n%ca#o%ca#p%ca#q%ca#r%ca#s%ca#t%ca#u%ca#v%ca#x%ca#z%ca#{%ca$O%ca(a%ca(r%ca!]%ca!^%ca~On%ca!Q%ca'y%ca(y%ca~P&LQOn>^O!Q*OO'y*PO(z%PO~P&IyOn>^O!Q*OO'y*PO(y$}O~P&LQOR0kO!Q0kO!S0lO#S$dOP}a[}aj}an}ar}a!l}a!p}a#R}a#n}a#o}a#p}a#q}a#r}a#s}a#t}a#u}a#v}a#x}a#z}a#{}a$O}a'y}a(a}a(r}a(y}a(z}a!]}a!^}a~O!Q*OO'y*POP$saR$sa[$saj$san$sar$sa!S$sa!l$sa!p$sa#R$sa#n$sa#o$sa#p$sa#q$sa#r$sa#s$sa#t$sa#u$sa#v$sa#x$sa#z$sa#{$sa$O$sa(a$sa(r$sa(y$sa(z$sa!]$sa!^$sa~O!Q*OO'y*POP$uaR$ua[$uaj$uan$uar$ua!S$ua!l$ua!p$ua#R$ua#n$ua#o$ua#p$ua#q$ua#r$ua#s$ua#t$ua#u$ua#v$ua#x$ua#z$ua#{$ua$O$ua(a$ua(r$ua(y$ua(z$ua!]$ua!^$ua~On>^O!Q*OO'y*PO(y$}O(z%PO~OP%TaR%Ta[%Taj%Tar%Ta!S%Ta!l%Ta!p%Ta#R%Ta#n%Ta#o%Ta#p%Ta#q%Ta#r%Ta#s%Ta#t%Ta#u%Ta#v%Ta#x%Ta#z%Ta#{%Ta$O%Ta(a%Ta(r%Ta!]%Ta!^%Ta~P''VO$O$mq!]$mq!^$mq~P#BwO$O$oq!]$oq!^$oq~P#BwO!^9oO~O$O9pO~P!1WO!g#vO!]'ei!k'ei~O!g#vO(r'pO!]'ei!k'ei~O!]/pO!k)Oq~O!Y'gi!]'gi~P#/sO!]/yO!Y)Pq~Or9wO!g#vO(r'pO~O[9yO!Y9xO~P#/sO!Y9xO~Oj:PO!g#vO~Og(_y!](_y~P!1WO!]'na!_'na~P#/sOa%[q!_%[q'z%[q!]%[q~P#/sO[:UO~O!]1TO!^)Xq~O`:YO~O#`:ZO!]'pa!^'pa~O!]5uO!^)Ui~P#BwO!S:]O~O!_1oO%i:`O~O(VTO(YUO(e:eO~O!]1zO!^)Vq~O!k:hO~O!k:iO~O!k:jO~O!k:jO~P%[O#`:mO!]#hy!^#hy~O!]#hy!^#hy~P#BwO%i:rO~P&8fO!_'`O%i:rO~O$O#|y!]#|y!^#|y~P#BwOP$|iR$|i[$|ij$|ir$|i!S$|i!l$|i!p$|i#R$|i#n$|i#o$|i#p$|i#q$|i#r$|i#s$|i#t$|i#u$|i#v$|i#x$|i#z$|i#{$|i$O$|i(a$|i(r$|i!]$|i!^$|i~P''VO!Q*OO'y*PO(z%POP'iaR'ia['iaj'ian'iar'ia!S'ia!l'ia!p'ia#R'ia#n'ia#o'ia#p'ia#q'ia#r'ia#s'ia#t'ia#u'ia#v'ia#x'ia#z'ia#{'ia$O'ia(a'ia(r'ia(y'ia!]'ia!^'ia~O!Q*OO'y*POP'kaR'ka['kaj'kan'kar'ka!S'ka!l'ka!p'ka#R'ka#n'ka#o'ka#p'ka#q'ka#r'ka#s'ka#t'ka#u'ka#v'ka#x'ka#z'ka#{'ka$O'ka(a'ka(r'ka(y'ka(z'ka!]'ka!^'ka~O(y$}OP%aiR%ai[%aij%ain%air%ai!Q%ai!S%ai!l%ai!p%ai#R%ai#n%ai#o%ai#p%ai#q%ai#r%ai#s%ai#t%ai#u%ai#v%ai#x%ai#z%ai#{%ai$O%ai'y%ai(a%ai(r%ai(z%ai!]%ai!^%ai~O(z%POP%ciR%ci[%cij%cin%cir%ci!Q%ci!S%ci!l%ci!p%ci#R%ci#n%ci#o%ci#p%ci#q%ci#r%ci#s%ci#t%ci#u%ci#v%ci#x%ci#z%ci#{%ci$O%ci'y%ci(a%ci(r%ci(y%ci!]%ci!^%ci~O$O$oy!]$oy!^$oy~P#BwO$O#cy!]#cy!^#cy~P#BwO!g#vO!]'eq!k'eq~O!]/pO!k)Oy~O!Y'gq!]'gq~P#/sOr:|O!g#vO(r'pO~O[;QO!Y;PO~P#/sO!Y;PO~Og(_!R!](_!R~P!1WOa%[y!_%[y'z%[y!]%[y~P#/sO!]1TO!^)Xy~O!]5uO!^)Uq~O(T;XO~O!_1oO%i;[O~O!k;_O~O%i;dO~P&8fOP$|qR$|q[$|qj$|qr$|q!S$|q!l$|q!p$|q#R$|q#n$|q#o$|q#p$|q#q$|q#r$|q#s$|q#t$|q#u$|q#v$|q#x$|q#z$|q#{$|q$O$|q(a$|q(r$|q!]$|q!^$|q~P''VO!Q*OO'y*PO(z%POP'jaR'ja['jaj'jan'jar'ja!S'ja!l'ja!p'ja#R'ja#n'ja#o'ja#p'ja#q'ja#r'ja#s'ja#t'ja#u'ja#v'ja#x'ja#z'ja#{'ja$O'ja(a'ja(r'ja(y'ja!]'ja!^'ja~O!Q*OO'y*POP'laR'la['laj'lan'lar'la!S'la!l'la!p'la#R'la#n'la#o'la#p'la#q'la#r'la#s'la#t'la#u'la#v'la#x'la#z'la#{'la$O'la(a'la(r'la(y'la(z'la!]'la!^'la~OP%OqR%Oq[%Oqj%Oqr%Oq!S%Oq!l%Oq!p%Oq#R%Oq#n%Oq#o%Oq#p%Oq#q%Oq#r%Oq#s%Oq#t%Oq#u%Oq#v%Oq#x%Oq#z%Oq#{%Oq$O%Oq(a%Oq(r%Oq!]%Oq!^%Oq~P''VOg%e!Z!]%e!Z#`%e!Z$O%e!Z~P!1WO!Y;hO~P#/sOr;iO!g#vO(r'pO~O[;kO!Y;hO~P#/sO!]'pq!^'pq~P#BwO!]#h!Z!^#h!Z~P#BwO#k%e!ZP%e!ZR%e!Z[%e!Za%e!Zj%e!Zr%e!Z!S%e!Z!]%e!Z!l%e!Z!p%e!Z#R%e!Z#n%e!Z#o%e!Z#p%e!Z#q%e!Z#r%e!Z#s%e!Z#t%e!Z#u%e!Z#v%e!Z#x%e!Z#z%e!Z#{%e!Z'z%e!Z(a%e!Z(r%e!Z!k%e!Z!Y%e!Z'w%e!Z#`%e!Zv%e!Z!_%e!Z%i%e!Z!g%e!Z~P#/sOr;tO!g#vO(r'pO~O!Y;uO~P#/sOr;|O!g#vO(r'pO~O!Y;}O~P#/sOP%e!ZR%e!Z[%e!Zj%e!Zr%e!Z!S%e!Z!l%e!Z!p%e!Z#R%e!Z#n%e!Z#o%e!Z#p%e!Z#q%e!Z#r%e!Z#s%e!Z#t%e!Z#u%e!Z#v%e!Z#x%e!Z#z%e!Z#{%e!Z$O%e!Z(a%e!Z(r%e!Z!]%e!Z!^%e!Z~P''VOrROe!iOpkOrPO(T)]O(VTO(YUO(aVO(o[O~O!]WO!l$xO#jgPPP!>oI[PPPPPPPPP!BOP!C]PPI[!DnPI[PI[I[I[I[I[PI[!FQP!I[P!LbP!Lf!Lp!Lt!LtP!IXP!Lx!LxP#!OP#!SI[PI[#!Y#%_CjA^PA^PA^A^P#&lA^A^#)OA^#+vA^#.SA^A^#.r#1W#1W#1]#1f#1W#1qPP#1WPA^#2ZA^#6YA^A^6mPPP#:_PPP#:x#:xP#:xP#;`#:xPP#;fP#;]P#;]#;y#;]#P#>V#>]#>k#>q#>{#?R#?]#?c#?s#?y#@k#@}#AT#AZ#Ai#BO#Cs#DR#DY#Et#FS#Gt#HS#HY#H`#Hf#Hp#Hv#H|#IW#Ij#IpPPPPPPPPPPP#IvPPPPPPP#Jk#Mx$ b$ i$ qPPP$']P$'f$*_$0x$0{$1O$1}$2Q$2X$2aP$2g$2jP$3W$3[$4S$5b$5g$5}PP$6S$6Y$6^$6a$6e$6i$7e$7|$8e$8i$8l$8o$8y$8|$9Q$9UR!|RoqOXst!Z#d%m&r&t&u&w,s,x2[2_Y!vQ'`-e1o5{Q%tvQ%|yQ&T|Q&j!VS'W!e-]Q'f!iS'l!r!yU*k$|*Z*oQ+o%}S+|&V&WQ,d&dQ-c'_Q-m'gQ-u'mQ0[*qQ1b,OQ1y,eR<{SU+P%]S!S!nQ!r!v!y!z$|'W'_'`'l'm'n*k*o*q*r-]-c-e-u0[0_1o5{5}%[$ti#v$b$c$d$x${%O%Q%^%_%c)y*R*T*V*Y*a*g*w*x+f+i,S,V.f/P/d/m/x/y/{0`0b0i0j0o1f1i1q3c4^4_4j4o5Q5[5_6S7W7v8Q8V8[8q9b9p9y:P:`:r;Q;[;d;kP>X>Y>]>^Q&X|Q'U!eS'[%i-`Q+t&PQ,P&WQ,f&gQ0n+SQ1Y+uQ1_+{Q2Q,jQ2R,kQ5f1TQ5o1aQ6[1zQ6_1|Q6`2PQ8`5gQ8c5lQ8|6bQ:X8dQ:f8yQ;V:YR<}*ZrnOXst!V!Z#d%m&i&r&t&u&w,s,x2[2_R,h&k&z^OPXYstuvwz!Z!`!g!j!o#S#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%m%t&R&k&n&o&r&t&u&w&{'T'b'r(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:mR>S[#]WZ#W#Z'X(T!b%jm#h#i#l$x%e%h(^(h(i(j*Y*^*b+Z+[+^,o-V.T.Z.[.]._/m/p2d3[3]4a6r7TQ%wxQ%{yW&Q|&V&W,OQ&_!TQ'c!hQ'e!iQ(q#sS+n%|%}Q+r&PQ,_&bQ,c&dS-l'f'gQ.i(rQ1R+oQ1X+uQ1Z+vQ1^+zQ1t,`S1x,d,eQ2|-mQ5e1TQ5i1WQ5n1`Q6Z1yQ8_5gQ8b5kQ8f5pQ:T8^R;T:U!U$zi$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Y!^%yy!i!u%{%|%}'V'e'f'g'k'u*j+n+o-Y-l-m-t0R0U1R2u2|3T4r4s4v7}9{Q+h%wQ,T&[Q,W&]Q,b&dQ.h(qQ1s,_U1w,c,d,eQ3e.iQ6U1tS6Y1x1yQ8x6Z#f>T#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k]>^o>UPS&[!Q&iQ&]!RQ&^!SU*}%[%d=sR,R&Y%]%Si#v$b$c$d$x${%O%Q%^%_%c)y*R*T*V*Y*a*g*w*x+f+i,S,V.f/P/d/m/x/y/{0`0b0i0j0o1f1i1q3c4^4_4j4o5Q5[5_6S7W7v8Q8V8[8q9b9p9y:P:`:r;Q;[;d;kP>X>Y>]>^T)z$u){V+P%]S$i$^c#Y#e%q%s%u(S(Y(t(y)R)S)T)U)V)W)X)Y)Z)[)^)`)b)g)q+d+x-Z-x-}.S.U.s.v.z.|.}/O/b0p2k2n3O3V3k3p3q3r3s3t3u3v3w3x3y3z3{3|4P4Q4X5X5c6u6{7Q7a7b7k7l8k9X9]9g9m9n:o;W;`SQ'Y!eR2q-]!W!nQ!e!r!v!y!z$|'W'_'`'l'm'n*Z*k*o*q*r-]-c-e-u0[0_1o5{5}R1l,ZnqOXst!Z#d%m&r&t&u&w,s,x2[2_Q&y!^Q'v!xS(s#u<^Q+l%zQ,]&_Q,^&aQ-j'dQ-w'oS.r(x=PS0q+X=ZQ1P+mQ1n,[Q2c,zQ2e,{Q2m-WQ2z-kQ2}-oS5Y0r=eQ5a1QS5d1S=fQ6t2oQ6x2{Q6}3SQ8]5bQ9Y6vQ9Z6yQ9^7OR:l9V$d$]c#Y#e%s%u(S(Y(t(y)R)S)T)U)V)W)X)Y)Z)[)^)`)b)g)q+d+x-Z-x-}.S.U.s.v.z.}/O/b0p2k2n3O3V3k3p3q3r3s3t3u3v3w3x3y3z3{3|4P4Q4X5X5c6u6{7Q7a7b7k7l8k9X9]9g9m9n:o;W;`SS#q]SU$fd)_,mS(p#p'iU*v%R(w4OU0m+O.n7gQ5^0xQ7V3`Q9d7YR:s9em!tQ!r!v!y!z'`'l'm'n-e-u1o5{5}Q't!uS(f#g2US-s'k'wQ/s*]Q0R*jQ3U-vQ4f/tQ4r0TQ4s0UQ4x0^Q7r4`S7}4t4vS8R4y4{Q9r7sQ9v7yQ9{8OQ:Q8TS:{9w9xS;g:|;PS;s;h;iS;{;t;uSSR=o>R%^bOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&o&r&t&u&w&{'T'b'r(T(V(](d(x(z)O)}*i+X+]+g,p,s,x-i-q.P.V.g.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3d3l4z6T6e6f6i6|7[8t9T9_Q%fj!^%xy!i!u%{%|%}'V'e'f'g'k'u*j+n+o-Y-l-m-t0R0U1R2u2|3T4r4s4v7}9{S&Oz!jQ+k%yQ,a&dW1v,b,c,d,eU6X1w1x1yS8w6Y6ZQ:d8x!r=j$Z$n'X)s-U-X/V2p4T5w6s:Z:mSQ=t>QR=u>R%QeOPXYstuvw!Z!`!g!o#S#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&r&t&u&w&{'T'b'r(V(](d(x(z)O)}*i+X+]+g,p,s,x-i-q.P.V.g.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3d3l4z6T6e6f6i6|7[8t9T9_Y#bWZ#W#Z(T!b%jm#h#i#l$x%e%h(^(h(i(j*Y*^*b+Z+[+^,o-V.T.Z.[.]._/m/p2d3[3]4a6r7TQ,n&o!p=k$Z$n)s-U-X/V2p4T5w6s:Z:mSR=n'XU']!e%i*ZR2s-`%SdOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&r&t&u&w&{'T'b'r(T(V(](d(x(z)O)}*i+X+],p,s,x-i-q.P.V.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3l4z6T6e6f6i6|8t9T9_!r)_$Z$n'X)s-U-X/V2p4T5w6s:Z:mSQ,m&oQ0x+gQ3`.gQ7Y3dR9e7[!b$Tc#Y%q(S(Y(t(y)Z)[)`)g+x-x-}.S.U.s.v/b0p3O3V3k3{5X5c6{7Q7a9]:oS)^)q-Z.|2k2n3p4P4X6u7b7k7l8k9X9g9m9n;W;`=vQ>X>ZR>Y>['QkOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%m%t&R&k&n&o&r&t&u&w&{'T'X'b'r(T(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:mSS$oh$pR4U/U'XgOPWXYZhstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n$p%m%t&R&k&n&o&r&t&u&w&{'T'X'b'r(T(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/U/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:mST$kf$qQ$ifS)j$l)nR)v$qT$jf$qT)l$l)n'XhOPWXYZhstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n$p%m%t&R&k&n&o&r&t&u&w&{'T'X'b'r(T(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/U/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:mST$oh$pQ$rhR)u$p%^jOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&o&r&t&u&w&{'T'b'r(T(V(](d(x(z)O)}*i+X+]+g,p,s,x-i-q.P.V.g.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3d3l4z6T6e6f6i6|7[8t9T9_!s>Q$Z$n'X)s-U-X/V2p4T5w6s:Z:mS#glOPXZst!Z!`!o#S#d#o#{$n%m&k&n&o&r&t&u&w&{'T'b)O)s*i+]+g,p,s,x-i.g/V/n0]0l1r2S2T2V2X2[2_2a3d4T4z6T6e6f6i7[8t9T!U%Ri$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Y#f(w#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k]>^Q+T%aQ/c*Oo4OP>X>YQ*c$zU*l$|*Z*oQ+U%bQ0W*m#f=q#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k]>^n=rTQ=x>UQ=y>VR=z>W!U%Ri$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Y#f(w#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k]>^o4OP>X>Y>]>^Q,U&]Q1h,WQ5s1gR8h5tV*n$|*Z*oU*n$|*Z*oT5z1o5{S0P*i/nQ4w0]T8S4z:]Q+j%xQ0V*lQ1O+kQ1u,aQ6W1vQ8v6XQ:c8wR;^:d!U%Oi$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Yx*R$v)e*S*u+V/v0d0e4R4g5R5S5W7p8U:R:x=p=}>OS0`*t0a#f]>^nZ>[`=T3}7c7f7j9h:t:w;yS=_.l3iT=`7e9k!U%Qi$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Y|*T$v)e*U*t+V/g/v0d0e4R4g4|5R5S5W7p8U:R:x=p=}>OS0b*u0c#f]>^nZ>[d=V3}7d7e7j9h9i:t:u:w;yS=a.m3jT=b7f9lrnOXst!V!Z#d%m&i&r&t&u&w,s,x2[2_Q&f!UR,p&ornOXst!V!Z#d%m&i&r&t&u&w,s,x2[2_R&f!UQ,Y&^R1d,RsnOXst!V!Z#d%m&i&r&t&u&w,s,x2[2_Q1p,_S6R1s1tU8p6P6Q6US:_8r8sS;Y:^:aQ;m;ZR;w;nQ&m!VR,i&iR6_1|R:f8yW&Q|&V&W,OR1Z+vQ&r!WR,s&sR,y&xT2],x2_R,}&yQ,|&yR2f,}Q'y!{R-y'ySsOtQ#dXT%ps#dQ#OTR'{#OQ#RUR'}#RQ){$uR/`){Q#UVR(Q#UQ#XWU(W#X(X.QQ(X#YR.Q(YQ-^'YR2r-^Q.u(yS3m.u3nR3n.vQ-e'`R2v-eY!rQ'`-e1o5{R'j!rQ/Q)eR4S/QU#_W%h*YU(_#_(`.RQ(`#`R.R(ZQ-a']R2t-at`OXst!V!Z#d%m&i&k&r&t&u&w,s,x2[2_S#hZ%eU#r`#h.[R.[(jQ(k#jQ.X(gW.a(k.X3X7RQ3X.YR7R3YQ)n$lR/W)nQ$phR)t$pQ$`cU)a$`-|O>Z>[Q/z*eU4k/z4m7xQ4m/|R7x4lS*o$|*ZR0Y*ox*S$v)e*t*u+V/v0d0e4R4g5R5S5W7p8U:R:x=p=}>O!d.j(u)c*[*e.l.m.q/_/k/|0v1e3h4[4h4l5r7]7`7w7z8X8Z9t9|:S:};R;e;j;v>Z>[U/h*S.j7ca7c3}7e7f7j9h:t:w;yQ0a*tQ3i.lU4}0a3i9kR9k7e|*U$v)e*t*u+V/g/v0d0e4R4g4|5R5S5W7p8U:R:x=p=}>O!h.k(u)c*[*e.l.m.q/_/k/|0v1e3f3h4[4h4l5r7]7^7`7w7z8X8Z9t9|:S:};R;e;j;v>Z>[U/j*U.k7de7d3}7e7f7j9h9i:t:u:w;yQ0c*uQ3j.mU5P0c3j9lR9l7fQ*z%UR0g*zQ5]0vR8Y5]Q+_%kR0u+_Q5v1jS8j5v:[R:[8kQ,[&_R1m,[Q5{1oR8m5{Q1{,fS6]1{8zR8z6_Q1U+rW5h1U5j8a:VQ5j1XQ8a5iR:V8bQ+w&QR1[+wQ2_,xR6m2_YrOXst#dQ&v!ZQ+a%mQ,r&rQ,t&tQ,u&uQ,w&wQ2Y,sS2],x2_R6l2[Q%opQ&z!_Q&}!aQ'P!bQ'R!cQ'q!uQ+`%lQ+l%zQ,Q&XQ,h&mQ-P&|W-p'k's't'wQ-w'oQ0X*nQ1P+mQ1c,PS2O,i,lQ2g-OQ2h-RQ2i-SQ2}-oW3P-r-s-v-xQ5a1QQ5m1_Q5q1eQ6V1uQ6a2QQ6k2ZU6z3O3R3UQ6}3SQ8]5bQ8e5oQ8g5rQ8l5zQ8u6WQ8{6`S9[6{7PQ9^7OQ:W8cQ:b8vQ:g8|Q:n9]Q;U:XQ;]:cQ;a:oQ;l;VR;o;^Q%zyQ'd!iQ'o!uU+m%{%|%}Q-W'VU-k'e'f'gS-o'k'uQ0Q*jS1Q+n+oQ2o-YS2{-l-mQ3S-tS4p0R0UQ5b1RQ6v2uQ6y2|Q7O3TU7{4r4s4vQ9z7}R;O9{S$wi>PR*{%VU%Ui%V>PR0f*yQ$viS(u#v+iS)c$b$cQ)e$dQ*[$xS*e${*YQ*t%OQ*u%QQ+Q%^Q+R%_Q+V%cQ.lPQ=}>XQ>O>YQ>Z>]R>[>^Q+O%]Q.nSR#[WR'Z!el!tQ!r!v!y!z'`'l'm'n-e-u1o5{5}S'V!e-]U*j$|*Z*oS-Y'W'_S0U*k*qQ0^*rQ2u-cQ4v0[R4{0_R({#xQ!fQT-d'`-e]!qQ!r'`-e1o5{Q#p]R'i < TypeParamList in out const TypeDefinition extends ThisType this LiteralType ArithOp Number BooleanLiteral TemplateType InterpolationEnd Interpolation InterpolationStart NullType null VoidType void TypeofType typeof MemberExpression . PropertyName [ TemplateString Escape Interpolation super RegExp ] ArrayExpression Spread , } { ObjectExpression Property async get set PropertyDefinition Block : NewTarget new NewExpression ) ( ArgList UnaryExpression delete LogicOp BitOp YieldExpression yield AwaitExpression await ParenthesizedExpression ClassExpression class ClassBody MethodDeclaration Decorator @ MemberExpression PrivatePropertyName CallExpression TypeArgList CompareOp < declare Privacy static abstract override PrivatePropertyDefinition PropertyDeclaration readonly accessor Optional TypeAnnotation Equals StaticBlock FunctionExpression ArrowFunction ParamList ParamList ArrayPattern ObjectPattern PatternProperty Privacy readonly Arrow MemberExpression BinaryExpression ArithOp ArithOp ArithOp ArithOp BitOp CompareOp instanceof satisfies CompareOp BitOp BitOp BitOp LogicOp LogicOp ConditionalExpression LogicOp LogicOp AssignmentExpression UpdateOp PostfixExpression CallExpression InstantiationExpression TaggedTemplateExpression DynamicImport import ImportMeta JSXElement JSXSelfCloseEndTag JSXSelfClosingTag JSXIdentifier JSXBuiltin JSXIdentifier JSXNamespacedName JSXMemberExpression JSXSpreadAttribute JSXAttribute JSXAttributeValue JSXEscape JSXEndTag JSXOpenTag JSXFragmentTag JSXText JSXEscape JSXStartCloseTag JSXCloseTag PrefixCast < ArrowFunction TypeParamList SequenceExpression InstantiationExpression KeyofType keyof UniqueType unique ImportType InferredType infer TypeName ParenthesizedType FunctionSignature ParamList NewSignature IndexedType TupleType Label ArrayType ReadonlyType ObjectType MethodType PropertyType IndexSignature PropertyDefinition CallSignature TypePredicate asserts is NewSignature new UnionType LogicOp IntersectionType LogicOp ConditionalType ParameterizedType ClassDeclaration abstract implements type VariableDeclaration let var using TypeAliasDeclaration InterfaceDeclaration interface EnumDeclaration enum EnumBody NamespaceDeclaration namespace module AmbientDeclaration declare GlobalDeclaration global ClassDeclaration ClassBody AmbientFunctionDeclaration ExportGroup VariableName VariableName ImportDeclaration defer ImportGroup ForStatement for ForSpec ForInSpec ForOfSpec of WhileStatement while WithStatement with DoStatement do IfStatement if else SwitchStatement switch SwitchBody CaseLabel case DefaultLabel TryStatement try CatchClause catch FinallyClause finally ReturnStatement return ThrowStatement throw BreakStatement break ContinueStatement continue DebuggerStatement debugger LabeledStatement ExpressionStatement SingleExpression SingleClassItem",maxTerm:380,context:Jk,nodeProps:[["isolate",-8,5,6,14,37,39,51,53,55,""],["group",-26,9,17,19,68,207,211,215,216,218,221,224,234,237,243,245,247,249,252,258,264,266,268,270,272,274,275,"Statement",-34,13,14,32,35,36,42,51,54,55,57,62,70,72,76,80,82,84,85,110,111,120,121,136,139,141,142,143,144,145,147,148,167,169,171,"Expression",-23,31,33,37,41,43,45,173,175,177,178,180,181,182,184,185,186,188,189,190,201,203,205,206,"Type",-3,88,103,109,"ClassItem"],["openedBy",23,"<",38,"InterpolationStart",56,"[",60,"{",73,"(",160,"JSXStartCloseTag"],["closedBy",-2,24,168,">",40,"InterpolationEnd",50,"]",61,"}",74,")",165,"JSXEndTag"]],propSources:[s1],skippedNodes:[0,5,6,278],repeatNodeCount:37,tokenData:"$Fq07[R!bOX%ZXY+gYZ-yZ[+g[]%Z]^.c^p%Zpq+gqr/mrs3cst:_tuEruvJSvwLkwx! Yxy!'iyz!(sz{!)}{|!,q|}!.O}!O!,q!O!P!/Y!P!Q!9j!Q!R#:O!R![#<_![!]#I_!]!^#Jk!^!_#Ku!_!`$![!`!a$$v!a!b$*T!b!c$,r!c!}Er!}#O$-|#O#P$/W#P#Q$4o#Q#R$5y#R#SEr#S#T$7W#T#o$8b#o#p$x#r#s$@U#s$f%Z$f$g+g$g#BYEr#BY#BZ$A`#BZ$ISEr$IS$I_$A`$I_$I|Er$I|$I}$Dk$I}$JO$Dk$JO$JTEr$JT$JU$A`$JU$KVEr$KV$KW$A`$KW&FUEr&FU&FV$A`&FV;'SEr;'S;=`I|<%l?HTEr?HT?HU$A`?HUOEr(n%d_$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z&j&hT$i&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c&j&zP;=`<%l&c'|'U]$i&j(Z!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!b(SU(Z!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}!b(iP;=`<%l'}'|(oP;=`<%l&}'[(y]$i&j(WpOY(rYZ&cZr(rrs&cs!^(r!^!_)r!_#O(r#O#P&c#P#o(r#o#p)r#p;'S(r;'S;=`*a<%lO(rp)wU(WpOY)rZr)rs#O)r#P;'S)r;'S;=`*Z<%lO)rp*^P;=`<%l)r'[*dP;=`<%l(r#S*nX(Wp(Z!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g#S+^P;=`<%l*g(n+dP;=`<%l%Z07[+rq$i&j(Wp(Z!b'|0/lOX%ZXY+gYZ&cZ[+g[p%Zpq+gqr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p$f%Z$f$g+g$g#BY%Z#BY#BZ+g#BZ$IS%Z$IS$I_+g$I_$JT%Z$JT$JU+g$JU$KV%Z$KV$KW+g$KW&FU%Z&FU&FV+g&FV;'S%Z;'S;=`+a<%l?HT%Z?HT?HU+g?HUO%Z07[.ST(X#S$i&j'}0/lO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c07[.n_$i&j(Wp(Z!b'}0/lOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z)3p/x`$i&j!p),Q(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`0z!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW1V`#v(Ch$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`2X!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW2d_#v(Ch$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'At3l_(V':f$i&j(Z!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k(^4r_$i&j(Z!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k&z5vX$i&jOr5qrs6cs!^5q!^!_6y!_#o5q#o#p6y#p;'S5q;'S;=`7h<%lO5q&z6jT$d`$i&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c`6|TOr6yrs7]s;'S6y;'S;=`7b<%lO6y`7bO$d``7eP;=`<%l6y&z7kP;=`<%l5q(^7w]$d`$i&j(Z!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!r8uZ(Z!bOY8pYZ6yZr8prs9hsw8pwx6yx#O8p#O#P6y#P;'S8p;'S;=`:R<%lO8p!r9oU$d`(Z!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}!r:UP;=`<%l8p(^:[P;=`<%l4k%9[:hh$i&j(Wp(Z!bOY%ZYZ&cZq%Zqr`#P#o`x!^=^!^!_?q!_#O=^#O#P>`#P#o=^#o#p?q#p;'S=^;'S;=`@h<%lO=^&n>gXWS$i&jOY>`YZ&cZ!^>`!^!_?S!_#o>`#o#p?S#p;'S>`;'S;=`?k<%lO>`S?XSWSOY?SZ;'S?S;'S;=`?e<%lO?SS?hP;=`<%l?S&n?nP;=`<%l>`!f?xWWS(Z!bOY?qZw?qwx?Sx#O?q#O#P?S#P;'S?q;'S;=`@b<%lO?q!f@eP;=`<%l?q(Q@kP;=`<%l=^'`@w]WS$i&j(WpOY@nYZ&cZr@nrs>`s!^@n!^!_Ap!_#O@n#O#P>`#P#o@n#o#pAp#p;'S@n;'S;=`Bg<%lO@ntAwWWS(WpOYApZrAprs?Ss#OAp#O#P?S#P;'SAp;'S;=`Ba<%lOAptBdP;=`<%lAp'`BjP;=`<%l@n#WBvYWS(Wp(Z!bOYBmZrBmrs?qswBmwxApx#OBm#O#P?S#P;'SBm;'S;=`Cf<%lOBm#WCiP;=`<%lBm(rCoP;=`<%l^!Q^$i&j!X7`OY!=yYZ&cZ!P!=y!P!Q!>|!Q!^!=y!^!_!@c!_!}!=y!}#O!CW#O#P!Dy#P#o!=y#o#p!@c#p;'S!=y;'S;=`!Ek<%lO!=y|#X#Z&c#Z#[!>|#[#]&c#]#^!>|#^#a&c#a#b!>|#b#g&c#g#h!>|#h#i&c#i#j!>|#j#k!>|#k#m&c#m#n!>|#n#o&c#p;'S&c;'S;=`&w<%lO&c7`!@hX!X7`OY!@cZ!P!@c!P!Q!AT!Q!}!@c!}#O!Ar#O#P!Bq#P;'S!@c;'S;=`!CQ<%lO!@c7`!AYW!X7`#W#X!AT#Z#[!AT#]#^!AT#a#b!AT#g#h!AT#i#j!AT#j#k!AT#m#n!AT7`!AuVOY!ArZ#O!Ar#O#P!B[#P#Q!@c#Q;'S!Ar;'S;=`!Bk<%lO!Ar7`!B_SOY!ArZ;'S!Ar;'S;=`!Bk<%lO!Ar7`!BnP;=`<%l!Ar7`!BtSOY!@cZ;'S!@c;'S;=`!CQ<%lO!@c7`!CTP;=`<%l!@c^!Ezl$i&j(Z!b!X7`OY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#W&}#W#X!Eq#X#Z&}#Z#[!Eq#[#]&}#]#^!Eq#^#a&}#a#b!Eq#b#g&}#g#h!Eq#h#i&}#i#j!Eq#j#k!Eq#k#m&}#m#n!Eq#n#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}8r!GyZ(Z!b!X7`OY!GrZw!Grwx!@cx!P!Gr!P!Q!Hl!Q!}!Gr!}#O!JU#O#P!Bq#P;'S!Gr;'S;=`!J|<%lO!Gr8r!Hse(Z!b!X7`OY'}Zw'}x#O'}#P#W'}#W#X!Hl#X#Z'}#Z#[!Hl#[#]'}#]#^!Hl#^#a'}#a#b!Hl#b#g'}#g#h!Hl#h#i'}#i#j!Hl#j#k!Hl#k#m'}#m#n!Hl#n;'S'};'S;=`(f<%lO'}8r!JZX(Z!bOY!JUZw!JUwx!Arx#O!JU#O#P!B[#P#Q!Gr#Q;'S!JU;'S;=`!Jv<%lO!JU8r!JyP;=`<%l!JU8r!KPP;=`<%l!Gr>^!KZ^$i&j(Z!bOY!KSYZ&cZw!KSwx!CWx!^!KS!^!_!JU!_#O!KS#O#P!DR#P#Q!^!LYP;=`<%l!KS>^!L`P;=`<%l!_#c#d#Bq#d#l%Z#l#m#Es#m#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#>j_$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#?rd$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!R#AQ!R!S#AQ!S!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#AQ#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#A]f$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!R#AQ!R!S#AQ!S!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#AQ#S#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#Bzc$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!Y#DV!Y!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#DV#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#Dbe$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!Y#DV!Y!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#DV#S#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#E|g$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![#Ge![!^%Z!^!_*g!_!c%Z!c!i#Ge!i#O%Z#O#P&c#P#R%Z#R#S#Ge#S#T%Z#T#Z#Ge#Z#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#Gpi$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![#Ge![!^%Z!^!_*g!_!c%Z!c!i#Ge!i#O%Z#O#P&c#P#R%Z#R#S#Ge#S#T%Z#T#Z#Ge#Z#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z*)x#Il_!g$b$i&j$O)Lv(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z)[#Jv_al$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z04f#LS^h#)`#R-v$?V_!^(CdvBr$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z?O$@a_!q7`$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z07[$Aq|$i&j(Wp(Z!b'|0/l$]#t(T,2j(e$I[OX%ZXY+gYZ&cZ[+g[p%Zpq+gqr%Zrs&}st%ZtuEruw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Er![!^%Z!^!_*g!_!c%Z!c!}Er!}#O%Z#O#P&c#P#R%Z#R#SEr#S#T%Z#T#oEr#o#p*g#p$f%Z$f$g+g$g#BYEr#BY#BZ$A`#BZ$ISEr$IS$I_$A`$I_$JTEr$JT$JU$A`$JU$KVEr$KV$KW$A`$KW&FUEr&FU&FV$A`&FV;'SEr;'S;=`I|<%l?HTEr?HT?HU$A`?HUOEr07[$D|k$i&j(Wp(Z!b'}0/l$]#t(T,2j(e$I[OY%ZYZ&cZr%Zrs&}st%ZtuEruw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Er![!^%Z!^!_*g!_!c%Z!c!}Er!}#O%Z#O#P&c#P#R%Z#R#SEr#S#T%Z#T#oEr#o#p*g#p$g%Z$g;'SEr;'S;=`I|<%lOEr",tokenizers:[t1,i1,n1,r1,2,3,4,5,6,7,8,9,10,11,12,13,14,e1,new bi("$S~RRtu[#O#Pg#S#T#|~_P#o#pb~gOx~~jVO#i!P#i#j!U#j#l!P#l#m!q#m;'S!P;'S;=`#v<%lO!P~!UO!U~~!XS!Q![!e!c!i!e#T#Z!e#o#p#Z~!hR!Q![!q!c!i!q#T#Z!q~!tR!Q![!}!c!i!}#T#Z!}~#QR!Q![!P!c!i!P#T#Z!P~#^R!Q![#g!c!i#g#T#Z#g~#jS!Q![#g!c!i#g#T#Z#g#q#r!P~#yP;=`<%l!P~$RO(c~~",141,340),new bi("j~RQYZXz{^~^O(Q~~aP!P!Qd~iO(R~~",25,323)],topRules:{Script:[0,7],SingleExpression:[1,276],SingleClassItem:[2,277]},dialects:{jsx:0,ts:15175},dynamicPrecedences:{80:1,82:1,94:1,169:1,199:1},specialized:[{term:327,get:i=>o1[i]||-1},{term:343,get:i=>a1[i]||-1},{term:95,get:i=>l1[i]||-1}],tokenPrec:15201});var Mp=[ce("function ${name}(${params}) {\n ${}\n}",{label:"function",detail:"definition",type:"keyword"}),ce("for (let ${index} = 0; ${index} < ${bound}; ${index}++) {\n ${}\n}",{label:"for",detail:"loop",type:"keyword"}),ce("for (let ${name} of ${collection}) {\n ${}\n}",{label:"for",detail:"of loop",type:"keyword"}),ce("do {\n ${}\n} while (${})",{label:"do",detail:"loop",type:"keyword"}),ce("while (${}) {\n ${}\n}",{label:"while",detail:"loop",type:"keyword"}),ce(`try { \${} } catch (\${error}) { \${} @@ -26,22 +26,22 @@ constructor(\${params}) { \${} } -}`,{label:"class",detail:"definition",type:"keyword"}),ce('import {${names}} from "${module}"\n${}',{label:"import",detail:"named",type:"keyword"}),ce('import ${name} from "${module}"\n${}',{label:"import",detail:"default",type:"keyword"})],a1=zp.concat([ce("interface ${name} {\n ${}\n}",{label:"interface",detail:"definition",type:"keyword"}),ce("type ${name} = ${type}",{label:"type",detail:"definition",type:"keyword"}),ce("enum ${name} {\n ${}\n}",{label:"enum",detail:"definition",type:"keyword"})]),Zp=new fi,Lp=new Set(["Script","Block","FunctionExpression","FunctionDeclaration","ArrowFunction","MethodDeclaration","ForStatement"]);function vr(i){return(e,t)=>{let n=e.node.getChild("VariableDefinition");return n&&t(n,i),!0}}var l1=["FunctionDeclaration"],c1={FunctionDeclaration:vr("function"),ClassDeclaration:vr("class"),ClassExpression:()=>!0,EnumDeclaration:vr("constant"),TypeAliasDeclaration:vr("type"),NamespaceDeclaration:vr("namespace"),VariableDefinition(i,e){i.matchContext(l1)||e(i,"variable")},TypeDefinition(i,e){e(i,"type")},__proto__:null};function Mp(i,e){let t=Zp.get(e);if(t)return t;let n=[],r=!0;function s(o,a){let l=i.sliceString(o.from,o.to);n.push({label:l,type:a})}return e.cursor(ee.IncludeAnonymous).iterate(o=>{if(r)r=!1;else if(o.name){let a=c1[o.name];if(a&&a(o,s)||Lp.has(o.name))return!1}else if(o.to-o.from>8192){for(let a of Mp(i,o.node))n.push(a);return!1}}),Zp.set(e,n),n}var qp=/^[\w$\xa1-\uffff][\w$\d\xa1-\uffff]*$/,Wp=["TemplateString","String","RegExp","LineComment","BlockComment","VariableDefinition","TypeDefinition","Label","PropertyDefinition","PropertyName","PrivatePropertyDefinition","PrivatePropertyName","JSXText","JSXAttributeValue","JSXOpenTag","JSXCloseTag","JSXSelfClosingTag",".","?."];function h1(i){let e=B(i.state).resolveInner(i.pos,-1);if(Wp.indexOf(e.name)>-1)return null;let t=e.name=="VariableName"||e.to-e.from<20&&qp.test(i.state.sliceDoc(e.from,e.to));if(!t&&!i.explicit)return null;let n=[];for(let r=e;r;r=r.parent)Lp.has(r.name)&&(n=n.concat(Mp(i.state.doc,r)));return{options:n,from:t?e.from:i.pos,validFor:qp}}var wt=ve.define({name:"javascript",parser:Ap.configure({props:[we.add({IfStatement:Yt({except:/^\s*({|else\b)/}),TryStatement:Yt({except:/^\s*({|catch\b|finally\b)/}),LabeledStatement:sO,SwitchBody:i=>{let e=i.textAfter,t=/^\s*\}/.test(e),n=/^\s*(case|default)\b/.test(e);return i.baseIndent+(t?0:n?1:2)*i.unit},Block:St({closing:"}"}),ArrowFunction:i=>i.baseIndent+i.unit,"TemplateString BlockComment":()=>null,"Statement Property":Yt({except:/^\s*{/}),JSXElement(i){let e=/^\s*<\//.test(i.textAfter);return i.lineIndent(i.node.from)+(e?0:i.unit)},JSXEscape(i){let e=/\s*\}/.test(i.textAfter);return i.lineIndent(i.node.from)+(e?0:i.unit)},"JSXOpenTag JSXSelfClosingTag"(i){return i.column(i.node.from)+i.unit}}),$e.add({"Block ClassBody SwitchBody EnumBody ObjectExpression ArrayExpression ObjectType":ct,BlockComment(i){return{from:i.from+2,to:i.to-2}},JSXElement(i){let e=i.firstChild;if(!e||e.name=="JSXSelfClosingTag")return null;let t=i.lastChild;return{from:e.to,to:t.type.isError?i.to:t.from}},"JSXSelfClosingTag JSXOpenTag"(i){var e;let t=(e=i.firstChild)===null||e===void 0?void 0:e.nextSibling,n=i.lastChild;return!t||t.type.isError?null:{from:t.to,to:n.type.isError?i.to:n.from}}})]}),languageData:{closeBrackets:{brackets:["(","[","{","'",'"',"`"]},commentTokens:{line:"//",block:{open:"/*",close:"*/"}},indentOnInput:/^\s*(?:case |default:|\{|\}|<\/)$/,wordChars:"$"}}),jp={test:i=>/^JSX/.test(i.name),facet:kn({commentTokens:{block:{open:"{/*",close:"*/}"}}})},Xc=wt.configure({dialect:"ts"},"typescript"),_c=wt.configure({dialect:"jsx",props:[Es.add(i=>i.isTop?[jp]:void 0)]}),Rc=wt.configure({dialect:"jsx ts",props:[Es.add(i=>i.isTop?[jp]:void 0)]},"typescript"),Vp=i=>({label:i,type:"keyword"}),Dp="break case const continue default delete export extends false finally in instanceof let new return static super switch this throw true typeof var yield".split(" ").map(Vp),f1=Dp.concat(["declare","implements","private","protected","public"].map(Vp));function so(i={}){let e=i.jsx?i.typescript?Rc:_c:i.typescript?Xc:wt,t=i.typescript?a1.concat(f1):zp.concat(Dp);return new pe(e,[wt.data.of({autocomplete:Bs(Wp,Is(t))}),wt.data.of({autocomplete:h1}),i.jsx?d1:[]])}function u1(i){for(;;){if(i.name=="JSXOpenTag"||i.name=="JSXSelfClosingTag"||i.name=="JSXFragmentTag")return i;if(i.name=="JSXEscape"||!i.parent)return null;i=i.parent}}function Ep(i,e,t=i.length){for(let n=e?.firstChild;n;n=n.nextSibling)if(n.name=="JSXIdentifier"||n.name=="JSXBuiltin"||n.name=="JSXNamespacedName"||n.name=="JSXMemberExpression")return i.sliceString(n.from,Math.min(n.to,t));return""}var O1=typeof navigator=="object"&&/Android\b/.test(navigator.userAgent),d1=E.inputHandler.of((i,e,t,n,r)=>{if((O1?i.composing:i.compositionStarted)||i.state.readOnly||e!=t||n!=">"&&n!="/"||!wt.isActiveAt(i.state,e,-1))return!1;let s=r(),{state:o}=s,a=o.changeByRange(l=>{var c;let{head:h}=l,f=B(o).resolveInner(h-1,-1),u;if(f.name=="JSXStartTag"&&(f=f.parent),!(o.doc.sliceString(h-1,h)!=n||f.name=="JSXAttributeValue"&&f.to>h)){if(n==">"&&f.name=="JSXFragmentTag")return{range:l,changes:{from:h,insert:""}};if(n=="/"&&f.name=="JSXStartCloseTag"){let O=f.parent,p=O.parent;if(p&&O.from==h-2&&((u=Ep(o.doc,p.firstChild,h))||((c=p.firstChild)===null||c===void 0?void 0:c.name)=="JSXFragmentTag")){let m=`${u}>`;return{range:v.cursor(h+m.length,-1),changes:{from:h,insert:m}}}}else if(n==">"){let O=u1(f);if(O&&O.name=="JSXOpenTag"&&!/^\/?>|^<\//.test(o.doc.sliceString(h,h+2))&&(u=Ep(o.doc,O,h)))return{range:l,changes:{from:h,insert:``}}}}return{range:l}});return a.changes.empty?!1:(i.dispatch([s,o.update(a,{userEvent:"input.complete",scrollIntoView:!0})]),!0)});var $r=["_blank","_self","_top","_parent"],Ac=["ascii","utf-8","utf-16","latin1","latin1"],Zc=["get","post","put","delete"],qc=["application/x-www-form-urlencoded","multipart/form-data","text/plain"],et=["true","false"],D={},p1={a:{attrs:{href:null,ping:null,type:null,media:null,target:$r,hreflang:null}},abbr:D,address:D,area:{attrs:{alt:null,coords:null,href:null,target:null,ping:null,media:null,hreflang:null,type:null,shape:["default","rect","circle","poly"]}},article:D,aside:D,audio:{attrs:{src:null,mediagroup:null,crossorigin:["anonymous","use-credentials"],preload:["none","metadata","auto"],autoplay:["autoplay"],loop:["loop"],controls:["controls"]}},b:D,base:{attrs:{href:null,target:$r}},bdi:D,bdo:D,blockquote:{attrs:{cite:null}},body:D,br:D,button:{attrs:{form:null,formaction:null,name:null,value:null,autofocus:["autofocus"],disabled:["autofocus"],formenctype:qc,formmethod:Zc,formnovalidate:["novalidate"],formtarget:$r,type:["submit","reset","button"]}},canvas:{attrs:{width:null,height:null}},caption:D,center:D,cite:D,code:D,col:{attrs:{span:null}},colgroup:{attrs:{span:null}},command:{attrs:{type:["command","checkbox","radio"],label:null,icon:null,radiogroup:null,command:null,title:null,disabled:["disabled"],checked:["checked"]}},data:{attrs:{value:null}},datagrid:{attrs:{disabled:["disabled"],multiple:["multiple"]}},datalist:{attrs:{data:null}},dd:D,del:{attrs:{cite:null,datetime:null}},details:{attrs:{open:["open"]}},dfn:D,div:D,dl:D,dt:D,em:D,embed:{attrs:{src:null,type:null,width:null,height:null}},eventsource:{attrs:{src:null}},fieldset:{attrs:{disabled:["disabled"],form:null,name:null}},figcaption:D,figure:D,footer:D,form:{attrs:{action:null,name:null,"accept-charset":Ac,autocomplete:["on","off"],enctype:qc,method:Zc,novalidate:["novalidate"],target:$r}},h1:D,h2:D,h3:D,h4:D,h5:D,h6:D,head:{children:["title","base","link","style","meta","script","noscript","command"]},header:D,hgroup:D,hr:D,html:{attrs:{manifest:null}},i:D,iframe:{attrs:{src:null,srcdoc:null,name:null,width:null,height:null,sandbox:["allow-top-navigation","allow-same-origin","allow-forms","allow-scripts"],seamless:["seamless"]}},img:{attrs:{alt:null,src:null,ismap:null,usemap:null,width:null,height:null,crossorigin:["anonymous","use-credentials"]}},input:{attrs:{alt:null,dirname:null,form:null,formaction:null,height:null,list:null,max:null,maxlength:null,min:null,name:null,pattern:null,placeholder:null,size:null,src:null,step:null,value:null,width:null,accept:["audio/*","video/*","image/*"],autocomplete:["on","off"],autofocus:["autofocus"],checked:["checked"],disabled:["disabled"],formenctype:qc,formmethod:Zc,formnovalidate:["novalidate"],formtarget:$r,multiple:["multiple"],readonly:["readonly"],required:["required"],type:["hidden","text","search","tel","url","email","password","datetime","date","month","week","time","datetime-local","number","range","color","checkbox","radio","file","submit","image","reset","button"]}},ins:{attrs:{cite:null,datetime:null}},kbd:D,keygen:{attrs:{challenge:null,form:null,name:null,autofocus:["autofocus"],disabled:["disabled"],keytype:["RSA"]}},label:{attrs:{for:null,form:null}},legend:D,li:{attrs:{value:null}},link:{attrs:{href:null,type:null,hreflang:null,media:null,sizes:["all","16x16","16x16 32x32","16x16 32x32 64x64"]}},map:{attrs:{name:null}},mark:D,menu:{attrs:{label:null,type:["list","context","toolbar"]}},meta:{attrs:{content:null,charset:Ac,name:["viewport","application-name","author","description","generator","keywords"],"http-equiv":["content-language","content-type","default-style","refresh"]}},meter:{attrs:{value:null,min:null,low:null,high:null,max:null,optimum:null}},nav:D,noscript:D,object:{attrs:{data:null,type:null,name:null,usemap:null,form:null,width:null,height:null,typemustmatch:["typemustmatch"]}},ol:{attrs:{reversed:["reversed"],start:null,type:["1","a","A","i","I"]},children:["li","script","template","ul","ol"]},optgroup:{attrs:{disabled:["disabled"],label:null}},option:{attrs:{disabled:["disabled"],label:null,selected:["selected"],value:null}},output:{attrs:{for:null,form:null,name:null}},p:D,param:{attrs:{name:null,value:null}},pre:D,progress:{attrs:{value:null,max:null}},q:{attrs:{cite:null}},rp:D,rt:D,ruby:D,samp:D,script:{attrs:{type:["text/javascript"],src:null,async:["async"],defer:["defer"],charset:Ac}},section:D,select:{attrs:{form:null,name:null,size:null,autofocus:["autofocus"],disabled:["disabled"],multiple:["multiple"]}},slot:{attrs:{name:null}},small:D,source:{attrs:{src:null,type:null,media:null}},span:D,strong:D,style:{attrs:{type:["text/css"],media:null,scoped:null}},sub:D,summary:D,sup:D,table:D,tbody:D,td:{attrs:{colspan:null,rowspan:null,headers:null}},template:D,textarea:{attrs:{dirname:null,form:null,maxlength:null,name:null,placeholder:null,rows:null,cols:null,autofocus:["autofocus"],disabled:["disabled"],readonly:["readonly"],required:["required"],wrap:["soft","hard"]}},tfoot:D,th:{attrs:{colspan:null,rowspan:null,headers:null,scope:["row","col","rowgroup","colgroup"]}},thead:D,time:{attrs:{datetime:null}},title:D,tr:D,track:{attrs:{src:null,label:null,default:null,kind:["subtitles","captions","descriptions","chapters","metadata"],srclang:null}},ul:{children:["li","script","template","ul","ol"]},var:D,video:{attrs:{src:null,poster:null,width:null,height:null,crossorigin:["anonymous","use-credentials"],preload:["auto","metadata","none"],autoplay:["autoplay"],mediagroup:["movie"],muted:["muted"],controls:["controls"]}},wbr:D},Up={accesskey:null,class:null,contenteditable:et,contextmenu:null,dir:["ltr","rtl","auto"],draggable:["true","false","auto"],dropzone:["copy","move","link","string:","file:"],hidden:["hidden"],id:null,inert:["inert"],itemid:null,itemprop:null,itemref:null,itemscope:["itemscope"],itemtype:null,lang:["ar","bn","de","en-GB","en-US","es","fr","hi","id","ja","pa","pt","ru","tr","zh"],spellcheck:et,autocorrect:et,autocapitalize:et,style:null,tabindex:null,title:null,translate:["yes","no"],rel:["stylesheet","alternate","author","bookmark","help","license","next","nofollow","noreferrer","prefetch","prev","search","tag"],role:"alert application article banner button cell checkbox complementary contentinfo dialog document feed figure form grid gridcell heading img list listbox listitem main navigation region row rowgroup search switch tab table tabpanel textbox timer".split(" "),"aria-activedescendant":null,"aria-atomic":et,"aria-autocomplete":["inline","list","both","none"],"aria-busy":et,"aria-checked":["true","false","mixed","undefined"],"aria-controls":null,"aria-describedby":null,"aria-disabled":et,"aria-dropeffect":null,"aria-expanded":["true","false","undefined"],"aria-flowto":null,"aria-grabbed":["true","false","undefined"],"aria-haspopup":et,"aria-hidden":et,"aria-invalid":["true","false","grammar","spelling"],"aria-label":null,"aria-labelledby":null,"aria-level":null,"aria-live":["off","polite","assertive"],"aria-multiline":et,"aria-multiselectable":et,"aria-owns":null,"aria-posinset":null,"aria-pressed":["true","false","mixed","undefined"],"aria-readonly":et,"aria-relevant":null,"aria-required":et,"aria-selected":["true","false","undefined"],"aria-setsize":null,"aria-sort":["ascending","descending","none","other"],"aria-valuemax":null,"aria-valuemin":null,"aria-valuenow":null,"aria-valuetext":null},Gp="beforeunload copy cut dragstart dragover dragleave dragenter dragend drag paste focus blur change click load mousedown mouseenter mouseleave mouseup keydown keyup resize scroll unload".split(" ").map(i=>"on"+i);for(let i of Gp)Up[i]=null;var Bi=class{constructor(e,t){this.tags={...p1,...e},this.globalAttrs={...Up,...t},this.allTags=Object.keys(this.tags),this.globalAttrNames=Object.keys(this.globalAttrs)}};Bi.default=new Bi;function $n(i,e,t=i.length){if(!e)return"";let n=e.firstChild,r=n&&n.getChild("TagName");return r?i.sliceString(r.from,Math.min(r.to,t)):""}function Tn(i,e=!1){for(;i;i=i.parent)if(i.name=="Element")if(e)e=!1;else return i;return null}function Np(i,e,t){let n=t.tags[$n(i,Tn(e))];return n?.children||t.allTags}function Ec(i,e){let t=[];for(let n=Tn(e);n&&!n.type.isTop;n=Tn(n.parent)){let r=$n(i,n);if(r&&n.lastChild.name=="CloseTag")break;r&&t.indexOf(r)<0&&(e.name=="EndTag"||e.from>=n.firstChild.to)&&t.push(r)}return t}var Fp=/^[:\-\.\w\u00b7-\uffff]*$/;function Yp(i,e,t,n,r){let s=/\s*>/.test(i.sliceDoc(r,r+5))?"":">",o=Tn(t,t.name=="StartTag"||t.name=="TagName");return{from:n,to:r,options:Np(i.doc,o,e).map(a=>({label:a,type:"type"})).concat(Ec(i.doc,t).map((a,l)=>({label:"/"+a,apply:"/"+a+s,type:"type",boost:99-l}))),validFor:/^\/?[:\-\.\w\u00b7-\uffff]*$/}}function Ip(i,e,t,n){let r=/\s*>/.test(i.sliceDoc(n,n+5))?"":">";return{from:t,to:n,options:Ec(i.doc,e).map((s,o)=>({label:s,apply:s+r,type:"type",boost:99-o})),validFor:Fp}}function m1(i,e,t,n){let r=[],s=0;for(let o of Np(i.doc,t,e))r.push({label:"<"+o,type:"type"});for(let o of Ec(i.doc,t))r.push({label:"",type:"type",boost:99-s++});return{from:n,to:n,options:r,validFor:/^<\/?[:\-\.\w\u00b7-\uffff]*$/}}function g1(i,e,t,n,r){let s=Tn(t),o=s?e.tags[$n(i.doc,s)]:null,a=o&&o.attrs?Object.keys(o.attrs):[],l=o&&o.globalAttrs===!1?a:a.length?a.concat(e.globalAttrNames):e.globalAttrNames;return{from:n,to:r,options:l.map(c=>({label:c,type:"property"})),validFor:Fp}}function Q1(i,e,t,n,r){var s;let o=(s=t.parent)===null||s===void 0?void 0:s.getChild("AttributeName"),a=[],l;if(o){let c=i.sliceDoc(o.from,o.to),h=e.globalAttrs[c];if(!h){let f=Tn(t),u=f?e.tags[$n(i.doc,f)]:null;h=u?.attrs&&u.attrs[c]}if(h){let f=i.sliceDoc(n,r).toLowerCase(),u='"',O='"';/^['"]/.test(f)?(l=f[0]=='"'?/^[^"]*$/:/^[^']*$/,u="",O=i.sliceDoc(r,r+1)==f[0]?"":f[0],f=f.slice(1),n++):l=/^[^\s<>='"]*$/;for(let p of h)a.push({label:p,apply:u+p+O,type:"constant"})}}return{from:n,to:r,options:a,validFor:l}}function Hp(i,e){let{state:t,pos:n}=e,r=B(t).resolveInner(n,-1),s=r.resolve(n);for(let o=n,a;s==r&&(a=r.childBefore(o));){let l=a.lastChild;if(!l||!l.type.isError||l.fromHp(n,r)}var S1=wt.parser.configure({top:"SingleExpression"}),Jp=[{tag:"script",attrs:i=>i.type=="text/typescript"||i.lang=="ts",parser:Xc.parser},{tag:"script",attrs:i=>i.type=="text/babel"||i.type=="text/jsx",parser:_c.parser},{tag:"script",attrs:i=>i.type=="text/typescript-jsx",parser:Rc.parser},{tag:"script",attrs(i){return/^(importmap|speculationrules|application\/(.+\+)?json)$/i.test(i.type)},parser:S1},{tag:"script",attrs(i){return!i.type||/^(?:text|application)\/(?:x-)?(?:java|ecma)script$|^module$|^$/i.test(i.type)},parser:wt.parser},{tag:"style",attrs(i){return(!i.lang||i.lang=="css")&&(!i.type||/^(text\/)?(x-)?(stylesheet|css)$/i.test(i.type))},parser:Pr.parser}],em=[{name:"style",parser:Pr.parser.configure({top:"Styles"})}].concat(Gp.map(i=>({name:i,parser:wt.parser}))),tm=ve.define({name:"html",parser:Qp.configure({props:[we.add({Element(i){let e=/^(\s*)(<\/)?/.exec(i.textAfter);return i.node.to<=i.pos+e[0].length?i.continue():i.lineIndent(i.node.from)+(e[2]?0:i.unit)},"OpenTag CloseTag SelfClosingTag"(i){return i.column(i.node.from)+i.unit},Document(i){if(i.pos+/\s*/.exec(i.textAfter)[0].lengthi.getChild("TagName")})]}),languageData:{commentTokens:{block:{open:""}},indentOnInput:/^\s*<\/\w+\W$/,wordChars:"-_"}}),oo=tm.configure({wrap:xc(Jp,em)});function ao(i={}){let e="",t;i.matchClosingTags===!1&&(e="noMatch"),i.selfClosingTags===!0&&(e=(e?e+" ":"")+"selfClosing"),(i.nestedLanguages&&i.nestedLanguages.length||i.nestedAttributes&&i.nestedAttributes.length)&&(t=xc((i.nestedLanguages||[]).concat(Jp),(i.nestedAttributes||[]).concat(em)));let n=t?tm.configure({wrap:t,dialect:e}):e?oo.configure({dialect:e}):oo;return new pe(n,[oo.data.of({autocomplete:b1(i)}),i.autoCloseTags!==!1?y1:[],so().support,ro().support])}var Bp=new Set("area base br col command embed frame hr img input keygen link meta param source track wbr menuitem".split(" ")),y1=E.inputHandler.of((i,e,t,n,r)=>{if(i.composing||i.state.readOnly||e!=t||n!=">"&&n!="/"||!oo.isActiveAt(i.state,e,-1))return!1;let s=r(),{state:o}=s,a=o.changeByRange(l=>{var c,h,f;let u=o.doc.sliceString(l.from-1,l.to)==n,{head:O}=l,p=B(o).resolveInner(O,-1),m;if(u&&n==">"&&p.name=="EndTag"){let b=p.parent;if(((h=(c=b.parent)===null||c===void 0?void 0:c.lastChild)===null||h===void 0?void 0:h.name)!="CloseTag"&&(m=$n(o.doc,b.parent,O))&&!Bp.has(m)){let g=O+(o.doc.sliceString(O,O+1)===">"?1:0),Q=``;return{range:l,changes:{from:O,to:g,insert:Q}}}}else if(u&&n=="/"&&p.name=="IncompleteCloseTag"){let b=p.parent;if(p.from==O-2&&((f=b.lastChild)===null||f===void 0?void 0:f.name)!="CloseTag"&&(m=$n(o.doc,b,O))&&!Bp.has(m)){let g=O+(o.doc.sliceString(O,O+1)===">"?1:0),Q=`${m}>`;return{range:v.cursor(O+Q.length,-1),changes:{from:O,to:g,insert:Q}}}}return{range:l}});return a.changes.empty?!1:(i.dispatch([s,o.update(a,{userEvent:"input.complete",scrollIntoView:!0})]),!0)});var rm=kn({commentTokens:{block:{open:""}}}),sm=new I,om=Vd.configure({props:[$e.add(i=>!i.is("Block")||i.is("Document")||Mc(i)!=null||k1(i)?void 0:(e,t)=>({from:t.doc.lineAt(e.from).to,to:e.to})),sm.add(Mc),we.add({Document:()=>null}),bt.add({Document:rm})]});function Mc(i){let e=/^(?:ATX|Setext)Heading(\d)$/.exec(i.name);return e?+e[1]:void 0}function k1(i){return i.name=="OrderedList"||i.name=="BulletList"}function x1(i,e){let t=i;for(;;){let n=t.nextSibling,r;if(!n||(r=Mc(n.type))!=null&&r<=e)break;t=n}return t.to}var w1=oO.of((i,e,t)=>{for(let n=B(i).resolveInner(t,-1);n&&!(n.fromt)return{from:t,to:s}}return null});function Wc(i){return new xe(rm,i,[],"markdown")}var P1=Wc(om),v1=om.configure([Id,Gd,Ud,Nd,{props:[$e.add({Table:(i,e)=>({from:e.doc.lineAt(i.from).to,to:i.to})})]}]),bi=Wc(v1);function $1(i,e){return t=>{if(t&&i){let n=null;if(t=/\S*/.exec(t)[0],typeof i=="function"?n=i(t):n=Be.matchLanguageName(i,t,!0),n instanceof Be)return n.support?n.support.language.parser:Mi.getSkippingParser(n.load());if(n)return n.parser}return e?e.parser:null}}var Tr=class{constructor(e,t,n,r,s,o,a){this.node=e,this.from=t,this.to=n,this.spaceBefore=r,this.spaceAfter=s,this.type=o,this.item=a}blank(e,t=!0){let n=this.spaceBefore+(this.node.name=="Blockquote"?">":"");if(e!=null){for(;n.length0;r--)n+=" ";return n+(t?this.spaceAfter:"")}}marker(e,t){let n=this.node.name=="OrderedList"?String(+lm(this.item,e)[2]+t):"";return this.spaceBefore+n+this.type+this.spaceAfter}};function am(i,e){let t=[],n=[];for(let r=i;r;r=r.parent){if(r.name=="FencedCode")return n;(r.name=="ListItem"||r.name=="Blockquote")&&t.push(r)}for(let r=t.length-1;r>=0;r--){let s=t[r],o,a=e.lineAt(s.from),l=s.from-a.from;if(s.name=="Blockquote"&&(o=/^ *>( ?)/.exec(a.text.slice(l))))n.push(new Tr(s,l,l+o[0].length,"",o[1],">",null));else if(s.name=="ListItem"&&s.parent.name=="OrderedList"&&(o=/^( *)\d+([.)])( *)/.exec(a.text.slice(l)))){let c=o[3],h=o[0].length;c.length>=4&&(c=c.slice(0,c.length-4),h-=4),n.push(new Tr(s.parent,l,l+h,o[1],c,o[2],s))}else if(s.name=="ListItem"&&s.parent.name=="BulletList"&&(o=/^( *)([-+*])( {1,4}\[[ xX]\])?( +)/.exec(a.text.slice(l)))){let c=o[4],h=o[0].length;c.length>4&&(c=c.slice(0,c.length-4),h-=4);let f=o[2];o[3]&&(f+=o[3].replace(/[xX]/," ")),n.push(new Tr(s.parent,l,l+h,o[1],c,f,s))}}return n}function lm(i,e){return/^(\s*)(\d+)(?=[.)])/.exec(e.sliceString(i.from,i.from+10))}function zc(i,e,t,n=0){for(let r=-1,s=i;;){if(s.name=="ListItem"){let a=lm(s,e),l=+a[2];if(r>=0){if(l!=r+1)return;t.push({from:s.from+a[1].length,to:s.from+a[0].length,insert:String(r+2+n)})}r=l}let o=s.nextSibling;if(!o)break;s=o}}function jc(i,e){let t=/^[ \t]*/.exec(i)[0].length;if(!t||e.facet(Rt)!=" ")return i;let n=Fe(i,4,t),r="";for(let s=n;s>0;)s>=4?(r+=" ",s-=4):(r+=" ",s--);return r+i.slice(t)}var T1=(i={})=>({state:e,dispatch:t})=>{let n=B(e),{doc:r}=e,s=null,o=e.changeByRange(a=>{if(!a.empty||!bi.isActiveAt(e,a.from,-1)&&!bi.isActiveAt(e,a.from,1))return s={range:a};let l=a.from,c=r.lineAt(l),h=am(n.resolveInner(l,-1),r);for(;h.length&&h[h.length-1].from>l-c.from;)h.pop();if(!h.length)return s={range:a};let f=h[h.length-1];if(f.to-f.spaceAfter.length>l-c.from)return s={range:a};let u=l>=f.to-f.spaceAfter.length&&!/\S/.test(c.text.slice(f.to));if(f.item&&u){let g=f.node.firstChild,Q=f.node.getChild("ListItem","ListItem");if(g.to>=l||Q&&Q.to0&&!/[^\s>]/.test(r.lineAt(c.from-1).text)||i.nonTightLists===!1){let S=h.length>1?h[h.length-2]:null,x,P="";S&&S.item?(x=c.from+S.from,P=S.marker(r,1)):x=c.from+(S?S.to:0);let $=[{from:x,to:l,insert:P}];return f.node.name=="OrderedList"&&zc(f.item,r,$,-2),S&&S.node.name=="OrderedList"&&zc(S.item,r,$),{range:v.cursor(x+P.length),changes:$}}else{let S=nm(h,e,c);return{range:v.cursor(l+S.length+1),changes:{from:c.from,insert:S+e.lineBreak}}}}if(f.node.name=="Blockquote"&&u&&c.from){let g=r.lineAt(c.from-1),Q=/>\s*$/.exec(g.text);if(Q&&Q.index==f.from){let S=e.changes([{from:g.from+Q.index,to:g.to},{from:c.from+f.from,to:c.to}]);return{range:a.map(S),changes:S}}}let O=[];f.node.name=="OrderedList"&&zc(f.item,r,O);let p=f.item&&f.item.from]*/.exec(c.text)[0].length>=f.to)for(let g=0,Q=h.length-1;g<=Q;g++)m+=g==Q&&!p?h[g].marker(r,1):h[g].blank(gc.from&&/\s/.test(c.text.charAt(b-c.from-1));)b--;return m=jc(m,e),X1(f.node,e.doc)&&(m=nm(h,e,c)+e.lineBreak+m),O.push({from:b,to:l,insert:e.lineBreak+m}),{range:v.cursor(b+m.length+1),changes:O}});return s?!1:(t(e.update(o,{scrollIntoView:!0,userEvent:"input"})),!0)},C1=T1();function im(i){return i.name=="QuoteMark"||i.name=="ListMark"}function X1(i,e){if(i.name!="OrderedList"&&i.name!="BulletList")return!1;let t=i.firstChild,n=i.getChild("ListItem","ListItem");if(!n)return!1;let r=e.lineAt(t.to),s=e.lineAt(n.from),o=/^[\s>]*$/.test(r.text);return r.number+(o?0:1){let t=B(i),n=null,r=i.changeByRange(s=>{let o=s.from,{doc:a}=i;if(s.empty&&bi.isActiveAt(i,s.from)){let l=a.lineAt(o),c=am(_1(t,o),a);if(c.length){let h=c[c.length-1],f=h.to-h.spaceAfter.length+(h.spaceAfter?1:0);if(o-l.from>f&&!/\S/.test(l.text.slice(f,o-l.from)))return{range:v.cursor(l.from+f),changes:{from:l.from+f,to:o}};if(o-l.from==f&&(!h.item||l.from<=h.item.from||!/\S/.test(l.text.slice(0,h.to)))){let u=l.from+h.from;if(h.item&&h.node.from{var t;let{main:n}=e.state.selection;if(n.empty)return!1;let r=(t=i.clipboardData)===null||t===void 0?void 0:t.getData("text/plain");if(!r||!/^(https?:\/\/|mailto:|xmpp:|www\.)/.test(r)||(/^www\./.test(r)&&(r="https://"+r),!bi.isActiveAt(e.state,n.from,1)))return!1;let s=B(e.state),o=!1;return s.iterate({from:n.from,to:n.to,enter:a=>{(a.from>n.from||q1.test(a.name))&&(o=!0)},leave:a=>{a.to{if(i.next==-1&&e.canShift(hm))return i.acceptToken(hm);let t=i.peek(-1);if((Gt(t)||t<0)&&e.context.type!=Xr){if(Xn(i,45))if(e.canShift(Cn))i.acceptToken(Cn);else return i.acceptToken(z1,3);if(Xn(i,46))if(e.canShift(Cn))i.acceptToken(Cn);else return i.acceptToken(L1,3);let n=0;for(;i.next==32;)n++,i.advance();(n{if(e.context.type==Xr){i.next==63&&(i.advance(),Ui(i.next)&&i.acceptToken(j1));return}if(i.next==45)i.advance(),Ui(i.next)&&i.acceptToken(e.context.type==Nc&&e.context.depth==Cr(i,i.pos-1)?M1:Om);else if(i.next==63)i.advance(),Ui(i.next)&&i.acceptToken(e.context.type==Ic&&e.context.depth==Cr(i,i.pos-1)?W1:dm);else{let t=i.pos;for(;;)if(Uc(i.next)){if(i.pos==t)return;i.advance()}else if(i.next==33)Qm(i);else if(i.next==38)Gc(i);else if(i.next==42){Gc(i);break}else if(i.next==39||i.next==34){if(Fc(i,!0))break;return}else if(i.next==91||i.next==123){if(!sx(i))return;break}else{bm(i,!0,!1,0);break}for(;Uc(i.next);)i.advance();if(i.next==58){if(i.pos==t&&e.canShift(F1))return;let n=i.peek(1);Ui(n)&&i.acceptTokenTo(e.context.type==Ic&&e.context.depth==Cr(i,t)?V1:pm,t)}}},{contextual:!0});function rx(i){return i>32&&i<127&&i!=34&&i!=37&&i!=44&&i!=60&&i!=62&&i!=92&&i!=94&&i!=96&&i!=123&&i!=124&&i!=125}function fm(i){return i>=48&&i<=57||i>=97&&i<=102||i>=65&&i<=70}function um(i,e){return i.next==37?(i.advance(),fm(i.next)&&i.advance(),fm(i.next)&&i.advance(),!0):rx(i.next)||e&&i.next==44?(i.advance(),!0):!1}function Qm(i){if(i.advance(),i.next==60){for(i.advance();;)if(!um(i,!0)){i.next==62&&i.advance();break}}else for(;um(i,!1););}function Gc(i){for(i.advance();!Ui(i.next)&&lo(i.next)!="f";)i.advance()}function Fc(i,e){let t=i.next,n=!1,r=i.pos;for(i.advance();;){let s=i.next;if(s<0)break;if(i.advance(),s==t)if(s==39)if(i.next==39)i.advance();else break;else break;else if(s==92&&t==34)i.next>=0&&i.advance();else if(Gt(s)){if(e)return!1;n=!0}else if(e&&i.pos>=r+1024)return!1}return!n}function sx(i){for(let e=[],t=i.pos+1024;;)if(i.next==91||i.next==123)e.push(i.next),i.advance();else if(i.next==39||i.next==34){if(!Fc(i,!0))return!1}else if(i.next==93||i.next==125){if(e[e.length-1]!=i.next-2)return!1;if(e.pop(),i.advance(),!e.length)return!0}else{if(i.next<0||i.pos>t||Gt(i.next))return!1;i.advance()}}var ox="iiisiiissisfissssssssssssisssiiissssssssssssssssssssssssssfsfssissssssssssssssssssssssssssfif";function lo(i){return i<33?"u":i>125?"s":ox[i-33]}function Yc(i,e){let t=lo(i);return t!="u"&&!(e&&t=="f")}function bm(i,e,t,n){if(lo(i.next)=="s"||(i.next==63||i.next==58||i.next==45)&&Yc(i.peek(1),t))i.advance();else return!1;let r=i.pos;for(;;){let s=i.next,o=0,a=n+1;for(;gm(s);){if(Gt(s)){if(e)return!1;a=0}else a++;s=i.peek(++o)}if(!(s>=0&&(s==58?Yc(i.peek(o+1),t):s==35?i.peek(o-1)!=32:Yc(s,t)))||!t&&a<=n||a==0&&!t&&(Xn(i,45,o)||Xn(i,46,o)))break;if(e&&lo(s)=="f")return!1;for(let c=o;c>=0;c--)i.advance();if(e&&i.pos>r+1024)return!1}return!0}var ax=new K((i,e)=>{if(i.next==33)Qm(i),i.acceptToken(U1);else if(i.next==38||i.next==42){let t=i.next==38?I1:B1;Gc(i),i.acceptToken(t)}else i.next==39||i.next==34?(Fc(i,!1),i.acceptToken(Y1)):bm(i,!1,e.context.type==Xr,e.context.depth)&&i.acceptToken(D1)}),lx=new K((i,e)=>{let t=e.context.type==Bc?e.context.depth:-1,n=i.pos;e:for(;;){let r=0,s=i.next;for(;s==32;)s=i.peek(++r);if(!r&&(Xn(i,45,r)||Xn(i,46,r))||!Gt(s)&&(t<0&&(t=Math.max(e.context.depth+1,r)),rYAN>Y",stateData:";S~O!fOS!gOS^OS~OP_OQbORSOTUOWROXROYYOZZO[XOcPOqQO!PVO!V[O!cTO~O`cO~P]OVkOWROXROYeOZfO[dOcPOmhOqQO~OboO~P!bOVtOWROXROYeOZfO[dOcPOmrOqQO~OpwO~P#WORSOTUOWROXROYYOZZO[XOcPOqQO!PVO!cTO~OSvP!avP!bvP~P#|OWROXROYeOZfO[dOcPOqQO~OmzO~P%OOm!OOUzP!azP!bzP!dzP~P#|O^!SO!b!QO!f!TO!g!RO~ORSOTUOWROXROcPOqQO!PVO!cTO~OY!UOP!QXQ!QX!V!QX!`!QXS!QX!a!QX!b!QXU!QXm!QX!d!QX~P&aO[!WOP!SXQ!SX!V!SX!`!SXS!SX!a!SX!b!SXU!SXm!SX!d!SX~P&aO^!ZO!W![O!b!YO!f!]O!g!YO~OP!_O!V[OQaX!`aX~OPaXQaX!VaX!`aX~P#|OP!bOQ!cO!V[O~OP_O!V[O~P#|OWROXROY!fOcPOqQObfXmfXofXpfX~OWROXRO[!hOcPOqQObhXmhXohXphX~ObeXmlXoeX~ObkXokX~P%OOm!kO~Om!lObnPonP~P%OOb!pOo!oO~Ob!pO~P!bOm!sOosXpsX~OosXpsX~P%OOm!uOotPptP~P%OOo!xOp!yO~Op!yO~P#WOS!|O!a#OO!b#OO~OUyX!ayX!byX!dyX~P#|Om#QO~OU#SO!a#UO!b#UO!d#RO~Om#WOUzX!azX!bzX!dzX~O]#XO~O!b#XO!g#YO~O^#ZO!b#XO!g#YO~OP!RXQ!RX!V!RX!`!RXS!RX!a!RX!b!RXU!RXm!RX!d!RX~P&aOP!TXQ!TX!V!TX!`!TXS!TX!a!TX!b!TXU!TXm!TX!d!TX~P&aO!b#^O!g#^O~O^#_O!b#^O!f#`O!g#^O~O^#_O!W#aO!b#^O!g#^O~OPaaQaa!Vaa!`aa~P#|OP#cO!V[OQ!XX!`!XX~OP!XXQ!XX!V!XX!`!XX~P#|OP_O!V[OQ!_X!`!_X~P#|OWROXROcPOqQObgXmgXogXpgX~OWROXROcPOqQObiXmiXoiXpiX~Obkaoka~P%OObnXonX~P%OOm#kO~Ob#lOo!oO~Oosapsa~P%OOotXptX~P%OOm#pO~Oo!xOp#qO~OSwP!awP!bwP~P#|OS!|O!a#vO!b#vO~OUya!aya!bya!dya~P#|Om#xO~P%OOm#{OU}P!a}P!b}P!d}P~P#|OU#SO!a$OO!b$OO!d#RO~O]$QO~O!b$QO!g$RO~O!b$SO!g$SO~O^$TO!b$SO!g$SO~O^$TO!b$SO!f$UO!g$SO~OP!XaQ!Xa!V!Xa!`!Xa~P#|Obnaona~P%OOotapta~P%OOo!xO~OU|X!a|X!b|X!d|X~P#|Om$ZO~Om$]OU}X!a}X!b}X!d}X~O]$^O~O!b$_O!g$_O~O^$`O!b$_O!g$_O~OU|a!a|a!b|a!d|a~P#|O!b$cO!g$cO~O",goto:",]!mPPPPPPPPPPPPPPPPP!nPP!v#v#|$`#|$c$f$j$nP%VPPP!v%Y%^%a%{&O%a&R&U&X&_&b%aP&e&{&e'O'RPP']'a'g'm's'y(XPPPPPPPP(_)e*X+c,VUaObcR#e!c!{ROPQSTUXY_bcdehknrtvz!O!U!W!_!b!c!f!h!k!l!s!u!|#Q#R#S#W#c#k#p#x#{$Z$]QmPR!qnqfPQThknrtv!k!l!s!u#R#k#pR!gdR!ieTlPnTjPnSiPnSqQvQ{TQ!mkQ!trQ!vtR#y#RR!nkTsQvR!wt!RWOSUXY_bcz!O!U!W!_!b!c!|#Q#S#W#c#x#{$Z$]RySR#t!|R|TR|UQ!PUR#|#SR#z#RR#z#SyZOSU_bcz!O!_!b!c!|#Q#S#W#c#x#{$Z$]R!VXR!XYa]O^abc!a!c!eT!da!eQnPR!rnQvQR!{vQ!}yR#u!}Q#T|R#}#TW^Obc!cS!^^!aT!aa!eQ!eaR#f!eW`Obc!cQxSS}U#SQ!`_Q#PzQ#V!OQ#b!_Q#d!bQ#s!|Q#w#QQ$P#WQ$V#cQ$Y#xQ$[#{Q$a$ZR$b$]xZOSU_bcz!O!_!b!c!|#Q#S#W#c#x#{$Z$]Q!VXQ!XYQ#[!UR#]!W!QWOSUXY_bcz!O!U!W!_!b!c!|#Q#S#W#c#x#{$Z$]pfPQThknrtv!k!l!s!u#R#k#pQ!gdQ!ieQ#g!fR#h!hSgPn^pQTkrtv#RQ!jhQ#i!kQ#j!lQ#n!sQ#o!uQ$W#kR$X#pQuQR!zv",nodeNames:"\u26A0 DirectiveEnd DocEnd - - ? ? ? Literal QuotedLiteral Anchor Alias Tag BlockLiteralContent Comment Stream BOM Document ] [ FlowSequence Item Tagged Anchored Anchored Tagged FlowMapping Pair Key : Pair , } { FlowMapping Pair Pair BlockSequence Item Item BlockMapping Pair Pair Key Pair Pair BlockLiteral BlockLiteralHeader Tagged Anchored Anchored Tagged Directive DirectiveName DirectiveContent Document",maxTerm:74,context:tx,nodeProps:[["isolate",-3,8,9,14,""],["openedBy",18,"[",32,"{"],["closedBy",19,"]",33,"}"]],propSources:[cx],skippedNodes:[0],repeatNodeCount:6,tokenData:"-Y~RnOX#PXY$QYZ$]Z]#P]^$]^p#Ppq$Qqs#Pst$btu#Puv$yv|#P|}&e}![#P![!]'O!]!`#P!`!a'i!a!}#P!}#O*g#O#P#P#P#Q+Q#Q#o#P#o#p+k#p#q'i#q#r,U#r;'S#P;'S;=`#z<%l?HT#P?HT?HU,o?HUO#PQ#UU!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PQ#kTOY#PZs#Pt;'S#P;'S;=`#z<%lO#PQ#}P;=`<%l#P~$VQ!f~XY$Qpq$Q~$bO!g~~$gS^~OY$bZ;'S$b;'S;=`$s<%lO$b~$vP;=`<%l$bR%OX!WQOX%kXY#PZ]%k]^#P^p%kpq#hq;'S%k;'S;=`&_<%lO%kR%rX!WQ!VPOX%kXY#PZ]%k]^#P^p%kpq#hq;'S%k;'S;=`&_<%lO%kR&bP;=`<%l%kR&lUoP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR'VUmP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR'p[!PP!WQOY#PZp#Ppq#hq{#P{|(f|}#P}!O(f!O!R#P!R![)p![;'S#P;'S;=`#z<%lO#PR(mW!PP!WQOY#PZp#Ppq#hq!R#P!R![)V![;'S#P;'S;=`#z<%lO#PR)^U!PP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR)wY!PP!WQOY#PZp#Ppq#hq{#P{|)V|}#P}!O)V!O;'S#P;'S;=`#z<%lO#PR*nUcP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR+XUbP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR+rUqP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR,]UpP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR,vU`P!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#P",tokenizers:[ix,nx,ax,lx,0,1],topRules:{Stream:[0,15]},tokenPrec:0});var hx=Pe.deserialize({version:14,states:"!vOQOPOOO]OPO'#C_OhOPO'#C^OOOO'#Cc'#CcOpOPO'#CaQOOOOOO{OPOOOOOO'#Cb'#CbO!WOPO'#C`O!`OPO,58xOOOO-E6a-E6aOOOO-E6`-E6`OOOO'#C_'#C_OOOO1G.d1G.d",stateData:"!h~OXPOYROWTP~OWVXXRXYRX~OYVOXSP~OXROYROWTX~OXROYROWTP~OYVOXSX~OX[O~OXY~",goto:"vWPPX[beioRUOQQOR]XRXQTTOUQWQRZWSSOURYS",nodeNames:"\u26A0 Document Frontmatter DashLine FrontmatterContent Body",maxTerm:10,skippedNodes:[0],repeatNodeCount:2,tokenData:"$z~RXOYnYZ!^Z]n]^!^^}n}!O!i!O;'Sn;'S;=`!c<%lOn~qXOYnYZ!^Z]n]^!^^;'Sn;'S;=`!c<%l~n~On~~!^~!cOY~~!fP;=`<%ln~!lZOYnYZ!^Z]n]^!^^}n}!O#_!O;'Sn;'S;=`!c<%l~n~On~~!^~#bZOYnYZ!^Z]n]^!^^}n}!O$T!O;'Sn;'S;=`!c<%l~n~On~~!^~$WXOYnYZ$sZ]n]^$s^;'Sn;'S;=`!c<%l~n~On~~$s~$zOX~Y~",tokenizers:[0],topRules:{Document:[0,1]},tokenPrec:67}),fx=ve.define({name:"yaml",parser:Sm.configure({props:[we.add({Stream:i=>{for(let e=i.node.resolve(i.pos,-1);e&&e.to>=i.pos;e=e.parent){if(e.name=="BlockLiteralContent"&&e.fromi.pos)return null}}return null},FlowMapping:St({closing:"}"}),FlowSequence:St({closing:"]"})}),$e.add({"FlowMapping FlowSequence":ct,"Item Pair BlockLiteral":(i,e)=>({from:e.doc.lineAt(i.from).to,to:i.to})})]}),languageData:{commentTokens:{line:"#"},indentOnInput:/^\s*[\]\}]$/}});var ux=ve.define({name:"yaml-frontmatter",parser:hx.configure({props:[ge({DashLine:d.meta})]})});function ym(i){let{language:e,support:t}=i.content instanceof pe?i.content:{language:i.content,support:[]};return new pe(ux.configure({wrap:bn(n=>n.name=="FrontmatterContent"?{parser:fx.parser}:n.name=="Body"?{parser:e.parser}:null)}),t)}var Ox=1,$m=194,Tm=195,dx=196,km=197,px=198,mx=199,gx=200,Qx=2,Cm=3,xm=201,bx=24,Sx=25,yx=49,kx=50,xx=55,wx=56,Px=57,vx=59,$x=60,Tx=61,Cx=62,Xx=63,_x=65,Rx=238,Ax=71,Zx=241,qx=242,Ex=243,zx=244,Lx=245,Mx=246,Wx=247,jx=248,Xm=72,Vx=249,Dx=250,Yx=251,Ix=252,Bx=253,Ux=254,Gx=255,Nx=256,Fx=73,Hx=77,Kx=263,Jx=112,ew=130,tw=151,iw=152,nw=155,Gi=10,_r=13,eh=32,fo=9,th=35,rw=40,sw=46,Jc=123,wm=125,_m=39,Rm=34,Pm=92,ow=111,aw=120,lw=78,cw=117,hw=85,fw=new Set([Sx,yx,kx,Kx,_x,ew,wx,Px,Rx,Cx,Xx,Xm,Fx,Hx,$x,Tx,tw,iw,nw,Jx]);function Hc(i){return i==Gi||i==_r}function Kc(i){return i>=48&&i<=57||i>=65&&i<=70||i>=97&&i<=102}var uw=new K((i,e)=>{let t;if(i.next<0)i.acceptToken(mx);else if(e.context.flags&co)Hc(i.next)&&i.acceptToken(px,1);else if(((t=i.peek(-1))<0||Hc(t))&&e.canShift(km)){let n=0;for(;i.next==eh||i.next==fo;)i.advance(),n++;(i.next==Gi||i.next==_r||i.next==th)&&i.acceptToken(km,-n)}else Hc(i.next)&&i.acceptToken(dx,1)},{contextual:!0}),Ow=new K((i,e)=>{let t=e.context;if(t.flags)return;let n=i.peek(-1);if(n==Gi||n==_r){let r=0,s=0;for(;;){if(i.next==eh)r++;else if(i.next==fo)r+=8-r%8;else break;i.advance(),s++}r!=t.indent&&i.next!=Gi&&i.next!=_r&&i.next!=th&&(r[i,e|Am])),mw=new Ot({start:dw,reduce(i,e,t,n){return i.flags&co&&fw.has(e)||(e==Ax||e==Xm)&&i.flags&Am?i.parent:i},shift(i,e,t,n){return e==$m?new ho(i,pw(n.read(n.pos,t.pos)),0):e==Tm?i.parent:e==bx||e==xx||e==vx||e==Cm?new ho(i,0,co):vm.has(e)?new ho(i,0,vm.get(e)|i.flags&co):i},hash(i){return i.hash}}),gw=new K(i=>{for(let e=0;e<5;e++){if(i.next!="print".charCodeAt(e))return;i.advance()}if(!/\w/.test(String.fromCharCode(i.next)))for(let e=0;;e++){let t=i.peek(e);if(!(t==eh||t==fo)){t!=rw&&t!=sw&&t!=Gi&&t!=_r&&t!=th&&i.acceptToken(Ox);return}}}),Qw=new K((i,e)=>{let{flags:t}=e.context,n=t&Nt?Rm:_m,r=(t&Ft)>0,s=!(t&Ht),o=(t&Kt)>0,a=i.pos;for(;!(i.next<0);)if(o&&i.next==Jc)if(i.peek(1)==Jc)i.advance(2);else{if(i.pos==a){i.acceptToken(Cm,1);return}break}else if(s&&i.next==Pm){if(i.pos==a){i.advance();let l=i.next;l>=0&&(i.advance(),bw(i,l)),i.acceptToken(Qx);return}break}else if(i.next==Pm&&!s&&i.peek(1)>-1)i.advance(2);else if(i.next==n&&(!r||i.peek(1)==n&&i.peek(2)==n)){if(i.pos==a){i.acceptToken(xm,r?3:1);return}break}else if(i.next==Gi){if(r)i.advance();else if(i.pos==a){i.acceptToken(xm);return}break}else i.advance();i.pos>a&&i.acceptToken(gx)});function bw(i,e){if(e==ow)for(let t=0;t<2&&i.next>=48&&i.next<=55;t++)i.advance();else if(e==aw)for(let t=0;t<2&&Kc(i.next);t++)i.advance();else if(e==cw)for(let t=0;t<4&&Kc(i.next);t++)i.advance();else if(e==hw)for(let t=0;t<8&&Kc(i.next);t++)i.advance();else if(e==lw&&i.next==Jc){for(i.advance();i.next>=0&&i.next!=wm&&i.next!=_m&&i.next!=Rm&&i.next!=Gi;)i.advance();i.next==wm&&i.advance()}}var Sw=ge({'async "*" "**" FormatConversion FormatSpec':d.modifier,"for while if elif else try except finally return raise break continue with pass assert await yield match case":d.controlKeyword,"in not and or is del":d.operatorKeyword,"from def class global nonlocal lambda":d.definitionKeyword,import:d.moduleKeyword,"with as print":d.keyword,Boolean:d.bool,None:d.null,VariableName:d.variableName,"CallExpression/VariableName":d.function(d.variableName),"FunctionDefinition/VariableName":d.function(d.definition(d.variableName)),"ClassDefinition/VariableName":d.definition(d.className),PropertyName:d.propertyName,"CallExpression/MemberExpression/PropertyName":d.function(d.propertyName),Comment:d.lineComment,Number:d.number,String:d.string,FormatString:d.special(d.string),Escape:d.escape,UpdateOp:d.updateOperator,"ArithOp!":d.arithmeticOperator,BitOp:d.bitwiseOperator,CompareOp:d.compareOperator,AssignOp:d.definitionOperator,Ellipsis:d.punctuation,At:d.meta,"( )":d.paren,"[ ]":d.squareBracket,"{ }":d.brace,".":d.derefOperator,", ;":d.separator}),yw={__proto__:null,await:44,or:54,and:56,in:60,not:62,is:64,if:70,else:72,lambda:76,yield:94,from:96,async:102,for:104,None:162,True:164,False:164,del:178,pass:182,break:186,continue:190,return:194,raise:202,import:206,as:208,global:212,nonlocal:214,assert:218,type:223,elif:236,while:240,try:246,except:248,finally:250,with:254,def:258,class:268,match:279,case:285},Zm=Pe.deserialize({version:14,states:"##jQ`QeOOP$}OSOOO&WQtO'#HUOOQS'#Co'#CoOOQS'#Cp'#CpO'vQdO'#CnO*UQtO'#HTOOQS'#HU'#HUOOQS'#DU'#DUOOQS'#HT'#HTO*rQdO'#D_O+VQdO'#DfO+gQdO'#DjO+zOWO'#DuO,VOWO'#DvO.[QtO'#GuOOQS'#Gu'#GuO'vQdO'#GtO0ZQtO'#GtOOQS'#Eb'#EbO0rQdO'#EcOOQS'#Gs'#GsO0|QdO'#GrOOQV'#Gr'#GrO1XQdO'#FYOOQS'#G^'#G^O1^QdO'#FXOOQV'#IS'#ISOOQV'#Gq'#GqOOQV'#Fq'#FqQ`QeOOO'vQdO'#CqO1lQdO'#C}O1sQdO'#DRO2RQdO'#HYO2cQtO'#EVO'vQdO'#EWOOQS'#EY'#EYOOQS'#E['#E[OOQS'#E^'#E^O2wQdO'#E`O3_QdO'#EdO3rQdO'#EfO3zQtO'#EfO1XQdO'#EiO0rQdO'#ElO1XQdO'#EnO0rQdO'#EtO0rQdO'#EwO4VQdO'#EyO4^QdO'#FOO4iQdO'#EzO0rQdO'#FOO1XQdO'#FQO1XQdO'#FVO4nQdO'#F[P4uOdO'#GpPOOO)CBd)CBdOOQS'#Ce'#CeOOQS'#Cf'#CfOOQS'#Cg'#CgOOQS'#Ch'#ChOOQS'#Ci'#CiOOQS'#Cj'#CjOOQS'#Cl'#ClO'vQdO,59OO'vQdO,59OO'vQdO,59OO'vQdO,59OO'vQdO,59OO'vQdO,59OO5TQdO'#DoOOQS,5:Y,5:YO5hQdO'#HdOOQS,5:],5:]O5uQ!fO,5:]O5zQtO,59YO1lQdO,59bO1lQdO,59bO1lQdO,59bO8jQdO,59bO8oQdO,59bO8vQdO,59jO8}QdO'#HTO:TQdO'#HSOOQS'#HS'#HSOOQS'#D['#D[O:lQdO,59aO'vQdO,59aO:zQdO,59aOOQS,59y,59yO;PQdO,5:RO'vQdO,5:ROOQS,5:Q,5:QO;_QdO,5:QO;dQdO,5:XO'vQdO,5:XO'vQdO,5:VOOQS,5:U,5:UO;uQdO,5:UO;zQdO,5:WOOOW'#Fy'#FyOOOOQS'#Ds'#DsOOQS1G/w1G/wOOQS1G.|1G.|O!/[QtO1G.|O!/cQtO1G.|O1lQdO1G.|O!0OQdO1G/UOOQS'#DZ'#DZO0rQdO,59tOOQS1G.{1G.{O!0VQdO1G/eO!0gQdO1G/eO!0oQdO1G/fO'vQdO'#H[O!0tQdO'#H[O!0yQtO1G.{O!1ZQdO,59iO!2aQdO,5=zO!2qQdO,5=zO!2yQdO1G/mO!3OQtO1G/mOOQS1G/l1G/lO!3`QdO,5=uO!4VQdO,5=uO0rQdO1G/qO!4tQdO1G/sO!4yQtO1G/sO!5ZQtO1G/qOOQS1G/p1G/pOOQS1G/r1G/rOOOW-E9w-E9wOOQS1G/{1G/{O!5kQdO'#HxO0rQdO'#HxO!5|QdO,5>cOOOW-E9x-E9xOOQS1G/|1G/|OOQS-E9{-E9{O!6[Q#xO1G2zO!6{QtO1G2zO'vQdO,5kOOQS1G1`1G1`O!8RQdO1G1`OOQS'#DV'#DVO0rQdO,5=qOOQS,5=q,5=qO!8WQdO'#FrO!8cQdO,59oO!8kQdO1G/XO!8uQtO,5=uOOQS1G3`1G3`OOQS,5:m,5:mO!9fQdO'#GtOOQS,5jO!;ZQdO,5>jO1XQdO,5>jO!;lQdO,5>iOOQS-E:R-E:RO!;qQdO1G0lO!;|QdO1G0lO!lO!lO!hO!=VQdO,5>hO!=hQdO'#EpO0rQdO1G0tO!=sQdO1G0tO!=xQgO1G0zO!AvQgO1G0}O!EqQdO,5>oO!E{QdO,5>oO!FTQtO,5>oO0rQdO1G1PO!F_QdO1G1PO4iQdO1G1UO!!vQdO1G1WOOQV,5;a,5;aO!FdQfO,5;aO!FiQgO1G1QO!JjQdO'#GZO4iQdO1G1QO4iQdO1G1QO!JzQdO,5>pO!KXQdO,5>pO1XQdO,5>pOOQV1G1U1G1UO!KaQdO'#FSO!KrQ!fO1G1WO!KzQdO1G1WOOQV1G1]1G1]O4iQdO1G1]O!LPQdO1G1]O!LXQdO'#F^OOQV1G1b1G1bO!#ZQtO1G1bPOOO1G2v1G2vP!L^OSO1G2vOOQS,5=},5=}OOQS'#Dp'#DpO0rQdO,5=}O!LfQdO,5=|O!LyQdO,5=|OOQS1G/u1G/uO!MRQdO,5>PO!McQdO,5>PO!MkQdO,5>PO!NOQdO,5>PO!N`QdO,5>POOQS1G3j1G3jOOQS7+$h7+$hO!8kQdO7+$pO#!RQdO1G.|O#!YQdO1G.|OOQS1G/`1G/`OOQS,5<`,5<`O'vQdO,5<`OOQS7+%P7+%PO#!aQdO7+%POOQS-E9r-E9rOOQS7+%Q7+%QO#!qQdO,5=vO'vQdO,5=vOOQS7+$g7+$gO#!vQdO7+%PO##OQdO7+%QO##TQdO1G3fOOQS7+%X7+%XO##eQdO1G3fO##mQdO7+%XOOQS,5<_,5<_O'vQdO,5<_O##rQdO1G3aOOQS-E9q-E9qO#$iQdO7+%]OOQS7+%_7+%_O#$wQdO1G3aO#%fQdO7+%_O#%kQdO1G3gO#%{QdO1G3gO#&TQdO7+%]O#&YQdO,5>dO#&sQdO,5>dO#&sQdO,5>dOOQS'#Dx'#DxO#'UO&jO'#DzO#'aO`O'#HyOOOW1G3}1G3}O#'fQdO1G3}O#'nQdO1G3}O#'yQ#xO7+(fO#(jQtO1G2UP#)TQdO'#GOOOQS,5nQdO,5sQdO1G4OOOQS-E9y-E9yO#?^QdO1G4OO<[QdO'#H{OOOO'#D{'#D{OOOO'#F|'#F|O#?oO&jO,5:fOOOW,5>e,5>eOOOW7+)i7+)iO#?zQdO7+)iO#@SQdO1G2zO#@mQdO1G2zP'vQdO'#FuO0rQdO<mO#BQQdO,5>mOOQS1G0v1G0vOOQS<rO#KgQdO,5>rO#KrQdO,5>rO#K}QdO,5>qO#L`QdO,5>qOOQS1G1Y1G1YOOQS,5;p,5;pOOQV<VAN>VO$ oQdO<cAN>cO0rQdO1G1|O$!PQtO1G1|P$!ZQdO'#FvOOQS1G2R1G2RP$!hQdO'#F{O$!uQdO7+)jO$#`QdO,5>gOOOO-E9z-E9zOOOW<tO$4{QdO,5>tO1XQdO,5vO$)nQdO,5>vOOQS1G1p1G1pOOQS,5<[,5<[OOQU7+'P7+'PO$+zQdO1G/iO$)nQdO,5wO$8zQdO,5>wOOQS1G1s1G1sOOQS7+'S7+'SP$)nQdO'#GdO$9SQdO1G4bO$9^QdO1G4bO$9fQdO1G4bOOQS7+%T7+%TO$9tQdO1G1tO$:SQtO'#FaO$:ZQdO,5<}OOQS,5<},5<}O$:iQdO1G4cOOQS-E:a-E:aO$)nQdO,5<|O$:pQdO,5<|O$:uQdO7+)|OOQS-E:`-E:`O$;PQdO7+)|O$)nQdO,5S~O%cOS%^OSSOS%]PQ~OPdOVaOfoOhYOopOs!POvqO!PrO!Q{O!T!SO!U!RO!XZO!][O!h`O!r`O!s`O!t`O!{tO!}uO#PvO#RwO#TxO#XyO#ZzO#^|O#_|O#a}O#c!OO#l!QO#o!TO#s!UO#u!VO#z!WO#}hO$P!XO%oRO%pRO%tSO%uWO&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O&c^O&d^O&e^O&f^O&g^O&h^O&i^O&j^O~O%]!YO~OV!aO_!aOa!bOh!iO!X!kO!f!mO%j![O%k!]O%l!^O%m!_O%n!_O%o!`O%p!`O%q!aO%r!aO%s!aO~Ok%xXl%xXm%xXn%xXo%xXp%xXs%xXz%xX{%xX!x%xX#g%xX%[%xX%_%xX%z%xXg%xX!T%xX!U%xX%{%xX!W%xX![%xX!Q%xX#[%xXt%xX!m%xX~P%SOfoOhYO!XZO!][O!h`O!r`O!s`O!t`O%oRO%pRO%tSO%uWO&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O&c^O&d^O&e^O&f^O&g^O&h^O&i^O&j^O~Oz%wX{%wX#g%wX%[%wX%_%wX%z%wX~Ok!pOl!qOm!oOn!oOo!rOp!sOs!tO!x%wX~P)pOV!zOg!|Oo0cOv0qO!PrO~P'vOV#OOo0cOv0qO!W#PO~P'vOV#SOa#TOo0cOv0qO![#UO~P'vOQ#XO%`#XO%a#ZO~OQ#^OR#[O%`#^O%a#`O~OV%iX_%iXa%iXh%iXk%iXl%iXm%iXn%iXo%iXp%iXs%iXz%iX!X%iX!f%iX%j%iX%k%iX%l%iX%m%iX%n%iX%o%iX%p%iX%q%iX%r%iX%s%iXg%iX!T%iX!U%iX~O&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O&c^O&d^O&e^O&f^O&g^O&h^O&i^O&j^O{%iX!x%iX#g%iX%[%iX%_%iX%z%iX%{%iX!W%iX![%iX!Q%iX#[%iXt%iX!m%iX~P,eOz#dO{%hX!x%hX#g%hX%[%hX%_%hX%z%hX~Oo0cOv0qO~P'vO#g#gO%[#iO%_#iO~O%uWO~O!T#nO#u!VO#z!WO#}hO~OopO~P'vOV#sOa#tO%uWO{wP~OV#xOo0cOv0qO!Q#yO~P'vO{#{O!x$QO%z#|O#g!yX%[!yX%_!yX~OV#xOo0cOv0qO#g#SX%[#SX%_#SX~P'vOo0cOv0qO#g#WX%[#WX%_#WX~P'vOh$WO%uWO~O!f$YO!r$YO%uWO~OV$eO~P'vO!U$gO#s$hO#u$iO~O{$jO~OV$qO~P'vOS$sO%[$rO%_$rO%c$tO~OV$}Oa$}Og%POo0cOv0qO~P'vOo0cOv0qO{%SO~P'vO&Y%UO~Oa!bOh!iO!X!kO!f!mOVba_bakbalbambanbaobapbasbazba{ba!xba#gba%[ba%_ba%jba%kba%lba%mba%nba%oba%pba%qba%rba%sba%zbagba!Tba!Uba%{ba!Wba![ba!Qba#[batba!mba~On%ZO~Oo%ZO~P'vOo0cO~P'vOk0eOl0fOm0dOn0dOo0mOp0nOs0rOg%wX!T%wX!U%wX%{%wX!W%wX![%wX!Q%wX#[%wX!m%wX~P)pO%{%]Og%vXz%vX!T%vX!U%vX!W%vX{%vX~Og%_Oz%`O!T%dO!U%cO~Og%_O~Oz%gO!T%dO!U%cO!W&SX~O!W%kO~Oz%lO{%nO!T%dO!U%cO![%}X~O![%rO~O![%sO~OQ#XO%`#XO%a%uO~OV%wOo0cOv0qO!PrO~P'vOQ#^OR#[O%`#^O%a%zO~OV!qa_!qaa!qah!qak!qal!qam!qan!qao!qap!qas!qaz!qa{!qa!X!qa!f!qa!x!qa#g!qa%[!qa%_!qa%j!qa%k!qa%l!qa%m!qa%n!qa%o!qa%p!qa%q!qa%r!qa%s!qa%z!qag!qa!T!qa!U!qa%{!qa!W!qa![!qa!Q!qa#[!qat!qa!m!qa~P#yOz%|O{%ha!x%ha#g%ha%[%ha%_%ha%z%ha~P%SOV&OOopOvqO{%ha!x%ha#g%ha%[%ha%_%ha%z%ha~P'vOz%|O{%ha!x%ha#g%ha%[%ha%_%ha%z%ha~OPdOVaOopOvqO!PrO!Q{O!{tO!}uO#PvO#RwO#TxO#XyO#ZzO#^|O#_|O#a}O#c!OO#g$zX%[$zX%_$zX~P'vO#g#gO%[&TO%_&TO~O!f&UOh&sX%[&sXz&sX#[&sX#g&sX%_&sX#Z&sXg&sX~Oh!iO%[&WO~Okealeameaneaoeapeaseazea{ea!xea#gea%[ea%_ea%zeagea!Tea!Uea%{ea!Wea![ea!Qea#[eatea!mea~P%SOsqazqa{qa#gqa%[qa%_qa%zqa~Ok!pOl!qOm!oOn!oOo!rOp!sO!xqa~PEcO%z&YOz%yX{%yX~O%uWOz%yX{%yX~Oz&]O{wX~O{&_O~Oz%lO#g%}X%[%}X%_%}Xg%}X{%}X![%}X!m%}X%z%}X~OV0lOo0cOv0qO!PrO~P'vO%z#|O#gUa%[Ua%_Ua~Oz&hO#g&PX%[&PX%_&PXn&PX~P%SOz&kO!Q&jO#g#Wa%[#Wa%_#Wa~Oz&lO#[&nO#g&rX%[&rX%_&rXg&rX~O!f$YO!r$YO#Z&qO%uWO~O#Z&qO~Oz&sO#g&tX%[&tX%_&tX~Oz&uO#g&pX%[&pX%_&pX{&pX~O!X&wO%z&xO~Oz&|On&wX~P%SOn'PO~OPdOVaOopOvqO!PrO!Q{O!{tO!}uO#PvO#RwO#TxO#XyO#ZzO#^|O#_|O#a}O#c!OO%['UO~P'vOt'YO#p'WO#q'XOP#naV#naf#nah#nao#nas#nav#na!P#na!Q#na!T#na!U#na!X#na!]#na!h#na!r#na!s#na!t#na!{#na!}#na#P#na#R#na#T#na#X#na#Z#na#^#na#_#na#a#na#c#na#l#na#o#na#s#na#u#na#z#na#}#na$P#na%X#na%o#na%p#na%t#na%u#na&Z#na&[#na&]#na&^#na&_#na&`#na&a#na&b#na&c#na&d#na&e#na&f#na&g#na&h#na&i#na&j#na%Z#na%_#na~Oz'ZO#[']O{&xX~Oh'_O!X&wO~Oh!iO{$jO!X&wO~O{'eO~P%SO%['hO%_'hO~OS'iO%['hO%_'hO~OV!aO_!aOa!bOh!iO!X!kO!f!mO%l!^O%m!_O%n!_O%o!`O%p!`O%q!aO%r!aO%s!aOkWilWimWinWioWipWisWizWi{Wi!xWi#gWi%[Wi%_Wi%jWi%zWigWi!TWi!UWi%{Wi!WWi![Wi!QWi#[WitWi!mWi~O%k!]O~P!#uO%kWi~P!#uOV!aO_!aOa!bOh!iO!X!kO!f!mO%o!`O%p!`O%q!aO%r!aO%s!aOkWilWimWinWioWipWisWizWi{Wi!xWi#gWi%[Wi%_Wi%jWi%kWi%lWi%zWigWi!TWi!UWi%{Wi!WWi![Wi!QWi#[WitWi!mWi~O%m!_O%n!_O~P!&pO%mWi%nWi~P!&pOa!bOh!iO!X!kO!f!mOkWilWimWinWioWipWisWizWi{Wi!xWi#gWi%[Wi%_Wi%jWi%kWi%lWi%mWi%nWi%oWi%pWi%zWigWi!TWi!UWi%{Wi!WWi![Wi!QWi#[WitWi!mWi~OV!aO_!aO%q!aO%r!aO%s!aO~P!)nOVWi_Wi%qWi%rWi%sWi~P!)nO!T%dO!U%cOg&VXz&VX~O%z'kO%{'kO~P,eOz'mOg&UX~Og'oO~Oz'pO{'rO!W&XX~Oo0cOv0qOz'pO{'sO!W&XX~P'vO!W'uO~Om!oOn!oOo!rOp!sOkjisjizji{ji!xji#gji%[ji%_ji%zji~Ol!qO~P!.aOlji~P!.aOk0eOl0fOm0dOn0dOo0mOp0nO~Ot'wO~P!/jOV'|Og'}Oo0cOv0qO~P'vOg'}Oz(OO~Og(QO~O!U(SO~Og(TOz(OO!T%dO!U%cO~P%SOk0eOl0fOm0dOn0dOo0mOp0nOgqa!Tqa!Uqa%{qa!Wqa![qa!Qqa#[qatqa!mqa~PEcOV'|Oo0cOv0qO!W&Sa~P'vOz(WO!W&Sa~O!W(XO~Oz(WO!T%dO!U%cO!W&Sa~P%SOV(]Oo0cOv0qO![%}a#g%}a%[%}a%_%}ag%}a{%}a!m%}a%z%}a~P'vOz(^O![%}a#g%}a%[%}a%_%}ag%}a{%}a!m%}a%z%}a~O![(aO~Oz(^O!T%dO!U%cO![%}a~P%SOz(dO!T%dO!U%cO![&Ta~P%SOz(gO{&lX![&lX!m&lX%z&lX~O{(kO![(mO!m(nO%z(jO~OV&OOopOvqO{%hi!x%hi#g%hi%[%hi%_%hi%z%hi~P'vOz(pO{%hi!x%hi#g%hi%[%hi%_%hi%z%hi~O!f&UOh&sa%[&saz&sa#[&sa#g&sa%_&sa#Z&sag&sa~O%[(uO~OV#sOa#tO%uWO~Oz&]O{wa~OopOvqO~P'vOz(^O#g%}a%[%}a%_%}ag%}a{%}a![%}a!m%}a%z%}a~P%SOz(zO#g%hX%[%hX%_%hX%z%hX~O%z#|O#gUi%[Ui%_Ui~O#g&Pa%[&Pa%_&Pan&Pa~P'vOz(}O#g&Pa%[&Pa%_&Pan&Pa~O%uWO#g&ra%[&ra%_&rag&ra~Oz)SO#g&ra%[&ra%_&rag&ra~Og)VO~OV)WOh$WO%uWO~O#Z)XO~O%uWO#g&ta%[&ta%_&ta~Oz)ZO#g&ta%[&ta%_&ta~Oo0cOv0qO#g&pa%[&pa%_&pa{&pa~P'vOz)^O#g&pa%[&pa%_&pa{&pa~OV)`Oa)`O%uWO~O%z)eO~Ot)hO#j)gOP#hiV#hif#hih#hio#his#hiv#hi!P#hi!Q#hi!T#hi!U#hi!X#hi!]#hi!h#hi!r#hi!s#hi!t#hi!{#hi!}#hi#P#hi#R#hi#T#hi#X#hi#Z#hi#^#hi#_#hi#a#hi#c#hi#l#hi#o#hi#s#hi#u#hi#z#hi#}#hi$P#hi%X#hi%o#hi%p#hi%t#hi%u#hi&Z#hi&[#hi&]#hi&^#hi&_#hi&`#hi&a#hi&b#hi&c#hi&d#hi&e#hi&f#hi&g#hi&h#hi&i#hi&j#hi%Z#hi%_#hi~Ot)iOP#kiV#kif#kih#kio#kis#kiv#ki!P#ki!Q#ki!T#ki!U#ki!X#ki!]#ki!h#ki!r#ki!s#ki!t#ki!{#ki!}#ki#P#ki#R#ki#T#ki#X#ki#Z#ki#^#ki#_#ki#a#ki#c#ki#l#ki#o#ki#s#ki#u#ki#z#ki#}#ki$P#ki%X#ki%o#ki%p#ki%t#ki%u#ki&Z#ki&[#ki&]#ki&^#ki&_#ki&`#ki&a#ki&b#ki&c#ki&d#ki&e#ki&f#ki&g#ki&h#ki&i#ki&j#ki%Z#ki%_#ki~OV)kOn&wa~P'vOz)lOn&wa~Oz)lOn&wa~P%SOn)pO~O%Y)tO~Ot)wO#p'WO#q)vOP#niV#nif#nih#nio#nis#niv#ni!P#ni!Q#ni!T#ni!U#ni!X#ni!]#ni!h#ni!r#ni!s#ni!t#ni!{#ni!}#ni#P#ni#R#ni#T#ni#X#ni#Z#ni#^#ni#_#ni#a#ni#c#ni#l#ni#o#ni#s#ni#u#ni#z#ni#}#ni$P#ni%X#ni%o#ni%p#ni%t#ni%u#ni&Z#ni&[#ni&]#ni&^#ni&_#ni&`#ni&a#ni&b#ni&c#ni&d#ni&e#ni&f#ni&g#ni&h#ni&i#ni&j#ni%Z#ni%_#ni~OV)zOo0cOv0qO{$jO~P'vOo0cOv0qO{&xa~P'vOz*OO{&xa~OV*SOa*TOg*WO%q*UO%uWO~O{$jO&{*YO~Oh'_O~Oh!iO{$jO~O%[*_O~O%[*aO%_*aO~OV$}Oa$}Oo0cOv0qOg&Ua~P'vOz*dOg&Ua~Oo0cOv0qO{*gO!W&Xa~P'vOz*hO!W&Xa~Oo0cOv0qOz*hO{*kO!W&Xa~P'vOo0cOv0qOz*hO!W&Xa~P'vOz*hO{*kO!W&Xa~Om0dOn0dOo0mOp0nOgjikjisjizji!Tji!Uji%{ji!Wji{ji![ji#gji%[ji%_ji!Qji#[jitji!mji%zji~Ol0fO~P!NkOlji~P!NkOV'|Og*pOo0cOv0qO~P'vOn*rO~Og*pOz*tO~Og*uO~OV'|Oo0cOv0qO!W&Si~P'vOz*vO!W&Si~O!W*wO~OV(]Oo0cOv0qO![%}i#g%}i%[%}i%_%}ig%}i{%}i!m%}i%z%}i~P'vOz*zO!T%dO!U%cO![&Ti~Oz*}O![%}i#g%}i%[%}i%_%}ig%}i{%}i!m%}i%z%}i~O![+OO~Oa+QOo0cOv0qO![&Ti~P'vOz*zO![&Ti~O![+SO~OV+UOo0cOv0qO{&la![&la!m&la%z&la~P'vOz+VO{&la![&la!m&la%z&la~O!]+YO&n+[O![!nX~O![+^O~O{(kO![+_O~O{(kO![+_O!m+`O~OV&OOopOvqO{%hq!x%hq#g%hq%[%hq%_%hq%z%hq~P'vOz$ri{$ri!x$ri#g$ri%[$ri%_$ri%z$ri~P%SOV&OOopOvqO~P'vOV&OOo0cOv0qO#g%ha%[%ha%_%ha%z%ha~P'vOz+aO#g%ha%[%ha%_%ha%z%ha~Oz$ia#g$ia%[$ia%_$ian$ia~P%SO#g&Pi%[&Pi%_&Pin&Pi~P'vOz+dO#g#Wq%[#Wq%_#Wq~O#[+eOz$va#g$va%[$va%_$vag$va~O%uWO#g&ri%[&ri%_&rig&ri~Oz+gO#g&ri%[&ri%_&rig&ri~OV+iOh$WO%uWO~O%uWO#g&ti%[&ti%_&ti~Oo0cOv0qO#g&pi%[&pi%_&pi{&pi~P'vO{#{Oz#eX!W#eX~Oz+mO!W&uX~O!W+oO~Ot+rO#j)gOP#hqV#hqf#hqh#hqo#hqs#hqv#hq!P#hq!Q#hq!T#hq!U#hq!X#hq!]#hq!h#hq!r#hq!s#hq!t#hq!{#hq!}#hq#P#hq#R#hq#T#hq#X#hq#Z#hq#^#hq#_#hq#a#hq#c#hq#l#hq#o#hq#s#hq#u#hq#z#hq#}#hq$P#hq%X#hq%o#hq%p#hq%t#hq%u#hq&Z#hq&[#hq&]#hq&^#hq&_#hq&`#hq&a#hq&b#hq&c#hq&d#hq&e#hq&f#hq&g#hq&h#hq&i#hq&j#hq%Z#hq%_#hq~On$|az$|a~P%SOV)kOn&wi~P'vOz+yOn&wi~Oz,TO{$jO#[,TO~O#q,VOP#nqV#nqf#nqh#nqo#nqs#nqv#nq!P#nq!Q#nq!T#nq!U#nq!X#nq!]#nq!h#nq!r#nq!s#nq!t#nq!{#nq!}#nq#P#nq#R#nq#T#nq#X#nq#Z#nq#^#nq#_#nq#a#nq#c#nq#l#nq#o#nq#s#nq#u#nq#z#nq#}#nq$P#nq%X#nq%o#nq%p#nq%t#nq%u#nq&Z#nq&[#nq&]#nq&^#nq&_#nq&`#nq&a#nq&b#nq&c#nq&d#nq&e#nq&f#nq&g#nq&h#nq&i#nq&j#nq%Z#nq%_#nq~O#[,WOz%Oa{%Oa~Oo0cOv0qO{&xi~P'vOz,YO{&xi~O{#{O%z,[Og&zXz&zX~O%uWOg&zXz&zX~Oz,`Og&yX~Og,bO~O%Y,eO~O!T%dO!U%cOg&Viz&Vi~OV$}Oa$}Oo0cOv0qOg&Ui~P'vO{,hOz$la!W$la~Oo0cOv0qO{,iOz$la!W$la~P'vOo0cOv0qO{*gO!W&Xi~P'vOz,lO!W&Xi~Oo0cOv0qOz,lO!W&Xi~P'vOz,lO{,oO!W&Xi~Og$hiz$hi!W$hi~P%SOV'|Oo0cOv0qO~P'vOn,qO~OV'|Og,rOo0cOv0qO~P'vOV'|Oo0cOv0qO!W&Sq~P'vOz$gi![$gi#g$gi%[$gi%_$gig$gi{$gi!m$gi%z$gi~P%SOV(]Oo0cOv0qO~P'vOa+QOo0cOv0qO![&Tq~P'vOz,sO![&Tq~O![,tO~OV(]Oo0cOv0qO![%}q#g%}q%[%}q%_%}qg%}q{%}q!m%}q%z%}q~P'vO{,uO~OV+UOo0cOv0qO{&li![&li!m&li%z&li~P'vOz,zO{&li![&li!m&li%z&li~O!]+YO&n+[O![!na~O{(kO![,}O~OV&OOo0cOv0qO#g%hi%[%hi%_%hi%z%hi~P'vOz-OO#g%hi%[%hi%_%hi%z%hi~O%uWO#g&rq%[&rq%_&rqg&rq~Oz-RO#g&rq%[&rq%_&rqg&rq~OV)`Oa)`O%uWO!W&ua~Oz-TO!W&ua~On$|iz$|i~P%SOV)kO~P'vOV)kOn&wq~P'vOt-XOP#myV#myf#myh#myo#mys#myv#my!P#my!Q#my!T#my!U#my!X#my!]#my!h#my!r#my!s#my!t#my!{#my!}#my#P#my#R#my#T#my#X#my#Z#my#^#my#_#my#a#my#c#my#l#my#o#my#s#my#u#my#z#my#}#my$P#my%X#my%o#my%p#my%t#my%u#my&Z#my&[#my&]#my&^#my&_#my&`#my&a#my&b#my&c#my&d#my&e#my&f#my&g#my&h#my&i#my&j#my%Z#my%_#my~O%Z-]O%_-]O~P`O#q-^OP#nyV#nyf#nyh#nyo#nys#nyv#ny!P#ny!Q#ny!T#ny!U#ny!X#ny!]#ny!h#ny!r#ny!s#ny!t#ny!{#ny!}#ny#P#ny#R#ny#T#ny#X#ny#Z#ny#^#ny#_#ny#a#ny#c#ny#l#ny#o#ny#s#ny#u#ny#z#ny#}#ny$P#ny%X#ny%o#ny%p#ny%t#ny%u#ny&Z#ny&[#ny&]#ny&^#ny&_#ny&`#ny&a#ny&b#ny&c#ny&d#ny&e#ny&f#ny&g#ny&h#ny&i#ny&j#ny%Z#ny%_#ny~Oz-aO{$jO#[-aO~Oo0cOv0qO{&xq~P'vOz-dO{&xq~O%z,[Og&zaz&za~O{#{Og&zaz&za~OV*SOa*TO%q*UO%uWOg&ya~Oz-hOg&ya~O$S-lO~OV$}Oa$}Oo0cOv0qO~P'vOo0cOv0qO{-mOz$li!W$li~P'vOo0cOv0qOz$li!W$li~P'vO{-mOz$li!W$li~Oo0cOv0qO{*gO~P'vOo0cOv0qO{*gO!W&Xq~P'vOz-pO!W&Xq~Oo0cOv0qOz-pO!W&Xq~P'vOs-sO!T%dO!U%cOg&Oq!W&Oq![&Oqz&Oq~P!/jOa+QOo0cOv0qO![&Ty~P'vOz$ji![$ji~P%SOa+QOo0cOv0qO~P'vOV+UOo0cOv0qO~P'vOV+UOo0cOv0qO{&lq![&lq!m&lq%z&lq~P'vO{(kO![-xO!m-yO%z-wO~OV&OOo0cOv0qO#g%hq%[%hq%_%hq%z%hq~P'vO%uWO#g&ry%[&ry%_&ryg&ry~OV)`Oa)`O%uWO!W&ui~Ot-}OP#m!RV#m!Rf#m!Rh#m!Ro#m!Rs#m!Rv#m!R!P#m!R!Q#m!R!T#m!R!U#m!R!X#m!R!]#m!R!h#m!R!r#m!R!s#m!R!t#m!R!{#m!R!}#m!R#P#m!R#R#m!R#T#m!R#X#m!R#Z#m!R#^#m!R#_#m!R#a#m!R#c#m!R#l#m!R#o#m!R#s#m!R#u#m!R#z#m!R#}#m!R$P#m!R%X#m!R%o#m!R%p#m!R%t#m!R%u#m!R&Z#m!R&[#m!R&]#m!R&^#m!R&_#m!R&`#m!R&a#m!R&b#m!R&c#m!R&d#m!R&e#m!R&f#m!R&g#m!R&h#m!R&i#m!R&j#m!R%Z#m!R%_#m!R~Oo0cOv0qO{&xy~P'vOV*SOa*TO%q*UO%uWOg&yi~O$S-lO%Z.VO%_.VO~OV.aOh._O!X.^O!].`O!h.YO!s.[O!t.[O%p.XO%uWO&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O~Oo0cOv0qOz$lq!W$lq~P'vO{.fOz$lq!W$lq~Oo0cOv0qO{*gO!W&Xy~P'vOz.gO!W&Xy~Oo0cOv.kO~P'vOs-sO!T%dO!U%cOg&Oy!W&Oy![&Oyz&Oy~P!/jO{(kO![.nO~O{(kO![.nO!m.oO~OV*SOa*TO%q*UO%uWO~Oh.tO!f.rOz$TX#[$TX%j$TXg$TX~Os$TX{$TX!W$TX![$TX~P$-bO%o.vO%p.vOs$UXz$UX{$UX#[$UX%j$UX!W$UXg$UX![$UX~O!h.xO~Oz.|O#[/OO%j.yOs&|X{&|X!W&|Xg&|X~Oa/RO~P$)zOh.tOs&}Xz&}X{&}X#[&}X%j&}X!W&}Xg&}X![&}X~Os/VO{$jO~Oo0cOv0qOz$ly!W$ly~P'vOo0cOv0qO{*gO!W&X!R~P'vOz/ZO!W&X!R~Og&RXs&RX!T&RX!U&RX!W&RX![&RXz&RX~P!/jOs-sO!T%dO!U%cOg&Qa!W&Qa![&Qaz&Qa~O{(kO![/^O~O!f.rOh$[as$[az$[a{$[a#[$[a%j$[a!W$[ag$[a![$[a~O!h/eO~O%o.vO%p.vOs$Uaz$Ua{$Ua#[$Ua%j$Ua!W$Uag$Ua![$Ua~O%j.yOs$Yaz$Ya{$Ya#[$Ya!W$Yag$Ya![$Ya~Os&|a{&|a!W&|ag&|a~P$)nOz/jOs&|a{&|a!W&|ag&|a~O!W/mO~Og/mO~O{/oO~O![/pO~Oo0cOv0qO{*gO!W&X!Z~P'vO{/sO~O%z/tO~P$-bOz/uO#[/OO%j.yOg'PX~Oz/uOg'PX~Og/wO~O!h/xO~O#[/OOs%Saz%Sa{%Sa%j%Sa!W%Sag%Sa![%Sa~O#[/OO%j.yOs%Waz%Wa{%Wa!W%Wag%Wa~Os&|i{&|i!W&|ig&|i~P$)nOz/zO#[/OO%j.yO!['Oa~Og'Pa~P$)nOz0SOg'Pa~Oa0UO!['Oi~P$)zOz0WO!['Oi~Oz0WO#[/OO%j.yO!['Oi~O#[/OO%j.yOg$biz$bi~O%z0ZO~P$-bO#[/OO%j.yOg%Vaz%Va~Og'Pi~P$)nO{0^O~Oa0UO!['Oq~P$)zOz0`O!['Oq~O#[/OO%j.yOz%Ui![%Ui~Oa0UO~P$)zOa0UO!['Oy~P$)zO#[/OO%j.yOg$ciz$ci~O#[/OO%j.yOz%Uq![%Uq~Oz+aO#g%ha%[%ha%_%ha%z%ha~P%SOV&OOo0cOv0qO~P'vOn0hO~Oo0hO~P'vO{0iO~Ot0jO~P!/jO&]&Z&j&h&i&g&f&d&e&c&b&`&a&_&^&[%u~",goto:"!=j'QPPPPPP'RP'Z*s+[+t,_,y-fP.SP'Z.r.r'ZPPP'Z2[PPPPPP2[5PPP5PP7b7k=sPP=v>h>kPP'Z'ZPP>zPP'Z'ZPP'Z'Z'Z'Z'Z?O?w'ZP?zP@QDXGuGyPG|HWH['ZPPPH_Hk'RP'R'RP'RP'RP'RP'RP'R'R'RP'RPP'RPP'RP'RPHqH}IVPI^IdPI^PI^I^PPPI^PKrPK{LVL]KrPI^LfPI^PLmLsPLwM]MzNeLwLwNkNxLwLwLwLw! ^! d! g! l! o! y!!P!!]!!o!!u!#P!#V!#s!#y!$P!$Z!$a!$g!$y!%T!%Z!%a!%k!%q!%w!%}!&T!&Z!&e!&k!&u!&{!'U!'[!'k!'s!'}!(UPPPPPPPPPPP!([!(_!(e!(n!(x!)TPPPPPPPPPPPP!-u!/Z!3^!6oPP!6w!7W!7a!8Y!8P!8c!8i!8l!8o!8r!8z!9jPPPPPPPPPPPPPPPPP!9m!9q!9wP!:]!:a!:m!:v!;S!;j!;m!;p!;v!;|!_![!]Do!]!^Es!^!_FZ!_!`Gk!`!aHX!a!b%T!b!cIf!c!dJU!d!eK^!e!hJU!h!i!#f!i!tJU!t!u!,|!u!wJU!w!x!.t!x!}JU!}#O!0S#O#P&o#P#Q!0j#Q#R!1Q#R#SJU#S#T%T#T#UJU#U#VK^#V#YJU#Y#Z!#f#Z#fJU#f#g!,|#g#iJU#i#j!.t#j#oJU#o#p!1n#p#q!1s#q#r!2a#r#s!2f#s$g%T$g;'SJU;'S;=`KW<%lOJU`%YT&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T`%lP;=`<%l%To%v]&n`%c_OX%TXY%oY[%T[]%o]p%Tpq%oq#O%T#O#P&o#P#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To&tX&n`OY%TYZ%oZ]%T]^%o^#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc'f[&n`O!_%T!_!`([!`#T%T#T#U(r#U#f%T#f#g(r#g#h(r#h#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc(cTmR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc(yT!mR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk)aV&n`&[ZOr%Trs)vs#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk){V&n`Or%Trs*bs#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk*iT&n`&^ZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To+PZS_&n`OY*xYZ%TZ]*x]^%T^#o*x#o#p+r#p#q*x#q#r+r#r;'S*x;'S;=`,^<%lO*x_+wTS_OY+rZ]+r^;'S+r;'S;=`,W<%lO+r_,ZP;=`<%l+ro,aP;=`<%l*xj,kV%rQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj-XT!xY&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj-oV%lQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk.]V&n`&ZZOw%Twx.rx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk.wV&n`Ow%Twx/^x#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk/eT&n`&]ZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk/{ThZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc0cTgR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk0yXVZ&n`Oz%Tz{1f{!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk1mVaR&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk2ZV%oZ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc2wTzR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To3_W%pZ&n`O!_%T!_!`-Q!`!a3w!a#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Td4OT&{S&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk4fX!fQ&n`O!O%T!O!P5R!P!Q%T!Q![6T![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk5WV&n`O!O%T!O!P5m!P#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk5tT!rZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti6[a!hX&n`O!Q%T!Q![6T![!g%T!g!h7a!h!l%T!l!m9s!m#R%T#R#S6T#S#X%T#X#Y7a#Y#^%T#^#_9s#_#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti7fZ&n`O{%T{|8X|}%T}!O8X!O!Q%T!Q![8s![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti8^V&n`O!Q%T!Q![8s![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti8z]!hX&n`O!Q%T!Q![8s![!l%T!l!m9s!m#R%T#R#S8s#S#^%T#^#_9s#_#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti9zT!hX&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk:bX%qR&n`O!P%T!P!Q:}!Q!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj;UV%sQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti;ro!hX&n`O!O%T!O!P=s!P!Q%T!Q![>_![!d%T!d!e?q!e!g%T!g!h7a!h!l%T!l!m9s!m!q%T!q!rA]!r!z%T!z!{Bq!{#R%T#R#S>_#S#U%T#U#V?q#V#X%T#X#Y7a#Y#^%T#^#_9s#_#c%T#c#dA]#d#l%T#l#mBq#m#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti=xV&n`O!Q%T!Q![6T![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti>fc!hX&n`O!O%T!O!P=s!P!Q%T!Q![>_![!g%T!g!h7a!h!l%T!l!m9s!m#R%T#R#S>_#S#X%T#X#Y7a#Y#^%T#^#_9s#_#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti?vY&n`O!Q%T!Q!R@f!R!S@f!S#R%T#R#S@f#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti@mY!hX&n`O!Q%T!Q!R@f!R!S@f!S#R%T#R#S@f#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiAbX&n`O!Q%T!Q!YA}!Y#R%T#R#SA}#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiBUX!hX&n`O!Q%T!Q!YA}!Y#R%T#R#SA}#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiBv]&n`O!Q%T!Q![Co![!c%T!c!iCo!i#R%T#R#SCo#S#T%T#T#ZCo#Z#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiCv]!hX&n`O!Q%T!Q![Co![!c%T!c!iCo!i#R%T#R#SCo#S#T%T#T#ZCo#Z#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%ToDvV{_&n`O!_%T!_!`E]!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TcEdT%{R&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkEzT#gZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkFbXmR&n`O!^%T!^!_F}!_!`([!`!a([!a#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TjGUV%mQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkGrV%zZ&n`O!_%T!_!`([!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkH`WmR&n`O!_%T!_!`([!`!aHx!a#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TjIPV%nQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkIoV_Q#}P&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%ToJ_]&n`&YS%uZO!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUoKZP;=`<%lJUoKge&n`&YS%uZOr%Trs)Ysw%Twx.Ux!Q%T!Q![JU![!c%T!c!tJU!t!uLx!u!}JU!}#R%T#R#SJU#S#T%T#T#fJU#f#gLx#g#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUoMRa&n`&YS%uZOr%TrsNWsw%Twx! vx!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUkN_V&n`&`ZOr%TrsNts#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkNyV&n`Or%Trs! `s#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk! gT&n`&bZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk! }V&n`&_ZOw%Twx!!dx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!!iV&n`Ow%Twx!#Ox#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!#VT&n`&aZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To!#oe&n`&YS%uZOr%Trs!%Qsw%Twx!&px!Q%T!Q![JU![!c%T!c!tJU!t!u!(`!u!}JU!}#R%T#R#SJU#S#T%T#T#fJU#f#g!(`#g#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUk!%XV&n`&dZOr%Trs!%ns#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!%sV&n`Or%Trs!&Ys#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!&aT&n`&fZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!&wV&n`&cZOw%Twx!'^x#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!'cV&n`Ow%Twx!'xx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!(PT&n`&eZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To!(ia&n`&YS%uZOr%Trs!)nsw%Twx!+^x!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUk!)uV&n`&hZOr%Trs!*[s#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!*aV&n`Or%Trs!*vs#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!*}T&n`&jZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!+eV&n`&gZOw%Twx!+zx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!,PV&n`Ow%Twx!,fx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!,mT&n`&iZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To!-Vi&n`&YS%uZOr%TrsNWsw%Twx! vx!Q%T!Q![JU![!c%T!c!dJU!d!eLx!e!hJU!h!i!(`!i!}JU!}#R%T#R#SJU#S#T%T#T#UJU#U#VLx#V#YJU#Y#Z!(`#Z#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUo!.}a&n`&YS%uZOr%Trs)Ysw%Twx.Ux!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUk!0ZT!XZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc!0qT!WR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj!1XV%kQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T~!1sO!]~k!1zV%jR&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T~!2fO![~i!2mT%tX&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T",tokenizers:[gw,Ow,uw,Qw,0,1,2,3,4],topRules:{Script:[0,5]},specialized:[{term:221,get:i=>yw[i]||-1}],tokenPrec:7668});var qm=new fi,zm=new Set(["Script","Body","FunctionDefinition","ClassDefinition","LambdaExpression","ForStatement","MatchClause"]);function uo(i){return(e,t,n)=>{if(n)return!1;let r=e.node.getChild("VariableName");return r&&t(r,i),!0}}var kw={FunctionDefinition:uo("function"),ClassDefinition:uo("class"),ForStatement(i,e,t){if(t){for(let n=i.node.firstChild;n;n=n.nextSibling)if(n.name=="VariableName")e(n,"variable");else if(n.name=="in")break}},ImportStatement(i,e){var t,n;let{node:r}=i,s=((t=r.firstChild)===null||t===void 0?void 0:t.name)=="from";for(let o=r.getChild("import");o;o=o.nextSibling)o.name=="VariableName"&&((n=o.nextSibling)===null||n===void 0?void 0:n.name)!="as"&&e(o,s?"variable":"namespace")},AssignStatement(i,e){for(let t=i.node.firstChild;t;t=t.nextSibling)if(t.name=="VariableName")e(t,"variable");else if(t.name==":"||t.name=="AssignOp")break},ParamList(i,e){for(let t=null,n=i.node.firstChild;n;n=n.nextSibling)n.name=="VariableName"&&(!t||!/\*|AssignOp/.test(t.name))&&e(n,"variable"),t=n},CapturePattern:uo("variable"),AsPattern:uo("variable"),__proto__:null};function Lm(i,e){let t=qm.get(e);if(t)return t;let n=[],r=!0;function s(o,a){let l=i.sliceString(o.from,o.to);n.push({label:l,type:a})}return e.cursor(ee.IncludeAnonymous).iterate(o=>{if(o.name){let a=kw[o.name];if(a&&a(o,s,r)||!r&&zm.has(o.name))return!1;r=!1}else if(o.to-o.from>8192){for(let a of Lm(i,o.node))n.push(a);return!1}}),qm.set(e,n),n}var Em=/^[\w\xa1-\uffff][\w\d\xa1-\uffff]*$/,Mm=["String","FormatString","Comment","PropertyName"];function xw(i){let e=B(i.state).resolveInner(i.pos,-1);if(Mm.indexOf(e.name)>-1)return null;let t=e.name=="VariableName"||e.to-e.from<20&&Em.test(i.state.sliceDoc(e.from,e.to));if(!t&&!i.explicit)return null;let n=[];for(let r=e;r;r=r.parent)zm.has(r.name)&&(n=n.concat(Lm(i.state.doc,r)));return{options:n,from:t?e.from:i.pos,validFor:Em}}var ww=["__annotations__","__builtins__","__debug__","__doc__","__import__","__name__","__loader__","__package__","__spec__","False","None","True"].map(i=>({label:i,type:"constant"})).concat(["ArithmeticError","AssertionError","AttributeError","BaseException","BlockingIOError","BrokenPipeError","BufferError","BytesWarning","ChildProcessError","ConnectionAbortedError","ConnectionError","ConnectionRefusedError","ConnectionResetError","DeprecationWarning","EOFError","Ellipsis","EncodingWarning","EnvironmentError","Exception","FileExistsError","FileNotFoundError","FloatingPointError","FutureWarning","GeneratorExit","IOError","ImportError","ImportWarning","IndentationError","IndexError","InterruptedError","IsADirectoryError","KeyError","KeyboardInterrupt","LookupError","MemoryError","ModuleNotFoundError","NameError","NotADirectoryError","NotImplemented","NotImplementedError","OSError","OverflowError","PendingDeprecationWarning","PermissionError","ProcessLookupError","RecursionError","ReferenceError","ResourceWarning","RuntimeError","RuntimeWarning","StopAsyncIteration","StopIteration","SyntaxError","SyntaxWarning","SystemError","SystemExit","TabError","TimeoutError","TypeError","UnboundLocalError","UnicodeDecodeError","UnicodeEncodeError","UnicodeError","UnicodeTranslateError","UnicodeWarning","UserWarning","ValueError","Warning","ZeroDivisionError"].map(i=>({label:i,type:"type"}))).concat(["bool","bytearray","bytes","classmethod","complex","float","frozenset","int","list","map","memoryview","object","range","set","staticmethod","str","super","tuple","type"].map(i=>({label:i,type:"class"}))).concat(["abs","aiter","all","anext","any","ascii","bin","breakpoint","callable","chr","compile","delattr","dict","dir","divmod","enumerate","eval","exec","exit","filter","format","getattr","globals","hasattr","hash","help","hex","id","input","isinstance","issubclass","iter","len","license","locals","max","min","next","oct","open","ord","pow","print","property","quit","repr","reversed","round","setattr","slice","sorted","sum","vars","zip"].map(i=>({label:i,type:"function"}))),Pw=[ce("def ${name}(${params}):\n ${}",{label:"def",detail:"function",type:"keyword"}),ce("for ${name} in ${collection}:\n ${}",{label:"for",detail:"loop",type:"keyword"}),ce("while ${}:\n ${}",{label:"while",detail:"loop",type:"keyword"}),ce("try:\n ${}\nexcept ${error}:\n ${}",{label:"try",detail:"/ except block",type:"keyword"}),ce(`if \${}: +}`,{label:"class",detail:"definition",type:"keyword"}),ce('import {${names}} from "${module}"\n${}',{label:"import",detail:"named",type:"keyword"}),ce('import ${name} from "${module}"\n${}',{label:"import",detail:"default",type:"keyword"})],c1=Mp.concat([ce("interface ${name} {\n ${}\n}",{label:"interface",detail:"definition",type:"keyword"}),ce("type ${name} = ${type}",{label:"type",detail:"definition",type:"keyword"}),ce("enum ${name} {\n ${}\n}",{label:"enum",detail:"definition",type:"keyword"})]),qp=new ui,Wp=new Set(["Script","Block","FunctionExpression","FunctionDeclaration","ArrowFunction","MethodDeclaration","ForStatement"]);function vr(i){return(e,t)=>{let n=e.node.getChild("VariableDefinition");return n&&t(n,i),!0}}var h1=["FunctionDeclaration"],f1={FunctionDeclaration:vr("function"),ClassDeclaration:vr("class"),ClassExpression:()=>!0,EnumDeclaration:vr("constant"),TypeAliasDeclaration:vr("type"),NamespaceDeclaration:vr("namespace"),VariableDefinition(i,e){i.matchContext(h1)||e(i,"variable")},TypeDefinition(i,e){e(i,"type")},__proto__:null};function jp(i,e){let t=qp.get(e);if(t)return t;let n=[],r=!0;function s(o,a){let l=i.sliceString(o.from,o.to);n.push({label:l,type:a})}return e.cursor(te.IncludeAnonymous).iterate(o=>{if(r)r=!1;else if(o.name){let a=f1[o.name];if(a&&a(o,s)||Wp.has(o.name))return!1}else if(o.to-o.from>8192){for(let a of jp(i,o.node))n.push(a);return!1}}),qp.set(e,n),n}var zp=/^[\w$\xa1-\uffff][\w$\d\xa1-\uffff]*$/,Vp=["TemplateString","String","RegExp","LineComment","BlockComment","VariableDefinition","TypeDefinition","Label","PropertyDefinition","PropertyName","PrivatePropertyDefinition","PrivatePropertyName","JSXText","JSXAttributeValue","JSXOpenTag","JSXCloseTag","JSXSelfClosingTag",".","?."];function u1(i){let e=U(i.state).resolveInner(i.pos,-1);if(Vp.indexOf(e.name)>-1)return null;let t=e.name=="VariableName"||e.to-e.from<20&&zp.test(i.state.sliceDoc(e.from,e.to));if(!t&&!i.explicit)return null;let n=[];for(let r=e;r;r=r.parent)Wp.has(r.name)&&(n=n.concat(jp(i.state.doc,r)));return{options:n,from:t?e.from:i.pos,validFor:zp}}var wt=$e.define({name:"javascript",parser:Ep.configure({props:[we.add({IfStatement:Yt({except:/^\s*({|else\b)/}),TryStatement:Yt({except:/^\s*({|catch\b|finally\b)/}),LabeledStatement:aO,SwitchBody:i=>{let e=i.textAfter,t=/^\s*\}/.test(e),n=/^\s*(case|default)\b/.test(e);return i.baseIndent+(t?0:n?1:2)*i.unit},Block:St({closing:"}"}),ArrowFunction:i=>i.baseIndent+i.unit,"TemplateString BlockComment":()=>null,"Statement Property":Yt({except:/^\s*{/}),JSXElement(i){let e=/^\s*<\//.test(i.textAfter);return i.lineIndent(i.node.from)+(e?0:i.unit)},JSXEscape(i){let e=/\s*\}/.test(i.textAfter);return i.lineIndent(i.node.from)+(e?0:i.unit)},"JSXOpenTag JSXSelfClosingTag"(i){return i.column(i.node.from)+i.unit}}),Te.add({"Block ClassBody SwitchBody EnumBody ObjectExpression ArrayExpression ObjectType":ht,BlockComment(i){return{from:i.from+2,to:i.to-2}},JSXElement(i){let e=i.firstChild;if(!e||e.name=="JSXSelfClosingTag")return null;let t=i.lastChild;return{from:e.to,to:t.type.isError?i.to:t.from}},"JSXSelfClosingTag JSXOpenTag"(i){var e;let t=(e=i.firstChild)===null||e===void 0?void 0:e.nextSibling,n=i.lastChild;return!t||t.type.isError?null:{from:t.to,to:n.type.isError?i.to:n.from}}})]}),languageData:{closeBrackets:{brackets:["(","[","{","'",'"',"`"]},commentTokens:{line:"//",block:{open:"/*",close:"*/"}},indentOnInput:/^\s*(?:case |default:|\{|\}|<\/)$/,wordChars:"$"}}),Dp={test:i=>/^JSX/.test(i.name),facet:kn({commentTokens:{block:{open:"{/*",close:"*/}"}}})},_c=wt.configure({dialect:"ts"},"typescript"),Rc=wt.configure({dialect:"jsx",props:[qs.add(i=>i.isTop?[Dp]:void 0)]}),Ac=wt.configure({dialect:"jsx ts",props:[qs.add(i=>i.isTop?[Dp]:void 0)]},"typescript"),Yp=i=>({label:i,type:"keyword"}),Ip="break case const continue default delete export extends false finally in instanceof let new return static super switch this throw true typeof var yield".split(" ").map(Yp),O1=Ip.concat(["declare","implements","private","protected","public"].map(Yp));function so(i={}){let e=i.jsx?i.typescript?Ac:Rc:i.typescript?_c:wt,t=i.typescript?c1.concat(O1):Mp.concat(Ip);return new me(e,[wt.data.of({autocomplete:Bs(Vp,Is(t))}),wt.data.of({autocomplete:u1}),i.jsx?m1:[]])}function d1(i){for(;;){if(i.name=="JSXOpenTag"||i.name=="JSXSelfClosingTag"||i.name=="JSXFragmentTag")return i;if(i.name=="JSXEscape"||!i.parent)return null;i=i.parent}}function Lp(i,e,t=i.length){for(let n=e?.firstChild;n;n=n.nextSibling)if(n.name=="JSXIdentifier"||n.name=="JSXBuiltin"||n.name=="JSXNamespacedName"||n.name=="JSXMemberExpression")return i.sliceString(n.from,Math.min(n.to,t));return""}var p1=typeof navigator=="object"&&/Android\b/.test(navigator.userAgent),m1=z.inputHandler.of((i,e,t,n,r)=>{if((p1?i.composing:i.compositionStarted)||i.state.readOnly||e!=t||n!=">"&&n!="/"||!wt.isActiveAt(i.state,e,-1))return!1;let s=r(),{state:o}=s,a=o.changeByRange(l=>{var c;let{head:h}=l,f=U(o).resolveInner(h-1,-1),u;if(f.name=="JSXStartTag"&&(f=f.parent),!(o.doc.sliceString(h-1,h)!=n||f.name=="JSXAttributeValue"&&f.to>h)){if(n==">"&&f.name=="JSXFragmentTag")return{range:l,changes:{from:h,insert:""}};if(n=="/"&&f.name=="JSXStartCloseTag"){let O=f.parent,p=O.parent;if(p&&O.from==h-2&&((u=Lp(o.doc,p.firstChild,h))||((c=p.firstChild)===null||c===void 0?void 0:c.name)=="JSXFragmentTag")){let m=`${u}>`;return{range:P.cursor(h+m.length,-1),changes:{from:h,insert:m}}}}else if(n==">"){let O=d1(f);if(O&&O.name=="JSXOpenTag"&&!/^\/?>|^<\//.test(o.doc.sliceString(h,h+2))&&(u=Lp(o.doc,O,h)))return{range:l,changes:{from:h,insert:``}}}}return{range:l}});return a.changes.empty?!1:(i.dispatch([s,o.update(a,{userEvent:"input.complete",scrollIntoView:!0})]),!0)});var $r=["_blank","_self","_top","_parent"],Zc=["ascii","utf-8","utf-16","latin1","latin1"],Ec=["get","post","put","delete"],qc=["application/x-www-form-urlencoded","multipart/form-data","text/plain"],et=["true","false"],D={},g1={a:{attrs:{href:null,ping:null,type:null,media:null,target:$r,hreflang:null}},abbr:D,address:D,area:{attrs:{alt:null,coords:null,href:null,target:null,ping:null,media:null,hreflang:null,type:null,shape:["default","rect","circle","poly"]}},article:D,aside:D,audio:{attrs:{src:null,mediagroup:null,crossorigin:["anonymous","use-credentials"],preload:["none","metadata","auto"],autoplay:["autoplay"],loop:["loop"],controls:["controls"]}},b:D,base:{attrs:{href:null,target:$r}},bdi:D,bdo:D,blockquote:{attrs:{cite:null}},body:D,br:D,button:{attrs:{form:null,formaction:null,name:null,value:null,autofocus:["autofocus"],disabled:["autofocus"],formenctype:qc,formmethod:Ec,formnovalidate:["novalidate"],formtarget:$r,type:["submit","reset","button"]}},canvas:{attrs:{width:null,height:null}},caption:D,center:D,cite:D,code:D,col:{attrs:{span:null}},colgroup:{attrs:{span:null}},command:{attrs:{type:["command","checkbox","radio"],label:null,icon:null,radiogroup:null,command:null,title:null,disabled:["disabled"],checked:["checked"]}},data:{attrs:{value:null}},datagrid:{attrs:{disabled:["disabled"],multiple:["multiple"]}},datalist:{attrs:{data:null}},dd:D,del:{attrs:{cite:null,datetime:null}},details:{attrs:{open:["open"]}},dfn:D,div:D,dl:D,dt:D,em:D,embed:{attrs:{src:null,type:null,width:null,height:null}},eventsource:{attrs:{src:null}},fieldset:{attrs:{disabled:["disabled"],form:null,name:null}},figcaption:D,figure:D,footer:D,form:{attrs:{action:null,name:null,"accept-charset":Zc,autocomplete:["on","off"],enctype:qc,method:Ec,novalidate:["novalidate"],target:$r}},h1:D,h2:D,h3:D,h4:D,h5:D,h6:D,head:{children:["title","base","link","style","meta","script","noscript","command"]},header:D,hgroup:D,hr:D,html:{attrs:{manifest:null}},i:D,iframe:{attrs:{src:null,srcdoc:null,name:null,width:null,height:null,sandbox:["allow-top-navigation","allow-same-origin","allow-forms","allow-scripts"],seamless:["seamless"]}},img:{attrs:{alt:null,src:null,ismap:null,usemap:null,width:null,height:null,crossorigin:["anonymous","use-credentials"]}},input:{attrs:{alt:null,dirname:null,form:null,formaction:null,height:null,list:null,max:null,maxlength:null,min:null,name:null,pattern:null,placeholder:null,size:null,src:null,step:null,value:null,width:null,accept:["audio/*","video/*","image/*"],autocomplete:["on","off"],autofocus:["autofocus"],checked:["checked"],disabled:["disabled"],formenctype:qc,formmethod:Ec,formnovalidate:["novalidate"],formtarget:$r,multiple:["multiple"],readonly:["readonly"],required:["required"],type:["hidden","text","search","tel","url","email","password","datetime","date","month","week","time","datetime-local","number","range","color","checkbox","radio","file","submit","image","reset","button"]}},ins:{attrs:{cite:null,datetime:null}},kbd:D,keygen:{attrs:{challenge:null,form:null,name:null,autofocus:["autofocus"],disabled:["disabled"],keytype:["RSA"]}},label:{attrs:{for:null,form:null}},legend:D,li:{attrs:{value:null}},link:{attrs:{href:null,type:null,hreflang:null,media:null,sizes:["all","16x16","16x16 32x32","16x16 32x32 64x64"]}},map:{attrs:{name:null}},mark:D,menu:{attrs:{label:null,type:["list","context","toolbar"]}},meta:{attrs:{content:null,charset:Zc,name:["viewport","application-name","author","description","generator","keywords"],"http-equiv":["content-language","content-type","default-style","refresh"]}},meter:{attrs:{value:null,min:null,low:null,high:null,max:null,optimum:null}},nav:D,noscript:D,object:{attrs:{data:null,type:null,name:null,usemap:null,form:null,width:null,height:null,typemustmatch:["typemustmatch"]}},ol:{attrs:{reversed:["reversed"],start:null,type:["1","a","A","i","I"]},children:["li","script","template","ul","ol"]},optgroup:{attrs:{disabled:["disabled"],label:null}},option:{attrs:{disabled:["disabled"],label:null,selected:["selected"],value:null}},output:{attrs:{for:null,form:null,name:null}},p:D,param:{attrs:{name:null,value:null}},pre:D,progress:{attrs:{value:null,max:null}},q:{attrs:{cite:null}},rp:D,rt:D,ruby:D,samp:D,script:{attrs:{type:["text/javascript"],src:null,async:["async"],defer:["defer"],charset:Zc}},section:D,select:{attrs:{form:null,name:null,size:null,autofocus:["autofocus"],disabled:["disabled"],multiple:["multiple"]}},slot:{attrs:{name:null}},small:D,source:{attrs:{src:null,type:null,media:null}},span:D,strong:D,style:{attrs:{type:["text/css"],media:null,scoped:null}},sub:D,summary:D,sup:D,table:D,tbody:D,td:{attrs:{colspan:null,rowspan:null,headers:null}},template:D,textarea:{attrs:{dirname:null,form:null,maxlength:null,name:null,placeholder:null,rows:null,cols:null,autofocus:["autofocus"],disabled:["disabled"],readonly:["readonly"],required:["required"],wrap:["soft","hard"]}},tfoot:D,th:{attrs:{colspan:null,rowspan:null,headers:null,scope:["row","col","rowgroup","colgroup"]}},thead:D,time:{attrs:{datetime:null}},title:D,tr:D,track:{attrs:{src:null,label:null,default:null,kind:["subtitles","captions","descriptions","chapters","metadata"],srclang:null}},ul:{children:["li","script","template","ul","ol"]},var:D,video:{attrs:{src:null,poster:null,width:null,height:null,crossorigin:["anonymous","use-credentials"],preload:["auto","metadata","none"],autoplay:["autoplay"],mediagroup:["movie"],muted:["muted"],controls:["controls"]}},wbr:D},Np={accesskey:null,class:null,contenteditable:et,contextmenu:null,dir:["ltr","rtl","auto"],draggable:["true","false","auto"],dropzone:["copy","move","link","string:","file:"],hidden:["hidden"],id:null,inert:["inert"],itemid:null,itemprop:null,itemref:null,itemscope:["itemscope"],itemtype:null,lang:["ar","bn","de","en-GB","en-US","es","fr","hi","id","ja","pa","pt","ru","tr","zh"],spellcheck:et,autocorrect:et,autocapitalize:et,style:null,tabindex:null,title:null,translate:["yes","no"],rel:["stylesheet","alternate","author","bookmark","help","license","next","nofollow","noreferrer","prefetch","prev","search","tag"],role:"alert application article banner button cell checkbox complementary contentinfo dialog document feed figure form grid gridcell heading img list listbox listitem main navigation region row rowgroup search switch tab table tabpanel textbox timer".split(" "),"aria-activedescendant":null,"aria-atomic":et,"aria-autocomplete":["inline","list","both","none"],"aria-busy":et,"aria-checked":["true","false","mixed","undefined"],"aria-controls":null,"aria-describedby":null,"aria-disabled":et,"aria-dropeffect":null,"aria-expanded":["true","false","undefined"],"aria-flowto":null,"aria-grabbed":["true","false","undefined"],"aria-haspopup":et,"aria-hidden":et,"aria-invalid":["true","false","grammar","spelling"],"aria-label":null,"aria-labelledby":null,"aria-level":null,"aria-live":["off","polite","assertive"],"aria-multiline":et,"aria-multiselectable":et,"aria-owns":null,"aria-posinset":null,"aria-pressed":["true","false","mixed","undefined"],"aria-readonly":et,"aria-relevant":null,"aria-required":et,"aria-selected":["true","false","undefined"],"aria-setsize":null,"aria-sort":["ascending","descending","none","other"],"aria-valuemax":null,"aria-valuemin":null,"aria-valuenow":null,"aria-valuetext":null},Fp="beforeunload copy cut dragstart dragover dragleave dragenter dragend drag paste focus blur change click load mousedown mouseenter mouseleave mouseup keydown keyup resize scroll unload".split(" ").map(i=>"on"+i);for(let i of Fp)Np[i]=null;var Bi=class{constructor(e,t){this.tags={...g1,...e},this.globalAttrs={...Np,...t},this.allTags=Object.keys(this.tags),this.globalAttrNames=Object.keys(this.globalAttrs)}};Bi.default=new Bi;function $n(i,e,t=i.length){if(!e)return"";let n=e.firstChild,r=n&&n.getChild("TagName");return r?i.sliceString(r.from,Math.min(r.to,t)):""}function Tn(i,e=!1){for(;i;i=i.parent)if(i.name=="Element")if(e)e=!1;else return i;return null}function Hp(i,e,t){let n=t.tags[$n(i,Tn(e))];return n?.children||t.allTags}function zc(i,e){let t=[];for(let n=Tn(e);n&&!n.type.isTop;n=Tn(n.parent)){let r=$n(i,n);if(r&&n.lastChild.name=="CloseTag")break;r&&t.indexOf(r)<0&&(e.name=="EndTag"||e.from>=n.firstChild.to)&&t.push(r)}return t}var Kp=/^[:\-\.\w\u00b7-\uffff]*$/;function Bp(i,e,t,n,r){let s=/\s*>/.test(i.sliceDoc(r,r+5))?"":">",o=Tn(t,t.name=="StartTag"||t.name=="TagName");return{from:n,to:r,options:Hp(i.doc,o,e).map(a=>({label:a,type:"type"})).concat(zc(i.doc,t).map((a,l)=>({label:"/"+a,apply:"/"+a+s,type:"type",boost:99-l}))),validFor:/^\/?[:\-\.\w\u00b7-\uffff]*$/}}function Up(i,e,t,n){let r=/\s*>/.test(i.sliceDoc(n,n+5))?"":">";return{from:t,to:n,options:zc(i.doc,e).map((s,o)=>({label:s,apply:s+r,type:"type",boost:99-o})),validFor:Kp}}function Q1(i,e,t,n){let r=[],s=0;for(let o of Hp(i.doc,t,e))r.push({label:"<"+o,type:"type"});for(let o of zc(i.doc,t))r.push({label:"",type:"type",boost:99-s++});return{from:n,to:n,options:r,validFor:/^<\/?[:\-\.\w\u00b7-\uffff]*$/}}function b1(i,e,t,n,r){let s=Tn(t),o=s?e.tags[$n(i.doc,s)]:null,a=o&&o.attrs?Object.keys(o.attrs):[],l=o&&o.globalAttrs===!1?a:a.length?a.concat(e.globalAttrNames):e.globalAttrNames;return{from:n,to:r,options:l.map(c=>({label:c,type:"property"})),validFor:Kp}}function S1(i,e,t,n,r){var s;let o=(s=t.parent)===null||s===void 0?void 0:s.getChild("AttributeName"),a=[],l;if(o){let c=i.sliceDoc(o.from,o.to),h=e.globalAttrs[c];if(!h){let f=Tn(t),u=f?e.tags[$n(i.doc,f)]:null;h=u?.attrs&&u.attrs[c]}if(h){let f=i.sliceDoc(n,r).toLowerCase(),u='"',O='"';/^['"]/.test(f)?(l=f[0]=='"'?/^[^"]*$/:/^[^']*$/,u="",O=i.sliceDoc(r,r+1)==f[0]?"":f[0],f=f.slice(1),n++):l=/^[^\s<>='"]*$/;for(let p of h)a.push({label:p,apply:u+p+O,type:"constant"})}}return{from:n,to:r,options:a,validFor:l}}function Jp(i,e){let{state:t,pos:n}=e,r=U(t).resolveInner(n,-1),s=r.resolve(n);for(let o=n,a;s==r&&(a=r.childBefore(o));){let l=a.lastChild;if(!l||!l.type.isError||l.fromJp(n,r)}var k1=wt.parser.configure({top:"SingleExpression"}),tm=[{tag:"script",attrs:i=>i.type=="text/typescript"||i.lang=="ts",parser:_c.parser},{tag:"script",attrs:i=>i.type=="text/babel"||i.type=="text/jsx",parser:Rc.parser},{tag:"script",attrs:i=>i.type=="text/typescript-jsx",parser:Ac.parser},{tag:"script",attrs(i){return/^(importmap|speculationrules|application\/(.+\+)?json)$/i.test(i.type)},parser:k1},{tag:"script",attrs(i){return!i.type||/^(?:text|application)\/(?:x-)?(?:java|ecma)script$|^module$|^$/i.test(i.type)},parser:wt.parser},{tag:"style",attrs(i){return(!i.lang||i.lang=="css")&&(!i.type||/^(text\/)?(x-)?(stylesheet|css)$/i.test(i.type))},parser:Pr.parser}],im=[{name:"style",parser:Pr.parser.configure({top:"Styles"})}].concat(Fp.map(i=>({name:i,parser:wt.parser}))),nm=$e.define({name:"html",parser:Sp.configure({props:[we.add({Element(i){let e=/^(\s*)(<\/)?/.exec(i.textAfter);return i.node.to<=i.pos+e[0].length?i.continue():i.lineIndent(i.node.from)+(e[2]?0:i.unit)},"OpenTag CloseTag SelfClosingTag"(i){return i.column(i.node.from)+i.unit},Document(i){if(i.pos+/\s*/.exec(i.textAfter)[0].lengthi.getChild("TagName")})]}),languageData:{commentTokens:{block:{open:""}},indentOnInput:/^\s*<\/\w+\W$/,wordChars:"-_"}}),oo=nm.configure({wrap:wc(tm,im)});function ao(i={}){let e="",t;i.matchClosingTags===!1&&(e="noMatch"),i.selfClosingTags===!0&&(e=(e?e+" ":"")+"selfClosing"),(i.nestedLanguages&&i.nestedLanguages.length||i.nestedAttributes&&i.nestedAttributes.length)&&(t=wc((i.nestedLanguages||[]).concat(tm),(i.nestedAttributes||[]).concat(im)));let n=t?nm.configure({wrap:t,dialect:e}):e?oo.configure({dialect:e}):oo;return new me(n,[oo.data.of({autocomplete:y1(i)}),i.autoCloseTags!==!1?x1:[],so().support,ro().support])}var Gp=new Set("area base br col command embed frame hr img input keygen link meta param source track wbr menuitem".split(" ")),x1=z.inputHandler.of((i,e,t,n,r)=>{if(i.composing||i.state.readOnly||e!=t||n!=">"&&n!="/"||!oo.isActiveAt(i.state,e,-1))return!1;let s=r(),{state:o}=s,a=o.changeByRange(l=>{var c,h,f;let u=o.doc.sliceString(l.from-1,l.to)==n,{head:O}=l,p=U(o).resolveInner(O,-1),m;if(u&&n==">"&&p.name=="EndTag"){let b=p.parent;if(((h=(c=b.parent)===null||c===void 0?void 0:c.lastChild)===null||h===void 0?void 0:h.name)!="CloseTag"&&(m=$n(o.doc,b.parent,O))&&!Gp.has(m)){let g=O+(o.doc.sliceString(O,O+1)===">"?1:0),Q=``;return{range:l,changes:{from:O,to:g,insert:Q}}}}else if(u&&n=="/"&&p.name=="IncompleteCloseTag"){let b=p.parent;if(p.from==O-2&&((f=b.lastChild)===null||f===void 0?void 0:f.name)!="CloseTag"&&(m=$n(o.doc,b,O))&&!Gp.has(m)){let g=O+(o.doc.sliceString(O,O+1)===">"?1:0),Q=`${m}>`;return{range:P.cursor(O+Q.length,-1),changes:{from:O,to:g,insert:Q}}}}return{range:l}});return a.changes.empty?!1:(i.dispatch([s,o.update(a,{userEvent:"input.complete",scrollIntoView:!0})]),!0)});var om=kn({commentTokens:{block:{open:""}}}),am=new I,lm=Yd.configure({props:[Te.add(i=>!i.is("Block")||i.is("Document")||Wc(i)!=null||w1(i)?void 0:(e,t)=>({from:t.doc.lineAt(e.from).to,to:e.to})),am.add(Wc),we.add({Document:()=>null}),bt.add({Document:om})]});function Wc(i){let e=/^(?:ATX|Setext)Heading(\d)$/.exec(i.name);return e?+e[1]:void 0}function w1(i){return i.name=="OrderedList"||i.name=="BulletList"}function P1(i,e){let t=i;for(;;){let n=t.nextSibling,r;if(!n||(r=Wc(n.type))!=null&&r<=e)break;t=n}return t.to}var v1=lO.of((i,e,t)=>{for(let n=U(i).resolveInner(t,-1);n&&!(n.fromt)return{from:t,to:s}}return null});function jc(i){return new xe(om,i,[],"markdown")}var $1=jc(lm),T1=lm.configure([Ud,Fd,Nd,Hd,{props:[Te.add({Table:(i,e)=>({from:e.doc.lineAt(i.from).to,to:i.to})})]}]),Si=jc(T1);function C1(i,e){return t=>{if(t&&i){let n=null;if(t=/\S*/.exec(t)[0],typeof i=="function"?n=i(t):n=Be.matchLanguageName(i,t,!0),n instanceof Be)return n.support?n.support.language.parser:Mi.getSkippingParser(n.load());if(n)return n.parser}return e?e.parser:null}}var Tr=class{constructor(e,t,n,r,s,o,a){this.node=e,this.from=t,this.to=n,this.spaceBefore=r,this.spaceAfter=s,this.type=o,this.item=a}blank(e,t=!0){let n=this.spaceBefore+(this.node.name=="Blockquote"?">":"");if(e!=null){for(;n.length0;r--)n+=" ";return n+(t?this.spaceAfter:"")}}marker(e,t){let n=this.node.name=="OrderedList"?String(+hm(this.item,e)[2]+t):"";return this.spaceBefore+n+this.type+this.spaceAfter}};function cm(i,e){let t=[],n=[];for(let r=i;r;r=r.parent){if(r.name=="FencedCode")return n;(r.name=="ListItem"||r.name=="Blockquote")&&t.push(r)}for(let r=t.length-1;r>=0;r--){let s=t[r],o,a=e.lineAt(s.from),l=s.from-a.from;if(s.name=="Blockquote"&&(o=/^ *>( ?)/.exec(a.text.slice(l))))n.push(new Tr(s,l,l+o[0].length,"",o[1],">",null));else if(s.name=="ListItem"&&s.parent.name=="OrderedList"&&(o=/^( *)\d+([.)])( *)/.exec(a.text.slice(l)))){let c=o[3],h=o[0].length;c.length>=4&&(c=c.slice(0,c.length-4),h-=4),n.push(new Tr(s.parent,l,l+h,o[1],c,o[2],s))}else if(s.name=="ListItem"&&s.parent.name=="BulletList"&&(o=/^( *)([-+*])( {1,4}\[[ xX]\])?( +)/.exec(a.text.slice(l)))){let c=o[4],h=o[0].length;c.length>4&&(c=c.slice(0,c.length-4),h-=4);let f=o[2];o[3]&&(f+=o[3].replace(/[xX]/," ")),n.push(new Tr(s.parent,l,l+h,o[1],c,f,s))}}return n}function hm(i,e){return/^(\s*)(\d+)(?=[.)])/.exec(e.sliceString(i.from,i.from+10))}function Lc(i,e,t,n=0){for(let r=-1,s=i;;){if(s.name=="ListItem"){let a=hm(s,e),l=+a[2];if(r>=0){if(l!=r+1)return;t.push({from:s.from+a[1].length,to:s.from+a[0].length,insert:String(r+2+n)})}r=l}let o=s.nextSibling;if(!o)break;s=o}}function Vc(i,e){let t=/^[ \t]*/.exec(i)[0].length;if(!t||e.facet(Rt)!=" ")return i;let n=Fe(i,4,t),r="";for(let s=n;s>0;)s>=4?(r+=" ",s-=4):(r+=" ",s--);return r+i.slice(t)}var Dc=(i={})=>({state:e,dispatch:t})=>{let n=U(e),{doc:r}=e,s=null,o=e.changeByRange(a=>{if(!a.empty||!Si.isActiveAt(e,a.from,-1)&&!Si.isActiveAt(e,a.from,1))return s={range:a};let l=a.from,c=r.lineAt(l),h=cm(n.resolveInner(l,-1),r);for(;h.length&&h[h.length-1].from>l-c.from;)h.pop();if(!h.length)return s={range:a};let f=h[h.length-1];if(f.to-f.spaceAfter.length>l-c.from)return s={range:a};let u=l>=f.to-f.spaceAfter.length&&!/\S/.test(c.text.slice(f.to));if(f.item&&u){let g=f.node.firstChild,Q=f.node.getChild("ListItem","ListItem");if(g.to>=l||Q&&Q.to0&&!/[^\s>]/.test(r.lineAt(c.from-1).text)||i.nonTightLists===!1){let S=h.length>1?h[h.length-2]:null,x,v="";S&&S.item?(x=c.from+S.from,v=S.marker(r,1)):x=c.from+(S?S.to:0);let $=[{from:x,to:l,insert:v}];return f.node.name=="OrderedList"&&Lc(f.item,r,$,-2),S&&S.node.name=="OrderedList"&&Lc(S.item,r,$),{range:P.cursor(x+v.length),changes:$}}else{let S=sm(h,e,c);return{range:P.cursor(l+S.length+1),changes:{from:c.from,insert:S+e.lineBreak}}}}if(f.node.name=="Blockquote"&&u&&c.from){let g=r.lineAt(c.from-1),Q=/>\s*$/.exec(g.text);if(Q&&Q.index==f.from){let S=e.changes([{from:g.from+Q.index,to:g.to},{from:c.from+f.from,to:c.to}]);return{range:a.map(S),changes:S}}}let O=[];f.node.name=="OrderedList"&&Lc(f.item,r,O);let p=f.item&&f.item.from]*/.exec(c.text)[0].length>=f.to)for(let g=0,Q=h.length-1;g<=Q;g++)m+=g==Q&&!p?h[g].marker(r,1):h[g].blank(gc.from&&/\s/.test(c.text.charAt(b-c.from-1));)b--;return m=Vc(m,e),_1(f.node,e.doc)&&(m=sm(h,e,c)+e.lineBreak+m),O.push({from:b,to:l,insert:e.lineBreak+m}),{range:P.cursor(b+m.length+1),changes:O}});return s?!1:(t(e.update(o,{scrollIntoView:!0,userEvent:"input"})),!0)},X1=Dc();function rm(i){return i.name=="QuoteMark"||i.name=="ListMark"}function _1(i,e){if(i.name!="OrderedList"&&i.name!="BulletList")return!1;let t=i.firstChild,n=i.getChild("ListItem","ListItem");if(!n)return!1;let r=e.lineAt(t.to),s=e.lineAt(n.from),o=/^[\s>]*$/.test(r.text);return r.number+(o?0:1){let t=U(i),n=null,r=i.changeByRange(s=>{let o=s.from,{doc:a}=i;if(s.empty&&Si.isActiveAt(i,s.from)){let l=a.lineAt(o),c=cm(R1(t,o),a);if(c.length){let h=c[c.length-1],f=h.to-h.spaceAfter.length+(h.spaceAfter?1:0);if(o-l.from>f&&!/\S/.test(l.text.slice(f,o-l.from)))return{range:P.cursor(l.from+f),changes:{from:l.from+f,to:o}};if(o-l.from==f&&(!h.item||l.from<=h.item.from||!/\S/.test(l.text.slice(0,h.to)))){let u=l.from+h.from;if(h.item&&h.node.from{var t;let{main:n}=e.state.selection;if(n.empty)return!1;let r=(t=i.clipboardData)===null||t===void 0?void 0:t.getData("text/plain");if(!r||!/^(https?:\/\/|mailto:|xmpp:|www\.)/.test(r)||(/^www\./.test(r)&&(r="https://"+r),!Si.isActiveAt(e.state,n.from,1)))return!1;let s=U(e.state),o=!1;return s.iterate({from:n.from,to:n.to,enter:a=>{(a.from>n.from||q1.test(a.name))&&(o=!0)},leave:a=>{a.to{if(i.next==-1&&e.canShift(um))return i.acceptToken(um);let t=i.peek(-1);if((Gt(t)||t<0)&&e.context.type!=Xr){if(Xn(i,45))if(e.canShift(Cn))i.acceptToken(Cn);else return i.acceptToken(L1,3);if(Xn(i,46))if(e.canShift(Cn))i.acceptToken(Cn);else return i.acceptToken(M1,3);let n=0;for(;i.next==32;)n++,i.advance();(n{if(e.context.type==Xr){i.next==63&&(i.advance(),Ui(i.next)&&i.acceptToken(V1));return}if(i.next==45)i.advance(),Ui(i.next)&&i.acceptToken(e.context.type==Hc&&e.context.depth==Cr(i,i.pos-1)?W1:pm);else if(i.next==63)i.advance(),Ui(i.next)&&i.acceptToken(e.context.type==Uc&&e.context.depth==Cr(i,i.pos-1)?j1:mm);else{let t=i.pos;for(;;)if(Nc(i.next)){if(i.pos==t)return;i.advance()}else if(i.next==33)Sm(i);else if(i.next==38)Fc(i);else if(i.next==42){Fc(i);break}else if(i.next==39||i.next==34){if(Kc(i,!0))break;return}else if(i.next==91||i.next==123){if(!ox(i))return;break}else{ym(i,!0,!1,0);break}for(;Nc(i.next);)i.advance();if(i.next==58){if(i.pos==t&&e.canShift(H1))return;let n=i.peek(1);Ui(n)&&i.acceptTokenTo(e.context.type==Uc&&e.context.depth==Cr(i,t)?D1:gm,t)}}},{contextual:!0});function sx(i){return i>32&&i<127&&i!=34&&i!=37&&i!=44&&i!=60&&i!=62&&i!=92&&i!=94&&i!=96&&i!=123&&i!=124&&i!=125}function Om(i){return i>=48&&i<=57||i>=97&&i<=102||i>=65&&i<=70}function dm(i,e){return i.next==37?(i.advance(),Om(i.next)&&i.advance(),Om(i.next)&&i.advance(),!0):sx(i.next)||e&&i.next==44?(i.advance(),!0):!1}function Sm(i){if(i.advance(),i.next==60){for(i.advance();;)if(!dm(i,!0)){i.next==62&&i.advance();break}}else for(;dm(i,!1););}function Fc(i){for(i.advance();!Ui(i.next)&&lo(i.next)!="f";)i.advance()}function Kc(i,e){let t=i.next,n=!1,r=i.pos;for(i.advance();;){let s=i.next;if(s<0)break;if(i.advance(),s==t)if(s==39)if(i.next==39)i.advance();else break;else break;else if(s==92&&t==34)i.next>=0&&i.advance();else if(Gt(s)){if(e)return!1;n=!0}else if(e&&i.pos>=r+1024)return!1}return!n}function ox(i){for(let e=[],t=i.pos+1024;;)if(i.next==91||i.next==123)e.push(i.next),i.advance();else if(i.next==39||i.next==34){if(!Kc(i,!0))return!1}else if(i.next==93||i.next==125){if(e[e.length-1]!=i.next-2)return!1;if(e.pop(),i.advance(),!e.length)return!0}else{if(i.next<0||i.pos>t||Gt(i.next))return!1;i.advance()}}var ax="iiisiiissisfissssssssssssisssiiissssssssssssssssssssssssssfsfssissssssssssssssssssssssssssfif";function lo(i){return i<33?"u":i>125?"s":ax[i-33]}function Bc(i,e){let t=lo(i);return t!="u"&&!(e&&t=="f")}function ym(i,e,t,n){if(lo(i.next)=="s"||(i.next==63||i.next==58||i.next==45)&&Bc(i.peek(1),t))i.advance();else return!1;let r=i.pos;for(;;){let s=i.next,o=0,a=n+1;for(;bm(s);){if(Gt(s)){if(e)return!1;a=0}else a++;s=i.peek(++o)}if(!(s>=0&&(s==58?Bc(i.peek(o+1),t):s==35?i.peek(o-1)!=32:Bc(s,t)))||!t&&a<=n||a==0&&!t&&(Xn(i,45,o)||Xn(i,46,o)))break;if(e&&lo(s)=="f")return!1;for(let c=o;c>=0;c--)i.advance();if(e&&i.pos>r+1024)return!1}return!0}var lx=new J((i,e)=>{if(i.next==33)Sm(i),i.acceptToken(G1);else if(i.next==38||i.next==42){let t=i.next==38?B1:U1;Fc(i),i.acceptToken(t)}else i.next==39||i.next==34?(Kc(i,!1),i.acceptToken(I1)):ym(i,!1,e.context.type==Xr,e.context.depth)&&i.acceptToken(Y1)}),cx=new J((i,e)=>{let t=e.context.type==Gc?e.context.depth:-1,n=i.pos;e:for(;;){let r=0,s=i.next;for(;s==32;)s=i.peek(++r);if(!r&&(Xn(i,45,r)||Xn(i,46,r))||!Gt(s)&&(t<0&&(t=Math.max(e.context.depth+1,r)),rYAN>Y",stateData:";S~O!fOS!gOS^OS~OP_OQbORSOTUOWROXROYYOZZO[XOcPOqQO!PVO!V[O!cTO~O`cO~P]OVkOWROXROYeOZfO[dOcPOmhOqQO~OboO~P!bOVtOWROXROYeOZfO[dOcPOmrOqQO~OpwO~P#WORSOTUOWROXROYYOZZO[XOcPOqQO!PVO!cTO~OSvP!avP!bvP~P#|OWROXROYeOZfO[dOcPOqQO~OmzO~P%OOm!OOUzP!azP!bzP!dzP~P#|O^!SO!b!QO!f!TO!g!RO~ORSOTUOWROXROcPOqQO!PVO!cTO~OY!UOP!QXQ!QX!V!QX!`!QXS!QX!a!QX!b!QXU!QXm!QX!d!QX~P&aO[!WOP!SXQ!SX!V!SX!`!SXS!SX!a!SX!b!SXU!SXm!SX!d!SX~P&aO^!ZO!W![O!b!YO!f!]O!g!YO~OP!_O!V[OQaX!`aX~OPaXQaX!VaX!`aX~P#|OP!bOQ!cO!V[O~OP_O!V[O~P#|OWROXROY!fOcPOqQObfXmfXofXpfX~OWROXRO[!hOcPOqQObhXmhXohXphX~ObeXmlXoeX~ObkXokX~P%OOm!kO~Om!lObnPonP~P%OOb!pOo!oO~Ob!pO~P!bOm!sOosXpsX~OosXpsX~P%OOm!uOotPptP~P%OOo!xOp!yO~Op!yO~P#WOS!|O!a#OO!b#OO~OUyX!ayX!byX!dyX~P#|Om#QO~OU#SO!a#UO!b#UO!d#RO~Om#WOUzX!azX!bzX!dzX~O]#XO~O!b#XO!g#YO~O^#ZO!b#XO!g#YO~OP!RXQ!RX!V!RX!`!RXS!RX!a!RX!b!RXU!RXm!RX!d!RX~P&aOP!TXQ!TX!V!TX!`!TXS!TX!a!TX!b!TXU!TXm!TX!d!TX~P&aO!b#^O!g#^O~O^#_O!b#^O!f#`O!g#^O~O^#_O!W#aO!b#^O!g#^O~OPaaQaa!Vaa!`aa~P#|OP#cO!V[OQ!XX!`!XX~OP!XXQ!XX!V!XX!`!XX~P#|OP_O!V[OQ!_X!`!_X~P#|OWROXROcPOqQObgXmgXogXpgX~OWROXROcPOqQObiXmiXoiXpiX~Obkaoka~P%OObnXonX~P%OOm#kO~Ob#lOo!oO~Oosapsa~P%OOotXptX~P%OOm#pO~Oo!xOp#qO~OSwP!awP!bwP~P#|OS!|O!a#vO!b#vO~OUya!aya!bya!dya~P#|Om#xO~P%OOm#{OU}P!a}P!b}P!d}P~P#|OU#SO!a$OO!b$OO!d#RO~O]$QO~O!b$QO!g$RO~O!b$SO!g$SO~O^$TO!b$SO!g$SO~O^$TO!b$SO!f$UO!g$SO~OP!XaQ!Xa!V!Xa!`!Xa~P#|Obnaona~P%OOotapta~P%OOo!xO~OU|X!a|X!b|X!d|X~P#|Om$ZO~Om$]OU}X!a}X!b}X!d}X~O]$^O~O!b$_O!g$_O~O^$`O!b$_O!g$_O~OU|a!a|a!b|a!d|a~P#|O!b$cO!g$cO~O",goto:",]!mPPPPPPPPPPPPPPPPP!nPP!v#v#|$`#|$c$f$j$nP%VPPP!v%Y%^%a%{&O%a&R&U&X&_&b%aP&e&{&e'O'RPP']'a'g'm's'y(XPPPPPPPP(_)e*X+c,VUaObcR#e!c!{ROPQSTUXY_bcdehknrtvz!O!U!W!_!b!c!f!h!k!l!s!u!|#Q#R#S#W#c#k#p#x#{$Z$]QmPR!qnqfPQThknrtv!k!l!s!u#R#k#pR!gdR!ieTlPnTjPnSiPnSqQvQ{TQ!mkQ!trQ!vtR#y#RR!nkTsQvR!wt!RWOSUXY_bcz!O!U!W!_!b!c!|#Q#S#W#c#x#{$Z$]RySR#t!|R|TR|UQ!PUR#|#SR#z#RR#z#SyZOSU_bcz!O!_!b!c!|#Q#S#W#c#x#{$Z$]R!VXR!XYa]O^abc!a!c!eT!da!eQnPR!rnQvQR!{vQ!}yR#u!}Q#T|R#}#TW^Obc!cS!^^!aT!aa!eQ!eaR#f!eW`Obc!cQxSS}U#SQ!`_Q#PzQ#V!OQ#b!_Q#d!bQ#s!|Q#w#QQ$P#WQ$V#cQ$Y#xQ$[#{Q$a$ZR$b$]xZOSU_bcz!O!_!b!c!|#Q#S#W#c#x#{$Z$]Q!VXQ!XYQ#[!UR#]!W!QWOSUXY_bcz!O!U!W!_!b!c!|#Q#S#W#c#x#{$Z$]pfPQThknrtv!k!l!s!u#R#k#pQ!gdQ!ieQ#g!fR#h!hSgPn^pQTkrtv#RQ!jhQ#i!kQ#j!lQ#n!sQ#o!uQ$W#kR$X#pQuQR!zv",nodeNames:"\u26A0 DirectiveEnd DocEnd - - ? ? ? Literal QuotedLiteral Anchor Alias Tag BlockLiteralContent Comment Stream BOM Document ] [ FlowSequence Item Tagged Anchored Anchored Tagged FlowMapping Pair Key : Pair , } { FlowMapping Pair Pair BlockSequence Item Item BlockMapping Pair Pair Key Pair Pair BlockLiteral BlockLiteralHeader Tagged Anchored Anchored Tagged Directive DirectiveName DirectiveContent Document",maxTerm:74,context:ix,nodeProps:[["isolate",-3,8,9,14,""],["openedBy",18,"[",32,"{"],["closedBy",19,"]",33,"}"]],propSources:[hx],skippedNodes:[0],repeatNodeCount:6,tokenData:"-Y~RnOX#PXY$QYZ$]Z]#P]^$]^p#Ppq$Qqs#Pst$btu#Puv$yv|#P|}&e}![#P![!]'O!]!`#P!`!a'i!a!}#P!}#O*g#O#P#P#P#Q+Q#Q#o#P#o#p+k#p#q'i#q#r,U#r;'S#P;'S;=`#z<%l?HT#P?HT?HU,o?HUO#PQ#UU!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PQ#kTOY#PZs#Pt;'S#P;'S;=`#z<%lO#PQ#}P;=`<%l#P~$VQ!f~XY$Qpq$Q~$bO!g~~$gS^~OY$bZ;'S$b;'S;=`$s<%lO$b~$vP;=`<%l$bR%OX!WQOX%kXY#PZ]%k]^#P^p%kpq#hq;'S%k;'S;=`&_<%lO%kR%rX!WQ!VPOX%kXY#PZ]%k]^#P^p%kpq#hq;'S%k;'S;=`&_<%lO%kR&bP;=`<%l%kR&lUoP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR'VUmP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR'p[!PP!WQOY#PZp#Ppq#hq{#P{|(f|}#P}!O(f!O!R#P!R![)p![;'S#P;'S;=`#z<%lO#PR(mW!PP!WQOY#PZp#Ppq#hq!R#P!R![)V![;'S#P;'S;=`#z<%lO#PR)^U!PP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR)wY!PP!WQOY#PZp#Ppq#hq{#P{|)V|}#P}!O)V!O;'S#P;'S;=`#z<%lO#PR*nUcP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR+XUbP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR+rUqP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR,]UpP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR,vU`P!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#P",tokenizers:[nx,rx,lx,cx,0,1],topRules:{Stream:[0,15]},tokenPrec:0});var fx=Pe.deserialize({version:14,states:"!vOQOPOOO]OPO'#C_OhOPO'#C^OOOO'#Cc'#CcOpOPO'#CaQOOOOOO{OPOOOOOO'#Cb'#CbO!WOPO'#C`O!`OPO,58xOOOO-E6a-E6aOOOO-E6`-E6`OOOO'#C_'#C_OOOO1G.d1G.d",stateData:"!h~OXPOYROWTP~OWVXXRXYRX~OYVOXSP~OXROYROWTX~OXROYROWTP~OYVOXSX~OX[O~OXY~",goto:"vWPPX[beioRUOQQOR]XRXQTTOUQWQRZWSSOURYS",nodeNames:"\u26A0 Document Frontmatter DashLine FrontmatterContent Body",maxTerm:10,skippedNodes:[0],repeatNodeCount:2,tokenData:"$z~RXOYnYZ!^Z]n]^!^^}n}!O!i!O;'Sn;'S;=`!c<%lOn~qXOYnYZ!^Z]n]^!^^;'Sn;'S;=`!c<%l~n~On~~!^~!cOY~~!fP;=`<%ln~!lZOYnYZ!^Z]n]^!^^}n}!O#_!O;'Sn;'S;=`!c<%l~n~On~~!^~#bZOYnYZ!^Z]n]^!^^}n}!O$T!O;'Sn;'S;=`!c<%l~n~On~~!^~$WXOYnYZ$sZ]n]^$s^;'Sn;'S;=`!c<%l~n~On~~$s~$zOX~Y~",tokenizers:[0],topRules:{Document:[0,1]},tokenPrec:67}),ux=$e.define({name:"yaml",parser:km.configure({props:[we.add({Stream:i=>{for(let e=i.node.resolve(i.pos,-1);e&&e.to>=i.pos;e=e.parent){if(e.name=="BlockLiteralContent"&&e.fromi.pos)return null}}return null},FlowMapping:St({closing:"}"}),FlowSequence:St({closing:"]"})}),Te.add({"FlowMapping FlowSequence":ht,"Item Pair BlockLiteral":(i,e)=>({from:e.doc.lineAt(i.from).to,to:i.to})})]}),languageData:{commentTokens:{line:"#"},indentOnInput:/^\s*[\]\}]$/}});var Ox=$e.define({name:"yaml-frontmatter",parser:fx.configure({props:[Qe({DashLine:d.meta})]})});function xm(i){let{language:e,support:t}=i.content instanceof me?i.content:{language:i.content,support:[]};return new me(Ox.configure({wrap:bn(n=>n.name=="FrontmatterContent"?{parser:ux.parser}:n.name=="Body"?{parser:e.parser}:null)}),t)}var dx=1,Cm=194,Xm=195,px=196,wm=197,mx=198,gx=199,Qx=200,bx=2,_m=3,Pm=201,Sx=24,yx=25,kx=49,xx=50,wx=55,Px=56,vx=57,$x=59,Tx=60,Cx=61,Xx=62,_x=63,Rx=65,Ax=238,Zx=71,Ex=241,qx=242,zx=243,Lx=244,Mx=245,Wx=246,jx=247,Vx=248,Rm=72,Dx=249,Yx=250,Ix=251,Bx=252,Ux=253,Gx=254,Nx=255,Fx=256,Hx=73,Kx=77,Jx=263,ew=112,tw=130,iw=151,nw=152,rw=155,Gi=10,_r=13,ih=32,fo=9,nh=35,sw=40,ow=46,th=123,vm=125,Am=39,Zm=34,$m=92,aw=111,lw=120,cw=78,hw=117,fw=85,uw=new Set([yx,kx,xx,Jx,Rx,tw,Px,vx,Ax,Xx,_x,Rm,Hx,Kx,Tx,Cx,iw,nw,rw,ew]);function Jc(i){return i==Gi||i==_r}function eh(i){return i>=48&&i<=57||i>=65&&i<=70||i>=97&&i<=102}var Ow=new J((i,e)=>{let t;if(i.next<0)i.acceptToken(gx);else if(e.context.flags&co)Jc(i.next)&&i.acceptToken(mx,1);else if(((t=i.peek(-1))<0||Jc(t))&&e.canShift(wm)){let n=0;for(;i.next==ih||i.next==fo;)i.advance(),n++;(i.next==Gi||i.next==_r||i.next==nh)&&i.acceptToken(wm,-n)}else Jc(i.next)&&i.acceptToken(px,1)},{contextual:!0}),dw=new J((i,e)=>{let t=e.context;if(t.flags)return;let n=i.peek(-1);if(n==Gi||n==_r){let r=0,s=0;for(;;){if(i.next==ih)r++;else if(i.next==fo)r+=8-r%8;else break;i.advance(),s++}r!=t.indent&&i.next!=Gi&&i.next!=_r&&i.next!=nh&&(r[i,e|Em])),gw=new dt({start:pw,reduce(i,e,t,n){return i.flags&co&&uw.has(e)||(e==Zx||e==Rm)&&i.flags&Em?i.parent:i},shift(i,e,t,n){return e==Cm?new ho(i,mw(n.read(n.pos,t.pos)),0):e==Xm?i.parent:e==Sx||e==wx||e==$x||e==_m?new ho(i,0,co):Tm.has(e)?new ho(i,0,Tm.get(e)|i.flags&co):i},hash(i){return i.hash}}),Qw=new J(i=>{for(let e=0;e<5;e++){if(i.next!="print".charCodeAt(e))return;i.advance()}if(!/\w/.test(String.fromCharCode(i.next)))for(let e=0;;e++){let t=i.peek(e);if(!(t==ih||t==fo)){t!=sw&&t!=ow&&t!=Gi&&t!=_r&&t!=nh&&i.acceptToken(dx);return}}}),bw=new J((i,e)=>{let{flags:t}=e.context,n=t&Nt?Zm:Am,r=(t&Ft)>0,s=!(t&Ht),o=(t&Kt)>0,a=i.pos;for(;!(i.next<0);)if(o&&i.next==th)if(i.peek(1)==th)i.advance(2);else{if(i.pos==a){i.acceptToken(_m,1);return}break}else if(s&&i.next==$m){if(i.pos==a){i.advance();let l=i.next;l>=0&&(i.advance(),Sw(i,l)),i.acceptToken(bx);return}break}else if(i.next==$m&&!s&&i.peek(1)>-1)i.advance(2);else if(i.next==n&&(!r||i.peek(1)==n&&i.peek(2)==n)){if(i.pos==a){i.acceptToken(Pm,r?3:1);return}break}else if(i.next==Gi){if(r)i.advance();else if(i.pos==a){i.acceptToken(Pm);return}break}else i.advance();i.pos>a&&i.acceptToken(Qx)});function Sw(i,e){if(e==aw)for(let t=0;t<2&&i.next>=48&&i.next<=55;t++)i.advance();else if(e==lw)for(let t=0;t<2&&eh(i.next);t++)i.advance();else if(e==hw)for(let t=0;t<4&&eh(i.next);t++)i.advance();else if(e==fw)for(let t=0;t<8&&eh(i.next);t++)i.advance();else if(e==cw&&i.next==th){for(i.advance();i.next>=0&&i.next!=vm&&i.next!=Am&&i.next!=Zm&&i.next!=Gi;)i.advance();i.next==vm&&i.advance()}}var yw=Qe({'async "*" "**" FormatConversion FormatSpec':d.modifier,"for while if elif else try except finally return raise break continue with pass assert await yield match case":d.controlKeyword,"in not and or is del":d.operatorKeyword,"from def class global nonlocal lambda":d.definitionKeyword,import:d.moduleKeyword,"with as print":d.keyword,Boolean:d.bool,None:d.null,VariableName:d.variableName,"CallExpression/VariableName":d.function(d.variableName),"FunctionDefinition/VariableName":d.function(d.definition(d.variableName)),"ClassDefinition/VariableName":d.definition(d.className),PropertyName:d.propertyName,"CallExpression/MemberExpression/PropertyName":d.function(d.propertyName),Comment:d.lineComment,Number:d.number,String:d.string,FormatString:d.special(d.string),Escape:d.escape,UpdateOp:d.updateOperator,"ArithOp!":d.arithmeticOperator,BitOp:d.bitwiseOperator,CompareOp:d.compareOperator,AssignOp:d.definitionOperator,Ellipsis:d.punctuation,At:d.meta,"( )":d.paren,"[ ]":d.squareBracket,"{ }":d.brace,".":d.derefOperator,", ;":d.separator}),kw={__proto__:null,await:44,or:54,and:56,in:60,not:62,is:64,if:70,else:72,lambda:76,yield:94,from:96,async:102,for:104,None:162,True:164,False:164,del:178,pass:182,break:186,continue:190,return:194,raise:202,import:206,as:208,global:212,nonlocal:214,assert:218,type:223,elif:236,while:240,try:246,except:248,finally:250,with:254,def:258,class:268,match:279,case:285},qm=Pe.deserialize({version:14,states:"##jQ`QeOOP$}OSOOO&WQtO'#HUOOQS'#Co'#CoOOQS'#Cp'#CpO'vQdO'#CnO*UQtO'#HTOOQS'#HU'#HUOOQS'#DU'#DUOOQS'#HT'#HTO*rQdO'#D_O+VQdO'#DfO+gQdO'#DjO+zOWO'#DuO,VOWO'#DvO.[QtO'#GuOOQS'#Gu'#GuO'vQdO'#GtO0ZQtO'#GtOOQS'#Eb'#EbO0rQdO'#EcOOQS'#Gs'#GsO0|QdO'#GrOOQV'#Gr'#GrO1XQdO'#FYOOQS'#G^'#G^O1^QdO'#FXOOQV'#IS'#ISOOQV'#Gq'#GqOOQV'#Fq'#FqQ`QeOOO'vQdO'#CqO1lQdO'#C}O1sQdO'#DRO2RQdO'#HYO2cQtO'#EVO'vQdO'#EWOOQS'#EY'#EYOOQS'#E['#E[OOQS'#E^'#E^O2wQdO'#E`O3_QdO'#EdO3rQdO'#EfO3zQtO'#EfO1XQdO'#EiO0rQdO'#ElO1XQdO'#EnO0rQdO'#EtO0rQdO'#EwO4VQdO'#EyO4^QdO'#FOO4iQdO'#EzO0rQdO'#FOO1XQdO'#FQO1XQdO'#FVO4nQdO'#F[P4uOdO'#GpPOOO)CBd)CBdOOQS'#Ce'#CeOOQS'#Cf'#CfOOQS'#Cg'#CgOOQS'#Ch'#ChOOQS'#Ci'#CiOOQS'#Cj'#CjOOQS'#Cl'#ClO'vQdO,59OO'vQdO,59OO'vQdO,59OO'vQdO,59OO'vQdO,59OO'vQdO,59OO5TQdO'#DoOOQS,5:Y,5:YO5hQdO'#HdOOQS,5:],5:]O5uQ!fO,5:]O5zQtO,59YO1lQdO,59bO1lQdO,59bO1lQdO,59bO8jQdO,59bO8oQdO,59bO8vQdO,59jO8}QdO'#HTO:TQdO'#HSOOQS'#HS'#HSOOQS'#D['#D[O:lQdO,59aO'vQdO,59aO:zQdO,59aOOQS,59y,59yO;PQdO,5:RO'vQdO,5:ROOQS,5:Q,5:QO;_QdO,5:QO;dQdO,5:XO'vQdO,5:XO'vQdO,5:VOOQS,5:U,5:UO;uQdO,5:UO;zQdO,5:WOOOW'#Fy'#FyOOOOQS'#Ds'#DsOOQS1G/w1G/wOOQS1G.|1G.|O!/[QtO1G.|O!/cQtO1G.|O1lQdO1G.|O!0OQdO1G/UOOQS'#DZ'#DZO0rQdO,59tOOQS1G.{1G.{O!0VQdO1G/eO!0gQdO1G/eO!0oQdO1G/fO'vQdO'#H[O!0tQdO'#H[O!0yQtO1G.{O!1ZQdO,59iO!2aQdO,5=zO!2qQdO,5=zO!2yQdO1G/mO!3OQtO1G/mOOQS1G/l1G/lO!3`QdO,5=uO!4VQdO,5=uO0rQdO1G/qO!4tQdO1G/sO!4yQtO1G/sO!5ZQtO1G/qOOQS1G/p1G/pOOQS1G/r1G/rOOOW-E9w-E9wOOQS1G/{1G/{O!5kQdO'#HxO0rQdO'#HxO!5|QdO,5>cOOOW-E9x-E9xOOQS1G/|1G/|OOQS-E9{-E9{O!6[Q#xO1G2zO!6{QtO1G2zO'vQdO,5kOOQS1G1`1G1`O!8RQdO1G1`OOQS'#DV'#DVO0rQdO,5=qOOQS,5=q,5=qO!8WQdO'#FrO!8cQdO,59oO!8kQdO1G/XO!8uQtO,5=uOOQS1G3`1G3`OOQS,5:m,5:mO!9fQdO'#GtOOQS,5jO!;ZQdO,5>jO1XQdO,5>jO!;lQdO,5>iOOQS-E:R-E:RO!;qQdO1G0lO!;|QdO1G0lO!lO!lO!hO!=VQdO,5>hO!=hQdO'#EpO0rQdO1G0tO!=sQdO1G0tO!=xQgO1G0zO!AvQgO1G0}O!EqQdO,5>oO!E{QdO,5>oO!FTQtO,5>oO0rQdO1G1PO!F_QdO1G1PO4iQdO1G1UO!!vQdO1G1WOOQV,5;a,5;aO!FdQfO,5;aO!FiQgO1G1QO!JjQdO'#GZO4iQdO1G1QO4iQdO1G1QO!JzQdO,5>pO!KXQdO,5>pO1XQdO,5>pOOQV1G1U1G1UO!KaQdO'#FSO!KrQ!fO1G1WO!KzQdO1G1WOOQV1G1]1G1]O4iQdO1G1]O!LPQdO1G1]O!LXQdO'#F^OOQV1G1b1G1bO!#ZQtO1G1bPOOO1G2v1G2vP!L^OSO1G2vOOQS,5=},5=}OOQS'#Dp'#DpO0rQdO,5=}O!LfQdO,5=|O!LyQdO,5=|OOQS1G/u1G/uO!MRQdO,5>PO!McQdO,5>PO!MkQdO,5>PO!NOQdO,5>PO!N`QdO,5>POOQS1G3j1G3jOOQS7+$h7+$hO!8kQdO7+$pO#!RQdO1G.|O#!YQdO1G.|OOQS1G/`1G/`OOQS,5<`,5<`O'vQdO,5<`OOQS7+%P7+%PO#!aQdO7+%POOQS-E9r-E9rOOQS7+%Q7+%QO#!qQdO,5=vO'vQdO,5=vOOQS7+$g7+$gO#!vQdO7+%PO##OQdO7+%QO##TQdO1G3fOOQS7+%X7+%XO##eQdO1G3fO##mQdO7+%XOOQS,5<_,5<_O'vQdO,5<_O##rQdO1G3aOOQS-E9q-E9qO#$iQdO7+%]OOQS7+%_7+%_O#$wQdO1G3aO#%fQdO7+%_O#%kQdO1G3gO#%{QdO1G3gO#&TQdO7+%]O#&YQdO,5>dO#&sQdO,5>dO#&sQdO,5>dOOQS'#Dx'#DxO#'UO&jO'#DzO#'aO`O'#HyOOOW1G3}1G3}O#'fQdO1G3}O#'nQdO1G3}O#'yQ#xO7+(fO#(jQtO1G2UP#)TQdO'#GOOOQS,5nQdO,5sQdO1G4OOOQS-E9y-E9yO#?^QdO1G4OO<[QdO'#H{OOOO'#D{'#D{OOOO'#F|'#F|O#?oO&jO,5:fOOOW,5>e,5>eOOOW7+)i7+)iO#?zQdO7+)iO#@SQdO1G2zO#@mQdO1G2zP'vQdO'#FuO0rQdO<mO#BQQdO,5>mOOQS1G0v1G0vOOQS<rO#KgQdO,5>rO#KrQdO,5>rO#K}QdO,5>qO#L`QdO,5>qOOQS1G1Y1G1YOOQS,5;p,5;pOOQV<VAN>VO$ oQdO<cAN>cO0rQdO1G1|O$!PQtO1G1|P$!ZQdO'#FvOOQS1G2R1G2RP$!hQdO'#F{O$!uQdO7+)jO$#`QdO,5>gOOOO-E9z-E9zOOOW<tO$4{QdO,5>tO1XQdO,5vO$)nQdO,5>vOOQS1G1p1G1pOOQS,5<[,5<[OOQU7+'P7+'PO$+zQdO1G/iO$)nQdO,5wO$8zQdO,5>wOOQS1G1s1G1sOOQS7+'S7+'SP$)nQdO'#GdO$9SQdO1G4bO$9^QdO1G4bO$9fQdO1G4bOOQS7+%T7+%TO$9tQdO1G1tO$:SQtO'#FaO$:ZQdO,5<}OOQS,5<},5<}O$:iQdO1G4cOOQS-E:a-E:aO$)nQdO,5<|O$:pQdO,5<|O$:uQdO7+)|OOQS-E:`-E:`O$;PQdO7+)|O$)nQdO,5S~O%cOS%^OSSOS%]PQ~OPdOVaOfoOhYOopOs!POvqO!PrO!Q{O!T!SO!U!RO!XZO!][O!h`O!r`O!s`O!t`O!{tO!}uO#PvO#RwO#TxO#XyO#ZzO#^|O#_|O#a}O#c!OO#l!QO#o!TO#s!UO#u!VO#z!WO#}hO$P!XO%oRO%pRO%tSO%uWO&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O&c^O&d^O&e^O&f^O&g^O&h^O&i^O&j^O~O%]!YO~OV!aO_!aOa!bOh!iO!X!kO!f!mO%j![O%k!]O%l!^O%m!_O%n!_O%o!`O%p!`O%q!aO%r!aO%s!aO~Ok%xXl%xXm%xXn%xXo%xXp%xXs%xXz%xX{%xX!x%xX#g%xX%[%xX%_%xX%z%xXg%xX!T%xX!U%xX%{%xX!W%xX![%xX!Q%xX#[%xXt%xX!m%xX~P%SOfoOhYO!XZO!][O!h`O!r`O!s`O!t`O%oRO%pRO%tSO%uWO&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O&c^O&d^O&e^O&f^O&g^O&h^O&i^O&j^O~Oz%wX{%wX#g%wX%[%wX%_%wX%z%wX~Ok!pOl!qOm!oOn!oOo!rOp!sOs!tO!x%wX~P)pOV!zOg!|Oo0cOv0qO!PrO~P'vOV#OOo0cOv0qO!W#PO~P'vOV#SOa#TOo0cOv0qO![#UO~P'vOQ#XO%`#XO%a#ZO~OQ#^OR#[O%`#^O%a#`O~OV%iX_%iXa%iXh%iXk%iXl%iXm%iXn%iXo%iXp%iXs%iXz%iX!X%iX!f%iX%j%iX%k%iX%l%iX%m%iX%n%iX%o%iX%p%iX%q%iX%r%iX%s%iXg%iX!T%iX!U%iX~O&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O&c^O&d^O&e^O&f^O&g^O&h^O&i^O&j^O{%iX!x%iX#g%iX%[%iX%_%iX%z%iX%{%iX!W%iX![%iX!Q%iX#[%iXt%iX!m%iX~P,eOz#dO{%hX!x%hX#g%hX%[%hX%_%hX%z%hX~Oo0cOv0qO~P'vO#g#gO%[#iO%_#iO~O%uWO~O!T#nO#u!VO#z!WO#}hO~OopO~P'vOV#sOa#tO%uWO{wP~OV#xOo0cOv0qO!Q#yO~P'vO{#{O!x$QO%z#|O#g!yX%[!yX%_!yX~OV#xOo0cOv0qO#g#SX%[#SX%_#SX~P'vOo0cOv0qO#g#WX%[#WX%_#WX~P'vOh$WO%uWO~O!f$YO!r$YO%uWO~OV$eO~P'vO!U$gO#s$hO#u$iO~O{$jO~OV$qO~P'vOS$sO%[$rO%_$rO%c$tO~OV$}Oa$}Og%POo0cOv0qO~P'vOo0cOv0qO{%SO~P'vO&Y%UO~Oa!bOh!iO!X!kO!f!mOVba_bakbalbambanbaobapbasbazba{ba!xba#gba%[ba%_ba%jba%kba%lba%mba%nba%oba%pba%qba%rba%sba%zbagba!Tba!Uba%{ba!Wba![ba!Qba#[batba!mba~On%ZO~Oo%ZO~P'vOo0cO~P'vOk0eOl0fOm0dOn0dOo0mOp0nOs0rOg%wX!T%wX!U%wX%{%wX!W%wX![%wX!Q%wX#[%wX!m%wX~P)pO%{%]Og%vXz%vX!T%vX!U%vX!W%vX{%vX~Og%_Oz%`O!T%dO!U%cO~Og%_O~Oz%gO!T%dO!U%cO!W&SX~O!W%kO~Oz%lO{%nO!T%dO!U%cO![%}X~O![%rO~O![%sO~OQ#XO%`#XO%a%uO~OV%wOo0cOv0qO!PrO~P'vOQ#^OR#[O%`#^O%a%zO~OV!qa_!qaa!qah!qak!qal!qam!qan!qao!qap!qas!qaz!qa{!qa!X!qa!f!qa!x!qa#g!qa%[!qa%_!qa%j!qa%k!qa%l!qa%m!qa%n!qa%o!qa%p!qa%q!qa%r!qa%s!qa%z!qag!qa!T!qa!U!qa%{!qa!W!qa![!qa!Q!qa#[!qat!qa!m!qa~P#yOz%|O{%ha!x%ha#g%ha%[%ha%_%ha%z%ha~P%SOV&OOopOvqO{%ha!x%ha#g%ha%[%ha%_%ha%z%ha~P'vOz%|O{%ha!x%ha#g%ha%[%ha%_%ha%z%ha~OPdOVaOopOvqO!PrO!Q{O!{tO!}uO#PvO#RwO#TxO#XyO#ZzO#^|O#_|O#a}O#c!OO#g$zX%[$zX%_$zX~P'vO#g#gO%[&TO%_&TO~O!f&UOh&sX%[&sXz&sX#[&sX#g&sX%_&sX#Z&sXg&sX~Oh!iO%[&WO~Okealeameaneaoeapeaseazea{ea!xea#gea%[ea%_ea%zeagea!Tea!Uea%{ea!Wea![ea!Qea#[eatea!mea~P%SOsqazqa{qa#gqa%[qa%_qa%zqa~Ok!pOl!qOm!oOn!oOo!rOp!sO!xqa~PEcO%z&YOz%yX{%yX~O%uWOz%yX{%yX~Oz&]O{wX~O{&_O~Oz%lO#g%}X%[%}X%_%}Xg%}X{%}X![%}X!m%}X%z%}X~OV0lOo0cOv0qO!PrO~P'vO%z#|O#gUa%[Ua%_Ua~Oz&hO#g&PX%[&PX%_&PXn&PX~P%SOz&kO!Q&jO#g#Wa%[#Wa%_#Wa~Oz&lO#[&nO#g&rX%[&rX%_&rXg&rX~O!f$YO!r$YO#Z&qO%uWO~O#Z&qO~Oz&sO#g&tX%[&tX%_&tX~Oz&uO#g&pX%[&pX%_&pX{&pX~O!X&wO%z&xO~Oz&|On&wX~P%SOn'PO~OPdOVaOopOvqO!PrO!Q{O!{tO!}uO#PvO#RwO#TxO#XyO#ZzO#^|O#_|O#a}O#c!OO%['UO~P'vOt'YO#p'WO#q'XOP#naV#naf#nah#nao#nas#nav#na!P#na!Q#na!T#na!U#na!X#na!]#na!h#na!r#na!s#na!t#na!{#na!}#na#P#na#R#na#T#na#X#na#Z#na#^#na#_#na#a#na#c#na#l#na#o#na#s#na#u#na#z#na#}#na$P#na%X#na%o#na%p#na%t#na%u#na&Z#na&[#na&]#na&^#na&_#na&`#na&a#na&b#na&c#na&d#na&e#na&f#na&g#na&h#na&i#na&j#na%Z#na%_#na~Oz'ZO#[']O{&xX~Oh'_O!X&wO~Oh!iO{$jO!X&wO~O{'eO~P%SO%['hO%_'hO~OS'iO%['hO%_'hO~OV!aO_!aOa!bOh!iO!X!kO!f!mO%l!^O%m!_O%n!_O%o!`O%p!`O%q!aO%r!aO%s!aOkWilWimWinWioWipWisWizWi{Wi!xWi#gWi%[Wi%_Wi%jWi%zWigWi!TWi!UWi%{Wi!WWi![Wi!QWi#[WitWi!mWi~O%k!]O~P!#uO%kWi~P!#uOV!aO_!aOa!bOh!iO!X!kO!f!mO%o!`O%p!`O%q!aO%r!aO%s!aOkWilWimWinWioWipWisWizWi{Wi!xWi#gWi%[Wi%_Wi%jWi%kWi%lWi%zWigWi!TWi!UWi%{Wi!WWi![Wi!QWi#[WitWi!mWi~O%m!_O%n!_O~P!&pO%mWi%nWi~P!&pOa!bOh!iO!X!kO!f!mOkWilWimWinWioWipWisWizWi{Wi!xWi#gWi%[Wi%_Wi%jWi%kWi%lWi%mWi%nWi%oWi%pWi%zWigWi!TWi!UWi%{Wi!WWi![Wi!QWi#[WitWi!mWi~OV!aO_!aO%q!aO%r!aO%s!aO~P!)nOVWi_Wi%qWi%rWi%sWi~P!)nO!T%dO!U%cOg&VXz&VX~O%z'kO%{'kO~P,eOz'mOg&UX~Og'oO~Oz'pO{'rO!W&XX~Oo0cOv0qOz'pO{'sO!W&XX~P'vO!W'uO~Om!oOn!oOo!rOp!sOkjisjizji{ji!xji#gji%[ji%_ji%zji~Ol!qO~P!.aOlji~P!.aOk0eOl0fOm0dOn0dOo0mOp0nO~Ot'wO~P!/jOV'|Og'}Oo0cOv0qO~P'vOg'}Oz(OO~Og(QO~O!U(SO~Og(TOz(OO!T%dO!U%cO~P%SOk0eOl0fOm0dOn0dOo0mOp0nOgqa!Tqa!Uqa%{qa!Wqa![qa!Qqa#[qatqa!mqa~PEcOV'|Oo0cOv0qO!W&Sa~P'vOz(WO!W&Sa~O!W(XO~Oz(WO!T%dO!U%cO!W&Sa~P%SOV(]Oo0cOv0qO![%}a#g%}a%[%}a%_%}ag%}a{%}a!m%}a%z%}a~P'vOz(^O![%}a#g%}a%[%}a%_%}ag%}a{%}a!m%}a%z%}a~O![(aO~Oz(^O!T%dO!U%cO![%}a~P%SOz(dO!T%dO!U%cO![&Ta~P%SOz(gO{&lX![&lX!m&lX%z&lX~O{(kO![(mO!m(nO%z(jO~OV&OOopOvqO{%hi!x%hi#g%hi%[%hi%_%hi%z%hi~P'vOz(pO{%hi!x%hi#g%hi%[%hi%_%hi%z%hi~O!f&UOh&sa%[&saz&sa#[&sa#g&sa%_&sa#Z&sag&sa~O%[(uO~OV#sOa#tO%uWO~Oz&]O{wa~OopOvqO~P'vOz(^O#g%}a%[%}a%_%}ag%}a{%}a![%}a!m%}a%z%}a~P%SOz(zO#g%hX%[%hX%_%hX%z%hX~O%z#|O#gUi%[Ui%_Ui~O#g&Pa%[&Pa%_&Pan&Pa~P'vOz(}O#g&Pa%[&Pa%_&Pan&Pa~O%uWO#g&ra%[&ra%_&rag&ra~Oz)SO#g&ra%[&ra%_&rag&ra~Og)VO~OV)WOh$WO%uWO~O#Z)XO~O%uWO#g&ta%[&ta%_&ta~Oz)ZO#g&ta%[&ta%_&ta~Oo0cOv0qO#g&pa%[&pa%_&pa{&pa~P'vOz)^O#g&pa%[&pa%_&pa{&pa~OV)`Oa)`O%uWO~O%z)eO~Ot)hO#j)gOP#hiV#hif#hih#hio#his#hiv#hi!P#hi!Q#hi!T#hi!U#hi!X#hi!]#hi!h#hi!r#hi!s#hi!t#hi!{#hi!}#hi#P#hi#R#hi#T#hi#X#hi#Z#hi#^#hi#_#hi#a#hi#c#hi#l#hi#o#hi#s#hi#u#hi#z#hi#}#hi$P#hi%X#hi%o#hi%p#hi%t#hi%u#hi&Z#hi&[#hi&]#hi&^#hi&_#hi&`#hi&a#hi&b#hi&c#hi&d#hi&e#hi&f#hi&g#hi&h#hi&i#hi&j#hi%Z#hi%_#hi~Ot)iOP#kiV#kif#kih#kio#kis#kiv#ki!P#ki!Q#ki!T#ki!U#ki!X#ki!]#ki!h#ki!r#ki!s#ki!t#ki!{#ki!}#ki#P#ki#R#ki#T#ki#X#ki#Z#ki#^#ki#_#ki#a#ki#c#ki#l#ki#o#ki#s#ki#u#ki#z#ki#}#ki$P#ki%X#ki%o#ki%p#ki%t#ki%u#ki&Z#ki&[#ki&]#ki&^#ki&_#ki&`#ki&a#ki&b#ki&c#ki&d#ki&e#ki&f#ki&g#ki&h#ki&i#ki&j#ki%Z#ki%_#ki~OV)kOn&wa~P'vOz)lOn&wa~Oz)lOn&wa~P%SOn)pO~O%Y)tO~Ot)wO#p'WO#q)vOP#niV#nif#nih#nio#nis#niv#ni!P#ni!Q#ni!T#ni!U#ni!X#ni!]#ni!h#ni!r#ni!s#ni!t#ni!{#ni!}#ni#P#ni#R#ni#T#ni#X#ni#Z#ni#^#ni#_#ni#a#ni#c#ni#l#ni#o#ni#s#ni#u#ni#z#ni#}#ni$P#ni%X#ni%o#ni%p#ni%t#ni%u#ni&Z#ni&[#ni&]#ni&^#ni&_#ni&`#ni&a#ni&b#ni&c#ni&d#ni&e#ni&f#ni&g#ni&h#ni&i#ni&j#ni%Z#ni%_#ni~OV)zOo0cOv0qO{$jO~P'vOo0cOv0qO{&xa~P'vOz*OO{&xa~OV*SOa*TOg*WO%q*UO%uWO~O{$jO&{*YO~Oh'_O~Oh!iO{$jO~O%[*_O~O%[*aO%_*aO~OV$}Oa$}Oo0cOv0qOg&Ua~P'vOz*dOg&Ua~Oo0cOv0qO{*gO!W&Xa~P'vOz*hO!W&Xa~Oo0cOv0qOz*hO{*kO!W&Xa~P'vOo0cOv0qOz*hO!W&Xa~P'vOz*hO{*kO!W&Xa~Om0dOn0dOo0mOp0nOgjikjisjizji!Tji!Uji%{ji!Wji{ji![ji#gji%[ji%_ji!Qji#[jitji!mji%zji~Ol0fO~P!NkOlji~P!NkOV'|Og*pOo0cOv0qO~P'vOn*rO~Og*pOz*tO~Og*uO~OV'|Oo0cOv0qO!W&Si~P'vOz*vO!W&Si~O!W*wO~OV(]Oo0cOv0qO![%}i#g%}i%[%}i%_%}ig%}i{%}i!m%}i%z%}i~P'vOz*zO!T%dO!U%cO![&Ti~Oz*}O![%}i#g%}i%[%}i%_%}ig%}i{%}i!m%}i%z%}i~O![+OO~Oa+QOo0cOv0qO![&Ti~P'vOz*zO![&Ti~O![+SO~OV+UOo0cOv0qO{&la![&la!m&la%z&la~P'vOz+VO{&la![&la!m&la%z&la~O!]+YO&n+[O![!nX~O![+^O~O{(kO![+_O~O{(kO![+_O!m+`O~OV&OOopOvqO{%hq!x%hq#g%hq%[%hq%_%hq%z%hq~P'vOz$ri{$ri!x$ri#g$ri%[$ri%_$ri%z$ri~P%SOV&OOopOvqO~P'vOV&OOo0cOv0qO#g%ha%[%ha%_%ha%z%ha~P'vOz+aO#g%ha%[%ha%_%ha%z%ha~Oz$ia#g$ia%[$ia%_$ian$ia~P%SO#g&Pi%[&Pi%_&Pin&Pi~P'vOz+dO#g#Wq%[#Wq%_#Wq~O#[+eOz$va#g$va%[$va%_$vag$va~O%uWO#g&ri%[&ri%_&rig&ri~Oz+gO#g&ri%[&ri%_&rig&ri~OV+iOh$WO%uWO~O%uWO#g&ti%[&ti%_&ti~Oo0cOv0qO#g&pi%[&pi%_&pi{&pi~P'vO{#{Oz#eX!W#eX~Oz+mO!W&uX~O!W+oO~Ot+rO#j)gOP#hqV#hqf#hqh#hqo#hqs#hqv#hq!P#hq!Q#hq!T#hq!U#hq!X#hq!]#hq!h#hq!r#hq!s#hq!t#hq!{#hq!}#hq#P#hq#R#hq#T#hq#X#hq#Z#hq#^#hq#_#hq#a#hq#c#hq#l#hq#o#hq#s#hq#u#hq#z#hq#}#hq$P#hq%X#hq%o#hq%p#hq%t#hq%u#hq&Z#hq&[#hq&]#hq&^#hq&_#hq&`#hq&a#hq&b#hq&c#hq&d#hq&e#hq&f#hq&g#hq&h#hq&i#hq&j#hq%Z#hq%_#hq~On$|az$|a~P%SOV)kOn&wi~P'vOz+yOn&wi~Oz,TO{$jO#[,TO~O#q,VOP#nqV#nqf#nqh#nqo#nqs#nqv#nq!P#nq!Q#nq!T#nq!U#nq!X#nq!]#nq!h#nq!r#nq!s#nq!t#nq!{#nq!}#nq#P#nq#R#nq#T#nq#X#nq#Z#nq#^#nq#_#nq#a#nq#c#nq#l#nq#o#nq#s#nq#u#nq#z#nq#}#nq$P#nq%X#nq%o#nq%p#nq%t#nq%u#nq&Z#nq&[#nq&]#nq&^#nq&_#nq&`#nq&a#nq&b#nq&c#nq&d#nq&e#nq&f#nq&g#nq&h#nq&i#nq&j#nq%Z#nq%_#nq~O#[,WOz%Oa{%Oa~Oo0cOv0qO{&xi~P'vOz,YO{&xi~O{#{O%z,[Og&zXz&zX~O%uWOg&zXz&zX~Oz,`Og&yX~Og,bO~O%Y,eO~O!T%dO!U%cOg&Viz&Vi~OV$}Oa$}Oo0cOv0qOg&Ui~P'vO{,hOz$la!W$la~Oo0cOv0qO{,iOz$la!W$la~P'vOo0cOv0qO{*gO!W&Xi~P'vOz,lO!W&Xi~Oo0cOv0qOz,lO!W&Xi~P'vOz,lO{,oO!W&Xi~Og$hiz$hi!W$hi~P%SOV'|Oo0cOv0qO~P'vOn,qO~OV'|Og,rOo0cOv0qO~P'vOV'|Oo0cOv0qO!W&Sq~P'vOz$gi![$gi#g$gi%[$gi%_$gig$gi{$gi!m$gi%z$gi~P%SOV(]Oo0cOv0qO~P'vOa+QOo0cOv0qO![&Tq~P'vOz,sO![&Tq~O![,tO~OV(]Oo0cOv0qO![%}q#g%}q%[%}q%_%}qg%}q{%}q!m%}q%z%}q~P'vO{,uO~OV+UOo0cOv0qO{&li![&li!m&li%z&li~P'vOz,zO{&li![&li!m&li%z&li~O!]+YO&n+[O![!na~O{(kO![,}O~OV&OOo0cOv0qO#g%hi%[%hi%_%hi%z%hi~P'vOz-OO#g%hi%[%hi%_%hi%z%hi~O%uWO#g&rq%[&rq%_&rqg&rq~Oz-RO#g&rq%[&rq%_&rqg&rq~OV)`Oa)`O%uWO!W&ua~Oz-TO!W&ua~On$|iz$|i~P%SOV)kO~P'vOV)kOn&wq~P'vOt-XOP#myV#myf#myh#myo#mys#myv#my!P#my!Q#my!T#my!U#my!X#my!]#my!h#my!r#my!s#my!t#my!{#my!}#my#P#my#R#my#T#my#X#my#Z#my#^#my#_#my#a#my#c#my#l#my#o#my#s#my#u#my#z#my#}#my$P#my%X#my%o#my%p#my%t#my%u#my&Z#my&[#my&]#my&^#my&_#my&`#my&a#my&b#my&c#my&d#my&e#my&f#my&g#my&h#my&i#my&j#my%Z#my%_#my~O%Z-]O%_-]O~P`O#q-^OP#nyV#nyf#nyh#nyo#nys#nyv#ny!P#ny!Q#ny!T#ny!U#ny!X#ny!]#ny!h#ny!r#ny!s#ny!t#ny!{#ny!}#ny#P#ny#R#ny#T#ny#X#ny#Z#ny#^#ny#_#ny#a#ny#c#ny#l#ny#o#ny#s#ny#u#ny#z#ny#}#ny$P#ny%X#ny%o#ny%p#ny%t#ny%u#ny&Z#ny&[#ny&]#ny&^#ny&_#ny&`#ny&a#ny&b#ny&c#ny&d#ny&e#ny&f#ny&g#ny&h#ny&i#ny&j#ny%Z#ny%_#ny~Oz-aO{$jO#[-aO~Oo0cOv0qO{&xq~P'vOz-dO{&xq~O%z,[Og&zaz&za~O{#{Og&zaz&za~OV*SOa*TO%q*UO%uWOg&ya~Oz-hOg&ya~O$S-lO~OV$}Oa$}Oo0cOv0qO~P'vOo0cOv0qO{-mOz$li!W$li~P'vOo0cOv0qOz$li!W$li~P'vO{-mOz$li!W$li~Oo0cOv0qO{*gO~P'vOo0cOv0qO{*gO!W&Xq~P'vOz-pO!W&Xq~Oo0cOv0qOz-pO!W&Xq~P'vOs-sO!T%dO!U%cOg&Oq!W&Oq![&Oqz&Oq~P!/jOa+QOo0cOv0qO![&Ty~P'vOz$ji![$ji~P%SOa+QOo0cOv0qO~P'vOV+UOo0cOv0qO~P'vOV+UOo0cOv0qO{&lq![&lq!m&lq%z&lq~P'vO{(kO![-xO!m-yO%z-wO~OV&OOo0cOv0qO#g%hq%[%hq%_%hq%z%hq~P'vO%uWO#g&ry%[&ry%_&ryg&ry~OV)`Oa)`O%uWO!W&ui~Ot-}OP#m!RV#m!Rf#m!Rh#m!Ro#m!Rs#m!Rv#m!R!P#m!R!Q#m!R!T#m!R!U#m!R!X#m!R!]#m!R!h#m!R!r#m!R!s#m!R!t#m!R!{#m!R!}#m!R#P#m!R#R#m!R#T#m!R#X#m!R#Z#m!R#^#m!R#_#m!R#a#m!R#c#m!R#l#m!R#o#m!R#s#m!R#u#m!R#z#m!R#}#m!R$P#m!R%X#m!R%o#m!R%p#m!R%t#m!R%u#m!R&Z#m!R&[#m!R&]#m!R&^#m!R&_#m!R&`#m!R&a#m!R&b#m!R&c#m!R&d#m!R&e#m!R&f#m!R&g#m!R&h#m!R&i#m!R&j#m!R%Z#m!R%_#m!R~Oo0cOv0qO{&xy~P'vOV*SOa*TO%q*UO%uWOg&yi~O$S-lO%Z.VO%_.VO~OV.aOh._O!X.^O!].`O!h.YO!s.[O!t.[O%p.XO%uWO&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O~Oo0cOv0qOz$lq!W$lq~P'vO{.fOz$lq!W$lq~Oo0cOv0qO{*gO!W&Xy~P'vOz.gO!W&Xy~Oo0cOv.kO~P'vOs-sO!T%dO!U%cOg&Oy!W&Oy![&Oyz&Oy~P!/jO{(kO![.nO~O{(kO![.nO!m.oO~OV*SOa*TO%q*UO%uWO~Oh.tO!f.rOz$TX#[$TX%j$TXg$TX~Os$TX{$TX!W$TX![$TX~P$-bO%o.vO%p.vOs$UXz$UX{$UX#[$UX%j$UX!W$UXg$UX![$UX~O!h.xO~Oz.|O#[/OO%j.yOs&|X{&|X!W&|Xg&|X~Oa/RO~P$)zOh.tOs&}Xz&}X{&}X#[&}X%j&}X!W&}Xg&}X![&}X~Os/VO{$jO~Oo0cOv0qOz$ly!W$ly~P'vOo0cOv0qO{*gO!W&X!R~P'vOz/ZO!W&X!R~Og&RXs&RX!T&RX!U&RX!W&RX![&RXz&RX~P!/jOs-sO!T%dO!U%cOg&Qa!W&Qa![&Qaz&Qa~O{(kO![/^O~O!f.rOh$[as$[az$[a{$[a#[$[a%j$[a!W$[ag$[a![$[a~O!h/eO~O%o.vO%p.vOs$Uaz$Ua{$Ua#[$Ua%j$Ua!W$Uag$Ua![$Ua~O%j.yOs$Yaz$Ya{$Ya#[$Ya!W$Yag$Ya![$Ya~Os&|a{&|a!W&|ag&|a~P$)nOz/jOs&|a{&|a!W&|ag&|a~O!W/mO~Og/mO~O{/oO~O![/pO~Oo0cOv0qO{*gO!W&X!Z~P'vO{/sO~O%z/tO~P$-bOz/uO#[/OO%j.yOg'PX~Oz/uOg'PX~Og/wO~O!h/xO~O#[/OOs%Saz%Sa{%Sa%j%Sa!W%Sag%Sa![%Sa~O#[/OO%j.yOs%Waz%Wa{%Wa!W%Wag%Wa~Os&|i{&|i!W&|ig&|i~P$)nOz/zO#[/OO%j.yO!['Oa~Og'Pa~P$)nOz0SOg'Pa~Oa0UO!['Oi~P$)zOz0WO!['Oi~Oz0WO#[/OO%j.yO!['Oi~O#[/OO%j.yOg$biz$bi~O%z0ZO~P$-bO#[/OO%j.yOg%Vaz%Va~Og'Pi~P$)nO{0^O~Oa0UO!['Oq~P$)zOz0`O!['Oq~O#[/OO%j.yOz%Ui![%Ui~Oa0UO~P$)zOa0UO!['Oy~P$)zO#[/OO%j.yOg$ciz$ci~O#[/OO%j.yOz%Uq![%Uq~Oz+aO#g%ha%[%ha%_%ha%z%ha~P%SOV&OOo0cOv0qO~P'vOn0hO~Oo0hO~P'vO{0iO~Ot0jO~P!/jO&]&Z&j&h&i&g&f&d&e&c&b&`&a&_&^&[%u~",goto:"!=j'QPPPPPP'RP'Z*s+[+t,_,y-fP.SP'Z.r.r'ZPPP'Z2[PPPPPP2[5PPP5PP7b7k=sPP=v>h>kPP'Z'ZPP>zPP'Z'ZPP'Z'Z'Z'Z'Z?O?w'ZP?zP@QDXGuGyPG|HWH['ZPPPH_Hk'RP'R'RP'RP'RP'RP'RP'R'R'RP'RPP'RPP'RP'RPHqH}IVPI^IdPI^PI^I^PPPI^PKrPK{LVL]KrPI^LfPI^PLmLsPLwM]MzNeLwLwNkNxLwLwLwLw! ^! d! g! l! o! y!!P!!]!!o!!u!#P!#V!#s!#y!$P!$Z!$a!$g!$y!%T!%Z!%a!%k!%q!%w!%}!&T!&Z!&e!&k!&u!&{!'U!'[!'k!'s!'}!(UPPPPPPPPPPP!([!(_!(e!(n!(x!)TPPPPPPPPPPPP!-u!/Z!3^!6oPP!6w!7W!7a!8Y!8P!8c!8i!8l!8o!8r!8z!9jPPPPPPPPPPPPPPPPP!9m!9q!9wP!:]!:a!:m!:v!;S!;j!;m!;p!;v!;|!_![!]Do!]!^Es!^!_FZ!_!`Gk!`!aHX!a!b%T!b!cIf!c!dJU!d!eK^!e!hJU!h!i!#f!i!tJU!t!u!,|!u!wJU!w!x!.t!x!}JU!}#O!0S#O#P&o#P#Q!0j#Q#R!1Q#R#SJU#S#T%T#T#UJU#U#VK^#V#YJU#Y#Z!#f#Z#fJU#f#g!,|#g#iJU#i#j!.t#j#oJU#o#p!1n#p#q!1s#q#r!2a#r#s!2f#s$g%T$g;'SJU;'S;=`KW<%lOJU`%YT&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T`%lP;=`<%l%To%v]&n`%c_OX%TXY%oY[%T[]%o]p%Tpq%oq#O%T#O#P&o#P#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To&tX&n`OY%TYZ%oZ]%T]^%o^#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc'f[&n`O!_%T!_!`([!`#T%T#T#U(r#U#f%T#f#g(r#g#h(r#h#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc(cTmR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc(yT!mR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk)aV&n`&[ZOr%Trs)vs#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk){V&n`Or%Trs*bs#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk*iT&n`&^ZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To+PZS_&n`OY*xYZ%TZ]*x]^%T^#o*x#o#p+r#p#q*x#q#r+r#r;'S*x;'S;=`,^<%lO*x_+wTS_OY+rZ]+r^;'S+r;'S;=`,W<%lO+r_,ZP;=`<%l+ro,aP;=`<%l*xj,kV%rQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj-XT!xY&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj-oV%lQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk.]V&n`&ZZOw%Twx.rx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk.wV&n`Ow%Twx/^x#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk/eT&n`&]ZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk/{ThZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc0cTgR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk0yXVZ&n`Oz%Tz{1f{!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk1mVaR&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk2ZV%oZ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc2wTzR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To3_W%pZ&n`O!_%T!_!`-Q!`!a3w!a#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Td4OT&{S&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk4fX!fQ&n`O!O%T!O!P5R!P!Q%T!Q![6T![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk5WV&n`O!O%T!O!P5m!P#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk5tT!rZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti6[a!hX&n`O!Q%T!Q![6T![!g%T!g!h7a!h!l%T!l!m9s!m#R%T#R#S6T#S#X%T#X#Y7a#Y#^%T#^#_9s#_#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti7fZ&n`O{%T{|8X|}%T}!O8X!O!Q%T!Q![8s![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti8^V&n`O!Q%T!Q![8s![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti8z]!hX&n`O!Q%T!Q![8s![!l%T!l!m9s!m#R%T#R#S8s#S#^%T#^#_9s#_#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti9zT!hX&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk:bX%qR&n`O!P%T!P!Q:}!Q!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj;UV%sQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti;ro!hX&n`O!O%T!O!P=s!P!Q%T!Q![>_![!d%T!d!e?q!e!g%T!g!h7a!h!l%T!l!m9s!m!q%T!q!rA]!r!z%T!z!{Bq!{#R%T#R#S>_#S#U%T#U#V?q#V#X%T#X#Y7a#Y#^%T#^#_9s#_#c%T#c#dA]#d#l%T#l#mBq#m#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti=xV&n`O!Q%T!Q![6T![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti>fc!hX&n`O!O%T!O!P=s!P!Q%T!Q![>_![!g%T!g!h7a!h!l%T!l!m9s!m#R%T#R#S>_#S#X%T#X#Y7a#Y#^%T#^#_9s#_#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti?vY&n`O!Q%T!Q!R@f!R!S@f!S#R%T#R#S@f#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti@mY!hX&n`O!Q%T!Q!R@f!R!S@f!S#R%T#R#S@f#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiAbX&n`O!Q%T!Q!YA}!Y#R%T#R#SA}#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiBUX!hX&n`O!Q%T!Q!YA}!Y#R%T#R#SA}#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiBv]&n`O!Q%T!Q![Co![!c%T!c!iCo!i#R%T#R#SCo#S#T%T#T#ZCo#Z#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiCv]!hX&n`O!Q%T!Q![Co![!c%T!c!iCo!i#R%T#R#SCo#S#T%T#T#ZCo#Z#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%ToDvV{_&n`O!_%T!_!`E]!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TcEdT%{R&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkEzT#gZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkFbXmR&n`O!^%T!^!_F}!_!`([!`!a([!a#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TjGUV%mQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkGrV%zZ&n`O!_%T!_!`([!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkH`WmR&n`O!_%T!_!`([!`!aHx!a#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TjIPV%nQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkIoV_Q#}P&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%ToJ_]&n`&YS%uZO!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUoKZP;=`<%lJUoKge&n`&YS%uZOr%Trs)Ysw%Twx.Ux!Q%T!Q![JU![!c%T!c!tJU!t!uLx!u!}JU!}#R%T#R#SJU#S#T%T#T#fJU#f#gLx#g#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUoMRa&n`&YS%uZOr%TrsNWsw%Twx! vx!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUkN_V&n`&`ZOr%TrsNts#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkNyV&n`Or%Trs! `s#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk! gT&n`&bZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk! }V&n`&_ZOw%Twx!!dx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!!iV&n`Ow%Twx!#Ox#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!#VT&n`&aZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To!#oe&n`&YS%uZOr%Trs!%Qsw%Twx!&px!Q%T!Q![JU![!c%T!c!tJU!t!u!(`!u!}JU!}#R%T#R#SJU#S#T%T#T#fJU#f#g!(`#g#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUk!%XV&n`&dZOr%Trs!%ns#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!%sV&n`Or%Trs!&Ys#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!&aT&n`&fZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!&wV&n`&cZOw%Twx!'^x#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!'cV&n`Ow%Twx!'xx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!(PT&n`&eZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To!(ia&n`&YS%uZOr%Trs!)nsw%Twx!+^x!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUk!)uV&n`&hZOr%Trs!*[s#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!*aV&n`Or%Trs!*vs#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!*}T&n`&jZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!+eV&n`&gZOw%Twx!+zx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!,PV&n`Ow%Twx!,fx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!,mT&n`&iZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To!-Vi&n`&YS%uZOr%TrsNWsw%Twx! vx!Q%T!Q![JU![!c%T!c!dJU!d!eLx!e!hJU!h!i!(`!i!}JU!}#R%T#R#SJU#S#T%T#T#UJU#U#VLx#V#YJU#Y#Z!(`#Z#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUo!.}a&n`&YS%uZOr%Trs)Ysw%Twx.Ux!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUk!0ZT!XZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc!0qT!WR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj!1XV%kQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T~!1sO!]~k!1zV%jR&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T~!2fO![~i!2mT%tX&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T",tokenizers:[Qw,dw,Ow,bw,0,1,2,3,4],topRules:{Script:[0,5]},specialized:[{term:221,get:i=>kw[i]||-1}],tokenPrec:7668});var zm=new ui,Mm=new Set(["Script","Body","FunctionDefinition","ClassDefinition","LambdaExpression","ForStatement","MatchClause"]);function uo(i){return(e,t,n)=>{if(n)return!1;let r=e.node.getChild("VariableName");return r&&t(r,i),!0}}var xw={FunctionDefinition:uo("function"),ClassDefinition:uo("class"),ForStatement(i,e,t){if(t){for(let n=i.node.firstChild;n;n=n.nextSibling)if(n.name=="VariableName")e(n,"variable");else if(n.name=="in")break}},ImportStatement(i,e){var t,n;let{node:r}=i,s=((t=r.firstChild)===null||t===void 0?void 0:t.name)=="from";for(let o=r.getChild("import");o;o=o.nextSibling)o.name=="VariableName"&&((n=o.nextSibling)===null||n===void 0?void 0:n.name)!="as"&&e(o,s?"variable":"namespace")},AssignStatement(i,e){for(let t=i.node.firstChild;t;t=t.nextSibling)if(t.name=="VariableName")e(t,"variable");else if(t.name==":"||t.name=="AssignOp")break},ParamList(i,e){for(let t=null,n=i.node.firstChild;n;n=n.nextSibling)n.name=="VariableName"&&(!t||!/\*|AssignOp/.test(t.name))&&e(n,"variable"),t=n},CapturePattern:uo("variable"),AsPattern:uo("variable"),__proto__:null};function Wm(i,e){let t=zm.get(e);if(t)return t;let n=[],r=!0;function s(o,a){let l=i.sliceString(o.from,o.to);n.push({label:l,type:a})}return e.cursor(te.IncludeAnonymous).iterate(o=>{if(o.name){let a=xw[o.name];if(a&&a(o,s,r)||!r&&Mm.has(o.name))return!1;r=!1}else if(o.to-o.from>8192){for(let a of Wm(i,o.node))n.push(a);return!1}}),zm.set(e,n),n}var Lm=/^[\w\xa1-\uffff][\w\d\xa1-\uffff]*$/,jm=["String","FormatString","Comment","PropertyName"];function ww(i){let e=U(i.state).resolveInner(i.pos,-1);if(jm.indexOf(e.name)>-1)return null;let t=e.name=="VariableName"||e.to-e.from<20&&Lm.test(i.state.sliceDoc(e.from,e.to));if(!t&&!i.explicit)return null;let n=[];for(let r=e;r;r=r.parent)Mm.has(r.name)&&(n=n.concat(Wm(i.state.doc,r)));return{options:n,from:t?e.from:i.pos,validFor:Lm}}var Pw=["__annotations__","__builtins__","__debug__","__doc__","__import__","__name__","__loader__","__package__","__spec__","False","None","True"].map(i=>({label:i,type:"constant"})).concat(["ArithmeticError","AssertionError","AttributeError","BaseException","BlockingIOError","BrokenPipeError","BufferError","BytesWarning","ChildProcessError","ConnectionAbortedError","ConnectionError","ConnectionRefusedError","ConnectionResetError","DeprecationWarning","EOFError","Ellipsis","EncodingWarning","EnvironmentError","Exception","FileExistsError","FileNotFoundError","FloatingPointError","FutureWarning","GeneratorExit","IOError","ImportError","ImportWarning","IndentationError","IndexError","InterruptedError","IsADirectoryError","KeyError","KeyboardInterrupt","LookupError","MemoryError","ModuleNotFoundError","NameError","NotADirectoryError","NotImplemented","NotImplementedError","OSError","OverflowError","PendingDeprecationWarning","PermissionError","ProcessLookupError","RecursionError","ReferenceError","ResourceWarning","RuntimeError","RuntimeWarning","StopAsyncIteration","StopIteration","SyntaxError","SyntaxWarning","SystemError","SystemExit","TabError","TimeoutError","TypeError","UnboundLocalError","UnicodeDecodeError","UnicodeEncodeError","UnicodeError","UnicodeTranslateError","UnicodeWarning","UserWarning","ValueError","Warning","ZeroDivisionError"].map(i=>({label:i,type:"type"}))).concat(["bool","bytearray","bytes","classmethod","complex","float","frozenset","int","list","map","memoryview","object","range","set","staticmethod","str","super","tuple","type"].map(i=>({label:i,type:"class"}))).concat(["abs","aiter","all","anext","any","ascii","bin","breakpoint","callable","chr","compile","delattr","dict","dir","divmod","enumerate","eval","exec","exit","filter","format","getattr","globals","hasattr","hash","help","hex","id","input","isinstance","issubclass","iter","len","license","locals","max","min","next","oct","open","ord","pow","print","property","quit","repr","reversed","round","setattr","slice","sorted","sum","vars","zip"].map(i=>({label:i,type:"function"}))),vw=[ce("def ${name}(${params}):\n ${}",{label:"def",detail:"function",type:"keyword"}),ce("for ${name} in ${collection}:\n ${}",{label:"for",detail:"loop",type:"keyword"}),ce("while ${}:\n ${}",{label:"while",detail:"loop",type:"keyword"}),ce("try:\n ${}\nexcept ${error}:\n ${}",{label:"try",detail:"/ except block",type:"keyword"}),ce(`if \${}: -`,{label:"if",detail:"block",type:"keyword"}),ce("if ${}:\n ${}\nelse:\n ${}",{label:"if",detail:"/ else block",type:"keyword"}),ce("class ${name}:\n def __init__(self, ${params}):\n ${}",{label:"class",detail:"definition",type:"keyword"}),ce("import ${module}",{label:"import",detail:"statement",type:"keyword"}),ce("from ${module} import ${names}",{label:"from",detail:"import",type:"keyword"})],vw=Bs(Mm,Is(ww.concat(Pw)));function ih(i){let{node:e,pos:t}=i,n=i.lineIndent(t,-1),r=null;for(;;){let s=e.childBefore(t);if(s)if(s.name=="Comment")t=s.from;else if(s.name=="Body"||s.name=="MatchBody")i.baseIndentFor(s)+i.unit<=n&&(r=s),e=s;else if(s.name=="MatchClause")e=s;else if(s.type.is("Statement"))e=s;else break;else break}return r}function nh(i,e){let t=i.baseIndentFor(e),n=i.lineAt(i.pos,-1),r=n.from+n.text.length;return/^\s*($|#)/.test(n.text)&&i.node.tot?null:t+i.unit}var rh=ve.define({name:"python",parser:Zm.configure({props:[we.add({Body:i=>{var e;let t=/^\s*(#|$)/.test(i.textAfter)&&ih(i)||i.node;return(e=nh(i,t))!==null&&e!==void 0?e:i.continue()},MatchBody:i=>{var e;let t=ih(i);return(e=nh(i,t||i.node))!==null&&e!==void 0?e:i.continue()},IfStatement:i=>/^\s*(else:|elif )/.test(i.textAfter)?i.baseIndent:i.continue(),"ForStatement WhileStatement":i=>/^\s*else:/.test(i.textAfter)?i.baseIndent:i.continue(),TryStatement:i=>/^\s*(except[ :]|finally:|else:)/.test(i.textAfter)?i.baseIndent:i.continue(),MatchStatement:i=>/^\s*case /.test(i.textAfter)?i.baseIndent+i.unit:i.continue(),"TupleExpression ComprehensionExpression ParamList ArgList ParenthesizedExpression":St({closing:")"}),"DictionaryExpression DictionaryComprehensionExpression SetExpression SetComprehensionExpression":St({closing:"}"}),"ArrayExpression ArrayComprehensionExpression":St({closing:"]"}),MemberExpression:i=>i.baseIndent+i.unit,"String FormatString":()=>null,Script:i=>{var e;let t=ih(i);return(e=t&&nh(i,t))!==null&&e!==void 0?e:i.continue()}}),$e.add({"ArrayExpression DictionaryExpression SetExpression TupleExpression":ct,Body:(i,e)=>({from:i.from+1,to:i.to-(i.to==e.doc.length?0:1)}),"String FormatString":(i,e)=>({from:e.doc.lineAt(i.from).to,to:i.to})})]}),languageData:{closeBrackets:{brackets:["(","[","{","'",'"',"'''",'"""'],stringPrefixes:["f","fr","rf","r","u","b","br","rb","F","FR","RF","R","U","B","BR","RB"]},commentTokens:{line:"#"},indentOnInput:/^\s*([\}\]\)]|else:|elif |except |finally:|case\s+[^:]*:?)$/}});function Wm(){return new pe(rh,[rh.data.of({autocomplete:xw}),rh.data.of({autocomplete:vw})])}var $w=ge({String:d.string,Number:d.number,"True False":d.bool,PropertyName:d.propertyName,Null:d.null,", :":d.separator,"[ ]":d.squareBracket,"{ }":d.brace}),jm=Pe.deserialize({version:14,states:"$bOVQPOOOOQO'#Cb'#CbOnQPO'#CeOvQPO'#ClOOQO'#Cr'#CrQOQPOOOOQO'#Cg'#CgO}QPO'#CfO!SQPO'#CtOOQO,59P,59PO![QPO,59PO!aQPO'#CuOOQO,59W,59WO!iQPO,59WOVQPO,59QOqQPO'#CmO!nQPO,59`OOQO1G.k1G.kOVQPO'#CnO!vQPO,59aOOQO1G.r1G.rOOQO1G.l1G.lOOQO,59X,59XOOQO-E6k-E6kOOQO,59Y,59YOOQO-E6l-E6l",stateData:"#O~OeOS~OQSORSOSSOTSOWQO_ROgPO~OVXOgUO~O^[O~PVO[^O~O]_OVhX~OVaO~O]bO^iX~O^dO~O]_OVha~O]bO^ia~O",goto:"!kjPPPPPPkPPkqwPPPPk{!RPPP!XP!e!hXSOR^bQWQRf_TVQ_Q`WRg`QcZRicQTOQZRQe^RhbRYQR]R",nodeNames:"\u26A0 JsonText True False Null Number String } { Object Property PropertyName : , ] [ Array",maxTerm:25,nodeProps:[["isolate",-2,6,11,""],["openedBy",7,"{",14,"["],["closedBy",8,"}",15,"]"]],propSources:[$w],skippedNodes:[0],repeatNodeCount:2,tokenData:"(|~RaXY!WYZ!W]^!Wpq!Wrs!]|}$u}!O$z!Q!R%T!R![&c![!]&t!}#O&y#P#Q'O#Y#Z'T#b#c'r#h#i(Z#o#p(r#q#r(w~!]Oe~~!`Wpq!]qr!]rs!xs#O!]#O#P!}#P;'S!];'S;=`$o<%lO!]~!}Og~~#QXrs!]!P!Q!]#O#P!]#U#V!]#Y#Z!]#b#c!]#f#g!]#h#i!]#i#j#m~#pR!Q![#y!c!i#y#T#Z#y~#|R!Q![$V!c!i$V#T#Z$V~$YR!Q![$c!c!i$c#T#Z$c~$fR!Q![!]!c!i!]#T#Z!]~$rP;=`<%l!]~$zO]~~$}Q!Q!R%T!R![&c~%YRT~!O!P%c!g!h%w#X#Y%w~%fP!Q![%i~%nRT~!Q![%i!g!h%w#X#Y%w~%zR{|&T}!O&T!Q![&Z~&WP!Q![&Z~&`PT~!Q![&Z~&hST~!O!P%c!Q![&c!g!h%w#X#Y%w~&yO[~~'OO_~~'TO^~~'WP#T#U'Z~'^P#`#a'a~'dP#g#h'g~'jP#X#Y'm~'rOR~~'uP#i#j'x~'{P#`#a(O~(RP#`#a(U~(ZOS~~(^P#f#g(a~(dP#i#j(g~(jP#X#Y(m~(rOQ~~(wOW~~(|OV~",tokenizers:[0],topRules:{JsonText:[0,1]},tokenPrec:0});var Tw=ve.define({name:"json",parser:jm.configure({props:[we.add({Object:Yt({except:/^\s*\}/}),Array:Yt({except:/^\s*\]/})}),$e.add({"Object Array":ct})]}),languageData:{closeBrackets:{brackets:["[","{",'"']},indentOnInput:/^\s*[\}\]]$/}});function Vm(){return new pe(Tw)}function Oo(i){for(var e={},t=0;t~^?!",Zw=":;,.(){}[]",qw=/^\-?0b[01][01_]*/,Ew=/^\-?0o[0-7][0-7_]*/,zw=/^\-?0x[\dA-Fa-f][\dA-Fa-f_]*(?:(?:\.[\dA-Fa-f][\dA-Fa-f_]*)?[Pp]\-?\d[\d_]*)?/,Lw=/^\-?\d[\d_]*(?:\.\d[\d_]*)?(?:[Ee]\-?\d[\d_]*)?/,Mw=/^\$\d+|(`?)[_A-Za-z][_A-Za-z$0-9]*\1/,Ww=/^\.(?:\$\d+|(`?)[_A-Za-z][_A-Za-z$0-9]*\1)/,jw=/^\#[A-Za-z]+/,Vw=/^@(?:\$\d+|(`?)[_A-Za-z][_A-Za-z$0-9]*\1)/;function Dm(i,e,t){if(i.sol()&&(e.indented=i.indentation()),i.eatSpace())return null;var n=i.peek();if(n=="/"){if(i.match("//"))return i.skipToEnd(),"comment";if(i.match("/*"))return e.tokenize.push(sh),sh(i,e)}if(i.match(jw))return"builtin";if(i.match(Vw))return"attribute";if(i.match(qw)||i.match(Ew)||i.match(zw)||i.match(Lw))return"number";if(i.match(Ww))return"property";if(Aw.indexOf(n)>-1)return i.next(),"operator";if(Zw.indexOf(n)>-1)return i.next(),i.match(".."),"punctuation";var r;if(r=i.match(/("""|"|')/)){var s=Yw.bind(null,r[0]);return e.tokenize.push(s),s(i,e)}if(i.match(Mw)){var o=i.current();return Rw.hasOwnProperty(o)?"type":_w.hasOwnProperty(o)?"atom":Cw.hasOwnProperty(o)?(Xw.hasOwnProperty(o)&&(e.prev="define"),"keyword"):t=="define"?"def":"variable"}return i.next(),null}function Dw(){var i=0;return function(e,t,n){var r=Dm(e,t,n);if(r=="punctuation"){if(e.current()=="(")++i;else if(e.current()==")"){if(i==0)return e.backUp(1),t.tokenize.pop(),t.tokenize[t.tokenize.length-1](e,t);--i}}return r}}function Yw(i,e,t){for(var n=i.length==1,r,s=!1;r=e.peek();)if(s){if(e.next(),r=="(")return t.tokenize.push(Dw()),"string";s=!1}else{if(e.match(i))return t.tokenize.pop(),"string";e.next(),s=r=="\\"}return n&&t.tokenize.pop(),"string"}function sh(i,e){for(var t;t=i.next();)if(t==="/"&&i.eat("*"))e.tokenize.push(sh);else if(t==="*"&&i.eat("/")){e.tokenize.pop();break}return"comment"}function Iw(i,e,t){this.prev=i,this.align=e,this.indented=t}function Bw(i,e){var t=e.match(/^\s*($|\/[\/\*]|[)}\]])/,!1)?null:e.column()+1;i.context=new Iw(i.context,t,i.indented)}function Uw(i){i.context&&(i.indented=i.context.indented,i.context=i.context.prev)}var Ym={name:"swift",startState:function(){return{prev:null,context:null,indented:0,tokenize:[]}},token:function(i,e){var t=e.prev;e.prev=null;var n=e.tokenize[e.tokenize.length-1]||Dm,r=n(i,e,t);if(!r||r=="comment"?e.prev=t:e.prev||(e.prev=r),r=="punctuation"){var s=/[\(\[\{]|([\]\)\}])/.exec(i.current());s&&(s[1]?Uw:Bw)(e,i)}return r},indent:function(i,e,t){var n=i.context;if(!n)return 0;var r=/^[\]\}\)]/.test(e);return n.align!=null?n.align-(r?1:0):n.indented+(r?0:t.unit)},languageData:{indentOnInput:/^\s*[\)\}\]]$/,commentTokens:{line:"//",block:{open:"/*",close:"*/"}},closeBrackets:{brackets:["(","[","{","'",'"',"`"]}}};var oh={};function ah(i,e){for(var t=0;t1&&i.eat("$");var t=i.next();return/['"({]/.test(t)?(e.tokens[0]=po(t,t=="("?"quote":t=="{"?"def":"string"),_n(i,e)):(/\d/.test(t)||i.eatWhile(/\w/),e.tokens.shift(),"def")};function Fw(i){return function(e,t){return e.sol()&&e.string==i&&t.tokens.shift(),e.skipToEnd(),"string.special"}}function _n(i,e){return(e.tokens[0]||Gw)(i,e)}var Nm={name:"shell",startState:function(){return{tokens:[]}},token:function(i,e){return _n(i,e)},languageData:{autocomplete:Im.concat(Bm,Um),closeBrackets:{brackets:["(","[","{","'",'"',"`"]},commentTokens:{line:"#"}}};var Hw=["true","false","on","off","yes","no"],Kw=new RegExp("\\b(("+Hw.join(")|(")+"))$","i"),Fm={name:"yaml",token:function(i,e){var t=i.peek(),n=e.escaped;if(e.escaped=!1,t=="#"&&(i.pos==0||/\s/.test(i.string.charAt(i.pos-1))))return i.skipToEnd(),"comment";if(i.match(/^('([^']|\\.)*'?|"([^"]|\\.)*"?)/))return"string";if(e.literal&&i.indentation()>e.keyCol)return i.skipToEnd(),"string";if(e.literal&&(e.literal=!1),i.sol()){if(e.keyCol=0,e.pair=!1,e.pairStart=!1,i.match("---")||i.match("..."))return"def";if(i.match(/^\s*-\s+/))return"meta"}if(i.match(/^(\{|\}|\[|\])/))return t=="{"?e.inlinePairs++:t=="}"?e.inlinePairs--:t=="["?e.inlineList++:e.inlineList--,"meta";if(e.inlineList>0&&!n&&t==",")return i.next(),"meta";if(e.inlinePairs>0&&!n&&t==",")return e.keyCol=0,e.pair=!1,e.pairStart=!1,i.next(),"meta";if(e.pairStart){if(i.match(/^\s*(\||\>)\s*/))return e.literal=!0,"meta";if(i.match(/^\s*(\&|\*)[a-z0-9\._-]+\b/i))return"variable";if(e.inlinePairs==0&&i.match(/^\s*-?[0-9\.\,]+\s?$/)||e.inlinePairs>0&&i.match(/^\s*-?[0-9\.\,]+\s?(?=(,|}))/))return"number";if(i.match(Kw))return"keyword"}return!e.pair&&i.match(/^\s*(?:[,\[\]{}&*!|>'"%@`][^\s'":]|[^,\[\]{}#&*!|>'"%@`])[^#]*?(?=\s*:($|\s))/)?(e.pair=!0,e.keyCol=i.indentation(),"atom"):e.pair&&i.match(/^:\s*/)?(e.pairStart=!0,"meta"):(e.pairStart=!1,e.escaped=t=="\\",i.next(),null)},startState:function(){return{pair:!1,pairStart:!1,keyCol:0,inlinePairs:0,inlineList:0,literal:!1,escaped:!1}},languageData:{commentTokens:{line:"#"}}};var Jw={break:!0,case:!0,chan:!0,const:!0,continue:!0,default:!0,defer:!0,else:!0,fallthrough:!0,for:!0,func:!0,go:!0,goto:!0,if:!0,import:!0,interface:!0,map:!0,package:!0,range:!0,return:!0,select:!0,struct:!0,switch:!0,type:!0,var:!0,bool:!0,byte:!0,complex64:!0,complex128:!0,float32:!0,float64:!0,int8:!0,int16:!0,int32:!0,int64:!0,string:!0,uint8:!0,uint16:!0,uint32:!0,uint64:!0,int:!0,uint:!0,uintptr:!0,error:!0,rune:!0,any:!0,comparable:!0},eP={true:!0,false:!0,iota:!0,nil:!0,append:!0,cap:!0,close:!0,complex:!0,copy:!0,delete:!0,imag:!0,len:!0,make:!0,new:!0,panic:!0,print:!0,println:!0,real:!0,recover:!0},Hm=/[+\-*&^%:=<>!|\/]/,Jt;function mo(i,e){var t=i.next();if(t=='"'||t=="'"||t=="`")return e.tokenize=tP(t),e.tokenize(i,e);if(/[\d\.]/.test(t))return t=="."?i.match(/^[0-9]+([eE][\-+]?[0-9]+)?/):t=="0"?i.match(/^[xX][0-9a-fA-F]+/)||i.match(/^0[0-7]+/):i.match(/^[0-9]*\.?[0-9]*([eE][\-+]?[0-9]+)?/),"number";if(/[\[\]{}\(\),;\:\.]/.test(t))return Jt=t,null;if(t=="/"){if(i.eat("*"))return e.tokenize=Km,Km(i,e);if(i.eat("/"))return i.skipToEnd(),"comment"}if(Hm.test(t))return i.eatWhile(Hm),"operator";i.eatWhile(/[\w\$_\xa1-\uffff]/);var n=i.current();return Jw.propertyIsEnumerable(n)?((n=="case"||n=="default")&&(Jt="case"),"keyword"):eP.propertyIsEnumerable(n)?"atom":"variable"}function tP(i){return function(e,t){for(var n=!1,r,s=!1;(r=e.next())!=null;){if(r==i&&!n){s=!0;break}n=!n&&i!="`"&&r=="\\"}return(s||!(n||i=="`"))&&(t.tokenize=mo),"string"}}function Km(i,e){for(var t=!1,n;n=i.next();){if(n=="/"&&t){e.tokenize=mo;break}t=n=="*"}return"comment"}function eg(i,e,t,n,r){this.indented=i,this.column=e,this.type=t,this.align=n,this.prev=r}function lh(i,e,t){return i.context=new eg(i.indented,e,t,null,i.context)}function Jm(i){if(i.context.prev){var e=i.context.type;return(e==")"||e=="]"||e=="}")&&(i.indented=i.context.indented),i.context=i.context.prev}}var tg={name:"go",startState:function(i){return{tokenize:null,context:new eg(-i,0,"top",!1),indented:0,startOfLine:!0}},token:function(i,e){var t=e.context;if(i.sol()&&(t.align==null&&(t.align=!1),e.indented=i.indentation(),e.startOfLine=!0,t.type=="case"&&(t.type="}")),i.eatSpace())return null;Jt=null;var n=(e.tokenize||mo)(i,e);return n=="comment"||(t.align==null&&(t.align=!0),Jt=="{"?lh(e,i.column(),"}"):Jt=="["?lh(e,i.column(),"]"):Jt=="("?lh(e,i.column(),")"):Jt=="case"?t.type="case":(Jt=="}"&&t.type=="}"||Jt==t.type)&&Jm(e),e.startOfLine=!1),n},indent:function(i,e,t){if(i.tokenize!=mo&&i.tokenize!=null)return null;var n=i.context,r=e&&e.charAt(0);if(n.type=="case"&&/^(?:case|default)\b/.test(e))return n.indented;var s=r==n.type;return n.align?n.column+(s?0:1):n.indented+(s?0:t.unit)},languageData:{indentOnInput:/^\s([{}]|case |default\s*:)$/,commentTokens:{line:"//",block:{open:"/*",close:"*/"}}}};function hh(i){for(var e={},t=0,n=i.length;t]/)?(i.eat(/[\<\>]/),"atom"):i.eat(/[\+\-\*\/\&\|\:\!]/)?"atom":i.eat(/[a-zA-Z$@_\xa1-\uffff]/)?(i.eatWhile(/[\w$\xa1-\uffff]/),i.eat(/[\?\!\=]/),"atom"):"operator";if(t=="@"&&i.match(/^@?[a-zA-Z_\xa1-\uffff]/))return i.eat("@"),i.eatWhile(/[\w\xa1-\uffff]/),"propertyName";if(t=="$")return i.eat(/[a-zA-Z_]/)?i.eatWhile(/[\w]/):i.eat(/\d/)?i.eat(/\d/):i.next(),"variableName.special";if(/[a-zA-Z_\xa1-\uffff]/.test(t))return i.eatWhile(/[\w\xa1-\uffff]/),i.eat(/[\?\!]/),i.eat(":")?"atom":"variable";if(t=="|"&&(e.varList||e.lastTok=="{"||e.lastTok=="do"))return Pt="|",null;if(/[\(\)\[\]{}\\;]/.test(t))return Pt=t,null;if(t=="-"&&i.eat(">"))return"operator";if(/[=+\-\/*:\.^%<>~|]/.test(t)){var a=i.eatWhile(/[=+\-\/*:\.^%<>~|]/);return t=="."&&!a&&(Pt="."),"operator"}else return null}}}function oP(i){for(var e=i.pos,t=0,n,r=!1,s=!1;(n=i.next())!=null;)if(s)s=!1;else{if("[{(".indexOf(n)>-1)t++;else if("]})".indexOf(n)>-1){if(t--,t<0)break}else if(n=="/"&&t==0){r=!0;break}s=n=="\\"}return i.backUp(i.pos-e),r}function ch(i){return i||(i=1),function(e,t){if(e.peek()=="}"){if(i==1)return t.tokenize.pop(),t.tokenize[t.tokenize.length-1](e,t);t.tokenize[t.tokenize.length-1]=ch(i-1)}else e.peek()=="{"&&(t.tokenize[t.tokenize.length-1]=ch(i+1));return go(e,t)}}function aP(){var i=!1;return function(e,t){return i?(t.tokenize.pop(),t.tokenize[t.tokenize.length-1](e,t)):(i=!0,go(e,t))}}function Rr(i,e,t,n){return function(r,s){var o=!1,a;for(s.context.type==="read-quoted-paused"&&(s.context=s.context.prev,r.eat("}"));(a=r.next())!=null;){if(a==i&&(n||!o)){s.tokenize.pop();break}if(t&&a=="#"&&!o){if(r.eat("{")){i=="}"&&(s.context={prev:s.context,type:"read-quoted-paused"}),s.tokenize.push(ch());break}else if(/[@\$]/.test(r.peek())){s.tokenize.push(aP());break}}o=!o&&a=="\\"}return e}}function lP(i,e){return function(t,n){return e&&t.eatSpace(),t.match(i)?n.tokenize.pop():t.skipToEnd(),"string"}}function cP(i,e){return i.sol()&&i.match("=end")&&i.eol()&&e.tokenize.pop(),i.skipToEnd(),"comment"}var rg={name:"ruby",startState:function(i){return{tokenize:[go],indented:0,context:{type:"top",indented:-i},continuedLine:!1,lastTok:null,varList:!1}},token:function(i,e){Pt=null,i.sol()&&(e.indented=i.indentation());var t=e.tokenize[e.tokenize.length-1](i,e),n,r=Pt;if(t=="variable"){var s=i.current();t=e.lastTok=="."?"property":iP.propertyIsEnumerable(i.current())?"keyword":/^[A-Z]/.test(s)?"tag":e.lastTok=="def"||e.lastTok=="class"||e.varList?"def":"variable",t=="keyword"&&(r=s,nP.propertyIsEnumerable(s)?n="indent":rP.propertyIsEnumerable(s)?n="dedent":((s=="if"||s=="unless")&&i.column()==i.indentation()||s=="do"&&e.context.indented2&&o.token&&typeof o.token!="string"){t.pending=[];for(var c=2;c-1)return null;var r=t.indent.length-1,s=i[t.state];e:for(;;){for(var o=0;o!]+/,token:"operator"},{regex:/[a-zA-Z_]\w*!/,token:"macroName"},{regex:/[a-zA-Z_]\w*/,token:"variable"},{regex:/[\{\[\(]/,indent:!0},{regex:/[\}\]\)]/,dedent:!0}],string:[{regex:/"/,token:"string",next:"start"},{regex:/(?:[^\\"]|\\(?:.|$))*/,token:"string"}],string_raw:[{regex:/"/,token:"string",next:"start"},{regex:/[^"]*/,token:"string"}],string_raw_hash:[{regex:/"#+/,token:"string",next:"start"},{regex:/(?:[^"]|"(?!#))*/,token:"string"}],comment:[{regex:/.*?\*\//,token:"comment",next:"start"},{regex:/.*/,token:"comment"}],languageData:{name:"rust",dontIndentStates:["comment"],indentOnInput:/^\s*\}$/,commentTokens:{line:"//",block:{open:"/*",close:"*/"}}}});function Oh(i,e,t,n,r,s){this.indented=i,this.column=e,this.type=t,this.info=n,this.align=r,this.prev=s}function Qo(i,e,t,n){var r=i.indented;return i.context&&i.context.type=="statement"&&t!="statement"&&(r=i.context.indented),i.context=new Oh(r,e,t,n,null,i.context)}function Ar(i){var e=i.context.type;return(e==")"||e=="]"||e=="}")&&(i.indented=i.context.indented),i.context=i.context.prev}function lg(i,e,t){if(e.prevToken=="variable"||e.prevToken=="type"||/\S(?:[^- ]>|[*\]])\s*$|\*$/.test(i.string.slice(0,t))||e.typeAtEndOfLine&&i.column()==i.indentation())return!0}function fh(i){for(;;){if(!i||i.type=="top")return!0;if(i.type=="}"&&i.prev.info!="namespace")return!1;i=i.prev}}function tt(i){var e=i.statementIndentUnit,t=i.dontAlignCalls,n=i.keywords||{},r=i.types||{},s=i.builtin||{},o=i.blockKeywords||{},a=i.defKeywords||{},l=i.atoms||{},c=i.hooks||{},h=i.multiLineStrings,f=i.indentStatements!==!1,u=i.indentSwitch!==!1,O=i.namespaceSeparator,p=i.isPunctuationChar||/[\[\]{}\(\),;\:\.]/,m=i.numberStart||/[\d\.]/,b=i.number||/^(?:0x[a-f\d]+|0b[01]+|(?:\d+\.?\d*|\.\d+)(?:e[-+]?\d+)?)(u|ll?|l|f)?/i,g=i.isOperatorChar||/[+\-*&%=<>!?|\/]/,Q=i.isIdentifierChar||/[\w\$_\xa1-\uffff]/,S=i.isReservedIdentifier||!1,x,P;function $(T,k){var w=T.next();if(c[w]){var C=c[w](T,k);if(C!==!1)return C}if(w=='"'||w=="'")return k.tokenize=R(w),k.tokenize(T,k);if(m.test(w)){if(T.backUp(1),T.match(b))return"number";T.next()}if(p.test(w))return x=w,null;if(w=="/"){if(T.eat("*"))return k.tokenize=_,_(T,k);if(T.eat("/"))return T.skipToEnd(),"comment"}if(g.test(w)){for(;!T.match(/^\/[\/*]/,!1)&&T.eat(g););return"operator"}if(T.eatWhile(Q),O)for(;T.match(O);)T.eatWhile(Q);var j=T.current();return ei(n,j)?(ei(o,j)&&(x="newstatement"),ei(a,j)&&(P=!0),"keyword"):ei(r,j)?"type":ei(s,j)||S&&S(j)?(ei(o,j)&&(x="newstatement"),"builtin"):ei(l,j)?"atom":"variable"}function R(T){return function(k,w){for(var C=!1,j,y=!1;(j=k.next())!=null;){if(j==T&&!C){y=!0;break}C=!C&&j=="\\"}return(y||!(C||h))&&(w.tokenize=null),"string"}}function _(T,k){for(var w=!1,C;C=T.next();){if(C=="/"&&w){k.tokenize=null;break}w=C=="*"}return"comment"}function W(T,k){i.typeFirstDefinitions&&T.eol()&&fh(k.context)&&(k.typeAtEndOfLine=lg(T,k,T.pos))}return{name:i.name,startState:function(T){return{tokenize:null,context:new Oh(-T,0,"top",null,!1),indented:0,startOfLine:!0,prevToken:null}},token:function(T,k){var w=k.context;if(T.sol()&&(w.align==null&&(w.align=!1),k.indented=T.indentation(),k.startOfLine=!0),T.eatSpace())return W(T,k),null;x=P=null;var C=(k.tokenize||$)(T,k);if(C=="comment"||C=="meta")return C;if(w.align==null&&(w.align=!0),x==";"||x==":"||x==","&&T.match(/^\s*(?:\/\/.*)?$/,!1))for(;k.context.type=="statement";)Ar(k);else if(x=="{")Qo(k,T.column(),"}");else if(x=="[")Qo(k,T.column(),"]");else if(x=="(")Qo(k,T.column(),")");else if(x=="}"){for(;w.type=="statement";)w=Ar(k);for(w.type=="}"&&(w=Ar(k));w.type=="statement";)w=Ar(k)}else x==w.type?Ar(k):f&&((w.type=="}"||w.type=="top")&&x!=";"||w.type=="statement"&&x=="newstatement")&&Qo(k,T.column(),"statement",T.current());if(C=="variable"&&(k.prevToken=="def"||i.typeFirstDefinitions&&lg(T,k,T.start)&&fh(k.context)&&T.match(/^\s*\(/,!1))&&(C="def"),c.token){var j=c.token(T,k,C);j!==void 0&&(C=j)}return C=="def"&&i.styleDefs===!1&&(C="variable"),k.startOfLine=!1,k.prevToken=P?"def":C||x,W(T,k),C},indent:function(T,k,w){if(T.tokenize!=$&&T.tokenize!=null||T.typeAtEndOfLine&&fh(T.context))return null;var C=T.context,j=k&&k.charAt(0),y=j==C.type;if(C.type=="statement"&&j=="}"&&(C=C.prev),i.dontIndentStatements)for(;C.type=="statement"&&i.dontIndentStatements.test(C.info);)C=C.prev;if(c.indent){var z=c.indent(T,C,k,w.unit);if(typeof z=="number")return z}var ye=C.prev&&C.prev.info=="switch";if(i.allmanIndentation&&/[{(]/.test(j)){for(;C.type!="top"&&C.type!="}";)C=C.prev;return C.indented}return C.type=="statement"?C.indented+(j=="{"?0:e||w.unit):C.align&&(!t||C.type!=")")?C.column+(y?0:1):C.type==")"&&!y?C.indented+(e||w.unit):C.indented+(y?0:w.unit)+(!y&&ye&&!/^(?:case|default)\b/.test(k)?w.unit:0)},languageData:{indentOnInput:u?/^\s*(?:case .*?:|default:|\{\}?|\})$/:/^\s*[{}]$/,commentTokens:{line:"//",block:{open:"/*",close:"*/"}},autocomplete:Object.keys(n).concat(Object.keys(r)).concat(Object.keys(s)).concat(Object.keys(l)),...i.languageData}}}function V(i){for(var e={},t=i.split(" "),n=0;n!?|\/#:@]/,hooks:{"@":function(i){return i.eatWhile(/[\w\$_]/),"meta"},'"':function(i,e){return i.match('""')?(e.tokenize=Sg,e.tokenize(i,e)):!1},"'":function(i){return i.match(/^(\\[^'\s]+|[^\\'])'/)?"character":(i.eatWhile(/[\w\$_\xa1-\uffff]/),"atom")},"=":function(i,e){var t=e.context;return t.type=="}"&&t.align&&i.eat(">")?(e.context=new Oh(t.indented,t.column,t.type,t.info,null,t.prev),"operator"):!1},"/":function(i,e){return i.eat("*")?(e.tokenize=Zr(1),e.tokenize(i,e)):!1}},languageData:{closeBrackets:{brackets:["(","[","{","'",'"','"""']}}});function gP(i){return function(e,t){for(var n=!1,r,s=!1;!e.eol();){if(!i&&!n&&e.match('"')){s=!0;break}if(i&&e.match('"""')){s=!0;break}r=e.next(),!n&&r=="$"&&e.match("{")&&e.skipTo("}"),n=!n&&r=="\\"&&!i}return(s||!i)&&(t.tokenize=null),"string"}}var yg=tt({name:"kotlin",keywords:V("package as typealias class interface this super val operator var fun for is in This throw return annotation break continue object if else while do try when !in !is as? file import where by get set abstract enum open inner override private public internal protected catch finally out final vararg reified dynamic companion constructor init sealed field property receiver param sparam lateinit data inline noinline tailrec external annotation crossinline const operator infix suspend actual expect setparam"),types:V("Boolean Byte Character CharSequence Class ClassLoader Cloneable Comparable Compiler Double Exception Float Integer Long Math Number Object Package Pair Process Runtime Runnable SecurityManager Short StackTraceElement StrictMath String StringBuffer System Thread ThreadGroup ThreadLocal Throwable Triple Void Annotation Any BooleanArray ByteArray Char CharArray DeprecationLevel DoubleArray Enum FloatArray Function Int IntArray Lazy LazyThreadSafetyMode LongArray Nothing ShortArray Unit"),intendSwitch:!1,indentStatements:!1,multiLineStrings:!0,number:/^(?:0x[a-f\d_]+|0b[01_]+|(?:[\d_]+(\.\d+)?|\.\d+)(?:e[-+]?[\d_]+)?)(ul?|l|f)?/i,blockKeywords:V("catch class do else finally for if where try while enum"),defKeywords:V("class val var object interface fun"),atoms:V("true false null this"),hooks:{"@":function(i){return i.eatWhile(/[\w\$_]/),"meta"},"*":function(i,e){return e.prevToken=="."?"variable":"operator"},'"':function(i,e){return e.tokenize=gP(i.match('""')),e.tokenize(i,e)},"/":function(i,e){return i.eat("*")?(e.tokenize=Zr(1),e.tokenize(i,e)):!1},indent:function(i,e,t,n){var r=t&&t.charAt(0);if((i.prevToken=="}"||i.prevToken==")")&&t=="")return i.indented;if(i.prevToken=="operator"&&t!="}"&&i.context.type!="}"||i.prevToken=="variable"&&r=="."||(i.prevToken=="}"||i.prevToken==")")&&r==".")return n*2+e.indented;if(e.align&&e.type=="}")return e.indented+(i.context.type==(t||"").charAt(0)?0:n)}},languageData:{closeBrackets:{brackets:["(","[","{","'",'"','"""']}}}),nC=tt({name:"shader",keywords:V("sampler1D sampler2D sampler3D samplerCube sampler1DShadow sampler2DShadow const attribute uniform varying break continue discard return for while do if else struct in out inout"),types:V("float int bool void vec2 vec3 vec4 ivec2 ivec3 ivec4 bvec2 bvec3 bvec4 mat2 mat3 mat4"),blockKeywords:V("for while do if else struct"),builtin:V("radians degrees sin cos tan asin acos atan pow exp log exp2 sqrt inversesqrt abs sign floor ceil fract mod min max clamp mix step smoothstep length distance dot cross normalize ftransform faceforward reflect refract matrixCompMult lessThan lessThanEqual greaterThan greaterThanEqual equal notEqual any all not texture1D texture1DProj texture1DLod texture1DProjLod texture2D texture2DProj texture2DLod texture2DProjLod texture3D texture3DProj texture3DLod texture3DProjLod textureCube textureCubeLod shadow1D shadow2D shadow1DProj shadow2DProj shadow1DLod shadow2DLod shadow1DProjLod shadow2DProjLod dFdx dFdy fwidth noise1 noise2 noise3 noise4"),atoms:V("true false gl_FragColor gl_SecondaryColor gl_Normal gl_Vertex gl_MultiTexCoord0 gl_MultiTexCoord1 gl_MultiTexCoord2 gl_MultiTexCoord3 gl_MultiTexCoord4 gl_MultiTexCoord5 gl_MultiTexCoord6 gl_MultiTexCoord7 gl_FogCoord gl_PointCoord gl_Position gl_PointSize gl_ClipVertex gl_FrontColor gl_BackColor gl_FrontSecondaryColor gl_BackSecondaryColor gl_TexCoord gl_FogFragCoord gl_FragCoord gl_FrontFacing gl_FragData gl_FragDepth gl_ModelViewMatrix gl_ProjectionMatrix gl_ModelViewProjectionMatrix gl_TextureMatrix gl_NormalMatrix gl_ModelViewMatrixInverse gl_ProjectionMatrixInverse gl_ModelViewProjectionMatrixInverse gl_TextureMatrixTranspose gl_ModelViewMatrixInverseTranspose gl_ProjectionMatrixInverseTranspose gl_ModelViewProjectionMatrixInverseTranspose gl_TextureMatrixInverseTranspose gl_NormalScale gl_DepthRange gl_ClipPlane gl_Point gl_FrontMaterial gl_BackMaterial gl_LightSource gl_LightModel gl_FrontLightModelProduct gl_BackLightModelProduct gl_TextureColor gl_EyePlaneS gl_EyePlaneT gl_EyePlaneR gl_EyePlaneQ gl_FogParameters gl_MaxLights gl_MaxClipPlanes gl_MaxTextureUnits gl_MaxTextureCoords gl_MaxVertexAttribs gl_MaxVertexUniformComponents gl_MaxVaryingFloats gl_MaxVertexTextureImageUnits gl_MaxTextureImageUnits gl_MaxFragmentUniformComponents gl_MaxCombineTextureImageUnits gl_MaxDrawBuffers"),indentSwitch:!1,hooks:{"#":yi}}),rC=tt({name:"nesc",keywords:V(qr+" as atomic async call command component components configuration event generic implementation includes interface module new norace nx_struct nx_union post provides signal task uses abstract extends"),types:Er,blockKeywords:V(zr),atoms:V("null true false"),hooks:{"#":yi}}),kg=tt({name:"objectivec",keywords:V(qr+" "+ug),types:dg,builtin:V(Og),blockKeywords:V(zr+" @synthesize @try @catch @finally @autoreleasepool @synchronized"),defKeywords:V(So+" @interface @implementation @protocol @class"),dontIndentStatements:/^@.*$/,typeFirstDefinitions:!0,atoms:V("YES NO NULL Nil nil true false nullptr"),isReservedIdentifier:ko,hooks:{"#":yi,"*":yo}}),sC=tt({name:"objectivecpp",keywords:V(qr+" "+ug+" "+fg),types:dg,builtin:V(Og),blockKeywords:V(zr+" @synthesize @try @catch @finally @autoreleasepool @synchronized class try catch"),defKeywords:V(So+" @interface @implementation @protocol @class class namespace"),dontIndentStatements:/^@.*$|^template$/,typeFirstDefinitions:!0,atoms:V("YES NO NULL Nil nil true false nullptr"),isReservedIdentifier:ko,hooks:{"#":yi,"*":yo,u:Si,U:Si,L:Si,R:Si,0:Se,1:Se,2:Se,3:Se,4:Se,5:Se,6:Se,7:Se,8:Se,9:Se,token:function(i,e,t){if(t=="variable"&&i.peek()=="("&&(e.prevToken==";"||e.prevToken==null||e.prevToken=="}")&&pg(i.current()))return"def"}},namespaceSeparator:"::"}),oC=tt({name:"squirrel",keywords:V("base break clone continue const default delete enum extends function in class foreach local resume return this throw typeof yield constructor instanceof static"),types:Er,blockKeywords:V("case catch class else for foreach if switch try while"),defKeywords:V("function local class"),typeFirstDefinitions:!0,atoms:V("true false null"),hooks:{"#":yi}}),bo=null;function xg(i){return function(e,t){for(var n=!1,r,s=!1;!e.eol();){if(!n&&e.match('"')&&(i=="single"||e.match('""'))){s=!0;break}if(!n&&e.match("``")){bo=xg(i),s=!0;break}r=e.next(),n=i=="single"&&!n&&r=="\\"}return s&&(t.tokenize=null),"string"}}var aC=tt({name:"ceylon",keywords:V("abstracts alias assembly assert assign break case catch class continue dynamic else exists extends finally for function given if import in interface is let module new nonempty object of out outer package return satisfies super switch then this throw try value void while"),types:function(i){var e=i.charAt(0);return e===e.toUpperCase()&&e!==e.toLowerCase()},blockKeywords:V("case catch class dynamic else finally for function if interface module new object switch try while"),defKeywords:V("class dynamic function interface module object package value"),builtin:V("abstract actual aliased annotation by default deprecated doc final formal late license native optional sealed see serializable shared suppressWarnings tagged throws variable"),isPunctuationChar:/[\[\]{}\(\),;\:\.`]/,isOperatorChar:/[+\-*&%=<>!?|^~:\/]/,numberStart:/[\d#$]/,number:/^(?:#[\da-fA-F_]+|\$[01_]+|[\d_]+[kMGTPmunpf]?|[\d_]+\.[\d_]+(?:[eE][-+]?\d+|[kMGTPmunpf]|)|)/i,multiLineStrings:!0,typeFirstDefinitions:!0,atoms:V("true false null larger smaller equal empty finished"),indentSwitch:!1,styleDefs:!1,hooks:{"@":function(i){return i.eatWhile(/[\w\$_]/),"meta"},'"':function(i,e){return e.tokenize=xg(i.match('""')?"triple":"single"),e.tokenize(i,e)},"`":function(i,e){return!bo||!i.match("`")?!1:(e.tokenize=bo,bo=null,e.tokenize(i,e))},"'":function(i){return i.match(/^(\\[^'\s]+|[^\\'])'/)?"string.special":(i.eatWhile(/[\w\$_\xa1-\uffff]/),"atom")},token:function(i,e,t){if((t=="variable"||t=="type")&&e.prevToken==".")return"variableName.special"}},languageData:{closeBrackets:{brackets:["(","[","{","'",'"','"""']}}});function QP(i){(i.interpolationStack||(i.interpolationStack=[])).push(i.tokenize)}function wg(i){return(i.interpolationStack||(i.interpolationStack=[])).pop()}function bP(i){return i.interpolationStack?i.interpolationStack.length:0}function uh(i,e,t,n){var r=!1;if(e.eat(i))if(e.eat(i))r=!0;else return"string";function s(o,a){for(var l=!1;!o.eol();){if(!n&&!l&&o.peek()=="$")return QP(a),a.tokenize=SP,"string";var c=o.next();if(c==i&&!l&&(!r||o.match(i+i))){a.tokenize=null;break}l=!n&&!l&&c=="\\"}return"string"}return t.tokenize=s,s(e,t)}function SP(i,e){return i.eat("$"),i.eat("{")?e.tokenize=null:e.tokenize=yP,null}function yP(i,e){return i.eatWhile(/[\w_]/),e.tokenize=wg(e),"variable"}var lC=tt({name:"dart",keywords:V("this super static final const abstract class extends external factory implements mixin get native set typedef with enum throw rethrow assert break case continue default in return new deferred async await covariant try catch finally do else for if switch while import library export part of show hide is as extension on yield late required sealed base interface when inline"),blockKeywords:V("try catch finally do else for if switch while"),builtin:V("void bool num int double dynamic var String Null Never"),atoms:V("true false null"),number:/^(?:0x[a-f\d_]+|(?:[\d_]+\.?[\d_]*|\.[\d_]+)(?:e[-+]?[\d_]+)?)/i,hooks:{"@":function(i){return i.eatWhile(/[\w\$_\.]/),"meta"},"'":function(i,e){return uh("'",i,e,!1)},'"':function(i,e){return uh('"',i,e,!1)},r:function(i,e){var t=i.peek();return t=="'"||t=='"'?uh(i.next(),i,e,!0):!1},"}":function(i,e){return bP(e)>0?(e.tokenize=wg(e),null):!1},"/":function(i,e){return i.eat("*")?(e.tokenize=Zr(1),e.tokenize(i,e)):!1},token:function(i,e,t){if(t=="variable"){var n=RegExp("^[_$]*[A-Z][a-zA-Z0-9_$]*$","g");if(n.test(i.current()))return"type"}}}});function je(i){var e=i.client||{},t=i.atoms||{false:!0,true:!0,null:!0},n=i.builtin||M(vg),r=i.keywords||M(Fi),s=i.operatorChars||/^[*+\-%<>!=&|~^\/]/,o=i.support||{},a=i.hooks||{},l=i.dateSQL||{date:!0,time:!0,timestamp:!0},c=i.backslashStringEscapes!==!1,h=i.brackets||/^[\{}\(\)\[\]]/,f=i.punctuation||/^[;.,:]/;function u(g,Q){var S=g.next();if(a[S]){var x=a[S](g,Q);if(x!==!1)return x}if(o.hexNumber&&(S=="0"&&g.match(/^[xX][0-9a-fA-F]+/)||(S=="x"||S=="X")&&g.match(/^'[0-9a-fA-F]*'/)))return"number";if(o.binaryNumber&&((S=="b"||S=="B")&&g.match(/^'[01]+'/)||S=="0"&&g.match(/^b[01]*/)))return"number";if(S.charCodeAt(0)>47&&S.charCodeAt(0)<58)return g.match(/^[0-9]*(\.[0-9]+)?([eE][-+]?[0-9]+)?/),o.decimallessFloat&&g.match(/^\.(?!\.)/),"number";if(S=="?"&&(g.eatSpace()||g.eol()||g.eat(";")))return"macroName";if(S=="'"||S=='"'&&o.doubleQuote)return Q.tokenize=O(S),Q.tokenize(g,Q);if((o.nCharCast&&(S=="n"||S=="N")||o.charsetCast&&S=="_"&&g.match(/[a-z][a-z0-9]*/i))&&(g.peek()=="'"||g.peek()=='"'))return"keyword";if(o.escapeConstant&&(S=="e"||S=="E")&&(g.peek()=="'"||g.peek()=='"'&&o.doubleQuote))return Q.tokenize=function($,R){return(R.tokenize=O($.next(),!0))($,R)},"keyword";if(o.commentSlashSlash&&S=="/"&&g.eat("/"))return g.skipToEnd(),"comment";if(o.commentHash&&S=="#"||S=="-"&&g.eat("-")&&(!o.commentSpaceRequired||g.eat(" ")))return g.skipToEnd(),"comment";if(S=="/"&&g.eat("*"))return Q.tokenize=p(1),Q.tokenize(g,Q);if(S=="."){if(o.zerolessFloat&&g.match(/^(?:\d+(?:e[+-]?\d+)?)/i))return"number";if(g.match(/^\.+/))return null;if(o.ODBCdotTable&&g.match(/^[\w\d_$#]+/))return"type"}else{if(s.test(S))return g.eatWhile(s),"operator";if(h.test(S))return"bracket";if(f.test(S))return g.eatWhile(f),"punctuation";if(S=="{"&&(g.match(/^( )*(d|D|t|T|ts|TS)( )*'[^']*'( )*}/)||g.match(/^( )*(d|D|t|T|ts|TS)( )*"[^"]*"( )*}/)))return"number";g.eatWhile(/^[_\w\d]/);var P=g.current().toLowerCase();return l.hasOwnProperty(P)&&(g.match(/^( )+'[^']*'/)||g.match(/^( )+"[^"]*"/))?"number":t.hasOwnProperty(P)?"atom":n.hasOwnProperty(P)?"type":r.hasOwnProperty(P)?"keyword":e.hasOwnProperty(P)?"builtin":null}}function O(g,Q){return function(S,x){for(var P=!1,$;($=S.next())!=null;){if($==g&&!P){x.tokenize=u;break}P=(c||Q)&&!P&&$=="\\"}return"string"}}function p(g){return function(Q,S){var x=Q.match(/^.*?(\/\*|\*\/)/);return x?x[1]=="/*"?S.tokenize=p(g+1):g>1?S.tokenize=p(g-1):S.tokenize=u:Q.skipToEnd(),"comment"}}function m(g,Q,S){Q.context={prev:Q.context,indent:g.indentation(),col:g.column(),type:S}}function b(g){g.indent=g.context.indent,g.context=g.context.prev}return{name:"sql",startState:function(){return{tokenize:u,context:null}},token:function(g,Q){if(g.sol()&&Q.context&&Q.context.align==null&&(Q.context.align=!1),Q.tokenize==u&&g.eatSpace())return null;var S=Q.tokenize(g,Q);if(S=="comment")return S;Q.context&&Q.context.align==null&&(Q.context.align=!0);var x=g.current();return x=="("?m(g,Q,")"):x=="["?m(g,Q,"]"):Q.context&&Q.context.type==x&&b(Q),S},indent:function(g,Q,S){var x=g.context;if(!x)return null;var P=Q.charAt(0)==x.type;return x.align?x.col+(P?0:1):x.indent+(P?0:S.unit)},languageData:{commentTokens:{line:o.commentSlashSlash?"//":o.commentHash?"#":"--",block:{open:"/*",close:"*/"}},closeBrackets:{brackets:["(","[","{","'",'"',"`"]}}}}function dh(i){for(var e;(e=i.next())!=null;)if(e=="`"&&!i.eat("`"))return"string.special";return i.backUp(i.current().length-1),i.eatWhile(/\w/)?"string.special":null}function kP(i){for(var e;(e=i.next())!=null;)if(e=='"'&&!i.eat('"'))return"string.special";return i.backUp(i.current().length-1),i.eatWhile(/\w/)?"string.special":null}function Ni(i){return i.eat("@")&&(i.match("session."),i.match("local."),i.match("global.")),i.eat("'")?(i.match(/^.*'/),"string.special"):i.eat('"')?(i.match(/^.*"/),"string.special"):i.eat("`")?(i.match(/^.*`/),"string.special"):i.match(/^[0-9a-zA-Z$\.\_]+/)?"string.special":null}function Pg(i){return i.eat("N")?"atom":i.match(/^[a-zA-Z.#!?]/)?"string.special":null}var Fi="alter and as asc between by count create delete desc distinct drop from group having in insert into is join like not on or order select set table union update values where limit ";function M(i){for(var e={},t=i.split(" "),n=0;n!=^\&|\/]/,brackets:/^[\{}\(\)]/,punctuation:/^[;.,:/]/,backslashStringEscapes:!1,dateSQL:M("date datetimeoffset datetime2 smalldatetime datetime time"),hooks:{"@":Ni}}),uC=je({client:M("charset clear connect edit ego exit go help nopager notee nowarning pager print prompt quit rehash source status system tee"),keywords:M(Fi+"accessible action add after algorithm all analyze asensitive at authors auto_increment autocommit avg avg_row_length before binary binlog both btree cache call cascade cascaded case catalog_name chain change changed character check checkpoint checksum class_origin client_statistics close coalesce code collate collation collations column columns comment commit committed completion concurrent condition connection consistent constraint contains continue contributors convert cross current current_date current_time current_timestamp current_user cursor data database databases day_hour day_microsecond day_minute day_second deallocate dec declare default delay_key_write delayed delimiter des_key_file describe deterministic dev_pop dev_samp deviance diagnostics directory disable discard distinctrow div dual dumpfile each elseif enable enclosed end ends engine engines enum errors escape escaped even event events every execute exists exit explain extended fast fetch field fields first flush for force foreign found_rows full fulltext function general get global grant grants group group_concat handler hash help high_priority hosts hour_microsecond hour_minute hour_second if ignore ignore_server_ids import index index_statistics infile inner innodb inout insensitive insert_method install interval invoker isolation iterate key keys kill language last leading leave left level limit linear lines list load local localtime localtimestamp lock logs low_priority master master_heartbeat_period master_ssl_verify_server_cert masters match max max_rows maxvalue message_text middleint migrate min min_rows minute_microsecond minute_second mod mode modifies modify mutex mysql_errno natural next no no_write_to_binlog offline offset one online open optimize option optionally out outer outfile pack_keys parser partition partitions password phase plugin plugins prepare preserve prev primary privileges procedure processlist profile profiles purge query quick range read read_write reads real rebuild recover references regexp relaylog release remove rename reorganize repair repeatable replace require resignal restrict resume return returns revoke right rlike rollback rollup row row_format rtree savepoint schedule schema schema_name schemas second_microsecond security sensitive separator serializable server session share show signal slave slow smallint snapshot soname spatial specific sql sql_big_result sql_buffer_result sql_cache sql_calc_found_rows sql_no_cache sql_small_result sqlexception sqlstate sqlwarning ssl start starting starts status std stddev stddev_pop stddev_samp storage straight_join subclass_origin sum suspend table_name table_statistics tables tablespace temporary terminated to trailing transaction trigger triggers truncate uncommitted undo uninstall unique unlock upgrade usage use use_frm user user_resources user_statistics using utc_date utc_time utc_timestamp value variables varying view views warnings when while with work write xa xor year_month zerofill begin do then else loop repeat"),builtin:M("bool boolean bit blob decimal double float long longblob longtext medium mediumblob mediumint mediumtext time timestamp tinyblob tinyint tinytext text bigint int int1 int2 int3 int4 int8 integer float float4 float8 double char varbinary varchar varcharacter precision date datetime year unsigned signed numeric"),atoms:M("false true null unknown"),operatorChars:/^[*+\-%<>!=&|^]/,dateSQL:M("date time timestamp"),support:M("ODBCdotTable decimallessFloat zerolessFloat binaryNumber hexNumber doubleQuote nCharCast charsetCast commentHash commentSpaceRequired"),hooks:{"@":Ni,"`":dh,"\\":Pg}}),OC=je({client:M("charset clear connect edit ego exit go help nopager notee nowarning pager print prompt quit rehash source status system tee"),keywords:M(Fi+"accessible action add after algorithm all always analyze asensitive at authors auto_increment autocommit avg avg_row_length before binary binlog both btree cache call cascade cascaded case catalog_name chain change changed character check checkpoint checksum class_origin client_statistics close coalesce code collate collation collations column columns comment commit committed completion concurrent condition connection consistent constraint contains continue contributors convert cross current current_date current_time current_timestamp current_user cursor data database databases day_hour day_microsecond day_minute day_second deallocate dec declare default delay_key_write delayed delimiter des_key_file describe deterministic dev_pop dev_samp deviance diagnostics directory disable discard distinctrow div dual dumpfile each elseif enable enclosed end ends engine engines enum errors escape escaped even event events every execute exists exit explain extended fast fetch field fields first flush for force foreign found_rows full fulltext function general generated get global grant grants group group_concat handler hard hash help high_priority hosts hour_microsecond hour_minute hour_second if ignore ignore_server_ids import index index_statistics infile inner innodb inout insensitive insert_method install interval invoker isolation iterate key keys kill language last leading leave left level limit linear lines list load local localtime localtimestamp lock logs low_priority master master_heartbeat_period master_ssl_verify_server_cert masters match max max_rows maxvalue message_text middleint migrate min min_rows minute_microsecond minute_second mod mode modifies modify mutex mysql_errno natural next no no_write_to_binlog offline offset one online open optimize option optionally out outer outfile pack_keys parser partition partitions password persistent phase plugin plugins prepare preserve prev primary privileges procedure processlist profile profiles purge query quick range read read_write reads real rebuild recover references regexp relaylog release remove rename reorganize repair repeatable replace require resignal restrict resume return returns revoke right rlike rollback rollup row row_format rtree savepoint schedule schema schema_name schemas second_microsecond security sensitive separator serializable server session share show shutdown signal slave slow smallint snapshot soft soname spatial specific sql sql_big_result sql_buffer_result sql_cache sql_calc_found_rows sql_no_cache sql_small_result sqlexception sqlstate sqlwarning ssl start starting starts status std stddev stddev_pop stddev_samp storage straight_join subclass_origin sum suspend table_name table_statistics tables tablespace temporary terminated to trailing transaction trigger triggers truncate uncommitted undo uninstall unique unlock upgrade usage use use_frm user user_resources user_statistics using utc_date utc_time utc_timestamp value variables varying view views virtual warnings when while with work write xa xor year_month zerofill begin do then else loop repeat"),builtin:M("bool boolean bit blob decimal double float long longblob longtext medium mediumblob mediumint mediumtext time timestamp tinyblob tinyint tinytext text bigint int int1 int2 int3 int4 int8 integer float float4 float8 double char varbinary varchar varcharacter precision date datetime year unsigned signed numeric"),atoms:M("false true null unknown"),operatorChars:/^[*+\-%<>!=&|^]/,dateSQL:M("date time timestamp"),support:M("ODBCdotTable decimallessFloat zerolessFloat binaryNumber hexNumber doubleQuote nCharCast charsetCast commentHash commentSpaceRequired"),hooks:{"@":Ni,"`":dh,"\\":Pg}}),dC=je({client:M("auth backup bail binary changes check clone databases dbinfo dump echo eqp exit explain fullschema headers help import imposter indexes iotrace limit lint load log mode nullvalue once open output print prompt quit read restore save scanstats schema separator session shell show stats system tables testcase timeout timer trace vfsinfo vfslist vfsname width"),keywords:M(Fi+"abort action add after all analyze attach autoincrement before begin cascade case cast check collate column commit conflict constraint cross current_date current_time current_timestamp database default deferrable deferred detach each else end escape except exclusive exists explain fail for foreign full glob if ignore immediate index indexed initially inner instead intersect isnull key left limit match natural no notnull null of offset outer plan pragma primary query raise recursive references regexp reindex release rename replace restrict right rollback row savepoint temp temporary then to transaction trigger unique using vacuum view virtual when with without"),builtin:M("bool boolean bit blob decimal double float long longblob longtext medium mediumblob mediumint mediumtext time timestamp tinyblob tinyint tinytext text clob bigint int int2 int8 integer float double char varchar date datetime year unsigned signed numeric real"),atoms:M("null current_date current_time current_timestamp"),operatorChars:/^[*+\-%<>!=&|/~]/,dateSQL:M("date time timestamp datetime"),support:M("decimallessFloat zerolessFloat"),identifierQuote:'"',hooks:{"@":Ni,":":Ni,"?":Ni,$:Ni,'"':kP,"`":dh}}),pC=je({client:{},keywords:M("add all allow alter and any apply as asc authorize batch begin by clustering columnfamily compact consistency count create custom delete desc distinct drop each_quorum exists filtering from grant if in index insert into key keyspace keyspaces level limit local_one local_quorum modify nan norecursive nosuperuser not of on one order password permission permissions primary quorum rename revoke schema select set storage superuser table three to token truncate ttl two type unlogged update use user users using values where with writetime"),builtin:M("ascii bigint blob boolean counter decimal double float frozen inet int list map static text timestamp timeuuid tuple uuid varchar varint"),atoms:M("false true infinity NaN"),operatorChars:/^[<>=]/,dateSQL:{},support:M("commentSlashSlash decimallessFloat"),hooks:{}}),mC=je({client:M("appinfo arraysize autocommit autoprint autorecovery autotrace blockterminator break btitle cmdsep colsep compatibility compute concat copycommit copytypecheck define describe echo editfile embedded escape exec execute feedback flagger flush heading headsep instance linesize lno loboffset logsource long longchunksize markup native newpage numformat numwidth pagesize pause pno recsep recsepchar release repfooter repheader serveroutput shiftinout show showmode size spool sqlblanklines sqlcase sqlcode sqlcontinue sqlnumber sqlpluscompatibility sqlprefix sqlprompt sqlterminator suffix tab term termout time timing trimout trimspool ttitle underline verify version wrap"),keywords:M("abort accept access add all alter and any array arraylen as asc assert assign at attributes audit authorization avg base_table begin between binary_integer body boolean by case cast char char_base check close cluster clusters colauth column comment commit compress connect connected constant constraint crash create current currval cursor data_base database date dba deallocate debugoff debugon decimal declare default definition delay delete desc digits dispose distinct do drop else elseif elsif enable end entry escape exception exception_init exchange exclusive exists exit external fast fetch file for force form from function generic goto grant group having identified if immediate in increment index indexes indicator initial initrans insert interface intersect into is key level library like limited local lock log logging long loop master maxextents maxtrans member minextents minus mislabel mode modify multiset new next no noaudit nocompress nologging noparallel not nowait number_base object of off offline on online only open option or order out package parallel partition pctfree pctincrease pctused pls_integer positive positiven pragma primary prior private privileges procedure public raise range raw read rebuild record ref references refresh release rename replace resource restrict return returning returns reverse revoke rollback row rowid rowlabel rownum rows run savepoint schema segment select separate session set share snapshot some space split sql start statement storage subtype successful synonym tabauth table tables tablespace task terminate then to trigger truncate type union unique unlimited unrecoverable unusable update use using validate value values variable view views when whenever where while with work"),builtin:M("abs acos add_months ascii asin atan atan2 average bfile bfilename bigserial bit blob ceil character chartorowid chr clob concat convert cos cosh count dec decode deref dual dump dup_val_on_index empty error exp false float floor found glb greatest hextoraw initcap instr instrb int integer isopen last_day least length lengthb ln lower lpad ltrim lub make_ref max min mlslabel mod months_between natural naturaln nchar nclob new_time next_day nextval nls_charset_decl_len nls_charset_id nls_charset_name nls_initcap nls_lower nls_sort nls_upper nlssort no_data_found notfound null number numeric nvarchar2 nvl others power rawtohex real reftohex round rowcount rowidtochar rowtype rpad rtrim serial sign signtype sin sinh smallint soundex sqlcode sqlerrm sqrt stddev string substr substrb sum sysdate tan tanh to_char text to_date to_label to_multi_byte to_number to_single_byte translate true trunc uid unlogged upper user userenv varchar varchar2 variance varying vsize xml"),operatorChars:/^[*\/+\-%<>!=~]/,dateSQL:M("date time timestamp"),support:M("doubleQuote nCharCast zerolessFloat binaryNumber hexNumber")}),gC=je({keywords:M("select alter $elem$ $key$ $value$ add after all analyze and archive as asc before between binary both bucket buckets by cascade case cast change cluster clustered clusterstatus collection column columns comment compute concatenate continue create cross cursor data database databases dbproperties deferred delete delimited desc describe directory disable distinct distribute drop else enable end escaped exclusive exists explain export extended external fetch fields fileformat first format formatted from full function functions grant group having hold_ddltime idxproperties if import in index indexes inpath inputdriver inputformat insert intersect into is items join keys lateral left like limit lines load local location lock locks mapjoin materialized minus msck no_drop nocompress not of offline on option or order out outer outputdriver outputformat overwrite partition partitioned partitions percent plus preserve procedure purge range rcfile read readonly reads rebuild recordreader recordwriter recover reduce regexp rename repair replace restrict revoke right rlike row schema schemas semi sequencefile serde serdeproperties set shared show show_database sort sorted ssl statistics stored streamtable table tables tablesample tblproperties temporary terminated textfile then tmp to touch transform trigger unarchive undo union uniquejoin unlock update use using utc utc_tmestamp view when where while with admin authorization char compact compactions conf cube current current_date current_timestamp day decimal defined dependency directories elem_type exchange file following for grouping hour ignore inner interval jar less logical macro minute month more none noscan over owner partialscan preceding pretty principals protection reload rewrite role roles rollup rows second server sets skewed transactions truncate unbounded unset uri user values window year"),builtin:M("bool boolean long timestamp tinyint smallint bigint int float double date datetime unsigned string array struct map uniontype key_type utctimestamp value_type varchar"),atoms:M("false true null unknown"),operatorChars:/^[*+\-%<>!=]/,dateSQL:M("date timestamp"),support:M("ODBCdotTable doubleQuote binaryNumber hexNumber")}),QC=je({client:M("source"),keywords:M(Fi+"a abort abs absent absolute access according action ada add admin after aggregate alias all allocate also alter always analyse analyze and any are array array_agg array_max_cardinality as asc asensitive assert assertion assignment asymmetric at atomic attach attribute attributes authorization avg backward base64 before begin begin_frame begin_partition bernoulli between bigint binary bit bit_length blob blocked bom boolean both breadth by c cache call called cardinality cascade cascaded case cast catalog catalog_name ceil ceiling chain char char_length character character_length character_set_catalog character_set_name character_set_schema characteristics characters check checkpoint class class_origin clob close cluster coalesce cobol collate collation collation_catalog collation_name collation_schema collect column column_name columns command_function command_function_code comment comments commit committed concurrently condition condition_number configuration conflict connect connection connection_name constant constraint constraint_catalog constraint_name constraint_schema constraints constructor contains content continue control conversion convert copy corr corresponding cost count covar_pop covar_samp create cross csv cube cume_dist current current_catalog current_date current_default_transform_group current_path current_role current_row current_schema current_time current_timestamp current_transform_group_for_type current_user cursor cursor_name cycle data database datalink datatype date datetime_interval_code datetime_interval_precision day db deallocate debug dec decimal declare default defaults deferrable deferred defined definer degree delete delimiter delimiters dense_rank depends depth deref derived desc describe descriptor detach detail deterministic diagnostics dictionary disable discard disconnect dispatch distinct dlnewcopy dlpreviouscopy dlurlcomplete dlurlcompleteonly dlurlcompletewrite dlurlpath dlurlpathonly dlurlpathwrite dlurlscheme dlurlserver dlvalue do document domain double drop dump dynamic dynamic_function dynamic_function_code each element else elseif elsif empty enable encoding encrypted end end_frame end_partition endexec enforced enum equals errcode error escape event every except exception exclude excluding exclusive exec execute exists exit exp explain expression extension external extract false family fetch file filter final first first_value flag float floor following for force foreach foreign fortran forward found frame_row free freeze from fs full function functions fusion g general generated get global go goto grant granted greatest group grouping groups handler having header hex hierarchy hint hold hour id identity if ignore ilike immediate immediately immutable implementation implicit import in include including increment indent index indexes indicator info inherit inherits initially inline inner inout input insensitive insert instance instantiable instead int integer integrity intersect intersection interval into invoker is isnull isolation join k key key_member key_type label lag language large last last_value lateral lead leading leakproof least left length level library like like_regex limit link listen ln load local localtime localtimestamp location locator lock locked log logged loop lower m map mapping match matched materialized max max_cardinality maxvalue member merge message message_length message_octet_length message_text method min minute minvalue mod mode modifies module month more move multiset mumps name names namespace national natural nchar nclob nesting new next nfc nfd nfkc nfkd nil no none normalize normalized not nothing notice notify notnull nowait nth_value ntile null nullable nullif nulls number numeric object occurrences_regex octet_length octets of off offset oids old on only open operator option options or order ordering ordinality others out outer output over overlaps overlay overriding owned owner p pad parallel parameter parameter_mode parameter_name parameter_ordinal_position parameter_specific_catalog parameter_specific_name parameter_specific_schema parser partial partition pascal passing passthrough password path percent percent_rank percentile_cont percentile_disc perform period permission pg_context pg_datatype_name pg_exception_context pg_exception_detail pg_exception_hint placing plans pli policy portion position position_regex power precedes preceding precision prepare prepared preserve primary print_strict_params prior privileges procedural procedure procedures program public publication query quote raise range rank read reads real reassign recheck recovery recursive ref references referencing refresh regr_avgx regr_avgy regr_count regr_intercept regr_r2 regr_slope regr_sxx regr_sxy regr_syy reindex relative release rename repeatable replace replica requiring reset respect restart restore restrict result result_oid return returned_cardinality returned_length returned_octet_length returned_sqlstate returning returns reverse revoke right role rollback rollup routine routine_catalog routine_name routine_schema routines row row_count row_number rows rowtype rule savepoint scale schema schema_name schemas scope scope_catalog scope_name scope_schema scroll search second section security select selective self sensitive sequence sequences serializable server server_name session session_user set setof sets share show similar simple size skip slice smallint snapshot some source space specific specific_name specifictype sql sqlcode sqlerror sqlexception sqlstate sqlwarning sqrt stable stacked standalone start state statement static statistics stddev_pop stddev_samp stdin stdout storage strict strip structure style subclass_origin submultiset subscription substring substring_regex succeeds sum symmetric sysid system system_time system_user t table table_name tables tablesample tablespace temp template temporary text then ties time timestamp timezone_hour timezone_minute to token top_level_count trailing transaction transaction_active transactions_committed transactions_rolled_back transform transforms translate translate_regex translation treat trigger trigger_catalog trigger_name trigger_schema trim trim_array true truncate trusted type types uescape unbounded uncommitted under unencrypted union unique unknown unlink unlisten unlogged unnamed unnest until untyped update upper uri usage use_column use_variable user user_defined_type_catalog user_defined_type_code user_defined_type_name user_defined_type_schema using vacuum valid validate validator value value_of values var_pop var_samp varbinary varchar variable_conflict variadic varying verbose version versioning view views volatile warning when whenever where while whitespace width_bucket window with within without work wrapper write xml xmlagg xmlattributes xmlbinary xmlcast xmlcomment xmlconcat xmldeclaration xmldocument xmlelement xmlexists xmlforest xmliterate xmlnamespaces xmlparse xmlpi xmlquery xmlroot xmlschema xmlserialize xmltable xmltext xmlvalidate year yes zone"),builtin:M("bigint int8 bigserial serial8 bit varying varbit boolean bool box bytea character char varchar cidr circle date double precision float8 inet integer int int4 interval json jsonb line lseg macaddr macaddr8 money numeric decimal path pg_lsn point polygon real float4 smallint int2 smallserial serial2 serial serial4 text time without zone with timetz timestamp timestamptz tsquery tsvector txid_snapshot uuid xml"),atoms:M("false true null unknown"),operatorChars:/^[*\/+\-%<>!=&|^\/#@?~]/,backslashStringEscapes:!1,dateSQL:M("date time timestamp"),support:M("ODBCdotTable decimallessFloat zerolessFloat binaryNumber hexNumber nCharCast charsetCast escapeConstant")}),bC=je({keywords:M("ancestor and asc by contains desc descendant distinct from group has in is limit offset on order select superset where"),atoms:M("false true"),builtin:M("blob datetime first key __key__ string integer double boolean null"),operatorChars:/^[*+\-%<>!=]/}),SC=je({client:M("source"),keywords:M("abort absolute access action active add admin after aggregate all also alter always analyse analyze and any array as asc assertion assignment asymmetric at authorization backward before begin between bigint binary bit boolean both by cache called cascade cascaded case cast chain char character characteristics check checkpoint class close cluster coalesce codegen collate column comment commit committed concurrency concurrently configuration connection constraint constraints contains content continue conversion copy cost cpu_rate_limit create createdb createexttable createrole createuser cross csv cube current current_catalog current_date current_role current_schema current_time current_timestamp current_user cursor cycle data database day deallocate dec decimal declare decode default defaults deferrable deferred definer delete delimiter delimiters deny desc dictionary disable discard distinct distributed do document domain double drop dxl each else enable encoding encrypted end enum errors escape every except exchange exclude excluding exclusive execute exists explain extension external extract false family fetch fields filespace fill filter first float following for force foreign format forward freeze from full function global grant granted greatest group group_id grouping handler hash having header hold host hour identity if ignore ilike immediate immutable implicit in including inclusive increment index indexes inherit inherits initially inline inner inout input insensitive insert instead int integer intersect interval into invoker is isnull isolation join key language large last leading least left level like limit list listen load local localtime localtimestamp location lock log login mapping master match maxvalue median merge minute minvalue missing mode modifies modify month move name names national natural nchar new newline next no nocreatedb nocreateexttable nocreaterole nocreateuser noinherit nologin none noovercommit nosuperuser not nothing notify notnull nowait null nullif nulls numeric object of off offset oids old on only operator option options or order ordered others out outer over overcommit overlaps overlay owned owner parser partial partition partitions passing password percent percentile_cont percentile_disc placing plans position preceding precision prepare prepared preserve primary prior privileges procedural procedure protocol queue quote randomly range read readable reads real reassign recheck recursive ref references reindex reject relative release rename repeatable replace replica reset resource restart restrict returning returns revoke right role rollback rollup rootpartition row rows rule savepoint scatter schema scroll search second security segment select sequence serializable session session_user set setof sets share show similar simple smallint some split sql stable standalone start statement statistics stdin stdout storage strict strip subpartition subpartitions substring superuser symmetric sysid system table tablespace temp template temporary text then threshold ties time timestamp to trailing transaction treat trigger trim true truncate trusted type unbounded uncommitted unencrypted union unique unknown unlisten until update user using vacuum valid validation validator value values varchar variadic varying verbose version view volatile web when where whitespace window with within without work writable write xml xmlattributes xmlconcat xmlelement xmlexists xmlforest xmlparse xmlpi xmlroot xmlserialize year yes zone"),builtin:M("bigint int8 bigserial serial8 bit varying varbit boolean bool box bytea character char varchar cidr circle date double precision float float8 inet integer int int4 interval json jsonb line lseg macaddr macaddr8 money numeric decimal path pg_lsn point polygon real float4 smallint int2 smallserial serial2 serial serial4 text time without zone with timetz timestamp timestamptz tsquery tsvector txid_snapshot uuid xml"),atoms:M("false true null unknown"),operatorChars:/^[*+\-%<>!=&|^\/#@?~]/,dateSQL:M("date time timestamp"),support:M("ODBCdotTable decimallessFloat zerolessFloat binaryNumber hexNumber nCharCast charsetCast")}),yC=je({keywords:M("add after all alter analyze and anti archive array as asc at between bucket buckets by cache cascade case cast change clear cluster clustered codegen collection column columns comment commit compact compactions compute concatenate cost create cross cube current current_date current_timestamp database databases data dbproperties defined delete delimited deny desc describe dfs directories distinct distribute drop else end escaped except exchange exists explain export extended external false fields fileformat first following for format formatted from full function functions global grant group grouping having if ignore import in index indexes inner inpath inputformat insert intersect interval into is items join keys last lateral lazy left like limit lines list load local location lock locks logical macro map minus msck natural no not null nulls of on optimize option options or order out outer outputformat over overwrite partition partitioned partitions percent preceding principals purge range recordreader recordwriter recover reduce refresh regexp rename repair replace reset restrict revoke right rlike role roles rollback rollup row rows schema schemas select semi separated serde serdeproperties set sets show skewed sort sorted start statistics stored stratify struct table tables tablesample tblproperties temp temporary terminated then to touch transaction transactions transform true truncate unarchive unbounded uncache union unlock unset use using values view when where window with"),builtin:M("tinyint smallint int bigint boolean float double string binary timestamp decimal array map struct uniontype delimited serde sequencefile textfile rcfile inputformat outputformat"),atoms:M("false true null"),operatorChars:/^[*\/+\-%<>!=~&|^]/,dateSQL:M("date time timestamp"),support:M("ODBCdotTable doubleQuote zerolessFloat")}),kC=je({client:M("source"),keywords:M("alter and as asc between by count create delete desc distinct drop from group having in insert into is join like not on or order select set table union update values where limit after all and as at asc avedev avg between by case cast coalesce count create current_timestamp day days delete define desc distinct else end escape events every exists false first from full group having hour hours in inner insert instanceof into irstream is istream join last lastweekday left limit like max match_recognize matches median measures metadatasql min minute minutes msec millisecond milliseconds not null offset on or order outer output partition pattern prev prior regexp retain-union retain-intersection right rstream sec second seconds select set some snapshot sql stddev sum then true unidirectional until update variable weekday when where window"),builtin:{},atoms:M("false true null"),operatorChars:/^[*+\-%<>!=&|^\/#@?~]/,dateSQL:M("time"),support:M("decimallessFloat zerolessFloat binaryNumber hexNumber")});var $g={name:"toml",startState:function(){return{inString:!1,stringType:"",lhs:!0,inArray:0}},token:function(i,e){let t;if(!e.inString&&(t=i.match(/^('''|"""|'|")/))&&(e.stringType=t[0],e.inString=!0),i.sol()&&!e.inString&&e.inArray===0&&(e.lhs=!0),e.inString){for(;e.inString;)if(i.match(e.stringType))e.inString=!1;else if(i.peek()==="\\")i.next(),i.next();else{if(i.eol())break;i.match(/^.[^\\\"\']*/)}return e.lhs?"property":"string"}else{if(e.inArray&&i.peek()==="]")return i.next(),e.inArray--,"bracket";if(e.lhs&&i.peek()==="["&&i.skipTo("]"))return i.next(),i.peek()==="]"&&i.next(),"atom";if(i.peek()==="#")return i.skipToEnd(),"comment";if(i.eatSpace())return null;if(e.lhs&&i.eatWhile(function(n){return n!="="&&n!=" "}))return"property";if(e.lhs&&i.peek()==="=")return i.next(),e.lhs=!1,null;if(!e.lhs&&i.match(/^\d\d\d\d[\d\-\:\.T]*Z/))return"atom";if(!e.lhs&&(i.match("true")||i.match("false")))return"atom";if(!e.lhs&&i.peek()==="[")return e.inArray++,i.next(),"bracket";if(!e.lhs&&i.match(/^\-?\d+(?:\.\d+)?/))return"number";i.eatSpace()||i.next()}return null},languageData:{commentTokens:{line:"#"}}};var xP=ge({"for in if else endfor endif":d.controlKeyword,"Attribute/Identifier":d.definition(d.propertyName),"ForIntro/Identifier":d.definition(d.propertyName),"Block/Identifier":d.definitionKeyword,"FunctionCall/Identifier":d.function(d.variableName),"Attribute/Expression":d.attributeValue,"VariableExpr/Identifier":d.variableName,"GetAttr/Identifier":d.variableName,Identifier:d.name,"LiteralValue/...":d.literal,"StringLit/... TemplateLiteral":d.string,NumericLit:d.number,BoolLit:d.bool,NullLit:d.null,Comment:d.comment,LineComment:d.lineComment,BlockComment:d.blockComment,"( )":d.paren,"{ }":d.bracket,"[ ]":d.squareBracket,ArithOp:d.arithmeticOperator,LogicOp:d.logicOperator,CompareOp:d.compareOperator,ControlOp:d.controlOperator,HeredocIdentifier:d.special(d.controlKeyword),HeredocStart:d.special(d.brace),"TemplateInterpolationStart TemplateInterpolationEnd":d.special(d.brace),"TemplateDirectiveStart TemplateDirectiveEnd":d.special(d.brace),StripMarker:d.special(d.brace),Ellipsis:d.punctuation,": =>":d.punctuation,",":d.separator}),ph=1,mh=2,gh=3,Qh=4,bh=5,Sh=6,An=7,Ze=93,Te={QUOTED_TEMPLATE:1,TEMPLATE_INTERPOLATION:2,TEMPLATE_DIRECTIVE:4,HEREDOC_TEMPLATE:8},wP=function(i){var e=0,t,n;if(i.length===0)return e;for(t=0;t{if(e.canShift(ph)&&!(e.context&&e.context.type===Te.QUOTED_TEMPLATE)&&String.fromCharCode(i.next)==='"')return i.advance(),i.acceptToken(ph)},{contextual:!0,fallback:!0}),TP=new K((i,e)=>{if(e.canShift(mh)&&e.context&&e.context.type===Te.QUOTED_TEMPLATE&&String.fromCharCode(i.next)==='"')return i.advance(),i.acceptToken(mh)},{contextual:!0,fallback:!0}),CP=new K((i,e)=>{if(e.canShift(Ze)&&e.context&&e.context.type===Te.QUOTED_TEMPLATE)switch(String.fromCharCode(i.next)){case"\\":switch(i.advance(),String.fromCharCode(i.next)){case'"':case"n":case"r":case"t":case"\\":return i.advance(),i.acceptToken(Ze);case"u":for(let t=0;t<4;t++)if(i.advance(),!/[0-9a-fA-F]/.test(String.fromCharCode(i.next)))return;return i.advance(),i.acceptToken(Ze);case"U":for(let t=0;t<8;t++)if(i.advance(),!/[0-9a-fA-F]/.test(String.fromCharCode(i.next)))return;return i.advance(),i.acceptToken(Ze);default:return}}if(e.canShift(Ze)&&e.context&&(e.context.type===Te.QUOTED_TEMPLATE||e.context.type===Te.HEREDOC_TEMPLATE)&&i.next!==-1)return i.advance(),i.acceptToken(Ze)},{contextual:!0,fallback:!0}),XP=new K((i,e)=>{if(e.canShift(gh)&&e.canShift(Ze)&&!(e.context&&e.context.type===Te.TEMPLATE_INTERPOLATION)&&String.fromCharCode(i.next)==="$")return i.advance(),String.fromCharCode(i.next)==="{"?(i.advance(),i.acceptToken(gh)):(String.fromCharCode(i.next)==="$"&&(i.advance(),String.fromCharCode(i.next)==="{")&&i.advance(),i.acceptToken(Ze))},{contextual:!0,fallback:!0}),_P=new K((i,e)=>{if(e.canShift(Qh)&&e.context&&e.context.type===Te.TEMPLATE_INTERPOLATION&&String.fromCharCode(i.next)==="}")return i.advance(),i.acceptToken(Qh)},{contextual:!0,fallback:!0}),RP=new K((i,e)=>{if(e.canShift(bh)&&e.canShift(Ze)&&!(e.context&&e.context.type===Te.TEMPLATE_DIRECTIVE)&&String.fromCharCode(i.next)==="%")return i.advance(),String.fromCharCode(i.next)==="{"?(i.advance(),i.acceptToken(bh)):(String.fromCharCode(i.next)==="%"&&(i.advance(),String.fromCharCode(i.next)==="{")&&i.advance(),i.acceptToken(Ze))},{contextual:!0,fallback:!0}),AP=new K((i,e)=>{if(e.canShift(Sh)&&e.context&&e.context.type===Te.TEMPLATE_DIRECTIVE&&String.fromCharCode(i.next)==="}")return i.advance(),i.acceptToken(Sh)},{contextual:!0,fallback:!0}),ZP=new K((i,e)=>{if(e.canShift(An)&&!(e.context&&e.context.type===Te.HEREDOC_TEMPLATE)&&i.next!==-1){let t=String.fromCharCode(i.next);for(;/[0-9a-zA-Z]/.test(t)||t==="_"||t==="-";)i.advance(),t=String.fromCharCode(i.next);return i.acceptToken(An)}if(e.canShift(An)&&e.canShift(Ze)&&e.context&&e.context.type===Te.HEREDOC_TEMPLATE&&i.next!=-1){let t=e.context.heredoc_identifier,n=!1,r=!1,s=String.fromCharCode(i.next);for(;/\s/.test(s);)r=!0,s===` +`,{label:"if",detail:"block",type:"keyword"}),ce("if ${}:\n ${}\nelse:\n ${}",{label:"if",detail:"/ else block",type:"keyword"}),ce("class ${name}:\n def __init__(self, ${params}):\n ${}",{label:"class",detail:"definition",type:"keyword"}),ce("import ${module}",{label:"import",detail:"statement",type:"keyword"}),ce("from ${module} import ${names}",{label:"from",detail:"import",type:"keyword"})],$w=Bs(jm,Is(Pw.concat(vw)));function rh(i){let{node:e,pos:t}=i,n=i.lineIndent(t,-1),r=null;for(;;){let s=e.childBefore(t);if(s)if(s.name=="Comment")t=s.from;else if(s.name=="Body"||s.name=="MatchBody")i.baseIndentFor(s)+i.unit<=n&&(r=s),e=s;else if(s.name=="MatchClause")e=s;else if(s.type.is("Statement"))e=s;else break;else break}return r}function sh(i,e){let t=i.baseIndentFor(e),n=i.lineAt(i.pos,-1),r=n.from+n.text.length;return/^\s*($|#)/.test(n.text)&&i.node.tot?null:t+i.unit}var oh=$e.define({name:"python",parser:qm.configure({props:[we.add({Body:i=>{var e;let t=/^\s*(#|$)/.test(i.textAfter)&&rh(i)||i.node;return(e=sh(i,t))!==null&&e!==void 0?e:i.continue()},MatchBody:i=>{var e;let t=rh(i);return(e=sh(i,t||i.node))!==null&&e!==void 0?e:i.continue()},IfStatement:i=>/^\s*(else:|elif )/.test(i.textAfter)?i.baseIndent:i.continue(),"ForStatement WhileStatement":i=>/^\s*else:/.test(i.textAfter)?i.baseIndent:i.continue(),TryStatement:i=>/^\s*(except[ :]|finally:|else:)/.test(i.textAfter)?i.baseIndent:i.continue(),MatchStatement:i=>/^\s*case /.test(i.textAfter)?i.baseIndent+i.unit:i.continue(),"TupleExpression ComprehensionExpression ParamList ArgList ParenthesizedExpression":St({closing:")"}),"DictionaryExpression DictionaryComprehensionExpression SetExpression SetComprehensionExpression":St({closing:"}"}),"ArrayExpression ArrayComprehensionExpression":St({closing:"]"}),MemberExpression:i=>i.baseIndent+i.unit,"String FormatString":()=>null,Script:i=>{var e;let t=rh(i);return(e=t&&sh(i,t))!==null&&e!==void 0?e:i.continue()}}),Te.add({"ArrayExpression DictionaryExpression SetExpression TupleExpression":ht,Body:(i,e)=>({from:i.from+1,to:i.to-(i.to==e.doc.length?0:1)}),"String FormatString":(i,e)=>({from:e.doc.lineAt(i.from).to,to:i.to})})]}),languageData:{closeBrackets:{brackets:["(","[","{","'",'"',"'''",'"""'],stringPrefixes:["f","fr","rf","r","u","b","br","rb","F","FR","RF","R","U","B","BR","RB"]},commentTokens:{line:"#"},indentOnInput:/^\s*([\}\]\)]|else:|elif |except |finally:|case\s+[^:]*:?)$/}});function Vm(){return new me(oh,[oh.data.of({autocomplete:ww}),oh.data.of({autocomplete:$w})])}var Tw=Qe({String:d.string,Number:d.number,"True False":d.bool,PropertyName:d.propertyName,Null:d.null,", :":d.separator,"[ ]":d.squareBracket,"{ }":d.brace}),Dm=Pe.deserialize({version:14,states:"$bOVQPOOOOQO'#Cb'#CbOnQPO'#CeOvQPO'#ClOOQO'#Cr'#CrQOQPOOOOQO'#Cg'#CgO}QPO'#CfO!SQPO'#CtOOQO,59P,59PO![QPO,59PO!aQPO'#CuOOQO,59W,59WO!iQPO,59WOVQPO,59QOqQPO'#CmO!nQPO,59`OOQO1G.k1G.kOVQPO'#CnO!vQPO,59aOOQO1G.r1G.rOOQO1G.l1G.lOOQO,59X,59XOOQO-E6k-E6kOOQO,59Y,59YOOQO-E6l-E6l",stateData:"#O~OeOS~OQSORSOSSOTSOWQO_ROgPO~OVXOgUO~O^[O~PVO[^O~O]_OVhX~OVaO~O]bO^iX~O^dO~O]_OVha~O]bO^ia~O",goto:"!kjPPPPPPkPPkqwPPPPk{!RPPP!XP!e!hXSOR^bQWQRf_TVQ_Q`WRg`QcZRicQTOQZRQe^RhbRYQR]R",nodeNames:"\u26A0 JsonText True False Null Number String } { Object Property PropertyName : , ] [ Array",maxTerm:25,nodeProps:[["isolate",-2,6,11,""],["openedBy",7,"{",14,"["],["closedBy",8,"}",15,"]"]],propSources:[Tw],skippedNodes:[0],repeatNodeCount:2,tokenData:"(|~RaXY!WYZ!W]^!Wpq!Wrs!]|}$u}!O$z!Q!R%T!R![&c![!]&t!}#O&y#P#Q'O#Y#Z'T#b#c'r#h#i(Z#o#p(r#q#r(w~!]Oe~~!`Wpq!]qr!]rs!xs#O!]#O#P!}#P;'S!];'S;=`$o<%lO!]~!}Og~~#QXrs!]!P!Q!]#O#P!]#U#V!]#Y#Z!]#b#c!]#f#g!]#h#i!]#i#j#m~#pR!Q![#y!c!i#y#T#Z#y~#|R!Q![$V!c!i$V#T#Z$V~$YR!Q![$c!c!i$c#T#Z$c~$fR!Q![!]!c!i!]#T#Z!]~$rP;=`<%l!]~$zO]~~$}Q!Q!R%T!R![&c~%YRT~!O!P%c!g!h%w#X#Y%w~%fP!Q![%i~%nRT~!Q![%i!g!h%w#X#Y%w~%zR{|&T}!O&T!Q![&Z~&WP!Q![&Z~&`PT~!Q![&Z~&hST~!O!P%c!Q![&c!g!h%w#X#Y%w~&yO[~~'OO_~~'TO^~~'WP#T#U'Z~'^P#`#a'a~'dP#g#h'g~'jP#X#Y'm~'rOR~~'uP#i#j'x~'{P#`#a(O~(RP#`#a(U~(ZOS~~(^P#f#g(a~(dP#i#j(g~(jP#X#Y(m~(rOQ~~(wOW~~(|OV~",tokenizers:[0],topRules:{JsonText:[0,1]},tokenPrec:0});var Cw=$e.define({name:"json",parser:Dm.configure({props:[we.add({Object:Yt({except:/^\s*\}/}),Array:Yt({except:/^\s*\]/})}),Te.add({"Object Array":ht})]}),languageData:{closeBrackets:{brackets:["[","{",'"']},indentOnInput:/^\s*[\}\]]$/}});function Ym(){return new me(Cw)}function Oo(i){for(var e={},t=0;t~^?!",Ew=":;,.(){}[]",qw=/^\-?0b[01][01_]*/,zw=/^\-?0o[0-7][0-7_]*/,Lw=/^\-?0x[\dA-Fa-f][\dA-Fa-f_]*(?:(?:\.[\dA-Fa-f][\dA-Fa-f_]*)?[Pp]\-?\d[\d_]*)?/,Mw=/^\-?\d[\d_]*(?:\.\d[\d_]*)?(?:[Ee]\-?\d[\d_]*)?/,Ww=/^\$\d+|(`?)[_A-Za-z][_A-Za-z$0-9]*\1/,jw=/^\.(?:\$\d+|(`?)[_A-Za-z][_A-Za-z$0-9]*\1)/,Vw=/^\#[A-Za-z]+/,Dw=/^@(?:\$\d+|(`?)[_A-Za-z][_A-Za-z$0-9]*\1)/;function Im(i,e,t){if(i.sol()&&(e.indented=i.indentation()),i.eatSpace())return null;var n=i.peek();if(n=="/"){if(i.match("//"))return i.skipToEnd(),"comment";if(i.match("/*"))return e.tokenize.push(ah),ah(i,e)}if(i.match(Vw))return"builtin";if(i.match(Dw))return"attribute";if(i.match(qw)||i.match(zw)||i.match(Lw)||i.match(Mw))return"number";if(i.match(jw))return"property";if(Zw.indexOf(n)>-1)return i.next(),"operator";if(Ew.indexOf(n)>-1)return i.next(),i.match(".."),"punctuation";var r;if(r=i.match(/("""|"|')/)){var s=Iw.bind(null,r[0]);return e.tokenize.push(s),s(i,e)}if(i.match(Ww)){var o=i.current();return Aw.hasOwnProperty(o)?"type":Rw.hasOwnProperty(o)?"atom":Xw.hasOwnProperty(o)?(_w.hasOwnProperty(o)&&(e.prev="define"),"keyword"):t=="define"?"def":"variable"}return i.next(),null}function Yw(){var i=0;return function(e,t,n){var r=Im(e,t,n);if(r=="punctuation"){if(e.current()=="(")++i;else if(e.current()==")"){if(i==0)return e.backUp(1),t.tokenize.pop(),t.tokenize[t.tokenize.length-1](e,t);--i}}return r}}function Iw(i,e,t){for(var n=i.length==1,r,s=!1;r=e.peek();)if(s){if(e.next(),r=="(")return t.tokenize.push(Yw()),"string";s=!1}else{if(e.match(i))return t.tokenize.pop(),"string";e.next(),s=r=="\\"}return n&&t.tokenize.pop(),"string"}function ah(i,e){for(var t;t=i.next();)if(t==="/"&&i.eat("*"))e.tokenize.push(ah);else if(t==="*"&&i.eat("/")){e.tokenize.pop();break}return"comment"}function Bw(i,e,t){this.prev=i,this.align=e,this.indented=t}function Uw(i,e){var t=e.match(/^\s*($|\/[\/\*]|[)}\]])/,!1)?null:e.column()+1;i.context=new Bw(i.context,t,i.indented)}function Gw(i){i.context&&(i.indented=i.context.indented,i.context=i.context.prev)}var Bm={name:"swift",startState:function(){return{prev:null,context:null,indented:0,tokenize:[]}},token:function(i,e){var t=e.prev;e.prev=null;var n=e.tokenize[e.tokenize.length-1]||Im,r=n(i,e,t);if(!r||r=="comment"?e.prev=t:e.prev||(e.prev=r),r=="punctuation"){var s=/[\(\[\{]|([\]\)\}])/.exec(i.current());s&&(s[1]?Gw:Uw)(e,i)}return r},indent:function(i,e,t){var n=i.context;if(!n)return 0;var r=/^[\]\}\)]/.test(e);return n.align!=null?n.align-(r?1:0):n.indented+(r?0:t.unit)},languageData:{indentOnInput:/^\s*[\)\}\]]$/,commentTokens:{line:"//",block:{open:"/*",close:"*/"}},closeBrackets:{brackets:["(","[","{","'",'"',"`"]}}};var lh={};function ch(i,e){for(var t=0;t1&&i.eat("$");var t=i.next();return/['"({]/.test(t)?(e.tokens[0]=po(t,t=="("?"quote":t=="{"?"def":"string"),_n(i,e)):(/\d/.test(t)||i.eatWhile(/\w/),e.tokens.shift(),"def")};function Hw(i){return function(e,t){return e.sol()&&e.string==i&&t.tokens.shift(),e.skipToEnd(),"string.special"}}function _n(i,e){return(e.tokens[0]||Nw)(i,e)}var Hm={name:"shell",startState:function(){return{tokens:[]}},token:function(i,e){return _n(i,e)},languageData:{autocomplete:Um.concat(Gm,Nm),closeBrackets:{brackets:["(","[","{","'",'"',"`"]},commentTokens:{line:"#"}}};var Kw=["true","false","on","off","yes","no"],Jw=new RegExp("\\b(("+Kw.join(")|(")+"))$","i"),Km={name:"yaml",token:function(i,e){var t=i.peek(),n=e.escaped;if(e.escaped=!1,t=="#"&&(i.pos==0||/\s/.test(i.string.charAt(i.pos-1))))return i.skipToEnd(),"comment";if(i.match(/^('([^']|\\.)*'?|"([^"]|\\.)*"?)/))return"string";if(e.literal&&i.indentation()>e.keyCol)return i.skipToEnd(),"string";if(e.literal&&(e.literal=!1),i.sol()){if(e.keyCol=0,e.pair=!1,e.pairStart=!1,i.match("---")||i.match("..."))return"def";if(i.match(/^\s*-\s+/))return"meta"}if(i.match(/^(\{|\}|\[|\])/))return t=="{"?e.inlinePairs++:t=="}"?e.inlinePairs--:t=="["?e.inlineList++:e.inlineList--,"meta";if(e.inlineList>0&&!n&&t==",")return i.next(),"meta";if(e.inlinePairs>0&&!n&&t==",")return e.keyCol=0,e.pair=!1,e.pairStart=!1,i.next(),"meta";if(e.pairStart){if(i.match(/^\s*(\||\>)\s*/))return e.literal=!0,"meta";if(i.match(/^\s*(\&|\*)[a-z0-9\._-]+\b/i))return"variable";if(e.inlinePairs==0&&i.match(/^\s*-?[0-9\.\,]+\s?$/)||e.inlinePairs>0&&i.match(/^\s*-?[0-9\.\,]+\s?(?=(,|}))/))return"number";if(i.match(Jw))return"keyword"}return!e.pair&&i.match(/^\s*(?:[,\[\]{}&*!|>'"%@`][^\s'":]|[^,\[\]{}#&*!|>'"%@`])[^#]*?(?=\s*:($|\s))/)?(e.pair=!0,e.keyCol=i.indentation(),"atom"):e.pair&&i.match(/^:\s*/)?(e.pairStart=!0,"meta"):(e.pairStart=!1,e.escaped=t=="\\",i.next(),null)},startState:function(){return{pair:!1,pairStart:!1,keyCol:0,inlinePairs:0,inlineList:0,literal:!1,escaped:!1}},languageData:{commentTokens:{line:"#"}}};var eP={break:!0,case:!0,chan:!0,const:!0,continue:!0,default:!0,defer:!0,else:!0,fallthrough:!0,for:!0,func:!0,go:!0,goto:!0,if:!0,import:!0,interface:!0,map:!0,package:!0,range:!0,return:!0,select:!0,struct:!0,switch:!0,type:!0,var:!0,bool:!0,byte:!0,complex64:!0,complex128:!0,float32:!0,float64:!0,int8:!0,int16:!0,int32:!0,int64:!0,string:!0,uint8:!0,uint16:!0,uint32:!0,uint64:!0,int:!0,uint:!0,uintptr:!0,error:!0,rune:!0,any:!0,comparable:!0},tP={true:!0,false:!0,iota:!0,nil:!0,append:!0,cap:!0,close:!0,complex:!0,copy:!0,delete:!0,imag:!0,len:!0,make:!0,new:!0,panic:!0,print:!0,println:!0,real:!0,recover:!0},Jm=/[+\-*&^%:=<>!|\/]/,Jt;function mo(i,e){var t=i.next();if(t=='"'||t=="'"||t=="`")return e.tokenize=iP(t),e.tokenize(i,e);if(/[\d\.]/.test(t))return t=="."?i.match(/^[0-9]+([eE][\-+]?[0-9]+)?/):t=="0"?i.match(/^[xX][0-9a-fA-F]+/)||i.match(/^0[0-7]+/):i.match(/^[0-9]*\.?[0-9]*([eE][\-+]?[0-9]+)?/),"number";if(/[\[\]{}\(\),;\:\.]/.test(t))return Jt=t,null;if(t=="/"){if(i.eat("*"))return e.tokenize=eg,eg(i,e);if(i.eat("/"))return i.skipToEnd(),"comment"}if(Jm.test(t))return i.eatWhile(Jm),"operator";i.eatWhile(/[\w\$_\xa1-\uffff]/);var n=i.current();return eP.propertyIsEnumerable(n)?((n=="case"||n=="default")&&(Jt="case"),"keyword"):tP.propertyIsEnumerable(n)?"atom":"variable"}function iP(i){return function(e,t){for(var n=!1,r,s=!1;(r=e.next())!=null;){if(r==i&&!n){s=!0;break}n=!n&&i!="`"&&r=="\\"}return(s||!(n||i=="`"))&&(t.tokenize=mo),"string"}}function eg(i,e){for(var t=!1,n;n=i.next();){if(n=="/"&&t){e.tokenize=mo;break}t=n=="*"}return"comment"}function ig(i,e,t,n,r){this.indented=i,this.column=e,this.type=t,this.align=n,this.prev=r}function hh(i,e,t){return i.context=new ig(i.indented,e,t,null,i.context)}function tg(i){if(i.context.prev){var e=i.context.type;return(e==")"||e=="]"||e=="}")&&(i.indented=i.context.indented),i.context=i.context.prev}}var ng={name:"go",startState:function(i){return{tokenize:null,context:new ig(-i,0,"top",!1),indented:0,startOfLine:!0}},token:function(i,e){var t=e.context;if(i.sol()&&(t.align==null&&(t.align=!1),e.indented=i.indentation(),e.startOfLine=!0,t.type=="case"&&(t.type="}")),i.eatSpace())return null;Jt=null;var n=(e.tokenize||mo)(i,e);return n=="comment"||(t.align==null&&(t.align=!0),Jt=="{"?hh(e,i.column(),"}"):Jt=="["?hh(e,i.column(),"]"):Jt=="("?hh(e,i.column(),")"):Jt=="case"?t.type="case":(Jt=="}"&&t.type=="}"||Jt==t.type)&&tg(e),e.startOfLine=!1),n},indent:function(i,e,t){if(i.tokenize!=mo&&i.tokenize!=null)return null;var n=i.context,r=e&&e.charAt(0);if(n.type=="case"&&/^(?:case|default)\b/.test(e))return n.indented;var s=r==n.type;return n.align?n.column+(s?0:1):n.indented+(s?0:t.unit)},languageData:{indentOnInput:/^\s([{}]|case |default\s*:)$/,commentTokens:{line:"//",block:{open:"/*",close:"*/"}}}};function uh(i){for(var e={},t=0,n=i.length;t]/)?(i.eat(/[\<\>]/),"atom"):i.eat(/[\+\-\*\/\&\|\:\!]/)?"atom":i.eat(/[a-zA-Z$@_\xa1-\uffff]/)?(i.eatWhile(/[\w$\xa1-\uffff]/),i.eat(/[\?\!\=]/),"atom"):"operator";if(t=="@"&&i.match(/^@?[a-zA-Z_\xa1-\uffff]/))return i.eat("@"),i.eatWhile(/[\w\xa1-\uffff]/),"propertyName";if(t=="$")return i.eat(/[a-zA-Z_]/)?i.eatWhile(/[\w]/):i.eat(/\d/)?i.eat(/\d/):i.next(),"variableName.special";if(/[a-zA-Z_\xa1-\uffff]/.test(t))return i.eatWhile(/[\w\xa1-\uffff]/),i.eat(/[\?\!]/),i.eat(":")?"atom":"variable";if(t=="|"&&(e.varList||e.lastTok=="{"||e.lastTok=="do"))return Pt="|",null;if(/[\(\)\[\]{}\\;]/.test(t))return Pt=t,null;if(t=="-"&&i.eat(">"))return"operator";if(/[=+\-\/*:\.^%<>~|]/.test(t)){var a=i.eatWhile(/[=+\-\/*:\.^%<>~|]/);return t=="."&&!a&&(Pt="."),"operator"}else return null}}}function aP(i){for(var e=i.pos,t=0,n,r=!1,s=!1;(n=i.next())!=null;)if(s)s=!1;else{if("[{(".indexOf(n)>-1)t++;else if("]})".indexOf(n)>-1){if(t--,t<0)break}else if(n=="/"&&t==0){r=!0;break}s=n=="\\"}return i.backUp(i.pos-e),r}function fh(i){return i||(i=1),function(e,t){if(e.peek()=="}"){if(i==1)return t.tokenize.pop(),t.tokenize[t.tokenize.length-1](e,t);t.tokenize[t.tokenize.length-1]=fh(i-1)}else e.peek()=="{"&&(t.tokenize[t.tokenize.length-1]=fh(i+1));return go(e,t)}}function lP(){var i=!1;return function(e,t){return i?(t.tokenize.pop(),t.tokenize[t.tokenize.length-1](e,t)):(i=!0,go(e,t))}}function Rr(i,e,t,n){return function(r,s){var o=!1,a;for(s.context.type==="read-quoted-paused"&&(s.context=s.context.prev,r.eat("}"));(a=r.next())!=null;){if(a==i&&(n||!o)){s.tokenize.pop();break}if(t&&a=="#"&&!o){if(r.eat("{")){i=="}"&&(s.context={prev:s.context,type:"read-quoted-paused"}),s.tokenize.push(fh());break}else if(/[@\$]/.test(r.peek())){s.tokenize.push(lP());break}}o=!o&&a=="\\"}return e}}function cP(i,e){return function(t,n){return e&&t.eatSpace(),t.match(i)?n.tokenize.pop():t.skipToEnd(),"string"}}function hP(i,e){return i.sol()&&i.match("=end")&&i.eol()&&e.tokenize.pop(),i.skipToEnd(),"comment"}var og={name:"ruby",startState:function(i){return{tokenize:[go],indented:0,context:{type:"top",indented:-i},continuedLine:!1,lastTok:null,varList:!1}},token:function(i,e){Pt=null,i.sol()&&(e.indented=i.indentation());var t=e.tokenize[e.tokenize.length-1](i,e),n,r=Pt;if(t=="variable"){var s=i.current();t=e.lastTok=="."?"property":nP.propertyIsEnumerable(i.current())?"keyword":/^[A-Z]/.test(s)?"tag":e.lastTok=="def"||e.lastTok=="class"||e.varList?"def":"variable",t=="keyword"&&(r=s,rP.propertyIsEnumerable(s)?n="indent":sP.propertyIsEnumerable(s)?n="dedent":((s=="if"||s=="unless")&&i.column()==i.indentation()||s=="do"&&e.context.indented2&&o.token&&typeof o.token!="string"){t.pending=[];for(var c=2;c-1)return null;var r=t.indent.length-1,s=i[t.state];e:for(;;){for(var o=0;o!]+/,token:"operator"},{regex:/[a-zA-Z_]\w*!/,token:"macroName"},{regex:/[a-zA-Z_]\w*/,token:"variable"},{regex:/[\{\[\(]/,indent:!0},{regex:/[\}\]\)]/,dedent:!0}],string:[{regex:/"/,token:"string",next:"start"},{regex:/(?:[^\\"]|\\(?:.|$))*/,token:"string"}],string_raw:[{regex:/"/,token:"string",next:"start"},{regex:/[^"]*/,token:"string"}],string_raw_hash:[{regex:/"#+/,token:"string",next:"start"},{regex:/(?:[^"]|"(?!#))*/,token:"string"}],comment:[{regex:/.*?\*\//,token:"comment",next:"start"},{regex:/.*/,token:"comment"}],languageData:{name:"rust",dontIndentStates:["comment"],indentOnInput:/^\s*\}$/,commentTokens:{line:"//",block:{open:"/*",close:"*/"}}}});function ph(i,e,t,n,r,s){this.indented=i,this.column=e,this.type=t,this.info=n,this.align=r,this.prev=s}function Qo(i,e,t,n){var r=i.indented;return i.context&&i.context.type=="statement"&&t!="statement"&&(r=i.context.indented),i.context=new ph(r,e,t,n,null,i.context)}function Ar(i){var e=i.context.type;return(e==")"||e=="]"||e=="}")&&(i.indented=i.context.indented),i.context=i.context.prev}function hg(i,e,t){if(e.prevToken=="variable"||e.prevToken=="type"||/\S(?:[^- ]>|[*\]])\s*$|\*$/.test(i.string.slice(0,t))||e.typeAtEndOfLine&&i.column()==i.indentation())return!0}function Oh(i){for(;;){if(!i||i.type=="top")return!0;if(i.type=="}"&&i.prev.info!="namespace")return!1;i=i.prev}}function tt(i){var e=i.statementIndentUnit,t=i.dontAlignCalls,n=i.keywords||{},r=i.types||{},s=i.builtin||{},o=i.blockKeywords||{},a=i.defKeywords||{},l=i.atoms||{},c=i.hooks||{},h=i.multiLineStrings,f=i.indentStatements!==!1,u=i.indentSwitch!==!1,O=i.namespaceSeparator,p=i.isPunctuationChar||/[\[\]{}\(\),;\:\.]/,m=i.numberStart||/[\d\.]/,b=i.number||/^(?:0x[a-f\d]+|0b[01]+|(?:\d+\.?\d*|\.\d+)(?:e[-+]?\d+)?)(u|ll?|l|f)?/i,g=i.isOperatorChar||/[+\-*&%=<>!?|\/]/,Q=i.isIdentifierChar||/[\w\$_\xa1-\uffff]/,S=i.isReservedIdentifier||!1,x,v;function $(T,k){var w=T.next();if(c[w]){var C=c[w](T,k);if(C!==!1)return C}if(w=='"'||w=="'")return k.tokenize=R(w),k.tokenize(T,k);if(m.test(w)){if(T.backUp(1),T.match(b))return"number";T.next()}if(p.test(w))return x=w,null;if(w=="/"){if(T.eat("*"))return k.tokenize=_,_(T,k);if(T.eat("/"))return T.skipToEnd(),"comment"}if(g.test(w)){for(;!T.match(/^\/[\/*]/,!1)&&T.eat(g););return"operator"}if(T.eatWhile(Q),O)for(;T.match(O);)T.eatWhile(Q);var j=T.current();return ei(n,j)?(ei(o,j)&&(x="newstatement"),ei(a,j)&&(v=!0),"keyword"):ei(r,j)?"type":ei(s,j)||S&&S(j)?(ei(o,j)&&(x="newstatement"),"builtin"):ei(l,j)?"atom":"variable"}function R(T){return function(k,w){for(var C=!1,j,y=!1;(j=k.next())!=null;){if(j==T&&!C){y=!0;break}C=!C&&j=="\\"}return(y||!(C||h))&&(w.tokenize=null),"string"}}function _(T,k){for(var w=!1,C;C=T.next();){if(C=="/"&&w){k.tokenize=null;break}w=C=="*"}return"comment"}function W(T,k){i.typeFirstDefinitions&&T.eol()&&Oh(k.context)&&(k.typeAtEndOfLine=hg(T,k,T.pos))}return{name:i.name,startState:function(T){return{tokenize:null,context:new ph(-T,0,"top",null,!1),indented:0,startOfLine:!0,prevToken:null}},token:function(T,k){var w=k.context;if(T.sol()&&(w.align==null&&(w.align=!1),k.indented=T.indentation(),k.startOfLine=!0),T.eatSpace())return W(T,k),null;x=v=null;var C=(k.tokenize||$)(T,k);if(C=="comment"||C=="meta")return C;if(w.align==null&&(w.align=!0),x==";"||x==":"||x==","&&T.match(/^\s*(?:\/\/.*)?$/,!1))for(;k.context.type=="statement";)Ar(k);else if(x=="{")Qo(k,T.column(),"}");else if(x=="[")Qo(k,T.column(),"]");else if(x=="(")Qo(k,T.column(),")");else if(x=="}"){for(;w.type=="statement";)w=Ar(k);for(w.type=="}"&&(w=Ar(k));w.type=="statement";)w=Ar(k)}else x==w.type?Ar(k):f&&((w.type=="}"||w.type=="top")&&x!=";"||w.type=="statement"&&x=="newstatement")&&Qo(k,T.column(),"statement",T.current());if(C=="variable"&&(k.prevToken=="def"||i.typeFirstDefinitions&&hg(T,k,T.start)&&Oh(k.context)&&T.match(/^\s*\(/,!1))&&(C="def"),c.token){var j=c.token(T,k,C);j!==void 0&&(C=j)}return C=="def"&&i.styleDefs===!1&&(C="variable"),k.startOfLine=!1,k.prevToken=v?"def":C||x,W(T,k),C},indent:function(T,k,w){if(T.tokenize!=$&&T.tokenize!=null||T.typeAtEndOfLine&&Oh(T.context))return null;var C=T.context,j=k&&k.charAt(0),y=j==C.type;if(C.type=="statement"&&j=="}"&&(C=C.prev),i.dontIndentStatements)for(;C.type=="statement"&&i.dontIndentStatements.test(C.info);)C=C.prev;if(c.indent){var q=c.indent(T,C,k,w.unit);if(typeof q=="number")return q}var de=C.prev&&C.prev.info=="switch";if(i.allmanIndentation&&/[{(]/.test(j)){for(;C.type!="top"&&C.type!="}";)C=C.prev;return C.indented}return C.type=="statement"?C.indented+(j=="{"?0:e||w.unit):C.align&&(!t||C.type!=")")?C.column+(y?0:1):C.type==")"&&!y?C.indented+(e||w.unit):C.indented+(y?0:w.unit)+(!y&&de&&!/^(?:case|default)\b/.test(k)?w.unit:0)},languageData:{indentOnInput:u?/^\s*(?:case .*?:|default:|\{\}?|\})$/:/^\s*[{}]$/,commentTokens:{line:"//",block:{open:"/*",close:"*/"}},autocomplete:Object.keys(n).concat(Object.keys(r)).concat(Object.keys(s)).concat(Object.keys(l)),...i.languageData}}}function V(i){for(var e={},t=i.split(" "),n=0;n!?|\/#:@]/,hooks:{"@":function(i){return i.eatWhile(/[\w\$_]/),"meta"},'"':function(i,e){return i.match('""')?(e.tokenize=kg,e.tokenize(i,e)):!1},"'":function(i){return i.match(/^(\\[^'\s]+|[^\\'])'/)?"character":(i.eatWhile(/[\w\$_\xa1-\uffff]/),"atom")},"=":function(i,e){var t=e.context;return t.type=="}"&&t.align&&i.eat(">")?(e.context=new ph(t.indented,t.column,t.type,t.info,null,t.prev),"operator"):!1},"/":function(i,e){return i.eat("*")?(e.tokenize=Zr(1),e.tokenize(i,e)):!1}},languageData:{closeBrackets:{brackets:["(","[","{","'",'"','"""']}}});function QP(i){return function(e,t){for(var n=!1,r,s=!1;!e.eol();){if(!i&&!n&&e.match('"')){s=!0;break}if(i&&e.match('"""')){s=!0;break}r=e.next(),!n&&r=="$"&&e.match("{")&&e.skipTo("}"),n=!n&&r=="\\"&&!i}return(s||!i)&&(t.tokenize=null),"string"}}var xg=tt({name:"kotlin",keywords:V("package as typealias class interface this super val operator var fun for is in This throw return annotation break continue object if else while do try when !in !is as? file import where by get set abstract enum open inner override private public internal protected catch finally out final vararg reified dynamic companion constructor init sealed field property receiver param sparam lateinit data inline noinline tailrec external annotation crossinline const operator infix suspend actual expect setparam"),types:V("Boolean Byte Character CharSequence Class ClassLoader Cloneable Comparable Compiler Double Exception Float Integer Long Math Number Object Package Pair Process Runtime Runnable SecurityManager Short StackTraceElement StrictMath String StringBuffer System Thread ThreadGroup ThreadLocal Throwable Triple Void Annotation Any BooleanArray ByteArray Char CharArray DeprecationLevel DoubleArray Enum FloatArray Function Int IntArray Lazy LazyThreadSafetyMode LongArray Nothing ShortArray Unit"),intendSwitch:!1,indentStatements:!1,multiLineStrings:!0,number:/^(?:0x[a-f\d_]+|0b[01_]+|(?:[\d_]+(\.\d+)?|\.\d+)(?:e[-+]?[\d_]+)?)(ul?|l|f)?/i,blockKeywords:V("catch class do else finally for if where try while enum"),defKeywords:V("class val var object interface fun"),atoms:V("true false null this"),hooks:{"@":function(i){return i.eatWhile(/[\w\$_]/),"meta"},"*":function(i,e){return e.prevToken=="."?"variable":"operator"},'"':function(i,e){return e.tokenize=QP(i.match('""')),e.tokenize(i,e)},"/":function(i,e){return i.eat("*")?(e.tokenize=Zr(1),e.tokenize(i,e)):!1},indent:function(i,e,t,n){var r=t&&t.charAt(0);if((i.prevToken=="}"||i.prevToken==")")&&t=="")return i.indented;if(i.prevToken=="operator"&&t!="}"&&i.context.type!="}"||i.prevToken=="variable"&&r=="."||(i.prevToken=="}"||i.prevToken==")")&&r==".")return n*2+e.indented;if(e.align&&e.type=="}")return e.indented+(i.context.type==(t||"").charAt(0)?0:n)}},languageData:{closeBrackets:{brackets:["(","[","{","'",'"','"""']}}}),oC=tt({name:"shader",keywords:V("sampler1D sampler2D sampler3D samplerCube sampler1DShadow sampler2DShadow const attribute uniform varying break continue discard return for while do if else struct in out inout"),types:V("float int bool void vec2 vec3 vec4 ivec2 ivec3 ivec4 bvec2 bvec3 bvec4 mat2 mat3 mat4"),blockKeywords:V("for while do if else struct"),builtin:V("radians degrees sin cos tan asin acos atan pow exp log exp2 sqrt inversesqrt abs sign floor ceil fract mod min max clamp mix step smoothstep length distance dot cross normalize ftransform faceforward reflect refract matrixCompMult lessThan lessThanEqual greaterThan greaterThanEqual equal notEqual any all not texture1D texture1DProj texture1DLod texture1DProjLod texture2D texture2DProj texture2DLod texture2DProjLod texture3D texture3DProj texture3DLod texture3DProjLod textureCube textureCubeLod shadow1D shadow2D shadow1DProj shadow2DProj shadow1DLod shadow2DLod shadow1DProjLod shadow2DProjLod dFdx dFdy fwidth noise1 noise2 noise3 noise4"),atoms:V("true false gl_FragColor gl_SecondaryColor gl_Normal gl_Vertex gl_MultiTexCoord0 gl_MultiTexCoord1 gl_MultiTexCoord2 gl_MultiTexCoord3 gl_MultiTexCoord4 gl_MultiTexCoord5 gl_MultiTexCoord6 gl_MultiTexCoord7 gl_FogCoord gl_PointCoord gl_Position gl_PointSize gl_ClipVertex gl_FrontColor gl_BackColor gl_FrontSecondaryColor gl_BackSecondaryColor gl_TexCoord gl_FogFragCoord gl_FragCoord gl_FrontFacing gl_FragData gl_FragDepth gl_ModelViewMatrix gl_ProjectionMatrix gl_ModelViewProjectionMatrix gl_TextureMatrix gl_NormalMatrix gl_ModelViewMatrixInverse gl_ProjectionMatrixInverse gl_ModelViewProjectionMatrixInverse gl_TextureMatrixTranspose gl_ModelViewMatrixInverseTranspose gl_ProjectionMatrixInverseTranspose gl_ModelViewProjectionMatrixInverseTranspose gl_TextureMatrixInverseTranspose gl_NormalScale gl_DepthRange gl_ClipPlane gl_Point gl_FrontMaterial gl_BackMaterial gl_LightSource gl_LightModel gl_FrontLightModelProduct gl_BackLightModelProduct gl_TextureColor gl_EyePlaneS gl_EyePlaneT gl_EyePlaneR gl_EyePlaneQ gl_FogParameters gl_MaxLights gl_MaxClipPlanes gl_MaxTextureUnits gl_MaxTextureCoords gl_MaxVertexAttribs gl_MaxVertexUniformComponents gl_MaxVaryingFloats gl_MaxVertexTextureImageUnits gl_MaxTextureImageUnits gl_MaxFragmentUniformComponents gl_MaxCombineTextureImageUnits gl_MaxDrawBuffers"),indentSwitch:!1,hooks:{"#":ki}}),aC=tt({name:"nesc",keywords:V(Er+" as atomic async call command component components configuration event generic implementation includes interface module new norace nx_struct nx_union post provides signal task uses abstract extends"),types:qr,blockKeywords:V(zr),atoms:V("null true false"),hooks:{"#":ki}}),wg=tt({name:"objectivec",keywords:V(Er+" "+dg),types:mg,builtin:V(pg),blockKeywords:V(zr+" @synthesize @try @catch @finally @autoreleasepool @synchronized"),defKeywords:V(So+" @interface @implementation @protocol @class"),dontIndentStatements:/^@.*$/,typeFirstDefinitions:!0,atoms:V("YES NO NULL Nil nil true false nullptr"),isReservedIdentifier:ko,hooks:{"#":ki,"*":yo}}),lC=tt({name:"objectivecpp",keywords:V(Er+" "+dg+" "+Og),types:mg,builtin:V(pg),blockKeywords:V(zr+" @synthesize @try @catch @finally @autoreleasepool @synchronized class try catch"),defKeywords:V(So+" @interface @implementation @protocol @class class namespace"),dontIndentStatements:/^@.*$|^template$/,typeFirstDefinitions:!0,atoms:V("YES NO NULL Nil nil true false nullptr"),isReservedIdentifier:ko,hooks:{"#":ki,"*":yo,u:yi,U:yi,L:yi,R:yi,0:ye,1:ye,2:ye,3:ye,4:ye,5:ye,6:ye,7:ye,8:ye,9:ye,token:function(i,e,t){if(t=="variable"&&i.peek()=="("&&(e.prevToken==";"||e.prevToken==null||e.prevToken=="}")&&gg(i.current()))return"def"}},namespaceSeparator:"::"}),cC=tt({name:"squirrel",keywords:V("base break clone continue const default delete enum extends function in class foreach local resume return this throw typeof yield constructor instanceof static"),types:qr,blockKeywords:V("case catch class else for foreach if switch try while"),defKeywords:V("function local class"),typeFirstDefinitions:!0,atoms:V("true false null"),hooks:{"#":ki}}),bo=null;function Pg(i){return function(e,t){for(var n=!1,r,s=!1;!e.eol();){if(!n&&e.match('"')&&(i=="single"||e.match('""'))){s=!0;break}if(!n&&e.match("``")){bo=Pg(i),s=!0;break}r=e.next(),n=i=="single"&&!n&&r=="\\"}return s&&(t.tokenize=null),"string"}}var hC=tt({name:"ceylon",keywords:V("abstracts alias assembly assert assign break case catch class continue dynamic else exists extends finally for function given if import in interface is let module new nonempty object of out outer package return satisfies super switch then this throw try value void while"),types:function(i){var e=i.charAt(0);return e===e.toUpperCase()&&e!==e.toLowerCase()},blockKeywords:V("case catch class dynamic else finally for function if interface module new object switch try while"),defKeywords:V("class dynamic function interface module object package value"),builtin:V("abstract actual aliased annotation by default deprecated doc final formal late license native optional sealed see serializable shared suppressWarnings tagged throws variable"),isPunctuationChar:/[\[\]{}\(\),;\:\.`]/,isOperatorChar:/[+\-*&%=<>!?|^~:\/]/,numberStart:/[\d#$]/,number:/^(?:#[\da-fA-F_]+|\$[01_]+|[\d_]+[kMGTPmunpf]?|[\d_]+\.[\d_]+(?:[eE][-+]?\d+|[kMGTPmunpf]|)|)/i,multiLineStrings:!0,typeFirstDefinitions:!0,atoms:V("true false null larger smaller equal empty finished"),indentSwitch:!1,styleDefs:!1,hooks:{"@":function(i){return i.eatWhile(/[\w\$_]/),"meta"},'"':function(i,e){return e.tokenize=Pg(i.match('""')?"triple":"single"),e.tokenize(i,e)},"`":function(i,e){return!bo||!i.match("`")?!1:(e.tokenize=bo,bo=null,e.tokenize(i,e))},"'":function(i){return i.match(/^(\\[^'\s]+|[^\\'])'/)?"string.special":(i.eatWhile(/[\w\$_\xa1-\uffff]/),"atom")},token:function(i,e,t){if((t=="variable"||t=="type")&&e.prevToken==".")return"variableName.special"}},languageData:{closeBrackets:{brackets:["(","[","{","'",'"','"""']}}});function bP(i){(i.interpolationStack||(i.interpolationStack=[])).push(i.tokenize)}function vg(i){return(i.interpolationStack||(i.interpolationStack=[])).pop()}function SP(i){return i.interpolationStack?i.interpolationStack.length:0}function dh(i,e,t,n){var r=!1;if(e.eat(i))if(e.eat(i))r=!0;else return"string";function s(o,a){for(var l=!1;!o.eol();){if(!n&&!l&&o.peek()=="$")return bP(a),a.tokenize=yP,"string";var c=o.next();if(c==i&&!l&&(!r||o.match(i+i))){a.tokenize=null;break}l=!n&&!l&&c=="\\"}return"string"}return t.tokenize=s,s(e,t)}function yP(i,e){return i.eat("$"),i.eat("{")?e.tokenize=null:e.tokenize=kP,null}function kP(i,e){return i.eatWhile(/[\w_]/),e.tokenize=vg(e),"variable"}var fC=tt({name:"dart",keywords:V("this super static final const abstract class extends external factory implements mixin get native set typedef with enum throw rethrow assert break case continue default in return new deferred async await covariant try catch finally do else for if switch while import library export part of show hide is as extension on yield late required sealed base interface when inline"),blockKeywords:V("try catch finally do else for if switch while"),builtin:V("void bool num int double dynamic var String Null Never"),atoms:V("true false null"),number:/^(?:0x[a-f\d_]+|(?:[\d_]+\.?[\d_]*|\.[\d_]+)(?:e[-+]?[\d_]+)?)/i,hooks:{"@":function(i){return i.eatWhile(/[\w\$_\.]/),"meta"},"'":function(i,e){return dh("'",i,e,!1)},'"':function(i,e){return dh('"',i,e,!1)},r:function(i,e){var t=i.peek();return t=="'"||t=='"'?dh(i.next(),i,e,!0):!1},"}":function(i,e){return SP(e)>0?(e.tokenize=vg(e),null):!1},"/":function(i,e){return i.eat("*")?(e.tokenize=Zr(1),e.tokenize(i,e)):!1},token:function(i,e,t){if(t=="variable"){var n=RegExp("^[_$]*[A-Z][a-zA-Z0-9_$]*$","g");if(n.test(i.current()))return"type"}}}});function je(i){var e=i.client||{},t=i.atoms||{false:!0,true:!0,null:!0},n=i.builtin||M(Tg),r=i.keywords||M(Fi),s=i.operatorChars||/^[*+\-%<>!=&|~^\/]/,o=i.support||{},a=i.hooks||{},l=i.dateSQL||{date:!0,time:!0,timestamp:!0},c=i.backslashStringEscapes!==!1,h=i.brackets||/^[\{}\(\)\[\]]/,f=i.punctuation||/^[;.,:]/;function u(g,Q){var S=g.next();if(a[S]){var x=a[S](g,Q);if(x!==!1)return x}if(o.hexNumber&&(S=="0"&&g.match(/^[xX][0-9a-fA-F]+/)||(S=="x"||S=="X")&&g.match(/^'[0-9a-fA-F]*'/)))return"number";if(o.binaryNumber&&((S=="b"||S=="B")&&g.match(/^'[01]+'/)||S=="0"&&g.match(/^b[01]*/)))return"number";if(S.charCodeAt(0)>47&&S.charCodeAt(0)<58)return g.match(/^[0-9]*(\.[0-9]+)?([eE][-+]?[0-9]+)?/),o.decimallessFloat&&g.match(/^\.(?!\.)/),"number";if(S=="?"&&(g.eatSpace()||g.eol()||g.eat(";")))return"macroName";if(S=="'"||S=='"'&&o.doubleQuote)return Q.tokenize=O(S),Q.tokenize(g,Q);if((o.nCharCast&&(S=="n"||S=="N")||o.charsetCast&&S=="_"&&g.match(/[a-z][a-z0-9]*/i))&&(g.peek()=="'"||g.peek()=='"'))return"keyword";if(o.escapeConstant&&(S=="e"||S=="E")&&(g.peek()=="'"||g.peek()=='"'&&o.doubleQuote))return Q.tokenize=function($,R){return(R.tokenize=O($.next(),!0))($,R)},"keyword";if(o.commentSlashSlash&&S=="/"&&g.eat("/"))return g.skipToEnd(),"comment";if(o.commentHash&&S=="#"||S=="-"&&g.eat("-")&&(!o.commentSpaceRequired||g.eat(" ")))return g.skipToEnd(),"comment";if(S=="/"&&g.eat("*"))return Q.tokenize=p(1),Q.tokenize(g,Q);if(S=="."){if(o.zerolessFloat&&g.match(/^(?:\d+(?:e[+-]?\d+)?)/i))return"number";if(g.match(/^\.+/))return null;if(o.ODBCdotTable&&g.match(/^[\w\d_$#]+/))return"type"}else{if(s.test(S))return g.eatWhile(s),"operator";if(h.test(S))return"bracket";if(f.test(S))return g.eatWhile(f),"punctuation";if(S=="{"&&(g.match(/^( )*(d|D|t|T|ts|TS)( )*'[^']*'( )*}/)||g.match(/^( )*(d|D|t|T|ts|TS)( )*"[^"]*"( )*}/)))return"number";g.eatWhile(/^[_\w\d]/);var v=g.current().toLowerCase();return l.hasOwnProperty(v)&&(g.match(/^( )+'[^']*'/)||g.match(/^( )+"[^"]*"/))?"number":t.hasOwnProperty(v)?"atom":n.hasOwnProperty(v)?"type":r.hasOwnProperty(v)?"keyword":e.hasOwnProperty(v)?"builtin":null}}function O(g,Q){return function(S,x){for(var v=!1,$;($=S.next())!=null;){if($==g&&!v){x.tokenize=u;break}v=(c||Q)&&!v&&$=="\\"}return"string"}}function p(g){return function(Q,S){var x=Q.match(/^.*?(\/\*|\*\/)/);return x?x[1]=="/*"?S.tokenize=p(g+1):g>1?S.tokenize=p(g-1):S.tokenize=u:Q.skipToEnd(),"comment"}}function m(g,Q,S){Q.context={prev:Q.context,indent:g.indentation(),col:g.column(),type:S}}function b(g){g.indent=g.context.indent,g.context=g.context.prev}return{name:"sql",startState:function(){return{tokenize:u,context:null}},token:function(g,Q){if(g.sol()&&Q.context&&Q.context.align==null&&(Q.context.align=!1),Q.tokenize==u&&g.eatSpace())return null;var S=Q.tokenize(g,Q);if(S=="comment")return S;Q.context&&Q.context.align==null&&(Q.context.align=!0);var x=g.current();return x=="("?m(g,Q,")"):x=="["?m(g,Q,"]"):Q.context&&Q.context.type==x&&b(Q),S},indent:function(g,Q,S){var x=g.context;if(!x)return null;var v=Q.charAt(0)==x.type;return x.align?x.col+(v?0:1):x.indent+(v?0:S.unit)},languageData:{commentTokens:{line:o.commentSlashSlash?"//":o.commentHash?"#":"--",block:{open:"/*",close:"*/"}},closeBrackets:{brackets:["(","[","{","'",'"',"`"]}}}}function mh(i){for(var e;(e=i.next())!=null;)if(e=="`"&&!i.eat("`"))return"string.special";return i.backUp(i.current().length-1),i.eatWhile(/\w/)?"string.special":null}function xP(i){for(var e;(e=i.next())!=null;)if(e=='"'&&!i.eat('"'))return"string.special";return i.backUp(i.current().length-1),i.eatWhile(/\w/)?"string.special":null}function Ni(i){return i.eat("@")&&(i.match("session."),i.match("local."),i.match("global.")),i.eat("'")?(i.match(/^.*'/),"string.special"):i.eat('"')?(i.match(/^.*"/),"string.special"):i.eat("`")?(i.match(/^.*`/),"string.special"):i.match(/^[0-9a-zA-Z$\.\_]+/)?"string.special":null}function $g(i){return i.eat("N")?"atom":i.match(/^[a-zA-Z.#!?]/)?"string.special":null}var Fi="alter and as asc between by count create delete desc distinct drop from group having in insert into is join like not on or order select set table union update values where limit ";function M(i){for(var e={},t=i.split(" "),n=0;n!=^\&|\/]/,brackets:/^[\{}\(\)]/,punctuation:/^[;.,:/]/,backslashStringEscapes:!1,dateSQL:M("date datetimeoffset datetime2 smalldatetime datetime time"),hooks:{"@":Ni}}),pC=je({client:M("charset clear connect edit ego exit go help nopager notee nowarning pager print prompt quit rehash source status system tee"),keywords:M(Fi+"accessible action add after algorithm all analyze asensitive at authors auto_increment autocommit avg avg_row_length before binary binlog both btree cache call cascade cascaded case catalog_name chain change changed character check checkpoint checksum class_origin client_statistics close coalesce code collate collation collations column columns comment commit committed completion concurrent condition connection consistent constraint contains continue contributors convert cross current current_date current_time current_timestamp current_user cursor data database databases day_hour day_microsecond day_minute day_second deallocate dec declare default delay_key_write delayed delimiter des_key_file describe deterministic dev_pop dev_samp deviance diagnostics directory disable discard distinctrow div dual dumpfile each elseif enable enclosed end ends engine engines enum errors escape escaped even event events every execute exists exit explain extended fast fetch field fields first flush for force foreign found_rows full fulltext function general get global grant grants group group_concat handler hash help high_priority hosts hour_microsecond hour_minute hour_second if ignore ignore_server_ids import index index_statistics infile inner innodb inout insensitive insert_method install interval invoker isolation iterate key keys kill language last leading leave left level limit linear lines list load local localtime localtimestamp lock logs low_priority master master_heartbeat_period master_ssl_verify_server_cert masters match max max_rows maxvalue message_text middleint migrate min min_rows minute_microsecond minute_second mod mode modifies modify mutex mysql_errno natural next no no_write_to_binlog offline offset one online open optimize option optionally out outer outfile pack_keys parser partition partitions password phase plugin plugins prepare preserve prev primary privileges procedure processlist profile profiles purge query quick range read read_write reads real rebuild recover references regexp relaylog release remove rename reorganize repair repeatable replace require resignal restrict resume return returns revoke right rlike rollback rollup row row_format rtree savepoint schedule schema schema_name schemas second_microsecond security sensitive separator serializable server session share show signal slave slow smallint snapshot soname spatial specific sql sql_big_result sql_buffer_result sql_cache sql_calc_found_rows sql_no_cache sql_small_result sqlexception sqlstate sqlwarning ssl start starting starts status std stddev stddev_pop stddev_samp storage straight_join subclass_origin sum suspend table_name table_statistics tables tablespace temporary terminated to trailing transaction trigger triggers truncate uncommitted undo uninstall unique unlock upgrade usage use use_frm user user_resources user_statistics using utc_date utc_time utc_timestamp value variables varying view views warnings when while with work write xa xor year_month zerofill begin do then else loop repeat"),builtin:M("bool boolean bit blob decimal double float long longblob longtext medium mediumblob mediumint mediumtext time timestamp tinyblob tinyint tinytext text bigint int int1 int2 int3 int4 int8 integer float float4 float8 double char varbinary varchar varcharacter precision date datetime year unsigned signed numeric"),atoms:M("false true null unknown"),operatorChars:/^[*+\-%<>!=&|^]/,dateSQL:M("date time timestamp"),support:M("ODBCdotTable decimallessFloat zerolessFloat binaryNumber hexNumber doubleQuote nCharCast charsetCast commentHash commentSpaceRequired"),hooks:{"@":Ni,"`":mh,"\\":$g}}),mC=je({client:M("charset clear connect edit ego exit go help nopager notee nowarning pager print prompt quit rehash source status system tee"),keywords:M(Fi+"accessible action add after algorithm all always analyze asensitive at authors auto_increment autocommit avg avg_row_length before binary binlog both btree cache call cascade cascaded case catalog_name chain change changed character check checkpoint checksum class_origin client_statistics close coalesce code collate collation collations column columns comment commit committed completion concurrent condition connection consistent constraint contains continue contributors convert cross current current_date current_time current_timestamp current_user cursor data database databases day_hour day_microsecond day_minute day_second deallocate dec declare default delay_key_write delayed delimiter des_key_file describe deterministic dev_pop dev_samp deviance diagnostics directory disable discard distinctrow div dual dumpfile each elseif enable enclosed end ends engine engines enum errors escape escaped even event events every execute exists exit explain extended fast fetch field fields first flush for force foreign found_rows full fulltext function general generated get global grant grants group group_concat handler hard hash help high_priority hosts hour_microsecond hour_minute hour_second if ignore ignore_server_ids import index index_statistics infile inner innodb inout insensitive insert_method install interval invoker isolation iterate key keys kill language last leading leave left level limit linear lines list load local localtime localtimestamp lock logs low_priority master master_heartbeat_period master_ssl_verify_server_cert masters match max max_rows maxvalue message_text middleint migrate min min_rows minute_microsecond minute_second mod mode modifies modify mutex mysql_errno natural next no no_write_to_binlog offline offset one online open optimize option optionally out outer outfile pack_keys parser partition partitions password persistent phase plugin plugins prepare preserve prev primary privileges procedure processlist profile profiles purge query quick range read read_write reads real rebuild recover references regexp relaylog release remove rename reorganize repair repeatable replace require resignal restrict resume return returns revoke right rlike rollback rollup row row_format rtree savepoint schedule schema schema_name schemas second_microsecond security sensitive separator serializable server session share show shutdown signal slave slow smallint snapshot soft soname spatial specific sql sql_big_result sql_buffer_result sql_cache sql_calc_found_rows sql_no_cache sql_small_result sqlexception sqlstate sqlwarning ssl start starting starts status std stddev stddev_pop stddev_samp storage straight_join subclass_origin sum suspend table_name table_statistics tables tablespace temporary terminated to trailing transaction trigger triggers truncate uncommitted undo uninstall unique unlock upgrade usage use use_frm user user_resources user_statistics using utc_date utc_time utc_timestamp value variables varying view views virtual warnings when while with work write xa xor year_month zerofill begin do then else loop repeat"),builtin:M("bool boolean bit blob decimal double float long longblob longtext medium mediumblob mediumint mediumtext time timestamp tinyblob tinyint tinytext text bigint int int1 int2 int3 int4 int8 integer float float4 float8 double char varbinary varchar varcharacter precision date datetime year unsigned signed numeric"),atoms:M("false true null unknown"),operatorChars:/^[*+\-%<>!=&|^]/,dateSQL:M("date time timestamp"),support:M("ODBCdotTable decimallessFloat zerolessFloat binaryNumber hexNumber doubleQuote nCharCast charsetCast commentHash commentSpaceRequired"),hooks:{"@":Ni,"`":mh,"\\":$g}}),gC=je({client:M("auth backup bail binary changes check clone databases dbinfo dump echo eqp exit explain fullschema headers help import imposter indexes iotrace limit lint load log mode nullvalue once open output print prompt quit read restore save scanstats schema separator session shell show stats system tables testcase timeout timer trace vfsinfo vfslist vfsname width"),keywords:M(Fi+"abort action add after all analyze attach autoincrement before begin cascade case cast check collate column commit conflict constraint cross current_date current_time current_timestamp database default deferrable deferred detach each else end escape except exclusive exists explain fail for foreign full glob if ignore immediate index indexed initially inner instead intersect isnull key left limit match natural no notnull null of offset outer plan pragma primary query raise recursive references regexp reindex release rename replace restrict right rollback row savepoint temp temporary then to transaction trigger unique using vacuum view virtual when with without"),builtin:M("bool boolean bit blob decimal double float long longblob longtext medium mediumblob mediumint mediumtext time timestamp tinyblob tinyint tinytext text clob bigint int int2 int8 integer float double char varchar date datetime year unsigned signed numeric real"),atoms:M("null current_date current_time current_timestamp"),operatorChars:/^[*+\-%<>!=&|/~]/,dateSQL:M("date time timestamp datetime"),support:M("decimallessFloat zerolessFloat"),identifierQuote:'"',hooks:{"@":Ni,":":Ni,"?":Ni,$:Ni,'"':xP,"`":mh}}),QC=je({client:{},keywords:M("add all allow alter and any apply as asc authorize batch begin by clustering columnfamily compact consistency count create custom delete desc distinct drop each_quorum exists filtering from grant if in index insert into key keyspace keyspaces level limit local_one local_quorum modify nan norecursive nosuperuser not of on one order password permission permissions primary quorum rename revoke schema select set storage superuser table three to token truncate ttl two type unlogged update use user users using values where with writetime"),builtin:M("ascii bigint blob boolean counter decimal double float frozen inet int list map static text timestamp timeuuid tuple uuid varchar varint"),atoms:M("false true infinity NaN"),operatorChars:/^[<>=]/,dateSQL:{},support:M("commentSlashSlash decimallessFloat"),hooks:{}}),bC=je({client:M("appinfo arraysize autocommit autoprint autorecovery autotrace blockterminator break btitle cmdsep colsep compatibility compute concat copycommit copytypecheck define describe echo editfile embedded escape exec execute feedback flagger flush heading headsep instance linesize lno loboffset logsource long longchunksize markup native newpage numformat numwidth pagesize pause pno recsep recsepchar release repfooter repheader serveroutput shiftinout show showmode size spool sqlblanklines sqlcase sqlcode sqlcontinue sqlnumber sqlpluscompatibility sqlprefix sqlprompt sqlterminator suffix tab term termout time timing trimout trimspool ttitle underline verify version wrap"),keywords:M("abort accept access add all alter and any array arraylen as asc assert assign at attributes audit authorization avg base_table begin between binary_integer body boolean by case cast char char_base check close cluster clusters colauth column comment commit compress connect connected constant constraint crash create current currval cursor data_base database date dba deallocate debugoff debugon decimal declare default definition delay delete desc digits dispose distinct do drop else elseif elsif enable end entry escape exception exception_init exchange exclusive exists exit external fast fetch file for force form from function generic goto grant group having identified if immediate in increment index indexes indicator initial initrans insert interface intersect into is key level library like limited local lock log logging long loop master maxextents maxtrans member minextents minus mislabel mode modify multiset new next no noaudit nocompress nologging noparallel not nowait number_base object of off offline on online only open option or order out package parallel partition pctfree pctincrease pctused pls_integer positive positiven pragma primary prior private privileges procedure public raise range raw read rebuild record ref references refresh release rename replace resource restrict return returning returns reverse revoke rollback row rowid rowlabel rownum rows run savepoint schema segment select separate session set share snapshot some space split sql start statement storage subtype successful synonym tabauth table tables tablespace task terminate then to trigger truncate type union unique unlimited unrecoverable unusable update use using validate value values variable view views when whenever where while with work"),builtin:M("abs acos add_months ascii asin atan atan2 average bfile bfilename bigserial bit blob ceil character chartorowid chr clob concat convert cos cosh count dec decode deref dual dump dup_val_on_index empty error exp false float floor found glb greatest hextoraw initcap instr instrb int integer isopen last_day least length lengthb ln lower lpad ltrim lub make_ref max min mlslabel mod months_between natural naturaln nchar nclob new_time next_day nextval nls_charset_decl_len nls_charset_id nls_charset_name nls_initcap nls_lower nls_sort nls_upper nlssort no_data_found notfound null number numeric nvarchar2 nvl others power rawtohex real reftohex round rowcount rowidtochar rowtype rpad rtrim serial sign signtype sin sinh smallint soundex sqlcode sqlerrm sqrt stddev string substr substrb sum sysdate tan tanh to_char text to_date to_label to_multi_byte to_number to_single_byte translate true trunc uid unlogged upper user userenv varchar varchar2 variance varying vsize xml"),operatorChars:/^[*\/+\-%<>!=~]/,dateSQL:M("date time timestamp"),support:M("doubleQuote nCharCast zerolessFloat binaryNumber hexNumber")}),SC=je({keywords:M("select alter $elem$ $key$ $value$ add after all analyze and archive as asc before between binary both bucket buckets by cascade case cast change cluster clustered clusterstatus collection column columns comment compute concatenate continue create cross cursor data database databases dbproperties deferred delete delimited desc describe directory disable distinct distribute drop else enable end escaped exclusive exists explain export extended external fetch fields fileformat first format formatted from full function functions grant group having hold_ddltime idxproperties if import in index indexes inpath inputdriver inputformat insert intersect into is items join keys lateral left like limit lines load local location lock locks mapjoin materialized minus msck no_drop nocompress not of offline on option or order out outer outputdriver outputformat overwrite partition partitioned partitions percent plus preserve procedure purge range rcfile read readonly reads rebuild recordreader recordwriter recover reduce regexp rename repair replace restrict revoke right rlike row schema schemas semi sequencefile serde serdeproperties set shared show show_database sort sorted ssl statistics stored streamtable table tables tablesample tblproperties temporary terminated textfile then tmp to touch transform trigger unarchive undo union uniquejoin unlock update use using utc utc_tmestamp view when where while with admin authorization char compact compactions conf cube current current_date current_timestamp day decimal defined dependency directories elem_type exchange file following for grouping hour ignore inner interval jar less logical macro minute month more none noscan over owner partialscan preceding pretty principals protection reload rewrite role roles rollup rows second server sets skewed transactions truncate unbounded unset uri user values window year"),builtin:M("bool boolean long timestamp tinyint smallint bigint int float double date datetime unsigned string array struct map uniontype key_type utctimestamp value_type varchar"),atoms:M("false true null unknown"),operatorChars:/^[*+\-%<>!=]/,dateSQL:M("date timestamp"),support:M("ODBCdotTable doubleQuote binaryNumber hexNumber")}),yC=je({client:M("source"),keywords:M(Fi+"a abort abs absent absolute access according action ada add admin after aggregate alias all allocate also alter always analyse analyze and any are array array_agg array_max_cardinality as asc asensitive assert assertion assignment asymmetric at atomic attach attribute attributes authorization avg backward base64 before begin begin_frame begin_partition bernoulli between bigint binary bit bit_length blob blocked bom boolean both breadth by c cache call called cardinality cascade cascaded case cast catalog catalog_name ceil ceiling chain char char_length character character_length character_set_catalog character_set_name character_set_schema characteristics characters check checkpoint class class_origin clob close cluster coalesce cobol collate collation collation_catalog collation_name collation_schema collect column column_name columns command_function command_function_code comment comments commit committed concurrently condition condition_number configuration conflict connect connection connection_name constant constraint constraint_catalog constraint_name constraint_schema constraints constructor contains content continue control conversion convert copy corr corresponding cost count covar_pop covar_samp create cross csv cube cume_dist current current_catalog current_date current_default_transform_group current_path current_role current_row current_schema current_time current_timestamp current_transform_group_for_type current_user cursor cursor_name cycle data database datalink datatype date datetime_interval_code datetime_interval_precision day db deallocate debug dec decimal declare default defaults deferrable deferred defined definer degree delete delimiter delimiters dense_rank depends depth deref derived desc describe descriptor detach detail deterministic diagnostics dictionary disable discard disconnect dispatch distinct dlnewcopy dlpreviouscopy dlurlcomplete dlurlcompleteonly dlurlcompletewrite dlurlpath dlurlpathonly dlurlpathwrite dlurlscheme dlurlserver dlvalue do document domain double drop dump dynamic dynamic_function dynamic_function_code each element else elseif elsif empty enable encoding encrypted end end_frame end_partition endexec enforced enum equals errcode error escape event every except exception exclude excluding exclusive exec execute exists exit exp explain expression extension external extract false family fetch file filter final first first_value flag float floor following for force foreach foreign fortran forward found frame_row free freeze from fs full function functions fusion g general generated get global go goto grant granted greatest group grouping groups handler having header hex hierarchy hint hold hour id identity if ignore ilike immediate immediately immutable implementation implicit import in include including increment indent index indexes indicator info inherit inherits initially inline inner inout input insensitive insert instance instantiable instead int integer integrity intersect intersection interval into invoker is isnull isolation join k key key_member key_type label lag language large last last_value lateral lead leading leakproof least left length level library like like_regex limit link listen ln load local localtime localtimestamp location locator lock locked log logged loop lower m map mapping match matched materialized max max_cardinality maxvalue member merge message message_length message_octet_length message_text method min minute minvalue mod mode modifies module month more move multiset mumps name names namespace national natural nchar nclob nesting new next nfc nfd nfkc nfkd nil no none normalize normalized not nothing notice notify notnull nowait nth_value ntile null nullable nullif nulls number numeric object occurrences_regex octet_length octets of off offset oids old on only open operator option options or order ordering ordinality others out outer output over overlaps overlay overriding owned owner p pad parallel parameter parameter_mode parameter_name parameter_ordinal_position parameter_specific_catalog parameter_specific_name parameter_specific_schema parser partial partition pascal passing passthrough password path percent percent_rank percentile_cont percentile_disc perform period permission pg_context pg_datatype_name pg_exception_context pg_exception_detail pg_exception_hint placing plans pli policy portion position position_regex power precedes preceding precision prepare prepared preserve primary print_strict_params prior privileges procedural procedure procedures program public publication query quote raise range rank read reads real reassign recheck recovery recursive ref references referencing refresh regr_avgx regr_avgy regr_count regr_intercept regr_r2 regr_slope regr_sxx regr_sxy regr_syy reindex relative release rename repeatable replace replica requiring reset respect restart restore restrict result result_oid return returned_cardinality returned_length returned_octet_length returned_sqlstate returning returns reverse revoke right role rollback rollup routine routine_catalog routine_name routine_schema routines row row_count row_number rows rowtype rule savepoint scale schema schema_name schemas scope scope_catalog scope_name scope_schema scroll search second section security select selective self sensitive sequence sequences serializable server server_name session session_user set setof sets share show similar simple size skip slice smallint snapshot some source space specific specific_name specifictype sql sqlcode sqlerror sqlexception sqlstate sqlwarning sqrt stable stacked standalone start state statement static statistics stddev_pop stddev_samp stdin stdout storage strict strip structure style subclass_origin submultiset subscription substring substring_regex succeeds sum symmetric sysid system system_time system_user t table table_name tables tablesample tablespace temp template temporary text then ties time timestamp timezone_hour timezone_minute to token top_level_count trailing transaction transaction_active transactions_committed transactions_rolled_back transform transforms translate translate_regex translation treat trigger trigger_catalog trigger_name trigger_schema trim trim_array true truncate trusted type types uescape unbounded uncommitted under unencrypted union unique unknown unlink unlisten unlogged unnamed unnest until untyped update upper uri usage use_column use_variable user user_defined_type_catalog user_defined_type_code user_defined_type_name user_defined_type_schema using vacuum valid validate validator value value_of values var_pop var_samp varbinary varchar variable_conflict variadic varying verbose version versioning view views volatile warning when whenever where while whitespace width_bucket window with within without work wrapper write xml xmlagg xmlattributes xmlbinary xmlcast xmlcomment xmlconcat xmldeclaration xmldocument xmlelement xmlexists xmlforest xmliterate xmlnamespaces xmlparse xmlpi xmlquery xmlroot xmlschema xmlserialize xmltable xmltext xmlvalidate year yes zone"),builtin:M("bigint int8 bigserial serial8 bit varying varbit boolean bool box bytea character char varchar cidr circle date double precision float8 inet integer int int4 interval json jsonb line lseg macaddr macaddr8 money numeric decimal path pg_lsn point polygon real float4 smallint int2 smallserial serial2 serial serial4 text time without zone with timetz timestamp timestamptz tsquery tsvector txid_snapshot uuid xml"),atoms:M("false true null unknown"),operatorChars:/^[*\/+\-%<>!=&|^\/#@?~]/,backslashStringEscapes:!1,dateSQL:M("date time timestamp"),support:M("ODBCdotTable decimallessFloat zerolessFloat binaryNumber hexNumber nCharCast charsetCast escapeConstant")}),kC=je({keywords:M("ancestor and asc by contains desc descendant distinct from group has in is limit offset on order select superset where"),atoms:M("false true"),builtin:M("blob datetime first key __key__ string integer double boolean null"),operatorChars:/^[*+\-%<>!=]/}),xC=je({client:M("source"),keywords:M("abort absolute access action active add admin after aggregate all also alter always analyse analyze and any array as asc assertion assignment asymmetric at authorization backward before begin between bigint binary bit boolean both by cache called cascade cascaded case cast chain char character characteristics check checkpoint class close cluster coalesce codegen collate column comment commit committed concurrency concurrently configuration connection constraint constraints contains content continue conversion copy cost cpu_rate_limit create createdb createexttable createrole createuser cross csv cube current current_catalog current_date current_role current_schema current_time current_timestamp current_user cursor cycle data database day deallocate dec decimal declare decode default defaults deferrable deferred definer delete delimiter delimiters deny desc dictionary disable discard distinct distributed do document domain double drop dxl each else enable encoding encrypted end enum errors escape every except exchange exclude excluding exclusive execute exists explain extension external extract false family fetch fields filespace fill filter first float following for force foreign format forward freeze from full function global grant granted greatest group group_id grouping handler hash having header hold host hour identity if ignore ilike immediate immutable implicit in including inclusive increment index indexes inherit inherits initially inline inner inout input insensitive insert instead int integer intersect interval into invoker is isnull isolation join key language large last leading least left level like limit list listen load local localtime localtimestamp location lock log login mapping master match maxvalue median merge minute minvalue missing mode modifies modify month move name names national natural nchar new newline next no nocreatedb nocreateexttable nocreaterole nocreateuser noinherit nologin none noovercommit nosuperuser not nothing notify notnull nowait null nullif nulls numeric object of off offset oids old on only operator option options or order ordered others out outer over overcommit overlaps overlay owned owner parser partial partition partitions passing password percent percentile_cont percentile_disc placing plans position preceding precision prepare prepared preserve primary prior privileges procedural procedure protocol queue quote randomly range read readable reads real reassign recheck recursive ref references reindex reject relative release rename repeatable replace replica reset resource restart restrict returning returns revoke right role rollback rollup rootpartition row rows rule savepoint scatter schema scroll search second security segment select sequence serializable session session_user set setof sets share show similar simple smallint some split sql stable standalone start statement statistics stdin stdout storage strict strip subpartition subpartitions substring superuser symmetric sysid system table tablespace temp template temporary text then threshold ties time timestamp to trailing transaction treat trigger trim true truncate trusted type unbounded uncommitted unencrypted union unique unknown unlisten until update user using vacuum valid validation validator value values varchar variadic varying verbose version view volatile web when where whitespace window with within without work writable write xml xmlattributes xmlconcat xmlelement xmlexists xmlforest xmlparse xmlpi xmlroot xmlserialize year yes zone"),builtin:M("bigint int8 bigserial serial8 bit varying varbit boolean bool box bytea character char varchar cidr circle date double precision float float8 inet integer int int4 interval json jsonb line lseg macaddr macaddr8 money numeric decimal path pg_lsn point polygon real float4 smallint int2 smallserial serial2 serial serial4 text time without zone with timetz timestamp timestamptz tsquery tsvector txid_snapshot uuid xml"),atoms:M("false true null unknown"),operatorChars:/^[*+\-%<>!=&|^\/#@?~]/,dateSQL:M("date time timestamp"),support:M("ODBCdotTable decimallessFloat zerolessFloat binaryNumber hexNumber nCharCast charsetCast")}),wC=je({keywords:M("add after all alter analyze and anti archive array as asc at between bucket buckets by cache cascade case cast change clear cluster clustered codegen collection column columns comment commit compact compactions compute concatenate cost create cross cube current current_date current_timestamp database databases data dbproperties defined delete delimited deny desc describe dfs directories distinct distribute drop else end escaped except exchange exists explain export extended external false fields fileformat first following for format formatted from full function functions global grant group grouping having if ignore import in index indexes inner inpath inputformat insert intersect interval into is items join keys last lateral lazy left like limit lines list load local location lock locks logical macro map minus msck natural no not null nulls of on optimize option options or order out outer outputformat over overwrite partition partitioned partitions percent preceding principals purge range recordreader recordwriter recover reduce refresh regexp rename repair replace reset restrict revoke right rlike role roles rollback rollup row rows schema schemas select semi separated serde serdeproperties set sets show skewed sort sorted start statistics stored stratify struct table tables tablesample tblproperties temp temporary terminated then to touch transaction transactions transform true truncate unarchive unbounded uncache union unlock unset use using values view when where window with"),builtin:M("tinyint smallint int bigint boolean float double string binary timestamp decimal array map struct uniontype delimited serde sequencefile textfile rcfile inputformat outputformat"),atoms:M("false true null"),operatorChars:/^[*\/+\-%<>!=~&|^]/,dateSQL:M("date time timestamp"),support:M("ODBCdotTable doubleQuote zerolessFloat")}),PC=je({client:M("source"),keywords:M("alter and as asc between by count create delete desc distinct drop from group having in insert into is join like not on or order select set table union update values where limit after all and as at asc avedev avg between by case cast coalesce count create current_timestamp day days delete define desc distinct else end escape events every exists false first from full group having hour hours in inner insert instanceof into irstream is istream join last lastweekday left limit like max match_recognize matches median measures metadatasql min minute minutes msec millisecond milliseconds not null offset on or order outer output partition pattern prev prior regexp retain-union retain-intersection right rstream sec second seconds select set some snapshot sql stddev sum then true unidirectional until update variable weekday when where window"),builtin:{},atoms:M("false true null"),operatorChars:/^[*+\-%<>!=&|^\/#@?~]/,dateSQL:M("time"),support:M("decimallessFloat zerolessFloat binaryNumber hexNumber")});var Cg={name:"toml",startState:function(){return{inString:!1,stringType:"",lhs:!0,inArray:0}},token:function(i,e){let t;if(!e.inString&&(t=i.match(/^('''|"""|'|")/))&&(e.stringType=t[0],e.inString=!0),i.sol()&&!e.inString&&e.inArray===0&&(e.lhs=!0),e.inString){for(;e.inString;)if(i.match(e.stringType))e.inString=!1;else if(i.peek()==="\\")i.next(),i.next();else{if(i.eol())break;i.match(/^.[^\\\"\']*/)}return e.lhs?"property":"string"}else{if(e.inArray&&i.peek()==="]")return i.next(),e.inArray--,"bracket";if(e.lhs&&i.peek()==="["&&i.skipTo("]"))return i.next(),i.peek()==="]"&&i.next(),"atom";if(i.peek()==="#")return i.skipToEnd(),"comment";if(i.eatSpace())return null;if(e.lhs&&i.eatWhile(function(n){return n!="="&&n!=" "}))return"property";if(e.lhs&&i.peek()==="=")return i.next(),e.lhs=!1,null;if(!e.lhs&&i.match(/^\d\d\d\d[\d\-\:\.T]*Z/))return"atom";if(!e.lhs&&(i.match("true")||i.match("false")))return"atom";if(!e.lhs&&i.peek()==="[")return e.inArray++,i.next(),"bracket";if(!e.lhs&&i.match(/^\-?\d+(?:\.\d+)?/))return"number";i.eatSpace()||i.next()}return null},languageData:{commentTokens:{line:"#"}}};var wP=Qe({"for in if else endfor endif":d.controlKeyword,"Attribute/Identifier":d.definition(d.propertyName),"ForIntro/Identifier":d.definition(d.propertyName),"Block/Identifier":d.definitionKeyword,"FunctionCall/Identifier":d.function(d.variableName),"Attribute/Expression":d.attributeValue,"VariableExpr/Identifier":d.variableName,"GetAttr/Identifier":d.variableName,Identifier:d.name,"LiteralValue/...":d.literal,"StringLit/... TemplateLiteral":d.string,NumericLit:d.number,BoolLit:d.bool,NullLit:d.null,Comment:d.comment,LineComment:d.lineComment,BlockComment:d.blockComment,"( )":d.paren,"{ }":d.bracket,"[ ]":d.squareBracket,ArithOp:d.arithmeticOperator,LogicOp:d.logicOperator,CompareOp:d.compareOperator,ControlOp:d.controlOperator,HeredocIdentifier:d.special(d.controlKeyword),HeredocStart:d.special(d.brace),"TemplateInterpolationStart TemplateInterpolationEnd":d.special(d.brace),"TemplateDirectiveStart TemplateDirectiveEnd":d.special(d.brace),StripMarker:d.special(d.brace),Ellipsis:d.punctuation,": =>":d.punctuation,",":d.separator}),gh=1,Qh=2,bh=3,Sh=4,yh=5,kh=6,An=7,Ze=93,Ce={QUOTED_TEMPLATE:1,TEMPLATE_INTERPOLATION:2,TEMPLATE_DIRECTIVE:4,HEREDOC_TEMPLATE:8},PP=function(i){var e=0,t,n;if(i.length===0)return e;for(t=0;t{if(e.canShift(gh)&&!(e.context&&e.context.type===Ce.QUOTED_TEMPLATE)&&String.fromCharCode(i.next)==='"')return i.advance(),i.acceptToken(gh)},{contextual:!0,fallback:!0}),CP=new J((i,e)=>{if(e.canShift(Qh)&&e.context&&e.context.type===Ce.QUOTED_TEMPLATE&&String.fromCharCode(i.next)==='"')return i.advance(),i.acceptToken(Qh)},{contextual:!0,fallback:!0}),XP=new J((i,e)=>{if(e.canShift(Ze)&&e.context&&e.context.type===Ce.QUOTED_TEMPLATE)switch(String.fromCharCode(i.next)){case"\\":switch(i.advance(),String.fromCharCode(i.next)){case'"':case"n":case"r":case"t":case"\\":return i.advance(),i.acceptToken(Ze);case"u":for(let t=0;t<4;t++)if(i.advance(),!/[0-9a-fA-F]/.test(String.fromCharCode(i.next)))return;return i.advance(),i.acceptToken(Ze);case"U":for(let t=0;t<8;t++)if(i.advance(),!/[0-9a-fA-F]/.test(String.fromCharCode(i.next)))return;return i.advance(),i.acceptToken(Ze);default:return}}if(e.canShift(Ze)&&e.context&&(e.context.type===Ce.QUOTED_TEMPLATE||e.context.type===Ce.HEREDOC_TEMPLATE)&&i.next!==-1)return i.advance(),i.acceptToken(Ze)},{contextual:!0,fallback:!0}),_P=new J((i,e)=>{if(e.canShift(bh)&&e.canShift(Ze)&&!(e.context&&e.context.type===Ce.TEMPLATE_INTERPOLATION)&&String.fromCharCode(i.next)==="$")return i.advance(),String.fromCharCode(i.next)==="{"?(i.advance(),i.acceptToken(bh)):(String.fromCharCode(i.next)==="$"&&(i.advance(),String.fromCharCode(i.next)==="{")&&i.advance(),i.acceptToken(Ze))},{contextual:!0,fallback:!0}),RP=new J((i,e)=>{if(e.canShift(Sh)&&e.context&&e.context.type===Ce.TEMPLATE_INTERPOLATION&&String.fromCharCode(i.next)==="}")return i.advance(),i.acceptToken(Sh)},{contextual:!0,fallback:!0}),AP=new J((i,e)=>{if(e.canShift(yh)&&e.canShift(Ze)&&!(e.context&&e.context.type===Ce.TEMPLATE_DIRECTIVE)&&String.fromCharCode(i.next)==="%")return i.advance(),String.fromCharCode(i.next)==="{"?(i.advance(),i.acceptToken(yh)):(String.fromCharCode(i.next)==="%"&&(i.advance(),String.fromCharCode(i.next)==="{")&&i.advance(),i.acceptToken(Ze))},{contextual:!0,fallback:!0}),ZP=new J((i,e)=>{if(e.canShift(kh)&&e.context&&e.context.type===Ce.TEMPLATE_DIRECTIVE&&String.fromCharCode(i.next)==="}")return i.advance(),i.acceptToken(kh)},{contextual:!0,fallback:!0}),EP=new J((i,e)=>{if(e.canShift(An)&&!(e.context&&e.context.type===Ce.HEREDOC_TEMPLATE)&&i.next!==-1){let t=String.fromCharCode(i.next);for(;/[0-9a-zA-Z]/.test(t)||t==="_"||t==="-";)i.advance(),t=String.fromCharCode(i.next);return i.acceptToken(An)}if(e.canShift(An)&&e.canShift(Ze)&&e.context&&e.context.type===Ce.HEREDOC_TEMPLATE&&i.next!=-1){let t=e.context.heredoc_identifier,n=!1,r=!1,s=String.fromCharCode(i.next);for(;/\s/.test(s);)r=!0,s===` `&&(n=!0),i.advance(),s=String.fromCharCode(i.next);if(r&&i.acceptToken(Ze),!n)return;let o=0;for(let l=0;lbQ&jO,5:fOOQy,5:h,5:hPOQy'#EY'#EYPOQy,5:j,5:jPOQy,5:k,5:kOOQy1G0g1G0gOOQO7+%u7+%uO>jQ&jO7+%uOOQ%n,5:|,5:|OOQ%n1G.}1G.}O>oQ&rO1G.}O>tQ&rO1G.}OOQ%n1G/Q1G/QO?PQ&jO,59jO?[Q'[O,59jOOQ%n1G/W1G/WO1tQ)tO1G/WO?dQ&jO'#DVO1tQ)tO1G/WO?rQ&jO,59oO@QQ'[O,59oO@YQ'[O,59qO@bQ&jO1G/RO@jQ&jO1G/RO$yQ&kO1G/XO@oQ'[O1G/XOOQy7+$y7+$yO@zQ&jO,5:rOA]Q&kO1G0lOOQO-E8U-E8UOOQy7+%[7+%[OAdQ&jO7+%[O$yQ&kO'#DlO$yQ&kO1G/qOAiQ&jO1G/qOOQP'#ES'#ESO$yQ&kO7+%rP$yQ&kO'#EXO$yQ&kO7+%_OAnQ&kO,5:ROAuQ&jO,5:ROOQO,5:R,5:ROOQy7+%V7+%VOOQy1G0Q1G0QPOQy-E8W-E8WOOQO<eAN>eOKmQ&jOAN>eOKrQ&jOAN>eOOQ%n<cOOQyG24PG24POLiQ&jOG24POOQ$YG23_G23_OLnQ'[OG23_OLyQ'[OG23_O$yQ&kOG23_OOQPG23}G23}OOQyLD)kLD)kOOQ$YLD(yLD(yOMOQ'[OLD(yOMTQ'[OLD(yOOQ$Y!$'Le!$'LeOM`Q'[O!$'LeOOQ$Y!)9BP!)9BPO-wQ&kO'#DoO/TQ&kO'#DoOMeQ&kO'#CkO-wQ&kO,5:^O/TQ&kO,5:^O-wQ&kO,5:^O/TQ&kO,5:^O-wQ&kO,5:^O/TQ&kO,5:^O-wQ&kO,5:^O/TQ&kO,5:^O-wQ&kO,5:^O/TQ&kO,5:^O-wQ&kO,5:^O/TQ&kO,5:^ON[Q&kO1G/xO! XQ&kO1G/xO!!UQ&kO1G/xO!%UQ&kO1G/xO!%]Q&kO1G/xO-wQ&kO7+%rO/TQ&kO7+%rO4uQ&jO1G0WO4uQ&jO1G0WO$yQ&kO,5:lO$yQ&kO,5:l",stateData:"!%l~O#ROSXPQYPQ~O^RO!SQO~OXVOYVO~OPZO^gOa[OcXOdXOfYO!P`O!RdO!ScO!YoO#W]O#X]O#^iO#_jO~OPqO^sO!SuO#SrO~O^RO#O[X!R[X~OQ!PORyOT!QO#PwO~OV!RO~OPZO^gOa[OcXOdXOfYOp!WO!P`O!ScO!YoO#W]O#X]O#^iO#_jO~O!O!TO~P#iO#S!XO#[!XO#o!YO~OPZO^gOa[OcXOdXOfYO!P`O!ScO!YoO#W]O#X]O#^iO#_jO~O#V!]O!R#ZX~P$yOp!WO~PmO!R!`O~O!Y!aO!P!VX!o!VX#^!VX#`!VX#a!VX#b!VX#c!VX#d!VX#e!VX#f!VX#g!VX#h!VX#i!VX#j!VX#k!VX#l!VX#m!VX#n!VX#o!VX~O#S!VX#[!VX!O!VX#V!VX!W!VX^!VX#O!VXS!VXl!VXv!VX![!VXU!VX!R!VX~P&[O!o!pO#^!dO#`!cO#a!cO#b!cO#c!dO#d!eO#e!eO#f!eO#g!eO#h!fO#i!fO#j!gO#k!hO#l!qO#m!rO#n!sO#o_X#V_X^_X!R_X~O!P!oO#S_X#[_X!O_X!W_X#O_XS_Xl_Xv_X![_XU_X~P(iOPqO^sO!S!zO~O^RO!R!{O~O#P!}OQ#UPR#UPT#UPV#UP~OQ#POR!yXT!yX#P!yX~OS#QOl#RO~P$yORyOT#VO#PwO~ORyOT#ZO#PwO~OQ#]ORyOT!QO#PwO~Ol#_Op#^Ov#`O~ORyOT!QOV#bO#PwO~O#V#cO#o!YO!O#YX~O!O#eO~O^#gO~OPZO^#iOa[OcXOdXOfYO!P`O!ScO!YoO#W]O#X]O#^iO#_jO~O!R#Za~P$yO#V#lO!R#Za~P$yOPZO^#nOa[OcXOdXOfYO!P`O!ScO!YoO#W]O#X]O#^iO#_jO~O!W#rO~P$yO^#{O~O!W$PO#o!YO~OQ#PO~O#o!YO^]i#O]i!R]i~O^RO!R$QO~OS$TOl$UO~P$yOS$TOl$UO#o!YO~Ol$XOp#^Os$YOv#`O~ORyOT$]O#PwO~Ol$_Op#^Ov#`Ox$`Oz$aO~O^$bO~Op$cOv$dO~ORyOT!QOV$fO#PwO~O!O#Ya~P$yO#V$hO!O#Ya~Ov$lO!O$jO#o!YO~Oq$mO#V$nO~O#o!YOP!Ui^!Uia!Uic!Uid!Uif!Ui!P!Ui!R!Ui!S!Ui!Y!Ui#V!Ui#W!Ui#X!Ui#^!Ui#_!Ui~O#[$oO#o!YO~O!R#Zi~P$yO#]!VX~P&[O#]$rO#o!YO~O!o!pO#^!dO#`!cO#a!cO#b!cO#c!dO#d!eO#e!eO#f!eO#g!eO#h!fO#i!fO#j!gO#k!hO#l!qO#m!rO#n!sO#o_X~O!P!oO#]_X~P5eO![$uO#V$sO#o!YO!W!ZX~O!W$vO~O#`!cO#a!cO#b!cO!P!fi!o!fi#S!fi#[!fi#d!fi#e!fi#f!fi#g!fi#h!fi#i!fi#j!fi#k!fi#l!fi#m!fi#n!fi#o!fi!O!fi#V!fi!W!fi^!fi#O!fiS!fil!fiv!fi![!fiU!fi!R!fi~O#^!fi#c!fi~P7^O#^!dO#c!dO~P7^O#^!dO#`!cO#a!cO#b!cO#c!dO#d!eO#e!eO#f!eO#g!eO!P!fi!o!fi#S!fi#[!fi#j!fi#k!fi#l!fi#m!fi#n!fi#o!fi!O!fi#V!fi!W!fi^!fi#O!fiS!fil!fiv!fi![!fiU!fi!R!fi~O#h!fi#i!fi~P9rO#h!fO#i!fO~P9rO#^!dO#`!cO#a!cO#b!cO#c!dO#d!eO#e!eO#f!eO#g!eO#h!fO#i!fO#j!gO!P!fi!o!fi#k!fi#l!fi#m!fi#n!fi#o!fi#V!fi^!fi!R!fi~O#S!fi#[!fi!O!fi!W!fi#O!fiS!fil!fiv!fi![!fiU!fi~PqP[i]||-1}],tokenPrec:2320}),zP=ve.define({parser:EP.configure({props:[we.add({Block:St({closing:"}",align:!1})}),$e.add({"Object Tuple TemplateFor TemplateIf":ct,BlockComment:i=>({from:i.from+2,to:i.to-2}),HeredocTemplate(i){let e=i.getChild("HeredocIdentifier");return e?{from:e.to,to:i.to}:null},FunctionCall(i){let e=i.getChild("("),t=i.getChild(")");return!e||!t?null:{from:e.from+1,to:t.to-1}},Block(i){let e=i.getChild("{"),t=i.getChild("}");return!e||!t?null:{from:e.from+1,to:t.to-1}}}),xP]}),languageData:{commentTokens:{line:"#",block:{open:"/*",close:"*/"}}}});function Tg(){return new pe(zP)}function LP(i){let e=i.trim();if(!e)return"";if(/^#!.*\b(?:ba)?sh\b|^\s*\$\s+/.test(e))return"bash";if(e.startsWith("{")&&e.endsWith("}")||e.startsWith("[")&&e.endsWith("]"))try{return JSON.parse(e),"json"}catch{}return/^\s*(?:|(?:using\s+namespace\s+std|std::\w+|(?:cout|cin)\s*(?:<<|>>))\b)/m.test(e)?"cpp":/^\s*(?:#\s*include\s*[<"](?:assert|ctype|errno|float|inttypes|limits|math|setjmp|signal|stdarg|stdbool|stddef|stdint|stdio|stdlib|string|time)\.h[>"]|(?:int|void)\s+main\s*\([^)]*\)\s*\{)/m.test(e)?"c":/^\s*(?:async\s+)?def\s+\w+\s*\(|^\s*from\s+\w+[\w.]*\s+import\b|^\s*class\s+\w+\s*[:(]/m.test(e)?"python":/\b(?:SELECT|INSERT|UPDATE|DELETE|CREATE\s+(?:TABLE|VIEW|INDEX)|WITH)\b[\s\S]*\b(?:FROM|INTO|WHERE|AS)\b/i.test(e)?"sql":/(?:^|\n)\s*(?:[#.]?[A-Za-z][\w-]*)\s*\{[\s\S]*:[\s\S]*\}/.test(e)||/@(?:media|keyframes|supports)\b/.test(e)?"css":/^\s*(?:const|let|var)\s+[A-Za-z_$][\w$]*\s*(?::[^=\n]+)?\s*=/m.test(e)||/\b(?:function\s+\w+\s*\(|console\.(?:log|error|warn)|=>)/.test(e)?"javascript":/^\s*(?:[-A-Za-z_][\w-]*):\s*(?:[^:#\n]|$)/m.test(e)&&!/[{};]/.test(e)?"yaml":/^\s*(?:echo|printf|export|source|cd|mkdir|rm|cp|mv)\s+/m.test(e)?"bash":""}var Ue=(i,e,t)=>Be.of({name:i,alias:e,support:new pe(Zs.define(t))}),Ug=[Be.of({name:"javascript",alias:["js","jsx","ts","tsx","typescript","node"],support:so({jsx:!0,typescript:!0})}),Be.of({name:"python",alias:["py"],support:Wm()}),Be.of({name:"json",alias:["jsonc"],support:Vm()}),Be.of({name:"css",alias:["scss"],support:ro()}),Be.of({name:"html",alias:["htm","xml"],support:ao()}),Be.of({name:"hcl",alias:["terraform","tf"],support:Tg()}),Ue("swift",[],Ym),Ue("shell",["sh","bash","zsh","console"],Nm),Ue("yaml",["yml"],Fm),Ue("go",["golang"],tg),Ue("ruby",["rb"],rg),Ue("rust",["rs"],ag),Ue("c",["h"],mg),Ue("cpp",["c++","cc","hpp"],gg),Ue("java",[],Qg),Ue("kotlin",["kt"],yg),Ue("objective-c",["objc","objectivec"],kg),Ue("csharp",["cs","c#"],bg),Ue("sql",[],je({})),Ue("toml",[],$g)],MP={resolve:"Highlight",mark:"HighlightMark"},WP=/[\p{S}\p{P}]/u;function Cg(i){return!i||/\s/.test(i)}function Xg(i){return!!i&&WP.test(i)}var qh={defineNodes:["Highlight","HighlightMark"],parseInline:[{name:"Highlight",parse(i,e,t){if(e!==61||i.char(t+1)!==61)return-1;let n=t;for(;n>i.offset&&i.char(n-1)===61;)n--;let r=t+2;for(;i.char(r)===61;)r++;let s=n+(r-n)%2;if(t=i.offset&&i.char(m)===92;m--)o++;if(o%2!==0)return-1;let a=i.slice(n-1,n),l=i.slice(r,r+1),c=Cg(a),h=Cg(l),f=Xg(a),u=Xg(l),O=!h&&(!u||c||f),p=!c&&(!f||h||u);return i.addDelimiter(MP,t,t+2,O,p)},after:"Emphasis"}]},Mr=class extends Re{constructor(e,t){super(),this.text=e,this.className=t}eq(e){return e.text===this.text&&e.className===this.className}toDOM(){let e=document.createElement("span");return e.textContent=this.text,e.className=this.className,e}ignoreEvent(){return!1}},vh=class extends Re{constructor(e,t,n,r,s){super(),this.source=e,this.alt=t,this.raw=n,this.from=r,this.to=s}eq(e){return e.source===this.source&&e.alt===this.alt&&e.raw===this.raw&&e.from===this.from&&e.to===this.to}toDOM(e){let t=document.createElement("span");t.className="cm-md-image-preview",t.setAttribute("role","figure");let n=document.createElement("img");n.src=this.source,n.alt=this.alt,n.draggable=!1,n.addEventListener("error",()=>t.classList.add("cm-md-image-error"),{once:!0});let r=document.createElement("code");r.className="cm-md-image-source",r.textContent=this.raw,r.title="Click to edit image source";let s=o=>{o.preventDefault(),o.stopPropagation(),e.focus(),e.dispatch({selection:{anchor:Math.min(this.from+2,this.to)},userEvent:"select.pointer"})};return r.addEventListener("mousedown",s),r.addEventListener("click",s),n.addEventListener("mousedown",o=>{o.preventDefault(),o.stopPropagation()}),n.addEventListener("click",o=>{o.preventDefault(),o.stopPropagation();let a=n.currentSrc||n.src;a.startsWith("md-asset:")?window.__mdRequestImageRename?.(a):s(o)}),t.append(n,r),t}ignoreEvent(){return!0}},$h=class extends Re{eq(){return!0}toDOM(){let e=document.createElement("span");return e.className="cm-md-hr",e}ignoreEvent(){return!1}},jP=0,Th=class extends Re{constructor(e){super(),this.source=e}eq(e){return e.source===this.source}toDOM(e){let t=document.createElement("figure");t.className="cm-md-mermaid-preview",t.setAttribute("role","img"),t.setAttribute("aria-label","Mermaid diagram. Click to edit source.");let n=document.createElement("div");n.className="cm-md-mermaid-stage",n.textContent="Rendering diagram\u2026",t.appendChild(n),t.addEventListener("mousedown",o=>{o.preventDefault(),e.focus();let a=e.posAtDOM(t);e.dispatch({selection:{anchor:a+1},userEvent:"select.pointer"})});let r=window.mermaid;if(!r||typeof r.render!="function")return n.textContent="Mermaid preview unavailable. Click to edit source.",t;let s=`md-editor-mermaid-${++jP}`;return Promise.resolve(r.render(s,this.source)).then(({svg:o})=>{n.innerHTML=o;let a=n.querySelector("svg"),l=a?.viewBox?.baseVal;a&&l?.width>0&&l?.height>0&&(t.style.setProperty("--mm-aspect",`${l.width} / ${l.height}`),a.removeAttribute("width"),a.removeAttribute("height"),a.setAttribute("preserveAspectRatio","xMidYMid meet"),a.style.width="100%",a.style.height="100%"),e.requestMeasure()}).catch(()=>{n.textContent="Unable to render Mermaid diagram. Click to edit source.",t.classList.add("cm-md-mermaid-error"),e.requestMeasure()}),t}ignoreEvent(){return!0}},Gg=new WeakMap,Ch=ie.define({map:(i,e)=>e.mapPos(i,1,me.TrackAfter)??void 0}),qn=he.define({create:()=>new Set,update(i,e){if(!e.docChanged&&!e.effects.some(n=>n.is(Ch)))return i;let t=new Set([...i].map(n=>e.changes.mapPos(n,1,me.TrackAfter)).filter(n=>n!=null));for(let n of e.effects)n.is(Ch)&&(t.has(n.value)?t.delete(n.value):t.add(n.value));return t}}),yh=i=>'",Xo=class extends Re{constructor(e){super(),Object.assign(this,e)}eq(e){return e.fenceFrom===this.fenceFrom&&e.infoFrom===this.infoFrom&&e.infoTo===this.infoTo&&e.rawInfo===this.rawInfo&&e.detectedLanguage===this.detectedLanguage&&e.wrapped===this.wrapped&&e.plain===this.plain}toDOM(e){let t=document.createElement("span");t.className="cm-md-code-language",t.contentEditable="false";let n=document.createElement("input");n.type="text",n.className="cm-md-code-language-input",n.autocomplete="off",n.spellcheck=!1,n.value=this.language,n.readOnly=!!this.plain,n.placeholder="language",n.setAttribute("aria-label","Code block language"),n.dataset.fenceFrom=String(this.fenceFrom);let r=this.rawInfo.match(/^\S+([\s\S]*)$/)?.[1]||"",s=n.value,o=!0,a=!1,l=()=>{if(this.plain)return;let f=n.value.trim().split(/\s+/,1)[0].toLowerCase(),u=f?f+r:"";u!==this.rawInfo&&n.value!==s&&(a=!0,e.dispatch({changes:{from:this.infoFrom,to:this.infoTo,insert:u},userEvent:"input"}))};n.addEventListener("change",l),n.addEventListener("keydown",f=>{f.stopPropagation(),f.key==="Enter"?(f.preventDefault(),l(),n.blur(),e.focus()):f.key==="Escape"&&(f.preventDefault(),o=!1,n.value=this.language,n.blur(),e.focus())}),n.addEventListener("mousedown",f=>f.stopPropagation()),n.addEventListener("click",f=>f.stopPropagation()),n.addEventListener("blur",()=>{o&&!a&&l(),a=!1,o=!0}),t.appendChild(n);let c=(f,u,O,p)=>{let m=document.createElement("button");return m.type="button",m.className=`cm-md-code-action ${O}`,m.title=f,m.setAttribute("aria-label",f),m.innerHTML=yh(u),m.addEventListener("mousedown",b=>{b.preventDefault(),b.stopPropagation()}),m.addEventListener("click",b=>{b.preventDefault(),b.stopPropagation(),p(m)}),t.appendChild(m),m};return c(this.wrapped?"Unwrap code":"Wrap code",this.wrapped?"unwrap":"wrap","cm-md-code-toggle-wrap",()=>e.dispatch({effects:Ch.of(e.state.doc.lineAt(this.fenceFrom).from)})).setAttribute("aria-pressed",String(this.wrapped)),c("Copy code","copy","cm-md-code-copy",async f=>{let u=e.state.doc.lineAt(this.fenceFrom),O=B(e.state).resolve(this.plain?u.to:this.fenceFrom+1,-1);for(;O&&O.name!==(this.plain?"CodeBlock":"FencedCode");)O=O.parent;if(!O)return;let p=this.plain?O.getChildren("CodeText").map(m=>e.state.sliceDoc(m.from,m.to)).join(""):Ro(e.state,O).source;try{let m=Gg.get(e);m?m(p):await navigator.clipboard.writeText(p),f.innerHTML=yh("check"),f.title="Code copied",f.setAttribute("aria-label",f.title),clearTimeout(f.copyTimer),f.copyTimer=setTimeout(()=>{f.innerHTML=yh("copy"),f.title="Copy code",f.setAttribute("aria-label",f.title)},1100)}catch{}}),t}ignoreEvent(){return!0}};function vo(i,e=!1){let t=[],n="",r=0,s=()=>t.push({text:n.trim(),from:r+n.length-n.trimStart().length,to:r+n.trimEnd().length}),o=0,a=0;for(let c=0;cc.text)}function VP(i){let e=i.trim(),t=e.startsWith(":"),n=e.endsWith(":"),r=e.replace(/^:/,"").replace(/:$/,"");return/^-{3,}$/.test(r)?t&&n?"center":t?"left":n?"right":"none":null}function Eh(i){let e=i.endsWith(` +`)return i.acceptToken(An);if(!/\s/.test(String.fromCharCode(l)))return i.acceptToken(Ze);a++}}},{contextual:!0,fallback:!0}),qP={__proto__:null,true:39,false:41,null:45,for:64,in:66,endfor:70,if:76,else:80,endif:84},zP=Pe.deserialize({version:14,states:"EzQ]Q&jOOPeO&jOOOmQ&kO'#DaO!kQ&kO'#CiOOQO'#EU'#EUO!yQ&jO'#ChQOQ&jOOPOOO'#Cd'#CdPOOO)C@S)C@SOOQy'#Cn'#CnOOQy'#Cq'#CqO#UQ)vO'#CvOOQy'#Cl'#ClOOQ!b'#DY'#DYO#dQ'|O'#DXOOQy'#Cu'#CuO$gQ&kO'#D^O$nQ&jO'#DbO%tQ&kO'#EgO&OQ&kO'#DaOOQy,59{,59{O&VQ&jO,59{OOQy'#DZ'#DZO'lQ'dO'#DcOOQy'#Di'#DiOOQP'#Dp'#DpOOQP'#Dq'#DqO$yQ&kO'#DoO)|Q'dO'#CkOOQy'#Dn'#DnOOQy'#Ea'#EaO$yQ&kO'#EaOOQy'#Ck'#CkO#_Q)`O'#CsO$yQ&kO,59TOOQP'#EZ'#EZO*sQ&kO,5:oO+OQ&jO,5:oOOQO-E8S-E8SO+WQ+YO'#CtO+iQ)vO,59_O+wQ&sO'#CwO,RQ)tO'#CzO,^Q)tO'#DQOOQ%n'#Cy'#CyOOQ%n'#EV'#EVO,iQ)vO,59bOOQy,59b,59bO,wQ&jO'#DRO-SQ+WO,59sO-bQ&jO'#EfOOQy,59x,59xO-mQ&jO,59xO$yQ&kO,5:UO-rQ&jO'#DkO-wQ&kO,59|OOQP'#ER'#ERO$yQ&kO,5:lOOQP'#EX'#EXO.rQ&kO,5;RO.yQ&kO,5;RO/TQ&kO,5:XOOQy1G/g1G/gO0OQ&kO,5:POOQy,5:Z,5:ZOOQP'#Ds'#DsOOQP'#Dt'#DtOOQP'#Du'#DuOOQP'#Dv'#DvOOQP'#Dw'#DwOOQP'#Dx'#DxO$yQ&kO,5:^O$yQ&kO,5:^O$yQ&kO,5:^O$yQ&kO,5:^O$yQ&kO,5:^O$yQ&kO,5:^O$yQ&kO'#DzOOQy'#Dy'#DyO0VQ&jO'#D|OOQy'#EO'#EOOOQy'#EP'#EPOOQy'#D}'#D}OOQy,5:{,5:{O0[Q&jO,5:{O0dQ&lO,59_O0iQ&jO1G.oOOQP-E8X-E8XO0wQ&jO1G0ZOOQO1G0Z1G0ZO0zQ&jO1G0ZO+WQ+YO'#EbOOQ%n,59`,59`OOQy1G.y1G.yOOQ%n,59c,59cO1PQ&sO,59cO1ZQ&rO,59cOOQ%n,59f,59fO,RQ)tO,59fO1fQ&jO'#DOOOQ%n,59l,59lO1tQ)tO,59lO,^Q)tO,59lO2PQ&jO'#DTOOQ%n-E8T-E8TOOQy1G.|1G.|O2bQ&jO,59gO2gQ&jO,59mO$yQ&kO,59mO2oQ+WO1G/_OOQy1G/_1G/_O2}Q&kO,5;QO3UQ&jO,5;QOOQy1G/d1G/dO3^Q&jO1G/pO3iQ&jO,5:VO3qQ&kO1G/hOOQP'#Dc'#DcO4uQ&jO1G0WOOQP,5:s,5:sO4}Q&kO1G0mOOQP-E8V-E8VO5UQ,UO'#DcO5]Q,UO1G/sO6oQ,UO'#CkO6yQ&jO'#DgOOQy1G/k1G/kO7XQ&jO1G/kOOQy1G/x1G/xO9^Q'dO1G/xO9hQ'dO1G/xO;rQ'dO1G/xO;|Q'dO1G/xO=nQ'dO1G/xO>bQ&jO,5:fOOQy,5:h,5:hPOQy'#EY'#EYPOQy,5:j,5:jPOQy,5:k,5:kOOQy1G0g1G0gOOQO7+%u7+%uO>jQ&jO7+%uOOQ%n,5:|,5:|OOQ%n1G.}1G.}O>oQ&rO1G.}O>tQ&rO1G.}OOQ%n1G/Q1G/QO?PQ&jO,59jO?[Q'[O,59jOOQ%n1G/W1G/WO1tQ)tO1G/WO?dQ&jO'#DVO1tQ)tO1G/WO?rQ&jO,59oO@QQ'[O,59oO@YQ'[O,59qO@bQ&jO1G/RO@jQ&jO1G/RO$yQ&kO1G/XO@oQ'[O1G/XOOQy7+$y7+$yO@zQ&jO,5:rOA]Q&kO1G0lOOQO-E8U-E8UOOQy7+%[7+%[OAdQ&jO7+%[O$yQ&kO'#DlO$yQ&kO1G/qOAiQ&jO1G/qOOQP'#ES'#ESO$yQ&kO7+%rP$yQ&kO'#EXO$yQ&kO7+%_OAnQ&kO,5:ROAuQ&jO,5:ROOQO,5:R,5:ROOQy7+%V7+%VOOQy1G0Q1G0QPOQy-E8W-E8WOOQO<eAN>eOKmQ&jOAN>eOKrQ&jOAN>eOOQ%n<cOOQyG24PG24POLiQ&jOG24POOQ$YG23_G23_OLnQ'[OG23_OLyQ'[OG23_O$yQ&kOG23_OOQPG23}G23}OOQyLD)kLD)kOOQ$YLD(yLD(yOMOQ'[OLD(yOMTQ'[OLD(yOOQ$Y!$'Le!$'LeOM`Q'[O!$'LeOOQ$Y!)9BP!)9BPO-wQ&kO'#DoO/TQ&kO'#DoOMeQ&kO'#CkO-wQ&kO,5:^O/TQ&kO,5:^O-wQ&kO,5:^O/TQ&kO,5:^O-wQ&kO,5:^O/TQ&kO,5:^O-wQ&kO,5:^O/TQ&kO,5:^O-wQ&kO,5:^O/TQ&kO,5:^O-wQ&kO,5:^O/TQ&kO,5:^ON[Q&kO1G/xO! XQ&kO1G/xO!!UQ&kO1G/xO!%UQ&kO1G/xO!%]Q&kO1G/xO-wQ&kO7+%rO/TQ&kO7+%rO4uQ&jO1G0WO4uQ&jO1G0WO$yQ&kO,5:lO$yQ&kO,5:l",stateData:"!%l~O#ROSXPQYPQ~O^RO!SQO~OXVOYVO~OPZO^gOa[OcXOdXOfYO!P`O!RdO!ScO!YoO#W]O#X]O#^iO#_jO~OPqO^sO!SuO#SrO~O^RO#O[X!R[X~OQ!PORyOT!QO#PwO~OV!RO~OPZO^gOa[OcXOdXOfYOp!WO!P`O!ScO!YoO#W]O#X]O#^iO#_jO~O!O!TO~P#iO#S!XO#[!XO#o!YO~OPZO^gOa[OcXOdXOfYO!P`O!ScO!YoO#W]O#X]O#^iO#_jO~O#V!]O!R#ZX~P$yOp!WO~PmO!R!`O~O!Y!aO!P!VX!o!VX#^!VX#`!VX#a!VX#b!VX#c!VX#d!VX#e!VX#f!VX#g!VX#h!VX#i!VX#j!VX#k!VX#l!VX#m!VX#n!VX#o!VX~O#S!VX#[!VX!O!VX#V!VX!W!VX^!VX#O!VXS!VXl!VXv!VX![!VXU!VX!R!VX~P&[O!o!pO#^!dO#`!cO#a!cO#b!cO#c!dO#d!eO#e!eO#f!eO#g!eO#h!fO#i!fO#j!gO#k!hO#l!qO#m!rO#n!sO#o_X#V_X^_X!R_X~O!P!oO#S_X#[_X!O_X!W_X#O_XS_Xl_Xv_X![_XU_X~P(iOPqO^sO!S!zO~O^RO!R!{O~O#P!}OQ#UPR#UPT#UPV#UP~OQ#POR!yXT!yX#P!yX~OS#QOl#RO~P$yORyOT#VO#PwO~ORyOT#ZO#PwO~OQ#]ORyOT!QO#PwO~Ol#_Op#^Ov#`O~ORyOT!QOV#bO#PwO~O#V#cO#o!YO!O#YX~O!O#eO~O^#gO~OPZO^#iOa[OcXOdXOfYO!P`O!ScO!YoO#W]O#X]O#^iO#_jO~O!R#Za~P$yO#V#lO!R#Za~P$yOPZO^#nOa[OcXOdXOfYO!P`O!ScO!YoO#W]O#X]O#^iO#_jO~O!W#rO~P$yO^#{O~O!W$PO#o!YO~OQ#PO~O#o!YO^]i#O]i!R]i~O^RO!R$QO~OS$TOl$UO~P$yOS$TOl$UO#o!YO~Ol$XOp#^Os$YOv#`O~ORyOT$]O#PwO~Ol$_Op#^Ov#`Ox$`Oz$aO~O^$bO~Op$cOv$dO~ORyOT!QOV$fO#PwO~O!O#Ya~P$yO#V$hO!O#Ya~Ov$lO!O$jO#o!YO~Oq$mO#V$nO~O#o!YOP!Ui^!Uia!Uic!Uid!Uif!Ui!P!Ui!R!Ui!S!Ui!Y!Ui#V!Ui#W!Ui#X!Ui#^!Ui#_!Ui~O#[$oO#o!YO~O!R#Zi~P$yO#]!VX~P&[O#]$rO#o!YO~O!o!pO#^!dO#`!cO#a!cO#b!cO#c!dO#d!eO#e!eO#f!eO#g!eO#h!fO#i!fO#j!gO#k!hO#l!qO#m!rO#n!sO#o_X~O!P!oO#]_X~P5eO![$uO#V$sO#o!YO!W!ZX~O!W$vO~O#`!cO#a!cO#b!cO!P!fi!o!fi#S!fi#[!fi#d!fi#e!fi#f!fi#g!fi#h!fi#i!fi#j!fi#k!fi#l!fi#m!fi#n!fi#o!fi!O!fi#V!fi!W!fi^!fi#O!fiS!fil!fiv!fi![!fiU!fi!R!fi~O#^!fi#c!fi~P7^O#^!dO#c!dO~P7^O#^!dO#`!cO#a!cO#b!cO#c!dO#d!eO#e!eO#f!eO#g!eO!P!fi!o!fi#S!fi#[!fi#j!fi#k!fi#l!fi#m!fi#n!fi#o!fi!O!fi#V!fi!W!fi^!fi#O!fiS!fil!fiv!fi![!fiU!fi!R!fi~O#h!fi#i!fi~P9rO#h!fO#i!fO~P9rO#^!dO#`!cO#a!cO#b!cO#c!dO#d!eO#e!eO#f!eO#g!eO#h!fO#i!fO#j!gO!P!fi!o!fi#k!fi#l!fi#m!fi#n!fi#o!fi#V!fi^!fi!R!fi~O#S!fi#[!fi!O!fi!W!fi#O!fiS!fil!fiv!fi![!fiU!fi~PqP[i]||-1}],tokenPrec:2320}),LP=$e.define({parser:zP.configure({props:[we.add({Block:St({closing:"}",align:!1})}),Te.add({"Object Tuple TemplateFor TemplateIf":ht,BlockComment:i=>({from:i.from+2,to:i.to-2}),HeredocTemplate(i){let e=i.getChild("HeredocIdentifier");return e?{from:e.to,to:i.to}:null},FunctionCall(i){let e=i.getChild("("),t=i.getChild(")");return!e||!t?null:{from:e.from+1,to:t.to-1}},Block(i){let e=i.getChild("{"),t=i.getChild("}");return!e||!t?null:{from:e.from+1,to:t.to-1}}}),wP]}),languageData:{commentTokens:{line:"#",block:{open:"/*",close:"*/"}}}});function Xg(){return new me(LP)}function MP(i){let e=i.trim();if(!e)return"";if(/^#!.*\b(?:ba)?sh\b|^\s*\$\s+/.test(e))return"bash";if(e.startsWith("{")&&e.endsWith("}")||e.startsWith("[")&&e.endsWith("]"))try{return JSON.parse(e),"json"}catch{}return/^\s*(?:|(?:using\s+namespace\s+std|std::\w+|(?:cout|cin)\s*(?:<<|>>))\b)/m.test(e)?"cpp":/^\s*(?:#\s*include\s*[<"](?:assert|ctype|errno|float|inttypes|limits|math|setjmp|signal|stdarg|stdbool|stddef|stdint|stdio|stdlib|string|time)\.h[>"]|(?:int|void)\s+main\s*\([^)]*\)\s*\{)/m.test(e)?"c":/^\s*(?:async\s+)?def\s+\w+\s*\(|^\s*from\s+\w+[\w.]*\s+import\b|^\s*class\s+\w+\s*[:(]/m.test(e)?"python":/\b(?:SELECT|INSERT|UPDATE|DELETE|CREATE\s+(?:TABLE|VIEW|INDEX)|WITH)\b[\s\S]*\b(?:FROM|INTO|WHERE|AS)\b/i.test(e)?"sql":/(?:^|\n)\s*(?:[#.]?[A-Za-z][\w-]*)\s*\{[\s\S]*:[\s\S]*\}/.test(e)||/@(?:media|keyframes|supports)\b/.test(e)?"css":/^\s*(?:const|let|var)\s+[A-Za-z_$][\w$]*\s*(?::[^=\n]+)?\s*=/m.test(e)||/\b(?:function\s+\w+\s*\(|console\.(?:log|error|warn)|=>)/.test(e)?"javascript":/^\s*(?:[-A-Za-z_][\w-]*):\s*(?:[^:#\n]|$)/m.test(e)&&!/[{};]/.test(e)?"yaml":/^\s*(?:echo|printf|export|source|cd|mkdir|rm|cp|mv)\s+/m.test(e)?"bash":""}var Ue=(i,e,t)=>Be.of({name:i,alias:e,support:new me(Zs.define(t))}),Ng=[Be.of({name:"javascript",alias:["js","jsx","ts","tsx","typescript","node"],support:so({jsx:!0,typescript:!0})}),Be.of({name:"python",alias:["py"],support:Vm()}),Be.of({name:"json",alias:["jsonc"],support:Ym()}),Be.of({name:"css",alias:["scss"],support:ro()}),Be.of({name:"html",alias:["htm","xml"],support:ao()}),Be.of({name:"hcl",alias:["terraform","tf"],support:Xg()}),Ue("swift",[],Bm),Ue("shell",["sh","bash","zsh","console"],Hm),Ue("yaml",["yml"],Km),Ue("go",["golang"],ng),Ue("ruby",["rb"],og),Ue("rust",["rs"],cg),Ue("c",["h"],Qg),Ue("cpp",["c++","cc","hpp"],bg),Ue("java",[],Sg),Ue("kotlin",["kt"],xg),Ue("objective-c",["objc","objectivec"],wg),Ue("csharp",["cs","c#"],yg),Ue("sql",[],je({})),Ue("toml",[],Cg)],WP={resolve:"Highlight",mark:"HighlightMark"},jP=/[\p{S}\p{P}]/u;function _g(i){return!i||/\s/.test(i)}function Rg(i){return!!i&&jP.test(i)}var zh={defineNodes:["Highlight","HighlightMark"],parseInline:[{name:"Highlight",parse(i,e,t){if(e!==61||i.char(t+1)!==61)return-1;let n=t;for(;n>i.offset&&i.char(n-1)===61;)n--;let r=t+2;for(;i.char(r)===61;)r++;let s=n+(r-n)%2;if(t=i.offset&&i.char(m)===92;m--)o++;if(o%2!==0)return-1;let a=i.slice(n-1,n),l=i.slice(r,r+1),c=_g(a),h=_g(l),f=Rg(a),u=Rg(l),O=!h&&(!u||c||f),p=!c&&(!f||h||u);return i.addDelimiter(WP,t,t+2,O,p)},after:"Emphasis"}]},Mr=class extends ve{constructor(e,t){super(),this.text=e,this.className=t}eq(e){return e.text===this.text&&e.className===this.className}toDOM(){let e=document.createElement("span");return e.textContent=this.text,e.className=this.className,e}ignoreEvent(){return!1}},Th=class extends ve{constructor(e,t,n,r,s){super(),this.source=e,this.alt=t,this.raw=n,this.from=r,this.to=s}eq(e){return e.source===this.source&&e.alt===this.alt&&e.raw===this.raw&&e.from===this.from&&e.to===this.to}toDOM(e){let t=document.createElement("span");t.className="cm-md-image-preview",t.setAttribute("role","figure");let n=document.createElement("img");n.src=this.source,n.alt=this.alt,n.draggable=!1,n.addEventListener("error",()=>t.classList.add("cm-md-image-error"),{once:!0});let r=document.createElement("code");r.className="cm-md-image-source",r.textContent=this.raw,r.title="Click to edit image source";let s=o=>{o.preventDefault(),o.stopPropagation(),e.focus(),e.dispatch({selection:{anchor:Math.min(this.from+2,this.to)},userEvent:"select.pointer"})};return r.addEventListener("mousedown",s),r.addEventListener("click",s),n.addEventListener("mousedown",o=>{o.preventDefault(),o.stopPropagation()}),n.addEventListener("click",o=>{o.preventDefault(),o.stopPropagation();let a=n.currentSrc||n.src;a.startsWith("md-asset:")?window.__mdRequestImageRename?.(a):s(o)}),t.append(n,r),t}ignoreEvent(){return!0}},Ch=class extends ve{eq(){return!0}toDOM(){let e=document.createElement("span");return e.className="cm-md-hr",e}ignoreEvent(){return!1}},VP=0,Xh=class extends ve{constructor(e){super(),this.source=e}eq(e){return e.source===this.source}toDOM(e){let t=document.createElement("figure");t.className="cm-md-mermaid-preview",t.setAttribute("role","img"),t.setAttribute("aria-label","Mermaid diagram. Click to edit source.");let n=document.createElement("div");n.className="cm-md-mermaid-stage",n.textContent="Rendering diagram\u2026",t.appendChild(n),t.addEventListener("mousedown",o=>{o.preventDefault(),e.focus();let a=e.posAtDOM(t);e.dispatch({selection:{anchor:a+1},userEvent:"select.pointer"})});let r=window.mermaid;if(!r||typeof r.render!="function")return n.textContent="Mermaid preview unavailable. Click to edit source.",t;let s=`md-editor-mermaid-${++VP}`;return Promise.resolve(r.render(s,this.source)).then(({svg:o})=>{n.innerHTML=o;let a=n.querySelector("svg"),l=a?.viewBox?.baseVal;a&&l?.width>0&&l?.height>0&&(t.style.setProperty("--mm-aspect",`${l.width} / ${l.height}`),a.removeAttribute("width"),a.removeAttribute("height"),a.setAttribute("preserveAspectRatio","xMidYMid meet"),a.style.width="100%",a.style.height="100%"),e.requestMeasure()}).catch(()=>{n.textContent="Unable to render Mermaid diagram. Click to edit source.",t.classList.add("cm-md-mermaid-error"),e.requestMeasure()}),t}ignoreEvent(){return!0}},Fg=new WeakMap,_h=ie.define({map:(i,e)=>e.mapPos(i,1,ge.TrackAfter)??void 0}),En=he.define({create:()=>new Set,update(i,e){if(!e.docChanged&&!e.effects.some(n=>n.is(_h)))return i;let t=new Set([...i].map(n=>e.changes.mapPos(n,1,ge.TrackAfter)).filter(n=>n!=null));for(let n of e.effects)n.is(_h)&&(t.has(n.value)?t.delete(n.value):t.add(n.value));return t}}),xh=i=>'",Xo=class extends ve{constructor(e){super(),Object.assign(this,e)}eq(e){return e.fenceFrom===this.fenceFrom&&e.infoFrom===this.infoFrom&&e.infoTo===this.infoTo&&e.rawInfo===this.rawInfo&&e.detectedLanguage===this.detectedLanguage&&e.wrapped===this.wrapped&&e.plain===this.plain}toDOM(e){let t=document.createElement("span");t.className="cm-md-code-language",t.contentEditable="false";let n=document.createElement("input");n.type="text",n.className="cm-md-code-language-input",n.autocomplete="off",n.spellcheck=!1,n.value=this.language,n.readOnly=!!this.plain,n.placeholder="language",n.setAttribute("aria-label","Code block language"),n.dataset.fenceFrom=String(this.fenceFrom);let r=this.rawInfo.match(/^\S+([\s\S]*)$/)?.[1]||"",s=n.value,o=!0,a=!1,l=()=>{if(this.plain)return;let f=n.value.trim().split(/\s+/,1)[0].toLowerCase(),u=f?f+r:"";u!==this.rawInfo&&n.value!==s&&(a=!0,e.dispatch({changes:{from:this.infoFrom,to:this.infoTo,insert:u},userEvent:"input"}))};n.addEventListener("change",l),n.addEventListener("keydown",f=>{f.stopPropagation(),f.key==="Enter"?(f.preventDefault(),l(),n.blur(),e.focus()):f.key==="Escape"&&(f.preventDefault(),o=!1,n.value=this.language,n.blur(),e.focus())}),n.addEventListener("mousedown",f=>f.stopPropagation()),n.addEventListener("click",f=>f.stopPropagation()),n.addEventListener("blur",()=>{o&&!a&&l(),a=!1,o=!0}),t.appendChild(n);let c=(f,u,O,p)=>{let m=document.createElement("button");return m.type="button",m.className=`cm-md-code-action ${O}`,m.title=f,m.setAttribute("aria-label",f),m.innerHTML=xh(u),m.addEventListener("mousedown",b=>{b.preventDefault(),b.stopPropagation()}),m.addEventListener("click",b=>{b.preventDefault(),b.stopPropagation(),p(m)}),t.appendChild(m),m};return c(this.wrapped?"Unwrap code":"Wrap code",this.wrapped?"unwrap":"wrap","cm-md-code-toggle-wrap",()=>e.dispatch({effects:_h.of(e.state.doc.lineAt(this.fenceFrom).from)})).setAttribute("aria-pressed",String(this.wrapped)),c("Copy code","copy","cm-md-code-copy",async f=>{let u=e.state.doc.lineAt(this.fenceFrom),O=U(e.state).resolve(this.plain?u.to:this.fenceFrom+1,-1);for(;O&&O.name!==(this.plain?"CodeBlock":"FencedCode");)O=O.parent;if(!O)return;let p=this.plain?O.getChildren("CodeText").map(m=>e.state.sliceDoc(m.from,m.to)).join(""):Ao(e.state,O).source;try{let m=Fg.get(e);m?m(p):await navigator.clipboard.writeText(p),f.innerHTML=xh("check"),f.title="Code copied",f.setAttribute("aria-label",f.title),clearTimeout(f.copyTimer),f.copyTimer=setTimeout(()=>{f.innerHTML=xh("copy"),f.title="Copy code",f.setAttribute("aria-label",f.title)},1100)}catch{}}),t}ignoreEvent(){return!0}};function vo(i,e=!1){let t=[],n="",r=0,s=()=>t.push({text:n.trim(),from:r+n.length-n.trimStart().length,to:r+n.trimEnd().length}),o=0,a=0;for(let c=0;cc.text)}function DP(i){let e=i.trim(),t=e.startsWith(":"),n=e.endsWith(":"),r=e.replace(/^:/,"").replace(/:$/,"");return/^-{3,}$/.test(r)?t&&n?"center":t?"left":n?"right":"none":null}function Lh(i){let e=i.endsWith(` `),t=i.replace(/\n$/,"").split(` -`);if(t.length<2)return null;let n=vo(t[0]),r=vo(t[1]).map(VP);if(!n.length||!r.length||r.some(a=>a==null))return null;let s=[n,...t.slice(2).map(a=>vo(a))],o=Math.max(r.length,...s.map(a=>a.length));for(;r.length{let f=i.slice(0,c).replace(/\n+/g," ").length-l;e[h]=r[Math.max(0,Math.min(f,n.length))]})}return s}function DP(i){let e=i.alignments.map((s,o)=>Math.max(3,...i.rows.map(a=>Array.from(a[o]||"").length))),t=s=>"| "+s.map((o,a)=>{let l=zh(o);return l+" ".repeat(Math.max(0,e[a]-Array.from(l).length))}).join(" | ")+" |",n="| "+i.alignments.map((s,o)=>{let a=e[o];return s==="left"?":"+"-".repeat(Math.max(3,a-1)):s==="right"?"-".repeat(Math.max(3,a-1))+":":s==="center"?":"+"-".repeat(Math.max(3,a-2))+":":"-".repeat(a)}).join(" | ")+" |";return[t(i.rows[0]),n,...i.rows.slice(1).map(t)].join(` +`);if(t.length<2)return null;let n=vo(t[0]),r=vo(t[1]).map(DP);if(!n.length||!r.length||r.some(a=>a==null))return null;let s=[n,...t.slice(2).map(a=>vo(a))],o=Math.max(r.length,...s.map(a=>a.length));for(;r.length{let f=i.slice(0,c).replace(/\n+/g," ").length-l;e[h]=r[Math.max(0,Math.min(f,n.length))]})}return s}function YP(i){let e=i.alignments.map((s,o)=>Math.max(3,...i.rows.map(a=>Array.from(a[o]||"").length))),t=s=>"| "+s.map((o,a)=>{let l=Mh(o);return l+" ".repeat(Math.max(0,e[a]-Array.from(l).length))}).join(" | ")+" |",n="| "+i.alignments.map((s,o)=>{let a=e[o];return s==="left"?":"+"-".repeat(Math.max(3,a-1)):s==="right"?"-".repeat(Math.max(3,a-1))+":":s==="center"?":"+"-".repeat(Math.max(3,a-2))+":":"-".repeat(a)}).join(" | ")+" |";return[t(i.rows[0]),n,...i.rows.slice(1).map(t)].join(` `)+(i.trailingNewline?` -`:"")}var YP=1,Lr=null,IP=bi.parser.configure(qh),Ng=new WeakMap;function kh(i,e){let t={StrongEmphasis:"cm-md-strong",Emphasis:"cm-md-emphasis",Strikethrough:"cm-md-strikethrough",Highlight:"cm-md-highlight"},n=(o,a,l)=>{if(!a)return;let c=document.createTextNode(a);Ng.set(c,l),o.append(c)},r=(o,a,l,c)=>{let h=l;for(let f=a.firstChild;f;f=f.nextSibling)f.fromc||(n(o,e.slice(h,f.from),h),s(o,f),h=f.to);n(o,e.slice(h,c),h)},s=(o,a)=>{if(a.name==="InlineCode"){let l=document.createElement("code");l.className="cm-md-inline-code";let c=e.slice(a.firstChild.to,a.lastChild.from).replace(/\n/g," "),h=c.startsWith(" ")&&c.endsWith(" ")&&/[^ ]/.test(c);h&&(c=c.slice(1,-1)),n(l,c,a.firstChild.to+(h?1:0)),o.append(l)}else if(t[a.name]){let l=document.createElement("span");l.className=t[a.name],r(l,a,a.firstChild.to,a.lastChild.from),o.append(l)}else if(a.name==="Link"&&a.getChild("URL")){let l=a.getChildren("LinkMark"),c=document.createElement("span");c.className="cm-md-link",r(c,a,l[0].to,l[1].from),o.append(c)}else a.name==="Escape"?n(o,e.slice(a.from+1,a.to),a.from+1):a.name==="Image"?n(o,e.slice(a.from,a.to),a.from):r(o,a,a.from,a.to)};i.replaceChildren(),s(i,IP.parse(e).topNode)}var qe=new WeakMap,Lh=new WeakMap,BP=new Set(["bold","italic","strikethrough","highlight","code","link"]);function Fg(i,e){let n=i.state.doc.lineAt(e.tableFrom).number+(e.row===0?0:e.row+1);if(n>i.state.doc.lines)return null;let r=i.state.doc.line(n),s=vo(r.text,!0)[e.column];return s?{from:r.from+s.from,to:r.from+Math.max(s.from,s.to)}:null}function zn(i){let e=qe.get(i);if(!e||e.element.dataset.tableEditing!=="true")return;let t=window.getSelection();if(!t?.anchorNode||!t.focusNode||!e.element.contains(t.anchorNode)||!e.element.contains(t.focusNode))return;let n=(a,l)=>{let c=document.createRange();return c.selectNodeContents(e.element),c.setEnd(a,l),c.toString().length};e.anchor=n(t.anchorNode,t.anchorOffset),e.head=n(t.focusNode,t.focusOffset);let r=e.element.innerText||"",s=[e.anchor,e.head];zh(r,s),e.sourceAnchor=s[0],e.sourceHead=s[1];let o=re.create({doc:r,selection:v.single(e.anchor,e.head),extensions:[Dc({extensions:qh})]});Lh.get(i)?.(Ah(o))}function $o(i){let e=qe.get(i);if(!e)return null;zn(i),e.element.dataset.tableEditing==="true"&&e.element.blur();let t=Fg(i,e);if(!t)return null;let n=t.to-t.from;return i.dispatch({selection:v.single(t.from+Math.max(0,Math.min(e.sourceAnchor??e.anchor,n)),t.from+Math.max(0,Math.min(e.sourceHead??e.head,n)))}),e}function To(i,e){let t=Fg(i,e);if(!t)return;let n=i.state.selection.main,r=Math.max(0,Math.min(n.anchor-t.from,t.to-t.from)),s=Math.max(0,Math.min(n.head-t.from,t.to-t.from)),o=i.dom.querySelector(`.cm-md-table-widget[data-table-from="${e.tableFrom}"] [data-table-row="${e.row}"][data-table-column="${e.column}"]`);if(!o)return;o.focus({preventScroll:!0});let a=o.firstChild||o.appendChild(document.createTextNode(""));window.getSelection()?.setBaseAndExtent(a,r,a,s),zn(i)}var UP=De.fromClass(class{constructor(i){this.view=i,this.capture=()=>zn(i),this.clear=e=>{e.target.closest?.(".cm-md-table-cell")||qe.delete(i)},document.addEventListener("selectionchange",this.capture),i.dom.addEventListener("mousedown",this.clear,!0)}destroy(){document.removeEventListener("selectionchange",this.capture),this.view.dom.removeEventListener("mousedown",this.clear,!0),qe.delete(this.view),Lh.delete(this.view)}}),Xh=class extends Re{constructor(e,t){super(),this.source=e,this.from=t}eq(e){return e.source===this.source&&e.from===this.from}toDOM(e){let t=Eh(this.source),n=document.createElement("div");if(n.className="cm-md-table-widget",n.dataset.tableFrom=String(this.from),!t)return n.textContent=this.source,n;let r=null,s=null,o=null,a=!1,l=document.createElement("div");l.className="cm-md-table-scroll",n.appendChild(l);let c=document.createElement("table");c.className="cm-md-table-grid",l.appendChild(c);let h=(Q,S)=>{requestAnimationFrame(()=>requestAnimationFrame(()=>{let x=e.dom.querySelector(`.cm-md-table-widget[data-table-from="${this.from}"]`);(x&&x.querySelector(`[data-table-row="${Q}"][data-table-column="${S}"]`))?.focus()}))},f=(Q=null)=>{let S=DP(t);if(S===this.source){Q&&n.querySelector(`[data-table-row="${Q.row}"][data-table-column="${Q.column}"]`)?.focus();return}r=null,e.dispatch({changes:{from:this.from,to:this.from+this.source.length,insert:S},userEvent:"input"}),Q&&h(Q.row,Q.column)},u=()=>{!r||r.element.dataset.tableEditing!=="true"||(t.rows[r.row][r.column]=r.element.innerText||"")},O=()=>{n.querySelectorAll(".is-table-part-selected").forEach(Q=>{Q.classList.remove("is-table-part-selected")}),n.classList.remove("is-table-row-selected","is-table-column-selected","is-table-range-selected"),n.removeAttribute("aria-label"),s=null},p=(Q,S,x)=>{if(u(),O(),Array.from(n.querySelectorAll(".cm-md-table-cell")).filter($=>{let R=Number($.dataset.tableRow),_=Number($.dataset.tableColumn);return R>=S.top&&R<=S.bottom&&_>=S.left&&_<=S.right}).forEach($=>{$.classList.add("is-table-part-selected")}),n.classList.add(Q==="row"?"is-table-row-selected":Q==="column"?"is-table-column-selected":"is-table-range-selected"),window.getSelection()?.removeAllRanges(),s={kind:Q,row:x.row,column:x.column,bounds:S},qe.delete(e),n.tabIndex=0,Q==="range"){let $=S.bottom-S.top+1,R=S.right-S.left+1;n.setAttribute("aria-label",`Selected ${$} rows by ${R} columns.`)}else{let $=Q==="row"?x.row:x.column+1;n.setAttribute("aria-label",`Selected ${Q} ${$}. Press Delete to remove it.`)}n.focus()},m=(Q,S,x)=>{let P=Q==="row"?{top:S,right:t.alignments.length-1,bottom:S,left:0}:{top:0,right:x,bottom:t.rows.length-1,left:x};p(Q,P,{row:S,column:x})},b=(Q,S,x,P)=>{p("range",{top:Math.min(Q,x),right:Math.max(S,P),bottom:Math.max(Q,x),left:Math.min(S,P)},{row:Q,column:S})},g=(Q,S,x)=>{if(u(),Q==="selectRow"&&S>0)m("row",S,x);else if(Q==="selectColumn"&&t.alignments.length>1)m("column",S,x);else if(Q==="insertRowBefore"&&S>0)t.rows.splice(S,0,Array(t.alignments.length).fill("")),f({row:S,column:x});else if(Q==="insertRowAfter")t.rows.splice(S+1,0,Array(t.alignments.length).fill("")),f({row:S+1,column:x});else if(Q==="duplicateRow"&&S>0)t.rows.splice(S+1,0,[...t.rows[S]]),f({row:S+1,column:x});else if(Q==="deleteRow"&&S>0)t.rows.splice(S,1),f({row:Math.min(S,t.rows.length-1),column:x});else if(Q==="insertColumnBefore"){for(let P of t.rows)P.splice(x,0,"");t.alignments.splice(x,0,"none"),f({row:S,column:x})}else if(Q==="insertColumnAfter"){for(let P of t.rows)P.splice(x+1,0,"");t.alignments.splice(x+1,0,"none"),f({row:S,column:x+1})}else if(Q==="deleteColumn"&&t.alignments.length>1){for(let P of t.rows)P.splice(x,1);t.alignments.splice(x,1),f({row:S,column:Math.min(x,t.alignments.length-1)})}};return t.rows.forEach((Q,S)=>{let x=document.createElement("tr");c.appendChild(x),Q.forEach((P,$)=>{let R=document.createElement(S===0?"th":"td"),_=document.createElement("div");if(_.className="cm-md-table-cell",_.contentEditable="plaintext-only",_.spellcheck=!0,kh(_,P),_.dataset.tableRow=String(S),_.dataset.tableColumn=String($),S===0){let W=`Column ${$+1}`;_.dataset.placeholder=W;let T=()=>{(_.innerText||"").trim()?_.removeAttribute("aria-label"):_.setAttribute("aria-label",W)};T(),_.addEventListener("input",T)}t.alignments[$]!=="none"&&(_.style.textAlign=t.alignments[$]),_.addEventListener("focus",()=>{O(),(_.textContent!==t.rows[S][$]||_.childElementCount)&&(_.textContent=t.rows[S][$]),_.dataset.tableEditing="true",qe.set(e,{tableFrom:this.from,row:S,column:$,element:_,anchor:0,head:0}),r={row:S,column:$,element:_}}),_.addEventListener("contextmenu",W=>{W.preventDefault(),_.focus(),r={row:S,column:$,element:_};let T=String(YP++);Lr={token:T,perform:k=>g(k,S,$)},window.__mdRequestTableContextMenu?.({token:T,canInsertRowAbove:S>0,canDuplicateRow:S>0,canDeleteRow:S>0,canDeleteColumn:t.alignments.length>1,showsDuplicateRow:!0})}),_.addEventListener("blur",()=>{if(zn(e),!r||r.element!==_)return;let W=_.innerText||"",T=W!==t.rows[S][$];t.rows[S][$]=W,r=null,delete _.dataset.tableEditing,kh(_,t.rows[S][$]),T&&f()}),_.addEventListener("keydown",W=>{if((W.metaKey||W.ctrlKey)&&["b","i"].includes(W.key.toLowerCase())){W.preventDefault();let C=$o(e);At(W.key.toLowerCase()==="b"?"**":"*")(e),C&&To(e,C);return}if(W.key==="Escape"){W.preventDefault(),r=null,_.blur(),delete _.dataset.tableEditing,kh(_,t.rows[S][$]),qe.delete(e),e.focus();return}if(W.key!=="Tab"&&W.key!=="Enter")return;W.preventDefault(),t.rows[S][$]=_.innerText||"";let T=W.key==="Tab"&&W.shiftKey,k=S,w=$+(T?-1:1);w<0?(k--,w=t.alignments.length-1):w>=t.alignments.length&&(k++,w=0),k<0?(k=0,w=0):k>=t.rows.length&&t.rows.push(Array(t.alignments.length).fill("")),f({row:k,column:w})}),R.appendChild(_),x.appendChild(R)})}),n.addEventListener("mousedown",Q=>{if(Q.button!==0)return;let S=Q.target.closest?.(".cm-md-table-cell");if(!S)return;let x=Number(S.dataset.tableRow),P=Number(S.dataset.tableColumn);if(!Number.isInteger(x)||x<0||!Number.isInteger(P))return;Q.stopPropagation();let $=null;if(S.dataset.tableEditing!=="true"&&Q.detail===1&&!Q.shiftKey&&!Q.metaKey&&!Q.ctrlKey&&!Q.altKey&&S.textContent!==t.rows[x][P]){let T=document.caretRangeFromPoint?.(Q.clientX,Q.clientY),k=T&&Ng.get(T.startContainer);k!=null&&S.contains(T.startContainer)&&($=k+T.startOffset,Q.preventDefault())}S.focus({preventScroll:!0});let R=T=>{let k=S.firstChild;k&&window.getSelection()?.setBaseAndExtent(k,$,k,T)};$!=null&&R($),o={cell:S,row:x,column:P,head:S,active:!1,dragged:!1};let _=T=>{document.removeEventListener("mousemove",W,!0),document.removeEventListener("mouseup",_,!0),o?.active?(T.preventDefault(),window.getSelection()?.removeAllRanges(),a=!0):zn(e),o=null},W=T=>{if(!o)return;let w=document.elementFromPoint?.(T.clientX,T.clientY)?.closest?.(".cm-md-table-cell")||T.target.closest?.(".cm-md-table-cell");if(!(!w||!n.contains(w))){if(w===o.cell&&!o.active){if($!=null&&(T.preventDefault(),o.dragged||=Math.hypot(T.clientX-Q.clientX,T.clientY-Q.clientY)>3,o.dragged)){let C=document.caretRangeFromPoint?.(T.clientX,T.clientY);C?.startContainer===S.firstChild&&R(C.startOffset)}return}w!==o.head&&(T.preventDefault(),o.active=!0,o.head=w,b(o.row,o.column,Number(w.dataset.tableRow),Number(w.dataset.tableColumn)))}};document.addEventListener("mousemove",W,!0),document.addEventListener("mouseup",_,!0)},!0),n.addEventListener("click",Q=>{a&&(a=!1,Q.preventDefault(),Q.stopPropagation())},!0),n.addEventListener("keydown",Q=>{if(!s)return;if(Q.key==="Escape"){Q.preventDefault(),O(),e.focus();return}if(Q.key!=="Backspace"&&Q.key!=="Delete")return;if(s.kind==="range"){Q.preventDefault();return}Q.preventDefault();let S=s;O(),g(S.kind==="row"?"deleteRow":"deleteColumn",S.row,S.column)}),n}ignoreEvent(){return!0}},Ao=ie.define();function xh(i,e,t,n=0){let r=[];if(e){let o=new RegExp(e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),"giu"),a=i.toString();for(let l of a.matchAll(o)){let c=l.index;(!t||c===0||!/[A-Za-z0-9_]/.test(a[c-1]))&&r.push({from:c,to:c+l[0].length})}}n=r.length?Math.min(Math.max(n,0),r.length-1):-1;let s=Z.set(r.map((o,a)=>Z.mark({class:a===n?"cm-find-match cm-find-current":"cm-find-match"}).range(o.from,o.to)));return{query:e,beginsWith:t,matches:r,index:n,decorations:s}}var ki=he.define({create:i=>xh(i.doc,"",!1),update(i,e){for(let t of e.effects)if(t.is(Ao)){let{query:n,beginsWith:r,index:s}=t.value;return xh(e.state.doc,n,r,s)}return e.docChanged?xh(e.state.doc,i.query,i.beginsWith,i.index):i},provide:i=>E.decorations.from(i,e=>e.decorations)});function _o(i,e,t){let n=i.field(ki),r=n.matches[n.index];return!!r&&r.frome}var GP=E.baseTheme({".cm-find-match":{backgroundColor:"#ffe58a",color:"#201800",borderRadius:"2px"},".cm-find-current":{backgroundColor:"#ffad33",outline:"1px solid #9b5700"}});function _g(i){let e=[];return(zs(i,i.doc.length,80)||B(i)).iterate({enter(n){if(n.name!=="Table")return;if(_o(i,n.from,n.to))return!1;let r=i.doc.sliceString(n.from,n.to);if(Eh(r))return e.push(Z.replace({block:!0,widget:new Xh(r,n.from)}).range(n.from,n.to)),!1}}),Z.set(e,!0)}var NP=he.define({create:_g,update:(i,e)=>e.docChanged||e.effects.some(t=>t.is(Ao))?_g(e.state):i,provide:i=>E.decorations.from(i)}),Ge=Z.replace({}),Rg=Z.replace({widget:new Mr("\u2022","cm-md-bullet")}),Ag=Z.mark({class:"cm-md-bullet-source"}),Zg=new Map,FP=i=>{let e=Zg.get(i);return e||(e=Z.replace({widget:new Mr(i,"cm-md-ordered")}),Zg.set(i,e)),e},HP=Z.mark({class:"cm-md-ordered-source"}),KP=Z.replace({widget:new $h}),JP=Z.line({class:"cm-md-rule-line"}),Zn=/^([ \t]*)([-+*]|\d+[.)])([ \t]+|$)/,ev=Z.replace({widget:new Mr(" ","cm-md-join")}),_h={},tv=i=>Z.line({class:"cm-md-h"+i});for(let i=1;i<=6;i++)_h[i]=tv(i);var iv=Z.line({class:"cm-md-heading-inactive"}),qg=Z.line({class:"cm-md-heading-after-blank"}),nv=Z.line({class:"cm-md-image-line"}),Eg=Z.line({class:"cm-md-line-collapsed"}),dt={line:22.8,blankGap:4,paragraph:12,quote:18,alert:24,table:24,hr:12},rv=new Set(["Paragraph","FencedCode","CodeBlock","Blockquote","BulletList","OrderedList","Table","HorizontalRule","HTMLBlock"]),zg=new Map,xo=i=>{let e=zg.get(i);return e||(e=Z.line({class:"cm-md-block-separator",attributes:{style:`height:${i}px;min-height:0;line-height:${i}px;overflow:hidden;`}}),zg.set(i,e)),e},Lg=new Map,sv=i=>{let e=Lg.get(i);return e||(e=Z.line({class:"cm-md-block-gap",attributes:{style:`padding-bottom:${i}px;--cm-md-block-gap:${i}px;`}}),Lg.set(i,e)),e},Mg=new Map,ov=(i,e,t,n)=>{let r=`${i}:${e}:${t}:${n}`,s=Mg.get(r);if(!s){let o=[],a=[];for(let l=0;loi.create({tagName:"div",attributes:{class:`cm-md-code-card${s?" cm-md-code-card-wrapped":""}`}}).range(n,r)),!0)}var uv=Z.line({class:"cm-md-table"}),jg=Z.line({class:"cm-md-list-item-gap"}),wo=Z.line({class:"cm-md-list-item"}),Vg=new Map,wh=i=>{let e=Vg.get(i);return e||(e=Z.line({class:`cm-md-list-depth-${i}`,attributes:{style:`padding-inline-start:${i*2.1}em;text-indent:-2.1em;`}}),Vg.set(i,e)),e},Ov=Z.mark({class:"cm-md-fence-info"}),dv=Z.mark({class:"cm-md-code-fence-source-hidden"}),pv=Z.mark({class:"cm-md-heading-source-hidden"}),mv=Z.mark({class:"cm-md-heading-prefix"}),gv=Z.mark({class:"cm-md-heading-marker"}),Qv=Z.line({class:"cm-md-setext-marker-line"}),bv=Z.mark({class:"cm-md-setext-source"}),Sv=Z.mark({class:"cm-md-link"}),yv=Z.mark({class:"cm-md-url"}),kv=Z.mark({class:"cm-md-strong"}),xv=Z.mark({class:"cm-md-emphasis"}),wv=Z.mark({class:"cm-md-strikethrough"}),Pv=Z.mark({class:"cm-md-highlight"}),vv=Z.line({class:"cm-md-frontmatter"}),$v=Z.line({class:"cm-md-frontmatter-first"}),Tv=Z.line({class:"cm-md-frontmatter-last"}),Cv=Z.mark({class:"cm-md-frontmatter-delim"}),Xv=Z.line({attributes:{dir:"auto"}});function Dg(i){let e=[];for(let t=1;t<=i.doc.lines;t++)e.push(Xv.range(i.doc.line(t).from));return Z.set(e)}var _v=he.define({create:Dg,update(i,e){return e.docChanged?Dg(e.state):i},provide:i=>E.decorations.from(i)});function Ro(i,e){let t="",n=null,r=[];for(let g=e.node.firstChild;g;g=g.nextSibling)g.name==="CodeInfo"&&(n=g,t=i.doc.sliceString(g.from,g.to)),g.name==="CodeMark"&&r.push(g);let s=t.trim().split(/\s+/,1)[0].toLowerCase(),o=i.doc.lineAt(e.from),a=r[0],l=o.to1&&(c=i.doc.lineAt(r[r.length-1].from).from);let h=i.sliceDoc(o.from,e.from),f=/^ {0,3}$/.test(h)?h.length:0,u=e.node.getChildren("CodeText"),O=u.map((g,Q)=>{let S=Q?i.doc.lineAt(g.from).number-i.doc.lineAt(u[Q-1].to).number:0;return` -`.repeat(S)+i.sliceDoc(g.from,g.to)}).join("").replace(new RegExp("^ {0,"+f+"}","gm"),""),p=s?"":LP(O),m=n?.from??a?.to??o.to,b=n?.to??m;return{explicitLanguage:s,language:s||p,detectedLanguage:p,metadata:t.trim().split(/\s+/).slice(1).join(" "),rawInfo:t,infoFrom:m,infoTo:b,sourceFrom:l,source:O}}function Co(i,e){let t=B(i).resolve(e,-1);for(;t;){if(t.name==="FencedCode")return{from:t.from,to:t.to,closed:t.node.lastChild?.name==="CodeMark"};t=t.parent}return null}var Rh=ie.define(),vt=he.define({create:()=>null,update(i,e){if(e.docChanged)return null;for(let t of e.effects)if(t.is(Rh))return t.value;return i?.activateOnSelection&&e.isUserEvent("select.pointer")?{selection:e.state.selection.main,focused:!0,fence:e.state.field(Ji),activateOnSelection:!1}:i}}),Rv=De.fromClass(class{constructor(i){this.view=i,this.releaseTimer=null,this.down=e=>{e.button!==0||e.target.closest("input, textarea, button, select, .cm-md-table-cell")||(clearTimeout(this.releaseTimer),!i.state.field(vt)&&i.dispatch({effects:Rh.of({selection:i.state.selection.main,focused:i.hasFocus,fence:i.state.field(Ji),activateOnSelection:e.detail===1&&!e.shiftKey&&!e.metaKey&&!e.ctrlKey&&!e.altKey})}))},this.finish=()=>{i.state.field(vt)&&(clearTimeout(this.releaseTimer),this.releaseTimer=setTimeout(()=>this.release(),0))},this.release=()=>{clearTimeout(this.releaseTimer),i.state.field(vt)&&i.dispatch({effects:Rh.of(null)})},this.move=e=>{e.buttons===0&&this.finish()},i.contentDOM.addEventListener("mousedown",this.down,!0),i.contentDOM.addEventListener("keydown",this.release,!0),i.dom.ownerDocument.addEventListener("mouseup",this.finish),i.dom.ownerDocument.addEventListener("mousemove",this.move),i.dom.ownerDocument.addEventListener("dragend",this.finish),i.win.addEventListener("blur",this.finish)}destroy(){clearTimeout(this.releaseTimer);let i=this.view;i.contentDOM.removeEventListener("mousedown",this.down,!0),i.contentDOM.removeEventListener("keydown",this.release,!0),i.dom.ownerDocument.removeEventListener("mouseup",this.finish),i.dom.ownerDocument.removeEventListener("mousemove",this.move),i.dom.ownerDocument.removeEventListener("dragend",this.finish),i.win.removeEventListener("blur",this.finish)}}),Av=E.mouseSelectionStyle.of((i,e)=>{if(e.button!==0||e.detail!==1||e.shiftKey||e.metaKey||e.ctrlKey||e.altKey)return null;let t=i.posAtCoords({x:e.clientX,y:e.clientY});if(t==null)return null;let n=!1;return{update(r){t=r.changes.mapPos(t)},get(r){n||=Math.hypot(r.clientX-e.clientX,r.clientY-e.clientY)>3;let s=n?i.posAtCoords({x:r.clientX,y:r.clientY},!1)??t:t;return v.single(t,s)}}}),Ji=he.define({create:()=>null,update(i,e){i&&e.docChanged&&(i={from:e.changes.mapPos(i.from,1),to:e.changes.mapPos(i.to,-1)});let t=e.state.selection.main;if(!t.empty)return null;let n=t.head;return e.isUserEvent("select.pointer")||!i&&e.docChanged&&e.isUserEvent("input")?Co(e.state,n):!i||ni.to?null:e.docChanged&&Co(e.state,n)||i}});function Po(i){let e=[],t=i.field(Ji);return(zs(i,i.doc.length,80)||B(i)).iterate({enter(r){if(r.name!=="FencedCode")return;let s=Ro(i,r),o=t!=null&&r.from<=t.from&&r.to>=t.to;if(s.language==="mermaid"&&!o&&!_o(i,r.from,r.to))return e.push(Z.replace({block:!0,widget:new Th(s.source)}).range(r.from,r.to)),!1}}),Z.set(e,!0)}var Zv=he.define({create:i=>Po(i),update:(i,e)=>{if(e.state.field(vt))return e.startState.field(vt)?.activateOnSelection&&!e.state.field(vt).activateOnSelection?Po(e.state):i;if(e.startState.field(vt))return Po(e.state);let t=e.startState.field(Ji),n=e.state.field(Ji),r=t?.from!==n?.from||t?.to!==n?.to,s=!1;return e.docChanged&&e.changes.iterChanges((o,a,l,c,h)=>{if(s)return;let u=e.startState.doc.sliceString(o,a)+h.toString();s=/[`~]|mermaid/i.test(u)}),r||s||e.effects.some(o=>o.is(Ao))||e.docChanged&&e.state.field(ki).query?Po(e.state):e.docChanged?i.map(e.changes):i},provide:i=>E.decorations.from(i)});function qv(i,e){let t=e.get(i.sourceFrom);if(t?.language===i.detectedLanguage&&t.source===i.source)return t.tokens;let n=[],r=Be.matchLanguageName(Ug,i.detectedLanguage,!1)?.support?.language;return r&&Rs(r.parser.parse(i.source),Hg,(s,o,a)=>{n.push({from:s,to:o,mark:Z.mark({class:a})})}),e.set(i.sourceFrom,{language:i.detectedLanguage,source:i.source,tokens:n}),n}function Yg(i,e){let t=[],{state:n}=i,r=n.field(vt),s=r?.selection??n.selection.main,o=r?r.fence:n.field(Ji),l=(r?r.focused:i.hasFocus)&&(s.empty||i.compositionStarted)?s.head:null,c=(k,w)=>_o(n,k,w)||l!=null&&l>=k&&l<=w,h=k=>{let w=n.doc.lineAt(k);return c(w.from,w.to)},f=k=>_o(n,k.from,k.to)||o!=null&&k.from<=o.from&&k.to>=o.to,u=new Set,O=new Set,p=(k,w)=>{let C=n.doc.lineAt(k),j=w.spec.class+"@"+C.from;u.has(j)||(u.add(j),t.push(w.range(C.from)))},m=(k,w,C)=>{let j=k;for(;j<=w;){let y=n.doc.lineAt(j);if(p(y.from,C),y.to>=w)break;j=y.to+1}},b=k=>{let w=0;for(let C of k)w=C===" "?w+(4-w%4):w+1;return w},g=(k,w)=>{let C=w[1],j=w[2],y=w[3],z=k.from+C.length,ye=z+j.length,Zt=Math.floor(b(C)/4)+1;p(k.from,wo),p(k.from,wh(Zt)),O.add(k.from),k.number>1&&Zn.test(n.doc.line(k.number-1).text)&&p(k.from,jg),C.length>0&&t.push(Ge.range(k.from,z));let X=/^[-+*]$/.test(j)&&/^\s*\[[ xX]\](\s|$)/.test(k.text.slice(ye-k.from));/^[-+*]$/.test(j)&&!X&&(h(z)?(t.push(Ag.range(z,ye)),y.length>0&&t.push(Ge.range(ye,ye+y.length))):t.push(Rg.range(z,ye+y.length)))},Q=k=>{let w=n.doc.lineAt(k),C=w.number,j=Math.max(C-64,1);for(;C>j&&n.doc.line(C-1).text.length===0;)C--;return{line:w,first:C,count:w.number-C}},S=k=>{switch(k.name){case"Blockquote":{let w=n.doc.lineAt(k.from);return/^ {0,3}> ?\[!(note|tip|important|warning|caution)\]/i.test(w.text)?dt.alert:dt.quote}case"Table":return dt.table;case"HorizontalRule":return dt.hr;case"FencedCode":return Ro(n,k).language==="mermaid"?dt.table:dt.paragraph;default:return dt.paragraph}},x=-1,P=k=>{let w=n.doc.lineAt(k.from);w.number===1||w.from<=x||Q(k.from).count===0&&p(n.doc.line(w.number-1).from,sv(S(k)))},$=k=>{let w=Q(k.from);if(w.count===0)return;let C=n.doc.line(w.line.number-1);if(w.first===1){p(C.from,xo(dt.blankGap+S(k)));return}let j=S(k),y=dt.blankGap+j;p(C.from,xo(y))},R=0,_=[],W=[],T=new Map;for(let{from:k,to:w}of i.visibleRanges){let C=null;B(n).iterate({from:k,to:w,enter:y=>{R++;let z=y.name;if(R===2&&z==="Document"&&(C=R),C!=null&&R===C+1&&rv.has(z)&&($(y),P(y)),z==="Frontmatter"){let X=y.to>y.from&&n.doc.lineAt(y.to).from===y.to?y.to-1:y.to;x=X,m(y.from,X,vv),p(y.from,$v),p(n.doc.lineAt(X).from,Tv);return}if(z==="DashLine"){t.push(Cv.range(y.from,y.to));return}let ye=z.match(/^ATXHeading(\d)$/);if(ye){p(y.from,_h[+ye[1]]),Q(y.from).count>0&&p(y.from,qg),h(y.from)||p(y.from,iv);return}let Zt=z.match(/^SetextHeading(\d)$/);if(Zt){p(y.from,_h[+Zt[1]]),Q(y.from).count>0&&p(y.from,qg);return}if(z==="HeaderMark"){let X=y.node.parent;if(X&&/^ATXHeading/.test(X.name)){t.push(gv.range(y.from,y.to));let te=n.doc.sliceString(y.to,y.to+1),N=y.to+(te===" "?1:0),U=y.from===X.from,le=n.doc.lineAt(y.from),F=U&&/^ {0,3}$/.test(n.doc.sliceString(le.from,y.from))?le.from:y.from;U&&t.push(mv.range(F,N)),h(y.from)||t.push(pv.range(F,N))}else X&&/^SetextHeading/.test(X.name)&&(p(y.from,Qv),t.push(bv.range(y.from,y.to)));return}if(z==="Blockquote"){W.push(y.from);let X=n.doc.lineAt(y.from),te=y.node.parent?.name==="Blockquote",N=y.node.prevSibling;for(;N?.name==="QuoteMark";)N=N.prevSibling;let U=te&&N?dt.quote:0,le=y.from;for(;le<=y.to;){let F=n.doc.lineAt(le),Qe=T.get(F.from)||{depth:0,starts:0,ends:0,gap:0};if(Qe.depth=Math.max(Qe.depth,W.length),F.from===X.from&&(Qe.starts++,Qe.gap+=U),F.to>=y.to&&Qe.ends++,T.set(F.from,Qe),F.to>=y.to)break;le=F.to+1}return}if(z==="QuoteMark"){if(!h(y.from)){let X=n.doc.sliceString(y.to,y.to+1);t.push(Ge.range(y.from,y.to+(X===" "?1:0)))}return}if(z==="Paragraph"&&/^(Blockquote|ListItem)$/.test(y.node.parent?.name||"")){let X=n.doc.lineAt(y.from);if(X.number>n.doc.lineAt(y.node.parent.from).number){let te=n.doc.line(X.number-1);/^(?:[ >]*)$/.test(te.text)&&p(te.from,xo(dt.paragraph))}}if(z==="Escape"&&!c(y.from,y.to)){t.push(Ge.range(y.from,y.from+1));return}if(z==="StrongEmphasis"){t.push(kv.range(y.from,y.to));return}if(z==="Emphasis"){t.push(xv.range(y.from,y.to));return}if(z==="Strikethrough"){t.push(wv.range(y.from,y.to));return}if(z==="Highlight"){let X=[];for(let U=y.node.firstChild;U;U=U.nextSibling)U.name==="HighlightMark"&&X.push(U);let te=X.length?X[0].to:y.from,N=X.length>1?X[X.length-1].from:y.to;te1?X[X.length-1].from:y.to;te")?te.slice(1,-1):te;if(!N||N.startsWith("//"))return!1;let U=y.from+2;for(let F=y.node.firstChild;F;F=F.nextSibling)if(F.name==="LinkMark"&&n.doc.sliceString(F.from,F.to)==="]"){U=F.from;break}let le=n.doc.sliceString(y.from+2,U);if(!c(y.from,y.to)){let F=n.doc.lineAt(y.from);F.text.trim()===n.doc.sliceString(y.from,y.to)&&p(F.from,nv),t.push(Z.replace({widget:new vh(N,le,n.doc.sliceString(y.from,y.to),y.from,y.to)}).range(y.from,y.to))}return!1}if(z==="Link"){y.node.getChild("URL")&&t.push(Sv.range(y.from,y.to));return}if(z==="LinkMark"){let X=y.node.parent;X&&X.name==="Link"&&X.getChild("URL")&&!c(X.from,X.to)&&t.push(Ge.range(y.from,y.to));return}if(z==="URL"){let X=y.node.parent;X&&X.name==="Link"&&(c(X.from,X.to)?t.push(yv.range(y.from,y.to)):t.push(Ge.range(y.from,y.to)));return}if(z==="BulletList"||z==="OrderedList"){_.push(y.from);return}if(z==="ListItem"){let X=y.from===_[_.length-1],te=_.length>1;if(!X){let F=n.doc.lineAt(y.from).number-1;for(;F>0&&n.doc.line(F).text.trim()==="";)p(n.doc.line(F).from,xo(0)),F--}(!X||te)&&p(y.from,jg),m(y.from,y.to,wo),p(y.from,wh(_.length)),O.add(n.doc.lineAt(y.from).from);{let Qe=n.doc.lineAt(y.from).to+1;for(;Qe<=y.to;){let Ce=n.doc.lineAt(Qe),ti=Ce.text;if(ti.length>0&&!Zn.test(ti)){p(Ce.from,av),p(Ce.from,wh(_.length));let xi=ti.match(/^[ \t]+/);xi&&t.push(Ge.range(Ce.from,Ce.from+xi[0].length))}if(Ce.to>=y.to)break;Qe=Ce.to+1}}let N=n.doc.lineAt(y.from),le=N.text.match(Zn)?.[1]??"";le.length>0&&t.push(Ge.range(N.from,N.from+le.length));return}if(z==="ListMark"){let X=n.doc.sliceString(y.from,y.to),te=n.doc.lineAt(y.from),N=/^\s*\[[ xX]\](\s|$)/.test(te.text.slice(y.to-te.from));if((X==="-"||X==="*"||X==="+")&&!N){let U=n.doc.sliceString(y.to,y.to+1);h(y.from)?(t.push(Ag.range(y.from,y.to)),U===" "&&t.push(Ge.range(y.to,y.to+1))):t.push(Rg.range(y.from,y.to+(U===" "?1:0)))}else if(/^\d+[.)]$/.test(X)&&!N){let U=n.doc.sliceString(y.to,y.to+1);h(y.from)?(t.push(HP.range(y.from,y.to)),U===" "&&t.push(Ge.range(y.to,y.to+1))):t.push(FP(X).range(y.from,y.to+(U===" "?1:0)))}return}if(z==="FencedCode"||z==="CodeBlock"){let X=n.doc.lineAt(y.from),te=n.doc.lineAt(y.to),N=z==="FencedCode"&&y.node.lastChild?.name==="CodeMark",U=te.number-X.number>=(N?2:1),le=z==="FencedCode"&&!h(X.from),F=N&&!h(te.from),Qe=le&&U?n.doc.line(X.number+1):X,Ce=U?Qe:X,ti=!U&&z==="FencedCode"?X:F?n.doc.line(te.number-1):te;if(z==="FencedCode"){let J=Ro(n,y);if(J.detectedLanguage)for(let en of qv(J,e))t.push(en.mark.range(J.sourceFrom+en.from,J.sourceFrom+en.to));t.push(Z.widget({widget:new Xo({wrapped:n.field(qn).has(X.from),fenceFrom:y.from,language:J.language,detectedLanguage:J.detectedLanguage,rawInfo:J.rawInfo,infoFrom:J.infoFrom,infoTo:J.infoTo}),side:-1}).range(Ce.from))}else t.push(Z.widget({widget:new Xo({fenceFrom:X.from,language:"text",rawInfo:"",plain:!0,wrapped:n.field(qn).has(X.from)}),side:-1}).range(Ce.from));let xi=y.from;for(;xi<=y.to;){let J=n.doc.lineAt(xi),en=z==="CodeBlock"&&u.has(`${wo.spec.class}@${J.from}`)?J.text.match(Zn):null;if(en){if(g(J,en),J.to>=y.to)break;xi=J.to+1;continue}let Wh=z==="FencedCode"&&J.from===Ce.from;if((le&&J.from===X.from||F&&J.from===te.from)&&!Wh)p(J.from,Eg);else if(z==="FencedCode"&&!U&&J.from!==X.from&&!Wh)p(J.from,Eg);else{let Ln=J.from===Qe.from,jh=J.from===ti.from;Ln&&p(J.from,cv),jh&&p(J.from,hv),!Ln&&!jh&&p(J.from,lv),t.push(Z.line({attributes:{"data-code-scroll-group":String(X.from),class:n.field(qn).has(X.from)?"cm-md-code-wrapped":""}}).range(J.from)),J.length&&t.push(fv.range(J.from,J.to))}if(z==="CodeBlock"&&!h(J.from)){let Ln=J.text.match(/^(?: {4}|\t)/)?.[0];Ln&&t.push(Ge.range(J.from,J.from+Ln.length))}if(J.to>=y.to)break;xi=J.to+1}return}if(z==="CodeInfo"){let X=y.node.parent;if(!X)return;h(X.from)&&t.push(Ov.range(y.from,y.to));return}if(z==="Table"){m(y.from,y.to,uv);return}if(z==="HorizontalRule"){h(y.from)||(p(y.from,JP),t.push(KP.range(y.from,y.to)));return}},leave:y=>{R--;let z=y.name;(z==="BulletList"||z==="OrderedList")&&_.pop(),z==="Blockquote"&&W.pop()}});for(let[y,z]of T)p(y,ov(z.depth,z.starts,z.ends,z.gap));T.clear();let j=k;for(;j<=w;){let y=n.doc.lineAt(j);if(u.has(`${wo.spec.class}@${y.from}`)&&!O.has(y.from)){let ye=y.text.match(Zn);ye&&g(y,ye)}if(y.to>=w)break;j=y.to+1}}return Z.set(t,!0)}function Ah(i){let e=i.selection.main,t=new Set,n=0;for(let r=B(i).resolveInner(e.from,1);r;r=r.parent){if(r.toi.decorations,provide:i=>E.blockWrappers.of(e=>e.plugin(i)?.codeWrappers??oi.set([]))}),zv=De.fromClass(class{constructor(i){this.schedule(i)}update(i){(i.docChanged||i.selectionSet||i.viewportChanged||i.geometryChanged||i.focusChanged)&&this.schedule(i.view)}docViewUpdate(i){this.schedule(i)}schedule(i){i.requestMeasure({key:this,read(e){return Array.from(e.dom.querySelectorAll(".cm-md-heading-prefix")).map(t=>{let n=t.closest(".cm-line");return n?{line:n,width:t.getBoundingClientRect().width}:null}).filter(Boolean)},write(e){for(let{line:t,width:n}of e){let r=`${n}px`;t.style.getPropertyValue("--cm-md-heading-prefix-width")!==r&&t.style.setProperty("--cm-md-heading-prefix-width",r)}}})}});function Ig(i){let e=[],t=i.selection.main,n=(s,o)=>t.from<=o&&t.to>=s;return(zs(i,i.doc.length,80)||B(i)).iterate({enter:s=>{let o=s.name;if(o==="FencedCode"||o==="CodeBlock"||o==="HTMLBlock")return!1;if(o!=="Paragraph")return;if(n(s.from,s.to))return!1;let a=i.doc.lineAt(s.from);for(;a.toIg(i),update:(i,e)=>e.docChanged||e.selection?Ig(e.state):i,provide:i=>E.decorations.from(i)}),Hg=yn.define([{tag:[d.keyword,d.modifier,d.operatorKeyword,d.controlKeyword,d.definitionKeyword,d.moduleKeyword],class:"hl-keyword"},{tag:[d.string,d.special(d.string),d.regexp],class:"hl-string"},{tag:[d.comment,d.blockComment,d.lineComment],class:"hl-comment"},{tag:[d.number,d.integer,d.float,d.character],class:"hl-number"},{tag:[d.bool,d.atom,d.null],class:"hl-keyword"},{tag:[d.typeName,d.namespace],class:"hl-type"},{tag:[d.className,d.definition(d.typeName)],class:"hl-declaration"},{tag:[d.function(d.variableName),d.function(d.propertyName),d.macroName],class:"hl-function"},{tag:[d.propertyName,d.labelName],class:"hl-property"},{tag:d.attributeName,class:"hl-attribute"},{tag:[d.standard(d.variableName),d.standard(d.typeName)],class:"hl-builtin"},{tag:[d.meta,d.processingInstruction],class:"hl-meta"},{tag:[d.punctuation,d.operator],class:"hl-plain"}]);function At(i){return e=>{let t=e.state.changeByRange(n=>{let{from:r,to:s}=n;for(;rr&&/\s/.test(e.state.sliceDoc(s-1,s));)s--;let o=i.length,a=e.state.sliceDoc(Math.max(0,r-o),r),l=e.state.sliceDoc(s,s+o);if(a===i&&l===i)return{changes:[{from:r-o,to:r,insert:""},{from:s,to:s+o,insert:""}],range:v.range(r-o,s-o)};let c=e.state.sliceDoc(r,s);return c.startsWith(i)&&c.endsWith(i)&&c.length>=o*2?{changes:{from:r,to:s,insert:c.slice(o,c.length-o)},range:v.range(r,s-o*2)}:{changes:{from:r,to:s,insert:i+c+i},range:v.range(r+o,s+o)}});return e.dispatch(t,{scrollIntoView:!0,userEvent:"input"}),!0}}function Mh(i,e){let t=i.selection.main,n=i.doc.lineAt(t.from).number,r=i.doc.lineAt(t.to).number,s=[];for(let o=n;o<=r;o++)s.push(i.doc.line(o));return e(s)}function Ph(i,e){return t=>{let n=Mh(t.state,r=>{let s=r.every(o=>e.test(o.text));return r.map(o=>{if(s){let a=o.text.match(e);return{from:o.from,to:o.from+a[0].length,insert:""}}return e.test(o.text)?null:{from:o.from,insert:i}}).filter(Boolean)});return n.length&&Wr(t,n),!0}}function Wr(i,e){let t=i.state.changes(e),n=i.state.selection.main;i.dispatch({changes:e,selection:v.range(t.mapPos(n.anchor,1),t.mapPos(n.head,1)),userEvent:"input"})}function Lv(i){let e=/^\d+\.\s/,t=Mh(i.state,n=>{let r=n.every(o=>e.test(o.text)),s=1;return n.map(o=>{if(r){let a=o.text.match(e);return{from:o.from,to:o.from+a[0].length,insert:""}}return e.test(o.text)?null:{from:o.from,insert:`${s++}. `}}).filter(Boolean)});return t.length&&Wr(i,t),!0}function Zh(i){let e=i.selection.main,t=i.doc.lineAt(e.from).number,n=i.doc.lineAt(e.empty?e.to:e.to-1).number;return Array.from({length:n-t+1},(r,s)=>i.doc.line(t+s))}function Kg(i){let e=/^([ \t]*(?:>[ \t]*)*)(?:([-+*]|\d+[.)])([ \t]+)(\[[ xX]\][ \t]+)?)?/.exec(i);return{prefix:e[0],indent:e[1],style:e[2]?e[4]?"task":/^\d/.test(e[2])?"ordered":"bullet":"none"}}function En(i,e,t){for(let n=B(i).resolve(e,1);n;n=n.parent)if(t.includes(n.name))return n;return null}function Jg(i){return Zh(i).filter(e=>!/^[ \t>]*$/.test(e.text)&&!En(i,e.from+e.text.search(/\S/),["FencedCode","CodeBlock"]))}function Mv(i,e){if(!["none","bullet","ordered","task"].includes(e))return!1;let t=Jg(i.state).map((n,r)=>{let s=Kg(n.text);if(s.style===e)return null;let o=e==="none"?"":e==="bullet"?"- ":e==="task"?"- [ ] ":`${r+1}. `;return{from:n.from,to:n.from+s.prefix.length,insert:s.indent+o}}).filter(Boolean);return t.length&&Wr(i,t),i.focus(),!0}function Ki(i){return e=>{let t=Mh(e.state,n=>n.map(r=>{let s=r.text.match(/^(#{1,6})\s+/),a=(s?s[1].length:0)===i||i===0?"":"#".repeat(i)+" ";return{from:r.from,to:r.from+(s?s[0].length:0),insert:a}}));return e.dispatch({changes:t,userEvent:"input"}),!0}}function e0(i){let e={InlineCode:"code",FencedCode:"fenced",CodeBlock:"plain",Blockquote:"quote",Table:"table"};for(let t=B(i).resolve(i.selection.main.head,i.selection.main.empty?1:-1);t;t=t.parent)if(e[t.name])return{style:e[t.name],node:t};return{style:"none",node:null}}function Wv(i,e,t=""){if(!["none","quote","code","plain","fenced","table"].includes(e))return!1;let n=i.state,r=n.selection.main,s=e0(n),o=s.node&&r.from>=s.node.from&&r.to<=s.node.to;if(e==="code"&&(!o||s.style==="code"))return s.style!=="code"&&At("`")(i),i.focus(),!0;if(e==="table"){let p=En(n,r.to,["FencedCode"]),m=p?p.to:n.doc.lineAt(r.to).to,g=(p&&p.lastChild?.name!=="CodeMark"?` +`:"")}var IP=1,Lr=null,BP=Si.parser.configure(zh),Hg=new WeakMap;function wh(i,e){let t={StrongEmphasis:"cm-md-strong",Emphasis:"cm-md-emphasis",Strikethrough:"cm-md-strikethrough",Highlight:"cm-md-highlight"},n=(o,a,l)=>{if(!a)return;let c=document.createTextNode(a);Hg.set(c,l),o.append(c)},r=(o,a,l,c)=>{let h=l;for(let f=a.firstChild;f;f=f.nextSibling)f.fromc||(n(o,e.slice(h,f.from),h),s(o,f),h=f.to);n(o,e.slice(h,c),h)},s=(o,a)=>{if(a.name==="InlineCode"){let l=document.createElement("code");l.className="cm-md-inline-code";let c=e.slice(a.firstChild.to,a.lastChild.from).replace(/\n/g," "),h=c.startsWith(" ")&&c.endsWith(" ")&&/[^ ]/.test(c);h&&(c=c.slice(1,-1)),n(l,c,a.firstChild.to+(h?1:0)),o.append(l)}else if(t[a.name]){let l=document.createElement("span");l.className=t[a.name],r(l,a,a.firstChild.to,a.lastChild.from),o.append(l)}else if(a.name==="Link"&&a.getChild("URL")){let l=a.getChildren("LinkMark"),c=document.createElement("span");c.className="cm-md-link",r(c,a,l[0].to,l[1].from),o.append(c)}else a.name==="Escape"?n(o,e.slice(a.from+1,a.to),a.from+1):a.name==="Image"?n(o,e.slice(a.from,a.to),a.from):r(o,a,a.from,a.to)};i.replaceChildren(),s(i,BP.parse(e).topNode)}var Ee=new WeakMap,Wh=new WeakMap,UP=new Set(["bold","italic","strikethrough","highlight","code","link"]);function Kg(i,e){let n=i.state.doc.lineAt(e.tableFrom).number+(e.row===0?0:e.row+1);if(n>i.state.doc.lines)return null;let r=i.state.doc.line(n),s=vo(r.text,!0)[e.column];return s?{from:r.from+s.from,to:r.from+Math.max(s.from,s.to)}:null}function zn(i){let e=Ee.get(i);if(!e||e.element.dataset.tableEditing!=="true")return;let t=window.getSelection();if(!t?.anchorNode||!t.focusNode||!e.element.contains(t.anchorNode)||!e.element.contains(t.focusNode))return;let n=(a,l)=>{let c=document.createRange();return c.selectNodeContents(e.element),c.setEnd(a,l),c.toString().length};e.anchor=n(t.anchorNode,t.anchorOffset),e.head=n(t.focusNode,t.focusOffset);let r=e.element.innerText||"",s=[e.anchor,e.head];Mh(r,s),e.sourceAnchor=s[0],e.sourceHead=s[1];let o=re.create({doc:r,selection:P.single(e.anchor,e.head),extensions:[Ic({extensions:zh})]});Wh.get(i)?.(Eh(o))}function $o(i){let e=Ee.get(i);if(!e)return null;zn(i),e.element.dataset.tableEditing==="true"&&e.element.blur();let t=Kg(i,e);if(!t)return null;let n=t.to-t.from;return i.dispatch({selection:P.single(t.from+Math.max(0,Math.min(e.sourceAnchor??e.anchor,n)),t.from+Math.max(0,Math.min(e.sourceHead??e.head,n)))}),e}function To(i,e){let t=Kg(i,e);if(!t)return;let n=i.state.selection.main,r=Math.max(0,Math.min(n.anchor-t.from,t.to-t.from)),s=Math.max(0,Math.min(n.head-t.from,t.to-t.from)),o=i.dom.querySelector(`.cm-md-table-widget[data-table-from="${e.tableFrom}"] [data-table-row="${e.row}"][data-table-column="${e.column}"]`);if(!o)return;o.focus({preventScroll:!0});let a=o.firstChild||o.appendChild(document.createTextNode(""));window.getSelection()?.setBaseAndExtent(a,r,a,s),zn(i)}var GP=De.fromClass(class{constructor(i){this.view=i,this.capture=()=>zn(i),this.clear=e=>{e.target.closest?.(".cm-md-table-cell")||Ee.delete(i)},document.addEventListener("selectionchange",this.capture),i.dom.addEventListener("mousedown",this.clear,!0)}destroy(){document.removeEventListener("selectionchange",this.capture),this.view.dom.removeEventListener("mousedown",this.clear,!0),Ee.delete(this.view),Wh.delete(this.view)}}),Rh=class extends ve{constructor(e,t){super(),this.source=e,this.from=t}eq(e){return e.source===this.source&&e.from===this.from}toDOM(e){let t=Lh(this.source),n=document.createElement("div");if(n.className="cm-md-table-widget",n.dataset.tableFrom=String(this.from),!t)return n.textContent=this.source,n;let r=null,s=null,o=null,a=!1,l=document.createElement("div");l.className="cm-md-table-scroll",n.appendChild(l);let c=document.createElement("table");c.className="cm-md-table-grid",l.appendChild(c);let h=(Q,S)=>{requestAnimationFrame(()=>requestAnimationFrame(()=>{let x=e.dom.querySelector(`.cm-md-table-widget[data-table-from="${this.from}"]`);(x&&x.querySelector(`[data-table-row="${Q}"][data-table-column="${S}"]`))?.focus()}))},f=(Q=null)=>{let S=YP(t);if(S===this.source){Q&&n.querySelector(`[data-table-row="${Q.row}"][data-table-column="${Q.column}"]`)?.focus();return}r=null,e.dispatch({changes:{from:this.from,to:this.from+this.source.length,insert:S},userEvent:"input"}),Q&&h(Q.row,Q.column)},u=()=>{!r||r.element.dataset.tableEditing!=="true"||(t.rows[r.row][r.column]=r.element.innerText||"")},O=()=>{n.querySelectorAll(".is-table-part-selected").forEach(Q=>{Q.classList.remove("is-table-part-selected")}),n.classList.remove("is-table-row-selected","is-table-column-selected","is-table-range-selected"),n.removeAttribute("aria-label"),s=null},p=(Q,S,x)=>{if(u(),O(),Array.from(n.querySelectorAll(".cm-md-table-cell")).filter($=>{let R=Number($.dataset.tableRow),_=Number($.dataset.tableColumn);return R>=S.top&&R<=S.bottom&&_>=S.left&&_<=S.right}).forEach($=>{$.classList.add("is-table-part-selected")}),n.classList.add(Q==="row"?"is-table-row-selected":Q==="column"?"is-table-column-selected":"is-table-range-selected"),window.getSelection()?.removeAllRanges(),s={kind:Q,row:x.row,column:x.column,bounds:S},Ee.delete(e),n.tabIndex=0,Q==="range"){let $=S.bottom-S.top+1,R=S.right-S.left+1;n.setAttribute("aria-label",`Selected ${$} rows by ${R} columns.`)}else{let $=Q==="row"?x.row:x.column+1;n.setAttribute("aria-label",`Selected ${Q} ${$}. Press Delete to remove it.`)}n.focus()},m=(Q,S,x)=>{let v=Q==="row"?{top:S,right:t.alignments.length-1,bottom:S,left:0}:{top:0,right:x,bottom:t.rows.length-1,left:x};p(Q,v,{row:S,column:x})},b=(Q,S,x,v)=>{p("range",{top:Math.min(Q,x),right:Math.max(S,v),bottom:Math.max(Q,x),left:Math.min(S,v)},{row:Q,column:S})},g=(Q,S,x)=>{if(u(),Q==="selectRow"&&S>0)m("row",S,x);else if(Q==="selectColumn"&&t.alignments.length>1)m("column",S,x);else if(Q==="insertRowBefore"&&S>0)t.rows.splice(S,0,Array(t.alignments.length).fill("")),f({row:S,column:x});else if(Q==="insertRowAfter")t.rows.splice(S+1,0,Array(t.alignments.length).fill("")),f({row:S+1,column:x});else if(Q==="duplicateRow"&&S>0)t.rows.splice(S+1,0,[...t.rows[S]]),f({row:S+1,column:x});else if(Q==="deleteRow"&&S>0)t.rows.splice(S,1),f({row:Math.min(S,t.rows.length-1),column:x});else if(Q==="insertColumnBefore"){for(let v of t.rows)v.splice(x,0,"");t.alignments.splice(x,0,"none"),f({row:S,column:x})}else if(Q==="insertColumnAfter"){for(let v of t.rows)v.splice(x+1,0,"");t.alignments.splice(x+1,0,"none"),f({row:S,column:x+1})}else if(Q==="deleteColumn"&&t.alignments.length>1){for(let v of t.rows)v.splice(x,1);t.alignments.splice(x,1),f({row:S,column:Math.min(x,t.alignments.length-1)})}};return t.rows.forEach((Q,S)=>{let x=document.createElement("tr");c.appendChild(x),Q.forEach((v,$)=>{let R=document.createElement(S===0?"th":"td"),_=document.createElement("div");if(_.className="cm-md-table-cell",_.contentEditable="plaintext-only",_.spellcheck=!0,wh(_,v),_.dataset.tableRow=String(S),_.dataset.tableColumn=String($),S===0){let W=`Column ${$+1}`;_.dataset.placeholder=W;let T=()=>{(_.innerText||"").trim()?_.removeAttribute("aria-label"):_.setAttribute("aria-label",W)};T(),_.addEventListener("input",T)}t.alignments[$]!=="none"&&(_.style.textAlign=t.alignments[$]),_.addEventListener("focus",()=>{O(),(_.textContent!==t.rows[S][$]||_.childElementCount)&&(_.textContent=t.rows[S][$]),_.dataset.tableEditing="true",Ee.set(e,{tableFrom:this.from,row:S,column:$,element:_,anchor:0,head:0}),r={row:S,column:$,element:_}}),_.addEventListener("contextmenu",W=>{W.preventDefault(),_.focus(),r={row:S,column:$,element:_};let T=String(IP++);Lr={token:T,perform:k=>g(k,S,$)},window.__mdRequestTableContextMenu?.({token:T,canInsertRowAbove:S>0,canDuplicateRow:S>0,canDeleteRow:S>0,canDeleteColumn:t.alignments.length>1,showsDuplicateRow:!0})}),_.addEventListener("blur",()=>{if(zn(e),!r||r.element!==_)return;let W=_.innerText||"",T=W!==t.rows[S][$];t.rows[S][$]=W,r=null,delete _.dataset.tableEditing,wh(_,t.rows[S][$]),T&&f()}),_.addEventListener("keydown",W=>{if((W.metaKey||W.ctrlKey)&&["b","i"].includes(W.key.toLowerCase())){W.preventDefault();let C=$o(e);At(W.key.toLowerCase()==="b"?"**":"*")(e),C&&To(e,C);return}if(W.key==="Escape"){W.preventDefault(),r=null,_.blur(),delete _.dataset.tableEditing,wh(_,t.rows[S][$]),Ee.delete(e),e.focus();return}if(W.key!=="Tab"&&W.key!=="Enter")return;W.preventDefault(),t.rows[S][$]=_.innerText||"";let T=W.key==="Tab"&&W.shiftKey,k=S,w=$+(T?-1:1);w<0?(k--,w=t.alignments.length-1):w>=t.alignments.length&&(k++,w=0),k<0?(k=0,w=0):k>=t.rows.length&&t.rows.push(Array(t.alignments.length).fill("")),f({row:k,column:w})}),R.appendChild(_),x.appendChild(R)})}),n.addEventListener("mousedown",Q=>{if(Q.button!==0)return;let S=Q.target.closest?.(".cm-md-table-cell");if(!S)return;let x=Number(S.dataset.tableRow),v=Number(S.dataset.tableColumn);if(!Number.isInteger(x)||x<0||!Number.isInteger(v))return;Q.stopPropagation();let $=null;if(S.dataset.tableEditing!=="true"&&Q.detail===1&&!Q.shiftKey&&!Q.metaKey&&!Q.ctrlKey&&!Q.altKey&&S.textContent!==t.rows[x][v]){let T=document.caretRangeFromPoint?.(Q.clientX,Q.clientY),k=T&&Hg.get(T.startContainer);k!=null&&S.contains(T.startContainer)&&($=k+T.startOffset,Q.preventDefault())}S.focus({preventScroll:!0});let R=T=>{let k=S.firstChild;k&&window.getSelection()?.setBaseAndExtent(k,$,k,T)};$!=null&&R($),o={cell:S,row:x,column:v,head:S,active:!1,dragged:!1};let _=T=>{document.removeEventListener("mousemove",W,!0),document.removeEventListener("mouseup",_,!0),o?.active?(T.preventDefault(),window.getSelection()?.removeAllRanges(),a=!0):zn(e),o=null},W=T=>{if(!o)return;let w=document.elementFromPoint?.(T.clientX,T.clientY)?.closest?.(".cm-md-table-cell")||T.target.closest?.(".cm-md-table-cell");if(!(!w||!n.contains(w))){if(w===o.cell&&!o.active){if($!=null&&(T.preventDefault(),o.dragged||=Math.hypot(T.clientX-Q.clientX,T.clientY-Q.clientY)>3,o.dragged)){let C=document.caretRangeFromPoint?.(T.clientX,T.clientY);C?.startContainer===S.firstChild&&R(C.startOffset)}return}w!==o.head&&(T.preventDefault(),o.active=!0,o.head=w,b(o.row,o.column,Number(w.dataset.tableRow),Number(w.dataset.tableColumn)))}};document.addEventListener("mousemove",W,!0),document.addEventListener("mouseup",_,!0)},!0),n.addEventListener("click",Q=>{a&&(a=!1,Q.preventDefault(),Q.stopPropagation())},!0),n.addEventListener("keydown",Q=>{if(!s)return;if(Q.key==="Escape"){Q.preventDefault(),O(),e.focus();return}if(Q.key!=="Backspace"&&Q.key!=="Delete")return;if(s.kind==="range"){Q.preventDefault();return}Q.preventDefault();let S=s;O(),g(S.kind==="row"?"deleteRow":"deleteColumn",S.row,S.column)}),n}ignoreEvent(){return!0}},Zo=ie.define();function Ph(i,e,t,n=0){let r=[];if(e){let o=new RegExp(e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),"giu"),a=i.toString();for(let l of a.matchAll(o)){let c=l.index;(!t||c===0||!/[A-Za-z0-9_]/.test(a[c-1]))&&r.push({from:c,to:c+l[0].length})}}n=r.length?Math.min(Math.max(n,0),r.length-1):-1;let s=Z.set(r.map((o,a)=>Z.mark({class:a===n?"cm-find-match cm-find-current":"cm-find-match"}).range(o.from,o.to)));return{query:e,beginsWith:t,matches:r,index:n,decorations:s}}var xi=he.define({create:i=>Ph(i.doc,"",!1),update(i,e){for(let t of e.effects)if(t.is(Zo)){let{query:n,beginsWith:r,index:s}=t.value;return Ph(e.state.doc,n,r,s)}return e.docChanged?Ph(e.state.doc,i.query,i.beginsWith,i.index):i},provide:i=>z.decorations.from(i,e=>e.decorations)});function _o(i,e,t){let n=i.field(xi),r=n.matches[n.index];return!!r&&r.frome}var NP=z.baseTheme({".cm-find-match":{backgroundColor:"#ffe58a",color:"#201800",borderRadius:"2px"},".cm-find-current":{backgroundColor:"#ffad33",outline:"1px solid #9b5700"}});function Ag(i){let e=[];return(zs(i,i.doc.length,80)||U(i)).iterate({enter(n){if(n.name!=="Table")return;if(_o(i,n.from,n.to))return!1;let r=i.doc.sliceString(n.from,n.to);if(Lh(r))return e.push(Z.replace({block:!0,widget:new Rh(r,n.from)}).range(n.from,n.to)),!1}}),Z.set(e,!0)}var FP=he.define({create:Ag,update:(i,e)=>e.docChanged||e.effects.some(t=>t.is(Zo))?Ag(e.state):i,provide:i=>z.decorations.from(i)}),Ro=class extends ve{constructor(e,t){super(),this.from=e,this.checked=t}eq(e){return this.from===e.from&&this.checked===e.checked}toDOM(e){let t=document.createElement("span");t.className="cm-md-task-marker";let n=document.createElement("input");return n.type="checkbox",n.checked=this.checked,n.setAttribute("aria-label",this.checked?"Mark task incomplete":"Mark task complete"),n.addEventListener("mousedown",r=>{r.preventDefault(),r.stopPropagation()}),n.addEventListener("change",()=>{e.dispatch({changes:{from:this.from,to:this.from+1,insert:n.checked?"x":" "},userEvent:"input"}),e.focus()}),t.append(n),t}ignoreEvent(){return!0}},HP=Dc({nonTightLists:!1});function KP(i){return i.state.selection.ranges.every(e=>e.empty&&/^[ \t]*(?:>[ \t]*)*[-+*][ \t]+\[[ xX]\](?:[ \t]|$)/.test(i.state.doc.lineAt(e.head).text))?HP({state:i.state,dispatch:e=>{let t=e.state,n=t.changeByRange(r=>{let s=t.doc.lineAt(r.head);return r.empty&&s.text===""&&s.number>1&&t.doc.line(s.number-1).text.trim()!==""?{changes:{from:r.head,insert:t.lineBreak},range:P.cursor(r.head+t.lineBreak.length)}:{range:r}});i.dispatch([e,t.update(n,{userEvent:"input",scrollIntoView:!0})])}}):!1}var Ge=Z.replace({}),Zg=Z.replace({widget:new Mr("\u2022","cm-md-bullet")}),Eg=Z.mark({class:"cm-md-bullet-source"}),qg=new Map,JP=i=>{let e=qg.get(i);return e||(e=Z.replace({widget:new Mr(i,"cm-md-ordered")}),qg.set(i,e)),e},ev=Z.mark({class:"cm-md-ordered-source"}),tv=Z.replace({widget:new Ch}),iv=Z.line({class:"cm-md-rule-line"}),Zn=/^([ \t]*)([-+*]|\d+[.)])([ \t]+|$)/,nv=Z.replace({widget:new Mr(" ","cm-md-join")}),Ah={},rv=i=>Z.line({class:"cm-md-h"+i});for(let i=1;i<=6;i++)Ah[i]=rv(i);var sv=Z.line({class:"cm-md-heading-inactive"}),zg=Z.line({class:"cm-md-heading-after-blank"}),ov=Z.line({class:"cm-md-image-line"}),Lg=Z.line({class:"cm-md-line-collapsed"}),pt={line:22.8,blankGap:4,paragraph:12,quote:18,alert:24,table:24,hr:12},av=new Set(["Paragraph","FencedCode","CodeBlock","Blockquote","BulletList","OrderedList","Table","HorizontalRule","HTMLBlock"]),Mg=new Map,xo=i=>{let e=Mg.get(i);return e||(e=Z.line({class:"cm-md-block-separator",attributes:{style:`height:${i}px;min-height:0;line-height:${i}px;overflow:hidden;`}}),Mg.set(i,e)),e},Wg=new Map,lv=i=>{let e=Wg.get(i);return e||(e=Z.line({class:"cm-md-block-gap",attributes:{style:`padding-bottom:${i}px;--cm-md-block-gap:${i}px;`}}),Wg.set(i,e)),e},jg=new Map,cv=(i,e,t,n)=>{let r=`${i}:${e}:${t}:${n}`,s=jg.get(r);if(!s){let o=[],a=[];for(let l=0;loi.create({tagName:"div",attributes:{class:`cm-md-code-card${s?" cm-md-code-card-wrapped":""}`}}).range(n,r)),!0)}var pv=Z.line({class:"cm-md-table"}),Dg=Z.line({class:"cm-md-list-item-gap"}),wo=Z.line({class:"cm-md-list-item"}),Yg=new Map,vh=i=>{let e=Yg.get(i);return e||(e=Z.line({class:`cm-md-list-depth-${i}`,attributes:{style:`padding-inline-start:${i*2.1}em;text-indent:-2.1em;`}}),Yg.set(i,e)),e},mv=Z.mark({class:"cm-md-fence-info"}),gv=Z.mark({class:"cm-md-code-fence-source-hidden"}),Qv=Z.mark({class:"cm-md-heading-source-hidden"}),bv=Z.mark({class:"cm-md-heading-prefix"}),Sv=Z.mark({class:"cm-md-heading-marker"}),yv=Z.line({class:"cm-md-setext-marker-line"}),kv=Z.mark({class:"cm-md-setext-source"}),xv=Z.mark({class:"cm-md-link"}),wv=Z.mark({class:"cm-md-url"}),Pv=Z.mark({class:"cm-md-strong"}),vv=Z.mark({class:"cm-md-emphasis"}),$v=Z.mark({class:"cm-md-strikethrough"}),Tv=Z.mark({class:"cm-md-highlight"}),Cv=Z.line({class:"cm-md-frontmatter"}),Xv=Z.line({class:"cm-md-frontmatter-first"}),_v=Z.line({class:"cm-md-frontmatter-last"}),Rv=Z.mark({class:"cm-md-frontmatter-delim"}),Av=Z.line({attributes:{dir:"auto"}});function Ig(i){let e=[];for(let t=1;t<=i.doc.lines;t++)e.push(Av.range(i.doc.line(t).from));return Z.set(e)}var Zv=he.define({create:Ig,update(i,e){return e.docChanged?Ig(e.state):i},provide:i=>z.decorations.from(i)});function Ao(i,e){let t="",n=null,r=[];for(let g=e.node.firstChild;g;g=g.nextSibling)g.name==="CodeInfo"&&(n=g,t=i.doc.sliceString(g.from,g.to)),g.name==="CodeMark"&&r.push(g);let s=t.trim().split(/\s+/,1)[0].toLowerCase(),o=i.doc.lineAt(e.from),a=r[0],l=o.to1&&(c=i.doc.lineAt(r[r.length-1].from).from);let h=i.sliceDoc(o.from,e.from),f=/^ {0,3}$/.test(h)?h.length:0,u=e.node.getChildren("CodeText"),O=u.map((g,Q)=>{let S=Q?i.doc.lineAt(g.from).number-i.doc.lineAt(u[Q-1].to).number:0;return` +`.repeat(S)+i.sliceDoc(g.from,g.to)}).join("").replace(new RegExp("^ {0,"+f+"}","gm"),""),p=s?"":MP(O),m=n?.from??a?.to??o.to,b=n?.to??m;return{explicitLanguage:s,language:s||p,detectedLanguage:p,metadata:t.trim().split(/\s+/).slice(1).join(" "),rawInfo:t,infoFrom:m,infoTo:b,sourceFrom:l,source:O}}function Co(i,e){let t=U(i).resolve(e,-1);for(;t;){if(t.name==="FencedCode")return{from:t.from,to:t.to,closed:t.node.lastChild?.name==="CodeMark"};t=t.parent}return null}var Zh=ie.define(),vt=he.define({create:()=>null,update(i,e){if(e.docChanged)return null;for(let t of e.effects)if(t.is(Zh))return t.value;return i?.activateOnSelection&&e.isUserEvent("select.pointer")?{selection:e.state.selection.main,focused:!0,fence:e.state.field(Ji),activateOnSelection:!1}:i}}),Ev=De.fromClass(class{constructor(i){this.view=i,this.releaseTimer=null,this.down=e=>{e.button!==0||e.target.closest("input, textarea, button, select, .cm-md-table-cell")||(clearTimeout(this.releaseTimer),!i.state.field(vt)&&i.dispatch({effects:Zh.of({selection:i.state.selection.main,focused:i.hasFocus,fence:i.state.field(Ji),activateOnSelection:e.detail===1&&!e.shiftKey&&!e.metaKey&&!e.ctrlKey&&!e.altKey})}))},this.finish=()=>{i.state.field(vt)&&(clearTimeout(this.releaseTimer),this.releaseTimer=setTimeout(()=>this.release(),0))},this.release=()=>{clearTimeout(this.releaseTimer),i.state.field(vt)&&i.dispatch({effects:Zh.of(null)})},this.move=e=>{e.buttons===0&&this.finish()},i.contentDOM.addEventListener("mousedown",this.down,!0),i.contentDOM.addEventListener("keydown",this.release,!0),i.dom.ownerDocument.addEventListener("mouseup",this.finish),i.dom.ownerDocument.addEventListener("mousemove",this.move),i.dom.ownerDocument.addEventListener("dragend",this.finish),i.win.addEventListener("blur",this.finish)}destroy(){clearTimeout(this.releaseTimer);let i=this.view;i.contentDOM.removeEventListener("mousedown",this.down,!0),i.contentDOM.removeEventListener("keydown",this.release,!0),i.dom.ownerDocument.removeEventListener("mouseup",this.finish),i.dom.ownerDocument.removeEventListener("mousemove",this.move),i.dom.ownerDocument.removeEventListener("dragend",this.finish),i.win.removeEventListener("blur",this.finish)}}),qv=z.mouseSelectionStyle.of((i,e)=>{if(e.button!==0||e.detail!==1||e.shiftKey||e.metaKey||e.ctrlKey||e.altKey)return null;let t=i.posAtCoords({x:e.clientX,y:e.clientY});if(t==null)return null;let n=!1;return{update(r){t=r.changes.mapPos(t)},get(r){n||=Math.hypot(r.clientX-e.clientX,r.clientY-e.clientY)>3;let s=n?i.posAtCoords({x:r.clientX,y:r.clientY},!1)??t:t;return P.single(t,s)}}}),Ji=he.define({create:()=>null,update(i,e){i&&e.docChanged&&(i={from:e.changes.mapPos(i.from,1),to:e.changes.mapPos(i.to,-1)});let t=e.state.selection.main;if(!t.empty)return null;let n=t.head;return e.isUserEvent("select.pointer")||!i&&e.docChanged&&e.isUserEvent("input")?Co(e.state,n):!i||ni.to?null:e.docChanged&&Co(e.state,n)||i}});function Po(i){let e=[],t=i.field(Ji);return(zs(i,i.doc.length,80)||U(i)).iterate({enter(r){if(r.name!=="FencedCode")return;let s=Ao(i,r),o=t!=null&&r.from<=t.from&&r.to>=t.to;if(s.language==="mermaid"&&!o&&!_o(i,r.from,r.to))return e.push(Z.replace({block:!0,widget:new Xh(s.source)}).range(r.from,r.to)),!1}}),Z.set(e,!0)}var zv=he.define({create:i=>Po(i),update:(i,e)=>{if(e.state.field(vt))return e.startState.field(vt)?.activateOnSelection&&!e.state.field(vt).activateOnSelection?Po(e.state):i;if(e.startState.field(vt))return Po(e.state);let t=e.startState.field(Ji),n=e.state.field(Ji),r=t?.from!==n?.from||t?.to!==n?.to,s=!1;return e.docChanged&&e.changes.iterChanges((o,a,l,c,h)=>{if(s)return;let u=e.startState.doc.sliceString(o,a)+h.toString();s=/[`~]|mermaid/i.test(u)}),r||s||e.effects.some(o=>o.is(Zo))||e.docChanged&&e.state.field(xi).query?Po(e.state):e.docChanged?i.map(e.changes):i},provide:i=>z.decorations.from(i)});function Lv(i,e){let t=e.get(i.sourceFrom);if(t?.language===i.detectedLanguage&&t.source===i.source)return t.tokens;let n=[],r=Be.matchLanguageName(Ng,i.detectedLanguage,!1)?.support?.language;return r&&Rs(r.parser.parse(i.source),Jg,(s,o,a)=>{n.push({from:s,to:o,mark:Z.mark({class:a})})}),e.set(i.sourceFrom,{language:i.detectedLanguage,source:i.source,tokens:n}),n}function Bg(i,e){let t=[],{state:n}=i,r=n.field(vt),s=r?.selection??n.selection.main,o=r?r.fence:n.field(Ji),l=(r?r.focused:i.hasFocus)&&(s.empty||i.compositionStarted)?s.head:null,c=(k,w)=>_o(n,k,w)||l!=null&&l>=k&&l<=w,h=k=>{let w=n.doc.lineAt(k);return c(w.from,w.to)},f=k=>_o(n,k.from,k.to)||o!=null&&k.from<=o.from&&k.to>=o.to,u=new Set,O=new Set,p=(k,w)=>{let C=n.doc.lineAt(k),j=w.spec.class+"@"+C.from;u.has(j)||(u.add(j),t.push(w.range(C.from)))},m=(k,w,C)=>{let j=k;for(;j<=w;){let y=n.doc.lineAt(j);if(p(y.from,C),y.to>=w)break;j=y.to+1}},b=k=>{let w=0;for(let C of k)w=C===" "?w+(4-w%4):w+1;return w},g=(k,w)=>{let C=w[1],j=w[2],y=w[3],q=k.from+C.length,de=q+j.length,Zt=Math.floor(b(C)/4)+1;if(p(k.from,wo),p(k.from,vh(Zt)),O.add(k.from),k.number>1&&Zn.test(n.doc.line(k.number-1).text)&&p(k.from,Dg),C.length>0&&t.push(Ge.range(k.from,q)),/^[-+*]$/.test(j)&&/^\s*\[[ xX]\](\s|$)/.test(k.text.slice(de-k.from))){let G=k.text.slice(de-k.from).match(/^[ \t]*\[([ xX])\][ \t]?/),N=de+G[0].indexOf("[");t.push(Z.replace({widget:new Ro(N+1,G[1]!==" ")}).range(q,de+G[0].length))}else/^[-+*]$/.test(j)&&(h(q)?(t.push(Eg.range(q,de)),y.length>0&&t.push(Ge.range(de,de+y.length))):t.push(Zg.range(q,de+y.length)))},Q=k=>{let w=n.doc.lineAt(k),C=w.number,j=Math.max(C-64,1);for(;C>j&&n.doc.line(C-1).text.length===0;)C--;return{line:w,first:C,count:w.number-C}},S=k=>{switch(k.name){case"Blockquote":{let w=n.doc.lineAt(k.from);return/^ {0,3}> ?\[!(note|tip|important|warning|caution)\]/i.test(w.text)?pt.alert:pt.quote}case"Table":return pt.table;case"HorizontalRule":return pt.hr;case"FencedCode":return Ao(n,k).language==="mermaid"?pt.table:pt.paragraph;default:return pt.paragraph}},x=-1,v=k=>{let w=n.doc.lineAt(k.from);w.number===1||w.from<=x||Q(k.from).count===0&&p(n.doc.line(w.number-1).from,lv(S(k)))},$=k=>{let w=Q(k.from);if(w.count===0)return;let C=n.doc.line(w.line.number-1);if(w.first===1){p(C.from,xo(pt.blankGap+S(k)));return}let j=S(k),y=pt.blankGap+j;p(C.from,xo(y))},R=0,_=[],W=[],T=new Map;for(let{from:k,to:w}of i.visibleRanges){let C=null;U(n).iterate({from:k,to:w,enter:y=>{R++;let q=y.name;if(R===2&&q==="Document"&&(C=R),C!=null&&R===C+1&&av.has(q)&&($(y),v(y)),q==="Frontmatter"){let X=y.to>y.from&&n.doc.lineAt(y.to).from===y.to?y.to-1:y.to;x=X,m(y.from,X,Cv),p(y.from,Xv),p(n.doc.lineAt(X).from,_v);return}if(q==="DashLine"){t.push(Rv.range(y.from,y.to));return}let de=q.match(/^ATXHeading(\d)$/);if(de){p(y.from,Ah[+de[1]]),Q(y.from).count>0&&p(y.from,zg),h(y.from)||p(y.from,sv);return}let Zt=q.match(/^SetextHeading(\d)$/);if(Zt){p(y.from,Ah[+Zt[1]]),Q(y.from).count>0&&p(y.from,zg);return}if(q==="HeaderMark"){let X=y.node.parent;if(X&&/^ATXHeading/.test(X.name)){t.push(Sv.range(y.from,y.to));let G=n.doc.sliceString(y.to,y.to+1),N=y.to+(G===" "?1:0),B=y.from===X.from,se=n.doc.lineAt(y.from),H=B&&/^ {0,3}$/.test(n.doc.sliceString(se.from,y.from))?se.from:y.from;B&&t.push(bv.range(H,N)),h(y.from)||t.push(Qv.range(H,N))}else X&&/^SetextHeading/.test(X.name)&&(p(y.from,yv),t.push(kv.range(y.from,y.to)));return}if(q==="Blockquote"){W.push(y.from);let X=n.doc.lineAt(y.from),G=y.node.parent?.name==="Blockquote",N=y.node.prevSibling;for(;N?.name==="QuoteMark";)N=N.prevSibling;let B=G&&N?pt.quote:0,se=y.from;for(;se<=y.to;){let H=n.doc.lineAt(se),be=T.get(H.from)||{depth:0,starts:0,ends:0,gap:0};if(be.depth=Math.max(be.depth,W.length),H.from===X.from&&(be.starts++,be.gap+=B),H.to>=y.to&&be.ends++,T.set(H.from,be),H.to>=y.to)break;se=H.to+1}return}if(q==="QuoteMark"){if(!h(y.from)){let X=n.doc.sliceString(y.to,y.to+1);t.push(Ge.range(y.from,y.to+(X===" "?1:0)))}return}if(q==="Paragraph"&&/^(Blockquote|ListItem)$/.test(y.node.parent?.name||"")){let X=n.doc.lineAt(y.from);if(X.number>n.doc.lineAt(y.node.parent.from).number){let G=n.doc.line(X.number-1);/^(?:[ >]*)$/.test(G.text)&&p(G.from,xo(pt.paragraph))}}if(q==="Escape"&&!c(y.from,y.to)){t.push(Ge.range(y.from,y.from+1));return}if(q==="StrongEmphasis"){t.push(Pv.range(y.from,y.to));return}if(q==="Emphasis"){t.push(vv.range(y.from,y.to));return}if(q==="Strikethrough"){t.push($v.range(y.from,y.to));return}if(q==="Highlight"){let X=[];for(let B=y.node.firstChild;B;B=B.nextSibling)B.name==="HighlightMark"&&X.push(B);let G=X.length?X[0].to:y.from,N=X.length>1?X[X.length-1].from:y.to;G1?X[X.length-1].from:y.to;G")?G.slice(1,-1):G;if(!N||N.startsWith("//"))return!1;let B=y.from+2;for(let H=y.node.firstChild;H;H=H.nextSibling)if(H.name==="LinkMark"&&n.doc.sliceString(H.from,H.to)==="]"){B=H.from;break}let se=n.doc.sliceString(y.from+2,B);if(!c(y.from,y.to)){let H=n.doc.lineAt(y.from);H.text.trim()===n.doc.sliceString(y.from,y.to)&&p(H.from,ov),t.push(Z.replace({widget:new Th(N,se,n.doc.sliceString(y.from,y.to),y.from,y.to)}).range(y.from,y.to))}return!1}if(q==="Link"){y.node.getChild("URL")&&t.push(xv.range(y.from,y.to));return}if(q==="LinkMark"){let X=y.node.parent;X&&X.name==="Link"&&X.getChild("URL")&&!c(X.from,X.to)&&t.push(Ge.range(y.from,y.to));return}if(q==="URL"){let X=y.node.parent;X&&X.name==="Link"&&(c(X.from,X.to)?t.push(wv.range(y.from,y.to)):t.push(Ge.range(y.from,y.to)));return}if(q==="BulletList"||q==="OrderedList"){_.push(y.from);return}if(q==="ListItem"){let X=y.from===_[_.length-1],G=_.length>1;if(!X){let H=n.doc.lineAt(y.from).number-1;for(;H>0&&n.doc.line(H).text.trim()==="";)p(n.doc.line(H).from,xo(0)),H--}(!X||G)&&p(y.from,Dg),m(y.from,y.to,wo),p(y.from,vh(_.length)),O.add(n.doc.lineAt(y.from).from);{let be=n.doc.lineAt(y.from).to+1;for(;be<=y.to;){let Xe=n.doc.lineAt(be),ti=Xe.text;if(ti.length>0&&!Zn.test(ti)){p(Xe.from,hv),p(Xe.from,vh(_.length));let wi=ti.match(/^[ \t]+/);wi&&t.push(Ge.range(Xe.from,Xe.from+wi[0].length))}if(Xe.to>=y.to)break;be=Xe.to+1}}let N=n.doc.lineAt(y.from),se=N.text.match(Zn)?.[1]??"";se.length>0&&t.push(Ge.range(N.from,N.from+se.length));return}if(q==="ListMark"){let X=n.doc.sliceString(y.from,y.to),G=n.doc.lineAt(y.from),N=/^\s*\[[ xX]\](\s|$)/.test(G.text.slice(y.to-G.from));if(N&&/^[-+*]$/.test(X)){let B=G.text.slice(y.to-G.from).match(/^[ \t]*\[([ xX])\][ \t]?/),se=y.to+B[0].indexOf("[");t.push(Z.replace({widget:new Ro(se+1,B[1]!==" ")}).range(y.from,y.to+B[0].length))}else if((X==="-"||X==="*"||X==="+")&&!N){let B=n.doc.sliceString(y.to,y.to+1);h(y.from)?(t.push(Eg.range(y.from,y.to)),B===" "&&t.push(Ge.range(y.to,y.to+1))):t.push(Zg.range(y.from,y.to+(B===" "?1:0)))}else if(/^\d+[.)]$/.test(X)&&!N){let B=n.doc.sliceString(y.to,y.to+1);h(y.from)?(t.push(ev.range(y.from,y.to)),B===" "&&t.push(Ge.range(y.to,y.to+1))):t.push(JP(X).range(y.from,y.to+(B===" "?1:0)))}return}if(q==="FencedCode"||q==="CodeBlock"){let X=n.doc.lineAt(y.from),G=n.doc.lineAt(y.to),N=q==="FencedCode"&&y.node.lastChild?.name==="CodeMark",B=G.number-X.number>=(N?2:1),se=q==="FencedCode"&&!h(X.from),H=N&&!h(G.from),be=se&&B?n.doc.line(X.number+1):X,Xe=B?be:X,ti=!B&&q==="FencedCode"?X:H?n.doc.line(G.number-1):G;if(q==="FencedCode"){let ee=Ao(n,y);if(ee.detectedLanguage)for(let en of Lv(ee,e))t.push(en.mark.range(ee.sourceFrom+en.from,ee.sourceFrom+en.to));t.push(Z.widget({widget:new Xo({wrapped:n.field(En).has(X.from),fenceFrom:y.from,language:ee.language,detectedLanguage:ee.detectedLanguage,rawInfo:ee.rawInfo,infoFrom:ee.infoFrom,infoTo:ee.infoTo}),side:-1}).range(Xe.from))}else t.push(Z.widget({widget:new Xo({fenceFrom:X.from,language:"text",rawInfo:"",plain:!0,wrapped:n.field(En).has(X.from)}),side:-1}).range(Xe.from));let wi=y.from;for(;wi<=y.to;){let ee=n.doc.lineAt(wi),en=q==="CodeBlock"&&u.has(`${wo.spec.class}@${ee.from}`)?ee.text.match(Zn):null;if(en){if(g(ee,en),ee.to>=y.to)break;wi=ee.to+1;continue}let Vh=q==="FencedCode"&&ee.from===Xe.from;if((se&&ee.from===X.from||H&&ee.from===G.from)&&!Vh)p(ee.from,Lg);else if(q==="FencedCode"&&!B&&ee.from!==X.from&&!Vh)p(ee.from,Lg);else{let Ln=ee.from===be.from,Dh=ee.from===ti.from;Ln&&p(ee.from,uv),Dh&&p(ee.from,Ov),!Ln&&!Dh&&p(ee.from,fv),t.push(Z.line({attributes:{"data-code-scroll-group":String(X.from),class:n.field(En).has(X.from)?"cm-md-code-wrapped":""}}).range(ee.from)),ee.length&&t.push(dv.range(ee.from,ee.to))}if(q==="CodeBlock"&&!h(ee.from)){let Ln=ee.text.match(/^(?: {4}|\t)/)?.[0];Ln&&t.push(Ge.range(ee.from,ee.from+Ln.length))}if(ee.to>=y.to)break;wi=ee.to+1}return}if(q==="CodeInfo"){let X=y.node.parent;if(!X)return;h(X.from)&&t.push(mv.range(y.from,y.to));return}if(q==="Table"){m(y.from,y.to,pv);return}if(q==="HorizontalRule"){h(y.from)||(p(y.from,iv),t.push(tv.range(y.from,y.to)));return}},leave:y=>{R--;let q=y.name;(q==="BulletList"||q==="OrderedList")&&_.pop(),q==="Blockquote"&&W.pop()}});for(let[y,q]of T)p(y,cv(q.depth,q.starts,q.ends,q.gap));T.clear();let j=k;for(;j<=w;){let y=n.doc.lineAt(j);if(u.has(`${wo.spec.class}@${y.from}`)&&!O.has(y.from)){let de=y.text.match(Zn);de&&g(y,de)}if(y.to>=w)break;j=y.to+1}}return Z.set(t,!0)}function Eh(i){let e=i.selection.main,t=new Set,n=0;for(let r=U(i).resolveInner(e.from,1);r;r=r.parent){if(r.toi.decorations,provide:i=>z.blockWrappers.of(e=>e.plugin(i)?.codeWrappers??oi.set([]))}),Wv=De.fromClass(class{constructor(i){this.schedule(i)}update(i){(i.docChanged||i.selectionSet||i.viewportChanged||i.geometryChanged||i.focusChanged)&&this.schedule(i.view)}docViewUpdate(i){this.schedule(i)}schedule(i){i.requestMeasure({key:this,read(e){return Array.from(e.dom.querySelectorAll(".cm-md-heading-prefix")).map(t=>{let n=t.closest(".cm-line");return n?{line:n,width:t.getBoundingClientRect().width}:null}).filter(Boolean)},write(e){for(let{line:t,width:n}of e){let r=`${n}px`;t.style.getPropertyValue("--cm-md-heading-prefix-width")!==r&&t.style.setProperty("--cm-md-heading-prefix-width",r)}}})}});function Ug(i){let e=[],t=i.selection.main,n=(s,o)=>t.from<=o&&t.to>=s;return(zs(i,i.doc.length,80)||U(i)).iterate({enter:s=>{let o=s.name;if(o==="FencedCode"||o==="CodeBlock"||o==="HTMLBlock")return!1;if(o!=="Paragraph")return;if(n(s.from,s.to))return!1;let a=i.doc.lineAt(s.from);for(;a.toUg(i),update:(i,e)=>e.docChanged||e.selection?Ug(e.state):i,provide:i=>z.decorations.from(i)}),Jg=yn.define([{tag:[d.keyword,d.modifier,d.operatorKeyword,d.controlKeyword,d.definitionKeyword,d.moduleKeyword],class:"hl-keyword"},{tag:[d.string,d.special(d.string),d.regexp],class:"hl-string"},{tag:[d.comment,d.blockComment,d.lineComment],class:"hl-comment"},{tag:[d.number,d.integer,d.float,d.character],class:"hl-number"},{tag:[d.bool,d.atom,d.null],class:"hl-keyword"},{tag:[d.typeName,d.namespace],class:"hl-type"},{tag:[d.className,d.definition(d.typeName)],class:"hl-declaration"},{tag:[d.function(d.variableName),d.function(d.propertyName),d.macroName],class:"hl-function"},{tag:[d.propertyName,d.labelName],class:"hl-property"},{tag:d.attributeName,class:"hl-attribute"},{tag:[d.standard(d.variableName),d.standard(d.typeName)],class:"hl-builtin"},{tag:[d.meta,d.processingInstruction],class:"hl-meta"},{tag:[d.punctuation,d.operator],class:"hl-plain"}]);function At(i){return e=>{let t=e.state.changeByRange(n=>{let{from:r,to:s}=n;for(;rr&&/\s/.test(e.state.sliceDoc(s-1,s));)s--;let o=i.length,a=e.state.sliceDoc(Math.max(0,r-o),r),l=e.state.sliceDoc(s,s+o);if(a===i&&l===i)return{changes:[{from:r-o,to:r,insert:""},{from:s,to:s+o,insert:""}],range:P.range(r-o,s-o)};let c=e.state.sliceDoc(r,s);return c.startsWith(i)&&c.endsWith(i)&&c.length>=o*2?{changes:{from:r,to:s,insert:c.slice(o,c.length-o)},range:P.range(r,s-o*2)}:{changes:{from:r,to:s,insert:i+c+i},range:P.range(r+o,s+o)}});return e.dispatch(t,{scrollIntoView:!0,userEvent:"input"}),!0}}function jh(i,e){let t=i.selection.main,n=i.doc.lineAt(t.from).number,r=i.doc.lineAt(t.to).number,s=[];for(let o=n;o<=r;o++)s.push(i.doc.line(o));return e(s)}function $h(i,e){return t=>{let n=jh(t.state,r=>{let s=r.every(o=>e.test(o.text));return r.map(o=>{if(s){let a=o.text.match(e);return{from:o.from,to:o.from+a[0].length,insert:""}}return e.test(o.text)?null:{from:o.from,insert:i}}).filter(Boolean)});return n.length&&Wr(t,n),!0}}function Wr(i,e){let t=i.state.changes(e),n=i.state.selection.main;i.dispatch({changes:e,selection:P.range(t.mapPos(n.anchor,1),t.mapPos(n.head,1)),userEvent:"input"})}function jv(i){let e=/^\d+\.\s/,t=jh(i.state,n=>{let r=n.every(o=>e.test(o.text)),s=1;return n.map(o=>{if(r){let a=o.text.match(e);return{from:o.from,to:o.from+a[0].length,insert:""}}return e.test(o.text)?null:{from:o.from,insert:`${s++}. `}}).filter(Boolean)});return t.length&&Wr(i,t),!0}function qh(i){let e=i.selection.main,t=i.doc.lineAt(e.from).number,n=i.doc.lineAt(e.empty?e.to:e.to-1).number;return Array.from({length:n-t+1},(r,s)=>i.doc.line(t+s))}function e0(i){let e=/^([ \t]*(?:>[ \t]*)*)(?:([-+*]|\d+[.)])([ \t]+)(\[[ xX]\][ \t]+)?)?/.exec(i);return{prefix:e[0],indent:e[1],style:e[2]?e[4]?"task":/^\d/.test(e[2])?"ordered":"bullet":"none"}}function qn(i,e,t){for(let n=U(i).resolve(e,1);n;n=n.parent)if(t.includes(n.name))return n;return null}function t0(i){return qh(i).filter(e=>!/^[ \t>]*$/.test(e.text)&&!qn(i,e.from+e.text.search(/\S/),["FencedCode","CodeBlock"]))}function Vv(i,e){if(!["none","bullet","ordered","task"].includes(e))return!1;let t=t0(i.state).map((n,r)=>{let s=e0(n.text);if(s.style===e)return null;let o=e==="none"?"":e==="bullet"?"- ":e==="task"?"- [ ] ":`${r+1}. `;return{from:n.from,to:n.from+s.prefix.length,insert:s.indent+o}}).filter(Boolean);return t.length&&Wr(i,t),i.focus(),!0}function Ki(i){return e=>{let t=jh(e.state,n=>n.map(r=>{let s=r.text.match(/^(#{1,6})\s+/),a=(s?s[1].length:0)===i||i===0?"":"#".repeat(i)+" ";return{from:r.from,to:r.from+(s?s[0].length:0),insert:a}}));return e.dispatch({changes:t,userEvent:"input"}),!0}}function i0(i){let e={InlineCode:"code",FencedCode:"fenced",CodeBlock:"plain",Blockquote:"quote",Table:"table"};for(let t=U(i).resolve(i.selection.main.head,i.selection.main.empty?1:-1);t;t=t.parent)if(e[t.name])return{style:e[t.name],node:t};return{style:"none",node:null}}function Dv(i,e,t=""){if(!["none","quote","code","plain","fenced","table"].includes(e))return!1;let n=i.state,r=n.selection.main,s=i0(n),o=s.node&&r.from>=s.node.from&&r.to<=s.node.to;if(e==="code"&&(!o||s.style==="code"))return s.style!=="code"&&At("`")(i),i.focus(),!0;if(e==="table"){let p=qn(n,r.to,["FencedCode"]),m=p?p.to:n.doc.lineAt(r.to).to,g=(p&&p.lastChild?.name!=="CodeMark"?` `+n.sliceDoc(p.firstChild.from,p.firstChild.to):"")+` | Column 1 | Column 2 | | --- | --- | | | | -`;return i.dispatch({changes:{from:m,insert:g},selection:{anchor:m+g.length},userEvent:"input"}),i.focus(),!0}if(e===s.style&&o&&e!=="fenced")return!0;if(e==="quote"&&!o){let p=Zh(n).filter(m=>!En(n,m.from+Math.max(0,m.text.search(/\S/)),["Blockquote"])).map(m=>({from:m.from,insert:"> "}));return p.length&&Wr(i,p),i.focus(),!0}let a=Zh(n),l=a[0].from,c=a[a.length-1].to,h=n.sliceDoc(l,c),f=s.node;if(f&&r.from>=f.from&&r.to<=f.to&&(s.style!=="code"||e==="none")){if(l=s.style==="code"?f.from:n.doc.lineAt(f.from).from,c=f.to,h=n.sliceDoc(l,c),s.style==="fenced"){let p=n.doc.lineAt(f.from),m=n.doc.lineAt(f.to),b=f.lastChild?.name==="CodeMark";h=n.sliceDoc(Math.min(p.to+1,f.to),b?m.from:f.to).replace(/\n$/,"")}else if(s.style==="plain")h=h.replace(/^(?: {4}|\t)/gm,"");else if(s.style==="quote")h=h.replace(/^ {0,3}> ?/gm,"");else if(s.style==="code")h=n.sliceDoc(f.firstChild.to,f.lastChild.from);else if(s.style==="table"){let p=Eh(h);p&&(h=p.rows.map(m=>m.join(" ")).join(` +`;return i.dispatch({changes:{from:m,insert:g},selection:{anchor:m+g.length},userEvent:"input"}),i.focus(),!0}if(e===s.style&&o&&e!=="fenced")return!0;if(e==="quote"&&!o){let p=qh(n).filter(m=>!qn(n,m.from+Math.max(0,m.text.search(/\S/)),["Blockquote"])).map(m=>({from:m.from,insert:"> "}));return p.length&&Wr(i,p),i.focus(),!0}let a=qh(n),l=a[0].from,c=a[a.length-1].to,h=n.sliceDoc(l,c),f=s.node;if(f&&r.from>=f.from&&r.to<=f.to&&(s.style!=="code"||e==="none")){if(l=s.style==="code"?f.from:n.doc.lineAt(f.from).from,c=f.to,h=n.sliceDoc(l,c),s.style==="fenced"){let p=n.doc.lineAt(f.from),m=n.doc.lineAt(f.to),b=f.lastChild?.name==="CodeMark";h=n.sliceDoc(Math.min(p.to+1,f.to),b?m.from:f.to).replace(/\n$/,"")}else if(s.style==="plain")h=h.replace(/^(?: {4}|\t)/gm,"");else if(s.style==="quote")h=h.replace(/^ {0,3}> ?/gm,"");else if(s.style==="code")h=n.sliceDoc(f.firstChild.to,f.lastChild.from);else if(s.style==="table"){let p=Lh(h);p&&(h=p.rows.map(m=>m.join(" ")).join(` `))}}let u=h,O=0;if(e==="code"){h=h.replace(/\n/g," ");let p="`".repeat(Math.max(1,...(h.match(/`+/g)||[]).map(b=>b.length+1))),m=/^`|`$/.test(h)||/^ .* $/.test(h)&&/\S/.test(h)?" ":"";u=p+m+h+m+p,O=p.length+m.length}if(e==="quote"&&(u=h.split(` `).map(p=>"> "+p).join(` `),O=2),e==="plain"&&(u=h.split(` @@ -49,4 +49,4 @@ `),O=4),e==="fenced"){let p=h.match(/`+/g)||[],m="`".repeat(Math.max(3,...p.map(Q=>Q.length+1))),b=String(t).replace(/[^\w+-]/g,""),g=m+b+` `;u=g+h+` `+m,O=g.length}return e==="plain"&&l>0&&n.doc.lineAt(l-1).text.trim()&&(u=` -`+u,O++),i.dispatch({changes:{from:l,to:c,insert:u},selection:{anchor:l+O},userEvent:"input"}),i.focus(),!0}function jv(i){let e=i.state.selection.main,t=i.state.sliceDoc(e.from,e.to)||"text",n=`[${t}](url)`,r=e.from+t.length+3;return i.dispatch({changes:{from:e.from,to:e.to,insert:n},selection:v.range(r,r+3),userEvent:"input",scrollIntoView:!0}),!0}var Bg=_e.define();function Vv(i,e){let t=B(i).resolve(e,-1);for(;t;){if(t.name==="FencedCode")return t.from;t=t.parent}return null}var Dv=re.transactionFilter.of(i=>{if(!i.docChanged||!i.isUserEvent("input")||i.annotation(Bg))return i;let e=i.newSelection.main;if(!e.empty)return i;let t=i.newDoc.lineAt(e.head),n=e.head-t.from;if(t.text.slice(0,n)!=="```"||t.text.slice(n)!=="")return i;let r=!1,s=null;if(i.changes.iterChanges((l,c,h,f,u)=>{if(r||h>e.head||f=t.from+3,r&&(s=l)}),!r)return i;let o=i.startState.doc.lineAt(s),a=Vv(i.startState,s);return a!=null&&at.number&&(n=i.state.doc.line(n.number-1)),e.empty){let o=Co(i.state,e.head);if(o){let a=i.state.doc.lineAt(o.from),l=i.state.doc.lineAt(o.to);if(t.number>a.number&&(!o.closed||t.numbera)return zl(i)}return!0}let s=[];for(let o=t.number;o<=n.number;o++)s.push({from:i.state.doc.line(o).from,insert:" "});return Wr(i,s),!0}window.MDEditor={create(i,e,t){let n=t&&t.onDirty,r=t&&t.onPasteImage;Object.assign(dt,t&&t.spacing||{});let s=new E({parent:i,state:re.create({doc:e,extensions:[wO(),ki,GP,Eu(),E.lineWrapping,E.perLineTextDirection.of(!0),Rt.of(" "),_v,ym({content:Dc({base:bi,codeLanguages:Ug,extensions:qh})}),Ji,qn,vt,Rv,Av,Zv,NP,UP,lO({style:Hg.style,scope:m=>m.prop(bt)!==bi.data}),pt.lowest(Ev),zv,Dv,ld(),qi.of([{key:"Mod-b",run:At("**")},{key:"Mod-i",run:At("*")},{key:"Tab",run:Yv,shift:El},...fd,...Vc,...td,...TO]),E.updateListener.of(m=>{if(t?.onFormattingChange&&(m.selectionSet||m.docChanged||m.focusChanged||B(m.startState)!==B(m.state))&&(qe.has(s)?zn(s):t.onFormattingChange(Ah(m.state))),m.docChanged&&t?.onSearchChange){let b=m.state.field(ki);t.onSearchChange({index:b.index+1,total:b.matches.length})}m.docChanged&&n&&!m.transactions.some(b=>b.isUserEvent("rename"))&&n()}),E.domEventHandlers({paste(m,b){if(m.target instanceof Element&&m.target.closest(".cm-md-table-cell")||!Array.from(m.clipboardData?.items||[]).some(S=>String(S.type||"").toLowerCase().startsWith("image/"))||typeof r!="function")return!1;m.preventDefault();let Q=b.state.selection.main;return r(Q.from,Q.to),!0}})]})}),o=!!(t&&t.pageScrolling),a=o?document.scrollingElement:s.scrollDOM,l=o?window:a,c=null,h=0,f=null,u=()=>s.documentTop+a.scrollTop-(o?0:a.getBoundingClientRect().top),O=m=>{let b=s.lineBlockAt(m),g=0,Q=0;try{let S=s.domAtPos(m).node,x=S.nodeType===Node.ELEMENT_NODE?S:S.parentElement,P=x&&x.closest(".cm-line");if(P){let $=getComputedStyle(P);g=parseFloat($.paddingTop)||0,Q=parseFloat($.paddingBottom)||0}}catch{}return{top:b.top+g,height:Math.max(b.height-g-Q,1),sourceStart:s.state.doc.lineAt(b.from).number,sourceEnd:s.state.doc.lineAt(b.to).number+1}},p={bold:At("**"),italic:At("*"),strikethrough:At("~~"),highlight:At("=="),code:At("`"),h0:Ki(0),h1:Ki(1),h2:Ki(2),h3:Ki(3),h4:Ki(4),h5:Ki(5),h6:Ki(6),quote:Ph("> ",/^>\s?/),bulletList:Ph("- ",/^\s*[-*+]\s/),orderedList:Lv,taskList:Ph("- [ ] ",/^\s*[-*+]\s+\[[ xX]\]\s/),link:jv};return t?.onCopyCode&&Gg.set(s,t.onCopyCode),t?.onFormattingChange&&Lh.set(s,t.onFormattingChange),t?.onFormattingChange?.(Ah(s.state)),{getMarkdown:()=>s.state.doc.toString(),getBlockStyle:()=>qe.has(s)?"table":e0(s.state).style,setBlockStyle:(m,b)=>{if(qe.has(s)){if(m!=="code")return!1;let g=$o(s);return g?(At("`")(s),To(s,g),!0):!1}return Wv(s,m,b)},getListStyle:()=>{if(qe.has(s))return"none";let m=Jg(s.state).map(b=>Kg(b.text).style);return m.length?m.every(b=>b===m[0])?m[0]:"mixed":"none"},setListStyle:m=>!qe.has(s)&&Mv(s,m),getLinkSelection:(m=!1)=>{$o(s);let{from:b,to:g}=s.state.selection.main,Q=En(s.state,b,["Link"]);if(m&&Q&&g<=Q.to){let S=Q.getChildren("LinkMark");return{from:Q.from,to:Q.to,text:s.state.sliceDoc(S[0].to,S[1].from)}}return{from:b,to:g,text:s.state.sliceDoc(b,g)}},insertLinkFromPopover:(m,b,g,Q)=>{let S=String(b).trim();if(!S||/[\r\n]/.test(S)||g<0||Qs.state.doc.length)return!1;let x=En(s.state,g,["Link"]);if(x&&(g>x.from||Qg?En(s.state,Q-1,["Link"]):null;if(P&&(g>P.from||Q\\()]/g,k=>/[()]/.test(k)?"%"+k.charCodeAt(0).toString(16).toUpperCase():encodeURIComponent(k)),_=qe.get(s),W=`[${$}](${R})`,T=_?zh(W):W;return s.dispatch({changes:{from:g,to:Q,insert:T},selection:{anchor:g+T.length},userEvent:"input"}),_?To(s,_):s.focus(),!0},getHeadingLevel:()=>{if(qe.has(s))return 0;for(let m=B(s.state).resolveInner(s.state.selection.main.head,1);m;m=m.parent){let b=/^(?:ATX|Setext)Heading([1-6])$/.exec(m.name);if(b)return Number(b[1])}return 0},find:(m,b=!1,g=!1)=>{let Q=s.state.field(ki),S=Q.query===m&&Q.beginsWith===g,x=0;S&&Q.matches.length?x=(Q.index+(b?-1:1)+Q.matches.length)%Q.matches.length:b&&(x=Number.MAX_SAFE_INTEGER),s.dispatch({effects:Ao.of({query:m,beginsWith:g,index:x})});let P=s.state.field(ki),$=P.matches[P.index];return $&&(c=null,didUserScroll=!0,s.dispatch({effects:E.scrollIntoView($.from,{y:"center"})})),{index:P.index+1,total:P.matches.length}},isSyntaxReady:()=>tO(s.state,s.state.doc.length),replaceMarkdown:m=>{let b=String(m||""),g=b.length,Q=s.state.selection.main,S=Math.min(Q.anchor,g),x=Math.min(Q.head,g),P=a.scrollTop;s.dispatch({changes:{from:0,to:s.state.doc.length,insert:b},selection:{anchor:S,head:x},userEvent:"rename",annotations:de.addToHistory.of(!1)}),requestAnimationFrame(()=>{a.scrollTop=P,s.requestMeasure()})},insertTextAt:(m,b,g)=>{let Q=s.state.doc.length,S=Math.max(0,Math.min(Number(b)||0,Q)),x=Math.max(S,Math.min(Number(g)||S,Q));s.dispatch({changes:{from:S,to:x,insert:String(m||"")},selection:{anchor:S+String(m||"").length},userEvent:"input",scrollIntoView:!0}),s.focus()},focus:()=>s.focus(),getScrollAnchor:()=>{if(Number.isFinite(c)&&Math.abs(a.scrollTop-f)<=.5)return{position:c,gap:h||0};let m=a.scrollTop-u(),b=s.lineBlockAtHeight(m),g=s.state.doc.lineAt(b.from),Q=O(g.from),S=Q.height>0?Math.min(Math.max((m-Q.top)/Q.height,0),1):0,x=Math.max(Q.top-m,0);return{position:Q.sourceStart+S*(Q.sourceEnd-Q.sourceStart),gap:x}},setScrollPosition:(m,b,g)=>new Promise(Q=>{let x=Math.max(a.scrollHeight-a.clientHeight,0)*Math.min(Math.max(Number(m)||0,0),1),P=null,$=Number.isFinite(g)?Math.max(g,0):0;if(Number.isFinite(b)&&b>=1){let R=Math.min(Math.floor(b),s.state.doc.lines);if(P=s.state.doc.line(R).from,P!=null){let _=O(P),W=(b-_.sourceStart)/(_.sourceEnd-_.sourceStart);x=u()+_.top+_.height*W-$,s.dispatch({effects:E.scrollIntoView(P,{y:"start"})})}}requestAnimationFrame(()=>{let R=Math.max(a.scrollHeight-a.clientHeight,0);if(P!=null){let _=O(P),W=(b-_.sourceStart)/(_.sourceEnd-_.sourceStart);x=u()+_.top+_.height*W-$}else x=R*Math.min(Math.max(Number(m)||0,0),1);a.scrollTop=Math.min(Math.max(x,0),R),l.dispatchEvent(new Event("scroll")),s.requestMeasure(),requestAnimationFrame(()=>{c=Number.isFinite(b)?b:null,h=Number.isFinite(b)?$:0,f=a.scrollTop,Q(!0)})})}),select:(m,b=m)=>{qe.delete(s),s.dispatch({selection:{anchor:m,head:b},userEvent:"select.pointer"})},insert:m=>{let b=s.state.selection.main;s.state.facet(E.inputHandler).some(Q=>Q(s,b.from,b.to,m))||s.dispatch({changes:{from:b.from,to:b.to,insert:m},selection:{anchor:b.from+m.length},userEvent:"input"})},exec:m=>{let b=p[m];if(!b)return!1;if(qe.has(s)){if(!BP.has(m))return!1;let g=$o(s);return g?(b(s),To(s,g),!0):!1}return b(s),s.focus(),!0},performTableContextAction:(m,b)=>{if(!Lr||Lr.token!==m)return!1;let g=Lr;return Lr=null,g.perform(b),!0},destroy:()=>{s.destroy()}}}};})(); +`+u,O++),i.dispatch({changes:{from:l,to:c,insert:u},selection:{anchor:l+O},userEvent:"input"}),i.focus(),!0}function Yv(i){let e=i.state.selection.main,t=i.state.sliceDoc(e.from,e.to)||"text",n=`[${t}](url)`,r=e.from+t.length+3;return i.dispatch({changes:{from:e.from,to:e.to,insert:n},selection:P.range(r,r+3),userEvent:"input",scrollIntoView:!0}),!0}var Gg=Re.define();function Iv(i,e){let t=U(i).resolve(e,-1);for(;t;){if(t.name==="FencedCode")return t.from;t=t.parent}return null}var Bv=re.transactionFilter.of(i=>{if(!i.docChanged||!i.isUserEvent("input")||i.annotation(Gg))return i;let e=i.newSelection.main;if(!e.empty)return i;let t=i.newDoc.lineAt(e.head),n=e.head-t.from;if(t.text.slice(0,n)!=="```"||t.text.slice(n)!=="")return i;let r=!1,s=null;if(i.changes.iterChanges((l,c,h,f,u)=>{if(r||h>e.head||f=t.from+3,r&&(s=l)}),!r)return i;let o=i.startState.doc.lineAt(s),a=Iv(i.startState,s);return a!=null&&at.number&&(n=i.state.doc.line(n.number-1)),e.empty){let o=Co(i.state,e.head);if(o){let a=i.state.doc.lineAt(o.from),l=i.state.doc.lineAt(o.to);if(t.number>a.number&&(!o.closed||t.numbera)return Ll(i)}return!0}let s=[];for(let o=t.number;o<=n.number;o++)s.push({from:i.state.doc.line(o).from,insert:" "});return Wr(i,s),!0}window.MDEditor={create(i,e,t){let n=t&&t.onDirty,r=t&&t.onPasteImage;Object.assign(pt,t&&t.spacing||{});let s=new z({parent:i,state:re.create({doc:e,extensions:[vO(),xi,NP,Lu(),z.lineWrapping,z.perLineTextDirection.of(!0),Rt.of(" "),Zv,xm({content:Ic({base:Si,codeLanguages:Ng,extensions:zh})}),Ji,En,vt,Ev,qv,zv,FP,GP,hO({style:Jg.style,scope:m=>m.prop(bt)!==Si.data}),nt.lowest(Mv),Wv,Bv,hd(),nt.highest(ci.of([{key:"Enter",run:KP}])),ci.of([{key:"Mod-b",run:At("**")},{key:"Mod-i",run:At("*")},{key:"Tab",run:Uv,shift:zl},...Od,...Yc,...nd,...XO]),z.updateListener.of(m=>{if(t?.onFormattingChange&&(m.selectionSet||m.docChanged||m.focusChanged||U(m.startState)!==U(m.state))&&(Ee.has(s)?zn(s):t.onFormattingChange(Eh(m.state))),m.docChanged&&t?.onSearchChange){let b=m.state.field(xi);t.onSearchChange({index:b.index+1,total:b.matches.length})}m.docChanged&&n&&!m.transactions.some(b=>b.isUserEvent("rename"))&&n()}),z.domEventHandlers({paste(m,b){if(m.target instanceof Element&&m.target.closest(".cm-md-table-cell")||!Array.from(m.clipboardData?.items||[]).some(S=>String(S.type||"").toLowerCase().startsWith("image/"))||typeof r!="function")return!1;m.preventDefault();let Q=b.state.selection.main;return r(Q.from,Q.to),!0}})]})}),o=!!(t&&t.pageScrolling),a=o?document.scrollingElement:s.scrollDOM,l=o?window:a,c=null,h=0,f=null,u=()=>s.documentTop+a.scrollTop-(o?0:a.getBoundingClientRect().top),O=m=>{let b=s.lineBlockAt(m),g=0,Q=0;try{let S=s.domAtPos(m).node,x=S.nodeType===Node.ELEMENT_NODE?S:S.parentElement,v=x&&x.closest(".cm-line");if(v){let $=getComputedStyle(v);g=parseFloat($.paddingTop)||0,Q=parseFloat($.paddingBottom)||0}}catch{}return{top:b.top+g,height:Math.max(b.height-g-Q,1),sourceStart:s.state.doc.lineAt(b.from).number,sourceEnd:s.state.doc.lineAt(b.to).number+1}},p={bold:At("**"),italic:At("*"),strikethrough:At("~~"),highlight:At("=="),code:At("`"),h0:Ki(0),h1:Ki(1),h2:Ki(2),h3:Ki(3),h4:Ki(4),h5:Ki(5),h6:Ki(6),quote:$h("> ",/^>\s?/),bulletList:$h("- ",/^\s*[-*+]\s/),orderedList:jv,taskList:$h("- [ ] ",/^\s*[-*+]\s+\[[ xX]\]\s/),link:Yv};return t?.onCopyCode&&Fg.set(s,t.onCopyCode),t?.onFormattingChange&&Wh.set(s,t.onFormattingChange),t?.onFormattingChange?.(Eh(s.state)),{getMarkdown:()=>s.state.doc.toString(),getBlockStyle:()=>Ee.has(s)?"table":i0(s.state).style,setBlockStyle:(m,b)=>{if(Ee.has(s)){if(m!=="code")return!1;let g=$o(s);return g?(At("`")(s),To(s,g),!0):!1}return Dv(s,m,b)},getListStyle:()=>{if(Ee.has(s))return"none";let m=t0(s.state).map(b=>e0(b.text).style);return m.length?m.every(b=>b===m[0])?m[0]:"mixed":"none"},setListStyle:m=>!Ee.has(s)&&Vv(s,m),getLinkSelection:(m=!1)=>{$o(s);let{from:b,to:g}=s.state.selection.main,Q=qn(s.state,b,["Link"]);if(m&&Q&&g<=Q.to){let S=Q.getChildren("LinkMark");return{from:Q.from,to:Q.to,text:s.state.sliceDoc(S[0].to,S[1].from)}}return{from:b,to:g,text:s.state.sliceDoc(b,g)}},insertLinkFromPopover:(m,b,g,Q)=>{let S=String(b).trim();if(!S||/[\r\n]/.test(S)||g<0||Qs.state.doc.length)return!1;let x=qn(s.state,g,["Link"]);if(x&&(g>x.from||Qg?qn(s.state,Q-1,["Link"]):null;if(v&&(g>v.from||Q\\()]/g,k=>/[()]/.test(k)?"%"+k.charCodeAt(0).toString(16).toUpperCase():encodeURIComponent(k)),_=Ee.get(s),W=`[${$}](${R})`,T=_?Mh(W):W;return s.dispatch({changes:{from:g,to:Q,insert:T},selection:{anchor:g+T.length},userEvent:"input"}),_?To(s,_):s.focus(),!0},getHeadingLevel:()=>{if(Ee.has(s))return 0;for(let m=U(s.state).resolveInner(s.state.selection.main.head,1);m;m=m.parent){let b=/^(?:ATX|Setext)Heading([1-6])$/.exec(m.name);if(b)return Number(b[1])}return 0},find:(m,b=!1,g=!1)=>{let Q=s.state.field(xi),S=Q.query===m&&Q.beginsWith===g,x=0;S&&Q.matches.length?x=(Q.index+(b?-1:1)+Q.matches.length)%Q.matches.length:b&&(x=Number.MAX_SAFE_INTEGER),s.dispatch({effects:Zo.of({query:m,beginsWith:g,index:x})});let v=s.state.field(xi),$=v.matches[v.index];return $&&(c=null,didUserScroll=!0,s.dispatch({effects:z.scrollIntoView($.from,{y:"center"})})),{index:v.index+1,total:v.matches.length}},isSyntaxReady:()=>nO(s.state,s.state.doc.length),replaceMarkdown:m=>{let b=String(m||""),g=b.length,Q=s.state.selection.main,S=Math.min(Q.anchor,g),x=Math.min(Q.head,g),v=a.scrollTop;s.dispatch({changes:{from:0,to:s.state.doc.length,insert:b},selection:{anchor:S,head:x},userEvent:"rename",annotations:pe.addToHistory.of(!1)}),requestAnimationFrame(()=>{a.scrollTop=v,s.requestMeasure()})},insertTextAt:(m,b,g)=>{let Q=s.state.doc.length,S=Math.max(0,Math.min(Number(b)||0,Q)),x=Math.max(S,Math.min(Number(g)||S,Q));s.dispatch({changes:{from:S,to:x,insert:String(m||"")},selection:{anchor:S+String(m||"").length},userEvent:"input",scrollIntoView:!0}),s.focus()},focus:()=>s.focus(),getScrollAnchor:()=>{if(Number.isFinite(c)&&Math.abs(a.scrollTop-f)<=.5)return{position:c,gap:h||0};let m=a.scrollTop-u(),b=s.lineBlockAtHeight(m),g=s.state.doc.lineAt(b.from),Q=O(g.from),S=Q.height>0?Math.min(Math.max((m-Q.top)/Q.height,0),1):0,x=Math.max(Q.top-m,0);return{position:Q.sourceStart+S*(Q.sourceEnd-Q.sourceStart),gap:x}},setScrollPosition:(m,b,g)=>new Promise(Q=>{let x=Math.max(a.scrollHeight-a.clientHeight,0)*Math.min(Math.max(Number(m)||0,0),1),v=null,$=Number.isFinite(g)?Math.max(g,0):0;if(Number.isFinite(b)&&b>=1){let R=Math.min(Math.floor(b),s.state.doc.lines);if(v=s.state.doc.line(R).from,v!=null){let _=O(v),W=(b-_.sourceStart)/(_.sourceEnd-_.sourceStart);x=u()+_.top+_.height*W-$,s.dispatch({effects:z.scrollIntoView(v,{y:"start"})})}}requestAnimationFrame(()=>{let R=Math.max(a.scrollHeight-a.clientHeight,0);if(v!=null){let _=O(v),W=(b-_.sourceStart)/(_.sourceEnd-_.sourceStart);x=u()+_.top+_.height*W-$}else x=R*Math.min(Math.max(Number(m)||0,0),1);a.scrollTop=Math.min(Math.max(x,0),R),l.dispatchEvent(new Event("scroll")),s.requestMeasure(),requestAnimationFrame(()=>{c=Number.isFinite(b)?b:null,h=Number.isFinite(b)?$:0,f=a.scrollTop,Q(!0)})})}),select:(m,b=m)=>{Ee.delete(s),s.dispatch({selection:{anchor:m,head:b},userEvent:"select.pointer"})},insert:m=>{let b=s.state.selection.main;s.state.facet(z.inputHandler).some(Q=>Q(s,b.from,b.to,m))||s.dispatch({changes:{from:b.from,to:b.to,insert:m},selection:{anchor:b.from+m.length},userEvent:"input"})},exec:m=>{let b=p[m];if(!b)return!1;if(Ee.has(s)){if(!UP.has(m))return!1;let g=$o(s);return g?(b(s),To(s,g),!0):!1}return b(s),s.focus(),!0},performTableContextAction:(m,b)=>{if(!Lr||Lr.token!==m)return!1;let g=Lr;return Lr=null,g.perform(b),!0},destroy:()=>{s.destroy()}}}};})(); diff --git a/scripts/editor-bundle/entry-cm.js b/scripts/editor-bundle/entry-cm.js index 48368d8b..40ae757d 100644 --- a/scripts/editor-bundle/entry-cm.js +++ b/scripts/editor-bundle/entry-cm.js @@ -12,7 +12,7 @@ import { defaultKeymap, history, historyKeymap, indentLess, insertTab, } from "@codemirror/commands" import { closeBrackets, closeBracketsKeymap } from "@codemirror/autocomplete" -import { markdown, markdownLanguage, markdownKeymap } from "@codemirror/lang-markdown" +import { markdown, markdownLanguage, markdownKeymap, insertNewlineContinueMarkupCommand } from "@codemirror/lang-markdown" import { yamlFrontmatter } from "@codemirror/lang-yaml" import { syntaxTree, syntaxTreeAvailable, ensureSyntaxTree, syntaxHighlighting, HighlightStyle, @@ -1206,6 +1206,59 @@ const tableEditors = StateField.define({ provide: (field) => EditorView.decorations.from(field), }) +// Task markers stay rendered while typing, including a newly created empty item. +class TaskCheckboxWidget extends WidgetType { + constructor(from, checked) { super(); this.from = from; this.checked = checked } + eq(other) { return this.from === other.from && this.checked === other.checked } + toDOM(view) { + const wrapper = document.createElement('span') + wrapper.className = 'cm-md-task-marker' + const checkbox = document.createElement('input') + checkbox.type = 'checkbox' + checkbox.checked = this.checked + checkbox.setAttribute('aria-label', this.checked ? 'Mark task incomplete' : 'Mark task complete') + checkbox.addEventListener('mousedown', event => { + event.preventDefault() + event.stopPropagation() + }) + checkbox.addEventListener('change', () => { + view.dispatch({ changes: { from: this.from, to: this.from + 1, + insert: checkbox.checked ? 'x' : ' ' }, userEvent: 'input' }) + view.focus() + }) + wrapper.append(checkbox) + return wrapper + } + ignoreEvent() { return true } +} + +// CodeMirror's default second-item behavior creates a loose list. An empty +// task should instead leave the list on the second Enter, like other editors. +const continueTightTaskList = insertNewlineContinueMarkupCommand({ nonTightLists: false }) +function continueTaskList(view) { + if (!view.state.selection.ranges.every(range => range.empty + && /^[ \t]*(?:>[ \t]*)*[-+*][ \t]+\[[ xX]\](?:[ \t]|$)/.test( + view.state.doc.lineAt(range.head).text))) return false + return continueTightTaskList({ + state: view.state, + dispatch: transaction => { + // A blank separator prevents the next paragraph from becoming a lazy + // continuation of the task above it in Markdown. + const state = transaction.state + const changes = state.changeByRange(range => { + const line = state.doc.lineAt(range.head) + if (range.empty && line.text === '' && line.number > 1 + && state.doc.line(line.number - 1).text.trim() !== '') { + return { changes: { from: range.head, insert: state.lineBreak }, + range: EditorSelection.cursor(range.head + state.lineBreak.length) } + } + return { range } + }) + view.dispatch([transaction, state.update(changes, { userEvent: 'input', scrollIntoView: true })]) + }, + }) +} + const hide = Decoration.replace({}) const bulletDeco = Decoration.replace({ widget: new TextWidget("•", "cm-md-bullet") }) const activeBulletDeco = Decoration.mark({ class: "cm-md-bullet-source" }) @@ -1740,7 +1793,12 @@ function buildDecorations(view, detectedCodeCache) { const isTask = /^[-+*]$/.test(marker) && /^\s*\[[ xX]\](\s|$)/.test(line.text.slice(markerTo - line.from)) - if (/^[-+*]$/.test(marker) && !isTask) { + if (isTask) { + const task = line.text.slice(markerTo - line.from).match(/^[ \t]*\[([ xX])\][ \t]?/) + const bracket = markerTo + task[0].indexOf('[') + ranges.push(Decoration.replace({ widget: new TaskCheckboxWidget(bracket + 1, task[1] !== ' ') }) + .range(markerFrom, markerTo + task[0].length)) + } else if (/^[-+*]$/.test(marker)) { if (touchesLineOf(markerFrom)) { ranges.push(activeBulletDeco.range(markerFrom, markerTo)) if (separator.length > 0) { @@ -2152,10 +2210,13 @@ function buildDecorations(view, detectedCodeCache) { if (name === "ListMark") { const mark = state.doc.sliceString(node.from, node.to) const line = state.doc.lineAt(node.from) - // Task items (`- [ ]`) keep their literal marker; turning the dash - // into a bullet dot leaves a confusing "• [ ]" hybrid. const isTask = /^\s*\[[ xX]\](\s|$)/.test(line.text.slice(node.to - line.from)) - if ((mark === "-" || mark === "*" || mark === "+") && !isTask) { + if (isTask && /^[-+*]$/.test(mark)) { + const task = line.text.slice(node.to - line.from).match(/^[ \t]*\[([ xX])\][ \t]?/) + const bracket = node.to + task[0].indexOf('[') + ranges.push(Decoration.replace({ widget: new TaskCheckboxWidget(bracket + 1, task[1] !== ' ') }) + .range(node.from, node.to + task[0].length)) + } else if ((mark === "-" || mark === "*" || mark === "+") && !isTask) { // Both forms occupy the same fixed-width hanging box. Keep the // active dash editable, but hide its source separator so the dash // can sit at the rendered bullet position without moving text. @@ -2902,6 +2963,7 @@ window.MDEditor = { // paragraphReflow deliberately omitted: the preview renders // single newlines as hard breaks, so the // editor keeps them visible instead of joining lines. + Prec.highest(keymap.of([{ key: "Enter", run: continueTaskList }])), keymap.of([ { key: "Mod-b", run: toggleInlineMark("**") }, { key: "Mod-i", run: toggleInlineMark("*") }, diff --git a/tests/swift-tests/Tests/MarkdownHelpersTests/EditorFormattingTests.swift b/tests/swift-tests/Tests/MarkdownHelpersTests/EditorFormattingTests.swift index 2a49b92d..d7ce14f9 100644 --- a/tests/swift-tests/Tests/MarkdownHelpersTests/EditorFormattingTests.swift +++ b/tests/swift-tests/Tests/MarkdownHelpersTests/EditorFormattingTests.swift @@ -189,6 +189,109 @@ final class EditorFormattingTests: XCTestCase { } } + func testTypedTaskCheckboxContinuesAndExitsOnEmptyItem() async throws { + let script = try TestVendor.script("md-preview/Vendor/CodeMirror/mdedit.min.js") + let editor = WebViewLayoutHarness(html: EditorHTML.render(markdown: "", editorJavaScript: script), + width: 650, isEditor: true, height: 400) + defer { editor.close() } + _ = try await editor.layout(texts: [], imageCount: 0) + let result = try await editor.webView.callAsyncJavaScript(""" + try { + document.hasFocus = () => true; + const api = window.__mdEditor; + const settle = async () => { + for (let i = 0; i < 12; i++) { window.__layoutTestFrame(); await Promise.resolve(); } + }; + const type = async text => { + for (const char of text) { + const selection = api.getLinkSelection(); + api.insertTextAt(char, selection.from, selection.to); + await settle(); + } + }; + const enter = async () => { + document.querySelector('.cm-content').dispatchEvent(new KeyboardEvent('keydown', + {key: 'Enter', code: 'Enter', keyCode: 13, bubbles: true, cancelable: true})); + await settle(); + }; + await type('- [ ] First'); + const rendered = document.querySelectorAll('.cm-md-task-marker input').length; + document.querySelector('.cm-md-task-marker input').click(); + await settle(); + const toggled = api.getMarkdown(); + api.select(toggled.length); api.focus(); + await enter(); + const continued = api.getMarkdown(); + const emptyRendered = document.querySelectorAll('.cm-md-task-marker input').length; + await enter(); + const exited = api.getMarkdown(); + await type('Outside'); + await enter(); await enter(); + await type('- [ ] Second'); + const final = api.getMarkdown(); + const boxes = [...document.querySelectorAll('.cm-md-task-marker input')]; + boxes.at(-1)?.click(); await settle(); + return {rendered, toggled, continued, emptyRendered, exited, final, + checkedSecond: api.getMarkdown(), count: boxes.length}; + } catch (error) { return {error: String(error), stack: error.stack}; } + """, arguments: [:], in: nil, contentWorld: .page) as? [String: Any] + XCTAssertNil(result?["error"], String(describing: result)) + XCTAssertEqual(result?["rendered"] as? Int, 1) + XCTAssertEqual(result?["toggled"] as? String, "- [x] First") + XCTAssertEqual(result?["continued"] as? String, "- [x] First\n- [ ] ") + XCTAssertEqual(result?["emptyRendered"] as? Int, 2) + XCTAssertEqual(result?["exited"] as? String, "- [x] First\n\n") + XCTAssertEqual(result?["final"] as? String, "- [x] First\n\nOutside\n\n- [ ] Second") + XCTAssertEqual(result?["checkedSecond"] as? String, "- [x] First\n\nOutside\n\n- [x] Second") + XCTAssertEqual(result?["count"] as? Int, 2) + } + + func testTaskEnterPreservesMarkersAndMarkdownContext() async throws { + let script = try TestVendor.script("md-preview/Vendor/CodeMirror/mdedit.min.js") + let examples = [ + ("+ [X] One", "+ [X] One\n+ [ ] ", "+ [X] One\n\n"), + ("* [ ] One", "* [ ] One\n* [ ] ", "* [ ] One\n\n"), + ("- [ ] One\n- [ ] Two", "- [ ] One\n- [ ] Two\n- [ ] ", "- [ ] One\n- [ ] Two\n\n"), + ("> - [ ] One", "> - [ ] One\n> - [ ] ", "> - [ ] One\n> "), + ("- [ ] Parent\n - [x] Child", "- [ ] Parent\n - [x] Child\n - [ ] ", + "- [ ] Parent\n - [x] Child\n- [ ] ") + ] + for (source, continued, exited) in examples { + let editor = WebViewLayoutHarness(html: EditorHTML.render(markdown: source, editorJavaScript: script), + width: 650, isEditor: true, height: 400) + defer { editor.close() } + _ = try await editor.layout(texts: [], imageCount: 0) + let result = try await editor.webView.evaluateJavaScript(""" + (() => { + const api = window.__mdEditor; + api.select(api.getMarkdown().length); api.focus(); + const enter = () => document.querySelector('.cm-content').dispatchEvent(new KeyboardEvent('keydown', + {key: 'Enter', code: 'Enter', keyCode: 13, bubbles: true, cancelable: true})); + enter(); const continued = api.getMarkdown(); + enter(); return {continued, exited: api.getMarkdown()}; + })() + """) as? [String: Any] + XCTAssertEqual(result?["continued"] as? String, continued, source) + XCTAssertEqual(result?["exited"] as? String, exited, source) + } + let source = "```markdown\n- [ ] Literal" + let editor = WebViewLayoutHarness(html: EditorHTML.render(markdown: source, editorJavaScript: script), + width: 650, isEditor: true, height: 400) + defer { editor.close() } + _ = try await editor.layout(texts: [], imageCount: 0) + let literal = try await editor.webView.evaluateJavaScript(""" + (() => { + const api = window.__mdEditor; + api.select(api.getMarkdown().length); api.focus(); + document.querySelector('.cm-content').dispatchEvent(new KeyboardEvent('keydown', + {key: 'Enter', code: 'Enter', keyCode: 13, bubbles: true, cancelable: true})); + return {source: api.getMarkdown(), boxes: document.querySelectorAll('.cm-md-task-marker input').length}; + })() + """) as? [String: Any] + XCTAssertEqual(literal?["source"] as? String, source + "\n") + XCTAssertEqual(literal?["boxes"] as? Int, 0) + } + func testLinkPopoverRejectsPartialOverlapAtEitherSelectionEdge() async throws { let script = try TestVendor.script("md-preview/Vendor/CodeMirror/mdedit.min.js") let source = "Before [hello](https://example.com) after" From 160cdd9c60c8b429209162ba6a17eec701cfcb4c Mon Sep 17 00:00:00 2001 From: Fauzaan Date: Mon, 28 Sep 2026 11:58:01 +0000 Subject: [PATCH 03/16] Preserve blank lines when starting a new list item --- md-preview/Vendor/CodeMirror/mdedit.min.js | 42 +++++++++--------- scripts/editor-bundle/entry-cm.js | 15 +++---- .../EditorFormattingTests.swift | 43 +++++++++++++++++++ 3 files changed, 71 insertions(+), 29 deletions(-) diff --git a/md-preview/Vendor/CodeMirror/mdedit.min.js b/md-preview/Vendor/CodeMirror/mdedit.min.js index 338a342f..0080b812 100644 --- a/md-preview/Vendor/CodeMirror/mdedit.min.js +++ b/md-preview/Vendor/CodeMirror/mdedit.min.js @@ -1,20 +1,20 @@ -(()=>{var qo=[],Uh=[];(()=>{let i="lc,34,7n,7,7b,19,,,,2,,2,,,20,b,1c,l,g,,2t,7,2,6,2,2,,4,z,,u,r,2j,b,1m,9,9,,o,4,,9,,3,,5,17,3,3b,f,,w,1j,,,,4,8,4,,3,7,a,2,t,,1m,,,,2,4,8,,9,,a,2,q,,2,2,1l,,4,2,4,2,2,3,3,,u,2,3,,b,2,1l,,4,5,,2,4,,k,2,m,6,,,1m,,,2,,4,8,,7,3,a,2,u,,1n,,,,c,,9,,14,,3,,1l,3,5,3,,4,7,2,b,2,t,,1m,,2,,2,,3,,5,2,7,2,b,2,s,2,1l,2,,,2,4,8,,9,,a,2,t,,20,,4,,2,3,,,8,,29,,2,7,c,8,2q,,2,9,b,6,22,2,r,,,,,,1j,e,,5,,2,5,b,,10,9,,2u,4,,6,,2,2,2,p,2,4,3,g,4,d,,2,2,6,,f,,jj,3,qa,3,t,3,t,2,u,2,1s,2,,7,8,,2,b,9,,19,3,3b,2,y,,3a,3,4,2,9,,6,3,63,2,2,,1m,,,7,,,,,2,8,6,a,2,,1c,h,1r,4,1c,7,,,5,,14,9,c,2,w,4,2,2,,3,1k,,,2,3,,,3,1m,8,2,2,48,3,,d,,7,4,,6,,3,2,5i,1m,,5,ek,,5f,x,2da,3,3x,,2o,w,fe,6,2x,2,n9w,4,,a,w,2,28,2,7k,,3,,4,,p,2,5,,47,2,q,i,d,,12,8,p,b,1a,3,1c,,2,4,2,2,13,,1v,6,2,2,2,2,c,,8,,1b,,1f,,,3,2,2,5,2,,,16,2,8,,6m,,2,,4,,fn4,,kh,g,g,g,a6,2,gt,,6a,,45,5,1ae,3,,2,5,4,14,3,4,,4l,2,fx,4,ar,2,49,b,4w,,1i,f,1k,3,1d,4,2,2,1x,3,10,5,,8,1q,,c,2,1g,9,a,4,2,,2n,3,2,,,2,6,,4g,,3,8,l,2,1l,2,,,,,m,,e,7,3,5,5f,8,2,3,,,n,,29,,2,6,,,2,,,2,,2,6j,,2,4,6,2,,2,r,2,2d,8,2,,,2,2y,,,,2,6,,,2t,3,2,4,,5,77,9,,2,6t,,a,2,,,4,,40,4,2,2,4,,w,a,14,6,2,4,8,,9,6,2,3,1a,d,,2,ba,7,,6,,,2a,m,2,7,,2,,2,3e,6,3,,,2,,7,,,20,2,3,,,,9n,2,f0b,5,1n,7,t4,,1r,4,29,,f5k,2,43q,,,3,4,5,8,8,2,7,u,4,44,3,1iz,1j,4,1e,8,,e,,m,5,,f,11s,7,,h,2,7,,2,,5,79,7,c5,4,15s,7,31,7,240,5,gx7k,2o,3k,6o".split(",").map(e=>e?parseInt(e,36):1);for(let e=0,t=0;e>1;if(i=Uh[n])e=n+1;else return!0;if(e==t)return!1}}function Yh(i){return i>=127462&&i<=127487}var Ih=8205;function Gh(i,e,t=!0,n=!0){return(t?Nh:r0)(i,e,n)}function Nh(i,e,t){if(e==i.length)return e;e&&Fh(i.charCodeAt(e))&&Hh(i.charCodeAt(e-1))&&e--;let n=Eo(i,e);for(e+=Bh(n);e=0&&Yh(Eo(i,o));)s++,o-=2;if(s%2==0)break;e+=2}else break}return e}function r0(i,e,t){for(;e>1;){let n=Nh(i,e-2,t);if(n=56320&&i<57344}function Hh(i){return i>=55296&&i<56320}function Bh(i){return i<65536?1:2}var K=class i{lineAt(e){if(e<0||e>this.length)throw new RangeError(`Invalid position ${e} in document of length ${this.length}`);return this.lineInner(e,!1,1,0)}line(e){if(e<1||e>this.lines)throw new RangeError(`Invalid line number ${e} in ${this.lines}-line document`);return this.lineInner(e,!0,1,0)}replace(e,t,n){[e,t]=sn(this,e,t);let r=[];return this.decompose(0,e,r,2),n.length&&n.decompose(0,n.length,r,3),this.decompose(t,this.length,r,1),tn.from(r,this.length-(t-e)+n.length)}append(e){return this.replace(this.length,this.length,e)}slice(e,t=this.length){[e,t]=sn(this,e,t);let n=[];return this.decompose(e,t,n,0),tn.from(n,t-e)}eq(e){if(e==this)return!0;if(e.length!=this.length||e.lines!=this.lines)return!1;let t=this.scanIdentical(e,1),n=this.length-this.scanIdentical(e,-1),r=new Ti(this),s=new Ti(e);for(let o=t,a=t;;){if(r.next(o),s.next(o),o=0,r.lineBreak!=s.lineBreak||r.done!=s.done||r.value!=s.value)return!1;if(a+=r.value.length,r.done||a>=n)return!0}}iter(e=1){return new Ti(this,e)}iterRange(e,t=this.length){return new Ir(this,e,t)}iterLines(e,t){let n;if(e==null)n=this.iter();else{t==null&&(t=this.lines+1);let r=this.line(e).from;n=this.iterRange(r,Math.max(r,t==this.lines+1?this.length:t<=1?0:this.line(t-1).to))}return new Br(n)}toString(){return this.sliceString(0)}toJSON(){let e=[];return this.flatten(e),e}constructor(){}static of(e){if(e.length==0)throw new RangeError("A document must have at least one line");return e.length==1&&!e[0]?i.empty:e.length<=32?new Ne(e):tn.from(Ne.split(e,[]))}},Ne=class i extends K{constructor(e,t=s0(e)){super(),this.text=e,this.length=t}get lines(){return this.text.length}get children(){return null}lineInner(e,t,n,r){for(let s=0;;s++){let o=this.text[s],a=r+o.length;if((t?n:a)>=e)return new Lo(r,a,n,o);r=a+1,n++}}decompose(e,t,n,r){let s=e<=0&&t>=this.length?this:new i(Kh(this.text,e,t),Math.min(t,this.length)-Math.max(0,e));if(r&1){let o=n.pop(),a=Yr(s.text,o.text.slice(),0,s.length);if(a.length<=32)n.push(new i(a,o.length+s.length));else{let l=a.length>>1;n.push(new i(a.slice(0,l)),new i(a.slice(l)))}}else n.push(s)}replace(e,t,n){if(!(n instanceof i))return super.replace(e,t,n);[e,t]=sn(this,e,t);let r=Yr(this.text,Yr(n.text,Kh(this.text,0,e)),t),s=this.length+n.length-(t-e);return r.length<=32?new i(r,s):tn.from(i.split(r,[]),s)}sliceString(e,t=this.length,n=` +(()=>{var Eo=[],Uh=[];(()=>{let i="lc,34,7n,7,7b,19,,,,2,,2,,,20,b,1c,l,g,,2t,7,2,6,2,2,,4,z,,u,r,2j,b,1m,9,9,,o,4,,9,,3,,5,17,3,3b,f,,w,1j,,,,4,8,4,,3,7,a,2,t,,1m,,,,2,4,8,,9,,a,2,q,,2,2,1l,,4,2,4,2,2,3,3,,u,2,3,,b,2,1l,,4,5,,2,4,,k,2,m,6,,,1m,,,2,,4,8,,7,3,a,2,u,,1n,,,,c,,9,,14,,3,,1l,3,5,3,,4,7,2,b,2,t,,1m,,2,,2,,3,,5,2,7,2,b,2,s,2,1l,2,,,2,4,8,,9,,a,2,t,,20,,4,,2,3,,,8,,29,,2,7,c,8,2q,,2,9,b,6,22,2,r,,,,,,1j,e,,5,,2,5,b,,10,9,,2u,4,,6,,2,2,2,p,2,4,3,g,4,d,,2,2,6,,f,,jj,3,qa,3,t,3,t,2,u,2,1s,2,,7,8,,2,b,9,,19,3,3b,2,y,,3a,3,4,2,9,,6,3,63,2,2,,1m,,,7,,,,,2,8,6,a,2,,1c,h,1r,4,1c,7,,,5,,14,9,c,2,w,4,2,2,,3,1k,,,2,3,,,3,1m,8,2,2,48,3,,d,,7,4,,6,,3,2,5i,1m,,5,ek,,5f,x,2da,3,3x,,2o,w,fe,6,2x,2,n9w,4,,a,w,2,28,2,7k,,3,,4,,p,2,5,,47,2,q,i,d,,12,8,p,b,1a,3,1c,,2,4,2,2,13,,1v,6,2,2,2,2,c,,8,,1b,,1f,,,3,2,2,5,2,,,16,2,8,,6m,,2,,4,,fn4,,kh,g,g,g,a6,2,gt,,6a,,45,5,1ae,3,,2,5,4,14,3,4,,4l,2,fx,4,ar,2,49,b,4w,,1i,f,1k,3,1d,4,2,2,1x,3,10,5,,8,1q,,c,2,1g,9,a,4,2,,2n,3,2,,,2,6,,4g,,3,8,l,2,1l,2,,,,,m,,e,7,3,5,5f,8,2,3,,,n,,29,,2,6,,,2,,,2,,2,6j,,2,4,6,2,,2,r,2,2d,8,2,,,2,2y,,,,2,6,,,2t,3,2,4,,5,77,9,,2,6t,,a,2,,,4,,40,4,2,2,4,,w,a,14,6,2,4,8,,9,6,2,3,1a,d,,2,ba,7,,6,,,2a,m,2,7,,2,,2,3e,6,3,,,2,,7,,,20,2,3,,,,9n,2,f0b,5,1n,7,t4,,1r,4,29,,f5k,2,43q,,,3,4,5,8,8,2,7,u,4,44,3,1iz,1j,4,1e,8,,e,,m,5,,f,11s,7,,h,2,7,,2,,5,79,7,c5,4,15s,7,31,7,240,5,gx7k,2o,3k,6o".split(",").map(e=>e?parseInt(e,36):1);for(let e=0,t=0;e>1;if(i=Uh[n])e=n+1;else return!0;if(e==t)return!1}}function Yh(i){return i>=127462&&i<=127487}var Ih=8205;function Gh(i,e,t=!0,n=!0){return(t?Nh:r0)(i,e,n)}function Nh(i,e,t){if(e==i.length)return e;e&&Fh(i.charCodeAt(e))&&Hh(i.charCodeAt(e-1))&&e--;let n=Zo(i,e);for(e+=Bh(n);e=0&&Yh(Zo(i,o));)s++,o-=2;if(s%2==0)break;e+=2}else break}return e}function r0(i,e,t){for(;e>1;){let n=Nh(i,e-2,t);if(n=56320&&i<57344}function Hh(i){return i>=55296&&i<56320}function Bh(i){return i<65536?1:2}var K=class i{lineAt(e){if(e<0||e>this.length)throw new RangeError(`Invalid position ${e} in document of length ${this.length}`);return this.lineInner(e,!1,1,0)}line(e){if(e<1||e>this.lines)throw new RangeError(`Invalid line number ${e} in ${this.lines}-line document`);return this.lineInner(e,!0,1,0)}replace(e,t,n){[e,t]=sn(this,e,t);let r=[];return this.decompose(0,e,r,2),n.length&&n.decompose(0,n.length,r,3),this.decompose(t,this.length,r,1),tn.from(r,this.length-(t-e)+n.length)}append(e){return this.replace(this.length,this.length,e)}slice(e,t=this.length){[e,t]=sn(this,e,t);let n=[];return this.decompose(e,t,n,0),tn.from(n,t-e)}eq(e){if(e==this)return!0;if(e.length!=this.length||e.lines!=this.lines)return!1;let t=this.scanIdentical(e,1),n=this.length-this.scanIdentical(e,-1),r=new Ci(this),s=new Ci(e);for(let o=t,a=t;;){if(r.next(o),s.next(o),o=0,r.lineBreak!=s.lineBreak||r.done!=s.done||r.value!=s.value)return!1;if(a+=r.value.length,r.done||a>=n)return!0}}iter(e=1){return new Ci(this,e)}iterRange(e,t=this.length){return new Ir(this,e,t)}iterLines(e,t){let n;if(e==null)n=this.iter();else{t==null&&(t=this.lines+1);let r=this.line(e).from;n=this.iterRange(r,Math.max(r,t==this.lines+1?this.length:t<=1?0:this.line(t-1).to))}return new Br(n)}toString(){return this.sliceString(0)}toJSON(){let e=[];return this.flatten(e),e}constructor(){}static of(e){if(e.length==0)throw new RangeError("A document must have at least one line");return e.length==1&&!e[0]?i.empty:e.length<=32?new Ge(e):tn.from(Ge.split(e,[]))}},Ge=class i extends K{constructor(e,t=s0(e)){super(),this.text=e,this.length=t}get lines(){return this.text.length}get children(){return null}lineInner(e,t,n,r){for(let s=0;;s++){let o=this.text[s],a=r+o.length;if((t?n:a)>=e)return new zo(r,a,n,o);r=a+1,n++}}decompose(e,t,n,r){let s=e<=0&&t>=this.length?this:new i(Kh(this.text,e,t),Math.min(t,this.length)-Math.max(0,e));if(r&1){let o=n.pop(),a=Yr(s.text,o.text.slice(),0,s.length);if(a.length<=32)n.push(new i(a,o.length+s.length));else{let l=a.length>>1;n.push(new i(a.slice(0,l)),new i(a.slice(l)))}}else n.push(s)}replace(e,t,n){if(!(n instanceof i))return super.replace(e,t,n);[e,t]=sn(this,e,t);let r=Yr(this.text,Yr(n.text,Kh(this.text,0,e)),t),s=this.length+n.length-(t-e);return r.length<=32?new i(r,s):tn.from(i.split(r,[]),s)}sliceString(e,t=this.length,n=` `){[e,t]=sn(this,e,t);let r="";for(let s=0,o=0;s<=t&&oe&&o&&(r+=n),es&&(r+=a.slice(Math.max(0,e-s),t-s)),s=l+1}return r}flatten(e){for(let t of this.text)e.push(t)}scanIdentical(){return 0}static split(e,t){let n=[],r=-1;for(let s of e)n.push(s),r+=s.length+1,n.length==32&&(t.push(new i(n,r)),n=[],r=-1);return r>-1&&t.push(new i(n,r)),t}},tn=class i extends K{constructor(e,t){super(),this.children=e,this.length=t,this.lines=0;for(let n of e)this.lines+=n.lines}lineInner(e,t,n,r){for(let s=0;;s++){let o=this.children[s],a=r+o.length,l=n+o.lines-1;if((t?l:a)>=e)return o.lineInner(e,t,n,r);r=a+1,n=l+1}}decompose(e,t,n,r){for(let s=0,o=0;o<=t&&s=o){let c=r&((o<=e?1:0)|(l>=t?2:0));o>=e&&l<=t&&!c?n.push(a):a.decompose(e-o,t-o,n,c)}o=l+1}}replace(e,t,n){if([e,t]=sn(this,e,t),n.lines=s&&t<=a){let l=o.replace(e-s,t-s,n),c=this.lines-o.lines+l.lines;if(l.lines>4&&l.lines>c>>6){let h=this.children.slice();return h[r]=l,new i(h,this.length-(t-e)+n.length)}return super.replace(s,a,l)}s=a+1}return super.replace(e,t,n)}sliceString(e,t=this.length,n=` -`){[e,t]=sn(this,e,t);let r="";for(let s=0,o=0;se&&s&&(r+=n),eo&&(r+=a.sliceString(e-o,t-o,n)),o=l+1}return r}flatten(e){for(let t of this.children)t.flatten(e)}scanIdentical(e,t){if(!(e instanceof i))return 0;let n=0,[r,s,o,a]=t>0?[0,0,this.children.length,e.children.length]:[this.children.length-1,e.children.length-1,-1,-1];for(;;r+=t,s+=t){if(r==o||s==a)return n;let l=this.children[r],c=e.children[s];if(l!=c)return n+l.scanIdentical(c,t);n+=l.length+1}}static from(e,t=e.reduce((n,r)=>n+r.length+1,-1)){let n=0;for(let O of e)n+=O.lines;if(n<32){let O=[];for(let p of e)p.flatten(O);return new Ne(O,t)}let r=Math.max(32,n>>5),s=r<<1,o=r>>1,a=[],l=0,c=-1,h=[];function f(O){let p;if(O.lines>s&&O instanceof i)for(let m of O.children)f(m);else O.lines>o&&(l>o||!l)?(u(),a.push(O)):O instanceof Ne&&l&&(p=h[h.length-1])instanceof Ne&&O.lines+p.lines<=32?(l+=O.lines,c+=O.length+1,h[h.length-1]=new Ne(p.text.concat(O.text),p.length+1+O.length)):(l+O.lines>r&&u(),l+=O.lines,c+=O.length+1,h.push(O))}function u(){l!=0&&(a.push(h.length==1?h[0]:i.from(h,c)),c=-1,l=h.length=0)}for(let O of e)f(O);return u(),a.length==1?a[0]:new i(a,t)}};K.empty=new Ne([""],0);function s0(i){let e=-1;for(let t of i)e+=t.length+1;return e}function Yr(i,e,t=0,n=1e9){for(let r=0,s=0,o=!0;s=t&&(l>n&&(a=a.slice(0,n-r)),r0?1:(e instanceof Ne?e.text.length:e.children.length)<<1]}nextInner(e,t){for(this.done=this.lineBreak=!1;;){let n=this.nodes.length-1,r=this.nodes[n],s=this.offsets[n],o=s>>1,a=r instanceof Ne?r.text.length:r.children.length;if(o==(t>0?a:0)){if(n==0)return this.done=!0,this.value="",this;t>0&&this.offsets[n-1]++,this.nodes.pop(),this.offsets.pop()}else if((s&1)==(t>0?0:1)){if(this.offsets[n]+=t,e==0)return this.lineBreak=!0,this.value=` -`,this;e--}else if(r instanceof Ne){let l=r.text[o+(t<0?-1:0)];if(this.offsets[n]+=t,l.length>Math.max(0,e))return this.value=e==0?l:t>0?l.slice(e):l.slice(0,l.length-e),this;e-=l.length}else{let l=r.children[o+(t<0?-1:0)];e>l.length?(e-=l.length,this.offsets[n]+=t):(t<0&&this.offsets[n]--,this.nodes.push(l),this.offsets.push(t>0?1:(l instanceof Ne?l.text.length:l.children.length)<<1))}}}next(e=0){return e<0&&(this.nextInner(-e,-this.dir),e=this.value.length),this.nextInner(e,this.dir)}},Ir=class{constructor(e,t,n){this.value="",this.done=!1,this.cursor=new Ti(e,t>n?-1:1),this.pos=t>n?e.length:0,this.from=Math.min(t,n),this.to=Math.max(t,n)}nextInner(e,t){if(t<0?this.pos<=this.from:this.pos>=this.to)return this.value="",this.done=!0,this;e+=Math.max(0,t<0?this.pos-this.to:this.from-this.pos);let n=t<0?this.pos-this.from:this.to-this.pos;e>n&&(e=n),n-=e;let{value:r}=this.cursor.next(e);return this.pos+=(r.length+e)*t,this.value=r.length<=n?r:t<0?r.slice(r.length-n):r.slice(0,n),this.done=!this.value,this}next(e=0){return e<0?e=Math.max(e,this.from-this.pos):e>0&&(e=Math.min(e,this.to-this.pos)),this.nextInner(e,this.cursor.dir)}get lineBreak(){return this.cursor.lineBreak&&this.value!=""}},Br=class{constructor(e){this.inner=e,this.afterBreak=!0,this.value="",this.done=!1}next(e=0){let{done:t,lineBreak:n,value:r}=this.inner.next(e);return t&&this.afterBreak?(this.value="",this.afterBreak=!1):t?(this.done=!0,this.value=""):n?this.afterBreak?this.value="":(this.afterBreak=!0,this.next()):(this.value=r,this.afterBreak=!1),this}get lineBreak(){return!1}};typeof Symbol<"u"&&(K.prototype[Symbol.iterator]=function(){return this.iter()},Ti.prototype[Symbol.iterator]=Ir.prototype[Symbol.iterator]=Br.prototype[Symbol.iterator]=function(){return this});var Lo=class{constructor(e,t,n,r){this.from=e,this.to=t,this.number=n,this.text=r}get length(){return this.to-this.from}};function sn(i,e,t){return e=Math.max(0,Math.min(i.length,e)),[e,Math.max(e,Math.min(i.length,t))]}function ke(i,e,t=!0,n=!0){return Gh(i,e,t,n)}function o0(i){return i>=56320&&i<57344}function a0(i){return i>=55296&&i<56320}function ni(i,e){let t=i.charCodeAt(e);if(!a0(t)||e+1==i.length)return t;let n=i.charCodeAt(e+1);return o0(n)?(t-55296<<10)+(n-56320)+65536:t}function rf(i){return i<=65535?String.fromCharCode(i):(i-=65536,String.fromCharCode((i>>10)+55296,(i&1023)+56320))}function on(i){return i<65536?1:2}var Mo=/\r\n?|\n/,ge=(function(i){return i[i.Simple=0]="Simple",i[i.TrackDel=1]="TrackDel",i[i.TrackBefore=2]="TrackBefore",i[i.TrackAfter=3]="TrackAfter",i})(ge||(ge={})),Et=class i{constructor(e){this.sections=e}get length(){let e=0;for(let t=0;te)return s+(e-r);s+=a}else{if(n!=ge.Simple&&c>=e&&(n==ge.TrackDel&&re||n==ge.TrackBefore&&re))return null;if(c>e||c==e&&t<0&&!a)return e==r||t<0?s:s+l;s+=l}r=c}if(e>r)throw new RangeError(`Position ${e} is out of range for changeset of length ${r}`);return s}touchesRange(e,t=e){for(let n=0,r=0;n=0&&r<=t&&a>=e)return rt?"cover":!0;r=a}return!1}toString(){let e="";for(let t=0;t=0?":"+r:"")}return e}toJSON(){return this.sections}static fromJSON(e){if(!Array.isArray(e)||e.length%2||e.some(t=>typeof t!="number"))throw new RangeError("Invalid JSON representation of ChangeDesc");return new i(e)}static create(e){return new i(e)}},ze=class i extends Et{constructor(e,t){super(e),this.inserted=t}apply(e){if(this.length!=e.length)throw new RangeError("Applying change set to a document with the wrong length");return Wo(this,(t,n,r,s,o)=>e=e.replace(r,r+(n-t),o),!1),e}mapDesc(e,t=!1){return jo(this,e,t,!0)}invert(e){let t=this.sections.slice(),n=[];for(let r=0,s=0;r=0){t[r]=a,t[r+1]=o;let l=r>>1;for(;n.length0&&ii(n,t,s.text),s.forward(h),a+=h}let c=e[o++];for(;a>1].toJSON()))}return e}static of(e,t,n){let r=[],s=[],o=0,a=null;function l(h=!1){if(!h&&!r.length)return;ou||f<0||u>t)throw new RangeError(`Invalid change range ${f} to ${u} (in doc of length ${t})`);let p=O?typeof O=="string"?K.of(O.split(n||Mo)):O:K.empty,m=p.length;if(f==u&&m==0)return;fo&&_e(r,f-o,-1),_e(r,u-f,m),ii(s,r,p),o=u}}return c(e),l(!a),a}static empty(e){return new i(e?[e,-1]:[],[])}static fromJSON(e){if(!Array.isArray(e))throw new RangeError("Invalid JSON representation of ChangeSet");let t=[],n=[];for(let r=0;ra&&typeof o!="string"))throw new RangeError("Invalid JSON representation of ChangeSet");if(s.length==1)t.push(s[0],0);else{for(;n.length=0&&t<=0&&t==i[r+1]?i[r]+=e:r>=0&&e==0&&i[r]==0?i[r+1]+=t:n?(i[r]+=e,i[r+1]+=t):i.push(e,t)}function ii(i,e,t){if(t.length==0)return;let n=e.length-2>>1;if(n>1])),!(t||o==i.sections.length||i.sections[o+1]<0);)a=i.sections[o++],l=i.sections[o++];e(r,c,s,h,f),r=c,s=h}}}function jo(i,e,t,n=!1){let r=[],s=n?[]:null,o=new Ci(i),a=new Ci(e);for(let l=-1;;){if(o.done&&a.len||a.done&&o.len)throw new Error("Mismatched change set lengths");if(o.ins==-1&&a.ins==-1){let c=Math.min(o.len,a.len);_e(r,c,-1),o.forward(c),a.forward(c)}else if(a.ins>=0&&(o.ins<0||l==o.i||o.off==0&&(a.len=0&&l=0){let c=0,h=o.len;for(;h;)if(a.ins==-1){let f=Math.min(h,a.len);c+=f,h-=f,a.forward(f)}else if(a.ins==0&&a.lenl||o.ins>=0&&o.len>l)&&(a||n.length>c),s.forward2(l),o.forward(l)}}}}var Ci=class{constructor(e){this.set=e,this.i=0,this.next()}next(){let{sections:e}=this.set;this.i>1;return t>=e.length?K.empty:e[t]}textBit(e){let{inserted:t}=this.set,n=this.i-2>>1;return n>=t.length&&!e?K.empty:t[n].slice(this.off,e==null?void 0:this.off+e)}forward(e){e==this.len?this.next():(this.len-=e,this.off+=e)}forward2(e){this.ins==-1?this.forward(e):e==this.ins?this.next():(this.ins-=e,this.off+=e)}},Pi=class i{constructor(e,t,n,r){this.from=e,this.to=t,this.flags=n,this.goalColumn=r}get anchor(){return this.flags&32?this.to:this.from}get head(){return this.flags&32?this.from:this.to}get empty(){return this.from==this.to}get assoc(){return this.flags&8?-1:this.flags&16?1:0}get undirectional(){return(this.flags&64)>0}get bidiLevel(){let e=this.flags&7;return e==7?null:e}map(e,t=-1){let n,r;return this.empty?n=r=e.mapPos(this.from,t):(n=e.mapPos(this.from,1),r=e.mapPos(this.to,-1)),n==this.from&&r==this.to?this:new i(n,r,this.flags,this.goalColumn)}extend(e,t=e,n=0){if(e<=this.anchor&&t>=this.anchor)return P.range(e,t,void 0,void 0,n);let r=Math.abs(e-this.anchor)>Math.abs(t-this.anchor)?e:t;return P.range(this.anchor,r,void 0,void 0,n)}eq(e,t=!1){return this.anchor==e.anchor&&this.head==e.head&&this.goalColumn==e.goalColumn&&(!t||!this.empty||this.assoc==e.assoc)}toJSON(){return{anchor:this.anchor,head:this.head}}static fromJSON(e){if(!e||typeof e.anchor!="number"||typeof e.head!="number")throw new RangeError("Invalid JSON representation for SelectionRange");return P.range(e.anchor,e.head)}static create(e,t,n,r){return new i(e,t,n,r)}},P=class i{constructor(e,t){this.ranges=e,this.mainIndex=t}map(e,t=-1){return e.empty?this:i.create(this.ranges.map(n=>n.map(e,t)),this.mainIndex)}eq(e,t=!1){if(this.ranges.length!=e.ranges.length||this.mainIndex!=e.mainIndex)return!1;for(let n=0;ne.toJSON()),main:this.mainIndex}}static fromJSON(e){if(!e||!Array.isArray(e.ranges)||typeof e.main!="number"||e.main>=e.ranges.length)throw new RangeError("Invalid JSON representation for EditorSelection");return new i(e.ranges.map(t=>Pi.fromJSON(t)),e.main)}static single(e,t=e){return new i([i.range(e,t)],0)}static create(e,t=0){if(e.length==0)throw new RangeError("A selection needs at least one range");for(let n=0,r=0;rr.from-s.from),t=e.indexOf(n);for(let r=1;rs.head?i.range(l,a):i.range(a,l))}}return new i(e,t)}};function of(i,e){for(let t of i.ranges)if(t.to>e)throw new RangeError("Selection points outside of document")}var Ho=0,Y=class i{constructor(e,t,n,r,s){this.combine=e,this.compareInput=t,this.compare=n,this.isStatic=r,this.id=Ho++,this.default=e([]),this.extensions=typeof s=="function"?s(this):s}get reader(){return this}static define(e={}){return new i(e.combine||(t=>t),e.compareInput||((t,n)=>t===n),e.compare||(e.combine?(t,n)=>t===n:Ko),!!e.static,e.enables)}of(e){return new nn([],this,0,e)}compute(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new nn(e,this,1,t)}computeN(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new nn(e,this,2,t)}from(e,t){return t||(t=n=>n),this.compute([e],n=>t(n.field(e)))}};function Ko(i,e){return i==e||i.length==e.length&&i.every((t,n)=>t===e[n])}var nn=class{constructor(e,t,n,r){this.dependencies=e,this.facet=t,this.type=n,this.value=r,this.id=Ho++}dynamicSlot(e){var t;let n=this.value,r=this.facet.compareInput,s=this.id,o=e[s]>>1,a=this.type==2,l=!1,c=!1,h=[];for(let f of this.dependencies)f=="doc"?l=!0:f=="selection"?c=!0:(((t=e[f.id])!==null&&t!==void 0?t:1)&1)==0&&h.push(e[f.id]);return{create(f){return f.values[o]=n(f),1},update(f,u){if(l&&u.docChanged||c&&(u.docChanged||u.selection)||Vo(f,h)){let O=n(f);if(a?!Jh(O,f.values[o],r):!r(O,f.values[o]))return f.values[o]=O,1}return 0},reconfigure:(f,u)=>{let O,p=u.config.address[s];if(p!=null){let m=Fr(u,p);if(this.dependencies.every(b=>b instanceof Y?u.facet(b)===f.facet(b):b instanceof he?u.field(b,!1)==f.field(b,!1):!0)||(a?Jh(O=n(f),m,r):r(O=n(f),m)))return f.values[o]=m,0}else O=n(f);return f.values[o]=O,1}}}get extension(){return this}};function Jh(i,e,t){if(i.length!=e.length)return!1;for(let n=0;ni[l.id]),r=t.map(l=>l.type),s=n.filter(l=>!(l&1)),o=i[e.id]>>1;function a(l){let c=[];for(let h=0;hn===r),e);return e.provide&&(t.provides=e.provide(t)),t}create(e){let t=e.facet(jr).find(n=>n.field==this);return(t?.create||this.createF)(e)}slot(e){let t=e[this.id]>>1;return{create:n=>(n.values[t]=this.create(n),1),update:(n,r)=>{let s=n.values[t],o=this.updateF(s,r);return this.compareF(s,o)?0:(n.values[t]=o,1)},reconfigure:(n,r)=>{let s=n.facet(jr),o=r.facet(jr),a;return(a=s.find(l=>l.field==this))&&a!=o.find(l=>l.field==this)?(n.values[t]=a.create(n),1):r.config.address[this.id]!=null?(n.values[t]=r.field(this),0):(n.values[t]=this.create(n),1)}}}init(e){return[this,jr.of({field:this,create:e})]}get extension(){return this}},vi={lowest:4,low:3,default:2,high:1,highest:0};function Mn(i){return e=>new Ur(e,i)}var nt={highest:Mn(vi.highest),high:Mn(vi.high),default:Mn(vi.default),low:Mn(vi.low),lowest:Mn(vi.lowest)},Ur=class{constructor(e,t){this.inner=e,this.prec=t}get extension(){return this}},Gr=class i{of(e){return new jn(this,e)}reconfigure(e){return i.reconfigure.of({compartment:this,extension:e})}get(e){return e.config.compartments.get(this)}},jn=class{constructor(e,t){this.compartment=e,this.inner=t}get extension(){return this}},Nr=class i{constructor(e,t,n,r,s,o){for(this.base=e,this.compartments=t,this.dynamicSlots=n,this.address=r,this.staticValues=s,this.facets=o,this.statusTemplate=[];this.statusTemplate.length>1]}static resolve(e,t,n){let r=[],s=Object.create(null),o=new Map;for(let u of c0(e,t,o))u instanceof he?r.push(u):(s[u.facet.id]||(s[u.facet.id]=[])).push(u);let a=Object.create(null),l=[],c=[];for(let u of r)a[u.id]=c.length<<1,c.push(O=>u.slot(O));let h=n?.config.facets;for(let u in s){let O=s[u],p=O[0].facet,m=h&&h[u]||[];if(O.every(b=>b.type==0))if(a[p.id]=l.length<<1|1,Ko(m,O))l.push(n.facet(p));else{let b=p.combine(O.map(g=>g.value));l.push(n&&p.compare(b,n.facet(p))?n.facet(p):b)}else{for(let b of O)b.type==0?(a[b.id]=l.length<<1|1,l.push(b.value)):(a[b.id]=c.length<<1,c.push(g=>b.dynamicSlot(g)));a[p.id]=c.length<<1,c.push(b=>l0(b,p,O))}}let f=c.map(u=>u(a));return new i(e,o,f,a,l,s)}};function c0(i,e,t){let n=[[],[],[],[],[]],r=new Map;function s(o,a){let l=r.get(o);if(l!=null){if(l<=a)return;let c=n[l].indexOf(o);c>-1&&n[l].splice(c,1),o instanceof jn&&t.delete(o.compartment)}if(r.set(o,a),Array.isArray(o))for(let c of o)s(c,a);else if(o instanceof jn){if(t.has(o.compartment))throw new RangeError("Duplicate use of compartment in extensions");let c=e.get(o.compartment)||o.inner;t.set(o.compartment,c),s(c,a)}else if(o instanceof Ur)s(o.inner,o.prec);else if(o instanceof he)n[a].push(o),o.provides&&s(o.provides,a);else if(o instanceof nn)n[a].push(o),o.facet.extensions&&s(o.facet.extensions,vi.default);else{let c=o.extension;if(!c)throw new Error(`Unrecognized extension value in extension set (${o}).`);if(c==o)throw new Error(`Unrecognized extension value in extension set (${o}). This sometimes happens because multiple instances of @codemirror/state are loaded, breaking instanceof checks.`);s(c,a)}}return s(i,vi.default),n.reduce((o,a)=>o.concat(a))}function Wn(i,e){if(e&1)return 2;let t=e>>1,n=i.status[t];if(n==4)throw new Error("Cyclic dependency between fields and/or facets");if(n&2)return n;i.status[t]=4;let r=i.computeSlot(i,i.config.dynamicSlots[t]);return i.status[t]=2|r}function Fr(i,e){return e&1?i.config.staticValues[e>>1]:i.values[e>>1]}var af=Y.define(),Do=Y.define({combine:i=>i.some(e=>e),static:!0}),lf=Y.define({combine:i=>i.length?i[0]:void 0,static:!0}),cf=Y.define(),hf=Y.define(),ff=Y.define(),uf=Y.define({combine:i=>i.length?i[0]:!1}),Re=class{constructor(e,t){this.type=e,this.value=t}static define(){return new Yo}},Yo=class{of(e){return new Re(this,e)}},Io=class{constructor(e){this.map=e}of(e){return new ie(this,e)}},ie=class i{constructor(e,t){this.type=e,this.value=t}map(e){let t=this.type.map(this.value,e);return t===void 0?void 0:t==this.value?this:new i(this.type,t)}is(e){return this.type==e}static define(e={}){return new Io(e.map||(t=>t))}static mapEffects(e,t){if(!e.length)return e;let n=[];for(let r of e){let s=r.map(t);s&&n.push(s)}return n}};ie.reconfigure=ie.define();ie.appendConfig=ie.define();var pe=class i{constructor(e,t,n,r,s,o){this.startState=e,this.changes=t,this.selection=n,this.effects=r,this.annotations=s,this.scrollIntoView=o,this._doc=null,this._state=null,n&&of(n,t.newLength),s.some(a=>a.type==i.time)||(this.annotations=s.concat(i.time.of(Date.now())))}static create(e,t,n,r,s,o){return new i(e,t,n,r,s,o)}get newDoc(){return this._doc||(this._doc=this.changes.apply(this.startState.doc))}get newSelection(){return this.selection||this.startState.selection.map(this.changes)}get state(){return this._state||this.startState.applyTransaction(this),this._state}annotation(e){for(let t of this.annotations)if(t.type==e)return t.value}get docChanged(){return!this.changes.empty}get reconfigured(){return this.startState.config!=this.state.config}isUserEvent(e){let t=this.annotation(i.userEvent);return!!(t&&(t==e||t.length>e.length&&t.slice(0,e.length)==e&&t[e.length]=="."))}};pe.time=Re.define();pe.userEvent=Re.define();pe.addToHistory=Re.define();pe.remote=Re.define();function h0(i,e){let t=[];for(let n=0,r=0;;){let s,o;if(n=i[n]))s=i[n++],o=i[n++];else if(r=0;r--){let s=n[r](i);s instanceof pe?i=s:Array.isArray(s)&&s.length==1&&s[0]instanceof pe?i=s[0]:i=df(e,rn(s),!1)}return i}function u0(i){let e=i.startState,t=e.facet(ff),n=i;for(let r=t.length-1;r>=0;r--){let s=t[r](i);s&&Object.keys(s).length&&(n=Of(n,Bo(e,s,i.changes.newLength),!0))}return n==i?i:pe.create(e,i.changes,i.selection,n.effects,n.annotations,n.scrollIntoView)}var O0=[];function rn(i){return i==null?O0:Array.isArray(i)?i:[i]}var qe=(function(i){return i[i.Word=0]="Word",i[i.Space=1]="Space",i[i.Other=2]="Other",i})(qe||(qe={})),d0=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/,Uo;try{Uo=new RegExp("[\\p{Alphabetic}\\p{Number}_]","u")}catch{}function p0(i){if(Uo)return Uo.test(i);for(let e=0;e"\x80"&&(t.toUpperCase()!=t.toLowerCase()||d0.test(t)))return!0}return!1}function m0(i){return e=>{if(!/\S/.test(e))return qe.Space;if(p0(e))return qe.Word;for(let t=0;t-1)return qe.Word;return qe.Other}}var re=class i{constructor(e,t,n,r,s,o){this.config=e,this.doc=t,this.selection=n,this.values=r,this.status=e.statusTemplate.slice(),this.computeSlot=s,o&&(o._state=this);for(let a=0;ar.set(c,l)),t=null),r.set(a.value.compartment,a.value.extension)):a.is(ie.reconfigure)?(t=null,n=a.value):a.is(ie.appendConfig)&&(t=null,n=rn(n).concat(a.value));let s;t?s=e.startState.values.slice():(t=Nr.resolve(n,r,this),s=new i(t,this.doc,this.selection,t.dynamicSlots.map(()=>null),(l,c)=>c.reconfigure(l,this),null).values);let o=e.startState.facet(Do)?e.newSelection:e.newSelection.asSingle();new i(t,e.newDoc,o,s,(a,l)=>l.update(a,e),e)}replaceSelection(e){return typeof e=="string"&&(e=this.toText(e)),this.changeByRange(t=>({changes:{from:t.from,to:t.to,insert:e},range:P.cursor(t.from+e.length)}))}changeByRange(e){let t=this.selection,n=e(t.ranges[0]),r=this.changes(n.changes),s=[n.range],o=rn(n.effects);for(let a=1;ao.spec.fromJSON(a,l)))}}return i.create({doc:e.doc,selection:P.fromJSON(e.selection),extensions:t.extensions?r.concat([t.extensions]):r})}static create(e={}){let t=Nr.resolve(e.extensions||[],new Map),n=e.doc instanceof K?e.doc:K.of((e.doc||"").split(t.staticFacet(i.lineSeparator)||Mo)),r=e.selection?e.selection instanceof P?e.selection:P.single(e.selection.anchor,e.selection.head):P.single(0);return of(r,n.length),t.staticFacet(Do)||(r=r.asSingle()),new i(t,n,r,t.dynamicSlots.map(()=>null),(s,o)=>o.create(s),null)}get tabSize(){return this.facet(i.tabSize)}get lineBreak(){return this.facet(i.lineSeparator)||` -`}get readOnly(){return this.facet(uf)}phrase(e,...t){for(let n of this.facet(i.phrases))if(Object.prototype.hasOwnProperty.call(n,e)){e=n[e];break}return t.length&&(e=e.replace(/\$(\$|\d*)/g,(n,r)=>{if(r=="$")return"$";let s=+(r||1);return!s||s>t.length?n:t[s-1]})),e}languageDataAt(e,t,n=-1){let r=[];for(let s of this.facet(af))for(let o of s(this,t,n))Object.prototype.hasOwnProperty.call(o,e)&&r.push(o[e]);return r}charCategorizer(e){let t=this.languageDataAt("wordChars",e);return m0(t.length?t[0]:"")}wordAt(e){let{text:t,from:n,length:r}=this.doc.lineAt(e),s=this.charCategorizer(e),o=e-n,a=e-n;for(;o>0;){let l=ke(t,o,!1);if(s(t.slice(l,o))!=qe.Word)break;o=l}for(;ai.length?i[0]:4});re.lineSeparator=lf;re.readOnly=uf;re.phrases=Y.define({compare(i,e){let t=Object.keys(i),n=Object.keys(e);return t.length==n.length&&t.every(r=>i[r]==e[r])}});re.languageData=af;re.changeFilter=cf;re.transactionFilter=hf;re.transactionExtender=ff;Gr.reconfigure=ie.define();function Yn(i,e,t={}){let n={};for(let r of i)for(let s of Object.keys(r)){let o=r[s],a=n[s];if(a===void 0)n[s]=o;else if(!(a===o||o===void 0))if(Object.hasOwnProperty.call(t,s))n[s]=t[s](a,o);else throw new Error("Config merge conflict for field "+s)}for(let r in e)n[r]===void 0&&(n[r]=e[r]);return n}var it=class{eq(e){return this==e}range(e,t=e){return Vn.create(e,t,this)}};it.prototype.startSide=it.prototype.endSide=0;it.prototype.point=!1;it.prototype.mapMode=ge.TrackDel;function Jo(i,e){return i==e||i.constructor==e.constructor&&i.eq(e)}var Vn=class i{constructor(e,t,n){this.from=e,this.to=t,this.value=n}static create(e,t,n){return new i(e,t,n)}};function Go(i,e){return i.from-e.from||i.value.startSide-e.value.startSide}var No=class i{constructor(e,t,n,r){this.from=e,this.to=t,this.value=n,this.maxPoint=r}get length(){return this.to[this.to.length-1]}findIndex(e,t,n,r=0){let s=n?this.to:this.from;for(let o=r,a=s.length;;){if(o==a)return o;let l=o+a>>1,c=s[l]-e||(n?this.value[l].endSide:this.value[l].startSide)-t;if(l==o)return c>=0?o:a;c>=0?a=l:o=l+1}}between(e,t,n,r){for(let s=this.findIndex(t,-1e9,!0),o=this.findIndex(n,1e9,!1,s);sO||u==O&&c.startSide>0&&c.endSide<=0)continue;(O-u||c.endSide-c.startSide)<0||(o<0&&(o=u),c.point&&(a=Math.max(a,O-u)),n.push(c),r.push(u-o),s.push(O-o))}return{mapped:n.length?new i(r,s,n,a):null,pos:o}}},ae=class i{constructor(e,t,n,r){this.chunkPos=e,this.chunk=t,this.nextLayer=n,this.maxPoint=r}static create(e,t,n,r){return new i(e,t,n,r)}get length(){let e=this.chunk.length-1;return e<0?0:Math.max(this.chunkEnd(e),this.nextLayer.length)}get size(){if(this.isEmpty)return 0;let e=this.nextLayer.size;for(let t of this.chunk)e+=t.value.length;return e}chunkEnd(e){return this.chunkPos[e]+this.chunk[e].length}update(e){let{add:t=[],sort:n=!1,filterFrom:r=0,filterTo:s=this.length}=e,o=e.filter;if(t.length==0&&!o)return this;if(n&&(t=t.slice().sort(Go)),this.isEmpty)return t.length?i.of(t):this;let a=new Hr(this,null,-1).goto(0),l=0,c=[],h=new Xi;for(;a.value||l=0){let f=t[l++];h.addInner(f.from,f.to,f.value)||c.push(f)}else a.rangeIndex==1&&a.chunkIndexthis.chunkEnd(a.chunkIndex)||sa.to||s=s&&e<=s+o.length&&o.between(s,e-s,t-s,n)===!1)return}this.nextLayer.between(e,t,n)}}iter(e=0){return Dn.from([this]).goto(e)}get isEmpty(){return this.nextLayer==this}static iter(e,t=0){return Dn.from(e).goto(t)}static compare(e,t,n,r,s=-1){let o=e.filter(f=>f.maxPoint>0||!f.isEmpty&&f.maxPoint>=s),a=t.filter(f=>f.maxPoint>0||!f.isEmpty&&f.maxPoint>=s),l=ef(o,a,n),c=new $i(o,l,s),h=new $i(a,l,s);n.iterGaps((f,u,O)=>tf(c,f,h,u,O,r)),n.empty&&n.length==0&&tf(c,0,h,0,0,r)}static eq(e,t,n=0,r){r==null&&(r=999999999);let s=e.filter(h=>!h.isEmpty&&t.indexOf(h)<0),o=t.filter(h=>!h.isEmpty&&e.indexOf(h)<0);if(s.length!=o.length)return!1;if(!s.length)return!0;let a=ef(s,o),l=new $i(s,a,0).goto(n),c=new $i(o,a,0).goto(n);for(;;){if(l.to!=c.to||!Fo(l.active,c.active)||l.point&&(!c.point||!Jo(l.point,c.point)))return!1;if(l.to>r)return!0;l.next(),c.next()}}static spans(e,t,n,r,s=-1){let o=new $i(e,null,s).goto(t),a=t,l=o.openStart;for(;;){let c=Math.min(o.to,n);if(o.point){let h=o.activeForPoint(o.to),f=o.pointFroma&&(r.span(a,c,o.active,l),l=o.openEnd(c));if(o.to>n)return l+(o.point&&o.to>n?1:0);a=o.to,o.next()}}static of(e,t=!1){let n=new Xi;for(let r of e instanceof Vn?[e]:t?g0(e):e)n.add(r.from,r.to,r.value);return n.finish()}static join(e){if(!e.length)return i.empty;let t=e[e.length-1];for(let n=e.length-2;n>=0;n--)for(let r=e[n];r!=i.empty;r=r.nextLayer)t=new i(r.chunkPos,r.chunk,t,Math.max(r.maxPoint,t.maxPoint));return t}};ae.empty=new ae([],[],null,-1);function g0(i){if(i.length>1)for(let e=i[0],t=1;t0)return i.slice().sort(Go);e=n}return i}ae.empty.nextLayer=ae.empty;var Xi=class i{finishChunk(e){this.chunks.push(new No(this.from,this.to,this.value,this.maxPoint)),this.chunkPos.push(this.chunkStart),this.chunkStart=-1,this.setMaxPoint=Math.max(this.setMaxPoint,this.maxPoint),this.maxPoint=-1,e&&(this.from=[],this.to=[],this.value=[])}constructor(){this.chunks=[],this.chunkPos=[],this.chunkStart=-1,this.last=null,this.lastFrom=-1e9,this.lastTo=-1e9,this.from=[],this.to=[],this.value=[],this.maxPoint=-1,this.setMaxPoint=-1,this.nextLayer=null}add(e,t,n){this.addInner(e,t,n)||(this.nextLayer||(this.nextLayer=new i)).add(e,t,n)}addInner(e,t,n){let r=e-this.lastTo||n.startSide-this.last.endSide;if(r<=0&&(e-this.lastFrom||n.startSide-this.last.startSide)<0)throw new Error("Ranges must be added sorted by `from` position and `startSide`");return r<0?!1:(this.from.length==250&&this.finishChunk(!0),this.chunkStart<0&&(this.chunkStart=e),this.from.push(e-this.chunkStart),this.to.push(t-this.chunkStart),this.last=n,this.lastFrom=e,this.lastTo=t,this.value.push(n),n.point&&(this.maxPoint=Math.max(this.maxPoint,t-e)),!0)}addChunk(e,t){if((e-this.lastTo||t.value[0].startSide-this.last.endSide)<0)return!1;this.from.length&&this.finishChunk(!0),this.setMaxPoint=Math.max(this.setMaxPoint,t.maxPoint),this.chunks.push(t),this.chunkPos.push(e);let n=t.value.length-1;return this.last=t.value[n],this.lastFrom=t.from[n]+e,this.lastTo=t.to[n]+e,!0}finish(){return this.finishInner(ae.empty)}finishInner(e){if(this.from.length&&this.finishChunk(!1),this.chunks.length==0)return e;let t=ae.create(this.chunkPos,this.chunks,this.nextLayer?this.nextLayer.finishInner(e):e,this.setMaxPoint);return this.from=null,t}};function ef(i,e,t){let n=new Map;for(let s of i)for(let o=0;o=this.minPoint)break}}setRangeIndex(e){if(e==this.layer.chunk[this.chunkIndex].value.length){if(this.chunkIndex++,this.skip)for(;this.chunkIndex=n&&r.push(new Hr(o,t,n,s));return r.length==1?r[0]:new i(r)}get startSide(){return this.value?this.value.startSide:0}goto(e,t=-1e9){for(let n of this.heap)n.goto(e,t);for(let n=this.heap.length>>1;n>=0;n--)zo(this.heap,n);return this.next(),this}forward(e,t){for(let n of this.heap)n.forward(e,t);for(let n=this.heap.length>>1;n>=0;n--)zo(this.heap,n);(this.to-e||this.value.endSide-t)<0&&this.next()}next(){if(this.heap.length==0)this.from=this.to=1e9,this.value=null,this.rank=-1;else{let e=this.heap[0];this.from=e.from,this.to=e.to,this.value=e.value,this.rank=e.rank,e.value&&e.next(),zo(this.heap,0)}}};function zo(i,e){for(let t=i[e];;){let n=(e<<1)+1;if(n>=i.length)break;let r=i[n];if(n+1=0&&(r=i[n+1],n++),t.compare(r)<0)break;i[n]=t,i[e]=r,e=n}}var $i=class{constructor(e,t,n){this.minPoint=n,this.active=[],this.activeTo=[],this.activeRank=[],this.minActive=-1,this.point=null,this.pointFrom=0,this.pointRank=0,this.to=-1e9,this.endSide=0,this.openStart=-1,this.cursor=Dn.from(e,t,n)}goto(e,t=-1e9){return this.cursor.goto(e,t),this.active.length=this.activeTo.length=this.activeRank.length=0,this.minActive=-1,this.to=e,this.endSide=t,this.openStart=-1,this.next(),this}forward(e,t){for(;this.minActive>-1&&(this.activeTo[this.minActive]-e||this.active[this.minActive].endSide-t)<0;)this.removeActive(this.minActive);this.cursor.forward(e,t)}removeActive(e){Vr(this.active,e),Vr(this.activeTo,e),Vr(this.activeRank,e),this.minActive=nf(this.active,this.activeTo)}addActive(e){let t=0,{value:n,to:r,rank:s}=this.cursor;for(;t0;)t++;Dr(this.active,t,n),Dr(this.activeTo,t,r),Dr(this.activeRank,t,s),e&&Dr(e,t,this.cursor.from),this.minActive=nf(this.active,this.activeTo)}next(){let e=this.to,t=this.point;this.point=null;let n=this.openStart<0?[]:null;for(;;){let r=this.minActive;if(r>-1&&(this.activeTo[r]-this.cursor.from||this.active[r].endSide-this.cursor.startSide)<0){if(this.activeTo[r]>e){this.to=this.activeTo[r],this.endSide=this.active[r].endSide;break}this.removeActive(r),n&&Vr(n,r)}else if(this.cursor.value)if(this.cursor.from>e){this.to=this.cursor.from,this.endSide=this.cursor.startSide;break}else{let s=this.cursor.value;if(!s.point)this.addActive(n),this.cursor.next();else if(t&&this.cursor.to==this.to&&this.cursor.from=0&&n[r]=0&&!(this.activeRank[n]e||this.activeTo[n]==e&&this.active[n].endSide>=this.point.endSide)&&t.push(this.active[n]);return t.reverse()}openEnd(e){let t=0;for(let n=this.activeTo.length-1;n>=0&&this.activeTo[n]>e;n--)t++;return t}};function tf(i,e,t,n,r,s){i.goto(e),t.goto(n);let o=n+r,a=n,l=n-e,c=!!s.boundChange;for(let h=!1;;){let f=i.to+l-t.to,u=f||i.endSide-t.endSide,O=u<0?i.to+l:t.to,p=Math.min(O,o);if(i.point||t.point?(i.point&&t.point&&Jo(i.point,t.point)&&Fo(i.activeForPoint(i.to),t.activeForPoint(t.to))||s.comparePoint(a,p,i.point,t.point),h=!1):(h&&s.boundChange(a),p>a&&!Fo(i.active,t.active)&&s.compareRange(a,p,i.active,t.active),c&&po)break;a=O,u<=0&&i.next(),u>=0&&t.next()}}function Fo(i,e){if(i.length!=e.length)return!1;for(let t=0;t=e;n--)i[n+1]=i[n];i[e]=t}function nf(i,e){let t=-1,n=1e9;for(let r=0;r=e)return r;if(r==i.length)break;s+=i.charCodeAt(r)==9?t-s%t:1,r=ke(i,r)}return n===!0?-1:i.length}var mf=typeof Symbol>"u"?"__\u037C":Symbol.for("\u037C"),ea=typeof Symbol>"u"?"__styleSet"+Math.floor(Math.random()*1e8):Symbol("styleSet"),gf=typeof globalThis<"u"?globalThis:typeof window<"u"?window:{},rt=class{constructor(e,t){this.rules=[];let{finish:n}=t||{};function r(o){return/^@/.test(o)?[o]:o.split(/,\s*/)}function s(o,a,l,c){let h=[],f=/^@(\w+)\b/.exec(o[0]),u=f&&f[1]=="keyframes";if(f&&a==null)return l.push(o[0]+";");for(let O in a){let p=a[O];if(/&/.test(O))s(O.split(/,\s*/).map(m=>o.map(b=>m.replace(/&/,b))).reduce((m,b)=>m.concat(b)),p,l);else if(p&&typeof p=="object"){if(!f)throw new RangeError("The value of a property ("+O+") should be a primitive value.");s(r(O),p,h,u)}else p!=null&&h.push(O.replace(/_.*/,"").replace(/[A-Z]/g,m=>"-"+m.toLowerCase())+": "+p+";")}(h.length||u)&&l.push((n&&!f&&!c?o.map(n):o).join(", ")+" {"+h.join(" ")+"}")}for(let o in e)s(r(o),e[o],this.rules)}getRules(){return this.rules.join(` -`)}static newName(){let e=gf[mf]||1;return gf[mf]=e+1,"\u037C"+e.toString(36)}static mount(e,t,n){let r=e[ea],s=n&&n.nonce;r?s&&r.setNonce(s):r=new ta(e,s),r.mount(Array.isArray(t)?t:[t],e)}},Qf=new Map,ta=class{constructor(e,t){let n=e.ownerDocument||e,r=n.defaultView;if(!e.head&&e.adoptedStyleSheets&&r.CSSStyleSheet){let s=Qf.get(n);if(s)return e[ea]=s;this.sheet=new r.CSSStyleSheet,Qf.set(n,this)}else this.styleTag=n.createElement("style"),t&&this.styleTag.setAttribute("nonce",t);this.modules=[],e[ea]=this}mount(e,t){let n=this.sheet,r=0,s=0;for(let o=0;o-1&&(this.modules.splice(l,1),s--,l=-1),l==-1){if(this.modules.splice(s++,0,a),n)for(let c=0;c",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},Q0=typeof navigator<"u"&&/Mac/.test(navigator.platform),b0=typeof navigator<"u"&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent);for(Se=0;Se<10;Se++)qt[48+Se]=qt[96+Se]=String(Se);var Se;for(Se=1;Se<=24;Se++)qt[Se+111]="F"+Se;var Se;for(Se=65;Se<=90;Se++)qt[Se]=String.fromCharCode(Se+32),an[Se]=String.fromCharCode(Se);var Se;for(Kr in qt)an.hasOwnProperty(Kr)||(an[Kr]=qt[Kr]);var Kr;function bf(i){var e=Q0&&i.metaKey&&i.shiftKey&&!i.ctrlKey&&!i.altKey||b0&&i.shiftKey&&i.key&&i.key.length==1||i.key=="Unidentified",t=!e&&i.key||(i.shiftKey?an:qt)[i.keyCode]||i.key||"Unidentified";return t=="Esc"&&(t="Escape"),t=="Del"&&(t="Delete"),t=="Left"&&(t="ArrowLeft"),t=="Up"&&(t="ArrowUp"),t=="Right"&&(t="ArrowRight"),t=="Down"&&(t="ArrowDown"),t}var Le=typeof navigator<"u"?navigator:{userAgent:"",vendor:"",platform:""},aa=typeof document<"u"?document:{documentElement:{style:{}}},la=/Edge\/(\d+)/.exec(Le.userAgent),Uf=/MSIE \d/.test(Le.userAgent),ca=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(Le.userAgent),Ss=!!(Uf||ca||la),Sf=!Ss&&/gecko\/(\d+)/i.test(Le.userAgent),ia=!Ss&&/Chrome\/(\d+)/.exec(Le.userAgent),yf="webkitFontSmoothing"in aa.documentElement.style,ha=!Ss&&/Apple Computer/.test(Le.vendor),kf=ha&&(/Mobile\/\w+/.test(Le.userAgent)||Le.maxTouchPoints>2),L={mac:kf||/Mac/.test(Le.platform),windows:/Win/.test(Le.platform),linux:/Linux|X11/.test(Le.platform),ie:Ss,ie_version:Uf?aa.documentMode||6:ca?+ca[1]:la?+la[1]:0,gecko:Sf,gecko_version:Sf?+(/Firefox\/(\d+)/.exec(Le.userAgent)||[0,0])[1]:0,chrome:!!ia,chrome_version:ia?+ia[1]:0,ios:kf,android:/Android\b/.test(Le.userAgent),webkit:yf,webkit_version:yf?+(/\bAppleWebKit\/(\d+)/.exec(Le.userAgent)||[0,0])[1]:0,safari:ha,safari_version:ha?+(/\bVersion\/(\d+(\.\d+)?)/.exec(Le.userAgent)||[0,0])[1]:0,tabSize:aa.documentElement.style.tabSize!=null?"tab-size":"-moz-tab-size"};function Ia(i,e){for(let t in i)t=="class"&&e.class?e.class+=" "+i.class:t=="style"&&e.style?e.style+=";"+i.style:e[t]=i[t];return e}var ls=Object.create(null);function Ba(i,e,t){if(i==e)return!0;i||(i=ls),e||(e=ls);let n=Object.keys(i),r=Object.keys(e);if(n.length-(t&&n.indexOf(t)>-1?1:0)!=r.length-(t&&r.indexOf(t)>-1?1:0))return!1;for(let s of n)if(s!=t&&(r.indexOf(s)==-1||i[s]!==e[s]))return!1;return!0}function S0(i,e){for(let t=i.attributes.length-1;t>=0;t--){let n=i.attributes[t].name;e[n]==null&&i.removeAttribute(n)}for(let t in e){let n=e[t];t=="style"?i.style.cssText=n:i.getAttribute(t)!=n&&i.setAttribute(t,n)}}function xf(i,e,t){let n=!1;if(e)for(let r in e)t&&r in t||(n=!0,r=="style"?i.style.cssText="":i.removeAttribute(r));if(t)for(let r in t)e&&e[r]==t[r]||(n=!0,r=="style"?i.style.cssText=t[r]:i.setAttribute(r,t[r]));return n}function y0(i){let e=Object.create(null);for(let t=0;t0?3e8:-4e8:t>0?1e8:-1e8,new Ai(e,t,t,n,e.widget||null,!1)}static replace(e){let t=!!e.block,n,r;if(e.isBlockGap)n=-5e8,r=4e8;else{let{start:s,end:o}=Gf(e,t);n=(s?t?-3e8:-1:5e8)-1,r=(o?t?2e8:1:-6e8)+1}return new Ai(e,n,r,t,e.widget||null,!0)}static line(e){return new ir(e)}static set(e,t=!1){return ae.of(e,t)}hasHeight(){return this.widget?this.widget.estimatedHeight>-1:!1}};Z.none=ae.empty;var tr=class i extends Z{constructor(e){let{start:t,end:n}=Gf(e);super(t?-1:5e8,n?1:-6e8,null,e),this.tagName=e.tagName||"span",this.attrs=e.class&&e.attributes?Ia(e.attributes,{class:e.class}):e.class?{class:e.class}:e.attributes||ls}eq(e){return this==e||e instanceof i&&this.tagName==e.tagName&&Ba(this.attrs,e.attrs)}range(e,t=e){if(e>=t)throw new RangeError("Mark decorations may not be empty");return super.range(e,t)}};tr.prototype.point=!1;var ir=class i extends Z{constructor(e){super(-2e8,-2e8,null,e)}eq(e){return e instanceof i&&this.spec.class==e.spec.class&&Ba(this.spec.attributes,e.spec.attributes)}range(e,t=e){if(t!=e)throw new RangeError("Line decoration ranges must be zero-length");return super.range(e,t)}};ir.prototype.mapMode=ge.TrackBefore;ir.prototype.point=!0;var Ai=class i extends Z{constructor(e,t,n,r,s,o){super(t,n,s,e),this.block=r,this.isReplace=o,this.mapMode=r?t<=0?ge.TrackBefore:ge.TrackAfter:ge.TrackDel}get type(){return this.startSide!=this.endSide?ct.WidgetRange:this.startSide<=0?ct.WidgetBefore:ct.WidgetAfter}get heightRelevant(){return this.block||!!this.widget&&(this.widget.estimatedHeight>=5||this.widget.lineBreaks>0)}eq(e){return e instanceof i&&k0(this.widget,e.widget)&&this.block==e.block&&this.startSide==e.startSide&&this.endSide==e.endSide}range(e,t=e){if(this.isReplace&&(e>t||e==t&&this.startSide>0&&this.endSide<=0))throw new RangeError("Invalid range for replacement decoration");if(!this.isReplace&&t!=e)throw new RangeError("Widget decorations can only have zero-length ranges");return super.range(e,t)}};Ai.prototype.point=!0;function Gf(i,e=!1){let{inclusiveStart:t,inclusiveEnd:n}=i;return t==null&&(t=i.inclusive),n==null&&(n=i.inclusive),{start:t??e,end:n??e}}function k0(i,e){return i==e||!!(i&&e&&i.compare(e))}function fn(i,e,t,n=0){let r=t.length-1;r>=0&&t[r]+n>=i?t[r]=Math.max(t[r],e):t.push(i,e)}var oi=class i extends it{constructor(e,t,n){super(),this.tagName=e,this.attributes=t,this.rank=n}eq(e){return e==this||e instanceof i&&this.tagName==e.tagName&&Ba(this.attributes,e.attributes)}static create(e){return new i(e.tagName,e.attributes||ls,e.rank==null?50:Math.max(0,Math.min(e.rank,100)))}static set(e,t=!1){return ae.of(e,t)}};oi.prototype.startSide=oi.prototype.endSide=-1;function nr(i){let e;return i.nodeType==11?e=i.getSelection?i:i.ownerDocument:e=i,e.getSelection()}function fa(i,e){return e?i==e||i.contains(e.nodeType!=1?e.parentNode:e):!1}function Gn(i,e){if(!e.anchorNode)return!1;try{return fa(i,e.anchorNode)}catch{return!1}}function os(i){return i.nodeType==3?rr(i,0,i.nodeValue.length).getClientRects():i.nodeType==1?i.getClientRects():[]}function Nn(i,e,t,n){return t?wf(i,e,t,n,-1)||wf(i,e,t,n,1):!1}function ai(i){for(var e=0;;e++)if(i=i.previousSibling,!i)return e}function cs(i){return i.nodeType==1&&/^(DIV|P|LI|UL|OL|BLOCKQUOTE|DD|DT|H\d|SECTION|PRE)$/.test(i.nodeName)}function wf(i,e,t,n,r){for(;;){if(i==t&&e==n)return!0;if(e==(r<0?0:Mt(i))){if(i.nodeName=="DIV")return!1;let s=i.parentNode;if(!s||s.nodeType!=1)return!1;e=ai(i)+(r<0?0:1),i=s}else if(i.nodeType==1){if(i=i.childNodes[e+(r<0?-1:0)],i.nodeType==1&&i.contentEditable=="false")return!1;e=r<0?Mt(i):0}else return!1}}function Mt(i){return i.nodeType==3?i.nodeValue.length:i.childNodes.length}function hs(i,e){let{left:t,right:n}=i;if(t==n)return i;let r=e?t:n;return{left:r,right:r,top:i.top,bottom:i.bottom}}function x0(i){let e=i.visualViewport;return e?{left:0,right:e.width,top:0,bottom:e.height}:{left:0,right:i.innerWidth,top:0,bottom:i.innerHeight}}function Nf(i,e){let t=e.width/i.offsetWidth,n=e.height/i.offsetHeight;return(t>.995&&t<1.005||!isFinite(t)||Math.abs(e.width-i.offsetWidth)<1)&&(t=1),(n>.995&&n<1.005||!isFinite(n)||Math.abs(e.height-i.offsetHeight)<1)&&(n=1),{scaleX:t,scaleY:n}}function w0(i,e,t,n,r,s,o,a){let l=i.ownerDocument,c=l.defaultView||window;for(let h=i,f=!1;h&&!f;)if(h.nodeType==1){let u,O=h==l.body,p=1,m=1;if(O)u=x0(c);else{if(/^(fixed|sticky)$/.test(getComputedStyle(h).position)&&(f=!0),h.scrollHeight<=h.clientHeight&&h.scrollWidth<=h.clientWidth){h=h.assignedSlot||h.parentNode;continue}let Q=h.getBoundingClientRect();({scaleX:p,scaleY:m}=Nf(h,Q)),u={left:Q.left,right:Q.left+h.clientWidth*p,top:Q.top,bottom:Q.top+h.clientHeight*m}}let b=0,g=0;if(r=="nearest")e.top0&&e.bottom>u.bottom+g&&(g=e.bottom-u.bottom+o)):e.bottom>u.bottom-o&&(g=e.bottom-u.bottom+o,t<0&&e.top-g0&&e.right>u.right+b&&(b=e.right-u.right+s)):e.right>u.right-s&&(b=e.right-u.right+s,t<0&&e.leftu.bottom||e.leftu.right)&&(e={left:Math.max(e.left,u.left),right:Math.min(e.right,u.right),top:Math.max(e.top,u.top),bottom:Math.min(e.bottom,u.bottom)}),h=h.assignedSlot||h.parentNode}else if(h.nodeType==11)h=h.host;else break}function Ff(i,e=!0){let t=i.ownerDocument,n=null,r=null;for(let s=i.parentNode;s&&!(s==t.body||(!e||n)&&r);)if(s.nodeType==1)!r&&s.scrollHeight>s.clientHeight&&(r=s),e&&!n&&s.scrollWidth>s.clientWidth&&(n=s),s=s.assignedSlot||s.parentNode;else if(s.nodeType==11)s=s.host;else break;return{x:n,y:r}}var ua=class{constructor(){this.anchorNode=null,this.anchorOffset=0,this.focusNode=null,this.focusOffset=0}eq(e){return this.anchorNode==e.anchorNode&&this.anchorOffset==e.anchorOffset&&this.focusNode==e.focusNode&&this.focusOffset==e.focusOffset}setRange(e){let{anchorNode:t,focusNode:n}=e;this.set(t,Math.min(e.anchorOffset,t?Mt(t):0),n,Math.min(e.focusOffset,n?Mt(n):0))}set(e,t,n,r){this.anchorNode=e,this.anchorOffset=t,this.focusNode=n,this.focusOffset=r}},_i=null;L.safari&&L.safari_version>=26&&(_i=!1);function Hf(i){if(i.setActive)return i.setActive();if(_i)return i.focus(_i);let e=[];for(let t=i;t&&(e.push(t,t.scrollTop,t.scrollLeft),t!=t.ownerDocument);t=t.parentNode);if(i.focus(_i==null?{get preventScroll(){return _i={preventScroll:!0},!0}}:void 0),!_i){_i=!1;for(let t=0;tMath.max(0,i.document.documentElement.scrollHeight-i.innerHeight-4):i.scrollTop>Math.max(1,i.scrollHeight-i.clientHeight-4)}function Jf(i,e){for(let t=i,n=e;;){if(t.nodeType==3&&n>0)return{node:t,offset:n};if(t.nodeType==1&&n>0){if(t.contentEditable=="false")return null;t=t.childNodes[n-1],n=Mt(t)}else if(t.parentNode&&!cs(t))n=ai(t),t=t.parentNode;else return null}}function eu(i,e){for(let t=i,n=e;;){if(t.nodeType==3&&n=t){if(a.level==n)return o;(s<0||(r!=0?r<0?a.fromt:e[s].level>a.level))&&(s=o)}}if(s<0)throw new RangeError("Index out of range");return s}};function nu(i,e){if(i.length!=e.length)return!1;for(let t=0;t=0;m-=3)if($t[m+1]==-O){let b=$t[m+2],g=b&2?r:b&4?b&1?s:r:0;g&&(oe[f]=oe[$t[m]]=g),a=m;break}}else{if($t.length==189)break;$t[a++]=f,$t[a++]=u,$t[a++]=l}else if((p=oe[f])==2||p==1){let m=p==r;l=m?0:1;for(let b=a-3;b>=0;b-=3){let g=$t[b+2];if(g&2)break;if(m)$t[b+2]|=2;else{if(g&4)break;$t[b+2]|=4}}}}}function R0(i,e,t,n){for(let r=0,s=n;r<=t.length;r++){let o=r?t[r-1].to:i,a=rl;)p==b&&(p=t[--m].from,b=m?t[m-1].to:i),oe[--p]=O;l=h}else s=c,l++}}}function da(i,e,t,n,r,s,o){let a=n%2?2:1;if(n%2==r%2)for(let l=e,c=0;ll&&o.push(new at(l,m.from,O));let b=m.direction==Zi!=!(O%2);pa(i,b?n+1:n,r,m.inner,m.from,m.to,o),l=m.to}p=m.to}else{if(p==t||(h?oe[p]!=a:oe[p]==a))break;p++}u?da(i,l,p,n+1,r,u,o):le;){let h=!0,f=!1;if(!c||l>s[c-1].to){let m=oe[l-1];m!=a&&(h=!1,f=m==16)}let u=!h&&a==1?[]:null,O=h?n:n+1,p=l;e:for(;;)if(c&&p==s[c-1].to){if(f)break e;let m=s[--c];if(!h)for(let b=m.from,g=c;;){if(b==e)break e;if(g&&s[g-1].to==b)b=s[--g].from;else{if(oe[b-1]==a)break e;break}}if(u)u.push(m);else{m.tooe.length;)oe[oe.length]=256;let n=[],r=e==Zi?0:1;return pa(i,r,r,t,0,i.length,n),n}function ru(i){return[new at(0,i,0)]}var su="";function Z0(i,e,t,n,r){var s;let o=n.head-i.from,a=at.find(e,o,(s=n.bidiLevel)!==null&&s!==void 0?s:-1,n.assoc),l=e[a],c=l.side(r,t);if(o==c){let u=a+=r?1:-1;if(u<0||u>=e.length)return null;l=e[a=u],o=l.side(!r,t),c=l.side(r,t)}let h=ke(i.text,o,l.forward(r,t));(hl.to)&&(h=c),su=i.text.slice(Math.min(o,h),Math.max(o,h));let f=a==(r?e.length-1:0)?null:e[a+(r?1:-1)];return f&&h==c&&f.level+(r?0:1)i.some(e=>e)}),q0=Y.define({combine:i=>i.some(e=>e)}),Ou=Y.define(),Fn=class i{constructor(e,t,n,r,s,o=!1){this.range=e,this.y=t,this.x=n,this.yMargin=r,this.xMargin=s,this.isSnapshot=o}map(e){return e.empty?this:new i(this.range.map(e),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}clip(e){return this.range.to<=e.doc.length?this:new i(P.cursor(e.doc.length),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}},Jr=ie.define({map:(i,e)=>i.map(e)}),du=ie.define();function lt(i,e,t){let n=i.facet(cu);n.length?n[0](e):window.onerror&&window.onerror(String(e),t,void 0,void 0,e)||(t?console.error(t+":",e):console.error(e))}var zt=Y.define({combine:i=>i.length?i[0]:!0}),z0=0,cn=Y.define({combine(i){return i.filter((e,t)=>{for(let n=0;n{let l=[];return o&&l.push(ys.of(c=>{let h=c.plugin(a);return h?o(h):Z.none})),s&&l.push(s(a)),l})}static fromClass(e,t){return i.define((n,r)=>new e(n,r),t)}},Hn=class{constructor(e){this.spec=e,this.mustUpdate=null,this.value=null}get plugin(){return this.spec&&this.spec.plugin}update(e){if(this.value){if(this.mustUpdate){let t=this.mustUpdate;if(this.mustUpdate=null,this.value.update)try{this.value.update(t)}catch(n){if(lt(t.state,n,"CodeMirror plugin crashed"),this.value.destroy)try{this.value.destroy()}catch{}this.deactivate()}}}else if(this.spec)try{this.value=this.spec.plugin.create(e,this.spec.arg)}catch(t){lt(e.state,t,"CodeMirror plugin crashed"),this.deactivate()}return this}destroy(e){var t;if(!((t=this.value)===null||t===void 0)&&t.destroy)try{this.value.destroy()}catch(n){lt(e.state,n,"CodeMirror plugin crashed")}}deactivate(){this.spec=this.value=null}},pu=Y.define(),Fa=Y.define(),ys=Y.define(),mu=Y.define(),Ha=Y.define(),sr=Y.define(),gu=Y.define();function vf(i,e){let t=i.state.facet(gu);if(!t.length)return t;let n=t.map(s=>s instanceof Function?s(i):s),r=[];return ae.spans(n,e.from,e.to,{point(){},span(s,o,a,l){let c=s-e.from,h=o-e.from,f=r;for(let u=a.length-1;u>=0;u--,l--){let O=a[u].spec.bidiIsolate,p;if(O==null&&(O=E0(e.text,c,h)),l>0&&f.length&&(p=f[f.length-1]).to==c&&p.direction==O)p.to=h,f=p.inner;else{let m={from:c,to:h,direction:O,inner:[]};f.push(m),f=m.inner}}}}),r}var Qu=Y.define();function bu(i){let e=0,t=0,n=0,r=0;for(let s of i.state.facet(Qu)){let o=s(i);o&&(o.left!=null&&(e=Math.max(e,o.left)),o.right!=null&&(t=Math.max(t,o.right)),o.top!=null&&(n=Math.max(n,o.top)),o.bottom!=null&&(r=Math.max(r,o.bottom)))}return{left:e,right:t,top:n,bottom:r}}var In=Y.define(),gt=class i{constructor(e,t,n,r){this.fromA=e,this.toA=t,this.fromB=n,this.toB=r}join(e){return new i(Math.min(this.fromA,e.fromA),Math.max(this.toA,e.toA),Math.min(this.fromB,e.fromB),Math.max(this.toB,e.toB))}addToSet(e){let t=e.length,n=this;for(;t>0;t--){let r=e[t-1];if(!(r.fromA>n.toA)){if(r.toAr.push(new gt(s,o,a,l))),this.changedRanges=r}static create(e,t,n){return new i(e,t,n)}get viewportChanged(){return(this.flags&4)>0}get viewportMoved(){return(this.flags&8)>0}get heightChanged(){return(this.flags&2)>0}get geometryChanged(){return this.docChanged||(this.flags&18)>0}get focusChanged(){return(this.flags&1)>0}get docChanged(){return!this.changes.empty}get selectionSet(){return this.transactions.some(e=>e.selection)}get empty(){return this.flags==0&&this.transactions.length==0}},L0=[],fe=class{constructor(e,t,n=0){this.dom=e,this.length=t,this.flags=n,this.parent=null,e.cmTile=this}get breakAfter(){return this.flags&1}get children(){return L0}isWidget(){return!1}get isHidden(){return!1}isComposite(){return!1}isLine(){return!1}isText(){return!1}isBlock(){return!1}get domAttrs(){return null}sync(e){if(this.flags|=2,this.flags&4){this.flags&=-5;let t=this.domAttrs;t&&S0(this.dom,t)}}toString(){return this.constructor.name+(this.children.length?`(${this.children})`:"")+(this.breakAfter?"#":"")}destroy(){this.parent=null}setDOM(e){this.dom=e,e.cmTile=this}get posAtStart(){return this.parent?this.parent.posBefore(this):0}get posAtEnd(){return this.posAtStart+this.length}posBefore(e,t=this.posAtStart){let n=t;for(let r of this.children){if(r==e)return n;n+=r.length+r.breakAfter}throw new RangeError("Invalid child in posBefore")}posAfter(e){return this.posBefore(e)+e.length}covers(e){return!0}coordsIn(e,t,n){return null}domPosFor(e,t){let n=ai(this.dom),r=this.length?e>0:t>0;return new Tt(this.parent.dom,n+(r?1:0),e==0||e==this.length)}markDirty(e){this.flags&=-3,e&&(this.flags|=4),this.parent&&this.parent.flags&2&&this.parent.markDirty(!1)}get overrideDOMText(){return null}get root(){for(let e=this;e;e=e.parent)if(e instanceof dn)return e;return null}static get(e){return e.cmTile}},On=class extends fe{constructor(e){super(e,0),this._children=[]}isComposite(){return!0}get children(){return this._children}get lastChild(){return this.children.length?this.children[this.children.length-1]:null}append(e){this.children.push(e),e.parent=this}sync(e){if(this.flags&2)return;super.sync(e);let t=this.dom,n=null,r,s=e?.node==t?e:null,o=0;for(let a of this.children){if(a.sync(e),o+=a.length+a.breakAfter,r=n?n.nextSibling:t.firstChild,s&&r!=a.dom&&(s.written=!0),a.dom.parentNode==t)for(;r&&r!=a.dom;)r=$f(r);else t.insertBefore(a.dom,r);n=a.dom}for(r=n?n.nextSibling:t.firstChild,s&&r&&(s.written=!0);r;)r=$f(r);this.length=o}};function $f(i){let e=i.nextSibling;return i.parentNode.removeChild(i),e}var dn=class extends On{constructor(e,t){super(t),this.view=e}owns(e){for(;e;e=e.parent)if(e==this)return!0;return!1}isBlock(){return!0}nearest(e){for(;;){if(!e)return null;let t=fe.get(e);if(t&&this.owns(t))return t;e=e.parentNode}}blockTiles(e){for(let t=[],n=this,r=0,s=0;;)if(r==n.children.length){if(!t.length)return;n=n.parent,n.breakAfter&&s++,r=t.pop()}else{let o=n.children[r++];if(o instanceof Lt)t.push(r),n=o,r=0;else{let a=s+o.length,l=e(o,s);if(l!==void 0)return l;s=a+o.breakAfter}}}resolveBlock(e,t){let n,r=-1,s,o=-1;if(this.blockTiles((a,l)=>{let c=l+a.length;if(e>=l&&e<=c){if(a.isWidget()&&t>=-1&&t<=1){if(a.flags&32)return!0;a.flags&16&&(n=void 0)}(le||e==l&&(t>1?a.length:a.covers(-1)))&&(!s||!a.isWidget()&&s.isWidget())&&(s=a,o=e-l)}}),!n&&!s)throw new Error("No tile at position "+e);return n&&t<0||!s?{tile:n,offset:r}:{tile:s,offset:o}}},Lt=class i extends On{constructor(e,t){super(e),this.wrapper=t}isBlock(){return!0}covers(e){return this.children.length?e<0?this.children[0].covers(-1):this.lastChild.covers(1):!1}get domAttrs(){return this.wrapper.attributes}static of(e,t){let n=new i(t||document.createElement(e.tagName),e);return t||(n.flags|=4),n}},pn=class i extends On{constructor(e,t){super(e),this.attrs=t}isLine(){return!0}static start(e,t,n){let r=new i(t||document.createElement("div"),e);return(!t||!n)&&(r.flags|=4),r}get domAttrs(){return this.attrs}resolveInline(e,t,n){let r=null,s=-1,o=null,a=-1;function l(h,f){for(let u=0,O=0;u=f&&(p.isComposite()?l(p,f-O):(!o||o.isHidden&&(t>0&&!(o.flags&32)||n&&W0(o,p)))&&(m>f||p.flags&32)?(o=p,a=f-O):(Or&&(e=r);let s=e,o=e,a=0;e==0&&t<0||e==r&&t>=0?L.chrome||L.gecko||(e?(s--,a=1):o=0)?0:l.length-1];return L.safari&&!a&&c.width==0&&(c=Array.prototype.find.call(l,h=>h.width)||c),n==null?c:hs(c,(a?a>0:t<0)==n)}static of(e,t){let n=new i(t||document.createTextNode(e),e);return t||(n.flags|=2),n}},Ei=class i extends fe{constructor(e,t,n,r){super(e,t,r),this.widget=n}isWidget(){return!0}get isHidden(){return this.widget.isHidden}covers(e){return this.flags&48?!1:(this.flags&(e<0?64:128))>0}coordsIn(e,t){return this.coordsInWidget(e,t,!1)}coordsInWidget(e,t,n){let r=this.widget.coordsAt(this.dom,e,t);if(r)return r;if(n)return hs(this.dom.getBoundingClientRect(),this.length?e==0:t<=0);{let s=this.dom.getClientRects(),o=null;if(!s.length)return null;let a=this.flags&16?!0:this.flags&32?!1:e>0;for(let l=a?s.length-1:0;o=s[l],!(e>0?l==0:l==s.length-1||o.top0==n)}},ga=class{constructor(e){this.index=0,this.beforeBreak=!1,this.parents=[],this.tile=e}advance(e,t,n){let{tile:r,index:s,beforeBreak:o,parents:a}=this;for(;e||t>0;)if(r.isComposite())if(o){if(!e)break;n&&n.break(),e--,o=!1}else if(s==r.children.length){if(!e&&!a.length)break;n&&n.leave(r),o=!!r.breakAfter,{tile:r,index:s}=a.pop(),s++}else{let l=r.children[s],c=l.breakAfter;(t>0?l.length<=e:l.length=0;a--){let l=t.marks[a],c=r.lastChild;if(c instanceof Ve&&c.mark.eq(l.mark))c.dom!=l.dom&&c.setDOM(na(l.dom)),r=c;else{if(this.cache.reused.get(l)){let f=fe.get(l.dom);f&&f.setDOM(na(l.dom))}let h=Ve.of(l.mark,l.dom);r.append(h),r=h}this.cache.reused.set(l,2)}let s=fe.get(e.text);s&&this.cache.reused.set(s,2);let o=new Ri(e.text,e.text.nodeValue);o.flags|=8,this.pos=e.range.toB,r.append(o)}addInlineWidget(e,t,n){let r=this.afterWidget&&e.flags&48&&(this.afterWidget.flags&48)==(e.flags&48);r||this.flushBuffer();let s=this.ensureMarks(t,n);!r&&!(e.flags&16)&&s.append(this.getBuffer(1)),s.append(e),this.pos+=e.length,this.afterWidget=e}addMark(e,t,n){this.flushBuffer(),this.ensureMarks(t,n).append(e),this.pos+=e.length,this.afterWidget=null}addBlockWidget(e){this.getBlockPos().append(e),this.pos+=e.length,this.lastBlock=e,this.endLine()}continueWidget(e){let t=this.afterWidget||this.lastBlock;t.length+=e,this.pos+=e}addLineStart(e,t){var n;e||(e=Su);let r=pn.start(e,t||((n=this.cache.find(pn))===null||n===void 0?void 0:n.dom),!!t);this.getBlockPos().append(this.lastBlock=this.curLine=r)}addLine(e){this.getBlockPos().append(e),this.pos+=e.length,this.lastBlock=e,this.endLine()}addBreak(){this.lastBlock.flags|=1,this.endLine(),this.pos++}addLineStartIfNotCovered(e){this.blockPosCovered()||this.addLineStart(e)}ensureLine(e){this.curLine||this.addLineStart(e)}ensureMarks(e,t){var n;let r=this.curLine;for(let s=e.length-1;s>=0;s--){let o=e[s],a;if(t>0&&(a=r.lastChild)&&a instanceof Ve&&a.mark.eq(o))r=a,t--;else{let l=Ve.of(o,(n=this.cache.find(Ve,c=>c.mark.eq(o)))===null||n===void 0?void 0:n.dom);r.append(l),r=l,t=0}}return r}endLine(){if(this.curLine){this.flushBuffer();let e=this.curLine.lastChild;(!e||!Tf(this.curLine,!1)||e.dom.nodeName!="BR"&&e.isWidget()&&!(L.ios&&Tf(this.curLine,!0)))&&this.curLine.append(this.cache.findWidget(ra,0,32)||new Ei(ra.toDOM(),0,ra,32)),this.curLine=this.afterWidget=null}}updateBlockWrappers(){this.wrapperPos>this.pos+1e4&&(this.blockWrappers.goto(this.pos),this.wrappers.length=0);for(let e=this.wrappers.length-1;e>=0;e--)this.wrappers[e].to=this.pos){let t=e.rank*102+e.value.rank,n=new Qa(e.from,e.to,e.value,t),r=this.wrappers.length;for(;r>0&&(this.wrappers[r-1].rank-n.rank||this.wrappers[r-1].to-n.to)<0;)r--;this.wrappers.splice(r,0,n)}this.wrapperPos=this.pos}getBlockPos(){var e;this.updateBlockWrappers();let t=this.root;for(let n of this.wrappers){let r=t.lastChild;if(n.fromo.wrapper.eq(n.wrapper)))===null||e===void 0?void 0:e.dom);t.append(s),t=s}}return t}blockPosCovered(){let e=this.lastBlock;return e!=null&&!e.breakAfter&&(!e.isWidget()||(e.flags&160)>0)}getBuffer(e){let t=2|(e<0?16:32),n=this.cache.find(mn,void 0,1);return n&&(n.flags=t),n||new mn(t)}flushBuffer(){this.afterWidget&&!(this.afterWidget.flags&32)&&(this.afterWidget.parent.append(this.getBuffer(-1)),this.afterWidget=null)}},Sa=class{constructor(e){this.skipCount=0,this.text="",this.textOff=0,this.cursor=e.iter()}skip(e){this.textOff+e<=this.text.length?this.textOff+=e:(this.skipCount+=e-(this.text.length-this.textOff),this.text="",this.textOff=0)}next(e){if(this.textOff==this.text.length){let{value:r,lineBreak:s,done:o}=this.cursor.next(this.skipCount);if(this.skipCount=0,o)throw new Error("Ran out of text content when drawing inline views");this.text=r;let a=this.textOff=Math.min(e,r.length);return s?null:r.slice(0,a)}let t=Math.min(this.text.length,this.textOff+e),n=this.text.slice(this.textOff,t);return this.textOff=t,n}},us=[Ei,pn,Ri,Ve,mn,Lt,dn];for(let i=0;i[]),this.index=us.map(()=>0),this.reused=new Map}add(e){let t=e.constructor.bucket,n=this.buckets[t];n.length<6?n.push(e):n[this.index[t]=(this.index[t]+1)%6]=e}find(e,t,n=2){let r=e.bucket,s=this.buckets[r],o=this.index[r];for(let a=0;a{if(this.cache.add(o),o.isComposite())return!1},enter:o=>this.cache.add(o),leave:()=>{},break:()=>{}}}run(e,t){let n=t&&this.getCompositionContext(t.text);for(let r=0,s=0,o=0;;){let a=or){let c=l-r;this.preserve(c,!o,!a),r=l,s+=c}if(!a)break;t&&a.fromA<=t.range.fromA&&a.toA>=t.range.toA?(this.forward(a.fromA,t.range.fromA,t.range.fromA{if(o.isWidget())if(this.openWidget)this.builder.continueWidget(l-a);else{let c=l>0||a{o.isLine()?this.builder.addLineStart(o.attrs,this.cache.maybeReuse(o)):(this.cache.add(o),o instanceof Ve&&r.unshift(o.mark)),this.openWidget=!1},leave:o=>{o.isLine()?r.length&&(r.length=s=0):o instanceof Ve&&(r.shift(),s=Math.min(s,r.length))},break:()=>{this.builder.addBreak(),this.openWidget=!1}}),this.text.skip(e)}emit(e,t){let n=null,r=this.builder,s=-1,o=ae.spans(this.decorations,e,t,{point:(a,l,c,h,f,u)=>{if(c instanceof Ai){if(this.disallowBlockEffectsFor[u]){if(c.block)throw new RangeError("Block decorations may not be specified via plugins");if(l>this.view.state.doc.lineAt(a).to)throw new RangeError("Decorations that replace line breaks may not be specified via plugins")}if(s=h.length,f>h.length)r.continueWidget(l-a);else{let O=c.widget||(c.block?li.block:li.inline),p=j0(c),m=this.cache.findWidget(O,l-a,p)||Ei.of(O,this.view,l-a,p);c.block?(c.startSide>0&&r.addLineStartIfNotCovered(n),r.addBlockWidget(m)):(r.ensureLine(n),r.addInlineWidget(m,h,f))}n=null}else n=V0(n,c);l>a&&this.text.skip(l-a)},span:(a,l,c,h)=>{for(let f=a;f-1&&(this.openWidget=o>s),this.openWidget||r.addLineStartIfNotCovered(n),this.openMarks=o}forward(e,t,n=1){t-e<=10?this.old.advance(t-e,n,this.reuseWalker):(this.old.advance(5,-1,this.reuseWalker),this.old.advance(t-e-10,-1),this.old.advance(5,n,this.reuseWalker))}getCompositionContext(e){let t=[],n=null;for(let r=e.parentNode;;r=r.parentNode){let s=fe.get(r);if(r==this.view.contentDOM)break;s instanceof Ve?t.push(s):s?.isLine()?n=s:s instanceof Lt||(r.nodeName=="DIV"&&!n&&r!=this.view.contentDOM?n=new pn(r,Su):n||t.push(Ve.of(new tr({tagName:r.nodeName.toLowerCase(),attributes:y0(r)}),r)))}return{line:n,marks:t}}};function Tf(i,e){let t=n=>{for(let r of n.children)if((e?r.isText():r.length)||t(r))return!0;return!1};return t(i)}function j0(i){let e=i.isReplace?(i.startSide<0?64:0)|(i.endSide>0?128:0):i.startSide>0?32:16;return i.block&&(e|=256),e}var Su={class:"cm-line"};function V0(i,e){let t=e.spec.attributes,n=e.spec.class;return!t&&!n||(i||(i={class:"cm-line"}),t&&Ia(t,i),n&&(i.class+=" "+n)),i}function D0(i){let e=[];for(let t=i.parents.length;t>1;t--){let n=t==i.parents.length?i.tile:i.parents[t].tile;n instanceof Ve&&e.push(n.mark)}return e}function na(i){let e=fe.get(i);return e&&e.setDOM(i.cloneNode()),i}var li=class extends ve{constructor(e){super(),this.tag=e}eq(e){return e.tag==this.tag}toDOM(){return document.createElement(this.tag)}updateDOM(e){return e.nodeName.toLowerCase()==this.tag}get isHidden(){return!0}};li.inline=new li("span");li.block=new li("div");var ra=new class extends ve{toDOM(){return document.createElement("br")}get isHidden(){return!0}get editable(){return!0}},Os=class{constructor(e){this.view=e,this.decorations=[],this.blockWrappers=[],this.dynamicDecorationMap=[!1],this.domChanged=null,this.hasComposition=null,this.editContextFormatting=Z.none,this.lastCompositionAfterCursor=!1,this.minWidth=0,this.minWidthFrom=0,this.minWidthTo=0,this.impreciseAnchor=null,this.impreciseHead=null,this.forceSelection=!1,this.lastUpdate=Date.now(),this.updateDeco(),this.tile=new dn(e,e.contentDOM),this.updateInner([new gt(0,0,0,e.state.doc.length)],null)}update(e){var t;let n=e.changedRanges;this.minWidth>0&&n.length&&(n.every(({fromA:h,toA:f})=>fthis.minWidthTo)?(this.minWidthFrom=e.changes.mapPos(this.minWidthFrom,1),this.minWidthTo=e.changes.mapPos(this.minWidthTo,1)):this.minWidth=this.minWidthFrom=this.minWidthTo=0),this.updateEditContextFormatting(e);let r=-1;this.view.inputState.composing>=0&&!this.view.observer.editContext&&(!((t=this.domChanged)===null||t===void 0)&&t.newSel?r=this.domChanged.newSel.head:!H0(e.changes,this.hasComposition)&&!e.selectionSet&&(r=e.state.selection.main.head));let s=r>-1?I0(this.view,e.changes,r):null;if(this.domChanged=null,this.hasComposition){let{from:h,to:f}=this.hasComposition;n=new gt(h,f,e.changes.mapPos(h,-1),e.changes.mapPos(f,1)).addToSet(n.slice())}this.hasComposition=s?{from:s.range.fromB,to:s.range.toB}:null,(L.ie||L.chrome)&&!s&&e&&e.state.doc.lines!=e.startState.doc.lines&&(this.forceSelection=!0);let o=this.decorations,a=this.blockWrappers;this.updateDeco();let l=G0(o,this.decorations,e.changes);l.length&&(n=gt.extendWithRanges(n,l));let c=N0(a,this.blockWrappers,e.changes);return c.length&&(n=gt.extendWithRanges(n,c)),s&&!n.some(h=>h.fromA<=s.range.fromA&&h.toA>=s.range.toA)&&(n=s.range.addToSet(n.slice())),this.tile.flags&2&&n.length==0?!1:(this.updateInner(n,s),e.transactions.length&&(this.lastUpdate=Date.now()),!0)}updateInner(e,t){this.view.viewState.mustMeasureContent=!0;let{observer:n}=this.view;n.ignore(()=>{if(t||e.length){let o=this.tile,a=new ka(this.view,o,this.blockWrappers,this.decorations,this.dynamicDecorationMap);t&&fe.get(t.text)&&a.cache.reused.set(fe.get(t.text),2),this.tile=a.run(e,t),xa(o,a.cache.reused)}this.tile.dom.style.height=this.view.viewState.contentHeight/this.view.scaleY+"px",this.tile.dom.style.flexBasis=this.minWidth?this.minWidth+"px":"";let s=L.chrome||L.ios?{node:n.selectionRange.focusNode,written:!1}:void 0;this.tile.sync(s),s&&(s.written||n.selectionRange.focusNode!=s.node||!this.tile.dom.contains(s.node))&&(this.forceSelection=!0),this.tile.dom.style.height=""});let r=[];if(this.view.viewport.from||this.view.viewport.to-1)&&Gn(n,this.view.observer.selectionRange)&&!(r&&n.contains(r));if(!(s||t||o))return;let a=this.forceSelection;this.forceSelection=!1;let l=this.view.state.selection.main,c,h;if(l.empty?h=c=this.inlineDOMNearPos(l.anchor,l.assoc||1):(h=this.inlineDOMNearPos(l.head,l.head==l.from?1:-1),c=this.inlineDOMNearPos(l.anchor,l.anchor==l.from?1:-1)),L.gecko&&l.empty&&!this.hasComposition&&Y0(c)){let u=document.createTextNode("");this.view.observer.ignore(()=>c.node.insertBefore(u,c.node.childNodes[c.offset]||null)),c=h=new Tt(u,0),a=!0}let f=this.view.observer.selectionRange;(a||!f.focusNode||(!Nn(c.node,c.offset,f.anchorNode,f.anchorOffset)||!Nn(h.node,h.offset,f.focusNode,f.focusOffset))&&!this.suppressWidgetCursorChange(f,l))&&(this.view.observer.ignore(()=>{L.android&&L.chrome&&n.contains(f.focusNode)&&F0(f.focusNode,n)&&(n.blur(),n.focus({preventScroll:!0}));let u=nr(this.view.root);if(u)if(l.empty){if(L.gecko){let O=B0(c.node,c.offset);if(O&&O!=3){let p=(O==1?Jf:eu)(c.node,c.offset);p&&(c=new Tt(p.node,p.offset))}}u.collapse(c.node,c.offset),l.bidiLevel!=null&&u.caretBidiLevel!==void 0&&(u.caretBidiLevel=l.bidiLevel)}else if(u.extend){u.collapse(c.node,c.offset);try{u.extend(h.node,h.offset)}catch{}}else{let O=document.createRange();l.anchor>l.head&&([c,h]=[h,c]),O.setEnd(h.node,h.offset),O.setStart(c.node,c.offset),u.removeAllRanges(),u.addRange(O)}o&&this.view.root.activeElement==n&&(n.blur(),r&&r.focus())}),this.view.observer.setSelectionRange(c,h)),this.impreciseAnchor=c.precise?null:new Tt(f.anchorNode,f.anchorOffset),this.impreciseHead=h.precise?null:new Tt(f.focusNode,f.focusOffset)}suppressWidgetCursorChange(e,t){return this.hasComposition&&t.empty&&Nn(e.focusNode,e.focusOffset,e.anchorNode,e.anchorOffset)&&this.posFromDOM(e.focusNode,e.focusOffset)==t.head}enforceCursorAssoc(){if(this.hasComposition)return;let{view:e}=this,t=e.state.selection.main,n=nr(e.root),{anchorNode:r,anchorOffset:s}=e.observer.selectionRange;if(!n||!t.empty||!t.assoc||!n.modify)return;let o=this.lineAt(t.head,t.assoc);if(!o)return;let a=o.posAtStart;if(t.head==a||t.head==a+o.length)return;let l=this.coordsAt(t.head,-1),c=this.coordsAt(t.head,1);if(!l||!c||l.bottom>c.top)return;let h=this.domAtPos(t.head+t.assoc,t.assoc);n.collapse(h.node,h.offset),n.modify("move",t.assoc<0?"forward":"backward","lineboundary"),e.observer.readSelectionRange();let f=e.observer.selectionRange;e.docView.posFromDOM(f.anchorNode,f.anchorOffset)!=t.from&&n.collapse(r,s)}posFromDOM(e,t){let n=this.tile.nearest(e);if(!n)return this.tile.dom.compareDocumentPosition(e)&2?0:this.view.state.doc.length;let r=n.posAtStart;if(n.isComposite()){let s;if(e==n.dom)s=n.dom.childNodes[t];else{let o=Mt(e)==0?0:t==0?-1:1;for(;;){let a=e.parentNode;if(a==n.dom)break;o==0&&a.firstChild!=a.lastChild&&(e==a.firstChild?o=-1:o=1),e=a}o<0?s=e:s=e.nextSibling}if(s==n.dom.firstChild)return r;for(;s&&!fe.get(s);)s=s.nextSibling;if(!s)return r+n.length;for(let o=0,a=r;;o++){let l=n.children[o];if(l.dom==s)return a;a+=l.length+l.breakAfter}}else return n.isText()?e==n.dom?r+t:r+(t?n.length:0):r}domAtPos(e,t){let{tile:n,offset:r}=this.tile.resolveBlock(e,t);return n.isWidget()?n.domPosFor(r,t):n.domIn(r,t)}inlineDOMNearPos(e,t){let n,r=-1,s=!1,o,a=-1,l=!1;return this.tile.blockTiles((c,h)=>{if(c.isWidget()){if(c.flags&32&&h>=e)return!0;c.flags&16&&(s=!0)}else{let f=h+c.length;if(h<=e&&(n=c,r=e-h,s=f=e&&!o&&(o=c,a=e-h,l=h>e),h>e&&o)return!0}}),!n&&!o?this.domAtPos(e,t):(s&&o?n=null:l&&n&&(o=null),n&&t<0||!o?n.domIn(r,t):o.domIn(a,t))}coordsAt(e,t,n){let{tile:r,offset:s}=this.tile.resolveBlock(e,t);return r.isWidget()?r.widget instanceof Kn?null:r.coordsInWidget(s,t,!0):r.coordsIn(s,t,n)}lineAt(e,t){let{tile:n}=this.tile.resolveBlock(e,t);return n.isLine()?n:null}coordsForChar(e){let{tile:t,offset:n}=this.tile.resolveBlock(e,1);if(!t.isLine())return null;function r(s,o){if(s.isComposite())for(let a of s.children){if(a.length>=o){let l=r(a,o);if(l)return l}if(o-=a.length,o<0)break}else if(s.isText()&&oMath.max(this.view.scrollDOM.clientWidth,this.minWidth)+1,a=-1,l=this.view.textDirection==ue.LTR,c=0,h=(f,u,O)=>{for(let p=0;pr);p++){let m=f.children[p],b=u+m.length,g=m.dom.getBoundingClientRect(),{height:Q}=g;if(O&&!p&&(c+=g.top-O.top),m instanceof Lt)b>n&&h(m,u,g);else if(u>=n&&(c>0&&t.push(-c),t.push(Q+c),c=0,o)){let S=m.dom.lastChild,x=S?os(S):[];if(x.length){let v=x[x.length-1],$=l?v.right-g.left:g.right-v.left;$>a&&(a=$,this.minWidth=s,this.minWidthFrom=u,this.minWidthTo=b)}}O&&p==f.children.length-1&&(c+=O.bottom-g.bottom),u=b+m.breakAfter}};return h(this.tile,0,null),t}textDirectionAt(e){let{tile:t}=this.tile.resolveBlock(e,1);return getComputedStyle(t.dom).direction=="rtl"?ue.RTL:ue.LTR}measureTextSize(){let e=this.tile.blockTiles(o=>{if(o.isLine()&&o.children.length&&o.length<=20){let a=0,l;for(let c of o.children){if(!c.isText()||/[^ -~]/.test(c.text))return;let h=os(c.dom);if(h.length!=1)return;a+=h[0].width,l=h[0].height}if(a)return{lineHeight:o.dom.getBoundingClientRect().height,charWidth:a/o.length,textHeight:l}}});if(e)return e;let t=document.createElement("div"),n,r,s;return t.className="cm-line",t.style.width="99999px",t.style.position="absolute",t.textContent="abc def ghi jkl mno pqr stu",this.view.observer.ignore(()=>{this.tile.dom.appendChild(t);let o=os(t.firstChild)[0];n=t.getBoundingClientRect().height,r=o&&o.width?o.width/27:7,s=o&&o.height?o.height:n,t.remove()}),{lineHeight:n,charWidth:r,textHeight:s}}computeBlockGapDeco(){let e=[],t=this.view.viewState;for(let n=0,r=0;;r++){let s=r==t.viewports.length?null:t.viewports[r],o=s?s.from-1:this.view.state.doc.length;if(o>n){let a=(t.lineBlockAt(o).bottom-t.lineBlockAt(n).top)/this.view.scaleY;e.push(Z.replace({widget:new Kn(a),block:!0,inclusive:!0,isBlockGap:!0}).range(n,o))}if(!s)break;n=s.to+1}return Z.set(e)}updateDeco(){let e=1,t=this.view.state.facet(ys).map(s=>(this.dynamicDecorationMap[e++]=typeof s=="function")?s(this.view):s),n=!1,r=this.view.state.facet(Ha).map((s,o)=>{let a=typeof s=="function";return a&&(n=!0),a?s(this.view):s});for(r.length&&(this.dynamicDecorationMap[e++]=n,t.push(ae.join(r))),this.decorations=[this.editContextFormatting,...t,this.computeBlockGapDeco(),this.view.viewState.lineGapDeco];etypeof s=="function"?s(this.view):s)}scrollIntoView(e){if(e.isSnapshot){let c=this.view.viewState.lineBlockAt(e.range.head);this.view.scrollDOM.scrollTop=c.top-e.yMargin,this.view.scrollDOM.scrollLeft=e.xMargin;return}for(let c of this.view.state.facet(Ou))try{if(c(this.view,e.range,e))return!0}catch(h){lt(this.view.state,h,"scroll handler")}let{range:t}=e,n=this.coordsAt(t.head,t.assoc||(t.head>t.anchor?-1:1)),r;if(!n)return;!t.empty&&(r=this.coordsAt(t.anchor,t.anchor>t.head?-1:1))&&(n={left:Math.min(n.left,r.left),top:Math.min(n.top,r.top),right:Math.max(n.right,r.right),bottom:Math.max(n.bottom,r.bottom)});let s=bu(this.view),o={left:n.left-s.left,top:n.top-s.top,right:n.right+s.right,bottom:n.bottom+s.bottom},{offsetWidth:a,offsetHeight:l}=this.view.scrollDOM;if(w0(this.view.scrollDOM,o,t.head1&&(n.top>window.pageYOffset+window.visualViewport.offsetTop+window.visualViewport.height||n.bottomn.isWidget()||n.children.some(t);return t(this.tile.resolveBlock(e,1).tile)}destroy(){xa(this.tile)}};function xa(i,e){let t=e?.get(i);if(t!=1){t==null&&i.destroy();for(let n of i.children)xa(n,e)}}function Y0(i){return i.node.nodeType==1&&i.node.firstChild&&(i.offset==0||i.node.childNodes[i.offset-1].contentEditable=="false")&&(i.offset==i.node.childNodes.length||i.node.childNodes[i.offset].contentEditable=="false")}function yu(i,e){let t=i.observer.selectionRange;if(!t.focusNode)return null;let n=Jf(t.focusNode,t.focusOffset),r=eu(t.focusNode,t.focusOffset),s=n||r;if(r&&n&&r.node!=n.node){let a=fe.get(r.node);if(!a||a.isText()&&a.text!=r.node.nodeValue)s=r;else if(i.docView.lastCompositionAfterCursor){let l=fe.get(n.node);!l||l.isText()&&l.text!=n.node.nodeValue||(s=r)}}if(i.docView.lastCompositionAfterCursor=s!=n,!s)return null;let o=e-s.offset;return{from:o,to:o+s.node.nodeValue.length,node:s.node}}function I0(i,e,t){let n=yu(i,t);if(!n)return null;let{node:r,from:s,to:o}=n,a=r.nodeValue;if(/[\n\r]/.test(a)||i.state.doc.sliceString(n.from,n.to)!=a)return null;let l=e.invertedDesc;return{range:new gt(l.mapPos(s),l.mapPos(o),s,o),text:r}}function B0(i,e){return i.nodeType!=1?0:(e&&i.childNodes[e-1].contentEditable=="false"?1:0)|(e{ne.from&&(t=!0)}),t}var Kn=class extends ve{constructor(e){super(),this.height=e}toDOM(){let e=document.createElement("div");return e.className="cm-gap",this.updateDOM(e),e}eq(e){return e.height==this.height}updateDOM(e){return e.style.height=this.height+"px",!0}get editable(){return!0}get estimatedHeight(){return this.height}ignoreEvent(){return!1}};function K0(i,e,t=1){let n=i.charCategorizer(e),r=i.doc.lineAt(e),s=e-r.from;if(r.length==0)return P.cursor(e);s==0?t=1:s==r.length&&(t=-1);let o=s,a=s;t<0?o=ke(r.text,s,!1):a=ke(r.text,s);let l=n(r.text.slice(o,a));for(;o>0;){let c=ke(r.text,o,!1);if(n(r.text.slice(c,o))!=l)break;o=c}for(;ai.defaultLineHeight*1.5){let a=i.viewState.heightOracle.textHeight,l=Math.floor((r-t.top-(i.defaultLineHeight-a)*.5)/a);s+=l*i.viewState.heightOracle.lineLength}let o=i.state.sliceDoc(t.from,t.to);return t.from+pf(o,s,i.state.tabSize)}function eQ(i,e,t){let n=i.lineBlockAt(e);if(Array.isArray(n.type)){let r;for(let s of n.type){if(s.from>e)break;if(!(s.toe)return s;(!r||s.type==ct.Text&&(r.type!=s.type||(t<0?s.frome)))&&(r=s)}}return r||n}return n}function tQ(i,e,t,n){let r=eQ(i,e.head,e.assoc||-1),s=!n||r.type!=ct.Text||!(i.lineWrapping||r.widgetLineBreaks)?null:i.coordsAtPos(e.assoc<0&&e.head>r.from?e.head-1:e.head);if(s){let o=i.dom.getBoundingClientRect(),a=i.textDirectionAt(r.from),l=i.posAtCoords({x:t==(a==ue.LTR)?o.right-1:o.left+1,y:(s.top+s.bottom)/2});if(l!=null)return P.cursor(l,t?-1:1)}return P.cursor(t?r.to:r.from,t?-1:1)}function Cf(i,e,t,n){let r=i.state.doc.lineAt(e.head),s=i.bidiSpans(r),o=i.textDirectionAt(r.from);for(let a=e,l=null;;){let c=Z0(r,s,o,a,t),h=su;if(!c){if(r.number==(t?i.state.doc.lines:1))return a;h=` -`,r=i.state.doc.line(r.number+(t?1:-1)),s=i.bidiSpans(r),c=i.visualLineSide(r,!t)}if(l){if(!l(h))return a}else{if(!n)return c;l=n(h)}a=c}}function iQ(i,e,t){let n=i.state.charCategorizer(e),r=n(t);return s=>{let o=n(s);return r==qe.Space&&(r=o),r==o}}function nQ(i,e,t,n){let r=e.head,s=t?1:-1;if(r==(t?i.state.doc.length:0))return P.cursor(r,e.assoc);let o=e.goalColumn,a,l=i.contentDOM.getBoundingClientRect(),c=i.coordsAtPos(r,e.assoc||((e.empty?t:e.head==e.from)?1:-1)),h=i.documentTop;if(c)o==null&&(o=c.left-l.left),a=s<0?c.top:c.bottom;else{let p=i.viewState.lineBlockAt(r);o==null&&(o=Math.min(l.right-l.left,i.defaultCharacterWidth*(r-p.from))),a=(s<0?p.top:p.bottom)+h}let f=l.left+o,u=i.viewState.heightOracle.textHeight>>1,O=n??u;for(let p=0;;p+=u){let m=a+(O+p)*s,b=Pa(i,{x:f,y:m},!1,s);if(t?m>l.bottom:ma:Q{if(e>s&&er(i)),t.from,e.head>t.from?-1:1);return n==t.from?t:P.cursor(n,ni.viewState.docHeight)return new ot(i.state.doc.length,-1);if(c=i.elementAtHeight(l),n==null)break;if(c.type==ct.Text){if(n<0?c.toi.viewport.to)break;let u=i.docView.coordsAt(n<0?c.from:c.to,n>0?-1:1);if(u&&(n<0?u.top<=l+s:u.bottom>=l+s))break}let f=i.viewState.heightOracle.textHeight/2;l=n>0?c.bottom+f:c.top-f}if(i.viewport.from>=c.to||i.viewport.to<=c.from){if(t)return null;if(c.type==ct.Text){let f=J0(i,r,c,o,a);return new ot(f,f==c.from?1:-1)}}if(c.type!=ct.Text)return l<(c.top+c.bottom)/2?new ot(c.from,1):new ot(c.to,-1);let h=i.docView.lineAt(c.from,2);return(!h||h.length!=c.length)&&(h=i.docView.lineAt(c.from,-2)),new va(i,o,a,i.textDirectionAt(c.from)).scanTile(h,c.from)}var va=class{constructor(e,t,n,r){this.view=e,this.x=t,this.y=n,this.baseDir=r,this.line=null,this.spans=null}bidiSpansAt(e){return(!this.line||this.line.from>e||this.line.to1||n.length&&(n[0].level!=this.baseDir||n[0].to+r.from>1;t:if(o.has(m)){let g=r+Math.floor(Math.random()*p);for(let Q=0;Q1)){if(Q.bottomthis.y)(!c||c.top>Q.top)&&(c=Q),S=-1;else{let x=Q.left>this.x?this.x-Q.left:Q.right(p+p+m)/3)return this.y=l.bottom-1,this.scan(e,t,!0);if(c&&c.top<(p+m+m)/3)return this.y=c.top+1,this.scan(e,t,!0)}let O=(a?this.dirAt(e[h],1):this.baseDir)==ue.LTR;return{i:h,after:this.x>(u.left+u.right)/2==O}}scanText(e,t){let n=[];for(let s=0;s{let o=n[s]-t,a=n[s+1]-t;return rr(e.dom,o,a).getClientRects()});return r.after?new ot(n[r.i+1],-1):new ot(n[r.i],1)}scanTile(e,t){if(!e.length)return new ot(t,1);if(e.children.length==1){let a=e.children[0];if(a.isText())return this.scanText(a,t);if(a.isComposite())return this.scanTile(a,t)}let n=[t];for(let a=0,l=t;a{let l=e.children[a];return l.flags&48?null:(l.dom.nodeType==1?l.dom:rr(l.dom,0,l.length)).getClientRects()}),s=e.children[r.i],o=n[r.i];return s.isText()?this.scanText(s,o):s.isComposite()?this.scanTile(s,o):r.after?new ot(n[r.i+1],-1):new ot(o,1)}},ln="\uFFFF",$a=class{constructor(e,t){this.points=e,this.view=t,this.text="",this.lineSeparator=t.state.facet(re.lineSeparator)}append(e){this.text+=e}lineBreak(){this.text+=ln}readRange(e,t){if(!e)return this;let n=e.parentNode;for(let r=e;;){this.findPointBefore(n,r);let s=this.text.length;this.readNode(r);let o=fe.get(r),a=r.nextSibling;if(a==t){o?.breakAfter&&!a&&n!=this.view.contentDOM&&this.lineBreak();break}let l=fe.get(a);(o&&l?o.breakAfter:(o?o.breakAfter:cs(r))||cs(a)&&(r.nodeName!="BR"||o?.isWidget())&&this.text.length>s)&&!sQ(a,t)&&this.lineBreak(),r=a}return this.findPointBefore(n,t),this}readTextNode(e){let t=e.nodeValue;for(let n of this.points)n.node==e&&(n.pos=this.text.length+Math.min(n.offset,t.length));for(let n=0,r=this.lineSeparator?null:/\r\n?|\n/g;;){let s=-1,o=1,a;if(this.lineSeparator?(s=t.indexOf(this.lineSeparator,n),o=this.lineSeparator.length):(a=r.exec(t))&&(s=a.index,o=a[0].length),this.append(t.slice(n,s<0?t.length:s)),s<0)break;if(this.lineBreak(),o>1)for(let l of this.points)l.node==e&&l.pos>this.text.length&&(l.pos-=o-1);n=s+o}}readNode(e){let t=fe.get(e),n=t&&t.overrideDOMText;if(n!=null){this.findPointInside(e,n.length);for(let r=n.iter();!r.next().done;)r.lineBreak?this.lineBreak():this.append(r.value)}else e.nodeType==3?this.readTextNode(e):e.nodeName=="BR"?e.nextSibling&&this.lineBreak():e.nodeType==1&&this.readRange(e.firstChild,null)}findPointBefore(e,t){for(let n of this.points)n.node==e&&e.childNodes[n.offset]==t&&(n.pos=this.text.length)}findPointInside(e,t){for(let n of this.points)(e.nodeType==3?n.node==e:e.contains(n.node))&&(n.pos=this.text.length+(rQ(e,n.node,n.offset)?t:0))}};function rQ(i,e,t){for(;;){if(!e||t-1;let{impreciseHead:s,impreciseAnchor:o}=e.docView,a=e.state.selection;if(e.state.readOnly&&t>-1)this.newSel=null;else if(t>-1&&(this.bounds=xu(e.docView.tile,t,n,0))){let l=s||o?[]:aQ(e),c=new $a(l,e);c.readRange(this.bounds.startDOM,this.bounds.endDOM),this.text=c.text,this.newSel=lQ(l,this.bounds.from)}else{let l=e.observer.selectionRange,c=s&&s.node==l.focusNode&&s.offset==l.focusOffset||!fa(e.contentDOM,l.focusNode)?a.main.head:e.docView.posFromDOM(l.focusNode,l.focusOffset),h=o&&o.node==l.anchorNode&&o.offset==l.anchorOffset||!fa(e.contentDOM,l.anchorNode)?a.main.anchor:e.docView.posFromDOM(l.anchorNode,l.anchorOffset),f=e.viewport;if((L.ios||L.chrome)&&c!=h&&Math.min(c,h)<=a.main.from&&Math.max(c,h)>=a.main.to&&(f.from>0||f.to-1&&a.ranges.length>1)this.newSel=a.replaceRange(P.range(h,c));else if(e.lineWrapping&&h==c&&!(a.main.empty&&a.main.head==c)&&e.inputState.lastTouchTime>Date.now()-100){let u=e.coordsAtPos(c,-1),O=0;u&&(O=e.inputState.lastTouchY<=u.bottom?-1:1),this.newSel=P.create([P.cursor(c,O)])}else this.newSel=P.single(h,c)}}};function xu(i,e,t,n){if(i.isComposite()){let r=-1,s=-1,o=-1,a=-1;for(let l=0,c=n,h=n;lt)return xu(f,e,t,c);if(u>=e&&r==-1&&(r=l,s=c),c>t&&f.dom.parentNode==i.dom){o=l,a=h;break}h=u,c=u+f.breakAfter}return{from:s,to:a<0?n+i.length:a,startDOM:(r?i.children[r-1].dom.nextSibling:null)||i.dom.firstChild,endDOM:o=0?i.children[o].dom:null}}else return i.isText()?{from:n,to:n+i.length,startDOM:i.dom,endDOM:i.dom.nextSibling}:null}function wu(i,e){let t,{newSel:n}=e,{state:r}=i,s=r.selection.main,o=i.inputState.lastKeyTime>Date.now()-100?i.inputState.lastKeyCode:-1;if(e.bounds){let{from:a,to:l}=e.bounds,c=s.from,h=null;(o===8||L.android&&e.text.length=a&&s.to<=l&&(e.typeOver||f!=e.text)&&f.slice(0,s.from-a)==e.text.slice(0,s.from-a)&&f.slice(s.to-a)==e.text.slice(u=e.text.length-(f.length-(s.to-a)))?t={from:s.from,to:s.to,insert:K.of(e.text.slice(s.from-a,u).split(ln))}:(O=Pu(f,e.text,c-a,h))&&(L.chrome&&o==13&&O.toB==O.from+2&&e.text.slice(O.from,O.toB)==ln+ln&&O.toB--,t={from:a+O.from,to:a+O.toA,insert:K.of(e.text.slice(O.from,O.toB).split(ln))})}else n&&(!i.hasFocus&&r.facet(zt)||ps(n,s))&&(n=null);if(!t&&!n)return!1;if((L.mac||L.android)&&t&&t.from==t.to&&t.from==s.head-1&&/^\. ?$/.test(t.insert.toString())&&i.contentDOM.getAttribute("autocorrect")=="off"?(n&&t.insert.length==2&&(n=P.single(n.main.anchor-1,n.main.head-1)),t={from:t.from,to:t.to,insert:K.of([t.insert.toString().replace("."," ")])}):r.doc.lineAt(s.from).toDate.now()-50?t={from:s.from,to:s.to,insert:r.toText(i.inputState.insertingText)}:L.chrome&&t&&t.from==t.to&&t.from==s.head&&t.insert.toString()==` - `&&i.lineWrapping&&(n&&(n=P.single(n.main.anchor-1,n.main.head-1)),t={from:s.from,to:s.to,insert:K.of([" "])}),t)return Ka(i,t,n,o);if(n&&!ps(n,s)){let a=!1,l="select";return i.inputState.lastSelectionTime>Date.now()-50&&(i.inputState.lastSelectionOrigin=="select"&&(a=!0),l=i.inputState.lastSelectionOrigin,l=="select.pointer"&&(n=ku(r.facet(sr).map(c=>c(i)),n))),i.dispatch({selection:n,scrollIntoView:a,userEvent:l}),!0}else return!1}function Ka(i,e,t,n=-1){if(L.ios&&i.inputState.flushIOSKey(e))return!0;let r=i.state.selection.main;if(L.android&&(e.to==r.to&&(e.from==r.from||e.from==r.from-1&&i.state.sliceDoc(e.from,r.from)==" ")&&e.insert.length==1&&e.insert.lines==2&&un(i.contentDOM,"Enter",13)||(e.from==r.from-1&&e.to==r.to&&e.insert.length==0||n==8&&e.insert.lengthr.head)&&un(i.contentDOM,"Backspace",8)||e.from==r.from&&e.to==r.to+1&&e.insert.length==0&&un(i.contentDOM,"Delete",46)))return!0;let s=e.insert.toString();i.inputState.composing>=0&&i.inputState.composing++;let o,a=()=>o||(o=oQ(i,e,t));return i.state.facet(hu).some(l=>l(i,e.from,e.to,s,a))||i.dispatch(a()),!0}function oQ(i,e,t){let n,r=i.state,s=r.selection.main,o=-1;if(e.from==e.to&&e.froms.to){let l=e.fromf(i)),c,l);e.from==h&&(o=h)}if(o>-1)n={changes:e,selection:P.cursor(e.from+e.insert.length,-1)};else if(e.from>=s.from&&e.to<=s.to&&e.to-e.from>=(s.to-s.from)/3&&(!t||t.main.empty&&t.main.from==e.from+e.insert.length)&&i.inputState.composing<0){let l=s.frome.to?r.sliceDoc(e.to,s.to):"";n=r.replaceSelection(i.state.toText(l+e.insert.sliceString(0,void 0,i.state.lineBreak)+c))}else{let l=r.changes(e),c=t&&t.main.to<=l.newLength?t.main:void 0;if(r.selection.ranges.length>1&&(i.inputState.composing>=0||i.inputState.compositionPendingChange)&&e.to<=s.to+10&&e.to>=s.to-10){let h=i.state.sliceDoc(e.from,e.to),f,u=t&&yu(i,t.main.head);if(u){let p=e.insert.length-(e.to-e.from);f={from:u.from,to:u.to-p}}else f=i.state.doc.lineAt(s.head);let O=s.to-e.to;n=r.changeByRange(p=>{if(p.from==s.from&&p.to==s.to)return{changes:l,range:c||p.map(l)};let m=p.to-O,b=m-h.length;if(i.state.sliceDoc(b,m)!=h||m>=f.from&&b<=f.to)return{range:p};let g=r.changes({from:b,to:m,insert:e.insert}),Q=p.to-s.to;return{changes:g,range:c?P.range(Math.max(0,c.anchor+Q),Math.max(0,c.head+Q)):p.map(g)}})}else n={changes:l,selection:c&&r.selection.replaceRange(c)}}let a="input.type";return(i.composing||i.inputState.compositionPendingChange&&i.inputState.compositionEndedAt>Date.now()-50)&&(i.inputState.compositionPendingChange=!1,a+=".compose",i.inputState.compositionFirstChange&&(a+=".start",i.inputState.compositionFirstChange=!1)),r.update(n,{userEvent:a,scrollIntoView:!0})}function Pu(i,e,t,n){let r=Math.min(i.length,e.length),s=0;for(;s0&&a>0&&i.charCodeAt(o-1)==e.charCodeAt(a-1);)o--,a--;if(n=="end"){let l=Math.max(0,s-Math.min(o,a));t-=o+l-s}if(o=o?s-t:0;s-=l,a=s+(a-o),o=s}else if(a=a?s-t:0;s-=l,o=s+(o-a),a=s}return{from:s,toA:o,toB:a}}function aQ(i){let e=[];if(i.root.activeElement!=i.contentDOM)return e;let{anchorNode:t,anchorOffset:n,focusNode:r,focusOffset:s}=i.observer.selectionRange;return t&&(e.push(new ds(t,n)),(r!=t||s!=n)&&e.push(new ds(r,s))),e}function lQ(i,e){if(i.length==0)return null;let t=i[0].pos,n=i.length==2?i[1].pos:t;return t>-1&&n>-1?P.single(t+e,n+e):null}function ps(i,e){return e.head==i.main.head&&e.anchor==i.main.anchor}var Ca=class{setSelectionOrigin(e){this.lastSelectionOrigin=e,this.lastSelectionTime=Date.now()}constructor(e){this.view=e,this.lastKeyCode=0,this.lastKeyTime=0,this.touchActive=!1,this.lastTouchTime=0,this.lastTouchX=0,this.lastTouchY=0,this.lastFocusTime=0,this.lastScrollTop=0,this.lastScrollLeft=0,this.lastWheelEvent=0,this.pendingIOSKey=void 0,this.lastIOSMomentumScroll=0,this.tabFocusMode=-1,this.lastSelectionOrigin=null,this.lastSelectionTime=0,this.lastContextMenu=0,this.scrollHandlers=[],this.handlers=Object.create(null),this.composing=-1,this.compositionFirstChange=null,this.compositionEndedAt=0,this.compositionPendingKey=!1,this.compositionPendingChange=!1,this.insertingText="",this.insertingTextAt=0,this.mouseSelection=null,this.draggedContent=null,this.handleEvent=this.handleEvent.bind(this),this.notifiedFocused=e.hasFocus,L.safari&&e.contentDOM.addEventListener("input",()=>null),L.gecko&&xQ(e.contentDOM.ownerDocument)}handleEvent(e){!mQ(this.view,e)||this.ignoreDuringComposition(e)||e.type=="keydown"&&this.keydown(e)||(this.view.updateState!=0?Promise.resolve().then(()=>this.runHandlers(e.type,e)):this.runHandlers(e.type,e))}runHandlers(e,t){let n=this.handlers[e];if(n){for(let r of n.observers)r(this.view,t);for(let r of n.handlers){if(t.defaultPrevented)break;if(r(this.view,t)){t.preventDefault();break}}}}ensureHandlers(e){let t=hQ(e),n=this.handlers,r=this.view.contentDOM;for(let s in t)if(s!="scroll"){let o=!t[s].handlers.length,a=n[s];a&&o!=!a.handlers.length&&(r.removeEventListener(s,this.handleEvent),a=null),a||r.addEventListener(s,this.handleEvent,{passive:o})}for(let s in n)s!="scroll"&&!t[s]&&r.removeEventListener(s,this.handleEvent);this.handlers=t}keydown(e){if(this.lastKeyCode=e.keyCode,this.lastKeyTime=Date.now(),e.keyCode==9&&this.tabFocusMode>-1&&(!this.tabFocusMode||Date.now()<=this.tabFocusMode))return!0;if(this.tabFocusMode>0&&e.keyCode!=27&&$u.indexOf(e.keyCode)<0&&(this.tabFocusMode=-1),L.android&&L.chrome&&!e.synthetic&&(e.keyCode==13||e.keyCode==8))return this.view.observer.delayAndroidKey(e.key,e.keyCode),!0;if(L.ios&&!e.synthetic&&!e.altKey&&!e.metaKey&&(vu.some(t=>t.keyCode==e.keyCode)&&!e.ctrlKey||fQ.indexOf(e.key)>-1&&e.ctrlKey)){let t={ctrlKey:e.ctrlKey,altKey:e.altKey,metaKey:e.metaKey,shiftKey:e.shiftKey};return t.shiftKey&&L.ios&&!/^(off|none)$/.test(this.view.contentDOM.autocapitalize)&&cQ(this.view.win)&&(t.shiftKey=!1),this.pendingIOSKey={key:e.key,keyCode:e.keyCode,mods:t},setTimeout(()=>this.flushIOSKey(),250),!0}return e.keyCode!=229&&this.view.observer.forceFlush(),!1}flushIOSKey(e){let t=this.pendingIOSKey;return!t||t.key=="Enter"&&e&&e.from0?!0:L.safari&&!L.ios&&this.compositionPendingKey&&Date.now()-this.compositionEndedAt<100?(this.compositionPendingKey=!1,!0):!1}startMouseSelection(e){this.mouseSelection&&this.mouseSelection.destroy(),this.mouseSelection=e}update(e){this.view.observer.update(e),this.mouseSelection&&this.mouseSelection.update(e),this.draggedContent&&e.docChanged&&(this.draggedContent=this.draggedContent.map(e.changes)),e.transactions.length&&(this.lastKeyCode=this.lastSelectionTime=0)}destroy(){this.mouseSelection&&this.mouseSelection.destroy()}};function cQ(i){return i.visualViewport?i.visualViewport.height*i.visualViewport.scale/i.document.documentElement.clientHeight<.85:!1}function Xf(i,e){return(t,n)=>{try{return e.call(i,n,t)}catch(r){lt(t.state,r)}}}function hQ(i){let e=Object.create(null);function t(n){return e[n]||(e[n]={observers:[],handlers:[]})}for(let n of i){let r=n.spec,s=r&&r.plugin.domEventHandlers,o=r&&r.plugin.domEventObservers;if(s)for(let a in s){let l=s[a];l&&t(a).handlers.push(Xf(n.value,l))}if(o)for(let a in o){let l=o[a];l&&t(a).observers.push(Xf(n.value,l))}}for(let n in Qt)t(n).handlers.push(Qt[n]);for(let n in Me)t(n).observers.push(Me[n]);return e}var vu=[{key:"Backspace",keyCode:8,inputType:"deleteContentBackward"},{key:"Enter",keyCode:13,inputType:"insertParagraph"},{key:"Enter",keyCode:13,inputType:"insertLineBreak"},{key:"Delete",keyCode:46,inputType:"deleteContentForward"}],fQ="dthko",$u=[16,17,18,20,91,92,224,225],es=6;function ts(i){return Math.max(0,i)*.7+8}function uQ(i,e){return Math.max(Math.abs(i.clientX-e.clientX),Math.abs(i.clientY-e.clientY))}var Xa=class{constructor(e,t,n,r){this.view=e,this.startEvent=t,this.style=n,this.mustSelect=r,this.scrollSpeed={x:0,y:0},this.scrolling=-1,this.lastEvent=t,this.scrollParents=Ff(e.contentDOM),this.atoms=e.state.facet(sr).map(o=>o(e));let s=e.contentDOM.ownerDocument;s.addEventListener("mousemove",this.move=this.move.bind(this)),s.addEventListener("mouseup",this.up=this.up.bind(this)),this.extend=t.shiftKey,this.multiple=e.state.facet(re.allowMultipleSelections)&&OQ(e,t),this.dragging=pQ(e,t)&&Xu(t)==1?null:!1}start(e){this.dragging===!1&&this.select(e)}move(e){if(e.buttons==0)return this.destroy();if(this.dragging||this.dragging==null&&uQ(this.startEvent,e)<10)return;this.select(this.lastEvent=e);let t=0,n=0,r=0,s=0,o=this.view.win.innerWidth,a=this.view.win.innerHeight;this.scrollParents.x&&({left:r,right:o}=this.scrollParents.x.getBoundingClientRect()),this.scrollParents.y&&({top:s,bottom:a}=this.scrollParents.y.getBoundingClientRect());let l=bu(this.view);e.clientX-l.left<=r+es?t=-ts(r-e.clientX):e.clientX+l.right>=o-es&&(t=ts(e.clientX-o)),e.clientY-l.top<=s+es?n=-ts(s-e.clientY):e.clientY+l.bottom>=a-es&&(n=ts(e.clientY-a)),this.setScrollSpeed(t,n)}up(e){this.dragging==null&&this.select(this.lastEvent),this.dragging||e.preventDefault(),this.destroy()}destroy(){this.setScrollSpeed(0,0);let e=this.view.contentDOM.ownerDocument;e.removeEventListener("mousemove",this.move),e.removeEventListener("mouseup",this.up),this.view.inputState.mouseSelection=this.view.inputState.draggedContent=null}setScrollSpeed(e,t){this.scrollSpeed={x:e,y:t},e||t?this.scrolling<0&&(this.scrolling=setInterval(()=>this.scroll(),50)):this.scrolling>-1&&(clearInterval(this.scrolling),this.scrolling=-1)}scroll(){let{x:e,y:t}=this.scrollSpeed;e&&this.scrollParents.x&&(this.scrollParents.x.scrollLeft+=e,e=0),t&&this.scrollParents.y&&(this.scrollParents.y.scrollTop+=t,t=0),(e||t)&&this.view.win.scrollBy(e,t),this.dragging===!1&&this.select(this.lastEvent)}select(e){let{view:t}=this,n=ku(this.atoms,this.style.get(e,this.extend,this.multiple));(this.mustSelect||!n.eq(t.state.selection,this.dragging===!1))&&this.view.dispatch({selection:n,userEvent:"select.pointer"}),this.mustSelect=!1}update(e){e.transactions.some(t=>t.isUserEvent("input.type"))?this.destroy():this.style.update(e)&&setTimeout(()=>this.select(this.lastEvent),20)}};function OQ(i,e){let t=i.state.facet(ou);return t.length?t[0](e):L.mac?e.metaKey:e.ctrlKey}function dQ(i,e){let t=i.state.facet(au);return t.length?t[0](e):L.mac?!e.altKey:!e.ctrlKey}function pQ(i,e){let{main:t}=i.state.selection;if(t.empty)return!1;let n=nr(i.root);if(!n||n.rangeCount==0)return!0;let r=n.getRangeAt(0).getClientRects();for(let s=0;s=e.clientX&&o.top<=e.clientY&&o.bottom>=e.clientY)return!0}return!1}function mQ(i,e){if(!e.bubbles)return!0;if(e.defaultPrevented)return!1;for(let t=e.target,n;t!=i.contentDOM;t=t.parentNode)if(!t||t.nodeType==11||(n=fe.get(t))&&n.isWidget()&&!n.isHidden&&n.widget.ignoreEvent(e))return!1;return!0}var Qt=Object.create(null),Me=Object.create(null),Tu=L.ie&&L.ie_version<15||L.ios&&L.webkit_version<604;function gQ(i){let e=i.dom.parentNode;if(!e)return;let t=e.appendChild(document.createElement("textarea"));t.style.cssText="position: fixed; left: -10000px; top: 10px",t.focus(),setTimeout(()=>{i.focus(),t.remove(),Cu(i,t.value)},50)}function ks(i,e,t){for(let n of i.facet(e))t=n(t,i);return t}function Cu(i,e){e=ks(i.state,Ga,e);let{state:t}=i,n,r=1,s=t.toText(e),o=s.lines==t.selection.ranges.length;if(_a!=null&&t.selection.ranges.every(l=>l.empty)&&_a==s.toString()){let l=-1;n=t.changeByRange(c=>{let h=t.doc.lineAt(c.from);if(h.from==l)return{range:c};l=h.from;let f=t.toText((o?s.line(r++).text:e)+t.lineBreak);return{changes:{from:h.from,insert:f},range:P.cursor(c.from+f.length)}})}else o?n=t.changeByRange(l=>{let c=s.line(r++);return{changes:{from:l.from,to:l.to,insert:c.text},range:P.cursor(l.from+c.length)}}):n=t.replaceSelection(s);i.dispatch(n,{userEvent:"input.paste",scrollIntoView:!0})}Me.scroll=i=>{let e=i.inputState;e.lastScrollTop=i.scrollDOM.scrollTop,e.lastScrollLeft=i.scrollDOM.scrollLeft,L.ios&&!e.touchActive&&(e.lastIOSMomentumScroll=Date.now())};Me.wheel=Me.mousewheel=i=>{i.inputState.lastWheelEvent=Date.now()};Qt.keydown=(i,e)=>(i.inputState.setSelectionOrigin("select"),e.keyCode==27&&i.inputState.tabFocusMode!=0&&(i.inputState.tabFocusMode=Date.now()+2e3),!1);Me.touchstart=(i,e)=>{let t=i.inputState,n=e.targetTouches[0];t.touchActive=!0,t.lastTouchTime=Date.now(),n&&(t.lastTouchX=n.clientX,t.lastTouchY=n.clientY),t.setSelectionOrigin("select.pointer")};Me.touchmove=i=>{i.inputState.setSelectionOrigin("select.pointer")};Me.touchend=(i,e)=>{i.inputState.touchActive=!1};Qt.mousedown=(i,e)=>{if(i.observer.flush(),i.inputState.lastTouchTime>Date.now()-2e3)return!1;let t=null;for(let n of i.state.facet(lu))if(t=n(i,e),t)break;if(!t&&e.button==0&&(t=bQ(i,e)),t){let n=!i.hasFocus;i.inputState.startMouseSelection(new Xa(i,e,t,n)),n&&i.observer.ignore(()=>{Hf(i.contentDOM);let s=i.root.activeElement;s&&!s.contains(i.contentDOM)&&s.blur()});let r=i.inputState.mouseSelection;if(r)return r.start(e),r.dragging===!1}else i.inputState.setSelectionOrigin("select.pointer");return!1};function _f(i,e,t,n){if(n==1)return P.cursor(e,t);if(n==2)return K0(i.state,e,t);{let r=i.docView.lineAt(e,t),s=i.state.doc.lineAt(r?r.posAtEnd:e),o=r?r.posAtStart:s.from,a=r?r.posAtEnd:s.to;return aDate.now()-400&&Math.abs(e.clientX-i.clientX)<2&&Math.abs(e.clientY-i.clientY)<2?(Af+1)%3:1}function bQ(i,e){let t=i.posAndSideAtCoords({x:e.clientX,y:e.clientY},!1),n=Xu(e),r=i.state.selection;return{update(s){s.docChanged&&(t.pos=s.changes.mapPos(t.pos),r=r.map(s.changes))},get(s,o,a){let l=i.posAndSideAtCoords({x:s.clientX,y:s.clientY},!1),c,h=_f(i,l.pos,l.assoc,n);if(t.pos!=l.pos&&!o){let f=_f(i,t.pos,t.assoc,n),u=Math.min(f.from,h.from),O=Math.max(f.to,h.to);h=u1&&(c=SQ(r,l.pos))?c:a?r.addRange(h):P.create([h])}}}function SQ(i,e){for(let t=0;t=e)return P.create(i.ranges.slice(0,t).concat(i.ranges.slice(t+1)),i.mainIndex==t?0:i.mainIndex-(i.mainIndex>t?1:0))}return null}Qt.dragstart=(i,e)=>{let{selection:{main:t}}=i.state;if(e.target.draggable){let r=i.docView.tile.nearest(e.target);if(r&&r.isWidget()){let s=r.posAtStart,o=s+r.length;(s>=t.to||o<=t.from)&&(t=P.undirectionalRange(s,o))}}let{inputState:n}=i;return n.mouseSelection&&(n.mouseSelection.dragging=!0),n.draggedContent=t,e.dataTransfer&&(e.dataTransfer.setData("Text",ks(i.state,Na,i.state.sliceDoc(t.from,t.to))),e.dataTransfer.effectAllowed="copyMove"),!1};Qt.dragend=i=>(i.inputState.draggedContent=null,!1);function Ef(i,e,t,n){if(t=ks(i.state,Ga,t),!t)return;let r=i.posAtCoords({x:e.clientX,y:e.clientY},!1),{draggedContent:s}=i.inputState,o=n&&s&&dQ(i,e)?{from:s.from,to:s.to}:null,a={from:r,insert:t},l=i.state.changes(o?[o,a]:a);i.focus(),i.dispatch({changes:l,selection:{anchor:l.mapPos(r,-1),head:l.mapPos(r,1)},userEvent:o?"move.drop":"input.drop"}),i.inputState.draggedContent=null}Qt.drop=(i,e)=>{if(!e.dataTransfer)return!1;if(i.state.readOnly)return!0;let t=e.dataTransfer.files;if(t&&t.length){let n=Array(t.length),r=0,s=()=>{++r==t.length&&Ef(i,e,n.filter(o=>o!=null).join(i.state.lineBreak),!1)};for(let o=0;o{/[\x00-\x08\x0e-\x1f]{2}/.test(a.result)||(n[o]=a.result),s()},a.readAsText(t[o])}return!0}else{let n=e.dataTransfer.getData("Text");if(n)return Ef(i,e,n,!0),!0}return!1};Qt.paste=(i,e)=>{if(i.state.readOnly)return!0;i.observer.flush();let t=Tu?null:e.clipboardData;return t?(Cu(i,t.getData("text/plain")||t.getData("text/uri-list")),!0):(gQ(i),!1)};function yQ(i,e){let t=i.dom.parentNode;if(!t)return;let n=t.appendChild(document.createElement("textarea"));n.style.cssText="position: fixed; left: -10000px; top: 10px",n.value=e,n.focus(),n.selectionEnd=e.length,n.selectionStart=0,setTimeout(()=>{n.remove(),i.focus()},50)}function kQ(i){let e=[],t=[],n=!1;for(let r of i.selection.ranges)r.empty||(e.push(i.sliceDoc(r.from,r.to)),t.push(r));if(!e.length){let r=-1;for(let{from:s}of i.selection.ranges){let o=i.doc.lineAt(s);o.number>r&&(e.push(o.text),t.push({from:o.from,to:Math.min(i.doc.length,o.to+1)})),r=o.number}n=!0}return{text:ks(i,Na,e.join(i.lineBreak)),ranges:t,linewise:n}}var _a=null;Qt.copy=Qt.cut=(i,e)=>{if(!Gn(i.contentDOM,i.observer.selectionRange))return!1;let{text:t,ranges:n,linewise:r}=kQ(i.state);if(!t&&!r)return!1;_a=r?t:null,e.type=="cut"&&!i.state.readOnly&&i.dispatch({changes:n,scrollIntoView:!0,userEvent:"delete.cut"});let s=Tu?null:e.clipboardData;return s?(s.clearData(),s.setData("text/plain",t),!0):(yQ(i,t),!1)};var _u=Re.define();function Ru(i,e){let t=[];for(let n of i.facet(fu)){let r=n(i,e);r&&t.push(r)}return t.length?i.update({effects:t,annotations:_u.of(!0)}):null}function Au(i){setTimeout(()=>{let e=i.hasFocus;if(e!=i.inputState.notifiedFocused){let t=Ru(i.state,e);t?i.dispatch(t):i.update([])}},10)}Me.focus=i=>{i.inputState.lastFocusTime=Date.now(),!i.scrollDOM.scrollTop&&(i.inputState.lastScrollTop||i.inputState.lastScrollLeft)&&(i.scrollDOM.scrollTop=i.inputState.lastScrollTop,i.scrollDOM.scrollLeft=i.inputState.lastScrollLeft),Au(i)};Me.blur=i=>{i.observer.clearSelectionRange(),Au(i)};Me.compositionstart=Me.compositionupdate=i=>{i.observer.editContext||(i.inputState.compositionFirstChange==null&&(i.inputState.compositionFirstChange=!0),i.inputState.composing<0&&(i.inputState.composing=0))};Me.compositionend=i=>{i.observer.editContext||(i.inputState.composing=-1,i.inputState.compositionEndedAt=Date.now(),i.inputState.compositionPendingKey=!0,i.inputState.compositionPendingChange=i.observer.pendingRecords().length>0,i.inputState.compositionFirstChange=null,L.chrome&&L.android?i.observer.flushSoon():i.inputState.compositionPendingChange?Promise.resolve().then(()=>i.observer.flush()):setTimeout(()=>{i.inputState.composing<0&&i.docView.hasComposition&&i.update([])},50))};Me.contextmenu=i=>{i.inputState.lastContextMenu=Date.now()};Qt.beforeinput=(i,e)=>{var t,n;if((e.inputType=="insertText"||e.inputType=="insertCompositionText")&&(i.inputState.insertingText=e.data,i.inputState.insertingTextAt=Date.now()),e.inputType=="insertReplacementText"&&i.observer.editContext){let s=(t=e.dataTransfer)===null||t===void 0?void 0:t.getData("text/plain"),o=e.getTargetRanges();if(s&&o.length){let a=o[0],l=i.posAtDOM(a.startContainer,a.startOffset),c=i.posAtDOM(a.endContainer,a.endOffset);return Ka(i,{from:l,to:c,insert:i.state.toText(s)},null),!0}}let r;if(L.chrome&&L.android&&(r=vu.find(s=>s.inputType==e.inputType))&&(i.observer.delayAndroidKey(r.key,r.keyCode),r.key=="Backspace"||r.key=="Delete")){let s=((n=window.visualViewport)===null||n===void 0?void 0:n.height)||0;setTimeout(()=>{var o;(((o=window.visualViewport)===null||o===void 0?void 0:o.height)||0)>s+10&&i.hasFocus&&(i.contentDOM.blur(),i.focus())},100)}return L.ios&&e.inputType=="deleteContentForward"&&i.observer.flushSoon(),L.safari&&e.inputType=="insertText"&&i.inputState.composing>=0&&setTimeout(()=>Me.compositionend(i,e),20),!1};var qf=new Set;function xQ(i){qf.has(i)||(qf.add(i),i.addEventListener("copy",()=>{}),i.addEventListener("cut",()=>{}))}var zf=["pre-wrap","normal","pre-line","break-spaces"],gn=!1;function Lf(){gn=!1}var Ra=class{constructor(e){this.lineWrapping=e,this.doc=K.empty,this.heightSamples={},this.lineHeight=14,this.charWidth=7,this.textHeight=14,this.lineLength=30}heightForGap(e,t){let n=this.doc.lineAt(t).number-this.doc.lineAt(e).number+1;return this.lineWrapping&&(n+=Math.max(0,Math.ceil((t-e-n*this.lineLength*.5)/this.lineLength))),this.lineHeight*n}heightForLine(e){return this.lineWrapping?(1+Math.max(0,Math.ceil((e-this.lineLength)/Math.max(1,this.lineLength-5))))*this.lineHeight:this.lineHeight}setDoc(e){return this.doc=e,this}mustRefreshForWrapping(e){return zf.indexOf(e)>-1!=this.lineWrapping}mustRefreshForHeights(e){let t=!1;for(let n=0;n-1,l=Math.abs(t-this.lineHeight)>.3||this.lineWrapping!=a;if(this.lineWrapping=a,this.lineHeight=t,this.charWidth=n,this.textHeight=r,this.lineLength=s,l){this.heightSamples={};for(let c=0;c0}set outdated(e){this.flags=(e?2:0)|this.flags&-3}setHeight(e){this.height!=e&&(Math.abs(this.height-e)>as&&(gn=!0),this.height=e)}replace(e,t,n){return i.of(n)}decomposeLeft(e,t){t.push(this)}decomposeRight(e,t){t.push(this)}applyChanges(e,t,n,r){let s=this,o=n.doc;for(let a=r.length-1;a>=0;a--){let{fromA:l,toA:c,fromB:h,toB:f}=r[a],u=s.lineAt(l,le.ByPosNoHeight,n.setDoc(t),0,0),O=u.to>=c?u:s.lineAt(c,le.ByPosNoHeight,n,0,0);for(f+=O.to-c,c=O.to;a>0&&u.from<=r[a-1].toA;)l=r[a-1].fromA,h=r[a-1].fromB,a--,ls*2){let a=e[t-1];a.break?e.splice(--t,1,a.left,null,a.right):e.splice(--t,1,a.left,a.right),n+=1+a.break,r-=a.size}else if(s>r*2){let a=e[n];a.break?e.splice(n,1,a.left,null,a.right):e.splice(n,1,a.left,a.right),n+=2+a.break,s-=a.size}else break;else if(r=s&&o(this.lineAt(0,le.ByPos,n,r,s))}setMeasuredHeight(e){let t=e.heights[e.index++];t<0?(this.spaceAbove=-t,t=e.heights[e.index++]):this.spaceAbove=0,this.setHeight(t)}updateHeight(e,t=0,n=!1,r){return r&&r.from<=t&&r.more&&this.setMeasuredHeight(r),this.outdated=!1,this}toString(){return`block(${this.length})`}},st=class i extends gs{constructor(e,t,n){super(e,t,null),this.collapsed=0,this.widgetHeight=0,this.breaks=0,this.spaceAbove=n}mainBlock(e,t){return new mt(t,this.length,e+this.spaceAbove,this.height-this.spaceAbove,this.breaks)}replace(e,t,n){let r=n[0];return n.length==1&&(r instanceof i||r instanceof si&&r.flags&4)&&Math.abs(this.length-r.length)<10?(r instanceof si?r=new i(r.length,this.height,this.spaceAbove):r.height=this.height,this.outdated||(r.outdated=!1),r):He.of(n)}updateHeight(e,t=0,n=!1,r){return r&&r.from<=t&&r.more?this.setMeasuredHeight(r):(n||this.outdated)&&(this.spaceAbove=0,this.setHeight(Math.max(this.widgetHeight,e.heightForLine(this.length-this.collapsed))+this.breaks*e.lineHeight)),this.outdated=!1,this}toString(){return`line(${this.length}${this.collapsed?-this.collapsed:""}${this.widgetHeight?":"+this.widgetHeight:""})`}},si=class i extends He{constructor(e){super(e,0)}heightMetrics(e,t){let n=e.doc.lineAt(t).number,r=e.doc.lineAt(t+this.length).number,s=r-n+1,o,a=0;if(e.lineWrapping){let l=Math.min(this.height,e.lineHeight*s);o=l/s,this.length>s+1&&(a=(this.height-l)/(this.length-s-1))}else o=this.height/s;return{firstLine:n,lastLine:r,perLine:o,perChar:a}}blockAt(e,t,n,r){let{firstLine:s,lastLine:o,perLine:a,perChar:l}=this.heightMetrics(t,r);if(t.lineWrapping){let c=r+(e0){let s=n[n.length-1];s instanceof i?n[n.length-1]=new i(s.length+r):n.push(null,new i(r-1))}if(e>0){let s=n[0];s instanceof i?n[0]=new i(e+s.length):n.unshift(new i(e-1),null)}return He.of(n)}decomposeLeft(e,t){t.push(new i(e-1),null)}decomposeRight(e,t){t.push(null,new i(this.length-e-1))}updateHeight(e,t=0,n=!1,r){let s=t+this.length;if(r&&r.from<=t+this.length&&r.more){let o=[],a=Math.max(t,r.from),l=-1;for(r.from>t&&o.push(new i(r.from-t-1).updateHeight(e,t));a<=s&&r.more;){let h=e.doc.lineAt(a).length;o.length&&o.push(null);let f=r.heights[r.index++],u=0;f<0&&(u=-f,f=r.heights[r.index++]),l==-1?l=f:Math.abs(f-l)>=as&&(l=-2);let O=new st(h,f,u);O.outdated=!1,o.push(O),a+=h+1}a<=s&&o.push(null,new i(s-a).updateHeight(e,a));let c=He.of(o);return(l<0||Math.abs(c.height-this.height)>=as||Math.abs(l-this.heightMetrics(e,t).perLine)>=as)&&(gn=!0),ms(this,c)}else(n||this.outdated)&&(this.setHeight(e.heightForGap(t,t+this.length)),this.outdated=!1);return this}toString(){return`gap(${this.length})`}},Za=class extends He{constructor(e,t,n){super(e.length+t+n.length,e.height+n.height,t|(e.outdated||n.outdated?2:0)),this.left=e,this.right=n,this.size=e.size+n.size}get break(){return this.flags&1}blockAt(e,t,n,r){let s=n+this.left.height;return ea))return c;let h=t==le.ByPosNoHeight?le.ByPosNoHeight:le.ByPos;return l?c.join(this.right.lineAt(a,h,n,o,a)):this.left.lineAt(a,h,n,r,s).join(c)}forEachLine(e,t,n,r,s,o){let a=r+this.left.height,l=s+this.left.length+this.break;if(this.break)e=l&&this.right.forEachLine(e,t,n,a,l,o);else{let c=this.lineAt(l,le.ByPos,n,r,s);e=e&&c.from<=t&&o(c),t>c.to&&this.right.forEachLine(c.to+1,t,n,a,l,o)}}replace(e,t,n){let r=this.left.length+this.break;if(tthis.left.length)return this.balanced(this.left,this.right.replace(e-r,t-r,n));let s=[];e>0&&this.decomposeLeft(e,s);let o=s.length;for(let a of n)s.push(a);if(e>0&&Mf(s,o-1),t=n&&t.push(null)),e>n&&this.right.decomposeLeft(e-n,t)}decomposeRight(e,t){let n=this.left.length,r=n+this.break;if(e>=r)return this.right.decomposeRight(e-r,t);e2*t.size||t.size>2*e.size?He.of(this.break?[e,null,t]:[e,t]):(this.left=ms(this.left,e),this.right=ms(this.right,t),this.setHeight(e.height+t.height),this.outdated=e.outdated||t.outdated,this.size=e.size+t.size,this.length=e.length+this.break+t.length,this)}updateHeight(e,t=0,n=!1,r){let{left:s,right:o}=this,a=t+s.length+this.break,l=null;return r&&r.from<=t+s.length&&r.more?l=s=s.updateHeight(e,t,n,r):s.updateHeight(e,t,n),r&&r.from<=a+o.length&&r.more?l=o=o.updateHeight(e,a,n,r):o.updateHeight(e,a,n),l?this.balanced(s,o):(this.height=this.left.height+this.right.height,this.outdated=!1,this)}toString(){return this.left+(this.break?" ":"-")+this.right}};function Mf(i,e){let t,n;i[e]==null&&(t=i[e-1])instanceof si&&(n=i[e+1])instanceof si&&i.splice(e-1,3,new si(t.length+1+n.length))}var PQ=5,Ea=class i{constructor(e,t){this.pos=e,this.oracle=t,this.nodes=[],this.lineStart=-1,this.lineEnd=-1,this.covering=null,this.writtenTo=e}get isCovered(){return this.covering&&this.nodes[this.nodes.length-1]==this.covering}span(e,t){if(this.lineStart>-1){let n=Math.min(t,this.lineEnd),r=this.nodes[this.nodes.length-1];r instanceof st?r.length+=n-this.pos:(n>this.pos||!this.isCovered)&&this.nodes.push(new st(n-this.pos,-1,0)),this.writtenTo=n,t>n&&(this.nodes.push(null),this.writtenTo++,this.lineStart=-1)}this.pos=t}point(e,t,n){if(e=PQ)&&this.addLineDeco(r,s,o)}else t>e&&this.span(e,t);this.lineEnd>-1&&this.lineEnd-1)return;let{from:e,to:t}=this.oracle.doc.lineAt(this.pos);this.lineStart=e,this.lineEnd=t,this.writtenToe&&this.nodes.push(new st(this.pos-e,-1,0)),this.writtenTo=this.pos}blankContent(e,t){let n=new si(t-e);return this.oracle.doc.lineAt(e).to==t&&(n.flags|=4),n}ensureLine(){this.enterLine();let e=this.nodes.length?this.nodes[this.nodes.length-1]:null;if(e instanceof st)return e;let t=new st(0,-1,0);return this.nodes.push(t),t}addBlock(e){this.enterLine();let t=e.deco;t&&t.startSide>0&&!this.isCovered&&this.ensureLine(),this.nodes.push(e),this.writtenTo=this.pos=this.pos+e.length,t&&t.endSide>0&&(this.covering=e)}addLineDeco(e,t,n){let r=this.ensureLine();r.length+=n,r.collapsed+=n,r.widgetHeight=Math.max(r.widgetHeight,e),r.breaks+=t,this.writtenTo=this.pos=this.pos+n}finish(e){let t=this.nodes.length==0?null:this.nodes[this.nodes.length-1];this.lineStart>-1&&!(t instanceof st)&&!this.isCovered?this.nodes.push(new st(0,-1,0)):(this.writtenToh.clientHeight||h.scrollWidth>h.clientWidth)&&f.overflow!="visible"){let u=h.getBoundingClientRect();s=Math.max(s,u.left),o=Math.min(o,u.right),a=Math.max(a,u.top),l=Math.min(c==i.parentNode?r.innerHeight:l,u.bottom)}c=f.position=="absolute"||f.position=="fixed"?h.offsetParent:h.parentNode}else if(c.nodeType==11)c=c.host;else break;return{left:s-t.left,right:Math.max(s,o)-t.left,top:a-(t.top+e),bottom:Math.max(a,l)-(t.top+e)}}function TQ(i){let e=i.getBoundingClientRect(),t=i.ownerDocument.defaultView||window;return e.left0&&e.top0}function CQ(i,e){let t=i.getBoundingClientRect();return{left:0,right:t.right-t.left,top:e,bottom:t.bottom-(t.top+e)}}var er=class{constructor(e,t,n,r){this.from=e,this.to=t,this.size=n,this.displaySize=r}static same(e,t){if(e.length!=t.length)return!1;for(let n=0;ntypeof r!="function"&&r.class=="cm-lineWrapping");this.heightOracle=new Ra(n),this.stateDeco=jf(t),this.heightMap=He.empty().applyChanges(this.stateDeco,K.empty,this.heightOracle.setDoc(t.doc),[new gt(0,0,0,t.doc.length)]);for(let r=0;r<2&&(this.viewport=this.getViewport(0,null),!!this.updateForViewport());r++);this.updateViewportLines(),this.lineGaps=this.ensureLineGaps([]),this.lineGapDeco=Z.set(this.lineGaps.map(r=>r.draw(this,!1))),this.scrollParent=e.scrollDOM,this.computeVisibleRanges()}updateForViewport(){let e=[this.viewport],{main:t}=this.state.selection;for(let n=0;n<=1;n++){let r=n?t.head:t.anchor;if(!e.some(({from:s,to:o})=>r>=s&&r<=o)){let{from:s,to:o}=this.lineBlockAt(r);e.push(new hn(s,o))}}return this.viewports=e.sort((n,r)=>n.from-r.from),this.updateScaler()}updateScaler(){let e=this.scaler;return this.scaler=this.heightMap.height<=7e6?Wf:new La(this.heightOracle,this.heightMap,this.viewports),e.eq(this.scaler)?0:2}updateViewportLines(){this.viewportLines=[],this.heightMap.forEachLine(this.viewport.from,this.viewport.to,this.heightOracle.setDoc(this.state.doc),0,0,e=>{this.viewportLines.push(Bn(e,this.scaler))})}update(e,t=null){this.state=e.state;let n=this.stateDeco;this.stateDeco=jf(this.state);let r=e.changedRanges,s=gt.extendWithRanges(r,vQ(n,this.stateDeco,e?e.changes:ze.empty(this.state.doc.length))),o=this.heightMap.height,a=this.scrolledToBottom?null:this.scrollAnchorAt(this.scrollOffset);Lf(),this.heightMap=this.heightMap.applyChanges(this.stateDeco,e.startState.doc,this.heightOracle.setDoc(this.state.doc),s),(this.heightMap.height!=o||gn)&&(e.flags|=2),a?(this.scrollAnchorPos=e.changes.mapPos(a.from,-1),this.scrollAnchorHeight=a.top):(this.scrollAnchorPos=-1,this.scrollAnchorHeight=o);let l=s.length?this.mapViewport(this.viewport,e.changes):this.viewport;(t&&(t.range.headl.to)||!this.viewportIsAppropriate(l))&&(l=this.getViewport(0,t));let c=l.from!=this.viewport.from||l.to!=this.viewport.to;this.viewport=l,e.flags|=this.updateForViewport(),(c||!e.changes.empty||e.flags&2)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(this.mapLineGaps(this.lineGaps,e.changes))),e.flags|=this.computeVisibleRanges(e.changes),t&&(this.scrollTarget=t),!this.mustEnforceCursorAssoc&&(e.selectionSet||e.focusChanged)&&e.view.lineWrapping&&e.state.selection.main.empty&&e.state.selection.main.assoc&&!e.state.facet(q0)&&(this.mustEnforceCursorAssoc=!0)}measure(){let{view:e}=this,t=e.contentDOM,n=window.getComputedStyle(t),r=this.heightOracle,s=n.whiteSpace;this.defaultTextDirection=n.direction=="rtl"?ue.RTL:ue.LTR;let o=this.heightOracle.mustRefreshForWrapping(s)||this.mustMeasureContent==="refresh",a=t.getBoundingClientRect(),l=o||this.mustMeasureContent||this.contentDOMHeight!=a.height;this.contentDOMHeight=a.height,this.mustMeasureContent=!1;let c=0,h=0;if(a.width&&a.height){let{scaleX:v,scaleY:$}=Nf(t,a);(v>.005&&Math.abs(this.scaleX-v)>.005||$>.005&&Math.abs(this.scaleY-$)>.005)&&(this.scaleX=v,this.scaleY=$,c|=16,o=l=!0)}let f=(parseInt(n.paddingTop)||0)*this.scaleY,u=(parseInt(n.paddingBottom)||0)*this.scaleY;(this.paddingTop!=f||this.paddingBottom!=u)&&(this.paddingTop=f,this.paddingBottom=u,c|=18),this.editorWidth!=e.scrollDOM.clientWidth&&(r.lineWrapping&&(l=!0),this.editorWidth=e.scrollDOM.clientWidth,c|=16);let O=Ff(this.view.contentDOM,!1).y;O!=this.scrollParent&&(this.scrollParent=O,this.scrollAnchorHeight=-1,this.scrollOffset=0);let p=this.getScrollOffset();this.scrollOffset!=p&&(this.scrollAnchorHeight=-1,this.scrollOffset=p),this.scrolledToBottom=Kf(this.scrollParent||e.win);let m=(this.printing?CQ:$Q)(t,this.paddingTop),b=m.top-this.pixelViewport.top,g=m.bottom-this.pixelViewport.bottom;this.pixelViewport=m;let Q=this.pixelViewport.bottom>this.pixelViewport.top&&this.pixelViewport.right>this.pixelViewport.left;if(Q!=this.inView&&(this.inView=Q,Q&&(l=!0)),!this.inView&&!this.scrollTarget&&!TQ(e.dom))return 0;let S=a.width;if((this.contentDOMWidth!=S||this.editorHeight!=e.scrollDOM.clientHeight)&&(this.contentDOMWidth=a.width,this.editorHeight=e.scrollDOM.clientHeight,c|=16),l){let v=e.docView.measureVisibleLineHeights(this.viewport);if(r.mustRefreshForHeights(v)&&(o=!0),o||r.lineWrapping&&Math.abs(S-this.contentDOMWidth)>r.charWidth){let{lineHeight:$,charWidth:R,textHeight:_}=e.docView.measureTextSize();o=$>0&&r.refresh(s,$,R,_,Math.max(5,S/R),v),o&&(e.docView.minWidth=0,c|=16)}b>0&&g>0?h=Math.max(b,g):b<0&&g<0&&(h=Math.min(b,g)),Lf();for(let $ of this.viewports){let R=$.from==this.viewport.from?v:e.docView.measureVisibleLineHeights($);this.heightMap=(o?He.empty().applyChanges(this.stateDeco,K.empty,this.heightOracle,[new gt(0,0,0,e.state.doc.length)]):this.heightMap).updateHeight(r,0,o,new Aa($.from,R))}gn&&(c|=2)}let x=!this.viewportIsAppropriate(this.viewport,h)||this.scrollTarget&&(this.scrollTarget.range.headthis.viewport.to);return x&&(c&2&&(c|=this.updateScaler()),this.viewport=this.getViewport(h,this.scrollTarget),c|=this.updateForViewport()),(c&2||x)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(o?[]:this.lineGaps,e)),c|=this.computeVisibleRanges(),this.mustEnforceCursorAssoc&&(this.mustEnforceCursorAssoc=!1,e.docView.enforceCursorAssoc()),c}get visibleTop(){return this.scaler.fromDOM(this.pixelViewport.top)}get visibleBottom(){return this.scaler.fromDOM(this.pixelViewport.bottom)}getViewport(e,t){let n=.5-Math.max(-.5,Math.min(.5,e/1e3/2)),r=this.heightMap,s=this.heightOracle,{visibleTop:o,visibleBottom:a}=this,l=new hn(r.lineAt(o-n*1e3,le.ByHeight,s,0,0).from,r.lineAt(a+(1-n)*1e3,le.ByHeight,s,0,0).to);if(t){let{head:c}=t.range;if(cl.to){let h=Math.min(this.editorHeight,this.pixelViewport.bottom-this.pixelViewport.top),f=r.lineAt(c,le.ByPos,s,0,0),u;t.y=="center"?u=(f.top+f.bottom)/2-h/2:t.y=="start"||t.y=="nearest"&&c=a+Math.max(10,Math.min(n,250)))&&r>o-2*1e3&&s>1,o=r<<1;if(this.defaultTextDirection!=ue.LTR&&!n)return[];let a=[],l=(h,f,u,O)=>{if(f-hh&&gg.from>=u.from&&g.to<=u.to&&Math.abs(g.from-h)g.fromQ));if(!b){if(fS.from<=f&&S.to>=f)){let S=t.moveToLineBoundary(P.cursor(f),!1,!0).head;S>h&&(f=S)}let g=this.gapSize(u,h,f,O),Q=n||g<2e6?g:2e6;b=new er(h,f,g,Q)}a.push(b)},c=h=>{if(h.length2e6)for(let $ of e)$.from>=h.from&&$.fromh.from&&l(h.from,O,h,f),pt.draw(this,this.heightOracle.lineWrapping))))}computeVisibleRanges(e){let t=this.stateDeco;this.lineGaps.length&&(t=t.concat(this.lineGapDeco));let n=[];ae.spans(t,this.viewport.from,this.viewport.to,{span(s,o){n.push({from:s,to:o})},point(){}},20);let r=0;if(n.length!=this.visibleRanges.length)r=12;else for(let s=0;s=this.viewport.from&&e<=this.viewport.to&&this.viewportLines.find(t=>t.from<=e&&t.to>=e)||Bn(this.heightMap.lineAt(e,le.ByPos,this.heightOracle,0,0),this.scaler)}lineBlockAtHeight(e){return e>=this.viewportLines[0].top&&e<=this.viewportLines[this.viewportLines.length-1].bottom&&this.viewportLines.find(t=>t.top<=e&&t.bottom>=e)||Bn(this.heightMap.lineAt(this.scaler.fromDOM(e),le.ByHeight,this.heightOracle,0,0),this.scaler)}getScrollOffset(){return(this.scrollParent==this.view.scrollDOM?this.scrollParent.scrollTop:(this.scrollParent?this.scrollParent.getBoundingClientRect().top:0)-this.view.contentDOM.getBoundingClientRect().top)*this.scaleY}scrollAnchorAt(e){let t=this.lineBlockAtHeight(e+8);return t.from>=this.viewport.from||this.viewportLines[0].top-e>200?t:this.viewportLines[0]}elementAtHeight(e){return Bn(this.heightMap.blockAt(this.scaler.fromDOM(e),this.heightOracle,0,0),this.scaler)}get docHeight(){return this.scaler.toDOM(this.heightMap.height)}get contentHeight(){return this.docHeight+this.paddingTop+this.paddingBottom}},hn=class{constructor(e,t){this.from=e,this.to=t}};function XQ(i,e,t){let n=[],r=i,s=0;return ae.spans(t,i,e,{span(){},point(o,a){o>r&&(n.push({from:r,to:o}),s+=o-r),r=a}},20),r=1)return e[e.length-1].to;let n=Math.floor(i*t);for(let r=0;;r++){let{from:s,to:o}=e[r],a=o-s;if(n<=a)return s+n;n-=a}}function ns(i,e){let t=0;for(let{from:n,to:r}of i.ranges){if(e<=r){t+=e-n;break}t+=r-n}return t/i.total}function _Q(i,e){for(let t of i)if(e(t))return t}var Wf={toDOM(i){return i},fromDOM(i){return i},scale:1,eq(i){return i==this}};function jf(i){let e=i.facet(ys).filter(n=>typeof n!="function"),t=i.facet(Ha).filter(n=>typeof n!="function");return t.length&&e.push(ae.join(t)),e}var La=class i{constructor(e,t,n){let r=0,s=0,o=0;this.viewports=n.map(({from:a,to:l})=>{let c=t.lineAt(a,le.ByPos,e,0,0).top,h=t.lineAt(l,le.ByPos,e,0,0).bottom;return r+=h-c,{from:a,to:l,top:c,bottom:h,domTop:0,domBottom:0}}),this.scale=(7e6-r)/(t.height-r);for(let a of this.viewports)a.domTop=o+(a.top-s)*this.scale,o=a.domBottom=a.domTop+(a.bottom-a.top),s=a.bottom}toDOM(e){for(let t=0,n=0,r=0;;t++){let s=tt.from==e.viewports[n].from&&t.to==e.viewports[n].to):!1}};function Bn(i,e){if(e.scale==1)return i;let t=e.toDOM(i.top),n=e.toDOM(i.bottom);return new mt(i.from,i.length,t,n-t,Array.isArray(i._content)?i._content.map(r=>Bn(r,e)):i._content)}var rs=Y.define({combine:i=>i.join(" ")}),Ma=Y.define({combine:i=>i.indexOf(!0)>-1}),Wa=rt.newName(),Zu=rt.newName(),Eu=rt.newName(),qu={"&light":"."+Zu,"&dark":"."+Eu};function ja(i,e,t){return new rt(e,{finish(n){return/&/.test(n)?n.replace(/&\w*/,r=>{if(r=="&")return i;if(!t||!t[r])throw new RangeError(`Unsupported selector: ${r}`);return t[r]}):i+" "+n}})}var RQ=ja("."+Wa,{"&":{position:"relative !important",boxSizing:"border-box","&.cm-focused":{outline:"1px dotted #212121"},display:"flex !important",flexDirection:"column"},".cm-scroller":{display:"flex !important",alignItems:"flex-start !important",fontFamily:"monospace",lineHeight:1.4,height:"100%",overflowX:"auto",position:"relative",zIndex:0,overflowAnchor:"none"},".cm-content":{margin:0,flexGrow:2,flexShrink:0,display:"block",whiteSpace:"pre",wordWrap:"normal",boxSizing:"border-box",minHeight:"100%",padding:"4px 0",outline:"none","&[contenteditable=true]":{WebkitUserModify:"read-write-plaintext-only"}},".cm-lineWrapping":{whiteSpace_fallback:"pre-wrap",whiteSpace:"break-spaces",wordBreak:"break-word",overflowWrap:"anywhere",flexShrink:1},"&light .cm-content":{caretColor:"black"},"&dark .cm-content":{caretColor:"white"},".cm-line":{display:"block",padding:"0 2px 0 6px"},".cm-layer":{userSelect:"none",position:"absolute",left:0,top:0,contain:"size style","& > *":{position:"absolute"}},"&light .cm-selectionBackground":{background:"#d9d9d9"},"&dark .cm-selectionBackground":{background:"#222"},"&light.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#d7d4f0"},"&dark.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#233"},".cm-cursorLayer":{pointerEvents:"none"},"&.cm-focused > .cm-scroller > .cm-cursorLayer":{animation:"steps(1) cm-blink 1.2s infinite"},"@keyframes cm-blink":{"0%":{},"50%":{opacity:0},"100%":{}},"@keyframes cm-blink2":{"0%":{},"50%":{opacity:0},"100%":{}},".cm-cursor, .cm-dropCursor":{borderLeft:"1.2px solid black",marginLeft:"-0.6px",pointerEvents:"none"},".cm-cursor":{display:"none"},"&dark .cm-cursor":{borderLeftColor:"#ddd"},".cm-selectionHandle":{backgroundColor:"currentColor",width:"1.5px"},".cm-selectionHandle-start::before, .cm-selectionHandle-end::before":{content:'""',backgroundColor:"inherit",borderRadius:"50%",width:"8px",height:"8px",position:"absolute",left:"-3.25px"},".cm-selectionHandle-start::before":{top:"-8px"},".cm-selectionHandle-end::before":{bottom:"-8px"},".cm-dropCursor":{position:"absolute"},"&.cm-focused > .cm-scroller > .cm-cursorLayer .cm-cursor":{display:"block"},".cm-iso":{unicodeBidi:"isolate"},".cm-announced":{position:"fixed",top:"-10000px"},"@media print":{".cm-announced":{display:"none"}},"&light .cm-activeLine":{backgroundColor:"#cceeff44"},"&dark .cm-activeLine":{backgroundColor:"#99eeff33"},"&light .cm-specialChar":{color:"red"},"&dark .cm-specialChar":{color:"#f78"},".cm-gutters":{flexShrink:0,display:"flex",height:"100%",boxSizing:"border-box",zIndex:200},".cm-gutters-before":{insetInlineStart:0},".cm-gutters-after":{insetInlineEnd:0},"&light .cm-gutters":{backgroundColor:"#f5f5f5",color:"#6c6c6c",border:"0px solid #ddd","&.cm-gutters-before":{borderRightWidth:"1px"},"&.cm-gutters-after":{borderLeftWidth:"1px"}},"&dark .cm-gutters":{backgroundColor:"#333338",color:"#ccc"},".cm-gutter":{display:"flex !important",flexDirection:"column",flexShrink:0,boxSizing:"border-box",minHeight:"100%",overflow:"hidden"},".cm-gutterElement":{boxSizing:"border-box"},".cm-lineNumbers .cm-gutterElement":{padding:"0 3px 0 5px",minWidth:"20px",textAlign:"right",whiteSpace:"nowrap"},"&light .cm-activeLineGutter":{backgroundColor:"#e2f2ff"},"&dark .cm-activeLineGutter":{backgroundColor:"#222227"},".cm-panels":{boxSizing:"border-box",position:"sticky",left:0,right:0,zIndex:300},"&light .cm-panels":{backgroundColor:"#f5f5f5",color:"black"},"&light .cm-panels-top":{borderBottom:"1px solid #ddd"},"&light .cm-panels-bottom":{borderTop:"1px solid #ddd"},"&dark .cm-panels":{backgroundColor:"#333338",color:"white"},".cm-dialog":{padding:"2px 19px 4px 6px",position:"relative","& label":{fontSize:"80%"}},".cm-dialog-close":{position:"absolute",top:"3px",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",fontSize:"14px",padding:"0"},".cm-tab":{display:"inline-block",overflow:"hidden",verticalAlign:"bottom"},".cm-widgetBuffer":{verticalAlign:"text-top",height:"1em",width:0,display:"inline"},".cm-placeholder":{color:"#888",display:"inline-block",verticalAlign:"top",userSelect:"none"},".cm-highlightSpace":{backgroundImage:"radial-gradient(circle at 50% 55%, #aaa 20%, transparent 5%)",backgroundPosition:"center"},".cm-highlightTab":{backgroundImage:`url('data:image/svg+xml,')`,backgroundSize:"auto 100%",backgroundPosition:"right 90%",backgroundRepeat:"no-repeat"},".cm-trailingSpace":{backgroundColor:"#ff332255"},".cm-button":{verticalAlign:"middle",color:"inherit",fontSize:"70%",padding:".2em 1em",borderRadius:"1px"},"&light .cm-button":{backgroundImage:"linear-gradient(#eff1f5, #d9d9df)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#b4b4b4, #d0d3d6)"}},"&dark .cm-button":{backgroundImage:"linear-gradient(#393939, #111)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#111, #333)"}},".cm-textfield":{verticalAlign:"middle",color:"inherit",fontSize:"70%",border:"1px solid silver",padding:".2em .5em"},"&light .cm-textfield":{backgroundColor:"white"},"&dark .cm-textfield":{border:"1px solid #555",backgroundColor:"inherit"}},qu),AQ={childList:!0,characterData:!0,subtree:!0,attributes:!0,characterDataOldValue:!0},oa=L.ie&&L.ie_version<=11,Va=class{constructor(e){this.view=e,this.active=!1,this.editContext=null,this.selectionRange=new ua,this.selectionChanged=!1,this.delayedFlush=-1,this.resizeTimeout=-1,this.queue=[],this.delayedAndroidKey=null,this.flushingAndroidKey=-1,this.lastChange=0,this.scrollTargets=[],this.intersection=null,this.resizeScroll=null,this.intersecting=!1,this.gapIntersection=null,this.gaps=[],this.printQuery=null,this.parentCheck=-1,this.dom=e.contentDOM,this.observer=new MutationObserver(t=>{for(let n of t)this.queue.push(n);(L.ie&&L.ie_version<=11||L.ios&&e.composing)&&t.some(n=>n.type=="childList"&&n.removedNodes.length||n.type=="characterData"&&n.oldValue.length>n.target.nodeValue.length)?this.flushSoon():this.flush()}),window.EditContext&&L.android&&e.constructor.EDIT_CONTEXT!==!1&&!(L.chrome&&L.chrome_version<126)&&(this.editContext=new Da(e),e.state.facet(zt)&&(e.contentDOM.editContext=this.editContext.editContext)),oa&&(this.onCharData=t=>{this.queue.push({target:t.target,type:"characterData",oldValue:t.prevValue}),this.flushSoon()}),this.onSelectionChange=this.onSelectionChange.bind(this),this.onResize=this.onResize.bind(this),this.onPrint=this.onPrint.bind(this),this.onScroll=this.onScroll.bind(this),window.matchMedia&&(this.printQuery=window.matchMedia("print")),typeof ResizeObserver=="function"&&(this.resizeScroll=new ResizeObserver(()=>{var t;((t=this.view.docView)===null||t===void 0?void 0:t.lastUpdate){this.parentCheck<0&&(this.parentCheck=setTimeout(this.listenForScroll.bind(this),1e3)),t.length>0&&t[t.length-1].intersectionRatio>0!=this.intersecting&&(this.intersecting=!this.intersecting,this.intersecting!=this.view.inView&&this.onScrollChanged(document.createEvent("Event")))},{threshold:[0,.001]}),this.intersection.observe(this.dom),this.gapIntersection=new IntersectionObserver(t=>{t.length>0&&t[t.length-1].intersectionRatio>0&&this.onScrollChanged(document.createEvent("Event"))},{})),this.listenForScroll(),this.readSelectionRange()}onScrollChanged(e){this.view.inputState.runHandlers("scroll",e),this.intersecting&&this.view.measure()}onScroll(e){this.intersecting&&this.flush(!1),this.editContext&&this.view.requestMeasure(this.editContext.measureReq),this.onScrollChanged(e)}onResize(){this.resizeTimeout<0&&(this.resizeTimeout=setTimeout(()=>{this.resizeTimeout=-1,this.view.requestMeasure()},50))}onPrint(e){(e.type=="change"||!e.type)&&!e.matches||(this.view.viewState.printing=!0,this.view.measure(),setTimeout(()=>{this.view.viewState.printing=!1,this.view.requestMeasure()},500))}updateGaps(e){if(this.gapIntersection&&(e.length!=this.gaps.length||this.gaps.some((t,n)=>t!=e[n]))){this.gapIntersection.disconnect();for(let t of e)this.gapIntersection.observe(t);this.gaps=e}}onSelectionChange(e){let t=this.selectionChanged;if(!this.readSelectionRange()||this.delayedAndroidKey)return;let{view:n}=this,r=this.selectionRange;if(n.state.facet(zt)?n.root.activeElement!=this.dom:!Gn(this.dom,r))return;let s=r.anchorNode&&n.docView.tile.nearest(r.anchorNode);if(s&&s.isWidget()&&s.widget.ignoreEvent(e)){t||(this.selectionChanged=!1);return}(L.ie&&L.ie_version<=11||L.android&&L.chrome)&&!n.state.selection.main.empty&&r.focusNode&&Nn(r.focusNode,r.focusOffset,r.anchorNode,r.anchorOffset)?this.flushSoon():this.flush(!1)}readSelectionRange(){let{view:e}=this,t=nr(e.root);if(!t)return!1;let n=L.safari&&e.root.nodeType==11&&e.root.activeElement==this.dom&&ZQ(this.view,t)||t;if(!n||this.selectionRange.eq(n))return!1;let r=Gn(this.dom,n);return r&&!this.selectionChanged&&e.inputState.lastFocusTime>Date.now()-200&&e.inputState.lastTouchTime{let s=this.delayedAndroidKey;s&&(this.clearDelayedAndroidKey(),this.view.inputState.lastKeyCode=s.keyCode,this.view.inputState.lastKeyTime=Date.now(),!this.flush()&&s.force&&un(this.dom,s.key,s.keyCode))};this.flushingAndroidKey=this.view.win.requestAnimationFrame(r)}(!this.delayedAndroidKey||e=="Enter")&&(this.delayedAndroidKey={key:e,keyCode:t,force:this.lastChange{this.delayedFlush=-1,this.flush()}))}forceFlush(){this.delayedFlush>=0&&(this.view.win.cancelAnimationFrame(this.delayedFlush),this.delayedFlush=-1),this.flush()}pendingRecords(){for(let e of this.observer.takeRecords())this.queue.push(e);return this.queue}processRecords(){let e=this.pendingRecords();e.length&&(this.queue=[]);let t=-1,n=-1,r=!1;for(let s of e){let o=this.readMutation(s);o&&(o.typeOver&&(r=!0),t==-1?{from:t,to:n}=o:(t=Math.min(o.from,t),n=Math.max(o.to,n)))}return{from:t,to:n,typeOver:r}}readChange(){let{from:e,to:t,typeOver:n}=this.processRecords(),r=this.selectionChanged&&Gn(this.dom,this.selectionRange);if(e<0&&!r)return null;e>-1&&(this.lastChange=Date.now()),this.view.inputState.lastFocusTime=0,this.selectionChanged=!1;let s=new Ta(this.view,e,t,n);return this.view.docView.domChanged={newSel:s.newSel?s.newSel.main:null},s}flush(e=!0){if(this.delayedFlush>=0||this.delayedAndroidKey)return!1;e&&this.readSelectionRange();let t=this.readChange();if(!t)return this.view.requestMeasure(),!1;let n=this.view.state,r=wu(this.view,t);return this.view.state==n&&(t.domChanged||t.newSel&&!ps(this.view.state.selection,t.newSel.main))&&this.view.update([]),r}readMutation(e){let t=this.view.docView.tile.nearest(e.target);if(!t||t.isWidget())return null;if(t.markDirty(e.type=="attributes"),e.type=="childList"){let n=Vf(t,e.previousSibling||e.target.previousSibling,-1),r=Vf(t,e.nextSibling||e.target.nextSibling,1);return{from:n?t.posAfter(n):t.posAtStart,to:r?t.posBefore(r):t.posAtEnd,typeOver:!1}}else return e.type=="characterData"?{from:t.posAtStart,to:t.posAtEnd,typeOver:e.target.nodeValue==e.oldValue}:null}setWindow(e){e!=this.win&&(this.removeWindowListeners(this.win),this.win=e,this.addWindowListeners(this.win))}addWindowListeners(e){e.addEventListener("resize",this.onResize),this.printQuery?this.printQuery.addEventListener?this.printQuery.addEventListener("change",this.onPrint):this.printQuery.addListener(this.onPrint):e.addEventListener("beforeprint",this.onPrint),e.addEventListener("scroll",this.onScroll),e.document.addEventListener("selectionchange",this.onSelectionChange)}removeWindowListeners(e){e.removeEventListener("scroll",this.onScroll),e.removeEventListener("resize",this.onResize),this.printQuery?this.printQuery.removeEventListener?this.printQuery.removeEventListener("change",this.onPrint):this.printQuery.removeListener(this.onPrint):e.removeEventListener("beforeprint",this.onPrint),e.document.removeEventListener("selectionchange",this.onSelectionChange)}update(e){this.editContext&&(this.editContext.update(e),e.startState.facet(zt)!=e.state.facet(zt)&&(e.view.contentDOM.editContext=e.state.facet(zt)?this.editContext.editContext:null))}destroy(){var e,t,n;this.stop(),(e=this.intersection)===null||e===void 0||e.disconnect(),(t=this.gapIntersection)===null||t===void 0||t.disconnect(),(n=this.resizeScroll)===null||n===void 0||n.disconnect();for(let r of this.scrollTargets)r.removeEventListener("scroll",this.onScroll);this.removeWindowListeners(this.win),clearTimeout(this.parentCheck),clearTimeout(this.resizeTimeout),this.win.cancelAnimationFrame(this.delayedFlush),this.win.cancelAnimationFrame(this.flushingAndroidKey),this.editContext&&(this.view.contentDOM.editContext=null,this.editContext.destroy())}};function Vf(i,e,t){for(;e;){let n=fe.get(e);if(n&&n.parent==i)return n;let r=e.parentNode;e=r!=i.dom?r:t>0?e.nextSibling:e.previousSibling}return null}function Df(i,e){let t=e.startContainer,n=e.startOffset,r=e.endContainer,s=e.endOffset,o=i.docView.domAtPos(i.state.selection.main.anchor,1);return Nn(o.node,o.offset,r,s)&&([t,n,r,s]=[r,s,t,n]),{anchorNode:t,anchorOffset:n,focusNode:r,focusOffset:s}}function ZQ(i,e){if(e.getComposedRanges){let r=e.getComposedRanges(i.root)[0];if(r)return Df(i,r)}let t=null;function n(r){r.preventDefault(),r.stopImmediatePropagation(),t=r.getTargetRanges()[0]}return i.contentDOM.addEventListener("beforeinput",n,!0),i.dom.ownerDocument.execCommand("indent"),i.contentDOM.removeEventListener("beforeinput",n,!0),t?Df(i,t):null}var Da=class{constructor(e){this.from=0,this.to=0,this.pendingContextChange=null,this.handlers=Object.create(null),this.composing=null,this.resetRange(e.state);let t=this.editContext=new window.EditContext({text:e.state.doc.sliceString(this.from,this.to),selectionStart:this.toContextPos(Math.max(this.from,Math.min(this.to,e.state.selection.main.anchor))),selectionEnd:this.toContextPos(e.state.selection.main.head)});this.handlers.textupdate=n=>{let r=e.state.selection.main,{anchor:s,head:o}=r,a=this.toEditorPos(n.updateRangeStart),l=this.toEditorPos(n.updateRangeEnd);e.inputState.composing>=0&&!this.composing&&(this.composing={contextBase:n.updateRangeStart,editorBase:a,drifted:!1});let c=l-a>n.text.length;a==this.from&&sthis.to&&(l=s);let h=Pu(e.state.sliceDoc(a,l),n.text,(c?r.from:r.to)-a,c?"end":null);if(!h){let u=P.single(this.toEditorPos(n.selectionStart),this.toEditorPos(n.selectionEnd));ps(u,r)||e.dispatch({selection:u,userEvent:"select"});return}let f={from:h.from+a,to:h.toA+a,insert:K.of(n.text.slice(h.from,h.toB).split(` -`))};if((L.mac||L.android)&&f.from==o-1&&/^\. ?$/.test(n.text)&&e.contentDOM.getAttribute("autocorrect")=="off"&&(f={from:a,to:l,insert:K.of([n.text.replace("."," ")])}),this.pendingContextChange=f,!e.state.readOnly){let u=this.to-this.from+(f.to-f.from+f.insert.length);Ka(e,f,P.single(this.toEditorPos(n.selectionStart,u),this.toEditorPos(n.selectionEnd,u)))}this.pendingContextChange&&(this.revertPending(e.state),this.setSelection(e.state)),f.from=0&&!/[\\p{Alphabetic}\\p{Number}_]/.test(t.text.slice(Math.max(0,n.updateRangeStart-1),Math.min(t.text.length,n.updateRangeStart+1)))&&this.handlers.compositionend(n)},this.handlers.characterboundsupdate=n=>{let r=[],s=null;for(let o=this.toEditorPos(n.rangeStart),a=this.toEditorPos(n.rangeEnd);o{let r=[];for(let s of n.getTextFormats()){let o=s.underlineStyle,a=s.underlineThickness;if(!/none/i.test(o)&&!/none/i.test(a)){let l=this.toEditorPos(s.rangeStart),c=this.toEditorPos(s.rangeEnd);if(l{e.inputState.composing<0&&(e.inputState.composing=0,e.inputState.compositionFirstChange=!0)},this.handlers.compositionend=()=>{if(e.inputState.composing=-1,e.inputState.compositionFirstChange=null,this.composing){let{drifted:n}=this.composing;this.composing=null,n&&this.reset(e.state)}};for(let n in this.handlers)t.addEventListener(n,this.handlers[n]);this.measureReq={read:n=>{let r=nr(n.root);r&&r.rangeCount&&this.editContext.updateSelectionBounds(r.getRangeAt(0).getBoundingClientRect())}}}applyEdits(e){let t=0,n=!1,r=this.pendingContextChange;return e.changes.iterChanges((s,o,a,l,c)=>{if(n)return;let h=c.length-(o-s);if(r&&o>=r.to)if(r.from==s&&r.to==o&&r.insert.eq(c)){r=this.pendingContextChange=null,t+=h,this.to+=h;return}else r=null,this.revertPending(e.state);if(s+=t,o+=t,o<=this.from)this.from+=h,this.to+=h;else if(sthis.to||this.to-this.from+c.length>3e4){n=!0;return}this.editContext.updateText(this.toContextPos(s),this.toContextPos(o),c.toString()),this.to+=h}t+=h}),r&&!n&&this.revertPending(e.state),!n}update(e){let t=this.pendingContextChange,n=e.startState.selection.main;this.composing&&(this.composing.drifted||!e.changes.touchesRange(n.from,n.to)&&e.transactions.some(r=>!r.isUserEvent("input.type")&&r.changes.touchesRange(this.from,this.to)))?(this.composing.drifted=!0,this.composing.editorBase=e.changes.mapPos(this.composing.editorBase)):!this.applyEdits(e)||!this.rangeIsValid(e.state)?(this.pendingContextChange=null,this.reset(e.state)):(e.docChanged||e.selectionSet||t)&&this.setSelection(e.state),(e.geometryChanged||e.docChanged||e.selectionSet)&&e.view.requestMeasure(this.measureReq)}resetRange(e){let{head:t}=e.selection.main;this.from=Math.max(0,t-1e4),this.to=Math.min(e.doc.length,t+1e4)}reset(e){this.resetRange(e),this.editContext.updateText(0,this.editContext.text.length,e.doc.sliceString(this.from,this.to)),this.setSelection(e)}revertPending(e){let t=this.pendingContextChange;this.pendingContextChange=null,this.editContext.updateText(this.toContextPos(t.from),this.toContextPos(t.from+t.insert.length),e.doc.sliceString(t.from,t.to))}setSelection(e){let{main:t}=e.selection,n=this.toContextPos(Math.max(this.from,Math.min(this.to,t.anchor))),r=this.toContextPos(t.head);(this.editContext.selectionStart!=n||this.editContext.selectionEnd!=r)&&this.editContext.updateSelection(n,r)}rangeIsValid(e){let{head:t}=e.selection.main;return!(this.from>0&&t-this.from<500||this.to1e4*3)}toEditorPos(e,t=this.to-this.from){e=Math.min(e,t);let n=this.composing;return n&&n.drifted?n.editorBase+(e-n.contextBase):e+this.from}toContextPos(e){let t=this.composing;return t&&t.drifted?t.contextBase+(e-t.editorBase):e-this.from}destroy(){for(let e in this.handlers)this.editContext.removeEventListener(e,this.handlers[e])}},z=class i{get state(){return this.viewState.state}get viewport(){return this.viewState.viewport}get visibleRanges(){return this.viewState.visibleRanges}get inView(){return this.viewState.inView}get composing(){return!!this.inputState&&this.inputState.composing>0}get compositionStarted(){return!!this.inputState&&this.inputState.composing>=0}get root(){return this._root}get win(){return this.dom.ownerDocument.defaultView||window}constructor(e={}){var t;this.plugins=[],this.pluginMap=new Map,this.editorAttrs={},this.contentAttrs={},this.bidiCache=[],this.destroyed=!1,this.updateState=2,this.measureScheduled=-1,this.measureRequests=[],this.contentDOM=document.createElement("div"),this.scrollDOM=document.createElement("div"),this.scrollDOM.tabIndex=-1,this.scrollDOM.className="cm-scroller",this.scrollDOM.appendChild(this.contentDOM),this.announceDOM=document.createElement("div"),this.announceDOM.className="cm-announced",this.announceDOM.setAttribute("aria-live","polite"),this.dom=document.createElement("div"),this.dom.appendChild(this.announceDOM),this.dom.appendChild(this.scrollDOM),e.parent&&e.parent.appendChild(this.dom);let{dispatch:n}=e;this.dispatchTransactions=e.dispatchTransactions||n&&(r=>r.forEach(s=>n(s,this)))||(r=>this.update(r)),this.dispatch=this.dispatch.bind(this),this._root=e.root||P0(e.parent)||document,this.viewState=new Qs(this,e.state||re.create(e)),e.scrollTo&&e.scrollTo.is(Jr)&&(this.viewState.scrollTarget=e.scrollTo.value.clip(this.viewState.state)),this.plugins=this.state.facet(cn).map(r=>new Hn(r));for(let r of this.plugins)r.update(this);this.observer=new Va(this),this.inputState=new Ca(this),this.inputState.ensureHandlers(this.plugins),this.docView=new Os(this),this.mountStyles(),this.updateAttrs(),this.updateState=0,this.requestMeasure(),!((t=document.fonts)===null||t===void 0)&&t.ready&&document.fonts.ready.then(()=>{this.viewState.mustMeasureContent="refresh",this.requestMeasure()})}dispatch(...e){let t=e.length==1&&e[0]instanceof pe?e:e.length==1&&Array.isArray(e[0])?e[0]:[this.state.update(...e)];this.dispatchTransactions(t,this)}update(e){if(this.updateState!=0)throw new Error("Calls to EditorView.update are not allowed while an update is in progress");let t=!1,n=!1,r,s=this.state;for(let u of e){if(u.startState!=s)throw new RangeError("Trying to update state with a transaction that doesn't start from the previous state.");s=u.state}if(this.destroyed){this.viewState.state=s;return}let o=this.hasFocus,a=0,l=null;e.some(u=>u.annotation(_u))?(this.inputState.notifiedFocused=o,a=1):o!=this.inputState.notifiedFocused&&(this.inputState.notifiedFocused=o,l=Ru(s,o),l||(a=1));let c=this.observer.delayedAndroidKey,h=null;if(c?(this.observer.clearDelayedAndroidKey(),h=this.observer.readChange(),(h&&!this.state.doc.eq(s.doc)||!this.state.selection.eq(s.selection))&&(h=null)):this.observer.clear(),s.facet(re.phrases)!=this.state.facet(re.phrases))return this.setState(s);r=fs.create(this,s,e),r.flags|=a;let f=this.viewState.scrollTarget;try{this.updateState=2;for(let u of e){if(f&&(f=f.map(u.changes)),u.scrollIntoView){let{main:O}=u.state.selection,{x:p,y:m}=this.state.facet(i.cursorScrollMargin);f=new Fn(O.empty?O:P.cursor(O.head,O.head>O.anchor?-1:1),"nearest","nearest",m,p)}for(let O of u.effects)O.is(Jr)&&(f=O.value.clip(this.state))}this.viewState.update(r,f),this.bidiCache=bs.update(this.bidiCache,r.changes),r.empty||(this.updatePlugins(r),this.inputState.update(r)),t=this.docView.update(r),this.state.facet(In)!=this.styleModules&&this.mountStyles(),n=this.updateAttrs(),this.showAnnouncements(e),this.docView.updateSelection(t,e.some(u=>u.isUserEvent("select.pointer")))}finally{this.updateState=0}if(r.startState.facet(rs)!=r.state.facet(rs)&&(this.viewState.mustMeasureContent=!0),(t||n||f||this.viewState.mustEnforceCursorAssoc||this.viewState.mustMeasureContent)&&this.requestMeasure(),t&&this.docViewUpdate(),!r.empty)for(let u of this.state.facet(ma))try{u(r)}catch(O){lt(this.state,O,"update listener")}(l||h)&&Promise.resolve().then(()=>{l&&this.state==l.startState&&this.dispatch(l),h&&!wu(this,h)&&c.force&&un(this.contentDOM,c.key,c.keyCode)})}setState(e){if(this.updateState!=0)throw new Error("Calls to EditorView.setState are not allowed while an update is in progress");if(this.destroyed){this.viewState.state=e;return}this.updateState=2;let t=this.hasFocus;try{for(let n of this.plugins)n.destroy(this);this.viewState=new Qs(this,e),this.plugins=e.facet(cn).map(n=>new Hn(n)),this.pluginMap.clear();for(let n of this.plugins)n.update(this);this.docView.destroy(),this.docView=new Os(this),this.inputState.ensureHandlers(this.plugins),this.mountStyles(),this.updateAttrs(),this.bidiCache=[]}finally{this.updateState=0}t&&this.focus(),this.requestMeasure()}updatePlugins(e){let t=e.startState.facet(cn),n=e.state.facet(cn);if(t!=n){let r=[];for(let s of n){let o=t.indexOf(s);if(o<0)r.push(new Hn(s));else{let a=this.plugins[o];a.mustUpdate=e,r.push(a)}}for(let s of this.plugins)s.mustUpdate!=e&&s.destroy(this);this.plugins=r,this.pluginMap.clear()}else for(let r of this.plugins)r.mustUpdate=e;for(let r=0;r-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.observer.delayedAndroidKey){this.measureScheduled=-1,this.requestMeasure();return}this.measureScheduled=0,e&&this.observer.forceFlush();let t=null,n=this.viewState.scrollParent,r=this.viewState.getScrollOffset(),{scrollAnchorPos:s,scrollAnchorHeight:o}=this.viewState;Math.abs(r-this.viewState.scrollOffset)>1&&(o=-1),this.viewState.scrollAnchorHeight=-1;try{for(let a=0;;a++){if(o<0)if(Kf(n||this.win))s=-1,o=this.viewState.heightMap.height;else{let O=this.viewState.scrollAnchorAt(r);s=O.from,o=O.top}this.updateState=1;let l=this.viewState.measure();if(!l&&!this.measureRequests.length&&this.viewState.scrollTarget==null)break;if(a>5){console.warn(this.measureRequests.length?"Measure loop restarted more than 5 times":"Viewport failed to stabilize");break}let c=[];l&4||([this.measureRequests,c]=[c,this.measureRequests]);let h=c.map(O=>{try{return O.read(this)}catch(p){return lt(this.state,p),Yf}}),f=fs.create(this,this.state,[]),u=!1;f.flags|=l,t?t.flags|=l:t=f,this.updateState=2,f.empty||(this.updatePlugins(f),this.inputState.update(f),this.updateAttrs(),u=this.docView.update(f),u&&this.docViewUpdate());for(let O=0;O1||p<-1)&&!(L.ios&&this.inputState.lastIOSMomentumScroll>Date.now()-100)&&(n==this.scrollDOM||this.hasFocus||Math.max(this.inputState.lastWheelEvent,this.inputState.lastTouchTime)>Date.now()-100)){r=r+p,n?n.scrollTop+=p:this.win.scrollBy(0,p),o=-1;continue}}break}}}finally{this.updateState=0,this.measureScheduled=-1}if(t&&!t.empty)for(let a of this.state.facet(ma))a(t)}get themeClasses(){return Wa+" "+(this.state.facet(Ma)?Eu:Zu)+" "+this.state.facet(rs)}updateAttrs(){let e=If(this,pu,{class:"cm-editor"+(this.hasFocus?" cm-focused ":" ")+this.themeClasses}),t={spellcheck:"false",autocorrect:"off",autocapitalize:"off",writingsuggestions:"false",translate:"no",contenteditable:this.state.facet(zt)?"true":"false",class:"cm-content",style:`${L.tabSize}: ${this.state.tabSize}`,role:"textbox","aria-multiline":"true"};this.state.readOnly&&(t["aria-readonly"]="true"),If(this,Fa,t);let n=this.observer.ignore(()=>{let r=xf(this.contentDOM,this.contentAttrs,t),s=xf(this.dom,this.editorAttrs,e);return r||s});return this.editorAttrs=e,this.contentAttrs=t,n}showAnnouncements(e){let t=!0;for(let n of e)for(let r of n.effects)if(r.is(i.announce)){t&&(this.announceDOM.textContent=""),t=!1;let s=this.announceDOM.appendChild(document.createElement("div"));s.textContent=r.value}}mountStyles(){this.styleModules=this.state.facet(In);let e=this.state.facet(i.cspNonce);rt.mount(this.root,this.styleModules.concat(RQ).reverse(),e?{nonce:e}:void 0)}readMeasured(){if(this.updateState==2)throw new Error("Reading the editor layout isn't allowed during an update");this.updateState==0&&this.measureScheduled>-1&&this.measure(!1)}requestMeasure(e){if(this.measureScheduled<0&&(this.measureScheduled=this.win.requestAnimationFrame(()=>this.measure())),e){if(this.measureRequests.indexOf(e)>-1)return;if(e.key!=null){for(let t=0;tn.plugin==e)||null),t&&t.update(this).value}get documentTop(){return this.contentDOM.getBoundingClientRect().top+this.viewState.paddingTop}get documentPadding(){return{top:this.viewState.paddingTop,bottom:this.viewState.paddingBottom}}get scaleX(){return this.viewState.scaleX}get scaleY(){return this.viewState.scaleY}elementAtHeight(e){return this.readMeasured(),this.viewState.elementAtHeight(e)}lineBlockAtHeight(e){return this.readMeasured(),this.viewState.lineBlockAtHeight(e)}get viewportLineBlocks(){return this.viewState.viewportLines}lineBlockAt(e){return this.viewState.lineBlockAt(e)}get contentHeight(){return this.viewState.contentHeight}moveByChar(e,t,n){return sa(this,e,Cf(this,e,t,n))}moveByGroup(e,t){return sa(this,e,Cf(this,e,t,n=>iQ(this,e.head,n)))}visualLineSide(e,t){let n=this.bidiSpans(e),r=this.textDirectionAt(e.from),s=n[t?n.length-1:0];return P.cursor(s.side(t,r)+e.from,s.forward(!t,r)?1:-1)}moveToLineBoundary(e,t,n=!0){return tQ(this,e,t,n)}moveVertically(e,t,n){return sa(this,e,nQ(this,e,t,n))}domAtPos(e,t=1){return this.docView.domAtPos(e,t)}posAtDOM(e,t=0){return this.docView.posFromDOM(e,t)}posAtCoords(e,t=!0){this.readMeasured();let n=Pa(this,e,t);return n&&n.pos}posAndSideAtCoords(e,t=!0){return this.readMeasured(),Pa(this,e,t)}coordsAtPos(e,t=1){this.readMeasured();let n=this.state.doc.lineAt(e),r=this.bidiSpans(n),s=r[at.find(r,e-n.from,-1,t)];return this.docView.coordsAt(e,t,s.dir==ue.RTL)}coordsForChar(e){return this.readMeasured(),this.docView.coordsForChar(e)}get defaultCharacterWidth(){return this.viewState.heightOracle.charWidth}get defaultLineHeight(){return this.viewState.heightOracle.lineHeight}get textDirection(){return this.viewState.defaultTextDirection}textDirectionAt(e){return!this.state.facet(uu)||ethis.viewport.to?this.textDirection:(this.readMeasured(),this.docView.textDirectionAt(e))}get lineWrapping(){return this.viewState.heightOracle.lineWrapping}bidiSpans(e){if(e.length>EQ)return ru(e.length);let t=this.textDirectionAt(e.from),n;for(let s of this.bidiCache)if(s.from==e.from&&s.dir==t&&(s.fresh||nu(s.isolates,n=vf(this,e))))return s.order;n||(n=vf(this,e));let r=A0(e.text,t,n);return this.bidiCache.push(new bs(e.from,e.to,t,n,!0,r)),r}get hasFocus(){var e;return(this.dom.ownerDocument.hasFocus()||L.safari&&((e=this.inputState)===null||e===void 0?void 0:e.lastContextMenu)>Date.now()-3e4)&&this.root.activeElement==this.contentDOM}focus(){this.observer.ignore(()=>{Hf(this.contentDOM),this.docView.updateSelection()})}setRoot(e){this._root!=e&&(this._root=e,this.observer.setWindow((e.nodeType==9?e:e.ownerDocument).defaultView||window),this.mountStyles())}destroy(){this.root.activeElement==this.contentDOM&&this.contentDOM.blur();for(let e of this.plugins)e.destroy(this);this.plugins=[],this.inputState.destroy(),this.docView.destroy(),this.dom.remove(),this.observer.destroy(),this.measureScheduled>-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.destroyed=!0}static scrollIntoView(e,t={}){var n,r,s,o;return Jr.of(new Fn(typeof e=="number"?P.cursor(e):e,(n=t.y)!==null&&n!==void 0?n:"nearest",(r=t.x)!==null&&r!==void 0?r:"nearest",(s=t.yMargin)!==null&&s!==void 0?s:5,(o=t.xMargin)!==null&&o!==void 0?o:5))}scrollSnapshot(){let{scrollTop:e,scrollLeft:t}=this.scrollDOM,n=this.viewState.scrollAnchorAt(e);return Jr.of(new Fn(P.cursor(n.from),"start","start",n.top-e,t,!0))}setTabFocusMode(e){e==null?this.inputState.tabFocusMode=this.inputState.tabFocusMode<0?0:-1:typeof e=="boolean"?this.inputState.tabFocusMode=e?0:-1:this.inputState.tabFocusMode!=0&&(this.inputState.tabFocusMode=Date.now()+e)}static domEventHandlers(e){return De.define(()=>({}),{eventHandlers:e})}static domEventObservers(e){return De.define(()=>({}),{eventObservers:e})}static theme(e,t){let n=rt.newName(),r=[rs.of(n),In.of(ja(`.${n}`,e))];return t&&t.dark&&r.push(Ma.of(!0)),r}static baseTheme(e){return nt.lowest(In.of(ja("."+Wa,e,qu)))}static findFromDOM(e){var t;let n=e.querySelector(".cm-content"),r=n&&fe.get(n)||fe.get(e);return((t=r?.root)===null||t===void 0?void 0:t.view)||null}};z.styleModule=In;z.inputHandler=hu;z.clipboardInputFilter=Ga;z.clipboardOutputFilter=Na;z.scrollHandler=Ou;z.focusChangeEffect=fu;z.perLineTextDirection=uu;z.exceptionSink=cu;z.updateListener=ma;z.editable=zt;z.mouseSelectionStyle=lu;z.dragMovesSelection=au;z.clickAddsSelectionRange=ou;z.decorations=ys;z.blockWrappers=mu;z.outerDecorations=Ha;z.atomicRanges=sr;z.bidiIsolatedRanges=gu;z.cursorScrollMargin=Y.define({combine:i=>{let e=5,t=5;for(let n of i)typeof n=="number"?e=t=n:{x:e,y:t}=n;return{x:e,y:t}}});z.scrollMargins=Qu;z.darkTheme=Ma;z.cspNonce=Y.define({combine:i=>i.length?i[0]:""});z.contentAttributes=Fa;z.editorAttributes=pu;z.lineWrapping=z.contentAttributes.of({class:"cm-lineWrapping"});z.announce=ie.define();var EQ=4096,Yf={},bs=class i{constructor(e,t,n,r,s,o){this.from=e,this.to=t,this.dir=n,this.isolates=r,this.fresh=s,this.order=o}static update(e,t){if(t.empty&&!e.some(s=>s.fresh))return e;let n=[],r=e.length?e[e.length-1].dir:ue.LTR;for(let s=Math.max(0,e.length-10);s=0;r--){let s=n[r],o=typeof s=="function"?s(i):s;o&&Ia(o,t)}return t}var qQ=L.mac?"mac":L.windows?"win":L.linux?"linux":"key";function zQ(i,e){let t=i.split(/-(?!$)/),n=t[t.length-1];n=="Space"&&(n=" ");let r,s,o,a;for(let l=0;ln.concat(r),[]))),t}var ri=null,WQ=4e3;function jQ(i,e=qQ){let t=Object.create(null),n=Object.create(null),r=(o,a)=>{let l=n[o];if(l==null)n[o]=a;else if(l!=a)throw new Error("Key binding "+o+" is used both as a regular binding and as a multi-stroke prefix")},s=(o,a,l,c,h)=>{var f,u;let O=t[o]||(t[o]=Object.create(null)),p=a.split(/ (?!$)/).map(g=>zQ(g,e));for(let g=1;g{let x=ri={view:S,prefix:Q,scope:o};return setTimeout(()=>{ri==x&&(ri=null)},WQ),!0}]})}let m=p.join(" ");r(m,!1);let b=O[m]||(O[m]={preventDefault:!1,stopPropagation:!1,run:((u=(f=O._any)===null||f===void 0?void 0:f.run)===null||u===void 0?void 0:u.slice())||[]});l&&b.run.push(l),c&&(b.preventDefault=!0),h&&(b.stopPropagation=!0)};for(let o of i){let a=o.scope?o.scope.split(" "):["editor"];if(o.any)for(let c of a){let h=t[c]||(t[c]=Object.create(null));h._any||(h._any={preventDefault:!1,stopPropagation:!1,run:[]});let{any:f}=o;for(let u in h)h[u].run.push(O=>f(O,Ya))}let l=o[e]||o.key;if(l)for(let c of a)s(c,l,o.run,o.preventDefault,o.stopPropagation),o.shift&&s(c,"Shift-"+l,o.shift,o.preventDefault,o.stopPropagation)}return t}var Ya=null;function VQ(i,e,t,n){Ya=e;let r=bf(e),s=ni(r,0),o=on(s)==r.length&&r!=" ",a="",l=!1,c=!1,h=!1;ri&&ri.view==t&&ri.scope==n&&(a=ri.prefix+" ",$u.indexOf(e.keyCode)<0&&(c=!0,ri=null));let f=new Set,u=b=>{if(b){for(let g of b.run)if(!f.has(g)&&(f.add(g),g(t)))return b.stopPropagation&&(h=!0),!0;b.preventDefault&&(b.stopPropagation&&(h=!0),c=!0)}return!1},O=i[n],p,m;return O&&(u(O[a+ss(r,e,!o)])?l=!0:o&&(e.altKey||e.metaKey||e.ctrlKey)&&!(L.windows&&e.ctrlKey&&e.altKey)&&!(L.mac&&e.altKey&&!(e.ctrlKey||e.metaKey))&&(p=qt[e.keyCode])&&p!=r?(u(O[a+ss(p,e,!0)])||e.shiftKey&&(m=an[e.keyCode])!=r&&m!=p&&u(O[a+ss(m,e,!1)]))&&(l=!0):o&&e.shiftKey&&u(O[a+ss(r,e,!0)])&&(l=!0),!l&&u(O._any)&&(l=!0)),c&&(l=!0),l&&h&&e.stopPropagation(),Ya=null,l}var zu=ie.define({map(i,e){return i==null?null:e.mapPos(i)}}),Un=he.define({create(){return null},update(i,e){return i!=null&&(i=e.changes.mapPos(i)),e.effects.reduce((t,n)=>n.is(zu)?n.value:t,i)}}),DQ=De.fromClass(class{constructor(i){this.view=i,this.cursor=null,this.measureReq={read:this.readPos.bind(this),write:this.drawCursor.bind(this)}}update(i){var e;let t=i.state.field(Un);t==null?this.cursor!=null&&((e=this.cursor)===null||e===void 0||e.remove(),this.cursor=null):(this.cursor||(this.cursor=this.view.scrollDOM.appendChild(document.createElement("div")),this.cursor.className="cm-dropCursor"),(i.startState.field(Un)!=t||i.docChanged||i.geometryChanged)&&this.view.requestMeasure(this.measureReq))}readPos(){let{view:i}=this,e=i.state.field(Un),t=e!=null&&i.coordsAtPos(e);if(!t)return null;let n=i.scrollDOM.getBoundingClientRect();return{left:t.left-n.left+i.scrollDOM.scrollLeft*i.scaleX,top:t.top-n.top+i.scrollDOM.scrollTop*i.scaleY,height:t.bottom-t.top}}drawCursor(i){if(this.cursor){let{scaleX:e,scaleY:t}=this.view;i?(this.cursor.style.left=i.left/e+"px",this.cursor.style.top=i.top/t+"px",this.cursor.style.height=i.height/t+"px"):this.cursor.style.left="-100000px"}}destroy(){this.cursor&&this.cursor.remove()}setDropPos(i){this.view.state.field(Un)!=i&&this.view.dispatch({effects:zu.of(i)})}},{eventObservers:{dragover(i){this.setDropPos(this.view.posAtCoords({x:i.clientX,y:i.clientY}))},dragleave(i){(i.target==this.view.contentDOM||!this.view.contentDOM.contains(i.relatedTarget))&&this.setDropPos(null)},dragend(){this.setDropPos(null)},drop(){this.setDropPos(null)}}});function Lu(){return[Un,DQ]}var o$=/x/.unicode!=null?"gu":"g";var Wt=class extends it{compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}eq(e){return!1}destroy(e){}};Wt.prototype.elementClass="";Wt.prototype.toDOM=void 0;Wt.prototype.mapMode=ge.TrackBefore;Wt.prototype.startSide=Wt.prototype.endSide=-1;Wt.prototype.point=!0;var YQ=0,Ye=class{constructor(e,t){this.from=e,this.to=t}},I=class{constructor(e={}){this.id=YQ++,this.perNode=!!e.perNode,this.deserialize=e.deserialize||(()=>{throw new Error("This node type doesn't define a deserialize function")}),this.combine=e.combine||null}add(e){if(this.perNode)throw new RangeError("Can't add per-node props to node types");return typeof e!="function"&&(e=Oe.match(e)),t=>{let n=e(t);return n===void 0?null:[this,n]}}};I.closedBy=new I({deserialize:i=>i.split(" ")});I.openedBy=new I({deserialize:i=>i.split(" ")});I.group=new I({deserialize:i=>i.split(" ")});I.isolate=new I({deserialize:i=>{if(i&&i!="rtl"&&i!="ltr"&&i!="auto")throw new RangeError("Invalid value for isolate: "+i);return i||"auto"}});I.contextHash=new I({perNode:!0});I.lookAhead=new I({perNode:!0});I.mounted=new I({perNode:!0});var hi=class{constructor(e,t,n,r=!1){this.tree=e,this.overlay=t,this.parser=n,this.bracketed=r}static get(e){return e&&e.props&&e.props[I.mounted.id]}},IQ=Object.create(null),Oe=class i{constructor(e,t,n,r=0){this.name=e,this.props=t,this.id=n,this.flags=r}static define(e){let t=e.props&&e.props.length?Object.create(null):IQ,n=(e.top?1:0)|(e.skipped?2:0)|(e.error?4:0)|(e.name==null?8:0),r=new i(e.name||"",t,e.id,n);if(e.props){for(let s of e.props)if(Array.isArray(s)||(s=s(r)),s){if(s[0].perNode)throw new RangeError("Can't store a per-node prop on a node type");t[s[0].id]=s[1]}}return r}prop(e){return this.props[e.id]}get isTop(){return(this.flags&1)>0}get isSkipped(){return(this.flags&2)>0}get isError(){return(this.flags&4)>0}get isAnonymous(){return(this.flags&8)>0}is(e){if(typeof e=="string"){if(this.name==e)return!0;let t=this.prop(I.group);return t?t.indexOf(e)>-1:!1}return this.id==e}static match(e){let t=Object.create(null);for(let n in e)for(let r of n.split(" "))t[r]=e[n];return n=>{for(let r=n.prop(I.group),s=-1;s<(r?r.length:0);s++){let o=t[s<0?n.name:r[s]];if(o)return o}}}};Oe.none=new Oe("",Object.create(null),0,8);var jt=class i{constructor(e){this.types=e;for(let t=0;t0;for(let l=this.cursor(o|te.IncludeAnonymous);;){let c=!1;if(l.from<=s&&l.to>=r&&(!a&&l.type.isAnonymous||t(l)!==!1)){if(l.firstChild())continue;c=!0}for(;c&&n&&(a||!l.type.isAnonymous)&&n(l),!l.nextSibling();){if(!l.parent())return;c=!0}}}prop(e){return e.perNode?this.props?this.props[e.id]:void 0:this.type.prop(e)}get propValues(){let e=[];if(this.props)for(let t in this.props)e.push([+t,this.props[t]]);return e}balance(e={}){return this.children.length<=8?this:cl(Oe.none,this.children,this.positions,0,this.children.length,0,this.length,(t,n,r)=>new i(this.type,t,n,r,this.propValues),e.makeTree||((t,n,r)=>new i(Oe.none,t,n,r)))}static build(e){return UQ(e)}};F.empty=new F(Oe.none,[],[],0);var Ja=class i{constructor(e,t){this.buffer=e,this.index=t}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}get pos(){return this.index}next(){this.index-=4}fork(){return new i(this.buffer,this.index)}},fi=class i{constructor(e,t,n){this.buffer=e,this.length=t,this.set=n}get type(){return Oe.none}toString(){let e=[];for(let t=0;t0));l=o[l+3]);return a}slice(e,t,n){let r=this.buffer,s=new Uint16Array(t-e),o=0;for(let a=e,l=0;a=e&&te;case 1:return t<=e&&n>e;case 2:return n>e;case 4:return!0}}function or(i,e,t,n){for(var r;i.from==i.to||(t<1?i.from>=e:i.from>e)||(t>-1?i.to<=e:i.to0?a.length:-1;e!=c;e+=t){let h=a[e],f=l[e]+o.from,u;if(!(!(s&te.EnterBracketed&&h instanceof F&&(u=hi.get(h))&&!u.overlay&&u.bracketed&&n>=f&&n<=f+h.length)&&!Bu(r,n,f,f+h.length))){if(h instanceof fi){if(s&te.ExcludeBuffers)continue;let O=h.findChild(0,h.buffer.length,t,n-f,r);if(O>-1)return new qi(new tl(o,h,e,f),null,O)}else if(s&te.IncludeAnonymous||!h.type.isAnonymous||ll(h)){let O;if(!(s&te.IgnoreMounts)&&(O=hi.get(h))&&!O.overlay)return new i(O.tree,f,e,o);let p=new i(h,f,e,o);return s&te.IncludeAnonymous||!p.type.isAnonymous?p:p.nextChild(t<0?h.children.length-1:0,t,n,r,s)}}}if(s&te.IncludeAnonymous||!o.type.isAnonymous||(o.index>=0?e=o.index+t:e=t<0?-1:o._parent._tree.children.length,o=o._parent,!o))return null}}get firstChild(){return this.nextChild(0,1,0,4)}get lastChild(){return this.nextChild(this._tree.children.length-1,-1,0,4)}childAfter(e){return this.nextChild(0,1,e,2)}childBefore(e){return this.nextChild(this._tree.children.length-1,-1,e,-2)}prop(e){return this._tree.prop(e)}enter(e,t,n=0){let r;if(!(n&te.IgnoreOverlays)&&(r=hi.get(this._tree))&&r.overlay){let s=e-this.from,o=n&te.EnterBracketed&&r.bracketed;for(let{from:a,to:l}of r.overlay)if((t>0||o?a<=s:a=s:l>s))return new i(r.tree,r.overlay[0].from+this.from,-1,this)}return this.nextChild(0,1,e,t,n)}nextSignificantParent(){let e=this;for(;e.type.isAnonymous&&e._parent;)e=e._parent;return e}get parent(){return this._parent?this._parent.nextSignificantParent():null}get nextSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index+1,1,0,4):null}get prevSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index-1,-1,0,4):null}get tree(){return this._tree}toTree(){return this._tree}toString(){return this._tree.toString()}};function Wu(i,e,t,n){let r=i.cursor(),s=[];if(!r.firstChild())return s;if(t!=null){for(let o=!1;!o;)if(o=r.type.is(t),!r.nextSibling())return s}for(;;){if(n!=null&&r.type.is(n))return s;if(r.type.is(e)&&s.push(r.node),!r.nextSibling())return n==null?s:[]}}function el(i,e,t=e.length-1){for(let n=i;t>=0;n=n.parent){if(!n)return!1;if(!n.type.isAnonymous){if(e[t]&&e[t]!=n.name)return!1;t--}}return!0}var tl=class{constructor(e,t,n,r){this.parent=e,this.buffer=t,this.index=n,this.start=r}},qi=class i extends Ps{get name(){return this.type.name}get from(){return this.context.start+this.context.buffer.buffer[this.index+1]}get to(){return this.context.start+this.context.buffer.buffer[this.index+2]}constructor(e,t,n){super(),this.context=e,this._parent=t,this.index=n,this.type=e.buffer.set.types[e.buffer.buffer[n]]}child(e,t,n){let{buffer:r}=this.context,s=r.findChild(this.index+4,r.buffer[this.index+3],e,t-this.context.start,n);return s<0?null:new i(this.context,this,s)}get firstChild(){return this.child(1,0,4)}get lastChild(){return this.child(-1,0,4)}childAfter(e){return this.child(1,e,2)}childBefore(e){return this.child(-1,e,-2)}prop(e){return this.type.prop(e)}enter(e,t,n=0){if(n&te.ExcludeBuffers)return null;let{buffer:r}=this.context,s=r.findChild(this.index+4,r.buffer[this.index+3],t>0?1:-1,e-this.context.start,t);return s<0?null:new i(this.context,this,s)}get parent(){return this._parent||this.context.parent.nextSignificantParent()}externalSibling(e){return this._parent?null:this.context.parent.nextChild(this.context.index+e,e,0,4)}get nextSibling(){let{buffer:e}=this.context,t=e.buffer[this.index+3];return t<(this._parent?e.buffer[this._parent.index+3]:e.buffer.length)?new i(this.context,this._parent,t):this.externalSibling(1)}get prevSibling(){let{buffer:e}=this.context,t=this._parent?this._parent.index+4:0;return this.index==t?this.externalSibling(-1):new i(this.context,this._parent,e.findChild(t,this.index,-1,0,4))}get tree(){return null}toTree(){let e=[],t=[],{buffer:n}=this.context,r=this.index+4,s=n.buffer[this.index+3];if(s>r){let o=n.buffer[this.index+1];e.push(n.slice(r,s,o)),t.push(0)}return new F(this.type,e,t,this.to-this.from)}toString(){return this.context.buffer.childString(this.index)}};function Uu(i){if(!i.length)return null;let e=0,t=i[0];for(let s=1;st.from||o.to=e){let a=new Ie(o.tree,o.overlay[0].from+s.from,-1,s);(r||(r=[n])).push(or(a,e,t,!1))}}return r?Uu(r):n}var Qn=class{get name(){return this.type.name}constructor(e,t=0){if(this.buffer=null,this.stack=[],this.index=0,this.bufferNode=null,this.mode=t&~te.EnterBracketed,e instanceof Ie)this.yieldNode(e);else{this._tree=e.context.parent,this.buffer=e.context;for(let n=e._parent;n;n=n._parent)this.stack.unshift(n.index);this.bufferNode=e,this.yieldBuf(e.index)}}yieldNode(e){return e?(this._tree=e,this.type=e.type,this.from=e.from,this.to=e.to,!0):!1}yieldBuf(e,t){this.index=e;let{start:n,buffer:r}=this.buffer;return this.type=t||r.set.types[r.buffer[e]],this.from=n+r.buffer[e+1],this.to=n+r.buffer[e+2],!0}yield(e){return e?e instanceof Ie?(this.buffer=null,this.yieldNode(e)):(this.buffer=e.context,this.yieldBuf(e.index,e.type)):!1}toString(){return this.buffer?this.buffer.buffer.childString(this.index):this._tree.toString()}enterChild(e,t,n){if(!this.buffer)return this.yield(this._tree.nextChild(e<0?this._tree._tree.children.length-1:0,e,t,n,this.mode));let{buffer:r}=this.buffer,s=r.findChild(this.index+4,r.buffer[this.index+3],e,t-this.buffer.start,n);return s<0?!1:(this.stack.push(this.index),this.yieldBuf(s))}firstChild(){return this.enterChild(1,0,4)}lastChild(){return this.enterChild(-1,0,4)}childAfter(e){return this.enterChild(1,e,2)}childBefore(e){return this.enterChild(-1,e,-2)}enter(e,t,n=this.mode){return this.buffer?n&te.ExcludeBuffers?!1:this.enterChild(1,e,t):this.yield(this._tree.enter(e,t,n))}parent(){if(!this.buffer)return this.yieldNode(this.mode&te.IncludeAnonymous?this._tree._parent:this._tree.parent);if(this.stack.length)return this.yieldBuf(this.stack.pop());let e=this.mode&te.IncludeAnonymous?this.buffer.parent:this.buffer.parent.nextSignificantParent();return this.buffer=null,this.yieldNode(e)}sibling(e){if(!this.buffer)return this._tree._parent?this.yield(this._tree.index<0?null:this._tree._parent.nextChild(this._tree.index+e,e,0,4,this.mode)):!1;let{buffer:t}=this.buffer,n=this.stack.length-1;if(e<0){let r=n<0?0:this.stack[n]+4;if(this.index!=r)return this.yieldBuf(t.findChild(r,this.index,-1,0,4))}else{let r=t.buffer[this.index+3];if(r<(n<0?t.buffer.length:t.buffer[this.stack[n]+3]))return this.yieldBuf(r)}return n<0?this.yield(this.buffer.parent.nextChild(this.buffer.index+e,e,0,4,this.mode)):!1}nextSibling(){return this.sibling(1)}prevSibling(){return this.sibling(-1)}atLastNode(e){let t,n,{buffer:r}=this;if(r){if(e>0){if(this.index-1)for(let s=t+e,o=e<0?-1:n._tree.children.length;s!=o;s+=e){let a=n._tree.children[s];if(this.mode&te.IncludeAnonymous||a instanceof fi||!a.type.isAnonymous||ll(a))return!1}return!0}move(e,t){if(t&&this.enterChild(e,0,4))return!0;for(;;){if(this.sibling(e))return!0;if(this.atLastNode(e)||!this.parent())return!1}}next(e=!0){return this.move(1,e)}prev(e=!0){return this.move(-1,e)}moveTo(e,t=0){for(;(this.from==this.to||(t<1?this.from>=e:this.from>e)||(t>-1?this.to<=e:this.to=0;){for(let o=e;o;o=o._parent)if(o.index==r){if(r==this.index)return o;t=o,n=s+1;break e}r=this.stack[--s]}for(let r=n;r=0;s--){if(s<0)return el(this._tree,e,r);let o=n[t.buffer[this.stack[s]]];if(!o.isAnonymous){if(e[r]&&e[r]!=o.name)return!1;r--}}return!0}};function ll(i){return i.children.some(e=>e instanceof fi||!e.type.isAnonymous||ll(e))}function UQ(i){var e;let{buffer:t,nodeSet:n,maxBufferLength:r=1024,reused:s=[],minRepeatType:o=n.types.length}=i,a=Array.isArray(t)?new Ja(t,t.length):t,l=n.types,c=0,h=0;function f(v,$,R,_,W,T){let{id:k,start:w,end:C,size:j}=a,y=h,q=c;if(j<0)if(a.next(),j==-1){let N=s[k];R.push(N),_.push(w-v);return}else if(j==-3){c=k;return}else if(j==-4){h=k;return}else throw new RangeError(`Unrecognized record size: ${j}`);let de=l[k],Zt,X,G=w-v;if(C-w<=r&&(X=b(a.pos-$,W))){let N=new Uint16Array(X.size-X.skip),B=a.pos-X.size,se=N.length;for(;a.pos>B;)se=g(X.start,N,se);Zt=new fi(N,C-X.start,n),G=X.start-v}else{let N=a.pos-j;a.next();let B=[],se=[],H=k>=o?k:-1,be=0,Xe=C;for(;a.pos>N;)H>=0&&a.id==H&&a.size>=0?(a.end<=Xe-r&&(p(B,se,w,be,a.end,Xe,H,y,q),be=B.length,Xe=a.end),a.next()):T>2500?u(w,N,B,se):f(w,N,B,se,H,T+1);if(H>=0&&be>0&&be-1&&be>0){let ti=O(de,q);Zt=cl(de,B,se,0,B.length,0,C-w,ti,ti)}else Zt=m(de,B,se,C-w,y-C,q)}R.push(Zt),_.push(G)}function u(v,$,R,_){let W=[],T=0,k=-1;for(;a.pos>$;){let{id:w,start:C,end:j,size:y}=a;if(y>4)a.next();else{if(k>-1&&C=0;j-=3)w[y++]=W[j],w[y++]=W[j+1]-C,w[y++]=W[j+2]-C,w[y++]=y;R.push(new fi(w,W[2]-C,n)),_.push(C-v)}}function O(v,$){return(R,_,W)=>{let T=0,k=R.length-1,w,C;if(k>=0&&(w=R[k])instanceof F){if(!k&&w.type==v&&w.length==W)return w;(C=w.prop(I.lookAhead))&&(T=_[k]+w.length+C)}return m(v,R,_,W,T,$)}}function p(v,$,R,_,W,T,k,w,C){let j=[],y=[];for(;v.length>_;)j.push(v.pop()),y.push($.pop()+R-W);v.push(m(n.types[k],j,y,T-W,w-T,C)),$.push(W-R)}function m(v,$,R,_,W,T,k){if(T){let w=[I.contextHash,T];k=k?[w].concat(k):[w]}if(W>25){let w=[I.lookAhead,W];k=k?[w].concat(k):[w]}return new F(v,$,R,_,k)}function b(v,$){let R=a.fork(),_=0,W=0,T=0,k=R.end-r,w={size:0,start:0,skip:0};e:for(let C=R.pos-v;R.pos>C;){let j=R.size;if(R.id==$&&j>=0){w.size=_,w.start=W,w.skip=T,T+=4,_+=4,R.next();continue}let y=R.pos-j;if(j<0||y=o?4:0,de=R.start;for(R.next();R.pos>y;){if(R.size<0)if(R.size==-3||R.size==-4)q+=4;else break e;else R.id>=o&&(q+=4);R.next()}W=de,_+=j,T+=q}return($<0||_==v)&&(w.size=_,w.start=W,w.skip=T),w.size>4?w:void 0}function g(v,$,R){let{id:_,start:W,end:T,size:k}=a;if(a.next(),k>=0&&_4){let C=a.pos-(k-4);for(;a.pos>C;)R=g(v,$,R)}$[--R]=w,$[--R]=T-v,$[--R]=W-v,$[--R]=_}else k==-3?c=_:k==-4&&(h=_);return R}let Q=[],S=[];for(;a.pos>0;)f(i.start||0,i.bufferStart||0,Q,S,-1,0);let x=(e=i.length)!==null&&e!==void 0?e:Q.length?S[0]+Q[0].length:0;return new F(l[i.topID],Q.reverse(),S.reverse(),x)}var ju=new WeakMap;function ws(i,e){if(!i.isAnonymous||e instanceof fi||e.type!=i)return 1;let t=ju.get(e);if(t==null){t=1;for(let n of e.children){if(n.type!=i||!(n instanceof F)){t=1;break}t+=ws(i,n)}ju.set(e,t)}return t}function cl(i,e,t,n,r,s,o,a,l){let c=0;for(let p=n;p=h)break;$+=R}if(S==x+1){if($>h){let R=p[x];O(R.children,R.positions,0,R.children.length,m[x]+Q);continue}f.push(p[x])}else{let R=m[S-1]+p[S-1].length-v;f.push(cl(i,p,m,x,S,v,R,null,l))}u.push(v+Q-s)}}return O(e,t,n,r,0),(a||l)(f,u,o)}var ui=class{constructor(){this.map=new WeakMap}setBuffer(e,t,n){let r=this.map.get(e);r||this.map.set(e,r=new Map),r.set(t,n)}getBuffer(e,t){let n=this.map.get(e);return n&&n.get(t)}set(e,t){e instanceof qi?this.setBuffer(e.context.buffer,e.index,t):e instanceof Ie&&this.map.set(e.tree,t)}get(e){return e instanceof qi?this.getBuffer(e.context.buffer,e.index):e instanceof Ie?this.map.get(e.tree):void 0}cursorSet(e,t){e.buffer?this.setBuffer(e.buffer.buffer,e.index,t):this.map.set(e.tree,t)}cursorGet(e){return e.buffer?this.getBuffer(e.buffer.buffer,e.index):this.map.get(e.tree)}},Vt=class i{constructor(e,t,n,r,s=!1,o=!1){this.from=e,this.to=t,this.tree=n,this.offset=r,this.open=(s?1:0)|(o?2:0)}get openStart(){return(this.open&1)>0}get openEnd(){return(this.open&2)>0}static addTree(e,t=[],n=!1){let r=[new i(0,e.length,e,0,!1,n)];for(let s of t)s.to>e.length&&r.push(s);return r}static applyChanges(e,t,n=128){if(!t.length)return e;let r=[],s=1,o=e.length?e[0]:null;for(let a=0,l=0,c=0;;a++){let h=a=n)for(;o&&o.from=u.from||f<=u.to||c){let O=Math.max(u.from,l)-c,p=Math.min(u.to,f)-c;u=O>=p?null:new i(O,p,u.tree,u.offset+c,a>0,!!h)}if(u&&r.push(u),o.to>f)break;o=snew Ye(r.from,r.to)):[new Ye(0,0)]:[new Ye(0,e.length)],this.createParse(e,t||[],n)}parse(e,t,n){let r=this.startParse(e,t,n);for(;;){let s=r.advance();if(s)return s}}},nl=class{constructor(e){this.string=e}get length(){return this.string.length}chunk(e){return this.string.slice(e)}get lineChunks(){return!1}read(e,t){return this.string.slice(e,t)}};function bn(i){return(e,t,n,r)=>new ol(e,i,t,n,r)}var vs=class{constructor(e,t,n,r,s,o){this.parser=e,this.parse=t,this.overlay=n,this.bracketed=r,this.target=s,this.from=o}};function Vu(i){if(!i.length||i.some(e=>e.from>=e.to))throw new RangeError("Invalid inner parse ranges given: "+JSON.stringify(i))}var rl=class{constructor(e,t,n,r,s,o,a,l){this.parser=e,this.predicate=t,this.mounts=n,this.index=r,this.start=s,this.bracketed=o,this.target=a,this.prev=l,this.depth=0,this.ranges=[]}},sl=new I({perNode:!0}),ol=class{constructor(e,t,n,r,s){this.nest=t,this.input=n,this.fragments=r,this.ranges=s,this.inner=[],this.innerDone=0,this.baseTree=null,this.stoppedAt=null,this.baseParse=e}advance(){if(this.baseParse){let n=this.baseParse.advance();if(!n)return null;if(this.baseParse=null,this.baseTree=n,this.startInner(),this.stoppedAt!=null)for(let r of this.inner)r.parse.stopAt(this.stoppedAt)}if(this.innerDone==this.inner.length){let n=this.baseTree;return this.stoppedAt!=null&&(n=new F(n.type,n.children,n.positions,n.length,n.propValues.concat([[sl,this.stoppedAt]]))),n}let e=this.inner[this.innerDone],t=e.parse.advance();if(t){this.innerDone++;let n=Object.assign(Object.create(null),e.target.props);n[I.mounted.id]=new hi(t,e.overlay,e.parser,e.bracketed),e.target.props=n}return null}get parsedPos(){if(this.baseParse)return 0;let e=this.input.length;for(let t=this.innerDone;t=this.stoppedAt)a=!1;else if(e.hasNode(r)){if(t){let c=t.mounts.find(h=>h.frag.from<=r.from&&h.frag.to>=r.to&&h.mount.overlay);if(c)for(let h of c.mount.overlay){let f=h.from+c.pos,u=h.to+c.pos;f>=r.from&&u<=r.to&&!t.ranges.some(O=>O.fromf)&&t.ranges.push({from:f,to:u})}}a=!1}else if(n&&(o=GQ(n.ranges,r.from,r.to)))a=o!=2;else if(!r.type.isAnonymous&&(s=this.nest(r,this.input))&&(r.fromnew Ye(f.from-r.from,f.to-r.from)):null,!!s.bracketed,r.tree,h.length?h[0].from:r.from)),s.overlay?h.length&&(n={ranges:h,depth:0,prev:n}):a=!1}}else if(t&&(l=t.predicate(r))&&(l===!0&&(l=new Ye(r.from,r.to)),l.from=0&&t.ranges[c].to==l.from?t.ranges[c]={from:t.ranges[c].from,to:l.to}:t.ranges.push(l)}if(a&&r.firstChild())t&&t.depth++,n&&n.depth++;else for(;!r.nextSibling();){if(!r.parent())break e;if(t&&!--t.depth){let c=Yu(this.ranges,t.ranges);c.length&&(Vu(c),this.inner.splice(t.index,0,new vs(t.parser,t.parser.startParse(this.input,Iu(t.mounts,c),c),t.ranges.map(h=>new Ye(h.from-t.start,h.to-t.start)),t.bracketed,t.target,c[0].from))),t=t.prev}n&&!--n.depth&&(n=n.prev)}}}};function GQ(i,e,t){for(let n of i){if(n.from>=t)break;if(n.to>e)return n.from<=e&&n.to>=t?2:1}return 0}function Du(i,e,t,n,r,s){if(e=e&&t.enter(n,1,te.IgnoreOverlays|te.ExcludeBuffers)))if(t.to<=e)t.next(!1)||(this.done=!0);else break}hasNode(e){if(this.moveTo(e.from),!this.done&&this.cursor.from+this.offset==e.from&&this.cursor.tree)for(let t=this.cursor.tree;;){if(t==e.tree)return!0;if(t.children.length&&t.positions[0]==0&&t.children[0]instanceof F)t=t.children[0];else break}return!1}},al=class{constructor(e){var t;if(this.fragments=e,this.curTo=0,this.fragI=0,e.length){let n=this.curFrag=e[0];this.curTo=(t=n.tree.prop(sl))!==null&&t!==void 0?t:n.to,this.inner=new $s(n.tree,-n.offset)}else this.curFrag=this.inner=null}hasNode(e){for(;this.curFrag&&e.from>=this.curTo;)this.nextFrag();return this.curFrag&&this.curFrag.from<=e.from&&this.curTo>=e.to&&this.inner.hasNode(e)}nextFrag(){var e;if(this.fragI++,this.fragI==this.fragments.length)this.curFrag=this.inner=null;else{let t=this.curFrag=this.fragments[this.fragI];this.curTo=(e=t.tree.prop(sl))!==null&&e!==void 0?e:t.to,this.inner=new $s(t.tree,-t.offset)}}findMounts(e,t){var n;let r=[];if(this.inner){this.inner.cursor.moveTo(e,1);for(let s=this.inner.cursor.node;s;s=s.parent){let o=(n=s.tree)===null||n===void 0?void 0:n.prop(I.mounted);if(o&&o.parser==t)for(let a=this.fragI;a=s.to)break;l.tree==this.curFrag.tree&&r.push({frag:l,pos:s.from-l.offset,mount:o})}}}return r}};function Yu(i,e){let t=null,n=e;for(let r=1,s=0;r=a)break;l.to<=o||(t||(n=t=e.slice()),l.froma&&t.splice(s+1,0,new Ye(a,l.to))):l.to>a?t[s--]=new Ye(a,l.to):t.splice(s--,1))}}return n}function FQ(i,e,t,n){let r=0,s=0,o=!1,a=!1,l=-1e9,c=[];for(;;){let h=r==i.length?1e9:o?i[r].to:i[r].from,f=s==e.length?1e9:a?e[s].to:e[s].from;if(o!=a){let u=Math.max(l,t),O=Math.min(h,f,n);unew Ye(u.from+n,u.to+n)),f=FQ(e,h,l,c);for(let u=0,O=l;;u++){let p=u==f.length,m=p?c:f[u].from;if(m>O&&t.push(new Vt(O,m,r.tree,-o,s.from>=O||s.openStart,s.to<=m||s.openEnd)),p)break;O=f[u].to}}else t.push(new Vt(l,c,r.tree,-o,s.from>=o||s.openStart,s.to<=a||s.openEnd))}return t}var HQ=0,Ke=class i{constructor(e,t,n,r){this.name=e,this.set=t,this.base=n,this.modified=r,this.id=HQ++}toString(){let{name:e}=this;for(let t of this.modified)t.name&&(e=`${t.name}(${e})`);return e}static define(e,t){let n=typeof e=="string"?e:"?";if(e instanceof i&&(t=e),t?.base)throw new Error("Can not derive from a modified tag");let r=new i(n,[],null,[]);if(r.set.push(r),t)for(let s of t.set)r.set.push(s);return r}static defineModifier(e){let t=new _s(e);return n=>n.modified.indexOf(t)>-1?n:_s.get(n.base||n,n.modified.concat(t).sort((r,s)=>r.id-s.id))}},KQ=0,_s=class i{constructor(e){this.name=e,this.instances=[],this.id=KQ++}static get(e,t){if(!t.length)return e;let n=t[0].instances.find(a=>a.base==e&&JQ(t,a.modified));if(n)return n;let r=[],s=new Ke(e.name,r,e,t);for(let a of t)a.instances.push(s);let o=eb(t);for(let a of e.set)if(!a.modified.length)for(let l of o)r.push(i.get(a,l));return s}};function JQ(i,e){return i.length==e.length&&i.every((t,n)=>t==e[n])}function eb(i){let e=[[]];for(let t=0;tn.length-t.length)}function Qe(i){let e=Object.create(null);for(let t in i){let n=i[t];Array.isArray(n)||(n=[n]);for(let r of t.split(" "))if(r){let s=[],o=2,a=r;for(let f=0;;){if(a=="..."&&f>0&&f+3==r.length){o=1;break}let u=/^"(?:[^"\\]|\\.)*?"|[^\/!]+/.exec(a);if(!u)throw new RangeError("Invalid path: "+r);if(s.push(u[0]=="*"?"":u[0][0]=='"'?JSON.parse(u[0]):u[0]),f+=u[0].length,f==r.length)break;let O=r[f++];if(f==r.length&&O=="!"){o=0;break}if(O!="/")throw new RangeError("Invalid path: "+r);a=r.slice(f)}let l=s.length-1,c=s[l];if(!c)throw new RangeError("Invalid path: "+r);let h=new Li(n,o,l>0?s.slice(0,l):null);e[c]=h.sort(e[c])}}return Fu.add(e)}var Fu=new I({combine(i,e){let t,n,r;for(;i||e;){if(!i||e&&i.depth>=e.depth?(r=e,e=e.next):(r=i,i=i.next),t&&t.mode==r.mode&&!r.context&&!t.context)continue;let s=new Li(r.tags,r.mode,r.context);t?t.next=s:n=s,t=s}return n}}),Li=class{constructor(e,t,n,r){this.tags=e,this.mode=t,this.context=n,this.next=r}get opaque(){return this.mode==0}get inherit(){return this.mode==1}sort(e){return!e||e.depth{let o=r;for(let a of s)for(let l of a.set){let c=t[l.id];if(c){o=o?o+" "+c:c;break}}return o},scope:n}}function tb(i,e){let t=null;for(let n of i){let r=n.style(e);r&&(t=t?t+" "+r:r)}return t}function Rs(i,e,t,n=0,r=i.length){let s=new fl(n,Array.isArray(e)?e:[e],t);s.highlightRange(i.cursor(),n,r,"",s.highlighters),s.flush(r)}var fl=class{constructor(e,t,n){this.at=e,this.highlighters=t,this.span=n,this.class=""}startSpan(e,t){t!=this.class&&(this.flush(e),e>this.at&&(this.at=e),this.class=t)}flush(e){e>this.at&&this.class&&this.span(this.at,e,this.class)}highlightRange(e,t,n,r,s){let{type:o,from:a,to:l}=e;if(a>=n||l<=t)return;o.isTop&&(s=this.highlighters.filter(O=>!O.scope||O.scope(o)));let c=r,h=ib(e)||Li.empty,f=tb(s,h.tags);if(f&&(c&&(c+=" "),c+=f,h.mode==1&&(r+=(r?" ":"")+f)),this.startSpan(Math.max(t,a),c),h.opaque)return;let u=e.tree&&e.tree.prop(I.mounted);if(u&&u.overlay){let O=e.node.enter(u.overlay[0].from+a,1),p=this.highlighters.filter(b=>!b.scope||b.scope(u.tree.type)),m=e.firstChild();for(let b=0,g=a;;b++){let Q=b=S||!e.nextSibling())););if(!Q||S>n)break;g=Q.to+a,g>t&&(this.highlightRange(O.cursor(),Math.max(t,Q.from+a),Math.min(n,g),"",p),this.startSpan(Math.min(n,g),c))}m&&e.parent()}else if(e.firstChild()){u&&(r="");do if(!(e.to<=t)){if(e.from>=n)break;this.highlightRange(e,t,n,r,s),this.startSpan(Math.min(n,e.to),c)}while(e.nextSibling());e.parent()}}};function ib(i){let e=i.type.prop(Fu);for(;e&&e.context&&!i.matchContext(e.context);)e=e.next;return e||null}var E=Ke.define,Ts=E(),Oi=E(),Gu=E(Oi),Nu=E(Oi),di=E(),Cs=E(di),hl=E(di),_t=E(),zi=E(_t),Ct=E(),Xt=E(),ul=E(),ar=E(ul),Xs=E(),d={comment:Ts,lineComment:E(Ts),blockComment:E(Ts),docComment:E(Ts),name:Oi,variableName:E(Oi),typeName:Gu,tagName:E(Gu),propertyName:Nu,attributeName:E(Nu),className:E(Oi),labelName:E(Oi),namespace:E(Oi),macroName:E(Oi),literal:di,string:Cs,docString:E(Cs),character:E(Cs),attributeValue:E(Cs),number:hl,integer:E(hl),float:E(hl),bool:E(di),regexp:E(di),escape:E(di),color:E(di),url:E(di),keyword:Ct,self:E(Ct),null:E(Ct),atom:E(Ct),unit:E(Ct),modifier:E(Ct),operatorKeyword:E(Ct),controlKeyword:E(Ct),definitionKeyword:E(Ct),moduleKeyword:E(Ct),operator:Xt,derefOperator:E(Xt),arithmeticOperator:E(Xt),logicOperator:E(Xt),bitwiseOperator:E(Xt),compareOperator:E(Xt),updateOperator:E(Xt),definitionOperator:E(Xt),typeOperator:E(Xt),controlOperator:E(Xt),punctuation:ul,separator:E(ul),bracket:ar,angleBracket:E(ar),squareBracket:E(ar),paren:E(ar),brace:E(ar),content:_t,heading:zi,heading1:E(zi),heading2:E(zi),heading3:E(zi),heading4:E(zi),heading5:E(zi),heading6:E(zi),contentSeparator:E(_t),list:E(_t),quote:E(_t),emphasis:E(_t),strong:E(_t),link:E(_t),monospace:E(_t),strikethrough:E(_t),inserted:E(),deleted:E(),changed:E(),invalid:E(),meta:Xs,documentMeta:E(Xs),annotation:E(Xs),processingInstruction:E(Xs),definition:Ke.defineModifier("definition"),constant:Ke.defineModifier("constant"),function:Ke.defineModifier("function"),standard:Ke.defineModifier("standard"),local:Ke.defineModifier("local"),special:Ke.defineModifier("special")};for(let i in d){let e=d[i];e instanceof Ke&&(e.name=i)}var u$=Ol([{tag:d.link,class:"tok-link"},{tag:d.heading,class:"tok-heading"},{tag:d.emphasis,class:"tok-emphasis"},{tag:d.strong,class:"tok-strong"},{tag:d.keyword,class:"tok-keyword"},{tag:d.atom,class:"tok-atom"},{tag:d.bool,class:"tok-bool"},{tag:d.url,class:"tok-url"},{tag:d.labelName,class:"tok-labelName"},{tag:d.inserted,class:"tok-inserted"},{tag:d.deleted,class:"tok-deleted"},{tag:d.literal,class:"tok-literal"},{tag:d.string,class:"tok-string"},{tag:d.number,class:"tok-number"},{tag:[d.regexp,d.escape,d.special(d.string)],class:"tok-string2"},{tag:d.variableName,class:"tok-variableName"},{tag:d.local(d.variableName),class:"tok-variableName tok-local"},{tag:d.definition(d.variableName),class:"tok-variableName tok-definition"},{tag:d.special(d.variableName),class:"tok-variableName2"},{tag:d.definition(d.propertyName),class:"tok-propertyName tok-definition"},{tag:d.typeName,class:"tok-typeName"},{tag:d.namespace,class:"tok-namespace"},{tag:d.className,class:"tok-className"},{tag:d.macroName,class:"tok-macroName"},{tag:d.propertyName,class:"tok-propertyName"},{tag:d.operator,class:"tok-operator"},{tag:d.comment,class:"tok-comment"},{tag:d.meta,class:"tok-meta"},{tag:d.invalid,class:"tok-invalid"},{tag:d.punctuation,class:"tok-punctuation"}]);var dl,bt=new I;function kn(i){return Y.define({combine:i?e=>e.concat(i):void 0})}var qs=new I,xe=class{constructor(e,t,n=[],r=""){this.data=e,this.name=r,re.prototype.hasOwnProperty("tree")||Object.defineProperty(re.prototype,"tree",{get(){return U(this)}}),this.parser=t,this.extension=[Sn.of(this),re.languageData.of((s,o,a)=>{let l=Hu(s,o,a),c=l.type.prop(bt);if(!c)return[];let h=s.facet(c),f=l.type.prop(qs);if(f){let u=l.resolve(o-l.from,a);for(let O of f)if(O.test(u,s)){let p=s.facet(O.facet);return O.type=="replace"?p:p.concat(h)}}return h})].concat(n)}isActiveAt(e,t,n=-1){return Hu(e,t,n).type.prop(bt)==this.data}findRegions(e){let t=e.facet(Sn);if(t?.data==this.data)return[{from:0,to:e.doc.length}];if(!t||!t.allowsNesting)return[];let n=[],r=(s,o)=>{if(s.prop(bt)==this.data){n.push({from:o,to:o+s.length});return}let a=s.prop(I.mounted);if(a){if(a.tree.prop(bt)==this.data){if(a.overlay)for(let l of a.overlay)n.push({from:l.from+o,to:l.to+o});else n.push({from:o,to:o+s.length});return}else if(a.overlay){let l=n.length;if(r(a.tree,a.overlay[0].from+o),n.length>l)return}}for(let l=0;ln.isTop?t:void 0)]}),e.name)}configure(e,t){return new i(this.data,this.parser.configure(e),t||this.name)}get allowsNesting(){return this.parser.hasWrappers()}};function U(i){let e=i.field(xe.state,!1);return e?e.tree:F.empty}function zs(i,e,t=50){var n;let r=(n=i.field(xe.state,!1))===null||n===void 0?void 0:n.context;if(!r)return null;let s=r.viewport;r.updateViewport({from:0,to:e});let o=r.isDone(e)||r.work(t,e)?r.tree:null;return r.updateViewport(s),o}function nO(i,e=i.doc.length){var t;return((t=i.field(xe.state,!1))===null||t===void 0?void 0:t.context.isDone(e))||!1}var Ql=class{constructor(e){this.doc=e,this.cursorPos=0,this.string="",this.cursor=e.iter()}get length(){return this.doc.length}syncTo(e){return this.string=this.cursor.next(e-this.cursorPos).value,this.cursorPos=e+this.string.length,this.cursorPos-this.string.length}chunk(e){return this.syncTo(e),this.string}get lineChunks(){return!0}read(e,t){let n=this.cursorPos-this.string.length;return e=this.cursorPos?this.doc.sliceString(e,t):this.string.slice(e-n,t-n)}},lr=null,Mi=class i{constructor(e,t,n=[],r,s,o,a,l){this.parser=e,this.state=t,this.fragments=n,this.tree=r,this.treeLen=s,this.viewport=o,this.skipped=a,this.scheduleOn=l,this.parse=null,this.tempSkipped=[]}static create(e,t,n){return new i(e,t,[],F.empty,0,n,[],null)}startParse(){return this.parser.startParse(new Ql(this.state.doc),this.fragments)}work(e,t){return t!=null&&t>=this.state.doc.length&&(t=void 0),this.tree!=F.empty&&this.isDone(t??this.state.doc.length)?(this.takeTree(),!0):this.withContext(()=>{var n;if(typeof e=="number"){let r=Date.now()+e;e=()=>Date.now()>r}for(this.parse||(this.parse=this.startParse()),t!=null&&(this.parse.stoppedAt==null||this.parse.stoppedAt>t)&&t=this.treeLen&&((this.parse.stoppedAt==null||this.parse.stoppedAt>e)&&this.parse.stopAt(e),this.withContext(()=>{for(;!(t=this.parse.advance()););}),this.treeLen=e,this.tree=t,this.fragments=this.withoutTempSkipped(Vt.addTree(this.tree,this.fragments,!0)),this.parse=null)}withContext(e){let t=lr;lr=this;try{return e()}finally{lr=t}}withoutTempSkipped(e){for(let t;t=this.tempSkipped.pop();)e=Ku(e,t.from,t.to);return e}changes(e,t){let{fragments:n,tree:r,treeLen:s,viewport:o,skipped:a}=this;if(this.takeTree(),!e.empty){let l=[];if(e.iterChangedRanges((c,h,f,u)=>l.push({fromA:c,toA:h,fromB:f,toB:u})),n=Vt.applyChanges(n,l),r=F.empty,s=0,o={from:e.mapPos(o.from,-1),to:e.mapPos(o.to,1)},this.skipped.length){a=[];for(let c of this.skipped){let h=e.mapPos(c.from,1),f=e.mapPos(c.to,-1);he.from&&(this.fragments=Ku(this.fragments,r,s),this.skipped.splice(n--,1))}return this.skipped.length>=t?!1:(this.reset(),!0)}reset(){this.parse&&(this.takeTree(),this.parse=null)}skipUntilInView(e,t){this.skipped.push({from:e,to:t})}static getSkippingParser(e){return new class extends Dt{createParse(t,n,r){let s=r[0].from,o=r[r.length-1].to;return{parsedPos:s,advance(){let l=lr;if(l){for(let c of r)l.tempSkipped.push(c);e&&(l.scheduleOn=l.scheduleOn?Promise.all([l.scheduleOn,e]):e)}return this.parsedPos=o,new F(Oe.none,[],[],o-s)},stoppedAt:null,stopAt(){}}}}}isDone(e){e=Math.min(e,this.state.doc.length);let t=this.fragments;return this.treeLen>=e&&t.length&&t[0].from==0&&t[0].to>=e}static get(){return lr}};function Ku(i,e,t){return Vt.applyChanges(i,[{fromA:e,toA:t,fromB:e,toB:t}])}var cr=class i{constructor(e){this.context=e,this.tree=e.tree}apply(e){if(!e.docChanged&&this.tree==this.context.tree)return this;let t=this.context.changes(e.changes,e.state),n=this.context.treeLen==e.startState.doc.length?void 0:Math.max(e.changes.mapPos(this.context.treeLen),t.viewport.to);return t.work(20,n)||t.takeTree(),new i(t)}static init(e){let t=Math.min(3e3,e.doc.length),n=Mi.create(e.facet(Sn).parser,e,{from:0,to:t});return n.work(20,t)||n.takeTree(),new i(n)}};xe.state=he.define({create:cr.init,update(i,e){for(let t of e.effects)if(t.is(xe.setState))return t.value;return e.startState.facet(Sn)!=e.state.facet(Sn)?cr.init(e.state):i.apply(e)}});var rO=i=>{let e=setTimeout(()=>i(),500);return()=>clearTimeout(e)};typeof requestIdleCallback<"u"&&(rO=i=>{let e=-1,t=setTimeout(()=>{e=requestIdleCallback(i,{timeout:400})},100);return()=>e<0?clearTimeout(t):cancelIdleCallback(e)});var pl=typeof navigator<"u"&&(!((dl=navigator.scheduling)===null||dl===void 0)&&dl.isInputPending)?()=>navigator.scheduling.isInputPending():null,nb=De.fromClass(class{constructor(e){this.view=e,this.working=null,this.workScheduled=0,this.chunkEnd=-1,this.chunkBudget=-1,this.work=this.work.bind(this),this.scheduleWork()}update(e){let t=this.view.state.field(xe.state).context;(t.updateViewport(e.view.viewport)||this.view.viewport.to>t.treeLen)&&this.scheduleWork(),(e.docChanged||e.selectionSet)&&(this.view.hasFocus&&(this.chunkBudget+=50),this.scheduleWork()),this.checkAsyncSchedule(t)}scheduleWork(){if(this.working)return;let{state:e}=this.view,t=e.field(xe.state);(t.tree!=t.context.tree||!t.context.isDone(e.doc.length))&&(this.working=rO(this.work))}work(e){this.working=null;let t=Date.now();if(this.chunkEndr+1e3,l=s.context.work(()=>pl&&pl()||Date.now()>o,r+(a?0:1e5));this.chunkBudget-=Date.now()-t,(l||this.chunkBudget<=0)&&(s.context.takeTree(),this.view.dispatch({effects:xe.setState.of(new cr(s.context))})),this.chunkBudget>0&&!(l&&!a)&&this.scheduleWork(),this.checkAsyncSchedule(s.context)}checkAsyncSchedule(e){e.scheduleOn&&(this.workScheduled++,e.scheduleOn.then(()=>this.scheduleWork()).catch(t=>lt(this.view.state,t)).then(()=>this.workScheduled--),e.scheduleOn=null)}destroy(){this.working&&this.working()}isWorking(){return!!(this.working||this.workScheduled>0)}},{eventHandlers:{focus(){this.scheduleWork()}}}),Sn=Y.define({combine(i){return i.length?i[0]:null},enables:i=>[xe.state,nb,z.contentAttributes.compute([i],e=>{let t=e.facet(i);return t&&t.name?{"data-language":t.name}:{}})]}),me=class{constructor(e,t=[]){this.language=e,this.support=t,this.extension=[e,t]}},Be=class i{constructor(e,t,n,r,s,o=void 0){this.name=e,this.alias=t,this.extensions=n,this.filename=r,this.loadFunc=s,this.support=o,this.loading=null}load(){return this.loading||(this.loading=this.loadFunc().then(e=>this.support=e,e=>{throw this.loading=null,e}))}static of(e){let{load:t,support:n}=e;if(!t){if(!n)throw new RangeError("Must pass either 'load' or 'support' to LanguageDescription.of");t=()=>Promise.resolve(n)}return new i(e.name,(e.alias||[]).concat(e.name).map(r=>r.toLowerCase()),e.extensions||[],e.filename,t,n)}static matchFilename(e,t){for(let r of e)if(r.filename&&r.filename.test(t))return r;let n=/\.([^.]+)$/.exec(t);if(n){for(let r of e)if(r.extensions.indexOf(n[1])>-1)return r}return null}static matchLanguageName(e,t,n=!0){t=t.toLowerCase();for(let r of e)if(r.alias.some(s=>s==t))return r;if(n)for(let r of e)for(let s of r.alias){let o=t.indexOf(s);if(o>-1&&(s.length>2||!/\w/.test(t[o-1])&&!/\w/.test(t[o+s.length])))return r}return null}},rb=Y.define(),Rt=Y.define({combine:i=>{if(!i.length)return" ";let e=i[0];if(!e||/\S/.test(e)||Array.from(e).some(t=>t!=e[0]))throw new Error("Invalid indent unit: "+JSON.stringify(i[0]));return e}});function pi(i){let e=i.facet(Rt);return e.charCodeAt(0)==9?i.tabSize*e.length:e.length}function fr(i,e){let t="",n=i.tabSize,r=i.facet(Rt)[0];if(r==" "){for(;e>=n;)t+=" ",e-=n;r=" "}for(let s=0;s=e?sb(i,t,e):null}var Wi=class{constructor(e,t={}){this.state=e,this.options=t,this.unit=pi(e)}lineAt(e,t=1){let n=this.state.doc.lineAt(e),{simulateBreak:r,simulateDoubleBreak:s}=this.options;return r!=null&&r>=n.from&&r<=n.to?s&&r==e?{text:"",from:e}:(t<0?r-1&&(s+=o-this.countColumn(n,n.search(/\S|$/))),s}countColumn(e,t=e.length){return Fe(e,this.state.tabSize,t)}lineIndent(e,t=1){let{text:n,from:r}=this.lineAt(e,t),s=this.options.overrideIndentation;if(s){let o=s(r);if(o>-1)return o}return this.countColumn(n,n.search(/\S|$/))}get simulatedBreak(){return this.options.simulateBreak||null}},we=new I;function sb(i,e,t){let n=e.resolveStack(t),r=e.resolveInner(t,-1).resolve(t,0).enterUnfinishedNodesBefore(t);if(r!=n.node){let s=[];for(let o=r;o&&!(o.fromn.node.to||o.from==n.node.from&&o.type==n.node.type);o=o.parent)s.push(o);for(let o=s.length-1;o>=0;o--)n={node:s[o],next:n}}return sO(n,i,t)}function sO(i,e,t){for(let n=i;n;n=n.next){let r=ab(n.node);if(r)return r(bl.create(e,t,n))}return 0}function ob(i){return i.pos==i.options.simulateBreak&&i.options.simulateDoubleBreak}function ab(i){let e=i.type.prop(we);if(e)return e;let t=i.firstChild,n;if(t&&(n=t.type.prop(I.closedBy))){let r=i.lastChild,s=r&&n.indexOf(r.name)>-1;return o=>oO(o,!0,1,void 0,s&&!ob(o)?r.from:void 0)}return i.parent==null?lb:null}function lb(){return 0}var bl=class i extends Wi{constructor(e,t,n){super(e.state,e.options),this.base=e,this.pos=t,this.context=n}get node(){return this.context.node}static create(e,t,n){return new i(e,t,n)}get textAfter(){return this.textAfterPos(this.pos)}get baseIndent(){return this.baseIndentFor(this.node)}baseIndentFor(e){let t=this.state.doc.lineAt(e.from);for(;;){let n=e.resolve(t.from);for(;n.parent&&n.parent.from==n.from;)n=n.parent;if(cb(n,e))break;t=this.state.doc.lineAt(n.from)}return this.lineIndent(t.from)}continue(){return sO(this.context.next,this.base,this.pos)}};function cb(i,e){for(let t=e;t;t=t.parent)if(i==t)return!0;return!1}function hb(i){let e=i.node,t=e.childAfter(e.from),n=e.lastChild;if(!t)return null;let r=i.options.simulateBreak,s=i.state.doc.lineAt(t.from),o=r==null||r<=s.from?s.to:Math.min(s.to,r);for(let a=t.to;;){let l=e.childAfter(a);if(!l||l==n)return null;if(!l.type.isSkipped){if(l.from>=o)return null;let c=/^ */.exec(s.text.slice(t.to-s.from))[0].length;return{from:t.from,to:t.to+c}}a=l.to}}function St({closing:i,align:e=!0,units:t=1}){return n=>oO(n,e,t,i)}function oO(i,e,t,n,r){let s=i.textAfter,o=s.match(/^\s*/)[0].length,a=n&&s.slice(o,o+n.length)==n||r==i.pos+o,l=e?hb(i):null;return l?a?i.column(l.from):i.column(l.to):i.baseIndent+(a?0:i.unit*t)}var aO=i=>i.baseIndent;function Yt({except:i,units:e=1}={}){return t=>{let n=i&&i.test(t.textAfter);return t.baseIndent+(n?0:e*t.unit)}}var lO=Y.define(),Te=new I;function ht(i){let e=i.firstChild,t=i.lastChild;return e&&e.toa.prop(bt)==o.data:o?a=>a==o:void 0,this.style=Ol(e.map(a=>({tag:a.tag,class:a.class||r(Object.assign({},a,{tag:null}))})),{all:s}).style,this.module=n?new rt(n):null,this.themeType=t.themeType}static define(e,t){return new i(e,t||{})}},Sl=Y.define(),cO=Y.define({combine(i){return i.length?[i[0]]:null}});function ml(i){let e=i.facet(Sl);return e.length?e:i.facet(cO)}function hO(i,e){let t=[fb],n;return i instanceof yn&&(i.module&&t.push(z.styleModule.of(i.module)),n=i.themeType),e?.fallback?t.push(cO.of(i)):n?t.push(Sl.computeN([z.darkTheme],r=>r.facet(z.darkTheme)==(n=="dark")?[i]:[])):t.push(Sl.of(i)),t}var yl=class{constructor(e){this.markCache=Object.create(null),this.tree=U(e.state),this.decorations=this.buildDeco(e,ml(e.state)),this.decoratedTo=e.viewport.to}update(e){let t=U(e.state),n=ml(e.state),r=n!=ml(e.startState),{viewport:s}=e.view,o=e.changes.mapPos(this.decoratedTo,1);t.length=s.to?(this.decorations=this.decorations.map(e.changes),this.decoratedTo=o):(t!=this.tree||e.viewportChanged||r)&&(this.tree=t,this.decorations=this.buildDeco(e.view,n),this.decoratedTo=s.to)}buildDeco(e,t){if(!t||!this.tree.length)return Z.none;let n=new Xi;for(let{from:r,to:s}of e.visibleRanges)Rs(this.tree,t,(o,a,l)=>{n.add(o,a,this.markCache[l]||(this.markCache[l]=Z.mark({class:l})))},r,s);return n.finish()}},fb=nt.high(De.fromClass(yl,{decorations:i=>i.decorations})),y$=yn.define([{tag:d.meta,color:"#404740"},{tag:d.link,textDecoration:"underline"},{tag:d.heading,textDecoration:"underline",fontWeight:"bold"},{tag:d.emphasis,fontStyle:"italic"},{tag:d.strong,fontWeight:"bold"},{tag:d.strikethrough,textDecoration:"line-through"},{tag:d.keyword,color:"#708"},{tag:[d.atom,d.bool,d.url,d.contentSeparator,d.labelName],color:"#219"},{tag:[d.literal,d.inserted],color:"#164"},{tag:[d.string,d.deleted],color:"#a11"},{tag:[d.regexp,d.escape,d.special(d.string)],color:"#e40"},{tag:d.definition(d.variableName),color:"#00f"},{tag:d.local(d.variableName),color:"#30a"},{tag:[d.typeName,d.namespace],color:"#085"},{tag:d.className,color:"#167"},{tag:[d.special(d.variableName),d.macroName],color:"#256"},{tag:d.definition(d.propertyName),color:"#00c"},{tag:d.comment,color:"#940"},{tag:d.invalid,color:"#f00"}]);var ub=1e4,Ob="()[]{}";var vl=new I;function kl(i,e,t){let n=i.prop(e<0?I.openedBy:I.closedBy);if(n)return n;if(i.name.length==1){let r=t.indexOf(i.name);if(r>-1&&r%2==(e<0?1:0))return[t[r+e]]}return null}function xl(i){let e=i.type.prop(vl);return e?e(i.node):i}function ji(i,e,t,n={}){let r=n.maxScanDistance||ub,s=n.brackets||Ob,o=U(i),a=o.resolveInner(e,t);for(let l=a;l;l=l.parent){let c=kl(l.type,t,s);if(c&&l.from0?e>=h.from&&eh.from&&e<=h.to))return db(i,e,t,l,h,c,s)}}return pb(i,e,t,o,a.type,r,s)}function db(i,e,t,n,r,s,o){let a=n.parent,l={from:r.from,to:r.to},c=0,h=a?.cursor();if(h&&(t<0?h.childBefore(n.from):h.childAfter(n.to)))do if(t<0?h.to<=n.from:h.from>=n.to){if(c==0&&s.indexOf(h.type.name)>-1&&h.from0)return null;let c={from:t<0?e-1:e,to:t>0?e+1:e},h=i.doc.iterRange(e,t>0?i.doc.length:0),f=0;for(let u=0;!h.next().done&&u<=s;){let O=h.value;t<0&&(u+=O.length);let p=e+u*t;for(let m=t>0?0:O.length-1,b=t>0?O.length:-1;m!=b;m+=t){let g=o.indexOf(O[m]);if(!(g<0||n.resolveInner(p+m,1).type!=r))if(g%2==0==t>0)f++;else{if(f==1)return{start:c,end:{from:p+m,to:p+m+1},matched:g>>1==l>>1};f--}}t>0&&(u+=O.length)}return h.done?{start:c,matched:!1}:null}function Ju(i,e,t,n=0,r=0){e==null&&(e=i.search(/[^\s\u00a0]/),e==-1&&(e=i.length));let s=r;for(let o=n;o=this.string.length}sol(){return this.pos==0}peek(){return this.string.charAt(this.pos)||void 0}next(){if(this.post}eatSpace(){let e=this.pos;for(;/[\s\u00a0]/.test(this.string.charAt(this.pos));)++this.pos;return this.pos>e}skipToEnd(){this.pos=this.string.length}skipTo(e){let t=this.string.indexOf(e,this.pos);if(t>-1)return this.pos=t,!0}backUp(e){this.pos-=e}column(){return this.lastColumnPosn?o.toLowerCase():o,s=this.string.substr(this.pos,e.length);return r(s)==r(e)?(t!==!1&&(this.pos+=e.length),!0):null}else{let r=this.string.slice(this.pos).match(e);return r&&r.index>0?null:(r&&t!==!1&&(this.pos+=r[0].length),r)}}current(){return this.string.slice(this.start,this.pos)}};function mb(i){return{name:i.name||"",token:i.token,blankLine:i.blankLine||(()=>{}),startState:i.startState||(()=>!0),copyState:i.copyState||gb,indent:i.indent||(()=>null),languageData:i.languageData||{},tokenTable:i.tokenTable||Tl,mergeTokens:i.mergeTokens!==!1}}function gb(i){if(typeof i!="object")return i;let e={};for(let t in i){let n=i[t];e[t]=n instanceof Array?n.slice():n}return e}var eO=new WeakMap,Zs=class i extends xe{constructor(e){let t=kn(e.languageData),n=mb(e),r,s=new class extends Dt{createParse(o,a,l){return new wl(r,o,a,l)}};super(t,s,[],e.name),this.topNode=yb(t,this),r=this,this.streamParser=n,this.stateAfter=new I({perNode:!0}),this.tokenTable=e.tokenTable?new Es(n.tokenTable):Sb}static define(e){return new i(e)}getIndent(e){let t,{overrideIndentation:n}=e.options;n&&(t=eO.get(e.state),t!=null&&t1e4)return null;for(;s=n&&t+e.length<=r&&e.prop(i.stateAfter);if(s)return{state:i.streamParser.copyState(s),pos:t+e.length};for(let o=e.children.length-1;o>=0;o--){let a=e.children[o],l=t+e.positions[o],c=a instanceof F&&l=e.length)return e;!r&&t==0&&e.type==i.topNode&&(r=!0);for(let s=e.children.length-1;s>=0;s--){let o=e.positions[s],a=e.children[s],l;if(ot&&$l(i,s.tree,0-s.offset,t,a),c;if(l&&l.pos<=n&&(c=fO(i,s.tree,t+s.offset,l.pos+s.offset,!1)))return{state:l.state,tree:c}}return{state:i.streamParser.startState(r?pi(r):4),tree:F.empty}}var wl=class{constructor(e,t,n,r){this.lang=e,this.input=t,this.fragments=n,this.ranges=r,this.stoppedAt=null,this.chunks=[],this.chunkPos=[],this.chunk=[],this.chunkReused=void 0,this.rangeIndex=0,this.to=r[r.length-1].to;let s=Mi.get(),o=r[0].from,{state:a,tree:l}=Qb(e,n,o,this.to,s?.state);this.state=a,this.parsedPos=this.chunkStart=o+l.length;for(let c=0;cc.from<=s.viewport.from&&c.to>=s.viewport.from)&&(this.state=this.lang.streamParser.startState(pi(s.state)),s.skipUntilInView(this.parsedPos,s.viewport.from),this.parsedPos=s.viewport.from),this.moveRangeIndex()}advance(){let e=Mi.get(),t=this.stoppedAt==null?this.to:Math.min(this.to,this.stoppedAt),n=Math.min(t,this.chunkStart+512);for(e&&(n=Math.min(n,e.viewport.to));this.parsedPos=t?this.finish():e&&this.parsedPos>=e.viewport.to?(e.skipUntilInView(this.parsedPos,t),this.finish()):null}stopAt(e){this.stoppedAt=e}lineAfter(e){let t=this.input.chunk(e);if(this.input.lineChunks)t==` +`){[e,t]=sn(this,e,t);let r="";for(let s=0,o=0;se&&s&&(r+=n),eo&&(r+=a.sliceString(e-o,t-o,n)),o=l+1}return r}flatten(e){for(let t of this.children)t.flatten(e)}scanIdentical(e,t){if(!(e instanceof i))return 0;let n=0,[r,s,o,a]=t>0?[0,0,this.children.length,e.children.length]:[this.children.length-1,e.children.length-1,-1,-1];for(;;r+=t,s+=t){if(r==o||s==a)return n;let l=this.children[r],c=e.children[s];if(l!=c)return n+l.scanIdentical(c,t);n+=l.length+1}}static from(e,t=e.reduce((n,r)=>n+r.length+1,-1)){let n=0;for(let O of e)n+=O.lines;if(n<32){let O=[];for(let p of e)p.flatten(O);return new Ge(O,t)}let r=Math.max(32,n>>5),s=r<<1,o=r>>1,a=[],l=0,c=-1,h=[];function f(O){let p;if(O.lines>s&&O instanceof i)for(let m of O.children)f(m);else O.lines>o&&(l>o||!l)?(u(),a.push(O)):O instanceof Ge&&l&&(p=h[h.length-1])instanceof Ge&&O.lines+p.lines<=32?(l+=O.lines,c+=O.length+1,h[h.length-1]=new Ge(p.text.concat(O.text),p.length+1+O.length)):(l+O.lines>r&&u(),l+=O.lines,c+=O.length+1,h.push(O))}function u(){l!=0&&(a.push(h.length==1?h[0]:i.from(h,c)),c=-1,l=h.length=0)}for(let O of e)f(O);return u(),a.length==1?a[0]:new i(a,t)}};K.empty=new Ge([""],0);function s0(i){let e=-1;for(let t of i)e+=t.length+1;return e}function Yr(i,e,t=0,n=1e9){for(let r=0,s=0,o=!0;s=t&&(l>n&&(a=a.slice(0,n-r)),r0?1:(e instanceof Ge?e.text.length:e.children.length)<<1]}nextInner(e,t){for(this.done=this.lineBreak=!1;;){let n=this.nodes.length-1,r=this.nodes[n],s=this.offsets[n],o=s>>1,a=r instanceof Ge?r.text.length:r.children.length;if(o==(t>0?a:0)){if(n==0)return this.done=!0,this.value="",this;t>0&&this.offsets[n-1]++,this.nodes.pop(),this.offsets.pop()}else if((s&1)==(t>0?0:1)){if(this.offsets[n]+=t,e==0)return this.lineBreak=!0,this.value=` +`,this;e--}else if(r instanceof Ge){let l=r.text[o+(t<0?-1:0)];if(this.offsets[n]+=t,l.length>Math.max(0,e))return this.value=e==0?l:t>0?l.slice(e):l.slice(0,l.length-e),this;e-=l.length}else{let l=r.children[o+(t<0?-1:0)];e>l.length?(e-=l.length,this.offsets[n]+=t):(t<0&&this.offsets[n]--,this.nodes.push(l),this.offsets.push(t>0?1:(l instanceof Ge?l.text.length:l.children.length)<<1))}}}next(e=0){return e<0&&(this.nextInner(-e,-this.dir),e=this.value.length),this.nextInner(e,this.dir)}},Ir=class{constructor(e,t,n){this.value="",this.done=!1,this.cursor=new Ci(e,t>n?-1:1),this.pos=t>n?e.length:0,this.from=Math.min(t,n),this.to=Math.max(t,n)}nextInner(e,t){if(t<0?this.pos<=this.from:this.pos>=this.to)return this.value="",this.done=!0,this;e+=Math.max(0,t<0?this.pos-this.to:this.from-this.pos);let n=t<0?this.pos-this.from:this.to-this.pos;e>n&&(e=n),n-=e;let{value:r}=this.cursor.next(e);return this.pos+=(r.length+e)*t,this.value=r.length<=n?r:t<0?r.slice(r.length-n):r.slice(0,n),this.done=!this.value,this}next(e=0){return e<0?e=Math.max(e,this.from-this.pos):e>0&&(e=Math.min(e,this.to-this.pos)),this.nextInner(e,this.cursor.dir)}get lineBreak(){return this.cursor.lineBreak&&this.value!=""}},Br=class{constructor(e){this.inner=e,this.afterBreak=!0,this.value="",this.done=!1}next(e=0){let{done:t,lineBreak:n,value:r}=this.inner.next(e);return t&&this.afterBreak?(this.value="",this.afterBreak=!1):t?(this.done=!0,this.value=""):n?this.afterBreak?this.value="":(this.afterBreak=!0,this.next()):(this.value=r,this.afterBreak=!1),this}get lineBreak(){return!1}};typeof Symbol<"u"&&(K.prototype[Symbol.iterator]=function(){return this.iter()},Ci.prototype[Symbol.iterator]=Ir.prototype[Symbol.iterator]=Br.prototype[Symbol.iterator]=function(){return this});var zo=class{constructor(e,t,n,r){this.from=e,this.to=t,this.number=n,this.text=r}get length(){return this.to-this.from}};function sn(i,e,t){return e=Math.max(0,Math.min(i.length,e)),[e,Math.max(e,Math.min(i.length,t))]}function ke(i,e,t=!0,n=!0){return Gh(i,e,t,n)}function o0(i){return i>=56320&&i<57344}function a0(i){return i>=55296&&i<56320}function si(i,e){let t=i.charCodeAt(e);if(!a0(t)||e+1==i.length)return t;let n=i.charCodeAt(e+1);return o0(n)?(t-55296<<10)+(n-56320)+65536:t}function rf(i){return i<=65535?String.fromCharCode(i):(i-=65536,String.fromCharCode((i>>10)+55296,(i&1023)+56320))}function on(i){return i<65536?1:2}var Lo=/\r\n?|\n/,ge=(function(i){return i[i.Simple=0]="Simple",i[i.TrackDel=1]="TrackDel",i[i.TrackBefore=2]="TrackBefore",i[i.TrackAfter=3]="TrackAfter",i})(ge||(ge={})),zt=class i{constructor(e){this.sections=e}get length(){let e=0;for(let t=0;te)return s+(e-r);s+=a}else{if(n!=ge.Simple&&c>=e&&(n==ge.TrackDel&&re||n==ge.TrackBefore&&re))return null;if(c>e||c==e&&t<0&&!a)return e==r||t<0?s:s+l;s+=l}r=c}if(e>r)throw new RangeError(`Position ${e} is out of range for changeset of length ${r}`);return s}touchesRange(e,t=e){for(let n=0,r=0;n=0&&r<=t&&a>=e)return rt?"cover":!0;r=a}return!1}toString(){let e="";for(let t=0;t=0?":"+r:"")}return e}toJSON(){return this.sections}static fromJSON(e){if(!Array.isArray(e)||e.length%2||e.some(t=>typeof t!="number"))throw new RangeError("Invalid JSON representation of ChangeDesc");return new i(e)}static create(e){return new i(e)}},qe=class i extends zt{constructor(e,t){super(e),this.inserted=t}apply(e){if(this.length!=e.length)throw new RangeError("Applying change set to a document with the wrong length");return Mo(this,(t,n,r,s,o)=>e=e.replace(r,r+(n-t),o),!1),e}mapDesc(e,t=!1){return Wo(this,e,t,!0)}invert(e){let t=this.sections.slice(),n=[];for(let r=0,s=0;r=0){t[r]=a,t[r+1]=o;let l=r>>1;for(;n.length0&&ri(n,t,s.text),s.forward(h),a+=h}let c=e[o++];for(;a>1].toJSON()))}return e}static of(e,t,n){let r=[],s=[],o=0,a=null;function l(h=!1){if(!h&&!r.length)return;ou||f<0||u>t)throw new RangeError(`Invalid change range ${f} to ${u} (in doc of length ${t})`);let p=O?typeof O=="string"?K.of(O.split(n||Lo)):O:K.empty,m=p.length;if(f==u&&m==0)return;fo&&Xe(r,f-o,-1),Xe(r,u-f,m),ri(s,r,p),o=u}}return c(e),l(!a),a}static empty(e){return new i(e?[e,-1]:[],[])}static fromJSON(e){if(!Array.isArray(e))throw new RangeError("Invalid JSON representation of ChangeSet");let t=[],n=[];for(let r=0;ra&&typeof o!="string"))throw new RangeError("Invalid JSON representation of ChangeSet");if(s.length==1)t.push(s[0],0);else{for(;n.length=0&&t<=0&&t==i[r+1]?i[r]+=e:r>=0&&e==0&&i[r]==0?i[r+1]+=t:n?(i[r]+=e,i[r+1]+=t):i.push(e,t)}function ri(i,e,t){if(t.length==0)return;let n=e.length-2>>1;if(n>1])),!(t||o==i.sections.length||i.sections[o+1]<0);)a=i.sections[o++],l=i.sections[o++];e(r,c,s,h,f),r=c,s=h}}}function Wo(i,e,t,n=!1){let r=[],s=n?[]:null,o=new Xi(i),a=new Xi(e);for(let l=-1;;){if(o.done&&a.len||a.done&&o.len)throw new Error("Mismatched change set lengths");if(o.ins==-1&&a.ins==-1){let c=Math.min(o.len,a.len);Xe(r,c,-1),o.forward(c),a.forward(c)}else if(a.ins>=0&&(o.ins<0||l==o.i||o.off==0&&(a.len=0&&l=0){let c=0,h=o.len;for(;h;)if(a.ins==-1){let f=Math.min(h,a.len);c+=f,h-=f,a.forward(f)}else if(a.ins==0&&a.lenl||o.ins>=0&&o.len>l)&&(a||n.length>c),s.forward2(l),o.forward(l)}}}}var Xi=class{constructor(e){this.set=e,this.i=0,this.next()}next(){let{sections:e}=this.set;this.i>1;return t>=e.length?K.empty:e[t]}textBit(e){let{inserted:t}=this.set,n=this.i-2>>1;return n>=t.length&&!e?K.empty:t[n].slice(this.off,e==null?void 0:this.off+e)}forward(e){e==this.len?this.next():(this.len-=e,this.off+=e)}forward2(e){this.ins==-1?this.forward(e):e==this.ins?this.next():(this.ins-=e,this.off+=e)}},vi=class i{constructor(e,t,n,r){this.from=e,this.to=t,this.flags=n,this.goalColumn=r}get anchor(){return this.flags&32?this.to:this.from}get head(){return this.flags&32?this.from:this.to}get empty(){return this.from==this.to}get assoc(){return this.flags&8?-1:this.flags&16?1:0}get undirectional(){return(this.flags&64)>0}get bidiLevel(){let e=this.flags&7;return e==7?null:e}map(e,t=-1){let n,r;return this.empty?n=r=e.mapPos(this.from,t):(n=e.mapPos(this.from,1),r=e.mapPos(this.to,-1)),n==this.from&&r==this.to?this:new i(n,r,this.flags,this.goalColumn)}extend(e,t=e,n=0){if(e<=this.anchor&&t>=this.anchor)return P.range(e,t,void 0,void 0,n);let r=Math.abs(e-this.anchor)>Math.abs(t-this.anchor)?e:t;return P.range(this.anchor,r,void 0,void 0,n)}eq(e,t=!1){return this.anchor==e.anchor&&this.head==e.head&&this.goalColumn==e.goalColumn&&(!t||!this.empty||this.assoc==e.assoc)}toJSON(){return{anchor:this.anchor,head:this.head}}static fromJSON(e){if(!e||typeof e.anchor!="number"||typeof e.head!="number")throw new RangeError("Invalid JSON representation for SelectionRange");return P.range(e.anchor,e.head)}static create(e,t,n,r){return new i(e,t,n,r)}},P=class i{constructor(e,t){this.ranges=e,this.mainIndex=t}map(e,t=-1){return e.empty?this:i.create(this.ranges.map(n=>n.map(e,t)),this.mainIndex)}eq(e,t=!1){if(this.ranges.length!=e.ranges.length||this.mainIndex!=e.mainIndex)return!1;for(let n=0;ne.toJSON()),main:this.mainIndex}}static fromJSON(e){if(!e||!Array.isArray(e.ranges)||typeof e.main!="number"||e.main>=e.ranges.length)throw new RangeError("Invalid JSON representation for EditorSelection");return new i(e.ranges.map(t=>vi.fromJSON(t)),e.main)}static single(e,t=e){return new i([i.range(e,t)],0)}static create(e,t=0){if(e.length==0)throw new RangeError("A selection needs at least one range");for(let n=0,r=0;rr.from-s.from),t=e.indexOf(n);for(let r=1;rs.head?i.range(l,a):i.range(a,l))}}return new i(e,t)}};function of(i,e){for(let t of i.ranges)if(t.to>e)throw new RangeError("Selection points outside of document")}var Fo=0,Y=class i{constructor(e,t,n,r,s){this.combine=e,this.compareInput=t,this.compare=n,this.isStatic=r,this.id=Fo++,this.default=e([]),this.extensions=typeof s=="function"?s(this):s}get reader(){return this}static define(e={}){return new i(e.combine||(t=>t),e.compareInput||((t,n)=>t===n),e.compare||(e.combine?(t,n)=>t===n:Ho),!!e.static,e.enables)}of(e){return new nn([],this,0,e)}compute(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new nn(e,this,1,t)}computeN(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new nn(e,this,2,t)}from(e,t){return t||(t=n=>n),this.compute([e],n=>t(n.field(e)))}};function Ho(i,e){return i==e||i.length==e.length&&i.every((t,n)=>t===e[n])}var nn=class{constructor(e,t,n,r){this.dependencies=e,this.facet=t,this.type=n,this.value=r,this.id=Fo++}dynamicSlot(e){var t;let n=this.value,r=this.facet.compareInput,s=this.id,o=e[s]>>1,a=this.type==2,l=!1,c=!1,h=[];for(let f of this.dependencies)f=="doc"?l=!0:f=="selection"?c=!0:(((t=e[f.id])!==null&&t!==void 0?t:1)&1)==0&&h.push(e[f.id]);return{create(f){return f.values[o]=n(f),1},update(f,u){if(l&&u.docChanged||c&&(u.docChanged||u.selection)||jo(f,h)){let O=n(f);if(a?!Jh(O,f.values[o],r):!r(O,f.values[o]))return f.values[o]=O,1}return 0},reconfigure:(f,u)=>{let O,p=u.config.address[s];if(p!=null){let m=Fr(u,p);if(this.dependencies.every(b=>b instanceof Y?u.facet(b)===f.facet(b):b instanceof he?u.field(b,!1)==f.field(b,!1):!0)||(a?Jh(O=n(f),m,r):r(O=n(f),m)))return f.values[o]=m,0}else O=n(f);return f.values[o]=O,1}}}get extension(){return this}};function Jh(i,e,t){if(i.length!=e.length)return!1;for(let n=0;ni[l.id]),r=t.map(l=>l.type),s=n.filter(l=>!(l&1)),o=i[e.id]>>1;function a(l){let c=[];for(let h=0;hn===r),e);return e.provide&&(t.provides=e.provide(t)),t}create(e){let t=e.facet(jr).find(n=>n.field==this);return(t?.create||this.createF)(e)}slot(e){let t=e[this.id]>>1;return{create:n=>(n.values[t]=this.create(n),1),update:(n,r)=>{let s=n.values[t],o=this.updateF(s,r);return this.compareF(s,o)?0:(n.values[t]=o,1)},reconfigure:(n,r)=>{let s=n.facet(jr),o=r.facet(jr),a;return(a=s.find(l=>l.field==this))&&a!=o.find(l=>l.field==this)?(n.values[t]=a.create(n),1):r.config.address[this.id]!=null?(n.values[t]=r.field(this),0):(n.values[t]=this.create(n),1)}}}init(e){return[this,jr.of({field:this,create:e})]}get extension(){return this}},$i={lowest:4,low:3,default:2,high:1,highest:0};function Mn(i){return e=>new Ur(e,i)}var nt={highest:Mn($i.highest),high:Mn($i.high),default:Mn($i.default),low:Mn($i.low),lowest:Mn($i.lowest)},Ur=class{constructor(e,t){this.inner=e,this.prec=t}get extension(){return this}},Gr=class i{of(e){return new jn(this,e)}reconfigure(e){return i.reconfigure.of({compartment:this,extension:e})}get(e){return e.config.compartments.get(this)}},jn=class{constructor(e,t){this.compartment=e,this.inner=t}get extension(){return this}},Nr=class i{constructor(e,t,n,r,s,o){for(this.base=e,this.compartments=t,this.dynamicSlots=n,this.address=r,this.staticValues=s,this.facets=o,this.statusTemplate=[];this.statusTemplate.length>1]}static resolve(e,t,n){let r=[],s=Object.create(null),o=new Map;for(let u of c0(e,t,o))u instanceof he?r.push(u):(s[u.facet.id]||(s[u.facet.id]=[])).push(u);let a=Object.create(null),l=[],c=[];for(let u of r)a[u.id]=c.length<<1,c.push(O=>u.slot(O));let h=n?.config.facets;for(let u in s){let O=s[u],p=O[0].facet,m=h&&h[u]||[];if(O.every(b=>b.type==0))if(a[p.id]=l.length<<1|1,Ho(m,O))l.push(n.facet(p));else{let b=p.combine(O.map(g=>g.value));l.push(n&&p.compare(b,n.facet(p))?n.facet(p):b)}else{for(let b of O)b.type==0?(a[b.id]=l.length<<1|1,l.push(b.value)):(a[b.id]=c.length<<1,c.push(g=>b.dynamicSlot(g)));a[p.id]=c.length<<1,c.push(b=>l0(b,p,O))}}let f=c.map(u=>u(a));return new i(e,o,f,a,l,s)}};function c0(i,e,t){let n=[[],[],[],[],[]],r=new Map;function s(o,a){let l=r.get(o);if(l!=null){if(l<=a)return;let c=n[l].indexOf(o);c>-1&&n[l].splice(c,1),o instanceof jn&&t.delete(o.compartment)}if(r.set(o,a),Array.isArray(o))for(let c of o)s(c,a);else if(o instanceof jn){if(t.has(o.compartment))throw new RangeError("Duplicate use of compartment in extensions");let c=e.get(o.compartment)||o.inner;t.set(o.compartment,c),s(c,a)}else if(o instanceof Ur)s(o.inner,o.prec);else if(o instanceof he)n[a].push(o),o.provides&&s(o.provides,a);else if(o instanceof nn)n[a].push(o),o.facet.extensions&&s(o.facet.extensions,$i.default);else{let c=o.extension;if(!c)throw new Error(`Unrecognized extension value in extension set (${o}).`);if(c==o)throw new Error(`Unrecognized extension value in extension set (${o}). This sometimes happens because multiple instances of @codemirror/state are loaded, breaking instanceof checks.`);s(c,a)}}return s(i,$i.default),n.reduce((o,a)=>o.concat(a))}function Wn(i,e){if(e&1)return 2;let t=e>>1,n=i.status[t];if(n==4)throw new Error("Cyclic dependency between fields and/or facets");if(n&2)return n;i.status[t]=4;let r=i.computeSlot(i,i.config.dynamicSlots[t]);return i.status[t]=2|r}function Fr(i,e){return e&1?i.config.staticValues[e>>1]:i.values[e>>1]}var af=Y.define(),Vo=Y.define({combine:i=>i.some(e=>e),static:!0}),lf=Y.define({combine:i=>i.length?i[0]:void 0,static:!0}),cf=Y.define(),hf=Y.define(),ff=Y.define(),uf=Y.define({combine:i=>i.length?i[0]:!1}),_e=class{constructor(e,t){this.type=e,this.value=t}static define(){return new Do}},Do=class{of(e){return new _e(this,e)}},Yo=class{constructor(e){this.map=e}of(e){return new te(this,e)}},te=class i{constructor(e,t){this.type=e,this.value=t}map(e){let t=this.type.map(this.value,e);return t===void 0?void 0:t==this.value?this:new i(this.type,t)}is(e){return this.type==e}static define(e={}){return new Yo(e.map||(t=>t))}static mapEffects(e,t){if(!e.length)return e;let n=[];for(let r of e){let s=r.map(t);s&&n.push(s)}return n}};te.reconfigure=te.define();te.appendConfig=te.define();var pe=class i{constructor(e,t,n,r,s,o){this.startState=e,this.changes=t,this.selection=n,this.effects=r,this.annotations=s,this.scrollIntoView=o,this._doc=null,this._state=null,n&&of(n,t.newLength),s.some(a=>a.type==i.time)||(this.annotations=s.concat(i.time.of(Date.now())))}static create(e,t,n,r,s,o){return new i(e,t,n,r,s,o)}get newDoc(){return this._doc||(this._doc=this.changes.apply(this.startState.doc))}get newSelection(){return this.selection||this.startState.selection.map(this.changes)}get state(){return this._state||this.startState.applyTransaction(this),this._state}annotation(e){for(let t of this.annotations)if(t.type==e)return t.value}get docChanged(){return!this.changes.empty}get reconfigured(){return this.startState.config!=this.state.config}isUserEvent(e){let t=this.annotation(i.userEvent);return!!(t&&(t==e||t.length>e.length&&t.slice(0,e.length)==e&&t[e.length]=="."))}};pe.time=_e.define();pe.userEvent=_e.define();pe.addToHistory=_e.define();pe.remote=_e.define();function h0(i,e){let t=[];for(let n=0,r=0;;){let s,o;if(n=i[n]))s=i[n++],o=i[n++];else if(r=0;r--){let s=n[r](i);s instanceof pe?i=s:Array.isArray(s)&&s.length==1&&s[0]instanceof pe?i=s[0]:i=df(e,rn(s),!1)}return i}function u0(i){let e=i.startState,t=e.facet(ff),n=i;for(let r=t.length-1;r>=0;r--){let s=t[r](i);s&&Object.keys(s).length&&(n=Of(n,Io(e,s,i.changes.newLength),!0))}return n==i?i:pe.create(e,i.changes,i.selection,n.effects,n.annotations,n.scrollIntoView)}var O0=[];function rn(i){return i==null?O0:Array.isArray(i)?i:[i]}var Ee=(function(i){return i[i.Word=0]="Word",i[i.Space=1]="Space",i[i.Other=2]="Other",i})(Ee||(Ee={})),d0=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/,Bo;try{Bo=new RegExp("[\\p{Alphabetic}\\p{Number}_]","u")}catch{}function p0(i){if(Bo)return Bo.test(i);for(let e=0;e"\x80"&&(t.toUpperCase()!=t.toLowerCase()||d0.test(t)))return!0}return!1}function m0(i){return e=>{if(!/\S/.test(e))return Ee.Space;if(p0(e))return Ee.Word;for(let t=0;t-1)return Ee.Word;return Ee.Other}}var se=class i{constructor(e,t,n,r,s,o){this.config=e,this.doc=t,this.selection=n,this.values=r,this.status=e.statusTemplate.slice(),this.computeSlot=s,o&&(o._state=this);for(let a=0;ar.set(c,l)),t=null),r.set(a.value.compartment,a.value.extension)):a.is(te.reconfigure)?(t=null,n=a.value):a.is(te.appendConfig)&&(t=null,n=rn(n).concat(a.value));let s;t?s=e.startState.values.slice():(t=Nr.resolve(n,r,this),s=new i(t,this.doc,this.selection,t.dynamicSlots.map(()=>null),(l,c)=>c.reconfigure(l,this),null).values);let o=e.startState.facet(Vo)?e.newSelection:e.newSelection.asSingle();new i(t,e.newDoc,o,s,(a,l)=>l.update(a,e),e)}replaceSelection(e){return typeof e=="string"&&(e=this.toText(e)),this.changeByRange(t=>({changes:{from:t.from,to:t.to,insert:e},range:P.cursor(t.from+e.length)}))}changeByRange(e){let t=this.selection,n=e(t.ranges[0]),r=this.changes(n.changes),s=[n.range],o=rn(n.effects);for(let a=1;ao.spec.fromJSON(a,l)))}}return i.create({doc:e.doc,selection:P.fromJSON(e.selection),extensions:t.extensions?r.concat([t.extensions]):r})}static create(e={}){let t=Nr.resolve(e.extensions||[],new Map),n=e.doc instanceof K?e.doc:K.of((e.doc||"").split(t.staticFacet(i.lineSeparator)||Lo)),r=e.selection?e.selection instanceof P?e.selection:P.single(e.selection.anchor,e.selection.head):P.single(0);return of(r,n.length),t.staticFacet(Vo)||(r=r.asSingle()),new i(t,n,r,t.dynamicSlots.map(()=>null),(s,o)=>o.create(s),null)}get tabSize(){return this.facet(i.tabSize)}get lineBreak(){return this.facet(i.lineSeparator)||` +`}get readOnly(){return this.facet(uf)}phrase(e,...t){for(let n of this.facet(i.phrases))if(Object.prototype.hasOwnProperty.call(n,e)){e=n[e];break}return t.length&&(e=e.replace(/\$(\$|\d*)/g,(n,r)=>{if(r=="$")return"$";let s=+(r||1);return!s||s>t.length?n:t[s-1]})),e}languageDataAt(e,t,n=-1){let r=[];for(let s of this.facet(af))for(let o of s(this,t,n))Object.prototype.hasOwnProperty.call(o,e)&&r.push(o[e]);return r}charCategorizer(e){let t=this.languageDataAt("wordChars",e);return m0(t.length?t[0]:"")}wordAt(e){let{text:t,from:n,length:r}=this.doc.lineAt(e),s=this.charCategorizer(e),o=e-n,a=e-n;for(;o>0;){let l=ke(t,o,!1);if(s(t.slice(l,o))!=Ee.Word)break;o=l}for(;ai.length?i[0]:4});se.lineSeparator=lf;se.readOnly=uf;se.phrases=Y.define({compare(i,e){let t=Object.keys(i),n=Object.keys(e);return t.length==n.length&&t.every(r=>i[r]==e[r])}});se.languageData=af;se.changeFilter=cf;se.transactionFilter=hf;se.transactionExtender=ff;Gr.reconfigure=te.define();function Yn(i,e,t={}){let n={};for(let r of i)for(let s of Object.keys(r)){let o=r[s],a=n[s];if(a===void 0)n[s]=o;else if(!(a===o||o===void 0))if(Object.hasOwnProperty.call(t,s))n[s]=t[s](a,o);else throw new Error("Config merge conflict for field "+s)}for(let r in e)n[r]===void 0&&(n[r]=e[r]);return n}var it=class{eq(e){return this==e}range(e,t=e){return Vn.create(e,t,this)}};it.prototype.startSide=it.prototype.endSide=0;it.prototype.point=!1;it.prototype.mapMode=ge.TrackDel;function Ko(i,e){return i==e||i.constructor==e.constructor&&i.eq(e)}var Vn=class i{constructor(e,t,n){this.from=e,this.to=t,this.value=n}static create(e,t,n){return new i(e,t,n)}};function Uo(i,e){return i.from-e.from||i.value.startSide-e.value.startSide}var Go=class i{constructor(e,t,n,r){this.from=e,this.to=t,this.value=n,this.maxPoint=r}get length(){return this.to[this.to.length-1]}findIndex(e,t,n,r=0){let s=n?this.to:this.from;for(let o=r,a=s.length;;){if(o==a)return o;let l=o+a>>1,c=s[l]-e||(n?this.value[l].endSide:this.value[l].startSide)-t;if(l==o)return c>=0?o:a;c>=0?a=l:o=l+1}}between(e,t,n,r){for(let s=this.findIndex(t,-1e9,!0),o=this.findIndex(n,1e9,!1,s);sO||u==O&&c.startSide>0&&c.endSide<=0)continue;(O-u||c.endSide-c.startSide)<0||(o<0&&(o=u),c.point&&(a=Math.max(a,O-u)),n.push(c),r.push(u-o),s.push(O-o))}return{mapped:n.length?new i(r,s,n,a):null,pos:o}}},ae=class i{constructor(e,t,n,r){this.chunkPos=e,this.chunk=t,this.nextLayer=n,this.maxPoint=r}static create(e,t,n,r){return new i(e,t,n,r)}get length(){let e=this.chunk.length-1;return e<0?0:Math.max(this.chunkEnd(e),this.nextLayer.length)}get size(){if(this.isEmpty)return 0;let e=this.nextLayer.size;for(let t of this.chunk)e+=t.value.length;return e}chunkEnd(e){return this.chunkPos[e]+this.chunk[e].length}update(e){let{add:t=[],sort:n=!1,filterFrom:r=0,filterTo:s=this.length}=e,o=e.filter;if(t.length==0&&!o)return this;if(n&&(t=t.slice().sort(Uo)),this.isEmpty)return t.length?i.of(t):this;let a=new Hr(this,null,-1).goto(0),l=0,c=[],h=new _i;for(;a.value||l=0){let f=t[l++];h.addInner(f.from,f.to,f.value)||c.push(f)}else a.rangeIndex==1&&a.chunkIndexthis.chunkEnd(a.chunkIndex)||sa.to||s=s&&e<=s+o.length&&o.between(s,e-s,t-s,n)===!1)return}this.nextLayer.between(e,t,n)}}iter(e=0){return Dn.from([this]).goto(e)}get isEmpty(){return this.nextLayer==this}static iter(e,t=0){return Dn.from(e).goto(t)}static compare(e,t,n,r,s=-1){let o=e.filter(f=>f.maxPoint>0||!f.isEmpty&&f.maxPoint>=s),a=t.filter(f=>f.maxPoint>0||!f.isEmpty&&f.maxPoint>=s),l=ef(o,a,n),c=new Ti(o,l,s),h=new Ti(a,l,s);n.iterGaps((f,u,O)=>tf(c,f,h,u,O,r)),n.empty&&n.length==0&&tf(c,0,h,0,0,r)}static eq(e,t,n=0,r){r==null&&(r=999999999);let s=e.filter(h=>!h.isEmpty&&t.indexOf(h)<0),o=t.filter(h=>!h.isEmpty&&e.indexOf(h)<0);if(s.length!=o.length)return!1;if(!s.length)return!0;let a=ef(s,o),l=new Ti(s,a,0).goto(n),c=new Ti(o,a,0).goto(n);for(;;){if(l.to!=c.to||!No(l.active,c.active)||l.point&&(!c.point||!Ko(l.point,c.point)))return!1;if(l.to>r)return!0;l.next(),c.next()}}static spans(e,t,n,r,s=-1){let o=new Ti(e,null,s).goto(t),a=t,l=o.openStart;for(;;){let c=Math.min(o.to,n);if(o.point){let h=o.activeForPoint(o.to),f=o.pointFroma&&(r.span(a,c,o.active,l),l=o.openEnd(c));if(o.to>n)return l+(o.point&&o.to>n?1:0);a=o.to,o.next()}}static of(e,t=!1){let n=new _i;for(let r of e instanceof Vn?[e]:t?g0(e):e)n.add(r.from,r.to,r.value);return n.finish()}static join(e){if(!e.length)return i.empty;let t=e[e.length-1];for(let n=e.length-2;n>=0;n--)for(let r=e[n];r!=i.empty;r=r.nextLayer)t=new i(r.chunkPos,r.chunk,t,Math.max(r.maxPoint,t.maxPoint));return t}};ae.empty=new ae([],[],null,-1);function g0(i){if(i.length>1)for(let e=i[0],t=1;t0)return i.slice().sort(Uo);e=n}return i}ae.empty.nextLayer=ae.empty;var _i=class i{finishChunk(e){this.chunks.push(new Go(this.from,this.to,this.value,this.maxPoint)),this.chunkPos.push(this.chunkStart),this.chunkStart=-1,this.setMaxPoint=Math.max(this.setMaxPoint,this.maxPoint),this.maxPoint=-1,e&&(this.from=[],this.to=[],this.value=[])}constructor(){this.chunks=[],this.chunkPos=[],this.chunkStart=-1,this.last=null,this.lastFrom=-1e9,this.lastTo=-1e9,this.from=[],this.to=[],this.value=[],this.maxPoint=-1,this.setMaxPoint=-1,this.nextLayer=null}add(e,t,n){this.addInner(e,t,n)||(this.nextLayer||(this.nextLayer=new i)).add(e,t,n)}addInner(e,t,n){let r=e-this.lastTo||n.startSide-this.last.endSide;if(r<=0&&(e-this.lastFrom||n.startSide-this.last.startSide)<0)throw new Error("Ranges must be added sorted by `from` position and `startSide`");return r<0?!1:(this.from.length==250&&this.finishChunk(!0),this.chunkStart<0&&(this.chunkStart=e),this.from.push(e-this.chunkStart),this.to.push(t-this.chunkStart),this.last=n,this.lastFrom=e,this.lastTo=t,this.value.push(n),n.point&&(this.maxPoint=Math.max(this.maxPoint,t-e)),!0)}addChunk(e,t){if((e-this.lastTo||t.value[0].startSide-this.last.endSide)<0)return!1;this.from.length&&this.finishChunk(!0),this.setMaxPoint=Math.max(this.setMaxPoint,t.maxPoint),this.chunks.push(t),this.chunkPos.push(e);let n=t.value.length-1;return this.last=t.value[n],this.lastFrom=t.from[n]+e,this.lastTo=t.to[n]+e,!0}finish(){return this.finishInner(ae.empty)}finishInner(e){if(this.from.length&&this.finishChunk(!1),this.chunks.length==0)return e;let t=ae.create(this.chunkPos,this.chunks,this.nextLayer?this.nextLayer.finishInner(e):e,this.setMaxPoint);return this.from=null,t}};function ef(i,e,t){let n=new Map;for(let s of i)for(let o=0;o=this.minPoint)break}}setRangeIndex(e){if(e==this.layer.chunk[this.chunkIndex].value.length){if(this.chunkIndex++,this.skip)for(;this.chunkIndex=n&&r.push(new Hr(o,t,n,s));return r.length==1?r[0]:new i(r)}get startSide(){return this.value?this.value.startSide:0}goto(e,t=-1e9){for(let n of this.heap)n.goto(e,t);for(let n=this.heap.length>>1;n>=0;n--)qo(this.heap,n);return this.next(),this}forward(e,t){for(let n of this.heap)n.forward(e,t);for(let n=this.heap.length>>1;n>=0;n--)qo(this.heap,n);(this.to-e||this.value.endSide-t)<0&&this.next()}next(){if(this.heap.length==0)this.from=this.to=1e9,this.value=null,this.rank=-1;else{let e=this.heap[0];this.from=e.from,this.to=e.to,this.value=e.value,this.rank=e.rank,e.value&&e.next(),qo(this.heap,0)}}};function qo(i,e){for(let t=i[e];;){let n=(e<<1)+1;if(n>=i.length)break;let r=i[n];if(n+1=0&&(r=i[n+1],n++),t.compare(r)<0)break;i[n]=t,i[e]=r,e=n}}var Ti=class{constructor(e,t,n){this.minPoint=n,this.active=[],this.activeTo=[],this.activeRank=[],this.minActive=-1,this.point=null,this.pointFrom=0,this.pointRank=0,this.to=-1e9,this.endSide=0,this.openStart=-1,this.cursor=Dn.from(e,t,n)}goto(e,t=-1e9){return this.cursor.goto(e,t),this.active.length=this.activeTo.length=this.activeRank.length=0,this.minActive=-1,this.to=e,this.endSide=t,this.openStart=-1,this.next(),this}forward(e,t){for(;this.minActive>-1&&(this.activeTo[this.minActive]-e||this.active[this.minActive].endSide-t)<0;)this.removeActive(this.minActive);this.cursor.forward(e,t)}removeActive(e){Vr(this.active,e),Vr(this.activeTo,e),Vr(this.activeRank,e),this.minActive=nf(this.active,this.activeTo)}addActive(e){let t=0,{value:n,to:r,rank:s}=this.cursor;for(;t0;)t++;Dr(this.active,t,n),Dr(this.activeTo,t,r),Dr(this.activeRank,t,s),e&&Dr(e,t,this.cursor.from),this.minActive=nf(this.active,this.activeTo)}next(){let e=this.to,t=this.point;this.point=null;let n=this.openStart<0?[]:null;for(;;){let r=this.minActive;if(r>-1&&(this.activeTo[r]-this.cursor.from||this.active[r].endSide-this.cursor.startSide)<0){if(this.activeTo[r]>e){this.to=this.activeTo[r],this.endSide=this.active[r].endSide;break}this.removeActive(r),n&&Vr(n,r)}else if(this.cursor.value)if(this.cursor.from>e){this.to=this.cursor.from,this.endSide=this.cursor.startSide;break}else{let s=this.cursor.value;if(!s.point)this.addActive(n),this.cursor.next();else if(t&&this.cursor.to==this.to&&this.cursor.from=0&&n[r]=0&&!(this.activeRank[n]e||this.activeTo[n]==e&&this.active[n].endSide>=this.point.endSide)&&t.push(this.active[n]);return t.reverse()}openEnd(e){let t=0;for(let n=this.activeTo.length-1;n>=0&&this.activeTo[n]>e;n--)t++;return t}};function tf(i,e,t,n,r,s){i.goto(e),t.goto(n);let o=n+r,a=n,l=n-e,c=!!s.boundChange;for(let h=!1;;){let f=i.to+l-t.to,u=f||i.endSide-t.endSide,O=u<0?i.to+l:t.to,p=Math.min(O,o);if(i.point||t.point?(i.point&&t.point&&Ko(i.point,t.point)&&No(i.activeForPoint(i.to),t.activeForPoint(t.to))||s.comparePoint(a,p,i.point,t.point),h=!1):(h&&s.boundChange(a),p>a&&!No(i.active,t.active)&&s.compareRange(a,p,i.active,t.active),c&&po)break;a=O,u<=0&&i.next(),u>=0&&t.next()}}function No(i,e){if(i.length!=e.length)return!1;for(let t=0;t=e;n--)i[n+1]=i[n];i[e]=t}function nf(i,e){let t=-1,n=1e9;for(let r=0;r=e)return r;if(r==i.length)break;s+=i.charCodeAt(r)==9?t-s%t:1,r=ke(i,r)}return n===!0?-1:i.length}var mf=typeof Symbol>"u"?"__\u037C":Symbol.for("\u037C"),Jo=typeof Symbol>"u"?"__styleSet"+Math.floor(Math.random()*1e8):Symbol("styleSet"),gf=typeof globalThis<"u"?globalThis:typeof window<"u"?window:{},rt=class{constructor(e,t){this.rules=[];let{finish:n}=t||{};function r(o){return/^@/.test(o)?[o]:o.split(/,\s*/)}function s(o,a,l,c){let h=[],f=/^@(\w+)\b/.exec(o[0]),u=f&&f[1]=="keyframes";if(f&&a==null)return l.push(o[0]+";");for(let O in a){let p=a[O];if(/&/.test(O))s(O.split(/,\s*/).map(m=>o.map(b=>m.replace(/&/,b))).reduce((m,b)=>m.concat(b)),p,l);else if(p&&typeof p=="object"){if(!f)throw new RangeError("The value of a property ("+O+") should be a primitive value.");s(r(O),p,h,u)}else p!=null&&h.push(O.replace(/_.*/,"").replace(/[A-Z]/g,m=>"-"+m.toLowerCase())+": "+p+";")}(h.length||u)&&l.push((n&&!f&&!c?o.map(n):o).join(", ")+" {"+h.join(" ")+"}")}for(let o in e)s(r(o),e[o],this.rules)}getRules(){return this.rules.join(` +`)}static newName(){let e=gf[mf]||1;return gf[mf]=e+1,"\u037C"+e.toString(36)}static mount(e,t,n){let r=e[Jo],s=n&&n.nonce;r?s&&r.setNonce(s):r=new ea(e,s),r.mount(Array.isArray(t)?t:[t],e)}},Qf=new Map,ea=class{constructor(e,t){let n=e.ownerDocument||e,r=n.defaultView;if(!e.head&&e.adoptedStyleSheets&&r.CSSStyleSheet){let s=Qf.get(n);if(s)return e[Jo]=s;this.sheet=new r.CSSStyleSheet,Qf.set(n,this)}else this.styleTag=n.createElement("style"),t&&this.styleTag.setAttribute("nonce",t);this.modules=[],e[Jo]=this}mount(e,t){let n=this.sheet,r=0,s=0;for(let o=0;o-1&&(this.modules.splice(l,1),s--,l=-1),l==-1){if(this.modules.splice(s++,0,a),n)for(let c=0;c",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},Q0=typeof navigator<"u"&&/Mac/.test(navigator.platform),b0=typeof navigator<"u"&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent);for(be=0;be<10;be++)Lt[48+be]=Lt[96+be]=String(be);var be;for(be=1;be<=24;be++)Lt[be+111]="F"+be;var be;for(be=65;be<=90;be++)Lt[be]=String.fromCharCode(be+32),an[be]=String.fromCharCode(be);var be;for(Kr in Lt)an.hasOwnProperty(Kr)||(an[Kr]=Lt[Kr]);var Kr;function bf(i){var e=Q0&&i.metaKey&&i.shiftKey&&!i.ctrlKey&&!i.altKey||b0&&i.shiftKey&&i.key&&i.key.length==1||i.key=="Unidentified",t=!e&&i.key||(i.shiftKey?an:Lt)[i.keyCode]||i.key||"Unidentified";return t=="Esc"&&(t="Escape"),t=="Del"&&(t="Delete"),t=="Left"&&(t="ArrowLeft"),t=="Up"&&(t="ArrowUp"),t=="Right"&&(t="ArrowRight"),t=="Down"&&(t="ArrowDown"),t}var ze=typeof navigator<"u"?navigator:{userAgent:"",vendor:"",platform:""},oa=typeof document<"u"?document:{documentElement:{style:{}}},aa=/Edge\/(\d+)/.exec(ze.userAgent),Uf=/MSIE \d/.test(ze.userAgent),la=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(ze.userAgent),Ss=!!(Uf||la||aa),Sf=!Ss&&/gecko\/(\d+)/i.test(ze.userAgent),ta=!Ss&&/Chrome\/(\d+)/.exec(ze.userAgent),yf="webkitFontSmoothing"in oa.documentElement.style,ca=!Ss&&/Apple Computer/.test(ze.vendor),kf=ca&&(/Mobile\/\w+/.test(ze.userAgent)||ze.maxTouchPoints>2),L={mac:kf||/Mac/.test(ze.platform),windows:/Win/.test(ze.platform),linux:/Linux|X11/.test(ze.platform),ie:Ss,ie_version:Uf?oa.documentMode||6:la?+la[1]:aa?+aa[1]:0,gecko:Sf,gecko_version:Sf?+(/Firefox\/(\d+)/.exec(ze.userAgent)||[0,0])[1]:0,chrome:!!ta,chrome_version:ta?+ta[1]:0,ios:kf,android:/Android\b/.test(ze.userAgent),webkit:yf,webkit_version:yf?+(/\bAppleWebKit\/(\d+)/.exec(ze.userAgent)||[0,0])[1]:0,safari:ca,safari_version:ca?+(/\bVersion\/(\d+(\.\d+)?)/.exec(ze.userAgent)||[0,0])[1]:0,tabSize:oa.documentElement.style.tabSize!=null?"tab-size":"-moz-tab-size"};function Ya(i,e){for(let t in i)t=="class"&&e.class?e.class+=" "+i.class:t=="style"&&e.style?e.style+=";"+i.style:e[t]=i[t];return e}var ls=Object.create(null);function Ia(i,e,t){if(i==e)return!0;i||(i=ls),e||(e=ls);let n=Object.keys(i),r=Object.keys(e);if(n.length-(t&&n.indexOf(t)>-1?1:0)!=r.length-(t&&r.indexOf(t)>-1?1:0))return!1;for(let s of n)if(s!=t&&(r.indexOf(s)==-1||i[s]!==e[s]))return!1;return!0}function S0(i,e){for(let t=i.attributes.length-1;t>=0;t--){let n=i.attributes[t].name;e[n]==null&&i.removeAttribute(n)}for(let t in e){let n=e[t];t=="style"?i.style.cssText=n:i.getAttribute(t)!=n&&i.setAttribute(t,n)}}function xf(i,e,t){let n=!1;if(e)for(let r in e)t&&r in t||(n=!0,r=="style"?i.style.cssText="":i.removeAttribute(r));if(t)for(let r in t)e&&e[r]==t[r]||(n=!0,r=="style"?i.style.cssText=t[r]:i.setAttribute(r,t[r]));return n}function y0(i){let e=Object.create(null);for(let t=0;t0?3e8:-4e8:t>0?1e8:-1e8,new Zi(e,t,t,n,e.widget||null,!1)}static replace(e){let t=!!e.block,n,r;if(e.isBlockGap)n=-5e8,r=4e8;else{let{start:s,end:o}=Gf(e,t);n=(s?t?-3e8:-1:5e8)-1,r=(o?t?2e8:1:-6e8)+1}return new Zi(e,n,r,t,e.widget||null,!0)}static line(e){return new ir(e)}static set(e,t=!1){return ae.of(e,t)}hasHeight(){return this.widget?this.widget.estimatedHeight>-1:!1}};Z.none=ae.empty;var tr=class i extends Z{constructor(e){let{start:t,end:n}=Gf(e);super(t?-1:5e8,n?1:-6e8,null,e),this.tagName=e.tagName||"span",this.attrs=e.class&&e.attributes?Ya(e.attributes,{class:e.class}):e.class?{class:e.class}:e.attributes||ls}eq(e){return this==e||e instanceof i&&this.tagName==e.tagName&&Ia(this.attrs,e.attrs)}range(e,t=e){if(e>=t)throw new RangeError("Mark decorations may not be empty");return super.range(e,t)}};tr.prototype.point=!1;var ir=class i extends Z{constructor(e){super(-2e8,-2e8,null,e)}eq(e){return e instanceof i&&this.spec.class==e.spec.class&&Ia(this.spec.attributes,e.spec.attributes)}range(e,t=e){if(t!=e)throw new RangeError("Line decoration ranges must be zero-length");return super.range(e,t)}};ir.prototype.mapMode=ge.TrackBefore;ir.prototype.point=!0;var Zi=class i extends Z{constructor(e,t,n,r,s,o){super(t,n,s,e),this.block=r,this.isReplace=o,this.mapMode=r?t<=0?ge.TrackBefore:ge.TrackAfter:ge.TrackDel}get type(){return this.startSide!=this.endSide?ct.WidgetRange:this.startSide<=0?ct.WidgetBefore:ct.WidgetAfter}get heightRelevant(){return this.block||!!this.widget&&(this.widget.estimatedHeight>=5||this.widget.lineBreaks>0)}eq(e){return e instanceof i&&k0(this.widget,e.widget)&&this.block==e.block&&this.startSide==e.startSide&&this.endSide==e.endSide}range(e,t=e){if(this.isReplace&&(e>t||e==t&&this.startSide>0&&this.endSide<=0))throw new RangeError("Invalid range for replacement decoration");if(!this.isReplace&&t!=e)throw new RangeError("Widget decorations can only have zero-length ranges");return super.range(e,t)}};Zi.prototype.point=!0;function Gf(i,e=!1){let{inclusiveStart:t,inclusiveEnd:n}=i;return t==null&&(t=i.inclusive),n==null&&(n=i.inclusive),{start:t??e,end:n??e}}function k0(i,e){return i==e||!!(i&&e&&i.compare(e))}function fn(i,e,t,n=0){let r=t.length-1;r>=0&&t[r]+n>=i?t[r]=Math.max(t[r],e):t.push(i,e)}var li=class i extends it{constructor(e,t,n){super(),this.tagName=e,this.attributes=t,this.rank=n}eq(e){return e==this||e instanceof i&&this.tagName==e.tagName&&Ia(this.attributes,e.attributes)}static create(e){return new i(e.tagName,e.attributes||ls,e.rank==null?50:Math.max(0,Math.min(e.rank,100)))}static set(e,t=!1){return ae.of(e,t)}};li.prototype.startSide=li.prototype.endSide=-1;function nr(i){let e;return i.nodeType==11?e=i.getSelection?i:i.ownerDocument:e=i,e.getSelection()}function ha(i,e){return e?i==e||i.contains(e.nodeType!=1?e.parentNode:e):!1}function Gn(i,e){if(!e.anchorNode)return!1;try{return ha(i,e.anchorNode)}catch{return!1}}function os(i){return i.nodeType==3?rr(i,0,i.nodeValue.length).getClientRects():i.nodeType==1?i.getClientRects():[]}function Nn(i,e,t,n){return t?wf(i,e,t,n,-1)||wf(i,e,t,n,1):!1}function ci(i){for(var e=0;;e++)if(i=i.previousSibling,!i)return e}function cs(i){return i.nodeType==1&&/^(DIV|P|LI|UL|OL|BLOCKQUOTE|DD|DT|H\d|SECTION|PRE)$/.test(i.nodeName)}function wf(i,e,t,n,r){for(;;){if(i==t&&e==n)return!0;if(e==(r<0?0:jt(i))){if(i.nodeName=="DIV")return!1;let s=i.parentNode;if(!s||s.nodeType!=1)return!1;e=ci(i)+(r<0?0:1),i=s}else if(i.nodeType==1){if(i=i.childNodes[e+(r<0?-1:0)],i.nodeType==1&&i.contentEditable=="false")return!1;e=r<0?jt(i):0}else return!1}}function jt(i){return i.nodeType==3?i.nodeValue.length:i.childNodes.length}function hs(i,e){let{left:t,right:n}=i;if(t==n)return i;let r=e?t:n;return{left:r,right:r,top:i.top,bottom:i.bottom}}function x0(i){let e=i.visualViewport;return e?{left:0,right:e.width,top:0,bottom:e.height}:{left:0,right:i.innerWidth,top:0,bottom:i.innerHeight}}function Nf(i,e){let t=e.width/i.offsetWidth,n=e.height/i.offsetHeight;return(t>.995&&t<1.005||!isFinite(t)||Math.abs(e.width-i.offsetWidth)<1)&&(t=1),(n>.995&&n<1.005||!isFinite(n)||Math.abs(e.height-i.offsetHeight)<1)&&(n=1),{scaleX:t,scaleY:n}}function w0(i,e,t,n,r,s,o,a){let l=i.ownerDocument,c=l.defaultView||window;for(let h=i,f=!1;h&&!f;)if(h.nodeType==1){let u,O=h==l.body,p=1,m=1;if(O)u=x0(c);else{if(/^(fixed|sticky)$/.test(getComputedStyle(h).position)&&(f=!0),h.scrollHeight<=h.clientHeight&&h.scrollWidth<=h.clientWidth){h=h.assignedSlot||h.parentNode;continue}let Q=h.getBoundingClientRect();({scaleX:p,scaleY:m}=Nf(h,Q)),u={left:Q.left,right:Q.left+h.clientWidth*p,top:Q.top,bottom:Q.top+h.clientHeight*m}}let b=0,g=0;if(r=="nearest")e.top0&&e.bottom>u.bottom+g&&(g=e.bottom-u.bottom+o)):e.bottom>u.bottom-o&&(g=e.bottom-u.bottom+o,t<0&&e.top-g0&&e.right>u.right+b&&(b=e.right-u.right+s)):e.right>u.right-s&&(b=e.right-u.right+s,t<0&&e.leftu.bottom||e.leftu.right)&&(e={left:Math.max(e.left,u.left),right:Math.min(e.right,u.right),top:Math.max(e.top,u.top),bottom:Math.min(e.bottom,u.bottom)}),h=h.assignedSlot||h.parentNode}else if(h.nodeType==11)h=h.host;else break}function Ff(i,e=!0){let t=i.ownerDocument,n=null,r=null;for(let s=i.parentNode;s&&!(s==t.body||(!e||n)&&r);)if(s.nodeType==1)!r&&s.scrollHeight>s.clientHeight&&(r=s),e&&!n&&s.scrollWidth>s.clientWidth&&(n=s),s=s.assignedSlot||s.parentNode;else if(s.nodeType==11)s=s.host;else break;return{x:n,y:r}}var fa=class{constructor(){this.anchorNode=null,this.anchorOffset=0,this.focusNode=null,this.focusOffset=0}eq(e){return this.anchorNode==e.anchorNode&&this.anchorOffset==e.anchorOffset&&this.focusNode==e.focusNode&&this.focusOffset==e.focusOffset}setRange(e){let{anchorNode:t,focusNode:n}=e;this.set(t,Math.min(e.anchorOffset,t?jt(t):0),n,Math.min(e.focusOffset,n?jt(n):0))}set(e,t,n,r){this.anchorNode=e,this.anchorOffset=t,this.focusNode=n,this.focusOffset=r}},Ri=null;L.safari&&L.safari_version>=26&&(Ri=!1);function Hf(i){if(i.setActive)return i.setActive();if(Ri)return i.focus(Ri);let e=[];for(let t=i;t&&(e.push(t,t.scrollTop,t.scrollLeft),t!=t.ownerDocument);t=t.parentNode);if(i.focus(Ri==null?{get preventScroll(){return Ri={preventScroll:!0},!0}}:void 0),!Ri){Ri=!1;for(let t=0;tMath.max(0,i.document.documentElement.scrollHeight-i.innerHeight-4):i.scrollTop>Math.max(1,i.scrollHeight-i.clientHeight-4)}function Jf(i,e){for(let t=i,n=e;;){if(t.nodeType==3&&n>0)return{node:t,offset:n};if(t.nodeType==1&&n>0){if(t.contentEditable=="false")return null;t=t.childNodes[n-1],n=jt(t)}else if(t.parentNode&&!cs(t))n=ci(t),t=t.parentNode;else return null}}function eu(i,e){for(let t=i,n=e;;){if(t.nodeType==3&&n=t){if(a.level==n)return o;(s<0||(r!=0?r<0?a.fromt:e[s].level>a.level))&&(s=o)}}if(s<0)throw new RangeError("Index out of range");return s}};function nu(i,e){if(i.length!=e.length)return!1;for(let t=0;t=0;m-=3)if($t[m+1]==-O){let b=$t[m+2],g=b&2?r:b&4?b&1?s:r:0;g&&(oe[f]=oe[$t[m]]=g),a=m;break}}else{if($t.length==189)break;$t[a++]=f,$t[a++]=u,$t[a++]=l}else if((p=oe[f])==2||p==1){let m=p==r;l=m?0:1;for(let b=a-3;b>=0;b-=3){let g=$t[b+2];if(g&2)break;if(m)$t[b+2]|=2;else{if(g&4)break;$t[b+2]|=4}}}}}function R0(i,e,t,n){for(let r=0,s=n;r<=t.length;r++){let o=r?t[r-1].to:i,a=rl;)p==b&&(p=t[--m].from,b=m?t[m-1].to:i),oe[--p]=O;l=h}else s=c,l++}}}function Oa(i,e,t,n,r,s,o){let a=n%2?2:1;if(n%2==r%2)for(let l=e,c=0;ll&&o.push(new at(l,m.from,O));let b=m.direction==Ei!=!(O%2);da(i,b?n+1:n,r,m.inner,m.from,m.to,o),l=m.to}p=m.to}else{if(p==t||(h?oe[p]!=a:oe[p]==a))break;p++}u?Oa(i,l,p,n+1,r,u,o):le;){let h=!0,f=!1;if(!c||l>s[c-1].to){let m=oe[l-1];m!=a&&(h=!1,f=m==16)}let u=!h&&a==1?[]:null,O=h?n:n+1,p=l;e:for(;;)if(c&&p==s[c-1].to){if(f)break e;let m=s[--c];if(!h)for(let b=m.from,g=c;;){if(b==e)break e;if(g&&s[g-1].to==b)b=s[--g].from;else{if(oe[b-1]==a)break e;break}}if(u)u.push(m);else{m.tooe.length;)oe[oe.length]=256;let n=[],r=e==Ei?0:1;return da(i,r,r,t,0,i.length,n),n}function ru(i){return[new at(0,i,0)]}var su="";function Z0(i,e,t,n,r){var s;let o=n.head-i.from,a=at.find(e,o,(s=n.bidiLevel)!==null&&s!==void 0?s:-1,n.assoc),l=e[a],c=l.side(r,t);if(o==c){let u=a+=r?1:-1;if(u<0||u>=e.length)return null;l=e[a=u],o=l.side(!r,t),c=l.side(r,t)}let h=ke(i.text,o,l.forward(r,t));(hl.to)&&(h=c),su=i.text.slice(Math.min(o,h),Math.max(o,h));let f=a==(r?e.length-1:0)?null:e[a+(r?1:-1)];return f&&h==c&&f.level+(r?0:1)i.some(e=>e)}),q0=Y.define({combine:i=>i.some(e=>e)}),Ou=Y.define(),Fn=class i{constructor(e,t,n,r,s,o=!1){this.range=e,this.y=t,this.x=n,this.yMargin=r,this.xMargin=s,this.isSnapshot=o}map(e){return e.empty?this:new i(this.range.map(e),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}clip(e){return this.range.to<=e.doc.length?this:new i(P.cursor(e.doc.length),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}},Jr=te.define({map:(i,e)=>i.map(e)}),du=te.define();function lt(i,e,t){let n=i.facet(cu);n.length?n[0](e):window.onerror&&window.onerror(String(e),t,void 0,void 0,e)||(t?console.error(t+":",e):console.error(e))}var Mt=Y.define({combine:i=>i.length?i[0]:!0}),z0=0,cn=Y.define({combine(i){return i.filter((e,t)=>{for(let n=0;n{let l=[];return o&&l.push(ys.of(c=>{let h=c.plugin(a);return h?o(h):Z.none})),s&&l.push(s(a)),l})}static fromClass(e,t){return i.define((n,r)=>new e(n,r),t)}},Hn=class{constructor(e){this.spec=e,this.mustUpdate=null,this.value=null}get plugin(){return this.spec&&this.spec.plugin}update(e){if(this.value){if(this.mustUpdate){let t=this.mustUpdate;if(this.mustUpdate=null,this.value.update)try{this.value.update(t)}catch(n){if(lt(t.state,n,"CodeMirror plugin crashed"),this.value.destroy)try{this.value.destroy()}catch{}this.deactivate()}}}else if(this.spec)try{this.value=this.spec.plugin.create(e,this.spec.arg)}catch(t){lt(e.state,t,"CodeMirror plugin crashed"),this.deactivate()}return this}destroy(e){var t;if(!((t=this.value)===null||t===void 0)&&t.destroy)try{this.value.destroy()}catch(n){lt(e.state,n,"CodeMirror plugin crashed")}}deactivate(){this.spec=this.value=null}},pu=Y.define(),Na=Y.define(),ys=Y.define(),mu=Y.define(),Fa=Y.define(),sr=Y.define(),gu=Y.define();function vf(i,e){let t=i.state.facet(gu);if(!t.length)return t;let n=t.map(s=>s instanceof Function?s(i):s),r=[];return ae.spans(n,e.from,e.to,{point(){},span(s,o,a,l){let c=s-e.from,h=o-e.from,f=r;for(let u=a.length-1;u>=0;u--,l--){let O=a[u].spec.bidiIsolate,p;if(O==null&&(O=E0(e.text,c,h)),l>0&&f.length&&(p=f[f.length-1]).to==c&&p.direction==O)p.to=h,f=p.inner;else{let m={from:c,to:h,direction:O,inner:[]};f.push(m),f=m.inner}}}}),r}var Qu=Y.define();function bu(i){let e=0,t=0,n=0,r=0;for(let s of i.state.facet(Qu)){let o=s(i);o&&(o.left!=null&&(e=Math.max(e,o.left)),o.right!=null&&(t=Math.max(t,o.right)),o.top!=null&&(n=Math.max(n,o.top)),o.bottom!=null&&(r=Math.max(r,o.bottom)))}return{left:e,right:t,top:n,bottom:r}}var In=Y.define(),gt=class i{constructor(e,t,n,r){this.fromA=e,this.toA=t,this.fromB=n,this.toB=r}join(e){return new i(Math.min(this.fromA,e.fromA),Math.max(this.toA,e.toA),Math.min(this.fromB,e.fromB),Math.max(this.toB,e.toB))}addToSet(e){let t=e.length,n=this;for(;t>0;t--){let r=e[t-1];if(!(r.fromA>n.toA)){if(r.toAr.push(new gt(s,o,a,l))),this.changedRanges=r}static create(e,t,n){return new i(e,t,n)}get viewportChanged(){return(this.flags&4)>0}get viewportMoved(){return(this.flags&8)>0}get heightChanged(){return(this.flags&2)>0}get geometryChanged(){return this.docChanged||(this.flags&18)>0}get focusChanged(){return(this.flags&1)>0}get docChanged(){return!this.changes.empty}get selectionSet(){return this.transactions.some(e=>e.selection)}get empty(){return this.flags==0&&this.transactions.length==0}},L0=[],fe=class{constructor(e,t,n=0){this.dom=e,this.length=t,this.flags=n,this.parent=null,e.cmTile=this}get breakAfter(){return this.flags&1}get children(){return L0}isWidget(){return!1}get isHidden(){return!1}isComposite(){return!1}isLine(){return!1}isText(){return!1}isBlock(){return!1}get domAttrs(){return null}sync(e){if(this.flags|=2,this.flags&4){this.flags&=-5;let t=this.domAttrs;t&&S0(this.dom,t)}}toString(){return this.constructor.name+(this.children.length?`(${this.children})`:"")+(this.breakAfter?"#":"")}destroy(){this.parent=null}setDOM(e){this.dom=e,e.cmTile=this}get posAtStart(){return this.parent?this.parent.posBefore(this):0}get posAtEnd(){return this.posAtStart+this.length}posBefore(e,t=this.posAtStart){let n=t;for(let r of this.children){if(r==e)return n;n+=r.length+r.breakAfter}throw new RangeError("Invalid child in posBefore")}posAfter(e){return this.posBefore(e)+e.length}covers(e){return!0}coordsIn(e,t,n){return null}domPosFor(e,t){let n=ci(this.dom),r=this.length?e>0:t>0;return new Tt(this.parent.dom,n+(r?1:0),e==0||e==this.length)}markDirty(e){this.flags&=-3,e&&(this.flags|=4),this.parent&&this.parent.flags&2&&this.parent.markDirty(!1)}get overrideDOMText(){return null}get root(){for(let e=this;e;e=e.parent)if(e instanceof dn)return e;return null}static get(e){return e.cmTile}},On=class extends fe{constructor(e){super(e,0),this._children=[]}isComposite(){return!0}get children(){return this._children}get lastChild(){return this.children.length?this.children[this.children.length-1]:null}append(e){this.children.push(e),e.parent=this}sync(e){if(this.flags&2)return;super.sync(e);let t=this.dom,n=null,r,s=e?.node==t?e:null,o=0;for(let a of this.children){if(a.sync(e),o+=a.length+a.breakAfter,r=n?n.nextSibling:t.firstChild,s&&r!=a.dom&&(s.written=!0),a.dom.parentNode==t)for(;r&&r!=a.dom;)r=$f(r);else t.insertBefore(a.dom,r);n=a.dom}for(r=n?n.nextSibling:t.firstChild,s&&r&&(s.written=!0);r;)r=$f(r);this.length=o}};function $f(i){let e=i.nextSibling;return i.parentNode.removeChild(i),e}var dn=class extends On{constructor(e,t){super(t),this.view=e}owns(e){for(;e;e=e.parent)if(e==this)return!0;return!1}isBlock(){return!0}nearest(e){for(;;){if(!e)return null;let t=fe.get(e);if(t&&this.owns(t))return t;e=e.parentNode}}blockTiles(e){for(let t=[],n=this,r=0,s=0;;)if(r==n.children.length){if(!t.length)return;n=n.parent,n.breakAfter&&s++,r=t.pop()}else{let o=n.children[r++];if(o instanceof Wt)t.push(r),n=o,r=0;else{let a=s+o.length,l=e(o,s);if(l!==void 0)return l;s=a+o.breakAfter}}}resolveBlock(e,t){let n,r=-1,s,o=-1;if(this.blockTiles((a,l)=>{let c=l+a.length;if(e>=l&&e<=c){if(a.isWidget()&&t>=-1&&t<=1){if(a.flags&32)return!0;a.flags&16&&(n=void 0)}(le||e==l&&(t>1?a.length:a.covers(-1)))&&(!s||!a.isWidget()&&s.isWidget())&&(s=a,o=e-l)}}),!n&&!s)throw new Error("No tile at position "+e);return n&&t<0||!s?{tile:n,offset:r}:{tile:s,offset:o}}},Wt=class i extends On{constructor(e,t){super(e),this.wrapper=t}isBlock(){return!0}covers(e){return this.children.length?e<0?this.children[0].covers(-1):this.lastChild.covers(1):!1}get domAttrs(){return this.wrapper.attributes}static of(e,t){let n=new i(t||document.createElement(e.tagName),e);return t||(n.flags|=4),n}},pn=class i extends On{constructor(e,t){super(e),this.attrs=t}isLine(){return!0}static start(e,t,n){let r=new i(t||document.createElement("div"),e);return(!t||!n)&&(r.flags|=4),r}get domAttrs(){return this.attrs}resolveInline(e,t,n){let r=null,s=-1,o=null,a=-1;function l(h,f){for(let u=0,O=0;u=f&&(p.isComposite()?l(p,f-O):(!o||o.isHidden&&(t>0&&!(o.flags&32)||n&&W0(o,p)))&&(m>f||p.flags&32)?(o=p,a=f-O):(Or&&(e=r);let s=e,o=e,a=0;e==0&&t<0||e==r&&t>=0?L.chrome||L.gecko||(e?(s--,a=1):o=0)?0:l.length-1];return L.safari&&!a&&c.width==0&&(c=Array.prototype.find.call(l,h=>h.width)||c),n==null?c:hs(c,(a?a>0:t<0)==n)}static of(e,t){let n=new i(t||document.createTextNode(e),e);return t||(n.flags|=2),n}},qi=class i extends fe{constructor(e,t,n,r){super(e,t,r),this.widget=n}isWidget(){return!0}get isHidden(){return this.widget.isHidden}covers(e){return this.flags&48?!1:(this.flags&(e<0?64:128))>0}coordsIn(e,t){return this.coordsInWidget(e,t,!1)}coordsInWidget(e,t,n){let r=this.widget.coordsAt(this.dom,e,t);if(r)return r;if(n)return hs(this.dom.getBoundingClientRect(),this.length?e==0:t<=0);{let s=this.dom.getClientRects(),o=null;if(!s.length)return null;let a=this.flags&16?!0:this.flags&32?!1:e>0;for(let l=a?s.length-1:0;o=s[l],!(e>0?l==0:l==s.length-1||o.top0==n)}},ma=class{constructor(e){this.index=0,this.beforeBreak=!1,this.parents=[],this.tile=e}advance(e,t,n){let{tile:r,index:s,beforeBreak:o,parents:a}=this;for(;e||t>0;)if(r.isComposite())if(o){if(!e)break;n&&n.break(),e--,o=!1}else if(s==r.children.length){if(!e&&!a.length)break;n&&n.leave(r),o=!!r.breakAfter,{tile:r,index:s}=a.pop(),s++}else{let l=r.children[s],c=l.breakAfter;(t>0?l.length<=e:l.length=0;a--){let l=t.marks[a],c=r.lastChild;if(c instanceof je&&c.mark.eq(l.mark))c.dom!=l.dom&&c.setDOM(ia(l.dom)),r=c;else{if(this.cache.reused.get(l)){let f=fe.get(l.dom);f&&f.setDOM(ia(l.dom))}let h=je.of(l.mark,l.dom);r.append(h),r=h}this.cache.reused.set(l,2)}let s=fe.get(e.text);s&&this.cache.reused.set(s,2);let o=new Ai(e.text,e.text.nodeValue);o.flags|=8,this.pos=e.range.toB,r.append(o)}addInlineWidget(e,t,n){let r=this.afterWidget&&e.flags&48&&(this.afterWidget.flags&48)==(e.flags&48);r||this.flushBuffer();let s=this.ensureMarks(t,n);!r&&!(e.flags&16)&&s.append(this.getBuffer(1)),s.append(e),this.pos+=e.length,this.afterWidget=e}addMark(e,t,n){this.flushBuffer(),this.ensureMarks(t,n).append(e),this.pos+=e.length,this.afterWidget=null}addBlockWidget(e){this.getBlockPos().append(e),this.pos+=e.length,this.lastBlock=e,this.endLine()}continueWidget(e){let t=this.afterWidget||this.lastBlock;t.length+=e,this.pos+=e}addLineStart(e,t){var n;e||(e=Su);let r=pn.start(e,t||((n=this.cache.find(pn))===null||n===void 0?void 0:n.dom),!!t);this.getBlockPos().append(this.lastBlock=this.curLine=r)}addLine(e){this.getBlockPos().append(e),this.pos+=e.length,this.lastBlock=e,this.endLine()}addBreak(){this.lastBlock.flags|=1,this.endLine(),this.pos++}addLineStartIfNotCovered(e){this.blockPosCovered()||this.addLineStart(e)}ensureLine(e){this.curLine||this.addLineStart(e)}ensureMarks(e,t){var n;let r=this.curLine;for(let s=e.length-1;s>=0;s--){let o=e[s],a;if(t>0&&(a=r.lastChild)&&a instanceof je&&a.mark.eq(o))r=a,t--;else{let l=je.of(o,(n=this.cache.find(je,c=>c.mark.eq(o)))===null||n===void 0?void 0:n.dom);r.append(l),r=l,t=0}}return r}endLine(){if(this.curLine){this.flushBuffer();let e=this.curLine.lastChild;(!e||!Tf(this.curLine,!1)||e.dom.nodeName!="BR"&&e.isWidget()&&!(L.ios&&Tf(this.curLine,!0)))&&this.curLine.append(this.cache.findWidget(na,0,32)||new qi(na.toDOM(),0,na,32)),this.curLine=this.afterWidget=null}}updateBlockWrappers(){this.wrapperPos>this.pos+1e4&&(this.blockWrappers.goto(this.pos),this.wrappers.length=0);for(let e=this.wrappers.length-1;e>=0;e--)this.wrappers[e].to=this.pos){let t=e.rank*102+e.value.rank,n=new ga(e.from,e.to,e.value,t),r=this.wrappers.length;for(;r>0&&(this.wrappers[r-1].rank-n.rank||this.wrappers[r-1].to-n.to)<0;)r--;this.wrappers.splice(r,0,n)}this.wrapperPos=this.pos}getBlockPos(){var e;this.updateBlockWrappers();let t=this.root;for(let n of this.wrappers){let r=t.lastChild;if(n.fromo.wrapper.eq(n.wrapper)))===null||e===void 0?void 0:e.dom);t.append(s),t=s}}return t}blockPosCovered(){let e=this.lastBlock;return e!=null&&!e.breakAfter&&(!e.isWidget()||(e.flags&160)>0)}getBuffer(e){let t=2|(e<0?16:32),n=this.cache.find(mn,void 0,1);return n&&(n.flags=t),n||new mn(t)}flushBuffer(){this.afterWidget&&!(this.afterWidget.flags&32)&&(this.afterWidget.parent.append(this.getBuffer(-1)),this.afterWidget=null)}},ba=class{constructor(e){this.skipCount=0,this.text="",this.textOff=0,this.cursor=e.iter()}skip(e){this.textOff+e<=this.text.length?this.textOff+=e:(this.skipCount+=e-(this.text.length-this.textOff),this.text="",this.textOff=0)}next(e){if(this.textOff==this.text.length){let{value:r,lineBreak:s,done:o}=this.cursor.next(this.skipCount);if(this.skipCount=0,o)throw new Error("Ran out of text content when drawing inline views");this.text=r;let a=this.textOff=Math.min(e,r.length);return s?null:r.slice(0,a)}let t=Math.min(this.text.length,this.textOff+e),n=this.text.slice(this.textOff,t);return this.textOff=t,n}},us=[qi,pn,Ai,je,mn,Wt,dn];for(let i=0;i[]),this.index=us.map(()=>0),this.reused=new Map}add(e){let t=e.constructor.bucket,n=this.buckets[t];n.length<6?n.push(e):n[this.index[t]=(this.index[t]+1)%6]=e}find(e,t,n=2){let r=e.bucket,s=this.buckets[r],o=this.index[r];for(let a=0;a{if(this.cache.add(o),o.isComposite())return!1},enter:o=>this.cache.add(o),leave:()=>{},break:()=>{}}}run(e,t){let n=t&&this.getCompositionContext(t.text);for(let r=0,s=0,o=0;;){let a=or){let c=l-r;this.preserve(c,!o,!a),r=l,s+=c}if(!a)break;t&&a.fromA<=t.range.fromA&&a.toA>=t.range.toA?(this.forward(a.fromA,t.range.fromA,t.range.fromA{if(o.isWidget())if(this.openWidget)this.builder.continueWidget(l-a);else{let c=l>0||a{o.isLine()?this.builder.addLineStart(o.attrs,this.cache.maybeReuse(o)):(this.cache.add(o),o instanceof je&&r.unshift(o.mark)),this.openWidget=!1},leave:o=>{o.isLine()?r.length&&(r.length=s=0):o instanceof je&&(r.shift(),s=Math.min(s,r.length))},break:()=>{this.builder.addBreak(),this.openWidget=!1}}),this.text.skip(e)}emit(e,t){let n=null,r=this.builder,s=-1,o=ae.spans(this.decorations,e,t,{point:(a,l,c,h,f,u)=>{if(c instanceof Zi){if(this.disallowBlockEffectsFor[u]){if(c.block)throw new RangeError("Block decorations may not be specified via plugins");if(l>this.view.state.doc.lineAt(a).to)throw new RangeError("Decorations that replace line breaks may not be specified via plugins")}if(s=h.length,f>h.length)r.continueWidget(l-a);else{let O=c.widget||(c.block?hi.block:hi.inline),p=j0(c),m=this.cache.findWidget(O,l-a,p)||qi.of(O,this.view,l-a,p);c.block?(c.startSide>0&&r.addLineStartIfNotCovered(n),r.addBlockWidget(m)):(r.ensureLine(n),r.addInlineWidget(m,h,f))}n=null}else n=V0(n,c);l>a&&this.text.skip(l-a)},span:(a,l,c,h)=>{for(let f=a;f-1&&(this.openWidget=o>s),this.openWidget||r.addLineStartIfNotCovered(n),this.openMarks=o}forward(e,t,n=1){t-e<=10?this.old.advance(t-e,n,this.reuseWalker):(this.old.advance(5,-1,this.reuseWalker),this.old.advance(t-e-10,-1),this.old.advance(5,n,this.reuseWalker))}getCompositionContext(e){let t=[],n=null;for(let r=e.parentNode;;r=r.parentNode){let s=fe.get(r);if(r==this.view.contentDOM)break;s instanceof je?t.push(s):s?.isLine()?n=s:s instanceof Wt||(r.nodeName=="DIV"&&!n&&r!=this.view.contentDOM?n=new pn(r,Su):n||t.push(je.of(new tr({tagName:r.nodeName.toLowerCase(),attributes:y0(r)}),r)))}return{line:n,marks:t}}};function Tf(i,e){let t=n=>{for(let r of n.children)if((e?r.isText():r.length)||t(r))return!0;return!1};return t(i)}function j0(i){let e=i.isReplace?(i.startSide<0?64:0)|(i.endSide>0?128:0):i.startSide>0?32:16;return i.block&&(e|=256),e}var Su={class:"cm-line"};function V0(i,e){let t=e.spec.attributes,n=e.spec.class;return!t&&!n||(i||(i={class:"cm-line"}),t&&Ya(t,i),n&&(i.class+=" "+n)),i}function D0(i){let e=[];for(let t=i.parents.length;t>1;t--){let n=t==i.parents.length?i.tile:i.parents[t].tile;n instanceof je&&e.push(n.mark)}return e}function ia(i){let e=fe.get(i);return e&&e.setDOM(i.cloneNode()),i}var hi=class extends ve{constructor(e){super(),this.tag=e}eq(e){return e.tag==this.tag}toDOM(){return document.createElement(this.tag)}updateDOM(e){return e.nodeName.toLowerCase()==this.tag}get isHidden(){return!0}};hi.inline=new hi("span");hi.block=new hi("div");var na=new class extends ve{toDOM(){return document.createElement("br")}get isHidden(){return!0}get editable(){return!0}},Os=class{constructor(e){this.view=e,this.decorations=[],this.blockWrappers=[],this.dynamicDecorationMap=[!1],this.domChanged=null,this.hasComposition=null,this.editContextFormatting=Z.none,this.lastCompositionAfterCursor=!1,this.minWidth=0,this.minWidthFrom=0,this.minWidthTo=0,this.impreciseAnchor=null,this.impreciseHead=null,this.forceSelection=!1,this.lastUpdate=Date.now(),this.updateDeco(),this.tile=new dn(e,e.contentDOM),this.updateInner([new gt(0,0,0,e.state.doc.length)],null)}update(e){var t;let n=e.changedRanges;this.minWidth>0&&n.length&&(n.every(({fromA:h,toA:f})=>fthis.minWidthTo)?(this.minWidthFrom=e.changes.mapPos(this.minWidthFrom,1),this.minWidthTo=e.changes.mapPos(this.minWidthTo,1)):this.minWidth=this.minWidthFrom=this.minWidthTo=0),this.updateEditContextFormatting(e);let r=-1;this.view.inputState.composing>=0&&!this.view.observer.editContext&&(!((t=this.domChanged)===null||t===void 0)&&t.newSel?r=this.domChanged.newSel.head:!H0(e.changes,this.hasComposition)&&!e.selectionSet&&(r=e.state.selection.main.head));let s=r>-1?I0(this.view,e.changes,r):null;if(this.domChanged=null,this.hasComposition){let{from:h,to:f}=this.hasComposition;n=new gt(h,f,e.changes.mapPos(h,-1),e.changes.mapPos(f,1)).addToSet(n.slice())}this.hasComposition=s?{from:s.range.fromB,to:s.range.toB}:null,(L.ie||L.chrome)&&!s&&e&&e.state.doc.lines!=e.startState.doc.lines&&(this.forceSelection=!0);let o=this.decorations,a=this.blockWrappers;this.updateDeco();let l=G0(o,this.decorations,e.changes);l.length&&(n=gt.extendWithRanges(n,l));let c=N0(a,this.blockWrappers,e.changes);return c.length&&(n=gt.extendWithRanges(n,c)),s&&!n.some(h=>h.fromA<=s.range.fromA&&h.toA>=s.range.toA)&&(n=s.range.addToSet(n.slice())),this.tile.flags&2&&n.length==0?!1:(this.updateInner(n,s),e.transactions.length&&(this.lastUpdate=Date.now()),!0)}updateInner(e,t){this.view.viewState.mustMeasureContent=!0;let{observer:n}=this.view;n.ignore(()=>{if(t||e.length){let o=this.tile,a=new ya(this.view,o,this.blockWrappers,this.decorations,this.dynamicDecorationMap);t&&fe.get(t.text)&&a.cache.reused.set(fe.get(t.text),2),this.tile=a.run(e,t),ka(o,a.cache.reused)}this.tile.dom.style.height=this.view.viewState.contentHeight/this.view.scaleY+"px",this.tile.dom.style.flexBasis=this.minWidth?this.minWidth+"px":"";let s=L.chrome||L.ios?{node:n.selectionRange.focusNode,written:!1}:void 0;this.tile.sync(s),s&&(s.written||n.selectionRange.focusNode!=s.node||!this.tile.dom.contains(s.node))&&(this.forceSelection=!0),this.tile.dom.style.height=""});let r=[];if(this.view.viewport.from||this.view.viewport.to-1)&&Gn(n,this.view.observer.selectionRange)&&!(r&&n.contains(r));if(!(s||t||o))return;let a=this.forceSelection;this.forceSelection=!1;let l=this.view.state.selection.main,c,h;if(l.empty?h=c=this.inlineDOMNearPos(l.anchor,l.assoc||1):(h=this.inlineDOMNearPos(l.head,l.head==l.from?1:-1),c=this.inlineDOMNearPos(l.anchor,l.anchor==l.from?1:-1)),L.gecko&&l.empty&&!this.hasComposition&&Y0(c)){let u=document.createTextNode("");this.view.observer.ignore(()=>c.node.insertBefore(u,c.node.childNodes[c.offset]||null)),c=h=new Tt(u,0),a=!0}let f=this.view.observer.selectionRange;(a||!f.focusNode||(!Nn(c.node,c.offset,f.anchorNode,f.anchorOffset)||!Nn(h.node,h.offset,f.focusNode,f.focusOffset))&&!this.suppressWidgetCursorChange(f,l))&&(this.view.observer.ignore(()=>{L.android&&L.chrome&&n.contains(f.focusNode)&&F0(f.focusNode,n)&&(n.blur(),n.focus({preventScroll:!0}));let u=nr(this.view.root);if(u)if(l.empty){if(L.gecko){let O=B0(c.node,c.offset);if(O&&O!=3){let p=(O==1?Jf:eu)(c.node,c.offset);p&&(c=new Tt(p.node,p.offset))}}u.collapse(c.node,c.offset),l.bidiLevel!=null&&u.caretBidiLevel!==void 0&&(u.caretBidiLevel=l.bidiLevel)}else if(u.extend){u.collapse(c.node,c.offset);try{u.extend(h.node,h.offset)}catch{}}else{let O=document.createRange();l.anchor>l.head&&([c,h]=[h,c]),O.setEnd(h.node,h.offset),O.setStart(c.node,c.offset),u.removeAllRanges(),u.addRange(O)}o&&this.view.root.activeElement==n&&(n.blur(),r&&r.focus())}),this.view.observer.setSelectionRange(c,h)),this.impreciseAnchor=c.precise?null:new Tt(f.anchorNode,f.anchorOffset),this.impreciseHead=h.precise?null:new Tt(f.focusNode,f.focusOffset)}suppressWidgetCursorChange(e,t){return this.hasComposition&&t.empty&&Nn(e.focusNode,e.focusOffset,e.anchorNode,e.anchorOffset)&&this.posFromDOM(e.focusNode,e.focusOffset)==t.head}enforceCursorAssoc(){if(this.hasComposition)return;let{view:e}=this,t=e.state.selection.main,n=nr(e.root),{anchorNode:r,anchorOffset:s}=e.observer.selectionRange;if(!n||!t.empty||!t.assoc||!n.modify)return;let o=this.lineAt(t.head,t.assoc);if(!o)return;let a=o.posAtStart;if(t.head==a||t.head==a+o.length)return;let l=this.coordsAt(t.head,-1),c=this.coordsAt(t.head,1);if(!l||!c||l.bottom>c.top)return;let h=this.domAtPos(t.head+t.assoc,t.assoc);n.collapse(h.node,h.offset),n.modify("move",t.assoc<0?"forward":"backward","lineboundary"),e.observer.readSelectionRange();let f=e.observer.selectionRange;e.docView.posFromDOM(f.anchorNode,f.anchorOffset)!=t.from&&n.collapse(r,s)}posFromDOM(e,t){let n=this.tile.nearest(e);if(!n)return this.tile.dom.compareDocumentPosition(e)&2?0:this.view.state.doc.length;let r=n.posAtStart;if(n.isComposite()){let s;if(e==n.dom)s=n.dom.childNodes[t];else{let o=jt(e)==0?0:t==0?-1:1;for(;;){let a=e.parentNode;if(a==n.dom)break;o==0&&a.firstChild!=a.lastChild&&(e==a.firstChild?o=-1:o=1),e=a}o<0?s=e:s=e.nextSibling}if(s==n.dom.firstChild)return r;for(;s&&!fe.get(s);)s=s.nextSibling;if(!s)return r+n.length;for(let o=0,a=r;;o++){let l=n.children[o];if(l.dom==s)return a;a+=l.length+l.breakAfter}}else return n.isText()?e==n.dom?r+t:r+(t?n.length:0):r}domAtPos(e,t){let{tile:n,offset:r}=this.tile.resolveBlock(e,t);return n.isWidget()?n.domPosFor(r,t):n.domIn(r,t)}inlineDOMNearPos(e,t){let n,r=-1,s=!1,o,a=-1,l=!1;return this.tile.blockTiles((c,h)=>{if(c.isWidget()){if(c.flags&32&&h>=e)return!0;c.flags&16&&(s=!0)}else{let f=h+c.length;if(h<=e&&(n=c,r=e-h,s=f=e&&!o&&(o=c,a=e-h,l=h>e),h>e&&o)return!0}}),!n&&!o?this.domAtPos(e,t):(s&&o?n=null:l&&n&&(o=null),n&&t<0||!o?n.domIn(r,t):o.domIn(a,t))}coordsAt(e,t,n){let{tile:r,offset:s}=this.tile.resolveBlock(e,t);return r.isWidget()?r.widget instanceof Kn?null:r.coordsInWidget(s,t,!0):r.coordsIn(s,t,n)}lineAt(e,t){let{tile:n}=this.tile.resolveBlock(e,t);return n.isLine()?n:null}coordsForChar(e){let{tile:t,offset:n}=this.tile.resolveBlock(e,1);if(!t.isLine())return null;function r(s,o){if(s.isComposite())for(let a of s.children){if(a.length>=o){let l=r(a,o);if(l)return l}if(o-=a.length,o<0)break}else if(s.isText()&&oMath.max(this.view.scrollDOM.clientWidth,this.minWidth)+1,a=-1,l=this.view.textDirection==ue.LTR,c=0,h=(f,u,O)=>{for(let p=0;pr);p++){let m=f.children[p],b=u+m.length,g=m.dom.getBoundingClientRect(),{height:Q}=g;if(O&&!p&&(c+=g.top-O.top),m instanceof Wt)b>n&&h(m,u,g);else if(u>=n&&(c>0&&t.push(-c),t.push(Q+c),c=0,o)){let S=m.dom.lastChild,x=S?os(S):[];if(x.length){let v=x[x.length-1],$=l?v.right-g.left:g.right-v.left;$>a&&(a=$,this.minWidth=s,this.minWidthFrom=u,this.minWidthTo=b)}}O&&p==f.children.length-1&&(c+=O.bottom-g.bottom),u=b+m.breakAfter}};return h(this.tile,0,null),t}textDirectionAt(e){let{tile:t}=this.tile.resolveBlock(e,1);return getComputedStyle(t.dom).direction=="rtl"?ue.RTL:ue.LTR}measureTextSize(){let e=this.tile.blockTiles(o=>{if(o.isLine()&&o.children.length&&o.length<=20){let a=0,l;for(let c of o.children){if(!c.isText()||/[^ -~]/.test(c.text))return;let h=os(c.dom);if(h.length!=1)return;a+=h[0].width,l=h[0].height}if(a)return{lineHeight:o.dom.getBoundingClientRect().height,charWidth:a/o.length,textHeight:l}}});if(e)return e;let t=document.createElement("div"),n,r,s;return t.className="cm-line",t.style.width="99999px",t.style.position="absolute",t.textContent="abc def ghi jkl mno pqr stu",this.view.observer.ignore(()=>{this.tile.dom.appendChild(t);let o=os(t.firstChild)[0];n=t.getBoundingClientRect().height,r=o&&o.width?o.width/27:7,s=o&&o.height?o.height:n,t.remove()}),{lineHeight:n,charWidth:r,textHeight:s}}computeBlockGapDeco(){let e=[],t=this.view.viewState;for(let n=0,r=0;;r++){let s=r==t.viewports.length?null:t.viewports[r],o=s?s.from-1:this.view.state.doc.length;if(o>n){let a=(t.lineBlockAt(o).bottom-t.lineBlockAt(n).top)/this.view.scaleY;e.push(Z.replace({widget:new Kn(a),block:!0,inclusive:!0,isBlockGap:!0}).range(n,o))}if(!s)break;n=s.to+1}return Z.set(e)}updateDeco(){let e=1,t=this.view.state.facet(ys).map(s=>(this.dynamicDecorationMap[e++]=typeof s=="function")?s(this.view):s),n=!1,r=this.view.state.facet(Fa).map((s,o)=>{let a=typeof s=="function";return a&&(n=!0),a?s(this.view):s});for(r.length&&(this.dynamicDecorationMap[e++]=n,t.push(ae.join(r))),this.decorations=[this.editContextFormatting,...t,this.computeBlockGapDeco(),this.view.viewState.lineGapDeco];etypeof s=="function"?s(this.view):s)}scrollIntoView(e){if(e.isSnapshot){let c=this.view.viewState.lineBlockAt(e.range.head);this.view.scrollDOM.scrollTop=c.top-e.yMargin,this.view.scrollDOM.scrollLeft=e.xMargin;return}for(let c of this.view.state.facet(Ou))try{if(c(this.view,e.range,e))return!0}catch(h){lt(this.view.state,h,"scroll handler")}let{range:t}=e,n=this.coordsAt(t.head,t.assoc||(t.head>t.anchor?-1:1)),r;if(!n)return;!t.empty&&(r=this.coordsAt(t.anchor,t.anchor>t.head?-1:1))&&(n={left:Math.min(n.left,r.left),top:Math.min(n.top,r.top),right:Math.max(n.right,r.right),bottom:Math.max(n.bottom,r.bottom)});let s=bu(this.view),o={left:n.left-s.left,top:n.top-s.top,right:n.right+s.right,bottom:n.bottom+s.bottom},{offsetWidth:a,offsetHeight:l}=this.view.scrollDOM;if(w0(this.view.scrollDOM,o,t.head1&&(n.top>window.pageYOffset+window.visualViewport.offsetTop+window.visualViewport.height||n.bottomn.isWidget()||n.children.some(t);return t(this.tile.resolveBlock(e,1).tile)}destroy(){ka(this.tile)}};function ka(i,e){let t=e?.get(i);if(t!=1){t==null&&i.destroy();for(let n of i.children)ka(n,e)}}function Y0(i){return i.node.nodeType==1&&i.node.firstChild&&(i.offset==0||i.node.childNodes[i.offset-1].contentEditable=="false")&&(i.offset==i.node.childNodes.length||i.node.childNodes[i.offset].contentEditable=="false")}function yu(i,e){let t=i.observer.selectionRange;if(!t.focusNode)return null;let n=Jf(t.focusNode,t.focusOffset),r=eu(t.focusNode,t.focusOffset),s=n||r;if(r&&n&&r.node!=n.node){let a=fe.get(r.node);if(!a||a.isText()&&a.text!=r.node.nodeValue)s=r;else if(i.docView.lastCompositionAfterCursor){let l=fe.get(n.node);!l||l.isText()&&l.text!=n.node.nodeValue||(s=r)}}if(i.docView.lastCompositionAfterCursor=s!=n,!s)return null;let o=e-s.offset;return{from:o,to:o+s.node.nodeValue.length,node:s.node}}function I0(i,e,t){let n=yu(i,t);if(!n)return null;let{node:r,from:s,to:o}=n,a=r.nodeValue;if(/[\n\r]/.test(a)||i.state.doc.sliceString(n.from,n.to)!=a)return null;let l=e.invertedDesc;return{range:new gt(l.mapPos(s),l.mapPos(o),s,o),text:r}}function B0(i,e){return i.nodeType!=1?0:(e&&i.childNodes[e-1].contentEditable=="false"?1:0)|(e{ne.from&&(t=!0)}),t}var Kn=class extends ve{constructor(e){super(),this.height=e}toDOM(){let e=document.createElement("div");return e.className="cm-gap",this.updateDOM(e),e}eq(e){return e.height==this.height}updateDOM(e){return e.style.height=this.height+"px",!0}get editable(){return!0}get estimatedHeight(){return this.height}ignoreEvent(){return!1}};function K0(i,e,t=1){let n=i.charCategorizer(e),r=i.doc.lineAt(e),s=e-r.from;if(r.length==0)return P.cursor(e);s==0?t=1:s==r.length&&(t=-1);let o=s,a=s;t<0?o=ke(r.text,s,!1):a=ke(r.text,s);let l=n(r.text.slice(o,a));for(;o>0;){let c=ke(r.text,o,!1);if(n(r.text.slice(c,o))!=l)break;o=c}for(;ai.defaultLineHeight*1.5){let a=i.viewState.heightOracle.textHeight,l=Math.floor((r-t.top-(i.defaultLineHeight-a)*.5)/a);s+=l*i.viewState.heightOracle.lineLength}let o=i.state.sliceDoc(t.from,t.to);return t.from+pf(o,s,i.state.tabSize)}function eQ(i,e,t){let n=i.lineBlockAt(e);if(Array.isArray(n.type)){let r;for(let s of n.type){if(s.from>e)break;if(!(s.toe)return s;(!r||s.type==ct.Text&&(r.type!=s.type||(t<0?s.frome)))&&(r=s)}}return r||n}return n}function tQ(i,e,t,n){let r=eQ(i,e.head,e.assoc||-1),s=!n||r.type!=ct.Text||!(i.lineWrapping||r.widgetLineBreaks)?null:i.coordsAtPos(e.assoc<0&&e.head>r.from?e.head-1:e.head);if(s){let o=i.dom.getBoundingClientRect(),a=i.textDirectionAt(r.from),l=i.posAtCoords({x:t==(a==ue.LTR)?o.right-1:o.left+1,y:(s.top+s.bottom)/2});if(l!=null)return P.cursor(l,t?-1:1)}return P.cursor(t?r.to:r.from,t?-1:1)}function Cf(i,e,t,n){let r=i.state.doc.lineAt(e.head),s=i.bidiSpans(r),o=i.textDirectionAt(r.from);for(let a=e,l=null;;){let c=Z0(r,s,o,a,t),h=su;if(!c){if(r.number==(t?i.state.doc.lines:1))return a;h=` +`,r=i.state.doc.line(r.number+(t?1:-1)),s=i.bidiSpans(r),c=i.visualLineSide(r,!t)}if(l){if(!l(h))return a}else{if(!n)return c;l=n(h)}a=c}}function iQ(i,e,t){let n=i.state.charCategorizer(e),r=n(t);return s=>{let o=n(s);return r==Ee.Space&&(r=o),r==o}}function nQ(i,e,t,n){let r=e.head,s=t?1:-1;if(r==(t?i.state.doc.length:0))return P.cursor(r,e.assoc);let o=e.goalColumn,a,l=i.contentDOM.getBoundingClientRect(),c=i.coordsAtPos(r,e.assoc||((e.empty?t:e.head==e.from)?1:-1)),h=i.documentTop;if(c)o==null&&(o=c.left-l.left),a=s<0?c.top:c.bottom;else{let p=i.viewState.lineBlockAt(r);o==null&&(o=Math.min(l.right-l.left,i.defaultCharacterWidth*(r-p.from))),a=(s<0?p.top:p.bottom)+h}let f=l.left+o,u=i.viewState.heightOracle.textHeight>>1,O=n??u;for(let p=0;;p+=u){let m=a+(O+p)*s,b=wa(i,{x:f,y:m},!1,s);if(t?m>l.bottom:ma:Q{if(e>s&&er(i)),t.from,e.head>t.from?-1:1);return n==t.from?t:P.cursor(n,ni.viewState.docHeight)return new ot(i.state.doc.length,-1);if(c=i.elementAtHeight(l),n==null)break;if(c.type==ct.Text){if(n<0?c.toi.viewport.to)break;let u=i.docView.coordsAt(n<0?c.from:c.to,n>0?-1:1);if(u&&(n<0?u.top<=l+s:u.bottom>=l+s))break}let f=i.viewState.heightOracle.textHeight/2;l=n>0?c.bottom+f:c.top-f}if(i.viewport.from>=c.to||i.viewport.to<=c.from){if(t)return null;if(c.type==ct.Text){let f=J0(i,r,c,o,a);return new ot(f,f==c.from?1:-1)}}if(c.type!=ct.Text)return l<(c.top+c.bottom)/2?new ot(c.from,1):new ot(c.to,-1);let h=i.docView.lineAt(c.from,2);return(!h||h.length!=c.length)&&(h=i.docView.lineAt(c.from,-2)),new Pa(i,o,a,i.textDirectionAt(c.from)).scanTile(h,c.from)}var Pa=class{constructor(e,t,n,r){this.view=e,this.x=t,this.y=n,this.baseDir=r,this.line=null,this.spans=null}bidiSpansAt(e){return(!this.line||this.line.from>e||this.line.to1||n.length&&(n[0].level!=this.baseDir||n[0].to+r.from>1;t:if(o.has(m)){let g=r+Math.floor(Math.random()*p);for(let Q=0;Q1)){if(Q.bottomthis.y)(!c||c.top>Q.top)&&(c=Q),S=-1;else{let x=Q.left>this.x?this.x-Q.left:Q.right(p+p+m)/3)return this.y=l.bottom-1,this.scan(e,t,!0);if(c&&c.top<(p+m+m)/3)return this.y=c.top+1,this.scan(e,t,!0)}let O=(a?this.dirAt(e[h],1):this.baseDir)==ue.LTR;return{i:h,after:this.x>(u.left+u.right)/2==O}}scanText(e,t){let n=[];for(let s=0;s{let o=n[s]-t,a=n[s+1]-t;return rr(e.dom,o,a).getClientRects()});return r.after?new ot(n[r.i+1],-1):new ot(n[r.i],1)}scanTile(e,t){if(!e.length)return new ot(t,1);if(e.children.length==1){let a=e.children[0];if(a.isText())return this.scanText(a,t);if(a.isComposite())return this.scanTile(a,t)}let n=[t];for(let a=0,l=t;a{let l=e.children[a];return l.flags&48?null:(l.dom.nodeType==1?l.dom:rr(l.dom,0,l.length)).getClientRects()}),s=e.children[r.i],o=n[r.i];return s.isText()?this.scanText(s,o):s.isComposite()?this.scanTile(s,o):r.after?new ot(n[r.i+1],-1):new ot(o,1)}},ln="\uFFFF",va=class{constructor(e,t){this.points=e,this.view=t,this.text="",this.lineSeparator=t.state.facet(se.lineSeparator)}append(e){this.text+=e}lineBreak(){this.text+=ln}readRange(e,t){if(!e)return this;let n=e.parentNode;for(let r=e;;){this.findPointBefore(n,r);let s=this.text.length;this.readNode(r);let o=fe.get(r),a=r.nextSibling;if(a==t){o?.breakAfter&&!a&&n!=this.view.contentDOM&&this.lineBreak();break}let l=fe.get(a);(o&&l?o.breakAfter:(o?o.breakAfter:cs(r))||cs(a)&&(r.nodeName!="BR"||o?.isWidget())&&this.text.length>s)&&!sQ(a,t)&&this.lineBreak(),r=a}return this.findPointBefore(n,t),this}readTextNode(e){let t=e.nodeValue;for(let n of this.points)n.node==e&&(n.pos=this.text.length+Math.min(n.offset,t.length));for(let n=0,r=this.lineSeparator?null:/\r\n?|\n/g;;){let s=-1,o=1,a;if(this.lineSeparator?(s=t.indexOf(this.lineSeparator,n),o=this.lineSeparator.length):(a=r.exec(t))&&(s=a.index,o=a[0].length),this.append(t.slice(n,s<0?t.length:s)),s<0)break;if(this.lineBreak(),o>1)for(let l of this.points)l.node==e&&l.pos>this.text.length&&(l.pos-=o-1);n=s+o}}readNode(e){let t=fe.get(e),n=t&&t.overrideDOMText;if(n!=null){this.findPointInside(e,n.length);for(let r=n.iter();!r.next().done;)r.lineBreak?this.lineBreak():this.append(r.value)}else e.nodeType==3?this.readTextNode(e):e.nodeName=="BR"?e.nextSibling&&this.lineBreak():e.nodeType==1&&this.readRange(e.firstChild,null)}findPointBefore(e,t){for(let n of this.points)n.node==e&&e.childNodes[n.offset]==t&&(n.pos=this.text.length)}findPointInside(e,t){for(let n of this.points)(e.nodeType==3?n.node==e:e.contains(n.node))&&(n.pos=this.text.length+(rQ(e,n.node,n.offset)?t:0))}};function rQ(i,e,t){for(;;){if(!e||t-1;let{impreciseHead:s,impreciseAnchor:o}=e.docView,a=e.state.selection;if(e.state.readOnly&&t>-1)this.newSel=null;else if(t>-1&&(this.bounds=xu(e.docView.tile,t,n,0))){let l=s||o?[]:aQ(e),c=new va(l,e);c.readRange(this.bounds.startDOM,this.bounds.endDOM),this.text=c.text,this.newSel=lQ(l,this.bounds.from)}else{let l=e.observer.selectionRange,c=s&&s.node==l.focusNode&&s.offset==l.focusOffset||!ha(e.contentDOM,l.focusNode)?a.main.head:e.docView.posFromDOM(l.focusNode,l.focusOffset),h=o&&o.node==l.anchorNode&&o.offset==l.anchorOffset||!ha(e.contentDOM,l.anchorNode)?a.main.anchor:e.docView.posFromDOM(l.anchorNode,l.anchorOffset),f=e.viewport;if((L.ios||L.chrome)&&c!=h&&Math.min(c,h)<=a.main.from&&Math.max(c,h)>=a.main.to&&(f.from>0||f.to-1&&a.ranges.length>1)this.newSel=a.replaceRange(P.range(h,c));else if(e.lineWrapping&&h==c&&!(a.main.empty&&a.main.head==c)&&e.inputState.lastTouchTime>Date.now()-100){let u=e.coordsAtPos(c,-1),O=0;u&&(O=e.inputState.lastTouchY<=u.bottom?-1:1),this.newSel=P.create([P.cursor(c,O)])}else this.newSel=P.single(h,c)}}};function xu(i,e,t,n){if(i.isComposite()){let r=-1,s=-1,o=-1,a=-1;for(let l=0,c=n,h=n;lt)return xu(f,e,t,c);if(u>=e&&r==-1&&(r=l,s=c),c>t&&f.dom.parentNode==i.dom){o=l,a=h;break}h=u,c=u+f.breakAfter}return{from:s,to:a<0?n+i.length:a,startDOM:(r?i.children[r-1].dom.nextSibling:null)||i.dom.firstChild,endDOM:o=0?i.children[o].dom:null}}else return i.isText()?{from:n,to:n+i.length,startDOM:i.dom,endDOM:i.dom.nextSibling}:null}function wu(i,e){let t,{newSel:n}=e,{state:r}=i,s=r.selection.main,o=i.inputState.lastKeyTime>Date.now()-100?i.inputState.lastKeyCode:-1;if(e.bounds){let{from:a,to:l}=e.bounds,c=s.from,h=null;(o===8||L.android&&e.text.length=a&&s.to<=l&&(e.typeOver||f!=e.text)&&f.slice(0,s.from-a)==e.text.slice(0,s.from-a)&&f.slice(s.to-a)==e.text.slice(u=e.text.length-(f.length-(s.to-a)))?t={from:s.from,to:s.to,insert:K.of(e.text.slice(s.from-a,u).split(ln))}:(O=Pu(f,e.text,c-a,h))&&(L.chrome&&o==13&&O.toB==O.from+2&&e.text.slice(O.from,O.toB)==ln+ln&&O.toB--,t={from:a+O.from,to:a+O.toA,insert:K.of(e.text.slice(O.from,O.toB).split(ln))})}else n&&(!i.hasFocus&&r.facet(Mt)||ps(n,s))&&(n=null);if(!t&&!n)return!1;if((L.mac||L.android)&&t&&t.from==t.to&&t.from==s.head-1&&/^\. ?$/.test(t.insert.toString())&&i.contentDOM.getAttribute("autocorrect")=="off"?(n&&t.insert.length==2&&(n=P.single(n.main.anchor-1,n.main.head-1)),t={from:t.from,to:t.to,insert:K.of([t.insert.toString().replace("."," ")])}):r.doc.lineAt(s.from).toDate.now()-50?t={from:s.from,to:s.to,insert:r.toText(i.inputState.insertingText)}:L.chrome&&t&&t.from==t.to&&t.from==s.head&&t.insert.toString()==` + `&&i.lineWrapping&&(n&&(n=P.single(n.main.anchor-1,n.main.head-1)),t={from:s.from,to:s.to,insert:K.of([" "])}),t)return Ha(i,t,n,o);if(n&&!ps(n,s)){let a=!1,l="select";return i.inputState.lastSelectionTime>Date.now()-50&&(i.inputState.lastSelectionOrigin=="select"&&(a=!0),l=i.inputState.lastSelectionOrigin,l=="select.pointer"&&(n=ku(r.facet(sr).map(c=>c(i)),n))),i.dispatch({selection:n,scrollIntoView:a,userEvent:l}),!0}else return!1}function Ha(i,e,t,n=-1){if(L.ios&&i.inputState.flushIOSKey(e))return!0;let r=i.state.selection.main;if(L.android&&(e.to==r.to&&(e.from==r.from||e.from==r.from-1&&i.state.sliceDoc(e.from,r.from)==" ")&&e.insert.length==1&&e.insert.lines==2&&un(i.contentDOM,"Enter",13)||(e.from==r.from-1&&e.to==r.to&&e.insert.length==0||n==8&&e.insert.lengthr.head)&&un(i.contentDOM,"Backspace",8)||e.from==r.from&&e.to==r.to+1&&e.insert.length==0&&un(i.contentDOM,"Delete",46)))return!0;let s=e.insert.toString();i.inputState.composing>=0&&i.inputState.composing++;let o,a=()=>o||(o=oQ(i,e,t));return i.state.facet(hu).some(l=>l(i,e.from,e.to,s,a))||i.dispatch(a()),!0}function oQ(i,e,t){let n,r=i.state,s=r.selection.main,o=-1;if(e.from==e.to&&e.froms.to){let l=e.fromf(i)),c,l);e.from==h&&(o=h)}if(o>-1)n={changes:e,selection:P.cursor(e.from+e.insert.length,-1)};else if(e.from>=s.from&&e.to<=s.to&&e.to-e.from>=(s.to-s.from)/3&&(!t||t.main.empty&&t.main.from==e.from+e.insert.length)&&i.inputState.composing<0){let l=s.frome.to?r.sliceDoc(e.to,s.to):"";n=r.replaceSelection(i.state.toText(l+e.insert.sliceString(0,void 0,i.state.lineBreak)+c))}else{let l=r.changes(e),c=t&&t.main.to<=l.newLength?t.main:void 0;if(r.selection.ranges.length>1&&(i.inputState.composing>=0||i.inputState.compositionPendingChange)&&e.to<=s.to+10&&e.to>=s.to-10){let h=i.state.sliceDoc(e.from,e.to),f,u=t&&yu(i,t.main.head);if(u){let p=e.insert.length-(e.to-e.from);f={from:u.from,to:u.to-p}}else f=i.state.doc.lineAt(s.head);let O=s.to-e.to;n=r.changeByRange(p=>{if(p.from==s.from&&p.to==s.to)return{changes:l,range:c||p.map(l)};let m=p.to-O,b=m-h.length;if(i.state.sliceDoc(b,m)!=h||m>=f.from&&b<=f.to)return{range:p};let g=r.changes({from:b,to:m,insert:e.insert}),Q=p.to-s.to;return{changes:g,range:c?P.range(Math.max(0,c.anchor+Q),Math.max(0,c.head+Q)):p.map(g)}})}else n={changes:l,selection:c&&r.selection.replaceRange(c)}}let a="input.type";return(i.composing||i.inputState.compositionPendingChange&&i.inputState.compositionEndedAt>Date.now()-50)&&(i.inputState.compositionPendingChange=!1,a+=".compose",i.inputState.compositionFirstChange&&(a+=".start",i.inputState.compositionFirstChange=!1)),r.update(n,{userEvent:a,scrollIntoView:!0})}function Pu(i,e,t,n){let r=Math.min(i.length,e.length),s=0;for(;s0&&a>0&&i.charCodeAt(o-1)==e.charCodeAt(a-1);)o--,a--;if(n=="end"){let l=Math.max(0,s-Math.min(o,a));t-=o+l-s}if(o=o?s-t:0;s-=l,a=s+(a-o),o=s}else if(a=a?s-t:0;s-=l,o=s+(o-a),a=s}return{from:s,toA:o,toB:a}}function aQ(i){let e=[];if(i.root.activeElement!=i.contentDOM)return e;let{anchorNode:t,anchorOffset:n,focusNode:r,focusOffset:s}=i.observer.selectionRange;return t&&(e.push(new ds(t,n)),(r!=t||s!=n)&&e.push(new ds(r,s))),e}function lQ(i,e){if(i.length==0)return null;let t=i[0].pos,n=i.length==2?i[1].pos:t;return t>-1&&n>-1?P.single(t+e,n+e):null}function ps(i,e){return e.head==i.main.head&&e.anchor==i.main.anchor}var Ta=class{setSelectionOrigin(e){this.lastSelectionOrigin=e,this.lastSelectionTime=Date.now()}constructor(e){this.view=e,this.lastKeyCode=0,this.lastKeyTime=0,this.touchActive=!1,this.lastTouchTime=0,this.lastTouchX=0,this.lastTouchY=0,this.lastFocusTime=0,this.lastScrollTop=0,this.lastScrollLeft=0,this.lastWheelEvent=0,this.pendingIOSKey=void 0,this.lastIOSMomentumScroll=0,this.tabFocusMode=-1,this.lastSelectionOrigin=null,this.lastSelectionTime=0,this.lastContextMenu=0,this.scrollHandlers=[],this.handlers=Object.create(null),this.composing=-1,this.compositionFirstChange=null,this.compositionEndedAt=0,this.compositionPendingKey=!1,this.compositionPendingChange=!1,this.insertingText="",this.insertingTextAt=0,this.mouseSelection=null,this.draggedContent=null,this.handleEvent=this.handleEvent.bind(this),this.notifiedFocused=e.hasFocus,L.safari&&e.contentDOM.addEventListener("input",()=>null),L.gecko&&xQ(e.contentDOM.ownerDocument)}handleEvent(e){!mQ(this.view,e)||this.ignoreDuringComposition(e)||e.type=="keydown"&&this.keydown(e)||(this.view.updateState!=0?Promise.resolve().then(()=>this.runHandlers(e.type,e)):this.runHandlers(e.type,e))}runHandlers(e,t){let n=this.handlers[e];if(n){for(let r of n.observers)r(this.view,t);for(let r of n.handlers){if(t.defaultPrevented)break;if(r(this.view,t)){t.preventDefault();break}}}}ensureHandlers(e){let t=hQ(e),n=this.handlers,r=this.view.contentDOM;for(let s in t)if(s!="scroll"){let o=!t[s].handlers.length,a=n[s];a&&o!=!a.handlers.length&&(r.removeEventListener(s,this.handleEvent),a=null),a||r.addEventListener(s,this.handleEvent,{passive:o})}for(let s in n)s!="scroll"&&!t[s]&&r.removeEventListener(s,this.handleEvent);this.handlers=t}keydown(e){if(this.lastKeyCode=e.keyCode,this.lastKeyTime=Date.now(),e.keyCode==9&&this.tabFocusMode>-1&&(!this.tabFocusMode||Date.now()<=this.tabFocusMode))return!0;if(this.tabFocusMode>0&&e.keyCode!=27&&$u.indexOf(e.keyCode)<0&&(this.tabFocusMode=-1),L.android&&L.chrome&&!e.synthetic&&(e.keyCode==13||e.keyCode==8))return this.view.observer.delayAndroidKey(e.key,e.keyCode),!0;if(L.ios&&!e.synthetic&&!e.altKey&&!e.metaKey&&(vu.some(t=>t.keyCode==e.keyCode)&&!e.ctrlKey||fQ.indexOf(e.key)>-1&&e.ctrlKey)){let t={ctrlKey:e.ctrlKey,altKey:e.altKey,metaKey:e.metaKey,shiftKey:e.shiftKey};return t.shiftKey&&L.ios&&!/^(off|none)$/.test(this.view.contentDOM.autocapitalize)&&cQ(this.view.win)&&(t.shiftKey=!1),this.pendingIOSKey={key:e.key,keyCode:e.keyCode,mods:t},setTimeout(()=>this.flushIOSKey(),250),!0}return e.keyCode!=229&&this.view.observer.forceFlush(),!1}flushIOSKey(e){let t=this.pendingIOSKey;return!t||t.key=="Enter"&&e&&e.from0?!0:L.safari&&!L.ios&&this.compositionPendingKey&&Date.now()-this.compositionEndedAt<100?(this.compositionPendingKey=!1,!0):!1}startMouseSelection(e){this.mouseSelection&&this.mouseSelection.destroy(),this.mouseSelection=e}update(e){this.view.observer.update(e),this.mouseSelection&&this.mouseSelection.update(e),this.draggedContent&&e.docChanged&&(this.draggedContent=this.draggedContent.map(e.changes)),e.transactions.length&&(this.lastKeyCode=this.lastSelectionTime=0)}destroy(){this.mouseSelection&&this.mouseSelection.destroy()}};function cQ(i){return i.visualViewport?i.visualViewport.height*i.visualViewport.scale/i.document.documentElement.clientHeight<.85:!1}function Xf(i,e){return(t,n)=>{try{return e.call(i,n,t)}catch(r){lt(t.state,r)}}}function hQ(i){let e=Object.create(null);function t(n){return e[n]||(e[n]={observers:[],handlers:[]})}for(let n of i){let r=n.spec,s=r&&r.plugin.domEventHandlers,o=r&&r.plugin.domEventObservers;if(s)for(let a in s){let l=s[a];l&&t(a).handlers.push(Xf(n.value,l))}if(o)for(let a in o){let l=o[a];l&&t(a).observers.push(Xf(n.value,l))}}for(let n in Qt)t(n).handlers.push(Qt[n]);for(let n in Le)t(n).observers.push(Le[n]);return e}var vu=[{key:"Backspace",keyCode:8,inputType:"deleteContentBackward"},{key:"Enter",keyCode:13,inputType:"insertParagraph"},{key:"Enter",keyCode:13,inputType:"insertLineBreak"},{key:"Delete",keyCode:46,inputType:"deleteContentForward"}],fQ="dthko",$u=[16,17,18,20,91,92,224,225],es=6;function ts(i){return Math.max(0,i)*.7+8}function uQ(i,e){return Math.max(Math.abs(i.clientX-e.clientX),Math.abs(i.clientY-e.clientY))}var Ca=class{constructor(e,t,n,r){this.view=e,this.startEvent=t,this.style=n,this.mustSelect=r,this.scrollSpeed={x:0,y:0},this.scrolling=-1,this.lastEvent=t,this.scrollParents=Ff(e.contentDOM),this.atoms=e.state.facet(sr).map(o=>o(e));let s=e.contentDOM.ownerDocument;s.addEventListener("mousemove",this.move=this.move.bind(this)),s.addEventListener("mouseup",this.up=this.up.bind(this)),this.extend=t.shiftKey,this.multiple=e.state.facet(se.allowMultipleSelections)&&OQ(e,t),this.dragging=pQ(e,t)&&Xu(t)==1?null:!1}start(e){this.dragging===!1&&this.select(e)}move(e){if(e.buttons==0)return this.destroy();if(this.dragging||this.dragging==null&&uQ(this.startEvent,e)<10)return;this.select(this.lastEvent=e);let t=0,n=0,r=0,s=0,o=this.view.win.innerWidth,a=this.view.win.innerHeight;this.scrollParents.x&&({left:r,right:o}=this.scrollParents.x.getBoundingClientRect()),this.scrollParents.y&&({top:s,bottom:a}=this.scrollParents.y.getBoundingClientRect());let l=bu(this.view);e.clientX-l.left<=r+es?t=-ts(r-e.clientX):e.clientX+l.right>=o-es&&(t=ts(e.clientX-o)),e.clientY-l.top<=s+es?n=-ts(s-e.clientY):e.clientY+l.bottom>=a-es&&(n=ts(e.clientY-a)),this.setScrollSpeed(t,n)}up(e){this.dragging==null&&this.select(this.lastEvent),this.dragging||e.preventDefault(),this.destroy()}destroy(){this.setScrollSpeed(0,0);let e=this.view.contentDOM.ownerDocument;e.removeEventListener("mousemove",this.move),e.removeEventListener("mouseup",this.up),this.view.inputState.mouseSelection=this.view.inputState.draggedContent=null}setScrollSpeed(e,t){this.scrollSpeed={x:e,y:t},e||t?this.scrolling<0&&(this.scrolling=setInterval(()=>this.scroll(),50)):this.scrolling>-1&&(clearInterval(this.scrolling),this.scrolling=-1)}scroll(){let{x:e,y:t}=this.scrollSpeed;e&&this.scrollParents.x&&(this.scrollParents.x.scrollLeft+=e,e=0),t&&this.scrollParents.y&&(this.scrollParents.y.scrollTop+=t,t=0),(e||t)&&this.view.win.scrollBy(e,t),this.dragging===!1&&this.select(this.lastEvent)}select(e){let{view:t}=this,n=ku(this.atoms,this.style.get(e,this.extend,this.multiple));(this.mustSelect||!n.eq(t.state.selection,this.dragging===!1))&&this.view.dispatch({selection:n,userEvent:"select.pointer"}),this.mustSelect=!1}update(e){e.transactions.some(t=>t.isUserEvent("input.type"))?this.destroy():this.style.update(e)&&setTimeout(()=>this.select(this.lastEvent),20)}};function OQ(i,e){let t=i.state.facet(ou);return t.length?t[0](e):L.mac?e.metaKey:e.ctrlKey}function dQ(i,e){let t=i.state.facet(au);return t.length?t[0](e):L.mac?!e.altKey:!e.ctrlKey}function pQ(i,e){let{main:t}=i.state.selection;if(t.empty)return!1;let n=nr(i.root);if(!n||n.rangeCount==0)return!0;let r=n.getRangeAt(0).getClientRects();for(let s=0;s=e.clientX&&o.top<=e.clientY&&o.bottom>=e.clientY)return!0}return!1}function mQ(i,e){if(!e.bubbles)return!0;if(e.defaultPrevented)return!1;for(let t=e.target,n;t!=i.contentDOM;t=t.parentNode)if(!t||t.nodeType==11||(n=fe.get(t))&&n.isWidget()&&!n.isHidden&&n.widget.ignoreEvent(e))return!1;return!0}var Qt=Object.create(null),Le=Object.create(null),Tu=L.ie&&L.ie_version<15||L.ios&&L.webkit_version<604;function gQ(i){let e=i.dom.parentNode;if(!e)return;let t=e.appendChild(document.createElement("textarea"));t.style.cssText="position: fixed; left: -10000px; top: 10px",t.focus(),setTimeout(()=>{i.focus(),t.remove(),Cu(i,t.value)},50)}function ks(i,e,t){for(let n of i.facet(e))t=n(t,i);return t}function Cu(i,e){e=ks(i.state,Ua,e);let{state:t}=i,n,r=1,s=t.toText(e),o=s.lines==t.selection.ranges.length;if(Xa!=null&&t.selection.ranges.every(l=>l.empty)&&Xa==s.toString()){let l=-1;n=t.changeByRange(c=>{let h=t.doc.lineAt(c.from);if(h.from==l)return{range:c};l=h.from;let f=t.toText((o?s.line(r++).text:e)+t.lineBreak);return{changes:{from:h.from,insert:f},range:P.cursor(c.from+f.length)}})}else o?n=t.changeByRange(l=>{let c=s.line(r++);return{changes:{from:l.from,to:l.to,insert:c.text},range:P.cursor(l.from+c.length)}}):n=t.replaceSelection(s);i.dispatch(n,{userEvent:"input.paste",scrollIntoView:!0})}Le.scroll=i=>{let e=i.inputState;e.lastScrollTop=i.scrollDOM.scrollTop,e.lastScrollLeft=i.scrollDOM.scrollLeft,L.ios&&!e.touchActive&&(e.lastIOSMomentumScroll=Date.now())};Le.wheel=Le.mousewheel=i=>{i.inputState.lastWheelEvent=Date.now()};Qt.keydown=(i,e)=>(i.inputState.setSelectionOrigin("select"),e.keyCode==27&&i.inputState.tabFocusMode!=0&&(i.inputState.tabFocusMode=Date.now()+2e3),!1);Le.touchstart=(i,e)=>{let t=i.inputState,n=e.targetTouches[0];t.touchActive=!0,t.lastTouchTime=Date.now(),n&&(t.lastTouchX=n.clientX,t.lastTouchY=n.clientY),t.setSelectionOrigin("select.pointer")};Le.touchmove=i=>{i.inputState.setSelectionOrigin("select.pointer")};Le.touchend=(i,e)=>{i.inputState.touchActive=!1};Qt.mousedown=(i,e)=>{if(i.observer.flush(),i.inputState.lastTouchTime>Date.now()-2e3)return!1;let t=null;for(let n of i.state.facet(lu))if(t=n(i,e),t)break;if(!t&&e.button==0&&(t=bQ(i,e)),t){let n=!i.hasFocus;i.inputState.startMouseSelection(new Ca(i,e,t,n)),n&&i.observer.ignore(()=>{Hf(i.contentDOM);let s=i.root.activeElement;s&&!s.contains(i.contentDOM)&&s.blur()});let r=i.inputState.mouseSelection;if(r)return r.start(e),r.dragging===!1}else i.inputState.setSelectionOrigin("select.pointer");return!1};function _f(i,e,t,n){if(n==1)return P.cursor(e,t);if(n==2)return K0(i.state,e,t);{let r=i.docView.lineAt(e,t),s=i.state.doc.lineAt(r?r.posAtEnd:e),o=r?r.posAtStart:s.from,a=r?r.posAtEnd:s.to;return aDate.now()-400&&Math.abs(e.clientX-i.clientX)<2&&Math.abs(e.clientY-i.clientY)<2?(Af+1)%3:1}function bQ(i,e){let t=i.posAndSideAtCoords({x:e.clientX,y:e.clientY},!1),n=Xu(e),r=i.state.selection;return{update(s){s.docChanged&&(t.pos=s.changes.mapPos(t.pos),r=r.map(s.changes))},get(s,o,a){let l=i.posAndSideAtCoords({x:s.clientX,y:s.clientY},!1),c,h=_f(i,l.pos,l.assoc,n);if(t.pos!=l.pos&&!o){let f=_f(i,t.pos,t.assoc,n),u=Math.min(f.from,h.from),O=Math.max(f.to,h.to);h=u1&&(c=SQ(r,l.pos))?c:a?r.addRange(h):P.create([h])}}}function SQ(i,e){for(let t=0;t=e)return P.create(i.ranges.slice(0,t).concat(i.ranges.slice(t+1)),i.mainIndex==t?0:i.mainIndex-(i.mainIndex>t?1:0))}return null}Qt.dragstart=(i,e)=>{let{selection:{main:t}}=i.state;if(e.target.draggable){let r=i.docView.tile.nearest(e.target);if(r&&r.isWidget()){let s=r.posAtStart,o=s+r.length;(s>=t.to||o<=t.from)&&(t=P.undirectionalRange(s,o))}}let{inputState:n}=i;return n.mouseSelection&&(n.mouseSelection.dragging=!0),n.draggedContent=t,e.dataTransfer&&(e.dataTransfer.setData("Text",ks(i.state,Ga,i.state.sliceDoc(t.from,t.to))),e.dataTransfer.effectAllowed="copyMove"),!1};Qt.dragend=i=>(i.inputState.draggedContent=null,!1);function Ef(i,e,t,n){if(t=ks(i.state,Ua,t),!t)return;let r=i.posAtCoords({x:e.clientX,y:e.clientY},!1),{draggedContent:s}=i.inputState,o=n&&s&&dQ(i,e)?{from:s.from,to:s.to}:null,a={from:r,insert:t},l=i.state.changes(o?[o,a]:a);i.focus(),i.dispatch({changes:l,selection:{anchor:l.mapPos(r,-1),head:l.mapPos(r,1)},userEvent:o?"move.drop":"input.drop"}),i.inputState.draggedContent=null}Qt.drop=(i,e)=>{if(!e.dataTransfer)return!1;if(i.state.readOnly)return!0;let t=e.dataTransfer.files;if(t&&t.length){let n=Array(t.length),r=0,s=()=>{++r==t.length&&Ef(i,e,n.filter(o=>o!=null).join(i.state.lineBreak),!1)};for(let o=0;o{/[\x00-\x08\x0e-\x1f]{2}/.test(a.result)||(n[o]=a.result),s()},a.readAsText(t[o])}return!0}else{let n=e.dataTransfer.getData("Text");if(n)return Ef(i,e,n,!0),!0}return!1};Qt.paste=(i,e)=>{if(i.state.readOnly)return!0;i.observer.flush();let t=Tu?null:e.clipboardData;return t?(Cu(i,t.getData("text/plain")||t.getData("text/uri-list")),!0):(gQ(i),!1)};function yQ(i,e){let t=i.dom.parentNode;if(!t)return;let n=t.appendChild(document.createElement("textarea"));n.style.cssText="position: fixed; left: -10000px; top: 10px",n.value=e,n.focus(),n.selectionEnd=e.length,n.selectionStart=0,setTimeout(()=>{n.remove(),i.focus()},50)}function kQ(i){let e=[],t=[],n=!1;for(let r of i.selection.ranges)r.empty||(e.push(i.sliceDoc(r.from,r.to)),t.push(r));if(!e.length){let r=-1;for(let{from:s}of i.selection.ranges){let o=i.doc.lineAt(s);o.number>r&&(e.push(o.text),t.push({from:o.from,to:Math.min(i.doc.length,o.to+1)})),r=o.number}n=!0}return{text:ks(i,Ga,e.join(i.lineBreak)),ranges:t,linewise:n}}var Xa=null;Qt.copy=Qt.cut=(i,e)=>{if(!Gn(i.contentDOM,i.observer.selectionRange))return!1;let{text:t,ranges:n,linewise:r}=kQ(i.state);if(!t&&!r)return!1;Xa=r?t:null,e.type=="cut"&&!i.state.readOnly&&i.dispatch({changes:n,scrollIntoView:!0,userEvent:"delete.cut"});let s=Tu?null:e.clipboardData;return s?(s.clearData(),s.setData("text/plain",t),!0):(yQ(i,t),!1)};var _u=_e.define();function Ru(i,e){let t=[];for(let n of i.facet(fu)){let r=n(i,e);r&&t.push(r)}return t.length?i.update({effects:t,annotations:_u.of(!0)}):null}function Au(i){setTimeout(()=>{let e=i.hasFocus;if(e!=i.inputState.notifiedFocused){let t=Ru(i.state,e);t?i.dispatch(t):i.update([])}},10)}Le.focus=i=>{i.inputState.lastFocusTime=Date.now(),!i.scrollDOM.scrollTop&&(i.inputState.lastScrollTop||i.inputState.lastScrollLeft)&&(i.scrollDOM.scrollTop=i.inputState.lastScrollTop,i.scrollDOM.scrollLeft=i.inputState.lastScrollLeft),Au(i)};Le.blur=i=>{i.observer.clearSelectionRange(),Au(i)};Le.compositionstart=Le.compositionupdate=i=>{i.observer.editContext||(i.inputState.compositionFirstChange==null&&(i.inputState.compositionFirstChange=!0),i.inputState.composing<0&&(i.inputState.composing=0))};Le.compositionend=i=>{i.observer.editContext||(i.inputState.composing=-1,i.inputState.compositionEndedAt=Date.now(),i.inputState.compositionPendingKey=!0,i.inputState.compositionPendingChange=i.observer.pendingRecords().length>0,i.inputState.compositionFirstChange=null,L.chrome&&L.android?i.observer.flushSoon():i.inputState.compositionPendingChange?Promise.resolve().then(()=>i.observer.flush()):setTimeout(()=>{i.inputState.composing<0&&i.docView.hasComposition&&i.update([])},50))};Le.contextmenu=i=>{i.inputState.lastContextMenu=Date.now()};Qt.beforeinput=(i,e)=>{var t,n;if((e.inputType=="insertText"||e.inputType=="insertCompositionText")&&(i.inputState.insertingText=e.data,i.inputState.insertingTextAt=Date.now()),e.inputType=="insertReplacementText"&&i.observer.editContext){let s=(t=e.dataTransfer)===null||t===void 0?void 0:t.getData("text/plain"),o=e.getTargetRanges();if(s&&o.length){let a=o[0],l=i.posAtDOM(a.startContainer,a.startOffset),c=i.posAtDOM(a.endContainer,a.endOffset);return Ha(i,{from:l,to:c,insert:i.state.toText(s)},null),!0}}let r;if(L.chrome&&L.android&&(r=vu.find(s=>s.inputType==e.inputType))&&(i.observer.delayAndroidKey(r.key,r.keyCode),r.key=="Backspace"||r.key=="Delete")){let s=((n=window.visualViewport)===null||n===void 0?void 0:n.height)||0;setTimeout(()=>{var o;(((o=window.visualViewport)===null||o===void 0?void 0:o.height)||0)>s+10&&i.hasFocus&&(i.contentDOM.blur(),i.focus())},100)}return L.ios&&e.inputType=="deleteContentForward"&&i.observer.flushSoon(),L.safari&&e.inputType=="insertText"&&i.inputState.composing>=0&&setTimeout(()=>Le.compositionend(i,e),20),!1};var qf=new Set;function xQ(i){qf.has(i)||(qf.add(i),i.addEventListener("copy",()=>{}),i.addEventListener("cut",()=>{}))}var zf=["pre-wrap","normal","pre-line","break-spaces"],gn=!1;function Lf(){gn=!1}var _a=class{constructor(e){this.lineWrapping=e,this.doc=K.empty,this.heightSamples={},this.lineHeight=14,this.charWidth=7,this.textHeight=14,this.lineLength=30}heightForGap(e,t){let n=this.doc.lineAt(t).number-this.doc.lineAt(e).number+1;return this.lineWrapping&&(n+=Math.max(0,Math.ceil((t-e-n*this.lineLength*.5)/this.lineLength))),this.lineHeight*n}heightForLine(e){return this.lineWrapping?(1+Math.max(0,Math.ceil((e-this.lineLength)/Math.max(1,this.lineLength-5))))*this.lineHeight:this.lineHeight}setDoc(e){return this.doc=e,this}mustRefreshForWrapping(e){return zf.indexOf(e)>-1!=this.lineWrapping}mustRefreshForHeights(e){let t=!1;for(let n=0;n-1,l=Math.abs(t-this.lineHeight)>.3||this.lineWrapping!=a;if(this.lineWrapping=a,this.lineHeight=t,this.charWidth=n,this.textHeight=r,this.lineLength=s,l){this.heightSamples={};for(let c=0;c0}set outdated(e){this.flags=(e?2:0)|this.flags&-3}setHeight(e){this.height!=e&&(Math.abs(this.height-e)>as&&(gn=!0),this.height=e)}replace(e,t,n){return i.of(n)}decomposeLeft(e,t){t.push(this)}decomposeRight(e,t){t.push(this)}applyChanges(e,t,n,r){let s=this,o=n.doc;for(let a=r.length-1;a>=0;a--){let{fromA:l,toA:c,fromB:h,toB:f}=r[a],u=s.lineAt(l,le.ByPosNoHeight,n.setDoc(t),0,0),O=u.to>=c?u:s.lineAt(c,le.ByPosNoHeight,n,0,0);for(f+=O.to-c,c=O.to;a>0&&u.from<=r[a-1].toA;)l=r[a-1].fromA,h=r[a-1].fromB,a--,ls*2){let a=e[t-1];a.break?e.splice(--t,1,a.left,null,a.right):e.splice(--t,1,a.left,a.right),n+=1+a.break,r-=a.size}else if(s>r*2){let a=e[n];a.break?e.splice(n,1,a.left,null,a.right):e.splice(n,1,a.left,a.right),n+=2+a.break,s-=a.size}else break;else if(r=s&&o(this.lineAt(0,le.ByPos,n,r,s))}setMeasuredHeight(e){let t=e.heights[e.index++];t<0?(this.spaceAbove=-t,t=e.heights[e.index++]):this.spaceAbove=0,this.setHeight(t)}updateHeight(e,t=0,n=!1,r){return r&&r.from<=t&&r.more&&this.setMeasuredHeight(r),this.outdated=!1,this}toString(){return`block(${this.length})`}},st=class i extends gs{constructor(e,t,n){super(e,t,null),this.collapsed=0,this.widgetHeight=0,this.breaks=0,this.spaceAbove=n}mainBlock(e,t){return new mt(t,this.length,e+this.spaceAbove,this.height-this.spaceAbove,this.breaks)}replace(e,t,n){let r=n[0];return n.length==1&&(r instanceof i||r instanceof ai&&r.flags&4)&&Math.abs(this.length-r.length)<10?(r instanceof ai?r=new i(r.length,this.height,this.spaceAbove):r.height=this.height,this.outdated||(r.outdated=!1),r):Fe.of(n)}updateHeight(e,t=0,n=!1,r){return r&&r.from<=t&&r.more?this.setMeasuredHeight(r):(n||this.outdated)&&(this.spaceAbove=0,this.setHeight(Math.max(this.widgetHeight,e.heightForLine(this.length-this.collapsed))+this.breaks*e.lineHeight)),this.outdated=!1,this}toString(){return`line(${this.length}${this.collapsed?-this.collapsed:""}${this.widgetHeight?":"+this.widgetHeight:""})`}},ai=class i extends Fe{constructor(e){super(e,0)}heightMetrics(e,t){let n=e.doc.lineAt(t).number,r=e.doc.lineAt(t+this.length).number,s=r-n+1,o,a=0;if(e.lineWrapping){let l=Math.min(this.height,e.lineHeight*s);o=l/s,this.length>s+1&&(a=(this.height-l)/(this.length-s-1))}else o=this.height/s;return{firstLine:n,lastLine:r,perLine:o,perChar:a}}blockAt(e,t,n,r){let{firstLine:s,lastLine:o,perLine:a,perChar:l}=this.heightMetrics(t,r);if(t.lineWrapping){let c=r+(e0){let s=n[n.length-1];s instanceof i?n[n.length-1]=new i(s.length+r):n.push(null,new i(r-1))}if(e>0){let s=n[0];s instanceof i?n[0]=new i(e+s.length):n.unshift(new i(e-1),null)}return Fe.of(n)}decomposeLeft(e,t){t.push(new i(e-1),null)}decomposeRight(e,t){t.push(null,new i(this.length-e-1))}updateHeight(e,t=0,n=!1,r){let s=t+this.length;if(r&&r.from<=t+this.length&&r.more){let o=[],a=Math.max(t,r.from),l=-1;for(r.from>t&&o.push(new i(r.from-t-1).updateHeight(e,t));a<=s&&r.more;){let h=e.doc.lineAt(a).length;o.length&&o.push(null);let f=r.heights[r.index++],u=0;f<0&&(u=-f,f=r.heights[r.index++]),l==-1?l=f:Math.abs(f-l)>=as&&(l=-2);let O=new st(h,f,u);O.outdated=!1,o.push(O),a+=h+1}a<=s&&o.push(null,new i(s-a).updateHeight(e,a));let c=Fe.of(o);return(l<0||Math.abs(c.height-this.height)>=as||Math.abs(l-this.heightMetrics(e,t).perLine)>=as)&&(gn=!0),ms(this,c)}else(n||this.outdated)&&(this.setHeight(e.heightForGap(t,t+this.length)),this.outdated=!1);return this}toString(){return`gap(${this.length})`}},Aa=class extends Fe{constructor(e,t,n){super(e.length+t+n.length,e.height+n.height,t|(e.outdated||n.outdated?2:0)),this.left=e,this.right=n,this.size=e.size+n.size}get break(){return this.flags&1}blockAt(e,t,n,r){let s=n+this.left.height;return ea))return c;let h=t==le.ByPosNoHeight?le.ByPosNoHeight:le.ByPos;return l?c.join(this.right.lineAt(a,h,n,o,a)):this.left.lineAt(a,h,n,r,s).join(c)}forEachLine(e,t,n,r,s,o){let a=r+this.left.height,l=s+this.left.length+this.break;if(this.break)e=l&&this.right.forEachLine(e,t,n,a,l,o);else{let c=this.lineAt(l,le.ByPos,n,r,s);e=e&&c.from<=t&&o(c),t>c.to&&this.right.forEachLine(c.to+1,t,n,a,l,o)}}replace(e,t,n){let r=this.left.length+this.break;if(tthis.left.length)return this.balanced(this.left,this.right.replace(e-r,t-r,n));let s=[];e>0&&this.decomposeLeft(e,s);let o=s.length;for(let a of n)s.push(a);if(e>0&&Mf(s,o-1),t=n&&t.push(null)),e>n&&this.right.decomposeLeft(e-n,t)}decomposeRight(e,t){let n=this.left.length,r=n+this.break;if(e>=r)return this.right.decomposeRight(e-r,t);e2*t.size||t.size>2*e.size?Fe.of(this.break?[e,null,t]:[e,t]):(this.left=ms(this.left,e),this.right=ms(this.right,t),this.setHeight(e.height+t.height),this.outdated=e.outdated||t.outdated,this.size=e.size+t.size,this.length=e.length+this.break+t.length,this)}updateHeight(e,t=0,n=!1,r){let{left:s,right:o}=this,a=t+s.length+this.break,l=null;return r&&r.from<=t+s.length&&r.more?l=s=s.updateHeight(e,t,n,r):s.updateHeight(e,t,n),r&&r.from<=a+o.length&&r.more?l=o=o.updateHeight(e,a,n,r):o.updateHeight(e,a,n),l?this.balanced(s,o):(this.height=this.left.height+this.right.height,this.outdated=!1,this)}toString(){return this.left+(this.break?" ":"-")+this.right}};function Mf(i,e){let t,n;i[e]==null&&(t=i[e-1])instanceof ai&&(n=i[e+1])instanceof ai&&i.splice(e-1,3,new ai(t.length+1+n.length))}var PQ=5,Za=class i{constructor(e,t){this.pos=e,this.oracle=t,this.nodes=[],this.lineStart=-1,this.lineEnd=-1,this.covering=null,this.writtenTo=e}get isCovered(){return this.covering&&this.nodes[this.nodes.length-1]==this.covering}span(e,t){if(this.lineStart>-1){let n=Math.min(t,this.lineEnd),r=this.nodes[this.nodes.length-1];r instanceof st?r.length+=n-this.pos:(n>this.pos||!this.isCovered)&&this.nodes.push(new st(n-this.pos,-1,0)),this.writtenTo=n,t>n&&(this.nodes.push(null),this.writtenTo++,this.lineStart=-1)}this.pos=t}point(e,t,n){if(e=PQ)&&this.addLineDeco(r,s,o)}else t>e&&this.span(e,t);this.lineEnd>-1&&this.lineEnd-1)return;let{from:e,to:t}=this.oracle.doc.lineAt(this.pos);this.lineStart=e,this.lineEnd=t,this.writtenToe&&this.nodes.push(new st(this.pos-e,-1,0)),this.writtenTo=this.pos}blankContent(e,t){let n=new ai(t-e);return this.oracle.doc.lineAt(e).to==t&&(n.flags|=4),n}ensureLine(){this.enterLine();let e=this.nodes.length?this.nodes[this.nodes.length-1]:null;if(e instanceof st)return e;let t=new st(0,-1,0);return this.nodes.push(t),t}addBlock(e){this.enterLine();let t=e.deco;t&&t.startSide>0&&!this.isCovered&&this.ensureLine(),this.nodes.push(e),this.writtenTo=this.pos=this.pos+e.length,t&&t.endSide>0&&(this.covering=e)}addLineDeco(e,t,n){let r=this.ensureLine();r.length+=n,r.collapsed+=n,r.widgetHeight=Math.max(r.widgetHeight,e),r.breaks+=t,this.writtenTo=this.pos=this.pos+n}finish(e){let t=this.nodes.length==0?null:this.nodes[this.nodes.length-1];this.lineStart>-1&&!(t instanceof st)&&!this.isCovered?this.nodes.push(new st(0,-1,0)):(this.writtenToh.clientHeight||h.scrollWidth>h.clientWidth)&&f.overflow!="visible"){let u=h.getBoundingClientRect();s=Math.max(s,u.left),o=Math.min(o,u.right),a=Math.max(a,u.top),l=Math.min(c==i.parentNode?r.innerHeight:l,u.bottom)}c=f.position=="absolute"||f.position=="fixed"?h.offsetParent:h.parentNode}else if(c.nodeType==11)c=c.host;else break;return{left:s-t.left,right:Math.max(s,o)-t.left,top:a-(t.top+e),bottom:Math.max(a,l)-(t.top+e)}}function TQ(i){let e=i.getBoundingClientRect(),t=i.ownerDocument.defaultView||window;return e.left0&&e.top0}function CQ(i,e){let t=i.getBoundingClientRect();return{left:0,right:t.right-t.left,top:e,bottom:t.bottom-(t.top+e)}}var er=class{constructor(e,t,n,r){this.from=e,this.to=t,this.size=n,this.displaySize=r}static same(e,t){if(e.length!=t.length)return!1;for(let n=0;ntypeof r!="function"&&r.class=="cm-lineWrapping");this.heightOracle=new _a(n),this.stateDeco=jf(t),this.heightMap=Fe.empty().applyChanges(this.stateDeco,K.empty,this.heightOracle.setDoc(t.doc),[new gt(0,0,0,t.doc.length)]);for(let r=0;r<2&&(this.viewport=this.getViewport(0,null),!!this.updateForViewport());r++);this.updateViewportLines(),this.lineGaps=this.ensureLineGaps([]),this.lineGapDeco=Z.set(this.lineGaps.map(r=>r.draw(this,!1))),this.scrollParent=e.scrollDOM,this.computeVisibleRanges()}updateForViewport(){let e=[this.viewport],{main:t}=this.state.selection;for(let n=0;n<=1;n++){let r=n?t.head:t.anchor;if(!e.some(({from:s,to:o})=>r>=s&&r<=o)){let{from:s,to:o}=this.lineBlockAt(r);e.push(new hn(s,o))}}return this.viewports=e.sort((n,r)=>n.from-r.from),this.updateScaler()}updateScaler(){let e=this.scaler;return this.scaler=this.heightMap.height<=7e6?Wf:new za(this.heightOracle,this.heightMap,this.viewports),e.eq(this.scaler)?0:2}updateViewportLines(){this.viewportLines=[],this.heightMap.forEachLine(this.viewport.from,this.viewport.to,this.heightOracle.setDoc(this.state.doc),0,0,e=>{this.viewportLines.push(Bn(e,this.scaler))})}update(e,t=null){this.state=e.state;let n=this.stateDeco;this.stateDeco=jf(this.state);let r=e.changedRanges,s=gt.extendWithRanges(r,vQ(n,this.stateDeco,e?e.changes:qe.empty(this.state.doc.length))),o=this.heightMap.height,a=this.scrolledToBottom?null:this.scrollAnchorAt(this.scrollOffset);Lf(),this.heightMap=this.heightMap.applyChanges(this.stateDeco,e.startState.doc,this.heightOracle.setDoc(this.state.doc),s),(this.heightMap.height!=o||gn)&&(e.flags|=2),a?(this.scrollAnchorPos=e.changes.mapPos(a.from,-1),this.scrollAnchorHeight=a.top):(this.scrollAnchorPos=-1,this.scrollAnchorHeight=o);let l=s.length?this.mapViewport(this.viewport,e.changes):this.viewport;(t&&(t.range.headl.to)||!this.viewportIsAppropriate(l))&&(l=this.getViewport(0,t));let c=l.from!=this.viewport.from||l.to!=this.viewport.to;this.viewport=l,e.flags|=this.updateForViewport(),(c||!e.changes.empty||e.flags&2)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(this.mapLineGaps(this.lineGaps,e.changes))),e.flags|=this.computeVisibleRanges(e.changes),t&&(this.scrollTarget=t),!this.mustEnforceCursorAssoc&&(e.selectionSet||e.focusChanged)&&e.view.lineWrapping&&e.state.selection.main.empty&&e.state.selection.main.assoc&&!e.state.facet(q0)&&(this.mustEnforceCursorAssoc=!0)}measure(){let{view:e}=this,t=e.contentDOM,n=window.getComputedStyle(t),r=this.heightOracle,s=n.whiteSpace;this.defaultTextDirection=n.direction=="rtl"?ue.RTL:ue.LTR;let o=this.heightOracle.mustRefreshForWrapping(s)||this.mustMeasureContent==="refresh",a=t.getBoundingClientRect(),l=o||this.mustMeasureContent||this.contentDOMHeight!=a.height;this.contentDOMHeight=a.height,this.mustMeasureContent=!1;let c=0,h=0;if(a.width&&a.height){let{scaleX:v,scaleY:$}=Nf(t,a);(v>.005&&Math.abs(this.scaleX-v)>.005||$>.005&&Math.abs(this.scaleY-$)>.005)&&(this.scaleX=v,this.scaleY=$,c|=16,o=l=!0)}let f=(parseInt(n.paddingTop)||0)*this.scaleY,u=(parseInt(n.paddingBottom)||0)*this.scaleY;(this.paddingTop!=f||this.paddingBottom!=u)&&(this.paddingTop=f,this.paddingBottom=u,c|=18),this.editorWidth!=e.scrollDOM.clientWidth&&(r.lineWrapping&&(l=!0),this.editorWidth=e.scrollDOM.clientWidth,c|=16);let O=Ff(this.view.contentDOM,!1).y;O!=this.scrollParent&&(this.scrollParent=O,this.scrollAnchorHeight=-1,this.scrollOffset=0);let p=this.getScrollOffset();this.scrollOffset!=p&&(this.scrollAnchorHeight=-1,this.scrollOffset=p),this.scrolledToBottom=Kf(this.scrollParent||e.win);let m=(this.printing?CQ:$Q)(t,this.paddingTop),b=m.top-this.pixelViewport.top,g=m.bottom-this.pixelViewport.bottom;this.pixelViewport=m;let Q=this.pixelViewport.bottom>this.pixelViewport.top&&this.pixelViewport.right>this.pixelViewport.left;if(Q!=this.inView&&(this.inView=Q,Q&&(l=!0)),!this.inView&&!this.scrollTarget&&!TQ(e.dom))return 0;let S=a.width;if((this.contentDOMWidth!=S||this.editorHeight!=e.scrollDOM.clientHeight)&&(this.contentDOMWidth=a.width,this.editorHeight=e.scrollDOM.clientHeight,c|=16),l){let v=e.docView.measureVisibleLineHeights(this.viewport);if(r.mustRefreshForHeights(v)&&(o=!0),o||r.lineWrapping&&Math.abs(S-this.contentDOMWidth)>r.charWidth){let{lineHeight:$,charWidth:R,textHeight:_}=e.docView.measureTextSize();o=$>0&&r.refresh(s,$,R,_,Math.max(5,S/R),v),o&&(e.docView.minWidth=0,c|=16)}b>0&&g>0?h=Math.max(b,g):b<0&&g<0&&(h=Math.min(b,g)),Lf();for(let $ of this.viewports){let R=$.from==this.viewport.from?v:e.docView.measureVisibleLineHeights($);this.heightMap=(o?Fe.empty().applyChanges(this.stateDeco,K.empty,this.heightOracle,[new gt(0,0,0,e.state.doc.length)]):this.heightMap).updateHeight(r,0,o,new Ra($.from,R))}gn&&(c|=2)}let x=!this.viewportIsAppropriate(this.viewport,h)||this.scrollTarget&&(this.scrollTarget.range.headthis.viewport.to);return x&&(c&2&&(c|=this.updateScaler()),this.viewport=this.getViewport(h,this.scrollTarget),c|=this.updateForViewport()),(c&2||x)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(o?[]:this.lineGaps,e)),c|=this.computeVisibleRanges(),this.mustEnforceCursorAssoc&&(this.mustEnforceCursorAssoc=!1,e.docView.enforceCursorAssoc()),c}get visibleTop(){return this.scaler.fromDOM(this.pixelViewport.top)}get visibleBottom(){return this.scaler.fromDOM(this.pixelViewport.bottom)}getViewport(e,t){let n=.5-Math.max(-.5,Math.min(.5,e/1e3/2)),r=this.heightMap,s=this.heightOracle,{visibleTop:o,visibleBottom:a}=this,l=new hn(r.lineAt(o-n*1e3,le.ByHeight,s,0,0).from,r.lineAt(a+(1-n)*1e3,le.ByHeight,s,0,0).to);if(t){let{head:c}=t.range;if(cl.to){let h=Math.min(this.editorHeight,this.pixelViewport.bottom-this.pixelViewport.top),f=r.lineAt(c,le.ByPos,s,0,0),u;t.y=="center"?u=(f.top+f.bottom)/2-h/2:t.y=="start"||t.y=="nearest"&&c=a+Math.max(10,Math.min(n,250)))&&r>o-2*1e3&&s>1,o=r<<1;if(this.defaultTextDirection!=ue.LTR&&!n)return[];let a=[],l=(h,f,u,O)=>{if(f-hh&&gg.from>=u.from&&g.to<=u.to&&Math.abs(g.from-h)g.fromQ));if(!b){if(fS.from<=f&&S.to>=f)){let S=t.moveToLineBoundary(P.cursor(f),!1,!0).head;S>h&&(f=S)}let g=this.gapSize(u,h,f,O),Q=n||g<2e6?g:2e6;b=new er(h,f,g,Q)}a.push(b)},c=h=>{if(h.length2e6)for(let $ of e)$.from>=h.from&&$.fromh.from&&l(h.from,O,h,f),pt.draw(this,this.heightOracle.lineWrapping))))}computeVisibleRanges(e){let t=this.stateDeco;this.lineGaps.length&&(t=t.concat(this.lineGapDeco));let n=[];ae.spans(t,this.viewport.from,this.viewport.to,{span(s,o){n.push({from:s,to:o})},point(){}},20);let r=0;if(n.length!=this.visibleRanges.length)r=12;else for(let s=0;s=this.viewport.from&&e<=this.viewport.to&&this.viewportLines.find(t=>t.from<=e&&t.to>=e)||Bn(this.heightMap.lineAt(e,le.ByPos,this.heightOracle,0,0),this.scaler)}lineBlockAtHeight(e){return e>=this.viewportLines[0].top&&e<=this.viewportLines[this.viewportLines.length-1].bottom&&this.viewportLines.find(t=>t.top<=e&&t.bottom>=e)||Bn(this.heightMap.lineAt(this.scaler.fromDOM(e),le.ByHeight,this.heightOracle,0,0),this.scaler)}getScrollOffset(){return(this.scrollParent==this.view.scrollDOM?this.scrollParent.scrollTop:(this.scrollParent?this.scrollParent.getBoundingClientRect().top:0)-this.view.contentDOM.getBoundingClientRect().top)*this.scaleY}scrollAnchorAt(e){let t=this.lineBlockAtHeight(e+8);return t.from>=this.viewport.from||this.viewportLines[0].top-e>200?t:this.viewportLines[0]}elementAtHeight(e){return Bn(this.heightMap.blockAt(this.scaler.fromDOM(e),this.heightOracle,0,0),this.scaler)}get docHeight(){return this.scaler.toDOM(this.heightMap.height)}get contentHeight(){return this.docHeight+this.paddingTop+this.paddingBottom}},hn=class{constructor(e,t){this.from=e,this.to=t}};function XQ(i,e,t){let n=[],r=i,s=0;return ae.spans(t,i,e,{span(){},point(o,a){o>r&&(n.push({from:r,to:o}),s+=o-r),r=a}},20),r=1)return e[e.length-1].to;let n=Math.floor(i*t);for(let r=0;;r++){let{from:s,to:o}=e[r],a=o-s;if(n<=a)return s+n;n-=a}}function ns(i,e){let t=0;for(let{from:n,to:r}of i.ranges){if(e<=r){t+=e-n;break}t+=r-n}return t/i.total}function _Q(i,e){for(let t of i)if(e(t))return t}var Wf={toDOM(i){return i},fromDOM(i){return i},scale:1,eq(i){return i==this}};function jf(i){let e=i.facet(ys).filter(n=>typeof n!="function"),t=i.facet(Fa).filter(n=>typeof n!="function");return t.length&&e.push(ae.join(t)),e}var za=class i{constructor(e,t,n){let r=0,s=0,o=0;this.viewports=n.map(({from:a,to:l})=>{let c=t.lineAt(a,le.ByPos,e,0,0).top,h=t.lineAt(l,le.ByPos,e,0,0).bottom;return r+=h-c,{from:a,to:l,top:c,bottom:h,domTop:0,domBottom:0}}),this.scale=(7e6-r)/(t.height-r);for(let a of this.viewports)a.domTop=o+(a.top-s)*this.scale,o=a.domBottom=a.domTop+(a.bottom-a.top),s=a.bottom}toDOM(e){for(let t=0,n=0,r=0;;t++){let s=tt.from==e.viewports[n].from&&t.to==e.viewports[n].to):!1}};function Bn(i,e){if(e.scale==1)return i;let t=e.toDOM(i.top),n=e.toDOM(i.bottom);return new mt(i.from,i.length,t,n-t,Array.isArray(i._content)?i._content.map(r=>Bn(r,e)):i._content)}var rs=Y.define({combine:i=>i.join(" ")}),La=Y.define({combine:i=>i.indexOf(!0)>-1}),Ma=rt.newName(),Zu=rt.newName(),Eu=rt.newName(),qu={"&light":"."+Zu,"&dark":"."+Eu};function Wa(i,e,t){return new rt(e,{finish(n){return/&/.test(n)?n.replace(/&\w*/,r=>{if(r=="&")return i;if(!t||!t[r])throw new RangeError(`Unsupported selector: ${r}`);return t[r]}):i+" "+n}})}var RQ=Wa("."+Ma,{"&":{position:"relative !important",boxSizing:"border-box","&.cm-focused":{outline:"1px dotted #212121"},display:"flex !important",flexDirection:"column"},".cm-scroller":{display:"flex !important",alignItems:"flex-start !important",fontFamily:"monospace",lineHeight:1.4,height:"100%",overflowX:"auto",position:"relative",zIndex:0,overflowAnchor:"none"},".cm-content":{margin:0,flexGrow:2,flexShrink:0,display:"block",whiteSpace:"pre",wordWrap:"normal",boxSizing:"border-box",minHeight:"100%",padding:"4px 0",outline:"none","&[contenteditable=true]":{WebkitUserModify:"read-write-plaintext-only"}},".cm-lineWrapping":{whiteSpace_fallback:"pre-wrap",whiteSpace:"break-spaces",wordBreak:"break-word",overflowWrap:"anywhere",flexShrink:1},"&light .cm-content":{caretColor:"black"},"&dark .cm-content":{caretColor:"white"},".cm-line":{display:"block",padding:"0 2px 0 6px"},".cm-layer":{userSelect:"none",position:"absolute",left:0,top:0,contain:"size style","& > *":{position:"absolute"}},"&light .cm-selectionBackground":{background:"#d9d9d9"},"&dark .cm-selectionBackground":{background:"#222"},"&light.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#d7d4f0"},"&dark.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#233"},".cm-cursorLayer":{pointerEvents:"none"},"&.cm-focused > .cm-scroller > .cm-cursorLayer":{animation:"steps(1) cm-blink 1.2s infinite"},"@keyframes cm-blink":{"0%":{},"50%":{opacity:0},"100%":{}},"@keyframes cm-blink2":{"0%":{},"50%":{opacity:0},"100%":{}},".cm-cursor, .cm-dropCursor":{borderLeft:"1.2px solid black",marginLeft:"-0.6px",pointerEvents:"none"},".cm-cursor":{display:"none"},"&dark .cm-cursor":{borderLeftColor:"#ddd"},".cm-selectionHandle":{backgroundColor:"currentColor",width:"1.5px"},".cm-selectionHandle-start::before, .cm-selectionHandle-end::before":{content:'""',backgroundColor:"inherit",borderRadius:"50%",width:"8px",height:"8px",position:"absolute",left:"-3.25px"},".cm-selectionHandle-start::before":{top:"-8px"},".cm-selectionHandle-end::before":{bottom:"-8px"},".cm-dropCursor":{position:"absolute"},"&.cm-focused > .cm-scroller > .cm-cursorLayer .cm-cursor":{display:"block"},".cm-iso":{unicodeBidi:"isolate"},".cm-announced":{position:"fixed",top:"-10000px"},"@media print":{".cm-announced":{display:"none"}},"&light .cm-activeLine":{backgroundColor:"#cceeff44"},"&dark .cm-activeLine":{backgroundColor:"#99eeff33"},"&light .cm-specialChar":{color:"red"},"&dark .cm-specialChar":{color:"#f78"},".cm-gutters":{flexShrink:0,display:"flex",height:"100%",boxSizing:"border-box",zIndex:200},".cm-gutters-before":{insetInlineStart:0},".cm-gutters-after":{insetInlineEnd:0},"&light .cm-gutters":{backgroundColor:"#f5f5f5",color:"#6c6c6c",border:"0px solid #ddd","&.cm-gutters-before":{borderRightWidth:"1px"},"&.cm-gutters-after":{borderLeftWidth:"1px"}},"&dark .cm-gutters":{backgroundColor:"#333338",color:"#ccc"},".cm-gutter":{display:"flex !important",flexDirection:"column",flexShrink:0,boxSizing:"border-box",minHeight:"100%",overflow:"hidden"},".cm-gutterElement":{boxSizing:"border-box"},".cm-lineNumbers .cm-gutterElement":{padding:"0 3px 0 5px",minWidth:"20px",textAlign:"right",whiteSpace:"nowrap"},"&light .cm-activeLineGutter":{backgroundColor:"#e2f2ff"},"&dark .cm-activeLineGutter":{backgroundColor:"#222227"},".cm-panels":{boxSizing:"border-box",position:"sticky",left:0,right:0,zIndex:300},"&light .cm-panels":{backgroundColor:"#f5f5f5",color:"black"},"&light .cm-panels-top":{borderBottom:"1px solid #ddd"},"&light .cm-panels-bottom":{borderTop:"1px solid #ddd"},"&dark .cm-panels":{backgroundColor:"#333338",color:"white"},".cm-dialog":{padding:"2px 19px 4px 6px",position:"relative","& label":{fontSize:"80%"}},".cm-dialog-close":{position:"absolute",top:"3px",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",fontSize:"14px",padding:"0"},".cm-tab":{display:"inline-block",overflow:"hidden",verticalAlign:"bottom"},".cm-widgetBuffer":{verticalAlign:"text-top",height:"1em",width:0,display:"inline"},".cm-placeholder":{color:"#888",display:"inline-block",verticalAlign:"top",userSelect:"none"},".cm-highlightSpace":{backgroundImage:"radial-gradient(circle at 50% 55%, #aaa 20%, transparent 5%)",backgroundPosition:"center"},".cm-highlightTab":{backgroundImage:`url('data:image/svg+xml,')`,backgroundSize:"auto 100%",backgroundPosition:"right 90%",backgroundRepeat:"no-repeat"},".cm-trailingSpace":{backgroundColor:"#ff332255"},".cm-button":{verticalAlign:"middle",color:"inherit",fontSize:"70%",padding:".2em 1em",borderRadius:"1px"},"&light .cm-button":{backgroundImage:"linear-gradient(#eff1f5, #d9d9df)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#b4b4b4, #d0d3d6)"}},"&dark .cm-button":{backgroundImage:"linear-gradient(#393939, #111)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#111, #333)"}},".cm-textfield":{verticalAlign:"middle",color:"inherit",fontSize:"70%",border:"1px solid silver",padding:".2em .5em"},"&light .cm-textfield":{backgroundColor:"white"},"&dark .cm-textfield":{border:"1px solid #555",backgroundColor:"inherit"}},qu),AQ={childList:!0,characterData:!0,subtree:!0,attributes:!0,characterDataOldValue:!0},sa=L.ie&&L.ie_version<=11,ja=class{constructor(e){this.view=e,this.active=!1,this.editContext=null,this.selectionRange=new fa,this.selectionChanged=!1,this.delayedFlush=-1,this.resizeTimeout=-1,this.queue=[],this.delayedAndroidKey=null,this.flushingAndroidKey=-1,this.lastChange=0,this.scrollTargets=[],this.intersection=null,this.resizeScroll=null,this.intersecting=!1,this.gapIntersection=null,this.gaps=[],this.printQuery=null,this.parentCheck=-1,this.dom=e.contentDOM,this.observer=new MutationObserver(t=>{for(let n of t)this.queue.push(n);(L.ie&&L.ie_version<=11||L.ios&&e.composing)&&t.some(n=>n.type=="childList"&&n.removedNodes.length||n.type=="characterData"&&n.oldValue.length>n.target.nodeValue.length)?this.flushSoon():this.flush()}),window.EditContext&&L.android&&e.constructor.EDIT_CONTEXT!==!1&&!(L.chrome&&L.chrome_version<126)&&(this.editContext=new Va(e),e.state.facet(Mt)&&(e.contentDOM.editContext=this.editContext.editContext)),sa&&(this.onCharData=t=>{this.queue.push({target:t.target,type:"characterData",oldValue:t.prevValue}),this.flushSoon()}),this.onSelectionChange=this.onSelectionChange.bind(this),this.onResize=this.onResize.bind(this),this.onPrint=this.onPrint.bind(this),this.onScroll=this.onScroll.bind(this),window.matchMedia&&(this.printQuery=window.matchMedia("print")),typeof ResizeObserver=="function"&&(this.resizeScroll=new ResizeObserver(()=>{var t;((t=this.view.docView)===null||t===void 0?void 0:t.lastUpdate){this.parentCheck<0&&(this.parentCheck=setTimeout(this.listenForScroll.bind(this),1e3)),t.length>0&&t[t.length-1].intersectionRatio>0!=this.intersecting&&(this.intersecting=!this.intersecting,this.intersecting!=this.view.inView&&this.onScrollChanged(document.createEvent("Event")))},{threshold:[0,.001]}),this.intersection.observe(this.dom),this.gapIntersection=new IntersectionObserver(t=>{t.length>0&&t[t.length-1].intersectionRatio>0&&this.onScrollChanged(document.createEvent("Event"))},{})),this.listenForScroll(),this.readSelectionRange()}onScrollChanged(e){this.view.inputState.runHandlers("scroll",e),this.intersecting&&this.view.measure()}onScroll(e){this.intersecting&&this.flush(!1),this.editContext&&this.view.requestMeasure(this.editContext.measureReq),this.onScrollChanged(e)}onResize(){this.resizeTimeout<0&&(this.resizeTimeout=setTimeout(()=>{this.resizeTimeout=-1,this.view.requestMeasure()},50))}onPrint(e){(e.type=="change"||!e.type)&&!e.matches||(this.view.viewState.printing=!0,this.view.measure(),setTimeout(()=>{this.view.viewState.printing=!1,this.view.requestMeasure()},500))}updateGaps(e){if(this.gapIntersection&&(e.length!=this.gaps.length||this.gaps.some((t,n)=>t!=e[n]))){this.gapIntersection.disconnect();for(let t of e)this.gapIntersection.observe(t);this.gaps=e}}onSelectionChange(e){let t=this.selectionChanged;if(!this.readSelectionRange()||this.delayedAndroidKey)return;let{view:n}=this,r=this.selectionRange;if(n.state.facet(Mt)?n.root.activeElement!=this.dom:!Gn(this.dom,r))return;let s=r.anchorNode&&n.docView.tile.nearest(r.anchorNode);if(s&&s.isWidget()&&s.widget.ignoreEvent(e)){t||(this.selectionChanged=!1);return}(L.ie&&L.ie_version<=11||L.android&&L.chrome)&&!n.state.selection.main.empty&&r.focusNode&&Nn(r.focusNode,r.focusOffset,r.anchorNode,r.anchorOffset)?this.flushSoon():this.flush(!1)}readSelectionRange(){let{view:e}=this,t=nr(e.root);if(!t)return!1;let n=L.safari&&e.root.nodeType==11&&e.root.activeElement==this.dom&&ZQ(this.view,t)||t;if(!n||this.selectionRange.eq(n))return!1;let r=Gn(this.dom,n);return r&&!this.selectionChanged&&e.inputState.lastFocusTime>Date.now()-200&&e.inputState.lastTouchTime{let s=this.delayedAndroidKey;s&&(this.clearDelayedAndroidKey(),this.view.inputState.lastKeyCode=s.keyCode,this.view.inputState.lastKeyTime=Date.now(),!this.flush()&&s.force&&un(this.dom,s.key,s.keyCode))};this.flushingAndroidKey=this.view.win.requestAnimationFrame(r)}(!this.delayedAndroidKey||e=="Enter")&&(this.delayedAndroidKey={key:e,keyCode:t,force:this.lastChange{this.delayedFlush=-1,this.flush()}))}forceFlush(){this.delayedFlush>=0&&(this.view.win.cancelAnimationFrame(this.delayedFlush),this.delayedFlush=-1),this.flush()}pendingRecords(){for(let e of this.observer.takeRecords())this.queue.push(e);return this.queue}processRecords(){let e=this.pendingRecords();e.length&&(this.queue=[]);let t=-1,n=-1,r=!1;for(let s of e){let o=this.readMutation(s);o&&(o.typeOver&&(r=!0),t==-1?{from:t,to:n}=o:(t=Math.min(o.from,t),n=Math.max(o.to,n)))}return{from:t,to:n,typeOver:r}}readChange(){let{from:e,to:t,typeOver:n}=this.processRecords(),r=this.selectionChanged&&Gn(this.dom,this.selectionRange);if(e<0&&!r)return null;e>-1&&(this.lastChange=Date.now()),this.view.inputState.lastFocusTime=0,this.selectionChanged=!1;let s=new $a(this.view,e,t,n);return this.view.docView.domChanged={newSel:s.newSel?s.newSel.main:null},s}flush(e=!0){if(this.delayedFlush>=0||this.delayedAndroidKey)return!1;e&&this.readSelectionRange();let t=this.readChange();if(!t)return this.view.requestMeasure(),!1;let n=this.view.state,r=wu(this.view,t);return this.view.state==n&&(t.domChanged||t.newSel&&!ps(this.view.state.selection,t.newSel.main))&&this.view.update([]),r}readMutation(e){let t=this.view.docView.tile.nearest(e.target);if(!t||t.isWidget())return null;if(t.markDirty(e.type=="attributes"),e.type=="childList"){let n=Vf(t,e.previousSibling||e.target.previousSibling,-1),r=Vf(t,e.nextSibling||e.target.nextSibling,1);return{from:n?t.posAfter(n):t.posAtStart,to:r?t.posBefore(r):t.posAtEnd,typeOver:!1}}else return e.type=="characterData"?{from:t.posAtStart,to:t.posAtEnd,typeOver:e.target.nodeValue==e.oldValue}:null}setWindow(e){e!=this.win&&(this.removeWindowListeners(this.win),this.win=e,this.addWindowListeners(this.win))}addWindowListeners(e){e.addEventListener("resize",this.onResize),this.printQuery?this.printQuery.addEventListener?this.printQuery.addEventListener("change",this.onPrint):this.printQuery.addListener(this.onPrint):e.addEventListener("beforeprint",this.onPrint),e.addEventListener("scroll",this.onScroll),e.document.addEventListener("selectionchange",this.onSelectionChange)}removeWindowListeners(e){e.removeEventListener("scroll",this.onScroll),e.removeEventListener("resize",this.onResize),this.printQuery?this.printQuery.removeEventListener?this.printQuery.removeEventListener("change",this.onPrint):this.printQuery.removeListener(this.onPrint):e.removeEventListener("beforeprint",this.onPrint),e.document.removeEventListener("selectionchange",this.onSelectionChange)}update(e){this.editContext&&(this.editContext.update(e),e.startState.facet(Mt)!=e.state.facet(Mt)&&(e.view.contentDOM.editContext=e.state.facet(Mt)?this.editContext.editContext:null))}destroy(){var e,t,n;this.stop(),(e=this.intersection)===null||e===void 0||e.disconnect(),(t=this.gapIntersection)===null||t===void 0||t.disconnect(),(n=this.resizeScroll)===null||n===void 0||n.disconnect();for(let r of this.scrollTargets)r.removeEventListener("scroll",this.onScroll);this.removeWindowListeners(this.win),clearTimeout(this.parentCheck),clearTimeout(this.resizeTimeout),this.win.cancelAnimationFrame(this.delayedFlush),this.win.cancelAnimationFrame(this.flushingAndroidKey),this.editContext&&(this.view.contentDOM.editContext=null,this.editContext.destroy())}};function Vf(i,e,t){for(;e;){let n=fe.get(e);if(n&&n.parent==i)return n;let r=e.parentNode;e=r!=i.dom?r:t>0?e.nextSibling:e.previousSibling}return null}function Df(i,e){let t=e.startContainer,n=e.startOffset,r=e.endContainer,s=e.endOffset,o=i.docView.domAtPos(i.state.selection.main.anchor,1);return Nn(o.node,o.offset,r,s)&&([t,n,r,s]=[r,s,t,n]),{anchorNode:t,anchorOffset:n,focusNode:r,focusOffset:s}}function ZQ(i,e){if(e.getComposedRanges){let r=e.getComposedRanges(i.root)[0];if(r)return Df(i,r)}let t=null;function n(r){r.preventDefault(),r.stopImmediatePropagation(),t=r.getTargetRanges()[0]}return i.contentDOM.addEventListener("beforeinput",n,!0),i.dom.ownerDocument.execCommand("indent"),i.contentDOM.removeEventListener("beforeinput",n,!0),t?Df(i,t):null}var Va=class{constructor(e){this.from=0,this.to=0,this.pendingContextChange=null,this.handlers=Object.create(null),this.composing=null,this.resetRange(e.state);let t=this.editContext=new window.EditContext({text:e.state.doc.sliceString(this.from,this.to),selectionStart:this.toContextPos(Math.max(this.from,Math.min(this.to,e.state.selection.main.anchor))),selectionEnd:this.toContextPos(e.state.selection.main.head)});this.handlers.textupdate=n=>{let r=e.state.selection.main,{anchor:s,head:o}=r,a=this.toEditorPos(n.updateRangeStart),l=this.toEditorPos(n.updateRangeEnd);e.inputState.composing>=0&&!this.composing&&(this.composing={contextBase:n.updateRangeStart,editorBase:a,drifted:!1});let c=l-a>n.text.length;a==this.from&&sthis.to&&(l=s);let h=Pu(e.state.sliceDoc(a,l),n.text,(c?r.from:r.to)-a,c?"end":null);if(!h){let u=P.single(this.toEditorPos(n.selectionStart),this.toEditorPos(n.selectionEnd));ps(u,r)||e.dispatch({selection:u,userEvent:"select"});return}let f={from:h.from+a,to:h.toA+a,insert:K.of(n.text.slice(h.from,h.toB).split(` +`))};if((L.mac||L.android)&&f.from==o-1&&/^\. ?$/.test(n.text)&&e.contentDOM.getAttribute("autocorrect")=="off"&&(f={from:a,to:l,insert:K.of([n.text.replace("."," ")])}),this.pendingContextChange=f,!e.state.readOnly){let u=this.to-this.from+(f.to-f.from+f.insert.length);Ha(e,f,P.single(this.toEditorPos(n.selectionStart,u),this.toEditorPos(n.selectionEnd,u)))}this.pendingContextChange&&(this.revertPending(e.state),this.setSelection(e.state)),f.from=0&&!/[\\p{Alphabetic}\\p{Number}_]/.test(t.text.slice(Math.max(0,n.updateRangeStart-1),Math.min(t.text.length,n.updateRangeStart+1)))&&this.handlers.compositionend(n)},this.handlers.characterboundsupdate=n=>{let r=[],s=null;for(let o=this.toEditorPos(n.rangeStart),a=this.toEditorPos(n.rangeEnd);o{let r=[];for(let s of n.getTextFormats()){let o=s.underlineStyle,a=s.underlineThickness;if(!/none/i.test(o)&&!/none/i.test(a)){let l=this.toEditorPos(s.rangeStart),c=this.toEditorPos(s.rangeEnd);if(l{e.inputState.composing<0&&(e.inputState.composing=0,e.inputState.compositionFirstChange=!0)},this.handlers.compositionend=()=>{if(e.inputState.composing=-1,e.inputState.compositionFirstChange=null,this.composing){let{drifted:n}=this.composing;this.composing=null,n&&this.reset(e.state)}};for(let n in this.handlers)t.addEventListener(n,this.handlers[n]);this.measureReq={read:n=>{let r=nr(n.root);r&&r.rangeCount&&this.editContext.updateSelectionBounds(r.getRangeAt(0).getBoundingClientRect())}}}applyEdits(e){let t=0,n=!1,r=this.pendingContextChange;return e.changes.iterChanges((s,o,a,l,c)=>{if(n)return;let h=c.length-(o-s);if(r&&o>=r.to)if(r.from==s&&r.to==o&&r.insert.eq(c)){r=this.pendingContextChange=null,t+=h,this.to+=h;return}else r=null,this.revertPending(e.state);if(s+=t,o+=t,o<=this.from)this.from+=h,this.to+=h;else if(sthis.to||this.to-this.from+c.length>3e4){n=!0;return}this.editContext.updateText(this.toContextPos(s),this.toContextPos(o),c.toString()),this.to+=h}t+=h}),r&&!n&&this.revertPending(e.state),!n}update(e){let t=this.pendingContextChange,n=e.startState.selection.main;this.composing&&(this.composing.drifted||!e.changes.touchesRange(n.from,n.to)&&e.transactions.some(r=>!r.isUserEvent("input.type")&&r.changes.touchesRange(this.from,this.to)))?(this.composing.drifted=!0,this.composing.editorBase=e.changes.mapPos(this.composing.editorBase)):!this.applyEdits(e)||!this.rangeIsValid(e.state)?(this.pendingContextChange=null,this.reset(e.state)):(e.docChanged||e.selectionSet||t)&&this.setSelection(e.state),(e.geometryChanged||e.docChanged||e.selectionSet)&&e.view.requestMeasure(this.measureReq)}resetRange(e){let{head:t}=e.selection.main;this.from=Math.max(0,t-1e4),this.to=Math.min(e.doc.length,t+1e4)}reset(e){this.resetRange(e),this.editContext.updateText(0,this.editContext.text.length,e.doc.sliceString(this.from,this.to)),this.setSelection(e)}revertPending(e){let t=this.pendingContextChange;this.pendingContextChange=null,this.editContext.updateText(this.toContextPos(t.from),this.toContextPos(t.from+t.insert.length),e.doc.sliceString(t.from,t.to))}setSelection(e){let{main:t}=e.selection,n=this.toContextPos(Math.max(this.from,Math.min(this.to,t.anchor))),r=this.toContextPos(t.head);(this.editContext.selectionStart!=n||this.editContext.selectionEnd!=r)&&this.editContext.updateSelection(n,r)}rangeIsValid(e){let{head:t}=e.selection.main;return!(this.from>0&&t-this.from<500||this.to1e4*3)}toEditorPos(e,t=this.to-this.from){e=Math.min(e,t);let n=this.composing;return n&&n.drifted?n.editorBase+(e-n.contextBase):e+this.from}toContextPos(e){let t=this.composing;return t&&t.drifted?t.contextBase+(e-t.editorBase):e-this.from}destroy(){for(let e in this.handlers)this.editContext.removeEventListener(e,this.handlers[e])}},z=class i{get state(){return this.viewState.state}get viewport(){return this.viewState.viewport}get visibleRanges(){return this.viewState.visibleRanges}get inView(){return this.viewState.inView}get composing(){return!!this.inputState&&this.inputState.composing>0}get compositionStarted(){return!!this.inputState&&this.inputState.composing>=0}get root(){return this._root}get win(){return this.dom.ownerDocument.defaultView||window}constructor(e={}){var t;this.plugins=[],this.pluginMap=new Map,this.editorAttrs={},this.contentAttrs={},this.bidiCache=[],this.destroyed=!1,this.updateState=2,this.measureScheduled=-1,this.measureRequests=[],this.contentDOM=document.createElement("div"),this.scrollDOM=document.createElement("div"),this.scrollDOM.tabIndex=-1,this.scrollDOM.className="cm-scroller",this.scrollDOM.appendChild(this.contentDOM),this.announceDOM=document.createElement("div"),this.announceDOM.className="cm-announced",this.announceDOM.setAttribute("aria-live","polite"),this.dom=document.createElement("div"),this.dom.appendChild(this.announceDOM),this.dom.appendChild(this.scrollDOM),e.parent&&e.parent.appendChild(this.dom);let{dispatch:n}=e;this.dispatchTransactions=e.dispatchTransactions||n&&(r=>r.forEach(s=>n(s,this)))||(r=>this.update(r)),this.dispatch=this.dispatch.bind(this),this._root=e.root||P0(e.parent)||document,this.viewState=new Qs(this,e.state||se.create(e)),e.scrollTo&&e.scrollTo.is(Jr)&&(this.viewState.scrollTarget=e.scrollTo.value.clip(this.viewState.state)),this.plugins=this.state.facet(cn).map(r=>new Hn(r));for(let r of this.plugins)r.update(this);this.observer=new ja(this),this.inputState=new Ta(this),this.inputState.ensureHandlers(this.plugins),this.docView=new Os(this),this.mountStyles(),this.updateAttrs(),this.updateState=0,this.requestMeasure(),!((t=document.fonts)===null||t===void 0)&&t.ready&&document.fonts.ready.then(()=>{this.viewState.mustMeasureContent="refresh",this.requestMeasure()})}dispatch(...e){let t=e.length==1&&e[0]instanceof pe?e:e.length==1&&Array.isArray(e[0])?e[0]:[this.state.update(...e)];this.dispatchTransactions(t,this)}update(e){if(this.updateState!=0)throw new Error("Calls to EditorView.update are not allowed while an update is in progress");let t=!1,n=!1,r,s=this.state;for(let u of e){if(u.startState!=s)throw new RangeError("Trying to update state with a transaction that doesn't start from the previous state.");s=u.state}if(this.destroyed){this.viewState.state=s;return}let o=this.hasFocus,a=0,l=null;e.some(u=>u.annotation(_u))?(this.inputState.notifiedFocused=o,a=1):o!=this.inputState.notifiedFocused&&(this.inputState.notifiedFocused=o,l=Ru(s,o),l||(a=1));let c=this.observer.delayedAndroidKey,h=null;if(c?(this.observer.clearDelayedAndroidKey(),h=this.observer.readChange(),(h&&!this.state.doc.eq(s.doc)||!this.state.selection.eq(s.selection))&&(h=null)):this.observer.clear(),s.facet(se.phrases)!=this.state.facet(se.phrases))return this.setState(s);r=fs.create(this,s,e),r.flags|=a;let f=this.viewState.scrollTarget;try{this.updateState=2;for(let u of e){if(f&&(f=f.map(u.changes)),u.scrollIntoView){let{main:O}=u.state.selection,{x:p,y:m}=this.state.facet(i.cursorScrollMargin);f=new Fn(O.empty?O:P.cursor(O.head,O.head>O.anchor?-1:1),"nearest","nearest",m,p)}for(let O of u.effects)O.is(Jr)&&(f=O.value.clip(this.state))}this.viewState.update(r,f),this.bidiCache=bs.update(this.bidiCache,r.changes),r.empty||(this.updatePlugins(r),this.inputState.update(r)),t=this.docView.update(r),this.state.facet(In)!=this.styleModules&&this.mountStyles(),n=this.updateAttrs(),this.showAnnouncements(e),this.docView.updateSelection(t,e.some(u=>u.isUserEvent("select.pointer")))}finally{this.updateState=0}if(r.startState.facet(rs)!=r.state.facet(rs)&&(this.viewState.mustMeasureContent=!0),(t||n||f||this.viewState.mustEnforceCursorAssoc||this.viewState.mustMeasureContent)&&this.requestMeasure(),t&&this.docViewUpdate(),!r.empty)for(let u of this.state.facet(pa))try{u(r)}catch(O){lt(this.state,O,"update listener")}(l||h)&&Promise.resolve().then(()=>{l&&this.state==l.startState&&this.dispatch(l),h&&!wu(this,h)&&c.force&&un(this.contentDOM,c.key,c.keyCode)})}setState(e){if(this.updateState!=0)throw new Error("Calls to EditorView.setState are not allowed while an update is in progress");if(this.destroyed){this.viewState.state=e;return}this.updateState=2;let t=this.hasFocus;try{for(let n of this.plugins)n.destroy(this);this.viewState=new Qs(this,e),this.plugins=e.facet(cn).map(n=>new Hn(n)),this.pluginMap.clear();for(let n of this.plugins)n.update(this);this.docView.destroy(),this.docView=new Os(this),this.inputState.ensureHandlers(this.plugins),this.mountStyles(),this.updateAttrs(),this.bidiCache=[]}finally{this.updateState=0}t&&this.focus(),this.requestMeasure()}updatePlugins(e){let t=e.startState.facet(cn),n=e.state.facet(cn);if(t!=n){let r=[];for(let s of n){let o=t.indexOf(s);if(o<0)r.push(new Hn(s));else{let a=this.plugins[o];a.mustUpdate=e,r.push(a)}}for(let s of this.plugins)s.mustUpdate!=e&&s.destroy(this);this.plugins=r,this.pluginMap.clear()}else for(let r of this.plugins)r.mustUpdate=e;for(let r=0;r-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.observer.delayedAndroidKey){this.measureScheduled=-1,this.requestMeasure();return}this.measureScheduled=0,e&&this.observer.forceFlush();let t=null,n=this.viewState.scrollParent,r=this.viewState.getScrollOffset(),{scrollAnchorPos:s,scrollAnchorHeight:o}=this.viewState;Math.abs(r-this.viewState.scrollOffset)>1&&(o=-1),this.viewState.scrollAnchorHeight=-1;try{for(let a=0;;a++){if(o<0)if(Kf(n||this.win))s=-1,o=this.viewState.heightMap.height;else{let O=this.viewState.scrollAnchorAt(r);s=O.from,o=O.top}this.updateState=1;let l=this.viewState.measure();if(!l&&!this.measureRequests.length&&this.viewState.scrollTarget==null)break;if(a>5){console.warn(this.measureRequests.length?"Measure loop restarted more than 5 times":"Viewport failed to stabilize");break}let c=[];l&4||([this.measureRequests,c]=[c,this.measureRequests]);let h=c.map(O=>{try{return O.read(this)}catch(p){return lt(this.state,p),Yf}}),f=fs.create(this,this.state,[]),u=!1;f.flags|=l,t?t.flags|=l:t=f,this.updateState=2,f.empty||(this.updatePlugins(f),this.inputState.update(f),this.updateAttrs(),u=this.docView.update(f),u&&this.docViewUpdate());for(let O=0;O1||p<-1)&&!(L.ios&&this.inputState.lastIOSMomentumScroll>Date.now()-100)&&(n==this.scrollDOM||this.hasFocus||Math.max(this.inputState.lastWheelEvent,this.inputState.lastTouchTime)>Date.now()-100)){r=r+p,n?n.scrollTop+=p:this.win.scrollBy(0,p),o=-1;continue}}break}}}finally{this.updateState=0,this.measureScheduled=-1}if(t&&!t.empty)for(let a of this.state.facet(pa))a(t)}get themeClasses(){return Ma+" "+(this.state.facet(La)?Eu:Zu)+" "+this.state.facet(rs)}updateAttrs(){let e=If(this,pu,{class:"cm-editor"+(this.hasFocus?" cm-focused ":" ")+this.themeClasses}),t={spellcheck:"false",autocorrect:"off",autocapitalize:"off",writingsuggestions:"false",translate:"no",contenteditable:this.state.facet(Mt)?"true":"false",class:"cm-content",style:`${L.tabSize}: ${this.state.tabSize}`,role:"textbox","aria-multiline":"true"};this.state.readOnly&&(t["aria-readonly"]="true"),If(this,Na,t);let n=this.observer.ignore(()=>{let r=xf(this.contentDOM,this.contentAttrs,t),s=xf(this.dom,this.editorAttrs,e);return r||s});return this.editorAttrs=e,this.contentAttrs=t,n}showAnnouncements(e){let t=!0;for(let n of e)for(let r of n.effects)if(r.is(i.announce)){t&&(this.announceDOM.textContent=""),t=!1;let s=this.announceDOM.appendChild(document.createElement("div"));s.textContent=r.value}}mountStyles(){this.styleModules=this.state.facet(In);let e=this.state.facet(i.cspNonce);rt.mount(this.root,this.styleModules.concat(RQ).reverse(),e?{nonce:e}:void 0)}readMeasured(){if(this.updateState==2)throw new Error("Reading the editor layout isn't allowed during an update");this.updateState==0&&this.measureScheduled>-1&&this.measure(!1)}requestMeasure(e){if(this.measureScheduled<0&&(this.measureScheduled=this.win.requestAnimationFrame(()=>this.measure())),e){if(this.measureRequests.indexOf(e)>-1)return;if(e.key!=null){for(let t=0;tn.plugin==e)||null),t&&t.update(this).value}get documentTop(){return this.contentDOM.getBoundingClientRect().top+this.viewState.paddingTop}get documentPadding(){return{top:this.viewState.paddingTop,bottom:this.viewState.paddingBottom}}get scaleX(){return this.viewState.scaleX}get scaleY(){return this.viewState.scaleY}elementAtHeight(e){return this.readMeasured(),this.viewState.elementAtHeight(e)}lineBlockAtHeight(e){return this.readMeasured(),this.viewState.lineBlockAtHeight(e)}get viewportLineBlocks(){return this.viewState.viewportLines}lineBlockAt(e){return this.viewState.lineBlockAt(e)}get contentHeight(){return this.viewState.contentHeight}moveByChar(e,t,n){return ra(this,e,Cf(this,e,t,n))}moveByGroup(e,t){return ra(this,e,Cf(this,e,t,n=>iQ(this,e.head,n)))}visualLineSide(e,t){let n=this.bidiSpans(e),r=this.textDirectionAt(e.from),s=n[t?n.length-1:0];return P.cursor(s.side(t,r)+e.from,s.forward(!t,r)?1:-1)}moveToLineBoundary(e,t,n=!0){return tQ(this,e,t,n)}moveVertically(e,t,n){return ra(this,e,nQ(this,e,t,n))}domAtPos(e,t=1){return this.docView.domAtPos(e,t)}posAtDOM(e,t=0){return this.docView.posFromDOM(e,t)}posAtCoords(e,t=!0){this.readMeasured();let n=wa(this,e,t);return n&&n.pos}posAndSideAtCoords(e,t=!0){return this.readMeasured(),wa(this,e,t)}coordsAtPos(e,t=1){this.readMeasured();let n=this.state.doc.lineAt(e),r=this.bidiSpans(n),s=r[at.find(r,e-n.from,-1,t)];return this.docView.coordsAt(e,t,s.dir==ue.RTL)}coordsForChar(e){return this.readMeasured(),this.docView.coordsForChar(e)}get defaultCharacterWidth(){return this.viewState.heightOracle.charWidth}get defaultLineHeight(){return this.viewState.heightOracle.lineHeight}get textDirection(){return this.viewState.defaultTextDirection}textDirectionAt(e){return!this.state.facet(uu)||ethis.viewport.to?this.textDirection:(this.readMeasured(),this.docView.textDirectionAt(e))}get lineWrapping(){return this.viewState.heightOracle.lineWrapping}bidiSpans(e){if(e.length>EQ)return ru(e.length);let t=this.textDirectionAt(e.from),n;for(let s of this.bidiCache)if(s.from==e.from&&s.dir==t&&(s.fresh||nu(s.isolates,n=vf(this,e))))return s.order;n||(n=vf(this,e));let r=A0(e.text,t,n);return this.bidiCache.push(new bs(e.from,e.to,t,n,!0,r)),r}get hasFocus(){var e;return(this.dom.ownerDocument.hasFocus()||L.safari&&((e=this.inputState)===null||e===void 0?void 0:e.lastContextMenu)>Date.now()-3e4)&&this.root.activeElement==this.contentDOM}focus(){this.observer.ignore(()=>{Hf(this.contentDOM),this.docView.updateSelection()})}setRoot(e){this._root!=e&&(this._root=e,this.observer.setWindow((e.nodeType==9?e:e.ownerDocument).defaultView||window),this.mountStyles())}destroy(){this.root.activeElement==this.contentDOM&&this.contentDOM.blur();for(let e of this.plugins)e.destroy(this);this.plugins=[],this.inputState.destroy(),this.docView.destroy(),this.dom.remove(),this.observer.destroy(),this.measureScheduled>-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.destroyed=!0}static scrollIntoView(e,t={}){var n,r,s,o;return Jr.of(new Fn(typeof e=="number"?P.cursor(e):e,(n=t.y)!==null&&n!==void 0?n:"nearest",(r=t.x)!==null&&r!==void 0?r:"nearest",(s=t.yMargin)!==null&&s!==void 0?s:5,(o=t.xMargin)!==null&&o!==void 0?o:5))}scrollSnapshot(){let{scrollTop:e,scrollLeft:t}=this.scrollDOM,n=this.viewState.scrollAnchorAt(e);return Jr.of(new Fn(P.cursor(n.from),"start","start",n.top-e,t,!0))}setTabFocusMode(e){e==null?this.inputState.tabFocusMode=this.inputState.tabFocusMode<0?0:-1:typeof e=="boolean"?this.inputState.tabFocusMode=e?0:-1:this.inputState.tabFocusMode!=0&&(this.inputState.tabFocusMode=Date.now()+e)}static domEventHandlers(e){return Ve.define(()=>({}),{eventHandlers:e})}static domEventObservers(e){return Ve.define(()=>({}),{eventObservers:e})}static theme(e,t){let n=rt.newName(),r=[rs.of(n),In.of(Wa(`.${n}`,e))];return t&&t.dark&&r.push(La.of(!0)),r}static baseTheme(e){return nt.lowest(In.of(Wa("."+Ma,e,qu)))}static findFromDOM(e){var t;let n=e.querySelector(".cm-content"),r=n&&fe.get(n)||fe.get(e);return((t=r?.root)===null||t===void 0?void 0:t.view)||null}};z.styleModule=In;z.inputHandler=hu;z.clipboardInputFilter=Ua;z.clipboardOutputFilter=Ga;z.scrollHandler=Ou;z.focusChangeEffect=fu;z.perLineTextDirection=uu;z.exceptionSink=cu;z.updateListener=pa;z.editable=Mt;z.mouseSelectionStyle=lu;z.dragMovesSelection=au;z.clickAddsSelectionRange=ou;z.decorations=ys;z.blockWrappers=mu;z.outerDecorations=Fa;z.atomicRanges=sr;z.bidiIsolatedRanges=gu;z.cursorScrollMargin=Y.define({combine:i=>{let e=5,t=5;for(let n of i)typeof n=="number"?e=t=n:{x:e,y:t}=n;return{x:e,y:t}}});z.scrollMargins=Qu;z.darkTheme=La;z.cspNonce=Y.define({combine:i=>i.length?i[0]:""});z.contentAttributes=Na;z.editorAttributes=pu;z.lineWrapping=z.contentAttributes.of({class:"cm-lineWrapping"});z.announce=te.define();var EQ=4096,Yf={},bs=class i{constructor(e,t,n,r,s,o){this.from=e,this.to=t,this.dir=n,this.isolates=r,this.fresh=s,this.order=o}static update(e,t){if(t.empty&&!e.some(s=>s.fresh))return e;let n=[],r=e.length?e[e.length-1].dir:ue.LTR;for(let s=Math.max(0,e.length-10);s=0;r--){let s=n[r],o=typeof s=="function"?s(i):s;o&&Ya(o,t)}return t}var qQ=L.mac?"mac":L.windows?"win":L.linux?"linux":"key";function zQ(i,e){let t=i.split(/-(?!$)/),n=t[t.length-1];n=="Space"&&(n=" ");let r,s,o,a;for(let l=0;ln.concat(r),[]))),t}var oi=null,WQ=4e3;function jQ(i,e=qQ){let t=Object.create(null),n=Object.create(null),r=(o,a)=>{let l=n[o];if(l==null)n[o]=a;else if(l!=a)throw new Error("Key binding "+o+" is used both as a regular binding and as a multi-stroke prefix")},s=(o,a,l,c,h)=>{var f,u;let O=t[o]||(t[o]=Object.create(null)),p=a.split(/ (?!$)/).map(g=>zQ(g,e));for(let g=1;g{let x=oi={view:S,prefix:Q,scope:o};return setTimeout(()=>{oi==x&&(oi=null)},WQ),!0}]})}let m=p.join(" ");r(m,!1);let b=O[m]||(O[m]={preventDefault:!1,stopPropagation:!1,run:((u=(f=O._any)===null||f===void 0?void 0:f.run)===null||u===void 0?void 0:u.slice())||[]});l&&b.run.push(l),c&&(b.preventDefault=!0),h&&(b.stopPropagation=!0)};for(let o of i){let a=o.scope?o.scope.split(" "):["editor"];if(o.any)for(let c of a){let h=t[c]||(t[c]=Object.create(null));h._any||(h._any={preventDefault:!1,stopPropagation:!1,run:[]});let{any:f}=o;for(let u in h)h[u].run.push(O=>f(O,Da))}let l=o[e]||o.key;if(l)for(let c of a)s(c,l,o.run,o.preventDefault,o.stopPropagation),o.shift&&s(c,"Shift-"+l,o.shift,o.preventDefault,o.stopPropagation)}return t}var Da=null;function VQ(i,e,t,n){Da=e;let r=bf(e),s=si(r,0),o=on(s)==r.length&&r!=" ",a="",l=!1,c=!1,h=!1;oi&&oi.view==t&&oi.scope==n&&(a=oi.prefix+" ",$u.indexOf(e.keyCode)<0&&(c=!0,oi=null));let f=new Set,u=b=>{if(b){for(let g of b.run)if(!f.has(g)&&(f.add(g),g(t)))return b.stopPropagation&&(h=!0),!0;b.preventDefault&&(b.stopPropagation&&(h=!0),c=!0)}return!1},O=i[n],p,m;return O&&(u(O[a+ss(r,e,!o)])?l=!0:o&&(e.altKey||e.metaKey||e.ctrlKey)&&!(L.windows&&e.ctrlKey&&e.altKey)&&!(L.mac&&e.altKey&&!(e.ctrlKey||e.metaKey))&&(p=Lt[e.keyCode])&&p!=r?(u(O[a+ss(p,e,!0)])||e.shiftKey&&(m=an[e.keyCode])!=r&&m!=p&&u(O[a+ss(m,e,!1)]))&&(l=!0):o&&e.shiftKey&&u(O[a+ss(r,e,!0)])&&(l=!0),!l&&u(O._any)&&(l=!0)),c&&(l=!0),l&&h&&e.stopPropagation(),Da=null,l}var zu=te.define({map(i,e){return i==null?null:e.mapPos(i)}}),Un=he.define({create(){return null},update(i,e){return i!=null&&(i=e.changes.mapPos(i)),e.effects.reduce((t,n)=>n.is(zu)?n.value:t,i)}}),DQ=Ve.fromClass(class{constructor(i){this.view=i,this.cursor=null,this.measureReq={read:this.readPos.bind(this),write:this.drawCursor.bind(this)}}update(i){var e;let t=i.state.field(Un);t==null?this.cursor!=null&&((e=this.cursor)===null||e===void 0||e.remove(),this.cursor=null):(this.cursor||(this.cursor=this.view.scrollDOM.appendChild(document.createElement("div")),this.cursor.className="cm-dropCursor"),(i.startState.field(Un)!=t||i.docChanged||i.geometryChanged)&&this.view.requestMeasure(this.measureReq))}readPos(){let{view:i}=this,e=i.state.field(Un),t=e!=null&&i.coordsAtPos(e);if(!t)return null;let n=i.scrollDOM.getBoundingClientRect();return{left:t.left-n.left+i.scrollDOM.scrollLeft*i.scaleX,top:t.top-n.top+i.scrollDOM.scrollTop*i.scaleY,height:t.bottom-t.top}}drawCursor(i){if(this.cursor){let{scaleX:e,scaleY:t}=this.view;i?(this.cursor.style.left=i.left/e+"px",this.cursor.style.top=i.top/t+"px",this.cursor.style.height=i.height/t+"px"):this.cursor.style.left="-100000px"}}destroy(){this.cursor&&this.cursor.remove()}setDropPos(i){this.view.state.field(Un)!=i&&this.view.dispatch({effects:zu.of(i)})}},{eventObservers:{dragover(i){this.setDropPos(this.view.posAtCoords({x:i.clientX,y:i.clientY}))},dragleave(i){(i.target==this.view.contentDOM||!this.view.contentDOM.contains(i.relatedTarget))&&this.setDropPos(null)},dragend(){this.setDropPos(null)},drop(){this.setDropPos(null)}}});function Lu(){return[Un,DQ]}var o$=/x/.unicode!=null?"gu":"g";var Vt=class extends it{compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}eq(e){return!1}destroy(e){}};Vt.prototype.elementClass="";Vt.prototype.toDOM=void 0;Vt.prototype.mapMode=ge.TrackBefore;Vt.prototype.startSide=Vt.prototype.endSide=-1;Vt.prototype.point=!0;var YQ=0,De=class{constructor(e,t){this.from=e,this.to=t}},I=class{constructor(e={}){this.id=YQ++,this.perNode=!!e.perNode,this.deserialize=e.deserialize||(()=>{throw new Error("This node type doesn't define a deserialize function")}),this.combine=e.combine||null}add(e){if(this.perNode)throw new RangeError("Can't add per-node props to node types");return typeof e!="function"&&(e=Oe.match(e)),t=>{let n=e(t);return n===void 0?null:[this,n]}}};I.closedBy=new I({deserialize:i=>i.split(" ")});I.openedBy=new I({deserialize:i=>i.split(" ")});I.group=new I({deserialize:i=>i.split(" ")});I.isolate=new I({deserialize:i=>{if(i&&i!="rtl"&&i!="ltr"&&i!="auto")throw new RangeError("Invalid value for isolate: "+i);return i||"auto"}});I.contextHash=new I({perNode:!0});I.lookAhead=new I({perNode:!0});I.mounted=new I({perNode:!0});var ui=class{constructor(e,t,n,r=!1){this.tree=e,this.overlay=t,this.parser=n,this.bracketed=r}static get(e){return e&&e.props&&e.props[I.mounted.id]}},IQ=Object.create(null),Oe=class i{constructor(e,t,n,r=0){this.name=e,this.props=t,this.id=n,this.flags=r}static define(e){let t=e.props&&e.props.length?Object.create(null):IQ,n=(e.top?1:0)|(e.skipped?2:0)|(e.error?4:0)|(e.name==null?8:0),r=new i(e.name||"",t,e.id,n);if(e.props){for(let s of e.props)if(Array.isArray(s)||(s=s(r)),s){if(s[0].perNode)throw new RangeError("Can't store a per-node prop on a node type");t[s[0].id]=s[1]}}return r}prop(e){return this.props[e.id]}get isTop(){return(this.flags&1)>0}get isSkipped(){return(this.flags&2)>0}get isError(){return(this.flags&4)>0}get isAnonymous(){return(this.flags&8)>0}is(e){if(typeof e=="string"){if(this.name==e)return!0;let t=this.prop(I.group);return t?t.indexOf(e)>-1:!1}return this.id==e}static match(e){let t=Object.create(null);for(let n in e)for(let r of n.split(" "))t[r]=e[n];return n=>{for(let r=n.prop(I.group),s=-1;s<(r?r.length:0);s++){let o=t[s<0?n.name:r[s]];if(o)return o}}}};Oe.none=new Oe("",Object.create(null),0,8);var Dt=class i{constructor(e){this.types=e;for(let t=0;t0;for(let l=this.cursor(o|ee.IncludeAnonymous);;){let c=!1;if(l.from<=s&&l.to>=r&&(!a&&l.type.isAnonymous||t(l)!==!1)){if(l.firstChild())continue;c=!0}for(;c&&n&&(a||!l.type.isAnonymous)&&n(l),!l.nextSibling();){if(!l.parent())return;c=!0}}}prop(e){return e.perNode?this.props?this.props[e.id]:void 0:this.type.prop(e)}get propValues(){let e=[];if(this.props)for(let t in this.props)e.push([+t,this.props[t]]);return e}balance(e={}){return this.children.length<=8?this:ll(Oe.none,this.children,this.positions,0,this.children.length,0,this.length,(t,n,r)=>new i(this.type,t,n,r,this.propValues),e.makeTree||((t,n,r)=>new i(Oe.none,t,n,r)))}static build(e){return UQ(e)}};F.empty=new F(Oe.none,[],[],0);var Ka=class i{constructor(e,t){this.buffer=e,this.index=t}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}get pos(){return this.index}next(){this.index-=4}fork(){return new i(this.buffer,this.index)}},Oi=class i{constructor(e,t,n){this.buffer=e,this.length=t,this.set=n}get type(){return Oe.none}toString(){let e=[];for(let t=0;t0));l=o[l+3]);return a}slice(e,t,n){let r=this.buffer,s=new Uint16Array(t-e),o=0;for(let a=e,l=0;a=e&&te;case 1:return t<=e&&n>e;case 2:return n>e;case 4:return!0}}function or(i,e,t,n){for(var r;i.from==i.to||(t<1?i.from>=e:i.from>e)||(t>-1?i.to<=e:i.to0?a.length:-1;e!=c;e+=t){let h=a[e],f=l[e]+o.from,u;if(!(!(s&ee.EnterBracketed&&h instanceof F&&(u=ui.get(h))&&!u.overlay&&u.bracketed&&n>=f&&n<=f+h.length)&&!Bu(r,n,f,f+h.length))){if(h instanceof Oi){if(s&ee.ExcludeBuffers)continue;let O=h.findChild(0,h.buffer.length,t,n-f,r);if(O>-1)return new zi(new el(o,h,e,f),null,O)}else if(s&ee.IncludeAnonymous||!h.type.isAnonymous||al(h)){let O;if(!(s&ee.IgnoreMounts)&&(O=ui.get(h))&&!O.overlay)return new i(O.tree,f,e,o);let p=new i(h,f,e,o);return s&ee.IncludeAnonymous||!p.type.isAnonymous?p:p.nextChild(t<0?h.children.length-1:0,t,n,r,s)}}}if(s&ee.IncludeAnonymous||!o.type.isAnonymous||(o.index>=0?e=o.index+t:e=t<0?-1:o._parent._tree.children.length,o=o._parent,!o))return null}}get firstChild(){return this.nextChild(0,1,0,4)}get lastChild(){return this.nextChild(this._tree.children.length-1,-1,0,4)}childAfter(e){return this.nextChild(0,1,e,2)}childBefore(e){return this.nextChild(this._tree.children.length-1,-1,e,-2)}prop(e){return this._tree.prop(e)}enter(e,t,n=0){let r;if(!(n&ee.IgnoreOverlays)&&(r=ui.get(this._tree))&&r.overlay){let s=e-this.from,o=n&ee.EnterBracketed&&r.bracketed;for(let{from:a,to:l}of r.overlay)if((t>0||o?a<=s:a=s:l>s))return new i(r.tree,r.overlay[0].from+this.from,-1,this)}return this.nextChild(0,1,e,t,n)}nextSignificantParent(){let e=this;for(;e.type.isAnonymous&&e._parent;)e=e._parent;return e}get parent(){return this._parent?this._parent.nextSignificantParent():null}get nextSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index+1,1,0,4):null}get prevSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index-1,-1,0,4):null}get tree(){return this._tree}toTree(){return this._tree}toString(){return this._tree.toString()}};function Wu(i,e,t,n){let r=i.cursor(),s=[];if(!r.firstChild())return s;if(t!=null){for(let o=!1;!o;)if(o=r.type.is(t),!r.nextSibling())return s}for(;;){if(n!=null&&r.type.is(n))return s;if(r.type.is(e)&&s.push(r.node),!r.nextSibling())return n==null?s:[]}}function Ja(i,e,t=e.length-1){for(let n=i;t>=0;n=n.parent){if(!n)return!1;if(!n.type.isAnonymous){if(e[t]&&e[t]!=n.name)return!1;t--}}return!0}var el=class{constructor(e,t,n,r){this.parent=e,this.buffer=t,this.index=n,this.start=r}},zi=class i extends Ps{get name(){return this.type.name}get from(){return this.context.start+this.context.buffer.buffer[this.index+1]}get to(){return this.context.start+this.context.buffer.buffer[this.index+2]}constructor(e,t,n){super(),this.context=e,this._parent=t,this.index=n,this.type=e.buffer.set.types[e.buffer.buffer[n]]}child(e,t,n){let{buffer:r}=this.context,s=r.findChild(this.index+4,r.buffer[this.index+3],e,t-this.context.start,n);return s<0?null:new i(this.context,this,s)}get firstChild(){return this.child(1,0,4)}get lastChild(){return this.child(-1,0,4)}childAfter(e){return this.child(1,e,2)}childBefore(e){return this.child(-1,e,-2)}prop(e){return this.type.prop(e)}enter(e,t,n=0){if(n&ee.ExcludeBuffers)return null;let{buffer:r}=this.context,s=r.findChild(this.index+4,r.buffer[this.index+3],t>0?1:-1,e-this.context.start,t);return s<0?null:new i(this.context,this,s)}get parent(){return this._parent||this.context.parent.nextSignificantParent()}externalSibling(e){return this._parent?null:this.context.parent.nextChild(this.context.index+e,e,0,4)}get nextSibling(){let{buffer:e}=this.context,t=e.buffer[this.index+3];return t<(this._parent?e.buffer[this._parent.index+3]:e.buffer.length)?new i(this.context,this._parent,t):this.externalSibling(1)}get prevSibling(){let{buffer:e}=this.context,t=this._parent?this._parent.index+4:0;return this.index==t?this.externalSibling(-1):new i(this.context,this._parent,e.findChild(t,this.index,-1,0,4))}get tree(){return null}toTree(){let e=[],t=[],{buffer:n}=this.context,r=this.index+4,s=n.buffer[this.index+3];if(s>r){let o=n.buffer[this.index+1];e.push(n.slice(r,s,o)),t.push(0)}return new F(this.type,e,t,this.to-this.from)}toString(){return this.context.buffer.childString(this.index)}};function Uu(i){if(!i.length)return null;let e=0,t=i[0];for(let s=1;st.from||o.to=e){let a=new Ye(o.tree,o.overlay[0].from+s.from,-1,s);(r||(r=[n])).push(or(a,e,t,!1))}}return r?Uu(r):n}var Qn=class{get name(){return this.type.name}constructor(e,t=0){if(this.buffer=null,this.stack=[],this.index=0,this.bufferNode=null,this.mode=t&~ee.EnterBracketed,e instanceof Ye)this.yieldNode(e);else{this._tree=e.context.parent,this.buffer=e.context;for(let n=e._parent;n;n=n._parent)this.stack.unshift(n.index);this.bufferNode=e,this.yieldBuf(e.index)}}yieldNode(e){return e?(this._tree=e,this.type=e.type,this.from=e.from,this.to=e.to,!0):!1}yieldBuf(e,t){this.index=e;let{start:n,buffer:r}=this.buffer;return this.type=t||r.set.types[r.buffer[e]],this.from=n+r.buffer[e+1],this.to=n+r.buffer[e+2],!0}yield(e){return e?e instanceof Ye?(this.buffer=null,this.yieldNode(e)):(this.buffer=e.context,this.yieldBuf(e.index,e.type)):!1}toString(){return this.buffer?this.buffer.buffer.childString(this.index):this._tree.toString()}enterChild(e,t,n){if(!this.buffer)return this.yield(this._tree.nextChild(e<0?this._tree._tree.children.length-1:0,e,t,n,this.mode));let{buffer:r}=this.buffer,s=r.findChild(this.index+4,r.buffer[this.index+3],e,t-this.buffer.start,n);return s<0?!1:(this.stack.push(this.index),this.yieldBuf(s))}firstChild(){return this.enterChild(1,0,4)}lastChild(){return this.enterChild(-1,0,4)}childAfter(e){return this.enterChild(1,e,2)}childBefore(e){return this.enterChild(-1,e,-2)}enter(e,t,n=this.mode){return this.buffer?n&ee.ExcludeBuffers?!1:this.enterChild(1,e,t):this.yield(this._tree.enter(e,t,n))}parent(){if(!this.buffer)return this.yieldNode(this.mode&ee.IncludeAnonymous?this._tree._parent:this._tree.parent);if(this.stack.length)return this.yieldBuf(this.stack.pop());let e=this.mode&ee.IncludeAnonymous?this.buffer.parent:this.buffer.parent.nextSignificantParent();return this.buffer=null,this.yieldNode(e)}sibling(e){if(!this.buffer)return this._tree._parent?this.yield(this._tree.index<0?null:this._tree._parent.nextChild(this._tree.index+e,e,0,4,this.mode)):!1;let{buffer:t}=this.buffer,n=this.stack.length-1;if(e<0){let r=n<0?0:this.stack[n]+4;if(this.index!=r)return this.yieldBuf(t.findChild(r,this.index,-1,0,4))}else{let r=t.buffer[this.index+3];if(r<(n<0?t.buffer.length:t.buffer[this.stack[n]+3]))return this.yieldBuf(r)}return n<0?this.yield(this.buffer.parent.nextChild(this.buffer.index+e,e,0,4,this.mode)):!1}nextSibling(){return this.sibling(1)}prevSibling(){return this.sibling(-1)}atLastNode(e){let t,n,{buffer:r}=this;if(r){if(e>0){if(this.index-1)for(let s=t+e,o=e<0?-1:n._tree.children.length;s!=o;s+=e){let a=n._tree.children[s];if(this.mode&ee.IncludeAnonymous||a instanceof Oi||!a.type.isAnonymous||al(a))return!1}return!0}move(e,t){if(t&&this.enterChild(e,0,4))return!0;for(;;){if(this.sibling(e))return!0;if(this.atLastNode(e)||!this.parent())return!1}}next(e=!0){return this.move(1,e)}prev(e=!0){return this.move(-1,e)}moveTo(e,t=0){for(;(this.from==this.to||(t<1?this.from>=e:this.from>e)||(t>-1?this.to<=e:this.to=0;){for(let o=e;o;o=o._parent)if(o.index==r){if(r==this.index)return o;t=o,n=s+1;break e}r=this.stack[--s]}for(let r=n;r=0;s--){if(s<0)return Ja(this._tree,e,r);let o=n[t.buffer[this.stack[s]]];if(!o.isAnonymous){if(e[r]&&e[r]!=o.name)return!1;r--}}return!0}};function al(i){return i.children.some(e=>e instanceof Oi||!e.type.isAnonymous||al(e))}function UQ(i){var e;let{buffer:t,nodeSet:n,maxBufferLength:r=1024,reused:s=[],minRepeatType:o=n.types.length}=i,a=Array.isArray(t)?new Ka(t,t.length):t,l=n.types,c=0,h=0;function f(v,$,R,_,W,T){let{id:k,start:w,end:C,size:j}=a,y=h,q=c;if(j<0)if(a.next(),j==-1){let H=s[k];R.push(H),_.push(w-v);return}else if(j==-3){c=k;return}else if(j==-4){h=k;return}else throw new RangeError(`Unrecognized record size: ${j}`);let de=l[k],Zt,X,G=w-v;if(C-w<=r&&(X=b(a.pos-$,W))){let H=new Uint16Array(X.size-X.skip),B=a.pos-X.size,re=H.length;for(;a.pos>B;)re=g(X.start,H,re);Zt=new Oi(H,C-X.start,n),G=X.start-v}else{let H=a.pos-j;a.next();let B=[],re=[],ne=k>=o?k:-1,ye=0,Et=C;for(;a.pos>H;)ne>=0&&a.id==ne&&a.size>=0?(a.end<=Et-r&&(p(B,re,w,ye,a.end,Et,ne,y,q),ye=B.length,Et=a.end),a.next()):T>2500?u(w,H,B,re):f(w,H,B,re,ne,T+1);if(ne>=0&&ye>0&&ye-1&&ye>0){let ni=O(de,q);Zt=ll(de,B,re,0,B.length,0,C-w,ni,ni)}else Zt=m(de,B,re,C-w,y-C,q)}R.push(Zt),_.push(G)}function u(v,$,R,_){let W=[],T=0,k=-1;for(;a.pos>$;){let{id:w,start:C,end:j,size:y}=a;if(y>4)a.next();else{if(k>-1&&C=0;j-=3)w[y++]=W[j],w[y++]=W[j+1]-C,w[y++]=W[j+2]-C,w[y++]=y;R.push(new Oi(w,W[2]-C,n)),_.push(C-v)}}function O(v,$){return(R,_,W)=>{let T=0,k=R.length-1,w,C;if(k>=0&&(w=R[k])instanceof F){if(!k&&w.type==v&&w.length==W)return w;(C=w.prop(I.lookAhead))&&(T=_[k]+w.length+C)}return m(v,R,_,W,T,$)}}function p(v,$,R,_,W,T,k,w,C){let j=[],y=[];for(;v.length>_;)j.push(v.pop()),y.push($.pop()+R-W);v.push(m(n.types[k],j,y,T-W,w-T,C)),$.push(W-R)}function m(v,$,R,_,W,T,k){if(T){let w=[I.contextHash,T];k=k?[w].concat(k):[w]}if(W>25){let w=[I.lookAhead,W];k=k?[w].concat(k):[w]}return new F(v,$,R,_,k)}function b(v,$){let R=a.fork(),_=0,W=0,T=0,k=R.end-r,w={size:0,start:0,skip:0};e:for(let C=R.pos-v;R.pos>C;){let j=R.size;if(R.id==$&&j>=0){w.size=_,w.start=W,w.skip=T,T+=4,_+=4,R.next();continue}let y=R.pos-j;if(j<0||y=o?4:0,de=R.start;for(R.next();R.pos>y;){if(R.size<0)if(R.size==-3||R.size==-4)q+=4;else break e;else R.id>=o&&(q+=4);R.next()}W=de,_+=j,T+=q}return($<0||_==v)&&(w.size=_,w.start=W,w.skip=T),w.size>4?w:void 0}function g(v,$,R){let{id:_,start:W,end:T,size:k}=a;if(a.next(),k>=0&&_4){let C=a.pos-(k-4);for(;a.pos>C;)R=g(v,$,R)}$[--R]=w,$[--R]=T-v,$[--R]=W-v,$[--R]=_}else k==-3?c=_:k==-4&&(h=_);return R}let Q=[],S=[];for(;a.pos>0;)f(i.start||0,i.bufferStart||0,Q,S,-1,0);let x=(e=i.length)!==null&&e!==void 0?e:Q.length?S[0]+Q[0].length:0;return new F(l[i.topID],Q.reverse(),S.reverse(),x)}var ju=new WeakMap;function ws(i,e){if(!i.isAnonymous||e instanceof Oi||e.type!=i)return 1;let t=ju.get(e);if(t==null){t=1;for(let n of e.children){if(n.type!=i||!(n instanceof F)){t=1;break}t+=ws(i,n)}ju.set(e,t)}return t}function ll(i,e,t,n,r,s,o,a,l){let c=0;for(let p=n;p=h)break;$+=R}if(S==x+1){if($>h){let R=p[x];O(R.children,R.positions,0,R.children.length,m[x]+Q);continue}f.push(p[x])}else{let R=m[S-1]+p[S-1].length-v;f.push(ll(i,p,m,x,S,v,R,null,l))}u.push(v+Q-s)}}return O(e,t,n,r,0),(a||l)(f,u,o)}var di=class{constructor(){this.map=new WeakMap}setBuffer(e,t,n){let r=this.map.get(e);r||this.map.set(e,r=new Map),r.set(t,n)}getBuffer(e,t){let n=this.map.get(e);return n&&n.get(t)}set(e,t){e instanceof zi?this.setBuffer(e.context.buffer,e.index,t):e instanceof Ye&&this.map.set(e.tree,t)}get(e){return e instanceof zi?this.getBuffer(e.context.buffer,e.index):e instanceof Ye?this.map.get(e.tree):void 0}cursorSet(e,t){e.buffer?this.setBuffer(e.buffer.buffer,e.index,t):this.map.set(e.tree,t)}cursorGet(e){return e.buffer?this.getBuffer(e.buffer.buffer,e.index):this.map.get(e.tree)}},Yt=class i{constructor(e,t,n,r,s=!1,o=!1){this.from=e,this.to=t,this.tree=n,this.offset=r,this.open=(s?1:0)|(o?2:0)}get openStart(){return(this.open&1)>0}get openEnd(){return(this.open&2)>0}static addTree(e,t=[],n=!1){let r=[new i(0,e.length,e,0,!1,n)];for(let s of t)s.to>e.length&&r.push(s);return r}static applyChanges(e,t,n=128){if(!t.length)return e;let r=[],s=1,o=e.length?e[0]:null;for(let a=0,l=0,c=0;;a++){let h=a=n)for(;o&&o.from=u.from||f<=u.to||c){let O=Math.max(u.from,l)-c,p=Math.min(u.to,f)-c;u=O>=p?null:new i(O,p,u.tree,u.offset+c,a>0,!!h)}if(u&&r.push(u),o.to>f)break;o=snew De(r.from,r.to)):[new De(0,0)]:[new De(0,e.length)],this.createParse(e,t||[],n)}parse(e,t,n){let r=this.startParse(e,t,n);for(;;){let s=r.advance();if(s)return s}}},il=class{constructor(e){this.string=e}get length(){return this.string.length}chunk(e){return this.string.slice(e)}get lineChunks(){return!1}read(e,t){return this.string.slice(e,t)}};function bn(i){return(e,t,n,r)=>new sl(e,i,t,n,r)}var vs=class{constructor(e,t,n,r,s,o){this.parser=e,this.parse=t,this.overlay=n,this.bracketed=r,this.target=s,this.from=o}};function Vu(i){if(!i.length||i.some(e=>e.from>=e.to))throw new RangeError("Invalid inner parse ranges given: "+JSON.stringify(i))}var nl=class{constructor(e,t,n,r,s,o,a,l){this.parser=e,this.predicate=t,this.mounts=n,this.index=r,this.start=s,this.bracketed=o,this.target=a,this.prev=l,this.depth=0,this.ranges=[]}},rl=new I({perNode:!0}),sl=class{constructor(e,t,n,r,s){this.nest=t,this.input=n,this.fragments=r,this.ranges=s,this.inner=[],this.innerDone=0,this.baseTree=null,this.stoppedAt=null,this.baseParse=e}advance(){if(this.baseParse){let n=this.baseParse.advance();if(!n)return null;if(this.baseParse=null,this.baseTree=n,this.startInner(),this.stoppedAt!=null)for(let r of this.inner)r.parse.stopAt(this.stoppedAt)}if(this.innerDone==this.inner.length){let n=this.baseTree;return this.stoppedAt!=null&&(n=new F(n.type,n.children,n.positions,n.length,n.propValues.concat([[rl,this.stoppedAt]]))),n}let e=this.inner[this.innerDone],t=e.parse.advance();if(t){this.innerDone++;let n=Object.assign(Object.create(null),e.target.props);n[I.mounted.id]=new ui(t,e.overlay,e.parser,e.bracketed),e.target.props=n}return null}get parsedPos(){if(this.baseParse)return 0;let e=this.input.length;for(let t=this.innerDone;t=this.stoppedAt)a=!1;else if(e.hasNode(r)){if(t){let c=t.mounts.find(h=>h.frag.from<=r.from&&h.frag.to>=r.to&&h.mount.overlay);if(c)for(let h of c.mount.overlay){let f=h.from+c.pos,u=h.to+c.pos;f>=r.from&&u<=r.to&&!t.ranges.some(O=>O.fromf)&&t.ranges.push({from:f,to:u})}}a=!1}else if(n&&(o=GQ(n.ranges,r.from,r.to)))a=o!=2;else if(!r.type.isAnonymous&&(s=this.nest(r,this.input))&&(r.fromnew De(f.from-r.from,f.to-r.from)):null,!!s.bracketed,r.tree,h.length?h[0].from:r.from)),s.overlay?h.length&&(n={ranges:h,depth:0,prev:n}):a=!1}}else if(t&&(l=t.predicate(r))&&(l===!0&&(l=new De(r.from,r.to)),l.from=0&&t.ranges[c].to==l.from?t.ranges[c]={from:t.ranges[c].from,to:l.to}:t.ranges.push(l)}if(a&&r.firstChild())t&&t.depth++,n&&n.depth++;else for(;!r.nextSibling();){if(!r.parent())break e;if(t&&!--t.depth){let c=Yu(this.ranges,t.ranges);c.length&&(Vu(c),this.inner.splice(t.index,0,new vs(t.parser,t.parser.startParse(this.input,Iu(t.mounts,c),c),t.ranges.map(h=>new De(h.from-t.start,h.to-t.start)),t.bracketed,t.target,c[0].from))),t=t.prev}n&&!--n.depth&&(n=n.prev)}}}};function GQ(i,e,t){for(let n of i){if(n.from>=t)break;if(n.to>e)return n.from<=e&&n.to>=t?2:1}return 0}function Du(i,e,t,n,r,s){if(e=e&&t.enter(n,1,ee.IgnoreOverlays|ee.ExcludeBuffers)))if(t.to<=e)t.next(!1)||(this.done=!0);else break}hasNode(e){if(this.moveTo(e.from),!this.done&&this.cursor.from+this.offset==e.from&&this.cursor.tree)for(let t=this.cursor.tree;;){if(t==e.tree)return!0;if(t.children.length&&t.positions[0]==0&&t.children[0]instanceof F)t=t.children[0];else break}return!1}},ol=class{constructor(e){var t;if(this.fragments=e,this.curTo=0,this.fragI=0,e.length){let n=this.curFrag=e[0];this.curTo=(t=n.tree.prop(rl))!==null&&t!==void 0?t:n.to,this.inner=new $s(n.tree,-n.offset)}else this.curFrag=this.inner=null}hasNode(e){for(;this.curFrag&&e.from>=this.curTo;)this.nextFrag();return this.curFrag&&this.curFrag.from<=e.from&&this.curTo>=e.to&&this.inner.hasNode(e)}nextFrag(){var e;if(this.fragI++,this.fragI==this.fragments.length)this.curFrag=this.inner=null;else{let t=this.curFrag=this.fragments[this.fragI];this.curTo=(e=t.tree.prop(rl))!==null&&e!==void 0?e:t.to,this.inner=new $s(t.tree,-t.offset)}}findMounts(e,t){var n;let r=[];if(this.inner){this.inner.cursor.moveTo(e,1);for(let s=this.inner.cursor.node;s;s=s.parent){let o=(n=s.tree)===null||n===void 0?void 0:n.prop(I.mounted);if(o&&o.parser==t)for(let a=this.fragI;a=s.to)break;l.tree==this.curFrag.tree&&r.push({frag:l,pos:s.from-l.offset,mount:o})}}}return r}};function Yu(i,e){let t=null,n=e;for(let r=1,s=0;r=a)break;l.to<=o||(t||(n=t=e.slice()),l.froma&&t.splice(s+1,0,new De(a,l.to))):l.to>a?t[s--]=new De(a,l.to):t.splice(s--,1))}}return n}function FQ(i,e,t,n){let r=0,s=0,o=!1,a=!1,l=-1e9,c=[];for(;;){let h=r==i.length?1e9:o?i[r].to:i[r].from,f=s==e.length?1e9:a?e[s].to:e[s].from;if(o!=a){let u=Math.max(l,t),O=Math.min(h,f,n);unew De(u.from+n,u.to+n)),f=FQ(e,h,l,c);for(let u=0,O=l;;u++){let p=u==f.length,m=p?c:f[u].from;if(m>O&&t.push(new Yt(O,m,r.tree,-o,s.from>=O||s.openStart,s.to<=m||s.openEnd)),p)break;O=f[u].to}}else t.push(new Yt(l,c,r.tree,-o,s.from>=o||s.openStart,s.to<=a||s.openEnd))}return t}var HQ=0,He=class i{constructor(e,t,n,r){this.name=e,this.set=t,this.base=n,this.modified=r,this.id=HQ++}toString(){let{name:e}=this;for(let t of this.modified)t.name&&(e=`${t.name}(${e})`);return e}static define(e,t){let n=typeof e=="string"?e:"?";if(e instanceof i&&(t=e),t?.base)throw new Error("Can not derive from a modified tag");let r=new i(n,[],null,[]);if(r.set.push(r),t)for(let s of t.set)r.set.push(s);return r}static defineModifier(e){let t=new _s(e);return n=>n.modified.indexOf(t)>-1?n:_s.get(n.base||n,n.modified.concat(t).sort((r,s)=>r.id-s.id))}},KQ=0,_s=class i{constructor(e){this.name=e,this.instances=[],this.id=KQ++}static get(e,t){if(!t.length)return e;let n=t[0].instances.find(a=>a.base==e&&JQ(t,a.modified));if(n)return n;let r=[],s=new He(e.name,r,e,t);for(let a of t)a.instances.push(s);let o=eb(t);for(let a of e.set)if(!a.modified.length)for(let l of o)r.push(i.get(a,l));return s}};function JQ(i,e){return i.length==e.length&&i.every((t,n)=>t==e[n])}function eb(i){let e=[[]];for(let t=0;tn.length-t.length)}function Qe(i){let e=Object.create(null);for(let t in i){let n=i[t];Array.isArray(n)||(n=[n]);for(let r of t.split(" "))if(r){let s=[],o=2,a=r;for(let f=0;;){if(a=="..."&&f>0&&f+3==r.length){o=1;break}let u=/^"(?:[^"\\]|\\.)*?"|[^\/!]+/.exec(a);if(!u)throw new RangeError("Invalid path: "+r);if(s.push(u[0]=="*"?"":u[0][0]=='"'?JSON.parse(u[0]):u[0]),f+=u[0].length,f==r.length)break;let O=r[f++];if(f==r.length&&O=="!"){o=0;break}if(O!="/")throw new RangeError("Invalid path: "+r);a=r.slice(f)}let l=s.length-1,c=s[l];if(!c)throw new RangeError("Invalid path: "+r);let h=new Mi(n,o,l>0?s.slice(0,l):null);e[c]=h.sort(e[c])}}return Fu.add(e)}var Fu=new I({combine(i,e){let t,n,r;for(;i||e;){if(!i||e&&i.depth>=e.depth?(r=e,e=e.next):(r=i,i=i.next),t&&t.mode==r.mode&&!r.context&&!t.context)continue;let s=new Mi(r.tags,r.mode,r.context);t?t.next=s:n=s,t=s}return n}}),Mi=class{constructor(e,t,n,r){this.tags=e,this.mode=t,this.context=n,this.next=r}get opaque(){return this.mode==0}get inherit(){return this.mode==1}sort(e){return!e||e.depth{let o=r;for(let a of s)for(let l of a.set){let c=t[l.id];if(c){o=o?o+" "+c:c;break}}return o},scope:n}}function tb(i,e){let t=null;for(let n of i){let r=n.style(e);r&&(t=t?t+" "+r:r)}return t}function Rs(i,e,t,n=0,r=i.length){let s=new hl(n,Array.isArray(e)?e:[e],t);s.highlightRange(i.cursor(),n,r,"",s.highlighters),s.flush(r)}var hl=class{constructor(e,t,n){this.at=e,this.highlighters=t,this.span=n,this.class=""}startSpan(e,t){t!=this.class&&(this.flush(e),e>this.at&&(this.at=e),this.class=t)}flush(e){e>this.at&&this.class&&this.span(this.at,e,this.class)}highlightRange(e,t,n,r,s){let{type:o,from:a,to:l}=e;if(a>=n||l<=t)return;o.isTop&&(s=this.highlighters.filter(O=>!O.scope||O.scope(o)));let c=r,h=ib(e)||Mi.empty,f=tb(s,h.tags);if(f&&(c&&(c+=" "),c+=f,h.mode==1&&(r+=(r?" ":"")+f)),this.startSpan(Math.max(t,a),c),h.opaque)return;let u=e.tree&&e.tree.prop(I.mounted);if(u&&u.overlay){let O=e.node.enter(u.overlay[0].from+a,1),p=this.highlighters.filter(b=>!b.scope||b.scope(u.tree.type)),m=e.firstChild();for(let b=0,g=a;;b++){let Q=b=S||!e.nextSibling())););if(!Q||S>n)break;g=Q.to+a,g>t&&(this.highlightRange(O.cursor(),Math.max(t,Q.from+a),Math.min(n,g),"",p),this.startSpan(Math.min(n,g),c))}m&&e.parent()}else if(e.firstChild()){u&&(r="");do if(!(e.to<=t)){if(e.from>=n)break;this.highlightRange(e,t,n,r,s),this.startSpan(Math.min(n,e.to),c)}while(e.nextSibling());e.parent()}}};function ib(i){let e=i.type.prop(Fu);for(;e&&e.context&&!i.matchContext(e.context);)e=e.next;return e||null}var E=He.define,Ts=E(),pi=E(),Gu=E(pi),Nu=E(pi),mi=E(),Cs=E(mi),cl=E(mi),_t=E(),Li=E(_t),Ct=E(),Xt=E(),fl=E(),ar=E(fl),Xs=E(),d={comment:Ts,lineComment:E(Ts),blockComment:E(Ts),docComment:E(Ts),name:pi,variableName:E(pi),typeName:Gu,tagName:E(Gu),propertyName:Nu,attributeName:E(Nu),className:E(pi),labelName:E(pi),namespace:E(pi),macroName:E(pi),literal:mi,string:Cs,docString:E(Cs),character:E(Cs),attributeValue:E(Cs),number:cl,integer:E(cl),float:E(cl),bool:E(mi),regexp:E(mi),escape:E(mi),color:E(mi),url:E(mi),keyword:Ct,self:E(Ct),null:E(Ct),atom:E(Ct),unit:E(Ct),modifier:E(Ct),operatorKeyword:E(Ct),controlKeyword:E(Ct),definitionKeyword:E(Ct),moduleKeyword:E(Ct),operator:Xt,derefOperator:E(Xt),arithmeticOperator:E(Xt),logicOperator:E(Xt),bitwiseOperator:E(Xt),compareOperator:E(Xt),updateOperator:E(Xt),definitionOperator:E(Xt),typeOperator:E(Xt),controlOperator:E(Xt),punctuation:fl,separator:E(fl),bracket:ar,angleBracket:E(ar),squareBracket:E(ar),paren:E(ar),brace:E(ar),content:_t,heading:Li,heading1:E(Li),heading2:E(Li),heading3:E(Li),heading4:E(Li),heading5:E(Li),heading6:E(Li),contentSeparator:E(_t),list:E(_t),quote:E(_t),emphasis:E(_t),strong:E(_t),link:E(_t),monospace:E(_t),strikethrough:E(_t),inserted:E(),deleted:E(),changed:E(),invalid:E(),meta:Xs,documentMeta:E(Xs),annotation:E(Xs),processingInstruction:E(Xs),definition:He.defineModifier("definition"),constant:He.defineModifier("constant"),function:He.defineModifier("function"),standard:He.defineModifier("standard"),local:He.defineModifier("local"),special:He.defineModifier("special")};for(let i in d){let e=d[i];e instanceof He&&(e.name=i)}var u$=ul([{tag:d.link,class:"tok-link"},{tag:d.heading,class:"tok-heading"},{tag:d.emphasis,class:"tok-emphasis"},{tag:d.strong,class:"tok-strong"},{tag:d.keyword,class:"tok-keyword"},{tag:d.atom,class:"tok-atom"},{tag:d.bool,class:"tok-bool"},{tag:d.url,class:"tok-url"},{tag:d.labelName,class:"tok-labelName"},{tag:d.inserted,class:"tok-inserted"},{tag:d.deleted,class:"tok-deleted"},{tag:d.literal,class:"tok-literal"},{tag:d.string,class:"tok-string"},{tag:d.number,class:"tok-number"},{tag:[d.regexp,d.escape,d.special(d.string)],class:"tok-string2"},{tag:d.variableName,class:"tok-variableName"},{tag:d.local(d.variableName),class:"tok-variableName tok-local"},{tag:d.definition(d.variableName),class:"tok-variableName tok-definition"},{tag:d.special(d.variableName),class:"tok-variableName2"},{tag:d.definition(d.propertyName),class:"tok-propertyName tok-definition"},{tag:d.typeName,class:"tok-typeName"},{tag:d.namespace,class:"tok-namespace"},{tag:d.className,class:"tok-className"},{tag:d.macroName,class:"tok-macroName"},{tag:d.propertyName,class:"tok-propertyName"},{tag:d.operator,class:"tok-operator"},{tag:d.comment,class:"tok-comment"},{tag:d.meta,class:"tok-meta"},{tag:d.invalid,class:"tok-invalid"},{tag:d.punctuation,class:"tok-punctuation"}]);var Ol,bt=new I;function kn(i){return Y.define({combine:i?e=>e.concat(i):void 0})}var qs=new I,xe=class{constructor(e,t,n=[],r=""){this.data=e,this.name=r,se.prototype.hasOwnProperty("tree")||Object.defineProperty(se.prototype,"tree",{get(){return U(this)}}),this.parser=t,this.extension=[Sn.of(this),se.languageData.of((s,o,a)=>{let l=Hu(s,o,a),c=l.type.prop(bt);if(!c)return[];let h=s.facet(c),f=l.type.prop(qs);if(f){let u=l.resolve(o-l.from,a);for(let O of f)if(O.test(u,s)){let p=s.facet(O.facet);return O.type=="replace"?p:p.concat(h)}}return h})].concat(n)}isActiveAt(e,t,n=-1){return Hu(e,t,n).type.prop(bt)==this.data}findRegions(e){let t=e.facet(Sn);if(t?.data==this.data)return[{from:0,to:e.doc.length}];if(!t||!t.allowsNesting)return[];let n=[],r=(s,o)=>{if(s.prop(bt)==this.data){n.push({from:o,to:o+s.length});return}let a=s.prop(I.mounted);if(a){if(a.tree.prop(bt)==this.data){if(a.overlay)for(let l of a.overlay)n.push({from:l.from+o,to:l.to+o});else n.push({from:o,to:o+s.length});return}else if(a.overlay){let l=n.length;if(r(a.tree,a.overlay[0].from+o),n.length>l)return}}for(let l=0;ln.isTop?t:void 0)]}),e.name)}configure(e,t){return new i(this.data,this.parser.configure(e),t||this.name)}get allowsNesting(){return this.parser.hasWrappers()}};function U(i){let e=i.field(xe.state,!1);return e?e.tree:F.empty}function zs(i,e,t=50){var n;let r=(n=i.field(xe.state,!1))===null||n===void 0?void 0:n.context;if(!r)return null;let s=r.viewport;r.updateViewport({from:0,to:e});let o=r.isDone(e)||r.work(t,e)?r.tree:null;return r.updateViewport(s),o}function nO(i,e=i.doc.length){var t;return((t=i.field(xe.state,!1))===null||t===void 0?void 0:t.context.isDone(e))||!1}var gl=class{constructor(e){this.doc=e,this.cursorPos=0,this.string="",this.cursor=e.iter()}get length(){return this.doc.length}syncTo(e){return this.string=this.cursor.next(e-this.cursorPos).value,this.cursorPos=e+this.string.length,this.cursorPos-this.string.length}chunk(e){return this.syncTo(e),this.string}get lineChunks(){return!0}read(e,t){let n=this.cursorPos-this.string.length;return e=this.cursorPos?this.doc.sliceString(e,t):this.string.slice(e-n,t-n)}},lr=null,Wi=class i{constructor(e,t,n=[],r,s,o,a,l){this.parser=e,this.state=t,this.fragments=n,this.tree=r,this.treeLen=s,this.viewport=o,this.skipped=a,this.scheduleOn=l,this.parse=null,this.tempSkipped=[]}static create(e,t,n){return new i(e,t,[],F.empty,0,n,[],null)}startParse(){return this.parser.startParse(new gl(this.state.doc),this.fragments)}work(e,t){return t!=null&&t>=this.state.doc.length&&(t=void 0),this.tree!=F.empty&&this.isDone(t??this.state.doc.length)?(this.takeTree(),!0):this.withContext(()=>{var n;if(typeof e=="number"){let r=Date.now()+e;e=()=>Date.now()>r}for(this.parse||(this.parse=this.startParse()),t!=null&&(this.parse.stoppedAt==null||this.parse.stoppedAt>t)&&t=this.treeLen&&((this.parse.stoppedAt==null||this.parse.stoppedAt>e)&&this.parse.stopAt(e),this.withContext(()=>{for(;!(t=this.parse.advance()););}),this.treeLen=e,this.tree=t,this.fragments=this.withoutTempSkipped(Yt.addTree(this.tree,this.fragments,!0)),this.parse=null)}withContext(e){let t=lr;lr=this;try{return e()}finally{lr=t}}withoutTempSkipped(e){for(let t;t=this.tempSkipped.pop();)e=Ku(e,t.from,t.to);return e}changes(e,t){let{fragments:n,tree:r,treeLen:s,viewport:o,skipped:a}=this;if(this.takeTree(),!e.empty){let l=[];if(e.iterChangedRanges((c,h,f,u)=>l.push({fromA:c,toA:h,fromB:f,toB:u})),n=Yt.applyChanges(n,l),r=F.empty,s=0,o={from:e.mapPos(o.from,-1),to:e.mapPos(o.to,1)},this.skipped.length){a=[];for(let c of this.skipped){let h=e.mapPos(c.from,1),f=e.mapPos(c.to,-1);he.from&&(this.fragments=Ku(this.fragments,r,s),this.skipped.splice(n--,1))}return this.skipped.length>=t?!1:(this.reset(),!0)}reset(){this.parse&&(this.takeTree(),this.parse=null)}skipUntilInView(e,t){this.skipped.push({from:e,to:t})}static getSkippingParser(e){return new class extends It{createParse(t,n,r){let s=r[0].from,o=r[r.length-1].to;return{parsedPos:s,advance(){let l=lr;if(l){for(let c of r)l.tempSkipped.push(c);e&&(l.scheduleOn=l.scheduleOn?Promise.all([l.scheduleOn,e]):e)}return this.parsedPos=o,new F(Oe.none,[],[],o-s)},stoppedAt:null,stopAt(){}}}}}isDone(e){e=Math.min(e,this.state.doc.length);let t=this.fragments;return this.treeLen>=e&&t.length&&t[0].from==0&&t[0].to>=e}static get(){return lr}};function Ku(i,e,t){return Yt.applyChanges(i,[{fromA:e,toA:t,fromB:e,toB:t}])}var cr=class i{constructor(e){this.context=e,this.tree=e.tree}apply(e){if(!e.docChanged&&this.tree==this.context.tree)return this;let t=this.context.changes(e.changes,e.state),n=this.context.treeLen==e.startState.doc.length?void 0:Math.max(e.changes.mapPos(this.context.treeLen),t.viewport.to);return t.work(20,n)||t.takeTree(),new i(t)}static init(e){let t=Math.min(3e3,e.doc.length),n=Wi.create(e.facet(Sn).parser,e,{from:0,to:t});return n.work(20,t)||n.takeTree(),new i(n)}};xe.state=he.define({create:cr.init,update(i,e){for(let t of e.effects)if(t.is(xe.setState))return t.value;return e.startState.facet(Sn)!=e.state.facet(Sn)?cr.init(e.state):i.apply(e)}});var rO=i=>{let e=setTimeout(()=>i(),500);return()=>clearTimeout(e)};typeof requestIdleCallback<"u"&&(rO=i=>{let e=-1,t=setTimeout(()=>{e=requestIdleCallback(i,{timeout:400})},100);return()=>e<0?clearTimeout(t):cancelIdleCallback(e)});var dl=typeof navigator<"u"&&(!((Ol=navigator.scheduling)===null||Ol===void 0)&&Ol.isInputPending)?()=>navigator.scheduling.isInputPending():null,nb=Ve.fromClass(class{constructor(e){this.view=e,this.working=null,this.workScheduled=0,this.chunkEnd=-1,this.chunkBudget=-1,this.work=this.work.bind(this),this.scheduleWork()}update(e){let t=this.view.state.field(xe.state).context;(t.updateViewport(e.view.viewport)||this.view.viewport.to>t.treeLen)&&this.scheduleWork(),(e.docChanged||e.selectionSet)&&(this.view.hasFocus&&(this.chunkBudget+=50),this.scheduleWork()),this.checkAsyncSchedule(t)}scheduleWork(){if(this.working)return;let{state:e}=this.view,t=e.field(xe.state);(t.tree!=t.context.tree||!t.context.isDone(e.doc.length))&&(this.working=rO(this.work))}work(e){this.working=null;let t=Date.now();if(this.chunkEndr+1e3,l=s.context.work(()=>dl&&dl()||Date.now()>o,r+(a?0:1e5));this.chunkBudget-=Date.now()-t,(l||this.chunkBudget<=0)&&(s.context.takeTree(),this.view.dispatch({effects:xe.setState.of(new cr(s.context))})),this.chunkBudget>0&&!(l&&!a)&&this.scheduleWork(),this.checkAsyncSchedule(s.context)}checkAsyncSchedule(e){e.scheduleOn&&(this.workScheduled++,e.scheduleOn.then(()=>this.scheduleWork()).catch(t=>lt(this.view.state,t)).then(()=>this.workScheduled--),e.scheduleOn=null)}destroy(){this.working&&this.working()}isWorking(){return!!(this.working||this.workScheduled>0)}},{eventHandlers:{focus(){this.scheduleWork()}}}),Sn=Y.define({combine(i){return i.length?i[0]:null},enables:i=>[xe.state,nb,z.contentAttributes.compute([i],e=>{let t=e.facet(i);return t&&t.name?{"data-language":t.name}:{}})]}),me=class{constructor(e,t=[]){this.language=e,this.support=t,this.extension=[e,t]}},Ie=class i{constructor(e,t,n,r,s,o=void 0){this.name=e,this.alias=t,this.extensions=n,this.filename=r,this.loadFunc=s,this.support=o,this.loading=null}load(){return this.loading||(this.loading=this.loadFunc().then(e=>this.support=e,e=>{throw this.loading=null,e}))}static of(e){let{load:t,support:n}=e;if(!t){if(!n)throw new RangeError("Must pass either 'load' or 'support' to LanguageDescription.of");t=()=>Promise.resolve(n)}return new i(e.name,(e.alias||[]).concat(e.name).map(r=>r.toLowerCase()),e.extensions||[],e.filename,t,n)}static matchFilename(e,t){for(let r of e)if(r.filename&&r.filename.test(t))return r;let n=/\.([^.]+)$/.exec(t);if(n){for(let r of e)if(r.extensions.indexOf(n[1])>-1)return r}return null}static matchLanguageName(e,t,n=!0){t=t.toLowerCase();for(let r of e)if(r.alias.some(s=>s==t))return r;if(n)for(let r of e)for(let s of r.alias){let o=t.indexOf(s);if(o>-1&&(s.length>2||!/\w/.test(t[o-1])&&!/\w/.test(t[o+s.length])))return r}return null}},rb=Y.define(),Rt=Y.define({combine:i=>{if(!i.length)return" ";let e=i[0];if(!e||/\S/.test(e)||Array.from(e).some(t=>t!=e[0]))throw new Error("Invalid indent unit: "+JSON.stringify(i[0]));return e}});function gi(i){let e=i.facet(Rt);return e.charCodeAt(0)==9?i.tabSize*e.length:e.length}function fr(i,e){let t="",n=i.tabSize,r=i.facet(Rt)[0];if(r==" "){for(;e>=n;)t+=" ",e-=n;r=" "}for(let s=0;s=e?sb(i,t,e):null}var ji=class{constructor(e,t={}){this.state=e,this.options=t,this.unit=gi(e)}lineAt(e,t=1){let n=this.state.doc.lineAt(e),{simulateBreak:r,simulateDoubleBreak:s}=this.options;return r!=null&&r>=n.from&&r<=n.to?s&&r==e?{text:"",from:e}:(t<0?r-1&&(s+=o-this.countColumn(n,n.search(/\S|$/))),s}countColumn(e,t=e.length){return Ne(e,this.state.tabSize,t)}lineIndent(e,t=1){let{text:n,from:r}=this.lineAt(e,t),s=this.options.overrideIndentation;if(s){let o=s(r);if(o>-1)return o}return this.countColumn(n,n.search(/\S|$/))}get simulatedBreak(){return this.options.simulateBreak||null}},we=new I;function sb(i,e,t){let n=e.resolveStack(t),r=e.resolveInner(t,-1).resolve(t,0).enterUnfinishedNodesBefore(t);if(r!=n.node){let s=[];for(let o=r;o&&!(o.fromn.node.to||o.from==n.node.from&&o.type==n.node.type);o=o.parent)s.push(o);for(let o=s.length-1;o>=0;o--)n={node:s[o],next:n}}return sO(n,i,t)}function sO(i,e,t){for(let n=i;n;n=n.next){let r=ab(n.node);if(r)return r(Ql.create(e,t,n))}return 0}function ob(i){return i.pos==i.options.simulateBreak&&i.options.simulateDoubleBreak}function ab(i){let e=i.type.prop(we);if(e)return e;let t=i.firstChild,n;if(t&&(n=t.type.prop(I.closedBy))){let r=i.lastChild,s=r&&n.indexOf(r.name)>-1;return o=>oO(o,!0,1,void 0,s&&!ob(o)?r.from:void 0)}return i.parent==null?lb:null}function lb(){return 0}var Ql=class i extends ji{constructor(e,t,n){super(e.state,e.options),this.base=e,this.pos=t,this.context=n}get node(){return this.context.node}static create(e,t,n){return new i(e,t,n)}get textAfter(){return this.textAfterPos(this.pos)}get baseIndent(){return this.baseIndentFor(this.node)}baseIndentFor(e){let t=this.state.doc.lineAt(e.from);for(;;){let n=e.resolve(t.from);for(;n.parent&&n.parent.from==n.from;)n=n.parent;if(cb(n,e))break;t=this.state.doc.lineAt(n.from)}return this.lineIndent(t.from)}continue(){return sO(this.context.next,this.base,this.pos)}};function cb(i,e){for(let t=e;t;t=t.parent)if(i==t)return!0;return!1}function hb(i){let e=i.node,t=e.childAfter(e.from),n=e.lastChild;if(!t)return null;let r=i.options.simulateBreak,s=i.state.doc.lineAt(t.from),o=r==null||r<=s.from?s.to:Math.min(s.to,r);for(let a=t.to;;){let l=e.childAfter(a);if(!l||l==n)return null;if(!l.type.isSkipped){if(l.from>=o)return null;let c=/^ */.exec(s.text.slice(t.to-s.from))[0].length;return{from:t.from,to:t.to+c}}a=l.to}}function St({closing:i,align:e=!0,units:t=1}){return n=>oO(n,e,t,i)}function oO(i,e,t,n,r){let s=i.textAfter,o=s.match(/^\s*/)[0].length,a=n&&s.slice(o,o+n.length)==n||r==i.pos+o,l=e?hb(i):null;return l?a?i.column(l.from):i.column(l.to):i.baseIndent+(a?0:i.unit*t)}var aO=i=>i.baseIndent;function Bt({except:i,units:e=1}={}){return t=>{let n=i&&i.test(t.textAfter);return t.baseIndent+(n?0:e*t.unit)}}var lO=Y.define(),Te=new I;function ht(i){let e=i.firstChild,t=i.lastChild;return e&&e.toa.prop(bt)==o.data:o?a=>a==o:void 0,this.style=ul(e.map(a=>({tag:a.tag,class:a.class||r(Object.assign({},a,{tag:null}))})),{all:s}).style,this.module=n?new rt(n):null,this.themeType=t.themeType}static define(e,t){return new i(e,t||{})}},bl=Y.define(),cO=Y.define({combine(i){return i.length?[i[0]]:null}});function pl(i){let e=i.facet(bl);return e.length?e:i.facet(cO)}function hO(i,e){let t=[fb],n;return i instanceof yn&&(i.module&&t.push(z.styleModule.of(i.module)),n=i.themeType),e?.fallback?t.push(cO.of(i)):n?t.push(bl.computeN([z.darkTheme],r=>r.facet(z.darkTheme)==(n=="dark")?[i]:[])):t.push(bl.of(i)),t}var Sl=class{constructor(e){this.markCache=Object.create(null),this.tree=U(e.state),this.decorations=this.buildDeco(e,pl(e.state)),this.decoratedTo=e.viewport.to}update(e){let t=U(e.state),n=pl(e.state),r=n!=pl(e.startState),{viewport:s}=e.view,o=e.changes.mapPos(this.decoratedTo,1);t.length=s.to?(this.decorations=this.decorations.map(e.changes),this.decoratedTo=o):(t!=this.tree||e.viewportChanged||r)&&(this.tree=t,this.decorations=this.buildDeco(e.view,n),this.decoratedTo=s.to)}buildDeco(e,t){if(!t||!this.tree.length)return Z.none;let n=new _i;for(let{from:r,to:s}of e.visibleRanges)Rs(this.tree,t,(o,a,l)=>{n.add(o,a,this.markCache[l]||(this.markCache[l]=Z.mark({class:l})))},r,s);return n.finish()}},fb=nt.high(Ve.fromClass(Sl,{decorations:i=>i.decorations})),y$=yn.define([{tag:d.meta,color:"#404740"},{tag:d.link,textDecoration:"underline"},{tag:d.heading,textDecoration:"underline",fontWeight:"bold"},{tag:d.emphasis,fontStyle:"italic"},{tag:d.strong,fontWeight:"bold"},{tag:d.strikethrough,textDecoration:"line-through"},{tag:d.keyword,color:"#708"},{tag:[d.atom,d.bool,d.url,d.contentSeparator,d.labelName],color:"#219"},{tag:[d.literal,d.inserted],color:"#164"},{tag:[d.string,d.deleted],color:"#a11"},{tag:[d.regexp,d.escape,d.special(d.string)],color:"#e40"},{tag:d.definition(d.variableName),color:"#00f"},{tag:d.local(d.variableName),color:"#30a"},{tag:[d.typeName,d.namespace],color:"#085"},{tag:d.className,color:"#167"},{tag:[d.special(d.variableName),d.macroName],color:"#256"},{tag:d.definition(d.propertyName),color:"#00c"},{tag:d.comment,color:"#940"},{tag:d.invalid,color:"#f00"}]);var ub=1e4,Ob="()[]{}";var Pl=new I;function yl(i,e,t){let n=i.prop(e<0?I.openedBy:I.closedBy);if(n)return n;if(i.name.length==1){let r=t.indexOf(i.name);if(r>-1&&r%2==(e<0?1:0))return[t[r+e]]}return null}function kl(i){let e=i.type.prop(Pl);return e?e(i.node):i}function Vi(i,e,t,n={}){let r=n.maxScanDistance||ub,s=n.brackets||Ob,o=U(i),a=o.resolveInner(e,t);for(let l=a;l;l=l.parent){let c=yl(l.type,t,s);if(c&&l.from0?e>=h.from&&eh.from&&e<=h.to))return db(i,e,t,l,h,c,s)}}return pb(i,e,t,o,a.type,r,s)}function db(i,e,t,n,r,s,o){let a=n.parent,l={from:r.from,to:r.to},c=0,h=a?.cursor();if(h&&(t<0?h.childBefore(n.from):h.childAfter(n.to)))do if(t<0?h.to<=n.from:h.from>=n.to){if(c==0&&s.indexOf(h.type.name)>-1&&h.from0)return null;let c={from:t<0?e-1:e,to:t>0?e+1:e},h=i.doc.iterRange(e,t>0?i.doc.length:0),f=0;for(let u=0;!h.next().done&&u<=s;){let O=h.value;t<0&&(u+=O.length);let p=e+u*t;for(let m=t>0?0:O.length-1,b=t>0?O.length:-1;m!=b;m+=t){let g=o.indexOf(O[m]);if(!(g<0||n.resolveInner(p+m,1).type!=r))if(g%2==0==t>0)f++;else{if(f==1)return{start:c,end:{from:p+m,to:p+m+1},matched:g>>1==l>>1};f--}}t>0&&(u+=O.length)}return h.done?{start:c,matched:!1}:null}function Ju(i,e,t,n=0,r=0){e==null&&(e=i.search(/[^\s\u00a0]/),e==-1&&(e=i.length));let s=r;for(let o=n;o=this.string.length}sol(){return this.pos==0}peek(){return this.string.charAt(this.pos)||void 0}next(){if(this.post}eatSpace(){let e=this.pos;for(;/[\s\u00a0]/.test(this.string.charAt(this.pos));)++this.pos;return this.pos>e}skipToEnd(){this.pos=this.string.length}skipTo(e){let t=this.string.indexOf(e,this.pos);if(t>-1)return this.pos=t,!0}backUp(e){this.pos-=e}column(){return this.lastColumnPosn?o.toLowerCase():o,s=this.string.substr(this.pos,e.length);return r(s)==r(e)?(t!==!1&&(this.pos+=e.length),!0):null}else{let r=this.string.slice(this.pos).match(e);return r&&r.index>0?null:(r&&t!==!1&&(this.pos+=r[0].length),r)}}current(){return this.string.slice(this.start,this.pos)}};function mb(i){return{name:i.name||"",token:i.token,blankLine:i.blankLine||(()=>{}),startState:i.startState||(()=>!0),copyState:i.copyState||gb,indent:i.indent||(()=>null),languageData:i.languageData||{},tokenTable:i.tokenTable||$l,mergeTokens:i.mergeTokens!==!1}}function gb(i){if(typeof i!="object")return i;let e={};for(let t in i){let n=i[t];e[t]=n instanceof Array?n.slice():n}return e}var eO=new WeakMap,Zs=class i extends xe{constructor(e){let t=kn(e.languageData),n=mb(e),r,s=new class extends It{createParse(o,a,l){return new xl(r,o,a,l)}};super(t,s,[],e.name),this.topNode=yb(t,this),r=this,this.streamParser=n,this.stateAfter=new I({perNode:!0}),this.tokenTable=e.tokenTable?new Es(n.tokenTable):Sb}static define(e){return new i(e)}getIndent(e){let t,{overrideIndentation:n}=e.options;n&&(t=eO.get(e.state),t!=null&&t1e4)return null;for(;s=n&&t+e.length<=r&&e.prop(i.stateAfter);if(s)return{state:i.streamParser.copyState(s),pos:t+e.length};for(let o=e.children.length-1;o>=0;o--){let a=e.children[o],l=t+e.positions[o],c=a instanceof F&&l=e.length)return e;!r&&t==0&&e.type==i.topNode&&(r=!0);for(let s=e.children.length-1;s>=0;s--){let o=e.positions[s],a=e.children[s],l;if(ot&&vl(i,s.tree,0-s.offset,t,a),c;if(l&&l.pos<=n&&(c=fO(i,s.tree,t+s.offset,l.pos+s.offset,!1)))return{state:l.state,tree:c}}return{state:i.streamParser.startState(r?gi(r):4),tree:F.empty}}var xl=class{constructor(e,t,n,r){this.lang=e,this.input=t,this.fragments=n,this.ranges=r,this.stoppedAt=null,this.chunks=[],this.chunkPos=[],this.chunk=[],this.chunkReused=void 0,this.rangeIndex=0,this.to=r[r.length-1].to;let s=Wi.get(),o=r[0].from,{state:a,tree:l}=Qb(e,n,o,this.to,s?.state);this.state=a,this.parsedPos=this.chunkStart=o+l.length;for(let c=0;cc.from<=s.viewport.from&&c.to>=s.viewport.from)&&(this.state=this.lang.streamParser.startState(gi(s.state)),s.skipUntilInView(this.parsedPos,s.viewport.from),this.parsedPos=s.viewport.from),this.moveRangeIndex()}advance(){let e=Wi.get(),t=this.stoppedAt==null?this.to:Math.min(this.to,this.stoppedAt),n=Math.min(t,this.chunkStart+512);for(e&&(n=Math.min(n,e.viewport.to));this.parsedPos=t?this.finish():e&&this.parsedPos>=e.viewport.to?(e.skipUntilInView(this.parsedPos,t),this.finish()):null}stopAt(e){this.stoppedAt=e}lineAfter(e){let t=this.input.chunk(e);if(this.input.lineChunks)t==` `&&(t="");else{let n=t.indexOf(` -`);n>-1&&(t=t.slice(0,n))}return e+t.length<=this.to?t:t.slice(0,this.to-e)}nextLine(){let e=this.parsedPos,t=this.lineAfter(e),n=e+t.length;for(let r=this.rangeIndex;;){let s=this.ranges[r].to;if(s>=n||(t=t.slice(0,s-(n-t.length)),r++,r==this.ranges.length))break;let o=this.ranges[r].from,a=this.lineAfter(o);t+=a,n=o+a.length}return{line:t,end:n}}skipGapsTo(e,t,n){for(;;){let r=this.ranges[this.rangeIndex].to,s=e+t;if(n>0?r>s:r>=s)break;let o=this.ranges[++this.rangeIndex].from;t+=o-r}return t}moveRangeIndex(){for(;this.ranges[this.rangeIndex].to1){r=this.skipGapsTo(t,r,1),t+=r;let a=this.chunk.length;r=this.skipGapsTo(n,r,-1),n+=r,s+=this.chunk.length-a}let o=this.chunk.length-4;return this.lang.streamParser.mergeTokens&&s==4&&o>=0&&this.chunk[o]==e&&this.chunk[o+2]==t?this.chunk[o+2]=n:this.chunk.push(e,t,n,s),r}parseLine(e){let{line:t,end:n}=this.nextLine(),r=0,{streamParser:s}=this.lang,o=new As(t,e?e.state.tabSize:4,e?pi(e.state):2);if(o.eol())s.blankLine(this.state,o.indentUnit);else for(;!o.eol();){let a=uO(s.token,o,this.state);if(a&&(r=this.emitToken(this.lang.tokenTable.resolve(a),this.parsedPos+o.start,this.parsedPos+o.pos,r)),o.start>1e4)break}this.parsedPos=n,this.moveRangeIndex(),this.parsedPose.start)return r}throw new Error("Stream parser failed to advance stream.")}var Tl=Object.create(null),hr=[Oe.none],bb=new jt(hr),tO=[],iO=Object.create(null),OO=Object.create(null);for(let[i,e]of[["variable","variableName"],["variable-2","variableName.special"],["string-2","string.special"],["def","variableName.definition"],["tag","tagName"],["attribute","attributeName"],["type","typeName"],["builtin","variableName.standard"],["qualifier","modifier"],["error","invalid"],["header","heading"],["property","propertyName"]])OO[i]=dO(Tl,e);var Es=class{constructor(e){this.extra=e,this.table=Object.assign(Object.create(null),OO)}resolve(e){return e?this.table[e]||(this.table[e]=dO(this.extra,e)):0}},Sb=new Es(Tl);function gl(i,e){tO.indexOf(i)>-1||(tO.push(i),console.warn(e))}function dO(i,e){let t=[];for(let a of e.split(" ")){let l=[];for(let c of a.split(".")){let h=i[c]||d[c];h?typeof h=="function"?l.length?l=l.map(h):gl(c,`Modifier ${c} used at start of tag`):l.length?gl(c,`Tag ${c} used as modifier`):l=Array.isArray(h)?h:[h]:gl(c,`Unknown highlighting tag ${c}`)}for(let c of l)t.push(c)}if(!t.length)return 0;let n=e.replace(/ /g,"_"),r=n+" "+t.map(a=>a.id),s=iO[r];if(s)return s.id;let o=iO[r]=Oe.define({id:hr.length,name:n,props:[Qe({[n]:t})]});return hr.push(o),o.id}function yb(i,e){let t=Oe.define({id:hr.length,name:"Document",props:[bt.add(()=>i),we.add(()=>n=>e.getIndent(n))],top:!0});return hr.push(t),t}var k$={rtl:Z.mark({class:"cm-iso",inclusive:!0,attributes:{dir:"rtl"},bidiIsolate:ue.RTL}),ltr:Z.mark({class:"cm-iso",inclusive:!0,attributes:{dir:"ltr"},bidiIsolate:ue.LTR}),auto:Z.mark({class:"cm-iso",inclusive:!0,attributes:{dir:"auto"},bidiIsolate:null})};var kb=i=>{let{state:e}=i,t=e.doc.lineAt(e.selection.main.from),n=El(i.state,t.from);return n.line?xb(i):n.block?Pb(i):!1};function Zl(i,e){return({state:t,dispatch:n})=>{if(t.readOnly)return!1;let r=i(e,t);return r?(n(t.update(r)),!0):!1}}var xb=Zl(Tb,0);var wb=Zl(xO,0);var Pb=Zl((i,e)=>xO(i,e,$b(e)),0);function El(i,e){let t=i.languageDataAt("commentTokens",e,1);return t.length?t[0]:{}}var ur=50;function vb(i,{open:e,close:t},n,r){let s=i.sliceDoc(n-ur,n),o=i.sliceDoc(r,r+ur),a=/\s*$/.exec(s)[0].length,l=/^\s*/.exec(o)[0].length,c=s.length-a;if(s.slice(c-e.length,c)==e&&o.slice(l,l+t.length)==t)return{open:{pos:n-a,margin:a&&1},close:{pos:r+l,margin:l&&1}};let h,f;r-n<=2*ur?h=f=i.sliceDoc(n,r):(h=i.sliceDoc(n,n+ur),f=i.sliceDoc(r-ur,r));let u=/^\s*/.exec(h)[0].length,O=/\s*$/.exec(f)[0].length,p=f.length-O-t.length;return h.slice(u,u+e.length)==e&&f.slice(p,p+t.length)==t?{open:{pos:n+u+e.length,margin:/\s/.test(h.charAt(u+e.length))?1:0},close:{pos:r-O-t.length,margin:/\s/.test(f.charAt(p-1))?1:0}}:null}function $b(i){let e=[];for(let t of i.selection.ranges){let n=i.doc.lineAt(t.from),r=t.to<=n.to?n:i.doc.lineAt(t.to);r.from>n.from&&r.from==t.to&&(r=t.to==n.to+1?n:i.doc.lineAt(t.to-1));let s=e.length-1;s>=0&&e[s].to>n.from?e[s].to=r.to:e.push({from:n.from+/^\s*/.exec(n.text)[0].length,to:r.to})}return e}function xO(i,e,t=e.selection.ranges){let n=t.map(s=>El(e,s.from).block);if(!n.every(s=>s))return null;let r=t.map((s,o)=>vb(e,n[o],s.from,s.to));if(i!=2&&!r.every(s=>s))return{changes:e.changes(t.map((s,o)=>r[o]?[]:[{from:s.from,insert:n[o].open+" "},{from:s.to,insert:" "+n[o].close}]))};if(i!=1&&r.some(s=>s)){let s=[];for(let o=0,a;or&&(s==o||o>f.from)){r=f.from;let u=/^\s*/.exec(f.text)[0].length,O=u==f.length,p=f.text.slice(u,u+c.length)==c?u:-1;us.comment<0&&(!s.empty||s.single))){let s=[];for(let{line:a,token:l,indent:c,empty:h,single:f}of n)(f||!h)&&s.push({from:a.from+c,insert:l+" "});let o=e.changes(s);return{changes:o,selection:e.selection.map(o,1)}}else if(i!=1&&n.some(s=>s.comment>=0)){let s=[];for(let{line:o,comment:a,token:l}of n)if(a>=0){let c=o.from+a,h=c+l.length;o.text[h-o.from]==" "&&h++,s.push({from:c,to:h})}return{changes:s}}return null}var Xl=Re.define(),Cb=Re.define(),Xb=Y.define(),wO=Y.define({combine(i){return Yn(i,{minDepth:100,newGroupDelay:500,joinToEvent:(e,t)=>t},{minDepth:Math.max,newGroupDelay:Math.min,joinToEvent:(e,t)=>(n,r)=>e(n,r)||t(n,r)})}}),PO=he.define({create(){return Vi.empty},update(i,e){let t=e.state.facet(wO),n=e.annotation(Xl);if(n){let l=yt.fromTransaction(e,n.selection),c=n.side,h=c==0?i.undone:i.done;return l?h=Ms(h,h.length,t.minDepth,l):h=CO(h,e.startState.selection),new Vi(c==0?n.rest:h,c==0?h:n.rest)}let r=e.annotation(Cb);if((r=="full"||r=="before")&&(i=i.isolate()),e.annotation(pe.addToHistory)===!1)return e.changes.empty?i:i.addMapping(e.changes.desc);let s=yt.fromTransaction(e),o=e.annotation(pe.time),a=e.annotation(pe.userEvent);return s?i=i.addChanges(s,o,a,t,e):e.selection&&(i=i.addSelection(e.startState.selection,o,a,t.newGroupDelay)),(r=="full"||r=="after")&&(i=i.isolate()),i},toJSON(i){return{done:i.done.map(e=>e.toJSON()),undone:i.undone.map(e=>e.toJSON())}},fromJSON(i){return new Vi(i.done.map(yt.fromJSON),i.undone.map(yt.fromJSON))}});function vO(i={}){return[PO,wO.of(i),z.domEventHandlers({beforeinput(e,t){let n=e.inputType=="historyUndo"?$O:e.inputType=="historyRedo"?_l:null;return n?(e.preventDefault(),n(t)):!1}})]}function Ws(i,e){return function({state:t,dispatch:n}){if(!e&&t.readOnly)return!1;let r=t.field(PO,!1);if(!r)return!1;let s=r.pop(i,t,e);return s?(n(s),!0):!1}}var $O=Ws(0,!1),_l=Ws(1,!1),_b=Ws(0,!0),Rb=Ws(1,!0);var yt=class i{constructor(e,t,n,r,s){this.changes=e,this.effects=t,this.mapped=n,this.startSelection=r,this.selectionsAfter=s}setSelAfter(e){return new i(this.changes,this.effects,this.mapped,this.startSelection,e)}toJSON(){var e,t,n;return{changes:(e=this.changes)===null||e===void 0?void 0:e.toJSON(),mapped:(t=this.mapped)===null||t===void 0?void 0:t.toJSON(),startSelection:(n=this.startSelection)===null||n===void 0?void 0:n.toJSON(),selectionsAfter:this.selectionsAfter.map(r=>r.toJSON())}}static fromJSON(e){return new i(e.changes&&ze.fromJSON(e.changes),[],e.mapped&&Et.fromJSON(e.mapped),e.startSelection&&P.fromJSON(e.startSelection),e.selectionsAfter.map(P.fromJSON))}static fromTransaction(e,t){let n=ft;for(let r of e.startState.facet(Xb)){let s=r(e);s.length&&(n=n.concat(s))}return!n.length&&e.changes.empty?null:new i(e.changes.invert(e.startState.doc),n,void 0,t||e.startState.selection,ft)}static selection(e){return new i(void 0,ft,void 0,void 0,e)}};function Ms(i,e,t,n){let r=e+1>t+20?e-t-1:0,s=i.slice(r,e);return s.push(n),s}function Ab(i,e){let t=[],n=!1;return i.iterChangedRanges((r,s)=>t.push(r,s)),e.iterChangedRanges((r,s,o,a)=>{for(let l=0;l=c&&o<=h&&(n=!0)}}),n}function Zb(i,e){return i.ranges.length==e.ranges.length&&i.ranges.filter((t,n)=>t.empty!=e.ranges[n].empty).length===0}function TO(i,e){return i.length?e.length?i.concat(e):i:e}var ft=[],Eb=200;function CO(i,e){if(i.length){let t=i[i.length-1],n=t.selectionsAfter.slice(Math.max(0,t.selectionsAfter.length-Eb));return n.length&&n[n.length-1].eq(e)?i:(n.push(e),Ms(i,i.length-1,1e9,t.setSelAfter(n)))}else return[yt.selection([e])]}function qb(i){let e=i[i.length-1],t=i.slice();return t[i.length-1]=e.setSelAfter(e.selectionsAfter.slice(0,e.selectionsAfter.length-1)),t}function Cl(i,e){if(!i.length)return i;let t=i.length,n=ft;for(;t;){let r=zb(i[t-1],e,n);if(r.changes&&!r.changes.empty||r.effects.length){let s=i.slice(0,t);return s[t-1]=r,s}else e=r.mapped,t--,n=r.selectionsAfter}return n.length?[yt.selection(n)]:ft}function zb(i,e,t){let n=TO(i.selectionsAfter.length?i.selectionsAfter.map(a=>a.map(e)):ft,t);if(!i.changes)return yt.selection(n);let r=i.changes.map(e),s=e.mapDesc(i.changes,!0),o=i.mapped?i.mapped.composeDesc(s):s;return new yt(r,ie.mapEffects(i.effects,e),o,i.startSelection.map(s),n)}var Lb=/^(input\.type|delete)($|\.)/,Vi=class i{constructor(e,t,n=0,r=void 0){this.done=e,this.undone=t,this.prevTime=n,this.prevUserEvent=r}isolate(){return this.prevTime?new i(this.done,this.undone):this}addChanges(e,t,n,r,s){let o=this.done,a=o[o.length-1];return a&&a.changes&&!a.changes.empty&&e.changes&&(!n||Lb.test(n))&&(!a.selectionsAfter.length&&t-this.prevTime0&&t-this.prevTimet.empty?i.moveByChar(t,e):js(t,e))}function Ae(i){return i.textDirectionAt(i.state.selection.main.head)==ue.LTR}var RO=i=>_O(i,!Ae(i)),AO=i=>_O(i,Ae(i));function ZO(i,e){return xt(i,t=>t.empty?i.moveByGroup(t,e):js(t,e))}var Mb=i=>ZO(i,!Ae(i)),Wb=i=>ZO(i,Ae(i));var X$=typeof Intl<"u"&&Intl.Segmenter?new Intl.Segmenter(void 0,{granularity:"word"}):null;function jb(i,e,t){if(e.type.prop(t))return!0;let n=e.to-e.from;return n&&(n>2||/[^\s,.;:]/.test(i.sliceDoc(e.from,e.to)))||e.firstChild}function Vs(i,e,t){let n=U(i).resolveInner(e.head),r=t?I.closedBy:I.openedBy;for(let l=e.head;;){let c=t?n.childAfter(l):n.childBefore(l);if(!c)break;jb(i,c,r)?n=c:l=t?c.to:c.from}let s=n.type.prop(r),o,a;return s&&(o=t?ji(i,n.from,1):ji(i,n.to,-1))&&o.matched?a=t?o.end.to:o.end.from:a=t?n.to:n.from,P.cursor(a,t?-1:1)}var Vb=i=>xt(i,e=>Vs(i.state,e,!Ae(i))),Db=i=>xt(i,e=>Vs(i.state,e,Ae(i)));function EO(i,e){return xt(i,t=>{if(!t.empty)return js(t,e);let n=i.moveVertically(t,e);return n.head!=t.head?n:i.moveToLineBoundary(t,e)})}var qO=i=>EO(i,!1),zO=i=>EO(i,!0);function LO(i){let e=i.scrollDOM.clientHeighto.empty?i.moveVertically(o,e,t.height):js(o,e));if(r.eq(n.selection))return!1;let s;if(t.selfScroll){let o=i.coordsAtPos(n.selection.main.head),a=i.scrollDOM.getBoundingClientRect(),l=a.top+t.marginTop,c=a.bottom-t.marginBottom;o&&o.top>l&&o.bottomMO(i,!1),Rl=i=>MO(i,!0);function mi(i,e,t){let n=i.lineBlockAt(e.head),r=i.moveToLineBoundary(e,t);if(r.head==e.head&&r.head!=(t?n.to:n.from)&&(r=i.moveToLineBoundary(e,t,!1)),!t&&r.head==n.from&&n.length){let s=/^\s*/.exec(i.state.sliceDoc(n.from,Math.min(n.from+100,n.to)))[0].length;s&&e.head!=n.from+s&&(r=P.cursor(n.from+s))}return r}var Yb=i=>xt(i,e=>mi(i,e,!0)),Ib=i=>xt(i,e=>mi(i,e,!1)),Bb=i=>xt(i,e=>mi(i,e,!Ae(i))),Ub=i=>xt(i,e=>mi(i,e,Ae(i))),Gb=i=>xt(i,e=>P.cursor(i.lineBlockAt(e.head).from,1)),Nb=i=>xt(i,e=>P.cursor(i.lineBlockAt(e.head).to,-1));function Fb(i,e,t){let n=!1,r=xn(i.selection,s=>{let o=ji(i,s.head,-1)||ji(i,s.head,1)||s.head>0&&ji(i,s.head-1,1)||s.headFb(i,e,!1);function ut(i,e,t){let n=xn(i.state.selection,r=>{r.undirectional&&r.head>=r.anchor!=e&&(r=P.range(r.head,r.anchor));let s=t(r);return P.range(r.anchor,s.head,s.goalColumn,s.bidiLevel||void 0,s.assoc)});return n.eq(i.state.selection)?!1:(i.dispatch(kt(i.state,n)),!0)}function WO(i,e){return ut(i,e,t=>i.moveByChar(t,e))}var jO=i=>WO(i,!Ae(i)),VO=i=>WO(i,Ae(i));function DO(i,e){return ut(i,e,t=>i.moveByGroup(t,e))}var Kb=i=>DO(i,!Ae(i)),Jb=i=>DO(i,Ae(i));var eS=i=>{let e=!Ae(i);return ut(i,e,t=>Vs(i.state,t,e))},tS=i=>{let e=Ae(i);return ut(i,e,t=>Vs(i.state,t,e))};function YO(i,e){return ut(i,e,t=>i.moveVertically(t,e))}var IO=i=>YO(i,!1),BO=i=>YO(i,!0);function UO(i,e){return ut(i,e,t=>i.moveVertically(t,e,LO(i).height))}var mO=i=>UO(i,!1),gO=i=>UO(i,!0),iS=i=>ut(i,!0,e=>mi(i,e,!0)),nS=i=>ut(i,!1,e=>mi(i,e,!1)),rS=i=>{let e=!Ae(i);return ut(i,e,t=>mi(i,t,e))},sS=i=>{let e=Ae(i);return ut(i,e,t=>mi(i,t,e))},oS=i=>ut(i,!1,e=>P.cursor(i.lineBlockAt(e.head).from)),aS=i=>ut(i,!0,e=>P.cursor(i.lineBlockAt(e.head).to)),QO=({state:i,dispatch:e})=>(e(kt(i,{anchor:0})),!0),bO=({state:i,dispatch:e})=>(e(kt(i,{anchor:i.doc.length})),!0),SO=({state:i,dispatch:e})=>(e(kt(i,{anchor:i.selection.main.anchor,head:0})),!0),yO=({state:i,dispatch:e})=>(e(kt(i,{anchor:i.selection.main.anchor,head:i.doc.length})),!0),lS=({state:i,dispatch:e})=>(e(i.update({selection:{anchor:0,head:i.doc.length},userEvent:"select"})),!0),cS=({state:i,dispatch:e})=>{let t=Ds(i).map(({from:n,to:r})=>P.range(n,Math.min(r+1,i.doc.length)));return e(i.update({selection:P.create(t),userEvent:"select"})),!0},hS=({state:i,dispatch:e})=>{let t=xn(i.selection,n=>{let r=U(i),s=r.resolveStack(n.from,1);if(n.empty){let o=r.resolveStack(n.from,-1);o.node.from>=s.node.from&&o.node.to<=s.node.to&&(s=o)}for(let o=s;o;o=o.next){let{node:a}=o;if((a.from=n.to||a.to>n.to&&a.from<=n.from)&&o.next)return P.range(a.to,a.from)}return n});return t.eq(i.selection)?!1:(e(kt(i,t)),!0)};function GO(i,e){let{state:t}=i,n=t.selection,r=t.selection.ranges.slice();for(let s of t.selection.ranges){let o=t.doc.lineAt(s.head);if(e?o.to0)for(let a=s;;){let l=i.moveVertically(a,e);if(l.heado.to){r.some(c=>c.head==l.head)||r.push(l);break}else{if(l.head==a.head)break;a=l}}}return r.length==n.ranges.length?!1:(i.dispatch(kt(t,P.create(r,r.length-1))),!0)}var fS=i=>GO(i,!1),uS=i=>GO(i,!0),OS=({state:i,dispatch:e})=>{let t=i.selection,n=null;return t.ranges.length>1?n=P.create([t.main]):t.main.empty||(n=P.create([P.cursor(t.main.head)])),n?(e(kt(i,n)),!0):!1};function Or(i,e){if(i.state.readOnly)return!1;let t="delete.selection",{state:n}=i,r=n.changeByRange(s=>{let{from:o,to:a}=s;if(o==a){let l=e(s);lo&&(t="delete.forward",l=Ls(i,l,!0)),o=Math.min(o,l),a=Math.max(a,l)}else o=Ls(i,o,!1),a=Ls(i,a,!0);return o==a?{range:s}:{changes:{from:o,to:a},range:P.cursor(o,or(i)))n.between(e,e,(r,s)=>{re&&(e=t?s:r)});return e}var NO=(i,e,t)=>Or(i,n=>{let r=n.from,{state:s}=i,o=s.doc.lineAt(r),a,l;if(t&&!e&&r>o.from&&rNO(i,!1,!0);var FO=i=>NO(i,!0,!1),HO=(i,e)=>Or(i,t=>{let n=t.head,{state:r}=i,s=r.doc.lineAt(n),o=r.charCategorizer(n);for(let a=null;;){if(n==(e?s.to:s.from)){n==t.head&&s.number!=(e?r.doc.lines:1)&&(n+=e?1:-1);break}let l=ke(s.text,n-s.from,e)+s.from,c=s.text.slice(Math.min(n,l)-s.from,Math.max(n,l)-s.from),h=o(c);if(a!=null&&h!=a)break;(c!=" "||n!=t.head)&&(a=h),n=l}return n}),KO=i=>HO(i,!1),dS=i=>HO(i,!0);var pS=i=>Or(i,e=>{let t=i.lineBlockAt(e.head).to;return e.headOr(i,e=>{let t=i.moveToLineBoundary(e,!1).head;return e.head>t?t:Math.max(0,e.head-1)}),gS=i=>Or(i,e=>{let t=i.moveToLineBoundary(e,!0).head;return e.head{if(i.readOnly)return!1;let t=i.changeByRange(n=>({changes:{from:n.from,to:n.to,insert:K.of(["",""])},range:P.cursor(n.from)}));return e(i.update(t,{scrollIntoView:!0,userEvent:"input"})),!0},bS=({state:i,dispatch:e})=>{if(i.readOnly)return!1;let t=i.changeByRange(n=>{if(!n.empty||n.from==0||n.from==i.doc.length)return{range:n};let r=n.from,s=i.doc.lineAt(r),o=r==s.from?r-1:ke(s.text,r-s.from,!1)+s.from,a=r==s.to?r+1:ke(s.text,r-s.from,!0)+s.from;return{changes:{from:o,to:a,insert:i.doc.slice(r,a).append(i.doc.slice(o,r))},range:P.cursor(a)}});return t.changes.empty?!1:(e(i.update(t,{scrollIntoView:!0,userEvent:"move.character"})),!0)};function Ds(i){let e=[],t=-1;for(let n of i.selection.ranges){let r=i.doc.lineAt(n.from),s=i.doc.lineAt(n.to);if(!n.empty&&n.to==s.from&&(s=i.doc.lineAt(n.to-1)),t>=r.number){let o=e[e.length-1];o.to=s.to,o.ranges.push(n)}else e.push({from:r.from,to:s.to,ranges:[n]});t=s.number+1}return e}function JO(i,e,t){if(i.readOnly)return!1;let n=[],r=[];for(let s of Ds(i)){if(t?s.to==i.doc.length:s.from==0)continue;let o=i.doc.lineAt(t?s.to+1:s.from-1),a=o.length+1;if(t){n.push({from:s.to,to:o.to},{from:s.from,insert:o.text+i.lineBreak});for(let l of s.ranges)r.push(P.range(Math.min(i.doc.length,l.anchor+a),Math.min(i.doc.length,l.head+a)))}else{n.push({from:o.from,to:s.from},{from:s.to,insert:i.lineBreak+o.text});for(let l of s.ranges)r.push(P.range(l.anchor-a,l.head-a))}}return n.length?(e(i.update({changes:n,scrollIntoView:!0,selection:P.create(r,i.selection.mainIndex),userEvent:"move.line"})),!0):!1}var SS=({state:i,dispatch:e})=>JO(i,e,!1),yS=({state:i,dispatch:e})=>JO(i,e,!0);function ed(i,e,t){if(i.readOnly)return!1;let n=[];for(let s of Ds(i))t?n.push({from:s.from,insert:i.doc.slice(s.from,s.to)+i.lineBreak}):n.push({from:s.to,insert:i.lineBreak+i.doc.slice(s.from,s.to)});let r=i.changes(n);return e(i.update({changes:r,selection:i.selection.map(r,t?1:-1),scrollIntoView:!0,userEvent:"input.copyline"})),!0}var kS=({state:i,dispatch:e})=>ed(i,e,!1),xS=({state:i,dispatch:e})=>ed(i,e,!0),wS=i=>{if(i.state.readOnly)return!1;let{state:e}=i,t=e.changes(Ds(e).map(({from:r,to:s})=>(r>0?r--:s{let s;if(i.lineWrapping){let o=i.lineBlockAt(r.head),a=i.coordsAtPos(r.head,r.assoc||1);a&&(s=o.bottom+i.documentTop-a.bottom+i.defaultLineHeight/2)}return i.moveVertically(r,!0,s)}).map(t);return i.dispatch({changes:t,selection:n,scrollIntoView:!0,userEvent:"delete.line"}),!0};function PS(i,e){if(/\(\)|\[\]|\{\}/.test(i.sliceDoc(e-1,e+1)))return{from:e,to:e};let t=U(i).resolveInner(e),n=t.childBefore(e),r=t.childAfter(e),s;return n&&r&&n.to<=e&&r.from>=e&&(s=n.type.prop(I.closedBy))&&s.indexOf(r.name)>-1&&i.doc.lineAt(n.to).from==i.doc.lineAt(r.from).from&&!/\S/.test(i.sliceDoc(n.to,r.from))?{from:n.to,to:r.from}:null}var kO=td(!1),vS=td(!0);function td(i){return({state:e,dispatch:t})=>{if(e.readOnly)return!1;let n=e.changeByRange(r=>{let{from:s,to:o}=r,a=e.doc.lineAt(s),l=!i&&s==o&&PS(e,s);i&&(s=o=(o<=a.to?a:e.doc.lineAt(o)).to);let c=new Wi(e,{simulateBreak:s,simulateDoubleBreak:!!l}),h=Pl(c,s);for(h==null&&(h=Fe(/^\s*/.exec(e.doc.lineAt(s).text)[0],e.tabSize));oa.from&&s{let r=[];for(let o=n.from;o<=n.to;){let a=i.doc.lineAt(o);a.number>t&&(n.empty||n.to>a.from)&&(e(a,r,n),t=a.number),o=a.to+1}let s=i.changes(r);return{changes:r,range:P.range(s.mapPos(n.anchor,1),s.mapPos(n.head,1))}})}var $S=({state:i,dispatch:e})=>{if(i.readOnly)return!1;let t=Object.create(null),n=new Wi(i,{overrideIndentation:s=>{let o=t[s];return o??-1}}),r=ql(i,(s,o,a)=>{let l=Pl(n,s.from);if(l==null)return;/\S/.test(s.text)||(l=0);let c=/^\s*/.exec(s.text)[0],h=fr(i,l);(c!=h||a.fromi.readOnly?!1:(e(i.update(ql(i,(t,n)=>{n.push({from:t.from,insert:i.facet(Rt)})}),{userEvent:"input.indent"})),!0),zl=({state:i,dispatch:e})=>i.readOnly?!1:(e(i.update(ql(i,(t,n)=>{let r=/^\s*/.exec(t.text)[0];if(!r)return;let s=Fe(r,i.tabSize),o=0,a=fr(i,Math.max(0,s-pi(i)));for(;o(i.setTabFocusMode(),!0);var Ll=({state:i,dispatch:e})=>i.selection.ranges.some(t=>!t.empty)?id({state:i,dispatch:e}):(e(i.update(i.replaceSelection(" "),{scrollIntoView:!0,userEvent:"input"})),!0),CS=[{key:"Ctrl-b",run:RO,shift:jO,preventDefault:!0},{key:"Ctrl-f",run:AO,shift:VO},{key:"Ctrl-p",run:qO,shift:IO},{key:"Ctrl-n",run:zO,shift:BO},{key:"Ctrl-a",run:Gb,shift:oS},{key:"Ctrl-e",run:Nb,shift:aS},{key:"Ctrl-d",run:FO},{key:"Ctrl-h",run:Al},{key:"Ctrl-k",run:pS},{key:"Ctrl-Alt-h",run:KO},{key:"Ctrl-o",run:QS},{key:"Ctrl-t",run:bS},{key:"Ctrl-v",run:Rl}],XS=[{key:"ArrowLeft",run:RO,shift:jO,preventDefault:!0},{key:"Mod-ArrowLeft",mac:"Alt-ArrowLeft",run:Mb,shift:Kb,preventDefault:!0},{mac:"Cmd-ArrowLeft",run:Bb,shift:rS,preventDefault:!0},{key:"ArrowRight",run:AO,shift:VO,preventDefault:!0},{key:"Mod-ArrowRight",mac:"Alt-ArrowRight",run:Wb,shift:Jb,preventDefault:!0},{mac:"Cmd-ArrowRight",run:Ub,shift:sS,preventDefault:!0},{key:"ArrowUp",run:qO,shift:IO,preventDefault:!0},{mac:"Cmd-ArrowUp",run:QO,shift:SO},{mac:"Ctrl-ArrowUp",run:pO,shift:mO},{key:"ArrowDown",run:zO,shift:BO,preventDefault:!0},{mac:"Cmd-ArrowDown",run:bO,shift:yO},{mac:"Ctrl-ArrowDown",run:Rl,shift:gO},{key:"PageUp",run:pO,shift:mO},{key:"PageDown",run:Rl,shift:gO},{key:"Home",run:Ib,shift:nS,preventDefault:!0},{key:"Mod-Home",run:QO,shift:SO},{key:"End",run:Yb,shift:iS,preventDefault:!0},{key:"Mod-End",run:bO,shift:yO},{key:"Enter",run:kO,shift:kO},{key:"Mod-a",run:lS},{key:"Backspace",run:Al,shift:Al,preventDefault:!0},{key:"Delete",run:FO,preventDefault:!0},{key:"Mod-Backspace",mac:"Alt-Backspace",run:KO,preventDefault:!0},{key:"Mod-Delete",mac:"Alt-Delete",run:dS,preventDefault:!0},{mac:"Mod-Backspace",run:mS,preventDefault:!0},{mac:"Mod-Delete",run:gS,preventDefault:!0}].concat(CS.map(i=>({mac:i.key,run:i.run,shift:i.shift}))),nd=[{key:"Alt-ArrowLeft",mac:"Ctrl-ArrowLeft",run:Vb,shift:eS},{key:"Alt-ArrowRight",mac:"Ctrl-ArrowRight",run:Db,shift:tS},{key:"Alt-ArrowUp",run:SS},{key:"Shift-Alt-ArrowUp",run:kS},{key:"Alt-ArrowDown",run:yS},{key:"Shift-Alt-ArrowDown",run:xS},{key:"Mod-Alt-ArrowUp",run:fS},{key:"Mod-Alt-ArrowDown",run:uS},{key:"Escape",run:OS},{key:"Mod-Enter",run:vS},{key:"Alt-l",mac:"Ctrl-l",run:cS},{key:"Mod-i",run:hS,preventDefault:!0},{key:"Mod-[",run:zl},{key:"Mod-]",run:id},{key:"Mod-Alt-\\",run:$S},{key:"Shift-Mod-k",run:wS},{key:"Shift-Mod-\\",run:Hb},{key:"Mod-/",run:kb},{key:"Alt-A",run:wb},{key:"Ctrl-m",mac:"Shift-Alt-m",run:TS}].concat(XS);var Ys=class{constructor(e,t,n,r){this.state=e,this.pos=t,this.explicit=n,this.view=r,this.abortListeners=[],this.abortOnDocChange=!1}tokenBefore(e){let t=U(this.state).resolveInner(this.pos,-1);for(;t&&e.indexOf(t.name)<0;)t=t.parent;return t?{from:t.from,to:this.pos,text:this.state.sliceDoc(t.from,this.pos),type:t.type}:null}matchBefore(e){let t=this.state.doc.lineAt(this.pos),n=Math.max(t.from,this.pos-250),r=t.text.slice(n-t.from,this.pos-t.from),s=r.search(RS(e,!1));return s<0?null:{from:n+s,to:this.pos,text:r.slice(s)}}get aborted(){return this.abortListeners==null}addEventListener(e,t,n){e=="abort"&&this.abortListeners&&(this.abortListeners.push(t),n&&n.onDocChange&&(this.abortOnDocChange=!0))}};function rd(i){let e=Object.keys(i).join(""),t=/\w/.test(e);return t&&(e=e.replace(/\w/g,"")),`[${t?"\\w":""}${e.replace(/[^\w\s]/g,"\\$&")}]`}function _S(i){let e=Object.create(null),t=Object.create(null);for(let{label:r}of i){e[r[0]]=!0;for(let s=1;stypeof r=="string"?{label:r}:r),[t,n]=e.every(r=>/^\w+$/.test(r.label))?[/\w*$/,/\w+$/]:_S(e);return r=>{let s=r.matchBefore(n);return s||r.explicit?{from:s?s.from:r.pos,options:e,validFor:t}:null}}function Bs(i,e){return t=>{for(let n=U(t.state).resolveInner(t.pos,-1);n;n=n.parent){if(i.indexOf(n.name)>-1)return null;if(n.type.isTop)break}return e(t)}}function RS(i,e){var t;let{source:n}=i,r=e&&n[0]!="^",s=n[n.length-1]!="$";return!r&&!s?i:new RegExp(`${r?"^":""}(?:${n})${s?"$":""}`,(t=i.flags)!==null&&t!==void 0?t:i.ignoreCase?"i":"")}var AS=Re.define();var z$=typeof navigator=="object"&&/Win/.test(navigator.platform);var ZS=z.baseTheme({".cm-tooltip.cm-tooltip-autocomplete":{"& > ul":{fontFamily:"monospace",whiteSpace:"nowrap",overflow:"hidden auto",maxWidth_fallback:"700px",maxWidth:"min(700px, 95vw)",minWidth:"250px",maxHeight:"10em",height:"100%",listStyle:"none",margin:0,padding:0,"& > li, & > completion-section":{padding:"1px 3px",lineHeight:1.2},"& > li":{overflowX:"hidden",textOverflow:"ellipsis",cursor:"pointer"},"& > completion-section":{display:"list-item",borderBottom:"1px solid silver",paddingLeft:"0.5em",opacity:.7}}},"&light .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#17c",color:"white"},"&light .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#777"},"&dark .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#347",color:"white"},"&dark .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#444"},".cm-completionListIncompleteTop:before, .cm-completionListIncompleteBottom:after":{content:'"\xB7\xB7\xB7"',opacity:.5,display:"block",textAlign:"center",cursor:"pointer"},".cm-tooltip.cm-completionInfo":{position:"absolute",padding:"3px 9px",width:"max-content",maxWidth:"400px",boxSizing:"border-box",whiteSpace:"pre-line"},".cm-completionInfo.cm-completionInfo-left":{right:"100%"},".cm-completionInfo.cm-completionInfo-right":{left:"100%"},".cm-completionInfo.cm-completionInfo-left-narrow":{right:"30px"},".cm-completionInfo.cm-completionInfo-right-narrow":{left:"30px"},"&light .cm-snippetField":{backgroundColor:"#00000022"},"&dark .cm-snippetField":{backgroundColor:"#ffffff22"},".cm-snippetFieldPosition":{verticalAlign:"text-top",width:0,height:"1.15em",display:"inline-block",margin:"0 -0.7px -.7em",borderLeft:"1.4px dotted #888"},".cm-completionMatchedText":{textDecoration:"underline"},".cm-completionDetail":{marginLeft:"0.5em",fontStyle:"italic"},".cm-completionIcon":{fontSize:"90%",width:".8em",display:"inline-block",textAlign:"center",paddingRight:".6em",opacity:"0.6",boxSizing:"content-box"},".cm-completionIcon-function, .cm-completionIcon-method":{"&:after":{content:"'\u0192'"}},".cm-completionIcon-class":{"&:after":{content:"'\u25CB'"}},".cm-completionIcon-interface":{"&:after":{content:"'\u25CC'"}},".cm-completionIcon-variable":{"&:after":{content:"'\u{1D465}'"}},".cm-completionIcon-constant":{"&:after":{content:"'\u{1D436}'"}},".cm-completionIcon-type":{"&:after":{content:"'\u{1D461}'"}},".cm-completionIcon-enum":{"&:after":{content:"'\u222A'"}},".cm-completionIcon-property":{"&:after":{content:"'\u25A1'"}},".cm-completionIcon-keyword":{"&:after":{content:"'\u{1F511}\uFE0E'"}},".cm-completionIcon-namespace":{"&:after":{content:"'\u25A2'"}},".cm-completionIcon-text":{"&:after":{content:"'abc'",fontSize:"50%",verticalAlign:"middle"}}}),Wl=class{constructor(e,t,n,r){this.field=e,this.line=t,this.from=n,this.to=r}},jl=class i{constructor(e,t,n){this.field=e,this.from=t,this.to=n}map(e){let t=e.mapPos(this.from,-1,ge.TrackDel),n=e.mapPos(this.to,1,ge.TrackDel);return t==null||n==null?null:new i(this.field,t,n)}},Vl=class i{constructor(e,t){this.lines=e,this.fieldPositions=t}instantiate(e,t){let n=[],r=[t],s=e.doc.lineAt(t),o=/^\s*/.exec(s.text)[0];for(let l of this.lines){if(n.length){let c=o,h=/^\t*/.exec(l)[0].length;for(let f=0;fnew jl(l.field,r[l.line]+l.from,r[l.line]+l.to));return{text:n,ranges:a}}static parse(e){let t=[],n=[],r=[],s;for(let o of e.split(/\r\n?|\n/)){for(;s=/[#$]\{(?:(\d+)(?::([^{}]*))?|((?:\\[{}]|[^{}])*))\}/.exec(o);){let a=s[1]?+s[1]:null,l=s[2]||s[3]||"",c=-1;a===0&&(a=1e9);let h=l.replace(/\\[{}]/g,f=>f[1]);for(let f=0;f=c&&u.field++}for(let f of r)if(f.line==n.length&&f.from>s.index){let u=s[2]?3+(s[1]||"").length:2;f.from-=u,f.to-=u}r.push(new Wl(c,n.length,s.index,s.index+h.length)),o=o.slice(0,s.index)+l+o.slice(s.index+s[0].length)}o=o.replace(/\\([{}])/g,(a,l,c)=>{for(let h of r)h.line==n.length&&h.from>c&&(h.from--,h.to--);return l}),n.push(o)}return new i(n,r)}},ES=Z.widget({widget:new class extends ve{toDOM(){let i=document.createElement("span");return i.className="cm-snippetFieldPosition",i}ignoreEvent(){return!1}}}),qS=Z.mark({class:"cm-snippetField"}),wn=class i{constructor(e,t){this.ranges=e,this.active=t,this.deco=Z.set(e.map(n=>(n.from==n.to?ES:qS).range(n.from,n.to)),!0)}map(e){let t=[];for(let n of this.ranges){let r=n.map(e);if(!r)return null;t.push(r)}return new i(t,this.active)}selectionInsideField(e){return e.ranges.every(t=>this.ranges.some(n=>n.field==this.active&&n.from<=t.from&&n.to>=t.to))}},mr=ie.define({map(i,e){return i&&i.map(e)}}),zS=ie.define(),dr=he.define({create(){return null},update(i,e){for(let t of e.effects){if(t.is(mr))return t.value;if(t.is(zS)&&i)return new wn(i.ranges,t.value)}return i&&e.docChanged&&(i=i.map(e.changes)),i&&e.selection&&!i.selectionInsideField(e.selection)&&(i=null),i},provide:i=>z.decorations.from(i,e=>e?e.deco:Z.none)});function Dl(i,e){return P.create(i.filter(t=>t.field==e).map(t=>P.range(t.from,t.to)))}function LS(i){let e=Vl.parse(i);return(t,n,r,s)=>{let{text:o,ranges:a}=e.instantiate(t.state,r),{main:l}=t.state.selection,c={changes:{from:r,to:s==l.from?l.to:s,insert:K.of(o)},scrollIntoView:!0,annotations:n?[AS.of(n),pe.userEvent.of("input.complete")]:void 0};if(a.length&&(c.selection=Dl(a,0)),a.some(h=>h.field>0)){let h=new wn(a,0),f=c.effects=[mr.of(h)];t.state.field(dr,!1)===void 0&&f.push(ie.appendConfig.of([dr,DS,YS,ZS]))}t.dispatch(t.state.update(c))}}function ld(i){return({state:e,dispatch:t})=>{let n=e.field(dr,!1);if(!n||i<0&&n.active==0)return!1;let r=n.active+i,s=i>0&&!n.ranges.some(o=>o.field==r+i);return t(e.update({selection:Dl(n.ranges,r),effects:mr.of(s?null:new wn(n.ranges,r)),scrollIntoView:!0})),!0}}var MS=({state:i,dispatch:e})=>i.field(dr,!1)?(e(i.update({effects:mr.of(null)})),!0):!1,WS=ld(1),jS=ld(-1);var VS=[{key:"Tab",run:WS,shift:jS},{key:"Escape",run:MS}],sd=Y.define({combine(i){return i.length?i[0]:VS}}),DS=nt.highest(ci.compute([sd],i=>i.facet(sd)));function ce(i,e){return{...e,apply:LS(i)}}var YS=z.domEventHandlers({mousedown(i,e){let t=e.state.field(dr,!1),n;if(!t||(n=e.posAtCoords({x:i.clientX,y:i.clientY}))==null)return!1;let r=t.ranges.find(s=>s.from<=n&&s.to>=n);return!r||r.field==t.active?!1:(e.dispatch({selection:Dl(t.ranges,r.field),effects:mr.of(t.ranges.some(s=>s.field>r.field)?new wn(t.ranges,r.field):null),scrollIntoView:!0}),!0)}});var pr={brackets:["(","[","{","'",'"'],before:")]}:;>",stringPrefixes:[]},Di=ie.define({map(i,e){let t=e.mapPos(i,-1,ge.TrackAfter);return t??void 0}}),Yl=new class extends it{};Yl.startSide=1;Yl.endSide=-1;var cd=he.define({create(){return ae.empty},update(i,e){if(i=i.map(e.changes),e.selection){let t=e.state.doc.lineAt(e.selection.main.head);i=i.update({filter:n=>n>=t.from&&n<=t.to})}for(let t of e.effects)t.is(Di)&&(i=i.update({add:[Yl.range(t.value,t.value+1)]}));return i}});function hd(){return[BS,cd]}var Ml="()[]{}<>\xAB\xBB\xBB\xAB\uFF3B\uFF3D\uFF5B\uFF5D";function fd(i){for(let e=0;e{if((IS?i.composing:i.compositionStarted)||i.state.readOnly)return!1;let r=i.state.selection.main;if(n.length>2||n.length==2&&on(ni(n,0))==1||e!=r.from||t!=r.to)return!1;let s=GS(i.state,n);return s?(i.dispatch(s),!0):!1}),US=({state:i,dispatch:e})=>{if(i.readOnly)return!1;let n=ud(i,i.selection.main.head).brackets||pr.brackets,r=null,s=i.changeByRange(o=>{if(o.empty){let a=NS(i.doc,o.head);for(let l of n)if(l==a&&Us(i.doc,o.head)==fd(ni(l,0)))return{changes:{from:o.head-l.length,to:o.head+l.length},range:P.cursor(o.head-l.length)}}return{range:r=o}});return r||e(i.update(s,{scrollIntoView:!0,userEvent:"delete.backward"})),!r},Od=[{key:"Backspace",run:US}];function GS(i,e){let t=ud(i,i.selection.main.head),n=t.brackets||pr.brackets;for(let r of n){let s=fd(ni(r,0));if(e==r)return s==r?KS(i,r,n.indexOf(r+r+r)>-1,t):FS(i,r,s,t.before||pr.before);if(e==s&&dd(i,i.selection.main.from))return HS(i,r,s)}return null}function dd(i,e){let t=!1;return i.field(cd).between(0,i.doc.length,n=>{n==e&&(t=!0)}),t}function Us(i,e){let t=i.sliceString(e,e+2);return t.slice(0,on(ni(t,0)))}function NS(i,e){let t=i.sliceString(e-2,e);return on(ni(t,0))==t.length?t:t.slice(1)}function FS(i,e,t,n){let r=null,s=i.changeByRange(o=>{if(!o.empty)return{changes:[{insert:e,from:o.from},{insert:t,from:o.to}],effects:Di.of(o.to+e.length),range:P.range(o.anchor+e.length,o.head+e.length)};let a=Us(i.doc,o.head);return!a||/\s/.test(a)||n.indexOf(a)>-1?{changes:{insert:e+t,from:o.head},effects:Di.of(o.head+e.length),range:P.cursor(o.head+e.length)}:{range:r=o}});return r?null:i.update(s,{scrollIntoView:!0,userEvent:"input.type"})}function HS(i,e,t){let n=null,r=i.changeByRange(s=>s.empty&&Us(i.doc,s.head)==t?{changes:{from:s.head,to:s.head+t.length,insert:t},range:P.cursor(s.head+t.length)}:n={range:s});return n?null:i.update(r,{scrollIntoView:!0,userEvent:"input.type"})}function KS(i,e,t,n){let r=n.stringPrefixes||pr.stringPrefixes,s=null,o=i.changeByRange(a=>{if(!a.empty)return{changes:[{insert:e,from:a.from},{insert:e,from:a.to}],effects:Di.of(a.to+e.length),range:P.range(a.anchor+e.length,a.head+e.length)};let l=a.head,c=Us(i.doc,l),h;if(c==e){if(od(i,l))return{changes:{insert:e+e,from:l},effects:Di.of(l+e.length),range:P.cursor(l+e.length)};if(dd(i,l)){let u=t&&i.sliceDoc(l,l+e.length*3)==e+e+e?e+e+e:e;return{changes:{from:l,to:l+u.length,insert:u},range:P.cursor(l+u.length)}}}else{if(t&&i.sliceDoc(l-2*e.length,l)==e+e&&(h=ad(i,l-2*e.length,r))>-1&&od(i,h))return{changes:{insert:e+e+e+e,from:l},effects:Di.of(l+e.length),range:P.cursor(l+e.length)};if(i.charCategorizer(l)(c)!=qe.Word&&ad(i,l,r)>-1&&!JS(i,l,e,r))return{changes:{insert:e+e,from:l},effects:Di.of(l+e.length),range:P.cursor(l+e.length)}}return{range:s=a}});return s?null:i.update(o,{scrollIntoView:!0,userEvent:"input.type"})}function od(i,e){let t=U(i).resolveInner(e+1);return t.parent&&t.from==e}function JS(i,e,t,n){let r=U(i).resolveInner(e,-1),s=n.reduce((o,a)=>Math.max(o,a.length),0);for(let o=0;o<5;o++){let a=i.sliceDoc(r.from,Math.min(r.to,r.from+t.length+s)),l=a.indexOf(t);if(!l||l>-1&&n.indexOf(a.slice(0,l))>-1){let h=r.firstChild;for(;h&&h.from==r.from&&h.to-h.from>t.length+l;){if(i.sliceDoc(h.to-t.length,h.to)==t)return!1;h=h.firstChild}return!0}let c=r.to==e&&r.parent;if(!c)break;r=c}return!1}function ad(i,e,t){let n=i.charCategorizer(e);if(n(i.sliceDoc(e-1,e))!=qe.Word)return e;for(let r of t){let s=e-r.length;if(i.sliceDoc(s,e)==r&&n(i.sliceDoc(s-1,s))!=qe.Word)return s}return-1}var Fs=class i{static create(e,t,n,r,s){let o=r+(r<<8)+e+(t<<4)|0;return new i(e,t,n,o,s,[],[])}constructor(e,t,n,r,s,o,a){this.type=e,this.value=t,this.from=n,this.hash=r,this.end=s,this.children=o,this.positions=a,this.hashProp=[[I.contextHash,r]]}addChild(e,t){e.prop(I.contextHash)!=this.hash&&(e=new F(e.type,e.children,e.positions,e.length,this.hashProp)),this.children.push(e),this.positions.push(t)}toTree(e,t=this.end){let n=this.children.length-1;return n>=0&&(t=Math.max(t,this.positions[n]+this.children[n].length+this.from)),new F(e.types[this.type],this.children,this.positions,t-this.from).balance({makeTree:(r,s,o)=>new F(Oe.none,r,s,o,this.hashProp)})}},A;(function(i){i[i.Document=1]="Document",i[i.CodeBlock=2]="CodeBlock",i[i.FencedCode=3]="FencedCode",i[i.Blockquote=4]="Blockquote",i[i.HorizontalRule=5]="HorizontalRule",i[i.BulletList=6]="BulletList",i[i.OrderedList=7]="OrderedList",i[i.ListItem=8]="ListItem",i[i.ATXHeading1=9]="ATXHeading1",i[i.ATXHeading2=10]="ATXHeading2",i[i.ATXHeading3=11]="ATXHeading3",i[i.ATXHeading4=12]="ATXHeading4",i[i.ATXHeading5=13]="ATXHeading5",i[i.ATXHeading6=14]="ATXHeading6",i[i.SetextHeading1=15]="SetextHeading1",i[i.SetextHeading2=16]="SetextHeading2",i[i.HTMLBlock=17]="HTMLBlock",i[i.LinkReference=18]="LinkReference",i[i.Paragraph=19]="Paragraph",i[i.CommentBlock=20]="CommentBlock",i[i.ProcessingInstructionBlock=21]="ProcessingInstructionBlock",i[i.Escape=22]="Escape",i[i.Entity=23]="Entity",i[i.HardBreak=24]="HardBreak",i[i.Emphasis=25]="Emphasis",i[i.StrongEmphasis=26]="StrongEmphasis",i[i.Link=27]="Link",i[i.Image=28]="Image",i[i.InlineCode=29]="InlineCode",i[i.HTMLTag=30]="HTMLTag",i[i.Comment=31]="Comment",i[i.ProcessingInstruction=32]="ProcessingInstruction",i[i.Autolink=33]="Autolink",i[i.HeaderMark=34]="HeaderMark",i[i.QuoteMark=35]="QuoteMark",i[i.ListMark=36]="ListMark",i[i.LinkMark=37]="LinkMark",i[i.EmphasisMark=38]="EmphasisMark",i[i.CodeMark=39]="CodeMark",i[i.CodeText=40]="CodeText",i[i.CodeInfo=41]="CodeInfo",i[i.LinkTitle=42]="LinkTitle",i[i.LinkLabel=43]="LinkLabel",i[i.URL=44]="URL"})(A||(A={}));var Ul=class{constructor(e,t){this.start=e,this.content=t,this.marks=[],this.parsers=[]}},Gl=class{constructor(){this.text="",this.baseIndent=0,this.basePos=0,this.depth=0,this.markers=[],this.pos=0,this.indent=0,this.next=-1}forward(){this.basePos>this.pos&&this.forwardInner()}forwardInner(){let e=this.skipSpace(this.basePos);this.indent=this.countIndent(e,this.pos,this.indent),this.pos=e,this.next=e==this.text.length?-1:this.text.charCodeAt(e)}skipSpace(e){return Qr(this.text,e)}reset(e){for(this.text=e,this.baseIndent=this.basePos=this.pos=this.indent=0,this.forwardInner(),this.depth=1;this.markers.length;)this.markers.pop()}moveBase(e){this.basePos=e,this.baseIndent=this.countIndent(e,this.pos,this.indent)}moveBaseColumn(e){this.baseIndent=e,this.basePos=this.findColumn(e)}addMarker(e){this.markers.push(e)}countIndent(e,t=0,n=0){for(let r=t;r=e.stack[t.depth+1].value+t.baseIndent)return!0;if(t.indent>=t.baseIndent+4)return!1;let n=(i.type==A.OrderedList?oc:sc)(t,e,!1);return n>0&&(i.type!=A.BulletList||rc(t,e,!1)<0)&&t.text.charCodeAt(t.pos+n-1)==i.value}var vd={[A.Blockquote](i,e,t){return t.next!=62?!1:(t.markers.push(ne(A.QuoteMark,e.lineStart+t.pos,e.lineStart+t.pos+1)),t.moveBase(t.pos+(Ot(t.text.charCodeAt(t.pos+1))?2:1)),i.end=e.lineStart+t.text.length,!0)},[A.ListItem](i,e,t){return t.indent-1?!1:(t.moveBaseColumn(t.baseIndent+i.value),!0)},[A.OrderedList]:pd,[A.BulletList]:pd,[A.Document](){return!0}};function Ot(i){return i==32||i==9||i==10||i==13}function Qr(i,e=0){for(;et&&Ot(i.charCodeAt(e-1));)e--;return e}function $d(i){if(i.next!=96&&i.next!=126)return-1;let e=i.pos+1;for(;e-1&&i.depth==e.stack.length&&e.parser.leafBlockParsers.indexOf(Ed.SetextHeading)>-1||n<3?-1:1}function Cd(i,e){for(let t=i.stack.length-1;t>=0;t--)if(i.stack[t].type==e)return!0;return!1}function sc(i,e,t){return(i.next==45||i.next==43||i.next==42)&&(i.pos==i.text.length-1||Ot(i.text.charCodeAt(i.pos+1)))&&(!t||Cd(e,A.BulletList)||i.skipSpace(i.pos+2)=48&&r<=57;){n++;if(n==i.text.length)return-1;r=i.text.charCodeAt(n)}return n==i.pos||n>i.pos+9||r!=46&&r!=41||ni.pos+1||i.next!=49)?-1:n+1-i.pos}function Xd(i){if(i.next!=35)return-1;let e=i.pos+1;for(;e6?-1:t}function _d(i){if(i.next!=45&&i.next!=61||i.indent>=i.baseIndent+4)return-1;let e=i.pos+1;for(;e/,Ad=/\?>/,Fl=[[/^<(?:script|pre|style)(?:\s|>|$)/i,/<\/(?:script|pre|style)>/i],[/^\s*/,Ad=/\?>/,Nl=[[/^<(?:script|pre|style)(?:\s|>|$)/i,/<\/(?:script|pre|style)>/i],[/^\s*/i.exec(n);if(s)return i.append(ne(A.Comment,t,t+1+s[0].length));let o=/^\?[^]*?\?>/.exec(n);if(o)return i.append(ne(A.ProcessingInstruction,t,t+1+o[0].length));let a=/^(?:![A-Z][^]*?>|!\[CDATA\[[^]*?\]\]>|\/\s*[a-zA-Z][\w-]*\s*>|\s*[a-zA-Z][\w-]*(\s+[a-zA-Z:_][\w-.:]*(?:\s*=\s*(?:[^\s"'=<>`]+|'[^']*'|"[^"]*"))?)*\s*(\/\s*)?>)/.exec(n);return a?i.append(ne(A.HTMLTag,t,t+1+a[0].length)):-1},Emphasis(i,e,t){if(e!=95&&e!=42)return-1;let n=t+1;for(;i.char(n)==e;)n++;let r=i.slice(t-1,t),s=i.slice(n,n+1),o=yr.test(r),a=yr.test(s),l=/\s|^$/.test(r),c=/\s|^$/.test(s),h=!c&&(!a||l||o),f=!l&&(!o||c||a),u=h&&(e==42||!f||o),O=f&&(e==42||!h||a);return i.append(new We(e==95?Ld:Md,t,n,(u?1:0)|(O?2:0)))},HardBreak(i,e,t){if(e==92&&i.char(t+1)==10)return i.append(ne(A.HardBreak,t,t+2));if(e==32){let n=t+1;for(;i.char(n)==32;)n++;if(i.char(n)==10&&n>=t+2)return i.append(ne(A.HardBreak,t,n+1))}return-1},Link(i,e,t){return e==91?i.append(new We(Yi,t,t+1,1)):-1},Image(i,e,t){return e==33&&i.char(t+1)==91?i.append(new We(Js,t,t+2,1)):-1},LinkEnd(i,e,t){if(e!=93)return-1;for(let n=i.parts.length-1;n>=0;n--){let r=i.parts[n];if(r instanceof We&&(r.type==Yi||r.type==Js)){if(!r.side||i.skipSpace(r.to)==t&&!/[(\[]/.test(i.slice(t+1,t+2)))return i.parts[n]=null,-1;let s=i.takeContent(n),o=i.parts[n]=iy(i,s,r.type==Yi?A.Link:A.Image,r.from,t+1);if(r.type==Yi)for(let a=0;ae?ne(A.URL,e+t,s+t):s==i.length?null:!1}}function jd(i,e,t){let n=i.charCodeAt(e);if(n!=39&&n!=34&&n!=40)return!1;let r=n==40?41:n;for(let s=e+1,o=!1;s=this.end?-1:this.text.charCodeAt(e-this.offset)}get end(){return this.offset+this.text.length}slice(e,t){return this.text.slice(e-this.offset,t-this.offset)}append(e){return this.parts.push(e),e.to}addDelimiter(e,t,n,r,s){return this.append(new We(e,t,n,(r?1:0)|(s?2:0)))}get hasOpenLink(){for(let e=this.parts.length-1;e>=0;e--){let t=this.parts[e];if(t instanceof We&&(t.type==Yi||t.type==Js))return!0}return!1}addElement(e){return this.append(e)}resolveMarkers(e){for(let n=e;n=e;l--){let m=this.parts[l];if(m instanceof We&&m.side&1&&m.type==r.type&&!(s&&(r.side&1||m.side&2)&&(m.to-m.from+o)%3==0&&((m.to-m.from)%3||o%3))){a=m;break}}if(!a)continue;let c=r.type.resolve,h=[],f=a.from,u=r.to;if(s){let m=Math.min(2,a.to-a.from,o);f=a.to-m,u=r.from+m,c=m==1?"Emphasis":"StrongEmphasis"}a.type.mark&&h.push(this.elt(a.type.mark,f,a.to));for(let m=l+1;m=0;t--){let n=this.parts[t];if(n instanceof We&&n.type==e&&n.side&1)return t}return null}takeContent(e){let t=this.resolveMarkers(e);return this.parts.length=e,t}getDelimiterAt(e){let t=this.parts[e];return t instanceof We?t:null}skipSpace(e){return Qr(this.text,e-this.offset)+this.offset}elt(e,t,n,r){return typeof e=="string"?ne(this.parser.getNodeType(e),t,n,r):new Ks(e,t)}};kr.linkStart=Yi;kr.imageStart=Js;function tc(i,e){if(!e.length)return i;if(!i.length)return e;let t=i.slice(),n=0;for(let r of e){for(;n(e?e-1:0))return!1;if(this.fragmentEnd<0){let s=this.fragment.to;for(;s>0&&this.input.read(s-1,s)!=` -`;)s--;this.fragmentEnd=s?s-1:0}let n=this.cursor;n||(n=this.cursor=this.fragment.tree.cursor(),n.firstChild());let r=e+this.fragment.offset;for(;n.to<=r;)if(!n.parent())return!1;for(;;){if(n.from>=r)return this.fragment.from<=t;if(!n.childAfter(r))return!1}}matches(e){let t=this.cursor.tree;return t&&t.prop(I.contextHash)==e}takeNodes(e){let t=this.cursor,n=this.fragment.offset,r=this.fragmentEnd-(this.fragment.openEnd?1:0),s=e.absoluteLineStart,o=s,a=e.block.children.length,l=o,c=a;for(;;){if(t.to-n>r){if(t.type.isAnonymous&&t.firstChild())continue;break}let h=Dd(t.from-n,e.ranges);if(t.to-n<=e.ranges[e.rangeI].to)e.addNode(t.tree,h);else{let f=new F(e.parser.nodeSet.types[A.Paragraph],[],[],0,e.block.hashProp);e.reusePlaceholders.set(f,t.tree),e.addNode(f,h)}if(t.type.is("Block")&&(ny.indexOf(t.type.id)<0?(o=t.to-n,a=e.block.children.length):(o=l,a=c),l=t.to-n,c=e.block.children.length),!t.nextSibling())break}for(;e.block.children.length>a;)e.block.children.pop(),e.block.positions.pop();return o-s}};function Dd(i,e){let t=i;for(let n=1;nGs[i]),Object.keys(Gs).map(i=>Ed[i]),Object.keys(Gs),ey,vd,Object.keys(Bl).map(i=>Bl[i]),Object.keys(Bl),[]);function sy(i,e,t){let n=[];for(let r=i.firstChild,s=e;;r=r.nextSibling){let o=r?r.from:t;if(o>s&&n.push({from:s,to:o}),!r)break;s=r.to}return n}function Id(i){let{codeParser:e,htmlParser:t}=i;return{wrap:bn((r,s)=>{let o=r.type.id;if(e&&(o==A.CodeBlock||o==A.FencedCode)){let a="";if(o==A.FencedCode){let c=r.node.getChild(A.CodeInfo);c&&(a=s.read(c.from,c.to))}let l=e(a);if(l)return{parser:l,overlay:c=>c.type.id==A.CodeText,bracketed:o==A.FencedCode}}else if(t&&(o==A.HTMLBlock||o==A.HTMLTag||o==A.CommentBlock))return{parser:t,overlay:sy(r.node,r.from,r.to)};return null})}}var oy={resolve:"Strikethrough",mark:"StrikethroughMark"},ay={defineNodes:[{name:"Strikethrough",style:{"Strikethrough/...":d.strikethrough}},{name:"StrikethroughMark",style:d.processingInstruction}],parseInline:[{name:"Strikethrough",parse(i,e,t){if(e!=126||i.char(t+1)!=126||i.char(t+2)==126)return-1;let n=i.slice(t-1,t),r=i.slice(t+2,t+3),s=/\s|^$/.test(n),o=/\s|^$/.test(r),a=yr.test(n),l=yr.test(r);return i.addDelimiter(oy,t,t+2,!o&&(!l||s||a),!s&&(!a||o||l))},after:"Emphasis"}]};function br(i,e,t=0,n,r=0){let s=0,o=!0,a=-1,l=-1,c=!1,h=()=>{n.push(i.elt("TableCell",r+a,r+l,i.parser.parseInline(e.slice(a,l),r+a)))};for(let f=t;f-1)&&s++,o=!1,n&&(a>-1&&h(),n.push(i.elt("TableDelimiter",f+r,f+r+1))),a=l=-1):(c||u!=32&&u!=9)&&(a<0&&(a=f),l=f+1),c=!c&&u==92}return a>-1&&(s++,n&&h()),s}function bd(i,e){for(let t=e;t\s]*\|?(\s*:?-+:?\s*\|)+(\s*:?-+:?\s*)?$/,eo=class{constructor(){this.rows=null}nextLine(e,t,n){if(this.rows==null){this.rows=!1;let r;if((t.next==45||t.next==58||t.next==124)&&Bd.test(r=t.text.slice(t.pos))){let s=[];br(e,n.content,0,s,n.start)==br(e,r,0)&&(this.rows=[e.elt("TableHeader",n.start,n.start+n.content.length,s),e.elt("TableDelimiter",e.lineStart+t.pos,e.lineStart+t.text.length)])}}else if(this.rows){let r=[];br(e,t.text,t.pos,r,e.lineStart),this.rows.push(e.elt("TableRow",e.lineStart+t.pos,e.lineStart+t.text.length,r))}return!1}finish(e,t){return this.rows?(e.addLeafElement(t,e.elt("Table",t.start,t.start+t.content.length,this.rows)),!0):!1}},ly={defineNodes:[{name:"Table",block:!0},{name:"TableHeader",style:{"TableHeader/...":d.heading}},"TableRow",{name:"TableCell",style:d.content},{name:"TableDelimiter",style:d.processingInstruction}],parseBlock:[{name:"Table",leaf(i,e){return bd(e.content,0)?new eo:null},endLeaf(i,e,t){if(t.parsers.some(r=>r instanceof eo)||!bd(e.text,e.basePos))return!1;let n=i.peekLine();return Bd.test(n)&&br(i,e.text,e.basePos)==br(i,n,e.basePos)},before:"SetextHeading"}]},nc=class{nextLine(){return!1}finish(e,t){return e.addLeafElement(t,e.elt("Task",t.start,t.start+t.content.length,[e.elt("TaskMarker",t.start,t.start+3),...e.parser.parseInline(t.content.slice(3),t.start+3)])),!0}},cy={defineNodes:[{name:"Task",block:!0,style:d.list},{name:"TaskMarker",style:d.atom}],parseBlock:[{name:"TaskList",leaf(i,e){return/^\[[ xX]\][ \t]/.test(e.content)&&i.parentType().name=="ListItem"?new nc:null},after:"SetextHeading"}]},Sd=/(www\.)|(https?:\/\/)|([\w.+-]{1,100}@)|(mailto:|xmpp:)/gy,yd=/[\w-]+(\.[\w-]+)+(:\d+)?(\/[^\s<]*)?/gy,hy=/[\w-]+\.[\w-]+($|[/:])/,kd=/[\w.+-]+@[\w-]+(\.[\w.-]+)+/gy,xd=/\/[a-zA-Z\d@.]+/gy;function wd(i,e,t,n){let r=0;for(let s=e;s-1)return-1;let n=e+t[0].length;for(;;){let r=i[n-1],s;if(/[?!.,:*_~]/.test(r)||r==")"&&wd(i,e,n,")")>wd(i,e,n,"("))n--;else if(r==";"&&(s=/&(?:#\d+|#x[a-f\d]+|\w+);$/.exec(i.slice(e,n))))n=e+s.index;else break}return n}function Pd(i,e){kd.lastIndex=e;let t=kd.exec(i);if(!t)return-1;let n=t[0][t[0].length-1];return n=="_"||n=="-"?-1:e+t[0].length-(n=="."?1:0)}var uy={parseInline:[{name:"Autolink",parse(i,e,t){let n=t-i.offset;if(n&&/\w/.test(i.text[n-1]))return-1;Sd.lastIndex=n;let r=Sd.exec(i.text),s=-1;if(!r)return-1;if(r[1]||r[2]){if(s=fy(i.text,n+r[0].length),s>-1&&i.hasOpenLink){let o=/([^\[\]]|\[[^\]]*\])*/.exec(i.text.slice(n,s));s=n+o[0].length}}else r[3]?s=Pd(i.text,n):(s=Pd(i.text,n+r[0].length),s>-1&&r[0]=="xmpp:"&&(xd.lastIndex=s,r=xd.exec(i.text),r&&(s=r.index+r[0].length)));return s<0?-1:(i.addElement(i.elt("URL",t,s+i.offset)),s+i.offset)}}]},Ud=[ly,cy,ay,uy];function Gd(i,e,t){return(n,r,s)=>{if(r!=i||n.char(s+1)==i)return-1;let o=[n.elt(t,s,s+1)];for(let a=s+1;at%3==0).concat(this.state)}]@${this.pos}${this.score?"!"+this.score:""}`}static start(e,t,n=0){let r=e.parser.context;return new i(e,[],t,n,n,0,[],0,r?new to(r,r.start):null,0,null)}get context(){return this.curContext?this.curContext.context:null}pushState(e,t){this.stack.push(this.state,t,this.bufferBase+this.buffer.length),this.state=e}reduce(e){var t;let n=e>>19,r=e&65535,{parser:s}=this.p,o=this.reducePos=2e3&&!(!((t=this.p.parser.nodeSet.types[r])===null||t===void 0)&&t.isAnonymous)&&(c==this.p.lastBigReductionStart?(this.p.bigReductionCount++,this.p.lastBigReductionSize=h):this.p.lastBigReductionSizel;)this.stack.pop();this.reduceContext(r,c)}storeNode(e,t,n,r=4,s=!1){if(e==0&&(!this.stack.length||this.stack[this.stack.length-1]0&&this.buffer[o-4]==0&&this.buffer[o-1]>-1){if(t==n)return;if(this.buffer[o-2]>=t){this.buffer[o-2]=n;return}}}if(!s||this.pos==n)this.buffer.push(e,t,n,r);else{let o=this.buffer.length;if(o>0&&(this.buffer[o-4]!=0||this.buffer[o-1]<0)){let a=!1;for(let l=o;l>0&&this.buffer[l-2]>n;l-=4)if(this.buffer[l-1]>=0){a=!0;break}if(a)for(;o>0&&this.buffer[o-2]>n;)this.buffer[o]=this.buffer[o-4],this.buffer[o+1]=this.buffer[o-3],this.buffer[o+2]=this.buffer[o-2],this.buffer[o+3]=this.buffer[o-1],o-=4,r>4&&(r-=4)}this.buffer[o]=e,this.buffer[o+1]=t,this.buffer[o+2]=n,this.buffer[o+3]=r}}shift(e,t,n,r){if(e&131072)this.pushState(e&65535,this.pos);else if((e&262144)==0){let s=e,{parser:o}=this.p;this.pos=r;let a=o.stateFlag(s,1);!a&&(r>n||t<=o.maxNode)&&(this.reducePos=r),this.pushState(s,a?n:Math.min(n,this.reducePos)),this.shiftContext(t,n),t<=o.maxNode&&this.buffer.push(t,n,r,4)}else this.pos=r,this.shiftContext(t,n),t<=this.p.parser.maxNode&&this.buffer.push(t,n,r,4)}apply(e,t,n,r){e&65536?this.reduce(e):this.shift(e,t,n,r)}useNode(e,t){let n=this.p.reused.length-1;(n<0||this.p.reused[n]!=e)&&(this.p.reused.push(e),n++);let r=this.pos;this.reducePos=this.pos=r+e.length,this.pushState(t,r),this.buffer.push(n,r,this.reducePos,-1),this.curContext&&this.updateContext(this.curContext.tracker.reuse(this.curContext.context,e,this,this.p.stream.reset(this.pos-e.length)))}split(){let e=this,t=e.buffer.length;for(t&&e.buffer[t-4]==0&&(t-=4);t>0&&e.buffer[t-2]>e.reducePos;)t-=4;let n=e.buffer.slice(t),r=e.bufferBase+t;for(;e&&r==e.bufferBase;)e=e.parent;return new i(this.p,this.stack.slice(),this.state,this.reducePos,this.pos,this.score,n,r,this.curContext,this.lookAhead,e)}recoverByDelete(e,t){let n=e<=this.p.parser.maxNode;n&&this.storeNode(e,this.pos,t,4),this.storeNode(0,this.pos,t,n?8:4),this.pos=this.reducePos=t,this.score-=190}canShift(e){for(let t=new hc(this);;){let n=this.p.parser.stateSlot(t.state,4)||this.p.parser.hasAction(t.state,e);if(n==0)return!1;if((n&65536)==0)return!0;t.reduce(n)}}recoverByInsert(e){if(this.stack.length>=300)return[];let t=this.p.parser.nextStates(this.state);if(t.length>8||this.stack.length>=120){let r=[];for(let s=0,o;sl&1&&a==o)||r.push(t[s],o)}t=r}let n=[];for(let r=0;r>19,r=t&65535,s=this.stack.length-n*3;if(s<0||e.getGoto(this.stack[s],r,!1)<0){let o=this.findForcedReduction();if(o==null)return!1;t=o}this.storeNode(0,this.pos,this.pos,4,!0),this.score-=100}return this.reducePos=this.pos,this.reduce(t),!0}findForcedReduction(){let{parser:e}=this.p,t=[],n=(r,s)=>{if(!t.includes(r))return t.push(r),e.allActions(r,o=>{if(!(o&393216))if(o&65536){let a=(o>>19)-s;if(a>1){let l=o&65535,c=this.stack.length-a*3;if(c>=0&&e.getGoto(this.stack[c],l,!1)>=0)return a<<19|65536|l}}else{let a=n(o,s+1);if(a!=null)return a}})};return n(this.state,0)}forceAll(){for(;!this.p.parser.stateFlag(this.state,2);)if(!this.forceReduce()){this.storeNode(0,this.pos,this.pos,4,!0);break}return this}get deadEnd(){if(this.stack.length!=3)return!1;let{parser:e}=this.p;return e.data[e.stateSlot(this.state,1)]==65535&&!e.stateSlot(this.state,4)}restart(){this.storeNode(0,this.pos,this.pos,4,!0),this.state=this.stack[0],this.stack.length=0}sameState(e){if(this.state!=e.state||this.stack.length!=e.stack.length)return!1;for(let t=0;t0&&this.emitLookAhead()}},to=class{constructor(e,t){this.tracker=e,this.context=t,this.hash=e.strict?e.hash(t):0}},hc=class{constructor(e){this.start=e,this.state=e.state,this.stack=e.stack,this.base=this.stack.length}reduce(e){let t=e&65535,n=e>>19;n==0?(this.stack==this.start.stack&&(this.stack=this.stack.slice()),this.stack.push(this.state,0,0),this.base+=3):this.base-=(n-1)*3;let r=this.start.p.parser.getGoto(this.stack[this.base-3],t,!0);this.state=r}},fc=class i{constructor(e,t,n){this.stack=e,this.pos=t,this.index=n,this.buffer=e.buffer,this.index==0&&this.maybeNext()}static create(e,t=e.bufferBase+e.buffer.length){return new i(e,t,t-e.bufferBase)}maybeNext(){let e=this.stack.parent;e!=null&&(this.index=this.stack.bufferBase-e.bufferBase,this.stack=e,this.buffer=e.buffer)}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}next(){this.index-=4,this.pos-=4,this.index==0&&this.maybeNext()}fork(){return new i(this.stack,this.pos,this.index)}};function xr(i,e=Uint16Array){if(typeof i!="string")return i;let t=null;for(let n=0,r=0;n=92&&o--,o>=34&&o--;let l=o-32;if(l>=46&&(l-=46,a=!0),s+=l,a)break;s*=46}t?t[r++]=s:t=new e(s)}return t}var vn=class{constructor(){this.start=-1,this.value=-1,this.end=-1,this.extended=-1,this.lookAhead=0,this.mask=0,this.context=0}},Kd=new vn,uc=class{constructor(e,t){this.input=e,this.ranges=t,this.chunk="",this.chunkOff=0,this.chunk2="",this.chunk2Pos=0,this.next=-1,this.token=Kd,this.rangeIndex=0,this.pos=this.chunkPos=t[0].from,this.range=t[0],this.end=t[t.length-1].to,this.readNext()}resolveOffset(e,t){let n=this.range,r=this.rangeIndex,s=this.pos+e;for(;sn.to:s>=n.to;){if(r==this.ranges.length-1)return null;let o=this.ranges[++r];s+=o.from-n.to,n=o}return s}clipPos(e){if(e>=this.range.from&&ee)return Math.max(e,t.from);return this.end}peek(e){let t=this.chunkOff+e,n,r;if(t>=0&&t=this.chunk2Pos&&na.to&&(this.chunk2=this.chunk2.slice(0,a.to-n)),r=this.chunk2.charCodeAt(0)}}return n>=this.token.lookAhead&&(this.token.lookAhead=n+1),r}acceptToken(e,t=0){let n=t?this.resolveOffset(t,-1):this.pos;if(n==null||n=this.chunk2Pos&&this.posthis.range.to?e.slice(0,this.range.to-this.pos):e,this.chunkPos=this.pos,this.chunkOff=0}}readNext(){return this.chunkOff>=this.chunk.length&&(this.getChunk(),this.chunkOff==this.chunk.length)?this.next=-1:this.next=this.chunk.charCodeAt(this.chunkOff)}advance(e=1){for(this.chunkOff+=e;this.pos+e>=this.range.to;){if(this.rangeIndex==this.ranges.length-1)return this.setDone();e-=this.range.to-this.pos,this.range=this.ranges[++this.rangeIndex],this.pos=this.range.from}return this.pos+=e,this.pos>=this.token.lookAhead&&(this.token.lookAhead=this.pos+1),this.readNext()}setDone(){return this.pos=this.chunkPos=this.end,this.range=this.ranges[this.rangeIndex=this.ranges.length-1],this.chunk="",this.next=-1}reset(e,t){if(t?(this.token=t,t.start=e,t.lookAhead=e+1,t.value=t.extended=-1):this.token=Kd,this.pos!=e){if(this.pos=e,e==this.end)return this.setDone(),this;for(;e=this.range.to;)this.range=this.ranges[++this.rangeIndex];e>=this.chunkPos&&e=this.chunkPos&&t<=this.chunkPos+this.chunk.length)return this.chunk.slice(e-this.chunkPos,t-this.chunkPos);if(e>=this.chunk2Pos&&t<=this.chunk2Pos+this.chunk2.length)return this.chunk2.slice(e-this.chunk2Pos,t-this.chunk2Pos);if(e>=this.range.from&&t<=this.range.to)return this.input.read(e,t);let n="";for(let r of this.ranges){if(r.from>=t)break;r.to>e&&(n+=this.input.read(Math.max(r.from,e),Math.min(r.to,t)))}return n}},Qi=class{constructor(e,t){this.data=e,this.id=t}token(e,t){let{parser:n}=t.p;np(this.data,e,t,this.id,n.data,n.tokenPrecTable)}};Qi.prototype.contextual=Qi.prototype.fallback=Qi.prototype.extend=!1;var bi=class{constructor(e,t,n){this.precTable=t,this.elseToken=n,this.data=typeof e=="string"?xr(e):e}token(e,t){let n=e.pos,r=0;for(;;){let s=e.next<0,o=e.resolveOffset(1,1);if(np(this.data,e,t,0,this.data,this.precTable),e.token.value>-1)break;if(this.elseToken==null)return;if(s||r++,o==null)break;e.reset(o,e.token)}r&&(e.reset(n,e.token),e.acceptToken(this.elseToken,r))}};bi.prototype.contextual=Qi.prototype.fallback=Qi.prototype.extend=!1;var J=class{constructor(e,t={}){this.token=e,this.contextual=!!t.contextual,this.fallback=!!t.fallback,this.extend=!!t.extend}};function np(i,e,t,n,r,s){let o=0,a=1<0){let p=i[O];if(l.allows(p)&&(e.token.value==-1||e.token.value==p||dy(p,e.token.value,r,s))){e.acceptToken(p);break}}let h=e.next,f=0,u=i[o+2];if(e.next<0&&u>f&&i[c+u*3-3]==65535){o=i[c+u*3-1];continue e}for(;f>1,p=c+O+(O<<1),m=i[p],b=i[p+1]||65536;if(h=b)f=O+1;else{o=i[p+2],e.advance();continue e}}break}}function Jd(i,e,t){for(let n=e,r;(r=i[n])!=65535;n++)if(r==t)return n-e;return-1}function dy(i,e,t,n){let r=Jd(t,n,e);return r<0||Jd(t,n,i)e)&&!n.type.isError)return t<0?Math.max(0,Math.min(n.to-1,e-25)):Math.min(i.length,Math.max(n.from+1,e+25));if(t<0?n.prevSibling():n.nextSibling())break;if(!n.parent())return t<0?0:i.length}}var Oc=class{constructor(e,t){this.fragments=e,this.nodeSet=t,this.i=0,this.fragment=null,this.safeFrom=-1,this.safeTo=-1,this.trees=[],this.start=[],this.index=[],this.nextFragment()}nextFragment(){let e=this.fragment=this.i==this.fragments.length?null:this.fragments[this.i++];if(e){for(this.safeFrom=e.openStart?ep(e.tree,e.from+e.offset,1)-e.offset:e.from,this.safeTo=e.openEnd?ep(e.tree,e.to+e.offset,-1)-e.offset:e.to;this.trees.length;)this.trees.pop(),this.start.pop(),this.index.pop();this.trees.push(e.tree),this.start.push(-e.offset),this.index.push(0),this.nextStart=this.safeFrom}else this.nextStart=1e9}nodeAt(e){if(ee)return this.nextStart=o,null;if(s instanceof F){if(o==e){if(o=Math.max(this.safeFrom,e)&&(this.trees.push(s),this.start.push(o),this.index.push(0))}else this.index[t]++,this.nextStart=o+s.length}}},dc=class{constructor(e,t){this.stream=t,this.tokens=[],this.mainToken=null,this.actions=[],this.tokens=e.tokenizers.map(n=>new vn)}getActions(e){let t=0,n=null,{parser:r}=e.p,{tokenizers:s}=r,o=r.stateSlot(e.state,3),a=e.curContext?e.curContext.hash:0,l=0;for(let c=0;cf.end+25&&(l=Math.max(f.lookAhead,l)),f.value!=0)){let u=t;if(f.extended>-1&&(t=this.addActions(e,f.extended,f.end,t)),t=this.addActions(e,f.value,f.end,t),!h.extend&&(n=f,t>u))break}}for(;this.actions.length>t;)this.actions.pop();return l&&e.setLookAhead(l),!n&&e.pos==this.stream.end&&(n=new vn,n.value=e.p.parser.eofTerm,n.start=n.end=e.pos,t=this.addActions(e,n.value,n.end,t)),this.mainToken=n,this.actions}getMainToken(e){if(this.mainToken)return this.mainToken;let t=new vn,{pos:n,p:r}=e;return t.start=n,t.end=Math.min(n+1,r.stream.end),t.value=n==r.stream.end?r.parser.eofTerm:0,t}updateCachedToken(e,t,n){let r=this.stream.clipPos(n.pos);if(t.token(this.stream.reset(r,e),n),e.value>-1){let{parser:s}=n.p;for(let o=0;o=0&&n.p.parser.dialect.allows(a>>1)){(a&1)==0?e.value=a>>1:e.extended=a>>1;break}}}else e.value=0,e.end=this.stream.clipPos(r+1)}putAction(e,t,n,r){for(let s=0;se.bufferLength*4?new Oc(n,e.nodeSet):null}get parsedPos(){return this.minStackPos}advance(){let e=this.stacks,t=this.minStackPos,n=this.stacks=[],r,s;if(this.bigReductionCount>300&&e.length==1){let[o]=e;for(;o.forceReduce()&&o.stack.length&&o.stack[o.stack.length-2]>=this.lastBigReductionStart;);this.bigReductionCount=this.lastBigReductionSize=0}for(let o=0;ot)n.push(a);else{if(this.advanceStack(a,n,e))continue;{r||(r=[],s=[]),r.push(a);let l=this.tokens.getMainToken(a);s.push(l.value,l.end)}}break}}if(!n.length){let o=r&&py(r);if(o)return Je&&console.log("Finish with "+this.stackID(o)),this.stackToTree(o);if(this.parser.strict)throw Je&&r&&console.log("Stuck with token "+(this.tokens.mainToken?this.parser.getName(this.tokens.mainToken.value):"none")),new SyntaxError("No parse at "+t);this.recovering||(this.recovering=5)}if(this.recovering&&r){let o=this.stoppedAt!=null&&r[0].pos>this.stoppedAt?r[0]:this.runRecovery(r,s,n);if(o)return Je&&console.log("Force-finish "+this.stackID(o)),this.stackToTree(o.forceAll())}if(this.recovering){let o=this.recovering==1?1:this.recovering*3;if(n.length>o)for(n.sort((a,l)=>l.score-a.score);n.length>o;)n.pop();n.some(a=>a.reducePos>t)&&this.recovering--}else if(n.length>1){e:for(let o=0;o500&&c.buffer.length>500)if((a.score-c.score||a.buffer.length-c.buffer.length)>0)n.splice(l--,1);else{n.splice(o--,1);continue e}}}n.length>12&&(n.sort((o,a)=>a.score-o.score),n.splice(12,n.length-12))}this.minStackPos=n[0].pos;for(let o=1;o ":"";if(this.stoppedAt!=null&&r>this.stoppedAt)return e.forceReduce()?e:null;if(this.fragments){let c=e.curContext&&e.curContext.tracker.strict,h=c?e.curContext.hash:0;for(let f=this.fragments.nodeAt(r);f;){let u=this.parser.nodeSet.types[f.type.id]==f.type?s.getGoto(e.state,f.type.id):-1;if(u>-1&&f.length&&(!c||(f.prop(I.contextHash)||0)==h))return e.useNode(f,u),Je&&console.log(o+this.stackID(e)+` (via reuse of ${s.getName(f.type.id)})`),!0;if(!(f instanceof F)||f.children.length==0||f.positions[0]>0)break;let O=f.children[0];if(O instanceof F&&f.positions[0]==0)f=O;else break}}let a=s.stateSlot(e.state,4);if(a>0)return e.reduce(a),Je&&console.log(o+this.stackID(e)+` (via always-reduce ${s.getName(a&65535)})`),!0;if(e.stack.length>=8400)for(;e.stack.length>6e3&&e.forceReduce(););let l=this.tokens.getActions(e);for(let c=0;cr?t.push(p):n.push(p)}return!1}advanceFully(e,t){let n=e.pos;for(;;){if(!this.advanceStack(e,null,null))return!1;if(e.pos>n)return tp(e,t),!0}}runRecovery(e,t,n){let r=null,s=!1;for(let o=0;o ":"";if(a.deadEnd&&(s||(s=!0,a.restart(),Je&&console.log(h+this.stackID(a)+" (restarted)"),this.advanceFully(a,n))))continue;let f=a.split(),u=h;for(let O=0;O<10&&f.forceReduce()&&(Je&&console.log(u+this.stackID(f)+" (via force-reduce)"),!this.advanceFully(f,n));O++)Je&&(u=this.stackID(f)+" -> ");for(let O of a.recoverByInsert(l))Je&&console.log(h+this.stackID(O)+" (via recover-insert)"),this.advanceFully(O,n);this.stream.end>a.pos?(c==a.pos&&(c++,l=0),a.recoverByDelete(l,c),Je&&console.log(h+this.stackID(a)+` (via recover-delete ${this.parser.getName(l)})`),tp(a,n)):(!r||r.scorei,dt=class{constructor(e){this.start=e.start,this.shift=e.shift||lc,this.reduce=e.reduce||lc,this.reuse=e.reuse||lc,this.hash=e.hash||(()=>0),this.strict=e.strict!==!1}},Pe=class i extends Dt{constructor(e){if(super(),this.wrappers=[],e.version!=14)throw new RangeError(`Parser version (${e.version}) doesn't match runtime version (14)`);let t=e.nodeNames.split(" ");this.minRepeatTerm=t.length;for(let a=0;ae.topRules[a][1]),r=[];for(let a=0;a=0)s(h,l,a[c++]);else{let f=a[c+-h];for(let u=-h;u>0;u--)s(a[c++],l,f);c++}}}this.nodeSet=new jt(t.map((a,l)=>Oe.define({name:l>=this.minRepeatTerm?void 0:a,id:l,props:r[l],top:n.indexOf(l)>-1,error:l==0,skipped:e.skippedNodes&&e.skippedNodes.indexOf(l)>-1}))),e.propSources&&(this.nodeSet=this.nodeSet.extend(...e.propSources)),this.strict=!1,this.bufferLength=1024;let o=xr(e.tokenData);this.context=e.context,this.specializerSpecs=e.specialized||[],this.specialized=new Uint16Array(this.specializerSpecs.length);for(let a=0;atypeof a=="number"?new Qi(o,a):a),this.topRules=e.topRules,this.dialects=e.dialects||{},this.dynamicPrecedences=e.dynamicPrecedences||null,this.tokenPrecTable=e.tokenPrec,this.termNames=e.termNames||null,this.maxNode=this.nodeSet.types.length-1,this.dialect=this.parseDialect(),this.top=this.topRules[Object.keys(this.topRules)[0]]}createParse(e,t,n){let r=new pc(this,e,t,n);for(let s of this.wrappers)r=s(r,e,t,n);return r}getGoto(e,t,n=!1){let r=this.goto;if(t>=r[0])return-1;for(let s=r[t+1];;){let o=r[s++],a=o&1,l=r[s++];if(a&&n)return l;for(let c=s+(o>>1);s0}validAction(e,t){return!!this.allActions(e,n=>n==t?!0:null)}allActions(e,t){let n=this.stateSlot(e,4),r=n?t(n):void 0;for(let s=this.stateSlot(e,1);r==null;s+=3){if(this.data[s]==65535)if(this.data[s+1]==1)s=It(this.data,s+2);else break;r=t(It(this.data,s+1))}return r}nextStates(e){let t=[];for(let n=this.stateSlot(e,1);;n+=3){if(this.data[n]==65535)if(this.data[n+1]==1)n=It(this.data,n+2);else break;if((this.data[n+2]&1)==0){let r=this.data[n+1];t.some((s,o)=>o&1&&s==r)||t.push(this.data[n],r)}}return t}configure(e){let t=Object.assign(Object.create(i.prototype),this);if(e.props&&(t.nodeSet=this.nodeSet.extend(...e.props)),e.top){let n=this.topRules[e.top];if(!n)throw new RangeError(`Invalid top rule name ${e.top}`);t.top=n}return e.tokenizers&&(t.tokenizers=this.tokenizers.map(n=>{let r=e.tokenizers.find(s=>s.from==n);return r?r.to:n})),e.specializers&&(t.specializers=this.specializers.slice(),t.specializerSpecs=this.specializerSpecs.map((n,r)=>{let s=e.specializers.find(a=>a.from==n.external);if(!s)return n;let o=Object.assign(Object.assign({},n),{external:s.to});return t.specializers[r]=ip(o),o})),e.contextTracker&&(t.context=e.contextTracker),e.dialect&&(t.dialect=this.parseDialect(e.dialect)),e.strict!=null&&(t.strict=e.strict),e.wrap&&(t.wrappers=t.wrappers.concat(e.wrap)),e.bufferLength!=null&&(t.bufferLength=e.bufferLength),t}hasWrappers(){return this.wrappers.length>0}getName(e){return this.termNames?this.termNames[e]:String(e<=this.maxNode&&this.nodeSet.types[e].name||e)}get eofTerm(){return this.maxNode+1}get topNode(){return this.nodeSet.types[this.top[1]]}dynamicPrecedence(e){let t=this.dynamicPrecedences;return t==null?0:t[e]||0}parseDialect(e){let t=Object.keys(this.dialects),n=t.map(()=>!1);if(e)for(let s of e.split(" ")){let o=t.indexOf(s);o>=0&&(n[o]=!0)}let r=null;for(let s=0;sn)&&t.p.parser.stateFlag(t.state,2)&&(!e||e.scorei.external(t,n)<<1|e}return i.get}var my=55,gy=1,Qy=56,by=2,Sy=57,yy=3,rp=4,ky=5,yc=6,up=7,Op=8,dp=9,pp=10,xy=11,wy=12,Py=13,gc=58,vy=14,$y=15,sp=59,mp=21,Ty=23,gp=24,Cy=25,bc=27,Qp=28,Xy=29,_y=32,Ry=35,Ay=37,Zy=38,Ey=0,qy=1,zy={area:!0,base:!0,br:!0,col:!0,command:!0,embed:!0,frame:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0,menuitem:!0},Ly={dd:!0,li:!0,optgroup:!0,option:!0,p:!0,rp:!0,rt:!0,tbody:!0,td:!0,tfoot:!0,th:!0,tr:!0},op={dd:{dd:!0,dt:!0},dt:{dd:!0,dt:!0},li:{li:!0},option:{option:!0,optgroup:!0},optgroup:{optgroup:!0},p:{address:!0,article:!0,aside:!0,blockquote:!0,dir:!0,div:!0,dl:!0,fieldset:!0,footer:!0,form:!0,h1:!0,h2:!0,h3:!0,h4:!0,h5:!0,h6:!0,header:!0,hgroup:!0,hr:!0,menu:!0,nav:!0,ol:!0,p:!0,pre:!0,section:!0,table:!0,ul:!0},rp:{rp:!0,rt:!0},rt:{rp:!0,rt:!0},tbody:{tbody:!0,tfoot:!0},td:{td:!0,th:!0},tfoot:{tbody:!0},th:{td:!0,th:!0},thead:{tbody:!0,tfoot:!0},tr:{tr:!0}};function My(i){return i==45||i==46||i==58||i>=65&&i<=90||i==95||i>=97&&i<=122||i>=161}var ap=null,lp=null,cp=0;function Sc(i,e){let t=i.pos+e;if(cp==t&&lp==i)return ap;let n=i.peek(e),r="";for(;My(n);)r+=String.fromCharCode(n),n=i.peek(++e);return lp=i,cp=t,ap=r?r.toLowerCase():n==Wy||n==jy?void 0:null}var bp=60,io=62,kc=47,Wy=63,jy=33,Vy=45;function hp(i,e){this.name=i,this.parent=e}var Dy=[yc,pp,up,Op,dp],Yy=new dt({start:null,shift(i,e,t,n){return Dy.indexOf(e)>-1?new hp(Sc(n,1)||"",i):i},reduce(i,e){return e==mp&&i?i.parent:i},reuse(i,e,t,n){let r=e.type.id;return r==yc||r==Ay?new hp(Sc(n,1)||"",i):i},strict:!1}),Iy=new J((i,e)=>{if(i.next!=bp){i.next<0&&e.context&&i.acceptToken(gc);return}i.advance();let t=i.next==kc;t&&i.advance();let n=Sc(i,0);if(n===void 0)return;if(!n)return i.acceptToken(t?$y:vy);let r=e.context?e.context.name:null;if(t){if(n==r)return i.acceptToken(xy);if(r&&Ly[r])return i.acceptToken(gc,-2);if(e.dialectEnabled(Ey))return i.acceptToken(wy);for(let s=e.context;s;s=s.parent)if(s.name==n)return;i.acceptToken(Py)}else{if(n=="script")return i.acceptToken(up);if(n=="style")return i.acceptToken(Op);if(n=="textarea")return i.acceptToken(dp);if(zy.hasOwnProperty(n))return i.acceptToken(pp);r&&op[r]&&op[r][n]?i.acceptToken(gc,-1):i.acceptToken(yc)}},{contextual:!0}),By=new J(i=>{for(let e=0,t=0;;t++){if(i.next<0){t&&i.acceptToken(sp);break}if(i.next==Vy)e++;else if(i.next==io&&e>=2){t>=3&&i.acceptToken(sp,-2);break}else e=0;i.advance()}});function Uy(i){for(;i;i=i.parent)if(i.name=="svg"||i.name=="math")return!0;return!1}var Gy=new J((i,e)=>{if(i.next==kc&&i.peek(1)==io){let t=e.dialectEnabled(qy)||Uy(e.context);i.acceptToken(t?ky:rp,2)}else i.next==io&&i.acceptToken(rp,1)});function xc(i,e,t){let n=2+i.length;return new J(r=>{for(let s=0,o=0,a=0;;a++){if(r.next<0){a&&r.acceptToken(e);break}if(s==0&&r.next==bp||s==1&&r.next==kc||s>=2&&so?r.acceptToken(e,-o):r.acceptToken(t,-(o-2));break}else if((r.next==10||r.next==13)&&a){r.acceptToken(e,1);break}else s=o=0;r.advance()}})}var Ny=xc("script",my,gy),Fy=xc("style",Qy,by),Hy=xc("textarea",Sy,yy),Ky=Qe({"Text RawText IncompleteTag IncompleteCloseTag":d.content,"StartTag StartCloseTag SelfClosingEndTag EndTag":d.angleBracket,TagName:d.tagName,"MismatchedCloseTag/TagName":[d.tagName,d.invalid],AttributeName:d.attributeName,"AttributeValue UnquotedAttributeValue":d.attributeValue,Is:d.definitionOperator,"EntityReference CharacterReference":d.character,Comment:d.blockComment,ProcessingInst:d.processingInstruction,DoctypeDecl:d.documentMeta}),Sp=Pe.deserialize({version:14,states:",xOVO!rOOO!ZQ#tO'#CrO!`Q#tO'#C{O!eQ#tO'#DOO!jQ#tO'#DRO!oQ#tO'#DTO!tOaO'#CqO#PObO'#CqO#[OdO'#CqO$kO!rO'#CqOOO`'#Cq'#CqO$rO$fO'#DUO$zQ#tO'#DWO%PQ#tO'#DXOOO`'#Dl'#DlOOO`'#DZ'#DZQVO!rOOO%UQ&rO,59^O%aQ&rO,59gO%lQ&rO,59jO%wQ&rO,59mO&SQ&rO,59oOOOa'#D_'#D_O&_OaO'#CyO&jOaO,59]OOOb'#D`'#D`O&rObO'#C|O&}ObO,59]OOOd'#Da'#DaO'VOdO'#DPO'bOdO,59]OOO`'#Db'#DbO'jO!rO,59]O'qQ#tO'#DSOOO`,59],59]OOOp'#Dc'#DcO'vO$fO,59pOOO`,59p,59pO(OQ#|O,59rO(TQ#|O,59sOOO`-E7X-E7XO(YQ&rO'#CtOOQW'#D['#D[O(hQ&rO1G.xOOOa1G.x1G.xOOO`1G/Z1G/ZO(sQ&rO1G/ROOOb1G/R1G/RO)OQ&rO1G/UOOOd1G/U1G/UO)ZQ&rO1G/XOOO`1G/X1G/XO)fQ&rO1G/ZOOOa-E7]-E7]O)qQ#tO'#CzOOO`1G.w1G.wOOOb-E7^-E7^O)vQ#tO'#C}OOOd-E7_-E7_O){Q#tO'#DQOOO`-E7`-E7`O*QQ#|O,59nOOOp-E7a-E7aOOO`1G/[1G/[OOO`1G/^1G/^OOO`1G/_1G/_O*VQ,UO,59`OOQW-E7Y-E7YOOOa7+$d7+$dOOO`7+$u7+$uOOOb7+$m7+$mOOOd7+$p7+$pOOO`7+$s7+$sO*bQ#|O,59fO*gQ#|O,59iO*lQ#|O,59lOOO`1G/Y1G/YO*qO7[O'#CwO+SOMhO'#CwOOQW1G.z1G.zOOO`1G/Q1G/QOOO`1G/T1G/TOOO`1G/W1G/WOOOO'#D]'#D]O+eO7[O,59cOOQW,59c,59cOOOO'#D^'#D^O+vOMhO,59cOOOO-E7Z-E7ZOOQW1G.}1G.}OOOO-E7[-E7[",stateData:",c~O!_OS~OUSOVPOWQOXROYTO[]O][O^^O_^Oa^Ob^Oc^Od^Oy^O|_O!eZO~OgaO~OgbO~OgcO~OgdO~OgeO~O!XfOPmP![mP~O!YiOQpP![pP~O!ZlORsP![sP~OUSOVPOWQOXROYTOZqO[]O][O^^O_^Oa^Ob^Oc^Od^Oy^O!eZO~O![rO~P#gO!]sO!fuO~OgvO~OgwO~OS|OT}OiyO~OS!POT}OiyO~OS!ROT}OiyO~OS!TOT}OiyO~OS}OT}OiyO~O!XfOPmX![mX~OP!WO![!XO~O!YiOQpX![pX~OQ!ZO![!XO~O!ZlORsX![sX~OR!]O![!XO~O![!XO~P#gOg!_O~O!]sO!f!aO~OS!bO~OS!cO~Oj!dOShXThXihX~OS!fOT!gOiyO~OS!hOT!gOiyO~OS!iOT!gOiyO~OS!jOT!gOiyO~OS!gOT!gOiyO~Og!kO~Og!lO~Og!mO~OS!nO~Ol!qO!a!oO!c!pO~OS!rO~OS!sO~OS!tO~Ob!uOc!uOd!uO!a!wO!b!uO~Ob!xOc!xOd!xO!c!wO!d!xO~Ob!uOc!uOd!uO!a!{O!b!uO~Ob!xOc!xOd!xO!c!{O!d!xO~OT~cbd!ey|!e~",goto:"%q!aPPPPPPPPPPPPPPPPPPPPP!b!hP!nPP!zP!}#Q#T#Z#^#a#g#j#m#s#y!bP!b!bP$P$V$m$s$y%P%V%]%cPPPPPPPP%iX^OX`pXUOX`pezabcde{!O!Q!S!UR!q!dRhUR!XhXVOX`pRkVR!XkXWOX`pRnWR!XnXXOX`pQrXR!XpXYOX`pQ`ORx`Q{aQ!ObQ!QcQ!SdQ!UeZ!e{!O!Q!S!UQ!v!oR!z!vQ!y!pR!|!yQgUR!VgQjVR!YjQmWR![mQpXR!^pQtZR!`tS_O`ToXp",nodeNames:"\u26A0 StartCloseTag StartCloseTag StartCloseTag EndTag SelfClosingEndTag StartTag StartTag StartTag StartTag StartTag StartCloseTag StartCloseTag StartCloseTag IncompleteTag IncompleteCloseTag Document Text EntityReference CharacterReference InvalidEntity Element OpenTag TagName Attribute AttributeName Is AttributeValue UnquotedAttributeValue ScriptText CloseTag OpenTag StyleText CloseTag OpenTag TextareaText CloseTag OpenTag CloseTag SelfClosingTag Comment ProcessingInst MismatchedCloseTag CloseTag DoctypeDecl",maxTerm:68,context:Yy,nodeProps:[["closedBy",-10,1,2,3,7,8,9,10,11,12,13,"EndTag",6,"EndTag SelfClosingEndTag",-4,22,31,34,37,"CloseTag"],["openedBy",4,"StartTag StartCloseTag",5,"StartTag",-4,30,33,36,38,"OpenTag"],["group",-10,14,15,18,19,20,21,40,41,42,43,"Entity",17,"Entity TextContent",-3,29,32,35,"TextContent Entity"],["isolate",-11,22,30,31,33,34,36,37,38,39,42,43,"ltr",-3,27,28,40,""]],propSources:[Ky],skippedNodes:[0],repeatNodeCount:9,tokenData:"!]tw8twx7Sx!P8t!P!Q5u!Q!]8t!]!^/^!^!a7S!a#S8t#S#T;{#T#s8t#s$f5u$f;'S8t;'S;=`>V<%l?Ah8t?Ah?BY5u?BY?Mn8t?MnO5u!Z5zblWOX5uXZ7SZ[5u[^7S^p5uqr5urs7Sst+Ptw5uwx7Sx!]5u!]!^7w!^!a7S!a#S5u#S#T7S#T;'S5u;'S;=`8n<%lO5u!R7VVOp7Sqs7St!]7S!]!^7l!^;'S7S;'S;=`7q<%lO7S!R7qOb!R!R7tP;=`<%l7S!Z8OYlWb!ROX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+P!Z8qP;=`<%l5u!_8{iiSlWOX5uXZ7SZ[5u[^7S^p5uqr8trs7Sst/^tw8twx7Sx!P8t!P!Q5u!Q!]8t!]!^:j!^!a7S!a#S8t#S#T;{#T#s8t#s$f5u$f;'S8t;'S;=`>V<%l?Ah8t?Ah?BY5u?BY?Mn8t?MnO5u!_:sbiSlWb!ROX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+P!VP<%l?Ah;{?Ah?BY7S?BY?Mn;{?MnO7S!V=dXiSb!Rqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0m!V>SP;=`<%l;{!_>YP;=`<%l8t!_>dhiSlWOX@OXZAYZ[@O[^AY^p@OqrBwrsAYswBwwxAYx!PBw!P!Q@O!Q!]Bw!]!^/^!^!aAY!a#SBw#S#TE{#T#sBw#s$f@O$f;'SBw;'S;=`HS<%l?AhBw?Ah?BY@O?BY?MnBw?MnO@O!Z@TalWOX@OXZAYZ[@O[^AY^p@Oqr@OrsAYsw@OwxAYx!]@O!]!^Az!^!aAY!a#S@O#S#TAY#T;'S@O;'S;=`Bq<%lO@O!RA]UOpAYq!]AY!]!^Ao!^;'SAY;'S;=`At<%lOAY!RAtOc!R!RAwP;=`<%lAY!ZBRYlWc!ROX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+P!ZBtP;=`<%l@O!_COhiSlWOX@OXZAYZ[@O[^AY^p@OqrBwrsAYswBwwxAYx!PBw!P!Q@O!Q!]Bw!]!^Dj!^!aAY!a#SBw#S#TE{#T#sBw#s$f@O$f;'SBw;'S;=`HS<%l?AhBw?Ah?BY@O?BY?MnBw?MnO@O!_DsbiSlWc!ROX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+P!VFQbiSOpAYqrE{rsAYswE{wxAYx!PE{!P!QAY!Q!]E{!]!^GY!^!aAY!a#sE{#s$fAY$f;'SE{;'S;=`G|<%l?AhE{?Ah?BYAY?BY?MnE{?MnOAY!VGaXiSc!Rqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0m!VHPP;=`<%lE{!_HVP;=`<%lBw!ZHcW!cxaP!b`Or(trs'ksv(tw!^(t!^!_)e!_;'S(t;'S;=`*P<%lO(t!aIYliSaPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx}-_}!OKQ!O!P-_!P!Q$q!Q!^-_!^!_*V!_!a&X!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q!aK_kiSaPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx!P-_!P!Q$q!Q!^-_!^!_*V!_!`&X!`!aMS!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q!TM_XaP!b`!dp!fQOr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&X!aNZ!ZiSgQaPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx}-_}!OMz!O!PMz!P!Q$q!Q![Mz![!]Mz!]!^-_!^!_*V!_!a&X!a!c-_!c!}Mz!}#R-_#R#SMz#S#T1k#T#oMz#o#s-_#s$f$q$f$}-_$}%OMz%O%W-_%W%oMz%o%p-_%p&aMz&a&b-_&b1pMz1p4UMz4U4dMz4d4e-_4e$ISMz$IS$I`-_$I`$IbMz$Ib$Je-_$Je$JgMz$Jg$Kh-_$Kh%#tMz%#t&/x-_&/x&EtMz&Et&FV-_&FV;'SMz;'S;:j!#|;:j;=`3X<%l?&r-_?&r?AhMz?Ah?BY$q?BY?MnMz?MnO$q!a!$PP;=`<%lMz!R!$ZY!b`!dpOq*Vqr!$yrs(Vsv*Vwx)ex!a*V!a!b!4t!b;'S*V;'S;=`*s<%lO*V!R!%Q]!b`!dpOr*Vrs(Vsv*Vwx)ex}*V}!O!%y!O!f*V!f!g!']!g#W*V#W#X!0`#X;'S*V;'S;=`*s<%lO*V!R!&QX!b`!dpOr*Vrs(Vsv*Vwx)ex}*V}!O!&m!O;'S*V;'S;=`*s<%lO*V!R!&vV!b`!dp!ePOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!'dX!b`!dpOr*Vrs(Vsv*Vwx)ex!q*V!q!r!(P!r;'S*V;'S;=`*s<%lO*V!R!(WX!b`!dpOr*Vrs(Vsv*Vwx)ex!e*V!e!f!(s!f;'S*V;'S;=`*s<%lO*V!R!(zX!b`!dpOr*Vrs(Vsv*Vwx)ex!v*V!v!w!)g!w;'S*V;'S;=`*s<%lO*V!R!)nX!b`!dpOr*Vrs(Vsv*Vwx)ex!{*V!{!|!*Z!|;'S*V;'S;=`*s<%lO*V!R!*bX!b`!dpOr*Vrs(Vsv*Vwx)ex!r*V!r!s!*}!s;'S*V;'S;=`*s<%lO*V!R!+UX!b`!dpOr*Vrs(Vsv*Vwx)ex!g*V!g!h!+q!h;'S*V;'S;=`*s<%lO*V!R!+xY!b`!dpOr!+qrs!,hsv!+qvw!-Swx!.[x!`!+q!`!a!/j!a;'S!+q;'S;=`!0Y<%lO!+qq!,mV!dpOv!,hvx!-Sx!`!,h!`!a!-q!a;'S!,h;'S;=`!.U<%lO!,hP!-VTO!`!-S!`!a!-f!a;'S!-S;'S;=`!-k<%lO!-SP!-kO|PP!-nP;=`<%l!-Sq!-xS!dp|POv(Vx;'S(V;'S;=`(h<%lO(Vq!.XP;=`<%l!,ha!.aX!b`Or!.[rs!-Ssv!.[vw!-Sw!`!.[!`!a!.|!a;'S!.[;'S;=`!/d<%lO!.[a!/TT!b`|POr)esv)ew;'S)e;'S;=`)y<%lO)ea!/gP;=`<%l!.[!R!/sV!b`!dp|POr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!0]P;=`<%l!+q!R!0gX!b`!dpOr*Vrs(Vsv*Vwx)ex#c*V#c#d!1S#d;'S*V;'S;=`*s<%lO*V!R!1ZX!b`!dpOr*Vrs(Vsv*Vwx)ex#V*V#V#W!1v#W;'S*V;'S;=`*s<%lO*V!R!1}X!b`!dpOr*Vrs(Vsv*Vwx)ex#h*V#h#i!2j#i;'S*V;'S;=`*s<%lO*V!R!2qX!b`!dpOr*Vrs(Vsv*Vwx)ex#m*V#m#n!3^#n;'S*V;'S;=`*s<%lO*V!R!3eX!b`!dpOr*Vrs(Vsv*Vwx)ex#d*V#d#e!4Q#e;'S*V;'S;=`*s<%lO*V!R!4XX!b`!dpOr*Vrs(Vsv*Vwx)ex#X*V#X#Y!+q#Y;'S*V;'S;=`*s<%lO*V!R!4{Y!b`!dpOr!4trs!5ksv!4tvw!6Vwx!8]x!a!4t!a!b!:]!b;'S!4t;'S;=`!;r<%lO!4tq!5pV!dpOv!5kvx!6Vx!a!5k!a!b!7W!b;'S!5k;'S;=`!8V<%lO!5kP!6YTO!a!6V!a!b!6i!b;'S!6V;'S;=`!7Q<%lO!6VP!6lTO!`!6V!`!a!6{!a;'S!6V;'S;=`!7Q<%lO!6VP!7QOyPP!7TP;=`<%l!6Vq!7]V!dpOv!5kvx!6Vx!`!5k!`!a!7r!a;'S!5k;'S;=`!8V<%lO!5kq!7yS!dpyPOv(Vx;'S(V;'S;=`(h<%lO(Vq!8YP;=`<%l!5ka!8bX!b`Or!8]rs!6Vsv!8]vw!6Vw!a!8]!a!b!8}!b;'S!8];'S;=`!:V<%lO!8]a!9SX!b`Or!8]rs!6Vsv!8]vw!6Vw!`!8]!`!a!9o!a;'S!8];'S;=`!:V<%lO!8]a!9vT!b`yPOr)esv)ew;'S)e;'S;=`)y<%lO)ea!:YP;=`<%l!8]!R!:dY!b`!dpOr!4trs!5ksv!4tvw!6Vwx!8]x!`!4t!`!a!;S!a;'S!4t;'S;=`!;r<%lO!4t!R!;]V!b`!dpyPOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!;uP;=`<%l!4t!V!{let c=a.type.id;if(c==Xy)return Qc(a,l,t);if(c==_y)return Qc(a,l,n);if(c==Ry)return Qc(a,l,r);if(c==mp&&s.length){let h=a.node,f=h.firstChild,u=f&&fp(f,l),O;if(u){for(let p of s)if(p.tag==u&&(!p.attrs||p.attrs(O||(O=yp(f,l))))){let m=h.lastChild,b=m.type.id==Zy?m.from:h.to;if(b>f.to)return{parser:p.parser,overlay:[{from:f.to,to:b}]}}}}if(o&&c==gp){let h=a.node,f;if(f=h.firstChild){let u=o[l.read(f.from,f.to)];if(u)for(let O of u){if(O.tagName&&O.tagName!=fp(h.parent,l))continue;let p=h.lastChild;if(p.type.id==bc){let m=p.from+1,b=p.lastChild,g=p.to-(b&&b.isError?0:1);if(g>m)return{parser:O.parser,overlay:[{from:m,to:g}],bracketed:!0}}else if(p.type.id==Qp)return{parser:O.parser,overlay:[{from:p.from,to:p.to}]}}}}return null})}var Jy=145,kp=1,ek=146,tk=147,wp=2,ik=148,nk=3,rk=4,Pp=[9,10,11,12,13,32,133,160,5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8232,8233,8239,8287,12288],sk=58,ok=40,vp=95,ak=91,no=45,lk=46,ck=35,hk=37,fk=38,uk=92,Ok=10,dk=42;function wr(i){return i>=65&&i<=90||i>=97&&i<=122||i>=161}function Pc(i){return i>=48&&i<=57}function xp(i){return Pc(i)||i>=97&&i<=102||i>=65&&i<=70}var $p=(i,e,t)=>(n,r)=>{for(let s=!1,o=0,a=0;;a++){let{next:l}=n;if(wr(l)||l==no||l==vp||s&&Pc(l))!s&&(l!=no||a>0)&&(s=!0),o===a&&l==no&&o++,n.advance();else if(l==uk&&n.peek(1)!=Ok){if(n.advance(),xp(n.next)){do n.advance();while(xp(n.next));n.next==32&&n.advance()}else n.next>-1&&n.advance();s=!0}else{s&&n.acceptToken(o==2&&r.canShift(wp)?e:l==ok?t:i);break}}},pk=new J($p(ek,wp,tk),{contextual:!0}),mk=new J($p(ik,nk,rk),{contextual:!0}),gk=new J(i=>{if(Pp.includes(i.peek(-1))){let{next:e}=i;(wr(e)||e==vp||e==ck||e==lk||e==dk||e==ak||e==sk&&wr(i.peek(1))||e==no||e==fk)&&i.acceptToken(Jy)}}),Qk=new J(i=>{if(!Pp.includes(i.peek(-1))){let{next:e}=i;if(e==hk&&(i.advance(),i.acceptToken(kp)),wr(e)){do i.advance();while(wr(i.next)||Pc(i.next));i.acceptToken(kp)}}}),bk=Qe({"AtKeyword import charset namespace keyframes media supports font-feature-values":d.definitionKeyword,"from to selector scope MatchFlag":d.keyword,NamespaceName:d.namespace,KeyframeName:d.labelName,KeyframeRangeName:d.operatorKeyword,TagName:d.tagName,ClassName:d.className,PseudoClassName:d.constant(d.className),IdName:d.labelName,"FeatureName PropertyName":d.propertyName,AttributeName:d.attributeName,NumberLiteral:d.number,KeywordQuery:d.keyword,UnaryQueryOp:d.operatorKeyword,"CallTag ValueName FontName":d.atom,VariableName:d.variableName,Callee:d.operatorKeyword,Unit:d.unit,"UniversalSelector NestingSelector":d.definitionOperator,"MatchOp CompareOp":d.compareOperator,"ChildOp SiblingOp, LogicOp":d.logicOperator,BinOp:d.arithmeticOperator,Important:d.modifier,Comment:d.blockComment,ColorLiteral:d.color,"ParenthesizedContent StringLiteral":d.string,":":d.punctuation,"PseudoOp #":d.derefOperator,"; , |":d.separator,"( )":d.paren,"[ ]":d.squareBracket,"{ }":d.brace}),Sk={__proto__:null,lang:44,"nth-child":44,"nth-last-child":44,"nth-of-type":44,"nth-last-of-type":44,dir:44,"host-context":44,if:90,url:152,"url-prefix":152,domain:152,regexp:152},yk={__proto__:null,or:104,and:104,not:112,only:112,layer:206},kk={__proto__:null,selector:118,style:124,layer:202},xk={__proto__:null,"@import":198,"@media":210,"@charset":214,"@namespace":218,"@keyframes":224,"@supports":236,"@scope":240,"@font-feature-values":246},wk={__proto__:null,to:243},Tp=Pe.deserialize({version:14,states:"MlQYQdOOO#}QdOOP$UO`OOO%OQaO'#CfOOQP'#Ce'#CeO%VQdO'#CgO%[Q`O'#CgO%aQaO'#FnO&XQdO'#CkO&xQaO'#CcO'SQdO'#CnO'_QdO'#EOO'dQdO'#EQO'oQdO'#EXO'oQdO'#E[OOQP'#Fn'#FnO)RQhO'#E}OOQS'#Fm'#FmOOQS'#FQ'#FQQYQdOOO)YQdO'#EbO*iQhO'#EhO)YQdO'#EjO*pQdO'#ElO*{QdO'#EoO)}QhO'#EuO+TQdO'#EwO+`QdO'#EzO+eQaO'#CfO+lQ`O'#E_O+qQ`O'#F{O+|QdO'#F{QOQ`OOP,WO&jO'#CaPOOO)CA])CA]OOQP'#Ci'#CiOOQP,59R,59RO%VQdO,59ROOQP'#Cm'#CmOOQP,59V,59VO&XQdO,59VO,cQdO,59YO'_QdO,5:jO'dQdO,5:lO'oQdO,5:sO'oQdO,5:uO'oQdO,5:vO'oQdO'#FXO,nQ`O,58}O,vQdO'#E^OOQS,58},58}OOQP'#Cq'#CqOOQO'#D|'#D|OOQP,59Y,59YO,}Q`O,59YO-SQ`O,59YOOQP'#EP'#EPOOQP,5:j,5:jO-XQpO'#ERO-dQdO'#ESO-iQ`O'#ESO-nQpO,5:lO.XQaO,5:sO.oQaO,5:vOOQW'#D^'#D^O/nQhO'#DgO0RQhO,5;iO)}QhO'#DeO0`Q`O'#DnO0eQhO'#DxOOQW'#Ft'#FtOOQS,5;i,5;iO0jQ`O'#DhO0oQ`O'#DkOOQS-E9O-E9OOOQ['#Cv'#CvO0tQdO'#CwO1[QdO'#C}O1rQdO'#DQO2YQ!pO'#DSO4fQ!jO,5:|OOQO'#DX'#DXO-SQ`O'#DWO4vQ!nO'#FqO6|Q`O'#DYO7RQ`O'#DyOOQ['#Fq'#FqO7WQhO'#GOO7fQ`O,5;SO7kQ!bO,5;UOOQS'#En'#EnO7sQ`O,5;WO7xQdO,5;WOOQO'#Eq'#EqO8QQ`O,5;ZO8VQhO,5;aO'oQdO'#DjOOQS,5;c,5;cO0jQ`O,5;cO8_QdO,5;cOOQS'#F`'#F`O8gQdO'#E|O7fQ`O,5;fO8oQdO,5:yO9PQdO'#FZO9^Q`O,5lQhO'#DoOOQW,5:Y,5:YOOQW,5:d,5:dOOQW,5:S,5:SO>vQhO,5:VO?bQ!fO'#FrOOQS'#Fr'#FrOOQS'#FS'#FSO@rQdO,59cOOQ[,59c,59cOAYQdO,59iOOQ[,59i,59iOApQdO,59lOOQ[,59l,59lOOQ[,59n,59nO)YQdO,59pOBWQhO'#EdOOQW'#Ed'#EdOBuQ`O1G0hO4oQhO1G0hOOQ[,59r,59rO)}QhO'#D[OOQ[,59t,59tOBzQ#tO,5:eOCVQhO'#F]OCdQ`O,5vQhO'#DmOI_QhO'#DqOIgQhO'#DsOIlQhO'#FwOOQO'#Fw'#FwOItQ!bO'#DwOOQO'#Fy'#FyOOQO'#Fv'#FvOIyQ`O1G/qOOQS-E9Q-E9QOOQ[1G.}1G.}OOQ[1G/T1G/TOOQ[1G/W1G/WOOQ[1G/[1G/[OJOQdO,5;OOOQS7+&S7+&SOJTQ`O7+&SOJYQhO'#D]OJbQ`O,59vO)}QhO,59vOOQ[1G0P1G0POJjQ`O1G0POJoQhO,5;wOOQO-E9Z-E9ZOOQS7+&^7+&^OJ}QbO'#DSOOQO'#Et'#EtOK]Q`O'#EsOOQO'#Es'#EsOKhQ`O'#F^OKpQdO,5;^OOQS,5;^,5;^OOQ[1G/p1G/pOOQS7+&i7+&iO7fQ`O7+&iOK{Q!fO'#FYO)YQdO'#FYOMSQdO7+&POOQO7+&P7+&POOQO,5:{,5:{OOQO1G1a1G1aOMgQ!bO<vQhO'#DrOOQO,5:],5:]O! hQhO,5:_OGUQhO,5:cOOQW7+%]7+%]OOQO'#Ef'#EfO! pQ`O1G0jOOQS<xAN>xO!#zQ`OAN>xO!$PQaO,5;rOOQO-E9U-E9UO!$ZQdO,5;qOOQO-E9T-E9TOOQW<vQhO'#DuOOQO1G/y1G/yO!%vQ!bO1G/}OJOQdO'#F[O!&OQ`O7+&UOOQW7+&U7+&UO!&WQ!bO1G/cOOQ[7+$|7+$|O!&cQhO7+$|P!&jQ`O'#FTOOQO,5;y,5;yOOQO-E9]-E9]OOQS1G1d1G1dOOQPG24dG24dO!&oQ`OAN>ZO)YQdO1G1[O!&tQ`O7+'jOOQO1G/x1G/xO!&|Q`O,5:aO!$eQhO7+%iOOQO,5;v,5;vOOQO-E9Y-E9YOOQW<Q!]!^>|!^!_?_!_!`@Z!`!a@n!a!b%Z!b!cAo!c!k%Z!k!lC|!l!u%Z!u!vC|!v!}%Z!}#OD_#O#P%Z#P#QDp#Q#R2X#R#]%Z#]#^ER#^#g%Z#g#hC|#h#o%Z#o#pIf#p#qIw#q#rJ`#r#sJq#s#y%Z#y#z&R#z$f%Z$f$g&R$g#BY%Z#BY#BZ&R#BZ$IS%Z$IS$I_&R$I_$I|%Z$I|$JO&R$JO$JT%Z$JT$JU&R$JU$KV%Z$KV$KW&R$KW&FU%Z&FU&FV&R&FV;'S%Z;'S;=`KY<%lO%Z`%^SOy%jz;'S%j;'S;=`%{<%lO%j`%oS!o`Oy%jz;'S%j;'S;=`%{<%lO%j`&OP;=`<%l%j~&Wh$[~OX%jX^'r^p%jpq'rqy%jz#y%j#y#z'r#z$f%j$f$g'r$g#BY%j#BY#BZ'r#BZ$IS%j$IS$I_'r$I_$I|%j$I|$JO'r$JO$JT%j$JT$JU'r$JU$KV%j$KV$KW'r$KW&FU%j&FU&FV'r&FV;'S%j;'S;=`%{<%lO%j~'yh$[~!o`OX%jX^'r^p%jpq'rqy%jz#y%j#y#z'r#z$f%j$f$g'r$g#BY%j#BY#BZ'r#BZ$IS%j$IS$I_'r$I_$I|%j$I|$JO'r$JO$JT%j$JT$JU'r$JU$KV%j$KV$KW'r$KW&FU%j&FU&FV'r&FV;'S%j;'S;=`%{<%lO%jj)jS$qYOy%jz;'S%j;'S;=`%{<%lO%j~)yWOY)vZr)vrs*cs#O)v#O#P*h#P;'S)v;'S;=`+d<%lO)v~*hOw~~*kRO;'S)v;'S;=`*t;=`O)v~*wXOY)vZr)vrs*cs#O)v#O#P*h#P;'S)v;'S;=`+d;=`<%l)v<%lO)v~+gP;=`<%l)vj+oYmYOy%jz!Q%j!Q![,_![!c%j!c!i,_!i#T%j#T#Z,_#Z;'S%j;'S;=`%{<%lO%jj,dY!o`Oy%jz!Q%j!Q![-S![!c%j!c!i-S!i#T%j#T#Z-S#Z;'S%j;'S;=`%{<%lO%jj-XY!o`Oy%jz!Q%j!Q![-w![!c%j!c!i-w!i#T%j#T#Z-w#Z;'S%j;'S;=`%{<%lO%jj.OYuY!o`Oy%jz!Q%j!Q![.n![!c%j!c!i.n!i#T%j#T#Z.n#Z;'S%j;'S;=`%{<%lO%jj.uYuY!o`Oy%jz!Q%j!Q![/e![!c%j!c!i/e!i#T%j#T#Z/e#Z;'S%j;'S;=`%{<%lO%jj/jY!o`Oy%jz!Q%j!Q![0Y![!c%j!c!i0Y!i#T%j#T#Z0Y#Z;'S%j;'S;=`%{<%lO%jj0aYuY!o`Oy%jz!Q%j!Q![1P![!c%j!c!i1P!i#T%j#T#Z1P#Z;'S%j;'S;=`%{<%lO%jj1UY!o`Oy%jz!Q%j!Q![1t![!c%j!c!i1t!i#T%j#T#Z1t#Z;'S%j;'S;=`%{<%lO%jj1{SuY!o`Oy%jz;'S%j;'S;=`%{<%lO%jd2[UOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%jd2uS!yS!o`Oy%jz;'S%j;'S;=`%{<%lO%jb3WS^QOy%jz;'S%j;'S;=`%{<%lO%j~3gWOY3dZw3dwx*cx#O3d#O#P4P#P;'S3d;'S;=`4{<%lO3d~4SRO;'S3d;'S;=`4];=`O3d~4`XOY3dZw3dwx*cx#O3d#O#P4P#P;'S3d;'S;=`4{;=`<%l3d<%lO3d~5OP;=`<%l3dj5WShYOy%jz;'S%j;'S;=`%{<%lO%j~5iOg~n5pUWQyWOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%jj6ZWyW#PQOy%jz!O%j!O!P6s!P!Q%j!Q![9x![;'S%j;'S;=`%{<%lO%jj6xU!o`Oy%jz!Q%j!Q![7[![;'S%j;'S;=`%{<%lO%jj7cY!o`$gYOy%jz!Q%j!Q![7[![!g%j!g!h8R!h#X%j#X#Y8R#Y;'S%j;'S;=`%{<%lO%jj8WY!o`Oy%jz{%j{|8v|}%j}!O8v!O!Q%j!Q![9_![;'S%j;'S;=`%{<%lO%jj8{U!o`Oy%jz!Q%j!Q![9_![;'S%j;'S;=`%{<%lO%jj9fU!o`$gYOy%jz!Q%j!Q![9_![;'S%j;'S;=`%{<%lO%jj:P[!o`$gYOy%jz!O%j!O!P7[!P!Q%j!Q![9x![!g%j!g!h8R!h#X%j#X#Y8R#Y;'S%j;'S;=`%{<%lO%jj:zS!dYOy%jz;'S%j;'S;=`%{<%lO%jj;]WyWOy%jz!O%j!O!P6s!P!Q%j!Q![9x![;'S%j;'S;=`%{<%lO%jj;zU`YOy%jz!Q%j!Q![7[![;'S%j;'S;=`%{<%lO%j~VUcYOy%jz![%j![!]>i!];'S%j;'S;=`%{<%lO%jj>pSdY!o`Oy%jz;'S%j;'S;=`%{<%lO%jj?RSnYOy%jz;'S%j;'S;=`%{<%lO%jh?dU!WWOy%jz!_%j!_!`?v!`;'S%j;'S;=`%{<%lO%jh?}S!WW!o`Oy%jz;'S%j;'S;=`%{<%lO%jl@bS!WW!ySOy%jz;'S%j;'S;=`%{<%lO%jj@uV!|Q!WWOy%jz!_%j!_!`?v!`!aA[!a;'S%j;'S;=`%{<%lO%jbAcS!|Q!o`Oy%jz;'S%j;'S;=`%{<%lO%jjArYOy%jz}%j}!OBb!O!c%j!c!}CP!}#T%j#T#oCP#o;'S%j;'S;=`%{<%lO%jjBgW!o`Oy%jz!c%j!c!}CP!}#T%j#T#oCP#o;'S%j;'S;=`%{<%lO%jjCW[lY!o`Oy%jz}%j}!OCP!O!Q%j!Q![CP![!c%j!c!}CP!}#T%j#T#oCP#o;'S%j;'S;=`%{<%lO%jhDRS!zWOy%jz;'S%j;'S;=`%{<%lO%jjDdSpYOy%jz;'S%j;'S;=`%{<%lO%jnDuSo^Oy%jz;'S%j;'S;=`%{<%lO%jjEWU!zWOy%jz#a%j#a#bEj#b;'S%j;'S;=`%{<%lO%jbEoU!o`Oy%jz#d%j#d#eFR#e;'S%j;'S;=`%{<%lO%jbFWU!o`Oy%jz#c%j#c#dFj#d;'S%j;'S;=`%{<%lO%jbFoU!o`Oy%jz#f%j#f#gGR#g;'S%j;'S;=`%{<%lO%jbGWU!o`Oy%jz#h%j#h#iGj#i;'S%j;'S;=`%{<%lO%jbGoU!o`Oy%jz#T%j#T#UHR#U;'S%j;'S;=`%{<%lO%jbHWU!o`Oy%jz#b%j#b#cHj#c;'S%j;'S;=`%{<%lO%jbHoU!o`Oy%jz#h%j#h#iIR#i;'S%j;'S;=`%{<%lO%jbIYS$pQ!o`Oy%jz;'S%j;'S;=`%{<%lO%jjIkSsYOy%jz;'S%j;'S;=`%{<%lO%jfI|U$cUOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%jjJeSrYOy%jz;'S%j;'S;=`%{<%lO%jfJvU#PQOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%j`K]P;=`<%l%Z",tokenizers:[gk,Qk,pk,mk,1,2,3,4,new bi("m~RRYZ[z{a~~g~aO$_~~dP!P!Qg~lO$`~~",28,152)],topRules:{StyleSheet:[0,6],Styles:[1,126]},dynamicPrecedences:{94:1},specialized:[{term:147,get:i=>Sk[i]||-1},{term:148,get:i=>yk[i]||-1},{term:4,get:i=>kk[i]||-1},{term:28,get:i=>xk[i]||-1},{term:146,get:i=>wk[i]||-1}],tokenPrec:2405});var vc=null;function $c(){if(!vc&&typeof document=="object"&&document.body){let{style:i}=document.body,e=[],t=new Set;for(let n in i)n!="cssText"&&n!="cssFloat"&&typeof i[n]=="string"&&(/[A-Z]/.test(n)&&(n=n.replace(/[A-Z]/g,r=>"-"+r.toLowerCase())),t.has(n)||(e.push(n),t.add(n)));vc=e.sort().map(n=>({type:"property",label:n,apply:n+": "}))}return vc||[]}var Cp=["active","after","any-link","autofill","backdrop","before","checked","cue","default","defined","disabled","empty","enabled","file-selector-button","first","first-child","first-letter","first-line","first-of-type","focus","focus-visible","focus-within","fullscreen","has","host","host-context","hover","in-range","indeterminate","invalid","is","lang","last-child","last-of-type","left","link","marker","modal","not","nth-child","nth-last-child","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","part","placeholder","placeholder-shown","read-only","read-write","required","right","root","scope","selection","slotted","target","target-text","valid","visited","where"].map(i=>({type:"class",label:i})),Xp=["above","absolute","activeborder","additive","activecaption","after-white-space","ahead","alias","all","all-scroll","alphabetic","alternate","always","antialiased","appworkspace","asterisks","attr","auto","auto-flow","avoid","avoid-column","avoid-page","avoid-region","axis-pan","background","backwards","baseline","below","bidi-override","blink","block","block-axis","bold","bolder","border","border-box","both","bottom","break","break-all","break-word","bullets","button","button-bevel","buttonface","buttonhighlight","buttonshadow","buttontext","calc","capitalize","caps-lock-indicator","caption","captiontext","caret","cell","center","checkbox","circle","cjk-decimal","clear","clip","close-quote","col-resize","collapse","color","color-burn","color-dodge","column","column-reverse","compact","condensed","contain","content","contents","content-box","context-menu","continuous","copy","counter","counters","cover","crop","cross","crosshair","currentcolor","cursive","cyclic","darken","dashed","decimal","decimal-leading-zero","default","default-button","dense","destination-atop","destination-in","destination-out","destination-over","difference","disc","discard","disclosure-closed","disclosure-open","document","dot-dash","dot-dot-dash","dotted","double","down","e-resize","ease","ease-in","ease-in-out","ease-out","element","ellipse","ellipsis","embed","end","ethiopic-abegede-gez","ethiopic-halehame-aa-er","ethiopic-halehame-gez","ew-resize","exclusion","expanded","extends","extra-condensed","extra-expanded","fantasy","fast","fill","fill-box","fixed","flat","flex","flex-end","flex-start","footnotes","forwards","from","geometricPrecision","graytext","grid","groove","hand","hard-light","help","hidden","hide","higher","highlight","highlighttext","horizontal","hsl","hsla","hue","icon","ignore","inactiveborder","inactivecaption","inactivecaptiontext","infinite","infobackground","infotext","inherit","initial","inline","inline-axis","inline-block","inline-flex","inline-grid","inline-table","inset","inside","intrinsic","invert","italic","justify","keep-all","landscape","large","larger","left","level","lighter","lighten","line-through","linear","linear-gradient","lines","list-item","listbox","listitem","local","logical","loud","lower","lower-hexadecimal","lower-latin","lower-norwegian","lowercase","ltr","luminosity","manipulation","match","matrix","matrix3d","medium","menu","menutext","message-box","middle","min-intrinsic","mix","monospace","move","multiple","multiple_mask_images","multiply","n-resize","narrower","ne-resize","nesw-resize","no-close-quote","no-drop","no-open-quote","no-repeat","none","normal","not-allowed","nowrap","ns-resize","numbers","numeric","nw-resize","nwse-resize","oblique","opacity","open-quote","optimizeLegibility","optimizeSpeed","outset","outside","outside-shape","overlay","overline","padding","padding-box","painted","page","paused","perspective","pinch-zoom","plus-darker","plus-lighter","pointer","polygon","portrait","pre","pre-line","pre-wrap","preserve-3d","progress","push-button","radial-gradient","radio","read-only","read-write","read-write-plaintext-only","rectangle","region","relative","repeat","repeating-linear-gradient","repeating-radial-gradient","repeat-x","repeat-y","reset","reverse","rgb","rgba","ridge","right","rotate","rotate3d","rotateX","rotateY","rotateZ","round","row","row-resize","row-reverse","rtl","run-in","running","s-resize","sans-serif","saturation","scale","scale3d","scaleX","scaleY","scaleZ","screen","scroll","scrollbar","scroll-position","se-resize","self-start","self-end","semi-condensed","semi-expanded","separate","serif","show","single","skew","skewX","skewY","skip-white-space","slide","slider-horizontal","slider-vertical","sliderthumb-horizontal","sliderthumb-vertical","slow","small","small-caps","small-caption","smaller","soft-light","solid","source-atop","source-in","source-out","source-over","space","space-around","space-between","space-evenly","spell-out","square","start","static","status-bar","stretch","stroke","stroke-box","sub","subpixel-antialiased","svg_masks","super","sw-resize","symbolic","symbols","system-ui","table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row","table-row-group","text","text-bottom","text-top","textarea","textfield","thick","thin","threeddarkshadow","threedface","threedhighlight","threedlightshadow","threedshadow","to","top","transform","translate","translate3d","translateX","translateY","translateZ","transparent","ultra-condensed","ultra-expanded","underline","unidirectional-pan","unset","up","upper-latin","uppercase","url","var","vertical","vertical-text","view-box","visible","visibleFill","visiblePainted","visibleStroke","visual","w-resize","wait","wave","wider","window","windowframe","windowtext","words","wrap","wrap-reverse","x-large","x-small","xor","xx-large","xx-small"].map(i=>({type:"keyword",label:i})).concat(["aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","grey","green","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen"].map(i=>({type:"constant",label:i}))),Pk=["a","abbr","address","article","aside","b","bdi","bdo","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","dd","del","details","dfn","dialog","div","dl","dt","em","figcaption","figure","footer","form","header","hgroup","h1","h2","h3","h4","h5","h6","hr","html","i","iframe","img","input","ins","kbd","label","legend","li","main","meter","nav","ol","output","p","pre","ruby","section","select","small","source","span","strong","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","tr","u","ul"].map(i=>({type:"type",label:i})),vk=["@charset","@color-profile","@container","@counter-style","@font-face","@font-feature-values","@font-palette-values","@import","@keyframes","@layer","@media","@namespace","@page","@position-try","@property","@scope","@starting-style","@supports","@view-transition"].map(i=>({type:"keyword",label:i})),Bt=/^(\w[\w-]*|-\w[\w-]*|)$/,$k=/^-(-[\w-]*)?$/;function Tk(i,e){var t;if((i.name=="("||i.type.isError)&&(i=i.parent||i),i.name!="ArgList")return!1;let n=(t=i.parent)===null||t===void 0?void 0:t.firstChild;return n?.name!="Callee"?!1:e.sliceString(n.from,n.to)=="var"}var _p=new ui,Ck=["Declaration"];function Xk(i){for(let e=i;;){if(e.type.isTop)return e;if(!(e=e.parent))return i}}function Rp(i,e,t){if(e.to-e.from>4096){let n=_p.get(e);if(n)return n;let r=[],s=new Set,o=e.cursor(te.IncludeAnonymous);if(o.firstChild())do for(let a of Rp(i,o.node,t))s.has(a.label)||(s.add(a.label),r.push(a));while(o.nextSibling());return _p.set(e,r),r}else{let n=[],r=new Set;return e.cursor().iterate(s=>{var o;if(t(s)&&s.matchContext(Ck)&&((o=s.node.nextSibling)===null||o===void 0?void 0:o.name)==":"){let a=i.sliceString(s.from,s.to);r.has(a)||(r.add(a),n.push({label:a,type:"variable"}))}}),n}}var _k=i=>e=>{let{state:t,pos:n}=e,r=U(t).resolveInner(n,-1),s=r.type.isError&&r.from==r.to-1&&t.doc.sliceString(r.from,r.to)=="-";if(r.name=="PropertyName"||(s||r.name=="TagName")&&/^(Block|Styles)$/.test(r.resolve(r.to).name))return{from:r.from,options:$c(),validFor:Bt};if(r.name=="ValueName")return{from:r.from,options:Xp,validFor:Bt};if(r.name=="PseudoClassName")return{from:r.from,options:Cp,validFor:Bt};if(i(r)||(e.explicit||s)&&Tk(r,t.doc))return{from:i(r)||s?r.from:n,options:Rp(t.doc,Xk(r),i),validFor:$k};if(r.name=="TagName"){for(let{parent:l}=r;l;l=l.parent)if(l.name=="Block")return{from:r.from,options:$c(),validFor:Bt};return{from:r.from,options:Pk,validFor:Bt}}if(r.name=="AtKeyword")return{from:r.from,options:vk,validFor:Bt};if(!e.explicit)return null;let o=r.resolve(n),a=o.childBefore(n);return a&&a.name==":"&&o.name=="PseudoClassSelector"?{from:n,options:Cp,validFor:Bt}:a&&a.name==":"&&o.name=="Declaration"||o.name=="ArgList"?{from:n,options:Xp,validFor:Bt}:o.name=="Block"||o.name=="Styles"?{from:n,options:$c(),validFor:Bt}:null},Rk=_k(i=>i.name=="VariableName"),Pr=$e.define({name:"css",parser:Tp.configure({props:[we.add({Declaration:Yt()}),Te.add({"Block KeyframeList":ht})]}),languageData:{commentTokens:{block:{open:"/*",close:"*/"}},indentOnInput:/^\s*\}$/,wordChars:"-"}});function ro(){return new me(Pr,Pr.data.of({autocomplete:Rk}))}var Ak=316,Zk=317,Ap=1,Ek=2,qk=3,zk=4,Lk=318,Mk=320,Wk=321,jk=5,Vk=6,Dk=0,Cc=[9,10,11,12,13,32,133,160,5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8232,8233,8239,8287,12288],Zp=125,Yk=59,Xc=47,Ik=42,Bk=43,Uk=45,Gk=60,Nk=44,Fk=63,Hk=46,Kk=91,Jk=new dt({start:!1,shift(i,e){return e==jk||e==Vk||e==Mk?i:e==Wk},strict:!1}),e1=new J((i,e)=>{let{next:t}=i;(t==Zp||t==-1||e.context)&&i.acceptToken(Lk)},{contextual:!0,fallback:!0}),t1=new J((i,e)=>{let{next:t}=i,n;Cc.indexOf(t)>-1||t==Xc&&((n=i.peek(1))==Xc||n==Ik)||t!=Zp&&t!=Yk&&t!=-1&&!e.context&&i.acceptToken(Ak)},{contextual:!0}),i1=new J((i,e)=>{i.next==Kk&&!e.context&&i.acceptToken(Zk)},{contextual:!0}),n1=new J((i,e)=>{let{next:t}=i;if(t==Bk||t==Uk){if(i.advance(),t==i.next){i.advance();let n=!e.context&&e.canShift(Ap);i.acceptToken(n?Ap:Ek)}}else t==Fk&&i.peek(1)==Hk&&(i.advance(),i.advance(),(i.next<48||i.next>57)&&i.acceptToken(qk))},{contextual:!0});function Tc(i,e){return i>=65&&i<=90||i>=97&&i<=122||i==95||i>=192||!e&&i>=48&&i<=57}var r1=new J((i,e)=>{if(i.next!=Gk||!e.dialectEnabled(Dk)||(i.advance(),i.next==Xc))return;let t=0;for(;Cc.indexOf(i.next)>-1;)i.advance(),t++;if(Tc(i.next,!0)){for(i.advance(),t++;Tc(i.next,!1);)i.advance(),t++;for(;Cc.indexOf(i.next)>-1;)i.advance(),t++;if(i.next==Nk)return;for(let n=0;;n++){if(n==7){if(!Tc(i.next,!0))return;break}if(i.next!="extends".charCodeAt(n))break;i.advance(),t++}}i.acceptToken(zk,-t)}),s1=Qe({"get set async static":d.modifier,"for while do if else switch try catch finally return throw break continue default case defer":d.controlKeyword,"in of await yield void typeof delete instanceof as satisfies":d.operatorKeyword,"let var const using function class extends":d.definitionKeyword,"import export from":d.moduleKeyword,"with debugger new":d.keyword,TemplateString:d.special(d.string),super:d.atom,BooleanLiteral:d.bool,this:d.self,null:d.null,Star:d.modifier,VariableName:d.variableName,"CallExpression/VariableName TaggedTemplateExpression/VariableName":d.function(d.variableName),VariableDefinition:d.definition(d.variableName),Label:d.labelName,PropertyName:d.propertyName,PrivatePropertyName:d.special(d.propertyName),"CallExpression/MemberExpression/PropertyName":d.function(d.propertyName),"FunctionDeclaration/VariableDefinition":d.function(d.definition(d.variableName)),"ClassDeclaration/VariableDefinition":d.definition(d.className),"NewExpression/VariableName":d.className,PropertyDefinition:d.definition(d.propertyName),PrivatePropertyDefinition:d.definition(d.special(d.propertyName)),UpdateOp:d.updateOperator,"LineComment Hashbang":d.lineComment,BlockComment:d.blockComment,Number:d.number,String:d.string,Escape:d.escape,ArithOp:d.arithmeticOperator,LogicOp:d.logicOperator,BitOp:d.bitwiseOperator,CompareOp:d.compareOperator,RegExp:d.regexp,Equals:d.definitionOperator,Arrow:d.function(d.punctuation),": Spread":d.punctuation,"( )":d.paren,"[ ]":d.squareBracket,"{ }":d.brace,"InterpolationStart InterpolationEnd":d.special(d.brace),".":d.derefOperator,", ;":d.separator,"@":d.meta,TypeName:d.typeName,TypeDefinition:d.definition(d.typeName),"type enum interface implements namespace module declare":d.definitionKeyword,"abstract global Privacy readonly override":d.modifier,"is keyof unique infer asserts":d.operatorKeyword,JSXAttributeValue:d.attributeValue,JSXText:d.content,"JSXStartTag JSXStartCloseTag JSXSelfCloseEndTag JSXEndTag":d.angleBracket,"JSXIdentifier JSXNameSpacedName":d.tagName,"JSXAttribute/JSXIdentifier JSXAttribute/JSXNameSpacedName":d.attributeName,"JSXBuiltin/JSXIdentifier":d.standard(d.tagName)}),o1={__proto__:null,export:20,as:25,from:33,default:36,async:41,function:42,in:52,out:55,const:56,extends:60,this:64,true:72,false:72,null:84,void:88,typeof:92,super:108,new:142,delete:154,yield:163,await:167,class:172,public:235,private:235,protected:235,readonly:237,instanceof:256,satisfies:259,import:292,keyof:349,unique:353,infer:359,asserts:395,is:397,abstract:417,implements:419,type:421,let:424,var:426,using:429,interface:435,enum:439,namespace:445,module:447,declare:451,global:455,defer:471,for:476,of:485,while:488,with:492,do:496,if:500,else:502,switch:506,case:512,try:518,catch:522,finally:526,return:530,throw:534,break:538,continue:542,debugger:546},a1={__proto__:null,async:129,get:131,set:133,declare:195,public:197,private:197,protected:197,static:199,abstract:201,override:203,readonly:209,accessor:211,new:401},l1={__proto__:null,"<":193},Ep=Pe.deserialize({version:14,states:"$F|Q%TQlOOO%[QlOOO'_QpOOP(lO`OOO*zQ!0MxO'#CiO+RO#tO'#CjO+aO&jO'#CjO+oO#@ItO'#DaO.QQlO'#DgO.bQlO'#DrO%[QlO'#DzO0fQlO'#ESOOQ!0Lf'#E['#E[O1PQ`O'#EXOOQO'#Ep'#EpOOQO'#Il'#IlO1XQ`O'#GsO1dQ`O'#EoO1iQ`O'#EoO3hQ!0MxO'#JrO6[Q!0MxO'#JsO6uQ`O'#F]O6zQ,UO'#FtOOQ!0Lf'#Ff'#FfO7VO7dO'#FfO9XQMhO'#F|O9`Q`O'#F{OOQ!0Lf'#Js'#JsOOQ!0Lb'#Jr'#JrO9eQ`O'#GwOOQ['#K_'#K_O9pQ`O'#IYO9uQ!0LrO'#IZOOQ['#J`'#J`OOQ['#I_'#I_Q`QlOOQ`QlOOO9}Q!L^O'#DvO:UQlO'#EOO:]QlO'#EQO9kQ`O'#GsO:dQMhO'#CoO:rQ`O'#EnO:}Q`O'#EyO;hQMhO'#FeO;xQ`O'#GsOOQO'#K`'#K`O;}Q`O'#K`O<]Q`O'#G{O<]Q`O'#G|O<]Q`O'#HOO9kQ`O'#HRO=SQ`O'#HUO>kQ`O'#CeO>{Q`O'#HcO?TQ`O'#HiO?TQ`O'#HkO`QlO'#HmO?TQ`O'#HoO?TQ`O'#HrO?YQ`O'#HxO?_Q!0LsO'#IOO%[QlO'#IQO?jQ!0LsO'#ISO?uQ!0LsO'#IUO9uQ!0LrO'#IWO@QQ!0MxO'#CiOASQpO'#DlQOQ`OOO%[QlO'#EQOAjQ`O'#ETO:dQMhO'#EnOAuQ`O'#EnOBQQ!bO'#FeOOQ['#Cg'#CgOOQ!0Lb'#Dq'#DqOOQ!0Lb'#Jv'#JvO%[QlO'#JvOOQO'#Jy'#JyOOQO'#Ih'#IhOCQQpO'#EgOOQ!0Lb'#Ef'#EfOOQ!0Lb'#J}'#J}OC|Q!0MSO'#EgODWQpO'#EWOOQO'#Jx'#JxODlQpO'#JyOEyQpO'#EWODWQpO'#EgPFWO&2DjO'#CbPOOO)CD})CD}OOOO'#I`'#I`OFcO#tO,59UOOQ!0Lh,59U,59UOOOO'#Ia'#IaOFqO&jO,59UOGPQ!L^O'#DcOOOO'#Ic'#IcOGWO#@ItO,59{OOQ!0Lf,59{,59{OGfQlO'#IdOGyQ`O'#JtOIxQ!fO'#JtO+}QlO'#JtOJPQ`O,5:ROJgQ`O'#EpOJtQ`O'#KTOKPQ`O'#KSOKPQ`O'#KSOKXQ`O,5;^OK^Q`O'#KROOQ!0Ln,5:^,5:^OKeQlO,5:^OMcQ!0MxO,5:fONSQ`O,5:nONmQ!0LrO'#KQONtQ`O'#KPO9eQ`O'#KPO! YQ`O'#KPO! bQ`O,5;]O! gQ`O'#KPO!#lQ!fO'#JsOOQ!0Lh'#Ci'#CiO%[QlO'#ESO!$[Q!fO,5:sOOQS'#Jz'#JzOOQO-EtOOQ['#Jh'#JhOOQ[,5>u,5>uOOQ[-E<]-E<]O!TO`QlO,5>VO!LOQ`O,5>XO`QlO,5>ZO!LTQ`O,5>^O!LYQlO,5>dOOQ[,5>j,5>jO%[QlO,5>jO9uQ!0LrO,5>lOOQ[,5>n,5>nO#!dQ`O,5>nOOQ[,5>p,5>pO#!dQ`O,5>pOOQ[,5>r,5>rO##QQpO'#D_O%[QlO'#JvO##sQpO'#JvO##}QpO'#DmO#$`QpO'#DmO#&qQlO'#DmO#&xQ`O'#JuO#'QQ`O,5:WO#'VQ`O'#EtO#'eQ`O'#KUO#'mQ`O,5;_O#'rQpO'#DmO#(PQpO'#EVOOQ!0Lf,5:o,5:oO%[QlO,5:oO#(WQ`O,5:oO?YQ`O,5;YO!CUQpO,5;YO!C^QMhO,5;YO:dQMhO,5;YO#(`Q`O,5@bO#(eQ07dO,5:sOOQO-EPO$6^Q`O,5>POOQ[1G3i1G3iO`QlO1G3iOOQ[1G3o1G3oOOQ[1G3q1G3qO?TQ`O1G3sO$6cQlO1G3uO$:gQlO'#HtOOQ[1G3x1G3xO$:tQ`O'#HzO?YQ`O'#H|OOQ[1G4O1G4OO$:|QlO1G4OO9uQ!0LrO1G4UOOQ[1G4W1G4WOOQ!0Lb'#G_'#G_O9uQ!0LrO1G4YO9uQ!0LrO1G4[O$?TQ`O,5@bO!)[QlO,5;`O9eQ`O,5;`O?YQ`O,5:XO!)[QlO,5:XO!CUQpO,5:XO$?YQ?MtO,5:XOOQO,5;`,5;`O$?dQpO'#IeO$?zQ`O,5@aOOQ!0Lf1G/r1G/rO$@SQpO'#IkO$@^Q`O,5@pOOQ!0Lb1G0y1G0yO#$`QpO,5:XOOQO'#Ig'#IgO$@fQpO,5:qOOQ!0Ln,5:q,5:qO#(ZQ`O1G0ZOOQ!0Lf1G0Z1G0ZO%[QlO1G0ZOOQ!0Lf1G0t1G0tO?YQ`O1G0tO!CUQpO1G0tO!C^QMhO1G0tOOQ!0Lb1G5|1G5|O!ByQ!0LrO1G0^OOQO1G0m1G0mO%[QlO1G0mO$@mQ!0LrO1G0mO$@xQ!0LrO1G0mO!CUQpO1G0^ODWQpO1G0^O$AWQ!0LrO1G0mOOQO1G0^1G0^O$AlQ!0MxO1G0mPOOO-E<[-E<[POOO1G.h1G.hOOOO1G/i1G/iO$AvQ!bO,5QQpO,5@}OOQ!0Lb1G3c1G3cOOQ[7+$V7+$VO@zQ`O7+$VO9uQ!0LrO7+$VO%>]Q`O7+$VO%[QlO1G6lO%[QlO1G6mO%>bQ!0LrO1G6lO%>lQlO1G3kO%>sQ`O1G3kO%>xQlO1G3kOOQ[7+)T7+)TO9uQ!0LrO7+)_O`QlO7+)aOOQ['#Kh'#KhOOQ['#JS'#JSO%?PQlO,5>`OOQ[,5>`,5>`O%[QlO'#HuO%?^Q`O'#HwOOQ[,5>f,5>fO9eQ`O,5>fOOQ[,5>h,5>hOOQ[7+)j7+)jOOQ[7+)p7+)pOOQ[7+)t7+)tOOQ[7+)v7+)vO%?cQpO1G5|O%?}Q?MtO1G0zO%@XQ`O1G0zOOQO1G/s1G/sO%@dQ?MtO1G/sO?YQ`O1G/sO!)[QlO'#DmOOQO,5?P,5?POOQO-ERQ`O7+,WO&>WQ`O7+,XO%[QlO7+,WO%[QlO7+,XOOQ[7+)V7+)VO&>]Q`O7+)VO&>bQlO7+)VO&>iQ`O7+)VOOQ[<nQ`O,5>aOOQ[,5>c,5>cO&>sQ`O1G4QO9eQ`O7+&fO!)[QlO7+&fOOQO7+%_7+%_O&>xQ?MtO1G6ZO?YQ`O7+%_OOQ!0Lf<yQ?MvO,5?aO'@|Q?MvO,5?cO'CPQ?MvO7+'|O'DuQMjOG27TOOQO<VO!l$xO#jROe!iOpkOrPO(T)]O(VTO(YUO(aVO(o[O~O!]$_Oa$qa'z$qa'w$qa!k$qa!Y$qa!_$qa%i$qa!g$qa~Ol)dO~P!&zOh%VOp%WOr%XOs$tOt$tOz%YO|%ZO!O%]O!S${O!_$|O!i%bO!l$xO#j%cO$W%`O$t%^O$v%_O$y%aO(T(vO(VTO(YUO(a$uO(y$}O(z%PO~Og(pP~P!,TO!Q)iO!g)hO!_$^X$Z$^X$]$^X$_$^X$f$^X~O!g)hO!_({X$Z({X$]({X$_({X$f({X~O!Q)iO~P!.^O!Q)iO!_({X$Z({X$]({X$_({X$f({X~O!_)kO$Z)oO$])jO$_)jO$f)pO~O![)sO~P!)[O$]$hO$_$gO$f)wO~On$zX!Q$zX#S$zX'y$zX(y$zX(z$zX~OgmXg$zXnmX!]mX#`mX~P!0SOx)yO(b)zO(c)|O~On*VO!Q*OO'y*PO(y$}O(z%PO~Og)}O~P!1WOg*WO~Oh%VOr%XOs$tOt$tOz%YO|%ZO!OVO!l$xO#jVO!l$xO#jROe!iOpkOrPO(VTO(YUO(aVO(o[O~O(T=QO~P#$qO!]-]O!^(iX~O!^-_O~O!g-VO#`-UO!]#hX!^#hX~O!]-`O!^(xX~O!^-bO~O!c-cO!d-cO(U!lO~P#$`O!^-fO~P'_On-iO!_'`O~O!Y-nO~Os!{a!b!{a!c!{a!d!{a#T!{a#U!{a#V!{a#W!{a#X!{a#[!{a#]!{a(U!{a(V!{a(Y!{a(e!{a(o!{a~P!#vO!p-sO#`-qO~PChO!c-uO!d-uO(U!lO~PDWOa%nO#`-qO'z%nO~Oa%nO!g#vO#`-qO'z%nO~Oa%nO!g#vO!p-sO#`-qO'z%nO(r'pO~O(P'xO(Q'xO(R-zO~Ov-{O~O!Y'Wa!]'Wa~P!:tO![.PO!Y'WX!]'WX~P%[O!](VO!Y(ha~O!Y(ha~PHRO!](^O!Y(va~O!S%hO![.TO!_%iO(T%gO!Y'^X!]'^X~O#`.VO!](ta!k(taa(ta'z(ta~O!g#vO~P#,wO!](jO!k(sa~O!S%hO!_%iO#j.ZO(T%gO~Op.`O!S%hO![.]O!_%iO!|]O#i._O#j.]O(T%gO!]'aX!k'aX~OR.dO!l#xO~Oh%VOn.gO!_'`O%i.fO~Oa#ci!]#ci'z#ci'w#ci!Y#ci!k#civ#ci!_#ci%i#ci!g#ci~P!:tOn>]O!Q*OO'y*PO(y$}O(z%PO~O#k#_aa#_a#`#_a'z#_a!]#_a!k#_a!_#_a!Y#_a~P#/sO#k(`XP(`XR(`X[(`Xa(`Xj(`Xr(`X!S(`X!l(`X!p(`X#R(`X#n(`X#o(`X#p(`X#q(`X#r(`X#s(`X#t(`X#u(`X#v(`X#x(`X#z(`X#{(`X'z(`X(a(`X(r(`X!k(`X!Y(`X'w(`Xv(`X!_(`X%i(`X!g(`X~P!6kO!].tO!k(kX~P!:tO!k.wO~O!Y.yO~OP$[OR#zO!Q#yO!S#{O!l#xO!p$[O(aVO[#mia#mij#mir#mi!]#mi#R#mi#o#mi#p#mi#q#mi#r#mi#s#mi#t#mi#u#mi#v#mi#x#mi#z#mi#{#mi'z#mi(r#mi(y#mi(z#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#n#mi~P#3cO#n$OO~P#3cOP$[OR#zOr$aO!Q#yO!S#{O!l#xO!p$[O#n$OO#o$PO#p$PO#q$PO(aVO[#mia#mij#mi!]#mi#R#mi#s#mi#t#mi#u#mi#v#mi#x#mi#z#mi#{#mi'z#mi(r#mi(y#mi(z#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#r#mi~P#6QO#r$QO~P#6QOP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO(aVOa#mi!]#mi#x#mi#z#mi#{#mi'z#mi(r#mi(y#mi(z#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#v#mi~P#8oOP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO#v$SO(aVO(z#}Oa#mi!]#mi#z#mi#{#mi'z#mi(r#mi(y#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#x$UO~P#;VO#x#mi~P#;VO#v$SO~P#8oOP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO#v$SO#x$UO(aVO(y#|O(z#}Oa#mi!]#mi#{#mi'z#mi(r#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#z#mi~P#={O#z$WO~P#={OP]XR]X[]Xj]Xr]X!Q]X!S]X!l]X!p]X#R]X#S]X#`]X#kfX#n]X#o]X#p]X#q]X#r]X#s]X#t]X#u]X#v]X#x]X#z]X#{]X$Q]X(a]X(r]X(y]X(z]X!]]X!^]X~O$O]X~P#@jOP$[OR#zO[]O!Q*OO'y*PO(y$}O(z%POP#miR#mi!S#mi!l#mi!p#mi#n#mi#o#mi#p#mi#q#mi(a#mi~P#EyO!]/POg(pX~P!1WOg/RO~Oa$Pi!]$Pi'z$Pi'w$Pi!Y$Pi!k$Piv$Pi!_$Pi%i$Pi!g$Pi~P!:tO$]/SO$_/SO~O$]/TO$_/TO~O!g)hO#`/UO!_$cX$Z$cX$]$cX$_$cX$f$cX~O![/VO~O!_)kO$Z/XO$])jO$_)jO$f/YO~O!]VO!l$xO#j^O!Q*OO'y*PO(y$}O(z%POP#miR#mi!S#mi!l#mi!p#mi#n#mi#o#mi#p#mi#q#mi(a#mi~P&,QO#S$dOP(`XR(`X[(`Xj(`Xn(`Xr(`X!Q(`X!S(`X!l(`X!p(`X#R(`X#n(`X#o(`X#p(`X#q(`X#r(`X#s(`X#t(`X#u(`X#v(`X#x(`X#z(`X#{(`X$O(`X'y(`X(a(`X(r(`X(y(`X(z(`X!](`X!^(`X~O$O$Pi!]$Pi!^$Pi~P#BwO$O!ri!^!ri~P$+oOg']a!]']a~P!1WO!^7nO~O!]'da!^'da~P#BwO!Y7oO~P#/sO!g#vO(r'pO!]'ea!k'ea~O!]/pO!k)Oi~O!]/pO!g#vO!k)Oi~Og$|q!]$|q#`$|q$O$|q~P!1WO!Y'ga!]'ga~P#/sO!g7vO~O!]/yO!Y)Pi~P#/sO!]/yO!Y)Pi~O!Y7yO~Oh%VOr8OO!l%eO(r'pO~Oj8QO!g#vO~Or8TO!g#vO(r'pO~O!Q*OO'y*PO(z%POn'ja(y'ja!]'ja#`'ja~Og'ja$O'ja~P&5RO!Q*OO'y*POn'la(y'la(z'la!]'la#`'la~Og'la$O'la~P&5tOg(_q!](_q~P!1WO#`8VOg(_q!](_q~P!1WO!Y8WO~Og%Oq!]%Oq#`%Oq$O%Oq~P!1WOa$oy!]$oy'z$oy'w$oy!Y$oy!k$oyv$oy!_$oy%i$oy!g$oy~P!:tO!g6rO~O!]5[O!_)Qa~O!_'`OP$TaR$Ta[$Taj$Tar$Ta!Q$Ta!S$Ta!]$Ta!l$Ta!p$Ta#R$Ta#n$Ta#o$Ta#p$Ta#q$Ta#r$Ta#s$Ta#t$Ta#u$Ta#v$Ta#x$Ta#z$Ta#{$Ta(a$Ta(r$Ta(y$Ta(z$Ta~O%i7WO~P&8fO%^8[Oa%[i!_%[i'z%[i!]%[i~Oa#cy!]#cy'z#cy'w#cy!Y#cy!k#cyv#cy!_#cy%i#cy!g#cy~P!:tO[8^O~Ob8`O(T+qO(VTO(YUO~O!]1TO!^)Xi~O`8dO~O(e(|O!]'pX!^'pX~O!]5uO!^)Ua~O!^8nO~P%;eO(o!sO~P$&YO#[8oO~O!_1oO~O!_1oO%i8qO~On8tO!_1oO%i8qO~O[8yO!]'sa!^'sa~O!]1zO!^)Vi~O!k8}O~O!k9OO~O!k9RO~O!k9RO~P%[Oa9TO~O!g9UO~O!k9VO~O!](wi!^(wi~P#BwOa%nO#`9_O'z%nO~O!](ty!k(tya(ty'z(ty~P!:tO!](jO!k(sy~O%i9bO~P&8fO!_'`O%i9bO~O#k$|qP$|qR$|q[$|qa$|qj$|qr$|q!S$|q!]$|q!l$|q!p$|q#R$|q#n$|q#o$|q#p$|q#q$|q#r$|q#s$|q#t$|q#u$|q#v$|q#x$|q#z$|q#{$|q'z$|q(a$|q(r$|q!k$|q!Y$|q'w$|q#`$|qv$|q!_$|q%i$|q!g$|q~P#/sO#k'jaP'jaR'ja['jaa'jaj'jar'ja!S'ja!l'ja!p'ja#R'ja#n'ja#o'ja#p'ja#q'ja#r'ja#s'ja#t'ja#u'ja#v'ja#x'ja#z'ja#{'ja'z'ja(a'ja(r'ja!k'ja!Y'ja'w'jav'ja!_'ja%i'ja!g'ja~P&5RO#k'laP'laR'la['laa'laj'lar'la!S'la!l'la!p'la#R'la#n'la#o'la#p'la#q'la#r'la#s'la#t'la#u'la#v'la#x'la#z'la#{'la'z'la(a'la(r'la!k'la!Y'la'w'lav'la!_'la%i'la!g'la~P&5tO#k%OqP%OqR%Oq[%Oqa%Oqj%Oqr%Oq!S%Oq!]%Oq!l%Oq!p%Oq#R%Oq#n%Oq#o%Oq#p%Oq#q%Oq#r%Oq#s%Oq#t%Oq#u%Oq#v%Oq#x%Oq#z%Oq#{%Oq'z%Oq(a%Oq(r%Oq!k%Oq!Y%Oq'w%Oq#`%Oqv%Oq!_%Oq%i%Oq!g%Oq~P#/sO!]'Yi!k'Yi~P!:tO$O#cq!]#cq!^#cq~P#BwO(y$}OP%aaR%aa[%aaj%aar%aa!S%aa!l%aa!p%aa#R%aa#n%aa#o%aa#p%aa#q%aa#r%aa#s%aa#t%aa#u%aa#v%aa#x%aa#z%aa#{%aa$O%aa(a%aa(r%aa!]%aa!^%aa~On%aa!Q%aa'y%aa(z%aa~P&IyO(z%POP%caR%ca[%caj%car%ca!S%ca!l%ca!p%ca#R%ca#n%ca#o%ca#p%ca#q%ca#r%ca#s%ca#t%ca#u%ca#v%ca#x%ca#z%ca#{%ca$O%ca(a%ca(r%ca!]%ca!^%ca~On%ca!Q%ca'y%ca(y%ca~P&LQOn>^O!Q*OO'y*PO(z%PO~P&IyOn>^O!Q*OO'y*PO(y$}O~P&LQOR0kO!Q0kO!S0lO#S$dOP}a[}aj}an}ar}a!l}a!p}a#R}a#n}a#o}a#p}a#q}a#r}a#s}a#t}a#u}a#v}a#x}a#z}a#{}a$O}a'y}a(a}a(r}a(y}a(z}a!]}a!^}a~O!Q*OO'y*POP$saR$sa[$saj$san$sar$sa!S$sa!l$sa!p$sa#R$sa#n$sa#o$sa#p$sa#q$sa#r$sa#s$sa#t$sa#u$sa#v$sa#x$sa#z$sa#{$sa$O$sa(a$sa(r$sa(y$sa(z$sa!]$sa!^$sa~O!Q*OO'y*POP$uaR$ua[$uaj$uan$uar$ua!S$ua!l$ua!p$ua#R$ua#n$ua#o$ua#p$ua#q$ua#r$ua#s$ua#t$ua#u$ua#v$ua#x$ua#z$ua#{$ua$O$ua(a$ua(r$ua(y$ua(z$ua!]$ua!^$ua~On>^O!Q*OO'y*PO(y$}O(z%PO~OP%TaR%Ta[%Taj%Tar%Ta!S%Ta!l%Ta!p%Ta#R%Ta#n%Ta#o%Ta#p%Ta#q%Ta#r%Ta#s%Ta#t%Ta#u%Ta#v%Ta#x%Ta#z%Ta#{%Ta$O%Ta(a%Ta(r%Ta!]%Ta!^%Ta~P''VO$O$mq!]$mq!^$mq~P#BwO$O$oq!]$oq!^$oq~P#BwO!^9oO~O$O9pO~P!1WO!g#vO!]'ei!k'ei~O!g#vO(r'pO!]'ei!k'ei~O!]/pO!k)Oq~O!Y'gi!]'gi~P#/sO!]/yO!Y)Pq~Or9wO!g#vO(r'pO~O[9yO!Y9xO~P#/sO!Y9xO~Oj:PO!g#vO~Og(_y!](_y~P!1WO!]'na!_'na~P#/sOa%[q!_%[q'z%[q!]%[q~P#/sO[:UO~O!]1TO!^)Xq~O`:YO~O#`:ZO!]'pa!^'pa~O!]5uO!^)Ui~P#BwO!S:]O~O!_1oO%i:`O~O(VTO(YUO(e:eO~O!]1zO!^)Vq~O!k:hO~O!k:iO~O!k:jO~O!k:jO~P%[O#`:mO!]#hy!^#hy~O!]#hy!^#hy~P#BwO%i:rO~P&8fO!_'`O%i:rO~O$O#|y!]#|y!^#|y~P#BwOP$|iR$|i[$|ij$|ir$|i!S$|i!l$|i!p$|i#R$|i#n$|i#o$|i#p$|i#q$|i#r$|i#s$|i#t$|i#u$|i#v$|i#x$|i#z$|i#{$|i$O$|i(a$|i(r$|i!]$|i!^$|i~P''VO!Q*OO'y*PO(z%POP'iaR'ia['iaj'ian'iar'ia!S'ia!l'ia!p'ia#R'ia#n'ia#o'ia#p'ia#q'ia#r'ia#s'ia#t'ia#u'ia#v'ia#x'ia#z'ia#{'ia$O'ia(a'ia(r'ia(y'ia!]'ia!^'ia~O!Q*OO'y*POP'kaR'ka['kaj'kan'kar'ka!S'ka!l'ka!p'ka#R'ka#n'ka#o'ka#p'ka#q'ka#r'ka#s'ka#t'ka#u'ka#v'ka#x'ka#z'ka#{'ka$O'ka(a'ka(r'ka(y'ka(z'ka!]'ka!^'ka~O(y$}OP%aiR%ai[%aij%ain%air%ai!Q%ai!S%ai!l%ai!p%ai#R%ai#n%ai#o%ai#p%ai#q%ai#r%ai#s%ai#t%ai#u%ai#v%ai#x%ai#z%ai#{%ai$O%ai'y%ai(a%ai(r%ai(z%ai!]%ai!^%ai~O(z%POP%ciR%ci[%cij%cin%cir%ci!Q%ci!S%ci!l%ci!p%ci#R%ci#n%ci#o%ci#p%ci#q%ci#r%ci#s%ci#t%ci#u%ci#v%ci#x%ci#z%ci#{%ci$O%ci'y%ci(a%ci(r%ci(y%ci!]%ci!^%ci~O$O$oy!]$oy!^$oy~P#BwO$O#cy!]#cy!^#cy~P#BwO!g#vO!]'eq!k'eq~O!]/pO!k)Oy~O!Y'gq!]'gq~P#/sOr:|O!g#vO(r'pO~O[;QO!Y;PO~P#/sO!Y;PO~Og(_!R!](_!R~P!1WOa%[y!_%[y'z%[y!]%[y~P#/sO!]1TO!^)Xy~O!]5uO!^)Uq~O(T;XO~O!_1oO%i;[O~O!k;_O~O%i;dO~P&8fOP$|qR$|q[$|qj$|qr$|q!S$|q!l$|q!p$|q#R$|q#n$|q#o$|q#p$|q#q$|q#r$|q#s$|q#t$|q#u$|q#v$|q#x$|q#z$|q#{$|q$O$|q(a$|q(r$|q!]$|q!^$|q~P''VO!Q*OO'y*PO(z%POP'jaR'ja['jaj'jan'jar'ja!S'ja!l'ja!p'ja#R'ja#n'ja#o'ja#p'ja#q'ja#r'ja#s'ja#t'ja#u'ja#v'ja#x'ja#z'ja#{'ja$O'ja(a'ja(r'ja(y'ja!]'ja!^'ja~O!Q*OO'y*POP'laR'la['laj'lan'lar'la!S'la!l'la!p'la#R'la#n'la#o'la#p'la#q'la#r'la#s'la#t'la#u'la#v'la#x'la#z'la#{'la$O'la(a'la(r'la(y'la(z'la!]'la!^'la~OP%OqR%Oq[%Oqj%Oqr%Oq!S%Oq!l%Oq!p%Oq#R%Oq#n%Oq#o%Oq#p%Oq#q%Oq#r%Oq#s%Oq#t%Oq#u%Oq#v%Oq#x%Oq#z%Oq#{%Oq$O%Oq(a%Oq(r%Oq!]%Oq!^%Oq~P''VOg%e!Z!]%e!Z#`%e!Z$O%e!Z~P!1WO!Y;hO~P#/sOr;iO!g#vO(r'pO~O[;kO!Y;hO~P#/sO!]'pq!^'pq~P#BwO!]#h!Z!^#h!Z~P#BwO#k%e!ZP%e!ZR%e!Z[%e!Za%e!Zj%e!Zr%e!Z!S%e!Z!]%e!Z!l%e!Z!p%e!Z#R%e!Z#n%e!Z#o%e!Z#p%e!Z#q%e!Z#r%e!Z#s%e!Z#t%e!Z#u%e!Z#v%e!Z#x%e!Z#z%e!Z#{%e!Z'z%e!Z(a%e!Z(r%e!Z!k%e!Z!Y%e!Z'w%e!Z#`%e!Zv%e!Z!_%e!Z%i%e!Z!g%e!Z~P#/sOr;tO!g#vO(r'pO~O!Y;uO~P#/sOr;|O!g#vO(r'pO~O!Y;}O~P#/sOP%e!ZR%e!Z[%e!Zj%e!Zr%e!Z!S%e!Z!l%e!Z!p%e!Z#R%e!Z#n%e!Z#o%e!Z#p%e!Z#q%e!Z#r%e!Z#s%e!Z#t%e!Z#u%e!Z#v%e!Z#x%e!Z#z%e!Z#{%e!Z$O%e!Z(a%e!Z(r%e!Z!]%e!Z!^%e!Z~P''VOrROe!iOpkOrPO(T)]O(VTO(YUO(aVO(o[O~O!]WO!l$xO#jgPPP!>oI[PPPPPPPPP!BOP!C]PPI[!DnPI[PI[I[I[I[I[PI[!FQP!I[P!LbP!Lf!Lp!Lt!LtP!IXP!Lx!LxP#!OP#!SI[PI[#!Y#%_CjA^PA^PA^A^P#&lA^A^#)OA^#+vA^#.SA^A^#.r#1W#1W#1]#1f#1W#1qPP#1WPA^#2ZA^#6YA^A^6mPPP#:_PPP#:x#:xP#:xP#;`#:xPP#;fP#;]P#;]#;y#;]#P#>V#>]#>k#>q#>{#?R#?]#?c#?s#?y#@k#@}#AT#AZ#Ai#BO#Cs#DR#DY#Et#FS#Gt#HS#HY#H`#Hf#Hp#Hv#H|#IW#Ij#IpPPPPPPPPPPP#IvPPPPPPP#Jk#Mx$ b$ i$ qPPP$']P$'f$*_$0x$0{$1O$1}$2Q$2X$2aP$2g$2jP$3W$3[$4S$5b$5g$5}PP$6S$6Y$6^$6a$6e$6i$7e$7|$8e$8i$8l$8o$8y$8|$9Q$9UR!|RoqOXst!Z#d%m&r&t&u&w,s,x2[2_Y!vQ'`-e1o5{Q%tvQ%|yQ&T|Q&j!VS'W!e-]Q'f!iS'l!r!yU*k$|*Z*oQ+o%}S+|&V&WQ,d&dQ-c'_Q-m'gQ-u'mQ0[*qQ1b,OQ1y,eR<{SU+P%]S!S!nQ!r!v!y!z$|'W'_'`'l'm'n*k*o*q*r-]-c-e-u0[0_1o5{5}%[$ti#v$b$c$d$x${%O%Q%^%_%c)y*R*T*V*Y*a*g*w*x+f+i,S,V.f/P/d/m/x/y/{0`0b0i0j0o1f1i1q3c4^4_4j4o5Q5[5_6S7W7v8Q8V8[8q9b9p9y:P:`:r;Q;[;d;kP>X>Y>]>^Q&X|Q'U!eS'[%i-`Q+t&PQ,P&WQ,f&gQ0n+SQ1Y+uQ1_+{Q2Q,jQ2R,kQ5f1TQ5o1aQ6[1zQ6_1|Q6`2PQ8`5gQ8c5lQ8|6bQ:X8dQ:f8yQ;V:YR<}*ZrnOXst!V!Z#d%m&i&r&t&u&w,s,x2[2_R,h&k&z^OPXYstuvwz!Z!`!g!j!o#S#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%m%t&R&k&n&o&r&t&u&w&{'T'b'r(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:mR>S[#]WZ#W#Z'X(T!b%jm#h#i#l$x%e%h(^(h(i(j*Y*^*b+Z+[+^,o-V.T.Z.[.]._/m/p2d3[3]4a6r7TQ%wxQ%{yW&Q|&V&W,OQ&_!TQ'c!hQ'e!iQ(q#sS+n%|%}Q+r&PQ,_&bQ,c&dS-l'f'gQ.i(rQ1R+oQ1X+uQ1Z+vQ1^+zQ1t,`S1x,d,eQ2|-mQ5e1TQ5i1WQ5n1`Q6Z1yQ8_5gQ8b5kQ8f5pQ:T8^R;T:U!U$zi$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Y!^%yy!i!u%{%|%}'V'e'f'g'k'u*j+n+o-Y-l-m-t0R0U1R2u2|3T4r4s4v7}9{Q+h%wQ,T&[Q,W&]Q,b&dQ.h(qQ1s,_U1w,c,d,eQ3e.iQ6U1tS6Y1x1yQ8x6Z#f>T#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k]>^o>UPS&[!Q&iQ&]!RQ&^!SU*}%[%d=sR,R&Y%]%Si#v$b$c$d$x${%O%Q%^%_%c)y*R*T*V*Y*a*g*w*x+f+i,S,V.f/P/d/m/x/y/{0`0b0i0j0o1f1i1q3c4^4_4j4o5Q5[5_6S7W7v8Q8V8[8q9b9p9y:P:`:r;Q;[;d;kP>X>Y>]>^T)z$u){V+P%]S$i$^c#Y#e%q%s%u(S(Y(t(y)R)S)T)U)V)W)X)Y)Z)[)^)`)b)g)q+d+x-Z-x-}.S.U.s.v.z.|.}/O/b0p2k2n3O3V3k3p3q3r3s3t3u3v3w3x3y3z3{3|4P4Q4X5X5c6u6{7Q7a7b7k7l8k9X9]9g9m9n:o;W;`SQ'Y!eR2q-]!W!nQ!e!r!v!y!z$|'W'_'`'l'm'n*Z*k*o*q*r-]-c-e-u0[0_1o5{5}R1l,ZnqOXst!Z#d%m&r&t&u&w,s,x2[2_Q&y!^Q'v!xS(s#u<^Q+l%zQ,]&_Q,^&aQ-j'dQ-w'oS.r(x=PS0q+X=ZQ1P+mQ1n,[Q2c,zQ2e,{Q2m-WQ2z-kQ2}-oS5Y0r=eQ5a1QS5d1S=fQ6t2oQ6x2{Q6}3SQ8]5bQ9Y6vQ9Z6yQ9^7OR:l9V$d$]c#Y#e%s%u(S(Y(t(y)R)S)T)U)V)W)X)Y)Z)[)^)`)b)g)q+d+x-Z-x-}.S.U.s.v.z.}/O/b0p2k2n3O3V3k3p3q3r3s3t3u3v3w3x3y3z3{3|4P4Q4X5X5c6u6{7Q7a7b7k7l8k9X9]9g9m9n:o;W;`SS#q]SU$fd)_,mS(p#p'iU*v%R(w4OU0m+O.n7gQ5^0xQ7V3`Q9d7YR:s9em!tQ!r!v!y!z'`'l'm'n-e-u1o5{5}Q't!uS(f#g2US-s'k'wQ/s*]Q0R*jQ3U-vQ4f/tQ4r0TQ4s0UQ4x0^Q7r4`S7}4t4vS8R4y4{Q9r7sQ9v7yQ9{8OQ:Q8TS:{9w9xS;g:|;PS;s;h;iS;{;t;uSSR=o>R%^bOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&o&r&t&u&w&{'T'b'r(T(V(](d(x(z)O)}*i+X+]+g,p,s,x-i-q.P.V.g.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3d3l4z6T6e6f6i6|7[8t9T9_Q%fj!^%xy!i!u%{%|%}'V'e'f'g'k'u*j+n+o-Y-l-m-t0R0U1R2u2|3T4r4s4v7}9{S&Oz!jQ+k%yQ,a&dW1v,b,c,d,eU6X1w1x1yS8w6Y6ZQ:d8x!r=j$Z$n'X)s-U-X/V2p4T5w6s:Z:mSQ=t>QR=u>R%QeOPXYstuvw!Z!`!g!o#S#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&r&t&u&w&{'T'b'r(V(](d(x(z)O)}*i+X+]+g,p,s,x-i-q.P.V.g.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3d3l4z6T6e6f6i6|7[8t9T9_Y#bWZ#W#Z(T!b%jm#h#i#l$x%e%h(^(h(i(j*Y*^*b+Z+[+^,o-V.T.Z.[.]._/m/p2d3[3]4a6r7TQ,n&o!p=k$Z$n)s-U-X/V2p4T5w6s:Z:mSR=n'XU']!e%i*ZR2s-`%SdOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&r&t&u&w&{'T'b'r(T(V(](d(x(z)O)}*i+X+],p,s,x-i-q.P.V.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3l4z6T6e6f6i6|8t9T9_!r)_$Z$n'X)s-U-X/V2p4T5w6s:Z:mSQ,m&oQ0x+gQ3`.gQ7Y3dR9e7[!b$Tc#Y%q(S(Y(t(y)Z)[)`)g+x-x-}.S.U.s.v/b0p3O3V3k3{5X5c6{7Q7a9]:oS)^)q-Z.|2k2n3p4P4X6u7b7k7l8k9X9g9m9n;W;`=vQ>X>ZR>Y>['QkOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%m%t&R&k&n&o&r&t&u&w&{'T'X'b'r(T(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:mSS$oh$pR4U/U'XgOPWXYZhstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n$p%m%t&R&k&n&o&r&t&u&w&{'T'X'b'r(T(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/U/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:mST$kf$qQ$ifS)j$l)nR)v$qT$jf$qT)l$l)n'XhOPWXYZhstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n$p%m%t&R&k&n&o&r&t&u&w&{'T'X'b'r(T(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/U/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:mST$oh$pQ$rhR)u$p%^jOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&o&r&t&u&w&{'T'b'r(T(V(](d(x(z)O)}*i+X+]+g,p,s,x-i-q.P.V.g.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3d3l4z6T6e6f6i6|7[8t9T9_!s>Q$Z$n'X)s-U-X/V2p4T5w6s:Z:mS#glOPXZst!Z!`!o#S#d#o#{$n%m&k&n&o&r&t&u&w&{'T'b)O)s*i+]+g,p,s,x-i.g/V/n0]0l1r2S2T2V2X2[2_2a3d4T4z6T6e6f6i7[8t9T!U%Ri$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Y#f(w#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k]>^Q+T%aQ/c*Oo4OP>X>YQ*c$zU*l$|*Z*oQ+U%bQ0W*m#f=q#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k]>^n=rTQ=x>UQ=y>VR=z>W!U%Ri$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Y#f(w#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k]>^o4OP>X>Y>]>^Q,U&]Q1h,WQ5s1gR8h5tV*n$|*Z*oU*n$|*Z*oT5z1o5{S0P*i/nQ4w0]T8S4z:]Q+j%xQ0V*lQ1O+kQ1u,aQ6W1vQ8v6XQ:c8wR;^:d!U%Oi$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Yx*R$v)e*S*u+V/v0d0e4R4g5R5S5W7p8U:R:x=p=}>OS0`*t0a#f]>^nZ>[`=T3}7c7f7j9h:t:w;yS=_.l3iT=`7e9k!U%Qi$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Y|*T$v)e*U*t+V/g/v0d0e4R4g4|5R5S5W7p8U:R:x=p=}>OS0b*u0c#f]>^nZ>[d=V3}7d7e7j9h9i:t:u:w;yS=a.m3jT=b7f9lrnOXst!V!Z#d%m&i&r&t&u&w,s,x2[2_Q&f!UR,p&ornOXst!V!Z#d%m&i&r&t&u&w,s,x2[2_R&f!UQ,Y&^R1d,RsnOXst!V!Z#d%m&i&r&t&u&w,s,x2[2_Q1p,_S6R1s1tU8p6P6Q6US:_8r8sS;Y:^:aQ;m;ZR;w;nQ&m!VR,i&iR6_1|R:f8yW&Q|&V&W,OR1Z+vQ&r!WR,s&sR,y&xT2],x2_R,}&yQ,|&yR2f,}Q'y!{R-y'ySsOtQ#dXT%ps#dQ#OTR'{#OQ#RUR'}#RQ){$uR/`){Q#UVR(Q#UQ#XWU(W#X(X.QQ(X#YR.Q(YQ-^'YR2r-^Q.u(yS3m.u3nR3n.vQ-e'`R2v-eY!rQ'`-e1o5{R'j!rQ/Q)eR4S/QU#_W%h*YU(_#_(`.RQ(`#`R.R(ZQ-a']R2t-at`OXst!V!Z#d%m&i&k&r&t&u&w,s,x2[2_S#hZ%eU#r`#h.[R.[(jQ(k#jQ.X(gW.a(k.X3X7RQ3X.YR7R3YQ)n$lR/W)nQ$phR)t$pQ$`cU)a$`-|O>Z>[Q/z*eU4k/z4m7xQ4m/|R7x4lS*o$|*ZR0Y*ox*S$v)e*t*u+V/v0d0e4R4g5R5S5W7p8U:R:x=p=}>O!d.j(u)c*[*e.l.m.q/_/k/|0v1e3h4[4h4l5r7]7`7w7z8X8Z9t9|:S:};R;e;j;v>Z>[U/h*S.j7ca7c3}7e7f7j9h:t:w;yQ0a*tQ3i.lU4}0a3i9kR9k7e|*U$v)e*t*u+V/g/v0d0e4R4g4|5R5S5W7p8U:R:x=p=}>O!h.k(u)c*[*e.l.m.q/_/k/|0v1e3f3h4[4h4l5r7]7^7`7w7z8X8Z9t9|:S:};R;e;j;v>Z>[U/j*U.k7de7d3}7e7f7j9h9i:t:u:w;yQ0c*uQ3j.mU5P0c3j9lR9l7fQ*z%UR0g*zQ5]0vR8Y5]Q+_%kR0u+_Q5v1jS8j5v:[R:[8kQ,[&_R1m,[Q5{1oR8m5{Q1{,fS6]1{8zR8z6_Q1U+rW5h1U5j8a:VQ5j1XQ8a5iR:V8bQ+w&QR1[+wQ2_,xR6m2_YrOXst#dQ&v!ZQ+a%mQ,r&rQ,t&tQ,u&uQ,w&wQ2Y,sS2],x2_R6l2[Q%opQ&z!_Q&}!aQ'P!bQ'R!cQ'q!uQ+`%lQ+l%zQ,Q&XQ,h&mQ-P&|W-p'k's't'wQ-w'oQ0X*nQ1P+mQ1c,PS2O,i,lQ2g-OQ2h-RQ2i-SQ2}-oW3P-r-s-v-xQ5a1QQ5m1_Q5q1eQ6V1uQ6a2QQ6k2ZU6z3O3R3UQ6}3SQ8]5bQ8e5oQ8g5rQ8l5zQ8u6WQ8{6`S9[6{7PQ9^7OQ:W8cQ:b8vQ:g8|Q:n9]Q;U:XQ;]:cQ;a:oQ;l;VR;o;^Q%zyQ'd!iQ'o!uU+m%{%|%}Q-W'VU-k'e'f'gS-o'k'uQ0Q*jS1Q+n+oQ2o-YS2{-l-mQ3S-tS4p0R0UQ5b1RQ6v2uQ6y2|Q7O3TU7{4r4s4vQ9z7}R;O9{S$wi>PR*{%VU%Ui%V>PR0f*yQ$viS(u#v+iS)c$b$cQ)e$dQ*[$xS*e${*YQ*t%OQ*u%QQ+Q%^Q+R%_Q+V%cQ.lPQ=}>XQ>O>YQ>Z>]R>[>^Q+O%]Q.nSR#[WR'Z!el!tQ!r!v!y!z'`'l'm'n-e-u1o5{5}S'V!e-]U*j$|*Z*oS-Y'W'_S0U*k*qQ0^*rQ2u-cQ4v0[R4{0_R({#xQ!fQT-d'`-e]!qQ!r'`-e1o5{Q#p]R'i < TypeParamList in out const TypeDefinition extends ThisType this LiteralType ArithOp Number BooleanLiteral TemplateType InterpolationEnd Interpolation InterpolationStart NullType null VoidType void TypeofType typeof MemberExpression . PropertyName [ TemplateString Escape Interpolation super RegExp ] ArrayExpression Spread , } { ObjectExpression Property async get set PropertyDefinition Block : NewTarget new NewExpression ) ( ArgList UnaryExpression delete LogicOp BitOp YieldExpression yield AwaitExpression await ParenthesizedExpression ClassExpression class ClassBody MethodDeclaration Decorator @ MemberExpression PrivatePropertyName CallExpression TypeArgList CompareOp < declare Privacy static abstract override PrivatePropertyDefinition PropertyDeclaration readonly accessor Optional TypeAnnotation Equals StaticBlock FunctionExpression ArrowFunction ParamList ParamList ArrayPattern ObjectPattern PatternProperty Privacy readonly Arrow MemberExpression BinaryExpression ArithOp ArithOp ArithOp ArithOp BitOp CompareOp instanceof satisfies CompareOp BitOp BitOp BitOp LogicOp LogicOp ConditionalExpression LogicOp LogicOp AssignmentExpression UpdateOp PostfixExpression CallExpression InstantiationExpression TaggedTemplateExpression DynamicImport import ImportMeta JSXElement JSXSelfCloseEndTag JSXSelfClosingTag JSXIdentifier JSXBuiltin JSXIdentifier JSXNamespacedName JSXMemberExpression JSXSpreadAttribute JSXAttribute JSXAttributeValue JSXEscape JSXEndTag JSXOpenTag JSXFragmentTag JSXText JSXEscape JSXStartCloseTag JSXCloseTag PrefixCast < ArrowFunction TypeParamList SequenceExpression InstantiationExpression KeyofType keyof UniqueType unique ImportType InferredType infer TypeName ParenthesizedType FunctionSignature ParamList NewSignature IndexedType TupleType Label ArrayType ReadonlyType ObjectType MethodType PropertyType IndexSignature PropertyDefinition CallSignature TypePredicate asserts is NewSignature new UnionType LogicOp IntersectionType LogicOp ConditionalType ParameterizedType ClassDeclaration abstract implements type VariableDeclaration let var using TypeAliasDeclaration InterfaceDeclaration interface EnumDeclaration enum EnumBody NamespaceDeclaration namespace module AmbientDeclaration declare GlobalDeclaration global ClassDeclaration ClassBody AmbientFunctionDeclaration ExportGroup VariableName VariableName ImportDeclaration defer ImportGroup ForStatement for ForSpec ForInSpec ForOfSpec of WhileStatement while WithStatement with DoStatement do IfStatement if else SwitchStatement switch SwitchBody CaseLabel case DefaultLabel TryStatement try CatchClause catch FinallyClause finally ReturnStatement return ThrowStatement throw BreakStatement break ContinueStatement continue DebuggerStatement debugger LabeledStatement ExpressionStatement SingleExpression SingleClassItem",maxTerm:380,context:Jk,nodeProps:[["isolate",-8,5,6,14,37,39,51,53,55,""],["group",-26,9,17,19,68,207,211,215,216,218,221,224,234,237,243,245,247,249,252,258,264,266,268,270,272,274,275,"Statement",-34,13,14,32,35,36,42,51,54,55,57,62,70,72,76,80,82,84,85,110,111,120,121,136,139,141,142,143,144,145,147,148,167,169,171,"Expression",-23,31,33,37,41,43,45,173,175,177,178,180,181,182,184,185,186,188,189,190,201,203,205,206,"Type",-3,88,103,109,"ClassItem"],["openedBy",23,"<",38,"InterpolationStart",56,"[",60,"{",73,"(",160,"JSXStartCloseTag"],["closedBy",-2,24,168,">",40,"InterpolationEnd",50,"]",61,"}",74,")",165,"JSXEndTag"]],propSources:[s1],skippedNodes:[0,5,6,278],repeatNodeCount:37,tokenData:"$Fq07[R!bOX%ZXY+gYZ-yZ[+g[]%Z]^.c^p%Zpq+gqr/mrs3cst:_tuEruvJSvwLkwx! Yxy!'iyz!(sz{!)}{|!,q|}!.O}!O!,q!O!P!/Y!P!Q!9j!Q!R#:O!R![#<_![!]#I_!]!^#Jk!^!_#Ku!_!`$![!`!a$$v!a!b$*T!b!c$,r!c!}Er!}#O$-|#O#P$/W#P#Q$4o#Q#R$5y#R#SEr#S#T$7W#T#o$8b#o#p$x#r#s$@U#s$f%Z$f$g+g$g#BYEr#BY#BZ$A`#BZ$ISEr$IS$I_$A`$I_$I|Er$I|$I}$Dk$I}$JO$Dk$JO$JTEr$JT$JU$A`$JU$KVEr$KV$KW$A`$KW&FUEr&FU&FV$A`&FV;'SEr;'S;=`I|<%l?HTEr?HT?HU$A`?HUOEr(n%d_$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z&j&hT$i&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c&j&zP;=`<%l&c'|'U]$i&j(Z!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!b(SU(Z!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}!b(iP;=`<%l'}'|(oP;=`<%l&}'[(y]$i&j(WpOY(rYZ&cZr(rrs&cs!^(r!^!_)r!_#O(r#O#P&c#P#o(r#o#p)r#p;'S(r;'S;=`*a<%lO(rp)wU(WpOY)rZr)rs#O)r#P;'S)r;'S;=`*Z<%lO)rp*^P;=`<%l)r'[*dP;=`<%l(r#S*nX(Wp(Z!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g#S+^P;=`<%l*g(n+dP;=`<%l%Z07[+rq$i&j(Wp(Z!b'|0/lOX%ZXY+gYZ&cZ[+g[p%Zpq+gqr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p$f%Z$f$g+g$g#BY%Z#BY#BZ+g#BZ$IS%Z$IS$I_+g$I_$JT%Z$JT$JU+g$JU$KV%Z$KV$KW+g$KW&FU%Z&FU&FV+g&FV;'S%Z;'S;=`+a<%l?HT%Z?HT?HU+g?HUO%Z07[.ST(X#S$i&j'}0/lO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c07[.n_$i&j(Wp(Z!b'}0/lOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z)3p/x`$i&j!p),Q(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`0z!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW1V`#v(Ch$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`2X!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW2d_#v(Ch$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'At3l_(V':f$i&j(Z!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k(^4r_$i&j(Z!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k&z5vX$i&jOr5qrs6cs!^5q!^!_6y!_#o5q#o#p6y#p;'S5q;'S;=`7h<%lO5q&z6jT$d`$i&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c`6|TOr6yrs7]s;'S6y;'S;=`7b<%lO6y`7bO$d``7eP;=`<%l6y&z7kP;=`<%l5q(^7w]$d`$i&j(Z!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!r8uZ(Z!bOY8pYZ6yZr8prs9hsw8pwx6yx#O8p#O#P6y#P;'S8p;'S;=`:R<%lO8p!r9oU$d`(Z!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}!r:UP;=`<%l8p(^:[P;=`<%l4k%9[:hh$i&j(Wp(Z!bOY%ZYZ&cZq%Zqr`#P#o`x!^=^!^!_?q!_#O=^#O#P>`#P#o=^#o#p?q#p;'S=^;'S;=`@h<%lO=^&n>gXWS$i&jOY>`YZ&cZ!^>`!^!_?S!_#o>`#o#p?S#p;'S>`;'S;=`?k<%lO>`S?XSWSOY?SZ;'S?S;'S;=`?e<%lO?SS?hP;=`<%l?S&n?nP;=`<%l>`!f?xWWS(Z!bOY?qZw?qwx?Sx#O?q#O#P?S#P;'S?q;'S;=`@b<%lO?q!f@eP;=`<%l?q(Q@kP;=`<%l=^'`@w]WS$i&j(WpOY@nYZ&cZr@nrs>`s!^@n!^!_Ap!_#O@n#O#P>`#P#o@n#o#pAp#p;'S@n;'S;=`Bg<%lO@ntAwWWS(WpOYApZrAprs?Ss#OAp#O#P?S#P;'SAp;'S;=`Ba<%lOAptBdP;=`<%lAp'`BjP;=`<%l@n#WBvYWS(Wp(Z!bOYBmZrBmrs?qswBmwxApx#OBm#O#P?S#P;'SBm;'S;=`Cf<%lOBm#WCiP;=`<%lBm(rCoP;=`<%l^!Q^$i&j!X7`OY!=yYZ&cZ!P!=y!P!Q!>|!Q!^!=y!^!_!@c!_!}!=y!}#O!CW#O#P!Dy#P#o!=y#o#p!@c#p;'S!=y;'S;=`!Ek<%lO!=y|#X#Z&c#Z#[!>|#[#]&c#]#^!>|#^#a&c#a#b!>|#b#g&c#g#h!>|#h#i&c#i#j!>|#j#k!>|#k#m&c#m#n!>|#n#o&c#p;'S&c;'S;=`&w<%lO&c7`!@hX!X7`OY!@cZ!P!@c!P!Q!AT!Q!}!@c!}#O!Ar#O#P!Bq#P;'S!@c;'S;=`!CQ<%lO!@c7`!AYW!X7`#W#X!AT#Z#[!AT#]#^!AT#a#b!AT#g#h!AT#i#j!AT#j#k!AT#m#n!AT7`!AuVOY!ArZ#O!Ar#O#P!B[#P#Q!@c#Q;'S!Ar;'S;=`!Bk<%lO!Ar7`!B_SOY!ArZ;'S!Ar;'S;=`!Bk<%lO!Ar7`!BnP;=`<%l!Ar7`!BtSOY!@cZ;'S!@c;'S;=`!CQ<%lO!@c7`!CTP;=`<%l!@c^!Ezl$i&j(Z!b!X7`OY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#W&}#W#X!Eq#X#Z&}#Z#[!Eq#[#]&}#]#^!Eq#^#a&}#a#b!Eq#b#g&}#g#h!Eq#h#i&}#i#j!Eq#j#k!Eq#k#m&}#m#n!Eq#n#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}8r!GyZ(Z!b!X7`OY!GrZw!Grwx!@cx!P!Gr!P!Q!Hl!Q!}!Gr!}#O!JU#O#P!Bq#P;'S!Gr;'S;=`!J|<%lO!Gr8r!Hse(Z!b!X7`OY'}Zw'}x#O'}#P#W'}#W#X!Hl#X#Z'}#Z#[!Hl#[#]'}#]#^!Hl#^#a'}#a#b!Hl#b#g'}#g#h!Hl#h#i'}#i#j!Hl#j#k!Hl#k#m'}#m#n!Hl#n;'S'};'S;=`(f<%lO'}8r!JZX(Z!bOY!JUZw!JUwx!Arx#O!JU#O#P!B[#P#Q!Gr#Q;'S!JU;'S;=`!Jv<%lO!JU8r!JyP;=`<%l!JU8r!KPP;=`<%l!Gr>^!KZ^$i&j(Z!bOY!KSYZ&cZw!KSwx!CWx!^!KS!^!_!JU!_#O!KS#O#P!DR#P#Q!^!LYP;=`<%l!KS>^!L`P;=`<%l!_#c#d#Bq#d#l%Z#l#m#Es#m#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#>j_$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#?rd$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!R#AQ!R!S#AQ!S!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#AQ#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#A]f$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!R#AQ!R!S#AQ!S!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#AQ#S#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#Bzc$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!Y#DV!Y!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#DV#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#Dbe$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!Y#DV!Y!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#DV#S#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#E|g$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![#Ge![!^%Z!^!_*g!_!c%Z!c!i#Ge!i#O%Z#O#P&c#P#R%Z#R#S#Ge#S#T%Z#T#Z#Ge#Z#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#Gpi$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![#Ge![!^%Z!^!_*g!_!c%Z!c!i#Ge!i#O%Z#O#P&c#P#R%Z#R#S#Ge#S#T%Z#T#Z#Ge#Z#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z*)x#Il_!g$b$i&j$O)Lv(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z)[#Jv_al$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z04f#LS^h#)`#R-v$?V_!^(CdvBr$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z?O$@a_!q7`$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z07[$Aq|$i&j(Wp(Z!b'|0/l$]#t(T,2j(e$I[OX%ZXY+gYZ&cZ[+g[p%Zpq+gqr%Zrs&}st%ZtuEruw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Er![!^%Z!^!_*g!_!c%Z!c!}Er!}#O%Z#O#P&c#P#R%Z#R#SEr#S#T%Z#T#oEr#o#p*g#p$f%Z$f$g+g$g#BYEr#BY#BZ$A`#BZ$ISEr$IS$I_$A`$I_$JTEr$JT$JU$A`$JU$KVEr$KV$KW$A`$KW&FUEr&FU&FV$A`&FV;'SEr;'S;=`I|<%l?HTEr?HT?HU$A`?HUOEr07[$D|k$i&j(Wp(Z!b'}0/l$]#t(T,2j(e$I[OY%ZYZ&cZr%Zrs&}st%ZtuEruw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Er![!^%Z!^!_*g!_!c%Z!c!}Er!}#O%Z#O#P&c#P#R%Z#R#SEr#S#T%Z#T#oEr#o#p*g#p$g%Z$g;'SEr;'S;=`I|<%lOEr",tokenizers:[t1,i1,n1,r1,2,3,4,5,6,7,8,9,10,11,12,13,14,e1,new bi("$S~RRtu[#O#Pg#S#T#|~_P#o#pb~gOx~~jVO#i!P#i#j!U#j#l!P#l#m!q#m;'S!P;'S;=`#v<%lO!P~!UO!U~~!XS!Q![!e!c!i!e#T#Z!e#o#p#Z~!hR!Q![!q!c!i!q#T#Z!q~!tR!Q![!}!c!i!}#T#Z!}~#QR!Q![!P!c!i!P#T#Z!P~#^R!Q![#g!c!i#g#T#Z#g~#jS!Q![#g!c!i#g#T#Z#g#q#r!P~#yP;=`<%l!P~$RO(c~~",141,340),new bi("j~RQYZXz{^~^O(Q~~aP!P!Qd~iO(R~~",25,323)],topRules:{Script:[0,7],SingleExpression:[1,276],SingleClassItem:[2,277]},dialects:{jsx:0,ts:15175},dynamicPrecedences:{80:1,82:1,94:1,169:1,199:1},specialized:[{term:327,get:i=>o1[i]||-1},{term:343,get:i=>a1[i]||-1},{term:95,get:i=>l1[i]||-1}],tokenPrec:15201});var Mp=[ce("function ${name}(${params}) {\n ${}\n}",{label:"function",detail:"definition",type:"keyword"}),ce("for (let ${index} = 0; ${index} < ${bound}; ${index}++) {\n ${}\n}",{label:"for",detail:"loop",type:"keyword"}),ce("for (let ${name} of ${collection}) {\n ${}\n}",{label:"for",detail:"of loop",type:"keyword"}),ce("do {\n ${}\n} while (${})",{label:"do",detail:"loop",type:"keyword"}),ce("while (${}) {\n ${}\n}",{label:"while",detail:"loop",type:"keyword"}),ce(`try { +`);n=r<0?t:t.slice(0,r)}return e+n.length>this.to?n.slice(0,this.to-e):n}prevLineEnd(){return this.atEnd?this.lineStart:this.lineStart-1}startContext(e,t,n=0){this.block=Fs.create(e,n,this.lineStart+t,this.block.hash,this.lineStart+this.line.text.length),this.stack.push(this.block)}startComposite(e,t,n=0){this.startContext(this.parser.getNodeType(e),t,n)}addNode(e,t,n){typeof e=="number"&&(e=new F(this.parser.nodeSet.types[e],Pn,Pn,(n??this.prevLineEnd())-t)),this.block.addChild(e,t-this.block.from)}addElement(e){this.block.addChild(e.toTree(this.parser.nodeSet),e.from-this.block.from)}addLeafElement(e,t){this.addNode(this.buffer.writeElements(ec(t.children,e.marks),-t.from).finish(t.type,t.to-t.from),t.from)}finishContext(){let e=this.stack.pop(),t=this.stack[this.stack.length-1];t.addChild(e.toTree(this.parser.nodeSet),e.from-t.from),this.block=t}finish(){for(;this.stack.length>1;)this.finishContext();return this.addGaps(this.block.toTree(this.parser.nodeSet,this.lineStart))}addGaps(e){return this.ranges.length>1?qd(this.ranges,0,e.topNode,this.ranges[0].from,this.reusePlaceholders):e}finishLeaf(e){for(let n of e.parsers)if(n.finish(this,e))return;let t=ec(this.parser.parseInline(e.content,e.start),e.marks);this.addNode(this.buffer.writeElements(t,-e.start).finish(A.Paragraph,e.content.length),e.start)}elt(e,t,n,r){return typeof e=="string"?ie(this.parser.getNodeType(e),t,n,r):new Ks(e,t)}get buffer(){return new Hs(this.parser.nodeSet)}};function qd(i,e,t,n,r){let s=i[e].to,o=[],a=[],l=t.from+n;function c(h,f){for(;f?h>=s:h>s;){let u=i[e+1].from-s;n+=u,h+=u,e++,s=i[e].to}}for(let h=t.firstChild;h;h=h.nextSibling){c(h.from+n,!0);let f=h.from+n,u,O=r.get(h.tree);O?u=O:h.to+n>s?(u=qd(i,e,h,n,r),c(h.to+n,!1)):u=h.toTree(),o.push(u),a.push(f-l)}return c(t.to+n,!1),new F(t.type,o,a,t.to+n-l,t.tree?t.tree.propValues:void 0)}var Sr=class i extends It{constructor(e,t,n,r,s,o,a,l,c){super(),this.nodeSet=e,this.blockParsers=t,this.leafBlockParsers=n,this.blockNames=r,this.endLeafBlock=s,this.skipContextMarkup=o,this.inlineParsers=a,this.inlineNames=l,this.wrappers=c,this.nodeTypes=Object.create(null);for(let h of e.types)this.nodeTypes[h.name]=h.id}createParse(e,t,n){let r=new Kl(this,e,t,n);for(let s of this.wrappers)r=s(r,e,t,n);return r}configure(e){let t=Jl(e);if(!t)return this;let{nodeSet:n,skipContextMarkup:r}=this,s=this.blockParsers.slice(),o=this.leafBlockParsers.slice(),a=this.blockNames.slice(),l=this.inlineParsers.slice(),c=this.inlineNames.slice(),h=this.endLeafBlock.slice(),f=this.wrappers;if(gr(t.defineNodes)){r=Object.assign({},r);let u=n.types.slice(),O;for(let p of t.defineNodes){let{name:m,block:b,composite:g,style:Q}=typeof p=="string"?{name:p}:p;if(u.some(v=>v.name==m))continue;g&&(r[u.length]=(v,$,R)=>g($,R,v.value));let S=u.length,x=g?["Block","BlockContext"]:b?S>=A.ATXHeading1&&S<=A.SetextHeading2?["Block","LeafBlock","Heading"]:["Block","LeafBlock"]:void 0;u.push(Oe.define({id:S,name:m,props:x&&[[I.group,x]]})),Q&&(O||(O={}),Array.isArray(Q)||Q instanceof He?O[m]=Q:Object.assign(O,Q))}n=new Dt(u),O&&(n=n.extend(Qe(O)))}if(gr(t.props)&&(n=n.extend(...t.props)),gr(t.remove))for(let u of t.remove){let O=this.blockNames.indexOf(u),p=this.inlineNames.indexOf(u);O>-1&&(s[O]=o[O]=void 0),p>-1&&(l[p]=void 0)}if(gr(t.parseBlock))for(let u of t.parseBlock){let O=a.indexOf(u.name);if(O>-1)s[O]=u.parse,o[O]=u.leaf;else{let p=u.before?Ns(a,u.before):u.after?Ns(a,u.after)+1:a.length-1;s.splice(p,0,u.parse),o.splice(p,0,u.leaf),a.splice(p,0,u.name)}u.endLeaf&&h.push(u.endLeaf)}if(gr(t.parseInline))for(let u of t.parseInline){let O=c.indexOf(u.name);if(O>-1)l[O]=u.parse;else{let p=u.before?Ns(c,u.before):u.after?Ns(c,u.after)+1:c.length-1;l.splice(p,0,u.parse),c.splice(p,0,u.name)}}return t.wrap&&(f=f.concat(t.wrap)),new i(n,s,o,a,h,r,l,c,f)}getNodeType(e){let t=this.nodeTypes[e];if(t==null)throw new RangeError(`Unknown node type '${e}'`);return t}parseInline(e,t){let n=new kr(this,e,t);e:for(let r=t;r=0){r=a;continue e}}r++}return n.resolveMarkers(0)}};function gr(i){return i!=null&&i.length>0}function Jl(i){if(!Array.isArray(i))return i;if(i.length==0)return null;let e=Jl(i[0]);if(i.length==1)return e;let t=Jl(i.slice(1));if(!t||!e)return e||t;let n=(o,a)=>(o||Pn).concat(a||Pn),r=e.wrap,s=t.wrap;return{props:n(e.props,t.props),defineNodes:n(e.defineNodes,t.defineNodes),parseBlock:n(e.parseBlock,t.parseBlock),parseInline:n(e.parseInline,t.parseInline),remove:n(e.remove,t.remove),wrap:r?s?(o,a,l,c)=>r(s(o,a,l,c),a,l,c):r:s}}function Ns(i,e){let t=i.indexOf(e);if(t<0)throw new RangeError(`Position specified relative to unknown parser ${e}`);return t}var zd=[Oe.none];for(let i=1,e;e=A[i];i++)zd[i]=Oe.define({id:i,name:e,props:i>=A.Escape?[]:[[I.group,i in vd?["Block","BlockContext"]:["Block","LeafBlock"]]],top:e=="Document"});var Pn=[],Hs=class{constructor(e){this.nodeSet=e,this.content=[],this.nodes=[]}write(e,t,n,r=0){return this.content.push(e,t,n,4+r*4),this}writeElements(e,t=0){for(let n of e)n.writeTo(this,t);return this}finish(e,t){return F.build({buffer:this.content,nodeSet:this.nodeSet,reused:this.nodes,topID:e,length:t})}},Bi=class{constructor(e,t,n,r=Pn){this.type=e,this.from=t,this.to=n,this.children=r}writeTo(e,t){let n=e.content.length;e.writeElements(this.children,t),e.content.push(this.type,this.from+t,this.to+t,e.content.length+4-n)}toTree(e){return new Hs(e).writeElements(this.children,-this.from).finish(this.type,this.to-this.from)}},Ks=class{constructor(e,t){this.tree=e,this.from=t}get to(){return this.from+this.tree.length}get type(){return this.tree.type.id}get children(){return Pn}writeTo(e,t){e.nodes.push(this.tree),e.content.push(e.nodes.length-1,this.from+t,this.to+t,-1)}toTree(){return this.tree}};function ie(i,e,t,n){return new Bi(i,e,t,n)}var Ld={resolve:"Emphasis",mark:"EmphasisMark"},Md={resolve:"Emphasis",mark:"EmphasisMark"},Ii={},Js={},Me=class{constructor(e,t,n,r){this.type=e,this.from=t,this.to=n,this.side=r}},Qd="!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~",yr=/[!"#$%&'()*+,\-.\/:;<=>?@\[\\\]^_`{|}~\xA1\u2010-\u2027]/;try{yr=new RegExp("[\\p{S}|\\p{P}]","u")}catch{}var Il={Escape(i,e,t){if(e!=92||t==i.end-1)return-1;let n=i.char(t+1);for(let r=0;r]+|[a-z\d.!#$%&'*+/=?^_`{|}~-]+@[a-z\d](?:[a-z\d-]{0,61}[a-z\d])?(?:\.[a-z\d](?:[a-z\d-]{0,61}[a-z\d])?)*)>/i.exec(n);if(r)return i.append(ie(A.Autolink,t,t+1+r[0].length,[ie(A.LinkMark,t,t+1),ie(A.URL,t+1,t+r[0].length),ie(A.LinkMark,t+r[0].length,t+1+r[0].length)]));let s=/^!--[^>](?:-[^-]|[^-])*?-->/i.exec(n);if(s)return i.append(ie(A.Comment,t,t+1+s[0].length));let o=/^\?[^]*?\?>/.exec(n);if(o)return i.append(ie(A.ProcessingInstruction,t,t+1+o[0].length));let a=/^(?:![A-Z][^]*?>|!\[CDATA\[[^]*?\]\]>|\/\s*[a-zA-Z][\w-]*\s*>|\s*[a-zA-Z][\w-]*(\s+[a-zA-Z:_][\w-.:]*(?:\s*=\s*(?:[^\s"'=<>`]+|'[^']*'|"[^"]*"))?)*\s*(\/\s*)?>)/.exec(n);return a?i.append(ie(A.HTMLTag,t,t+1+a[0].length)):-1},Emphasis(i,e,t){if(e!=95&&e!=42)return-1;let n=t+1;for(;i.char(n)==e;)n++;let r=i.slice(t-1,t),s=i.slice(n,n+1),o=yr.test(r),a=yr.test(s),l=/\s|^$/.test(r),c=/\s|^$/.test(s),h=!c&&(!a||l||o),f=!l&&(!o||c||a),u=h&&(e==42||!f||o),O=f&&(e==42||!h||a);return i.append(new Me(e==95?Ld:Md,t,n,(u?1:0)|(O?2:0)))},HardBreak(i,e,t){if(e==92&&i.char(t+1)==10)return i.append(ie(A.HardBreak,t,t+2));if(e==32){let n=t+1;for(;i.char(n)==32;)n++;if(i.char(n)==10&&n>=t+2)return i.append(ie(A.HardBreak,t,n+1))}return-1},Link(i,e,t){return e==91?i.append(new Me(Ii,t,t+1,1)):-1},Image(i,e,t){return e==33&&i.char(t+1)==91?i.append(new Me(Js,t,t+2,1)):-1},LinkEnd(i,e,t){if(e!=93)return-1;for(let n=i.parts.length-1;n>=0;n--){let r=i.parts[n];if(r instanceof Me&&(r.type==Ii||r.type==Js)){if(!r.side||i.skipSpace(r.to)==t&&!/[(\[]/.test(i.slice(t+1,t+2)))return i.parts[n]=null,-1;let s=i.takeContent(n),o=i.parts[n]=iy(i,s,r.type==Ii?A.Link:A.Image,r.from,t+1);if(r.type==Ii)for(let a=0;ae?ie(A.URL,e+t,s+t):s==i.length?null:!1}}function jd(i,e,t){let n=i.charCodeAt(e);if(n!=39&&n!=34&&n!=40)return!1;let r=n==40?41:n;for(let s=e+1,o=!1;s=this.end?-1:this.text.charCodeAt(e-this.offset)}get end(){return this.offset+this.text.length}slice(e,t){return this.text.slice(e-this.offset,t-this.offset)}append(e){return this.parts.push(e),e.to}addDelimiter(e,t,n,r,s){return this.append(new Me(e,t,n,(r?1:0)|(s?2:0)))}get hasOpenLink(){for(let e=this.parts.length-1;e>=0;e--){let t=this.parts[e];if(t instanceof Me&&(t.type==Ii||t.type==Js))return!0}return!1}addElement(e){return this.append(e)}resolveMarkers(e){for(let n=e;n=e;l--){let m=this.parts[l];if(m instanceof Me&&m.side&1&&m.type==r.type&&!(s&&(r.side&1||m.side&2)&&(m.to-m.from+o)%3==0&&((m.to-m.from)%3||o%3))){a=m;break}}if(!a)continue;let c=r.type.resolve,h=[],f=a.from,u=r.to;if(s){let m=Math.min(2,a.to-a.from,o);f=a.to-m,u=r.from+m,c=m==1?"Emphasis":"StrongEmphasis"}a.type.mark&&h.push(this.elt(a.type.mark,f,a.to));for(let m=l+1;m=0;t--){let n=this.parts[t];if(n instanceof Me&&n.type==e&&n.side&1)return t}return null}takeContent(e){let t=this.resolveMarkers(e);return this.parts.length=e,t}getDelimiterAt(e){let t=this.parts[e];return t instanceof Me?t:null}skipSpace(e){return Qr(this.text,e-this.offset)+this.offset}elt(e,t,n,r){return typeof e=="string"?ie(this.parser.getNodeType(e),t,n,r):new Ks(e,t)}};kr.linkStart=Ii;kr.imageStart=Js;function ec(i,e){if(!e.length)return i;if(!i.length)return e;let t=i.slice(),n=0;for(let r of e){for(;n(e?e-1:0))return!1;if(this.fragmentEnd<0){let s=this.fragment.to;for(;s>0&&this.input.read(s-1,s)!=` +`;)s--;this.fragmentEnd=s?s-1:0}let n=this.cursor;n||(n=this.cursor=this.fragment.tree.cursor(),n.firstChild());let r=e+this.fragment.offset;for(;n.to<=r;)if(!n.parent())return!1;for(;;){if(n.from>=r)return this.fragment.from<=t;if(!n.childAfter(r))return!1}}matches(e){let t=this.cursor.tree;return t&&t.prop(I.contextHash)==e}takeNodes(e){let t=this.cursor,n=this.fragment.offset,r=this.fragmentEnd-(this.fragment.openEnd?1:0),s=e.absoluteLineStart,o=s,a=e.block.children.length,l=o,c=a;for(;;){if(t.to-n>r){if(t.type.isAnonymous&&t.firstChild())continue;break}let h=Dd(t.from-n,e.ranges);if(t.to-n<=e.ranges[e.rangeI].to)e.addNode(t.tree,h);else{let f=new F(e.parser.nodeSet.types[A.Paragraph],[],[],0,e.block.hashProp);e.reusePlaceholders.set(f,t.tree),e.addNode(f,h)}if(t.type.is("Block")&&(ny.indexOf(t.type.id)<0?(o=t.to-n,a=e.block.children.length):(o=l,a=c),l=t.to-n,c=e.block.children.length),!t.nextSibling())break}for(;e.block.children.length>a;)e.block.children.pop(),e.block.positions.pop();return o-s}};function Dd(i,e){let t=i;for(let n=1;nGs[i]),Object.keys(Gs).map(i=>Ed[i]),Object.keys(Gs),ey,vd,Object.keys(Il).map(i=>Il[i]),Object.keys(Il),[]);function sy(i,e,t){let n=[];for(let r=i.firstChild,s=e;;r=r.nextSibling){let o=r?r.from:t;if(o>s&&n.push({from:s,to:o}),!r)break;s=r.to}return n}function Id(i){let{codeParser:e,htmlParser:t}=i;return{wrap:bn((r,s)=>{let o=r.type.id;if(e&&(o==A.CodeBlock||o==A.FencedCode)){let a="";if(o==A.FencedCode){let c=r.node.getChild(A.CodeInfo);c&&(a=s.read(c.from,c.to))}let l=e(a);if(l)return{parser:l,overlay:c=>c.type.id==A.CodeText,bracketed:o==A.FencedCode}}else if(t&&(o==A.HTMLBlock||o==A.HTMLTag||o==A.CommentBlock))return{parser:t,overlay:sy(r.node,r.from,r.to)};return null})}}var oy={resolve:"Strikethrough",mark:"StrikethroughMark"},ay={defineNodes:[{name:"Strikethrough",style:{"Strikethrough/...":d.strikethrough}},{name:"StrikethroughMark",style:d.processingInstruction}],parseInline:[{name:"Strikethrough",parse(i,e,t){if(e!=126||i.char(t+1)!=126||i.char(t+2)==126)return-1;let n=i.slice(t-1,t),r=i.slice(t+2,t+3),s=/\s|^$/.test(n),o=/\s|^$/.test(r),a=yr.test(n),l=yr.test(r);return i.addDelimiter(oy,t,t+2,!o&&(!l||s||a),!s&&(!a||o||l))},after:"Emphasis"}]};function br(i,e,t=0,n,r=0){let s=0,o=!0,a=-1,l=-1,c=!1,h=()=>{n.push(i.elt("TableCell",r+a,r+l,i.parser.parseInline(e.slice(a,l),r+a)))};for(let f=t;f-1)&&s++,o=!1,n&&(a>-1&&h(),n.push(i.elt("TableDelimiter",f+r,f+r+1))),a=l=-1):(c||u!=32&&u!=9)&&(a<0&&(a=f),l=f+1),c=!c&&u==92}return a>-1&&(s++,n&&h()),s}function bd(i,e){for(let t=e;t\s]*\|?(\s*:?-+:?\s*\|)+(\s*:?-+:?\s*)?$/,eo=class{constructor(){this.rows=null}nextLine(e,t,n){if(this.rows==null){this.rows=!1;let r;if((t.next==45||t.next==58||t.next==124)&&Bd.test(r=t.text.slice(t.pos))){let s=[];br(e,n.content,0,s,n.start)==br(e,r,0)&&(this.rows=[e.elt("TableHeader",n.start,n.start+n.content.length,s),e.elt("TableDelimiter",e.lineStart+t.pos,e.lineStart+t.text.length)])}}else if(this.rows){let r=[];br(e,t.text,t.pos,r,e.lineStart),this.rows.push(e.elt("TableRow",e.lineStart+t.pos,e.lineStart+t.text.length,r))}return!1}finish(e,t){return this.rows?(e.addLeafElement(t,e.elt("Table",t.start,t.start+t.content.length,this.rows)),!0):!1}},ly={defineNodes:[{name:"Table",block:!0},{name:"TableHeader",style:{"TableHeader/...":d.heading}},"TableRow",{name:"TableCell",style:d.content},{name:"TableDelimiter",style:d.processingInstruction}],parseBlock:[{name:"Table",leaf(i,e){return bd(e.content,0)?new eo:null},endLeaf(i,e,t){if(t.parsers.some(r=>r instanceof eo)||!bd(e.text,e.basePos))return!1;let n=i.peekLine();return Bd.test(n)&&br(i,e.text,e.basePos)==br(i,n,e.basePos)},before:"SetextHeading"}]},ic=class{nextLine(){return!1}finish(e,t){return e.addLeafElement(t,e.elt("Task",t.start,t.start+t.content.length,[e.elt("TaskMarker",t.start,t.start+3),...e.parser.parseInline(t.content.slice(3),t.start+3)])),!0}},cy={defineNodes:[{name:"Task",block:!0,style:d.list},{name:"TaskMarker",style:d.atom}],parseBlock:[{name:"TaskList",leaf(i,e){return/^\[[ xX]\][ \t]/.test(e.content)&&i.parentType().name=="ListItem"?new ic:null},after:"SetextHeading"}]},Sd=/(www\.)|(https?:\/\/)|([\w.+-]{1,100}@)|(mailto:|xmpp:)/gy,yd=/[\w-]+(\.[\w-]+)+(:\d+)?(\/[^\s<]*)?/gy,hy=/[\w-]+\.[\w-]+($|[/:])/,kd=/[\w.+-]+@[\w-]+(\.[\w.-]+)+/gy,xd=/\/[a-zA-Z\d@.]+/gy;function wd(i,e,t,n){let r=0;for(let s=e;s-1)return-1;let n=e+t[0].length;for(;;){let r=i[n-1],s;if(/[?!.,:*_~]/.test(r)||r==")"&&wd(i,e,n,")")>wd(i,e,n,"("))n--;else if(r==";"&&(s=/&(?:#\d+|#x[a-f\d]+|\w+);$/.exec(i.slice(e,n))))n=e+s.index;else break}return n}function Pd(i,e){kd.lastIndex=e;let t=kd.exec(i);if(!t)return-1;let n=t[0][t[0].length-1];return n=="_"||n=="-"?-1:e+t[0].length-(n=="."?1:0)}var uy={parseInline:[{name:"Autolink",parse(i,e,t){let n=t-i.offset;if(n&&/\w/.test(i.text[n-1]))return-1;Sd.lastIndex=n;let r=Sd.exec(i.text),s=-1;if(!r)return-1;if(r[1]||r[2]){if(s=fy(i.text,n+r[0].length),s>-1&&i.hasOpenLink){let o=/([^\[\]]|\[[^\]]*\])*/.exec(i.text.slice(n,s));s=n+o[0].length}}else r[3]?s=Pd(i.text,n):(s=Pd(i.text,n+r[0].length),s>-1&&r[0]=="xmpp:"&&(xd.lastIndex=s,r=xd.exec(i.text),r&&(s=r.index+r[0].length)));return s<0?-1:(i.addElement(i.elt("URL",t,s+i.offset)),s+i.offset)}}]},Ud=[ly,cy,ay,uy];function Gd(i,e,t){return(n,r,s)=>{if(r!=i||n.char(s+1)==i)return-1;let o=[n.elt(t,s,s+1)];for(let a=s+1;at%3==0).concat(this.state)}]@${this.pos}${this.score?"!"+this.score:""}`}static start(e,t,n=0){let r=e.parser.context;return new i(e,[],t,n,n,0,[],0,r?new to(r,r.start):null,0,null)}get context(){return this.curContext?this.curContext.context:null}pushState(e,t){this.stack.push(this.state,t,this.bufferBase+this.buffer.length),this.state=e}reduce(e){var t;let n=e>>19,r=e&65535,{parser:s}=this.p,o=this.reducePos=2e3&&!(!((t=this.p.parser.nodeSet.types[r])===null||t===void 0)&&t.isAnonymous)&&(c==this.p.lastBigReductionStart?(this.p.bigReductionCount++,this.p.lastBigReductionSize=h):this.p.lastBigReductionSizel;)this.stack.pop();this.reduceContext(r,c)}storeNode(e,t,n,r=4,s=!1){if(e==0&&(!this.stack.length||this.stack[this.stack.length-1]0&&this.buffer[o-4]==0&&this.buffer[o-1]>-1){if(t==n)return;if(this.buffer[o-2]>=t){this.buffer[o-2]=n;return}}}if(!s||this.pos==n)this.buffer.push(e,t,n,r);else{let o=this.buffer.length;if(o>0&&(this.buffer[o-4]!=0||this.buffer[o-1]<0)){let a=!1;for(let l=o;l>0&&this.buffer[l-2]>n;l-=4)if(this.buffer[l-1]>=0){a=!0;break}if(a)for(;o>0&&this.buffer[o-2]>n;)this.buffer[o]=this.buffer[o-4],this.buffer[o+1]=this.buffer[o-3],this.buffer[o+2]=this.buffer[o-2],this.buffer[o+3]=this.buffer[o-1],o-=4,r>4&&(r-=4)}this.buffer[o]=e,this.buffer[o+1]=t,this.buffer[o+2]=n,this.buffer[o+3]=r}}shift(e,t,n,r){if(e&131072)this.pushState(e&65535,this.pos);else if((e&262144)==0){let s=e,{parser:o}=this.p;this.pos=r;let a=o.stateFlag(s,1);!a&&(r>n||t<=o.maxNode)&&(this.reducePos=r),this.pushState(s,a?n:Math.min(n,this.reducePos)),this.shiftContext(t,n),t<=o.maxNode&&this.buffer.push(t,n,r,4)}else this.pos=r,this.shiftContext(t,n),t<=this.p.parser.maxNode&&this.buffer.push(t,n,r,4)}apply(e,t,n,r){e&65536?this.reduce(e):this.shift(e,t,n,r)}useNode(e,t){let n=this.p.reused.length-1;(n<0||this.p.reused[n]!=e)&&(this.p.reused.push(e),n++);let r=this.pos;this.reducePos=this.pos=r+e.length,this.pushState(t,r),this.buffer.push(n,r,this.reducePos,-1),this.curContext&&this.updateContext(this.curContext.tracker.reuse(this.curContext.context,e,this,this.p.stream.reset(this.pos-e.length)))}split(){let e=this,t=e.buffer.length;for(t&&e.buffer[t-4]==0&&(t-=4);t>0&&e.buffer[t-2]>e.reducePos;)t-=4;let n=e.buffer.slice(t),r=e.bufferBase+t;for(;e&&r==e.bufferBase;)e=e.parent;return new i(this.p,this.stack.slice(),this.state,this.reducePos,this.pos,this.score,n,r,this.curContext,this.lookAhead,e)}recoverByDelete(e,t){let n=e<=this.p.parser.maxNode;n&&this.storeNode(e,this.pos,t,4),this.storeNode(0,this.pos,t,n?8:4),this.pos=this.reducePos=t,this.score-=190}canShift(e){for(let t=new cc(this);;){let n=this.p.parser.stateSlot(t.state,4)||this.p.parser.hasAction(t.state,e);if(n==0)return!1;if((n&65536)==0)return!0;t.reduce(n)}}recoverByInsert(e){if(this.stack.length>=300)return[];let t=this.p.parser.nextStates(this.state);if(t.length>8||this.stack.length>=120){let r=[];for(let s=0,o;sl&1&&a==o)||r.push(t[s],o)}t=r}let n=[];for(let r=0;r>19,r=t&65535,s=this.stack.length-n*3;if(s<0||e.getGoto(this.stack[s],r,!1)<0){let o=this.findForcedReduction();if(o==null)return!1;t=o}this.storeNode(0,this.pos,this.pos,4,!0),this.score-=100}return this.reducePos=this.pos,this.reduce(t),!0}findForcedReduction(){let{parser:e}=this.p,t=[],n=(r,s)=>{if(!t.includes(r))return t.push(r),e.allActions(r,o=>{if(!(o&393216))if(o&65536){let a=(o>>19)-s;if(a>1){let l=o&65535,c=this.stack.length-a*3;if(c>=0&&e.getGoto(this.stack[c],l,!1)>=0)return a<<19|65536|l}}else{let a=n(o,s+1);if(a!=null)return a}})};return n(this.state,0)}forceAll(){for(;!this.p.parser.stateFlag(this.state,2);)if(!this.forceReduce()){this.storeNode(0,this.pos,this.pos,4,!0);break}return this}get deadEnd(){if(this.stack.length!=3)return!1;let{parser:e}=this.p;return e.data[e.stateSlot(this.state,1)]==65535&&!e.stateSlot(this.state,4)}restart(){this.storeNode(0,this.pos,this.pos,4,!0),this.state=this.stack[0],this.stack.length=0}sameState(e){if(this.state!=e.state||this.stack.length!=e.stack.length)return!1;for(let t=0;t0&&this.emitLookAhead()}},to=class{constructor(e,t){this.tracker=e,this.context=t,this.hash=e.strict?e.hash(t):0}},cc=class{constructor(e){this.start=e,this.state=e.state,this.stack=e.stack,this.base=this.stack.length}reduce(e){let t=e&65535,n=e>>19;n==0?(this.stack==this.start.stack&&(this.stack=this.stack.slice()),this.stack.push(this.state,0,0),this.base+=3):this.base-=(n-1)*3;let r=this.start.p.parser.getGoto(this.stack[this.base-3],t,!0);this.state=r}},hc=class i{constructor(e,t,n){this.stack=e,this.pos=t,this.index=n,this.buffer=e.buffer,this.index==0&&this.maybeNext()}static create(e,t=e.bufferBase+e.buffer.length){return new i(e,t,t-e.bufferBase)}maybeNext(){let e=this.stack.parent;e!=null&&(this.index=this.stack.bufferBase-e.bufferBase,this.stack=e,this.buffer=e.buffer)}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}next(){this.index-=4,this.pos-=4,this.index==0&&this.maybeNext()}fork(){return new i(this.stack,this.pos,this.index)}};function xr(i,e=Uint16Array){if(typeof i!="string")return i;let t=null;for(let n=0,r=0;n=92&&o--,o>=34&&o--;let l=o-32;if(l>=46&&(l-=46,a=!0),s+=l,a)break;s*=46}t?t[r++]=s:t=new e(s)}return t}var vn=class{constructor(){this.start=-1,this.value=-1,this.end=-1,this.extended=-1,this.lookAhead=0,this.mask=0,this.context=0}},Kd=new vn,fc=class{constructor(e,t){this.input=e,this.ranges=t,this.chunk="",this.chunkOff=0,this.chunk2="",this.chunk2Pos=0,this.next=-1,this.token=Kd,this.rangeIndex=0,this.pos=this.chunkPos=t[0].from,this.range=t[0],this.end=t[t.length-1].to,this.readNext()}resolveOffset(e,t){let n=this.range,r=this.rangeIndex,s=this.pos+e;for(;sn.to:s>=n.to;){if(r==this.ranges.length-1)return null;let o=this.ranges[++r];s+=o.from-n.to,n=o}return s}clipPos(e){if(e>=this.range.from&&ee)return Math.max(e,t.from);return this.end}peek(e){let t=this.chunkOff+e,n,r;if(t>=0&&t=this.chunk2Pos&&na.to&&(this.chunk2=this.chunk2.slice(0,a.to-n)),r=this.chunk2.charCodeAt(0)}}return n>=this.token.lookAhead&&(this.token.lookAhead=n+1),r}acceptToken(e,t=0){let n=t?this.resolveOffset(t,-1):this.pos;if(n==null||n=this.chunk2Pos&&this.posthis.range.to?e.slice(0,this.range.to-this.pos):e,this.chunkPos=this.pos,this.chunkOff=0}}readNext(){return this.chunkOff>=this.chunk.length&&(this.getChunk(),this.chunkOff==this.chunk.length)?this.next=-1:this.next=this.chunk.charCodeAt(this.chunkOff)}advance(e=1){for(this.chunkOff+=e;this.pos+e>=this.range.to;){if(this.rangeIndex==this.ranges.length-1)return this.setDone();e-=this.range.to-this.pos,this.range=this.ranges[++this.rangeIndex],this.pos=this.range.from}return this.pos+=e,this.pos>=this.token.lookAhead&&(this.token.lookAhead=this.pos+1),this.readNext()}setDone(){return this.pos=this.chunkPos=this.end,this.range=this.ranges[this.rangeIndex=this.ranges.length-1],this.chunk="",this.next=-1}reset(e,t){if(t?(this.token=t,t.start=e,t.lookAhead=e+1,t.value=t.extended=-1):this.token=Kd,this.pos!=e){if(this.pos=e,e==this.end)return this.setDone(),this;for(;e=this.range.to;)this.range=this.ranges[++this.rangeIndex];e>=this.chunkPos&&e=this.chunkPos&&t<=this.chunkPos+this.chunk.length)return this.chunk.slice(e-this.chunkPos,t-this.chunkPos);if(e>=this.chunk2Pos&&t<=this.chunk2Pos+this.chunk2.length)return this.chunk2.slice(e-this.chunk2Pos,t-this.chunk2Pos);if(e>=this.range.from&&t<=this.range.to)return this.input.read(e,t);let n="";for(let r of this.ranges){if(r.from>=t)break;r.to>e&&(n+=this.input.read(Math.max(r.from,e),Math.min(r.to,t)))}return n}},Si=class{constructor(e,t){this.data=e,this.id=t}token(e,t){let{parser:n}=t.p;np(this.data,e,t,this.id,n.data,n.tokenPrecTable)}};Si.prototype.contextual=Si.prototype.fallback=Si.prototype.extend=!1;var yi=class{constructor(e,t,n){this.precTable=t,this.elseToken=n,this.data=typeof e=="string"?xr(e):e}token(e,t){let n=e.pos,r=0;for(;;){let s=e.next<0,o=e.resolveOffset(1,1);if(np(this.data,e,t,0,this.data,this.precTable),e.token.value>-1)break;if(this.elseToken==null)return;if(s||r++,o==null)break;e.reset(o,e.token)}r&&(e.reset(n,e.token),e.acceptToken(this.elseToken,r))}};yi.prototype.contextual=Si.prototype.fallback=Si.prototype.extend=!1;var J=class{constructor(e,t={}){this.token=e,this.contextual=!!t.contextual,this.fallback=!!t.fallback,this.extend=!!t.extend}};function np(i,e,t,n,r,s){let o=0,a=1<0){let p=i[O];if(l.allows(p)&&(e.token.value==-1||e.token.value==p||dy(p,e.token.value,r,s))){e.acceptToken(p);break}}let h=e.next,f=0,u=i[o+2];if(e.next<0&&u>f&&i[c+u*3-3]==65535){o=i[c+u*3-1];continue e}for(;f>1,p=c+O+(O<<1),m=i[p],b=i[p+1]||65536;if(h=b)f=O+1;else{o=i[p+2],e.advance();continue e}}break}}function Jd(i,e,t){for(let n=e,r;(r=i[n])!=65535;n++)if(r==t)return n-e;return-1}function dy(i,e,t,n){let r=Jd(t,n,e);return r<0||Jd(t,n,i)e)&&!n.type.isError)return t<0?Math.max(0,Math.min(n.to-1,e-25)):Math.min(i.length,Math.max(n.from+1,e+25));if(t<0?n.prevSibling():n.nextSibling())break;if(!n.parent())return t<0?0:i.length}}var uc=class{constructor(e,t){this.fragments=e,this.nodeSet=t,this.i=0,this.fragment=null,this.safeFrom=-1,this.safeTo=-1,this.trees=[],this.start=[],this.index=[],this.nextFragment()}nextFragment(){let e=this.fragment=this.i==this.fragments.length?null:this.fragments[this.i++];if(e){for(this.safeFrom=e.openStart?ep(e.tree,e.from+e.offset,1)-e.offset:e.from,this.safeTo=e.openEnd?ep(e.tree,e.to+e.offset,-1)-e.offset:e.to;this.trees.length;)this.trees.pop(),this.start.pop(),this.index.pop();this.trees.push(e.tree),this.start.push(-e.offset),this.index.push(0),this.nextStart=this.safeFrom}else this.nextStart=1e9}nodeAt(e){if(ee)return this.nextStart=o,null;if(s instanceof F){if(o==e){if(o=Math.max(this.safeFrom,e)&&(this.trees.push(s),this.start.push(o),this.index.push(0))}else this.index[t]++,this.nextStart=o+s.length}}},Oc=class{constructor(e,t){this.stream=t,this.tokens=[],this.mainToken=null,this.actions=[],this.tokens=e.tokenizers.map(n=>new vn)}getActions(e){let t=0,n=null,{parser:r}=e.p,{tokenizers:s}=r,o=r.stateSlot(e.state,3),a=e.curContext?e.curContext.hash:0,l=0;for(let c=0;cf.end+25&&(l=Math.max(f.lookAhead,l)),f.value!=0)){let u=t;if(f.extended>-1&&(t=this.addActions(e,f.extended,f.end,t)),t=this.addActions(e,f.value,f.end,t),!h.extend&&(n=f,t>u))break}}for(;this.actions.length>t;)this.actions.pop();return l&&e.setLookAhead(l),!n&&e.pos==this.stream.end&&(n=new vn,n.value=e.p.parser.eofTerm,n.start=n.end=e.pos,t=this.addActions(e,n.value,n.end,t)),this.mainToken=n,this.actions}getMainToken(e){if(this.mainToken)return this.mainToken;let t=new vn,{pos:n,p:r}=e;return t.start=n,t.end=Math.min(n+1,r.stream.end),t.value=n==r.stream.end?r.parser.eofTerm:0,t}updateCachedToken(e,t,n){let r=this.stream.clipPos(n.pos);if(t.token(this.stream.reset(r,e),n),e.value>-1){let{parser:s}=n.p;for(let o=0;o=0&&n.p.parser.dialect.allows(a>>1)){(a&1)==0?e.value=a>>1:e.extended=a>>1;break}}}else e.value=0,e.end=this.stream.clipPos(r+1)}putAction(e,t,n,r){for(let s=0;se.bufferLength*4?new uc(n,e.nodeSet):null}get parsedPos(){return this.minStackPos}advance(){let e=this.stacks,t=this.minStackPos,n=this.stacks=[],r,s;if(this.bigReductionCount>300&&e.length==1){let[o]=e;for(;o.forceReduce()&&o.stack.length&&o.stack[o.stack.length-2]>=this.lastBigReductionStart;);this.bigReductionCount=this.lastBigReductionSize=0}for(let o=0;ot)n.push(a);else{if(this.advanceStack(a,n,e))continue;{r||(r=[],s=[]),r.push(a);let l=this.tokens.getMainToken(a);s.push(l.value,l.end)}}break}}if(!n.length){let o=r&&py(r);if(o)return Ke&&console.log("Finish with "+this.stackID(o)),this.stackToTree(o);if(this.parser.strict)throw Ke&&r&&console.log("Stuck with token "+(this.tokens.mainToken?this.parser.getName(this.tokens.mainToken.value):"none")),new SyntaxError("No parse at "+t);this.recovering||(this.recovering=5)}if(this.recovering&&r){let o=this.stoppedAt!=null&&r[0].pos>this.stoppedAt?r[0]:this.runRecovery(r,s,n);if(o)return Ke&&console.log("Force-finish "+this.stackID(o)),this.stackToTree(o.forceAll())}if(this.recovering){let o=this.recovering==1?1:this.recovering*3;if(n.length>o)for(n.sort((a,l)=>l.score-a.score);n.length>o;)n.pop();n.some(a=>a.reducePos>t)&&this.recovering--}else if(n.length>1){e:for(let o=0;o500&&c.buffer.length>500)if((a.score-c.score||a.buffer.length-c.buffer.length)>0)n.splice(l--,1);else{n.splice(o--,1);continue e}}}n.length>12&&(n.sort((o,a)=>a.score-o.score),n.splice(12,n.length-12))}this.minStackPos=n[0].pos;for(let o=1;o ":"";if(this.stoppedAt!=null&&r>this.stoppedAt)return e.forceReduce()?e:null;if(this.fragments){let c=e.curContext&&e.curContext.tracker.strict,h=c?e.curContext.hash:0;for(let f=this.fragments.nodeAt(r);f;){let u=this.parser.nodeSet.types[f.type.id]==f.type?s.getGoto(e.state,f.type.id):-1;if(u>-1&&f.length&&(!c||(f.prop(I.contextHash)||0)==h))return e.useNode(f,u),Ke&&console.log(o+this.stackID(e)+` (via reuse of ${s.getName(f.type.id)})`),!0;if(!(f instanceof F)||f.children.length==0||f.positions[0]>0)break;let O=f.children[0];if(O instanceof F&&f.positions[0]==0)f=O;else break}}let a=s.stateSlot(e.state,4);if(a>0)return e.reduce(a),Ke&&console.log(o+this.stackID(e)+` (via always-reduce ${s.getName(a&65535)})`),!0;if(e.stack.length>=8400)for(;e.stack.length>6e3&&e.forceReduce(););let l=this.tokens.getActions(e);for(let c=0;cr?t.push(p):n.push(p)}return!1}advanceFully(e,t){let n=e.pos;for(;;){if(!this.advanceStack(e,null,null))return!1;if(e.pos>n)return tp(e,t),!0}}runRecovery(e,t,n){let r=null,s=!1;for(let o=0;o ":"";if(a.deadEnd&&(s||(s=!0,a.restart(),Ke&&console.log(h+this.stackID(a)+" (restarted)"),this.advanceFully(a,n))))continue;let f=a.split(),u=h;for(let O=0;O<10&&f.forceReduce()&&(Ke&&console.log(u+this.stackID(f)+" (via force-reduce)"),!this.advanceFully(f,n));O++)Ke&&(u=this.stackID(f)+" -> ");for(let O of a.recoverByInsert(l))Ke&&console.log(h+this.stackID(O)+" (via recover-insert)"),this.advanceFully(O,n);this.stream.end>a.pos?(c==a.pos&&(c++,l=0),a.recoverByDelete(l,c),Ke&&console.log(h+this.stackID(a)+` (via recover-delete ${this.parser.getName(l)})`),tp(a,n)):(!r||r.scorei,dt=class{constructor(e){this.start=e.start,this.shift=e.shift||ac,this.reduce=e.reduce||ac,this.reuse=e.reuse||ac,this.hash=e.hash||(()=>0),this.strict=e.strict!==!1}},Pe=class i extends It{constructor(e){if(super(),this.wrappers=[],e.version!=14)throw new RangeError(`Parser version (${e.version}) doesn't match runtime version (14)`);let t=e.nodeNames.split(" ");this.minRepeatTerm=t.length;for(let a=0;ae.topRules[a][1]),r=[];for(let a=0;a=0)s(h,l,a[c++]);else{let f=a[c+-h];for(let u=-h;u>0;u--)s(a[c++],l,f);c++}}}this.nodeSet=new Dt(t.map((a,l)=>Oe.define({name:l>=this.minRepeatTerm?void 0:a,id:l,props:r[l],top:n.indexOf(l)>-1,error:l==0,skipped:e.skippedNodes&&e.skippedNodes.indexOf(l)>-1}))),e.propSources&&(this.nodeSet=this.nodeSet.extend(...e.propSources)),this.strict=!1,this.bufferLength=1024;let o=xr(e.tokenData);this.context=e.context,this.specializerSpecs=e.specialized||[],this.specialized=new Uint16Array(this.specializerSpecs.length);for(let a=0;atypeof a=="number"?new Si(o,a):a),this.topRules=e.topRules,this.dialects=e.dialects||{},this.dynamicPrecedences=e.dynamicPrecedences||null,this.tokenPrecTable=e.tokenPrec,this.termNames=e.termNames||null,this.maxNode=this.nodeSet.types.length-1,this.dialect=this.parseDialect(),this.top=this.topRules[Object.keys(this.topRules)[0]]}createParse(e,t,n){let r=new dc(this,e,t,n);for(let s of this.wrappers)r=s(r,e,t,n);return r}getGoto(e,t,n=!1){let r=this.goto;if(t>=r[0])return-1;for(let s=r[t+1];;){let o=r[s++],a=o&1,l=r[s++];if(a&&n)return l;for(let c=s+(o>>1);s0}validAction(e,t){return!!this.allActions(e,n=>n==t?!0:null)}allActions(e,t){let n=this.stateSlot(e,4),r=n?t(n):void 0;for(let s=this.stateSlot(e,1);r==null;s+=3){if(this.data[s]==65535)if(this.data[s+1]==1)s=Ut(this.data,s+2);else break;r=t(Ut(this.data,s+1))}return r}nextStates(e){let t=[];for(let n=this.stateSlot(e,1);;n+=3){if(this.data[n]==65535)if(this.data[n+1]==1)n=Ut(this.data,n+2);else break;if((this.data[n+2]&1)==0){let r=this.data[n+1];t.some((s,o)=>o&1&&s==r)||t.push(this.data[n],r)}}return t}configure(e){let t=Object.assign(Object.create(i.prototype),this);if(e.props&&(t.nodeSet=this.nodeSet.extend(...e.props)),e.top){let n=this.topRules[e.top];if(!n)throw new RangeError(`Invalid top rule name ${e.top}`);t.top=n}return e.tokenizers&&(t.tokenizers=this.tokenizers.map(n=>{let r=e.tokenizers.find(s=>s.from==n);return r?r.to:n})),e.specializers&&(t.specializers=this.specializers.slice(),t.specializerSpecs=this.specializerSpecs.map((n,r)=>{let s=e.specializers.find(a=>a.from==n.external);if(!s)return n;let o=Object.assign(Object.assign({},n),{external:s.to});return t.specializers[r]=ip(o),o})),e.contextTracker&&(t.context=e.contextTracker),e.dialect&&(t.dialect=this.parseDialect(e.dialect)),e.strict!=null&&(t.strict=e.strict),e.wrap&&(t.wrappers=t.wrappers.concat(e.wrap)),e.bufferLength!=null&&(t.bufferLength=e.bufferLength),t}hasWrappers(){return this.wrappers.length>0}getName(e){return this.termNames?this.termNames[e]:String(e<=this.maxNode&&this.nodeSet.types[e].name||e)}get eofTerm(){return this.maxNode+1}get topNode(){return this.nodeSet.types[this.top[1]]}dynamicPrecedence(e){let t=this.dynamicPrecedences;return t==null?0:t[e]||0}parseDialect(e){let t=Object.keys(this.dialects),n=t.map(()=>!1);if(e)for(let s of e.split(" ")){let o=t.indexOf(s);o>=0&&(n[o]=!0)}let r=null;for(let s=0;sn)&&t.p.parser.stateFlag(t.state,2)&&(!e||e.scorei.external(t,n)<<1|e}return i.get}var my=55,gy=1,Qy=56,by=2,Sy=57,yy=3,rp=4,ky=5,Sc=6,up=7,Op=8,dp=9,pp=10,xy=11,wy=12,Py=13,mc=58,vy=14,$y=15,sp=59,mp=21,Ty=23,gp=24,Cy=25,Qc=27,Qp=28,Xy=29,_y=32,Ry=35,Ay=37,Zy=38,Ey=0,qy=1,zy={area:!0,base:!0,br:!0,col:!0,command:!0,embed:!0,frame:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0,menuitem:!0},Ly={dd:!0,li:!0,optgroup:!0,option:!0,p:!0,rp:!0,rt:!0,tbody:!0,td:!0,tfoot:!0,th:!0,tr:!0},op={dd:{dd:!0,dt:!0},dt:{dd:!0,dt:!0},li:{li:!0},option:{option:!0,optgroup:!0},optgroup:{optgroup:!0},p:{address:!0,article:!0,aside:!0,blockquote:!0,dir:!0,div:!0,dl:!0,fieldset:!0,footer:!0,form:!0,h1:!0,h2:!0,h3:!0,h4:!0,h5:!0,h6:!0,header:!0,hgroup:!0,hr:!0,menu:!0,nav:!0,ol:!0,p:!0,pre:!0,section:!0,table:!0,ul:!0},rp:{rp:!0,rt:!0},rt:{rp:!0,rt:!0},tbody:{tbody:!0,tfoot:!0},td:{td:!0,th:!0},tfoot:{tbody:!0},th:{td:!0,th:!0},thead:{tbody:!0,tfoot:!0},tr:{tr:!0}};function My(i){return i==45||i==46||i==58||i>=65&&i<=90||i==95||i>=97&&i<=122||i>=161}var ap=null,lp=null,cp=0;function bc(i,e){let t=i.pos+e;if(cp==t&&lp==i)return ap;let n=i.peek(e),r="";for(;My(n);)r+=String.fromCharCode(n),n=i.peek(++e);return lp=i,cp=t,ap=r?r.toLowerCase():n==Wy||n==jy?void 0:null}var bp=60,io=62,yc=47,Wy=63,jy=33,Vy=45;function hp(i,e){this.name=i,this.parent=e}var Dy=[Sc,pp,up,Op,dp],Yy=new dt({start:null,shift(i,e,t,n){return Dy.indexOf(e)>-1?new hp(bc(n,1)||"",i):i},reduce(i,e){return e==mp&&i?i.parent:i},reuse(i,e,t,n){let r=e.type.id;return r==Sc||r==Ay?new hp(bc(n,1)||"",i):i},strict:!1}),Iy=new J((i,e)=>{if(i.next!=bp){i.next<0&&e.context&&i.acceptToken(mc);return}i.advance();let t=i.next==yc;t&&i.advance();let n=bc(i,0);if(n===void 0)return;if(!n)return i.acceptToken(t?$y:vy);let r=e.context?e.context.name:null;if(t){if(n==r)return i.acceptToken(xy);if(r&&Ly[r])return i.acceptToken(mc,-2);if(e.dialectEnabled(Ey))return i.acceptToken(wy);for(let s=e.context;s;s=s.parent)if(s.name==n)return;i.acceptToken(Py)}else{if(n=="script")return i.acceptToken(up);if(n=="style")return i.acceptToken(Op);if(n=="textarea")return i.acceptToken(dp);if(zy.hasOwnProperty(n))return i.acceptToken(pp);r&&op[r]&&op[r][n]?i.acceptToken(mc,-1):i.acceptToken(Sc)}},{contextual:!0}),By=new J(i=>{for(let e=0,t=0;;t++){if(i.next<0){t&&i.acceptToken(sp);break}if(i.next==Vy)e++;else if(i.next==io&&e>=2){t>=3&&i.acceptToken(sp,-2);break}else e=0;i.advance()}});function Uy(i){for(;i;i=i.parent)if(i.name=="svg"||i.name=="math")return!0;return!1}var Gy=new J((i,e)=>{if(i.next==yc&&i.peek(1)==io){let t=e.dialectEnabled(qy)||Uy(e.context);i.acceptToken(t?ky:rp,2)}else i.next==io&&i.acceptToken(rp,1)});function kc(i,e,t){let n=2+i.length;return new J(r=>{for(let s=0,o=0,a=0;;a++){if(r.next<0){a&&r.acceptToken(e);break}if(s==0&&r.next==bp||s==1&&r.next==yc||s>=2&&so?r.acceptToken(e,-o):r.acceptToken(t,-(o-2));break}else if((r.next==10||r.next==13)&&a){r.acceptToken(e,1);break}else s=o=0;r.advance()}})}var Ny=kc("script",my,gy),Fy=kc("style",Qy,by),Hy=kc("textarea",Sy,yy),Ky=Qe({"Text RawText IncompleteTag IncompleteCloseTag":d.content,"StartTag StartCloseTag SelfClosingEndTag EndTag":d.angleBracket,TagName:d.tagName,"MismatchedCloseTag/TagName":[d.tagName,d.invalid],AttributeName:d.attributeName,"AttributeValue UnquotedAttributeValue":d.attributeValue,Is:d.definitionOperator,"EntityReference CharacterReference":d.character,Comment:d.blockComment,ProcessingInst:d.processingInstruction,DoctypeDecl:d.documentMeta}),Sp=Pe.deserialize({version:14,states:",xOVO!rOOO!ZQ#tO'#CrO!`Q#tO'#C{O!eQ#tO'#DOO!jQ#tO'#DRO!oQ#tO'#DTO!tOaO'#CqO#PObO'#CqO#[OdO'#CqO$kO!rO'#CqOOO`'#Cq'#CqO$rO$fO'#DUO$zQ#tO'#DWO%PQ#tO'#DXOOO`'#Dl'#DlOOO`'#DZ'#DZQVO!rOOO%UQ&rO,59^O%aQ&rO,59gO%lQ&rO,59jO%wQ&rO,59mO&SQ&rO,59oOOOa'#D_'#D_O&_OaO'#CyO&jOaO,59]OOOb'#D`'#D`O&rObO'#C|O&}ObO,59]OOOd'#Da'#DaO'VOdO'#DPO'bOdO,59]OOO`'#Db'#DbO'jO!rO,59]O'qQ#tO'#DSOOO`,59],59]OOOp'#Dc'#DcO'vO$fO,59pOOO`,59p,59pO(OQ#|O,59rO(TQ#|O,59sOOO`-E7X-E7XO(YQ&rO'#CtOOQW'#D['#D[O(hQ&rO1G.xOOOa1G.x1G.xOOO`1G/Z1G/ZO(sQ&rO1G/ROOOb1G/R1G/RO)OQ&rO1G/UOOOd1G/U1G/UO)ZQ&rO1G/XOOO`1G/X1G/XO)fQ&rO1G/ZOOOa-E7]-E7]O)qQ#tO'#CzOOO`1G.w1G.wOOOb-E7^-E7^O)vQ#tO'#C}OOOd-E7_-E7_O){Q#tO'#DQOOO`-E7`-E7`O*QQ#|O,59nOOOp-E7a-E7aOOO`1G/[1G/[OOO`1G/^1G/^OOO`1G/_1G/_O*VQ,UO,59`OOQW-E7Y-E7YOOOa7+$d7+$dOOO`7+$u7+$uOOOb7+$m7+$mOOOd7+$p7+$pOOO`7+$s7+$sO*bQ#|O,59fO*gQ#|O,59iO*lQ#|O,59lOOO`1G/Y1G/YO*qO7[O'#CwO+SOMhO'#CwOOQW1G.z1G.zOOO`1G/Q1G/QOOO`1G/T1G/TOOO`1G/W1G/WOOOO'#D]'#D]O+eO7[O,59cOOQW,59c,59cOOOO'#D^'#D^O+vOMhO,59cOOOO-E7Z-E7ZOOQW1G.}1G.}OOOO-E7[-E7[",stateData:",c~O!_OS~OUSOVPOWQOXROYTO[]O][O^^O_^Oa^Ob^Oc^Od^Oy^O|_O!eZO~OgaO~OgbO~OgcO~OgdO~OgeO~O!XfOPmP![mP~O!YiOQpP![pP~O!ZlORsP![sP~OUSOVPOWQOXROYTOZqO[]O][O^^O_^Oa^Ob^Oc^Od^Oy^O!eZO~O![rO~P#gO!]sO!fuO~OgvO~OgwO~OS|OT}OiyO~OS!POT}OiyO~OS!ROT}OiyO~OS!TOT}OiyO~OS}OT}OiyO~O!XfOPmX![mX~OP!WO![!XO~O!YiOQpX![pX~OQ!ZO![!XO~O!ZlORsX![sX~OR!]O![!XO~O![!XO~P#gOg!_O~O!]sO!f!aO~OS!bO~OS!cO~Oj!dOShXThXihX~OS!fOT!gOiyO~OS!hOT!gOiyO~OS!iOT!gOiyO~OS!jOT!gOiyO~OS!gOT!gOiyO~Og!kO~Og!lO~Og!mO~OS!nO~Ol!qO!a!oO!c!pO~OS!rO~OS!sO~OS!tO~Ob!uOc!uOd!uO!a!wO!b!uO~Ob!xOc!xOd!xO!c!wO!d!xO~Ob!uOc!uOd!uO!a!{O!b!uO~Ob!xOc!xOd!xO!c!{O!d!xO~OT~cbd!ey|!e~",goto:"%q!aPPPPPPPPPPPPPPPPPPPPP!b!hP!nPP!zP!}#Q#T#Z#^#a#g#j#m#s#y!bP!b!bP$P$V$m$s$y%P%V%]%cPPPPPPPP%iX^OX`pXUOX`pezabcde{!O!Q!S!UR!q!dRhUR!XhXVOX`pRkVR!XkXWOX`pRnWR!XnXXOX`pQrXR!XpXYOX`pQ`ORx`Q{aQ!ObQ!QcQ!SdQ!UeZ!e{!O!Q!S!UQ!v!oR!z!vQ!y!pR!|!yQgUR!VgQjVR!YjQmWR![mQpXR!^pQtZR!`tS_O`ToXp",nodeNames:"\u26A0 StartCloseTag StartCloseTag StartCloseTag EndTag SelfClosingEndTag StartTag StartTag StartTag StartTag StartTag StartCloseTag StartCloseTag StartCloseTag IncompleteTag IncompleteCloseTag Document Text EntityReference CharacterReference InvalidEntity Element OpenTag TagName Attribute AttributeName Is AttributeValue UnquotedAttributeValue ScriptText CloseTag OpenTag StyleText CloseTag OpenTag TextareaText CloseTag OpenTag CloseTag SelfClosingTag Comment ProcessingInst MismatchedCloseTag CloseTag DoctypeDecl",maxTerm:68,context:Yy,nodeProps:[["closedBy",-10,1,2,3,7,8,9,10,11,12,13,"EndTag",6,"EndTag SelfClosingEndTag",-4,22,31,34,37,"CloseTag"],["openedBy",4,"StartTag StartCloseTag",5,"StartTag",-4,30,33,36,38,"OpenTag"],["group",-10,14,15,18,19,20,21,40,41,42,43,"Entity",17,"Entity TextContent",-3,29,32,35,"TextContent Entity"],["isolate",-11,22,30,31,33,34,36,37,38,39,42,43,"ltr",-3,27,28,40,""]],propSources:[Ky],skippedNodes:[0],repeatNodeCount:9,tokenData:"!]tw8twx7Sx!P8t!P!Q5u!Q!]8t!]!^/^!^!a7S!a#S8t#S#T;{#T#s8t#s$f5u$f;'S8t;'S;=`>V<%l?Ah8t?Ah?BY5u?BY?Mn8t?MnO5u!Z5zblWOX5uXZ7SZ[5u[^7S^p5uqr5urs7Sst+Ptw5uwx7Sx!]5u!]!^7w!^!a7S!a#S5u#S#T7S#T;'S5u;'S;=`8n<%lO5u!R7VVOp7Sqs7St!]7S!]!^7l!^;'S7S;'S;=`7q<%lO7S!R7qOb!R!R7tP;=`<%l7S!Z8OYlWb!ROX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+P!Z8qP;=`<%l5u!_8{iiSlWOX5uXZ7SZ[5u[^7S^p5uqr8trs7Sst/^tw8twx7Sx!P8t!P!Q5u!Q!]8t!]!^:j!^!a7S!a#S8t#S#T;{#T#s8t#s$f5u$f;'S8t;'S;=`>V<%l?Ah8t?Ah?BY5u?BY?Mn8t?MnO5u!_:sbiSlWb!ROX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+P!VP<%l?Ah;{?Ah?BY7S?BY?Mn;{?MnO7S!V=dXiSb!Rqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0m!V>SP;=`<%l;{!_>YP;=`<%l8t!_>dhiSlWOX@OXZAYZ[@O[^AY^p@OqrBwrsAYswBwwxAYx!PBw!P!Q@O!Q!]Bw!]!^/^!^!aAY!a#SBw#S#TE{#T#sBw#s$f@O$f;'SBw;'S;=`HS<%l?AhBw?Ah?BY@O?BY?MnBw?MnO@O!Z@TalWOX@OXZAYZ[@O[^AY^p@Oqr@OrsAYsw@OwxAYx!]@O!]!^Az!^!aAY!a#S@O#S#TAY#T;'S@O;'S;=`Bq<%lO@O!RA]UOpAYq!]AY!]!^Ao!^;'SAY;'S;=`At<%lOAY!RAtOc!R!RAwP;=`<%lAY!ZBRYlWc!ROX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+P!ZBtP;=`<%l@O!_COhiSlWOX@OXZAYZ[@O[^AY^p@OqrBwrsAYswBwwxAYx!PBw!P!Q@O!Q!]Bw!]!^Dj!^!aAY!a#SBw#S#TE{#T#sBw#s$f@O$f;'SBw;'S;=`HS<%l?AhBw?Ah?BY@O?BY?MnBw?MnO@O!_DsbiSlWc!ROX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+P!VFQbiSOpAYqrE{rsAYswE{wxAYx!PE{!P!QAY!Q!]E{!]!^GY!^!aAY!a#sE{#s$fAY$f;'SE{;'S;=`G|<%l?AhE{?Ah?BYAY?BY?MnE{?MnOAY!VGaXiSc!Rqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0m!VHPP;=`<%lE{!_HVP;=`<%lBw!ZHcW!cxaP!b`Or(trs'ksv(tw!^(t!^!_)e!_;'S(t;'S;=`*P<%lO(t!aIYliSaPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx}-_}!OKQ!O!P-_!P!Q$q!Q!^-_!^!_*V!_!a&X!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q!aK_kiSaPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx!P-_!P!Q$q!Q!^-_!^!_*V!_!`&X!`!aMS!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q!TM_XaP!b`!dp!fQOr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&X!aNZ!ZiSgQaPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx}-_}!OMz!O!PMz!P!Q$q!Q![Mz![!]Mz!]!^-_!^!_*V!_!a&X!a!c-_!c!}Mz!}#R-_#R#SMz#S#T1k#T#oMz#o#s-_#s$f$q$f$}-_$}%OMz%O%W-_%W%oMz%o%p-_%p&aMz&a&b-_&b1pMz1p4UMz4U4dMz4d4e-_4e$ISMz$IS$I`-_$I`$IbMz$Ib$Je-_$Je$JgMz$Jg$Kh-_$Kh%#tMz%#t&/x-_&/x&EtMz&Et&FV-_&FV;'SMz;'S;:j!#|;:j;=`3X<%l?&r-_?&r?AhMz?Ah?BY$q?BY?MnMz?MnO$q!a!$PP;=`<%lMz!R!$ZY!b`!dpOq*Vqr!$yrs(Vsv*Vwx)ex!a*V!a!b!4t!b;'S*V;'S;=`*s<%lO*V!R!%Q]!b`!dpOr*Vrs(Vsv*Vwx)ex}*V}!O!%y!O!f*V!f!g!']!g#W*V#W#X!0`#X;'S*V;'S;=`*s<%lO*V!R!&QX!b`!dpOr*Vrs(Vsv*Vwx)ex}*V}!O!&m!O;'S*V;'S;=`*s<%lO*V!R!&vV!b`!dp!ePOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!'dX!b`!dpOr*Vrs(Vsv*Vwx)ex!q*V!q!r!(P!r;'S*V;'S;=`*s<%lO*V!R!(WX!b`!dpOr*Vrs(Vsv*Vwx)ex!e*V!e!f!(s!f;'S*V;'S;=`*s<%lO*V!R!(zX!b`!dpOr*Vrs(Vsv*Vwx)ex!v*V!v!w!)g!w;'S*V;'S;=`*s<%lO*V!R!)nX!b`!dpOr*Vrs(Vsv*Vwx)ex!{*V!{!|!*Z!|;'S*V;'S;=`*s<%lO*V!R!*bX!b`!dpOr*Vrs(Vsv*Vwx)ex!r*V!r!s!*}!s;'S*V;'S;=`*s<%lO*V!R!+UX!b`!dpOr*Vrs(Vsv*Vwx)ex!g*V!g!h!+q!h;'S*V;'S;=`*s<%lO*V!R!+xY!b`!dpOr!+qrs!,hsv!+qvw!-Swx!.[x!`!+q!`!a!/j!a;'S!+q;'S;=`!0Y<%lO!+qq!,mV!dpOv!,hvx!-Sx!`!,h!`!a!-q!a;'S!,h;'S;=`!.U<%lO!,hP!-VTO!`!-S!`!a!-f!a;'S!-S;'S;=`!-k<%lO!-SP!-kO|PP!-nP;=`<%l!-Sq!-xS!dp|POv(Vx;'S(V;'S;=`(h<%lO(Vq!.XP;=`<%l!,ha!.aX!b`Or!.[rs!-Ssv!.[vw!-Sw!`!.[!`!a!.|!a;'S!.[;'S;=`!/d<%lO!.[a!/TT!b`|POr)esv)ew;'S)e;'S;=`)y<%lO)ea!/gP;=`<%l!.[!R!/sV!b`!dp|POr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!0]P;=`<%l!+q!R!0gX!b`!dpOr*Vrs(Vsv*Vwx)ex#c*V#c#d!1S#d;'S*V;'S;=`*s<%lO*V!R!1ZX!b`!dpOr*Vrs(Vsv*Vwx)ex#V*V#V#W!1v#W;'S*V;'S;=`*s<%lO*V!R!1}X!b`!dpOr*Vrs(Vsv*Vwx)ex#h*V#h#i!2j#i;'S*V;'S;=`*s<%lO*V!R!2qX!b`!dpOr*Vrs(Vsv*Vwx)ex#m*V#m#n!3^#n;'S*V;'S;=`*s<%lO*V!R!3eX!b`!dpOr*Vrs(Vsv*Vwx)ex#d*V#d#e!4Q#e;'S*V;'S;=`*s<%lO*V!R!4XX!b`!dpOr*Vrs(Vsv*Vwx)ex#X*V#X#Y!+q#Y;'S*V;'S;=`*s<%lO*V!R!4{Y!b`!dpOr!4trs!5ksv!4tvw!6Vwx!8]x!a!4t!a!b!:]!b;'S!4t;'S;=`!;r<%lO!4tq!5pV!dpOv!5kvx!6Vx!a!5k!a!b!7W!b;'S!5k;'S;=`!8V<%lO!5kP!6YTO!a!6V!a!b!6i!b;'S!6V;'S;=`!7Q<%lO!6VP!6lTO!`!6V!`!a!6{!a;'S!6V;'S;=`!7Q<%lO!6VP!7QOyPP!7TP;=`<%l!6Vq!7]V!dpOv!5kvx!6Vx!`!5k!`!a!7r!a;'S!5k;'S;=`!8V<%lO!5kq!7yS!dpyPOv(Vx;'S(V;'S;=`(h<%lO(Vq!8YP;=`<%l!5ka!8bX!b`Or!8]rs!6Vsv!8]vw!6Vw!a!8]!a!b!8}!b;'S!8];'S;=`!:V<%lO!8]a!9SX!b`Or!8]rs!6Vsv!8]vw!6Vw!`!8]!`!a!9o!a;'S!8];'S;=`!:V<%lO!8]a!9vT!b`yPOr)esv)ew;'S)e;'S;=`)y<%lO)ea!:YP;=`<%l!8]!R!:dY!b`!dpOr!4trs!5ksv!4tvw!6Vwx!8]x!`!4t!`!a!;S!a;'S!4t;'S;=`!;r<%lO!4t!R!;]V!b`!dpyPOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!;uP;=`<%l!4t!V!{let c=a.type.id;if(c==Xy)return gc(a,l,t);if(c==_y)return gc(a,l,n);if(c==Ry)return gc(a,l,r);if(c==mp&&s.length){let h=a.node,f=h.firstChild,u=f&&fp(f,l),O;if(u){for(let p of s)if(p.tag==u&&(!p.attrs||p.attrs(O||(O=yp(f,l))))){let m=h.lastChild,b=m.type.id==Zy?m.from:h.to;if(b>f.to)return{parser:p.parser,overlay:[{from:f.to,to:b}]}}}}if(o&&c==gp){let h=a.node,f;if(f=h.firstChild){let u=o[l.read(f.from,f.to)];if(u)for(let O of u){if(O.tagName&&O.tagName!=fp(h.parent,l))continue;let p=h.lastChild;if(p.type.id==Qc){let m=p.from+1,b=p.lastChild,g=p.to-(b&&b.isError?0:1);if(g>m)return{parser:O.parser,overlay:[{from:m,to:g}],bracketed:!0}}else if(p.type.id==Qp)return{parser:O.parser,overlay:[{from:p.from,to:p.to}]}}}}return null})}var Jy=145,kp=1,ek=146,tk=147,wp=2,ik=148,nk=3,rk=4,Pp=[9,10,11,12,13,32,133,160,5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8232,8233,8239,8287,12288],sk=58,ok=40,vp=95,ak=91,no=45,lk=46,ck=35,hk=37,fk=38,uk=92,Ok=10,dk=42;function wr(i){return i>=65&&i<=90||i>=97&&i<=122||i>=161}function wc(i){return i>=48&&i<=57}function xp(i){return wc(i)||i>=97&&i<=102||i>=65&&i<=70}var $p=(i,e,t)=>(n,r)=>{for(let s=!1,o=0,a=0;;a++){let{next:l}=n;if(wr(l)||l==no||l==vp||s&&wc(l))!s&&(l!=no||a>0)&&(s=!0),o===a&&l==no&&o++,n.advance();else if(l==uk&&n.peek(1)!=Ok){if(n.advance(),xp(n.next)){do n.advance();while(xp(n.next));n.next==32&&n.advance()}else n.next>-1&&n.advance();s=!0}else{s&&n.acceptToken(o==2&&r.canShift(wp)?e:l==ok?t:i);break}}},pk=new J($p(ek,wp,tk),{contextual:!0}),mk=new J($p(ik,nk,rk),{contextual:!0}),gk=new J(i=>{if(Pp.includes(i.peek(-1))){let{next:e}=i;(wr(e)||e==vp||e==ck||e==lk||e==dk||e==ak||e==sk&&wr(i.peek(1))||e==no||e==fk)&&i.acceptToken(Jy)}}),Qk=new J(i=>{if(!Pp.includes(i.peek(-1))){let{next:e}=i;if(e==hk&&(i.advance(),i.acceptToken(kp)),wr(e)){do i.advance();while(wr(i.next)||wc(i.next));i.acceptToken(kp)}}}),bk=Qe({"AtKeyword import charset namespace keyframes media supports font-feature-values":d.definitionKeyword,"from to selector scope MatchFlag":d.keyword,NamespaceName:d.namespace,KeyframeName:d.labelName,KeyframeRangeName:d.operatorKeyword,TagName:d.tagName,ClassName:d.className,PseudoClassName:d.constant(d.className),IdName:d.labelName,"FeatureName PropertyName":d.propertyName,AttributeName:d.attributeName,NumberLiteral:d.number,KeywordQuery:d.keyword,UnaryQueryOp:d.operatorKeyword,"CallTag ValueName FontName":d.atom,VariableName:d.variableName,Callee:d.operatorKeyword,Unit:d.unit,"UniversalSelector NestingSelector":d.definitionOperator,"MatchOp CompareOp":d.compareOperator,"ChildOp SiblingOp, LogicOp":d.logicOperator,BinOp:d.arithmeticOperator,Important:d.modifier,Comment:d.blockComment,ColorLiteral:d.color,"ParenthesizedContent StringLiteral":d.string,":":d.punctuation,"PseudoOp #":d.derefOperator,"; , |":d.separator,"( )":d.paren,"[ ]":d.squareBracket,"{ }":d.brace}),Sk={__proto__:null,lang:44,"nth-child":44,"nth-last-child":44,"nth-of-type":44,"nth-last-of-type":44,dir:44,"host-context":44,if:90,url:152,"url-prefix":152,domain:152,regexp:152},yk={__proto__:null,or:104,and:104,not:112,only:112,layer:206},kk={__proto__:null,selector:118,style:124,layer:202},xk={__proto__:null,"@import":198,"@media":210,"@charset":214,"@namespace":218,"@keyframes":224,"@supports":236,"@scope":240,"@font-feature-values":246},wk={__proto__:null,to:243},Tp=Pe.deserialize({version:14,states:"MlQYQdOOO#}QdOOP$UO`OOO%OQaO'#CfOOQP'#Ce'#CeO%VQdO'#CgO%[Q`O'#CgO%aQaO'#FnO&XQdO'#CkO&xQaO'#CcO'SQdO'#CnO'_QdO'#EOO'dQdO'#EQO'oQdO'#EXO'oQdO'#E[OOQP'#Fn'#FnO)RQhO'#E}OOQS'#Fm'#FmOOQS'#FQ'#FQQYQdOOO)YQdO'#EbO*iQhO'#EhO)YQdO'#EjO*pQdO'#ElO*{QdO'#EoO)}QhO'#EuO+TQdO'#EwO+`QdO'#EzO+eQaO'#CfO+lQ`O'#E_O+qQ`O'#F{O+|QdO'#F{QOQ`OOP,WO&jO'#CaPOOO)CA])CA]OOQP'#Ci'#CiOOQP,59R,59RO%VQdO,59ROOQP'#Cm'#CmOOQP,59V,59VO&XQdO,59VO,cQdO,59YO'_QdO,5:jO'dQdO,5:lO'oQdO,5:sO'oQdO,5:uO'oQdO,5:vO'oQdO'#FXO,nQ`O,58}O,vQdO'#E^OOQS,58},58}OOQP'#Cq'#CqOOQO'#D|'#D|OOQP,59Y,59YO,}Q`O,59YO-SQ`O,59YOOQP'#EP'#EPOOQP,5:j,5:jO-XQpO'#ERO-dQdO'#ESO-iQ`O'#ESO-nQpO,5:lO.XQaO,5:sO.oQaO,5:vOOQW'#D^'#D^O/nQhO'#DgO0RQhO,5;iO)}QhO'#DeO0`Q`O'#DnO0eQhO'#DxOOQW'#Ft'#FtOOQS,5;i,5;iO0jQ`O'#DhO0oQ`O'#DkOOQS-E9O-E9OOOQ['#Cv'#CvO0tQdO'#CwO1[QdO'#C}O1rQdO'#DQO2YQ!pO'#DSO4fQ!jO,5:|OOQO'#DX'#DXO-SQ`O'#DWO4vQ!nO'#FqO6|Q`O'#DYO7RQ`O'#DyOOQ['#Fq'#FqO7WQhO'#GOO7fQ`O,5;SO7kQ!bO,5;UOOQS'#En'#EnO7sQ`O,5;WO7xQdO,5;WOOQO'#Eq'#EqO8QQ`O,5;ZO8VQhO,5;aO'oQdO'#DjOOQS,5;c,5;cO0jQ`O,5;cO8_QdO,5;cOOQS'#F`'#F`O8gQdO'#E|O7fQ`O,5;fO8oQdO,5:yO9PQdO'#FZO9^Q`O,5lQhO'#DoOOQW,5:Y,5:YOOQW,5:d,5:dOOQW,5:S,5:SO>vQhO,5:VO?bQ!fO'#FrOOQS'#Fr'#FrOOQS'#FS'#FSO@rQdO,59cOOQ[,59c,59cOAYQdO,59iOOQ[,59i,59iOApQdO,59lOOQ[,59l,59lOOQ[,59n,59nO)YQdO,59pOBWQhO'#EdOOQW'#Ed'#EdOBuQ`O1G0hO4oQhO1G0hOOQ[,59r,59rO)}QhO'#D[OOQ[,59t,59tOBzQ#tO,5:eOCVQhO'#F]OCdQ`O,5vQhO'#DmOI_QhO'#DqOIgQhO'#DsOIlQhO'#FwOOQO'#Fw'#FwOItQ!bO'#DwOOQO'#Fy'#FyOOQO'#Fv'#FvOIyQ`O1G/qOOQS-E9Q-E9QOOQ[1G.}1G.}OOQ[1G/T1G/TOOQ[1G/W1G/WOOQ[1G/[1G/[OJOQdO,5;OOOQS7+&S7+&SOJTQ`O7+&SOJYQhO'#D]OJbQ`O,59vO)}QhO,59vOOQ[1G0P1G0POJjQ`O1G0POJoQhO,5;wOOQO-E9Z-E9ZOOQS7+&^7+&^OJ}QbO'#DSOOQO'#Et'#EtOK]Q`O'#EsOOQO'#Es'#EsOKhQ`O'#F^OKpQdO,5;^OOQS,5;^,5;^OOQ[1G/p1G/pOOQS7+&i7+&iO7fQ`O7+&iOK{Q!fO'#FYO)YQdO'#FYOMSQdO7+&POOQO7+&P7+&POOQO,5:{,5:{OOQO1G1a1G1aOMgQ!bO<vQhO'#DrOOQO,5:],5:]O! hQhO,5:_OGUQhO,5:cOOQW7+%]7+%]OOQO'#Ef'#EfO! pQ`O1G0jOOQS<xAN>xO!#zQ`OAN>xO!$PQaO,5;rOOQO-E9U-E9UO!$ZQdO,5;qOOQO-E9T-E9TOOQW<vQhO'#DuOOQO1G/y1G/yO!%vQ!bO1G/}OJOQdO'#F[O!&OQ`O7+&UOOQW7+&U7+&UO!&WQ!bO1G/cOOQ[7+$|7+$|O!&cQhO7+$|P!&jQ`O'#FTOOQO,5;y,5;yOOQO-E9]-E9]OOQS1G1d1G1dOOQPG24dG24dO!&oQ`OAN>ZO)YQdO1G1[O!&tQ`O7+'jOOQO1G/x1G/xO!&|Q`O,5:aO!$eQhO7+%iOOQO,5;v,5;vOOQO-E9Y-E9YOOQW<Q!]!^>|!^!_?_!_!`@Z!`!a@n!a!b%Z!b!cAo!c!k%Z!k!lC|!l!u%Z!u!vC|!v!}%Z!}#OD_#O#P%Z#P#QDp#Q#R2X#R#]%Z#]#^ER#^#g%Z#g#hC|#h#o%Z#o#pIf#p#qIw#q#rJ`#r#sJq#s#y%Z#y#z&R#z$f%Z$f$g&R$g#BY%Z#BY#BZ&R#BZ$IS%Z$IS$I_&R$I_$I|%Z$I|$JO&R$JO$JT%Z$JT$JU&R$JU$KV%Z$KV$KW&R$KW&FU%Z&FU&FV&R&FV;'S%Z;'S;=`KY<%lO%Z`%^SOy%jz;'S%j;'S;=`%{<%lO%j`%oS!o`Oy%jz;'S%j;'S;=`%{<%lO%j`&OP;=`<%l%j~&Wh$[~OX%jX^'r^p%jpq'rqy%jz#y%j#y#z'r#z$f%j$f$g'r$g#BY%j#BY#BZ'r#BZ$IS%j$IS$I_'r$I_$I|%j$I|$JO'r$JO$JT%j$JT$JU'r$JU$KV%j$KV$KW'r$KW&FU%j&FU&FV'r&FV;'S%j;'S;=`%{<%lO%j~'yh$[~!o`OX%jX^'r^p%jpq'rqy%jz#y%j#y#z'r#z$f%j$f$g'r$g#BY%j#BY#BZ'r#BZ$IS%j$IS$I_'r$I_$I|%j$I|$JO'r$JO$JT%j$JT$JU'r$JU$KV%j$KV$KW'r$KW&FU%j&FU&FV'r&FV;'S%j;'S;=`%{<%lO%jj)jS$qYOy%jz;'S%j;'S;=`%{<%lO%j~)yWOY)vZr)vrs*cs#O)v#O#P*h#P;'S)v;'S;=`+d<%lO)v~*hOw~~*kRO;'S)v;'S;=`*t;=`O)v~*wXOY)vZr)vrs*cs#O)v#O#P*h#P;'S)v;'S;=`+d;=`<%l)v<%lO)v~+gP;=`<%l)vj+oYmYOy%jz!Q%j!Q![,_![!c%j!c!i,_!i#T%j#T#Z,_#Z;'S%j;'S;=`%{<%lO%jj,dY!o`Oy%jz!Q%j!Q![-S![!c%j!c!i-S!i#T%j#T#Z-S#Z;'S%j;'S;=`%{<%lO%jj-XY!o`Oy%jz!Q%j!Q![-w![!c%j!c!i-w!i#T%j#T#Z-w#Z;'S%j;'S;=`%{<%lO%jj.OYuY!o`Oy%jz!Q%j!Q![.n![!c%j!c!i.n!i#T%j#T#Z.n#Z;'S%j;'S;=`%{<%lO%jj.uYuY!o`Oy%jz!Q%j!Q![/e![!c%j!c!i/e!i#T%j#T#Z/e#Z;'S%j;'S;=`%{<%lO%jj/jY!o`Oy%jz!Q%j!Q![0Y![!c%j!c!i0Y!i#T%j#T#Z0Y#Z;'S%j;'S;=`%{<%lO%jj0aYuY!o`Oy%jz!Q%j!Q![1P![!c%j!c!i1P!i#T%j#T#Z1P#Z;'S%j;'S;=`%{<%lO%jj1UY!o`Oy%jz!Q%j!Q![1t![!c%j!c!i1t!i#T%j#T#Z1t#Z;'S%j;'S;=`%{<%lO%jj1{SuY!o`Oy%jz;'S%j;'S;=`%{<%lO%jd2[UOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%jd2uS!yS!o`Oy%jz;'S%j;'S;=`%{<%lO%jb3WS^QOy%jz;'S%j;'S;=`%{<%lO%j~3gWOY3dZw3dwx*cx#O3d#O#P4P#P;'S3d;'S;=`4{<%lO3d~4SRO;'S3d;'S;=`4];=`O3d~4`XOY3dZw3dwx*cx#O3d#O#P4P#P;'S3d;'S;=`4{;=`<%l3d<%lO3d~5OP;=`<%l3dj5WShYOy%jz;'S%j;'S;=`%{<%lO%j~5iOg~n5pUWQyWOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%jj6ZWyW#PQOy%jz!O%j!O!P6s!P!Q%j!Q![9x![;'S%j;'S;=`%{<%lO%jj6xU!o`Oy%jz!Q%j!Q![7[![;'S%j;'S;=`%{<%lO%jj7cY!o`$gYOy%jz!Q%j!Q![7[![!g%j!g!h8R!h#X%j#X#Y8R#Y;'S%j;'S;=`%{<%lO%jj8WY!o`Oy%jz{%j{|8v|}%j}!O8v!O!Q%j!Q![9_![;'S%j;'S;=`%{<%lO%jj8{U!o`Oy%jz!Q%j!Q![9_![;'S%j;'S;=`%{<%lO%jj9fU!o`$gYOy%jz!Q%j!Q![9_![;'S%j;'S;=`%{<%lO%jj:P[!o`$gYOy%jz!O%j!O!P7[!P!Q%j!Q![9x![!g%j!g!h8R!h#X%j#X#Y8R#Y;'S%j;'S;=`%{<%lO%jj:zS!dYOy%jz;'S%j;'S;=`%{<%lO%jj;]WyWOy%jz!O%j!O!P6s!P!Q%j!Q![9x![;'S%j;'S;=`%{<%lO%jj;zU`YOy%jz!Q%j!Q![7[![;'S%j;'S;=`%{<%lO%j~VUcYOy%jz![%j![!]>i!];'S%j;'S;=`%{<%lO%jj>pSdY!o`Oy%jz;'S%j;'S;=`%{<%lO%jj?RSnYOy%jz;'S%j;'S;=`%{<%lO%jh?dU!WWOy%jz!_%j!_!`?v!`;'S%j;'S;=`%{<%lO%jh?}S!WW!o`Oy%jz;'S%j;'S;=`%{<%lO%jl@bS!WW!ySOy%jz;'S%j;'S;=`%{<%lO%jj@uV!|Q!WWOy%jz!_%j!_!`?v!`!aA[!a;'S%j;'S;=`%{<%lO%jbAcS!|Q!o`Oy%jz;'S%j;'S;=`%{<%lO%jjArYOy%jz}%j}!OBb!O!c%j!c!}CP!}#T%j#T#oCP#o;'S%j;'S;=`%{<%lO%jjBgW!o`Oy%jz!c%j!c!}CP!}#T%j#T#oCP#o;'S%j;'S;=`%{<%lO%jjCW[lY!o`Oy%jz}%j}!OCP!O!Q%j!Q![CP![!c%j!c!}CP!}#T%j#T#oCP#o;'S%j;'S;=`%{<%lO%jhDRS!zWOy%jz;'S%j;'S;=`%{<%lO%jjDdSpYOy%jz;'S%j;'S;=`%{<%lO%jnDuSo^Oy%jz;'S%j;'S;=`%{<%lO%jjEWU!zWOy%jz#a%j#a#bEj#b;'S%j;'S;=`%{<%lO%jbEoU!o`Oy%jz#d%j#d#eFR#e;'S%j;'S;=`%{<%lO%jbFWU!o`Oy%jz#c%j#c#dFj#d;'S%j;'S;=`%{<%lO%jbFoU!o`Oy%jz#f%j#f#gGR#g;'S%j;'S;=`%{<%lO%jbGWU!o`Oy%jz#h%j#h#iGj#i;'S%j;'S;=`%{<%lO%jbGoU!o`Oy%jz#T%j#T#UHR#U;'S%j;'S;=`%{<%lO%jbHWU!o`Oy%jz#b%j#b#cHj#c;'S%j;'S;=`%{<%lO%jbHoU!o`Oy%jz#h%j#h#iIR#i;'S%j;'S;=`%{<%lO%jbIYS$pQ!o`Oy%jz;'S%j;'S;=`%{<%lO%jjIkSsYOy%jz;'S%j;'S;=`%{<%lO%jfI|U$cUOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%jjJeSrYOy%jz;'S%j;'S;=`%{<%lO%jfJvU#PQOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%j`K]P;=`<%l%Z",tokenizers:[gk,Qk,pk,mk,1,2,3,4,new yi("m~RRYZ[z{a~~g~aO$_~~dP!P!Qg~lO$`~~",28,152)],topRules:{StyleSheet:[0,6],Styles:[1,126]},dynamicPrecedences:{94:1},specialized:[{term:147,get:i=>Sk[i]||-1},{term:148,get:i=>yk[i]||-1},{term:4,get:i=>kk[i]||-1},{term:28,get:i=>xk[i]||-1},{term:146,get:i=>wk[i]||-1}],tokenPrec:2405});var Pc=null;function vc(){if(!Pc&&typeof document=="object"&&document.body){let{style:i}=document.body,e=[],t=new Set;for(let n in i)n!="cssText"&&n!="cssFloat"&&typeof i[n]=="string"&&(/[A-Z]/.test(n)&&(n=n.replace(/[A-Z]/g,r=>"-"+r.toLowerCase())),t.has(n)||(e.push(n),t.add(n)));Pc=e.sort().map(n=>({type:"property",label:n,apply:n+": "}))}return Pc||[]}var Cp=["active","after","any-link","autofill","backdrop","before","checked","cue","default","defined","disabled","empty","enabled","file-selector-button","first","first-child","first-letter","first-line","first-of-type","focus","focus-visible","focus-within","fullscreen","has","host","host-context","hover","in-range","indeterminate","invalid","is","lang","last-child","last-of-type","left","link","marker","modal","not","nth-child","nth-last-child","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","part","placeholder","placeholder-shown","read-only","read-write","required","right","root","scope","selection","slotted","target","target-text","valid","visited","where"].map(i=>({type:"class",label:i})),Xp=["above","absolute","activeborder","additive","activecaption","after-white-space","ahead","alias","all","all-scroll","alphabetic","alternate","always","antialiased","appworkspace","asterisks","attr","auto","auto-flow","avoid","avoid-column","avoid-page","avoid-region","axis-pan","background","backwards","baseline","below","bidi-override","blink","block","block-axis","bold","bolder","border","border-box","both","bottom","break","break-all","break-word","bullets","button","button-bevel","buttonface","buttonhighlight","buttonshadow","buttontext","calc","capitalize","caps-lock-indicator","caption","captiontext","caret","cell","center","checkbox","circle","cjk-decimal","clear","clip","close-quote","col-resize","collapse","color","color-burn","color-dodge","column","column-reverse","compact","condensed","contain","content","contents","content-box","context-menu","continuous","copy","counter","counters","cover","crop","cross","crosshair","currentcolor","cursive","cyclic","darken","dashed","decimal","decimal-leading-zero","default","default-button","dense","destination-atop","destination-in","destination-out","destination-over","difference","disc","discard","disclosure-closed","disclosure-open","document","dot-dash","dot-dot-dash","dotted","double","down","e-resize","ease","ease-in","ease-in-out","ease-out","element","ellipse","ellipsis","embed","end","ethiopic-abegede-gez","ethiopic-halehame-aa-er","ethiopic-halehame-gez","ew-resize","exclusion","expanded","extends","extra-condensed","extra-expanded","fantasy","fast","fill","fill-box","fixed","flat","flex","flex-end","flex-start","footnotes","forwards","from","geometricPrecision","graytext","grid","groove","hand","hard-light","help","hidden","hide","higher","highlight","highlighttext","horizontal","hsl","hsla","hue","icon","ignore","inactiveborder","inactivecaption","inactivecaptiontext","infinite","infobackground","infotext","inherit","initial","inline","inline-axis","inline-block","inline-flex","inline-grid","inline-table","inset","inside","intrinsic","invert","italic","justify","keep-all","landscape","large","larger","left","level","lighter","lighten","line-through","linear","linear-gradient","lines","list-item","listbox","listitem","local","logical","loud","lower","lower-hexadecimal","lower-latin","lower-norwegian","lowercase","ltr","luminosity","manipulation","match","matrix","matrix3d","medium","menu","menutext","message-box","middle","min-intrinsic","mix","monospace","move","multiple","multiple_mask_images","multiply","n-resize","narrower","ne-resize","nesw-resize","no-close-quote","no-drop","no-open-quote","no-repeat","none","normal","not-allowed","nowrap","ns-resize","numbers","numeric","nw-resize","nwse-resize","oblique","opacity","open-quote","optimizeLegibility","optimizeSpeed","outset","outside","outside-shape","overlay","overline","padding","padding-box","painted","page","paused","perspective","pinch-zoom","plus-darker","plus-lighter","pointer","polygon","portrait","pre","pre-line","pre-wrap","preserve-3d","progress","push-button","radial-gradient","radio","read-only","read-write","read-write-plaintext-only","rectangle","region","relative","repeat","repeating-linear-gradient","repeating-radial-gradient","repeat-x","repeat-y","reset","reverse","rgb","rgba","ridge","right","rotate","rotate3d","rotateX","rotateY","rotateZ","round","row","row-resize","row-reverse","rtl","run-in","running","s-resize","sans-serif","saturation","scale","scale3d","scaleX","scaleY","scaleZ","screen","scroll","scrollbar","scroll-position","se-resize","self-start","self-end","semi-condensed","semi-expanded","separate","serif","show","single","skew","skewX","skewY","skip-white-space","slide","slider-horizontal","slider-vertical","sliderthumb-horizontal","sliderthumb-vertical","slow","small","small-caps","small-caption","smaller","soft-light","solid","source-atop","source-in","source-out","source-over","space","space-around","space-between","space-evenly","spell-out","square","start","static","status-bar","stretch","stroke","stroke-box","sub","subpixel-antialiased","svg_masks","super","sw-resize","symbolic","symbols","system-ui","table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row","table-row-group","text","text-bottom","text-top","textarea","textfield","thick","thin","threeddarkshadow","threedface","threedhighlight","threedlightshadow","threedshadow","to","top","transform","translate","translate3d","translateX","translateY","translateZ","transparent","ultra-condensed","ultra-expanded","underline","unidirectional-pan","unset","up","upper-latin","uppercase","url","var","vertical","vertical-text","view-box","visible","visibleFill","visiblePainted","visibleStroke","visual","w-resize","wait","wave","wider","window","windowframe","windowtext","words","wrap","wrap-reverse","x-large","x-small","xor","xx-large","xx-small"].map(i=>({type:"keyword",label:i})).concat(["aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","grey","green","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen"].map(i=>({type:"constant",label:i}))),Pk=["a","abbr","address","article","aside","b","bdi","bdo","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","dd","del","details","dfn","dialog","div","dl","dt","em","figcaption","figure","footer","form","header","hgroup","h1","h2","h3","h4","h5","h6","hr","html","i","iframe","img","input","ins","kbd","label","legend","li","main","meter","nav","ol","output","p","pre","ruby","section","select","small","source","span","strong","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","tr","u","ul"].map(i=>({type:"type",label:i})),vk=["@charset","@color-profile","@container","@counter-style","@font-face","@font-feature-values","@font-palette-values","@import","@keyframes","@layer","@media","@namespace","@page","@position-try","@property","@scope","@starting-style","@supports","@view-transition"].map(i=>({type:"keyword",label:i})),Gt=/^(\w[\w-]*|-\w[\w-]*|)$/,$k=/^-(-[\w-]*)?$/;function Tk(i,e){var t;if((i.name=="("||i.type.isError)&&(i=i.parent||i),i.name!="ArgList")return!1;let n=(t=i.parent)===null||t===void 0?void 0:t.firstChild;return n?.name!="Callee"?!1:e.sliceString(n.from,n.to)=="var"}var _p=new di,Ck=["Declaration"];function Xk(i){for(let e=i;;){if(e.type.isTop)return e;if(!(e=e.parent))return i}}function Rp(i,e,t){if(e.to-e.from>4096){let n=_p.get(e);if(n)return n;let r=[],s=new Set,o=e.cursor(ee.IncludeAnonymous);if(o.firstChild())do for(let a of Rp(i,o.node,t))s.has(a.label)||(s.add(a.label),r.push(a));while(o.nextSibling());return _p.set(e,r),r}else{let n=[],r=new Set;return e.cursor().iterate(s=>{var o;if(t(s)&&s.matchContext(Ck)&&((o=s.node.nextSibling)===null||o===void 0?void 0:o.name)==":"){let a=i.sliceString(s.from,s.to);r.has(a)||(r.add(a),n.push({label:a,type:"variable"}))}}),n}}var _k=i=>e=>{let{state:t,pos:n}=e,r=U(t).resolveInner(n,-1),s=r.type.isError&&r.from==r.to-1&&t.doc.sliceString(r.from,r.to)=="-";if(r.name=="PropertyName"||(s||r.name=="TagName")&&/^(Block|Styles)$/.test(r.resolve(r.to).name))return{from:r.from,options:vc(),validFor:Gt};if(r.name=="ValueName")return{from:r.from,options:Xp,validFor:Gt};if(r.name=="PseudoClassName")return{from:r.from,options:Cp,validFor:Gt};if(i(r)||(e.explicit||s)&&Tk(r,t.doc))return{from:i(r)||s?r.from:n,options:Rp(t.doc,Xk(r),i),validFor:$k};if(r.name=="TagName"){for(let{parent:l}=r;l;l=l.parent)if(l.name=="Block")return{from:r.from,options:vc(),validFor:Gt};return{from:r.from,options:Pk,validFor:Gt}}if(r.name=="AtKeyword")return{from:r.from,options:vk,validFor:Gt};if(!e.explicit)return null;let o=r.resolve(n),a=o.childBefore(n);return a&&a.name==":"&&o.name=="PseudoClassSelector"?{from:n,options:Cp,validFor:Gt}:a&&a.name==":"&&o.name=="Declaration"||o.name=="ArgList"?{from:n,options:Xp,validFor:Gt}:o.name=="Block"||o.name=="Styles"?{from:n,options:vc(),validFor:Gt}:null},Rk=_k(i=>i.name=="VariableName"),Pr=$e.define({name:"css",parser:Tp.configure({props:[we.add({Declaration:Bt()}),Te.add({"Block KeyframeList":ht})]}),languageData:{commentTokens:{block:{open:"/*",close:"*/"}},indentOnInput:/^\s*\}$/,wordChars:"-"}});function ro(){return new me(Pr,Pr.data.of({autocomplete:Rk}))}var Ak=316,Zk=317,Ap=1,Ek=2,qk=3,zk=4,Lk=318,Mk=320,Wk=321,jk=5,Vk=6,Dk=0,Tc=[9,10,11,12,13,32,133,160,5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8232,8233,8239,8287,12288],Zp=125,Yk=59,Cc=47,Ik=42,Bk=43,Uk=45,Gk=60,Nk=44,Fk=63,Hk=46,Kk=91,Jk=new dt({start:!1,shift(i,e){return e==jk||e==Vk||e==Mk?i:e==Wk},strict:!1}),e1=new J((i,e)=>{let{next:t}=i;(t==Zp||t==-1||e.context)&&i.acceptToken(Lk)},{contextual:!0,fallback:!0}),t1=new J((i,e)=>{let{next:t}=i,n;Tc.indexOf(t)>-1||t==Cc&&((n=i.peek(1))==Cc||n==Ik)||t!=Zp&&t!=Yk&&t!=-1&&!e.context&&i.acceptToken(Ak)},{contextual:!0}),i1=new J((i,e)=>{i.next==Kk&&!e.context&&i.acceptToken(Zk)},{contextual:!0}),n1=new J((i,e)=>{let{next:t}=i;if(t==Bk||t==Uk){if(i.advance(),t==i.next){i.advance();let n=!e.context&&e.canShift(Ap);i.acceptToken(n?Ap:Ek)}}else t==Fk&&i.peek(1)==Hk&&(i.advance(),i.advance(),(i.next<48||i.next>57)&&i.acceptToken(qk))},{contextual:!0});function $c(i,e){return i>=65&&i<=90||i>=97&&i<=122||i==95||i>=192||!e&&i>=48&&i<=57}var r1=new J((i,e)=>{if(i.next!=Gk||!e.dialectEnabled(Dk)||(i.advance(),i.next==Cc))return;let t=0;for(;Tc.indexOf(i.next)>-1;)i.advance(),t++;if($c(i.next,!0)){for(i.advance(),t++;$c(i.next,!1);)i.advance(),t++;for(;Tc.indexOf(i.next)>-1;)i.advance(),t++;if(i.next==Nk)return;for(let n=0;;n++){if(n==7){if(!$c(i.next,!0))return;break}if(i.next!="extends".charCodeAt(n))break;i.advance(),t++}}i.acceptToken(zk,-t)}),s1=Qe({"get set async static":d.modifier,"for while do if else switch try catch finally return throw break continue default case defer":d.controlKeyword,"in of await yield void typeof delete instanceof as satisfies":d.operatorKeyword,"let var const using function class extends":d.definitionKeyword,"import export from":d.moduleKeyword,"with debugger new":d.keyword,TemplateString:d.special(d.string),super:d.atom,BooleanLiteral:d.bool,this:d.self,null:d.null,Star:d.modifier,VariableName:d.variableName,"CallExpression/VariableName TaggedTemplateExpression/VariableName":d.function(d.variableName),VariableDefinition:d.definition(d.variableName),Label:d.labelName,PropertyName:d.propertyName,PrivatePropertyName:d.special(d.propertyName),"CallExpression/MemberExpression/PropertyName":d.function(d.propertyName),"FunctionDeclaration/VariableDefinition":d.function(d.definition(d.variableName)),"ClassDeclaration/VariableDefinition":d.definition(d.className),"NewExpression/VariableName":d.className,PropertyDefinition:d.definition(d.propertyName),PrivatePropertyDefinition:d.definition(d.special(d.propertyName)),UpdateOp:d.updateOperator,"LineComment Hashbang":d.lineComment,BlockComment:d.blockComment,Number:d.number,String:d.string,Escape:d.escape,ArithOp:d.arithmeticOperator,LogicOp:d.logicOperator,BitOp:d.bitwiseOperator,CompareOp:d.compareOperator,RegExp:d.regexp,Equals:d.definitionOperator,Arrow:d.function(d.punctuation),": Spread":d.punctuation,"( )":d.paren,"[ ]":d.squareBracket,"{ }":d.brace,"InterpolationStart InterpolationEnd":d.special(d.brace),".":d.derefOperator,", ;":d.separator,"@":d.meta,TypeName:d.typeName,TypeDefinition:d.definition(d.typeName),"type enum interface implements namespace module declare":d.definitionKeyword,"abstract global Privacy readonly override":d.modifier,"is keyof unique infer asserts":d.operatorKeyword,JSXAttributeValue:d.attributeValue,JSXText:d.content,"JSXStartTag JSXStartCloseTag JSXSelfCloseEndTag JSXEndTag":d.angleBracket,"JSXIdentifier JSXNameSpacedName":d.tagName,"JSXAttribute/JSXIdentifier JSXAttribute/JSXNameSpacedName":d.attributeName,"JSXBuiltin/JSXIdentifier":d.standard(d.tagName)}),o1={__proto__:null,export:20,as:25,from:33,default:36,async:41,function:42,in:52,out:55,const:56,extends:60,this:64,true:72,false:72,null:84,void:88,typeof:92,super:108,new:142,delete:154,yield:163,await:167,class:172,public:235,private:235,protected:235,readonly:237,instanceof:256,satisfies:259,import:292,keyof:349,unique:353,infer:359,asserts:395,is:397,abstract:417,implements:419,type:421,let:424,var:426,using:429,interface:435,enum:439,namespace:445,module:447,declare:451,global:455,defer:471,for:476,of:485,while:488,with:492,do:496,if:500,else:502,switch:506,case:512,try:518,catch:522,finally:526,return:530,throw:534,break:538,continue:542,debugger:546},a1={__proto__:null,async:129,get:131,set:133,declare:195,public:197,private:197,protected:197,static:199,abstract:201,override:203,readonly:209,accessor:211,new:401},l1={__proto__:null,"<":193},Ep=Pe.deserialize({version:14,states:"$F|Q%TQlOOO%[QlOOO'_QpOOP(lO`OOO*zQ!0MxO'#CiO+RO#tO'#CjO+aO&jO'#CjO+oO#@ItO'#DaO.QQlO'#DgO.bQlO'#DrO%[QlO'#DzO0fQlO'#ESOOQ!0Lf'#E['#E[O1PQ`O'#EXOOQO'#Ep'#EpOOQO'#Il'#IlO1XQ`O'#GsO1dQ`O'#EoO1iQ`O'#EoO3hQ!0MxO'#JrO6[Q!0MxO'#JsO6uQ`O'#F]O6zQ,UO'#FtOOQ!0Lf'#Ff'#FfO7VO7dO'#FfO9XQMhO'#F|O9`Q`O'#F{OOQ!0Lf'#Js'#JsOOQ!0Lb'#Jr'#JrO9eQ`O'#GwOOQ['#K_'#K_O9pQ`O'#IYO9uQ!0LrO'#IZOOQ['#J`'#J`OOQ['#I_'#I_Q`QlOOQ`QlOOO9}Q!L^O'#DvO:UQlO'#EOO:]QlO'#EQO9kQ`O'#GsO:dQMhO'#CoO:rQ`O'#EnO:}Q`O'#EyO;hQMhO'#FeO;xQ`O'#GsOOQO'#K`'#K`O;}Q`O'#K`O<]Q`O'#G{O<]Q`O'#G|O<]Q`O'#HOO9kQ`O'#HRO=SQ`O'#HUO>kQ`O'#CeO>{Q`O'#HcO?TQ`O'#HiO?TQ`O'#HkO`QlO'#HmO?TQ`O'#HoO?TQ`O'#HrO?YQ`O'#HxO?_Q!0LsO'#IOO%[QlO'#IQO?jQ!0LsO'#ISO?uQ!0LsO'#IUO9uQ!0LrO'#IWO@QQ!0MxO'#CiOASQpO'#DlQOQ`OOO%[QlO'#EQOAjQ`O'#ETO:dQMhO'#EnOAuQ`O'#EnOBQQ!bO'#FeOOQ['#Cg'#CgOOQ!0Lb'#Dq'#DqOOQ!0Lb'#Jv'#JvO%[QlO'#JvOOQO'#Jy'#JyOOQO'#Ih'#IhOCQQpO'#EgOOQ!0Lb'#Ef'#EfOOQ!0Lb'#J}'#J}OC|Q!0MSO'#EgODWQpO'#EWOOQO'#Jx'#JxODlQpO'#JyOEyQpO'#EWODWQpO'#EgPFWO&2DjO'#CbPOOO)CD})CD}OOOO'#I`'#I`OFcO#tO,59UOOQ!0Lh,59U,59UOOOO'#Ia'#IaOFqO&jO,59UOGPQ!L^O'#DcOOOO'#Ic'#IcOGWO#@ItO,59{OOQ!0Lf,59{,59{OGfQlO'#IdOGyQ`O'#JtOIxQ!fO'#JtO+}QlO'#JtOJPQ`O,5:ROJgQ`O'#EpOJtQ`O'#KTOKPQ`O'#KSOKPQ`O'#KSOKXQ`O,5;^OK^Q`O'#KROOQ!0Ln,5:^,5:^OKeQlO,5:^OMcQ!0MxO,5:fONSQ`O,5:nONmQ!0LrO'#KQONtQ`O'#KPO9eQ`O'#KPO! YQ`O'#KPO! bQ`O,5;]O! gQ`O'#KPO!#lQ!fO'#JsOOQ!0Lh'#Ci'#CiO%[QlO'#ESO!$[Q!fO,5:sOOQS'#Jz'#JzOOQO-EtOOQ['#Jh'#JhOOQ[,5>u,5>uOOQ[-E<]-E<]O!TO`QlO,5>VO!LOQ`O,5>XO`QlO,5>ZO!LTQ`O,5>^O!LYQlO,5>dOOQ[,5>j,5>jO%[QlO,5>jO9uQ!0LrO,5>lOOQ[,5>n,5>nO#!dQ`O,5>nOOQ[,5>p,5>pO#!dQ`O,5>pOOQ[,5>r,5>rO##QQpO'#D_O%[QlO'#JvO##sQpO'#JvO##}QpO'#DmO#$`QpO'#DmO#&qQlO'#DmO#&xQ`O'#JuO#'QQ`O,5:WO#'VQ`O'#EtO#'eQ`O'#KUO#'mQ`O,5;_O#'rQpO'#DmO#(PQpO'#EVOOQ!0Lf,5:o,5:oO%[QlO,5:oO#(WQ`O,5:oO?YQ`O,5;YO!CUQpO,5;YO!C^QMhO,5;YO:dQMhO,5;YO#(`Q`O,5@bO#(eQ07dO,5:sOOQO-EPO$6^Q`O,5>POOQ[1G3i1G3iO`QlO1G3iOOQ[1G3o1G3oOOQ[1G3q1G3qO?TQ`O1G3sO$6cQlO1G3uO$:gQlO'#HtOOQ[1G3x1G3xO$:tQ`O'#HzO?YQ`O'#H|OOQ[1G4O1G4OO$:|QlO1G4OO9uQ!0LrO1G4UOOQ[1G4W1G4WOOQ!0Lb'#G_'#G_O9uQ!0LrO1G4YO9uQ!0LrO1G4[O$?TQ`O,5@bO!)[QlO,5;`O9eQ`O,5;`O?YQ`O,5:XO!)[QlO,5:XO!CUQpO,5:XO$?YQ?MtO,5:XOOQO,5;`,5;`O$?dQpO'#IeO$?zQ`O,5@aOOQ!0Lf1G/r1G/rO$@SQpO'#IkO$@^Q`O,5@pOOQ!0Lb1G0y1G0yO#$`QpO,5:XOOQO'#Ig'#IgO$@fQpO,5:qOOQ!0Ln,5:q,5:qO#(ZQ`O1G0ZOOQ!0Lf1G0Z1G0ZO%[QlO1G0ZOOQ!0Lf1G0t1G0tO?YQ`O1G0tO!CUQpO1G0tO!C^QMhO1G0tOOQ!0Lb1G5|1G5|O!ByQ!0LrO1G0^OOQO1G0m1G0mO%[QlO1G0mO$@mQ!0LrO1G0mO$@xQ!0LrO1G0mO!CUQpO1G0^ODWQpO1G0^O$AWQ!0LrO1G0mOOQO1G0^1G0^O$AlQ!0MxO1G0mPOOO-E<[-E<[POOO1G.h1G.hOOOO1G/i1G/iO$AvQ!bO,5QQpO,5@}OOQ!0Lb1G3c1G3cOOQ[7+$V7+$VO@zQ`O7+$VO9uQ!0LrO7+$VO%>]Q`O7+$VO%[QlO1G6lO%[QlO1G6mO%>bQ!0LrO1G6lO%>lQlO1G3kO%>sQ`O1G3kO%>xQlO1G3kOOQ[7+)T7+)TO9uQ!0LrO7+)_O`QlO7+)aOOQ['#Kh'#KhOOQ['#JS'#JSO%?PQlO,5>`OOQ[,5>`,5>`O%[QlO'#HuO%?^Q`O'#HwOOQ[,5>f,5>fO9eQ`O,5>fOOQ[,5>h,5>hOOQ[7+)j7+)jOOQ[7+)p7+)pOOQ[7+)t7+)tOOQ[7+)v7+)vO%?cQpO1G5|O%?}Q?MtO1G0zO%@XQ`O1G0zOOQO1G/s1G/sO%@dQ?MtO1G/sO?YQ`O1G/sO!)[QlO'#DmOOQO,5?P,5?POOQO-ERQ`O7+,WO&>WQ`O7+,XO%[QlO7+,WO%[QlO7+,XOOQ[7+)V7+)VO&>]Q`O7+)VO&>bQlO7+)VO&>iQ`O7+)VOOQ[<nQ`O,5>aOOQ[,5>c,5>cO&>sQ`O1G4QO9eQ`O7+&fO!)[QlO7+&fOOQO7+%_7+%_O&>xQ?MtO1G6ZO?YQ`O7+%_OOQ!0Lf<yQ?MvO,5?aO'@|Q?MvO,5?cO'CPQ?MvO7+'|O'DuQMjOG27TOOQO<VO!l$xO#jROe!iOpkOrPO(T)]O(VTO(YUO(aVO(o[O~O!]$_Oa$qa'z$qa'w$qa!k$qa!Y$qa!_$qa%i$qa!g$qa~Ol)dO~P!&zOh%VOp%WOr%XOs$tOt$tOz%YO|%ZO!O%]O!S${O!_$|O!i%bO!l$xO#j%cO$W%`O$t%^O$v%_O$y%aO(T(vO(VTO(YUO(a$uO(y$}O(z%PO~Og(pP~P!,TO!Q)iO!g)hO!_$^X$Z$^X$]$^X$_$^X$f$^X~O!g)hO!_({X$Z({X$]({X$_({X$f({X~O!Q)iO~P!.^O!Q)iO!_({X$Z({X$]({X$_({X$f({X~O!_)kO$Z)oO$])jO$_)jO$f)pO~O![)sO~P!)[O$]$hO$_$gO$f)wO~On$zX!Q$zX#S$zX'y$zX(y$zX(z$zX~OgmXg$zXnmX!]mX#`mX~P!0SOx)yO(b)zO(c)|O~On*VO!Q*OO'y*PO(y$}O(z%PO~Og)}O~P!1WOg*WO~Oh%VOr%XOs$tOt$tOz%YO|%ZO!OVO!l$xO#jVO!l$xO#jROe!iOpkOrPO(VTO(YUO(aVO(o[O~O(T=QO~P#$qO!]-]O!^(iX~O!^-_O~O!g-VO#`-UO!]#hX!^#hX~O!]-`O!^(xX~O!^-bO~O!c-cO!d-cO(U!lO~P#$`O!^-fO~P'_On-iO!_'`O~O!Y-nO~Os!{a!b!{a!c!{a!d!{a#T!{a#U!{a#V!{a#W!{a#X!{a#[!{a#]!{a(U!{a(V!{a(Y!{a(e!{a(o!{a~P!#vO!p-sO#`-qO~PChO!c-uO!d-uO(U!lO~PDWOa%nO#`-qO'z%nO~Oa%nO!g#vO#`-qO'z%nO~Oa%nO!g#vO!p-sO#`-qO'z%nO(r'pO~O(P'xO(Q'xO(R-zO~Ov-{O~O!Y'Wa!]'Wa~P!:tO![.PO!Y'WX!]'WX~P%[O!](VO!Y(ha~O!Y(ha~PHRO!](^O!Y(va~O!S%hO![.TO!_%iO(T%gO!Y'^X!]'^X~O#`.VO!](ta!k(taa(ta'z(ta~O!g#vO~P#,wO!](jO!k(sa~O!S%hO!_%iO#j.ZO(T%gO~Op.`O!S%hO![.]O!_%iO!|]O#i._O#j.]O(T%gO!]'aX!k'aX~OR.dO!l#xO~Oh%VOn.gO!_'`O%i.fO~Oa#ci!]#ci'z#ci'w#ci!Y#ci!k#civ#ci!_#ci%i#ci!g#ci~P!:tOn>]O!Q*OO'y*PO(y$}O(z%PO~O#k#_aa#_a#`#_a'z#_a!]#_a!k#_a!_#_a!Y#_a~P#/sO#k(`XP(`XR(`X[(`Xa(`Xj(`Xr(`X!S(`X!l(`X!p(`X#R(`X#n(`X#o(`X#p(`X#q(`X#r(`X#s(`X#t(`X#u(`X#v(`X#x(`X#z(`X#{(`X'z(`X(a(`X(r(`X!k(`X!Y(`X'w(`Xv(`X!_(`X%i(`X!g(`X~P!6kO!].tO!k(kX~P!:tO!k.wO~O!Y.yO~OP$[OR#zO!Q#yO!S#{O!l#xO!p$[O(aVO[#mia#mij#mir#mi!]#mi#R#mi#o#mi#p#mi#q#mi#r#mi#s#mi#t#mi#u#mi#v#mi#x#mi#z#mi#{#mi'z#mi(r#mi(y#mi(z#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#n#mi~P#3cO#n$OO~P#3cOP$[OR#zOr$aO!Q#yO!S#{O!l#xO!p$[O#n$OO#o$PO#p$PO#q$PO(aVO[#mia#mij#mi!]#mi#R#mi#s#mi#t#mi#u#mi#v#mi#x#mi#z#mi#{#mi'z#mi(r#mi(y#mi(z#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#r#mi~P#6QO#r$QO~P#6QOP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO(aVOa#mi!]#mi#x#mi#z#mi#{#mi'z#mi(r#mi(y#mi(z#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#v#mi~P#8oOP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO#v$SO(aVO(z#}Oa#mi!]#mi#z#mi#{#mi'z#mi(r#mi(y#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#x$UO~P#;VO#x#mi~P#;VO#v$SO~P#8oOP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO#v$SO#x$UO(aVO(y#|O(z#}Oa#mi!]#mi#{#mi'z#mi(r#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#z#mi~P#={O#z$WO~P#={OP]XR]X[]Xj]Xr]X!Q]X!S]X!l]X!p]X#R]X#S]X#`]X#kfX#n]X#o]X#p]X#q]X#r]X#s]X#t]X#u]X#v]X#x]X#z]X#{]X$Q]X(a]X(r]X(y]X(z]X!]]X!^]X~O$O]X~P#@jOP$[OR#zO[]O!Q*OO'y*PO(y$}O(z%POP#miR#mi!S#mi!l#mi!p#mi#n#mi#o#mi#p#mi#q#mi(a#mi~P#EyO!]/POg(pX~P!1WOg/RO~Oa$Pi!]$Pi'z$Pi'w$Pi!Y$Pi!k$Piv$Pi!_$Pi%i$Pi!g$Pi~P!:tO$]/SO$_/SO~O$]/TO$_/TO~O!g)hO#`/UO!_$cX$Z$cX$]$cX$_$cX$f$cX~O![/VO~O!_)kO$Z/XO$])jO$_)jO$f/YO~O!]VO!l$xO#j^O!Q*OO'y*PO(y$}O(z%POP#miR#mi!S#mi!l#mi!p#mi#n#mi#o#mi#p#mi#q#mi(a#mi~P&,QO#S$dOP(`XR(`X[(`Xj(`Xn(`Xr(`X!Q(`X!S(`X!l(`X!p(`X#R(`X#n(`X#o(`X#p(`X#q(`X#r(`X#s(`X#t(`X#u(`X#v(`X#x(`X#z(`X#{(`X$O(`X'y(`X(a(`X(r(`X(y(`X(z(`X!](`X!^(`X~O$O$Pi!]$Pi!^$Pi~P#BwO$O!ri!^!ri~P$+oOg']a!]']a~P!1WO!^7nO~O!]'da!^'da~P#BwO!Y7oO~P#/sO!g#vO(r'pO!]'ea!k'ea~O!]/pO!k)Oi~O!]/pO!g#vO!k)Oi~Og$|q!]$|q#`$|q$O$|q~P!1WO!Y'ga!]'ga~P#/sO!g7vO~O!]/yO!Y)Pi~P#/sO!]/yO!Y)Pi~O!Y7yO~Oh%VOr8OO!l%eO(r'pO~Oj8QO!g#vO~Or8TO!g#vO(r'pO~O!Q*OO'y*PO(z%POn'ja(y'ja!]'ja#`'ja~Og'ja$O'ja~P&5RO!Q*OO'y*POn'la(y'la(z'la!]'la#`'la~Og'la$O'la~P&5tOg(_q!](_q~P!1WO#`8VOg(_q!](_q~P!1WO!Y8WO~Og%Oq!]%Oq#`%Oq$O%Oq~P!1WOa$oy!]$oy'z$oy'w$oy!Y$oy!k$oyv$oy!_$oy%i$oy!g$oy~P!:tO!g6rO~O!]5[O!_)Qa~O!_'`OP$TaR$Ta[$Taj$Tar$Ta!Q$Ta!S$Ta!]$Ta!l$Ta!p$Ta#R$Ta#n$Ta#o$Ta#p$Ta#q$Ta#r$Ta#s$Ta#t$Ta#u$Ta#v$Ta#x$Ta#z$Ta#{$Ta(a$Ta(r$Ta(y$Ta(z$Ta~O%i7WO~P&8fO%^8[Oa%[i!_%[i'z%[i!]%[i~Oa#cy!]#cy'z#cy'w#cy!Y#cy!k#cyv#cy!_#cy%i#cy!g#cy~P!:tO[8^O~Ob8`O(T+qO(VTO(YUO~O!]1TO!^)Xi~O`8dO~O(e(|O!]'pX!^'pX~O!]5uO!^)Ua~O!^8nO~P%;eO(o!sO~P$&YO#[8oO~O!_1oO~O!_1oO%i8qO~On8tO!_1oO%i8qO~O[8yO!]'sa!^'sa~O!]1zO!^)Vi~O!k8}O~O!k9OO~O!k9RO~O!k9RO~P%[Oa9TO~O!g9UO~O!k9VO~O!](wi!^(wi~P#BwOa%nO#`9_O'z%nO~O!](ty!k(tya(ty'z(ty~P!:tO!](jO!k(sy~O%i9bO~P&8fO!_'`O%i9bO~O#k$|qP$|qR$|q[$|qa$|qj$|qr$|q!S$|q!]$|q!l$|q!p$|q#R$|q#n$|q#o$|q#p$|q#q$|q#r$|q#s$|q#t$|q#u$|q#v$|q#x$|q#z$|q#{$|q'z$|q(a$|q(r$|q!k$|q!Y$|q'w$|q#`$|qv$|q!_$|q%i$|q!g$|q~P#/sO#k'jaP'jaR'ja['jaa'jaj'jar'ja!S'ja!l'ja!p'ja#R'ja#n'ja#o'ja#p'ja#q'ja#r'ja#s'ja#t'ja#u'ja#v'ja#x'ja#z'ja#{'ja'z'ja(a'ja(r'ja!k'ja!Y'ja'w'jav'ja!_'ja%i'ja!g'ja~P&5RO#k'laP'laR'la['laa'laj'lar'la!S'la!l'la!p'la#R'la#n'la#o'la#p'la#q'la#r'la#s'la#t'la#u'la#v'la#x'la#z'la#{'la'z'la(a'la(r'la!k'la!Y'la'w'lav'la!_'la%i'la!g'la~P&5tO#k%OqP%OqR%Oq[%Oqa%Oqj%Oqr%Oq!S%Oq!]%Oq!l%Oq!p%Oq#R%Oq#n%Oq#o%Oq#p%Oq#q%Oq#r%Oq#s%Oq#t%Oq#u%Oq#v%Oq#x%Oq#z%Oq#{%Oq'z%Oq(a%Oq(r%Oq!k%Oq!Y%Oq'w%Oq#`%Oqv%Oq!_%Oq%i%Oq!g%Oq~P#/sO!]'Yi!k'Yi~P!:tO$O#cq!]#cq!^#cq~P#BwO(y$}OP%aaR%aa[%aaj%aar%aa!S%aa!l%aa!p%aa#R%aa#n%aa#o%aa#p%aa#q%aa#r%aa#s%aa#t%aa#u%aa#v%aa#x%aa#z%aa#{%aa$O%aa(a%aa(r%aa!]%aa!^%aa~On%aa!Q%aa'y%aa(z%aa~P&IyO(z%POP%caR%ca[%caj%car%ca!S%ca!l%ca!p%ca#R%ca#n%ca#o%ca#p%ca#q%ca#r%ca#s%ca#t%ca#u%ca#v%ca#x%ca#z%ca#{%ca$O%ca(a%ca(r%ca!]%ca!^%ca~On%ca!Q%ca'y%ca(y%ca~P&LQOn>^O!Q*OO'y*PO(z%PO~P&IyOn>^O!Q*OO'y*PO(y$}O~P&LQOR0kO!Q0kO!S0lO#S$dOP}a[}aj}an}ar}a!l}a!p}a#R}a#n}a#o}a#p}a#q}a#r}a#s}a#t}a#u}a#v}a#x}a#z}a#{}a$O}a'y}a(a}a(r}a(y}a(z}a!]}a!^}a~O!Q*OO'y*POP$saR$sa[$saj$san$sar$sa!S$sa!l$sa!p$sa#R$sa#n$sa#o$sa#p$sa#q$sa#r$sa#s$sa#t$sa#u$sa#v$sa#x$sa#z$sa#{$sa$O$sa(a$sa(r$sa(y$sa(z$sa!]$sa!^$sa~O!Q*OO'y*POP$uaR$ua[$uaj$uan$uar$ua!S$ua!l$ua!p$ua#R$ua#n$ua#o$ua#p$ua#q$ua#r$ua#s$ua#t$ua#u$ua#v$ua#x$ua#z$ua#{$ua$O$ua(a$ua(r$ua(y$ua(z$ua!]$ua!^$ua~On>^O!Q*OO'y*PO(y$}O(z%PO~OP%TaR%Ta[%Taj%Tar%Ta!S%Ta!l%Ta!p%Ta#R%Ta#n%Ta#o%Ta#p%Ta#q%Ta#r%Ta#s%Ta#t%Ta#u%Ta#v%Ta#x%Ta#z%Ta#{%Ta$O%Ta(a%Ta(r%Ta!]%Ta!^%Ta~P''VO$O$mq!]$mq!^$mq~P#BwO$O$oq!]$oq!^$oq~P#BwO!^9oO~O$O9pO~P!1WO!g#vO!]'ei!k'ei~O!g#vO(r'pO!]'ei!k'ei~O!]/pO!k)Oq~O!Y'gi!]'gi~P#/sO!]/yO!Y)Pq~Or9wO!g#vO(r'pO~O[9yO!Y9xO~P#/sO!Y9xO~Oj:PO!g#vO~Og(_y!](_y~P!1WO!]'na!_'na~P#/sOa%[q!_%[q'z%[q!]%[q~P#/sO[:UO~O!]1TO!^)Xq~O`:YO~O#`:ZO!]'pa!^'pa~O!]5uO!^)Ui~P#BwO!S:]O~O!_1oO%i:`O~O(VTO(YUO(e:eO~O!]1zO!^)Vq~O!k:hO~O!k:iO~O!k:jO~O!k:jO~P%[O#`:mO!]#hy!^#hy~O!]#hy!^#hy~P#BwO%i:rO~P&8fO!_'`O%i:rO~O$O#|y!]#|y!^#|y~P#BwOP$|iR$|i[$|ij$|ir$|i!S$|i!l$|i!p$|i#R$|i#n$|i#o$|i#p$|i#q$|i#r$|i#s$|i#t$|i#u$|i#v$|i#x$|i#z$|i#{$|i$O$|i(a$|i(r$|i!]$|i!^$|i~P''VO!Q*OO'y*PO(z%POP'iaR'ia['iaj'ian'iar'ia!S'ia!l'ia!p'ia#R'ia#n'ia#o'ia#p'ia#q'ia#r'ia#s'ia#t'ia#u'ia#v'ia#x'ia#z'ia#{'ia$O'ia(a'ia(r'ia(y'ia!]'ia!^'ia~O!Q*OO'y*POP'kaR'ka['kaj'kan'kar'ka!S'ka!l'ka!p'ka#R'ka#n'ka#o'ka#p'ka#q'ka#r'ka#s'ka#t'ka#u'ka#v'ka#x'ka#z'ka#{'ka$O'ka(a'ka(r'ka(y'ka(z'ka!]'ka!^'ka~O(y$}OP%aiR%ai[%aij%ain%air%ai!Q%ai!S%ai!l%ai!p%ai#R%ai#n%ai#o%ai#p%ai#q%ai#r%ai#s%ai#t%ai#u%ai#v%ai#x%ai#z%ai#{%ai$O%ai'y%ai(a%ai(r%ai(z%ai!]%ai!^%ai~O(z%POP%ciR%ci[%cij%cin%cir%ci!Q%ci!S%ci!l%ci!p%ci#R%ci#n%ci#o%ci#p%ci#q%ci#r%ci#s%ci#t%ci#u%ci#v%ci#x%ci#z%ci#{%ci$O%ci'y%ci(a%ci(r%ci(y%ci!]%ci!^%ci~O$O$oy!]$oy!^$oy~P#BwO$O#cy!]#cy!^#cy~P#BwO!g#vO!]'eq!k'eq~O!]/pO!k)Oy~O!Y'gq!]'gq~P#/sOr:|O!g#vO(r'pO~O[;QO!Y;PO~P#/sO!Y;PO~Og(_!R!](_!R~P!1WOa%[y!_%[y'z%[y!]%[y~P#/sO!]1TO!^)Xy~O!]5uO!^)Uq~O(T;XO~O!_1oO%i;[O~O!k;_O~O%i;dO~P&8fOP$|qR$|q[$|qj$|qr$|q!S$|q!l$|q!p$|q#R$|q#n$|q#o$|q#p$|q#q$|q#r$|q#s$|q#t$|q#u$|q#v$|q#x$|q#z$|q#{$|q$O$|q(a$|q(r$|q!]$|q!^$|q~P''VO!Q*OO'y*PO(z%POP'jaR'ja['jaj'jan'jar'ja!S'ja!l'ja!p'ja#R'ja#n'ja#o'ja#p'ja#q'ja#r'ja#s'ja#t'ja#u'ja#v'ja#x'ja#z'ja#{'ja$O'ja(a'ja(r'ja(y'ja!]'ja!^'ja~O!Q*OO'y*POP'laR'la['laj'lan'lar'la!S'la!l'la!p'la#R'la#n'la#o'la#p'la#q'la#r'la#s'la#t'la#u'la#v'la#x'la#z'la#{'la$O'la(a'la(r'la(y'la(z'la!]'la!^'la~OP%OqR%Oq[%Oqj%Oqr%Oq!S%Oq!l%Oq!p%Oq#R%Oq#n%Oq#o%Oq#p%Oq#q%Oq#r%Oq#s%Oq#t%Oq#u%Oq#v%Oq#x%Oq#z%Oq#{%Oq$O%Oq(a%Oq(r%Oq!]%Oq!^%Oq~P''VOg%e!Z!]%e!Z#`%e!Z$O%e!Z~P!1WO!Y;hO~P#/sOr;iO!g#vO(r'pO~O[;kO!Y;hO~P#/sO!]'pq!^'pq~P#BwO!]#h!Z!^#h!Z~P#BwO#k%e!ZP%e!ZR%e!Z[%e!Za%e!Zj%e!Zr%e!Z!S%e!Z!]%e!Z!l%e!Z!p%e!Z#R%e!Z#n%e!Z#o%e!Z#p%e!Z#q%e!Z#r%e!Z#s%e!Z#t%e!Z#u%e!Z#v%e!Z#x%e!Z#z%e!Z#{%e!Z'z%e!Z(a%e!Z(r%e!Z!k%e!Z!Y%e!Z'w%e!Z#`%e!Zv%e!Z!_%e!Z%i%e!Z!g%e!Z~P#/sOr;tO!g#vO(r'pO~O!Y;uO~P#/sOr;|O!g#vO(r'pO~O!Y;}O~P#/sOP%e!ZR%e!Z[%e!Zj%e!Zr%e!Z!S%e!Z!l%e!Z!p%e!Z#R%e!Z#n%e!Z#o%e!Z#p%e!Z#q%e!Z#r%e!Z#s%e!Z#t%e!Z#u%e!Z#v%e!Z#x%e!Z#z%e!Z#{%e!Z$O%e!Z(a%e!Z(r%e!Z!]%e!Z!^%e!Z~P''VOrROe!iOpkOrPO(T)]O(VTO(YUO(aVO(o[O~O!]WO!l$xO#jgPPP!>oI[PPPPPPPPP!BOP!C]PPI[!DnPI[PI[I[I[I[I[PI[!FQP!I[P!LbP!Lf!Lp!Lt!LtP!IXP!Lx!LxP#!OP#!SI[PI[#!Y#%_CjA^PA^PA^A^P#&lA^A^#)OA^#+vA^#.SA^A^#.r#1W#1W#1]#1f#1W#1qPP#1WPA^#2ZA^#6YA^A^6mPPP#:_PPP#:x#:xP#:xP#;`#:xPP#;fP#;]P#;]#;y#;]#P#>V#>]#>k#>q#>{#?R#?]#?c#?s#?y#@k#@}#AT#AZ#Ai#BO#Cs#DR#DY#Et#FS#Gt#HS#HY#H`#Hf#Hp#Hv#H|#IW#Ij#IpPPPPPPPPPPP#IvPPPPPPP#Jk#Mx$ b$ i$ qPPP$']P$'f$*_$0x$0{$1O$1}$2Q$2X$2aP$2g$2jP$3W$3[$4S$5b$5g$5}PP$6S$6Y$6^$6a$6e$6i$7e$7|$8e$8i$8l$8o$8y$8|$9Q$9UR!|RoqOXst!Z#d%m&r&t&u&w,s,x2[2_Y!vQ'`-e1o5{Q%tvQ%|yQ&T|Q&j!VS'W!e-]Q'f!iS'l!r!yU*k$|*Z*oQ+o%}S+|&V&WQ,d&dQ-c'_Q-m'gQ-u'mQ0[*qQ1b,OQ1y,eR<{SU+P%]S!S!nQ!r!v!y!z$|'W'_'`'l'm'n*k*o*q*r-]-c-e-u0[0_1o5{5}%[$ti#v$b$c$d$x${%O%Q%^%_%c)y*R*T*V*Y*a*g*w*x+f+i,S,V.f/P/d/m/x/y/{0`0b0i0j0o1f1i1q3c4^4_4j4o5Q5[5_6S7W7v8Q8V8[8q9b9p9y:P:`:r;Q;[;d;kP>X>Y>]>^Q&X|Q'U!eS'[%i-`Q+t&PQ,P&WQ,f&gQ0n+SQ1Y+uQ1_+{Q2Q,jQ2R,kQ5f1TQ5o1aQ6[1zQ6_1|Q6`2PQ8`5gQ8c5lQ8|6bQ:X8dQ:f8yQ;V:YR<}*ZrnOXst!V!Z#d%m&i&r&t&u&w,s,x2[2_R,h&k&z^OPXYstuvwz!Z!`!g!j!o#S#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%m%t&R&k&n&o&r&t&u&w&{'T'b'r(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:mR>S[#]WZ#W#Z'X(T!b%jm#h#i#l$x%e%h(^(h(i(j*Y*^*b+Z+[+^,o-V.T.Z.[.]._/m/p2d3[3]4a6r7TQ%wxQ%{yW&Q|&V&W,OQ&_!TQ'c!hQ'e!iQ(q#sS+n%|%}Q+r&PQ,_&bQ,c&dS-l'f'gQ.i(rQ1R+oQ1X+uQ1Z+vQ1^+zQ1t,`S1x,d,eQ2|-mQ5e1TQ5i1WQ5n1`Q6Z1yQ8_5gQ8b5kQ8f5pQ:T8^R;T:U!U$zi$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Y!^%yy!i!u%{%|%}'V'e'f'g'k'u*j+n+o-Y-l-m-t0R0U1R2u2|3T4r4s4v7}9{Q+h%wQ,T&[Q,W&]Q,b&dQ.h(qQ1s,_U1w,c,d,eQ3e.iQ6U1tS6Y1x1yQ8x6Z#f>T#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k]>^o>UPS&[!Q&iQ&]!RQ&^!SU*}%[%d=sR,R&Y%]%Si#v$b$c$d$x${%O%Q%^%_%c)y*R*T*V*Y*a*g*w*x+f+i,S,V.f/P/d/m/x/y/{0`0b0i0j0o1f1i1q3c4^4_4j4o5Q5[5_6S7W7v8Q8V8[8q9b9p9y:P:`:r;Q;[;d;kP>X>Y>]>^T)z$u){V+P%]S$i$^c#Y#e%q%s%u(S(Y(t(y)R)S)T)U)V)W)X)Y)Z)[)^)`)b)g)q+d+x-Z-x-}.S.U.s.v.z.|.}/O/b0p2k2n3O3V3k3p3q3r3s3t3u3v3w3x3y3z3{3|4P4Q4X5X5c6u6{7Q7a7b7k7l8k9X9]9g9m9n:o;W;`SQ'Y!eR2q-]!W!nQ!e!r!v!y!z$|'W'_'`'l'm'n*Z*k*o*q*r-]-c-e-u0[0_1o5{5}R1l,ZnqOXst!Z#d%m&r&t&u&w,s,x2[2_Q&y!^Q'v!xS(s#u<^Q+l%zQ,]&_Q,^&aQ-j'dQ-w'oS.r(x=PS0q+X=ZQ1P+mQ1n,[Q2c,zQ2e,{Q2m-WQ2z-kQ2}-oS5Y0r=eQ5a1QS5d1S=fQ6t2oQ6x2{Q6}3SQ8]5bQ9Y6vQ9Z6yQ9^7OR:l9V$d$]c#Y#e%s%u(S(Y(t(y)R)S)T)U)V)W)X)Y)Z)[)^)`)b)g)q+d+x-Z-x-}.S.U.s.v.z.}/O/b0p2k2n3O3V3k3p3q3r3s3t3u3v3w3x3y3z3{3|4P4Q4X5X5c6u6{7Q7a7b7k7l8k9X9]9g9m9n:o;W;`SS#q]SU$fd)_,mS(p#p'iU*v%R(w4OU0m+O.n7gQ5^0xQ7V3`Q9d7YR:s9em!tQ!r!v!y!z'`'l'm'n-e-u1o5{5}Q't!uS(f#g2US-s'k'wQ/s*]Q0R*jQ3U-vQ4f/tQ4r0TQ4s0UQ4x0^Q7r4`S7}4t4vS8R4y4{Q9r7sQ9v7yQ9{8OQ:Q8TS:{9w9xS;g:|;PS;s;h;iS;{;t;uSSR=o>R%^bOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&o&r&t&u&w&{'T'b'r(T(V(](d(x(z)O)}*i+X+]+g,p,s,x-i-q.P.V.g.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3d3l4z6T6e6f6i6|7[8t9T9_Q%fj!^%xy!i!u%{%|%}'V'e'f'g'k'u*j+n+o-Y-l-m-t0R0U1R2u2|3T4r4s4v7}9{S&Oz!jQ+k%yQ,a&dW1v,b,c,d,eU6X1w1x1yS8w6Y6ZQ:d8x!r=j$Z$n'X)s-U-X/V2p4T5w6s:Z:mSQ=t>QR=u>R%QeOPXYstuvw!Z!`!g!o#S#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&r&t&u&w&{'T'b'r(V(](d(x(z)O)}*i+X+]+g,p,s,x-i-q.P.V.g.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3d3l4z6T6e6f6i6|7[8t9T9_Y#bWZ#W#Z(T!b%jm#h#i#l$x%e%h(^(h(i(j*Y*^*b+Z+[+^,o-V.T.Z.[.]._/m/p2d3[3]4a6r7TQ,n&o!p=k$Z$n)s-U-X/V2p4T5w6s:Z:mSR=n'XU']!e%i*ZR2s-`%SdOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&r&t&u&w&{'T'b'r(T(V(](d(x(z)O)}*i+X+],p,s,x-i-q.P.V.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3l4z6T6e6f6i6|8t9T9_!r)_$Z$n'X)s-U-X/V2p4T5w6s:Z:mSQ,m&oQ0x+gQ3`.gQ7Y3dR9e7[!b$Tc#Y%q(S(Y(t(y)Z)[)`)g+x-x-}.S.U.s.v/b0p3O3V3k3{5X5c6{7Q7a9]:oS)^)q-Z.|2k2n3p4P4X6u7b7k7l8k9X9g9m9n;W;`=vQ>X>ZR>Y>['QkOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%m%t&R&k&n&o&r&t&u&w&{'T'X'b'r(T(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:mSS$oh$pR4U/U'XgOPWXYZhstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n$p%m%t&R&k&n&o&r&t&u&w&{'T'X'b'r(T(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/U/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:mST$kf$qQ$ifS)j$l)nR)v$qT$jf$qT)l$l)n'XhOPWXYZhstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n$p%m%t&R&k&n&o&r&t&u&w&{'T'X'b'r(T(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/U/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:mST$oh$pQ$rhR)u$p%^jOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&o&r&t&u&w&{'T'b'r(T(V(](d(x(z)O)}*i+X+]+g,p,s,x-i-q.P.V.g.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3d3l4z6T6e6f6i6|7[8t9T9_!s>Q$Z$n'X)s-U-X/V2p4T5w6s:Z:mS#glOPXZst!Z!`!o#S#d#o#{$n%m&k&n&o&r&t&u&w&{'T'b)O)s*i+]+g,p,s,x-i.g/V/n0]0l1r2S2T2V2X2[2_2a3d4T4z6T6e6f6i7[8t9T!U%Ri$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Y#f(w#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k]>^Q+T%aQ/c*Oo4OP>X>YQ*c$zU*l$|*Z*oQ+U%bQ0W*m#f=q#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k]>^n=rTQ=x>UQ=y>VR=z>W!U%Ri$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Y#f(w#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k]>^o4OP>X>Y>]>^Q,U&]Q1h,WQ5s1gR8h5tV*n$|*Z*oU*n$|*Z*oT5z1o5{S0P*i/nQ4w0]T8S4z:]Q+j%xQ0V*lQ1O+kQ1u,aQ6W1vQ8v6XQ:c8wR;^:d!U%Oi$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Yx*R$v)e*S*u+V/v0d0e4R4g5R5S5W7p8U:R:x=p=}>OS0`*t0a#f]>^nZ>[`=T3}7c7f7j9h:t:w;yS=_.l3iT=`7e9k!U%Qi$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Y|*T$v)e*U*t+V/g/v0d0e4R4g4|5R5S5W7p8U:R:x=p=}>OS0b*u0c#f]>^nZ>[d=V3}7d7e7j9h9i:t:u:w;yS=a.m3jT=b7f9lrnOXst!V!Z#d%m&i&r&t&u&w,s,x2[2_Q&f!UR,p&ornOXst!V!Z#d%m&i&r&t&u&w,s,x2[2_R&f!UQ,Y&^R1d,RsnOXst!V!Z#d%m&i&r&t&u&w,s,x2[2_Q1p,_S6R1s1tU8p6P6Q6US:_8r8sS;Y:^:aQ;m;ZR;w;nQ&m!VR,i&iR6_1|R:f8yW&Q|&V&W,OR1Z+vQ&r!WR,s&sR,y&xT2],x2_R,}&yQ,|&yR2f,}Q'y!{R-y'ySsOtQ#dXT%ps#dQ#OTR'{#OQ#RUR'}#RQ){$uR/`){Q#UVR(Q#UQ#XWU(W#X(X.QQ(X#YR.Q(YQ-^'YR2r-^Q.u(yS3m.u3nR3n.vQ-e'`R2v-eY!rQ'`-e1o5{R'j!rQ/Q)eR4S/QU#_W%h*YU(_#_(`.RQ(`#`R.R(ZQ-a']R2t-at`OXst!V!Z#d%m&i&k&r&t&u&w,s,x2[2_S#hZ%eU#r`#h.[R.[(jQ(k#jQ.X(gW.a(k.X3X7RQ3X.YR7R3YQ)n$lR/W)nQ$phR)t$pQ$`cU)a$`-|O>Z>[Q/z*eU4k/z4m7xQ4m/|R7x4lS*o$|*ZR0Y*ox*S$v)e*t*u+V/v0d0e4R4g5R5S5W7p8U:R:x=p=}>O!d.j(u)c*[*e.l.m.q/_/k/|0v1e3h4[4h4l5r7]7`7w7z8X8Z9t9|:S:};R;e;j;v>Z>[U/h*S.j7ca7c3}7e7f7j9h:t:w;yQ0a*tQ3i.lU4}0a3i9kR9k7e|*U$v)e*t*u+V/g/v0d0e4R4g4|5R5S5W7p8U:R:x=p=}>O!h.k(u)c*[*e.l.m.q/_/k/|0v1e3f3h4[4h4l5r7]7^7`7w7z8X8Z9t9|:S:};R;e;j;v>Z>[U/j*U.k7de7d3}7e7f7j9h9i:t:u:w;yQ0c*uQ3j.mU5P0c3j9lR9l7fQ*z%UR0g*zQ5]0vR8Y5]Q+_%kR0u+_Q5v1jS8j5v:[R:[8kQ,[&_R1m,[Q5{1oR8m5{Q1{,fS6]1{8zR8z6_Q1U+rW5h1U5j8a:VQ5j1XQ8a5iR:V8bQ+w&QR1[+wQ2_,xR6m2_YrOXst#dQ&v!ZQ+a%mQ,r&rQ,t&tQ,u&uQ,w&wQ2Y,sS2],x2_R6l2[Q%opQ&z!_Q&}!aQ'P!bQ'R!cQ'q!uQ+`%lQ+l%zQ,Q&XQ,h&mQ-P&|W-p'k's't'wQ-w'oQ0X*nQ1P+mQ1c,PS2O,i,lQ2g-OQ2h-RQ2i-SQ2}-oW3P-r-s-v-xQ5a1QQ5m1_Q5q1eQ6V1uQ6a2QQ6k2ZU6z3O3R3UQ6}3SQ8]5bQ8e5oQ8g5rQ8l5zQ8u6WQ8{6`S9[6{7PQ9^7OQ:W8cQ:b8vQ:g8|Q:n9]Q;U:XQ;]:cQ;a:oQ;l;VR;o;^Q%zyQ'd!iQ'o!uU+m%{%|%}Q-W'VU-k'e'f'gS-o'k'uQ0Q*jS1Q+n+oQ2o-YS2{-l-mQ3S-tS4p0R0UQ5b1RQ6v2uQ6y2|Q7O3TU7{4r4s4vQ9z7}R;O9{S$wi>PR*{%VU%Ui%V>PR0f*yQ$viS(u#v+iS)c$b$cQ)e$dQ*[$xS*e${*YQ*t%OQ*u%QQ+Q%^Q+R%_Q+V%cQ.lPQ=}>XQ>O>YQ>Z>]R>[>^Q+O%]Q.nSR#[WR'Z!el!tQ!r!v!y!z'`'l'm'n-e-u1o5{5}S'V!e-]U*j$|*Z*oS-Y'W'_S0U*k*qQ0^*rQ2u-cQ4v0[R4{0_R({#xQ!fQT-d'`-e]!qQ!r'`-e1o5{Q#p]R'i < TypeParamList in out const TypeDefinition extends ThisType this LiteralType ArithOp Number BooleanLiteral TemplateType InterpolationEnd Interpolation InterpolationStart NullType null VoidType void TypeofType typeof MemberExpression . PropertyName [ TemplateString Escape Interpolation super RegExp ] ArrayExpression Spread , } { ObjectExpression Property async get set PropertyDefinition Block : NewTarget new NewExpression ) ( ArgList UnaryExpression delete LogicOp BitOp YieldExpression yield AwaitExpression await ParenthesizedExpression ClassExpression class ClassBody MethodDeclaration Decorator @ MemberExpression PrivatePropertyName CallExpression TypeArgList CompareOp < declare Privacy static abstract override PrivatePropertyDefinition PropertyDeclaration readonly accessor Optional TypeAnnotation Equals StaticBlock FunctionExpression ArrowFunction ParamList ParamList ArrayPattern ObjectPattern PatternProperty Privacy readonly Arrow MemberExpression BinaryExpression ArithOp ArithOp ArithOp ArithOp BitOp CompareOp instanceof satisfies CompareOp BitOp BitOp BitOp LogicOp LogicOp ConditionalExpression LogicOp LogicOp AssignmentExpression UpdateOp PostfixExpression CallExpression InstantiationExpression TaggedTemplateExpression DynamicImport import ImportMeta JSXElement JSXSelfCloseEndTag JSXSelfClosingTag JSXIdentifier JSXBuiltin JSXIdentifier JSXNamespacedName JSXMemberExpression JSXSpreadAttribute JSXAttribute JSXAttributeValue JSXEscape JSXEndTag JSXOpenTag JSXFragmentTag JSXText JSXEscape JSXStartCloseTag JSXCloseTag PrefixCast < ArrowFunction TypeParamList SequenceExpression InstantiationExpression KeyofType keyof UniqueType unique ImportType InferredType infer TypeName ParenthesizedType FunctionSignature ParamList NewSignature IndexedType TupleType Label ArrayType ReadonlyType ObjectType MethodType PropertyType IndexSignature PropertyDefinition CallSignature TypePredicate asserts is NewSignature new UnionType LogicOp IntersectionType LogicOp ConditionalType ParameterizedType ClassDeclaration abstract implements type VariableDeclaration let var using TypeAliasDeclaration InterfaceDeclaration interface EnumDeclaration enum EnumBody NamespaceDeclaration namespace module AmbientDeclaration declare GlobalDeclaration global ClassDeclaration ClassBody AmbientFunctionDeclaration ExportGroup VariableName VariableName ImportDeclaration defer ImportGroup ForStatement for ForSpec ForInSpec ForOfSpec of WhileStatement while WithStatement with DoStatement do IfStatement if else SwitchStatement switch SwitchBody CaseLabel case DefaultLabel TryStatement try CatchClause catch FinallyClause finally ReturnStatement return ThrowStatement throw BreakStatement break ContinueStatement continue DebuggerStatement debugger LabeledStatement ExpressionStatement SingleExpression SingleClassItem",maxTerm:380,context:Jk,nodeProps:[["isolate",-8,5,6,14,37,39,51,53,55,""],["group",-26,9,17,19,68,207,211,215,216,218,221,224,234,237,243,245,247,249,252,258,264,266,268,270,272,274,275,"Statement",-34,13,14,32,35,36,42,51,54,55,57,62,70,72,76,80,82,84,85,110,111,120,121,136,139,141,142,143,144,145,147,148,167,169,171,"Expression",-23,31,33,37,41,43,45,173,175,177,178,180,181,182,184,185,186,188,189,190,201,203,205,206,"Type",-3,88,103,109,"ClassItem"],["openedBy",23,"<",38,"InterpolationStart",56,"[",60,"{",73,"(",160,"JSXStartCloseTag"],["closedBy",-2,24,168,">",40,"InterpolationEnd",50,"]",61,"}",74,")",165,"JSXEndTag"]],propSources:[s1],skippedNodes:[0,5,6,278],repeatNodeCount:37,tokenData:"$Fq07[R!bOX%ZXY+gYZ-yZ[+g[]%Z]^.c^p%Zpq+gqr/mrs3cst:_tuEruvJSvwLkwx! Yxy!'iyz!(sz{!)}{|!,q|}!.O}!O!,q!O!P!/Y!P!Q!9j!Q!R#:O!R![#<_![!]#I_!]!^#Jk!^!_#Ku!_!`$![!`!a$$v!a!b$*T!b!c$,r!c!}Er!}#O$-|#O#P$/W#P#Q$4o#Q#R$5y#R#SEr#S#T$7W#T#o$8b#o#p$x#r#s$@U#s$f%Z$f$g+g$g#BYEr#BY#BZ$A`#BZ$ISEr$IS$I_$A`$I_$I|Er$I|$I}$Dk$I}$JO$Dk$JO$JTEr$JT$JU$A`$JU$KVEr$KV$KW$A`$KW&FUEr&FU&FV$A`&FV;'SEr;'S;=`I|<%l?HTEr?HT?HU$A`?HUOEr(n%d_$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z&j&hT$i&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c&j&zP;=`<%l&c'|'U]$i&j(Z!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!b(SU(Z!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}!b(iP;=`<%l'}'|(oP;=`<%l&}'[(y]$i&j(WpOY(rYZ&cZr(rrs&cs!^(r!^!_)r!_#O(r#O#P&c#P#o(r#o#p)r#p;'S(r;'S;=`*a<%lO(rp)wU(WpOY)rZr)rs#O)r#P;'S)r;'S;=`*Z<%lO)rp*^P;=`<%l)r'[*dP;=`<%l(r#S*nX(Wp(Z!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g#S+^P;=`<%l*g(n+dP;=`<%l%Z07[+rq$i&j(Wp(Z!b'|0/lOX%ZXY+gYZ&cZ[+g[p%Zpq+gqr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p$f%Z$f$g+g$g#BY%Z#BY#BZ+g#BZ$IS%Z$IS$I_+g$I_$JT%Z$JT$JU+g$JU$KV%Z$KV$KW+g$KW&FU%Z&FU&FV+g&FV;'S%Z;'S;=`+a<%l?HT%Z?HT?HU+g?HUO%Z07[.ST(X#S$i&j'}0/lO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c07[.n_$i&j(Wp(Z!b'}0/lOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z)3p/x`$i&j!p),Q(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`0z!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW1V`#v(Ch$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`2X!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW2d_#v(Ch$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'At3l_(V':f$i&j(Z!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k(^4r_$i&j(Z!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k&z5vX$i&jOr5qrs6cs!^5q!^!_6y!_#o5q#o#p6y#p;'S5q;'S;=`7h<%lO5q&z6jT$d`$i&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c`6|TOr6yrs7]s;'S6y;'S;=`7b<%lO6y`7bO$d``7eP;=`<%l6y&z7kP;=`<%l5q(^7w]$d`$i&j(Z!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!r8uZ(Z!bOY8pYZ6yZr8prs9hsw8pwx6yx#O8p#O#P6y#P;'S8p;'S;=`:R<%lO8p!r9oU$d`(Z!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}!r:UP;=`<%l8p(^:[P;=`<%l4k%9[:hh$i&j(Wp(Z!bOY%ZYZ&cZq%Zqr`#P#o`x!^=^!^!_?q!_#O=^#O#P>`#P#o=^#o#p?q#p;'S=^;'S;=`@h<%lO=^&n>gXWS$i&jOY>`YZ&cZ!^>`!^!_?S!_#o>`#o#p?S#p;'S>`;'S;=`?k<%lO>`S?XSWSOY?SZ;'S?S;'S;=`?e<%lO?SS?hP;=`<%l?S&n?nP;=`<%l>`!f?xWWS(Z!bOY?qZw?qwx?Sx#O?q#O#P?S#P;'S?q;'S;=`@b<%lO?q!f@eP;=`<%l?q(Q@kP;=`<%l=^'`@w]WS$i&j(WpOY@nYZ&cZr@nrs>`s!^@n!^!_Ap!_#O@n#O#P>`#P#o@n#o#pAp#p;'S@n;'S;=`Bg<%lO@ntAwWWS(WpOYApZrAprs?Ss#OAp#O#P?S#P;'SAp;'S;=`Ba<%lOAptBdP;=`<%lAp'`BjP;=`<%l@n#WBvYWS(Wp(Z!bOYBmZrBmrs?qswBmwxApx#OBm#O#P?S#P;'SBm;'S;=`Cf<%lOBm#WCiP;=`<%lBm(rCoP;=`<%l^!Q^$i&j!X7`OY!=yYZ&cZ!P!=y!P!Q!>|!Q!^!=y!^!_!@c!_!}!=y!}#O!CW#O#P!Dy#P#o!=y#o#p!@c#p;'S!=y;'S;=`!Ek<%lO!=y|#X#Z&c#Z#[!>|#[#]&c#]#^!>|#^#a&c#a#b!>|#b#g&c#g#h!>|#h#i&c#i#j!>|#j#k!>|#k#m&c#m#n!>|#n#o&c#p;'S&c;'S;=`&w<%lO&c7`!@hX!X7`OY!@cZ!P!@c!P!Q!AT!Q!}!@c!}#O!Ar#O#P!Bq#P;'S!@c;'S;=`!CQ<%lO!@c7`!AYW!X7`#W#X!AT#Z#[!AT#]#^!AT#a#b!AT#g#h!AT#i#j!AT#j#k!AT#m#n!AT7`!AuVOY!ArZ#O!Ar#O#P!B[#P#Q!@c#Q;'S!Ar;'S;=`!Bk<%lO!Ar7`!B_SOY!ArZ;'S!Ar;'S;=`!Bk<%lO!Ar7`!BnP;=`<%l!Ar7`!BtSOY!@cZ;'S!@c;'S;=`!CQ<%lO!@c7`!CTP;=`<%l!@c^!Ezl$i&j(Z!b!X7`OY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#W&}#W#X!Eq#X#Z&}#Z#[!Eq#[#]&}#]#^!Eq#^#a&}#a#b!Eq#b#g&}#g#h!Eq#h#i&}#i#j!Eq#j#k!Eq#k#m&}#m#n!Eq#n#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}8r!GyZ(Z!b!X7`OY!GrZw!Grwx!@cx!P!Gr!P!Q!Hl!Q!}!Gr!}#O!JU#O#P!Bq#P;'S!Gr;'S;=`!J|<%lO!Gr8r!Hse(Z!b!X7`OY'}Zw'}x#O'}#P#W'}#W#X!Hl#X#Z'}#Z#[!Hl#[#]'}#]#^!Hl#^#a'}#a#b!Hl#b#g'}#g#h!Hl#h#i'}#i#j!Hl#j#k!Hl#k#m'}#m#n!Hl#n;'S'};'S;=`(f<%lO'}8r!JZX(Z!bOY!JUZw!JUwx!Arx#O!JU#O#P!B[#P#Q!Gr#Q;'S!JU;'S;=`!Jv<%lO!JU8r!JyP;=`<%l!JU8r!KPP;=`<%l!Gr>^!KZ^$i&j(Z!bOY!KSYZ&cZw!KSwx!CWx!^!KS!^!_!JU!_#O!KS#O#P!DR#P#Q!^!LYP;=`<%l!KS>^!L`P;=`<%l!_#c#d#Bq#d#l%Z#l#m#Es#m#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#>j_$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#?rd$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!R#AQ!R!S#AQ!S!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#AQ#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#A]f$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!R#AQ!R!S#AQ!S!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#AQ#S#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#Bzc$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!Y#DV!Y!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#DV#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#Dbe$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!Y#DV!Y!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#DV#S#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#E|g$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![#Ge![!^%Z!^!_*g!_!c%Z!c!i#Ge!i#O%Z#O#P&c#P#R%Z#R#S#Ge#S#T%Z#T#Z#Ge#Z#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#Gpi$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![#Ge![!^%Z!^!_*g!_!c%Z!c!i#Ge!i#O%Z#O#P&c#P#R%Z#R#S#Ge#S#T%Z#T#Z#Ge#Z#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z*)x#Il_!g$b$i&j$O)Lv(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z)[#Jv_al$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z04f#LS^h#)`#R-v$?V_!^(CdvBr$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z?O$@a_!q7`$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z07[$Aq|$i&j(Wp(Z!b'|0/l$]#t(T,2j(e$I[OX%ZXY+gYZ&cZ[+g[p%Zpq+gqr%Zrs&}st%ZtuEruw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Er![!^%Z!^!_*g!_!c%Z!c!}Er!}#O%Z#O#P&c#P#R%Z#R#SEr#S#T%Z#T#oEr#o#p*g#p$f%Z$f$g+g$g#BYEr#BY#BZ$A`#BZ$ISEr$IS$I_$A`$I_$JTEr$JT$JU$A`$JU$KVEr$KV$KW$A`$KW&FUEr&FU&FV$A`&FV;'SEr;'S;=`I|<%l?HTEr?HT?HU$A`?HUOEr07[$D|k$i&j(Wp(Z!b'}0/l$]#t(T,2j(e$I[OY%ZYZ&cZr%Zrs&}st%ZtuEruw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Er![!^%Z!^!_*g!_!c%Z!c!}Er!}#O%Z#O#P&c#P#R%Z#R#SEr#S#T%Z#T#oEr#o#p*g#p$g%Z$g;'SEr;'S;=`I|<%lOEr",tokenizers:[t1,i1,n1,r1,2,3,4,5,6,7,8,9,10,11,12,13,14,e1,new yi("$S~RRtu[#O#Pg#S#T#|~_P#o#pb~gOx~~jVO#i!P#i#j!U#j#l!P#l#m!q#m;'S!P;'S;=`#v<%lO!P~!UO!U~~!XS!Q![!e!c!i!e#T#Z!e#o#p#Z~!hR!Q![!q!c!i!q#T#Z!q~!tR!Q![!}!c!i!}#T#Z!}~#QR!Q![!P!c!i!P#T#Z!P~#^R!Q![#g!c!i#g#T#Z#g~#jS!Q![#g!c!i#g#T#Z#g#q#r!P~#yP;=`<%l!P~$RO(c~~",141,340),new yi("j~RQYZXz{^~^O(Q~~aP!P!Qd~iO(R~~",25,323)],topRules:{Script:[0,7],SingleExpression:[1,276],SingleClassItem:[2,277]},dialects:{jsx:0,ts:15175},dynamicPrecedences:{80:1,82:1,94:1,169:1,199:1},specialized:[{term:327,get:i=>o1[i]||-1},{term:343,get:i=>a1[i]||-1},{term:95,get:i=>l1[i]||-1}],tokenPrec:15201});var Mp=[ce("function ${name}(${params}) {\n ${}\n}",{label:"function",detail:"definition",type:"keyword"}),ce("for (let ${index} = 0; ${index} < ${bound}; ${index}++) {\n ${}\n}",{label:"for",detail:"loop",type:"keyword"}),ce("for (let ${name} of ${collection}) {\n ${}\n}",{label:"for",detail:"of loop",type:"keyword"}),ce("do {\n ${}\n} while (${})",{label:"do",detail:"loop",type:"keyword"}),ce("while (${}) {\n ${}\n}",{label:"while",detail:"loop",type:"keyword"}),ce(`try { \${} } catch (\${error}) { \${} @@ -26,16 +26,16 @@ constructor(\${params}) { \${} } -}`,{label:"class",detail:"definition",type:"keyword"}),ce('import {${names}} from "${module}"\n${}',{label:"import",detail:"named",type:"keyword"}),ce('import ${name} from "${module}"\n${}',{label:"import",detail:"default",type:"keyword"})],c1=Mp.concat([ce("interface ${name} {\n ${}\n}",{label:"interface",detail:"definition",type:"keyword"}),ce("type ${name} = ${type}",{label:"type",detail:"definition",type:"keyword"}),ce("enum ${name} {\n ${}\n}",{label:"enum",detail:"definition",type:"keyword"})]),qp=new ui,Wp=new Set(["Script","Block","FunctionExpression","FunctionDeclaration","ArrowFunction","MethodDeclaration","ForStatement"]);function vr(i){return(e,t)=>{let n=e.node.getChild("VariableDefinition");return n&&t(n,i),!0}}var h1=["FunctionDeclaration"],f1={FunctionDeclaration:vr("function"),ClassDeclaration:vr("class"),ClassExpression:()=>!0,EnumDeclaration:vr("constant"),TypeAliasDeclaration:vr("type"),NamespaceDeclaration:vr("namespace"),VariableDefinition(i,e){i.matchContext(h1)||e(i,"variable")},TypeDefinition(i,e){e(i,"type")},__proto__:null};function jp(i,e){let t=qp.get(e);if(t)return t;let n=[],r=!0;function s(o,a){let l=i.sliceString(o.from,o.to);n.push({label:l,type:a})}return e.cursor(te.IncludeAnonymous).iterate(o=>{if(r)r=!1;else if(o.name){let a=f1[o.name];if(a&&a(o,s)||Wp.has(o.name))return!1}else if(o.to-o.from>8192){for(let a of jp(i,o.node))n.push(a);return!1}}),qp.set(e,n),n}var zp=/^[\w$\xa1-\uffff][\w$\d\xa1-\uffff]*$/,Vp=["TemplateString","String","RegExp","LineComment","BlockComment","VariableDefinition","TypeDefinition","Label","PropertyDefinition","PropertyName","PrivatePropertyDefinition","PrivatePropertyName","JSXText","JSXAttributeValue","JSXOpenTag","JSXCloseTag","JSXSelfClosingTag",".","?."];function u1(i){let e=U(i.state).resolveInner(i.pos,-1);if(Vp.indexOf(e.name)>-1)return null;let t=e.name=="VariableName"||e.to-e.from<20&&zp.test(i.state.sliceDoc(e.from,e.to));if(!t&&!i.explicit)return null;let n=[];for(let r=e;r;r=r.parent)Wp.has(r.name)&&(n=n.concat(jp(i.state.doc,r)));return{options:n,from:t?e.from:i.pos,validFor:zp}}var wt=$e.define({name:"javascript",parser:Ep.configure({props:[we.add({IfStatement:Yt({except:/^\s*({|else\b)/}),TryStatement:Yt({except:/^\s*({|catch\b|finally\b)/}),LabeledStatement:aO,SwitchBody:i=>{let e=i.textAfter,t=/^\s*\}/.test(e),n=/^\s*(case|default)\b/.test(e);return i.baseIndent+(t?0:n?1:2)*i.unit},Block:St({closing:"}"}),ArrowFunction:i=>i.baseIndent+i.unit,"TemplateString BlockComment":()=>null,"Statement Property":Yt({except:/^\s*{/}),JSXElement(i){let e=/^\s*<\//.test(i.textAfter);return i.lineIndent(i.node.from)+(e?0:i.unit)},JSXEscape(i){let e=/\s*\}/.test(i.textAfter);return i.lineIndent(i.node.from)+(e?0:i.unit)},"JSXOpenTag JSXSelfClosingTag"(i){return i.column(i.node.from)+i.unit}}),Te.add({"Block ClassBody SwitchBody EnumBody ObjectExpression ArrayExpression ObjectType":ht,BlockComment(i){return{from:i.from+2,to:i.to-2}},JSXElement(i){let e=i.firstChild;if(!e||e.name=="JSXSelfClosingTag")return null;let t=i.lastChild;return{from:e.to,to:t.type.isError?i.to:t.from}},"JSXSelfClosingTag JSXOpenTag"(i){var e;let t=(e=i.firstChild)===null||e===void 0?void 0:e.nextSibling,n=i.lastChild;return!t||t.type.isError?null:{from:t.to,to:n.type.isError?i.to:n.from}}})]}),languageData:{closeBrackets:{brackets:["(","[","{","'",'"',"`"]},commentTokens:{line:"//",block:{open:"/*",close:"*/"}},indentOnInput:/^\s*(?:case |default:|\{|\}|<\/)$/,wordChars:"$"}}),Dp={test:i=>/^JSX/.test(i.name),facet:kn({commentTokens:{block:{open:"{/*",close:"*/}"}}})},_c=wt.configure({dialect:"ts"},"typescript"),Rc=wt.configure({dialect:"jsx",props:[qs.add(i=>i.isTop?[Dp]:void 0)]}),Ac=wt.configure({dialect:"jsx ts",props:[qs.add(i=>i.isTop?[Dp]:void 0)]},"typescript"),Yp=i=>({label:i,type:"keyword"}),Ip="break case const continue default delete export extends false finally in instanceof let new return static super switch this throw true typeof var yield".split(" ").map(Yp),O1=Ip.concat(["declare","implements","private","protected","public"].map(Yp));function so(i={}){let e=i.jsx?i.typescript?Ac:Rc:i.typescript?_c:wt,t=i.typescript?c1.concat(O1):Mp.concat(Ip);return new me(e,[wt.data.of({autocomplete:Bs(Vp,Is(t))}),wt.data.of({autocomplete:u1}),i.jsx?m1:[]])}function d1(i){for(;;){if(i.name=="JSXOpenTag"||i.name=="JSXSelfClosingTag"||i.name=="JSXFragmentTag")return i;if(i.name=="JSXEscape"||!i.parent)return null;i=i.parent}}function Lp(i,e,t=i.length){for(let n=e?.firstChild;n;n=n.nextSibling)if(n.name=="JSXIdentifier"||n.name=="JSXBuiltin"||n.name=="JSXNamespacedName"||n.name=="JSXMemberExpression")return i.sliceString(n.from,Math.min(n.to,t));return""}var p1=typeof navigator=="object"&&/Android\b/.test(navigator.userAgent),m1=z.inputHandler.of((i,e,t,n,r)=>{if((p1?i.composing:i.compositionStarted)||i.state.readOnly||e!=t||n!=">"&&n!="/"||!wt.isActiveAt(i.state,e,-1))return!1;let s=r(),{state:o}=s,a=o.changeByRange(l=>{var c;let{head:h}=l,f=U(o).resolveInner(h-1,-1),u;if(f.name=="JSXStartTag"&&(f=f.parent),!(o.doc.sliceString(h-1,h)!=n||f.name=="JSXAttributeValue"&&f.to>h)){if(n==">"&&f.name=="JSXFragmentTag")return{range:l,changes:{from:h,insert:""}};if(n=="/"&&f.name=="JSXStartCloseTag"){let O=f.parent,p=O.parent;if(p&&O.from==h-2&&((u=Lp(o.doc,p.firstChild,h))||((c=p.firstChild)===null||c===void 0?void 0:c.name)=="JSXFragmentTag")){let m=`${u}>`;return{range:P.cursor(h+m.length,-1),changes:{from:h,insert:m}}}}else if(n==">"){let O=d1(f);if(O&&O.name=="JSXOpenTag"&&!/^\/?>|^<\//.test(o.doc.sliceString(h,h+2))&&(u=Lp(o.doc,O,h)))return{range:l,changes:{from:h,insert:``}}}}return{range:l}});return a.changes.empty?!1:(i.dispatch([s,o.update(a,{userEvent:"input.complete",scrollIntoView:!0})]),!0)});var $r=["_blank","_self","_top","_parent"],Zc=["ascii","utf-8","utf-16","latin1","latin1"],Ec=["get","post","put","delete"],qc=["application/x-www-form-urlencoded","multipart/form-data","text/plain"],et=["true","false"],D={},g1={a:{attrs:{href:null,ping:null,type:null,media:null,target:$r,hreflang:null}},abbr:D,address:D,area:{attrs:{alt:null,coords:null,href:null,target:null,ping:null,media:null,hreflang:null,type:null,shape:["default","rect","circle","poly"]}},article:D,aside:D,audio:{attrs:{src:null,mediagroup:null,crossorigin:["anonymous","use-credentials"],preload:["none","metadata","auto"],autoplay:["autoplay"],loop:["loop"],controls:["controls"]}},b:D,base:{attrs:{href:null,target:$r}},bdi:D,bdo:D,blockquote:{attrs:{cite:null}},body:D,br:D,button:{attrs:{form:null,formaction:null,name:null,value:null,autofocus:["autofocus"],disabled:["autofocus"],formenctype:qc,formmethod:Ec,formnovalidate:["novalidate"],formtarget:$r,type:["submit","reset","button"]}},canvas:{attrs:{width:null,height:null}},caption:D,center:D,cite:D,code:D,col:{attrs:{span:null}},colgroup:{attrs:{span:null}},command:{attrs:{type:["command","checkbox","radio"],label:null,icon:null,radiogroup:null,command:null,title:null,disabled:["disabled"],checked:["checked"]}},data:{attrs:{value:null}},datagrid:{attrs:{disabled:["disabled"],multiple:["multiple"]}},datalist:{attrs:{data:null}},dd:D,del:{attrs:{cite:null,datetime:null}},details:{attrs:{open:["open"]}},dfn:D,div:D,dl:D,dt:D,em:D,embed:{attrs:{src:null,type:null,width:null,height:null}},eventsource:{attrs:{src:null}},fieldset:{attrs:{disabled:["disabled"],form:null,name:null}},figcaption:D,figure:D,footer:D,form:{attrs:{action:null,name:null,"accept-charset":Zc,autocomplete:["on","off"],enctype:qc,method:Ec,novalidate:["novalidate"],target:$r}},h1:D,h2:D,h3:D,h4:D,h5:D,h6:D,head:{children:["title","base","link","style","meta","script","noscript","command"]},header:D,hgroup:D,hr:D,html:{attrs:{manifest:null}},i:D,iframe:{attrs:{src:null,srcdoc:null,name:null,width:null,height:null,sandbox:["allow-top-navigation","allow-same-origin","allow-forms","allow-scripts"],seamless:["seamless"]}},img:{attrs:{alt:null,src:null,ismap:null,usemap:null,width:null,height:null,crossorigin:["anonymous","use-credentials"]}},input:{attrs:{alt:null,dirname:null,form:null,formaction:null,height:null,list:null,max:null,maxlength:null,min:null,name:null,pattern:null,placeholder:null,size:null,src:null,step:null,value:null,width:null,accept:["audio/*","video/*","image/*"],autocomplete:["on","off"],autofocus:["autofocus"],checked:["checked"],disabled:["disabled"],formenctype:qc,formmethod:Ec,formnovalidate:["novalidate"],formtarget:$r,multiple:["multiple"],readonly:["readonly"],required:["required"],type:["hidden","text","search","tel","url","email","password","datetime","date","month","week","time","datetime-local","number","range","color","checkbox","radio","file","submit","image","reset","button"]}},ins:{attrs:{cite:null,datetime:null}},kbd:D,keygen:{attrs:{challenge:null,form:null,name:null,autofocus:["autofocus"],disabled:["disabled"],keytype:["RSA"]}},label:{attrs:{for:null,form:null}},legend:D,li:{attrs:{value:null}},link:{attrs:{href:null,type:null,hreflang:null,media:null,sizes:["all","16x16","16x16 32x32","16x16 32x32 64x64"]}},map:{attrs:{name:null}},mark:D,menu:{attrs:{label:null,type:["list","context","toolbar"]}},meta:{attrs:{content:null,charset:Zc,name:["viewport","application-name","author","description","generator","keywords"],"http-equiv":["content-language","content-type","default-style","refresh"]}},meter:{attrs:{value:null,min:null,low:null,high:null,max:null,optimum:null}},nav:D,noscript:D,object:{attrs:{data:null,type:null,name:null,usemap:null,form:null,width:null,height:null,typemustmatch:["typemustmatch"]}},ol:{attrs:{reversed:["reversed"],start:null,type:["1","a","A","i","I"]},children:["li","script","template","ul","ol"]},optgroup:{attrs:{disabled:["disabled"],label:null}},option:{attrs:{disabled:["disabled"],label:null,selected:["selected"],value:null}},output:{attrs:{for:null,form:null,name:null}},p:D,param:{attrs:{name:null,value:null}},pre:D,progress:{attrs:{value:null,max:null}},q:{attrs:{cite:null}},rp:D,rt:D,ruby:D,samp:D,script:{attrs:{type:["text/javascript"],src:null,async:["async"],defer:["defer"],charset:Zc}},section:D,select:{attrs:{form:null,name:null,size:null,autofocus:["autofocus"],disabled:["disabled"],multiple:["multiple"]}},slot:{attrs:{name:null}},small:D,source:{attrs:{src:null,type:null,media:null}},span:D,strong:D,style:{attrs:{type:["text/css"],media:null,scoped:null}},sub:D,summary:D,sup:D,table:D,tbody:D,td:{attrs:{colspan:null,rowspan:null,headers:null}},template:D,textarea:{attrs:{dirname:null,form:null,maxlength:null,name:null,placeholder:null,rows:null,cols:null,autofocus:["autofocus"],disabled:["disabled"],readonly:["readonly"],required:["required"],wrap:["soft","hard"]}},tfoot:D,th:{attrs:{colspan:null,rowspan:null,headers:null,scope:["row","col","rowgroup","colgroup"]}},thead:D,time:{attrs:{datetime:null}},title:D,tr:D,track:{attrs:{src:null,label:null,default:null,kind:["subtitles","captions","descriptions","chapters","metadata"],srclang:null}},ul:{children:["li","script","template","ul","ol"]},var:D,video:{attrs:{src:null,poster:null,width:null,height:null,crossorigin:["anonymous","use-credentials"],preload:["auto","metadata","none"],autoplay:["autoplay"],mediagroup:["movie"],muted:["muted"],controls:["controls"]}},wbr:D},Np={accesskey:null,class:null,contenteditable:et,contextmenu:null,dir:["ltr","rtl","auto"],draggable:["true","false","auto"],dropzone:["copy","move","link","string:","file:"],hidden:["hidden"],id:null,inert:["inert"],itemid:null,itemprop:null,itemref:null,itemscope:["itemscope"],itemtype:null,lang:["ar","bn","de","en-GB","en-US","es","fr","hi","id","ja","pa","pt","ru","tr","zh"],spellcheck:et,autocorrect:et,autocapitalize:et,style:null,tabindex:null,title:null,translate:["yes","no"],rel:["stylesheet","alternate","author","bookmark","help","license","next","nofollow","noreferrer","prefetch","prev","search","tag"],role:"alert application article banner button cell checkbox complementary contentinfo dialog document feed figure form grid gridcell heading img list listbox listitem main navigation region row rowgroup search switch tab table tabpanel textbox timer".split(" "),"aria-activedescendant":null,"aria-atomic":et,"aria-autocomplete":["inline","list","both","none"],"aria-busy":et,"aria-checked":["true","false","mixed","undefined"],"aria-controls":null,"aria-describedby":null,"aria-disabled":et,"aria-dropeffect":null,"aria-expanded":["true","false","undefined"],"aria-flowto":null,"aria-grabbed":["true","false","undefined"],"aria-haspopup":et,"aria-hidden":et,"aria-invalid":["true","false","grammar","spelling"],"aria-label":null,"aria-labelledby":null,"aria-level":null,"aria-live":["off","polite","assertive"],"aria-multiline":et,"aria-multiselectable":et,"aria-owns":null,"aria-posinset":null,"aria-pressed":["true","false","mixed","undefined"],"aria-readonly":et,"aria-relevant":null,"aria-required":et,"aria-selected":["true","false","undefined"],"aria-setsize":null,"aria-sort":["ascending","descending","none","other"],"aria-valuemax":null,"aria-valuemin":null,"aria-valuenow":null,"aria-valuetext":null},Fp="beforeunload copy cut dragstart dragover dragleave dragenter dragend drag paste focus blur change click load mousedown mouseenter mouseleave mouseup keydown keyup resize scroll unload".split(" ").map(i=>"on"+i);for(let i of Fp)Np[i]=null;var Bi=class{constructor(e,t){this.tags={...g1,...e},this.globalAttrs={...Np,...t},this.allTags=Object.keys(this.tags),this.globalAttrNames=Object.keys(this.globalAttrs)}};Bi.default=new Bi;function $n(i,e,t=i.length){if(!e)return"";let n=e.firstChild,r=n&&n.getChild("TagName");return r?i.sliceString(r.from,Math.min(r.to,t)):""}function Tn(i,e=!1){for(;i;i=i.parent)if(i.name=="Element")if(e)e=!1;else return i;return null}function Hp(i,e,t){let n=t.tags[$n(i,Tn(e))];return n?.children||t.allTags}function zc(i,e){let t=[];for(let n=Tn(e);n&&!n.type.isTop;n=Tn(n.parent)){let r=$n(i,n);if(r&&n.lastChild.name=="CloseTag")break;r&&t.indexOf(r)<0&&(e.name=="EndTag"||e.from>=n.firstChild.to)&&t.push(r)}return t}var Kp=/^[:\-\.\w\u00b7-\uffff]*$/;function Bp(i,e,t,n,r){let s=/\s*>/.test(i.sliceDoc(r,r+5))?"":">",o=Tn(t,t.name=="StartTag"||t.name=="TagName");return{from:n,to:r,options:Hp(i.doc,o,e).map(a=>({label:a,type:"type"})).concat(zc(i.doc,t).map((a,l)=>({label:"/"+a,apply:"/"+a+s,type:"type",boost:99-l}))),validFor:/^\/?[:\-\.\w\u00b7-\uffff]*$/}}function Up(i,e,t,n){let r=/\s*>/.test(i.sliceDoc(n,n+5))?"":">";return{from:t,to:n,options:zc(i.doc,e).map((s,o)=>({label:s,apply:s+r,type:"type",boost:99-o})),validFor:Kp}}function Q1(i,e,t,n){let r=[],s=0;for(let o of Hp(i.doc,t,e))r.push({label:"<"+o,type:"type"});for(let o of zc(i.doc,t))r.push({label:"",type:"type",boost:99-s++});return{from:n,to:n,options:r,validFor:/^<\/?[:\-\.\w\u00b7-\uffff]*$/}}function b1(i,e,t,n,r){let s=Tn(t),o=s?e.tags[$n(i.doc,s)]:null,a=o&&o.attrs?Object.keys(o.attrs):[],l=o&&o.globalAttrs===!1?a:a.length?a.concat(e.globalAttrNames):e.globalAttrNames;return{from:n,to:r,options:l.map(c=>({label:c,type:"property"})),validFor:Kp}}function S1(i,e,t,n,r){var s;let o=(s=t.parent)===null||s===void 0?void 0:s.getChild("AttributeName"),a=[],l;if(o){let c=i.sliceDoc(o.from,o.to),h=e.globalAttrs[c];if(!h){let f=Tn(t),u=f?e.tags[$n(i.doc,f)]:null;h=u?.attrs&&u.attrs[c]}if(h){let f=i.sliceDoc(n,r).toLowerCase(),u='"',O='"';/^['"]/.test(f)?(l=f[0]=='"'?/^[^"]*$/:/^[^']*$/,u="",O=i.sliceDoc(r,r+1)==f[0]?"":f[0],f=f.slice(1),n++):l=/^[^\s<>='"]*$/;for(let p of h)a.push({label:p,apply:u+p+O,type:"constant"})}}return{from:n,to:r,options:a,validFor:l}}function Jp(i,e){let{state:t,pos:n}=e,r=U(t).resolveInner(n,-1),s=r.resolve(n);for(let o=n,a;s==r&&(a=r.childBefore(o));){let l=a.lastChild;if(!l||!l.type.isError||l.fromJp(n,r)}var k1=wt.parser.configure({top:"SingleExpression"}),tm=[{tag:"script",attrs:i=>i.type=="text/typescript"||i.lang=="ts",parser:_c.parser},{tag:"script",attrs:i=>i.type=="text/babel"||i.type=="text/jsx",parser:Rc.parser},{tag:"script",attrs:i=>i.type=="text/typescript-jsx",parser:Ac.parser},{tag:"script",attrs(i){return/^(importmap|speculationrules|application\/(.+\+)?json)$/i.test(i.type)},parser:k1},{tag:"script",attrs(i){return!i.type||/^(?:text|application)\/(?:x-)?(?:java|ecma)script$|^module$|^$/i.test(i.type)},parser:wt.parser},{tag:"style",attrs(i){return(!i.lang||i.lang=="css")&&(!i.type||/^(text\/)?(x-)?(stylesheet|css)$/i.test(i.type))},parser:Pr.parser}],im=[{name:"style",parser:Pr.parser.configure({top:"Styles"})}].concat(Fp.map(i=>({name:i,parser:wt.parser}))),nm=$e.define({name:"html",parser:Sp.configure({props:[we.add({Element(i){let e=/^(\s*)(<\/)?/.exec(i.textAfter);return i.node.to<=i.pos+e[0].length?i.continue():i.lineIndent(i.node.from)+(e[2]?0:i.unit)},"OpenTag CloseTag SelfClosingTag"(i){return i.column(i.node.from)+i.unit},Document(i){if(i.pos+/\s*/.exec(i.textAfter)[0].lengthi.getChild("TagName")})]}),languageData:{commentTokens:{block:{open:""}},indentOnInput:/^\s*<\/\w+\W$/,wordChars:"-_"}}),oo=nm.configure({wrap:wc(tm,im)});function ao(i={}){let e="",t;i.matchClosingTags===!1&&(e="noMatch"),i.selfClosingTags===!0&&(e=(e?e+" ":"")+"selfClosing"),(i.nestedLanguages&&i.nestedLanguages.length||i.nestedAttributes&&i.nestedAttributes.length)&&(t=wc((i.nestedLanguages||[]).concat(tm),(i.nestedAttributes||[]).concat(im)));let n=t?nm.configure({wrap:t,dialect:e}):e?oo.configure({dialect:e}):oo;return new me(n,[oo.data.of({autocomplete:y1(i)}),i.autoCloseTags!==!1?x1:[],so().support,ro().support])}var Gp=new Set("area base br col command embed frame hr img input keygen link meta param source track wbr menuitem".split(" ")),x1=z.inputHandler.of((i,e,t,n,r)=>{if(i.composing||i.state.readOnly||e!=t||n!=">"&&n!="/"||!oo.isActiveAt(i.state,e,-1))return!1;let s=r(),{state:o}=s,a=o.changeByRange(l=>{var c,h,f;let u=o.doc.sliceString(l.from-1,l.to)==n,{head:O}=l,p=U(o).resolveInner(O,-1),m;if(u&&n==">"&&p.name=="EndTag"){let b=p.parent;if(((h=(c=b.parent)===null||c===void 0?void 0:c.lastChild)===null||h===void 0?void 0:h.name)!="CloseTag"&&(m=$n(o.doc,b.parent,O))&&!Gp.has(m)){let g=O+(o.doc.sliceString(O,O+1)===">"?1:0),Q=``;return{range:l,changes:{from:O,to:g,insert:Q}}}}else if(u&&n=="/"&&p.name=="IncompleteCloseTag"){let b=p.parent;if(p.from==O-2&&((f=b.lastChild)===null||f===void 0?void 0:f.name)!="CloseTag"&&(m=$n(o.doc,b,O))&&!Gp.has(m)){let g=O+(o.doc.sliceString(O,O+1)===">"?1:0),Q=`${m}>`;return{range:P.cursor(O+Q.length,-1),changes:{from:O,to:g,insert:Q}}}}return{range:l}});return a.changes.empty?!1:(i.dispatch([s,o.update(a,{userEvent:"input.complete",scrollIntoView:!0})]),!0)});var om=kn({commentTokens:{block:{open:""}}}),am=new I,lm=Yd.configure({props:[Te.add(i=>!i.is("Block")||i.is("Document")||Wc(i)!=null||w1(i)?void 0:(e,t)=>({from:t.doc.lineAt(e.from).to,to:e.to})),am.add(Wc),we.add({Document:()=>null}),bt.add({Document:om})]});function Wc(i){let e=/^(?:ATX|Setext)Heading(\d)$/.exec(i.name);return e?+e[1]:void 0}function w1(i){return i.name=="OrderedList"||i.name=="BulletList"}function P1(i,e){let t=i;for(;;){let n=t.nextSibling,r;if(!n||(r=Wc(n.type))!=null&&r<=e)break;t=n}return t.to}var v1=lO.of((i,e,t)=>{for(let n=U(i).resolveInner(t,-1);n&&!(n.fromt)return{from:t,to:s}}return null});function jc(i){return new xe(om,i,[],"markdown")}var $1=jc(lm),T1=lm.configure([Ud,Fd,Nd,Hd,{props:[Te.add({Table:(i,e)=>({from:e.doc.lineAt(i.from).to,to:i.to})})]}]),Si=jc(T1);function C1(i,e){return t=>{if(t&&i){let n=null;if(t=/\S*/.exec(t)[0],typeof i=="function"?n=i(t):n=Be.matchLanguageName(i,t,!0),n instanceof Be)return n.support?n.support.language.parser:Mi.getSkippingParser(n.load());if(n)return n.parser}return e?e.parser:null}}var Tr=class{constructor(e,t,n,r,s,o,a){this.node=e,this.from=t,this.to=n,this.spaceBefore=r,this.spaceAfter=s,this.type=o,this.item=a}blank(e,t=!0){let n=this.spaceBefore+(this.node.name=="Blockquote"?">":"");if(e!=null){for(;n.length0;r--)n+=" ";return n+(t?this.spaceAfter:"")}}marker(e,t){let n=this.node.name=="OrderedList"?String(+hm(this.item,e)[2]+t):"";return this.spaceBefore+n+this.type+this.spaceAfter}};function cm(i,e){let t=[],n=[];for(let r=i;r;r=r.parent){if(r.name=="FencedCode")return n;(r.name=="ListItem"||r.name=="Blockquote")&&t.push(r)}for(let r=t.length-1;r>=0;r--){let s=t[r],o,a=e.lineAt(s.from),l=s.from-a.from;if(s.name=="Blockquote"&&(o=/^ *>( ?)/.exec(a.text.slice(l))))n.push(new Tr(s,l,l+o[0].length,"",o[1],">",null));else if(s.name=="ListItem"&&s.parent.name=="OrderedList"&&(o=/^( *)\d+([.)])( *)/.exec(a.text.slice(l)))){let c=o[3],h=o[0].length;c.length>=4&&(c=c.slice(0,c.length-4),h-=4),n.push(new Tr(s.parent,l,l+h,o[1],c,o[2],s))}else if(s.name=="ListItem"&&s.parent.name=="BulletList"&&(o=/^( *)([-+*])( {1,4}\[[ xX]\])?( +)/.exec(a.text.slice(l)))){let c=o[4],h=o[0].length;c.length>4&&(c=c.slice(0,c.length-4),h-=4);let f=o[2];o[3]&&(f+=o[3].replace(/[xX]/," ")),n.push(new Tr(s.parent,l,l+h,o[1],c,f,s))}}return n}function hm(i,e){return/^(\s*)(\d+)(?=[.)])/.exec(e.sliceString(i.from,i.from+10))}function Lc(i,e,t,n=0){for(let r=-1,s=i;;){if(s.name=="ListItem"){let a=hm(s,e),l=+a[2];if(r>=0){if(l!=r+1)return;t.push({from:s.from+a[1].length,to:s.from+a[0].length,insert:String(r+2+n)})}r=l}let o=s.nextSibling;if(!o)break;s=o}}function Vc(i,e){let t=/^[ \t]*/.exec(i)[0].length;if(!t||e.facet(Rt)!=" ")return i;let n=Fe(i,4,t),r="";for(let s=n;s>0;)s>=4?(r+=" ",s-=4):(r+=" ",s--);return r+i.slice(t)}var Dc=(i={})=>({state:e,dispatch:t})=>{let n=U(e),{doc:r}=e,s=null,o=e.changeByRange(a=>{if(!a.empty||!Si.isActiveAt(e,a.from,-1)&&!Si.isActiveAt(e,a.from,1))return s={range:a};let l=a.from,c=r.lineAt(l),h=cm(n.resolveInner(l,-1),r);for(;h.length&&h[h.length-1].from>l-c.from;)h.pop();if(!h.length)return s={range:a};let f=h[h.length-1];if(f.to-f.spaceAfter.length>l-c.from)return s={range:a};let u=l>=f.to-f.spaceAfter.length&&!/\S/.test(c.text.slice(f.to));if(f.item&&u){let g=f.node.firstChild,Q=f.node.getChild("ListItem","ListItem");if(g.to>=l||Q&&Q.to0&&!/[^\s>]/.test(r.lineAt(c.from-1).text)||i.nonTightLists===!1){let S=h.length>1?h[h.length-2]:null,x,v="";S&&S.item?(x=c.from+S.from,v=S.marker(r,1)):x=c.from+(S?S.to:0);let $=[{from:x,to:l,insert:v}];return f.node.name=="OrderedList"&&Lc(f.item,r,$,-2),S&&S.node.name=="OrderedList"&&Lc(S.item,r,$),{range:P.cursor(x+v.length),changes:$}}else{let S=sm(h,e,c);return{range:P.cursor(l+S.length+1),changes:{from:c.from,insert:S+e.lineBreak}}}}if(f.node.name=="Blockquote"&&u&&c.from){let g=r.lineAt(c.from-1),Q=/>\s*$/.exec(g.text);if(Q&&Q.index==f.from){let S=e.changes([{from:g.from+Q.index,to:g.to},{from:c.from+f.from,to:c.to}]);return{range:a.map(S),changes:S}}}let O=[];f.node.name=="OrderedList"&&Lc(f.item,r,O);let p=f.item&&f.item.from]*/.exec(c.text)[0].length>=f.to)for(let g=0,Q=h.length-1;g<=Q;g++)m+=g==Q&&!p?h[g].marker(r,1):h[g].blank(gc.from&&/\s/.test(c.text.charAt(b-c.from-1));)b--;return m=Vc(m,e),_1(f.node,e.doc)&&(m=sm(h,e,c)+e.lineBreak+m),O.push({from:b,to:l,insert:e.lineBreak+m}),{range:P.cursor(b+m.length+1),changes:O}});return s?!1:(t(e.update(o,{scrollIntoView:!0,userEvent:"input"})),!0)},X1=Dc();function rm(i){return i.name=="QuoteMark"||i.name=="ListMark"}function _1(i,e){if(i.name!="OrderedList"&&i.name!="BulletList")return!1;let t=i.firstChild,n=i.getChild("ListItem","ListItem");if(!n)return!1;let r=e.lineAt(t.to),s=e.lineAt(n.from),o=/^[\s>]*$/.test(r.text);return r.number+(o?0:1){let t=U(i),n=null,r=i.changeByRange(s=>{let o=s.from,{doc:a}=i;if(s.empty&&Si.isActiveAt(i,s.from)){let l=a.lineAt(o),c=cm(R1(t,o),a);if(c.length){let h=c[c.length-1],f=h.to-h.spaceAfter.length+(h.spaceAfter?1:0);if(o-l.from>f&&!/\S/.test(l.text.slice(f,o-l.from)))return{range:P.cursor(l.from+f),changes:{from:l.from+f,to:o}};if(o-l.from==f&&(!h.item||l.from<=h.item.from||!/\S/.test(l.text.slice(0,h.to)))){let u=l.from+h.from;if(h.item&&h.node.from{var t;let{main:n}=e.state.selection;if(n.empty)return!1;let r=(t=i.clipboardData)===null||t===void 0?void 0:t.getData("text/plain");if(!r||!/^(https?:\/\/|mailto:|xmpp:|www\.)/.test(r)||(/^www\./.test(r)&&(r="https://"+r),!Si.isActiveAt(e.state,n.from,1)))return!1;let s=U(e.state),o=!1;return s.iterate({from:n.from,to:n.to,enter:a=>{(a.from>n.from||q1.test(a.name))&&(o=!0)},leave:a=>{a.to{if(i.next==-1&&e.canShift(um))return i.acceptToken(um);let t=i.peek(-1);if((Gt(t)||t<0)&&e.context.type!=Xr){if(Xn(i,45))if(e.canShift(Cn))i.acceptToken(Cn);else return i.acceptToken(L1,3);if(Xn(i,46))if(e.canShift(Cn))i.acceptToken(Cn);else return i.acceptToken(M1,3);let n=0;for(;i.next==32;)n++,i.advance();(n{if(e.context.type==Xr){i.next==63&&(i.advance(),Ui(i.next)&&i.acceptToken(V1));return}if(i.next==45)i.advance(),Ui(i.next)&&i.acceptToken(e.context.type==Hc&&e.context.depth==Cr(i,i.pos-1)?W1:pm);else if(i.next==63)i.advance(),Ui(i.next)&&i.acceptToken(e.context.type==Uc&&e.context.depth==Cr(i,i.pos-1)?j1:mm);else{let t=i.pos;for(;;)if(Nc(i.next)){if(i.pos==t)return;i.advance()}else if(i.next==33)Sm(i);else if(i.next==38)Fc(i);else if(i.next==42){Fc(i);break}else if(i.next==39||i.next==34){if(Kc(i,!0))break;return}else if(i.next==91||i.next==123){if(!ox(i))return;break}else{ym(i,!0,!1,0);break}for(;Nc(i.next);)i.advance();if(i.next==58){if(i.pos==t&&e.canShift(H1))return;let n=i.peek(1);Ui(n)&&i.acceptTokenTo(e.context.type==Uc&&e.context.depth==Cr(i,t)?D1:gm,t)}}},{contextual:!0});function sx(i){return i>32&&i<127&&i!=34&&i!=37&&i!=44&&i!=60&&i!=62&&i!=92&&i!=94&&i!=96&&i!=123&&i!=124&&i!=125}function Om(i){return i>=48&&i<=57||i>=97&&i<=102||i>=65&&i<=70}function dm(i,e){return i.next==37?(i.advance(),Om(i.next)&&i.advance(),Om(i.next)&&i.advance(),!0):sx(i.next)||e&&i.next==44?(i.advance(),!0):!1}function Sm(i){if(i.advance(),i.next==60){for(i.advance();;)if(!dm(i,!0)){i.next==62&&i.advance();break}}else for(;dm(i,!1););}function Fc(i){for(i.advance();!Ui(i.next)&&lo(i.next)!="f";)i.advance()}function Kc(i,e){let t=i.next,n=!1,r=i.pos;for(i.advance();;){let s=i.next;if(s<0)break;if(i.advance(),s==t)if(s==39)if(i.next==39)i.advance();else break;else break;else if(s==92&&t==34)i.next>=0&&i.advance();else if(Gt(s)){if(e)return!1;n=!0}else if(e&&i.pos>=r+1024)return!1}return!n}function ox(i){for(let e=[],t=i.pos+1024;;)if(i.next==91||i.next==123)e.push(i.next),i.advance();else if(i.next==39||i.next==34){if(!Kc(i,!0))return!1}else if(i.next==93||i.next==125){if(e[e.length-1]!=i.next-2)return!1;if(e.pop(),i.advance(),!e.length)return!0}else{if(i.next<0||i.pos>t||Gt(i.next))return!1;i.advance()}}var ax="iiisiiissisfissssssssssssisssiiissssssssssssssssssssssssssfsfssissssssssssssssssssssssssssfif";function lo(i){return i<33?"u":i>125?"s":ax[i-33]}function Bc(i,e){let t=lo(i);return t!="u"&&!(e&&t=="f")}function ym(i,e,t,n){if(lo(i.next)=="s"||(i.next==63||i.next==58||i.next==45)&&Bc(i.peek(1),t))i.advance();else return!1;let r=i.pos;for(;;){let s=i.next,o=0,a=n+1;for(;bm(s);){if(Gt(s)){if(e)return!1;a=0}else a++;s=i.peek(++o)}if(!(s>=0&&(s==58?Bc(i.peek(o+1),t):s==35?i.peek(o-1)!=32:Bc(s,t)))||!t&&a<=n||a==0&&!t&&(Xn(i,45,o)||Xn(i,46,o)))break;if(e&&lo(s)=="f")return!1;for(let c=o;c>=0;c--)i.advance();if(e&&i.pos>r+1024)return!1}return!0}var lx=new J((i,e)=>{if(i.next==33)Sm(i),i.acceptToken(G1);else if(i.next==38||i.next==42){let t=i.next==38?B1:U1;Fc(i),i.acceptToken(t)}else i.next==39||i.next==34?(Kc(i,!1),i.acceptToken(I1)):ym(i,!1,e.context.type==Xr,e.context.depth)&&i.acceptToken(Y1)}),cx=new J((i,e)=>{let t=e.context.type==Gc?e.context.depth:-1,n=i.pos;e:for(;;){let r=0,s=i.next;for(;s==32;)s=i.peek(++r);if(!r&&(Xn(i,45,r)||Xn(i,46,r))||!Gt(s)&&(t<0&&(t=Math.max(e.context.depth+1,r)),rYAN>Y",stateData:";S~O!fOS!gOS^OS~OP_OQbORSOTUOWROXROYYOZZO[XOcPOqQO!PVO!V[O!cTO~O`cO~P]OVkOWROXROYeOZfO[dOcPOmhOqQO~OboO~P!bOVtOWROXROYeOZfO[dOcPOmrOqQO~OpwO~P#WORSOTUOWROXROYYOZZO[XOcPOqQO!PVO!cTO~OSvP!avP!bvP~P#|OWROXROYeOZfO[dOcPOqQO~OmzO~P%OOm!OOUzP!azP!bzP!dzP~P#|O^!SO!b!QO!f!TO!g!RO~ORSOTUOWROXROcPOqQO!PVO!cTO~OY!UOP!QXQ!QX!V!QX!`!QXS!QX!a!QX!b!QXU!QXm!QX!d!QX~P&aO[!WOP!SXQ!SX!V!SX!`!SXS!SX!a!SX!b!SXU!SXm!SX!d!SX~P&aO^!ZO!W![O!b!YO!f!]O!g!YO~OP!_O!V[OQaX!`aX~OPaXQaX!VaX!`aX~P#|OP!bOQ!cO!V[O~OP_O!V[O~P#|OWROXROY!fOcPOqQObfXmfXofXpfX~OWROXRO[!hOcPOqQObhXmhXohXphX~ObeXmlXoeX~ObkXokX~P%OOm!kO~Om!lObnPonP~P%OOb!pOo!oO~Ob!pO~P!bOm!sOosXpsX~OosXpsX~P%OOm!uOotPptP~P%OOo!xOp!yO~Op!yO~P#WOS!|O!a#OO!b#OO~OUyX!ayX!byX!dyX~P#|Om#QO~OU#SO!a#UO!b#UO!d#RO~Om#WOUzX!azX!bzX!dzX~O]#XO~O!b#XO!g#YO~O^#ZO!b#XO!g#YO~OP!RXQ!RX!V!RX!`!RXS!RX!a!RX!b!RXU!RXm!RX!d!RX~P&aOP!TXQ!TX!V!TX!`!TXS!TX!a!TX!b!TXU!TXm!TX!d!TX~P&aO!b#^O!g#^O~O^#_O!b#^O!f#`O!g#^O~O^#_O!W#aO!b#^O!g#^O~OPaaQaa!Vaa!`aa~P#|OP#cO!V[OQ!XX!`!XX~OP!XXQ!XX!V!XX!`!XX~P#|OP_O!V[OQ!_X!`!_X~P#|OWROXROcPOqQObgXmgXogXpgX~OWROXROcPOqQObiXmiXoiXpiX~Obkaoka~P%OObnXonX~P%OOm#kO~Ob#lOo!oO~Oosapsa~P%OOotXptX~P%OOm#pO~Oo!xOp#qO~OSwP!awP!bwP~P#|OS!|O!a#vO!b#vO~OUya!aya!bya!dya~P#|Om#xO~P%OOm#{OU}P!a}P!b}P!d}P~P#|OU#SO!a$OO!b$OO!d#RO~O]$QO~O!b$QO!g$RO~O!b$SO!g$SO~O^$TO!b$SO!g$SO~O^$TO!b$SO!f$UO!g$SO~OP!XaQ!Xa!V!Xa!`!Xa~P#|Obnaona~P%OOotapta~P%OOo!xO~OU|X!a|X!b|X!d|X~P#|Om$ZO~Om$]OU}X!a}X!b}X!d}X~O]$^O~O!b$_O!g$_O~O^$`O!b$_O!g$_O~OU|a!a|a!b|a!d|a~P#|O!b$cO!g$cO~O",goto:",]!mPPPPPPPPPPPPPPPPP!nPP!v#v#|$`#|$c$f$j$nP%VPPP!v%Y%^%a%{&O%a&R&U&X&_&b%aP&e&{&e'O'RPP']'a'g'm's'y(XPPPPPPPP(_)e*X+c,VUaObcR#e!c!{ROPQSTUXY_bcdehknrtvz!O!U!W!_!b!c!f!h!k!l!s!u!|#Q#R#S#W#c#k#p#x#{$Z$]QmPR!qnqfPQThknrtv!k!l!s!u#R#k#pR!gdR!ieTlPnTjPnSiPnSqQvQ{TQ!mkQ!trQ!vtR#y#RR!nkTsQvR!wt!RWOSUXY_bcz!O!U!W!_!b!c!|#Q#S#W#c#x#{$Z$]RySR#t!|R|TR|UQ!PUR#|#SR#z#RR#z#SyZOSU_bcz!O!_!b!c!|#Q#S#W#c#x#{$Z$]R!VXR!XYa]O^abc!a!c!eT!da!eQnPR!rnQvQR!{vQ!}yR#u!}Q#T|R#}#TW^Obc!cS!^^!aT!aa!eQ!eaR#f!eW`Obc!cQxSS}U#SQ!`_Q#PzQ#V!OQ#b!_Q#d!bQ#s!|Q#w#QQ$P#WQ$V#cQ$Y#xQ$[#{Q$a$ZR$b$]xZOSU_bcz!O!_!b!c!|#Q#S#W#c#x#{$Z$]Q!VXQ!XYQ#[!UR#]!W!QWOSUXY_bcz!O!U!W!_!b!c!|#Q#S#W#c#x#{$Z$]pfPQThknrtv!k!l!s!u#R#k#pQ!gdQ!ieQ#g!fR#h!hSgPn^pQTkrtv#RQ!jhQ#i!kQ#j!lQ#n!sQ#o!uQ$W#kR$X#pQuQR!zv",nodeNames:"\u26A0 DirectiveEnd DocEnd - - ? ? ? Literal QuotedLiteral Anchor Alias Tag BlockLiteralContent Comment Stream BOM Document ] [ FlowSequence Item Tagged Anchored Anchored Tagged FlowMapping Pair Key : Pair , } { FlowMapping Pair Pair BlockSequence Item Item BlockMapping Pair Pair Key Pair Pair BlockLiteral BlockLiteralHeader Tagged Anchored Anchored Tagged Directive DirectiveName DirectiveContent Document",maxTerm:74,context:ix,nodeProps:[["isolate",-3,8,9,14,""],["openedBy",18,"[",32,"{"],["closedBy",19,"]",33,"}"]],propSources:[hx],skippedNodes:[0],repeatNodeCount:6,tokenData:"-Y~RnOX#PXY$QYZ$]Z]#P]^$]^p#Ppq$Qqs#Pst$btu#Puv$yv|#P|}&e}![#P![!]'O!]!`#P!`!a'i!a!}#P!}#O*g#O#P#P#P#Q+Q#Q#o#P#o#p+k#p#q'i#q#r,U#r;'S#P;'S;=`#z<%l?HT#P?HT?HU,o?HUO#PQ#UU!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PQ#kTOY#PZs#Pt;'S#P;'S;=`#z<%lO#PQ#}P;=`<%l#P~$VQ!f~XY$Qpq$Q~$bO!g~~$gS^~OY$bZ;'S$b;'S;=`$s<%lO$b~$vP;=`<%l$bR%OX!WQOX%kXY#PZ]%k]^#P^p%kpq#hq;'S%k;'S;=`&_<%lO%kR%rX!WQ!VPOX%kXY#PZ]%k]^#P^p%kpq#hq;'S%k;'S;=`&_<%lO%kR&bP;=`<%l%kR&lUoP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR'VUmP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR'p[!PP!WQOY#PZp#Ppq#hq{#P{|(f|}#P}!O(f!O!R#P!R![)p![;'S#P;'S;=`#z<%lO#PR(mW!PP!WQOY#PZp#Ppq#hq!R#P!R![)V![;'S#P;'S;=`#z<%lO#PR)^U!PP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR)wY!PP!WQOY#PZp#Ppq#hq{#P{|)V|}#P}!O)V!O;'S#P;'S;=`#z<%lO#PR*nUcP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR+XUbP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR+rUqP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR,]UpP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR,vU`P!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#P",tokenizers:[nx,rx,lx,cx,0,1],topRules:{Stream:[0,15]},tokenPrec:0});var fx=Pe.deserialize({version:14,states:"!vOQOPOOO]OPO'#C_OhOPO'#C^OOOO'#Cc'#CcOpOPO'#CaQOOOOOO{OPOOOOOO'#Cb'#CbO!WOPO'#C`O!`OPO,58xOOOO-E6a-E6aOOOO-E6`-E6`OOOO'#C_'#C_OOOO1G.d1G.d",stateData:"!h~OXPOYROWTP~OWVXXRXYRX~OYVOXSP~OXROYROWTX~OXROYROWTP~OYVOXSX~OX[O~OXY~",goto:"vWPPX[beioRUOQQOR]XRXQTTOUQWQRZWSSOURYS",nodeNames:"\u26A0 Document Frontmatter DashLine FrontmatterContent Body",maxTerm:10,skippedNodes:[0],repeatNodeCount:2,tokenData:"$z~RXOYnYZ!^Z]n]^!^^}n}!O!i!O;'Sn;'S;=`!c<%lOn~qXOYnYZ!^Z]n]^!^^;'Sn;'S;=`!c<%l~n~On~~!^~!cOY~~!fP;=`<%ln~!lZOYnYZ!^Z]n]^!^^}n}!O#_!O;'Sn;'S;=`!c<%l~n~On~~!^~#bZOYnYZ!^Z]n]^!^^}n}!O$T!O;'Sn;'S;=`!c<%l~n~On~~!^~$WXOYnYZ$sZ]n]^$s^;'Sn;'S;=`!c<%l~n~On~~$s~$zOX~Y~",tokenizers:[0],topRules:{Document:[0,1]},tokenPrec:67}),ux=$e.define({name:"yaml",parser:km.configure({props:[we.add({Stream:i=>{for(let e=i.node.resolve(i.pos,-1);e&&e.to>=i.pos;e=e.parent){if(e.name=="BlockLiteralContent"&&e.fromi.pos)return null}}return null},FlowMapping:St({closing:"}"}),FlowSequence:St({closing:"]"})}),Te.add({"FlowMapping FlowSequence":ht,"Item Pair BlockLiteral":(i,e)=>({from:e.doc.lineAt(i.from).to,to:i.to})})]}),languageData:{commentTokens:{line:"#"},indentOnInput:/^\s*[\]\}]$/}});var Ox=$e.define({name:"yaml-frontmatter",parser:fx.configure({props:[Qe({DashLine:d.meta})]})});function xm(i){let{language:e,support:t}=i.content instanceof me?i.content:{language:i.content,support:[]};return new me(Ox.configure({wrap:bn(n=>n.name=="FrontmatterContent"?{parser:ux.parser}:n.name=="Body"?{parser:e.parser}:null)}),t)}var dx=1,Cm=194,Xm=195,px=196,wm=197,mx=198,gx=199,Qx=200,bx=2,_m=3,Pm=201,Sx=24,yx=25,kx=49,xx=50,wx=55,Px=56,vx=57,$x=59,Tx=60,Cx=61,Xx=62,_x=63,Rx=65,Ax=238,Zx=71,Ex=241,qx=242,zx=243,Lx=244,Mx=245,Wx=246,jx=247,Vx=248,Rm=72,Dx=249,Yx=250,Ix=251,Bx=252,Ux=253,Gx=254,Nx=255,Fx=256,Hx=73,Kx=77,Jx=263,ew=112,tw=130,iw=151,nw=152,rw=155,Gi=10,_r=13,ih=32,fo=9,nh=35,sw=40,ow=46,th=123,vm=125,Am=39,Zm=34,$m=92,aw=111,lw=120,cw=78,hw=117,fw=85,uw=new Set([yx,kx,xx,Jx,Rx,tw,Px,vx,Ax,Xx,_x,Rm,Hx,Kx,Tx,Cx,iw,nw,rw,ew]);function Jc(i){return i==Gi||i==_r}function eh(i){return i>=48&&i<=57||i>=65&&i<=70||i>=97&&i<=102}var Ow=new J((i,e)=>{let t;if(i.next<0)i.acceptToken(gx);else if(e.context.flags&co)Jc(i.next)&&i.acceptToken(mx,1);else if(((t=i.peek(-1))<0||Jc(t))&&e.canShift(wm)){let n=0;for(;i.next==ih||i.next==fo;)i.advance(),n++;(i.next==Gi||i.next==_r||i.next==nh)&&i.acceptToken(wm,-n)}else Jc(i.next)&&i.acceptToken(px,1)},{contextual:!0}),dw=new J((i,e)=>{let t=e.context;if(t.flags)return;let n=i.peek(-1);if(n==Gi||n==_r){let r=0,s=0;for(;;){if(i.next==ih)r++;else if(i.next==fo)r+=8-r%8;else break;i.advance(),s++}r!=t.indent&&i.next!=Gi&&i.next!=_r&&i.next!=nh&&(r[i,e|Em])),gw=new dt({start:pw,reduce(i,e,t,n){return i.flags&co&&uw.has(e)||(e==Zx||e==Rm)&&i.flags&Em?i.parent:i},shift(i,e,t,n){return e==Cm?new ho(i,mw(n.read(n.pos,t.pos)),0):e==Xm?i.parent:e==Sx||e==wx||e==$x||e==_m?new ho(i,0,co):Tm.has(e)?new ho(i,0,Tm.get(e)|i.flags&co):i},hash(i){return i.hash}}),Qw=new J(i=>{for(let e=0;e<5;e++){if(i.next!="print".charCodeAt(e))return;i.advance()}if(!/\w/.test(String.fromCharCode(i.next)))for(let e=0;;e++){let t=i.peek(e);if(!(t==ih||t==fo)){t!=sw&&t!=ow&&t!=Gi&&t!=_r&&t!=nh&&i.acceptToken(dx);return}}}),bw=new J((i,e)=>{let{flags:t}=e.context,n=t&Nt?Zm:Am,r=(t&Ft)>0,s=!(t&Ht),o=(t&Kt)>0,a=i.pos;for(;!(i.next<0);)if(o&&i.next==th)if(i.peek(1)==th)i.advance(2);else{if(i.pos==a){i.acceptToken(_m,1);return}break}else if(s&&i.next==$m){if(i.pos==a){i.advance();let l=i.next;l>=0&&(i.advance(),Sw(i,l)),i.acceptToken(bx);return}break}else if(i.next==$m&&!s&&i.peek(1)>-1)i.advance(2);else if(i.next==n&&(!r||i.peek(1)==n&&i.peek(2)==n)){if(i.pos==a){i.acceptToken(Pm,r?3:1);return}break}else if(i.next==Gi){if(r)i.advance();else if(i.pos==a){i.acceptToken(Pm);return}break}else i.advance();i.pos>a&&i.acceptToken(Qx)});function Sw(i,e){if(e==aw)for(let t=0;t<2&&i.next>=48&&i.next<=55;t++)i.advance();else if(e==lw)for(let t=0;t<2&&eh(i.next);t++)i.advance();else if(e==hw)for(let t=0;t<4&&eh(i.next);t++)i.advance();else if(e==fw)for(let t=0;t<8&&eh(i.next);t++)i.advance();else if(e==cw&&i.next==th){for(i.advance();i.next>=0&&i.next!=vm&&i.next!=Am&&i.next!=Zm&&i.next!=Gi;)i.advance();i.next==vm&&i.advance()}}var yw=Qe({'async "*" "**" FormatConversion FormatSpec':d.modifier,"for while if elif else try except finally return raise break continue with pass assert await yield match case":d.controlKeyword,"in not and or is del":d.operatorKeyword,"from def class global nonlocal lambda":d.definitionKeyword,import:d.moduleKeyword,"with as print":d.keyword,Boolean:d.bool,None:d.null,VariableName:d.variableName,"CallExpression/VariableName":d.function(d.variableName),"FunctionDefinition/VariableName":d.function(d.definition(d.variableName)),"ClassDefinition/VariableName":d.definition(d.className),PropertyName:d.propertyName,"CallExpression/MemberExpression/PropertyName":d.function(d.propertyName),Comment:d.lineComment,Number:d.number,String:d.string,FormatString:d.special(d.string),Escape:d.escape,UpdateOp:d.updateOperator,"ArithOp!":d.arithmeticOperator,BitOp:d.bitwiseOperator,CompareOp:d.compareOperator,AssignOp:d.definitionOperator,Ellipsis:d.punctuation,At:d.meta,"( )":d.paren,"[ ]":d.squareBracket,"{ }":d.brace,".":d.derefOperator,", ;":d.separator}),kw={__proto__:null,await:44,or:54,and:56,in:60,not:62,is:64,if:70,else:72,lambda:76,yield:94,from:96,async:102,for:104,None:162,True:164,False:164,del:178,pass:182,break:186,continue:190,return:194,raise:202,import:206,as:208,global:212,nonlocal:214,assert:218,type:223,elif:236,while:240,try:246,except:248,finally:250,with:254,def:258,class:268,match:279,case:285},qm=Pe.deserialize({version:14,states:"##jQ`QeOOP$}OSOOO&WQtO'#HUOOQS'#Co'#CoOOQS'#Cp'#CpO'vQdO'#CnO*UQtO'#HTOOQS'#HU'#HUOOQS'#DU'#DUOOQS'#HT'#HTO*rQdO'#D_O+VQdO'#DfO+gQdO'#DjO+zOWO'#DuO,VOWO'#DvO.[QtO'#GuOOQS'#Gu'#GuO'vQdO'#GtO0ZQtO'#GtOOQS'#Eb'#EbO0rQdO'#EcOOQS'#Gs'#GsO0|QdO'#GrOOQV'#Gr'#GrO1XQdO'#FYOOQS'#G^'#G^O1^QdO'#FXOOQV'#IS'#ISOOQV'#Gq'#GqOOQV'#Fq'#FqQ`QeOOO'vQdO'#CqO1lQdO'#C}O1sQdO'#DRO2RQdO'#HYO2cQtO'#EVO'vQdO'#EWOOQS'#EY'#EYOOQS'#E['#E[OOQS'#E^'#E^O2wQdO'#E`O3_QdO'#EdO3rQdO'#EfO3zQtO'#EfO1XQdO'#EiO0rQdO'#ElO1XQdO'#EnO0rQdO'#EtO0rQdO'#EwO4VQdO'#EyO4^QdO'#FOO4iQdO'#EzO0rQdO'#FOO1XQdO'#FQO1XQdO'#FVO4nQdO'#F[P4uOdO'#GpPOOO)CBd)CBdOOQS'#Ce'#CeOOQS'#Cf'#CfOOQS'#Cg'#CgOOQS'#Ch'#ChOOQS'#Ci'#CiOOQS'#Cj'#CjOOQS'#Cl'#ClO'vQdO,59OO'vQdO,59OO'vQdO,59OO'vQdO,59OO'vQdO,59OO'vQdO,59OO5TQdO'#DoOOQS,5:Y,5:YO5hQdO'#HdOOQS,5:],5:]O5uQ!fO,5:]O5zQtO,59YO1lQdO,59bO1lQdO,59bO1lQdO,59bO8jQdO,59bO8oQdO,59bO8vQdO,59jO8}QdO'#HTO:TQdO'#HSOOQS'#HS'#HSOOQS'#D['#D[O:lQdO,59aO'vQdO,59aO:zQdO,59aOOQS,59y,59yO;PQdO,5:RO'vQdO,5:ROOQS,5:Q,5:QO;_QdO,5:QO;dQdO,5:XO'vQdO,5:XO'vQdO,5:VOOQS,5:U,5:UO;uQdO,5:UO;zQdO,5:WOOOW'#Fy'#FyOOOOQS'#Ds'#DsOOQS1G/w1G/wOOQS1G.|1G.|O!/[QtO1G.|O!/cQtO1G.|O1lQdO1G.|O!0OQdO1G/UOOQS'#DZ'#DZO0rQdO,59tOOQS1G.{1G.{O!0VQdO1G/eO!0gQdO1G/eO!0oQdO1G/fO'vQdO'#H[O!0tQdO'#H[O!0yQtO1G.{O!1ZQdO,59iO!2aQdO,5=zO!2qQdO,5=zO!2yQdO1G/mO!3OQtO1G/mOOQS1G/l1G/lO!3`QdO,5=uO!4VQdO,5=uO0rQdO1G/qO!4tQdO1G/sO!4yQtO1G/sO!5ZQtO1G/qOOQS1G/p1G/pOOQS1G/r1G/rOOOW-E9w-E9wOOQS1G/{1G/{O!5kQdO'#HxO0rQdO'#HxO!5|QdO,5>cOOOW-E9x-E9xOOQS1G/|1G/|OOQS-E9{-E9{O!6[Q#xO1G2zO!6{QtO1G2zO'vQdO,5kOOQS1G1`1G1`O!8RQdO1G1`OOQS'#DV'#DVO0rQdO,5=qOOQS,5=q,5=qO!8WQdO'#FrO!8cQdO,59oO!8kQdO1G/XO!8uQtO,5=uOOQS1G3`1G3`OOQS,5:m,5:mO!9fQdO'#GtOOQS,5jO!;ZQdO,5>jO1XQdO,5>jO!;lQdO,5>iOOQS-E:R-E:RO!;qQdO1G0lO!;|QdO1G0lO!lO!lO!hO!=VQdO,5>hO!=hQdO'#EpO0rQdO1G0tO!=sQdO1G0tO!=xQgO1G0zO!AvQgO1G0}O!EqQdO,5>oO!E{QdO,5>oO!FTQtO,5>oO0rQdO1G1PO!F_QdO1G1PO4iQdO1G1UO!!vQdO1G1WOOQV,5;a,5;aO!FdQfO,5;aO!FiQgO1G1QO!JjQdO'#GZO4iQdO1G1QO4iQdO1G1QO!JzQdO,5>pO!KXQdO,5>pO1XQdO,5>pOOQV1G1U1G1UO!KaQdO'#FSO!KrQ!fO1G1WO!KzQdO1G1WOOQV1G1]1G1]O4iQdO1G1]O!LPQdO1G1]O!LXQdO'#F^OOQV1G1b1G1bO!#ZQtO1G1bPOOO1G2v1G2vP!L^OSO1G2vOOQS,5=},5=}OOQS'#Dp'#DpO0rQdO,5=}O!LfQdO,5=|O!LyQdO,5=|OOQS1G/u1G/uO!MRQdO,5>PO!McQdO,5>PO!MkQdO,5>PO!NOQdO,5>PO!N`QdO,5>POOQS1G3j1G3jOOQS7+$h7+$hO!8kQdO7+$pO#!RQdO1G.|O#!YQdO1G.|OOQS1G/`1G/`OOQS,5<`,5<`O'vQdO,5<`OOQS7+%P7+%PO#!aQdO7+%POOQS-E9r-E9rOOQS7+%Q7+%QO#!qQdO,5=vO'vQdO,5=vOOQS7+$g7+$gO#!vQdO7+%PO##OQdO7+%QO##TQdO1G3fOOQS7+%X7+%XO##eQdO1G3fO##mQdO7+%XOOQS,5<_,5<_O'vQdO,5<_O##rQdO1G3aOOQS-E9q-E9qO#$iQdO7+%]OOQS7+%_7+%_O#$wQdO1G3aO#%fQdO7+%_O#%kQdO1G3gO#%{QdO1G3gO#&TQdO7+%]O#&YQdO,5>dO#&sQdO,5>dO#&sQdO,5>dOOQS'#Dx'#DxO#'UO&jO'#DzO#'aO`O'#HyOOOW1G3}1G3}O#'fQdO1G3}O#'nQdO1G3}O#'yQ#xO7+(fO#(jQtO1G2UP#)TQdO'#GOOOQS,5nQdO,5sQdO1G4OOOQS-E9y-E9yO#?^QdO1G4OO<[QdO'#H{OOOO'#D{'#D{OOOO'#F|'#F|O#?oO&jO,5:fOOOW,5>e,5>eOOOW7+)i7+)iO#?zQdO7+)iO#@SQdO1G2zO#@mQdO1G2zP'vQdO'#FuO0rQdO<mO#BQQdO,5>mOOQS1G0v1G0vOOQS<rO#KgQdO,5>rO#KrQdO,5>rO#K}QdO,5>qO#L`QdO,5>qOOQS1G1Y1G1YOOQS,5;p,5;pOOQV<VAN>VO$ oQdO<cAN>cO0rQdO1G1|O$!PQtO1G1|P$!ZQdO'#FvOOQS1G2R1G2RP$!hQdO'#F{O$!uQdO7+)jO$#`QdO,5>gOOOO-E9z-E9zOOOW<tO$4{QdO,5>tO1XQdO,5vO$)nQdO,5>vOOQS1G1p1G1pOOQS,5<[,5<[OOQU7+'P7+'PO$+zQdO1G/iO$)nQdO,5wO$8zQdO,5>wOOQS1G1s1G1sOOQS7+'S7+'SP$)nQdO'#GdO$9SQdO1G4bO$9^QdO1G4bO$9fQdO1G4bOOQS7+%T7+%TO$9tQdO1G1tO$:SQtO'#FaO$:ZQdO,5<}OOQS,5<},5<}O$:iQdO1G4cOOQS-E:a-E:aO$)nQdO,5<|O$:pQdO,5<|O$:uQdO7+)|OOQS-E:`-E:`O$;PQdO7+)|O$)nQdO,5S~O%cOS%^OSSOS%]PQ~OPdOVaOfoOhYOopOs!POvqO!PrO!Q{O!T!SO!U!RO!XZO!][O!h`O!r`O!s`O!t`O!{tO!}uO#PvO#RwO#TxO#XyO#ZzO#^|O#_|O#a}O#c!OO#l!QO#o!TO#s!UO#u!VO#z!WO#}hO$P!XO%oRO%pRO%tSO%uWO&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O&c^O&d^O&e^O&f^O&g^O&h^O&i^O&j^O~O%]!YO~OV!aO_!aOa!bOh!iO!X!kO!f!mO%j![O%k!]O%l!^O%m!_O%n!_O%o!`O%p!`O%q!aO%r!aO%s!aO~Ok%xXl%xXm%xXn%xXo%xXp%xXs%xXz%xX{%xX!x%xX#g%xX%[%xX%_%xX%z%xXg%xX!T%xX!U%xX%{%xX!W%xX![%xX!Q%xX#[%xXt%xX!m%xX~P%SOfoOhYO!XZO!][O!h`O!r`O!s`O!t`O%oRO%pRO%tSO%uWO&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O&c^O&d^O&e^O&f^O&g^O&h^O&i^O&j^O~Oz%wX{%wX#g%wX%[%wX%_%wX%z%wX~Ok!pOl!qOm!oOn!oOo!rOp!sOs!tO!x%wX~P)pOV!zOg!|Oo0cOv0qO!PrO~P'vOV#OOo0cOv0qO!W#PO~P'vOV#SOa#TOo0cOv0qO![#UO~P'vOQ#XO%`#XO%a#ZO~OQ#^OR#[O%`#^O%a#`O~OV%iX_%iXa%iXh%iXk%iXl%iXm%iXn%iXo%iXp%iXs%iXz%iX!X%iX!f%iX%j%iX%k%iX%l%iX%m%iX%n%iX%o%iX%p%iX%q%iX%r%iX%s%iXg%iX!T%iX!U%iX~O&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O&c^O&d^O&e^O&f^O&g^O&h^O&i^O&j^O{%iX!x%iX#g%iX%[%iX%_%iX%z%iX%{%iX!W%iX![%iX!Q%iX#[%iXt%iX!m%iX~P,eOz#dO{%hX!x%hX#g%hX%[%hX%_%hX%z%hX~Oo0cOv0qO~P'vO#g#gO%[#iO%_#iO~O%uWO~O!T#nO#u!VO#z!WO#}hO~OopO~P'vOV#sOa#tO%uWO{wP~OV#xOo0cOv0qO!Q#yO~P'vO{#{O!x$QO%z#|O#g!yX%[!yX%_!yX~OV#xOo0cOv0qO#g#SX%[#SX%_#SX~P'vOo0cOv0qO#g#WX%[#WX%_#WX~P'vOh$WO%uWO~O!f$YO!r$YO%uWO~OV$eO~P'vO!U$gO#s$hO#u$iO~O{$jO~OV$qO~P'vOS$sO%[$rO%_$rO%c$tO~OV$}Oa$}Og%POo0cOv0qO~P'vOo0cOv0qO{%SO~P'vO&Y%UO~Oa!bOh!iO!X!kO!f!mOVba_bakbalbambanbaobapbasbazba{ba!xba#gba%[ba%_ba%jba%kba%lba%mba%nba%oba%pba%qba%rba%sba%zbagba!Tba!Uba%{ba!Wba![ba!Qba#[batba!mba~On%ZO~Oo%ZO~P'vOo0cO~P'vOk0eOl0fOm0dOn0dOo0mOp0nOs0rOg%wX!T%wX!U%wX%{%wX!W%wX![%wX!Q%wX#[%wX!m%wX~P)pO%{%]Og%vXz%vX!T%vX!U%vX!W%vX{%vX~Og%_Oz%`O!T%dO!U%cO~Og%_O~Oz%gO!T%dO!U%cO!W&SX~O!W%kO~Oz%lO{%nO!T%dO!U%cO![%}X~O![%rO~O![%sO~OQ#XO%`#XO%a%uO~OV%wOo0cOv0qO!PrO~P'vOQ#^OR#[O%`#^O%a%zO~OV!qa_!qaa!qah!qak!qal!qam!qan!qao!qap!qas!qaz!qa{!qa!X!qa!f!qa!x!qa#g!qa%[!qa%_!qa%j!qa%k!qa%l!qa%m!qa%n!qa%o!qa%p!qa%q!qa%r!qa%s!qa%z!qag!qa!T!qa!U!qa%{!qa!W!qa![!qa!Q!qa#[!qat!qa!m!qa~P#yOz%|O{%ha!x%ha#g%ha%[%ha%_%ha%z%ha~P%SOV&OOopOvqO{%ha!x%ha#g%ha%[%ha%_%ha%z%ha~P'vOz%|O{%ha!x%ha#g%ha%[%ha%_%ha%z%ha~OPdOVaOopOvqO!PrO!Q{O!{tO!}uO#PvO#RwO#TxO#XyO#ZzO#^|O#_|O#a}O#c!OO#g$zX%[$zX%_$zX~P'vO#g#gO%[&TO%_&TO~O!f&UOh&sX%[&sXz&sX#[&sX#g&sX%_&sX#Z&sXg&sX~Oh!iO%[&WO~Okealeameaneaoeapeaseazea{ea!xea#gea%[ea%_ea%zeagea!Tea!Uea%{ea!Wea![ea!Qea#[eatea!mea~P%SOsqazqa{qa#gqa%[qa%_qa%zqa~Ok!pOl!qOm!oOn!oOo!rOp!sO!xqa~PEcO%z&YOz%yX{%yX~O%uWOz%yX{%yX~Oz&]O{wX~O{&_O~Oz%lO#g%}X%[%}X%_%}Xg%}X{%}X![%}X!m%}X%z%}X~OV0lOo0cOv0qO!PrO~P'vO%z#|O#gUa%[Ua%_Ua~Oz&hO#g&PX%[&PX%_&PXn&PX~P%SOz&kO!Q&jO#g#Wa%[#Wa%_#Wa~Oz&lO#[&nO#g&rX%[&rX%_&rXg&rX~O!f$YO!r$YO#Z&qO%uWO~O#Z&qO~Oz&sO#g&tX%[&tX%_&tX~Oz&uO#g&pX%[&pX%_&pX{&pX~O!X&wO%z&xO~Oz&|On&wX~P%SOn'PO~OPdOVaOopOvqO!PrO!Q{O!{tO!}uO#PvO#RwO#TxO#XyO#ZzO#^|O#_|O#a}O#c!OO%['UO~P'vOt'YO#p'WO#q'XOP#naV#naf#nah#nao#nas#nav#na!P#na!Q#na!T#na!U#na!X#na!]#na!h#na!r#na!s#na!t#na!{#na!}#na#P#na#R#na#T#na#X#na#Z#na#^#na#_#na#a#na#c#na#l#na#o#na#s#na#u#na#z#na#}#na$P#na%X#na%o#na%p#na%t#na%u#na&Z#na&[#na&]#na&^#na&_#na&`#na&a#na&b#na&c#na&d#na&e#na&f#na&g#na&h#na&i#na&j#na%Z#na%_#na~Oz'ZO#[']O{&xX~Oh'_O!X&wO~Oh!iO{$jO!X&wO~O{'eO~P%SO%['hO%_'hO~OS'iO%['hO%_'hO~OV!aO_!aOa!bOh!iO!X!kO!f!mO%l!^O%m!_O%n!_O%o!`O%p!`O%q!aO%r!aO%s!aOkWilWimWinWioWipWisWizWi{Wi!xWi#gWi%[Wi%_Wi%jWi%zWigWi!TWi!UWi%{Wi!WWi![Wi!QWi#[WitWi!mWi~O%k!]O~P!#uO%kWi~P!#uOV!aO_!aOa!bOh!iO!X!kO!f!mO%o!`O%p!`O%q!aO%r!aO%s!aOkWilWimWinWioWipWisWizWi{Wi!xWi#gWi%[Wi%_Wi%jWi%kWi%lWi%zWigWi!TWi!UWi%{Wi!WWi![Wi!QWi#[WitWi!mWi~O%m!_O%n!_O~P!&pO%mWi%nWi~P!&pOa!bOh!iO!X!kO!f!mOkWilWimWinWioWipWisWizWi{Wi!xWi#gWi%[Wi%_Wi%jWi%kWi%lWi%mWi%nWi%oWi%pWi%zWigWi!TWi!UWi%{Wi!WWi![Wi!QWi#[WitWi!mWi~OV!aO_!aO%q!aO%r!aO%s!aO~P!)nOVWi_Wi%qWi%rWi%sWi~P!)nO!T%dO!U%cOg&VXz&VX~O%z'kO%{'kO~P,eOz'mOg&UX~Og'oO~Oz'pO{'rO!W&XX~Oo0cOv0qOz'pO{'sO!W&XX~P'vO!W'uO~Om!oOn!oOo!rOp!sOkjisjizji{ji!xji#gji%[ji%_ji%zji~Ol!qO~P!.aOlji~P!.aOk0eOl0fOm0dOn0dOo0mOp0nO~Ot'wO~P!/jOV'|Og'}Oo0cOv0qO~P'vOg'}Oz(OO~Og(QO~O!U(SO~Og(TOz(OO!T%dO!U%cO~P%SOk0eOl0fOm0dOn0dOo0mOp0nOgqa!Tqa!Uqa%{qa!Wqa![qa!Qqa#[qatqa!mqa~PEcOV'|Oo0cOv0qO!W&Sa~P'vOz(WO!W&Sa~O!W(XO~Oz(WO!T%dO!U%cO!W&Sa~P%SOV(]Oo0cOv0qO![%}a#g%}a%[%}a%_%}ag%}a{%}a!m%}a%z%}a~P'vOz(^O![%}a#g%}a%[%}a%_%}ag%}a{%}a!m%}a%z%}a~O![(aO~Oz(^O!T%dO!U%cO![%}a~P%SOz(dO!T%dO!U%cO![&Ta~P%SOz(gO{&lX![&lX!m&lX%z&lX~O{(kO![(mO!m(nO%z(jO~OV&OOopOvqO{%hi!x%hi#g%hi%[%hi%_%hi%z%hi~P'vOz(pO{%hi!x%hi#g%hi%[%hi%_%hi%z%hi~O!f&UOh&sa%[&saz&sa#[&sa#g&sa%_&sa#Z&sag&sa~O%[(uO~OV#sOa#tO%uWO~Oz&]O{wa~OopOvqO~P'vOz(^O#g%}a%[%}a%_%}ag%}a{%}a![%}a!m%}a%z%}a~P%SOz(zO#g%hX%[%hX%_%hX%z%hX~O%z#|O#gUi%[Ui%_Ui~O#g&Pa%[&Pa%_&Pan&Pa~P'vOz(}O#g&Pa%[&Pa%_&Pan&Pa~O%uWO#g&ra%[&ra%_&rag&ra~Oz)SO#g&ra%[&ra%_&rag&ra~Og)VO~OV)WOh$WO%uWO~O#Z)XO~O%uWO#g&ta%[&ta%_&ta~Oz)ZO#g&ta%[&ta%_&ta~Oo0cOv0qO#g&pa%[&pa%_&pa{&pa~P'vOz)^O#g&pa%[&pa%_&pa{&pa~OV)`Oa)`O%uWO~O%z)eO~Ot)hO#j)gOP#hiV#hif#hih#hio#his#hiv#hi!P#hi!Q#hi!T#hi!U#hi!X#hi!]#hi!h#hi!r#hi!s#hi!t#hi!{#hi!}#hi#P#hi#R#hi#T#hi#X#hi#Z#hi#^#hi#_#hi#a#hi#c#hi#l#hi#o#hi#s#hi#u#hi#z#hi#}#hi$P#hi%X#hi%o#hi%p#hi%t#hi%u#hi&Z#hi&[#hi&]#hi&^#hi&_#hi&`#hi&a#hi&b#hi&c#hi&d#hi&e#hi&f#hi&g#hi&h#hi&i#hi&j#hi%Z#hi%_#hi~Ot)iOP#kiV#kif#kih#kio#kis#kiv#ki!P#ki!Q#ki!T#ki!U#ki!X#ki!]#ki!h#ki!r#ki!s#ki!t#ki!{#ki!}#ki#P#ki#R#ki#T#ki#X#ki#Z#ki#^#ki#_#ki#a#ki#c#ki#l#ki#o#ki#s#ki#u#ki#z#ki#}#ki$P#ki%X#ki%o#ki%p#ki%t#ki%u#ki&Z#ki&[#ki&]#ki&^#ki&_#ki&`#ki&a#ki&b#ki&c#ki&d#ki&e#ki&f#ki&g#ki&h#ki&i#ki&j#ki%Z#ki%_#ki~OV)kOn&wa~P'vOz)lOn&wa~Oz)lOn&wa~P%SOn)pO~O%Y)tO~Ot)wO#p'WO#q)vOP#niV#nif#nih#nio#nis#niv#ni!P#ni!Q#ni!T#ni!U#ni!X#ni!]#ni!h#ni!r#ni!s#ni!t#ni!{#ni!}#ni#P#ni#R#ni#T#ni#X#ni#Z#ni#^#ni#_#ni#a#ni#c#ni#l#ni#o#ni#s#ni#u#ni#z#ni#}#ni$P#ni%X#ni%o#ni%p#ni%t#ni%u#ni&Z#ni&[#ni&]#ni&^#ni&_#ni&`#ni&a#ni&b#ni&c#ni&d#ni&e#ni&f#ni&g#ni&h#ni&i#ni&j#ni%Z#ni%_#ni~OV)zOo0cOv0qO{$jO~P'vOo0cOv0qO{&xa~P'vOz*OO{&xa~OV*SOa*TOg*WO%q*UO%uWO~O{$jO&{*YO~Oh'_O~Oh!iO{$jO~O%[*_O~O%[*aO%_*aO~OV$}Oa$}Oo0cOv0qOg&Ua~P'vOz*dOg&Ua~Oo0cOv0qO{*gO!W&Xa~P'vOz*hO!W&Xa~Oo0cOv0qOz*hO{*kO!W&Xa~P'vOo0cOv0qOz*hO!W&Xa~P'vOz*hO{*kO!W&Xa~Om0dOn0dOo0mOp0nOgjikjisjizji!Tji!Uji%{ji!Wji{ji![ji#gji%[ji%_ji!Qji#[jitji!mji%zji~Ol0fO~P!NkOlji~P!NkOV'|Og*pOo0cOv0qO~P'vOn*rO~Og*pOz*tO~Og*uO~OV'|Oo0cOv0qO!W&Si~P'vOz*vO!W&Si~O!W*wO~OV(]Oo0cOv0qO![%}i#g%}i%[%}i%_%}ig%}i{%}i!m%}i%z%}i~P'vOz*zO!T%dO!U%cO![&Ti~Oz*}O![%}i#g%}i%[%}i%_%}ig%}i{%}i!m%}i%z%}i~O![+OO~Oa+QOo0cOv0qO![&Ti~P'vOz*zO![&Ti~O![+SO~OV+UOo0cOv0qO{&la![&la!m&la%z&la~P'vOz+VO{&la![&la!m&la%z&la~O!]+YO&n+[O![!nX~O![+^O~O{(kO![+_O~O{(kO![+_O!m+`O~OV&OOopOvqO{%hq!x%hq#g%hq%[%hq%_%hq%z%hq~P'vOz$ri{$ri!x$ri#g$ri%[$ri%_$ri%z$ri~P%SOV&OOopOvqO~P'vOV&OOo0cOv0qO#g%ha%[%ha%_%ha%z%ha~P'vOz+aO#g%ha%[%ha%_%ha%z%ha~Oz$ia#g$ia%[$ia%_$ian$ia~P%SO#g&Pi%[&Pi%_&Pin&Pi~P'vOz+dO#g#Wq%[#Wq%_#Wq~O#[+eOz$va#g$va%[$va%_$vag$va~O%uWO#g&ri%[&ri%_&rig&ri~Oz+gO#g&ri%[&ri%_&rig&ri~OV+iOh$WO%uWO~O%uWO#g&ti%[&ti%_&ti~Oo0cOv0qO#g&pi%[&pi%_&pi{&pi~P'vO{#{Oz#eX!W#eX~Oz+mO!W&uX~O!W+oO~Ot+rO#j)gOP#hqV#hqf#hqh#hqo#hqs#hqv#hq!P#hq!Q#hq!T#hq!U#hq!X#hq!]#hq!h#hq!r#hq!s#hq!t#hq!{#hq!}#hq#P#hq#R#hq#T#hq#X#hq#Z#hq#^#hq#_#hq#a#hq#c#hq#l#hq#o#hq#s#hq#u#hq#z#hq#}#hq$P#hq%X#hq%o#hq%p#hq%t#hq%u#hq&Z#hq&[#hq&]#hq&^#hq&_#hq&`#hq&a#hq&b#hq&c#hq&d#hq&e#hq&f#hq&g#hq&h#hq&i#hq&j#hq%Z#hq%_#hq~On$|az$|a~P%SOV)kOn&wi~P'vOz+yOn&wi~Oz,TO{$jO#[,TO~O#q,VOP#nqV#nqf#nqh#nqo#nqs#nqv#nq!P#nq!Q#nq!T#nq!U#nq!X#nq!]#nq!h#nq!r#nq!s#nq!t#nq!{#nq!}#nq#P#nq#R#nq#T#nq#X#nq#Z#nq#^#nq#_#nq#a#nq#c#nq#l#nq#o#nq#s#nq#u#nq#z#nq#}#nq$P#nq%X#nq%o#nq%p#nq%t#nq%u#nq&Z#nq&[#nq&]#nq&^#nq&_#nq&`#nq&a#nq&b#nq&c#nq&d#nq&e#nq&f#nq&g#nq&h#nq&i#nq&j#nq%Z#nq%_#nq~O#[,WOz%Oa{%Oa~Oo0cOv0qO{&xi~P'vOz,YO{&xi~O{#{O%z,[Og&zXz&zX~O%uWOg&zXz&zX~Oz,`Og&yX~Og,bO~O%Y,eO~O!T%dO!U%cOg&Viz&Vi~OV$}Oa$}Oo0cOv0qOg&Ui~P'vO{,hOz$la!W$la~Oo0cOv0qO{,iOz$la!W$la~P'vOo0cOv0qO{*gO!W&Xi~P'vOz,lO!W&Xi~Oo0cOv0qOz,lO!W&Xi~P'vOz,lO{,oO!W&Xi~Og$hiz$hi!W$hi~P%SOV'|Oo0cOv0qO~P'vOn,qO~OV'|Og,rOo0cOv0qO~P'vOV'|Oo0cOv0qO!W&Sq~P'vOz$gi![$gi#g$gi%[$gi%_$gig$gi{$gi!m$gi%z$gi~P%SOV(]Oo0cOv0qO~P'vOa+QOo0cOv0qO![&Tq~P'vOz,sO![&Tq~O![,tO~OV(]Oo0cOv0qO![%}q#g%}q%[%}q%_%}qg%}q{%}q!m%}q%z%}q~P'vO{,uO~OV+UOo0cOv0qO{&li![&li!m&li%z&li~P'vOz,zO{&li![&li!m&li%z&li~O!]+YO&n+[O![!na~O{(kO![,}O~OV&OOo0cOv0qO#g%hi%[%hi%_%hi%z%hi~P'vOz-OO#g%hi%[%hi%_%hi%z%hi~O%uWO#g&rq%[&rq%_&rqg&rq~Oz-RO#g&rq%[&rq%_&rqg&rq~OV)`Oa)`O%uWO!W&ua~Oz-TO!W&ua~On$|iz$|i~P%SOV)kO~P'vOV)kOn&wq~P'vOt-XOP#myV#myf#myh#myo#mys#myv#my!P#my!Q#my!T#my!U#my!X#my!]#my!h#my!r#my!s#my!t#my!{#my!}#my#P#my#R#my#T#my#X#my#Z#my#^#my#_#my#a#my#c#my#l#my#o#my#s#my#u#my#z#my#}#my$P#my%X#my%o#my%p#my%t#my%u#my&Z#my&[#my&]#my&^#my&_#my&`#my&a#my&b#my&c#my&d#my&e#my&f#my&g#my&h#my&i#my&j#my%Z#my%_#my~O%Z-]O%_-]O~P`O#q-^OP#nyV#nyf#nyh#nyo#nys#nyv#ny!P#ny!Q#ny!T#ny!U#ny!X#ny!]#ny!h#ny!r#ny!s#ny!t#ny!{#ny!}#ny#P#ny#R#ny#T#ny#X#ny#Z#ny#^#ny#_#ny#a#ny#c#ny#l#ny#o#ny#s#ny#u#ny#z#ny#}#ny$P#ny%X#ny%o#ny%p#ny%t#ny%u#ny&Z#ny&[#ny&]#ny&^#ny&_#ny&`#ny&a#ny&b#ny&c#ny&d#ny&e#ny&f#ny&g#ny&h#ny&i#ny&j#ny%Z#ny%_#ny~Oz-aO{$jO#[-aO~Oo0cOv0qO{&xq~P'vOz-dO{&xq~O%z,[Og&zaz&za~O{#{Og&zaz&za~OV*SOa*TO%q*UO%uWOg&ya~Oz-hOg&ya~O$S-lO~OV$}Oa$}Oo0cOv0qO~P'vOo0cOv0qO{-mOz$li!W$li~P'vOo0cOv0qOz$li!W$li~P'vO{-mOz$li!W$li~Oo0cOv0qO{*gO~P'vOo0cOv0qO{*gO!W&Xq~P'vOz-pO!W&Xq~Oo0cOv0qOz-pO!W&Xq~P'vOs-sO!T%dO!U%cOg&Oq!W&Oq![&Oqz&Oq~P!/jOa+QOo0cOv0qO![&Ty~P'vOz$ji![$ji~P%SOa+QOo0cOv0qO~P'vOV+UOo0cOv0qO~P'vOV+UOo0cOv0qO{&lq![&lq!m&lq%z&lq~P'vO{(kO![-xO!m-yO%z-wO~OV&OOo0cOv0qO#g%hq%[%hq%_%hq%z%hq~P'vO%uWO#g&ry%[&ry%_&ryg&ry~OV)`Oa)`O%uWO!W&ui~Ot-}OP#m!RV#m!Rf#m!Rh#m!Ro#m!Rs#m!Rv#m!R!P#m!R!Q#m!R!T#m!R!U#m!R!X#m!R!]#m!R!h#m!R!r#m!R!s#m!R!t#m!R!{#m!R!}#m!R#P#m!R#R#m!R#T#m!R#X#m!R#Z#m!R#^#m!R#_#m!R#a#m!R#c#m!R#l#m!R#o#m!R#s#m!R#u#m!R#z#m!R#}#m!R$P#m!R%X#m!R%o#m!R%p#m!R%t#m!R%u#m!R&Z#m!R&[#m!R&]#m!R&^#m!R&_#m!R&`#m!R&a#m!R&b#m!R&c#m!R&d#m!R&e#m!R&f#m!R&g#m!R&h#m!R&i#m!R&j#m!R%Z#m!R%_#m!R~Oo0cOv0qO{&xy~P'vOV*SOa*TO%q*UO%uWOg&yi~O$S-lO%Z.VO%_.VO~OV.aOh._O!X.^O!].`O!h.YO!s.[O!t.[O%p.XO%uWO&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O~Oo0cOv0qOz$lq!W$lq~P'vO{.fOz$lq!W$lq~Oo0cOv0qO{*gO!W&Xy~P'vOz.gO!W&Xy~Oo0cOv.kO~P'vOs-sO!T%dO!U%cOg&Oy!W&Oy![&Oyz&Oy~P!/jO{(kO![.nO~O{(kO![.nO!m.oO~OV*SOa*TO%q*UO%uWO~Oh.tO!f.rOz$TX#[$TX%j$TXg$TX~Os$TX{$TX!W$TX![$TX~P$-bO%o.vO%p.vOs$UXz$UX{$UX#[$UX%j$UX!W$UXg$UX![$UX~O!h.xO~Oz.|O#[/OO%j.yOs&|X{&|X!W&|Xg&|X~Oa/RO~P$)zOh.tOs&}Xz&}X{&}X#[&}X%j&}X!W&}Xg&}X![&}X~Os/VO{$jO~Oo0cOv0qOz$ly!W$ly~P'vOo0cOv0qO{*gO!W&X!R~P'vOz/ZO!W&X!R~Og&RXs&RX!T&RX!U&RX!W&RX![&RXz&RX~P!/jOs-sO!T%dO!U%cOg&Qa!W&Qa![&Qaz&Qa~O{(kO![/^O~O!f.rOh$[as$[az$[a{$[a#[$[a%j$[a!W$[ag$[a![$[a~O!h/eO~O%o.vO%p.vOs$Uaz$Ua{$Ua#[$Ua%j$Ua!W$Uag$Ua![$Ua~O%j.yOs$Yaz$Ya{$Ya#[$Ya!W$Yag$Ya![$Ya~Os&|a{&|a!W&|ag&|a~P$)nOz/jOs&|a{&|a!W&|ag&|a~O!W/mO~Og/mO~O{/oO~O![/pO~Oo0cOv0qO{*gO!W&X!Z~P'vO{/sO~O%z/tO~P$-bOz/uO#[/OO%j.yOg'PX~Oz/uOg'PX~Og/wO~O!h/xO~O#[/OOs%Saz%Sa{%Sa%j%Sa!W%Sag%Sa![%Sa~O#[/OO%j.yOs%Waz%Wa{%Wa!W%Wag%Wa~Os&|i{&|i!W&|ig&|i~P$)nOz/zO#[/OO%j.yO!['Oa~Og'Pa~P$)nOz0SOg'Pa~Oa0UO!['Oi~P$)zOz0WO!['Oi~Oz0WO#[/OO%j.yO!['Oi~O#[/OO%j.yOg$biz$bi~O%z0ZO~P$-bO#[/OO%j.yOg%Vaz%Va~Og'Pi~P$)nO{0^O~Oa0UO!['Oq~P$)zOz0`O!['Oq~O#[/OO%j.yOz%Ui![%Ui~Oa0UO~P$)zOa0UO!['Oy~P$)zO#[/OO%j.yOg$ciz$ci~O#[/OO%j.yOz%Uq![%Uq~Oz+aO#g%ha%[%ha%_%ha%z%ha~P%SOV&OOo0cOv0qO~P'vOn0hO~Oo0hO~P'vO{0iO~Ot0jO~P!/jO&]&Z&j&h&i&g&f&d&e&c&b&`&a&_&^&[%u~",goto:"!=j'QPPPPPP'RP'Z*s+[+t,_,y-fP.SP'Z.r.r'ZPPP'Z2[PPPPPP2[5PPP5PP7b7k=sPP=v>h>kPP'Z'ZPP>zPP'Z'ZPP'Z'Z'Z'Z'Z?O?w'ZP?zP@QDXGuGyPG|HWH['ZPPPH_Hk'RP'R'RP'RP'RP'RP'RP'R'R'RP'RPP'RPP'RP'RPHqH}IVPI^IdPI^PI^I^PPPI^PKrPK{LVL]KrPI^LfPI^PLmLsPLwM]MzNeLwLwNkNxLwLwLwLw! ^! d! g! l! o! y!!P!!]!!o!!u!#P!#V!#s!#y!$P!$Z!$a!$g!$y!%T!%Z!%a!%k!%q!%w!%}!&T!&Z!&e!&k!&u!&{!'U!'[!'k!'s!'}!(UPPPPPPPPPPP!([!(_!(e!(n!(x!)TPPPPPPPPPPPP!-u!/Z!3^!6oPP!6w!7W!7a!8Y!8P!8c!8i!8l!8o!8r!8z!9jPPPPPPPPPPPPPPPPP!9m!9q!9wP!:]!:a!:m!:v!;S!;j!;m!;p!;v!;|!_![!]Do!]!^Es!^!_FZ!_!`Gk!`!aHX!a!b%T!b!cIf!c!dJU!d!eK^!e!hJU!h!i!#f!i!tJU!t!u!,|!u!wJU!w!x!.t!x!}JU!}#O!0S#O#P&o#P#Q!0j#Q#R!1Q#R#SJU#S#T%T#T#UJU#U#VK^#V#YJU#Y#Z!#f#Z#fJU#f#g!,|#g#iJU#i#j!.t#j#oJU#o#p!1n#p#q!1s#q#r!2a#r#s!2f#s$g%T$g;'SJU;'S;=`KW<%lOJU`%YT&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T`%lP;=`<%l%To%v]&n`%c_OX%TXY%oY[%T[]%o]p%Tpq%oq#O%T#O#P&o#P#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To&tX&n`OY%TYZ%oZ]%T]^%o^#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc'f[&n`O!_%T!_!`([!`#T%T#T#U(r#U#f%T#f#g(r#g#h(r#h#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc(cTmR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc(yT!mR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk)aV&n`&[ZOr%Trs)vs#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk){V&n`Or%Trs*bs#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk*iT&n`&^ZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To+PZS_&n`OY*xYZ%TZ]*x]^%T^#o*x#o#p+r#p#q*x#q#r+r#r;'S*x;'S;=`,^<%lO*x_+wTS_OY+rZ]+r^;'S+r;'S;=`,W<%lO+r_,ZP;=`<%l+ro,aP;=`<%l*xj,kV%rQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj-XT!xY&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj-oV%lQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk.]V&n`&ZZOw%Twx.rx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk.wV&n`Ow%Twx/^x#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk/eT&n`&]ZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk/{ThZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc0cTgR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk0yXVZ&n`Oz%Tz{1f{!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk1mVaR&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk2ZV%oZ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc2wTzR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To3_W%pZ&n`O!_%T!_!`-Q!`!a3w!a#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Td4OT&{S&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk4fX!fQ&n`O!O%T!O!P5R!P!Q%T!Q![6T![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk5WV&n`O!O%T!O!P5m!P#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk5tT!rZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti6[a!hX&n`O!Q%T!Q![6T![!g%T!g!h7a!h!l%T!l!m9s!m#R%T#R#S6T#S#X%T#X#Y7a#Y#^%T#^#_9s#_#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti7fZ&n`O{%T{|8X|}%T}!O8X!O!Q%T!Q![8s![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti8^V&n`O!Q%T!Q![8s![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti8z]!hX&n`O!Q%T!Q![8s![!l%T!l!m9s!m#R%T#R#S8s#S#^%T#^#_9s#_#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti9zT!hX&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk:bX%qR&n`O!P%T!P!Q:}!Q!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj;UV%sQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti;ro!hX&n`O!O%T!O!P=s!P!Q%T!Q![>_![!d%T!d!e?q!e!g%T!g!h7a!h!l%T!l!m9s!m!q%T!q!rA]!r!z%T!z!{Bq!{#R%T#R#S>_#S#U%T#U#V?q#V#X%T#X#Y7a#Y#^%T#^#_9s#_#c%T#c#dA]#d#l%T#l#mBq#m#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti=xV&n`O!Q%T!Q![6T![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti>fc!hX&n`O!O%T!O!P=s!P!Q%T!Q![>_![!g%T!g!h7a!h!l%T!l!m9s!m#R%T#R#S>_#S#X%T#X#Y7a#Y#^%T#^#_9s#_#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti?vY&n`O!Q%T!Q!R@f!R!S@f!S#R%T#R#S@f#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti@mY!hX&n`O!Q%T!Q!R@f!R!S@f!S#R%T#R#S@f#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiAbX&n`O!Q%T!Q!YA}!Y#R%T#R#SA}#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiBUX!hX&n`O!Q%T!Q!YA}!Y#R%T#R#SA}#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiBv]&n`O!Q%T!Q![Co![!c%T!c!iCo!i#R%T#R#SCo#S#T%T#T#ZCo#Z#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiCv]!hX&n`O!Q%T!Q![Co![!c%T!c!iCo!i#R%T#R#SCo#S#T%T#T#ZCo#Z#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%ToDvV{_&n`O!_%T!_!`E]!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TcEdT%{R&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkEzT#gZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkFbXmR&n`O!^%T!^!_F}!_!`([!`!a([!a#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TjGUV%mQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkGrV%zZ&n`O!_%T!_!`([!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkH`WmR&n`O!_%T!_!`([!`!aHx!a#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TjIPV%nQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkIoV_Q#}P&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%ToJ_]&n`&YS%uZO!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUoKZP;=`<%lJUoKge&n`&YS%uZOr%Trs)Ysw%Twx.Ux!Q%T!Q![JU![!c%T!c!tJU!t!uLx!u!}JU!}#R%T#R#SJU#S#T%T#T#fJU#f#gLx#g#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUoMRa&n`&YS%uZOr%TrsNWsw%Twx! vx!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUkN_V&n`&`ZOr%TrsNts#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkNyV&n`Or%Trs! `s#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk! gT&n`&bZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk! }V&n`&_ZOw%Twx!!dx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!!iV&n`Ow%Twx!#Ox#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!#VT&n`&aZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To!#oe&n`&YS%uZOr%Trs!%Qsw%Twx!&px!Q%T!Q![JU![!c%T!c!tJU!t!u!(`!u!}JU!}#R%T#R#SJU#S#T%T#T#fJU#f#g!(`#g#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUk!%XV&n`&dZOr%Trs!%ns#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!%sV&n`Or%Trs!&Ys#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!&aT&n`&fZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!&wV&n`&cZOw%Twx!'^x#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!'cV&n`Ow%Twx!'xx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!(PT&n`&eZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To!(ia&n`&YS%uZOr%Trs!)nsw%Twx!+^x!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUk!)uV&n`&hZOr%Trs!*[s#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!*aV&n`Or%Trs!*vs#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!*}T&n`&jZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!+eV&n`&gZOw%Twx!+zx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!,PV&n`Ow%Twx!,fx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!,mT&n`&iZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To!-Vi&n`&YS%uZOr%TrsNWsw%Twx! vx!Q%T!Q![JU![!c%T!c!dJU!d!eLx!e!hJU!h!i!(`!i!}JU!}#R%T#R#SJU#S#T%T#T#UJU#U#VLx#V#YJU#Y#Z!(`#Z#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUo!.}a&n`&YS%uZOr%Trs)Ysw%Twx.Ux!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUk!0ZT!XZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc!0qT!WR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj!1XV%kQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T~!1sO!]~k!1zV%jR&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T~!2fO![~i!2mT%tX&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T",tokenizers:[Qw,dw,Ow,bw,0,1,2,3,4],topRules:{Script:[0,5]},specialized:[{term:221,get:i=>kw[i]||-1}],tokenPrec:7668});var zm=new ui,Mm=new Set(["Script","Body","FunctionDefinition","ClassDefinition","LambdaExpression","ForStatement","MatchClause"]);function uo(i){return(e,t,n)=>{if(n)return!1;let r=e.node.getChild("VariableName");return r&&t(r,i),!0}}var xw={FunctionDefinition:uo("function"),ClassDefinition:uo("class"),ForStatement(i,e,t){if(t){for(let n=i.node.firstChild;n;n=n.nextSibling)if(n.name=="VariableName")e(n,"variable");else if(n.name=="in")break}},ImportStatement(i,e){var t,n;let{node:r}=i,s=((t=r.firstChild)===null||t===void 0?void 0:t.name)=="from";for(let o=r.getChild("import");o;o=o.nextSibling)o.name=="VariableName"&&((n=o.nextSibling)===null||n===void 0?void 0:n.name)!="as"&&e(o,s?"variable":"namespace")},AssignStatement(i,e){for(let t=i.node.firstChild;t;t=t.nextSibling)if(t.name=="VariableName")e(t,"variable");else if(t.name==":"||t.name=="AssignOp")break},ParamList(i,e){for(let t=null,n=i.node.firstChild;n;n=n.nextSibling)n.name=="VariableName"&&(!t||!/\*|AssignOp/.test(t.name))&&e(n,"variable"),t=n},CapturePattern:uo("variable"),AsPattern:uo("variable"),__proto__:null};function Wm(i,e){let t=zm.get(e);if(t)return t;let n=[],r=!0;function s(o,a){let l=i.sliceString(o.from,o.to);n.push({label:l,type:a})}return e.cursor(te.IncludeAnonymous).iterate(o=>{if(o.name){let a=xw[o.name];if(a&&a(o,s,r)||!r&&Mm.has(o.name))return!1;r=!1}else if(o.to-o.from>8192){for(let a of Wm(i,o.node))n.push(a);return!1}}),zm.set(e,n),n}var Lm=/^[\w\xa1-\uffff][\w\d\xa1-\uffff]*$/,jm=["String","FormatString","Comment","PropertyName"];function ww(i){let e=U(i.state).resolveInner(i.pos,-1);if(jm.indexOf(e.name)>-1)return null;let t=e.name=="VariableName"||e.to-e.from<20&&Lm.test(i.state.sliceDoc(e.from,e.to));if(!t&&!i.explicit)return null;let n=[];for(let r=e;r;r=r.parent)Mm.has(r.name)&&(n=n.concat(Wm(i.state.doc,r)));return{options:n,from:t?e.from:i.pos,validFor:Lm}}var Pw=["__annotations__","__builtins__","__debug__","__doc__","__import__","__name__","__loader__","__package__","__spec__","False","None","True"].map(i=>({label:i,type:"constant"})).concat(["ArithmeticError","AssertionError","AttributeError","BaseException","BlockingIOError","BrokenPipeError","BufferError","BytesWarning","ChildProcessError","ConnectionAbortedError","ConnectionError","ConnectionRefusedError","ConnectionResetError","DeprecationWarning","EOFError","Ellipsis","EncodingWarning","EnvironmentError","Exception","FileExistsError","FileNotFoundError","FloatingPointError","FutureWarning","GeneratorExit","IOError","ImportError","ImportWarning","IndentationError","IndexError","InterruptedError","IsADirectoryError","KeyError","KeyboardInterrupt","LookupError","MemoryError","ModuleNotFoundError","NameError","NotADirectoryError","NotImplemented","NotImplementedError","OSError","OverflowError","PendingDeprecationWarning","PermissionError","ProcessLookupError","RecursionError","ReferenceError","ResourceWarning","RuntimeError","RuntimeWarning","StopAsyncIteration","StopIteration","SyntaxError","SyntaxWarning","SystemError","SystemExit","TabError","TimeoutError","TypeError","UnboundLocalError","UnicodeDecodeError","UnicodeEncodeError","UnicodeError","UnicodeTranslateError","UnicodeWarning","UserWarning","ValueError","Warning","ZeroDivisionError"].map(i=>({label:i,type:"type"}))).concat(["bool","bytearray","bytes","classmethod","complex","float","frozenset","int","list","map","memoryview","object","range","set","staticmethod","str","super","tuple","type"].map(i=>({label:i,type:"class"}))).concat(["abs","aiter","all","anext","any","ascii","bin","breakpoint","callable","chr","compile","delattr","dict","dir","divmod","enumerate","eval","exec","exit","filter","format","getattr","globals","hasattr","hash","help","hex","id","input","isinstance","issubclass","iter","len","license","locals","max","min","next","oct","open","ord","pow","print","property","quit","repr","reversed","round","setattr","slice","sorted","sum","vars","zip"].map(i=>({label:i,type:"function"}))),vw=[ce("def ${name}(${params}):\n ${}",{label:"def",detail:"function",type:"keyword"}),ce("for ${name} in ${collection}:\n ${}",{label:"for",detail:"loop",type:"keyword"}),ce("while ${}:\n ${}",{label:"while",detail:"loop",type:"keyword"}),ce("try:\n ${}\nexcept ${error}:\n ${}",{label:"try",detail:"/ except block",type:"keyword"}),ce(`if \${}: +}`,{label:"class",detail:"definition",type:"keyword"}),ce('import {${names}} from "${module}"\n${}',{label:"import",detail:"named",type:"keyword"}),ce('import ${name} from "${module}"\n${}',{label:"import",detail:"default",type:"keyword"})],c1=Mp.concat([ce("interface ${name} {\n ${}\n}",{label:"interface",detail:"definition",type:"keyword"}),ce("type ${name} = ${type}",{label:"type",detail:"definition",type:"keyword"}),ce("enum ${name} {\n ${}\n}",{label:"enum",detail:"definition",type:"keyword"})]),qp=new di,Wp=new Set(["Script","Block","FunctionExpression","FunctionDeclaration","ArrowFunction","MethodDeclaration","ForStatement"]);function vr(i){return(e,t)=>{let n=e.node.getChild("VariableDefinition");return n&&t(n,i),!0}}var h1=["FunctionDeclaration"],f1={FunctionDeclaration:vr("function"),ClassDeclaration:vr("class"),ClassExpression:()=>!0,EnumDeclaration:vr("constant"),TypeAliasDeclaration:vr("type"),NamespaceDeclaration:vr("namespace"),VariableDefinition(i,e){i.matchContext(h1)||e(i,"variable")},TypeDefinition(i,e){e(i,"type")},__proto__:null};function jp(i,e){let t=qp.get(e);if(t)return t;let n=[],r=!0;function s(o,a){let l=i.sliceString(o.from,o.to);n.push({label:l,type:a})}return e.cursor(ee.IncludeAnonymous).iterate(o=>{if(r)r=!1;else if(o.name){let a=f1[o.name];if(a&&a(o,s)||Wp.has(o.name))return!1}else if(o.to-o.from>8192){for(let a of jp(i,o.node))n.push(a);return!1}}),qp.set(e,n),n}var zp=/^[\w$\xa1-\uffff][\w$\d\xa1-\uffff]*$/,Vp=["TemplateString","String","RegExp","LineComment","BlockComment","VariableDefinition","TypeDefinition","Label","PropertyDefinition","PropertyName","PrivatePropertyDefinition","PrivatePropertyName","JSXText","JSXAttributeValue","JSXOpenTag","JSXCloseTag","JSXSelfClosingTag",".","?."];function u1(i){let e=U(i.state).resolveInner(i.pos,-1);if(Vp.indexOf(e.name)>-1)return null;let t=e.name=="VariableName"||e.to-e.from<20&&zp.test(i.state.sliceDoc(e.from,e.to));if(!t&&!i.explicit)return null;let n=[];for(let r=e;r;r=r.parent)Wp.has(r.name)&&(n=n.concat(jp(i.state.doc,r)));return{options:n,from:t?e.from:i.pos,validFor:zp}}var wt=$e.define({name:"javascript",parser:Ep.configure({props:[we.add({IfStatement:Bt({except:/^\s*({|else\b)/}),TryStatement:Bt({except:/^\s*({|catch\b|finally\b)/}),LabeledStatement:aO,SwitchBody:i=>{let e=i.textAfter,t=/^\s*\}/.test(e),n=/^\s*(case|default)\b/.test(e);return i.baseIndent+(t?0:n?1:2)*i.unit},Block:St({closing:"}"}),ArrowFunction:i=>i.baseIndent+i.unit,"TemplateString BlockComment":()=>null,"Statement Property":Bt({except:/^\s*{/}),JSXElement(i){let e=/^\s*<\//.test(i.textAfter);return i.lineIndent(i.node.from)+(e?0:i.unit)},JSXEscape(i){let e=/\s*\}/.test(i.textAfter);return i.lineIndent(i.node.from)+(e?0:i.unit)},"JSXOpenTag JSXSelfClosingTag"(i){return i.column(i.node.from)+i.unit}}),Te.add({"Block ClassBody SwitchBody EnumBody ObjectExpression ArrayExpression ObjectType":ht,BlockComment(i){return{from:i.from+2,to:i.to-2}},JSXElement(i){let e=i.firstChild;if(!e||e.name=="JSXSelfClosingTag")return null;let t=i.lastChild;return{from:e.to,to:t.type.isError?i.to:t.from}},"JSXSelfClosingTag JSXOpenTag"(i){var e;let t=(e=i.firstChild)===null||e===void 0?void 0:e.nextSibling,n=i.lastChild;return!t||t.type.isError?null:{from:t.to,to:n.type.isError?i.to:n.from}}})]}),languageData:{closeBrackets:{brackets:["(","[","{","'",'"',"`"]},commentTokens:{line:"//",block:{open:"/*",close:"*/"}},indentOnInput:/^\s*(?:case |default:|\{|\}|<\/)$/,wordChars:"$"}}),Dp={test:i=>/^JSX/.test(i.name),facet:kn({commentTokens:{block:{open:"{/*",close:"*/}"}}})},Xc=wt.configure({dialect:"ts"},"typescript"),_c=wt.configure({dialect:"jsx",props:[qs.add(i=>i.isTop?[Dp]:void 0)]}),Rc=wt.configure({dialect:"jsx ts",props:[qs.add(i=>i.isTop?[Dp]:void 0)]},"typescript"),Yp=i=>({label:i,type:"keyword"}),Ip="break case const continue default delete export extends false finally in instanceof let new return static super switch this throw true typeof var yield".split(" ").map(Yp),O1=Ip.concat(["declare","implements","private","protected","public"].map(Yp));function so(i={}){let e=i.jsx?i.typescript?Rc:_c:i.typescript?Xc:wt,t=i.typescript?c1.concat(O1):Mp.concat(Ip);return new me(e,[wt.data.of({autocomplete:Bs(Vp,Is(t))}),wt.data.of({autocomplete:u1}),i.jsx?m1:[]])}function d1(i){for(;;){if(i.name=="JSXOpenTag"||i.name=="JSXSelfClosingTag"||i.name=="JSXFragmentTag")return i;if(i.name=="JSXEscape"||!i.parent)return null;i=i.parent}}function Lp(i,e,t=i.length){for(let n=e?.firstChild;n;n=n.nextSibling)if(n.name=="JSXIdentifier"||n.name=="JSXBuiltin"||n.name=="JSXNamespacedName"||n.name=="JSXMemberExpression")return i.sliceString(n.from,Math.min(n.to,t));return""}var p1=typeof navigator=="object"&&/Android\b/.test(navigator.userAgent),m1=z.inputHandler.of((i,e,t,n,r)=>{if((p1?i.composing:i.compositionStarted)||i.state.readOnly||e!=t||n!=">"&&n!="/"||!wt.isActiveAt(i.state,e,-1))return!1;let s=r(),{state:o}=s,a=o.changeByRange(l=>{var c;let{head:h}=l,f=U(o).resolveInner(h-1,-1),u;if(f.name=="JSXStartTag"&&(f=f.parent),!(o.doc.sliceString(h-1,h)!=n||f.name=="JSXAttributeValue"&&f.to>h)){if(n==">"&&f.name=="JSXFragmentTag")return{range:l,changes:{from:h,insert:""}};if(n=="/"&&f.name=="JSXStartCloseTag"){let O=f.parent,p=O.parent;if(p&&O.from==h-2&&((u=Lp(o.doc,p.firstChild,h))||((c=p.firstChild)===null||c===void 0?void 0:c.name)=="JSXFragmentTag")){let m=`${u}>`;return{range:P.cursor(h+m.length,-1),changes:{from:h,insert:m}}}}else if(n==">"){let O=d1(f);if(O&&O.name=="JSXOpenTag"&&!/^\/?>|^<\//.test(o.doc.sliceString(h,h+2))&&(u=Lp(o.doc,O,h)))return{range:l,changes:{from:h,insert:``}}}}return{range:l}});return a.changes.empty?!1:(i.dispatch([s,o.update(a,{userEvent:"input.complete",scrollIntoView:!0})]),!0)});var $r=["_blank","_self","_top","_parent"],Ac=["ascii","utf-8","utf-16","latin1","latin1"],Zc=["get","post","put","delete"],Ec=["application/x-www-form-urlencoded","multipart/form-data","text/plain"],Je=["true","false"],D={},g1={a:{attrs:{href:null,ping:null,type:null,media:null,target:$r,hreflang:null}},abbr:D,address:D,area:{attrs:{alt:null,coords:null,href:null,target:null,ping:null,media:null,hreflang:null,type:null,shape:["default","rect","circle","poly"]}},article:D,aside:D,audio:{attrs:{src:null,mediagroup:null,crossorigin:["anonymous","use-credentials"],preload:["none","metadata","auto"],autoplay:["autoplay"],loop:["loop"],controls:["controls"]}},b:D,base:{attrs:{href:null,target:$r}},bdi:D,bdo:D,blockquote:{attrs:{cite:null}},body:D,br:D,button:{attrs:{form:null,formaction:null,name:null,value:null,autofocus:["autofocus"],disabled:["autofocus"],formenctype:Ec,formmethod:Zc,formnovalidate:["novalidate"],formtarget:$r,type:["submit","reset","button"]}},canvas:{attrs:{width:null,height:null}},caption:D,center:D,cite:D,code:D,col:{attrs:{span:null}},colgroup:{attrs:{span:null}},command:{attrs:{type:["command","checkbox","radio"],label:null,icon:null,radiogroup:null,command:null,title:null,disabled:["disabled"],checked:["checked"]}},data:{attrs:{value:null}},datagrid:{attrs:{disabled:["disabled"],multiple:["multiple"]}},datalist:{attrs:{data:null}},dd:D,del:{attrs:{cite:null,datetime:null}},details:{attrs:{open:["open"]}},dfn:D,div:D,dl:D,dt:D,em:D,embed:{attrs:{src:null,type:null,width:null,height:null}},eventsource:{attrs:{src:null}},fieldset:{attrs:{disabled:["disabled"],form:null,name:null}},figcaption:D,figure:D,footer:D,form:{attrs:{action:null,name:null,"accept-charset":Ac,autocomplete:["on","off"],enctype:Ec,method:Zc,novalidate:["novalidate"],target:$r}},h1:D,h2:D,h3:D,h4:D,h5:D,h6:D,head:{children:["title","base","link","style","meta","script","noscript","command"]},header:D,hgroup:D,hr:D,html:{attrs:{manifest:null}},i:D,iframe:{attrs:{src:null,srcdoc:null,name:null,width:null,height:null,sandbox:["allow-top-navigation","allow-same-origin","allow-forms","allow-scripts"],seamless:["seamless"]}},img:{attrs:{alt:null,src:null,ismap:null,usemap:null,width:null,height:null,crossorigin:["anonymous","use-credentials"]}},input:{attrs:{alt:null,dirname:null,form:null,formaction:null,height:null,list:null,max:null,maxlength:null,min:null,name:null,pattern:null,placeholder:null,size:null,src:null,step:null,value:null,width:null,accept:["audio/*","video/*","image/*"],autocomplete:["on","off"],autofocus:["autofocus"],checked:["checked"],disabled:["disabled"],formenctype:Ec,formmethod:Zc,formnovalidate:["novalidate"],formtarget:$r,multiple:["multiple"],readonly:["readonly"],required:["required"],type:["hidden","text","search","tel","url","email","password","datetime","date","month","week","time","datetime-local","number","range","color","checkbox","radio","file","submit","image","reset","button"]}},ins:{attrs:{cite:null,datetime:null}},kbd:D,keygen:{attrs:{challenge:null,form:null,name:null,autofocus:["autofocus"],disabled:["disabled"],keytype:["RSA"]}},label:{attrs:{for:null,form:null}},legend:D,li:{attrs:{value:null}},link:{attrs:{href:null,type:null,hreflang:null,media:null,sizes:["all","16x16","16x16 32x32","16x16 32x32 64x64"]}},map:{attrs:{name:null}},mark:D,menu:{attrs:{label:null,type:["list","context","toolbar"]}},meta:{attrs:{content:null,charset:Ac,name:["viewport","application-name","author","description","generator","keywords"],"http-equiv":["content-language","content-type","default-style","refresh"]}},meter:{attrs:{value:null,min:null,low:null,high:null,max:null,optimum:null}},nav:D,noscript:D,object:{attrs:{data:null,type:null,name:null,usemap:null,form:null,width:null,height:null,typemustmatch:["typemustmatch"]}},ol:{attrs:{reversed:["reversed"],start:null,type:["1","a","A","i","I"]},children:["li","script","template","ul","ol"]},optgroup:{attrs:{disabled:["disabled"],label:null}},option:{attrs:{disabled:["disabled"],label:null,selected:["selected"],value:null}},output:{attrs:{for:null,form:null,name:null}},p:D,param:{attrs:{name:null,value:null}},pre:D,progress:{attrs:{value:null,max:null}},q:{attrs:{cite:null}},rp:D,rt:D,ruby:D,samp:D,script:{attrs:{type:["text/javascript"],src:null,async:["async"],defer:["defer"],charset:Ac}},section:D,select:{attrs:{form:null,name:null,size:null,autofocus:["autofocus"],disabled:["disabled"],multiple:["multiple"]}},slot:{attrs:{name:null}},small:D,source:{attrs:{src:null,type:null,media:null}},span:D,strong:D,style:{attrs:{type:["text/css"],media:null,scoped:null}},sub:D,summary:D,sup:D,table:D,tbody:D,td:{attrs:{colspan:null,rowspan:null,headers:null}},template:D,textarea:{attrs:{dirname:null,form:null,maxlength:null,name:null,placeholder:null,rows:null,cols:null,autofocus:["autofocus"],disabled:["disabled"],readonly:["readonly"],required:["required"],wrap:["soft","hard"]}},tfoot:D,th:{attrs:{colspan:null,rowspan:null,headers:null,scope:["row","col","rowgroup","colgroup"]}},thead:D,time:{attrs:{datetime:null}},title:D,tr:D,track:{attrs:{src:null,label:null,default:null,kind:["subtitles","captions","descriptions","chapters","metadata"],srclang:null}},ul:{children:["li","script","template","ul","ol"]},var:D,video:{attrs:{src:null,poster:null,width:null,height:null,crossorigin:["anonymous","use-credentials"],preload:["auto","metadata","none"],autoplay:["autoplay"],mediagroup:["movie"],muted:["muted"],controls:["controls"]}},wbr:D},Np={accesskey:null,class:null,contenteditable:Je,contextmenu:null,dir:["ltr","rtl","auto"],draggable:["true","false","auto"],dropzone:["copy","move","link","string:","file:"],hidden:["hidden"],id:null,inert:["inert"],itemid:null,itemprop:null,itemref:null,itemscope:["itemscope"],itemtype:null,lang:["ar","bn","de","en-GB","en-US","es","fr","hi","id","ja","pa","pt","ru","tr","zh"],spellcheck:Je,autocorrect:Je,autocapitalize:Je,style:null,tabindex:null,title:null,translate:["yes","no"],rel:["stylesheet","alternate","author","bookmark","help","license","next","nofollow","noreferrer","prefetch","prev","search","tag"],role:"alert application article banner button cell checkbox complementary contentinfo dialog document feed figure form grid gridcell heading img list listbox listitem main navigation region row rowgroup search switch tab table tabpanel textbox timer".split(" "),"aria-activedescendant":null,"aria-atomic":Je,"aria-autocomplete":["inline","list","both","none"],"aria-busy":Je,"aria-checked":["true","false","mixed","undefined"],"aria-controls":null,"aria-describedby":null,"aria-disabled":Je,"aria-dropeffect":null,"aria-expanded":["true","false","undefined"],"aria-flowto":null,"aria-grabbed":["true","false","undefined"],"aria-haspopup":Je,"aria-hidden":Je,"aria-invalid":["true","false","grammar","spelling"],"aria-label":null,"aria-labelledby":null,"aria-level":null,"aria-live":["off","polite","assertive"],"aria-multiline":Je,"aria-multiselectable":Je,"aria-owns":null,"aria-posinset":null,"aria-pressed":["true","false","mixed","undefined"],"aria-readonly":Je,"aria-relevant":null,"aria-required":Je,"aria-selected":["true","false","undefined"],"aria-setsize":null,"aria-sort":["ascending","descending","none","other"],"aria-valuemax":null,"aria-valuemin":null,"aria-valuenow":null,"aria-valuetext":null},Fp="beforeunload copy cut dragstart dragover dragleave dragenter dragend drag paste focus blur change click load mousedown mouseenter mouseleave mouseup keydown keyup resize scroll unload".split(" ").map(i=>"on"+i);for(let i of Fp)Np[i]=null;var Ui=class{constructor(e,t){this.tags={...g1,...e},this.globalAttrs={...Np,...t},this.allTags=Object.keys(this.tags),this.globalAttrNames=Object.keys(this.globalAttrs)}};Ui.default=new Ui;function $n(i,e,t=i.length){if(!e)return"";let n=e.firstChild,r=n&&n.getChild("TagName");return r?i.sliceString(r.from,Math.min(r.to,t)):""}function Tn(i,e=!1){for(;i;i=i.parent)if(i.name=="Element")if(e)e=!1;else return i;return null}function Hp(i,e,t){let n=t.tags[$n(i,Tn(e))];return n?.children||t.allTags}function qc(i,e){let t=[];for(let n=Tn(e);n&&!n.type.isTop;n=Tn(n.parent)){let r=$n(i,n);if(r&&n.lastChild.name=="CloseTag")break;r&&t.indexOf(r)<0&&(e.name=="EndTag"||e.from>=n.firstChild.to)&&t.push(r)}return t}var Kp=/^[:\-\.\w\u00b7-\uffff]*$/;function Bp(i,e,t,n,r){let s=/\s*>/.test(i.sliceDoc(r,r+5))?"":">",o=Tn(t,t.name=="StartTag"||t.name=="TagName");return{from:n,to:r,options:Hp(i.doc,o,e).map(a=>({label:a,type:"type"})).concat(qc(i.doc,t).map((a,l)=>({label:"/"+a,apply:"/"+a+s,type:"type",boost:99-l}))),validFor:/^\/?[:\-\.\w\u00b7-\uffff]*$/}}function Up(i,e,t,n){let r=/\s*>/.test(i.sliceDoc(n,n+5))?"":">";return{from:t,to:n,options:qc(i.doc,e).map((s,o)=>({label:s,apply:s+r,type:"type",boost:99-o})),validFor:Kp}}function Q1(i,e,t,n){let r=[],s=0;for(let o of Hp(i.doc,t,e))r.push({label:"<"+o,type:"type"});for(let o of qc(i.doc,t))r.push({label:"",type:"type",boost:99-s++});return{from:n,to:n,options:r,validFor:/^<\/?[:\-\.\w\u00b7-\uffff]*$/}}function b1(i,e,t,n,r){let s=Tn(t),o=s?e.tags[$n(i.doc,s)]:null,a=o&&o.attrs?Object.keys(o.attrs):[],l=o&&o.globalAttrs===!1?a:a.length?a.concat(e.globalAttrNames):e.globalAttrNames;return{from:n,to:r,options:l.map(c=>({label:c,type:"property"})),validFor:Kp}}function S1(i,e,t,n,r){var s;let o=(s=t.parent)===null||s===void 0?void 0:s.getChild("AttributeName"),a=[],l;if(o){let c=i.sliceDoc(o.from,o.to),h=e.globalAttrs[c];if(!h){let f=Tn(t),u=f?e.tags[$n(i.doc,f)]:null;h=u?.attrs&&u.attrs[c]}if(h){let f=i.sliceDoc(n,r).toLowerCase(),u='"',O='"';/^['"]/.test(f)?(l=f[0]=='"'?/^[^"]*$/:/^[^']*$/,u="",O=i.sliceDoc(r,r+1)==f[0]?"":f[0],f=f.slice(1),n++):l=/^[^\s<>='"]*$/;for(let p of h)a.push({label:p,apply:u+p+O,type:"constant"})}}return{from:n,to:r,options:a,validFor:l}}function Jp(i,e){let{state:t,pos:n}=e,r=U(t).resolveInner(n,-1),s=r.resolve(n);for(let o=n,a;s==r&&(a=r.childBefore(o));){let l=a.lastChild;if(!l||!l.type.isError||l.fromJp(n,r)}var k1=wt.parser.configure({top:"SingleExpression"}),tm=[{tag:"script",attrs:i=>i.type=="text/typescript"||i.lang=="ts",parser:Xc.parser},{tag:"script",attrs:i=>i.type=="text/babel"||i.type=="text/jsx",parser:_c.parser},{tag:"script",attrs:i=>i.type=="text/typescript-jsx",parser:Rc.parser},{tag:"script",attrs(i){return/^(importmap|speculationrules|application\/(.+\+)?json)$/i.test(i.type)},parser:k1},{tag:"script",attrs(i){return!i.type||/^(?:text|application)\/(?:x-)?(?:java|ecma)script$|^module$|^$/i.test(i.type)},parser:wt.parser},{tag:"style",attrs(i){return(!i.lang||i.lang=="css")&&(!i.type||/^(text\/)?(x-)?(stylesheet|css)$/i.test(i.type))},parser:Pr.parser}],im=[{name:"style",parser:Pr.parser.configure({top:"Styles"})}].concat(Fp.map(i=>({name:i,parser:wt.parser}))),nm=$e.define({name:"html",parser:Sp.configure({props:[we.add({Element(i){let e=/^(\s*)(<\/)?/.exec(i.textAfter);return i.node.to<=i.pos+e[0].length?i.continue():i.lineIndent(i.node.from)+(e[2]?0:i.unit)},"OpenTag CloseTag SelfClosingTag"(i){return i.column(i.node.from)+i.unit},Document(i){if(i.pos+/\s*/.exec(i.textAfter)[0].lengthi.getChild("TagName")})]}),languageData:{commentTokens:{block:{open:""}},indentOnInput:/^\s*<\/\w+\W$/,wordChars:"-_"}}),oo=nm.configure({wrap:xc(tm,im)});function ao(i={}){let e="",t;i.matchClosingTags===!1&&(e="noMatch"),i.selfClosingTags===!0&&(e=(e?e+" ":"")+"selfClosing"),(i.nestedLanguages&&i.nestedLanguages.length||i.nestedAttributes&&i.nestedAttributes.length)&&(t=xc((i.nestedLanguages||[]).concat(tm),(i.nestedAttributes||[]).concat(im)));let n=t?nm.configure({wrap:t,dialect:e}):e?oo.configure({dialect:e}):oo;return new me(n,[oo.data.of({autocomplete:y1(i)}),i.autoCloseTags!==!1?x1:[],so().support,ro().support])}var Gp=new Set("area base br col command embed frame hr img input keygen link meta param source track wbr menuitem".split(" ")),x1=z.inputHandler.of((i,e,t,n,r)=>{if(i.composing||i.state.readOnly||e!=t||n!=">"&&n!="/"||!oo.isActiveAt(i.state,e,-1))return!1;let s=r(),{state:o}=s,a=o.changeByRange(l=>{var c,h,f;let u=o.doc.sliceString(l.from-1,l.to)==n,{head:O}=l,p=U(o).resolveInner(O,-1),m;if(u&&n==">"&&p.name=="EndTag"){let b=p.parent;if(((h=(c=b.parent)===null||c===void 0?void 0:c.lastChild)===null||h===void 0?void 0:h.name)!="CloseTag"&&(m=$n(o.doc,b.parent,O))&&!Gp.has(m)){let g=O+(o.doc.sliceString(O,O+1)===">"?1:0),Q=``;return{range:l,changes:{from:O,to:g,insert:Q}}}}else if(u&&n=="/"&&p.name=="IncompleteCloseTag"){let b=p.parent;if(p.from==O-2&&((f=b.lastChild)===null||f===void 0?void 0:f.name)!="CloseTag"&&(m=$n(o.doc,b,O))&&!Gp.has(m)){let g=O+(o.doc.sliceString(O,O+1)===">"?1:0),Q=`${m}>`;return{range:P.cursor(O+Q.length,-1),changes:{from:O,to:g,insert:Q}}}}return{range:l}});return a.changes.empty?!1:(i.dispatch([s,o.update(a,{userEvent:"input.complete",scrollIntoView:!0})]),!0)});var om=kn({commentTokens:{block:{open:""}}}),am=new I,lm=Yd.configure({props:[Te.add(i=>!i.is("Block")||i.is("Document")||Mc(i)!=null||w1(i)?void 0:(e,t)=>({from:t.doc.lineAt(e.from).to,to:e.to})),am.add(Mc),we.add({Document:()=>null}),bt.add({Document:om})]});function Mc(i){let e=/^(?:ATX|Setext)Heading(\d)$/.exec(i.name);return e?+e[1]:void 0}function w1(i){return i.name=="OrderedList"||i.name=="BulletList"}function P1(i,e){let t=i;for(;;){let n=t.nextSibling,r;if(!n||(r=Mc(n.type))!=null&&r<=e)break;t=n}return t.to}var v1=lO.of((i,e,t)=>{for(let n=U(i).resolveInner(t,-1);n&&!(n.fromt)return{from:t,to:s}}return null});function Wc(i){return new xe(om,i,[],"markdown")}var $1=Wc(lm),T1=lm.configure([Ud,Fd,Nd,Hd,{props:[Te.add({Table:(i,e)=>({from:e.doc.lineAt(i.from).to,to:i.to})})]}]),ki=Wc(T1);function C1(i,e){return t=>{if(t&&i){let n=null;if(t=/\S*/.exec(t)[0],typeof i=="function"?n=i(t):n=Ie.matchLanguageName(i,t,!0),n instanceof Ie)return n.support?n.support.language.parser:Wi.getSkippingParser(n.load());if(n)return n.parser}return e?e.parser:null}}var Tr=class{constructor(e,t,n,r,s,o,a){this.node=e,this.from=t,this.to=n,this.spaceBefore=r,this.spaceAfter=s,this.type=o,this.item=a}blank(e,t=!0){let n=this.spaceBefore+(this.node.name=="Blockquote"?">":"");if(e!=null){for(;n.length0;r--)n+=" ";return n+(t?this.spaceAfter:"")}}marker(e,t){let n=this.node.name=="OrderedList"?String(+hm(this.item,e)[2]+t):"";return this.spaceBefore+n+this.type+this.spaceAfter}};function cm(i,e){let t=[],n=[];for(let r=i;r;r=r.parent){if(r.name=="FencedCode")return n;(r.name=="ListItem"||r.name=="Blockquote")&&t.push(r)}for(let r=t.length-1;r>=0;r--){let s=t[r],o,a=e.lineAt(s.from),l=s.from-a.from;if(s.name=="Blockquote"&&(o=/^ *>( ?)/.exec(a.text.slice(l))))n.push(new Tr(s,l,l+o[0].length,"",o[1],">",null));else if(s.name=="ListItem"&&s.parent.name=="OrderedList"&&(o=/^( *)\d+([.)])( *)/.exec(a.text.slice(l)))){let c=o[3],h=o[0].length;c.length>=4&&(c=c.slice(0,c.length-4),h-=4),n.push(new Tr(s.parent,l,l+h,o[1],c,o[2],s))}else if(s.name=="ListItem"&&s.parent.name=="BulletList"&&(o=/^( *)([-+*])( {1,4}\[[ xX]\])?( +)/.exec(a.text.slice(l)))){let c=o[4],h=o[0].length;c.length>4&&(c=c.slice(0,c.length-4),h-=4);let f=o[2];o[3]&&(f+=o[3].replace(/[xX]/," ")),n.push(new Tr(s.parent,l,l+h,o[1],c,f,s))}}return n}function hm(i,e){return/^(\s*)(\d+)(?=[.)])/.exec(e.sliceString(i.from,i.from+10))}function zc(i,e,t,n=0){for(let r=-1,s=i;;){if(s.name=="ListItem"){let a=hm(s,e),l=+a[2];if(r>=0){if(l!=r+1)return;t.push({from:s.from+a[1].length,to:s.from+a[0].length,insert:String(r+2+n)})}r=l}let o=s.nextSibling;if(!o)break;s=o}}function jc(i,e){let t=/^[ \t]*/.exec(i)[0].length;if(!t||e.facet(Rt)!=" ")return i;let n=Ne(i,4,t),r="";for(let s=n;s>0;)s>=4?(r+=" ",s-=4):(r+=" ",s--);return r+i.slice(t)}var Vc=(i={})=>({state:e,dispatch:t})=>{let n=U(e),{doc:r}=e,s=null,o=e.changeByRange(a=>{if(!a.empty||!ki.isActiveAt(e,a.from,-1)&&!ki.isActiveAt(e,a.from,1))return s={range:a};let l=a.from,c=r.lineAt(l),h=cm(n.resolveInner(l,-1),r);for(;h.length&&h[h.length-1].from>l-c.from;)h.pop();if(!h.length)return s={range:a};let f=h[h.length-1];if(f.to-f.spaceAfter.length>l-c.from)return s={range:a};let u=l>=f.to-f.spaceAfter.length&&!/\S/.test(c.text.slice(f.to));if(f.item&&u){let g=f.node.firstChild,Q=f.node.getChild("ListItem","ListItem");if(g.to>=l||Q&&Q.to0&&!/[^\s>]/.test(r.lineAt(c.from-1).text)||i.nonTightLists===!1){let S=h.length>1?h[h.length-2]:null,x,v="";S&&S.item?(x=c.from+S.from,v=S.marker(r,1)):x=c.from+(S?S.to:0);let $=[{from:x,to:l,insert:v}];return f.node.name=="OrderedList"&&zc(f.item,r,$,-2),S&&S.node.name=="OrderedList"&&zc(S.item,r,$),{range:P.cursor(x+v.length),changes:$}}else{let S=sm(h,e,c);return{range:P.cursor(l+S.length+1),changes:{from:c.from,insert:S+e.lineBreak}}}}if(f.node.name=="Blockquote"&&u&&c.from){let g=r.lineAt(c.from-1),Q=/>\s*$/.exec(g.text);if(Q&&Q.index==f.from){let S=e.changes([{from:g.from+Q.index,to:g.to},{from:c.from+f.from,to:c.to}]);return{range:a.map(S),changes:S}}}let O=[];f.node.name=="OrderedList"&&zc(f.item,r,O);let p=f.item&&f.item.from]*/.exec(c.text)[0].length>=f.to)for(let g=0,Q=h.length-1;g<=Q;g++)m+=g==Q&&!p?h[g].marker(r,1):h[g].blank(gc.from&&/\s/.test(c.text.charAt(b-c.from-1));)b--;return m=jc(m,e),_1(f.node,e.doc)&&(m=sm(h,e,c)+e.lineBreak+m),O.push({from:b,to:l,insert:e.lineBreak+m}),{range:P.cursor(b+m.length+1),changes:O}});return s?!1:(t(e.update(o,{scrollIntoView:!0,userEvent:"input"})),!0)},X1=Vc();function rm(i){return i.name=="QuoteMark"||i.name=="ListMark"}function _1(i,e){if(i.name!="OrderedList"&&i.name!="BulletList")return!1;let t=i.firstChild,n=i.getChild("ListItem","ListItem");if(!n)return!1;let r=e.lineAt(t.to),s=e.lineAt(n.from),o=/^[\s>]*$/.test(r.text);return r.number+(o?0:1){let t=U(i),n=null,r=i.changeByRange(s=>{let o=s.from,{doc:a}=i;if(s.empty&&ki.isActiveAt(i,s.from)){let l=a.lineAt(o),c=cm(R1(t,o),a);if(c.length){let h=c[c.length-1],f=h.to-h.spaceAfter.length+(h.spaceAfter?1:0);if(o-l.from>f&&!/\S/.test(l.text.slice(f,o-l.from)))return{range:P.cursor(l.from+f),changes:{from:l.from+f,to:o}};if(o-l.from==f&&(!h.item||l.from<=h.item.from||!/\S/.test(l.text.slice(0,h.to)))){let u=l.from+h.from;if(h.item&&h.node.from{var t;let{main:n}=e.state.selection;if(n.empty)return!1;let r=(t=i.clipboardData)===null||t===void 0?void 0:t.getData("text/plain");if(!r||!/^(https?:\/\/|mailto:|xmpp:|www\.)/.test(r)||(/^www\./.test(r)&&(r="https://"+r),!ki.isActiveAt(e.state,n.from,1)))return!1;let s=U(e.state),o=!1;return s.iterate({from:n.from,to:n.to,enter:a=>{(a.from>n.from||q1.test(a.name))&&(o=!0)},leave:a=>{a.to{if(i.next==-1&&e.canShift(um))return i.acceptToken(um);let t=i.peek(-1);if((Ft(t)||t<0)&&e.context.type!=Xr){if(Xn(i,45))if(e.canShift(Cn))i.acceptToken(Cn);else return i.acceptToken(L1,3);if(Xn(i,46))if(e.canShift(Cn))i.acceptToken(Cn);else return i.acceptToken(M1,3);let n=0;for(;i.next==32;)n++,i.advance();(n{if(e.context.type==Xr){i.next==63&&(i.advance(),Gi(i.next)&&i.acceptToken(V1));return}if(i.next==45)i.advance(),Gi(i.next)&&i.acceptToken(e.context.type==Fc&&e.context.depth==Cr(i,i.pos-1)?W1:pm);else if(i.next==63)i.advance(),Gi(i.next)&&i.acceptToken(e.context.type==Bc&&e.context.depth==Cr(i,i.pos-1)?j1:mm);else{let t=i.pos;for(;;)if(Gc(i.next)){if(i.pos==t)return;i.advance()}else if(i.next==33)Sm(i);else if(i.next==38)Nc(i);else if(i.next==42){Nc(i);break}else if(i.next==39||i.next==34){if(Hc(i,!0))break;return}else if(i.next==91||i.next==123){if(!ox(i))return;break}else{ym(i,!0,!1,0);break}for(;Gc(i.next);)i.advance();if(i.next==58){if(i.pos==t&&e.canShift(H1))return;let n=i.peek(1);Gi(n)&&i.acceptTokenTo(e.context.type==Bc&&e.context.depth==Cr(i,t)?D1:gm,t)}}},{contextual:!0});function sx(i){return i>32&&i<127&&i!=34&&i!=37&&i!=44&&i!=60&&i!=62&&i!=92&&i!=94&&i!=96&&i!=123&&i!=124&&i!=125}function Om(i){return i>=48&&i<=57||i>=97&&i<=102||i>=65&&i<=70}function dm(i,e){return i.next==37?(i.advance(),Om(i.next)&&i.advance(),Om(i.next)&&i.advance(),!0):sx(i.next)||e&&i.next==44?(i.advance(),!0):!1}function Sm(i){if(i.advance(),i.next==60){for(i.advance();;)if(!dm(i,!0)){i.next==62&&i.advance();break}}else for(;dm(i,!1););}function Nc(i){for(i.advance();!Gi(i.next)&&lo(i.next)!="f";)i.advance()}function Hc(i,e){let t=i.next,n=!1,r=i.pos;for(i.advance();;){let s=i.next;if(s<0)break;if(i.advance(),s==t)if(s==39)if(i.next==39)i.advance();else break;else break;else if(s==92&&t==34)i.next>=0&&i.advance();else if(Ft(s)){if(e)return!1;n=!0}else if(e&&i.pos>=r+1024)return!1}return!n}function ox(i){for(let e=[],t=i.pos+1024;;)if(i.next==91||i.next==123)e.push(i.next),i.advance();else if(i.next==39||i.next==34){if(!Hc(i,!0))return!1}else if(i.next==93||i.next==125){if(e[e.length-1]!=i.next-2)return!1;if(e.pop(),i.advance(),!e.length)return!0}else{if(i.next<0||i.pos>t||Ft(i.next))return!1;i.advance()}}var ax="iiisiiissisfissssssssssssisssiiissssssssssssssssssssssssssfsfssissssssssssssssssssssssssssfif";function lo(i){return i<33?"u":i>125?"s":ax[i-33]}function Ic(i,e){let t=lo(i);return t!="u"&&!(e&&t=="f")}function ym(i,e,t,n){if(lo(i.next)=="s"||(i.next==63||i.next==58||i.next==45)&&Ic(i.peek(1),t))i.advance();else return!1;let r=i.pos;for(;;){let s=i.next,o=0,a=n+1;for(;bm(s);){if(Ft(s)){if(e)return!1;a=0}else a++;s=i.peek(++o)}if(!(s>=0&&(s==58?Ic(i.peek(o+1),t):s==35?i.peek(o-1)!=32:Ic(s,t)))||!t&&a<=n||a==0&&!t&&(Xn(i,45,o)||Xn(i,46,o)))break;if(e&&lo(s)=="f")return!1;for(let c=o;c>=0;c--)i.advance();if(e&&i.pos>r+1024)return!1}return!0}var lx=new J((i,e)=>{if(i.next==33)Sm(i),i.acceptToken(G1);else if(i.next==38||i.next==42){let t=i.next==38?B1:U1;Nc(i),i.acceptToken(t)}else i.next==39||i.next==34?(Hc(i,!1),i.acceptToken(I1)):ym(i,!1,e.context.type==Xr,e.context.depth)&&i.acceptToken(Y1)}),cx=new J((i,e)=>{let t=e.context.type==Uc?e.context.depth:-1,n=i.pos;e:for(;;){let r=0,s=i.next;for(;s==32;)s=i.peek(++r);if(!r&&(Xn(i,45,r)||Xn(i,46,r))||!Ft(s)&&(t<0&&(t=Math.max(e.context.depth+1,r)),rYAN>Y",stateData:";S~O!fOS!gOS^OS~OP_OQbORSOTUOWROXROYYOZZO[XOcPOqQO!PVO!V[O!cTO~O`cO~P]OVkOWROXROYeOZfO[dOcPOmhOqQO~OboO~P!bOVtOWROXROYeOZfO[dOcPOmrOqQO~OpwO~P#WORSOTUOWROXROYYOZZO[XOcPOqQO!PVO!cTO~OSvP!avP!bvP~P#|OWROXROYeOZfO[dOcPOqQO~OmzO~P%OOm!OOUzP!azP!bzP!dzP~P#|O^!SO!b!QO!f!TO!g!RO~ORSOTUOWROXROcPOqQO!PVO!cTO~OY!UOP!QXQ!QX!V!QX!`!QXS!QX!a!QX!b!QXU!QXm!QX!d!QX~P&aO[!WOP!SXQ!SX!V!SX!`!SXS!SX!a!SX!b!SXU!SXm!SX!d!SX~P&aO^!ZO!W![O!b!YO!f!]O!g!YO~OP!_O!V[OQaX!`aX~OPaXQaX!VaX!`aX~P#|OP!bOQ!cO!V[O~OP_O!V[O~P#|OWROXROY!fOcPOqQObfXmfXofXpfX~OWROXRO[!hOcPOqQObhXmhXohXphX~ObeXmlXoeX~ObkXokX~P%OOm!kO~Om!lObnPonP~P%OOb!pOo!oO~Ob!pO~P!bOm!sOosXpsX~OosXpsX~P%OOm!uOotPptP~P%OOo!xOp!yO~Op!yO~P#WOS!|O!a#OO!b#OO~OUyX!ayX!byX!dyX~P#|Om#QO~OU#SO!a#UO!b#UO!d#RO~Om#WOUzX!azX!bzX!dzX~O]#XO~O!b#XO!g#YO~O^#ZO!b#XO!g#YO~OP!RXQ!RX!V!RX!`!RXS!RX!a!RX!b!RXU!RXm!RX!d!RX~P&aOP!TXQ!TX!V!TX!`!TXS!TX!a!TX!b!TXU!TXm!TX!d!TX~P&aO!b#^O!g#^O~O^#_O!b#^O!f#`O!g#^O~O^#_O!W#aO!b#^O!g#^O~OPaaQaa!Vaa!`aa~P#|OP#cO!V[OQ!XX!`!XX~OP!XXQ!XX!V!XX!`!XX~P#|OP_O!V[OQ!_X!`!_X~P#|OWROXROcPOqQObgXmgXogXpgX~OWROXROcPOqQObiXmiXoiXpiX~Obkaoka~P%OObnXonX~P%OOm#kO~Ob#lOo!oO~Oosapsa~P%OOotXptX~P%OOm#pO~Oo!xOp#qO~OSwP!awP!bwP~P#|OS!|O!a#vO!b#vO~OUya!aya!bya!dya~P#|Om#xO~P%OOm#{OU}P!a}P!b}P!d}P~P#|OU#SO!a$OO!b$OO!d#RO~O]$QO~O!b$QO!g$RO~O!b$SO!g$SO~O^$TO!b$SO!g$SO~O^$TO!b$SO!f$UO!g$SO~OP!XaQ!Xa!V!Xa!`!Xa~P#|Obnaona~P%OOotapta~P%OOo!xO~OU|X!a|X!b|X!d|X~P#|Om$ZO~Om$]OU}X!a}X!b}X!d}X~O]$^O~O!b$_O!g$_O~O^$`O!b$_O!g$_O~OU|a!a|a!b|a!d|a~P#|O!b$cO!g$cO~O",goto:",]!mPPPPPPPPPPPPPPPPP!nPP!v#v#|$`#|$c$f$j$nP%VPPP!v%Y%^%a%{&O%a&R&U&X&_&b%aP&e&{&e'O'RPP']'a'g'm's'y(XPPPPPPPP(_)e*X+c,VUaObcR#e!c!{ROPQSTUXY_bcdehknrtvz!O!U!W!_!b!c!f!h!k!l!s!u!|#Q#R#S#W#c#k#p#x#{$Z$]QmPR!qnqfPQThknrtv!k!l!s!u#R#k#pR!gdR!ieTlPnTjPnSiPnSqQvQ{TQ!mkQ!trQ!vtR#y#RR!nkTsQvR!wt!RWOSUXY_bcz!O!U!W!_!b!c!|#Q#S#W#c#x#{$Z$]RySR#t!|R|TR|UQ!PUR#|#SR#z#RR#z#SyZOSU_bcz!O!_!b!c!|#Q#S#W#c#x#{$Z$]R!VXR!XYa]O^abc!a!c!eT!da!eQnPR!rnQvQR!{vQ!}yR#u!}Q#T|R#}#TW^Obc!cS!^^!aT!aa!eQ!eaR#f!eW`Obc!cQxSS}U#SQ!`_Q#PzQ#V!OQ#b!_Q#d!bQ#s!|Q#w#QQ$P#WQ$V#cQ$Y#xQ$[#{Q$a$ZR$b$]xZOSU_bcz!O!_!b!c!|#Q#S#W#c#x#{$Z$]Q!VXQ!XYQ#[!UR#]!W!QWOSUXY_bcz!O!U!W!_!b!c!|#Q#S#W#c#x#{$Z$]pfPQThknrtv!k!l!s!u#R#k#pQ!gdQ!ieQ#g!fR#h!hSgPn^pQTkrtv#RQ!jhQ#i!kQ#j!lQ#n!sQ#o!uQ$W#kR$X#pQuQR!zv",nodeNames:"\u26A0 DirectiveEnd DocEnd - - ? ? ? Literal QuotedLiteral Anchor Alias Tag BlockLiteralContent Comment Stream BOM Document ] [ FlowSequence Item Tagged Anchored Anchored Tagged FlowMapping Pair Key : Pair , } { FlowMapping Pair Pair BlockSequence Item Item BlockMapping Pair Pair Key Pair Pair BlockLiteral BlockLiteralHeader Tagged Anchored Anchored Tagged Directive DirectiveName DirectiveContent Document",maxTerm:74,context:ix,nodeProps:[["isolate",-3,8,9,14,""],["openedBy",18,"[",32,"{"],["closedBy",19,"]",33,"}"]],propSources:[hx],skippedNodes:[0],repeatNodeCount:6,tokenData:"-Y~RnOX#PXY$QYZ$]Z]#P]^$]^p#Ppq$Qqs#Pst$btu#Puv$yv|#P|}&e}![#P![!]'O!]!`#P!`!a'i!a!}#P!}#O*g#O#P#P#P#Q+Q#Q#o#P#o#p+k#p#q'i#q#r,U#r;'S#P;'S;=`#z<%l?HT#P?HT?HU,o?HUO#PQ#UU!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PQ#kTOY#PZs#Pt;'S#P;'S;=`#z<%lO#PQ#}P;=`<%l#P~$VQ!f~XY$Qpq$Q~$bO!g~~$gS^~OY$bZ;'S$b;'S;=`$s<%lO$b~$vP;=`<%l$bR%OX!WQOX%kXY#PZ]%k]^#P^p%kpq#hq;'S%k;'S;=`&_<%lO%kR%rX!WQ!VPOX%kXY#PZ]%k]^#P^p%kpq#hq;'S%k;'S;=`&_<%lO%kR&bP;=`<%l%kR&lUoP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR'VUmP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR'p[!PP!WQOY#PZp#Ppq#hq{#P{|(f|}#P}!O(f!O!R#P!R![)p![;'S#P;'S;=`#z<%lO#PR(mW!PP!WQOY#PZp#Ppq#hq!R#P!R![)V![;'S#P;'S;=`#z<%lO#PR)^U!PP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR)wY!PP!WQOY#PZp#Ppq#hq{#P{|)V|}#P}!O)V!O;'S#P;'S;=`#z<%lO#PR*nUcP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR+XUbP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR+rUqP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR,]UpP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR,vU`P!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#P",tokenizers:[nx,rx,lx,cx,0,1],topRules:{Stream:[0,15]},tokenPrec:0});var fx=Pe.deserialize({version:14,states:"!vOQOPOOO]OPO'#C_OhOPO'#C^OOOO'#Cc'#CcOpOPO'#CaQOOOOOO{OPOOOOOO'#Cb'#CbO!WOPO'#C`O!`OPO,58xOOOO-E6a-E6aOOOO-E6`-E6`OOOO'#C_'#C_OOOO1G.d1G.d",stateData:"!h~OXPOYROWTP~OWVXXRXYRX~OYVOXSP~OXROYROWTX~OXROYROWTP~OYVOXSX~OX[O~OXY~",goto:"vWPPX[beioRUOQQOR]XRXQTTOUQWQRZWSSOURYS",nodeNames:"\u26A0 Document Frontmatter DashLine FrontmatterContent Body",maxTerm:10,skippedNodes:[0],repeatNodeCount:2,tokenData:"$z~RXOYnYZ!^Z]n]^!^^}n}!O!i!O;'Sn;'S;=`!c<%lOn~qXOYnYZ!^Z]n]^!^^;'Sn;'S;=`!c<%l~n~On~~!^~!cOY~~!fP;=`<%ln~!lZOYnYZ!^Z]n]^!^^}n}!O#_!O;'Sn;'S;=`!c<%l~n~On~~!^~#bZOYnYZ!^Z]n]^!^^}n}!O$T!O;'Sn;'S;=`!c<%l~n~On~~!^~$WXOYnYZ$sZ]n]^$s^;'Sn;'S;=`!c<%l~n~On~~$s~$zOX~Y~",tokenizers:[0],topRules:{Document:[0,1]},tokenPrec:67}),ux=$e.define({name:"yaml",parser:km.configure({props:[we.add({Stream:i=>{for(let e=i.node.resolve(i.pos,-1);e&&e.to>=i.pos;e=e.parent){if(e.name=="BlockLiteralContent"&&e.fromi.pos)return null}}return null},FlowMapping:St({closing:"}"}),FlowSequence:St({closing:"]"})}),Te.add({"FlowMapping FlowSequence":ht,"Item Pair BlockLiteral":(i,e)=>({from:e.doc.lineAt(i.from).to,to:i.to})})]}),languageData:{commentTokens:{line:"#"},indentOnInput:/^\s*[\]\}]$/}});var Ox=$e.define({name:"yaml-frontmatter",parser:fx.configure({props:[Qe({DashLine:d.meta})]})});function xm(i){let{language:e,support:t}=i.content instanceof me?i.content:{language:i.content,support:[]};return new me(Ox.configure({wrap:bn(n=>n.name=="FrontmatterContent"?{parser:ux.parser}:n.name=="Body"?{parser:e.parser}:null)}),t)}var dx=1,Cm=194,Xm=195,px=196,wm=197,mx=198,gx=199,Qx=200,bx=2,_m=3,Pm=201,Sx=24,yx=25,kx=49,xx=50,wx=55,Px=56,vx=57,$x=59,Tx=60,Cx=61,Xx=62,_x=63,Rx=65,Ax=238,Zx=71,Ex=241,qx=242,zx=243,Lx=244,Mx=245,Wx=246,jx=247,Vx=248,Rm=72,Dx=249,Yx=250,Ix=251,Bx=252,Ux=253,Gx=254,Nx=255,Fx=256,Hx=73,Kx=77,Jx=263,ew=112,tw=130,iw=151,nw=152,rw=155,Ni=10,_r=13,th=32,fo=9,ih=35,sw=40,ow=46,eh=123,vm=125,Am=39,Zm=34,$m=92,aw=111,lw=120,cw=78,hw=117,fw=85,uw=new Set([yx,kx,xx,Jx,Rx,tw,Px,vx,Ax,Xx,_x,Rm,Hx,Kx,Tx,Cx,iw,nw,rw,ew]);function Kc(i){return i==Ni||i==_r}function Jc(i){return i>=48&&i<=57||i>=65&&i<=70||i>=97&&i<=102}var Ow=new J((i,e)=>{let t;if(i.next<0)i.acceptToken(gx);else if(e.context.flags&co)Kc(i.next)&&i.acceptToken(mx,1);else if(((t=i.peek(-1))<0||Kc(t))&&e.canShift(wm)){let n=0;for(;i.next==th||i.next==fo;)i.advance(),n++;(i.next==Ni||i.next==_r||i.next==ih)&&i.acceptToken(wm,-n)}else Kc(i.next)&&i.acceptToken(px,1)},{contextual:!0}),dw=new J((i,e)=>{let t=e.context;if(t.flags)return;let n=i.peek(-1);if(n==Ni||n==_r){let r=0,s=0;for(;;){if(i.next==th)r++;else if(i.next==fo)r+=8-r%8;else break;i.advance(),s++}r!=t.indent&&i.next!=Ni&&i.next!=_r&&i.next!=ih&&(r[i,e|Em])),gw=new dt({start:pw,reduce(i,e,t,n){return i.flags&co&&uw.has(e)||(e==Zx||e==Rm)&&i.flags&Em?i.parent:i},shift(i,e,t,n){return e==Cm?new ho(i,mw(n.read(n.pos,t.pos)),0):e==Xm?i.parent:e==Sx||e==wx||e==$x||e==_m?new ho(i,0,co):Tm.has(e)?new ho(i,0,Tm.get(e)|i.flags&co):i},hash(i){return i.hash}}),Qw=new J(i=>{for(let e=0;e<5;e++){if(i.next!="print".charCodeAt(e))return;i.advance()}if(!/\w/.test(String.fromCharCode(i.next)))for(let e=0;;e++){let t=i.peek(e);if(!(t==th||t==fo)){t!=sw&&t!=ow&&t!=Ni&&t!=_r&&t!=ih&&i.acceptToken(dx);return}}}),bw=new J((i,e)=>{let{flags:t}=e.context,n=t&Ht?Zm:Am,r=(t&Kt)>0,s=!(t&Jt),o=(t&ei)>0,a=i.pos;for(;!(i.next<0);)if(o&&i.next==eh)if(i.peek(1)==eh)i.advance(2);else{if(i.pos==a){i.acceptToken(_m,1);return}break}else if(s&&i.next==$m){if(i.pos==a){i.advance();let l=i.next;l>=0&&(i.advance(),Sw(i,l)),i.acceptToken(bx);return}break}else if(i.next==$m&&!s&&i.peek(1)>-1)i.advance(2);else if(i.next==n&&(!r||i.peek(1)==n&&i.peek(2)==n)){if(i.pos==a){i.acceptToken(Pm,r?3:1);return}break}else if(i.next==Ni){if(r)i.advance();else if(i.pos==a){i.acceptToken(Pm);return}break}else i.advance();i.pos>a&&i.acceptToken(Qx)});function Sw(i,e){if(e==aw)for(let t=0;t<2&&i.next>=48&&i.next<=55;t++)i.advance();else if(e==lw)for(let t=0;t<2&&Jc(i.next);t++)i.advance();else if(e==hw)for(let t=0;t<4&&Jc(i.next);t++)i.advance();else if(e==fw)for(let t=0;t<8&&Jc(i.next);t++)i.advance();else if(e==cw&&i.next==eh){for(i.advance();i.next>=0&&i.next!=vm&&i.next!=Am&&i.next!=Zm&&i.next!=Ni;)i.advance();i.next==vm&&i.advance()}}var yw=Qe({'async "*" "**" FormatConversion FormatSpec':d.modifier,"for while if elif else try except finally return raise break continue with pass assert await yield match case":d.controlKeyword,"in not and or is del":d.operatorKeyword,"from def class global nonlocal lambda":d.definitionKeyword,import:d.moduleKeyword,"with as print":d.keyword,Boolean:d.bool,None:d.null,VariableName:d.variableName,"CallExpression/VariableName":d.function(d.variableName),"FunctionDefinition/VariableName":d.function(d.definition(d.variableName)),"ClassDefinition/VariableName":d.definition(d.className),PropertyName:d.propertyName,"CallExpression/MemberExpression/PropertyName":d.function(d.propertyName),Comment:d.lineComment,Number:d.number,String:d.string,FormatString:d.special(d.string),Escape:d.escape,UpdateOp:d.updateOperator,"ArithOp!":d.arithmeticOperator,BitOp:d.bitwiseOperator,CompareOp:d.compareOperator,AssignOp:d.definitionOperator,Ellipsis:d.punctuation,At:d.meta,"( )":d.paren,"[ ]":d.squareBracket,"{ }":d.brace,".":d.derefOperator,", ;":d.separator}),kw={__proto__:null,await:44,or:54,and:56,in:60,not:62,is:64,if:70,else:72,lambda:76,yield:94,from:96,async:102,for:104,None:162,True:164,False:164,del:178,pass:182,break:186,continue:190,return:194,raise:202,import:206,as:208,global:212,nonlocal:214,assert:218,type:223,elif:236,while:240,try:246,except:248,finally:250,with:254,def:258,class:268,match:279,case:285},qm=Pe.deserialize({version:14,states:"##jQ`QeOOP$}OSOOO&WQtO'#HUOOQS'#Co'#CoOOQS'#Cp'#CpO'vQdO'#CnO*UQtO'#HTOOQS'#HU'#HUOOQS'#DU'#DUOOQS'#HT'#HTO*rQdO'#D_O+VQdO'#DfO+gQdO'#DjO+zOWO'#DuO,VOWO'#DvO.[QtO'#GuOOQS'#Gu'#GuO'vQdO'#GtO0ZQtO'#GtOOQS'#Eb'#EbO0rQdO'#EcOOQS'#Gs'#GsO0|QdO'#GrOOQV'#Gr'#GrO1XQdO'#FYOOQS'#G^'#G^O1^QdO'#FXOOQV'#IS'#ISOOQV'#Gq'#GqOOQV'#Fq'#FqQ`QeOOO'vQdO'#CqO1lQdO'#C}O1sQdO'#DRO2RQdO'#HYO2cQtO'#EVO'vQdO'#EWOOQS'#EY'#EYOOQS'#E['#E[OOQS'#E^'#E^O2wQdO'#E`O3_QdO'#EdO3rQdO'#EfO3zQtO'#EfO1XQdO'#EiO0rQdO'#ElO1XQdO'#EnO0rQdO'#EtO0rQdO'#EwO4VQdO'#EyO4^QdO'#FOO4iQdO'#EzO0rQdO'#FOO1XQdO'#FQO1XQdO'#FVO4nQdO'#F[P4uOdO'#GpPOOO)CBd)CBdOOQS'#Ce'#CeOOQS'#Cf'#CfOOQS'#Cg'#CgOOQS'#Ch'#ChOOQS'#Ci'#CiOOQS'#Cj'#CjOOQS'#Cl'#ClO'vQdO,59OO'vQdO,59OO'vQdO,59OO'vQdO,59OO'vQdO,59OO'vQdO,59OO5TQdO'#DoOOQS,5:Y,5:YO5hQdO'#HdOOQS,5:],5:]O5uQ!fO,5:]O5zQtO,59YO1lQdO,59bO1lQdO,59bO1lQdO,59bO8jQdO,59bO8oQdO,59bO8vQdO,59jO8}QdO'#HTO:TQdO'#HSOOQS'#HS'#HSOOQS'#D['#D[O:lQdO,59aO'vQdO,59aO:zQdO,59aOOQS,59y,59yO;PQdO,5:RO'vQdO,5:ROOQS,5:Q,5:QO;_QdO,5:QO;dQdO,5:XO'vQdO,5:XO'vQdO,5:VOOQS,5:U,5:UO;uQdO,5:UO;zQdO,5:WOOOW'#Fy'#FyOOOOQS'#Ds'#DsOOQS1G/w1G/wOOQS1G.|1G.|O!/[QtO1G.|O!/cQtO1G.|O1lQdO1G.|O!0OQdO1G/UOOQS'#DZ'#DZO0rQdO,59tOOQS1G.{1G.{O!0VQdO1G/eO!0gQdO1G/eO!0oQdO1G/fO'vQdO'#H[O!0tQdO'#H[O!0yQtO1G.{O!1ZQdO,59iO!2aQdO,5=zO!2qQdO,5=zO!2yQdO1G/mO!3OQtO1G/mOOQS1G/l1G/lO!3`QdO,5=uO!4VQdO,5=uO0rQdO1G/qO!4tQdO1G/sO!4yQtO1G/sO!5ZQtO1G/qOOQS1G/p1G/pOOQS1G/r1G/rOOOW-E9w-E9wOOQS1G/{1G/{O!5kQdO'#HxO0rQdO'#HxO!5|QdO,5>cOOOW-E9x-E9xOOQS1G/|1G/|OOQS-E9{-E9{O!6[Q#xO1G2zO!6{QtO1G2zO'vQdO,5kOOQS1G1`1G1`O!8RQdO1G1`OOQS'#DV'#DVO0rQdO,5=qOOQS,5=q,5=qO!8WQdO'#FrO!8cQdO,59oO!8kQdO1G/XO!8uQtO,5=uOOQS1G3`1G3`OOQS,5:m,5:mO!9fQdO'#GtOOQS,5jO!;ZQdO,5>jO1XQdO,5>jO!;lQdO,5>iOOQS-E:R-E:RO!;qQdO1G0lO!;|QdO1G0lO!lO!lO!hO!=VQdO,5>hO!=hQdO'#EpO0rQdO1G0tO!=sQdO1G0tO!=xQgO1G0zO!AvQgO1G0}O!EqQdO,5>oO!E{QdO,5>oO!FTQtO,5>oO0rQdO1G1PO!F_QdO1G1PO4iQdO1G1UO!!vQdO1G1WOOQV,5;a,5;aO!FdQfO,5;aO!FiQgO1G1QO!JjQdO'#GZO4iQdO1G1QO4iQdO1G1QO!JzQdO,5>pO!KXQdO,5>pO1XQdO,5>pOOQV1G1U1G1UO!KaQdO'#FSO!KrQ!fO1G1WO!KzQdO1G1WOOQV1G1]1G1]O4iQdO1G1]O!LPQdO1G1]O!LXQdO'#F^OOQV1G1b1G1bO!#ZQtO1G1bPOOO1G2v1G2vP!L^OSO1G2vOOQS,5=},5=}OOQS'#Dp'#DpO0rQdO,5=}O!LfQdO,5=|O!LyQdO,5=|OOQS1G/u1G/uO!MRQdO,5>PO!McQdO,5>PO!MkQdO,5>PO!NOQdO,5>PO!N`QdO,5>POOQS1G3j1G3jOOQS7+$h7+$hO!8kQdO7+$pO#!RQdO1G.|O#!YQdO1G.|OOQS1G/`1G/`OOQS,5<`,5<`O'vQdO,5<`OOQS7+%P7+%PO#!aQdO7+%POOQS-E9r-E9rOOQS7+%Q7+%QO#!qQdO,5=vO'vQdO,5=vOOQS7+$g7+$gO#!vQdO7+%PO##OQdO7+%QO##TQdO1G3fOOQS7+%X7+%XO##eQdO1G3fO##mQdO7+%XOOQS,5<_,5<_O'vQdO,5<_O##rQdO1G3aOOQS-E9q-E9qO#$iQdO7+%]OOQS7+%_7+%_O#$wQdO1G3aO#%fQdO7+%_O#%kQdO1G3gO#%{QdO1G3gO#&TQdO7+%]O#&YQdO,5>dO#&sQdO,5>dO#&sQdO,5>dOOQS'#Dx'#DxO#'UO&jO'#DzO#'aO`O'#HyOOOW1G3}1G3}O#'fQdO1G3}O#'nQdO1G3}O#'yQ#xO7+(fO#(jQtO1G2UP#)TQdO'#GOOOQS,5nQdO,5sQdO1G4OOOQS-E9y-E9yO#?^QdO1G4OO<[QdO'#H{OOOO'#D{'#D{OOOO'#F|'#F|O#?oO&jO,5:fOOOW,5>e,5>eOOOW7+)i7+)iO#?zQdO7+)iO#@SQdO1G2zO#@mQdO1G2zP'vQdO'#FuO0rQdO<mO#BQQdO,5>mOOQS1G0v1G0vOOQS<rO#KgQdO,5>rO#KrQdO,5>rO#K}QdO,5>qO#L`QdO,5>qOOQS1G1Y1G1YOOQS,5;p,5;pOOQV<VAN>VO$ oQdO<cAN>cO0rQdO1G1|O$!PQtO1G1|P$!ZQdO'#FvOOQS1G2R1G2RP$!hQdO'#F{O$!uQdO7+)jO$#`QdO,5>gOOOO-E9z-E9zOOOW<tO$4{QdO,5>tO1XQdO,5vO$)nQdO,5>vOOQS1G1p1G1pOOQS,5<[,5<[OOQU7+'P7+'PO$+zQdO1G/iO$)nQdO,5wO$8zQdO,5>wOOQS1G1s1G1sOOQS7+'S7+'SP$)nQdO'#GdO$9SQdO1G4bO$9^QdO1G4bO$9fQdO1G4bOOQS7+%T7+%TO$9tQdO1G1tO$:SQtO'#FaO$:ZQdO,5<}OOQS,5<},5<}O$:iQdO1G4cOOQS-E:a-E:aO$)nQdO,5<|O$:pQdO,5<|O$:uQdO7+)|OOQS-E:`-E:`O$;PQdO7+)|O$)nQdO,5S~O%cOS%^OSSOS%]PQ~OPdOVaOfoOhYOopOs!POvqO!PrO!Q{O!T!SO!U!RO!XZO!][O!h`O!r`O!s`O!t`O!{tO!}uO#PvO#RwO#TxO#XyO#ZzO#^|O#_|O#a}O#c!OO#l!QO#o!TO#s!UO#u!VO#z!WO#}hO$P!XO%oRO%pRO%tSO%uWO&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O&c^O&d^O&e^O&f^O&g^O&h^O&i^O&j^O~O%]!YO~OV!aO_!aOa!bOh!iO!X!kO!f!mO%j![O%k!]O%l!^O%m!_O%n!_O%o!`O%p!`O%q!aO%r!aO%s!aO~Ok%xXl%xXm%xXn%xXo%xXp%xXs%xXz%xX{%xX!x%xX#g%xX%[%xX%_%xX%z%xXg%xX!T%xX!U%xX%{%xX!W%xX![%xX!Q%xX#[%xXt%xX!m%xX~P%SOfoOhYO!XZO!][O!h`O!r`O!s`O!t`O%oRO%pRO%tSO%uWO&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O&c^O&d^O&e^O&f^O&g^O&h^O&i^O&j^O~Oz%wX{%wX#g%wX%[%wX%_%wX%z%wX~Ok!pOl!qOm!oOn!oOo!rOp!sOs!tO!x%wX~P)pOV!zOg!|Oo0cOv0qO!PrO~P'vOV#OOo0cOv0qO!W#PO~P'vOV#SOa#TOo0cOv0qO![#UO~P'vOQ#XO%`#XO%a#ZO~OQ#^OR#[O%`#^O%a#`O~OV%iX_%iXa%iXh%iXk%iXl%iXm%iXn%iXo%iXp%iXs%iXz%iX!X%iX!f%iX%j%iX%k%iX%l%iX%m%iX%n%iX%o%iX%p%iX%q%iX%r%iX%s%iXg%iX!T%iX!U%iX~O&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O&c^O&d^O&e^O&f^O&g^O&h^O&i^O&j^O{%iX!x%iX#g%iX%[%iX%_%iX%z%iX%{%iX!W%iX![%iX!Q%iX#[%iXt%iX!m%iX~P,eOz#dO{%hX!x%hX#g%hX%[%hX%_%hX%z%hX~Oo0cOv0qO~P'vO#g#gO%[#iO%_#iO~O%uWO~O!T#nO#u!VO#z!WO#}hO~OopO~P'vOV#sOa#tO%uWO{wP~OV#xOo0cOv0qO!Q#yO~P'vO{#{O!x$QO%z#|O#g!yX%[!yX%_!yX~OV#xOo0cOv0qO#g#SX%[#SX%_#SX~P'vOo0cOv0qO#g#WX%[#WX%_#WX~P'vOh$WO%uWO~O!f$YO!r$YO%uWO~OV$eO~P'vO!U$gO#s$hO#u$iO~O{$jO~OV$qO~P'vOS$sO%[$rO%_$rO%c$tO~OV$}Oa$}Og%POo0cOv0qO~P'vOo0cOv0qO{%SO~P'vO&Y%UO~Oa!bOh!iO!X!kO!f!mOVba_bakbalbambanbaobapbasbazba{ba!xba#gba%[ba%_ba%jba%kba%lba%mba%nba%oba%pba%qba%rba%sba%zbagba!Tba!Uba%{ba!Wba![ba!Qba#[batba!mba~On%ZO~Oo%ZO~P'vOo0cO~P'vOk0eOl0fOm0dOn0dOo0mOp0nOs0rOg%wX!T%wX!U%wX%{%wX!W%wX![%wX!Q%wX#[%wX!m%wX~P)pO%{%]Og%vXz%vX!T%vX!U%vX!W%vX{%vX~Og%_Oz%`O!T%dO!U%cO~Og%_O~Oz%gO!T%dO!U%cO!W&SX~O!W%kO~Oz%lO{%nO!T%dO!U%cO![%}X~O![%rO~O![%sO~OQ#XO%`#XO%a%uO~OV%wOo0cOv0qO!PrO~P'vOQ#^OR#[O%`#^O%a%zO~OV!qa_!qaa!qah!qak!qal!qam!qan!qao!qap!qas!qaz!qa{!qa!X!qa!f!qa!x!qa#g!qa%[!qa%_!qa%j!qa%k!qa%l!qa%m!qa%n!qa%o!qa%p!qa%q!qa%r!qa%s!qa%z!qag!qa!T!qa!U!qa%{!qa!W!qa![!qa!Q!qa#[!qat!qa!m!qa~P#yOz%|O{%ha!x%ha#g%ha%[%ha%_%ha%z%ha~P%SOV&OOopOvqO{%ha!x%ha#g%ha%[%ha%_%ha%z%ha~P'vOz%|O{%ha!x%ha#g%ha%[%ha%_%ha%z%ha~OPdOVaOopOvqO!PrO!Q{O!{tO!}uO#PvO#RwO#TxO#XyO#ZzO#^|O#_|O#a}O#c!OO#g$zX%[$zX%_$zX~P'vO#g#gO%[&TO%_&TO~O!f&UOh&sX%[&sXz&sX#[&sX#g&sX%_&sX#Z&sXg&sX~Oh!iO%[&WO~Okealeameaneaoeapeaseazea{ea!xea#gea%[ea%_ea%zeagea!Tea!Uea%{ea!Wea![ea!Qea#[eatea!mea~P%SOsqazqa{qa#gqa%[qa%_qa%zqa~Ok!pOl!qOm!oOn!oOo!rOp!sO!xqa~PEcO%z&YOz%yX{%yX~O%uWOz%yX{%yX~Oz&]O{wX~O{&_O~Oz%lO#g%}X%[%}X%_%}Xg%}X{%}X![%}X!m%}X%z%}X~OV0lOo0cOv0qO!PrO~P'vO%z#|O#gUa%[Ua%_Ua~Oz&hO#g&PX%[&PX%_&PXn&PX~P%SOz&kO!Q&jO#g#Wa%[#Wa%_#Wa~Oz&lO#[&nO#g&rX%[&rX%_&rXg&rX~O!f$YO!r$YO#Z&qO%uWO~O#Z&qO~Oz&sO#g&tX%[&tX%_&tX~Oz&uO#g&pX%[&pX%_&pX{&pX~O!X&wO%z&xO~Oz&|On&wX~P%SOn'PO~OPdOVaOopOvqO!PrO!Q{O!{tO!}uO#PvO#RwO#TxO#XyO#ZzO#^|O#_|O#a}O#c!OO%['UO~P'vOt'YO#p'WO#q'XOP#naV#naf#nah#nao#nas#nav#na!P#na!Q#na!T#na!U#na!X#na!]#na!h#na!r#na!s#na!t#na!{#na!}#na#P#na#R#na#T#na#X#na#Z#na#^#na#_#na#a#na#c#na#l#na#o#na#s#na#u#na#z#na#}#na$P#na%X#na%o#na%p#na%t#na%u#na&Z#na&[#na&]#na&^#na&_#na&`#na&a#na&b#na&c#na&d#na&e#na&f#na&g#na&h#na&i#na&j#na%Z#na%_#na~Oz'ZO#[']O{&xX~Oh'_O!X&wO~Oh!iO{$jO!X&wO~O{'eO~P%SO%['hO%_'hO~OS'iO%['hO%_'hO~OV!aO_!aOa!bOh!iO!X!kO!f!mO%l!^O%m!_O%n!_O%o!`O%p!`O%q!aO%r!aO%s!aOkWilWimWinWioWipWisWizWi{Wi!xWi#gWi%[Wi%_Wi%jWi%zWigWi!TWi!UWi%{Wi!WWi![Wi!QWi#[WitWi!mWi~O%k!]O~P!#uO%kWi~P!#uOV!aO_!aOa!bOh!iO!X!kO!f!mO%o!`O%p!`O%q!aO%r!aO%s!aOkWilWimWinWioWipWisWizWi{Wi!xWi#gWi%[Wi%_Wi%jWi%kWi%lWi%zWigWi!TWi!UWi%{Wi!WWi![Wi!QWi#[WitWi!mWi~O%m!_O%n!_O~P!&pO%mWi%nWi~P!&pOa!bOh!iO!X!kO!f!mOkWilWimWinWioWipWisWizWi{Wi!xWi#gWi%[Wi%_Wi%jWi%kWi%lWi%mWi%nWi%oWi%pWi%zWigWi!TWi!UWi%{Wi!WWi![Wi!QWi#[WitWi!mWi~OV!aO_!aO%q!aO%r!aO%s!aO~P!)nOVWi_Wi%qWi%rWi%sWi~P!)nO!T%dO!U%cOg&VXz&VX~O%z'kO%{'kO~P,eOz'mOg&UX~Og'oO~Oz'pO{'rO!W&XX~Oo0cOv0qOz'pO{'sO!W&XX~P'vO!W'uO~Om!oOn!oOo!rOp!sOkjisjizji{ji!xji#gji%[ji%_ji%zji~Ol!qO~P!.aOlji~P!.aOk0eOl0fOm0dOn0dOo0mOp0nO~Ot'wO~P!/jOV'|Og'}Oo0cOv0qO~P'vOg'}Oz(OO~Og(QO~O!U(SO~Og(TOz(OO!T%dO!U%cO~P%SOk0eOl0fOm0dOn0dOo0mOp0nOgqa!Tqa!Uqa%{qa!Wqa![qa!Qqa#[qatqa!mqa~PEcOV'|Oo0cOv0qO!W&Sa~P'vOz(WO!W&Sa~O!W(XO~Oz(WO!T%dO!U%cO!W&Sa~P%SOV(]Oo0cOv0qO![%}a#g%}a%[%}a%_%}ag%}a{%}a!m%}a%z%}a~P'vOz(^O![%}a#g%}a%[%}a%_%}ag%}a{%}a!m%}a%z%}a~O![(aO~Oz(^O!T%dO!U%cO![%}a~P%SOz(dO!T%dO!U%cO![&Ta~P%SOz(gO{&lX![&lX!m&lX%z&lX~O{(kO![(mO!m(nO%z(jO~OV&OOopOvqO{%hi!x%hi#g%hi%[%hi%_%hi%z%hi~P'vOz(pO{%hi!x%hi#g%hi%[%hi%_%hi%z%hi~O!f&UOh&sa%[&saz&sa#[&sa#g&sa%_&sa#Z&sag&sa~O%[(uO~OV#sOa#tO%uWO~Oz&]O{wa~OopOvqO~P'vOz(^O#g%}a%[%}a%_%}ag%}a{%}a![%}a!m%}a%z%}a~P%SOz(zO#g%hX%[%hX%_%hX%z%hX~O%z#|O#gUi%[Ui%_Ui~O#g&Pa%[&Pa%_&Pan&Pa~P'vOz(}O#g&Pa%[&Pa%_&Pan&Pa~O%uWO#g&ra%[&ra%_&rag&ra~Oz)SO#g&ra%[&ra%_&rag&ra~Og)VO~OV)WOh$WO%uWO~O#Z)XO~O%uWO#g&ta%[&ta%_&ta~Oz)ZO#g&ta%[&ta%_&ta~Oo0cOv0qO#g&pa%[&pa%_&pa{&pa~P'vOz)^O#g&pa%[&pa%_&pa{&pa~OV)`Oa)`O%uWO~O%z)eO~Ot)hO#j)gOP#hiV#hif#hih#hio#his#hiv#hi!P#hi!Q#hi!T#hi!U#hi!X#hi!]#hi!h#hi!r#hi!s#hi!t#hi!{#hi!}#hi#P#hi#R#hi#T#hi#X#hi#Z#hi#^#hi#_#hi#a#hi#c#hi#l#hi#o#hi#s#hi#u#hi#z#hi#}#hi$P#hi%X#hi%o#hi%p#hi%t#hi%u#hi&Z#hi&[#hi&]#hi&^#hi&_#hi&`#hi&a#hi&b#hi&c#hi&d#hi&e#hi&f#hi&g#hi&h#hi&i#hi&j#hi%Z#hi%_#hi~Ot)iOP#kiV#kif#kih#kio#kis#kiv#ki!P#ki!Q#ki!T#ki!U#ki!X#ki!]#ki!h#ki!r#ki!s#ki!t#ki!{#ki!}#ki#P#ki#R#ki#T#ki#X#ki#Z#ki#^#ki#_#ki#a#ki#c#ki#l#ki#o#ki#s#ki#u#ki#z#ki#}#ki$P#ki%X#ki%o#ki%p#ki%t#ki%u#ki&Z#ki&[#ki&]#ki&^#ki&_#ki&`#ki&a#ki&b#ki&c#ki&d#ki&e#ki&f#ki&g#ki&h#ki&i#ki&j#ki%Z#ki%_#ki~OV)kOn&wa~P'vOz)lOn&wa~Oz)lOn&wa~P%SOn)pO~O%Y)tO~Ot)wO#p'WO#q)vOP#niV#nif#nih#nio#nis#niv#ni!P#ni!Q#ni!T#ni!U#ni!X#ni!]#ni!h#ni!r#ni!s#ni!t#ni!{#ni!}#ni#P#ni#R#ni#T#ni#X#ni#Z#ni#^#ni#_#ni#a#ni#c#ni#l#ni#o#ni#s#ni#u#ni#z#ni#}#ni$P#ni%X#ni%o#ni%p#ni%t#ni%u#ni&Z#ni&[#ni&]#ni&^#ni&_#ni&`#ni&a#ni&b#ni&c#ni&d#ni&e#ni&f#ni&g#ni&h#ni&i#ni&j#ni%Z#ni%_#ni~OV)zOo0cOv0qO{$jO~P'vOo0cOv0qO{&xa~P'vOz*OO{&xa~OV*SOa*TOg*WO%q*UO%uWO~O{$jO&{*YO~Oh'_O~Oh!iO{$jO~O%[*_O~O%[*aO%_*aO~OV$}Oa$}Oo0cOv0qOg&Ua~P'vOz*dOg&Ua~Oo0cOv0qO{*gO!W&Xa~P'vOz*hO!W&Xa~Oo0cOv0qOz*hO{*kO!W&Xa~P'vOo0cOv0qOz*hO!W&Xa~P'vOz*hO{*kO!W&Xa~Om0dOn0dOo0mOp0nOgjikjisjizji!Tji!Uji%{ji!Wji{ji![ji#gji%[ji%_ji!Qji#[jitji!mji%zji~Ol0fO~P!NkOlji~P!NkOV'|Og*pOo0cOv0qO~P'vOn*rO~Og*pOz*tO~Og*uO~OV'|Oo0cOv0qO!W&Si~P'vOz*vO!W&Si~O!W*wO~OV(]Oo0cOv0qO![%}i#g%}i%[%}i%_%}ig%}i{%}i!m%}i%z%}i~P'vOz*zO!T%dO!U%cO![&Ti~Oz*}O![%}i#g%}i%[%}i%_%}ig%}i{%}i!m%}i%z%}i~O![+OO~Oa+QOo0cOv0qO![&Ti~P'vOz*zO![&Ti~O![+SO~OV+UOo0cOv0qO{&la![&la!m&la%z&la~P'vOz+VO{&la![&la!m&la%z&la~O!]+YO&n+[O![!nX~O![+^O~O{(kO![+_O~O{(kO![+_O!m+`O~OV&OOopOvqO{%hq!x%hq#g%hq%[%hq%_%hq%z%hq~P'vOz$ri{$ri!x$ri#g$ri%[$ri%_$ri%z$ri~P%SOV&OOopOvqO~P'vOV&OOo0cOv0qO#g%ha%[%ha%_%ha%z%ha~P'vOz+aO#g%ha%[%ha%_%ha%z%ha~Oz$ia#g$ia%[$ia%_$ian$ia~P%SO#g&Pi%[&Pi%_&Pin&Pi~P'vOz+dO#g#Wq%[#Wq%_#Wq~O#[+eOz$va#g$va%[$va%_$vag$va~O%uWO#g&ri%[&ri%_&rig&ri~Oz+gO#g&ri%[&ri%_&rig&ri~OV+iOh$WO%uWO~O%uWO#g&ti%[&ti%_&ti~Oo0cOv0qO#g&pi%[&pi%_&pi{&pi~P'vO{#{Oz#eX!W#eX~Oz+mO!W&uX~O!W+oO~Ot+rO#j)gOP#hqV#hqf#hqh#hqo#hqs#hqv#hq!P#hq!Q#hq!T#hq!U#hq!X#hq!]#hq!h#hq!r#hq!s#hq!t#hq!{#hq!}#hq#P#hq#R#hq#T#hq#X#hq#Z#hq#^#hq#_#hq#a#hq#c#hq#l#hq#o#hq#s#hq#u#hq#z#hq#}#hq$P#hq%X#hq%o#hq%p#hq%t#hq%u#hq&Z#hq&[#hq&]#hq&^#hq&_#hq&`#hq&a#hq&b#hq&c#hq&d#hq&e#hq&f#hq&g#hq&h#hq&i#hq&j#hq%Z#hq%_#hq~On$|az$|a~P%SOV)kOn&wi~P'vOz+yOn&wi~Oz,TO{$jO#[,TO~O#q,VOP#nqV#nqf#nqh#nqo#nqs#nqv#nq!P#nq!Q#nq!T#nq!U#nq!X#nq!]#nq!h#nq!r#nq!s#nq!t#nq!{#nq!}#nq#P#nq#R#nq#T#nq#X#nq#Z#nq#^#nq#_#nq#a#nq#c#nq#l#nq#o#nq#s#nq#u#nq#z#nq#}#nq$P#nq%X#nq%o#nq%p#nq%t#nq%u#nq&Z#nq&[#nq&]#nq&^#nq&_#nq&`#nq&a#nq&b#nq&c#nq&d#nq&e#nq&f#nq&g#nq&h#nq&i#nq&j#nq%Z#nq%_#nq~O#[,WOz%Oa{%Oa~Oo0cOv0qO{&xi~P'vOz,YO{&xi~O{#{O%z,[Og&zXz&zX~O%uWOg&zXz&zX~Oz,`Og&yX~Og,bO~O%Y,eO~O!T%dO!U%cOg&Viz&Vi~OV$}Oa$}Oo0cOv0qOg&Ui~P'vO{,hOz$la!W$la~Oo0cOv0qO{,iOz$la!W$la~P'vOo0cOv0qO{*gO!W&Xi~P'vOz,lO!W&Xi~Oo0cOv0qOz,lO!W&Xi~P'vOz,lO{,oO!W&Xi~Og$hiz$hi!W$hi~P%SOV'|Oo0cOv0qO~P'vOn,qO~OV'|Og,rOo0cOv0qO~P'vOV'|Oo0cOv0qO!W&Sq~P'vOz$gi![$gi#g$gi%[$gi%_$gig$gi{$gi!m$gi%z$gi~P%SOV(]Oo0cOv0qO~P'vOa+QOo0cOv0qO![&Tq~P'vOz,sO![&Tq~O![,tO~OV(]Oo0cOv0qO![%}q#g%}q%[%}q%_%}qg%}q{%}q!m%}q%z%}q~P'vO{,uO~OV+UOo0cOv0qO{&li![&li!m&li%z&li~P'vOz,zO{&li![&li!m&li%z&li~O!]+YO&n+[O![!na~O{(kO![,}O~OV&OOo0cOv0qO#g%hi%[%hi%_%hi%z%hi~P'vOz-OO#g%hi%[%hi%_%hi%z%hi~O%uWO#g&rq%[&rq%_&rqg&rq~Oz-RO#g&rq%[&rq%_&rqg&rq~OV)`Oa)`O%uWO!W&ua~Oz-TO!W&ua~On$|iz$|i~P%SOV)kO~P'vOV)kOn&wq~P'vOt-XOP#myV#myf#myh#myo#mys#myv#my!P#my!Q#my!T#my!U#my!X#my!]#my!h#my!r#my!s#my!t#my!{#my!}#my#P#my#R#my#T#my#X#my#Z#my#^#my#_#my#a#my#c#my#l#my#o#my#s#my#u#my#z#my#}#my$P#my%X#my%o#my%p#my%t#my%u#my&Z#my&[#my&]#my&^#my&_#my&`#my&a#my&b#my&c#my&d#my&e#my&f#my&g#my&h#my&i#my&j#my%Z#my%_#my~O%Z-]O%_-]O~P`O#q-^OP#nyV#nyf#nyh#nyo#nys#nyv#ny!P#ny!Q#ny!T#ny!U#ny!X#ny!]#ny!h#ny!r#ny!s#ny!t#ny!{#ny!}#ny#P#ny#R#ny#T#ny#X#ny#Z#ny#^#ny#_#ny#a#ny#c#ny#l#ny#o#ny#s#ny#u#ny#z#ny#}#ny$P#ny%X#ny%o#ny%p#ny%t#ny%u#ny&Z#ny&[#ny&]#ny&^#ny&_#ny&`#ny&a#ny&b#ny&c#ny&d#ny&e#ny&f#ny&g#ny&h#ny&i#ny&j#ny%Z#ny%_#ny~Oz-aO{$jO#[-aO~Oo0cOv0qO{&xq~P'vOz-dO{&xq~O%z,[Og&zaz&za~O{#{Og&zaz&za~OV*SOa*TO%q*UO%uWOg&ya~Oz-hOg&ya~O$S-lO~OV$}Oa$}Oo0cOv0qO~P'vOo0cOv0qO{-mOz$li!W$li~P'vOo0cOv0qOz$li!W$li~P'vO{-mOz$li!W$li~Oo0cOv0qO{*gO~P'vOo0cOv0qO{*gO!W&Xq~P'vOz-pO!W&Xq~Oo0cOv0qOz-pO!W&Xq~P'vOs-sO!T%dO!U%cOg&Oq!W&Oq![&Oqz&Oq~P!/jOa+QOo0cOv0qO![&Ty~P'vOz$ji![$ji~P%SOa+QOo0cOv0qO~P'vOV+UOo0cOv0qO~P'vOV+UOo0cOv0qO{&lq![&lq!m&lq%z&lq~P'vO{(kO![-xO!m-yO%z-wO~OV&OOo0cOv0qO#g%hq%[%hq%_%hq%z%hq~P'vO%uWO#g&ry%[&ry%_&ryg&ry~OV)`Oa)`O%uWO!W&ui~Ot-}OP#m!RV#m!Rf#m!Rh#m!Ro#m!Rs#m!Rv#m!R!P#m!R!Q#m!R!T#m!R!U#m!R!X#m!R!]#m!R!h#m!R!r#m!R!s#m!R!t#m!R!{#m!R!}#m!R#P#m!R#R#m!R#T#m!R#X#m!R#Z#m!R#^#m!R#_#m!R#a#m!R#c#m!R#l#m!R#o#m!R#s#m!R#u#m!R#z#m!R#}#m!R$P#m!R%X#m!R%o#m!R%p#m!R%t#m!R%u#m!R&Z#m!R&[#m!R&]#m!R&^#m!R&_#m!R&`#m!R&a#m!R&b#m!R&c#m!R&d#m!R&e#m!R&f#m!R&g#m!R&h#m!R&i#m!R&j#m!R%Z#m!R%_#m!R~Oo0cOv0qO{&xy~P'vOV*SOa*TO%q*UO%uWOg&yi~O$S-lO%Z.VO%_.VO~OV.aOh._O!X.^O!].`O!h.YO!s.[O!t.[O%p.XO%uWO&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O~Oo0cOv0qOz$lq!W$lq~P'vO{.fOz$lq!W$lq~Oo0cOv0qO{*gO!W&Xy~P'vOz.gO!W&Xy~Oo0cOv.kO~P'vOs-sO!T%dO!U%cOg&Oy!W&Oy![&Oyz&Oy~P!/jO{(kO![.nO~O{(kO![.nO!m.oO~OV*SOa*TO%q*UO%uWO~Oh.tO!f.rOz$TX#[$TX%j$TXg$TX~Os$TX{$TX!W$TX![$TX~P$-bO%o.vO%p.vOs$UXz$UX{$UX#[$UX%j$UX!W$UXg$UX![$UX~O!h.xO~Oz.|O#[/OO%j.yOs&|X{&|X!W&|Xg&|X~Oa/RO~P$)zOh.tOs&}Xz&}X{&}X#[&}X%j&}X!W&}Xg&}X![&}X~Os/VO{$jO~Oo0cOv0qOz$ly!W$ly~P'vOo0cOv0qO{*gO!W&X!R~P'vOz/ZO!W&X!R~Og&RXs&RX!T&RX!U&RX!W&RX![&RXz&RX~P!/jOs-sO!T%dO!U%cOg&Qa!W&Qa![&Qaz&Qa~O{(kO![/^O~O!f.rOh$[as$[az$[a{$[a#[$[a%j$[a!W$[ag$[a![$[a~O!h/eO~O%o.vO%p.vOs$Uaz$Ua{$Ua#[$Ua%j$Ua!W$Uag$Ua![$Ua~O%j.yOs$Yaz$Ya{$Ya#[$Ya!W$Yag$Ya![$Ya~Os&|a{&|a!W&|ag&|a~P$)nOz/jOs&|a{&|a!W&|ag&|a~O!W/mO~Og/mO~O{/oO~O![/pO~Oo0cOv0qO{*gO!W&X!Z~P'vO{/sO~O%z/tO~P$-bOz/uO#[/OO%j.yOg'PX~Oz/uOg'PX~Og/wO~O!h/xO~O#[/OOs%Saz%Sa{%Sa%j%Sa!W%Sag%Sa![%Sa~O#[/OO%j.yOs%Waz%Wa{%Wa!W%Wag%Wa~Os&|i{&|i!W&|ig&|i~P$)nOz/zO#[/OO%j.yO!['Oa~Og'Pa~P$)nOz0SOg'Pa~Oa0UO!['Oi~P$)zOz0WO!['Oi~Oz0WO#[/OO%j.yO!['Oi~O#[/OO%j.yOg$biz$bi~O%z0ZO~P$-bO#[/OO%j.yOg%Vaz%Va~Og'Pi~P$)nO{0^O~Oa0UO!['Oq~P$)zOz0`O!['Oq~O#[/OO%j.yOz%Ui![%Ui~Oa0UO~P$)zOa0UO!['Oy~P$)zO#[/OO%j.yOg$ciz$ci~O#[/OO%j.yOz%Uq![%Uq~Oz+aO#g%ha%[%ha%_%ha%z%ha~P%SOV&OOo0cOv0qO~P'vOn0hO~Oo0hO~P'vO{0iO~Ot0jO~P!/jO&]&Z&j&h&i&g&f&d&e&c&b&`&a&_&^&[%u~",goto:"!=j'QPPPPPP'RP'Z*s+[+t,_,y-fP.SP'Z.r.r'ZPPP'Z2[PPPPPP2[5PPP5PP7b7k=sPP=v>h>kPP'Z'ZPP>zPP'Z'ZPP'Z'Z'Z'Z'Z?O?w'ZP?zP@QDXGuGyPG|HWH['ZPPPH_Hk'RP'R'RP'RP'RP'RP'RP'R'R'RP'RPP'RPP'RP'RPHqH}IVPI^IdPI^PI^I^PPPI^PKrPK{LVL]KrPI^LfPI^PLmLsPLwM]MzNeLwLwNkNxLwLwLwLw! ^! d! g! l! o! y!!P!!]!!o!!u!#P!#V!#s!#y!$P!$Z!$a!$g!$y!%T!%Z!%a!%k!%q!%w!%}!&T!&Z!&e!&k!&u!&{!'U!'[!'k!'s!'}!(UPPPPPPPPPPP!([!(_!(e!(n!(x!)TPPPPPPPPPPPP!-u!/Z!3^!6oPP!6w!7W!7a!8Y!8P!8c!8i!8l!8o!8r!8z!9jPPPPPPPPPPPPPPPPP!9m!9q!9wP!:]!:a!:m!:v!;S!;j!;m!;p!;v!;|!_![!]Do!]!^Es!^!_FZ!_!`Gk!`!aHX!a!b%T!b!cIf!c!dJU!d!eK^!e!hJU!h!i!#f!i!tJU!t!u!,|!u!wJU!w!x!.t!x!}JU!}#O!0S#O#P&o#P#Q!0j#Q#R!1Q#R#SJU#S#T%T#T#UJU#U#VK^#V#YJU#Y#Z!#f#Z#fJU#f#g!,|#g#iJU#i#j!.t#j#oJU#o#p!1n#p#q!1s#q#r!2a#r#s!2f#s$g%T$g;'SJU;'S;=`KW<%lOJU`%YT&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T`%lP;=`<%l%To%v]&n`%c_OX%TXY%oY[%T[]%o]p%Tpq%oq#O%T#O#P&o#P#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To&tX&n`OY%TYZ%oZ]%T]^%o^#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc'f[&n`O!_%T!_!`([!`#T%T#T#U(r#U#f%T#f#g(r#g#h(r#h#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc(cTmR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc(yT!mR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk)aV&n`&[ZOr%Trs)vs#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk){V&n`Or%Trs*bs#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk*iT&n`&^ZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To+PZS_&n`OY*xYZ%TZ]*x]^%T^#o*x#o#p+r#p#q*x#q#r+r#r;'S*x;'S;=`,^<%lO*x_+wTS_OY+rZ]+r^;'S+r;'S;=`,W<%lO+r_,ZP;=`<%l+ro,aP;=`<%l*xj,kV%rQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj-XT!xY&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj-oV%lQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk.]V&n`&ZZOw%Twx.rx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk.wV&n`Ow%Twx/^x#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk/eT&n`&]ZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk/{ThZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc0cTgR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk0yXVZ&n`Oz%Tz{1f{!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk1mVaR&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk2ZV%oZ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc2wTzR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To3_W%pZ&n`O!_%T!_!`-Q!`!a3w!a#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Td4OT&{S&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk4fX!fQ&n`O!O%T!O!P5R!P!Q%T!Q![6T![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk5WV&n`O!O%T!O!P5m!P#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk5tT!rZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti6[a!hX&n`O!Q%T!Q![6T![!g%T!g!h7a!h!l%T!l!m9s!m#R%T#R#S6T#S#X%T#X#Y7a#Y#^%T#^#_9s#_#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti7fZ&n`O{%T{|8X|}%T}!O8X!O!Q%T!Q![8s![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti8^V&n`O!Q%T!Q![8s![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti8z]!hX&n`O!Q%T!Q![8s![!l%T!l!m9s!m#R%T#R#S8s#S#^%T#^#_9s#_#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti9zT!hX&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk:bX%qR&n`O!P%T!P!Q:}!Q!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj;UV%sQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti;ro!hX&n`O!O%T!O!P=s!P!Q%T!Q![>_![!d%T!d!e?q!e!g%T!g!h7a!h!l%T!l!m9s!m!q%T!q!rA]!r!z%T!z!{Bq!{#R%T#R#S>_#S#U%T#U#V?q#V#X%T#X#Y7a#Y#^%T#^#_9s#_#c%T#c#dA]#d#l%T#l#mBq#m#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti=xV&n`O!Q%T!Q![6T![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti>fc!hX&n`O!O%T!O!P=s!P!Q%T!Q![>_![!g%T!g!h7a!h!l%T!l!m9s!m#R%T#R#S>_#S#X%T#X#Y7a#Y#^%T#^#_9s#_#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti?vY&n`O!Q%T!Q!R@f!R!S@f!S#R%T#R#S@f#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti@mY!hX&n`O!Q%T!Q!R@f!R!S@f!S#R%T#R#S@f#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiAbX&n`O!Q%T!Q!YA}!Y#R%T#R#SA}#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiBUX!hX&n`O!Q%T!Q!YA}!Y#R%T#R#SA}#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiBv]&n`O!Q%T!Q![Co![!c%T!c!iCo!i#R%T#R#SCo#S#T%T#T#ZCo#Z#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiCv]!hX&n`O!Q%T!Q![Co![!c%T!c!iCo!i#R%T#R#SCo#S#T%T#T#ZCo#Z#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%ToDvV{_&n`O!_%T!_!`E]!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TcEdT%{R&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkEzT#gZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkFbXmR&n`O!^%T!^!_F}!_!`([!`!a([!a#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TjGUV%mQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkGrV%zZ&n`O!_%T!_!`([!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkH`WmR&n`O!_%T!_!`([!`!aHx!a#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TjIPV%nQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkIoV_Q#}P&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%ToJ_]&n`&YS%uZO!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUoKZP;=`<%lJUoKge&n`&YS%uZOr%Trs)Ysw%Twx.Ux!Q%T!Q![JU![!c%T!c!tJU!t!uLx!u!}JU!}#R%T#R#SJU#S#T%T#T#fJU#f#gLx#g#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUoMRa&n`&YS%uZOr%TrsNWsw%Twx! vx!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUkN_V&n`&`ZOr%TrsNts#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkNyV&n`Or%Trs! `s#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk! gT&n`&bZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk! }V&n`&_ZOw%Twx!!dx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!!iV&n`Ow%Twx!#Ox#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!#VT&n`&aZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To!#oe&n`&YS%uZOr%Trs!%Qsw%Twx!&px!Q%T!Q![JU![!c%T!c!tJU!t!u!(`!u!}JU!}#R%T#R#SJU#S#T%T#T#fJU#f#g!(`#g#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUk!%XV&n`&dZOr%Trs!%ns#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!%sV&n`Or%Trs!&Ys#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!&aT&n`&fZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!&wV&n`&cZOw%Twx!'^x#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!'cV&n`Ow%Twx!'xx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!(PT&n`&eZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To!(ia&n`&YS%uZOr%Trs!)nsw%Twx!+^x!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUk!)uV&n`&hZOr%Trs!*[s#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!*aV&n`Or%Trs!*vs#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!*}T&n`&jZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!+eV&n`&gZOw%Twx!+zx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!,PV&n`Ow%Twx!,fx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!,mT&n`&iZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To!-Vi&n`&YS%uZOr%TrsNWsw%Twx! vx!Q%T!Q![JU![!c%T!c!dJU!d!eLx!e!hJU!h!i!(`!i!}JU!}#R%T#R#SJU#S#T%T#T#UJU#U#VLx#V#YJU#Y#Z!(`#Z#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUo!.}a&n`&YS%uZOr%Trs)Ysw%Twx.Ux!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUk!0ZT!XZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc!0qT!WR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj!1XV%kQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T~!1sO!]~k!1zV%jR&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T~!2fO![~i!2mT%tX&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T",tokenizers:[Qw,dw,Ow,bw,0,1,2,3,4],topRules:{Script:[0,5]},specialized:[{term:221,get:i=>kw[i]||-1}],tokenPrec:7668});var zm=new di,Mm=new Set(["Script","Body","FunctionDefinition","ClassDefinition","LambdaExpression","ForStatement","MatchClause"]);function uo(i){return(e,t,n)=>{if(n)return!1;let r=e.node.getChild("VariableName");return r&&t(r,i),!0}}var xw={FunctionDefinition:uo("function"),ClassDefinition:uo("class"),ForStatement(i,e,t){if(t){for(let n=i.node.firstChild;n;n=n.nextSibling)if(n.name=="VariableName")e(n,"variable");else if(n.name=="in")break}},ImportStatement(i,e){var t,n;let{node:r}=i,s=((t=r.firstChild)===null||t===void 0?void 0:t.name)=="from";for(let o=r.getChild("import");o;o=o.nextSibling)o.name=="VariableName"&&((n=o.nextSibling)===null||n===void 0?void 0:n.name)!="as"&&e(o,s?"variable":"namespace")},AssignStatement(i,e){for(let t=i.node.firstChild;t;t=t.nextSibling)if(t.name=="VariableName")e(t,"variable");else if(t.name==":"||t.name=="AssignOp")break},ParamList(i,e){for(let t=null,n=i.node.firstChild;n;n=n.nextSibling)n.name=="VariableName"&&(!t||!/\*|AssignOp/.test(t.name))&&e(n,"variable"),t=n},CapturePattern:uo("variable"),AsPattern:uo("variable"),__proto__:null};function Wm(i,e){let t=zm.get(e);if(t)return t;let n=[],r=!0;function s(o,a){let l=i.sliceString(o.from,o.to);n.push({label:l,type:a})}return e.cursor(ee.IncludeAnonymous).iterate(o=>{if(o.name){let a=xw[o.name];if(a&&a(o,s,r)||!r&&Mm.has(o.name))return!1;r=!1}else if(o.to-o.from>8192){for(let a of Wm(i,o.node))n.push(a);return!1}}),zm.set(e,n),n}var Lm=/^[\w\xa1-\uffff][\w\d\xa1-\uffff]*$/,jm=["String","FormatString","Comment","PropertyName"];function ww(i){let e=U(i.state).resolveInner(i.pos,-1);if(jm.indexOf(e.name)>-1)return null;let t=e.name=="VariableName"||e.to-e.from<20&&Lm.test(i.state.sliceDoc(e.from,e.to));if(!t&&!i.explicit)return null;let n=[];for(let r=e;r;r=r.parent)Mm.has(r.name)&&(n=n.concat(Wm(i.state.doc,r)));return{options:n,from:t?e.from:i.pos,validFor:Lm}}var Pw=["__annotations__","__builtins__","__debug__","__doc__","__import__","__name__","__loader__","__package__","__spec__","False","None","True"].map(i=>({label:i,type:"constant"})).concat(["ArithmeticError","AssertionError","AttributeError","BaseException","BlockingIOError","BrokenPipeError","BufferError","BytesWarning","ChildProcessError","ConnectionAbortedError","ConnectionError","ConnectionRefusedError","ConnectionResetError","DeprecationWarning","EOFError","Ellipsis","EncodingWarning","EnvironmentError","Exception","FileExistsError","FileNotFoundError","FloatingPointError","FutureWarning","GeneratorExit","IOError","ImportError","ImportWarning","IndentationError","IndexError","InterruptedError","IsADirectoryError","KeyError","KeyboardInterrupt","LookupError","MemoryError","ModuleNotFoundError","NameError","NotADirectoryError","NotImplemented","NotImplementedError","OSError","OverflowError","PendingDeprecationWarning","PermissionError","ProcessLookupError","RecursionError","ReferenceError","ResourceWarning","RuntimeError","RuntimeWarning","StopAsyncIteration","StopIteration","SyntaxError","SyntaxWarning","SystemError","SystemExit","TabError","TimeoutError","TypeError","UnboundLocalError","UnicodeDecodeError","UnicodeEncodeError","UnicodeError","UnicodeTranslateError","UnicodeWarning","UserWarning","ValueError","Warning","ZeroDivisionError"].map(i=>({label:i,type:"type"}))).concat(["bool","bytearray","bytes","classmethod","complex","float","frozenset","int","list","map","memoryview","object","range","set","staticmethod","str","super","tuple","type"].map(i=>({label:i,type:"class"}))).concat(["abs","aiter","all","anext","any","ascii","bin","breakpoint","callable","chr","compile","delattr","dict","dir","divmod","enumerate","eval","exec","exit","filter","format","getattr","globals","hasattr","hash","help","hex","id","input","isinstance","issubclass","iter","len","license","locals","max","min","next","oct","open","ord","pow","print","property","quit","repr","reversed","round","setattr","slice","sorted","sum","vars","zip"].map(i=>({label:i,type:"function"}))),vw=[ce("def ${name}(${params}):\n ${}",{label:"def",detail:"function",type:"keyword"}),ce("for ${name} in ${collection}:\n ${}",{label:"for",detail:"loop",type:"keyword"}),ce("while ${}:\n ${}",{label:"while",detail:"loop",type:"keyword"}),ce("try:\n ${}\nexcept ${error}:\n ${}",{label:"try",detail:"/ except block",type:"keyword"}),ce(`if \${}: -`,{label:"if",detail:"block",type:"keyword"}),ce("if ${}:\n ${}\nelse:\n ${}",{label:"if",detail:"/ else block",type:"keyword"}),ce("class ${name}:\n def __init__(self, ${params}):\n ${}",{label:"class",detail:"definition",type:"keyword"}),ce("import ${module}",{label:"import",detail:"statement",type:"keyword"}),ce("from ${module} import ${names}",{label:"from",detail:"import",type:"keyword"})],$w=Bs(jm,Is(Pw.concat(vw)));function rh(i){let{node:e,pos:t}=i,n=i.lineIndent(t,-1),r=null;for(;;){let s=e.childBefore(t);if(s)if(s.name=="Comment")t=s.from;else if(s.name=="Body"||s.name=="MatchBody")i.baseIndentFor(s)+i.unit<=n&&(r=s),e=s;else if(s.name=="MatchClause")e=s;else if(s.type.is("Statement"))e=s;else break;else break}return r}function sh(i,e){let t=i.baseIndentFor(e),n=i.lineAt(i.pos,-1),r=n.from+n.text.length;return/^\s*($|#)/.test(n.text)&&i.node.tot?null:t+i.unit}var oh=$e.define({name:"python",parser:qm.configure({props:[we.add({Body:i=>{var e;let t=/^\s*(#|$)/.test(i.textAfter)&&rh(i)||i.node;return(e=sh(i,t))!==null&&e!==void 0?e:i.continue()},MatchBody:i=>{var e;let t=rh(i);return(e=sh(i,t||i.node))!==null&&e!==void 0?e:i.continue()},IfStatement:i=>/^\s*(else:|elif )/.test(i.textAfter)?i.baseIndent:i.continue(),"ForStatement WhileStatement":i=>/^\s*else:/.test(i.textAfter)?i.baseIndent:i.continue(),TryStatement:i=>/^\s*(except[ :]|finally:|else:)/.test(i.textAfter)?i.baseIndent:i.continue(),MatchStatement:i=>/^\s*case /.test(i.textAfter)?i.baseIndent+i.unit:i.continue(),"TupleExpression ComprehensionExpression ParamList ArgList ParenthesizedExpression":St({closing:")"}),"DictionaryExpression DictionaryComprehensionExpression SetExpression SetComprehensionExpression":St({closing:"}"}),"ArrayExpression ArrayComprehensionExpression":St({closing:"]"}),MemberExpression:i=>i.baseIndent+i.unit,"String FormatString":()=>null,Script:i=>{var e;let t=rh(i);return(e=t&&sh(i,t))!==null&&e!==void 0?e:i.continue()}}),Te.add({"ArrayExpression DictionaryExpression SetExpression TupleExpression":ht,Body:(i,e)=>({from:i.from+1,to:i.to-(i.to==e.doc.length?0:1)}),"String FormatString":(i,e)=>({from:e.doc.lineAt(i.from).to,to:i.to})})]}),languageData:{closeBrackets:{brackets:["(","[","{","'",'"',"'''",'"""'],stringPrefixes:["f","fr","rf","r","u","b","br","rb","F","FR","RF","R","U","B","BR","RB"]},commentTokens:{line:"#"},indentOnInput:/^\s*([\}\]\)]|else:|elif |except |finally:|case\s+[^:]*:?)$/}});function Vm(){return new me(oh,[oh.data.of({autocomplete:ww}),oh.data.of({autocomplete:$w})])}var Tw=Qe({String:d.string,Number:d.number,"True False":d.bool,PropertyName:d.propertyName,Null:d.null,", :":d.separator,"[ ]":d.squareBracket,"{ }":d.brace}),Dm=Pe.deserialize({version:14,states:"$bOVQPOOOOQO'#Cb'#CbOnQPO'#CeOvQPO'#ClOOQO'#Cr'#CrQOQPOOOOQO'#Cg'#CgO}QPO'#CfO!SQPO'#CtOOQO,59P,59PO![QPO,59PO!aQPO'#CuOOQO,59W,59WO!iQPO,59WOVQPO,59QOqQPO'#CmO!nQPO,59`OOQO1G.k1G.kOVQPO'#CnO!vQPO,59aOOQO1G.r1G.rOOQO1G.l1G.lOOQO,59X,59XOOQO-E6k-E6kOOQO,59Y,59YOOQO-E6l-E6l",stateData:"#O~OeOS~OQSORSOSSOTSOWQO_ROgPO~OVXOgUO~O^[O~PVO[^O~O]_OVhX~OVaO~O]bO^iX~O^dO~O]_OVha~O]bO^ia~O",goto:"!kjPPPPPPkPPkqwPPPPk{!RPPP!XP!e!hXSOR^bQWQRf_TVQ_Q`WRg`QcZRicQTOQZRQe^RhbRYQR]R",nodeNames:"\u26A0 JsonText True False Null Number String } { Object Property PropertyName : , ] [ Array",maxTerm:25,nodeProps:[["isolate",-2,6,11,""],["openedBy",7,"{",14,"["],["closedBy",8,"}",15,"]"]],propSources:[Tw],skippedNodes:[0],repeatNodeCount:2,tokenData:"(|~RaXY!WYZ!W]^!Wpq!Wrs!]|}$u}!O$z!Q!R%T!R![&c![!]&t!}#O&y#P#Q'O#Y#Z'T#b#c'r#h#i(Z#o#p(r#q#r(w~!]Oe~~!`Wpq!]qr!]rs!xs#O!]#O#P!}#P;'S!];'S;=`$o<%lO!]~!}Og~~#QXrs!]!P!Q!]#O#P!]#U#V!]#Y#Z!]#b#c!]#f#g!]#h#i!]#i#j#m~#pR!Q![#y!c!i#y#T#Z#y~#|R!Q![$V!c!i$V#T#Z$V~$YR!Q![$c!c!i$c#T#Z$c~$fR!Q![!]!c!i!]#T#Z!]~$rP;=`<%l!]~$zO]~~$}Q!Q!R%T!R![&c~%YRT~!O!P%c!g!h%w#X#Y%w~%fP!Q![%i~%nRT~!Q![%i!g!h%w#X#Y%w~%zR{|&T}!O&T!Q![&Z~&WP!Q![&Z~&`PT~!Q![&Z~&hST~!O!P%c!Q![&c!g!h%w#X#Y%w~&yO[~~'OO_~~'TO^~~'WP#T#U'Z~'^P#`#a'a~'dP#g#h'g~'jP#X#Y'm~'rOR~~'uP#i#j'x~'{P#`#a(O~(RP#`#a(U~(ZOS~~(^P#f#g(a~(dP#i#j(g~(jP#X#Y(m~(rOQ~~(wOW~~(|OV~",tokenizers:[0],topRules:{JsonText:[0,1]},tokenPrec:0});var Cw=$e.define({name:"json",parser:Dm.configure({props:[we.add({Object:Yt({except:/^\s*\}/}),Array:Yt({except:/^\s*\]/})}),Te.add({"Object Array":ht})]}),languageData:{closeBrackets:{brackets:["[","{",'"']},indentOnInput:/^\s*[\}\]]$/}});function Ym(){return new me(Cw)}function Oo(i){for(var e={},t=0;t~^?!",Ew=":;,.(){}[]",qw=/^\-?0b[01][01_]*/,zw=/^\-?0o[0-7][0-7_]*/,Lw=/^\-?0x[\dA-Fa-f][\dA-Fa-f_]*(?:(?:\.[\dA-Fa-f][\dA-Fa-f_]*)?[Pp]\-?\d[\d_]*)?/,Mw=/^\-?\d[\d_]*(?:\.\d[\d_]*)?(?:[Ee]\-?\d[\d_]*)?/,Ww=/^\$\d+|(`?)[_A-Za-z][_A-Za-z$0-9]*\1/,jw=/^\.(?:\$\d+|(`?)[_A-Za-z][_A-Za-z$0-9]*\1)/,Vw=/^\#[A-Za-z]+/,Dw=/^@(?:\$\d+|(`?)[_A-Za-z][_A-Za-z$0-9]*\1)/;function Im(i,e,t){if(i.sol()&&(e.indented=i.indentation()),i.eatSpace())return null;var n=i.peek();if(n=="/"){if(i.match("//"))return i.skipToEnd(),"comment";if(i.match("/*"))return e.tokenize.push(ah),ah(i,e)}if(i.match(Vw))return"builtin";if(i.match(Dw))return"attribute";if(i.match(qw)||i.match(zw)||i.match(Lw)||i.match(Mw))return"number";if(i.match(jw))return"property";if(Zw.indexOf(n)>-1)return i.next(),"operator";if(Ew.indexOf(n)>-1)return i.next(),i.match(".."),"punctuation";var r;if(r=i.match(/("""|"|')/)){var s=Iw.bind(null,r[0]);return e.tokenize.push(s),s(i,e)}if(i.match(Ww)){var o=i.current();return Aw.hasOwnProperty(o)?"type":Rw.hasOwnProperty(o)?"atom":Xw.hasOwnProperty(o)?(_w.hasOwnProperty(o)&&(e.prev="define"),"keyword"):t=="define"?"def":"variable"}return i.next(),null}function Yw(){var i=0;return function(e,t,n){var r=Im(e,t,n);if(r=="punctuation"){if(e.current()=="(")++i;else if(e.current()==")"){if(i==0)return e.backUp(1),t.tokenize.pop(),t.tokenize[t.tokenize.length-1](e,t);--i}}return r}}function Iw(i,e,t){for(var n=i.length==1,r,s=!1;r=e.peek();)if(s){if(e.next(),r=="(")return t.tokenize.push(Yw()),"string";s=!1}else{if(e.match(i))return t.tokenize.pop(),"string";e.next(),s=r=="\\"}return n&&t.tokenize.pop(),"string"}function ah(i,e){for(var t;t=i.next();)if(t==="/"&&i.eat("*"))e.tokenize.push(ah);else if(t==="*"&&i.eat("/")){e.tokenize.pop();break}return"comment"}function Bw(i,e,t){this.prev=i,this.align=e,this.indented=t}function Uw(i,e){var t=e.match(/^\s*($|\/[\/\*]|[)}\]])/,!1)?null:e.column()+1;i.context=new Bw(i.context,t,i.indented)}function Gw(i){i.context&&(i.indented=i.context.indented,i.context=i.context.prev)}var Bm={name:"swift",startState:function(){return{prev:null,context:null,indented:0,tokenize:[]}},token:function(i,e){var t=e.prev;e.prev=null;var n=e.tokenize[e.tokenize.length-1]||Im,r=n(i,e,t);if(!r||r=="comment"?e.prev=t:e.prev||(e.prev=r),r=="punctuation"){var s=/[\(\[\{]|([\]\)\}])/.exec(i.current());s&&(s[1]?Gw:Uw)(e,i)}return r},indent:function(i,e,t){var n=i.context;if(!n)return 0;var r=/^[\]\}\)]/.test(e);return n.align!=null?n.align-(r?1:0):n.indented+(r?0:t.unit)},languageData:{indentOnInput:/^\s*[\)\}\]]$/,commentTokens:{line:"//",block:{open:"/*",close:"*/"}},closeBrackets:{brackets:["(","[","{","'",'"',"`"]}}};var lh={};function ch(i,e){for(var t=0;t1&&i.eat("$");var t=i.next();return/['"({]/.test(t)?(e.tokens[0]=po(t,t=="("?"quote":t=="{"?"def":"string"),_n(i,e)):(/\d/.test(t)||i.eatWhile(/\w/),e.tokens.shift(),"def")};function Hw(i){return function(e,t){return e.sol()&&e.string==i&&t.tokens.shift(),e.skipToEnd(),"string.special"}}function _n(i,e){return(e.tokens[0]||Nw)(i,e)}var Hm={name:"shell",startState:function(){return{tokens:[]}},token:function(i,e){return _n(i,e)},languageData:{autocomplete:Um.concat(Gm,Nm),closeBrackets:{brackets:["(","[","{","'",'"',"`"]},commentTokens:{line:"#"}}};var Kw=["true","false","on","off","yes","no"],Jw=new RegExp("\\b(("+Kw.join(")|(")+"))$","i"),Km={name:"yaml",token:function(i,e){var t=i.peek(),n=e.escaped;if(e.escaped=!1,t=="#"&&(i.pos==0||/\s/.test(i.string.charAt(i.pos-1))))return i.skipToEnd(),"comment";if(i.match(/^('([^']|\\.)*'?|"([^"]|\\.)*"?)/))return"string";if(e.literal&&i.indentation()>e.keyCol)return i.skipToEnd(),"string";if(e.literal&&(e.literal=!1),i.sol()){if(e.keyCol=0,e.pair=!1,e.pairStart=!1,i.match("---")||i.match("..."))return"def";if(i.match(/^\s*-\s+/))return"meta"}if(i.match(/^(\{|\}|\[|\])/))return t=="{"?e.inlinePairs++:t=="}"?e.inlinePairs--:t=="["?e.inlineList++:e.inlineList--,"meta";if(e.inlineList>0&&!n&&t==",")return i.next(),"meta";if(e.inlinePairs>0&&!n&&t==",")return e.keyCol=0,e.pair=!1,e.pairStart=!1,i.next(),"meta";if(e.pairStart){if(i.match(/^\s*(\||\>)\s*/))return e.literal=!0,"meta";if(i.match(/^\s*(\&|\*)[a-z0-9\._-]+\b/i))return"variable";if(e.inlinePairs==0&&i.match(/^\s*-?[0-9\.\,]+\s?$/)||e.inlinePairs>0&&i.match(/^\s*-?[0-9\.\,]+\s?(?=(,|}))/))return"number";if(i.match(Jw))return"keyword"}return!e.pair&&i.match(/^\s*(?:[,\[\]{}&*!|>'"%@`][^\s'":]|[^,\[\]{}#&*!|>'"%@`])[^#]*?(?=\s*:($|\s))/)?(e.pair=!0,e.keyCol=i.indentation(),"atom"):e.pair&&i.match(/^:\s*/)?(e.pairStart=!0,"meta"):(e.pairStart=!1,e.escaped=t=="\\",i.next(),null)},startState:function(){return{pair:!1,pairStart:!1,keyCol:0,inlinePairs:0,inlineList:0,literal:!1,escaped:!1}},languageData:{commentTokens:{line:"#"}}};var eP={break:!0,case:!0,chan:!0,const:!0,continue:!0,default:!0,defer:!0,else:!0,fallthrough:!0,for:!0,func:!0,go:!0,goto:!0,if:!0,import:!0,interface:!0,map:!0,package:!0,range:!0,return:!0,select:!0,struct:!0,switch:!0,type:!0,var:!0,bool:!0,byte:!0,complex64:!0,complex128:!0,float32:!0,float64:!0,int8:!0,int16:!0,int32:!0,int64:!0,string:!0,uint8:!0,uint16:!0,uint32:!0,uint64:!0,int:!0,uint:!0,uintptr:!0,error:!0,rune:!0,any:!0,comparable:!0},tP={true:!0,false:!0,iota:!0,nil:!0,append:!0,cap:!0,close:!0,complex:!0,copy:!0,delete:!0,imag:!0,len:!0,make:!0,new:!0,panic:!0,print:!0,println:!0,real:!0,recover:!0},Jm=/[+\-*&^%:=<>!|\/]/,Jt;function mo(i,e){var t=i.next();if(t=='"'||t=="'"||t=="`")return e.tokenize=iP(t),e.tokenize(i,e);if(/[\d\.]/.test(t))return t=="."?i.match(/^[0-9]+([eE][\-+]?[0-9]+)?/):t=="0"?i.match(/^[xX][0-9a-fA-F]+/)||i.match(/^0[0-7]+/):i.match(/^[0-9]*\.?[0-9]*([eE][\-+]?[0-9]+)?/),"number";if(/[\[\]{}\(\),;\:\.]/.test(t))return Jt=t,null;if(t=="/"){if(i.eat("*"))return e.tokenize=eg,eg(i,e);if(i.eat("/"))return i.skipToEnd(),"comment"}if(Jm.test(t))return i.eatWhile(Jm),"operator";i.eatWhile(/[\w\$_\xa1-\uffff]/);var n=i.current();return eP.propertyIsEnumerable(n)?((n=="case"||n=="default")&&(Jt="case"),"keyword"):tP.propertyIsEnumerable(n)?"atom":"variable"}function iP(i){return function(e,t){for(var n=!1,r,s=!1;(r=e.next())!=null;){if(r==i&&!n){s=!0;break}n=!n&&i!="`"&&r=="\\"}return(s||!(n||i=="`"))&&(t.tokenize=mo),"string"}}function eg(i,e){for(var t=!1,n;n=i.next();){if(n=="/"&&t){e.tokenize=mo;break}t=n=="*"}return"comment"}function ig(i,e,t,n,r){this.indented=i,this.column=e,this.type=t,this.align=n,this.prev=r}function hh(i,e,t){return i.context=new ig(i.indented,e,t,null,i.context)}function tg(i){if(i.context.prev){var e=i.context.type;return(e==")"||e=="]"||e=="}")&&(i.indented=i.context.indented),i.context=i.context.prev}}var ng={name:"go",startState:function(i){return{tokenize:null,context:new ig(-i,0,"top",!1),indented:0,startOfLine:!0}},token:function(i,e){var t=e.context;if(i.sol()&&(t.align==null&&(t.align=!1),e.indented=i.indentation(),e.startOfLine=!0,t.type=="case"&&(t.type="}")),i.eatSpace())return null;Jt=null;var n=(e.tokenize||mo)(i,e);return n=="comment"||(t.align==null&&(t.align=!0),Jt=="{"?hh(e,i.column(),"}"):Jt=="["?hh(e,i.column(),"]"):Jt=="("?hh(e,i.column(),")"):Jt=="case"?t.type="case":(Jt=="}"&&t.type=="}"||Jt==t.type)&&tg(e),e.startOfLine=!1),n},indent:function(i,e,t){if(i.tokenize!=mo&&i.tokenize!=null)return null;var n=i.context,r=e&&e.charAt(0);if(n.type=="case"&&/^(?:case|default)\b/.test(e))return n.indented;var s=r==n.type;return n.align?n.column+(s?0:1):n.indented+(s?0:t.unit)},languageData:{indentOnInput:/^\s([{}]|case |default\s*:)$/,commentTokens:{line:"//",block:{open:"/*",close:"*/"}}}};function uh(i){for(var e={},t=0,n=i.length;t]/)?(i.eat(/[\<\>]/),"atom"):i.eat(/[\+\-\*\/\&\|\:\!]/)?"atom":i.eat(/[a-zA-Z$@_\xa1-\uffff]/)?(i.eatWhile(/[\w$\xa1-\uffff]/),i.eat(/[\?\!\=]/),"atom"):"operator";if(t=="@"&&i.match(/^@?[a-zA-Z_\xa1-\uffff]/))return i.eat("@"),i.eatWhile(/[\w\xa1-\uffff]/),"propertyName";if(t=="$")return i.eat(/[a-zA-Z_]/)?i.eatWhile(/[\w]/):i.eat(/\d/)?i.eat(/\d/):i.next(),"variableName.special";if(/[a-zA-Z_\xa1-\uffff]/.test(t))return i.eatWhile(/[\w\xa1-\uffff]/),i.eat(/[\?\!]/),i.eat(":")?"atom":"variable";if(t=="|"&&(e.varList||e.lastTok=="{"||e.lastTok=="do"))return Pt="|",null;if(/[\(\)\[\]{}\\;]/.test(t))return Pt=t,null;if(t=="-"&&i.eat(">"))return"operator";if(/[=+\-\/*:\.^%<>~|]/.test(t)){var a=i.eatWhile(/[=+\-\/*:\.^%<>~|]/);return t=="."&&!a&&(Pt="."),"operator"}else return null}}}function aP(i){for(var e=i.pos,t=0,n,r=!1,s=!1;(n=i.next())!=null;)if(s)s=!1;else{if("[{(".indexOf(n)>-1)t++;else if("]})".indexOf(n)>-1){if(t--,t<0)break}else if(n=="/"&&t==0){r=!0;break}s=n=="\\"}return i.backUp(i.pos-e),r}function fh(i){return i||(i=1),function(e,t){if(e.peek()=="}"){if(i==1)return t.tokenize.pop(),t.tokenize[t.tokenize.length-1](e,t);t.tokenize[t.tokenize.length-1]=fh(i-1)}else e.peek()=="{"&&(t.tokenize[t.tokenize.length-1]=fh(i+1));return go(e,t)}}function lP(){var i=!1;return function(e,t){return i?(t.tokenize.pop(),t.tokenize[t.tokenize.length-1](e,t)):(i=!0,go(e,t))}}function Rr(i,e,t,n){return function(r,s){var o=!1,a;for(s.context.type==="read-quoted-paused"&&(s.context=s.context.prev,r.eat("}"));(a=r.next())!=null;){if(a==i&&(n||!o)){s.tokenize.pop();break}if(t&&a=="#"&&!o){if(r.eat("{")){i=="}"&&(s.context={prev:s.context,type:"read-quoted-paused"}),s.tokenize.push(fh());break}else if(/[@\$]/.test(r.peek())){s.tokenize.push(lP());break}}o=!o&&a=="\\"}return e}}function cP(i,e){return function(t,n){return e&&t.eatSpace(),t.match(i)?n.tokenize.pop():t.skipToEnd(),"string"}}function hP(i,e){return i.sol()&&i.match("=end")&&i.eol()&&e.tokenize.pop(),i.skipToEnd(),"comment"}var og={name:"ruby",startState:function(i){return{tokenize:[go],indented:0,context:{type:"top",indented:-i},continuedLine:!1,lastTok:null,varList:!1}},token:function(i,e){Pt=null,i.sol()&&(e.indented=i.indentation());var t=e.tokenize[e.tokenize.length-1](i,e),n,r=Pt;if(t=="variable"){var s=i.current();t=e.lastTok=="."?"property":nP.propertyIsEnumerable(i.current())?"keyword":/^[A-Z]/.test(s)?"tag":e.lastTok=="def"||e.lastTok=="class"||e.varList?"def":"variable",t=="keyword"&&(r=s,rP.propertyIsEnumerable(s)?n="indent":sP.propertyIsEnumerable(s)?n="dedent":((s=="if"||s=="unless")&&i.column()==i.indentation()||s=="do"&&e.context.indented2&&o.token&&typeof o.token!="string"){t.pending=[];for(var c=2;c-1)return null;var r=t.indent.length-1,s=i[t.state];e:for(;;){for(var o=0;o!]+/,token:"operator"},{regex:/[a-zA-Z_]\w*!/,token:"macroName"},{regex:/[a-zA-Z_]\w*/,token:"variable"},{regex:/[\{\[\(]/,indent:!0},{regex:/[\}\]\)]/,dedent:!0}],string:[{regex:/"/,token:"string",next:"start"},{regex:/(?:[^\\"]|\\(?:.|$))*/,token:"string"}],string_raw:[{regex:/"/,token:"string",next:"start"},{regex:/[^"]*/,token:"string"}],string_raw_hash:[{regex:/"#+/,token:"string",next:"start"},{regex:/(?:[^"]|"(?!#))*/,token:"string"}],comment:[{regex:/.*?\*\//,token:"comment",next:"start"},{regex:/.*/,token:"comment"}],languageData:{name:"rust",dontIndentStates:["comment"],indentOnInput:/^\s*\}$/,commentTokens:{line:"//",block:{open:"/*",close:"*/"}}}});function ph(i,e,t,n,r,s){this.indented=i,this.column=e,this.type=t,this.info=n,this.align=r,this.prev=s}function Qo(i,e,t,n){var r=i.indented;return i.context&&i.context.type=="statement"&&t!="statement"&&(r=i.context.indented),i.context=new ph(r,e,t,n,null,i.context)}function Ar(i){var e=i.context.type;return(e==")"||e=="]"||e=="}")&&(i.indented=i.context.indented),i.context=i.context.prev}function hg(i,e,t){if(e.prevToken=="variable"||e.prevToken=="type"||/\S(?:[^- ]>|[*\]])\s*$|\*$/.test(i.string.slice(0,t))||e.typeAtEndOfLine&&i.column()==i.indentation())return!0}function Oh(i){for(;;){if(!i||i.type=="top")return!0;if(i.type=="}"&&i.prev.info!="namespace")return!1;i=i.prev}}function tt(i){var e=i.statementIndentUnit,t=i.dontAlignCalls,n=i.keywords||{},r=i.types||{},s=i.builtin||{},o=i.blockKeywords||{},a=i.defKeywords||{},l=i.atoms||{},c=i.hooks||{},h=i.multiLineStrings,f=i.indentStatements!==!1,u=i.indentSwitch!==!1,O=i.namespaceSeparator,p=i.isPunctuationChar||/[\[\]{}\(\),;\:\.]/,m=i.numberStart||/[\d\.]/,b=i.number||/^(?:0x[a-f\d]+|0b[01]+|(?:\d+\.?\d*|\.\d+)(?:e[-+]?\d+)?)(u|ll?|l|f)?/i,g=i.isOperatorChar||/[+\-*&%=<>!?|\/]/,Q=i.isIdentifierChar||/[\w\$_\xa1-\uffff]/,S=i.isReservedIdentifier||!1,x,v;function $(T,k){var w=T.next();if(c[w]){var C=c[w](T,k);if(C!==!1)return C}if(w=='"'||w=="'")return k.tokenize=R(w),k.tokenize(T,k);if(m.test(w)){if(T.backUp(1),T.match(b))return"number";T.next()}if(p.test(w))return x=w,null;if(w=="/"){if(T.eat("*"))return k.tokenize=_,_(T,k);if(T.eat("/"))return T.skipToEnd(),"comment"}if(g.test(w)){for(;!T.match(/^\/[\/*]/,!1)&&T.eat(g););return"operator"}if(T.eatWhile(Q),O)for(;T.match(O);)T.eatWhile(Q);var j=T.current();return ei(n,j)?(ei(o,j)&&(x="newstatement"),ei(a,j)&&(v=!0),"keyword"):ei(r,j)?"type":ei(s,j)||S&&S(j)?(ei(o,j)&&(x="newstatement"),"builtin"):ei(l,j)?"atom":"variable"}function R(T){return function(k,w){for(var C=!1,j,y=!1;(j=k.next())!=null;){if(j==T&&!C){y=!0;break}C=!C&&j=="\\"}return(y||!(C||h))&&(w.tokenize=null),"string"}}function _(T,k){for(var w=!1,C;C=T.next();){if(C=="/"&&w){k.tokenize=null;break}w=C=="*"}return"comment"}function W(T,k){i.typeFirstDefinitions&&T.eol()&&Oh(k.context)&&(k.typeAtEndOfLine=hg(T,k,T.pos))}return{name:i.name,startState:function(T){return{tokenize:null,context:new ph(-T,0,"top",null,!1),indented:0,startOfLine:!0,prevToken:null}},token:function(T,k){var w=k.context;if(T.sol()&&(w.align==null&&(w.align=!1),k.indented=T.indentation(),k.startOfLine=!0),T.eatSpace())return W(T,k),null;x=v=null;var C=(k.tokenize||$)(T,k);if(C=="comment"||C=="meta")return C;if(w.align==null&&(w.align=!0),x==";"||x==":"||x==","&&T.match(/^\s*(?:\/\/.*)?$/,!1))for(;k.context.type=="statement";)Ar(k);else if(x=="{")Qo(k,T.column(),"}");else if(x=="[")Qo(k,T.column(),"]");else if(x=="(")Qo(k,T.column(),")");else if(x=="}"){for(;w.type=="statement";)w=Ar(k);for(w.type=="}"&&(w=Ar(k));w.type=="statement";)w=Ar(k)}else x==w.type?Ar(k):f&&((w.type=="}"||w.type=="top")&&x!=";"||w.type=="statement"&&x=="newstatement")&&Qo(k,T.column(),"statement",T.current());if(C=="variable"&&(k.prevToken=="def"||i.typeFirstDefinitions&&hg(T,k,T.start)&&Oh(k.context)&&T.match(/^\s*\(/,!1))&&(C="def"),c.token){var j=c.token(T,k,C);j!==void 0&&(C=j)}return C=="def"&&i.styleDefs===!1&&(C="variable"),k.startOfLine=!1,k.prevToken=v?"def":C||x,W(T,k),C},indent:function(T,k,w){if(T.tokenize!=$&&T.tokenize!=null||T.typeAtEndOfLine&&Oh(T.context))return null;var C=T.context,j=k&&k.charAt(0),y=j==C.type;if(C.type=="statement"&&j=="}"&&(C=C.prev),i.dontIndentStatements)for(;C.type=="statement"&&i.dontIndentStatements.test(C.info);)C=C.prev;if(c.indent){var q=c.indent(T,C,k,w.unit);if(typeof q=="number")return q}var de=C.prev&&C.prev.info=="switch";if(i.allmanIndentation&&/[{(]/.test(j)){for(;C.type!="top"&&C.type!="}";)C=C.prev;return C.indented}return C.type=="statement"?C.indented+(j=="{"?0:e||w.unit):C.align&&(!t||C.type!=")")?C.column+(y?0:1):C.type==")"&&!y?C.indented+(e||w.unit):C.indented+(y?0:w.unit)+(!y&&de&&!/^(?:case|default)\b/.test(k)?w.unit:0)},languageData:{indentOnInput:u?/^\s*(?:case .*?:|default:|\{\}?|\})$/:/^\s*[{}]$/,commentTokens:{line:"//",block:{open:"/*",close:"*/"}},autocomplete:Object.keys(n).concat(Object.keys(r)).concat(Object.keys(s)).concat(Object.keys(l)),...i.languageData}}}function V(i){for(var e={},t=i.split(" "),n=0;n!?|\/#:@]/,hooks:{"@":function(i){return i.eatWhile(/[\w\$_]/),"meta"},'"':function(i,e){return i.match('""')?(e.tokenize=kg,e.tokenize(i,e)):!1},"'":function(i){return i.match(/^(\\[^'\s]+|[^\\'])'/)?"character":(i.eatWhile(/[\w\$_\xa1-\uffff]/),"atom")},"=":function(i,e){var t=e.context;return t.type=="}"&&t.align&&i.eat(">")?(e.context=new ph(t.indented,t.column,t.type,t.info,null,t.prev),"operator"):!1},"/":function(i,e){return i.eat("*")?(e.tokenize=Zr(1),e.tokenize(i,e)):!1}},languageData:{closeBrackets:{brackets:["(","[","{","'",'"','"""']}}});function QP(i){return function(e,t){for(var n=!1,r,s=!1;!e.eol();){if(!i&&!n&&e.match('"')){s=!0;break}if(i&&e.match('"""')){s=!0;break}r=e.next(),!n&&r=="$"&&e.match("{")&&e.skipTo("}"),n=!n&&r=="\\"&&!i}return(s||!i)&&(t.tokenize=null),"string"}}var xg=tt({name:"kotlin",keywords:V("package as typealias class interface this super val operator var fun for is in This throw return annotation break continue object if else while do try when !in !is as? file import where by get set abstract enum open inner override private public internal protected catch finally out final vararg reified dynamic companion constructor init sealed field property receiver param sparam lateinit data inline noinline tailrec external annotation crossinline const operator infix suspend actual expect setparam"),types:V("Boolean Byte Character CharSequence Class ClassLoader Cloneable Comparable Compiler Double Exception Float Integer Long Math Number Object Package Pair Process Runtime Runnable SecurityManager Short StackTraceElement StrictMath String StringBuffer System Thread ThreadGroup ThreadLocal Throwable Triple Void Annotation Any BooleanArray ByteArray Char CharArray DeprecationLevel DoubleArray Enum FloatArray Function Int IntArray Lazy LazyThreadSafetyMode LongArray Nothing ShortArray Unit"),intendSwitch:!1,indentStatements:!1,multiLineStrings:!0,number:/^(?:0x[a-f\d_]+|0b[01_]+|(?:[\d_]+(\.\d+)?|\.\d+)(?:e[-+]?[\d_]+)?)(ul?|l|f)?/i,blockKeywords:V("catch class do else finally for if where try while enum"),defKeywords:V("class val var object interface fun"),atoms:V("true false null this"),hooks:{"@":function(i){return i.eatWhile(/[\w\$_]/),"meta"},"*":function(i,e){return e.prevToken=="."?"variable":"operator"},'"':function(i,e){return e.tokenize=QP(i.match('""')),e.tokenize(i,e)},"/":function(i,e){return i.eat("*")?(e.tokenize=Zr(1),e.tokenize(i,e)):!1},indent:function(i,e,t,n){var r=t&&t.charAt(0);if((i.prevToken=="}"||i.prevToken==")")&&t=="")return i.indented;if(i.prevToken=="operator"&&t!="}"&&i.context.type!="}"||i.prevToken=="variable"&&r=="."||(i.prevToken=="}"||i.prevToken==")")&&r==".")return n*2+e.indented;if(e.align&&e.type=="}")return e.indented+(i.context.type==(t||"").charAt(0)?0:n)}},languageData:{closeBrackets:{brackets:["(","[","{","'",'"','"""']}}}),oC=tt({name:"shader",keywords:V("sampler1D sampler2D sampler3D samplerCube sampler1DShadow sampler2DShadow const attribute uniform varying break continue discard return for while do if else struct in out inout"),types:V("float int bool void vec2 vec3 vec4 ivec2 ivec3 ivec4 bvec2 bvec3 bvec4 mat2 mat3 mat4"),blockKeywords:V("for while do if else struct"),builtin:V("radians degrees sin cos tan asin acos atan pow exp log exp2 sqrt inversesqrt abs sign floor ceil fract mod min max clamp mix step smoothstep length distance dot cross normalize ftransform faceforward reflect refract matrixCompMult lessThan lessThanEqual greaterThan greaterThanEqual equal notEqual any all not texture1D texture1DProj texture1DLod texture1DProjLod texture2D texture2DProj texture2DLod texture2DProjLod texture3D texture3DProj texture3DLod texture3DProjLod textureCube textureCubeLod shadow1D shadow2D shadow1DProj shadow2DProj shadow1DLod shadow2DLod shadow1DProjLod shadow2DProjLod dFdx dFdy fwidth noise1 noise2 noise3 noise4"),atoms:V("true false gl_FragColor gl_SecondaryColor gl_Normal gl_Vertex gl_MultiTexCoord0 gl_MultiTexCoord1 gl_MultiTexCoord2 gl_MultiTexCoord3 gl_MultiTexCoord4 gl_MultiTexCoord5 gl_MultiTexCoord6 gl_MultiTexCoord7 gl_FogCoord gl_PointCoord gl_Position gl_PointSize gl_ClipVertex gl_FrontColor gl_BackColor gl_FrontSecondaryColor gl_BackSecondaryColor gl_TexCoord gl_FogFragCoord gl_FragCoord gl_FrontFacing gl_FragData gl_FragDepth gl_ModelViewMatrix gl_ProjectionMatrix gl_ModelViewProjectionMatrix gl_TextureMatrix gl_NormalMatrix gl_ModelViewMatrixInverse gl_ProjectionMatrixInverse gl_ModelViewProjectionMatrixInverse gl_TextureMatrixTranspose gl_ModelViewMatrixInverseTranspose gl_ProjectionMatrixInverseTranspose gl_ModelViewProjectionMatrixInverseTranspose gl_TextureMatrixInverseTranspose gl_NormalScale gl_DepthRange gl_ClipPlane gl_Point gl_FrontMaterial gl_BackMaterial gl_LightSource gl_LightModel gl_FrontLightModelProduct gl_BackLightModelProduct gl_TextureColor gl_EyePlaneS gl_EyePlaneT gl_EyePlaneR gl_EyePlaneQ gl_FogParameters gl_MaxLights gl_MaxClipPlanes gl_MaxTextureUnits gl_MaxTextureCoords gl_MaxVertexAttribs gl_MaxVertexUniformComponents gl_MaxVaryingFloats gl_MaxVertexTextureImageUnits gl_MaxTextureImageUnits gl_MaxFragmentUniformComponents gl_MaxCombineTextureImageUnits gl_MaxDrawBuffers"),indentSwitch:!1,hooks:{"#":ki}}),aC=tt({name:"nesc",keywords:V(Er+" as atomic async call command component components configuration event generic implementation includes interface module new norace nx_struct nx_union post provides signal task uses abstract extends"),types:qr,blockKeywords:V(zr),atoms:V("null true false"),hooks:{"#":ki}}),wg=tt({name:"objectivec",keywords:V(Er+" "+dg),types:mg,builtin:V(pg),blockKeywords:V(zr+" @synthesize @try @catch @finally @autoreleasepool @synchronized"),defKeywords:V(So+" @interface @implementation @protocol @class"),dontIndentStatements:/^@.*$/,typeFirstDefinitions:!0,atoms:V("YES NO NULL Nil nil true false nullptr"),isReservedIdentifier:ko,hooks:{"#":ki,"*":yo}}),lC=tt({name:"objectivecpp",keywords:V(Er+" "+dg+" "+Og),types:mg,builtin:V(pg),blockKeywords:V(zr+" @synthesize @try @catch @finally @autoreleasepool @synchronized class try catch"),defKeywords:V(So+" @interface @implementation @protocol @class class namespace"),dontIndentStatements:/^@.*$|^template$/,typeFirstDefinitions:!0,atoms:V("YES NO NULL Nil nil true false nullptr"),isReservedIdentifier:ko,hooks:{"#":ki,"*":yo,u:yi,U:yi,L:yi,R:yi,0:ye,1:ye,2:ye,3:ye,4:ye,5:ye,6:ye,7:ye,8:ye,9:ye,token:function(i,e,t){if(t=="variable"&&i.peek()=="("&&(e.prevToken==";"||e.prevToken==null||e.prevToken=="}")&&gg(i.current()))return"def"}},namespaceSeparator:"::"}),cC=tt({name:"squirrel",keywords:V("base break clone continue const default delete enum extends function in class foreach local resume return this throw typeof yield constructor instanceof static"),types:qr,blockKeywords:V("case catch class else for foreach if switch try while"),defKeywords:V("function local class"),typeFirstDefinitions:!0,atoms:V("true false null"),hooks:{"#":ki}}),bo=null;function Pg(i){return function(e,t){for(var n=!1,r,s=!1;!e.eol();){if(!n&&e.match('"')&&(i=="single"||e.match('""'))){s=!0;break}if(!n&&e.match("``")){bo=Pg(i),s=!0;break}r=e.next(),n=i=="single"&&!n&&r=="\\"}return s&&(t.tokenize=null),"string"}}var hC=tt({name:"ceylon",keywords:V("abstracts alias assembly assert assign break case catch class continue dynamic else exists extends finally for function given if import in interface is let module new nonempty object of out outer package return satisfies super switch then this throw try value void while"),types:function(i){var e=i.charAt(0);return e===e.toUpperCase()&&e!==e.toLowerCase()},blockKeywords:V("case catch class dynamic else finally for function if interface module new object switch try while"),defKeywords:V("class dynamic function interface module object package value"),builtin:V("abstract actual aliased annotation by default deprecated doc final formal late license native optional sealed see serializable shared suppressWarnings tagged throws variable"),isPunctuationChar:/[\[\]{}\(\),;\:\.`]/,isOperatorChar:/[+\-*&%=<>!?|^~:\/]/,numberStart:/[\d#$]/,number:/^(?:#[\da-fA-F_]+|\$[01_]+|[\d_]+[kMGTPmunpf]?|[\d_]+\.[\d_]+(?:[eE][-+]?\d+|[kMGTPmunpf]|)|)/i,multiLineStrings:!0,typeFirstDefinitions:!0,atoms:V("true false null larger smaller equal empty finished"),indentSwitch:!1,styleDefs:!1,hooks:{"@":function(i){return i.eatWhile(/[\w\$_]/),"meta"},'"':function(i,e){return e.tokenize=Pg(i.match('""')?"triple":"single"),e.tokenize(i,e)},"`":function(i,e){return!bo||!i.match("`")?!1:(e.tokenize=bo,bo=null,e.tokenize(i,e))},"'":function(i){return i.match(/^(\\[^'\s]+|[^\\'])'/)?"string.special":(i.eatWhile(/[\w\$_\xa1-\uffff]/),"atom")},token:function(i,e,t){if((t=="variable"||t=="type")&&e.prevToken==".")return"variableName.special"}},languageData:{closeBrackets:{brackets:["(","[","{","'",'"','"""']}}});function bP(i){(i.interpolationStack||(i.interpolationStack=[])).push(i.tokenize)}function vg(i){return(i.interpolationStack||(i.interpolationStack=[])).pop()}function SP(i){return i.interpolationStack?i.interpolationStack.length:0}function dh(i,e,t,n){var r=!1;if(e.eat(i))if(e.eat(i))r=!0;else return"string";function s(o,a){for(var l=!1;!o.eol();){if(!n&&!l&&o.peek()=="$")return bP(a),a.tokenize=yP,"string";var c=o.next();if(c==i&&!l&&(!r||o.match(i+i))){a.tokenize=null;break}l=!n&&!l&&c=="\\"}return"string"}return t.tokenize=s,s(e,t)}function yP(i,e){return i.eat("$"),i.eat("{")?e.tokenize=null:e.tokenize=kP,null}function kP(i,e){return i.eatWhile(/[\w_]/),e.tokenize=vg(e),"variable"}var fC=tt({name:"dart",keywords:V("this super static final const abstract class extends external factory implements mixin get native set typedef with enum throw rethrow assert break case continue default in return new deferred async await covariant try catch finally do else for if switch while import library export part of show hide is as extension on yield late required sealed base interface when inline"),blockKeywords:V("try catch finally do else for if switch while"),builtin:V("void bool num int double dynamic var String Null Never"),atoms:V("true false null"),number:/^(?:0x[a-f\d_]+|(?:[\d_]+\.?[\d_]*|\.[\d_]+)(?:e[-+]?[\d_]+)?)/i,hooks:{"@":function(i){return i.eatWhile(/[\w\$_\.]/),"meta"},"'":function(i,e){return dh("'",i,e,!1)},'"':function(i,e){return dh('"',i,e,!1)},r:function(i,e){var t=i.peek();return t=="'"||t=='"'?dh(i.next(),i,e,!0):!1},"}":function(i,e){return SP(e)>0?(e.tokenize=vg(e),null):!1},"/":function(i,e){return i.eat("*")?(e.tokenize=Zr(1),e.tokenize(i,e)):!1},token:function(i,e,t){if(t=="variable"){var n=RegExp("^[_$]*[A-Z][a-zA-Z0-9_$]*$","g");if(n.test(i.current()))return"type"}}}});function je(i){var e=i.client||{},t=i.atoms||{false:!0,true:!0,null:!0},n=i.builtin||M(Tg),r=i.keywords||M(Fi),s=i.operatorChars||/^[*+\-%<>!=&|~^\/]/,o=i.support||{},a=i.hooks||{},l=i.dateSQL||{date:!0,time:!0,timestamp:!0},c=i.backslashStringEscapes!==!1,h=i.brackets||/^[\{}\(\)\[\]]/,f=i.punctuation||/^[;.,:]/;function u(g,Q){var S=g.next();if(a[S]){var x=a[S](g,Q);if(x!==!1)return x}if(o.hexNumber&&(S=="0"&&g.match(/^[xX][0-9a-fA-F]+/)||(S=="x"||S=="X")&&g.match(/^'[0-9a-fA-F]*'/)))return"number";if(o.binaryNumber&&((S=="b"||S=="B")&&g.match(/^'[01]+'/)||S=="0"&&g.match(/^b[01]*/)))return"number";if(S.charCodeAt(0)>47&&S.charCodeAt(0)<58)return g.match(/^[0-9]*(\.[0-9]+)?([eE][-+]?[0-9]+)?/),o.decimallessFloat&&g.match(/^\.(?!\.)/),"number";if(S=="?"&&(g.eatSpace()||g.eol()||g.eat(";")))return"macroName";if(S=="'"||S=='"'&&o.doubleQuote)return Q.tokenize=O(S),Q.tokenize(g,Q);if((o.nCharCast&&(S=="n"||S=="N")||o.charsetCast&&S=="_"&&g.match(/[a-z][a-z0-9]*/i))&&(g.peek()=="'"||g.peek()=='"'))return"keyword";if(o.escapeConstant&&(S=="e"||S=="E")&&(g.peek()=="'"||g.peek()=='"'&&o.doubleQuote))return Q.tokenize=function($,R){return(R.tokenize=O($.next(),!0))($,R)},"keyword";if(o.commentSlashSlash&&S=="/"&&g.eat("/"))return g.skipToEnd(),"comment";if(o.commentHash&&S=="#"||S=="-"&&g.eat("-")&&(!o.commentSpaceRequired||g.eat(" ")))return g.skipToEnd(),"comment";if(S=="/"&&g.eat("*"))return Q.tokenize=p(1),Q.tokenize(g,Q);if(S=="."){if(o.zerolessFloat&&g.match(/^(?:\d+(?:e[+-]?\d+)?)/i))return"number";if(g.match(/^\.+/))return null;if(o.ODBCdotTable&&g.match(/^[\w\d_$#]+/))return"type"}else{if(s.test(S))return g.eatWhile(s),"operator";if(h.test(S))return"bracket";if(f.test(S))return g.eatWhile(f),"punctuation";if(S=="{"&&(g.match(/^( )*(d|D|t|T|ts|TS)( )*'[^']*'( )*}/)||g.match(/^( )*(d|D|t|T|ts|TS)( )*"[^"]*"( )*}/)))return"number";g.eatWhile(/^[_\w\d]/);var v=g.current().toLowerCase();return l.hasOwnProperty(v)&&(g.match(/^( )+'[^']*'/)||g.match(/^( )+"[^"]*"/))?"number":t.hasOwnProperty(v)?"atom":n.hasOwnProperty(v)?"type":r.hasOwnProperty(v)?"keyword":e.hasOwnProperty(v)?"builtin":null}}function O(g,Q){return function(S,x){for(var v=!1,$;($=S.next())!=null;){if($==g&&!v){x.tokenize=u;break}v=(c||Q)&&!v&&$=="\\"}return"string"}}function p(g){return function(Q,S){var x=Q.match(/^.*?(\/\*|\*\/)/);return x?x[1]=="/*"?S.tokenize=p(g+1):g>1?S.tokenize=p(g-1):S.tokenize=u:Q.skipToEnd(),"comment"}}function m(g,Q,S){Q.context={prev:Q.context,indent:g.indentation(),col:g.column(),type:S}}function b(g){g.indent=g.context.indent,g.context=g.context.prev}return{name:"sql",startState:function(){return{tokenize:u,context:null}},token:function(g,Q){if(g.sol()&&Q.context&&Q.context.align==null&&(Q.context.align=!1),Q.tokenize==u&&g.eatSpace())return null;var S=Q.tokenize(g,Q);if(S=="comment")return S;Q.context&&Q.context.align==null&&(Q.context.align=!0);var x=g.current();return x=="("?m(g,Q,")"):x=="["?m(g,Q,"]"):Q.context&&Q.context.type==x&&b(Q),S},indent:function(g,Q,S){var x=g.context;if(!x)return null;var v=Q.charAt(0)==x.type;return x.align?x.col+(v?0:1):x.indent+(v?0:S.unit)},languageData:{commentTokens:{line:o.commentSlashSlash?"//":o.commentHash?"#":"--",block:{open:"/*",close:"*/"}},closeBrackets:{brackets:["(","[","{","'",'"',"`"]}}}}function mh(i){for(var e;(e=i.next())!=null;)if(e=="`"&&!i.eat("`"))return"string.special";return i.backUp(i.current().length-1),i.eatWhile(/\w/)?"string.special":null}function xP(i){for(var e;(e=i.next())!=null;)if(e=='"'&&!i.eat('"'))return"string.special";return i.backUp(i.current().length-1),i.eatWhile(/\w/)?"string.special":null}function Ni(i){return i.eat("@")&&(i.match("session."),i.match("local."),i.match("global.")),i.eat("'")?(i.match(/^.*'/),"string.special"):i.eat('"')?(i.match(/^.*"/),"string.special"):i.eat("`")?(i.match(/^.*`/),"string.special"):i.match(/^[0-9a-zA-Z$\.\_]+/)?"string.special":null}function $g(i){return i.eat("N")?"atom":i.match(/^[a-zA-Z.#!?]/)?"string.special":null}var Fi="alter and as asc between by count create delete desc distinct drop from group having in insert into is join like not on or order select set table union update values where limit ";function M(i){for(var e={},t=i.split(" "),n=0;n!=^\&|\/]/,brackets:/^[\{}\(\)]/,punctuation:/^[;.,:/]/,backslashStringEscapes:!1,dateSQL:M("date datetimeoffset datetime2 smalldatetime datetime time"),hooks:{"@":Ni}}),pC=je({client:M("charset clear connect edit ego exit go help nopager notee nowarning pager print prompt quit rehash source status system tee"),keywords:M(Fi+"accessible action add after algorithm all analyze asensitive at authors auto_increment autocommit avg avg_row_length before binary binlog both btree cache call cascade cascaded case catalog_name chain change changed character check checkpoint checksum class_origin client_statistics close coalesce code collate collation collations column columns comment commit committed completion concurrent condition connection consistent constraint contains continue contributors convert cross current current_date current_time current_timestamp current_user cursor data database databases day_hour day_microsecond day_minute day_second deallocate dec declare default delay_key_write delayed delimiter des_key_file describe deterministic dev_pop dev_samp deviance diagnostics directory disable discard distinctrow div dual dumpfile each elseif enable enclosed end ends engine engines enum errors escape escaped even event events every execute exists exit explain extended fast fetch field fields first flush for force foreign found_rows full fulltext function general get global grant grants group group_concat handler hash help high_priority hosts hour_microsecond hour_minute hour_second if ignore ignore_server_ids import index index_statistics infile inner innodb inout insensitive insert_method install interval invoker isolation iterate key keys kill language last leading leave left level limit linear lines list load local localtime localtimestamp lock logs low_priority master master_heartbeat_period master_ssl_verify_server_cert masters match max max_rows maxvalue message_text middleint migrate min min_rows minute_microsecond minute_second mod mode modifies modify mutex mysql_errno natural next no no_write_to_binlog offline offset one online open optimize option optionally out outer outfile pack_keys parser partition partitions password phase plugin plugins prepare preserve prev primary privileges procedure processlist profile profiles purge query quick range read read_write reads real rebuild recover references regexp relaylog release remove rename reorganize repair repeatable replace require resignal restrict resume return returns revoke right rlike rollback rollup row row_format rtree savepoint schedule schema schema_name schemas second_microsecond security sensitive separator serializable server session share show signal slave slow smallint snapshot soname spatial specific sql sql_big_result sql_buffer_result sql_cache sql_calc_found_rows sql_no_cache sql_small_result sqlexception sqlstate sqlwarning ssl start starting starts status std stddev stddev_pop stddev_samp storage straight_join subclass_origin sum suspend table_name table_statistics tables tablespace temporary terminated to trailing transaction trigger triggers truncate uncommitted undo uninstall unique unlock upgrade usage use use_frm user user_resources user_statistics using utc_date utc_time utc_timestamp value variables varying view views warnings when while with work write xa xor year_month zerofill begin do then else loop repeat"),builtin:M("bool boolean bit blob decimal double float long longblob longtext medium mediumblob mediumint mediumtext time timestamp tinyblob tinyint tinytext text bigint int int1 int2 int3 int4 int8 integer float float4 float8 double char varbinary varchar varcharacter precision date datetime year unsigned signed numeric"),atoms:M("false true null unknown"),operatorChars:/^[*+\-%<>!=&|^]/,dateSQL:M("date time timestamp"),support:M("ODBCdotTable decimallessFloat zerolessFloat binaryNumber hexNumber doubleQuote nCharCast charsetCast commentHash commentSpaceRequired"),hooks:{"@":Ni,"`":mh,"\\":$g}}),mC=je({client:M("charset clear connect edit ego exit go help nopager notee nowarning pager print prompt quit rehash source status system tee"),keywords:M(Fi+"accessible action add after algorithm all always analyze asensitive at authors auto_increment autocommit avg avg_row_length before binary binlog both btree cache call cascade cascaded case catalog_name chain change changed character check checkpoint checksum class_origin client_statistics close coalesce code collate collation collations column columns comment commit committed completion concurrent condition connection consistent constraint contains continue contributors convert cross current current_date current_time current_timestamp current_user cursor data database databases day_hour day_microsecond day_minute day_second deallocate dec declare default delay_key_write delayed delimiter des_key_file describe deterministic dev_pop dev_samp deviance diagnostics directory disable discard distinctrow div dual dumpfile each elseif enable enclosed end ends engine engines enum errors escape escaped even event events every execute exists exit explain extended fast fetch field fields first flush for force foreign found_rows full fulltext function general generated get global grant grants group group_concat handler hard hash help high_priority hosts hour_microsecond hour_minute hour_second if ignore ignore_server_ids import index index_statistics infile inner innodb inout insensitive insert_method install interval invoker isolation iterate key keys kill language last leading leave left level limit linear lines list load local localtime localtimestamp lock logs low_priority master master_heartbeat_period master_ssl_verify_server_cert masters match max max_rows maxvalue message_text middleint migrate min min_rows minute_microsecond minute_second mod mode modifies modify mutex mysql_errno natural next no no_write_to_binlog offline offset one online open optimize option optionally out outer outfile pack_keys parser partition partitions password persistent phase plugin plugins prepare preserve prev primary privileges procedure processlist profile profiles purge query quick range read read_write reads real rebuild recover references regexp relaylog release remove rename reorganize repair repeatable replace require resignal restrict resume return returns revoke right rlike rollback rollup row row_format rtree savepoint schedule schema schema_name schemas second_microsecond security sensitive separator serializable server session share show shutdown signal slave slow smallint snapshot soft soname spatial specific sql sql_big_result sql_buffer_result sql_cache sql_calc_found_rows sql_no_cache sql_small_result sqlexception sqlstate sqlwarning ssl start starting starts status std stddev stddev_pop stddev_samp storage straight_join subclass_origin sum suspend table_name table_statistics tables tablespace temporary terminated to trailing transaction trigger triggers truncate uncommitted undo uninstall unique unlock upgrade usage use use_frm user user_resources user_statistics using utc_date utc_time utc_timestamp value variables varying view views virtual warnings when while with work write xa xor year_month zerofill begin do then else loop repeat"),builtin:M("bool boolean bit blob decimal double float long longblob longtext medium mediumblob mediumint mediumtext time timestamp tinyblob tinyint tinytext text bigint int int1 int2 int3 int4 int8 integer float float4 float8 double char varbinary varchar varcharacter precision date datetime year unsigned signed numeric"),atoms:M("false true null unknown"),operatorChars:/^[*+\-%<>!=&|^]/,dateSQL:M("date time timestamp"),support:M("ODBCdotTable decimallessFloat zerolessFloat binaryNumber hexNumber doubleQuote nCharCast charsetCast commentHash commentSpaceRequired"),hooks:{"@":Ni,"`":mh,"\\":$g}}),gC=je({client:M("auth backup bail binary changes check clone databases dbinfo dump echo eqp exit explain fullschema headers help import imposter indexes iotrace limit lint load log mode nullvalue once open output print prompt quit read restore save scanstats schema separator session shell show stats system tables testcase timeout timer trace vfsinfo vfslist vfsname width"),keywords:M(Fi+"abort action add after all analyze attach autoincrement before begin cascade case cast check collate column commit conflict constraint cross current_date current_time current_timestamp database default deferrable deferred detach each else end escape except exclusive exists explain fail for foreign full glob if ignore immediate index indexed initially inner instead intersect isnull key left limit match natural no notnull null of offset outer plan pragma primary query raise recursive references regexp reindex release rename replace restrict right rollback row savepoint temp temporary then to transaction trigger unique using vacuum view virtual when with without"),builtin:M("bool boolean bit blob decimal double float long longblob longtext medium mediumblob mediumint mediumtext time timestamp tinyblob tinyint tinytext text clob bigint int int2 int8 integer float double char varchar date datetime year unsigned signed numeric real"),atoms:M("null current_date current_time current_timestamp"),operatorChars:/^[*+\-%<>!=&|/~]/,dateSQL:M("date time timestamp datetime"),support:M("decimallessFloat zerolessFloat"),identifierQuote:'"',hooks:{"@":Ni,":":Ni,"?":Ni,$:Ni,'"':xP,"`":mh}}),QC=je({client:{},keywords:M("add all allow alter and any apply as asc authorize batch begin by clustering columnfamily compact consistency count create custom delete desc distinct drop each_quorum exists filtering from grant if in index insert into key keyspace keyspaces level limit local_one local_quorum modify nan norecursive nosuperuser not of on one order password permission permissions primary quorum rename revoke schema select set storage superuser table three to token truncate ttl two type unlogged update use user users using values where with writetime"),builtin:M("ascii bigint blob boolean counter decimal double float frozen inet int list map static text timestamp timeuuid tuple uuid varchar varint"),atoms:M("false true infinity NaN"),operatorChars:/^[<>=]/,dateSQL:{},support:M("commentSlashSlash decimallessFloat"),hooks:{}}),bC=je({client:M("appinfo arraysize autocommit autoprint autorecovery autotrace blockterminator break btitle cmdsep colsep compatibility compute concat copycommit copytypecheck define describe echo editfile embedded escape exec execute feedback flagger flush heading headsep instance linesize lno loboffset logsource long longchunksize markup native newpage numformat numwidth pagesize pause pno recsep recsepchar release repfooter repheader serveroutput shiftinout show showmode size spool sqlblanklines sqlcase sqlcode sqlcontinue sqlnumber sqlpluscompatibility sqlprefix sqlprompt sqlterminator suffix tab term termout time timing trimout trimspool ttitle underline verify version wrap"),keywords:M("abort accept access add all alter and any array arraylen as asc assert assign at attributes audit authorization avg base_table begin between binary_integer body boolean by case cast char char_base check close cluster clusters colauth column comment commit compress connect connected constant constraint crash create current currval cursor data_base database date dba deallocate debugoff debugon decimal declare default definition delay delete desc digits dispose distinct do drop else elseif elsif enable end entry escape exception exception_init exchange exclusive exists exit external fast fetch file for force form from function generic goto grant group having identified if immediate in increment index indexes indicator initial initrans insert interface intersect into is key level library like limited local lock log logging long loop master maxextents maxtrans member minextents minus mislabel mode modify multiset new next no noaudit nocompress nologging noparallel not nowait number_base object of off offline on online only open option or order out package parallel partition pctfree pctincrease pctused pls_integer positive positiven pragma primary prior private privileges procedure public raise range raw read rebuild record ref references refresh release rename replace resource restrict return returning returns reverse revoke rollback row rowid rowlabel rownum rows run savepoint schema segment select separate session set share snapshot some space split sql start statement storage subtype successful synonym tabauth table tables tablespace task terminate then to trigger truncate type union unique unlimited unrecoverable unusable update use using validate value values variable view views when whenever where while with work"),builtin:M("abs acos add_months ascii asin atan atan2 average bfile bfilename bigserial bit blob ceil character chartorowid chr clob concat convert cos cosh count dec decode deref dual dump dup_val_on_index empty error exp false float floor found glb greatest hextoraw initcap instr instrb int integer isopen last_day least length lengthb ln lower lpad ltrim lub make_ref max min mlslabel mod months_between natural naturaln nchar nclob new_time next_day nextval nls_charset_decl_len nls_charset_id nls_charset_name nls_initcap nls_lower nls_sort nls_upper nlssort no_data_found notfound null number numeric nvarchar2 nvl others power rawtohex real reftohex round rowcount rowidtochar rowtype rpad rtrim serial sign signtype sin sinh smallint soundex sqlcode sqlerrm sqrt stddev string substr substrb sum sysdate tan tanh to_char text to_date to_label to_multi_byte to_number to_single_byte translate true trunc uid unlogged upper user userenv varchar varchar2 variance varying vsize xml"),operatorChars:/^[*\/+\-%<>!=~]/,dateSQL:M("date time timestamp"),support:M("doubleQuote nCharCast zerolessFloat binaryNumber hexNumber")}),SC=je({keywords:M("select alter $elem$ $key$ $value$ add after all analyze and archive as asc before between binary both bucket buckets by cascade case cast change cluster clustered clusterstatus collection column columns comment compute concatenate continue create cross cursor data database databases dbproperties deferred delete delimited desc describe directory disable distinct distribute drop else enable end escaped exclusive exists explain export extended external fetch fields fileformat first format formatted from full function functions grant group having hold_ddltime idxproperties if import in index indexes inpath inputdriver inputformat insert intersect into is items join keys lateral left like limit lines load local location lock locks mapjoin materialized minus msck no_drop nocompress not of offline on option or order out outer outputdriver outputformat overwrite partition partitioned partitions percent plus preserve procedure purge range rcfile read readonly reads rebuild recordreader recordwriter recover reduce regexp rename repair replace restrict revoke right rlike row schema schemas semi sequencefile serde serdeproperties set shared show show_database sort sorted ssl statistics stored streamtable table tables tablesample tblproperties temporary terminated textfile then tmp to touch transform trigger unarchive undo union uniquejoin unlock update use using utc utc_tmestamp view when where while with admin authorization char compact compactions conf cube current current_date current_timestamp day decimal defined dependency directories elem_type exchange file following for grouping hour ignore inner interval jar less logical macro minute month more none noscan over owner partialscan preceding pretty principals protection reload rewrite role roles rollup rows second server sets skewed transactions truncate unbounded unset uri user values window year"),builtin:M("bool boolean long timestamp tinyint smallint bigint int float double date datetime unsigned string array struct map uniontype key_type utctimestamp value_type varchar"),atoms:M("false true null unknown"),operatorChars:/^[*+\-%<>!=]/,dateSQL:M("date timestamp"),support:M("ODBCdotTable doubleQuote binaryNumber hexNumber")}),yC=je({client:M("source"),keywords:M(Fi+"a abort abs absent absolute access according action ada add admin after aggregate alias all allocate also alter always analyse analyze and any are array array_agg array_max_cardinality as asc asensitive assert assertion assignment asymmetric at atomic attach attribute attributes authorization avg backward base64 before begin begin_frame begin_partition bernoulli between bigint binary bit bit_length blob blocked bom boolean both breadth by c cache call called cardinality cascade cascaded case cast catalog catalog_name ceil ceiling chain char char_length character character_length character_set_catalog character_set_name character_set_schema characteristics characters check checkpoint class class_origin clob close cluster coalesce cobol collate collation collation_catalog collation_name collation_schema collect column column_name columns command_function command_function_code comment comments commit committed concurrently condition condition_number configuration conflict connect connection connection_name constant constraint constraint_catalog constraint_name constraint_schema constraints constructor contains content continue control conversion convert copy corr corresponding cost count covar_pop covar_samp create cross csv cube cume_dist current current_catalog current_date current_default_transform_group current_path current_role current_row current_schema current_time current_timestamp current_transform_group_for_type current_user cursor cursor_name cycle data database datalink datatype date datetime_interval_code datetime_interval_precision day db deallocate debug dec decimal declare default defaults deferrable deferred defined definer degree delete delimiter delimiters dense_rank depends depth deref derived desc describe descriptor detach detail deterministic diagnostics dictionary disable discard disconnect dispatch distinct dlnewcopy dlpreviouscopy dlurlcomplete dlurlcompleteonly dlurlcompletewrite dlurlpath dlurlpathonly dlurlpathwrite dlurlscheme dlurlserver dlvalue do document domain double drop dump dynamic dynamic_function dynamic_function_code each element else elseif elsif empty enable encoding encrypted end end_frame end_partition endexec enforced enum equals errcode error escape event every except exception exclude excluding exclusive exec execute exists exit exp explain expression extension external extract false family fetch file filter final first first_value flag float floor following for force foreach foreign fortran forward found frame_row free freeze from fs full function functions fusion g general generated get global go goto grant granted greatest group grouping groups handler having header hex hierarchy hint hold hour id identity if ignore ilike immediate immediately immutable implementation implicit import in include including increment indent index indexes indicator info inherit inherits initially inline inner inout input insensitive insert instance instantiable instead int integer integrity intersect intersection interval into invoker is isnull isolation join k key key_member key_type label lag language large last last_value lateral lead leading leakproof least left length level library like like_regex limit link listen ln load local localtime localtimestamp location locator lock locked log logged loop lower m map mapping match matched materialized max max_cardinality maxvalue member merge message message_length message_octet_length message_text method min minute minvalue mod mode modifies module month more move multiset mumps name names namespace national natural nchar nclob nesting new next nfc nfd nfkc nfkd nil no none normalize normalized not nothing notice notify notnull nowait nth_value ntile null nullable nullif nulls number numeric object occurrences_regex octet_length octets of off offset oids old on only open operator option options or order ordering ordinality others out outer output over overlaps overlay overriding owned owner p pad parallel parameter parameter_mode parameter_name parameter_ordinal_position parameter_specific_catalog parameter_specific_name parameter_specific_schema parser partial partition pascal passing passthrough password path percent percent_rank percentile_cont percentile_disc perform period permission pg_context pg_datatype_name pg_exception_context pg_exception_detail pg_exception_hint placing plans pli policy portion position position_regex power precedes preceding precision prepare prepared preserve primary print_strict_params prior privileges procedural procedure procedures program public publication query quote raise range rank read reads real reassign recheck recovery recursive ref references referencing refresh regr_avgx regr_avgy regr_count regr_intercept regr_r2 regr_slope regr_sxx regr_sxy regr_syy reindex relative release rename repeatable replace replica requiring reset respect restart restore restrict result result_oid return returned_cardinality returned_length returned_octet_length returned_sqlstate returning returns reverse revoke right role rollback rollup routine routine_catalog routine_name routine_schema routines row row_count row_number rows rowtype rule savepoint scale schema schema_name schemas scope scope_catalog scope_name scope_schema scroll search second section security select selective self sensitive sequence sequences serializable server server_name session session_user set setof sets share show similar simple size skip slice smallint snapshot some source space specific specific_name specifictype sql sqlcode sqlerror sqlexception sqlstate sqlwarning sqrt stable stacked standalone start state statement static statistics stddev_pop stddev_samp stdin stdout storage strict strip structure style subclass_origin submultiset subscription substring substring_regex succeeds sum symmetric sysid system system_time system_user t table table_name tables tablesample tablespace temp template temporary text then ties time timestamp timezone_hour timezone_minute to token top_level_count trailing transaction transaction_active transactions_committed transactions_rolled_back transform transforms translate translate_regex translation treat trigger trigger_catalog trigger_name trigger_schema trim trim_array true truncate trusted type types uescape unbounded uncommitted under unencrypted union unique unknown unlink unlisten unlogged unnamed unnest until untyped update upper uri usage use_column use_variable user user_defined_type_catalog user_defined_type_code user_defined_type_name user_defined_type_schema using vacuum valid validate validator value value_of values var_pop var_samp varbinary varchar variable_conflict variadic varying verbose version versioning view views volatile warning when whenever where while whitespace width_bucket window with within without work wrapper write xml xmlagg xmlattributes xmlbinary xmlcast xmlcomment xmlconcat xmldeclaration xmldocument xmlelement xmlexists xmlforest xmliterate xmlnamespaces xmlparse xmlpi xmlquery xmlroot xmlschema xmlserialize xmltable xmltext xmlvalidate year yes zone"),builtin:M("bigint int8 bigserial serial8 bit varying varbit boolean bool box bytea character char varchar cidr circle date double precision float8 inet integer int int4 interval json jsonb line lseg macaddr macaddr8 money numeric decimal path pg_lsn point polygon real float4 smallint int2 smallserial serial2 serial serial4 text time without zone with timetz timestamp timestamptz tsquery tsvector txid_snapshot uuid xml"),atoms:M("false true null unknown"),operatorChars:/^[*\/+\-%<>!=&|^\/#@?~]/,backslashStringEscapes:!1,dateSQL:M("date time timestamp"),support:M("ODBCdotTable decimallessFloat zerolessFloat binaryNumber hexNumber nCharCast charsetCast escapeConstant")}),kC=je({keywords:M("ancestor and asc by contains desc descendant distinct from group has in is limit offset on order select superset where"),atoms:M("false true"),builtin:M("blob datetime first key __key__ string integer double boolean null"),operatorChars:/^[*+\-%<>!=]/}),xC=je({client:M("source"),keywords:M("abort absolute access action active add admin after aggregate all also alter always analyse analyze and any array as asc assertion assignment asymmetric at authorization backward before begin between bigint binary bit boolean both by cache called cascade cascaded case cast chain char character characteristics check checkpoint class close cluster coalesce codegen collate column comment commit committed concurrency concurrently configuration connection constraint constraints contains content continue conversion copy cost cpu_rate_limit create createdb createexttable createrole createuser cross csv cube current current_catalog current_date current_role current_schema current_time current_timestamp current_user cursor cycle data database day deallocate dec decimal declare decode default defaults deferrable deferred definer delete delimiter delimiters deny desc dictionary disable discard distinct distributed do document domain double drop dxl each else enable encoding encrypted end enum errors escape every except exchange exclude excluding exclusive execute exists explain extension external extract false family fetch fields filespace fill filter first float following for force foreign format forward freeze from full function global grant granted greatest group group_id grouping handler hash having header hold host hour identity if ignore ilike immediate immutable implicit in including inclusive increment index indexes inherit inherits initially inline inner inout input insensitive insert instead int integer intersect interval into invoker is isnull isolation join key language large last leading least left level like limit list listen load local localtime localtimestamp location lock log login mapping master match maxvalue median merge minute minvalue missing mode modifies modify month move name names national natural nchar new newline next no nocreatedb nocreateexttable nocreaterole nocreateuser noinherit nologin none noovercommit nosuperuser not nothing notify notnull nowait null nullif nulls numeric object of off offset oids old on only operator option options or order ordered others out outer over overcommit overlaps overlay owned owner parser partial partition partitions passing password percent percentile_cont percentile_disc placing plans position preceding precision prepare prepared preserve primary prior privileges procedural procedure protocol queue quote randomly range read readable reads real reassign recheck recursive ref references reindex reject relative release rename repeatable replace replica reset resource restart restrict returning returns revoke right role rollback rollup rootpartition row rows rule savepoint scatter schema scroll search second security segment select sequence serializable session session_user set setof sets share show similar simple smallint some split sql stable standalone start statement statistics stdin stdout storage strict strip subpartition subpartitions substring superuser symmetric sysid system table tablespace temp template temporary text then threshold ties time timestamp to trailing transaction treat trigger trim true truncate trusted type unbounded uncommitted unencrypted union unique unknown unlisten until update user using vacuum valid validation validator value values varchar variadic varying verbose version view volatile web when where whitespace window with within without work writable write xml xmlattributes xmlconcat xmlelement xmlexists xmlforest xmlparse xmlpi xmlroot xmlserialize year yes zone"),builtin:M("bigint int8 bigserial serial8 bit varying varbit boolean bool box bytea character char varchar cidr circle date double precision float float8 inet integer int int4 interval json jsonb line lseg macaddr macaddr8 money numeric decimal path pg_lsn point polygon real float4 smallint int2 smallserial serial2 serial serial4 text time without zone with timetz timestamp timestamptz tsquery tsvector txid_snapshot uuid xml"),atoms:M("false true null unknown"),operatorChars:/^[*+\-%<>!=&|^\/#@?~]/,dateSQL:M("date time timestamp"),support:M("ODBCdotTable decimallessFloat zerolessFloat binaryNumber hexNumber nCharCast charsetCast")}),wC=je({keywords:M("add after all alter analyze and anti archive array as asc at between bucket buckets by cache cascade case cast change clear cluster clustered codegen collection column columns comment commit compact compactions compute concatenate cost create cross cube current current_date current_timestamp database databases data dbproperties defined delete delimited deny desc describe dfs directories distinct distribute drop else end escaped except exchange exists explain export extended external false fields fileformat first following for format formatted from full function functions global grant group grouping having if ignore import in index indexes inner inpath inputformat insert intersect interval into is items join keys last lateral lazy left like limit lines list load local location lock locks logical macro map minus msck natural no not null nulls of on optimize option options or order out outer outputformat over overwrite partition partitioned partitions percent preceding principals purge range recordreader recordwriter recover reduce refresh regexp rename repair replace reset restrict revoke right rlike role roles rollback rollup row rows schema schemas select semi separated serde serdeproperties set sets show skewed sort sorted start statistics stored stratify struct table tables tablesample tblproperties temp temporary terminated then to touch transaction transactions transform true truncate unarchive unbounded uncache union unlock unset use using values view when where window with"),builtin:M("tinyint smallint int bigint boolean float double string binary timestamp decimal array map struct uniontype delimited serde sequencefile textfile rcfile inputformat outputformat"),atoms:M("false true null"),operatorChars:/^[*\/+\-%<>!=~&|^]/,dateSQL:M("date time timestamp"),support:M("ODBCdotTable doubleQuote zerolessFloat")}),PC=je({client:M("source"),keywords:M("alter and as asc between by count create delete desc distinct drop from group having in insert into is join like not on or order select set table union update values where limit after all and as at asc avedev avg between by case cast coalesce count create current_timestamp day days delete define desc distinct else end escape events every exists false first from full group having hour hours in inner insert instanceof into irstream is istream join last lastweekday left limit like max match_recognize matches median measures metadatasql min minute minutes msec millisecond milliseconds not null offset on or order outer output partition pattern prev prior regexp retain-union retain-intersection right rstream sec second seconds select set some snapshot sql stddev sum then true unidirectional until update variable weekday when where window"),builtin:{},atoms:M("false true null"),operatorChars:/^[*+\-%<>!=&|^\/#@?~]/,dateSQL:M("time"),support:M("decimallessFloat zerolessFloat binaryNumber hexNumber")});var Cg={name:"toml",startState:function(){return{inString:!1,stringType:"",lhs:!0,inArray:0}},token:function(i,e){let t;if(!e.inString&&(t=i.match(/^('''|"""|'|")/))&&(e.stringType=t[0],e.inString=!0),i.sol()&&!e.inString&&e.inArray===0&&(e.lhs=!0),e.inString){for(;e.inString;)if(i.match(e.stringType))e.inString=!1;else if(i.peek()==="\\")i.next(),i.next();else{if(i.eol())break;i.match(/^.[^\\\"\']*/)}return e.lhs?"property":"string"}else{if(e.inArray&&i.peek()==="]")return i.next(),e.inArray--,"bracket";if(e.lhs&&i.peek()==="["&&i.skipTo("]"))return i.next(),i.peek()==="]"&&i.next(),"atom";if(i.peek()==="#")return i.skipToEnd(),"comment";if(i.eatSpace())return null;if(e.lhs&&i.eatWhile(function(n){return n!="="&&n!=" "}))return"property";if(e.lhs&&i.peek()==="=")return i.next(),e.lhs=!1,null;if(!e.lhs&&i.match(/^\d\d\d\d[\d\-\:\.T]*Z/))return"atom";if(!e.lhs&&(i.match("true")||i.match("false")))return"atom";if(!e.lhs&&i.peek()==="[")return e.inArray++,i.next(),"bracket";if(!e.lhs&&i.match(/^\-?\d+(?:\.\d+)?/))return"number";i.eatSpace()||i.next()}return null},languageData:{commentTokens:{line:"#"}}};var wP=Qe({"for in if else endfor endif":d.controlKeyword,"Attribute/Identifier":d.definition(d.propertyName),"ForIntro/Identifier":d.definition(d.propertyName),"Block/Identifier":d.definitionKeyword,"FunctionCall/Identifier":d.function(d.variableName),"Attribute/Expression":d.attributeValue,"VariableExpr/Identifier":d.variableName,"GetAttr/Identifier":d.variableName,Identifier:d.name,"LiteralValue/...":d.literal,"StringLit/... TemplateLiteral":d.string,NumericLit:d.number,BoolLit:d.bool,NullLit:d.null,Comment:d.comment,LineComment:d.lineComment,BlockComment:d.blockComment,"( )":d.paren,"{ }":d.bracket,"[ ]":d.squareBracket,ArithOp:d.arithmeticOperator,LogicOp:d.logicOperator,CompareOp:d.compareOperator,ControlOp:d.controlOperator,HeredocIdentifier:d.special(d.controlKeyword),HeredocStart:d.special(d.brace),"TemplateInterpolationStart TemplateInterpolationEnd":d.special(d.brace),"TemplateDirectiveStart TemplateDirectiveEnd":d.special(d.brace),StripMarker:d.special(d.brace),Ellipsis:d.punctuation,": =>":d.punctuation,",":d.separator}),gh=1,Qh=2,bh=3,Sh=4,yh=5,kh=6,An=7,Ze=93,Ce={QUOTED_TEMPLATE:1,TEMPLATE_INTERPOLATION:2,TEMPLATE_DIRECTIVE:4,HEREDOC_TEMPLATE:8},PP=function(i){var e=0,t,n;if(i.length===0)return e;for(t=0;t{if(e.canShift(gh)&&!(e.context&&e.context.type===Ce.QUOTED_TEMPLATE)&&String.fromCharCode(i.next)==='"')return i.advance(),i.acceptToken(gh)},{contextual:!0,fallback:!0}),CP=new J((i,e)=>{if(e.canShift(Qh)&&e.context&&e.context.type===Ce.QUOTED_TEMPLATE&&String.fromCharCode(i.next)==='"')return i.advance(),i.acceptToken(Qh)},{contextual:!0,fallback:!0}),XP=new J((i,e)=>{if(e.canShift(Ze)&&e.context&&e.context.type===Ce.QUOTED_TEMPLATE)switch(String.fromCharCode(i.next)){case"\\":switch(i.advance(),String.fromCharCode(i.next)){case'"':case"n":case"r":case"t":case"\\":return i.advance(),i.acceptToken(Ze);case"u":for(let t=0;t<4;t++)if(i.advance(),!/[0-9a-fA-F]/.test(String.fromCharCode(i.next)))return;return i.advance(),i.acceptToken(Ze);case"U":for(let t=0;t<8;t++)if(i.advance(),!/[0-9a-fA-F]/.test(String.fromCharCode(i.next)))return;return i.advance(),i.acceptToken(Ze);default:return}}if(e.canShift(Ze)&&e.context&&(e.context.type===Ce.QUOTED_TEMPLATE||e.context.type===Ce.HEREDOC_TEMPLATE)&&i.next!==-1)return i.advance(),i.acceptToken(Ze)},{contextual:!0,fallback:!0}),_P=new J((i,e)=>{if(e.canShift(bh)&&e.canShift(Ze)&&!(e.context&&e.context.type===Ce.TEMPLATE_INTERPOLATION)&&String.fromCharCode(i.next)==="$")return i.advance(),String.fromCharCode(i.next)==="{"?(i.advance(),i.acceptToken(bh)):(String.fromCharCode(i.next)==="$"&&(i.advance(),String.fromCharCode(i.next)==="{")&&i.advance(),i.acceptToken(Ze))},{contextual:!0,fallback:!0}),RP=new J((i,e)=>{if(e.canShift(Sh)&&e.context&&e.context.type===Ce.TEMPLATE_INTERPOLATION&&String.fromCharCode(i.next)==="}")return i.advance(),i.acceptToken(Sh)},{contextual:!0,fallback:!0}),AP=new J((i,e)=>{if(e.canShift(yh)&&e.canShift(Ze)&&!(e.context&&e.context.type===Ce.TEMPLATE_DIRECTIVE)&&String.fromCharCode(i.next)==="%")return i.advance(),String.fromCharCode(i.next)==="{"?(i.advance(),i.acceptToken(yh)):(String.fromCharCode(i.next)==="%"&&(i.advance(),String.fromCharCode(i.next)==="{")&&i.advance(),i.acceptToken(Ze))},{contextual:!0,fallback:!0}),ZP=new J((i,e)=>{if(e.canShift(kh)&&e.context&&e.context.type===Ce.TEMPLATE_DIRECTIVE&&String.fromCharCode(i.next)==="}")return i.advance(),i.acceptToken(kh)},{contextual:!0,fallback:!0}),EP=new J((i,e)=>{if(e.canShift(An)&&!(e.context&&e.context.type===Ce.HEREDOC_TEMPLATE)&&i.next!==-1){let t=String.fromCharCode(i.next);for(;/[0-9a-zA-Z]/.test(t)||t==="_"||t==="-";)i.advance(),t=String.fromCharCode(i.next);return i.acceptToken(An)}if(e.canShift(An)&&e.canShift(Ze)&&e.context&&e.context.type===Ce.HEREDOC_TEMPLATE&&i.next!=-1){let t=e.context.heredoc_identifier,n=!1,r=!1,s=String.fromCharCode(i.next);for(;/\s/.test(s);)r=!0,s===` -`&&(n=!0),i.advance(),s=String.fromCharCode(i.next);if(r&&i.acceptToken(Ze),!n)return;let o=0;for(let l=0;lbQ&jO,5:fOOQy,5:h,5:hPOQy'#EY'#EYPOQy,5:j,5:jPOQy,5:k,5:kOOQy1G0g1G0gOOQO7+%u7+%uO>jQ&jO7+%uOOQ%n,5:|,5:|OOQ%n1G.}1G.}O>oQ&rO1G.}O>tQ&rO1G.}OOQ%n1G/Q1G/QO?PQ&jO,59jO?[Q'[O,59jOOQ%n1G/W1G/WO1tQ)tO1G/WO?dQ&jO'#DVO1tQ)tO1G/WO?rQ&jO,59oO@QQ'[O,59oO@YQ'[O,59qO@bQ&jO1G/RO@jQ&jO1G/RO$yQ&kO1G/XO@oQ'[O1G/XOOQy7+$y7+$yO@zQ&jO,5:rOA]Q&kO1G0lOOQO-E8U-E8UOOQy7+%[7+%[OAdQ&jO7+%[O$yQ&kO'#DlO$yQ&kO1G/qOAiQ&jO1G/qOOQP'#ES'#ESO$yQ&kO7+%rP$yQ&kO'#EXO$yQ&kO7+%_OAnQ&kO,5:ROAuQ&jO,5:ROOQO,5:R,5:ROOQy7+%V7+%VOOQy1G0Q1G0QPOQy-E8W-E8WOOQO<eAN>eOKmQ&jOAN>eOKrQ&jOAN>eOOQ%n<cOOQyG24PG24POLiQ&jOG24POOQ$YG23_G23_OLnQ'[OG23_OLyQ'[OG23_O$yQ&kOG23_OOQPG23}G23}OOQyLD)kLD)kOOQ$YLD(yLD(yOMOQ'[OLD(yOMTQ'[OLD(yOOQ$Y!$'Le!$'LeOM`Q'[O!$'LeOOQ$Y!)9BP!)9BPO-wQ&kO'#DoO/TQ&kO'#DoOMeQ&kO'#CkO-wQ&kO,5:^O/TQ&kO,5:^O-wQ&kO,5:^O/TQ&kO,5:^O-wQ&kO,5:^O/TQ&kO,5:^O-wQ&kO,5:^O/TQ&kO,5:^O-wQ&kO,5:^O/TQ&kO,5:^O-wQ&kO,5:^O/TQ&kO,5:^ON[Q&kO1G/xO! XQ&kO1G/xO!!UQ&kO1G/xO!%UQ&kO1G/xO!%]Q&kO1G/xO-wQ&kO7+%rO/TQ&kO7+%rO4uQ&jO1G0WO4uQ&jO1G0WO$yQ&kO,5:lO$yQ&kO,5:l",stateData:"!%l~O#ROSXPQYPQ~O^RO!SQO~OXVOYVO~OPZO^gOa[OcXOdXOfYO!P`O!RdO!ScO!YoO#W]O#X]O#^iO#_jO~OPqO^sO!SuO#SrO~O^RO#O[X!R[X~OQ!PORyOT!QO#PwO~OV!RO~OPZO^gOa[OcXOdXOfYOp!WO!P`O!ScO!YoO#W]O#X]O#^iO#_jO~O!O!TO~P#iO#S!XO#[!XO#o!YO~OPZO^gOa[OcXOdXOfYO!P`O!ScO!YoO#W]O#X]O#^iO#_jO~O#V!]O!R#ZX~P$yOp!WO~PmO!R!`O~O!Y!aO!P!VX!o!VX#^!VX#`!VX#a!VX#b!VX#c!VX#d!VX#e!VX#f!VX#g!VX#h!VX#i!VX#j!VX#k!VX#l!VX#m!VX#n!VX#o!VX~O#S!VX#[!VX!O!VX#V!VX!W!VX^!VX#O!VXS!VXl!VXv!VX![!VXU!VX!R!VX~P&[O!o!pO#^!dO#`!cO#a!cO#b!cO#c!dO#d!eO#e!eO#f!eO#g!eO#h!fO#i!fO#j!gO#k!hO#l!qO#m!rO#n!sO#o_X#V_X^_X!R_X~O!P!oO#S_X#[_X!O_X!W_X#O_XS_Xl_Xv_X![_XU_X~P(iOPqO^sO!S!zO~O^RO!R!{O~O#P!}OQ#UPR#UPT#UPV#UP~OQ#POR!yXT!yX#P!yX~OS#QOl#RO~P$yORyOT#VO#PwO~ORyOT#ZO#PwO~OQ#]ORyOT!QO#PwO~Ol#_Op#^Ov#`O~ORyOT!QOV#bO#PwO~O#V#cO#o!YO!O#YX~O!O#eO~O^#gO~OPZO^#iOa[OcXOdXOfYO!P`O!ScO!YoO#W]O#X]O#^iO#_jO~O!R#Za~P$yO#V#lO!R#Za~P$yOPZO^#nOa[OcXOdXOfYO!P`O!ScO!YoO#W]O#X]O#^iO#_jO~O!W#rO~P$yO^#{O~O!W$PO#o!YO~OQ#PO~O#o!YO^]i#O]i!R]i~O^RO!R$QO~OS$TOl$UO~P$yOS$TOl$UO#o!YO~Ol$XOp#^Os$YOv#`O~ORyOT$]O#PwO~Ol$_Op#^Ov#`Ox$`Oz$aO~O^$bO~Op$cOv$dO~ORyOT!QOV$fO#PwO~O!O#Ya~P$yO#V$hO!O#Ya~Ov$lO!O$jO#o!YO~Oq$mO#V$nO~O#o!YOP!Ui^!Uia!Uic!Uid!Uif!Ui!P!Ui!R!Ui!S!Ui!Y!Ui#V!Ui#W!Ui#X!Ui#^!Ui#_!Ui~O#[$oO#o!YO~O!R#Zi~P$yO#]!VX~P&[O#]$rO#o!YO~O!o!pO#^!dO#`!cO#a!cO#b!cO#c!dO#d!eO#e!eO#f!eO#g!eO#h!fO#i!fO#j!gO#k!hO#l!qO#m!rO#n!sO#o_X~O!P!oO#]_X~P5eO![$uO#V$sO#o!YO!W!ZX~O!W$vO~O#`!cO#a!cO#b!cO!P!fi!o!fi#S!fi#[!fi#d!fi#e!fi#f!fi#g!fi#h!fi#i!fi#j!fi#k!fi#l!fi#m!fi#n!fi#o!fi!O!fi#V!fi!W!fi^!fi#O!fiS!fil!fiv!fi![!fiU!fi!R!fi~O#^!fi#c!fi~P7^O#^!dO#c!dO~P7^O#^!dO#`!cO#a!cO#b!cO#c!dO#d!eO#e!eO#f!eO#g!eO!P!fi!o!fi#S!fi#[!fi#j!fi#k!fi#l!fi#m!fi#n!fi#o!fi!O!fi#V!fi!W!fi^!fi#O!fiS!fil!fiv!fi![!fiU!fi!R!fi~O#h!fi#i!fi~P9rO#h!fO#i!fO~P9rO#^!dO#`!cO#a!cO#b!cO#c!dO#d!eO#e!eO#f!eO#g!eO#h!fO#i!fO#j!gO!P!fi!o!fi#k!fi#l!fi#m!fi#n!fi#o!fi#V!fi^!fi!R!fi~O#S!fi#[!fi!O!fi!W!fi#O!fiS!fil!fiv!fi![!fiU!fi~PqP[i]||-1}],tokenPrec:2320}),LP=$e.define({parser:zP.configure({props:[we.add({Block:St({closing:"}",align:!1})}),Te.add({"Object Tuple TemplateFor TemplateIf":ht,BlockComment:i=>({from:i.from+2,to:i.to-2}),HeredocTemplate(i){let e=i.getChild("HeredocIdentifier");return e?{from:e.to,to:i.to}:null},FunctionCall(i){let e=i.getChild("("),t=i.getChild(")");return!e||!t?null:{from:e.from+1,to:t.to-1}},Block(i){let e=i.getChild("{"),t=i.getChild("}");return!e||!t?null:{from:e.from+1,to:t.to-1}}}),wP]}),languageData:{commentTokens:{line:"#",block:{open:"/*",close:"*/"}}}});function Xg(){return new me(LP)}function MP(i){let e=i.trim();if(!e)return"";if(/^#!.*\b(?:ba)?sh\b|^\s*\$\s+/.test(e))return"bash";if(e.startsWith("{")&&e.endsWith("}")||e.startsWith("[")&&e.endsWith("]"))try{return JSON.parse(e),"json"}catch{}return/^\s*(?:|(?:using\s+namespace\s+std|std::\w+|(?:cout|cin)\s*(?:<<|>>))\b)/m.test(e)?"cpp":/^\s*(?:#\s*include\s*[<"](?:assert|ctype|errno|float|inttypes|limits|math|setjmp|signal|stdarg|stdbool|stddef|stdint|stdio|stdlib|string|time)\.h[>"]|(?:int|void)\s+main\s*\([^)]*\)\s*\{)/m.test(e)?"c":/^\s*(?:async\s+)?def\s+\w+\s*\(|^\s*from\s+\w+[\w.]*\s+import\b|^\s*class\s+\w+\s*[:(]/m.test(e)?"python":/\b(?:SELECT|INSERT|UPDATE|DELETE|CREATE\s+(?:TABLE|VIEW|INDEX)|WITH)\b[\s\S]*\b(?:FROM|INTO|WHERE|AS)\b/i.test(e)?"sql":/(?:^|\n)\s*(?:[#.]?[A-Za-z][\w-]*)\s*\{[\s\S]*:[\s\S]*\}/.test(e)||/@(?:media|keyframes|supports)\b/.test(e)?"css":/^\s*(?:const|let|var)\s+[A-Za-z_$][\w$]*\s*(?::[^=\n]+)?\s*=/m.test(e)||/\b(?:function\s+\w+\s*\(|console\.(?:log|error|warn)|=>)/.test(e)?"javascript":/^\s*(?:[-A-Za-z_][\w-]*):\s*(?:[^:#\n]|$)/m.test(e)&&!/[{};]/.test(e)?"yaml":/^\s*(?:echo|printf|export|source|cd|mkdir|rm|cp|mv)\s+/m.test(e)?"bash":""}var Ue=(i,e,t)=>Be.of({name:i,alias:e,support:new me(Zs.define(t))}),Ng=[Be.of({name:"javascript",alias:["js","jsx","ts","tsx","typescript","node"],support:so({jsx:!0,typescript:!0})}),Be.of({name:"python",alias:["py"],support:Vm()}),Be.of({name:"json",alias:["jsonc"],support:Ym()}),Be.of({name:"css",alias:["scss"],support:ro()}),Be.of({name:"html",alias:["htm","xml"],support:ao()}),Be.of({name:"hcl",alias:["terraform","tf"],support:Xg()}),Ue("swift",[],Bm),Ue("shell",["sh","bash","zsh","console"],Hm),Ue("yaml",["yml"],Km),Ue("go",["golang"],ng),Ue("ruby",["rb"],og),Ue("rust",["rs"],cg),Ue("c",["h"],Qg),Ue("cpp",["c++","cc","hpp"],bg),Ue("java",[],Sg),Ue("kotlin",["kt"],xg),Ue("objective-c",["objc","objectivec"],wg),Ue("csharp",["cs","c#"],yg),Ue("sql",[],je({})),Ue("toml",[],Cg)],WP={resolve:"Highlight",mark:"HighlightMark"},jP=/[\p{S}\p{P}]/u;function _g(i){return!i||/\s/.test(i)}function Rg(i){return!!i&&jP.test(i)}var zh={defineNodes:["Highlight","HighlightMark"],parseInline:[{name:"Highlight",parse(i,e,t){if(e!==61||i.char(t+1)!==61)return-1;let n=t;for(;n>i.offset&&i.char(n-1)===61;)n--;let r=t+2;for(;i.char(r)===61;)r++;let s=n+(r-n)%2;if(t=i.offset&&i.char(m)===92;m--)o++;if(o%2!==0)return-1;let a=i.slice(n-1,n),l=i.slice(r,r+1),c=_g(a),h=_g(l),f=Rg(a),u=Rg(l),O=!h&&(!u||c||f),p=!c&&(!f||h||u);return i.addDelimiter(WP,t,t+2,O,p)},after:"Emphasis"}]},Mr=class extends ve{constructor(e,t){super(),this.text=e,this.className=t}eq(e){return e.text===this.text&&e.className===this.className}toDOM(){let e=document.createElement("span");return e.textContent=this.text,e.className=this.className,e}ignoreEvent(){return!1}},Th=class extends ve{constructor(e,t,n,r,s){super(),this.source=e,this.alt=t,this.raw=n,this.from=r,this.to=s}eq(e){return e.source===this.source&&e.alt===this.alt&&e.raw===this.raw&&e.from===this.from&&e.to===this.to}toDOM(e){let t=document.createElement("span");t.className="cm-md-image-preview",t.setAttribute("role","figure");let n=document.createElement("img");n.src=this.source,n.alt=this.alt,n.draggable=!1,n.addEventListener("error",()=>t.classList.add("cm-md-image-error"),{once:!0});let r=document.createElement("code");r.className="cm-md-image-source",r.textContent=this.raw,r.title="Click to edit image source";let s=o=>{o.preventDefault(),o.stopPropagation(),e.focus(),e.dispatch({selection:{anchor:Math.min(this.from+2,this.to)},userEvent:"select.pointer"})};return r.addEventListener("mousedown",s),r.addEventListener("click",s),n.addEventListener("mousedown",o=>{o.preventDefault(),o.stopPropagation()}),n.addEventListener("click",o=>{o.preventDefault(),o.stopPropagation();let a=n.currentSrc||n.src;a.startsWith("md-asset:")?window.__mdRequestImageRename?.(a):s(o)}),t.append(n,r),t}ignoreEvent(){return!0}},Ch=class extends ve{eq(){return!0}toDOM(){let e=document.createElement("span");return e.className="cm-md-hr",e}ignoreEvent(){return!1}},VP=0,Xh=class extends ve{constructor(e){super(),this.source=e}eq(e){return e.source===this.source}toDOM(e){let t=document.createElement("figure");t.className="cm-md-mermaid-preview",t.setAttribute("role","img"),t.setAttribute("aria-label","Mermaid diagram. Click to edit source.");let n=document.createElement("div");n.className="cm-md-mermaid-stage",n.textContent="Rendering diagram\u2026",t.appendChild(n),t.addEventListener("mousedown",o=>{o.preventDefault(),e.focus();let a=e.posAtDOM(t);e.dispatch({selection:{anchor:a+1},userEvent:"select.pointer"})});let r=window.mermaid;if(!r||typeof r.render!="function")return n.textContent="Mermaid preview unavailable. Click to edit source.",t;let s=`md-editor-mermaid-${++VP}`;return Promise.resolve(r.render(s,this.source)).then(({svg:o})=>{n.innerHTML=o;let a=n.querySelector("svg"),l=a?.viewBox?.baseVal;a&&l?.width>0&&l?.height>0&&(t.style.setProperty("--mm-aspect",`${l.width} / ${l.height}`),a.removeAttribute("width"),a.removeAttribute("height"),a.setAttribute("preserveAspectRatio","xMidYMid meet"),a.style.width="100%",a.style.height="100%"),e.requestMeasure()}).catch(()=>{n.textContent="Unable to render Mermaid diagram. Click to edit source.",t.classList.add("cm-md-mermaid-error"),e.requestMeasure()}),t}ignoreEvent(){return!0}},Fg=new WeakMap,_h=ie.define({map:(i,e)=>e.mapPos(i,1,ge.TrackAfter)??void 0}),En=he.define({create:()=>new Set,update(i,e){if(!e.docChanged&&!e.effects.some(n=>n.is(_h)))return i;let t=new Set([...i].map(n=>e.changes.mapPos(n,1,ge.TrackAfter)).filter(n=>n!=null));for(let n of e.effects)n.is(_h)&&(t.has(n.value)?t.delete(n.value):t.add(n.value));return t}}),xh=i=>'",Xo=class extends ve{constructor(e){super(),Object.assign(this,e)}eq(e){return e.fenceFrom===this.fenceFrom&&e.infoFrom===this.infoFrom&&e.infoTo===this.infoTo&&e.rawInfo===this.rawInfo&&e.detectedLanguage===this.detectedLanguage&&e.wrapped===this.wrapped&&e.plain===this.plain}toDOM(e){let t=document.createElement("span");t.className="cm-md-code-language",t.contentEditable="false";let n=document.createElement("input");n.type="text",n.className="cm-md-code-language-input",n.autocomplete="off",n.spellcheck=!1,n.value=this.language,n.readOnly=!!this.plain,n.placeholder="language",n.setAttribute("aria-label","Code block language"),n.dataset.fenceFrom=String(this.fenceFrom);let r=this.rawInfo.match(/^\S+([\s\S]*)$/)?.[1]||"",s=n.value,o=!0,a=!1,l=()=>{if(this.plain)return;let f=n.value.trim().split(/\s+/,1)[0].toLowerCase(),u=f?f+r:"";u!==this.rawInfo&&n.value!==s&&(a=!0,e.dispatch({changes:{from:this.infoFrom,to:this.infoTo,insert:u},userEvent:"input"}))};n.addEventListener("change",l),n.addEventListener("keydown",f=>{f.stopPropagation(),f.key==="Enter"?(f.preventDefault(),l(),n.blur(),e.focus()):f.key==="Escape"&&(f.preventDefault(),o=!1,n.value=this.language,n.blur(),e.focus())}),n.addEventListener("mousedown",f=>f.stopPropagation()),n.addEventListener("click",f=>f.stopPropagation()),n.addEventListener("blur",()=>{o&&!a&&l(),a=!1,o=!0}),t.appendChild(n);let c=(f,u,O,p)=>{let m=document.createElement("button");return m.type="button",m.className=`cm-md-code-action ${O}`,m.title=f,m.setAttribute("aria-label",f),m.innerHTML=xh(u),m.addEventListener("mousedown",b=>{b.preventDefault(),b.stopPropagation()}),m.addEventListener("click",b=>{b.preventDefault(),b.stopPropagation(),p(m)}),t.appendChild(m),m};return c(this.wrapped?"Unwrap code":"Wrap code",this.wrapped?"unwrap":"wrap","cm-md-code-toggle-wrap",()=>e.dispatch({effects:_h.of(e.state.doc.lineAt(this.fenceFrom).from)})).setAttribute("aria-pressed",String(this.wrapped)),c("Copy code","copy","cm-md-code-copy",async f=>{let u=e.state.doc.lineAt(this.fenceFrom),O=U(e.state).resolve(this.plain?u.to:this.fenceFrom+1,-1);for(;O&&O.name!==(this.plain?"CodeBlock":"FencedCode");)O=O.parent;if(!O)return;let p=this.plain?O.getChildren("CodeText").map(m=>e.state.sliceDoc(m.from,m.to)).join(""):Ao(e.state,O).source;try{let m=Fg.get(e);m?m(p):await navigator.clipboard.writeText(p),f.innerHTML=xh("check"),f.title="Code copied",f.setAttribute("aria-label",f.title),clearTimeout(f.copyTimer),f.copyTimer=setTimeout(()=>{f.innerHTML=xh("copy"),f.title="Copy code",f.setAttribute("aria-label",f.title)},1100)}catch{}}),t}ignoreEvent(){return!0}};function vo(i,e=!1){let t=[],n="",r=0,s=()=>t.push({text:n.trim(),from:r+n.length-n.trimStart().length,to:r+n.trimEnd().length}),o=0,a=0;for(let c=0;cc.text)}function DP(i){let e=i.trim(),t=e.startsWith(":"),n=e.endsWith(":"),r=e.replace(/^:/,"").replace(/:$/,"");return/^-{3,}$/.test(r)?t&&n?"center":t?"left":n?"right":"none":null}function Lh(i){let e=i.endsWith(` +`,{label:"if",detail:"block",type:"keyword"}),ce("if ${}:\n ${}\nelse:\n ${}",{label:"if",detail:"/ else block",type:"keyword"}),ce("class ${name}:\n def __init__(self, ${params}):\n ${}",{label:"class",detail:"definition",type:"keyword"}),ce("import ${module}",{label:"import",detail:"statement",type:"keyword"}),ce("from ${module} import ${names}",{label:"from",detail:"import",type:"keyword"})],$w=Bs(jm,Is(Pw.concat(vw)));function nh(i){let{node:e,pos:t}=i,n=i.lineIndent(t,-1),r=null;for(;;){let s=e.childBefore(t);if(s)if(s.name=="Comment")t=s.from;else if(s.name=="Body"||s.name=="MatchBody")i.baseIndentFor(s)+i.unit<=n&&(r=s),e=s;else if(s.name=="MatchClause")e=s;else if(s.type.is("Statement"))e=s;else break;else break}return r}function rh(i,e){let t=i.baseIndentFor(e),n=i.lineAt(i.pos,-1),r=n.from+n.text.length;return/^\s*($|#)/.test(n.text)&&i.node.tot?null:t+i.unit}var sh=$e.define({name:"python",parser:qm.configure({props:[we.add({Body:i=>{var e;let t=/^\s*(#|$)/.test(i.textAfter)&&nh(i)||i.node;return(e=rh(i,t))!==null&&e!==void 0?e:i.continue()},MatchBody:i=>{var e;let t=nh(i);return(e=rh(i,t||i.node))!==null&&e!==void 0?e:i.continue()},IfStatement:i=>/^\s*(else:|elif )/.test(i.textAfter)?i.baseIndent:i.continue(),"ForStatement WhileStatement":i=>/^\s*else:/.test(i.textAfter)?i.baseIndent:i.continue(),TryStatement:i=>/^\s*(except[ :]|finally:|else:)/.test(i.textAfter)?i.baseIndent:i.continue(),MatchStatement:i=>/^\s*case /.test(i.textAfter)?i.baseIndent+i.unit:i.continue(),"TupleExpression ComprehensionExpression ParamList ArgList ParenthesizedExpression":St({closing:")"}),"DictionaryExpression DictionaryComprehensionExpression SetExpression SetComprehensionExpression":St({closing:"}"}),"ArrayExpression ArrayComprehensionExpression":St({closing:"]"}),MemberExpression:i=>i.baseIndent+i.unit,"String FormatString":()=>null,Script:i=>{var e;let t=nh(i);return(e=t&&rh(i,t))!==null&&e!==void 0?e:i.continue()}}),Te.add({"ArrayExpression DictionaryExpression SetExpression TupleExpression":ht,Body:(i,e)=>({from:i.from+1,to:i.to-(i.to==e.doc.length?0:1)}),"String FormatString":(i,e)=>({from:e.doc.lineAt(i.from).to,to:i.to})})]}),languageData:{closeBrackets:{brackets:["(","[","{","'",'"',"'''",'"""'],stringPrefixes:["f","fr","rf","r","u","b","br","rb","F","FR","RF","R","U","B","BR","RB"]},commentTokens:{line:"#"},indentOnInput:/^\s*([\}\]\)]|else:|elif |except |finally:|case\s+[^:]*:?)$/}});function Vm(){return new me(sh,[sh.data.of({autocomplete:ww}),sh.data.of({autocomplete:$w})])}var Tw=Qe({String:d.string,Number:d.number,"True False":d.bool,PropertyName:d.propertyName,Null:d.null,", :":d.separator,"[ ]":d.squareBracket,"{ }":d.brace}),Dm=Pe.deserialize({version:14,states:"$bOVQPOOOOQO'#Cb'#CbOnQPO'#CeOvQPO'#ClOOQO'#Cr'#CrQOQPOOOOQO'#Cg'#CgO}QPO'#CfO!SQPO'#CtOOQO,59P,59PO![QPO,59PO!aQPO'#CuOOQO,59W,59WO!iQPO,59WOVQPO,59QOqQPO'#CmO!nQPO,59`OOQO1G.k1G.kOVQPO'#CnO!vQPO,59aOOQO1G.r1G.rOOQO1G.l1G.lOOQO,59X,59XOOQO-E6k-E6kOOQO,59Y,59YOOQO-E6l-E6l",stateData:"#O~OeOS~OQSORSOSSOTSOWQO_ROgPO~OVXOgUO~O^[O~PVO[^O~O]_OVhX~OVaO~O]bO^iX~O^dO~O]_OVha~O]bO^ia~O",goto:"!kjPPPPPPkPPkqwPPPPk{!RPPP!XP!e!hXSOR^bQWQRf_TVQ_Q`WRg`QcZRicQTOQZRQe^RhbRYQR]R",nodeNames:"\u26A0 JsonText True False Null Number String } { Object Property PropertyName : , ] [ Array",maxTerm:25,nodeProps:[["isolate",-2,6,11,""],["openedBy",7,"{",14,"["],["closedBy",8,"}",15,"]"]],propSources:[Tw],skippedNodes:[0],repeatNodeCount:2,tokenData:"(|~RaXY!WYZ!W]^!Wpq!Wrs!]|}$u}!O$z!Q!R%T!R![&c![!]&t!}#O&y#P#Q'O#Y#Z'T#b#c'r#h#i(Z#o#p(r#q#r(w~!]Oe~~!`Wpq!]qr!]rs!xs#O!]#O#P!}#P;'S!];'S;=`$o<%lO!]~!}Og~~#QXrs!]!P!Q!]#O#P!]#U#V!]#Y#Z!]#b#c!]#f#g!]#h#i!]#i#j#m~#pR!Q![#y!c!i#y#T#Z#y~#|R!Q![$V!c!i$V#T#Z$V~$YR!Q![$c!c!i$c#T#Z$c~$fR!Q![!]!c!i!]#T#Z!]~$rP;=`<%l!]~$zO]~~$}Q!Q!R%T!R![&c~%YRT~!O!P%c!g!h%w#X#Y%w~%fP!Q![%i~%nRT~!Q![%i!g!h%w#X#Y%w~%zR{|&T}!O&T!Q![&Z~&WP!Q![&Z~&`PT~!Q![&Z~&hST~!O!P%c!Q![&c!g!h%w#X#Y%w~&yO[~~'OO_~~'TO^~~'WP#T#U'Z~'^P#`#a'a~'dP#g#h'g~'jP#X#Y'm~'rOR~~'uP#i#j'x~'{P#`#a(O~(RP#`#a(U~(ZOS~~(^P#f#g(a~(dP#i#j(g~(jP#X#Y(m~(rOQ~~(wOW~~(|OV~",tokenizers:[0],topRules:{JsonText:[0,1]},tokenPrec:0});var Cw=$e.define({name:"json",parser:Dm.configure({props:[we.add({Object:Bt({except:/^\s*\}/}),Array:Bt({except:/^\s*\]/})}),Te.add({"Object Array":ht})]}),languageData:{closeBrackets:{brackets:["[","{",'"']},indentOnInput:/^\s*[\}\]]$/}});function Ym(){return new me(Cw)}function Oo(i){for(var e={},t=0;t~^?!",Ew=":;,.(){}[]",qw=/^\-?0b[01][01_]*/,zw=/^\-?0o[0-7][0-7_]*/,Lw=/^\-?0x[\dA-Fa-f][\dA-Fa-f_]*(?:(?:\.[\dA-Fa-f][\dA-Fa-f_]*)?[Pp]\-?\d[\d_]*)?/,Mw=/^\-?\d[\d_]*(?:\.\d[\d_]*)?(?:[Ee]\-?\d[\d_]*)?/,Ww=/^\$\d+|(`?)[_A-Za-z][_A-Za-z$0-9]*\1/,jw=/^\.(?:\$\d+|(`?)[_A-Za-z][_A-Za-z$0-9]*\1)/,Vw=/^\#[A-Za-z]+/,Dw=/^@(?:\$\d+|(`?)[_A-Za-z][_A-Za-z$0-9]*\1)/;function Im(i,e,t){if(i.sol()&&(e.indented=i.indentation()),i.eatSpace())return null;var n=i.peek();if(n=="/"){if(i.match("//"))return i.skipToEnd(),"comment";if(i.match("/*"))return e.tokenize.push(oh),oh(i,e)}if(i.match(Vw))return"builtin";if(i.match(Dw))return"attribute";if(i.match(qw)||i.match(zw)||i.match(Lw)||i.match(Mw))return"number";if(i.match(jw))return"property";if(Zw.indexOf(n)>-1)return i.next(),"operator";if(Ew.indexOf(n)>-1)return i.next(),i.match(".."),"punctuation";var r;if(r=i.match(/("""|"|')/)){var s=Iw.bind(null,r[0]);return e.tokenize.push(s),s(i,e)}if(i.match(Ww)){var o=i.current();return Aw.hasOwnProperty(o)?"type":Rw.hasOwnProperty(o)?"atom":Xw.hasOwnProperty(o)?(_w.hasOwnProperty(o)&&(e.prev="define"),"keyword"):t=="define"?"def":"variable"}return i.next(),null}function Yw(){var i=0;return function(e,t,n){var r=Im(e,t,n);if(r=="punctuation"){if(e.current()=="(")++i;else if(e.current()==")"){if(i==0)return e.backUp(1),t.tokenize.pop(),t.tokenize[t.tokenize.length-1](e,t);--i}}return r}}function Iw(i,e,t){for(var n=i.length==1,r,s=!1;r=e.peek();)if(s){if(e.next(),r=="(")return t.tokenize.push(Yw()),"string";s=!1}else{if(e.match(i))return t.tokenize.pop(),"string";e.next(),s=r=="\\"}return n&&t.tokenize.pop(),"string"}function oh(i,e){for(var t;t=i.next();)if(t==="/"&&i.eat("*"))e.tokenize.push(oh);else if(t==="*"&&i.eat("/")){e.tokenize.pop();break}return"comment"}function Bw(i,e,t){this.prev=i,this.align=e,this.indented=t}function Uw(i,e){var t=e.match(/^\s*($|\/[\/\*]|[)}\]])/,!1)?null:e.column()+1;i.context=new Bw(i.context,t,i.indented)}function Gw(i){i.context&&(i.indented=i.context.indented,i.context=i.context.prev)}var Bm={name:"swift",startState:function(){return{prev:null,context:null,indented:0,tokenize:[]}},token:function(i,e){var t=e.prev;e.prev=null;var n=e.tokenize[e.tokenize.length-1]||Im,r=n(i,e,t);if(!r||r=="comment"?e.prev=t:e.prev||(e.prev=r),r=="punctuation"){var s=/[\(\[\{]|([\]\)\}])/.exec(i.current());s&&(s[1]?Gw:Uw)(e,i)}return r},indent:function(i,e,t){var n=i.context;if(!n)return 0;var r=/^[\]\}\)]/.test(e);return n.align!=null?n.align-(r?1:0):n.indented+(r?0:t.unit)},languageData:{indentOnInput:/^\s*[\)\}\]]$/,commentTokens:{line:"//",block:{open:"/*",close:"*/"}},closeBrackets:{brackets:["(","[","{","'",'"',"`"]}}};var ah={};function lh(i,e){for(var t=0;t1&&i.eat("$");var t=i.next();return/['"({]/.test(t)?(e.tokens[0]=po(t,t=="("?"quote":t=="{"?"def":"string"),_n(i,e)):(/\d/.test(t)||i.eatWhile(/\w/),e.tokens.shift(),"def")};function Hw(i){return function(e,t){return e.sol()&&e.string==i&&t.tokens.shift(),e.skipToEnd(),"string.special"}}function _n(i,e){return(e.tokens[0]||Nw)(i,e)}var Hm={name:"shell",startState:function(){return{tokens:[]}},token:function(i,e){return _n(i,e)},languageData:{autocomplete:Um.concat(Gm,Nm),closeBrackets:{brackets:["(","[","{","'",'"',"`"]},commentTokens:{line:"#"}}};var Kw=["true","false","on","off","yes","no"],Jw=new RegExp("\\b(("+Kw.join(")|(")+"))$","i"),Km={name:"yaml",token:function(i,e){var t=i.peek(),n=e.escaped;if(e.escaped=!1,t=="#"&&(i.pos==0||/\s/.test(i.string.charAt(i.pos-1))))return i.skipToEnd(),"comment";if(i.match(/^('([^']|\\.)*'?|"([^"]|\\.)*"?)/))return"string";if(e.literal&&i.indentation()>e.keyCol)return i.skipToEnd(),"string";if(e.literal&&(e.literal=!1),i.sol()){if(e.keyCol=0,e.pair=!1,e.pairStart=!1,i.match("---")||i.match("..."))return"def";if(i.match(/^\s*-\s+/))return"meta"}if(i.match(/^(\{|\}|\[|\])/))return t=="{"?e.inlinePairs++:t=="}"?e.inlinePairs--:t=="["?e.inlineList++:e.inlineList--,"meta";if(e.inlineList>0&&!n&&t==",")return i.next(),"meta";if(e.inlinePairs>0&&!n&&t==",")return e.keyCol=0,e.pair=!1,e.pairStart=!1,i.next(),"meta";if(e.pairStart){if(i.match(/^\s*(\||\>)\s*/))return e.literal=!0,"meta";if(i.match(/^\s*(\&|\*)[a-z0-9\._-]+\b/i))return"variable";if(e.inlinePairs==0&&i.match(/^\s*-?[0-9\.\,]+\s?$/)||e.inlinePairs>0&&i.match(/^\s*-?[0-9\.\,]+\s?(?=(,|}))/))return"number";if(i.match(Jw))return"keyword"}return!e.pair&&i.match(/^\s*(?:[,\[\]{}&*!|>'"%@`][^\s'":]|[^,\[\]{}#&*!|>'"%@`])[^#]*?(?=\s*:($|\s))/)?(e.pair=!0,e.keyCol=i.indentation(),"atom"):e.pair&&i.match(/^:\s*/)?(e.pairStart=!0,"meta"):(e.pairStart=!1,e.escaped=t=="\\",i.next(),null)},startState:function(){return{pair:!1,pairStart:!1,keyCol:0,inlinePairs:0,inlineList:0,literal:!1,escaped:!1}},languageData:{commentTokens:{line:"#"}}};var eP={break:!0,case:!0,chan:!0,const:!0,continue:!0,default:!0,defer:!0,else:!0,fallthrough:!0,for:!0,func:!0,go:!0,goto:!0,if:!0,import:!0,interface:!0,map:!0,package:!0,range:!0,return:!0,select:!0,struct:!0,switch:!0,type:!0,var:!0,bool:!0,byte:!0,complex64:!0,complex128:!0,float32:!0,float64:!0,int8:!0,int16:!0,int32:!0,int64:!0,string:!0,uint8:!0,uint16:!0,uint32:!0,uint64:!0,int:!0,uint:!0,uintptr:!0,error:!0,rune:!0,any:!0,comparable:!0},tP={true:!0,false:!0,iota:!0,nil:!0,append:!0,cap:!0,close:!0,complex:!0,copy:!0,delete:!0,imag:!0,len:!0,make:!0,new:!0,panic:!0,print:!0,println:!0,real:!0,recover:!0},Jm=/[+\-*&^%:=<>!|\/]/,ti;function mo(i,e){var t=i.next();if(t=='"'||t=="'"||t=="`")return e.tokenize=iP(t),e.tokenize(i,e);if(/[\d\.]/.test(t))return t=="."?i.match(/^[0-9]+([eE][\-+]?[0-9]+)?/):t=="0"?i.match(/^[xX][0-9a-fA-F]+/)||i.match(/^0[0-7]+/):i.match(/^[0-9]*\.?[0-9]*([eE][\-+]?[0-9]+)?/),"number";if(/[\[\]{}\(\),;\:\.]/.test(t))return ti=t,null;if(t=="/"){if(i.eat("*"))return e.tokenize=eg,eg(i,e);if(i.eat("/"))return i.skipToEnd(),"comment"}if(Jm.test(t))return i.eatWhile(Jm),"operator";i.eatWhile(/[\w\$_\xa1-\uffff]/);var n=i.current();return eP.propertyIsEnumerable(n)?((n=="case"||n=="default")&&(ti="case"),"keyword"):tP.propertyIsEnumerable(n)?"atom":"variable"}function iP(i){return function(e,t){for(var n=!1,r,s=!1;(r=e.next())!=null;){if(r==i&&!n){s=!0;break}n=!n&&i!="`"&&r=="\\"}return(s||!(n||i=="`"))&&(t.tokenize=mo),"string"}}function eg(i,e){for(var t=!1,n;n=i.next();){if(n=="/"&&t){e.tokenize=mo;break}t=n=="*"}return"comment"}function ig(i,e,t,n,r){this.indented=i,this.column=e,this.type=t,this.align=n,this.prev=r}function ch(i,e,t){return i.context=new ig(i.indented,e,t,null,i.context)}function tg(i){if(i.context.prev){var e=i.context.type;return(e==")"||e=="]"||e=="}")&&(i.indented=i.context.indented),i.context=i.context.prev}}var ng={name:"go",startState:function(i){return{tokenize:null,context:new ig(-i,0,"top",!1),indented:0,startOfLine:!0}},token:function(i,e){var t=e.context;if(i.sol()&&(t.align==null&&(t.align=!1),e.indented=i.indentation(),e.startOfLine=!0,t.type=="case"&&(t.type="}")),i.eatSpace())return null;ti=null;var n=(e.tokenize||mo)(i,e);return n=="comment"||(t.align==null&&(t.align=!0),ti=="{"?ch(e,i.column(),"}"):ti=="["?ch(e,i.column(),"]"):ti=="("?ch(e,i.column(),")"):ti=="case"?t.type="case":(ti=="}"&&t.type=="}"||ti==t.type)&&tg(e),e.startOfLine=!1),n},indent:function(i,e,t){if(i.tokenize!=mo&&i.tokenize!=null)return null;var n=i.context,r=e&&e.charAt(0);if(n.type=="case"&&/^(?:case|default)\b/.test(e))return n.indented;var s=r==n.type;return n.align?n.column+(s?0:1):n.indented+(s?0:t.unit)},languageData:{indentOnInput:/^\s([{}]|case |default\s*:)$/,commentTokens:{line:"//",block:{open:"/*",close:"*/"}}}};function fh(i){for(var e={},t=0,n=i.length;t]/)?(i.eat(/[\<\>]/),"atom"):i.eat(/[\+\-\*\/\&\|\:\!]/)?"atom":i.eat(/[a-zA-Z$@_\xa1-\uffff]/)?(i.eatWhile(/[\w$\xa1-\uffff]/),i.eat(/[\?\!\=]/),"atom"):"operator";if(t=="@"&&i.match(/^@?[a-zA-Z_\xa1-\uffff]/))return i.eat("@"),i.eatWhile(/[\w\xa1-\uffff]/),"propertyName";if(t=="$")return i.eat(/[a-zA-Z_]/)?i.eatWhile(/[\w]/):i.eat(/\d/)?i.eat(/\d/):i.next(),"variableName.special";if(/[a-zA-Z_\xa1-\uffff]/.test(t))return i.eatWhile(/[\w\xa1-\uffff]/),i.eat(/[\?\!]/),i.eat(":")?"atom":"variable";if(t=="|"&&(e.varList||e.lastTok=="{"||e.lastTok=="do"))return Pt="|",null;if(/[\(\)\[\]{}\\;]/.test(t))return Pt=t,null;if(t=="-"&&i.eat(">"))return"operator";if(/[=+\-\/*:\.^%<>~|]/.test(t)){var a=i.eatWhile(/[=+\-\/*:\.^%<>~|]/);return t=="."&&!a&&(Pt="."),"operator"}else return null}}}function aP(i){for(var e=i.pos,t=0,n,r=!1,s=!1;(n=i.next())!=null;)if(s)s=!1;else{if("[{(".indexOf(n)>-1)t++;else if("]})".indexOf(n)>-1){if(t--,t<0)break}else if(n=="/"&&t==0){r=!0;break}s=n=="\\"}return i.backUp(i.pos-e),r}function hh(i){return i||(i=1),function(e,t){if(e.peek()=="}"){if(i==1)return t.tokenize.pop(),t.tokenize[t.tokenize.length-1](e,t);t.tokenize[t.tokenize.length-1]=hh(i-1)}else e.peek()=="{"&&(t.tokenize[t.tokenize.length-1]=hh(i+1));return go(e,t)}}function lP(){var i=!1;return function(e,t){return i?(t.tokenize.pop(),t.tokenize[t.tokenize.length-1](e,t)):(i=!0,go(e,t))}}function Rr(i,e,t,n){return function(r,s){var o=!1,a;for(s.context.type==="read-quoted-paused"&&(s.context=s.context.prev,r.eat("}"));(a=r.next())!=null;){if(a==i&&(n||!o)){s.tokenize.pop();break}if(t&&a=="#"&&!o){if(r.eat("{")){i=="}"&&(s.context={prev:s.context,type:"read-quoted-paused"}),s.tokenize.push(hh());break}else if(/[@\$]/.test(r.peek())){s.tokenize.push(lP());break}}o=!o&&a=="\\"}return e}}function cP(i,e){return function(t,n){return e&&t.eatSpace(),t.match(i)?n.tokenize.pop():t.skipToEnd(),"string"}}function hP(i,e){return i.sol()&&i.match("=end")&&i.eol()&&e.tokenize.pop(),i.skipToEnd(),"comment"}var og={name:"ruby",startState:function(i){return{tokenize:[go],indented:0,context:{type:"top",indented:-i},continuedLine:!1,lastTok:null,varList:!1}},token:function(i,e){Pt=null,i.sol()&&(e.indented=i.indentation());var t=e.tokenize[e.tokenize.length-1](i,e),n,r=Pt;if(t=="variable"){var s=i.current();t=e.lastTok=="."?"property":nP.propertyIsEnumerable(i.current())?"keyword":/^[A-Z]/.test(s)?"tag":e.lastTok=="def"||e.lastTok=="class"||e.varList?"def":"variable",t=="keyword"&&(r=s,rP.propertyIsEnumerable(s)?n="indent":sP.propertyIsEnumerable(s)?n="dedent":((s=="if"||s=="unless")&&i.column()==i.indentation()||s=="do"&&e.context.indented2&&o.token&&typeof o.token!="string"){t.pending=[];for(var c=2;c-1)return null;var r=t.indent.length-1,s=i[t.state];e:for(;;){for(var o=0;o!]+/,token:"operator"},{regex:/[a-zA-Z_]\w*!/,token:"macroName"},{regex:/[a-zA-Z_]\w*/,token:"variable"},{regex:/[\{\[\(]/,indent:!0},{regex:/[\}\]\)]/,dedent:!0}],string:[{regex:/"/,token:"string",next:"start"},{regex:/(?:[^\\"]|\\(?:.|$))*/,token:"string"}],string_raw:[{regex:/"/,token:"string",next:"start"},{regex:/[^"]*/,token:"string"}],string_raw_hash:[{regex:/"#+/,token:"string",next:"start"},{regex:/(?:[^"]|"(?!#))*/,token:"string"}],comment:[{regex:/.*?\*\//,token:"comment",next:"start"},{regex:/.*/,token:"comment"}],languageData:{name:"rust",dontIndentStates:["comment"],indentOnInput:/^\s*\}$/,commentTokens:{line:"//",block:{open:"/*",close:"*/"}}}});function dh(i,e,t,n,r,s){this.indented=i,this.column=e,this.type=t,this.info=n,this.align=r,this.prev=s}function Qo(i,e,t,n){var r=i.indented;return i.context&&i.context.type=="statement"&&t!="statement"&&(r=i.context.indented),i.context=new dh(r,e,t,n,null,i.context)}function Ar(i){var e=i.context.type;return(e==")"||e=="]"||e=="}")&&(i.indented=i.context.indented),i.context=i.context.prev}function hg(i,e,t){if(e.prevToken=="variable"||e.prevToken=="type"||/\S(?:[^- ]>|[*\]])\s*$|\*$/.test(i.string.slice(0,t))||e.typeAtEndOfLine&&i.column()==i.indentation())return!0}function uh(i){for(;;){if(!i||i.type=="top")return!0;if(i.type=="}"&&i.prev.info!="namespace")return!1;i=i.prev}}function et(i){var e=i.statementIndentUnit,t=i.dontAlignCalls,n=i.keywords||{},r=i.types||{},s=i.builtin||{},o=i.blockKeywords||{},a=i.defKeywords||{},l=i.atoms||{},c=i.hooks||{},h=i.multiLineStrings,f=i.indentStatements!==!1,u=i.indentSwitch!==!1,O=i.namespaceSeparator,p=i.isPunctuationChar||/[\[\]{}\(\),;\:\.]/,m=i.numberStart||/[\d\.]/,b=i.number||/^(?:0x[a-f\d]+|0b[01]+|(?:\d+\.?\d*|\.\d+)(?:e[-+]?\d+)?)(u|ll?|l|f)?/i,g=i.isOperatorChar||/[+\-*&%=<>!?|\/]/,Q=i.isIdentifierChar||/[\w\$_\xa1-\uffff]/,S=i.isReservedIdentifier||!1,x,v;function $(T,k){var w=T.next();if(c[w]){var C=c[w](T,k);if(C!==!1)return C}if(w=='"'||w=="'")return k.tokenize=R(w),k.tokenize(T,k);if(m.test(w)){if(T.backUp(1),T.match(b))return"number";T.next()}if(p.test(w))return x=w,null;if(w=="/"){if(T.eat("*"))return k.tokenize=_,_(T,k);if(T.eat("/"))return T.skipToEnd(),"comment"}if(g.test(w)){for(;!T.match(/^\/[\/*]/,!1)&&T.eat(g););return"operator"}if(T.eatWhile(Q),O)for(;T.match(O);)T.eatWhile(Q);var j=T.current();return ii(n,j)?(ii(o,j)&&(x="newstatement"),ii(a,j)&&(v=!0),"keyword"):ii(r,j)?"type":ii(s,j)||S&&S(j)?(ii(o,j)&&(x="newstatement"),"builtin"):ii(l,j)?"atom":"variable"}function R(T){return function(k,w){for(var C=!1,j,y=!1;(j=k.next())!=null;){if(j==T&&!C){y=!0;break}C=!C&&j=="\\"}return(y||!(C||h))&&(w.tokenize=null),"string"}}function _(T,k){for(var w=!1,C;C=T.next();){if(C=="/"&&w){k.tokenize=null;break}w=C=="*"}return"comment"}function W(T,k){i.typeFirstDefinitions&&T.eol()&&uh(k.context)&&(k.typeAtEndOfLine=hg(T,k,T.pos))}return{name:i.name,startState:function(T){return{tokenize:null,context:new dh(-T,0,"top",null,!1),indented:0,startOfLine:!0,prevToken:null}},token:function(T,k){var w=k.context;if(T.sol()&&(w.align==null&&(w.align=!1),k.indented=T.indentation(),k.startOfLine=!0),T.eatSpace())return W(T,k),null;x=v=null;var C=(k.tokenize||$)(T,k);if(C=="comment"||C=="meta")return C;if(w.align==null&&(w.align=!0),x==";"||x==":"||x==","&&T.match(/^\s*(?:\/\/.*)?$/,!1))for(;k.context.type=="statement";)Ar(k);else if(x=="{")Qo(k,T.column(),"}");else if(x=="[")Qo(k,T.column(),"]");else if(x=="(")Qo(k,T.column(),")");else if(x=="}"){for(;w.type=="statement";)w=Ar(k);for(w.type=="}"&&(w=Ar(k));w.type=="statement";)w=Ar(k)}else x==w.type?Ar(k):f&&((w.type=="}"||w.type=="top")&&x!=";"||w.type=="statement"&&x=="newstatement")&&Qo(k,T.column(),"statement",T.current());if(C=="variable"&&(k.prevToken=="def"||i.typeFirstDefinitions&&hg(T,k,T.start)&&uh(k.context)&&T.match(/^\s*\(/,!1))&&(C="def"),c.token){var j=c.token(T,k,C);j!==void 0&&(C=j)}return C=="def"&&i.styleDefs===!1&&(C="variable"),k.startOfLine=!1,k.prevToken=v?"def":C||x,W(T,k),C},indent:function(T,k,w){if(T.tokenize!=$&&T.tokenize!=null||T.typeAtEndOfLine&&uh(T.context))return null;var C=T.context,j=k&&k.charAt(0),y=j==C.type;if(C.type=="statement"&&j=="}"&&(C=C.prev),i.dontIndentStatements)for(;C.type=="statement"&&i.dontIndentStatements.test(C.info);)C=C.prev;if(c.indent){var q=c.indent(T,C,k,w.unit);if(typeof q=="number")return q}var de=C.prev&&C.prev.info=="switch";if(i.allmanIndentation&&/[{(]/.test(j)){for(;C.type!="top"&&C.type!="}";)C=C.prev;return C.indented}return C.type=="statement"?C.indented+(j=="{"?0:e||w.unit):C.align&&(!t||C.type!=")")?C.column+(y?0:1):C.type==")"&&!y?C.indented+(e||w.unit):C.indented+(y?0:w.unit)+(!y&&de&&!/^(?:case|default)\b/.test(k)?w.unit:0)},languageData:{indentOnInput:u?/^\s*(?:case .*?:|default:|\{\}?|\})$/:/^\s*[{}]$/,commentTokens:{line:"//",block:{open:"/*",close:"*/"}},autocomplete:Object.keys(n).concat(Object.keys(r)).concat(Object.keys(s)).concat(Object.keys(l)),...i.languageData}}}function V(i){for(var e={},t=i.split(" "),n=0;n!?|\/#:@]/,hooks:{"@":function(i){return i.eatWhile(/[\w\$_]/),"meta"},'"':function(i,e){return i.match('""')?(e.tokenize=kg,e.tokenize(i,e)):!1},"'":function(i){return i.match(/^(\\[^'\s]+|[^\\'])'/)?"character":(i.eatWhile(/[\w\$_\xa1-\uffff]/),"atom")},"=":function(i,e){var t=e.context;return t.type=="}"&&t.align&&i.eat(">")?(e.context=new dh(t.indented,t.column,t.type,t.info,null,t.prev),"operator"):!1},"/":function(i,e){return i.eat("*")?(e.tokenize=Zr(1),e.tokenize(i,e)):!1}},languageData:{closeBrackets:{brackets:["(","[","{","'",'"','"""']}}});function QP(i){return function(e,t){for(var n=!1,r,s=!1;!e.eol();){if(!i&&!n&&e.match('"')){s=!0;break}if(i&&e.match('"""')){s=!0;break}r=e.next(),!n&&r=="$"&&e.match("{")&&e.skipTo("}"),n=!n&&r=="\\"&&!i}return(s||!i)&&(t.tokenize=null),"string"}}var xg=et({name:"kotlin",keywords:V("package as typealias class interface this super val operator var fun for is in This throw return annotation break continue object if else while do try when !in !is as? file import where by get set abstract enum open inner override private public internal protected catch finally out final vararg reified dynamic companion constructor init sealed field property receiver param sparam lateinit data inline noinline tailrec external annotation crossinline const operator infix suspend actual expect setparam"),types:V("Boolean Byte Character CharSequence Class ClassLoader Cloneable Comparable Compiler Double Exception Float Integer Long Math Number Object Package Pair Process Runtime Runnable SecurityManager Short StackTraceElement StrictMath String StringBuffer System Thread ThreadGroup ThreadLocal Throwable Triple Void Annotation Any BooleanArray ByteArray Char CharArray DeprecationLevel DoubleArray Enum FloatArray Function Int IntArray Lazy LazyThreadSafetyMode LongArray Nothing ShortArray Unit"),intendSwitch:!1,indentStatements:!1,multiLineStrings:!0,number:/^(?:0x[a-f\d_]+|0b[01_]+|(?:[\d_]+(\.\d+)?|\.\d+)(?:e[-+]?[\d_]+)?)(ul?|l|f)?/i,blockKeywords:V("catch class do else finally for if where try while enum"),defKeywords:V("class val var object interface fun"),atoms:V("true false null this"),hooks:{"@":function(i){return i.eatWhile(/[\w\$_]/),"meta"},"*":function(i,e){return e.prevToken=="."?"variable":"operator"},'"':function(i,e){return e.tokenize=QP(i.match('""')),e.tokenize(i,e)},"/":function(i,e){return i.eat("*")?(e.tokenize=Zr(1),e.tokenize(i,e)):!1},indent:function(i,e,t,n){var r=t&&t.charAt(0);if((i.prevToken=="}"||i.prevToken==")")&&t=="")return i.indented;if(i.prevToken=="operator"&&t!="}"&&i.context.type!="}"||i.prevToken=="variable"&&r=="."||(i.prevToken=="}"||i.prevToken==")")&&r==".")return n*2+e.indented;if(e.align&&e.type=="}")return e.indented+(i.context.type==(t||"").charAt(0)?0:n)}},languageData:{closeBrackets:{brackets:["(","[","{","'",'"','"""']}}}),oC=et({name:"shader",keywords:V("sampler1D sampler2D sampler3D samplerCube sampler1DShadow sampler2DShadow const attribute uniform varying break continue discard return for while do if else struct in out inout"),types:V("float int bool void vec2 vec3 vec4 ivec2 ivec3 ivec4 bvec2 bvec3 bvec4 mat2 mat3 mat4"),blockKeywords:V("for while do if else struct"),builtin:V("radians degrees sin cos tan asin acos atan pow exp log exp2 sqrt inversesqrt abs sign floor ceil fract mod min max clamp mix step smoothstep length distance dot cross normalize ftransform faceforward reflect refract matrixCompMult lessThan lessThanEqual greaterThan greaterThanEqual equal notEqual any all not texture1D texture1DProj texture1DLod texture1DProjLod texture2D texture2DProj texture2DLod texture2DProjLod texture3D texture3DProj texture3DLod texture3DProjLod textureCube textureCubeLod shadow1D shadow2D shadow1DProj shadow2DProj shadow1DLod shadow2DLod shadow1DProjLod shadow2DProjLod dFdx dFdy fwidth noise1 noise2 noise3 noise4"),atoms:V("true false gl_FragColor gl_SecondaryColor gl_Normal gl_Vertex gl_MultiTexCoord0 gl_MultiTexCoord1 gl_MultiTexCoord2 gl_MultiTexCoord3 gl_MultiTexCoord4 gl_MultiTexCoord5 gl_MultiTexCoord6 gl_MultiTexCoord7 gl_FogCoord gl_PointCoord gl_Position gl_PointSize gl_ClipVertex gl_FrontColor gl_BackColor gl_FrontSecondaryColor gl_BackSecondaryColor gl_TexCoord gl_FogFragCoord gl_FragCoord gl_FrontFacing gl_FragData gl_FragDepth gl_ModelViewMatrix gl_ProjectionMatrix gl_ModelViewProjectionMatrix gl_TextureMatrix gl_NormalMatrix gl_ModelViewMatrixInverse gl_ProjectionMatrixInverse gl_ModelViewProjectionMatrixInverse gl_TextureMatrixTranspose gl_ModelViewMatrixInverseTranspose gl_ProjectionMatrixInverseTranspose gl_ModelViewProjectionMatrixInverseTranspose gl_TextureMatrixInverseTranspose gl_NormalScale gl_DepthRange gl_ClipPlane gl_Point gl_FrontMaterial gl_BackMaterial gl_LightSource gl_LightModel gl_FrontLightModelProduct gl_BackLightModelProduct gl_TextureColor gl_EyePlaneS gl_EyePlaneT gl_EyePlaneR gl_EyePlaneQ gl_FogParameters gl_MaxLights gl_MaxClipPlanes gl_MaxTextureUnits gl_MaxTextureCoords gl_MaxVertexAttribs gl_MaxVertexUniformComponents gl_MaxVaryingFloats gl_MaxVertexTextureImageUnits gl_MaxTextureImageUnits gl_MaxFragmentUniformComponents gl_MaxCombineTextureImageUnits gl_MaxDrawBuffers"),indentSwitch:!1,hooks:{"#":wi}}),aC=et({name:"nesc",keywords:V(Er+" as atomic async call command component components configuration event generic implementation includes interface module new norace nx_struct nx_union post provides signal task uses abstract extends"),types:qr,blockKeywords:V(zr),atoms:V("null true false"),hooks:{"#":wi}}),wg=et({name:"objectivec",keywords:V(Er+" "+dg),types:mg,builtin:V(pg),blockKeywords:V(zr+" @synthesize @try @catch @finally @autoreleasepool @synchronized"),defKeywords:V(So+" @interface @implementation @protocol @class"),dontIndentStatements:/^@.*$/,typeFirstDefinitions:!0,atoms:V("YES NO NULL Nil nil true false nullptr"),isReservedIdentifier:ko,hooks:{"#":wi,"*":yo}}),lC=et({name:"objectivecpp",keywords:V(Er+" "+dg+" "+Og),types:mg,builtin:V(pg),blockKeywords:V(zr+" @synthesize @try @catch @finally @autoreleasepool @synchronized class try catch"),defKeywords:V(So+" @interface @implementation @protocol @class class namespace"),dontIndentStatements:/^@.*$|^template$/,typeFirstDefinitions:!0,atoms:V("YES NO NULL Nil nil true false nullptr"),isReservedIdentifier:ko,hooks:{"#":wi,"*":yo,u:xi,U:xi,L:xi,R:xi,0:Se,1:Se,2:Se,3:Se,4:Se,5:Se,6:Se,7:Se,8:Se,9:Se,token:function(i,e,t){if(t=="variable"&&i.peek()=="("&&(e.prevToken==";"||e.prevToken==null||e.prevToken=="}")&&gg(i.current()))return"def"}},namespaceSeparator:"::"}),cC=et({name:"squirrel",keywords:V("base break clone continue const default delete enum extends function in class foreach local resume return this throw typeof yield constructor instanceof static"),types:qr,blockKeywords:V("case catch class else for foreach if switch try while"),defKeywords:V("function local class"),typeFirstDefinitions:!0,atoms:V("true false null"),hooks:{"#":wi}}),bo=null;function Pg(i){return function(e,t){for(var n=!1,r,s=!1;!e.eol();){if(!n&&e.match('"')&&(i=="single"||e.match('""'))){s=!0;break}if(!n&&e.match("``")){bo=Pg(i),s=!0;break}r=e.next(),n=i=="single"&&!n&&r=="\\"}return s&&(t.tokenize=null),"string"}}var hC=et({name:"ceylon",keywords:V("abstracts alias assembly assert assign break case catch class continue dynamic else exists extends finally for function given if import in interface is let module new nonempty object of out outer package return satisfies super switch then this throw try value void while"),types:function(i){var e=i.charAt(0);return e===e.toUpperCase()&&e!==e.toLowerCase()},blockKeywords:V("case catch class dynamic else finally for function if interface module new object switch try while"),defKeywords:V("class dynamic function interface module object package value"),builtin:V("abstract actual aliased annotation by default deprecated doc final formal late license native optional sealed see serializable shared suppressWarnings tagged throws variable"),isPunctuationChar:/[\[\]{}\(\),;\:\.`]/,isOperatorChar:/[+\-*&%=<>!?|^~:\/]/,numberStart:/[\d#$]/,number:/^(?:#[\da-fA-F_]+|\$[01_]+|[\d_]+[kMGTPmunpf]?|[\d_]+\.[\d_]+(?:[eE][-+]?\d+|[kMGTPmunpf]|)|)/i,multiLineStrings:!0,typeFirstDefinitions:!0,atoms:V("true false null larger smaller equal empty finished"),indentSwitch:!1,styleDefs:!1,hooks:{"@":function(i){return i.eatWhile(/[\w\$_]/),"meta"},'"':function(i,e){return e.tokenize=Pg(i.match('""')?"triple":"single"),e.tokenize(i,e)},"`":function(i,e){return!bo||!i.match("`")?!1:(e.tokenize=bo,bo=null,e.tokenize(i,e))},"'":function(i){return i.match(/^(\\[^'\s]+|[^\\'])'/)?"string.special":(i.eatWhile(/[\w\$_\xa1-\uffff]/),"atom")},token:function(i,e,t){if((t=="variable"||t=="type")&&e.prevToken==".")return"variableName.special"}},languageData:{closeBrackets:{brackets:["(","[","{","'",'"','"""']}}});function bP(i){(i.interpolationStack||(i.interpolationStack=[])).push(i.tokenize)}function vg(i){return(i.interpolationStack||(i.interpolationStack=[])).pop()}function SP(i){return i.interpolationStack?i.interpolationStack.length:0}function Oh(i,e,t,n){var r=!1;if(e.eat(i))if(e.eat(i))r=!0;else return"string";function s(o,a){for(var l=!1;!o.eol();){if(!n&&!l&&o.peek()=="$")return bP(a),a.tokenize=yP,"string";var c=o.next();if(c==i&&!l&&(!r||o.match(i+i))){a.tokenize=null;break}l=!n&&!l&&c=="\\"}return"string"}return t.tokenize=s,s(e,t)}function yP(i,e){return i.eat("$"),i.eat("{")?e.tokenize=null:e.tokenize=kP,null}function kP(i,e){return i.eatWhile(/[\w_]/),e.tokenize=vg(e),"variable"}var fC=et({name:"dart",keywords:V("this super static final const abstract class extends external factory implements mixin get native set typedef with enum throw rethrow assert break case continue default in return new deferred async await covariant try catch finally do else for if switch while import library export part of show hide is as extension on yield late required sealed base interface when inline"),blockKeywords:V("try catch finally do else for if switch while"),builtin:V("void bool num int double dynamic var String Null Never"),atoms:V("true false null"),number:/^(?:0x[a-f\d_]+|(?:[\d_]+\.?[\d_]*|\.[\d_]+)(?:e[-+]?[\d_]+)?)/i,hooks:{"@":function(i){return i.eatWhile(/[\w\$_\.]/),"meta"},"'":function(i,e){return Oh("'",i,e,!1)},'"':function(i,e){return Oh('"',i,e,!1)},r:function(i,e){var t=i.peek();return t=="'"||t=='"'?Oh(i.next(),i,e,!0):!1},"}":function(i,e){return SP(e)>0?(e.tokenize=vg(e),null):!1},"/":function(i,e){return i.eat("*")?(e.tokenize=Zr(1),e.tokenize(i,e)):!1},token:function(i,e,t){if(t=="variable"){var n=RegExp("^[_$]*[A-Z][a-zA-Z0-9_$]*$","g");if(n.test(i.current()))return"type"}}}});function We(i){var e=i.client||{},t=i.atoms||{false:!0,true:!0,null:!0},n=i.builtin||M(Tg),r=i.keywords||M(Hi),s=i.operatorChars||/^[*+\-%<>!=&|~^\/]/,o=i.support||{},a=i.hooks||{},l=i.dateSQL||{date:!0,time:!0,timestamp:!0},c=i.backslashStringEscapes!==!1,h=i.brackets||/^[\{}\(\)\[\]]/,f=i.punctuation||/^[;.,:]/;function u(g,Q){var S=g.next();if(a[S]){var x=a[S](g,Q);if(x!==!1)return x}if(o.hexNumber&&(S=="0"&&g.match(/^[xX][0-9a-fA-F]+/)||(S=="x"||S=="X")&&g.match(/^'[0-9a-fA-F]*'/)))return"number";if(o.binaryNumber&&((S=="b"||S=="B")&&g.match(/^'[01]+'/)||S=="0"&&g.match(/^b[01]*/)))return"number";if(S.charCodeAt(0)>47&&S.charCodeAt(0)<58)return g.match(/^[0-9]*(\.[0-9]+)?([eE][-+]?[0-9]+)?/),o.decimallessFloat&&g.match(/^\.(?!\.)/),"number";if(S=="?"&&(g.eatSpace()||g.eol()||g.eat(";")))return"macroName";if(S=="'"||S=='"'&&o.doubleQuote)return Q.tokenize=O(S),Q.tokenize(g,Q);if((o.nCharCast&&(S=="n"||S=="N")||o.charsetCast&&S=="_"&&g.match(/[a-z][a-z0-9]*/i))&&(g.peek()=="'"||g.peek()=='"'))return"keyword";if(o.escapeConstant&&(S=="e"||S=="E")&&(g.peek()=="'"||g.peek()=='"'&&o.doubleQuote))return Q.tokenize=function($,R){return(R.tokenize=O($.next(),!0))($,R)},"keyword";if(o.commentSlashSlash&&S=="/"&&g.eat("/"))return g.skipToEnd(),"comment";if(o.commentHash&&S=="#"||S=="-"&&g.eat("-")&&(!o.commentSpaceRequired||g.eat(" ")))return g.skipToEnd(),"comment";if(S=="/"&&g.eat("*"))return Q.tokenize=p(1),Q.tokenize(g,Q);if(S=="."){if(o.zerolessFloat&&g.match(/^(?:\d+(?:e[+-]?\d+)?)/i))return"number";if(g.match(/^\.+/))return null;if(o.ODBCdotTable&&g.match(/^[\w\d_$#]+/))return"type"}else{if(s.test(S))return g.eatWhile(s),"operator";if(h.test(S))return"bracket";if(f.test(S))return g.eatWhile(f),"punctuation";if(S=="{"&&(g.match(/^( )*(d|D|t|T|ts|TS)( )*'[^']*'( )*}/)||g.match(/^( )*(d|D|t|T|ts|TS)( )*"[^"]*"( )*}/)))return"number";g.eatWhile(/^[_\w\d]/);var v=g.current().toLowerCase();return l.hasOwnProperty(v)&&(g.match(/^( )+'[^']*'/)||g.match(/^( )+"[^"]*"/))?"number":t.hasOwnProperty(v)?"atom":n.hasOwnProperty(v)?"type":r.hasOwnProperty(v)?"keyword":e.hasOwnProperty(v)?"builtin":null}}function O(g,Q){return function(S,x){for(var v=!1,$;($=S.next())!=null;){if($==g&&!v){x.tokenize=u;break}v=(c||Q)&&!v&&$=="\\"}return"string"}}function p(g){return function(Q,S){var x=Q.match(/^.*?(\/\*|\*\/)/);return x?x[1]=="/*"?S.tokenize=p(g+1):g>1?S.tokenize=p(g-1):S.tokenize=u:Q.skipToEnd(),"comment"}}function m(g,Q,S){Q.context={prev:Q.context,indent:g.indentation(),col:g.column(),type:S}}function b(g){g.indent=g.context.indent,g.context=g.context.prev}return{name:"sql",startState:function(){return{tokenize:u,context:null}},token:function(g,Q){if(g.sol()&&Q.context&&Q.context.align==null&&(Q.context.align=!1),Q.tokenize==u&&g.eatSpace())return null;var S=Q.tokenize(g,Q);if(S=="comment")return S;Q.context&&Q.context.align==null&&(Q.context.align=!0);var x=g.current();return x=="("?m(g,Q,")"):x=="["?m(g,Q,"]"):Q.context&&Q.context.type==x&&b(Q),S},indent:function(g,Q,S){var x=g.context;if(!x)return null;var v=Q.charAt(0)==x.type;return x.align?x.col+(v?0:1):x.indent+(v?0:S.unit)},languageData:{commentTokens:{line:o.commentSlashSlash?"//":o.commentHash?"#":"--",block:{open:"/*",close:"*/"}},closeBrackets:{brackets:["(","[","{","'",'"',"`"]}}}}function ph(i){for(var e;(e=i.next())!=null;)if(e=="`"&&!i.eat("`"))return"string.special";return i.backUp(i.current().length-1),i.eatWhile(/\w/)?"string.special":null}function xP(i){for(var e;(e=i.next())!=null;)if(e=='"'&&!i.eat('"'))return"string.special";return i.backUp(i.current().length-1),i.eatWhile(/\w/)?"string.special":null}function Fi(i){return i.eat("@")&&(i.match("session."),i.match("local."),i.match("global.")),i.eat("'")?(i.match(/^.*'/),"string.special"):i.eat('"')?(i.match(/^.*"/),"string.special"):i.eat("`")?(i.match(/^.*`/),"string.special"):i.match(/^[0-9a-zA-Z$\.\_]+/)?"string.special":null}function $g(i){return i.eat("N")?"atom":i.match(/^[a-zA-Z.#!?]/)?"string.special":null}var Hi="alter and as asc between by count create delete desc distinct drop from group having in insert into is join like not on or order select set table union update values where limit ";function M(i){for(var e={},t=i.split(" "),n=0;n!=^\&|\/]/,brackets:/^[\{}\(\)]/,punctuation:/^[;.,:/]/,backslashStringEscapes:!1,dateSQL:M("date datetimeoffset datetime2 smalldatetime datetime time"),hooks:{"@":Fi}}),pC=We({client:M("charset clear connect edit ego exit go help nopager notee nowarning pager print prompt quit rehash source status system tee"),keywords:M(Hi+"accessible action add after algorithm all analyze asensitive at authors auto_increment autocommit avg avg_row_length before binary binlog both btree cache call cascade cascaded case catalog_name chain change changed character check checkpoint checksum class_origin client_statistics close coalesce code collate collation collations column columns comment commit committed completion concurrent condition connection consistent constraint contains continue contributors convert cross current current_date current_time current_timestamp current_user cursor data database databases day_hour day_microsecond day_minute day_second deallocate dec declare default delay_key_write delayed delimiter des_key_file describe deterministic dev_pop dev_samp deviance diagnostics directory disable discard distinctrow div dual dumpfile each elseif enable enclosed end ends engine engines enum errors escape escaped even event events every execute exists exit explain extended fast fetch field fields first flush for force foreign found_rows full fulltext function general get global grant grants group group_concat handler hash help high_priority hosts hour_microsecond hour_minute hour_second if ignore ignore_server_ids import index index_statistics infile inner innodb inout insensitive insert_method install interval invoker isolation iterate key keys kill language last leading leave left level limit linear lines list load local localtime localtimestamp lock logs low_priority master master_heartbeat_period master_ssl_verify_server_cert masters match max max_rows maxvalue message_text middleint migrate min min_rows minute_microsecond minute_second mod mode modifies modify mutex mysql_errno natural next no no_write_to_binlog offline offset one online open optimize option optionally out outer outfile pack_keys parser partition partitions password phase plugin plugins prepare preserve prev primary privileges procedure processlist profile profiles purge query quick range read read_write reads real rebuild recover references regexp relaylog release remove rename reorganize repair repeatable replace require resignal restrict resume return returns revoke right rlike rollback rollup row row_format rtree savepoint schedule schema schema_name schemas second_microsecond security sensitive separator serializable server session share show signal slave slow smallint snapshot soname spatial specific sql sql_big_result sql_buffer_result sql_cache sql_calc_found_rows sql_no_cache sql_small_result sqlexception sqlstate sqlwarning ssl start starting starts status std stddev stddev_pop stddev_samp storage straight_join subclass_origin sum suspend table_name table_statistics tables tablespace temporary terminated to trailing transaction trigger triggers truncate uncommitted undo uninstall unique unlock upgrade usage use use_frm user user_resources user_statistics using utc_date utc_time utc_timestamp value variables varying view views warnings when while with work write xa xor year_month zerofill begin do then else loop repeat"),builtin:M("bool boolean bit blob decimal double float long longblob longtext medium mediumblob mediumint mediumtext time timestamp tinyblob tinyint tinytext text bigint int int1 int2 int3 int4 int8 integer float float4 float8 double char varbinary varchar varcharacter precision date datetime year unsigned signed numeric"),atoms:M("false true null unknown"),operatorChars:/^[*+\-%<>!=&|^]/,dateSQL:M("date time timestamp"),support:M("ODBCdotTable decimallessFloat zerolessFloat binaryNumber hexNumber doubleQuote nCharCast charsetCast commentHash commentSpaceRequired"),hooks:{"@":Fi,"`":ph,"\\":$g}}),mC=We({client:M("charset clear connect edit ego exit go help nopager notee nowarning pager print prompt quit rehash source status system tee"),keywords:M(Hi+"accessible action add after algorithm all always analyze asensitive at authors auto_increment autocommit avg avg_row_length before binary binlog both btree cache call cascade cascaded case catalog_name chain change changed character check checkpoint checksum class_origin client_statistics close coalesce code collate collation collations column columns comment commit committed completion concurrent condition connection consistent constraint contains continue contributors convert cross current current_date current_time current_timestamp current_user cursor data database databases day_hour day_microsecond day_minute day_second deallocate dec declare default delay_key_write delayed delimiter des_key_file describe deterministic dev_pop dev_samp deviance diagnostics directory disable discard distinctrow div dual dumpfile each elseif enable enclosed end ends engine engines enum errors escape escaped even event events every execute exists exit explain extended fast fetch field fields first flush for force foreign found_rows full fulltext function general generated get global grant grants group group_concat handler hard hash help high_priority hosts hour_microsecond hour_minute hour_second if ignore ignore_server_ids import index index_statistics infile inner innodb inout insensitive insert_method install interval invoker isolation iterate key keys kill language last leading leave left level limit linear lines list load local localtime localtimestamp lock logs low_priority master master_heartbeat_period master_ssl_verify_server_cert masters match max max_rows maxvalue message_text middleint migrate min min_rows minute_microsecond minute_second mod mode modifies modify mutex mysql_errno natural next no no_write_to_binlog offline offset one online open optimize option optionally out outer outfile pack_keys parser partition partitions password persistent phase plugin plugins prepare preserve prev primary privileges procedure processlist profile profiles purge query quick range read read_write reads real rebuild recover references regexp relaylog release remove rename reorganize repair repeatable replace require resignal restrict resume return returns revoke right rlike rollback rollup row row_format rtree savepoint schedule schema schema_name schemas second_microsecond security sensitive separator serializable server session share show shutdown signal slave slow smallint snapshot soft soname spatial specific sql sql_big_result sql_buffer_result sql_cache sql_calc_found_rows sql_no_cache sql_small_result sqlexception sqlstate sqlwarning ssl start starting starts status std stddev stddev_pop stddev_samp storage straight_join subclass_origin sum suspend table_name table_statistics tables tablespace temporary terminated to trailing transaction trigger triggers truncate uncommitted undo uninstall unique unlock upgrade usage use use_frm user user_resources user_statistics using utc_date utc_time utc_timestamp value variables varying view views virtual warnings when while with work write xa xor year_month zerofill begin do then else loop repeat"),builtin:M("bool boolean bit blob decimal double float long longblob longtext medium mediumblob mediumint mediumtext time timestamp tinyblob tinyint tinytext text bigint int int1 int2 int3 int4 int8 integer float float4 float8 double char varbinary varchar varcharacter precision date datetime year unsigned signed numeric"),atoms:M("false true null unknown"),operatorChars:/^[*+\-%<>!=&|^]/,dateSQL:M("date time timestamp"),support:M("ODBCdotTable decimallessFloat zerolessFloat binaryNumber hexNumber doubleQuote nCharCast charsetCast commentHash commentSpaceRequired"),hooks:{"@":Fi,"`":ph,"\\":$g}}),gC=We({client:M("auth backup bail binary changes check clone databases dbinfo dump echo eqp exit explain fullschema headers help import imposter indexes iotrace limit lint load log mode nullvalue once open output print prompt quit read restore save scanstats schema separator session shell show stats system tables testcase timeout timer trace vfsinfo vfslist vfsname width"),keywords:M(Hi+"abort action add after all analyze attach autoincrement before begin cascade case cast check collate column commit conflict constraint cross current_date current_time current_timestamp database default deferrable deferred detach each else end escape except exclusive exists explain fail for foreign full glob if ignore immediate index indexed initially inner instead intersect isnull key left limit match natural no notnull null of offset outer plan pragma primary query raise recursive references regexp reindex release rename replace restrict right rollback row savepoint temp temporary then to transaction trigger unique using vacuum view virtual when with without"),builtin:M("bool boolean bit blob decimal double float long longblob longtext medium mediumblob mediumint mediumtext time timestamp tinyblob tinyint tinytext text clob bigint int int2 int8 integer float double char varchar date datetime year unsigned signed numeric real"),atoms:M("null current_date current_time current_timestamp"),operatorChars:/^[*+\-%<>!=&|/~]/,dateSQL:M("date time timestamp datetime"),support:M("decimallessFloat zerolessFloat"),identifierQuote:'"',hooks:{"@":Fi,":":Fi,"?":Fi,$:Fi,'"':xP,"`":ph}}),QC=We({client:{},keywords:M("add all allow alter and any apply as asc authorize batch begin by clustering columnfamily compact consistency count create custom delete desc distinct drop each_quorum exists filtering from grant if in index insert into key keyspace keyspaces level limit local_one local_quorum modify nan norecursive nosuperuser not of on one order password permission permissions primary quorum rename revoke schema select set storage superuser table three to token truncate ttl two type unlogged update use user users using values where with writetime"),builtin:M("ascii bigint blob boolean counter decimal double float frozen inet int list map static text timestamp timeuuid tuple uuid varchar varint"),atoms:M("false true infinity NaN"),operatorChars:/^[<>=]/,dateSQL:{},support:M("commentSlashSlash decimallessFloat"),hooks:{}}),bC=We({client:M("appinfo arraysize autocommit autoprint autorecovery autotrace blockterminator break btitle cmdsep colsep compatibility compute concat copycommit copytypecheck define describe echo editfile embedded escape exec execute feedback flagger flush heading headsep instance linesize lno loboffset logsource long longchunksize markup native newpage numformat numwidth pagesize pause pno recsep recsepchar release repfooter repheader serveroutput shiftinout show showmode size spool sqlblanklines sqlcase sqlcode sqlcontinue sqlnumber sqlpluscompatibility sqlprefix sqlprompt sqlterminator suffix tab term termout time timing trimout trimspool ttitle underline verify version wrap"),keywords:M("abort accept access add all alter and any array arraylen as asc assert assign at attributes audit authorization avg base_table begin between binary_integer body boolean by case cast char char_base check close cluster clusters colauth column comment commit compress connect connected constant constraint crash create current currval cursor data_base database date dba deallocate debugoff debugon decimal declare default definition delay delete desc digits dispose distinct do drop else elseif elsif enable end entry escape exception exception_init exchange exclusive exists exit external fast fetch file for force form from function generic goto grant group having identified if immediate in increment index indexes indicator initial initrans insert interface intersect into is key level library like limited local lock log logging long loop master maxextents maxtrans member minextents minus mislabel mode modify multiset new next no noaudit nocompress nologging noparallel not nowait number_base object of off offline on online only open option or order out package parallel partition pctfree pctincrease pctused pls_integer positive positiven pragma primary prior private privileges procedure public raise range raw read rebuild record ref references refresh release rename replace resource restrict return returning returns reverse revoke rollback row rowid rowlabel rownum rows run savepoint schema segment select separate session set share snapshot some space split sql start statement storage subtype successful synonym tabauth table tables tablespace task terminate then to trigger truncate type union unique unlimited unrecoverable unusable update use using validate value values variable view views when whenever where while with work"),builtin:M("abs acos add_months ascii asin atan atan2 average bfile bfilename bigserial bit blob ceil character chartorowid chr clob concat convert cos cosh count dec decode deref dual dump dup_val_on_index empty error exp false float floor found glb greatest hextoraw initcap instr instrb int integer isopen last_day least length lengthb ln lower lpad ltrim lub make_ref max min mlslabel mod months_between natural naturaln nchar nclob new_time next_day nextval nls_charset_decl_len nls_charset_id nls_charset_name nls_initcap nls_lower nls_sort nls_upper nlssort no_data_found notfound null number numeric nvarchar2 nvl others power rawtohex real reftohex round rowcount rowidtochar rowtype rpad rtrim serial sign signtype sin sinh smallint soundex sqlcode sqlerrm sqrt stddev string substr substrb sum sysdate tan tanh to_char text to_date to_label to_multi_byte to_number to_single_byte translate true trunc uid unlogged upper user userenv varchar varchar2 variance varying vsize xml"),operatorChars:/^[*\/+\-%<>!=~]/,dateSQL:M("date time timestamp"),support:M("doubleQuote nCharCast zerolessFloat binaryNumber hexNumber")}),SC=We({keywords:M("select alter $elem$ $key$ $value$ add after all analyze and archive as asc before between binary both bucket buckets by cascade case cast change cluster clustered clusterstatus collection column columns comment compute concatenate continue create cross cursor data database databases dbproperties deferred delete delimited desc describe directory disable distinct distribute drop else enable end escaped exclusive exists explain export extended external fetch fields fileformat first format formatted from full function functions grant group having hold_ddltime idxproperties if import in index indexes inpath inputdriver inputformat insert intersect into is items join keys lateral left like limit lines load local location lock locks mapjoin materialized minus msck no_drop nocompress not of offline on option or order out outer outputdriver outputformat overwrite partition partitioned partitions percent plus preserve procedure purge range rcfile read readonly reads rebuild recordreader recordwriter recover reduce regexp rename repair replace restrict revoke right rlike row schema schemas semi sequencefile serde serdeproperties set shared show show_database sort sorted ssl statistics stored streamtable table tables tablesample tblproperties temporary terminated textfile then tmp to touch transform trigger unarchive undo union uniquejoin unlock update use using utc utc_tmestamp view when where while with admin authorization char compact compactions conf cube current current_date current_timestamp day decimal defined dependency directories elem_type exchange file following for grouping hour ignore inner interval jar less logical macro minute month more none noscan over owner partialscan preceding pretty principals protection reload rewrite role roles rollup rows second server sets skewed transactions truncate unbounded unset uri user values window year"),builtin:M("bool boolean long timestamp tinyint smallint bigint int float double date datetime unsigned string array struct map uniontype key_type utctimestamp value_type varchar"),atoms:M("false true null unknown"),operatorChars:/^[*+\-%<>!=]/,dateSQL:M("date timestamp"),support:M("ODBCdotTable doubleQuote binaryNumber hexNumber")}),yC=We({client:M("source"),keywords:M(Hi+"a abort abs absent absolute access according action ada add admin after aggregate alias all allocate also alter always analyse analyze and any are array array_agg array_max_cardinality as asc asensitive assert assertion assignment asymmetric at atomic attach attribute attributes authorization avg backward base64 before begin begin_frame begin_partition bernoulli between bigint binary bit bit_length blob blocked bom boolean both breadth by c cache call called cardinality cascade cascaded case cast catalog catalog_name ceil ceiling chain char char_length character character_length character_set_catalog character_set_name character_set_schema characteristics characters check checkpoint class class_origin clob close cluster coalesce cobol collate collation collation_catalog collation_name collation_schema collect column column_name columns command_function command_function_code comment comments commit committed concurrently condition condition_number configuration conflict connect connection connection_name constant constraint constraint_catalog constraint_name constraint_schema constraints constructor contains content continue control conversion convert copy corr corresponding cost count covar_pop covar_samp create cross csv cube cume_dist current current_catalog current_date current_default_transform_group current_path current_role current_row current_schema current_time current_timestamp current_transform_group_for_type current_user cursor cursor_name cycle data database datalink datatype date datetime_interval_code datetime_interval_precision day db deallocate debug dec decimal declare default defaults deferrable deferred defined definer degree delete delimiter delimiters dense_rank depends depth deref derived desc describe descriptor detach detail deterministic diagnostics dictionary disable discard disconnect dispatch distinct dlnewcopy dlpreviouscopy dlurlcomplete dlurlcompleteonly dlurlcompletewrite dlurlpath dlurlpathonly dlurlpathwrite dlurlscheme dlurlserver dlvalue do document domain double drop dump dynamic dynamic_function dynamic_function_code each element else elseif elsif empty enable encoding encrypted end end_frame end_partition endexec enforced enum equals errcode error escape event every except exception exclude excluding exclusive exec execute exists exit exp explain expression extension external extract false family fetch file filter final first first_value flag float floor following for force foreach foreign fortran forward found frame_row free freeze from fs full function functions fusion g general generated get global go goto grant granted greatest group grouping groups handler having header hex hierarchy hint hold hour id identity if ignore ilike immediate immediately immutable implementation implicit import in include including increment indent index indexes indicator info inherit inherits initially inline inner inout input insensitive insert instance instantiable instead int integer integrity intersect intersection interval into invoker is isnull isolation join k key key_member key_type label lag language large last last_value lateral lead leading leakproof least left length level library like like_regex limit link listen ln load local localtime localtimestamp location locator lock locked log logged loop lower m map mapping match matched materialized max max_cardinality maxvalue member merge message message_length message_octet_length message_text method min minute minvalue mod mode modifies module month more move multiset mumps name names namespace national natural nchar nclob nesting new next nfc nfd nfkc nfkd nil no none normalize normalized not nothing notice notify notnull nowait nth_value ntile null nullable nullif nulls number numeric object occurrences_regex octet_length octets of off offset oids old on only open operator option options or order ordering ordinality others out outer output over overlaps overlay overriding owned owner p pad parallel parameter parameter_mode parameter_name parameter_ordinal_position parameter_specific_catalog parameter_specific_name parameter_specific_schema parser partial partition pascal passing passthrough password path percent percent_rank percentile_cont percentile_disc perform period permission pg_context pg_datatype_name pg_exception_context pg_exception_detail pg_exception_hint placing plans pli policy portion position position_regex power precedes preceding precision prepare prepared preserve primary print_strict_params prior privileges procedural procedure procedures program public publication query quote raise range rank read reads real reassign recheck recovery recursive ref references referencing refresh regr_avgx regr_avgy regr_count regr_intercept regr_r2 regr_slope regr_sxx regr_sxy regr_syy reindex relative release rename repeatable replace replica requiring reset respect restart restore restrict result result_oid return returned_cardinality returned_length returned_octet_length returned_sqlstate returning returns reverse revoke right role rollback rollup routine routine_catalog routine_name routine_schema routines row row_count row_number rows rowtype rule savepoint scale schema schema_name schemas scope scope_catalog scope_name scope_schema scroll search second section security select selective self sensitive sequence sequences serializable server server_name session session_user set setof sets share show similar simple size skip slice smallint snapshot some source space specific specific_name specifictype sql sqlcode sqlerror sqlexception sqlstate sqlwarning sqrt stable stacked standalone start state statement static statistics stddev_pop stddev_samp stdin stdout storage strict strip structure style subclass_origin submultiset subscription substring substring_regex succeeds sum symmetric sysid system system_time system_user t table table_name tables tablesample tablespace temp template temporary text then ties time timestamp timezone_hour timezone_minute to token top_level_count trailing transaction transaction_active transactions_committed transactions_rolled_back transform transforms translate translate_regex translation treat trigger trigger_catalog trigger_name trigger_schema trim trim_array true truncate trusted type types uescape unbounded uncommitted under unencrypted union unique unknown unlink unlisten unlogged unnamed unnest until untyped update upper uri usage use_column use_variable user user_defined_type_catalog user_defined_type_code user_defined_type_name user_defined_type_schema using vacuum valid validate validator value value_of values var_pop var_samp varbinary varchar variable_conflict variadic varying verbose version versioning view views volatile warning when whenever where while whitespace width_bucket window with within without work wrapper write xml xmlagg xmlattributes xmlbinary xmlcast xmlcomment xmlconcat xmldeclaration xmldocument xmlelement xmlexists xmlforest xmliterate xmlnamespaces xmlparse xmlpi xmlquery xmlroot xmlschema xmlserialize xmltable xmltext xmlvalidate year yes zone"),builtin:M("bigint int8 bigserial serial8 bit varying varbit boolean bool box bytea character char varchar cidr circle date double precision float8 inet integer int int4 interval json jsonb line lseg macaddr macaddr8 money numeric decimal path pg_lsn point polygon real float4 smallint int2 smallserial serial2 serial serial4 text time without zone with timetz timestamp timestamptz tsquery tsvector txid_snapshot uuid xml"),atoms:M("false true null unknown"),operatorChars:/^[*\/+\-%<>!=&|^\/#@?~]/,backslashStringEscapes:!1,dateSQL:M("date time timestamp"),support:M("ODBCdotTable decimallessFloat zerolessFloat binaryNumber hexNumber nCharCast charsetCast escapeConstant")}),kC=We({keywords:M("ancestor and asc by contains desc descendant distinct from group has in is limit offset on order select superset where"),atoms:M("false true"),builtin:M("blob datetime first key __key__ string integer double boolean null"),operatorChars:/^[*+\-%<>!=]/}),xC=We({client:M("source"),keywords:M("abort absolute access action active add admin after aggregate all also alter always analyse analyze and any array as asc assertion assignment asymmetric at authorization backward before begin between bigint binary bit boolean both by cache called cascade cascaded case cast chain char character characteristics check checkpoint class close cluster coalesce codegen collate column comment commit committed concurrency concurrently configuration connection constraint constraints contains content continue conversion copy cost cpu_rate_limit create createdb createexttable createrole createuser cross csv cube current current_catalog current_date current_role current_schema current_time current_timestamp current_user cursor cycle data database day deallocate dec decimal declare decode default defaults deferrable deferred definer delete delimiter delimiters deny desc dictionary disable discard distinct distributed do document domain double drop dxl each else enable encoding encrypted end enum errors escape every except exchange exclude excluding exclusive execute exists explain extension external extract false family fetch fields filespace fill filter first float following for force foreign format forward freeze from full function global grant granted greatest group group_id grouping handler hash having header hold host hour identity if ignore ilike immediate immutable implicit in including inclusive increment index indexes inherit inherits initially inline inner inout input insensitive insert instead int integer intersect interval into invoker is isnull isolation join key language large last leading least left level like limit list listen load local localtime localtimestamp location lock log login mapping master match maxvalue median merge minute minvalue missing mode modifies modify month move name names national natural nchar new newline next no nocreatedb nocreateexttable nocreaterole nocreateuser noinherit nologin none noovercommit nosuperuser not nothing notify notnull nowait null nullif nulls numeric object of off offset oids old on only operator option options or order ordered others out outer over overcommit overlaps overlay owned owner parser partial partition partitions passing password percent percentile_cont percentile_disc placing plans position preceding precision prepare prepared preserve primary prior privileges procedural procedure protocol queue quote randomly range read readable reads real reassign recheck recursive ref references reindex reject relative release rename repeatable replace replica reset resource restart restrict returning returns revoke right role rollback rollup rootpartition row rows rule savepoint scatter schema scroll search second security segment select sequence serializable session session_user set setof sets share show similar simple smallint some split sql stable standalone start statement statistics stdin stdout storage strict strip subpartition subpartitions substring superuser symmetric sysid system table tablespace temp template temporary text then threshold ties time timestamp to trailing transaction treat trigger trim true truncate trusted type unbounded uncommitted unencrypted union unique unknown unlisten until update user using vacuum valid validation validator value values varchar variadic varying verbose version view volatile web when where whitespace window with within without work writable write xml xmlattributes xmlconcat xmlelement xmlexists xmlforest xmlparse xmlpi xmlroot xmlserialize year yes zone"),builtin:M("bigint int8 bigserial serial8 bit varying varbit boolean bool box bytea character char varchar cidr circle date double precision float float8 inet integer int int4 interval json jsonb line lseg macaddr macaddr8 money numeric decimal path pg_lsn point polygon real float4 smallint int2 smallserial serial2 serial serial4 text time without zone with timetz timestamp timestamptz tsquery tsvector txid_snapshot uuid xml"),atoms:M("false true null unknown"),operatorChars:/^[*+\-%<>!=&|^\/#@?~]/,dateSQL:M("date time timestamp"),support:M("ODBCdotTable decimallessFloat zerolessFloat binaryNumber hexNumber nCharCast charsetCast")}),wC=We({keywords:M("add after all alter analyze and anti archive array as asc at between bucket buckets by cache cascade case cast change clear cluster clustered codegen collection column columns comment commit compact compactions compute concatenate cost create cross cube current current_date current_timestamp database databases data dbproperties defined delete delimited deny desc describe dfs directories distinct distribute drop else end escaped except exchange exists explain export extended external false fields fileformat first following for format formatted from full function functions global grant group grouping having if ignore import in index indexes inner inpath inputformat insert intersect interval into is items join keys last lateral lazy left like limit lines list load local location lock locks logical macro map minus msck natural no not null nulls of on optimize option options or order out outer outputformat over overwrite partition partitioned partitions percent preceding principals purge range recordreader recordwriter recover reduce refresh regexp rename repair replace reset restrict revoke right rlike role roles rollback rollup row rows schema schemas select semi separated serde serdeproperties set sets show skewed sort sorted start statistics stored stratify struct table tables tablesample tblproperties temp temporary terminated then to touch transaction transactions transform true truncate unarchive unbounded uncache union unlock unset use using values view when where window with"),builtin:M("tinyint smallint int bigint boolean float double string binary timestamp decimal array map struct uniontype delimited serde sequencefile textfile rcfile inputformat outputformat"),atoms:M("false true null"),operatorChars:/^[*\/+\-%<>!=~&|^]/,dateSQL:M("date time timestamp"),support:M("ODBCdotTable doubleQuote zerolessFloat")}),PC=We({client:M("source"),keywords:M("alter and as asc between by count create delete desc distinct drop from group having in insert into is join like not on or order select set table union update values where limit after all and as at asc avedev avg between by case cast coalesce count create current_timestamp day days delete define desc distinct else end escape events every exists false first from full group having hour hours in inner insert instanceof into irstream is istream join last lastweekday left limit like max match_recognize matches median measures metadatasql min minute minutes msec millisecond milliseconds not null offset on or order outer output partition pattern prev prior regexp retain-union retain-intersection right rstream sec second seconds select set some snapshot sql stddev sum then true unidirectional until update variable weekday when where window"),builtin:{},atoms:M("false true null"),operatorChars:/^[*+\-%<>!=&|^\/#@?~]/,dateSQL:M("time"),support:M("decimallessFloat zerolessFloat binaryNumber hexNumber")});var Cg={name:"toml",startState:function(){return{inString:!1,stringType:"",lhs:!0,inArray:0}},token:function(i,e){let t;if(!e.inString&&(t=i.match(/^('''|"""|'|")/))&&(e.stringType=t[0],e.inString=!0),i.sol()&&!e.inString&&e.inArray===0&&(e.lhs=!0),e.inString){for(;e.inString;)if(i.match(e.stringType))e.inString=!1;else if(i.peek()==="\\")i.next(),i.next();else{if(i.eol())break;i.match(/^.[^\\\"\']*/)}return e.lhs?"property":"string"}else{if(e.inArray&&i.peek()==="]")return i.next(),e.inArray--,"bracket";if(e.lhs&&i.peek()==="["&&i.skipTo("]"))return i.next(),i.peek()==="]"&&i.next(),"atom";if(i.peek()==="#")return i.skipToEnd(),"comment";if(i.eatSpace())return null;if(e.lhs&&i.eatWhile(function(n){return n!="="&&n!=" "}))return"property";if(e.lhs&&i.peek()==="=")return i.next(),e.lhs=!1,null;if(!e.lhs&&i.match(/^\d\d\d\d[\d\-\:\.T]*Z/))return"atom";if(!e.lhs&&(i.match("true")||i.match("false")))return"atom";if(!e.lhs&&i.peek()==="[")return e.inArray++,i.next(),"bracket";if(!e.lhs&&i.match(/^\-?\d+(?:\.\d+)?/))return"number";i.eatSpace()||i.next()}return null},languageData:{commentTokens:{line:"#"}}};var wP=Qe({"for in if else endfor endif":d.controlKeyword,"Attribute/Identifier":d.definition(d.propertyName),"ForIntro/Identifier":d.definition(d.propertyName),"Block/Identifier":d.definitionKeyword,"FunctionCall/Identifier":d.function(d.variableName),"Attribute/Expression":d.attributeValue,"VariableExpr/Identifier":d.variableName,"GetAttr/Identifier":d.variableName,Identifier:d.name,"LiteralValue/...":d.literal,"StringLit/... TemplateLiteral":d.string,NumericLit:d.number,BoolLit:d.bool,NullLit:d.null,Comment:d.comment,LineComment:d.lineComment,BlockComment:d.blockComment,"( )":d.paren,"{ }":d.bracket,"[ ]":d.squareBracket,ArithOp:d.arithmeticOperator,LogicOp:d.logicOperator,CompareOp:d.compareOperator,ControlOp:d.controlOperator,HeredocIdentifier:d.special(d.controlKeyword),HeredocStart:d.special(d.brace),"TemplateInterpolationStart TemplateInterpolationEnd":d.special(d.brace),"TemplateDirectiveStart TemplateDirectiveEnd":d.special(d.brace),StripMarker:d.special(d.brace),Ellipsis:d.punctuation,": =>":d.punctuation,",":d.separator}),mh=1,gh=2,Qh=3,bh=4,Sh=5,yh=6,An=7,Ae=93,Ce={QUOTED_TEMPLATE:1,TEMPLATE_INTERPOLATION:2,TEMPLATE_DIRECTIVE:4,HEREDOC_TEMPLATE:8},PP=function(i){var e=0,t,n;if(i.length===0)return e;for(t=0;t{if(e.canShift(mh)&&!(e.context&&e.context.type===Ce.QUOTED_TEMPLATE)&&String.fromCharCode(i.next)==='"')return i.advance(),i.acceptToken(mh)},{contextual:!0,fallback:!0}),CP=new J((i,e)=>{if(e.canShift(gh)&&e.context&&e.context.type===Ce.QUOTED_TEMPLATE&&String.fromCharCode(i.next)==='"')return i.advance(),i.acceptToken(gh)},{contextual:!0,fallback:!0}),XP=new J((i,e)=>{if(e.canShift(Ae)&&e.context&&e.context.type===Ce.QUOTED_TEMPLATE)switch(String.fromCharCode(i.next)){case"\\":switch(i.advance(),String.fromCharCode(i.next)){case'"':case"n":case"r":case"t":case"\\":return i.advance(),i.acceptToken(Ae);case"u":for(let t=0;t<4;t++)if(i.advance(),!/[0-9a-fA-F]/.test(String.fromCharCode(i.next)))return;return i.advance(),i.acceptToken(Ae);case"U":for(let t=0;t<8;t++)if(i.advance(),!/[0-9a-fA-F]/.test(String.fromCharCode(i.next)))return;return i.advance(),i.acceptToken(Ae);default:return}}if(e.canShift(Ae)&&e.context&&(e.context.type===Ce.QUOTED_TEMPLATE||e.context.type===Ce.HEREDOC_TEMPLATE)&&i.next!==-1)return i.advance(),i.acceptToken(Ae)},{contextual:!0,fallback:!0}),_P=new J((i,e)=>{if(e.canShift(Qh)&&e.canShift(Ae)&&!(e.context&&e.context.type===Ce.TEMPLATE_INTERPOLATION)&&String.fromCharCode(i.next)==="$")return i.advance(),String.fromCharCode(i.next)==="{"?(i.advance(),i.acceptToken(Qh)):(String.fromCharCode(i.next)==="$"&&(i.advance(),String.fromCharCode(i.next)==="{")&&i.advance(),i.acceptToken(Ae))},{contextual:!0,fallback:!0}),RP=new J((i,e)=>{if(e.canShift(bh)&&e.context&&e.context.type===Ce.TEMPLATE_INTERPOLATION&&String.fromCharCode(i.next)==="}")return i.advance(),i.acceptToken(bh)},{contextual:!0,fallback:!0}),AP=new J((i,e)=>{if(e.canShift(Sh)&&e.canShift(Ae)&&!(e.context&&e.context.type===Ce.TEMPLATE_DIRECTIVE)&&String.fromCharCode(i.next)==="%")return i.advance(),String.fromCharCode(i.next)==="{"?(i.advance(),i.acceptToken(Sh)):(String.fromCharCode(i.next)==="%"&&(i.advance(),String.fromCharCode(i.next)==="{")&&i.advance(),i.acceptToken(Ae))},{contextual:!0,fallback:!0}),ZP=new J((i,e)=>{if(e.canShift(yh)&&e.context&&e.context.type===Ce.TEMPLATE_DIRECTIVE&&String.fromCharCode(i.next)==="}")return i.advance(),i.acceptToken(yh)},{contextual:!0,fallback:!0}),EP=new J((i,e)=>{if(e.canShift(An)&&!(e.context&&e.context.type===Ce.HEREDOC_TEMPLATE)&&i.next!==-1){let t=String.fromCharCode(i.next);for(;/[0-9a-zA-Z]/.test(t)||t==="_"||t==="-";)i.advance(),t=String.fromCharCode(i.next);return i.acceptToken(An)}if(e.canShift(An)&&e.canShift(Ae)&&e.context&&e.context.type===Ce.HEREDOC_TEMPLATE&&i.next!=-1){let t=e.context.heredoc_identifier,n=!1,r=!1,s=String.fromCharCode(i.next);for(;/\s/.test(s);)r=!0,s===` +`&&(n=!0),i.advance(),s=String.fromCharCode(i.next);if(r&&i.acceptToken(Ae),!n)return;let o=0;for(let l=0;lbQ&jO,5:fOOQy,5:h,5:hPOQy'#EY'#EYPOQy,5:j,5:jPOQy,5:k,5:kOOQy1G0g1G0gOOQO7+%u7+%uO>jQ&jO7+%uOOQ%n,5:|,5:|OOQ%n1G.}1G.}O>oQ&rO1G.}O>tQ&rO1G.}OOQ%n1G/Q1G/QO?PQ&jO,59jO?[Q'[O,59jOOQ%n1G/W1G/WO1tQ)tO1G/WO?dQ&jO'#DVO1tQ)tO1G/WO?rQ&jO,59oO@QQ'[O,59oO@YQ'[O,59qO@bQ&jO1G/RO@jQ&jO1G/RO$yQ&kO1G/XO@oQ'[O1G/XOOQy7+$y7+$yO@zQ&jO,5:rOA]Q&kO1G0lOOQO-E8U-E8UOOQy7+%[7+%[OAdQ&jO7+%[O$yQ&kO'#DlO$yQ&kO1G/qOAiQ&jO1G/qOOQP'#ES'#ESO$yQ&kO7+%rP$yQ&kO'#EXO$yQ&kO7+%_OAnQ&kO,5:ROAuQ&jO,5:ROOQO,5:R,5:ROOQy7+%V7+%VOOQy1G0Q1G0QPOQy-E8W-E8WOOQO<eAN>eOKmQ&jOAN>eOKrQ&jOAN>eOOQ%n<cOOQyG24PG24POLiQ&jOG24POOQ$YG23_G23_OLnQ'[OG23_OLyQ'[OG23_O$yQ&kOG23_OOQPG23}G23}OOQyLD)kLD)kOOQ$YLD(yLD(yOMOQ'[OLD(yOMTQ'[OLD(yOOQ$Y!$'Le!$'LeOM`Q'[O!$'LeOOQ$Y!)9BP!)9BPO-wQ&kO'#DoO/TQ&kO'#DoOMeQ&kO'#CkO-wQ&kO,5:^O/TQ&kO,5:^O-wQ&kO,5:^O/TQ&kO,5:^O-wQ&kO,5:^O/TQ&kO,5:^O-wQ&kO,5:^O/TQ&kO,5:^O-wQ&kO,5:^O/TQ&kO,5:^O-wQ&kO,5:^O/TQ&kO,5:^ON[Q&kO1G/xO! XQ&kO1G/xO!!UQ&kO1G/xO!%UQ&kO1G/xO!%]Q&kO1G/xO-wQ&kO7+%rO/TQ&kO7+%rO4uQ&jO1G0WO4uQ&jO1G0WO$yQ&kO,5:lO$yQ&kO,5:l",stateData:"!%l~O#ROSXPQYPQ~O^RO!SQO~OXVOYVO~OPZO^gOa[OcXOdXOfYO!P`O!RdO!ScO!YoO#W]O#X]O#^iO#_jO~OPqO^sO!SuO#SrO~O^RO#O[X!R[X~OQ!PORyOT!QO#PwO~OV!RO~OPZO^gOa[OcXOdXOfYOp!WO!P`O!ScO!YoO#W]O#X]O#^iO#_jO~O!O!TO~P#iO#S!XO#[!XO#o!YO~OPZO^gOa[OcXOdXOfYO!P`O!ScO!YoO#W]O#X]O#^iO#_jO~O#V!]O!R#ZX~P$yOp!WO~PmO!R!`O~O!Y!aO!P!VX!o!VX#^!VX#`!VX#a!VX#b!VX#c!VX#d!VX#e!VX#f!VX#g!VX#h!VX#i!VX#j!VX#k!VX#l!VX#m!VX#n!VX#o!VX~O#S!VX#[!VX!O!VX#V!VX!W!VX^!VX#O!VXS!VXl!VXv!VX![!VXU!VX!R!VX~P&[O!o!pO#^!dO#`!cO#a!cO#b!cO#c!dO#d!eO#e!eO#f!eO#g!eO#h!fO#i!fO#j!gO#k!hO#l!qO#m!rO#n!sO#o_X#V_X^_X!R_X~O!P!oO#S_X#[_X!O_X!W_X#O_XS_Xl_Xv_X![_XU_X~P(iOPqO^sO!S!zO~O^RO!R!{O~O#P!}OQ#UPR#UPT#UPV#UP~OQ#POR!yXT!yX#P!yX~OS#QOl#RO~P$yORyOT#VO#PwO~ORyOT#ZO#PwO~OQ#]ORyOT!QO#PwO~Ol#_Op#^Ov#`O~ORyOT!QOV#bO#PwO~O#V#cO#o!YO!O#YX~O!O#eO~O^#gO~OPZO^#iOa[OcXOdXOfYO!P`O!ScO!YoO#W]O#X]O#^iO#_jO~O!R#Za~P$yO#V#lO!R#Za~P$yOPZO^#nOa[OcXOdXOfYO!P`O!ScO!YoO#W]O#X]O#^iO#_jO~O!W#rO~P$yO^#{O~O!W$PO#o!YO~OQ#PO~O#o!YO^]i#O]i!R]i~O^RO!R$QO~OS$TOl$UO~P$yOS$TOl$UO#o!YO~Ol$XOp#^Os$YOv#`O~ORyOT$]O#PwO~Ol$_Op#^Ov#`Ox$`Oz$aO~O^$bO~Op$cOv$dO~ORyOT!QOV$fO#PwO~O!O#Ya~P$yO#V$hO!O#Ya~Ov$lO!O$jO#o!YO~Oq$mO#V$nO~O#o!YOP!Ui^!Uia!Uic!Uid!Uif!Ui!P!Ui!R!Ui!S!Ui!Y!Ui#V!Ui#W!Ui#X!Ui#^!Ui#_!Ui~O#[$oO#o!YO~O!R#Zi~P$yO#]!VX~P&[O#]$rO#o!YO~O!o!pO#^!dO#`!cO#a!cO#b!cO#c!dO#d!eO#e!eO#f!eO#g!eO#h!fO#i!fO#j!gO#k!hO#l!qO#m!rO#n!sO#o_X~O!P!oO#]_X~P5eO![$uO#V$sO#o!YO!W!ZX~O!W$vO~O#`!cO#a!cO#b!cO!P!fi!o!fi#S!fi#[!fi#d!fi#e!fi#f!fi#g!fi#h!fi#i!fi#j!fi#k!fi#l!fi#m!fi#n!fi#o!fi!O!fi#V!fi!W!fi^!fi#O!fiS!fil!fiv!fi![!fiU!fi!R!fi~O#^!fi#c!fi~P7^O#^!dO#c!dO~P7^O#^!dO#`!cO#a!cO#b!cO#c!dO#d!eO#e!eO#f!eO#g!eO!P!fi!o!fi#S!fi#[!fi#j!fi#k!fi#l!fi#m!fi#n!fi#o!fi!O!fi#V!fi!W!fi^!fi#O!fiS!fil!fiv!fi![!fiU!fi!R!fi~O#h!fi#i!fi~P9rO#h!fO#i!fO~P9rO#^!dO#`!cO#a!cO#b!cO#c!dO#d!eO#e!eO#f!eO#g!eO#h!fO#i!fO#j!gO!P!fi!o!fi#k!fi#l!fi#m!fi#n!fi#o!fi#V!fi^!fi!R!fi~O#S!fi#[!fi!O!fi!W!fi#O!fiS!fil!fiv!fi![!fiU!fi~PqP[i]||-1}],tokenPrec:2320}),LP=$e.define({parser:zP.configure({props:[we.add({Block:St({closing:"}",align:!1})}),Te.add({"Object Tuple TemplateFor TemplateIf":ht,BlockComment:i=>({from:i.from+2,to:i.to-2}),HeredocTemplate(i){let e=i.getChild("HeredocIdentifier");return e?{from:e.to,to:i.to}:null},FunctionCall(i){let e=i.getChild("("),t=i.getChild(")");return!e||!t?null:{from:e.from+1,to:t.to-1}},Block(i){let e=i.getChild("{"),t=i.getChild("}");return!e||!t?null:{from:e.from+1,to:t.to-1}}}),wP]}),languageData:{commentTokens:{line:"#",block:{open:"/*",close:"*/"}}}});function Xg(){return new me(LP)}function MP(i){let e=i.trim();if(!e)return"";if(/^#!.*\b(?:ba)?sh\b|^\s*\$\s+/.test(e))return"bash";if(e.startsWith("{")&&e.endsWith("}")||e.startsWith("[")&&e.endsWith("]"))try{return JSON.parse(e),"json"}catch{}return/^\s*(?:|(?:using\s+namespace\s+std|std::\w+|(?:cout|cin)\s*(?:<<|>>))\b)/m.test(e)?"cpp":/^\s*(?:#\s*include\s*[<"](?:assert|ctype|errno|float|inttypes|limits|math|setjmp|signal|stdarg|stdbool|stddef|stdint|stdio|stdlib|string|time)\.h[>"]|(?:int|void)\s+main\s*\([^)]*\)\s*\{)/m.test(e)?"c":/^\s*(?:async\s+)?def\s+\w+\s*\(|^\s*from\s+\w+[\w.]*\s+import\b|^\s*class\s+\w+\s*[:(]/m.test(e)?"python":/\b(?:SELECT|INSERT|UPDATE|DELETE|CREATE\s+(?:TABLE|VIEW|INDEX)|WITH)\b[\s\S]*\b(?:FROM|INTO|WHERE|AS)\b/i.test(e)?"sql":/(?:^|\n)\s*(?:[#.]?[A-Za-z][\w-]*)\s*\{[\s\S]*:[\s\S]*\}/.test(e)||/@(?:media|keyframes|supports)\b/.test(e)?"css":/^\s*(?:const|let|var)\s+[A-Za-z_$][\w$]*\s*(?::[^=\n]+)?\s*=/m.test(e)||/\b(?:function\s+\w+\s*\(|console\.(?:log|error|warn)|=>)/.test(e)?"javascript":/^\s*(?:[-A-Za-z_][\w-]*):\s*(?:[^:#\n]|$)/m.test(e)&&!/[{};]/.test(e)?"yaml":/^\s*(?:echo|printf|export|source|cd|mkdir|rm|cp|mv)\s+/m.test(e)?"bash":""}var Be=(i,e,t)=>Ie.of({name:i,alias:e,support:new me(Zs.define(t))}),Ng=[Ie.of({name:"javascript",alias:["js","jsx","ts","tsx","typescript","node"],support:so({jsx:!0,typescript:!0})}),Ie.of({name:"python",alias:["py"],support:Vm()}),Ie.of({name:"json",alias:["jsonc"],support:Ym()}),Ie.of({name:"css",alias:["scss"],support:ro()}),Ie.of({name:"html",alias:["htm","xml"],support:ao()}),Ie.of({name:"hcl",alias:["terraform","tf"],support:Xg()}),Be("swift",[],Bm),Be("shell",["sh","bash","zsh","console"],Hm),Be("yaml",["yml"],Km),Be("go",["golang"],ng),Be("ruby",["rb"],og),Be("rust",["rs"],cg),Be("c",["h"],Qg),Be("cpp",["c++","cc","hpp"],bg),Be("java",[],Sg),Be("kotlin",["kt"],xg),Be("objective-c",["objc","objectivec"],wg),Be("csharp",["cs","c#"],yg),Be("sql",[],We({})),Be("toml",[],Cg)],WP={resolve:"Highlight",mark:"HighlightMark"},jP=/[\p{S}\p{P}]/u;function _g(i){return!i||/\s/.test(i)}function Rg(i){return!!i&&jP.test(i)}var zh={defineNodes:["Highlight","HighlightMark"],parseInline:[{name:"Highlight",parse(i,e,t){if(e!==61||i.char(t+1)!==61)return-1;let n=t;for(;n>i.offset&&i.char(n-1)===61;)n--;let r=t+2;for(;i.char(r)===61;)r++;let s=n+(r-n)%2;if(t=i.offset&&i.char(m)===92;m--)o++;if(o%2!==0)return-1;let a=i.slice(n-1,n),l=i.slice(r,r+1),c=_g(a),h=_g(l),f=Rg(a),u=Rg(l),O=!h&&(!u||c||f),p=!c&&(!f||h||u);return i.addDelimiter(WP,t,t+2,O,p)},after:"Emphasis"}]},Mr=class extends ve{constructor(e,t){super(),this.text=e,this.className=t}eq(e){return e.text===this.text&&e.className===this.className}toDOM(){let e=document.createElement("span");return e.textContent=this.text,e.className=this.className,e}ignoreEvent(){return!1}},Th=class extends ve{constructor(e,t,n,r,s){super(),this.source=e,this.alt=t,this.raw=n,this.from=r,this.to=s}eq(e){return e.source===this.source&&e.alt===this.alt&&e.raw===this.raw&&e.from===this.from&&e.to===this.to}toDOM(e){let t=document.createElement("span");t.className="cm-md-image-preview",t.setAttribute("role","figure");let n=document.createElement("img");n.src=this.source,n.alt=this.alt,n.draggable=!1,n.addEventListener("error",()=>t.classList.add("cm-md-image-error"),{once:!0});let r=document.createElement("code");r.className="cm-md-image-source",r.textContent=this.raw,r.title="Click to edit image source";let s=o=>{o.preventDefault(),o.stopPropagation(),e.focus(),e.dispatch({selection:{anchor:Math.min(this.from+2,this.to)},userEvent:"select.pointer"})};return r.addEventListener("mousedown",s),r.addEventListener("click",s),n.addEventListener("mousedown",o=>{o.preventDefault(),o.stopPropagation()}),n.addEventListener("click",o=>{o.preventDefault(),o.stopPropagation();let a=n.currentSrc||n.src;a.startsWith("md-asset:")?window.__mdRequestImageRename?.(a):s(o)}),t.append(n,r),t}ignoreEvent(){return!0}},Ch=class extends ve{eq(){return!0}toDOM(){let e=document.createElement("span");return e.className="cm-md-hr",e}ignoreEvent(){return!1}},VP=0,Xh=class extends ve{constructor(e){super(),this.source=e}eq(e){return e.source===this.source}toDOM(e){let t=document.createElement("figure");t.className="cm-md-mermaid-preview",t.setAttribute("role","img"),t.setAttribute("aria-label","Mermaid diagram. Click to edit source.");let n=document.createElement("div");n.className="cm-md-mermaid-stage",n.textContent="Rendering diagram\u2026",t.appendChild(n),t.addEventListener("mousedown",o=>{o.preventDefault(),e.focus();let a=e.posAtDOM(t);e.dispatch({selection:{anchor:a+1},userEvent:"select.pointer"})});let r=window.mermaid;if(!r||typeof r.render!="function")return n.textContent="Mermaid preview unavailable. Click to edit source.",t;let s=`md-editor-mermaid-${++VP}`;return Promise.resolve(r.render(s,this.source)).then(({svg:o})=>{n.innerHTML=o;let a=n.querySelector("svg"),l=a?.viewBox?.baseVal;a&&l?.width>0&&l?.height>0&&(t.style.setProperty("--mm-aspect",`${l.width} / ${l.height}`),a.removeAttribute("width"),a.removeAttribute("height"),a.setAttribute("preserveAspectRatio","xMidYMid meet"),a.style.width="100%",a.style.height="100%"),e.requestMeasure()}).catch(()=>{n.textContent="Unable to render Mermaid diagram. Click to edit source.",t.classList.add("cm-md-mermaid-error"),e.requestMeasure()}),t}ignoreEvent(){return!0}},Fg=new WeakMap,_h=te.define({map:(i,e)=>e.mapPos(i,1,ge.TrackAfter)??void 0}),En=he.define({create:()=>new Set,update(i,e){if(!e.docChanged&&!e.effects.some(n=>n.is(_h)))return i;let t=new Set([...i].map(n=>e.changes.mapPos(n,1,ge.TrackAfter)).filter(n=>n!=null));for(let n of e.effects)n.is(_h)&&(t.has(n.value)?t.delete(n.value):t.add(n.value));return t}}),kh=i=>'",Co=class extends ve{constructor(e){super(),Object.assign(this,e)}eq(e){return e.fenceFrom===this.fenceFrom&&e.infoFrom===this.infoFrom&&e.infoTo===this.infoTo&&e.rawInfo===this.rawInfo&&e.detectedLanguage===this.detectedLanguage&&e.wrapped===this.wrapped&&e.plain===this.plain}toDOM(e){let t=document.createElement("span");t.className="cm-md-code-language",t.contentEditable="false";let n=document.createElement("input");n.type="text",n.className="cm-md-code-language-input",n.autocomplete="off",n.spellcheck=!1,n.value=this.language,n.readOnly=!!this.plain,n.placeholder="language",n.setAttribute("aria-label","Code block language"),n.dataset.fenceFrom=String(this.fenceFrom);let r=this.rawInfo.match(/^\S+([\s\S]*)$/)?.[1]||"",s=n.value,o=!0,a=!1,l=()=>{if(this.plain)return;let f=n.value.trim().split(/\s+/,1)[0].toLowerCase(),u=f?f+r:"";u!==this.rawInfo&&n.value!==s&&(a=!0,e.dispatch({changes:{from:this.infoFrom,to:this.infoTo,insert:u},userEvent:"input"}))};n.addEventListener("change",l),n.addEventListener("keydown",f=>{f.stopPropagation(),f.key==="Enter"?(f.preventDefault(),l(),n.blur(),e.focus()):f.key==="Escape"&&(f.preventDefault(),o=!1,n.value=this.language,n.blur(),e.focus())}),n.addEventListener("mousedown",f=>f.stopPropagation()),n.addEventListener("click",f=>f.stopPropagation()),n.addEventListener("blur",()=>{o&&!a&&l(),a=!1,o=!0}),t.appendChild(n);let c=(f,u,O,p)=>{let m=document.createElement("button");return m.type="button",m.className=`cm-md-code-action ${O}`,m.title=f,m.setAttribute("aria-label",f),m.innerHTML=kh(u),m.addEventListener("mousedown",b=>{b.preventDefault(),b.stopPropagation()}),m.addEventListener("click",b=>{b.preventDefault(),b.stopPropagation(),p(m)}),t.appendChild(m),m};return c(this.wrapped?"Unwrap code":"Wrap code",this.wrapped?"unwrap":"wrap","cm-md-code-toggle-wrap",()=>e.dispatch({effects:_h.of(e.state.doc.lineAt(this.fenceFrom).from)})).setAttribute("aria-pressed",String(this.wrapped)),c("Copy code","copy","cm-md-code-copy",async f=>{let u=e.state.doc.lineAt(this.fenceFrom),O=U(e.state).resolve(this.plain?u.to:this.fenceFrom+1,-1);for(;O&&O.name!==(this.plain?"CodeBlock":"FencedCode");)O=O.parent;if(!O)return;let p=this.plain?O.getChildren("CodeText").map(m=>e.state.sliceDoc(m.from,m.to)).join(""):Ro(e.state,O).source;try{let m=Fg.get(e);m?m(p):await navigator.clipboard.writeText(p),f.innerHTML=kh("check"),f.title="Code copied",f.setAttribute("aria-label",f.title),clearTimeout(f.copyTimer),f.copyTimer=setTimeout(()=>{f.innerHTML=kh("copy"),f.title="Copy code",f.setAttribute("aria-label",f.title)},1100)}catch{}}),t}ignoreEvent(){return!0}};function Po(i,e=!1){let t=[],n="",r=0,s=()=>t.push({text:n.trim(),from:r+n.length-n.trimStart().length,to:r+n.trimEnd().length}),o=0,a=0;for(let c=0;cc.text)}function DP(i){let e=i.trim(),t=e.startsWith(":"),n=e.endsWith(":"),r=e.replace(/^:/,"").replace(/:$/,"");return/^-{3,}$/.test(r)?t&&n?"center":t?"left":n?"right":"none":null}function Lh(i){let e=i.endsWith(` `),t=i.replace(/\n$/,"").split(` -`);if(t.length<2)return null;let n=vo(t[0]),r=vo(t[1]).map(DP);if(!n.length||!r.length||r.some(a=>a==null))return null;let s=[n,...t.slice(2).map(a=>vo(a))],o=Math.max(r.length,...s.map(a=>a.length));for(;r.length{let f=i.slice(0,c).replace(/\n+/g," ").length-l;e[h]=r[Math.max(0,Math.min(f,n.length))]})}return s}function YP(i){let e=i.alignments.map((s,o)=>Math.max(3,...i.rows.map(a=>Array.from(a[o]||"").length))),t=s=>"| "+s.map((o,a)=>{let l=Mh(o);return l+" ".repeat(Math.max(0,e[a]-Array.from(l).length))}).join(" | ")+" |",n="| "+i.alignments.map((s,o)=>{let a=e[o];return s==="left"?":"+"-".repeat(Math.max(3,a-1)):s==="right"?"-".repeat(Math.max(3,a-1))+":":s==="center"?":"+"-".repeat(Math.max(3,a-2))+":":"-".repeat(a)}).join(" | ")+" |";return[t(i.rows[0]),n,...i.rows.slice(1).map(t)].join(` +`);if(t.length<2)return null;let n=Po(t[0]),r=Po(t[1]).map(DP);if(!n.length||!r.length||r.some(a=>a==null))return null;let s=[n,...t.slice(2).map(a=>Po(a))],o=Math.max(r.length,...s.map(a=>a.length));for(;r.length{let f=i.slice(0,c).replace(/\n+/g," ").length-l;e[h]=r[Math.max(0,Math.min(f,n.length))]})}return s}function YP(i){let e=i.alignments.map((s,o)=>Math.max(3,...i.rows.map(a=>Array.from(a[o]||"").length))),t=s=>"| "+s.map((o,a)=>{let l=Mh(o);return l+" ".repeat(Math.max(0,e[a]-Array.from(l).length))}).join(" | ")+" |",n="| "+i.alignments.map((s,o)=>{let a=e[o];return s==="left"?":"+"-".repeat(Math.max(3,a-1)):s==="right"?"-".repeat(Math.max(3,a-1))+":":s==="center"?":"+"-".repeat(Math.max(3,a-2))+":":"-".repeat(a)}).join(" | ")+" |";return[t(i.rows[0]),n,...i.rows.slice(1).map(t)].join(` `)+(i.trailingNewline?` -`:"")}var IP=1,Lr=null,BP=Si.parser.configure(zh),Hg=new WeakMap;function wh(i,e){let t={StrongEmphasis:"cm-md-strong",Emphasis:"cm-md-emphasis",Strikethrough:"cm-md-strikethrough",Highlight:"cm-md-highlight"},n=(o,a,l)=>{if(!a)return;let c=document.createTextNode(a);Hg.set(c,l),o.append(c)},r=(o,a,l,c)=>{let h=l;for(let f=a.firstChild;f;f=f.nextSibling)f.fromc||(n(o,e.slice(h,f.from),h),s(o,f),h=f.to);n(o,e.slice(h,c),h)},s=(o,a)=>{if(a.name==="InlineCode"){let l=document.createElement("code");l.className="cm-md-inline-code";let c=e.slice(a.firstChild.to,a.lastChild.from).replace(/\n/g," "),h=c.startsWith(" ")&&c.endsWith(" ")&&/[^ ]/.test(c);h&&(c=c.slice(1,-1)),n(l,c,a.firstChild.to+(h?1:0)),o.append(l)}else if(t[a.name]){let l=document.createElement("span");l.className=t[a.name],r(l,a,a.firstChild.to,a.lastChild.from),o.append(l)}else if(a.name==="Link"&&a.getChild("URL")){let l=a.getChildren("LinkMark"),c=document.createElement("span");c.className="cm-md-link",r(c,a,l[0].to,l[1].from),o.append(c)}else a.name==="Escape"?n(o,e.slice(a.from+1,a.to),a.from+1):a.name==="Image"?n(o,e.slice(a.from,a.to),a.from):r(o,a,a.from,a.to)};i.replaceChildren(),s(i,BP.parse(e).topNode)}var Ee=new WeakMap,Wh=new WeakMap,UP=new Set(["bold","italic","strikethrough","highlight","code","link"]);function Kg(i,e){let n=i.state.doc.lineAt(e.tableFrom).number+(e.row===0?0:e.row+1);if(n>i.state.doc.lines)return null;let r=i.state.doc.line(n),s=vo(r.text,!0)[e.column];return s?{from:r.from+s.from,to:r.from+Math.max(s.from,s.to)}:null}function zn(i){let e=Ee.get(i);if(!e||e.element.dataset.tableEditing!=="true")return;let t=window.getSelection();if(!t?.anchorNode||!t.focusNode||!e.element.contains(t.anchorNode)||!e.element.contains(t.focusNode))return;let n=(a,l)=>{let c=document.createRange();return c.selectNodeContents(e.element),c.setEnd(a,l),c.toString().length};e.anchor=n(t.anchorNode,t.anchorOffset),e.head=n(t.focusNode,t.focusOffset);let r=e.element.innerText||"",s=[e.anchor,e.head];Mh(r,s),e.sourceAnchor=s[0],e.sourceHead=s[1];let o=re.create({doc:r,selection:P.single(e.anchor,e.head),extensions:[Ic({extensions:zh})]});Wh.get(i)?.(Eh(o))}function $o(i){let e=Ee.get(i);if(!e)return null;zn(i),e.element.dataset.tableEditing==="true"&&e.element.blur();let t=Kg(i,e);if(!t)return null;let n=t.to-t.from;return i.dispatch({selection:P.single(t.from+Math.max(0,Math.min(e.sourceAnchor??e.anchor,n)),t.from+Math.max(0,Math.min(e.sourceHead??e.head,n)))}),e}function To(i,e){let t=Kg(i,e);if(!t)return;let n=i.state.selection.main,r=Math.max(0,Math.min(n.anchor-t.from,t.to-t.from)),s=Math.max(0,Math.min(n.head-t.from,t.to-t.from)),o=i.dom.querySelector(`.cm-md-table-widget[data-table-from="${e.tableFrom}"] [data-table-row="${e.row}"][data-table-column="${e.column}"]`);if(!o)return;o.focus({preventScroll:!0});let a=o.firstChild||o.appendChild(document.createTextNode(""));window.getSelection()?.setBaseAndExtent(a,r,a,s),zn(i)}var GP=De.fromClass(class{constructor(i){this.view=i,this.capture=()=>zn(i),this.clear=e=>{e.target.closest?.(".cm-md-table-cell")||Ee.delete(i)},document.addEventListener("selectionchange",this.capture),i.dom.addEventListener("mousedown",this.clear,!0)}destroy(){document.removeEventListener("selectionchange",this.capture),this.view.dom.removeEventListener("mousedown",this.clear,!0),Ee.delete(this.view),Wh.delete(this.view)}}),Rh=class extends ve{constructor(e,t){super(),this.source=e,this.from=t}eq(e){return e.source===this.source&&e.from===this.from}toDOM(e){let t=Lh(this.source),n=document.createElement("div");if(n.className="cm-md-table-widget",n.dataset.tableFrom=String(this.from),!t)return n.textContent=this.source,n;let r=null,s=null,o=null,a=!1,l=document.createElement("div");l.className="cm-md-table-scroll",n.appendChild(l);let c=document.createElement("table");c.className="cm-md-table-grid",l.appendChild(c);let h=(Q,S)=>{requestAnimationFrame(()=>requestAnimationFrame(()=>{let x=e.dom.querySelector(`.cm-md-table-widget[data-table-from="${this.from}"]`);(x&&x.querySelector(`[data-table-row="${Q}"][data-table-column="${S}"]`))?.focus()}))},f=(Q=null)=>{let S=YP(t);if(S===this.source){Q&&n.querySelector(`[data-table-row="${Q.row}"][data-table-column="${Q.column}"]`)?.focus();return}r=null,e.dispatch({changes:{from:this.from,to:this.from+this.source.length,insert:S},userEvent:"input"}),Q&&h(Q.row,Q.column)},u=()=>{!r||r.element.dataset.tableEditing!=="true"||(t.rows[r.row][r.column]=r.element.innerText||"")},O=()=>{n.querySelectorAll(".is-table-part-selected").forEach(Q=>{Q.classList.remove("is-table-part-selected")}),n.classList.remove("is-table-row-selected","is-table-column-selected","is-table-range-selected"),n.removeAttribute("aria-label"),s=null},p=(Q,S,x)=>{if(u(),O(),Array.from(n.querySelectorAll(".cm-md-table-cell")).filter($=>{let R=Number($.dataset.tableRow),_=Number($.dataset.tableColumn);return R>=S.top&&R<=S.bottom&&_>=S.left&&_<=S.right}).forEach($=>{$.classList.add("is-table-part-selected")}),n.classList.add(Q==="row"?"is-table-row-selected":Q==="column"?"is-table-column-selected":"is-table-range-selected"),window.getSelection()?.removeAllRanges(),s={kind:Q,row:x.row,column:x.column,bounds:S},Ee.delete(e),n.tabIndex=0,Q==="range"){let $=S.bottom-S.top+1,R=S.right-S.left+1;n.setAttribute("aria-label",`Selected ${$} rows by ${R} columns.`)}else{let $=Q==="row"?x.row:x.column+1;n.setAttribute("aria-label",`Selected ${Q} ${$}. Press Delete to remove it.`)}n.focus()},m=(Q,S,x)=>{let v=Q==="row"?{top:S,right:t.alignments.length-1,bottom:S,left:0}:{top:0,right:x,bottom:t.rows.length-1,left:x};p(Q,v,{row:S,column:x})},b=(Q,S,x,v)=>{p("range",{top:Math.min(Q,x),right:Math.max(S,v),bottom:Math.max(Q,x),left:Math.min(S,v)},{row:Q,column:S})},g=(Q,S,x)=>{if(u(),Q==="selectRow"&&S>0)m("row",S,x);else if(Q==="selectColumn"&&t.alignments.length>1)m("column",S,x);else if(Q==="insertRowBefore"&&S>0)t.rows.splice(S,0,Array(t.alignments.length).fill("")),f({row:S,column:x});else if(Q==="insertRowAfter")t.rows.splice(S+1,0,Array(t.alignments.length).fill("")),f({row:S+1,column:x});else if(Q==="duplicateRow"&&S>0)t.rows.splice(S+1,0,[...t.rows[S]]),f({row:S+1,column:x});else if(Q==="deleteRow"&&S>0)t.rows.splice(S,1),f({row:Math.min(S,t.rows.length-1),column:x});else if(Q==="insertColumnBefore"){for(let v of t.rows)v.splice(x,0,"");t.alignments.splice(x,0,"none"),f({row:S,column:x})}else if(Q==="insertColumnAfter"){for(let v of t.rows)v.splice(x+1,0,"");t.alignments.splice(x+1,0,"none"),f({row:S,column:x+1})}else if(Q==="deleteColumn"&&t.alignments.length>1){for(let v of t.rows)v.splice(x,1);t.alignments.splice(x,1),f({row:S,column:Math.min(x,t.alignments.length-1)})}};return t.rows.forEach((Q,S)=>{let x=document.createElement("tr");c.appendChild(x),Q.forEach((v,$)=>{let R=document.createElement(S===0?"th":"td"),_=document.createElement("div");if(_.className="cm-md-table-cell",_.contentEditable="plaintext-only",_.spellcheck=!0,wh(_,v),_.dataset.tableRow=String(S),_.dataset.tableColumn=String($),S===0){let W=`Column ${$+1}`;_.dataset.placeholder=W;let T=()=>{(_.innerText||"").trim()?_.removeAttribute("aria-label"):_.setAttribute("aria-label",W)};T(),_.addEventListener("input",T)}t.alignments[$]!=="none"&&(_.style.textAlign=t.alignments[$]),_.addEventListener("focus",()=>{O(),(_.textContent!==t.rows[S][$]||_.childElementCount)&&(_.textContent=t.rows[S][$]),_.dataset.tableEditing="true",Ee.set(e,{tableFrom:this.from,row:S,column:$,element:_,anchor:0,head:0}),r={row:S,column:$,element:_}}),_.addEventListener("contextmenu",W=>{W.preventDefault(),_.focus(),r={row:S,column:$,element:_};let T=String(IP++);Lr={token:T,perform:k=>g(k,S,$)},window.__mdRequestTableContextMenu?.({token:T,canInsertRowAbove:S>0,canDuplicateRow:S>0,canDeleteRow:S>0,canDeleteColumn:t.alignments.length>1,showsDuplicateRow:!0})}),_.addEventListener("blur",()=>{if(zn(e),!r||r.element!==_)return;let W=_.innerText||"",T=W!==t.rows[S][$];t.rows[S][$]=W,r=null,delete _.dataset.tableEditing,wh(_,t.rows[S][$]),T&&f()}),_.addEventListener("keydown",W=>{if((W.metaKey||W.ctrlKey)&&["b","i"].includes(W.key.toLowerCase())){W.preventDefault();let C=$o(e);At(W.key.toLowerCase()==="b"?"**":"*")(e),C&&To(e,C);return}if(W.key==="Escape"){W.preventDefault(),r=null,_.blur(),delete _.dataset.tableEditing,wh(_,t.rows[S][$]),Ee.delete(e),e.focus();return}if(W.key!=="Tab"&&W.key!=="Enter")return;W.preventDefault(),t.rows[S][$]=_.innerText||"";let T=W.key==="Tab"&&W.shiftKey,k=S,w=$+(T?-1:1);w<0?(k--,w=t.alignments.length-1):w>=t.alignments.length&&(k++,w=0),k<0?(k=0,w=0):k>=t.rows.length&&t.rows.push(Array(t.alignments.length).fill("")),f({row:k,column:w})}),R.appendChild(_),x.appendChild(R)})}),n.addEventListener("mousedown",Q=>{if(Q.button!==0)return;let S=Q.target.closest?.(".cm-md-table-cell");if(!S)return;let x=Number(S.dataset.tableRow),v=Number(S.dataset.tableColumn);if(!Number.isInteger(x)||x<0||!Number.isInteger(v))return;Q.stopPropagation();let $=null;if(S.dataset.tableEditing!=="true"&&Q.detail===1&&!Q.shiftKey&&!Q.metaKey&&!Q.ctrlKey&&!Q.altKey&&S.textContent!==t.rows[x][v]){let T=document.caretRangeFromPoint?.(Q.clientX,Q.clientY),k=T&&Hg.get(T.startContainer);k!=null&&S.contains(T.startContainer)&&($=k+T.startOffset,Q.preventDefault())}S.focus({preventScroll:!0});let R=T=>{let k=S.firstChild;k&&window.getSelection()?.setBaseAndExtent(k,$,k,T)};$!=null&&R($),o={cell:S,row:x,column:v,head:S,active:!1,dragged:!1};let _=T=>{document.removeEventListener("mousemove",W,!0),document.removeEventListener("mouseup",_,!0),o?.active?(T.preventDefault(),window.getSelection()?.removeAllRanges(),a=!0):zn(e),o=null},W=T=>{if(!o)return;let w=document.elementFromPoint?.(T.clientX,T.clientY)?.closest?.(".cm-md-table-cell")||T.target.closest?.(".cm-md-table-cell");if(!(!w||!n.contains(w))){if(w===o.cell&&!o.active){if($!=null&&(T.preventDefault(),o.dragged||=Math.hypot(T.clientX-Q.clientX,T.clientY-Q.clientY)>3,o.dragged)){let C=document.caretRangeFromPoint?.(T.clientX,T.clientY);C?.startContainer===S.firstChild&&R(C.startOffset)}return}w!==o.head&&(T.preventDefault(),o.active=!0,o.head=w,b(o.row,o.column,Number(w.dataset.tableRow),Number(w.dataset.tableColumn)))}};document.addEventListener("mousemove",W,!0),document.addEventListener("mouseup",_,!0)},!0),n.addEventListener("click",Q=>{a&&(a=!1,Q.preventDefault(),Q.stopPropagation())},!0),n.addEventListener("keydown",Q=>{if(!s)return;if(Q.key==="Escape"){Q.preventDefault(),O(),e.focus();return}if(Q.key!=="Backspace"&&Q.key!=="Delete")return;if(s.kind==="range"){Q.preventDefault();return}Q.preventDefault();let S=s;O(),g(S.kind==="row"?"deleteRow":"deleteColumn",S.row,S.column)}),n}ignoreEvent(){return!0}},Zo=ie.define();function Ph(i,e,t,n=0){let r=[];if(e){let o=new RegExp(e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),"giu"),a=i.toString();for(let l of a.matchAll(o)){let c=l.index;(!t||c===0||!/[A-Za-z0-9_]/.test(a[c-1]))&&r.push({from:c,to:c+l[0].length})}}n=r.length?Math.min(Math.max(n,0),r.length-1):-1;let s=Z.set(r.map((o,a)=>Z.mark({class:a===n?"cm-find-match cm-find-current":"cm-find-match"}).range(o.from,o.to)));return{query:e,beginsWith:t,matches:r,index:n,decorations:s}}var xi=he.define({create:i=>Ph(i.doc,"",!1),update(i,e){for(let t of e.effects)if(t.is(Zo)){let{query:n,beginsWith:r,index:s}=t.value;return Ph(e.state.doc,n,r,s)}return e.docChanged?Ph(e.state.doc,i.query,i.beginsWith,i.index):i},provide:i=>z.decorations.from(i,e=>e.decorations)});function _o(i,e,t){let n=i.field(xi),r=n.matches[n.index];return!!r&&r.frome}var NP=z.baseTheme({".cm-find-match":{backgroundColor:"#ffe58a",color:"#201800",borderRadius:"2px"},".cm-find-current":{backgroundColor:"#ffad33",outline:"1px solid #9b5700"}});function Ag(i){let e=[];return(zs(i,i.doc.length,80)||U(i)).iterate({enter(n){if(n.name!=="Table")return;if(_o(i,n.from,n.to))return!1;let r=i.doc.sliceString(n.from,n.to);if(Lh(r))return e.push(Z.replace({block:!0,widget:new Rh(r,n.from)}).range(n.from,n.to)),!1}}),Z.set(e,!0)}var FP=he.define({create:Ag,update:(i,e)=>e.docChanged||e.effects.some(t=>t.is(Zo))?Ag(e.state):i,provide:i=>z.decorations.from(i)}),Ro=class extends ve{constructor(e,t){super(),this.from=e,this.checked=t}eq(e){return this.from===e.from&&this.checked===e.checked}toDOM(e){let t=document.createElement("span");t.className="cm-md-task-marker";let n=document.createElement("input");return n.type="checkbox",n.checked=this.checked,n.setAttribute("aria-label",this.checked?"Mark task incomplete":"Mark task complete"),n.addEventListener("mousedown",r=>{r.preventDefault(),r.stopPropagation()}),n.addEventListener("change",()=>{e.dispatch({changes:{from:this.from,to:this.from+1,insert:n.checked?"x":" "},userEvent:"input"}),e.focus()}),t.append(n),t}ignoreEvent(){return!0}},HP=Dc({nonTightLists:!1});function KP(i){return i.state.selection.ranges.every(e=>e.empty&&/^[ \t]*(?:>[ \t]*)*[-+*][ \t]+\[[ xX]\](?:[ \t]|$)/.test(i.state.doc.lineAt(e.head).text))?HP({state:i.state,dispatch:e=>{let t=e.state,n=t.changeByRange(r=>{let s=t.doc.lineAt(r.head);return r.empty&&s.text===""&&s.number>1&&t.doc.line(s.number-1).text.trim()!==""?{changes:{from:r.head,insert:t.lineBreak},range:P.cursor(r.head+t.lineBreak.length)}:{range:r}});i.dispatch([e,t.update(n,{userEvent:"input",scrollIntoView:!0})])}}):!1}var Ge=Z.replace({}),Zg=Z.replace({widget:new Mr("\u2022","cm-md-bullet")}),Eg=Z.mark({class:"cm-md-bullet-source"}),qg=new Map,JP=i=>{let e=qg.get(i);return e||(e=Z.replace({widget:new Mr(i,"cm-md-ordered")}),qg.set(i,e)),e},ev=Z.mark({class:"cm-md-ordered-source"}),tv=Z.replace({widget:new Ch}),iv=Z.line({class:"cm-md-rule-line"}),Zn=/^([ \t]*)([-+*]|\d+[.)])([ \t]+|$)/,nv=Z.replace({widget:new Mr(" ","cm-md-join")}),Ah={},rv=i=>Z.line({class:"cm-md-h"+i});for(let i=1;i<=6;i++)Ah[i]=rv(i);var sv=Z.line({class:"cm-md-heading-inactive"}),zg=Z.line({class:"cm-md-heading-after-blank"}),ov=Z.line({class:"cm-md-image-line"}),Lg=Z.line({class:"cm-md-line-collapsed"}),pt={line:22.8,blankGap:4,paragraph:12,quote:18,alert:24,table:24,hr:12},av=new Set(["Paragraph","FencedCode","CodeBlock","Blockquote","BulletList","OrderedList","Table","HorizontalRule","HTMLBlock"]),Mg=new Map,xo=i=>{let e=Mg.get(i);return e||(e=Z.line({class:"cm-md-block-separator",attributes:{style:`height:${i}px;min-height:0;line-height:${i}px;overflow:hidden;`}}),Mg.set(i,e)),e},Wg=new Map,lv=i=>{let e=Wg.get(i);return e||(e=Z.line({class:"cm-md-block-gap",attributes:{style:`padding-bottom:${i}px;--cm-md-block-gap:${i}px;`}}),Wg.set(i,e)),e},jg=new Map,cv=(i,e,t,n)=>{let r=`${i}:${e}:${t}:${n}`,s=jg.get(r);if(!s){let o=[],a=[];for(let l=0;loi.create({tagName:"div",attributes:{class:`cm-md-code-card${s?" cm-md-code-card-wrapped":""}`}}).range(n,r)),!0)}var pv=Z.line({class:"cm-md-table"}),Dg=Z.line({class:"cm-md-list-item-gap"}),wo=Z.line({class:"cm-md-list-item"}),Yg=new Map,vh=i=>{let e=Yg.get(i);return e||(e=Z.line({class:`cm-md-list-depth-${i}`,attributes:{style:`padding-inline-start:${i*2.1}em;text-indent:-2.1em;`}}),Yg.set(i,e)),e},mv=Z.mark({class:"cm-md-fence-info"}),gv=Z.mark({class:"cm-md-code-fence-source-hidden"}),Qv=Z.mark({class:"cm-md-heading-source-hidden"}),bv=Z.mark({class:"cm-md-heading-prefix"}),Sv=Z.mark({class:"cm-md-heading-marker"}),yv=Z.line({class:"cm-md-setext-marker-line"}),kv=Z.mark({class:"cm-md-setext-source"}),xv=Z.mark({class:"cm-md-link"}),wv=Z.mark({class:"cm-md-url"}),Pv=Z.mark({class:"cm-md-strong"}),vv=Z.mark({class:"cm-md-emphasis"}),$v=Z.mark({class:"cm-md-strikethrough"}),Tv=Z.mark({class:"cm-md-highlight"}),Cv=Z.line({class:"cm-md-frontmatter"}),Xv=Z.line({class:"cm-md-frontmatter-first"}),_v=Z.line({class:"cm-md-frontmatter-last"}),Rv=Z.mark({class:"cm-md-frontmatter-delim"}),Av=Z.line({attributes:{dir:"auto"}});function Ig(i){let e=[];for(let t=1;t<=i.doc.lines;t++)e.push(Av.range(i.doc.line(t).from));return Z.set(e)}var Zv=he.define({create:Ig,update(i,e){return e.docChanged?Ig(e.state):i},provide:i=>z.decorations.from(i)});function Ao(i,e){let t="",n=null,r=[];for(let g=e.node.firstChild;g;g=g.nextSibling)g.name==="CodeInfo"&&(n=g,t=i.doc.sliceString(g.from,g.to)),g.name==="CodeMark"&&r.push(g);let s=t.trim().split(/\s+/,1)[0].toLowerCase(),o=i.doc.lineAt(e.from),a=r[0],l=o.to1&&(c=i.doc.lineAt(r[r.length-1].from).from);let h=i.sliceDoc(o.from,e.from),f=/^ {0,3}$/.test(h)?h.length:0,u=e.node.getChildren("CodeText"),O=u.map((g,Q)=>{let S=Q?i.doc.lineAt(g.from).number-i.doc.lineAt(u[Q-1].to).number:0;return` -`.repeat(S)+i.sliceDoc(g.from,g.to)}).join("").replace(new RegExp("^ {0,"+f+"}","gm"),""),p=s?"":MP(O),m=n?.from??a?.to??o.to,b=n?.to??m;return{explicitLanguage:s,language:s||p,detectedLanguage:p,metadata:t.trim().split(/\s+/).slice(1).join(" "),rawInfo:t,infoFrom:m,infoTo:b,sourceFrom:l,source:O}}function Co(i,e){let t=U(i).resolve(e,-1);for(;t;){if(t.name==="FencedCode")return{from:t.from,to:t.to,closed:t.node.lastChild?.name==="CodeMark"};t=t.parent}return null}var Zh=ie.define(),vt=he.define({create:()=>null,update(i,e){if(e.docChanged)return null;for(let t of e.effects)if(t.is(Zh))return t.value;return i?.activateOnSelection&&e.isUserEvent("select.pointer")?{selection:e.state.selection.main,focused:!0,fence:e.state.field(Ji),activateOnSelection:!1}:i}}),Ev=De.fromClass(class{constructor(i){this.view=i,this.releaseTimer=null,this.down=e=>{e.button!==0||e.target.closest("input, textarea, button, select, .cm-md-table-cell")||(clearTimeout(this.releaseTimer),!i.state.field(vt)&&i.dispatch({effects:Zh.of({selection:i.state.selection.main,focused:i.hasFocus,fence:i.state.field(Ji),activateOnSelection:e.detail===1&&!e.shiftKey&&!e.metaKey&&!e.ctrlKey&&!e.altKey})}))},this.finish=()=>{i.state.field(vt)&&(clearTimeout(this.releaseTimer),this.releaseTimer=setTimeout(()=>this.release(),0))},this.release=()=>{clearTimeout(this.releaseTimer),i.state.field(vt)&&i.dispatch({effects:Zh.of(null)})},this.move=e=>{e.buttons===0&&this.finish()},i.contentDOM.addEventListener("mousedown",this.down,!0),i.contentDOM.addEventListener("keydown",this.release,!0),i.dom.ownerDocument.addEventListener("mouseup",this.finish),i.dom.ownerDocument.addEventListener("mousemove",this.move),i.dom.ownerDocument.addEventListener("dragend",this.finish),i.win.addEventListener("blur",this.finish)}destroy(){clearTimeout(this.releaseTimer);let i=this.view;i.contentDOM.removeEventListener("mousedown",this.down,!0),i.contentDOM.removeEventListener("keydown",this.release,!0),i.dom.ownerDocument.removeEventListener("mouseup",this.finish),i.dom.ownerDocument.removeEventListener("mousemove",this.move),i.dom.ownerDocument.removeEventListener("dragend",this.finish),i.win.removeEventListener("blur",this.finish)}}),qv=z.mouseSelectionStyle.of((i,e)=>{if(e.button!==0||e.detail!==1||e.shiftKey||e.metaKey||e.ctrlKey||e.altKey)return null;let t=i.posAtCoords({x:e.clientX,y:e.clientY});if(t==null)return null;let n=!1;return{update(r){t=r.changes.mapPos(t)},get(r){n||=Math.hypot(r.clientX-e.clientX,r.clientY-e.clientY)>3;let s=n?i.posAtCoords({x:r.clientX,y:r.clientY},!1)??t:t;return P.single(t,s)}}}),Ji=he.define({create:()=>null,update(i,e){i&&e.docChanged&&(i={from:e.changes.mapPos(i.from,1),to:e.changes.mapPos(i.to,-1)});let t=e.state.selection.main;if(!t.empty)return null;let n=t.head;return e.isUserEvent("select.pointer")||!i&&e.docChanged&&e.isUserEvent("input")?Co(e.state,n):!i||ni.to?null:e.docChanged&&Co(e.state,n)||i}});function Po(i){let e=[],t=i.field(Ji);return(zs(i,i.doc.length,80)||U(i)).iterate({enter(r){if(r.name!=="FencedCode")return;let s=Ao(i,r),o=t!=null&&r.from<=t.from&&r.to>=t.to;if(s.language==="mermaid"&&!o&&!_o(i,r.from,r.to))return e.push(Z.replace({block:!0,widget:new Xh(s.source)}).range(r.from,r.to)),!1}}),Z.set(e,!0)}var zv=he.define({create:i=>Po(i),update:(i,e)=>{if(e.state.field(vt))return e.startState.field(vt)?.activateOnSelection&&!e.state.field(vt).activateOnSelection?Po(e.state):i;if(e.startState.field(vt))return Po(e.state);let t=e.startState.field(Ji),n=e.state.field(Ji),r=t?.from!==n?.from||t?.to!==n?.to,s=!1;return e.docChanged&&e.changes.iterChanges((o,a,l,c,h)=>{if(s)return;let u=e.startState.doc.sliceString(o,a)+h.toString();s=/[`~]|mermaid/i.test(u)}),r||s||e.effects.some(o=>o.is(Zo))||e.docChanged&&e.state.field(xi).query?Po(e.state):e.docChanged?i.map(e.changes):i},provide:i=>z.decorations.from(i)});function Lv(i,e){let t=e.get(i.sourceFrom);if(t?.language===i.detectedLanguage&&t.source===i.source)return t.tokens;let n=[],r=Be.matchLanguageName(Ng,i.detectedLanguage,!1)?.support?.language;return r&&Rs(r.parser.parse(i.source),Jg,(s,o,a)=>{n.push({from:s,to:o,mark:Z.mark({class:a})})}),e.set(i.sourceFrom,{language:i.detectedLanguage,source:i.source,tokens:n}),n}function Bg(i,e){let t=[],{state:n}=i,r=n.field(vt),s=r?.selection??n.selection.main,o=r?r.fence:n.field(Ji),l=(r?r.focused:i.hasFocus)&&(s.empty||i.compositionStarted)?s.head:null,c=(k,w)=>_o(n,k,w)||l!=null&&l>=k&&l<=w,h=k=>{let w=n.doc.lineAt(k);return c(w.from,w.to)},f=k=>_o(n,k.from,k.to)||o!=null&&k.from<=o.from&&k.to>=o.to,u=new Set,O=new Set,p=(k,w)=>{let C=n.doc.lineAt(k),j=w.spec.class+"@"+C.from;u.has(j)||(u.add(j),t.push(w.range(C.from)))},m=(k,w,C)=>{let j=k;for(;j<=w;){let y=n.doc.lineAt(j);if(p(y.from,C),y.to>=w)break;j=y.to+1}},b=k=>{let w=0;for(let C of k)w=C===" "?w+(4-w%4):w+1;return w},g=(k,w)=>{let C=w[1],j=w[2],y=w[3],q=k.from+C.length,de=q+j.length,Zt=Math.floor(b(C)/4)+1;if(p(k.from,wo),p(k.from,vh(Zt)),O.add(k.from),k.number>1&&Zn.test(n.doc.line(k.number-1).text)&&p(k.from,Dg),C.length>0&&t.push(Ge.range(k.from,q)),/^[-+*]$/.test(j)&&/^\s*\[[ xX]\](\s|$)/.test(k.text.slice(de-k.from))){let G=k.text.slice(de-k.from).match(/^[ \t]*\[([ xX])\][ \t]?/),N=de+G[0].indexOf("[");t.push(Z.replace({widget:new Ro(N+1,G[1]!==" ")}).range(q,de+G[0].length))}else/^[-+*]$/.test(j)&&(h(q)?(t.push(Eg.range(q,de)),y.length>0&&t.push(Ge.range(de,de+y.length))):t.push(Zg.range(q,de+y.length)))},Q=k=>{let w=n.doc.lineAt(k),C=w.number,j=Math.max(C-64,1);for(;C>j&&n.doc.line(C-1).text.length===0;)C--;return{line:w,first:C,count:w.number-C}},S=k=>{switch(k.name){case"Blockquote":{let w=n.doc.lineAt(k.from);return/^ {0,3}> ?\[!(note|tip|important|warning|caution)\]/i.test(w.text)?pt.alert:pt.quote}case"Table":return pt.table;case"HorizontalRule":return pt.hr;case"FencedCode":return Ao(n,k).language==="mermaid"?pt.table:pt.paragraph;default:return pt.paragraph}},x=-1,v=k=>{let w=n.doc.lineAt(k.from);w.number===1||w.from<=x||Q(k.from).count===0&&p(n.doc.line(w.number-1).from,lv(S(k)))},$=k=>{let w=Q(k.from);if(w.count===0)return;let C=n.doc.line(w.line.number-1);if(w.first===1){p(C.from,xo(pt.blankGap+S(k)));return}let j=S(k),y=pt.blankGap+j;p(C.from,xo(y))},R=0,_=[],W=[],T=new Map;for(let{from:k,to:w}of i.visibleRanges){let C=null;U(n).iterate({from:k,to:w,enter:y=>{R++;let q=y.name;if(R===2&&q==="Document"&&(C=R),C!=null&&R===C+1&&av.has(q)&&($(y),v(y)),q==="Frontmatter"){let X=y.to>y.from&&n.doc.lineAt(y.to).from===y.to?y.to-1:y.to;x=X,m(y.from,X,Cv),p(y.from,Xv),p(n.doc.lineAt(X).from,_v);return}if(q==="DashLine"){t.push(Rv.range(y.from,y.to));return}let de=q.match(/^ATXHeading(\d)$/);if(de){p(y.from,Ah[+de[1]]),Q(y.from).count>0&&p(y.from,zg),h(y.from)||p(y.from,sv);return}let Zt=q.match(/^SetextHeading(\d)$/);if(Zt){p(y.from,Ah[+Zt[1]]),Q(y.from).count>0&&p(y.from,zg);return}if(q==="HeaderMark"){let X=y.node.parent;if(X&&/^ATXHeading/.test(X.name)){t.push(Sv.range(y.from,y.to));let G=n.doc.sliceString(y.to,y.to+1),N=y.to+(G===" "?1:0),B=y.from===X.from,se=n.doc.lineAt(y.from),H=B&&/^ {0,3}$/.test(n.doc.sliceString(se.from,y.from))?se.from:y.from;B&&t.push(bv.range(H,N)),h(y.from)||t.push(Qv.range(H,N))}else X&&/^SetextHeading/.test(X.name)&&(p(y.from,yv),t.push(kv.range(y.from,y.to)));return}if(q==="Blockquote"){W.push(y.from);let X=n.doc.lineAt(y.from),G=y.node.parent?.name==="Blockquote",N=y.node.prevSibling;for(;N?.name==="QuoteMark";)N=N.prevSibling;let B=G&&N?pt.quote:0,se=y.from;for(;se<=y.to;){let H=n.doc.lineAt(se),be=T.get(H.from)||{depth:0,starts:0,ends:0,gap:0};if(be.depth=Math.max(be.depth,W.length),H.from===X.from&&(be.starts++,be.gap+=B),H.to>=y.to&&be.ends++,T.set(H.from,be),H.to>=y.to)break;se=H.to+1}return}if(q==="QuoteMark"){if(!h(y.from)){let X=n.doc.sliceString(y.to,y.to+1);t.push(Ge.range(y.from,y.to+(X===" "?1:0)))}return}if(q==="Paragraph"&&/^(Blockquote|ListItem)$/.test(y.node.parent?.name||"")){let X=n.doc.lineAt(y.from);if(X.number>n.doc.lineAt(y.node.parent.from).number){let G=n.doc.line(X.number-1);/^(?:[ >]*)$/.test(G.text)&&p(G.from,xo(pt.paragraph))}}if(q==="Escape"&&!c(y.from,y.to)){t.push(Ge.range(y.from,y.from+1));return}if(q==="StrongEmphasis"){t.push(Pv.range(y.from,y.to));return}if(q==="Emphasis"){t.push(vv.range(y.from,y.to));return}if(q==="Strikethrough"){t.push($v.range(y.from,y.to));return}if(q==="Highlight"){let X=[];for(let B=y.node.firstChild;B;B=B.nextSibling)B.name==="HighlightMark"&&X.push(B);let G=X.length?X[0].to:y.from,N=X.length>1?X[X.length-1].from:y.to;G1?X[X.length-1].from:y.to;G")?G.slice(1,-1):G;if(!N||N.startsWith("//"))return!1;let B=y.from+2;for(let H=y.node.firstChild;H;H=H.nextSibling)if(H.name==="LinkMark"&&n.doc.sliceString(H.from,H.to)==="]"){B=H.from;break}let se=n.doc.sliceString(y.from+2,B);if(!c(y.from,y.to)){let H=n.doc.lineAt(y.from);H.text.trim()===n.doc.sliceString(y.from,y.to)&&p(H.from,ov),t.push(Z.replace({widget:new Th(N,se,n.doc.sliceString(y.from,y.to),y.from,y.to)}).range(y.from,y.to))}return!1}if(q==="Link"){y.node.getChild("URL")&&t.push(xv.range(y.from,y.to));return}if(q==="LinkMark"){let X=y.node.parent;X&&X.name==="Link"&&X.getChild("URL")&&!c(X.from,X.to)&&t.push(Ge.range(y.from,y.to));return}if(q==="URL"){let X=y.node.parent;X&&X.name==="Link"&&(c(X.from,X.to)?t.push(wv.range(y.from,y.to)):t.push(Ge.range(y.from,y.to)));return}if(q==="BulletList"||q==="OrderedList"){_.push(y.from);return}if(q==="ListItem"){let X=y.from===_[_.length-1],G=_.length>1;if(!X){let H=n.doc.lineAt(y.from).number-1;for(;H>0&&n.doc.line(H).text.trim()==="";)p(n.doc.line(H).from,xo(0)),H--}(!X||G)&&p(y.from,Dg),m(y.from,y.to,wo),p(y.from,vh(_.length)),O.add(n.doc.lineAt(y.from).from);{let be=n.doc.lineAt(y.from).to+1;for(;be<=y.to;){let Xe=n.doc.lineAt(be),ti=Xe.text;if(ti.length>0&&!Zn.test(ti)){p(Xe.from,hv),p(Xe.from,vh(_.length));let wi=ti.match(/^[ \t]+/);wi&&t.push(Ge.range(Xe.from,Xe.from+wi[0].length))}if(Xe.to>=y.to)break;be=Xe.to+1}}let N=n.doc.lineAt(y.from),se=N.text.match(Zn)?.[1]??"";se.length>0&&t.push(Ge.range(N.from,N.from+se.length));return}if(q==="ListMark"){let X=n.doc.sliceString(y.from,y.to),G=n.doc.lineAt(y.from),N=/^\s*\[[ xX]\](\s|$)/.test(G.text.slice(y.to-G.from));if(N&&/^[-+*]$/.test(X)){let B=G.text.slice(y.to-G.from).match(/^[ \t]*\[([ xX])\][ \t]?/),se=y.to+B[0].indexOf("[");t.push(Z.replace({widget:new Ro(se+1,B[1]!==" ")}).range(y.from,y.to+B[0].length))}else if((X==="-"||X==="*"||X==="+")&&!N){let B=n.doc.sliceString(y.to,y.to+1);h(y.from)?(t.push(Eg.range(y.from,y.to)),B===" "&&t.push(Ge.range(y.to,y.to+1))):t.push(Zg.range(y.from,y.to+(B===" "?1:0)))}else if(/^\d+[.)]$/.test(X)&&!N){let B=n.doc.sliceString(y.to,y.to+1);h(y.from)?(t.push(ev.range(y.from,y.to)),B===" "&&t.push(Ge.range(y.to,y.to+1))):t.push(JP(X).range(y.from,y.to+(B===" "?1:0)))}return}if(q==="FencedCode"||q==="CodeBlock"){let X=n.doc.lineAt(y.from),G=n.doc.lineAt(y.to),N=q==="FencedCode"&&y.node.lastChild?.name==="CodeMark",B=G.number-X.number>=(N?2:1),se=q==="FencedCode"&&!h(X.from),H=N&&!h(G.from),be=se&&B?n.doc.line(X.number+1):X,Xe=B?be:X,ti=!B&&q==="FencedCode"?X:H?n.doc.line(G.number-1):G;if(q==="FencedCode"){let ee=Ao(n,y);if(ee.detectedLanguage)for(let en of Lv(ee,e))t.push(en.mark.range(ee.sourceFrom+en.from,ee.sourceFrom+en.to));t.push(Z.widget({widget:new Xo({wrapped:n.field(En).has(X.from),fenceFrom:y.from,language:ee.language,detectedLanguage:ee.detectedLanguage,rawInfo:ee.rawInfo,infoFrom:ee.infoFrom,infoTo:ee.infoTo}),side:-1}).range(Xe.from))}else t.push(Z.widget({widget:new Xo({fenceFrom:X.from,language:"text",rawInfo:"",plain:!0,wrapped:n.field(En).has(X.from)}),side:-1}).range(Xe.from));let wi=y.from;for(;wi<=y.to;){let ee=n.doc.lineAt(wi),en=q==="CodeBlock"&&u.has(`${wo.spec.class}@${ee.from}`)?ee.text.match(Zn):null;if(en){if(g(ee,en),ee.to>=y.to)break;wi=ee.to+1;continue}let Vh=q==="FencedCode"&&ee.from===Xe.from;if((se&&ee.from===X.from||H&&ee.from===G.from)&&!Vh)p(ee.from,Lg);else if(q==="FencedCode"&&!B&&ee.from!==X.from&&!Vh)p(ee.from,Lg);else{let Ln=ee.from===be.from,Dh=ee.from===ti.from;Ln&&p(ee.from,uv),Dh&&p(ee.from,Ov),!Ln&&!Dh&&p(ee.from,fv),t.push(Z.line({attributes:{"data-code-scroll-group":String(X.from),class:n.field(En).has(X.from)?"cm-md-code-wrapped":""}}).range(ee.from)),ee.length&&t.push(dv.range(ee.from,ee.to))}if(q==="CodeBlock"&&!h(ee.from)){let Ln=ee.text.match(/^(?: {4}|\t)/)?.[0];Ln&&t.push(Ge.range(ee.from,ee.from+Ln.length))}if(ee.to>=y.to)break;wi=ee.to+1}return}if(q==="CodeInfo"){let X=y.node.parent;if(!X)return;h(X.from)&&t.push(mv.range(y.from,y.to));return}if(q==="Table"){m(y.from,y.to,pv);return}if(q==="HorizontalRule"){h(y.from)||(p(y.from,iv),t.push(tv.range(y.from,y.to)));return}},leave:y=>{R--;let q=y.name;(q==="BulletList"||q==="OrderedList")&&_.pop(),q==="Blockquote"&&W.pop()}});for(let[y,q]of T)p(y,cv(q.depth,q.starts,q.ends,q.gap));T.clear();let j=k;for(;j<=w;){let y=n.doc.lineAt(j);if(u.has(`${wo.spec.class}@${y.from}`)&&!O.has(y.from)){let de=y.text.match(Zn);de&&g(y,de)}if(y.to>=w)break;j=y.to+1}}return Z.set(t,!0)}function Eh(i){let e=i.selection.main,t=new Set,n=0;for(let r=U(i).resolveInner(e.from,1);r;r=r.parent){if(r.toi.decorations,provide:i=>z.blockWrappers.of(e=>e.plugin(i)?.codeWrappers??oi.set([]))}),Wv=De.fromClass(class{constructor(i){this.schedule(i)}update(i){(i.docChanged||i.selectionSet||i.viewportChanged||i.geometryChanged||i.focusChanged)&&this.schedule(i.view)}docViewUpdate(i){this.schedule(i)}schedule(i){i.requestMeasure({key:this,read(e){return Array.from(e.dom.querySelectorAll(".cm-md-heading-prefix")).map(t=>{let n=t.closest(".cm-line");return n?{line:n,width:t.getBoundingClientRect().width}:null}).filter(Boolean)},write(e){for(let{line:t,width:n}of e){let r=`${n}px`;t.style.getPropertyValue("--cm-md-heading-prefix-width")!==r&&t.style.setProperty("--cm-md-heading-prefix-width",r)}}})}});function Ug(i){let e=[],t=i.selection.main,n=(s,o)=>t.from<=o&&t.to>=s;return(zs(i,i.doc.length,80)||U(i)).iterate({enter:s=>{let o=s.name;if(o==="FencedCode"||o==="CodeBlock"||o==="HTMLBlock")return!1;if(o!=="Paragraph")return;if(n(s.from,s.to))return!1;let a=i.doc.lineAt(s.from);for(;a.toUg(i),update:(i,e)=>e.docChanged||e.selection?Ug(e.state):i,provide:i=>z.decorations.from(i)}),Jg=yn.define([{tag:[d.keyword,d.modifier,d.operatorKeyword,d.controlKeyword,d.definitionKeyword,d.moduleKeyword],class:"hl-keyword"},{tag:[d.string,d.special(d.string),d.regexp],class:"hl-string"},{tag:[d.comment,d.blockComment,d.lineComment],class:"hl-comment"},{tag:[d.number,d.integer,d.float,d.character],class:"hl-number"},{tag:[d.bool,d.atom,d.null],class:"hl-keyword"},{tag:[d.typeName,d.namespace],class:"hl-type"},{tag:[d.className,d.definition(d.typeName)],class:"hl-declaration"},{tag:[d.function(d.variableName),d.function(d.propertyName),d.macroName],class:"hl-function"},{tag:[d.propertyName,d.labelName],class:"hl-property"},{tag:d.attributeName,class:"hl-attribute"},{tag:[d.standard(d.variableName),d.standard(d.typeName)],class:"hl-builtin"},{tag:[d.meta,d.processingInstruction],class:"hl-meta"},{tag:[d.punctuation,d.operator],class:"hl-plain"}]);function At(i){return e=>{let t=e.state.changeByRange(n=>{let{from:r,to:s}=n;for(;rr&&/\s/.test(e.state.sliceDoc(s-1,s));)s--;let o=i.length,a=e.state.sliceDoc(Math.max(0,r-o),r),l=e.state.sliceDoc(s,s+o);if(a===i&&l===i)return{changes:[{from:r-o,to:r,insert:""},{from:s,to:s+o,insert:""}],range:P.range(r-o,s-o)};let c=e.state.sliceDoc(r,s);return c.startsWith(i)&&c.endsWith(i)&&c.length>=o*2?{changes:{from:r,to:s,insert:c.slice(o,c.length-o)},range:P.range(r,s-o*2)}:{changes:{from:r,to:s,insert:i+c+i},range:P.range(r+o,s+o)}});return e.dispatch(t,{scrollIntoView:!0,userEvent:"input"}),!0}}function jh(i,e){let t=i.selection.main,n=i.doc.lineAt(t.from).number,r=i.doc.lineAt(t.to).number,s=[];for(let o=n;o<=r;o++)s.push(i.doc.line(o));return e(s)}function $h(i,e){return t=>{let n=jh(t.state,r=>{let s=r.every(o=>e.test(o.text));return r.map(o=>{if(s){let a=o.text.match(e);return{from:o.from,to:o.from+a[0].length,insert:""}}return e.test(o.text)?null:{from:o.from,insert:i}}).filter(Boolean)});return n.length&&Wr(t,n),!0}}function Wr(i,e){let t=i.state.changes(e),n=i.state.selection.main;i.dispatch({changes:e,selection:P.range(t.mapPos(n.anchor,1),t.mapPos(n.head,1)),userEvent:"input"})}function jv(i){let e=/^\d+\.\s/,t=jh(i.state,n=>{let r=n.every(o=>e.test(o.text)),s=1;return n.map(o=>{if(r){let a=o.text.match(e);return{from:o.from,to:o.from+a[0].length,insert:""}}return e.test(o.text)?null:{from:o.from,insert:`${s++}. `}}).filter(Boolean)});return t.length&&Wr(i,t),!0}function qh(i){let e=i.selection.main,t=i.doc.lineAt(e.from).number,n=i.doc.lineAt(e.empty?e.to:e.to-1).number;return Array.from({length:n-t+1},(r,s)=>i.doc.line(t+s))}function e0(i){let e=/^([ \t]*(?:>[ \t]*)*)(?:([-+*]|\d+[.)])([ \t]+)(\[[ xX]\][ \t]+)?)?/.exec(i);return{prefix:e[0],indent:e[1],style:e[2]?e[4]?"task":/^\d/.test(e[2])?"ordered":"bullet":"none"}}function qn(i,e,t){for(let n=U(i).resolve(e,1);n;n=n.parent)if(t.includes(n.name))return n;return null}function t0(i){return qh(i).filter(e=>!/^[ \t>]*$/.test(e.text)&&!qn(i,e.from+e.text.search(/\S/),["FencedCode","CodeBlock"]))}function Vv(i,e){if(!["none","bullet","ordered","task"].includes(e))return!1;let t=t0(i.state).map((n,r)=>{let s=e0(n.text);if(s.style===e)return null;let o=e==="none"?"":e==="bullet"?"- ":e==="task"?"- [ ] ":`${r+1}. `;return{from:n.from,to:n.from+s.prefix.length,insert:s.indent+o}}).filter(Boolean);return t.length&&Wr(i,t),i.focus(),!0}function Ki(i){return e=>{let t=jh(e.state,n=>n.map(r=>{let s=r.text.match(/^(#{1,6})\s+/),a=(s?s[1].length:0)===i||i===0?"":"#".repeat(i)+" ";return{from:r.from,to:r.from+(s?s[0].length:0),insert:a}}));return e.dispatch({changes:t,userEvent:"input"}),!0}}function i0(i){let e={InlineCode:"code",FencedCode:"fenced",CodeBlock:"plain",Blockquote:"quote",Table:"table"};for(let t=U(i).resolve(i.selection.main.head,i.selection.main.empty?1:-1);t;t=t.parent)if(e[t.name])return{style:e[t.name],node:t};return{style:"none",node:null}}function Dv(i,e,t=""){if(!["none","quote","code","plain","fenced","table"].includes(e))return!1;let n=i.state,r=n.selection.main,s=i0(n),o=s.node&&r.from>=s.node.from&&r.to<=s.node.to;if(e==="code"&&(!o||s.style==="code"))return s.style!=="code"&&At("`")(i),i.focus(),!0;if(e==="table"){let p=qn(n,r.to,["FencedCode"]),m=p?p.to:n.doc.lineAt(r.to).to,g=(p&&p.lastChild?.name!=="CodeMark"?` +`:"")}var IP=1,Lr=null,BP=ki.parser.configure(zh),Hg=new WeakMap;function xh(i,e){let t={StrongEmphasis:"cm-md-strong",Emphasis:"cm-md-emphasis",Strikethrough:"cm-md-strikethrough",Highlight:"cm-md-highlight"},n=(o,a,l)=>{if(!a)return;let c=document.createTextNode(a);Hg.set(c,l),o.append(c)},r=(o,a,l,c)=>{let h=l;for(let f=a.firstChild;f;f=f.nextSibling)f.fromc||(n(o,e.slice(h,f.from),h),s(o,f),h=f.to);n(o,e.slice(h,c),h)},s=(o,a)=>{if(a.name==="InlineCode"){let l=document.createElement("code");l.className="cm-md-inline-code";let c=e.slice(a.firstChild.to,a.lastChild.from).replace(/\n/g," "),h=c.startsWith(" ")&&c.endsWith(" ")&&/[^ ]/.test(c);h&&(c=c.slice(1,-1)),n(l,c,a.firstChild.to+(h?1:0)),o.append(l)}else if(t[a.name]){let l=document.createElement("span");l.className=t[a.name],r(l,a,a.firstChild.to,a.lastChild.from),o.append(l)}else if(a.name==="Link"&&a.getChild("URL")){let l=a.getChildren("LinkMark"),c=document.createElement("span");c.className="cm-md-link",r(c,a,l[0].to,l[1].from),o.append(c)}else a.name==="Escape"?n(o,e.slice(a.from+1,a.to),a.from+1):a.name==="Image"?n(o,e.slice(a.from,a.to),a.from):r(o,a,a.from,a.to)};i.replaceChildren(),s(i,BP.parse(e).topNode)}var Ze=new WeakMap,Wh=new WeakMap,UP=new Set(["bold","italic","strikethrough","highlight","code","link"]);function Kg(i,e){let n=i.state.doc.lineAt(e.tableFrom).number+(e.row===0?0:e.row+1);if(n>i.state.doc.lines)return null;let r=i.state.doc.line(n),s=Po(r.text,!0)[e.column];return s?{from:r.from+s.from,to:r.from+Math.max(s.from,s.to)}:null}function zn(i){let e=Ze.get(i);if(!e||e.element.dataset.tableEditing!=="true")return;let t=window.getSelection();if(!t?.anchorNode||!t.focusNode||!e.element.contains(t.anchorNode)||!e.element.contains(t.focusNode))return;let n=(a,l)=>{let c=document.createRange();return c.selectNodeContents(e.element),c.setEnd(a,l),c.toString().length};e.anchor=n(t.anchorNode,t.anchorOffset),e.head=n(t.focusNode,t.focusOffset);let r=e.element.innerText||"",s=[e.anchor,e.head];Mh(r,s),e.sourceAnchor=s[0],e.sourceHead=s[1];let o=se.create({doc:r,selection:P.single(e.anchor,e.head),extensions:[Yc({extensions:zh})]});Wh.get(i)?.(Eh(o))}function vo(i){let e=Ze.get(i);if(!e)return null;zn(i),e.element.dataset.tableEditing==="true"&&e.element.blur();let t=Kg(i,e);if(!t)return null;let n=t.to-t.from;return i.dispatch({selection:P.single(t.from+Math.max(0,Math.min(e.sourceAnchor??e.anchor,n)),t.from+Math.max(0,Math.min(e.sourceHead??e.head,n)))}),e}function $o(i,e){let t=Kg(i,e);if(!t)return;let n=i.state.selection.main,r=Math.max(0,Math.min(n.anchor-t.from,t.to-t.from)),s=Math.max(0,Math.min(n.head-t.from,t.to-t.from)),o=i.dom.querySelector(`.cm-md-table-widget[data-table-from="${e.tableFrom}"] [data-table-row="${e.row}"][data-table-column="${e.column}"]`);if(!o)return;o.focus({preventScroll:!0});let a=o.firstChild||o.appendChild(document.createTextNode(""));window.getSelection()?.setBaseAndExtent(a,r,a,s),zn(i)}var GP=Ve.fromClass(class{constructor(i){this.view=i,this.capture=()=>zn(i),this.clear=e=>{e.target.closest?.(".cm-md-table-cell")||Ze.delete(i)},document.addEventListener("selectionchange",this.capture),i.dom.addEventListener("mousedown",this.clear,!0)}destroy(){document.removeEventListener("selectionchange",this.capture),this.view.dom.removeEventListener("mousedown",this.clear,!0),Ze.delete(this.view),Wh.delete(this.view)}}),Rh=class extends ve{constructor(e,t){super(),this.source=e,this.from=t}eq(e){return e.source===this.source&&e.from===this.from}toDOM(e){let t=Lh(this.source),n=document.createElement("div");if(n.className="cm-md-table-widget",n.dataset.tableFrom=String(this.from),!t)return n.textContent=this.source,n;let r=null,s=null,o=null,a=!1,l=document.createElement("div");l.className="cm-md-table-scroll",n.appendChild(l);let c=document.createElement("table");c.className="cm-md-table-grid",l.appendChild(c);let h=(Q,S)=>{requestAnimationFrame(()=>requestAnimationFrame(()=>{let x=e.dom.querySelector(`.cm-md-table-widget[data-table-from="${this.from}"]`);(x&&x.querySelector(`[data-table-row="${Q}"][data-table-column="${S}"]`))?.focus()}))},f=(Q=null)=>{let S=YP(t);if(S===this.source){Q&&n.querySelector(`[data-table-row="${Q.row}"][data-table-column="${Q.column}"]`)?.focus();return}r=null,e.dispatch({changes:{from:this.from,to:this.from+this.source.length,insert:S},userEvent:"input"}),Q&&h(Q.row,Q.column)},u=()=>{!r||r.element.dataset.tableEditing!=="true"||(t.rows[r.row][r.column]=r.element.innerText||"")},O=()=>{n.querySelectorAll(".is-table-part-selected").forEach(Q=>{Q.classList.remove("is-table-part-selected")}),n.classList.remove("is-table-row-selected","is-table-column-selected","is-table-range-selected"),n.removeAttribute("aria-label"),s=null},p=(Q,S,x)=>{if(u(),O(),Array.from(n.querySelectorAll(".cm-md-table-cell")).filter($=>{let R=Number($.dataset.tableRow),_=Number($.dataset.tableColumn);return R>=S.top&&R<=S.bottom&&_>=S.left&&_<=S.right}).forEach($=>{$.classList.add("is-table-part-selected")}),n.classList.add(Q==="row"?"is-table-row-selected":Q==="column"?"is-table-column-selected":"is-table-range-selected"),window.getSelection()?.removeAllRanges(),s={kind:Q,row:x.row,column:x.column,bounds:S},Ze.delete(e),n.tabIndex=0,Q==="range"){let $=S.bottom-S.top+1,R=S.right-S.left+1;n.setAttribute("aria-label",`Selected ${$} rows by ${R} columns.`)}else{let $=Q==="row"?x.row:x.column+1;n.setAttribute("aria-label",`Selected ${Q} ${$}. Press Delete to remove it.`)}n.focus()},m=(Q,S,x)=>{let v=Q==="row"?{top:S,right:t.alignments.length-1,bottom:S,left:0}:{top:0,right:x,bottom:t.rows.length-1,left:x};p(Q,v,{row:S,column:x})},b=(Q,S,x,v)=>{p("range",{top:Math.min(Q,x),right:Math.max(S,v),bottom:Math.max(Q,x),left:Math.min(S,v)},{row:Q,column:S})},g=(Q,S,x)=>{if(u(),Q==="selectRow"&&S>0)m("row",S,x);else if(Q==="selectColumn"&&t.alignments.length>1)m("column",S,x);else if(Q==="insertRowBefore"&&S>0)t.rows.splice(S,0,Array(t.alignments.length).fill("")),f({row:S,column:x});else if(Q==="insertRowAfter")t.rows.splice(S+1,0,Array(t.alignments.length).fill("")),f({row:S+1,column:x});else if(Q==="duplicateRow"&&S>0)t.rows.splice(S+1,0,[...t.rows[S]]),f({row:S+1,column:x});else if(Q==="deleteRow"&&S>0)t.rows.splice(S,1),f({row:Math.min(S,t.rows.length-1),column:x});else if(Q==="insertColumnBefore"){for(let v of t.rows)v.splice(x,0,"");t.alignments.splice(x,0,"none"),f({row:S,column:x})}else if(Q==="insertColumnAfter"){for(let v of t.rows)v.splice(x+1,0,"");t.alignments.splice(x+1,0,"none"),f({row:S,column:x+1})}else if(Q==="deleteColumn"&&t.alignments.length>1){for(let v of t.rows)v.splice(x,1);t.alignments.splice(x,1),f({row:S,column:Math.min(x,t.alignments.length-1)})}};return t.rows.forEach((Q,S)=>{let x=document.createElement("tr");c.appendChild(x),Q.forEach((v,$)=>{let R=document.createElement(S===0?"th":"td"),_=document.createElement("div");if(_.className="cm-md-table-cell",_.contentEditable="plaintext-only",_.spellcheck=!0,xh(_,v),_.dataset.tableRow=String(S),_.dataset.tableColumn=String($),S===0){let W=`Column ${$+1}`;_.dataset.placeholder=W;let T=()=>{(_.innerText||"").trim()?_.removeAttribute("aria-label"):_.setAttribute("aria-label",W)};T(),_.addEventListener("input",T)}t.alignments[$]!=="none"&&(_.style.textAlign=t.alignments[$]),_.addEventListener("focus",()=>{O(),(_.textContent!==t.rows[S][$]||_.childElementCount)&&(_.textContent=t.rows[S][$]),_.dataset.tableEditing="true",Ze.set(e,{tableFrom:this.from,row:S,column:$,element:_,anchor:0,head:0}),r={row:S,column:$,element:_}}),_.addEventListener("contextmenu",W=>{W.preventDefault(),_.focus(),r={row:S,column:$,element:_};let T=String(IP++);Lr={token:T,perform:k=>g(k,S,$)},window.__mdRequestTableContextMenu?.({token:T,canInsertRowAbove:S>0,canDuplicateRow:S>0,canDeleteRow:S>0,canDeleteColumn:t.alignments.length>1,showsDuplicateRow:!0})}),_.addEventListener("blur",()=>{if(zn(e),!r||r.element!==_)return;let W=_.innerText||"",T=W!==t.rows[S][$];t.rows[S][$]=W,r=null,delete _.dataset.tableEditing,xh(_,t.rows[S][$]),T&&f()}),_.addEventListener("keydown",W=>{if((W.metaKey||W.ctrlKey)&&["b","i"].includes(W.key.toLowerCase())){W.preventDefault();let C=vo(e);At(W.key.toLowerCase()==="b"?"**":"*")(e),C&&$o(e,C);return}if(W.key==="Escape"){W.preventDefault(),r=null,_.blur(),delete _.dataset.tableEditing,xh(_,t.rows[S][$]),Ze.delete(e),e.focus();return}if(W.key!=="Tab"&&W.key!=="Enter")return;W.preventDefault(),t.rows[S][$]=_.innerText||"";let T=W.key==="Tab"&&W.shiftKey,k=S,w=$+(T?-1:1);w<0?(k--,w=t.alignments.length-1):w>=t.alignments.length&&(k++,w=0),k<0?(k=0,w=0):k>=t.rows.length&&t.rows.push(Array(t.alignments.length).fill("")),f({row:k,column:w})}),R.appendChild(_),x.appendChild(R)})}),n.addEventListener("mousedown",Q=>{if(Q.button!==0)return;let S=Q.target.closest?.(".cm-md-table-cell");if(!S)return;let x=Number(S.dataset.tableRow),v=Number(S.dataset.tableColumn);if(!Number.isInteger(x)||x<0||!Number.isInteger(v))return;Q.stopPropagation();let $=null;if(S.dataset.tableEditing!=="true"&&Q.detail===1&&!Q.shiftKey&&!Q.metaKey&&!Q.ctrlKey&&!Q.altKey&&S.textContent!==t.rows[x][v]){let T=document.caretRangeFromPoint?.(Q.clientX,Q.clientY),k=T&&Hg.get(T.startContainer);k!=null&&S.contains(T.startContainer)&&($=k+T.startOffset,Q.preventDefault())}S.focus({preventScroll:!0});let R=T=>{let k=S.firstChild;k&&window.getSelection()?.setBaseAndExtent(k,$,k,T)};$!=null&&R($),o={cell:S,row:x,column:v,head:S,active:!1,dragged:!1};let _=T=>{document.removeEventListener("mousemove",W,!0),document.removeEventListener("mouseup",_,!0),o?.active?(T.preventDefault(),window.getSelection()?.removeAllRanges(),a=!0):zn(e),o=null},W=T=>{if(!o)return;let w=document.elementFromPoint?.(T.clientX,T.clientY)?.closest?.(".cm-md-table-cell")||T.target.closest?.(".cm-md-table-cell");if(!(!w||!n.contains(w))){if(w===o.cell&&!o.active){if($!=null&&(T.preventDefault(),o.dragged||=Math.hypot(T.clientX-Q.clientX,T.clientY-Q.clientY)>3,o.dragged)){let C=document.caretRangeFromPoint?.(T.clientX,T.clientY);C?.startContainer===S.firstChild&&R(C.startOffset)}return}w!==o.head&&(T.preventDefault(),o.active=!0,o.head=w,b(o.row,o.column,Number(w.dataset.tableRow),Number(w.dataset.tableColumn)))}};document.addEventListener("mousemove",W,!0),document.addEventListener("mouseup",_,!0)},!0),n.addEventListener("click",Q=>{a&&(a=!1,Q.preventDefault(),Q.stopPropagation())},!0),n.addEventListener("keydown",Q=>{if(!s)return;if(Q.key==="Escape"){Q.preventDefault(),O(),e.focus();return}if(Q.key!=="Backspace"&&Q.key!=="Delete")return;if(s.kind==="range"){Q.preventDefault();return}Q.preventDefault();let S=s;O(),g(S.kind==="row"?"deleteRow":"deleteColumn",S.row,S.column)}),n}ignoreEvent(){return!0}},Ao=te.define();function wh(i,e,t,n=0){let r=[];if(e){let o=new RegExp(e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),"giu"),a=i.toString();for(let l of a.matchAll(o)){let c=l.index;(!t||c===0||!/[A-Za-z0-9_]/.test(a[c-1]))&&r.push({from:c,to:c+l[0].length})}}n=r.length?Math.min(Math.max(n,0),r.length-1):-1;let s=Z.set(r.map((o,a)=>Z.mark({class:a===n?"cm-find-match cm-find-current":"cm-find-match"}).range(o.from,o.to)));return{query:e,beginsWith:t,matches:r,index:n,decorations:s}}var Pi=he.define({create:i=>wh(i.doc,"",!1),update(i,e){for(let t of e.effects)if(t.is(Ao)){let{query:n,beginsWith:r,index:s}=t.value;return wh(e.state.doc,n,r,s)}return e.docChanged?wh(e.state.doc,i.query,i.beginsWith,i.index):i},provide:i=>z.decorations.from(i,e=>e.decorations)});function Xo(i,e,t){let n=i.field(Pi),r=n.matches[n.index];return!!r&&r.frome}var NP=z.baseTheme({".cm-find-match":{backgroundColor:"#ffe58a",color:"#201800",borderRadius:"2px"},".cm-find-current":{backgroundColor:"#ffad33",outline:"1px solid #9b5700"}});function Ag(i){let e=[];return(zs(i,i.doc.length,80)||U(i)).iterate({enter(n){if(n.name!=="Table")return;if(Xo(i,n.from,n.to))return!1;let r=i.doc.sliceString(n.from,n.to);if(Lh(r))return e.push(Z.replace({block:!0,widget:new Rh(r,n.from)}).range(n.from,n.to)),!1}}),Z.set(e,!0)}var FP=he.define({create:Ag,update:(i,e)=>e.docChanged||e.effects.some(t=>t.is(Ao))?Ag(e.state):i,provide:i=>z.decorations.from(i)}),_o=class extends ve{constructor(e,t){super(),this.from=e,this.checked=t}eq(e){return this.from===e.from&&this.checked===e.checked}toDOM(e){let t=document.createElement("span");t.className="cm-md-task-marker";let n=document.createElement("input");return n.type="checkbox",n.checked=this.checked,n.setAttribute("aria-label",this.checked?"Mark task incomplete":"Mark task complete"),n.addEventListener("mousedown",r=>{r.preventDefault(),r.stopPropagation()}),n.addEventListener("change",()=>{e.dispatch({changes:{from:this.from,to:this.from+1,insert:n.checked?"x":" "},userEvent:"input"}),e.focus()}),t.append(n),t}ignoreEvent(){return!0}},HP=Vc({nonTightLists:!1});function KP(i){return i.state.selection.ranges.every(e=>e.empty&&/^[ \t]*(?:>[ \t]*)*[-+*][ \t]+\[[ xX]\](?:[ \t]|$)/.test(i.state.doc.lineAt(e.head).text))?HP({state:i.state,dispatch:e=>{let t=e.state,n=t.changeByRange(r=>{let s=t.doc.lineAt(r.head);return r.empty&&s.text===""&&s.number>1&&t.doc.line(s.number-1).text.trim()!==""?{changes:{from:r.head,insert:t.lineBreak},range:P.cursor(r.head+t.lineBreak.length)}:{range:r}});i.dispatch([e,t.update(n,{userEvent:"input",scrollIntoView:!0})])}}):!1}var Ue=Z.replace({}),Zg=Z.replace({widget:new Mr("\u2022","cm-md-bullet")}),Eg=Z.mark({class:"cm-md-bullet-source"}),qg=new Map,JP=i=>{let e=qg.get(i);return e||(e=Z.replace({widget:new Mr(i,"cm-md-ordered")}),qg.set(i,e)),e},ev=Z.mark({class:"cm-md-ordered-source"}),tv=Z.replace({widget:new Ch}),iv=Z.line({class:"cm-md-rule-line"}),Zn=/^([ \t]*)([-+*]|\d+[.)])([ \t]+|$)/,nv=Z.replace({widget:new Mr(" ","cm-md-join")}),Ah={},rv=i=>Z.line({class:"cm-md-h"+i});for(let i=1;i<=6;i++)Ah[i]=rv(i);var sv=Z.line({class:"cm-md-heading-inactive"}),zg=Z.line({class:"cm-md-heading-after-blank"}),ov=Z.line({class:"cm-md-image-line"}),Lg=Z.line({class:"cm-md-line-collapsed"}),pt={line:22.8,blankGap:4,paragraph:12,quote:18,alert:24,table:24,hr:12},av=new Set(["Paragraph","FencedCode","CodeBlock","Blockquote","BulletList","OrderedList","Table","HorizontalRule","HTMLBlock"]),Mg=new Map,Ph=i=>{let e=Mg.get(i);return e||(e=Z.line({class:"cm-md-block-separator",attributes:{style:`height:${i}px;min-height:0;line-height:${i}px;overflow:hidden;`}}),Mg.set(i,e)),e},Wg=new Map,lv=i=>{let e=Wg.get(i);return e||(e=Z.line({class:"cm-md-block-gap",attributes:{style:`padding-bottom:${i}px;--cm-md-block-gap:${i}px;`}}),Wg.set(i,e)),e},jg=new Map,cv=(i,e,t,n)=>{let r=`${i}:${e}:${t}:${n}`,s=jg.get(r);if(!s){let o=[],a=[];for(let l=0;lli.create({tagName:"div",attributes:{class:`cm-md-code-card${s?" cm-md-code-card-wrapped":""}`}}).range(n,r)),!0)}var pv=Z.line({class:"cm-md-table"}),Dg=Z.line({class:"cm-md-list-item-gap"}),xo=Z.line({class:"cm-md-list-item"}),Yg=new Map,vh=i=>{let e=Yg.get(i);return e||(e=Z.line({class:`cm-md-list-depth-${i}`,attributes:{style:`padding-inline-start:${i*2.1}em;text-indent:-2.1em;`}}),Yg.set(i,e)),e},mv=Z.mark({class:"cm-md-fence-info"}),gv=Z.mark({class:"cm-md-code-fence-source-hidden"}),Qv=Z.mark({class:"cm-md-heading-source-hidden"}),bv=Z.mark({class:"cm-md-heading-prefix"}),Sv=Z.mark({class:"cm-md-heading-marker"}),yv=Z.line({class:"cm-md-setext-marker-line"}),kv=Z.mark({class:"cm-md-setext-source"}),xv=Z.mark({class:"cm-md-link"}),wv=Z.mark({class:"cm-md-url"}),Pv=Z.mark({class:"cm-md-strong"}),vv=Z.mark({class:"cm-md-emphasis"}),$v=Z.mark({class:"cm-md-strikethrough"}),Tv=Z.mark({class:"cm-md-highlight"}),Cv=Z.line({class:"cm-md-frontmatter"}),Xv=Z.line({class:"cm-md-frontmatter-first"}),_v=Z.line({class:"cm-md-frontmatter-last"}),Rv=Z.mark({class:"cm-md-frontmatter-delim"}),Av=Z.line({attributes:{dir:"auto"}});function Ig(i){let e=[];for(let t=1;t<=i.doc.lines;t++)e.push(Av.range(i.doc.line(t).from));return Z.set(e)}var Zv=he.define({create:Ig,update(i,e){return e.docChanged?Ig(e.state):i},provide:i=>z.decorations.from(i)});function Ro(i,e){let t="",n=null,r=[];for(let g=e.node.firstChild;g;g=g.nextSibling)g.name==="CodeInfo"&&(n=g,t=i.doc.sliceString(g.from,g.to)),g.name==="CodeMark"&&r.push(g);let s=t.trim().split(/\s+/,1)[0].toLowerCase(),o=i.doc.lineAt(e.from),a=r[0],l=o.to1&&(c=i.doc.lineAt(r[r.length-1].from).from);let h=i.sliceDoc(o.from,e.from),f=/^ {0,3}$/.test(h)?h.length:0,u=e.node.getChildren("CodeText"),O=u.map((g,Q)=>{let S=Q?i.doc.lineAt(g.from).number-i.doc.lineAt(u[Q-1].to).number:0;return` +`.repeat(S)+i.sliceDoc(g.from,g.to)}).join("").replace(new RegExp("^ {0,"+f+"}","gm"),""),p=s?"":MP(O),m=n?.from??a?.to??o.to,b=n?.to??m;return{explicitLanguage:s,language:s||p,detectedLanguage:p,metadata:t.trim().split(/\s+/).slice(1).join(" "),rawInfo:t,infoFrom:m,infoTo:b,sourceFrom:l,source:O}}function To(i,e){let t=U(i).resolve(e,-1);for(;t;){if(t.name==="FencedCode")return{from:t.from,to:t.to,closed:t.node.lastChild?.name==="CodeMark"};t=t.parent}return null}var Zh=te.define(),vt=he.define({create:()=>null,update(i,e){if(e.docChanged)return null;for(let t of e.effects)if(t.is(Zh))return t.value;return i?.activateOnSelection&&e.isUserEvent("select.pointer")?{selection:e.state.selection.main,focused:!0,fence:e.state.field(en),activateOnSelection:!1}:i}}),Ev=Ve.fromClass(class{constructor(i){this.view=i,this.releaseTimer=null,this.down=e=>{e.button!==0||e.target.closest("input, textarea, button, select, .cm-md-table-cell")||(clearTimeout(this.releaseTimer),!i.state.field(vt)&&i.dispatch({effects:Zh.of({selection:i.state.selection.main,focused:i.hasFocus,fence:i.state.field(en),activateOnSelection:e.detail===1&&!e.shiftKey&&!e.metaKey&&!e.ctrlKey&&!e.altKey})}))},this.finish=()=>{i.state.field(vt)&&(clearTimeout(this.releaseTimer),this.releaseTimer=setTimeout(()=>this.release(),0))},this.release=()=>{clearTimeout(this.releaseTimer),i.state.field(vt)&&i.dispatch({effects:Zh.of(null)})},this.move=e=>{e.buttons===0&&this.finish()},i.contentDOM.addEventListener("mousedown",this.down,!0),i.contentDOM.addEventListener("keydown",this.release,!0),i.dom.ownerDocument.addEventListener("mouseup",this.finish),i.dom.ownerDocument.addEventListener("mousemove",this.move),i.dom.ownerDocument.addEventListener("dragend",this.finish),i.win.addEventListener("blur",this.finish)}destroy(){clearTimeout(this.releaseTimer);let i=this.view;i.contentDOM.removeEventListener("mousedown",this.down,!0),i.contentDOM.removeEventListener("keydown",this.release,!0),i.dom.ownerDocument.removeEventListener("mouseup",this.finish),i.dom.ownerDocument.removeEventListener("mousemove",this.move),i.dom.ownerDocument.removeEventListener("dragend",this.finish),i.win.removeEventListener("blur",this.finish)}}),qv=z.mouseSelectionStyle.of((i,e)=>{if(e.button!==0||e.detail!==1||e.shiftKey||e.metaKey||e.ctrlKey||e.altKey)return null;let t=i.posAtCoords({x:e.clientX,y:e.clientY});if(t==null)return null;let n=!1;return{update(r){t=r.changes.mapPos(t)},get(r){n||=Math.hypot(r.clientX-e.clientX,r.clientY-e.clientY)>3;let s=n?i.posAtCoords({x:r.clientX,y:r.clientY},!1)??t:t;return P.single(t,s)}}}),en=he.define({create:()=>null,update(i,e){i&&e.docChanged&&(i={from:e.changes.mapPos(i.from,1),to:e.changes.mapPos(i.to,-1)});let t=e.state.selection.main;if(!t.empty)return null;let n=t.head;return e.isUserEvent("select.pointer")||!i&&e.docChanged&&e.isUserEvent("input")?To(e.state,n):!i||ni.to?null:e.docChanged&&To(e.state,n)||i}});function wo(i){let e=[],t=i.field(en);return(zs(i,i.doc.length,80)||U(i)).iterate({enter(r){if(r.name!=="FencedCode")return;let s=Ro(i,r),o=t!=null&&r.from<=t.from&&r.to>=t.to;if(s.language==="mermaid"&&!o&&!Xo(i,r.from,r.to))return e.push(Z.replace({block:!0,widget:new Xh(s.source)}).range(r.from,r.to)),!1}}),Z.set(e,!0)}var zv=he.define({create:i=>wo(i),update:(i,e)=>{if(e.state.field(vt))return e.startState.field(vt)?.activateOnSelection&&!e.state.field(vt).activateOnSelection?wo(e.state):i;if(e.startState.field(vt))return wo(e.state);let t=e.startState.field(en),n=e.state.field(en),r=t?.from!==n?.from||t?.to!==n?.to,s=!1;return e.docChanged&&e.changes.iterChanges((o,a,l,c,h)=>{if(s)return;let u=e.startState.doc.sliceString(o,a)+h.toString();s=/[`~]|mermaid/i.test(u)}),r||s||e.effects.some(o=>o.is(Ao))||e.docChanged&&e.state.field(Pi).query?wo(e.state):e.docChanged?i.map(e.changes):i},provide:i=>z.decorations.from(i)});function Lv(i,e){let t=e.get(i.sourceFrom);if(t?.language===i.detectedLanguage&&t.source===i.source)return t.tokens;let n=[],r=Ie.matchLanguageName(Ng,i.detectedLanguage,!1)?.support?.language;return r&&Rs(r.parser.parse(i.source),Jg,(s,o,a)=>{n.push({from:s,to:o,mark:Z.mark({class:a})})}),e.set(i.sourceFrom,{language:i.detectedLanguage,source:i.source,tokens:n}),n}function Bg(i,e){let t=[],{state:n}=i,r=n.field(vt),s=r?.selection??n.selection.main,o=r?r.fence:n.field(en),l=(r?r.focused:i.hasFocus)&&(s.empty||i.compositionStarted)?s.head:null,c=(k,w)=>Xo(n,k,w)||l!=null&&l>=k&&l<=w,h=k=>{let w=n.doc.lineAt(k);return c(w.from,w.to)},f=k=>Xo(n,k.from,k.to)||o!=null&&k.from<=o.from&&k.to>=o.to,u=new Set,O=new Set,p=(k,w)=>{let C=n.doc.lineAt(k),j=w.spec.class+"@"+C.from;u.has(j)||(u.add(j),t.push(w.range(C.from)))},m=(k,w,C)=>{let j=k;for(;j<=w;){let y=n.doc.lineAt(j);if(p(y.from,C),y.to>=w)break;j=y.to+1}},b=k=>{let w=0;for(let C of k)w=C===" "?w+(4-w%4):w+1;return w},g=(k,w)=>{let C=w[1],j=w[2],y=w[3],q=k.from+C.length,de=q+j.length,Zt=Math.floor(b(C)/4)+1;if(p(k.from,xo),p(k.from,vh(Zt)),O.add(k.from),k.number>1&&Zn.test(n.doc.line(k.number-1).text)&&p(k.from,Dg),C.length>0&&t.push(Ue.range(k.from,q)),/^[-+*]$/.test(j)&&/^\s*\[[ xX]\](\s|$)/.test(k.text.slice(de-k.from))){let G=k.text.slice(de-k.from).match(/^[ \t]*\[([ xX])\][ \t]?/),H=de+G[0].indexOf("[");t.push(Z.replace({widget:new _o(H+1,G[1]!==" ")}).range(q,de+G[0].length))}else/^[-+*]$/.test(j)&&(h(q)?(t.push(Eg.range(q,de)),y.length>0&&t.push(Ue.range(de,de+y.length))):t.push(Zg.range(q,de+y.length)))},Q=k=>{let w=n.doc.lineAt(k),C=w.number,j=Math.max(C-64,1);for(;C>j&&n.doc.line(C-1).text.length===0;)C--;return{line:w,first:C,count:w.number-C}},S=k=>{switch(k.name){case"Blockquote":{let w=n.doc.lineAt(k.from);return/^ {0,3}> ?\[!(note|tip|important|warning|caution)\]/i.test(w.text)?pt.alert:pt.quote}case"Table":return pt.table;case"HorizontalRule":return pt.hr;case"FencedCode":return Ro(n,k).language==="mermaid"?pt.table:pt.paragraph;default:return pt.paragraph}},x=-1,v=k=>{let w=n.doc.lineAt(k.from);w.number===1||w.from<=x||Q(k.from).count===0&&p(n.doc.line(w.number-1).from,lv(S(k)))},$=k=>{let w=Q(k.from);if(w.count===0)return;let C=n.doc.line(w.line.number-1);if(w.first===1){p(C.from,Ph(pt.blankGap+S(k)));return}let j=S(k),y=pt.blankGap+j;p(C.from,Ph(y))},R=0,_=[],W=[],T=new Map;for(let{from:k,to:w}of i.visibleRanges){let C=null;U(n).iterate({from:k,to:w,enter:y=>{R++;let q=y.name;if(R===2&&q==="Document"&&(C=R),C!=null&&R===C+1&&av.has(q)&&($(y),v(y)),q==="Frontmatter"){let X=y.to>y.from&&n.doc.lineAt(y.to).from===y.to?y.to-1:y.to;x=X,m(y.from,X,Cv),p(y.from,Xv),p(n.doc.lineAt(X).from,_v);return}if(q==="DashLine"){t.push(Rv.range(y.from,y.to));return}let de=q.match(/^ATXHeading(\d)$/);if(de){p(y.from,Ah[+de[1]]),Q(y.from).count>0&&p(y.from,zg),h(y.from)||p(y.from,sv);return}let Zt=q.match(/^SetextHeading(\d)$/);if(Zt){p(y.from,Ah[+Zt[1]]),Q(y.from).count>0&&p(y.from,zg);return}if(q==="HeaderMark"){let X=y.node.parent;if(X&&/^ATXHeading/.test(X.name)){t.push(Sv.range(y.from,y.to));let G=n.doc.sliceString(y.to,y.to+1),H=y.to+(G===" "?1:0),B=y.from===X.from,re=n.doc.lineAt(y.from),ne=B&&/^ {0,3}$/.test(n.doc.sliceString(re.from,y.from))?re.from:y.from;B&&t.push(bv.range(ne,H)),h(y.from)||t.push(Qv.range(ne,H))}else X&&/^SetextHeading/.test(X.name)&&(p(y.from,yv),t.push(kv.range(y.from,y.to)));return}if(q==="Blockquote"){W.push(y.from);let X=n.doc.lineAt(y.from),G=y.node.parent?.name==="Blockquote",H=y.node.prevSibling;for(;H?.name==="QuoteMark";)H=H.prevSibling;let B=G&&H?pt.quote:0,re=y.from;for(;re<=y.to;){let ne=n.doc.lineAt(re),ye=T.get(ne.from)||{depth:0,starts:0,ends:0,gap:0};if(ye.depth=Math.max(ye.depth,W.length),ne.from===X.from&&(ye.starts++,ye.gap+=B),ne.to>=y.to&&ye.ends++,T.set(ne.from,ye),ne.to>=y.to)break;re=ne.to+1}return}if(q==="QuoteMark"){if(!h(y.from)){let X=n.doc.sliceString(y.to,y.to+1);t.push(Ue.range(y.from,y.to+(X===" "?1:0)))}return}if(q==="Paragraph"&&/^(Blockquote|ListItem)$/.test(y.node.parent?.name||"")){let X=n.doc.lineAt(y.from);if(X.number>n.doc.lineAt(y.node.parent.from).number){let G=n.doc.line(X.number-1);/^(?:[ >]*)$/.test(G.text)&&p(G.from,Ph(pt.paragraph))}}if(q==="Escape"&&!c(y.from,y.to)){t.push(Ue.range(y.from,y.from+1));return}if(q==="StrongEmphasis"){t.push(Pv.range(y.from,y.to));return}if(q==="Emphasis"){t.push(vv.range(y.from,y.to));return}if(q==="Strikethrough"){t.push($v.range(y.from,y.to));return}if(q==="Highlight"){let X=[];for(let B=y.node.firstChild;B;B=B.nextSibling)B.name==="HighlightMark"&&X.push(B);let G=X.length?X[0].to:y.from,H=X.length>1?X[X.length-1].from:y.to;G1?X[X.length-1].from:y.to;G")?G.slice(1,-1):G;if(!H||H.startsWith("//"))return!1;let B=y.from+2;for(let ne=y.node.firstChild;ne;ne=ne.nextSibling)if(ne.name==="LinkMark"&&n.doc.sliceString(ne.from,ne.to)==="]"){B=ne.from;break}let re=n.doc.sliceString(y.from+2,B);if(!c(y.from,y.to)){let ne=n.doc.lineAt(y.from);ne.text.trim()===n.doc.sliceString(y.from,y.to)&&p(ne.from,ov),t.push(Z.replace({widget:new Th(H,re,n.doc.sliceString(y.from,y.to),y.from,y.to)}).range(y.from,y.to))}return!1}if(q==="Link"){y.node.getChild("URL")&&t.push(xv.range(y.from,y.to));return}if(q==="LinkMark"){let X=y.node.parent;X&&X.name==="Link"&&X.getChild("URL")&&!c(X.from,X.to)&&t.push(Ue.range(y.from,y.to));return}if(q==="URL"){let X=y.node.parent;X&&X.name==="Link"&&(c(X.from,X.to)?t.push(wv.range(y.from,y.to)):t.push(Ue.range(y.from,y.to)));return}if(q==="BulletList"||q==="OrderedList"){_.push(y.from);return}if(q==="ListItem"){let X=y.from===_[_.length-1],G=_.length>1,H=n.doc.lineAt(y.from),B=H.number>1&&n.doc.line(H.number-1).text.trim()==="";(!X||G)&&!B&&p(y.from,Dg),m(y.from,y.to,xo),p(y.from,vh(_.length)),O.add(n.doc.lineAt(y.from).from);{let ni=n.doc.lineAt(y.from).to+1;for(;ni<=y.to;){let tt=n.doc.lineAt(ni),N=tt.text;if(N.length>0&&!Zn.test(N)){p(tt.from,hv),p(tt.from,vh(_.length));let qt=N.match(/^[ \t]+/);qt&&t.push(Ue.range(tt.from,tt.from+qt[0].length))}if(tt.to>=y.to)break;ni=tt.to+1}}let re=n.doc.lineAt(y.from),ye=re.text.match(Zn)?.[1]??"";ye.length>0&&t.push(Ue.range(re.from,re.from+ye.length));return}if(q==="ListMark"){let X=n.doc.sliceString(y.from,y.to),G=n.doc.lineAt(y.from),H=/^\s*\[[ xX]\](\s|$)/.test(G.text.slice(y.to-G.from));if(H&&/^[-+*]$/.test(X)){let B=G.text.slice(y.to-G.from).match(/^[ \t]*\[([ xX])\][ \t]?/),re=y.to+B[0].indexOf("[");t.push(Z.replace({widget:new _o(re+1,B[1]!==" ")}).range(y.from,y.to+B[0].length))}else if((X==="-"||X==="*"||X==="+")&&!H){let B=n.doc.sliceString(y.to,y.to+1);h(y.from)?(t.push(Eg.range(y.from,y.to)),B===" "&&t.push(Ue.range(y.to,y.to+1))):t.push(Zg.range(y.from,y.to+(B===" "?1:0)))}else if(/^\d+[.)]$/.test(X)&&!H){let B=n.doc.sliceString(y.to,y.to+1);h(y.from)?(t.push(ev.range(y.from,y.to)),B===" "&&t.push(Ue.range(y.to,y.to+1))):t.push(JP(X).range(y.from,y.to+(B===" "?1:0)))}return}if(q==="FencedCode"||q==="CodeBlock"){let X=n.doc.lineAt(y.from),G=n.doc.lineAt(y.to),H=q==="FencedCode"&&y.node.lastChild?.name==="CodeMark",B=G.number-X.number>=(H?2:1),re=q==="FencedCode"&&!h(X.from),ne=H&&!h(G.from),ye=re&&B?n.doc.line(X.number+1):X,Et=B?ye:X,ni=!B&&q==="FencedCode"?X:ne?n.doc.line(G.number-1):G;if(q==="FencedCode"){let N=Ro(n,y);if(N.detectedLanguage)for(let qt of Lv(N,e))t.push(qt.mark.range(N.sourceFrom+qt.from,N.sourceFrom+qt.to));t.push(Z.widget({widget:new Co({wrapped:n.field(En).has(X.from),fenceFrom:y.from,language:N.language,detectedLanguage:N.detectedLanguage,rawInfo:N.rawInfo,infoFrom:N.infoFrom,infoTo:N.infoTo}),side:-1}).range(Et.from))}else t.push(Z.widget({widget:new Co({fenceFrom:X.from,language:"text",rawInfo:"",plain:!0,wrapped:n.field(En).has(X.from)}),side:-1}).range(Et.from));let tt=y.from;for(;tt<=y.to;){let N=n.doc.lineAt(tt),qt=q==="CodeBlock"&&u.has(`${xo.spec.class}@${N.from}`)?N.text.match(Zn):null;if(qt){if(g(N,qt),N.to>=y.to)break;tt=N.to+1;continue}let Vh=q==="FencedCode"&&N.from===Et.from;if((re&&N.from===X.from||ne&&N.from===G.from)&&!Vh)p(N.from,Lg);else if(q==="FencedCode"&&!B&&N.from!==X.from&&!Vh)p(N.from,Lg);else{let Ln=N.from===ye.from,Dh=N.from===ni.from;Ln&&p(N.from,uv),Dh&&p(N.from,Ov),!Ln&&!Dh&&p(N.from,fv),t.push(Z.line({attributes:{"data-code-scroll-group":String(X.from),class:n.field(En).has(X.from)?"cm-md-code-wrapped":""}}).range(N.from)),N.length&&t.push(dv.range(N.from,N.to))}if(q==="CodeBlock"&&!h(N.from)){let Ln=N.text.match(/^(?: {4}|\t)/)?.[0];Ln&&t.push(Ue.range(N.from,N.from+Ln.length))}if(N.to>=y.to)break;tt=N.to+1}return}if(q==="CodeInfo"){let X=y.node.parent;if(!X)return;h(X.from)&&t.push(mv.range(y.from,y.to));return}if(q==="Table"){m(y.from,y.to,pv);return}if(q==="HorizontalRule"){h(y.from)||(p(y.from,iv),t.push(tv.range(y.from,y.to)));return}},leave:y=>{R--;let q=y.name;(q==="BulletList"||q==="OrderedList")&&_.pop(),q==="Blockquote"&&W.pop()}});for(let[y,q]of T)p(y,cv(q.depth,q.starts,q.ends,q.gap));T.clear();let j=k;for(;j<=w;){let y=n.doc.lineAt(j);if(u.has(`${xo.spec.class}@${y.from}`)&&!O.has(y.from)){let de=y.text.match(Zn);de&&g(y,de)}if(y.to>=w)break;j=y.to+1}}return Z.set(t,!0)}function Eh(i){let e=i.selection.main,t=new Set,n=0;for(let r=U(i).resolveInner(e.from,1);r;r=r.parent){if(r.toi.decorations,provide:i=>z.blockWrappers.of(e=>e.plugin(i)?.codeWrappers??li.set([]))}),Wv=Ve.fromClass(class{constructor(i){this.schedule(i)}update(i){(i.docChanged||i.selectionSet||i.viewportChanged||i.geometryChanged||i.focusChanged)&&this.schedule(i.view)}docViewUpdate(i){this.schedule(i)}schedule(i){i.requestMeasure({key:this,read(e){return Array.from(e.dom.querySelectorAll(".cm-md-heading-prefix")).map(t=>{let n=t.closest(".cm-line");return n?{line:n,width:t.getBoundingClientRect().width}:null}).filter(Boolean)},write(e){for(let{line:t,width:n}of e){let r=`${n}px`;t.style.getPropertyValue("--cm-md-heading-prefix-width")!==r&&t.style.setProperty("--cm-md-heading-prefix-width",r)}}})}});function Ug(i){let e=[],t=i.selection.main,n=(s,o)=>t.from<=o&&t.to>=s;return(zs(i,i.doc.length,80)||U(i)).iterate({enter:s=>{let o=s.name;if(o==="FencedCode"||o==="CodeBlock"||o==="HTMLBlock")return!1;if(o!=="Paragraph")return;if(n(s.from,s.to))return!1;let a=i.doc.lineAt(s.from);for(;a.toUg(i),update:(i,e)=>e.docChanged||e.selection?Ug(e.state):i,provide:i=>z.decorations.from(i)}),Jg=yn.define([{tag:[d.keyword,d.modifier,d.operatorKeyword,d.controlKeyword,d.definitionKeyword,d.moduleKeyword],class:"hl-keyword"},{tag:[d.string,d.special(d.string),d.regexp],class:"hl-string"},{tag:[d.comment,d.blockComment,d.lineComment],class:"hl-comment"},{tag:[d.number,d.integer,d.float,d.character],class:"hl-number"},{tag:[d.bool,d.atom,d.null],class:"hl-keyword"},{tag:[d.typeName,d.namespace],class:"hl-type"},{tag:[d.className,d.definition(d.typeName)],class:"hl-declaration"},{tag:[d.function(d.variableName),d.function(d.propertyName),d.macroName],class:"hl-function"},{tag:[d.propertyName,d.labelName],class:"hl-property"},{tag:d.attributeName,class:"hl-attribute"},{tag:[d.standard(d.variableName),d.standard(d.typeName)],class:"hl-builtin"},{tag:[d.meta,d.processingInstruction],class:"hl-meta"},{tag:[d.punctuation,d.operator],class:"hl-plain"}]);function At(i){return e=>{let t=e.state.changeByRange(n=>{let{from:r,to:s}=n;for(;rr&&/\s/.test(e.state.sliceDoc(s-1,s));)s--;let o=i.length,a=e.state.sliceDoc(Math.max(0,r-o),r),l=e.state.sliceDoc(s,s+o);if(a===i&&l===i)return{changes:[{from:r-o,to:r,insert:""},{from:s,to:s+o,insert:""}],range:P.range(r-o,s-o)};let c=e.state.sliceDoc(r,s);return c.startsWith(i)&&c.endsWith(i)&&c.length>=o*2?{changes:{from:r,to:s,insert:c.slice(o,c.length-o)},range:P.range(r,s-o*2)}:{changes:{from:r,to:s,insert:i+c+i},range:P.range(r+o,s+o)}});return e.dispatch(t,{scrollIntoView:!0,userEvent:"input"}),!0}}function jh(i,e){let t=i.selection.main,n=i.doc.lineAt(t.from).number,r=i.doc.lineAt(t.to).number,s=[];for(let o=n;o<=r;o++)s.push(i.doc.line(o));return e(s)}function $h(i,e){return t=>{let n=jh(t.state,r=>{let s=r.every(o=>e.test(o.text));return r.map(o=>{if(s){let a=o.text.match(e);return{from:o.from,to:o.from+a[0].length,insert:""}}return e.test(o.text)?null:{from:o.from,insert:i}}).filter(Boolean)});return n.length&&Wr(t,n),!0}}function Wr(i,e){let t=i.state.changes(e),n=i.state.selection.main;i.dispatch({changes:e,selection:P.range(t.mapPos(n.anchor,1),t.mapPos(n.head,1)),userEvent:"input"})}function jv(i){let e=/^\d+\.\s/,t=jh(i.state,n=>{let r=n.every(o=>e.test(o.text)),s=1;return n.map(o=>{if(r){let a=o.text.match(e);return{from:o.from,to:o.from+a[0].length,insert:""}}return e.test(o.text)?null:{from:o.from,insert:`${s++}. `}}).filter(Boolean)});return t.length&&Wr(i,t),!0}function qh(i){let e=i.selection.main,t=i.doc.lineAt(e.from).number,n=i.doc.lineAt(e.empty?e.to:e.to-1).number;return Array.from({length:n-t+1},(r,s)=>i.doc.line(t+s))}function e0(i){let e=/^([ \t]*(?:>[ \t]*)*)(?:([-+*]|\d+[.)])([ \t]+)(\[[ xX]\][ \t]+)?)?/.exec(i);return{prefix:e[0],indent:e[1],style:e[2]?e[4]?"task":/^\d/.test(e[2])?"ordered":"bullet":"none"}}function qn(i,e,t){for(let n=U(i).resolve(e,1);n;n=n.parent)if(t.includes(n.name))return n;return null}function t0(i){return qh(i).filter(e=>!/^[ \t>]*$/.test(e.text)&&!qn(i,e.from+e.text.search(/\S/),["FencedCode","CodeBlock"]))}function Vv(i,e){if(!["none","bullet","ordered","task"].includes(e))return!1;let t=t0(i.state).map((n,r)=>{let s=e0(n.text);if(s.style===e)return null;let o=e==="none"?"":e==="bullet"?"- ":e==="task"?"- [ ] ":`${r+1}. `;return{from:n.from,to:n.from+s.prefix.length,insert:s.indent+o}}).filter(Boolean);return t.length&&Wr(i,t),i.focus(),!0}function Ji(i){return e=>{let t=jh(e.state,n=>n.map(r=>{let s=r.text.match(/^(#{1,6})\s+/),a=(s?s[1].length:0)===i||i===0?"":"#".repeat(i)+" ";return{from:r.from,to:r.from+(s?s[0].length:0),insert:a}}));return e.dispatch({changes:t,userEvent:"input"}),!0}}function i0(i){let e={InlineCode:"code",FencedCode:"fenced",CodeBlock:"plain",Blockquote:"quote",Table:"table"};for(let t=U(i).resolve(i.selection.main.head,i.selection.main.empty?1:-1);t;t=t.parent)if(e[t.name])return{style:e[t.name],node:t};return{style:"none",node:null}}function Dv(i,e,t=""){if(!["none","quote","code","plain","fenced","table"].includes(e))return!1;let n=i.state,r=n.selection.main,s=i0(n),o=s.node&&r.from>=s.node.from&&r.to<=s.node.to;if(e==="code"&&(!o||s.style==="code"))return s.style!=="code"&&At("`")(i),i.focus(),!0;if(e==="table"){let p=qn(n,r.to,["FencedCode"]),m=p?p.to:n.doc.lineAt(r.to).to,g=(p&&p.lastChild?.name!=="CodeMark"?` `+n.sliceDoc(p.firstChild.from,p.firstChild.to):"")+` | Column 1 | Column 2 | @@ -49,4 +49,4 @@ `),O=4),e==="fenced"){let p=h.match(/`+/g)||[],m="`".repeat(Math.max(3,...p.map(Q=>Q.length+1))),b=String(t).replace(/[^\w+-]/g,""),g=m+b+` `;u=g+h+` `+m,O=g.length}return e==="plain"&&l>0&&n.doc.lineAt(l-1).text.trim()&&(u=` -`+u,O++),i.dispatch({changes:{from:l,to:c,insert:u},selection:{anchor:l+O},userEvent:"input"}),i.focus(),!0}function Yv(i){let e=i.state.selection.main,t=i.state.sliceDoc(e.from,e.to)||"text",n=`[${t}](url)`,r=e.from+t.length+3;return i.dispatch({changes:{from:e.from,to:e.to,insert:n},selection:P.range(r,r+3),userEvent:"input",scrollIntoView:!0}),!0}var Gg=Re.define();function Iv(i,e){let t=U(i).resolve(e,-1);for(;t;){if(t.name==="FencedCode")return t.from;t=t.parent}return null}var Bv=re.transactionFilter.of(i=>{if(!i.docChanged||!i.isUserEvent("input")||i.annotation(Gg))return i;let e=i.newSelection.main;if(!e.empty)return i;let t=i.newDoc.lineAt(e.head),n=e.head-t.from;if(t.text.slice(0,n)!=="```"||t.text.slice(n)!=="")return i;let r=!1,s=null;if(i.changes.iterChanges((l,c,h,f,u)=>{if(r||h>e.head||f=t.from+3,r&&(s=l)}),!r)return i;let o=i.startState.doc.lineAt(s),a=Iv(i.startState,s);return a!=null&&at.number&&(n=i.state.doc.line(n.number-1)),e.empty){let o=Co(i.state,e.head);if(o){let a=i.state.doc.lineAt(o.from),l=i.state.doc.lineAt(o.to);if(t.number>a.number&&(!o.closed||t.numbera)return Ll(i)}return!0}let s=[];for(let o=t.number;o<=n.number;o++)s.push({from:i.state.doc.line(o).from,insert:" "});return Wr(i,s),!0}window.MDEditor={create(i,e,t){let n=t&&t.onDirty,r=t&&t.onPasteImage;Object.assign(pt,t&&t.spacing||{});let s=new z({parent:i,state:re.create({doc:e,extensions:[vO(),xi,NP,Lu(),z.lineWrapping,z.perLineTextDirection.of(!0),Rt.of(" "),Zv,xm({content:Ic({base:Si,codeLanguages:Ng,extensions:zh})}),Ji,En,vt,Ev,qv,zv,FP,GP,hO({style:Jg.style,scope:m=>m.prop(bt)!==Si.data}),nt.lowest(Mv),Wv,Bv,hd(),nt.highest(ci.of([{key:"Enter",run:KP}])),ci.of([{key:"Mod-b",run:At("**")},{key:"Mod-i",run:At("*")},{key:"Tab",run:Uv,shift:zl},...Od,...Yc,...nd,...XO]),z.updateListener.of(m=>{if(t?.onFormattingChange&&(m.selectionSet||m.docChanged||m.focusChanged||U(m.startState)!==U(m.state))&&(Ee.has(s)?zn(s):t.onFormattingChange(Eh(m.state))),m.docChanged&&t?.onSearchChange){let b=m.state.field(xi);t.onSearchChange({index:b.index+1,total:b.matches.length})}m.docChanged&&n&&!m.transactions.some(b=>b.isUserEvent("rename"))&&n()}),z.domEventHandlers({paste(m,b){if(m.target instanceof Element&&m.target.closest(".cm-md-table-cell")||!Array.from(m.clipboardData?.items||[]).some(S=>String(S.type||"").toLowerCase().startsWith("image/"))||typeof r!="function")return!1;m.preventDefault();let Q=b.state.selection.main;return r(Q.from,Q.to),!0}})]})}),o=!!(t&&t.pageScrolling),a=o?document.scrollingElement:s.scrollDOM,l=o?window:a,c=null,h=0,f=null,u=()=>s.documentTop+a.scrollTop-(o?0:a.getBoundingClientRect().top),O=m=>{let b=s.lineBlockAt(m),g=0,Q=0;try{let S=s.domAtPos(m).node,x=S.nodeType===Node.ELEMENT_NODE?S:S.parentElement,v=x&&x.closest(".cm-line");if(v){let $=getComputedStyle(v);g=parseFloat($.paddingTop)||0,Q=parseFloat($.paddingBottom)||0}}catch{}return{top:b.top+g,height:Math.max(b.height-g-Q,1),sourceStart:s.state.doc.lineAt(b.from).number,sourceEnd:s.state.doc.lineAt(b.to).number+1}},p={bold:At("**"),italic:At("*"),strikethrough:At("~~"),highlight:At("=="),code:At("`"),h0:Ki(0),h1:Ki(1),h2:Ki(2),h3:Ki(3),h4:Ki(4),h5:Ki(5),h6:Ki(6),quote:$h("> ",/^>\s?/),bulletList:$h("- ",/^\s*[-*+]\s/),orderedList:jv,taskList:$h("- [ ] ",/^\s*[-*+]\s+\[[ xX]\]\s/),link:Yv};return t?.onCopyCode&&Fg.set(s,t.onCopyCode),t?.onFormattingChange&&Wh.set(s,t.onFormattingChange),t?.onFormattingChange?.(Eh(s.state)),{getMarkdown:()=>s.state.doc.toString(),getBlockStyle:()=>Ee.has(s)?"table":i0(s.state).style,setBlockStyle:(m,b)=>{if(Ee.has(s)){if(m!=="code")return!1;let g=$o(s);return g?(At("`")(s),To(s,g),!0):!1}return Dv(s,m,b)},getListStyle:()=>{if(Ee.has(s))return"none";let m=t0(s.state).map(b=>e0(b.text).style);return m.length?m.every(b=>b===m[0])?m[0]:"mixed":"none"},setListStyle:m=>!Ee.has(s)&&Vv(s,m),getLinkSelection:(m=!1)=>{$o(s);let{from:b,to:g}=s.state.selection.main,Q=qn(s.state,b,["Link"]);if(m&&Q&&g<=Q.to){let S=Q.getChildren("LinkMark");return{from:Q.from,to:Q.to,text:s.state.sliceDoc(S[0].to,S[1].from)}}return{from:b,to:g,text:s.state.sliceDoc(b,g)}},insertLinkFromPopover:(m,b,g,Q)=>{let S=String(b).trim();if(!S||/[\r\n]/.test(S)||g<0||Qs.state.doc.length)return!1;let x=qn(s.state,g,["Link"]);if(x&&(g>x.from||Qg?qn(s.state,Q-1,["Link"]):null;if(v&&(g>v.from||Q\\()]/g,k=>/[()]/.test(k)?"%"+k.charCodeAt(0).toString(16).toUpperCase():encodeURIComponent(k)),_=Ee.get(s),W=`[${$}](${R})`,T=_?Mh(W):W;return s.dispatch({changes:{from:g,to:Q,insert:T},selection:{anchor:g+T.length},userEvent:"input"}),_?To(s,_):s.focus(),!0},getHeadingLevel:()=>{if(Ee.has(s))return 0;for(let m=U(s.state).resolveInner(s.state.selection.main.head,1);m;m=m.parent){let b=/^(?:ATX|Setext)Heading([1-6])$/.exec(m.name);if(b)return Number(b[1])}return 0},find:(m,b=!1,g=!1)=>{let Q=s.state.field(xi),S=Q.query===m&&Q.beginsWith===g,x=0;S&&Q.matches.length?x=(Q.index+(b?-1:1)+Q.matches.length)%Q.matches.length:b&&(x=Number.MAX_SAFE_INTEGER),s.dispatch({effects:Zo.of({query:m,beginsWith:g,index:x})});let v=s.state.field(xi),$=v.matches[v.index];return $&&(c=null,didUserScroll=!0,s.dispatch({effects:z.scrollIntoView($.from,{y:"center"})})),{index:v.index+1,total:v.matches.length}},isSyntaxReady:()=>nO(s.state,s.state.doc.length),replaceMarkdown:m=>{let b=String(m||""),g=b.length,Q=s.state.selection.main,S=Math.min(Q.anchor,g),x=Math.min(Q.head,g),v=a.scrollTop;s.dispatch({changes:{from:0,to:s.state.doc.length,insert:b},selection:{anchor:S,head:x},userEvent:"rename",annotations:pe.addToHistory.of(!1)}),requestAnimationFrame(()=>{a.scrollTop=v,s.requestMeasure()})},insertTextAt:(m,b,g)=>{let Q=s.state.doc.length,S=Math.max(0,Math.min(Number(b)||0,Q)),x=Math.max(S,Math.min(Number(g)||S,Q));s.dispatch({changes:{from:S,to:x,insert:String(m||"")},selection:{anchor:S+String(m||"").length},userEvent:"input",scrollIntoView:!0}),s.focus()},focus:()=>s.focus(),getScrollAnchor:()=>{if(Number.isFinite(c)&&Math.abs(a.scrollTop-f)<=.5)return{position:c,gap:h||0};let m=a.scrollTop-u(),b=s.lineBlockAtHeight(m),g=s.state.doc.lineAt(b.from),Q=O(g.from),S=Q.height>0?Math.min(Math.max((m-Q.top)/Q.height,0),1):0,x=Math.max(Q.top-m,0);return{position:Q.sourceStart+S*(Q.sourceEnd-Q.sourceStart),gap:x}},setScrollPosition:(m,b,g)=>new Promise(Q=>{let x=Math.max(a.scrollHeight-a.clientHeight,0)*Math.min(Math.max(Number(m)||0,0),1),v=null,$=Number.isFinite(g)?Math.max(g,0):0;if(Number.isFinite(b)&&b>=1){let R=Math.min(Math.floor(b),s.state.doc.lines);if(v=s.state.doc.line(R).from,v!=null){let _=O(v),W=(b-_.sourceStart)/(_.sourceEnd-_.sourceStart);x=u()+_.top+_.height*W-$,s.dispatch({effects:z.scrollIntoView(v,{y:"start"})})}}requestAnimationFrame(()=>{let R=Math.max(a.scrollHeight-a.clientHeight,0);if(v!=null){let _=O(v),W=(b-_.sourceStart)/(_.sourceEnd-_.sourceStart);x=u()+_.top+_.height*W-$}else x=R*Math.min(Math.max(Number(m)||0,0),1);a.scrollTop=Math.min(Math.max(x,0),R),l.dispatchEvent(new Event("scroll")),s.requestMeasure(),requestAnimationFrame(()=>{c=Number.isFinite(b)?b:null,h=Number.isFinite(b)?$:0,f=a.scrollTop,Q(!0)})})}),select:(m,b=m)=>{Ee.delete(s),s.dispatch({selection:{anchor:m,head:b},userEvent:"select.pointer"})},insert:m=>{let b=s.state.selection.main;s.state.facet(z.inputHandler).some(Q=>Q(s,b.from,b.to,m))||s.dispatch({changes:{from:b.from,to:b.to,insert:m},selection:{anchor:b.from+m.length},userEvent:"input"})},exec:m=>{let b=p[m];if(!b)return!1;if(Ee.has(s)){if(!UP.has(m))return!1;let g=$o(s);return g?(b(s),To(s,g),!0):!1}return b(s),s.focus(),!0},performTableContextAction:(m,b)=>{if(!Lr||Lr.token!==m)return!1;let g=Lr;return Lr=null,g.perform(b),!0},destroy:()=>{s.destroy()}}}};})(); +`+u,O++),i.dispatch({changes:{from:l,to:c,insert:u},selection:{anchor:l+O},userEvent:"input"}),i.focus(),!0}function Yv(i){let e=i.state.selection.main,t=i.state.sliceDoc(e.from,e.to)||"text",n=`[${t}](url)`,r=e.from+t.length+3;return i.dispatch({changes:{from:e.from,to:e.to,insert:n},selection:P.range(r,r+3),userEvent:"input",scrollIntoView:!0}),!0}var Gg=_e.define();function Iv(i,e){let t=U(i).resolve(e,-1);for(;t;){if(t.name==="FencedCode")return t.from;t=t.parent}return null}var Bv=se.transactionFilter.of(i=>{if(!i.docChanged||!i.isUserEvent("input")||i.annotation(Gg))return i;let e=i.newSelection.main;if(!e.empty)return i;let t=i.newDoc.lineAt(e.head),n=e.head-t.from;if(t.text.slice(0,n)!=="```"||t.text.slice(n)!=="")return i;let r=!1,s=null;if(i.changes.iterChanges((l,c,h,f,u)=>{if(r||h>e.head||f=t.from+3,r&&(s=l)}),!r)return i;let o=i.startState.doc.lineAt(s),a=Iv(i.startState,s);return a!=null&&at.number&&(n=i.state.doc.line(n.number-1)),e.empty){let o=To(i.state,e.head);if(o){let a=i.state.doc.lineAt(o.from),l=i.state.doc.lineAt(o.to);if(t.number>a.number&&(!o.closed||t.numbera)return zl(i)}return!0}let s=[];for(let o=t.number;o<=n.number;o++)s.push({from:i.state.doc.line(o).from,insert:" "});return Wr(i,s),!0}window.MDEditor={create(i,e,t){let n=t&&t.onDirty,r=t&&t.onPasteImage;Object.assign(pt,t&&t.spacing||{});let s=new z({parent:i,state:se.create({doc:e,extensions:[vO(),Pi,NP,Lu(),z.lineWrapping,z.perLineTextDirection.of(!0),Rt.of(" "),Zv,xm({content:Yc({base:ki,codeLanguages:Ng,extensions:zh})}),en,En,vt,Ev,qv,zv,FP,GP,hO({style:Jg.style,scope:m=>m.prop(bt)!==ki.data}),nt.lowest(Mv),Wv,Bv,hd(),nt.highest(fi.of([{key:"Enter",run:KP}])),fi.of([{key:"Mod-b",run:At("**")},{key:"Mod-i",run:At("*")},{key:"Tab",run:Uv,shift:ql},...Od,...Dc,...nd,...XO]),z.updateListener.of(m=>{if(t?.onFormattingChange&&(m.selectionSet||m.docChanged||m.focusChanged||U(m.startState)!==U(m.state))&&(Ze.has(s)?zn(s):t.onFormattingChange(Eh(m.state))),m.docChanged&&t?.onSearchChange){let b=m.state.field(Pi);t.onSearchChange({index:b.index+1,total:b.matches.length})}m.docChanged&&n&&!m.transactions.some(b=>b.isUserEvent("rename"))&&n()}),z.domEventHandlers({paste(m,b){if(m.target instanceof Element&&m.target.closest(".cm-md-table-cell")||!Array.from(m.clipboardData?.items||[]).some(S=>String(S.type||"").toLowerCase().startsWith("image/"))||typeof r!="function")return!1;m.preventDefault();let Q=b.state.selection.main;return r(Q.from,Q.to),!0}})]})}),o=!!(t&&t.pageScrolling),a=o?document.scrollingElement:s.scrollDOM,l=o?window:a,c=null,h=0,f=null,u=()=>s.documentTop+a.scrollTop-(o?0:a.getBoundingClientRect().top),O=m=>{let b=s.lineBlockAt(m),g=0,Q=0;try{let S=s.domAtPos(m).node,x=S.nodeType===Node.ELEMENT_NODE?S:S.parentElement,v=x&&x.closest(".cm-line");if(v){let $=getComputedStyle(v);g=parseFloat($.paddingTop)||0,Q=parseFloat($.paddingBottom)||0}}catch{}return{top:b.top+g,height:Math.max(b.height-g-Q,1),sourceStart:s.state.doc.lineAt(b.from).number,sourceEnd:s.state.doc.lineAt(b.to).number+1}},p={bold:At("**"),italic:At("*"),strikethrough:At("~~"),highlight:At("=="),code:At("`"),h0:Ji(0),h1:Ji(1),h2:Ji(2),h3:Ji(3),h4:Ji(4),h5:Ji(5),h6:Ji(6),quote:$h("> ",/^>\s?/),bulletList:$h("- ",/^\s*[-*+]\s/),orderedList:jv,taskList:$h("- [ ] ",/^\s*[-*+]\s+\[[ xX]\]\s/),link:Yv};return t?.onCopyCode&&Fg.set(s,t.onCopyCode),t?.onFormattingChange&&Wh.set(s,t.onFormattingChange),t?.onFormattingChange?.(Eh(s.state)),{getMarkdown:()=>s.state.doc.toString(),getBlockStyle:()=>Ze.has(s)?"table":i0(s.state).style,setBlockStyle:(m,b)=>{if(Ze.has(s)){if(m!=="code")return!1;let g=vo(s);return g?(At("`")(s),$o(s,g),!0):!1}return Dv(s,m,b)},getListStyle:()=>{if(Ze.has(s))return"none";let m=t0(s.state).map(b=>e0(b.text).style);return m.length?m.every(b=>b===m[0])?m[0]:"mixed":"none"},setListStyle:m=>!Ze.has(s)&&Vv(s,m),getLinkSelection:(m=!1)=>{vo(s);let{from:b,to:g}=s.state.selection.main,Q=qn(s.state,b,["Link"]);if(m&&Q&&g<=Q.to){let S=Q.getChildren("LinkMark");return{from:Q.from,to:Q.to,text:s.state.sliceDoc(S[0].to,S[1].from)}}return{from:b,to:g,text:s.state.sliceDoc(b,g)}},insertLinkFromPopover:(m,b,g,Q)=>{let S=String(b).trim();if(!S||/[\r\n]/.test(S)||g<0||Qs.state.doc.length)return!1;let x=qn(s.state,g,["Link"]);if(x&&(g>x.from||Qg?qn(s.state,Q-1,["Link"]):null;if(v&&(g>v.from||Q\\()]/g,k=>/[()]/.test(k)?"%"+k.charCodeAt(0).toString(16).toUpperCase():encodeURIComponent(k)),_=Ze.get(s),W=`[${$}](${R})`,T=_?Mh(W):W;return s.dispatch({changes:{from:g,to:Q,insert:T},selection:{anchor:g+T.length},userEvent:"input"}),_?$o(s,_):s.focus(),!0},getHeadingLevel:()=>{if(Ze.has(s))return 0;for(let m=U(s.state).resolveInner(s.state.selection.main.head,1);m;m=m.parent){let b=/^(?:ATX|Setext)Heading([1-6])$/.exec(m.name);if(b)return Number(b[1])}return 0},find:(m,b=!1,g=!1)=>{let Q=s.state.field(Pi),S=Q.query===m&&Q.beginsWith===g,x=0;S&&Q.matches.length?x=(Q.index+(b?-1:1)+Q.matches.length)%Q.matches.length:b&&(x=Number.MAX_SAFE_INTEGER),s.dispatch({effects:Ao.of({query:m,beginsWith:g,index:x})});let v=s.state.field(Pi),$=v.matches[v.index];return $&&(c=null,didUserScroll=!0,s.dispatch({effects:z.scrollIntoView($.from,{y:"center"})})),{index:v.index+1,total:v.matches.length}},isSyntaxReady:()=>nO(s.state,s.state.doc.length),replaceMarkdown:m=>{let b=String(m||""),g=b.length,Q=s.state.selection.main,S=Math.min(Q.anchor,g),x=Math.min(Q.head,g),v=a.scrollTop;s.dispatch({changes:{from:0,to:s.state.doc.length,insert:b},selection:{anchor:S,head:x},userEvent:"rename",annotations:pe.addToHistory.of(!1)}),requestAnimationFrame(()=>{a.scrollTop=v,s.requestMeasure()})},insertTextAt:(m,b,g)=>{let Q=s.state.doc.length,S=Math.max(0,Math.min(Number(b)||0,Q)),x=Math.max(S,Math.min(Number(g)||S,Q));s.dispatch({changes:{from:S,to:x,insert:String(m||"")},selection:{anchor:S+String(m||"").length},userEvent:"input",scrollIntoView:!0}),s.focus()},focus:()=>s.focus(),getScrollAnchor:()=>{if(Number.isFinite(c)&&Math.abs(a.scrollTop-f)<=.5)return{position:c,gap:h||0};let m=a.scrollTop-u(),b=s.lineBlockAtHeight(m),g=s.state.doc.lineAt(b.from),Q=O(g.from),S=Q.height>0?Math.min(Math.max((m-Q.top)/Q.height,0),1):0,x=Math.max(Q.top-m,0);return{position:Q.sourceStart+S*(Q.sourceEnd-Q.sourceStart),gap:x}},setScrollPosition:(m,b,g)=>new Promise(Q=>{let x=Math.max(a.scrollHeight-a.clientHeight,0)*Math.min(Math.max(Number(m)||0,0),1),v=null,$=Number.isFinite(g)?Math.max(g,0):0;if(Number.isFinite(b)&&b>=1){let R=Math.min(Math.floor(b),s.state.doc.lines);if(v=s.state.doc.line(R).from,v!=null){let _=O(v),W=(b-_.sourceStart)/(_.sourceEnd-_.sourceStart);x=u()+_.top+_.height*W-$,s.dispatch({effects:z.scrollIntoView(v,{y:"start"})})}}requestAnimationFrame(()=>{let R=Math.max(a.scrollHeight-a.clientHeight,0);if(v!=null){let _=O(v),W=(b-_.sourceStart)/(_.sourceEnd-_.sourceStart);x=u()+_.top+_.height*W-$}else x=R*Math.min(Math.max(Number(m)||0,0),1);a.scrollTop=Math.min(Math.max(x,0),R),l.dispatchEvent(new Event("scroll")),s.requestMeasure(),requestAnimationFrame(()=>{c=Number.isFinite(b)?b:null,h=Number.isFinite(b)?$:0,f=a.scrollTop,Q(!0)})})}),select:(m,b=m)=>{Ze.delete(s),s.dispatch({selection:{anchor:m,head:b},userEvent:"select.pointer"})},insert:m=>{let b=s.state.selection.main;s.state.facet(z.inputHandler).some(Q=>Q(s,b.from,b.to,m))||s.dispatch({changes:{from:b.from,to:b.to,insert:m},selection:{anchor:b.from+m.length},userEvent:"input"})},exec:m=>{let b=p[m];if(!b)return!1;if(Ze.has(s)){if(!UP.has(m))return!1;let g=vo(s);return g?(b(s),$o(s,g),!0):!1}return b(s),s.focus(),!0},performTableContextAction:(m,b)=>{if(!Lr||Lr.token!==m)return!1;let g=Lr;return Lr=null,g.perform(b),!0},destroy:()=>{s.destroy()}}}};})(); diff --git a/scripts/editor-bundle/entry-cm.js b/scripts/editor-bundle/entry-cm.js index 40ae757d..ea7246ec 100644 --- a/scripts/editor-bundle/entry-cm.js +++ b/scripts/editor-bundle/entry-cm.js @@ -2167,14 +2167,13 @@ function buildDecorations(view, detectedCodeCache) { // list starts at its first item, so "first" is a position check. const isFirstItem = node.from === listStack[listStack.length - 1] const isNested = listStack.length > 1 - if (!isFirstItem) { - let number = state.doc.lineAt(node.from).number - 1 - while (number > 0 && state.doc.line(number).text.trim() === "") { - lineOnce(state.doc.line(number).from, blockSeparatorLine(0)) - number-- - } - } - if (!isFirstItem || isNested) lineOnce(node.from, listItemGapLine) + // Authored blank lines must keep their editing height. Markdown + // can parse a new marker after a blank as another item in the same + // list; collapsing that separator pulls the caret upward mid-typing. + const itemLine = state.doc.lineAt(node.from) + const hasBlankBefore = itemLine.number > 1 + && state.doc.line(itemLine.number - 1).text.trim() === "" + if ((!isFirstItem || isNested) && !hasBlankBefore) lineOnce(node.from, listItemGapLine) eachLine(node.from, node.to, listItemLine) lineOnce(node.from, listDepthLine(listStack.length)) listDepthPositions.add(state.doc.lineAt(node.from).from) diff --git a/tests/swift-tests/Tests/MarkdownHelpersTests/EditorFormattingTests.swift b/tests/swift-tests/Tests/MarkdownHelpersTests/EditorFormattingTests.swift index d7ce14f9..94f2ae7b 100644 --- a/tests/swift-tests/Tests/MarkdownHelpersTests/EditorFormattingTests.swift +++ b/tests/swift-tests/Tests/MarkdownHelpersTests/EditorFormattingTests.swift @@ -189,6 +189,49 @@ final class EditorFormattingTests: XCTestCase { } } + func testNewTaskAfterDoubleEnterKeepsBlankLineAndCaretPosition() async throws { + let script = try TestVendor.script("md-preview/Vendor/CodeMirror/mdedit.min.js") + let editor = WebViewLayoutHarness(html: EditorHTML.render(markdown: "- [ ] First", editorJavaScript: script), + width: 650, isEditor: true, height: 500) + defer { editor.close() } + _ = try await editor.layout(texts: [], imageCount: 0) + let result = try await editor.webView.callAsyncJavaScript(""" + const api = window.__mdEditor; + document.hasFocus = () => true; + const settle = async () => { + for (let i = 0; i < 12; i++) { window.__layoutTestFrame(); await Promise.resolve(); } + }; + api.select(api.getMarkdown().length); api.focus(); + const enter = async () => { + document.querySelector('.cm-content').dispatchEvent(new KeyboardEvent('keydown', + {key: 'Enter', code: 'Enter', keyCode: 13, bubbles: true, cancelable: true})); + await settle(); + }; + await enter(); await enter(); + const lastLineTop = () => [...document.querySelectorAll('.cm-line')].at(-1).getBoundingClientRect().top; + const before = lastLineTop(); + const positions = []; + for (const character of '- [ ] Second') { + const range = api.getLinkSelection(); + api.insertTextAt(character, range.from, range.to); + await settle(); + positions.push(lastLineTop()); + } + const lines = [...document.querySelectorAll('.cm-line')]; + return {before, positions, source: api.getMarkdown(), + blankHeight: lines[1].getBoundingClientRect().height, + caret: api.getLinkSelection().from}; + """, arguments: [:], in: nil, contentWorld: .page) as? [String: Any] + let before = try XCTUnwrap(result?["before"] as? Double) + for top in try XCTUnwrap(result?["positions"] as? [Double]) { + XCTAssertGreaterThanOrEqual(top, before - 0.5, "Starting a new task must not collapse the separator above it") + } + XCTAssertGreaterThan(try XCTUnwrap(result?["blankHeight"] as? Double), 0) + let source = "- [ ] First\n\n- [ ] Second" + XCTAssertEqual(result?["source"] as? String, source) + XCTAssertEqual(result?["caret"] as? Int, source.utf16.count) + } + func testTypedTaskCheckboxContinuesAndExitsOnEmptyItem() async throws { let script = try TestVendor.script("md-preview/Vendor/CodeMirror/mdedit.min.js") let editor = WebViewLayoutHarness(html: EditorHTML.render(markdown: "", editorJavaScript: script), From 46d32fd84ac22706439acc0fa6166927515eaad5 Mon Sep 17 00:00:00 2001 From: Fauzaan Date: Mon, 28 Sep 2026 12:02:04 +0000 Subject: [PATCH 04/16] Match completed task styling in Edit Mode --- md-preview/Features/Editor/EditorHTML.swift | 4 ++ md-preview/Vendor/CodeMirror/mdedit.min.js | 40 +++++++++---------- scripts/editor-bundle/entry-cm.js | 5 +++ .../EditorFormattingTests.swift | 26 ++++++++++++ 4 files changed, 55 insertions(+), 20 deletions(-) diff --git a/md-preview/Features/Editor/EditorHTML.swift b/md-preview/Features/Editor/EditorHTML.swift index 77c700ca..69257c0a 100644 --- a/md-preview/Features/Editor/EditorHTML.swift +++ b/md-preview/Features/Editor/EditorHTML.swift @@ -283,6 +283,10 @@ nonisolated enum EditorHTML { padding-inline-start: 2.1em; text-indent: -2.1em; } + .cm-md-task-completed { + color: var(--secondary); + text-decoration: line-through; + } .cm-md-task-marker { display: inline-block; width: 2.1em; diff --git a/md-preview/Vendor/CodeMirror/mdedit.min.js b/md-preview/Vendor/CodeMirror/mdedit.min.js index 0080b812..1dc3225c 100644 --- a/md-preview/Vendor/CodeMirror/mdedit.min.js +++ b/md-preview/Vendor/CodeMirror/mdedit.min.js @@ -1,20 +1,20 @@ -(()=>{var Eo=[],Uh=[];(()=>{let i="lc,34,7n,7,7b,19,,,,2,,2,,,20,b,1c,l,g,,2t,7,2,6,2,2,,4,z,,u,r,2j,b,1m,9,9,,o,4,,9,,3,,5,17,3,3b,f,,w,1j,,,,4,8,4,,3,7,a,2,t,,1m,,,,2,4,8,,9,,a,2,q,,2,2,1l,,4,2,4,2,2,3,3,,u,2,3,,b,2,1l,,4,5,,2,4,,k,2,m,6,,,1m,,,2,,4,8,,7,3,a,2,u,,1n,,,,c,,9,,14,,3,,1l,3,5,3,,4,7,2,b,2,t,,1m,,2,,2,,3,,5,2,7,2,b,2,s,2,1l,2,,,2,4,8,,9,,a,2,t,,20,,4,,2,3,,,8,,29,,2,7,c,8,2q,,2,9,b,6,22,2,r,,,,,,1j,e,,5,,2,5,b,,10,9,,2u,4,,6,,2,2,2,p,2,4,3,g,4,d,,2,2,6,,f,,jj,3,qa,3,t,3,t,2,u,2,1s,2,,7,8,,2,b,9,,19,3,3b,2,y,,3a,3,4,2,9,,6,3,63,2,2,,1m,,,7,,,,,2,8,6,a,2,,1c,h,1r,4,1c,7,,,5,,14,9,c,2,w,4,2,2,,3,1k,,,2,3,,,3,1m,8,2,2,48,3,,d,,7,4,,6,,3,2,5i,1m,,5,ek,,5f,x,2da,3,3x,,2o,w,fe,6,2x,2,n9w,4,,a,w,2,28,2,7k,,3,,4,,p,2,5,,47,2,q,i,d,,12,8,p,b,1a,3,1c,,2,4,2,2,13,,1v,6,2,2,2,2,c,,8,,1b,,1f,,,3,2,2,5,2,,,16,2,8,,6m,,2,,4,,fn4,,kh,g,g,g,a6,2,gt,,6a,,45,5,1ae,3,,2,5,4,14,3,4,,4l,2,fx,4,ar,2,49,b,4w,,1i,f,1k,3,1d,4,2,2,1x,3,10,5,,8,1q,,c,2,1g,9,a,4,2,,2n,3,2,,,2,6,,4g,,3,8,l,2,1l,2,,,,,m,,e,7,3,5,5f,8,2,3,,,n,,29,,2,6,,,2,,,2,,2,6j,,2,4,6,2,,2,r,2,2d,8,2,,,2,2y,,,,2,6,,,2t,3,2,4,,5,77,9,,2,6t,,a,2,,,4,,40,4,2,2,4,,w,a,14,6,2,4,8,,9,6,2,3,1a,d,,2,ba,7,,6,,,2a,m,2,7,,2,,2,3e,6,3,,,2,,7,,,20,2,3,,,,9n,2,f0b,5,1n,7,t4,,1r,4,29,,f5k,2,43q,,,3,4,5,8,8,2,7,u,4,44,3,1iz,1j,4,1e,8,,e,,m,5,,f,11s,7,,h,2,7,,2,,5,79,7,c5,4,15s,7,31,7,240,5,gx7k,2o,3k,6o".split(",").map(e=>e?parseInt(e,36):1);for(let e=0,t=0;e>1;if(i=Uh[n])e=n+1;else return!0;if(e==t)return!1}}function Yh(i){return i>=127462&&i<=127487}var Ih=8205;function Gh(i,e,t=!0,n=!0){return(t?Nh:r0)(i,e,n)}function Nh(i,e,t){if(e==i.length)return e;e&&Fh(i.charCodeAt(e))&&Hh(i.charCodeAt(e-1))&&e--;let n=Zo(i,e);for(e+=Bh(n);e=0&&Yh(Zo(i,o));)s++,o-=2;if(s%2==0)break;e+=2}else break}return e}function r0(i,e,t){for(;e>1;){let n=Nh(i,e-2,t);if(n=56320&&i<57344}function Hh(i){return i>=55296&&i<56320}function Bh(i){return i<65536?1:2}var K=class i{lineAt(e){if(e<0||e>this.length)throw new RangeError(`Invalid position ${e} in document of length ${this.length}`);return this.lineInner(e,!1,1,0)}line(e){if(e<1||e>this.lines)throw new RangeError(`Invalid line number ${e} in ${this.lines}-line document`);return this.lineInner(e,!0,1,0)}replace(e,t,n){[e,t]=sn(this,e,t);let r=[];return this.decompose(0,e,r,2),n.length&&n.decompose(0,n.length,r,3),this.decompose(t,this.length,r,1),tn.from(r,this.length-(t-e)+n.length)}append(e){return this.replace(this.length,this.length,e)}slice(e,t=this.length){[e,t]=sn(this,e,t);let n=[];return this.decompose(e,t,n,0),tn.from(n,t-e)}eq(e){if(e==this)return!0;if(e.length!=this.length||e.lines!=this.lines)return!1;let t=this.scanIdentical(e,1),n=this.length-this.scanIdentical(e,-1),r=new Ci(this),s=new Ci(e);for(let o=t,a=t;;){if(r.next(o),s.next(o),o=0,r.lineBreak!=s.lineBreak||r.done!=s.done||r.value!=s.value)return!1;if(a+=r.value.length,r.done||a>=n)return!0}}iter(e=1){return new Ci(this,e)}iterRange(e,t=this.length){return new Ir(this,e,t)}iterLines(e,t){let n;if(e==null)n=this.iter();else{t==null&&(t=this.lines+1);let r=this.line(e).from;n=this.iterRange(r,Math.max(r,t==this.lines+1?this.length:t<=1?0:this.line(t-1).to))}return new Br(n)}toString(){return this.sliceString(0)}toJSON(){let e=[];return this.flatten(e),e}constructor(){}static of(e){if(e.length==0)throw new RangeError("A document must have at least one line");return e.length==1&&!e[0]?i.empty:e.length<=32?new Ge(e):tn.from(Ge.split(e,[]))}},Ge=class i extends K{constructor(e,t=s0(e)){super(),this.text=e,this.length=t}get lines(){return this.text.length}get children(){return null}lineInner(e,t,n,r){for(let s=0;;s++){let o=this.text[s],a=r+o.length;if((t?n:a)>=e)return new zo(r,a,n,o);r=a+1,n++}}decompose(e,t,n,r){let s=e<=0&&t>=this.length?this:new i(Kh(this.text,e,t),Math.min(t,this.length)-Math.max(0,e));if(r&1){let o=n.pop(),a=Yr(s.text,o.text.slice(),0,s.length);if(a.length<=32)n.push(new i(a,o.length+s.length));else{let l=a.length>>1;n.push(new i(a.slice(0,l)),new i(a.slice(l)))}}else n.push(s)}replace(e,t,n){if(!(n instanceof i))return super.replace(e,t,n);[e,t]=sn(this,e,t);let r=Yr(this.text,Yr(n.text,Kh(this.text,0,e)),t),s=this.length+n.length-(t-e);return r.length<=32?new i(r,s):tn.from(i.split(r,[]),s)}sliceString(e,t=this.length,n=` +(()=>{var Eo=[],Uh=[];(()=>{let i="lc,34,7n,7,7b,19,,,,2,,2,,,20,b,1c,l,g,,2t,7,2,6,2,2,,4,z,,u,r,2j,b,1m,9,9,,o,4,,9,,3,,5,17,3,3b,f,,w,1j,,,,4,8,4,,3,7,a,2,t,,1m,,,,2,4,8,,9,,a,2,q,,2,2,1l,,4,2,4,2,2,3,3,,u,2,3,,b,2,1l,,4,5,,2,4,,k,2,m,6,,,1m,,,2,,4,8,,7,3,a,2,u,,1n,,,,c,,9,,14,,3,,1l,3,5,3,,4,7,2,b,2,t,,1m,,2,,2,,3,,5,2,7,2,b,2,s,2,1l,2,,,2,4,8,,9,,a,2,t,,20,,4,,2,3,,,8,,29,,2,7,c,8,2q,,2,9,b,6,22,2,r,,,,,,1j,e,,5,,2,5,b,,10,9,,2u,4,,6,,2,2,2,p,2,4,3,g,4,d,,2,2,6,,f,,jj,3,qa,3,t,3,t,2,u,2,1s,2,,7,8,,2,b,9,,19,3,3b,2,y,,3a,3,4,2,9,,6,3,63,2,2,,1m,,,7,,,,,2,8,6,a,2,,1c,h,1r,4,1c,7,,,5,,14,9,c,2,w,4,2,2,,3,1k,,,2,3,,,3,1m,8,2,2,48,3,,d,,7,4,,6,,3,2,5i,1m,,5,ek,,5f,x,2da,3,3x,,2o,w,fe,6,2x,2,n9w,4,,a,w,2,28,2,7k,,3,,4,,p,2,5,,47,2,q,i,d,,12,8,p,b,1a,3,1c,,2,4,2,2,13,,1v,6,2,2,2,2,c,,8,,1b,,1f,,,3,2,2,5,2,,,16,2,8,,6m,,2,,4,,fn4,,kh,g,g,g,a6,2,gt,,6a,,45,5,1ae,3,,2,5,4,14,3,4,,4l,2,fx,4,ar,2,49,b,4w,,1i,f,1k,3,1d,4,2,2,1x,3,10,5,,8,1q,,c,2,1g,9,a,4,2,,2n,3,2,,,2,6,,4g,,3,8,l,2,1l,2,,,,,m,,e,7,3,5,5f,8,2,3,,,n,,29,,2,6,,,2,,,2,,2,6j,,2,4,6,2,,2,r,2,2d,8,2,,,2,2y,,,,2,6,,,2t,3,2,4,,5,77,9,,2,6t,,a,2,,,4,,40,4,2,2,4,,w,a,14,6,2,4,8,,9,6,2,3,1a,d,,2,ba,7,,6,,,2a,m,2,7,,2,,2,3e,6,3,,,2,,7,,,20,2,3,,,,9n,2,f0b,5,1n,7,t4,,1r,4,29,,f5k,2,43q,,,3,4,5,8,8,2,7,u,4,44,3,1iz,1j,4,1e,8,,e,,m,5,,f,11s,7,,h,2,7,,2,,5,79,7,c5,4,15s,7,31,7,240,5,gx7k,2o,3k,6o".split(",").map(e=>e?parseInt(e,36):1);for(let e=0,t=0;e>1;if(i=Uh[n])e=n+1;else return!0;if(e==t)return!1}}function Yh(i){return i>=127462&&i<=127487}var Ih=8205;function Gh(i,e,t=!0,n=!0){return(t?Nh:s0)(i,e,n)}function Nh(i,e,t){if(e==i.length)return e;e&&Fh(i.charCodeAt(e))&&Hh(i.charCodeAt(e-1))&&e--;let n=Zo(i,e);for(e+=Bh(n);e=0&&Yh(Zo(i,o));)s++,o-=2;if(s%2==0)break;e+=2}else break}return e}function s0(i,e,t){for(;e>1;){let n=Nh(i,e-2,t);if(n=56320&&i<57344}function Hh(i){return i>=55296&&i<56320}function Bh(i){return i<65536?1:2}var K=class i{lineAt(e){if(e<0||e>this.length)throw new RangeError(`Invalid position ${e} in document of length ${this.length}`);return this.lineInner(e,!1,1,0)}line(e){if(e<1||e>this.lines)throw new RangeError(`Invalid line number ${e} in ${this.lines}-line document`);return this.lineInner(e,!0,1,0)}replace(e,t,n){[e,t]=sn(this,e,t);let r=[];return this.decompose(0,e,r,2),n.length&&n.decompose(0,n.length,r,3),this.decompose(t,this.length,r,1),tn.from(r,this.length-(t-e)+n.length)}append(e){return this.replace(this.length,this.length,e)}slice(e,t=this.length){[e,t]=sn(this,e,t);let n=[];return this.decompose(e,t,n,0),tn.from(n,t-e)}eq(e){if(e==this)return!0;if(e.length!=this.length||e.lines!=this.lines)return!1;let t=this.scanIdentical(e,1),n=this.length-this.scanIdentical(e,-1),r=new Ci(this),s=new Ci(e);for(let o=t,a=t;;){if(r.next(o),s.next(o),o=0,r.lineBreak!=s.lineBreak||r.done!=s.done||r.value!=s.value)return!1;if(a+=r.value.length,r.done||a>=n)return!0}}iter(e=1){return new Ci(this,e)}iterRange(e,t=this.length){return new Ir(this,e,t)}iterLines(e,t){let n;if(e==null)n=this.iter();else{t==null&&(t=this.lines+1);let r=this.line(e).from;n=this.iterRange(r,Math.max(r,t==this.lines+1?this.length:t<=1?0:this.line(t-1).to))}return new Br(n)}toString(){return this.sliceString(0)}toJSON(){let e=[];return this.flatten(e),e}constructor(){}static of(e){if(e.length==0)throw new RangeError("A document must have at least one line");return e.length==1&&!e[0]?i.empty:e.length<=32?new Ge(e):tn.from(Ge.split(e,[]))}},Ge=class i extends K{constructor(e,t=o0(e)){super(),this.text=e,this.length=t}get lines(){return this.text.length}get children(){return null}lineInner(e,t,n,r){for(let s=0;;s++){let o=this.text[s],a=r+o.length;if((t?n:a)>=e)return new zo(r,a,n,o);r=a+1,n++}}decompose(e,t,n,r){let s=e<=0&&t>=this.length?this:new i(Kh(this.text,e,t),Math.min(t,this.length)-Math.max(0,e));if(r&1){let o=n.pop(),a=Yr(s.text,o.text.slice(),0,s.length);if(a.length<=32)n.push(new i(a,o.length+s.length));else{let l=a.length>>1;n.push(new i(a.slice(0,l)),new i(a.slice(l)))}}else n.push(s)}replace(e,t,n){if(!(n instanceof i))return super.replace(e,t,n);[e,t]=sn(this,e,t);let r=Yr(this.text,Yr(n.text,Kh(this.text,0,e)),t),s=this.length+n.length-(t-e);return r.length<=32?new i(r,s):tn.from(i.split(r,[]),s)}sliceString(e,t=this.length,n=` `){[e,t]=sn(this,e,t);let r="";for(let s=0,o=0;s<=t&&oe&&o&&(r+=n),es&&(r+=a.slice(Math.max(0,e-s),t-s)),s=l+1}return r}flatten(e){for(let t of this.text)e.push(t)}scanIdentical(){return 0}static split(e,t){let n=[],r=-1;for(let s of e)n.push(s),r+=s.length+1,n.length==32&&(t.push(new i(n,r)),n=[],r=-1);return r>-1&&t.push(new i(n,r)),t}},tn=class i extends K{constructor(e,t){super(),this.children=e,this.length=t,this.lines=0;for(let n of e)this.lines+=n.lines}lineInner(e,t,n,r){for(let s=0;;s++){let o=this.children[s],a=r+o.length,l=n+o.lines-1;if((t?l:a)>=e)return o.lineInner(e,t,n,r);r=a+1,n=l+1}}decompose(e,t,n,r){for(let s=0,o=0;o<=t&&s=o){let c=r&((o<=e?1:0)|(l>=t?2:0));o>=e&&l<=t&&!c?n.push(a):a.decompose(e-o,t-o,n,c)}o=l+1}}replace(e,t,n){if([e,t]=sn(this,e,t),n.lines=s&&t<=a){let l=o.replace(e-s,t-s,n),c=this.lines-o.lines+l.lines;if(l.lines>4&&l.lines>c>>6){let h=this.children.slice();return h[r]=l,new i(h,this.length-(t-e)+n.length)}return super.replace(s,a,l)}s=a+1}return super.replace(e,t,n)}sliceString(e,t=this.length,n=` -`){[e,t]=sn(this,e,t);let r="";for(let s=0,o=0;se&&s&&(r+=n),eo&&(r+=a.sliceString(e-o,t-o,n)),o=l+1}return r}flatten(e){for(let t of this.children)t.flatten(e)}scanIdentical(e,t){if(!(e instanceof i))return 0;let n=0,[r,s,o,a]=t>0?[0,0,this.children.length,e.children.length]:[this.children.length-1,e.children.length-1,-1,-1];for(;;r+=t,s+=t){if(r==o||s==a)return n;let l=this.children[r],c=e.children[s];if(l!=c)return n+l.scanIdentical(c,t);n+=l.length+1}}static from(e,t=e.reduce((n,r)=>n+r.length+1,-1)){let n=0;for(let O of e)n+=O.lines;if(n<32){let O=[];for(let p of e)p.flatten(O);return new Ge(O,t)}let r=Math.max(32,n>>5),s=r<<1,o=r>>1,a=[],l=0,c=-1,h=[];function f(O){let p;if(O.lines>s&&O instanceof i)for(let m of O.children)f(m);else O.lines>o&&(l>o||!l)?(u(),a.push(O)):O instanceof Ge&&l&&(p=h[h.length-1])instanceof Ge&&O.lines+p.lines<=32?(l+=O.lines,c+=O.length+1,h[h.length-1]=new Ge(p.text.concat(O.text),p.length+1+O.length)):(l+O.lines>r&&u(),l+=O.lines,c+=O.length+1,h.push(O))}function u(){l!=0&&(a.push(h.length==1?h[0]:i.from(h,c)),c=-1,l=h.length=0)}for(let O of e)f(O);return u(),a.length==1?a[0]:new i(a,t)}};K.empty=new Ge([""],0);function s0(i){let e=-1;for(let t of i)e+=t.length+1;return e}function Yr(i,e,t=0,n=1e9){for(let r=0,s=0,o=!0;s=t&&(l>n&&(a=a.slice(0,n-r)),r0?1:(e instanceof Ge?e.text.length:e.children.length)<<1]}nextInner(e,t){for(this.done=this.lineBreak=!1;;){let n=this.nodes.length-1,r=this.nodes[n],s=this.offsets[n],o=s>>1,a=r instanceof Ge?r.text.length:r.children.length;if(o==(t>0?a:0)){if(n==0)return this.done=!0,this.value="",this;t>0&&this.offsets[n-1]++,this.nodes.pop(),this.offsets.pop()}else if((s&1)==(t>0?0:1)){if(this.offsets[n]+=t,e==0)return this.lineBreak=!0,this.value=` -`,this;e--}else if(r instanceof Ge){let l=r.text[o+(t<0?-1:0)];if(this.offsets[n]+=t,l.length>Math.max(0,e))return this.value=e==0?l:t>0?l.slice(e):l.slice(0,l.length-e),this;e-=l.length}else{let l=r.children[o+(t<0?-1:0)];e>l.length?(e-=l.length,this.offsets[n]+=t):(t<0&&this.offsets[n]--,this.nodes.push(l),this.offsets.push(t>0?1:(l instanceof Ge?l.text.length:l.children.length)<<1))}}}next(e=0){return e<0&&(this.nextInner(-e,-this.dir),e=this.value.length),this.nextInner(e,this.dir)}},Ir=class{constructor(e,t,n){this.value="",this.done=!1,this.cursor=new Ci(e,t>n?-1:1),this.pos=t>n?e.length:0,this.from=Math.min(t,n),this.to=Math.max(t,n)}nextInner(e,t){if(t<0?this.pos<=this.from:this.pos>=this.to)return this.value="",this.done=!0,this;e+=Math.max(0,t<0?this.pos-this.to:this.from-this.pos);let n=t<0?this.pos-this.from:this.to-this.pos;e>n&&(e=n),n-=e;let{value:r}=this.cursor.next(e);return this.pos+=(r.length+e)*t,this.value=r.length<=n?r:t<0?r.slice(r.length-n):r.slice(0,n),this.done=!this.value,this}next(e=0){return e<0?e=Math.max(e,this.from-this.pos):e>0&&(e=Math.min(e,this.to-this.pos)),this.nextInner(e,this.cursor.dir)}get lineBreak(){return this.cursor.lineBreak&&this.value!=""}},Br=class{constructor(e){this.inner=e,this.afterBreak=!0,this.value="",this.done=!1}next(e=0){let{done:t,lineBreak:n,value:r}=this.inner.next(e);return t&&this.afterBreak?(this.value="",this.afterBreak=!1):t?(this.done=!0,this.value=""):n?this.afterBreak?this.value="":(this.afterBreak=!0,this.next()):(this.value=r,this.afterBreak=!1),this}get lineBreak(){return!1}};typeof Symbol<"u"&&(K.prototype[Symbol.iterator]=function(){return this.iter()},Ci.prototype[Symbol.iterator]=Ir.prototype[Symbol.iterator]=Br.prototype[Symbol.iterator]=function(){return this});var zo=class{constructor(e,t,n,r){this.from=e,this.to=t,this.number=n,this.text=r}get length(){return this.to-this.from}};function sn(i,e,t){return e=Math.max(0,Math.min(i.length,e)),[e,Math.max(e,Math.min(i.length,t))]}function ke(i,e,t=!0,n=!0){return Gh(i,e,t,n)}function o0(i){return i>=56320&&i<57344}function a0(i){return i>=55296&&i<56320}function si(i,e){let t=i.charCodeAt(e);if(!a0(t)||e+1==i.length)return t;let n=i.charCodeAt(e+1);return o0(n)?(t-55296<<10)+(n-56320)+65536:t}function rf(i){return i<=65535?String.fromCharCode(i):(i-=65536,String.fromCharCode((i>>10)+55296,(i&1023)+56320))}function on(i){return i<65536?1:2}var Lo=/\r\n?|\n/,ge=(function(i){return i[i.Simple=0]="Simple",i[i.TrackDel=1]="TrackDel",i[i.TrackBefore=2]="TrackBefore",i[i.TrackAfter=3]="TrackAfter",i})(ge||(ge={})),zt=class i{constructor(e){this.sections=e}get length(){let e=0;for(let t=0;te)return s+(e-r);s+=a}else{if(n!=ge.Simple&&c>=e&&(n==ge.TrackDel&&re||n==ge.TrackBefore&&re))return null;if(c>e||c==e&&t<0&&!a)return e==r||t<0?s:s+l;s+=l}r=c}if(e>r)throw new RangeError(`Position ${e} is out of range for changeset of length ${r}`);return s}touchesRange(e,t=e){for(let n=0,r=0;n=0&&r<=t&&a>=e)return rt?"cover":!0;r=a}return!1}toString(){let e="";for(let t=0;t=0?":"+r:"")}return e}toJSON(){return this.sections}static fromJSON(e){if(!Array.isArray(e)||e.length%2||e.some(t=>typeof t!="number"))throw new RangeError("Invalid JSON representation of ChangeDesc");return new i(e)}static create(e){return new i(e)}},qe=class i extends zt{constructor(e,t){super(e),this.inserted=t}apply(e){if(this.length!=e.length)throw new RangeError("Applying change set to a document with the wrong length");return Mo(this,(t,n,r,s,o)=>e=e.replace(r,r+(n-t),o),!1),e}mapDesc(e,t=!1){return Wo(this,e,t,!0)}invert(e){let t=this.sections.slice(),n=[];for(let r=0,s=0;r=0){t[r]=a,t[r+1]=o;let l=r>>1;for(;n.length0&&ri(n,t,s.text),s.forward(h),a+=h}let c=e[o++];for(;a>1].toJSON()))}return e}static of(e,t,n){let r=[],s=[],o=0,a=null;function l(h=!1){if(!h&&!r.length)return;ou||f<0||u>t)throw new RangeError(`Invalid change range ${f} to ${u} (in doc of length ${t})`);let p=O?typeof O=="string"?K.of(O.split(n||Lo)):O:K.empty,m=p.length;if(f==u&&m==0)return;fo&&Xe(r,f-o,-1),Xe(r,u-f,m),ri(s,r,p),o=u}}return c(e),l(!a),a}static empty(e){return new i(e?[e,-1]:[],[])}static fromJSON(e){if(!Array.isArray(e))throw new RangeError("Invalid JSON representation of ChangeSet");let t=[],n=[];for(let r=0;ra&&typeof o!="string"))throw new RangeError("Invalid JSON representation of ChangeSet");if(s.length==1)t.push(s[0],0);else{for(;n.length=0&&t<=0&&t==i[r+1]?i[r]+=e:r>=0&&e==0&&i[r]==0?i[r+1]+=t:n?(i[r]+=e,i[r+1]+=t):i.push(e,t)}function ri(i,e,t){if(t.length==0)return;let n=e.length-2>>1;if(n>1])),!(t||o==i.sections.length||i.sections[o+1]<0);)a=i.sections[o++],l=i.sections[o++];e(r,c,s,h,f),r=c,s=h}}}function Wo(i,e,t,n=!1){let r=[],s=n?[]:null,o=new Xi(i),a=new Xi(e);for(let l=-1;;){if(o.done&&a.len||a.done&&o.len)throw new Error("Mismatched change set lengths");if(o.ins==-1&&a.ins==-1){let c=Math.min(o.len,a.len);Xe(r,c,-1),o.forward(c),a.forward(c)}else if(a.ins>=0&&(o.ins<0||l==o.i||o.off==0&&(a.len=0&&l=0){let c=0,h=o.len;for(;h;)if(a.ins==-1){let f=Math.min(h,a.len);c+=f,h-=f,a.forward(f)}else if(a.ins==0&&a.lenl||o.ins>=0&&o.len>l)&&(a||n.length>c),s.forward2(l),o.forward(l)}}}}var Xi=class{constructor(e){this.set=e,this.i=0,this.next()}next(){let{sections:e}=this.set;this.i>1;return t>=e.length?K.empty:e[t]}textBit(e){let{inserted:t}=this.set,n=this.i-2>>1;return n>=t.length&&!e?K.empty:t[n].slice(this.off,e==null?void 0:this.off+e)}forward(e){e==this.len?this.next():(this.len-=e,this.off+=e)}forward2(e){this.ins==-1?this.forward(e):e==this.ins?this.next():(this.ins-=e,this.off+=e)}},vi=class i{constructor(e,t,n,r){this.from=e,this.to=t,this.flags=n,this.goalColumn=r}get anchor(){return this.flags&32?this.to:this.from}get head(){return this.flags&32?this.from:this.to}get empty(){return this.from==this.to}get assoc(){return this.flags&8?-1:this.flags&16?1:0}get undirectional(){return(this.flags&64)>0}get bidiLevel(){let e=this.flags&7;return e==7?null:e}map(e,t=-1){let n,r;return this.empty?n=r=e.mapPos(this.from,t):(n=e.mapPos(this.from,1),r=e.mapPos(this.to,-1)),n==this.from&&r==this.to?this:new i(n,r,this.flags,this.goalColumn)}extend(e,t=e,n=0){if(e<=this.anchor&&t>=this.anchor)return P.range(e,t,void 0,void 0,n);let r=Math.abs(e-this.anchor)>Math.abs(t-this.anchor)?e:t;return P.range(this.anchor,r,void 0,void 0,n)}eq(e,t=!1){return this.anchor==e.anchor&&this.head==e.head&&this.goalColumn==e.goalColumn&&(!t||!this.empty||this.assoc==e.assoc)}toJSON(){return{anchor:this.anchor,head:this.head}}static fromJSON(e){if(!e||typeof e.anchor!="number"||typeof e.head!="number")throw new RangeError("Invalid JSON representation for SelectionRange");return P.range(e.anchor,e.head)}static create(e,t,n,r){return new i(e,t,n,r)}},P=class i{constructor(e,t){this.ranges=e,this.mainIndex=t}map(e,t=-1){return e.empty?this:i.create(this.ranges.map(n=>n.map(e,t)),this.mainIndex)}eq(e,t=!1){if(this.ranges.length!=e.ranges.length||this.mainIndex!=e.mainIndex)return!1;for(let n=0;ne.toJSON()),main:this.mainIndex}}static fromJSON(e){if(!e||!Array.isArray(e.ranges)||typeof e.main!="number"||e.main>=e.ranges.length)throw new RangeError("Invalid JSON representation for EditorSelection");return new i(e.ranges.map(t=>vi.fromJSON(t)),e.main)}static single(e,t=e){return new i([i.range(e,t)],0)}static create(e,t=0){if(e.length==0)throw new RangeError("A selection needs at least one range");for(let n=0,r=0;rr.from-s.from),t=e.indexOf(n);for(let r=1;rs.head?i.range(l,a):i.range(a,l))}}return new i(e,t)}};function of(i,e){for(let t of i.ranges)if(t.to>e)throw new RangeError("Selection points outside of document")}var Fo=0,Y=class i{constructor(e,t,n,r,s){this.combine=e,this.compareInput=t,this.compare=n,this.isStatic=r,this.id=Fo++,this.default=e([]),this.extensions=typeof s=="function"?s(this):s}get reader(){return this}static define(e={}){return new i(e.combine||(t=>t),e.compareInput||((t,n)=>t===n),e.compare||(e.combine?(t,n)=>t===n:Ho),!!e.static,e.enables)}of(e){return new nn([],this,0,e)}compute(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new nn(e,this,1,t)}computeN(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new nn(e,this,2,t)}from(e,t){return t||(t=n=>n),this.compute([e],n=>t(n.field(e)))}};function Ho(i,e){return i==e||i.length==e.length&&i.every((t,n)=>t===e[n])}var nn=class{constructor(e,t,n,r){this.dependencies=e,this.facet=t,this.type=n,this.value=r,this.id=Fo++}dynamicSlot(e){var t;let n=this.value,r=this.facet.compareInput,s=this.id,o=e[s]>>1,a=this.type==2,l=!1,c=!1,h=[];for(let f of this.dependencies)f=="doc"?l=!0:f=="selection"?c=!0:(((t=e[f.id])!==null&&t!==void 0?t:1)&1)==0&&h.push(e[f.id]);return{create(f){return f.values[o]=n(f),1},update(f,u){if(l&&u.docChanged||c&&(u.docChanged||u.selection)||jo(f,h)){let O=n(f);if(a?!Jh(O,f.values[o],r):!r(O,f.values[o]))return f.values[o]=O,1}return 0},reconfigure:(f,u)=>{let O,p=u.config.address[s];if(p!=null){let m=Fr(u,p);if(this.dependencies.every(b=>b instanceof Y?u.facet(b)===f.facet(b):b instanceof he?u.field(b,!1)==f.field(b,!1):!0)||(a?Jh(O=n(f),m,r):r(O=n(f),m)))return f.values[o]=m,0}else O=n(f);return f.values[o]=O,1}}}get extension(){return this}};function Jh(i,e,t){if(i.length!=e.length)return!1;for(let n=0;ni[l.id]),r=t.map(l=>l.type),s=n.filter(l=>!(l&1)),o=i[e.id]>>1;function a(l){let c=[];for(let h=0;hn===r),e);return e.provide&&(t.provides=e.provide(t)),t}create(e){let t=e.facet(jr).find(n=>n.field==this);return(t?.create||this.createF)(e)}slot(e){let t=e[this.id]>>1;return{create:n=>(n.values[t]=this.create(n),1),update:(n,r)=>{let s=n.values[t],o=this.updateF(s,r);return this.compareF(s,o)?0:(n.values[t]=o,1)},reconfigure:(n,r)=>{let s=n.facet(jr),o=r.facet(jr),a;return(a=s.find(l=>l.field==this))&&a!=o.find(l=>l.field==this)?(n.values[t]=a.create(n),1):r.config.address[this.id]!=null?(n.values[t]=r.field(this),0):(n.values[t]=this.create(n),1)}}}init(e){return[this,jr.of({field:this,create:e})]}get extension(){return this}},$i={lowest:4,low:3,default:2,high:1,highest:0};function Mn(i){return e=>new Ur(e,i)}var nt={highest:Mn($i.highest),high:Mn($i.high),default:Mn($i.default),low:Mn($i.low),lowest:Mn($i.lowest)},Ur=class{constructor(e,t){this.inner=e,this.prec=t}get extension(){return this}},Gr=class i{of(e){return new jn(this,e)}reconfigure(e){return i.reconfigure.of({compartment:this,extension:e})}get(e){return e.config.compartments.get(this)}},jn=class{constructor(e,t){this.compartment=e,this.inner=t}get extension(){return this}},Nr=class i{constructor(e,t,n,r,s,o){for(this.base=e,this.compartments=t,this.dynamicSlots=n,this.address=r,this.staticValues=s,this.facets=o,this.statusTemplate=[];this.statusTemplate.length>1]}static resolve(e,t,n){let r=[],s=Object.create(null),o=new Map;for(let u of c0(e,t,o))u instanceof he?r.push(u):(s[u.facet.id]||(s[u.facet.id]=[])).push(u);let a=Object.create(null),l=[],c=[];for(let u of r)a[u.id]=c.length<<1,c.push(O=>u.slot(O));let h=n?.config.facets;for(let u in s){let O=s[u],p=O[0].facet,m=h&&h[u]||[];if(O.every(b=>b.type==0))if(a[p.id]=l.length<<1|1,Ho(m,O))l.push(n.facet(p));else{let b=p.combine(O.map(g=>g.value));l.push(n&&p.compare(b,n.facet(p))?n.facet(p):b)}else{for(let b of O)b.type==0?(a[b.id]=l.length<<1|1,l.push(b.value)):(a[b.id]=c.length<<1,c.push(g=>b.dynamicSlot(g)));a[p.id]=c.length<<1,c.push(b=>l0(b,p,O))}}let f=c.map(u=>u(a));return new i(e,o,f,a,l,s)}};function c0(i,e,t){let n=[[],[],[],[],[]],r=new Map;function s(o,a){let l=r.get(o);if(l!=null){if(l<=a)return;let c=n[l].indexOf(o);c>-1&&n[l].splice(c,1),o instanceof jn&&t.delete(o.compartment)}if(r.set(o,a),Array.isArray(o))for(let c of o)s(c,a);else if(o instanceof jn){if(t.has(o.compartment))throw new RangeError("Duplicate use of compartment in extensions");let c=e.get(o.compartment)||o.inner;t.set(o.compartment,c),s(c,a)}else if(o instanceof Ur)s(o.inner,o.prec);else if(o instanceof he)n[a].push(o),o.provides&&s(o.provides,a);else if(o instanceof nn)n[a].push(o),o.facet.extensions&&s(o.facet.extensions,$i.default);else{let c=o.extension;if(!c)throw new Error(`Unrecognized extension value in extension set (${o}).`);if(c==o)throw new Error(`Unrecognized extension value in extension set (${o}). This sometimes happens because multiple instances of @codemirror/state are loaded, breaking instanceof checks.`);s(c,a)}}return s(i,$i.default),n.reduce((o,a)=>o.concat(a))}function Wn(i,e){if(e&1)return 2;let t=e>>1,n=i.status[t];if(n==4)throw new Error("Cyclic dependency between fields and/or facets");if(n&2)return n;i.status[t]=4;let r=i.computeSlot(i,i.config.dynamicSlots[t]);return i.status[t]=2|r}function Fr(i,e){return e&1?i.config.staticValues[e>>1]:i.values[e>>1]}var af=Y.define(),Vo=Y.define({combine:i=>i.some(e=>e),static:!0}),lf=Y.define({combine:i=>i.length?i[0]:void 0,static:!0}),cf=Y.define(),hf=Y.define(),ff=Y.define(),uf=Y.define({combine:i=>i.length?i[0]:!1}),_e=class{constructor(e,t){this.type=e,this.value=t}static define(){return new Do}},Do=class{of(e){return new _e(this,e)}},Yo=class{constructor(e){this.map=e}of(e){return new te(this,e)}},te=class i{constructor(e,t){this.type=e,this.value=t}map(e){let t=this.type.map(this.value,e);return t===void 0?void 0:t==this.value?this:new i(this.type,t)}is(e){return this.type==e}static define(e={}){return new Yo(e.map||(t=>t))}static mapEffects(e,t){if(!e.length)return e;let n=[];for(let r of e){let s=r.map(t);s&&n.push(s)}return n}};te.reconfigure=te.define();te.appendConfig=te.define();var pe=class i{constructor(e,t,n,r,s,o){this.startState=e,this.changes=t,this.selection=n,this.effects=r,this.annotations=s,this.scrollIntoView=o,this._doc=null,this._state=null,n&&of(n,t.newLength),s.some(a=>a.type==i.time)||(this.annotations=s.concat(i.time.of(Date.now())))}static create(e,t,n,r,s,o){return new i(e,t,n,r,s,o)}get newDoc(){return this._doc||(this._doc=this.changes.apply(this.startState.doc))}get newSelection(){return this.selection||this.startState.selection.map(this.changes)}get state(){return this._state||this.startState.applyTransaction(this),this._state}annotation(e){for(let t of this.annotations)if(t.type==e)return t.value}get docChanged(){return!this.changes.empty}get reconfigured(){return this.startState.config!=this.state.config}isUserEvent(e){let t=this.annotation(i.userEvent);return!!(t&&(t==e||t.length>e.length&&t.slice(0,e.length)==e&&t[e.length]=="."))}};pe.time=_e.define();pe.userEvent=_e.define();pe.addToHistory=_e.define();pe.remote=_e.define();function h0(i,e){let t=[];for(let n=0,r=0;;){let s,o;if(n=i[n]))s=i[n++],o=i[n++];else if(r=0;r--){let s=n[r](i);s instanceof pe?i=s:Array.isArray(s)&&s.length==1&&s[0]instanceof pe?i=s[0]:i=df(e,rn(s),!1)}return i}function u0(i){let e=i.startState,t=e.facet(ff),n=i;for(let r=t.length-1;r>=0;r--){let s=t[r](i);s&&Object.keys(s).length&&(n=Of(n,Io(e,s,i.changes.newLength),!0))}return n==i?i:pe.create(e,i.changes,i.selection,n.effects,n.annotations,n.scrollIntoView)}var O0=[];function rn(i){return i==null?O0:Array.isArray(i)?i:[i]}var Ee=(function(i){return i[i.Word=0]="Word",i[i.Space=1]="Space",i[i.Other=2]="Other",i})(Ee||(Ee={})),d0=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/,Bo;try{Bo=new RegExp("[\\p{Alphabetic}\\p{Number}_]","u")}catch{}function p0(i){if(Bo)return Bo.test(i);for(let e=0;e"\x80"&&(t.toUpperCase()!=t.toLowerCase()||d0.test(t)))return!0}return!1}function m0(i){return e=>{if(!/\S/.test(e))return Ee.Space;if(p0(e))return Ee.Word;for(let t=0;t-1)return Ee.Word;return Ee.Other}}var se=class i{constructor(e,t,n,r,s,o){this.config=e,this.doc=t,this.selection=n,this.values=r,this.status=e.statusTemplate.slice(),this.computeSlot=s,o&&(o._state=this);for(let a=0;ar.set(c,l)),t=null),r.set(a.value.compartment,a.value.extension)):a.is(te.reconfigure)?(t=null,n=a.value):a.is(te.appendConfig)&&(t=null,n=rn(n).concat(a.value));let s;t?s=e.startState.values.slice():(t=Nr.resolve(n,r,this),s=new i(t,this.doc,this.selection,t.dynamicSlots.map(()=>null),(l,c)=>c.reconfigure(l,this),null).values);let o=e.startState.facet(Vo)?e.newSelection:e.newSelection.asSingle();new i(t,e.newDoc,o,s,(a,l)=>l.update(a,e),e)}replaceSelection(e){return typeof e=="string"&&(e=this.toText(e)),this.changeByRange(t=>({changes:{from:t.from,to:t.to,insert:e},range:P.cursor(t.from+e.length)}))}changeByRange(e){let t=this.selection,n=e(t.ranges[0]),r=this.changes(n.changes),s=[n.range],o=rn(n.effects);for(let a=1;ao.spec.fromJSON(a,l)))}}return i.create({doc:e.doc,selection:P.fromJSON(e.selection),extensions:t.extensions?r.concat([t.extensions]):r})}static create(e={}){let t=Nr.resolve(e.extensions||[],new Map),n=e.doc instanceof K?e.doc:K.of((e.doc||"").split(t.staticFacet(i.lineSeparator)||Lo)),r=e.selection?e.selection instanceof P?e.selection:P.single(e.selection.anchor,e.selection.head):P.single(0);return of(r,n.length),t.staticFacet(Vo)||(r=r.asSingle()),new i(t,n,r,t.dynamicSlots.map(()=>null),(s,o)=>o.create(s),null)}get tabSize(){return this.facet(i.tabSize)}get lineBreak(){return this.facet(i.lineSeparator)||` -`}get readOnly(){return this.facet(uf)}phrase(e,...t){for(let n of this.facet(i.phrases))if(Object.prototype.hasOwnProperty.call(n,e)){e=n[e];break}return t.length&&(e=e.replace(/\$(\$|\d*)/g,(n,r)=>{if(r=="$")return"$";let s=+(r||1);return!s||s>t.length?n:t[s-1]})),e}languageDataAt(e,t,n=-1){let r=[];for(let s of this.facet(af))for(let o of s(this,t,n))Object.prototype.hasOwnProperty.call(o,e)&&r.push(o[e]);return r}charCategorizer(e){let t=this.languageDataAt("wordChars",e);return m0(t.length?t[0]:"")}wordAt(e){let{text:t,from:n,length:r}=this.doc.lineAt(e),s=this.charCategorizer(e),o=e-n,a=e-n;for(;o>0;){let l=ke(t,o,!1);if(s(t.slice(l,o))!=Ee.Word)break;o=l}for(;ai.length?i[0]:4});se.lineSeparator=lf;se.readOnly=uf;se.phrases=Y.define({compare(i,e){let t=Object.keys(i),n=Object.keys(e);return t.length==n.length&&t.every(r=>i[r]==e[r])}});se.languageData=af;se.changeFilter=cf;se.transactionFilter=hf;se.transactionExtender=ff;Gr.reconfigure=te.define();function Yn(i,e,t={}){let n={};for(let r of i)for(let s of Object.keys(r)){let o=r[s],a=n[s];if(a===void 0)n[s]=o;else if(!(a===o||o===void 0))if(Object.hasOwnProperty.call(t,s))n[s]=t[s](a,o);else throw new Error("Config merge conflict for field "+s)}for(let r in e)n[r]===void 0&&(n[r]=e[r]);return n}var it=class{eq(e){return this==e}range(e,t=e){return Vn.create(e,t,this)}};it.prototype.startSide=it.prototype.endSide=0;it.prototype.point=!1;it.prototype.mapMode=ge.TrackDel;function Ko(i,e){return i==e||i.constructor==e.constructor&&i.eq(e)}var Vn=class i{constructor(e,t,n){this.from=e,this.to=t,this.value=n}static create(e,t,n){return new i(e,t,n)}};function Uo(i,e){return i.from-e.from||i.value.startSide-e.value.startSide}var Go=class i{constructor(e,t,n,r){this.from=e,this.to=t,this.value=n,this.maxPoint=r}get length(){return this.to[this.to.length-1]}findIndex(e,t,n,r=0){let s=n?this.to:this.from;for(let o=r,a=s.length;;){if(o==a)return o;let l=o+a>>1,c=s[l]-e||(n?this.value[l].endSide:this.value[l].startSide)-t;if(l==o)return c>=0?o:a;c>=0?a=l:o=l+1}}between(e,t,n,r){for(let s=this.findIndex(t,-1e9,!0),o=this.findIndex(n,1e9,!1,s);sO||u==O&&c.startSide>0&&c.endSide<=0)continue;(O-u||c.endSide-c.startSide)<0||(o<0&&(o=u),c.point&&(a=Math.max(a,O-u)),n.push(c),r.push(u-o),s.push(O-o))}return{mapped:n.length?new i(r,s,n,a):null,pos:o}}},ae=class i{constructor(e,t,n,r){this.chunkPos=e,this.chunk=t,this.nextLayer=n,this.maxPoint=r}static create(e,t,n,r){return new i(e,t,n,r)}get length(){let e=this.chunk.length-1;return e<0?0:Math.max(this.chunkEnd(e),this.nextLayer.length)}get size(){if(this.isEmpty)return 0;let e=this.nextLayer.size;for(let t of this.chunk)e+=t.value.length;return e}chunkEnd(e){return this.chunkPos[e]+this.chunk[e].length}update(e){let{add:t=[],sort:n=!1,filterFrom:r=0,filterTo:s=this.length}=e,o=e.filter;if(t.length==0&&!o)return this;if(n&&(t=t.slice().sort(Uo)),this.isEmpty)return t.length?i.of(t):this;let a=new Hr(this,null,-1).goto(0),l=0,c=[],h=new _i;for(;a.value||l=0){let f=t[l++];h.addInner(f.from,f.to,f.value)||c.push(f)}else a.rangeIndex==1&&a.chunkIndexthis.chunkEnd(a.chunkIndex)||sa.to||s=s&&e<=s+o.length&&o.between(s,e-s,t-s,n)===!1)return}this.nextLayer.between(e,t,n)}}iter(e=0){return Dn.from([this]).goto(e)}get isEmpty(){return this.nextLayer==this}static iter(e,t=0){return Dn.from(e).goto(t)}static compare(e,t,n,r,s=-1){let o=e.filter(f=>f.maxPoint>0||!f.isEmpty&&f.maxPoint>=s),a=t.filter(f=>f.maxPoint>0||!f.isEmpty&&f.maxPoint>=s),l=ef(o,a,n),c=new Ti(o,l,s),h=new Ti(a,l,s);n.iterGaps((f,u,O)=>tf(c,f,h,u,O,r)),n.empty&&n.length==0&&tf(c,0,h,0,0,r)}static eq(e,t,n=0,r){r==null&&(r=999999999);let s=e.filter(h=>!h.isEmpty&&t.indexOf(h)<0),o=t.filter(h=>!h.isEmpty&&e.indexOf(h)<0);if(s.length!=o.length)return!1;if(!s.length)return!0;let a=ef(s,o),l=new Ti(s,a,0).goto(n),c=new Ti(o,a,0).goto(n);for(;;){if(l.to!=c.to||!No(l.active,c.active)||l.point&&(!c.point||!Ko(l.point,c.point)))return!1;if(l.to>r)return!0;l.next(),c.next()}}static spans(e,t,n,r,s=-1){let o=new Ti(e,null,s).goto(t),a=t,l=o.openStart;for(;;){let c=Math.min(o.to,n);if(o.point){let h=o.activeForPoint(o.to),f=o.pointFroma&&(r.span(a,c,o.active,l),l=o.openEnd(c));if(o.to>n)return l+(o.point&&o.to>n?1:0);a=o.to,o.next()}}static of(e,t=!1){let n=new _i;for(let r of e instanceof Vn?[e]:t?g0(e):e)n.add(r.from,r.to,r.value);return n.finish()}static join(e){if(!e.length)return i.empty;let t=e[e.length-1];for(let n=e.length-2;n>=0;n--)for(let r=e[n];r!=i.empty;r=r.nextLayer)t=new i(r.chunkPos,r.chunk,t,Math.max(r.maxPoint,t.maxPoint));return t}};ae.empty=new ae([],[],null,-1);function g0(i){if(i.length>1)for(let e=i[0],t=1;t0)return i.slice().sort(Uo);e=n}return i}ae.empty.nextLayer=ae.empty;var _i=class i{finishChunk(e){this.chunks.push(new Go(this.from,this.to,this.value,this.maxPoint)),this.chunkPos.push(this.chunkStart),this.chunkStart=-1,this.setMaxPoint=Math.max(this.setMaxPoint,this.maxPoint),this.maxPoint=-1,e&&(this.from=[],this.to=[],this.value=[])}constructor(){this.chunks=[],this.chunkPos=[],this.chunkStart=-1,this.last=null,this.lastFrom=-1e9,this.lastTo=-1e9,this.from=[],this.to=[],this.value=[],this.maxPoint=-1,this.setMaxPoint=-1,this.nextLayer=null}add(e,t,n){this.addInner(e,t,n)||(this.nextLayer||(this.nextLayer=new i)).add(e,t,n)}addInner(e,t,n){let r=e-this.lastTo||n.startSide-this.last.endSide;if(r<=0&&(e-this.lastFrom||n.startSide-this.last.startSide)<0)throw new Error("Ranges must be added sorted by `from` position and `startSide`");return r<0?!1:(this.from.length==250&&this.finishChunk(!0),this.chunkStart<0&&(this.chunkStart=e),this.from.push(e-this.chunkStart),this.to.push(t-this.chunkStart),this.last=n,this.lastFrom=e,this.lastTo=t,this.value.push(n),n.point&&(this.maxPoint=Math.max(this.maxPoint,t-e)),!0)}addChunk(e,t){if((e-this.lastTo||t.value[0].startSide-this.last.endSide)<0)return!1;this.from.length&&this.finishChunk(!0),this.setMaxPoint=Math.max(this.setMaxPoint,t.maxPoint),this.chunks.push(t),this.chunkPos.push(e);let n=t.value.length-1;return this.last=t.value[n],this.lastFrom=t.from[n]+e,this.lastTo=t.to[n]+e,!0}finish(){return this.finishInner(ae.empty)}finishInner(e){if(this.from.length&&this.finishChunk(!1),this.chunks.length==0)return e;let t=ae.create(this.chunkPos,this.chunks,this.nextLayer?this.nextLayer.finishInner(e):e,this.setMaxPoint);return this.from=null,t}};function ef(i,e,t){let n=new Map;for(let s of i)for(let o=0;o=this.minPoint)break}}setRangeIndex(e){if(e==this.layer.chunk[this.chunkIndex].value.length){if(this.chunkIndex++,this.skip)for(;this.chunkIndex=n&&r.push(new Hr(o,t,n,s));return r.length==1?r[0]:new i(r)}get startSide(){return this.value?this.value.startSide:0}goto(e,t=-1e9){for(let n of this.heap)n.goto(e,t);for(let n=this.heap.length>>1;n>=0;n--)qo(this.heap,n);return this.next(),this}forward(e,t){for(let n of this.heap)n.forward(e,t);for(let n=this.heap.length>>1;n>=0;n--)qo(this.heap,n);(this.to-e||this.value.endSide-t)<0&&this.next()}next(){if(this.heap.length==0)this.from=this.to=1e9,this.value=null,this.rank=-1;else{let e=this.heap[0];this.from=e.from,this.to=e.to,this.value=e.value,this.rank=e.rank,e.value&&e.next(),qo(this.heap,0)}}};function qo(i,e){for(let t=i[e];;){let n=(e<<1)+1;if(n>=i.length)break;let r=i[n];if(n+1=0&&(r=i[n+1],n++),t.compare(r)<0)break;i[n]=t,i[e]=r,e=n}}var Ti=class{constructor(e,t,n){this.minPoint=n,this.active=[],this.activeTo=[],this.activeRank=[],this.minActive=-1,this.point=null,this.pointFrom=0,this.pointRank=0,this.to=-1e9,this.endSide=0,this.openStart=-1,this.cursor=Dn.from(e,t,n)}goto(e,t=-1e9){return this.cursor.goto(e,t),this.active.length=this.activeTo.length=this.activeRank.length=0,this.minActive=-1,this.to=e,this.endSide=t,this.openStart=-1,this.next(),this}forward(e,t){for(;this.minActive>-1&&(this.activeTo[this.minActive]-e||this.active[this.minActive].endSide-t)<0;)this.removeActive(this.minActive);this.cursor.forward(e,t)}removeActive(e){Vr(this.active,e),Vr(this.activeTo,e),Vr(this.activeRank,e),this.minActive=nf(this.active,this.activeTo)}addActive(e){let t=0,{value:n,to:r,rank:s}=this.cursor;for(;t0;)t++;Dr(this.active,t,n),Dr(this.activeTo,t,r),Dr(this.activeRank,t,s),e&&Dr(e,t,this.cursor.from),this.minActive=nf(this.active,this.activeTo)}next(){let e=this.to,t=this.point;this.point=null;let n=this.openStart<0?[]:null;for(;;){let r=this.minActive;if(r>-1&&(this.activeTo[r]-this.cursor.from||this.active[r].endSide-this.cursor.startSide)<0){if(this.activeTo[r]>e){this.to=this.activeTo[r],this.endSide=this.active[r].endSide;break}this.removeActive(r),n&&Vr(n,r)}else if(this.cursor.value)if(this.cursor.from>e){this.to=this.cursor.from,this.endSide=this.cursor.startSide;break}else{let s=this.cursor.value;if(!s.point)this.addActive(n),this.cursor.next();else if(t&&this.cursor.to==this.to&&this.cursor.from=0&&n[r]=0&&!(this.activeRank[n]e||this.activeTo[n]==e&&this.active[n].endSide>=this.point.endSide)&&t.push(this.active[n]);return t.reverse()}openEnd(e){let t=0;for(let n=this.activeTo.length-1;n>=0&&this.activeTo[n]>e;n--)t++;return t}};function tf(i,e,t,n,r,s){i.goto(e),t.goto(n);let o=n+r,a=n,l=n-e,c=!!s.boundChange;for(let h=!1;;){let f=i.to+l-t.to,u=f||i.endSide-t.endSide,O=u<0?i.to+l:t.to,p=Math.min(O,o);if(i.point||t.point?(i.point&&t.point&&Ko(i.point,t.point)&&No(i.activeForPoint(i.to),t.activeForPoint(t.to))||s.comparePoint(a,p,i.point,t.point),h=!1):(h&&s.boundChange(a),p>a&&!No(i.active,t.active)&&s.compareRange(a,p,i.active,t.active),c&&po)break;a=O,u<=0&&i.next(),u>=0&&t.next()}}function No(i,e){if(i.length!=e.length)return!1;for(let t=0;t=e;n--)i[n+1]=i[n];i[e]=t}function nf(i,e){let t=-1,n=1e9;for(let r=0;r=e)return r;if(r==i.length)break;s+=i.charCodeAt(r)==9?t-s%t:1,r=ke(i,r)}return n===!0?-1:i.length}var mf=typeof Symbol>"u"?"__\u037C":Symbol.for("\u037C"),Jo=typeof Symbol>"u"?"__styleSet"+Math.floor(Math.random()*1e8):Symbol("styleSet"),gf=typeof globalThis<"u"?globalThis:typeof window<"u"?window:{},rt=class{constructor(e,t){this.rules=[];let{finish:n}=t||{};function r(o){return/^@/.test(o)?[o]:o.split(/,\s*/)}function s(o,a,l,c){let h=[],f=/^@(\w+)\b/.exec(o[0]),u=f&&f[1]=="keyframes";if(f&&a==null)return l.push(o[0]+";");for(let O in a){let p=a[O];if(/&/.test(O))s(O.split(/,\s*/).map(m=>o.map(b=>m.replace(/&/,b))).reduce((m,b)=>m.concat(b)),p,l);else if(p&&typeof p=="object"){if(!f)throw new RangeError("The value of a property ("+O+") should be a primitive value.");s(r(O),p,h,u)}else p!=null&&h.push(O.replace(/_.*/,"").replace(/[A-Z]/g,m=>"-"+m.toLowerCase())+": "+p+";")}(h.length||u)&&l.push((n&&!f&&!c?o.map(n):o).join(", ")+" {"+h.join(" ")+"}")}for(let o in e)s(r(o),e[o],this.rules)}getRules(){return this.rules.join(` +`){[e,t]=sn(this,e,t);let r="";for(let s=0,o=0;se&&s&&(r+=n),eo&&(r+=a.sliceString(e-o,t-o,n)),o=l+1}return r}flatten(e){for(let t of this.children)t.flatten(e)}scanIdentical(e,t){if(!(e instanceof i))return 0;let n=0,[r,s,o,a]=t>0?[0,0,this.children.length,e.children.length]:[this.children.length-1,e.children.length-1,-1,-1];for(;;r+=t,s+=t){if(r==o||s==a)return n;let l=this.children[r],c=e.children[s];if(l!=c)return n+l.scanIdentical(c,t);n+=l.length+1}}static from(e,t=e.reduce((n,r)=>n+r.length+1,-1)){let n=0;for(let O of e)n+=O.lines;if(n<32){let O=[];for(let p of e)p.flatten(O);return new Ge(O,t)}let r=Math.max(32,n>>5),s=r<<1,o=r>>1,a=[],l=0,c=-1,h=[];function f(O){let p;if(O.lines>s&&O instanceof i)for(let m of O.children)f(m);else O.lines>o&&(l>o||!l)?(u(),a.push(O)):O instanceof Ge&&l&&(p=h[h.length-1])instanceof Ge&&O.lines+p.lines<=32?(l+=O.lines,c+=O.length+1,h[h.length-1]=new Ge(p.text.concat(O.text),p.length+1+O.length)):(l+O.lines>r&&u(),l+=O.lines,c+=O.length+1,h.push(O))}function u(){l!=0&&(a.push(h.length==1?h[0]:i.from(h,c)),c=-1,l=h.length=0)}for(let O of e)f(O);return u(),a.length==1?a[0]:new i(a,t)}};K.empty=new Ge([""],0);function o0(i){let e=-1;for(let t of i)e+=t.length+1;return e}function Yr(i,e,t=0,n=1e9){for(let r=0,s=0,o=!0;s=t&&(l>n&&(a=a.slice(0,n-r)),r0?1:(e instanceof Ge?e.text.length:e.children.length)<<1]}nextInner(e,t){for(this.done=this.lineBreak=!1;;){let n=this.nodes.length-1,r=this.nodes[n],s=this.offsets[n],o=s>>1,a=r instanceof Ge?r.text.length:r.children.length;if(o==(t>0?a:0)){if(n==0)return this.done=!0,this.value="",this;t>0&&this.offsets[n-1]++,this.nodes.pop(),this.offsets.pop()}else if((s&1)==(t>0?0:1)){if(this.offsets[n]+=t,e==0)return this.lineBreak=!0,this.value=` +`,this;e--}else if(r instanceof Ge){let l=r.text[o+(t<0?-1:0)];if(this.offsets[n]+=t,l.length>Math.max(0,e))return this.value=e==0?l:t>0?l.slice(e):l.slice(0,l.length-e),this;e-=l.length}else{let l=r.children[o+(t<0?-1:0)];e>l.length?(e-=l.length,this.offsets[n]+=t):(t<0&&this.offsets[n]--,this.nodes.push(l),this.offsets.push(t>0?1:(l instanceof Ge?l.text.length:l.children.length)<<1))}}}next(e=0){return e<0&&(this.nextInner(-e,-this.dir),e=this.value.length),this.nextInner(e,this.dir)}},Ir=class{constructor(e,t,n){this.value="",this.done=!1,this.cursor=new Ci(e,t>n?-1:1),this.pos=t>n?e.length:0,this.from=Math.min(t,n),this.to=Math.max(t,n)}nextInner(e,t){if(t<0?this.pos<=this.from:this.pos>=this.to)return this.value="",this.done=!0,this;e+=Math.max(0,t<0?this.pos-this.to:this.from-this.pos);let n=t<0?this.pos-this.from:this.to-this.pos;e>n&&(e=n),n-=e;let{value:r}=this.cursor.next(e);return this.pos+=(r.length+e)*t,this.value=r.length<=n?r:t<0?r.slice(r.length-n):r.slice(0,n),this.done=!this.value,this}next(e=0){return e<0?e=Math.max(e,this.from-this.pos):e>0&&(e=Math.min(e,this.to-this.pos)),this.nextInner(e,this.cursor.dir)}get lineBreak(){return this.cursor.lineBreak&&this.value!=""}},Br=class{constructor(e){this.inner=e,this.afterBreak=!0,this.value="",this.done=!1}next(e=0){let{done:t,lineBreak:n,value:r}=this.inner.next(e);return t&&this.afterBreak?(this.value="",this.afterBreak=!1):t?(this.done=!0,this.value=""):n?this.afterBreak?this.value="":(this.afterBreak=!0,this.next()):(this.value=r,this.afterBreak=!1),this}get lineBreak(){return!1}};typeof Symbol<"u"&&(K.prototype[Symbol.iterator]=function(){return this.iter()},Ci.prototype[Symbol.iterator]=Ir.prototype[Symbol.iterator]=Br.prototype[Symbol.iterator]=function(){return this});var zo=class{constructor(e,t,n,r){this.from=e,this.to=t,this.number=n,this.text=r}get length(){return this.to-this.from}};function sn(i,e,t){return e=Math.max(0,Math.min(i.length,e)),[e,Math.max(e,Math.min(i.length,t))]}function ke(i,e,t=!0,n=!0){return Gh(i,e,t,n)}function a0(i){return i>=56320&&i<57344}function l0(i){return i>=55296&&i<56320}function si(i,e){let t=i.charCodeAt(e);if(!l0(t)||e+1==i.length)return t;let n=i.charCodeAt(e+1);return a0(n)?(t-55296<<10)+(n-56320)+65536:t}function rf(i){return i<=65535?String.fromCharCode(i):(i-=65536,String.fromCharCode((i>>10)+55296,(i&1023)+56320))}function on(i){return i<65536?1:2}var Lo=/\r\n?|\n/,ge=(function(i){return i[i.Simple=0]="Simple",i[i.TrackDel=1]="TrackDel",i[i.TrackBefore=2]="TrackBefore",i[i.TrackAfter=3]="TrackAfter",i})(ge||(ge={})),zt=class i{constructor(e){this.sections=e}get length(){let e=0;for(let t=0;te)return s+(e-r);s+=a}else{if(n!=ge.Simple&&c>=e&&(n==ge.TrackDel&&re||n==ge.TrackBefore&&re))return null;if(c>e||c==e&&t<0&&!a)return e==r||t<0?s:s+l;s+=l}r=c}if(e>r)throw new RangeError(`Position ${e} is out of range for changeset of length ${r}`);return s}touchesRange(e,t=e){for(let n=0,r=0;n=0&&r<=t&&a>=e)return rt?"cover":!0;r=a}return!1}toString(){let e="";for(let t=0;t=0?":"+r:"")}return e}toJSON(){return this.sections}static fromJSON(e){if(!Array.isArray(e)||e.length%2||e.some(t=>typeof t!="number"))throw new RangeError("Invalid JSON representation of ChangeDesc");return new i(e)}static create(e){return new i(e)}},qe=class i extends zt{constructor(e,t){super(e),this.inserted=t}apply(e){if(this.length!=e.length)throw new RangeError("Applying change set to a document with the wrong length");return Mo(this,(t,n,r,s,o)=>e=e.replace(r,r+(n-t),o),!1),e}mapDesc(e,t=!1){return Wo(this,e,t,!0)}invert(e){let t=this.sections.slice(),n=[];for(let r=0,s=0;r=0){t[r]=a,t[r+1]=o;let l=r>>1;for(;n.length0&&ri(n,t,s.text),s.forward(h),a+=h}let c=e[o++];for(;a>1].toJSON()))}return e}static of(e,t,n){let r=[],s=[],o=0,a=null;function l(h=!1){if(!h&&!r.length)return;ou||f<0||u>t)throw new RangeError(`Invalid change range ${f} to ${u} (in doc of length ${t})`);let p=O?typeof O=="string"?K.of(O.split(n||Lo)):O:K.empty,m=p.length;if(f==u&&m==0)return;fo&&Xe(r,f-o,-1),Xe(r,u-f,m),ri(s,r,p),o=u}}return c(e),l(!a),a}static empty(e){return new i(e?[e,-1]:[],[])}static fromJSON(e){if(!Array.isArray(e))throw new RangeError("Invalid JSON representation of ChangeSet");let t=[],n=[];for(let r=0;ra&&typeof o!="string"))throw new RangeError("Invalid JSON representation of ChangeSet");if(s.length==1)t.push(s[0],0);else{for(;n.length=0&&t<=0&&t==i[r+1]?i[r]+=e:r>=0&&e==0&&i[r]==0?i[r+1]+=t:n?(i[r]+=e,i[r+1]+=t):i.push(e,t)}function ri(i,e,t){if(t.length==0)return;let n=e.length-2>>1;if(n>1])),!(t||o==i.sections.length||i.sections[o+1]<0);)a=i.sections[o++],l=i.sections[o++];e(r,c,s,h,f),r=c,s=h}}}function Wo(i,e,t,n=!1){let r=[],s=n?[]:null,o=new Xi(i),a=new Xi(e);for(let l=-1;;){if(o.done&&a.len||a.done&&o.len)throw new Error("Mismatched change set lengths");if(o.ins==-1&&a.ins==-1){let c=Math.min(o.len,a.len);Xe(r,c,-1),o.forward(c),a.forward(c)}else if(a.ins>=0&&(o.ins<0||l==o.i||o.off==0&&(a.len=0&&l=0){let c=0,h=o.len;for(;h;)if(a.ins==-1){let f=Math.min(h,a.len);c+=f,h-=f,a.forward(f)}else if(a.ins==0&&a.lenl||o.ins>=0&&o.len>l)&&(a||n.length>c),s.forward2(l),o.forward(l)}}}}var Xi=class{constructor(e){this.set=e,this.i=0,this.next()}next(){let{sections:e}=this.set;this.i>1;return t>=e.length?K.empty:e[t]}textBit(e){let{inserted:t}=this.set,n=this.i-2>>1;return n>=t.length&&!e?K.empty:t[n].slice(this.off,e==null?void 0:this.off+e)}forward(e){e==this.len?this.next():(this.len-=e,this.off+=e)}forward2(e){this.ins==-1?this.forward(e):e==this.ins?this.next():(this.ins-=e,this.off+=e)}},vi=class i{constructor(e,t,n,r){this.from=e,this.to=t,this.flags=n,this.goalColumn=r}get anchor(){return this.flags&32?this.to:this.from}get head(){return this.flags&32?this.from:this.to}get empty(){return this.from==this.to}get assoc(){return this.flags&8?-1:this.flags&16?1:0}get undirectional(){return(this.flags&64)>0}get bidiLevel(){let e=this.flags&7;return e==7?null:e}map(e,t=-1){let n,r;return this.empty?n=r=e.mapPos(this.from,t):(n=e.mapPos(this.from,1),r=e.mapPos(this.to,-1)),n==this.from&&r==this.to?this:new i(n,r,this.flags,this.goalColumn)}extend(e,t=e,n=0){if(e<=this.anchor&&t>=this.anchor)return P.range(e,t,void 0,void 0,n);let r=Math.abs(e-this.anchor)>Math.abs(t-this.anchor)?e:t;return P.range(this.anchor,r,void 0,void 0,n)}eq(e,t=!1){return this.anchor==e.anchor&&this.head==e.head&&this.goalColumn==e.goalColumn&&(!t||!this.empty||this.assoc==e.assoc)}toJSON(){return{anchor:this.anchor,head:this.head}}static fromJSON(e){if(!e||typeof e.anchor!="number"||typeof e.head!="number")throw new RangeError("Invalid JSON representation for SelectionRange");return P.range(e.anchor,e.head)}static create(e,t,n,r){return new i(e,t,n,r)}},P=class i{constructor(e,t){this.ranges=e,this.mainIndex=t}map(e,t=-1){return e.empty?this:i.create(this.ranges.map(n=>n.map(e,t)),this.mainIndex)}eq(e,t=!1){if(this.ranges.length!=e.ranges.length||this.mainIndex!=e.mainIndex)return!1;for(let n=0;ne.toJSON()),main:this.mainIndex}}static fromJSON(e){if(!e||!Array.isArray(e.ranges)||typeof e.main!="number"||e.main>=e.ranges.length)throw new RangeError("Invalid JSON representation for EditorSelection");return new i(e.ranges.map(t=>vi.fromJSON(t)),e.main)}static single(e,t=e){return new i([i.range(e,t)],0)}static create(e,t=0){if(e.length==0)throw new RangeError("A selection needs at least one range");for(let n=0,r=0;rr.from-s.from),t=e.indexOf(n);for(let r=1;rs.head?i.range(l,a):i.range(a,l))}}return new i(e,t)}};function of(i,e){for(let t of i.ranges)if(t.to>e)throw new RangeError("Selection points outside of document")}var Fo=0,Y=class i{constructor(e,t,n,r,s){this.combine=e,this.compareInput=t,this.compare=n,this.isStatic=r,this.id=Fo++,this.default=e([]),this.extensions=typeof s=="function"?s(this):s}get reader(){return this}static define(e={}){return new i(e.combine||(t=>t),e.compareInput||((t,n)=>t===n),e.compare||(e.combine?(t,n)=>t===n:Ho),!!e.static,e.enables)}of(e){return new nn([],this,0,e)}compute(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new nn(e,this,1,t)}computeN(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new nn(e,this,2,t)}from(e,t){return t||(t=n=>n),this.compute([e],n=>t(n.field(e)))}};function Ho(i,e){return i==e||i.length==e.length&&i.every((t,n)=>t===e[n])}var nn=class{constructor(e,t,n,r){this.dependencies=e,this.facet=t,this.type=n,this.value=r,this.id=Fo++}dynamicSlot(e){var t;let n=this.value,r=this.facet.compareInput,s=this.id,o=e[s]>>1,a=this.type==2,l=!1,c=!1,h=[];for(let f of this.dependencies)f=="doc"?l=!0:f=="selection"?c=!0:(((t=e[f.id])!==null&&t!==void 0?t:1)&1)==0&&h.push(e[f.id]);return{create(f){return f.values[o]=n(f),1},update(f,u){if(l&&u.docChanged||c&&(u.docChanged||u.selection)||jo(f,h)){let O=n(f);if(a?!Jh(O,f.values[o],r):!r(O,f.values[o]))return f.values[o]=O,1}return 0},reconfigure:(f,u)=>{let O,p=u.config.address[s];if(p!=null){let m=Fr(u,p);if(this.dependencies.every(b=>b instanceof Y?u.facet(b)===f.facet(b):b instanceof he?u.field(b,!1)==f.field(b,!1):!0)||(a?Jh(O=n(f),m,r):r(O=n(f),m)))return f.values[o]=m,0}else O=n(f);return f.values[o]=O,1}}}get extension(){return this}};function Jh(i,e,t){if(i.length!=e.length)return!1;for(let n=0;ni[l.id]),r=t.map(l=>l.type),s=n.filter(l=>!(l&1)),o=i[e.id]>>1;function a(l){let c=[];for(let h=0;hn===r),e);return e.provide&&(t.provides=e.provide(t)),t}create(e){let t=e.facet(jr).find(n=>n.field==this);return(t?.create||this.createF)(e)}slot(e){let t=e[this.id]>>1;return{create:n=>(n.values[t]=this.create(n),1),update:(n,r)=>{let s=n.values[t],o=this.updateF(s,r);return this.compareF(s,o)?0:(n.values[t]=o,1)},reconfigure:(n,r)=>{let s=n.facet(jr),o=r.facet(jr),a;return(a=s.find(l=>l.field==this))&&a!=o.find(l=>l.field==this)?(n.values[t]=a.create(n),1):r.config.address[this.id]!=null?(n.values[t]=r.field(this),0):(n.values[t]=this.create(n),1)}}}init(e){return[this,jr.of({field:this,create:e})]}get extension(){return this}},$i={lowest:4,low:3,default:2,high:1,highest:0};function Mn(i){return e=>new Ur(e,i)}var nt={highest:Mn($i.highest),high:Mn($i.high),default:Mn($i.default),low:Mn($i.low),lowest:Mn($i.lowest)},Ur=class{constructor(e,t){this.inner=e,this.prec=t}get extension(){return this}},Gr=class i{of(e){return new jn(this,e)}reconfigure(e){return i.reconfigure.of({compartment:this,extension:e})}get(e){return e.config.compartments.get(this)}},jn=class{constructor(e,t){this.compartment=e,this.inner=t}get extension(){return this}},Nr=class i{constructor(e,t,n,r,s,o){for(this.base=e,this.compartments=t,this.dynamicSlots=n,this.address=r,this.staticValues=s,this.facets=o,this.statusTemplate=[];this.statusTemplate.length>1]}static resolve(e,t,n){let r=[],s=Object.create(null),o=new Map;for(let u of h0(e,t,o))u instanceof he?r.push(u):(s[u.facet.id]||(s[u.facet.id]=[])).push(u);let a=Object.create(null),l=[],c=[];for(let u of r)a[u.id]=c.length<<1,c.push(O=>u.slot(O));let h=n?.config.facets;for(let u in s){let O=s[u],p=O[0].facet,m=h&&h[u]||[];if(O.every(b=>b.type==0))if(a[p.id]=l.length<<1|1,Ho(m,O))l.push(n.facet(p));else{let b=p.combine(O.map(g=>g.value));l.push(n&&p.compare(b,n.facet(p))?n.facet(p):b)}else{for(let b of O)b.type==0?(a[b.id]=l.length<<1|1,l.push(b.value)):(a[b.id]=c.length<<1,c.push(g=>b.dynamicSlot(g)));a[p.id]=c.length<<1,c.push(b=>c0(b,p,O))}}let f=c.map(u=>u(a));return new i(e,o,f,a,l,s)}};function h0(i,e,t){let n=[[],[],[],[],[]],r=new Map;function s(o,a){let l=r.get(o);if(l!=null){if(l<=a)return;let c=n[l].indexOf(o);c>-1&&n[l].splice(c,1),o instanceof jn&&t.delete(o.compartment)}if(r.set(o,a),Array.isArray(o))for(let c of o)s(c,a);else if(o instanceof jn){if(t.has(o.compartment))throw new RangeError("Duplicate use of compartment in extensions");let c=e.get(o.compartment)||o.inner;t.set(o.compartment,c),s(c,a)}else if(o instanceof Ur)s(o.inner,o.prec);else if(o instanceof he)n[a].push(o),o.provides&&s(o.provides,a);else if(o instanceof nn)n[a].push(o),o.facet.extensions&&s(o.facet.extensions,$i.default);else{let c=o.extension;if(!c)throw new Error(`Unrecognized extension value in extension set (${o}).`);if(c==o)throw new Error(`Unrecognized extension value in extension set (${o}). This sometimes happens because multiple instances of @codemirror/state are loaded, breaking instanceof checks.`);s(c,a)}}return s(i,$i.default),n.reduce((o,a)=>o.concat(a))}function Wn(i,e){if(e&1)return 2;let t=e>>1,n=i.status[t];if(n==4)throw new Error("Cyclic dependency between fields and/or facets");if(n&2)return n;i.status[t]=4;let r=i.computeSlot(i,i.config.dynamicSlots[t]);return i.status[t]=2|r}function Fr(i,e){return e&1?i.config.staticValues[e>>1]:i.values[e>>1]}var af=Y.define(),Vo=Y.define({combine:i=>i.some(e=>e),static:!0}),lf=Y.define({combine:i=>i.length?i[0]:void 0,static:!0}),cf=Y.define(),hf=Y.define(),ff=Y.define(),uf=Y.define({combine:i=>i.length?i[0]:!1}),_e=class{constructor(e,t){this.type=e,this.value=t}static define(){return new Do}},Do=class{of(e){return new _e(this,e)}},Yo=class{constructor(e){this.map=e}of(e){return new te(this,e)}},te=class i{constructor(e,t){this.type=e,this.value=t}map(e){let t=this.type.map(this.value,e);return t===void 0?void 0:t==this.value?this:new i(this.type,t)}is(e){return this.type==e}static define(e={}){return new Yo(e.map||(t=>t))}static mapEffects(e,t){if(!e.length)return e;let n=[];for(let r of e){let s=r.map(t);s&&n.push(s)}return n}};te.reconfigure=te.define();te.appendConfig=te.define();var pe=class i{constructor(e,t,n,r,s,o){this.startState=e,this.changes=t,this.selection=n,this.effects=r,this.annotations=s,this.scrollIntoView=o,this._doc=null,this._state=null,n&&of(n,t.newLength),s.some(a=>a.type==i.time)||(this.annotations=s.concat(i.time.of(Date.now())))}static create(e,t,n,r,s,o){return new i(e,t,n,r,s,o)}get newDoc(){return this._doc||(this._doc=this.changes.apply(this.startState.doc))}get newSelection(){return this.selection||this.startState.selection.map(this.changes)}get state(){return this._state||this.startState.applyTransaction(this),this._state}annotation(e){for(let t of this.annotations)if(t.type==e)return t.value}get docChanged(){return!this.changes.empty}get reconfigured(){return this.startState.config!=this.state.config}isUserEvent(e){let t=this.annotation(i.userEvent);return!!(t&&(t==e||t.length>e.length&&t.slice(0,e.length)==e&&t[e.length]=="."))}};pe.time=_e.define();pe.userEvent=_e.define();pe.addToHistory=_e.define();pe.remote=_e.define();function f0(i,e){let t=[];for(let n=0,r=0;;){let s,o;if(n=i[n]))s=i[n++],o=i[n++];else if(r=0;r--){let s=n[r](i);s instanceof pe?i=s:Array.isArray(s)&&s.length==1&&s[0]instanceof pe?i=s[0]:i=df(e,rn(s),!1)}return i}function O0(i){let e=i.startState,t=e.facet(ff),n=i;for(let r=t.length-1;r>=0;r--){let s=t[r](i);s&&Object.keys(s).length&&(n=Of(n,Io(e,s,i.changes.newLength),!0))}return n==i?i:pe.create(e,i.changes,i.selection,n.effects,n.annotations,n.scrollIntoView)}var d0=[];function rn(i){return i==null?d0:Array.isArray(i)?i:[i]}var Ee=(function(i){return i[i.Word=0]="Word",i[i.Space=1]="Space",i[i.Other=2]="Other",i})(Ee||(Ee={})),p0=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/,Bo;try{Bo=new RegExp("[\\p{Alphabetic}\\p{Number}_]","u")}catch{}function m0(i){if(Bo)return Bo.test(i);for(let e=0;e"\x80"&&(t.toUpperCase()!=t.toLowerCase()||p0.test(t)))return!0}return!1}function g0(i){return e=>{if(!/\S/.test(e))return Ee.Space;if(m0(e))return Ee.Word;for(let t=0;t-1)return Ee.Word;return Ee.Other}}var se=class i{constructor(e,t,n,r,s,o){this.config=e,this.doc=t,this.selection=n,this.values=r,this.status=e.statusTemplate.slice(),this.computeSlot=s,o&&(o._state=this);for(let a=0;ar.set(c,l)),t=null),r.set(a.value.compartment,a.value.extension)):a.is(te.reconfigure)?(t=null,n=a.value):a.is(te.appendConfig)&&(t=null,n=rn(n).concat(a.value));let s;t?s=e.startState.values.slice():(t=Nr.resolve(n,r,this),s=new i(t,this.doc,this.selection,t.dynamicSlots.map(()=>null),(l,c)=>c.reconfigure(l,this),null).values);let o=e.startState.facet(Vo)?e.newSelection:e.newSelection.asSingle();new i(t,e.newDoc,o,s,(a,l)=>l.update(a,e),e)}replaceSelection(e){return typeof e=="string"&&(e=this.toText(e)),this.changeByRange(t=>({changes:{from:t.from,to:t.to,insert:e},range:P.cursor(t.from+e.length)}))}changeByRange(e){let t=this.selection,n=e(t.ranges[0]),r=this.changes(n.changes),s=[n.range],o=rn(n.effects);for(let a=1;ao.spec.fromJSON(a,l)))}}return i.create({doc:e.doc,selection:P.fromJSON(e.selection),extensions:t.extensions?r.concat([t.extensions]):r})}static create(e={}){let t=Nr.resolve(e.extensions||[],new Map),n=e.doc instanceof K?e.doc:K.of((e.doc||"").split(t.staticFacet(i.lineSeparator)||Lo)),r=e.selection?e.selection instanceof P?e.selection:P.single(e.selection.anchor,e.selection.head):P.single(0);return of(r,n.length),t.staticFacet(Vo)||(r=r.asSingle()),new i(t,n,r,t.dynamicSlots.map(()=>null),(s,o)=>o.create(s),null)}get tabSize(){return this.facet(i.tabSize)}get lineBreak(){return this.facet(i.lineSeparator)||` +`}get readOnly(){return this.facet(uf)}phrase(e,...t){for(let n of this.facet(i.phrases))if(Object.prototype.hasOwnProperty.call(n,e)){e=n[e];break}return t.length&&(e=e.replace(/\$(\$|\d*)/g,(n,r)=>{if(r=="$")return"$";let s=+(r||1);return!s||s>t.length?n:t[s-1]})),e}languageDataAt(e,t,n=-1){let r=[];for(let s of this.facet(af))for(let o of s(this,t,n))Object.prototype.hasOwnProperty.call(o,e)&&r.push(o[e]);return r}charCategorizer(e){let t=this.languageDataAt("wordChars",e);return g0(t.length?t[0]:"")}wordAt(e){let{text:t,from:n,length:r}=this.doc.lineAt(e),s=this.charCategorizer(e),o=e-n,a=e-n;for(;o>0;){let l=ke(t,o,!1);if(s(t.slice(l,o))!=Ee.Word)break;o=l}for(;ai.length?i[0]:4});se.lineSeparator=lf;se.readOnly=uf;se.phrases=Y.define({compare(i,e){let t=Object.keys(i),n=Object.keys(e);return t.length==n.length&&t.every(r=>i[r]==e[r])}});se.languageData=af;se.changeFilter=cf;se.transactionFilter=hf;se.transactionExtender=ff;Gr.reconfigure=te.define();function Yn(i,e,t={}){let n={};for(let r of i)for(let s of Object.keys(r)){let o=r[s],a=n[s];if(a===void 0)n[s]=o;else if(!(a===o||o===void 0))if(Object.hasOwnProperty.call(t,s))n[s]=t[s](a,o);else throw new Error("Config merge conflict for field "+s)}for(let r in e)n[r]===void 0&&(n[r]=e[r]);return n}var it=class{eq(e){return this==e}range(e,t=e){return Vn.create(e,t,this)}};it.prototype.startSide=it.prototype.endSide=0;it.prototype.point=!1;it.prototype.mapMode=ge.TrackDel;function Ko(i,e){return i==e||i.constructor==e.constructor&&i.eq(e)}var Vn=class i{constructor(e,t,n){this.from=e,this.to=t,this.value=n}static create(e,t,n){return new i(e,t,n)}};function Uo(i,e){return i.from-e.from||i.value.startSide-e.value.startSide}var Go=class i{constructor(e,t,n,r){this.from=e,this.to=t,this.value=n,this.maxPoint=r}get length(){return this.to[this.to.length-1]}findIndex(e,t,n,r=0){let s=n?this.to:this.from;for(let o=r,a=s.length;;){if(o==a)return o;let l=o+a>>1,c=s[l]-e||(n?this.value[l].endSide:this.value[l].startSide)-t;if(l==o)return c>=0?o:a;c>=0?a=l:o=l+1}}between(e,t,n,r){for(let s=this.findIndex(t,-1e9,!0),o=this.findIndex(n,1e9,!1,s);sO||u==O&&c.startSide>0&&c.endSide<=0)continue;(O-u||c.endSide-c.startSide)<0||(o<0&&(o=u),c.point&&(a=Math.max(a,O-u)),n.push(c),r.push(u-o),s.push(O-o))}return{mapped:n.length?new i(r,s,n,a):null,pos:o}}},ae=class i{constructor(e,t,n,r){this.chunkPos=e,this.chunk=t,this.nextLayer=n,this.maxPoint=r}static create(e,t,n,r){return new i(e,t,n,r)}get length(){let e=this.chunk.length-1;return e<0?0:Math.max(this.chunkEnd(e),this.nextLayer.length)}get size(){if(this.isEmpty)return 0;let e=this.nextLayer.size;for(let t of this.chunk)e+=t.value.length;return e}chunkEnd(e){return this.chunkPos[e]+this.chunk[e].length}update(e){let{add:t=[],sort:n=!1,filterFrom:r=0,filterTo:s=this.length}=e,o=e.filter;if(t.length==0&&!o)return this;if(n&&(t=t.slice().sort(Uo)),this.isEmpty)return t.length?i.of(t):this;let a=new Hr(this,null,-1).goto(0),l=0,c=[],h=new _i;for(;a.value||l=0){let f=t[l++];h.addInner(f.from,f.to,f.value)||c.push(f)}else a.rangeIndex==1&&a.chunkIndexthis.chunkEnd(a.chunkIndex)||sa.to||s=s&&e<=s+o.length&&o.between(s,e-s,t-s,n)===!1)return}this.nextLayer.between(e,t,n)}}iter(e=0){return Dn.from([this]).goto(e)}get isEmpty(){return this.nextLayer==this}static iter(e,t=0){return Dn.from(e).goto(t)}static compare(e,t,n,r,s=-1){let o=e.filter(f=>f.maxPoint>0||!f.isEmpty&&f.maxPoint>=s),a=t.filter(f=>f.maxPoint>0||!f.isEmpty&&f.maxPoint>=s),l=ef(o,a,n),c=new Ti(o,l,s),h=new Ti(a,l,s);n.iterGaps((f,u,O)=>tf(c,f,h,u,O,r)),n.empty&&n.length==0&&tf(c,0,h,0,0,r)}static eq(e,t,n=0,r){r==null&&(r=999999999);let s=e.filter(h=>!h.isEmpty&&t.indexOf(h)<0),o=t.filter(h=>!h.isEmpty&&e.indexOf(h)<0);if(s.length!=o.length)return!1;if(!s.length)return!0;let a=ef(s,o),l=new Ti(s,a,0).goto(n),c=new Ti(o,a,0).goto(n);for(;;){if(l.to!=c.to||!No(l.active,c.active)||l.point&&(!c.point||!Ko(l.point,c.point)))return!1;if(l.to>r)return!0;l.next(),c.next()}}static spans(e,t,n,r,s=-1){let o=new Ti(e,null,s).goto(t),a=t,l=o.openStart;for(;;){let c=Math.min(o.to,n);if(o.point){let h=o.activeForPoint(o.to),f=o.pointFroma&&(r.span(a,c,o.active,l),l=o.openEnd(c));if(o.to>n)return l+(o.point&&o.to>n?1:0);a=o.to,o.next()}}static of(e,t=!1){let n=new _i;for(let r of e instanceof Vn?[e]:t?Q0(e):e)n.add(r.from,r.to,r.value);return n.finish()}static join(e){if(!e.length)return i.empty;let t=e[e.length-1];for(let n=e.length-2;n>=0;n--)for(let r=e[n];r!=i.empty;r=r.nextLayer)t=new i(r.chunkPos,r.chunk,t,Math.max(r.maxPoint,t.maxPoint));return t}};ae.empty=new ae([],[],null,-1);function Q0(i){if(i.length>1)for(let e=i[0],t=1;t0)return i.slice().sort(Uo);e=n}return i}ae.empty.nextLayer=ae.empty;var _i=class i{finishChunk(e){this.chunks.push(new Go(this.from,this.to,this.value,this.maxPoint)),this.chunkPos.push(this.chunkStart),this.chunkStart=-1,this.setMaxPoint=Math.max(this.setMaxPoint,this.maxPoint),this.maxPoint=-1,e&&(this.from=[],this.to=[],this.value=[])}constructor(){this.chunks=[],this.chunkPos=[],this.chunkStart=-1,this.last=null,this.lastFrom=-1e9,this.lastTo=-1e9,this.from=[],this.to=[],this.value=[],this.maxPoint=-1,this.setMaxPoint=-1,this.nextLayer=null}add(e,t,n){this.addInner(e,t,n)||(this.nextLayer||(this.nextLayer=new i)).add(e,t,n)}addInner(e,t,n){let r=e-this.lastTo||n.startSide-this.last.endSide;if(r<=0&&(e-this.lastFrom||n.startSide-this.last.startSide)<0)throw new Error("Ranges must be added sorted by `from` position and `startSide`");return r<0?!1:(this.from.length==250&&this.finishChunk(!0),this.chunkStart<0&&(this.chunkStart=e),this.from.push(e-this.chunkStart),this.to.push(t-this.chunkStart),this.last=n,this.lastFrom=e,this.lastTo=t,this.value.push(n),n.point&&(this.maxPoint=Math.max(this.maxPoint,t-e)),!0)}addChunk(e,t){if((e-this.lastTo||t.value[0].startSide-this.last.endSide)<0)return!1;this.from.length&&this.finishChunk(!0),this.setMaxPoint=Math.max(this.setMaxPoint,t.maxPoint),this.chunks.push(t),this.chunkPos.push(e);let n=t.value.length-1;return this.last=t.value[n],this.lastFrom=t.from[n]+e,this.lastTo=t.to[n]+e,!0}finish(){return this.finishInner(ae.empty)}finishInner(e){if(this.from.length&&this.finishChunk(!1),this.chunks.length==0)return e;let t=ae.create(this.chunkPos,this.chunks,this.nextLayer?this.nextLayer.finishInner(e):e,this.setMaxPoint);return this.from=null,t}};function ef(i,e,t){let n=new Map;for(let s of i)for(let o=0;o=this.minPoint)break}}setRangeIndex(e){if(e==this.layer.chunk[this.chunkIndex].value.length){if(this.chunkIndex++,this.skip)for(;this.chunkIndex=n&&r.push(new Hr(o,t,n,s));return r.length==1?r[0]:new i(r)}get startSide(){return this.value?this.value.startSide:0}goto(e,t=-1e9){for(let n of this.heap)n.goto(e,t);for(let n=this.heap.length>>1;n>=0;n--)qo(this.heap,n);return this.next(),this}forward(e,t){for(let n of this.heap)n.forward(e,t);for(let n=this.heap.length>>1;n>=0;n--)qo(this.heap,n);(this.to-e||this.value.endSide-t)<0&&this.next()}next(){if(this.heap.length==0)this.from=this.to=1e9,this.value=null,this.rank=-1;else{let e=this.heap[0];this.from=e.from,this.to=e.to,this.value=e.value,this.rank=e.rank,e.value&&e.next(),qo(this.heap,0)}}};function qo(i,e){for(let t=i[e];;){let n=(e<<1)+1;if(n>=i.length)break;let r=i[n];if(n+1=0&&(r=i[n+1],n++),t.compare(r)<0)break;i[n]=t,i[e]=r,e=n}}var Ti=class{constructor(e,t,n){this.minPoint=n,this.active=[],this.activeTo=[],this.activeRank=[],this.minActive=-1,this.point=null,this.pointFrom=0,this.pointRank=0,this.to=-1e9,this.endSide=0,this.openStart=-1,this.cursor=Dn.from(e,t,n)}goto(e,t=-1e9){return this.cursor.goto(e,t),this.active.length=this.activeTo.length=this.activeRank.length=0,this.minActive=-1,this.to=e,this.endSide=t,this.openStart=-1,this.next(),this}forward(e,t){for(;this.minActive>-1&&(this.activeTo[this.minActive]-e||this.active[this.minActive].endSide-t)<0;)this.removeActive(this.minActive);this.cursor.forward(e,t)}removeActive(e){Vr(this.active,e),Vr(this.activeTo,e),Vr(this.activeRank,e),this.minActive=nf(this.active,this.activeTo)}addActive(e){let t=0,{value:n,to:r,rank:s}=this.cursor;for(;t0;)t++;Dr(this.active,t,n),Dr(this.activeTo,t,r),Dr(this.activeRank,t,s),e&&Dr(e,t,this.cursor.from),this.minActive=nf(this.active,this.activeTo)}next(){let e=this.to,t=this.point;this.point=null;let n=this.openStart<0?[]:null;for(;;){let r=this.minActive;if(r>-1&&(this.activeTo[r]-this.cursor.from||this.active[r].endSide-this.cursor.startSide)<0){if(this.activeTo[r]>e){this.to=this.activeTo[r],this.endSide=this.active[r].endSide;break}this.removeActive(r),n&&Vr(n,r)}else if(this.cursor.value)if(this.cursor.from>e){this.to=this.cursor.from,this.endSide=this.cursor.startSide;break}else{let s=this.cursor.value;if(!s.point)this.addActive(n),this.cursor.next();else if(t&&this.cursor.to==this.to&&this.cursor.from=0&&n[r]=0&&!(this.activeRank[n]e||this.activeTo[n]==e&&this.active[n].endSide>=this.point.endSide)&&t.push(this.active[n]);return t.reverse()}openEnd(e){let t=0;for(let n=this.activeTo.length-1;n>=0&&this.activeTo[n]>e;n--)t++;return t}};function tf(i,e,t,n,r,s){i.goto(e),t.goto(n);let o=n+r,a=n,l=n-e,c=!!s.boundChange;for(let h=!1;;){let f=i.to+l-t.to,u=f||i.endSide-t.endSide,O=u<0?i.to+l:t.to,p=Math.min(O,o);if(i.point||t.point?(i.point&&t.point&&Ko(i.point,t.point)&&No(i.activeForPoint(i.to),t.activeForPoint(t.to))||s.comparePoint(a,p,i.point,t.point),h=!1):(h&&s.boundChange(a),p>a&&!No(i.active,t.active)&&s.compareRange(a,p,i.active,t.active),c&&po)break;a=O,u<=0&&i.next(),u>=0&&t.next()}}function No(i,e){if(i.length!=e.length)return!1;for(let t=0;t=e;n--)i[n+1]=i[n];i[e]=t}function nf(i,e){let t=-1,n=1e9;for(let r=0;r=e)return r;if(r==i.length)break;s+=i.charCodeAt(r)==9?t-s%t:1,r=ke(i,r)}return n===!0?-1:i.length}var mf=typeof Symbol>"u"?"__\u037C":Symbol.for("\u037C"),Jo=typeof Symbol>"u"?"__styleSet"+Math.floor(Math.random()*1e8):Symbol("styleSet"),gf=typeof globalThis<"u"?globalThis:typeof window<"u"?window:{},rt=class{constructor(e,t){this.rules=[];let{finish:n}=t||{};function r(o){return/^@/.test(o)?[o]:o.split(/,\s*/)}function s(o,a,l,c){let h=[],f=/^@(\w+)\b/.exec(o[0]),u=f&&f[1]=="keyframes";if(f&&a==null)return l.push(o[0]+";");for(let O in a){let p=a[O];if(/&/.test(O))s(O.split(/,\s*/).map(m=>o.map(b=>m.replace(/&/,b))).reduce((m,b)=>m.concat(b)),p,l);else if(p&&typeof p=="object"){if(!f)throw new RangeError("The value of a property ("+O+") should be a primitive value.");s(r(O),p,h,u)}else p!=null&&h.push(O.replace(/_.*/,"").replace(/[A-Z]/g,m=>"-"+m.toLowerCase())+": "+p+";")}(h.length||u)&&l.push((n&&!f&&!c?o.map(n):o).join(", ")+" {"+h.join(" ")+"}")}for(let o in e)s(r(o),e[o],this.rules)}getRules(){return this.rules.join(` `)}static newName(){let e=gf[mf]||1;return gf[mf]=e+1,"\u037C"+e.toString(36)}static mount(e,t,n){let r=e[Jo],s=n&&n.nonce;r?s&&r.setNonce(s):r=new ea(e,s),r.mount(Array.isArray(t)?t:[t],e)}},Qf=new Map,ea=class{constructor(e,t){let n=e.ownerDocument||e,r=n.defaultView;if(!e.head&&e.adoptedStyleSheets&&r.CSSStyleSheet){let s=Qf.get(n);if(s)return e[Jo]=s;this.sheet=new r.CSSStyleSheet,Qf.set(n,this)}else this.styleTag=n.createElement("style"),t&&this.styleTag.setAttribute("nonce",t);this.modules=[],e[Jo]=this}mount(e,t){let n=this.sheet,r=0,s=0;for(let o=0;o-1&&(this.modules.splice(l,1),s--,l=-1),l==-1){if(this.modules.splice(s++,0,a),n)for(let c=0;c",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},Q0=typeof navigator<"u"&&/Mac/.test(navigator.platform),b0=typeof navigator<"u"&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent);for(be=0;be<10;be++)Lt[48+be]=Lt[96+be]=String(be);var be;for(be=1;be<=24;be++)Lt[be+111]="F"+be;var be;for(be=65;be<=90;be++)Lt[be]=String.fromCharCode(be+32),an[be]=String.fromCharCode(be);var be;for(Kr in Lt)an.hasOwnProperty(Kr)||(an[Kr]=Lt[Kr]);var Kr;function bf(i){var e=Q0&&i.metaKey&&i.shiftKey&&!i.ctrlKey&&!i.altKey||b0&&i.shiftKey&&i.key&&i.key.length==1||i.key=="Unidentified",t=!e&&i.key||(i.shiftKey?an:Lt)[i.keyCode]||i.key||"Unidentified";return t=="Esc"&&(t="Escape"),t=="Del"&&(t="Delete"),t=="Left"&&(t="ArrowLeft"),t=="Up"&&(t="ArrowUp"),t=="Right"&&(t="ArrowRight"),t=="Down"&&(t="ArrowDown"),t}var ze=typeof navigator<"u"?navigator:{userAgent:"",vendor:"",platform:""},oa=typeof document<"u"?document:{documentElement:{style:{}}},aa=/Edge\/(\d+)/.exec(ze.userAgent),Uf=/MSIE \d/.test(ze.userAgent),la=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(ze.userAgent),Ss=!!(Uf||la||aa),Sf=!Ss&&/gecko\/(\d+)/i.test(ze.userAgent),ta=!Ss&&/Chrome\/(\d+)/.exec(ze.userAgent),yf="webkitFontSmoothing"in oa.documentElement.style,ca=!Ss&&/Apple Computer/.test(ze.vendor),kf=ca&&(/Mobile\/\w+/.test(ze.userAgent)||ze.maxTouchPoints>2),L={mac:kf||/Mac/.test(ze.platform),windows:/Win/.test(ze.platform),linux:/Linux|X11/.test(ze.platform),ie:Ss,ie_version:Uf?oa.documentMode||6:la?+la[1]:aa?+aa[1]:0,gecko:Sf,gecko_version:Sf?+(/Firefox\/(\d+)/.exec(ze.userAgent)||[0,0])[1]:0,chrome:!!ta,chrome_version:ta?+ta[1]:0,ios:kf,android:/Android\b/.test(ze.userAgent),webkit:yf,webkit_version:yf?+(/\bAppleWebKit\/(\d+)/.exec(ze.userAgent)||[0,0])[1]:0,safari:ca,safari_version:ca?+(/\bVersion\/(\d+(\.\d+)?)/.exec(ze.userAgent)||[0,0])[1]:0,tabSize:oa.documentElement.style.tabSize!=null?"tab-size":"-moz-tab-size"};function Ya(i,e){for(let t in i)t=="class"&&e.class?e.class+=" "+i.class:t=="style"&&e.style?e.style+=";"+i.style:e[t]=i[t];return e}var ls=Object.create(null);function Ia(i,e,t){if(i==e)return!0;i||(i=ls),e||(e=ls);let n=Object.keys(i),r=Object.keys(e);if(n.length-(t&&n.indexOf(t)>-1?1:0)!=r.length-(t&&r.indexOf(t)>-1?1:0))return!1;for(let s of n)if(s!=t&&(r.indexOf(s)==-1||i[s]!==e[s]))return!1;return!0}function S0(i,e){for(let t=i.attributes.length-1;t>=0;t--){let n=i.attributes[t].name;e[n]==null&&i.removeAttribute(n)}for(let t in e){let n=e[t];t=="style"?i.style.cssText=n:i.getAttribute(t)!=n&&i.setAttribute(t,n)}}function xf(i,e,t){let n=!1;if(e)for(let r in e)t&&r in t||(n=!0,r=="style"?i.style.cssText="":i.removeAttribute(r));if(t)for(let r in t)e&&e[r]==t[r]||(n=!0,r=="style"?i.style.cssText=t[r]:i.setAttribute(r,t[r]));return n}function y0(i){let e=Object.create(null);for(let t=0;t0?3e8:-4e8:t>0?1e8:-1e8,new Zi(e,t,t,n,e.widget||null,!1)}static replace(e){let t=!!e.block,n,r;if(e.isBlockGap)n=-5e8,r=4e8;else{let{start:s,end:o}=Gf(e,t);n=(s?t?-3e8:-1:5e8)-1,r=(o?t?2e8:1:-6e8)+1}return new Zi(e,n,r,t,e.widget||null,!0)}static line(e){return new ir(e)}static set(e,t=!1){return ae.of(e,t)}hasHeight(){return this.widget?this.widget.estimatedHeight>-1:!1}};Z.none=ae.empty;var tr=class i extends Z{constructor(e){let{start:t,end:n}=Gf(e);super(t?-1:5e8,n?1:-6e8,null,e),this.tagName=e.tagName||"span",this.attrs=e.class&&e.attributes?Ya(e.attributes,{class:e.class}):e.class?{class:e.class}:e.attributes||ls}eq(e){return this==e||e instanceof i&&this.tagName==e.tagName&&Ia(this.attrs,e.attrs)}range(e,t=e){if(e>=t)throw new RangeError("Mark decorations may not be empty");return super.range(e,t)}};tr.prototype.point=!1;var ir=class i extends Z{constructor(e){super(-2e8,-2e8,null,e)}eq(e){return e instanceof i&&this.spec.class==e.spec.class&&Ia(this.spec.attributes,e.spec.attributes)}range(e,t=e){if(t!=e)throw new RangeError("Line decoration ranges must be zero-length");return super.range(e,t)}};ir.prototype.mapMode=ge.TrackBefore;ir.prototype.point=!0;var Zi=class i extends Z{constructor(e,t,n,r,s,o){super(t,n,s,e),this.block=r,this.isReplace=o,this.mapMode=r?t<=0?ge.TrackBefore:ge.TrackAfter:ge.TrackDel}get type(){return this.startSide!=this.endSide?ct.WidgetRange:this.startSide<=0?ct.WidgetBefore:ct.WidgetAfter}get heightRelevant(){return this.block||!!this.widget&&(this.widget.estimatedHeight>=5||this.widget.lineBreaks>0)}eq(e){return e instanceof i&&k0(this.widget,e.widget)&&this.block==e.block&&this.startSide==e.startSide&&this.endSide==e.endSide}range(e,t=e){if(this.isReplace&&(e>t||e==t&&this.startSide>0&&this.endSide<=0))throw new RangeError("Invalid range for replacement decoration");if(!this.isReplace&&t!=e)throw new RangeError("Widget decorations can only have zero-length ranges");return super.range(e,t)}};Zi.prototype.point=!0;function Gf(i,e=!1){let{inclusiveStart:t,inclusiveEnd:n}=i;return t==null&&(t=i.inclusive),n==null&&(n=i.inclusive),{start:t??e,end:n??e}}function k0(i,e){return i==e||!!(i&&e&&i.compare(e))}function fn(i,e,t,n=0){let r=t.length-1;r>=0&&t[r]+n>=i?t[r]=Math.max(t[r],e):t.push(i,e)}var li=class i extends it{constructor(e,t,n){super(),this.tagName=e,this.attributes=t,this.rank=n}eq(e){return e==this||e instanceof i&&this.tagName==e.tagName&&Ia(this.attributes,e.attributes)}static create(e){return new i(e.tagName,e.attributes||ls,e.rank==null?50:Math.max(0,Math.min(e.rank,100)))}static set(e,t=!1){return ae.of(e,t)}};li.prototype.startSide=li.prototype.endSide=-1;function nr(i){let e;return i.nodeType==11?e=i.getSelection?i:i.ownerDocument:e=i,e.getSelection()}function ha(i,e){return e?i==e||i.contains(e.nodeType!=1?e.parentNode:e):!1}function Gn(i,e){if(!e.anchorNode)return!1;try{return ha(i,e.anchorNode)}catch{return!1}}function os(i){return i.nodeType==3?rr(i,0,i.nodeValue.length).getClientRects():i.nodeType==1?i.getClientRects():[]}function Nn(i,e,t,n){return t?wf(i,e,t,n,-1)||wf(i,e,t,n,1):!1}function ci(i){for(var e=0;;e++)if(i=i.previousSibling,!i)return e}function cs(i){return i.nodeType==1&&/^(DIV|P|LI|UL|OL|BLOCKQUOTE|DD|DT|H\d|SECTION|PRE)$/.test(i.nodeName)}function wf(i,e,t,n,r){for(;;){if(i==t&&e==n)return!0;if(e==(r<0?0:jt(i))){if(i.nodeName=="DIV")return!1;let s=i.parentNode;if(!s||s.nodeType!=1)return!1;e=ci(i)+(r<0?0:1),i=s}else if(i.nodeType==1){if(i=i.childNodes[e+(r<0?-1:0)],i.nodeType==1&&i.contentEditable=="false")return!1;e=r<0?jt(i):0}else return!1}}function jt(i){return i.nodeType==3?i.nodeValue.length:i.childNodes.length}function hs(i,e){let{left:t,right:n}=i;if(t==n)return i;let r=e?t:n;return{left:r,right:r,top:i.top,bottom:i.bottom}}function x0(i){let e=i.visualViewport;return e?{left:0,right:e.width,top:0,bottom:e.height}:{left:0,right:i.innerWidth,top:0,bottom:i.innerHeight}}function Nf(i,e){let t=e.width/i.offsetWidth,n=e.height/i.offsetHeight;return(t>.995&&t<1.005||!isFinite(t)||Math.abs(e.width-i.offsetWidth)<1)&&(t=1),(n>.995&&n<1.005||!isFinite(n)||Math.abs(e.height-i.offsetHeight)<1)&&(n=1),{scaleX:t,scaleY:n}}function w0(i,e,t,n,r,s,o,a){let l=i.ownerDocument,c=l.defaultView||window;for(let h=i,f=!1;h&&!f;)if(h.nodeType==1){let u,O=h==l.body,p=1,m=1;if(O)u=x0(c);else{if(/^(fixed|sticky)$/.test(getComputedStyle(h).position)&&(f=!0),h.scrollHeight<=h.clientHeight&&h.scrollWidth<=h.clientWidth){h=h.assignedSlot||h.parentNode;continue}let Q=h.getBoundingClientRect();({scaleX:p,scaleY:m}=Nf(h,Q)),u={left:Q.left,right:Q.left+h.clientWidth*p,top:Q.top,bottom:Q.top+h.clientHeight*m}}let b=0,g=0;if(r=="nearest")e.top0&&e.bottom>u.bottom+g&&(g=e.bottom-u.bottom+o)):e.bottom>u.bottom-o&&(g=e.bottom-u.bottom+o,t<0&&e.top-g0&&e.right>u.right+b&&(b=e.right-u.right+s)):e.right>u.right-s&&(b=e.right-u.right+s,t<0&&e.leftu.bottom||e.leftu.right)&&(e={left:Math.max(e.left,u.left),right:Math.min(e.right,u.right),top:Math.max(e.top,u.top),bottom:Math.min(e.bottom,u.bottom)}),h=h.assignedSlot||h.parentNode}else if(h.nodeType==11)h=h.host;else break}function Ff(i,e=!0){let t=i.ownerDocument,n=null,r=null;for(let s=i.parentNode;s&&!(s==t.body||(!e||n)&&r);)if(s.nodeType==1)!r&&s.scrollHeight>s.clientHeight&&(r=s),e&&!n&&s.scrollWidth>s.clientWidth&&(n=s),s=s.assignedSlot||s.parentNode;else if(s.nodeType==11)s=s.host;else break;return{x:n,y:r}}var fa=class{constructor(){this.anchorNode=null,this.anchorOffset=0,this.focusNode=null,this.focusOffset=0}eq(e){return this.anchorNode==e.anchorNode&&this.anchorOffset==e.anchorOffset&&this.focusNode==e.focusNode&&this.focusOffset==e.focusOffset}setRange(e){let{anchorNode:t,focusNode:n}=e;this.set(t,Math.min(e.anchorOffset,t?jt(t):0),n,Math.min(e.focusOffset,n?jt(n):0))}set(e,t,n,r){this.anchorNode=e,this.anchorOffset=t,this.focusNode=n,this.focusOffset=r}},Ri=null;L.safari&&L.safari_version>=26&&(Ri=!1);function Hf(i){if(i.setActive)return i.setActive();if(Ri)return i.focus(Ri);let e=[];for(let t=i;t&&(e.push(t,t.scrollTop,t.scrollLeft),t!=t.ownerDocument);t=t.parentNode);if(i.focus(Ri==null?{get preventScroll(){return Ri={preventScroll:!0},!0}}:void 0),!Ri){Ri=!1;for(let t=0;tMath.max(0,i.document.documentElement.scrollHeight-i.innerHeight-4):i.scrollTop>Math.max(1,i.scrollHeight-i.clientHeight-4)}function Jf(i,e){for(let t=i,n=e;;){if(t.nodeType==3&&n>0)return{node:t,offset:n};if(t.nodeType==1&&n>0){if(t.contentEditable=="false")return null;t=t.childNodes[n-1],n=jt(t)}else if(t.parentNode&&!cs(t))n=ci(t),t=t.parentNode;else return null}}function eu(i,e){for(let t=i,n=e;;){if(t.nodeType==3&&n=t){if(a.level==n)return o;(s<0||(r!=0?r<0?a.fromt:e[s].level>a.level))&&(s=o)}}if(s<0)throw new RangeError("Index out of range");return s}};function nu(i,e){if(i.length!=e.length)return!1;for(let t=0;t=0;m-=3)if($t[m+1]==-O){let b=$t[m+2],g=b&2?r:b&4?b&1?s:r:0;g&&(oe[f]=oe[$t[m]]=g),a=m;break}}else{if($t.length==189)break;$t[a++]=f,$t[a++]=u,$t[a++]=l}else if((p=oe[f])==2||p==1){let m=p==r;l=m?0:1;for(let b=a-3;b>=0;b-=3){let g=$t[b+2];if(g&2)break;if(m)$t[b+2]|=2;else{if(g&4)break;$t[b+2]|=4}}}}}function R0(i,e,t,n){for(let r=0,s=n;r<=t.length;r++){let o=r?t[r-1].to:i,a=rl;)p==b&&(p=t[--m].from,b=m?t[m-1].to:i),oe[--p]=O;l=h}else s=c,l++}}}function Oa(i,e,t,n,r,s,o){let a=n%2?2:1;if(n%2==r%2)for(let l=e,c=0;ll&&o.push(new at(l,m.from,O));let b=m.direction==Ei!=!(O%2);da(i,b?n+1:n,r,m.inner,m.from,m.to,o),l=m.to}p=m.to}else{if(p==t||(h?oe[p]!=a:oe[p]==a))break;p++}u?Oa(i,l,p,n+1,r,u,o):le;){let h=!0,f=!1;if(!c||l>s[c-1].to){let m=oe[l-1];m!=a&&(h=!1,f=m==16)}let u=!h&&a==1?[]:null,O=h?n:n+1,p=l;e:for(;;)if(c&&p==s[c-1].to){if(f)break e;let m=s[--c];if(!h)for(let b=m.from,g=c;;){if(b==e)break e;if(g&&s[g-1].to==b)b=s[--g].from;else{if(oe[b-1]==a)break e;break}}if(u)u.push(m);else{m.tooe.length;)oe[oe.length]=256;let n=[],r=e==Ei?0:1;return da(i,r,r,t,0,i.length,n),n}function ru(i){return[new at(0,i,0)]}var su="";function Z0(i,e,t,n,r){var s;let o=n.head-i.from,a=at.find(e,o,(s=n.bidiLevel)!==null&&s!==void 0?s:-1,n.assoc),l=e[a],c=l.side(r,t);if(o==c){let u=a+=r?1:-1;if(u<0||u>=e.length)return null;l=e[a=u],o=l.side(!r,t),c=l.side(r,t)}let h=ke(i.text,o,l.forward(r,t));(hl.to)&&(h=c),su=i.text.slice(Math.min(o,h),Math.max(o,h));let f=a==(r?e.length-1:0)?null:e[a+(r?1:-1)];return f&&h==c&&f.level+(r?0:1)i.some(e=>e)}),q0=Y.define({combine:i=>i.some(e=>e)}),Ou=Y.define(),Fn=class i{constructor(e,t,n,r,s,o=!1){this.range=e,this.y=t,this.x=n,this.yMargin=r,this.xMargin=s,this.isSnapshot=o}map(e){return e.empty?this:new i(this.range.map(e),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}clip(e){return this.range.to<=e.doc.length?this:new i(P.cursor(e.doc.length),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}},Jr=te.define({map:(i,e)=>i.map(e)}),du=te.define();function lt(i,e,t){let n=i.facet(cu);n.length?n[0](e):window.onerror&&window.onerror(String(e),t,void 0,void 0,e)||(t?console.error(t+":",e):console.error(e))}var Mt=Y.define({combine:i=>i.length?i[0]:!0}),z0=0,cn=Y.define({combine(i){return i.filter((e,t)=>{for(let n=0;n{let l=[];return o&&l.push(ys.of(c=>{let h=c.plugin(a);return h?o(h):Z.none})),s&&l.push(s(a)),l})}static fromClass(e,t){return i.define((n,r)=>new e(n,r),t)}},Hn=class{constructor(e){this.spec=e,this.mustUpdate=null,this.value=null}get plugin(){return this.spec&&this.spec.plugin}update(e){if(this.value){if(this.mustUpdate){let t=this.mustUpdate;if(this.mustUpdate=null,this.value.update)try{this.value.update(t)}catch(n){if(lt(t.state,n,"CodeMirror plugin crashed"),this.value.destroy)try{this.value.destroy()}catch{}this.deactivate()}}}else if(this.spec)try{this.value=this.spec.plugin.create(e,this.spec.arg)}catch(t){lt(e.state,t,"CodeMirror plugin crashed"),this.deactivate()}return this}destroy(e){var t;if(!((t=this.value)===null||t===void 0)&&t.destroy)try{this.value.destroy()}catch(n){lt(e.state,n,"CodeMirror plugin crashed")}}deactivate(){this.spec=this.value=null}},pu=Y.define(),Na=Y.define(),ys=Y.define(),mu=Y.define(),Fa=Y.define(),sr=Y.define(),gu=Y.define();function vf(i,e){let t=i.state.facet(gu);if(!t.length)return t;let n=t.map(s=>s instanceof Function?s(i):s),r=[];return ae.spans(n,e.from,e.to,{point(){},span(s,o,a,l){let c=s-e.from,h=o-e.from,f=r;for(let u=a.length-1;u>=0;u--,l--){let O=a[u].spec.bidiIsolate,p;if(O==null&&(O=E0(e.text,c,h)),l>0&&f.length&&(p=f[f.length-1]).to==c&&p.direction==O)p.to=h,f=p.inner;else{let m={from:c,to:h,direction:O,inner:[]};f.push(m),f=m.inner}}}}),r}var Qu=Y.define();function bu(i){let e=0,t=0,n=0,r=0;for(let s of i.state.facet(Qu)){let o=s(i);o&&(o.left!=null&&(e=Math.max(e,o.left)),o.right!=null&&(t=Math.max(t,o.right)),o.top!=null&&(n=Math.max(n,o.top)),o.bottom!=null&&(r=Math.max(r,o.bottom)))}return{left:e,right:t,top:n,bottom:r}}var In=Y.define(),gt=class i{constructor(e,t,n,r){this.fromA=e,this.toA=t,this.fromB=n,this.toB=r}join(e){return new i(Math.min(this.fromA,e.fromA),Math.max(this.toA,e.toA),Math.min(this.fromB,e.fromB),Math.max(this.toB,e.toB))}addToSet(e){let t=e.length,n=this;for(;t>0;t--){let r=e[t-1];if(!(r.fromA>n.toA)){if(r.toAr.push(new gt(s,o,a,l))),this.changedRanges=r}static create(e,t,n){return new i(e,t,n)}get viewportChanged(){return(this.flags&4)>0}get viewportMoved(){return(this.flags&8)>0}get heightChanged(){return(this.flags&2)>0}get geometryChanged(){return this.docChanged||(this.flags&18)>0}get focusChanged(){return(this.flags&1)>0}get docChanged(){return!this.changes.empty}get selectionSet(){return this.transactions.some(e=>e.selection)}get empty(){return this.flags==0&&this.transactions.length==0}},L0=[],fe=class{constructor(e,t,n=0){this.dom=e,this.length=t,this.flags=n,this.parent=null,e.cmTile=this}get breakAfter(){return this.flags&1}get children(){return L0}isWidget(){return!1}get isHidden(){return!1}isComposite(){return!1}isLine(){return!1}isText(){return!1}isBlock(){return!1}get domAttrs(){return null}sync(e){if(this.flags|=2,this.flags&4){this.flags&=-5;let t=this.domAttrs;t&&S0(this.dom,t)}}toString(){return this.constructor.name+(this.children.length?`(${this.children})`:"")+(this.breakAfter?"#":"")}destroy(){this.parent=null}setDOM(e){this.dom=e,e.cmTile=this}get posAtStart(){return this.parent?this.parent.posBefore(this):0}get posAtEnd(){return this.posAtStart+this.length}posBefore(e,t=this.posAtStart){let n=t;for(let r of this.children){if(r==e)return n;n+=r.length+r.breakAfter}throw new RangeError("Invalid child in posBefore")}posAfter(e){return this.posBefore(e)+e.length}covers(e){return!0}coordsIn(e,t,n){return null}domPosFor(e,t){let n=ci(this.dom),r=this.length?e>0:t>0;return new Tt(this.parent.dom,n+(r?1:0),e==0||e==this.length)}markDirty(e){this.flags&=-3,e&&(this.flags|=4),this.parent&&this.parent.flags&2&&this.parent.markDirty(!1)}get overrideDOMText(){return null}get root(){for(let e=this;e;e=e.parent)if(e instanceof dn)return e;return null}static get(e){return e.cmTile}},On=class extends fe{constructor(e){super(e,0),this._children=[]}isComposite(){return!0}get children(){return this._children}get lastChild(){return this.children.length?this.children[this.children.length-1]:null}append(e){this.children.push(e),e.parent=this}sync(e){if(this.flags&2)return;super.sync(e);let t=this.dom,n=null,r,s=e?.node==t?e:null,o=0;for(let a of this.children){if(a.sync(e),o+=a.length+a.breakAfter,r=n?n.nextSibling:t.firstChild,s&&r!=a.dom&&(s.written=!0),a.dom.parentNode==t)for(;r&&r!=a.dom;)r=$f(r);else t.insertBefore(a.dom,r);n=a.dom}for(r=n?n.nextSibling:t.firstChild,s&&r&&(s.written=!0);r;)r=$f(r);this.length=o}};function $f(i){let e=i.nextSibling;return i.parentNode.removeChild(i),e}var dn=class extends On{constructor(e,t){super(t),this.view=e}owns(e){for(;e;e=e.parent)if(e==this)return!0;return!1}isBlock(){return!0}nearest(e){for(;;){if(!e)return null;let t=fe.get(e);if(t&&this.owns(t))return t;e=e.parentNode}}blockTiles(e){for(let t=[],n=this,r=0,s=0;;)if(r==n.children.length){if(!t.length)return;n=n.parent,n.breakAfter&&s++,r=t.pop()}else{let o=n.children[r++];if(o instanceof Wt)t.push(r),n=o,r=0;else{let a=s+o.length,l=e(o,s);if(l!==void 0)return l;s=a+o.breakAfter}}}resolveBlock(e,t){let n,r=-1,s,o=-1;if(this.blockTiles((a,l)=>{let c=l+a.length;if(e>=l&&e<=c){if(a.isWidget()&&t>=-1&&t<=1){if(a.flags&32)return!0;a.flags&16&&(n=void 0)}(le||e==l&&(t>1?a.length:a.covers(-1)))&&(!s||!a.isWidget()&&s.isWidget())&&(s=a,o=e-l)}}),!n&&!s)throw new Error("No tile at position "+e);return n&&t<0||!s?{tile:n,offset:r}:{tile:s,offset:o}}},Wt=class i extends On{constructor(e,t){super(e),this.wrapper=t}isBlock(){return!0}covers(e){return this.children.length?e<0?this.children[0].covers(-1):this.lastChild.covers(1):!1}get domAttrs(){return this.wrapper.attributes}static of(e,t){let n=new i(t||document.createElement(e.tagName),e);return t||(n.flags|=4),n}},pn=class i extends On{constructor(e,t){super(e),this.attrs=t}isLine(){return!0}static start(e,t,n){let r=new i(t||document.createElement("div"),e);return(!t||!n)&&(r.flags|=4),r}get domAttrs(){return this.attrs}resolveInline(e,t,n){let r=null,s=-1,o=null,a=-1;function l(h,f){for(let u=0,O=0;u=f&&(p.isComposite()?l(p,f-O):(!o||o.isHidden&&(t>0&&!(o.flags&32)||n&&W0(o,p)))&&(m>f||p.flags&32)?(o=p,a=f-O):(Or&&(e=r);let s=e,o=e,a=0;e==0&&t<0||e==r&&t>=0?L.chrome||L.gecko||(e?(s--,a=1):o=0)?0:l.length-1];return L.safari&&!a&&c.width==0&&(c=Array.prototype.find.call(l,h=>h.width)||c),n==null?c:hs(c,(a?a>0:t<0)==n)}static of(e,t){let n=new i(t||document.createTextNode(e),e);return t||(n.flags|=2),n}},qi=class i extends fe{constructor(e,t,n,r){super(e,t,r),this.widget=n}isWidget(){return!0}get isHidden(){return this.widget.isHidden}covers(e){return this.flags&48?!1:(this.flags&(e<0?64:128))>0}coordsIn(e,t){return this.coordsInWidget(e,t,!1)}coordsInWidget(e,t,n){let r=this.widget.coordsAt(this.dom,e,t);if(r)return r;if(n)return hs(this.dom.getBoundingClientRect(),this.length?e==0:t<=0);{let s=this.dom.getClientRects(),o=null;if(!s.length)return null;let a=this.flags&16?!0:this.flags&32?!1:e>0;for(let l=a?s.length-1:0;o=s[l],!(e>0?l==0:l==s.length-1||o.top0==n)}},ma=class{constructor(e){this.index=0,this.beforeBreak=!1,this.parents=[],this.tile=e}advance(e,t,n){let{tile:r,index:s,beforeBreak:o,parents:a}=this;for(;e||t>0;)if(r.isComposite())if(o){if(!e)break;n&&n.break(),e--,o=!1}else if(s==r.children.length){if(!e&&!a.length)break;n&&n.leave(r),o=!!r.breakAfter,{tile:r,index:s}=a.pop(),s++}else{let l=r.children[s],c=l.breakAfter;(t>0?l.length<=e:l.length=0;a--){let l=t.marks[a],c=r.lastChild;if(c instanceof je&&c.mark.eq(l.mark))c.dom!=l.dom&&c.setDOM(ia(l.dom)),r=c;else{if(this.cache.reused.get(l)){let f=fe.get(l.dom);f&&f.setDOM(ia(l.dom))}let h=je.of(l.mark,l.dom);r.append(h),r=h}this.cache.reused.set(l,2)}let s=fe.get(e.text);s&&this.cache.reused.set(s,2);let o=new Ai(e.text,e.text.nodeValue);o.flags|=8,this.pos=e.range.toB,r.append(o)}addInlineWidget(e,t,n){let r=this.afterWidget&&e.flags&48&&(this.afterWidget.flags&48)==(e.flags&48);r||this.flushBuffer();let s=this.ensureMarks(t,n);!r&&!(e.flags&16)&&s.append(this.getBuffer(1)),s.append(e),this.pos+=e.length,this.afterWidget=e}addMark(e,t,n){this.flushBuffer(),this.ensureMarks(t,n).append(e),this.pos+=e.length,this.afterWidget=null}addBlockWidget(e){this.getBlockPos().append(e),this.pos+=e.length,this.lastBlock=e,this.endLine()}continueWidget(e){let t=this.afterWidget||this.lastBlock;t.length+=e,this.pos+=e}addLineStart(e,t){var n;e||(e=Su);let r=pn.start(e,t||((n=this.cache.find(pn))===null||n===void 0?void 0:n.dom),!!t);this.getBlockPos().append(this.lastBlock=this.curLine=r)}addLine(e){this.getBlockPos().append(e),this.pos+=e.length,this.lastBlock=e,this.endLine()}addBreak(){this.lastBlock.flags|=1,this.endLine(),this.pos++}addLineStartIfNotCovered(e){this.blockPosCovered()||this.addLineStart(e)}ensureLine(e){this.curLine||this.addLineStart(e)}ensureMarks(e,t){var n;let r=this.curLine;for(let s=e.length-1;s>=0;s--){let o=e[s],a;if(t>0&&(a=r.lastChild)&&a instanceof je&&a.mark.eq(o))r=a,t--;else{let l=je.of(o,(n=this.cache.find(je,c=>c.mark.eq(o)))===null||n===void 0?void 0:n.dom);r.append(l),r=l,t=0}}return r}endLine(){if(this.curLine){this.flushBuffer();let e=this.curLine.lastChild;(!e||!Tf(this.curLine,!1)||e.dom.nodeName!="BR"&&e.isWidget()&&!(L.ios&&Tf(this.curLine,!0)))&&this.curLine.append(this.cache.findWidget(na,0,32)||new qi(na.toDOM(),0,na,32)),this.curLine=this.afterWidget=null}}updateBlockWrappers(){this.wrapperPos>this.pos+1e4&&(this.blockWrappers.goto(this.pos),this.wrappers.length=0);for(let e=this.wrappers.length-1;e>=0;e--)this.wrappers[e].to=this.pos){let t=e.rank*102+e.value.rank,n=new ga(e.from,e.to,e.value,t),r=this.wrappers.length;for(;r>0&&(this.wrappers[r-1].rank-n.rank||this.wrappers[r-1].to-n.to)<0;)r--;this.wrappers.splice(r,0,n)}this.wrapperPos=this.pos}getBlockPos(){var e;this.updateBlockWrappers();let t=this.root;for(let n of this.wrappers){let r=t.lastChild;if(n.fromo.wrapper.eq(n.wrapper)))===null||e===void 0?void 0:e.dom);t.append(s),t=s}}return t}blockPosCovered(){let e=this.lastBlock;return e!=null&&!e.breakAfter&&(!e.isWidget()||(e.flags&160)>0)}getBuffer(e){let t=2|(e<0?16:32),n=this.cache.find(mn,void 0,1);return n&&(n.flags=t),n||new mn(t)}flushBuffer(){this.afterWidget&&!(this.afterWidget.flags&32)&&(this.afterWidget.parent.append(this.getBuffer(-1)),this.afterWidget=null)}},ba=class{constructor(e){this.skipCount=0,this.text="",this.textOff=0,this.cursor=e.iter()}skip(e){this.textOff+e<=this.text.length?this.textOff+=e:(this.skipCount+=e-(this.text.length-this.textOff),this.text="",this.textOff=0)}next(e){if(this.textOff==this.text.length){let{value:r,lineBreak:s,done:o}=this.cursor.next(this.skipCount);if(this.skipCount=0,o)throw new Error("Ran out of text content when drawing inline views");this.text=r;let a=this.textOff=Math.min(e,r.length);return s?null:r.slice(0,a)}let t=Math.min(this.text.length,this.textOff+e),n=this.text.slice(this.textOff,t);return this.textOff=t,n}},us=[qi,pn,Ai,je,mn,Wt,dn];for(let i=0;i[]),this.index=us.map(()=>0),this.reused=new Map}add(e){let t=e.constructor.bucket,n=this.buckets[t];n.length<6?n.push(e):n[this.index[t]=(this.index[t]+1)%6]=e}find(e,t,n=2){let r=e.bucket,s=this.buckets[r],o=this.index[r];for(let a=0;a{if(this.cache.add(o),o.isComposite())return!1},enter:o=>this.cache.add(o),leave:()=>{},break:()=>{}}}run(e,t){let n=t&&this.getCompositionContext(t.text);for(let r=0,s=0,o=0;;){let a=or){let c=l-r;this.preserve(c,!o,!a),r=l,s+=c}if(!a)break;t&&a.fromA<=t.range.fromA&&a.toA>=t.range.toA?(this.forward(a.fromA,t.range.fromA,t.range.fromA{if(o.isWidget())if(this.openWidget)this.builder.continueWidget(l-a);else{let c=l>0||a{o.isLine()?this.builder.addLineStart(o.attrs,this.cache.maybeReuse(o)):(this.cache.add(o),o instanceof je&&r.unshift(o.mark)),this.openWidget=!1},leave:o=>{o.isLine()?r.length&&(r.length=s=0):o instanceof je&&(r.shift(),s=Math.min(s,r.length))},break:()=>{this.builder.addBreak(),this.openWidget=!1}}),this.text.skip(e)}emit(e,t){let n=null,r=this.builder,s=-1,o=ae.spans(this.decorations,e,t,{point:(a,l,c,h,f,u)=>{if(c instanceof Zi){if(this.disallowBlockEffectsFor[u]){if(c.block)throw new RangeError("Block decorations may not be specified via plugins");if(l>this.view.state.doc.lineAt(a).to)throw new RangeError("Decorations that replace line breaks may not be specified via plugins")}if(s=h.length,f>h.length)r.continueWidget(l-a);else{let O=c.widget||(c.block?hi.block:hi.inline),p=j0(c),m=this.cache.findWidget(O,l-a,p)||qi.of(O,this.view,l-a,p);c.block?(c.startSide>0&&r.addLineStartIfNotCovered(n),r.addBlockWidget(m)):(r.ensureLine(n),r.addInlineWidget(m,h,f))}n=null}else n=V0(n,c);l>a&&this.text.skip(l-a)},span:(a,l,c,h)=>{for(let f=a;f-1&&(this.openWidget=o>s),this.openWidget||r.addLineStartIfNotCovered(n),this.openMarks=o}forward(e,t,n=1){t-e<=10?this.old.advance(t-e,n,this.reuseWalker):(this.old.advance(5,-1,this.reuseWalker),this.old.advance(t-e-10,-1),this.old.advance(5,n,this.reuseWalker))}getCompositionContext(e){let t=[],n=null;for(let r=e.parentNode;;r=r.parentNode){let s=fe.get(r);if(r==this.view.contentDOM)break;s instanceof je?t.push(s):s?.isLine()?n=s:s instanceof Wt||(r.nodeName=="DIV"&&!n&&r!=this.view.contentDOM?n=new pn(r,Su):n||t.push(je.of(new tr({tagName:r.nodeName.toLowerCase(),attributes:y0(r)}),r)))}return{line:n,marks:t}}};function Tf(i,e){let t=n=>{for(let r of n.children)if((e?r.isText():r.length)||t(r))return!0;return!1};return t(i)}function j0(i){let e=i.isReplace?(i.startSide<0?64:0)|(i.endSide>0?128:0):i.startSide>0?32:16;return i.block&&(e|=256),e}var Su={class:"cm-line"};function V0(i,e){let t=e.spec.attributes,n=e.spec.class;return!t&&!n||(i||(i={class:"cm-line"}),t&&Ya(t,i),n&&(i.class+=" "+n)),i}function D0(i){let e=[];for(let t=i.parents.length;t>1;t--){let n=t==i.parents.length?i.tile:i.parents[t].tile;n instanceof je&&e.push(n.mark)}return e}function ia(i){let e=fe.get(i);return e&&e.setDOM(i.cloneNode()),i}var hi=class extends ve{constructor(e){super(),this.tag=e}eq(e){return e.tag==this.tag}toDOM(){return document.createElement(this.tag)}updateDOM(e){return e.nodeName.toLowerCase()==this.tag}get isHidden(){return!0}};hi.inline=new hi("span");hi.block=new hi("div");var na=new class extends ve{toDOM(){return document.createElement("br")}get isHidden(){return!0}get editable(){return!0}},Os=class{constructor(e){this.view=e,this.decorations=[],this.blockWrappers=[],this.dynamicDecorationMap=[!1],this.domChanged=null,this.hasComposition=null,this.editContextFormatting=Z.none,this.lastCompositionAfterCursor=!1,this.minWidth=0,this.minWidthFrom=0,this.minWidthTo=0,this.impreciseAnchor=null,this.impreciseHead=null,this.forceSelection=!1,this.lastUpdate=Date.now(),this.updateDeco(),this.tile=new dn(e,e.contentDOM),this.updateInner([new gt(0,0,0,e.state.doc.length)],null)}update(e){var t;let n=e.changedRanges;this.minWidth>0&&n.length&&(n.every(({fromA:h,toA:f})=>fthis.minWidthTo)?(this.minWidthFrom=e.changes.mapPos(this.minWidthFrom,1),this.minWidthTo=e.changes.mapPos(this.minWidthTo,1)):this.minWidth=this.minWidthFrom=this.minWidthTo=0),this.updateEditContextFormatting(e);let r=-1;this.view.inputState.composing>=0&&!this.view.observer.editContext&&(!((t=this.domChanged)===null||t===void 0)&&t.newSel?r=this.domChanged.newSel.head:!H0(e.changes,this.hasComposition)&&!e.selectionSet&&(r=e.state.selection.main.head));let s=r>-1?I0(this.view,e.changes,r):null;if(this.domChanged=null,this.hasComposition){let{from:h,to:f}=this.hasComposition;n=new gt(h,f,e.changes.mapPos(h,-1),e.changes.mapPos(f,1)).addToSet(n.slice())}this.hasComposition=s?{from:s.range.fromB,to:s.range.toB}:null,(L.ie||L.chrome)&&!s&&e&&e.state.doc.lines!=e.startState.doc.lines&&(this.forceSelection=!0);let o=this.decorations,a=this.blockWrappers;this.updateDeco();let l=G0(o,this.decorations,e.changes);l.length&&(n=gt.extendWithRanges(n,l));let c=N0(a,this.blockWrappers,e.changes);return c.length&&(n=gt.extendWithRanges(n,c)),s&&!n.some(h=>h.fromA<=s.range.fromA&&h.toA>=s.range.toA)&&(n=s.range.addToSet(n.slice())),this.tile.flags&2&&n.length==0?!1:(this.updateInner(n,s),e.transactions.length&&(this.lastUpdate=Date.now()),!0)}updateInner(e,t){this.view.viewState.mustMeasureContent=!0;let{observer:n}=this.view;n.ignore(()=>{if(t||e.length){let o=this.tile,a=new ya(this.view,o,this.blockWrappers,this.decorations,this.dynamicDecorationMap);t&&fe.get(t.text)&&a.cache.reused.set(fe.get(t.text),2),this.tile=a.run(e,t),ka(o,a.cache.reused)}this.tile.dom.style.height=this.view.viewState.contentHeight/this.view.scaleY+"px",this.tile.dom.style.flexBasis=this.minWidth?this.minWidth+"px":"";let s=L.chrome||L.ios?{node:n.selectionRange.focusNode,written:!1}:void 0;this.tile.sync(s),s&&(s.written||n.selectionRange.focusNode!=s.node||!this.tile.dom.contains(s.node))&&(this.forceSelection=!0),this.tile.dom.style.height=""});let r=[];if(this.view.viewport.from||this.view.viewport.to-1)&&Gn(n,this.view.observer.selectionRange)&&!(r&&n.contains(r));if(!(s||t||o))return;let a=this.forceSelection;this.forceSelection=!1;let l=this.view.state.selection.main,c,h;if(l.empty?h=c=this.inlineDOMNearPos(l.anchor,l.assoc||1):(h=this.inlineDOMNearPos(l.head,l.head==l.from?1:-1),c=this.inlineDOMNearPos(l.anchor,l.anchor==l.from?1:-1)),L.gecko&&l.empty&&!this.hasComposition&&Y0(c)){let u=document.createTextNode("");this.view.observer.ignore(()=>c.node.insertBefore(u,c.node.childNodes[c.offset]||null)),c=h=new Tt(u,0),a=!0}let f=this.view.observer.selectionRange;(a||!f.focusNode||(!Nn(c.node,c.offset,f.anchorNode,f.anchorOffset)||!Nn(h.node,h.offset,f.focusNode,f.focusOffset))&&!this.suppressWidgetCursorChange(f,l))&&(this.view.observer.ignore(()=>{L.android&&L.chrome&&n.contains(f.focusNode)&&F0(f.focusNode,n)&&(n.blur(),n.focus({preventScroll:!0}));let u=nr(this.view.root);if(u)if(l.empty){if(L.gecko){let O=B0(c.node,c.offset);if(O&&O!=3){let p=(O==1?Jf:eu)(c.node,c.offset);p&&(c=new Tt(p.node,p.offset))}}u.collapse(c.node,c.offset),l.bidiLevel!=null&&u.caretBidiLevel!==void 0&&(u.caretBidiLevel=l.bidiLevel)}else if(u.extend){u.collapse(c.node,c.offset);try{u.extend(h.node,h.offset)}catch{}}else{let O=document.createRange();l.anchor>l.head&&([c,h]=[h,c]),O.setEnd(h.node,h.offset),O.setStart(c.node,c.offset),u.removeAllRanges(),u.addRange(O)}o&&this.view.root.activeElement==n&&(n.blur(),r&&r.focus())}),this.view.observer.setSelectionRange(c,h)),this.impreciseAnchor=c.precise?null:new Tt(f.anchorNode,f.anchorOffset),this.impreciseHead=h.precise?null:new Tt(f.focusNode,f.focusOffset)}suppressWidgetCursorChange(e,t){return this.hasComposition&&t.empty&&Nn(e.focusNode,e.focusOffset,e.anchorNode,e.anchorOffset)&&this.posFromDOM(e.focusNode,e.focusOffset)==t.head}enforceCursorAssoc(){if(this.hasComposition)return;let{view:e}=this,t=e.state.selection.main,n=nr(e.root),{anchorNode:r,anchorOffset:s}=e.observer.selectionRange;if(!n||!t.empty||!t.assoc||!n.modify)return;let o=this.lineAt(t.head,t.assoc);if(!o)return;let a=o.posAtStart;if(t.head==a||t.head==a+o.length)return;let l=this.coordsAt(t.head,-1),c=this.coordsAt(t.head,1);if(!l||!c||l.bottom>c.top)return;let h=this.domAtPos(t.head+t.assoc,t.assoc);n.collapse(h.node,h.offset),n.modify("move",t.assoc<0?"forward":"backward","lineboundary"),e.observer.readSelectionRange();let f=e.observer.selectionRange;e.docView.posFromDOM(f.anchorNode,f.anchorOffset)!=t.from&&n.collapse(r,s)}posFromDOM(e,t){let n=this.tile.nearest(e);if(!n)return this.tile.dom.compareDocumentPosition(e)&2?0:this.view.state.doc.length;let r=n.posAtStart;if(n.isComposite()){let s;if(e==n.dom)s=n.dom.childNodes[t];else{let o=jt(e)==0?0:t==0?-1:1;for(;;){let a=e.parentNode;if(a==n.dom)break;o==0&&a.firstChild!=a.lastChild&&(e==a.firstChild?o=-1:o=1),e=a}o<0?s=e:s=e.nextSibling}if(s==n.dom.firstChild)return r;for(;s&&!fe.get(s);)s=s.nextSibling;if(!s)return r+n.length;for(let o=0,a=r;;o++){let l=n.children[o];if(l.dom==s)return a;a+=l.length+l.breakAfter}}else return n.isText()?e==n.dom?r+t:r+(t?n.length:0):r}domAtPos(e,t){let{tile:n,offset:r}=this.tile.resolveBlock(e,t);return n.isWidget()?n.domPosFor(r,t):n.domIn(r,t)}inlineDOMNearPos(e,t){let n,r=-1,s=!1,o,a=-1,l=!1;return this.tile.blockTiles((c,h)=>{if(c.isWidget()){if(c.flags&32&&h>=e)return!0;c.flags&16&&(s=!0)}else{let f=h+c.length;if(h<=e&&(n=c,r=e-h,s=f=e&&!o&&(o=c,a=e-h,l=h>e),h>e&&o)return!0}}),!n&&!o?this.domAtPos(e,t):(s&&o?n=null:l&&n&&(o=null),n&&t<0||!o?n.domIn(r,t):o.domIn(a,t))}coordsAt(e,t,n){let{tile:r,offset:s}=this.tile.resolveBlock(e,t);return r.isWidget()?r.widget instanceof Kn?null:r.coordsInWidget(s,t,!0):r.coordsIn(s,t,n)}lineAt(e,t){let{tile:n}=this.tile.resolveBlock(e,t);return n.isLine()?n:null}coordsForChar(e){let{tile:t,offset:n}=this.tile.resolveBlock(e,1);if(!t.isLine())return null;function r(s,o){if(s.isComposite())for(let a of s.children){if(a.length>=o){let l=r(a,o);if(l)return l}if(o-=a.length,o<0)break}else if(s.isText()&&oMath.max(this.view.scrollDOM.clientWidth,this.minWidth)+1,a=-1,l=this.view.textDirection==ue.LTR,c=0,h=(f,u,O)=>{for(let p=0;pr);p++){let m=f.children[p],b=u+m.length,g=m.dom.getBoundingClientRect(),{height:Q}=g;if(O&&!p&&(c+=g.top-O.top),m instanceof Wt)b>n&&h(m,u,g);else if(u>=n&&(c>0&&t.push(-c),t.push(Q+c),c=0,o)){let S=m.dom.lastChild,x=S?os(S):[];if(x.length){let v=x[x.length-1],$=l?v.right-g.left:g.right-v.left;$>a&&(a=$,this.minWidth=s,this.minWidthFrom=u,this.minWidthTo=b)}}O&&p==f.children.length-1&&(c+=O.bottom-g.bottom),u=b+m.breakAfter}};return h(this.tile,0,null),t}textDirectionAt(e){let{tile:t}=this.tile.resolveBlock(e,1);return getComputedStyle(t.dom).direction=="rtl"?ue.RTL:ue.LTR}measureTextSize(){let e=this.tile.blockTiles(o=>{if(o.isLine()&&o.children.length&&o.length<=20){let a=0,l;for(let c of o.children){if(!c.isText()||/[^ -~]/.test(c.text))return;let h=os(c.dom);if(h.length!=1)return;a+=h[0].width,l=h[0].height}if(a)return{lineHeight:o.dom.getBoundingClientRect().height,charWidth:a/o.length,textHeight:l}}});if(e)return e;let t=document.createElement("div"),n,r,s;return t.className="cm-line",t.style.width="99999px",t.style.position="absolute",t.textContent="abc def ghi jkl mno pqr stu",this.view.observer.ignore(()=>{this.tile.dom.appendChild(t);let o=os(t.firstChild)[0];n=t.getBoundingClientRect().height,r=o&&o.width?o.width/27:7,s=o&&o.height?o.height:n,t.remove()}),{lineHeight:n,charWidth:r,textHeight:s}}computeBlockGapDeco(){let e=[],t=this.view.viewState;for(let n=0,r=0;;r++){let s=r==t.viewports.length?null:t.viewports[r],o=s?s.from-1:this.view.state.doc.length;if(o>n){let a=(t.lineBlockAt(o).bottom-t.lineBlockAt(n).top)/this.view.scaleY;e.push(Z.replace({widget:new Kn(a),block:!0,inclusive:!0,isBlockGap:!0}).range(n,o))}if(!s)break;n=s.to+1}return Z.set(e)}updateDeco(){let e=1,t=this.view.state.facet(ys).map(s=>(this.dynamicDecorationMap[e++]=typeof s=="function")?s(this.view):s),n=!1,r=this.view.state.facet(Fa).map((s,o)=>{let a=typeof s=="function";return a&&(n=!0),a?s(this.view):s});for(r.length&&(this.dynamicDecorationMap[e++]=n,t.push(ae.join(r))),this.decorations=[this.editContextFormatting,...t,this.computeBlockGapDeco(),this.view.viewState.lineGapDeco];etypeof s=="function"?s(this.view):s)}scrollIntoView(e){if(e.isSnapshot){let c=this.view.viewState.lineBlockAt(e.range.head);this.view.scrollDOM.scrollTop=c.top-e.yMargin,this.view.scrollDOM.scrollLeft=e.xMargin;return}for(let c of this.view.state.facet(Ou))try{if(c(this.view,e.range,e))return!0}catch(h){lt(this.view.state,h,"scroll handler")}let{range:t}=e,n=this.coordsAt(t.head,t.assoc||(t.head>t.anchor?-1:1)),r;if(!n)return;!t.empty&&(r=this.coordsAt(t.anchor,t.anchor>t.head?-1:1))&&(n={left:Math.min(n.left,r.left),top:Math.min(n.top,r.top),right:Math.max(n.right,r.right),bottom:Math.max(n.bottom,r.bottom)});let s=bu(this.view),o={left:n.left-s.left,top:n.top-s.top,right:n.right+s.right,bottom:n.bottom+s.bottom},{offsetWidth:a,offsetHeight:l}=this.view.scrollDOM;if(w0(this.view.scrollDOM,o,t.head1&&(n.top>window.pageYOffset+window.visualViewport.offsetTop+window.visualViewport.height||n.bottomn.isWidget()||n.children.some(t);return t(this.tile.resolveBlock(e,1).tile)}destroy(){ka(this.tile)}};function ka(i,e){let t=e?.get(i);if(t!=1){t==null&&i.destroy();for(let n of i.children)ka(n,e)}}function Y0(i){return i.node.nodeType==1&&i.node.firstChild&&(i.offset==0||i.node.childNodes[i.offset-1].contentEditable=="false")&&(i.offset==i.node.childNodes.length||i.node.childNodes[i.offset].contentEditable=="false")}function yu(i,e){let t=i.observer.selectionRange;if(!t.focusNode)return null;let n=Jf(t.focusNode,t.focusOffset),r=eu(t.focusNode,t.focusOffset),s=n||r;if(r&&n&&r.node!=n.node){let a=fe.get(r.node);if(!a||a.isText()&&a.text!=r.node.nodeValue)s=r;else if(i.docView.lastCompositionAfterCursor){let l=fe.get(n.node);!l||l.isText()&&l.text!=n.node.nodeValue||(s=r)}}if(i.docView.lastCompositionAfterCursor=s!=n,!s)return null;let o=e-s.offset;return{from:o,to:o+s.node.nodeValue.length,node:s.node}}function I0(i,e,t){let n=yu(i,t);if(!n)return null;let{node:r,from:s,to:o}=n,a=r.nodeValue;if(/[\n\r]/.test(a)||i.state.doc.sliceString(n.from,n.to)!=a)return null;let l=e.invertedDesc;return{range:new gt(l.mapPos(s),l.mapPos(o),s,o),text:r}}function B0(i,e){return i.nodeType!=1?0:(e&&i.childNodes[e-1].contentEditable=="false"?1:0)|(e{ne.from&&(t=!0)}),t}var Kn=class extends ve{constructor(e){super(),this.height=e}toDOM(){let e=document.createElement("div");return e.className="cm-gap",this.updateDOM(e),e}eq(e){return e.height==this.height}updateDOM(e){return e.style.height=this.height+"px",!0}get editable(){return!0}get estimatedHeight(){return this.height}ignoreEvent(){return!1}};function K0(i,e,t=1){let n=i.charCategorizer(e),r=i.doc.lineAt(e),s=e-r.from;if(r.length==0)return P.cursor(e);s==0?t=1:s==r.length&&(t=-1);let o=s,a=s;t<0?o=ke(r.text,s,!1):a=ke(r.text,s);let l=n(r.text.slice(o,a));for(;o>0;){let c=ke(r.text,o,!1);if(n(r.text.slice(c,o))!=l)break;o=c}for(;ai.defaultLineHeight*1.5){let a=i.viewState.heightOracle.textHeight,l=Math.floor((r-t.top-(i.defaultLineHeight-a)*.5)/a);s+=l*i.viewState.heightOracle.lineLength}let o=i.state.sliceDoc(t.from,t.to);return t.from+pf(o,s,i.state.tabSize)}function eQ(i,e,t){let n=i.lineBlockAt(e);if(Array.isArray(n.type)){let r;for(let s of n.type){if(s.from>e)break;if(!(s.toe)return s;(!r||s.type==ct.Text&&(r.type!=s.type||(t<0?s.frome)))&&(r=s)}}return r||n}return n}function tQ(i,e,t,n){let r=eQ(i,e.head,e.assoc||-1),s=!n||r.type!=ct.Text||!(i.lineWrapping||r.widgetLineBreaks)?null:i.coordsAtPos(e.assoc<0&&e.head>r.from?e.head-1:e.head);if(s){let o=i.dom.getBoundingClientRect(),a=i.textDirectionAt(r.from),l=i.posAtCoords({x:t==(a==ue.LTR)?o.right-1:o.left+1,y:(s.top+s.bottom)/2});if(l!=null)return P.cursor(l,t?-1:1)}return P.cursor(t?r.to:r.from,t?-1:1)}function Cf(i,e,t,n){let r=i.state.doc.lineAt(e.head),s=i.bidiSpans(r),o=i.textDirectionAt(r.from);for(let a=e,l=null;;){let c=Z0(r,s,o,a,t),h=su;if(!c){if(r.number==(t?i.state.doc.lines:1))return a;h=` -`,r=i.state.doc.line(r.number+(t?1:-1)),s=i.bidiSpans(r),c=i.visualLineSide(r,!t)}if(l){if(!l(h))return a}else{if(!n)return c;l=n(h)}a=c}}function iQ(i,e,t){let n=i.state.charCategorizer(e),r=n(t);return s=>{let o=n(s);return r==Ee.Space&&(r=o),r==o}}function nQ(i,e,t,n){let r=e.head,s=t?1:-1;if(r==(t?i.state.doc.length:0))return P.cursor(r,e.assoc);let o=e.goalColumn,a,l=i.contentDOM.getBoundingClientRect(),c=i.coordsAtPos(r,e.assoc||((e.empty?t:e.head==e.from)?1:-1)),h=i.documentTop;if(c)o==null&&(o=c.left-l.left),a=s<0?c.top:c.bottom;else{let p=i.viewState.lineBlockAt(r);o==null&&(o=Math.min(l.right-l.left,i.defaultCharacterWidth*(r-p.from))),a=(s<0?p.top:p.bottom)+h}let f=l.left+o,u=i.viewState.heightOracle.textHeight>>1,O=n??u;for(let p=0;;p+=u){let m=a+(O+p)*s,b=wa(i,{x:f,y:m},!1,s);if(t?m>l.bottom:ma:Q{if(e>s&&er(i)),t.from,e.head>t.from?-1:1);return n==t.from?t:P.cursor(n,ni.viewState.docHeight)return new ot(i.state.doc.length,-1);if(c=i.elementAtHeight(l),n==null)break;if(c.type==ct.Text){if(n<0?c.toi.viewport.to)break;let u=i.docView.coordsAt(n<0?c.from:c.to,n>0?-1:1);if(u&&(n<0?u.top<=l+s:u.bottom>=l+s))break}let f=i.viewState.heightOracle.textHeight/2;l=n>0?c.bottom+f:c.top-f}if(i.viewport.from>=c.to||i.viewport.to<=c.from){if(t)return null;if(c.type==ct.Text){let f=J0(i,r,c,o,a);return new ot(f,f==c.from?1:-1)}}if(c.type!=ct.Text)return l<(c.top+c.bottom)/2?new ot(c.from,1):new ot(c.to,-1);let h=i.docView.lineAt(c.from,2);return(!h||h.length!=c.length)&&(h=i.docView.lineAt(c.from,-2)),new Pa(i,o,a,i.textDirectionAt(c.from)).scanTile(h,c.from)}var Pa=class{constructor(e,t,n,r){this.view=e,this.x=t,this.y=n,this.baseDir=r,this.line=null,this.spans=null}bidiSpansAt(e){return(!this.line||this.line.from>e||this.line.to1||n.length&&(n[0].level!=this.baseDir||n[0].to+r.from>1;t:if(o.has(m)){let g=r+Math.floor(Math.random()*p);for(let Q=0;Q1)){if(Q.bottomthis.y)(!c||c.top>Q.top)&&(c=Q),S=-1;else{let x=Q.left>this.x?this.x-Q.left:Q.right(p+p+m)/3)return this.y=l.bottom-1,this.scan(e,t,!0);if(c&&c.top<(p+m+m)/3)return this.y=c.top+1,this.scan(e,t,!0)}let O=(a?this.dirAt(e[h],1):this.baseDir)==ue.LTR;return{i:h,after:this.x>(u.left+u.right)/2==O}}scanText(e,t){let n=[];for(let s=0;s{let o=n[s]-t,a=n[s+1]-t;return rr(e.dom,o,a).getClientRects()});return r.after?new ot(n[r.i+1],-1):new ot(n[r.i],1)}scanTile(e,t){if(!e.length)return new ot(t,1);if(e.children.length==1){let a=e.children[0];if(a.isText())return this.scanText(a,t);if(a.isComposite())return this.scanTile(a,t)}let n=[t];for(let a=0,l=t;a{let l=e.children[a];return l.flags&48?null:(l.dom.nodeType==1?l.dom:rr(l.dom,0,l.length)).getClientRects()}),s=e.children[r.i],o=n[r.i];return s.isText()?this.scanText(s,o):s.isComposite()?this.scanTile(s,o):r.after?new ot(n[r.i+1],-1):new ot(o,1)}},ln="\uFFFF",va=class{constructor(e,t){this.points=e,this.view=t,this.text="",this.lineSeparator=t.state.facet(se.lineSeparator)}append(e){this.text+=e}lineBreak(){this.text+=ln}readRange(e,t){if(!e)return this;let n=e.parentNode;for(let r=e;;){this.findPointBefore(n,r);let s=this.text.length;this.readNode(r);let o=fe.get(r),a=r.nextSibling;if(a==t){o?.breakAfter&&!a&&n!=this.view.contentDOM&&this.lineBreak();break}let l=fe.get(a);(o&&l?o.breakAfter:(o?o.breakAfter:cs(r))||cs(a)&&(r.nodeName!="BR"||o?.isWidget())&&this.text.length>s)&&!sQ(a,t)&&this.lineBreak(),r=a}return this.findPointBefore(n,t),this}readTextNode(e){let t=e.nodeValue;for(let n of this.points)n.node==e&&(n.pos=this.text.length+Math.min(n.offset,t.length));for(let n=0,r=this.lineSeparator?null:/\r\n?|\n/g;;){let s=-1,o=1,a;if(this.lineSeparator?(s=t.indexOf(this.lineSeparator,n),o=this.lineSeparator.length):(a=r.exec(t))&&(s=a.index,o=a[0].length),this.append(t.slice(n,s<0?t.length:s)),s<0)break;if(this.lineBreak(),o>1)for(let l of this.points)l.node==e&&l.pos>this.text.length&&(l.pos-=o-1);n=s+o}}readNode(e){let t=fe.get(e),n=t&&t.overrideDOMText;if(n!=null){this.findPointInside(e,n.length);for(let r=n.iter();!r.next().done;)r.lineBreak?this.lineBreak():this.append(r.value)}else e.nodeType==3?this.readTextNode(e):e.nodeName=="BR"?e.nextSibling&&this.lineBreak():e.nodeType==1&&this.readRange(e.firstChild,null)}findPointBefore(e,t){for(let n of this.points)n.node==e&&e.childNodes[n.offset]==t&&(n.pos=this.text.length)}findPointInside(e,t){for(let n of this.points)(e.nodeType==3?n.node==e:e.contains(n.node))&&(n.pos=this.text.length+(rQ(e,n.node,n.offset)?t:0))}};function rQ(i,e,t){for(;;){if(!e||t-1;let{impreciseHead:s,impreciseAnchor:o}=e.docView,a=e.state.selection;if(e.state.readOnly&&t>-1)this.newSel=null;else if(t>-1&&(this.bounds=xu(e.docView.tile,t,n,0))){let l=s||o?[]:aQ(e),c=new va(l,e);c.readRange(this.bounds.startDOM,this.bounds.endDOM),this.text=c.text,this.newSel=lQ(l,this.bounds.from)}else{let l=e.observer.selectionRange,c=s&&s.node==l.focusNode&&s.offset==l.focusOffset||!ha(e.contentDOM,l.focusNode)?a.main.head:e.docView.posFromDOM(l.focusNode,l.focusOffset),h=o&&o.node==l.anchorNode&&o.offset==l.anchorOffset||!ha(e.contentDOM,l.anchorNode)?a.main.anchor:e.docView.posFromDOM(l.anchorNode,l.anchorOffset),f=e.viewport;if((L.ios||L.chrome)&&c!=h&&Math.min(c,h)<=a.main.from&&Math.max(c,h)>=a.main.to&&(f.from>0||f.to-1&&a.ranges.length>1)this.newSel=a.replaceRange(P.range(h,c));else if(e.lineWrapping&&h==c&&!(a.main.empty&&a.main.head==c)&&e.inputState.lastTouchTime>Date.now()-100){let u=e.coordsAtPos(c,-1),O=0;u&&(O=e.inputState.lastTouchY<=u.bottom?-1:1),this.newSel=P.create([P.cursor(c,O)])}else this.newSel=P.single(h,c)}}};function xu(i,e,t,n){if(i.isComposite()){let r=-1,s=-1,o=-1,a=-1;for(let l=0,c=n,h=n;lt)return xu(f,e,t,c);if(u>=e&&r==-1&&(r=l,s=c),c>t&&f.dom.parentNode==i.dom){o=l,a=h;break}h=u,c=u+f.breakAfter}return{from:s,to:a<0?n+i.length:a,startDOM:(r?i.children[r-1].dom.nextSibling:null)||i.dom.firstChild,endDOM:o=0?i.children[o].dom:null}}else return i.isText()?{from:n,to:n+i.length,startDOM:i.dom,endDOM:i.dom.nextSibling}:null}function wu(i,e){let t,{newSel:n}=e,{state:r}=i,s=r.selection.main,o=i.inputState.lastKeyTime>Date.now()-100?i.inputState.lastKeyCode:-1;if(e.bounds){let{from:a,to:l}=e.bounds,c=s.from,h=null;(o===8||L.android&&e.text.length=a&&s.to<=l&&(e.typeOver||f!=e.text)&&f.slice(0,s.from-a)==e.text.slice(0,s.from-a)&&f.slice(s.to-a)==e.text.slice(u=e.text.length-(f.length-(s.to-a)))?t={from:s.from,to:s.to,insert:K.of(e.text.slice(s.from-a,u).split(ln))}:(O=Pu(f,e.text,c-a,h))&&(L.chrome&&o==13&&O.toB==O.from+2&&e.text.slice(O.from,O.toB)==ln+ln&&O.toB--,t={from:a+O.from,to:a+O.toA,insert:K.of(e.text.slice(O.from,O.toB).split(ln))})}else n&&(!i.hasFocus&&r.facet(Mt)||ps(n,s))&&(n=null);if(!t&&!n)return!1;if((L.mac||L.android)&&t&&t.from==t.to&&t.from==s.head-1&&/^\. ?$/.test(t.insert.toString())&&i.contentDOM.getAttribute("autocorrect")=="off"?(n&&t.insert.length==2&&(n=P.single(n.main.anchor-1,n.main.head-1)),t={from:t.from,to:t.to,insert:K.of([t.insert.toString().replace("."," ")])}):r.doc.lineAt(s.from).toDate.now()-50?t={from:s.from,to:s.to,insert:r.toText(i.inputState.insertingText)}:L.chrome&&t&&t.from==t.to&&t.from==s.head&&t.insert.toString()==` - `&&i.lineWrapping&&(n&&(n=P.single(n.main.anchor-1,n.main.head-1)),t={from:s.from,to:s.to,insert:K.of([" "])}),t)return Ha(i,t,n,o);if(n&&!ps(n,s)){let a=!1,l="select";return i.inputState.lastSelectionTime>Date.now()-50&&(i.inputState.lastSelectionOrigin=="select"&&(a=!0),l=i.inputState.lastSelectionOrigin,l=="select.pointer"&&(n=ku(r.facet(sr).map(c=>c(i)),n))),i.dispatch({selection:n,scrollIntoView:a,userEvent:l}),!0}else return!1}function Ha(i,e,t,n=-1){if(L.ios&&i.inputState.flushIOSKey(e))return!0;let r=i.state.selection.main;if(L.android&&(e.to==r.to&&(e.from==r.from||e.from==r.from-1&&i.state.sliceDoc(e.from,r.from)==" ")&&e.insert.length==1&&e.insert.lines==2&&un(i.contentDOM,"Enter",13)||(e.from==r.from-1&&e.to==r.to&&e.insert.length==0||n==8&&e.insert.lengthr.head)&&un(i.contentDOM,"Backspace",8)||e.from==r.from&&e.to==r.to+1&&e.insert.length==0&&un(i.contentDOM,"Delete",46)))return!0;let s=e.insert.toString();i.inputState.composing>=0&&i.inputState.composing++;let o,a=()=>o||(o=oQ(i,e,t));return i.state.facet(hu).some(l=>l(i,e.from,e.to,s,a))||i.dispatch(a()),!0}function oQ(i,e,t){let n,r=i.state,s=r.selection.main,o=-1;if(e.from==e.to&&e.froms.to){let l=e.fromf(i)),c,l);e.from==h&&(o=h)}if(o>-1)n={changes:e,selection:P.cursor(e.from+e.insert.length,-1)};else if(e.from>=s.from&&e.to<=s.to&&e.to-e.from>=(s.to-s.from)/3&&(!t||t.main.empty&&t.main.from==e.from+e.insert.length)&&i.inputState.composing<0){let l=s.frome.to?r.sliceDoc(e.to,s.to):"";n=r.replaceSelection(i.state.toText(l+e.insert.sliceString(0,void 0,i.state.lineBreak)+c))}else{let l=r.changes(e),c=t&&t.main.to<=l.newLength?t.main:void 0;if(r.selection.ranges.length>1&&(i.inputState.composing>=0||i.inputState.compositionPendingChange)&&e.to<=s.to+10&&e.to>=s.to-10){let h=i.state.sliceDoc(e.from,e.to),f,u=t&&yu(i,t.main.head);if(u){let p=e.insert.length-(e.to-e.from);f={from:u.from,to:u.to-p}}else f=i.state.doc.lineAt(s.head);let O=s.to-e.to;n=r.changeByRange(p=>{if(p.from==s.from&&p.to==s.to)return{changes:l,range:c||p.map(l)};let m=p.to-O,b=m-h.length;if(i.state.sliceDoc(b,m)!=h||m>=f.from&&b<=f.to)return{range:p};let g=r.changes({from:b,to:m,insert:e.insert}),Q=p.to-s.to;return{changes:g,range:c?P.range(Math.max(0,c.anchor+Q),Math.max(0,c.head+Q)):p.map(g)}})}else n={changes:l,selection:c&&r.selection.replaceRange(c)}}let a="input.type";return(i.composing||i.inputState.compositionPendingChange&&i.inputState.compositionEndedAt>Date.now()-50)&&(i.inputState.compositionPendingChange=!1,a+=".compose",i.inputState.compositionFirstChange&&(a+=".start",i.inputState.compositionFirstChange=!1)),r.update(n,{userEvent:a,scrollIntoView:!0})}function Pu(i,e,t,n){let r=Math.min(i.length,e.length),s=0;for(;s0&&a>0&&i.charCodeAt(o-1)==e.charCodeAt(a-1);)o--,a--;if(n=="end"){let l=Math.max(0,s-Math.min(o,a));t-=o+l-s}if(o=o?s-t:0;s-=l,a=s+(a-o),o=s}else if(a=a?s-t:0;s-=l,o=s+(o-a),a=s}return{from:s,toA:o,toB:a}}function aQ(i){let e=[];if(i.root.activeElement!=i.contentDOM)return e;let{anchorNode:t,anchorOffset:n,focusNode:r,focusOffset:s}=i.observer.selectionRange;return t&&(e.push(new ds(t,n)),(r!=t||s!=n)&&e.push(new ds(r,s))),e}function lQ(i,e){if(i.length==0)return null;let t=i[0].pos,n=i.length==2?i[1].pos:t;return t>-1&&n>-1?P.single(t+e,n+e):null}function ps(i,e){return e.head==i.main.head&&e.anchor==i.main.anchor}var Ta=class{setSelectionOrigin(e){this.lastSelectionOrigin=e,this.lastSelectionTime=Date.now()}constructor(e){this.view=e,this.lastKeyCode=0,this.lastKeyTime=0,this.touchActive=!1,this.lastTouchTime=0,this.lastTouchX=0,this.lastTouchY=0,this.lastFocusTime=0,this.lastScrollTop=0,this.lastScrollLeft=0,this.lastWheelEvent=0,this.pendingIOSKey=void 0,this.lastIOSMomentumScroll=0,this.tabFocusMode=-1,this.lastSelectionOrigin=null,this.lastSelectionTime=0,this.lastContextMenu=0,this.scrollHandlers=[],this.handlers=Object.create(null),this.composing=-1,this.compositionFirstChange=null,this.compositionEndedAt=0,this.compositionPendingKey=!1,this.compositionPendingChange=!1,this.insertingText="",this.insertingTextAt=0,this.mouseSelection=null,this.draggedContent=null,this.handleEvent=this.handleEvent.bind(this),this.notifiedFocused=e.hasFocus,L.safari&&e.contentDOM.addEventListener("input",()=>null),L.gecko&&xQ(e.contentDOM.ownerDocument)}handleEvent(e){!mQ(this.view,e)||this.ignoreDuringComposition(e)||e.type=="keydown"&&this.keydown(e)||(this.view.updateState!=0?Promise.resolve().then(()=>this.runHandlers(e.type,e)):this.runHandlers(e.type,e))}runHandlers(e,t){let n=this.handlers[e];if(n){for(let r of n.observers)r(this.view,t);for(let r of n.handlers){if(t.defaultPrevented)break;if(r(this.view,t)){t.preventDefault();break}}}}ensureHandlers(e){let t=hQ(e),n=this.handlers,r=this.view.contentDOM;for(let s in t)if(s!="scroll"){let o=!t[s].handlers.length,a=n[s];a&&o!=!a.handlers.length&&(r.removeEventListener(s,this.handleEvent),a=null),a||r.addEventListener(s,this.handleEvent,{passive:o})}for(let s in n)s!="scroll"&&!t[s]&&r.removeEventListener(s,this.handleEvent);this.handlers=t}keydown(e){if(this.lastKeyCode=e.keyCode,this.lastKeyTime=Date.now(),e.keyCode==9&&this.tabFocusMode>-1&&(!this.tabFocusMode||Date.now()<=this.tabFocusMode))return!0;if(this.tabFocusMode>0&&e.keyCode!=27&&$u.indexOf(e.keyCode)<0&&(this.tabFocusMode=-1),L.android&&L.chrome&&!e.synthetic&&(e.keyCode==13||e.keyCode==8))return this.view.observer.delayAndroidKey(e.key,e.keyCode),!0;if(L.ios&&!e.synthetic&&!e.altKey&&!e.metaKey&&(vu.some(t=>t.keyCode==e.keyCode)&&!e.ctrlKey||fQ.indexOf(e.key)>-1&&e.ctrlKey)){let t={ctrlKey:e.ctrlKey,altKey:e.altKey,metaKey:e.metaKey,shiftKey:e.shiftKey};return t.shiftKey&&L.ios&&!/^(off|none)$/.test(this.view.contentDOM.autocapitalize)&&cQ(this.view.win)&&(t.shiftKey=!1),this.pendingIOSKey={key:e.key,keyCode:e.keyCode,mods:t},setTimeout(()=>this.flushIOSKey(),250),!0}return e.keyCode!=229&&this.view.observer.forceFlush(),!1}flushIOSKey(e){let t=this.pendingIOSKey;return!t||t.key=="Enter"&&e&&e.from0?!0:L.safari&&!L.ios&&this.compositionPendingKey&&Date.now()-this.compositionEndedAt<100?(this.compositionPendingKey=!1,!0):!1}startMouseSelection(e){this.mouseSelection&&this.mouseSelection.destroy(),this.mouseSelection=e}update(e){this.view.observer.update(e),this.mouseSelection&&this.mouseSelection.update(e),this.draggedContent&&e.docChanged&&(this.draggedContent=this.draggedContent.map(e.changes)),e.transactions.length&&(this.lastKeyCode=this.lastSelectionTime=0)}destroy(){this.mouseSelection&&this.mouseSelection.destroy()}};function cQ(i){return i.visualViewport?i.visualViewport.height*i.visualViewport.scale/i.document.documentElement.clientHeight<.85:!1}function Xf(i,e){return(t,n)=>{try{return e.call(i,n,t)}catch(r){lt(t.state,r)}}}function hQ(i){let e=Object.create(null);function t(n){return e[n]||(e[n]={observers:[],handlers:[]})}for(let n of i){let r=n.spec,s=r&&r.plugin.domEventHandlers,o=r&&r.plugin.domEventObservers;if(s)for(let a in s){let l=s[a];l&&t(a).handlers.push(Xf(n.value,l))}if(o)for(let a in o){let l=o[a];l&&t(a).observers.push(Xf(n.value,l))}}for(let n in Qt)t(n).handlers.push(Qt[n]);for(let n in Le)t(n).observers.push(Le[n]);return e}var vu=[{key:"Backspace",keyCode:8,inputType:"deleteContentBackward"},{key:"Enter",keyCode:13,inputType:"insertParagraph"},{key:"Enter",keyCode:13,inputType:"insertLineBreak"},{key:"Delete",keyCode:46,inputType:"deleteContentForward"}],fQ="dthko",$u=[16,17,18,20,91,92,224,225],es=6;function ts(i){return Math.max(0,i)*.7+8}function uQ(i,e){return Math.max(Math.abs(i.clientX-e.clientX),Math.abs(i.clientY-e.clientY))}var Ca=class{constructor(e,t,n,r){this.view=e,this.startEvent=t,this.style=n,this.mustSelect=r,this.scrollSpeed={x:0,y:0},this.scrolling=-1,this.lastEvent=t,this.scrollParents=Ff(e.contentDOM),this.atoms=e.state.facet(sr).map(o=>o(e));let s=e.contentDOM.ownerDocument;s.addEventListener("mousemove",this.move=this.move.bind(this)),s.addEventListener("mouseup",this.up=this.up.bind(this)),this.extend=t.shiftKey,this.multiple=e.state.facet(se.allowMultipleSelections)&&OQ(e,t),this.dragging=pQ(e,t)&&Xu(t)==1?null:!1}start(e){this.dragging===!1&&this.select(e)}move(e){if(e.buttons==0)return this.destroy();if(this.dragging||this.dragging==null&&uQ(this.startEvent,e)<10)return;this.select(this.lastEvent=e);let t=0,n=0,r=0,s=0,o=this.view.win.innerWidth,a=this.view.win.innerHeight;this.scrollParents.x&&({left:r,right:o}=this.scrollParents.x.getBoundingClientRect()),this.scrollParents.y&&({top:s,bottom:a}=this.scrollParents.y.getBoundingClientRect());let l=bu(this.view);e.clientX-l.left<=r+es?t=-ts(r-e.clientX):e.clientX+l.right>=o-es&&(t=ts(e.clientX-o)),e.clientY-l.top<=s+es?n=-ts(s-e.clientY):e.clientY+l.bottom>=a-es&&(n=ts(e.clientY-a)),this.setScrollSpeed(t,n)}up(e){this.dragging==null&&this.select(this.lastEvent),this.dragging||e.preventDefault(),this.destroy()}destroy(){this.setScrollSpeed(0,0);let e=this.view.contentDOM.ownerDocument;e.removeEventListener("mousemove",this.move),e.removeEventListener("mouseup",this.up),this.view.inputState.mouseSelection=this.view.inputState.draggedContent=null}setScrollSpeed(e,t){this.scrollSpeed={x:e,y:t},e||t?this.scrolling<0&&(this.scrolling=setInterval(()=>this.scroll(),50)):this.scrolling>-1&&(clearInterval(this.scrolling),this.scrolling=-1)}scroll(){let{x:e,y:t}=this.scrollSpeed;e&&this.scrollParents.x&&(this.scrollParents.x.scrollLeft+=e,e=0),t&&this.scrollParents.y&&(this.scrollParents.y.scrollTop+=t,t=0),(e||t)&&this.view.win.scrollBy(e,t),this.dragging===!1&&this.select(this.lastEvent)}select(e){let{view:t}=this,n=ku(this.atoms,this.style.get(e,this.extend,this.multiple));(this.mustSelect||!n.eq(t.state.selection,this.dragging===!1))&&this.view.dispatch({selection:n,userEvent:"select.pointer"}),this.mustSelect=!1}update(e){e.transactions.some(t=>t.isUserEvent("input.type"))?this.destroy():this.style.update(e)&&setTimeout(()=>this.select(this.lastEvent),20)}};function OQ(i,e){let t=i.state.facet(ou);return t.length?t[0](e):L.mac?e.metaKey:e.ctrlKey}function dQ(i,e){let t=i.state.facet(au);return t.length?t[0](e):L.mac?!e.altKey:!e.ctrlKey}function pQ(i,e){let{main:t}=i.state.selection;if(t.empty)return!1;let n=nr(i.root);if(!n||n.rangeCount==0)return!0;let r=n.getRangeAt(0).getClientRects();for(let s=0;s=e.clientX&&o.top<=e.clientY&&o.bottom>=e.clientY)return!0}return!1}function mQ(i,e){if(!e.bubbles)return!0;if(e.defaultPrevented)return!1;for(let t=e.target,n;t!=i.contentDOM;t=t.parentNode)if(!t||t.nodeType==11||(n=fe.get(t))&&n.isWidget()&&!n.isHidden&&n.widget.ignoreEvent(e))return!1;return!0}var Qt=Object.create(null),Le=Object.create(null),Tu=L.ie&&L.ie_version<15||L.ios&&L.webkit_version<604;function gQ(i){let e=i.dom.parentNode;if(!e)return;let t=e.appendChild(document.createElement("textarea"));t.style.cssText="position: fixed; left: -10000px; top: 10px",t.focus(),setTimeout(()=>{i.focus(),t.remove(),Cu(i,t.value)},50)}function ks(i,e,t){for(let n of i.facet(e))t=n(t,i);return t}function Cu(i,e){e=ks(i.state,Ua,e);let{state:t}=i,n,r=1,s=t.toText(e),o=s.lines==t.selection.ranges.length;if(Xa!=null&&t.selection.ranges.every(l=>l.empty)&&Xa==s.toString()){let l=-1;n=t.changeByRange(c=>{let h=t.doc.lineAt(c.from);if(h.from==l)return{range:c};l=h.from;let f=t.toText((o?s.line(r++).text:e)+t.lineBreak);return{changes:{from:h.from,insert:f},range:P.cursor(c.from+f.length)}})}else o?n=t.changeByRange(l=>{let c=s.line(r++);return{changes:{from:l.from,to:l.to,insert:c.text},range:P.cursor(l.from+c.length)}}):n=t.replaceSelection(s);i.dispatch(n,{userEvent:"input.paste",scrollIntoView:!0})}Le.scroll=i=>{let e=i.inputState;e.lastScrollTop=i.scrollDOM.scrollTop,e.lastScrollLeft=i.scrollDOM.scrollLeft,L.ios&&!e.touchActive&&(e.lastIOSMomentumScroll=Date.now())};Le.wheel=Le.mousewheel=i=>{i.inputState.lastWheelEvent=Date.now()};Qt.keydown=(i,e)=>(i.inputState.setSelectionOrigin("select"),e.keyCode==27&&i.inputState.tabFocusMode!=0&&(i.inputState.tabFocusMode=Date.now()+2e3),!1);Le.touchstart=(i,e)=>{let t=i.inputState,n=e.targetTouches[0];t.touchActive=!0,t.lastTouchTime=Date.now(),n&&(t.lastTouchX=n.clientX,t.lastTouchY=n.clientY),t.setSelectionOrigin("select.pointer")};Le.touchmove=i=>{i.inputState.setSelectionOrigin("select.pointer")};Le.touchend=(i,e)=>{i.inputState.touchActive=!1};Qt.mousedown=(i,e)=>{if(i.observer.flush(),i.inputState.lastTouchTime>Date.now()-2e3)return!1;let t=null;for(let n of i.state.facet(lu))if(t=n(i,e),t)break;if(!t&&e.button==0&&(t=bQ(i,e)),t){let n=!i.hasFocus;i.inputState.startMouseSelection(new Ca(i,e,t,n)),n&&i.observer.ignore(()=>{Hf(i.contentDOM);let s=i.root.activeElement;s&&!s.contains(i.contentDOM)&&s.blur()});let r=i.inputState.mouseSelection;if(r)return r.start(e),r.dragging===!1}else i.inputState.setSelectionOrigin("select.pointer");return!1};function _f(i,e,t,n){if(n==1)return P.cursor(e,t);if(n==2)return K0(i.state,e,t);{let r=i.docView.lineAt(e,t),s=i.state.doc.lineAt(r?r.posAtEnd:e),o=r?r.posAtStart:s.from,a=r?r.posAtEnd:s.to;return aDate.now()-400&&Math.abs(e.clientX-i.clientX)<2&&Math.abs(e.clientY-i.clientY)<2?(Af+1)%3:1}function bQ(i,e){let t=i.posAndSideAtCoords({x:e.clientX,y:e.clientY},!1),n=Xu(e),r=i.state.selection;return{update(s){s.docChanged&&(t.pos=s.changes.mapPos(t.pos),r=r.map(s.changes))},get(s,o,a){let l=i.posAndSideAtCoords({x:s.clientX,y:s.clientY},!1),c,h=_f(i,l.pos,l.assoc,n);if(t.pos!=l.pos&&!o){let f=_f(i,t.pos,t.assoc,n),u=Math.min(f.from,h.from),O=Math.max(f.to,h.to);h=u1&&(c=SQ(r,l.pos))?c:a?r.addRange(h):P.create([h])}}}function SQ(i,e){for(let t=0;t=e)return P.create(i.ranges.slice(0,t).concat(i.ranges.slice(t+1)),i.mainIndex==t?0:i.mainIndex-(i.mainIndex>t?1:0))}return null}Qt.dragstart=(i,e)=>{let{selection:{main:t}}=i.state;if(e.target.draggable){let r=i.docView.tile.nearest(e.target);if(r&&r.isWidget()){let s=r.posAtStart,o=s+r.length;(s>=t.to||o<=t.from)&&(t=P.undirectionalRange(s,o))}}let{inputState:n}=i;return n.mouseSelection&&(n.mouseSelection.dragging=!0),n.draggedContent=t,e.dataTransfer&&(e.dataTransfer.setData("Text",ks(i.state,Ga,i.state.sliceDoc(t.from,t.to))),e.dataTransfer.effectAllowed="copyMove"),!1};Qt.dragend=i=>(i.inputState.draggedContent=null,!1);function Ef(i,e,t,n){if(t=ks(i.state,Ua,t),!t)return;let r=i.posAtCoords({x:e.clientX,y:e.clientY},!1),{draggedContent:s}=i.inputState,o=n&&s&&dQ(i,e)?{from:s.from,to:s.to}:null,a={from:r,insert:t},l=i.state.changes(o?[o,a]:a);i.focus(),i.dispatch({changes:l,selection:{anchor:l.mapPos(r,-1),head:l.mapPos(r,1)},userEvent:o?"move.drop":"input.drop"}),i.inputState.draggedContent=null}Qt.drop=(i,e)=>{if(!e.dataTransfer)return!1;if(i.state.readOnly)return!0;let t=e.dataTransfer.files;if(t&&t.length){let n=Array(t.length),r=0,s=()=>{++r==t.length&&Ef(i,e,n.filter(o=>o!=null).join(i.state.lineBreak),!1)};for(let o=0;o{/[\x00-\x08\x0e-\x1f]{2}/.test(a.result)||(n[o]=a.result),s()},a.readAsText(t[o])}return!0}else{let n=e.dataTransfer.getData("Text");if(n)return Ef(i,e,n,!0),!0}return!1};Qt.paste=(i,e)=>{if(i.state.readOnly)return!0;i.observer.flush();let t=Tu?null:e.clipboardData;return t?(Cu(i,t.getData("text/plain")||t.getData("text/uri-list")),!0):(gQ(i),!1)};function yQ(i,e){let t=i.dom.parentNode;if(!t)return;let n=t.appendChild(document.createElement("textarea"));n.style.cssText="position: fixed; left: -10000px; top: 10px",n.value=e,n.focus(),n.selectionEnd=e.length,n.selectionStart=0,setTimeout(()=>{n.remove(),i.focus()},50)}function kQ(i){let e=[],t=[],n=!1;for(let r of i.selection.ranges)r.empty||(e.push(i.sliceDoc(r.from,r.to)),t.push(r));if(!e.length){let r=-1;for(let{from:s}of i.selection.ranges){let o=i.doc.lineAt(s);o.number>r&&(e.push(o.text),t.push({from:o.from,to:Math.min(i.doc.length,o.to+1)})),r=o.number}n=!0}return{text:ks(i,Ga,e.join(i.lineBreak)),ranges:t,linewise:n}}var Xa=null;Qt.copy=Qt.cut=(i,e)=>{if(!Gn(i.contentDOM,i.observer.selectionRange))return!1;let{text:t,ranges:n,linewise:r}=kQ(i.state);if(!t&&!r)return!1;Xa=r?t:null,e.type=="cut"&&!i.state.readOnly&&i.dispatch({changes:n,scrollIntoView:!0,userEvent:"delete.cut"});let s=Tu?null:e.clipboardData;return s?(s.clearData(),s.setData("text/plain",t),!0):(yQ(i,t),!1)};var _u=_e.define();function Ru(i,e){let t=[];for(let n of i.facet(fu)){let r=n(i,e);r&&t.push(r)}return t.length?i.update({effects:t,annotations:_u.of(!0)}):null}function Au(i){setTimeout(()=>{let e=i.hasFocus;if(e!=i.inputState.notifiedFocused){let t=Ru(i.state,e);t?i.dispatch(t):i.update([])}},10)}Le.focus=i=>{i.inputState.lastFocusTime=Date.now(),!i.scrollDOM.scrollTop&&(i.inputState.lastScrollTop||i.inputState.lastScrollLeft)&&(i.scrollDOM.scrollTop=i.inputState.lastScrollTop,i.scrollDOM.scrollLeft=i.inputState.lastScrollLeft),Au(i)};Le.blur=i=>{i.observer.clearSelectionRange(),Au(i)};Le.compositionstart=Le.compositionupdate=i=>{i.observer.editContext||(i.inputState.compositionFirstChange==null&&(i.inputState.compositionFirstChange=!0),i.inputState.composing<0&&(i.inputState.composing=0))};Le.compositionend=i=>{i.observer.editContext||(i.inputState.composing=-1,i.inputState.compositionEndedAt=Date.now(),i.inputState.compositionPendingKey=!0,i.inputState.compositionPendingChange=i.observer.pendingRecords().length>0,i.inputState.compositionFirstChange=null,L.chrome&&L.android?i.observer.flushSoon():i.inputState.compositionPendingChange?Promise.resolve().then(()=>i.observer.flush()):setTimeout(()=>{i.inputState.composing<0&&i.docView.hasComposition&&i.update([])},50))};Le.contextmenu=i=>{i.inputState.lastContextMenu=Date.now()};Qt.beforeinput=(i,e)=>{var t,n;if((e.inputType=="insertText"||e.inputType=="insertCompositionText")&&(i.inputState.insertingText=e.data,i.inputState.insertingTextAt=Date.now()),e.inputType=="insertReplacementText"&&i.observer.editContext){let s=(t=e.dataTransfer)===null||t===void 0?void 0:t.getData("text/plain"),o=e.getTargetRanges();if(s&&o.length){let a=o[0],l=i.posAtDOM(a.startContainer,a.startOffset),c=i.posAtDOM(a.endContainer,a.endOffset);return Ha(i,{from:l,to:c,insert:i.state.toText(s)},null),!0}}let r;if(L.chrome&&L.android&&(r=vu.find(s=>s.inputType==e.inputType))&&(i.observer.delayAndroidKey(r.key,r.keyCode),r.key=="Backspace"||r.key=="Delete")){let s=((n=window.visualViewport)===null||n===void 0?void 0:n.height)||0;setTimeout(()=>{var o;(((o=window.visualViewport)===null||o===void 0?void 0:o.height)||0)>s+10&&i.hasFocus&&(i.contentDOM.blur(),i.focus())},100)}return L.ios&&e.inputType=="deleteContentForward"&&i.observer.flushSoon(),L.safari&&e.inputType=="insertText"&&i.inputState.composing>=0&&setTimeout(()=>Le.compositionend(i,e),20),!1};var qf=new Set;function xQ(i){qf.has(i)||(qf.add(i),i.addEventListener("copy",()=>{}),i.addEventListener("cut",()=>{}))}var zf=["pre-wrap","normal","pre-line","break-spaces"],gn=!1;function Lf(){gn=!1}var _a=class{constructor(e){this.lineWrapping=e,this.doc=K.empty,this.heightSamples={},this.lineHeight=14,this.charWidth=7,this.textHeight=14,this.lineLength=30}heightForGap(e,t){let n=this.doc.lineAt(t).number-this.doc.lineAt(e).number+1;return this.lineWrapping&&(n+=Math.max(0,Math.ceil((t-e-n*this.lineLength*.5)/this.lineLength))),this.lineHeight*n}heightForLine(e){return this.lineWrapping?(1+Math.max(0,Math.ceil((e-this.lineLength)/Math.max(1,this.lineLength-5))))*this.lineHeight:this.lineHeight}setDoc(e){return this.doc=e,this}mustRefreshForWrapping(e){return zf.indexOf(e)>-1!=this.lineWrapping}mustRefreshForHeights(e){let t=!1;for(let n=0;n-1,l=Math.abs(t-this.lineHeight)>.3||this.lineWrapping!=a;if(this.lineWrapping=a,this.lineHeight=t,this.charWidth=n,this.textHeight=r,this.lineLength=s,l){this.heightSamples={};for(let c=0;c0}set outdated(e){this.flags=(e?2:0)|this.flags&-3}setHeight(e){this.height!=e&&(Math.abs(this.height-e)>as&&(gn=!0),this.height=e)}replace(e,t,n){return i.of(n)}decomposeLeft(e,t){t.push(this)}decomposeRight(e,t){t.push(this)}applyChanges(e,t,n,r){let s=this,o=n.doc;for(let a=r.length-1;a>=0;a--){let{fromA:l,toA:c,fromB:h,toB:f}=r[a],u=s.lineAt(l,le.ByPosNoHeight,n.setDoc(t),0,0),O=u.to>=c?u:s.lineAt(c,le.ByPosNoHeight,n,0,0);for(f+=O.to-c,c=O.to;a>0&&u.from<=r[a-1].toA;)l=r[a-1].fromA,h=r[a-1].fromB,a--,ls*2){let a=e[t-1];a.break?e.splice(--t,1,a.left,null,a.right):e.splice(--t,1,a.left,a.right),n+=1+a.break,r-=a.size}else if(s>r*2){let a=e[n];a.break?e.splice(n,1,a.left,null,a.right):e.splice(n,1,a.left,a.right),n+=2+a.break,s-=a.size}else break;else if(r=s&&o(this.lineAt(0,le.ByPos,n,r,s))}setMeasuredHeight(e){let t=e.heights[e.index++];t<0?(this.spaceAbove=-t,t=e.heights[e.index++]):this.spaceAbove=0,this.setHeight(t)}updateHeight(e,t=0,n=!1,r){return r&&r.from<=t&&r.more&&this.setMeasuredHeight(r),this.outdated=!1,this}toString(){return`block(${this.length})`}},st=class i extends gs{constructor(e,t,n){super(e,t,null),this.collapsed=0,this.widgetHeight=0,this.breaks=0,this.spaceAbove=n}mainBlock(e,t){return new mt(t,this.length,e+this.spaceAbove,this.height-this.spaceAbove,this.breaks)}replace(e,t,n){let r=n[0];return n.length==1&&(r instanceof i||r instanceof ai&&r.flags&4)&&Math.abs(this.length-r.length)<10?(r instanceof ai?r=new i(r.length,this.height,this.spaceAbove):r.height=this.height,this.outdated||(r.outdated=!1),r):Fe.of(n)}updateHeight(e,t=0,n=!1,r){return r&&r.from<=t&&r.more?this.setMeasuredHeight(r):(n||this.outdated)&&(this.spaceAbove=0,this.setHeight(Math.max(this.widgetHeight,e.heightForLine(this.length-this.collapsed))+this.breaks*e.lineHeight)),this.outdated=!1,this}toString(){return`line(${this.length}${this.collapsed?-this.collapsed:""}${this.widgetHeight?":"+this.widgetHeight:""})`}},ai=class i extends Fe{constructor(e){super(e,0)}heightMetrics(e,t){let n=e.doc.lineAt(t).number,r=e.doc.lineAt(t+this.length).number,s=r-n+1,o,a=0;if(e.lineWrapping){let l=Math.min(this.height,e.lineHeight*s);o=l/s,this.length>s+1&&(a=(this.height-l)/(this.length-s-1))}else o=this.height/s;return{firstLine:n,lastLine:r,perLine:o,perChar:a}}blockAt(e,t,n,r){let{firstLine:s,lastLine:o,perLine:a,perChar:l}=this.heightMetrics(t,r);if(t.lineWrapping){let c=r+(e0){let s=n[n.length-1];s instanceof i?n[n.length-1]=new i(s.length+r):n.push(null,new i(r-1))}if(e>0){let s=n[0];s instanceof i?n[0]=new i(e+s.length):n.unshift(new i(e-1),null)}return Fe.of(n)}decomposeLeft(e,t){t.push(new i(e-1),null)}decomposeRight(e,t){t.push(null,new i(this.length-e-1))}updateHeight(e,t=0,n=!1,r){let s=t+this.length;if(r&&r.from<=t+this.length&&r.more){let o=[],a=Math.max(t,r.from),l=-1;for(r.from>t&&o.push(new i(r.from-t-1).updateHeight(e,t));a<=s&&r.more;){let h=e.doc.lineAt(a).length;o.length&&o.push(null);let f=r.heights[r.index++],u=0;f<0&&(u=-f,f=r.heights[r.index++]),l==-1?l=f:Math.abs(f-l)>=as&&(l=-2);let O=new st(h,f,u);O.outdated=!1,o.push(O),a+=h+1}a<=s&&o.push(null,new i(s-a).updateHeight(e,a));let c=Fe.of(o);return(l<0||Math.abs(c.height-this.height)>=as||Math.abs(l-this.heightMetrics(e,t).perLine)>=as)&&(gn=!0),ms(this,c)}else(n||this.outdated)&&(this.setHeight(e.heightForGap(t,t+this.length)),this.outdated=!1);return this}toString(){return`gap(${this.length})`}},Aa=class extends Fe{constructor(e,t,n){super(e.length+t+n.length,e.height+n.height,t|(e.outdated||n.outdated?2:0)),this.left=e,this.right=n,this.size=e.size+n.size}get break(){return this.flags&1}blockAt(e,t,n,r){let s=n+this.left.height;return ea))return c;let h=t==le.ByPosNoHeight?le.ByPosNoHeight:le.ByPos;return l?c.join(this.right.lineAt(a,h,n,o,a)):this.left.lineAt(a,h,n,r,s).join(c)}forEachLine(e,t,n,r,s,o){let a=r+this.left.height,l=s+this.left.length+this.break;if(this.break)e=l&&this.right.forEachLine(e,t,n,a,l,o);else{let c=this.lineAt(l,le.ByPos,n,r,s);e=e&&c.from<=t&&o(c),t>c.to&&this.right.forEachLine(c.to+1,t,n,a,l,o)}}replace(e,t,n){let r=this.left.length+this.break;if(tthis.left.length)return this.balanced(this.left,this.right.replace(e-r,t-r,n));let s=[];e>0&&this.decomposeLeft(e,s);let o=s.length;for(let a of n)s.push(a);if(e>0&&Mf(s,o-1),t=n&&t.push(null)),e>n&&this.right.decomposeLeft(e-n,t)}decomposeRight(e,t){let n=this.left.length,r=n+this.break;if(e>=r)return this.right.decomposeRight(e-r,t);e2*t.size||t.size>2*e.size?Fe.of(this.break?[e,null,t]:[e,t]):(this.left=ms(this.left,e),this.right=ms(this.right,t),this.setHeight(e.height+t.height),this.outdated=e.outdated||t.outdated,this.size=e.size+t.size,this.length=e.length+this.break+t.length,this)}updateHeight(e,t=0,n=!1,r){let{left:s,right:o}=this,a=t+s.length+this.break,l=null;return r&&r.from<=t+s.length&&r.more?l=s=s.updateHeight(e,t,n,r):s.updateHeight(e,t,n),r&&r.from<=a+o.length&&r.more?l=o=o.updateHeight(e,a,n,r):o.updateHeight(e,a,n),l?this.balanced(s,o):(this.height=this.left.height+this.right.height,this.outdated=!1,this)}toString(){return this.left+(this.break?" ":"-")+this.right}};function Mf(i,e){let t,n;i[e]==null&&(t=i[e-1])instanceof ai&&(n=i[e+1])instanceof ai&&i.splice(e-1,3,new ai(t.length+1+n.length))}var PQ=5,Za=class i{constructor(e,t){this.pos=e,this.oracle=t,this.nodes=[],this.lineStart=-1,this.lineEnd=-1,this.covering=null,this.writtenTo=e}get isCovered(){return this.covering&&this.nodes[this.nodes.length-1]==this.covering}span(e,t){if(this.lineStart>-1){let n=Math.min(t,this.lineEnd),r=this.nodes[this.nodes.length-1];r instanceof st?r.length+=n-this.pos:(n>this.pos||!this.isCovered)&&this.nodes.push(new st(n-this.pos,-1,0)),this.writtenTo=n,t>n&&(this.nodes.push(null),this.writtenTo++,this.lineStart=-1)}this.pos=t}point(e,t,n){if(e=PQ)&&this.addLineDeco(r,s,o)}else t>e&&this.span(e,t);this.lineEnd>-1&&this.lineEnd-1)return;let{from:e,to:t}=this.oracle.doc.lineAt(this.pos);this.lineStart=e,this.lineEnd=t,this.writtenToe&&this.nodes.push(new st(this.pos-e,-1,0)),this.writtenTo=this.pos}blankContent(e,t){let n=new ai(t-e);return this.oracle.doc.lineAt(e).to==t&&(n.flags|=4),n}ensureLine(){this.enterLine();let e=this.nodes.length?this.nodes[this.nodes.length-1]:null;if(e instanceof st)return e;let t=new st(0,-1,0);return this.nodes.push(t),t}addBlock(e){this.enterLine();let t=e.deco;t&&t.startSide>0&&!this.isCovered&&this.ensureLine(),this.nodes.push(e),this.writtenTo=this.pos=this.pos+e.length,t&&t.endSide>0&&(this.covering=e)}addLineDeco(e,t,n){let r=this.ensureLine();r.length+=n,r.collapsed+=n,r.widgetHeight=Math.max(r.widgetHeight,e),r.breaks+=t,this.writtenTo=this.pos=this.pos+n}finish(e){let t=this.nodes.length==0?null:this.nodes[this.nodes.length-1];this.lineStart>-1&&!(t instanceof st)&&!this.isCovered?this.nodes.push(new st(0,-1,0)):(this.writtenToh.clientHeight||h.scrollWidth>h.clientWidth)&&f.overflow!="visible"){let u=h.getBoundingClientRect();s=Math.max(s,u.left),o=Math.min(o,u.right),a=Math.max(a,u.top),l=Math.min(c==i.parentNode?r.innerHeight:l,u.bottom)}c=f.position=="absolute"||f.position=="fixed"?h.offsetParent:h.parentNode}else if(c.nodeType==11)c=c.host;else break;return{left:s-t.left,right:Math.max(s,o)-t.left,top:a-(t.top+e),bottom:Math.max(a,l)-(t.top+e)}}function TQ(i){let e=i.getBoundingClientRect(),t=i.ownerDocument.defaultView||window;return e.left0&&e.top0}function CQ(i,e){let t=i.getBoundingClientRect();return{left:0,right:t.right-t.left,top:e,bottom:t.bottom-(t.top+e)}}var er=class{constructor(e,t,n,r){this.from=e,this.to=t,this.size=n,this.displaySize=r}static same(e,t){if(e.length!=t.length)return!1;for(let n=0;ntypeof r!="function"&&r.class=="cm-lineWrapping");this.heightOracle=new _a(n),this.stateDeco=jf(t),this.heightMap=Fe.empty().applyChanges(this.stateDeco,K.empty,this.heightOracle.setDoc(t.doc),[new gt(0,0,0,t.doc.length)]);for(let r=0;r<2&&(this.viewport=this.getViewport(0,null),!!this.updateForViewport());r++);this.updateViewportLines(),this.lineGaps=this.ensureLineGaps([]),this.lineGapDeco=Z.set(this.lineGaps.map(r=>r.draw(this,!1))),this.scrollParent=e.scrollDOM,this.computeVisibleRanges()}updateForViewport(){let e=[this.viewport],{main:t}=this.state.selection;for(let n=0;n<=1;n++){let r=n?t.head:t.anchor;if(!e.some(({from:s,to:o})=>r>=s&&r<=o)){let{from:s,to:o}=this.lineBlockAt(r);e.push(new hn(s,o))}}return this.viewports=e.sort((n,r)=>n.from-r.from),this.updateScaler()}updateScaler(){let e=this.scaler;return this.scaler=this.heightMap.height<=7e6?Wf:new za(this.heightOracle,this.heightMap,this.viewports),e.eq(this.scaler)?0:2}updateViewportLines(){this.viewportLines=[],this.heightMap.forEachLine(this.viewport.from,this.viewport.to,this.heightOracle.setDoc(this.state.doc),0,0,e=>{this.viewportLines.push(Bn(e,this.scaler))})}update(e,t=null){this.state=e.state;let n=this.stateDeco;this.stateDeco=jf(this.state);let r=e.changedRanges,s=gt.extendWithRanges(r,vQ(n,this.stateDeco,e?e.changes:qe.empty(this.state.doc.length))),o=this.heightMap.height,a=this.scrolledToBottom?null:this.scrollAnchorAt(this.scrollOffset);Lf(),this.heightMap=this.heightMap.applyChanges(this.stateDeco,e.startState.doc,this.heightOracle.setDoc(this.state.doc),s),(this.heightMap.height!=o||gn)&&(e.flags|=2),a?(this.scrollAnchorPos=e.changes.mapPos(a.from,-1),this.scrollAnchorHeight=a.top):(this.scrollAnchorPos=-1,this.scrollAnchorHeight=o);let l=s.length?this.mapViewport(this.viewport,e.changes):this.viewport;(t&&(t.range.headl.to)||!this.viewportIsAppropriate(l))&&(l=this.getViewport(0,t));let c=l.from!=this.viewport.from||l.to!=this.viewport.to;this.viewport=l,e.flags|=this.updateForViewport(),(c||!e.changes.empty||e.flags&2)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(this.mapLineGaps(this.lineGaps,e.changes))),e.flags|=this.computeVisibleRanges(e.changes),t&&(this.scrollTarget=t),!this.mustEnforceCursorAssoc&&(e.selectionSet||e.focusChanged)&&e.view.lineWrapping&&e.state.selection.main.empty&&e.state.selection.main.assoc&&!e.state.facet(q0)&&(this.mustEnforceCursorAssoc=!0)}measure(){let{view:e}=this,t=e.contentDOM,n=window.getComputedStyle(t),r=this.heightOracle,s=n.whiteSpace;this.defaultTextDirection=n.direction=="rtl"?ue.RTL:ue.LTR;let o=this.heightOracle.mustRefreshForWrapping(s)||this.mustMeasureContent==="refresh",a=t.getBoundingClientRect(),l=o||this.mustMeasureContent||this.contentDOMHeight!=a.height;this.contentDOMHeight=a.height,this.mustMeasureContent=!1;let c=0,h=0;if(a.width&&a.height){let{scaleX:v,scaleY:$}=Nf(t,a);(v>.005&&Math.abs(this.scaleX-v)>.005||$>.005&&Math.abs(this.scaleY-$)>.005)&&(this.scaleX=v,this.scaleY=$,c|=16,o=l=!0)}let f=(parseInt(n.paddingTop)||0)*this.scaleY,u=(parseInt(n.paddingBottom)||0)*this.scaleY;(this.paddingTop!=f||this.paddingBottom!=u)&&(this.paddingTop=f,this.paddingBottom=u,c|=18),this.editorWidth!=e.scrollDOM.clientWidth&&(r.lineWrapping&&(l=!0),this.editorWidth=e.scrollDOM.clientWidth,c|=16);let O=Ff(this.view.contentDOM,!1).y;O!=this.scrollParent&&(this.scrollParent=O,this.scrollAnchorHeight=-1,this.scrollOffset=0);let p=this.getScrollOffset();this.scrollOffset!=p&&(this.scrollAnchorHeight=-1,this.scrollOffset=p),this.scrolledToBottom=Kf(this.scrollParent||e.win);let m=(this.printing?CQ:$Q)(t,this.paddingTop),b=m.top-this.pixelViewport.top,g=m.bottom-this.pixelViewport.bottom;this.pixelViewport=m;let Q=this.pixelViewport.bottom>this.pixelViewport.top&&this.pixelViewport.right>this.pixelViewport.left;if(Q!=this.inView&&(this.inView=Q,Q&&(l=!0)),!this.inView&&!this.scrollTarget&&!TQ(e.dom))return 0;let S=a.width;if((this.contentDOMWidth!=S||this.editorHeight!=e.scrollDOM.clientHeight)&&(this.contentDOMWidth=a.width,this.editorHeight=e.scrollDOM.clientHeight,c|=16),l){let v=e.docView.measureVisibleLineHeights(this.viewport);if(r.mustRefreshForHeights(v)&&(o=!0),o||r.lineWrapping&&Math.abs(S-this.contentDOMWidth)>r.charWidth){let{lineHeight:$,charWidth:R,textHeight:_}=e.docView.measureTextSize();o=$>0&&r.refresh(s,$,R,_,Math.max(5,S/R),v),o&&(e.docView.minWidth=0,c|=16)}b>0&&g>0?h=Math.max(b,g):b<0&&g<0&&(h=Math.min(b,g)),Lf();for(let $ of this.viewports){let R=$.from==this.viewport.from?v:e.docView.measureVisibleLineHeights($);this.heightMap=(o?Fe.empty().applyChanges(this.stateDeco,K.empty,this.heightOracle,[new gt(0,0,0,e.state.doc.length)]):this.heightMap).updateHeight(r,0,o,new Ra($.from,R))}gn&&(c|=2)}let x=!this.viewportIsAppropriate(this.viewport,h)||this.scrollTarget&&(this.scrollTarget.range.headthis.viewport.to);return x&&(c&2&&(c|=this.updateScaler()),this.viewport=this.getViewport(h,this.scrollTarget),c|=this.updateForViewport()),(c&2||x)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(o?[]:this.lineGaps,e)),c|=this.computeVisibleRanges(),this.mustEnforceCursorAssoc&&(this.mustEnforceCursorAssoc=!1,e.docView.enforceCursorAssoc()),c}get visibleTop(){return this.scaler.fromDOM(this.pixelViewport.top)}get visibleBottom(){return this.scaler.fromDOM(this.pixelViewport.bottom)}getViewport(e,t){let n=.5-Math.max(-.5,Math.min(.5,e/1e3/2)),r=this.heightMap,s=this.heightOracle,{visibleTop:o,visibleBottom:a}=this,l=new hn(r.lineAt(o-n*1e3,le.ByHeight,s,0,0).from,r.lineAt(a+(1-n)*1e3,le.ByHeight,s,0,0).to);if(t){let{head:c}=t.range;if(cl.to){let h=Math.min(this.editorHeight,this.pixelViewport.bottom-this.pixelViewport.top),f=r.lineAt(c,le.ByPos,s,0,0),u;t.y=="center"?u=(f.top+f.bottom)/2-h/2:t.y=="start"||t.y=="nearest"&&c=a+Math.max(10,Math.min(n,250)))&&r>o-2*1e3&&s>1,o=r<<1;if(this.defaultTextDirection!=ue.LTR&&!n)return[];let a=[],l=(h,f,u,O)=>{if(f-hh&&gg.from>=u.from&&g.to<=u.to&&Math.abs(g.from-h)g.fromQ));if(!b){if(fS.from<=f&&S.to>=f)){let S=t.moveToLineBoundary(P.cursor(f),!1,!0).head;S>h&&(f=S)}let g=this.gapSize(u,h,f,O),Q=n||g<2e6?g:2e6;b=new er(h,f,g,Q)}a.push(b)},c=h=>{if(h.length2e6)for(let $ of e)$.from>=h.from&&$.fromh.from&&l(h.from,O,h,f),pt.draw(this,this.heightOracle.lineWrapping))))}computeVisibleRanges(e){let t=this.stateDeco;this.lineGaps.length&&(t=t.concat(this.lineGapDeco));let n=[];ae.spans(t,this.viewport.from,this.viewport.to,{span(s,o){n.push({from:s,to:o})},point(){}},20);let r=0;if(n.length!=this.visibleRanges.length)r=12;else for(let s=0;s=this.viewport.from&&e<=this.viewport.to&&this.viewportLines.find(t=>t.from<=e&&t.to>=e)||Bn(this.heightMap.lineAt(e,le.ByPos,this.heightOracle,0,0),this.scaler)}lineBlockAtHeight(e){return e>=this.viewportLines[0].top&&e<=this.viewportLines[this.viewportLines.length-1].bottom&&this.viewportLines.find(t=>t.top<=e&&t.bottom>=e)||Bn(this.heightMap.lineAt(this.scaler.fromDOM(e),le.ByHeight,this.heightOracle,0,0),this.scaler)}getScrollOffset(){return(this.scrollParent==this.view.scrollDOM?this.scrollParent.scrollTop:(this.scrollParent?this.scrollParent.getBoundingClientRect().top:0)-this.view.contentDOM.getBoundingClientRect().top)*this.scaleY}scrollAnchorAt(e){let t=this.lineBlockAtHeight(e+8);return t.from>=this.viewport.from||this.viewportLines[0].top-e>200?t:this.viewportLines[0]}elementAtHeight(e){return Bn(this.heightMap.blockAt(this.scaler.fromDOM(e),this.heightOracle,0,0),this.scaler)}get docHeight(){return this.scaler.toDOM(this.heightMap.height)}get contentHeight(){return this.docHeight+this.paddingTop+this.paddingBottom}},hn=class{constructor(e,t){this.from=e,this.to=t}};function XQ(i,e,t){let n=[],r=i,s=0;return ae.spans(t,i,e,{span(){},point(o,a){o>r&&(n.push({from:r,to:o}),s+=o-r),r=a}},20),r=1)return e[e.length-1].to;let n=Math.floor(i*t);for(let r=0;;r++){let{from:s,to:o}=e[r],a=o-s;if(n<=a)return s+n;n-=a}}function ns(i,e){let t=0;for(let{from:n,to:r}of i.ranges){if(e<=r){t+=e-n;break}t+=r-n}return t/i.total}function _Q(i,e){for(let t of i)if(e(t))return t}var Wf={toDOM(i){return i},fromDOM(i){return i},scale:1,eq(i){return i==this}};function jf(i){let e=i.facet(ys).filter(n=>typeof n!="function"),t=i.facet(Fa).filter(n=>typeof n!="function");return t.length&&e.push(ae.join(t)),e}var za=class i{constructor(e,t,n){let r=0,s=0,o=0;this.viewports=n.map(({from:a,to:l})=>{let c=t.lineAt(a,le.ByPos,e,0,0).top,h=t.lineAt(l,le.ByPos,e,0,0).bottom;return r+=h-c,{from:a,to:l,top:c,bottom:h,domTop:0,domBottom:0}}),this.scale=(7e6-r)/(t.height-r);for(let a of this.viewports)a.domTop=o+(a.top-s)*this.scale,o=a.domBottom=a.domTop+(a.bottom-a.top),s=a.bottom}toDOM(e){for(let t=0,n=0,r=0;;t++){let s=tt.from==e.viewports[n].from&&t.to==e.viewports[n].to):!1}};function Bn(i,e){if(e.scale==1)return i;let t=e.toDOM(i.top),n=e.toDOM(i.bottom);return new mt(i.from,i.length,t,n-t,Array.isArray(i._content)?i._content.map(r=>Bn(r,e)):i._content)}var rs=Y.define({combine:i=>i.join(" ")}),La=Y.define({combine:i=>i.indexOf(!0)>-1}),Ma=rt.newName(),Zu=rt.newName(),Eu=rt.newName(),qu={"&light":"."+Zu,"&dark":"."+Eu};function Wa(i,e,t){return new rt(e,{finish(n){return/&/.test(n)?n.replace(/&\w*/,r=>{if(r=="&")return i;if(!t||!t[r])throw new RangeError(`Unsupported selector: ${r}`);return t[r]}):i+" "+n}})}var RQ=Wa("."+Ma,{"&":{position:"relative !important",boxSizing:"border-box","&.cm-focused":{outline:"1px dotted #212121"},display:"flex !important",flexDirection:"column"},".cm-scroller":{display:"flex !important",alignItems:"flex-start !important",fontFamily:"monospace",lineHeight:1.4,height:"100%",overflowX:"auto",position:"relative",zIndex:0,overflowAnchor:"none"},".cm-content":{margin:0,flexGrow:2,flexShrink:0,display:"block",whiteSpace:"pre",wordWrap:"normal",boxSizing:"border-box",minHeight:"100%",padding:"4px 0",outline:"none","&[contenteditable=true]":{WebkitUserModify:"read-write-plaintext-only"}},".cm-lineWrapping":{whiteSpace_fallback:"pre-wrap",whiteSpace:"break-spaces",wordBreak:"break-word",overflowWrap:"anywhere",flexShrink:1},"&light .cm-content":{caretColor:"black"},"&dark .cm-content":{caretColor:"white"},".cm-line":{display:"block",padding:"0 2px 0 6px"},".cm-layer":{userSelect:"none",position:"absolute",left:0,top:0,contain:"size style","& > *":{position:"absolute"}},"&light .cm-selectionBackground":{background:"#d9d9d9"},"&dark .cm-selectionBackground":{background:"#222"},"&light.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#d7d4f0"},"&dark.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#233"},".cm-cursorLayer":{pointerEvents:"none"},"&.cm-focused > .cm-scroller > .cm-cursorLayer":{animation:"steps(1) cm-blink 1.2s infinite"},"@keyframes cm-blink":{"0%":{},"50%":{opacity:0},"100%":{}},"@keyframes cm-blink2":{"0%":{},"50%":{opacity:0},"100%":{}},".cm-cursor, .cm-dropCursor":{borderLeft:"1.2px solid black",marginLeft:"-0.6px",pointerEvents:"none"},".cm-cursor":{display:"none"},"&dark .cm-cursor":{borderLeftColor:"#ddd"},".cm-selectionHandle":{backgroundColor:"currentColor",width:"1.5px"},".cm-selectionHandle-start::before, .cm-selectionHandle-end::before":{content:'""',backgroundColor:"inherit",borderRadius:"50%",width:"8px",height:"8px",position:"absolute",left:"-3.25px"},".cm-selectionHandle-start::before":{top:"-8px"},".cm-selectionHandle-end::before":{bottom:"-8px"},".cm-dropCursor":{position:"absolute"},"&.cm-focused > .cm-scroller > .cm-cursorLayer .cm-cursor":{display:"block"},".cm-iso":{unicodeBidi:"isolate"},".cm-announced":{position:"fixed",top:"-10000px"},"@media print":{".cm-announced":{display:"none"}},"&light .cm-activeLine":{backgroundColor:"#cceeff44"},"&dark .cm-activeLine":{backgroundColor:"#99eeff33"},"&light .cm-specialChar":{color:"red"},"&dark .cm-specialChar":{color:"#f78"},".cm-gutters":{flexShrink:0,display:"flex",height:"100%",boxSizing:"border-box",zIndex:200},".cm-gutters-before":{insetInlineStart:0},".cm-gutters-after":{insetInlineEnd:0},"&light .cm-gutters":{backgroundColor:"#f5f5f5",color:"#6c6c6c",border:"0px solid #ddd","&.cm-gutters-before":{borderRightWidth:"1px"},"&.cm-gutters-after":{borderLeftWidth:"1px"}},"&dark .cm-gutters":{backgroundColor:"#333338",color:"#ccc"},".cm-gutter":{display:"flex !important",flexDirection:"column",flexShrink:0,boxSizing:"border-box",minHeight:"100%",overflow:"hidden"},".cm-gutterElement":{boxSizing:"border-box"},".cm-lineNumbers .cm-gutterElement":{padding:"0 3px 0 5px",minWidth:"20px",textAlign:"right",whiteSpace:"nowrap"},"&light .cm-activeLineGutter":{backgroundColor:"#e2f2ff"},"&dark .cm-activeLineGutter":{backgroundColor:"#222227"},".cm-panels":{boxSizing:"border-box",position:"sticky",left:0,right:0,zIndex:300},"&light .cm-panels":{backgroundColor:"#f5f5f5",color:"black"},"&light .cm-panels-top":{borderBottom:"1px solid #ddd"},"&light .cm-panels-bottom":{borderTop:"1px solid #ddd"},"&dark .cm-panels":{backgroundColor:"#333338",color:"white"},".cm-dialog":{padding:"2px 19px 4px 6px",position:"relative","& label":{fontSize:"80%"}},".cm-dialog-close":{position:"absolute",top:"3px",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",fontSize:"14px",padding:"0"},".cm-tab":{display:"inline-block",overflow:"hidden",verticalAlign:"bottom"},".cm-widgetBuffer":{verticalAlign:"text-top",height:"1em",width:0,display:"inline"},".cm-placeholder":{color:"#888",display:"inline-block",verticalAlign:"top",userSelect:"none"},".cm-highlightSpace":{backgroundImage:"radial-gradient(circle at 50% 55%, #aaa 20%, transparent 5%)",backgroundPosition:"center"},".cm-highlightTab":{backgroundImage:`url('data:image/svg+xml,')`,backgroundSize:"auto 100%",backgroundPosition:"right 90%",backgroundRepeat:"no-repeat"},".cm-trailingSpace":{backgroundColor:"#ff332255"},".cm-button":{verticalAlign:"middle",color:"inherit",fontSize:"70%",padding:".2em 1em",borderRadius:"1px"},"&light .cm-button":{backgroundImage:"linear-gradient(#eff1f5, #d9d9df)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#b4b4b4, #d0d3d6)"}},"&dark .cm-button":{backgroundImage:"linear-gradient(#393939, #111)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#111, #333)"}},".cm-textfield":{verticalAlign:"middle",color:"inherit",fontSize:"70%",border:"1px solid silver",padding:".2em .5em"},"&light .cm-textfield":{backgroundColor:"white"},"&dark .cm-textfield":{border:"1px solid #555",backgroundColor:"inherit"}},qu),AQ={childList:!0,characterData:!0,subtree:!0,attributes:!0,characterDataOldValue:!0},sa=L.ie&&L.ie_version<=11,ja=class{constructor(e){this.view=e,this.active=!1,this.editContext=null,this.selectionRange=new fa,this.selectionChanged=!1,this.delayedFlush=-1,this.resizeTimeout=-1,this.queue=[],this.delayedAndroidKey=null,this.flushingAndroidKey=-1,this.lastChange=0,this.scrollTargets=[],this.intersection=null,this.resizeScroll=null,this.intersecting=!1,this.gapIntersection=null,this.gaps=[],this.printQuery=null,this.parentCheck=-1,this.dom=e.contentDOM,this.observer=new MutationObserver(t=>{for(let n of t)this.queue.push(n);(L.ie&&L.ie_version<=11||L.ios&&e.composing)&&t.some(n=>n.type=="childList"&&n.removedNodes.length||n.type=="characterData"&&n.oldValue.length>n.target.nodeValue.length)?this.flushSoon():this.flush()}),window.EditContext&&L.android&&e.constructor.EDIT_CONTEXT!==!1&&!(L.chrome&&L.chrome_version<126)&&(this.editContext=new Va(e),e.state.facet(Mt)&&(e.contentDOM.editContext=this.editContext.editContext)),sa&&(this.onCharData=t=>{this.queue.push({target:t.target,type:"characterData",oldValue:t.prevValue}),this.flushSoon()}),this.onSelectionChange=this.onSelectionChange.bind(this),this.onResize=this.onResize.bind(this),this.onPrint=this.onPrint.bind(this),this.onScroll=this.onScroll.bind(this),window.matchMedia&&(this.printQuery=window.matchMedia("print")),typeof ResizeObserver=="function"&&(this.resizeScroll=new ResizeObserver(()=>{var t;((t=this.view.docView)===null||t===void 0?void 0:t.lastUpdate){this.parentCheck<0&&(this.parentCheck=setTimeout(this.listenForScroll.bind(this),1e3)),t.length>0&&t[t.length-1].intersectionRatio>0!=this.intersecting&&(this.intersecting=!this.intersecting,this.intersecting!=this.view.inView&&this.onScrollChanged(document.createEvent("Event")))},{threshold:[0,.001]}),this.intersection.observe(this.dom),this.gapIntersection=new IntersectionObserver(t=>{t.length>0&&t[t.length-1].intersectionRatio>0&&this.onScrollChanged(document.createEvent("Event"))},{})),this.listenForScroll(),this.readSelectionRange()}onScrollChanged(e){this.view.inputState.runHandlers("scroll",e),this.intersecting&&this.view.measure()}onScroll(e){this.intersecting&&this.flush(!1),this.editContext&&this.view.requestMeasure(this.editContext.measureReq),this.onScrollChanged(e)}onResize(){this.resizeTimeout<0&&(this.resizeTimeout=setTimeout(()=>{this.resizeTimeout=-1,this.view.requestMeasure()},50))}onPrint(e){(e.type=="change"||!e.type)&&!e.matches||(this.view.viewState.printing=!0,this.view.measure(),setTimeout(()=>{this.view.viewState.printing=!1,this.view.requestMeasure()},500))}updateGaps(e){if(this.gapIntersection&&(e.length!=this.gaps.length||this.gaps.some((t,n)=>t!=e[n]))){this.gapIntersection.disconnect();for(let t of e)this.gapIntersection.observe(t);this.gaps=e}}onSelectionChange(e){let t=this.selectionChanged;if(!this.readSelectionRange()||this.delayedAndroidKey)return;let{view:n}=this,r=this.selectionRange;if(n.state.facet(Mt)?n.root.activeElement!=this.dom:!Gn(this.dom,r))return;let s=r.anchorNode&&n.docView.tile.nearest(r.anchorNode);if(s&&s.isWidget()&&s.widget.ignoreEvent(e)){t||(this.selectionChanged=!1);return}(L.ie&&L.ie_version<=11||L.android&&L.chrome)&&!n.state.selection.main.empty&&r.focusNode&&Nn(r.focusNode,r.focusOffset,r.anchorNode,r.anchorOffset)?this.flushSoon():this.flush(!1)}readSelectionRange(){let{view:e}=this,t=nr(e.root);if(!t)return!1;let n=L.safari&&e.root.nodeType==11&&e.root.activeElement==this.dom&&ZQ(this.view,t)||t;if(!n||this.selectionRange.eq(n))return!1;let r=Gn(this.dom,n);return r&&!this.selectionChanged&&e.inputState.lastFocusTime>Date.now()-200&&e.inputState.lastTouchTime{let s=this.delayedAndroidKey;s&&(this.clearDelayedAndroidKey(),this.view.inputState.lastKeyCode=s.keyCode,this.view.inputState.lastKeyTime=Date.now(),!this.flush()&&s.force&&un(this.dom,s.key,s.keyCode))};this.flushingAndroidKey=this.view.win.requestAnimationFrame(r)}(!this.delayedAndroidKey||e=="Enter")&&(this.delayedAndroidKey={key:e,keyCode:t,force:this.lastChange{this.delayedFlush=-1,this.flush()}))}forceFlush(){this.delayedFlush>=0&&(this.view.win.cancelAnimationFrame(this.delayedFlush),this.delayedFlush=-1),this.flush()}pendingRecords(){for(let e of this.observer.takeRecords())this.queue.push(e);return this.queue}processRecords(){let e=this.pendingRecords();e.length&&(this.queue=[]);let t=-1,n=-1,r=!1;for(let s of e){let o=this.readMutation(s);o&&(o.typeOver&&(r=!0),t==-1?{from:t,to:n}=o:(t=Math.min(o.from,t),n=Math.max(o.to,n)))}return{from:t,to:n,typeOver:r}}readChange(){let{from:e,to:t,typeOver:n}=this.processRecords(),r=this.selectionChanged&&Gn(this.dom,this.selectionRange);if(e<0&&!r)return null;e>-1&&(this.lastChange=Date.now()),this.view.inputState.lastFocusTime=0,this.selectionChanged=!1;let s=new $a(this.view,e,t,n);return this.view.docView.domChanged={newSel:s.newSel?s.newSel.main:null},s}flush(e=!0){if(this.delayedFlush>=0||this.delayedAndroidKey)return!1;e&&this.readSelectionRange();let t=this.readChange();if(!t)return this.view.requestMeasure(),!1;let n=this.view.state,r=wu(this.view,t);return this.view.state==n&&(t.domChanged||t.newSel&&!ps(this.view.state.selection,t.newSel.main))&&this.view.update([]),r}readMutation(e){let t=this.view.docView.tile.nearest(e.target);if(!t||t.isWidget())return null;if(t.markDirty(e.type=="attributes"),e.type=="childList"){let n=Vf(t,e.previousSibling||e.target.previousSibling,-1),r=Vf(t,e.nextSibling||e.target.nextSibling,1);return{from:n?t.posAfter(n):t.posAtStart,to:r?t.posBefore(r):t.posAtEnd,typeOver:!1}}else return e.type=="characterData"?{from:t.posAtStart,to:t.posAtEnd,typeOver:e.target.nodeValue==e.oldValue}:null}setWindow(e){e!=this.win&&(this.removeWindowListeners(this.win),this.win=e,this.addWindowListeners(this.win))}addWindowListeners(e){e.addEventListener("resize",this.onResize),this.printQuery?this.printQuery.addEventListener?this.printQuery.addEventListener("change",this.onPrint):this.printQuery.addListener(this.onPrint):e.addEventListener("beforeprint",this.onPrint),e.addEventListener("scroll",this.onScroll),e.document.addEventListener("selectionchange",this.onSelectionChange)}removeWindowListeners(e){e.removeEventListener("scroll",this.onScroll),e.removeEventListener("resize",this.onResize),this.printQuery?this.printQuery.removeEventListener?this.printQuery.removeEventListener("change",this.onPrint):this.printQuery.removeListener(this.onPrint):e.removeEventListener("beforeprint",this.onPrint),e.document.removeEventListener("selectionchange",this.onSelectionChange)}update(e){this.editContext&&(this.editContext.update(e),e.startState.facet(Mt)!=e.state.facet(Mt)&&(e.view.contentDOM.editContext=e.state.facet(Mt)?this.editContext.editContext:null))}destroy(){var e,t,n;this.stop(),(e=this.intersection)===null||e===void 0||e.disconnect(),(t=this.gapIntersection)===null||t===void 0||t.disconnect(),(n=this.resizeScroll)===null||n===void 0||n.disconnect();for(let r of this.scrollTargets)r.removeEventListener("scroll",this.onScroll);this.removeWindowListeners(this.win),clearTimeout(this.parentCheck),clearTimeout(this.resizeTimeout),this.win.cancelAnimationFrame(this.delayedFlush),this.win.cancelAnimationFrame(this.flushingAndroidKey),this.editContext&&(this.view.contentDOM.editContext=null,this.editContext.destroy())}};function Vf(i,e,t){for(;e;){let n=fe.get(e);if(n&&n.parent==i)return n;let r=e.parentNode;e=r!=i.dom?r:t>0?e.nextSibling:e.previousSibling}return null}function Df(i,e){let t=e.startContainer,n=e.startOffset,r=e.endContainer,s=e.endOffset,o=i.docView.domAtPos(i.state.selection.main.anchor,1);return Nn(o.node,o.offset,r,s)&&([t,n,r,s]=[r,s,t,n]),{anchorNode:t,anchorOffset:n,focusNode:r,focusOffset:s}}function ZQ(i,e){if(e.getComposedRanges){let r=e.getComposedRanges(i.root)[0];if(r)return Df(i,r)}let t=null;function n(r){r.preventDefault(),r.stopImmediatePropagation(),t=r.getTargetRanges()[0]}return i.contentDOM.addEventListener("beforeinput",n,!0),i.dom.ownerDocument.execCommand("indent"),i.contentDOM.removeEventListener("beforeinput",n,!0),t?Df(i,t):null}var Va=class{constructor(e){this.from=0,this.to=0,this.pendingContextChange=null,this.handlers=Object.create(null),this.composing=null,this.resetRange(e.state);let t=this.editContext=new window.EditContext({text:e.state.doc.sliceString(this.from,this.to),selectionStart:this.toContextPos(Math.max(this.from,Math.min(this.to,e.state.selection.main.anchor))),selectionEnd:this.toContextPos(e.state.selection.main.head)});this.handlers.textupdate=n=>{let r=e.state.selection.main,{anchor:s,head:o}=r,a=this.toEditorPos(n.updateRangeStart),l=this.toEditorPos(n.updateRangeEnd);e.inputState.composing>=0&&!this.composing&&(this.composing={contextBase:n.updateRangeStart,editorBase:a,drifted:!1});let c=l-a>n.text.length;a==this.from&&sthis.to&&(l=s);let h=Pu(e.state.sliceDoc(a,l),n.text,(c?r.from:r.to)-a,c?"end":null);if(!h){let u=P.single(this.toEditorPos(n.selectionStart),this.toEditorPos(n.selectionEnd));ps(u,r)||e.dispatch({selection:u,userEvent:"select"});return}let f={from:h.from+a,to:h.toA+a,insert:K.of(n.text.slice(h.from,h.toB).split(` -`))};if((L.mac||L.android)&&f.from==o-1&&/^\. ?$/.test(n.text)&&e.contentDOM.getAttribute("autocorrect")=="off"&&(f={from:a,to:l,insert:K.of([n.text.replace("."," ")])}),this.pendingContextChange=f,!e.state.readOnly){let u=this.to-this.from+(f.to-f.from+f.insert.length);Ha(e,f,P.single(this.toEditorPos(n.selectionStart,u),this.toEditorPos(n.selectionEnd,u)))}this.pendingContextChange&&(this.revertPending(e.state),this.setSelection(e.state)),f.from=0&&!/[\\p{Alphabetic}\\p{Number}_]/.test(t.text.slice(Math.max(0,n.updateRangeStart-1),Math.min(t.text.length,n.updateRangeStart+1)))&&this.handlers.compositionend(n)},this.handlers.characterboundsupdate=n=>{let r=[],s=null;for(let o=this.toEditorPos(n.rangeStart),a=this.toEditorPos(n.rangeEnd);o{let r=[];for(let s of n.getTextFormats()){let o=s.underlineStyle,a=s.underlineThickness;if(!/none/i.test(o)&&!/none/i.test(a)){let l=this.toEditorPos(s.rangeStart),c=this.toEditorPos(s.rangeEnd);if(l{e.inputState.composing<0&&(e.inputState.composing=0,e.inputState.compositionFirstChange=!0)},this.handlers.compositionend=()=>{if(e.inputState.composing=-1,e.inputState.compositionFirstChange=null,this.composing){let{drifted:n}=this.composing;this.composing=null,n&&this.reset(e.state)}};for(let n in this.handlers)t.addEventListener(n,this.handlers[n]);this.measureReq={read:n=>{let r=nr(n.root);r&&r.rangeCount&&this.editContext.updateSelectionBounds(r.getRangeAt(0).getBoundingClientRect())}}}applyEdits(e){let t=0,n=!1,r=this.pendingContextChange;return e.changes.iterChanges((s,o,a,l,c)=>{if(n)return;let h=c.length-(o-s);if(r&&o>=r.to)if(r.from==s&&r.to==o&&r.insert.eq(c)){r=this.pendingContextChange=null,t+=h,this.to+=h;return}else r=null,this.revertPending(e.state);if(s+=t,o+=t,o<=this.from)this.from+=h,this.to+=h;else if(sthis.to||this.to-this.from+c.length>3e4){n=!0;return}this.editContext.updateText(this.toContextPos(s),this.toContextPos(o),c.toString()),this.to+=h}t+=h}),r&&!n&&this.revertPending(e.state),!n}update(e){let t=this.pendingContextChange,n=e.startState.selection.main;this.composing&&(this.composing.drifted||!e.changes.touchesRange(n.from,n.to)&&e.transactions.some(r=>!r.isUserEvent("input.type")&&r.changes.touchesRange(this.from,this.to)))?(this.composing.drifted=!0,this.composing.editorBase=e.changes.mapPos(this.composing.editorBase)):!this.applyEdits(e)||!this.rangeIsValid(e.state)?(this.pendingContextChange=null,this.reset(e.state)):(e.docChanged||e.selectionSet||t)&&this.setSelection(e.state),(e.geometryChanged||e.docChanged||e.selectionSet)&&e.view.requestMeasure(this.measureReq)}resetRange(e){let{head:t}=e.selection.main;this.from=Math.max(0,t-1e4),this.to=Math.min(e.doc.length,t+1e4)}reset(e){this.resetRange(e),this.editContext.updateText(0,this.editContext.text.length,e.doc.sliceString(this.from,this.to)),this.setSelection(e)}revertPending(e){let t=this.pendingContextChange;this.pendingContextChange=null,this.editContext.updateText(this.toContextPos(t.from),this.toContextPos(t.from+t.insert.length),e.doc.sliceString(t.from,t.to))}setSelection(e){let{main:t}=e.selection,n=this.toContextPos(Math.max(this.from,Math.min(this.to,t.anchor))),r=this.toContextPos(t.head);(this.editContext.selectionStart!=n||this.editContext.selectionEnd!=r)&&this.editContext.updateSelection(n,r)}rangeIsValid(e){let{head:t}=e.selection.main;return!(this.from>0&&t-this.from<500||this.to1e4*3)}toEditorPos(e,t=this.to-this.from){e=Math.min(e,t);let n=this.composing;return n&&n.drifted?n.editorBase+(e-n.contextBase):e+this.from}toContextPos(e){let t=this.composing;return t&&t.drifted?t.contextBase+(e-t.editorBase):e-this.from}destroy(){for(let e in this.handlers)this.editContext.removeEventListener(e,this.handlers[e])}},z=class i{get state(){return this.viewState.state}get viewport(){return this.viewState.viewport}get visibleRanges(){return this.viewState.visibleRanges}get inView(){return this.viewState.inView}get composing(){return!!this.inputState&&this.inputState.composing>0}get compositionStarted(){return!!this.inputState&&this.inputState.composing>=0}get root(){return this._root}get win(){return this.dom.ownerDocument.defaultView||window}constructor(e={}){var t;this.plugins=[],this.pluginMap=new Map,this.editorAttrs={},this.contentAttrs={},this.bidiCache=[],this.destroyed=!1,this.updateState=2,this.measureScheduled=-1,this.measureRequests=[],this.contentDOM=document.createElement("div"),this.scrollDOM=document.createElement("div"),this.scrollDOM.tabIndex=-1,this.scrollDOM.className="cm-scroller",this.scrollDOM.appendChild(this.contentDOM),this.announceDOM=document.createElement("div"),this.announceDOM.className="cm-announced",this.announceDOM.setAttribute("aria-live","polite"),this.dom=document.createElement("div"),this.dom.appendChild(this.announceDOM),this.dom.appendChild(this.scrollDOM),e.parent&&e.parent.appendChild(this.dom);let{dispatch:n}=e;this.dispatchTransactions=e.dispatchTransactions||n&&(r=>r.forEach(s=>n(s,this)))||(r=>this.update(r)),this.dispatch=this.dispatch.bind(this),this._root=e.root||P0(e.parent)||document,this.viewState=new Qs(this,e.state||se.create(e)),e.scrollTo&&e.scrollTo.is(Jr)&&(this.viewState.scrollTarget=e.scrollTo.value.clip(this.viewState.state)),this.plugins=this.state.facet(cn).map(r=>new Hn(r));for(let r of this.plugins)r.update(this);this.observer=new ja(this),this.inputState=new Ta(this),this.inputState.ensureHandlers(this.plugins),this.docView=new Os(this),this.mountStyles(),this.updateAttrs(),this.updateState=0,this.requestMeasure(),!((t=document.fonts)===null||t===void 0)&&t.ready&&document.fonts.ready.then(()=>{this.viewState.mustMeasureContent="refresh",this.requestMeasure()})}dispatch(...e){let t=e.length==1&&e[0]instanceof pe?e:e.length==1&&Array.isArray(e[0])?e[0]:[this.state.update(...e)];this.dispatchTransactions(t,this)}update(e){if(this.updateState!=0)throw new Error("Calls to EditorView.update are not allowed while an update is in progress");let t=!1,n=!1,r,s=this.state;for(let u of e){if(u.startState!=s)throw new RangeError("Trying to update state with a transaction that doesn't start from the previous state.");s=u.state}if(this.destroyed){this.viewState.state=s;return}let o=this.hasFocus,a=0,l=null;e.some(u=>u.annotation(_u))?(this.inputState.notifiedFocused=o,a=1):o!=this.inputState.notifiedFocused&&(this.inputState.notifiedFocused=o,l=Ru(s,o),l||(a=1));let c=this.observer.delayedAndroidKey,h=null;if(c?(this.observer.clearDelayedAndroidKey(),h=this.observer.readChange(),(h&&!this.state.doc.eq(s.doc)||!this.state.selection.eq(s.selection))&&(h=null)):this.observer.clear(),s.facet(se.phrases)!=this.state.facet(se.phrases))return this.setState(s);r=fs.create(this,s,e),r.flags|=a;let f=this.viewState.scrollTarget;try{this.updateState=2;for(let u of e){if(f&&(f=f.map(u.changes)),u.scrollIntoView){let{main:O}=u.state.selection,{x:p,y:m}=this.state.facet(i.cursorScrollMargin);f=new Fn(O.empty?O:P.cursor(O.head,O.head>O.anchor?-1:1),"nearest","nearest",m,p)}for(let O of u.effects)O.is(Jr)&&(f=O.value.clip(this.state))}this.viewState.update(r,f),this.bidiCache=bs.update(this.bidiCache,r.changes),r.empty||(this.updatePlugins(r),this.inputState.update(r)),t=this.docView.update(r),this.state.facet(In)!=this.styleModules&&this.mountStyles(),n=this.updateAttrs(),this.showAnnouncements(e),this.docView.updateSelection(t,e.some(u=>u.isUserEvent("select.pointer")))}finally{this.updateState=0}if(r.startState.facet(rs)!=r.state.facet(rs)&&(this.viewState.mustMeasureContent=!0),(t||n||f||this.viewState.mustEnforceCursorAssoc||this.viewState.mustMeasureContent)&&this.requestMeasure(),t&&this.docViewUpdate(),!r.empty)for(let u of this.state.facet(pa))try{u(r)}catch(O){lt(this.state,O,"update listener")}(l||h)&&Promise.resolve().then(()=>{l&&this.state==l.startState&&this.dispatch(l),h&&!wu(this,h)&&c.force&&un(this.contentDOM,c.key,c.keyCode)})}setState(e){if(this.updateState!=0)throw new Error("Calls to EditorView.setState are not allowed while an update is in progress");if(this.destroyed){this.viewState.state=e;return}this.updateState=2;let t=this.hasFocus;try{for(let n of this.plugins)n.destroy(this);this.viewState=new Qs(this,e),this.plugins=e.facet(cn).map(n=>new Hn(n)),this.pluginMap.clear();for(let n of this.plugins)n.update(this);this.docView.destroy(),this.docView=new Os(this),this.inputState.ensureHandlers(this.plugins),this.mountStyles(),this.updateAttrs(),this.bidiCache=[]}finally{this.updateState=0}t&&this.focus(),this.requestMeasure()}updatePlugins(e){let t=e.startState.facet(cn),n=e.state.facet(cn);if(t!=n){let r=[];for(let s of n){let o=t.indexOf(s);if(o<0)r.push(new Hn(s));else{let a=this.plugins[o];a.mustUpdate=e,r.push(a)}}for(let s of this.plugins)s.mustUpdate!=e&&s.destroy(this);this.plugins=r,this.pluginMap.clear()}else for(let r of this.plugins)r.mustUpdate=e;for(let r=0;r-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.observer.delayedAndroidKey){this.measureScheduled=-1,this.requestMeasure();return}this.measureScheduled=0,e&&this.observer.forceFlush();let t=null,n=this.viewState.scrollParent,r=this.viewState.getScrollOffset(),{scrollAnchorPos:s,scrollAnchorHeight:o}=this.viewState;Math.abs(r-this.viewState.scrollOffset)>1&&(o=-1),this.viewState.scrollAnchorHeight=-1;try{for(let a=0;;a++){if(o<0)if(Kf(n||this.win))s=-1,o=this.viewState.heightMap.height;else{let O=this.viewState.scrollAnchorAt(r);s=O.from,o=O.top}this.updateState=1;let l=this.viewState.measure();if(!l&&!this.measureRequests.length&&this.viewState.scrollTarget==null)break;if(a>5){console.warn(this.measureRequests.length?"Measure loop restarted more than 5 times":"Viewport failed to stabilize");break}let c=[];l&4||([this.measureRequests,c]=[c,this.measureRequests]);let h=c.map(O=>{try{return O.read(this)}catch(p){return lt(this.state,p),Yf}}),f=fs.create(this,this.state,[]),u=!1;f.flags|=l,t?t.flags|=l:t=f,this.updateState=2,f.empty||(this.updatePlugins(f),this.inputState.update(f),this.updateAttrs(),u=this.docView.update(f),u&&this.docViewUpdate());for(let O=0;O1||p<-1)&&!(L.ios&&this.inputState.lastIOSMomentumScroll>Date.now()-100)&&(n==this.scrollDOM||this.hasFocus||Math.max(this.inputState.lastWheelEvent,this.inputState.lastTouchTime)>Date.now()-100)){r=r+p,n?n.scrollTop+=p:this.win.scrollBy(0,p),o=-1;continue}}break}}}finally{this.updateState=0,this.measureScheduled=-1}if(t&&!t.empty)for(let a of this.state.facet(pa))a(t)}get themeClasses(){return Ma+" "+(this.state.facet(La)?Eu:Zu)+" "+this.state.facet(rs)}updateAttrs(){let e=If(this,pu,{class:"cm-editor"+(this.hasFocus?" cm-focused ":" ")+this.themeClasses}),t={spellcheck:"false",autocorrect:"off",autocapitalize:"off",writingsuggestions:"false",translate:"no",contenteditable:this.state.facet(Mt)?"true":"false",class:"cm-content",style:`${L.tabSize}: ${this.state.tabSize}`,role:"textbox","aria-multiline":"true"};this.state.readOnly&&(t["aria-readonly"]="true"),If(this,Na,t);let n=this.observer.ignore(()=>{let r=xf(this.contentDOM,this.contentAttrs,t),s=xf(this.dom,this.editorAttrs,e);return r||s});return this.editorAttrs=e,this.contentAttrs=t,n}showAnnouncements(e){let t=!0;for(let n of e)for(let r of n.effects)if(r.is(i.announce)){t&&(this.announceDOM.textContent=""),t=!1;let s=this.announceDOM.appendChild(document.createElement("div"));s.textContent=r.value}}mountStyles(){this.styleModules=this.state.facet(In);let e=this.state.facet(i.cspNonce);rt.mount(this.root,this.styleModules.concat(RQ).reverse(),e?{nonce:e}:void 0)}readMeasured(){if(this.updateState==2)throw new Error("Reading the editor layout isn't allowed during an update");this.updateState==0&&this.measureScheduled>-1&&this.measure(!1)}requestMeasure(e){if(this.measureScheduled<0&&(this.measureScheduled=this.win.requestAnimationFrame(()=>this.measure())),e){if(this.measureRequests.indexOf(e)>-1)return;if(e.key!=null){for(let t=0;tn.plugin==e)||null),t&&t.update(this).value}get documentTop(){return this.contentDOM.getBoundingClientRect().top+this.viewState.paddingTop}get documentPadding(){return{top:this.viewState.paddingTop,bottom:this.viewState.paddingBottom}}get scaleX(){return this.viewState.scaleX}get scaleY(){return this.viewState.scaleY}elementAtHeight(e){return this.readMeasured(),this.viewState.elementAtHeight(e)}lineBlockAtHeight(e){return this.readMeasured(),this.viewState.lineBlockAtHeight(e)}get viewportLineBlocks(){return this.viewState.viewportLines}lineBlockAt(e){return this.viewState.lineBlockAt(e)}get contentHeight(){return this.viewState.contentHeight}moveByChar(e,t,n){return ra(this,e,Cf(this,e,t,n))}moveByGroup(e,t){return ra(this,e,Cf(this,e,t,n=>iQ(this,e.head,n)))}visualLineSide(e,t){let n=this.bidiSpans(e),r=this.textDirectionAt(e.from),s=n[t?n.length-1:0];return P.cursor(s.side(t,r)+e.from,s.forward(!t,r)?1:-1)}moveToLineBoundary(e,t,n=!0){return tQ(this,e,t,n)}moveVertically(e,t,n){return ra(this,e,nQ(this,e,t,n))}domAtPos(e,t=1){return this.docView.domAtPos(e,t)}posAtDOM(e,t=0){return this.docView.posFromDOM(e,t)}posAtCoords(e,t=!0){this.readMeasured();let n=wa(this,e,t);return n&&n.pos}posAndSideAtCoords(e,t=!0){return this.readMeasured(),wa(this,e,t)}coordsAtPos(e,t=1){this.readMeasured();let n=this.state.doc.lineAt(e),r=this.bidiSpans(n),s=r[at.find(r,e-n.from,-1,t)];return this.docView.coordsAt(e,t,s.dir==ue.RTL)}coordsForChar(e){return this.readMeasured(),this.docView.coordsForChar(e)}get defaultCharacterWidth(){return this.viewState.heightOracle.charWidth}get defaultLineHeight(){return this.viewState.heightOracle.lineHeight}get textDirection(){return this.viewState.defaultTextDirection}textDirectionAt(e){return!this.state.facet(uu)||ethis.viewport.to?this.textDirection:(this.readMeasured(),this.docView.textDirectionAt(e))}get lineWrapping(){return this.viewState.heightOracle.lineWrapping}bidiSpans(e){if(e.length>EQ)return ru(e.length);let t=this.textDirectionAt(e.from),n;for(let s of this.bidiCache)if(s.from==e.from&&s.dir==t&&(s.fresh||nu(s.isolates,n=vf(this,e))))return s.order;n||(n=vf(this,e));let r=A0(e.text,t,n);return this.bidiCache.push(new bs(e.from,e.to,t,n,!0,r)),r}get hasFocus(){var e;return(this.dom.ownerDocument.hasFocus()||L.safari&&((e=this.inputState)===null||e===void 0?void 0:e.lastContextMenu)>Date.now()-3e4)&&this.root.activeElement==this.contentDOM}focus(){this.observer.ignore(()=>{Hf(this.contentDOM),this.docView.updateSelection()})}setRoot(e){this._root!=e&&(this._root=e,this.observer.setWindow((e.nodeType==9?e:e.ownerDocument).defaultView||window),this.mountStyles())}destroy(){this.root.activeElement==this.contentDOM&&this.contentDOM.blur();for(let e of this.plugins)e.destroy(this);this.plugins=[],this.inputState.destroy(),this.docView.destroy(),this.dom.remove(),this.observer.destroy(),this.measureScheduled>-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.destroyed=!0}static scrollIntoView(e,t={}){var n,r,s,o;return Jr.of(new Fn(typeof e=="number"?P.cursor(e):e,(n=t.y)!==null&&n!==void 0?n:"nearest",(r=t.x)!==null&&r!==void 0?r:"nearest",(s=t.yMargin)!==null&&s!==void 0?s:5,(o=t.xMargin)!==null&&o!==void 0?o:5))}scrollSnapshot(){let{scrollTop:e,scrollLeft:t}=this.scrollDOM,n=this.viewState.scrollAnchorAt(e);return Jr.of(new Fn(P.cursor(n.from),"start","start",n.top-e,t,!0))}setTabFocusMode(e){e==null?this.inputState.tabFocusMode=this.inputState.tabFocusMode<0?0:-1:typeof e=="boolean"?this.inputState.tabFocusMode=e?0:-1:this.inputState.tabFocusMode!=0&&(this.inputState.tabFocusMode=Date.now()+e)}static domEventHandlers(e){return Ve.define(()=>({}),{eventHandlers:e})}static domEventObservers(e){return Ve.define(()=>({}),{eventObservers:e})}static theme(e,t){let n=rt.newName(),r=[rs.of(n),In.of(Wa(`.${n}`,e))];return t&&t.dark&&r.push(La.of(!0)),r}static baseTheme(e){return nt.lowest(In.of(Wa("."+Ma,e,qu)))}static findFromDOM(e){var t;let n=e.querySelector(".cm-content"),r=n&&fe.get(n)||fe.get(e);return((t=r?.root)===null||t===void 0?void 0:t.view)||null}};z.styleModule=In;z.inputHandler=hu;z.clipboardInputFilter=Ua;z.clipboardOutputFilter=Ga;z.scrollHandler=Ou;z.focusChangeEffect=fu;z.perLineTextDirection=uu;z.exceptionSink=cu;z.updateListener=pa;z.editable=Mt;z.mouseSelectionStyle=lu;z.dragMovesSelection=au;z.clickAddsSelectionRange=ou;z.decorations=ys;z.blockWrappers=mu;z.outerDecorations=Fa;z.atomicRanges=sr;z.bidiIsolatedRanges=gu;z.cursorScrollMargin=Y.define({combine:i=>{let e=5,t=5;for(let n of i)typeof n=="number"?e=t=n:{x:e,y:t}=n;return{x:e,y:t}}});z.scrollMargins=Qu;z.darkTheme=La;z.cspNonce=Y.define({combine:i=>i.length?i[0]:""});z.contentAttributes=Na;z.editorAttributes=pu;z.lineWrapping=z.contentAttributes.of({class:"cm-lineWrapping"});z.announce=te.define();var EQ=4096,Yf={},bs=class i{constructor(e,t,n,r,s,o){this.from=e,this.to=t,this.dir=n,this.isolates=r,this.fresh=s,this.order=o}static update(e,t){if(t.empty&&!e.some(s=>s.fresh))return e;let n=[],r=e.length?e[e.length-1].dir:ue.LTR;for(let s=Math.max(0,e.length-10);s=0;r--){let s=n[r],o=typeof s=="function"?s(i):s;o&&Ya(o,t)}return t}var qQ=L.mac?"mac":L.windows?"win":L.linux?"linux":"key";function zQ(i,e){let t=i.split(/-(?!$)/),n=t[t.length-1];n=="Space"&&(n=" ");let r,s,o,a;for(let l=0;ln.concat(r),[]))),t}var oi=null,WQ=4e3;function jQ(i,e=qQ){let t=Object.create(null),n=Object.create(null),r=(o,a)=>{let l=n[o];if(l==null)n[o]=a;else if(l!=a)throw new Error("Key binding "+o+" is used both as a regular binding and as a multi-stroke prefix")},s=(o,a,l,c,h)=>{var f,u;let O=t[o]||(t[o]=Object.create(null)),p=a.split(/ (?!$)/).map(g=>zQ(g,e));for(let g=1;g{let x=oi={view:S,prefix:Q,scope:o};return setTimeout(()=>{oi==x&&(oi=null)},WQ),!0}]})}let m=p.join(" ");r(m,!1);let b=O[m]||(O[m]={preventDefault:!1,stopPropagation:!1,run:((u=(f=O._any)===null||f===void 0?void 0:f.run)===null||u===void 0?void 0:u.slice())||[]});l&&b.run.push(l),c&&(b.preventDefault=!0),h&&(b.stopPropagation=!0)};for(let o of i){let a=o.scope?o.scope.split(" "):["editor"];if(o.any)for(let c of a){let h=t[c]||(t[c]=Object.create(null));h._any||(h._any={preventDefault:!1,stopPropagation:!1,run:[]});let{any:f}=o;for(let u in h)h[u].run.push(O=>f(O,Da))}let l=o[e]||o.key;if(l)for(let c of a)s(c,l,o.run,o.preventDefault,o.stopPropagation),o.shift&&s(c,"Shift-"+l,o.shift,o.preventDefault,o.stopPropagation)}return t}var Da=null;function VQ(i,e,t,n){Da=e;let r=bf(e),s=si(r,0),o=on(s)==r.length&&r!=" ",a="",l=!1,c=!1,h=!1;oi&&oi.view==t&&oi.scope==n&&(a=oi.prefix+" ",$u.indexOf(e.keyCode)<0&&(c=!0,oi=null));let f=new Set,u=b=>{if(b){for(let g of b.run)if(!f.has(g)&&(f.add(g),g(t)))return b.stopPropagation&&(h=!0),!0;b.preventDefault&&(b.stopPropagation&&(h=!0),c=!0)}return!1},O=i[n],p,m;return O&&(u(O[a+ss(r,e,!o)])?l=!0:o&&(e.altKey||e.metaKey||e.ctrlKey)&&!(L.windows&&e.ctrlKey&&e.altKey)&&!(L.mac&&e.altKey&&!(e.ctrlKey||e.metaKey))&&(p=Lt[e.keyCode])&&p!=r?(u(O[a+ss(p,e,!0)])||e.shiftKey&&(m=an[e.keyCode])!=r&&m!=p&&u(O[a+ss(m,e,!1)]))&&(l=!0):o&&e.shiftKey&&u(O[a+ss(r,e,!0)])&&(l=!0),!l&&u(O._any)&&(l=!0)),c&&(l=!0),l&&h&&e.stopPropagation(),Da=null,l}var zu=te.define({map(i,e){return i==null?null:e.mapPos(i)}}),Un=he.define({create(){return null},update(i,e){return i!=null&&(i=e.changes.mapPos(i)),e.effects.reduce((t,n)=>n.is(zu)?n.value:t,i)}}),DQ=Ve.fromClass(class{constructor(i){this.view=i,this.cursor=null,this.measureReq={read:this.readPos.bind(this),write:this.drawCursor.bind(this)}}update(i){var e;let t=i.state.field(Un);t==null?this.cursor!=null&&((e=this.cursor)===null||e===void 0||e.remove(),this.cursor=null):(this.cursor||(this.cursor=this.view.scrollDOM.appendChild(document.createElement("div")),this.cursor.className="cm-dropCursor"),(i.startState.field(Un)!=t||i.docChanged||i.geometryChanged)&&this.view.requestMeasure(this.measureReq))}readPos(){let{view:i}=this,e=i.state.field(Un),t=e!=null&&i.coordsAtPos(e);if(!t)return null;let n=i.scrollDOM.getBoundingClientRect();return{left:t.left-n.left+i.scrollDOM.scrollLeft*i.scaleX,top:t.top-n.top+i.scrollDOM.scrollTop*i.scaleY,height:t.bottom-t.top}}drawCursor(i){if(this.cursor){let{scaleX:e,scaleY:t}=this.view;i?(this.cursor.style.left=i.left/e+"px",this.cursor.style.top=i.top/t+"px",this.cursor.style.height=i.height/t+"px"):this.cursor.style.left="-100000px"}}destroy(){this.cursor&&this.cursor.remove()}setDropPos(i){this.view.state.field(Un)!=i&&this.view.dispatch({effects:zu.of(i)})}},{eventObservers:{dragover(i){this.setDropPos(this.view.posAtCoords({x:i.clientX,y:i.clientY}))},dragleave(i){(i.target==this.view.contentDOM||!this.view.contentDOM.contains(i.relatedTarget))&&this.setDropPos(null)},dragend(){this.setDropPos(null)},drop(){this.setDropPos(null)}}});function Lu(){return[Un,DQ]}var o$=/x/.unicode!=null?"gu":"g";var Vt=class extends it{compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}eq(e){return!1}destroy(e){}};Vt.prototype.elementClass="";Vt.prototype.toDOM=void 0;Vt.prototype.mapMode=ge.TrackBefore;Vt.prototype.startSide=Vt.prototype.endSide=-1;Vt.prototype.point=!0;var YQ=0,De=class{constructor(e,t){this.from=e,this.to=t}},I=class{constructor(e={}){this.id=YQ++,this.perNode=!!e.perNode,this.deserialize=e.deserialize||(()=>{throw new Error("This node type doesn't define a deserialize function")}),this.combine=e.combine||null}add(e){if(this.perNode)throw new RangeError("Can't add per-node props to node types");return typeof e!="function"&&(e=Oe.match(e)),t=>{let n=e(t);return n===void 0?null:[this,n]}}};I.closedBy=new I({deserialize:i=>i.split(" ")});I.openedBy=new I({deserialize:i=>i.split(" ")});I.group=new I({deserialize:i=>i.split(" ")});I.isolate=new I({deserialize:i=>{if(i&&i!="rtl"&&i!="ltr"&&i!="auto")throw new RangeError("Invalid value for isolate: "+i);return i||"auto"}});I.contextHash=new I({perNode:!0});I.lookAhead=new I({perNode:!0});I.mounted=new I({perNode:!0});var ui=class{constructor(e,t,n,r=!1){this.tree=e,this.overlay=t,this.parser=n,this.bracketed=r}static get(e){return e&&e.props&&e.props[I.mounted.id]}},IQ=Object.create(null),Oe=class i{constructor(e,t,n,r=0){this.name=e,this.props=t,this.id=n,this.flags=r}static define(e){let t=e.props&&e.props.length?Object.create(null):IQ,n=(e.top?1:0)|(e.skipped?2:0)|(e.error?4:0)|(e.name==null?8:0),r=new i(e.name||"",t,e.id,n);if(e.props){for(let s of e.props)if(Array.isArray(s)||(s=s(r)),s){if(s[0].perNode)throw new RangeError("Can't store a per-node prop on a node type");t[s[0].id]=s[1]}}return r}prop(e){return this.props[e.id]}get isTop(){return(this.flags&1)>0}get isSkipped(){return(this.flags&2)>0}get isError(){return(this.flags&4)>0}get isAnonymous(){return(this.flags&8)>0}is(e){if(typeof e=="string"){if(this.name==e)return!0;let t=this.prop(I.group);return t?t.indexOf(e)>-1:!1}return this.id==e}static match(e){let t=Object.create(null);for(let n in e)for(let r of n.split(" "))t[r]=e[n];return n=>{for(let r=n.prop(I.group),s=-1;s<(r?r.length:0);s++){let o=t[s<0?n.name:r[s]];if(o)return o}}}};Oe.none=new Oe("",Object.create(null),0,8);var Dt=class i{constructor(e){this.types=e;for(let t=0;t0;for(let l=this.cursor(o|ee.IncludeAnonymous);;){let c=!1;if(l.from<=s&&l.to>=r&&(!a&&l.type.isAnonymous||t(l)!==!1)){if(l.firstChild())continue;c=!0}for(;c&&n&&(a||!l.type.isAnonymous)&&n(l),!l.nextSibling();){if(!l.parent())return;c=!0}}}prop(e){return e.perNode?this.props?this.props[e.id]:void 0:this.type.prop(e)}get propValues(){let e=[];if(this.props)for(let t in this.props)e.push([+t,this.props[t]]);return e}balance(e={}){return this.children.length<=8?this:ll(Oe.none,this.children,this.positions,0,this.children.length,0,this.length,(t,n,r)=>new i(this.type,t,n,r,this.propValues),e.makeTree||((t,n,r)=>new i(Oe.none,t,n,r)))}static build(e){return UQ(e)}};F.empty=new F(Oe.none,[],[],0);var Ka=class i{constructor(e,t){this.buffer=e,this.index=t}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}get pos(){return this.index}next(){this.index-=4}fork(){return new i(this.buffer,this.index)}},Oi=class i{constructor(e,t,n){this.buffer=e,this.length=t,this.set=n}get type(){return Oe.none}toString(){let e=[];for(let t=0;t0));l=o[l+3]);return a}slice(e,t,n){let r=this.buffer,s=new Uint16Array(t-e),o=0;for(let a=e,l=0;a=e&&te;case 1:return t<=e&&n>e;case 2:return n>e;case 4:return!0}}function or(i,e,t,n){for(var r;i.from==i.to||(t<1?i.from>=e:i.from>e)||(t>-1?i.to<=e:i.to0?a.length:-1;e!=c;e+=t){let h=a[e],f=l[e]+o.from,u;if(!(!(s&ee.EnterBracketed&&h instanceof F&&(u=ui.get(h))&&!u.overlay&&u.bracketed&&n>=f&&n<=f+h.length)&&!Bu(r,n,f,f+h.length))){if(h instanceof Oi){if(s&ee.ExcludeBuffers)continue;let O=h.findChild(0,h.buffer.length,t,n-f,r);if(O>-1)return new zi(new el(o,h,e,f),null,O)}else if(s&ee.IncludeAnonymous||!h.type.isAnonymous||al(h)){let O;if(!(s&ee.IgnoreMounts)&&(O=ui.get(h))&&!O.overlay)return new i(O.tree,f,e,o);let p=new i(h,f,e,o);return s&ee.IncludeAnonymous||!p.type.isAnonymous?p:p.nextChild(t<0?h.children.length-1:0,t,n,r,s)}}}if(s&ee.IncludeAnonymous||!o.type.isAnonymous||(o.index>=0?e=o.index+t:e=t<0?-1:o._parent._tree.children.length,o=o._parent,!o))return null}}get firstChild(){return this.nextChild(0,1,0,4)}get lastChild(){return this.nextChild(this._tree.children.length-1,-1,0,4)}childAfter(e){return this.nextChild(0,1,e,2)}childBefore(e){return this.nextChild(this._tree.children.length-1,-1,e,-2)}prop(e){return this._tree.prop(e)}enter(e,t,n=0){let r;if(!(n&ee.IgnoreOverlays)&&(r=ui.get(this._tree))&&r.overlay){let s=e-this.from,o=n&ee.EnterBracketed&&r.bracketed;for(let{from:a,to:l}of r.overlay)if((t>0||o?a<=s:a=s:l>s))return new i(r.tree,r.overlay[0].from+this.from,-1,this)}return this.nextChild(0,1,e,t,n)}nextSignificantParent(){let e=this;for(;e.type.isAnonymous&&e._parent;)e=e._parent;return e}get parent(){return this._parent?this._parent.nextSignificantParent():null}get nextSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index+1,1,0,4):null}get prevSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index-1,-1,0,4):null}get tree(){return this._tree}toTree(){return this._tree}toString(){return this._tree.toString()}};function Wu(i,e,t,n){let r=i.cursor(),s=[];if(!r.firstChild())return s;if(t!=null){for(let o=!1;!o;)if(o=r.type.is(t),!r.nextSibling())return s}for(;;){if(n!=null&&r.type.is(n))return s;if(r.type.is(e)&&s.push(r.node),!r.nextSibling())return n==null?s:[]}}function Ja(i,e,t=e.length-1){for(let n=i;t>=0;n=n.parent){if(!n)return!1;if(!n.type.isAnonymous){if(e[t]&&e[t]!=n.name)return!1;t--}}return!0}var el=class{constructor(e,t,n,r){this.parent=e,this.buffer=t,this.index=n,this.start=r}},zi=class i extends Ps{get name(){return this.type.name}get from(){return this.context.start+this.context.buffer.buffer[this.index+1]}get to(){return this.context.start+this.context.buffer.buffer[this.index+2]}constructor(e,t,n){super(),this.context=e,this._parent=t,this.index=n,this.type=e.buffer.set.types[e.buffer.buffer[n]]}child(e,t,n){let{buffer:r}=this.context,s=r.findChild(this.index+4,r.buffer[this.index+3],e,t-this.context.start,n);return s<0?null:new i(this.context,this,s)}get firstChild(){return this.child(1,0,4)}get lastChild(){return this.child(-1,0,4)}childAfter(e){return this.child(1,e,2)}childBefore(e){return this.child(-1,e,-2)}prop(e){return this.type.prop(e)}enter(e,t,n=0){if(n&ee.ExcludeBuffers)return null;let{buffer:r}=this.context,s=r.findChild(this.index+4,r.buffer[this.index+3],t>0?1:-1,e-this.context.start,t);return s<0?null:new i(this.context,this,s)}get parent(){return this._parent||this.context.parent.nextSignificantParent()}externalSibling(e){return this._parent?null:this.context.parent.nextChild(this.context.index+e,e,0,4)}get nextSibling(){let{buffer:e}=this.context,t=e.buffer[this.index+3];return t<(this._parent?e.buffer[this._parent.index+3]:e.buffer.length)?new i(this.context,this._parent,t):this.externalSibling(1)}get prevSibling(){let{buffer:e}=this.context,t=this._parent?this._parent.index+4:0;return this.index==t?this.externalSibling(-1):new i(this.context,this._parent,e.findChild(t,this.index,-1,0,4))}get tree(){return null}toTree(){let e=[],t=[],{buffer:n}=this.context,r=this.index+4,s=n.buffer[this.index+3];if(s>r){let o=n.buffer[this.index+1];e.push(n.slice(r,s,o)),t.push(0)}return new F(this.type,e,t,this.to-this.from)}toString(){return this.context.buffer.childString(this.index)}};function Uu(i){if(!i.length)return null;let e=0,t=i[0];for(let s=1;st.from||o.to=e){let a=new Ye(o.tree,o.overlay[0].from+s.from,-1,s);(r||(r=[n])).push(or(a,e,t,!1))}}return r?Uu(r):n}var Qn=class{get name(){return this.type.name}constructor(e,t=0){if(this.buffer=null,this.stack=[],this.index=0,this.bufferNode=null,this.mode=t&~ee.EnterBracketed,e instanceof Ye)this.yieldNode(e);else{this._tree=e.context.parent,this.buffer=e.context;for(let n=e._parent;n;n=n._parent)this.stack.unshift(n.index);this.bufferNode=e,this.yieldBuf(e.index)}}yieldNode(e){return e?(this._tree=e,this.type=e.type,this.from=e.from,this.to=e.to,!0):!1}yieldBuf(e,t){this.index=e;let{start:n,buffer:r}=this.buffer;return this.type=t||r.set.types[r.buffer[e]],this.from=n+r.buffer[e+1],this.to=n+r.buffer[e+2],!0}yield(e){return e?e instanceof Ye?(this.buffer=null,this.yieldNode(e)):(this.buffer=e.context,this.yieldBuf(e.index,e.type)):!1}toString(){return this.buffer?this.buffer.buffer.childString(this.index):this._tree.toString()}enterChild(e,t,n){if(!this.buffer)return this.yield(this._tree.nextChild(e<0?this._tree._tree.children.length-1:0,e,t,n,this.mode));let{buffer:r}=this.buffer,s=r.findChild(this.index+4,r.buffer[this.index+3],e,t-this.buffer.start,n);return s<0?!1:(this.stack.push(this.index),this.yieldBuf(s))}firstChild(){return this.enterChild(1,0,4)}lastChild(){return this.enterChild(-1,0,4)}childAfter(e){return this.enterChild(1,e,2)}childBefore(e){return this.enterChild(-1,e,-2)}enter(e,t,n=this.mode){return this.buffer?n&ee.ExcludeBuffers?!1:this.enterChild(1,e,t):this.yield(this._tree.enter(e,t,n))}parent(){if(!this.buffer)return this.yieldNode(this.mode&ee.IncludeAnonymous?this._tree._parent:this._tree.parent);if(this.stack.length)return this.yieldBuf(this.stack.pop());let e=this.mode&ee.IncludeAnonymous?this.buffer.parent:this.buffer.parent.nextSignificantParent();return this.buffer=null,this.yieldNode(e)}sibling(e){if(!this.buffer)return this._tree._parent?this.yield(this._tree.index<0?null:this._tree._parent.nextChild(this._tree.index+e,e,0,4,this.mode)):!1;let{buffer:t}=this.buffer,n=this.stack.length-1;if(e<0){let r=n<0?0:this.stack[n]+4;if(this.index!=r)return this.yieldBuf(t.findChild(r,this.index,-1,0,4))}else{let r=t.buffer[this.index+3];if(r<(n<0?t.buffer.length:t.buffer[this.stack[n]+3]))return this.yieldBuf(r)}return n<0?this.yield(this.buffer.parent.nextChild(this.buffer.index+e,e,0,4,this.mode)):!1}nextSibling(){return this.sibling(1)}prevSibling(){return this.sibling(-1)}atLastNode(e){let t,n,{buffer:r}=this;if(r){if(e>0){if(this.index-1)for(let s=t+e,o=e<0?-1:n._tree.children.length;s!=o;s+=e){let a=n._tree.children[s];if(this.mode&ee.IncludeAnonymous||a instanceof Oi||!a.type.isAnonymous||al(a))return!1}return!0}move(e,t){if(t&&this.enterChild(e,0,4))return!0;for(;;){if(this.sibling(e))return!0;if(this.atLastNode(e)||!this.parent())return!1}}next(e=!0){return this.move(1,e)}prev(e=!0){return this.move(-1,e)}moveTo(e,t=0){for(;(this.from==this.to||(t<1?this.from>=e:this.from>e)||(t>-1?this.to<=e:this.to=0;){for(let o=e;o;o=o._parent)if(o.index==r){if(r==this.index)return o;t=o,n=s+1;break e}r=this.stack[--s]}for(let r=n;r=0;s--){if(s<0)return Ja(this._tree,e,r);let o=n[t.buffer[this.stack[s]]];if(!o.isAnonymous){if(e[r]&&e[r]!=o.name)return!1;r--}}return!0}};function al(i){return i.children.some(e=>e instanceof Oi||!e.type.isAnonymous||al(e))}function UQ(i){var e;let{buffer:t,nodeSet:n,maxBufferLength:r=1024,reused:s=[],minRepeatType:o=n.types.length}=i,a=Array.isArray(t)?new Ka(t,t.length):t,l=n.types,c=0,h=0;function f(v,$,R,_,W,T){let{id:k,start:w,end:C,size:j}=a,y=h,q=c;if(j<0)if(a.next(),j==-1){let H=s[k];R.push(H),_.push(w-v);return}else if(j==-3){c=k;return}else if(j==-4){h=k;return}else throw new RangeError(`Unrecognized record size: ${j}`);let de=l[k],Zt,X,G=w-v;if(C-w<=r&&(X=b(a.pos-$,W))){let H=new Uint16Array(X.size-X.skip),B=a.pos-X.size,re=H.length;for(;a.pos>B;)re=g(X.start,H,re);Zt=new Oi(H,C-X.start,n),G=X.start-v}else{let H=a.pos-j;a.next();let B=[],re=[],ne=k>=o?k:-1,ye=0,Et=C;for(;a.pos>H;)ne>=0&&a.id==ne&&a.size>=0?(a.end<=Et-r&&(p(B,re,w,ye,a.end,Et,ne,y,q),ye=B.length,Et=a.end),a.next()):T>2500?u(w,H,B,re):f(w,H,B,re,ne,T+1);if(ne>=0&&ye>0&&ye-1&&ye>0){let ni=O(de,q);Zt=ll(de,B,re,0,B.length,0,C-w,ni,ni)}else Zt=m(de,B,re,C-w,y-C,q)}R.push(Zt),_.push(G)}function u(v,$,R,_){let W=[],T=0,k=-1;for(;a.pos>$;){let{id:w,start:C,end:j,size:y}=a;if(y>4)a.next();else{if(k>-1&&C=0;j-=3)w[y++]=W[j],w[y++]=W[j+1]-C,w[y++]=W[j+2]-C,w[y++]=y;R.push(new Oi(w,W[2]-C,n)),_.push(C-v)}}function O(v,$){return(R,_,W)=>{let T=0,k=R.length-1,w,C;if(k>=0&&(w=R[k])instanceof F){if(!k&&w.type==v&&w.length==W)return w;(C=w.prop(I.lookAhead))&&(T=_[k]+w.length+C)}return m(v,R,_,W,T,$)}}function p(v,$,R,_,W,T,k,w,C){let j=[],y=[];for(;v.length>_;)j.push(v.pop()),y.push($.pop()+R-W);v.push(m(n.types[k],j,y,T-W,w-T,C)),$.push(W-R)}function m(v,$,R,_,W,T,k){if(T){let w=[I.contextHash,T];k=k?[w].concat(k):[w]}if(W>25){let w=[I.lookAhead,W];k=k?[w].concat(k):[w]}return new F(v,$,R,_,k)}function b(v,$){let R=a.fork(),_=0,W=0,T=0,k=R.end-r,w={size:0,start:0,skip:0};e:for(let C=R.pos-v;R.pos>C;){let j=R.size;if(R.id==$&&j>=0){w.size=_,w.start=W,w.skip=T,T+=4,_+=4,R.next();continue}let y=R.pos-j;if(j<0||y=o?4:0,de=R.start;for(R.next();R.pos>y;){if(R.size<0)if(R.size==-3||R.size==-4)q+=4;else break e;else R.id>=o&&(q+=4);R.next()}W=de,_+=j,T+=q}return($<0||_==v)&&(w.size=_,w.start=W,w.skip=T),w.size>4?w:void 0}function g(v,$,R){let{id:_,start:W,end:T,size:k}=a;if(a.next(),k>=0&&_4){let C=a.pos-(k-4);for(;a.pos>C;)R=g(v,$,R)}$[--R]=w,$[--R]=T-v,$[--R]=W-v,$[--R]=_}else k==-3?c=_:k==-4&&(h=_);return R}let Q=[],S=[];for(;a.pos>0;)f(i.start||0,i.bufferStart||0,Q,S,-1,0);let x=(e=i.length)!==null&&e!==void 0?e:Q.length?S[0]+Q[0].length:0;return new F(l[i.topID],Q.reverse(),S.reverse(),x)}var ju=new WeakMap;function ws(i,e){if(!i.isAnonymous||e instanceof Oi||e.type!=i)return 1;let t=ju.get(e);if(t==null){t=1;for(let n of e.children){if(n.type!=i||!(n instanceof F)){t=1;break}t+=ws(i,n)}ju.set(e,t)}return t}function ll(i,e,t,n,r,s,o,a,l){let c=0;for(let p=n;p=h)break;$+=R}if(S==x+1){if($>h){let R=p[x];O(R.children,R.positions,0,R.children.length,m[x]+Q);continue}f.push(p[x])}else{let R=m[S-1]+p[S-1].length-v;f.push(ll(i,p,m,x,S,v,R,null,l))}u.push(v+Q-s)}}return O(e,t,n,r,0),(a||l)(f,u,o)}var di=class{constructor(){this.map=new WeakMap}setBuffer(e,t,n){let r=this.map.get(e);r||this.map.set(e,r=new Map),r.set(t,n)}getBuffer(e,t){let n=this.map.get(e);return n&&n.get(t)}set(e,t){e instanceof zi?this.setBuffer(e.context.buffer,e.index,t):e instanceof Ye&&this.map.set(e.tree,t)}get(e){return e instanceof zi?this.getBuffer(e.context.buffer,e.index):e instanceof Ye?this.map.get(e.tree):void 0}cursorSet(e,t){e.buffer?this.setBuffer(e.buffer.buffer,e.index,t):this.map.set(e.tree,t)}cursorGet(e){return e.buffer?this.getBuffer(e.buffer.buffer,e.index):this.map.get(e.tree)}},Yt=class i{constructor(e,t,n,r,s=!1,o=!1){this.from=e,this.to=t,this.tree=n,this.offset=r,this.open=(s?1:0)|(o?2:0)}get openStart(){return(this.open&1)>0}get openEnd(){return(this.open&2)>0}static addTree(e,t=[],n=!1){let r=[new i(0,e.length,e,0,!1,n)];for(let s of t)s.to>e.length&&r.push(s);return r}static applyChanges(e,t,n=128){if(!t.length)return e;let r=[],s=1,o=e.length?e[0]:null;for(let a=0,l=0,c=0;;a++){let h=a=n)for(;o&&o.from=u.from||f<=u.to||c){let O=Math.max(u.from,l)-c,p=Math.min(u.to,f)-c;u=O>=p?null:new i(O,p,u.tree,u.offset+c,a>0,!!h)}if(u&&r.push(u),o.to>f)break;o=snew De(r.from,r.to)):[new De(0,0)]:[new De(0,e.length)],this.createParse(e,t||[],n)}parse(e,t,n){let r=this.startParse(e,t,n);for(;;){let s=r.advance();if(s)return s}}},il=class{constructor(e){this.string=e}get length(){return this.string.length}chunk(e){return this.string.slice(e)}get lineChunks(){return!1}read(e,t){return this.string.slice(e,t)}};function bn(i){return(e,t,n,r)=>new sl(e,i,t,n,r)}var vs=class{constructor(e,t,n,r,s,o){this.parser=e,this.parse=t,this.overlay=n,this.bracketed=r,this.target=s,this.from=o}};function Vu(i){if(!i.length||i.some(e=>e.from>=e.to))throw new RangeError("Invalid inner parse ranges given: "+JSON.stringify(i))}var nl=class{constructor(e,t,n,r,s,o,a,l){this.parser=e,this.predicate=t,this.mounts=n,this.index=r,this.start=s,this.bracketed=o,this.target=a,this.prev=l,this.depth=0,this.ranges=[]}},rl=new I({perNode:!0}),sl=class{constructor(e,t,n,r,s){this.nest=t,this.input=n,this.fragments=r,this.ranges=s,this.inner=[],this.innerDone=0,this.baseTree=null,this.stoppedAt=null,this.baseParse=e}advance(){if(this.baseParse){let n=this.baseParse.advance();if(!n)return null;if(this.baseParse=null,this.baseTree=n,this.startInner(),this.stoppedAt!=null)for(let r of this.inner)r.parse.stopAt(this.stoppedAt)}if(this.innerDone==this.inner.length){let n=this.baseTree;return this.stoppedAt!=null&&(n=new F(n.type,n.children,n.positions,n.length,n.propValues.concat([[rl,this.stoppedAt]]))),n}let e=this.inner[this.innerDone],t=e.parse.advance();if(t){this.innerDone++;let n=Object.assign(Object.create(null),e.target.props);n[I.mounted.id]=new ui(t,e.overlay,e.parser,e.bracketed),e.target.props=n}return null}get parsedPos(){if(this.baseParse)return 0;let e=this.input.length;for(let t=this.innerDone;t=this.stoppedAt)a=!1;else if(e.hasNode(r)){if(t){let c=t.mounts.find(h=>h.frag.from<=r.from&&h.frag.to>=r.to&&h.mount.overlay);if(c)for(let h of c.mount.overlay){let f=h.from+c.pos,u=h.to+c.pos;f>=r.from&&u<=r.to&&!t.ranges.some(O=>O.fromf)&&t.ranges.push({from:f,to:u})}}a=!1}else if(n&&(o=GQ(n.ranges,r.from,r.to)))a=o!=2;else if(!r.type.isAnonymous&&(s=this.nest(r,this.input))&&(r.fromnew De(f.from-r.from,f.to-r.from)):null,!!s.bracketed,r.tree,h.length?h[0].from:r.from)),s.overlay?h.length&&(n={ranges:h,depth:0,prev:n}):a=!1}}else if(t&&(l=t.predicate(r))&&(l===!0&&(l=new De(r.from,r.to)),l.from=0&&t.ranges[c].to==l.from?t.ranges[c]={from:t.ranges[c].from,to:l.to}:t.ranges.push(l)}if(a&&r.firstChild())t&&t.depth++,n&&n.depth++;else for(;!r.nextSibling();){if(!r.parent())break e;if(t&&!--t.depth){let c=Yu(this.ranges,t.ranges);c.length&&(Vu(c),this.inner.splice(t.index,0,new vs(t.parser,t.parser.startParse(this.input,Iu(t.mounts,c),c),t.ranges.map(h=>new De(h.from-t.start,h.to-t.start)),t.bracketed,t.target,c[0].from))),t=t.prev}n&&!--n.depth&&(n=n.prev)}}}};function GQ(i,e,t){for(let n of i){if(n.from>=t)break;if(n.to>e)return n.from<=e&&n.to>=t?2:1}return 0}function Du(i,e,t,n,r,s){if(e=e&&t.enter(n,1,ee.IgnoreOverlays|ee.ExcludeBuffers)))if(t.to<=e)t.next(!1)||(this.done=!0);else break}hasNode(e){if(this.moveTo(e.from),!this.done&&this.cursor.from+this.offset==e.from&&this.cursor.tree)for(let t=this.cursor.tree;;){if(t==e.tree)return!0;if(t.children.length&&t.positions[0]==0&&t.children[0]instanceof F)t=t.children[0];else break}return!1}},ol=class{constructor(e){var t;if(this.fragments=e,this.curTo=0,this.fragI=0,e.length){let n=this.curFrag=e[0];this.curTo=(t=n.tree.prop(rl))!==null&&t!==void 0?t:n.to,this.inner=new $s(n.tree,-n.offset)}else this.curFrag=this.inner=null}hasNode(e){for(;this.curFrag&&e.from>=this.curTo;)this.nextFrag();return this.curFrag&&this.curFrag.from<=e.from&&this.curTo>=e.to&&this.inner.hasNode(e)}nextFrag(){var e;if(this.fragI++,this.fragI==this.fragments.length)this.curFrag=this.inner=null;else{let t=this.curFrag=this.fragments[this.fragI];this.curTo=(e=t.tree.prop(rl))!==null&&e!==void 0?e:t.to,this.inner=new $s(t.tree,-t.offset)}}findMounts(e,t){var n;let r=[];if(this.inner){this.inner.cursor.moveTo(e,1);for(let s=this.inner.cursor.node;s;s=s.parent){let o=(n=s.tree)===null||n===void 0?void 0:n.prop(I.mounted);if(o&&o.parser==t)for(let a=this.fragI;a=s.to)break;l.tree==this.curFrag.tree&&r.push({frag:l,pos:s.from-l.offset,mount:o})}}}return r}};function Yu(i,e){let t=null,n=e;for(let r=1,s=0;r=a)break;l.to<=o||(t||(n=t=e.slice()),l.froma&&t.splice(s+1,0,new De(a,l.to))):l.to>a?t[s--]=new De(a,l.to):t.splice(s--,1))}}return n}function FQ(i,e,t,n){let r=0,s=0,o=!1,a=!1,l=-1e9,c=[];for(;;){let h=r==i.length?1e9:o?i[r].to:i[r].from,f=s==e.length?1e9:a?e[s].to:e[s].from;if(o!=a){let u=Math.max(l,t),O=Math.min(h,f,n);unew De(u.from+n,u.to+n)),f=FQ(e,h,l,c);for(let u=0,O=l;;u++){let p=u==f.length,m=p?c:f[u].from;if(m>O&&t.push(new Yt(O,m,r.tree,-o,s.from>=O||s.openStart,s.to<=m||s.openEnd)),p)break;O=f[u].to}}else t.push(new Yt(l,c,r.tree,-o,s.from>=o||s.openStart,s.to<=a||s.openEnd))}return t}var HQ=0,He=class i{constructor(e,t,n,r){this.name=e,this.set=t,this.base=n,this.modified=r,this.id=HQ++}toString(){let{name:e}=this;for(let t of this.modified)t.name&&(e=`${t.name}(${e})`);return e}static define(e,t){let n=typeof e=="string"?e:"?";if(e instanceof i&&(t=e),t?.base)throw new Error("Can not derive from a modified tag");let r=new i(n,[],null,[]);if(r.set.push(r),t)for(let s of t.set)r.set.push(s);return r}static defineModifier(e){let t=new _s(e);return n=>n.modified.indexOf(t)>-1?n:_s.get(n.base||n,n.modified.concat(t).sort((r,s)=>r.id-s.id))}},KQ=0,_s=class i{constructor(e){this.name=e,this.instances=[],this.id=KQ++}static get(e,t){if(!t.length)return e;let n=t[0].instances.find(a=>a.base==e&&JQ(t,a.modified));if(n)return n;let r=[],s=new He(e.name,r,e,t);for(let a of t)a.instances.push(s);let o=eb(t);for(let a of e.set)if(!a.modified.length)for(let l of o)r.push(i.get(a,l));return s}};function JQ(i,e){return i.length==e.length&&i.every((t,n)=>t==e[n])}function eb(i){let e=[[]];for(let t=0;tn.length-t.length)}function Qe(i){let e=Object.create(null);for(let t in i){let n=i[t];Array.isArray(n)||(n=[n]);for(let r of t.split(" "))if(r){let s=[],o=2,a=r;for(let f=0;;){if(a=="..."&&f>0&&f+3==r.length){o=1;break}let u=/^"(?:[^"\\]|\\.)*?"|[^\/!]+/.exec(a);if(!u)throw new RangeError("Invalid path: "+r);if(s.push(u[0]=="*"?"":u[0][0]=='"'?JSON.parse(u[0]):u[0]),f+=u[0].length,f==r.length)break;let O=r[f++];if(f==r.length&&O=="!"){o=0;break}if(O!="/")throw new RangeError("Invalid path: "+r);a=r.slice(f)}let l=s.length-1,c=s[l];if(!c)throw new RangeError("Invalid path: "+r);let h=new Mi(n,o,l>0?s.slice(0,l):null);e[c]=h.sort(e[c])}}return Fu.add(e)}var Fu=new I({combine(i,e){let t,n,r;for(;i||e;){if(!i||e&&i.depth>=e.depth?(r=e,e=e.next):(r=i,i=i.next),t&&t.mode==r.mode&&!r.context&&!t.context)continue;let s=new Mi(r.tags,r.mode,r.context);t?t.next=s:n=s,t=s}return n}}),Mi=class{constructor(e,t,n,r){this.tags=e,this.mode=t,this.context=n,this.next=r}get opaque(){return this.mode==0}get inherit(){return this.mode==1}sort(e){return!e||e.depth{let o=r;for(let a of s)for(let l of a.set){let c=t[l.id];if(c){o=o?o+" "+c:c;break}}return o},scope:n}}function tb(i,e){let t=null;for(let n of i){let r=n.style(e);r&&(t=t?t+" "+r:r)}return t}function Rs(i,e,t,n=0,r=i.length){let s=new hl(n,Array.isArray(e)?e:[e],t);s.highlightRange(i.cursor(),n,r,"",s.highlighters),s.flush(r)}var hl=class{constructor(e,t,n){this.at=e,this.highlighters=t,this.span=n,this.class=""}startSpan(e,t){t!=this.class&&(this.flush(e),e>this.at&&(this.at=e),this.class=t)}flush(e){e>this.at&&this.class&&this.span(this.at,e,this.class)}highlightRange(e,t,n,r,s){let{type:o,from:a,to:l}=e;if(a>=n||l<=t)return;o.isTop&&(s=this.highlighters.filter(O=>!O.scope||O.scope(o)));let c=r,h=ib(e)||Mi.empty,f=tb(s,h.tags);if(f&&(c&&(c+=" "),c+=f,h.mode==1&&(r+=(r?" ":"")+f)),this.startSpan(Math.max(t,a),c),h.opaque)return;let u=e.tree&&e.tree.prop(I.mounted);if(u&&u.overlay){let O=e.node.enter(u.overlay[0].from+a,1),p=this.highlighters.filter(b=>!b.scope||b.scope(u.tree.type)),m=e.firstChild();for(let b=0,g=a;;b++){let Q=b=S||!e.nextSibling())););if(!Q||S>n)break;g=Q.to+a,g>t&&(this.highlightRange(O.cursor(),Math.max(t,Q.from+a),Math.min(n,g),"",p),this.startSpan(Math.min(n,g),c))}m&&e.parent()}else if(e.firstChild()){u&&(r="");do if(!(e.to<=t)){if(e.from>=n)break;this.highlightRange(e,t,n,r,s),this.startSpan(Math.min(n,e.to),c)}while(e.nextSibling());e.parent()}}};function ib(i){let e=i.type.prop(Fu);for(;e&&e.context&&!i.matchContext(e.context);)e=e.next;return e||null}var E=He.define,Ts=E(),pi=E(),Gu=E(pi),Nu=E(pi),mi=E(),Cs=E(mi),cl=E(mi),_t=E(),Li=E(_t),Ct=E(),Xt=E(),fl=E(),ar=E(fl),Xs=E(),d={comment:Ts,lineComment:E(Ts),blockComment:E(Ts),docComment:E(Ts),name:pi,variableName:E(pi),typeName:Gu,tagName:E(Gu),propertyName:Nu,attributeName:E(Nu),className:E(pi),labelName:E(pi),namespace:E(pi),macroName:E(pi),literal:mi,string:Cs,docString:E(Cs),character:E(Cs),attributeValue:E(Cs),number:cl,integer:E(cl),float:E(cl),bool:E(mi),regexp:E(mi),escape:E(mi),color:E(mi),url:E(mi),keyword:Ct,self:E(Ct),null:E(Ct),atom:E(Ct),unit:E(Ct),modifier:E(Ct),operatorKeyword:E(Ct),controlKeyword:E(Ct),definitionKeyword:E(Ct),moduleKeyword:E(Ct),operator:Xt,derefOperator:E(Xt),arithmeticOperator:E(Xt),logicOperator:E(Xt),bitwiseOperator:E(Xt),compareOperator:E(Xt),updateOperator:E(Xt),definitionOperator:E(Xt),typeOperator:E(Xt),controlOperator:E(Xt),punctuation:fl,separator:E(fl),bracket:ar,angleBracket:E(ar),squareBracket:E(ar),paren:E(ar),brace:E(ar),content:_t,heading:Li,heading1:E(Li),heading2:E(Li),heading3:E(Li),heading4:E(Li),heading5:E(Li),heading6:E(Li),contentSeparator:E(_t),list:E(_t),quote:E(_t),emphasis:E(_t),strong:E(_t),link:E(_t),monospace:E(_t),strikethrough:E(_t),inserted:E(),deleted:E(),changed:E(),invalid:E(),meta:Xs,documentMeta:E(Xs),annotation:E(Xs),processingInstruction:E(Xs),definition:He.defineModifier("definition"),constant:He.defineModifier("constant"),function:He.defineModifier("function"),standard:He.defineModifier("standard"),local:He.defineModifier("local"),special:He.defineModifier("special")};for(let i in d){let e=d[i];e instanceof He&&(e.name=i)}var u$=ul([{tag:d.link,class:"tok-link"},{tag:d.heading,class:"tok-heading"},{tag:d.emphasis,class:"tok-emphasis"},{tag:d.strong,class:"tok-strong"},{tag:d.keyword,class:"tok-keyword"},{tag:d.atom,class:"tok-atom"},{tag:d.bool,class:"tok-bool"},{tag:d.url,class:"tok-url"},{tag:d.labelName,class:"tok-labelName"},{tag:d.inserted,class:"tok-inserted"},{tag:d.deleted,class:"tok-deleted"},{tag:d.literal,class:"tok-literal"},{tag:d.string,class:"tok-string"},{tag:d.number,class:"tok-number"},{tag:[d.regexp,d.escape,d.special(d.string)],class:"tok-string2"},{tag:d.variableName,class:"tok-variableName"},{tag:d.local(d.variableName),class:"tok-variableName tok-local"},{tag:d.definition(d.variableName),class:"tok-variableName tok-definition"},{tag:d.special(d.variableName),class:"tok-variableName2"},{tag:d.definition(d.propertyName),class:"tok-propertyName tok-definition"},{tag:d.typeName,class:"tok-typeName"},{tag:d.namespace,class:"tok-namespace"},{tag:d.className,class:"tok-className"},{tag:d.macroName,class:"tok-macroName"},{tag:d.propertyName,class:"tok-propertyName"},{tag:d.operator,class:"tok-operator"},{tag:d.comment,class:"tok-comment"},{tag:d.meta,class:"tok-meta"},{tag:d.invalid,class:"tok-invalid"},{tag:d.punctuation,class:"tok-punctuation"}]);var Ol,bt=new I;function kn(i){return Y.define({combine:i?e=>e.concat(i):void 0})}var qs=new I,xe=class{constructor(e,t,n=[],r=""){this.data=e,this.name=r,se.prototype.hasOwnProperty("tree")||Object.defineProperty(se.prototype,"tree",{get(){return U(this)}}),this.parser=t,this.extension=[Sn.of(this),se.languageData.of((s,o,a)=>{let l=Hu(s,o,a),c=l.type.prop(bt);if(!c)return[];let h=s.facet(c),f=l.type.prop(qs);if(f){let u=l.resolve(o-l.from,a);for(let O of f)if(O.test(u,s)){let p=s.facet(O.facet);return O.type=="replace"?p:p.concat(h)}}return h})].concat(n)}isActiveAt(e,t,n=-1){return Hu(e,t,n).type.prop(bt)==this.data}findRegions(e){let t=e.facet(Sn);if(t?.data==this.data)return[{from:0,to:e.doc.length}];if(!t||!t.allowsNesting)return[];let n=[],r=(s,o)=>{if(s.prop(bt)==this.data){n.push({from:o,to:o+s.length});return}let a=s.prop(I.mounted);if(a){if(a.tree.prop(bt)==this.data){if(a.overlay)for(let l of a.overlay)n.push({from:l.from+o,to:l.to+o});else n.push({from:o,to:o+s.length});return}else if(a.overlay){let l=n.length;if(r(a.tree,a.overlay[0].from+o),n.length>l)return}}for(let l=0;ln.isTop?t:void 0)]}),e.name)}configure(e,t){return new i(this.data,this.parser.configure(e),t||this.name)}get allowsNesting(){return this.parser.hasWrappers()}};function U(i){let e=i.field(xe.state,!1);return e?e.tree:F.empty}function zs(i,e,t=50){var n;let r=(n=i.field(xe.state,!1))===null||n===void 0?void 0:n.context;if(!r)return null;let s=r.viewport;r.updateViewport({from:0,to:e});let o=r.isDone(e)||r.work(t,e)?r.tree:null;return r.updateViewport(s),o}function nO(i,e=i.doc.length){var t;return((t=i.field(xe.state,!1))===null||t===void 0?void 0:t.context.isDone(e))||!1}var gl=class{constructor(e){this.doc=e,this.cursorPos=0,this.string="",this.cursor=e.iter()}get length(){return this.doc.length}syncTo(e){return this.string=this.cursor.next(e-this.cursorPos).value,this.cursorPos=e+this.string.length,this.cursorPos-this.string.length}chunk(e){return this.syncTo(e),this.string}get lineChunks(){return!0}read(e,t){let n=this.cursorPos-this.string.length;return e=this.cursorPos?this.doc.sliceString(e,t):this.string.slice(e-n,t-n)}},lr=null,Wi=class i{constructor(e,t,n=[],r,s,o,a,l){this.parser=e,this.state=t,this.fragments=n,this.tree=r,this.treeLen=s,this.viewport=o,this.skipped=a,this.scheduleOn=l,this.parse=null,this.tempSkipped=[]}static create(e,t,n){return new i(e,t,[],F.empty,0,n,[],null)}startParse(){return this.parser.startParse(new gl(this.state.doc),this.fragments)}work(e,t){return t!=null&&t>=this.state.doc.length&&(t=void 0),this.tree!=F.empty&&this.isDone(t??this.state.doc.length)?(this.takeTree(),!0):this.withContext(()=>{var n;if(typeof e=="number"){let r=Date.now()+e;e=()=>Date.now()>r}for(this.parse||(this.parse=this.startParse()),t!=null&&(this.parse.stoppedAt==null||this.parse.stoppedAt>t)&&t=this.treeLen&&((this.parse.stoppedAt==null||this.parse.stoppedAt>e)&&this.parse.stopAt(e),this.withContext(()=>{for(;!(t=this.parse.advance()););}),this.treeLen=e,this.tree=t,this.fragments=this.withoutTempSkipped(Yt.addTree(this.tree,this.fragments,!0)),this.parse=null)}withContext(e){let t=lr;lr=this;try{return e()}finally{lr=t}}withoutTempSkipped(e){for(let t;t=this.tempSkipped.pop();)e=Ku(e,t.from,t.to);return e}changes(e,t){let{fragments:n,tree:r,treeLen:s,viewport:o,skipped:a}=this;if(this.takeTree(),!e.empty){let l=[];if(e.iterChangedRanges((c,h,f,u)=>l.push({fromA:c,toA:h,fromB:f,toB:u})),n=Yt.applyChanges(n,l),r=F.empty,s=0,o={from:e.mapPos(o.from,-1),to:e.mapPos(o.to,1)},this.skipped.length){a=[];for(let c of this.skipped){let h=e.mapPos(c.from,1),f=e.mapPos(c.to,-1);he.from&&(this.fragments=Ku(this.fragments,r,s),this.skipped.splice(n--,1))}return this.skipped.length>=t?!1:(this.reset(),!0)}reset(){this.parse&&(this.takeTree(),this.parse=null)}skipUntilInView(e,t){this.skipped.push({from:e,to:t})}static getSkippingParser(e){return new class extends It{createParse(t,n,r){let s=r[0].from,o=r[r.length-1].to;return{parsedPos:s,advance(){let l=lr;if(l){for(let c of r)l.tempSkipped.push(c);e&&(l.scheduleOn=l.scheduleOn?Promise.all([l.scheduleOn,e]):e)}return this.parsedPos=o,new F(Oe.none,[],[],o-s)},stoppedAt:null,stopAt(){}}}}}isDone(e){e=Math.min(e,this.state.doc.length);let t=this.fragments;return this.treeLen>=e&&t.length&&t[0].from==0&&t[0].to>=e}static get(){return lr}};function Ku(i,e,t){return Yt.applyChanges(i,[{fromA:e,toA:t,fromB:e,toB:t}])}var cr=class i{constructor(e){this.context=e,this.tree=e.tree}apply(e){if(!e.docChanged&&this.tree==this.context.tree)return this;let t=this.context.changes(e.changes,e.state),n=this.context.treeLen==e.startState.doc.length?void 0:Math.max(e.changes.mapPos(this.context.treeLen),t.viewport.to);return t.work(20,n)||t.takeTree(),new i(t)}static init(e){let t=Math.min(3e3,e.doc.length),n=Wi.create(e.facet(Sn).parser,e,{from:0,to:t});return n.work(20,t)||n.takeTree(),new i(n)}};xe.state=he.define({create:cr.init,update(i,e){for(let t of e.effects)if(t.is(xe.setState))return t.value;return e.startState.facet(Sn)!=e.state.facet(Sn)?cr.init(e.state):i.apply(e)}});var rO=i=>{let e=setTimeout(()=>i(),500);return()=>clearTimeout(e)};typeof requestIdleCallback<"u"&&(rO=i=>{let e=-1,t=setTimeout(()=>{e=requestIdleCallback(i,{timeout:400})},100);return()=>e<0?clearTimeout(t):cancelIdleCallback(e)});var dl=typeof navigator<"u"&&(!((Ol=navigator.scheduling)===null||Ol===void 0)&&Ol.isInputPending)?()=>navigator.scheduling.isInputPending():null,nb=Ve.fromClass(class{constructor(e){this.view=e,this.working=null,this.workScheduled=0,this.chunkEnd=-1,this.chunkBudget=-1,this.work=this.work.bind(this),this.scheduleWork()}update(e){let t=this.view.state.field(xe.state).context;(t.updateViewport(e.view.viewport)||this.view.viewport.to>t.treeLen)&&this.scheduleWork(),(e.docChanged||e.selectionSet)&&(this.view.hasFocus&&(this.chunkBudget+=50),this.scheduleWork()),this.checkAsyncSchedule(t)}scheduleWork(){if(this.working)return;let{state:e}=this.view,t=e.field(xe.state);(t.tree!=t.context.tree||!t.context.isDone(e.doc.length))&&(this.working=rO(this.work))}work(e){this.working=null;let t=Date.now();if(this.chunkEndr+1e3,l=s.context.work(()=>dl&&dl()||Date.now()>o,r+(a?0:1e5));this.chunkBudget-=Date.now()-t,(l||this.chunkBudget<=0)&&(s.context.takeTree(),this.view.dispatch({effects:xe.setState.of(new cr(s.context))})),this.chunkBudget>0&&!(l&&!a)&&this.scheduleWork(),this.checkAsyncSchedule(s.context)}checkAsyncSchedule(e){e.scheduleOn&&(this.workScheduled++,e.scheduleOn.then(()=>this.scheduleWork()).catch(t=>lt(this.view.state,t)).then(()=>this.workScheduled--),e.scheduleOn=null)}destroy(){this.working&&this.working()}isWorking(){return!!(this.working||this.workScheduled>0)}},{eventHandlers:{focus(){this.scheduleWork()}}}),Sn=Y.define({combine(i){return i.length?i[0]:null},enables:i=>[xe.state,nb,z.contentAttributes.compute([i],e=>{let t=e.facet(i);return t&&t.name?{"data-language":t.name}:{}})]}),me=class{constructor(e,t=[]){this.language=e,this.support=t,this.extension=[e,t]}},Ie=class i{constructor(e,t,n,r,s,o=void 0){this.name=e,this.alias=t,this.extensions=n,this.filename=r,this.loadFunc=s,this.support=o,this.loading=null}load(){return this.loading||(this.loading=this.loadFunc().then(e=>this.support=e,e=>{throw this.loading=null,e}))}static of(e){let{load:t,support:n}=e;if(!t){if(!n)throw new RangeError("Must pass either 'load' or 'support' to LanguageDescription.of");t=()=>Promise.resolve(n)}return new i(e.name,(e.alias||[]).concat(e.name).map(r=>r.toLowerCase()),e.extensions||[],e.filename,t,n)}static matchFilename(e,t){for(let r of e)if(r.filename&&r.filename.test(t))return r;let n=/\.([^.]+)$/.exec(t);if(n){for(let r of e)if(r.extensions.indexOf(n[1])>-1)return r}return null}static matchLanguageName(e,t,n=!0){t=t.toLowerCase();for(let r of e)if(r.alias.some(s=>s==t))return r;if(n)for(let r of e)for(let s of r.alias){let o=t.indexOf(s);if(o>-1&&(s.length>2||!/\w/.test(t[o-1])&&!/\w/.test(t[o+s.length])))return r}return null}},rb=Y.define(),Rt=Y.define({combine:i=>{if(!i.length)return" ";let e=i[0];if(!e||/\S/.test(e)||Array.from(e).some(t=>t!=e[0]))throw new Error("Invalid indent unit: "+JSON.stringify(i[0]));return e}});function gi(i){let e=i.facet(Rt);return e.charCodeAt(0)==9?i.tabSize*e.length:e.length}function fr(i,e){let t="",n=i.tabSize,r=i.facet(Rt)[0];if(r==" "){for(;e>=n;)t+=" ",e-=n;r=" "}for(let s=0;s=e?sb(i,t,e):null}var ji=class{constructor(e,t={}){this.state=e,this.options=t,this.unit=gi(e)}lineAt(e,t=1){let n=this.state.doc.lineAt(e),{simulateBreak:r,simulateDoubleBreak:s}=this.options;return r!=null&&r>=n.from&&r<=n.to?s&&r==e?{text:"",from:e}:(t<0?r-1&&(s+=o-this.countColumn(n,n.search(/\S|$/))),s}countColumn(e,t=e.length){return Ne(e,this.state.tabSize,t)}lineIndent(e,t=1){let{text:n,from:r}=this.lineAt(e,t),s=this.options.overrideIndentation;if(s){let o=s(r);if(o>-1)return o}return this.countColumn(n,n.search(/\S|$/))}get simulatedBreak(){return this.options.simulateBreak||null}},we=new I;function sb(i,e,t){let n=e.resolveStack(t),r=e.resolveInner(t,-1).resolve(t,0).enterUnfinishedNodesBefore(t);if(r!=n.node){let s=[];for(let o=r;o&&!(o.fromn.node.to||o.from==n.node.from&&o.type==n.node.type);o=o.parent)s.push(o);for(let o=s.length-1;o>=0;o--)n={node:s[o],next:n}}return sO(n,i,t)}function sO(i,e,t){for(let n=i;n;n=n.next){let r=ab(n.node);if(r)return r(Ql.create(e,t,n))}return 0}function ob(i){return i.pos==i.options.simulateBreak&&i.options.simulateDoubleBreak}function ab(i){let e=i.type.prop(we);if(e)return e;let t=i.firstChild,n;if(t&&(n=t.type.prop(I.closedBy))){let r=i.lastChild,s=r&&n.indexOf(r.name)>-1;return o=>oO(o,!0,1,void 0,s&&!ob(o)?r.from:void 0)}return i.parent==null?lb:null}function lb(){return 0}var Ql=class i extends ji{constructor(e,t,n){super(e.state,e.options),this.base=e,this.pos=t,this.context=n}get node(){return this.context.node}static create(e,t,n){return new i(e,t,n)}get textAfter(){return this.textAfterPos(this.pos)}get baseIndent(){return this.baseIndentFor(this.node)}baseIndentFor(e){let t=this.state.doc.lineAt(e.from);for(;;){let n=e.resolve(t.from);for(;n.parent&&n.parent.from==n.from;)n=n.parent;if(cb(n,e))break;t=this.state.doc.lineAt(n.from)}return this.lineIndent(t.from)}continue(){return sO(this.context.next,this.base,this.pos)}};function cb(i,e){for(let t=e;t;t=t.parent)if(i==t)return!0;return!1}function hb(i){let e=i.node,t=e.childAfter(e.from),n=e.lastChild;if(!t)return null;let r=i.options.simulateBreak,s=i.state.doc.lineAt(t.from),o=r==null||r<=s.from?s.to:Math.min(s.to,r);for(let a=t.to;;){let l=e.childAfter(a);if(!l||l==n)return null;if(!l.type.isSkipped){if(l.from>=o)return null;let c=/^ */.exec(s.text.slice(t.to-s.from))[0].length;return{from:t.from,to:t.to+c}}a=l.to}}function St({closing:i,align:e=!0,units:t=1}){return n=>oO(n,e,t,i)}function oO(i,e,t,n,r){let s=i.textAfter,o=s.match(/^\s*/)[0].length,a=n&&s.slice(o,o+n.length)==n||r==i.pos+o,l=e?hb(i):null;return l?a?i.column(l.from):i.column(l.to):i.baseIndent+(a?0:i.unit*t)}var aO=i=>i.baseIndent;function Bt({except:i,units:e=1}={}){return t=>{let n=i&&i.test(t.textAfter);return t.baseIndent+(n?0:e*t.unit)}}var lO=Y.define(),Te=new I;function ht(i){let e=i.firstChild,t=i.lastChild;return e&&e.toa.prop(bt)==o.data:o?a=>a==o:void 0,this.style=ul(e.map(a=>({tag:a.tag,class:a.class||r(Object.assign({},a,{tag:null}))})),{all:s}).style,this.module=n?new rt(n):null,this.themeType=t.themeType}static define(e,t){return new i(e,t||{})}},bl=Y.define(),cO=Y.define({combine(i){return i.length?[i[0]]:null}});function pl(i){let e=i.facet(bl);return e.length?e:i.facet(cO)}function hO(i,e){let t=[fb],n;return i instanceof yn&&(i.module&&t.push(z.styleModule.of(i.module)),n=i.themeType),e?.fallback?t.push(cO.of(i)):n?t.push(bl.computeN([z.darkTheme],r=>r.facet(z.darkTheme)==(n=="dark")?[i]:[])):t.push(bl.of(i)),t}var Sl=class{constructor(e){this.markCache=Object.create(null),this.tree=U(e.state),this.decorations=this.buildDeco(e,pl(e.state)),this.decoratedTo=e.viewport.to}update(e){let t=U(e.state),n=pl(e.state),r=n!=pl(e.startState),{viewport:s}=e.view,o=e.changes.mapPos(this.decoratedTo,1);t.length=s.to?(this.decorations=this.decorations.map(e.changes),this.decoratedTo=o):(t!=this.tree||e.viewportChanged||r)&&(this.tree=t,this.decorations=this.buildDeco(e.view,n),this.decoratedTo=s.to)}buildDeco(e,t){if(!t||!this.tree.length)return Z.none;let n=new _i;for(let{from:r,to:s}of e.visibleRanges)Rs(this.tree,t,(o,a,l)=>{n.add(o,a,this.markCache[l]||(this.markCache[l]=Z.mark({class:l})))},r,s);return n.finish()}},fb=nt.high(Ve.fromClass(Sl,{decorations:i=>i.decorations})),y$=yn.define([{tag:d.meta,color:"#404740"},{tag:d.link,textDecoration:"underline"},{tag:d.heading,textDecoration:"underline",fontWeight:"bold"},{tag:d.emphasis,fontStyle:"italic"},{tag:d.strong,fontWeight:"bold"},{tag:d.strikethrough,textDecoration:"line-through"},{tag:d.keyword,color:"#708"},{tag:[d.atom,d.bool,d.url,d.contentSeparator,d.labelName],color:"#219"},{tag:[d.literal,d.inserted],color:"#164"},{tag:[d.string,d.deleted],color:"#a11"},{tag:[d.regexp,d.escape,d.special(d.string)],color:"#e40"},{tag:d.definition(d.variableName),color:"#00f"},{tag:d.local(d.variableName),color:"#30a"},{tag:[d.typeName,d.namespace],color:"#085"},{tag:d.className,color:"#167"},{tag:[d.special(d.variableName),d.macroName],color:"#256"},{tag:d.definition(d.propertyName),color:"#00c"},{tag:d.comment,color:"#940"},{tag:d.invalid,color:"#f00"}]);var ub=1e4,Ob="()[]{}";var Pl=new I;function yl(i,e,t){let n=i.prop(e<0?I.openedBy:I.closedBy);if(n)return n;if(i.name.length==1){let r=t.indexOf(i.name);if(r>-1&&r%2==(e<0?1:0))return[t[r+e]]}return null}function kl(i){let e=i.type.prop(Pl);return e?e(i.node):i}function Vi(i,e,t,n={}){let r=n.maxScanDistance||ub,s=n.brackets||Ob,o=U(i),a=o.resolveInner(e,t);for(let l=a;l;l=l.parent){let c=yl(l.type,t,s);if(c&&l.from0?e>=h.from&&eh.from&&e<=h.to))return db(i,e,t,l,h,c,s)}}return pb(i,e,t,o,a.type,r,s)}function db(i,e,t,n,r,s,o){let a=n.parent,l={from:r.from,to:r.to},c=0,h=a?.cursor();if(h&&(t<0?h.childBefore(n.from):h.childAfter(n.to)))do if(t<0?h.to<=n.from:h.from>=n.to){if(c==0&&s.indexOf(h.type.name)>-1&&h.from0)return null;let c={from:t<0?e-1:e,to:t>0?e+1:e},h=i.doc.iterRange(e,t>0?i.doc.length:0),f=0;for(let u=0;!h.next().done&&u<=s;){let O=h.value;t<0&&(u+=O.length);let p=e+u*t;for(let m=t>0?0:O.length-1,b=t>0?O.length:-1;m!=b;m+=t){let g=o.indexOf(O[m]);if(!(g<0||n.resolveInner(p+m,1).type!=r))if(g%2==0==t>0)f++;else{if(f==1)return{start:c,end:{from:p+m,to:p+m+1},matched:g>>1==l>>1};f--}}t>0&&(u+=O.length)}return h.done?{start:c,matched:!1}:null}function Ju(i,e,t,n=0,r=0){e==null&&(e=i.search(/[^\s\u00a0]/),e==-1&&(e=i.length));let s=r;for(let o=n;o=this.string.length}sol(){return this.pos==0}peek(){return this.string.charAt(this.pos)||void 0}next(){if(this.post}eatSpace(){let e=this.pos;for(;/[\s\u00a0]/.test(this.string.charAt(this.pos));)++this.pos;return this.pos>e}skipToEnd(){this.pos=this.string.length}skipTo(e){let t=this.string.indexOf(e,this.pos);if(t>-1)return this.pos=t,!0}backUp(e){this.pos-=e}column(){return this.lastColumnPosn?o.toLowerCase():o,s=this.string.substr(this.pos,e.length);return r(s)==r(e)?(t!==!1&&(this.pos+=e.length),!0):null}else{let r=this.string.slice(this.pos).match(e);return r&&r.index>0?null:(r&&t!==!1&&(this.pos+=r[0].length),r)}}current(){return this.string.slice(this.start,this.pos)}};function mb(i){return{name:i.name||"",token:i.token,blankLine:i.blankLine||(()=>{}),startState:i.startState||(()=>!0),copyState:i.copyState||gb,indent:i.indent||(()=>null),languageData:i.languageData||{},tokenTable:i.tokenTable||$l,mergeTokens:i.mergeTokens!==!1}}function gb(i){if(typeof i!="object")return i;let e={};for(let t in i){let n=i[t];e[t]=n instanceof Array?n.slice():n}return e}var eO=new WeakMap,Zs=class i extends xe{constructor(e){let t=kn(e.languageData),n=mb(e),r,s=new class extends It{createParse(o,a,l){return new xl(r,o,a,l)}};super(t,s,[],e.name),this.topNode=yb(t,this),r=this,this.streamParser=n,this.stateAfter=new I({perNode:!0}),this.tokenTable=e.tokenTable?new Es(n.tokenTable):Sb}static define(e){return new i(e)}getIndent(e){let t,{overrideIndentation:n}=e.options;n&&(t=eO.get(e.state),t!=null&&t1e4)return null;for(;s=n&&t+e.length<=r&&e.prop(i.stateAfter);if(s)return{state:i.streamParser.copyState(s),pos:t+e.length};for(let o=e.children.length-1;o>=0;o--){let a=e.children[o],l=t+e.positions[o],c=a instanceof F&&l=e.length)return e;!r&&t==0&&e.type==i.topNode&&(r=!0);for(let s=e.children.length-1;s>=0;s--){let o=e.positions[s],a=e.children[s],l;if(ot&&vl(i,s.tree,0-s.offset,t,a),c;if(l&&l.pos<=n&&(c=fO(i,s.tree,t+s.offset,l.pos+s.offset,!1)))return{state:l.state,tree:c}}return{state:i.streamParser.startState(r?gi(r):4),tree:F.empty}}var xl=class{constructor(e,t,n,r){this.lang=e,this.input=t,this.fragments=n,this.ranges=r,this.stoppedAt=null,this.chunks=[],this.chunkPos=[],this.chunk=[],this.chunkReused=void 0,this.rangeIndex=0,this.to=r[r.length-1].to;let s=Wi.get(),o=r[0].from,{state:a,tree:l}=Qb(e,n,o,this.to,s?.state);this.state=a,this.parsedPos=this.chunkStart=o+l.length;for(let c=0;cc.from<=s.viewport.from&&c.to>=s.viewport.from)&&(this.state=this.lang.streamParser.startState(gi(s.state)),s.skipUntilInView(this.parsedPos,s.viewport.from),this.parsedPos=s.viewport.from),this.moveRangeIndex()}advance(){let e=Wi.get(),t=this.stoppedAt==null?this.to:Math.min(this.to,this.stoppedAt),n=Math.min(t,this.chunkStart+512);for(e&&(n=Math.min(n,e.viewport.to));this.parsedPos=t?this.finish():e&&this.parsedPos>=e.viewport.to?(e.skipUntilInView(this.parsedPos,t),this.finish()):null}stopAt(e){this.stoppedAt=e}lineAfter(e){let t=this.input.chunk(e);if(this.input.lineChunks)t==` +`;this.styleTag.textContent=o;let a=t.head||t;this.styleTag.parentNode!=a&&a.insertBefore(this.styleTag,a.firstChild)}}setNonce(e){this.styleTag&&this.styleTag.getAttribute("nonce")!=e&&this.styleTag.setAttribute("nonce",e)}};var Lt={8:"Backspace",9:"Tab",10:"Enter",12:"NumLock",13:"Enter",16:"Shift",17:"Control",18:"Alt",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",44:"PrintScreen",45:"Insert",46:"Delete",59:";",61:"=",91:"Meta",92:"Meta",106:"*",107:"+",108:",",109:"-",110:".",111:"/",144:"NumLock",145:"ScrollLock",160:"Shift",161:"Shift",162:"Control",163:"Control",164:"Alt",165:"Alt",173:"-",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'"},an={48:")",49:"!",50:"@",51:"#",52:"$",53:"%",54:"^",55:"&",56:"*",57:"(",59:":",61:"+",173:"_",186:":",187:"+",188:"<",189:"_",190:">",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},b0=typeof navigator<"u"&&/Mac/.test(navigator.platform),S0=typeof navigator<"u"&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent);for(be=0;be<10;be++)Lt[48+be]=Lt[96+be]=String(be);var be;for(be=1;be<=24;be++)Lt[be+111]="F"+be;var be;for(be=65;be<=90;be++)Lt[be]=String.fromCharCode(be+32),an[be]=String.fromCharCode(be);var be;for(Kr in Lt)an.hasOwnProperty(Kr)||(an[Kr]=Lt[Kr]);var Kr;function bf(i){var e=b0&&i.metaKey&&i.shiftKey&&!i.ctrlKey&&!i.altKey||S0&&i.shiftKey&&i.key&&i.key.length==1||i.key=="Unidentified",t=!e&&i.key||(i.shiftKey?an:Lt)[i.keyCode]||i.key||"Unidentified";return t=="Esc"&&(t="Escape"),t=="Del"&&(t="Delete"),t=="Left"&&(t="ArrowLeft"),t=="Up"&&(t="ArrowUp"),t=="Right"&&(t="ArrowRight"),t=="Down"&&(t="ArrowDown"),t}var ze=typeof navigator<"u"?navigator:{userAgent:"",vendor:"",platform:""},oa=typeof document<"u"?document:{documentElement:{style:{}}},aa=/Edge\/(\d+)/.exec(ze.userAgent),Uf=/MSIE \d/.test(ze.userAgent),la=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(ze.userAgent),Ss=!!(Uf||la||aa),Sf=!Ss&&/gecko\/(\d+)/i.test(ze.userAgent),ta=!Ss&&/Chrome\/(\d+)/.exec(ze.userAgent),yf="webkitFontSmoothing"in oa.documentElement.style,ca=!Ss&&/Apple Computer/.test(ze.vendor),kf=ca&&(/Mobile\/\w+/.test(ze.userAgent)||ze.maxTouchPoints>2),L={mac:kf||/Mac/.test(ze.platform),windows:/Win/.test(ze.platform),linux:/Linux|X11/.test(ze.platform),ie:Ss,ie_version:Uf?oa.documentMode||6:la?+la[1]:aa?+aa[1]:0,gecko:Sf,gecko_version:Sf?+(/Firefox\/(\d+)/.exec(ze.userAgent)||[0,0])[1]:0,chrome:!!ta,chrome_version:ta?+ta[1]:0,ios:kf,android:/Android\b/.test(ze.userAgent),webkit:yf,webkit_version:yf?+(/\bAppleWebKit\/(\d+)/.exec(ze.userAgent)||[0,0])[1]:0,safari:ca,safari_version:ca?+(/\bVersion\/(\d+(\.\d+)?)/.exec(ze.userAgent)||[0,0])[1]:0,tabSize:oa.documentElement.style.tabSize!=null?"tab-size":"-moz-tab-size"};function Ya(i,e){for(let t in i)t=="class"&&e.class?e.class+=" "+i.class:t=="style"&&e.style?e.style+=";"+i.style:e[t]=i[t];return e}var ls=Object.create(null);function Ia(i,e,t){if(i==e)return!0;i||(i=ls),e||(e=ls);let n=Object.keys(i),r=Object.keys(e);if(n.length-(t&&n.indexOf(t)>-1?1:0)!=r.length-(t&&r.indexOf(t)>-1?1:0))return!1;for(let s of n)if(s!=t&&(r.indexOf(s)==-1||i[s]!==e[s]))return!1;return!0}function y0(i,e){for(let t=i.attributes.length-1;t>=0;t--){let n=i.attributes[t].name;e[n]==null&&i.removeAttribute(n)}for(let t in e){let n=e[t];t=="style"?i.style.cssText=n:i.getAttribute(t)!=n&&i.setAttribute(t,n)}}function xf(i,e,t){let n=!1;if(e)for(let r in e)t&&r in t||(n=!0,r=="style"?i.style.cssText="":i.removeAttribute(r));if(t)for(let r in t)e&&e[r]==t[r]||(n=!0,r=="style"?i.style.cssText=t[r]:i.setAttribute(r,t[r]));return n}function k0(i){let e=Object.create(null);for(let t=0;t0?3e8:-4e8:t>0?1e8:-1e8,new Zi(e,t,t,n,e.widget||null,!1)}static replace(e){let t=!!e.block,n,r;if(e.isBlockGap)n=-5e8,r=4e8;else{let{start:s,end:o}=Gf(e,t);n=(s?t?-3e8:-1:5e8)-1,r=(o?t?2e8:1:-6e8)+1}return new Zi(e,n,r,t,e.widget||null,!0)}static line(e){return new ir(e)}static set(e,t=!1){return ae.of(e,t)}hasHeight(){return this.widget?this.widget.estimatedHeight>-1:!1}};A.none=ae.empty;var tr=class i extends A{constructor(e){let{start:t,end:n}=Gf(e);super(t?-1:5e8,n?1:-6e8,null,e),this.tagName=e.tagName||"span",this.attrs=e.class&&e.attributes?Ya(e.attributes,{class:e.class}):e.class?{class:e.class}:e.attributes||ls}eq(e){return this==e||e instanceof i&&this.tagName==e.tagName&&Ia(this.attrs,e.attrs)}range(e,t=e){if(e>=t)throw new RangeError("Mark decorations may not be empty");return super.range(e,t)}};tr.prototype.point=!1;var ir=class i extends A{constructor(e){super(-2e8,-2e8,null,e)}eq(e){return e instanceof i&&this.spec.class==e.spec.class&&Ia(this.spec.attributes,e.spec.attributes)}range(e,t=e){if(t!=e)throw new RangeError("Line decoration ranges must be zero-length");return super.range(e,t)}};ir.prototype.mapMode=ge.TrackBefore;ir.prototype.point=!0;var Zi=class i extends A{constructor(e,t,n,r,s,o){super(t,n,s,e),this.block=r,this.isReplace=o,this.mapMode=r?t<=0?ge.TrackBefore:ge.TrackAfter:ge.TrackDel}get type(){return this.startSide!=this.endSide?ct.WidgetRange:this.startSide<=0?ct.WidgetBefore:ct.WidgetAfter}get heightRelevant(){return this.block||!!this.widget&&(this.widget.estimatedHeight>=5||this.widget.lineBreaks>0)}eq(e){return e instanceof i&&x0(this.widget,e.widget)&&this.block==e.block&&this.startSide==e.startSide&&this.endSide==e.endSide}range(e,t=e){if(this.isReplace&&(e>t||e==t&&this.startSide>0&&this.endSide<=0))throw new RangeError("Invalid range for replacement decoration");if(!this.isReplace&&t!=e)throw new RangeError("Widget decorations can only have zero-length ranges");return super.range(e,t)}};Zi.prototype.point=!0;function Gf(i,e=!1){let{inclusiveStart:t,inclusiveEnd:n}=i;return t==null&&(t=i.inclusive),n==null&&(n=i.inclusive),{start:t??e,end:n??e}}function x0(i,e){return i==e||!!(i&&e&&i.compare(e))}function fn(i,e,t,n=0){let r=t.length-1;r>=0&&t[r]+n>=i?t[r]=Math.max(t[r],e):t.push(i,e)}var li=class i extends it{constructor(e,t,n){super(),this.tagName=e,this.attributes=t,this.rank=n}eq(e){return e==this||e instanceof i&&this.tagName==e.tagName&&Ia(this.attributes,e.attributes)}static create(e){return new i(e.tagName,e.attributes||ls,e.rank==null?50:Math.max(0,Math.min(e.rank,100)))}static set(e,t=!1){return ae.of(e,t)}};li.prototype.startSide=li.prototype.endSide=-1;function nr(i){let e;return i.nodeType==11?e=i.getSelection?i:i.ownerDocument:e=i,e.getSelection()}function ha(i,e){return e?i==e||i.contains(e.nodeType!=1?e.parentNode:e):!1}function Gn(i,e){if(!e.anchorNode)return!1;try{return ha(i,e.anchorNode)}catch{return!1}}function os(i){return i.nodeType==3?rr(i,0,i.nodeValue.length).getClientRects():i.nodeType==1?i.getClientRects():[]}function Nn(i,e,t,n){return t?wf(i,e,t,n,-1)||wf(i,e,t,n,1):!1}function ci(i){for(var e=0;;e++)if(i=i.previousSibling,!i)return e}function cs(i){return i.nodeType==1&&/^(DIV|P|LI|UL|OL|BLOCKQUOTE|DD|DT|H\d|SECTION|PRE)$/.test(i.nodeName)}function wf(i,e,t,n,r){for(;;){if(i==t&&e==n)return!0;if(e==(r<0?0:jt(i))){if(i.nodeName=="DIV")return!1;let s=i.parentNode;if(!s||s.nodeType!=1)return!1;e=ci(i)+(r<0?0:1),i=s}else if(i.nodeType==1){if(i=i.childNodes[e+(r<0?-1:0)],i.nodeType==1&&i.contentEditable=="false")return!1;e=r<0?jt(i):0}else return!1}}function jt(i){return i.nodeType==3?i.nodeValue.length:i.childNodes.length}function hs(i,e){let{left:t,right:n}=i;if(t==n)return i;let r=e?t:n;return{left:r,right:r,top:i.top,bottom:i.bottom}}function w0(i){let e=i.visualViewport;return e?{left:0,right:e.width,top:0,bottom:e.height}:{left:0,right:i.innerWidth,top:0,bottom:i.innerHeight}}function Nf(i,e){let t=e.width/i.offsetWidth,n=e.height/i.offsetHeight;return(t>.995&&t<1.005||!isFinite(t)||Math.abs(e.width-i.offsetWidth)<1)&&(t=1),(n>.995&&n<1.005||!isFinite(n)||Math.abs(e.height-i.offsetHeight)<1)&&(n=1),{scaleX:t,scaleY:n}}function P0(i,e,t,n,r,s,o,a){let l=i.ownerDocument,c=l.defaultView||window;for(let h=i,f=!1;h&&!f;)if(h.nodeType==1){let u,O=h==l.body,p=1,m=1;if(O)u=w0(c);else{if(/^(fixed|sticky)$/.test(getComputedStyle(h).position)&&(f=!0),h.scrollHeight<=h.clientHeight&&h.scrollWidth<=h.clientWidth){h=h.assignedSlot||h.parentNode;continue}let Q=h.getBoundingClientRect();({scaleX:p,scaleY:m}=Nf(h,Q)),u={left:Q.left,right:Q.left+h.clientWidth*p,top:Q.top,bottom:Q.top+h.clientHeight*m}}let b=0,g=0;if(r=="nearest")e.top0&&e.bottom>u.bottom+g&&(g=e.bottom-u.bottom+o)):e.bottom>u.bottom-o&&(g=e.bottom-u.bottom+o,t<0&&e.top-g0&&e.right>u.right+b&&(b=e.right-u.right+s)):e.right>u.right-s&&(b=e.right-u.right+s,t<0&&e.leftu.bottom||e.leftu.right)&&(e={left:Math.max(e.left,u.left),right:Math.min(e.right,u.right),top:Math.max(e.top,u.top),bottom:Math.min(e.bottom,u.bottom)}),h=h.assignedSlot||h.parentNode}else if(h.nodeType==11)h=h.host;else break}function Ff(i,e=!0){let t=i.ownerDocument,n=null,r=null;for(let s=i.parentNode;s&&!(s==t.body||(!e||n)&&r);)if(s.nodeType==1)!r&&s.scrollHeight>s.clientHeight&&(r=s),e&&!n&&s.scrollWidth>s.clientWidth&&(n=s),s=s.assignedSlot||s.parentNode;else if(s.nodeType==11)s=s.host;else break;return{x:n,y:r}}var fa=class{constructor(){this.anchorNode=null,this.anchorOffset=0,this.focusNode=null,this.focusOffset=0}eq(e){return this.anchorNode==e.anchorNode&&this.anchorOffset==e.anchorOffset&&this.focusNode==e.focusNode&&this.focusOffset==e.focusOffset}setRange(e){let{anchorNode:t,focusNode:n}=e;this.set(t,Math.min(e.anchorOffset,t?jt(t):0),n,Math.min(e.focusOffset,n?jt(n):0))}set(e,t,n,r){this.anchorNode=e,this.anchorOffset=t,this.focusNode=n,this.focusOffset=r}},Ri=null;L.safari&&L.safari_version>=26&&(Ri=!1);function Hf(i){if(i.setActive)return i.setActive();if(Ri)return i.focus(Ri);let e=[];for(let t=i;t&&(e.push(t,t.scrollTop,t.scrollLeft),t!=t.ownerDocument);t=t.parentNode);if(i.focus(Ri==null?{get preventScroll(){return Ri={preventScroll:!0},!0}}:void 0),!Ri){Ri=!1;for(let t=0;tMath.max(0,i.document.documentElement.scrollHeight-i.innerHeight-4):i.scrollTop>Math.max(1,i.scrollHeight-i.clientHeight-4)}function Jf(i,e){for(let t=i,n=e;;){if(t.nodeType==3&&n>0)return{node:t,offset:n};if(t.nodeType==1&&n>0){if(t.contentEditable=="false")return null;t=t.childNodes[n-1],n=jt(t)}else if(t.parentNode&&!cs(t))n=ci(t),t=t.parentNode;else return null}}function eu(i,e){for(let t=i,n=e;;){if(t.nodeType==3&&n=t){if(a.level==n)return o;(s<0||(r!=0?r<0?a.fromt:e[s].level>a.level))&&(s=o)}}if(s<0)throw new RangeError("Index out of range");return s}};function nu(i,e){if(i.length!=e.length)return!1;for(let t=0;t=0;m-=3)if($t[m+1]==-O){let b=$t[m+2],g=b&2?r:b&4?b&1?s:r:0;g&&(oe[f]=oe[$t[m]]=g),a=m;break}}else{if($t.length==189)break;$t[a++]=f,$t[a++]=u,$t[a++]=l}else if((p=oe[f])==2||p==1){let m=p==r;l=m?0:1;for(let b=a-3;b>=0;b-=3){let g=$t[b+2];if(g&2)break;if(m)$t[b+2]|=2;else{if(g&4)break;$t[b+2]|=4}}}}}function A0(i,e,t,n){for(let r=0,s=n;r<=t.length;r++){let o=r?t[r-1].to:i,a=rl;)p==b&&(p=t[--m].from,b=m?t[m-1].to:i),oe[--p]=O;l=h}else s=c,l++}}}function Oa(i,e,t,n,r,s,o){let a=n%2?2:1;if(n%2==r%2)for(let l=e,c=0;ll&&o.push(new at(l,m.from,O));let b=m.direction==Ei!=!(O%2);da(i,b?n+1:n,r,m.inner,m.from,m.to,o),l=m.to}p=m.to}else{if(p==t||(h?oe[p]!=a:oe[p]==a))break;p++}u?Oa(i,l,p,n+1,r,u,o):le;){let h=!0,f=!1;if(!c||l>s[c-1].to){let m=oe[l-1];m!=a&&(h=!1,f=m==16)}let u=!h&&a==1?[]:null,O=h?n:n+1,p=l;e:for(;;)if(c&&p==s[c-1].to){if(f)break e;let m=s[--c];if(!h)for(let b=m.from,g=c;;){if(b==e)break e;if(g&&s[g-1].to==b)b=s[--g].from;else{if(oe[b-1]==a)break e;break}}if(u)u.push(m);else{m.tooe.length;)oe[oe.length]=256;let n=[],r=e==Ei?0:1;return da(i,r,r,t,0,i.length,n),n}function ru(i){return[new at(0,i,0)]}var su="";function E0(i,e,t,n,r){var s;let o=n.head-i.from,a=at.find(e,o,(s=n.bidiLevel)!==null&&s!==void 0?s:-1,n.assoc),l=e[a],c=l.side(r,t);if(o==c){let u=a+=r?1:-1;if(u<0||u>=e.length)return null;l=e[a=u],o=l.side(!r,t),c=l.side(r,t)}let h=ke(i.text,o,l.forward(r,t));(hl.to)&&(h=c),su=i.text.slice(Math.min(o,h),Math.max(o,h));let f=a==(r?e.length-1:0)?null:e[a+(r?1:-1)];return f&&h==c&&f.level+(r?0:1)i.some(e=>e)}),z0=Y.define({combine:i=>i.some(e=>e)}),Ou=Y.define(),Fn=class i{constructor(e,t,n,r,s,o=!1){this.range=e,this.y=t,this.x=n,this.yMargin=r,this.xMargin=s,this.isSnapshot=o}map(e){return e.empty?this:new i(this.range.map(e),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}clip(e){return this.range.to<=e.doc.length?this:new i(P.cursor(e.doc.length),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}},Jr=te.define({map:(i,e)=>i.map(e)}),du=te.define();function lt(i,e,t){let n=i.facet(cu);n.length?n[0](e):window.onerror&&window.onerror(String(e),t,void 0,void 0,e)||(t?console.error(t+":",e):console.error(e))}var Mt=Y.define({combine:i=>i.length?i[0]:!0}),L0=0,cn=Y.define({combine(i){return i.filter((e,t)=>{for(let n=0;n{let l=[];return o&&l.push(ys.of(c=>{let h=c.plugin(a);return h?o(h):A.none})),s&&l.push(s(a)),l})}static fromClass(e,t){return i.define((n,r)=>new e(n,r),t)}},Hn=class{constructor(e){this.spec=e,this.mustUpdate=null,this.value=null}get plugin(){return this.spec&&this.spec.plugin}update(e){if(this.value){if(this.mustUpdate){let t=this.mustUpdate;if(this.mustUpdate=null,this.value.update)try{this.value.update(t)}catch(n){if(lt(t.state,n,"CodeMirror plugin crashed"),this.value.destroy)try{this.value.destroy()}catch{}this.deactivate()}}}else if(this.spec)try{this.value=this.spec.plugin.create(e,this.spec.arg)}catch(t){lt(e.state,t,"CodeMirror plugin crashed"),this.deactivate()}return this}destroy(e){var t;if(!((t=this.value)===null||t===void 0)&&t.destroy)try{this.value.destroy()}catch(n){lt(e.state,n,"CodeMirror plugin crashed")}}deactivate(){this.spec=this.value=null}},pu=Y.define(),Na=Y.define(),ys=Y.define(),mu=Y.define(),Fa=Y.define(),sr=Y.define(),gu=Y.define();function vf(i,e){let t=i.state.facet(gu);if(!t.length)return t;let n=t.map(s=>s instanceof Function?s(i):s),r=[];return ae.spans(n,e.from,e.to,{point(){},span(s,o,a,l){let c=s-e.from,h=o-e.from,f=r;for(let u=a.length-1;u>=0;u--,l--){let O=a[u].spec.bidiIsolate,p;if(O==null&&(O=q0(e.text,c,h)),l>0&&f.length&&(p=f[f.length-1]).to==c&&p.direction==O)p.to=h,f=p.inner;else{let m={from:c,to:h,direction:O,inner:[]};f.push(m),f=m.inner}}}}),r}var Qu=Y.define();function bu(i){let e=0,t=0,n=0,r=0;for(let s of i.state.facet(Qu)){let o=s(i);o&&(o.left!=null&&(e=Math.max(e,o.left)),o.right!=null&&(t=Math.max(t,o.right)),o.top!=null&&(n=Math.max(n,o.top)),o.bottom!=null&&(r=Math.max(r,o.bottom)))}return{left:e,right:t,top:n,bottom:r}}var In=Y.define(),gt=class i{constructor(e,t,n,r){this.fromA=e,this.toA=t,this.fromB=n,this.toB=r}join(e){return new i(Math.min(this.fromA,e.fromA),Math.max(this.toA,e.toA),Math.min(this.fromB,e.fromB),Math.max(this.toB,e.toB))}addToSet(e){let t=e.length,n=this;for(;t>0;t--){let r=e[t-1];if(!(r.fromA>n.toA)){if(r.toAr.push(new gt(s,o,a,l))),this.changedRanges=r}static create(e,t,n){return new i(e,t,n)}get viewportChanged(){return(this.flags&4)>0}get viewportMoved(){return(this.flags&8)>0}get heightChanged(){return(this.flags&2)>0}get geometryChanged(){return this.docChanged||(this.flags&18)>0}get focusChanged(){return(this.flags&1)>0}get docChanged(){return!this.changes.empty}get selectionSet(){return this.transactions.some(e=>e.selection)}get empty(){return this.flags==0&&this.transactions.length==0}},M0=[],fe=class{constructor(e,t,n=0){this.dom=e,this.length=t,this.flags=n,this.parent=null,e.cmTile=this}get breakAfter(){return this.flags&1}get children(){return M0}isWidget(){return!1}get isHidden(){return!1}isComposite(){return!1}isLine(){return!1}isText(){return!1}isBlock(){return!1}get domAttrs(){return null}sync(e){if(this.flags|=2,this.flags&4){this.flags&=-5;let t=this.domAttrs;t&&y0(this.dom,t)}}toString(){return this.constructor.name+(this.children.length?`(${this.children})`:"")+(this.breakAfter?"#":"")}destroy(){this.parent=null}setDOM(e){this.dom=e,e.cmTile=this}get posAtStart(){return this.parent?this.parent.posBefore(this):0}get posAtEnd(){return this.posAtStart+this.length}posBefore(e,t=this.posAtStart){let n=t;for(let r of this.children){if(r==e)return n;n+=r.length+r.breakAfter}throw new RangeError("Invalid child in posBefore")}posAfter(e){return this.posBefore(e)+e.length}covers(e){return!0}coordsIn(e,t,n){return null}domPosFor(e,t){let n=ci(this.dom),r=this.length?e>0:t>0;return new Tt(this.parent.dom,n+(r?1:0),e==0||e==this.length)}markDirty(e){this.flags&=-3,e&&(this.flags|=4),this.parent&&this.parent.flags&2&&this.parent.markDirty(!1)}get overrideDOMText(){return null}get root(){for(let e=this;e;e=e.parent)if(e instanceof dn)return e;return null}static get(e){return e.cmTile}},On=class extends fe{constructor(e){super(e,0),this._children=[]}isComposite(){return!0}get children(){return this._children}get lastChild(){return this.children.length?this.children[this.children.length-1]:null}append(e){this.children.push(e),e.parent=this}sync(e){if(this.flags&2)return;super.sync(e);let t=this.dom,n=null,r,s=e?.node==t?e:null,o=0;for(let a of this.children){if(a.sync(e),o+=a.length+a.breakAfter,r=n?n.nextSibling:t.firstChild,s&&r!=a.dom&&(s.written=!0),a.dom.parentNode==t)for(;r&&r!=a.dom;)r=$f(r);else t.insertBefore(a.dom,r);n=a.dom}for(r=n?n.nextSibling:t.firstChild,s&&r&&(s.written=!0);r;)r=$f(r);this.length=o}};function $f(i){let e=i.nextSibling;return i.parentNode.removeChild(i),e}var dn=class extends On{constructor(e,t){super(t),this.view=e}owns(e){for(;e;e=e.parent)if(e==this)return!0;return!1}isBlock(){return!0}nearest(e){for(;;){if(!e)return null;let t=fe.get(e);if(t&&this.owns(t))return t;e=e.parentNode}}blockTiles(e){for(let t=[],n=this,r=0,s=0;;)if(r==n.children.length){if(!t.length)return;n=n.parent,n.breakAfter&&s++,r=t.pop()}else{let o=n.children[r++];if(o instanceof Wt)t.push(r),n=o,r=0;else{let a=s+o.length,l=e(o,s);if(l!==void 0)return l;s=a+o.breakAfter}}}resolveBlock(e,t){let n,r=-1,s,o=-1;if(this.blockTiles((a,l)=>{let c=l+a.length;if(e>=l&&e<=c){if(a.isWidget()&&t>=-1&&t<=1){if(a.flags&32)return!0;a.flags&16&&(n=void 0)}(le||e==l&&(t>1?a.length:a.covers(-1)))&&(!s||!a.isWidget()&&s.isWidget())&&(s=a,o=e-l)}}),!n&&!s)throw new Error("No tile at position "+e);return n&&t<0||!s?{tile:n,offset:r}:{tile:s,offset:o}}},Wt=class i extends On{constructor(e,t){super(e),this.wrapper=t}isBlock(){return!0}covers(e){return this.children.length?e<0?this.children[0].covers(-1):this.lastChild.covers(1):!1}get domAttrs(){return this.wrapper.attributes}static of(e,t){let n=new i(t||document.createElement(e.tagName),e);return t||(n.flags|=4),n}},pn=class i extends On{constructor(e,t){super(e),this.attrs=t}isLine(){return!0}static start(e,t,n){let r=new i(t||document.createElement("div"),e);return(!t||!n)&&(r.flags|=4),r}get domAttrs(){return this.attrs}resolveInline(e,t,n){let r=null,s=-1,o=null,a=-1;function l(h,f){for(let u=0,O=0;u=f&&(p.isComposite()?l(p,f-O):(!o||o.isHidden&&(t>0&&!(o.flags&32)||n&&j0(o,p)))&&(m>f||p.flags&32)?(o=p,a=f-O):(Or&&(e=r);let s=e,o=e,a=0;e==0&&t<0||e==r&&t>=0?L.chrome||L.gecko||(e?(s--,a=1):o=0)?0:l.length-1];return L.safari&&!a&&c.width==0&&(c=Array.prototype.find.call(l,h=>h.width)||c),n==null?c:hs(c,(a?a>0:t<0)==n)}static of(e,t){let n=new i(t||document.createTextNode(e),e);return t||(n.flags|=2),n}},qi=class i extends fe{constructor(e,t,n,r){super(e,t,r),this.widget=n}isWidget(){return!0}get isHidden(){return this.widget.isHidden}covers(e){return this.flags&48?!1:(this.flags&(e<0?64:128))>0}coordsIn(e,t){return this.coordsInWidget(e,t,!1)}coordsInWidget(e,t,n){let r=this.widget.coordsAt(this.dom,e,t);if(r)return r;if(n)return hs(this.dom.getBoundingClientRect(),this.length?e==0:t<=0);{let s=this.dom.getClientRects(),o=null;if(!s.length)return null;let a=this.flags&16?!0:this.flags&32?!1:e>0;for(let l=a?s.length-1:0;o=s[l],!(e>0?l==0:l==s.length-1||o.top0==n)}},ma=class{constructor(e){this.index=0,this.beforeBreak=!1,this.parents=[],this.tile=e}advance(e,t,n){let{tile:r,index:s,beforeBreak:o,parents:a}=this;for(;e||t>0;)if(r.isComposite())if(o){if(!e)break;n&&n.break(),e--,o=!1}else if(s==r.children.length){if(!e&&!a.length)break;n&&n.leave(r),o=!!r.breakAfter,{tile:r,index:s}=a.pop(),s++}else{let l=r.children[s],c=l.breakAfter;(t>0?l.length<=e:l.length=0;a--){let l=t.marks[a],c=r.lastChild;if(c instanceof je&&c.mark.eq(l.mark))c.dom!=l.dom&&c.setDOM(ia(l.dom)),r=c;else{if(this.cache.reused.get(l)){let f=fe.get(l.dom);f&&f.setDOM(ia(l.dom))}let h=je.of(l.mark,l.dom);r.append(h),r=h}this.cache.reused.set(l,2)}let s=fe.get(e.text);s&&this.cache.reused.set(s,2);let o=new Ai(e.text,e.text.nodeValue);o.flags|=8,this.pos=e.range.toB,r.append(o)}addInlineWidget(e,t,n){let r=this.afterWidget&&e.flags&48&&(this.afterWidget.flags&48)==(e.flags&48);r||this.flushBuffer();let s=this.ensureMarks(t,n);!r&&!(e.flags&16)&&s.append(this.getBuffer(1)),s.append(e),this.pos+=e.length,this.afterWidget=e}addMark(e,t,n){this.flushBuffer(),this.ensureMarks(t,n).append(e),this.pos+=e.length,this.afterWidget=null}addBlockWidget(e){this.getBlockPos().append(e),this.pos+=e.length,this.lastBlock=e,this.endLine()}continueWidget(e){let t=this.afterWidget||this.lastBlock;t.length+=e,this.pos+=e}addLineStart(e,t){var n;e||(e=Su);let r=pn.start(e,t||((n=this.cache.find(pn))===null||n===void 0?void 0:n.dom),!!t);this.getBlockPos().append(this.lastBlock=this.curLine=r)}addLine(e){this.getBlockPos().append(e),this.pos+=e.length,this.lastBlock=e,this.endLine()}addBreak(){this.lastBlock.flags|=1,this.endLine(),this.pos++}addLineStartIfNotCovered(e){this.blockPosCovered()||this.addLineStart(e)}ensureLine(e){this.curLine||this.addLineStart(e)}ensureMarks(e,t){var n;let r=this.curLine;for(let s=e.length-1;s>=0;s--){let o=e[s],a;if(t>0&&(a=r.lastChild)&&a instanceof je&&a.mark.eq(o))r=a,t--;else{let l=je.of(o,(n=this.cache.find(je,c=>c.mark.eq(o)))===null||n===void 0?void 0:n.dom);r.append(l),r=l,t=0}}return r}endLine(){if(this.curLine){this.flushBuffer();let e=this.curLine.lastChild;(!e||!Tf(this.curLine,!1)||e.dom.nodeName!="BR"&&e.isWidget()&&!(L.ios&&Tf(this.curLine,!0)))&&this.curLine.append(this.cache.findWidget(na,0,32)||new qi(na.toDOM(),0,na,32)),this.curLine=this.afterWidget=null}}updateBlockWrappers(){this.wrapperPos>this.pos+1e4&&(this.blockWrappers.goto(this.pos),this.wrappers.length=0);for(let e=this.wrappers.length-1;e>=0;e--)this.wrappers[e].to=this.pos){let t=e.rank*102+e.value.rank,n=new ga(e.from,e.to,e.value,t),r=this.wrappers.length;for(;r>0&&(this.wrappers[r-1].rank-n.rank||this.wrappers[r-1].to-n.to)<0;)r--;this.wrappers.splice(r,0,n)}this.wrapperPos=this.pos}getBlockPos(){var e;this.updateBlockWrappers();let t=this.root;for(let n of this.wrappers){let r=t.lastChild;if(n.fromo.wrapper.eq(n.wrapper)))===null||e===void 0?void 0:e.dom);t.append(s),t=s}}return t}blockPosCovered(){let e=this.lastBlock;return e!=null&&!e.breakAfter&&(!e.isWidget()||(e.flags&160)>0)}getBuffer(e){let t=2|(e<0?16:32),n=this.cache.find(mn,void 0,1);return n&&(n.flags=t),n||new mn(t)}flushBuffer(){this.afterWidget&&!(this.afterWidget.flags&32)&&(this.afterWidget.parent.append(this.getBuffer(-1)),this.afterWidget=null)}},ba=class{constructor(e){this.skipCount=0,this.text="",this.textOff=0,this.cursor=e.iter()}skip(e){this.textOff+e<=this.text.length?this.textOff+=e:(this.skipCount+=e-(this.text.length-this.textOff),this.text="",this.textOff=0)}next(e){if(this.textOff==this.text.length){let{value:r,lineBreak:s,done:o}=this.cursor.next(this.skipCount);if(this.skipCount=0,o)throw new Error("Ran out of text content when drawing inline views");this.text=r;let a=this.textOff=Math.min(e,r.length);return s?null:r.slice(0,a)}let t=Math.min(this.text.length,this.textOff+e),n=this.text.slice(this.textOff,t);return this.textOff=t,n}},us=[qi,pn,Ai,je,mn,Wt,dn];for(let i=0;i[]),this.index=us.map(()=>0),this.reused=new Map}add(e){let t=e.constructor.bucket,n=this.buckets[t];n.length<6?n.push(e):n[this.index[t]=(this.index[t]+1)%6]=e}find(e,t,n=2){let r=e.bucket,s=this.buckets[r],o=this.index[r];for(let a=0;a{if(this.cache.add(o),o.isComposite())return!1},enter:o=>this.cache.add(o),leave:()=>{},break:()=>{}}}run(e,t){let n=t&&this.getCompositionContext(t.text);for(let r=0,s=0,o=0;;){let a=or){let c=l-r;this.preserve(c,!o,!a),r=l,s+=c}if(!a)break;t&&a.fromA<=t.range.fromA&&a.toA>=t.range.toA?(this.forward(a.fromA,t.range.fromA,t.range.fromA{if(o.isWidget())if(this.openWidget)this.builder.continueWidget(l-a);else{let c=l>0||a{o.isLine()?this.builder.addLineStart(o.attrs,this.cache.maybeReuse(o)):(this.cache.add(o),o instanceof je&&r.unshift(o.mark)),this.openWidget=!1},leave:o=>{o.isLine()?r.length&&(r.length=s=0):o instanceof je&&(r.shift(),s=Math.min(s,r.length))},break:()=>{this.builder.addBreak(),this.openWidget=!1}}),this.text.skip(e)}emit(e,t){let n=null,r=this.builder,s=-1,o=ae.spans(this.decorations,e,t,{point:(a,l,c,h,f,u)=>{if(c instanceof Zi){if(this.disallowBlockEffectsFor[u]){if(c.block)throw new RangeError("Block decorations may not be specified via plugins");if(l>this.view.state.doc.lineAt(a).to)throw new RangeError("Decorations that replace line breaks may not be specified via plugins")}if(s=h.length,f>h.length)r.continueWidget(l-a);else{let O=c.widget||(c.block?hi.block:hi.inline),p=V0(c),m=this.cache.findWidget(O,l-a,p)||qi.of(O,this.view,l-a,p);c.block?(c.startSide>0&&r.addLineStartIfNotCovered(n),r.addBlockWidget(m)):(r.ensureLine(n),r.addInlineWidget(m,h,f))}n=null}else n=D0(n,c);l>a&&this.text.skip(l-a)},span:(a,l,c,h)=>{for(let f=a;f-1&&(this.openWidget=o>s),this.openWidget||r.addLineStartIfNotCovered(n),this.openMarks=o}forward(e,t,n=1){t-e<=10?this.old.advance(t-e,n,this.reuseWalker):(this.old.advance(5,-1,this.reuseWalker),this.old.advance(t-e-10,-1),this.old.advance(5,n,this.reuseWalker))}getCompositionContext(e){let t=[],n=null;for(let r=e.parentNode;;r=r.parentNode){let s=fe.get(r);if(r==this.view.contentDOM)break;s instanceof je?t.push(s):s?.isLine()?n=s:s instanceof Wt||(r.nodeName=="DIV"&&!n&&r!=this.view.contentDOM?n=new pn(r,Su):n||t.push(je.of(new tr({tagName:r.nodeName.toLowerCase(),attributes:k0(r)}),r)))}return{line:n,marks:t}}};function Tf(i,e){let t=n=>{for(let r of n.children)if((e?r.isText():r.length)||t(r))return!0;return!1};return t(i)}function V0(i){let e=i.isReplace?(i.startSide<0?64:0)|(i.endSide>0?128:0):i.startSide>0?32:16;return i.block&&(e|=256),e}var Su={class:"cm-line"};function D0(i,e){let t=e.spec.attributes,n=e.spec.class;return!t&&!n||(i||(i={class:"cm-line"}),t&&Ya(t,i),n&&(i.class+=" "+n)),i}function Y0(i){let e=[];for(let t=i.parents.length;t>1;t--){let n=t==i.parents.length?i.tile:i.parents[t].tile;n instanceof je&&e.push(n.mark)}return e}function ia(i){let e=fe.get(i);return e&&e.setDOM(i.cloneNode()),i}var hi=class extends ve{constructor(e){super(),this.tag=e}eq(e){return e.tag==this.tag}toDOM(){return document.createElement(this.tag)}updateDOM(e){return e.nodeName.toLowerCase()==this.tag}get isHidden(){return!0}};hi.inline=new hi("span");hi.block=new hi("div");var na=new class extends ve{toDOM(){return document.createElement("br")}get isHidden(){return!0}get editable(){return!0}},Os=class{constructor(e){this.view=e,this.decorations=[],this.blockWrappers=[],this.dynamicDecorationMap=[!1],this.domChanged=null,this.hasComposition=null,this.editContextFormatting=A.none,this.lastCompositionAfterCursor=!1,this.minWidth=0,this.minWidthFrom=0,this.minWidthTo=0,this.impreciseAnchor=null,this.impreciseHead=null,this.forceSelection=!1,this.lastUpdate=Date.now(),this.updateDeco(),this.tile=new dn(e,e.contentDOM),this.updateInner([new gt(0,0,0,e.state.doc.length)],null)}update(e){var t;let n=e.changedRanges;this.minWidth>0&&n.length&&(n.every(({fromA:h,toA:f})=>fthis.minWidthTo)?(this.minWidthFrom=e.changes.mapPos(this.minWidthFrom,1),this.minWidthTo=e.changes.mapPos(this.minWidthTo,1)):this.minWidth=this.minWidthFrom=this.minWidthTo=0),this.updateEditContextFormatting(e);let r=-1;this.view.inputState.composing>=0&&!this.view.observer.editContext&&(!((t=this.domChanged)===null||t===void 0)&&t.newSel?r=this.domChanged.newSel.head:!K0(e.changes,this.hasComposition)&&!e.selectionSet&&(r=e.state.selection.main.head));let s=r>-1?B0(this.view,e.changes,r):null;if(this.domChanged=null,this.hasComposition){let{from:h,to:f}=this.hasComposition;n=new gt(h,f,e.changes.mapPos(h,-1),e.changes.mapPos(f,1)).addToSet(n.slice())}this.hasComposition=s?{from:s.range.fromB,to:s.range.toB}:null,(L.ie||L.chrome)&&!s&&e&&e.state.doc.lines!=e.startState.doc.lines&&(this.forceSelection=!0);let o=this.decorations,a=this.blockWrappers;this.updateDeco();let l=N0(o,this.decorations,e.changes);l.length&&(n=gt.extendWithRanges(n,l));let c=F0(a,this.blockWrappers,e.changes);return c.length&&(n=gt.extendWithRanges(n,c)),s&&!n.some(h=>h.fromA<=s.range.fromA&&h.toA>=s.range.toA)&&(n=s.range.addToSet(n.slice())),this.tile.flags&2&&n.length==0?!1:(this.updateInner(n,s),e.transactions.length&&(this.lastUpdate=Date.now()),!0)}updateInner(e,t){this.view.viewState.mustMeasureContent=!0;let{observer:n}=this.view;n.ignore(()=>{if(t||e.length){let o=this.tile,a=new ya(this.view,o,this.blockWrappers,this.decorations,this.dynamicDecorationMap);t&&fe.get(t.text)&&a.cache.reused.set(fe.get(t.text),2),this.tile=a.run(e,t),ka(o,a.cache.reused)}this.tile.dom.style.height=this.view.viewState.contentHeight/this.view.scaleY+"px",this.tile.dom.style.flexBasis=this.minWidth?this.minWidth+"px":"";let s=L.chrome||L.ios?{node:n.selectionRange.focusNode,written:!1}:void 0;this.tile.sync(s),s&&(s.written||n.selectionRange.focusNode!=s.node||!this.tile.dom.contains(s.node))&&(this.forceSelection=!0),this.tile.dom.style.height=""});let r=[];if(this.view.viewport.from||this.view.viewport.to-1)&&Gn(n,this.view.observer.selectionRange)&&!(r&&n.contains(r));if(!(s||t||o))return;let a=this.forceSelection;this.forceSelection=!1;let l=this.view.state.selection.main,c,h;if(l.empty?h=c=this.inlineDOMNearPos(l.anchor,l.assoc||1):(h=this.inlineDOMNearPos(l.head,l.head==l.from?1:-1),c=this.inlineDOMNearPos(l.anchor,l.anchor==l.from?1:-1)),L.gecko&&l.empty&&!this.hasComposition&&I0(c)){let u=document.createTextNode("");this.view.observer.ignore(()=>c.node.insertBefore(u,c.node.childNodes[c.offset]||null)),c=h=new Tt(u,0),a=!0}let f=this.view.observer.selectionRange;(a||!f.focusNode||(!Nn(c.node,c.offset,f.anchorNode,f.anchorOffset)||!Nn(h.node,h.offset,f.focusNode,f.focusOffset))&&!this.suppressWidgetCursorChange(f,l))&&(this.view.observer.ignore(()=>{L.android&&L.chrome&&n.contains(f.focusNode)&&H0(f.focusNode,n)&&(n.blur(),n.focus({preventScroll:!0}));let u=nr(this.view.root);if(u)if(l.empty){if(L.gecko){let O=U0(c.node,c.offset);if(O&&O!=3){let p=(O==1?Jf:eu)(c.node,c.offset);p&&(c=new Tt(p.node,p.offset))}}u.collapse(c.node,c.offset),l.bidiLevel!=null&&u.caretBidiLevel!==void 0&&(u.caretBidiLevel=l.bidiLevel)}else if(u.extend){u.collapse(c.node,c.offset);try{u.extend(h.node,h.offset)}catch{}}else{let O=document.createRange();l.anchor>l.head&&([c,h]=[h,c]),O.setEnd(h.node,h.offset),O.setStart(c.node,c.offset),u.removeAllRanges(),u.addRange(O)}o&&this.view.root.activeElement==n&&(n.blur(),r&&r.focus())}),this.view.observer.setSelectionRange(c,h)),this.impreciseAnchor=c.precise?null:new Tt(f.anchorNode,f.anchorOffset),this.impreciseHead=h.precise?null:new Tt(f.focusNode,f.focusOffset)}suppressWidgetCursorChange(e,t){return this.hasComposition&&t.empty&&Nn(e.focusNode,e.focusOffset,e.anchorNode,e.anchorOffset)&&this.posFromDOM(e.focusNode,e.focusOffset)==t.head}enforceCursorAssoc(){if(this.hasComposition)return;let{view:e}=this,t=e.state.selection.main,n=nr(e.root),{anchorNode:r,anchorOffset:s}=e.observer.selectionRange;if(!n||!t.empty||!t.assoc||!n.modify)return;let o=this.lineAt(t.head,t.assoc);if(!o)return;let a=o.posAtStart;if(t.head==a||t.head==a+o.length)return;let l=this.coordsAt(t.head,-1),c=this.coordsAt(t.head,1);if(!l||!c||l.bottom>c.top)return;let h=this.domAtPos(t.head+t.assoc,t.assoc);n.collapse(h.node,h.offset),n.modify("move",t.assoc<0?"forward":"backward","lineboundary"),e.observer.readSelectionRange();let f=e.observer.selectionRange;e.docView.posFromDOM(f.anchorNode,f.anchorOffset)!=t.from&&n.collapse(r,s)}posFromDOM(e,t){let n=this.tile.nearest(e);if(!n)return this.tile.dom.compareDocumentPosition(e)&2?0:this.view.state.doc.length;let r=n.posAtStart;if(n.isComposite()){let s;if(e==n.dom)s=n.dom.childNodes[t];else{let o=jt(e)==0?0:t==0?-1:1;for(;;){let a=e.parentNode;if(a==n.dom)break;o==0&&a.firstChild!=a.lastChild&&(e==a.firstChild?o=-1:o=1),e=a}o<0?s=e:s=e.nextSibling}if(s==n.dom.firstChild)return r;for(;s&&!fe.get(s);)s=s.nextSibling;if(!s)return r+n.length;for(let o=0,a=r;;o++){let l=n.children[o];if(l.dom==s)return a;a+=l.length+l.breakAfter}}else return n.isText()?e==n.dom?r+t:r+(t?n.length:0):r}domAtPos(e,t){let{tile:n,offset:r}=this.tile.resolveBlock(e,t);return n.isWidget()?n.domPosFor(r,t):n.domIn(r,t)}inlineDOMNearPos(e,t){let n,r=-1,s=!1,o,a=-1,l=!1;return this.tile.blockTiles((c,h)=>{if(c.isWidget()){if(c.flags&32&&h>=e)return!0;c.flags&16&&(s=!0)}else{let f=h+c.length;if(h<=e&&(n=c,r=e-h,s=f=e&&!o&&(o=c,a=e-h,l=h>e),h>e&&o)return!0}}),!n&&!o?this.domAtPos(e,t):(s&&o?n=null:l&&n&&(o=null),n&&t<0||!o?n.domIn(r,t):o.domIn(a,t))}coordsAt(e,t,n){let{tile:r,offset:s}=this.tile.resolveBlock(e,t);return r.isWidget()?r.widget instanceof Kn?null:r.coordsInWidget(s,t,!0):r.coordsIn(s,t,n)}lineAt(e,t){let{tile:n}=this.tile.resolveBlock(e,t);return n.isLine()?n:null}coordsForChar(e){let{tile:t,offset:n}=this.tile.resolveBlock(e,1);if(!t.isLine())return null;function r(s,o){if(s.isComposite())for(let a of s.children){if(a.length>=o){let l=r(a,o);if(l)return l}if(o-=a.length,o<0)break}else if(s.isText()&&oMath.max(this.view.scrollDOM.clientWidth,this.minWidth)+1,a=-1,l=this.view.textDirection==ue.LTR,c=0,h=(f,u,O)=>{for(let p=0;pr);p++){let m=f.children[p],b=u+m.length,g=m.dom.getBoundingClientRect(),{height:Q}=g;if(O&&!p&&(c+=g.top-O.top),m instanceof Wt)b>n&&h(m,u,g);else if(u>=n&&(c>0&&t.push(-c),t.push(Q+c),c=0,o)){let S=m.dom.lastChild,x=S?os(S):[];if(x.length){let v=x[x.length-1],$=l?v.right-g.left:g.right-v.left;$>a&&(a=$,this.minWidth=s,this.minWidthFrom=u,this.minWidthTo=b)}}O&&p==f.children.length-1&&(c+=O.bottom-g.bottom),u=b+m.breakAfter}};return h(this.tile,0,null),t}textDirectionAt(e){let{tile:t}=this.tile.resolveBlock(e,1);return getComputedStyle(t.dom).direction=="rtl"?ue.RTL:ue.LTR}measureTextSize(){let e=this.tile.blockTiles(o=>{if(o.isLine()&&o.children.length&&o.length<=20){let a=0,l;for(let c of o.children){if(!c.isText()||/[^ -~]/.test(c.text))return;let h=os(c.dom);if(h.length!=1)return;a+=h[0].width,l=h[0].height}if(a)return{lineHeight:o.dom.getBoundingClientRect().height,charWidth:a/o.length,textHeight:l}}});if(e)return e;let t=document.createElement("div"),n,r,s;return t.className="cm-line",t.style.width="99999px",t.style.position="absolute",t.textContent="abc def ghi jkl mno pqr stu",this.view.observer.ignore(()=>{this.tile.dom.appendChild(t);let o=os(t.firstChild)[0];n=t.getBoundingClientRect().height,r=o&&o.width?o.width/27:7,s=o&&o.height?o.height:n,t.remove()}),{lineHeight:n,charWidth:r,textHeight:s}}computeBlockGapDeco(){let e=[],t=this.view.viewState;for(let n=0,r=0;;r++){let s=r==t.viewports.length?null:t.viewports[r],o=s?s.from-1:this.view.state.doc.length;if(o>n){let a=(t.lineBlockAt(o).bottom-t.lineBlockAt(n).top)/this.view.scaleY;e.push(A.replace({widget:new Kn(a),block:!0,inclusive:!0,isBlockGap:!0}).range(n,o))}if(!s)break;n=s.to+1}return A.set(e)}updateDeco(){let e=1,t=this.view.state.facet(ys).map(s=>(this.dynamicDecorationMap[e++]=typeof s=="function")?s(this.view):s),n=!1,r=this.view.state.facet(Fa).map((s,o)=>{let a=typeof s=="function";return a&&(n=!0),a?s(this.view):s});for(r.length&&(this.dynamicDecorationMap[e++]=n,t.push(ae.join(r))),this.decorations=[this.editContextFormatting,...t,this.computeBlockGapDeco(),this.view.viewState.lineGapDeco];etypeof s=="function"?s(this.view):s)}scrollIntoView(e){if(e.isSnapshot){let c=this.view.viewState.lineBlockAt(e.range.head);this.view.scrollDOM.scrollTop=c.top-e.yMargin,this.view.scrollDOM.scrollLeft=e.xMargin;return}for(let c of this.view.state.facet(Ou))try{if(c(this.view,e.range,e))return!0}catch(h){lt(this.view.state,h,"scroll handler")}let{range:t}=e,n=this.coordsAt(t.head,t.assoc||(t.head>t.anchor?-1:1)),r;if(!n)return;!t.empty&&(r=this.coordsAt(t.anchor,t.anchor>t.head?-1:1))&&(n={left:Math.min(n.left,r.left),top:Math.min(n.top,r.top),right:Math.max(n.right,r.right),bottom:Math.max(n.bottom,r.bottom)});let s=bu(this.view),o={left:n.left-s.left,top:n.top-s.top,right:n.right+s.right,bottom:n.bottom+s.bottom},{offsetWidth:a,offsetHeight:l}=this.view.scrollDOM;if(P0(this.view.scrollDOM,o,t.head1&&(n.top>window.pageYOffset+window.visualViewport.offsetTop+window.visualViewport.height||n.bottomn.isWidget()||n.children.some(t);return t(this.tile.resolveBlock(e,1).tile)}destroy(){ka(this.tile)}};function ka(i,e){let t=e?.get(i);if(t!=1){t==null&&i.destroy();for(let n of i.children)ka(n,e)}}function I0(i){return i.node.nodeType==1&&i.node.firstChild&&(i.offset==0||i.node.childNodes[i.offset-1].contentEditable=="false")&&(i.offset==i.node.childNodes.length||i.node.childNodes[i.offset].contentEditable=="false")}function yu(i,e){let t=i.observer.selectionRange;if(!t.focusNode)return null;let n=Jf(t.focusNode,t.focusOffset),r=eu(t.focusNode,t.focusOffset),s=n||r;if(r&&n&&r.node!=n.node){let a=fe.get(r.node);if(!a||a.isText()&&a.text!=r.node.nodeValue)s=r;else if(i.docView.lastCompositionAfterCursor){let l=fe.get(n.node);!l||l.isText()&&l.text!=n.node.nodeValue||(s=r)}}if(i.docView.lastCompositionAfterCursor=s!=n,!s)return null;let o=e-s.offset;return{from:o,to:o+s.node.nodeValue.length,node:s.node}}function B0(i,e,t){let n=yu(i,t);if(!n)return null;let{node:r,from:s,to:o}=n,a=r.nodeValue;if(/[\n\r]/.test(a)||i.state.doc.sliceString(n.from,n.to)!=a)return null;let l=e.invertedDesc;return{range:new gt(l.mapPos(s),l.mapPos(o),s,o),text:r}}function U0(i,e){return i.nodeType!=1?0:(e&&i.childNodes[e-1].contentEditable=="false"?1:0)|(e{ne.from&&(t=!0)}),t}var Kn=class extends ve{constructor(e){super(),this.height=e}toDOM(){let e=document.createElement("div");return e.className="cm-gap",this.updateDOM(e),e}eq(e){return e.height==this.height}updateDOM(e){return e.style.height=this.height+"px",!0}get editable(){return!0}get estimatedHeight(){return this.height}ignoreEvent(){return!1}};function J0(i,e,t=1){let n=i.charCategorizer(e),r=i.doc.lineAt(e),s=e-r.from;if(r.length==0)return P.cursor(e);s==0?t=1:s==r.length&&(t=-1);let o=s,a=s;t<0?o=ke(r.text,s,!1):a=ke(r.text,s);let l=n(r.text.slice(o,a));for(;o>0;){let c=ke(r.text,o,!1);if(n(r.text.slice(c,o))!=l)break;o=c}for(;ai.defaultLineHeight*1.5){let a=i.viewState.heightOracle.textHeight,l=Math.floor((r-t.top-(i.defaultLineHeight-a)*.5)/a);s+=l*i.viewState.heightOracle.lineLength}let o=i.state.sliceDoc(t.from,t.to);return t.from+pf(o,s,i.state.tabSize)}function tQ(i,e,t){let n=i.lineBlockAt(e);if(Array.isArray(n.type)){let r;for(let s of n.type){if(s.from>e)break;if(!(s.toe)return s;(!r||s.type==ct.Text&&(r.type!=s.type||(t<0?s.frome)))&&(r=s)}}return r||n}return n}function iQ(i,e,t,n){let r=tQ(i,e.head,e.assoc||-1),s=!n||r.type!=ct.Text||!(i.lineWrapping||r.widgetLineBreaks)?null:i.coordsAtPos(e.assoc<0&&e.head>r.from?e.head-1:e.head);if(s){let o=i.dom.getBoundingClientRect(),a=i.textDirectionAt(r.from),l=i.posAtCoords({x:t==(a==ue.LTR)?o.right-1:o.left+1,y:(s.top+s.bottom)/2});if(l!=null)return P.cursor(l,t?-1:1)}return P.cursor(t?r.to:r.from,t?-1:1)}function Cf(i,e,t,n){let r=i.state.doc.lineAt(e.head),s=i.bidiSpans(r),o=i.textDirectionAt(r.from);for(let a=e,l=null;;){let c=E0(r,s,o,a,t),h=su;if(!c){if(r.number==(t?i.state.doc.lines:1))return a;h=` +`,r=i.state.doc.line(r.number+(t?1:-1)),s=i.bidiSpans(r),c=i.visualLineSide(r,!t)}if(l){if(!l(h))return a}else{if(!n)return c;l=n(h)}a=c}}function nQ(i,e,t){let n=i.state.charCategorizer(e),r=n(t);return s=>{let o=n(s);return r==Ee.Space&&(r=o),r==o}}function rQ(i,e,t,n){let r=e.head,s=t?1:-1;if(r==(t?i.state.doc.length:0))return P.cursor(r,e.assoc);let o=e.goalColumn,a,l=i.contentDOM.getBoundingClientRect(),c=i.coordsAtPos(r,e.assoc||((e.empty?t:e.head==e.from)?1:-1)),h=i.documentTop;if(c)o==null&&(o=c.left-l.left),a=s<0?c.top:c.bottom;else{let p=i.viewState.lineBlockAt(r);o==null&&(o=Math.min(l.right-l.left,i.defaultCharacterWidth*(r-p.from))),a=(s<0?p.top:p.bottom)+h}let f=l.left+o,u=i.viewState.heightOracle.textHeight>>1,O=n??u;for(let p=0;;p+=u){let m=a+(O+p)*s,b=wa(i,{x:f,y:m},!1,s);if(t?m>l.bottom:ma:Q{if(e>s&&er(i)),t.from,e.head>t.from?-1:1);return n==t.from?t:P.cursor(n,ni.viewState.docHeight)return new ot(i.state.doc.length,-1);if(c=i.elementAtHeight(l),n==null)break;if(c.type==ct.Text){if(n<0?c.toi.viewport.to)break;let u=i.docView.coordsAt(n<0?c.from:c.to,n>0?-1:1);if(u&&(n<0?u.top<=l+s:u.bottom>=l+s))break}let f=i.viewState.heightOracle.textHeight/2;l=n>0?c.bottom+f:c.top-f}if(i.viewport.from>=c.to||i.viewport.to<=c.from){if(t)return null;if(c.type==ct.Text){let f=eQ(i,r,c,o,a);return new ot(f,f==c.from?1:-1)}}if(c.type!=ct.Text)return l<(c.top+c.bottom)/2?new ot(c.from,1):new ot(c.to,-1);let h=i.docView.lineAt(c.from,2);return(!h||h.length!=c.length)&&(h=i.docView.lineAt(c.from,-2)),new Pa(i,o,a,i.textDirectionAt(c.from)).scanTile(h,c.from)}var Pa=class{constructor(e,t,n,r){this.view=e,this.x=t,this.y=n,this.baseDir=r,this.line=null,this.spans=null}bidiSpansAt(e){return(!this.line||this.line.from>e||this.line.to1||n.length&&(n[0].level!=this.baseDir||n[0].to+r.from>1;t:if(o.has(m)){let g=r+Math.floor(Math.random()*p);for(let Q=0;Q1)){if(Q.bottomthis.y)(!c||c.top>Q.top)&&(c=Q),S=-1;else{let x=Q.left>this.x?this.x-Q.left:Q.right(p+p+m)/3)return this.y=l.bottom-1,this.scan(e,t,!0);if(c&&c.top<(p+m+m)/3)return this.y=c.top+1,this.scan(e,t,!0)}let O=(a?this.dirAt(e[h],1):this.baseDir)==ue.LTR;return{i:h,after:this.x>(u.left+u.right)/2==O}}scanText(e,t){let n=[];for(let s=0;s{let o=n[s]-t,a=n[s+1]-t;return rr(e.dom,o,a).getClientRects()});return r.after?new ot(n[r.i+1],-1):new ot(n[r.i],1)}scanTile(e,t){if(!e.length)return new ot(t,1);if(e.children.length==1){let a=e.children[0];if(a.isText())return this.scanText(a,t);if(a.isComposite())return this.scanTile(a,t)}let n=[t];for(let a=0,l=t;a{let l=e.children[a];return l.flags&48?null:(l.dom.nodeType==1?l.dom:rr(l.dom,0,l.length)).getClientRects()}),s=e.children[r.i],o=n[r.i];return s.isText()?this.scanText(s,o):s.isComposite()?this.scanTile(s,o):r.after?new ot(n[r.i+1],-1):new ot(o,1)}},ln="\uFFFF",va=class{constructor(e,t){this.points=e,this.view=t,this.text="",this.lineSeparator=t.state.facet(se.lineSeparator)}append(e){this.text+=e}lineBreak(){this.text+=ln}readRange(e,t){if(!e)return this;let n=e.parentNode;for(let r=e;;){this.findPointBefore(n,r);let s=this.text.length;this.readNode(r);let o=fe.get(r),a=r.nextSibling;if(a==t){o?.breakAfter&&!a&&n!=this.view.contentDOM&&this.lineBreak();break}let l=fe.get(a);(o&&l?o.breakAfter:(o?o.breakAfter:cs(r))||cs(a)&&(r.nodeName!="BR"||o?.isWidget())&&this.text.length>s)&&!oQ(a,t)&&this.lineBreak(),r=a}return this.findPointBefore(n,t),this}readTextNode(e){let t=e.nodeValue;for(let n of this.points)n.node==e&&(n.pos=this.text.length+Math.min(n.offset,t.length));for(let n=0,r=this.lineSeparator?null:/\r\n?|\n/g;;){let s=-1,o=1,a;if(this.lineSeparator?(s=t.indexOf(this.lineSeparator,n),o=this.lineSeparator.length):(a=r.exec(t))&&(s=a.index,o=a[0].length),this.append(t.slice(n,s<0?t.length:s)),s<0)break;if(this.lineBreak(),o>1)for(let l of this.points)l.node==e&&l.pos>this.text.length&&(l.pos-=o-1);n=s+o}}readNode(e){let t=fe.get(e),n=t&&t.overrideDOMText;if(n!=null){this.findPointInside(e,n.length);for(let r=n.iter();!r.next().done;)r.lineBreak?this.lineBreak():this.append(r.value)}else e.nodeType==3?this.readTextNode(e):e.nodeName=="BR"?e.nextSibling&&this.lineBreak():e.nodeType==1&&this.readRange(e.firstChild,null)}findPointBefore(e,t){for(let n of this.points)n.node==e&&e.childNodes[n.offset]==t&&(n.pos=this.text.length)}findPointInside(e,t){for(let n of this.points)(e.nodeType==3?n.node==e:e.contains(n.node))&&(n.pos=this.text.length+(sQ(e,n.node,n.offset)?t:0))}};function sQ(i,e,t){for(;;){if(!e||t-1;let{impreciseHead:s,impreciseAnchor:o}=e.docView,a=e.state.selection;if(e.state.readOnly&&t>-1)this.newSel=null;else if(t>-1&&(this.bounds=xu(e.docView.tile,t,n,0))){let l=s||o?[]:lQ(e),c=new va(l,e);c.readRange(this.bounds.startDOM,this.bounds.endDOM),this.text=c.text,this.newSel=cQ(l,this.bounds.from)}else{let l=e.observer.selectionRange,c=s&&s.node==l.focusNode&&s.offset==l.focusOffset||!ha(e.contentDOM,l.focusNode)?a.main.head:e.docView.posFromDOM(l.focusNode,l.focusOffset),h=o&&o.node==l.anchorNode&&o.offset==l.anchorOffset||!ha(e.contentDOM,l.anchorNode)?a.main.anchor:e.docView.posFromDOM(l.anchorNode,l.anchorOffset),f=e.viewport;if((L.ios||L.chrome)&&c!=h&&Math.min(c,h)<=a.main.from&&Math.max(c,h)>=a.main.to&&(f.from>0||f.to-1&&a.ranges.length>1)this.newSel=a.replaceRange(P.range(h,c));else if(e.lineWrapping&&h==c&&!(a.main.empty&&a.main.head==c)&&e.inputState.lastTouchTime>Date.now()-100){let u=e.coordsAtPos(c,-1),O=0;u&&(O=e.inputState.lastTouchY<=u.bottom?-1:1),this.newSel=P.create([P.cursor(c,O)])}else this.newSel=P.single(h,c)}}};function xu(i,e,t,n){if(i.isComposite()){let r=-1,s=-1,o=-1,a=-1;for(let l=0,c=n,h=n;lt)return xu(f,e,t,c);if(u>=e&&r==-1&&(r=l,s=c),c>t&&f.dom.parentNode==i.dom){o=l,a=h;break}h=u,c=u+f.breakAfter}return{from:s,to:a<0?n+i.length:a,startDOM:(r?i.children[r-1].dom.nextSibling:null)||i.dom.firstChild,endDOM:o=0?i.children[o].dom:null}}else return i.isText()?{from:n,to:n+i.length,startDOM:i.dom,endDOM:i.dom.nextSibling}:null}function wu(i,e){let t,{newSel:n}=e,{state:r}=i,s=r.selection.main,o=i.inputState.lastKeyTime>Date.now()-100?i.inputState.lastKeyCode:-1;if(e.bounds){let{from:a,to:l}=e.bounds,c=s.from,h=null;(o===8||L.android&&e.text.length=a&&s.to<=l&&(e.typeOver||f!=e.text)&&f.slice(0,s.from-a)==e.text.slice(0,s.from-a)&&f.slice(s.to-a)==e.text.slice(u=e.text.length-(f.length-(s.to-a)))?t={from:s.from,to:s.to,insert:K.of(e.text.slice(s.from-a,u).split(ln))}:(O=Pu(f,e.text,c-a,h))&&(L.chrome&&o==13&&O.toB==O.from+2&&e.text.slice(O.from,O.toB)==ln+ln&&O.toB--,t={from:a+O.from,to:a+O.toA,insert:K.of(e.text.slice(O.from,O.toB).split(ln))})}else n&&(!i.hasFocus&&r.facet(Mt)||ps(n,s))&&(n=null);if(!t&&!n)return!1;if((L.mac||L.android)&&t&&t.from==t.to&&t.from==s.head-1&&/^\. ?$/.test(t.insert.toString())&&i.contentDOM.getAttribute("autocorrect")=="off"?(n&&t.insert.length==2&&(n=P.single(n.main.anchor-1,n.main.head-1)),t={from:t.from,to:t.to,insert:K.of([t.insert.toString().replace("."," ")])}):r.doc.lineAt(s.from).toDate.now()-50?t={from:s.from,to:s.to,insert:r.toText(i.inputState.insertingText)}:L.chrome&&t&&t.from==t.to&&t.from==s.head&&t.insert.toString()==` + `&&i.lineWrapping&&(n&&(n=P.single(n.main.anchor-1,n.main.head-1)),t={from:s.from,to:s.to,insert:K.of([" "])}),t)return Ha(i,t,n,o);if(n&&!ps(n,s)){let a=!1,l="select";return i.inputState.lastSelectionTime>Date.now()-50&&(i.inputState.lastSelectionOrigin=="select"&&(a=!0),l=i.inputState.lastSelectionOrigin,l=="select.pointer"&&(n=ku(r.facet(sr).map(c=>c(i)),n))),i.dispatch({selection:n,scrollIntoView:a,userEvent:l}),!0}else return!1}function Ha(i,e,t,n=-1){if(L.ios&&i.inputState.flushIOSKey(e))return!0;let r=i.state.selection.main;if(L.android&&(e.to==r.to&&(e.from==r.from||e.from==r.from-1&&i.state.sliceDoc(e.from,r.from)==" ")&&e.insert.length==1&&e.insert.lines==2&&un(i.contentDOM,"Enter",13)||(e.from==r.from-1&&e.to==r.to&&e.insert.length==0||n==8&&e.insert.lengthr.head)&&un(i.contentDOM,"Backspace",8)||e.from==r.from&&e.to==r.to+1&&e.insert.length==0&&un(i.contentDOM,"Delete",46)))return!0;let s=e.insert.toString();i.inputState.composing>=0&&i.inputState.composing++;let o,a=()=>o||(o=aQ(i,e,t));return i.state.facet(hu).some(l=>l(i,e.from,e.to,s,a))||i.dispatch(a()),!0}function aQ(i,e,t){let n,r=i.state,s=r.selection.main,o=-1;if(e.from==e.to&&e.froms.to){let l=e.fromf(i)),c,l);e.from==h&&(o=h)}if(o>-1)n={changes:e,selection:P.cursor(e.from+e.insert.length,-1)};else if(e.from>=s.from&&e.to<=s.to&&e.to-e.from>=(s.to-s.from)/3&&(!t||t.main.empty&&t.main.from==e.from+e.insert.length)&&i.inputState.composing<0){let l=s.frome.to?r.sliceDoc(e.to,s.to):"";n=r.replaceSelection(i.state.toText(l+e.insert.sliceString(0,void 0,i.state.lineBreak)+c))}else{let l=r.changes(e),c=t&&t.main.to<=l.newLength?t.main:void 0;if(r.selection.ranges.length>1&&(i.inputState.composing>=0||i.inputState.compositionPendingChange)&&e.to<=s.to+10&&e.to>=s.to-10){let h=i.state.sliceDoc(e.from,e.to),f,u=t&&yu(i,t.main.head);if(u){let p=e.insert.length-(e.to-e.from);f={from:u.from,to:u.to-p}}else f=i.state.doc.lineAt(s.head);let O=s.to-e.to;n=r.changeByRange(p=>{if(p.from==s.from&&p.to==s.to)return{changes:l,range:c||p.map(l)};let m=p.to-O,b=m-h.length;if(i.state.sliceDoc(b,m)!=h||m>=f.from&&b<=f.to)return{range:p};let g=r.changes({from:b,to:m,insert:e.insert}),Q=p.to-s.to;return{changes:g,range:c?P.range(Math.max(0,c.anchor+Q),Math.max(0,c.head+Q)):p.map(g)}})}else n={changes:l,selection:c&&r.selection.replaceRange(c)}}let a="input.type";return(i.composing||i.inputState.compositionPendingChange&&i.inputState.compositionEndedAt>Date.now()-50)&&(i.inputState.compositionPendingChange=!1,a+=".compose",i.inputState.compositionFirstChange&&(a+=".start",i.inputState.compositionFirstChange=!1)),r.update(n,{userEvent:a,scrollIntoView:!0})}function Pu(i,e,t,n){let r=Math.min(i.length,e.length),s=0;for(;s0&&a>0&&i.charCodeAt(o-1)==e.charCodeAt(a-1);)o--,a--;if(n=="end"){let l=Math.max(0,s-Math.min(o,a));t-=o+l-s}if(o=o?s-t:0;s-=l,a=s+(a-o),o=s}else if(a=a?s-t:0;s-=l,o=s+(o-a),a=s}return{from:s,toA:o,toB:a}}function lQ(i){let e=[];if(i.root.activeElement!=i.contentDOM)return e;let{anchorNode:t,anchorOffset:n,focusNode:r,focusOffset:s}=i.observer.selectionRange;return t&&(e.push(new ds(t,n)),(r!=t||s!=n)&&e.push(new ds(r,s))),e}function cQ(i,e){if(i.length==0)return null;let t=i[0].pos,n=i.length==2?i[1].pos:t;return t>-1&&n>-1?P.single(t+e,n+e):null}function ps(i,e){return e.head==i.main.head&&e.anchor==i.main.anchor}var Ta=class{setSelectionOrigin(e){this.lastSelectionOrigin=e,this.lastSelectionTime=Date.now()}constructor(e){this.view=e,this.lastKeyCode=0,this.lastKeyTime=0,this.touchActive=!1,this.lastTouchTime=0,this.lastTouchX=0,this.lastTouchY=0,this.lastFocusTime=0,this.lastScrollTop=0,this.lastScrollLeft=0,this.lastWheelEvent=0,this.pendingIOSKey=void 0,this.lastIOSMomentumScroll=0,this.tabFocusMode=-1,this.lastSelectionOrigin=null,this.lastSelectionTime=0,this.lastContextMenu=0,this.scrollHandlers=[],this.handlers=Object.create(null),this.composing=-1,this.compositionFirstChange=null,this.compositionEndedAt=0,this.compositionPendingKey=!1,this.compositionPendingChange=!1,this.insertingText="",this.insertingTextAt=0,this.mouseSelection=null,this.draggedContent=null,this.handleEvent=this.handleEvent.bind(this),this.notifiedFocused=e.hasFocus,L.safari&&e.contentDOM.addEventListener("input",()=>null),L.gecko&&wQ(e.contentDOM.ownerDocument)}handleEvent(e){!gQ(this.view,e)||this.ignoreDuringComposition(e)||e.type=="keydown"&&this.keydown(e)||(this.view.updateState!=0?Promise.resolve().then(()=>this.runHandlers(e.type,e)):this.runHandlers(e.type,e))}runHandlers(e,t){let n=this.handlers[e];if(n){for(let r of n.observers)r(this.view,t);for(let r of n.handlers){if(t.defaultPrevented)break;if(r(this.view,t)){t.preventDefault();break}}}}ensureHandlers(e){let t=fQ(e),n=this.handlers,r=this.view.contentDOM;for(let s in t)if(s!="scroll"){let o=!t[s].handlers.length,a=n[s];a&&o!=!a.handlers.length&&(r.removeEventListener(s,this.handleEvent),a=null),a||r.addEventListener(s,this.handleEvent,{passive:o})}for(let s in n)s!="scroll"&&!t[s]&&r.removeEventListener(s,this.handleEvent);this.handlers=t}keydown(e){if(this.lastKeyCode=e.keyCode,this.lastKeyTime=Date.now(),e.keyCode==9&&this.tabFocusMode>-1&&(!this.tabFocusMode||Date.now()<=this.tabFocusMode))return!0;if(this.tabFocusMode>0&&e.keyCode!=27&&$u.indexOf(e.keyCode)<0&&(this.tabFocusMode=-1),L.android&&L.chrome&&!e.synthetic&&(e.keyCode==13||e.keyCode==8))return this.view.observer.delayAndroidKey(e.key,e.keyCode),!0;if(L.ios&&!e.synthetic&&!e.altKey&&!e.metaKey&&(vu.some(t=>t.keyCode==e.keyCode)&&!e.ctrlKey||uQ.indexOf(e.key)>-1&&e.ctrlKey)){let t={ctrlKey:e.ctrlKey,altKey:e.altKey,metaKey:e.metaKey,shiftKey:e.shiftKey};return t.shiftKey&&L.ios&&!/^(off|none)$/.test(this.view.contentDOM.autocapitalize)&&hQ(this.view.win)&&(t.shiftKey=!1),this.pendingIOSKey={key:e.key,keyCode:e.keyCode,mods:t},setTimeout(()=>this.flushIOSKey(),250),!0}return e.keyCode!=229&&this.view.observer.forceFlush(),!1}flushIOSKey(e){let t=this.pendingIOSKey;return!t||t.key=="Enter"&&e&&e.from0?!0:L.safari&&!L.ios&&this.compositionPendingKey&&Date.now()-this.compositionEndedAt<100?(this.compositionPendingKey=!1,!0):!1}startMouseSelection(e){this.mouseSelection&&this.mouseSelection.destroy(),this.mouseSelection=e}update(e){this.view.observer.update(e),this.mouseSelection&&this.mouseSelection.update(e),this.draggedContent&&e.docChanged&&(this.draggedContent=this.draggedContent.map(e.changes)),e.transactions.length&&(this.lastKeyCode=this.lastSelectionTime=0)}destroy(){this.mouseSelection&&this.mouseSelection.destroy()}};function hQ(i){return i.visualViewport?i.visualViewport.height*i.visualViewport.scale/i.document.documentElement.clientHeight<.85:!1}function Xf(i,e){return(t,n)=>{try{return e.call(i,n,t)}catch(r){lt(t.state,r)}}}function fQ(i){let e=Object.create(null);function t(n){return e[n]||(e[n]={observers:[],handlers:[]})}for(let n of i){let r=n.spec,s=r&&r.plugin.domEventHandlers,o=r&&r.plugin.domEventObservers;if(s)for(let a in s){let l=s[a];l&&t(a).handlers.push(Xf(n.value,l))}if(o)for(let a in o){let l=o[a];l&&t(a).observers.push(Xf(n.value,l))}}for(let n in Qt)t(n).handlers.push(Qt[n]);for(let n in Le)t(n).observers.push(Le[n]);return e}var vu=[{key:"Backspace",keyCode:8,inputType:"deleteContentBackward"},{key:"Enter",keyCode:13,inputType:"insertParagraph"},{key:"Enter",keyCode:13,inputType:"insertLineBreak"},{key:"Delete",keyCode:46,inputType:"deleteContentForward"}],uQ="dthko",$u=[16,17,18,20,91,92,224,225],es=6;function ts(i){return Math.max(0,i)*.7+8}function OQ(i,e){return Math.max(Math.abs(i.clientX-e.clientX),Math.abs(i.clientY-e.clientY))}var Ca=class{constructor(e,t,n,r){this.view=e,this.startEvent=t,this.style=n,this.mustSelect=r,this.scrollSpeed={x:0,y:0},this.scrolling=-1,this.lastEvent=t,this.scrollParents=Ff(e.contentDOM),this.atoms=e.state.facet(sr).map(o=>o(e));let s=e.contentDOM.ownerDocument;s.addEventListener("mousemove",this.move=this.move.bind(this)),s.addEventListener("mouseup",this.up=this.up.bind(this)),this.extend=t.shiftKey,this.multiple=e.state.facet(se.allowMultipleSelections)&&dQ(e,t),this.dragging=mQ(e,t)&&Xu(t)==1?null:!1}start(e){this.dragging===!1&&this.select(e)}move(e){if(e.buttons==0)return this.destroy();if(this.dragging||this.dragging==null&&OQ(this.startEvent,e)<10)return;this.select(this.lastEvent=e);let t=0,n=0,r=0,s=0,o=this.view.win.innerWidth,a=this.view.win.innerHeight;this.scrollParents.x&&({left:r,right:o}=this.scrollParents.x.getBoundingClientRect()),this.scrollParents.y&&({top:s,bottom:a}=this.scrollParents.y.getBoundingClientRect());let l=bu(this.view);e.clientX-l.left<=r+es?t=-ts(r-e.clientX):e.clientX+l.right>=o-es&&(t=ts(e.clientX-o)),e.clientY-l.top<=s+es?n=-ts(s-e.clientY):e.clientY+l.bottom>=a-es&&(n=ts(e.clientY-a)),this.setScrollSpeed(t,n)}up(e){this.dragging==null&&this.select(this.lastEvent),this.dragging||e.preventDefault(),this.destroy()}destroy(){this.setScrollSpeed(0,0);let e=this.view.contentDOM.ownerDocument;e.removeEventListener("mousemove",this.move),e.removeEventListener("mouseup",this.up),this.view.inputState.mouseSelection=this.view.inputState.draggedContent=null}setScrollSpeed(e,t){this.scrollSpeed={x:e,y:t},e||t?this.scrolling<0&&(this.scrolling=setInterval(()=>this.scroll(),50)):this.scrolling>-1&&(clearInterval(this.scrolling),this.scrolling=-1)}scroll(){let{x:e,y:t}=this.scrollSpeed;e&&this.scrollParents.x&&(this.scrollParents.x.scrollLeft+=e,e=0),t&&this.scrollParents.y&&(this.scrollParents.y.scrollTop+=t,t=0),(e||t)&&this.view.win.scrollBy(e,t),this.dragging===!1&&this.select(this.lastEvent)}select(e){let{view:t}=this,n=ku(this.atoms,this.style.get(e,this.extend,this.multiple));(this.mustSelect||!n.eq(t.state.selection,this.dragging===!1))&&this.view.dispatch({selection:n,userEvent:"select.pointer"}),this.mustSelect=!1}update(e){e.transactions.some(t=>t.isUserEvent("input.type"))?this.destroy():this.style.update(e)&&setTimeout(()=>this.select(this.lastEvent),20)}};function dQ(i,e){let t=i.state.facet(ou);return t.length?t[0](e):L.mac?e.metaKey:e.ctrlKey}function pQ(i,e){let t=i.state.facet(au);return t.length?t[0](e):L.mac?!e.altKey:!e.ctrlKey}function mQ(i,e){let{main:t}=i.state.selection;if(t.empty)return!1;let n=nr(i.root);if(!n||n.rangeCount==0)return!0;let r=n.getRangeAt(0).getClientRects();for(let s=0;s=e.clientX&&o.top<=e.clientY&&o.bottom>=e.clientY)return!0}return!1}function gQ(i,e){if(!e.bubbles)return!0;if(e.defaultPrevented)return!1;for(let t=e.target,n;t!=i.contentDOM;t=t.parentNode)if(!t||t.nodeType==11||(n=fe.get(t))&&n.isWidget()&&!n.isHidden&&n.widget.ignoreEvent(e))return!1;return!0}var Qt=Object.create(null),Le=Object.create(null),Tu=L.ie&&L.ie_version<15||L.ios&&L.webkit_version<604;function QQ(i){let e=i.dom.parentNode;if(!e)return;let t=e.appendChild(document.createElement("textarea"));t.style.cssText="position: fixed; left: -10000px; top: 10px",t.focus(),setTimeout(()=>{i.focus(),t.remove(),Cu(i,t.value)},50)}function ks(i,e,t){for(let n of i.facet(e))t=n(t,i);return t}function Cu(i,e){e=ks(i.state,Ua,e);let{state:t}=i,n,r=1,s=t.toText(e),o=s.lines==t.selection.ranges.length;if(Xa!=null&&t.selection.ranges.every(l=>l.empty)&&Xa==s.toString()){let l=-1;n=t.changeByRange(c=>{let h=t.doc.lineAt(c.from);if(h.from==l)return{range:c};l=h.from;let f=t.toText((o?s.line(r++).text:e)+t.lineBreak);return{changes:{from:h.from,insert:f},range:P.cursor(c.from+f.length)}})}else o?n=t.changeByRange(l=>{let c=s.line(r++);return{changes:{from:l.from,to:l.to,insert:c.text},range:P.cursor(l.from+c.length)}}):n=t.replaceSelection(s);i.dispatch(n,{userEvent:"input.paste",scrollIntoView:!0})}Le.scroll=i=>{let e=i.inputState;e.lastScrollTop=i.scrollDOM.scrollTop,e.lastScrollLeft=i.scrollDOM.scrollLeft,L.ios&&!e.touchActive&&(e.lastIOSMomentumScroll=Date.now())};Le.wheel=Le.mousewheel=i=>{i.inputState.lastWheelEvent=Date.now()};Qt.keydown=(i,e)=>(i.inputState.setSelectionOrigin("select"),e.keyCode==27&&i.inputState.tabFocusMode!=0&&(i.inputState.tabFocusMode=Date.now()+2e3),!1);Le.touchstart=(i,e)=>{let t=i.inputState,n=e.targetTouches[0];t.touchActive=!0,t.lastTouchTime=Date.now(),n&&(t.lastTouchX=n.clientX,t.lastTouchY=n.clientY),t.setSelectionOrigin("select.pointer")};Le.touchmove=i=>{i.inputState.setSelectionOrigin("select.pointer")};Le.touchend=(i,e)=>{i.inputState.touchActive=!1};Qt.mousedown=(i,e)=>{if(i.observer.flush(),i.inputState.lastTouchTime>Date.now()-2e3)return!1;let t=null;for(let n of i.state.facet(lu))if(t=n(i,e),t)break;if(!t&&e.button==0&&(t=SQ(i,e)),t){let n=!i.hasFocus;i.inputState.startMouseSelection(new Ca(i,e,t,n)),n&&i.observer.ignore(()=>{Hf(i.contentDOM);let s=i.root.activeElement;s&&!s.contains(i.contentDOM)&&s.blur()});let r=i.inputState.mouseSelection;if(r)return r.start(e),r.dragging===!1}else i.inputState.setSelectionOrigin("select.pointer");return!1};function _f(i,e,t,n){if(n==1)return P.cursor(e,t);if(n==2)return J0(i.state,e,t);{let r=i.docView.lineAt(e,t),s=i.state.doc.lineAt(r?r.posAtEnd:e),o=r?r.posAtStart:s.from,a=r?r.posAtEnd:s.to;return aDate.now()-400&&Math.abs(e.clientX-i.clientX)<2&&Math.abs(e.clientY-i.clientY)<2?(Af+1)%3:1}function SQ(i,e){let t=i.posAndSideAtCoords({x:e.clientX,y:e.clientY},!1),n=Xu(e),r=i.state.selection;return{update(s){s.docChanged&&(t.pos=s.changes.mapPos(t.pos),r=r.map(s.changes))},get(s,o,a){let l=i.posAndSideAtCoords({x:s.clientX,y:s.clientY},!1),c,h=_f(i,l.pos,l.assoc,n);if(t.pos!=l.pos&&!o){let f=_f(i,t.pos,t.assoc,n),u=Math.min(f.from,h.from),O=Math.max(f.to,h.to);h=u1&&(c=yQ(r,l.pos))?c:a?r.addRange(h):P.create([h])}}}function yQ(i,e){for(let t=0;t=e)return P.create(i.ranges.slice(0,t).concat(i.ranges.slice(t+1)),i.mainIndex==t?0:i.mainIndex-(i.mainIndex>t?1:0))}return null}Qt.dragstart=(i,e)=>{let{selection:{main:t}}=i.state;if(e.target.draggable){let r=i.docView.tile.nearest(e.target);if(r&&r.isWidget()){let s=r.posAtStart,o=s+r.length;(s>=t.to||o<=t.from)&&(t=P.undirectionalRange(s,o))}}let{inputState:n}=i;return n.mouseSelection&&(n.mouseSelection.dragging=!0),n.draggedContent=t,e.dataTransfer&&(e.dataTransfer.setData("Text",ks(i.state,Ga,i.state.sliceDoc(t.from,t.to))),e.dataTransfer.effectAllowed="copyMove"),!1};Qt.dragend=i=>(i.inputState.draggedContent=null,!1);function Ef(i,e,t,n){if(t=ks(i.state,Ua,t),!t)return;let r=i.posAtCoords({x:e.clientX,y:e.clientY},!1),{draggedContent:s}=i.inputState,o=n&&s&&pQ(i,e)?{from:s.from,to:s.to}:null,a={from:r,insert:t},l=i.state.changes(o?[o,a]:a);i.focus(),i.dispatch({changes:l,selection:{anchor:l.mapPos(r,-1),head:l.mapPos(r,1)},userEvent:o?"move.drop":"input.drop"}),i.inputState.draggedContent=null}Qt.drop=(i,e)=>{if(!e.dataTransfer)return!1;if(i.state.readOnly)return!0;let t=e.dataTransfer.files;if(t&&t.length){let n=Array(t.length),r=0,s=()=>{++r==t.length&&Ef(i,e,n.filter(o=>o!=null).join(i.state.lineBreak),!1)};for(let o=0;o{/[\x00-\x08\x0e-\x1f]{2}/.test(a.result)||(n[o]=a.result),s()},a.readAsText(t[o])}return!0}else{let n=e.dataTransfer.getData("Text");if(n)return Ef(i,e,n,!0),!0}return!1};Qt.paste=(i,e)=>{if(i.state.readOnly)return!0;i.observer.flush();let t=Tu?null:e.clipboardData;return t?(Cu(i,t.getData("text/plain")||t.getData("text/uri-list")),!0):(QQ(i),!1)};function kQ(i,e){let t=i.dom.parentNode;if(!t)return;let n=t.appendChild(document.createElement("textarea"));n.style.cssText="position: fixed; left: -10000px; top: 10px",n.value=e,n.focus(),n.selectionEnd=e.length,n.selectionStart=0,setTimeout(()=>{n.remove(),i.focus()},50)}function xQ(i){let e=[],t=[],n=!1;for(let r of i.selection.ranges)r.empty||(e.push(i.sliceDoc(r.from,r.to)),t.push(r));if(!e.length){let r=-1;for(let{from:s}of i.selection.ranges){let o=i.doc.lineAt(s);o.number>r&&(e.push(o.text),t.push({from:o.from,to:Math.min(i.doc.length,o.to+1)})),r=o.number}n=!0}return{text:ks(i,Ga,e.join(i.lineBreak)),ranges:t,linewise:n}}var Xa=null;Qt.copy=Qt.cut=(i,e)=>{if(!Gn(i.contentDOM,i.observer.selectionRange))return!1;let{text:t,ranges:n,linewise:r}=xQ(i.state);if(!t&&!r)return!1;Xa=r?t:null,e.type=="cut"&&!i.state.readOnly&&i.dispatch({changes:n,scrollIntoView:!0,userEvent:"delete.cut"});let s=Tu?null:e.clipboardData;return s?(s.clearData(),s.setData("text/plain",t),!0):(kQ(i,t),!1)};var _u=_e.define();function Ru(i,e){let t=[];for(let n of i.facet(fu)){let r=n(i,e);r&&t.push(r)}return t.length?i.update({effects:t,annotations:_u.of(!0)}):null}function Au(i){setTimeout(()=>{let e=i.hasFocus;if(e!=i.inputState.notifiedFocused){let t=Ru(i.state,e);t?i.dispatch(t):i.update([])}},10)}Le.focus=i=>{i.inputState.lastFocusTime=Date.now(),!i.scrollDOM.scrollTop&&(i.inputState.lastScrollTop||i.inputState.lastScrollLeft)&&(i.scrollDOM.scrollTop=i.inputState.lastScrollTop,i.scrollDOM.scrollLeft=i.inputState.lastScrollLeft),Au(i)};Le.blur=i=>{i.observer.clearSelectionRange(),Au(i)};Le.compositionstart=Le.compositionupdate=i=>{i.observer.editContext||(i.inputState.compositionFirstChange==null&&(i.inputState.compositionFirstChange=!0),i.inputState.composing<0&&(i.inputState.composing=0))};Le.compositionend=i=>{i.observer.editContext||(i.inputState.composing=-1,i.inputState.compositionEndedAt=Date.now(),i.inputState.compositionPendingKey=!0,i.inputState.compositionPendingChange=i.observer.pendingRecords().length>0,i.inputState.compositionFirstChange=null,L.chrome&&L.android?i.observer.flushSoon():i.inputState.compositionPendingChange?Promise.resolve().then(()=>i.observer.flush()):setTimeout(()=>{i.inputState.composing<0&&i.docView.hasComposition&&i.update([])},50))};Le.contextmenu=i=>{i.inputState.lastContextMenu=Date.now()};Qt.beforeinput=(i,e)=>{var t,n;if((e.inputType=="insertText"||e.inputType=="insertCompositionText")&&(i.inputState.insertingText=e.data,i.inputState.insertingTextAt=Date.now()),e.inputType=="insertReplacementText"&&i.observer.editContext){let s=(t=e.dataTransfer)===null||t===void 0?void 0:t.getData("text/plain"),o=e.getTargetRanges();if(s&&o.length){let a=o[0],l=i.posAtDOM(a.startContainer,a.startOffset),c=i.posAtDOM(a.endContainer,a.endOffset);return Ha(i,{from:l,to:c,insert:i.state.toText(s)},null),!0}}let r;if(L.chrome&&L.android&&(r=vu.find(s=>s.inputType==e.inputType))&&(i.observer.delayAndroidKey(r.key,r.keyCode),r.key=="Backspace"||r.key=="Delete")){let s=((n=window.visualViewport)===null||n===void 0?void 0:n.height)||0;setTimeout(()=>{var o;(((o=window.visualViewport)===null||o===void 0?void 0:o.height)||0)>s+10&&i.hasFocus&&(i.contentDOM.blur(),i.focus())},100)}return L.ios&&e.inputType=="deleteContentForward"&&i.observer.flushSoon(),L.safari&&e.inputType=="insertText"&&i.inputState.composing>=0&&setTimeout(()=>Le.compositionend(i,e),20),!1};var qf=new Set;function wQ(i){qf.has(i)||(qf.add(i),i.addEventListener("copy",()=>{}),i.addEventListener("cut",()=>{}))}var zf=["pre-wrap","normal","pre-line","break-spaces"],gn=!1;function Lf(){gn=!1}var _a=class{constructor(e){this.lineWrapping=e,this.doc=K.empty,this.heightSamples={},this.lineHeight=14,this.charWidth=7,this.textHeight=14,this.lineLength=30}heightForGap(e,t){let n=this.doc.lineAt(t).number-this.doc.lineAt(e).number+1;return this.lineWrapping&&(n+=Math.max(0,Math.ceil((t-e-n*this.lineLength*.5)/this.lineLength))),this.lineHeight*n}heightForLine(e){return this.lineWrapping?(1+Math.max(0,Math.ceil((e-this.lineLength)/Math.max(1,this.lineLength-5))))*this.lineHeight:this.lineHeight}setDoc(e){return this.doc=e,this}mustRefreshForWrapping(e){return zf.indexOf(e)>-1!=this.lineWrapping}mustRefreshForHeights(e){let t=!1;for(let n=0;n-1,l=Math.abs(t-this.lineHeight)>.3||this.lineWrapping!=a;if(this.lineWrapping=a,this.lineHeight=t,this.charWidth=n,this.textHeight=r,this.lineLength=s,l){this.heightSamples={};for(let c=0;c0}set outdated(e){this.flags=(e?2:0)|this.flags&-3}setHeight(e){this.height!=e&&(Math.abs(this.height-e)>as&&(gn=!0),this.height=e)}replace(e,t,n){return i.of(n)}decomposeLeft(e,t){t.push(this)}decomposeRight(e,t){t.push(this)}applyChanges(e,t,n,r){let s=this,o=n.doc;for(let a=r.length-1;a>=0;a--){let{fromA:l,toA:c,fromB:h,toB:f}=r[a],u=s.lineAt(l,le.ByPosNoHeight,n.setDoc(t),0,0),O=u.to>=c?u:s.lineAt(c,le.ByPosNoHeight,n,0,0);for(f+=O.to-c,c=O.to;a>0&&u.from<=r[a-1].toA;)l=r[a-1].fromA,h=r[a-1].fromB,a--,ls*2){let a=e[t-1];a.break?e.splice(--t,1,a.left,null,a.right):e.splice(--t,1,a.left,a.right),n+=1+a.break,r-=a.size}else if(s>r*2){let a=e[n];a.break?e.splice(n,1,a.left,null,a.right):e.splice(n,1,a.left,a.right),n+=2+a.break,s-=a.size}else break;else if(r=s&&o(this.lineAt(0,le.ByPos,n,r,s))}setMeasuredHeight(e){let t=e.heights[e.index++];t<0?(this.spaceAbove=-t,t=e.heights[e.index++]):this.spaceAbove=0,this.setHeight(t)}updateHeight(e,t=0,n=!1,r){return r&&r.from<=t&&r.more&&this.setMeasuredHeight(r),this.outdated=!1,this}toString(){return`block(${this.length})`}},st=class i extends gs{constructor(e,t,n){super(e,t,null),this.collapsed=0,this.widgetHeight=0,this.breaks=0,this.spaceAbove=n}mainBlock(e,t){return new mt(t,this.length,e+this.spaceAbove,this.height-this.spaceAbove,this.breaks)}replace(e,t,n){let r=n[0];return n.length==1&&(r instanceof i||r instanceof ai&&r.flags&4)&&Math.abs(this.length-r.length)<10?(r instanceof ai?r=new i(r.length,this.height,this.spaceAbove):r.height=this.height,this.outdated||(r.outdated=!1),r):Fe.of(n)}updateHeight(e,t=0,n=!1,r){return r&&r.from<=t&&r.more?this.setMeasuredHeight(r):(n||this.outdated)&&(this.spaceAbove=0,this.setHeight(Math.max(this.widgetHeight,e.heightForLine(this.length-this.collapsed))+this.breaks*e.lineHeight)),this.outdated=!1,this}toString(){return`line(${this.length}${this.collapsed?-this.collapsed:""}${this.widgetHeight?":"+this.widgetHeight:""})`}},ai=class i extends Fe{constructor(e){super(e,0)}heightMetrics(e,t){let n=e.doc.lineAt(t).number,r=e.doc.lineAt(t+this.length).number,s=r-n+1,o,a=0;if(e.lineWrapping){let l=Math.min(this.height,e.lineHeight*s);o=l/s,this.length>s+1&&(a=(this.height-l)/(this.length-s-1))}else o=this.height/s;return{firstLine:n,lastLine:r,perLine:o,perChar:a}}blockAt(e,t,n,r){let{firstLine:s,lastLine:o,perLine:a,perChar:l}=this.heightMetrics(t,r);if(t.lineWrapping){let c=r+(e0){let s=n[n.length-1];s instanceof i?n[n.length-1]=new i(s.length+r):n.push(null,new i(r-1))}if(e>0){let s=n[0];s instanceof i?n[0]=new i(e+s.length):n.unshift(new i(e-1),null)}return Fe.of(n)}decomposeLeft(e,t){t.push(new i(e-1),null)}decomposeRight(e,t){t.push(null,new i(this.length-e-1))}updateHeight(e,t=0,n=!1,r){let s=t+this.length;if(r&&r.from<=t+this.length&&r.more){let o=[],a=Math.max(t,r.from),l=-1;for(r.from>t&&o.push(new i(r.from-t-1).updateHeight(e,t));a<=s&&r.more;){let h=e.doc.lineAt(a).length;o.length&&o.push(null);let f=r.heights[r.index++],u=0;f<0&&(u=-f,f=r.heights[r.index++]),l==-1?l=f:Math.abs(f-l)>=as&&(l=-2);let O=new st(h,f,u);O.outdated=!1,o.push(O),a+=h+1}a<=s&&o.push(null,new i(s-a).updateHeight(e,a));let c=Fe.of(o);return(l<0||Math.abs(c.height-this.height)>=as||Math.abs(l-this.heightMetrics(e,t).perLine)>=as)&&(gn=!0),ms(this,c)}else(n||this.outdated)&&(this.setHeight(e.heightForGap(t,t+this.length)),this.outdated=!1);return this}toString(){return`gap(${this.length})`}},Aa=class extends Fe{constructor(e,t,n){super(e.length+t+n.length,e.height+n.height,t|(e.outdated||n.outdated?2:0)),this.left=e,this.right=n,this.size=e.size+n.size}get break(){return this.flags&1}blockAt(e,t,n,r){let s=n+this.left.height;return ea))return c;let h=t==le.ByPosNoHeight?le.ByPosNoHeight:le.ByPos;return l?c.join(this.right.lineAt(a,h,n,o,a)):this.left.lineAt(a,h,n,r,s).join(c)}forEachLine(e,t,n,r,s,o){let a=r+this.left.height,l=s+this.left.length+this.break;if(this.break)e=l&&this.right.forEachLine(e,t,n,a,l,o);else{let c=this.lineAt(l,le.ByPos,n,r,s);e=e&&c.from<=t&&o(c),t>c.to&&this.right.forEachLine(c.to+1,t,n,a,l,o)}}replace(e,t,n){let r=this.left.length+this.break;if(tthis.left.length)return this.balanced(this.left,this.right.replace(e-r,t-r,n));let s=[];e>0&&this.decomposeLeft(e,s);let o=s.length;for(let a of n)s.push(a);if(e>0&&Mf(s,o-1),t=n&&t.push(null)),e>n&&this.right.decomposeLeft(e-n,t)}decomposeRight(e,t){let n=this.left.length,r=n+this.break;if(e>=r)return this.right.decomposeRight(e-r,t);e2*t.size||t.size>2*e.size?Fe.of(this.break?[e,null,t]:[e,t]):(this.left=ms(this.left,e),this.right=ms(this.right,t),this.setHeight(e.height+t.height),this.outdated=e.outdated||t.outdated,this.size=e.size+t.size,this.length=e.length+this.break+t.length,this)}updateHeight(e,t=0,n=!1,r){let{left:s,right:o}=this,a=t+s.length+this.break,l=null;return r&&r.from<=t+s.length&&r.more?l=s=s.updateHeight(e,t,n,r):s.updateHeight(e,t,n),r&&r.from<=a+o.length&&r.more?l=o=o.updateHeight(e,a,n,r):o.updateHeight(e,a,n),l?this.balanced(s,o):(this.height=this.left.height+this.right.height,this.outdated=!1,this)}toString(){return this.left+(this.break?" ":"-")+this.right}};function Mf(i,e){let t,n;i[e]==null&&(t=i[e-1])instanceof ai&&(n=i[e+1])instanceof ai&&i.splice(e-1,3,new ai(t.length+1+n.length))}var vQ=5,Za=class i{constructor(e,t){this.pos=e,this.oracle=t,this.nodes=[],this.lineStart=-1,this.lineEnd=-1,this.covering=null,this.writtenTo=e}get isCovered(){return this.covering&&this.nodes[this.nodes.length-1]==this.covering}span(e,t){if(this.lineStart>-1){let n=Math.min(t,this.lineEnd),r=this.nodes[this.nodes.length-1];r instanceof st?r.length+=n-this.pos:(n>this.pos||!this.isCovered)&&this.nodes.push(new st(n-this.pos,-1,0)),this.writtenTo=n,t>n&&(this.nodes.push(null),this.writtenTo++,this.lineStart=-1)}this.pos=t}point(e,t,n){if(e=vQ)&&this.addLineDeco(r,s,o)}else t>e&&this.span(e,t);this.lineEnd>-1&&this.lineEnd-1)return;let{from:e,to:t}=this.oracle.doc.lineAt(this.pos);this.lineStart=e,this.lineEnd=t,this.writtenToe&&this.nodes.push(new st(this.pos-e,-1,0)),this.writtenTo=this.pos}blankContent(e,t){let n=new ai(t-e);return this.oracle.doc.lineAt(e).to==t&&(n.flags|=4),n}ensureLine(){this.enterLine();let e=this.nodes.length?this.nodes[this.nodes.length-1]:null;if(e instanceof st)return e;let t=new st(0,-1,0);return this.nodes.push(t),t}addBlock(e){this.enterLine();let t=e.deco;t&&t.startSide>0&&!this.isCovered&&this.ensureLine(),this.nodes.push(e),this.writtenTo=this.pos=this.pos+e.length,t&&t.endSide>0&&(this.covering=e)}addLineDeco(e,t,n){let r=this.ensureLine();r.length+=n,r.collapsed+=n,r.widgetHeight=Math.max(r.widgetHeight,e),r.breaks+=t,this.writtenTo=this.pos=this.pos+n}finish(e){let t=this.nodes.length==0?null:this.nodes[this.nodes.length-1];this.lineStart>-1&&!(t instanceof st)&&!this.isCovered?this.nodes.push(new st(0,-1,0)):(this.writtenToh.clientHeight||h.scrollWidth>h.clientWidth)&&f.overflow!="visible"){let u=h.getBoundingClientRect();s=Math.max(s,u.left),o=Math.min(o,u.right),a=Math.max(a,u.top),l=Math.min(c==i.parentNode?r.innerHeight:l,u.bottom)}c=f.position=="absolute"||f.position=="fixed"?h.offsetParent:h.parentNode}else if(c.nodeType==11)c=c.host;else break;return{left:s-t.left,right:Math.max(s,o)-t.left,top:a-(t.top+e),bottom:Math.max(a,l)-(t.top+e)}}function CQ(i){let e=i.getBoundingClientRect(),t=i.ownerDocument.defaultView||window;return e.left0&&e.top0}function XQ(i,e){let t=i.getBoundingClientRect();return{left:0,right:t.right-t.left,top:e,bottom:t.bottom-(t.top+e)}}var er=class{constructor(e,t,n,r){this.from=e,this.to=t,this.size=n,this.displaySize=r}static same(e,t){if(e.length!=t.length)return!1;for(let n=0;ntypeof r!="function"&&r.class=="cm-lineWrapping");this.heightOracle=new _a(n),this.stateDeco=jf(t),this.heightMap=Fe.empty().applyChanges(this.stateDeco,K.empty,this.heightOracle.setDoc(t.doc),[new gt(0,0,0,t.doc.length)]);for(let r=0;r<2&&(this.viewport=this.getViewport(0,null),!!this.updateForViewport());r++);this.updateViewportLines(),this.lineGaps=this.ensureLineGaps([]),this.lineGapDeco=A.set(this.lineGaps.map(r=>r.draw(this,!1))),this.scrollParent=e.scrollDOM,this.computeVisibleRanges()}updateForViewport(){let e=[this.viewport],{main:t}=this.state.selection;for(let n=0;n<=1;n++){let r=n?t.head:t.anchor;if(!e.some(({from:s,to:o})=>r>=s&&r<=o)){let{from:s,to:o}=this.lineBlockAt(r);e.push(new hn(s,o))}}return this.viewports=e.sort((n,r)=>n.from-r.from),this.updateScaler()}updateScaler(){let e=this.scaler;return this.scaler=this.heightMap.height<=7e6?Wf:new za(this.heightOracle,this.heightMap,this.viewports),e.eq(this.scaler)?0:2}updateViewportLines(){this.viewportLines=[],this.heightMap.forEachLine(this.viewport.from,this.viewport.to,this.heightOracle.setDoc(this.state.doc),0,0,e=>{this.viewportLines.push(Bn(e,this.scaler))})}update(e,t=null){this.state=e.state;let n=this.stateDeco;this.stateDeco=jf(this.state);let r=e.changedRanges,s=gt.extendWithRanges(r,$Q(n,this.stateDeco,e?e.changes:qe.empty(this.state.doc.length))),o=this.heightMap.height,a=this.scrolledToBottom?null:this.scrollAnchorAt(this.scrollOffset);Lf(),this.heightMap=this.heightMap.applyChanges(this.stateDeco,e.startState.doc,this.heightOracle.setDoc(this.state.doc),s),(this.heightMap.height!=o||gn)&&(e.flags|=2),a?(this.scrollAnchorPos=e.changes.mapPos(a.from,-1),this.scrollAnchorHeight=a.top):(this.scrollAnchorPos=-1,this.scrollAnchorHeight=o);let l=s.length?this.mapViewport(this.viewport,e.changes):this.viewport;(t&&(t.range.headl.to)||!this.viewportIsAppropriate(l))&&(l=this.getViewport(0,t));let c=l.from!=this.viewport.from||l.to!=this.viewport.to;this.viewport=l,e.flags|=this.updateForViewport(),(c||!e.changes.empty||e.flags&2)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(this.mapLineGaps(this.lineGaps,e.changes))),e.flags|=this.computeVisibleRanges(e.changes),t&&(this.scrollTarget=t),!this.mustEnforceCursorAssoc&&(e.selectionSet||e.focusChanged)&&e.view.lineWrapping&&e.state.selection.main.empty&&e.state.selection.main.assoc&&!e.state.facet(z0)&&(this.mustEnforceCursorAssoc=!0)}measure(){let{view:e}=this,t=e.contentDOM,n=window.getComputedStyle(t),r=this.heightOracle,s=n.whiteSpace;this.defaultTextDirection=n.direction=="rtl"?ue.RTL:ue.LTR;let o=this.heightOracle.mustRefreshForWrapping(s)||this.mustMeasureContent==="refresh",a=t.getBoundingClientRect(),l=o||this.mustMeasureContent||this.contentDOMHeight!=a.height;this.contentDOMHeight=a.height,this.mustMeasureContent=!1;let c=0,h=0;if(a.width&&a.height){let{scaleX:v,scaleY:$}=Nf(t,a);(v>.005&&Math.abs(this.scaleX-v)>.005||$>.005&&Math.abs(this.scaleY-$)>.005)&&(this.scaleX=v,this.scaleY=$,c|=16,o=l=!0)}let f=(parseInt(n.paddingTop)||0)*this.scaleY,u=(parseInt(n.paddingBottom)||0)*this.scaleY;(this.paddingTop!=f||this.paddingBottom!=u)&&(this.paddingTop=f,this.paddingBottom=u,c|=18),this.editorWidth!=e.scrollDOM.clientWidth&&(r.lineWrapping&&(l=!0),this.editorWidth=e.scrollDOM.clientWidth,c|=16);let O=Ff(this.view.contentDOM,!1).y;O!=this.scrollParent&&(this.scrollParent=O,this.scrollAnchorHeight=-1,this.scrollOffset=0);let p=this.getScrollOffset();this.scrollOffset!=p&&(this.scrollAnchorHeight=-1,this.scrollOffset=p),this.scrolledToBottom=Kf(this.scrollParent||e.win);let m=(this.printing?XQ:TQ)(t,this.paddingTop),b=m.top-this.pixelViewport.top,g=m.bottom-this.pixelViewport.bottom;this.pixelViewport=m;let Q=this.pixelViewport.bottom>this.pixelViewport.top&&this.pixelViewport.right>this.pixelViewport.left;if(Q!=this.inView&&(this.inView=Q,Q&&(l=!0)),!this.inView&&!this.scrollTarget&&!CQ(e.dom))return 0;let S=a.width;if((this.contentDOMWidth!=S||this.editorHeight!=e.scrollDOM.clientHeight)&&(this.contentDOMWidth=a.width,this.editorHeight=e.scrollDOM.clientHeight,c|=16),l){let v=e.docView.measureVisibleLineHeights(this.viewport);if(r.mustRefreshForHeights(v)&&(o=!0),o||r.lineWrapping&&Math.abs(S-this.contentDOMWidth)>r.charWidth){let{lineHeight:$,charWidth:R,textHeight:_}=e.docView.measureTextSize();o=$>0&&r.refresh(s,$,R,_,Math.max(5,S/R),v),o&&(e.docView.minWidth=0,c|=16)}b>0&&g>0?h=Math.max(b,g):b<0&&g<0&&(h=Math.min(b,g)),Lf();for(let $ of this.viewports){let R=$.from==this.viewport.from?v:e.docView.measureVisibleLineHeights($);this.heightMap=(o?Fe.empty().applyChanges(this.stateDeco,K.empty,this.heightOracle,[new gt(0,0,0,e.state.doc.length)]):this.heightMap).updateHeight(r,0,o,new Ra($.from,R))}gn&&(c|=2)}let x=!this.viewportIsAppropriate(this.viewport,h)||this.scrollTarget&&(this.scrollTarget.range.headthis.viewport.to);return x&&(c&2&&(c|=this.updateScaler()),this.viewport=this.getViewport(h,this.scrollTarget),c|=this.updateForViewport()),(c&2||x)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(o?[]:this.lineGaps,e)),c|=this.computeVisibleRanges(),this.mustEnforceCursorAssoc&&(this.mustEnforceCursorAssoc=!1,e.docView.enforceCursorAssoc()),c}get visibleTop(){return this.scaler.fromDOM(this.pixelViewport.top)}get visibleBottom(){return this.scaler.fromDOM(this.pixelViewport.bottom)}getViewport(e,t){let n=.5-Math.max(-.5,Math.min(.5,e/1e3/2)),r=this.heightMap,s=this.heightOracle,{visibleTop:o,visibleBottom:a}=this,l=new hn(r.lineAt(o-n*1e3,le.ByHeight,s,0,0).from,r.lineAt(a+(1-n)*1e3,le.ByHeight,s,0,0).to);if(t){let{head:c}=t.range;if(cl.to){let h=Math.min(this.editorHeight,this.pixelViewport.bottom-this.pixelViewport.top),f=r.lineAt(c,le.ByPos,s,0,0),u;t.y=="center"?u=(f.top+f.bottom)/2-h/2:t.y=="start"||t.y=="nearest"&&c=a+Math.max(10,Math.min(n,250)))&&r>o-2*1e3&&s>1,o=r<<1;if(this.defaultTextDirection!=ue.LTR&&!n)return[];let a=[],l=(h,f,u,O)=>{if(f-hh&&gg.from>=u.from&&g.to<=u.to&&Math.abs(g.from-h)g.fromQ));if(!b){if(fS.from<=f&&S.to>=f)){let S=t.moveToLineBoundary(P.cursor(f),!1,!0).head;S>h&&(f=S)}let g=this.gapSize(u,h,f,O),Q=n||g<2e6?g:2e6;b=new er(h,f,g,Q)}a.push(b)},c=h=>{if(h.length2e6)for(let $ of e)$.from>=h.from&&$.fromh.from&&l(h.from,O,h,f),pt.draw(this,this.heightOracle.lineWrapping))))}computeVisibleRanges(e){let t=this.stateDeco;this.lineGaps.length&&(t=t.concat(this.lineGapDeco));let n=[];ae.spans(t,this.viewport.from,this.viewport.to,{span(s,o){n.push({from:s,to:o})},point(){}},20);let r=0;if(n.length!=this.visibleRanges.length)r=12;else for(let s=0;s=this.viewport.from&&e<=this.viewport.to&&this.viewportLines.find(t=>t.from<=e&&t.to>=e)||Bn(this.heightMap.lineAt(e,le.ByPos,this.heightOracle,0,0),this.scaler)}lineBlockAtHeight(e){return e>=this.viewportLines[0].top&&e<=this.viewportLines[this.viewportLines.length-1].bottom&&this.viewportLines.find(t=>t.top<=e&&t.bottom>=e)||Bn(this.heightMap.lineAt(this.scaler.fromDOM(e),le.ByHeight,this.heightOracle,0,0),this.scaler)}getScrollOffset(){return(this.scrollParent==this.view.scrollDOM?this.scrollParent.scrollTop:(this.scrollParent?this.scrollParent.getBoundingClientRect().top:0)-this.view.contentDOM.getBoundingClientRect().top)*this.scaleY}scrollAnchorAt(e){let t=this.lineBlockAtHeight(e+8);return t.from>=this.viewport.from||this.viewportLines[0].top-e>200?t:this.viewportLines[0]}elementAtHeight(e){return Bn(this.heightMap.blockAt(this.scaler.fromDOM(e),this.heightOracle,0,0),this.scaler)}get docHeight(){return this.scaler.toDOM(this.heightMap.height)}get contentHeight(){return this.docHeight+this.paddingTop+this.paddingBottom}},hn=class{constructor(e,t){this.from=e,this.to=t}};function _Q(i,e,t){let n=[],r=i,s=0;return ae.spans(t,i,e,{span(){},point(o,a){o>r&&(n.push({from:r,to:o}),s+=o-r),r=a}},20),r=1)return e[e.length-1].to;let n=Math.floor(i*t);for(let r=0;;r++){let{from:s,to:o}=e[r],a=o-s;if(n<=a)return s+n;n-=a}}function ns(i,e){let t=0;for(let{from:n,to:r}of i.ranges){if(e<=r){t+=e-n;break}t+=r-n}return t/i.total}function RQ(i,e){for(let t of i)if(e(t))return t}var Wf={toDOM(i){return i},fromDOM(i){return i},scale:1,eq(i){return i==this}};function jf(i){let e=i.facet(ys).filter(n=>typeof n!="function"),t=i.facet(Fa).filter(n=>typeof n!="function");return t.length&&e.push(ae.join(t)),e}var za=class i{constructor(e,t,n){let r=0,s=0,o=0;this.viewports=n.map(({from:a,to:l})=>{let c=t.lineAt(a,le.ByPos,e,0,0).top,h=t.lineAt(l,le.ByPos,e,0,0).bottom;return r+=h-c,{from:a,to:l,top:c,bottom:h,domTop:0,domBottom:0}}),this.scale=(7e6-r)/(t.height-r);for(let a of this.viewports)a.domTop=o+(a.top-s)*this.scale,o=a.domBottom=a.domTop+(a.bottom-a.top),s=a.bottom}toDOM(e){for(let t=0,n=0,r=0;;t++){let s=tt.from==e.viewports[n].from&&t.to==e.viewports[n].to):!1}};function Bn(i,e){if(e.scale==1)return i;let t=e.toDOM(i.top),n=e.toDOM(i.bottom);return new mt(i.from,i.length,t,n-t,Array.isArray(i._content)?i._content.map(r=>Bn(r,e)):i._content)}var rs=Y.define({combine:i=>i.join(" ")}),La=Y.define({combine:i=>i.indexOf(!0)>-1}),Ma=rt.newName(),Zu=rt.newName(),Eu=rt.newName(),qu={"&light":"."+Zu,"&dark":"."+Eu};function Wa(i,e,t){return new rt(e,{finish(n){return/&/.test(n)?n.replace(/&\w*/,r=>{if(r=="&")return i;if(!t||!t[r])throw new RangeError(`Unsupported selector: ${r}`);return t[r]}):i+" "+n}})}var AQ=Wa("."+Ma,{"&":{position:"relative !important",boxSizing:"border-box","&.cm-focused":{outline:"1px dotted #212121"},display:"flex !important",flexDirection:"column"},".cm-scroller":{display:"flex !important",alignItems:"flex-start !important",fontFamily:"monospace",lineHeight:1.4,height:"100%",overflowX:"auto",position:"relative",zIndex:0,overflowAnchor:"none"},".cm-content":{margin:0,flexGrow:2,flexShrink:0,display:"block",whiteSpace:"pre",wordWrap:"normal",boxSizing:"border-box",minHeight:"100%",padding:"4px 0",outline:"none","&[contenteditable=true]":{WebkitUserModify:"read-write-plaintext-only"}},".cm-lineWrapping":{whiteSpace_fallback:"pre-wrap",whiteSpace:"break-spaces",wordBreak:"break-word",overflowWrap:"anywhere",flexShrink:1},"&light .cm-content":{caretColor:"black"},"&dark .cm-content":{caretColor:"white"},".cm-line":{display:"block",padding:"0 2px 0 6px"},".cm-layer":{userSelect:"none",position:"absolute",left:0,top:0,contain:"size style","& > *":{position:"absolute"}},"&light .cm-selectionBackground":{background:"#d9d9d9"},"&dark .cm-selectionBackground":{background:"#222"},"&light.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#d7d4f0"},"&dark.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#233"},".cm-cursorLayer":{pointerEvents:"none"},"&.cm-focused > .cm-scroller > .cm-cursorLayer":{animation:"steps(1) cm-blink 1.2s infinite"},"@keyframes cm-blink":{"0%":{},"50%":{opacity:0},"100%":{}},"@keyframes cm-blink2":{"0%":{},"50%":{opacity:0},"100%":{}},".cm-cursor, .cm-dropCursor":{borderLeft:"1.2px solid black",marginLeft:"-0.6px",pointerEvents:"none"},".cm-cursor":{display:"none"},"&dark .cm-cursor":{borderLeftColor:"#ddd"},".cm-selectionHandle":{backgroundColor:"currentColor",width:"1.5px"},".cm-selectionHandle-start::before, .cm-selectionHandle-end::before":{content:'""',backgroundColor:"inherit",borderRadius:"50%",width:"8px",height:"8px",position:"absolute",left:"-3.25px"},".cm-selectionHandle-start::before":{top:"-8px"},".cm-selectionHandle-end::before":{bottom:"-8px"},".cm-dropCursor":{position:"absolute"},"&.cm-focused > .cm-scroller > .cm-cursorLayer .cm-cursor":{display:"block"},".cm-iso":{unicodeBidi:"isolate"},".cm-announced":{position:"fixed",top:"-10000px"},"@media print":{".cm-announced":{display:"none"}},"&light .cm-activeLine":{backgroundColor:"#cceeff44"},"&dark .cm-activeLine":{backgroundColor:"#99eeff33"},"&light .cm-specialChar":{color:"red"},"&dark .cm-specialChar":{color:"#f78"},".cm-gutters":{flexShrink:0,display:"flex",height:"100%",boxSizing:"border-box",zIndex:200},".cm-gutters-before":{insetInlineStart:0},".cm-gutters-after":{insetInlineEnd:0},"&light .cm-gutters":{backgroundColor:"#f5f5f5",color:"#6c6c6c",border:"0px solid #ddd","&.cm-gutters-before":{borderRightWidth:"1px"},"&.cm-gutters-after":{borderLeftWidth:"1px"}},"&dark .cm-gutters":{backgroundColor:"#333338",color:"#ccc"},".cm-gutter":{display:"flex !important",flexDirection:"column",flexShrink:0,boxSizing:"border-box",minHeight:"100%",overflow:"hidden"},".cm-gutterElement":{boxSizing:"border-box"},".cm-lineNumbers .cm-gutterElement":{padding:"0 3px 0 5px",minWidth:"20px",textAlign:"right",whiteSpace:"nowrap"},"&light .cm-activeLineGutter":{backgroundColor:"#e2f2ff"},"&dark .cm-activeLineGutter":{backgroundColor:"#222227"},".cm-panels":{boxSizing:"border-box",position:"sticky",left:0,right:0,zIndex:300},"&light .cm-panels":{backgroundColor:"#f5f5f5",color:"black"},"&light .cm-panels-top":{borderBottom:"1px solid #ddd"},"&light .cm-panels-bottom":{borderTop:"1px solid #ddd"},"&dark .cm-panels":{backgroundColor:"#333338",color:"white"},".cm-dialog":{padding:"2px 19px 4px 6px",position:"relative","& label":{fontSize:"80%"}},".cm-dialog-close":{position:"absolute",top:"3px",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",fontSize:"14px",padding:"0"},".cm-tab":{display:"inline-block",overflow:"hidden",verticalAlign:"bottom"},".cm-widgetBuffer":{verticalAlign:"text-top",height:"1em",width:0,display:"inline"},".cm-placeholder":{color:"#888",display:"inline-block",verticalAlign:"top",userSelect:"none"},".cm-highlightSpace":{backgroundImage:"radial-gradient(circle at 50% 55%, #aaa 20%, transparent 5%)",backgroundPosition:"center"},".cm-highlightTab":{backgroundImage:`url('data:image/svg+xml,')`,backgroundSize:"auto 100%",backgroundPosition:"right 90%",backgroundRepeat:"no-repeat"},".cm-trailingSpace":{backgroundColor:"#ff332255"},".cm-button":{verticalAlign:"middle",color:"inherit",fontSize:"70%",padding:".2em 1em",borderRadius:"1px"},"&light .cm-button":{backgroundImage:"linear-gradient(#eff1f5, #d9d9df)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#b4b4b4, #d0d3d6)"}},"&dark .cm-button":{backgroundImage:"linear-gradient(#393939, #111)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#111, #333)"}},".cm-textfield":{verticalAlign:"middle",color:"inherit",fontSize:"70%",border:"1px solid silver",padding:".2em .5em"},"&light .cm-textfield":{backgroundColor:"white"},"&dark .cm-textfield":{border:"1px solid #555",backgroundColor:"inherit"}},qu),ZQ={childList:!0,characterData:!0,subtree:!0,attributes:!0,characterDataOldValue:!0},sa=L.ie&&L.ie_version<=11,ja=class{constructor(e){this.view=e,this.active=!1,this.editContext=null,this.selectionRange=new fa,this.selectionChanged=!1,this.delayedFlush=-1,this.resizeTimeout=-1,this.queue=[],this.delayedAndroidKey=null,this.flushingAndroidKey=-1,this.lastChange=0,this.scrollTargets=[],this.intersection=null,this.resizeScroll=null,this.intersecting=!1,this.gapIntersection=null,this.gaps=[],this.printQuery=null,this.parentCheck=-1,this.dom=e.contentDOM,this.observer=new MutationObserver(t=>{for(let n of t)this.queue.push(n);(L.ie&&L.ie_version<=11||L.ios&&e.composing)&&t.some(n=>n.type=="childList"&&n.removedNodes.length||n.type=="characterData"&&n.oldValue.length>n.target.nodeValue.length)?this.flushSoon():this.flush()}),window.EditContext&&L.android&&e.constructor.EDIT_CONTEXT!==!1&&!(L.chrome&&L.chrome_version<126)&&(this.editContext=new Va(e),e.state.facet(Mt)&&(e.contentDOM.editContext=this.editContext.editContext)),sa&&(this.onCharData=t=>{this.queue.push({target:t.target,type:"characterData",oldValue:t.prevValue}),this.flushSoon()}),this.onSelectionChange=this.onSelectionChange.bind(this),this.onResize=this.onResize.bind(this),this.onPrint=this.onPrint.bind(this),this.onScroll=this.onScroll.bind(this),window.matchMedia&&(this.printQuery=window.matchMedia("print")),typeof ResizeObserver=="function"&&(this.resizeScroll=new ResizeObserver(()=>{var t;((t=this.view.docView)===null||t===void 0?void 0:t.lastUpdate){this.parentCheck<0&&(this.parentCheck=setTimeout(this.listenForScroll.bind(this),1e3)),t.length>0&&t[t.length-1].intersectionRatio>0!=this.intersecting&&(this.intersecting=!this.intersecting,this.intersecting!=this.view.inView&&this.onScrollChanged(document.createEvent("Event")))},{threshold:[0,.001]}),this.intersection.observe(this.dom),this.gapIntersection=new IntersectionObserver(t=>{t.length>0&&t[t.length-1].intersectionRatio>0&&this.onScrollChanged(document.createEvent("Event"))},{})),this.listenForScroll(),this.readSelectionRange()}onScrollChanged(e){this.view.inputState.runHandlers("scroll",e),this.intersecting&&this.view.measure()}onScroll(e){this.intersecting&&this.flush(!1),this.editContext&&this.view.requestMeasure(this.editContext.measureReq),this.onScrollChanged(e)}onResize(){this.resizeTimeout<0&&(this.resizeTimeout=setTimeout(()=>{this.resizeTimeout=-1,this.view.requestMeasure()},50))}onPrint(e){(e.type=="change"||!e.type)&&!e.matches||(this.view.viewState.printing=!0,this.view.measure(),setTimeout(()=>{this.view.viewState.printing=!1,this.view.requestMeasure()},500))}updateGaps(e){if(this.gapIntersection&&(e.length!=this.gaps.length||this.gaps.some((t,n)=>t!=e[n]))){this.gapIntersection.disconnect();for(let t of e)this.gapIntersection.observe(t);this.gaps=e}}onSelectionChange(e){let t=this.selectionChanged;if(!this.readSelectionRange()||this.delayedAndroidKey)return;let{view:n}=this,r=this.selectionRange;if(n.state.facet(Mt)?n.root.activeElement!=this.dom:!Gn(this.dom,r))return;let s=r.anchorNode&&n.docView.tile.nearest(r.anchorNode);if(s&&s.isWidget()&&s.widget.ignoreEvent(e)){t||(this.selectionChanged=!1);return}(L.ie&&L.ie_version<=11||L.android&&L.chrome)&&!n.state.selection.main.empty&&r.focusNode&&Nn(r.focusNode,r.focusOffset,r.anchorNode,r.anchorOffset)?this.flushSoon():this.flush(!1)}readSelectionRange(){let{view:e}=this,t=nr(e.root);if(!t)return!1;let n=L.safari&&e.root.nodeType==11&&e.root.activeElement==this.dom&&EQ(this.view,t)||t;if(!n||this.selectionRange.eq(n))return!1;let r=Gn(this.dom,n);return r&&!this.selectionChanged&&e.inputState.lastFocusTime>Date.now()-200&&e.inputState.lastTouchTime{let s=this.delayedAndroidKey;s&&(this.clearDelayedAndroidKey(),this.view.inputState.lastKeyCode=s.keyCode,this.view.inputState.lastKeyTime=Date.now(),!this.flush()&&s.force&&un(this.dom,s.key,s.keyCode))};this.flushingAndroidKey=this.view.win.requestAnimationFrame(r)}(!this.delayedAndroidKey||e=="Enter")&&(this.delayedAndroidKey={key:e,keyCode:t,force:this.lastChange{this.delayedFlush=-1,this.flush()}))}forceFlush(){this.delayedFlush>=0&&(this.view.win.cancelAnimationFrame(this.delayedFlush),this.delayedFlush=-1),this.flush()}pendingRecords(){for(let e of this.observer.takeRecords())this.queue.push(e);return this.queue}processRecords(){let e=this.pendingRecords();e.length&&(this.queue=[]);let t=-1,n=-1,r=!1;for(let s of e){let o=this.readMutation(s);o&&(o.typeOver&&(r=!0),t==-1?{from:t,to:n}=o:(t=Math.min(o.from,t),n=Math.max(o.to,n)))}return{from:t,to:n,typeOver:r}}readChange(){let{from:e,to:t,typeOver:n}=this.processRecords(),r=this.selectionChanged&&Gn(this.dom,this.selectionRange);if(e<0&&!r)return null;e>-1&&(this.lastChange=Date.now()),this.view.inputState.lastFocusTime=0,this.selectionChanged=!1;let s=new $a(this.view,e,t,n);return this.view.docView.domChanged={newSel:s.newSel?s.newSel.main:null},s}flush(e=!0){if(this.delayedFlush>=0||this.delayedAndroidKey)return!1;e&&this.readSelectionRange();let t=this.readChange();if(!t)return this.view.requestMeasure(),!1;let n=this.view.state,r=wu(this.view,t);return this.view.state==n&&(t.domChanged||t.newSel&&!ps(this.view.state.selection,t.newSel.main))&&this.view.update([]),r}readMutation(e){let t=this.view.docView.tile.nearest(e.target);if(!t||t.isWidget())return null;if(t.markDirty(e.type=="attributes"),e.type=="childList"){let n=Vf(t,e.previousSibling||e.target.previousSibling,-1),r=Vf(t,e.nextSibling||e.target.nextSibling,1);return{from:n?t.posAfter(n):t.posAtStart,to:r?t.posBefore(r):t.posAtEnd,typeOver:!1}}else return e.type=="characterData"?{from:t.posAtStart,to:t.posAtEnd,typeOver:e.target.nodeValue==e.oldValue}:null}setWindow(e){e!=this.win&&(this.removeWindowListeners(this.win),this.win=e,this.addWindowListeners(this.win))}addWindowListeners(e){e.addEventListener("resize",this.onResize),this.printQuery?this.printQuery.addEventListener?this.printQuery.addEventListener("change",this.onPrint):this.printQuery.addListener(this.onPrint):e.addEventListener("beforeprint",this.onPrint),e.addEventListener("scroll",this.onScroll),e.document.addEventListener("selectionchange",this.onSelectionChange)}removeWindowListeners(e){e.removeEventListener("scroll",this.onScroll),e.removeEventListener("resize",this.onResize),this.printQuery?this.printQuery.removeEventListener?this.printQuery.removeEventListener("change",this.onPrint):this.printQuery.removeListener(this.onPrint):e.removeEventListener("beforeprint",this.onPrint),e.document.removeEventListener("selectionchange",this.onSelectionChange)}update(e){this.editContext&&(this.editContext.update(e),e.startState.facet(Mt)!=e.state.facet(Mt)&&(e.view.contentDOM.editContext=e.state.facet(Mt)?this.editContext.editContext:null))}destroy(){var e,t,n;this.stop(),(e=this.intersection)===null||e===void 0||e.disconnect(),(t=this.gapIntersection)===null||t===void 0||t.disconnect(),(n=this.resizeScroll)===null||n===void 0||n.disconnect();for(let r of this.scrollTargets)r.removeEventListener("scroll",this.onScroll);this.removeWindowListeners(this.win),clearTimeout(this.parentCheck),clearTimeout(this.resizeTimeout),this.win.cancelAnimationFrame(this.delayedFlush),this.win.cancelAnimationFrame(this.flushingAndroidKey),this.editContext&&(this.view.contentDOM.editContext=null,this.editContext.destroy())}};function Vf(i,e,t){for(;e;){let n=fe.get(e);if(n&&n.parent==i)return n;let r=e.parentNode;e=r!=i.dom?r:t>0?e.nextSibling:e.previousSibling}return null}function Df(i,e){let t=e.startContainer,n=e.startOffset,r=e.endContainer,s=e.endOffset,o=i.docView.domAtPos(i.state.selection.main.anchor,1);return Nn(o.node,o.offset,r,s)&&([t,n,r,s]=[r,s,t,n]),{anchorNode:t,anchorOffset:n,focusNode:r,focusOffset:s}}function EQ(i,e){if(e.getComposedRanges){let r=e.getComposedRanges(i.root)[0];if(r)return Df(i,r)}let t=null;function n(r){r.preventDefault(),r.stopImmediatePropagation(),t=r.getTargetRanges()[0]}return i.contentDOM.addEventListener("beforeinput",n,!0),i.dom.ownerDocument.execCommand("indent"),i.contentDOM.removeEventListener("beforeinput",n,!0),t?Df(i,t):null}var Va=class{constructor(e){this.from=0,this.to=0,this.pendingContextChange=null,this.handlers=Object.create(null),this.composing=null,this.resetRange(e.state);let t=this.editContext=new window.EditContext({text:e.state.doc.sliceString(this.from,this.to),selectionStart:this.toContextPos(Math.max(this.from,Math.min(this.to,e.state.selection.main.anchor))),selectionEnd:this.toContextPos(e.state.selection.main.head)});this.handlers.textupdate=n=>{let r=e.state.selection.main,{anchor:s,head:o}=r,a=this.toEditorPos(n.updateRangeStart),l=this.toEditorPos(n.updateRangeEnd);e.inputState.composing>=0&&!this.composing&&(this.composing={contextBase:n.updateRangeStart,editorBase:a,drifted:!1});let c=l-a>n.text.length;a==this.from&&sthis.to&&(l=s);let h=Pu(e.state.sliceDoc(a,l),n.text,(c?r.from:r.to)-a,c?"end":null);if(!h){let u=P.single(this.toEditorPos(n.selectionStart),this.toEditorPos(n.selectionEnd));ps(u,r)||e.dispatch({selection:u,userEvent:"select"});return}let f={from:h.from+a,to:h.toA+a,insert:K.of(n.text.slice(h.from,h.toB).split(` +`))};if((L.mac||L.android)&&f.from==o-1&&/^\. ?$/.test(n.text)&&e.contentDOM.getAttribute("autocorrect")=="off"&&(f={from:a,to:l,insert:K.of([n.text.replace("."," ")])}),this.pendingContextChange=f,!e.state.readOnly){let u=this.to-this.from+(f.to-f.from+f.insert.length);Ha(e,f,P.single(this.toEditorPos(n.selectionStart,u),this.toEditorPos(n.selectionEnd,u)))}this.pendingContextChange&&(this.revertPending(e.state),this.setSelection(e.state)),f.from=0&&!/[\\p{Alphabetic}\\p{Number}_]/.test(t.text.slice(Math.max(0,n.updateRangeStart-1),Math.min(t.text.length,n.updateRangeStart+1)))&&this.handlers.compositionend(n)},this.handlers.characterboundsupdate=n=>{let r=[],s=null;for(let o=this.toEditorPos(n.rangeStart),a=this.toEditorPos(n.rangeEnd);o{let r=[];for(let s of n.getTextFormats()){let o=s.underlineStyle,a=s.underlineThickness;if(!/none/i.test(o)&&!/none/i.test(a)){let l=this.toEditorPos(s.rangeStart),c=this.toEditorPos(s.rangeEnd);if(l{e.inputState.composing<0&&(e.inputState.composing=0,e.inputState.compositionFirstChange=!0)},this.handlers.compositionend=()=>{if(e.inputState.composing=-1,e.inputState.compositionFirstChange=null,this.composing){let{drifted:n}=this.composing;this.composing=null,n&&this.reset(e.state)}};for(let n in this.handlers)t.addEventListener(n,this.handlers[n]);this.measureReq={read:n=>{let r=nr(n.root);r&&r.rangeCount&&this.editContext.updateSelectionBounds(r.getRangeAt(0).getBoundingClientRect())}}}applyEdits(e){let t=0,n=!1,r=this.pendingContextChange;return e.changes.iterChanges((s,o,a,l,c)=>{if(n)return;let h=c.length-(o-s);if(r&&o>=r.to)if(r.from==s&&r.to==o&&r.insert.eq(c)){r=this.pendingContextChange=null,t+=h,this.to+=h;return}else r=null,this.revertPending(e.state);if(s+=t,o+=t,o<=this.from)this.from+=h,this.to+=h;else if(sthis.to||this.to-this.from+c.length>3e4){n=!0;return}this.editContext.updateText(this.toContextPos(s),this.toContextPos(o),c.toString()),this.to+=h}t+=h}),r&&!n&&this.revertPending(e.state),!n}update(e){let t=this.pendingContextChange,n=e.startState.selection.main;this.composing&&(this.composing.drifted||!e.changes.touchesRange(n.from,n.to)&&e.transactions.some(r=>!r.isUserEvent("input.type")&&r.changes.touchesRange(this.from,this.to)))?(this.composing.drifted=!0,this.composing.editorBase=e.changes.mapPos(this.composing.editorBase)):!this.applyEdits(e)||!this.rangeIsValid(e.state)?(this.pendingContextChange=null,this.reset(e.state)):(e.docChanged||e.selectionSet||t)&&this.setSelection(e.state),(e.geometryChanged||e.docChanged||e.selectionSet)&&e.view.requestMeasure(this.measureReq)}resetRange(e){let{head:t}=e.selection.main;this.from=Math.max(0,t-1e4),this.to=Math.min(e.doc.length,t+1e4)}reset(e){this.resetRange(e),this.editContext.updateText(0,this.editContext.text.length,e.doc.sliceString(this.from,this.to)),this.setSelection(e)}revertPending(e){let t=this.pendingContextChange;this.pendingContextChange=null,this.editContext.updateText(this.toContextPos(t.from),this.toContextPos(t.from+t.insert.length),e.doc.sliceString(t.from,t.to))}setSelection(e){let{main:t}=e.selection,n=this.toContextPos(Math.max(this.from,Math.min(this.to,t.anchor))),r=this.toContextPos(t.head);(this.editContext.selectionStart!=n||this.editContext.selectionEnd!=r)&&this.editContext.updateSelection(n,r)}rangeIsValid(e){let{head:t}=e.selection.main;return!(this.from>0&&t-this.from<500||this.to1e4*3)}toEditorPos(e,t=this.to-this.from){e=Math.min(e,t);let n=this.composing;return n&&n.drifted?n.editorBase+(e-n.contextBase):e+this.from}toContextPos(e){let t=this.composing;return t&&t.drifted?t.contextBase+(e-t.editorBase):e-this.from}destroy(){for(let e in this.handlers)this.editContext.removeEventListener(e,this.handlers[e])}},z=class i{get state(){return this.viewState.state}get viewport(){return this.viewState.viewport}get visibleRanges(){return this.viewState.visibleRanges}get inView(){return this.viewState.inView}get composing(){return!!this.inputState&&this.inputState.composing>0}get compositionStarted(){return!!this.inputState&&this.inputState.composing>=0}get root(){return this._root}get win(){return this.dom.ownerDocument.defaultView||window}constructor(e={}){var t;this.plugins=[],this.pluginMap=new Map,this.editorAttrs={},this.contentAttrs={},this.bidiCache=[],this.destroyed=!1,this.updateState=2,this.measureScheduled=-1,this.measureRequests=[],this.contentDOM=document.createElement("div"),this.scrollDOM=document.createElement("div"),this.scrollDOM.tabIndex=-1,this.scrollDOM.className="cm-scroller",this.scrollDOM.appendChild(this.contentDOM),this.announceDOM=document.createElement("div"),this.announceDOM.className="cm-announced",this.announceDOM.setAttribute("aria-live","polite"),this.dom=document.createElement("div"),this.dom.appendChild(this.announceDOM),this.dom.appendChild(this.scrollDOM),e.parent&&e.parent.appendChild(this.dom);let{dispatch:n}=e;this.dispatchTransactions=e.dispatchTransactions||n&&(r=>r.forEach(s=>n(s,this)))||(r=>this.update(r)),this.dispatch=this.dispatch.bind(this),this._root=e.root||v0(e.parent)||document,this.viewState=new Qs(this,e.state||se.create(e)),e.scrollTo&&e.scrollTo.is(Jr)&&(this.viewState.scrollTarget=e.scrollTo.value.clip(this.viewState.state)),this.plugins=this.state.facet(cn).map(r=>new Hn(r));for(let r of this.plugins)r.update(this);this.observer=new ja(this),this.inputState=new Ta(this),this.inputState.ensureHandlers(this.plugins),this.docView=new Os(this),this.mountStyles(),this.updateAttrs(),this.updateState=0,this.requestMeasure(),!((t=document.fonts)===null||t===void 0)&&t.ready&&document.fonts.ready.then(()=>{this.viewState.mustMeasureContent="refresh",this.requestMeasure()})}dispatch(...e){let t=e.length==1&&e[0]instanceof pe?e:e.length==1&&Array.isArray(e[0])?e[0]:[this.state.update(...e)];this.dispatchTransactions(t,this)}update(e){if(this.updateState!=0)throw new Error("Calls to EditorView.update are not allowed while an update is in progress");let t=!1,n=!1,r,s=this.state;for(let u of e){if(u.startState!=s)throw new RangeError("Trying to update state with a transaction that doesn't start from the previous state.");s=u.state}if(this.destroyed){this.viewState.state=s;return}let o=this.hasFocus,a=0,l=null;e.some(u=>u.annotation(_u))?(this.inputState.notifiedFocused=o,a=1):o!=this.inputState.notifiedFocused&&(this.inputState.notifiedFocused=o,l=Ru(s,o),l||(a=1));let c=this.observer.delayedAndroidKey,h=null;if(c?(this.observer.clearDelayedAndroidKey(),h=this.observer.readChange(),(h&&!this.state.doc.eq(s.doc)||!this.state.selection.eq(s.selection))&&(h=null)):this.observer.clear(),s.facet(se.phrases)!=this.state.facet(se.phrases))return this.setState(s);r=fs.create(this,s,e),r.flags|=a;let f=this.viewState.scrollTarget;try{this.updateState=2;for(let u of e){if(f&&(f=f.map(u.changes)),u.scrollIntoView){let{main:O}=u.state.selection,{x:p,y:m}=this.state.facet(i.cursorScrollMargin);f=new Fn(O.empty?O:P.cursor(O.head,O.head>O.anchor?-1:1),"nearest","nearest",m,p)}for(let O of u.effects)O.is(Jr)&&(f=O.value.clip(this.state))}this.viewState.update(r,f),this.bidiCache=bs.update(this.bidiCache,r.changes),r.empty||(this.updatePlugins(r),this.inputState.update(r)),t=this.docView.update(r),this.state.facet(In)!=this.styleModules&&this.mountStyles(),n=this.updateAttrs(),this.showAnnouncements(e),this.docView.updateSelection(t,e.some(u=>u.isUserEvent("select.pointer")))}finally{this.updateState=0}if(r.startState.facet(rs)!=r.state.facet(rs)&&(this.viewState.mustMeasureContent=!0),(t||n||f||this.viewState.mustEnforceCursorAssoc||this.viewState.mustMeasureContent)&&this.requestMeasure(),t&&this.docViewUpdate(),!r.empty)for(let u of this.state.facet(pa))try{u(r)}catch(O){lt(this.state,O,"update listener")}(l||h)&&Promise.resolve().then(()=>{l&&this.state==l.startState&&this.dispatch(l),h&&!wu(this,h)&&c.force&&un(this.contentDOM,c.key,c.keyCode)})}setState(e){if(this.updateState!=0)throw new Error("Calls to EditorView.setState are not allowed while an update is in progress");if(this.destroyed){this.viewState.state=e;return}this.updateState=2;let t=this.hasFocus;try{for(let n of this.plugins)n.destroy(this);this.viewState=new Qs(this,e),this.plugins=e.facet(cn).map(n=>new Hn(n)),this.pluginMap.clear();for(let n of this.plugins)n.update(this);this.docView.destroy(),this.docView=new Os(this),this.inputState.ensureHandlers(this.plugins),this.mountStyles(),this.updateAttrs(),this.bidiCache=[]}finally{this.updateState=0}t&&this.focus(),this.requestMeasure()}updatePlugins(e){let t=e.startState.facet(cn),n=e.state.facet(cn);if(t!=n){let r=[];for(let s of n){let o=t.indexOf(s);if(o<0)r.push(new Hn(s));else{let a=this.plugins[o];a.mustUpdate=e,r.push(a)}}for(let s of this.plugins)s.mustUpdate!=e&&s.destroy(this);this.plugins=r,this.pluginMap.clear()}else for(let r of this.plugins)r.mustUpdate=e;for(let r=0;r-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.observer.delayedAndroidKey){this.measureScheduled=-1,this.requestMeasure();return}this.measureScheduled=0,e&&this.observer.forceFlush();let t=null,n=this.viewState.scrollParent,r=this.viewState.getScrollOffset(),{scrollAnchorPos:s,scrollAnchorHeight:o}=this.viewState;Math.abs(r-this.viewState.scrollOffset)>1&&(o=-1),this.viewState.scrollAnchorHeight=-1;try{for(let a=0;;a++){if(o<0)if(Kf(n||this.win))s=-1,o=this.viewState.heightMap.height;else{let O=this.viewState.scrollAnchorAt(r);s=O.from,o=O.top}this.updateState=1;let l=this.viewState.measure();if(!l&&!this.measureRequests.length&&this.viewState.scrollTarget==null)break;if(a>5){console.warn(this.measureRequests.length?"Measure loop restarted more than 5 times":"Viewport failed to stabilize");break}let c=[];l&4||([this.measureRequests,c]=[c,this.measureRequests]);let h=c.map(O=>{try{return O.read(this)}catch(p){return lt(this.state,p),Yf}}),f=fs.create(this,this.state,[]),u=!1;f.flags|=l,t?t.flags|=l:t=f,this.updateState=2,f.empty||(this.updatePlugins(f),this.inputState.update(f),this.updateAttrs(),u=this.docView.update(f),u&&this.docViewUpdate());for(let O=0;O1||p<-1)&&!(L.ios&&this.inputState.lastIOSMomentumScroll>Date.now()-100)&&(n==this.scrollDOM||this.hasFocus||Math.max(this.inputState.lastWheelEvent,this.inputState.lastTouchTime)>Date.now()-100)){r=r+p,n?n.scrollTop+=p:this.win.scrollBy(0,p),o=-1;continue}}break}}}finally{this.updateState=0,this.measureScheduled=-1}if(t&&!t.empty)for(let a of this.state.facet(pa))a(t)}get themeClasses(){return Ma+" "+(this.state.facet(La)?Eu:Zu)+" "+this.state.facet(rs)}updateAttrs(){let e=If(this,pu,{class:"cm-editor"+(this.hasFocus?" cm-focused ":" ")+this.themeClasses}),t={spellcheck:"false",autocorrect:"off",autocapitalize:"off",writingsuggestions:"false",translate:"no",contenteditable:this.state.facet(Mt)?"true":"false",class:"cm-content",style:`${L.tabSize}: ${this.state.tabSize}`,role:"textbox","aria-multiline":"true"};this.state.readOnly&&(t["aria-readonly"]="true"),If(this,Na,t);let n=this.observer.ignore(()=>{let r=xf(this.contentDOM,this.contentAttrs,t),s=xf(this.dom,this.editorAttrs,e);return r||s});return this.editorAttrs=e,this.contentAttrs=t,n}showAnnouncements(e){let t=!0;for(let n of e)for(let r of n.effects)if(r.is(i.announce)){t&&(this.announceDOM.textContent=""),t=!1;let s=this.announceDOM.appendChild(document.createElement("div"));s.textContent=r.value}}mountStyles(){this.styleModules=this.state.facet(In);let e=this.state.facet(i.cspNonce);rt.mount(this.root,this.styleModules.concat(AQ).reverse(),e?{nonce:e}:void 0)}readMeasured(){if(this.updateState==2)throw new Error("Reading the editor layout isn't allowed during an update");this.updateState==0&&this.measureScheduled>-1&&this.measure(!1)}requestMeasure(e){if(this.measureScheduled<0&&(this.measureScheduled=this.win.requestAnimationFrame(()=>this.measure())),e){if(this.measureRequests.indexOf(e)>-1)return;if(e.key!=null){for(let t=0;tn.plugin==e)||null),t&&t.update(this).value}get documentTop(){return this.contentDOM.getBoundingClientRect().top+this.viewState.paddingTop}get documentPadding(){return{top:this.viewState.paddingTop,bottom:this.viewState.paddingBottom}}get scaleX(){return this.viewState.scaleX}get scaleY(){return this.viewState.scaleY}elementAtHeight(e){return this.readMeasured(),this.viewState.elementAtHeight(e)}lineBlockAtHeight(e){return this.readMeasured(),this.viewState.lineBlockAtHeight(e)}get viewportLineBlocks(){return this.viewState.viewportLines}lineBlockAt(e){return this.viewState.lineBlockAt(e)}get contentHeight(){return this.viewState.contentHeight}moveByChar(e,t,n){return ra(this,e,Cf(this,e,t,n))}moveByGroup(e,t){return ra(this,e,Cf(this,e,t,n=>nQ(this,e.head,n)))}visualLineSide(e,t){let n=this.bidiSpans(e),r=this.textDirectionAt(e.from),s=n[t?n.length-1:0];return P.cursor(s.side(t,r)+e.from,s.forward(!t,r)?1:-1)}moveToLineBoundary(e,t,n=!0){return iQ(this,e,t,n)}moveVertically(e,t,n){return ra(this,e,rQ(this,e,t,n))}domAtPos(e,t=1){return this.docView.domAtPos(e,t)}posAtDOM(e,t=0){return this.docView.posFromDOM(e,t)}posAtCoords(e,t=!0){this.readMeasured();let n=wa(this,e,t);return n&&n.pos}posAndSideAtCoords(e,t=!0){return this.readMeasured(),wa(this,e,t)}coordsAtPos(e,t=1){this.readMeasured();let n=this.state.doc.lineAt(e),r=this.bidiSpans(n),s=r[at.find(r,e-n.from,-1,t)];return this.docView.coordsAt(e,t,s.dir==ue.RTL)}coordsForChar(e){return this.readMeasured(),this.docView.coordsForChar(e)}get defaultCharacterWidth(){return this.viewState.heightOracle.charWidth}get defaultLineHeight(){return this.viewState.heightOracle.lineHeight}get textDirection(){return this.viewState.defaultTextDirection}textDirectionAt(e){return!this.state.facet(uu)||ethis.viewport.to?this.textDirection:(this.readMeasured(),this.docView.textDirectionAt(e))}get lineWrapping(){return this.viewState.heightOracle.lineWrapping}bidiSpans(e){if(e.length>qQ)return ru(e.length);let t=this.textDirectionAt(e.from),n;for(let s of this.bidiCache)if(s.from==e.from&&s.dir==t&&(s.fresh||nu(s.isolates,n=vf(this,e))))return s.order;n||(n=vf(this,e));let r=Z0(e.text,t,n);return this.bidiCache.push(new bs(e.from,e.to,t,n,!0,r)),r}get hasFocus(){var e;return(this.dom.ownerDocument.hasFocus()||L.safari&&((e=this.inputState)===null||e===void 0?void 0:e.lastContextMenu)>Date.now()-3e4)&&this.root.activeElement==this.contentDOM}focus(){this.observer.ignore(()=>{Hf(this.contentDOM),this.docView.updateSelection()})}setRoot(e){this._root!=e&&(this._root=e,this.observer.setWindow((e.nodeType==9?e:e.ownerDocument).defaultView||window),this.mountStyles())}destroy(){this.root.activeElement==this.contentDOM&&this.contentDOM.blur();for(let e of this.plugins)e.destroy(this);this.plugins=[],this.inputState.destroy(),this.docView.destroy(),this.dom.remove(),this.observer.destroy(),this.measureScheduled>-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.destroyed=!0}static scrollIntoView(e,t={}){var n,r,s,o;return Jr.of(new Fn(typeof e=="number"?P.cursor(e):e,(n=t.y)!==null&&n!==void 0?n:"nearest",(r=t.x)!==null&&r!==void 0?r:"nearest",(s=t.yMargin)!==null&&s!==void 0?s:5,(o=t.xMargin)!==null&&o!==void 0?o:5))}scrollSnapshot(){let{scrollTop:e,scrollLeft:t}=this.scrollDOM,n=this.viewState.scrollAnchorAt(e);return Jr.of(new Fn(P.cursor(n.from),"start","start",n.top-e,t,!0))}setTabFocusMode(e){e==null?this.inputState.tabFocusMode=this.inputState.tabFocusMode<0?0:-1:typeof e=="boolean"?this.inputState.tabFocusMode=e?0:-1:this.inputState.tabFocusMode!=0&&(this.inputState.tabFocusMode=Date.now()+e)}static domEventHandlers(e){return Ve.define(()=>({}),{eventHandlers:e})}static domEventObservers(e){return Ve.define(()=>({}),{eventObservers:e})}static theme(e,t){let n=rt.newName(),r=[rs.of(n),In.of(Wa(`.${n}`,e))];return t&&t.dark&&r.push(La.of(!0)),r}static baseTheme(e){return nt.lowest(In.of(Wa("."+Ma,e,qu)))}static findFromDOM(e){var t;let n=e.querySelector(".cm-content"),r=n&&fe.get(n)||fe.get(e);return((t=r?.root)===null||t===void 0?void 0:t.view)||null}};z.styleModule=In;z.inputHandler=hu;z.clipboardInputFilter=Ua;z.clipboardOutputFilter=Ga;z.scrollHandler=Ou;z.focusChangeEffect=fu;z.perLineTextDirection=uu;z.exceptionSink=cu;z.updateListener=pa;z.editable=Mt;z.mouseSelectionStyle=lu;z.dragMovesSelection=au;z.clickAddsSelectionRange=ou;z.decorations=ys;z.blockWrappers=mu;z.outerDecorations=Fa;z.atomicRanges=sr;z.bidiIsolatedRanges=gu;z.cursorScrollMargin=Y.define({combine:i=>{let e=5,t=5;for(let n of i)typeof n=="number"?e=t=n:{x:e,y:t}=n;return{x:e,y:t}}});z.scrollMargins=Qu;z.darkTheme=La;z.cspNonce=Y.define({combine:i=>i.length?i[0]:""});z.contentAttributes=Na;z.editorAttributes=pu;z.lineWrapping=z.contentAttributes.of({class:"cm-lineWrapping"});z.announce=te.define();var qQ=4096,Yf={},bs=class i{constructor(e,t,n,r,s,o){this.from=e,this.to=t,this.dir=n,this.isolates=r,this.fresh=s,this.order=o}static update(e,t){if(t.empty&&!e.some(s=>s.fresh))return e;let n=[],r=e.length?e[e.length-1].dir:ue.LTR;for(let s=Math.max(0,e.length-10);s=0;r--){let s=n[r],o=typeof s=="function"?s(i):s;o&&Ya(o,t)}return t}var zQ=L.mac?"mac":L.windows?"win":L.linux?"linux":"key";function LQ(i,e){let t=i.split(/-(?!$)/),n=t[t.length-1];n=="Space"&&(n=" ");let r,s,o,a;for(let l=0;ln.concat(r),[]))),t}var oi=null,jQ=4e3;function VQ(i,e=zQ){let t=Object.create(null),n=Object.create(null),r=(o,a)=>{let l=n[o];if(l==null)n[o]=a;else if(l!=a)throw new Error("Key binding "+o+" is used both as a regular binding and as a multi-stroke prefix")},s=(o,a,l,c,h)=>{var f,u;let O=t[o]||(t[o]=Object.create(null)),p=a.split(/ (?!$)/).map(g=>LQ(g,e));for(let g=1;g{let x=oi={view:S,prefix:Q,scope:o};return setTimeout(()=>{oi==x&&(oi=null)},jQ),!0}]})}let m=p.join(" ");r(m,!1);let b=O[m]||(O[m]={preventDefault:!1,stopPropagation:!1,run:((u=(f=O._any)===null||f===void 0?void 0:f.run)===null||u===void 0?void 0:u.slice())||[]});l&&b.run.push(l),c&&(b.preventDefault=!0),h&&(b.stopPropagation=!0)};for(let o of i){let a=o.scope?o.scope.split(" "):["editor"];if(o.any)for(let c of a){let h=t[c]||(t[c]=Object.create(null));h._any||(h._any={preventDefault:!1,stopPropagation:!1,run:[]});let{any:f}=o;for(let u in h)h[u].run.push(O=>f(O,Da))}let l=o[e]||o.key;if(l)for(let c of a)s(c,l,o.run,o.preventDefault,o.stopPropagation),o.shift&&s(c,"Shift-"+l,o.shift,o.preventDefault,o.stopPropagation)}return t}var Da=null;function DQ(i,e,t,n){Da=e;let r=bf(e),s=si(r,0),o=on(s)==r.length&&r!=" ",a="",l=!1,c=!1,h=!1;oi&&oi.view==t&&oi.scope==n&&(a=oi.prefix+" ",$u.indexOf(e.keyCode)<0&&(c=!0,oi=null));let f=new Set,u=b=>{if(b){for(let g of b.run)if(!f.has(g)&&(f.add(g),g(t)))return b.stopPropagation&&(h=!0),!0;b.preventDefault&&(b.stopPropagation&&(h=!0),c=!0)}return!1},O=i[n],p,m;return O&&(u(O[a+ss(r,e,!o)])?l=!0:o&&(e.altKey||e.metaKey||e.ctrlKey)&&!(L.windows&&e.ctrlKey&&e.altKey)&&!(L.mac&&e.altKey&&!(e.ctrlKey||e.metaKey))&&(p=Lt[e.keyCode])&&p!=r?(u(O[a+ss(p,e,!0)])||e.shiftKey&&(m=an[e.keyCode])!=r&&m!=p&&u(O[a+ss(m,e,!1)]))&&(l=!0):o&&e.shiftKey&&u(O[a+ss(r,e,!0)])&&(l=!0),!l&&u(O._any)&&(l=!0)),c&&(l=!0),l&&h&&e.stopPropagation(),Da=null,l}var zu=te.define({map(i,e){return i==null?null:e.mapPos(i)}}),Un=he.define({create(){return null},update(i,e){return i!=null&&(i=e.changes.mapPos(i)),e.effects.reduce((t,n)=>n.is(zu)?n.value:t,i)}}),YQ=Ve.fromClass(class{constructor(i){this.view=i,this.cursor=null,this.measureReq={read:this.readPos.bind(this),write:this.drawCursor.bind(this)}}update(i){var e;let t=i.state.field(Un);t==null?this.cursor!=null&&((e=this.cursor)===null||e===void 0||e.remove(),this.cursor=null):(this.cursor||(this.cursor=this.view.scrollDOM.appendChild(document.createElement("div")),this.cursor.className="cm-dropCursor"),(i.startState.field(Un)!=t||i.docChanged||i.geometryChanged)&&this.view.requestMeasure(this.measureReq))}readPos(){let{view:i}=this,e=i.state.field(Un),t=e!=null&&i.coordsAtPos(e);if(!t)return null;let n=i.scrollDOM.getBoundingClientRect();return{left:t.left-n.left+i.scrollDOM.scrollLeft*i.scaleX,top:t.top-n.top+i.scrollDOM.scrollTop*i.scaleY,height:t.bottom-t.top}}drawCursor(i){if(this.cursor){let{scaleX:e,scaleY:t}=this.view;i?(this.cursor.style.left=i.left/e+"px",this.cursor.style.top=i.top/t+"px",this.cursor.style.height=i.height/t+"px"):this.cursor.style.left="-100000px"}}destroy(){this.cursor&&this.cursor.remove()}setDropPos(i){this.view.state.field(Un)!=i&&this.view.dispatch({effects:zu.of(i)})}},{eventObservers:{dragover(i){this.setDropPos(this.view.posAtCoords({x:i.clientX,y:i.clientY}))},dragleave(i){(i.target==this.view.contentDOM||!this.view.contentDOM.contains(i.relatedTarget))&&this.setDropPos(null)},dragend(){this.setDropPos(null)},drop(){this.setDropPos(null)}}});function Lu(){return[Un,YQ]}var a$=/x/.unicode!=null?"gu":"g";var Vt=class extends it{compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}eq(e){return!1}destroy(e){}};Vt.prototype.elementClass="";Vt.prototype.toDOM=void 0;Vt.prototype.mapMode=ge.TrackBefore;Vt.prototype.startSide=Vt.prototype.endSide=-1;Vt.prototype.point=!0;var IQ=0,De=class{constructor(e,t){this.from=e,this.to=t}},I=class{constructor(e={}){this.id=IQ++,this.perNode=!!e.perNode,this.deserialize=e.deserialize||(()=>{throw new Error("This node type doesn't define a deserialize function")}),this.combine=e.combine||null}add(e){if(this.perNode)throw new RangeError("Can't add per-node props to node types");return typeof e!="function"&&(e=Oe.match(e)),t=>{let n=e(t);return n===void 0?null:[this,n]}}};I.closedBy=new I({deserialize:i=>i.split(" ")});I.openedBy=new I({deserialize:i=>i.split(" ")});I.group=new I({deserialize:i=>i.split(" ")});I.isolate=new I({deserialize:i=>{if(i&&i!="rtl"&&i!="ltr"&&i!="auto")throw new RangeError("Invalid value for isolate: "+i);return i||"auto"}});I.contextHash=new I({perNode:!0});I.lookAhead=new I({perNode:!0});I.mounted=new I({perNode:!0});var ui=class{constructor(e,t,n,r=!1){this.tree=e,this.overlay=t,this.parser=n,this.bracketed=r}static get(e){return e&&e.props&&e.props[I.mounted.id]}},BQ=Object.create(null),Oe=class i{constructor(e,t,n,r=0){this.name=e,this.props=t,this.id=n,this.flags=r}static define(e){let t=e.props&&e.props.length?Object.create(null):BQ,n=(e.top?1:0)|(e.skipped?2:0)|(e.error?4:0)|(e.name==null?8:0),r=new i(e.name||"",t,e.id,n);if(e.props){for(let s of e.props)if(Array.isArray(s)||(s=s(r)),s){if(s[0].perNode)throw new RangeError("Can't store a per-node prop on a node type");t[s[0].id]=s[1]}}return r}prop(e){return this.props[e.id]}get isTop(){return(this.flags&1)>0}get isSkipped(){return(this.flags&2)>0}get isError(){return(this.flags&4)>0}get isAnonymous(){return(this.flags&8)>0}is(e){if(typeof e=="string"){if(this.name==e)return!0;let t=this.prop(I.group);return t?t.indexOf(e)>-1:!1}return this.id==e}static match(e){let t=Object.create(null);for(let n in e)for(let r of n.split(" "))t[r]=e[n];return n=>{for(let r=n.prop(I.group),s=-1;s<(r?r.length:0);s++){let o=t[s<0?n.name:r[s]];if(o)return o}}}};Oe.none=new Oe("",Object.create(null),0,8);var Dt=class i{constructor(e){this.types=e;for(let t=0;t0;for(let l=this.cursor(o|ee.IncludeAnonymous);;){let c=!1;if(l.from<=s&&l.to>=r&&(!a&&l.type.isAnonymous||t(l)!==!1)){if(l.firstChild())continue;c=!0}for(;c&&n&&(a||!l.type.isAnonymous)&&n(l),!l.nextSibling();){if(!l.parent())return;c=!0}}}prop(e){return e.perNode?this.props?this.props[e.id]:void 0:this.type.prop(e)}get propValues(){let e=[];if(this.props)for(let t in this.props)e.push([+t,this.props[t]]);return e}balance(e={}){return this.children.length<=8?this:ll(Oe.none,this.children,this.positions,0,this.children.length,0,this.length,(t,n,r)=>new i(this.type,t,n,r,this.propValues),e.makeTree||((t,n,r)=>new i(Oe.none,t,n,r)))}static build(e){return GQ(e)}};H.empty=new H(Oe.none,[],[],0);var Ka=class i{constructor(e,t){this.buffer=e,this.index=t}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}get pos(){return this.index}next(){this.index-=4}fork(){return new i(this.buffer,this.index)}},Oi=class i{constructor(e,t,n){this.buffer=e,this.length=t,this.set=n}get type(){return Oe.none}toString(){let e=[];for(let t=0;t0));l=o[l+3]);return a}slice(e,t,n){let r=this.buffer,s=new Uint16Array(t-e),o=0;for(let a=e,l=0;a=e&&te;case 1:return t<=e&&n>e;case 2:return n>e;case 4:return!0}}function or(i,e,t,n){for(var r;i.from==i.to||(t<1?i.from>=e:i.from>e)||(t>-1?i.to<=e:i.to0?a.length:-1;e!=c;e+=t){let h=a[e],f=l[e]+o.from,u;if(!(!(s&ee.EnterBracketed&&h instanceof H&&(u=ui.get(h))&&!u.overlay&&u.bracketed&&n>=f&&n<=f+h.length)&&!Bu(r,n,f,f+h.length))){if(h instanceof Oi){if(s&ee.ExcludeBuffers)continue;let O=h.findChild(0,h.buffer.length,t,n-f,r);if(O>-1)return new zi(new el(o,h,e,f),null,O)}else if(s&ee.IncludeAnonymous||!h.type.isAnonymous||al(h)){let O;if(!(s&ee.IgnoreMounts)&&(O=ui.get(h))&&!O.overlay)return new i(O.tree,f,e,o);let p=new i(h,f,e,o);return s&ee.IncludeAnonymous||!p.type.isAnonymous?p:p.nextChild(t<0?h.children.length-1:0,t,n,r,s)}}}if(s&ee.IncludeAnonymous||!o.type.isAnonymous||(o.index>=0?e=o.index+t:e=t<0?-1:o._parent._tree.children.length,o=o._parent,!o))return null}}get firstChild(){return this.nextChild(0,1,0,4)}get lastChild(){return this.nextChild(this._tree.children.length-1,-1,0,4)}childAfter(e){return this.nextChild(0,1,e,2)}childBefore(e){return this.nextChild(this._tree.children.length-1,-1,e,-2)}prop(e){return this._tree.prop(e)}enter(e,t,n=0){let r;if(!(n&ee.IgnoreOverlays)&&(r=ui.get(this._tree))&&r.overlay){let s=e-this.from,o=n&ee.EnterBracketed&&r.bracketed;for(let{from:a,to:l}of r.overlay)if((t>0||o?a<=s:a=s:l>s))return new i(r.tree,r.overlay[0].from+this.from,-1,this)}return this.nextChild(0,1,e,t,n)}nextSignificantParent(){let e=this;for(;e.type.isAnonymous&&e._parent;)e=e._parent;return e}get parent(){return this._parent?this._parent.nextSignificantParent():null}get nextSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index+1,1,0,4):null}get prevSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index-1,-1,0,4):null}get tree(){return this._tree}toTree(){return this._tree}toString(){return this._tree.toString()}};function Wu(i,e,t,n){let r=i.cursor(),s=[];if(!r.firstChild())return s;if(t!=null){for(let o=!1;!o;)if(o=r.type.is(t),!r.nextSibling())return s}for(;;){if(n!=null&&r.type.is(n))return s;if(r.type.is(e)&&s.push(r.node),!r.nextSibling())return n==null?s:[]}}function Ja(i,e,t=e.length-1){for(let n=i;t>=0;n=n.parent){if(!n)return!1;if(!n.type.isAnonymous){if(e[t]&&e[t]!=n.name)return!1;t--}}return!0}var el=class{constructor(e,t,n,r){this.parent=e,this.buffer=t,this.index=n,this.start=r}},zi=class i extends Ps{get name(){return this.type.name}get from(){return this.context.start+this.context.buffer.buffer[this.index+1]}get to(){return this.context.start+this.context.buffer.buffer[this.index+2]}constructor(e,t,n){super(),this.context=e,this._parent=t,this.index=n,this.type=e.buffer.set.types[e.buffer.buffer[n]]}child(e,t,n){let{buffer:r}=this.context,s=r.findChild(this.index+4,r.buffer[this.index+3],e,t-this.context.start,n);return s<0?null:new i(this.context,this,s)}get firstChild(){return this.child(1,0,4)}get lastChild(){return this.child(-1,0,4)}childAfter(e){return this.child(1,e,2)}childBefore(e){return this.child(-1,e,-2)}prop(e){return this.type.prop(e)}enter(e,t,n=0){if(n&ee.ExcludeBuffers)return null;let{buffer:r}=this.context,s=r.findChild(this.index+4,r.buffer[this.index+3],t>0?1:-1,e-this.context.start,t);return s<0?null:new i(this.context,this,s)}get parent(){return this._parent||this.context.parent.nextSignificantParent()}externalSibling(e){return this._parent?null:this.context.parent.nextChild(this.context.index+e,e,0,4)}get nextSibling(){let{buffer:e}=this.context,t=e.buffer[this.index+3];return t<(this._parent?e.buffer[this._parent.index+3]:e.buffer.length)?new i(this.context,this._parent,t):this.externalSibling(1)}get prevSibling(){let{buffer:e}=this.context,t=this._parent?this._parent.index+4:0;return this.index==t?this.externalSibling(-1):new i(this.context,this._parent,e.findChild(t,this.index,-1,0,4))}get tree(){return null}toTree(){let e=[],t=[],{buffer:n}=this.context,r=this.index+4,s=n.buffer[this.index+3];if(s>r){let o=n.buffer[this.index+1];e.push(n.slice(r,s,o)),t.push(0)}return new H(this.type,e,t,this.to-this.from)}toString(){return this.context.buffer.childString(this.index)}};function Uu(i){if(!i.length)return null;let e=0,t=i[0];for(let s=1;st.from||o.to=e){let a=new Ye(o.tree,o.overlay[0].from+s.from,-1,s);(r||(r=[n])).push(or(a,e,t,!1))}}return r?Uu(r):n}var Qn=class{get name(){return this.type.name}constructor(e,t=0){if(this.buffer=null,this.stack=[],this.index=0,this.bufferNode=null,this.mode=t&~ee.EnterBracketed,e instanceof Ye)this.yieldNode(e);else{this._tree=e.context.parent,this.buffer=e.context;for(let n=e._parent;n;n=n._parent)this.stack.unshift(n.index);this.bufferNode=e,this.yieldBuf(e.index)}}yieldNode(e){return e?(this._tree=e,this.type=e.type,this.from=e.from,this.to=e.to,!0):!1}yieldBuf(e,t){this.index=e;let{start:n,buffer:r}=this.buffer;return this.type=t||r.set.types[r.buffer[e]],this.from=n+r.buffer[e+1],this.to=n+r.buffer[e+2],!0}yield(e){return e?e instanceof Ye?(this.buffer=null,this.yieldNode(e)):(this.buffer=e.context,this.yieldBuf(e.index,e.type)):!1}toString(){return this.buffer?this.buffer.buffer.childString(this.index):this._tree.toString()}enterChild(e,t,n){if(!this.buffer)return this.yield(this._tree.nextChild(e<0?this._tree._tree.children.length-1:0,e,t,n,this.mode));let{buffer:r}=this.buffer,s=r.findChild(this.index+4,r.buffer[this.index+3],e,t-this.buffer.start,n);return s<0?!1:(this.stack.push(this.index),this.yieldBuf(s))}firstChild(){return this.enterChild(1,0,4)}lastChild(){return this.enterChild(-1,0,4)}childAfter(e){return this.enterChild(1,e,2)}childBefore(e){return this.enterChild(-1,e,-2)}enter(e,t,n=this.mode){return this.buffer?n&ee.ExcludeBuffers?!1:this.enterChild(1,e,t):this.yield(this._tree.enter(e,t,n))}parent(){if(!this.buffer)return this.yieldNode(this.mode&ee.IncludeAnonymous?this._tree._parent:this._tree.parent);if(this.stack.length)return this.yieldBuf(this.stack.pop());let e=this.mode&ee.IncludeAnonymous?this.buffer.parent:this.buffer.parent.nextSignificantParent();return this.buffer=null,this.yieldNode(e)}sibling(e){if(!this.buffer)return this._tree._parent?this.yield(this._tree.index<0?null:this._tree._parent.nextChild(this._tree.index+e,e,0,4,this.mode)):!1;let{buffer:t}=this.buffer,n=this.stack.length-1;if(e<0){let r=n<0?0:this.stack[n]+4;if(this.index!=r)return this.yieldBuf(t.findChild(r,this.index,-1,0,4))}else{let r=t.buffer[this.index+3];if(r<(n<0?t.buffer.length:t.buffer[this.stack[n]+3]))return this.yieldBuf(r)}return n<0?this.yield(this.buffer.parent.nextChild(this.buffer.index+e,e,0,4,this.mode)):!1}nextSibling(){return this.sibling(1)}prevSibling(){return this.sibling(-1)}atLastNode(e){let t,n,{buffer:r}=this;if(r){if(e>0){if(this.index-1)for(let s=t+e,o=e<0?-1:n._tree.children.length;s!=o;s+=e){let a=n._tree.children[s];if(this.mode&ee.IncludeAnonymous||a instanceof Oi||!a.type.isAnonymous||al(a))return!1}return!0}move(e,t){if(t&&this.enterChild(e,0,4))return!0;for(;;){if(this.sibling(e))return!0;if(this.atLastNode(e)||!this.parent())return!1}}next(e=!0){return this.move(1,e)}prev(e=!0){return this.move(-1,e)}moveTo(e,t=0){for(;(this.from==this.to||(t<1?this.from>=e:this.from>e)||(t>-1?this.to<=e:this.to=0;){for(let o=e;o;o=o._parent)if(o.index==r){if(r==this.index)return o;t=o,n=s+1;break e}r=this.stack[--s]}for(let r=n;r=0;s--){if(s<0)return Ja(this._tree,e,r);let o=n[t.buffer[this.stack[s]]];if(!o.isAnonymous){if(e[r]&&e[r]!=o.name)return!1;r--}}return!0}};function al(i){return i.children.some(e=>e instanceof Oi||!e.type.isAnonymous||al(e))}function GQ(i){var e;let{buffer:t,nodeSet:n,maxBufferLength:r=1024,reused:s=[],minRepeatType:o=n.types.length}=i,a=Array.isArray(t)?new Ka(t,t.length):t,l=n.types,c=0,h=0;function f(v,$,R,_,W,T){let{id:k,start:w,end:C,size:j}=a,y=h,q=c;if(j<0)if(a.next(),j==-1){let N=s[k];R.push(N),_.push(w-v);return}else if(j==-3){c=k;return}else if(j==-4){h=k;return}else throw new RangeError(`Unrecognized record size: ${j}`);let de=l[k],Zt,X,G=w-v;if(C-w<=r&&(X=b(a.pos-$,W))){let N=new Uint16Array(X.size-X.skip),B=a.pos-X.size,re=N.length;for(;a.pos>B;)re=g(X.start,N,re);Zt=new Oi(N,C-X.start,n),G=X.start-v}else{let N=a.pos-j;a.next();let B=[],re=[],ne=k>=o?k:-1,ye=0,Et=C;for(;a.pos>N;)ne>=0&&a.id==ne&&a.size>=0?(a.end<=Et-r&&(p(B,re,w,ye,a.end,Et,ne,y,q),ye=B.length,Et=a.end),a.next()):T>2500?u(w,N,B,re):f(w,N,B,re,ne,T+1);if(ne>=0&&ye>0&&ye-1&&ye>0){let ni=O(de,q);Zt=ll(de,B,re,0,B.length,0,C-w,ni,ni)}else Zt=m(de,B,re,C-w,y-C,q)}R.push(Zt),_.push(G)}function u(v,$,R,_){let W=[],T=0,k=-1;for(;a.pos>$;){let{id:w,start:C,end:j,size:y}=a;if(y>4)a.next();else{if(k>-1&&C=0;j-=3)w[y++]=W[j],w[y++]=W[j+1]-C,w[y++]=W[j+2]-C,w[y++]=y;R.push(new Oi(w,W[2]-C,n)),_.push(C-v)}}function O(v,$){return(R,_,W)=>{let T=0,k=R.length-1,w,C;if(k>=0&&(w=R[k])instanceof H){if(!k&&w.type==v&&w.length==W)return w;(C=w.prop(I.lookAhead))&&(T=_[k]+w.length+C)}return m(v,R,_,W,T,$)}}function p(v,$,R,_,W,T,k,w,C){let j=[],y=[];for(;v.length>_;)j.push(v.pop()),y.push($.pop()+R-W);v.push(m(n.types[k],j,y,T-W,w-T,C)),$.push(W-R)}function m(v,$,R,_,W,T,k){if(T){let w=[I.contextHash,T];k=k?[w].concat(k):[w]}if(W>25){let w=[I.lookAhead,W];k=k?[w].concat(k):[w]}return new H(v,$,R,_,k)}function b(v,$){let R=a.fork(),_=0,W=0,T=0,k=R.end-r,w={size:0,start:0,skip:0};e:for(let C=R.pos-v;R.pos>C;){let j=R.size;if(R.id==$&&j>=0){w.size=_,w.start=W,w.skip=T,T+=4,_+=4,R.next();continue}let y=R.pos-j;if(j<0||y=o?4:0,de=R.start;for(R.next();R.pos>y;){if(R.size<0)if(R.size==-3||R.size==-4)q+=4;else break e;else R.id>=o&&(q+=4);R.next()}W=de,_+=j,T+=q}return($<0||_==v)&&(w.size=_,w.start=W,w.skip=T),w.size>4?w:void 0}function g(v,$,R){let{id:_,start:W,end:T,size:k}=a;if(a.next(),k>=0&&_4){let C=a.pos-(k-4);for(;a.pos>C;)R=g(v,$,R)}$[--R]=w,$[--R]=T-v,$[--R]=W-v,$[--R]=_}else k==-3?c=_:k==-4&&(h=_);return R}let Q=[],S=[];for(;a.pos>0;)f(i.start||0,i.bufferStart||0,Q,S,-1,0);let x=(e=i.length)!==null&&e!==void 0?e:Q.length?S[0]+Q[0].length:0;return new H(l[i.topID],Q.reverse(),S.reverse(),x)}var ju=new WeakMap;function ws(i,e){if(!i.isAnonymous||e instanceof Oi||e.type!=i)return 1;let t=ju.get(e);if(t==null){t=1;for(let n of e.children){if(n.type!=i||!(n instanceof H)){t=1;break}t+=ws(i,n)}ju.set(e,t)}return t}function ll(i,e,t,n,r,s,o,a,l){let c=0;for(let p=n;p=h)break;$+=R}if(S==x+1){if($>h){let R=p[x];O(R.children,R.positions,0,R.children.length,m[x]+Q);continue}f.push(p[x])}else{let R=m[S-1]+p[S-1].length-v;f.push(ll(i,p,m,x,S,v,R,null,l))}u.push(v+Q-s)}}return O(e,t,n,r,0),(a||l)(f,u,o)}var di=class{constructor(){this.map=new WeakMap}setBuffer(e,t,n){let r=this.map.get(e);r||this.map.set(e,r=new Map),r.set(t,n)}getBuffer(e,t){let n=this.map.get(e);return n&&n.get(t)}set(e,t){e instanceof zi?this.setBuffer(e.context.buffer,e.index,t):e instanceof Ye&&this.map.set(e.tree,t)}get(e){return e instanceof zi?this.getBuffer(e.context.buffer,e.index):e instanceof Ye?this.map.get(e.tree):void 0}cursorSet(e,t){e.buffer?this.setBuffer(e.buffer.buffer,e.index,t):this.map.set(e.tree,t)}cursorGet(e){return e.buffer?this.getBuffer(e.buffer.buffer,e.index):this.map.get(e.tree)}},Yt=class i{constructor(e,t,n,r,s=!1,o=!1){this.from=e,this.to=t,this.tree=n,this.offset=r,this.open=(s?1:0)|(o?2:0)}get openStart(){return(this.open&1)>0}get openEnd(){return(this.open&2)>0}static addTree(e,t=[],n=!1){let r=[new i(0,e.length,e,0,!1,n)];for(let s of t)s.to>e.length&&r.push(s);return r}static applyChanges(e,t,n=128){if(!t.length)return e;let r=[],s=1,o=e.length?e[0]:null;for(let a=0,l=0,c=0;;a++){let h=a=n)for(;o&&o.from=u.from||f<=u.to||c){let O=Math.max(u.from,l)-c,p=Math.min(u.to,f)-c;u=O>=p?null:new i(O,p,u.tree,u.offset+c,a>0,!!h)}if(u&&r.push(u),o.to>f)break;o=snew De(r.from,r.to)):[new De(0,0)]:[new De(0,e.length)],this.createParse(e,t||[],n)}parse(e,t,n){let r=this.startParse(e,t,n);for(;;){let s=r.advance();if(s)return s}}},il=class{constructor(e){this.string=e}get length(){return this.string.length}chunk(e){return this.string.slice(e)}get lineChunks(){return!1}read(e,t){return this.string.slice(e,t)}};function bn(i){return(e,t,n,r)=>new sl(e,i,t,n,r)}var vs=class{constructor(e,t,n,r,s,o){this.parser=e,this.parse=t,this.overlay=n,this.bracketed=r,this.target=s,this.from=o}};function Vu(i){if(!i.length||i.some(e=>e.from>=e.to))throw new RangeError("Invalid inner parse ranges given: "+JSON.stringify(i))}var nl=class{constructor(e,t,n,r,s,o,a,l){this.parser=e,this.predicate=t,this.mounts=n,this.index=r,this.start=s,this.bracketed=o,this.target=a,this.prev=l,this.depth=0,this.ranges=[]}},rl=new I({perNode:!0}),sl=class{constructor(e,t,n,r,s){this.nest=t,this.input=n,this.fragments=r,this.ranges=s,this.inner=[],this.innerDone=0,this.baseTree=null,this.stoppedAt=null,this.baseParse=e}advance(){if(this.baseParse){let n=this.baseParse.advance();if(!n)return null;if(this.baseParse=null,this.baseTree=n,this.startInner(),this.stoppedAt!=null)for(let r of this.inner)r.parse.stopAt(this.stoppedAt)}if(this.innerDone==this.inner.length){let n=this.baseTree;return this.stoppedAt!=null&&(n=new H(n.type,n.children,n.positions,n.length,n.propValues.concat([[rl,this.stoppedAt]]))),n}let e=this.inner[this.innerDone],t=e.parse.advance();if(t){this.innerDone++;let n=Object.assign(Object.create(null),e.target.props);n[I.mounted.id]=new ui(t,e.overlay,e.parser,e.bracketed),e.target.props=n}return null}get parsedPos(){if(this.baseParse)return 0;let e=this.input.length;for(let t=this.innerDone;t=this.stoppedAt)a=!1;else if(e.hasNode(r)){if(t){let c=t.mounts.find(h=>h.frag.from<=r.from&&h.frag.to>=r.to&&h.mount.overlay);if(c)for(let h of c.mount.overlay){let f=h.from+c.pos,u=h.to+c.pos;f>=r.from&&u<=r.to&&!t.ranges.some(O=>O.fromf)&&t.ranges.push({from:f,to:u})}}a=!1}else if(n&&(o=NQ(n.ranges,r.from,r.to)))a=o!=2;else if(!r.type.isAnonymous&&(s=this.nest(r,this.input))&&(r.fromnew De(f.from-r.from,f.to-r.from)):null,!!s.bracketed,r.tree,h.length?h[0].from:r.from)),s.overlay?h.length&&(n={ranges:h,depth:0,prev:n}):a=!1}}else if(t&&(l=t.predicate(r))&&(l===!0&&(l=new De(r.from,r.to)),l.from=0&&t.ranges[c].to==l.from?t.ranges[c]={from:t.ranges[c].from,to:l.to}:t.ranges.push(l)}if(a&&r.firstChild())t&&t.depth++,n&&n.depth++;else for(;!r.nextSibling();){if(!r.parent())break e;if(t&&!--t.depth){let c=Yu(this.ranges,t.ranges);c.length&&(Vu(c),this.inner.splice(t.index,0,new vs(t.parser,t.parser.startParse(this.input,Iu(t.mounts,c),c),t.ranges.map(h=>new De(h.from-t.start,h.to-t.start)),t.bracketed,t.target,c[0].from))),t=t.prev}n&&!--n.depth&&(n=n.prev)}}}};function NQ(i,e,t){for(let n of i){if(n.from>=t)break;if(n.to>e)return n.from<=e&&n.to>=t?2:1}return 0}function Du(i,e,t,n,r,s){if(e=e&&t.enter(n,1,ee.IgnoreOverlays|ee.ExcludeBuffers)))if(t.to<=e)t.next(!1)||(this.done=!0);else break}hasNode(e){if(this.moveTo(e.from),!this.done&&this.cursor.from+this.offset==e.from&&this.cursor.tree)for(let t=this.cursor.tree;;){if(t==e.tree)return!0;if(t.children.length&&t.positions[0]==0&&t.children[0]instanceof H)t=t.children[0];else break}return!1}},ol=class{constructor(e){var t;if(this.fragments=e,this.curTo=0,this.fragI=0,e.length){let n=this.curFrag=e[0];this.curTo=(t=n.tree.prop(rl))!==null&&t!==void 0?t:n.to,this.inner=new $s(n.tree,-n.offset)}else this.curFrag=this.inner=null}hasNode(e){for(;this.curFrag&&e.from>=this.curTo;)this.nextFrag();return this.curFrag&&this.curFrag.from<=e.from&&this.curTo>=e.to&&this.inner.hasNode(e)}nextFrag(){var e;if(this.fragI++,this.fragI==this.fragments.length)this.curFrag=this.inner=null;else{let t=this.curFrag=this.fragments[this.fragI];this.curTo=(e=t.tree.prop(rl))!==null&&e!==void 0?e:t.to,this.inner=new $s(t.tree,-t.offset)}}findMounts(e,t){var n;let r=[];if(this.inner){this.inner.cursor.moveTo(e,1);for(let s=this.inner.cursor.node;s;s=s.parent){let o=(n=s.tree)===null||n===void 0?void 0:n.prop(I.mounted);if(o&&o.parser==t)for(let a=this.fragI;a=s.to)break;l.tree==this.curFrag.tree&&r.push({frag:l,pos:s.from-l.offset,mount:o})}}}return r}};function Yu(i,e){let t=null,n=e;for(let r=1,s=0;r=a)break;l.to<=o||(t||(n=t=e.slice()),l.froma&&t.splice(s+1,0,new De(a,l.to))):l.to>a?t[s--]=new De(a,l.to):t.splice(s--,1))}}return n}function HQ(i,e,t,n){let r=0,s=0,o=!1,a=!1,l=-1e9,c=[];for(;;){let h=r==i.length?1e9:o?i[r].to:i[r].from,f=s==e.length?1e9:a?e[s].to:e[s].from;if(o!=a){let u=Math.max(l,t),O=Math.min(h,f,n);unew De(u.from+n,u.to+n)),f=HQ(e,h,l,c);for(let u=0,O=l;;u++){let p=u==f.length,m=p?c:f[u].from;if(m>O&&t.push(new Yt(O,m,r.tree,-o,s.from>=O||s.openStart,s.to<=m||s.openEnd)),p)break;O=f[u].to}}else t.push(new Yt(l,c,r.tree,-o,s.from>=o||s.openStart,s.to<=a||s.openEnd))}return t}var KQ=0,He=class i{constructor(e,t,n,r){this.name=e,this.set=t,this.base=n,this.modified=r,this.id=KQ++}toString(){let{name:e}=this;for(let t of this.modified)t.name&&(e=`${t.name}(${e})`);return e}static define(e,t){let n=typeof e=="string"?e:"?";if(e instanceof i&&(t=e),t?.base)throw new Error("Can not derive from a modified tag");let r=new i(n,[],null,[]);if(r.set.push(r),t)for(let s of t.set)r.set.push(s);return r}static defineModifier(e){let t=new _s(e);return n=>n.modified.indexOf(t)>-1?n:_s.get(n.base||n,n.modified.concat(t).sort((r,s)=>r.id-s.id))}},JQ=0,_s=class i{constructor(e){this.name=e,this.instances=[],this.id=JQ++}static get(e,t){if(!t.length)return e;let n=t[0].instances.find(a=>a.base==e&&eb(t,a.modified));if(n)return n;let r=[],s=new He(e.name,r,e,t);for(let a of t)a.instances.push(s);let o=tb(t);for(let a of e.set)if(!a.modified.length)for(let l of o)r.push(i.get(a,l));return s}};function eb(i,e){return i.length==e.length&&i.every((t,n)=>t==e[n])}function tb(i){let e=[[]];for(let t=0;tn.length-t.length)}function Qe(i){let e=Object.create(null);for(let t in i){let n=i[t];Array.isArray(n)||(n=[n]);for(let r of t.split(" "))if(r){let s=[],o=2,a=r;for(let f=0;;){if(a=="..."&&f>0&&f+3==r.length){o=1;break}let u=/^"(?:[^"\\]|\\.)*?"|[^\/!]+/.exec(a);if(!u)throw new RangeError("Invalid path: "+r);if(s.push(u[0]=="*"?"":u[0][0]=='"'?JSON.parse(u[0]):u[0]),f+=u[0].length,f==r.length)break;let O=r[f++];if(f==r.length&&O=="!"){o=0;break}if(O!="/")throw new RangeError("Invalid path: "+r);a=r.slice(f)}let l=s.length-1,c=s[l];if(!c)throw new RangeError("Invalid path: "+r);let h=new Mi(n,o,l>0?s.slice(0,l):null);e[c]=h.sort(e[c])}}return Fu.add(e)}var Fu=new I({combine(i,e){let t,n,r;for(;i||e;){if(!i||e&&i.depth>=e.depth?(r=e,e=e.next):(r=i,i=i.next),t&&t.mode==r.mode&&!r.context&&!t.context)continue;let s=new Mi(r.tags,r.mode,r.context);t?t.next=s:n=s,t=s}return n}}),Mi=class{constructor(e,t,n,r){this.tags=e,this.mode=t,this.context=n,this.next=r}get opaque(){return this.mode==0}get inherit(){return this.mode==1}sort(e){return!e||e.depth{let o=r;for(let a of s)for(let l of a.set){let c=t[l.id];if(c){o=o?o+" "+c:c;break}}return o},scope:n}}function ib(i,e){let t=null;for(let n of i){let r=n.style(e);r&&(t=t?t+" "+r:r)}return t}function Rs(i,e,t,n=0,r=i.length){let s=new hl(n,Array.isArray(e)?e:[e],t);s.highlightRange(i.cursor(),n,r,"",s.highlighters),s.flush(r)}var hl=class{constructor(e,t,n){this.at=e,this.highlighters=t,this.span=n,this.class=""}startSpan(e,t){t!=this.class&&(this.flush(e),e>this.at&&(this.at=e),this.class=t)}flush(e){e>this.at&&this.class&&this.span(this.at,e,this.class)}highlightRange(e,t,n,r,s){let{type:o,from:a,to:l}=e;if(a>=n||l<=t)return;o.isTop&&(s=this.highlighters.filter(O=>!O.scope||O.scope(o)));let c=r,h=nb(e)||Mi.empty,f=ib(s,h.tags);if(f&&(c&&(c+=" "),c+=f,h.mode==1&&(r+=(r?" ":"")+f)),this.startSpan(Math.max(t,a),c),h.opaque)return;let u=e.tree&&e.tree.prop(I.mounted);if(u&&u.overlay){let O=e.node.enter(u.overlay[0].from+a,1),p=this.highlighters.filter(b=>!b.scope||b.scope(u.tree.type)),m=e.firstChild();for(let b=0,g=a;;b++){let Q=b=S||!e.nextSibling())););if(!Q||S>n)break;g=Q.to+a,g>t&&(this.highlightRange(O.cursor(),Math.max(t,Q.from+a),Math.min(n,g),"",p),this.startSpan(Math.min(n,g),c))}m&&e.parent()}else if(e.firstChild()){u&&(r="");do if(!(e.to<=t)){if(e.from>=n)break;this.highlightRange(e,t,n,r,s),this.startSpan(Math.min(n,e.to),c)}while(e.nextSibling());e.parent()}}};function nb(i){let e=i.type.prop(Fu);for(;e&&e.context&&!i.matchContext(e.context);)e=e.next;return e||null}var E=He.define,Ts=E(),pi=E(),Gu=E(pi),Nu=E(pi),mi=E(),Cs=E(mi),cl=E(mi),_t=E(),Li=E(_t),Ct=E(),Xt=E(),fl=E(),ar=E(fl),Xs=E(),d={comment:Ts,lineComment:E(Ts),blockComment:E(Ts),docComment:E(Ts),name:pi,variableName:E(pi),typeName:Gu,tagName:E(Gu),propertyName:Nu,attributeName:E(Nu),className:E(pi),labelName:E(pi),namespace:E(pi),macroName:E(pi),literal:mi,string:Cs,docString:E(Cs),character:E(Cs),attributeValue:E(Cs),number:cl,integer:E(cl),float:E(cl),bool:E(mi),regexp:E(mi),escape:E(mi),color:E(mi),url:E(mi),keyword:Ct,self:E(Ct),null:E(Ct),atom:E(Ct),unit:E(Ct),modifier:E(Ct),operatorKeyword:E(Ct),controlKeyword:E(Ct),definitionKeyword:E(Ct),moduleKeyword:E(Ct),operator:Xt,derefOperator:E(Xt),arithmeticOperator:E(Xt),logicOperator:E(Xt),bitwiseOperator:E(Xt),compareOperator:E(Xt),updateOperator:E(Xt),definitionOperator:E(Xt),typeOperator:E(Xt),controlOperator:E(Xt),punctuation:fl,separator:E(fl),bracket:ar,angleBracket:E(ar),squareBracket:E(ar),paren:E(ar),brace:E(ar),content:_t,heading:Li,heading1:E(Li),heading2:E(Li),heading3:E(Li),heading4:E(Li),heading5:E(Li),heading6:E(Li),contentSeparator:E(_t),list:E(_t),quote:E(_t),emphasis:E(_t),strong:E(_t),link:E(_t),monospace:E(_t),strikethrough:E(_t),inserted:E(),deleted:E(),changed:E(),invalid:E(),meta:Xs,documentMeta:E(Xs),annotation:E(Xs),processingInstruction:E(Xs),definition:He.defineModifier("definition"),constant:He.defineModifier("constant"),function:He.defineModifier("function"),standard:He.defineModifier("standard"),local:He.defineModifier("local"),special:He.defineModifier("special")};for(let i in d){let e=d[i];e instanceof He&&(e.name=i)}var O$=ul([{tag:d.link,class:"tok-link"},{tag:d.heading,class:"tok-heading"},{tag:d.emphasis,class:"tok-emphasis"},{tag:d.strong,class:"tok-strong"},{tag:d.keyword,class:"tok-keyword"},{tag:d.atom,class:"tok-atom"},{tag:d.bool,class:"tok-bool"},{tag:d.url,class:"tok-url"},{tag:d.labelName,class:"tok-labelName"},{tag:d.inserted,class:"tok-inserted"},{tag:d.deleted,class:"tok-deleted"},{tag:d.literal,class:"tok-literal"},{tag:d.string,class:"tok-string"},{tag:d.number,class:"tok-number"},{tag:[d.regexp,d.escape,d.special(d.string)],class:"tok-string2"},{tag:d.variableName,class:"tok-variableName"},{tag:d.local(d.variableName),class:"tok-variableName tok-local"},{tag:d.definition(d.variableName),class:"tok-variableName tok-definition"},{tag:d.special(d.variableName),class:"tok-variableName2"},{tag:d.definition(d.propertyName),class:"tok-propertyName tok-definition"},{tag:d.typeName,class:"tok-typeName"},{tag:d.namespace,class:"tok-namespace"},{tag:d.className,class:"tok-className"},{tag:d.macroName,class:"tok-macroName"},{tag:d.propertyName,class:"tok-propertyName"},{tag:d.operator,class:"tok-operator"},{tag:d.comment,class:"tok-comment"},{tag:d.meta,class:"tok-meta"},{tag:d.invalid,class:"tok-invalid"},{tag:d.punctuation,class:"tok-punctuation"}]);var Ol,bt=new I;function kn(i){return Y.define({combine:i?e=>e.concat(i):void 0})}var qs=new I,xe=class{constructor(e,t,n=[],r=""){this.data=e,this.name=r,se.prototype.hasOwnProperty("tree")||Object.defineProperty(se.prototype,"tree",{get(){return U(this)}}),this.parser=t,this.extension=[Sn.of(this),se.languageData.of((s,o,a)=>{let l=Hu(s,o,a),c=l.type.prop(bt);if(!c)return[];let h=s.facet(c),f=l.type.prop(qs);if(f){let u=l.resolve(o-l.from,a);for(let O of f)if(O.test(u,s)){let p=s.facet(O.facet);return O.type=="replace"?p:p.concat(h)}}return h})].concat(n)}isActiveAt(e,t,n=-1){return Hu(e,t,n).type.prop(bt)==this.data}findRegions(e){let t=e.facet(Sn);if(t?.data==this.data)return[{from:0,to:e.doc.length}];if(!t||!t.allowsNesting)return[];let n=[],r=(s,o)=>{if(s.prop(bt)==this.data){n.push({from:o,to:o+s.length});return}let a=s.prop(I.mounted);if(a){if(a.tree.prop(bt)==this.data){if(a.overlay)for(let l of a.overlay)n.push({from:l.from+o,to:l.to+o});else n.push({from:o,to:o+s.length});return}else if(a.overlay){let l=n.length;if(r(a.tree,a.overlay[0].from+o),n.length>l)return}}for(let l=0;ln.isTop?t:void 0)]}),e.name)}configure(e,t){return new i(this.data,this.parser.configure(e),t||this.name)}get allowsNesting(){return this.parser.hasWrappers()}};function U(i){let e=i.field(xe.state,!1);return e?e.tree:H.empty}function zs(i,e,t=50){var n;let r=(n=i.field(xe.state,!1))===null||n===void 0?void 0:n.context;if(!r)return null;let s=r.viewport;r.updateViewport({from:0,to:e});let o=r.isDone(e)||r.work(t,e)?r.tree:null;return r.updateViewport(s),o}function nO(i,e=i.doc.length){var t;return((t=i.field(xe.state,!1))===null||t===void 0?void 0:t.context.isDone(e))||!1}var gl=class{constructor(e){this.doc=e,this.cursorPos=0,this.string="",this.cursor=e.iter()}get length(){return this.doc.length}syncTo(e){return this.string=this.cursor.next(e-this.cursorPos).value,this.cursorPos=e+this.string.length,this.cursorPos-this.string.length}chunk(e){return this.syncTo(e),this.string}get lineChunks(){return!0}read(e,t){let n=this.cursorPos-this.string.length;return e=this.cursorPos?this.doc.sliceString(e,t):this.string.slice(e-n,t-n)}},lr=null,Wi=class i{constructor(e,t,n=[],r,s,o,a,l){this.parser=e,this.state=t,this.fragments=n,this.tree=r,this.treeLen=s,this.viewport=o,this.skipped=a,this.scheduleOn=l,this.parse=null,this.tempSkipped=[]}static create(e,t,n){return new i(e,t,[],H.empty,0,n,[],null)}startParse(){return this.parser.startParse(new gl(this.state.doc),this.fragments)}work(e,t){return t!=null&&t>=this.state.doc.length&&(t=void 0),this.tree!=H.empty&&this.isDone(t??this.state.doc.length)?(this.takeTree(),!0):this.withContext(()=>{var n;if(typeof e=="number"){let r=Date.now()+e;e=()=>Date.now()>r}for(this.parse||(this.parse=this.startParse()),t!=null&&(this.parse.stoppedAt==null||this.parse.stoppedAt>t)&&t=this.treeLen&&((this.parse.stoppedAt==null||this.parse.stoppedAt>e)&&this.parse.stopAt(e),this.withContext(()=>{for(;!(t=this.parse.advance()););}),this.treeLen=e,this.tree=t,this.fragments=this.withoutTempSkipped(Yt.addTree(this.tree,this.fragments,!0)),this.parse=null)}withContext(e){let t=lr;lr=this;try{return e()}finally{lr=t}}withoutTempSkipped(e){for(let t;t=this.tempSkipped.pop();)e=Ku(e,t.from,t.to);return e}changes(e,t){let{fragments:n,tree:r,treeLen:s,viewport:o,skipped:a}=this;if(this.takeTree(),!e.empty){let l=[];if(e.iterChangedRanges((c,h,f,u)=>l.push({fromA:c,toA:h,fromB:f,toB:u})),n=Yt.applyChanges(n,l),r=H.empty,s=0,o={from:e.mapPos(o.from,-1),to:e.mapPos(o.to,1)},this.skipped.length){a=[];for(let c of this.skipped){let h=e.mapPos(c.from,1),f=e.mapPos(c.to,-1);he.from&&(this.fragments=Ku(this.fragments,r,s),this.skipped.splice(n--,1))}return this.skipped.length>=t?!1:(this.reset(),!0)}reset(){this.parse&&(this.takeTree(),this.parse=null)}skipUntilInView(e,t){this.skipped.push({from:e,to:t})}static getSkippingParser(e){return new class extends It{createParse(t,n,r){let s=r[0].from,o=r[r.length-1].to;return{parsedPos:s,advance(){let l=lr;if(l){for(let c of r)l.tempSkipped.push(c);e&&(l.scheduleOn=l.scheduleOn?Promise.all([l.scheduleOn,e]):e)}return this.parsedPos=o,new H(Oe.none,[],[],o-s)},stoppedAt:null,stopAt(){}}}}}isDone(e){e=Math.min(e,this.state.doc.length);let t=this.fragments;return this.treeLen>=e&&t.length&&t[0].from==0&&t[0].to>=e}static get(){return lr}};function Ku(i,e,t){return Yt.applyChanges(i,[{fromA:e,toA:t,fromB:e,toB:t}])}var cr=class i{constructor(e){this.context=e,this.tree=e.tree}apply(e){if(!e.docChanged&&this.tree==this.context.tree)return this;let t=this.context.changes(e.changes,e.state),n=this.context.treeLen==e.startState.doc.length?void 0:Math.max(e.changes.mapPos(this.context.treeLen),t.viewport.to);return t.work(20,n)||t.takeTree(),new i(t)}static init(e){let t=Math.min(3e3,e.doc.length),n=Wi.create(e.facet(Sn).parser,e,{from:0,to:t});return n.work(20,t)||n.takeTree(),new i(n)}};xe.state=he.define({create:cr.init,update(i,e){for(let t of e.effects)if(t.is(xe.setState))return t.value;return e.startState.facet(Sn)!=e.state.facet(Sn)?cr.init(e.state):i.apply(e)}});var rO=i=>{let e=setTimeout(()=>i(),500);return()=>clearTimeout(e)};typeof requestIdleCallback<"u"&&(rO=i=>{let e=-1,t=setTimeout(()=>{e=requestIdleCallback(i,{timeout:400})},100);return()=>e<0?clearTimeout(t):cancelIdleCallback(e)});var dl=typeof navigator<"u"&&(!((Ol=navigator.scheduling)===null||Ol===void 0)&&Ol.isInputPending)?()=>navigator.scheduling.isInputPending():null,rb=Ve.fromClass(class{constructor(e){this.view=e,this.working=null,this.workScheduled=0,this.chunkEnd=-1,this.chunkBudget=-1,this.work=this.work.bind(this),this.scheduleWork()}update(e){let t=this.view.state.field(xe.state).context;(t.updateViewport(e.view.viewport)||this.view.viewport.to>t.treeLen)&&this.scheduleWork(),(e.docChanged||e.selectionSet)&&(this.view.hasFocus&&(this.chunkBudget+=50),this.scheduleWork()),this.checkAsyncSchedule(t)}scheduleWork(){if(this.working)return;let{state:e}=this.view,t=e.field(xe.state);(t.tree!=t.context.tree||!t.context.isDone(e.doc.length))&&(this.working=rO(this.work))}work(e){this.working=null;let t=Date.now();if(this.chunkEndr+1e3,l=s.context.work(()=>dl&&dl()||Date.now()>o,r+(a?0:1e5));this.chunkBudget-=Date.now()-t,(l||this.chunkBudget<=0)&&(s.context.takeTree(),this.view.dispatch({effects:xe.setState.of(new cr(s.context))})),this.chunkBudget>0&&!(l&&!a)&&this.scheduleWork(),this.checkAsyncSchedule(s.context)}checkAsyncSchedule(e){e.scheduleOn&&(this.workScheduled++,e.scheduleOn.then(()=>this.scheduleWork()).catch(t=>lt(this.view.state,t)).then(()=>this.workScheduled--),e.scheduleOn=null)}destroy(){this.working&&this.working()}isWorking(){return!!(this.working||this.workScheduled>0)}},{eventHandlers:{focus(){this.scheduleWork()}}}),Sn=Y.define({combine(i){return i.length?i[0]:null},enables:i=>[xe.state,rb,z.contentAttributes.compute([i],e=>{let t=e.facet(i);return t&&t.name?{"data-language":t.name}:{}})]}),me=class{constructor(e,t=[]){this.language=e,this.support=t,this.extension=[e,t]}},Ie=class i{constructor(e,t,n,r,s,o=void 0){this.name=e,this.alias=t,this.extensions=n,this.filename=r,this.loadFunc=s,this.support=o,this.loading=null}load(){return this.loading||(this.loading=this.loadFunc().then(e=>this.support=e,e=>{throw this.loading=null,e}))}static of(e){let{load:t,support:n}=e;if(!t){if(!n)throw new RangeError("Must pass either 'load' or 'support' to LanguageDescription.of");t=()=>Promise.resolve(n)}return new i(e.name,(e.alias||[]).concat(e.name).map(r=>r.toLowerCase()),e.extensions||[],e.filename,t,n)}static matchFilename(e,t){for(let r of e)if(r.filename&&r.filename.test(t))return r;let n=/\.([^.]+)$/.exec(t);if(n){for(let r of e)if(r.extensions.indexOf(n[1])>-1)return r}return null}static matchLanguageName(e,t,n=!0){t=t.toLowerCase();for(let r of e)if(r.alias.some(s=>s==t))return r;if(n)for(let r of e)for(let s of r.alias){let o=t.indexOf(s);if(o>-1&&(s.length>2||!/\w/.test(t[o-1])&&!/\w/.test(t[o+s.length])))return r}return null}},sb=Y.define(),Rt=Y.define({combine:i=>{if(!i.length)return" ";let e=i[0];if(!e||/\S/.test(e)||Array.from(e).some(t=>t!=e[0]))throw new Error("Invalid indent unit: "+JSON.stringify(i[0]));return e}});function gi(i){let e=i.facet(Rt);return e.charCodeAt(0)==9?i.tabSize*e.length:e.length}function fr(i,e){let t="",n=i.tabSize,r=i.facet(Rt)[0];if(r==" "){for(;e>=n;)t+=" ",e-=n;r=" "}for(let s=0;s=e?ob(i,t,e):null}var ji=class{constructor(e,t={}){this.state=e,this.options=t,this.unit=gi(e)}lineAt(e,t=1){let n=this.state.doc.lineAt(e),{simulateBreak:r,simulateDoubleBreak:s}=this.options;return r!=null&&r>=n.from&&r<=n.to?s&&r==e?{text:"",from:e}:(t<0?r-1&&(s+=o-this.countColumn(n,n.search(/\S|$/))),s}countColumn(e,t=e.length){return Ne(e,this.state.tabSize,t)}lineIndent(e,t=1){let{text:n,from:r}=this.lineAt(e,t),s=this.options.overrideIndentation;if(s){let o=s(r);if(o>-1)return o}return this.countColumn(n,n.search(/\S|$/))}get simulatedBreak(){return this.options.simulateBreak||null}},we=new I;function ob(i,e,t){let n=e.resolveStack(t),r=e.resolveInner(t,-1).resolve(t,0).enterUnfinishedNodesBefore(t);if(r!=n.node){let s=[];for(let o=r;o&&!(o.fromn.node.to||o.from==n.node.from&&o.type==n.node.type);o=o.parent)s.push(o);for(let o=s.length-1;o>=0;o--)n={node:s[o],next:n}}return sO(n,i,t)}function sO(i,e,t){for(let n=i;n;n=n.next){let r=lb(n.node);if(r)return r(Ql.create(e,t,n))}return 0}function ab(i){return i.pos==i.options.simulateBreak&&i.options.simulateDoubleBreak}function lb(i){let e=i.type.prop(we);if(e)return e;let t=i.firstChild,n;if(t&&(n=t.type.prop(I.closedBy))){let r=i.lastChild,s=r&&n.indexOf(r.name)>-1;return o=>oO(o,!0,1,void 0,s&&!ab(o)?r.from:void 0)}return i.parent==null?cb:null}function cb(){return 0}var Ql=class i extends ji{constructor(e,t,n){super(e.state,e.options),this.base=e,this.pos=t,this.context=n}get node(){return this.context.node}static create(e,t,n){return new i(e,t,n)}get textAfter(){return this.textAfterPos(this.pos)}get baseIndent(){return this.baseIndentFor(this.node)}baseIndentFor(e){let t=this.state.doc.lineAt(e.from);for(;;){let n=e.resolve(t.from);for(;n.parent&&n.parent.from==n.from;)n=n.parent;if(hb(n,e))break;t=this.state.doc.lineAt(n.from)}return this.lineIndent(t.from)}continue(){return sO(this.context.next,this.base,this.pos)}};function hb(i,e){for(let t=e;t;t=t.parent)if(i==t)return!0;return!1}function fb(i){let e=i.node,t=e.childAfter(e.from),n=e.lastChild;if(!t)return null;let r=i.options.simulateBreak,s=i.state.doc.lineAt(t.from),o=r==null||r<=s.from?s.to:Math.min(s.to,r);for(let a=t.to;;){let l=e.childAfter(a);if(!l||l==n)return null;if(!l.type.isSkipped){if(l.from>=o)return null;let c=/^ */.exec(s.text.slice(t.to-s.from))[0].length;return{from:t.from,to:t.to+c}}a=l.to}}function St({closing:i,align:e=!0,units:t=1}){return n=>oO(n,e,t,i)}function oO(i,e,t,n,r){let s=i.textAfter,o=s.match(/^\s*/)[0].length,a=n&&s.slice(o,o+n.length)==n||r==i.pos+o,l=e?fb(i):null;return l?a?i.column(l.from):i.column(l.to):i.baseIndent+(a?0:i.unit*t)}var aO=i=>i.baseIndent;function Bt({except:i,units:e=1}={}){return t=>{let n=i&&i.test(t.textAfter);return t.baseIndent+(n?0:e*t.unit)}}var lO=Y.define(),Te=new I;function ht(i){let e=i.firstChild,t=i.lastChild;return e&&e.toa.prop(bt)==o.data:o?a=>a==o:void 0,this.style=ul(e.map(a=>({tag:a.tag,class:a.class||r(Object.assign({},a,{tag:null}))})),{all:s}).style,this.module=n?new rt(n):null,this.themeType=t.themeType}static define(e,t){return new i(e,t||{})}},bl=Y.define(),cO=Y.define({combine(i){return i.length?[i[0]]:null}});function pl(i){let e=i.facet(bl);return e.length?e:i.facet(cO)}function hO(i,e){let t=[ub],n;return i instanceof yn&&(i.module&&t.push(z.styleModule.of(i.module)),n=i.themeType),e?.fallback?t.push(cO.of(i)):n?t.push(bl.computeN([z.darkTheme],r=>r.facet(z.darkTheme)==(n=="dark")?[i]:[])):t.push(bl.of(i)),t}var Sl=class{constructor(e){this.markCache=Object.create(null),this.tree=U(e.state),this.decorations=this.buildDeco(e,pl(e.state)),this.decoratedTo=e.viewport.to}update(e){let t=U(e.state),n=pl(e.state),r=n!=pl(e.startState),{viewport:s}=e.view,o=e.changes.mapPos(this.decoratedTo,1);t.length=s.to?(this.decorations=this.decorations.map(e.changes),this.decoratedTo=o):(t!=this.tree||e.viewportChanged||r)&&(this.tree=t,this.decorations=this.buildDeco(e.view,n),this.decoratedTo=s.to)}buildDeco(e,t){if(!t||!this.tree.length)return A.none;let n=new _i;for(let{from:r,to:s}of e.visibleRanges)Rs(this.tree,t,(o,a,l)=>{n.add(o,a,this.markCache[l]||(this.markCache[l]=A.mark({class:l})))},r,s);return n.finish()}},ub=nt.high(Ve.fromClass(Sl,{decorations:i=>i.decorations})),k$=yn.define([{tag:d.meta,color:"#404740"},{tag:d.link,textDecoration:"underline"},{tag:d.heading,textDecoration:"underline",fontWeight:"bold"},{tag:d.emphasis,fontStyle:"italic"},{tag:d.strong,fontWeight:"bold"},{tag:d.strikethrough,textDecoration:"line-through"},{tag:d.keyword,color:"#708"},{tag:[d.atom,d.bool,d.url,d.contentSeparator,d.labelName],color:"#219"},{tag:[d.literal,d.inserted],color:"#164"},{tag:[d.string,d.deleted],color:"#a11"},{tag:[d.regexp,d.escape,d.special(d.string)],color:"#e40"},{tag:d.definition(d.variableName),color:"#00f"},{tag:d.local(d.variableName),color:"#30a"},{tag:[d.typeName,d.namespace],color:"#085"},{tag:d.className,color:"#167"},{tag:[d.special(d.variableName),d.macroName],color:"#256"},{tag:d.definition(d.propertyName),color:"#00c"},{tag:d.comment,color:"#940"},{tag:d.invalid,color:"#f00"}]);var Ob=1e4,db="()[]{}";var Pl=new I;function yl(i,e,t){let n=i.prop(e<0?I.openedBy:I.closedBy);if(n)return n;if(i.name.length==1){let r=t.indexOf(i.name);if(r>-1&&r%2==(e<0?1:0))return[t[r+e]]}return null}function kl(i){let e=i.type.prop(Pl);return e?e(i.node):i}function Vi(i,e,t,n={}){let r=n.maxScanDistance||Ob,s=n.brackets||db,o=U(i),a=o.resolveInner(e,t);for(let l=a;l;l=l.parent){let c=yl(l.type,t,s);if(c&&l.from0?e>=h.from&&eh.from&&e<=h.to))return pb(i,e,t,l,h,c,s)}}return mb(i,e,t,o,a.type,r,s)}function pb(i,e,t,n,r,s,o){let a=n.parent,l={from:r.from,to:r.to},c=0,h=a?.cursor();if(h&&(t<0?h.childBefore(n.from):h.childAfter(n.to)))do if(t<0?h.to<=n.from:h.from>=n.to){if(c==0&&s.indexOf(h.type.name)>-1&&h.from0)return null;let c={from:t<0?e-1:e,to:t>0?e+1:e},h=i.doc.iterRange(e,t>0?i.doc.length:0),f=0;for(let u=0;!h.next().done&&u<=s;){let O=h.value;t<0&&(u+=O.length);let p=e+u*t;for(let m=t>0?0:O.length-1,b=t>0?O.length:-1;m!=b;m+=t){let g=o.indexOf(O[m]);if(!(g<0||n.resolveInner(p+m,1).type!=r))if(g%2==0==t>0)f++;else{if(f==1)return{start:c,end:{from:p+m,to:p+m+1},matched:g>>1==l>>1};f--}}t>0&&(u+=O.length)}return h.done?{start:c,matched:!1}:null}function Ju(i,e,t,n=0,r=0){e==null&&(e=i.search(/[^\s\u00a0]/),e==-1&&(e=i.length));let s=r;for(let o=n;o=this.string.length}sol(){return this.pos==0}peek(){return this.string.charAt(this.pos)||void 0}next(){if(this.post}eatSpace(){let e=this.pos;for(;/[\s\u00a0]/.test(this.string.charAt(this.pos));)++this.pos;return this.pos>e}skipToEnd(){this.pos=this.string.length}skipTo(e){let t=this.string.indexOf(e,this.pos);if(t>-1)return this.pos=t,!0}backUp(e){this.pos-=e}column(){return this.lastColumnPosn?o.toLowerCase():o,s=this.string.substr(this.pos,e.length);return r(s)==r(e)?(t!==!1&&(this.pos+=e.length),!0):null}else{let r=this.string.slice(this.pos).match(e);return r&&r.index>0?null:(r&&t!==!1&&(this.pos+=r[0].length),r)}}current(){return this.string.slice(this.start,this.pos)}};function gb(i){return{name:i.name||"",token:i.token,blankLine:i.blankLine||(()=>{}),startState:i.startState||(()=>!0),copyState:i.copyState||Qb,indent:i.indent||(()=>null),languageData:i.languageData||{},tokenTable:i.tokenTable||$l,mergeTokens:i.mergeTokens!==!1}}function Qb(i){if(typeof i!="object")return i;let e={};for(let t in i){let n=i[t];e[t]=n instanceof Array?n.slice():n}return e}var eO=new WeakMap,Zs=class i extends xe{constructor(e){let t=kn(e.languageData),n=gb(e),r,s=new class extends It{createParse(o,a,l){return new xl(r,o,a,l)}};super(t,s,[],e.name),this.topNode=kb(t,this),r=this,this.streamParser=n,this.stateAfter=new I({perNode:!0}),this.tokenTable=e.tokenTable?new Es(n.tokenTable):yb}static define(e){return new i(e)}getIndent(e){let t,{overrideIndentation:n}=e.options;n&&(t=eO.get(e.state),t!=null&&t1e4)return null;for(;s=n&&t+e.length<=r&&e.prop(i.stateAfter);if(s)return{state:i.streamParser.copyState(s),pos:t+e.length};for(let o=e.children.length-1;o>=0;o--){let a=e.children[o],l=t+e.positions[o],c=a instanceof H&&l=e.length)return e;!r&&t==0&&e.type==i.topNode&&(r=!0);for(let s=e.children.length-1;s>=0;s--){let o=e.positions[s],a=e.children[s],l;if(ot&&vl(i,s.tree,0-s.offset,t,a),c;if(l&&l.pos<=n&&(c=fO(i,s.tree,t+s.offset,l.pos+s.offset,!1)))return{state:l.state,tree:c}}return{state:i.streamParser.startState(r?gi(r):4),tree:H.empty}}var xl=class{constructor(e,t,n,r){this.lang=e,this.input=t,this.fragments=n,this.ranges=r,this.stoppedAt=null,this.chunks=[],this.chunkPos=[],this.chunk=[],this.chunkReused=void 0,this.rangeIndex=0,this.to=r[r.length-1].to;let s=Wi.get(),o=r[0].from,{state:a,tree:l}=bb(e,n,o,this.to,s?.state);this.state=a,this.parsedPos=this.chunkStart=o+l.length;for(let c=0;cc.from<=s.viewport.from&&c.to>=s.viewport.from)&&(this.state=this.lang.streamParser.startState(gi(s.state)),s.skipUntilInView(this.parsedPos,s.viewport.from),this.parsedPos=s.viewport.from),this.moveRangeIndex()}advance(){let e=Wi.get(),t=this.stoppedAt==null?this.to:Math.min(this.to,this.stoppedAt),n=Math.min(t,this.chunkStart+512);for(e&&(n=Math.min(n,e.viewport.to));this.parsedPos=t?this.finish():e&&this.parsedPos>=e.viewport.to?(e.skipUntilInView(this.parsedPos,t),this.finish()):null}stopAt(e){this.stoppedAt=e}lineAfter(e){let t=this.input.chunk(e);if(this.input.lineChunks)t==` `&&(t="");else{let n=t.indexOf(` -`);n>-1&&(t=t.slice(0,n))}return e+t.length<=this.to?t:t.slice(0,this.to-e)}nextLine(){let e=this.parsedPos,t=this.lineAfter(e),n=e+t.length;for(let r=this.rangeIndex;;){let s=this.ranges[r].to;if(s>=n||(t=t.slice(0,s-(n-t.length)),r++,r==this.ranges.length))break;let o=this.ranges[r].from,a=this.lineAfter(o);t+=a,n=o+a.length}return{line:t,end:n}}skipGapsTo(e,t,n){for(;;){let r=this.ranges[this.rangeIndex].to,s=e+t;if(n>0?r>s:r>=s)break;let o=this.ranges[++this.rangeIndex].from;t+=o-r}return t}moveRangeIndex(){for(;this.ranges[this.rangeIndex].to1){r=this.skipGapsTo(t,r,1),t+=r;let a=this.chunk.length;r=this.skipGapsTo(n,r,-1),n+=r,s+=this.chunk.length-a}let o=this.chunk.length-4;return this.lang.streamParser.mergeTokens&&s==4&&o>=0&&this.chunk[o]==e&&this.chunk[o+2]==t?this.chunk[o+2]=n:this.chunk.push(e,t,n,s),r}parseLine(e){let{line:t,end:n}=this.nextLine(),r=0,{streamParser:s}=this.lang,o=new As(t,e?e.state.tabSize:4,e?gi(e.state):2);if(o.eol())s.blankLine(this.state,o.indentUnit);else for(;!o.eol();){let a=uO(s.token,o,this.state);if(a&&(r=this.emitToken(this.lang.tokenTable.resolve(a),this.parsedPos+o.start,this.parsedPos+o.pos,r)),o.start>1e4)break}this.parsedPos=n,this.moveRangeIndex(),this.parsedPose.start)return r}throw new Error("Stream parser failed to advance stream.")}var $l=Object.create(null),hr=[Oe.none],bb=new Dt(hr),tO=[],iO=Object.create(null),OO=Object.create(null);for(let[i,e]of[["variable","variableName"],["variable-2","variableName.special"],["string-2","string.special"],["def","variableName.definition"],["tag","tagName"],["attribute","attributeName"],["type","typeName"],["builtin","variableName.standard"],["qualifier","modifier"],["error","invalid"],["header","heading"],["property","propertyName"]])OO[i]=dO($l,e);var Es=class{constructor(e){this.extra=e,this.table=Object.assign(Object.create(null),OO)}resolve(e){return e?this.table[e]||(this.table[e]=dO(this.extra,e)):0}},Sb=new Es($l);function ml(i,e){tO.indexOf(i)>-1||(tO.push(i),console.warn(e))}function dO(i,e){let t=[];for(let a of e.split(" ")){let l=[];for(let c of a.split(".")){let h=i[c]||d[c];h?typeof h=="function"?l.length?l=l.map(h):ml(c,`Modifier ${c} used at start of tag`):l.length?ml(c,`Tag ${c} used as modifier`):l=Array.isArray(h)?h:[h]:ml(c,`Unknown highlighting tag ${c}`)}for(let c of l)t.push(c)}if(!t.length)return 0;let n=e.replace(/ /g,"_"),r=n+" "+t.map(a=>a.id),s=iO[r];if(s)return s.id;let o=iO[r]=Oe.define({id:hr.length,name:n,props:[Qe({[n]:t})]});return hr.push(o),o.id}function yb(i,e){let t=Oe.define({id:hr.length,name:"Document",props:[bt.add(()=>i),we.add(()=>n=>e.getIndent(n))],top:!0});return hr.push(t),t}var k$={rtl:Z.mark({class:"cm-iso",inclusive:!0,attributes:{dir:"rtl"},bidiIsolate:ue.RTL}),ltr:Z.mark({class:"cm-iso",inclusive:!0,attributes:{dir:"ltr"},bidiIsolate:ue.LTR}),auto:Z.mark({class:"cm-iso",inclusive:!0,attributes:{dir:"auto"},bidiIsolate:null})};var kb=i=>{let{state:e}=i,t=e.doc.lineAt(e.selection.main.from),n=Zl(i.state,t.from);return n.line?xb(i):n.block?Pb(i):!1};function Al(i,e){return({state:t,dispatch:n})=>{if(t.readOnly)return!1;let r=i(e,t);return r?(n(t.update(r)),!0):!1}}var xb=Al(Tb,0);var wb=Al(xO,0);var Pb=Al((i,e)=>xO(i,e,$b(e)),0);function Zl(i,e){let t=i.languageDataAt("commentTokens",e,1);return t.length?t[0]:{}}var ur=50;function vb(i,{open:e,close:t},n,r){let s=i.sliceDoc(n-ur,n),o=i.sliceDoc(r,r+ur),a=/\s*$/.exec(s)[0].length,l=/^\s*/.exec(o)[0].length,c=s.length-a;if(s.slice(c-e.length,c)==e&&o.slice(l,l+t.length)==t)return{open:{pos:n-a,margin:a&&1},close:{pos:r+l,margin:l&&1}};let h,f;r-n<=2*ur?h=f=i.sliceDoc(n,r):(h=i.sliceDoc(n,n+ur),f=i.sliceDoc(r-ur,r));let u=/^\s*/.exec(h)[0].length,O=/\s*$/.exec(f)[0].length,p=f.length-O-t.length;return h.slice(u,u+e.length)==e&&f.slice(p,p+t.length)==t?{open:{pos:n+u+e.length,margin:/\s/.test(h.charAt(u+e.length))?1:0},close:{pos:r-O-t.length,margin:/\s/.test(f.charAt(p-1))?1:0}}:null}function $b(i){let e=[];for(let t of i.selection.ranges){let n=i.doc.lineAt(t.from),r=t.to<=n.to?n:i.doc.lineAt(t.to);r.from>n.from&&r.from==t.to&&(r=t.to==n.to+1?n:i.doc.lineAt(t.to-1));let s=e.length-1;s>=0&&e[s].to>n.from?e[s].to=r.to:e.push({from:n.from+/^\s*/.exec(n.text)[0].length,to:r.to})}return e}function xO(i,e,t=e.selection.ranges){let n=t.map(s=>Zl(e,s.from).block);if(!n.every(s=>s))return null;let r=t.map((s,o)=>vb(e,n[o],s.from,s.to));if(i!=2&&!r.every(s=>s))return{changes:e.changes(t.map((s,o)=>r[o]?[]:[{from:s.from,insert:n[o].open+" "},{from:s.to,insert:" "+n[o].close}]))};if(i!=1&&r.some(s=>s)){let s=[];for(let o=0,a;or&&(s==o||o>f.from)){r=f.from;let u=/^\s*/.exec(f.text)[0].length,O=u==f.length,p=f.text.slice(u,u+c.length)==c?u:-1;us.comment<0&&(!s.empty||s.single))){let s=[];for(let{line:a,token:l,indent:c,empty:h,single:f}of n)(f||!h)&&s.push({from:a.from+c,insert:l+" "});let o=e.changes(s);return{changes:o,selection:e.selection.map(o,1)}}else if(i!=1&&n.some(s=>s.comment>=0)){let s=[];for(let{line:o,comment:a,token:l}of n)if(a>=0){let c=o.from+a,h=c+l.length;o.text[h-o.from]==" "&&h++,s.push({from:c,to:h})}return{changes:s}}return null}var Cl=_e.define(),Cb=_e.define(),Xb=Y.define(),wO=Y.define({combine(i){return Yn(i,{minDepth:100,newGroupDelay:500,joinToEvent:(e,t)=>t},{minDepth:Math.max,newGroupDelay:Math.min,joinToEvent:(e,t)=>(n,r)=>e(n,r)||t(n,r)})}}),PO=he.define({create(){return Di.empty},update(i,e){let t=e.state.facet(wO),n=e.annotation(Cl);if(n){let l=yt.fromTransaction(e,n.selection),c=n.side,h=c==0?i.undone:i.done;return l?h=Ms(h,h.length,t.minDepth,l):h=CO(h,e.startState.selection),new Di(c==0?n.rest:h,c==0?h:n.rest)}let r=e.annotation(Cb);if((r=="full"||r=="before")&&(i=i.isolate()),e.annotation(pe.addToHistory)===!1)return e.changes.empty?i:i.addMapping(e.changes.desc);let s=yt.fromTransaction(e),o=e.annotation(pe.time),a=e.annotation(pe.userEvent);return s?i=i.addChanges(s,o,a,t,e):e.selection&&(i=i.addSelection(e.startState.selection,o,a,t.newGroupDelay)),(r=="full"||r=="after")&&(i=i.isolate()),i},toJSON(i){return{done:i.done.map(e=>e.toJSON()),undone:i.undone.map(e=>e.toJSON())}},fromJSON(i){return new Di(i.done.map(yt.fromJSON),i.undone.map(yt.fromJSON))}});function vO(i={}){return[PO,wO.of(i),z.domEventHandlers({beforeinput(e,t){let n=e.inputType=="historyUndo"?$O:e.inputType=="historyRedo"?Xl:null;return n?(e.preventDefault(),n(t)):!1}})]}function Ws(i,e){return function({state:t,dispatch:n}){if(!e&&t.readOnly)return!1;let r=t.field(PO,!1);if(!r)return!1;let s=r.pop(i,t,e);return s?(n(s),!0):!1}}var $O=Ws(0,!1),Xl=Ws(1,!1),_b=Ws(0,!0),Rb=Ws(1,!0);var yt=class i{constructor(e,t,n,r,s){this.changes=e,this.effects=t,this.mapped=n,this.startSelection=r,this.selectionsAfter=s}setSelAfter(e){return new i(this.changes,this.effects,this.mapped,this.startSelection,e)}toJSON(){var e,t,n;return{changes:(e=this.changes)===null||e===void 0?void 0:e.toJSON(),mapped:(t=this.mapped)===null||t===void 0?void 0:t.toJSON(),startSelection:(n=this.startSelection)===null||n===void 0?void 0:n.toJSON(),selectionsAfter:this.selectionsAfter.map(r=>r.toJSON())}}static fromJSON(e){return new i(e.changes&&qe.fromJSON(e.changes),[],e.mapped&&zt.fromJSON(e.mapped),e.startSelection&&P.fromJSON(e.startSelection),e.selectionsAfter.map(P.fromJSON))}static fromTransaction(e,t){let n=ft;for(let r of e.startState.facet(Xb)){let s=r(e);s.length&&(n=n.concat(s))}return!n.length&&e.changes.empty?null:new i(e.changes.invert(e.startState.doc),n,void 0,t||e.startState.selection,ft)}static selection(e){return new i(void 0,ft,void 0,void 0,e)}};function Ms(i,e,t,n){let r=e+1>t+20?e-t-1:0,s=i.slice(r,e);return s.push(n),s}function Ab(i,e){let t=[],n=!1;return i.iterChangedRanges((r,s)=>t.push(r,s)),e.iterChangedRanges((r,s,o,a)=>{for(let l=0;l=c&&o<=h&&(n=!0)}}),n}function Zb(i,e){return i.ranges.length==e.ranges.length&&i.ranges.filter((t,n)=>t.empty!=e.ranges[n].empty).length===0}function TO(i,e){return i.length?e.length?i.concat(e):i:e}var ft=[],Eb=200;function CO(i,e){if(i.length){let t=i[i.length-1],n=t.selectionsAfter.slice(Math.max(0,t.selectionsAfter.length-Eb));return n.length&&n[n.length-1].eq(e)?i:(n.push(e),Ms(i,i.length-1,1e9,t.setSelAfter(n)))}else return[yt.selection([e])]}function qb(i){let e=i[i.length-1],t=i.slice();return t[i.length-1]=e.setSelAfter(e.selectionsAfter.slice(0,e.selectionsAfter.length-1)),t}function Tl(i,e){if(!i.length)return i;let t=i.length,n=ft;for(;t;){let r=zb(i[t-1],e,n);if(r.changes&&!r.changes.empty||r.effects.length){let s=i.slice(0,t);return s[t-1]=r,s}else e=r.mapped,t--,n=r.selectionsAfter}return n.length?[yt.selection(n)]:ft}function zb(i,e,t){let n=TO(i.selectionsAfter.length?i.selectionsAfter.map(a=>a.map(e)):ft,t);if(!i.changes)return yt.selection(n);let r=i.changes.map(e),s=e.mapDesc(i.changes,!0),o=i.mapped?i.mapped.composeDesc(s):s;return new yt(r,te.mapEffects(i.effects,e),o,i.startSelection.map(s),n)}var Lb=/^(input\.type|delete)($|\.)/,Di=class i{constructor(e,t,n=0,r=void 0){this.done=e,this.undone=t,this.prevTime=n,this.prevUserEvent=r}isolate(){return this.prevTime?new i(this.done,this.undone):this}addChanges(e,t,n,r,s){let o=this.done,a=o[o.length-1];return a&&a.changes&&!a.changes.empty&&e.changes&&(!n||Lb.test(n))&&(!a.selectionsAfter.length&&t-this.prevTime0&&t-this.prevTimet.empty?i.moveByChar(t,e):js(t,e))}function Re(i){return i.textDirectionAt(i.state.selection.main.head)==ue.LTR}var RO=i=>_O(i,!Re(i)),AO=i=>_O(i,Re(i));function ZO(i,e){return xt(i,t=>t.empty?i.moveByGroup(t,e):js(t,e))}var Mb=i=>ZO(i,!Re(i)),Wb=i=>ZO(i,Re(i));var X$=typeof Intl<"u"&&Intl.Segmenter?new Intl.Segmenter(void 0,{granularity:"word"}):null;function jb(i,e,t){if(e.type.prop(t))return!0;let n=e.to-e.from;return n&&(n>2||/[^\s,.;:]/.test(i.sliceDoc(e.from,e.to)))||e.firstChild}function Vs(i,e,t){let n=U(i).resolveInner(e.head),r=t?I.closedBy:I.openedBy;for(let l=e.head;;){let c=t?n.childAfter(l):n.childBefore(l);if(!c)break;jb(i,c,r)?n=c:l=t?c.to:c.from}let s=n.type.prop(r),o,a;return s&&(o=t?Vi(i,n.from,1):Vi(i,n.to,-1))&&o.matched?a=t?o.end.to:o.end.from:a=t?n.to:n.from,P.cursor(a,t?-1:1)}var Vb=i=>xt(i,e=>Vs(i.state,e,!Re(i))),Db=i=>xt(i,e=>Vs(i.state,e,Re(i)));function EO(i,e){return xt(i,t=>{if(!t.empty)return js(t,e);let n=i.moveVertically(t,e);return n.head!=t.head?n:i.moveToLineBoundary(t,e)})}var qO=i=>EO(i,!1),zO=i=>EO(i,!0);function LO(i){let e=i.scrollDOM.clientHeighto.empty?i.moveVertically(o,e,t.height):js(o,e));if(r.eq(n.selection))return!1;let s;if(t.selfScroll){let o=i.coordsAtPos(n.selection.main.head),a=i.scrollDOM.getBoundingClientRect(),l=a.top+t.marginTop,c=a.bottom-t.marginBottom;o&&o.top>l&&o.bottomMO(i,!1),_l=i=>MO(i,!0);function Qi(i,e,t){let n=i.lineBlockAt(e.head),r=i.moveToLineBoundary(e,t);if(r.head==e.head&&r.head!=(t?n.to:n.from)&&(r=i.moveToLineBoundary(e,t,!1)),!t&&r.head==n.from&&n.length){let s=/^\s*/.exec(i.state.sliceDoc(n.from,Math.min(n.from+100,n.to)))[0].length;s&&e.head!=n.from+s&&(r=P.cursor(n.from+s))}return r}var Yb=i=>xt(i,e=>Qi(i,e,!0)),Ib=i=>xt(i,e=>Qi(i,e,!1)),Bb=i=>xt(i,e=>Qi(i,e,!Re(i))),Ub=i=>xt(i,e=>Qi(i,e,Re(i))),Gb=i=>xt(i,e=>P.cursor(i.lineBlockAt(e.head).from,1)),Nb=i=>xt(i,e=>P.cursor(i.lineBlockAt(e.head).to,-1));function Fb(i,e,t){let n=!1,r=xn(i.selection,s=>{let o=Vi(i,s.head,-1)||Vi(i,s.head,1)||s.head>0&&Vi(i,s.head-1,1)||s.headFb(i,e,!1);function ut(i,e,t){let n=xn(i.state.selection,r=>{r.undirectional&&r.head>=r.anchor!=e&&(r=P.range(r.head,r.anchor));let s=t(r);return P.range(r.anchor,s.head,s.goalColumn,s.bidiLevel||void 0,s.assoc)});return n.eq(i.state.selection)?!1:(i.dispatch(kt(i.state,n)),!0)}function WO(i,e){return ut(i,e,t=>i.moveByChar(t,e))}var jO=i=>WO(i,!Re(i)),VO=i=>WO(i,Re(i));function DO(i,e){return ut(i,e,t=>i.moveByGroup(t,e))}var Kb=i=>DO(i,!Re(i)),Jb=i=>DO(i,Re(i));var eS=i=>{let e=!Re(i);return ut(i,e,t=>Vs(i.state,t,e))},tS=i=>{let e=Re(i);return ut(i,e,t=>Vs(i.state,t,e))};function YO(i,e){return ut(i,e,t=>i.moveVertically(t,e))}var IO=i=>YO(i,!1),BO=i=>YO(i,!0);function UO(i,e){return ut(i,e,t=>i.moveVertically(t,e,LO(i).height))}var mO=i=>UO(i,!1),gO=i=>UO(i,!0),iS=i=>ut(i,!0,e=>Qi(i,e,!0)),nS=i=>ut(i,!1,e=>Qi(i,e,!1)),rS=i=>{let e=!Re(i);return ut(i,e,t=>Qi(i,t,e))},sS=i=>{let e=Re(i);return ut(i,e,t=>Qi(i,t,e))},oS=i=>ut(i,!1,e=>P.cursor(i.lineBlockAt(e.head).from)),aS=i=>ut(i,!0,e=>P.cursor(i.lineBlockAt(e.head).to)),QO=({state:i,dispatch:e})=>(e(kt(i,{anchor:0})),!0),bO=({state:i,dispatch:e})=>(e(kt(i,{anchor:i.doc.length})),!0),SO=({state:i,dispatch:e})=>(e(kt(i,{anchor:i.selection.main.anchor,head:0})),!0),yO=({state:i,dispatch:e})=>(e(kt(i,{anchor:i.selection.main.anchor,head:i.doc.length})),!0),lS=({state:i,dispatch:e})=>(e(i.update({selection:{anchor:0,head:i.doc.length},userEvent:"select"})),!0),cS=({state:i,dispatch:e})=>{let t=Ds(i).map(({from:n,to:r})=>P.range(n,Math.min(r+1,i.doc.length)));return e(i.update({selection:P.create(t),userEvent:"select"})),!0},hS=({state:i,dispatch:e})=>{let t=xn(i.selection,n=>{let r=U(i),s=r.resolveStack(n.from,1);if(n.empty){let o=r.resolveStack(n.from,-1);o.node.from>=s.node.from&&o.node.to<=s.node.to&&(s=o)}for(let o=s;o;o=o.next){let{node:a}=o;if((a.from=n.to||a.to>n.to&&a.from<=n.from)&&o.next)return P.range(a.to,a.from)}return n});return t.eq(i.selection)?!1:(e(kt(i,t)),!0)};function GO(i,e){let{state:t}=i,n=t.selection,r=t.selection.ranges.slice();for(let s of t.selection.ranges){let o=t.doc.lineAt(s.head);if(e?o.to0)for(let a=s;;){let l=i.moveVertically(a,e);if(l.heado.to){r.some(c=>c.head==l.head)||r.push(l);break}else{if(l.head==a.head)break;a=l}}}return r.length==n.ranges.length?!1:(i.dispatch(kt(t,P.create(r,r.length-1))),!0)}var fS=i=>GO(i,!1),uS=i=>GO(i,!0),OS=({state:i,dispatch:e})=>{let t=i.selection,n=null;return t.ranges.length>1?n=P.create([t.main]):t.main.empty||(n=P.create([P.cursor(t.main.head)])),n?(e(kt(i,n)),!0):!1};function Or(i,e){if(i.state.readOnly)return!1;let t="delete.selection",{state:n}=i,r=n.changeByRange(s=>{let{from:o,to:a}=s;if(o==a){let l=e(s);lo&&(t="delete.forward",l=Ls(i,l,!0)),o=Math.min(o,l),a=Math.max(a,l)}else o=Ls(i,o,!1),a=Ls(i,a,!0);return o==a?{range:s}:{changes:{from:o,to:a},range:P.cursor(o,or(i)))n.between(e,e,(r,s)=>{re&&(e=t?s:r)});return e}var NO=(i,e,t)=>Or(i,n=>{let r=n.from,{state:s}=i,o=s.doc.lineAt(r),a,l;if(t&&!e&&r>o.from&&rNO(i,!1,!0);var FO=i=>NO(i,!0,!1),HO=(i,e)=>Or(i,t=>{let n=t.head,{state:r}=i,s=r.doc.lineAt(n),o=r.charCategorizer(n);for(let a=null;;){if(n==(e?s.to:s.from)){n==t.head&&s.number!=(e?r.doc.lines:1)&&(n+=e?1:-1);break}let l=ke(s.text,n-s.from,e)+s.from,c=s.text.slice(Math.min(n,l)-s.from,Math.max(n,l)-s.from),h=o(c);if(a!=null&&h!=a)break;(c!=" "||n!=t.head)&&(a=h),n=l}return n}),KO=i=>HO(i,!1),dS=i=>HO(i,!0);var pS=i=>Or(i,e=>{let t=i.lineBlockAt(e.head).to;return e.headOr(i,e=>{let t=i.moveToLineBoundary(e,!1).head;return e.head>t?t:Math.max(0,e.head-1)}),gS=i=>Or(i,e=>{let t=i.moveToLineBoundary(e,!0).head;return e.head{if(i.readOnly)return!1;let t=i.changeByRange(n=>({changes:{from:n.from,to:n.to,insert:K.of(["",""])},range:P.cursor(n.from)}));return e(i.update(t,{scrollIntoView:!0,userEvent:"input"})),!0},bS=({state:i,dispatch:e})=>{if(i.readOnly)return!1;let t=i.changeByRange(n=>{if(!n.empty||n.from==0||n.from==i.doc.length)return{range:n};let r=n.from,s=i.doc.lineAt(r),o=r==s.from?r-1:ke(s.text,r-s.from,!1)+s.from,a=r==s.to?r+1:ke(s.text,r-s.from,!0)+s.from;return{changes:{from:o,to:a,insert:i.doc.slice(r,a).append(i.doc.slice(o,r))},range:P.cursor(a)}});return t.changes.empty?!1:(e(i.update(t,{scrollIntoView:!0,userEvent:"move.character"})),!0)};function Ds(i){let e=[],t=-1;for(let n of i.selection.ranges){let r=i.doc.lineAt(n.from),s=i.doc.lineAt(n.to);if(!n.empty&&n.to==s.from&&(s=i.doc.lineAt(n.to-1)),t>=r.number){let o=e[e.length-1];o.to=s.to,o.ranges.push(n)}else e.push({from:r.from,to:s.to,ranges:[n]});t=s.number+1}return e}function JO(i,e,t){if(i.readOnly)return!1;let n=[],r=[];for(let s of Ds(i)){if(t?s.to==i.doc.length:s.from==0)continue;let o=i.doc.lineAt(t?s.to+1:s.from-1),a=o.length+1;if(t){n.push({from:s.to,to:o.to},{from:s.from,insert:o.text+i.lineBreak});for(let l of s.ranges)r.push(P.range(Math.min(i.doc.length,l.anchor+a),Math.min(i.doc.length,l.head+a)))}else{n.push({from:o.from,to:s.from},{from:s.to,insert:i.lineBreak+o.text});for(let l of s.ranges)r.push(P.range(l.anchor-a,l.head-a))}}return n.length?(e(i.update({changes:n,scrollIntoView:!0,selection:P.create(r,i.selection.mainIndex),userEvent:"move.line"})),!0):!1}var SS=({state:i,dispatch:e})=>JO(i,e,!1),yS=({state:i,dispatch:e})=>JO(i,e,!0);function ed(i,e,t){if(i.readOnly)return!1;let n=[];for(let s of Ds(i))t?n.push({from:s.from,insert:i.doc.slice(s.from,s.to)+i.lineBreak}):n.push({from:s.to,insert:i.lineBreak+i.doc.slice(s.from,s.to)});let r=i.changes(n);return e(i.update({changes:r,selection:i.selection.map(r,t?1:-1),scrollIntoView:!0,userEvent:"input.copyline"})),!0}var kS=({state:i,dispatch:e})=>ed(i,e,!1),xS=({state:i,dispatch:e})=>ed(i,e,!0),wS=i=>{if(i.state.readOnly)return!1;let{state:e}=i,t=e.changes(Ds(e).map(({from:r,to:s})=>(r>0?r--:s{let s;if(i.lineWrapping){let o=i.lineBlockAt(r.head),a=i.coordsAtPos(r.head,r.assoc||1);a&&(s=o.bottom+i.documentTop-a.bottom+i.defaultLineHeight/2)}return i.moveVertically(r,!0,s)}).map(t);return i.dispatch({changes:t,selection:n,scrollIntoView:!0,userEvent:"delete.line"}),!0};function PS(i,e){if(/\(\)|\[\]|\{\}/.test(i.sliceDoc(e-1,e+1)))return{from:e,to:e};let t=U(i).resolveInner(e),n=t.childBefore(e),r=t.childAfter(e),s;return n&&r&&n.to<=e&&r.from>=e&&(s=n.type.prop(I.closedBy))&&s.indexOf(r.name)>-1&&i.doc.lineAt(n.to).from==i.doc.lineAt(r.from).from&&!/\S/.test(i.sliceDoc(n.to,r.from))?{from:n.to,to:r.from}:null}var kO=td(!1),vS=td(!0);function td(i){return({state:e,dispatch:t})=>{if(e.readOnly)return!1;let n=e.changeByRange(r=>{let{from:s,to:o}=r,a=e.doc.lineAt(s),l=!i&&s==o&&PS(e,s);i&&(s=o=(o<=a.to?a:e.doc.lineAt(o)).to);let c=new ji(e,{simulateBreak:s,simulateDoubleBreak:!!l}),h=wl(c,s);for(h==null&&(h=Ne(/^\s*/.exec(e.doc.lineAt(s).text)[0],e.tabSize));oa.from&&s{let r=[];for(let o=n.from;o<=n.to;){let a=i.doc.lineAt(o);a.number>t&&(n.empty||n.to>a.from)&&(e(a,r,n),t=a.number),o=a.to+1}let s=i.changes(r);return{changes:r,range:P.range(s.mapPos(n.anchor,1),s.mapPos(n.head,1))}})}var $S=({state:i,dispatch:e})=>{if(i.readOnly)return!1;let t=Object.create(null),n=new ji(i,{overrideIndentation:s=>{let o=t[s];return o??-1}}),r=El(i,(s,o,a)=>{let l=wl(n,s.from);if(l==null)return;/\S/.test(s.text)||(l=0);let c=/^\s*/.exec(s.text)[0],h=fr(i,l);(c!=h||a.fromi.readOnly?!1:(e(i.update(El(i,(t,n)=>{n.push({from:t.from,insert:i.facet(Rt)})}),{userEvent:"input.indent"})),!0),ql=({state:i,dispatch:e})=>i.readOnly?!1:(e(i.update(El(i,(t,n)=>{let r=/^\s*/.exec(t.text)[0];if(!r)return;let s=Ne(r,i.tabSize),o=0,a=fr(i,Math.max(0,s-gi(i)));for(;o(i.setTabFocusMode(),!0);var zl=({state:i,dispatch:e})=>i.selection.ranges.some(t=>!t.empty)?id({state:i,dispatch:e}):(e(i.update(i.replaceSelection(" "),{scrollIntoView:!0,userEvent:"input"})),!0),CS=[{key:"Ctrl-b",run:RO,shift:jO,preventDefault:!0},{key:"Ctrl-f",run:AO,shift:VO},{key:"Ctrl-p",run:qO,shift:IO},{key:"Ctrl-n",run:zO,shift:BO},{key:"Ctrl-a",run:Gb,shift:oS},{key:"Ctrl-e",run:Nb,shift:aS},{key:"Ctrl-d",run:FO},{key:"Ctrl-h",run:Rl},{key:"Ctrl-k",run:pS},{key:"Ctrl-Alt-h",run:KO},{key:"Ctrl-o",run:QS},{key:"Ctrl-t",run:bS},{key:"Ctrl-v",run:_l}],XS=[{key:"ArrowLeft",run:RO,shift:jO,preventDefault:!0},{key:"Mod-ArrowLeft",mac:"Alt-ArrowLeft",run:Mb,shift:Kb,preventDefault:!0},{mac:"Cmd-ArrowLeft",run:Bb,shift:rS,preventDefault:!0},{key:"ArrowRight",run:AO,shift:VO,preventDefault:!0},{key:"Mod-ArrowRight",mac:"Alt-ArrowRight",run:Wb,shift:Jb,preventDefault:!0},{mac:"Cmd-ArrowRight",run:Ub,shift:sS,preventDefault:!0},{key:"ArrowUp",run:qO,shift:IO,preventDefault:!0},{mac:"Cmd-ArrowUp",run:QO,shift:SO},{mac:"Ctrl-ArrowUp",run:pO,shift:mO},{key:"ArrowDown",run:zO,shift:BO,preventDefault:!0},{mac:"Cmd-ArrowDown",run:bO,shift:yO},{mac:"Ctrl-ArrowDown",run:_l,shift:gO},{key:"PageUp",run:pO,shift:mO},{key:"PageDown",run:_l,shift:gO},{key:"Home",run:Ib,shift:nS,preventDefault:!0},{key:"Mod-Home",run:QO,shift:SO},{key:"End",run:Yb,shift:iS,preventDefault:!0},{key:"Mod-End",run:bO,shift:yO},{key:"Enter",run:kO,shift:kO},{key:"Mod-a",run:lS},{key:"Backspace",run:Rl,shift:Rl,preventDefault:!0},{key:"Delete",run:FO,preventDefault:!0},{key:"Mod-Backspace",mac:"Alt-Backspace",run:KO,preventDefault:!0},{key:"Mod-Delete",mac:"Alt-Delete",run:dS,preventDefault:!0},{mac:"Mod-Backspace",run:mS,preventDefault:!0},{mac:"Mod-Delete",run:gS,preventDefault:!0}].concat(CS.map(i=>({mac:i.key,run:i.run,shift:i.shift}))),nd=[{key:"Alt-ArrowLeft",mac:"Ctrl-ArrowLeft",run:Vb,shift:eS},{key:"Alt-ArrowRight",mac:"Ctrl-ArrowRight",run:Db,shift:tS},{key:"Alt-ArrowUp",run:SS},{key:"Shift-Alt-ArrowUp",run:kS},{key:"Alt-ArrowDown",run:yS},{key:"Shift-Alt-ArrowDown",run:xS},{key:"Mod-Alt-ArrowUp",run:fS},{key:"Mod-Alt-ArrowDown",run:uS},{key:"Escape",run:OS},{key:"Mod-Enter",run:vS},{key:"Alt-l",mac:"Ctrl-l",run:cS},{key:"Mod-i",run:hS,preventDefault:!0},{key:"Mod-[",run:ql},{key:"Mod-]",run:id},{key:"Mod-Alt-\\",run:$S},{key:"Shift-Mod-k",run:wS},{key:"Shift-Mod-\\",run:Hb},{key:"Mod-/",run:kb},{key:"Alt-A",run:wb},{key:"Ctrl-m",mac:"Shift-Alt-m",run:TS}].concat(XS);var Ys=class{constructor(e,t,n,r){this.state=e,this.pos=t,this.explicit=n,this.view=r,this.abortListeners=[],this.abortOnDocChange=!1}tokenBefore(e){let t=U(this.state).resolveInner(this.pos,-1);for(;t&&e.indexOf(t.name)<0;)t=t.parent;return t?{from:t.from,to:this.pos,text:this.state.sliceDoc(t.from,this.pos),type:t.type}:null}matchBefore(e){let t=this.state.doc.lineAt(this.pos),n=Math.max(t.from,this.pos-250),r=t.text.slice(n-t.from,this.pos-t.from),s=r.search(RS(e,!1));return s<0?null:{from:n+s,to:this.pos,text:r.slice(s)}}get aborted(){return this.abortListeners==null}addEventListener(e,t,n){e=="abort"&&this.abortListeners&&(this.abortListeners.push(t),n&&n.onDocChange&&(this.abortOnDocChange=!0))}};function rd(i){let e=Object.keys(i).join(""),t=/\w/.test(e);return t&&(e=e.replace(/\w/g,"")),`[${t?"\\w":""}${e.replace(/[^\w\s]/g,"\\$&")}]`}function _S(i){let e=Object.create(null),t=Object.create(null);for(let{label:r}of i){e[r[0]]=!0;for(let s=1;stypeof r=="string"?{label:r}:r),[t,n]=e.every(r=>/^\w+$/.test(r.label))?[/\w*$/,/\w+$/]:_S(e);return r=>{let s=r.matchBefore(n);return s||r.explicit?{from:s?s.from:r.pos,options:e,validFor:t}:null}}function Bs(i,e){return t=>{for(let n=U(t.state).resolveInner(t.pos,-1);n;n=n.parent){if(i.indexOf(n.name)>-1)return null;if(n.type.isTop)break}return e(t)}}function RS(i,e){var t;let{source:n}=i,r=e&&n[0]!="^",s=n[n.length-1]!="$";return!r&&!s?i:new RegExp(`${r?"^":""}(?:${n})${s?"$":""}`,(t=i.flags)!==null&&t!==void 0?t:i.ignoreCase?"i":"")}var AS=_e.define();var z$=typeof navigator=="object"&&/Win/.test(navigator.platform);var ZS=z.baseTheme({".cm-tooltip.cm-tooltip-autocomplete":{"& > ul":{fontFamily:"monospace",whiteSpace:"nowrap",overflow:"hidden auto",maxWidth_fallback:"700px",maxWidth:"min(700px, 95vw)",minWidth:"250px",maxHeight:"10em",height:"100%",listStyle:"none",margin:0,padding:0,"& > li, & > completion-section":{padding:"1px 3px",lineHeight:1.2},"& > li":{overflowX:"hidden",textOverflow:"ellipsis",cursor:"pointer"},"& > completion-section":{display:"list-item",borderBottom:"1px solid silver",paddingLeft:"0.5em",opacity:.7}}},"&light .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#17c",color:"white"},"&light .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#777"},"&dark .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#347",color:"white"},"&dark .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#444"},".cm-completionListIncompleteTop:before, .cm-completionListIncompleteBottom:after":{content:'"\xB7\xB7\xB7"',opacity:.5,display:"block",textAlign:"center",cursor:"pointer"},".cm-tooltip.cm-completionInfo":{position:"absolute",padding:"3px 9px",width:"max-content",maxWidth:"400px",boxSizing:"border-box",whiteSpace:"pre-line"},".cm-completionInfo.cm-completionInfo-left":{right:"100%"},".cm-completionInfo.cm-completionInfo-right":{left:"100%"},".cm-completionInfo.cm-completionInfo-left-narrow":{right:"30px"},".cm-completionInfo.cm-completionInfo-right-narrow":{left:"30px"},"&light .cm-snippetField":{backgroundColor:"#00000022"},"&dark .cm-snippetField":{backgroundColor:"#ffffff22"},".cm-snippetFieldPosition":{verticalAlign:"text-top",width:0,height:"1.15em",display:"inline-block",margin:"0 -0.7px -.7em",borderLeft:"1.4px dotted #888"},".cm-completionMatchedText":{textDecoration:"underline"},".cm-completionDetail":{marginLeft:"0.5em",fontStyle:"italic"},".cm-completionIcon":{fontSize:"90%",width:".8em",display:"inline-block",textAlign:"center",paddingRight:".6em",opacity:"0.6",boxSizing:"content-box"},".cm-completionIcon-function, .cm-completionIcon-method":{"&:after":{content:"'\u0192'"}},".cm-completionIcon-class":{"&:after":{content:"'\u25CB'"}},".cm-completionIcon-interface":{"&:after":{content:"'\u25CC'"}},".cm-completionIcon-variable":{"&:after":{content:"'\u{1D465}'"}},".cm-completionIcon-constant":{"&:after":{content:"'\u{1D436}'"}},".cm-completionIcon-type":{"&:after":{content:"'\u{1D461}'"}},".cm-completionIcon-enum":{"&:after":{content:"'\u222A'"}},".cm-completionIcon-property":{"&:after":{content:"'\u25A1'"}},".cm-completionIcon-keyword":{"&:after":{content:"'\u{1F511}\uFE0E'"}},".cm-completionIcon-namespace":{"&:after":{content:"'\u25A2'"}},".cm-completionIcon-text":{"&:after":{content:"'abc'",fontSize:"50%",verticalAlign:"middle"}}}),Ml=class{constructor(e,t,n,r){this.field=e,this.line=t,this.from=n,this.to=r}},Wl=class i{constructor(e,t,n){this.field=e,this.from=t,this.to=n}map(e){let t=e.mapPos(this.from,-1,ge.TrackDel),n=e.mapPos(this.to,1,ge.TrackDel);return t==null||n==null?null:new i(this.field,t,n)}},jl=class i{constructor(e,t){this.lines=e,this.fieldPositions=t}instantiate(e,t){let n=[],r=[t],s=e.doc.lineAt(t),o=/^\s*/.exec(s.text)[0];for(let l of this.lines){if(n.length){let c=o,h=/^\t*/.exec(l)[0].length;for(let f=0;fnew Wl(l.field,r[l.line]+l.from,r[l.line]+l.to));return{text:n,ranges:a}}static parse(e){let t=[],n=[],r=[],s;for(let o of e.split(/\r\n?|\n/)){for(;s=/[#$]\{(?:(\d+)(?::([^{}]*))?|((?:\\[{}]|[^{}])*))\}/.exec(o);){let a=s[1]?+s[1]:null,l=s[2]||s[3]||"",c=-1;a===0&&(a=1e9);let h=l.replace(/\\[{}]/g,f=>f[1]);for(let f=0;f=c&&u.field++}for(let f of r)if(f.line==n.length&&f.from>s.index){let u=s[2]?3+(s[1]||"").length:2;f.from-=u,f.to-=u}r.push(new Ml(c,n.length,s.index,s.index+h.length)),o=o.slice(0,s.index)+l+o.slice(s.index+s[0].length)}o=o.replace(/\\([{}])/g,(a,l,c)=>{for(let h of r)h.line==n.length&&h.from>c&&(h.from--,h.to--);return l}),n.push(o)}return new i(n,r)}},ES=Z.widget({widget:new class extends ve{toDOM(){let i=document.createElement("span");return i.className="cm-snippetFieldPosition",i}ignoreEvent(){return!1}}}),qS=Z.mark({class:"cm-snippetField"}),wn=class i{constructor(e,t){this.ranges=e,this.active=t,this.deco=Z.set(e.map(n=>(n.from==n.to?ES:qS).range(n.from,n.to)),!0)}map(e){let t=[];for(let n of this.ranges){let r=n.map(e);if(!r)return null;t.push(r)}return new i(t,this.active)}selectionInsideField(e){return e.ranges.every(t=>this.ranges.some(n=>n.field==this.active&&n.from<=t.from&&n.to>=t.to))}},mr=te.define({map(i,e){return i&&i.map(e)}}),zS=te.define(),dr=he.define({create(){return null},update(i,e){for(let t of e.effects){if(t.is(mr))return t.value;if(t.is(zS)&&i)return new wn(i.ranges,t.value)}return i&&e.docChanged&&(i=i.map(e.changes)),i&&e.selection&&!i.selectionInsideField(e.selection)&&(i=null),i},provide:i=>z.decorations.from(i,e=>e?e.deco:Z.none)});function Vl(i,e){return P.create(i.filter(t=>t.field==e).map(t=>P.range(t.from,t.to)))}function LS(i){let e=jl.parse(i);return(t,n,r,s)=>{let{text:o,ranges:a}=e.instantiate(t.state,r),{main:l}=t.state.selection,c={changes:{from:r,to:s==l.from?l.to:s,insert:K.of(o)},scrollIntoView:!0,annotations:n?[AS.of(n),pe.userEvent.of("input.complete")]:void 0};if(a.length&&(c.selection=Vl(a,0)),a.some(h=>h.field>0)){let h=new wn(a,0),f=c.effects=[mr.of(h)];t.state.field(dr,!1)===void 0&&f.push(te.appendConfig.of([dr,DS,YS,ZS]))}t.dispatch(t.state.update(c))}}function ld(i){return({state:e,dispatch:t})=>{let n=e.field(dr,!1);if(!n||i<0&&n.active==0)return!1;let r=n.active+i,s=i>0&&!n.ranges.some(o=>o.field==r+i);return t(e.update({selection:Vl(n.ranges,r),effects:mr.of(s?null:new wn(n.ranges,r)),scrollIntoView:!0})),!0}}var MS=({state:i,dispatch:e})=>i.field(dr,!1)?(e(i.update({effects:mr.of(null)})),!0):!1,WS=ld(1),jS=ld(-1);var VS=[{key:"Tab",run:WS,shift:jS},{key:"Escape",run:MS}],sd=Y.define({combine(i){return i.length?i[0]:VS}}),DS=nt.highest(fi.compute([sd],i=>i.facet(sd)));function ce(i,e){return{...e,apply:LS(i)}}var YS=z.domEventHandlers({mousedown(i,e){let t=e.state.field(dr,!1),n;if(!t||(n=e.posAtCoords({x:i.clientX,y:i.clientY}))==null)return!1;let r=t.ranges.find(s=>s.from<=n&&s.to>=n);return!r||r.field==t.active?!1:(e.dispatch({selection:Vl(t.ranges,r.field),effects:mr.of(t.ranges.some(s=>s.field>r.field)?new wn(t.ranges,r.field):null),scrollIntoView:!0}),!0)}});var pr={brackets:["(","[","{","'",'"'],before:")]}:;>",stringPrefixes:[]},Yi=te.define({map(i,e){let t=e.mapPos(i,-1,ge.TrackAfter);return t??void 0}}),Dl=new class extends it{};Dl.startSide=1;Dl.endSide=-1;var cd=he.define({create(){return ae.empty},update(i,e){if(i=i.map(e.changes),e.selection){let t=e.state.doc.lineAt(e.selection.main.head);i=i.update({filter:n=>n>=t.from&&n<=t.to})}for(let t of e.effects)t.is(Yi)&&(i=i.update({add:[Dl.range(t.value,t.value+1)]}));return i}});function hd(){return[BS,cd]}var Ll="()[]{}<>\xAB\xBB\xBB\xAB\uFF3B\uFF3D\uFF5B\uFF5D";function fd(i){for(let e=0;e{if((IS?i.composing:i.compositionStarted)||i.state.readOnly)return!1;let r=i.state.selection.main;if(n.length>2||n.length==2&&on(si(n,0))==1||e!=r.from||t!=r.to)return!1;let s=GS(i.state,n);return s?(i.dispatch(s),!0):!1}),US=({state:i,dispatch:e})=>{if(i.readOnly)return!1;let n=ud(i,i.selection.main.head).brackets||pr.brackets,r=null,s=i.changeByRange(o=>{if(o.empty){let a=NS(i.doc,o.head);for(let l of n)if(l==a&&Us(i.doc,o.head)==fd(si(l,0)))return{changes:{from:o.head-l.length,to:o.head+l.length},range:P.cursor(o.head-l.length)}}return{range:r=o}});return r||e(i.update(s,{scrollIntoView:!0,userEvent:"delete.backward"})),!r},Od=[{key:"Backspace",run:US}];function GS(i,e){let t=ud(i,i.selection.main.head),n=t.brackets||pr.brackets;for(let r of n){let s=fd(si(r,0));if(e==r)return s==r?KS(i,r,n.indexOf(r+r+r)>-1,t):FS(i,r,s,t.before||pr.before);if(e==s&&dd(i,i.selection.main.from))return HS(i,r,s)}return null}function dd(i,e){let t=!1;return i.field(cd).between(0,i.doc.length,n=>{n==e&&(t=!0)}),t}function Us(i,e){let t=i.sliceString(e,e+2);return t.slice(0,on(si(t,0)))}function NS(i,e){let t=i.sliceString(e-2,e);return on(si(t,0))==t.length?t:t.slice(1)}function FS(i,e,t,n){let r=null,s=i.changeByRange(o=>{if(!o.empty)return{changes:[{insert:e,from:o.from},{insert:t,from:o.to}],effects:Yi.of(o.to+e.length),range:P.range(o.anchor+e.length,o.head+e.length)};let a=Us(i.doc,o.head);return!a||/\s/.test(a)||n.indexOf(a)>-1?{changes:{insert:e+t,from:o.head},effects:Yi.of(o.head+e.length),range:P.cursor(o.head+e.length)}:{range:r=o}});return r?null:i.update(s,{scrollIntoView:!0,userEvent:"input.type"})}function HS(i,e,t){let n=null,r=i.changeByRange(s=>s.empty&&Us(i.doc,s.head)==t?{changes:{from:s.head,to:s.head+t.length,insert:t},range:P.cursor(s.head+t.length)}:n={range:s});return n?null:i.update(r,{scrollIntoView:!0,userEvent:"input.type"})}function KS(i,e,t,n){let r=n.stringPrefixes||pr.stringPrefixes,s=null,o=i.changeByRange(a=>{if(!a.empty)return{changes:[{insert:e,from:a.from},{insert:e,from:a.to}],effects:Yi.of(a.to+e.length),range:P.range(a.anchor+e.length,a.head+e.length)};let l=a.head,c=Us(i.doc,l),h;if(c==e){if(od(i,l))return{changes:{insert:e+e,from:l},effects:Yi.of(l+e.length),range:P.cursor(l+e.length)};if(dd(i,l)){let u=t&&i.sliceDoc(l,l+e.length*3)==e+e+e?e+e+e:e;return{changes:{from:l,to:l+u.length,insert:u},range:P.cursor(l+u.length)}}}else{if(t&&i.sliceDoc(l-2*e.length,l)==e+e&&(h=ad(i,l-2*e.length,r))>-1&&od(i,h))return{changes:{insert:e+e+e+e,from:l},effects:Yi.of(l+e.length),range:P.cursor(l+e.length)};if(i.charCategorizer(l)(c)!=Ee.Word&&ad(i,l,r)>-1&&!JS(i,l,e,r))return{changes:{insert:e+e,from:l},effects:Yi.of(l+e.length),range:P.cursor(l+e.length)}}return{range:s=a}});return s?null:i.update(o,{scrollIntoView:!0,userEvent:"input.type"})}function od(i,e){let t=U(i).resolveInner(e+1);return t.parent&&t.from==e}function JS(i,e,t,n){let r=U(i).resolveInner(e,-1),s=n.reduce((o,a)=>Math.max(o,a.length),0);for(let o=0;o<5;o++){let a=i.sliceDoc(r.from,Math.min(r.to,r.from+t.length+s)),l=a.indexOf(t);if(!l||l>-1&&n.indexOf(a.slice(0,l))>-1){let h=r.firstChild;for(;h&&h.from==r.from&&h.to-h.from>t.length+l;){if(i.sliceDoc(h.to-t.length,h.to)==t)return!1;h=h.firstChild}return!0}let c=r.to==e&&r.parent;if(!c)break;r=c}return!1}function ad(i,e,t){let n=i.charCategorizer(e);if(n(i.sliceDoc(e-1,e))!=Ee.Word)return e;for(let r of t){let s=e-r.length;if(i.sliceDoc(s,e)==r&&n(i.sliceDoc(s-1,s))!=Ee.Word)return s}return-1}var Fs=class i{static create(e,t,n,r,s){let o=r+(r<<8)+e+(t<<4)|0;return new i(e,t,n,o,s,[],[])}constructor(e,t,n,r,s,o,a){this.type=e,this.value=t,this.from=n,this.hash=r,this.end=s,this.children=o,this.positions=a,this.hashProp=[[I.contextHash,r]]}addChild(e,t){e.prop(I.contextHash)!=this.hash&&(e=new F(e.type,e.children,e.positions,e.length,this.hashProp)),this.children.push(e),this.positions.push(t)}toTree(e,t=this.end){let n=this.children.length-1;return n>=0&&(t=Math.max(t,this.positions[n]+this.children[n].length+this.from)),new F(e.types[this.type],this.children,this.positions,t-this.from).balance({makeTree:(r,s,o)=>new F(Oe.none,r,s,o,this.hashProp)})}},A;(function(i){i[i.Document=1]="Document",i[i.CodeBlock=2]="CodeBlock",i[i.FencedCode=3]="FencedCode",i[i.Blockquote=4]="Blockquote",i[i.HorizontalRule=5]="HorizontalRule",i[i.BulletList=6]="BulletList",i[i.OrderedList=7]="OrderedList",i[i.ListItem=8]="ListItem",i[i.ATXHeading1=9]="ATXHeading1",i[i.ATXHeading2=10]="ATXHeading2",i[i.ATXHeading3=11]="ATXHeading3",i[i.ATXHeading4=12]="ATXHeading4",i[i.ATXHeading5=13]="ATXHeading5",i[i.ATXHeading6=14]="ATXHeading6",i[i.SetextHeading1=15]="SetextHeading1",i[i.SetextHeading2=16]="SetextHeading2",i[i.HTMLBlock=17]="HTMLBlock",i[i.LinkReference=18]="LinkReference",i[i.Paragraph=19]="Paragraph",i[i.CommentBlock=20]="CommentBlock",i[i.ProcessingInstructionBlock=21]="ProcessingInstructionBlock",i[i.Escape=22]="Escape",i[i.Entity=23]="Entity",i[i.HardBreak=24]="HardBreak",i[i.Emphasis=25]="Emphasis",i[i.StrongEmphasis=26]="StrongEmphasis",i[i.Link=27]="Link",i[i.Image=28]="Image",i[i.InlineCode=29]="InlineCode",i[i.HTMLTag=30]="HTMLTag",i[i.Comment=31]="Comment",i[i.ProcessingInstruction=32]="ProcessingInstruction",i[i.Autolink=33]="Autolink",i[i.HeaderMark=34]="HeaderMark",i[i.QuoteMark=35]="QuoteMark",i[i.ListMark=36]="ListMark",i[i.LinkMark=37]="LinkMark",i[i.EmphasisMark=38]="EmphasisMark",i[i.CodeMark=39]="CodeMark",i[i.CodeText=40]="CodeText",i[i.CodeInfo=41]="CodeInfo",i[i.LinkTitle=42]="LinkTitle",i[i.LinkLabel=43]="LinkLabel",i[i.URL=44]="URL"})(A||(A={}));var Bl=class{constructor(e,t){this.start=e,this.content=t,this.marks=[],this.parsers=[]}},Ul=class{constructor(){this.text="",this.baseIndent=0,this.basePos=0,this.depth=0,this.markers=[],this.pos=0,this.indent=0,this.next=-1}forward(){this.basePos>this.pos&&this.forwardInner()}forwardInner(){let e=this.skipSpace(this.basePos);this.indent=this.countIndent(e,this.pos,this.indent),this.pos=e,this.next=e==this.text.length?-1:this.text.charCodeAt(e)}skipSpace(e){return Qr(this.text,e)}reset(e){for(this.text=e,this.baseIndent=this.basePos=this.pos=this.indent=0,this.forwardInner(),this.depth=1;this.markers.length;)this.markers.pop()}moveBase(e){this.basePos=e,this.baseIndent=this.countIndent(e,this.pos,this.indent)}moveBaseColumn(e){this.baseIndent=e,this.basePos=this.findColumn(e)}addMarker(e){this.markers.push(e)}countIndent(e,t=0,n=0){for(let r=t;r=e.stack[t.depth+1].value+t.baseIndent)return!0;if(t.indent>=t.baseIndent+4)return!1;let n=(i.type==A.OrderedList?sc:rc)(t,e,!1);return n>0&&(i.type!=A.BulletList||nc(t,e,!1)<0)&&t.text.charCodeAt(t.pos+n-1)==i.value}var vd={[A.Blockquote](i,e,t){return t.next!=62?!1:(t.markers.push(ie(A.QuoteMark,e.lineStart+t.pos,e.lineStart+t.pos+1)),t.moveBase(t.pos+(Ot(t.text.charCodeAt(t.pos+1))?2:1)),i.end=e.lineStart+t.text.length,!0)},[A.ListItem](i,e,t){return t.indent-1?!1:(t.moveBaseColumn(t.baseIndent+i.value),!0)},[A.OrderedList]:pd,[A.BulletList]:pd,[A.Document](){return!0}};function Ot(i){return i==32||i==9||i==10||i==13}function Qr(i,e=0){for(;et&&Ot(i.charCodeAt(e-1));)e--;return e}function $d(i){if(i.next!=96&&i.next!=126)return-1;let e=i.pos+1;for(;e-1&&i.depth==e.stack.length&&e.parser.leafBlockParsers.indexOf(Ed.SetextHeading)>-1||n<3?-1:1}function Cd(i,e){for(let t=i.stack.length-1;t>=0;t--)if(i.stack[t].type==e)return!0;return!1}function rc(i,e,t){return(i.next==45||i.next==43||i.next==42)&&(i.pos==i.text.length-1||Ot(i.text.charCodeAt(i.pos+1)))&&(!t||Cd(e,A.BulletList)||i.skipSpace(i.pos+2)=48&&r<=57;){n++;if(n==i.text.length)return-1;r=i.text.charCodeAt(n)}return n==i.pos||n>i.pos+9||r!=46&&r!=41||ni.pos+1||i.next!=49)?-1:n+1-i.pos}function Xd(i){if(i.next!=35)return-1;let e=i.pos+1;for(;e6?-1:t}function _d(i){if(i.next!=45&&i.next!=61||i.indent>=i.baseIndent+4)return-1;let e=i.pos+1;for(;e/,Ad=/\?>/,Nl=[[/^<(?:script|pre|style)(?:\s|>|$)/i,/<\/(?:script|pre|style)>/i],[/^\s*/,Ad=/\?>/,Nl=[[/^<(?:script|pre|style)(?:\s|>|$)/i,/<\/(?:script|pre|style)>/i],[/^\s*/i.exec(n);if(s)return i.append(ie(A.Comment,t,t+1+s[0].length));let o=/^\?[^]*?\?>/.exec(n);if(o)return i.append(ie(A.ProcessingInstruction,t,t+1+o[0].length));let a=/^(?:![A-Z][^]*?>|!\[CDATA\[[^]*?\]\]>|\/\s*[a-zA-Z][\w-]*\s*>|\s*[a-zA-Z][\w-]*(\s+[a-zA-Z:_][\w-.:]*(?:\s*=\s*(?:[^\s"'=<>`]+|'[^']*'|"[^"]*"))?)*\s*(\/\s*)?>)/.exec(n);return a?i.append(ie(A.HTMLTag,t,t+1+a[0].length)):-1},Emphasis(i,e,t){if(e!=95&&e!=42)return-1;let n=t+1;for(;i.char(n)==e;)n++;let r=i.slice(t-1,t),s=i.slice(n,n+1),o=yr.test(r),a=yr.test(s),l=/\s|^$/.test(r),c=/\s|^$/.test(s),h=!c&&(!a||l||o),f=!l&&(!o||c||a),u=h&&(e==42||!f||o),O=f&&(e==42||!h||a);return i.append(new Me(e==95?Ld:Md,t,n,(u?1:0)|(O?2:0)))},HardBreak(i,e,t){if(e==92&&i.char(t+1)==10)return i.append(ie(A.HardBreak,t,t+2));if(e==32){let n=t+1;for(;i.char(n)==32;)n++;if(i.char(n)==10&&n>=t+2)return i.append(ie(A.HardBreak,t,n+1))}return-1},Link(i,e,t){return e==91?i.append(new Me(Ii,t,t+1,1)):-1},Image(i,e,t){return e==33&&i.char(t+1)==91?i.append(new Me(Js,t,t+2,1)):-1},LinkEnd(i,e,t){if(e!=93)return-1;for(let n=i.parts.length-1;n>=0;n--){let r=i.parts[n];if(r instanceof Me&&(r.type==Ii||r.type==Js)){if(!r.side||i.skipSpace(r.to)==t&&!/[(\[]/.test(i.slice(t+1,t+2)))return i.parts[n]=null,-1;let s=i.takeContent(n),o=i.parts[n]=iy(i,s,r.type==Ii?A.Link:A.Image,r.from,t+1);if(r.type==Ii)for(let a=0;ae?ie(A.URL,e+t,s+t):s==i.length?null:!1}}function jd(i,e,t){let n=i.charCodeAt(e);if(n!=39&&n!=34&&n!=40)return!1;let r=n==40?41:n;for(let s=e+1,o=!1;s=this.end?-1:this.text.charCodeAt(e-this.offset)}get end(){return this.offset+this.text.length}slice(e,t){return this.text.slice(e-this.offset,t-this.offset)}append(e){return this.parts.push(e),e.to}addDelimiter(e,t,n,r,s){return this.append(new Me(e,t,n,(r?1:0)|(s?2:0)))}get hasOpenLink(){for(let e=this.parts.length-1;e>=0;e--){let t=this.parts[e];if(t instanceof Me&&(t.type==Ii||t.type==Js))return!0}return!1}addElement(e){return this.append(e)}resolveMarkers(e){for(let n=e;n=e;l--){let m=this.parts[l];if(m instanceof Me&&m.side&1&&m.type==r.type&&!(s&&(r.side&1||m.side&2)&&(m.to-m.from+o)%3==0&&((m.to-m.from)%3||o%3))){a=m;break}}if(!a)continue;let c=r.type.resolve,h=[],f=a.from,u=r.to;if(s){let m=Math.min(2,a.to-a.from,o);f=a.to-m,u=r.from+m,c=m==1?"Emphasis":"StrongEmphasis"}a.type.mark&&h.push(this.elt(a.type.mark,f,a.to));for(let m=l+1;m=0;t--){let n=this.parts[t];if(n instanceof Me&&n.type==e&&n.side&1)return t}return null}takeContent(e){let t=this.resolveMarkers(e);return this.parts.length=e,t}getDelimiterAt(e){let t=this.parts[e];return t instanceof Me?t:null}skipSpace(e){return Qr(this.text,e-this.offset)+this.offset}elt(e,t,n,r){return typeof e=="string"?ie(this.parser.getNodeType(e),t,n,r):new Ks(e,t)}};kr.linkStart=Ii;kr.imageStart=Js;function ec(i,e){if(!e.length)return i;if(!i.length)return e;let t=i.slice(),n=0;for(let r of e){for(;n(e?e-1:0))return!1;if(this.fragmentEnd<0){let s=this.fragment.to;for(;s>0&&this.input.read(s-1,s)!=` -`;)s--;this.fragmentEnd=s?s-1:0}let n=this.cursor;n||(n=this.cursor=this.fragment.tree.cursor(),n.firstChild());let r=e+this.fragment.offset;for(;n.to<=r;)if(!n.parent())return!1;for(;;){if(n.from>=r)return this.fragment.from<=t;if(!n.childAfter(r))return!1}}matches(e){let t=this.cursor.tree;return t&&t.prop(I.contextHash)==e}takeNodes(e){let t=this.cursor,n=this.fragment.offset,r=this.fragmentEnd-(this.fragment.openEnd?1:0),s=e.absoluteLineStart,o=s,a=e.block.children.length,l=o,c=a;for(;;){if(t.to-n>r){if(t.type.isAnonymous&&t.firstChild())continue;break}let h=Dd(t.from-n,e.ranges);if(t.to-n<=e.ranges[e.rangeI].to)e.addNode(t.tree,h);else{let f=new F(e.parser.nodeSet.types[A.Paragraph],[],[],0,e.block.hashProp);e.reusePlaceholders.set(f,t.tree),e.addNode(f,h)}if(t.type.is("Block")&&(ny.indexOf(t.type.id)<0?(o=t.to-n,a=e.block.children.length):(o=l,a=c),l=t.to-n,c=e.block.children.length),!t.nextSibling())break}for(;e.block.children.length>a;)e.block.children.pop(),e.block.positions.pop();return o-s}};function Dd(i,e){let t=i;for(let n=1;nGs[i]),Object.keys(Gs).map(i=>Ed[i]),Object.keys(Gs),ey,vd,Object.keys(Il).map(i=>Il[i]),Object.keys(Il),[]);function sy(i,e,t){let n=[];for(let r=i.firstChild,s=e;;r=r.nextSibling){let o=r?r.from:t;if(o>s&&n.push({from:s,to:o}),!r)break;s=r.to}return n}function Id(i){let{codeParser:e,htmlParser:t}=i;return{wrap:bn((r,s)=>{let o=r.type.id;if(e&&(o==A.CodeBlock||o==A.FencedCode)){let a="";if(o==A.FencedCode){let c=r.node.getChild(A.CodeInfo);c&&(a=s.read(c.from,c.to))}let l=e(a);if(l)return{parser:l,overlay:c=>c.type.id==A.CodeText,bracketed:o==A.FencedCode}}else if(t&&(o==A.HTMLBlock||o==A.HTMLTag||o==A.CommentBlock))return{parser:t,overlay:sy(r.node,r.from,r.to)};return null})}}var oy={resolve:"Strikethrough",mark:"StrikethroughMark"},ay={defineNodes:[{name:"Strikethrough",style:{"Strikethrough/...":d.strikethrough}},{name:"StrikethroughMark",style:d.processingInstruction}],parseInline:[{name:"Strikethrough",parse(i,e,t){if(e!=126||i.char(t+1)!=126||i.char(t+2)==126)return-1;let n=i.slice(t-1,t),r=i.slice(t+2,t+3),s=/\s|^$/.test(n),o=/\s|^$/.test(r),a=yr.test(n),l=yr.test(r);return i.addDelimiter(oy,t,t+2,!o&&(!l||s||a),!s&&(!a||o||l))},after:"Emphasis"}]};function br(i,e,t=0,n,r=0){let s=0,o=!0,a=-1,l=-1,c=!1,h=()=>{n.push(i.elt("TableCell",r+a,r+l,i.parser.parseInline(e.slice(a,l),r+a)))};for(let f=t;f-1)&&s++,o=!1,n&&(a>-1&&h(),n.push(i.elt("TableDelimiter",f+r,f+r+1))),a=l=-1):(c||u!=32&&u!=9)&&(a<0&&(a=f),l=f+1),c=!c&&u==92}return a>-1&&(s++,n&&h()),s}function bd(i,e){for(let t=e;t\s]*\|?(\s*:?-+:?\s*\|)+(\s*:?-+:?\s*)?$/,eo=class{constructor(){this.rows=null}nextLine(e,t,n){if(this.rows==null){this.rows=!1;let r;if((t.next==45||t.next==58||t.next==124)&&Bd.test(r=t.text.slice(t.pos))){let s=[];br(e,n.content,0,s,n.start)==br(e,r,0)&&(this.rows=[e.elt("TableHeader",n.start,n.start+n.content.length,s),e.elt("TableDelimiter",e.lineStart+t.pos,e.lineStart+t.text.length)])}}else if(this.rows){let r=[];br(e,t.text,t.pos,r,e.lineStart),this.rows.push(e.elt("TableRow",e.lineStart+t.pos,e.lineStart+t.text.length,r))}return!1}finish(e,t){return this.rows?(e.addLeafElement(t,e.elt("Table",t.start,t.start+t.content.length,this.rows)),!0):!1}},ly={defineNodes:[{name:"Table",block:!0},{name:"TableHeader",style:{"TableHeader/...":d.heading}},"TableRow",{name:"TableCell",style:d.content},{name:"TableDelimiter",style:d.processingInstruction}],parseBlock:[{name:"Table",leaf(i,e){return bd(e.content,0)?new eo:null},endLeaf(i,e,t){if(t.parsers.some(r=>r instanceof eo)||!bd(e.text,e.basePos))return!1;let n=i.peekLine();return Bd.test(n)&&br(i,e.text,e.basePos)==br(i,n,e.basePos)},before:"SetextHeading"}]},ic=class{nextLine(){return!1}finish(e,t){return e.addLeafElement(t,e.elt("Task",t.start,t.start+t.content.length,[e.elt("TaskMarker",t.start,t.start+3),...e.parser.parseInline(t.content.slice(3),t.start+3)])),!0}},cy={defineNodes:[{name:"Task",block:!0,style:d.list},{name:"TaskMarker",style:d.atom}],parseBlock:[{name:"TaskList",leaf(i,e){return/^\[[ xX]\][ \t]/.test(e.content)&&i.parentType().name=="ListItem"?new ic:null},after:"SetextHeading"}]},Sd=/(www\.)|(https?:\/\/)|([\w.+-]{1,100}@)|(mailto:|xmpp:)/gy,yd=/[\w-]+(\.[\w-]+)+(:\d+)?(\/[^\s<]*)?/gy,hy=/[\w-]+\.[\w-]+($|[/:])/,kd=/[\w.+-]+@[\w-]+(\.[\w.-]+)+/gy,xd=/\/[a-zA-Z\d@.]+/gy;function wd(i,e,t,n){let r=0;for(let s=e;s-1)return-1;let n=e+t[0].length;for(;;){let r=i[n-1],s;if(/[?!.,:*_~]/.test(r)||r==")"&&wd(i,e,n,")")>wd(i,e,n,"("))n--;else if(r==";"&&(s=/&(?:#\d+|#x[a-f\d]+|\w+);$/.exec(i.slice(e,n))))n=e+s.index;else break}return n}function Pd(i,e){kd.lastIndex=e;let t=kd.exec(i);if(!t)return-1;let n=t[0][t[0].length-1];return n=="_"||n=="-"?-1:e+t[0].length-(n=="."?1:0)}var uy={parseInline:[{name:"Autolink",parse(i,e,t){let n=t-i.offset;if(n&&/\w/.test(i.text[n-1]))return-1;Sd.lastIndex=n;let r=Sd.exec(i.text),s=-1;if(!r)return-1;if(r[1]||r[2]){if(s=fy(i.text,n+r[0].length),s>-1&&i.hasOpenLink){let o=/([^\[\]]|\[[^\]]*\])*/.exec(i.text.slice(n,s));s=n+o[0].length}}else r[3]?s=Pd(i.text,n):(s=Pd(i.text,n+r[0].length),s>-1&&r[0]=="xmpp:"&&(xd.lastIndex=s,r=xd.exec(i.text),r&&(s=r.index+r[0].length)));return s<0?-1:(i.addElement(i.elt("URL",t,s+i.offset)),s+i.offset)}}]},Ud=[ly,cy,ay,uy];function Gd(i,e,t){return(n,r,s)=>{if(r!=i||n.char(s+1)==i)return-1;let o=[n.elt(t,s,s+1)];for(let a=s+1;at%3==0).concat(this.state)}]@${this.pos}${this.score?"!"+this.score:""}`}static start(e,t,n=0){let r=e.parser.context;return new i(e,[],t,n,n,0,[],0,r?new to(r,r.start):null,0,null)}get context(){return this.curContext?this.curContext.context:null}pushState(e,t){this.stack.push(this.state,t,this.bufferBase+this.buffer.length),this.state=e}reduce(e){var t;let n=e>>19,r=e&65535,{parser:s}=this.p,o=this.reducePos=2e3&&!(!((t=this.p.parser.nodeSet.types[r])===null||t===void 0)&&t.isAnonymous)&&(c==this.p.lastBigReductionStart?(this.p.bigReductionCount++,this.p.lastBigReductionSize=h):this.p.lastBigReductionSizel;)this.stack.pop();this.reduceContext(r,c)}storeNode(e,t,n,r=4,s=!1){if(e==0&&(!this.stack.length||this.stack[this.stack.length-1]0&&this.buffer[o-4]==0&&this.buffer[o-1]>-1){if(t==n)return;if(this.buffer[o-2]>=t){this.buffer[o-2]=n;return}}}if(!s||this.pos==n)this.buffer.push(e,t,n,r);else{let o=this.buffer.length;if(o>0&&(this.buffer[o-4]!=0||this.buffer[o-1]<0)){let a=!1;for(let l=o;l>0&&this.buffer[l-2]>n;l-=4)if(this.buffer[l-1]>=0){a=!0;break}if(a)for(;o>0&&this.buffer[o-2]>n;)this.buffer[o]=this.buffer[o-4],this.buffer[o+1]=this.buffer[o-3],this.buffer[o+2]=this.buffer[o-2],this.buffer[o+3]=this.buffer[o-1],o-=4,r>4&&(r-=4)}this.buffer[o]=e,this.buffer[o+1]=t,this.buffer[o+2]=n,this.buffer[o+3]=r}}shift(e,t,n,r){if(e&131072)this.pushState(e&65535,this.pos);else if((e&262144)==0){let s=e,{parser:o}=this.p;this.pos=r;let a=o.stateFlag(s,1);!a&&(r>n||t<=o.maxNode)&&(this.reducePos=r),this.pushState(s,a?n:Math.min(n,this.reducePos)),this.shiftContext(t,n),t<=o.maxNode&&this.buffer.push(t,n,r,4)}else this.pos=r,this.shiftContext(t,n),t<=this.p.parser.maxNode&&this.buffer.push(t,n,r,4)}apply(e,t,n,r){e&65536?this.reduce(e):this.shift(e,t,n,r)}useNode(e,t){let n=this.p.reused.length-1;(n<0||this.p.reused[n]!=e)&&(this.p.reused.push(e),n++);let r=this.pos;this.reducePos=this.pos=r+e.length,this.pushState(t,r),this.buffer.push(n,r,this.reducePos,-1),this.curContext&&this.updateContext(this.curContext.tracker.reuse(this.curContext.context,e,this,this.p.stream.reset(this.pos-e.length)))}split(){let e=this,t=e.buffer.length;for(t&&e.buffer[t-4]==0&&(t-=4);t>0&&e.buffer[t-2]>e.reducePos;)t-=4;let n=e.buffer.slice(t),r=e.bufferBase+t;for(;e&&r==e.bufferBase;)e=e.parent;return new i(this.p,this.stack.slice(),this.state,this.reducePos,this.pos,this.score,n,r,this.curContext,this.lookAhead,e)}recoverByDelete(e,t){let n=e<=this.p.parser.maxNode;n&&this.storeNode(e,this.pos,t,4),this.storeNode(0,this.pos,t,n?8:4),this.pos=this.reducePos=t,this.score-=190}canShift(e){for(let t=new cc(this);;){let n=this.p.parser.stateSlot(t.state,4)||this.p.parser.hasAction(t.state,e);if(n==0)return!1;if((n&65536)==0)return!0;t.reduce(n)}}recoverByInsert(e){if(this.stack.length>=300)return[];let t=this.p.parser.nextStates(this.state);if(t.length>8||this.stack.length>=120){let r=[];for(let s=0,o;sl&1&&a==o)||r.push(t[s],o)}t=r}let n=[];for(let r=0;r>19,r=t&65535,s=this.stack.length-n*3;if(s<0||e.getGoto(this.stack[s],r,!1)<0){let o=this.findForcedReduction();if(o==null)return!1;t=o}this.storeNode(0,this.pos,this.pos,4,!0),this.score-=100}return this.reducePos=this.pos,this.reduce(t),!0}findForcedReduction(){let{parser:e}=this.p,t=[],n=(r,s)=>{if(!t.includes(r))return t.push(r),e.allActions(r,o=>{if(!(o&393216))if(o&65536){let a=(o>>19)-s;if(a>1){let l=o&65535,c=this.stack.length-a*3;if(c>=0&&e.getGoto(this.stack[c],l,!1)>=0)return a<<19|65536|l}}else{let a=n(o,s+1);if(a!=null)return a}})};return n(this.state,0)}forceAll(){for(;!this.p.parser.stateFlag(this.state,2);)if(!this.forceReduce()){this.storeNode(0,this.pos,this.pos,4,!0);break}return this}get deadEnd(){if(this.stack.length!=3)return!1;let{parser:e}=this.p;return e.data[e.stateSlot(this.state,1)]==65535&&!e.stateSlot(this.state,4)}restart(){this.storeNode(0,this.pos,this.pos,4,!0),this.state=this.stack[0],this.stack.length=0}sameState(e){if(this.state!=e.state||this.stack.length!=e.stack.length)return!1;for(let t=0;t0&&this.emitLookAhead()}},to=class{constructor(e,t){this.tracker=e,this.context=t,this.hash=e.strict?e.hash(t):0}},cc=class{constructor(e){this.start=e,this.state=e.state,this.stack=e.stack,this.base=this.stack.length}reduce(e){let t=e&65535,n=e>>19;n==0?(this.stack==this.start.stack&&(this.stack=this.stack.slice()),this.stack.push(this.state,0,0),this.base+=3):this.base-=(n-1)*3;let r=this.start.p.parser.getGoto(this.stack[this.base-3],t,!0);this.state=r}},hc=class i{constructor(e,t,n){this.stack=e,this.pos=t,this.index=n,this.buffer=e.buffer,this.index==0&&this.maybeNext()}static create(e,t=e.bufferBase+e.buffer.length){return new i(e,t,t-e.bufferBase)}maybeNext(){let e=this.stack.parent;e!=null&&(this.index=this.stack.bufferBase-e.bufferBase,this.stack=e,this.buffer=e.buffer)}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}next(){this.index-=4,this.pos-=4,this.index==0&&this.maybeNext()}fork(){return new i(this.stack,this.pos,this.index)}};function xr(i,e=Uint16Array){if(typeof i!="string")return i;let t=null;for(let n=0,r=0;n=92&&o--,o>=34&&o--;let l=o-32;if(l>=46&&(l-=46,a=!0),s+=l,a)break;s*=46}t?t[r++]=s:t=new e(s)}return t}var vn=class{constructor(){this.start=-1,this.value=-1,this.end=-1,this.extended=-1,this.lookAhead=0,this.mask=0,this.context=0}},Kd=new vn,fc=class{constructor(e,t){this.input=e,this.ranges=t,this.chunk="",this.chunkOff=0,this.chunk2="",this.chunk2Pos=0,this.next=-1,this.token=Kd,this.rangeIndex=0,this.pos=this.chunkPos=t[0].from,this.range=t[0],this.end=t[t.length-1].to,this.readNext()}resolveOffset(e,t){let n=this.range,r=this.rangeIndex,s=this.pos+e;for(;sn.to:s>=n.to;){if(r==this.ranges.length-1)return null;let o=this.ranges[++r];s+=o.from-n.to,n=o}return s}clipPos(e){if(e>=this.range.from&&ee)return Math.max(e,t.from);return this.end}peek(e){let t=this.chunkOff+e,n,r;if(t>=0&&t=this.chunk2Pos&&na.to&&(this.chunk2=this.chunk2.slice(0,a.to-n)),r=this.chunk2.charCodeAt(0)}}return n>=this.token.lookAhead&&(this.token.lookAhead=n+1),r}acceptToken(e,t=0){let n=t?this.resolveOffset(t,-1):this.pos;if(n==null||n=this.chunk2Pos&&this.posthis.range.to?e.slice(0,this.range.to-this.pos):e,this.chunkPos=this.pos,this.chunkOff=0}}readNext(){return this.chunkOff>=this.chunk.length&&(this.getChunk(),this.chunkOff==this.chunk.length)?this.next=-1:this.next=this.chunk.charCodeAt(this.chunkOff)}advance(e=1){for(this.chunkOff+=e;this.pos+e>=this.range.to;){if(this.rangeIndex==this.ranges.length-1)return this.setDone();e-=this.range.to-this.pos,this.range=this.ranges[++this.rangeIndex],this.pos=this.range.from}return this.pos+=e,this.pos>=this.token.lookAhead&&(this.token.lookAhead=this.pos+1),this.readNext()}setDone(){return this.pos=this.chunkPos=this.end,this.range=this.ranges[this.rangeIndex=this.ranges.length-1],this.chunk="",this.next=-1}reset(e,t){if(t?(this.token=t,t.start=e,t.lookAhead=e+1,t.value=t.extended=-1):this.token=Kd,this.pos!=e){if(this.pos=e,e==this.end)return this.setDone(),this;for(;e=this.range.to;)this.range=this.ranges[++this.rangeIndex];e>=this.chunkPos&&e=this.chunkPos&&t<=this.chunkPos+this.chunk.length)return this.chunk.slice(e-this.chunkPos,t-this.chunkPos);if(e>=this.chunk2Pos&&t<=this.chunk2Pos+this.chunk2.length)return this.chunk2.slice(e-this.chunk2Pos,t-this.chunk2Pos);if(e>=this.range.from&&t<=this.range.to)return this.input.read(e,t);let n="";for(let r of this.ranges){if(r.from>=t)break;r.to>e&&(n+=this.input.read(Math.max(r.from,e),Math.min(r.to,t)))}return n}},Si=class{constructor(e,t){this.data=e,this.id=t}token(e,t){let{parser:n}=t.p;np(this.data,e,t,this.id,n.data,n.tokenPrecTable)}};Si.prototype.contextual=Si.prototype.fallback=Si.prototype.extend=!1;var yi=class{constructor(e,t,n){this.precTable=t,this.elseToken=n,this.data=typeof e=="string"?xr(e):e}token(e,t){let n=e.pos,r=0;for(;;){let s=e.next<0,o=e.resolveOffset(1,1);if(np(this.data,e,t,0,this.data,this.precTable),e.token.value>-1)break;if(this.elseToken==null)return;if(s||r++,o==null)break;e.reset(o,e.token)}r&&(e.reset(n,e.token),e.acceptToken(this.elseToken,r))}};yi.prototype.contextual=Si.prototype.fallback=Si.prototype.extend=!1;var J=class{constructor(e,t={}){this.token=e,this.contextual=!!t.contextual,this.fallback=!!t.fallback,this.extend=!!t.extend}};function np(i,e,t,n,r,s){let o=0,a=1<0){let p=i[O];if(l.allows(p)&&(e.token.value==-1||e.token.value==p||dy(p,e.token.value,r,s))){e.acceptToken(p);break}}let h=e.next,f=0,u=i[o+2];if(e.next<0&&u>f&&i[c+u*3-3]==65535){o=i[c+u*3-1];continue e}for(;f>1,p=c+O+(O<<1),m=i[p],b=i[p+1]||65536;if(h=b)f=O+1;else{o=i[p+2],e.advance();continue e}}break}}function Jd(i,e,t){for(let n=e,r;(r=i[n])!=65535;n++)if(r==t)return n-e;return-1}function dy(i,e,t,n){let r=Jd(t,n,e);return r<0||Jd(t,n,i)e)&&!n.type.isError)return t<0?Math.max(0,Math.min(n.to-1,e-25)):Math.min(i.length,Math.max(n.from+1,e+25));if(t<0?n.prevSibling():n.nextSibling())break;if(!n.parent())return t<0?0:i.length}}var uc=class{constructor(e,t){this.fragments=e,this.nodeSet=t,this.i=0,this.fragment=null,this.safeFrom=-1,this.safeTo=-1,this.trees=[],this.start=[],this.index=[],this.nextFragment()}nextFragment(){let e=this.fragment=this.i==this.fragments.length?null:this.fragments[this.i++];if(e){for(this.safeFrom=e.openStart?ep(e.tree,e.from+e.offset,1)-e.offset:e.from,this.safeTo=e.openEnd?ep(e.tree,e.to+e.offset,-1)-e.offset:e.to;this.trees.length;)this.trees.pop(),this.start.pop(),this.index.pop();this.trees.push(e.tree),this.start.push(-e.offset),this.index.push(0),this.nextStart=this.safeFrom}else this.nextStart=1e9}nodeAt(e){if(ee)return this.nextStart=o,null;if(s instanceof F){if(o==e){if(o=Math.max(this.safeFrom,e)&&(this.trees.push(s),this.start.push(o),this.index.push(0))}else this.index[t]++,this.nextStart=o+s.length}}},Oc=class{constructor(e,t){this.stream=t,this.tokens=[],this.mainToken=null,this.actions=[],this.tokens=e.tokenizers.map(n=>new vn)}getActions(e){let t=0,n=null,{parser:r}=e.p,{tokenizers:s}=r,o=r.stateSlot(e.state,3),a=e.curContext?e.curContext.hash:0,l=0;for(let c=0;cf.end+25&&(l=Math.max(f.lookAhead,l)),f.value!=0)){let u=t;if(f.extended>-1&&(t=this.addActions(e,f.extended,f.end,t)),t=this.addActions(e,f.value,f.end,t),!h.extend&&(n=f,t>u))break}}for(;this.actions.length>t;)this.actions.pop();return l&&e.setLookAhead(l),!n&&e.pos==this.stream.end&&(n=new vn,n.value=e.p.parser.eofTerm,n.start=n.end=e.pos,t=this.addActions(e,n.value,n.end,t)),this.mainToken=n,this.actions}getMainToken(e){if(this.mainToken)return this.mainToken;let t=new vn,{pos:n,p:r}=e;return t.start=n,t.end=Math.min(n+1,r.stream.end),t.value=n==r.stream.end?r.parser.eofTerm:0,t}updateCachedToken(e,t,n){let r=this.stream.clipPos(n.pos);if(t.token(this.stream.reset(r,e),n),e.value>-1){let{parser:s}=n.p;for(let o=0;o=0&&n.p.parser.dialect.allows(a>>1)){(a&1)==0?e.value=a>>1:e.extended=a>>1;break}}}else e.value=0,e.end=this.stream.clipPos(r+1)}putAction(e,t,n,r){for(let s=0;se.bufferLength*4?new uc(n,e.nodeSet):null}get parsedPos(){return this.minStackPos}advance(){let e=this.stacks,t=this.minStackPos,n=this.stacks=[],r,s;if(this.bigReductionCount>300&&e.length==1){let[o]=e;for(;o.forceReduce()&&o.stack.length&&o.stack[o.stack.length-2]>=this.lastBigReductionStart;);this.bigReductionCount=this.lastBigReductionSize=0}for(let o=0;ot)n.push(a);else{if(this.advanceStack(a,n,e))continue;{r||(r=[],s=[]),r.push(a);let l=this.tokens.getMainToken(a);s.push(l.value,l.end)}}break}}if(!n.length){let o=r&&py(r);if(o)return Ke&&console.log("Finish with "+this.stackID(o)),this.stackToTree(o);if(this.parser.strict)throw Ke&&r&&console.log("Stuck with token "+(this.tokens.mainToken?this.parser.getName(this.tokens.mainToken.value):"none")),new SyntaxError("No parse at "+t);this.recovering||(this.recovering=5)}if(this.recovering&&r){let o=this.stoppedAt!=null&&r[0].pos>this.stoppedAt?r[0]:this.runRecovery(r,s,n);if(o)return Ke&&console.log("Force-finish "+this.stackID(o)),this.stackToTree(o.forceAll())}if(this.recovering){let o=this.recovering==1?1:this.recovering*3;if(n.length>o)for(n.sort((a,l)=>l.score-a.score);n.length>o;)n.pop();n.some(a=>a.reducePos>t)&&this.recovering--}else if(n.length>1){e:for(let o=0;o500&&c.buffer.length>500)if((a.score-c.score||a.buffer.length-c.buffer.length)>0)n.splice(l--,1);else{n.splice(o--,1);continue e}}}n.length>12&&(n.sort((o,a)=>a.score-o.score),n.splice(12,n.length-12))}this.minStackPos=n[0].pos;for(let o=1;o ":"";if(this.stoppedAt!=null&&r>this.stoppedAt)return e.forceReduce()?e:null;if(this.fragments){let c=e.curContext&&e.curContext.tracker.strict,h=c?e.curContext.hash:0;for(let f=this.fragments.nodeAt(r);f;){let u=this.parser.nodeSet.types[f.type.id]==f.type?s.getGoto(e.state,f.type.id):-1;if(u>-1&&f.length&&(!c||(f.prop(I.contextHash)||0)==h))return e.useNode(f,u),Ke&&console.log(o+this.stackID(e)+` (via reuse of ${s.getName(f.type.id)})`),!0;if(!(f instanceof F)||f.children.length==0||f.positions[0]>0)break;let O=f.children[0];if(O instanceof F&&f.positions[0]==0)f=O;else break}}let a=s.stateSlot(e.state,4);if(a>0)return e.reduce(a),Ke&&console.log(o+this.stackID(e)+` (via always-reduce ${s.getName(a&65535)})`),!0;if(e.stack.length>=8400)for(;e.stack.length>6e3&&e.forceReduce(););let l=this.tokens.getActions(e);for(let c=0;cr?t.push(p):n.push(p)}return!1}advanceFully(e,t){let n=e.pos;for(;;){if(!this.advanceStack(e,null,null))return!1;if(e.pos>n)return tp(e,t),!0}}runRecovery(e,t,n){let r=null,s=!1;for(let o=0;o ":"";if(a.deadEnd&&(s||(s=!0,a.restart(),Ke&&console.log(h+this.stackID(a)+" (restarted)"),this.advanceFully(a,n))))continue;let f=a.split(),u=h;for(let O=0;O<10&&f.forceReduce()&&(Ke&&console.log(u+this.stackID(f)+" (via force-reduce)"),!this.advanceFully(f,n));O++)Ke&&(u=this.stackID(f)+" -> ");for(let O of a.recoverByInsert(l))Ke&&console.log(h+this.stackID(O)+" (via recover-insert)"),this.advanceFully(O,n);this.stream.end>a.pos?(c==a.pos&&(c++,l=0),a.recoverByDelete(l,c),Ke&&console.log(h+this.stackID(a)+` (via recover-delete ${this.parser.getName(l)})`),tp(a,n)):(!r||r.scorei,dt=class{constructor(e){this.start=e.start,this.shift=e.shift||ac,this.reduce=e.reduce||ac,this.reuse=e.reuse||ac,this.hash=e.hash||(()=>0),this.strict=e.strict!==!1}},Pe=class i extends It{constructor(e){if(super(),this.wrappers=[],e.version!=14)throw new RangeError(`Parser version (${e.version}) doesn't match runtime version (14)`);let t=e.nodeNames.split(" ");this.minRepeatTerm=t.length;for(let a=0;ae.topRules[a][1]),r=[];for(let a=0;a=0)s(h,l,a[c++]);else{let f=a[c+-h];for(let u=-h;u>0;u--)s(a[c++],l,f);c++}}}this.nodeSet=new Dt(t.map((a,l)=>Oe.define({name:l>=this.minRepeatTerm?void 0:a,id:l,props:r[l],top:n.indexOf(l)>-1,error:l==0,skipped:e.skippedNodes&&e.skippedNodes.indexOf(l)>-1}))),e.propSources&&(this.nodeSet=this.nodeSet.extend(...e.propSources)),this.strict=!1,this.bufferLength=1024;let o=xr(e.tokenData);this.context=e.context,this.specializerSpecs=e.specialized||[],this.specialized=new Uint16Array(this.specializerSpecs.length);for(let a=0;atypeof a=="number"?new Si(o,a):a),this.topRules=e.topRules,this.dialects=e.dialects||{},this.dynamicPrecedences=e.dynamicPrecedences||null,this.tokenPrecTable=e.tokenPrec,this.termNames=e.termNames||null,this.maxNode=this.nodeSet.types.length-1,this.dialect=this.parseDialect(),this.top=this.topRules[Object.keys(this.topRules)[0]]}createParse(e,t,n){let r=new dc(this,e,t,n);for(let s of this.wrappers)r=s(r,e,t,n);return r}getGoto(e,t,n=!1){let r=this.goto;if(t>=r[0])return-1;for(let s=r[t+1];;){let o=r[s++],a=o&1,l=r[s++];if(a&&n)return l;for(let c=s+(o>>1);s0}validAction(e,t){return!!this.allActions(e,n=>n==t?!0:null)}allActions(e,t){let n=this.stateSlot(e,4),r=n?t(n):void 0;for(let s=this.stateSlot(e,1);r==null;s+=3){if(this.data[s]==65535)if(this.data[s+1]==1)s=Ut(this.data,s+2);else break;r=t(Ut(this.data,s+1))}return r}nextStates(e){let t=[];for(let n=this.stateSlot(e,1);;n+=3){if(this.data[n]==65535)if(this.data[n+1]==1)n=Ut(this.data,n+2);else break;if((this.data[n+2]&1)==0){let r=this.data[n+1];t.some((s,o)=>o&1&&s==r)||t.push(this.data[n],r)}}return t}configure(e){let t=Object.assign(Object.create(i.prototype),this);if(e.props&&(t.nodeSet=this.nodeSet.extend(...e.props)),e.top){let n=this.topRules[e.top];if(!n)throw new RangeError(`Invalid top rule name ${e.top}`);t.top=n}return e.tokenizers&&(t.tokenizers=this.tokenizers.map(n=>{let r=e.tokenizers.find(s=>s.from==n);return r?r.to:n})),e.specializers&&(t.specializers=this.specializers.slice(),t.specializerSpecs=this.specializerSpecs.map((n,r)=>{let s=e.specializers.find(a=>a.from==n.external);if(!s)return n;let o=Object.assign(Object.assign({},n),{external:s.to});return t.specializers[r]=ip(o),o})),e.contextTracker&&(t.context=e.contextTracker),e.dialect&&(t.dialect=this.parseDialect(e.dialect)),e.strict!=null&&(t.strict=e.strict),e.wrap&&(t.wrappers=t.wrappers.concat(e.wrap)),e.bufferLength!=null&&(t.bufferLength=e.bufferLength),t}hasWrappers(){return this.wrappers.length>0}getName(e){return this.termNames?this.termNames[e]:String(e<=this.maxNode&&this.nodeSet.types[e].name||e)}get eofTerm(){return this.maxNode+1}get topNode(){return this.nodeSet.types[this.top[1]]}dynamicPrecedence(e){let t=this.dynamicPrecedences;return t==null?0:t[e]||0}parseDialect(e){let t=Object.keys(this.dialects),n=t.map(()=>!1);if(e)for(let s of e.split(" ")){let o=t.indexOf(s);o>=0&&(n[o]=!0)}let r=null;for(let s=0;sn)&&t.p.parser.stateFlag(t.state,2)&&(!e||e.scorei.external(t,n)<<1|e}return i.get}var my=55,gy=1,Qy=56,by=2,Sy=57,yy=3,rp=4,ky=5,Sc=6,up=7,Op=8,dp=9,pp=10,xy=11,wy=12,Py=13,mc=58,vy=14,$y=15,sp=59,mp=21,Ty=23,gp=24,Cy=25,Qc=27,Qp=28,Xy=29,_y=32,Ry=35,Ay=37,Zy=38,Ey=0,qy=1,zy={area:!0,base:!0,br:!0,col:!0,command:!0,embed:!0,frame:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0,menuitem:!0},Ly={dd:!0,li:!0,optgroup:!0,option:!0,p:!0,rp:!0,rt:!0,tbody:!0,td:!0,tfoot:!0,th:!0,tr:!0},op={dd:{dd:!0,dt:!0},dt:{dd:!0,dt:!0},li:{li:!0},option:{option:!0,optgroup:!0},optgroup:{optgroup:!0},p:{address:!0,article:!0,aside:!0,blockquote:!0,dir:!0,div:!0,dl:!0,fieldset:!0,footer:!0,form:!0,h1:!0,h2:!0,h3:!0,h4:!0,h5:!0,h6:!0,header:!0,hgroup:!0,hr:!0,menu:!0,nav:!0,ol:!0,p:!0,pre:!0,section:!0,table:!0,ul:!0},rp:{rp:!0,rt:!0},rt:{rp:!0,rt:!0},tbody:{tbody:!0,tfoot:!0},td:{td:!0,th:!0},tfoot:{tbody:!0},th:{td:!0,th:!0},thead:{tbody:!0,tfoot:!0},tr:{tr:!0}};function My(i){return i==45||i==46||i==58||i>=65&&i<=90||i==95||i>=97&&i<=122||i>=161}var ap=null,lp=null,cp=0;function bc(i,e){let t=i.pos+e;if(cp==t&&lp==i)return ap;let n=i.peek(e),r="";for(;My(n);)r+=String.fromCharCode(n),n=i.peek(++e);return lp=i,cp=t,ap=r?r.toLowerCase():n==Wy||n==jy?void 0:null}var bp=60,io=62,yc=47,Wy=63,jy=33,Vy=45;function hp(i,e){this.name=i,this.parent=e}var Dy=[Sc,pp,up,Op,dp],Yy=new dt({start:null,shift(i,e,t,n){return Dy.indexOf(e)>-1?new hp(bc(n,1)||"",i):i},reduce(i,e){return e==mp&&i?i.parent:i},reuse(i,e,t,n){let r=e.type.id;return r==Sc||r==Ay?new hp(bc(n,1)||"",i):i},strict:!1}),Iy=new J((i,e)=>{if(i.next!=bp){i.next<0&&e.context&&i.acceptToken(mc);return}i.advance();let t=i.next==yc;t&&i.advance();let n=bc(i,0);if(n===void 0)return;if(!n)return i.acceptToken(t?$y:vy);let r=e.context?e.context.name:null;if(t){if(n==r)return i.acceptToken(xy);if(r&&Ly[r])return i.acceptToken(mc,-2);if(e.dialectEnabled(Ey))return i.acceptToken(wy);for(let s=e.context;s;s=s.parent)if(s.name==n)return;i.acceptToken(Py)}else{if(n=="script")return i.acceptToken(up);if(n=="style")return i.acceptToken(Op);if(n=="textarea")return i.acceptToken(dp);if(zy.hasOwnProperty(n))return i.acceptToken(pp);r&&op[r]&&op[r][n]?i.acceptToken(mc,-1):i.acceptToken(Sc)}},{contextual:!0}),By=new J(i=>{for(let e=0,t=0;;t++){if(i.next<0){t&&i.acceptToken(sp);break}if(i.next==Vy)e++;else if(i.next==io&&e>=2){t>=3&&i.acceptToken(sp,-2);break}else e=0;i.advance()}});function Uy(i){for(;i;i=i.parent)if(i.name=="svg"||i.name=="math")return!0;return!1}var Gy=new J((i,e)=>{if(i.next==yc&&i.peek(1)==io){let t=e.dialectEnabled(qy)||Uy(e.context);i.acceptToken(t?ky:rp,2)}else i.next==io&&i.acceptToken(rp,1)});function kc(i,e,t){let n=2+i.length;return new J(r=>{for(let s=0,o=0,a=0;;a++){if(r.next<0){a&&r.acceptToken(e);break}if(s==0&&r.next==bp||s==1&&r.next==yc||s>=2&&so?r.acceptToken(e,-o):r.acceptToken(t,-(o-2));break}else if((r.next==10||r.next==13)&&a){r.acceptToken(e,1);break}else s=o=0;r.advance()}})}var Ny=kc("script",my,gy),Fy=kc("style",Qy,by),Hy=kc("textarea",Sy,yy),Ky=Qe({"Text RawText IncompleteTag IncompleteCloseTag":d.content,"StartTag StartCloseTag SelfClosingEndTag EndTag":d.angleBracket,TagName:d.tagName,"MismatchedCloseTag/TagName":[d.tagName,d.invalid],AttributeName:d.attributeName,"AttributeValue UnquotedAttributeValue":d.attributeValue,Is:d.definitionOperator,"EntityReference CharacterReference":d.character,Comment:d.blockComment,ProcessingInst:d.processingInstruction,DoctypeDecl:d.documentMeta}),Sp=Pe.deserialize({version:14,states:",xOVO!rOOO!ZQ#tO'#CrO!`Q#tO'#C{O!eQ#tO'#DOO!jQ#tO'#DRO!oQ#tO'#DTO!tOaO'#CqO#PObO'#CqO#[OdO'#CqO$kO!rO'#CqOOO`'#Cq'#CqO$rO$fO'#DUO$zQ#tO'#DWO%PQ#tO'#DXOOO`'#Dl'#DlOOO`'#DZ'#DZQVO!rOOO%UQ&rO,59^O%aQ&rO,59gO%lQ&rO,59jO%wQ&rO,59mO&SQ&rO,59oOOOa'#D_'#D_O&_OaO'#CyO&jOaO,59]OOOb'#D`'#D`O&rObO'#C|O&}ObO,59]OOOd'#Da'#DaO'VOdO'#DPO'bOdO,59]OOO`'#Db'#DbO'jO!rO,59]O'qQ#tO'#DSOOO`,59],59]OOOp'#Dc'#DcO'vO$fO,59pOOO`,59p,59pO(OQ#|O,59rO(TQ#|O,59sOOO`-E7X-E7XO(YQ&rO'#CtOOQW'#D['#D[O(hQ&rO1G.xOOOa1G.x1G.xOOO`1G/Z1G/ZO(sQ&rO1G/ROOOb1G/R1G/RO)OQ&rO1G/UOOOd1G/U1G/UO)ZQ&rO1G/XOOO`1G/X1G/XO)fQ&rO1G/ZOOOa-E7]-E7]O)qQ#tO'#CzOOO`1G.w1G.wOOOb-E7^-E7^O)vQ#tO'#C}OOOd-E7_-E7_O){Q#tO'#DQOOO`-E7`-E7`O*QQ#|O,59nOOOp-E7a-E7aOOO`1G/[1G/[OOO`1G/^1G/^OOO`1G/_1G/_O*VQ,UO,59`OOQW-E7Y-E7YOOOa7+$d7+$dOOO`7+$u7+$uOOOb7+$m7+$mOOOd7+$p7+$pOOO`7+$s7+$sO*bQ#|O,59fO*gQ#|O,59iO*lQ#|O,59lOOO`1G/Y1G/YO*qO7[O'#CwO+SOMhO'#CwOOQW1G.z1G.zOOO`1G/Q1G/QOOO`1G/T1G/TOOO`1G/W1G/WOOOO'#D]'#D]O+eO7[O,59cOOQW,59c,59cOOOO'#D^'#D^O+vOMhO,59cOOOO-E7Z-E7ZOOQW1G.}1G.}OOOO-E7[-E7[",stateData:",c~O!_OS~OUSOVPOWQOXROYTO[]O][O^^O_^Oa^Ob^Oc^Od^Oy^O|_O!eZO~OgaO~OgbO~OgcO~OgdO~OgeO~O!XfOPmP![mP~O!YiOQpP![pP~O!ZlORsP![sP~OUSOVPOWQOXROYTOZqO[]O][O^^O_^Oa^Ob^Oc^Od^Oy^O!eZO~O![rO~P#gO!]sO!fuO~OgvO~OgwO~OS|OT}OiyO~OS!POT}OiyO~OS!ROT}OiyO~OS!TOT}OiyO~OS}OT}OiyO~O!XfOPmX![mX~OP!WO![!XO~O!YiOQpX![pX~OQ!ZO![!XO~O!ZlORsX![sX~OR!]O![!XO~O![!XO~P#gOg!_O~O!]sO!f!aO~OS!bO~OS!cO~Oj!dOShXThXihX~OS!fOT!gOiyO~OS!hOT!gOiyO~OS!iOT!gOiyO~OS!jOT!gOiyO~OS!gOT!gOiyO~Og!kO~Og!lO~Og!mO~OS!nO~Ol!qO!a!oO!c!pO~OS!rO~OS!sO~OS!tO~Ob!uOc!uOd!uO!a!wO!b!uO~Ob!xOc!xOd!xO!c!wO!d!xO~Ob!uOc!uOd!uO!a!{O!b!uO~Ob!xOc!xOd!xO!c!{O!d!xO~OT~cbd!ey|!e~",goto:"%q!aPPPPPPPPPPPPPPPPPPPPP!b!hP!nPP!zP!}#Q#T#Z#^#a#g#j#m#s#y!bP!b!bP$P$V$m$s$y%P%V%]%cPPPPPPPP%iX^OX`pXUOX`pezabcde{!O!Q!S!UR!q!dRhUR!XhXVOX`pRkVR!XkXWOX`pRnWR!XnXXOX`pQrXR!XpXYOX`pQ`ORx`Q{aQ!ObQ!QcQ!SdQ!UeZ!e{!O!Q!S!UQ!v!oR!z!vQ!y!pR!|!yQgUR!VgQjVR!YjQmWR![mQpXR!^pQtZR!`tS_O`ToXp",nodeNames:"\u26A0 StartCloseTag StartCloseTag StartCloseTag EndTag SelfClosingEndTag StartTag StartTag StartTag StartTag StartTag StartCloseTag StartCloseTag StartCloseTag IncompleteTag IncompleteCloseTag Document Text EntityReference CharacterReference InvalidEntity Element OpenTag TagName Attribute AttributeName Is AttributeValue UnquotedAttributeValue ScriptText CloseTag OpenTag StyleText CloseTag OpenTag TextareaText CloseTag OpenTag CloseTag SelfClosingTag Comment ProcessingInst MismatchedCloseTag CloseTag DoctypeDecl",maxTerm:68,context:Yy,nodeProps:[["closedBy",-10,1,2,3,7,8,9,10,11,12,13,"EndTag",6,"EndTag SelfClosingEndTag",-4,22,31,34,37,"CloseTag"],["openedBy",4,"StartTag StartCloseTag",5,"StartTag",-4,30,33,36,38,"OpenTag"],["group",-10,14,15,18,19,20,21,40,41,42,43,"Entity",17,"Entity TextContent",-3,29,32,35,"TextContent Entity"],["isolate",-11,22,30,31,33,34,36,37,38,39,42,43,"ltr",-3,27,28,40,""]],propSources:[Ky],skippedNodes:[0],repeatNodeCount:9,tokenData:"!]tw8twx7Sx!P8t!P!Q5u!Q!]8t!]!^/^!^!a7S!a#S8t#S#T;{#T#s8t#s$f5u$f;'S8t;'S;=`>V<%l?Ah8t?Ah?BY5u?BY?Mn8t?MnO5u!Z5zblWOX5uXZ7SZ[5u[^7S^p5uqr5urs7Sst+Ptw5uwx7Sx!]5u!]!^7w!^!a7S!a#S5u#S#T7S#T;'S5u;'S;=`8n<%lO5u!R7VVOp7Sqs7St!]7S!]!^7l!^;'S7S;'S;=`7q<%lO7S!R7qOb!R!R7tP;=`<%l7S!Z8OYlWb!ROX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+P!Z8qP;=`<%l5u!_8{iiSlWOX5uXZ7SZ[5u[^7S^p5uqr8trs7Sst/^tw8twx7Sx!P8t!P!Q5u!Q!]8t!]!^:j!^!a7S!a#S8t#S#T;{#T#s8t#s$f5u$f;'S8t;'S;=`>V<%l?Ah8t?Ah?BY5u?BY?Mn8t?MnO5u!_:sbiSlWb!ROX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+P!VP<%l?Ah;{?Ah?BY7S?BY?Mn;{?MnO7S!V=dXiSb!Rqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0m!V>SP;=`<%l;{!_>YP;=`<%l8t!_>dhiSlWOX@OXZAYZ[@O[^AY^p@OqrBwrsAYswBwwxAYx!PBw!P!Q@O!Q!]Bw!]!^/^!^!aAY!a#SBw#S#TE{#T#sBw#s$f@O$f;'SBw;'S;=`HS<%l?AhBw?Ah?BY@O?BY?MnBw?MnO@O!Z@TalWOX@OXZAYZ[@O[^AY^p@Oqr@OrsAYsw@OwxAYx!]@O!]!^Az!^!aAY!a#S@O#S#TAY#T;'S@O;'S;=`Bq<%lO@O!RA]UOpAYq!]AY!]!^Ao!^;'SAY;'S;=`At<%lOAY!RAtOc!R!RAwP;=`<%lAY!ZBRYlWc!ROX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+P!ZBtP;=`<%l@O!_COhiSlWOX@OXZAYZ[@O[^AY^p@OqrBwrsAYswBwwxAYx!PBw!P!Q@O!Q!]Bw!]!^Dj!^!aAY!a#SBw#S#TE{#T#sBw#s$f@O$f;'SBw;'S;=`HS<%l?AhBw?Ah?BY@O?BY?MnBw?MnO@O!_DsbiSlWc!ROX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+P!VFQbiSOpAYqrE{rsAYswE{wxAYx!PE{!P!QAY!Q!]E{!]!^GY!^!aAY!a#sE{#s$fAY$f;'SE{;'S;=`G|<%l?AhE{?Ah?BYAY?BY?MnE{?MnOAY!VGaXiSc!Rqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0m!VHPP;=`<%lE{!_HVP;=`<%lBw!ZHcW!cxaP!b`Or(trs'ksv(tw!^(t!^!_)e!_;'S(t;'S;=`*P<%lO(t!aIYliSaPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx}-_}!OKQ!O!P-_!P!Q$q!Q!^-_!^!_*V!_!a&X!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q!aK_kiSaPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx!P-_!P!Q$q!Q!^-_!^!_*V!_!`&X!`!aMS!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q!TM_XaP!b`!dp!fQOr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&X!aNZ!ZiSgQaPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx}-_}!OMz!O!PMz!P!Q$q!Q![Mz![!]Mz!]!^-_!^!_*V!_!a&X!a!c-_!c!}Mz!}#R-_#R#SMz#S#T1k#T#oMz#o#s-_#s$f$q$f$}-_$}%OMz%O%W-_%W%oMz%o%p-_%p&aMz&a&b-_&b1pMz1p4UMz4U4dMz4d4e-_4e$ISMz$IS$I`-_$I`$IbMz$Ib$Je-_$Je$JgMz$Jg$Kh-_$Kh%#tMz%#t&/x-_&/x&EtMz&Et&FV-_&FV;'SMz;'S;:j!#|;:j;=`3X<%l?&r-_?&r?AhMz?Ah?BY$q?BY?MnMz?MnO$q!a!$PP;=`<%lMz!R!$ZY!b`!dpOq*Vqr!$yrs(Vsv*Vwx)ex!a*V!a!b!4t!b;'S*V;'S;=`*s<%lO*V!R!%Q]!b`!dpOr*Vrs(Vsv*Vwx)ex}*V}!O!%y!O!f*V!f!g!']!g#W*V#W#X!0`#X;'S*V;'S;=`*s<%lO*V!R!&QX!b`!dpOr*Vrs(Vsv*Vwx)ex}*V}!O!&m!O;'S*V;'S;=`*s<%lO*V!R!&vV!b`!dp!ePOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!'dX!b`!dpOr*Vrs(Vsv*Vwx)ex!q*V!q!r!(P!r;'S*V;'S;=`*s<%lO*V!R!(WX!b`!dpOr*Vrs(Vsv*Vwx)ex!e*V!e!f!(s!f;'S*V;'S;=`*s<%lO*V!R!(zX!b`!dpOr*Vrs(Vsv*Vwx)ex!v*V!v!w!)g!w;'S*V;'S;=`*s<%lO*V!R!)nX!b`!dpOr*Vrs(Vsv*Vwx)ex!{*V!{!|!*Z!|;'S*V;'S;=`*s<%lO*V!R!*bX!b`!dpOr*Vrs(Vsv*Vwx)ex!r*V!r!s!*}!s;'S*V;'S;=`*s<%lO*V!R!+UX!b`!dpOr*Vrs(Vsv*Vwx)ex!g*V!g!h!+q!h;'S*V;'S;=`*s<%lO*V!R!+xY!b`!dpOr!+qrs!,hsv!+qvw!-Swx!.[x!`!+q!`!a!/j!a;'S!+q;'S;=`!0Y<%lO!+qq!,mV!dpOv!,hvx!-Sx!`!,h!`!a!-q!a;'S!,h;'S;=`!.U<%lO!,hP!-VTO!`!-S!`!a!-f!a;'S!-S;'S;=`!-k<%lO!-SP!-kO|PP!-nP;=`<%l!-Sq!-xS!dp|POv(Vx;'S(V;'S;=`(h<%lO(Vq!.XP;=`<%l!,ha!.aX!b`Or!.[rs!-Ssv!.[vw!-Sw!`!.[!`!a!.|!a;'S!.[;'S;=`!/d<%lO!.[a!/TT!b`|POr)esv)ew;'S)e;'S;=`)y<%lO)ea!/gP;=`<%l!.[!R!/sV!b`!dp|POr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!0]P;=`<%l!+q!R!0gX!b`!dpOr*Vrs(Vsv*Vwx)ex#c*V#c#d!1S#d;'S*V;'S;=`*s<%lO*V!R!1ZX!b`!dpOr*Vrs(Vsv*Vwx)ex#V*V#V#W!1v#W;'S*V;'S;=`*s<%lO*V!R!1}X!b`!dpOr*Vrs(Vsv*Vwx)ex#h*V#h#i!2j#i;'S*V;'S;=`*s<%lO*V!R!2qX!b`!dpOr*Vrs(Vsv*Vwx)ex#m*V#m#n!3^#n;'S*V;'S;=`*s<%lO*V!R!3eX!b`!dpOr*Vrs(Vsv*Vwx)ex#d*V#d#e!4Q#e;'S*V;'S;=`*s<%lO*V!R!4XX!b`!dpOr*Vrs(Vsv*Vwx)ex#X*V#X#Y!+q#Y;'S*V;'S;=`*s<%lO*V!R!4{Y!b`!dpOr!4trs!5ksv!4tvw!6Vwx!8]x!a!4t!a!b!:]!b;'S!4t;'S;=`!;r<%lO!4tq!5pV!dpOv!5kvx!6Vx!a!5k!a!b!7W!b;'S!5k;'S;=`!8V<%lO!5kP!6YTO!a!6V!a!b!6i!b;'S!6V;'S;=`!7Q<%lO!6VP!6lTO!`!6V!`!a!6{!a;'S!6V;'S;=`!7Q<%lO!6VP!7QOyPP!7TP;=`<%l!6Vq!7]V!dpOv!5kvx!6Vx!`!5k!`!a!7r!a;'S!5k;'S;=`!8V<%lO!5kq!7yS!dpyPOv(Vx;'S(V;'S;=`(h<%lO(Vq!8YP;=`<%l!5ka!8bX!b`Or!8]rs!6Vsv!8]vw!6Vw!a!8]!a!b!8}!b;'S!8];'S;=`!:V<%lO!8]a!9SX!b`Or!8]rs!6Vsv!8]vw!6Vw!`!8]!`!a!9o!a;'S!8];'S;=`!:V<%lO!8]a!9vT!b`yPOr)esv)ew;'S)e;'S;=`)y<%lO)ea!:YP;=`<%l!8]!R!:dY!b`!dpOr!4trs!5ksv!4tvw!6Vwx!8]x!`!4t!`!a!;S!a;'S!4t;'S;=`!;r<%lO!4t!R!;]V!b`!dpyPOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!;uP;=`<%l!4t!V!{let c=a.type.id;if(c==Xy)return gc(a,l,t);if(c==_y)return gc(a,l,n);if(c==Ry)return gc(a,l,r);if(c==mp&&s.length){let h=a.node,f=h.firstChild,u=f&&fp(f,l),O;if(u){for(let p of s)if(p.tag==u&&(!p.attrs||p.attrs(O||(O=yp(f,l))))){let m=h.lastChild,b=m.type.id==Zy?m.from:h.to;if(b>f.to)return{parser:p.parser,overlay:[{from:f.to,to:b}]}}}}if(o&&c==gp){let h=a.node,f;if(f=h.firstChild){let u=o[l.read(f.from,f.to)];if(u)for(let O of u){if(O.tagName&&O.tagName!=fp(h.parent,l))continue;let p=h.lastChild;if(p.type.id==Qc){let m=p.from+1,b=p.lastChild,g=p.to-(b&&b.isError?0:1);if(g>m)return{parser:O.parser,overlay:[{from:m,to:g}],bracketed:!0}}else if(p.type.id==Qp)return{parser:O.parser,overlay:[{from:p.from,to:p.to}]}}}}return null})}var Jy=145,kp=1,ek=146,tk=147,wp=2,ik=148,nk=3,rk=4,Pp=[9,10,11,12,13,32,133,160,5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8232,8233,8239,8287,12288],sk=58,ok=40,vp=95,ak=91,no=45,lk=46,ck=35,hk=37,fk=38,uk=92,Ok=10,dk=42;function wr(i){return i>=65&&i<=90||i>=97&&i<=122||i>=161}function wc(i){return i>=48&&i<=57}function xp(i){return wc(i)||i>=97&&i<=102||i>=65&&i<=70}var $p=(i,e,t)=>(n,r)=>{for(let s=!1,o=0,a=0;;a++){let{next:l}=n;if(wr(l)||l==no||l==vp||s&&wc(l))!s&&(l!=no||a>0)&&(s=!0),o===a&&l==no&&o++,n.advance();else if(l==uk&&n.peek(1)!=Ok){if(n.advance(),xp(n.next)){do n.advance();while(xp(n.next));n.next==32&&n.advance()}else n.next>-1&&n.advance();s=!0}else{s&&n.acceptToken(o==2&&r.canShift(wp)?e:l==ok?t:i);break}}},pk=new J($p(ek,wp,tk),{contextual:!0}),mk=new J($p(ik,nk,rk),{contextual:!0}),gk=new J(i=>{if(Pp.includes(i.peek(-1))){let{next:e}=i;(wr(e)||e==vp||e==ck||e==lk||e==dk||e==ak||e==sk&&wr(i.peek(1))||e==no||e==fk)&&i.acceptToken(Jy)}}),Qk=new J(i=>{if(!Pp.includes(i.peek(-1))){let{next:e}=i;if(e==hk&&(i.advance(),i.acceptToken(kp)),wr(e)){do i.advance();while(wr(i.next)||wc(i.next));i.acceptToken(kp)}}}),bk=Qe({"AtKeyword import charset namespace keyframes media supports font-feature-values":d.definitionKeyword,"from to selector scope MatchFlag":d.keyword,NamespaceName:d.namespace,KeyframeName:d.labelName,KeyframeRangeName:d.operatorKeyword,TagName:d.tagName,ClassName:d.className,PseudoClassName:d.constant(d.className),IdName:d.labelName,"FeatureName PropertyName":d.propertyName,AttributeName:d.attributeName,NumberLiteral:d.number,KeywordQuery:d.keyword,UnaryQueryOp:d.operatorKeyword,"CallTag ValueName FontName":d.atom,VariableName:d.variableName,Callee:d.operatorKeyword,Unit:d.unit,"UniversalSelector NestingSelector":d.definitionOperator,"MatchOp CompareOp":d.compareOperator,"ChildOp SiblingOp, LogicOp":d.logicOperator,BinOp:d.arithmeticOperator,Important:d.modifier,Comment:d.blockComment,ColorLiteral:d.color,"ParenthesizedContent StringLiteral":d.string,":":d.punctuation,"PseudoOp #":d.derefOperator,"; , |":d.separator,"( )":d.paren,"[ ]":d.squareBracket,"{ }":d.brace}),Sk={__proto__:null,lang:44,"nth-child":44,"nth-last-child":44,"nth-of-type":44,"nth-last-of-type":44,dir:44,"host-context":44,if:90,url:152,"url-prefix":152,domain:152,regexp:152},yk={__proto__:null,or:104,and:104,not:112,only:112,layer:206},kk={__proto__:null,selector:118,style:124,layer:202},xk={__proto__:null,"@import":198,"@media":210,"@charset":214,"@namespace":218,"@keyframes":224,"@supports":236,"@scope":240,"@font-feature-values":246},wk={__proto__:null,to:243},Tp=Pe.deserialize({version:14,states:"MlQYQdOOO#}QdOOP$UO`OOO%OQaO'#CfOOQP'#Ce'#CeO%VQdO'#CgO%[Q`O'#CgO%aQaO'#FnO&XQdO'#CkO&xQaO'#CcO'SQdO'#CnO'_QdO'#EOO'dQdO'#EQO'oQdO'#EXO'oQdO'#E[OOQP'#Fn'#FnO)RQhO'#E}OOQS'#Fm'#FmOOQS'#FQ'#FQQYQdOOO)YQdO'#EbO*iQhO'#EhO)YQdO'#EjO*pQdO'#ElO*{QdO'#EoO)}QhO'#EuO+TQdO'#EwO+`QdO'#EzO+eQaO'#CfO+lQ`O'#E_O+qQ`O'#F{O+|QdO'#F{QOQ`OOP,WO&jO'#CaPOOO)CA])CA]OOQP'#Ci'#CiOOQP,59R,59RO%VQdO,59ROOQP'#Cm'#CmOOQP,59V,59VO&XQdO,59VO,cQdO,59YO'_QdO,5:jO'dQdO,5:lO'oQdO,5:sO'oQdO,5:uO'oQdO,5:vO'oQdO'#FXO,nQ`O,58}O,vQdO'#E^OOQS,58},58}OOQP'#Cq'#CqOOQO'#D|'#D|OOQP,59Y,59YO,}Q`O,59YO-SQ`O,59YOOQP'#EP'#EPOOQP,5:j,5:jO-XQpO'#ERO-dQdO'#ESO-iQ`O'#ESO-nQpO,5:lO.XQaO,5:sO.oQaO,5:vOOQW'#D^'#D^O/nQhO'#DgO0RQhO,5;iO)}QhO'#DeO0`Q`O'#DnO0eQhO'#DxOOQW'#Ft'#FtOOQS,5;i,5;iO0jQ`O'#DhO0oQ`O'#DkOOQS-E9O-E9OOOQ['#Cv'#CvO0tQdO'#CwO1[QdO'#C}O1rQdO'#DQO2YQ!pO'#DSO4fQ!jO,5:|OOQO'#DX'#DXO-SQ`O'#DWO4vQ!nO'#FqO6|Q`O'#DYO7RQ`O'#DyOOQ['#Fq'#FqO7WQhO'#GOO7fQ`O,5;SO7kQ!bO,5;UOOQS'#En'#EnO7sQ`O,5;WO7xQdO,5;WOOQO'#Eq'#EqO8QQ`O,5;ZO8VQhO,5;aO'oQdO'#DjOOQS,5;c,5;cO0jQ`O,5;cO8_QdO,5;cOOQS'#F`'#F`O8gQdO'#E|O7fQ`O,5;fO8oQdO,5:yO9PQdO'#FZO9^Q`O,5lQhO'#DoOOQW,5:Y,5:YOOQW,5:d,5:dOOQW,5:S,5:SO>vQhO,5:VO?bQ!fO'#FrOOQS'#Fr'#FrOOQS'#FS'#FSO@rQdO,59cOOQ[,59c,59cOAYQdO,59iOOQ[,59i,59iOApQdO,59lOOQ[,59l,59lOOQ[,59n,59nO)YQdO,59pOBWQhO'#EdOOQW'#Ed'#EdOBuQ`O1G0hO4oQhO1G0hOOQ[,59r,59rO)}QhO'#D[OOQ[,59t,59tOBzQ#tO,5:eOCVQhO'#F]OCdQ`O,5vQhO'#DmOI_QhO'#DqOIgQhO'#DsOIlQhO'#FwOOQO'#Fw'#FwOItQ!bO'#DwOOQO'#Fy'#FyOOQO'#Fv'#FvOIyQ`O1G/qOOQS-E9Q-E9QOOQ[1G.}1G.}OOQ[1G/T1G/TOOQ[1G/W1G/WOOQ[1G/[1G/[OJOQdO,5;OOOQS7+&S7+&SOJTQ`O7+&SOJYQhO'#D]OJbQ`O,59vO)}QhO,59vOOQ[1G0P1G0POJjQ`O1G0POJoQhO,5;wOOQO-E9Z-E9ZOOQS7+&^7+&^OJ}QbO'#DSOOQO'#Et'#EtOK]Q`O'#EsOOQO'#Es'#EsOKhQ`O'#F^OKpQdO,5;^OOQS,5;^,5;^OOQ[1G/p1G/pOOQS7+&i7+&iO7fQ`O7+&iOK{Q!fO'#FYO)YQdO'#FYOMSQdO7+&POOQO7+&P7+&POOQO,5:{,5:{OOQO1G1a1G1aOMgQ!bO<vQhO'#DrOOQO,5:],5:]O! hQhO,5:_OGUQhO,5:cOOQW7+%]7+%]OOQO'#Ef'#EfO! pQ`O1G0jOOQS<xAN>xO!#zQ`OAN>xO!$PQaO,5;rOOQO-E9U-E9UO!$ZQdO,5;qOOQO-E9T-E9TOOQW<vQhO'#DuOOQO1G/y1G/yO!%vQ!bO1G/}OJOQdO'#F[O!&OQ`O7+&UOOQW7+&U7+&UO!&WQ!bO1G/cOOQ[7+$|7+$|O!&cQhO7+$|P!&jQ`O'#FTOOQO,5;y,5;yOOQO-E9]-E9]OOQS1G1d1G1dOOQPG24dG24dO!&oQ`OAN>ZO)YQdO1G1[O!&tQ`O7+'jOOQO1G/x1G/xO!&|Q`O,5:aO!$eQhO7+%iOOQO,5;v,5;vOOQO-E9Y-E9YOOQW<Q!]!^>|!^!_?_!_!`@Z!`!a@n!a!b%Z!b!cAo!c!k%Z!k!lC|!l!u%Z!u!vC|!v!}%Z!}#OD_#O#P%Z#P#QDp#Q#R2X#R#]%Z#]#^ER#^#g%Z#g#hC|#h#o%Z#o#pIf#p#qIw#q#rJ`#r#sJq#s#y%Z#y#z&R#z$f%Z$f$g&R$g#BY%Z#BY#BZ&R#BZ$IS%Z$IS$I_&R$I_$I|%Z$I|$JO&R$JO$JT%Z$JT$JU&R$JU$KV%Z$KV$KW&R$KW&FU%Z&FU&FV&R&FV;'S%Z;'S;=`KY<%lO%Z`%^SOy%jz;'S%j;'S;=`%{<%lO%j`%oS!o`Oy%jz;'S%j;'S;=`%{<%lO%j`&OP;=`<%l%j~&Wh$[~OX%jX^'r^p%jpq'rqy%jz#y%j#y#z'r#z$f%j$f$g'r$g#BY%j#BY#BZ'r#BZ$IS%j$IS$I_'r$I_$I|%j$I|$JO'r$JO$JT%j$JT$JU'r$JU$KV%j$KV$KW'r$KW&FU%j&FU&FV'r&FV;'S%j;'S;=`%{<%lO%j~'yh$[~!o`OX%jX^'r^p%jpq'rqy%jz#y%j#y#z'r#z$f%j$f$g'r$g#BY%j#BY#BZ'r#BZ$IS%j$IS$I_'r$I_$I|%j$I|$JO'r$JO$JT%j$JT$JU'r$JU$KV%j$KV$KW'r$KW&FU%j&FU&FV'r&FV;'S%j;'S;=`%{<%lO%jj)jS$qYOy%jz;'S%j;'S;=`%{<%lO%j~)yWOY)vZr)vrs*cs#O)v#O#P*h#P;'S)v;'S;=`+d<%lO)v~*hOw~~*kRO;'S)v;'S;=`*t;=`O)v~*wXOY)vZr)vrs*cs#O)v#O#P*h#P;'S)v;'S;=`+d;=`<%l)v<%lO)v~+gP;=`<%l)vj+oYmYOy%jz!Q%j!Q![,_![!c%j!c!i,_!i#T%j#T#Z,_#Z;'S%j;'S;=`%{<%lO%jj,dY!o`Oy%jz!Q%j!Q![-S![!c%j!c!i-S!i#T%j#T#Z-S#Z;'S%j;'S;=`%{<%lO%jj-XY!o`Oy%jz!Q%j!Q![-w![!c%j!c!i-w!i#T%j#T#Z-w#Z;'S%j;'S;=`%{<%lO%jj.OYuY!o`Oy%jz!Q%j!Q![.n![!c%j!c!i.n!i#T%j#T#Z.n#Z;'S%j;'S;=`%{<%lO%jj.uYuY!o`Oy%jz!Q%j!Q![/e![!c%j!c!i/e!i#T%j#T#Z/e#Z;'S%j;'S;=`%{<%lO%jj/jY!o`Oy%jz!Q%j!Q![0Y![!c%j!c!i0Y!i#T%j#T#Z0Y#Z;'S%j;'S;=`%{<%lO%jj0aYuY!o`Oy%jz!Q%j!Q![1P![!c%j!c!i1P!i#T%j#T#Z1P#Z;'S%j;'S;=`%{<%lO%jj1UY!o`Oy%jz!Q%j!Q![1t![!c%j!c!i1t!i#T%j#T#Z1t#Z;'S%j;'S;=`%{<%lO%jj1{SuY!o`Oy%jz;'S%j;'S;=`%{<%lO%jd2[UOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%jd2uS!yS!o`Oy%jz;'S%j;'S;=`%{<%lO%jb3WS^QOy%jz;'S%j;'S;=`%{<%lO%j~3gWOY3dZw3dwx*cx#O3d#O#P4P#P;'S3d;'S;=`4{<%lO3d~4SRO;'S3d;'S;=`4];=`O3d~4`XOY3dZw3dwx*cx#O3d#O#P4P#P;'S3d;'S;=`4{;=`<%l3d<%lO3d~5OP;=`<%l3dj5WShYOy%jz;'S%j;'S;=`%{<%lO%j~5iOg~n5pUWQyWOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%jj6ZWyW#PQOy%jz!O%j!O!P6s!P!Q%j!Q![9x![;'S%j;'S;=`%{<%lO%jj6xU!o`Oy%jz!Q%j!Q![7[![;'S%j;'S;=`%{<%lO%jj7cY!o`$gYOy%jz!Q%j!Q![7[![!g%j!g!h8R!h#X%j#X#Y8R#Y;'S%j;'S;=`%{<%lO%jj8WY!o`Oy%jz{%j{|8v|}%j}!O8v!O!Q%j!Q![9_![;'S%j;'S;=`%{<%lO%jj8{U!o`Oy%jz!Q%j!Q![9_![;'S%j;'S;=`%{<%lO%jj9fU!o`$gYOy%jz!Q%j!Q![9_![;'S%j;'S;=`%{<%lO%jj:P[!o`$gYOy%jz!O%j!O!P7[!P!Q%j!Q![9x![!g%j!g!h8R!h#X%j#X#Y8R#Y;'S%j;'S;=`%{<%lO%jj:zS!dYOy%jz;'S%j;'S;=`%{<%lO%jj;]WyWOy%jz!O%j!O!P6s!P!Q%j!Q![9x![;'S%j;'S;=`%{<%lO%jj;zU`YOy%jz!Q%j!Q![7[![;'S%j;'S;=`%{<%lO%j~VUcYOy%jz![%j![!]>i!];'S%j;'S;=`%{<%lO%jj>pSdY!o`Oy%jz;'S%j;'S;=`%{<%lO%jj?RSnYOy%jz;'S%j;'S;=`%{<%lO%jh?dU!WWOy%jz!_%j!_!`?v!`;'S%j;'S;=`%{<%lO%jh?}S!WW!o`Oy%jz;'S%j;'S;=`%{<%lO%jl@bS!WW!ySOy%jz;'S%j;'S;=`%{<%lO%jj@uV!|Q!WWOy%jz!_%j!_!`?v!`!aA[!a;'S%j;'S;=`%{<%lO%jbAcS!|Q!o`Oy%jz;'S%j;'S;=`%{<%lO%jjArYOy%jz}%j}!OBb!O!c%j!c!}CP!}#T%j#T#oCP#o;'S%j;'S;=`%{<%lO%jjBgW!o`Oy%jz!c%j!c!}CP!}#T%j#T#oCP#o;'S%j;'S;=`%{<%lO%jjCW[lY!o`Oy%jz}%j}!OCP!O!Q%j!Q![CP![!c%j!c!}CP!}#T%j#T#oCP#o;'S%j;'S;=`%{<%lO%jhDRS!zWOy%jz;'S%j;'S;=`%{<%lO%jjDdSpYOy%jz;'S%j;'S;=`%{<%lO%jnDuSo^Oy%jz;'S%j;'S;=`%{<%lO%jjEWU!zWOy%jz#a%j#a#bEj#b;'S%j;'S;=`%{<%lO%jbEoU!o`Oy%jz#d%j#d#eFR#e;'S%j;'S;=`%{<%lO%jbFWU!o`Oy%jz#c%j#c#dFj#d;'S%j;'S;=`%{<%lO%jbFoU!o`Oy%jz#f%j#f#gGR#g;'S%j;'S;=`%{<%lO%jbGWU!o`Oy%jz#h%j#h#iGj#i;'S%j;'S;=`%{<%lO%jbGoU!o`Oy%jz#T%j#T#UHR#U;'S%j;'S;=`%{<%lO%jbHWU!o`Oy%jz#b%j#b#cHj#c;'S%j;'S;=`%{<%lO%jbHoU!o`Oy%jz#h%j#h#iIR#i;'S%j;'S;=`%{<%lO%jbIYS$pQ!o`Oy%jz;'S%j;'S;=`%{<%lO%jjIkSsYOy%jz;'S%j;'S;=`%{<%lO%jfI|U$cUOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%jjJeSrYOy%jz;'S%j;'S;=`%{<%lO%jfJvU#PQOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%j`K]P;=`<%l%Z",tokenizers:[gk,Qk,pk,mk,1,2,3,4,new yi("m~RRYZ[z{a~~g~aO$_~~dP!P!Qg~lO$`~~",28,152)],topRules:{StyleSheet:[0,6],Styles:[1,126]},dynamicPrecedences:{94:1},specialized:[{term:147,get:i=>Sk[i]||-1},{term:148,get:i=>yk[i]||-1},{term:4,get:i=>kk[i]||-1},{term:28,get:i=>xk[i]||-1},{term:146,get:i=>wk[i]||-1}],tokenPrec:2405});var Pc=null;function vc(){if(!Pc&&typeof document=="object"&&document.body){let{style:i}=document.body,e=[],t=new Set;for(let n in i)n!="cssText"&&n!="cssFloat"&&typeof i[n]=="string"&&(/[A-Z]/.test(n)&&(n=n.replace(/[A-Z]/g,r=>"-"+r.toLowerCase())),t.has(n)||(e.push(n),t.add(n)));Pc=e.sort().map(n=>({type:"property",label:n,apply:n+": "}))}return Pc||[]}var Cp=["active","after","any-link","autofill","backdrop","before","checked","cue","default","defined","disabled","empty","enabled","file-selector-button","first","first-child","first-letter","first-line","first-of-type","focus","focus-visible","focus-within","fullscreen","has","host","host-context","hover","in-range","indeterminate","invalid","is","lang","last-child","last-of-type","left","link","marker","modal","not","nth-child","nth-last-child","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","part","placeholder","placeholder-shown","read-only","read-write","required","right","root","scope","selection","slotted","target","target-text","valid","visited","where"].map(i=>({type:"class",label:i})),Xp=["above","absolute","activeborder","additive","activecaption","after-white-space","ahead","alias","all","all-scroll","alphabetic","alternate","always","antialiased","appworkspace","asterisks","attr","auto","auto-flow","avoid","avoid-column","avoid-page","avoid-region","axis-pan","background","backwards","baseline","below","bidi-override","blink","block","block-axis","bold","bolder","border","border-box","both","bottom","break","break-all","break-word","bullets","button","button-bevel","buttonface","buttonhighlight","buttonshadow","buttontext","calc","capitalize","caps-lock-indicator","caption","captiontext","caret","cell","center","checkbox","circle","cjk-decimal","clear","clip","close-quote","col-resize","collapse","color","color-burn","color-dodge","column","column-reverse","compact","condensed","contain","content","contents","content-box","context-menu","continuous","copy","counter","counters","cover","crop","cross","crosshair","currentcolor","cursive","cyclic","darken","dashed","decimal","decimal-leading-zero","default","default-button","dense","destination-atop","destination-in","destination-out","destination-over","difference","disc","discard","disclosure-closed","disclosure-open","document","dot-dash","dot-dot-dash","dotted","double","down","e-resize","ease","ease-in","ease-in-out","ease-out","element","ellipse","ellipsis","embed","end","ethiopic-abegede-gez","ethiopic-halehame-aa-er","ethiopic-halehame-gez","ew-resize","exclusion","expanded","extends","extra-condensed","extra-expanded","fantasy","fast","fill","fill-box","fixed","flat","flex","flex-end","flex-start","footnotes","forwards","from","geometricPrecision","graytext","grid","groove","hand","hard-light","help","hidden","hide","higher","highlight","highlighttext","horizontal","hsl","hsla","hue","icon","ignore","inactiveborder","inactivecaption","inactivecaptiontext","infinite","infobackground","infotext","inherit","initial","inline","inline-axis","inline-block","inline-flex","inline-grid","inline-table","inset","inside","intrinsic","invert","italic","justify","keep-all","landscape","large","larger","left","level","lighter","lighten","line-through","linear","linear-gradient","lines","list-item","listbox","listitem","local","logical","loud","lower","lower-hexadecimal","lower-latin","lower-norwegian","lowercase","ltr","luminosity","manipulation","match","matrix","matrix3d","medium","menu","menutext","message-box","middle","min-intrinsic","mix","monospace","move","multiple","multiple_mask_images","multiply","n-resize","narrower","ne-resize","nesw-resize","no-close-quote","no-drop","no-open-quote","no-repeat","none","normal","not-allowed","nowrap","ns-resize","numbers","numeric","nw-resize","nwse-resize","oblique","opacity","open-quote","optimizeLegibility","optimizeSpeed","outset","outside","outside-shape","overlay","overline","padding","padding-box","painted","page","paused","perspective","pinch-zoom","plus-darker","plus-lighter","pointer","polygon","portrait","pre","pre-line","pre-wrap","preserve-3d","progress","push-button","radial-gradient","radio","read-only","read-write","read-write-plaintext-only","rectangle","region","relative","repeat","repeating-linear-gradient","repeating-radial-gradient","repeat-x","repeat-y","reset","reverse","rgb","rgba","ridge","right","rotate","rotate3d","rotateX","rotateY","rotateZ","round","row","row-resize","row-reverse","rtl","run-in","running","s-resize","sans-serif","saturation","scale","scale3d","scaleX","scaleY","scaleZ","screen","scroll","scrollbar","scroll-position","se-resize","self-start","self-end","semi-condensed","semi-expanded","separate","serif","show","single","skew","skewX","skewY","skip-white-space","slide","slider-horizontal","slider-vertical","sliderthumb-horizontal","sliderthumb-vertical","slow","small","small-caps","small-caption","smaller","soft-light","solid","source-atop","source-in","source-out","source-over","space","space-around","space-between","space-evenly","spell-out","square","start","static","status-bar","stretch","stroke","stroke-box","sub","subpixel-antialiased","svg_masks","super","sw-resize","symbolic","symbols","system-ui","table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row","table-row-group","text","text-bottom","text-top","textarea","textfield","thick","thin","threeddarkshadow","threedface","threedhighlight","threedlightshadow","threedshadow","to","top","transform","translate","translate3d","translateX","translateY","translateZ","transparent","ultra-condensed","ultra-expanded","underline","unidirectional-pan","unset","up","upper-latin","uppercase","url","var","vertical","vertical-text","view-box","visible","visibleFill","visiblePainted","visibleStroke","visual","w-resize","wait","wave","wider","window","windowframe","windowtext","words","wrap","wrap-reverse","x-large","x-small","xor","xx-large","xx-small"].map(i=>({type:"keyword",label:i})).concat(["aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","grey","green","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen"].map(i=>({type:"constant",label:i}))),Pk=["a","abbr","address","article","aside","b","bdi","bdo","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","dd","del","details","dfn","dialog","div","dl","dt","em","figcaption","figure","footer","form","header","hgroup","h1","h2","h3","h4","h5","h6","hr","html","i","iframe","img","input","ins","kbd","label","legend","li","main","meter","nav","ol","output","p","pre","ruby","section","select","small","source","span","strong","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","tr","u","ul"].map(i=>({type:"type",label:i})),vk=["@charset","@color-profile","@container","@counter-style","@font-face","@font-feature-values","@font-palette-values","@import","@keyframes","@layer","@media","@namespace","@page","@position-try","@property","@scope","@starting-style","@supports","@view-transition"].map(i=>({type:"keyword",label:i})),Gt=/^(\w[\w-]*|-\w[\w-]*|)$/,$k=/^-(-[\w-]*)?$/;function Tk(i,e){var t;if((i.name=="("||i.type.isError)&&(i=i.parent||i),i.name!="ArgList")return!1;let n=(t=i.parent)===null||t===void 0?void 0:t.firstChild;return n?.name!="Callee"?!1:e.sliceString(n.from,n.to)=="var"}var _p=new di,Ck=["Declaration"];function Xk(i){for(let e=i;;){if(e.type.isTop)return e;if(!(e=e.parent))return i}}function Rp(i,e,t){if(e.to-e.from>4096){let n=_p.get(e);if(n)return n;let r=[],s=new Set,o=e.cursor(ee.IncludeAnonymous);if(o.firstChild())do for(let a of Rp(i,o.node,t))s.has(a.label)||(s.add(a.label),r.push(a));while(o.nextSibling());return _p.set(e,r),r}else{let n=[],r=new Set;return e.cursor().iterate(s=>{var o;if(t(s)&&s.matchContext(Ck)&&((o=s.node.nextSibling)===null||o===void 0?void 0:o.name)==":"){let a=i.sliceString(s.from,s.to);r.has(a)||(r.add(a),n.push({label:a,type:"variable"}))}}),n}}var _k=i=>e=>{let{state:t,pos:n}=e,r=U(t).resolveInner(n,-1),s=r.type.isError&&r.from==r.to-1&&t.doc.sliceString(r.from,r.to)=="-";if(r.name=="PropertyName"||(s||r.name=="TagName")&&/^(Block|Styles)$/.test(r.resolve(r.to).name))return{from:r.from,options:vc(),validFor:Gt};if(r.name=="ValueName")return{from:r.from,options:Xp,validFor:Gt};if(r.name=="PseudoClassName")return{from:r.from,options:Cp,validFor:Gt};if(i(r)||(e.explicit||s)&&Tk(r,t.doc))return{from:i(r)||s?r.from:n,options:Rp(t.doc,Xk(r),i),validFor:$k};if(r.name=="TagName"){for(let{parent:l}=r;l;l=l.parent)if(l.name=="Block")return{from:r.from,options:vc(),validFor:Gt};return{from:r.from,options:Pk,validFor:Gt}}if(r.name=="AtKeyword")return{from:r.from,options:vk,validFor:Gt};if(!e.explicit)return null;let o=r.resolve(n),a=o.childBefore(n);return a&&a.name==":"&&o.name=="PseudoClassSelector"?{from:n,options:Cp,validFor:Gt}:a&&a.name==":"&&o.name=="Declaration"||o.name=="ArgList"?{from:n,options:Xp,validFor:Gt}:o.name=="Block"||o.name=="Styles"?{from:n,options:vc(),validFor:Gt}:null},Rk=_k(i=>i.name=="VariableName"),Pr=$e.define({name:"css",parser:Tp.configure({props:[we.add({Declaration:Bt()}),Te.add({"Block KeyframeList":ht})]}),languageData:{commentTokens:{block:{open:"/*",close:"*/"}},indentOnInput:/^\s*\}$/,wordChars:"-"}});function ro(){return new me(Pr,Pr.data.of({autocomplete:Rk}))}var Ak=316,Zk=317,Ap=1,Ek=2,qk=3,zk=4,Lk=318,Mk=320,Wk=321,jk=5,Vk=6,Dk=0,Tc=[9,10,11,12,13,32,133,160,5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8232,8233,8239,8287,12288],Zp=125,Yk=59,Cc=47,Ik=42,Bk=43,Uk=45,Gk=60,Nk=44,Fk=63,Hk=46,Kk=91,Jk=new dt({start:!1,shift(i,e){return e==jk||e==Vk||e==Mk?i:e==Wk},strict:!1}),e1=new J((i,e)=>{let{next:t}=i;(t==Zp||t==-1||e.context)&&i.acceptToken(Lk)},{contextual:!0,fallback:!0}),t1=new J((i,e)=>{let{next:t}=i,n;Tc.indexOf(t)>-1||t==Cc&&((n=i.peek(1))==Cc||n==Ik)||t!=Zp&&t!=Yk&&t!=-1&&!e.context&&i.acceptToken(Ak)},{contextual:!0}),i1=new J((i,e)=>{i.next==Kk&&!e.context&&i.acceptToken(Zk)},{contextual:!0}),n1=new J((i,e)=>{let{next:t}=i;if(t==Bk||t==Uk){if(i.advance(),t==i.next){i.advance();let n=!e.context&&e.canShift(Ap);i.acceptToken(n?Ap:Ek)}}else t==Fk&&i.peek(1)==Hk&&(i.advance(),i.advance(),(i.next<48||i.next>57)&&i.acceptToken(qk))},{contextual:!0});function $c(i,e){return i>=65&&i<=90||i>=97&&i<=122||i==95||i>=192||!e&&i>=48&&i<=57}var r1=new J((i,e)=>{if(i.next!=Gk||!e.dialectEnabled(Dk)||(i.advance(),i.next==Cc))return;let t=0;for(;Tc.indexOf(i.next)>-1;)i.advance(),t++;if($c(i.next,!0)){for(i.advance(),t++;$c(i.next,!1);)i.advance(),t++;for(;Tc.indexOf(i.next)>-1;)i.advance(),t++;if(i.next==Nk)return;for(let n=0;;n++){if(n==7){if(!$c(i.next,!0))return;break}if(i.next!="extends".charCodeAt(n))break;i.advance(),t++}}i.acceptToken(zk,-t)}),s1=Qe({"get set async static":d.modifier,"for while do if else switch try catch finally return throw break continue default case defer":d.controlKeyword,"in of await yield void typeof delete instanceof as satisfies":d.operatorKeyword,"let var const using function class extends":d.definitionKeyword,"import export from":d.moduleKeyword,"with debugger new":d.keyword,TemplateString:d.special(d.string),super:d.atom,BooleanLiteral:d.bool,this:d.self,null:d.null,Star:d.modifier,VariableName:d.variableName,"CallExpression/VariableName TaggedTemplateExpression/VariableName":d.function(d.variableName),VariableDefinition:d.definition(d.variableName),Label:d.labelName,PropertyName:d.propertyName,PrivatePropertyName:d.special(d.propertyName),"CallExpression/MemberExpression/PropertyName":d.function(d.propertyName),"FunctionDeclaration/VariableDefinition":d.function(d.definition(d.variableName)),"ClassDeclaration/VariableDefinition":d.definition(d.className),"NewExpression/VariableName":d.className,PropertyDefinition:d.definition(d.propertyName),PrivatePropertyDefinition:d.definition(d.special(d.propertyName)),UpdateOp:d.updateOperator,"LineComment Hashbang":d.lineComment,BlockComment:d.blockComment,Number:d.number,String:d.string,Escape:d.escape,ArithOp:d.arithmeticOperator,LogicOp:d.logicOperator,BitOp:d.bitwiseOperator,CompareOp:d.compareOperator,RegExp:d.regexp,Equals:d.definitionOperator,Arrow:d.function(d.punctuation),": Spread":d.punctuation,"( )":d.paren,"[ ]":d.squareBracket,"{ }":d.brace,"InterpolationStart InterpolationEnd":d.special(d.brace),".":d.derefOperator,", ;":d.separator,"@":d.meta,TypeName:d.typeName,TypeDefinition:d.definition(d.typeName),"type enum interface implements namespace module declare":d.definitionKeyword,"abstract global Privacy readonly override":d.modifier,"is keyof unique infer asserts":d.operatorKeyword,JSXAttributeValue:d.attributeValue,JSXText:d.content,"JSXStartTag JSXStartCloseTag JSXSelfCloseEndTag JSXEndTag":d.angleBracket,"JSXIdentifier JSXNameSpacedName":d.tagName,"JSXAttribute/JSXIdentifier JSXAttribute/JSXNameSpacedName":d.attributeName,"JSXBuiltin/JSXIdentifier":d.standard(d.tagName)}),o1={__proto__:null,export:20,as:25,from:33,default:36,async:41,function:42,in:52,out:55,const:56,extends:60,this:64,true:72,false:72,null:84,void:88,typeof:92,super:108,new:142,delete:154,yield:163,await:167,class:172,public:235,private:235,protected:235,readonly:237,instanceof:256,satisfies:259,import:292,keyof:349,unique:353,infer:359,asserts:395,is:397,abstract:417,implements:419,type:421,let:424,var:426,using:429,interface:435,enum:439,namespace:445,module:447,declare:451,global:455,defer:471,for:476,of:485,while:488,with:492,do:496,if:500,else:502,switch:506,case:512,try:518,catch:522,finally:526,return:530,throw:534,break:538,continue:542,debugger:546},a1={__proto__:null,async:129,get:131,set:133,declare:195,public:197,private:197,protected:197,static:199,abstract:201,override:203,readonly:209,accessor:211,new:401},l1={__proto__:null,"<":193},Ep=Pe.deserialize({version:14,states:"$F|Q%TQlOOO%[QlOOO'_QpOOP(lO`OOO*zQ!0MxO'#CiO+RO#tO'#CjO+aO&jO'#CjO+oO#@ItO'#DaO.QQlO'#DgO.bQlO'#DrO%[QlO'#DzO0fQlO'#ESOOQ!0Lf'#E['#E[O1PQ`O'#EXOOQO'#Ep'#EpOOQO'#Il'#IlO1XQ`O'#GsO1dQ`O'#EoO1iQ`O'#EoO3hQ!0MxO'#JrO6[Q!0MxO'#JsO6uQ`O'#F]O6zQ,UO'#FtOOQ!0Lf'#Ff'#FfO7VO7dO'#FfO9XQMhO'#F|O9`Q`O'#F{OOQ!0Lf'#Js'#JsOOQ!0Lb'#Jr'#JrO9eQ`O'#GwOOQ['#K_'#K_O9pQ`O'#IYO9uQ!0LrO'#IZOOQ['#J`'#J`OOQ['#I_'#I_Q`QlOOQ`QlOOO9}Q!L^O'#DvO:UQlO'#EOO:]QlO'#EQO9kQ`O'#GsO:dQMhO'#CoO:rQ`O'#EnO:}Q`O'#EyO;hQMhO'#FeO;xQ`O'#GsOOQO'#K`'#K`O;}Q`O'#K`O<]Q`O'#G{O<]Q`O'#G|O<]Q`O'#HOO9kQ`O'#HRO=SQ`O'#HUO>kQ`O'#CeO>{Q`O'#HcO?TQ`O'#HiO?TQ`O'#HkO`QlO'#HmO?TQ`O'#HoO?TQ`O'#HrO?YQ`O'#HxO?_Q!0LsO'#IOO%[QlO'#IQO?jQ!0LsO'#ISO?uQ!0LsO'#IUO9uQ!0LrO'#IWO@QQ!0MxO'#CiOASQpO'#DlQOQ`OOO%[QlO'#EQOAjQ`O'#ETO:dQMhO'#EnOAuQ`O'#EnOBQQ!bO'#FeOOQ['#Cg'#CgOOQ!0Lb'#Dq'#DqOOQ!0Lb'#Jv'#JvO%[QlO'#JvOOQO'#Jy'#JyOOQO'#Ih'#IhOCQQpO'#EgOOQ!0Lb'#Ef'#EfOOQ!0Lb'#J}'#J}OC|Q!0MSO'#EgODWQpO'#EWOOQO'#Jx'#JxODlQpO'#JyOEyQpO'#EWODWQpO'#EgPFWO&2DjO'#CbPOOO)CD})CD}OOOO'#I`'#I`OFcO#tO,59UOOQ!0Lh,59U,59UOOOO'#Ia'#IaOFqO&jO,59UOGPQ!L^O'#DcOOOO'#Ic'#IcOGWO#@ItO,59{OOQ!0Lf,59{,59{OGfQlO'#IdOGyQ`O'#JtOIxQ!fO'#JtO+}QlO'#JtOJPQ`O,5:ROJgQ`O'#EpOJtQ`O'#KTOKPQ`O'#KSOKPQ`O'#KSOKXQ`O,5;^OK^Q`O'#KROOQ!0Ln,5:^,5:^OKeQlO,5:^OMcQ!0MxO,5:fONSQ`O,5:nONmQ!0LrO'#KQONtQ`O'#KPO9eQ`O'#KPO! YQ`O'#KPO! bQ`O,5;]O! gQ`O'#KPO!#lQ!fO'#JsOOQ!0Lh'#Ci'#CiO%[QlO'#ESO!$[Q!fO,5:sOOQS'#Jz'#JzOOQO-EtOOQ['#Jh'#JhOOQ[,5>u,5>uOOQ[-E<]-E<]O!TO`QlO,5>VO!LOQ`O,5>XO`QlO,5>ZO!LTQ`O,5>^O!LYQlO,5>dOOQ[,5>j,5>jO%[QlO,5>jO9uQ!0LrO,5>lOOQ[,5>n,5>nO#!dQ`O,5>nOOQ[,5>p,5>pO#!dQ`O,5>pOOQ[,5>r,5>rO##QQpO'#D_O%[QlO'#JvO##sQpO'#JvO##}QpO'#DmO#$`QpO'#DmO#&qQlO'#DmO#&xQ`O'#JuO#'QQ`O,5:WO#'VQ`O'#EtO#'eQ`O'#KUO#'mQ`O,5;_O#'rQpO'#DmO#(PQpO'#EVOOQ!0Lf,5:o,5:oO%[QlO,5:oO#(WQ`O,5:oO?YQ`O,5;YO!CUQpO,5;YO!C^QMhO,5;YO:dQMhO,5;YO#(`Q`O,5@bO#(eQ07dO,5:sOOQO-EPO$6^Q`O,5>POOQ[1G3i1G3iO`QlO1G3iOOQ[1G3o1G3oOOQ[1G3q1G3qO?TQ`O1G3sO$6cQlO1G3uO$:gQlO'#HtOOQ[1G3x1G3xO$:tQ`O'#HzO?YQ`O'#H|OOQ[1G4O1G4OO$:|QlO1G4OO9uQ!0LrO1G4UOOQ[1G4W1G4WOOQ!0Lb'#G_'#G_O9uQ!0LrO1G4YO9uQ!0LrO1G4[O$?TQ`O,5@bO!)[QlO,5;`O9eQ`O,5;`O?YQ`O,5:XO!)[QlO,5:XO!CUQpO,5:XO$?YQ?MtO,5:XOOQO,5;`,5;`O$?dQpO'#IeO$?zQ`O,5@aOOQ!0Lf1G/r1G/rO$@SQpO'#IkO$@^Q`O,5@pOOQ!0Lb1G0y1G0yO#$`QpO,5:XOOQO'#Ig'#IgO$@fQpO,5:qOOQ!0Ln,5:q,5:qO#(ZQ`O1G0ZOOQ!0Lf1G0Z1G0ZO%[QlO1G0ZOOQ!0Lf1G0t1G0tO?YQ`O1G0tO!CUQpO1G0tO!C^QMhO1G0tOOQ!0Lb1G5|1G5|O!ByQ!0LrO1G0^OOQO1G0m1G0mO%[QlO1G0mO$@mQ!0LrO1G0mO$@xQ!0LrO1G0mO!CUQpO1G0^ODWQpO1G0^O$AWQ!0LrO1G0mOOQO1G0^1G0^O$AlQ!0MxO1G0mPOOO-E<[-E<[POOO1G.h1G.hOOOO1G/i1G/iO$AvQ!bO,5QQpO,5@}OOQ!0Lb1G3c1G3cOOQ[7+$V7+$VO@zQ`O7+$VO9uQ!0LrO7+$VO%>]Q`O7+$VO%[QlO1G6lO%[QlO1G6mO%>bQ!0LrO1G6lO%>lQlO1G3kO%>sQ`O1G3kO%>xQlO1G3kOOQ[7+)T7+)TO9uQ!0LrO7+)_O`QlO7+)aOOQ['#Kh'#KhOOQ['#JS'#JSO%?PQlO,5>`OOQ[,5>`,5>`O%[QlO'#HuO%?^Q`O'#HwOOQ[,5>f,5>fO9eQ`O,5>fOOQ[,5>h,5>hOOQ[7+)j7+)jOOQ[7+)p7+)pOOQ[7+)t7+)tOOQ[7+)v7+)vO%?cQpO1G5|O%?}Q?MtO1G0zO%@XQ`O1G0zOOQO1G/s1G/sO%@dQ?MtO1G/sO?YQ`O1G/sO!)[QlO'#DmOOQO,5?P,5?POOQO-ERQ`O7+,WO&>WQ`O7+,XO%[QlO7+,WO%[QlO7+,XOOQ[7+)V7+)VO&>]Q`O7+)VO&>bQlO7+)VO&>iQ`O7+)VOOQ[<nQ`O,5>aOOQ[,5>c,5>cO&>sQ`O1G4QO9eQ`O7+&fO!)[QlO7+&fOOQO7+%_7+%_O&>xQ?MtO1G6ZO?YQ`O7+%_OOQ!0Lf<yQ?MvO,5?aO'@|Q?MvO,5?cO'CPQ?MvO7+'|O'DuQMjOG27TOOQO<VO!l$xO#jROe!iOpkOrPO(T)]O(VTO(YUO(aVO(o[O~O!]$_Oa$qa'z$qa'w$qa!k$qa!Y$qa!_$qa%i$qa!g$qa~Ol)dO~P!&zOh%VOp%WOr%XOs$tOt$tOz%YO|%ZO!O%]O!S${O!_$|O!i%bO!l$xO#j%cO$W%`O$t%^O$v%_O$y%aO(T(vO(VTO(YUO(a$uO(y$}O(z%PO~Og(pP~P!,TO!Q)iO!g)hO!_$^X$Z$^X$]$^X$_$^X$f$^X~O!g)hO!_({X$Z({X$]({X$_({X$f({X~O!Q)iO~P!.^O!Q)iO!_({X$Z({X$]({X$_({X$f({X~O!_)kO$Z)oO$])jO$_)jO$f)pO~O![)sO~P!)[O$]$hO$_$gO$f)wO~On$zX!Q$zX#S$zX'y$zX(y$zX(z$zX~OgmXg$zXnmX!]mX#`mX~P!0SOx)yO(b)zO(c)|O~On*VO!Q*OO'y*PO(y$}O(z%PO~Og)}O~P!1WOg*WO~Oh%VOr%XOs$tOt$tOz%YO|%ZO!OVO!l$xO#jVO!l$xO#jROe!iOpkOrPO(VTO(YUO(aVO(o[O~O(T=QO~P#$qO!]-]O!^(iX~O!^-_O~O!g-VO#`-UO!]#hX!^#hX~O!]-`O!^(xX~O!^-bO~O!c-cO!d-cO(U!lO~P#$`O!^-fO~P'_On-iO!_'`O~O!Y-nO~Os!{a!b!{a!c!{a!d!{a#T!{a#U!{a#V!{a#W!{a#X!{a#[!{a#]!{a(U!{a(V!{a(Y!{a(e!{a(o!{a~P!#vO!p-sO#`-qO~PChO!c-uO!d-uO(U!lO~PDWOa%nO#`-qO'z%nO~Oa%nO!g#vO#`-qO'z%nO~Oa%nO!g#vO!p-sO#`-qO'z%nO(r'pO~O(P'xO(Q'xO(R-zO~Ov-{O~O!Y'Wa!]'Wa~P!:tO![.PO!Y'WX!]'WX~P%[O!](VO!Y(ha~O!Y(ha~PHRO!](^O!Y(va~O!S%hO![.TO!_%iO(T%gO!Y'^X!]'^X~O#`.VO!](ta!k(taa(ta'z(ta~O!g#vO~P#,wO!](jO!k(sa~O!S%hO!_%iO#j.ZO(T%gO~Op.`O!S%hO![.]O!_%iO!|]O#i._O#j.]O(T%gO!]'aX!k'aX~OR.dO!l#xO~Oh%VOn.gO!_'`O%i.fO~Oa#ci!]#ci'z#ci'w#ci!Y#ci!k#civ#ci!_#ci%i#ci!g#ci~P!:tOn>]O!Q*OO'y*PO(y$}O(z%PO~O#k#_aa#_a#`#_a'z#_a!]#_a!k#_a!_#_a!Y#_a~P#/sO#k(`XP(`XR(`X[(`Xa(`Xj(`Xr(`X!S(`X!l(`X!p(`X#R(`X#n(`X#o(`X#p(`X#q(`X#r(`X#s(`X#t(`X#u(`X#v(`X#x(`X#z(`X#{(`X'z(`X(a(`X(r(`X!k(`X!Y(`X'w(`Xv(`X!_(`X%i(`X!g(`X~P!6kO!].tO!k(kX~P!:tO!k.wO~O!Y.yO~OP$[OR#zO!Q#yO!S#{O!l#xO!p$[O(aVO[#mia#mij#mir#mi!]#mi#R#mi#o#mi#p#mi#q#mi#r#mi#s#mi#t#mi#u#mi#v#mi#x#mi#z#mi#{#mi'z#mi(r#mi(y#mi(z#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#n#mi~P#3cO#n$OO~P#3cOP$[OR#zOr$aO!Q#yO!S#{O!l#xO!p$[O#n$OO#o$PO#p$PO#q$PO(aVO[#mia#mij#mi!]#mi#R#mi#s#mi#t#mi#u#mi#v#mi#x#mi#z#mi#{#mi'z#mi(r#mi(y#mi(z#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#r#mi~P#6QO#r$QO~P#6QOP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO(aVOa#mi!]#mi#x#mi#z#mi#{#mi'z#mi(r#mi(y#mi(z#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#v#mi~P#8oOP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO#v$SO(aVO(z#}Oa#mi!]#mi#z#mi#{#mi'z#mi(r#mi(y#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#x$UO~P#;VO#x#mi~P#;VO#v$SO~P#8oOP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO#v$SO#x$UO(aVO(y#|O(z#}Oa#mi!]#mi#{#mi'z#mi(r#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#z#mi~P#={O#z$WO~P#={OP]XR]X[]Xj]Xr]X!Q]X!S]X!l]X!p]X#R]X#S]X#`]X#kfX#n]X#o]X#p]X#q]X#r]X#s]X#t]X#u]X#v]X#x]X#z]X#{]X$Q]X(a]X(r]X(y]X(z]X!]]X!^]X~O$O]X~P#@jOP$[OR#zO[]O!Q*OO'y*PO(y$}O(z%POP#miR#mi!S#mi!l#mi!p#mi#n#mi#o#mi#p#mi#q#mi(a#mi~P#EyO!]/POg(pX~P!1WOg/RO~Oa$Pi!]$Pi'z$Pi'w$Pi!Y$Pi!k$Piv$Pi!_$Pi%i$Pi!g$Pi~P!:tO$]/SO$_/SO~O$]/TO$_/TO~O!g)hO#`/UO!_$cX$Z$cX$]$cX$_$cX$f$cX~O![/VO~O!_)kO$Z/XO$])jO$_)jO$f/YO~O!]VO!l$xO#j^O!Q*OO'y*PO(y$}O(z%POP#miR#mi!S#mi!l#mi!p#mi#n#mi#o#mi#p#mi#q#mi(a#mi~P&,QO#S$dOP(`XR(`X[(`Xj(`Xn(`Xr(`X!Q(`X!S(`X!l(`X!p(`X#R(`X#n(`X#o(`X#p(`X#q(`X#r(`X#s(`X#t(`X#u(`X#v(`X#x(`X#z(`X#{(`X$O(`X'y(`X(a(`X(r(`X(y(`X(z(`X!](`X!^(`X~O$O$Pi!]$Pi!^$Pi~P#BwO$O!ri!^!ri~P$+oOg']a!]']a~P!1WO!^7nO~O!]'da!^'da~P#BwO!Y7oO~P#/sO!g#vO(r'pO!]'ea!k'ea~O!]/pO!k)Oi~O!]/pO!g#vO!k)Oi~Og$|q!]$|q#`$|q$O$|q~P!1WO!Y'ga!]'ga~P#/sO!g7vO~O!]/yO!Y)Pi~P#/sO!]/yO!Y)Pi~O!Y7yO~Oh%VOr8OO!l%eO(r'pO~Oj8QO!g#vO~Or8TO!g#vO(r'pO~O!Q*OO'y*PO(z%POn'ja(y'ja!]'ja#`'ja~Og'ja$O'ja~P&5RO!Q*OO'y*POn'la(y'la(z'la!]'la#`'la~Og'la$O'la~P&5tOg(_q!](_q~P!1WO#`8VOg(_q!](_q~P!1WO!Y8WO~Og%Oq!]%Oq#`%Oq$O%Oq~P!1WOa$oy!]$oy'z$oy'w$oy!Y$oy!k$oyv$oy!_$oy%i$oy!g$oy~P!:tO!g6rO~O!]5[O!_)Qa~O!_'`OP$TaR$Ta[$Taj$Tar$Ta!Q$Ta!S$Ta!]$Ta!l$Ta!p$Ta#R$Ta#n$Ta#o$Ta#p$Ta#q$Ta#r$Ta#s$Ta#t$Ta#u$Ta#v$Ta#x$Ta#z$Ta#{$Ta(a$Ta(r$Ta(y$Ta(z$Ta~O%i7WO~P&8fO%^8[Oa%[i!_%[i'z%[i!]%[i~Oa#cy!]#cy'z#cy'w#cy!Y#cy!k#cyv#cy!_#cy%i#cy!g#cy~P!:tO[8^O~Ob8`O(T+qO(VTO(YUO~O!]1TO!^)Xi~O`8dO~O(e(|O!]'pX!^'pX~O!]5uO!^)Ua~O!^8nO~P%;eO(o!sO~P$&YO#[8oO~O!_1oO~O!_1oO%i8qO~On8tO!_1oO%i8qO~O[8yO!]'sa!^'sa~O!]1zO!^)Vi~O!k8}O~O!k9OO~O!k9RO~O!k9RO~P%[Oa9TO~O!g9UO~O!k9VO~O!](wi!^(wi~P#BwOa%nO#`9_O'z%nO~O!](ty!k(tya(ty'z(ty~P!:tO!](jO!k(sy~O%i9bO~P&8fO!_'`O%i9bO~O#k$|qP$|qR$|q[$|qa$|qj$|qr$|q!S$|q!]$|q!l$|q!p$|q#R$|q#n$|q#o$|q#p$|q#q$|q#r$|q#s$|q#t$|q#u$|q#v$|q#x$|q#z$|q#{$|q'z$|q(a$|q(r$|q!k$|q!Y$|q'w$|q#`$|qv$|q!_$|q%i$|q!g$|q~P#/sO#k'jaP'jaR'ja['jaa'jaj'jar'ja!S'ja!l'ja!p'ja#R'ja#n'ja#o'ja#p'ja#q'ja#r'ja#s'ja#t'ja#u'ja#v'ja#x'ja#z'ja#{'ja'z'ja(a'ja(r'ja!k'ja!Y'ja'w'jav'ja!_'ja%i'ja!g'ja~P&5RO#k'laP'laR'la['laa'laj'lar'la!S'la!l'la!p'la#R'la#n'la#o'la#p'la#q'la#r'la#s'la#t'la#u'la#v'la#x'la#z'la#{'la'z'la(a'la(r'la!k'la!Y'la'w'lav'la!_'la%i'la!g'la~P&5tO#k%OqP%OqR%Oq[%Oqa%Oqj%Oqr%Oq!S%Oq!]%Oq!l%Oq!p%Oq#R%Oq#n%Oq#o%Oq#p%Oq#q%Oq#r%Oq#s%Oq#t%Oq#u%Oq#v%Oq#x%Oq#z%Oq#{%Oq'z%Oq(a%Oq(r%Oq!k%Oq!Y%Oq'w%Oq#`%Oqv%Oq!_%Oq%i%Oq!g%Oq~P#/sO!]'Yi!k'Yi~P!:tO$O#cq!]#cq!^#cq~P#BwO(y$}OP%aaR%aa[%aaj%aar%aa!S%aa!l%aa!p%aa#R%aa#n%aa#o%aa#p%aa#q%aa#r%aa#s%aa#t%aa#u%aa#v%aa#x%aa#z%aa#{%aa$O%aa(a%aa(r%aa!]%aa!^%aa~On%aa!Q%aa'y%aa(z%aa~P&IyO(z%POP%caR%ca[%caj%car%ca!S%ca!l%ca!p%ca#R%ca#n%ca#o%ca#p%ca#q%ca#r%ca#s%ca#t%ca#u%ca#v%ca#x%ca#z%ca#{%ca$O%ca(a%ca(r%ca!]%ca!^%ca~On%ca!Q%ca'y%ca(y%ca~P&LQOn>^O!Q*OO'y*PO(z%PO~P&IyOn>^O!Q*OO'y*PO(y$}O~P&LQOR0kO!Q0kO!S0lO#S$dOP}a[}aj}an}ar}a!l}a!p}a#R}a#n}a#o}a#p}a#q}a#r}a#s}a#t}a#u}a#v}a#x}a#z}a#{}a$O}a'y}a(a}a(r}a(y}a(z}a!]}a!^}a~O!Q*OO'y*POP$saR$sa[$saj$san$sar$sa!S$sa!l$sa!p$sa#R$sa#n$sa#o$sa#p$sa#q$sa#r$sa#s$sa#t$sa#u$sa#v$sa#x$sa#z$sa#{$sa$O$sa(a$sa(r$sa(y$sa(z$sa!]$sa!^$sa~O!Q*OO'y*POP$uaR$ua[$uaj$uan$uar$ua!S$ua!l$ua!p$ua#R$ua#n$ua#o$ua#p$ua#q$ua#r$ua#s$ua#t$ua#u$ua#v$ua#x$ua#z$ua#{$ua$O$ua(a$ua(r$ua(y$ua(z$ua!]$ua!^$ua~On>^O!Q*OO'y*PO(y$}O(z%PO~OP%TaR%Ta[%Taj%Tar%Ta!S%Ta!l%Ta!p%Ta#R%Ta#n%Ta#o%Ta#p%Ta#q%Ta#r%Ta#s%Ta#t%Ta#u%Ta#v%Ta#x%Ta#z%Ta#{%Ta$O%Ta(a%Ta(r%Ta!]%Ta!^%Ta~P''VO$O$mq!]$mq!^$mq~P#BwO$O$oq!]$oq!^$oq~P#BwO!^9oO~O$O9pO~P!1WO!g#vO!]'ei!k'ei~O!g#vO(r'pO!]'ei!k'ei~O!]/pO!k)Oq~O!Y'gi!]'gi~P#/sO!]/yO!Y)Pq~Or9wO!g#vO(r'pO~O[9yO!Y9xO~P#/sO!Y9xO~Oj:PO!g#vO~Og(_y!](_y~P!1WO!]'na!_'na~P#/sOa%[q!_%[q'z%[q!]%[q~P#/sO[:UO~O!]1TO!^)Xq~O`:YO~O#`:ZO!]'pa!^'pa~O!]5uO!^)Ui~P#BwO!S:]O~O!_1oO%i:`O~O(VTO(YUO(e:eO~O!]1zO!^)Vq~O!k:hO~O!k:iO~O!k:jO~O!k:jO~P%[O#`:mO!]#hy!^#hy~O!]#hy!^#hy~P#BwO%i:rO~P&8fO!_'`O%i:rO~O$O#|y!]#|y!^#|y~P#BwOP$|iR$|i[$|ij$|ir$|i!S$|i!l$|i!p$|i#R$|i#n$|i#o$|i#p$|i#q$|i#r$|i#s$|i#t$|i#u$|i#v$|i#x$|i#z$|i#{$|i$O$|i(a$|i(r$|i!]$|i!^$|i~P''VO!Q*OO'y*PO(z%POP'iaR'ia['iaj'ian'iar'ia!S'ia!l'ia!p'ia#R'ia#n'ia#o'ia#p'ia#q'ia#r'ia#s'ia#t'ia#u'ia#v'ia#x'ia#z'ia#{'ia$O'ia(a'ia(r'ia(y'ia!]'ia!^'ia~O!Q*OO'y*POP'kaR'ka['kaj'kan'kar'ka!S'ka!l'ka!p'ka#R'ka#n'ka#o'ka#p'ka#q'ka#r'ka#s'ka#t'ka#u'ka#v'ka#x'ka#z'ka#{'ka$O'ka(a'ka(r'ka(y'ka(z'ka!]'ka!^'ka~O(y$}OP%aiR%ai[%aij%ain%air%ai!Q%ai!S%ai!l%ai!p%ai#R%ai#n%ai#o%ai#p%ai#q%ai#r%ai#s%ai#t%ai#u%ai#v%ai#x%ai#z%ai#{%ai$O%ai'y%ai(a%ai(r%ai(z%ai!]%ai!^%ai~O(z%POP%ciR%ci[%cij%cin%cir%ci!Q%ci!S%ci!l%ci!p%ci#R%ci#n%ci#o%ci#p%ci#q%ci#r%ci#s%ci#t%ci#u%ci#v%ci#x%ci#z%ci#{%ci$O%ci'y%ci(a%ci(r%ci(y%ci!]%ci!^%ci~O$O$oy!]$oy!^$oy~P#BwO$O#cy!]#cy!^#cy~P#BwO!g#vO!]'eq!k'eq~O!]/pO!k)Oy~O!Y'gq!]'gq~P#/sOr:|O!g#vO(r'pO~O[;QO!Y;PO~P#/sO!Y;PO~Og(_!R!](_!R~P!1WOa%[y!_%[y'z%[y!]%[y~P#/sO!]1TO!^)Xy~O!]5uO!^)Uq~O(T;XO~O!_1oO%i;[O~O!k;_O~O%i;dO~P&8fOP$|qR$|q[$|qj$|qr$|q!S$|q!l$|q!p$|q#R$|q#n$|q#o$|q#p$|q#q$|q#r$|q#s$|q#t$|q#u$|q#v$|q#x$|q#z$|q#{$|q$O$|q(a$|q(r$|q!]$|q!^$|q~P''VO!Q*OO'y*PO(z%POP'jaR'ja['jaj'jan'jar'ja!S'ja!l'ja!p'ja#R'ja#n'ja#o'ja#p'ja#q'ja#r'ja#s'ja#t'ja#u'ja#v'ja#x'ja#z'ja#{'ja$O'ja(a'ja(r'ja(y'ja!]'ja!^'ja~O!Q*OO'y*POP'laR'la['laj'lan'lar'la!S'la!l'la!p'la#R'la#n'la#o'la#p'la#q'la#r'la#s'la#t'la#u'la#v'la#x'la#z'la#{'la$O'la(a'la(r'la(y'la(z'la!]'la!^'la~OP%OqR%Oq[%Oqj%Oqr%Oq!S%Oq!l%Oq!p%Oq#R%Oq#n%Oq#o%Oq#p%Oq#q%Oq#r%Oq#s%Oq#t%Oq#u%Oq#v%Oq#x%Oq#z%Oq#{%Oq$O%Oq(a%Oq(r%Oq!]%Oq!^%Oq~P''VOg%e!Z!]%e!Z#`%e!Z$O%e!Z~P!1WO!Y;hO~P#/sOr;iO!g#vO(r'pO~O[;kO!Y;hO~P#/sO!]'pq!^'pq~P#BwO!]#h!Z!^#h!Z~P#BwO#k%e!ZP%e!ZR%e!Z[%e!Za%e!Zj%e!Zr%e!Z!S%e!Z!]%e!Z!l%e!Z!p%e!Z#R%e!Z#n%e!Z#o%e!Z#p%e!Z#q%e!Z#r%e!Z#s%e!Z#t%e!Z#u%e!Z#v%e!Z#x%e!Z#z%e!Z#{%e!Z'z%e!Z(a%e!Z(r%e!Z!k%e!Z!Y%e!Z'w%e!Z#`%e!Zv%e!Z!_%e!Z%i%e!Z!g%e!Z~P#/sOr;tO!g#vO(r'pO~O!Y;uO~P#/sOr;|O!g#vO(r'pO~O!Y;}O~P#/sOP%e!ZR%e!Z[%e!Zj%e!Zr%e!Z!S%e!Z!l%e!Z!p%e!Z#R%e!Z#n%e!Z#o%e!Z#p%e!Z#q%e!Z#r%e!Z#s%e!Z#t%e!Z#u%e!Z#v%e!Z#x%e!Z#z%e!Z#{%e!Z$O%e!Z(a%e!Z(r%e!Z!]%e!Z!^%e!Z~P''VOrROe!iOpkOrPO(T)]O(VTO(YUO(aVO(o[O~O!]WO!l$xO#jgPPP!>oI[PPPPPPPPP!BOP!C]PPI[!DnPI[PI[I[I[I[I[PI[!FQP!I[P!LbP!Lf!Lp!Lt!LtP!IXP!Lx!LxP#!OP#!SI[PI[#!Y#%_CjA^PA^PA^A^P#&lA^A^#)OA^#+vA^#.SA^A^#.r#1W#1W#1]#1f#1W#1qPP#1WPA^#2ZA^#6YA^A^6mPPP#:_PPP#:x#:xP#:xP#;`#:xPP#;fP#;]P#;]#;y#;]#P#>V#>]#>k#>q#>{#?R#?]#?c#?s#?y#@k#@}#AT#AZ#Ai#BO#Cs#DR#DY#Et#FS#Gt#HS#HY#H`#Hf#Hp#Hv#H|#IW#Ij#IpPPPPPPPPPPP#IvPPPPPPP#Jk#Mx$ b$ i$ qPPP$']P$'f$*_$0x$0{$1O$1}$2Q$2X$2aP$2g$2jP$3W$3[$4S$5b$5g$5}PP$6S$6Y$6^$6a$6e$6i$7e$7|$8e$8i$8l$8o$8y$8|$9Q$9UR!|RoqOXst!Z#d%m&r&t&u&w,s,x2[2_Y!vQ'`-e1o5{Q%tvQ%|yQ&T|Q&j!VS'W!e-]Q'f!iS'l!r!yU*k$|*Z*oQ+o%}S+|&V&WQ,d&dQ-c'_Q-m'gQ-u'mQ0[*qQ1b,OQ1y,eR<{SU+P%]S!S!nQ!r!v!y!z$|'W'_'`'l'm'n*k*o*q*r-]-c-e-u0[0_1o5{5}%[$ti#v$b$c$d$x${%O%Q%^%_%c)y*R*T*V*Y*a*g*w*x+f+i,S,V.f/P/d/m/x/y/{0`0b0i0j0o1f1i1q3c4^4_4j4o5Q5[5_6S7W7v8Q8V8[8q9b9p9y:P:`:r;Q;[;d;kP>X>Y>]>^Q&X|Q'U!eS'[%i-`Q+t&PQ,P&WQ,f&gQ0n+SQ1Y+uQ1_+{Q2Q,jQ2R,kQ5f1TQ5o1aQ6[1zQ6_1|Q6`2PQ8`5gQ8c5lQ8|6bQ:X8dQ:f8yQ;V:YR<}*ZrnOXst!V!Z#d%m&i&r&t&u&w,s,x2[2_R,h&k&z^OPXYstuvwz!Z!`!g!j!o#S#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%m%t&R&k&n&o&r&t&u&w&{'T'b'r(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:mR>S[#]WZ#W#Z'X(T!b%jm#h#i#l$x%e%h(^(h(i(j*Y*^*b+Z+[+^,o-V.T.Z.[.]._/m/p2d3[3]4a6r7TQ%wxQ%{yW&Q|&V&W,OQ&_!TQ'c!hQ'e!iQ(q#sS+n%|%}Q+r&PQ,_&bQ,c&dS-l'f'gQ.i(rQ1R+oQ1X+uQ1Z+vQ1^+zQ1t,`S1x,d,eQ2|-mQ5e1TQ5i1WQ5n1`Q6Z1yQ8_5gQ8b5kQ8f5pQ:T8^R;T:U!U$zi$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Y!^%yy!i!u%{%|%}'V'e'f'g'k'u*j+n+o-Y-l-m-t0R0U1R2u2|3T4r4s4v7}9{Q+h%wQ,T&[Q,W&]Q,b&dQ.h(qQ1s,_U1w,c,d,eQ3e.iQ6U1tS6Y1x1yQ8x6Z#f>T#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k]>^o>UPS&[!Q&iQ&]!RQ&^!SU*}%[%d=sR,R&Y%]%Si#v$b$c$d$x${%O%Q%^%_%c)y*R*T*V*Y*a*g*w*x+f+i,S,V.f/P/d/m/x/y/{0`0b0i0j0o1f1i1q3c4^4_4j4o5Q5[5_6S7W7v8Q8V8[8q9b9p9y:P:`:r;Q;[;d;kP>X>Y>]>^T)z$u){V+P%]S$i$^c#Y#e%q%s%u(S(Y(t(y)R)S)T)U)V)W)X)Y)Z)[)^)`)b)g)q+d+x-Z-x-}.S.U.s.v.z.|.}/O/b0p2k2n3O3V3k3p3q3r3s3t3u3v3w3x3y3z3{3|4P4Q4X5X5c6u6{7Q7a7b7k7l8k9X9]9g9m9n:o;W;`SQ'Y!eR2q-]!W!nQ!e!r!v!y!z$|'W'_'`'l'm'n*Z*k*o*q*r-]-c-e-u0[0_1o5{5}R1l,ZnqOXst!Z#d%m&r&t&u&w,s,x2[2_Q&y!^Q'v!xS(s#u<^Q+l%zQ,]&_Q,^&aQ-j'dQ-w'oS.r(x=PS0q+X=ZQ1P+mQ1n,[Q2c,zQ2e,{Q2m-WQ2z-kQ2}-oS5Y0r=eQ5a1QS5d1S=fQ6t2oQ6x2{Q6}3SQ8]5bQ9Y6vQ9Z6yQ9^7OR:l9V$d$]c#Y#e%s%u(S(Y(t(y)R)S)T)U)V)W)X)Y)Z)[)^)`)b)g)q+d+x-Z-x-}.S.U.s.v.z.}/O/b0p2k2n3O3V3k3p3q3r3s3t3u3v3w3x3y3z3{3|4P4Q4X5X5c6u6{7Q7a7b7k7l8k9X9]9g9m9n:o;W;`SS#q]SU$fd)_,mS(p#p'iU*v%R(w4OU0m+O.n7gQ5^0xQ7V3`Q9d7YR:s9em!tQ!r!v!y!z'`'l'm'n-e-u1o5{5}Q't!uS(f#g2US-s'k'wQ/s*]Q0R*jQ3U-vQ4f/tQ4r0TQ4s0UQ4x0^Q7r4`S7}4t4vS8R4y4{Q9r7sQ9v7yQ9{8OQ:Q8TS:{9w9xS;g:|;PS;s;h;iS;{;t;uSSR=o>R%^bOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&o&r&t&u&w&{'T'b'r(T(V(](d(x(z)O)}*i+X+]+g,p,s,x-i-q.P.V.g.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3d3l4z6T6e6f6i6|7[8t9T9_Q%fj!^%xy!i!u%{%|%}'V'e'f'g'k'u*j+n+o-Y-l-m-t0R0U1R2u2|3T4r4s4v7}9{S&Oz!jQ+k%yQ,a&dW1v,b,c,d,eU6X1w1x1yS8w6Y6ZQ:d8x!r=j$Z$n'X)s-U-X/V2p4T5w6s:Z:mSQ=t>QR=u>R%QeOPXYstuvw!Z!`!g!o#S#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&r&t&u&w&{'T'b'r(V(](d(x(z)O)}*i+X+]+g,p,s,x-i-q.P.V.g.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3d3l4z6T6e6f6i6|7[8t9T9_Y#bWZ#W#Z(T!b%jm#h#i#l$x%e%h(^(h(i(j*Y*^*b+Z+[+^,o-V.T.Z.[.]._/m/p2d3[3]4a6r7TQ,n&o!p=k$Z$n)s-U-X/V2p4T5w6s:Z:mSR=n'XU']!e%i*ZR2s-`%SdOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&r&t&u&w&{'T'b'r(T(V(](d(x(z)O)}*i+X+],p,s,x-i-q.P.V.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3l4z6T6e6f6i6|8t9T9_!r)_$Z$n'X)s-U-X/V2p4T5w6s:Z:mSQ,m&oQ0x+gQ3`.gQ7Y3dR9e7[!b$Tc#Y%q(S(Y(t(y)Z)[)`)g+x-x-}.S.U.s.v/b0p3O3V3k3{5X5c6{7Q7a9]:oS)^)q-Z.|2k2n3p4P4X6u7b7k7l8k9X9g9m9n;W;`=vQ>X>ZR>Y>['QkOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%m%t&R&k&n&o&r&t&u&w&{'T'X'b'r(T(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:mSS$oh$pR4U/U'XgOPWXYZhstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n$p%m%t&R&k&n&o&r&t&u&w&{'T'X'b'r(T(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/U/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:mST$kf$qQ$ifS)j$l)nR)v$qT$jf$qT)l$l)n'XhOPWXYZhstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n$p%m%t&R&k&n&o&r&t&u&w&{'T'X'b'r(T(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/U/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:mST$oh$pQ$rhR)u$p%^jOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&o&r&t&u&w&{'T'b'r(T(V(](d(x(z)O)}*i+X+]+g,p,s,x-i-q.P.V.g.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3d3l4z6T6e6f6i6|7[8t9T9_!s>Q$Z$n'X)s-U-X/V2p4T5w6s:Z:mS#glOPXZst!Z!`!o#S#d#o#{$n%m&k&n&o&r&t&u&w&{'T'b)O)s*i+]+g,p,s,x-i.g/V/n0]0l1r2S2T2V2X2[2_2a3d4T4z6T6e6f6i7[8t9T!U%Ri$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Y#f(w#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k]>^Q+T%aQ/c*Oo4OP>X>YQ*c$zU*l$|*Z*oQ+U%bQ0W*m#f=q#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k]>^n=rTQ=x>UQ=y>VR=z>W!U%Ri$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Y#f(w#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k]>^o4OP>X>Y>]>^Q,U&]Q1h,WQ5s1gR8h5tV*n$|*Z*oU*n$|*Z*oT5z1o5{S0P*i/nQ4w0]T8S4z:]Q+j%xQ0V*lQ1O+kQ1u,aQ6W1vQ8v6XQ:c8wR;^:d!U%Oi$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Yx*R$v)e*S*u+V/v0d0e4R4g5R5S5W7p8U:R:x=p=}>OS0`*t0a#f]>^nZ>[`=T3}7c7f7j9h:t:w;yS=_.l3iT=`7e9k!U%Qi$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Y|*T$v)e*U*t+V/g/v0d0e4R4g4|5R5S5W7p8U:R:x=p=}>OS0b*u0c#f]>^nZ>[d=V3}7d7e7j9h9i:t:u:w;yS=a.m3jT=b7f9lrnOXst!V!Z#d%m&i&r&t&u&w,s,x2[2_Q&f!UR,p&ornOXst!V!Z#d%m&i&r&t&u&w,s,x2[2_R&f!UQ,Y&^R1d,RsnOXst!V!Z#d%m&i&r&t&u&w,s,x2[2_Q1p,_S6R1s1tU8p6P6Q6US:_8r8sS;Y:^:aQ;m;ZR;w;nQ&m!VR,i&iR6_1|R:f8yW&Q|&V&W,OR1Z+vQ&r!WR,s&sR,y&xT2],x2_R,}&yQ,|&yR2f,}Q'y!{R-y'ySsOtQ#dXT%ps#dQ#OTR'{#OQ#RUR'}#RQ){$uR/`){Q#UVR(Q#UQ#XWU(W#X(X.QQ(X#YR.Q(YQ-^'YR2r-^Q.u(yS3m.u3nR3n.vQ-e'`R2v-eY!rQ'`-e1o5{R'j!rQ/Q)eR4S/QU#_W%h*YU(_#_(`.RQ(`#`R.R(ZQ-a']R2t-at`OXst!V!Z#d%m&i&k&r&t&u&w,s,x2[2_S#hZ%eU#r`#h.[R.[(jQ(k#jQ.X(gW.a(k.X3X7RQ3X.YR7R3YQ)n$lR/W)nQ$phR)t$pQ$`cU)a$`-|O>Z>[Q/z*eU4k/z4m7xQ4m/|R7x4lS*o$|*ZR0Y*ox*S$v)e*t*u+V/v0d0e4R4g5R5S5W7p8U:R:x=p=}>O!d.j(u)c*[*e.l.m.q/_/k/|0v1e3h4[4h4l5r7]7`7w7z8X8Z9t9|:S:};R;e;j;v>Z>[U/h*S.j7ca7c3}7e7f7j9h:t:w;yQ0a*tQ3i.lU4}0a3i9kR9k7e|*U$v)e*t*u+V/g/v0d0e4R4g4|5R5S5W7p8U:R:x=p=}>O!h.k(u)c*[*e.l.m.q/_/k/|0v1e3f3h4[4h4l5r7]7^7`7w7z8X8Z9t9|:S:};R;e;j;v>Z>[U/j*U.k7de7d3}7e7f7j9h9i:t:u:w;yQ0c*uQ3j.mU5P0c3j9lR9l7fQ*z%UR0g*zQ5]0vR8Y5]Q+_%kR0u+_Q5v1jS8j5v:[R:[8kQ,[&_R1m,[Q5{1oR8m5{Q1{,fS6]1{8zR8z6_Q1U+rW5h1U5j8a:VQ5j1XQ8a5iR:V8bQ+w&QR1[+wQ2_,xR6m2_YrOXst#dQ&v!ZQ+a%mQ,r&rQ,t&tQ,u&uQ,w&wQ2Y,sS2],x2_R6l2[Q%opQ&z!_Q&}!aQ'P!bQ'R!cQ'q!uQ+`%lQ+l%zQ,Q&XQ,h&mQ-P&|W-p'k's't'wQ-w'oQ0X*nQ1P+mQ1c,PS2O,i,lQ2g-OQ2h-RQ2i-SQ2}-oW3P-r-s-v-xQ5a1QQ5m1_Q5q1eQ6V1uQ6a2QQ6k2ZU6z3O3R3UQ6}3SQ8]5bQ8e5oQ8g5rQ8l5zQ8u6WQ8{6`S9[6{7PQ9^7OQ:W8cQ:b8vQ:g8|Q:n9]Q;U:XQ;]:cQ;a:oQ;l;VR;o;^Q%zyQ'd!iQ'o!uU+m%{%|%}Q-W'VU-k'e'f'gS-o'k'uQ0Q*jS1Q+n+oQ2o-YS2{-l-mQ3S-tS4p0R0UQ5b1RQ6v2uQ6y2|Q7O3TU7{4r4s4vQ9z7}R;O9{S$wi>PR*{%VU%Ui%V>PR0f*yQ$viS(u#v+iS)c$b$cQ)e$dQ*[$xS*e${*YQ*t%OQ*u%QQ+Q%^Q+R%_Q+V%cQ.lPQ=}>XQ>O>YQ>Z>]R>[>^Q+O%]Q.nSR#[WR'Z!el!tQ!r!v!y!z'`'l'm'n-e-u1o5{5}S'V!e-]U*j$|*Z*oS-Y'W'_S0U*k*qQ0^*rQ2u-cQ4v0[R4{0_R({#xQ!fQT-d'`-e]!qQ!r'`-e1o5{Q#p]R'i < TypeParamList in out const TypeDefinition extends ThisType this LiteralType ArithOp Number BooleanLiteral TemplateType InterpolationEnd Interpolation InterpolationStart NullType null VoidType void TypeofType typeof MemberExpression . PropertyName [ TemplateString Escape Interpolation super RegExp ] ArrayExpression Spread , } { ObjectExpression Property async get set PropertyDefinition Block : NewTarget new NewExpression ) ( ArgList UnaryExpression delete LogicOp BitOp YieldExpression yield AwaitExpression await ParenthesizedExpression ClassExpression class ClassBody MethodDeclaration Decorator @ MemberExpression PrivatePropertyName CallExpression TypeArgList CompareOp < declare Privacy static abstract override PrivatePropertyDefinition PropertyDeclaration readonly accessor Optional TypeAnnotation Equals StaticBlock FunctionExpression ArrowFunction ParamList ParamList ArrayPattern ObjectPattern PatternProperty Privacy readonly Arrow MemberExpression BinaryExpression ArithOp ArithOp ArithOp ArithOp BitOp CompareOp instanceof satisfies CompareOp BitOp BitOp BitOp LogicOp LogicOp ConditionalExpression LogicOp LogicOp AssignmentExpression UpdateOp PostfixExpression CallExpression InstantiationExpression TaggedTemplateExpression DynamicImport import ImportMeta JSXElement JSXSelfCloseEndTag JSXSelfClosingTag JSXIdentifier JSXBuiltin JSXIdentifier JSXNamespacedName JSXMemberExpression JSXSpreadAttribute JSXAttribute JSXAttributeValue JSXEscape JSXEndTag JSXOpenTag JSXFragmentTag JSXText JSXEscape JSXStartCloseTag JSXCloseTag PrefixCast < ArrowFunction TypeParamList SequenceExpression InstantiationExpression KeyofType keyof UniqueType unique ImportType InferredType infer TypeName ParenthesizedType FunctionSignature ParamList NewSignature IndexedType TupleType Label ArrayType ReadonlyType ObjectType MethodType PropertyType IndexSignature PropertyDefinition CallSignature TypePredicate asserts is NewSignature new UnionType LogicOp IntersectionType LogicOp ConditionalType ParameterizedType ClassDeclaration abstract implements type VariableDeclaration let var using TypeAliasDeclaration InterfaceDeclaration interface EnumDeclaration enum EnumBody NamespaceDeclaration namespace module AmbientDeclaration declare GlobalDeclaration global ClassDeclaration ClassBody AmbientFunctionDeclaration ExportGroup VariableName VariableName ImportDeclaration defer ImportGroup ForStatement for ForSpec ForInSpec ForOfSpec of WhileStatement while WithStatement with DoStatement do IfStatement if else SwitchStatement switch SwitchBody CaseLabel case DefaultLabel TryStatement try CatchClause catch FinallyClause finally ReturnStatement return ThrowStatement throw BreakStatement break ContinueStatement continue DebuggerStatement debugger LabeledStatement ExpressionStatement SingleExpression SingleClassItem",maxTerm:380,context:Jk,nodeProps:[["isolate",-8,5,6,14,37,39,51,53,55,""],["group",-26,9,17,19,68,207,211,215,216,218,221,224,234,237,243,245,247,249,252,258,264,266,268,270,272,274,275,"Statement",-34,13,14,32,35,36,42,51,54,55,57,62,70,72,76,80,82,84,85,110,111,120,121,136,139,141,142,143,144,145,147,148,167,169,171,"Expression",-23,31,33,37,41,43,45,173,175,177,178,180,181,182,184,185,186,188,189,190,201,203,205,206,"Type",-3,88,103,109,"ClassItem"],["openedBy",23,"<",38,"InterpolationStart",56,"[",60,"{",73,"(",160,"JSXStartCloseTag"],["closedBy",-2,24,168,">",40,"InterpolationEnd",50,"]",61,"}",74,")",165,"JSXEndTag"]],propSources:[s1],skippedNodes:[0,5,6,278],repeatNodeCount:37,tokenData:"$Fq07[R!bOX%ZXY+gYZ-yZ[+g[]%Z]^.c^p%Zpq+gqr/mrs3cst:_tuEruvJSvwLkwx! Yxy!'iyz!(sz{!)}{|!,q|}!.O}!O!,q!O!P!/Y!P!Q!9j!Q!R#:O!R![#<_![!]#I_!]!^#Jk!^!_#Ku!_!`$![!`!a$$v!a!b$*T!b!c$,r!c!}Er!}#O$-|#O#P$/W#P#Q$4o#Q#R$5y#R#SEr#S#T$7W#T#o$8b#o#p$x#r#s$@U#s$f%Z$f$g+g$g#BYEr#BY#BZ$A`#BZ$ISEr$IS$I_$A`$I_$I|Er$I|$I}$Dk$I}$JO$Dk$JO$JTEr$JT$JU$A`$JU$KVEr$KV$KW$A`$KW&FUEr&FU&FV$A`&FV;'SEr;'S;=`I|<%l?HTEr?HT?HU$A`?HUOEr(n%d_$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z&j&hT$i&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c&j&zP;=`<%l&c'|'U]$i&j(Z!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!b(SU(Z!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}!b(iP;=`<%l'}'|(oP;=`<%l&}'[(y]$i&j(WpOY(rYZ&cZr(rrs&cs!^(r!^!_)r!_#O(r#O#P&c#P#o(r#o#p)r#p;'S(r;'S;=`*a<%lO(rp)wU(WpOY)rZr)rs#O)r#P;'S)r;'S;=`*Z<%lO)rp*^P;=`<%l)r'[*dP;=`<%l(r#S*nX(Wp(Z!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g#S+^P;=`<%l*g(n+dP;=`<%l%Z07[+rq$i&j(Wp(Z!b'|0/lOX%ZXY+gYZ&cZ[+g[p%Zpq+gqr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p$f%Z$f$g+g$g#BY%Z#BY#BZ+g#BZ$IS%Z$IS$I_+g$I_$JT%Z$JT$JU+g$JU$KV%Z$KV$KW+g$KW&FU%Z&FU&FV+g&FV;'S%Z;'S;=`+a<%l?HT%Z?HT?HU+g?HUO%Z07[.ST(X#S$i&j'}0/lO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c07[.n_$i&j(Wp(Z!b'}0/lOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z)3p/x`$i&j!p),Q(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`0z!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW1V`#v(Ch$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`2X!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW2d_#v(Ch$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'At3l_(V':f$i&j(Z!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k(^4r_$i&j(Z!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k&z5vX$i&jOr5qrs6cs!^5q!^!_6y!_#o5q#o#p6y#p;'S5q;'S;=`7h<%lO5q&z6jT$d`$i&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c`6|TOr6yrs7]s;'S6y;'S;=`7b<%lO6y`7bO$d``7eP;=`<%l6y&z7kP;=`<%l5q(^7w]$d`$i&j(Z!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!r8uZ(Z!bOY8pYZ6yZr8prs9hsw8pwx6yx#O8p#O#P6y#P;'S8p;'S;=`:R<%lO8p!r9oU$d`(Z!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}!r:UP;=`<%l8p(^:[P;=`<%l4k%9[:hh$i&j(Wp(Z!bOY%ZYZ&cZq%Zqr`#P#o`x!^=^!^!_?q!_#O=^#O#P>`#P#o=^#o#p?q#p;'S=^;'S;=`@h<%lO=^&n>gXWS$i&jOY>`YZ&cZ!^>`!^!_?S!_#o>`#o#p?S#p;'S>`;'S;=`?k<%lO>`S?XSWSOY?SZ;'S?S;'S;=`?e<%lO?SS?hP;=`<%l?S&n?nP;=`<%l>`!f?xWWS(Z!bOY?qZw?qwx?Sx#O?q#O#P?S#P;'S?q;'S;=`@b<%lO?q!f@eP;=`<%l?q(Q@kP;=`<%l=^'`@w]WS$i&j(WpOY@nYZ&cZr@nrs>`s!^@n!^!_Ap!_#O@n#O#P>`#P#o@n#o#pAp#p;'S@n;'S;=`Bg<%lO@ntAwWWS(WpOYApZrAprs?Ss#OAp#O#P?S#P;'SAp;'S;=`Ba<%lOAptBdP;=`<%lAp'`BjP;=`<%l@n#WBvYWS(Wp(Z!bOYBmZrBmrs?qswBmwxApx#OBm#O#P?S#P;'SBm;'S;=`Cf<%lOBm#WCiP;=`<%lBm(rCoP;=`<%l^!Q^$i&j!X7`OY!=yYZ&cZ!P!=y!P!Q!>|!Q!^!=y!^!_!@c!_!}!=y!}#O!CW#O#P!Dy#P#o!=y#o#p!@c#p;'S!=y;'S;=`!Ek<%lO!=y|#X#Z&c#Z#[!>|#[#]&c#]#^!>|#^#a&c#a#b!>|#b#g&c#g#h!>|#h#i&c#i#j!>|#j#k!>|#k#m&c#m#n!>|#n#o&c#p;'S&c;'S;=`&w<%lO&c7`!@hX!X7`OY!@cZ!P!@c!P!Q!AT!Q!}!@c!}#O!Ar#O#P!Bq#P;'S!@c;'S;=`!CQ<%lO!@c7`!AYW!X7`#W#X!AT#Z#[!AT#]#^!AT#a#b!AT#g#h!AT#i#j!AT#j#k!AT#m#n!AT7`!AuVOY!ArZ#O!Ar#O#P!B[#P#Q!@c#Q;'S!Ar;'S;=`!Bk<%lO!Ar7`!B_SOY!ArZ;'S!Ar;'S;=`!Bk<%lO!Ar7`!BnP;=`<%l!Ar7`!BtSOY!@cZ;'S!@c;'S;=`!CQ<%lO!@c7`!CTP;=`<%l!@c^!Ezl$i&j(Z!b!X7`OY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#W&}#W#X!Eq#X#Z&}#Z#[!Eq#[#]&}#]#^!Eq#^#a&}#a#b!Eq#b#g&}#g#h!Eq#h#i&}#i#j!Eq#j#k!Eq#k#m&}#m#n!Eq#n#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}8r!GyZ(Z!b!X7`OY!GrZw!Grwx!@cx!P!Gr!P!Q!Hl!Q!}!Gr!}#O!JU#O#P!Bq#P;'S!Gr;'S;=`!J|<%lO!Gr8r!Hse(Z!b!X7`OY'}Zw'}x#O'}#P#W'}#W#X!Hl#X#Z'}#Z#[!Hl#[#]'}#]#^!Hl#^#a'}#a#b!Hl#b#g'}#g#h!Hl#h#i'}#i#j!Hl#j#k!Hl#k#m'}#m#n!Hl#n;'S'};'S;=`(f<%lO'}8r!JZX(Z!bOY!JUZw!JUwx!Arx#O!JU#O#P!B[#P#Q!Gr#Q;'S!JU;'S;=`!Jv<%lO!JU8r!JyP;=`<%l!JU8r!KPP;=`<%l!Gr>^!KZ^$i&j(Z!bOY!KSYZ&cZw!KSwx!CWx!^!KS!^!_!JU!_#O!KS#O#P!DR#P#Q!^!LYP;=`<%l!KS>^!L`P;=`<%l!_#c#d#Bq#d#l%Z#l#m#Es#m#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#>j_$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#?rd$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!R#AQ!R!S#AQ!S!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#AQ#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#A]f$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!R#AQ!R!S#AQ!S!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#AQ#S#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#Bzc$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!Y#DV!Y!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#DV#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#Dbe$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!Y#DV!Y!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#DV#S#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#E|g$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![#Ge![!^%Z!^!_*g!_!c%Z!c!i#Ge!i#O%Z#O#P&c#P#R%Z#R#S#Ge#S#T%Z#T#Z#Ge#Z#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#Gpi$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![#Ge![!^%Z!^!_*g!_!c%Z!c!i#Ge!i#O%Z#O#P&c#P#R%Z#R#S#Ge#S#T%Z#T#Z#Ge#Z#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z*)x#Il_!g$b$i&j$O)Lv(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z)[#Jv_al$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z04f#LS^h#)`#R-v$?V_!^(CdvBr$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z?O$@a_!q7`$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z07[$Aq|$i&j(Wp(Z!b'|0/l$]#t(T,2j(e$I[OX%ZXY+gYZ&cZ[+g[p%Zpq+gqr%Zrs&}st%ZtuEruw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Er![!^%Z!^!_*g!_!c%Z!c!}Er!}#O%Z#O#P&c#P#R%Z#R#SEr#S#T%Z#T#oEr#o#p*g#p$f%Z$f$g+g$g#BYEr#BY#BZ$A`#BZ$ISEr$IS$I_$A`$I_$JTEr$JT$JU$A`$JU$KVEr$KV$KW$A`$KW&FUEr&FU&FV$A`&FV;'SEr;'S;=`I|<%l?HTEr?HT?HU$A`?HUOEr07[$D|k$i&j(Wp(Z!b'}0/l$]#t(T,2j(e$I[OY%ZYZ&cZr%Zrs&}st%ZtuEruw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Er![!^%Z!^!_*g!_!c%Z!c!}Er!}#O%Z#O#P&c#P#R%Z#R#SEr#S#T%Z#T#oEr#o#p*g#p$g%Z$g;'SEr;'S;=`I|<%lOEr",tokenizers:[t1,i1,n1,r1,2,3,4,5,6,7,8,9,10,11,12,13,14,e1,new yi("$S~RRtu[#O#Pg#S#T#|~_P#o#pb~gOx~~jVO#i!P#i#j!U#j#l!P#l#m!q#m;'S!P;'S;=`#v<%lO!P~!UO!U~~!XS!Q![!e!c!i!e#T#Z!e#o#p#Z~!hR!Q![!q!c!i!q#T#Z!q~!tR!Q![!}!c!i!}#T#Z!}~#QR!Q![!P!c!i!P#T#Z!P~#^R!Q![#g!c!i#g#T#Z#g~#jS!Q![#g!c!i#g#T#Z#g#q#r!P~#yP;=`<%l!P~$RO(c~~",141,340),new yi("j~RQYZXz{^~^O(Q~~aP!P!Qd~iO(R~~",25,323)],topRules:{Script:[0,7],SingleExpression:[1,276],SingleClassItem:[2,277]},dialects:{jsx:0,ts:15175},dynamicPrecedences:{80:1,82:1,94:1,169:1,199:1},specialized:[{term:327,get:i=>o1[i]||-1},{term:343,get:i=>a1[i]||-1},{term:95,get:i=>l1[i]||-1}],tokenPrec:15201});var Mp=[ce("function ${name}(${params}) {\n ${}\n}",{label:"function",detail:"definition",type:"keyword"}),ce("for (let ${index} = 0; ${index} < ${bound}; ${index}++) {\n ${}\n}",{label:"for",detail:"loop",type:"keyword"}),ce("for (let ${name} of ${collection}) {\n ${}\n}",{label:"for",detail:"of loop",type:"keyword"}),ce("do {\n ${}\n} while (${})",{label:"do",detail:"loop",type:"keyword"}),ce("while (${}) {\n ${}\n}",{label:"while",detail:"loop",type:"keyword"}),ce(`try { +`);n=r<0?t:t.slice(0,r)}return e+n.length>this.to?n.slice(0,this.to-e):n}prevLineEnd(){return this.atEnd?this.lineStart:this.lineStart-1}startContext(e,t,n=0){this.block=Fs.create(e,n,this.lineStart+t,this.block.hash,this.lineStart+this.line.text.length),this.stack.push(this.block)}startComposite(e,t,n=0){this.startContext(this.parser.getNodeType(e),t,n)}addNode(e,t,n){typeof e=="number"&&(e=new H(this.parser.nodeSet.types[e],Pn,Pn,(n??this.prevLineEnd())-t)),this.block.addChild(e,t-this.block.from)}addElement(e){this.block.addChild(e.toTree(this.parser.nodeSet),e.from-this.block.from)}addLeafElement(e,t){this.addNode(this.buffer.writeElements(ec(t.children,e.marks),-t.from).finish(t.type,t.to-t.from),t.from)}finishContext(){let e=this.stack.pop(),t=this.stack[this.stack.length-1];t.addChild(e.toTree(this.parser.nodeSet),e.from-t.from),this.block=t}finish(){for(;this.stack.length>1;)this.finishContext();return this.addGaps(this.block.toTree(this.parser.nodeSet,this.lineStart))}addGaps(e){return this.ranges.length>1?qd(this.ranges,0,e.topNode,this.ranges[0].from,this.reusePlaceholders):e}finishLeaf(e){for(let n of e.parsers)if(n.finish(this,e))return;let t=ec(this.parser.parseInline(e.content,e.start),e.marks);this.addNode(this.buffer.writeElements(t,-e.start).finish(Z.Paragraph,e.content.length),e.start)}elt(e,t,n,r){return typeof e=="string"?ie(this.parser.getNodeType(e),t,n,r):new Ks(e,t)}get buffer(){return new Hs(this.parser.nodeSet)}};function qd(i,e,t,n,r){let s=i[e].to,o=[],a=[],l=t.from+n;function c(h,f){for(;f?h>=s:h>s;){let u=i[e+1].from-s;n+=u,h+=u,e++,s=i[e].to}}for(let h=t.firstChild;h;h=h.nextSibling){c(h.from+n,!0);let f=h.from+n,u,O=r.get(h.tree);O?u=O:h.to+n>s?(u=qd(i,e,h,n,r),c(h.to+n,!1)):u=h.toTree(),o.push(u),a.push(f-l)}return c(t.to+n,!1),new H(t.type,o,a,t.to+n-l,t.tree?t.tree.propValues:void 0)}var Sr=class i extends It{constructor(e,t,n,r,s,o,a,l,c){super(),this.nodeSet=e,this.blockParsers=t,this.leafBlockParsers=n,this.blockNames=r,this.endLeafBlock=s,this.skipContextMarkup=o,this.inlineParsers=a,this.inlineNames=l,this.wrappers=c,this.nodeTypes=Object.create(null);for(let h of e.types)this.nodeTypes[h.name]=h.id}createParse(e,t,n){let r=new Kl(this,e,t,n);for(let s of this.wrappers)r=s(r,e,t,n);return r}configure(e){let t=Jl(e);if(!t)return this;let{nodeSet:n,skipContextMarkup:r}=this,s=this.blockParsers.slice(),o=this.leafBlockParsers.slice(),a=this.blockNames.slice(),l=this.inlineParsers.slice(),c=this.inlineNames.slice(),h=this.endLeafBlock.slice(),f=this.wrappers;if(gr(t.defineNodes)){r=Object.assign({},r);let u=n.types.slice(),O;for(let p of t.defineNodes){let{name:m,block:b,composite:g,style:Q}=typeof p=="string"?{name:p}:p;if(u.some(v=>v.name==m))continue;g&&(r[u.length]=(v,$,R)=>g($,R,v.value));let S=u.length,x=g?["Block","BlockContext"]:b?S>=Z.ATXHeading1&&S<=Z.SetextHeading2?["Block","LeafBlock","Heading"]:["Block","LeafBlock"]:void 0;u.push(Oe.define({id:S,name:m,props:x&&[[I.group,x]]})),Q&&(O||(O={}),Array.isArray(Q)||Q instanceof He?O[m]=Q:Object.assign(O,Q))}n=new Dt(u),O&&(n=n.extend(Qe(O)))}if(gr(t.props)&&(n=n.extend(...t.props)),gr(t.remove))for(let u of t.remove){let O=this.blockNames.indexOf(u),p=this.inlineNames.indexOf(u);O>-1&&(s[O]=o[O]=void 0),p>-1&&(l[p]=void 0)}if(gr(t.parseBlock))for(let u of t.parseBlock){let O=a.indexOf(u.name);if(O>-1)s[O]=u.parse,o[O]=u.leaf;else{let p=u.before?Ns(a,u.before):u.after?Ns(a,u.after)+1:a.length-1;s.splice(p,0,u.parse),o.splice(p,0,u.leaf),a.splice(p,0,u.name)}u.endLeaf&&h.push(u.endLeaf)}if(gr(t.parseInline))for(let u of t.parseInline){let O=c.indexOf(u.name);if(O>-1)l[O]=u.parse;else{let p=u.before?Ns(c,u.before):u.after?Ns(c,u.after)+1:c.length-1;l.splice(p,0,u.parse),c.splice(p,0,u.name)}}return t.wrap&&(f=f.concat(t.wrap)),new i(n,s,o,a,h,r,l,c,f)}getNodeType(e){let t=this.nodeTypes[e];if(t==null)throw new RangeError(`Unknown node type '${e}'`);return t}parseInline(e,t){let n=new kr(this,e,t);e:for(let r=t;r=0){r=a;continue e}}r++}return n.resolveMarkers(0)}};function gr(i){return i!=null&&i.length>0}function Jl(i){if(!Array.isArray(i))return i;if(i.length==0)return null;let e=Jl(i[0]);if(i.length==1)return e;let t=Jl(i.slice(1));if(!t||!e)return e||t;let n=(o,a)=>(o||Pn).concat(a||Pn),r=e.wrap,s=t.wrap;return{props:n(e.props,t.props),defineNodes:n(e.defineNodes,t.defineNodes),parseBlock:n(e.parseBlock,t.parseBlock),parseInline:n(e.parseInline,t.parseInline),remove:n(e.remove,t.remove),wrap:r?s?(o,a,l,c)=>r(s(o,a,l,c),a,l,c):r:s}}function Ns(i,e){let t=i.indexOf(e);if(t<0)throw new RangeError(`Position specified relative to unknown parser ${e}`);return t}var zd=[Oe.none];for(let i=1,e;e=Z[i];i++)zd[i]=Oe.define({id:i,name:e,props:i>=Z.Escape?[]:[[I.group,i in vd?["Block","BlockContext"]:["Block","LeafBlock"]]],top:e=="Document"});var Pn=[],Hs=class{constructor(e){this.nodeSet=e,this.content=[],this.nodes=[]}write(e,t,n,r=0){return this.content.push(e,t,n,4+r*4),this}writeElements(e,t=0){for(let n of e)n.writeTo(this,t);return this}finish(e,t){return H.build({buffer:this.content,nodeSet:this.nodeSet,reused:this.nodes,topID:e,length:t})}},Bi=class{constructor(e,t,n,r=Pn){this.type=e,this.from=t,this.to=n,this.children=r}writeTo(e,t){let n=e.content.length;e.writeElements(this.children,t),e.content.push(this.type,this.from+t,this.to+t,e.content.length+4-n)}toTree(e){return new Hs(e).writeElements(this.children,-this.from).finish(this.type,this.to-this.from)}},Ks=class{constructor(e,t){this.tree=e,this.from=t}get to(){return this.from+this.tree.length}get type(){return this.tree.type.id}get children(){return Pn}writeTo(e,t){e.nodes.push(this.tree),e.content.push(e.nodes.length-1,this.from+t,this.to+t,-1)}toTree(){return this.tree}};function ie(i,e,t,n){return new Bi(i,e,t,n)}var Ld={resolve:"Emphasis",mark:"EmphasisMark"},Md={resolve:"Emphasis",mark:"EmphasisMark"},Ii={},Js={},Me=class{constructor(e,t,n,r){this.type=e,this.from=t,this.to=n,this.side=r}},Qd="!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~",yr=/[!"#$%&'()*+,\-.\/:;<=>?@\[\\\]^_`{|}~\xA1\u2010-\u2027]/;try{yr=new RegExp("[\\p{S}|\\p{P}]","u")}catch{}var Il={Escape(i,e,t){if(e!=92||t==i.end-1)return-1;let n=i.char(t+1);for(let r=0;r]+|[a-z\d.!#$%&'*+/=?^_`{|}~-]+@[a-z\d](?:[a-z\d-]{0,61}[a-z\d])?(?:\.[a-z\d](?:[a-z\d-]{0,61}[a-z\d])?)*)>/i.exec(n);if(r)return i.append(ie(Z.Autolink,t,t+1+r[0].length,[ie(Z.LinkMark,t,t+1),ie(Z.URL,t+1,t+r[0].length),ie(Z.LinkMark,t+r[0].length,t+1+r[0].length)]));let s=/^!--[^>](?:-[^-]|[^-])*?-->/i.exec(n);if(s)return i.append(ie(Z.Comment,t,t+1+s[0].length));let o=/^\?[^]*?\?>/.exec(n);if(o)return i.append(ie(Z.ProcessingInstruction,t,t+1+o[0].length));let a=/^(?:![A-Z][^]*?>|!\[CDATA\[[^]*?\]\]>|\/\s*[a-zA-Z][\w-]*\s*>|\s*[a-zA-Z][\w-]*(\s+[a-zA-Z:_][\w-.:]*(?:\s*=\s*(?:[^\s"'=<>`]+|'[^']*'|"[^"]*"))?)*\s*(\/\s*)?>)/.exec(n);return a?i.append(ie(Z.HTMLTag,t,t+1+a[0].length)):-1},Emphasis(i,e,t){if(e!=95&&e!=42)return-1;let n=t+1;for(;i.char(n)==e;)n++;let r=i.slice(t-1,t),s=i.slice(n,n+1),o=yr.test(r),a=yr.test(s),l=/\s|^$/.test(r),c=/\s|^$/.test(s),h=!c&&(!a||l||o),f=!l&&(!o||c||a),u=h&&(e==42||!f||o),O=f&&(e==42||!h||a);return i.append(new Me(e==95?Ld:Md,t,n,(u?1:0)|(O?2:0)))},HardBreak(i,e,t){if(e==92&&i.char(t+1)==10)return i.append(ie(Z.HardBreak,t,t+2));if(e==32){let n=t+1;for(;i.char(n)==32;)n++;if(i.char(n)==10&&n>=t+2)return i.append(ie(Z.HardBreak,t,n+1))}return-1},Link(i,e,t){return e==91?i.append(new Me(Ii,t,t+1,1)):-1},Image(i,e,t){return e==33&&i.char(t+1)==91?i.append(new Me(Js,t,t+2,1)):-1},LinkEnd(i,e,t){if(e!=93)return-1;for(let n=i.parts.length-1;n>=0;n--){let r=i.parts[n];if(r instanceof Me&&(r.type==Ii||r.type==Js)){if(!r.side||i.skipSpace(r.to)==t&&!/[(\[]/.test(i.slice(t+1,t+2)))return i.parts[n]=null,-1;let s=i.takeContent(n),o=i.parts[n]=ny(i,s,r.type==Ii?Z.Link:Z.Image,r.from,t+1);if(r.type==Ii)for(let a=0;ae?ie(Z.URL,e+t,s+t):s==i.length?null:!1}}function jd(i,e,t){let n=i.charCodeAt(e);if(n!=39&&n!=34&&n!=40)return!1;let r=n==40?41:n;for(let s=e+1,o=!1;s=this.end?-1:this.text.charCodeAt(e-this.offset)}get end(){return this.offset+this.text.length}slice(e,t){return this.text.slice(e-this.offset,t-this.offset)}append(e){return this.parts.push(e),e.to}addDelimiter(e,t,n,r,s){return this.append(new Me(e,t,n,(r?1:0)|(s?2:0)))}get hasOpenLink(){for(let e=this.parts.length-1;e>=0;e--){let t=this.parts[e];if(t instanceof Me&&(t.type==Ii||t.type==Js))return!0}return!1}addElement(e){return this.append(e)}resolveMarkers(e){for(let n=e;n=e;l--){let m=this.parts[l];if(m instanceof Me&&m.side&1&&m.type==r.type&&!(s&&(r.side&1||m.side&2)&&(m.to-m.from+o)%3==0&&((m.to-m.from)%3||o%3))){a=m;break}}if(!a)continue;let c=r.type.resolve,h=[],f=a.from,u=r.to;if(s){let m=Math.min(2,a.to-a.from,o);f=a.to-m,u=r.from+m,c=m==1?"Emphasis":"StrongEmphasis"}a.type.mark&&h.push(this.elt(a.type.mark,f,a.to));for(let m=l+1;m=0;t--){let n=this.parts[t];if(n instanceof Me&&n.type==e&&n.side&1)return t}return null}takeContent(e){let t=this.resolveMarkers(e);return this.parts.length=e,t}getDelimiterAt(e){let t=this.parts[e];return t instanceof Me?t:null}skipSpace(e){return Qr(this.text,e-this.offset)+this.offset}elt(e,t,n,r){return typeof e=="string"?ie(this.parser.getNodeType(e),t,n,r):new Ks(e,t)}};kr.linkStart=Ii;kr.imageStart=Js;function ec(i,e){if(!e.length)return i;if(!i.length)return e;let t=i.slice(),n=0;for(let r of e){for(;n(e?e-1:0))return!1;if(this.fragmentEnd<0){let s=this.fragment.to;for(;s>0&&this.input.read(s-1,s)!=` +`;)s--;this.fragmentEnd=s?s-1:0}let n=this.cursor;n||(n=this.cursor=this.fragment.tree.cursor(),n.firstChild());let r=e+this.fragment.offset;for(;n.to<=r;)if(!n.parent())return!1;for(;;){if(n.from>=r)return this.fragment.from<=t;if(!n.childAfter(r))return!1}}matches(e){let t=this.cursor.tree;return t&&t.prop(I.contextHash)==e}takeNodes(e){let t=this.cursor,n=this.fragment.offset,r=this.fragmentEnd-(this.fragment.openEnd?1:0),s=e.absoluteLineStart,o=s,a=e.block.children.length,l=o,c=a;for(;;){if(t.to-n>r){if(t.type.isAnonymous&&t.firstChild())continue;break}let h=Dd(t.from-n,e.ranges);if(t.to-n<=e.ranges[e.rangeI].to)e.addNode(t.tree,h);else{let f=new H(e.parser.nodeSet.types[Z.Paragraph],[],[],0,e.block.hashProp);e.reusePlaceholders.set(f,t.tree),e.addNode(f,h)}if(t.type.is("Block")&&(ry.indexOf(t.type.id)<0?(o=t.to-n,a=e.block.children.length):(o=l,a=c),l=t.to-n,c=e.block.children.length),!t.nextSibling())break}for(;e.block.children.length>a;)e.block.children.pop(),e.block.positions.pop();return o-s}};function Dd(i,e){let t=i;for(let n=1;nGs[i]),Object.keys(Gs).map(i=>Ed[i]),Object.keys(Gs),ty,vd,Object.keys(Il).map(i=>Il[i]),Object.keys(Il),[]);function oy(i,e,t){let n=[];for(let r=i.firstChild,s=e;;r=r.nextSibling){let o=r?r.from:t;if(o>s&&n.push({from:s,to:o}),!r)break;s=r.to}return n}function Id(i){let{codeParser:e,htmlParser:t}=i;return{wrap:bn((r,s)=>{let o=r.type.id;if(e&&(o==Z.CodeBlock||o==Z.FencedCode)){let a="";if(o==Z.FencedCode){let c=r.node.getChild(Z.CodeInfo);c&&(a=s.read(c.from,c.to))}let l=e(a);if(l)return{parser:l,overlay:c=>c.type.id==Z.CodeText,bracketed:o==Z.FencedCode}}else if(t&&(o==Z.HTMLBlock||o==Z.HTMLTag||o==Z.CommentBlock))return{parser:t,overlay:oy(r.node,r.from,r.to)};return null})}}var ay={resolve:"Strikethrough",mark:"StrikethroughMark"},ly={defineNodes:[{name:"Strikethrough",style:{"Strikethrough/...":d.strikethrough}},{name:"StrikethroughMark",style:d.processingInstruction}],parseInline:[{name:"Strikethrough",parse(i,e,t){if(e!=126||i.char(t+1)!=126||i.char(t+2)==126)return-1;let n=i.slice(t-1,t),r=i.slice(t+2,t+3),s=/\s|^$/.test(n),o=/\s|^$/.test(r),a=yr.test(n),l=yr.test(r);return i.addDelimiter(ay,t,t+2,!o&&(!l||s||a),!s&&(!a||o||l))},after:"Emphasis"}]};function br(i,e,t=0,n,r=0){let s=0,o=!0,a=-1,l=-1,c=!1,h=()=>{n.push(i.elt("TableCell",r+a,r+l,i.parser.parseInline(e.slice(a,l),r+a)))};for(let f=t;f-1)&&s++,o=!1,n&&(a>-1&&h(),n.push(i.elt("TableDelimiter",f+r,f+r+1))),a=l=-1):(c||u!=32&&u!=9)&&(a<0&&(a=f),l=f+1),c=!c&&u==92}return a>-1&&(s++,n&&h()),s}function bd(i,e){for(let t=e;t\s]*\|?(\s*:?-+:?\s*\|)+(\s*:?-+:?\s*)?$/,eo=class{constructor(){this.rows=null}nextLine(e,t,n){if(this.rows==null){this.rows=!1;let r;if((t.next==45||t.next==58||t.next==124)&&Bd.test(r=t.text.slice(t.pos))){let s=[];br(e,n.content,0,s,n.start)==br(e,r,0)&&(this.rows=[e.elt("TableHeader",n.start,n.start+n.content.length,s),e.elt("TableDelimiter",e.lineStart+t.pos,e.lineStart+t.text.length)])}}else if(this.rows){let r=[];br(e,t.text,t.pos,r,e.lineStart),this.rows.push(e.elt("TableRow",e.lineStart+t.pos,e.lineStart+t.text.length,r))}return!1}finish(e,t){return this.rows?(e.addLeafElement(t,e.elt("Table",t.start,t.start+t.content.length,this.rows)),!0):!1}},cy={defineNodes:[{name:"Table",block:!0},{name:"TableHeader",style:{"TableHeader/...":d.heading}},"TableRow",{name:"TableCell",style:d.content},{name:"TableDelimiter",style:d.processingInstruction}],parseBlock:[{name:"Table",leaf(i,e){return bd(e.content,0)?new eo:null},endLeaf(i,e,t){if(t.parsers.some(r=>r instanceof eo)||!bd(e.text,e.basePos))return!1;let n=i.peekLine();return Bd.test(n)&&br(i,e.text,e.basePos)==br(i,n,e.basePos)},before:"SetextHeading"}]},ic=class{nextLine(){return!1}finish(e,t){return e.addLeafElement(t,e.elt("Task",t.start,t.start+t.content.length,[e.elt("TaskMarker",t.start,t.start+3),...e.parser.parseInline(t.content.slice(3),t.start+3)])),!0}},hy={defineNodes:[{name:"Task",block:!0,style:d.list},{name:"TaskMarker",style:d.atom}],parseBlock:[{name:"TaskList",leaf(i,e){return/^\[[ xX]\][ \t]/.test(e.content)&&i.parentType().name=="ListItem"?new ic:null},after:"SetextHeading"}]},Sd=/(www\.)|(https?:\/\/)|([\w.+-]{1,100}@)|(mailto:|xmpp:)/gy,yd=/[\w-]+(\.[\w-]+)+(:\d+)?(\/[^\s<]*)?/gy,fy=/[\w-]+\.[\w-]+($|[/:])/,kd=/[\w.+-]+@[\w-]+(\.[\w.-]+)+/gy,xd=/\/[a-zA-Z\d@.]+/gy;function wd(i,e,t,n){let r=0;for(let s=e;s-1)return-1;let n=e+t[0].length;for(;;){let r=i[n-1],s;if(/[?!.,:*_~]/.test(r)||r==")"&&wd(i,e,n,")")>wd(i,e,n,"("))n--;else if(r==";"&&(s=/&(?:#\d+|#x[a-f\d]+|\w+);$/.exec(i.slice(e,n))))n=e+s.index;else break}return n}function Pd(i,e){kd.lastIndex=e;let t=kd.exec(i);if(!t)return-1;let n=t[0][t[0].length-1];return n=="_"||n=="-"?-1:e+t[0].length-(n=="."?1:0)}var Oy={parseInline:[{name:"Autolink",parse(i,e,t){let n=t-i.offset;if(n&&/\w/.test(i.text[n-1]))return-1;Sd.lastIndex=n;let r=Sd.exec(i.text),s=-1;if(!r)return-1;if(r[1]||r[2]){if(s=uy(i.text,n+r[0].length),s>-1&&i.hasOpenLink){let o=/([^\[\]]|\[[^\]]*\])*/.exec(i.text.slice(n,s));s=n+o[0].length}}else r[3]?s=Pd(i.text,n):(s=Pd(i.text,n+r[0].length),s>-1&&r[0]=="xmpp:"&&(xd.lastIndex=s,r=xd.exec(i.text),r&&(s=r.index+r[0].length)));return s<0?-1:(i.addElement(i.elt("URL",t,s+i.offset)),s+i.offset)}}]},Ud=[cy,hy,ly,Oy];function Gd(i,e,t){return(n,r,s)=>{if(r!=i||n.char(s+1)==i)return-1;let o=[n.elt(t,s,s+1)];for(let a=s+1;at%3==0).concat(this.state)}]@${this.pos}${this.score?"!"+this.score:""}`}static start(e,t,n=0){let r=e.parser.context;return new i(e,[],t,n,n,0,[],0,r?new to(r,r.start):null,0,null)}get context(){return this.curContext?this.curContext.context:null}pushState(e,t){this.stack.push(this.state,t,this.bufferBase+this.buffer.length),this.state=e}reduce(e){var t;let n=e>>19,r=e&65535,{parser:s}=this.p,o=this.reducePos=2e3&&!(!((t=this.p.parser.nodeSet.types[r])===null||t===void 0)&&t.isAnonymous)&&(c==this.p.lastBigReductionStart?(this.p.bigReductionCount++,this.p.lastBigReductionSize=h):this.p.lastBigReductionSizel;)this.stack.pop();this.reduceContext(r,c)}storeNode(e,t,n,r=4,s=!1){if(e==0&&(!this.stack.length||this.stack[this.stack.length-1]0&&this.buffer[o-4]==0&&this.buffer[o-1]>-1){if(t==n)return;if(this.buffer[o-2]>=t){this.buffer[o-2]=n;return}}}if(!s||this.pos==n)this.buffer.push(e,t,n,r);else{let o=this.buffer.length;if(o>0&&(this.buffer[o-4]!=0||this.buffer[o-1]<0)){let a=!1;for(let l=o;l>0&&this.buffer[l-2]>n;l-=4)if(this.buffer[l-1]>=0){a=!0;break}if(a)for(;o>0&&this.buffer[o-2]>n;)this.buffer[o]=this.buffer[o-4],this.buffer[o+1]=this.buffer[o-3],this.buffer[o+2]=this.buffer[o-2],this.buffer[o+3]=this.buffer[o-1],o-=4,r>4&&(r-=4)}this.buffer[o]=e,this.buffer[o+1]=t,this.buffer[o+2]=n,this.buffer[o+3]=r}}shift(e,t,n,r){if(e&131072)this.pushState(e&65535,this.pos);else if((e&262144)==0){let s=e,{parser:o}=this.p;this.pos=r;let a=o.stateFlag(s,1);!a&&(r>n||t<=o.maxNode)&&(this.reducePos=r),this.pushState(s,a?n:Math.min(n,this.reducePos)),this.shiftContext(t,n),t<=o.maxNode&&this.buffer.push(t,n,r,4)}else this.pos=r,this.shiftContext(t,n),t<=this.p.parser.maxNode&&this.buffer.push(t,n,r,4)}apply(e,t,n,r){e&65536?this.reduce(e):this.shift(e,t,n,r)}useNode(e,t){let n=this.p.reused.length-1;(n<0||this.p.reused[n]!=e)&&(this.p.reused.push(e),n++);let r=this.pos;this.reducePos=this.pos=r+e.length,this.pushState(t,r),this.buffer.push(n,r,this.reducePos,-1),this.curContext&&this.updateContext(this.curContext.tracker.reuse(this.curContext.context,e,this,this.p.stream.reset(this.pos-e.length)))}split(){let e=this,t=e.buffer.length;for(t&&e.buffer[t-4]==0&&(t-=4);t>0&&e.buffer[t-2]>e.reducePos;)t-=4;let n=e.buffer.slice(t),r=e.bufferBase+t;for(;e&&r==e.bufferBase;)e=e.parent;return new i(this.p,this.stack.slice(),this.state,this.reducePos,this.pos,this.score,n,r,this.curContext,this.lookAhead,e)}recoverByDelete(e,t){let n=e<=this.p.parser.maxNode;n&&this.storeNode(e,this.pos,t,4),this.storeNode(0,this.pos,t,n?8:4),this.pos=this.reducePos=t,this.score-=190}canShift(e){for(let t=new cc(this);;){let n=this.p.parser.stateSlot(t.state,4)||this.p.parser.hasAction(t.state,e);if(n==0)return!1;if((n&65536)==0)return!0;t.reduce(n)}}recoverByInsert(e){if(this.stack.length>=300)return[];let t=this.p.parser.nextStates(this.state);if(t.length>8||this.stack.length>=120){let r=[];for(let s=0,o;sl&1&&a==o)||r.push(t[s],o)}t=r}let n=[];for(let r=0;r>19,r=t&65535,s=this.stack.length-n*3;if(s<0||e.getGoto(this.stack[s],r,!1)<0){let o=this.findForcedReduction();if(o==null)return!1;t=o}this.storeNode(0,this.pos,this.pos,4,!0),this.score-=100}return this.reducePos=this.pos,this.reduce(t),!0}findForcedReduction(){let{parser:e}=this.p,t=[],n=(r,s)=>{if(!t.includes(r))return t.push(r),e.allActions(r,o=>{if(!(o&393216))if(o&65536){let a=(o>>19)-s;if(a>1){let l=o&65535,c=this.stack.length-a*3;if(c>=0&&e.getGoto(this.stack[c],l,!1)>=0)return a<<19|65536|l}}else{let a=n(o,s+1);if(a!=null)return a}})};return n(this.state,0)}forceAll(){for(;!this.p.parser.stateFlag(this.state,2);)if(!this.forceReduce()){this.storeNode(0,this.pos,this.pos,4,!0);break}return this}get deadEnd(){if(this.stack.length!=3)return!1;let{parser:e}=this.p;return e.data[e.stateSlot(this.state,1)]==65535&&!e.stateSlot(this.state,4)}restart(){this.storeNode(0,this.pos,this.pos,4,!0),this.state=this.stack[0],this.stack.length=0}sameState(e){if(this.state!=e.state||this.stack.length!=e.stack.length)return!1;for(let t=0;t0&&this.emitLookAhead()}},to=class{constructor(e,t){this.tracker=e,this.context=t,this.hash=e.strict?e.hash(t):0}},cc=class{constructor(e){this.start=e,this.state=e.state,this.stack=e.stack,this.base=this.stack.length}reduce(e){let t=e&65535,n=e>>19;n==0?(this.stack==this.start.stack&&(this.stack=this.stack.slice()),this.stack.push(this.state,0,0),this.base+=3):this.base-=(n-1)*3;let r=this.start.p.parser.getGoto(this.stack[this.base-3],t,!0);this.state=r}},hc=class i{constructor(e,t,n){this.stack=e,this.pos=t,this.index=n,this.buffer=e.buffer,this.index==0&&this.maybeNext()}static create(e,t=e.bufferBase+e.buffer.length){return new i(e,t,t-e.bufferBase)}maybeNext(){let e=this.stack.parent;e!=null&&(this.index=this.stack.bufferBase-e.bufferBase,this.stack=e,this.buffer=e.buffer)}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}next(){this.index-=4,this.pos-=4,this.index==0&&this.maybeNext()}fork(){return new i(this.stack,this.pos,this.index)}};function xr(i,e=Uint16Array){if(typeof i!="string")return i;let t=null;for(let n=0,r=0;n=92&&o--,o>=34&&o--;let l=o-32;if(l>=46&&(l-=46,a=!0),s+=l,a)break;s*=46}t?t[r++]=s:t=new e(s)}return t}var vn=class{constructor(){this.start=-1,this.value=-1,this.end=-1,this.extended=-1,this.lookAhead=0,this.mask=0,this.context=0}},Kd=new vn,fc=class{constructor(e,t){this.input=e,this.ranges=t,this.chunk="",this.chunkOff=0,this.chunk2="",this.chunk2Pos=0,this.next=-1,this.token=Kd,this.rangeIndex=0,this.pos=this.chunkPos=t[0].from,this.range=t[0],this.end=t[t.length-1].to,this.readNext()}resolveOffset(e,t){let n=this.range,r=this.rangeIndex,s=this.pos+e;for(;sn.to:s>=n.to;){if(r==this.ranges.length-1)return null;let o=this.ranges[++r];s+=o.from-n.to,n=o}return s}clipPos(e){if(e>=this.range.from&&ee)return Math.max(e,t.from);return this.end}peek(e){let t=this.chunkOff+e,n,r;if(t>=0&&t=this.chunk2Pos&&na.to&&(this.chunk2=this.chunk2.slice(0,a.to-n)),r=this.chunk2.charCodeAt(0)}}return n>=this.token.lookAhead&&(this.token.lookAhead=n+1),r}acceptToken(e,t=0){let n=t?this.resolveOffset(t,-1):this.pos;if(n==null||n=this.chunk2Pos&&this.posthis.range.to?e.slice(0,this.range.to-this.pos):e,this.chunkPos=this.pos,this.chunkOff=0}}readNext(){return this.chunkOff>=this.chunk.length&&(this.getChunk(),this.chunkOff==this.chunk.length)?this.next=-1:this.next=this.chunk.charCodeAt(this.chunkOff)}advance(e=1){for(this.chunkOff+=e;this.pos+e>=this.range.to;){if(this.rangeIndex==this.ranges.length-1)return this.setDone();e-=this.range.to-this.pos,this.range=this.ranges[++this.rangeIndex],this.pos=this.range.from}return this.pos+=e,this.pos>=this.token.lookAhead&&(this.token.lookAhead=this.pos+1),this.readNext()}setDone(){return this.pos=this.chunkPos=this.end,this.range=this.ranges[this.rangeIndex=this.ranges.length-1],this.chunk="",this.next=-1}reset(e,t){if(t?(this.token=t,t.start=e,t.lookAhead=e+1,t.value=t.extended=-1):this.token=Kd,this.pos!=e){if(this.pos=e,e==this.end)return this.setDone(),this;for(;e=this.range.to;)this.range=this.ranges[++this.rangeIndex];e>=this.chunkPos&&e=this.chunkPos&&t<=this.chunkPos+this.chunk.length)return this.chunk.slice(e-this.chunkPos,t-this.chunkPos);if(e>=this.chunk2Pos&&t<=this.chunk2Pos+this.chunk2.length)return this.chunk2.slice(e-this.chunk2Pos,t-this.chunk2Pos);if(e>=this.range.from&&t<=this.range.to)return this.input.read(e,t);let n="";for(let r of this.ranges){if(r.from>=t)break;r.to>e&&(n+=this.input.read(Math.max(r.from,e),Math.min(r.to,t)))}return n}},Si=class{constructor(e,t){this.data=e,this.id=t}token(e,t){let{parser:n}=t.p;np(this.data,e,t,this.id,n.data,n.tokenPrecTable)}};Si.prototype.contextual=Si.prototype.fallback=Si.prototype.extend=!1;var yi=class{constructor(e,t,n){this.precTable=t,this.elseToken=n,this.data=typeof e=="string"?xr(e):e}token(e,t){let n=e.pos,r=0;for(;;){let s=e.next<0,o=e.resolveOffset(1,1);if(np(this.data,e,t,0,this.data,this.precTable),e.token.value>-1)break;if(this.elseToken==null)return;if(s||r++,o==null)break;e.reset(o,e.token)}r&&(e.reset(n,e.token),e.acceptToken(this.elseToken,r))}};yi.prototype.contextual=Si.prototype.fallback=Si.prototype.extend=!1;var J=class{constructor(e,t={}){this.token=e,this.contextual=!!t.contextual,this.fallback=!!t.fallback,this.extend=!!t.extend}};function np(i,e,t,n,r,s){let o=0,a=1<0){let p=i[O];if(l.allows(p)&&(e.token.value==-1||e.token.value==p||py(p,e.token.value,r,s))){e.acceptToken(p);break}}let h=e.next,f=0,u=i[o+2];if(e.next<0&&u>f&&i[c+u*3-3]==65535){o=i[c+u*3-1];continue e}for(;f>1,p=c+O+(O<<1),m=i[p],b=i[p+1]||65536;if(h=b)f=O+1;else{o=i[p+2],e.advance();continue e}}break}}function Jd(i,e,t){for(let n=e,r;(r=i[n])!=65535;n++)if(r==t)return n-e;return-1}function py(i,e,t,n){let r=Jd(t,n,e);return r<0||Jd(t,n,i)e)&&!n.type.isError)return t<0?Math.max(0,Math.min(n.to-1,e-25)):Math.min(i.length,Math.max(n.from+1,e+25));if(t<0?n.prevSibling():n.nextSibling())break;if(!n.parent())return t<0?0:i.length}}var uc=class{constructor(e,t){this.fragments=e,this.nodeSet=t,this.i=0,this.fragment=null,this.safeFrom=-1,this.safeTo=-1,this.trees=[],this.start=[],this.index=[],this.nextFragment()}nextFragment(){let e=this.fragment=this.i==this.fragments.length?null:this.fragments[this.i++];if(e){for(this.safeFrom=e.openStart?ep(e.tree,e.from+e.offset,1)-e.offset:e.from,this.safeTo=e.openEnd?ep(e.tree,e.to+e.offset,-1)-e.offset:e.to;this.trees.length;)this.trees.pop(),this.start.pop(),this.index.pop();this.trees.push(e.tree),this.start.push(-e.offset),this.index.push(0),this.nextStart=this.safeFrom}else this.nextStart=1e9}nodeAt(e){if(ee)return this.nextStart=o,null;if(s instanceof H){if(o==e){if(o=Math.max(this.safeFrom,e)&&(this.trees.push(s),this.start.push(o),this.index.push(0))}else this.index[t]++,this.nextStart=o+s.length}}},Oc=class{constructor(e,t){this.stream=t,this.tokens=[],this.mainToken=null,this.actions=[],this.tokens=e.tokenizers.map(n=>new vn)}getActions(e){let t=0,n=null,{parser:r}=e.p,{tokenizers:s}=r,o=r.stateSlot(e.state,3),a=e.curContext?e.curContext.hash:0,l=0;for(let c=0;cf.end+25&&(l=Math.max(f.lookAhead,l)),f.value!=0)){let u=t;if(f.extended>-1&&(t=this.addActions(e,f.extended,f.end,t)),t=this.addActions(e,f.value,f.end,t),!h.extend&&(n=f,t>u))break}}for(;this.actions.length>t;)this.actions.pop();return l&&e.setLookAhead(l),!n&&e.pos==this.stream.end&&(n=new vn,n.value=e.p.parser.eofTerm,n.start=n.end=e.pos,t=this.addActions(e,n.value,n.end,t)),this.mainToken=n,this.actions}getMainToken(e){if(this.mainToken)return this.mainToken;let t=new vn,{pos:n,p:r}=e;return t.start=n,t.end=Math.min(n+1,r.stream.end),t.value=n==r.stream.end?r.parser.eofTerm:0,t}updateCachedToken(e,t,n){let r=this.stream.clipPos(n.pos);if(t.token(this.stream.reset(r,e),n),e.value>-1){let{parser:s}=n.p;for(let o=0;o=0&&n.p.parser.dialect.allows(a>>1)){(a&1)==0?e.value=a>>1:e.extended=a>>1;break}}}else e.value=0,e.end=this.stream.clipPos(r+1)}putAction(e,t,n,r){for(let s=0;se.bufferLength*4?new uc(n,e.nodeSet):null}get parsedPos(){return this.minStackPos}advance(){let e=this.stacks,t=this.minStackPos,n=this.stacks=[],r,s;if(this.bigReductionCount>300&&e.length==1){let[o]=e;for(;o.forceReduce()&&o.stack.length&&o.stack[o.stack.length-2]>=this.lastBigReductionStart;);this.bigReductionCount=this.lastBigReductionSize=0}for(let o=0;ot)n.push(a);else{if(this.advanceStack(a,n,e))continue;{r||(r=[],s=[]),r.push(a);let l=this.tokens.getMainToken(a);s.push(l.value,l.end)}}break}}if(!n.length){let o=r&&my(r);if(o)return Ke&&console.log("Finish with "+this.stackID(o)),this.stackToTree(o);if(this.parser.strict)throw Ke&&r&&console.log("Stuck with token "+(this.tokens.mainToken?this.parser.getName(this.tokens.mainToken.value):"none")),new SyntaxError("No parse at "+t);this.recovering||(this.recovering=5)}if(this.recovering&&r){let o=this.stoppedAt!=null&&r[0].pos>this.stoppedAt?r[0]:this.runRecovery(r,s,n);if(o)return Ke&&console.log("Force-finish "+this.stackID(o)),this.stackToTree(o.forceAll())}if(this.recovering){let o=this.recovering==1?1:this.recovering*3;if(n.length>o)for(n.sort((a,l)=>l.score-a.score);n.length>o;)n.pop();n.some(a=>a.reducePos>t)&&this.recovering--}else if(n.length>1){e:for(let o=0;o500&&c.buffer.length>500)if((a.score-c.score||a.buffer.length-c.buffer.length)>0)n.splice(l--,1);else{n.splice(o--,1);continue e}}}n.length>12&&(n.sort((o,a)=>a.score-o.score),n.splice(12,n.length-12))}this.minStackPos=n[0].pos;for(let o=1;o ":"";if(this.stoppedAt!=null&&r>this.stoppedAt)return e.forceReduce()?e:null;if(this.fragments){let c=e.curContext&&e.curContext.tracker.strict,h=c?e.curContext.hash:0;for(let f=this.fragments.nodeAt(r);f;){let u=this.parser.nodeSet.types[f.type.id]==f.type?s.getGoto(e.state,f.type.id):-1;if(u>-1&&f.length&&(!c||(f.prop(I.contextHash)||0)==h))return e.useNode(f,u),Ke&&console.log(o+this.stackID(e)+` (via reuse of ${s.getName(f.type.id)})`),!0;if(!(f instanceof H)||f.children.length==0||f.positions[0]>0)break;let O=f.children[0];if(O instanceof H&&f.positions[0]==0)f=O;else break}}let a=s.stateSlot(e.state,4);if(a>0)return e.reduce(a),Ke&&console.log(o+this.stackID(e)+` (via always-reduce ${s.getName(a&65535)})`),!0;if(e.stack.length>=8400)for(;e.stack.length>6e3&&e.forceReduce(););let l=this.tokens.getActions(e);for(let c=0;cr?t.push(p):n.push(p)}return!1}advanceFully(e,t){let n=e.pos;for(;;){if(!this.advanceStack(e,null,null))return!1;if(e.pos>n)return tp(e,t),!0}}runRecovery(e,t,n){let r=null,s=!1;for(let o=0;o ":"";if(a.deadEnd&&(s||(s=!0,a.restart(),Ke&&console.log(h+this.stackID(a)+" (restarted)"),this.advanceFully(a,n))))continue;let f=a.split(),u=h;for(let O=0;O<10&&f.forceReduce()&&(Ke&&console.log(u+this.stackID(f)+" (via force-reduce)"),!this.advanceFully(f,n));O++)Ke&&(u=this.stackID(f)+" -> ");for(let O of a.recoverByInsert(l))Ke&&console.log(h+this.stackID(O)+" (via recover-insert)"),this.advanceFully(O,n);this.stream.end>a.pos?(c==a.pos&&(c++,l=0),a.recoverByDelete(l,c),Ke&&console.log(h+this.stackID(a)+` (via recover-delete ${this.parser.getName(l)})`),tp(a,n)):(!r||r.scorei,dt=class{constructor(e){this.start=e.start,this.shift=e.shift||ac,this.reduce=e.reduce||ac,this.reuse=e.reuse||ac,this.hash=e.hash||(()=>0),this.strict=e.strict!==!1}},Pe=class i extends It{constructor(e){if(super(),this.wrappers=[],e.version!=14)throw new RangeError(`Parser version (${e.version}) doesn't match runtime version (14)`);let t=e.nodeNames.split(" ");this.minRepeatTerm=t.length;for(let a=0;ae.topRules[a][1]),r=[];for(let a=0;a=0)s(h,l,a[c++]);else{let f=a[c+-h];for(let u=-h;u>0;u--)s(a[c++],l,f);c++}}}this.nodeSet=new Dt(t.map((a,l)=>Oe.define({name:l>=this.minRepeatTerm?void 0:a,id:l,props:r[l],top:n.indexOf(l)>-1,error:l==0,skipped:e.skippedNodes&&e.skippedNodes.indexOf(l)>-1}))),e.propSources&&(this.nodeSet=this.nodeSet.extend(...e.propSources)),this.strict=!1,this.bufferLength=1024;let o=xr(e.tokenData);this.context=e.context,this.specializerSpecs=e.specialized||[],this.specialized=new Uint16Array(this.specializerSpecs.length);for(let a=0;atypeof a=="number"?new Si(o,a):a),this.topRules=e.topRules,this.dialects=e.dialects||{},this.dynamicPrecedences=e.dynamicPrecedences||null,this.tokenPrecTable=e.tokenPrec,this.termNames=e.termNames||null,this.maxNode=this.nodeSet.types.length-1,this.dialect=this.parseDialect(),this.top=this.topRules[Object.keys(this.topRules)[0]]}createParse(e,t,n){let r=new dc(this,e,t,n);for(let s of this.wrappers)r=s(r,e,t,n);return r}getGoto(e,t,n=!1){let r=this.goto;if(t>=r[0])return-1;for(let s=r[t+1];;){let o=r[s++],a=o&1,l=r[s++];if(a&&n)return l;for(let c=s+(o>>1);s0}validAction(e,t){return!!this.allActions(e,n=>n==t?!0:null)}allActions(e,t){let n=this.stateSlot(e,4),r=n?t(n):void 0;for(let s=this.stateSlot(e,1);r==null;s+=3){if(this.data[s]==65535)if(this.data[s+1]==1)s=Ut(this.data,s+2);else break;r=t(Ut(this.data,s+1))}return r}nextStates(e){let t=[];for(let n=this.stateSlot(e,1);;n+=3){if(this.data[n]==65535)if(this.data[n+1]==1)n=Ut(this.data,n+2);else break;if((this.data[n+2]&1)==0){let r=this.data[n+1];t.some((s,o)=>o&1&&s==r)||t.push(this.data[n],r)}}return t}configure(e){let t=Object.assign(Object.create(i.prototype),this);if(e.props&&(t.nodeSet=this.nodeSet.extend(...e.props)),e.top){let n=this.topRules[e.top];if(!n)throw new RangeError(`Invalid top rule name ${e.top}`);t.top=n}return e.tokenizers&&(t.tokenizers=this.tokenizers.map(n=>{let r=e.tokenizers.find(s=>s.from==n);return r?r.to:n})),e.specializers&&(t.specializers=this.specializers.slice(),t.specializerSpecs=this.specializerSpecs.map((n,r)=>{let s=e.specializers.find(a=>a.from==n.external);if(!s)return n;let o=Object.assign(Object.assign({},n),{external:s.to});return t.specializers[r]=ip(o),o})),e.contextTracker&&(t.context=e.contextTracker),e.dialect&&(t.dialect=this.parseDialect(e.dialect)),e.strict!=null&&(t.strict=e.strict),e.wrap&&(t.wrappers=t.wrappers.concat(e.wrap)),e.bufferLength!=null&&(t.bufferLength=e.bufferLength),t}hasWrappers(){return this.wrappers.length>0}getName(e){return this.termNames?this.termNames[e]:String(e<=this.maxNode&&this.nodeSet.types[e].name||e)}get eofTerm(){return this.maxNode+1}get topNode(){return this.nodeSet.types[this.top[1]]}dynamicPrecedence(e){let t=this.dynamicPrecedences;return t==null?0:t[e]||0}parseDialect(e){let t=Object.keys(this.dialects),n=t.map(()=>!1);if(e)for(let s of e.split(" ")){let o=t.indexOf(s);o>=0&&(n[o]=!0)}let r=null;for(let s=0;sn)&&t.p.parser.stateFlag(t.state,2)&&(!e||e.scorei.external(t,n)<<1|e}return i.get}var gy=55,Qy=1,by=56,Sy=2,yy=57,ky=3,rp=4,xy=5,Sc=6,up=7,Op=8,dp=9,pp=10,wy=11,Py=12,vy=13,mc=58,$y=14,Ty=15,sp=59,mp=21,Cy=23,gp=24,Xy=25,Qc=27,Qp=28,_y=29,Ry=32,Ay=35,Zy=37,Ey=38,qy=0,zy=1,Ly={area:!0,base:!0,br:!0,col:!0,command:!0,embed:!0,frame:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0,menuitem:!0},My={dd:!0,li:!0,optgroup:!0,option:!0,p:!0,rp:!0,rt:!0,tbody:!0,td:!0,tfoot:!0,th:!0,tr:!0},op={dd:{dd:!0,dt:!0},dt:{dd:!0,dt:!0},li:{li:!0},option:{option:!0,optgroup:!0},optgroup:{optgroup:!0},p:{address:!0,article:!0,aside:!0,blockquote:!0,dir:!0,div:!0,dl:!0,fieldset:!0,footer:!0,form:!0,h1:!0,h2:!0,h3:!0,h4:!0,h5:!0,h6:!0,header:!0,hgroup:!0,hr:!0,menu:!0,nav:!0,ol:!0,p:!0,pre:!0,section:!0,table:!0,ul:!0},rp:{rp:!0,rt:!0},rt:{rp:!0,rt:!0},tbody:{tbody:!0,tfoot:!0},td:{td:!0,th:!0},tfoot:{tbody:!0},th:{td:!0,th:!0},thead:{tbody:!0,tfoot:!0},tr:{tr:!0}};function Wy(i){return i==45||i==46||i==58||i>=65&&i<=90||i==95||i>=97&&i<=122||i>=161}var ap=null,lp=null,cp=0;function bc(i,e){let t=i.pos+e;if(cp==t&&lp==i)return ap;let n=i.peek(e),r="";for(;Wy(n);)r+=String.fromCharCode(n),n=i.peek(++e);return lp=i,cp=t,ap=r?r.toLowerCase():n==jy||n==Vy?void 0:null}var bp=60,io=62,yc=47,jy=63,Vy=33,Dy=45;function hp(i,e){this.name=i,this.parent=e}var Yy=[Sc,pp,up,Op,dp],Iy=new dt({start:null,shift(i,e,t,n){return Yy.indexOf(e)>-1?new hp(bc(n,1)||"",i):i},reduce(i,e){return e==mp&&i?i.parent:i},reuse(i,e,t,n){let r=e.type.id;return r==Sc||r==Zy?new hp(bc(n,1)||"",i):i},strict:!1}),By=new J((i,e)=>{if(i.next!=bp){i.next<0&&e.context&&i.acceptToken(mc);return}i.advance();let t=i.next==yc;t&&i.advance();let n=bc(i,0);if(n===void 0)return;if(!n)return i.acceptToken(t?Ty:$y);let r=e.context?e.context.name:null;if(t){if(n==r)return i.acceptToken(wy);if(r&&My[r])return i.acceptToken(mc,-2);if(e.dialectEnabled(qy))return i.acceptToken(Py);for(let s=e.context;s;s=s.parent)if(s.name==n)return;i.acceptToken(vy)}else{if(n=="script")return i.acceptToken(up);if(n=="style")return i.acceptToken(Op);if(n=="textarea")return i.acceptToken(dp);if(Ly.hasOwnProperty(n))return i.acceptToken(pp);r&&op[r]&&op[r][n]?i.acceptToken(mc,-1):i.acceptToken(Sc)}},{contextual:!0}),Uy=new J(i=>{for(let e=0,t=0;;t++){if(i.next<0){t&&i.acceptToken(sp);break}if(i.next==Dy)e++;else if(i.next==io&&e>=2){t>=3&&i.acceptToken(sp,-2);break}else e=0;i.advance()}});function Gy(i){for(;i;i=i.parent)if(i.name=="svg"||i.name=="math")return!0;return!1}var Ny=new J((i,e)=>{if(i.next==yc&&i.peek(1)==io){let t=e.dialectEnabled(zy)||Gy(e.context);i.acceptToken(t?xy:rp,2)}else i.next==io&&i.acceptToken(rp,1)});function kc(i,e,t){let n=2+i.length;return new J(r=>{for(let s=0,o=0,a=0;;a++){if(r.next<0){a&&r.acceptToken(e);break}if(s==0&&r.next==bp||s==1&&r.next==yc||s>=2&&so?r.acceptToken(e,-o):r.acceptToken(t,-(o-2));break}else if((r.next==10||r.next==13)&&a){r.acceptToken(e,1);break}else s=o=0;r.advance()}})}var Fy=kc("script",gy,Qy),Hy=kc("style",by,Sy),Ky=kc("textarea",yy,ky),Jy=Qe({"Text RawText IncompleteTag IncompleteCloseTag":d.content,"StartTag StartCloseTag SelfClosingEndTag EndTag":d.angleBracket,TagName:d.tagName,"MismatchedCloseTag/TagName":[d.tagName,d.invalid],AttributeName:d.attributeName,"AttributeValue UnquotedAttributeValue":d.attributeValue,Is:d.definitionOperator,"EntityReference CharacterReference":d.character,Comment:d.blockComment,ProcessingInst:d.processingInstruction,DoctypeDecl:d.documentMeta}),Sp=Pe.deserialize({version:14,states:",xOVO!rOOO!ZQ#tO'#CrO!`Q#tO'#C{O!eQ#tO'#DOO!jQ#tO'#DRO!oQ#tO'#DTO!tOaO'#CqO#PObO'#CqO#[OdO'#CqO$kO!rO'#CqOOO`'#Cq'#CqO$rO$fO'#DUO$zQ#tO'#DWO%PQ#tO'#DXOOO`'#Dl'#DlOOO`'#DZ'#DZQVO!rOOO%UQ&rO,59^O%aQ&rO,59gO%lQ&rO,59jO%wQ&rO,59mO&SQ&rO,59oOOOa'#D_'#D_O&_OaO'#CyO&jOaO,59]OOOb'#D`'#D`O&rObO'#C|O&}ObO,59]OOOd'#Da'#DaO'VOdO'#DPO'bOdO,59]OOO`'#Db'#DbO'jO!rO,59]O'qQ#tO'#DSOOO`,59],59]OOOp'#Dc'#DcO'vO$fO,59pOOO`,59p,59pO(OQ#|O,59rO(TQ#|O,59sOOO`-E7X-E7XO(YQ&rO'#CtOOQW'#D['#D[O(hQ&rO1G.xOOOa1G.x1G.xOOO`1G/Z1G/ZO(sQ&rO1G/ROOOb1G/R1G/RO)OQ&rO1G/UOOOd1G/U1G/UO)ZQ&rO1G/XOOO`1G/X1G/XO)fQ&rO1G/ZOOOa-E7]-E7]O)qQ#tO'#CzOOO`1G.w1G.wOOOb-E7^-E7^O)vQ#tO'#C}OOOd-E7_-E7_O){Q#tO'#DQOOO`-E7`-E7`O*QQ#|O,59nOOOp-E7a-E7aOOO`1G/[1G/[OOO`1G/^1G/^OOO`1G/_1G/_O*VQ,UO,59`OOQW-E7Y-E7YOOOa7+$d7+$dOOO`7+$u7+$uOOOb7+$m7+$mOOOd7+$p7+$pOOO`7+$s7+$sO*bQ#|O,59fO*gQ#|O,59iO*lQ#|O,59lOOO`1G/Y1G/YO*qO7[O'#CwO+SOMhO'#CwOOQW1G.z1G.zOOO`1G/Q1G/QOOO`1G/T1G/TOOO`1G/W1G/WOOOO'#D]'#D]O+eO7[O,59cOOQW,59c,59cOOOO'#D^'#D^O+vOMhO,59cOOOO-E7Z-E7ZOOQW1G.}1G.}OOOO-E7[-E7[",stateData:",c~O!_OS~OUSOVPOWQOXROYTO[]O][O^^O_^Oa^Ob^Oc^Od^Oy^O|_O!eZO~OgaO~OgbO~OgcO~OgdO~OgeO~O!XfOPmP![mP~O!YiOQpP![pP~O!ZlORsP![sP~OUSOVPOWQOXROYTOZqO[]O][O^^O_^Oa^Ob^Oc^Od^Oy^O!eZO~O![rO~P#gO!]sO!fuO~OgvO~OgwO~OS|OT}OiyO~OS!POT}OiyO~OS!ROT}OiyO~OS!TOT}OiyO~OS}OT}OiyO~O!XfOPmX![mX~OP!WO![!XO~O!YiOQpX![pX~OQ!ZO![!XO~O!ZlORsX![sX~OR!]O![!XO~O![!XO~P#gOg!_O~O!]sO!f!aO~OS!bO~OS!cO~Oj!dOShXThXihX~OS!fOT!gOiyO~OS!hOT!gOiyO~OS!iOT!gOiyO~OS!jOT!gOiyO~OS!gOT!gOiyO~Og!kO~Og!lO~Og!mO~OS!nO~Ol!qO!a!oO!c!pO~OS!rO~OS!sO~OS!tO~Ob!uOc!uOd!uO!a!wO!b!uO~Ob!xOc!xOd!xO!c!wO!d!xO~Ob!uOc!uOd!uO!a!{O!b!uO~Ob!xOc!xOd!xO!c!{O!d!xO~OT~cbd!ey|!e~",goto:"%q!aPPPPPPPPPPPPPPPPPPPPP!b!hP!nPP!zP!}#Q#T#Z#^#a#g#j#m#s#y!bP!b!bP$P$V$m$s$y%P%V%]%cPPPPPPPP%iX^OX`pXUOX`pezabcde{!O!Q!S!UR!q!dRhUR!XhXVOX`pRkVR!XkXWOX`pRnWR!XnXXOX`pQrXR!XpXYOX`pQ`ORx`Q{aQ!ObQ!QcQ!SdQ!UeZ!e{!O!Q!S!UQ!v!oR!z!vQ!y!pR!|!yQgUR!VgQjVR!YjQmWR![mQpXR!^pQtZR!`tS_O`ToXp",nodeNames:"\u26A0 StartCloseTag StartCloseTag StartCloseTag EndTag SelfClosingEndTag StartTag StartTag StartTag StartTag StartTag StartCloseTag StartCloseTag StartCloseTag IncompleteTag IncompleteCloseTag Document Text EntityReference CharacterReference InvalidEntity Element OpenTag TagName Attribute AttributeName Is AttributeValue UnquotedAttributeValue ScriptText CloseTag OpenTag StyleText CloseTag OpenTag TextareaText CloseTag OpenTag CloseTag SelfClosingTag Comment ProcessingInst MismatchedCloseTag CloseTag DoctypeDecl",maxTerm:68,context:Iy,nodeProps:[["closedBy",-10,1,2,3,7,8,9,10,11,12,13,"EndTag",6,"EndTag SelfClosingEndTag",-4,22,31,34,37,"CloseTag"],["openedBy",4,"StartTag StartCloseTag",5,"StartTag",-4,30,33,36,38,"OpenTag"],["group",-10,14,15,18,19,20,21,40,41,42,43,"Entity",17,"Entity TextContent",-3,29,32,35,"TextContent Entity"],["isolate",-11,22,30,31,33,34,36,37,38,39,42,43,"ltr",-3,27,28,40,""]],propSources:[Jy],skippedNodes:[0],repeatNodeCount:9,tokenData:"!]tw8twx7Sx!P8t!P!Q5u!Q!]8t!]!^/^!^!a7S!a#S8t#S#T;{#T#s8t#s$f5u$f;'S8t;'S;=`>V<%l?Ah8t?Ah?BY5u?BY?Mn8t?MnO5u!Z5zblWOX5uXZ7SZ[5u[^7S^p5uqr5urs7Sst+Ptw5uwx7Sx!]5u!]!^7w!^!a7S!a#S5u#S#T7S#T;'S5u;'S;=`8n<%lO5u!R7VVOp7Sqs7St!]7S!]!^7l!^;'S7S;'S;=`7q<%lO7S!R7qOb!R!R7tP;=`<%l7S!Z8OYlWb!ROX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+P!Z8qP;=`<%l5u!_8{iiSlWOX5uXZ7SZ[5u[^7S^p5uqr8trs7Sst/^tw8twx7Sx!P8t!P!Q5u!Q!]8t!]!^:j!^!a7S!a#S8t#S#T;{#T#s8t#s$f5u$f;'S8t;'S;=`>V<%l?Ah8t?Ah?BY5u?BY?Mn8t?MnO5u!_:sbiSlWb!ROX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+P!VP<%l?Ah;{?Ah?BY7S?BY?Mn;{?MnO7S!V=dXiSb!Rqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0m!V>SP;=`<%l;{!_>YP;=`<%l8t!_>dhiSlWOX@OXZAYZ[@O[^AY^p@OqrBwrsAYswBwwxAYx!PBw!P!Q@O!Q!]Bw!]!^/^!^!aAY!a#SBw#S#TE{#T#sBw#s$f@O$f;'SBw;'S;=`HS<%l?AhBw?Ah?BY@O?BY?MnBw?MnO@O!Z@TalWOX@OXZAYZ[@O[^AY^p@Oqr@OrsAYsw@OwxAYx!]@O!]!^Az!^!aAY!a#S@O#S#TAY#T;'S@O;'S;=`Bq<%lO@O!RA]UOpAYq!]AY!]!^Ao!^;'SAY;'S;=`At<%lOAY!RAtOc!R!RAwP;=`<%lAY!ZBRYlWc!ROX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+P!ZBtP;=`<%l@O!_COhiSlWOX@OXZAYZ[@O[^AY^p@OqrBwrsAYswBwwxAYx!PBw!P!Q@O!Q!]Bw!]!^Dj!^!aAY!a#SBw#S#TE{#T#sBw#s$f@O$f;'SBw;'S;=`HS<%l?AhBw?Ah?BY@O?BY?MnBw?MnO@O!_DsbiSlWc!ROX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+P!VFQbiSOpAYqrE{rsAYswE{wxAYx!PE{!P!QAY!Q!]E{!]!^GY!^!aAY!a#sE{#s$fAY$f;'SE{;'S;=`G|<%l?AhE{?Ah?BYAY?BY?MnE{?MnOAY!VGaXiSc!Rqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0m!VHPP;=`<%lE{!_HVP;=`<%lBw!ZHcW!cxaP!b`Or(trs'ksv(tw!^(t!^!_)e!_;'S(t;'S;=`*P<%lO(t!aIYliSaPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx}-_}!OKQ!O!P-_!P!Q$q!Q!^-_!^!_*V!_!a&X!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q!aK_kiSaPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx!P-_!P!Q$q!Q!^-_!^!_*V!_!`&X!`!aMS!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q!TM_XaP!b`!dp!fQOr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&X!aNZ!ZiSgQaPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx}-_}!OMz!O!PMz!P!Q$q!Q![Mz![!]Mz!]!^-_!^!_*V!_!a&X!a!c-_!c!}Mz!}#R-_#R#SMz#S#T1k#T#oMz#o#s-_#s$f$q$f$}-_$}%OMz%O%W-_%W%oMz%o%p-_%p&aMz&a&b-_&b1pMz1p4UMz4U4dMz4d4e-_4e$ISMz$IS$I`-_$I`$IbMz$Ib$Je-_$Je$JgMz$Jg$Kh-_$Kh%#tMz%#t&/x-_&/x&EtMz&Et&FV-_&FV;'SMz;'S;:j!#|;:j;=`3X<%l?&r-_?&r?AhMz?Ah?BY$q?BY?MnMz?MnO$q!a!$PP;=`<%lMz!R!$ZY!b`!dpOq*Vqr!$yrs(Vsv*Vwx)ex!a*V!a!b!4t!b;'S*V;'S;=`*s<%lO*V!R!%Q]!b`!dpOr*Vrs(Vsv*Vwx)ex}*V}!O!%y!O!f*V!f!g!']!g#W*V#W#X!0`#X;'S*V;'S;=`*s<%lO*V!R!&QX!b`!dpOr*Vrs(Vsv*Vwx)ex}*V}!O!&m!O;'S*V;'S;=`*s<%lO*V!R!&vV!b`!dp!ePOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!'dX!b`!dpOr*Vrs(Vsv*Vwx)ex!q*V!q!r!(P!r;'S*V;'S;=`*s<%lO*V!R!(WX!b`!dpOr*Vrs(Vsv*Vwx)ex!e*V!e!f!(s!f;'S*V;'S;=`*s<%lO*V!R!(zX!b`!dpOr*Vrs(Vsv*Vwx)ex!v*V!v!w!)g!w;'S*V;'S;=`*s<%lO*V!R!)nX!b`!dpOr*Vrs(Vsv*Vwx)ex!{*V!{!|!*Z!|;'S*V;'S;=`*s<%lO*V!R!*bX!b`!dpOr*Vrs(Vsv*Vwx)ex!r*V!r!s!*}!s;'S*V;'S;=`*s<%lO*V!R!+UX!b`!dpOr*Vrs(Vsv*Vwx)ex!g*V!g!h!+q!h;'S*V;'S;=`*s<%lO*V!R!+xY!b`!dpOr!+qrs!,hsv!+qvw!-Swx!.[x!`!+q!`!a!/j!a;'S!+q;'S;=`!0Y<%lO!+qq!,mV!dpOv!,hvx!-Sx!`!,h!`!a!-q!a;'S!,h;'S;=`!.U<%lO!,hP!-VTO!`!-S!`!a!-f!a;'S!-S;'S;=`!-k<%lO!-SP!-kO|PP!-nP;=`<%l!-Sq!-xS!dp|POv(Vx;'S(V;'S;=`(h<%lO(Vq!.XP;=`<%l!,ha!.aX!b`Or!.[rs!-Ssv!.[vw!-Sw!`!.[!`!a!.|!a;'S!.[;'S;=`!/d<%lO!.[a!/TT!b`|POr)esv)ew;'S)e;'S;=`)y<%lO)ea!/gP;=`<%l!.[!R!/sV!b`!dp|POr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!0]P;=`<%l!+q!R!0gX!b`!dpOr*Vrs(Vsv*Vwx)ex#c*V#c#d!1S#d;'S*V;'S;=`*s<%lO*V!R!1ZX!b`!dpOr*Vrs(Vsv*Vwx)ex#V*V#V#W!1v#W;'S*V;'S;=`*s<%lO*V!R!1}X!b`!dpOr*Vrs(Vsv*Vwx)ex#h*V#h#i!2j#i;'S*V;'S;=`*s<%lO*V!R!2qX!b`!dpOr*Vrs(Vsv*Vwx)ex#m*V#m#n!3^#n;'S*V;'S;=`*s<%lO*V!R!3eX!b`!dpOr*Vrs(Vsv*Vwx)ex#d*V#d#e!4Q#e;'S*V;'S;=`*s<%lO*V!R!4XX!b`!dpOr*Vrs(Vsv*Vwx)ex#X*V#X#Y!+q#Y;'S*V;'S;=`*s<%lO*V!R!4{Y!b`!dpOr!4trs!5ksv!4tvw!6Vwx!8]x!a!4t!a!b!:]!b;'S!4t;'S;=`!;r<%lO!4tq!5pV!dpOv!5kvx!6Vx!a!5k!a!b!7W!b;'S!5k;'S;=`!8V<%lO!5kP!6YTO!a!6V!a!b!6i!b;'S!6V;'S;=`!7Q<%lO!6VP!6lTO!`!6V!`!a!6{!a;'S!6V;'S;=`!7Q<%lO!6VP!7QOyPP!7TP;=`<%l!6Vq!7]V!dpOv!5kvx!6Vx!`!5k!`!a!7r!a;'S!5k;'S;=`!8V<%lO!5kq!7yS!dpyPOv(Vx;'S(V;'S;=`(h<%lO(Vq!8YP;=`<%l!5ka!8bX!b`Or!8]rs!6Vsv!8]vw!6Vw!a!8]!a!b!8}!b;'S!8];'S;=`!:V<%lO!8]a!9SX!b`Or!8]rs!6Vsv!8]vw!6Vw!`!8]!`!a!9o!a;'S!8];'S;=`!:V<%lO!8]a!9vT!b`yPOr)esv)ew;'S)e;'S;=`)y<%lO)ea!:YP;=`<%l!8]!R!:dY!b`!dpOr!4trs!5ksv!4tvw!6Vwx!8]x!`!4t!`!a!;S!a;'S!4t;'S;=`!;r<%lO!4t!R!;]V!b`!dpyPOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!;uP;=`<%l!4t!V!{let c=a.type.id;if(c==_y)return gc(a,l,t);if(c==Ry)return gc(a,l,n);if(c==Ay)return gc(a,l,r);if(c==mp&&s.length){let h=a.node,f=h.firstChild,u=f&&fp(f,l),O;if(u){for(let p of s)if(p.tag==u&&(!p.attrs||p.attrs(O||(O=yp(f,l))))){let m=h.lastChild,b=m.type.id==Ey?m.from:h.to;if(b>f.to)return{parser:p.parser,overlay:[{from:f.to,to:b}]}}}}if(o&&c==gp){let h=a.node,f;if(f=h.firstChild){let u=o[l.read(f.from,f.to)];if(u)for(let O of u){if(O.tagName&&O.tagName!=fp(h.parent,l))continue;let p=h.lastChild;if(p.type.id==Qc){let m=p.from+1,b=p.lastChild,g=p.to-(b&&b.isError?0:1);if(g>m)return{parser:O.parser,overlay:[{from:m,to:g}],bracketed:!0}}else if(p.type.id==Qp)return{parser:O.parser,overlay:[{from:p.from,to:p.to}]}}}}return null})}var ek=145,kp=1,tk=146,ik=147,wp=2,nk=148,rk=3,sk=4,Pp=[9,10,11,12,13,32,133,160,5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8232,8233,8239,8287,12288],ok=58,ak=40,vp=95,lk=91,no=45,ck=46,hk=35,fk=37,uk=38,Ok=92,dk=10,pk=42;function wr(i){return i>=65&&i<=90||i>=97&&i<=122||i>=161}function wc(i){return i>=48&&i<=57}function xp(i){return wc(i)||i>=97&&i<=102||i>=65&&i<=70}var $p=(i,e,t)=>(n,r)=>{for(let s=!1,o=0,a=0;;a++){let{next:l}=n;if(wr(l)||l==no||l==vp||s&&wc(l))!s&&(l!=no||a>0)&&(s=!0),o===a&&l==no&&o++,n.advance();else if(l==Ok&&n.peek(1)!=dk){if(n.advance(),xp(n.next)){do n.advance();while(xp(n.next));n.next==32&&n.advance()}else n.next>-1&&n.advance();s=!0}else{s&&n.acceptToken(o==2&&r.canShift(wp)?e:l==ak?t:i);break}}},mk=new J($p(tk,wp,ik),{contextual:!0}),gk=new J($p(nk,rk,sk),{contextual:!0}),Qk=new J(i=>{if(Pp.includes(i.peek(-1))){let{next:e}=i;(wr(e)||e==vp||e==hk||e==ck||e==pk||e==lk||e==ok&&wr(i.peek(1))||e==no||e==uk)&&i.acceptToken(ek)}}),bk=new J(i=>{if(!Pp.includes(i.peek(-1))){let{next:e}=i;if(e==fk&&(i.advance(),i.acceptToken(kp)),wr(e)){do i.advance();while(wr(i.next)||wc(i.next));i.acceptToken(kp)}}}),Sk=Qe({"AtKeyword import charset namespace keyframes media supports font-feature-values":d.definitionKeyword,"from to selector scope MatchFlag":d.keyword,NamespaceName:d.namespace,KeyframeName:d.labelName,KeyframeRangeName:d.operatorKeyword,TagName:d.tagName,ClassName:d.className,PseudoClassName:d.constant(d.className),IdName:d.labelName,"FeatureName PropertyName":d.propertyName,AttributeName:d.attributeName,NumberLiteral:d.number,KeywordQuery:d.keyword,UnaryQueryOp:d.operatorKeyword,"CallTag ValueName FontName":d.atom,VariableName:d.variableName,Callee:d.operatorKeyword,Unit:d.unit,"UniversalSelector NestingSelector":d.definitionOperator,"MatchOp CompareOp":d.compareOperator,"ChildOp SiblingOp, LogicOp":d.logicOperator,BinOp:d.arithmeticOperator,Important:d.modifier,Comment:d.blockComment,ColorLiteral:d.color,"ParenthesizedContent StringLiteral":d.string,":":d.punctuation,"PseudoOp #":d.derefOperator,"; , |":d.separator,"( )":d.paren,"[ ]":d.squareBracket,"{ }":d.brace}),yk={__proto__:null,lang:44,"nth-child":44,"nth-last-child":44,"nth-of-type":44,"nth-last-of-type":44,dir:44,"host-context":44,if:90,url:152,"url-prefix":152,domain:152,regexp:152},kk={__proto__:null,or:104,and:104,not:112,only:112,layer:206},xk={__proto__:null,selector:118,style:124,layer:202},wk={__proto__:null,"@import":198,"@media":210,"@charset":214,"@namespace":218,"@keyframes":224,"@supports":236,"@scope":240,"@font-feature-values":246},Pk={__proto__:null,to:243},Tp=Pe.deserialize({version:14,states:"MlQYQdOOO#}QdOOP$UO`OOO%OQaO'#CfOOQP'#Ce'#CeO%VQdO'#CgO%[Q`O'#CgO%aQaO'#FnO&XQdO'#CkO&xQaO'#CcO'SQdO'#CnO'_QdO'#EOO'dQdO'#EQO'oQdO'#EXO'oQdO'#E[OOQP'#Fn'#FnO)RQhO'#E}OOQS'#Fm'#FmOOQS'#FQ'#FQQYQdOOO)YQdO'#EbO*iQhO'#EhO)YQdO'#EjO*pQdO'#ElO*{QdO'#EoO)}QhO'#EuO+TQdO'#EwO+`QdO'#EzO+eQaO'#CfO+lQ`O'#E_O+qQ`O'#F{O+|QdO'#F{QOQ`OOP,WO&jO'#CaPOOO)CA])CA]OOQP'#Ci'#CiOOQP,59R,59RO%VQdO,59ROOQP'#Cm'#CmOOQP,59V,59VO&XQdO,59VO,cQdO,59YO'_QdO,5:jO'dQdO,5:lO'oQdO,5:sO'oQdO,5:uO'oQdO,5:vO'oQdO'#FXO,nQ`O,58}O,vQdO'#E^OOQS,58},58}OOQP'#Cq'#CqOOQO'#D|'#D|OOQP,59Y,59YO,}Q`O,59YO-SQ`O,59YOOQP'#EP'#EPOOQP,5:j,5:jO-XQpO'#ERO-dQdO'#ESO-iQ`O'#ESO-nQpO,5:lO.XQaO,5:sO.oQaO,5:vOOQW'#D^'#D^O/nQhO'#DgO0RQhO,5;iO)}QhO'#DeO0`Q`O'#DnO0eQhO'#DxOOQW'#Ft'#FtOOQS,5;i,5;iO0jQ`O'#DhO0oQ`O'#DkOOQS-E9O-E9OOOQ['#Cv'#CvO0tQdO'#CwO1[QdO'#C}O1rQdO'#DQO2YQ!pO'#DSO4fQ!jO,5:|OOQO'#DX'#DXO-SQ`O'#DWO4vQ!nO'#FqO6|Q`O'#DYO7RQ`O'#DyOOQ['#Fq'#FqO7WQhO'#GOO7fQ`O,5;SO7kQ!bO,5;UOOQS'#En'#EnO7sQ`O,5;WO7xQdO,5;WOOQO'#Eq'#EqO8QQ`O,5;ZO8VQhO,5;aO'oQdO'#DjOOQS,5;c,5;cO0jQ`O,5;cO8_QdO,5;cOOQS'#F`'#F`O8gQdO'#E|O7fQ`O,5;fO8oQdO,5:yO9PQdO'#FZO9^Q`O,5lQhO'#DoOOQW,5:Y,5:YOOQW,5:d,5:dOOQW,5:S,5:SO>vQhO,5:VO?bQ!fO'#FrOOQS'#Fr'#FrOOQS'#FS'#FSO@rQdO,59cOOQ[,59c,59cOAYQdO,59iOOQ[,59i,59iOApQdO,59lOOQ[,59l,59lOOQ[,59n,59nO)YQdO,59pOBWQhO'#EdOOQW'#Ed'#EdOBuQ`O1G0hO4oQhO1G0hOOQ[,59r,59rO)}QhO'#D[OOQ[,59t,59tOBzQ#tO,5:eOCVQhO'#F]OCdQ`O,5vQhO'#DmOI_QhO'#DqOIgQhO'#DsOIlQhO'#FwOOQO'#Fw'#FwOItQ!bO'#DwOOQO'#Fy'#FyOOQO'#Fv'#FvOIyQ`O1G/qOOQS-E9Q-E9QOOQ[1G.}1G.}OOQ[1G/T1G/TOOQ[1G/W1G/WOOQ[1G/[1G/[OJOQdO,5;OOOQS7+&S7+&SOJTQ`O7+&SOJYQhO'#D]OJbQ`O,59vO)}QhO,59vOOQ[1G0P1G0POJjQ`O1G0POJoQhO,5;wOOQO-E9Z-E9ZOOQS7+&^7+&^OJ}QbO'#DSOOQO'#Et'#EtOK]Q`O'#EsOOQO'#Es'#EsOKhQ`O'#F^OKpQdO,5;^OOQS,5;^,5;^OOQ[1G/p1G/pOOQS7+&i7+&iO7fQ`O7+&iOK{Q!fO'#FYO)YQdO'#FYOMSQdO7+&POOQO7+&P7+&POOQO,5:{,5:{OOQO1G1a1G1aOMgQ!bO<vQhO'#DrOOQO,5:],5:]O! hQhO,5:_OGUQhO,5:cOOQW7+%]7+%]OOQO'#Ef'#EfO! pQ`O1G0jOOQS<xAN>xO!#zQ`OAN>xO!$PQaO,5;rOOQO-E9U-E9UO!$ZQdO,5;qOOQO-E9T-E9TOOQW<vQhO'#DuOOQO1G/y1G/yO!%vQ!bO1G/}OJOQdO'#F[O!&OQ`O7+&UOOQW7+&U7+&UO!&WQ!bO1G/cOOQ[7+$|7+$|O!&cQhO7+$|P!&jQ`O'#FTOOQO,5;y,5;yOOQO-E9]-E9]OOQS1G1d1G1dOOQPG24dG24dO!&oQ`OAN>ZO)YQdO1G1[O!&tQ`O7+'jOOQO1G/x1G/xO!&|Q`O,5:aO!$eQhO7+%iOOQO,5;v,5;vOOQO-E9Y-E9YOOQW<Q!]!^>|!^!_?_!_!`@Z!`!a@n!a!b%Z!b!cAo!c!k%Z!k!lC|!l!u%Z!u!vC|!v!}%Z!}#OD_#O#P%Z#P#QDp#Q#R2X#R#]%Z#]#^ER#^#g%Z#g#hC|#h#o%Z#o#pIf#p#qIw#q#rJ`#r#sJq#s#y%Z#y#z&R#z$f%Z$f$g&R$g#BY%Z#BY#BZ&R#BZ$IS%Z$IS$I_&R$I_$I|%Z$I|$JO&R$JO$JT%Z$JT$JU&R$JU$KV%Z$KV$KW&R$KW&FU%Z&FU&FV&R&FV;'S%Z;'S;=`KY<%lO%Z`%^SOy%jz;'S%j;'S;=`%{<%lO%j`%oS!o`Oy%jz;'S%j;'S;=`%{<%lO%j`&OP;=`<%l%j~&Wh$[~OX%jX^'r^p%jpq'rqy%jz#y%j#y#z'r#z$f%j$f$g'r$g#BY%j#BY#BZ'r#BZ$IS%j$IS$I_'r$I_$I|%j$I|$JO'r$JO$JT%j$JT$JU'r$JU$KV%j$KV$KW'r$KW&FU%j&FU&FV'r&FV;'S%j;'S;=`%{<%lO%j~'yh$[~!o`OX%jX^'r^p%jpq'rqy%jz#y%j#y#z'r#z$f%j$f$g'r$g#BY%j#BY#BZ'r#BZ$IS%j$IS$I_'r$I_$I|%j$I|$JO'r$JO$JT%j$JT$JU'r$JU$KV%j$KV$KW'r$KW&FU%j&FU&FV'r&FV;'S%j;'S;=`%{<%lO%jj)jS$qYOy%jz;'S%j;'S;=`%{<%lO%j~)yWOY)vZr)vrs*cs#O)v#O#P*h#P;'S)v;'S;=`+d<%lO)v~*hOw~~*kRO;'S)v;'S;=`*t;=`O)v~*wXOY)vZr)vrs*cs#O)v#O#P*h#P;'S)v;'S;=`+d;=`<%l)v<%lO)v~+gP;=`<%l)vj+oYmYOy%jz!Q%j!Q![,_![!c%j!c!i,_!i#T%j#T#Z,_#Z;'S%j;'S;=`%{<%lO%jj,dY!o`Oy%jz!Q%j!Q![-S![!c%j!c!i-S!i#T%j#T#Z-S#Z;'S%j;'S;=`%{<%lO%jj-XY!o`Oy%jz!Q%j!Q![-w![!c%j!c!i-w!i#T%j#T#Z-w#Z;'S%j;'S;=`%{<%lO%jj.OYuY!o`Oy%jz!Q%j!Q![.n![!c%j!c!i.n!i#T%j#T#Z.n#Z;'S%j;'S;=`%{<%lO%jj.uYuY!o`Oy%jz!Q%j!Q![/e![!c%j!c!i/e!i#T%j#T#Z/e#Z;'S%j;'S;=`%{<%lO%jj/jY!o`Oy%jz!Q%j!Q![0Y![!c%j!c!i0Y!i#T%j#T#Z0Y#Z;'S%j;'S;=`%{<%lO%jj0aYuY!o`Oy%jz!Q%j!Q![1P![!c%j!c!i1P!i#T%j#T#Z1P#Z;'S%j;'S;=`%{<%lO%jj1UY!o`Oy%jz!Q%j!Q![1t![!c%j!c!i1t!i#T%j#T#Z1t#Z;'S%j;'S;=`%{<%lO%jj1{SuY!o`Oy%jz;'S%j;'S;=`%{<%lO%jd2[UOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%jd2uS!yS!o`Oy%jz;'S%j;'S;=`%{<%lO%jb3WS^QOy%jz;'S%j;'S;=`%{<%lO%j~3gWOY3dZw3dwx*cx#O3d#O#P4P#P;'S3d;'S;=`4{<%lO3d~4SRO;'S3d;'S;=`4];=`O3d~4`XOY3dZw3dwx*cx#O3d#O#P4P#P;'S3d;'S;=`4{;=`<%l3d<%lO3d~5OP;=`<%l3dj5WShYOy%jz;'S%j;'S;=`%{<%lO%j~5iOg~n5pUWQyWOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%jj6ZWyW#PQOy%jz!O%j!O!P6s!P!Q%j!Q![9x![;'S%j;'S;=`%{<%lO%jj6xU!o`Oy%jz!Q%j!Q![7[![;'S%j;'S;=`%{<%lO%jj7cY!o`$gYOy%jz!Q%j!Q![7[![!g%j!g!h8R!h#X%j#X#Y8R#Y;'S%j;'S;=`%{<%lO%jj8WY!o`Oy%jz{%j{|8v|}%j}!O8v!O!Q%j!Q![9_![;'S%j;'S;=`%{<%lO%jj8{U!o`Oy%jz!Q%j!Q![9_![;'S%j;'S;=`%{<%lO%jj9fU!o`$gYOy%jz!Q%j!Q![9_![;'S%j;'S;=`%{<%lO%jj:P[!o`$gYOy%jz!O%j!O!P7[!P!Q%j!Q![9x![!g%j!g!h8R!h#X%j#X#Y8R#Y;'S%j;'S;=`%{<%lO%jj:zS!dYOy%jz;'S%j;'S;=`%{<%lO%jj;]WyWOy%jz!O%j!O!P6s!P!Q%j!Q![9x![;'S%j;'S;=`%{<%lO%jj;zU`YOy%jz!Q%j!Q![7[![;'S%j;'S;=`%{<%lO%j~VUcYOy%jz![%j![!]>i!];'S%j;'S;=`%{<%lO%jj>pSdY!o`Oy%jz;'S%j;'S;=`%{<%lO%jj?RSnYOy%jz;'S%j;'S;=`%{<%lO%jh?dU!WWOy%jz!_%j!_!`?v!`;'S%j;'S;=`%{<%lO%jh?}S!WW!o`Oy%jz;'S%j;'S;=`%{<%lO%jl@bS!WW!ySOy%jz;'S%j;'S;=`%{<%lO%jj@uV!|Q!WWOy%jz!_%j!_!`?v!`!aA[!a;'S%j;'S;=`%{<%lO%jbAcS!|Q!o`Oy%jz;'S%j;'S;=`%{<%lO%jjArYOy%jz}%j}!OBb!O!c%j!c!}CP!}#T%j#T#oCP#o;'S%j;'S;=`%{<%lO%jjBgW!o`Oy%jz!c%j!c!}CP!}#T%j#T#oCP#o;'S%j;'S;=`%{<%lO%jjCW[lY!o`Oy%jz}%j}!OCP!O!Q%j!Q![CP![!c%j!c!}CP!}#T%j#T#oCP#o;'S%j;'S;=`%{<%lO%jhDRS!zWOy%jz;'S%j;'S;=`%{<%lO%jjDdSpYOy%jz;'S%j;'S;=`%{<%lO%jnDuSo^Oy%jz;'S%j;'S;=`%{<%lO%jjEWU!zWOy%jz#a%j#a#bEj#b;'S%j;'S;=`%{<%lO%jbEoU!o`Oy%jz#d%j#d#eFR#e;'S%j;'S;=`%{<%lO%jbFWU!o`Oy%jz#c%j#c#dFj#d;'S%j;'S;=`%{<%lO%jbFoU!o`Oy%jz#f%j#f#gGR#g;'S%j;'S;=`%{<%lO%jbGWU!o`Oy%jz#h%j#h#iGj#i;'S%j;'S;=`%{<%lO%jbGoU!o`Oy%jz#T%j#T#UHR#U;'S%j;'S;=`%{<%lO%jbHWU!o`Oy%jz#b%j#b#cHj#c;'S%j;'S;=`%{<%lO%jbHoU!o`Oy%jz#h%j#h#iIR#i;'S%j;'S;=`%{<%lO%jbIYS$pQ!o`Oy%jz;'S%j;'S;=`%{<%lO%jjIkSsYOy%jz;'S%j;'S;=`%{<%lO%jfI|U$cUOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%jjJeSrYOy%jz;'S%j;'S;=`%{<%lO%jfJvU#PQOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%j`K]P;=`<%l%Z",tokenizers:[Qk,bk,mk,gk,1,2,3,4,new yi("m~RRYZ[z{a~~g~aO$_~~dP!P!Qg~lO$`~~",28,152)],topRules:{StyleSheet:[0,6],Styles:[1,126]},dynamicPrecedences:{94:1},specialized:[{term:147,get:i=>yk[i]||-1},{term:148,get:i=>kk[i]||-1},{term:4,get:i=>xk[i]||-1},{term:28,get:i=>wk[i]||-1},{term:146,get:i=>Pk[i]||-1}],tokenPrec:2405});var Pc=null;function vc(){if(!Pc&&typeof document=="object"&&document.body){let{style:i}=document.body,e=[],t=new Set;for(let n in i)n!="cssText"&&n!="cssFloat"&&typeof i[n]=="string"&&(/[A-Z]/.test(n)&&(n=n.replace(/[A-Z]/g,r=>"-"+r.toLowerCase())),t.has(n)||(e.push(n),t.add(n)));Pc=e.sort().map(n=>({type:"property",label:n,apply:n+": "}))}return Pc||[]}var Cp=["active","after","any-link","autofill","backdrop","before","checked","cue","default","defined","disabled","empty","enabled","file-selector-button","first","first-child","first-letter","first-line","first-of-type","focus","focus-visible","focus-within","fullscreen","has","host","host-context","hover","in-range","indeterminate","invalid","is","lang","last-child","last-of-type","left","link","marker","modal","not","nth-child","nth-last-child","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","part","placeholder","placeholder-shown","read-only","read-write","required","right","root","scope","selection","slotted","target","target-text","valid","visited","where"].map(i=>({type:"class",label:i})),Xp=["above","absolute","activeborder","additive","activecaption","after-white-space","ahead","alias","all","all-scroll","alphabetic","alternate","always","antialiased","appworkspace","asterisks","attr","auto","auto-flow","avoid","avoid-column","avoid-page","avoid-region","axis-pan","background","backwards","baseline","below","bidi-override","blink","block","block-axis","bold","bolder","border","border-box","both","bottom","break","break-all","break-word","bullets","button","button-bevel","buttonface","buttonhighlight","buttonshadow","buttontext","calc","capitalize","caps-lock-indicator","caption","captiontext","caret","cell","center","checkbox","circle","cjk-decimal","clear","clip","close-quote","col-resize","collapse","color","color-burn","color-dodge","column","column-reverse","compact","condensed","contain","content","contents","content-box","context-menu","continuous","copy","counter","counters","cover","crop","cross","crosshair","currentcolor","cursive","cyclic","darken","dashed","decimal","decimal-leading-zero","default","default-button","dense","destination-atop","destination-in","destination-out","destination-over","difference","disc","discard","disclosure-closed","disclosure-open","document","dot-dash","dot-dot-dash","dotted","double","down","e-resize","ease","ease-in","ease-in-out","ease-out","element","ellipse","ellipsis","embed","end","ethiopic-abegede-gez","ethiopic-halehame-aa-er","ethiopic-halehame-gez","ew-resize","exclusion","expanded","extends","extra-condensed","extra-expanded","fantasy","fast","fill","fill-box","fixed","flat","flex","flex-end","flex-start","footnotes","forwards","from","geometricPrecision","graytext","grid","groove","hand","hard-light","help","hidden","hide","higher","highlight","highlighttext","horizontal","hsl","hsla","hue","icon","ignore","inactiveborder","inactivecaption","inactivecaptiontext","infinite","infobackground","infotext","inherit","initial","inline","inline-axis","inline-block","inline-flex","inline-grid","inline-table","inset","inside","intrinsic","invert","italic","justify","keep-all","landscape","large","larger","left","level","lighter","lighten","line-through","linear","linear-gradient","lines","list-item","listbox","listitem","local","logical","loud","lower","lower-hexadecimal","lower-latin","lower-norwegian","lowercase","ltr","luminosity","manipulation","match","matrix","matrix3d","medium","menu","menutext","message-box","middle","min-intrinsic","mix","monospace","move","multiple","multiple_mask_images","multiply","n-resize","narrower","ne-resize","nesw-resize","no-close-quote","no-drop","no-open-quote","no-repeat","none","normal","not-allowed","nowrap","ns-resize","numbers","numeric","nw-resize","nwse-resize","oblique","opacity","open-quote","optimizeLegibility","optimizeSpeed","outset","outside","outside-shape","overlay","overline","padding","padding-box","painted","page","paused","perspective","pinch-zoom","plus-darker","plus-lighter","pointer","polygon","portrait","pre","pre-line","pre-wrap","preserve-3d","progress","push-button","radial-gradient","radio","read-only","read-write","read-write-plaintext-only","rectangle","region","relative","repeat","repeating-linear-gradient","repeating-radial-gradient","repeat-x","repeat-y","reset","reverse","rgb","rgba","ridge","right","rotate","rotate3d","rotateX","rotateY","rotateZ","round","row","row-resize","row-reverse","rtl","run-in","running","s-resize","sans-serif","saturation","scale","scale3d","scaleX","scaleY","scaleZ","screen","scroll","scrollbar","scroll-position","se-resize","self-start","self-end","semi-condensed","semi-expanded","separate","serif","show","single","skew","skewX","skewY","skip-white-space","slide","slider-horizontal","slider-vertical","sliderthumb-horizontal","sliderthumb-vertical","slow","small","small-caps","small-caption","smaller","soft-light","solid","source-atop","source-in","source-out","source-over","space","space-around","space-between","space-evenly","spell-out","square","start","static","status-bar","stretch","stroke","stroke-box","sub","subpixel-antialiased","svg_masks","super","sw-resize","symbolic","symbols","system-ui","table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row","table-row-group","text","text-bottom","text-top","textarea","textfield","thick","thin","threeddarkshadow","threedface","threedhighlight","threedlightshadow","threedshadow","to","top","transform","translate","translate3d","translateX","translateY","translateZ","transparent","ultra-condensed","ultra-expanded","underline","unidirectional-pan","unset","up","upper-latin","uppercase","url","var","vertical","vertical-text","view-box","visible","visibleFill","visiblePainted","visibleStroke","visual","w-resize","wait","wave","wider","window","windowframe","windowtext","words","wrap","wrap-reverse","x-large","x-small","xor","xx-large","xx-small"].map(i=>({type:"keyword",label:i})).concat(["aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","grey","green","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen"].map(i=>({type:"constant",label:i}))),vk=["a","abbr","address","article","aside","b","bdi","bdo","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","dd","del","details","dfn","dialog","div","dl","dt","em","figcaption","figure","footer","form","header","hgroup","h1","h2","h3","h4","h5","h6","hr","html","i","iframe","img","input","ins","kbd","label","legend","li","main","meter","nav","ol","output","p","pre","ruby","section","select","small","source","span","strong","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","tr","u","ul"].map(i=>({type:"type",label:i})),$k=["@charset","@color-profile","@container","@counter-style","@font-face","@font-feature-values","@font-palette-values","@import","@keyframes","@layer","@media","@namespace","@page","@position-try","@property","@scope","@starting-style","@supports","@view-transition"].map(i=>({type:"keyword",label:i})),Gt=/^(\w[\w-]*|-\w[\w-]*|)$/,Tk=/^-(-[\w-]*)?$/;function Ck(i,e){var t;if((i.name=="("||i.type.isError)&&(i=i.parent||i),i.name!="ArgList")return!1;let n=(t=i.parent)===null||t===void 0?void 0:t.firstChild;return n?.name!="Callee"?!1:e.sliceString(n.from,n.to)=="var"}var _p=new di,Xk=["Declaration"];function _k(i){for(let e=i;;){if(e.type.isTop)return e;if(!(e=e.parent))return i}}function Rp(i,e,t){if(e.to-e.from>4096){let n=_p.get(e);if(n)return n;let r=[],s=new Set,o=e.cursor(ee.IncludeAnonymous);if(o.firstChild())do for(let a of Rp(i,o.node,t))s.has(a.label)||(s.add(a.label),r.push(a));while(o.nextSibling());return _p.set(e,r),r}else{let n=[],r=new Set;return e.cursor().iterate(s=>{var o;if(t(s)&&s.matchContext(Xk)&&((o=s.node.nextSibling)===null||o===void 0?void 0:o.name)==":"){let a=i.sliceString(s.from,s.to);r.has(a)||(r.add(a),n.push({label:a,type:"variable"}))}}),n}}var Rk=i=>e=>{let{state:t,pos:n}=e,r=U(t).resolveInner(n,-1),s=r.type.isError&&r.from==r.to-1&&t.doc.sliceString(r.from,r.to)=="-";if(r.name=="PropertyName"||(s||r.name=="TagName")&&/^(Block|Styles)$/.test(r.resolve(r.to).name))return{from:r.from,options:vc(),validFor:Gt};if(r.name=="ValueName")return{from:r.from,options:Xp,validFor:Gt};if(r.name=="PseudoClassName")return{from:r.from,options:Cp,validFor:Gt};if(i(r)||(e.explicit||s)&&Ck(r,t.doc))return{from:i(r)||s?r.from:n,options:Rp(t.doc,_k(r),i),validFor:Tk};if(r.name=="TagName"){for(let{parent:l}=r;l;l=l.parent)if(l.name=="Block")return{from:r.from,options:vc(),validFor:Gt};return{from:r.from,options:vk,validFor:Gt}}if(r.name=="AtKeyword")return{from:r.from,options:$k,validFor:Gt};if(!e.explicit)return null;let o=r.resolve(n),a=o.childBefore(n);return a&&a.name==":"&&o.name=="PseudoClassSelector"?{from:n,options:Cp,validFor:Gt}:a&&a.name==":"&&o.name=="Declaration"||o.name=="ArgList"?{from:n,options:Xp,validFor:Gt}:o.name=="Block"||o.name=="Styles"?{from:n,options:vc(),validFor:Gt}:null},Ak=Rk(i=>i.name=="VariableName"),Pr=$e.define({name:"css",parser:Tp.configure({props:[we.add({Declaration:Bt()}),Te.add({"Block KeyframeList":ht})]}),languageData:{commentTokens:{block:{open:"/*",close:"*/"}},indentOnInput:/^\s*\}$/,wordChars:"-"}});function ro(){return new me(Pr,Pr.data.of({autocomplete:Ak}))}var Zk=316,Ek=317,Ap=1,qk=2,zk=3,Lk=4,Mk=318,Wk=320,jk=321,Vk=5,Dk=6,Yk=0,Tc=[9,10,11,12,13,32,133,160,5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8232,8233,8239,8287,12288],Zp=125,Ik=59,Cc=47,Bk=42,Uk=43,Gk=45,Nk=60,Fk=44,Hk=63,Kk=46,Jk=91,e1=new dt({start:!1,shift(i,e){return e==Vk||e==Dk||e==Wk?i:e==jk},strict:!1}),t1=new J((i,e)=>{let{next:t}=i;(t==Zp||t==-1||e.context)&&i.acceptToken(Mk)},{contextual:!0,fallback:!0}),i1=new J((i,e)=>{let{next:t}=i,n;Tc.indexOf(t)>-1||t==Cc&&((n=i.peek(1))==Cc||n==Bk)||t!=Zp&&t!=Ik&&t!=-1&&!e.context&&i.acceptToken(Zk)},{contextual:!0}),n1=new J((i,e)=>{i.next==Jk&&!e.context&&i.acceptToken(Ek)},{contextual:!0}),r1=new J((i,e)=>{let{next:t}=i;if(t==Uk||t==Gk){if(i.advance(),t==i.next){i.advance();let n=!e.context&&e.canShift(Ap);i.acceptToken(n?Ap:qk)}}else t==Hk&&i.peek(1)==Kk&&(i.advance(),i.advance(),(i.next<48||i.next>57)&&i.acceptToken(zk))},{contextual:!0});function $c(i,e){return i>=65&&i<=90||i>=97&&i<=122||i==95||i>=192||!e&&i>=48&&i<=57}var s1=new J((i,e)=>{if(i.next!=Nk||!e.dialectEnabled(Yk)||(i.advance(),i.next==Cc))return;let t=0;for(;Tc.indexOf(i.next)>-1;)i.advance(),t++;if($c(i.next,!0)){for(i.advance(),t++;$c(i.next,!1);)i.advance(),t++;for(;Tc.indexOf(i.next)>-1;)i.advance(),t++;if(i.next==Fk)return;for(let n=0;;n++){if(n==7){if(!$c(i.next,!0))return;break}if(i.next!="extends".charCodeAt(n))break;i.advance(),t++}}i.acceptToken(Lk,-t)}),o1=Qe({"get set async static":d.modifier,"for while do if else switch try catch finally return throw break continue default case defer":d.controlKeyword,"in of await yield void typeof delete instanceof as satisfies":d.operatorKeyword,"let var const using function class extends":d.definitionKeyword,"import export from":d.moduleKeyword,"with debugger new":d.keyword,TemplateString:d.special(d.string),super:d.atom,BooleanLiteral:d.bool,this:d.self,null:d.null,Star:d.modifier,VariableName:d.variableName,"CallExpression/VariableName TaggedTemplateExpression/VariableName":d.function(d.variableName),VariableDefinition:d.definition(d.variableName),Label:d.labelName,PropertyName:d.propertyName,PrivatePropertyName:d.special(d.propertyName),"CallExpression/MemberExpression/PropertyName":d.function(d.propertyName),"FunctionDeclaration/VariableDefinition":d.function(d.definition(d.variableName)),"ClassDeclaration/VariableDefinition":d.definition(d.className),"NewExpression/VariableName":d.className,PropertyDefinition:d.definition(d.propertyName),PrivatePropertyDefinition:d.definition(d.special(d.propertyName)),UpdateOp:d.updateOperator,"LineComment Hashbang":d.lineComment,BlockComment:d.blockComment,Number:d.number,String:d.string,Escape:d.escape,ArithOp:d.arithmeticOperator,LogicOp:d.logicOperator,BitOp:d.bitwiseOperator,CompareOp:d.compareOperator,RegExp:d.regexp,Equals:d.definitionOperator,Arrow:d.function(d.punctuation),": Spread":d.punctuation,"( )":d.paren,"[ ]":d.squareBracket,"{ }":d.brace,"InterpolationStart InterpolationEnd":d.special(d.brace),".":d.derefOperator,", ;":d.separator,"@":d.meta,TypeName:d.typeName,TypeDefinition:d.definition(d.typeName),"type enum interface implements namespace module declare":d.definitionKeyword,"abstract global Privacy readonly override":d.modifier,"is keyof unique infer asserts":d.operatorKeyword,JSXAttributeValue:d.attributeValue,JSXText:d.content,"JSXStartTag JSXStartCloseTag JSXSelfCloseEndTag JSXEndTag":d.angleBracket,"JSXIdentifier JSXNameSpacedName":d.tagName,"JSXAttribute/JSXIdentifier JSXAttribute/JSXNameSpacedName":d.attributeName,"JSXBuiltin/JSXIdentifier":d.standard(d.tagName)}),a1={__proto__:null,export:20,as:25,from:33,default:36,async:41,function:42,in:52,out:55,const:56,extends:60,this:64,true:72,false:72,null:84,void:88,typeof:92,super:108,new:142,delete:154,yield:163,await:167,class:172,public:235,private:235,protected:235,readonly:237,instanceof:256,satisfies:259,import:292,keyof:349,unique:353,infer:359,asserts:395,is:397,abstract:417,implements:419,type:421,let:424,var:426,using:429,interface:435,enum:439,namespace:445,module:447,declare:451,global:455,defer:471,for:476,of:485,while:488,with:492,do:496,if:500,else:502,switch:506,case:512,try:518,catch:522,finally:526,return:530,throw:534,break:538,continue:542,debugger:546},l1={__proto__:null,async:129,get:131,set:133,declare:195,public:197,private:197,protected:197,static:199,abstract:201,override:203,readonly:209,accessor:211,new:401},c1={__proto__:null,"<":193},Ep=Pe.deserialize({version:14,states:"$F|Q%TQlOOO%[QlOOO'_QpOOP(lO`OOO*zQ!0MxO'#CiO+RO#tO'#CjO+aO&jO'#CjO+oO#@ItO'#DaO.QQlO'#DgO.bQlO'#DrO%[QlO'#DzO0fQlO'#ESOOQ!0Lf'#E['#E[O1PQ`O'#EXOOQO'#Ep'#EpOOQO'#Il'#IlO1XQ`O'#GsO1dQ`O'#EoO1iQ`O'#EoO3hQ!0MxO'#JrO6[Q!0MxO'#JsO6uQ`O'#F]O6zQ,UO'#FtOOQ!0Lf'#Ff'#FfO7VO7dO'#FfO9XQMhO'#F|O9`Q`O'#F{OOQ!0Lf'#Js'#JsOOQ!0Lb'#Jr'#JrO9eQ`O'#GwOOQ['#K_'#K_O9pQ`O'#IYO9uQ!0LrO'#IZOOQ['#J`'#J`OOQ['#I_'#I_Q`QlOOQ`QlOOO9}Q!L^O'#DvO:UQlO'#EOO:]QlO'#EQO9kQ`O'#GsO:dQMhO'#CoO:rQ`O'#EnO:}Q`O'#EyO;hQMhO'#FeO;xQ`O'#GsOOQO'#K`'#K`O;}Q`O'#K`O<]Q`O'#G{O<]Q`O'#G|O<]Q`O'#HOO9kQ`O'#HRO=SQ`O'#HUO>kQ`O'#CeO>{Q`O'#HcO?TQ`O'#HiO?TQ`O'#HkO`QlO'#HmO?TQ`O'#HoO?TQ`O'#HrO?YQ`O'#HxO?_Q!0LsO'#IOO%[QlO'#IQO?jQ!0LsO'#ISO?uQ!0LsO'#IUO9uQ!0LrO'#IWO@QQ!0MxO'#CiOASQpO'#DlQOQ`OOO%[QlO'#EQOAjQ`O'#ETO:dQMhO'#EnOAuQ`O'#EnOBQQ!bO'#FeOOQ['#Cg'#CgOOQ!0Lb'#Dq'#DqOOQ!0Lb'#Jv'#JvO%[QlO'#JvOOQO'#Jy'#JyOOQO'#Ih'#IhOCQQpO'#EgOOQ!0Lb'#Ef'#EfOOQ!0Lb'#J}'#J}OC|Q!0MSO'#EgODWQpO'#EWOOQO'#Jx'#JxODlQpO'#JyOEyQpO'#EWODWQpO'#EgPFWO&2DjO'#CbPOOO)CD})CD}OOOO'#I`'#I`OFcO#tO,59UOOQ!0Lh,59U,59UOOOO'#Ia'#IaOFqO&jO,59UOGPQ!L^O'#DcOOOO'#Ic'#IcOGWO#@ItO,59{OOQ!0Lf,59{,59{OGfQlO'#IdOGyQ`O'#JtOIxQ!fO'#JtO+}QlO'#JtOJPQ`O,5:ROJgQ`O'#EpOJtQ`O'#KTOKPQ`O'#KSOKPQ`O'#KSOKXQ`O,5;^OK^Q`O'#KROOQ!0Ln,5:^,5:^OKeQlO,5:^OMcQ!0MxO,5:fONSQ`O,5:nONmQ!0LrO'#KQONtQ`O'#KPO9eQ`O'#KPO! YQ`O'#KPO! bQ`O,5;]O! gQ`O'#KPO!#lQ!fO'#JsOOQ!0Lh'#Ci'#CiO%[QlO'#ESO!$[Q!fO,5:sOOQS'#Jz'#JzOOQO-EtOOQ['#Jh'#JhOOQ[,5>u,5>uOOQ[-E<]-E<]O!TO`QlO,5>VO!LOQ`O,5>XO`QlO,5>ZO!LTQ`O,5>^O!LYQlO,5>dOOQ[,5>j,5>jO%[QlO,5>jO9uQ!0LrO,5>lOOQ[,5>n,5>nO#!dQ`O,5>nOOQ[,5>p,5>pO#!dQ`O,5>pOOQ[,5>r,5>rO##QQpO'#D_O%[QlO'#JvO##sQpO'#JvO##}QpO'#DmO#$`QpO'#DmO#&qQlO'#DmO#&xQ`O'#JuO#'QQ`O,5:WO#'VQ`O'#EtO#'eQ`O'#KUO#'mQ`O,5;_O#'rQpO'#DmO#(PQpO'#EVOOQ!0Lf,5:o,5:oO%[QlO,5:oO#(WQ`O,5:oO?YQ`O,5;YO!CUQpO,5;YO!C^QMhO,5;YO:dQMhO,5;YO#(`Q`O,5@bO#(eQ07dO,5:sOOQO-EPO$6^Q`O,5>POOQ[1G3i1G3iO`QlO1G3iOOQ[1G3o1G3oOOQ[1G3q1G3qO?TQ`O1G3sO$6cQlO1G3uO$:gQlO'#HtOOQ[1G3x1G3xO$:tQ`O'#HzO?YQ`O'#H|OOQ[1G4O1G4OO$:|QlO1G4OO9uQ!0LrO1G4UOOQ[1G4W1G4WOOQ!0Lb'#G_'#G_O9uQ!0LrO1G4YO9uQ!0LrO1G4[O$?TQ`O,5@bO!)[QlO,5;`O9eQ`O,5;`O?YQ`O,5:XO!)[QlO,5:XO!CUQpO,5:XO$?YQ?MtO,5:XOOQO,5;`,5;`O$?dQpO'#IeO$?zQ`O,5@aOOQ!0Lf1G/r1G/rO$@SQpO'#IkO$@^Q`O,5@pOOQ!0Lb1G0y1G0yO#$`QpO,5:XOOQO'#Ig'#IgO$@fQpO,5:qOOQ!0Ln,5:q,5:qO#(ZQ`O1G0ZOOQ!0Lf1G0Z1G0ZO%[QlO1G0ZOOQ!0Lf1G0t1G0tO?YQ`O1G0tO!CUQpO1G0tO!C^QMhO1G0tOOQ!0Lb1G5|1G5|O!ByQ!0LrO1G0^OOQO1G0m1G0mO%[QlO1G0mO$@mQ!0LrO1G0mO$@xQ!0LrO1G0mO!CUQpO1G0^ODWQpO1G0^O$AWQ!0LrO1G0mOOQO1G0^1G0^O$AlQ!0MxO1G0mPOOO-E<[-E<[POOO1G.h1G.hOOOO1G/i1G/iO$AvQ!bO,5QQpO,5@}OOQ!0Lb1G3c1G3cOOQ[7+$V7+$VO@zQ`O7+$VO9uQ!0LrO7+$VO%>]Q`O7+$VO%[QlO1G6lO%[QlO1G6mO%>bQ!0LrO1G6lO%>lQlO1G3kO%>sQ`O1G3kO%>xQlO1G3kOOQ[7+)T7+)TO9uQ!0LrO7+)_O`QlO7+)aOOQ['#Kh'#KhOOQ['#JS'#JSO%?PQlO,5>`OOQ[,5>`,5>`O%[QlO'#HuO%?^Q`O'#HwOOQ[,5>f,5>fO9eQ`O,5>fOOQ[,5>h,5>hOOQ[7+)j7+)jOOQ[7+)p7+)pOOQ[7+)t7+)tOOQ[7+)v7+)vO%?cQpO1G5|O%?}Q?MtO1G0zO%@XQ`O1G0zOOQO1G/s1G/sO%@dQ?MtO1G/sO?YQ`O1G/sO!)[QlO'#DmOOQO,5?P,5?POOQO-ERQ`O7+,WO&>WQ`O7+,XO%[QlO7+,WO%[QlO7+,XOOQ[7+)V7+)VO&>]Q`O7+)VO&>bQlO7+)VO&>iQ`O7+)VOOQ[<nQ`O,5>aOOQ[,5>c,5>cO&>sQ`O1G4QO9eQ`O7+&fO!)[QlO7+&fOOQO7+%_7+%_O&>xQ?MtO1G6ZO?YQ`O7+%_OOQ!0Lf<yQ?MvO,5?aO'@|Q?MvO,5?cO'CPQ?MvO7+'|O'DuQMjOG27TOOQO<VO!l$xO#jROe!iOpkOrPO(T)]O(VTO(YUO(aVO(o[O~O!]$_Oa$qa'z$qa'w$qa!k$qa!Y$qa!_$qa%i$qa!g$qa~Ol)dO~P!&zOh%VOp%WOr%XOs$tOt$tOz%YO|%ZO!O%]O!S${O!_$|O!i%bO!l$xO#j%cO$W%`O$t%^O$v%_O$y%aO(T(vO(VTO(YUO(a$uO(y$}O(z%PO~Og(pP~P!,TO!Q)iO!g)hO!_$^X$Z$^X$]$^X$_$^X$f$^X~O!g)hO!_({X$Z({X$]({X$_({X$f({X~O!Q)iO~P!.^O!Q)iO!_({X$Z({X$]({X$_({X$f({X~O!_)kO$Z)oO$])jO$_)jO$f)pO~O![)sO~P!)[O$]$hO$_$gO$f)wO~On$zX!Q$zX#S$zX'y$zX(y$zX(z$zX~OgmXg$zXnmX!]mX#`mX~P!0SOx)yO(b)zO(c)|O~On*VO!Q*OO'y*PO(y$}O(z%PO~Og)}O~P!1WOg*WO~Oh%VOr%XOs$tOt$tOz%YO|%ZO!OVO!l$xO#jVO!l$xO#jROe!iOpkOrPO(VTO(YUO(aVO(o[O~O(T=QO~P#$qO!]-]O!^(iX~O!^-_O~O!g-VO#`-UO!]#hX!^#hX~O!]-`O!^(xX~O!^-bO~O!c-cO!d-cO(U!lO~P#$`O!^-fO~P'_On-iO!_'`O~O!Y-nO~Os!{a!b!{a!c!{a!d!{a#T!{a#U!{a#V!{a#W!{a#X!{a#[!{a#]!{a(U!{a(V!{a(Y!{a(e!{a(o!{a~P!#vO!p-sO#`-qO~PChO!c-uO!d-uO(U!lO~PDWOa%nO#`-qO'z%nO~Oa%nO!g#vO#`-qO'z%nO~Oa%nO!g#vO!p-sO#`-qO'z%nO(r'pO~O(P'xO(Q'xO(R-zO~Ov-{O~O!Y'Wa!]'Wa~P!:tO![.PO!Y'WX!]'WX~P%[O!](VO!Y(ha~O!Y(ha~PHRO!](^O!Y(va~O!S%hO![.TO!_%iO(T%gO!Y'^X!]'^X~O#`.VO!](ta!k(taa(ta'z(ta~O!g#vO~P#,wO!](jO!k(sa~O!S%hO!_%iO#j.ZO(T%gO~Op.`O!S%hO![.]O!_%iO!|]O#i._O#j.]O(T%gO!]'aX!k'aX~OR.dO!l#xO~Oh%VOn.gO!_'`O%i.fO~Oa#ci!]#ci'z#ci'w#ci!Y#ci!k#civ#ci!_#ci%i#ci!g#ci~P!:tOn>]O!Q*OO'y*PO(y$}O(z%PO~O#k#_aa#_a#`#_a'z#_a!]#_a!k#_a!_#_a!Y#_a~P#/sO#k(`XP(`XR(`X[(`Xa(`Xj(`Xr(`X!S(`X!l(`X!p(`X#R(`X#n(`X#o(`X#p(`X#q(`X#r(`X#s(`X#t(`X#u(`X#v(`X#x(`X#z(`X#{(`X'z(`X(a(`X(r(`X!k(`X!Y(`X'w(`Xv(`X!_(`X%i(`X!g(`X~P!6kO!].tO!k(kX~P!:tO!k.wO~O!Y.yO~OP$[OR#zO!Q#yO!S#{O!l#xO!p$[O(aVO[#mia#mij#mir#mi!]#mi#R#mi#o#mi#p#mi#q#mi#r#mi#s#mi#t#mi#u#mi#v#mi#x#mi#z#mi#{#mi'z#mi(r#mi(y#mi(z#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#n#mi~P#3cO#n$OO~P#3cOP$[OR#zOr$aO!Q#yO!S#{O!l#xO!p$[O#n$OO#o$PO#p$PO#q$PO(aVO[#mia#mij#mi!]#mi#R#mi#s#mi#t#mi#u#mi#v#mi#x#mi#z#mi#{#mi'z#mi(r#mi(y#mi(z#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#r#mi~P#6QO#r$QO~P#6QOP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO(aVOa#mi!]#mi#x#mi#z#mi#{#mi'z#mi(r#mi(y#mi(z#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#v#mi~P#8oOP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO#v$SO(aVO(z#}Oa#mi!]#mi#z#mi#{#mi'z#mi(r#mi(y#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#x$UO~P#;VO#x#mi~P#;VO#v$SO~P#8oOP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO#v$SO#x$UO(aVO(y#|O(z#}Oa#mi!]#mi#{#mi'z#mi(r#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#z#mi~P#={O#z$WO~P#={OP]XR]X[]Xj]Xr]X!Q]X!S]X!l]X!p]X#R]X#S]X#`]X#kfX#n]X#o]X#p]X#q]X#r]X#s]X#t]X#u]X#v]X#x]X#z]X#{]X$Q]X(a]X(r]X(y]X(z]X!]]X!^]X~O$O]X~P#@jOP$[OR#zO[]O!Q*OO'y*PO(y$}O(z%POP#miR#mi!S#mi!l#mi!p#mi#n#mi#o#mi#p#mi#q#mi(a#mi~P#EyO!]/POg(pX~P!1WOg/RO~Oa$Pi!]$Pi'z$Pi'w$Pi!Y$Pi!k$Piv$Pi!_$Pi%i$Pi!g$Pi~P!:tO$]/SO$_/SO~O$]/TO$_/TO~O!g)hO#`/UO!_$cX$Z$cX$]$cX$_$cX$f$cX~O![/VO~O!_)kO$Z/XO$])jO$_)jO$f/YO~O!]VO!l$xO#j^O!Q*OO'y*PO(y$}O(z%POP#miR#mi!S#mi!l#mi!p#mi#n#mi#o#mi#p#mi#q#mi(a#mi~P&,QO#S$dOP(`XR(`X[(`Xj(`Xn(`Xr(`X!Q(`X!S(`X!l(`X!p(`X#R(`X#n(`X#o(`X#p(`X#q(`X#r(`X#s(`X#t(`X#u(`X#v(`X#x(`X#z(`X#{(`X$O(`X'y(`X(a(`X(r(`X(y(`X(z(`X!](`X!^(`X~O$O$Pi!]$Pi!^$Pi~P#BwO$O!ri!^!ri~P$+oOg']a!]']a~P!1WO!^7nO~O!]'da!^'da~P#BwO!Y7oO~P#/sO!g#vO(r'pO!]'ea!k'ea~O!]/pO!k)Oi~O!]/pO!g#vO!k)Oi~Og$|q!]$|q#`$|q$O$|q~P!1WO!Y'ga!]'ga~P#/sO!g7vO~O!]/yO!Y)Pi~P#/sO!]/yO!Y)Pi~O!Y7yO~Oh%VOr8OO!l%eO(r'pO~Oj8QO!g#vO~Or8TO!g#vO(r'pO~O!Q*OO'y*PO(z%POn'ja(y'ja!]'ja#`'ja~Og'ja$O'ja~P&5RO!Q*OO'y*POn'la(y'la(z'la!]'la#`'la~Og'la$O'la~P&5tOg(_q!](_q~P!1WO#`8VOg(_q!](_q~P!1WO!Y8WO~Og%Oq!]%Oq#`%Oq$O%Oq~P!1WOa$oy!]$oy'z$oy'w$oy!Y$oy!k$oyv$oy!_$oy%i$oy!g$oy~P!:tO!g6rO~O!]5[O!_)Qa~O!_'`OP$TaR$Ta[$Taj$Tar$Ta!Q$Ta!S$Ta!]$Ta!l$Ta!p$Ta#R$Ta#n$Ta#o$Ta#p$Ta#q$Ta#r$Ta#s$Ta#t$Ta#u$Ta#v$Ta#x$Ta#z$Ta#{$Ta(a$Ta(r$Ta(y$Ta(z$Ta~O%i7WO~P&8fO%^8[Oa%[i!_%[i'z%[i!]%[i~Oa#cy!]#cy'z#cy'w#cy!Y#cy!k#cyv#cy!_#cy%i#cy!g#cy~P!:tO[8^O~Ob8`O(T+qO(VTO(YUO~O!]1TO!^)Xi~O`8dO~O(e(|O!]'pX!^'pX~O!]5uO!^)Ua~O!^8nO~P%;eO(o!sO~P$&YO#[8oO~O!_1oO~O!_1oO%i8qO~On8tO!_1oO%i8qO~O[8yO!]'sa!^'sa~O!]1zO!^)Vi~O!k8}O~O!k9OO~O!k9RO~O!k9RO~P%[Oa9TO~O!g9UO~O!k9VO~O!](wi!^(wi~P#BwOa%nO#`9_O'z%nO~O!](ty!k(tya(ty'z(ty~P!:tO!](jO!k(sy~O%i9bO~P&8fO!_'`O%i9bO~O#k$|qP$|qR$|q[$|qa$|qj$|qr$|q!S$|q!]$|q!l$|q!p$|q#R$|q#n$|q#o$|q#p$|q#q$|q#r$|q#s$|q#t$|q#u$|q#v$|q#x$|q#z$|q#{$|q'z$|q(a$|q(r$|q!k$|q!Y$|q'w$|q#`$|qv$|q!_$|q%i$|q!g$|q~P#/sO#k'jaP'jaR'ja['jaa'jaj'jar'ja!S'ja!l'ja!p'ja#R'ja#n'ja#o'ja#p'ja#q'ja#r'ja#s'ja#t'ja#u'ja#v'ja#x'ja#z'ja#{'ja'z'ja(a'ja(r'ja!k'ja!Y'ja'w'jav'ja!_'ja%i'ja!g'ja~P&5RO#k'laP'laR'la['laa'laj'lar'la!S'la!l'la!p'la#R'la#n'la#o'la#p'la#q'la#r'la#s'la#t'la#u'la#v'la#x'la#z'la#{'la'z'la(a'la(r'la!k'la!Y'la'w'lav'la!_'la%i'la!g'la~P&5tO#k%OqP%OqR%Oq[%Oqa%Oqj%Oqr%Oq!S%Oq!]%Oq!l%Oq!p%Oq#R%Oq#n%Oq#o%Oq#p%Oq#q%Oq#r%Oq#s%Oq#t%Oq#u%Oq#v%Oq#x%Oq#z%Oq#{%Oq'z%Oq(a%Oq(r%Oq!k%Oq!Y%Oq'w%Oq#`%Oqv%Oq!_%Oq%i%Oq!g%Oq~P#/sO!]'Yi!k'Yi~P!:tO$O#cq!]#cq!^#cq~P#BwO(y$}OP%aaR%aa[%aaj%aar%aa!S%aa!l%aa!p%aa#R%aa#n%aa#o%aa#p%aa#q%aa#r%aa#s%aa#t%aa#u%aa#v%aa#x%aa#z%aa#{%aa$O%aa(a%aa(r%aa!]%aa!^%aa~On%aa!Q%aa'y%aa(z%aa~P&IyO(z%POP%caR%ca[%caj%car%ca!S%ca!l%ca!p%ca#R%ca#n%ca#o%ca#p%ca#q%ca#r%ca#s%ca#t%ca#u%ca#v%ca#x%ca#z%ca#{%ca$O%ca(a%ca(r%ca!]%ca!^%ca~On%ca!Q%ca'y%ca(y%ca~P&LQOn>^O!Q*OO'y*PO(z%PO~P&IyOn>^O!Q*OO'y*PO(y$}O~P&LQOR0kO!Q0kO!S0lO#S$dOP}a[}aj}an}ar}a!l}a!p}a#R}a#n}a#o}a#p}a#q}a#r}a#s}a#t}a#u}a#v}a#x}a#z}a#{}a$O}a'y}a(a}a(r}a(y}a(z}a!]}a!^}a~O!Q*OO'y*POP$saR$sa[$saj$san$sar$sa!S$sa!l$sa!p$sa#R$sa#n$sa#o$sa#p$sa#q$sa#r$sa#s$sa#t$sa#u$sa#v$sa#x$sa#z$sa#{$sa$O$sa(a$sa(r$sa(y$sa(z$sa!]$sa!^$sa~O!Q*OO'y*POP$uaR$ua[$uaj$uan$uar$ua!S$ua!l$ua!p$ua#R$ua#n$ua#o$ua#p$ua#q$ua#r$ua#s$ua#t$ua#u$ua#v$ua#x$ua#z$ua#{$ua$O$ua(a$ua(r$ua(y$ua(z$ua!]$ua!^$ua~On>^O!Q*OO'y*PO(y$}O(z%PO~OP%TaR%Ta[%Taj%Tar%Ta!S%Ta!l%Ta!p%Ta#R%Ta#n%Ta#o%Ta#p%Ta#q%Ta#r%Ta#s%Ta#t%Ta#u%Ta#v%Ta#x%Ta#z%Ta#{%Ta$O%Ta(a%Ta(r%Ta!]%Ta!^%Ta~P''VO$O$mq!]$mq!^$mq~P#BwO$O$oq!]$oq!^$oq~P#BwO!^9oO~O$O9pO~P!1WO!g#vO!]'ei!k'ei~O!g#vO(r'pO!]'ei!k'ei~O!]/pO!k)Oq~O!Y'gi!]'gi~P#/sO!]/yO!Y)Pq~Or9wO!g#vO(r'pO~O[9yO!Y9xO~P#/sO!Y9xO~Oj:PO!g#vO~Og(_y!](_y~P!1WO!]'na!_'na~P#/sOa%[q!_%[q'z%[q!]%[q~P#/sO[:UO~O!]1TO!^)Xq~O`:YO~O#`:ZO!]'pa!^'pa~O!]5uO!^)Ui~P#BwO!S:]O~O!_1oO%i:`O~O(VTO(YUO(e:eO~O!]1zO!^)Vq~O!k:hO~O!k:iO~O!k:jO~O!k:jO~P%[O#`:mO!]#hy!^#hy~O!]#hy!^#hy~P#BwO%i:rO~P&8fO!_'`O%i:rO~O$O#|y!]#|y!^#|y~P#BwOP$|iR$|i[$|ij$|ir$|i!S$|i!l$|i!p$|i#R$|i#n$|i#o$|i#p$|i#q$|i#r$|i#s$|i#t$|i#u$|i#v$|i#x$|i#z$|i#{$|i$O$|i(a$|i(r$|i!]$|i!^$|i~P''VO!Q*OO'y*PO(z%POP'iaR'ia['iaj'ian'iar'ia!S'ia!l'ia!p'ia#R'ia#n'ia#o'ia#p'ia#q'ia#r'ia#s'ia#t'ia#u'ia#v'ia#x'ia#z'ia#{'ia$O'ia(a'ia(r'ia(y'ia!]'ia!^'ia~O!Q*OO'y*POP'kaR'ka['kaj'kan'kar'ka!S'ka!l'ka!p'ka#R'ka#n'ka#o'ka#p'ka#q'ka#r'ka#s'ka#t'ka#u'ka#v'ka#x'ka#z'ka#{'ka$O'ka(a'ka(r'ka(y'ka(z'ka!]'ka!^'ka~O(y$}OP%aiR%ai[%aij%ain%air%ai!Q%ai!S%ai!l%ai!p%ai#R%ai#n%ai#o%ai#p%ai#q%ai#r%ai#s%ai#t%ai#u%ai#v%ai#x%ai#z%ai#{%ai$O%ai'y%ai(a%ai(r%ai(z%ai!]%ai!^%ai~O(z%POP%ciR%ci[%cij%cin%cir%ci!Q%ci!S%ci!l%ci!p%ci#R%ci#n%ci#o%ci#p%ci#q%ci#r%ci#s%ci#t%ci#u%ci#v%ci#x%ci#z%ci#{%ci$O%ci'y%ci(a%ci(r%ci(y%ci!]%ci!^%ci~O$O$oy!]$oy!^$oy~P#BwO$O#cy!]#cy!^#cy~P#BwO!g#vO!]'eq!k'eq~O!]/pO!k)Oy~O!Y'gq!]'gq~P#/sOr:|O!g#vO(r'pO~O[;QO!Y;PO~P#/sO!Y;PO~Og(_!R!](_!R~P!1WOa%[y!_%[y'z%[y!]%[y~P#/sO!]1TO!^)Xy~O!]5uO!^)Uq~O(T;XO~O!_1oO%i;[O~O!k;_O~O%i;dO~P&8fOP$|qR$|q[$|qj$|qr$|q!S$|q!l$|q!p$|q#R$|q#n$|q#o$|q#p$|q#q$|q#r$|q#s$|q#t$|q#u$|q#v$|q#x$|q#z$|q#{$|q$O$|q(a$|q(r$|q!]$|q!^$|q~P''VO!Q*OO'y*PO(z%POP'jaR'ja['jaj'jan'jar'ja!S'ja!l'ja!p'ja#R'ja#n'ja#o'ja#p'ja#q'ja#r'ja#s'ja#t'ja#u'ja#v'ja#x'ja#z'ja#{'ja$O'ja(a'ja(r'ja(y'ja!]'ja!^'ja~O!Q*OO'y*POP'laR'la['laj'lan'lar'la!S'la!l'la!p'la#R'la#n'la#o'la#p'la#q'la#r'la#s'la#t'la#u'la#v'la#x'la#z'la#{'la$O'la(a'la(r'la(y'la(z'la!]'la!^'la~OP%OqR%Oq[%Oqj%Oqr%Oq!S%Oq!l%Oq!p%Oq#R%Oq#n%Oq#o%Oq#p%Oq#q%Oq#r%Oq#s%Oq#t%Oq#u%Oq#v%Oq#x%Oq#z%Oq#{%Oq$O%Oq(a%Oq(r%Oq!]%Oq!^%Oq~P''VOg%e!Z!]%e!Z#`%e!Z$O%e!Z~P!1WO!Y;hO~P#/sOr;iO!g#vO(r'pO~O[;kO!Y;hO~P#/sO!]'pq!^'pq~P#BwO!]#h!Z!^#h!Z~P#BwO#k%e!ZP%e!ZR%e!Z[%e!Za%e!Zj%e!Zr%e!Z!S%e!Z!]%e!Z!l%e!Z!p%e!Z#R%e!Z#n%e!Z#o%e!Z#p%e!Z#q%e!Z#r%e!Z#s%e!Z#t%e!Z#u%e!Z#v%e!Z#x%e!Z#z%e!Z#{%e!Z'z%e!Z(a%e!Z(r%e!Z!k%e!Z!Y%e!Z'w%e!Z#`%e!Zv%e!Z!_%e!Z%i%e!Z!g%e!Z~P#/sOr;tO!g#vO(r'pO~O!Y;uO~P#/sOr;|O!g#vO(r'pO~O!Y;}O~P#/sOP%e!ZR%e!Z[%e!Zj%e!Zr%e!Z!S%e!Z!l%e!Z!p%e!Z#R%e!Z#n%e!Z#o%e!Z#p%e!Z#q%e!Z#r%e!Z#s%e!Z#t%e!Z#u%e!Z#v%e!Z#x%e!Z#z%e!Z#{%e!Z$O%e!Z(a%e!Z(r%e!Z!]%e!Z!^%e!Z~P''VOrROe!iOpkOrPO(T)]O(VTO(YUO(aVO(o[O~O!]WO!l$xO#jgPPP!>oI[PPPPPPPPP!BOP!C]PPI[!DnPI[PI[I[I[I[I[PI[!FQP!I[P!LbP!Lf!Lp!Lt!LtP!IXP!Lx!LxP#!OP#!SI[PI[#!Y#%_CjA^PA^PA^A^P#&lA^A^#)OA^#+vA^#.SA^A^#.r#1W#1W#1]#1f#1W#1qPP#1WPA^#2ZA^#6YA^A^6mPPP#:_PPP#:x#:xP#:xP#;`#:xPP#;fP#;]P#;]#;y#;]#P#>V#>]#>k#>q#>{#?R#?]#?c#?s#?y#@k#@}#AT#AZ#Ai#BO#Cs#DR#DY#Et#FS#Gt#HS#HY#H`#Hf#Hp#Hv#H|#IW#Ij#IpPPPPPPPPPPP#IvPPPPPPP#Jk#Mx$ b$ i$ qPPP$']P$'f$*_$0x$0{$1O$1}$2Q$2X$2aP$2g$2jP$3W$3[$4S$5b$5g$5}PP$6S$6Y$6^$6a$6e$6i$7e$7|$8e$8i$8l$8o$8y$8|$9Q$9UR!|RoqOXst!Z#d%m&r&t&u&w,s,x2[2_Y!vQ'`-e1o5{Q%tvQ%|yQ&T|Q&j!VS'W!e-]Q'f!iS'l!r!yU*k$|*Z*oQ+o%}S+|&V&WQ,d&dQ-c'_Q-m'gQ-u'mQ0[*qQ1b,OQ1y,eR<{SU+P%]S!S!nQ!r!v!y!z$|'W'_'`'l'm'n*k*o*q*r-]-c-e-u0[0_1o5{5}%[$ti#v$b$c$d$x${%O%Q%^%_%c)y*R*T*V*Y*a*g*w*x+f+i,S,V.f/P/d/m/x/y/{0`0b0i0j0o1f1i1q3c4^4_4j4o5Q5[5_6S7W7v8Q8V8[8q9b9p9y:P:`:r;Q;[;d;kP>X>Y>]>^Q&X|Q'U!eS'[%i-`Q+t&PQ,P&WQ,f&gQ0n+SQ1Y+uQ1_+{Q2Q,jQ2R,kQ5f1TQ5o1aQ6[1zQ6_1|Q6`2PQ8`5gQ8c5lQ8|6bQ:X8dQ:f8yQ;V:YR<}*ZrnOXst!V!Z#d%m&i&r&t&u&w,s,x2[2_R,h&k&z^OPXYstuvwz!Z!`!g!j!o#S#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%m%t&R&k&n&o&r&t&u&w&{'T'b'r(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:mR>S[#]WZ#W#Z'X(T!b%jm#h#i#l$x%e%h(^(h(i(j*Y*^*b+Z+[+^,o-V.T.Z.[.]._/m/p2d3[3]4a6r7TQ%wxQ%{yW&Q|&V&W,OQ&_!TQ'c!hQ'e!iQ(q#sS+n%|%}Q+r&PQ,_&bQ,c&dS-l'f'gQ.i(rQ1R+oQ1X+uQ1Z+vQ1^+zQ1t,`S1x,d,eQ2|-mQ5e1TQ5i1WQ5n1`Q6Z1yQ8_5gQ8b5kQ8f5pQ:T8^R;T:U!U$zi$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Y!^%yy!i!u%{%|%}'V'e'f'g'k'u*j+n+o-Y-l-m-t0R0U1R2u2|3T4r4s4v7}9{Q+h%wQ,T&[Q,W&]Q,b&dQ.h(qQ1s,_U1w,c,d,eQ3e.iQ6U1tS6Y1x1yQ8x6Z#f>T#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k]>^o>UPS&[!Q&iQ&]!RQ&^!SU*}%[%d=sR,R&Y%]%Si#v$b$c$d$x${%O%Q%^%_%c)y*R*T*V*Y*a*g*w*x+f+i,S,V.f/P/d/m/x/y/{0`0b0i0j0o1f1i1q3c4^4_4j4o5Q5[5_6S7W7v8Q8V8[8q9b9p9y:P:`:r;Q;[;d;kP>X>Y>]>^T)z$u){V+P%]S$i$^c#Y#e%q%s%u(S(Y(t(y)R)S)T)U)V)W)X)Y)Z)[)^)`)b)g)q+d+x-Z-x-}.S.U.s.v.z.|.}/O/b0p2k2n3O3V3k3p3q3r3s3t3u3v3w3x3y3z3{3|4P4Q4X5X5c6u6{7Q7a7b7k7l8k9X9]9g9m9n:o;W;`SQ'Y!eR2q-]!W!nQ!e!r!v!y!z$|'W'_'`'l'm'n*Z*k*o*q*r-]-c-e-u0[0_1o5{5}R1l,ZnqOXst!Z#d%m&r&t&u&w,s,x2[2_Q&y!^Q'v!xS(s#u<^Q+l%zQ,]&_Q,^&aQ-j'dQ-w'oS.r(x=PS0q+X=ZQ1P+mQ1n,[Q2c,zQ2e,{Q2m-WQ2z-kQ2}-oS5Y0r=eQ5a1QS5d1S=fQ6t2oQ6x2{Q6}3SQ8]5bQ9Y6vQ9Z6yQ9^7OR:l9V$d$]c#Y#e%s%u(S(Y(t(y)R)S)T)U)V)W)X)Y)Z)[)^)`)b)g)q+d+x-Z-x-}.S.U.s.v.z.}/O/b0p2k2n3O3V3k3p3q3r3s3t3u3v3w3x3y3z3{3|4P4Q4X5X5c6u6{7Q7a7b7k7l8k9X9]9g9m9n:o;W;`SS#q]SU$fd)_,mS(p#p'iU*v%R(w4OU0m+O.n7gQ5^0xQ7V3`Q9d7YR:s9em!tQ!r!v!y!z'`'l'm'n-e-u1o5{5}Q't!uS(f#g2US-s'k'wQ/s*]Q0R*jQ3U-vQ4f/tQ4r0TQ4s0UQ4x0^Q7r4`S7}4t4vS8R4y4{Q9r7sQ9v7yQ9{8OQ:Q8TS:{9w9xS;g:|;PS;s;h;iS;{;t;uSSR=o>R%^bOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&o&r&t&u&w&{'T'b'r(T(V(](d(x(z)O)}*i+X+]+g,p,s,x-i-q.P.V.g.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3d3l4z6T6e6f6i6|7[8t9T9_Q%fj!^%xy!i!u%{%|%}'V'e'f'g'k'u*j+n+o-Y-l-m-t0R0U1R2u2|3T4r4s4v7}9{S&Oz!jQ+k%yQ,a&dW1v,b,c,d,eU6X1w1x1yS8w6Y6ZQ:d8x!r=j$Z$n'X)s-U-X/V2p4T5w6s:Z:mSQ=t>QR=u>R%QeOPXYstuvw!Z!`!g!o#S#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&r&t&u&w&{'T'b'r(V(](d(x(z)O)}*i+X+]+g,p,s,x-i-q.P.V.g.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3d3l4z6T6e6f6i6|7[8t9T9_Y#bWZ#W#Z(T!b%jm#h#i#l$x%e%h(^(h(i(j*Y*^*b+Z+[+^,o-V.T.Z.[.]._/m/p2d3[3]4a6r7TQ,n&o!p=k$Z$n)s-U-X/V2p4T5w6s:Z:mSR=n'XU']!e%i*ZR2s-`%SdOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&r&t&u&w&{'T'b'r(T(V(](d(x(z)O)}*i+X+],p,s,x-i-q.P.V.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3l4z6T6e6f6i6|8t9T9_!r)_$Z$n'X)s-U-X/V2p4T5w6s:Z:mSQ,m&oQ0x+gQ3`.gQ7Y3dR9e7[!b$Tc#Y%q(S(Y(t(y)Z)[)`)g+x-x-}.S.U.s.v/b0p3O3V3k3{5X5c6{7Q7a9]:oS)^)q-Z.|2k2n3p4P4X6u7b7k7l8k9X9g9m9n;W;`=vQ>X>ZR>Y>['QkOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%m%t&R&k&n&o&r&t&u&w&{'T'X'b'r(T(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:mSS$oh$pR4U/U'XgOPWXYZhstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n$p%m%t&R&k&n&o&r&t&u&w&{'T'X'b'r(T(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/U/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:mST$kf$qQ$ifS)j$l)nR)v$qT$jf$qT)l$l)n'XhOPWXYZhstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n$p%m%t&R&k&n&o&r&t&u&w&{'T'X'b'r(T(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/U/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:mST$oh$pQ$rhR)u$p%^jOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&o&r&t&u&w&{'T'b'r(T(V(](d(x(z)O)}*i+X+]+g,p,s,x-i-q.P.V.g.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3d3l4z6T6e6f6i6|7[8t9T9_!s>Q$Z$n'X)s-U-X/V2p4T5w6s:Z:mS#glOPXZst!Z!`!o#S#d#o#{$n%m&k&n&o&r&t&u&w&{'T'b)O)s*i+]+g,p,s,x-i.g/V/n0]0l1r2S2T2V2X2[2_2a3d4T4z6T6e6f6i7[8t9T!U%Ri$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Y#f(w#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k]>^Q+T%aQ/c*Oo4OP>X>YQ*c$zU*l$|*Z*oQ+U%bQ0W*m#f=q#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k]>^n=rTQ=x>UQ=y>VR=z>W!U%Ri$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Y#f(w#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k]>^o4OP>X>Y>]>^Q,U&]Q1h,WQ5s1gR8h5tV*n$|*Z*oU*n$|*Z*oT5z1o5{S0P*i/nQ4w0]T8S4z:]Q+j%xQ0V*lQ1O+kQ1u,aQ6W1vQ8v6XQ:c8wR;^:d!U%Oi$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Yx*R$v)e*S*u+V/v0d0e4R4g5R5S5W7p8U:R:x=p=}>OS0`*t0a#f]>^nZ>[`=T3}7c7f7j9h:t:w;yS=_.l3iT=`7e9k!U%Qi$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Y|*T$v)e*U*t+V/g/v0d0e4R4g4|5R5S5W7p8U:R:x=p=}>OS0b*u0c#f]>^nZ>[d=V3}7d7e7j9h9i:t:u:w;yS=a.m3jT=b7f9lrnOXst!V!Z#d%m&i&r&t&u&w,s,x2[2_Q&f!UR,p&ornOXst!V!Z#d%m&i&r&t&u&w,s,x2[2_R&f!UQ,Y&^R1d,RsnOXst!V!Z#d%m&i&r&t&u&w,s,x2[2_Q1p,_S6R1s1tU8p6P6Q6US:_8r8sS;Y:^:aQ;m;ZR;w;nQ&m!VR,i&iR6_1|R:f8yW&Q|&V&W,OR1Z+vQ&r!WR,s&sR,y&xT2],x2_R,}&yQ,|&yR2f,}Q'y!{R-y'ySsOtQ#dXT%ps#dQ#OTR'{#OQ#RUR'}#RQ){$uR/`){Q#UVR(Q#UQ#XWU(W#X(X.QQ(X#YR.Q(YQ-^'YR2r-^Q.u(yS3m.u3nR3n.vQ-e'`R2v-eY!rQ'`-e1o5{R'j!rQ/Q)eR4S/QU#_W%h*YU(_#_(`.RQ(`#`R.R(ZQ-a']R2t-at`OXst!V!Z#d%m&i&k&r&t&u&w,s,x2[2_S#hZ%eU#r`#h.[R.[(jQ(k#jQ.X(gW.a(k.X3X7RQ3X.YR7R3YQ)n$lR/W)nQ$phR)t$pQ$`cU)a$`-|O>Z>[Q/z*eU4k/z4m7xQ4m/|R7x4lS*o$|*ZR0Y*ox*S$v)e*t*u+V/v0d0e4R4g5R5S5W7p8U:R:x=p=}>O!d.j(u)c*[*e.l.m.q/_/k/|0v1e3h4[4h4l5r7]7`7w7z8X8Z9t9|:S:};R;e;j;v>Z>[U/h*S.j7ca7c3}7e7f7j9h:t:w;yQ0a*tQ3i.lU4}0a3i9kR9k7e|*U$v)e*t*u+V/g/v0d0e4R4g4|5R5S5W7p8U:R:x=p=}>O!h.k(u)c*[*e.l.m.q/_/k/|0v1e3f3h4[4h4l5r7]7^7`7w7z8X8Z9t9|:S:};R;e;j;v>Z>[U/j*U.k7de7d3}7e7f7j9h9i:t:u:w;yQ0c*uQ3j.mU5P0c3j9lR9l7fQ*z%UR0g*zQ5]0vR8Y5]Q+_%kR0u+_Q5v1jS8j5v:[R:[8kQ,[&_R1m,[Q5{1oR8m5{Q1{,fS6]1{8zR8z6_Q1U+rW5h1U5j8a:VQ5j1XQ8a5iR:V8bQ+w&QR1[+wQ2_,xR6m2_YrOXst#dQ&v!ZQ+a%mQ,r&rQ,t&tQ,u&uQ,w&wQ2Y,sS2],x2_R6l2[Q%opQ&z!_Q&}!aQ'P!bQ'R!cQ'q!uQ+`%lQ+l%zQ,Q&XQ,h&mQ-P&|W-p'k's't'wQ-w'oQ0X*nQ1P+mQ1c,PS2O,i,lQ2g-OQ2h-RQ2i-SQ2}-oW3P-r-s-v-xQ5a1QQ5m1_Q5q1eQ6V1uQ6a2QQ6k2ZU6z3O3R3UQ6}3SQ8]5bQ8e5oQ8g5rQ8l5zQ8u6WQ8{6`S9[6{7PQ9^7OQ:W8cQ:b8vQ:g8|Q:n9]Q;U:XQ;]:cQ;a:oQ;l;VR;o;^Q%zyQ'd!iQ'o!uU+m%{%|%}Q-W'VU-k'e'f'gS-o'k'uQ0Q*jS1Q+n+oQ2o-YS2{-l-mQ3S-tS4p0R0UQ5b1RQ6v2uQ6y2|Q7O3TU7{4r4s4vQ9z7}R;O9{S$wi>PR*{%VU%Ui%V>PR0f*yQ$viS(u#v+iS)c$b$cQ)e$dQ*[$xS*e${*YQ*t%OQ*u%QQ+Q%^Q+R%_Q+V%cQ.lPQ=}>XQ>O>YQ>Z>]R>[>^Q+O%]Q.nSR#[WR'Z!el!tQ!r!v!y!z'`'l'm'n-e-u1o5{5}S'V!e-]U*j$|*Z*oS-Y'W'_S0U*k*qQ0^*rQ2u-cQ4v0[R4{0_R({#xQ!fQT-d'`-e]!qQ!r'`-e1o5{Q#p]R'i < TypeParamList in out const TypeDefinition extends ThisType this LiteralType ArithOp Number BooleanLiteral TemplateType InterpolationEnd Interpolation InterpolationStart NullType null VoidType void TypeofType typeof MemberExpression . PropertyName [ TemplateString Escape Interpolation super RegExp ] ArrayExpression Spread , } { ObjectExpression Property async get set PropertyDefinition Block : NewTarget new NewExpression ) ( ArgList UnaryExpression delete LogicOp BitOp YieldExpression yield AwaitExpression await ParenthesizedExpression ClassExpression class ClassBody MethodDeclaration Decorator @ MemberExpression PrivatePropertyName CallExpression TypeArgList CompareOp < declare Privacy static abstract override PrivatePropertyDefinition PropertyDeclaration readonly accessor Optional TypeAnnotation Equals StaticBlock FunctionExpression ArrowFunction ParamList ParamList ArrayPattern ObjectPattern PatternProperty Privacy readonly Arrow MemberExpression BinaryExpression ArithOp ArithOp ArithOp ArithOp BitOp CompareOp instanceof satisfies CompareOp BitOp BitOp BitOp LogicOp LogicOp ConditionalExpression LogicOp LogicOp AssignmentExpression UpdateOp PostfixExpression CallExpression InstantiationExpression TaggedTemplateExpression DynamicImport import ImportMeta JSXElement JSXSelfCloseEndTag JSXSelfClosingTag JSXIdentifier JSXBuiltin JSXIdentifier JSXNamespacedName JSXMemberExpression JSXSpreadAttribute JSXAttribute JSXAttributeValue JSXEscape JSXEndTag JSXOpenTag JSXFragmentTag JSXText JSXEscape JSXStartCloseTag JSXCloseTag PrefixCast < ArrowFunction TypeParamList SequenceExpression InstantiationExpression KeyofType keyof UniqueType unique ImportType InferredType infer TypeName ParenthesizedType FunctionSignature ParamList NewSignature IndexedType TupleType Label ArrayType ReadonlyType ObjectType MethodType PropertyType IndexSignature PropertyDefinition CallSignature TypePredicate asserts is NewSignature new UnionType LogicOp IntersectionType LogicOp ConditionalType ParameterizedType ClassDeclaration abstract implements type VariableDeclaration let var using TypeAliasDeclaration InterfaceDeclaration interface EnumDeclaration enum EnumBody NamespaceDeclaration namespace module AmbientDeclaration declare GlobalDeclaration global ClassDeclaration ClassBody AmbientFunctionDeclaration ExportGroup VariableName VariableName ImportDeclaration defer ImportGroup ForStatement for ForSpec ForInSpec ForOfSpec of WhileStatement while WithStatement with DoStatement do IfStatement if else SwitchStatement switch SwitchBody CaseLabel case DefaultLabel TryStatement try CatchClause catch FinallyClause finally ReturnStatement return ThrowStatement throw BreakStatement break ContinueStatement continue DebuggerStatement debugger LabeledStatement ExpressionStatement SingleExpression SingleClassItem",maxTerm:380,context:e1,nodeProps:[["isolate",-8,5,6,14,37,39,51,53,55,""],["group",-26,9,17,19,68,207,211,215,216,218,221,224,234,237,243,245,247,249,252,258,264,266,268,270,272,274,275,"Statement",-34,13,14,32,35,36,42,51,54,55,57,62,70,72,76,80,82,84,85,110,111,120,121,136,139,141,142,143,144,145,147,148,167,169,171,"Expression",-23,31,33,37,41,43,45,173,175,177,178,180,181,182,184,185,186,188,189,190,201,203,205,206,"Type",-3,88,103,109,"ClassItem"],["openedBy",23,"<",38,"InterpolationStart",56,"[",60,"{",73,"(",160,"JSXStartCloseTag"],["closedBy",-2,24,168,">",40,"InterpolationEnd",50,"]",61,"}",74,")",165,"JSXEndTag"]],propSources:[o1],skippedNodes:[0,5,6,278],repeatNodeCount:37,tokenData:"$Fq07[R!bOX%ZXY+gYZ-yZ[+g[]%Z]^.c^p%Zpq+gqr/mrs3cst:_tuEruvJSvwLkwx! Yxy!'iyz!(sz{!)}{|!,q|}!.O}!O!,q!O!P!/Y!P!Q!9j!Q!R#:O!R![#<_![!]#I_!]!^#Jk!^!_#Ku!_!`$![!`!a$$v!a!b$*T!b!c$,r!c!}Er!}#O$-|#O#P$/W#P#Q$4o#Q#R$5y#R#SEr#S#T$7W#T#o$8b#o#p$x#r#s$@U#s$f%Z$f$g+g$g#BYEr#BY#BZ$A`#BZ$ISEr$IS$I_$A`$I_$I|Er$I|$I}$Dk$I}$JO$Dk$JO$JTEr$JT$JU$A`$JU$KVEr$KV$KW$A`$KW&FUEr&FU&FV$A`&FV;'SEr;'S;=`I|<%l?HTEr?HT?HU$A`?HUOEr(n%d_$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z&j&hT$i&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c&j&zP;=`<%l&c'|'U]$i&j(Z!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!b(SU(Z!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}!b(iP;=`<%l'}'|(oP;=`<%l&}'[(y]$i&j(WpOY(rYZ&cZr(rrs&cs!^(r!^!_)r!_#O(r#O#P&c#P#o(r#o#p)r#p;'S(r;'S;=`*a<%lO(rp)wU(WpOY)rZr)rs#O)r#P;'S)r;'S;=`*Z<%lO)rp*^P;=`<%l)r'[*dP;=`<%l(r#S*nX(Wp(Z!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g#S+^P;=`<%l*g(n+dP;=`<%l%Z07[+rq$i&j(Wp(Z!b'|0/lOX%ZXY+gYZ&cZ[+g[p%Zpq+gqr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p$f%Z$f$g+g$g#BY%Z#BY#BZ+g#BZ$IS%Z$IS$I_+g$I_$JT%Z$JT$JU+g$JU$KV%Z$KV$KW+g$KW&FU%Z&FU&FV+g&FV;'S%Z;'S;=`+a<%l?HT%Z?HT?HU+g?HUO%Z07[.ST(X#S$i&j'}0/lO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c07[.n_$i&j(Wp(Z!b'}0/lOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z)3p/x`$i&j!p),Q(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`0z!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW1V`#v(Ch$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`2X!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW2d_#v(Ch$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'At3l_(V':f$i&j(Z!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k(^4r_$i&j(Z!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k&z5vX$i&jOr5qrs6cs!^5q!^!_6y!_#o5q#o#p6y#p;'S5q;'S;=`7h<%lO5q&z6jT$d`$i&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c`6|TOr6yrs7]s;'S6y;'S;=`7b<%lO6y`7bO$d``7eP;=`<%l6y&z7kP;=`<%l5q(^7w]$d`$i&j(Z!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!r8uZ(Z!bOY8pYZ6yZr8prs9hsw8pwx6yx#O8p#O#P6y#P;'S8p;'S;=`:R<%lO8p!r9oU$d`(Z!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}!r:UP;=`<%l8p(^:[P;=`<%l4k%9[:hh$i&j(Wp(Z!bOY%ZYZ&cZq%Zqr`#P#o`x!^=^!^!_?q!_#O=^#O#P>`#P#o=^#o#p?q#p;'S=^;'S;=`@h<%lO=^&n>gXWS$i&jOY>`YZ&cZ!^>`!^!_?S!_#o>`#o#p?S#p;'S>`;'S;=`?k<%lO>`S?XSWSOY?SZ;'S?S;'S;=`?e<%lO?SS?hP;=`<%l?S&n?nP;=`<%l>`!f?xWWS(Z!bOY?qZw?qwx?Sx#O?q#O#P?S#P;'S?q;'S;=`@b<%lO?q!f@eP;=`<%l?q(Q@kP;=`<%l=^'`@w]WS$i&j(WpOY@nYZ&cZr@nrs>`s!^@n!^!_Ap!_#O@n#O#P>`#P#o@n#o#pAp#p;'S@n;'S;=`Bg<%lO@ntAwWWS(WpOYApZrAprs?Ss#OAp#O#P?S#P;'SAp;'S;=`Ba<%lOAptBdP;=`<%lAp'`BjP;=`<%l@n#WBvYWS(Wp(Z!bOYBmZrBmrs?qswBmwxApx#OBm#O#P?S#P;'SBm;'S;=`Cf<%lOBm#WCiP;=`<%lBm(rCoP;=`<%l^!Q^$i&j!X7`OY!=yYZ&cZ!P!=y!P!Q!>|!Q!^!=y!^!_!@c!_!}!=y!}#O!CW#O#P!Dy#P#o!=y#o#p!@c#p;'S!=y;'S;=`!Ek<%lO!=y|#X#Z&c#Z#[!>|#[#]&c#]#^!>|#^#a&c#a#b!>|#b#g&c#g#h!>|#h#i&c#i#j!>|#j#k!>|#k#m&c#m#n!>|#n#o&c#p;'S&c;'S;=`&w<%lO&c7`!@hX!X7`OY!@cZ!P!@c!P!Q!AT!Q!}!@c!}#O!Ar#O#P!Bq#P;'S!@c;'S;=`!CQ<%lO!@c7`!AYW!X7`#W#X!AT#Z#[!AT#]#^!AT#a#b!AT#g#h!AT#i#j!AT#j#k!AT#m#n!AT7`!AuVOY!ArZ#O!Ar#O#P!B[#P#Q!@c#Q;'S!Ar;'S;=`!Bk<%lO!Ar7`!B_SOY!ArZ;'S!Ar;'S;=`!Bk<%lO!Ar7`!BnP;=`<%l!Ar7`!BtSOY!@cZ;'S!@c;'S;=`!CQ<%lO!@c7`!CTP;=`<%l!@c^!Ezl$i&j(Z!b!X7`OY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#W&}#W#X!Eq#X#Z&}#Z#[!Eq#[#]&}#]#^!Eq#^#a&}#a#b!Eq#b#g&}#g#h!Eq#h#i&}#i#j!Eq#j#k!Eq#k#m&}#m#n!Eq#n#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}8r!GyZ(Z!b!X7`OY!GrZw!Grwx!@cx!P!Gr!P!Q!Hl!Q!}!Gr!}#O!JU#O#P!Bq#P;'S!Gr;'S;=`!J|<%lO!Gr8r!Hse(Z!b!X7`OY'}Zw'}x#O'}#P#W'}#W#X!Hl#X#Z'}#Z#[!Hl#[#]'}#]#^!Hl#^#a'}#a#b!Hl#b#g'}#g#h!Hl#h#i'}#i#j!Hl#j#k!Hl#k#m'}#m#n!Hl#n;'S'};'S;=`(f<%lO'}8r!JZX(Z!bOY!JUZw!JUwx!Arx#O!JU#O#P!B[#P#Q!Gr#Q;'S!JU;'S;=`!Jv<%lO!JU8r!JyP;=`<%l!JU8r!KPP;=`<%l!Gr>^!KZ^$i&j(Z!bOY!KSYZ&cZw!KSwx!CWx!^!KS!^!_!JU!_#O!KS#O#P!DR#P#Q!^!LYP;=`<%l!KS>^!L`P;=`<%l!_#c#d#Bq#d#l%Z#l#m#Es#m#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#>j_$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#?rd$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!R#AQ!R!S#AQ!S!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#AQ#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#A]f$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!R#AQ!R!S#AQ!S!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#AQ#S#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#Bzc$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!Y#DV!Y!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#DV#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#Dbe$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!Y#DV!Y!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#DV#S#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#E|g$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![#Ge![!^%Z!^!_*g!_!c%Z!c!i#Ge!i#O%Z#O#P&c#P#R%Z#R#S#Ge#S#T%Z#T#Z#Ge#Z#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#Gpi$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![#Ge![!^%Z!^!_*g!_!c%Z!c!i#Ge!i#O%Z#O#P&c#P#R%Z#R#S#Ge#S#T%Z#T#Z#Ge#Z#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z*)x#Il_!g$b$i&j$O)Lv(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z)[#Jv_al$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z04f#LS^h#)`#R-v$?V_!^(CdvBr$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z?O$@a_!q7`$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z07[$Aq|$i&j(Wp(Z!b'|0/l$]#t(T,2j(e$I[OX%ZXY+gYZ&cZ[+g[p%Zpq+gqr%Zrs&}st%ZtuEruw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Er![!^%Z!^!_*g!_!c%Z!c!}Er!}#O%Z#O#P&c#P#R%Z#R#SEr#S#T%Z#T#oEr#o#p*g#p$f%Z$f$g+g$g#BYEr#BY#BZ$A`#BZ$ISEr$IS$I_$A`$I_$JTEr$JT$JU$A`$JU$KVEr$KV$KW$A`$KW&FUEr&FU&FV$A`&FV;'SEr;'S;=`I|<%l?HTEr?HT?HU$A`?HUOEr07[$D|k$i&j(Wp(Z!b'}0/l$]#t(T,2j(e$I[OY%ZYZ&cZr%Zrs&}st%ZtuEruw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Er![!^%Z!^!_*g!_!c%Z!c!}Er!}#O%Z#O#P&c#P#R%Z#R#SEr#S#T%Z#T#oEr#o#p*g#p$g%Z$g;'SEr;'S;=`I|<%lOEr",tokenizers:[i1,n1,r1,s1,2,3,4,5,6,7,8,9,10,11,12,13,14,t1,new yi("$S~RRtu[#O#Pg#S#T#|~_P#o#pb~gOx~~jVO#i!P#i#j!U#j#l!P#l#m!q#m;'S!P;'S;=`#v<%lO!P~!UO!U~~!XS!Q![!e!c!i!e#T#Z!e#o#p#Z~!hR!Q![!q!c!i!q#T#Z!q~!tR!Q![!}!c!i!}#T#Z!}~#QR!Q![!P!c!i!P#T#Z!P~#^R!Q![#g!c!i#g#T#Z#g~#jS!Q![#g!c!i#g#T#Z#g#q#r!P~#yP;=`<%l!P~$RO(c~~",141,340),new yi("j~RQYZXz{^~^O(Q~~aP!P!Qd~iO(R~~",25,323)],topRules:{Script:[0,7],SingleExpression:[1,276],SingleClassItem:[2,277]},dialects:{jsx:0,ts:15175},dynamicPrecedences:{80:1,82:1,94:1,169:1,199:1},specialized:[{term:327,get:i=>a1[i]||-1},{term:343,get:i=>l1[i]||-1},{term:95,get:i=>c1[i]||-1}],tokenPrec:15201});var Mp=[ce("function ${name}(${params}) {\n ${}\n}",{label:"function",detail:"definition",type:"keyword"}),ce("for (let ${index} = 0; ${index} < ${bound}; ${index}++) {\n ${}\n}",{label:"for",detail:"loop",type:"keyword"}),ce("for (let ${name} of ${collection}) {\n ${}\n}",{label:"for",detail:"of loop",type:"keyword"}),ce("do {\n ${}\n} while (${})",{label:"do",detail:"loop",type:"keyword"}),ce("while (${}) {\n ${}\n}",{label:"while",detail:"loop",type:"keyword"}),ce(`try { \${} } catch (\${error}) { \${} @@ -26,16 +26,16 @@ constructor(\${params}) { \${} } -}`,{label:"class",detail:"definition",type:"keyword"}),ce('import {${names}} from "${module}"\n${}',{label:"import",detail:"named",type:"keyword"}),ce('import ${name} from "${module}"\n${}',{label:"import",detail:"default",type:"keyword"})],c1=Mp.concat([ce("interface ${name} {\n ${}\n}",{label:"interface",detail:"definition",type:"keyword"}),ce("type ${name} = ${type}",{label:"type",detail:"definition",type:"keyword"}),ce("enum ${name} {\n ${}\n}",{label:"enum",detail:"definition",type:"keyword"})]),qp=new di,Wp=new Set(["Script","Block","FunctionExpression","FunctionDeclaration","ArrowFunction","MethodDeclaration","ForStatement"]);function vr(i){return(e,t)=>{let n=e.node.getChild("VariableDefinition");return n&&t(n,i),!0}}var h1=["FunctionDeclaration"],f1={FunctionDeclaration:vr("function"),ClassDeclaration:vr("class"),ClassExpression:()=>!0,EnumDeclaration:vr("constant"),TypeAliasDeclaration:vr("type"),NamespaceDeclaration:vr("namespace"),VariableDefinition(i,e){i.matchContext(h1)||e(i,"variable")},TypeDefinition(i,e){e(i,"type")},__proto__:null};function jp(i,e){let t=qp.get(e);if(t)return t;let n=[],r=!0;function s(o,a){let l=i.sliceString(o.from,o.to);n.push({label:l,type:a})}return e.cursor(ee.IncludeAnonymous).iterate(o=>{if(r)r=!1;else if(o.name){let a=f1[o.name];if(a&&a(o,s)||Wp.has(o.name))return!1}else if(o.to-o.from>8192){for(let a of jp(i,o.node))n.push(a);return!1}}),qp.set(e,n),n}var zp=/^[\w$\xa1-\uffff][\w$\d\xa1-\uffff]*$/,Vp=["TemplateString","String","RegExp","LineComment","BlockComment","VariableDefinition","TypeDefinition","Label","PropertyDefinition","PropertyName","PrivatePropertyDefinition","PrivatePropertyName","JSXText","JSXAttributeValue","JSXOpenTag","JSXCloseTag","JSXSelfClosingTag",".","?."];function u1(i){let e=U(i.state).resolveInner(i.pos,-1);if(Vp.indexOf(e.name)>-1)return null;let t=e.name=="VariableName"||e.to-e.from<20&&zp.test(i.state.sliceDoc(e.from,e.to));if(!t&&!i.explicit)return null;let n=[];for(let r=e;r;r=r.parent)Wp.has(r.name)&&(n=n.concat(jp(i.state.doc,r)));return{options:n,from:t?e.from:i.pos,validFor:zp}}var wt=$e.define({name:"javascript",parser:Ep.configure({props:[we.add({IfStatement:Bt({except:/^\s*({|else\b)/}),TryStatement:Bt({except:/^\s*({|catch\b|finally\b)/}),LabeledStatement:aO,SwitchBody:i=>{let e=i.textAfter,t=/^\s*\}/.test(e),n=/^\s*(case|default)\b/.test(e);return i.baseIndent+(t?0:n?1:2)*i.unit},Block:St({closing:"}"}),ArrowFunction:i=>i.baseIndent+i.unit,"TemplateString BlockComment":()=>null,"Statement Property":Bt({except:/^\s*{/}),JSXElement(i){let e=/^\s*<\//.test(i.textAfter);return i.lineIndent(i.node.from)+(e?0:i.unit)},JSXEscape(i){let e=/\s*\}/.test(i.textAfter);return i.lineIndent(i.node.from)+(e?0:i.unit)},"JSXOpenTag JSXSelfClosingTag"(i){return i.column(i.node.from)+i.unit}}),Te.add({"Block ClassBody SwitchBody EnumBody ObjectExpression ArrayExpression ObjectType":ht,BlockComment(i){return{from:i.from+2,to:i.to-2}},JSXElement(i){let e=i.firstChild;if(!e||e.name=="JSXSelfClosingTag")return null;let t=i.lastChild;return{from:e.to,to:t.type.isError?i.to:t.from}},"JSXSelfClosingTag JSXOpenTag"(i){var e;let t=(e=i.firstChild)===null||e===void 0?void 0:e.nextSibling,n=i.lastChild;return!t||t.type.isError?null:{from:t.to,to:n.type.isError?i.to:n.from}}})]}),languageData:{closeBrackets:{brackets:["(","[","{","'",'"',"`"]},commentTokens:{line:"//",block:{open:"/*",close:"*/"}},indentOnInput:/^\s*(?:case |default:|\{|\}|<\/)$/,wordChars:"$"}}),Dp={test:i=>/^JSX/.test(i.name),facet:kn({commentTokens:{block:{open:"{/*",close:"*/}"}}})},Xc=wt.configure({dialect:"ts"},"typescript"),_c=wt.configure({dialect:"jsx",props:[qs.add(i=>i.isTop?[Dp]:void 0)]}),Rc=wt.configure({dialect:"jsx ts",props:[qs.add(i=>i.isTop?[Dp]:void 0)]},"typescript"),Yp=i=>({label:i,type:"keyword"}),Ip="break case const continue default delete export extends false finally in instanceof let new return static super switch this throw true typeof var yield".split(" ").map(Yp),O1=Ip.concat(["declare","implements","private","protected","public"].map(Yp));function so(i={}){let e=i.jsx?i.typescript?Rc:_c:i.typescript?Xc:wt,t=i.typescript?c1.concat(O1):Mp.concat(Ip);return new me(e,[wt.data.of({autocomplete:Bs(Vp,Is(t))}),wt.data.of({autocomplete:u1}),i.jsx?m1:[]])}function d1(i){for(;;){if(i.name=="JSXOpenTag"||i.name=="JSXSelfClosingTag"||i.name=="JSXFragmentTag")return i;if(i.name=="JSXEscape"||!i.parent)return null;i=i.parent}}function Lp(i,e,t=i.length){for(let n=e?.firstChild;n;n=n.nextSibling)if(n.name=="JSXIdentifier"||n.name=="JSXBuiltin"||n.name=="JSXNamespacedName"||n.name=="JSXMemberExpression")return i.sliceString(n.from,Math.min(n.to,t));return""}var p1=typeof navigator=="object"&&/Android\b/.test(navigator.userAgent),m1=z.inputHandler.of((i,e,t,n,r)=>{if((p1?i.composing:i.compositionStarted)||i.state.readOnly||e!=t||n!=">"&&n!="/"||!wt.isActiveAt(i.state,e,-1))return!1;let s=r(),{state:o}=s,a=o.changeByRange(l=>{var c;let{head:h}=l,f=U(o).resolveInner(h-1,-1),u;if(f.name=="JSXStartTag"&&(f=f.parent),!(o.doc.sliceString(h-1,h)!=n||f.name=="JSXAttributeValue"&&f.to>h)){if(n==">"&&f.name=="JSXFragmentTag")return{range:l,changes:{from:h,insert:""}};if(n=="/"&&f.name=="JSXStartCloseTag"){let O=f.parent,p=O.parent;if(p&&O.from==h-2&&((u=Lp(o.doc,p.firstChild,h))||((c=p.firstChild)===null||c===void 0?void 0:c.name)=="JSXFragmentTag")){let m=`${u}>`;return{range:P.cursor(h+m.length,-1),changes:{from:h,insert:m}}}}else if(n==">"){let O=d1(f);if(O&&O.name=="JSXOpenTag"&&!/^\/?>|^<\//.test(o.doc.sliceString(h,h+2))&&(u=Lp(o.doc,O,h)))return{range:l,changes:{from:h,insert:``}}}}return{range:l}});return a.changes.empty?!1:(i.dispatch([s,o.update(a,{userEvent:"input.complete",scrollIntoView:!0})]),!0)});var $r=["_blank","_self","_top","_parent"],Ac=["ascii","utf-8","utf-16","latin1","latin1"],Zc=["get","post","put","delete"],Ec=["application/x-www-form-urlencoded","multipart/form-data","text/plain"],Je=["true","false"],D={},g1={a:{attrs:{href:null,ping:null,type:null,media:null,target:$r,hreflang:null}},abbr:D,address:D,area:{attrs:{alt:null,coords:null,href:null,target:null,ping:null,media:null,hreflang:null,type:null,shape:["default","rect","circle","poly"]}},article:D,aside:D,audio:{attrs:{src:null,mediagroup:null,crossorigin:["anonymous","use-credentials"],preload:["none","metadata","auto"],autoplay:["autoplay"],loop:["loop"],controls:["controls"]}},b:D,base:{attrs:{href:null,target:$r}},bdi:D,bdo:D,blockquote:{attrs:{cite:null}},body:D,br:D,button:{attrs:{form:null,formaction:null,name:null,value:null,autofocus:["autofocus"],disabled:["autofocus"],formenctype:Ec,formmethod:Zc,formnovalidate:["novalidate"],formtarget:$r,type:["submit","reset","button"]}},canvas:{attrs:{width:null,height:null}},caption:D,center:D,cite:D,code:D,col:{attrs:{span:null}},colgroup:{attrs:{span:null}},command:{attrs:{type:["command","checkbox","radio"],label:null,icon:null,radiogroup:null,command:null,title:null,disabled:["disabled"],checked:["checked"]}},data:{attrs:{value:null}},datagrid:{attrs:{disabled:["disabled"],multiple:["multiple"]}},datalist:{attrs:{data:null}},dd:D,del:{attrs:{cite:null,datetime:null}},details:{attrs:{open:["open"]}},dfn:D,div:D,dl:D,dt:D,em:D,embed:{attrs:{src:null,type:null,width:null,height:null}},eventsource:{attrs:{src:null}},fieldset:{attrs:{disabled:["disabled"],form:null,name:null}},figcaption:D,figure:D,footer:D,form:{attrs:{action:null,name:null,"accept-charset":Ac,autocomplete:["on","off"],enctype:Ec,method:Zc,novalidate:["novalidate"],target:$r}},h1:D,h2:D,h3:D,h4:D,h5:D,h6:D,head:{children:["title","base","link","style","meta","script","noscript","command"]},header:D,hgroup:D,hr:D,html:{attrs:{manifest:null}},i:D,iframe:{attrs:{src:null,srcdoc:null,name:null,width:null,height:null,sandbox:["allow-top-navigation","allow-same-origin","allow-forms","allow-scripts"],seamless:["seamless"]}},img:{attrs:{alt:null,src:null,ismap:null,usemap:null,width:null,height:null,crossorigin:["anonymous","use-credentials"]}},input:{attrs:{alt:null,dirname:null,form:null,formaction:null,height:null,list:null,max:null,maxlength:null,min:null,name:null,pattern:null,placeholder:null,size:null,src:null,step:null,value:null,width:null,accept:["audio/*","video/*","image/*"],autocomplete:["on","off"],autofocus:["autofocus"],checked:["checked"],disabled:["disabled"],formenctype:Ec,formmethod:Zc,formnovalidate:["novalidate"],formtarget:$r,multiple:["multiple"],readonly:["readonly"],required:["required"],type:["hidden","text","search","tel","url","email","password","datetime","date","month","week","time","datetime-local","number","range","color","checkbox","radio","file","submit","image","reset","button"]}},ins:{attrs:{cite:null,datetime:null}},kbd:D,keygen:{attrs:{challenge:null,form:null,name:null,autofocus:["autofocus"],disabled:["disabled"],keytype:["RSA"]}},label:{attrs:{for:null,form:null}},legend:D,li:{attrs:{value:null}},link:{attrs:{href:null,type:null,hreflang:null,media:null,sizes:["all","16x16","16x16 32x32","16x16 32x32 64x64"]}},map:{attrs:{name:null}},mark:D,menu:{attrs:{label:null,type:["list","context","toolbar"]}},meta:{attrs:{content:null,charset:Ac,name:["viewport","application-name","author","description","generator","keywords"],"http-equiv":["content-language","content-type","default-style","refresh"]}},meter:{attrs:{value:null,min:null,low:null,high:null,max:null,optimum:null}},nav:D,noscript:D,object:{attrs:{data:null,type:null,name:null,usemap:null,form:null,width:null,height:null,typemustmatch:["typemustmatch"]}},ol:{attrs:{reversed:["reversed"],start:null,type:["1","a","A","i","I"]},children:["li","script","template","ul","ol"]},optgroup:{attrs:{disabled:["disabled"],label:null}},option:{attrs:{disabled:["disabled"],label:null,selected:["selected"],value:null}},output:{attrs:{for:null,form:null,name:null}},p:D,param:{attrs:{name:null,value:null}},pre:D,progress:{attrs:{value:null,max:null}},q:{attrs:{cite:null}},rp:D,rt:D,ruby:D,samp:D,script:{attrs:{type:["text/javascript"],src:null,async:["async"],defer:["defer"],charset:Ac}},section:D,select:{attrs:{form:null,name:null,size:null,autofocus:["autofocus"],disabled:["disabled"],multiple:["multiple"]}},slot:{attrs:{name:null}},small:D,source:{attrs:{src:null,type:null,media:null}},span:D,strong:D,style:{attrs:{type:["text/css"],media:null,scoped:null}},sub:D,summary:D,sup:D,table:D,tbody:D,td:{attrs:{colspan:null,rowspan:null,headers:null}},template:D,textarea:{attrs:{dirname:null,form:null,maxlength:null,name:null,placeholder:null,rows:null,cols:null,autofocus:["autofocus"],disabled:["disabled"],readonly:["readonly"],required:["required"],wrap:["soft","hard"]}},tfoot:D,th:{attrs:{colspan:null,rowspan:null,headers:null,scope:["row","col","rowgroup","colgroup"]}},thead:D,time:{attrs:{datetime:null}},title:D,tr:D,track:{attrs:{src:null,label:null,default:null,kind:["subtitles","captions","descriptions","chapters","metadata"],srclang:null}},ul:{children:["li","script","template","ul","ol"]},var:D,video:{attrs:{src:null,poster:null,width:null,height:null,crossorigin:["anonymous","use-credentials"],preload:["auto","metadata","none"],autoplay:["autoplay"],mediagroup:["movie"],muted:["muted"],controls:["controls"]}},wbr:D},Np={accesskey:null,class:null,contenteditable:Je,contextmenu:null,dir:["ltr","rtl","auto"],draggable:["true","false","auto"],dropzone:["copy","move","link","string:","file:"],hidden:["hidden"],id:null,inert:["inert"],itemid:null,itemprop:null,itemref:null,itemscope:["itemscope"],itemtype:null,lang:["ar","bn","de","en-GB","en-US","es","fr","hi","id","ja","pa","pt","ru","tr","zh"],spellcheck:Je,autocorrect:Je,autocapitalize:Je,style:null,tabindex:null,title:null,translate:["yes","no"],rel:["stylesheet","alternate","author","bookmark","help","license","next","nofollow","noreferrer","prefetch","prev","search","tag"],role:"alert application article banner button cell checkbox complementary contentinfo dialog document feed figure form grid gridcell heading img list listbox listitem main navigation region row rowgroup search switch tab table tabpanel textbox timer".split(" "),"aria-activedescendant":null,"aria-atomic":Je,"aria-autocomplete":["inline","list","both","none"],"aria-busy":Je,"aria-checked":["true","false","mixed","undefined"],"aria-controls":null,"aria-describedby":null,"aria-disabled":Je,"aria-dropeffect":null,"aria-expanded":["true","false","undefined"],"aria-flowto":null,"aria-grabbed":["true","false","undefined"],"aria-haspopup":Je,"aria-hidden":Je,"aria-invalid":["true","false","grammar","spelling"],"aria-label":null,"aria-labelledby":null,"aria-level":null,"aria-live":["off","polite","assertive"],"aria-multiline":Je,"aria-multiselectable":Je,"aria-owns":null,"aria-posinset":null,"aria-pressed":["true","false","mixed","undefined"],"aria-readonly":Je,"aria-relevant":null,"aria-required":Je,"aria-selected":["true","false","undefined"],"aria-setsize":null,"aria-sort":["ascending","descending","none","other"],"aria-valuemax":null,"aria-valuemin":null,"aria-valuenow":null,"aria-valuetext":null},Fp="beforeunload copy cut dragstart dragover dragleave dragenter dragend drag paste focus blur change click load mousedown mouseenter mouseleave mouseup keydown keyup resize scroll unload".split(" ").map(i=>"on"+i);for(let i of Fp)Np[i]=null;var Ui=class{constructor(e,t){this.tags={...g1,...e},this.globalAttrs={...Np,...t},this.allTags=Object.keys(this.tags),this.globalAttrNames=Object.keys(this.globalAttrs)}};Ui.default=new Ui;function $n(i,e,t=i.length){if(!e)return"";let n=e.firstChild,r=n&&n.getChild("TagName");return r?i.sliceString(r.from,Math.min(r.to,t)):""}function Tn(i,e=!1){for(;i;i=i.parent)if(i.name=="Element")if(e)e=!1;else return i;return null}function Hp(i,e,t){let n=t.tags[$n(i,Tn(e))];return n?.children||t.allTags}function qc(i,e){let t=[];for(let n=Tn(e);n&&!n.type.isTop;n=Tn(n.parent)){let r=$n(i,n);if(r&&n.lastChild.name=="CloseTag")break;r&&t.indexOf(r)<0&&(e.name=="EndTag"||e.from>=n.firstChild.to)&&t.push(r)}return t}var Kp=/^[:\-\.\w\u00b7-\uffff]*$/;function Bp(i,e,t,n,r){let s=/\s*>/.test(i.sliceDoc(r,r+5))?"":">",o=Tn(t,t.name=="StartTag"||t.name=="TagName");return{from:n,to:r,options:Hp(i.doc,o,e).map(a=>({label:a,type:"type"})).concat(qc(i.doc,t).map((a,l)=>({label:"/"+a,apply:"/"+a+s,type:"type",boost:99-l}))),validFor:/^\/?[:\-\.\w\u00b7-\uffff]*$/}}function Up(i,e,t,n){let r=/\s*>/.test(i.sliceDoc(n,n+5))?"":">";return{from:t,to:n,options:qc(i.doc,e).map((s,o)=>({label:s,apply:s+r,type:"type",boost:99-o})),validFor:Kp}}function Q1(i,e,t,n){let r=[],s=0;for(let o of Hp(i.doc,t,e))r.push({label:"<"+o,type:"type"});for(let o of qc(i.doc,t))r.push({label:"",type:"type",boost:99-s++});return{from:n,to:n,options:r,validFor:/^<\/?[:\-\.\w\u00b7-\uffff]*$/}}function b1(i,e,t,n,r){let s=Tn(t),o=s?e.tags[$n(i.doc,s)]:null,a=o&&o.attrs?Object.keys(o.attrs):[],l=o&&o.globalAttrs===!1?a:a.length?a.concat(e.globalAttrNames):e.globalAttrNames;return{from:n,to:r,options:l.map(c=>({label:c,type:"property"})),validFor:Kp}}function S1(i,e,t,n,r){var s;let o=(s=t.parent)===null||s===void 0?void 0:s.getChild("AttributeName"),a=[],l;if(o){let c=i.sliceDoc(o.from,o.to),h=e.globalAttrs[c];if(!h){let f=Tn(t),u=f?e.tags[$n(i.doc,f)]:null;h=u?.attrs&&u.attrs[c]}if(h){let f=i.sliceDoc(n,r).toLowerCase(),u='"',O='"';/^['"]/.test(f)?(l=f[0]=='"'?/^[^"]*$/:/^[^']*$/,u="",O=i.sliceDoc(r,r+1)==f[0]?"":f[0],f=f.slice(1),n++):l=/^[^\s<>='"]*$/;for(let p of h)a.push({label:p,apply:u+p+O,type:"constant"})}}return{from:n,to:r,options:a,validFor:l}}function Jp(i,e){let{state:t,pos:n}=e,r=U(t).resolveInner(n,-1),s=r.resolve(n);for(let o=n,a;s==r&&(a=r.childBefore(o));){let l=a.lastChild;if(!l||!l.type.isError||l.fromJp(n,r)}var k1=wt.parser.configure({top:"SingleExpression"}),tm=[{tag:"script",attrs:i=>i.type=="text/typescript"||i.lang=="ts",parser:Xc.parser},{tag:"script",attrs:i=>i.type=="text/babel"||i.type=="text/jsx",parser:_c.parser},{tag:"script",attrs:i=>i.type=="text/typescript-jsx",parser:Rc.parser},{tag:"script",attrs(i){return/^(importmap|speculationrules|application\/(.+\+)?json)$/i.test(i.type)},parser:k1},{tag:"script",attrs(i){return!i.type||/^(?:text|application)\/(?:x-)?(?:java|ecma)script$|^module$|^$/i.test(i.type)},parser:wt.parser},{tag:"style",attrs(i){return(!i.lang||i.lang=="css")&&(!i.type||/^(text\/)?(x-)?(stylesheet|css)$/i.test(i.type))},parser:Pr.parser}],im=[{name:"style",parser:Pr.parser.configure({top:"Styles"})}].concat(Fp.map(i=>({name:i,parser:wt.parser}))),nm=$e.define({name:"html",parser:Sp.configure({props:[we.add({Element(i){let e=/^(\s*)(<\/)?/.exec(i.textAfter);return i.node.to<=i.pos+e[0].length?i.continue():i.lineIndent(i.node.from)+(e[2]?0:i.unit)},"OpenTag CloseTag SelfClosingTag"(i){return i.column(i.node.from)+i.unit},Document(i){if(i.pos+/\s*/.exec(i.textAfter)[0].lengthi.getChild("TagName")})]}),languageData:{commentTokens:{block:{open:""}},indentOnInput:/^\s*<\/\w+\W$/,wordChars:"-_"}}),oo=nm.configure({wrap:xc(tm,im)});function ao(i={}){let e="",t;i.matchClosingTags===!1&&(e="noMatch"),i.selfClosingTags===!0&&(e=(e?e+" ":"")+"selfClosing"),(i.nestedLanguages&&i.nestedLanguages.length||i.nestedAttributes&&i.nestedAttributes.length)&&(t=xc((i.nestedLanguages||[]).concat(tm),(i.nestedAttributes||[]).concat(im)));let n=t?nm.configure({wrap:t,dialect:e}):e?oo.configure({dialect:e}):oo;return new me(n,[oo.data.of({autocomplete:y1(i)}),i.autoCloseTags!==!1?x1:[],so().support,ro().support])}var Gp=new Set("area base br col command embed frame hr img input keygen link meta param source track wbr menuitem".split(" ")),x1=z.inputHandler.of((i,e,t,n,r)=>{if(i.composing||i.state.readOnly||e!=t||n!=">"&&n!="/"||!oo.isActiveAt(i.state,e,-1))return!1;let s=r(),{state:o}=s,a=o.changeByRange(l=>{var c,h,f;let u=o.doc.sliceString(l.from-1,l.to)==n,{head:O}=l,p=U(o).resolveInner(O,-1),m;if(u&&n==">"&&p.name=="EndTag"){let b=p.parent;if(((h=(c=b.parent)===null||c===void 0?void 0:c.lastChild)===null||h===void 0?void 0:h.name)!="CloseTag"&&(m=$n(o.doc,b.parent,O))&&!Gp.has(m)){let g=O+(o.doc.sliceString(O,O+1)===">"?1:0),Q=``;return{range:l,changes:{from:O,to:g,insert:Q}}}}else if(u&&n=="/"&&p.name=="IncompleteCloseTag"){let b=p.parent;if(p.from==O-2&&((f=b.lastChild)===null||f===void 0?void 0:f.name)!="CloseTag"&&(m=$n(o.doc,b,O))&&!Gp.has(m)){let g=O+(o.doc.sliceString(O,O+1)===">"?1:0),Q=`${m}>`;return{range:P.cursor(O+Q.length,-1),changes:{from:O,to:g,insert:Q}}}}return{range:l}});return a.changes.empty?!1:(i.dispatch([s,o.update(a,{userEvent:"input.complete",scrollIntoView:!0})]),!0)});var om=kn({commentTokens:{block:{open:""}}}),am=new I,lm=Yd.configure({props:[Te.add(i=>!i.is("Block")||i.is("Document")||Mc(i)!=null||w1(i)?void 0:(e,t)=>({from:t.doc.lineAt(e.from).to,to:e.to})),am.add(Mc),we.add({Document:()=>null}),bt.add({Document:om})]});function Mc(i){let e=/^(?:ATX|Setext)Heading(\d)$/.exec(i.name);return e?+e[1]:void 0}function w1(i){return i.name=="OrderedList"||i.name=="BulletList"}function P1(i,e){let t=i;for(;;){let n=t.nextSibling,r;if(!n||(r=Mc(n.type))!=null&&r<=e)break;t=n}return t.to}var v1=lO.of((i,e,t)=>{for(let n=U(i).resolveInner(t,-1);n&&!(n.fromt)return{from:t,to:s}}return null});function Wc(i){return new xe(om,i,[],"markdown")}var $1=Wc(lm),T1=lm.configure([Ud,Fd,Nd,Hd,{props:[Te.add({Table:(i,e)=>({from:e.doc.lineAt(i.from).to,to:i.to})})]}]),ki=Wc(T1);function C1(i,e){return t=>{if(t&&i){let n=null;if(t=/\S*/.exec(t)[0],typeof i=="function"?n=i(t):n=Ie.matchLanguageName(i,t,!0),n instanceof Ie)return n.support?n.support.language.parser:Wi.getSkippingParser(n.load());if(n)return n.parser}return e?e.parser:null}}var Tr=class{constructor(e,t,n,r,s,o,a){this.node=e,this.from=t,this.to=n,this.spaceBefore=r,this.spaceAfter=s,this.type=o,this.item=a}blank(e,t=!0){let n=this.spaceBefore+(this.node.name=="Blockquote"?">":"");if(e!=null){for(;n.length0;r--)n+=" ";return n+(t?this.spaceAfter:"")}}marker(e,t){let n=this.node.name=="OrderedList"?String(+hm(this.item,e)[2]+t):"";return this.spaceBefore+n+this.type+this.spaceAfter}};function cm(i,e){let t=[],n=[];for(let r=i;r;r=r.parent){if(r.name=="FencedCode")return n;(r.name=="ListItem"||r.name=="Blockquote")&&t.push(r)}for(let r=t.length-1;r>=0;r--){let s=t[r],o,a=e.lineAt(s.from),l=s.from-a.from;if(s.name=="Blockquote"&&(o=/^ *>( ?)/.exec(a.text.slice(l))))n.push(new Tr(s,l,l+o[0].length,"",o[1],">",null));else if(s.name=="ListItem"&&s.parent.name=="OrderedList"&&(o=/^( *)\d+([.)])( *)/.exec(a.text.slice(l)))){let c=o[3],h=o[0].length;c.length>=4&&(c=c.slice(0,c.length-4),h-=4),n.push(new Tr(s.parent,l,l+h,o[1],c,o[2],s))}else if(s.name=="ListItem"&&s.parent.name=="BulletList"&&(o=/^( *)([-+*])( {1,4}\[[ xX]\])?( +)/.exec(a.text.slice(l)))){let c=o[4],h=o[0].length;c.length>4&&(c=c.slice(0,c.length-4),h-=4);let f=o[2];o[3]&&(f+=o[3].replace(/[xX]/," ")),n.push(new Tr(s.parent,l,l+h,o[1],c,f,s))}}return n}function hm(i,e){return/^(\s*)(\d+)(?=[.)])/.exec(e.sliceString(i.from,i.from+10))}function zc(i,e,t,n=0){for(let r=-1,s=i;;){if(s.name=="ListItem"){let a=hm(s,e),l=+a[2];if(r>=0){if(l!=r+1)return;t.push({from:s.from+a[1].length,to:s.from+a[0].length,insert:String(r+2+n)})}r=l}let o=s.nextSibling;if(!o)break;s=o}}function jc(i,e){let t=/^[ \t]*/.exec(i)[0].length;if(!t||e.facet(Rt)!=" ")return i;let n=Ne(i,4,t),r="";for(let s=n;s>0;)s>=4?(r+=" ",s-=4):(r+=" ",s--);return r+i.slice(t)}var Vc=(i={})=>({state:e,dispatch:t})=>{let n=U(e),{doc:r}=e,s=null,o=e.changeByRange(a=>{if(!a.empty||!ki.isActiveAt(e,a.from,-1)&&!ki.isActiveAt(e,a.from,1))return s={range:a};let l=a.from,c=r.lineAt(l),h=cm(n.resolveInner(l,-1),r);for(;h.length&&h[h.length-1].from>l-c.from;)h.pop();if(!h.length)return s={range:a};let f=h[h.length-1];if(f.to-f.spaceAfter.length>l-c.from)return s={range:a};let u=l>=f.to-f.spaceAfter.length&&!/\S/.test(c.text.slice(f.to));if(f.item&&u){let g=f.node.firstChild,Q=f.node.getChild("ListItem","ListItem");if(g.to>=l||Q&&Q.to0&&!/[^\s>]/.test(r.lineAt(c.from-1).text)||i.nonTightLists===!1){let S=h.length>1?h[h.length-2]:null,x,v="";S&&S.item?(x=c.from+S.from,v=S.marker(r,1)):x=c.from+(S?S.to:0);let $=[{from:x,to:l,insert:v}];return f.node.name=="OrderedList"&&zc(f.item,r,$,-2),S&&S.node.name=="OrderedList"&&zc(S.item,r,$),{range:P.cursor(x+v.length),changes:$}}else{let S=sm(h,e,c);return{range:P.cursor(l+S.length+1),changes:{from:c.from,insert:S+e.lineBreak}}}}if(f.node.name=="Blockquote"&&u&&c.from){let g=r.lineAt(c.from-1),Q=/>\s*$/.exec(g.text);if(Q&&Q.index==f.from){let S=e.changes([{from:g.from+Q.index,to:g.to},{from:c.from+f.from,to:c.to}]);return{range:a.map(S),changes:S}}}let O=[];f.node.name=="OrderedList"&&zc(f.item,r,O);let p=f.item&&f.item.from]*/.exec(c.text)[0].length>=f.to)for(let g=0,Q=h.length-1;g<=Q;g++)m+=g==Q&&!p?h[g].marker(r,1):h[g].blank(gc.from&&/\s/.test(c.text.charAt(b-c.from-1));)b--;return m=jc(m,e),_1(f.node,e.doc)&&(m=sm(h,e,c)+e.lineBreak+m),O.push({from:b,to:l,insert:e.lineBreak+m}),{range:P.cursor(b+m.length+1),changes:O}});return s?!1:(t(e.update(o,{scrollIntoView:!0,userEvent:"input"})),!0)},X1=Vc();function rm(i){return i.name=="QuoteMark"||i.name=="ListMark"}function _1(i,e){if(i.name!="OrderedList"&&i.name!="BulletList")return!1;let t=i.firstChild,n=i.getChild("ListItem","ListItem");if(!n)return!1;let r=e.lineAt(t.to),s=e.lineAt(n.from),o=/^[\s>]*$/.test(r.text);return r.number+(o?0:1){let t=U(i),n=null,r=i.changeByRange(s=>{let o=s.from,{doc:a}=i;if(s.empty&&ki.isActiveAt(i,s.from)){let l=a.lineAt(o),c=cm(R1(t,o),a);if(c.length){let h=c[c.length-1],f=h.to-h.spaceAfter.length+(h.spaceAfter?1:0);if(o-l.from>f&&!/\S/.test(l.text.slice(f,o-l.from)))return{range:P.cursor(l.from+f),changes:{from:l.from+f,to:o}};if(o-l.from==f&&(!h.item||l.from<=h.item.from||!/\S/.test(l.text.slice(0,h.to)))){let u=l.from+h.from;if(h.item&&h.node.from{var t;let{main:n}=e.state.selection;if(n.empty)return!1;let r=(t=i.clipboardData)===null||t===void 0?void 0:t.getData("text/plain");if(!r||!/^(https?:\/\/|mailto:|xmpp:|www\.)/.test(r)||(/^www\./.test(r)&&(r="https://"+r),!ki.isActiveAt(e.state,n.from,1)))return!1;let s=U(e.state),o=!1;return s.iterate({from:n.from,to:n.to,enter:a=>{(a.from>n.from||q1.test(a.name))&&(o=!0)},leave:a=>{a.to{if(i.next==-1&&e.canShift(um))return i.acceptToken(um);let t=i.peek(-1);if((Ft(t)||t<0)&&e.context.type!=Xr){if(Xn(i,45))if(e.canShift(Cn))i.acceptToken(Cn);else return i.acceptToken(L1,3);if(Xn(i,46))if(e.canShift(Cn))i.acceptToken(Cn);else return i.acceptToken(M1,3);let n=0;for(;i.next==32;)n++,i.advance();(n{if(e.context.type==Xr){i.next==63&&(i.advance(),Gi(i.next)&&i.acceptToken(V1));return}if(i.next==45)i.advance(),Gi(i.next)&&i.acceptToken(e.context.type==Fc&&e.context.depth==Cr(i,i.pos-1)?W1:pm);else if(i.next==63)i.advance(),Gi(i.next)&&i.acceptToken(e.context.type==Bc&&e.context.depth==Cr(i,i.pos-1)?j1:mm);else{let t=i.pos;for(;;)if(Gc(i.next)){if(i.pos==t)return;i.advance()}else if(i.next==33)Sm(i);else if(i.next==38)Nc(i);else if(i.next==42){Nc(i);break}else if(i.next==39||i.next==34){if(Hc(i,!0))break;return}else if(i.next==91||i.next==123){if(!ox(i))return;break}else{ym(i,!0,!1,0);break}for(;Gc(i.next);)i.advance();if(i.next==58){if(i.pos==t&&e.canShift(H1))return;let n=i.peek(1);Gi(n)&&i.acceptTokenTo(e.context.type==Bc&&e.context.depth==Cr(i,t)?D1:gm,t)}}},{contextual:!0});function sx(i){return i>32&&i<127&&i!=34&&i!=37&&i!=44&&i!=60&&i!=62&&i!=92&&i!=94&&i!=96&&i!=123&&i!=124&&i!=125}function Om(i){return i>=48&&i<=57||i>=97&&i<=102||i>=65&&i<=70}function dm(i,e){return i.next==37?(i.advance(),Om(i.next)&&i.advance(),Om(i.next)&&i.advance(),!0):sx(i.next)||e&&i.next==44?(i.advance(),!0):!1}function Sm(i){if(i.advance(),i.next==60){for(i.advance();;)if(!dm(i,!0)){i.next==62&&i.advance();break}}else for(;dm(i,!1););}function Nc(i){for(i.advance();!Gi(i.next)&&lo(i.next)!="f";)i.advance()}function Hc(i,e){let t=i.next,n=!1,r=i.pos;for(i.advance();;){let s=i.next;if(s<0)break;if(i.advance(),s==t)if(s==39)if(i.next==39)i.advance();else break;else break;else if(s==92&&t==34)i.next>=0&&i.advance();else if(Ft(s)){if(e)return!1;n=!0}else if(e&&i.pos>=r+1024)return!1}return!n}function ox(i){for(let e=[],t=i.pos+1024;;)if(i.next==91||i.next==123)e.push(i.next),i.advance();else if(i.next==39||i.next==34){if(!Hc(i,!0))return!1}else if(i.next==93||i.next==125){if(e[e.length-1]!=i.next-2)return!1;if(e.pop(),i.advance(),!e.length)return!0}else{if(i.next<0||i.pos>t||Ft(i.next))return!1;i.advance()}}var ax="iiisiiissisfissssssssssssisssiiissssssssssssssssssssssssssfsfssissssssssssssssssssssssssssfif";function lo(i){return i<33?"u":i>125?"s":ax[i-33]}function Ic(i,e){let t=lo(i);return t!="u"&&!(e&&t=="f")}function ym(i,e,t,n){if(lo(i.next)=="s"||(i.next==63||i.next==58||i.next==45)&&Ic(i.peek(1),t))i.advance();else return!1;let r=i.pos;for(;;){let s=i.next,o=0,a=n+1;for(;bm(s);){if(Ft(s)){if(e)return!1;a=0}else a++;s=i.peek(++o)}if(!(s>=0&&(s==58?Ic(i.peek(o+1),t):s==35?i.peek(o-1)!=32:Ic(s,t)))||!t&&a<=n||a==0&&!t&&(Xn(i,45,o)||Xn(i,46,o)))break;if(e&&lo(s)=="f")return!1;for(let c=o;c>=0;c--)i.advance();if(e&&i.pos>r+1024)return!1}return!0}var lx=new J((i,e)=>{if(i.next==33)Sm(i),i.acceptToken(G1);else if(i.next==38||i.next==42){let t=i.next==38?B1:U1;Nc(i),i.acceptToken(t)}else i.next==39||i.next==34?(Hc(i,!1),i.acceptToken(I1)):ym(i,!1,e.context.type==Xr,e.context.depth)&&i.acceptToken(Y1)}),cx=new J((i,e)=>{let t=e.context.type==Uc?e.context.depth:-1,n=i.pos;e:for(;;){let r=0,s=i.next;for(;s==32;)s=i.peek(++r);if(!r&&(Xn(i,45,r)||Xn(i,46,r))||!Ft(s)&&(t<0&&(t=Math.max(e.context.depth+1,r)),rYAN>Y",stateData:";S~O!fOS!gOS^OS~OP_OQbORSOTUOWROXROYYOZZO[XOcPOqQO!PVO!V[O!cTO~O`cO~P]OVkOWROXROYeOZfO[dOcPOmhOqQO~OboO~P!bOVtOWROXROYeOZfO[dOcPOmrOqQO~OpwO~P#WORSOTUOWROXROYYOZZO[XOcPOqQO!PVO!cTO~OSvP!avP!bvP~P#|OWROXROYeOZfO[dOcPOqQO~OmzO~P%OOm!OOUzP!azP!bzP!dzP~P#|O^!SO!b!QO!f!TO!g!RO~ORSOTUOWROXROcPOqQO!PVO!cTO~OY!UOP!QXQ!QX!V!QX!`!QXS!QX!a!QX!b!QXU!QXm!QX!d!QX~P&aO[!WOP!SXQ!SX!V!SX!`!SXS!SX!a!SX!b!SXU!SXm!SX!d!SX~P&aO^!ZO!W![O!b!YO!f!]O!g!YO~OP!_O!V[OQaX!`aX~OPaXQaX!VaX!`aX~P#|OP!bOQ!cO!V[O~OP_O!V[O~P#|OWROXROY!fOcPOqQObfXmfXofXpfX~OWROXRO[!hOcPOqQObhXmhXohXphX~ObeXmlXoeX~ObkXokX~P%OOm!kO~Om!lObnPonP~P%OOb!pOo!oO~Ob!pO~P!bOm!sOosXpsX~OosXpsX~P%OOm!uOotPptP~P%OOo!xOp!yO~Op!yO~P#WOS!|O!a#OO!b#OO~OUyX!ayX!byX!dyX~P#|Om#QO~OU#SO!a#UO!b#UO!d#RO~Om#WOUzX!azX!bzX!dzX~O]#XO~O!b#XO!g#YO~O^#ZO!b#XO!g#YO~OP!RXQ!RX!V!RX!`!RXS!RX!a!RX!b!RXU!RXm!RX!d!RX~P&aOP!TXQ!TX!V!TX!`!TXS!TX!a!TX!b!TXU!TXm!TX!d!TX~P&aO!b#^O!g#^O~O^#_O!b#^O!f#`O!g#^O~O^#_O!W#aO!b#^O!g#^O~OPaaQaa!Vaa!`aa~P#|OP#cO!V[OQ!XX!`!XX~OP!XXQ!XX!V!XX!`!XX~P#|OP_O!V[OQ!_X!`!_X~P#|OWROXROcPOqQObgXmgXogXpgX~OWROXROcPOqQObiXmiXoiXpiX~Obkaoka~P%OObnXonX~P%OOm#kO~Ob#lOo!oO~Oosapsa~P%OOotXptX~P%OOm#pO~Oo!xOp#qO~OSwP!awP!bwP~P#|OS!|O!a#vO!b#vO~OUya!aya!bya!dya~P#|Om#xO~P%OOm#{OU}P!a}P!b}P!d}P~P#|OU#SO!a$OO!b$OO!d#RO~O]$QO~O!b$QO!g$RO~O!b$SO!g$SO~O^$TO!b$SO!g$SO~O^$TO!b$SO!f$UO!g$SO~OP!XaQ!Xa!V!Xa!`!Xa~P#|Obnaona~P%OOotapta~P%OOo!xO~OU|X!a|X!b|X!d|X~P#|Om$ZO~Om$]OU}X!a}X!b}X!d}X~O]$^O~O!b$_O!g$_O~O^$`O!b$_O!g$_O~OU|a!a|a!b|a!d|a~P#|O!b$cO!g$cO~O",goto:",]!mPPPPPPPPPPPPPPPPP!nPP!v#v#|$`#|$c$f$j$nP%VPPP!v%Y%^%a%{&O%a&R&U&X&_&b%aP&e&{&e'O'RPP']'a'g'm's'y(XPPPPPPPP(_)e*X+c,VUaObcR#e!c!{ROPQSTUXY_bcdehknrtvz!O!U!W!_!b!c!f!h!k!l!s!u!|#Q#R#S#W#c#k#p#x#{$Z$]QmPR!qnqfPQThknrtv!k!l!s!u#R#k#pR!gdR!ieTlPnTjPnSiPnSqQvQ{TQ!mkQ!trQ!vtR#y#RR!nkTsQvR!wt!RWOSUXY_bcz!O!U!W!_!b!c!|#Q#S#W#c#x#{$Z$]RySR#t!|R|TR|UQ!PUR#|#SR#z#RR#z#SyZOSU_bcz!O!_!b!c!|#Q#S#W#c#x#{$Z$]R!VXR!XYa]O^abc!a!c!eT!da!eQnPR!rnQvQR!{vQ!}yR#u!}Q#T|R#}#TW^Obc!cS!^^!aT!aa!eQ!eaR#f!eW`Obc!cQxSS}U#SQ!`_Q#PzQ#V!OQ#b!_Q#d!bQ#s!|Q#w#QQ$P#WQ$V#cQ$Y#xQ$[#{Q$a$ZR$b$]xZOSU_bcz!O!_!b!c!|#Q#S#W#c#x#{$Z$]Q!VXQ!XYQ#[!UR#]!W!QWOSUXY_bcz!O!U!W!_!b!c!|#Q#S#W#c#x#{$Z$]pfPQThknrtv!k!l!s!u#R#k#pQ!gdQ!ieQ#g!fR#h!hSgPn^pQTkrtv#RQ!jhQ#i!kQ#j!lQ#n!sQ#o!uQ$W#kR$X#pQuQR!zv",nodeNames:"\u26A0 DirectiveEnd DocEnd - - ? ? ? Literal QuotedLiteral Anchor Alias Tag BlockLiteralContent Comment Stream BOM Document ] [ FlowSequence Item Tagged Anchored Anchored Tagged FlowMapping Pair Key : Pair , } { FlowMapping Pair Pair BlockSequence Item Item BlockMapping Pair Pair Key Pair Pair BlockLiteral BlockLiteralHeader Tagged Anchored Anchored Tagged Directive DirectiveName DirectiveContent Document",maxTerm:74,context:ix,nodeProps:[["isolate",-3,8,9,14,""],["openedBy",18,"[",32,"{"],["closedBy",19,"]",33,"}"]],propSources:[hx],skippedNodes:[0],repeatNodeCount:6,tokenData:"-Y~RnOX#PXY$QYZ$]Z]#P]^$]^p#Ppq$Qqs#Pst$btu#Puv$yv|#P|}&e}![#P![!]'O!]!`#P!`!a'i!a!}#P!}#O*g#O#P#P#P#Q+Q#Q#o#P#o#p+k#p#q'i#q#r,U#r;'S#P;'S;=`#z<%l?HT#P?HT?HU,o?HUO#PQ#UU!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PQ#kTOY#PZs#Pt;'S#P;'S;=`#z<%lO#PQ#}P;=`<%l#P~$VQ!f~XY$Qpq$Q~$bO!g~~$gS^~OY$bZ;'S$b;'S;=`$s<%lO$b~$vP;=`<%l$bR%OX!WQOX%kXY#PZ]%k]^#P^p%kpq#hq;'S%k;'S;=`&_<%lO%kR%rX!WQ!VPOX%kXY#PZ]%k]^#P^p%kpq#hq;'S%k;'S;=`&_<%lO%kR&bP;=`<%l%kR&lUoP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR'VUmP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR'p[!PP!WQOY#PZp#Ppq#hq{#P{|(f|}#P}!O(f!O!R#P!R![)p![;'S#P;'S;=`#z<%lO#PR(mW!PP!WQOY#PZp#Ppq#hq!R#P!R![)V![;'S#P;'S;=`#z<%lO#PR)^U!PP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR)wY!PP!WQOY#PZp#Ppq#hq{#P{|)V|}#P}!O)V!O;'S#P;'S;=`#z<%lO#PR*nUcP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR+XUbP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR+rUqP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR,]UpP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR,vU`P!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#P",tokenizers:[nx,rx,lx,cx,0,1],topRules:{Stream:[0,15]},tokenPrec:0});var fx=Pe.deserialize({version:14,states:"!vOQOPOOO]OPO'#C_OhOPO'#C^OOOO'#Cc'#CcOpOPO'#CaQOOOOOO{OPOOOOOO'#Cb'#CbO!WOPO'#C`O!`OPO,58xOOOO-E6a-E6aOOOO-E6`-E6`OOOO'#C_'#C_OOOO1G.d1G.d",stateData:"!h~OXPOYROWTP~OWVXXRXYRX~OYVOXSP~OXROYROWTX~OXROYROWTP~OYVOXSX~OX[O~OXY~",goto:"vWPPX[beioRUOQQOR]XRXQTTOUQWQRZWSSOURYS",nodeNames:"\u26A0 Document Frontmatter DashLine FrontmatterContent Body",maxTerm:10,skippedNodes:[0],repeatNodeCount:2,tokenData:"$z~RXOYnYZ!^Z]n]^!^^}n}!O!i!O;'Sn;'S;=`!c<%lOn~qXOYnYZ!^Z]n]^!^^;'Sn;'S;=`!c<%l~n~On~~!^~!cOY~~!fP;=`<%ln~!lZOYnYZ!^Z]n]^!^^}n}!O#_!O;'Sn;'S;=`!c<%l~n~On~~!^~#bZOYnYZ!^Z]n]^!^^}n}!O$T!O;'Sn;'S;=`!c<%l~n~On~~!^~$WXOYnYZ$sZ]n]^$s^;'Sn;'S;=`!c<%l~n~On~~$s~$zOX~Y~",tokenizers:[0],topRules:{Document:[0,1]},tokenPrec:67}),ux=$e.define({name:"yaml",parser:km.configure({props:[we.add({Stream:i=>{for(let e=i.node.resolve(i.pos,-1);e&&e.to>=i.pos;e=e.parent){if(e.name=="BlockLiteralContent"&&e.fromi.pos)return null}}return null},FlowMapping:St({closing:"}"}),FlowSequence:St({closing:"]"})}),Te.add({"FlowMapping FlowSequence":ht,"Item Pair BlockLiteral":(i,e)=>({from:e.doc.lineAt(i.from).to,to:i.to})})]}),languageData:{commentTokens:{line:"#"},indentOnInput:/^\s*[\]\}]$/}});var Ox=$e.define({name:"yaml-frontmatter",parser:fx.configure({props:[Qe({DashLine:d.meta})]})});function xm(i){let{language:e,support:t}=i.content instanceof me?i.content:{language:i.content,support:[]};return new me(Ox.configure({wrap:bn(n=>n.name=="FrontmatterContent"?{parser:ux.parser}:n.name=="Body"?{parser:e.parser}:null)}),t)}var dx=1,Cm=194,Xm=195,px=196,wm=197,mx=198,gx=199,Qx=200,bx=2,_m=3,Pm=201,Sx=24,yx=25,kx=49,xx=50,wx=55,Px=56,vx=57,$x=59,Tx=60,Cx=61,Xx=62,_x=63,Rx=65,Ax=238,Zx=71,Ex=241,qx=242,zx=243,Lx=244,Mx=245,Wx=246,jx=247,Vx=248,Rm=72,Dx=249,Yx=250,Ix=251,Bx=252,Ux=253,Gx=254,Nx=255,Fx=256,Hx=73,Kx=77,Jx=263,ew=112,tw=130,iw=151,nw=152,rw=155,Ni=10,_r=13,th=32,fo=9,ih=35,sw=40,ow=46,eh=123,vm=125,Am=39,Zm=34,$m=92,aw=111,lw=120,cw=78,hw=117,fw=85,uw=new Set([yx,kx,xx,Jx,Rx,tw,Px,vx,Ax,Xx,_x,Rm,Hx,Kx,Tx,Cx,iw,nw,rw,ew]);function Kc(i){return i==Ni||i==_r}function Jc(i){return i>=48&&i<=57||i>=65&&i<=70||i>=97&&i<=102}var Ow=new J((i,e)=>{let t;if(i.next<0)i.acceptToken(gx);else if(e.context.flags&co)Kc(i.next)&&i.acceptToken(mx,1);else if(((t=i.peek(-1))<0||Kc(t))&&e.canShift(wm)){let n=0;for(;i.next==th||i.next==fo;)i.advance(),n++;(i.next==Ni||i.next==_r||i.next==ih)&&i.acceptToken(wm,-n)}else Kc(i.next)&&i.acceptToken(px,1)},{contextual:!0}),dw=new J((i,e)=>{let t=e.context;if(t.flags)return;let n=i.peek(-1);if(n==Ni||n==_r){let r=0,s=0;for(;;){if(i.next==th)r++;else if(i.next==fo)r+=8-r%8;else break;i.advance(),s++}r!=t.indent&&i.next!=Ni&&i.next!=_r&&i.next!=ih&&(r[i,e|Em])),gw=new dt({start:pw,reduce(i,e,t,n){return i.flags&co&&uw.has(e)||(e==Zx||e==Rm)&&i.flags&Em?i.parent:i},shift(i,e,t,n){return e==Cm?new ho(i,mw(n.read(n.pos,t.pos)),0):e==Xm?i.parent:e==Sx||e==wx||e==$x||e==_m?new ho(i,0,co):Tm.has(e)?new ho(i,0,Tm.get(e)|i.flags&co):i},hash(i){return i.hash}}),Qw=new J(i=>{for(let e=0;e<5;e++){if(i.next!="print".charCodeAt(e))return;i.advance()}if(!/\w/.test(String.fromCharCode(i.next)))for(let e=0;;e++){let t=i.peek(e);if(!(t==th||t==fo)){t!=sw&&t!=ow&&t!=Ni&&t!=_r&&t!=ih&&i.acceptToken(dx);return}}}),bw=new J((i,e)=>{let{flags:t}=e.context,n=t&Ht?Zm:Am,r=(t&Kt)>0,s=!(t&Jt),o=(t&ei)>0,a=i.pos;for(;!(i.next<0);)if(o&&i.next==eh)if(i.peek(1)==eh)i.advance(2);else{if(i.pos==a){i.acceptToken(_m,1);return}break}else if(s&&i.next==$m){if(i.pos==a){i.advance();let l=i.next;l>=0&&(i.advance(),Sw(i,l)),i.acceptToken(bx);return}break}else if(i.next==$m&&!s&&i.peek(1)>-1)i.advance(2);else if(i.next==n&&(!r||i.peek(1)==n&&i.peek(2)==n)){if(i.pos==a){i.acceptToken(Pm,r?3:1);return}break}else if(i.next==Ni){if(r)i.advance();else if(i.pos==a){i.acceptToken(Pm);return}break}else i.advance();i.pos>a&&i.acceptToken(Qx)});function Sw(i,e){if(e==aw)for(let t=0;t<2&&i.next>=48&&i.next<=55;t++)i.advance();else if(e==lw)for(let t=0;t<2&&Jc(i.next);t++)i.advance();else if(e==hw)for(let t=0;t<4&&Jc(i.next);t++)i.advance();else if(e==fw)for(let t=0;t<8&&Jc(i.next);t++)i.advance();else if(e==cw&&i.next==eh){for(i.advance();i.next>=0&&i.next!=vm&&i.next!=Am&&i.next!=Zm&&i.next!=Ni;)i.advance();i.next==vm&&i.advance()}}var yw=Qe({'async "*" "**" FormatConversion FormatSpec':d.modifier,"for while if elif else try except finally return raise break continue with pass assert await yield match case":d.controlKeyword,"in not and or is del":d.operatorKeyword,"from def class global nonlocal lambda":d.definitionKeyword,import:d.moduleKeyword,"with as print":d.keyword,Boolean:d.bool,None:d.null,VariableName:d.variableName,"CallExpression/VariableName":d.function(d.variableName),"FunctionDefinition/VariableName":d.function(d.definition(d.variableName)),"ClassDefinition/VariableName":d.definition(d.className),PropertyName:d.propertyName,"CallExpression/MemberExpression/PropertyName":d.function(d.propertyName),Comment:d.lineComment,Number:d.number,String:d.string,FormatString:d.special(d.string),Escape:d.escape,UpdateOp:d.updateOperator,"ArithOp!":d.arithmeticOperator,BitOp:d.bitwiseOperator,CompareOp:d.compareOperator,AssignOp:d.definitionOperator,Ellipsis:d.punctuation,At:d.meta,"( )":d.paren,"[ ]":d.squareBracket,"{ }":d.brace,".":d.derefOperator,", ;":d.separator}),kw={__proto__:null,await:44,or:54,and:56,in:60,not:62,is:64,if:70,else:72,lambda:76,yield:94,from:96,async:102,for:104,None:162,True:164,False:164,del:178,pass:182,break:186,continue:190,return:194,raise:202,import:206,as:208,global:212,nonlocal:214,assert:218,type:223,elif:236,while:240,try:246,except:248,finally:250,with:254,def:258,class:268,match:279,case:285},qm=Pe.deserialize({version:14,states:"##jQ`QeOOP$}OSOOO&WQtO'#HUOOQS'#Co'#CoOOQS'#Cp'#CpO'vQdO'#CnO*UQtO'#HTOOQS'#HU'#HUOOQS'#DU'#DUOOQS'#HT'#HTO*rQdO'#D_O+VQdO'#DfO+gQdO'#DjO+zOWO'#DuO,VOWO'#DvO.[QtO'#GuOOQS'#Gu'#GuO'vQdO'#GtO0ZQtO'#GtOOQS'#Eb'#EbO0rQdO'#EcOOQS'#Gs'#GsO0|QdO'#GrOOQV'#Gr'#GrO1XQdO'#FYOOQS'#G^'#G^O1^QdO'#FXOOQV'#IS'#ISOOQV'#Gq'#GqOOQV'#Fq'#FqQ`QeOOO'vQdO'#CqO1lQdO'#C}O1sQdO'#DRO2RQdO'#HYO2cQtO'#EVO'vQdO'#EWOOQS'#EY'#EYOOQS'#E['#E[OOQS'#E^'#E^O2wQdO'#E`O3_QdO'#EdO3rQdO'#EfO3zQtO'#EfO1XQdO'#EiO0rQdO'#ElO1XQdO'#EnO0rQdO'#EtO0rQdO'#EwO4VQdO'#EyO4^QdO'#FOO4iQdO'#EzO0rQdO'#FOO1XQdO'#FQO1XQdO'#FVO4nQdO'#F[P4uOdO'#GpPOOO)CBd)CBdOOQS'#Ce'#CeOOQS'#Cf'#CfOOQS'#Cg'#CgOOQS'#Ch'#ChOOQS'#Ci'#CiOOQS'#Cj'#CjOOQS'#Cl'#ClO'vQdO,59OO'vQdO,59OO'vQdO,59OO'vQdO,59OO'vQdO,59OO'vQdO,59OO5TQdO'#DoOOQS,5:Y,5:YO5hQdO'#HdOOQS,5:],5:]O5uQ!fO,5:]O5zQtO,59YO1lQdO,59bO1lQdO,59bO1lQdO,59bO8jQdO,59bO8oQdO,59bO8vQdO,59jO8}QdO'#HTO:TQdO'#HSOOQS'#HS'#HSOOQS'#D['#D[O:lQdO,59aO'vQdO,59aO:zQdO,59aOOQS,59y,59yO;PQdO,5:RO'vQdO,5:ROOQS,5:Q,5:QO;_QdO,5:QO;dQdO,5:XO'vQdO,5:XO'vQdO,5:VOOQS,5:U,5:UO;uQdO,5:UO;zQdO,5:WOOOW'#Fy'#FyOOOOQS'#Ds'#DsOOQS1G/w1G/wOOQS1G.|1G.|O!/[QtO1G.|O!/cQtO1G.|O1lQdO1G.|O!0OQdO1G/UOOQS'#DZ'#DZO0rQdO,59tOOQS1G.{1G.{O!0VQdO1G/eO!0gQdO1G/eO!0oQdO1G/fO'vQdO'#H[O!0tQdO'#H[O!0yQtO1G.{O!1ZQdO,59iO!2aQdO,5=zO!2qQdO,5=zO!2yQdO1G/mO!3OQtO1G/mOOQS1G/l1G/lO!3`QdO,5=uO!4VQdO,5=uO0rQdO1G/qO!4tQdO1G/sO!4yQtO1G/sO!5ZQtO1G/qOOQS1G/p1G/pOOQS1G/r1G/rOOOW-E9w-E9wOOQS1G/{1G/{O!5kQdO'#HxO0rQdO'#HxO!5|QdO,5>cOOOW-E9x-E9xOOQS1G/|1G/|OOQS-E9{-E9{O!6[Q#xO1G2zO!6{QtO1G2zO'vQdO,5kOOQS1G1`1G1`O!8RQdO1G1`OOQS'#DV'#DVO0rQdO,5=qOOQS,5=q,5=qO!8WQdO'#FrO!8cQdO,59oO!8kQdO1G/XO!8uQtO,5=uOOQS1G3`1G3`OOQS,5:m,5:mO!9fQdO'#GtOOQS,5jO!;ZQdO,5>jO1XQdO,5>jO!;lQdO,5>iOOQS-E:R-E:RO!;qQdO1G0lO!;|QdO1G0lO!lO!lO!hO!=VQdO,5>hO!=hQdO'#EpO0rQdO1G0tO!=sQdO1G0tO!=xQgO1G0zO!AvQgO1G0}O!EqQdO,5>oO!E{QdO,5>oO!FTQtO,5>oO0rQdO1G1PO!F_QdO1G1PO4iQdO1G1UO!!vQdO1G1WOOQV,5;a,5;aO!FdQfO,5;aO!FiQgO1G1QO!JjQdO'#GZO4iQdO1G1QO4iQdO1G1QO!JzQdO,5>pO!KXQdO,5>pO1XQdO,5>pOOQV1G1U1G1UO!KaQdO'#FSO!KrQ!fO1G1WO!KzQdO1G1WOOQV1G1]1G1]O4iQdO1G1]O!LPQdO1G1]O!LXQdO'#F^OOQV1G1b1G1bO!#ZQtO1G1bPOOO1G2v1G2vP!L^OSO1G2vOOQS,5=},5=}OOQS'#Dp'#DpO0rQdO,5=}O!LfQdO,5=|O!LyQdO,5=|OOQS1G/u1G/uO!MRQdO,5>PO!McQdO,5>PO!MkQdO,5>PO!NOQdO,5>PO!N`QdO,5>POOQS1G3j1G3jOOQS7+$h7+$hO!8kQdO7+$pO#!RQdO1G.|O#!YQdO1G.|OOQS1G/`1G/`OOQS,5<`,5<`O'vQdO,5<`OOQS7+%P7+%PO#!aQdO7+%POOQS-E9r-E9rOOQS7+%Q7+%QO#!qQdO,5=vO'vQdO,5=vOOQS7+$g7+$gO#!vQdO7+%PO##OQdO7+%QO##TQdO1G3fOOQS7+%X7+%XO##eQdO1G3fO##mQdO7+%XOOQS,5<_,5<_O'vQdO,5<_O##rQdO1G3aOOQS-E9q-E9qO#$iQdO7+%]OOQS7+%_7+%_O#$wQdO1G3aO#%fQdO7+%_O#%kQdO1G3gO#%{QdO1G3gO#&TQdO7+%]O#&YQdO,5>dO#&sQdO,5>dO#&sQdO,5>dOOQS'#Dx'#DxO#'UO&jO'#DzO#'aO`O'#HyOOOW1G3}1G3}O#'fQdO1G3}O#'nQdO1G3}O#'yQ#xO7+(fO#(jQtO1G2UP#)TQdO'#GOOOQS,5nQdO,5sQdO1G4OOOQS-E9y-E9yO#?^QdO1G4OO<[QdO'#H{OOOO'#D{'#D{OOOO'#F|'#F|O#?oO&jO,5:fOOOW,5>e,5>eOOOW7+)i7+)iO#?zQdO7+)iO#@SQdO1G2zO#@mQdO1G2zP'vQdO'#FuO0rQdO<mO#BQQdO,5>mOOQS1G0v1G0vOOQS<rO#KgQdO,5>rO#KrQdO,5>rO#K}QdO,5>qO#L`QdO,5>qOOQS1G1Y1G1YOOQS,5;p,5;pOOQV<VAN>VO$ oQdO<cAN>cO0rQdO1G1|O$!PQtO1G1|P$!ZQdO'#FvOOQS1G2R1G2RP$!hQdO'#F{O$!uQdO7+)jO$#`QdO,5>gOOOO-E9z-E9zOOOW<tO$4{QdO,5>tO1XQdO,5vO$)nQdO,5>vOOQS1G1p1G1pOOQS,5<[,5<[OOQU7+'P7+'PO$+zQdO1G/iO$)nQdO,5wO$8zQdO,5>wOOQS1G1s1G1sOOQS7+'S7+'SP$)nQdO'#GdO$9SQdO1G4bO$9^QdO1G4bO$9fQdO1G4bOOQS7+%T7+%TO$9tQdO1G1tO$:SQtO'#FaO$:ZQdO,5<}OOQS,5<},5<}O$:iQdO1G4cOOQS-E:a-E:aO$)nQdO,5<|O$:pQdO,5<|O$:uQdO7+)|OOQS-E:`-E:`O$;PQdO7+)|O$)nQdO,5S~O%cOS%^OSSOS%]PQ~OPdOVaOfoOhYOopOs!POvqO!PrO!Q{O!T!SO!U!RO!XZO!][O!h`O!r`O!s`O!t`O!{tO!}uO#PvO#RwO#TxO#XyO#ZzO#^|O#_|O#a}O#c!OO#l!QO#o!TO#s!UO#u!VO#z!WO#}hO$P!XO%oRO%pRO%tSO%uWO&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O&c^O&d^O&e^O&f^O&g^O&h^O&i^O&j^O~O%]!YO~OV!aO_!aOa!bOh!iO!X!kO!f!mO%j![O%k!]O%l!^O%m!_O%n!_O%o!`O%p!`O%q!aO%r!aO%s!aO~Ok%xXl%xXm%xXn%xXo%xXp%xXs%xXz%xX{%xX!x%xX#g%xX%[%xX%_%xX%z%xXg%xX!T%xX!U%xX%{%xX!W%xX![%xX!Q%xX#[%xXt%xX!m%xX~P%SOfoOhYO!XZO!][O!h`O!r`O!s`O!t`O%oRO%pRO%tSO%uWO&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O&c^O&d^O&e^O&f^O&g^O&h^O&i^O&j^O~Oz%wX{%wX#g%wX%[%wX%_%wX%z%wX~Ok!pOl!qOm!oOn!oOo!rOp!sOs!tO!x%wX~P)pOV!zOg!|Oo0cOv0qO!PrO~P'vOV#OOo0cOv0qO!W#PO~P'vOV#SOa#TOo0cOv0qO![#UO~P'vOQ#XO%`#XO%a#ZO~OQ#^OR#[O%`#^O%a#`O~OV%iX_%iXa%iXh%iXk%iXl%iXm%iXn%iXo%iXp%iXs%iXz%iX!X%iX!f%iX%j%iX%k%iX%l%iX%m%iX%n%iX%o%iX%p%iX%q%iX%r%iX%s%iXg%iX!T%iX!U%iX~O&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O&c^O&d^O&e^O&f^O&g^O&h^O&i^O&j^O{%iX!x%iX#g%iX%[%iX%_%iX%z%iX%{%iX!W%iX![%iX!Q%iX#[%iXt%iX!m%iX~P,eOz#dO{%hX!x%hX#g%hX%[%hX%_%hX%z%hX~Oo0cOv0qO~P'vO#g#gO%[#iO%_#iO~O%uWO~O!T#nO#u!VO#z!WO#}hO~OopO~P'vOV#sOa#tO%uWO{wP~OV#xOo0cOv0qO!Q#yO~P'vO{#{O!x$QO%z#|O#g!yX%[!yX%_!yX~OV#xOo0cOv0qO#g#SX%[#SX%_#SX~P'vOo0cOv0qO#g#WX%[#WX%_#WX~P'vOh$WO%uWO~O!f$YO!r$YO%uWO~OV$eO~P'vO!U$gO#s$hO#u$iO~O{$jO~OV$qO~P'vOS$sO%[$rO%_$rO%c$tO~OV$}Oa$}Og%POo0cOv0qO~P'vOo0cOv0qO{%SO~P'vO&Y%UO~Oa!bOh!iO!X!kO!f!mOVba_bakbalbambanbaobapbasbazba{ba!xba#gba%[ba%_ba%jba%kba%lba%mba%nba%oba%pba%qba%rba%sba%zbagba!Tba!Uba%{ba!Wba![ba!Qba#[batba!mba~On%ZO~Oo%ZO~P'vOo0cO~P'vOk0eOl0fOm0dOn0dOo0mOp0nOs0rOg%wX!T%wX!U%wX%{%wX!W%wX![%wX!Q%wX#[%wX!m%wX~P)pO%{%]Og%vXz%vX!T%vX!U%vX!W%vX{%vX~Og%_Oz%`O!T%dO!U%cO~Og%_O~Oz%gO!T%dO!U%cO!W&SX~O!W%kO~Oz%lO{%nO!T%dO!U%cO![%}X~O![%rO~O![%sO~OQ#XO%`#XO%a%uO~OV%wOo0cOv0qO!PrO~P'vOQ#^OR#[O%`#^O%a%zO~OV!qa_!qaa!qah!qak!qal!qam!qan!qao!qap!qas!qaz!qa{!qa!X!qa!f!qa!x!qa#g!qa%[!qa%_!qa%j!qa%k!qa%l!qa%m!qa%n!qa%o!qa%p!qa%q!qa%r!qa%s!qa%z!qag!qa!T!qa!U!qa%{!qa!W!qa![!qa!Q!qa#[!qat!qa!m!qa~P#yOz%|O{%ha!x%ha#g%ha%[%ha%_%ha%z%ha~P%SOV&OOopOvqO{%ha!x%ha#g%ha%[%ha%_%ha%z%ha~P'vOz%|O{%ha!x%ha#g%ha%[%ha%_%ha%z%ha~OPdOVaOopOvqO!PrO!Q{O!{tO!}uO#PvO#RwO#TxO#XyO#ZzO#^|O#_|O#a}O#c!OO#g$zX%[$zX%_$zX~P'vO#g#gO%[&TO%_&TO~O!f&UOh&sX%[&sXz&sX#[&sX#g&sX%_&sX#Z&sXg&sX~Oh!iO%[&WO~Okealeameaneaoeapeaseazea{ea!xea#gea%[ea%_ea%zeagea!Tea!Uea%{ea!Wea![ea!Qea#[eatea!mea~P%SOsqazqa{qa#gqa%[qa%_qa%zqa~Ok!pOl!qOm!oOn!oOo!rOp!sO!xqa~PEcO%z&YOz%yX{%yX~O%uWOz%yX{%yX~Oz&]O{wX~O{&_O~Oz%lO#g%}X%[%}X%_%}Xg%}X{%}X![%}X!m%}X%z%}X~OV0lOo0cOv0qO!PrO~P'vO%z#|O#gUa%[Ua%_Ua~Oz&hO#g&PX%[&PX%_&PXn&PX~P%SOz&kO!Q&jO#g#Wa%[#Wa%_#Wa~Oz&lO#[&nO#g&rX%[&rX%_&rXg&rX~O!f$YO!r$YO#Z&qO%uWO~O#Z&qO~Oz&sO#g&tX%[&tX%_&tX~Oz&uO#g&pX%[&pX%_&pX{&pX~O!X&wO%z&xO~Oz&|On&wX~P%SOn'PO~OPdOVaOopOvqO!PrO!Q{O!{tO!}uO#PvO#RwO#TxO#XyO#ZzO#^|O#_|O#a}O#c!OO%['UO~P'vOt'YO#p'WO#q'XOP#naV#naf#nah#nao#nas#nav#na!P#na!Q#na!T#na!U#na!X#na!]#na!h#na!r#na!s#na!t#na!{#na!}#na#P#na#R#na#T#na#X#na#Z#na#^#na#_#na#a#na#c#na#l#na#o#na#s#na#u#na#z#na#}#na$P#na%X#na%o#na%p#na%t#na%u#na&Z#na&[#na&]#na&^#na&_#na&`#na&a#na&b#na&c#na&d#na&e#na&f#na&g#na&h#na&i#na&j#na%Z#na%_#na~Oz'ZO#[']O{&xX~Oh'_O!X&wO~Oh!iO{$jO!X&wO~O{'eO~P%SO%['hO%_'hO~OS'iO%['hO%_'hO~OV!aO_!aOa!bOh!iO!X!kO!f!mO%l!^O%m!_O%n!_O%o!`O%p!`O%q!aO%r!aO%s!aOkWilWimWinWioWipWisWizWi{Wi!xWi#gWi%[Wi%_Wi%jWi%zWigWi!TWi!UWi%{Wi!WWi![Wi!QWi#[WitWi!mWi~O%k!]O~P!#uO%kWi~P!#uOV!aO_!aOa!bOh!iO!X!kO!f!mO%o!`O%p!`O%q!aO%r!aO%s!aOkWilWimWinWioWipWisWizWi{Wi!xWi#gWi%[Wi%_Wi%jWi%kWi%lWi%zWigWi!TWi!UWi%{Wi!WWi![Wi!QWi#[WitWi!mWi~O%m!_O%n!_O~P!&pO%mWi%nWi~P!&pOa!bOh!iO!X!kO!f!mOkWilWimWinWioWipWisWizWi{Wi!xWi#gWi%[Wi%_Wi%jWi%kWi%lWi%mWi%nWi%oWi%pWi%zWigWi!TWi!UWi%{Wi!WWi![Wi!QWi#[WitWi!mWi~OV!aO_!aO%q!aO%r!aO%s!aO~P!)nOVWi_Wi%qWi%rWi%sWi~P!)nO!T%dO!U%cOg&VXz&VX~O%z'kO%{'kO~P,eOz'mOg&UX~Og'oO~Oz'pO{'rO!W&XX~Oo0cOv0qOz'pO{'sO!W&XX~P'vO!W'uO~Om!oOn!oOo!rOp!sOkjisjizji{ji!xji#gji%[ji%_ji%zji~Ol!qO~P!.aOlji~P!.aOk0eOl0fOm0dOn0dOo0mOp0nO~Ot'wO~P!/jOV'|Og'}Oo0cOv0qO~P'vOg'}Oz(OO~Og(QO~O!U(SO~Og(TOz(OO!T%dO!U%cO~P%SOk0eOl0fOm0dOn0dOo0mOp0nOgqa!Tqa!Uqa%{qa!Wqa![qa!Qqa#[qatqa!mqa~PEcOV'|Oo0cOv0qO!W&Sa~P'vOz(WO!W&Sa~O!W(XO~Oz(WO!T%dO!U%cO!W&Sa~P%SOV(]Oo0cOv0qO![%}a#g%}a%[%}a%_%}ag%}a{%}a!m%}a%z%}a~P'vOz(^O![%}a#g%}a%[%}a%_%}ag%}a{%}a!m%}a%z%}a~O![(aO~Oz(^O!T%dO!U%cO![%}a~P%SOz(dO!T%dO!U%cO![&Ta~P%SOz(gO{&lX![&lX!m&lX%z&lX~O{(kO![(mO!m(nO%z(jO~OV&OOopOvqO{%hi!x%hi#g%hi%[%hi%_%hi%z%hi~P'vOz(pO{%hi!x%hi#g%hi%[%hi%_%hi%z%hi~O!f&UOh&sa%[&saz&sa#[&sa#g&sa%_&sa#Z&sag&sa~O%[(uO~OV#sOa#tO%uWO~Oz&]O{wa~OopOvqO~P'vOz(^O#g%}a%[%}a%_%}ag%}a{%}a![%}a!m%}a%z%}a~P%SOz(zO#g%hX%[%hX%_%hX%z%hX~O%z#|O#gUi%[Ui%_Ui~O#g&Pa%[&Pa%_&Pan&Pa~P'vOz(}O#g&Pa%[&Pa%_&Pan&Pa~O%uWO#g&ra%[&ra%_&rag&ra~Oz)SO#g&ra%[&ra%_&rag&ra~Og)VO~OV)WOh$WO%uWO~O#Z)XO~O%uWO#g&ta%[&ta%_&ta~Oz)ZO#g&ta%[&ta%_&ta~Oo0cOv0qO#g&pa%[&pa%_&pa{&pa~P'vOz)^O#g&pa%[&pa%_&pa{&pa~OV)`Oa)`O%uWO~O%z)eO~Ot)hO#j)gOP#hiV#hif#hih#hio#his#hiv#hi!P#hi!Q#hi!T#hi!U#hi!X#hi!]#hi!h#hi!r#hi!s#hi!t#hi!{#hi!}#hi#P#hi#R#hi#T#hi#X#hi#Z#hi#^#hi#_#hi#a#hi#c#hi#l#hi#o#hi#s#hi#u#hi#z#hi#}#hi$P#hi%X#hi%o#hi%p#hi%t#hi%u#hi&Z#hi&[#hi&]#hi&^#hi&_#hi&`#hi&a#hi&b#hi&c#hi&d#hi&e#hi&f#hi&g#hi&h#hi&i#hi&j#hi%Z#hi%_#hi~Ot)iOP#kiV#kif#kih#kio#kis#kiv#ki!P#ki!Q#ki!T#ki!U#ki!X#ki!]#ki!h#ki!r#ki!s#ki!t#ki!{#ki!}#ki#P#ki#R#ki#T#ki#X#ki#Z#ki#^#ki#_#ki#a#ki#c#ki#l#ki#o#ki#s#ki#u#ki#z#ki#}#ki$P#ki%X#ki%o#ki%p#ki%t#ki%u#ki&Z#ki&[#ki&]#ki&^#ki&_#ki&`#ki&a#ki&b#ki&c#ki&d#ki&e#ki&f#ki&g#ki&h#ki&i#ki&j#ki%Z#ki%_#ki~OV)kOn&wa~P'vOz)lOn&wa~Oz)lOn&wa~P%SOn)pO~O%Y)tO~Ot)wO#p'WO#q)vOP#niV#nif#nih#nio#nis#niv#ni!P#ni!Q#ni!T#ni!U#ni!X#ni!]#ni!h#ni!r#ni!s#ni!t#ni!{#ni!}#ni#P#ni#R#ni#T#ni#X#ni#Z#ni#^#ni#_#ni#a#ni#c#ni#l#ni#o#ni#s#ni#u#ni#z#ni#}#ni$P#ni%X#ni%o#ni%p#ni%t#ni%u#ni&Z#ni&[#ni&]#ni&^#ni&_#ni&`#ni&a#ni&b#ni&c#ni&d#ni&e#ni&f#ni&g#ni&h#ni&i#ni&j#ni%Z#ni%_#ni~OV)zOo0cOv0qO{$jO~P'vOo0cOv0qO{&xa~P'vOz*OO{&xa~OV*SOa*TOg*WO%q*UO%uWO~O{$jO&{*YO~Oh'_O~Oh!iO{$jO~O%[*_O~O%[*aO%_*aO~OV$}Oa$}Oo0cOv0qOg&Ua~P'vOz*dOg&Ua~Oo0cOv0qO{*gO!W&Xa~P'vOz*hO!W&Xa~Oo0cOv0qOz*hO{*kO!W&Xa~P'vOo0cOv0qOz*hO!W&Xa~P'vOz*hO{*kO!W&Xa~Om0dOn0dOo0mOp0nOgjikjisjizji!Tji!Uji%{ji!Wji{ji![ji#gji%[ji%_ji!Qji#[jitji!mji%zji~Ol0fO~P!NkOlji~P!NkOV'|Og*pOo0cOv0qO~P'vOn*rO~Og*pOz*tO~Og*uO~OV'|Oo0cOv0qO!W&Si~P'vOz*vO!W&Si~O!W*wO~OV(]Oo0cOv0qO![%}i#g%}i%[%}i%_%}ig%}i{%}i!m%}i%z%}i~P'vOz*zO!T%dO!U%cO![&Ti~Oz*}O![%}i#g%}i%[%}i%_%}ig%}i{%}i!m%}i%z%}i~O![+OO~Oa+QOo0cOv0qO![&Ti~P'vOz*zO![&Ti~O![+SO~OV+UOo0cOv0qO{&la![&la!m&la%z&la~P'vOz+VO{&la![&la!m&la%z&la~O!]+YO&n+[O![!nX~O![+^O~O{(kO![+_O~O{(kO![+_O!m+`O~OV&OOopOvqO{%hq!x%hq#g%hq%[%hq%_%hq%z%hq~P'vOz$ri{$ri!x$ri#g$ri%[$ri%_$ri%z$ri~P%SOV&OOopOvqO~P'vOV&OOo0cOv0qO#g%ha%[%ha%_%ha%z%ha~P'vOz+aO#g%ha%[%ha%_%ha%z%ha~Oz$ia#g$ia%[$ia%_$ian$ia~P%SO#g&Pi%[&Pi%_&Pin&Pi~P'vOz+dO#g#Wq%[#Wq%_#Wq~O#[+eOz$va#g$va%[$va%_$vag$va~O%uWO#g&ri%[&ri%_&rig&ri~Oz+gO#g&ri%[&ri%_&rig&ri~OV+iOh$WO%uWO~O%uWO#g&ti%[&ti%_&ti~Oo0cOv0qO#g&pi%[&pi%_&pi{&pi~P'vO{#{Oz#eX!W#eX~Oz+mO!W&uX~O!W+oO~Ot+rO#j)gOP#hqV#hqf#hqh#hqo#hqs#hqv#hq!P#hq!Q#hq!T#hq!U#hq!X#hq!]#hq!h#hq!r#hq!s#hq!t#hq!{#hq!}#hq#P#hq#R#hq#T#hq#X#hq#Z#hq#^#hq#_#hq#a#hq#c#hq#l#hq#o#hq#s#hq#u#hq#z#hq#}#hq$P#hq%X#hq%o#hq%p#hq%t#hq%u#hq&Z#hq&[#hq&]#hq&^#hq&_#hq&`#hq&a#hq&b#hq&c#hq&d#hq&e#hq&f#hq&g#hq&h#hq&i#hq&j#hq%Z#hq%_#hq~On$|az$|a~P%SOV)kOn&wi~P'vOz+yOn&wi~Oz,TO{$jO#[,TO~O#q,VOP#nqV#nqf#nqh#nqo#nqs#nqv#nq!P#nq!Q#nq!T#nq!U#nq!X#nq!]#nq!h#nq!r#nq!s#nq!t#nq!{#nq!}#nq#P#nq#R#nq#T#nq#X#nq#Z#nq#^#nq#_#nq#a#nq#c#nq#l#nq#o#nq#s#nq#u#nq#z#nq#}#nq$P#nq%X#nq%o#nq%p#nq%t#nq%u#nq&Z#nq&[#nq&]#nq&^#nq&_#nq&`#nq&a#nq&b#nq&c#nq&d#nq&e#nq&f#nq&g#nq&h#nq&i#nq&j#nq%Z#nq%_#nq~O#[,WOz%Oa{%Oa~Oo0cOv0qO{&xi~P'vOz,YO{&xi~O{#{O%z,[Og&zXz&zX~O%uWOg&zXz&zX~Oz,`Og&yX~Og,bO~O%Y,eO~O!T%dO!U%cOg&Viz&Vi~OV$}Oa$}Oo0cOv0qOg&Ui~P'vO{,hOz$la!W$la~Oo0cOv0qO{,iOz$la!W$la~P'vOo0cOv0qO{*gO!W&Xi~P'vOz,lO!W&Xi~Oo0cOv0qOz,lO!W&Xi~P'vOz,lO{,oO!W&Xi~Og$hiz$hi!W$hi~P%SOV'|Oo0cOv0qO~P'vOn,qO~OV'|Og,rOo0cOv0qO~P'vOV'|Oo0cOv0qO!W&Sq~P'vOz$gi![$gi#g$gi%[$gi%_$gig$gi{$gi!m$gi%z$gi~P%SOV(]Oo0cOv0qO~P'vOa+QOo0cOv0qO![&Tq~P'vOz,sO![&Tq~O![,tO~OV(]Oo0cOv0qO![%}q#g%}q%[%}q%_%}qg%}q{%}q!m%}q%z%}q~P'vO{,uO~OV+UOo0cOv0qO{&li![&li!m&li%z&li~P'vOz,zO{&li![&li!m&li%z&li~O!]+YO&n+[O![!na~O{(kO![,}O~OV&OOo0cOv0qO#g%hi%[%hi%_%hi%z%hi~P'vOz-OO#g%hi%[%hi%_%hi%z%hi~O%uWO#g&rq%[&rq%_&rqg&rq~Oz-RO#g&rq%[&rq%_&rqg&rq~OV)`Oa)`O%uWO!W&ua~Oz-TO!W&ua~On$|iz$|i~P%SOV)kO~P'vOV)kOn&wq~P'vOt-XOP#myV#myf#myh#myo#mys#myv#my!P#my!Q#my!T#my!U#my!X#my!]#my!h#my!r#my!s#my!t#my!{#my!}#my#P#my#R#my#T#my#X#my#Z#my#^#my#_#my#a#my#c#my#l#my#o#my#s#my#u#my#z#my#}#my$P#my%X#my%o#my%p#my%t#my%u#my&Z#my&[#my&]#my&^#my&_#my&`#my&a#my&b#my&c#my&d#my&e#my&f#my&g#my&h#my&i#my&j#my%Z#my%_#my~O%Z-]O%_-]O~P`O#q-^OP#nyV#nyf#nyh#nyo#nys#nyv#ny!P#ny!Q#ny!T#ny!U#ny!X#ny!]#ny!h#ny!r#ny!s#ny!t#ny!{#ny!}#ny#P#ny#R#ny#T#ny#X#ny#Z#ny#^#ny#_#ny#a#ny#c#ny#l#ny#o#ny#s#ny#u#ny#z#ny#}#ny$P#ny%X#ny%o#ny%p#ny%t#ny%u#ny&Z#ny&[#ny&]#ny&^#ny&_#ny&`#ny&a#ny&b#ny&c#ny&d#ny&e#ny&f#ny&g#ny&h#ny&i#ny&j#ny%Z#ny%_#ny~Oz-aO{$jO#[-aO~Oo0cOv0qO{&xq~P'vOz-dO{&xq~O%z,[Og&zaz&za~O{#{Og&zaz&za~OV*SOa*TO%q*UO%uWOg&ya~Oz-hOg&ya~O$S-lO~OV$}Oa$}Oo0cOv0qO~P'vOo0cOv0qO{-mOz$li!W$li~P'vOo0cOv0qOz$li!W$li~P'vO{-mOz$li!W$li~Oo0cOv0qO{*gO~P'vOo0cOv0qO{*gO!W&Xq~P'vOz-pO!W&Xq~Oo0cOv0qOz-pO!W&Xq~P'vOs-sO!T%dO!U%cOg&Oq!W&Oq![&Oqz&Oq~P!/jOa+QOo0cOv0qO![&Ty~P'vOz$ji![$ji~P%SOa+QOo0cOv0qO~P'vOV+UOo0cOv0qO~P'vOV+UOo0cOv0qO{&lq![&lq!m&lq%z&lq~P'vO{(kO![-xO!m-yO%z-wO~OV&OOo0cOv0qO#g%hq%[%hq%_%hq%z%hq~P'vO%uWO#g&ry%[&ry%_&ryg&ry~OV)`Oa)`O%uWO!W&ui~Ot-}OP#m!RV#m!Rf#m!Rh#m!Ro#m!Rs#m!Rv#m!R!P#m!R!Q#m!R!T#m!R!U#m!R!X#m!R!]#m!R!h#m!R!r#m!R!s#m!R!t#m!R!{#m!R!}#m!R#P#m!R#R#m!R#T#m!R#X#m!R#Z#m!R#^#m!R#_#m!R#a#m!R#c#m!R#l#m!R#o#m!R#s#m!R#u#m!R#z#m!R#}#m!R$P#m!R%X#m!R%o#m!R%p#m!R%t#m!R%u#m!R&Z#m!R&[#m!R&]#m!R&^#m!R&_#m!R&`#m!R&a#m!R&b#m!R&c#m!R&d#m!R&e#m!R&f#m!R&g#m!R&h#m!R&i#m!R&j#m!R%Z#m!R%_#m!R~Oo0cOv0qO{&xy~P'vOV*SOa*TO%q*UO%uWOg&yi~O$S-lO%Z.VO%_.VO~OV.aOh._O!X.^O!].`O!h.YO!s.[O!t.[O%p.XO%uWO&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O~Oo0cOv0qOz$lq!W$lq~P'vO{.fOz$lq!W$lq~Oo0cOv0qO{*gO!W&Xy~P'vOz.gO!W&Xy~Oo0cOv.kO~P'vOs-sO!T%dO!U%cOg&Oy!W&Oy![&Oyz&Oy~P!/jO{(kO![.nO~O{(kO![.nO!m.oO~OV*SOa*TO%q*UO%uWO~Oh.tO!f.rOz$TX#[$TX%j$TXg$TX~Os$TX{$TX!W$TX![$TX~P$-bO%o.vO%p.vOs$UXz$UX{$UX#[$UX%j$UX!W$UXg$UX![$UX~O!h.xO~Oz.|O#[/OO%j.yOs&|X{&|X!W&|Xg&|X~Oa/RO~P$)zOh.tOs&}Xz&}X{&}X#[&}X%j&}X!W&}Xg&}X![&}X~Os/VO{$jO~Oo0cOv0qOz$ly!W$ly~P'vOo0cOv0qO{*gO!W&X!R~P'vOz/ZO!W&X!R~Og&RXs&RX!T&RX!U&RX!W&RX![&RXz&RX~P!/jOs-sO!T%dO!U%cOg&Qa!W&Qa![&Qaz&Qa~O{(kO![/^O~O!f.rOh$[as$[az$[a{$[a#[$[a%j$[a!W$[ag$[a![$[a~O!h/eO~O%o.vO%p.vOs$Uaz$Ua{$Ua#[$Ua%j$Ua!W$Uag$Ua![$Ua~O%j.yOs$Yaz$Ya{$Ya#[$Ya!W$Yag$Ya![$Ya~Os&|a{&|a!W&|ag&|a~P$)nOz/jOs&|a{&|a!W&|ag&|a~O!W/mO~Og/mO~O{/oO~O![/pO~Oo0cOv0qO{*gO!W&X!Z~P'vO{/sO~O%z/tO~P$-bOz/uO#[/OO%j.yOg'PX~Oz/uOg'PX~Og/wO~O!h/xO~O#[/OOs%Saz%Sa{%Sa%j%Sa!W%Sag%Sa![%Sa~O#[/OO%j.yOs%Waz%Wa{%Wa!W%Wag%Wa~Os&|i{&|i!W&|ig&|i~P$)nOz/zO#[/OO%j.yO!['Oa~Og'Pa~P$)nOz0SOg'Pa~Oa0UO!['Oi~P$)zOz0WO!['Oi~Oz0WO#[/OO%j.yO!['Oi~O#[/OO%j.yOg$biz$bi~O%z0ZO~P$-bO#[/OO%j.yOg%Vaz%Va~Og'Pi~P$)nO{0^O~Oa0UO!['Oq~P$)zOz0`O!['Oq~O#[/OO%j.yOz%Ui![%Ui~Oa0UO~P$)zOa0UO!['Oy~P$)zO#[/OO%j.yOg$ciz$ci~O#[/OO%j.yOz%Uq![%Uq~Oz+aO#g%ha%[%ha%_%ha%z%ha~P%SOV&OOo0cOv0qO~P'vOn0hO~Oo0hO~P'vO{0iO~Ot0jO~P!/jO&]&Z&j&h&i&g&f&d&e&c&b&`&a&_&^&[%u~",goto:"!=j'QPPPPPP'RP'Z*s+[+t,_,y-fP.SP'Z.r.r'ZPPP'Z2[PPPPPP2[5PPP5PP7b7k=sPP=v>h>kPP'Z'ZPP>zPP'Z'ZPP'Z'Z'Z'Z'Z?O?w'ZP?zP@QDXGuGyPG|HWH['ZPPPH_Hk'RP'R'RP'RP'RP'RP'RP'R'R'RP'RPP'RPP'RP'RPHqH}IVPI^IdPI^PI^I^PPPI^PKrPK{LVL]KrPI^LfPI^PLmLsPLwM]MzNeLwLwNkNxLwLwLwLw! ^! d! g! l! o! y!!P!!]!!o!!u!#P!#V!#s!#y!$P!$Z!$a!$g!$y!%T!%Z!%a!%k!%q!%w!%}!&T!&Z!&e!&k!&u!&{!'U!'[!'k!'s!'}!(UPPPPPPPPPPP!([!(_!(e!(n!(x!)TPPPPPPPPPPPP!-u!/Z!3^!6oPP!6w!7W!7a!8Y!8P!8c!8i!8l!8o!8r!8z!9jPPPPPPPPPPPPPPPPP!9m!9q!9wP!:]!:a!:m!:v!;S!;j!;m!;p!;v!;|!_![!]Do!]!^Es!^!_FZ!_!`Gk!`!aHX!a!b%T!b!cIf!c!dJU!d!eK^!e!hJU!h!i!#f!i!tJU!t!u!,|!u!wJU!w!x!.t!x!}JU!}#O!0S#O#P&o#P#Q!0j#Q#R!1Q#R#SJU#S#T%T#T#UJU#U#VK^#V#YJU#Y#Z!#f#Z#fJU#f#g!,|#g#iJU#i#j!.t#j#oJU#o#p!1n#p#q!1s#q#r!2a#r#s!2f#s$g%T$g;'SJU;'S;=`KW<%lOJU`%YT&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T`%lP;=`<%l%To%v]&n`%c_OX%TXY%oY[%T[]%o]p%Tpq%oq#O%T#O#P&o#P#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To&tX&n`OY%TYZ%oZ]%T]^%o^#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc'f[&n`O!_%T!_!`([!`#T%T#T#U(r#U#f%T#f#g(r#g#h(r#h#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc(cTmR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc(yT!mR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk)aV&n`&[ZOr%Trs)vs#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk){V&n`Or%Trs*bs#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk*iT&n`&^ZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To+PZS_&n`OY*xYZ%TZ]*x]^%T^#o*x#o#p+r#p#q*x#q#r+r#r;'S*x;'S;=`,^<%lO*x_+wTS_OY+rZ]+r^;'S+r;'S;=`,W<%lO+r_,ZP;=`<%l+ro,aP;=`<%l*xj,kV%rQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj-XT!xY&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj-oV%lQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk.]V&n`&ZZOw%Twx.rx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk.wV&n`Ow%Twx/^x#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk/eT&n`&]ZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk/{ThZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc0cTgR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk0yXVZ&n`Oz%Tz{1f{!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk1mVaR&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk2ZV%oZ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc2wTzR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To3_W%pZ&n`O!_%T!_!`-Q!`!a3w!a#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Td4OT&{S&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk4fX!fQ&n`O!O%T!O!P5R!P!Q%T!Q![6T![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk5WV&n`O!O%T!O!P5m!P#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk5tT!rZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti6[a!hX&n`O!Q%T!Q![6T![!g%T!g!h7a!h!l%T!l!m9s!m#R%T#R#S6T#S#X%T#X#Y7a#Y#^%T#^#_9s#_#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti7fZ&n`O{%T{|8X|}%T}!O8X!O!Q%T!Q![8s![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti8^V&n`O!Q%T!Q![8s![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti8z]!hX&n`O!Q%T!Q![8s![!l%T!l!m9s!m#R%T#R#S8s#S#^%T#^#_9s#_#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti9zT!hX&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk:bX%qR&n`O!P%T!P!Q:}!Q!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj;UV%sQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti;ro!hX&n`O!O%T!O!P=s!P!Q%T!Q![>_![!d%T!d!e?q!e!g%T!g!h7a!h!l%T!l!m9s!m!q%T!q!rA]!r!z%T!z!{Bq!{#R%T#R#S>_#S#U%T#U#V?q#V#X%T#X#Y7a#Y#^%T#^#_9s#_#c%T#c#dA]#d#l%T#l#mBq#m#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti=xV&n`O!Q%T!Q![6T![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti>fc!hX&n`O!O%T!O!P=s!P!Q%T!Q![>_![!g%T!g!h7a!h!l%T!l!m9s!m#R%T#R#S>_#S#X%T#X#Y7a#Y#^%T#^#_9s#_#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti?vY&n`O!Q%T!Q!R@f!R!S@f!S#R%T#R#S@f#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti@mY!hX&n`O!Q%T!Q!R@f!R!S@f!S#R%T#R#S@f#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiAbX&n`O!Q%T!Q!YA}!Y#R%T#R#SA}#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiBUX!hX&n`O!Q%T!Q!YA}!Y#R%T#R#SA}#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiBv]&n`O!Q%T!Q![Co![!c%T!c!iCo!i#R%T#R#SCo#S#T%T#T#ZCo#Z#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiCv]!hX&n`O!Q%T!Q![Co![!c%T!c!iCo!i#R%T#R#SCo#S#T%T#T#ZCo#Z#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%ToDvV{_&n`O!_%T!_!`E]!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TcEdT%{R&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkEzT#gZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkFbXmR&n`O!^%T!^!_F}!_!`([!`!a([!a#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TjGUV%mQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkGrV%zZ&n`O!_%T!_!`([!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkH`WmR&n`O!_%T!_!`([!`!aHx!a#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TjIPV%nQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkIoV_Q#}P&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%ToJ_]&n`&YS%uZO!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUoKZP;=`<%lJUoKge&n`&YS%uZOr%Trs)Ysw%Twx.Ux!Q%T!Q![JU![!c%T!c!tJU!t!uLx!u!}JU!}#R%T#R#SJU#S#T%T#T#fJU#f#gLx#g#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUoMRa&n`&YS%uZOr%TrsNWsw%Twx! vx!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUkN_V&n`&`ZOr%TrsNts#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkNyV&n`Or%Trs! `s#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk! gT&n`&bZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk! }V&n`&_ZOw%Twx!!dx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!!iV&n`Ow%Twx!#Ox#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!#VT&n`&aZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To!#oe&n`&YS%uZOr%Trs!%Qsw%Twx!&px!Q%T!Q![JU![!c%T!c!tJU!t!u!(`!u!}JU!}#R%T#R#SJU#S#T%T#T#fJU#f#g!(`#g#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUk!%XV&n`&dZOr%Trs!%ns#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!%sV&n`Or%Trs!&Ys#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!&aT&n`&fZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!&wV&n`&cZOw%Twx!'^x#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!'cV&n`Ow%Twx!'xx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!(PT&n`&eZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To!(ia&n`&YS%uZOr%Trs!)nsw%Twx!+^x!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUk!)uV&n`&hZOr%Trs!*[s#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!*aV&n`Or%Trs!*vs#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!*}T&n`&jZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!+eV&n`&gZOw%Twx!+zx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!,PV&n`Ow%Twx!,fx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!,mT&n`&iZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To!-Vi&n`&YS%uZOr%TrsNWsw%Twx! vx!Q%T!Q![JU![!c%T!c!dJU!d!eLx!e!hJU!h!i!(`!i!}JU!}#R%T#R#SJU#S#T%T#T#UJU#U#VLx#V#YJU#Y#Z!(`#Z#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUo!.}a&n`&YS%uZOr%Trs)Ysw%Twx.Ux!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUk!0ZT!XZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc!0qT!WR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj!1XV%kQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T~!1sO!]~k!1zV%jR&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T~!2fO![~i!2mT%tX&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T",tokenizers:[Qw,dw,Ow,bw,0,1,2,3,4],topRules:{Script:[0,5]},specialized:[{term:221,get:i=>kw[i]||-1}],tokenPrec:7668});var zm=new di,Mm=new Set(["Script","Body","FunctionDefinition","ClassDefinition","LambdaExpression","ForStatement","MatchClause"]);function uo(i){return(e,t,n)=>{if(n)return!1;let r=e.node.getChild("VariableName");return r&&t(r,i),!0}}var xw={FunctionDefinition:uo("function"),ClassDefinition:uo("class"),ForStatement(i,e,t){if(t){for(let n=i.node.firstChild;n;n=n.nextSibling)if(n.name=="VariableName")e(n,"variable");else if(n.name=="in")break}},ImportStatement(i,e){var t,n;let{node:r}=i,s=((t=r.firstChild)===null||t===void 0?void 0:t.name)=="from";for(let o=r.getChild("import");o;o=o.nextSibling)o.name=="VariableName"&&((n=o.nextSibling)===null||n===void 0?void 0:n.name)!="as"&&e(o,s?"variable":"namespace")},AssignStatement(i,e){for(let t=i.node.firstChild;t;t=t.nextSibling)if(t.name=="VariableName")e(t,"variable");else if(t.name==":"||t.name=="AssignOp")break},ParamList(i,e){for(let t=null,n=i.node.firstChild;n;n=n.nextSibling)n.name=="VariableName"&&(!t||!/\*|AssignOp/.test(t.name))&&e(n,"variable"),t=n},CapturePattern:uo("variable"),AsPattern:uo("variable"),__proto__:null};function Wm(i,e){let t=zm.get(e);if(t)return t;let n=[],r=!0;function s(o,a){let l=i.sliceString(o.from,o.to);n.push({label:l,type:a})}return e.cursor(ee.IncludeAnonymous).iterate(o=>{if(o.name){let a=xw[o.name];if(a&&a(o,s,r)||!r&&Mm.has(o.name))return!1;r=!1}else if(o.to-o.from>8192){for(let a of Wm(i,o.node))n.push(a);return!1}}),zm.set(e,n),n}var Lm=/^[\w\xa1-\uffff][\w\d\xa1-\uffff]*$/,jm=["String","FormatString","Comment","PropertyName"];function ww(i){let e=U(i.state).resolveInner(i.pos,-1);if(jm.indexOf(e.name)>-1)return null;let t=e.name=="VariableName"||e.to-e.from<20&&Lm.test(i.state.sliceDoc(e.from,e.to));if(!t&&!i.explicit)return null;let n=[];for(let r=e;r;r=r.parent)Mm.has(r.name)&&(n=n.concat(Wm(i.state.doc,r)));return{options:n,from:t?e.from:i.pos,validFor:Lm}}var Pw=["__annotations__","__builtins__","__debug__","__doc__","__import__","__name__","__loader__","__package__","__spec__","False","None","True"].map(i=>({label:i,type:"constant"})).concat(["ArithmeticError","AssertionError","AttributeError","BaseException","BlockingIOError","BrokenPipeError","BufferError","BytesWarning","ChildProcessError","ConnectionAbortedError","ConnectionError","ConnectionRefusedError","ConnectionResetError","DeprecationWarning","EOFError","Ellipsis","EncodingWarning","EnvironmentError","Exception","FileExistsError","FileNotFoundError","FloatingPointError","FutureWarning","GeneratorExit","IOError","ImportError","ImportWarning","IndentationError","IndexError","InterruptedError","IsADirectoryError","KeyError","KeyboardInterrupt","LookupError","MemoryError","ModuleNotFoundError","NameError","NotADirectoryError","NotImplemented","NotImplementedError","OSError","OverflowError","PendingDeprecationWarning","PermissionError","ProcessLookupError","RecursionError","ReferenceError","ResourceWarning","RuntimeError","RuntimeWarning","StopAsyncIteration","StopIteration","SyntaxError","SyntaxWarning","SystemError","SystemExit","TabError","TimeoutError","TypeError","UnboundLocalError","UnicodeDecodeError","UnicodeEncodeError","UnicodeError","UnicodeTranslateError","UnicodeWarning","UserWarning","ValueError","Warning","ZeroDivisionError"].map(i=>({label:i,type:"type"}))).concat(["bool","bytearray","bytes","classmethod","complex","float","frozenset","int","list","map","memoryview","object","range","set","staticmethod","str","super","tuple","type"].map(i=>({label:i,type:"class"}))).concat(["abs","aiter","all","anext","any","ascii","bin","breakpoint","callable","chr","compile","delattr","dict","dir","divmod","enumerate","eval","exec","exit","filter","format","getattr","globals","hasattr","hash","help","hex","id","input","isinstance","issubclass","iter","len","license","locals","max","min","next","oct","open","ord","pow","print","property","quit","repr","reversed","round","setattr","slice","sorted","sum","vars","zip"].map(i=>({label:i,type:"function"}))),vw=[ce("def ${name}(${params}):\n ${}",{label:"def",detail:"function",type:"keyword"}),ce("for ${name} in ${collection}:\n ${}",{label:"for",detail:"loop",type:"keyword"}),ce("while ${}:\n ${}",{label:"while",detail:"loop",type:"keyword"}),ce("try:\n ${}\nexcept ${error}:\n ${}",{label:"try",detail:"/ except block",type:"keyword"}),ce(`if \${}: +}`,{label:"class",detail:"definition",type:"keyword"}),ce('import {${names}} from "${module}"\n${}',{label:"import",detail:"named",type:"keyword"}),ce('import ${name} from "${module}"\n${}',{label:"import",detail:"default",type:"keyword"})],h1=Mp.concat([ce("interface ${name} {\n ${}\n}",{label:"interface",detail:"definition",type:"keyword"}),ce("type ${name} = ${type}",{label:"type",detail:"definition",type:"keyword"}),ce("enum ${name} {\n ${}\n}",{label:"enum",detail:"definition",type:"keyword"})]),qp=new di,Wp=new Set(["Script","Block","FunctionExpression","FunctionDeclaration","ArrowFunction","MethodDeclaration","ForStatement"]);function vr(i){return(e,t)=>{let n=e.node.getChild("VariableDefinition");return n&&t(n,i),!0}}var f1=["FunctionDeclaration"],u1={FunctionDeclaration:vr("function"),ClassDeclaration:vr("class"),ClassExpression:()=>!0,EnumDeclaration:vr("constant"),TypeAliasDeclaration:vr("type"),NamespaceDeclaration:vr("namespace"),VariableDefinition(i,e){i.matchContext(f1)||e(i,"variable")},TypeDefinition(i,e){e(i,"type")},__proto__:null};function jp(i,e){let t=qp.get(e);if(t)return t;let n=[],r=!0;function s(o,a){let l=i.sliceString(o.from,o.to);n.push({label:l,type:a})}return e.cursor(ee.IncludeAnonymous).iterate(o=>{if(r)r=!1;else if(o.name){let a=u1[o.name];if(a&&a(o,s)||Wp.has(o.name))return!1}else if(o.to-o.from>8192){for(let a of jp(i,o.node))n.push(a);return!1}}),qp.set(e,n),n}var zp=/^[\w$\xa1-\uffff][\w$\d\xa1-\uffff]*$/,Vp=["TemplateString","String","RegExp","LineComment","BlockComment","VariableDefinition","TypeDefinition","Label","PropertyDefinition","PropertyName","PrivatePropertyDefinition","PrivatePropertyName","JSXText","JSXAttributeValue","JSXOpenTag","JSXCloseTag","JSXSelfClosingTag",".","?."];function O1(i){let e=U(i.state).resolveInner(i.pos,-1);if(Vp.indexOf(e.name)>-1)return null;let t=e.name=="VariableName"||e.to-e.from<20&&zp.test(i.state.sliceDoc(e.from,e.to));if(!t&&!i.explicit)return null;let n=[];for(let r=e;r;r=r.parent)Wp.has(r.name)&&(n=n.concat(jp(i.state.doc,r)));return{options:n,from:t?e.from:i.pos,validFor:zp}}var wt=$e.define({name:"javascript",parser:Ep.configure({props:[we.add({IfStatement:Bt({except:/^\s*({|else\b)/}),TryStatement:Bt({except:/^\s*({|catch\b|finally\b)/}),LabeledStatement:aO,SwitchBody:i=>{let e=i.textAfter,t=/^\s*\}/.test(e),n=/^\s*(case|default)\b/.test(e);return i.baseIndent+(t?0:n?1:2)*i.unit},Block:St({closing:"}"}),ArrowFunction:i=>i.baseIndent+i.unit,"TemplateString BlockComment":()=>null,"Statement Property":Bt({except:/^\s*{/}),JSXElement(i){let e=/^\s*<\//.test(i.textAfter);return i.lineIndent(i.node.from)+(e?0:i.unit)},JSXEscape(i){let e=/\s*\}/.test(i.textAfter);return i.lineIndent(i.node.from)+(e?0:i.unit)},"JSXOpenTag JSXSelfClosingTag"(i){return i.column(i.node.from)+i.unit}}),Te.add({"Block ClassBody SwitchBody EnumBody ObjectExpression ArrayExpression ObjectType":ht,BlockComment(i){return{from:i.from+2,to:i.to-2}},JSXElement(i){let e=i.firstChild;if(!e||e.name=="JSXSelfClosingTag")return null;let t=i.lastChild;return{from:e.to,to:t.type.isError?i.to:t.from}},"JSXSelfClosingTag JSXOpenTag"(i){var e;let t=(e=i.firstChild)===null||e===void 0?void 0:e.nextSibling,n=i.lastChild;return!t||t.type.isError?null:{from:t.to,to:n.type.isError?i.to:n.from}}})]}),languageData:{closeBrackets:{brackets:["(","[","{","'",'"',"`"]},commentTokens:{line:"//",block:{open:"/*",close:"*/"}},indentOnInput:/^\s*(?:case |default:|\{|\}|<\/)$/,wordChars:"$"}}),Dp={test:i=>/^JSX/.test(i.name),facet:kn({commentTokens:{block:{open:"{/*",close:"*/}"}}})},Xc=wt.configure({dialect:"ts"},"typescript"),_c=wt.configure({dialect:"jsx",props:[qs.add(i=>i.isTop?[Dp]:void 0)]}),Rc=wt.configure({dialect:"jsx ts",props:[qs.add(i=>i.isTop?[Dp]:void 0)]},"typescript"),Yp=i=>({label:i,type:"keyword"}),Ip="break case const continue default delete export extends false finally in instanceof let new return static super switch this throw true typeof var yield".split(" ").map(Yp),d1=Ip.concat(["declare","implements","private","protected","public"].map(Yp));function so(i={}){let e=i.jsx?i.typescript?Rc:_c:i.typescript?Xc:wt,t=i.typescript?h1.concat(d1):Mp.concat(Ip);return new me(e,[wt.data.of({autocomplete:Bs(Vp,Is(t))}),wt.data.of({autocomplete:O1}),i.jsx?g1:[]])}function p1(i){for(;;){if(i.name=="JSXOpenTag"||i.name=="JSXSelfClosingTag"||i.name=="JSXFragmentTag")return i;if(i.name=="JSXEscape"||!i.parent)return null;i=i.parent}}function Lp(i,e,t=i.length){for(let n=e?.firstChild;n;n=n.nextSibling)if(n.name=="JSXIdentifier"||n.name=="JSXBuiltin"||n.name=="JSXNamespacedName"||n.name=="JSXMemberExpression")return i.sliceString(n.from,Math.min(n.to,t));return""}var m1=typeof navigator=="object"&&/Android\b/.test(navigator.userAgent),g1=z.inputHandler.of((i,e,t,n,r)=>{if((m1?i.composing:i.compositionStarted)||i.state.readOnly||e!=t||n!=">"&&n!="/"||!wt.isActiveAt(i.state,e,-1))return!1;let s=r(),{state:o}=s,a=o.changeByRange(l=>{var c;let{head:h}=l,f=U(o).resolveInner(h-1,-1),u;if(f.name=="JSXStartTag"&&(f=f.parent),!(o.doc.sliceString(h-1,h)!=n||f.name=="JSXAttributeValue"&&f.to>h)){if(n==">"&&f.name=="JSXFragmentTag")return{range:l,changes:{from:h,insert:""}};if(n=="/"&&f.name=="JSXStartCloseTag"){let O=f.parent,p=O.parent;if(p&&O.from==h-2&&((u=Lp(o.doc,p.firstChild,h))||((c=p.firstChild)===null||c===void 0?void 0:c.name)=="JSXFragmentTag")){let m=`${u}>`;return{range:P.cursor(h+m.length,-1),changes:{from:h,insert:m}}}}else if(n==">"){let O=p1(f);if(O&&O.name=="JSXOpenTag"&&!/^\/?>|^<\//.test(o.doc.sliceString(h,h+2))&&(u=Lp(o.doc,O,h)))return{range:l,changes:{from:h,insert:``}}}}return{range:l}});return a.changes.empty?!1:(i.dispatch([s,o.update(a,{userEvent:"input.complete",scrollIntoView:!0})]),!0)});var $r=["_blank","_self","_top","_parent"],Ac=["ascii","utf-8","utf-16","latin1","latin1"],Zc=["get","post","put","delete"],Ec=["application/x-www-form-urlencoded","multipart/form-data","text/plain"],Je=["true","false"],D={},Q1={a:{attrs:{href:null,ping:null,type:null,media:null,target:$r,hreflang:null}},abbr:D,address:D,area:{attrs:{alt:null,coords:null,href:null,target:null,ping:null,media:null,hreflang:null,type:null,shape:["default","rect","circle","poly"]}},article:D,aside:D,audio:{attrs:{src:null,mediagroup:null,crossorigin:["anonymous","use-credentials"],preload:["none","metadata","auto"],autoplay:["autoplay"],loop:["loop"],controls:["controls"]}},b:D,base:{attrs:{href:null,target:$r}},bdi:D,bdo:D,blockquote:{attrs:{cite:null}},body:D,br:D,button:{attrs:{form:null,formaction:null,name:null,value:null,autofocus:["autofocus"],disabled:["autofocus"],formenctype:Ec,formmethod:Zc,formnovalidate:["novalidate"],formtarget:$r,type:["submit","reset","button"]}},canvas:{attrs:{width:null,height:null}},caption:D,center:D,cite:D,code:D,col:{attrs:{span:null}},colgroup:{attrs:{span:null}},command:{attrs:{type:["command","checkbox","radio"],label:null,icon:null,radiogroup:null,command:null,title:null,disabled:["disabled"],checked:["checked"]}},data:{attrs:{value:null}},datagrid:{attrs:{disabled:["disabled"],multiple:["multiple"]}},datalist:{attrs:{data:null}},dd:D,del:{attrs:{cite:null,datetime:null}},details:{attrs:{open:["open"]}},dfn:D,div:D,dl:D,dt:D,em:D,embed:{attrs:{src:null,type:null,width:null,height:null}},eventsource:{attrs:{src:null}},fieldset:{attrs:{disabled:["disabled"],form:null,name:null}},figcaption:D,figure:D,footer:D,form:{attrs:{action:null,name:null,"accept-charset":Ac,autocomplete:["on","off"],enctype:Ec,method:Zc,novalidate:["novalidate"],target:$r}},h1:D,h2:D,h3:D,h4:D,h5:D,h6:D,head:{children:["title","base","link","style","meta","script","noscript","command"]},header:D,hgroup:D,hr:D,html:{attrs:{manifest:null}},i:D,iframe:{attrs:{src:null,srcdoc:null,name:null,width:null,height:null,sandbox:["allow-top-navigation","allow-same-origin","allow-forms","allow-scripts"],seamless:["seamless"]}},img:{attrs:{alt:null,src:null,ismap:null,usemap:null,width:null,height:null,crossorigin:["anonymous","use-credentials"]}},input:{attrs:{alt:null,dirname:null,form:null,formaction:null,height:null,list:null,max:null,maxlength:null,min:null,name:null,pattern:null,placeholder:null,size:null,src:null,step:null,value:null,width:null,accept:["audio/*","video/*","image/*"],autocomplete:["on","off"],autofocus:["autofocus"],checked:["checked"],disabled:["disabled"],formenctype:Ec,formmethod:Zc,formnovalidate:["novalidate"],formtarget:$r,multiple:["multiple"],readonly:["readonly"],required:["required"],type:["hidden","text","search","tel","url","email","password","datetime","date","month","week","time","datetime-local","number","range","color","checkbox","radio","file","submit","image","reset","button"]}},ins:{attrs:{cite:null,datetime:null}},kbd:D,keygen:{attrs:{challenge:null,form:null,name:null,autofocus:["autofocus"],disabled:["disabled"],keytype:["RSA"]}},label:{attrs:{for:null,form:null}},legend:D,li:{attrs:{value:null}},link:{attrs:{href:null,type:null,hreflang:null,media:null,sizes:["all","16x16","16x16 32x32","16x16 32x32 64x64"]}},map:{attrs:{name:null}},mark:D,menu:{attrs:{label:null,type:["list","context","toolbar"]}},meta:{attrs:{content:null,charset:Ac,name:["viewport","application-name","author","description","generator","keywords"],"http-equiv":["content-language","content-type","default-style","refresh"]}},meter:{attrs:{value:null,min:null,low:null,high:null,max:null,optimum:null}},nav:D,noscript:D,object:{attrs:{data:null,type:null,name:null,usemap:null,form:null,width:null,height:null,typemustmatch:["typemustmatch"]}},ol:{attrs:{reversed:["reversed"],start:null,type:["1","a","A","i","I"]},children:["li","script","template","ul","ol"]},optgroup:{attrs:{disabled:["disabled"],label:null}},option:{attrs:{disabled:["disabled"],label:null,selected:["selected"],value:null}},output:{attrs:{for:null,form:null,name:null}},p:D,param:{attrs:{name:null,value:null}},pre:D,progress:{attrs:{value:null,max:null}},q:{attrs:{cite:null}},rp:D,rt:D,ruby:D,samp:D,script:{attrs:{type:["text/javascript"],src:null,async:["async"],defer:["defer"],charset:Ac}},section:D,select:{attrs:{form:null,name:null,size:null,autofocus:["autofocus"],disabled:["disabled"],multiple:["multiple"]}},slot:{attrs:{name:null}},small:D,source:{attrs:{src:null,type:null,media:null}},span:D,strong:D,style:{attrs:{type:["text/css"],media:null,scoped:null}},sub:D,summary:D,sup:D,table:D,tbody:D,td:{attrs:{colspan:null,rowspan:null,headers:null}},template:D,textarea:{attrs:{dirname:null,form:null,maxlength:null,name:null,placeholder:null,rows:null,cols:null,autofocus:["autofocus"],disabled:["disabled"],readonly:["readonly"],required:["required"],wrap:["soft","hard"]}},tfoot:D,th:{attrs:{colspan:null,rowspan:null,headers:null,scope:["row","col","rowgroup","colgroup"]}},thead:D,time:{attrs:{datetime:null}},title:D,tr:D,track:{attrs:{src:null,label:null,default:null,kind:["subtitles","captions","descriptions","chapters","metadata"],srclang:null}},ul:{children:["li","script","template","ul","ol"]},var:D,video:{attrs:{src:null,poster:null,width:null,height:null,crossorigin:["anonymous","use-credentials"],preload:["auto","metadata","none"],autoplay:["autoplay"],mediagroup:["movie"],muted:["muted"],controls:["controls"]}},wbr:D},Np={accesskey:null,class:null,contenteditable:Je,contextmenu:null,dir:["ltr","rtl","auto"],draggable:["true","false","auto"],dropzone:["copy","move","link","string:","file:"],hidden:["hidden"],id:null,inert:["inert"],itemid:null,itemprop:null,itemref:null,itemscope:["itemscope"],itemtype:null,lang:["ar","bn","de","en-GB","en-US","es","fr","hi","id","ja","pa","pt","ru","tr","zh"],spellcheck:Je,autocorrect:Je,autocapitalize:Je,style:null,tabindex:null,title:null,translate:["yes","no"],rel:["stylesheet","alternate","author","bookmark","help","license","next","nofollow","noreferrer","prefetch","prev","search","tag"],role:"alert application article banner button cell checkbox complementary contentinfo dialog document feed figure form grid gridcell heading img list listbox listitem main navigation region row rowgroup search switch tab table tabpanel textbox timer".split(" "),"aria-activedescendant":null,"aria-atomic":Je,"aria-autocomplete":["inline","list","both","none"],"aria-busy":Je,"aria-checked":["true","false","mixed","undefined"],"aria-controls":null,"aria-describedby":null,"aria-disabled":Je,"aria-dropeffect":null,"aria-expanded":["true","false","undefined"],"aria-flowto":null,"aria-grabbed":["true","false","undefined"],"aria-haspopup":Je,"aria-hidden":Je,"aria-invalid":["true","false","grammar","spelling"],"aria-label":null,"aria-labelledby":null,"aria-level":null,"aria-live":["off","polite","assertive"],"aria-multiline":Je,"aria-multiselectable":Je,"aria-owns":null,"aria-posinset":null,"aria-pressed":["true","false","mixed","undefined"],"aria-readonly":Je,"aria-relevant":null,"aria-required":Je,"aria-selected":["true","false","undefined"],"aria-setsize":null,"aria-sort":["ascending","descending","none","other"],"aria-valuemax":null,"aria-valuemin":null,"aria-valuenow":null,"aria-valuetext":null},Fp="beforeunload copy cut dragstart dragover dragleave dragenter dragend drag paste focus blur change click load mousedown mouseenter mouseleave mouseup keydown keyup resize scroll unload".split(" ").map(i=>"on"+i);for(let i of Fp)Np[i]=null;var Ui=class{constructor(e,t){this.tags={...Q1,...e},this.globalAttrs={...Np,...t},this.allTags=Object.keys(this.tags),this.globalAttrNames=Object.keys(this.globalAttrs)}};Ui.default=new Ui;function $n(i,e,t=i.length){if(!e)return"";let n=e.firstChild,r=n&&n.getChild("TagName");return r?i.sliceString(r.from,Math.min(r.to,t)):""}function Tn(i,e=!1){for(;i;i=i.parent)if(i.name=="Element")if(e)e=!1;else return i;return null}function Hp(i,e,t){let n=t.tags[$n(i,Tn(e))];return n?.children||t.allTags}function qc(i,e){let t=[];for(let n=Tn(e);n&&!n.type.isTop;n=Tn(n.parent)){let r=$n(i,n);if(r&&n.lastChild.name=="CloseTag")break;r&&t.indexOf(r)<0&&(e.name=="EndTag"||e.from>=n.firstChild.to)&&t.push(r)}return t}var Kp=/^[:\-\.\w\u00b7-\uffff]*$/;function Bp(i,e,t,n,r){let s=/\s*>/.test(i.sliceDoc(r,r+5))?"":">",o=Tn(t,t.name=="StartTag"||t.name=="TagName");return{from:n,to:r,options:Hp(i.doc,o,e).map(a=>({label:a,type:"type"})).concat(qc(i.doc,t).map((a,l)=>({label:"/"+a,apply:"/"+a+s,type:"type",boost:99-l}))),validFor:/^\/?[:\-\.\w\u00b7-\uffff]*$/}}function Up(i,e,t,n){let r=/\s*>/.test(i.sliceDoc(n,n+5))?"":">";return{from:t,to:n,options:qc(i.doc,e).map((s,o)=>({label:s,apply:s+r,type:"type",boost:99-o})),validFor:Kp}}function b1(i,e,t,n){let r=[],s=0;for(let o of Hp(i.doc,t,e))r.push({label:"<"+o,type:"type"});for(let o of qc(i.doc,t))r.push({label:"",type:"type",boost:99-s++});return{from:n,to:n,options:r,validFor:/^<\/?[:\-\.\w\u00b7-\uffff]*$/}}function S1(i,e,t,n,r){let s=Tn(t),o=s?e.tags[$n(i.doc,s)]:null,a=o&&o.attrs?Object.keys(o.attrs):[],l=o&&o.globalAttrs===!1?a:a.length?a.concat(e.globalAttrNames):e.globalAttrNames;return{from:n,to:r,options:l.map(c=>({label:c,type:"property"})),validFor:Kp}}function y1(i,e,t,n,r){var s;let o=(s=t.parent)===null||s===void 0?void 0:s.getChild("AttributeName"),a=[],l;if(o){let c=i.sliceDoc(o.from,o.to),h=e.globalAttrs[c];if(!h){let f=Tn(t),u=f?e.tags[$n(i.doc,f)]:null;h=u?.attrs&&u.attrs[c]}if(h){let f=i.sliceDoc(n,r).toLowerCase(),u='"',O='"';/^['"]/.test(f)?(l=f[0]=='"'?/^[^"]*$/:/^[^']*$/,u="",O=i.sliceDoc(r,r+1)==f[0]?"":f[0],f=f.slice(1),n++):l=/^[^\s<>='"]*$/;for(let p of h)a.push({label:p,apply:u+p+O,type:"constant"})}}return{from:n,to:r,options:a,validFor:l}}function Jp(i,e){let{state:t,pos:n}=e,r=U(t).resolveInner(n,-1),s=r.resolve(n);for(let o=n,a;s==r&&(a=r.childBefore(o));){let l=a.lastChild;if(!l||!l.type.isError||l.fromJp(n,r)}var x1=wt.parser.configure({top:"SingleExpression"}),tm=[{tag:"script",attrs:i=>i.type=="text/typescript"||i.lang=="ts",parser:Xc.parser},{tag:"script",attrs:i=>i.type=="text/babel"||i.type=="text/jsx",parser:_c.parser},{tag:"script",attrs:i=>i.type=="text/typescript-jsx",parser:Rc.parser},{tag:"script",attrs(i){return/^(importmap|speculationrules|application\/(.+\+)?json)$/i.test(i.type)},parser:x1},{tag:"script",attrs(i){return!i.type||/^(?:text|application)\/(?:x-)?(?:java|ecma)script$|^module$|^$/i.test(i.type)},parser:wt.parser},{tag:"style",attrs(i){return(!i.lang||i.lang=="css")&&(!i.type||/^(text\/)?(x-)?(stylesheet|css)$/i.test(i.type))},parser:Pr.parser}],im=[{name:"style",parser:Pr.parser.configure({top:"Styles"})}].concat(Fp.map(i=>({name:i,parser:wt.parser}))),nm=$e.define({name:"html",parser:Sp.configure({props:[we.add({Element(i){let e=/^(\s*)(<\/)?/.exec(i.textAfter);return i.node.to<=i.pos+e[0].length?i.continue():i.lineIndent(i.node.from)+(e[2]?0:i.unit)},"OpenTag CloseTag SelfClosingTag"(i){return i.column(i.node.from)+i.unit},Document(i){if(i.pos+/\s*/.exec(i.textAfter)[0].lengthi.getChild("TagName")})]}),languageData:{commentTokens:{block:{open:""}},indentOnInput:/^\s*<\/\w+\W$/,wordChars:"-_"}}),oo=nm.configure({wrap:xc(tm,im)});function ao(i={}){let e="",t;i.matchClosingTags===!1&&(e="noMatch"),i.selfClosingTags===!0&&(e=(e?e+" ":"")+"selfClosing"),(i.nestedLanguages&&i.nestedLanguages.length||i.nestedAttributes&&i.nestedAttributes.length)&&(t=xc((i.nestedLanguages||[]).concat(tm),(i.nestedAttributes||[]).concat(im)));let n=t?nm.configure({wrap:t,dialect:e}):e?oo.configure({dialect:e}):oo;return new me(n,[oo.data.of({autocomplete:k1(i)}),i.autoCloseTags!==!1?w1:[],so().support,ro().support])}var Gp=new Set("area base br col command embed frame hr img input keygen link meta param source track wbr menuitem".split(" ")),w1=z.inputHandler.of((i,e,t,n,r)=>{if(i.composing||i.state.readOnly||e!=t||n!=">"&&n!="/"||!oo.isActiveAt(i.state,e,-1))return!1;let s=r(),{state:o}=s,a=o.changeByRange(l=>{var c,h,f;let u=o.doc.sliceString(l.from-1,l.to)==n,{head:O}=l,p=U(o).resolveInner(O,-1),m;if(u&&n==">"&&p.name=="EndTag"){let b=p.parent;if(((h=(c=b.parent)===null||c===void 0?void 0:c.lastChild)===null||h===void 0?void 0:h.name)!="CloseTag"&&(m=$n(o.doc,b.parent,O))&&!Gp.has(m)){let g=O+(o.doc.sliceString(O,O+1)===">"?1:0),Q=``;return{range:l,changes:{from:O,to:g,insert:Q}}}}else if(u&&n=="/"&&p.name=="IncompleteCloseTag"){let b=p.parent;if(p.from==O-2&&((f=b.lastChild)===null||f===void 0?void 0:f.name)!="CloseTag"&&(m=$n(o.doc,b,O))&&!Gp.has(m)){let g=O+(o.doc.sliceString(O,O+1)===">"?1:0),Q=`${m}>`;return{range:P.cursor(O+Q.length,-1),changes:{from:O,to:g,insert:Q}}}}return{range:l}});return a.changes.empty?!1:(i.dispatch([s,o.update(a,{userEvent:"input.complete",scrollIntoView:!0})]),!0)});var om=kn({commentTokens:{block:{open:""}}}),am=new I,lm=Yd.configure({props:[Te.add(i=>!i.is("Block")||i.is("Document")||Mc(i)!=null||P1(i)?void 0:(e,t)=>({from:t.doc.lineAt(e.from).to,to:e.to})),am.add(Mc),we.add({Document:()=>null}),bt.add({Document:om})]});function Mc(i){let e=/^(?:ATX|Setext)Heading(\d)$/.exec(i.name);return e?+e[1]:void 0}function P1(i){return i.name=="OrderedList"||i.name=="BulletList"}function v1(i,e){let t=i;for(;;){let n=t.nextSibling,r;if(!n||(r=Mc(n.type))!=null&&r<=e)break;t=n}return t.to}var $1=lO.of((i,e,t)=>{for(let n=U(i).resolveInner(t,-1);n&&!(n.fromt)return{from:t,to:s}}return null});function Wc(i){return new xe(om,i,[],"markdown")}var T1=Wc(lm),C1=lm.configure([Ud,Fd,Nd,Hd,{props:[Te.add({Table:(i,e)=>({from:e.doc.lineAt(i.from).to,to:i.to})})]}]),ki=Wc(C1);function X1(i,e){return t=>{if(t&&i){let n=null;if(t=/\S*/.exec(t)[0],typeof i=="function"?n=i(t):n=Ie.matchLanguageName(i,t,!0),n instanceof Ie)return n.support?n.support.language.parser:Wi.getSkippingParser(n.load());if(n)return n.parser}return e?e.parser:null}}var Tr=class{constructor(e,t,n,r,s,o,a){this.node=e,this.from=t,this.to=n,this.spaceBefore=r,this.spaceAfter=s,this.type=o,this.item=a}blank(e,t=!0){let n=this.spaceBefore+(this.node.name=="Blockquote"?">":"");if(e!=null){for(;n.length0;r--)n+=" ";return n+(t?this.spaceAfter:"")}}marker(e,t){let n=this.node.name=="OrderedList"?String(+hm(this.item,e)[2]+t):"";return this.spaceBefore+n+this.type+this.spaceAfter}};function cm(i,e){let t=[],n=[];for(let r=i;r;r=r.parent){if(r.name=="FencedCode")return n;(r.name=="ListItem"||r.name=="Blockquote")&&t.push(r)}for(let r=t.length-1;r>=0;r--){let s=t[r],o,a=e.lineAt(s.from),l=s.from-a.from;if(s.name=="Blockquote"&&(o=/^ *>( ?)/.exec(a.text.slice(l))))n.push(new Tr(s,l,l+o[0].length,"",o[1],">",null));else if(s.name=="ListItem"&&s.parent.name=="OrderedList"&&(o=/^( *)\d+([.)])( *)/.exec(a.text.slice(l)))){let c=o[3],h=o[0].length;c.length>=4&&(c=c.slice(0,c.length-4),h-=4),n.push(new Tr(s.parent,l,l+h,o[1],c,o[2],s))}else if(s.name=="ListItem"&&s.parent.name=="BulletList"&&(o=/^( *)([-+*])( {1,4}\[[ xX]\])?( +)/.exec(a.text.slice(l)))){let c=o[4],h=o[0].length;c.length>4&&(c=c.slice(0,c.length-4),h-=4);let f=o[2];o[3]&&(f+=o[3].replace(/[xX]/," ")),n.push(new Tr(s.parent,l,l+h,o[1],c,f,s))}}return n}function hm(i,e){return/^(\s*)(\d+)(?=[.)])/.exec(e.sliceString(i.from,i.from+10))}function zc(i,e,t,n=0){for(let r=-1,s=i;;){if(s.name=="ListItem"){let a=hm(s,e),l=+a[2];if(r>=0){if(l!=r+1)return;t.push({from:s.from+a[1].length,to:s.from+a[0].length,insert:String(r+2+n)})}r=l}let o=s.nextSibling;if(!o)break;s=o}}function jc(i,e){let t=/^[ \t]*/.exec(i)[0].length;if(!t||e.facet(Rt)!=" ")return i;let n=Ne(i,4,t),r="";for(let s=n;s>0;)s>=4?(r+=" ",s-=4):(r+=" ",s--);return r+i.slice(t)}var Vc=(i={})=>({state:e,dispatch:t})=>{let n=U(e),{doc:r}=e,s=null,o=e.changeByRange(a=>{if(!a.empty||!ki.isActiveAt(e,a.from,-1)&&!ki.isActiveAt(e,a.from,1))return s={range:a};let l=a.from,c=r.lineAt(l),h=cm(n.resolveInner(l,-1),r);for(;h.length&&h[h.length-1].from>l-c.from;)h.pop();if(!h.length)return s={range:a};let f=h[h.length-1];if(f.to-f.spaceAfter.length>l-c.from)return s={range:a};let u=l>=f.to-f.spaceAfter.length&&!/\S/.test(c.text.slice(f.to));if(f.item&&u){let g=f.node.firstChild,Q=f.node.getChild("ListItem","ListItem");if(g.to>=l||Q&&Q.to0&&!/[^\s>]/.test(r.lineAt(c.from-1).text)||i.nonTightLists===!1){let S=h.length>1?h[h.length-2]:null,x,v="";S&&S.item?(x=c.from+S.from,v=S.marker(r,1)):x=c.from+(S?S.to:0);let $=[{from:x,to:l,insert:v}];return f.node.name=="OrderedList"&&zc(f.item,r,$,-2),S&&S.node.name=="OrderedList"&&zc(S.item,r,$),{range:P.cursor(x+v.length),changes:$}}else{let S=sm(h,e,c);return{range:P.cursor(l+S.length+1),changes:{from:c.from,insert:S+e.lineBreak}}}}if(f.node.name=="Blockquote"&&u&&c.from){let g=r.lineAt(c.from-1),Q=/>\s*$/.exec(g.text);if(Q&&Q.index==f.from){let S=e.changes([{from:g.from+Q.index,to:g.to},{from:c.from+f.from,to:c.to}]);return{range:a.map(S),changes:S}}}let O=[];f.node.name=="OrderedList"&&zc(f.item,r,O);let p=f.item&&f.item.from]*/.exec(c.text)[0].length>=f.to)for(let g=0,Q=h.length-1;g<=Q;g++)m+=g==Q&&!p?h[g].marker(r,1):h[g].blank(gc.from&&/\s/.test(c.text.charAt(b-c.from-1));)b--;return m=jc(m,e),R1(f.node,e.doc)&&(m=sm(h,e,c)+e.lineBreak+m),O.push({from:b,to:l,insert:e.lineBreak+m}),{range:P.cursor(b+m.length+1),changes:O}});return s?!1:(t(e.update(o,{scrollIntoView:!0,userEvent:"input"})),!0)},_1=Vc();function rm(i){return i.name=="QuoteMark"||i.name=="ListMark"}function R1(i,e){if(i.name!="OrderedList"&&i.name!="BulletList")return!1;let t=i.firstChild,n=i.getChild("ListItem","ListItem");if(!n)return!1;let r=e.lineAt(t.to),s=e.lineAt(n.from),o=/^[\s>]*$/.test(r.text);return r.number+(o?0:1){let t=U(i),n=null,r=i.changeByRange(s=>{let o=s.from,{doc:a}=i;if(s.empty&&ki.isActiveAt(i,s.from)){let l=a.lineAt(o),c=cm(A1(t,o),a);if(c.length){let h=c[c.length-1],f=h.to-h.spaceAfter.length+(h.spaceAfter?1:0);if(o-l.from>f&&!/\S/.test(l.text.slice(f,o-l.from)))return{range:P.cursor(l.from+f),changes:{from:l.from+f,to:o}};if(o-l.from==f&&(!h.item||l.from<=h.item.from||!/\S/.test(l.text.slice(0,h.to)))){let u=l.from+h.from;if(h.item&&h.node.from{var t;let{main:n}=e.state.selection;if(n.empty)return!1;let r=(t=i.clipboardData)===null||t===void 0?void 0:t.getData("text/plain");if(!r||!/^(https?:\/\/|mailto:|xmpp:|www\.)/.test(r)||(/^www\./.test(r)&&(r="https://"+r),!ki.isActiveAt(e.state,n.from,1)))return!1;let s=U(e.state),o=!1;return s.iterate({from:n.from,to:n.to,enter:a=>{(a.from>n.from||z1.test(a.name))&&(o=!0)},leave:a=>{a.to{if(i.next==-1&&e.canShift(um))return i.acceptToken(um);let t=i.peek(-1);if((Ft(t)||t<0)&&e.context.type!=Xr){if(Xn(i,45))if(e.canShift(Cn))i.acceptToken(Cn);else return i.acceptToken(M1,3);if(Xn(i,46))if(e.canShift(Cn))i.acceptToken(Cn);else return i.acceptToken(W1,3);let n=0;for(;i.next==32;)n++,i.advance();(n{if(e.context.type==Xr){i.next==63&&(i.advance(),Gi(i.next)&&i.acceptToken(D1));return}if(i.next==45)i.advance(),Gi(i.next)&&i.acceptToken(e.context.type==Fc&&e.context.depth==Cr(i,i.pos-1)?j1:pm);else if(i.next==63)i.advance(),Gi(i.next)&&i.acceptToken(e.context.type==Bc&&e.context.depth==Cr(i,i.pos-1)?V1:mm);else{let t=i.pos;for(;;)if(Gc(i.next)){if(i.pos==t)return;i.advance()}else if(i.next==33)Sm(i);else if(i.next==38)Nc(i);else if(i.next==42){Nc(i);break}else if(i.next==39||i.next==34){if(Hc(i,!0))break;return}else if(i.next==91||i.next==123){if(!ax(i))return;break}else{ym(i,!0,!1,0);break}for(;Gc(i.next);)i.advance();if(i.next==58){if(i.pos==t&&e.canShift(K1))return;let n=i.peek(1);Gi(n)&&i.acceptTokenTo(e.context.type==Bc&&e.context.depth==Cr(i,t)?Y1:gm,t)}}},{contextual:!0});function ox(i){return i>32&&i<127&&i!=34&&i!=37&&i!=44&&i!=60&&i!=62&&i!=92&&i!=94&&i!=96&&i!=123&&i!=124&&i!=125}function Om(i){return i>=48&&i<=57||i>=97&&i<=102||i>=65&&i<=70}function dm(i,e){return i.next==37?(i.advance(),Om(i.next)&&i.advance(),Om(i.next)&&i.advance(),!0):ox(i.next)||e&&i.next==44?(i.advance(),!0):!1}function Sm(i){if(i.advance(),i.next==60){for(i.advance();;)if(!dm(i,!0)){i.next==62&&i.advance();break}}else for(;dm(i,!1););}function Nc(i){for(i.advance();!Gi(i.next)&&lo(i.next)!="f";)i.advance()}function Hc(i,e){let t=i.next,n=!1,r=i.pos;for(i.advance();;){let s=i.next;if(s<0)break;if(i.advance(),s==t)if(s==39)if(i.next==39)i.advance();else break;else break;else if(s==92&&t==34)i.next>=0&&i.advance();else if(Ft(s)){if(e)return!1;n=!0}else if(e&&i.pos>=r+1024)return!1}return!n}function ax(i){for(let e=[],t=i.pos+1024;;)if(i.next==91||i.next==123)e.push(i.next),i.advance();else if(i.next==39||i.next==34){if(!Hc(i,!0))return!1}else if(i.next==93||i.next==125){if(e[e.length-1]!=i.next-2)return!1;if(e.pop(),i.advance(),!e.length)return!0}else{if(i.next<0||i.pos>t||Ft(i.next))return!1;i.advance()}}var lx="iiisiiissisfissssssssssssisssiiissssssssssssssssssssssssssfsfssissssssssssssssssssssssssssfif";function lo(i){return i<33?"u":i>125?"s":lx[i-33]}function Ic(i,e){let t=lo(i);return t!="u"&&!(e&&t=="f")}function ym(i,e,t,n){if(lo(i.next)=="s"||(i.next==63||i.next==58||i.next==45)&&Ic(i.peek(1),t))i.advance();else return!1;let r=i.pos;for(;;){let s=i.next,o=0,a=n+1;for(;bm(s);){if(Ft(s)){if(e)return!1;a=0}else a++;s=i.peek(++o)}if(!(s>=0&&(s==58?Ic(i.peek(o+1),t):s==35?i.peek(o-1)!=32:Ic(s,t)))||!t&&a<=n||a==0&&!t&&(Xn(i,45,o)||Xn(i,46,o)))break;if(e&&lo(s)=="f")return!1;for(let c=o;c>=0;c--)i.advance();if(e&&i.pos>r+1024)return!1}return!0}var cx=new J((i,e)=>{if(i.next==33)Sm(i),i.acceptToken(N1);else if(i.next==38||i.next==42){let t=i.next==38?U1:G1;Nc(i),i.acceptToken(t)}else i.next==39||i.next==34?(Hc(i,!1),i.acceptToken(B1)):ym(i,!1,e.context.type==Xr,e.context.depth)&&i.acceptToken(I1)}),hx=new J((i,e)=>{let t=e.context.type==Uc?e.context.depth:-1,n=i.pos;e:for(;;){let r=0,s=i.next;for(;s==32;)s=i.peek(++r);if(!r&&(Xn(i,45,r)||Xn(i,46,r))||!Ft(s)&&(t<0&&(t=Math.max(e.context.depth+1,r)),rYAN>Y",stateData:";S~O!fOS!gOS^OS~OP_OQbORSOTUOWROXROYYOZZO[XOcPOqQO!PVO!V[O!cTO~O`cO~P]OVkOWROXROYeOZfO[dOcPOmhOqQO~OboO~P!bOVtOWROXROYeOZfO[dOcPOmrOqQO~OpwO~P#WORSOTUOWROXROYYOZZO[XOcPOqQO!PVO!cTO~OSvP!avP!bvP~P#|OWROXROYeOZfO[dOcPOqQO~OmzO~P%OOm!OOUzP!azP!bzP!dzP~P#|O^!SO!b!QO!f!TO!g!RO~ORSOTUOWROXROcPOqQO!PVO!cTO~OY!UOP!QXQ!QX!V!QX!`!QXS!QX!a!QX!b!QXU!QXm!QX!d!QX~P&aO[!WOP!SXQ!SX!V!SX!`!SXS!SX!a!SX!b!SXU!SXm!SX!d!SX~P&aO^!ZO!W![O!b!YO!f!]O!g!YO~OP!_O!V[OQaX!`aX~OPaXQaX!VaX!`aX~P#|OP!bOQ!cO!V[O~OP_O!V[O~P#|OWROXROY!fOcPOqQObfXmfXofXpfX~OWROXRO[!hOcPOqQObhXmhXohXphX~ObeXmlXoeX~ObkXokX~P%OOm!kO~Om!lObnPonP~P%OOb!pOo!oO~Ob!pO~P!bOm!sOosXpsX~OosXpsX~P%OOm!uOotPptP~P%OOo!xOp!yO~Op!yO~P#WOS!|O!a#OO!b#OO~OUyX!ayX!byX!dyX~P#|Om#QO~OU#SO!a#UO!b#UO!d#RO~Om#WOUzX!azX!bzX!dzX~O]#XO~O!b#XO!g#YO~O^#ZO!b#XO!g#YO~OP!RXQ!RX!V!RX!`!RXS!RX!a!RX!b!RXU!RXm!RX!d!RX~P&aOP!TXQ!TX!V!TX!`!TXS!TX!a!TX!b!TXU!TXm!TX!d!TX~P&aO!b#^O!g#^O~O^#_O!b#^O!f#`O!g#^O~O^#_O!W#aO!b#^O!g#^O~OPaaQaa!Vaa!`aa~P#|OP#cO!V[OQ!XX!`!XX~OP!XXQ!XX!V!XX!`!XX~P#|OP_O!V[OQ!_X!`!_X~P#|OWROXROcPOqQObgXmgXogXpgX~OWROXROcPOqQObiXmiXoiXpiX~Obkaoka~P%OObnXonX~P%OOm#kO~Ob#lOo!oO~Oosapsa~P%OOotXptX~P%OOm#pO~Oo!xOp#qO~OSwP!awP!bwP~P#|OS!|O!a#vO!b#vO~OUya!aya!bya!dya~P#|Om#xO~P%OOm#{OU}P!a}P!b}P!d}P~P#|OU#SO!a$OO!b$OO!d#RO~O]$QO~O!b$QO!g$RO~O!b$SO!g$SO~O^$TO!b$SO!g$SO~O^$TO!b$SO!f$UO!g$SO~OP!XaQ!Xa!V!Xa!`!Xa~P#|Obnaona~P%OOotapta~P%OOo!xO~OU|X!a|X!b|X!d|X~P#|Om$ZO~Om$]OU}X!a}X!b}X!d}X~O]$^O~O!b$_O!g$_O~O^$`O!b$_O!g$_O~OU|a!a|a!b|a!d|a~P#|O!b$cO!g$cO~O",goto:",]!mPPPPPPPPPPPPPPPPP!nPP!v#v#|$`#|$c$f$j$nP%VPPP!v%Y%^%a%{&O%a&R&U&X&_&b%aP&e&{&e'O'RPP']'a'g'm's'y(XPPPPPPPP(_)e*X+c,VUaObcR#e!c!{ROPQSTUXY_bcdehknrtvz!O!U!W!_!b!c!f!h!k!l!s!u!|#Q#R#S#W#c#k#p#x#{$Z$]QmPR!qnqfPQThknrtv!k!l!s!u#R#k#pR!gdR!ieTlPnTjPnSiPnSqQvQ{TQ!mkQ!trQ!vtR#y#RR!nkTsQvR!wt!RWOSUXY_bcz!O!U!W!_!b!c!|#Q#S#W#c#x#{$Z$]RySR#t!|R|TR|UQ!PUR#|#SR#z#RR#z#SyZOSU_bcz!O!_!b!c!|#Q#S#W#c#x#{$Z$]R!VXR!XYa]O^abc!a!c!eT!da!eQnPR!rnQvQR!{vQ!}yR#u!}Q#T|R#}#TW^Obc!cS!^^!aT!aa!eQ!eaR#f!eW`Obc!cQxSS}U#SQ!`_Q#PzQ#V!OQ#b!_Q#d!bQ#s!|Q#w#QQ$P#WQ$V#cQ$Y#xQ$[#{Q$a$ZR$b$]xZOSU_bcz!O!_!b!c!|#Q#S#W#c#x#{$Z$]Q!VXQ!XYQ#[!UR#]!W!QWOSUXY_bcz!O!U!W!_!b!c!|#Q#S#W#c#x#{$Z$]pfPQThknrtv!k!l!s!u#R#k#pQ!gdQ!ieQ#g!fR#h!hSgPn^pQTkrtv#RQ!jhQ#i!kQ#j!lQ#n!sQ#o!uQ$W#kR$X#pQuQR!zv",nodeNames:"\u26A0 DirectiveEnd DocEnd - - ? ? ? Literal QuotedLiteral Anchor Alias Tag BlockLiteralContent Comment Stream BOM Document ] [ FlowSequence Item Tagged Anchored Anchored Tagged FlowMapping Pair Key : Pair , } { FlowMapping Pair Pair BlockSequence Item Item BlockMapping Pair Pair Key Pair Pair BlockLiteral BlockLiteralHeader Tagged Anchored Anchored Tagged Directive DirectiveName DirectiveContent Document",maxTerm:74,context:nx,nodeProps:[["isolate",-3,8,9,14,""],["openedBy",18,"[",32,"{"],["closedBy",19,"]",33,"}"]],propSources:[fx],skippedNodes:[0],repeatNodeCount:6,tokenData:"-Y~RnOX#PXY$QYZ$]Z]#P]^$]^p#Ppq$Qqs#Pst$btu#Puv$yv|#P|}&e}![#P![!]'O!]!`#P!`!a'i!a!}#P!}#O*g#O#P#P#P#Q+Q#Q#o#P#o#p+k#p#q'i#q#r,U#r;'S#P;'S;=`#z<%l?HT#P?HT?HU,o?HUO#PQ#UU!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PQ#kTOY#PZs#Pt;'S#P;'S;=`#z<%lO#PQ#}P;=`<%l#P~$VQ!f~XY$Qpq$Q~$bO!g~~$gS^~OY$bZ;'S$b;'S;=`$s<%lO$b~$vP;=`<%l$bR%OX!WQOX%kXY#PZ]%k]^#P^p%kpq#hq;'S%k;'S;=`&_<%lO%kR%rX!WQ!VPOX%kXY#PZ]%k]^#P^p%kpq#hq;'S%k;'S;=`&_<%lO%kR&bP;=`<%l%kR&lUoP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR'VUmP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR'p[!PP!WQOY#PZp#Ppq#hq{#P{|(f|}#P}!O(f!O!R#P!R![)p![;'S#P;'S;=`#z<%lO#PR(mW!PP!WQOY#PZp#Ppq#hq!R#P!R![)V![;'S#P;'S;=`#z<%lO#PR)^U!PP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR)wY!PP!WQOY#PZp#Ppq#hq{#P{|)V|}#P}!O)V!O;'S#P;'S;=`#z<%lO#PR*nUcP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR+XUbP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR+rUqP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR,]UpP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR,vU`P!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#P",tokenizers:[rx,sx,cx,hx,0,1],topRules:{Stream:[0,15]},tokenPrec:0});var ux=Pe.deserialize({version:14,states:"!vOQOPOOO]OPO'#C_OhOPO'#C^OOOO'#Cc'#CcOpOPO'#CaQOOOOOO{OPOOOOOO'#Cb'#CbO!WOPO'#C`O!`OPO,58xOOOO-E6a-E6aOOOO-E6`-E6`OOOO'#C_'#C_OOOO1G.d1G.d",stateData:"!h~OXPOYROWTP~OWVXXRXYRX~OYVOXSP~OXROYROWTX~OXROYROWTP~OYVOXSX~OX[O~OXY~",goto:"vWPPX[beioRUOQQOR]XRXQTTOUQWQRZWSSOURYS",nodeNames:"\u26A0 Document Frontmatter DashLine FrontmatterContent Body",maxTerm:10,skippedNodes:[0],repeatNodeCount:2,tokenData:"$z~RXOYnYZ!^Z]n]^!^^}n}!O!i!O;'Sn;'S;=`!c<%lOn~qXOYnYZ!^Z]n]^!^^;'Sn;'S;=`!c<%l~n~On~~!^~!cOY~~!fP;=`<%ln~!lZOYnYZ!^Z]n]^!^^}n}!O#_!O;'Sn;'S;=`!c<%l~n~On~~!^~#bZOYnYZ!^Z]n]^!^^}n}!O$T!O;'Sn;'S;=`!c<%l~n~On~~!^~$WXOYnYZ$sZ]n]^$s^;'Sn;'S;=`!c<%l~n~On~~$s~$zOX~Y~",tokenizers:[0],topRules:{Document:[0,1]},tokenPrec:67}),Ox=$e.define({name:"yaml",parser:km.configure({props:[we.add({Stream:i=>{for(let e=i.node.resolve(i.pos,-1);e&&e.to>=i.pos;e=e.parent){if(e.name=="BlockLiteralContent"&&e.fromi.pos)return null}}return null},FlowMapping:St({closing:"}"}),FlowSequence:St({closing:"]"})}),Te.add({"FlowMapping FlowSequence":ht,"Item Pair BlockLiteral":(i,e)=>({from:e.doc.lineAt(i.from).to,to:i.to})})]}),languageData:{commentTokens:{line:"#"},indentOnInput:/^\s*[\]\}]$/}});var dx=$e.define({name:"yaml-frontmatter",parser:ux.configure({props:[Qe({DashLine:d.meta})]})});function xm(i){let{language:e,support:t}=i.content instanceof me?i.content:{language:i.content,support:[]};return new me(dx.configure({wrap:bn(n=>n.name=="FrontmatterContent"?{parser:Ox.parser}:n.name=="Body"?{parser:e.parser}:null)}),t)}var px=1,Cm=194,Xm=195,mx=196,wm=197,gx=198,Qx=199,bx=200,Sx=2,_m=3,Pm=201,yx=24,kx=25,xx=49,wx=50,Px=55,vx=56,$x=57,Tx=59,Cx=60,Xx=61,_x=62,Rx=63,Ax=65,Zx=238,Ex=71,qx=241,zx=242,Lx=243,Mx=244,Wx=245,jx=246,Vx=247,Dx=248,Rm=72,Yx=249,Ix=250,Bx=251,Ux=252,Gx=253,Nx=254,Fx=255,Hx=256,Kx=73,Jx=77,ew=263,tw=112,iw=130,nw=151,rw=152,sw=155,Ni=10,_r=13,th=32,fo=9,ih=35,ow=40,aw=46,eh=123,vm=125,Am=39,Zm=34,$m=92,lw=111,cw=120,hw=78,fw=117,uw=85,Ow=new Set([kx,xx,wx,ew,Ax,iw,vx,$x,Zx,_x,Rx,Rm,Kx,Jx,Cx,Xx,nw,rw,sw,tw]);function Kc(i){return i==Ni||i==_r}function Jc(i){return i>=48&&i<=57||i>=65&&i<=70||i>=97&&i<=102}var dw=new J((i,e)=>{let t;if(i.next<0)i.acceptToken(Qx);else if(e.context.flags&co)Kc(i.next)&&i.acceptToken(gx,1);else if(((t=i.peek(-1))<0||Kc(t))&&e.canShift(wm)){let n=0;for(;i.next==th||i.next==fo;)i.advance(),n++;(i.next==Ni||i.next==_r||i.next==ih)&&i.acceptToken(wm,-n)}else Kc(i.next)&&i.acceptToken(mx,1)},{contextual:!0}),pw=new J((i,e)=>{let t=e.context;if(t.flags)return;let n=i.peek(-1);if(n==Ni||n==_r){let r=0,s=0;for(;;){if(i.next==th)r++;else if(i.next==fo)r+=8-r%8;else break;i.advance(),s++}r!=t.indent&&i.next!=Ni&&i.next!=_r&&i.next!=ih&&(r[i,e|Em])),Qw=new dt({start:mw,reduce(i,e,t,n){return i.flags&co&&Ow.has(e)||(e==Ex||e==Rm)&&i.flags&Em?i.parent:i},shift(i,e,t,n){return e==Cm?new ho(i,gw(n.read(n.pos,t.pos)),0):e==Xm?i.parent:e==yx||e==Px||e==Tx||e==_m?new ho(i,0,co):Tm.has(e)?new ho(i,0,Tm.get(e)|i.flags&co):i},hash(i){return i.hash}}),bw=new J(i=>{for(let e=0;e<5;e++){if(i.next!="print".charCodeAt(e))return;i.advance()}if(!/\w/.test(String.fromCharCode(i.next)))for(let e=0;;e++){let t=i.peek(e);if(!(t==th||t==fo)){t!=ow&&t!=aw&&t!=Ni&&t!=_r&&t!=ih&&i.acceptToken(px);return}}}),Sw=new J((i,e)=>{let{flags:t}=e.context,n=t&Ht?Zm:Am,r=(t&Kt)>0,s=!(t&Jt),o=(t&ei)>0,a=i.pos;for(;!(i.next<0);)if(o&&i.next==eh)if(i.peek(1)==eh)i.advance(2);else{if(i.pos==a){i.acceptToken(_m,1);return}break}else if(s&&i.next==$m){if(i.pos==a){i.advance();let l=i.next;l>=0&&(i.advance(),yw(i,l)),i.acceptToken(Sx);return}break}else if(i.next==$m&&!s&&i.peek(1)>-1)i.advance(2);else if(i.next==n&&(!r||i.peek(1)==n&&i.peek(2)==n)){if(i.pos==a){i.acceptToken(Pm,r?3:1);return}break}else if(i.next==Ni){if(r)i.advance();else if(i.pos==a){i.acceptToken(Pm);return}break}else i.advance();i.pos>a&&i.acceptToken(bx)});function yw(i,e){if(e==lw)for(let t=0;t<2&&i.next>=48&&i.next<=55;t++)i.advance();else if(e==cw)for(let t=0;t<2&&Jc(i.next);t++)i.advance();else if(e==fw)for(let t=0;t<4&&Jc(i.next);t++)i.advance();else if(e==uw)for(let t=0;t<8&&Jc(i.next);t++)i.advance();else if(e==hw&&i.next==eh){for(i.advance();i.next>=0&&i.next!=vm&&i.next!=Am&&i.next!=Zm&&i.next!=Ni;)i.advance();i.next==vm&&i.advance()}}var kw=Qe({'async "*" "**" FormatConversion FormatSpec':d.modifier,"for while if elif else try except finally return raise break continue with pass assert await yield match case":d.controlKeyword,"in not and or is del":d.operatorKeyword,"from def class global nonlocal lambda":d.definitionKeyword,import:d.moduleKeyword,"with as print":d.keyword,Boolean:d.bool,None:d.null,VariableName:d.variableName,"CallExpression/VariableName":d.function(d.variableName),"FunctionDefinition/VariableName":d.function(d.definition(d.variableName)),"ClassDefinition/VariableName":d.definition(d.className),PropertyName:d.propertyName,"CallExpression/MemberExpression/PropertyName":d.function(d.propertyName),Comment:d.lineComment,Number:d.number,String:d.string,FormatString:d.special(d.string),Escape:d.escape,UpdateOp:d.updateOperator,"ArithOp!":d.arithmeticOperator,BitOp:d.bitwiseOperator,CompareOp:d.compareOperator,AssignOp:d.definitionOperator,Ellipsis:d.punctuation,At:d.meta,"( )":d.paren,"[ ]":d.squareBracket,"{ }":d.brace,".":d.derefOperator,", ;":d.separator}),xw={__proto__:null,await:44,or:54,and:56,in:60,not:62,is:64,if:70,else:72,lambda:76,yield:94,from:96,async:102,for:104,None:162,True:164,False:164,del:178,pass:182,break:186,continue:190,return:194,raise:202,import:206,as:208,global:212,nonlocal:214,assert:218,type:223,elif:236,while:240,try:246,except:248,finally:250,with:254,def:258,class:268,match:279,case:285},qm=Pe.deserialize({version:14,states:"##jQ`QeOOP$}OSOOO&WQtO'#HUOOQS'#Co'#CoOOQS'#Cp'#CpO'vQdO'#CnO*UQtO'#HTOOQS'#HU'#HUOOQS'#DU'#DUOOQS'#HT'#HTO*rQdO'#D_O+VQdO'#DfO+gQdO'#DjO+zOWO'#DuO,VOWO'#DvO.[QtO'#GuOOQS'#Gu'#GuO'vQdO'#GtO0ZQtO'#GtOOQS'#Eb'#EbO0rQdO'#EcOOQS'#Gs'#GsO0|QdO'#GrOOQV'#Gr'#GrO1XQdO'#FYOOQS'#G^'#G^O1^QdO'#FXOOQV'#IS'#ISOOQV'#Gq'#GqOOQV'#Fq'#FqQ`QeOOO'vQdO'#CqO1lQdO'#C}O1sQdO'#DRO2RQdO'#HYO2cQtO'#EVO'vQdO'#EWOOQS'#EY'#EYOOQS'#E['#E[OOQS'#E^'#E^O2wQdO'#E`O3_QdO'#EdO3rQdO'#EfO3zQtO'#EfO1XQdO'#EiO0rQdO'#ElO1XQdO'#EnO0rQdO'#EtO0rQdO'#EwO4VQdO'#EyO4^QdO'#FOO4iQdO'#EzO0rQdO'#FOO1XQdO'#FQO1XQdO'#FVO4nQdO'#F[P4uOdO'#GpPOOO)CBd)CBdOOQS'#Ce'#CeOOQS'#Cf'#CfOOQS'#Cg'#CgOOQS'#Ch'#ChOOQS'#Ci'#CiOOQS'#Cj'#CjOOQS'#Cl'#ClO'vQdO,59OO'vQdO,59OO'vQdO,59OO'vQdO,59OO'vQdO,59OO'vQdO,59OO5TQdO'#DoOOQS,5:Y,5:YO5hQdO'#HdOOQS,5:],5:]O5uQ!fO,5:]O5zQtO,59YO1lQdO,59bO1lQdO,59bO1lQdO,59bO8jQdO,59bO8oQdO,59bO8vQdO,59jO8}QdO'#HTO:TQdO'#HSOOQS'#HS'#HSOOQS'#D['#D[O:lQdO,59aO'vQdO,59aO:zQdO,59aOOQS,59y,59yO;PQdO,5:RO'vQdO,5:ROOQS,5:Q,5:QO;_QdO,5:QO;dQdO,5:XO'vQdO,5:XO'vQdO,5:VOOQS,5:U,5:UO;uQdO,5:UO;zQdO,5:WOOOW'#Fy'#FyOOOOQS'#Ds'#DsOOQS1G/w1G/wOOQS1G.|1G.|O!/[QtO1G.|O!/cQtO1G.|O1lQdO1G.|O!0OQdO1G/UOOQS'#DZ'#DZO0rQdO,59tOOQS1G.{1G.{O!0VQdO1G/eO!0gQdO1G/eO!0oQdO1G/fO'vQdO'#H[O!0tQdO'#H[O!0yQtO1G.{O!1ZQdO,59iO!2aQdO,5=zO!2qQdO,5=zO!2yQdO1G/mO!3OQtO1G/mOOQS1G/l1G/lO!3`QdO,5=uO!4VQdO,5=uO0rQdO1G/qO!4tQdO1G/sO!4yQtO1G/sO!5ZQtO1G/qOOQS1G/p1G/pOOQS1G/r1G/rOOOW-E9w-E9wOOQS1G/{1G/{O!5kQdO'#HxO0rQdO'#HxO!5|QdO,5>cOOOW-E9x-E9xOOQS1G/|1G/|OOQS-E9{-E9{O!6[Q#xO1G2zO!6{QtO1G2zO'vQdO,5kOOQS1G1`1G1`O!8RQdO1G1`OOQS'#DV'#DVO0rQdO,5=qOOQS,5=q,5=qO!8WQdO'#FrO!8cQdO,59oO!8kQdO1G/XO!8uQtO,5=uOOQS1G3`1G3`OOQS,5:m,5:mO!9fQdO'#GtOOQS,5jO!;ZQdO,5>jO1XQdO,5>jO!;lQdO,5>iOOQS-E:R-E:RO!;qQdO1G0lO!;|QdO1G0lO!lO!lO!hO!=VQdO,5>hO!=hQdO'#EpO0rQdO1G0tO!=sQdO1G0tO!=xQgO1G0zO!AvQgO1G0}O!EqQdO,5>oO!E{QdO,5>oO!FTQtO,5>oO0rQdO1G1PO!F_QdO1G1PO4iQdO1G1UO!!vQdO1G1WOOQV,5;a,5;aO!FdQfO,5;aO!FiQgO1G1QO!JjQdO'#GZO4iQdO1G1QO4iQdO1G1QO!JzQdO,5>pO!KXQdO,5>pO1XQdO,5>pOOQV1G1U1G1UO!KaQdO'#FSO!KrQ!fO1G1WO!KzQdO1G1WOOQV1G1]1G1]O4iQdO1G1]O!LPQdO1G1]O!LXQdO'#F^OOQV1G1b1G1bO!#ZQtO1G1bPOOO1G2v1G2vP!L^OSO1G2vOOQS,5=},5=}OOQS'#Dp'#DpO0rQdO,5=}O!LfQdO,5=|O!LyQdO,5=|OOQS1G/u1G/uO!MRQdO,5>PO!McQdO,5>PO!MkQdO,5>PO!NOQdO,5>PO!N`QdO,5>POOQS1G3j1G3jOOQS7+$h7+$hO!8kQdO7+$pO#!RQdO1G.|O#!YQdO1G.|OOQS1G/`1G/`OOQS,5<`,5<`O'vQdO,5<`OOQS7+%P7+%PO#!aQdO7+%POOQS-E9r-E9rOOQS7+%Q7+%QO#!qQdO,5=vO'vQdO,5=vOOQS7+$g7+$gO#!vQdO7+%PO##OQdO7+%QO##TQdO1G3fOOQS7+%X7+%XO##eQdO1G3fO##mQdO7+%XOOQS,5<_,5<_O'vQdO,5<_O##rQdO1G3aOOQS-E9q-E9qO#$iQdO7+%]OOQS7+%_7+%_O#$wQdO1G3aO#%fQdO7+%_O#%kQdO1G3gO#%{QdO1G3gO#&TQdO7+%]O#&YQdO,5>dO#&sQdO,5>dO#&sQdO,5>dOOQS'#Dx'#DxO#'UO&jO'#DzO#'aO`O'#HyOOOW1G3}1G3}O#'fQdO1G3}O#'nQdO1G3}O#'yQ#xO7+(fO#(jQtO1G2UP#)TQdO'#GOOOQS,5nQdO,5sQdO1G4OOOQS-E9y-E9yO#?^QdO1G4OO<[QdO'#H{OOOO'#D{'#D{OOOO'#F|'#F|O#?oO&jO,5:fOOOW,5>e,5>eOOOW7+)i7+)iO#?zQdO7+)iO#@SQdO1G2zO#@mQdO1G2zP'vQdO'#FuO0rQdO<mO#BQQdO,5>mOOQS1G0v1G0vOOQS<rO#KgQdO,5>rO#KrQdO,5>rO#K}QdO,5>qO#L`QdO,5>qOOQS1G1Y1G1YOOQS,5;p,5;pOOQV<VAN>VO$ oQdO<cAN>cO0rQdO1G1|O$!PQtO1G1|P$!ZQdO'#FvOOQS1G2R1G2RP$!hQdO'#F{O$!uQdO7+)jO$#`QdO,5>gOOOO-E9z-E9zOOOW<tO$4{QdO,5>tO1XQdO,5vO$)nQdO,5>vOOQS1G1p1G1pOOQS,5<[,5<[OOQU7+'P7+'PO$+zQdO1G/iO$)nQdO,5wO$8zQdO,5>wOOQS1G1s1G1sOOQS7+'S7+'SP$)nQdO'#GdO$9SQdO1G4bO$9^QdO1G4bO$9fQdO1G4bOOQS7+%T7+%TO$9tQdO1G1tO$:SQtO'#FaO$:ZQdO,5<}OOQS,5<},5<}O$:iQdO1G4cOOQS-E:a-E:aO$)nQdO,5<|O$:pQdO,5<|O$:uQdO7+)|OOQS-E:`-E:`O$;PQdO7+)|O$)nQdO,5S~O%cOS%^OSSOS%]PQ~OPdOVaOfoOhYOopOs!POvqO!PrO!Q{O!T!SO!U!RO!XZO!][O!h`O!r`O!s`O!t`O!{tO!}uO#PvO#RwO#TxO#XyO#ZzO#^|O#_|O#a}O#c!OO#l!QO#o!TO#s!UO#u!VO#z!WO#}hO$P!XO%oRO%pRO%tSO%uWO&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O&c^O&d^O&e^O&f^O&g^O&h^O&i^O&j^O~O%]!YO~OV!aO_!aOa!bOh!iO!X!kO!f!mO%j![O%k!]O%l!^O%m!_O%n!_O%o!`O%p!`O%q!aO%r!aO%s!aO~Ok%xXl%xXm%xXn%xXo%xXp%xXs%xXz%xX{%xX!x%xX#g%xX%[%xX%_%xX%z%xXg%xX!T%xX!U%xX%{%xX!W%xX![%xX!Q%xX#[%xXt%xX!m%xX~P%SOfoOhYO!XZO!][O!h`O!r`O!s`O!t`O%oRO%pRO%tSO%uWO&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O&c^O&d^O&e^O&f^O&g^O&h^O&i^O&j^O~Oz%wX{%wX#g%wX%[%wX%_%wX%z%wX~Ok!pOl!qOm!oOn!oOo!rOp!sOs!tO!x%wX~P)pOV!zOg!|Oo0cOv0qO!PrO~P'vOV#OOo0cOv0qO!W#PO~P'vOV#SOa#TOo0cOv0qO![#UO~P'vOQ#XO%`#XO%a#ZO~OQ#^OR#[O%`#^O%a#`O~OV%iX_%iXa%iXh%iXk%iXl%iXm%iXn%iXo%iXp%iXs%iXz%iX!X%iX!f%iX%j%iX%k%iX%l%iX%m%iX%n%iX%o%iX%p%iX%q%iX%r%iX%s%iXg%iX!T%iX!U%iX~O&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O&c^O&d^O&e^O&f^O&g^O&h^O&i^O&j^O{%iX!x%iX#g%iX%[%iX%_%iX%z%iX%{%iX!W%iX![%iX!Q%iX#[%iXt%iX!m%iX~P,eOz#dO{%hX!x%hX#g%hX%[%hX%_%hX%z%hX~Oo0cOv0qO~P'vO#g#gO%[#iO%_#iO~O%uWO~O!T#nO#u!VO#z!WO#}hO~OopO~P'vOV#sOa#tO%uWO{wP~OV#xOo0cOv0qO!Q#yO~P'vO{#{O!x$QO%z#|O#g!yX%[!yX%_!yX~OV#xOo0cOv0qO#g#SX%[#SX%_#SX~P'vOo0cOv0qO#g#WX%[#WX%_#WX~P'vOh$WO%uWO~O!f$YO!r$YO%uWO~OV$eO~P'vO!U$gO#s$hO#u$iO~O{$jO~OV$qO~P'vOS$sO%[$rO%_$rO%c$tO~OV$}Oa$}Og%POo0cOv0qO~P'vOo0cOv0qO{%SO~P'vO&Y%UO~Oa!bOh!iO!X!kO!f!mOVba_bakbalbambanbaobapbasbazba{ba!xba#gba%[ba%_ba%jba%kba%lba%mba%nba%oba%pba%qba%rba%sba%zbagba!Tba!Uba%{ba!Wba![ba!Qba#[batba!mba~On%ZO~Oo%ZO~P'vOo0cO~P'vOk0eOl0fOm0dOn0dOo0mOp0nOs0rOg%wX!T%wX!U%wX%{%wX!W%wX![%wX!Q%wX#[%wX!m%wX~P)pO%{%]Og%vXz%vX!T%vX!U%vX!W%vX{%vX~Og%_Oz%`O!T%dO!U%cO~Og%_O~Oz%gO!T%dO!U%cO!W&SX~O!W%kO~Oz%lO{%nO!T%dO!U%cO![%}X~O![%rO~O![%sO~OQ#XO%`#XO%a%uO~OV%wOo0cOv0qO!PrO~P'vOQ#^OR#[O%`#^O%a%zO~OV!qa_!qaa!qah!qak!qal!qam!qan!qao!qap!qas!qaz!qa{!qa!X!qa!f!qa!x!qa#g!qa%[!qa%_!qa%j!qa%k!qa%l!qa%m!qa%n!qa%o!qa%p!qa%q!qa%r!qa%s!qa%z!qag!qa!T!qa!U!qa%{!qa!W!qa![!qa!Q!qa#[!qat!qa!m!qa~P#yOz%|O{%ha!x%ha#g%ha%[%ha%_%ha%z%ha~P%SOV&OOopOvqO{%ha!x%ha#g%ha%[%ha%_%ha%z%ha~P'vOz%|O{%ha!x%ha#g%ha%[%ha%_%ha%z%ha~OPdOVaOopOvqO!PrO!Q{O!{tO!}uO#PvO#RwO#TxO#XyO#ZzO#^|O#_|O#a}O#c!OO#g$zX%[$zX%_$zX~P'vO#g#gO%[&TO%_&TO~O!f&UOh&sX%[&sXz&sX#[&sX#g&sX%_&sX#Z&sXg&sX~Oh!iO%[&WO~Okealeameaneaoeapeaseazea{ea!xea#gea%[ea%_ea%zeagea!Tea!Uea%{ea!Wea![ea!Qea#[eatea!mea~P%SOsqazqa{qa#gqa%[qa%_qa%zqa~Ok!pOl!qOm!oOn!oOo!rOp!sO!xqa~PEcO%z&YOz%yX{%yX~O%uWOz%yX{%yX~Oz&]O{wX~O{&_O~Oz%lO#g%}X%[%}X%_%}Xg%}X{%}X![%}X!m%}X%z%}X~OV0lOo0cOv0qO!PrO~P'vO%z#|O#gUa%[Ua%_Ua~Oz&hO#g&PX%[&PX%_&PXn&PX~P%SOz&kO!Q&jO#g#Wa%[#Wa%_#Wa~Oz&lO#[&nO#g&rX%[&rX%_&rXg&rX~O!f$YO!r$YO#Z&qO%uWO~O#Z&qO~Oz&sO#g&tX%[&tX%_&tX~Oz&uO#g&pX%[&pX%_&pX{&pX~O!X&wO%z&xO~Oz&|On&wX~P%SOn'PO~OPdOVaOopOvqO!PrO!Q{O!{tO!}uO#PvO#RwO#TxO#XyO#ZzO#^|O#_|O#a}O#c!OO%['UO~P'vOt'YO#p'WO#q'XOP#naV#naf#nah#nao#nas#nav#na!P#na!Q#na!T#na!U#na!X#na!]#na!h#na!r#na!s#na!t#na!{#na!}#na#P#na#R#na#T#na#X#na#Z#na#^#na#_#na#a#na#c#na#l#na#o#na#s#na#u#na#z#na#}#na$P#na%X#na%o#na%p#na%t#na%u#na&Z#na&[#na&]#na&^#na&_#na&`#na&a#na&b#na&c#na&d#na&e#na&f#na&g#na&h#na&i#na&j#na%Z#na%_#na~Oz'ZO#[']O{&xX~Oh'_O!X&wO~Oh!iO{$jO!X&wO~O{'eO~P%SO%['hO%_'hO~OS'iO%['hO%_'hO~OV!aO_!aOa!bOh!iO!X!kO!f!mO%l!^O%m!_O%n!_O%o!`O%p!`O%q!aO%r!aO%s!aOkWilWimWinWioWipWisWizWi{Wi!xWi#gWi%[Wi%_Wi%jWi%zWigWi!TWi!UWi%{Wi!WWi![Wi!QWi#[WitWi!mWi~O%k!]O~P!#uO%kWi~P!#uOV!aO_!aOa!bOh!iO!X!kO!f!mO%o!`O%p!`O%q!aO%r!aO%s!aOkWilWimWinWioWipWisWizWi{Wi!xWi#gWi%[Wi%_Wi%jWi%kWi%lWi%zWigWi!TWi!UWi%{Wi!WWi![Wi!QWi#[WitWi!mWi~O%m!_O%n!_O~P!&pO%mWi%nWi~P!&pOa!bOh!iO!X!kO!f!mOkWilWimWinWioWipWisWizWi{Wi!xWi#gWi%[Wi%_Wi%jWi%kWi%lWi%mWi%nWi%oWi%pWi%zWigWi!TWi!UWi%{Wi!WWi![Wi!QWi#[WitWi!mWi~OV!aO_!aO%q!aO%r!aO%s!aO~P!)nOVWi_Wi%qWi%rWi%sWi~P!)nO!T%dO!U%cOg&VXz&VX~O%z'kO%{'kO~P,eOz'mOg&UX~Og'oO~Oz'pO{'rO!W&XX~Oo0cOv0qOz'pO{'sO!W&XX~P'vO!W'uO~Om!oOn!oOo!rOp!sOkjisjizji{ji!xji#gji%[ji%_ji%zji~Ol!qO~P!.aOlji~P!.aOk0eOl0fOm0dOn0dOo0mOp0nO~Ot'wO~P!/jOV'|Og'}Oo0cOv0qO~P'vOg'}Oz(OO~Og(QO~O!U(SO~Og(TOz(OO!T%dO!U%cO~P%SOk0eOl0fOm0dOn0dOo0mOp0nOgqa!Tqa!Uqa%{qa!Wqa![qa!Qqa#[qatqa!mqa~PEcOV'|Oo0cOv0qO!W&Sa~P'vOz(WO!W&Sa~O!W(XO~Oz(WO!T%dO!U%cO!W&Sa~P%SOV(]Oo0cOv0qO![%}a#g%}a%[%}a%_%}ag%}a{%}a!m%}a%z%}a~P'vOz(^O![%}a#g%}a%[%}a%_%}ag%}a{%}a!m%}a%z%}a~O![(aO~Oz(^O!T%dO!U%cO![%}a~P%SOz(dO!T%dO!U%cO![&Ta~P%SOz(gO{&lX![&lX!m&lX%z&lX~O{(kO![(mO!m(nO%z(jO~OV&OOopOvqO{%hi!x%hi#g%hi%[%hi%_%hi%z%hi~P'vOz(pO{%hi!x%hi#g%hi%[%hi%_%hi%z%hi~O!f&UOh&sa%[&saz&sa#[&sa#g&sa%_&sa#Z&sag&sa~O%[(uO~OV#sOa#tO%uWO~Oz&]O{wa~OopOvqO~P'vOz(^O#g%}a%[%}a%_%}ag%}a{%}a![%}a!m%}a%z%}a~P%SOz(zO#g%hX%[%hX%_%hX%z%hX~O%z#|O#gUi%[Ui%_Ui~O#g&Pa%[&Pa%_&Pan&Pa~P'vOz(}O#g&Pa%[&Pa%_&Pan&Pa~O%uWO#g&ra%[&ra%_&rag&ra~Oz)SO#g&ra%[&ra%_&rag&ra~Og)VO~OV)WOh$WO%uWO~O#Z)XO~O%uWO#g&ta%[&ta%_&ta~Oz)ZO#g&ta%[&ta%_&ta~Oo0cOv0qO#g&pa%[&pa%_&pa{&pa~P'vOz)^O#g&pa%[&pa%_&pa{&pa~OV)`Oa)`O%uWO~O%z)eO~Ot)hO#j)gOP#hiV#hif#hih#hio#his#hiv#hi!P#hi!Q#hi!T#hi!U#hi!X#hi!]#hi!h#hi!r#hi!s#hi!t#hi!{#hi!}#hi#P#hi#R#hi#T#hi#X#hi#Z#hi#^#hi#_#hi#a#hi#c#hi#l#hi#o#hi#s#hi#u#hi#z#hi#}#hi$P#hi%X#hi%o#hi%p#hi%t#hi%u#hi&Z#hi&[#hi&]#hi&^#hi&_#hi&`#hi&a#hi&b#hi&c#hi&d#hi&e#hi&f#hi&g#hi&h#hi&i#hi&j#hi%Z#hi%_#hi~Ot)iOP#kiV#kif#kih#kio#kis#kiv#ki!P#ki!Q#ki!T#ki!U#ki!X#ki!]#ki!h#ki!r#ki!s#ki!t#ki!{#ki!}#ki#P#ki#R#ki#T#ki#X#ki#Z#ki#^#ki#_#ki#a#ki#c#ki#l#ki#o#ki#s#ki#u#ki#z#ki#}#ki$P#ki%X#ki%o#ki%p#ki%t#ki%u#ki&Z#ki&[#ki&]#ki&^#ki&_#ki&`#ki&a#ki&b#ki&c#ki&d#ki&e#ki&f#ki&g#ki&h#ki&i#ki&j#ki%Z#ki%_#ki~OV)kOn&wa~P'vOz)lOn&wa~Oz)lOn&wa~P%SOn)pO~O%Y)tO~Ot)wO#p'WO#q)vOP#niV#nif#nih#nio#nis#niv#ni!P#ni!Q#ni!T#ni!U#ni!X#ni!]#ni!h#ni!r#ni!s#ni!t#ni!{#ni!}#ni#P#ni#R#ni#T#ni#X#ni#Z#ni#^#ni#_#ni#a#ni#c#ni#l#ni#o#ni#s#ni#u#ni#z#ni#}#ni$P#ni%X#ni%o#ni%p#ni%t#ni%u#ni&Z#ni&[#ni&]#ni&^#ni&_#ni&`#ni&a#ni&b#ni&c#ni&d#ni&e#ni&f#ni&g#ni&h#ni&i#ni&j#ni%Z#ni%_#ni~OV)zOo0cOv0qO{$jO~P'vOo0cOv0qO{&xa~P'vOz*OO{&xa~OV*SOa*TOg*WO%q*UO%uWO~O{$jO&{*YO~Oh'_O~Oh!iO{$jO~O%[*_O~O%[*aO%_*aO~OV$}Oa$}Oo0cOv0qOg&Ua~P'vOz*dOg&Ua~Oo0cOv0qO{*gO!W&Xa~P'vOz*hO!W&Xa~Oo0cOv0qOz*hO{*kO!W&Xa~P'vOo0cOv0qOz*hO!W&Xa~P'vOz*hO{*kO!W&Xa~Om0dOn0dOo0mOp0nOgjikjisjizji!Tji!Uji%{ji!Wji{ji![ji#gji%[ji%_ji!Qji#[jitji!mji%zji~Ol0fO~P!NkOlji~P!NkOV'|Og*pOo0cOv0qO~P'vOn*rO~Og*pOz*tO~Og*uO~OV'|Oo0cOv0qO!W&Si~P'vOz*vO!W&Si~O!W*wO~OV(]Oo0cOv0qO![%}i#g%}i%[%}i%_%}ig%}i{%}i!m%}i%z%}i~P'vOz*zO!T%dO!U%cO![&Ti~Oz*}O![%}i#g%}i%[%}i%_%}ig%}i{%}i!m%}i%z%}i~O![+OO~Oa+QOo0cOv0qO![&Ti~P'vOz*zO![&Ti~O![+SO~OV+UOo0cOv0qO{&la![&la!m&la%z&la~P'vOz+VO{&la![&la!m&la%z&la~O!]+YO&n+[O![!nX~O![+^O~O{(kO![+_O~O{(kO![+_O!m+`O~OV&OOopOvqO{%hq!x%hq#g%hq%[%hq%_%hq%z%hq~P'vOz$ri{$ri!x$ri#g$ri%[$ri%_$ri%z$ri~P%SOV&OOopOvqO~P'vOV&OOo0cOv0qO#g%ha%[%ha%_%ha%z%ha~P'vOz+aO#g%ha%[%ha%_%ha%z%ha~Oz$ia#g$ia%[$ia%_$ian$ia~P%SO#g&Pi%[&Pi%_&Pin&Pi~P'vOz+dO#g#Wq%[#Wq%_#Wq~O#[+eOz$va#g$va%[$va%_$vag$va~O%uWO#g&ri%[&ri%_&rig&ri~Oz+gO#g&ri%[&ri%_&rig&ri~OV+iOh$WO%uWO~O%uWO#g&ti%[&ti%_&ti~Oo0cOv0qO#g&pi%[&pi%_&pi{&pi~P'vO{#{Oz#eX!W#eX~Oz+mO!W&uX~O!W+oO~Ot+rO#j)gOP#hqV#hqf#hqh#hqo#hqs#hqv#hq!P#hq!Q#hq!T#hq!U#hq!X#hq!]#hq!h#hq!r#hq!s#hq!t#hq!{#hq!}#hq#P#hq#R#hq#T#hq#X#hq#Z#hq#^#hq#_#hq#a#hq#c#hq#l#hq#o#hq#s#hq#u#hq#z#hq#}#hq$P#hq%X#hq%o#hq%p#hq%t#hq%u#hq&Z#hq&[#hq&]#hq&^#hq&_#hq&`#hq&a#hq&b#hq&c#hq&d#hq&e#hq&f#hq&g#hq&h#hq&i#hq&j#hq%Z#hq%_#hq~On$|az$|a~P%SOV)kOn&wi~P'vOz+yOn&wi~Oz,TO{$jO#[,TO~O#q,VOP#nqV#nqf#nqh#nqo#nqs#nqv#nq!P#nq!Q#nq!T#nq!U#nq!X#nq!]#nq!h#nq!r#nq!s#nq!t#nq!{#nq!}#nq#P#nq#R#nq#T#nq#X#nq#Z#nq#^#nq#_#nq#a#nq#c#nq#l#nq#o#nq#s#nq#u#nq#z#nq#}#nq$P#nq%X#nq%o#nq%p#nq%t#nq%u#nq&Z#nq&[#nq&]#nq&^#nq&_#nq&`#nq&a#nq&b#nq&c#nq&d#nq&e#nq&f#nq&g#nq&h#nq&i#nq&j#nq%Z#nq%_#nq~O#[,WOz%Oa{%Oa~Oo0cOv0qO{&xi~P'vOz,YO{&xi~O{#{O%z,[Og&zXz&zX~O%uWOg&zXz&zX~Oz,`Og&yX~Og,bO~O%Y,eO~O!T%dO!U%cOg&Viz&Vi~OV$}Oa$}Oo0cOv0qOg&Ui~P'vO{,hOz$la!W$la~Oo0cOv0qO{,iOz$la!W$la~P'vOo0cOv0qO{*gO!W&Xi~P'vOz,lO!W&Xi~Oo0cOv0qOz,lO!W&Xi~P'vOz,lO{,oO!W&Xi~Og$hiz$hi!W$hi~P%SOV'|Oo0cOv0qO~P'vOn,qO~OV'|Og,rOo0cOv0qO~P'vOV'|Oo0cOv0qO!W&Sq~P'vOz$gi![$gi#g$gi%[$gi%_$gig$gi{$gi!m$gi%z$gi~P%SOV(]Oo0cOv0qO~P'vOa+QOo0cOv0qO![&Tq~P'vOz,sO![&Tq~O![,tO~OV(]Oo0cOv0qO![%}q#g%}q%[%}q%_%}qg%}q{%}q!m%}q%z%}q~P'vO{,uO~OV+UOo0cOv0qO{&li![&li!m&li%z&li~P'vOz,zO{&li![&li!m&li%z&li~O!]+YO&n+[O![!na~O{(kO![,}O~OV&OOo0cOv0qO#g%hi%[%hi%_%hi%z%hi~P'vOz-OO#g%hi%[%hi%_%hi%z%hi~O%uWO#g&rq%[&rq%_&rqg&rq~Oz-RO#g&rq%[&rq%_&rqg&rq~OV)`Oa)`O%uWO!W&ua~Oz-TO!W&ua~On$|iz$|i~P%SOV)kO~P'vOV)kOn&wq~P'vOt-XOP#myV#myf#myh#myo#mys#myv#my!P#my!Q#my!T#my!U#my!X#my!]#my!h#my!r#my!s#my!t#my!{#my!}#my#P#my#R#my#T#my#X#my#Z#my#^#my#_#my#a#my#c#my#l#my#o#my#s#my#u#my#z#my#}#my$P#my%X#my%o#my%p#my%t#my%u#my&Z#my&[#my&]#my&^#my&_#my&`#my&a#my&b#my&c#my&d#my&e#my&f#my&g#my&h#my&i#my&j#my%Z#my%_#my~O%Z-]O%_-]O~P`O#q-^OP#nyV#nyf#nyh#nyo#nys#nyv#ny!P#ny!Q#ny!T#ny!U#ny!X#ny!]#ny!h#ny!r#ny!s#ny!t#ny!{#ny!}#ny#P#ny#R#ny#T#ny#X#ny#Z#ny#^#ny#_#ny#a#ny#c#ny#l#ny#o#ny#s#ny#u#ny#z#ny#}#ny$P#ny%X#ny%o#ny%p#ny%t#ny%u#ny&Z#ny&[#ny&]#ny&^#ny&_#ny&`#ny&a#ny&b#ny&c#ny&d#ny&e#ny&f#ny&g#ny&h#ny&i#ny&j#ny%Z#ny%_#ny~Oz-aO{$jO#[-aO~Oo0cOv0qO{&xq~P'vOz-dO{&xq~O%z,[Og&zaz&za~O{#{Og&zaz&za~OV*SOa*TO%q*UO%uWOg&ya~Oz-hOg&ya~O$S-lO~OV$}Oa$}Oo0cOv0qO~P'vOo0cOv0qO{-mOz$li!W$li~P'vOo0cOv0qOz$li!W$li~P'vO{-mOz$li!W$li~Oo0cOv0qO{*gO~P'vOo0cOv0qO{*gO!W&Xq~P'vOz-pO!W&Xq~Oo0cOv0qOz-pO!W&Xq~P'vOs-sO!T%dO!U%cOg&Oq!W&Oq![&Oqz&Oq~P!/jOa+QOo0cOv0qO![&Ty~P'vOz$ji![$ji~P%SOa+QOo0cOv0qO~P'vOV+UOo0cOv0qO~P'vOV+UOo0cOv0qO{&lq![&lq!m&lq%z&lq~P'vO{(kO![-xO!m-yO%z-wO~OV&OOo0cOv0qO#g%hq%[%hq%_%hq%z%hq~P'vO%uWO#g&ry%[&ry%_&ryg&ry~OV)`Oa)`O%uWO!W&ui~Ot-}OP#m!RV#m!Rf#m!Rh#m!Ro#m!Rs#m!Rv#m!R!P#m!R!Q#m!R!T#m!R!U#m!R!X#m!R!]#m!R!h#m!R!r#m!R!s#m!R!t#m!R!{#m!R!}#m!R#P#m!R#R#m!R#T#m!R#X#m!R#Z#m!R#^#m!R#_#m!R#a#m!R#c#m!R#l#m!R#o#m!R#s#m!R#u#m!R#z#m!R#}#m!R$P#m!R%X#m!R%o#m!R%p#m!R%t#m!R%u#m!R&Z#m!R&[#m!R&]#m!R&^#m!R&_#m!R&`#m!R&a#m!R&b#m!R&c#m!R&d#m!R&e#m!R&f#m!R&g#m!R&h#m!R&i#m!R&j#m!R%Z#m!R%_#m!R~Oo0cOv0qO{&xy~P'vOV*SOa*TO%q*UO%uWOg&yi~O$S-lO%Z.VO%_.VO~OV.aOh._O!X.^O!].`O!h.YO!s.[O!t.[O%p.XO%uWO&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O~Oo0cOv0qOz$lq!W$lq~P'vO{.fOz$lq!W$lq~Oo0cOv0qO{*gO!W&Xy~P'vOz.gO!W&Xy~Oo0cOv.kO~P'vOs-sO!T%dO!U%cOg&Oy!W&Oy![&Oyz&Oy~P!/jO{(kO![.nO~O{(kO![.nO!m.oO~OV*SOa*TO%q*UO%uWO~Oh.tO!f.rOz$TX#[$TX%j$TXg$TX~Os$TX{$TX!W$TX![$TX~P$-bO%o.vO%p.vOs$UXz$UX{$UX#[$UX%j$UX!W$UXg$UX![$UX~O!h.xO~Oz.|O#[/OO%j.yOs&|X{&|X!W&|Xg&|X~Oa/RO~P$)zOh.tOs&}Xz&}X{&}X#[&}X%j&}X!W&}Xg&}X![&}X~Os/VO{$jO~Oo0cOv0qOz$ly!W$ly~P'vOo0cOv0qO{*gO!W&X!R~P'vOz/ZO!W&X!R~Og&RXs&RX!T&RX!U&RX!W&RX![&RXz&RX~P!/jOs-sO!T%dO!U%cOg&Qa!W&Qa![&Qaz&Qa~O{(kO![/^O~O!f.rOh$[as$[az$[a{$[a#[$[a%j$[a!W$[ag$[a![$[a~O!h/eO~O%o.vO%p.vOs$Uaz$Ua{$Ua#[$Ua%j$Ua!W$Uag$Ua![$Ua~O%j.yOs$Yaz$Ya{$Ya#[$Ya!W$Yag$Ya![$Ya~Os&|a{&|a!W&|ag&|a~P$)nOz/jOs&|a{&|a!W&|ag&|a~O!W/mO~Og/mO~O{/oO~O![/pO~Oo0cOv0qO{*gO!W&X!Z~P'vO{/sO~O%z/tO~P$-bOz/uO#[/OO%j.yOg'PX~Oz/uOg'PX~Og/wO~O!h/xO~O#[/OOs%Saz%Sa{%Sa%j%Sa!W%Sag%Sa![%Sa~O#[/OO%j.yOs%Waz%Wa{%Wa!W%Wag%Wa~Os&|i{&|i!W&|ig&|i~P$)nOz/zO#[/OO%j.yO!['Oa~Og'Pa~P$)nOz0SOg'Pa~Oa0UO!['Oi~P$)zOz0WO!['Oi~Oz0WO#[/OO%j.yO!['Oi~O#[/OO%j.yOg$biz$bi~O%z0ZO~P$-bO#[/OO%j.yOg%Vaz%Va~Og'Pi~P$)nO{0^O~Oa0UO!['Oq~P$)zOz0`O!['Oq~O#[/OO%j.yOz%Ui![%Ui~Oa0UO~P$)zOa0UO!['Oy~P$)zO#[/OO%j.yOg$ciz$ci~O#[/OO%j.yOz%Uq![%Uq~Oz+aO#g%ha%[%ha%_%ha%z%ha~P%SOV&OOo0cOv0qO~P'vOn0hO~Oo0hO~P'vO{0iO~Ot0jO~P!/jO&]&Z&j&h&i&g&f&d&e&c&b&`&a&_&^&[%u~",goto:"!=j'QPPPPPP'RP'Z*s+[+t,_,y-fP.SP'Z.r.r'ZPPP'Z2[PPPPPP2[5PPP5PP7b7k=sPP=v>h>kPP'Z'ZPP>zPP'Z'ZPP'Z'Z'Z'Z'Z?O?w'ZP?zP@QDXGuGyPG|HWH['ZPPPH_Hk'RP'R'RP'RP'RP'RP'RP'R'R'RP'RPP'RPP'RP'RPHqH}IVPI^IdPI^PI^I^PPPI^PKrPK{LVL]KrPI^LfPI^PLmLsPLwM]MzNeLwLwNkNxLwLwLwLw! ^! d! g! l! o! y!!P!!]!!o!!u!#P!#V!#s!#y!$P!$Z!$a!$g!$y!%T!%Z!%a!%k!%q!%w!%}!&T!&Z!&e!&k!&u!&{!'U!'[!'k!'s!'}!(UPPPPPPPPPPP!([!(_!(e!(n!(x!)TPPPPPPPPPPPP!-u!/Z!3^!6oPP!6w!7W!7a!8Y!8P!8c!8i!8l!8o!8r!8z!9jPPPPPPPPPPPPPPPPP!9m!9q!9wP!:]!:a!:m!:v!;S!;j!;m!;p!;v!;|!_![!]Do!]!^Es!^!_FZ!_!`Gk!`!aHX!a!b%T!b!cIf!c!dJU!d!eK^!e!hJU!h!i!#f!i!tJU!t!u!,|!u!wJU!w!x!.t!x!}JU!}#O!0S#O#P&o#P#Q!0j#Q#R!1Q#R#SJU#S#T%T#T#UJU#U#VK^#V#YJU#Y#Z!#f#Z#fJU#f#g!,|#g#iJU#i#j!.t#j#oJU#o#p!1n#p#q!1s#q#r!2a#r#s!2f#s$g%T$g;'SJU;'S;=`KW<%lOJU`%YT&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T`%lP;=`<%l%To%v]&n`%c_OX%TXY%oY[%T[]%o]p%Tpq%oq#O%T#O#P&o#P#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To&tX&n`OY%TYZ%oZ]%T]^%o^#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc'f[&n`O!_%T!_!`([!`#T%T#T#U(r#U#f%T#f#g(r#g#h(r#h#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc(cTmR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc(yT!mR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk)aV&n`&[ZOr%Trs)vs#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk){V&n`Or%Trs*bs#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk*iT&n`&^ZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To+PZS_&n`OY*xYZ%TZ]*x]^%T^#o*x#o#p+r#p#q*x#q#r+r#r;'S*x;'S;=`,^<%lO*x_+wTS_OY+rZ]+r^;'S+r;'S;=`,W<%lO+r_,ZP;=`<%l+ro,aP;=`<%l*xj,kV%rQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj-XT!xY&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj-oV%lQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk.]V&n`&ZZOw%Twx.rx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk.wV&n`Ow%Twx/^x#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk/eT&n`&]ZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk/{ThZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc0cTgR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk0yXVZ&n`Oz%Tz{1f{!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk1mVaR&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk2ZV%oZ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc2wTzR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To3_W%pZ&n`O!_%T!_!`-Q!`!a3w!a#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Td4OT&{S&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk4fX!fQ&n`O!O%T!O!P5R!P!Q%T!Q![6T![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk5WV&n`O!O%T!O!P5m!P#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk5tT!rZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti6[a!hX&n`O!Q%T!Q![6T![!g%T!g!h7a!h!l%T!l!m9s!m#R%T#R#S6T#S#X%T#X#Y7a#Y#^%T#^#_9s#_#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti7fZ&n`O{%T{|8X|}%T}!O8X!O!Q%T!Q![8s![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti8^V&n`O!Q%T!Q![8s![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti8z]!hX&n`O!Q%T!Q![8s![!l%T!l!m9s!m#R%T#R#S8s#S#^%T#^#_9s#_#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti9zT!hX&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk:bX%qR&n`O!P%T!P!Q:}!Q!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj;UV%sQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti;ro!hX&n`O!O%T!O!P=s!P!Q%T!Q![>_![!d%T!d!e?q!e!g%T!g!h7a!h!l%T!l!m9s!m!q%T!q!rA]!r!z%T!z!{Bq!{#R%T#R#S>_#S#U%T#U#V?q#V#X%T#X#Y7a#Y#^%T#^#_9s#_#c%T#c#dA]#d#l%T#l#mBq#m#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti=xV&n`O!Q%T!Q![6T![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti>fc!hX&n`O!O%T!O!P=s!P!Q%T!Q![>_![!g%T!g!h7a!h!l%T!l!m9s!m#R%T#R#S>_#S#X%T#X#Y7a#Y#^%T#^#_9s#_#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti?vY&n`O!Q%T!Q!R@f!R!S@f!S#R%T#R#S@f#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti@mY!hX&n`O!Q%T!Q!R@f!R!S@f!S#R%T#R#S@f#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiAbX&n`O!Q%T!Q!YA}!Y#R%T#R#SA}#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiBUX!hX&n`O!Q%T!Q!YA}!Y#R%T#R#SA}#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiBv]&n`O!Q%T!Q![Co![!c%T!c!iCo!i#R%T#R#SCo#S#T%T#T#ZCo#Z#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiCv]!hX&n`O!Q%T!Q![Co![!c%T!c!iCo!i#R%T#R#SCo#S#T%T#T#ZCo#Z#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%ToDvV{_&n`O!_%T!_!`E]!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TcEdT%{R&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkEzT#gZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkFbXmR&n`O!^%T!^!_F}!_!`([!`!a([!a#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TjGUV%mQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkGrV%zZ&n`O!_%T!_!`([!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkH`WmR&n`O!_%T!_!`([!`!aHx!a#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TjIPV%nQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkIoV_Q#}P&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%ToJ_]&n`&YS%uZO!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUoKZP;=`<%lJUoKge&n`&YS%uZOr%Trs)Ysw%Twx.Ux!Q%T!Q![JU![!c%T!c!tJU!t!uLx!u!}JU!}#R%T#R#SJU#S#T%T#T#fJU#f#gLx#g#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUoMRa&n`&YS%uZOr%TrsNWsw%Twx! vx!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUkN_V&n`&`ZOr%TrsNts#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkNyV&n`Or%Trs! `s#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk! gT&n`&bZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk! }V&n`&_ZOw%Twx!!dx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!!iV&n`Ow%Twx!#Ox#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!#VT&n`&aZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To!#oe&n`&YS%uZOr%Trs!%Qsw%Twx!&px!Q%T!Q![JU![!c%T!c!tJU!t!u!(`!u!}JU!}#R%T#R#SJU#S#T%T#T#fJU#f#g!(`#g#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUk!%XV&n`&dZOr%Trs!%ns#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!%sV&n`Or%Trs!&Ys#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!&aT&n`&fZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!&wV&n`&cZOw%Twx!'^x#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!'cV&n`Ow%Twx!'xx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!(PT&n`&eZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To!(ia&n`&YS%uZOr%Trs!)nsw%Twx!+^x!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUk!)uV&n`&hZOr%Trs!*[s#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!*aV&n`Or%Trs!*vs#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!*}T&n`&jZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!+eV&n`&gZOw%Twx!+zx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!,PV&n`Ow%Twx!,fx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!,mT&n`&iZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To!-Vi&n`&YS%uZOr%TrsNWsw%Twx! vx!Q%T!Q![JU![!c%T!c!dJU!d!eLx!e!hJU!h!i!(`!i!}JU!}#R%T#R#SJU#S#T%T#T#UJU#U#VLx#V#YJU#Y#Z!(`#Z#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUo!.}a&n`&YS%uZOr%Trs)Ysw%Twx.Ux!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUk!0ZT!XZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc!0qT!WR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj!1XV%kQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T~!1sO!]~k!1zV%jR&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T~!2fO![~i!2mT%tX&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T",tokenizers:[bw,pw,dw,Sw,0,1,2,3,4],topRules:{Script:[0,5]},specialized:[{term:221,get:i=>xw[i]||-1}],tokenPrec:7668});var zm=new di,Mm=new Set(["Script","Body","FunctionDefinition","ClassDefinition","LambdaExpression","ForStatement","MatchClause"]);function uo(i){return(e,t,n)=>{if(n)return!1;let r=e.node.getChild("VariableName");return r&&t(r,i),!0}}var ww={FunctionDefinition:uo("function"),ClassDefinition:uo("class"),ForStatement(i,e,t){if(t){for(let n=i.node.firstChild;n;n=n.nextSibling)if(n.name=="VariableName")e(n,"variable");else if(n.name=="in")break}},ImportStatement(i,e){var t,n;let{node:r}=i,s=((t=r.firstChild)===null||t===void 0?void 0:t.name)=="from";for(let o=r.getChild("import");o;o=o.nextSibling)o.name=="VariableName"&&((n=o.nextSibling)===null||n===void 0?void 0:n.name)!="as"&&e(o,s?"variable":"namespace")},AssignStatement(i,e){for(let t=i.node.firstChild;t;t=t.nextSibling)if(t.name=="VariableName")e(t,"variable");else if(t.name==":"||t.name=="AssignOp")break},ParamList(i,e){for(let t=null,n=i.node.firstChild;n;n=n.nextSibling)n.name=="VariableName"&&(!t||!/\*|AssignOp/.test(t.name))&&e(n,"variable"),t=n},CapturePattern:uo("variable"),AsPattern:uo("variable"),__proto__:null};function Wm(i,e){let t=zm.get(e);if(t)return t;let n=[],r=!0;function s(o,a){let l=i.sliceString(o.from,o.to);n.push({label:l,type:a})}return e.cursor(ee.IncludeAnonymous).iterate(o=>{if(o.name){let a=ww[o.name];if(a&&a(o,s,r)||!r&&Mm.has(o.name))return!1;r=!1}else if(o.to-o.from>8192){for(let a of Wm(i,o.node))n.push(a);return!1}}),zm.set(e,n),n}var Lm=/^[\w\xa1-\uffff][\w\d\xa1-\uffff]*$/,jm=["String","FormatString","Comment","PropertyName"];function Pw(i){let e=U(i.state).resolveInner(i.pos,-1);if(jm.indexOf(e.name)>-1)return null;let t=e.name=="VariableName"||e.to-e.from<20&&Lm.test(i.state.sliceDoc(e.from,e.to));if(!t&&!i.explicit)return null;let n=[];for(let r=e;r;r=r.parent)Mm.has(r.name)&&(n=n.concat(Wm(i.state.doc,r)));return{options:n,from:t?e.from:i.pos,validFor:Lm}}var vw=["__annotations__","__builtins__","__debug__","__doc__","__import__","__name__","__loader__","__package__","__spec__","False","None","True"].map(i=>({label:i,type:"constant"})).concat(["ArithmeticError","AssertionError","AttributeError","BaseException","BlockingIOError","BrokenPipeError","BufferError","BytesWarning","ChildProcessError","ConnectionAbortedError","ConnectionError","ConnectionRefusedError","ConnectionResetError","DeprecationWarning","EOFError","Ellipsis","EncodingWarning","EnvironmentError","Exception","FileExistsError","FileNotFoundError","FloatingPointError","FutureWarning","GeneratorExit","IOError","ImportError","ImportWarning","IndentationError","IndexError","InterruptedError","IsADirectoryError","KeyError","KeyboardInterrupt","LookupError","MemoryError","ModuleNotFoundError","NameError","NotADirectoryError","NotImplemented","NotImplementedError","OSError","OverflowError","PendingDeprecationWarning","PermissionError","ProcessLookupError","RecursionError","ReferenceError","ResourceWarning","RuntimeError","RuntimeWarning","StopAsyncIteration","StopIteration","SyntaxError","SyntaxWarning","SystemError","SystemExit","TabError","TimeoutError","TypeError","UnboundLocalError","UnicodeDecodeError","UnicodeEncodeError","UnicodeError","UnicodeTranslateError","UnicodeWarning","UserWarning","ValueError","Warning","ZeroDivisionError"].map(i=>({label:i,type:"type"}))).concat(["bool","bytearray","bytes","classmethod","complex","float","frozenset","int","list","map","memoryview","object","range","set","staticmethod","str","super","tuple","type"].map(i=>({label:i,type:"class"}))).concat(["abs","aiter","all","anext","any","ascii","bin","breakpoint","callable","chr","compile","delattr","dict","dir","divmod","enumerate","eval","exec","exit","filter","format","getattr","globals","hasattr","hash","help","hex","id","input","isinstance","issubclass","iter","len","license","locals","max","min","next","oct","open","ord","pow","print","property","quit","repr","reversed","round","setattr","slice","sorted","sum","vars","zip"].map(i=>({label:i,type:"function"}))),$w=[ce("def ${name}(${params}):\n ${}",{label:"def",detail:"function",type:"keyword"}),ce("for ${name} in ${collection}:\n ${}",{label:"for",detail:"loop",type:"keyword"}),ce("while ${}:\n ${}",{label:"while",detail:"loop",type:"keyword"}),ce("try:\n ${}\nexcept ${error}:\n ${}",{label:"try",detail:"/ except block",type:"keyword"}),ce(`if \${}: -`,{label:"if",detail:"block",type:"keyword"}),ce("if ${}:\n ${}\nelse:\n ${}",{label:"if",detail:"/ else block",type:"keyword"}),ce("class ${name}:\n def __init__(self, ${params}):\n ${}",{label:"class",detail:"definition",type:"keyword"}),ce("import ${module}",{label:"import",detail:"statement",type:"keyword"}),ce("from ${module} import ${names}",{label:"from",detail:"import",type:"keyword"})],$w=Bs(jm,Is(Pw.concat(vw)));function nh(i){let{node:e,pos:t}=i,n=i.lineIndent(t,-1),r=null;for(;;){let s=e.childBefore(t);if(s)if(s.name=="Comment")t=s.from;else if(s.name=="Body"||s.name=="MatchBody")i.baseIndentFor(s)+i.unit<=n&&(r=s),e=s;else if(s.name=="MatchClause")e=s;else if(s.type.is("Statement"))e=s;else break;else break}return r}function rh(i,e){let t=i.baseIndentFor(e),n=i.lineAt(i.pos,-1),r=n.from+n.text.length;return/^\s*($|#)/.test(n.text)&&i.node.tot?null:t+i.unit}var sh=$e.define({name:"python",parser:qm.configure({props:[we.add({Body:i=>{var e;let t=/^\s*(#|$)/.test(i.textAfter)&&nh(i)||i.node;return(e=rh(i,t))!==null&&e!==void 0?e:i.continue()},MatchBody:i=>{var e;let t=nh(i);return(e=rh(i,t||i.node))!==null&&e!==void 0?e:i.continue()},IfStatement:i=>/^\s*(else:|elif )/.test(i.textAfter)?i.baseIndent:i.continue(),"ForStatement WhileStatement":i=>/^\s*else:/.test(i.textAfter)?i.baseIndent:i.continue(),TryStatement:i=>/^\s*(except[ :]|finally:|else:)/.test(i.textAfter)?i.baseIndent:i.continue(),MatchStatement:i=>/^\s*case /.test(i.textAfter)?i.baseIndent+i.unit:i.continue(),"TupleExpression ComprehensionExpression ParamList ArgList ParenthesizedExpression":St({closing:")"}),"DictionaryExpression DictionaryComprehensionExpression SetExpression SetComprehensionExpression":St({closing:"}"}),"ArrayExpression ArrayComprehensionExpression":St({closing:"]"}),MemberExpression:i=>i.baseIndent+i.unit,"String FormatString":()=>null,Script:i=>{var e;let t=nh(i);return(e=t&&rh(i,t))!==null&&e!==void 0?e:i.continue()}}),Te.add({"ArrayExpression DictionaryExpression SetExpression TupleExpression":ht,Body:(i,e)=>({from:i.from+1,to:i.to-(i.to==e.doc.length?0:1)}),"String FormatString":(i,e)=>({from:e.doc.lineAt(i.from).to,to:i.to})})]}),languageData:{closeBrackets:{brackets:["(","[","{","'",'"',"'''",'"""'],stringPrefixes:["f","fr","rf","r","u","b","br","rb","F","FR","RF","R","U","B","BR","RB"]},commentTokens:{line:"#"},indentOnInput:/^\s*([\}\]\)]|else:|elif |except |finally:|case\s+[^:]*:?)$/}});function Vm(){return new me(sh,[sh.data.of({autocomplete:ww}),sh.data.of({autocomplete:$w})])}var Tw=Qe({String:d.string,Number:d.number,"True False":d.bool,PropertyName:d.propertyName,Null:d.null,", :":d.separator,"[ ]":d.squareBracket,"{ }":d.brace}),Dm=Pe.deserialize({version:14,states:"$bOVQPOOOOQO'#Cb'#CbOnQPO'#CeOvQPO'#ClOOQO'#Cr'#CrQOQPOOOOQO'#Cg'#CgO}QPO'#CfO!SQPO'#CtOOQO,59P,59PO![QPO,59PO!aQPO'#CuOOQO,59W,59WO!iQPO,59WOVQPO,59QOqQPO'#CmO!nQPO,59`OOQO1G.k1G.kOVQPO'#CnO!vQPO,59aOOQO1G.r1G.rOOQO1G.l1G.lOOQO,59X,59XOOQO-E6k-E6kOOQO,59Y,59YOOQO-E6l-E6l",stateData:"#O~OeOS~OQSORSOSSOTSOWQO_ROgPO~OVXOgUO~O^[O~PVO[^O~O]_OVhX~OVaO~O]bO^iX~O^dO~O]_OVha~O]bO^ia~O",goto:"!kjPPPPPPkPPkqwPPPPk{!RPPP!XP!e!hXSOR^bQWQRf_TVQ_Q`WRg`QcZRicQTOQZRQe^RhbRYQR]R",nodeNames:"\u26A0 JsonText True False Null Number String } { Object Property PropertyName : , ] [ Array",maxTerm:25,nodeProps:[["isolate",-2,6,11,""],["openedBy",7,"{",14,"["],["closedBy",8,"}",15,"]"]],propSources:[Tw],skippedNodes:[0],repeatNodeCount:2,tokenData:"(|~RaXY!WYZ!W]^!Wpq!Wrs!]|}$u}!O$z!Q!R%T!R![&c![!]&t!}#O&y#P#Q'O#Y#Z'T#b#c'r#h#i(Z#o#p(r#q#r(w~!]Oe~~!`Wpq!]qr!]rs!xs#O!]#O#P!}#P;'S!];'S;=`$o<%lO!]~!}Og~~#QXrs!]!P!Q!]#O#P!]#U#V!]#Y#Z!]#b#c!]#f#g!]#h#i!]#i#j#m~#pR!Q![#y!c!i#y#T#Z#y~#|R!Q![$V!c!i$V#T#Z$V~$YR!Q![$c!c!i$c#T#Z$c~$fR!Q![!]!c!i!]#T#Z!]~$rP;=`<%l!]~$zO]~~$}Q!Q!R%T!R![&c~%YRT~!O!P%c!g!h%w#X#Y%w~%fP!Q![%i~%nRT~!Q![%i!g!h%w#X#Y%w~%zR{|&T}!O&T!Q![&Z~&WP!Q![&Z~&`PT~!Q![&Z~&hST~!O!P%c!Q![&c!g!h%w#X#Y%w~&yO[~~'OO_~~'TO^~~'WP#T#U'Z~'^P#`#a'a~'dP#g#h'g~'jP#X#Y'm~'rOR~~'uP#i#j'x~'{P#`#a(O~(RP#`#a(U~(ZOS~~(^P#f#g(a~(dP#i#j(g~(jP#X#Y(m~(rOQ~~(wOW~~(|OV~",tokenizers:[0],topRules:{JsonText:[0,1]},tokenPrec:0});var Cw=$e.define({name:"json",parser:Dm.configure({props:[we.add({Object:Bt({except:/^\s*\}/}),Array:Bt({except:/^\s*\]/})}),Te.add({"Object Array":ht})]}),languageData:{closeBrackets:{brackets:["[","{",'"']},indentOnInput:/^\s*[\}\]]$/}});function Ym(){return new me(Cw)}function Oo(i){for(var e={},t=0;t~^?!",Ew=":;,.(){}[]",qw=/^\-?0b[01][01_]*/,zw=/^\-?0o[0-7][0-7_]*/,Lw=/^\-?0x[\dA-Fa-f][\dA-Fa-f_]*(?:(?:\.[\dA-Fa-f][\dA-Fa-f_]*)?[Pp]\-?\d[\d_]*)?/,Mw=/^\-?\d[\d_]*(?:\.\d[\d_]*)?(?:[Ee]\-?\d[\d_]*)?/,Ww=/^\$\d+|(`?)[_A-Za-z][_A-Za-z$0-9]*\1/,jw=/^\.(?:\$\d+|(`?)[_A-Za-z][_A-Za-z$0-9]*\1)/,Vw=/^\#[A-Za-z]+/,Dw=/^@(?:\$\d+|(`?)[_A-Za-z][_A-Za-z$0-9]*\1)/;function Im(i,e,t){if(i.sol()&&(e.indented=i.indentation()),i.eatSpace())return null;var n=i.peek();if(n=="/"){if(i.match("//"))return i.skipToEnd(),"comment";if(i.match("/*"))return e.tokenize.push(oh),oh(i,e)}if(i.match(Vw))return"builtin";if(i.match(Dw))return"attribute";if(i.match(qw)||i.match(zw)||i.match(Lw)||i.match(Mw))return"number";if(i.match(jw))return"property";if(Zw.indexOf(n)>-1)return i.next(),"operator";if(Ew.indexOf(n)>-1)return i.next(),i.match(".."),"punctuation";var r;if(r=i.match(/("""|"|')/)){var s=Iw.bind(null,r[0]);return e.tokenize.push(s),s(i,e)}if(i.match(Ww)){var o=i.current();return Aw.hasOwnProperty(o)?"type":Rw.hasOwnProperty(o)?"atom":Xw.hasOwnProperty(o)?(_w.hasOwnProperty(o)&&(e.prev="define"),"keyword"):t=="define"?"def":"variable"}return i.next(),null}function Yw(){var i=0;return function(e,t,n){var r=Im(e,t,n);if(r=="punctuation"){if(e.current()=="(")++i;else if(e.current()==")"){if(i==0)return e.backUp(1),t.tokenize.pop(),t.tokenize[t.tokenize.length-1](e,t);--i}}return r}}function Iw(i,e,t){for(var n=i.length==1,r,s=!1;r=e.peek();)if(s){if(e.next(),r=="(")return t.tokenize.push(Yw()),"string";s=!1}else{if(e.match(i))return t.tokenize.pop(),"string";e.next(),s=r=="\\"}return n&&t.tokenize.pop(),"string"}function oh(i,e){for(var t;t=i.next();)if(t==="/"&&i.eat("*"))e.tokenize.push(oh);else if(t==="*"&&i.eat("/")){e.tokenize.pop();break}return"comment"}function Bw(i,e,t){this.prev=i,this.align=e,this.indented=t}function Uw(i,e){var t=e.match(/^\s*($|\/[\/\*]|[)}\]])/,!1)?null:e.column()+1;i.context=new Bw(i.context,t,i.indented)}function Gw(i){i.context&&(i.indented=i.context.indented,i.context=i.context.prev)}var Bm={name:"swift",startState:function(){return{prev:null,context:null,indented:0,tokenize:[]}},token:function(i,e){var t=e.prev;e.prev=null;var n=e.tokenize[e.tokenize.length-1]||Im,r=n(i,e,t);if(!r||r=="comment"?e.prev=t:e.prev||(e.prev=r),r=="punctuation"){var s=/[\(\[\{]|([\]\)\}])/.exec(i.current());s&&(s[1]?Gw:Uw)(e,i)}return r},indent:function(i,e,t){var n=i.context;if(!n)return 0;var r=/^[\]\}\)]/.test(e);return n.align!=null?n.align-(r?1:0):n.indented+(r?0:t.unit)},languageData:{indentOnInput:/^\s*[\)\}\]]$/,commentTokens:{line:"//",block:{open:"/*",close:"*/"}},closeBrackets:{brackets:["(","[","{","'",'"',"`"]}}};var ah={};function lh(i,e){for(var t=0;t1&&i.eat("$");var t=i.next();return/['"({]/.test(t)?(e.tokens[0]=po(t,t=="("?"quote":t=="{"?"def":"string"),_n(i,e)):(/\d/.test(t)||i.eatWhile(/\w/),e.tokens.shift(),"def")};function Hw(i){return function(e,t){return e.sol()&&e.string==i&&t.tokens.shift(),e.skipToEnd(),"string.special"}}function _n(i,e){return(e.tokens[0]||Nw)(i,e)}var Hm={name:"shell",startState:function(){return{tokens:[]}},token:function(i,e){return _n(i,e)},languageData:{autocomplete:Um.concat(Gm,Nm),closeBrackets:{brackets:["(","[","{","'",'"',"`"]},commentTokens:{line:"#"}}};var Kw=["true","false","on","off","yes","no"],Jw=new RegExp("\\b(("+Kw.join(")|(")+"))$","i"),Km={name:"yaml",token:function(i,e){var t=i.peek(),n=e.escaped;if(e.escaped=!1,t=="#"&&(i.pos==0||/\s/.test(i.string.charAt(i.pos-1))))return i.skipToEnd(),"comment";if(i.match(/^('([^']|\\.)*'?|"([^"]|\\.)*"?)/))return"string";if(e.literal&&i.indentation()>e.keyCol)return i.skipToEnd(),"string";if(e.literal&&(e.literal=!1),i.sol()){if(e.keyCol=0,e.pair=!1,e.pairStart=!1,i.match("---")||i.match("..."))return"def";if(i.match(/^\s*-\s+/))return"meta"}if(i.match(/^(\{|\}|\[|\])/))return t=="{"?e.inlinePairs++:t=="}"?e.inlinePairs--:t=="["?e.inlineList++:e.inlineList--,"meta";if(e.inlineList>0&&!n&&t==",")return i.next(),"meta";if(e.inlinePairs>0&&!n&&t==",")return e.keyCol=0,e.pair=!1,e.pairStart=!1,i.next(),"meta";if(e.pairStart){if(i.match(/^\s*(\||\>)\s*/))return e.literal=!0,"meta";if(i.match(/^\s*(\&|\*)[a-z0-9\._-]+\b/i))return"variable";if(e.inlinePairs==0&&i.match(/^\s*-?[0-9\.\,]+\s?$/)||e.inlinePairs>0&&i.match(/^\s*-?[0-9\.\,]+\s?(?=(,|}))/))return"number";if(i.match(Jw))return"keyword"}return!e.pair&&i.match(/^\s*(?:[,\[\]{}&*!|>'"%@`][^\s'":]|[^,\[\]{}#&*!|>'"%@`])[^#]*?(?=\s*:($|\s))/)?(e.pair=!0,e.keyCol=i.indentation(),"atom"):e.pair&&i.match(/^:\s*/)?(e.pairStart=!0,"meta"):(e.pairStart=!1,e.escaped=t=="\\",i.next(),null)},startState:function(){return{pair:!1,pairStart:!1,keyCol:0,inlinePairs:0,inlineList:0,literal:!1,escaped:!1}},languageData:{commentTokens:{line:"#"}}};var eP={break:!0,case:!0,chan:!0,const:!0,continue:!0,default:!0,defer:!0,else:!0,fallthrough:!0,for:!0,func:!0,go:!0,goto:!0,if:!0,import:!0,interface:!0,map:!0,package:!0,range:!0,return:!0,select:!0,struct:!0,switch:!0,type:!0,var:!0,bool:!0,byte:!0,complex64:!0,complex128:!0,float32:!0,float64:!0,int8:!0,int16:!0,int32:!0,int64:!0,string:!0,uint8:!0,uint16:!0,uint32:!0,uint64:!0,int:!0,uint:!0,uintptr:!0,error:!0,rune:!0,any:!0,comparable:!0},tP={true:!0,false:!0,iota:!0,nil:!0,append:!0,cap:!0,close:!0,complex:!0,copy:!0,delete:!0,imag:!0,len:!0,make:!0,new:!0,panic:!0,print:!0,println:!0,real:!0,recover:!0},Jm=/[+\-*&^%:=<>!|\/]/,ti;function mo(i,e){var t=i.next();if(t=='"'||t=="'"||t=="`")return e.tokenize=iP(t),e.tokenize(i,e);if(/[\d\.]/.test(t))return t=="."?i.match(/^[0-9]+([eE][\-+]?[0-9]+)?/):t=="0"?i.match(/^[xX][0-9a-fA-F]+/)||i.match(/^0[0-7]+/):i.match(/^[0-9]*\.?[0-9]*([eE][\-+]?[0-9]+)?/),"number";if(/[\[\]{}\(\),;\:\.]/.test(t))return ti=t,null;if(t=="/"){if(i.eat("*"))return e.tokenize=eg,eg(i,e);if(i.eat("/"))return i.skipToEnd(),"comment"}if(Jm.test(t))return i.eatWhile(Jm),"operator";i.eatWhile(/[\w\$_\xa1-\uffff]/);var n=i.current();return eP.propertyIsEnumerable(n)?((n=="case"||n=="default")&&(ti="case"),"keyword"):tP.propertyIsEnumerable(n)?"atom":"variable"}function iP(i){return function(e,t){for(var n=!1,r,s=!1;(r=e.next())!=null;){if(r==i&&!n){s=!0;break}n=!n&&i!="`"&&r=="\\"}return(s||!(n||i=="`"))&&(t.tokenize=mo),"string"}}function eg(i,e){for(var t=!1,n;n=i.next();){if(n=="/"&&t){e.tokenize=mo;break}t=n=="*"}return"comment"}function ig(i,e,t,n,r){this.indented=i,this.column=e,this.type=t,this.align=n,this.prev=r}function ch(i,e,t){return i.context=new ig(i.indented,e,t,null,i.context)}function tg(i){if(i.context.prev){var e=i.context.type;return(e==")"||e=="]"||e=="}")&&(i.indented=i.context.indented),i.context=i.context.prev}}var ng={name:"go",startState:function(i){return{tokenize:null,context:new ig(-i,0,"top",!1),indented:0,startOfLine:!0}},token:function(i,e){var t=e.context;if(i.sol()&&(t.align==null&&(t.align=!1),e.indented=i.indentation(),e.startOfLine=!0,t.type=="case"&&(t.type="}")),i.eatSpace())return null;ti=null;var n=(e.tokenize||mo)(i,e);return n=="comment"||(t.align==null&&(t.align=!0),ti=="{"?ch(e,i.column(),"}"):ti=="["?ch(e,i.column(),"]"):ti=="("?ch(e,i.column(),")"):ti=="case"?t.type="case":(ti=="}"&&t.type=="}"||ti==t.type)&&tg(e),e.startOfLine=!1),n},indent:function(i,e,t){if(i.tokenize!=mo&&i.tokenize!=null)return null;var n=i.context,r=e&&e.charAt(0);if(n.type=="case"&&/^(?:case|default)\b/.test(e))return n.indented;var s=r==n.type;return n.align?n.column+(s?0:1):n.indented+(s?0:t.unit)},languageData:{indentOnInput:/^\s([{}]|case |default\s*:)$/,commentTokens:{line:"//",block:{open:"/*",close:"*/"}}}};function fh(i){for(var e={},t=0,n=i.length;t]/)?(i.eat(/[\<\>]/),"atom"):i.eat(/[\+\-\*\/\&\|\:\!]/)?"atom":i.eat(/[a-zA-Z$@_\xa1-\uffff]/)?(i.eatWhile(/[\w$\xa1-\uffff]/),i.eat(/[\?\!\=]/),"atom"):"operator";if(t=="@"&&i.match(/^@?[a-zA-Z_\xa1-\uffff]/))return i.eat("@"),i.eatWhile(/[\w\xa1-\uffff]/),"propertyName";if(t=="$")return i.eat(/[a-zA-Z_]/)?i.eatWhile(/[\w]/):i.eat(/\d/)?i.eat(/\d/):i.next(),"variableName.special";if(/[a-zA-Z_\xa1-\uffff]/.test(t))return i.eatWhile(/[\w\xa1-\uffff]/),i.eat(/[\?\!]/),i.eat(":")?"atom":"variable";if(t=="|"&&(e.varList||e.lastTok=="{"||e.lastTok=="do"))return Pt="|",null;if(/[\(\)\[\]{}\\;]/.test(t))return Pt=t,null;if(t=="-"&&i.eat(">"))return"operator";if(/[=+\-\/*:\.^%<>~|]/.test(t)){var a=i.eatWhile(/[=+\-\/*:\.^%<>~|]/);return t=="."&&!a&&(Pt="."),"operator"}else return null}}}function aP(i){for(var e=i.pos,t=0,n,r=!1,s=!1;(n=i.next())!=null;)if(s)s=!1;else{if("[{(".indexOf(n)>-1)t++;else if("]})".indexOf(n)>-1){if(t--,t<0)break}else if(n=="/"&&t==0){r=!0;break}s=n=="\\"}return i.backUp(i.pos-e),r}function hh(i){return i||(i=1),function(e,t){if(e.peek()=="}"){if(i==1)return t.tokenize.pop(),t.tokenize[t.tokenize.length-1](e,t);t.tokenize[t.tokenize.length-1]=hh(i-1)}else e.peek()=="{"&&(t.tokenize[t.tokenize.length-1]=hh(i+1));return go(e,t)}}function lP(){var i=!1;return function(e,t){return i?(t.tokenize.pop(),t.tokenize[t.tokenize.length-1](e,t)):(i=!0,go(e,t))}}function Rr(i,e,t,n){return function(r,s){var o=!1,a;for(s.context.type==="read-quoted-paused"&&(s.context=s.context.prev,r.eat("}"));(a=r.next())!=null;){if(a==i&&(n||!o)){s.tokenize.pop();break}if(t&&a=="#"&&!o){if(r.eat("{")){i=="}"&&(s.context={prev:s.context,type:"read-quoted-paused"}),s.tokenize.push(hh());break}else if(/[@\$]/.test(r.peek())){s.tokenize.push(lP());break}}o=!o&&a=="\\"}return e}}function cP(i,e){return function(t,n){return e&&t.eatSpace(),t.match(i)?n.tokenize.pop():t.skipToEnd(),"string"}}function hP(i,e){return i.sol()&&i.match("=end")&&i.eol()&&e.tokenize.pop(),i.skipToEnd(),"comment"}var og={name:"ruby",startState:function(i){return{tokenize:[go],indented:0,context:{type:"top",indented:-i},continuedLine:!1,lastTok:null,varList:!1}},token:function(i,e){Pt=null,i.sol()&&(e.indented=i.indentation());var t=e.tokenize[e.tokenize.length-1](i,e),n,r=Pt;if(t=="variable"){var s=i.current();t=e.lastTok=="."?"property":nP.propertyIsEnumerable(i.current())?"keyword":/^[A-Z]/.test(s)?"tag":e.lastTok=="def"||e.lastTok=="class"||e.varList?"def":"variable",t=="keyword"&&(r=s,rP.propertyIsEnumerable(s)?n="indent":sP.propertyIsEnumerable(s)?n="dedent":((s=="if"||s=="unless")&&i.column()==i.indentation()||s=="do"&&e.context.indented2&&o.token&&typeof o.token!="string"){t.pending=[];for(var c=2;c-1)return null;var r=t.indent.length-1,s=i[t.state];e:for(;;){for(var o=0;o!]+/,token:"operator"},{regex:/[a-zA-Z_]\w*!/,token:"macroName"},{regex:/[a-zA-Z_]\w*/,token:"variable"},{regex:/[\{\[\(]/,indent:!0},{regex:/[\}\]\)]/,dedent:!0}],string:[{regex:/"/,token:"string",next:"start"},{regex:/(?:[^\\"]|\\(?:.|$))*/,token:"string"}],string_raw:[{regex:/"/,token:"string",next:"start"},{regex:/[^"]*/,token:"string"}],string_raw_hash:[{regex:/"#+/,token:"string",next:"start"},{regex:/(?:[^"]|"(?!#))*/,token:"string"}],comment:[{regex:/.*?\*\//,token:"comment",next:"start"},{regex:/.*/,token:"comment"}],languageData:{name:"rust",dontIndentStates:["comment"],indentOnInput:/^\s*\}$/,commentTokens:{line:"//",block:{open:"/*",close:"*/"}}}});function dh(i,e,t,n,r,s){this.indented=i,this.column=e,this.type=t,this.info=n,this.align=r,this.prev=s}function Qo(i,e,t,n){var r=i.indented;return i.context&&i.context.type=="statement"&&t!="statement"&&(r=i.context.indented),i.context=new dh(r,e,t,n,null,i.context)}function Ar(i){var e=i.context.type;return(e==")"||e=="]"||e=="}")&&(i.indented=i.context.indented),i.context=i.context.prev}function hg(i,e,t){if(e.prevToken=="variable"||e.prevToken=="type"||/\S(?:[^- ]>|[*\]])\s*$|\*$/.test(i.string.slice(0,t))||e.typeAtEndOfLine&&i.column()==i.indentation())return!0}function uh(i){for(;;){if(!i||i.type=="top")return!0;if(i.type=="}"&&i.prev.info!="namespace")return!1;i=i.prev}}function et(i){var e=i.statementIndentUnit,t=i.dontAlignCalls,n=i.keywords||{},r=i.types||{},s=i.builtin||{},o=i.blockKeywords||{},a=i.defKeywords||{},l=i.atoms||{},c=i.hooks||{},h=i.multiLineStrings,f=i.indentStatements!==!1,u=i.indentSwitch!==!1,O=i.namespaceSeparator,p=i.isPunctuationChar||/[\[\]{}\(\),;\:\.]/,m=i.numberStart||/[\d\.]/,b=i.number||/^(?:0x[a-f\d]+|0b[01]+|(?:\d+\.?\d*|\.\d+)(?:e[-+]?\d+)?)(u|ll?|l|f)?/i,g=i.isOperatorChar||/[+\-*&%=<>!?|\/]/,Q=i.isIdentifierChar||/[\w\$_\xa1-\uffff]/,S=i.isReservedIdentifier||!1,x,v;function $(T,k){var w=T.next();if(c[w]){var C=c[w](T,k);if(C!==!1)return C}if(w=='"'||w=="'")return k.tokenize=R(w),k.tokenize(T,k);if(m.test(w)){if(T.backUp(1),T.match(b))return"number";T.next()}if(p.test(w))return x=w,null;if(w=="/"){if(T.eat("*"))return k.tokenize=_,_(T,k);if(T.eat("/"))return T.skipToEnd(),"comment"}if(g.test(w)){for(;!T.match(/^\/[\/*]/,!1)&&T.eat(g););return"operator"}if(T.eatWhile(Q),O)for(;T.match(O);)T.eatWhile(Q);var j=T.current();return ii(n,j)?(ii(o,j)&&(x="newstatement"),ii(a,j)&&(v=!0),"keyword"):ii(r,j)?"type":ii(s,j)||S&&S(j)?(ii(o,j)&&(x="newstatement"),"builtin"):ii(l,j)?"atom":"variable"}function R(T){return function(k,w){for(var C=!1,j,y=!1;(j=k.next())!=null;){if(j==T&&!C){y=!0;break}C=!C&&j=="\\"}return(y||!(C||h))&&(w.tokenize=null),"string"}}function _(T,k){for(var w=!1,C;C=T.next();){if(C=="/"&&w){k.tokenize=null;break}w=C=="*"}return"comment"}function W(T,k){i.typeFirstDefinitions&&T.eol()&&uh(k.context)&&(k.typeAtEndOfLine=hg(T,k,T.pos))}return{name:i.name,startState:function(T){return{tokenize:null,context:new dh(-T,0,"top",null,!1),indented:0,startOfLine:!0,prevToken:null}},token:function(T,k){var w=k.context;if(T.sol()&&(w.align==null&&(w.align=!1),k.indented=T.indentation(),k.startOfLine=!0),T.eatSpace())return W(T,k),null;x=v=null;var C=(k.tokenize||$)(T,k);if(C=="comment"||C=="meta")return C;if(w.align==null&&(w.align=!0),x==";"||x==":"||x==","&&T.match(/^\s*(?:\/\/.*)?$/,!1))for(;k.context.type=="statement";)Ar(k);else if(x=="{")Qo(k,T.column(),"}");else if(x=="[")Qo(k,T.column(),"]");else if(x=="(")Qo(k,T.column(),")");else if(x=="}"){for(;w.type=="statement";)w=Ar(k);for(w.type=="}"&&(w=Ar(k));w.type=="statement";)w=Ar(k)}else x==w.type?Ar(k):f&&((w.type=="}"||w.type=="top")&&x!=";"||w.type=="statement"&&x=="newstatement")&&Qo(k,T.column(),"statement",T.current());if(C=="variable"&&(k.prevToken=="def"||i.typeFirstDefinitions&&hg(T,k,T.start)&&uh(k.context)&&T.match(/^\s*\(/,!1))&&(C="def"),c.token){var j=c.token(T,k,C);j!==void 0&&(C=j)}return C=="def"&&i.styleDefs===!1&&(C="variable"),k.startOfLine=!1,k.prevToken=v?"def":C||x,W(T,k),C},indent:function(T,k,w){if(T.tokenize!=$&&T.tokenize!=null||T.typeAtEndOfLine&&uh(T.context))return null;var C=T.context,j=k&&k.charAt(0),y=j==C.type;if(C.type=="statement"&&j=="}"&&(C=C.prev),i.dontIndentStatements)for(;C.type=="statement"&&i.dontIndentStatements.test(C.info);)C=C.prev;if(c.indent){var q=c.indent(T,C,k,w.unit);if(typeof q=="number")return q}var de=C.prev&&C.prev.info=="switch";if(i.allmanIndentation&&/[{(]/.test(j)){for(;C.type!="top"&&C.type!="}";)C=C.prev;return C.indented}return C.type=="statement"?C.indented+(j=="{"?0:e||w.unit):C.align&&(!t||C.type!=")")?C.column+(y?0:1):C.type==")"&&!y?C.indented+(e||w.unit):C.indented+(y?0:w.unit)+(!y&&de&&!/^(?:case|default)\b/.test(k)?w.unit:0)},languageData:{indentOnInput:u?/^\s*(?:case .*?:|default:|\{\}?|\})$/:/^\s*[{}]$/,commentTokens:{line:"//",block:{open:"/*",close:"*/"}},autocomplete:Object.keys(n).concat(Object.keys(r)).concat(Object.keys(s)).concat(Object.keys(l)),...i.languageData}}}function V(i){for(var e={},t=i.split(" "),n=0;n!?|\/#:@]/,hooks:{"@":function(i){return i.eatWhile(/[\w\$_]/),"meta"},'"':function(i,e){return i.match('""')?(e.tokenize=kg,e.tokenize(i,e)):!1},"'":function(i){return i.match(/^(\\[^'\s]+|[^\\'])'/)?"character":(i.eatWhile(/[\w\$_\xa1-\uffff]/),"atom")},"=":function(i,e){var t=e.context;return t.type=="}"&&t.align&&i.eat(">")?(e.context=new dh(t.indented,t.column,t.type,t.info,null,t.prev),"operator"):!1},"/":function(i,e){return i.eat("*")?(e.tokenize=Zr(1),e.tokenize(i,e)):!1}},languageData:{closeBrackets:{brackets:["(","[","{","'",'"','"""']}}});function QP(i){return function(e,t){for(var n=!1,r,s=!1;!e.eol();){if(!i&&!n&&e.match('"')){s=!0;break}if(i&&e.match('"""')){s=!0;break}r=e.next(),!n&&r=="$"&&e.match("{")&&e.skipTo("}"),n=!n&&r=="\\"&&!i}return(s||!i)&&(t.tokenize=null),"string"}}var xg=et({name:"kotlin",keywords:V("package as typealias class interface this super val operator var fun for is in This throw return annotation break continue object if else while do try when !in !is as? file import where by get set abstract enum open inner override private public internal protected catch finally out final vararg reified dynamic companion constructor init sealed field property receiver param sparam lateinit data inline noinline tailrec external annotation crossinline const operator infix suspend actual expect setparam"),types:V("Boolean Byte Character CharSequence Class ClassLoader Cloneable Comparable Compiler Double Exception Float Integer Long Math Number Object Package Pair Process Runtime Runnable SecurityManager Short StackTraceElement StrictMath String StringBuffer System Thread ThreadGroup ThreadLocal Throwable Triple Void Annotation Any BooleanArray ByteArray Char CharArray DeprecationLevel DoubleArray Enum FloatArray Function Int IntArray Lazy LazyThreadSafetyMode LongArray Nothing ShortArray Unit"),intendSwitch:!1,indentStatements:!1,multiLineStrings:!0,number:/^(?:0x[a-f\d_]+|0b[01_]+|(?:[\d_]+(\.\d+)?|\.\d+)(?:e[-+]?[\d_]+)?)(ul?|l|f)?/i,blockKeywords:V("catch class do else finally for if where try while enum"),defKeywords:V("class val var object interface fun"),atoms:V("true false null this"),hooks:{"@":function(i){return i.eatWhile(/[\w\$_]/),"meta"},"*":function(i,e){return e.prevToken=="."?"variable":"operator"},'"':function(i,e){return e.tokenize=QP(i.match('""')),e.tokenize(i,e)},"/":function(i,e){return i.eat("*")?(e.tokenize=Zr(1),e.tokenize(i,e)):!1},indent:function(i,e,t,n){var r=t&&t.charAt(0);if((i.prevToken=="}"||i.prevToken==")")&&t=="")return i.indented;if(i.prevToken=="operator"&&t!="}"&&i.context.type!="}"||i.prevToken=="variable"&&r=="."||(i.prevToken=="}"||i.prevToken==")")&&r==".")return n*2+e.indented;if(e.align&&e.type=="}")return e.indented+(i.context.type==(t||"").charAt(0)?0:n)}},languageData:{closeBrackets:{brackets:["(","[","{","'",'"','"""']}}}),oC=et({name:"shader",keywords:V("sampler1D sampler2D sampler3D samplerCube sampler1DShadow sampler2DShadow const attribute uniform varying break continue discard return for while do if else struct in out inout"),types:V("float int bool void vec2 vec3 vec4 ivec2 ivec3 ivec4 bvec2 bvec3 bvec4 mat2 mat3 mat4"),blockKeywords:V("for while do if else struct"),builtin:V("radians degrees sin cos tan asin acos atan pow exp log exp2 sqrt inversesqrt abs sign floor ceil fract mod min max clamp mix step smoothstep length distance dot cross normalize ftransform faceforward reflect refract matrixCompMult lessThan lessThanEqual greaterThan greaterThanEqual equal notEqual any all not texture1D texture1DProj texture1DLod texture1DProjLod texture2D texture2DProj texture2DLod texture2DProjLod texture3D texture3DProj texture3DLod texture3DProjLod textureCube textureCubeLod shadow1D shadow2D shadow1DProj shadow2DProj shadow1DLod shadow2DLod shadow1DProjLod shadow2DProjLod dFdx dFdy fwidth noise1 noise2 noise3 noise4"),atoms:V("true false gl_FragColor gl_SecondaryColor gl_Normal gl_Vertex gl_MultiTexCoord0 gl_MultiTexCoord1 gl_MultiTexCoord2 gl_MultiTexCoord3 gl_MultiTexCoord4 gl_MultiTexCoord5 gl_MultiTexCoord6 gl_MultiTexCoord7 gl_FogCoord gl_PointCoord gl_Position gl_PointSize gl_ClipVertex gl_FrontColor gl_BackColor gl_FrontSecondaryColor gl_BackSecondaryColor gl_TexCoord gl_FogFragCoord gl_FragCoord gl_FrontFacing gl_FragData gl_FragDepth gl_ModelViewMatrix gl_ProjectionMatrix gl_ModelViewProjectionMatrix gl_TextureMatrix gl_NormalMatrix gl_ModelViewMatrixInverse gl_ProjectionMatrixInverse gl_ModelViewProjectionMatrixInverse gl_TextureMatrixTranspose gl_ModelViewMatrixInverseTranspose gl_ProjectionMatrixInverseTranspose gl_ModelViewProjectionMatrixInverseTranspose gl_TextureMatrixInverseTranspose gl_NormalScale gl_DepthRange gl_ClipPlane gl_Point gl_FrontMaterial gl_BackMaterial gl_LightSource gl_LightModel gl_FrontLightModelProduct gl_BackLightModelProduct gl_TextureColor gl_EyePlaneS gl_EyePlaneT gl_EyePlaneR gl_EyePlaneQ gl_FogParameters gl_MaxLights gl_MaxClipPlanes gl_MaxTextureUnits gl_MaxTextureCoords gl_MaxVertexAttribs gl_MaxVertexUniformComponents gl_MaxVaryingFloats gl_MaxVertexTextureImageUnits gl_MaxTextureImageUnits gl_MaxFragmentUniformComponents gl_MaxCombineTextureImageUnits gl_MaxDrawBuffers"),indentSwitch:!1,hooks:{"#":wi}}),aC=et({name:"nesc",keywords:V(Er+" as atomic async call command component components configuration event generic implementation includes interface module new norace nx_struct nx_union post provides signal task uses abstract extends"),types:qr,blockKeywords:V(zr),atoms:V("null true false"),hooks:{"#":wi}}),wg=et({name:"objectivec",keywords:V(Er+" "+dg),types:mg,builtin:V(pg),blockKeywords:V(zr+" @synthesize @try @catch @finally @autoreleasepool @synchronized"),defKeywords:V(So+" @interface @implementation @protocol @class"),dontIndentStatements:/^@.*$/,typeFirstDefinitions:!0,atoms:V("YES NO NULL Nil nil true false nullptr"),isReservedIdentifier:ko,hooks:{"#":wi,"*":yo}}),lC=et({name:"objectivecpp",keywords:V(Er+" "+dg+" "+Og),types:mg,builtin:V(pg),blockKeywords:V(zr+" @synthesize @try @catch @finally @autoreleasepool @synchronized class try catch"),defKeywords:V(So+" @interface @implementation @protocol @class class namespace"),dontIndentStatements:/^@.*$|^template$/,typeFirstDefinitions:!0,atoms:V("YES NO NULL Nil nil true false nullptr"),isReservedIdentifier:ko,hooks:{"#":wi,"*":yo,u:xi,U:xi,L:xi,R:xi,0:Se,1:Se,2:Se,3:Se,4:Se,5:Se,6:Se,7:Se,8:Se,9:Se,token:function(i,e,t){if(t=="variable"&&i.peek()=="("&&(e.prevToken==";"||e.prevToken==null||e.prevToken=="}")&&gg(i.current()))return"def"}},namespaceSeparator:"::"}),cC=et({name:"squirrel",keywords:V("base break clone continue const default delete enum extends function in class foreach local resume return this throw typeof yield constructor instanceof static"),types:qr,blockKeywords:V("case catch class else for foreach if switch try while"),defKeywords:V("function local class"),typeFirstDefinitions:!0,atoms:V("true false null"),hooks:{"#":wi}}),bo=null;function Pg(i){return function(e,t){for(var n=!1,r,s=!1;!e.eol();){if(!n&&e.match('"')&&(i=="single"||e.match('""'))){s=!0;break}if(!n&&e.match("``")){bo=Pg(i),s=!0;break}r=e.next(),n=i=="single"&&!n&&r=="\\"}return s&&(t.tokenize=null),"string"}}var hC=et({name:"ceylon",keywords:V("abstracts alias assembly assert assign break case catch class continue dynamic else exists extends finally for function given if import in interface is let module new nonempty object of out outer package return satisfies super switch then this throw try value void while"),types:function(i){var e=i.charAt(0);return e===e.toUpperCase()&&e!==e.toLowerCase()},blockKeywords:V("case catch class dynamic else finally for function if interface module new object switch try while"),defKeywords:V("class dynamic function interface module object package value"),builtin:V("abstract actual aliased annotation by default deprecated doc final formal late license native optional sealed see serializable shared suppressWarnings tagged throws variable"),isPunctuationChar:/[\[\]{}\(\),;\:\.`]/,isOperatorChar:/[+\-*&%=<>!?|^~:\/]/,numberStart:/[\d#$]/,number:/^(?:#[\da-fA-F_]+|\$[01_]+|[\d_]+[kMGTPmunpf]?|[\d_]+\.[\d_]+(?:[eE][-+]?\d+|[kMGTPmunpf]|)|)/i,multiLineStrings:!0,typeFirstDefinitions:!0,atoms:V("true false null larger smaller equal empty finished"),indentSwitch:!1,styleDefs:!1,hooks:{"@":function(i){return i.eatWhile(/[\w\$_]/),"meta"},'"':function(i,e){return e.tokenize=Pg(i.match('""')?"triple":"single"),e.tokenize(i,e)},"`":function(i,e){return!bo||!i.match("`")?!1:(e.tokenize=bo,bo=null,e.tokenize(i,e))},"'":function(i){return i.match(/^(\\[^'\s]+|[^\\'])'/)?"string.special":(i.eatWhile(/[\w\$_\xa1-\uffff]/),"atom")},token:function(i,e,t){if((t=="variable"||t=="type")&&e.prevToken==".")return"variableName.special"}},languageData:{closeBrackets:{brackets:["(","[","{","'",'"','"""']}}});function bP(i){(i.interpolationStack||(i.interpolationStack=[])).push(i.tokenize)}function vg(i){return(i.interpolationStack||(i.interpolationStack=[])).pop()}function SP(i){return i.interpolationStack?i.interpolationStack.length:0}function Oh(i,e,t,n){var r=!1;if(e.eat(i))if(e.eat(i))r=!0;else return"string";function s(o,a){for(var l=!1;!o.eol();){if(!n&&!l&&o.peek()=="$")return bP(a),a.tokenize=yP,"string";var c=o.next();if(c==i&&!l&&(!r||o.match(i+i))){a.tokenize=null;break}l=!n&&!l&&c=="\\"}return"string"}return t.tokenize=s,s(e,t)}function yP(i,e){return i.eat("$"),i.eat("{")?e.tokenize=null:e.tokenize=kP,null}function kP(i,e){return i.eatWhile(/[\w_]/),e.tokenize=vg(e),"variable"}var fC=et({name:"dart",keywords:V("this super static final const abstract class extends external factory implements mixin get native set typedef with enum throw rethrow assert break case continue default in return new deferred async await covariant try catch finally do else for if switch while import library export part of show hide is as extension on yield late required sealed base interface when inline"),blockKeywords:V("try catch finally do else for if switch while"),builtin:V("void bool num int double dynamic var String Null Never"),atoms:V("true false null"),number:/^(?:0x[a-f\d_]+|(?:[\d_]+\.?[\d_]*|\.[\d_]+)(?:e[-+]?[\d_]+)?)/i,hooks:{"@":function(i){return i.eatWhile(/[\w\$_\.]/),"meta"},"'":function(i,e){return Oh("'",i,e,!1)},'"':function(i,e){return Oh('"',i,e,!1)},r:function(i,e){var t=i.peek();return t=="'"||t=='"'?Oh(i.next(),i,e,!0):!1},"}":function(i,e){return SP(e)>0?(e.tokenize=vg(e),null):!1},"/":function(i,e){return i.eat("*")?(e.tokenize=Zr(1),e.tokenize(i,e)):!1},token:function(i,e,t){if(t=="variable"){var n=RegExp("^[_$]*[A-Z][a-zA-Z0-9_$]*$","g");if(n.test(i.current()))return"type"}}}});function We(i){var e=i.client||{},t=i.atoms||{false:!0,true:!0,null:!0},n=i.builtin||M(Tg),r=i.keywords||M(Hi),s=i.operatorChars||/^[*+\-%<>!=&|~^\/]/,o=i.support||{},a=i.hooks||{},l=i.dateSQL||{date:!0,time:!0,timestamp:!0},c=i.backslashStringEscapes!==!1,h=i.brackets||/^[\{}\(\)\[\]]/,f=i.punctuation||/^[;.,:]/;function u(g,Q){var S=g.next();if(a[S]){var x=a[S](g,Q);if(x!==!1)return x}if(o.hexNumber&&(S=="0"&&g.match(/^[xX][0-9a-fA-F]+/)||(S=="x"||S=="X")&&g.match(/^'[0-9a-fA-F]*'/)))return"number";if(o.binaryNumber&&((S=="b"||S=="B")&&g.match(/^'[01]+'/)||S=="0"&&g.match(/^b[01]*/)))return"number";if(S.charCodeAt(0)>47&&S.charCodeAt(0)<58)return g.match(/^[0-9]*(\.[0-9]+)?([eE][-+]?[0-9]+)?/),o.decimallessFloat&&g.match(/^\.(?!\.)/),"number";if(S=="?"&&(g.eatSpace()||g.eol()||g.eat(";")))return"macroName";if(S=="'"||S=='"'&&o.doubleQuote)return Q.tokenize=O(S),Q.tokenize(g,Q);if((o.nCharCast&&(S=="n"||S=="N")||o.charsetCast&&S=="_"&&g.match(/[a-z][a-z0-9]*/i))&&(g.peek()=="'"||g.peek()=='"'))return"keyword";if(o.escapeConstant&&(S=="e"||S=="E")&&(g.peek()=="'"||g.peek()=='"'&&o.doubleQuote))return Q.tokenize=function($,R){return(R.tokenize=O($.next(),!0))($,R)},"keyword";if(o.commentSlashSlash&&S=="/"&&g.eat("/"))return g.skipToEnd(),"comment";if(o.commentHash&&S=="#"||S=="-"&&g.eat("-")&&(!o.commentSpaceRequired||g.eat(" ")))return g.skipToEnd(),"comment";if(S=="/"&&g.eat("*"))return Q.tokenize=p(1),Q.tokenize(g,Q);if(S=="."){if(o.zerolessFloat&&g.match(/^(?:\d+(?:e[+-]?\d+)?)/i))return"number";if(g.match(/^\.+/))return null;if(o.ODBCdotTable&&g.match(/^[\w\d_$#]+/))return"type"}else{if(s.test(S))return g.eatWhile(s),"operator";if(h.test(S))return"bracket";if(f.test(S))return g.eatWhile(f),"punctuation";if(S=="{"&&(g.match(/^( )*(d|D|t|T|ts|TS)( )*'[^']*'( )*}/)||g.match(/^( )*(d|D|t|T|ts|TS)( )*"[^"]*"( )*}/)))return"number";g.eatWhile(/^[_\w\d]/);var v=g.current().toLowerCase();return l.hasOwnProperty(v)&&(g.match(/^( )+'[^']*'/)||g.match(/^( )+"[^"]*"/))?"number":t.hasOwnProperty(v)?"atom":n.hasOwnProperty(v)?"type":r.hasOwnProperty(v)?"keyword":e.hasOwnProperty(v)?"builtin":null}}function O(g,Q){return function(S,x){for(var v=!1,$;($=S.next())!=null;){if($==g&&!v){x.tokenize=u;break}v=(c||Q)&&!v&&$=="\\"}return"string"}}function p(g){return function(Q,S){var x=Q.match(/^.*?(\/\*|\*\/)/);return x?x[1]=="/*"?S.tokenize=p(g+1):g>1?S.tokenize=p(g-1):S.tokenize=u:Q.skipToEnd(),"comment"}}function m(g,Q,S){Q.context={prev:Q.context,indent:g.indentation(),col:g.column(),type:S}}function b(g){g.indent=g.context.indent,g.context=g.context.prev}return{name:"sql",startState:function(){return{tokenize:u,context:null}},token:function(g,Q){if(g.sol()&&Q.context&&Q.context.align==null&&(Q.context.align=!1),Q.tokenize==u&&g.eatSpace())return null;var S=Q.tokenize(g,Q);if(S=="comment")return S;Q.context&&Q.context.align==null&&(Q.context.align=!0);var x=g.current();return x=="("?m(g,Q,")"):x=="["?m(g,Q,"]"):Q.context&&Q.context.type==x&&b(Q),S},indent:function(g,Q,S){var x=g.context;if(!x)return null;var v=Q.charAt(0)==x.type;return x.align?x.col+(v?0:1):x.indent+(v?0:S.unit)},languageData:{commentTokens:{line:o.commentSlashSlash?"//":o.commentHash?"#":"--",block:{open:"/*",close:"*/"}},closeBrackets:{brackets:["(","[","{","'",'"',"`"]}}}}function ph(i){for(var e;(e=i.next())!=null;)if(e=="`"&&!i.eat("`"))return"string.special";return i.backUp(i.current().length-1),i.eatWhile(/\w/)?"string.special":null}function xP(i){for(var e;(e=i.next())!=null;)if(e=='"'&&!i.eat('"'))return"string.special";return i.backUp(i.current().length-1),i.eatWhile(/\w/)?"string.special":null}function Fi(i){return i.eat("@")&&(i.match("session."),i.match("local."),i.match("global.")),i.eat("'")?(i.match(/^.*'/),"string.special"):i.eat('"')?(i.match(/^.*"/),"string.special"):i.eat("`")?(i.match(/^.*`/),"string.special"):i.match(/^[0-9a-zA-Z$\.\_]+/)?"string.special":null}function $g(i){return i.eat("N")?"atom":i.match(/^[a-zA-Z.#!?]/)?"string.special":null}var Hi="alter and as asc between by count create delete desc distinct drop from group having in insert into is join like not on or order select set table union update values where limit ";function M(i){for(var e={},t=i.split(" "),n=0;n!=^\&|\/]/,brackets:/^[\{}\(\)]/,punctuation:/^[;.,:/]/,backslashStringEscapes:!1,dateSQL:M("date datetimeoffset datetime2 smalldatetime datetime time"),hooks:{"@":Fi}}),pC=We({client:M("charset clear connect edit ego exit go help nopager notee nowarning pager print prompt quit rehash source status system tee"),keywords:M(Hi+"accessible action add after algorithm all analyze asensitive at authors auto_increment autocommit avg avg_row_length before binary binlog both btree cache call cascade cascaded case catalog_name chain change changed character check checkpoint checksum class_origin client_statistics close coalesce code collate collation collations column columns comment commit committed completion concurrent condition connection consistent constraint contains continue contributors convert cross current current_date current_time current_timestamp current_user cursor data database databases day_hour day_microsecond day_minute day_second deallocate dec declare default delay_key_write delayed delimiter des_key_file describe deterministic dev_pop dev_samp deviance diagnostics directory disable discard distinctrow div dual dumpfile each elseif enable enclosed end ends engine engines enum errors escape escaped even event events every execute exists exit explain extended fast fetch field fields first flush for force foreign found_rows full fulltext function general get global grant grants group group_concat handler hash help high_priority hosts hour_microsecond hour_minute hour_second if ignore ignore_server_ids import index index_statistics infile inner innodb inout insensitive insert_method install interval invoker isolation iterate key keys kill language last leading leave left level limit linear lines list load local localtime localtimestamp lock logs low_priority master master_heartbeat_period master_ssl_verify_server_cert masters match max max_rows maxvalue message_text middleint migrate min min_rows minute_microsecond minute_second mod mode modifies modify mutex mysql_errno natural next no no_write_to_binlog offline offset one online open optimize option optionally out outer outfile pack_keys parser partition partitions password phase plugin plugins prepare preserve prev primary privileges procedure processlist profile profiles purge query quick range read read_write reads real rebuild recover references regexp relaylog release remove rename reorganize repair repeatable replace require resignal restrict resume return returns revoke right rlike rollback rollup row row_format rtree savepoint schedule schema schema_name schemas second_microsecond security sensitive separator serializable server session share show signal slave slow smallint snapshot soname spatial specific sql sql_big_result sql_buffer_result sql_cache sql_calc_found_rows sql_no_cache sql_small_result sqlexception sqlstate sqlwarning ssl start starting starts status std stddev stddev_pop stddev_samp storage straight_join subclass_origin sum suspend table_name table_statistics tables tablespace temporary terminated to trailing transaction trigger triggers truncate uncommitted undo uninstall unique unlock upgrade usage use use_frm user user_resources user_statistics using utc_date utc_time utc_timestamp value variables varying view views warnings when while with work write xa xor year_month zerofill begin do then else loop repeat"),builtin:M("bool boolean bit blob decimal double float long longblob longtext medium mediumblob mediumint mediumtext time timestamp tinyblob tinyint tinytext text bigint int int1 int2 int3 int4 int8 integer float float4 float8 double char varbinary varchar varcharacter precision date datetime year unsigned signed numeric"),atoms:M("false true null unknown"),operatorChars:/^[*+\-%<>!=&|^]/,dateSQL:M("date time timestamp"),support:M("ODBCdotTable decimallessFloat zerolessFloat binaryNumber hexNumber doubleQuote nCharCast charsetCast commentHash commentSpaceRequired"),hooks:{"@":Fi,"`":ph,"\\":$g}}),mC=We({client:M("charset clear connect edit ego exit go help nopager notee nowarning pager print prompt quit rehash source status system tee"),keywords:M(Hi+"accessible action add after algorithm all always analyze asensitive at authors auto_increment autocommit avg avg_row_length before binary binlog both btree cache call cascade cascaded case catalog_name chain change changed character check checkpoint checksum class_origin client_statistics close coalesce code collate collation collations column columns comment commit committed completion concurrent condition connection consistent constraint contains continue contributors convert cross current current_date current_time current_timestamp current_user cursor data database databases day_hour day_microsecond day_minute day_second deallocate dec declare default delay_key_write delayed delimiter des_key_file describe deterministic dev_pop dev_samp deviance diagnostics directory disable discard distinctrow div dual dumpfile each elseif enable enclosed end ends engine engines enum errors escape escaped even event events every execute exists exit explain extended fast fetch field fields first flush for force foreign found_rows full fulltext function general generated get global grant grants group group_concat handler hard hash help high_priority hosts hour_microsecond hour_minute hour_second if ignore ignore_server_ids import index index_statistics infile inner innodb inout insensitive insert_method install interval invoker isolation iterate key keys kill language last leading leave left level limit linear lines list load local localtime localtimestamp lock logs low_priority master master_heartbeat_period master_ssl_verify_server_cert masters match max max_rows maxvalue message_text middleint migrate min min_rows minute_microsecond minute_second mod mode modifies modify mutex mysql_errno natural next no no_write_to_binlog offline offset one online open optimize option optionally out outer outfile pack_keys parser partition partitions password persistent phase plugin plugins prepare preserve prev primary privileges procedure processlist profile profiles purge query quick range read read_write reads real rebuild recover references regexp relaylog release remove rename reorganize repair repeatable replace require resignal restrict resume return returns revoke right rlike rollback rollup row row_format rtree savepoint schedule schema schema_name schemas second_microsecond security sensitive separator serializable server session share show shutdown signal slave slow smallint snapshot soft soname spatial specific sql sql_big_result sql_buffer_result sql_cache sql_calc_found_rows sql_no_cache sql_small_result sqlexception sqlstate sqlwarning ssl start starting starts status std stddev stddev_pop stddev_samp storage straight_join subclass_origin sum suspend table_name table_statistics tables tablespace temporary terminated to trailing transaction trigger triggers truncate uncommitted undo uninstall unique unlock upgrade usage use use_frm user user_resources user_statistics using utc_date utc_time utc_timestamp value variables varying view views virtual warnings when while with work write xa xor year_month zerofill begin do then else loop repeat"),builtin:M("bool boolean bit blob decimal double float long longblob longtext medium mediumblob mediumint mediumtext time timestamp tinyblob tinyint tinytext text bigint int int1 int2 int3 int4 int8 integer float float4 float8 double char varbinary varchar varcharacter precision date datetime year unsigned signed numeric"),atoms:M("false true null unknown"),operatorChars:/^[*+\-%<>!=&|^]/,dateSQL:M("date time timestamp"),support:M("ODBCdotTable decimallessFloat zerolessFloat binaryNumber hexNumber doubleQuote nCharCast charsetCast commentHash commentSpaceRequired"),hooks:{"@":Fi,"`":ph,"\\":$g}}),gC=We({client:M("auth backup bail binary changes check clone databases dbinfo dump echo eqp exit explain fullschema headers help import imposter indexes iotrace limit lint load log mode nullvalue once open output print prompt quit read restore save scanstats schema separator session shell show stats system tables testcase timeout timer trace vfsinfo vfslist vfsname width"),keywords:M(Hi+"abort action add after all analyze attach autoincrement before begin cascade case cast check collate column commit conflict constraint cross current_date current_time current_timestamp database default deferrable deferred detach each else end escape except exclusive exists explain fail for foreign full glob if ignore immediate index indexed initially inner instead intersect isnull key left limit match natural no notnull null of offset outer plan pragma primary query raise recursive references regexp reindex release rename replace restrict right rollback row savepoint temp temporary then to transaction trigger unique using vacuum view virtual when with without"),builtin:M("bool boolean bit blob decimal double float long longblob longtext medium mediumblob mediumint mediumtext time timestamp tinyblob tinyint tinytext text clob bigint int int2 int8 integer float double char varchar date datetime year unsigned signed numeric real"),atoms:M("null current_date current_time current_timestamp"),operatorChars:/^[*+\-%<>!=&|/~]/,dateSQL:M("date time timestamp datetime"),support:M("decimallessFloat zerolessFloat"),identifierQuote:'"',hooks:{"@":Fi,":":Fi,"?":Fi,$:Fi,'"':xP,"`":ph}}),QC=We({client:{},keywords:M("add all allow alter and any apply as asc authorize batch begin by clustering columnfamily compact consistency count create custom delete desc distinct drop each_quorum exists filtering from grant if in index insert into key keyspace keyspaces level limit local_one local_quorum modify nan norecursive nosuperuser not of on one order password permission permissions primary quorum rename revoke schema select set storage superuser table three to token truncate ttl two type unlogged update use user users using values where with writetime"),builtin:M("ascii bigint blob boolean counter decimal double float frozen inet int list map static text timestamp timeuuid tuple uuid varchar varint"),atoms:M("false true infinity NaN"),operatorChars:/^[<>=]/,dateSQL:{},support:M("commentSlashSlash decimallessFloat"),hooks:{}}),bC=We({client:M("appinfo arraysize autocommit autoprint autorecovery autotrace blockterminator break btitle cmdsep colsep compatibility compute concat copycommit copytypecheck define describe echo editfile embedded escape exec execute feedback flagger flush heading headsep instance linesize lno loboffset logsource long longchunksize markup native newpage numformat numwidth pagesize pause pno recsep recsepchar release repfooter repheader serveroutput shiftinout show showmode size spool sqlblanklines sqlcase sqlcode sqlcontinue sqlnumber sqlpluscompatibility sqlprefix sqlprompt sqlterminator suffix tab term termout time timing trimout trimspool ttitle underline verify version wrap"),keywords:M("abort accept access add all alter and any array arraylen as asc assert assign at attributes audit authorization avg base_table begin between binary_integer body boolean by case cast char char_base check close cluster clusters colauth column comment commit compress connect connected constant constraint crash create current currval cursor data_base database date dba deallocate debugoff debugon decimal declare default definition delay delete desc digits dispose distinct do drop else elseif elsif enable end entry escape exception exception_init exchange exclusive exists exit external fast fetch file for force form from function generic goto grant group having identified if immediate in increment index indexes indicator initial initrans insert interface intersect into is key level library like limited local lock log logging long loop master maxextents maxtrans member minextents minus mislabel mode modify multiset new next no noaudit nocompress nologging noparallel not nowait number_base object of off offline on online only open option or order out package parallel partition pctfree pctincrease pctused pls_integer positive positiven pragma primary prior private privileges procedure public raise range raw read rebuild record ref references refresh release rename replace resource restrict return returning returns reverse revoke rollback row rowid rowlabel rownum rows run savepoint schema segment select separate session set share snapshot some space split sql start statement storage subtype successful synonym tabauth table tables tablespace task terminate then to trigger truncate type union unique unlimited unrecoverable unusable update use using validate value values variable view views when whenever where while with work"),builtin:M("abs acos add_months ascii asin atan atan2 average bfile bfilename bigserial bit blob ceil character chartorowid chr clob concat convert cos cosh count dec decode deref dual dump dup_val_on_index empty error exp false float floor found glb greatest hextoraw initcap instr instrb int integer isopen last_day least length lengthb ln lower lpad ltrim lub make_ref max min mlslabel mod months_between natural naturaln nchar nclob new_time next_day nextval nls_charset_decl_len nls_charset_id nls_charset_name nls_initcap nls_lower nls_sort nls_upper nlssort no_data_found notfound null number numeric nvarchar2 nvl others power rawtohex real reftohex round rowcount rowidtochar rowtype rpad rtrim serial sign signtype sin sinh smallint soundex sqlcode sqlerrm sqrt stddev string substr substrb sum sysdate tan tanh to_char text to_date to_label to_multi_byte to_number to_single_byte translate true trunc uid unlogged upper user userenv varchar varchar2 variance varying vsize xml"),operatorChars:/^[*\/+\-%<>!=~]/,dateSQL:M("date time timestamp"),support:M("doubleQuote nCharCast zerolessFloat binaryNumber hexNumber")}),SC=We({keywords:M("select alter $elem$ $key$ $value$ add after all analyze and archive as asc before between binary both bucket buckets by cascade case cast change cluster clustered clusterstatus collection column columns comment compute concatenate continue create cross cursor data database databases dbproperties deferred delete delimited desc describe directory disable distinct distribute drop else enable end escaped exclusive exists explain export extended external fetch fields fileformat first format formatted from full function functions grant group having hold_ddltime idxproperties if import in index indexes inpath inputdriver inputformat insert intersect into is items join keys lateral left like limit lines load local location lock locks mapjoin materialized minus msck no_drop nocompress not of offline on option or order out outer outputdriver outputformat overwrite partition partitioned partitions percent plus preserve procedure purge range rcfile read readonly reads rebuild recordreader recordwriter recover reduce regexp rename repair replace restrict revoke right rlike row schema schemas semi sequencefile serde serdeproperties set shared show show_database sort sorted ssl statistics stored streamtable table tables tablesample tblproperties temporary terminated textfile then tmp to touch transform trigger unarchive undo union uniquejoin unlock update use using utc utc_tmestamp view when where while with admin authorization char compact compactions conf cube current current_date current_timestamp day decimal defined dependency directories elem_type exchange file following for grouping hour ignore inner interval jar less logical macro minute month more none noscan over owner partialscan preceding pretty principals protection reload rewrite role roles rollup rows second server sets skewed transactions truncate unbounded unset uri user values window year"),builtin:M("bool boolean long timestamp tinyint smallint bigint int float double date datetime unsigned string array struct map uniontype key_type utctimestamp value_type varchar"),atoms:M("false true null unknown"),operatorChars:/^[*+\-%<>!=]/,dateSQL:M("date timestamp"),support:M("ODBCdotTable doubleQuote binaryNumber hexNumber")}),yC=We({client:M("source"),keywords:M(Hi+"a abort abs absent absolute access according action ada add admin after aggregate alias all allocate also alter always analyse analyze and any are array array_agg array_max_cardinality as asc asensitive assert assertion assignment asymmetric at atomic attach attribute attributes authorization avg backward base64 before begin begin_frame begin_partition bernoulli between bigint binary bit bit_length blob blocked bom boolean both breadth by c cache call called cardinality cascade cascaded case cast catalog catalog_name ceil ceiling chain char char_length character character_length character_set_catalog character_set_name character_set_schema characteristics characters check checkpoint class class_origin clob close cluster coalesce cobol collate collation collation_catalog collation_name collation_schema collect column column_name columns command_function command_function_code comment comments commit committed concurrently condition condition_number configuration conflict connect connection connection_name constant constraint constraint_catalog constraint_name constraint_schema constraints constructor contains content continue control conversion convert copy corr corresponding cost count covar_pop covar_samp create cross csv cube cume_dist current current_catalog current_date current_default_transform_group current_path current_role current_row current_schema current_time current_timestamp current_transform_group_for_type current_user cursor cursor_name cycle data database datalink datatype date datetime_interval_code datetime_interval_precision day db deallocate debug dec decimal declare default defaults deferrable deferred defined definer degree delete delimiter delimiters dense_rank depends depth deref derived desc describe descriptor detach detail deterministic diagnostics dictionary disable discard disconnect dispatch distinct dlnewcopy dlpreviouscopy dlurlcomplete dlurlcompleteonly dlurlcompletewrite dlurlpath dlurlpathonly dlurlpathwrite dlurlscheme dlurlserver dlvalue do document domain double drop dump dynamic dynamic_function dynamic_function_code each element else elseif elsif empty enable encoding encrypted end end_frame end_partition endexec enforced enum equals errcode error escape event every except exception exclude excluding exclusive exec execute exists exit exp explain expression extension external extract false family fetch file filter final first first_value flag float floor following for force foreach foreign fortran forward found frame_row free freeze from fs full function functions fusion g general generated get global go goto grant granted greatest group grouping groups handler having header hex hierarchy hint hold hour id identity if ignore ilike immediate immediately immutable implementation implicit import in include including increment indent index indexes indicator info inherit inherits initially inline inner inout input insensitive insert instance instantiable instead int integer integrity intersect intersection interval into invoker is isnull isolation join k key key_member key_type label lag language large last last_value lateral lead leading leakproof least left length level library like like_regex limit link listen ln load local localtime localtimestamp location locator lock locked log logged loop lower m map mapping match matched materialized max max_cardinality maxvalue member merge message message_length message_octet_length message_text method min minute minvalue mod mode modifies module month more move multiset mumps name names namespace national natural nchar nclob nesting new next nfc nfd nfkc nfkd nil no none normalize normalized not nothing notice notify notnull nowait nth_value ntile null nullable nullif nulls number numeric object occurrences_regex octet_length octets of off offset oids old on only open operator option options or order ordering ordinality others out outer output over overlaps overlay overriding owned owner p pad parallel parameter parameter_mode parameter_name parameter_ordinal_position parameter_specific_catalog parameter_specific_name parameter_specific_schema parser partial partition pascal passing passthrough password path percent percent_rank percentile_cont percentile_disc perform period permission pg_context pg_datatype_name pg_exception_context pg_exception_detail pg_exception_hint placing plans pli policy portion position position_regex power precedes preceding precision prepare prepared preserve primary print_strict_params prior privileges procedural procedure procedures program public publication query quote raise range rank read reads real reassign recheck recovery recursive ref references referencing refresh regr_avgx regr_avgy regr_count regr_intercept regr_r2 regr_slope regr_sxx regr_sxy regr_syy reindex relative release rename repeatable replace replica requiring reset respect restart restore restrict result result_oid return returned_cardinality returned_length returned_octet_length returned_sqlstate returning returns reverse revoke right role rollback rollup routine routine_catalog routine_name routine_schema routines row row_count row_number rows rowtype rule savepoint scale schema schema_name schemas scope scope_catalog scope_name scope_schema scroll search second section security select selective self sensitive sequence sequences serializable server server_name session session_user set setof sets share show similar simple size skip slice smallint snapshot some source space specific specific_name specifictype sql sqlcode sqlerror sqlexception sqlstate sqlwarning sqrt stable stacked standalone start state statement static statistics stddev_pop stddev_samp stdin stdout storage strict strip structure style subclass_origin submultiset subscription substring substring_regex succeeds sum symmetric sysid system system_time system_user t table table_name tables tablesample tablespace temp template temporary text then ties time timestamp timezone_hour timezone_minute to token top_level_count trailing transaction transaction_active transactions_committed transactions_rolled_back transform transforms translate translate_regex translation treat trigger trigger_catalog trigger_name trigger_schema trim trim_array true truncate trusted type types uescape unbounded uncommitted under unencrypted union unique unknown unlink unlisten unlogged unnamed unnest until untyped update upper uri usage use_column use_variable user user_defined_type_catalog user_defined_type_code user_defined_type_name user_defined_type_schema using vacuum valid validate validator value value_of values var_pop var_samp varbinary varchar variable_conflict variadic varying verbose version versioning view views volatile warning when whenever where while whitespace width_bucket window with within without work wrapper write xml xmlagg xmlattributes xmlbinary xmlcast xmlcomment xmlconcat xmldeclaration xmldocument xmlelement xmlexists xmlforest xmliterate xmlnamespaces xmlparse xmlpi xmlquery xmlroot xmlschema xmlserialize xmltable xmltext xmlvalidate year yes zone"),builtin:M("bigint int8 bigserial serial8 bit varying varbit boolean bool box bytea character char varchar cidr circle date double precision float8 inet integer int int4 interval json jsonb line lseg macaddr macaddr8 money numeric decimal path pg_lsn point polygon real float4 smallint int2 smallserial serial2 serial serial4 text time without zone with timetz timestamp timestamptz tsquery tsvector txid_snapshot uuid xml"),atoms:M("false true null unknown"),operatorChars:/^[*\/+\-%<>!=&|^\/#@?~]/,backslashStringEscapes:!1,dateSQL:M("date time timestamp"),support:M("ODBCdotTable decimallessFloat zerolessFloat binaryNumber hexNumber nCharCast charsetCast escapeConstant")}),kC=We({keywords:M("ancestor and asc by contains desc descendant distinct from group has in is limit offset on order select superset where"),atoms:M("false true"),builtin:M("blob datetime first key __key__ string integer double boolean null"),operatorChars:/^[*+\-%<>!=]/}),xC=We({client:M("source"),keywords:M("abort absolute access action active add admin after aggregate all also alter always analyse analyze and any array as asc assertion assignment asymmetric at authorization backward before begin between bigint binary bit boolean both by cache called cascade cascaded case cast chain char character characteristics check checkpoint class close cluster coalesce codegen collate column comment commit committed concurrency concurrently configuration connection constraint constraints contains content continue conversion copy cost cpu_rate_limit create createdb createexttable createrole createuser cross csv cube current current_catalog current_date current_role current_schema current_time current_timestamp current_user cursor cycle data database day deallocate dec decimal declare decode default defaults deferrable deferred definer delete delimiter delimiters deny desc dictionary disable discard distinct distributed do document domain double drop dxl each else enable encoding encrypted end enum errors escape every except exchange exclude excluding exclusive execute exists explain extension external extract false family fetch fields filespace fill filter first float following for force foreign format forward freeze from full function global grant granted greatest group group_id grouping handler hash having header hold host hour identity if ignore ilike immediate immutable implicit in including inclusive increment index indexes inherit inherits initially inline inner inout input insensitive insert instead int integer intersect interval into invoker is isnull isolation join key language large last leading least left level like limit list listen load local localtime localtimestamp location lock log login mapping master match maxvalue median merge minute minvalue missing mode modifies modify month move name names national natural nchar new newline next no nocreatedb nocreateexttable nocreaterole nocreateuser noinherit nologin none noovercommit nosuperuser not nothing notify notnull nowait null nullif nulls numeric object of off offset oids old on only operator option options or order ordered others out outer over overcommit overlaps overlay owned owner parser partial partition partitions passing password percent percentile_cont percentile_disc placing plans position preceding precision prepare prepared preserve primary prior privileges procedural procedure protocol queue quote randomly range read readable reads real reassign recheck recursive ref references reindex reject relative release rename repeatable replace replica reset resource restart restrict returning returns revoke right role rollback rollup rootpartition row rows rule savepoint scatter schema scroll search second security segment select sequence serializable session session_user set setof sets share show similar simple smallint some split sql stable standalone start statement statistics stdin stdout storage strict strip subpartition subpartitions substring superuser symmetric sysid system table tablespace temp template temporary text then threshold ties time timestamp to trailing transaction treat trigger trim true truncate trusted type unbounded uncommitted unencrypted union unique unknown unlisten until update user using vacuum valid validation validator value values varchar variadic varying verbose version view volatile web when where whitespace window with within without work writable write xml xmlattributes xmlconcat xmlelement xmlexists xmlforest xmlparse xmlpi xmlroot xmlserialize year yes zone"),builtin:M("bigint int8 bigserial serial8 bit varying varbit boolean bool box bytea character char varchar cidr circle date double precision float float8 inet integer int int4 interval json jsonb line lseg macaddr macaddr8 money numeric decimal path pg_lsn point polygon real float4 smallint int2 smallserial serial2 serial serial4 text time without zone with timetz timestamp timestamptz tsquery tsvector txid_snapshot uuid xml"),atoms:M("false true null unknown"),operatorChars:/^[*+\-%<>!=&|^\/#@?~]/,dateSQL:M("date time timestamp"),support:M("ODBCdotTable decimallessFloat zerolessFloat binaryNumber hexNumber nCharCast charsetCast")}),wC=We({keywords:M("add after all alter analyze and anti archive array as asc at between bucket buckets by cache cascade case cast change clear cluster clustered codegen collection column columns comment commit compact compactions compute concatenate cost create cross cube current current_date current_timestamp database databases data dbproperties defined delete delimited deny desc describe dfs directories distinct distribute drop else end escaped except exchange exists explain export extended external false fields fileformat first following for format formatted from full function functions global grant group grouping having if ignore import in index indexes inner inpath inputformat insert intersect interval into is items join keys last lateral lazy left like limit lines list load local location lock locks logical macro map minus msck natural no not null nulls of on optimize option options or order out outer outputformat over overwrite partition partitioned partitions percent preceding principals purge range recordreader recordwriter recover reduce refresh regexp rename repair replace reset restrict revoke right rlike role roles rollback rollup row rows schema schemas select semi separated serde serdeproperties set sets show skewed sort sorted start statistics stored stratify struct table tables tablesample tblproperties temp temporary terminated then to touch transaction transactions transform true truncate unarchive unbounded uncache union unlock unset use using values view when where window with"),builtin:M("tinyint smallint int bigint boolean float double string binary timestamp decimal array map struct uniontype delimited serde sequencefile textfile rcfile inputformat outputformat"),atoms:M("false true null"),operatorChars:/^[*\/+\-%<>!=~&|^]/,dateSQL:M("date time timestamp"),support:M("ODBCdotTable doubleQuote zerolessFloat")}),PC=We({client:M("source"),keywords:M("alter and as asc between by count create delete desc distinct drop from group having in insert into is join like not on or order select set table union update values where limit after all and as at asc avedev avg between by case cast coalesce count create current_timestamp day days delete define desc distinct else end escape events every exists false first from full group having hour hours in inner insert instanceof into irstream is istream join last lastweekday left limit like max match_recognize matches median measures metadatasql min minute minutes msec millisecond milliseconds not null offset on or order outer output partition pattern prev prior regexp retain-union retain-intersection right rstream sec second seconds select set some snapshot sql stddev sum then true unidirectional until update variable weekday when where window"),builtin:{},atoms:M("false true null"),operatorChars:/^[*+\-%<>!=&|^\/#@?~]/,dateSQL:M("time"),support:M("decimallessFloat zerolessFloat binaryNumber hexNumber")});var Cg={name:"toml",startState:function(){return{inString:!1,stringType:"",lhs:!0,inArray:0}},token:function(i,e){let t;if(!e.inString&&(t=i.match(/^('''|"""|'|")/))&&(e.stringType=t[0],e.inString=!0),i.sol()&&!e.inString&&e.inArray===0&&(e.lhs=!0),e.inString){for(;e.inString;)if(i.match(e.stringType))e.inString=!1;else if(i.peek()==="\\")i.next(),i.next();else{if(i.eol())break;i.match(/^.[^\\\"\']*/)}return e.lhs?"property":"string"}else{if(e.inArray&&i.peek()==="]")return i.next(),e.inArray--,"bracket";if(e.lhs&&i.peek()==="["&&i.skipTo("]"))return i.next(),i.peek()==="]"&&i.next(),"atom";if(i.peek()==="#")return i.skipToEnd(),"comment";if(i.eatSpace())return null;if(e.lhs&&i.eatWhile(function(n){return n!="="&&n!=" "}))return"property";if(e.lhs&&i.peek()==="=")return i.next(),e.lhs=!1,null;if(!e.lhs&&i.match(/^\d\d\d\d[\d\-\:\.T]*Z/))return"atom";if(!e.lhs&&(i.match("true")||i.match("false")))return"atom";if(!e.lhs&&i.peek()==="[")return e.inArray++,i.next(),"bracket";if(!e.lhs&&i.match(/^\-?\d+(?:\.\d+)?/))return"number";i.eatSpace()||i.next()}return null},languageData:{commentTokens:{line:"#"}}};var wP=Qe({"for in if else endfor endif":d.controlKeyword,"Attribute/Identifier":d.definition(d.propertyName),"ForIntro/Identifier":d.definition(d.propertyName),"Block/Identifier":d.definitionKeyword,"FunctionCall/Identifier":d.function(d.variableName),"Attribute/Expression":d.attributeValue,"VariableExpr/Identifier":d.variableName,"GetAttr/Identifier":d.variableName,Identifier:d.name,"LiteralValue/...":d.literal,"StringLit/... TemplateLiteral":d.string,NumericLit:d.number,BoolLit:d.bool,NullLit:d.null,Comment:d.comment,LineComment:d.lineComment,BlockComment:d.blockComment,"( )":d.paren,"{ }":d.bracket,"[ ]":d.squareBracket,ArithOp:d.arithmeticOperator,LogicOp:d.logicOperator,CompareOp:d.compareOperator,ControlOp:d.controlOperator,HeredocIdentifier:d.special(d.controlKeyword),HeredocStart:d.special(d.brace),"TemplateInterpolationStart TemplateInterpolationEnd":d.special(d.brace),"TemplateDirectiveStart TemplateDirectiveEnd":d.special(d.brace),StripMarker:d.special(d.brace),Ellipsis:d.punctuation,": =>":d.punctuation,",":d.separator}),mh=1,gh=2,Qh=3,bh=4,Sh=5,yh=6,An=7,Ae=93,Ce={QUOTED_TEMPLATE:1,TEMPLATE_INTERPOLATION:2,TEMPLATE_DIRECTIVE:4,HEREDOC_TEMPLATE:8},PP=function(i){var e=0,t,n;if(i.length===0)return e;for(t=0;t{if(e.canShift(mh)&&!(e.context&&e.context.type===Ce.QUOTED_TEMPLATE)&&String.fromCharCode(i.next)==='"')return i.advance(),i.acceptToken(mh)},{contextual:!0,fallback:!0}),CP=new J((i,e)=>{if(e.canShift(gh)&&e.context&&e.context.type===Ce.QUOTED_TEMPLATE&&String.fromCharCode(i.next)==='"')return i.advance(),i.acceptToken(gh)},{contextual:!0,fallback:!0}),XP=new J((i,e)=>{if(e.canShift(Ae)&&e.context&&e.context.type===Ce.QUOTED_TEMPLATE)switch(String.fromCharCode(i.next)){case"\\":switch(i.advance(),String.fromCharCode(i.next)){case'"':case"n":case"r":case"t":case"\\":return i.advance(),i.acceptToken(Ae);case"u":for(let t=0;t<4;t++)if(i.advance(),!/[0-9a-fA-F]/.test(String.fromCharCode(i.next)))return;return i.advance(),i.acceptToken(Ae);case"U":for(let t=0;t<8;t++)if(i.advance(),!/[0-9a-fA-F]/.test(String.fromCharCode(i.next)))return;return i.advance(),i.acceptToken(Ae);default:return}}if(e.canShift(Ae)&&e.context&&(e.context.type===Ce.QUOTED_TEMPLATE||e.context.type===Ce.HEREDOC_TEMPLATE)&&i.next!==-1)return i.advance(),i.acceptToken(Ae)},{contextual:!0,fallback:!0}),_P=new J((i,e)=>{if(e.canShift(Qh)&&e.canShift(Ae)&&!(e.context&&e.context.type===Ce.TEMPLATE_INTERPOLATION)&&String.fromCharCode(i.next)==="$")return i.advance(),String.fromCharCode(i.next)==="{"?(i.advance(),i.acceptToken(Qh)):(String.fromCharCode(i.next)==="$"&&(i.advance(),String.fromCharCode(i.next)==="{")&&i.advance(),i.acceptToken(Ae))},{contextual:!0,fallback:!0}),RP=new J((i,e)=>{if(e.canShift(bh)&&e.context&&e.context.type===Ce.TEMPLATE_INTERPOLATION&&String.fromCharCode(i.next)==="}")return i.advance(),i.acceptToken(bh)},{contextual:!0,fallback:!0}),AP=new J((i,e)=>{if(e.canShift(Sh)&&e.canShift(Ae)&&!(e.context&&e.context.type===Ce.TEMPLATE_DIRECTIVE)&&String.fromCharCode(i.next)==="%")return i.advance(),String.fromCharCode(i.next)==="{"?(i.advance(),i.acceptToken(Sh)):(String.fromCharCode(i.next)==="%"&&(i.advance(),String.fromCharCode(i.next)==="{")&&i.advance(),i.acceptToken(Ae))},{contextual:!0,fallback:!0}),ZP=new J((i,e)=>{if(e.canShift(yh)&&e.context&&e.context.type===Ce.TEMPLATE_DIRECTIVE&&String.fromCharCode(i.next)==="}")return i.advance(),i.acceptToken(yh)},{contextual:!0,fallback:!0}),EP=new J((i,e)=>{if(e.canShift(An)&&!(e.context&&e.context.type===Ce.HEREDOC_TEMPLATE)&&i.next!==-1){let t=String.fromCharCode(i.next);for(;/[0-9a-zA-Z]/.test(t)||t==="_"||t==="-";)i.advance(),t=String.fromCharCode(i.next);return i.acceptToken(An)}if(e.canShift(An)&&e.canShift(Ae)&&e.context&&e.context.type===Ce.HEREDOC_TEMPLATE&&i.next!=-1){let t=e.context.heredoc_identifier,n=!1,r=!1,s=String.fromCharCode(i.next);for(;/\s/.test(s);)r=!0,s===` +`,{label:"if",detail:"block",type:"keyword"}),ce("if ${}:\n ${}\nelse:\n ${}",{label:"if",detail:"/ else block",type:"keyword"}),ce("class ${name}:\n def __init__(self, ${params}):\n ${}",{label:"class",detail:"definition",type:"keyword"}),ce("import ${module}",{label:"import",detail:"statement",type:"keyword"}),ce("from ${module} import ${names}",{label:"from",detail:"import",type:"keyword"})],Tw=Bs(jm,Is(vw.concat($w)));function nh(i){let{node:e,pos:t}=i,n=i.lineIndent(t,-1),r=null;for(;;){let s=e.childBefore(t);if(s)if(s.name=="Comment")t=s.from;else if(s.name=="Body"||s.name=="MatchBody")i.baseIndentFor(s)+i.unit<=n&&(r=s),e=s;else if(s.name=="MatchClause")e=s;else if(s.type.is("Statement"))e=s;else break;else break}return r}function rh(i,e){let t=i.baseIndentFor(e),n=i.lineAt(i.pos,-1),r=n.from+n.text.length;return/^\s*($|#)/.test(n.text)&&i.node.tot?null:t+i.unit}var sh=$e.define({name:"python",parser:qm.configure({props:[we.add({Body:i=>{var e;let t=/^\s*(#|$)/.test(i.textAfter)&&nh(i)||i.node;return(e=rh(i,t))!==null&&e!==void 0?e:i.continue()},MatchBody:i=>{var e;let t=nh(i);return(e=rh(i,t||i.node))!==null&&e!==void 0?e:i.continue()},IfStatement:i=>/^\s*(else:|elif )/.test(i.textAfter)?i.baseIndent:i.continue(),"ForStatement WhileStatement":i=>/^\s*else:/.test(i.textAfter)?i.baseIndent:i.continue(),TryStatement:i=>/^\s*(except[ :]|finally:|else:)/.test(i.textAfter)?i.baseIndent:i.continue(),MatchStatement:i=>/^\s*case /.test(i.textAfter)?i.baseIndent+i.unit:i.continue(),"TupleExpression ComprehensionExpression ParamList ArgList ParenthesizedExpression":St({closing:")"}),"DictionaryExpression DictionaryComprehensionExpression SetExpression SetComprehensionExpression":St({closing:"}"}),"ArrayExpression ArrayComprehensionExpression":St({closing:"]"}),MemberExpression:i=>i.baseIndent+i.unit,"String FormatString":()=>null,Script:i=>{var e;let t=nh(i);return(e=t&&rh(i,t))!==null&&e!==void 0?e:i.continue()}}),Te.add({"ArrayExpression DictionaryExpression SetExpression TupleExpression":ht,Body:(i,e)=>({from:i.from+1,to:i.to-(i.to==e.doc.length?0:1)}),"String FormatString":(i,e)=>({from:e.doc.lineAt(i.from).to,to:i.to})})]}),languageData:{closeBrackets:{brackets:["(","[","{","'",'"',"'''",'"""'],stringPrefixes:["f","fr","rf","r","u","b","br","rb","F","FR","RF","R","U","B","BR","RB"]},commentTokens:{line:"#"},indentOnInput:/^\s*([\}\]\)]|else:|elif |except |finally:|case\s+[^:]*:?)$/}});function Vm(){return new me(sh,[sh.data.of({autocomplete:Pw}),sh.data.of({autocomplete:Tw})])}var Cw=Qe({String:d.string,Number:d.number,"True False":d.bool,PropertyName:d.propertyName,Null:d.null,", :":d.separator,"[ ]":d.squareBracket,"{ }":d.brace}),Dm=Pe.deserialize({version:14,states:"$bOVQPOOOOQO'#Cb'#CbOnQPO'#CeOvQPO'#ClOOQO'#Cr'#CrQOQPOOOOQO'#Cg'#CgO}QPO'#CfO!SQPO'#CtOOQO,59P,59PO![QPO,59PO!aQPO'#CuOOQO,59W,59WO!iQPO,59WOVQPO,59QOqQPO'#CmO!nQPO,59`OOQO1G.k1G.kOVQPO'#CnO!vQPO,59aOOQO1G.r1G.rOOQO1G.l1G.lOOQO,59X,59XOOQO-E6k-E6kOOQO,59Y,59YOOQO-E6l-E6l",stateData:"#O~OeOS~OQSORSOSSOTSOWQO_ROgPO~OVXOgUO~O^[O~PVO[^O~O]_OVhX~OVaO~O]bO^iX~O^dO~O]_OVha~O]bO^ia~O",goto:"!kjPPPPPPkPPkqwPPPPk{!RPPP!XP!e!hXSOR^bQWQRf_TVQ_Q`WRg`QcZRicQTOQZRQe^RhbRYQR]R",nodeNames:"\u26A0 JsonText True False Null Number String } { Object Property PropertyName : , ] [ Array",maxTerm:25,nodeProps:[["isolate",-2,6,11,""],["openedBy",7,"{",14,"["],["closedBy",8,"}",15,"]"]],propSources:[Cw],skippedNodes:[0],repeatNodeCount:2,tokenData:"(|~RaXY!WYZ!W]^!Wpq!Wrs!]|}$u}!O$z!Q!R%T!R![&c![!]&t!}#O&y#P#Q'O#Y#Z'T#b#c'r#h#i(Z#o#p(r#q#r(w~!]Oe~~!`Wpq!]qr!]rs!xs#O!]#O#P!}#P;'S!];'S;=`$o<%lO!]~!}Og~~#QXrs!]!P!Q!]#O#P!]#U#V!]#Y#Z!]#b#c!]#f#g!]#h#i!]#i#j#m~#pR!Q![#y!c!i#y#T#Z#y~#|R!Q![$V!c!i$V#T#Z$V~$YR!Q![$c!c!i$c#T#Z$c~$fR!Q![!]!c!i!]#T#Z!]~$rP;=`<%l!]~$zO]~~$}Q!Q!R%T!R![&c~%YRT~!O!P%c!g!h%w#X#Y%w~%fP!Q![%i~%nRT~!Q![%i!g!h%w#X#Y%w~%zR{|&T}!O&T!Q![&Z~&WP!Q![&Z~&`PT~!Q![&Z~&hST~!O!P%c!Q![&c!g!h%w#X#Y%w~&yO[~~'OO_~~'TO^~~'WP#T#U'Z~'^P#`#a'a~'dP#g#h'g~'jP#X#Y'm~'rOR~~'uP#i#j'x~'{P#`#a(O~(RP#`#a(U~(ZOS~~(^P#f#g(a~(dP#i#j(g~(jP#X#Y(m~(rOQ~~(wOW~~(|OV~",tokenizers:[0],topRules:{JsonText:[0,1]},tokenPrec:0});var Xw=$e.define({name:"json",parser:Dm.configure({props:[we.add({Object:Bt({except:/^\s*\}/}),Array:Bt({except:/^\s*\]/})}),Te.add({"Object Array":ht})]}),languageData:{closeBrackets:{brackets:["[","{",'"']},indentOnInput:/^\s*[\}\]]$/}});function Ym(){return new me(Xw)}function Oo(i){for(var e={},t=0;t~^?!",qw=":;,.(){}[]",zw=/^\-?0b[01][01_]*/,Lw=/^\-?0o[0-7][0-7_]*/,Mw=/^\-?0x[\dA-Fa-f][\dA-Fa-f_]*(?:(?:\.[\dA-Fa-f][\dA-Fa-f_]*)?[Pp]\-?\d[\d_]*)?/,Ww=/^\-?\d[\d_]*(?:\.\d[\d_]*)?(?:[Ee]\-?\d[\d_]*)?/,jw=/^\$\d+|(`?)[_A-Za-z][_A-Za-z$0-9]*\1/,Vw=/^\.(?:\$\d+|(`?)[_A-Za-z][_A-Za-z$0-9]*\1)/,Dw=/^\#[A-Za-z]+/,Yw=/^@(?:\$\d+|(`?)[_A-Za-z][_A-Za-z$0-9]*\1)/;function Im(i,e,t){if(i.sol()&&(e.indented=i.indentation()),i.eatSpace())return null;var n=i.peek();if(n=="/"){if(i.match("//"))return i.skipToEnd(),"comment";if(i.match("/*"))return e.tokenize.push(oh),oh(i,e)}if(i.match(Dw))return"builtin";if(i.match(Yw))return"attribute";if(i.match(zw)||i.match(Lw)||i.match(Mw)||i.match(Ww))return"number";if(i.match(Vw))return"property";if(Ew.indexOf(n)>-1)return i.next(),"operator";if(qw.indexOf(n)>-1)return i.next(),i.match(".."),"punctuation";var r;if(r=i.match(/("""|"|')/)){var s=Bw.bind(null,r[0]);return e.tokenize.push(s),s(i,e)}if(i.match(jw)){var o=i.current();return Zw.hasOwnProperty(o)?"type":Aw.hasOwnProperty(o)?"atom":_w.hasOwnProperty(o)?(Rw.hasOwnProperty(o)&&(e.prev="define"),"keyword"):t=="define"?"def":"variable"}return i.next(),null}function Iw(){var i=0;return function(e,t,n){var r=Im(e,t,n);if(r=="punctuation"){if(e.current()=="(")++i;else if(e.current()==")"){if(i==0)return e.backUp(1),t.tokenize.pop(),t.tokenize[t.tokenize.length-1](e,t);--i}}return r}}function Bw(i,e,t){for(var n=i.length==1,r,s=!1;r=e.peek();)if(s){if(e.next(),r=="(")return t.tokenize.push(Iw()),"string";s=!1}else{if(e.match(i))return t.tokenize.pop(),"string";e.next(),s=r=="\\"}return n&&t.tokenize.pop(),"string"}function oh(i,e){for(var t;t=i.next();)if(t==="/"&&i.eat("*"))e.tokenize.push(oh);else if(t==="*"&&i.eat("/")){e.tokenize.pop();break}return"comment"}function Uw(i,e,t){this.prev=i,this.align=e,this.indented=t}function Gw(i,e){var t=e.match(/^\s*($|\/[\/\*]|[)}\]])/,!1)?null:e.column()+1;i.context=new Uw(i.context,t,i.indented)}function Nw(i){i.context&&(i.indented=i.context.indented,i.context=i.context.prev)}var Bm={name:"swift",startState:function(){return{prev:null,context:null,indented:0,tokenize:[]}},token:function(i,e){var t=e.prev;e.prev=null;var n=e.tokenize[e.tokenize.length-1]||Im,r=n(i,e,t);if(!r||r=="comment"?e.prev=t:e.prev||(e.prev=r),r=="punctuation"){var s=/[\(\[\{]|([\]\)\}])/.exec(i.current());s&&(s[1]?Nw:Gw)(e,i)}return r},indent:function(i,e,t){var n=i.context;if(!n)return 0;var r=/^[\]\}\)]/.test(e);return n.align!=null?n.align-(r?1:0):n.indented+(r?0:t.unit)},languageData:{indentOnInput:/^\s*[\)\}\]]$/,commentTokens:{line:"//",block:{open:"/*",close:"*/"}},closeBrackets:{brackets:["(","[","{","'",'"',"`"]}}};var ah={};function lh(i,e){for(var t=0;t1&&i.eat("$");var t=i.next();return/['"({]/.test(t)?(e.tokens[0]=po(t,t=="("?"quote":t=="{"?"def":"string"),_n(i,e)):(/\d/.test(t)||i.eatWhile(/\w/),e.tokens.shift(),"def")};function Kw(i){return function(e,t){return e.sol()&&e.string==i&&t.tokens.shift(),e.skipToEnd(),"string.special"}}function _n(i,e){return(e.tokens[0]||Fw)(i,e)}var Hm={name:"shell",startState:function(){return{tokens:[]}},token:function(i,e){return _n(i,e)},languageData:{autocomplete:Um.concat(Gm,Nm),closeBrackets:{brackets:["(","[","{","'",'"',"`"]},commentTokens:{line:"#"}}};var Jw=["true","false","on","off","yes","no"],eP=new RegExp("\\b(("+Jw.join(")|(")+"))$","i"),Km={name:"yaml",token:function(i,e){var t=i.peek(),n=e.escaped;if(e.escaped=!1,t=="#"&&(i.pos==0||/\s/.test(i.string.charAt(i.pos-1))))return i.skipToEnd(),"comment";if(i.match(/^('([^']|\\.)*'?|"([^"]|\\.)*"?)/))return"string";if(e.literal&&i.indentation()>e.keyCol)return i.skipToEnd(),"string";if(e.literal&&(e.literal=!1),i.sol()){if(e.keyCol=0,e.pair=!1,e.pairStart=!1,i.match("---")||i.match("..."))return"def";if(i.match(/^\s*-\s+/))return"meta"}if(i.match(/^(\{|\}|\[|\])/))return t=="{"?e.inlinePairs++:t=="}"?e.inlinePairs--:t=="["?e.inlineList++:e.inlineList--,"meta";if(e.inlineList>0&&!n&&t==",")return i.next(),"meta";if(e.inlinePairs>0&&!n&&t==",")return e.keyCol=0,e.pair=!1,e.pairStart=!1,i.next(),"meta";if(e.pairStart){if(i.match(/^\s*(\||\>)\s*/))return e.literal=!0,"meta";if(i.match(/^\s*(\&|\*)[a-z0-9\._-]+\b/i))return"variable";if(e.inlinePairs==0&&i.match(/^\s*-?[0-9\.\,]+\s?$/)||e.inlinePairs>0&&i.match(/^\s*-?[0-9\.\,]+\s?(?=(,|}))/))return"number";if(i.match(eP))return"keyword"}return!e.pair&&i.match(/^\s*(?:[,\[\]{}&*!|>'"%@`][^\s'":]|[^,\[\]{}#&*!|>'"%@`])[^#]*?(?=\s*:($|\s))/)?(e.pair=!0,e.keyCol=i.indentation(),"atom"):e.pair&&i.match(/^:\s*/)?(e.pairStart=!0,"meta"):(e.pairStart=!1,e.escaped=t=="\\",i.next(),null)},startState:function(){return{pair:!1,pairStart:!1,keyCol:0,inlinePairs:0,inlineList:0,literal:!1,escaped:!1}},languageData:{commentTokens:{line:"#"}}};var tP={break:!0,case:!0,chan:!0,const:!0,continue:!0,default:!0,defer:!0,else:!0,fallthrough:!0,for:!0,func:!0,go:!0,goto:!0,if:!0,import:!0,interface:!0,map:!0,package:!0,range:!0,return:!0,select:!0,struct:!0,switch:!0,type:!0,var:!0,bool:!0,byte:!0,complex64:!0,complex128:!0,float32:!0,float64:!0,int8:!0,int16:!0,int32:!0,int64:!0,string:!0,uint8:!0,uint16:!0,uint32:!0,uint64:!0,int:!0,uint:!0,uintptr:!0,error:!0,rune:!0,any:!0,comparable:!0},iP={true:!0,false:!0,iota:!0,nil:!0,append:!0,cap:!0,close:!0,complex:!0,copy:!0,delete:!0,imag:!0,len:!0,make:!0,new:!0,panic:!0,print:!0,println:!0,real:!0,recover:!0},Jm=/[+\-*&^%:=<>!|\/]/,ti;function mo(i,e){var t=i.next();if(t=='"'||t=="'"||t=="`")return e.tokenize=nP(t),e.tokenize(i,e);if(/[\d\.]/.test(t))return t=="."?i.match(/^[0-9]+([eE][\-+]?[0-9]+)?/):t=="0"?i.match(/^[xX][0-9a-fA-F]+/)||i.match(/^0[0-7]+/):i.match(/^[0-9]*\.?[0-9]*([eE][\-+]?[0-9]+)?/),"number";if(/[\[\]{}\(\),;\:\.]/.test(t))return ti=t,null;if(t=="/"){if(i.eat("*"))return e.tokenize=eg,eg(i,e);if(i.eat("/"))return i.skipToEnd(),"comment"}if(Jm.test(t))return i.eatWhile(Jm),"operator";i.eatWhile(/[\w\$_\xa1-\uffff]/);var n=i.current();return tP.propertyIsEnumerable(n)?((n=="case"||n=="default")&&(ti="case"),"keyword"):iP.propertyIsEnumerable(n)?"atom":"variable"}function nP(i){return function(e,t){for(var n=!1,r,s=!1;(r=e.next())!=null;){if(r==i&&!n){s=!0;break}n=!n&&i!="`"&&r=="\\"}return(s||!(n||i=="`"))&&(t.tokenize=mo),"string"}}function eg(i,e){for(var t=!1,n;n=i.next();){if(n=="/"&&t){e.tokenize=mo;break}t=n=="*"}return"comment"}function ig(i,e,t,n,r){this.indented=i,this.column=e,this.type=t,this.align=n,this.prev=r}function ch(i,e,t){return i.context=new ig(i.indented,e,t,null,i.context)}function tg(i){if(i.context.prev){var e=i.context.type;return(e==")"||e=="]"||e=="}")&&(i.indented=i.context.indented),i.context=i.context.prev}}var ng={name:"go",startState:function(i){return{tokenize:null,context:new ig(-i,0,"top",!1),indented:0,startOfLine:!0}},token:function(i,e){var t=e.context;if(i.sol()&&(t.align==null&&(t.align=!1),e.indented=i.indentation(),e.startOfLine=!0,t.type=="case"&&(t.type="}")),i.eatSpace())return null;ti=null;var n=(e.tokenize||mo)(i,e);return n=="comment"||(t.align==null&&(t.align=!0),ti=="{"?ch(e,i.column(),"}"):ti=="["?ch(e,i.column(),"]"):ti=="("?ch(e,i.column(),")"):ti=="case"?t.type="case":(ti=="}"&&t.type=="}"||ti==t.type)&&tg(e),e.startOfLine=!1),n},indent:function(i,e,t){if(i.tokenize!=mo&&i.tokenize!=null)return null;var n=i.context,r=e&&e.charAt(0);if(n.type=="case"&&/^(?:case|default)\b/.test(e))return n.indented;var s=r==n.type;return n.align?n.column+(s?0:1):n.indented+(s?0:t.unit)},languageData:{indentOnInput:/^\s([{}]|case |default\s*:)$/,commentTokens:{line:"//",block:{open:"/*",close:"*/"}}}};function fh(i){for(var e={},t=0,n=i.length;t]/)?(i.eat(/[\<\>]/),"atom"):i.eat(/[\+\-\*\/\&\|\:\!]/)?"atom":i.eat(/[a-zA-Z$@_\xa1-\uffff]/)?(i.eatWhile(/[\w$\xa1-\uffff]/),i.eat(/[\?\!\=]/),"atom"):"operator";if(t=="@"&&i.match(/^@?[a-zA-Z_\xa1-\uffff]/))return i.eat("@"),i.eatWhile(/[\w\xa1-\uffff]/),"propertyName";if(t=="$")return i.eat(/[a-zA-Z_]/)?i.eatWhile(/[\w]/):i.eat(/\d/)?i.eat(/\d/):i.next(),"variableName.special";if(/[a-zA-Z_\xa1-\uffff]/.test(t))return i.eatWhile(/[\w\xa1-\uffff]/),i.eat(/[\?\!]/),i.eat(":")?"atom":"variable";if(t=="|"&&(e.varList||e.lastTok=="{"||e.lastTok=="do"))return Pt="|",null;if(/[\(\)\[\]{}\\;]/.test(t))return Pt=t,null;if(t=="-"&&i.eat(">"))return"operator";if(/[=+\-\/*:\.^%<>~|]/.test(t)){var a=i.eatWhile(/[=+\-\/*:\.^%<>~|]/);return t=="."&&!a&&(Pt="."),"operator"}else return null}}}function lP(i){for(var e=i.pos,t=0,n,r=!1,s=!1;(n=i.next())!=null;)if(s)s=!1;else{if("[{(".indexOf(n)>-1)t++;else if("]})".indexOf(n)>-1){if(t--,t<0)break}else if(n=="/"&&t==0){r=!0;break}s=n=="\\"}return i.backUp(i.pos-e),r}function hh(i){return i||(i=1),function(e,t){if(e.peek()=="}"){if(i==1)return t.tokenize.pop(),t.tokenize[t.tokenize.length-1](e,t);t.tokenize[t.tokenize.length-1]=hh(i-1)}else e.peek()=="{"&&(t.tokenize[t.tokenize.length-1]=hh(i+1));return go(e,t)}}function cP(){var i=!1;return function(e,t){return i?(t.tokenize.pop(),t.tokenize[t.tokenize.length-1](e,t)):(i=!0,go(e,t))}}function Rr(i,e,t,n){return function(r,s){var o=!1,a;for(s.context.type==="read-quoted-paused"&&(s.context=s.context.prev,r.eat("}"));(a=r.next())!=null;){if(a==i&&(n||!o)){s.tokenize.pop();break}if(t&&a=="#"&&!o){if(r.eat("{")){i=="}"&&(s.context={prev:s.context,type:"read-quoted-paused"}),s.tokenize.push(hh());break}else if(/[@\$]/.test(r.peek())){s.tokenize.push(cP());break}}o=!o&&a=="\\"}return e}}function hP(i,e){return function(t,n){return e&&t.eatSpace(),t.match(i)?n.tokenize.pop():t.skipToEnd(),"string"}}function fP(i,e){return i.sol()&&i.match("=end")&&i.eol()&&e.tokenize.pop(),i.skipToEnd(),"comment"}var og={name:"ruby",startState:function(i){return{tokenize:[go],indented:0,context:{type:"top",indented:-i},continuedLine:!1,lastTok:null,varList:!1}},token:function(i,e){Pt=null,i.sol()&&(e.indented=i.indentation());var t=e.tokenize[e.tokenize.length-1](i,e),n,r=Pt;if(t=="variable"){var s=i.current();t=e.lastTok=="."?"property":rP.propertyIsEnumerable(i.current())?"keyword":/^[A-Z]/.test(s)?"tag":e.lastTok=="def"||e.lastTok=="class"||e.varList?"def":"variable",t=="keyword"&&(r=s,sP.propertyIsEnumerable(s)?n="indent":oP.propertyIsEnumerable(s)?n="dedent":((s=="if"||s=="unless")&&i.column()==i.indentation()||s=="do"&&e.context.indented2&&o.token&&typeof o.token!="string"){t.pending=[];for(var c=2;c-1)return null;var r=t.indent.length-1,s=i[t.state];e:for(;;){for(var o=0;o!]+/,token:"operator"},{regex:/[a-zA-Z_]\w*!/,token:"macroName"},{regex:/[a-zA-Z_]\w*/,token:"variable"},{regex:/[\{\[\(]/,indent:!0},{regex:/[\}\]\)]/,dedent:!0}],string:[{regex:/"/,token:"string",next:"start"},{regex:/(?:[^\\"]|\\(?:.|$))*/,token:"string"}],string_raw:[{regex:/"/,token:"string",next:"start"},{regex:/[^"]*/,token:"string"}],string_raw_hash:[{regex:/"#+/,token:"string",next:"start"},{regex:/(?:[^"]|"(?!#))*/,token:"string"}],comment:[{regex:/.*?\*\//,token:"comment",next:"start"},{regex:/.*/,token:"comment"}],languageData:{name:"rust",dontIndentStates:["comment"],indentOnInput:/^\s*\}$/,commentTokens:{line:"//",block:{open:"/*",close:"*/"}}}});function dh(i,e,t,n,r,s){this.indented=i,this.column=e,this.type=t,this.info=n,this.align=r,this.prev=s}function Qo(i,e,t,n){var r=i.indented;return i.context&&i.context.type=="statement"&&t!="statement"&&(r=i.context.indented),i.context=new dh(r,e,t,n,null,i.context)}function Ar(i){var e=i.context.type;return(e==")"||e=="]"||e=="}")&&(i.indented=i.context.indented),i.context=i.context.prev}function hg(i,e,t){if(e.prevToken=="variable"||e.prevToken=="type"||/\S(?:[^- ]>|[*\]])\s*$|\*$/.test(i.string.slice(0,t))||e.typeAtEndOfLine&&i.column()==i.indentation())return!0}function uh(i){for(;;){if(!i||i.type=="top")return!0;if(i.type=="}"&&i.prev.info!="namespace")return!1;i=i.prev}}function et(i){var e=i.statementIndentUnit,t=i.dontAlignCalls,n=i.keywords||{},r=i.types||{},s=i.builtin||{},o=i.blockKeywords||{},a=i.defKeywords||{},l=i.atoms||{},c=i.hooks||{},h=i.multiLineStrings,f=i.indentStatements!==!1,u=i.indentSwitch!==!1,O=i.namespaceSeparator,p=i.isPunctuationChar||/[\[\]{}\(\),;\:\.]/,m=i.numberStart||/[\d\.]/,b=i.number||/^(?:0x[a-f\d]+|0b[01]+|(?:\d+\.?\d*|\.\d+)(?:e[-+]?\d+)?)(u|ll?|l|f)?/i,g=i.isOperatorChar||/[+\-*&%=<>!?|\/]/,Q=i.isIdentifierChar||/[\w\$_\xa1-\uffff]/,S=i.isReservedIdentifier||!1,x,v;function $(T,k){var w=T.next();if(c[w]){var C=c[w](T,k);if(C!==!1)return C}if(w=='"'||w=="'")return k.tokenize=R(w),k.tokenize(T,k);if(m.test(w)){if(T.backUp(1),T.match(b))return"number";T.next()}if(p.test(w))return x=w,null;if(w=="/"){if(T.eat("*"))return k.tokenize=_,_(T,k);if(T.eat("/"))return T.skipToEnd(),"comment"}if(g.test(w)){for(;!T.match(/^\/[\/*]/,!1)&&T.eat(g););return"operator"}if(T.eatWhile(Q),O)for(;T.match(O);)T.eatWhile(Q);var j=T.current();return ii(n,j)?(ii(o,j)&&(x="newstatement"),ii(a,j)&&(v=!0),"keyword"):ii(r,j)?"type":ii(s,j)||S&&S(j)?(ii(o,j)&&(x="newstatement"),"builtin"):ii(l,j)?"atom":"variable"}function R(T){return function(k,w){for(var C=!1,j,y=!1;(j=k.next())!=null;){if(j==T&&!C){y=!0;break}C=!C&&j=="\\"}return(y||!(C||h))&&(w.tokenize=null),"string"}}function _(T,k){for(var w=!1,C;C=T.next();){if(C=="/"&&w){k.tokenize=null;break}w=C=="*"}return"comment"}function W(T,k){i.typeFirstDefinitions&&T.eol()&&uh(k.context)&&(k.typeAtEndOfLine=hg(T,k,T.pos))}return{name:i.name,startState:function(T){return{tokenize:null,context:new dh(-T,0,"top",null,!1),indented:0,startOfLine:!0,prevToken:null}},token:function(T,k){var w=k.context;if(T.sol()&&(w.align==null&&(w.align=!1),k.indented=T.indentation(),k.startOfLine=!0),T.eatSpace())return W(T,k),null;x=v=null;var C=(k.tokenize||$)(T,k);if(C=="comment"||C=="meta")return C;if(w.align==null&&(w.align=!0),x==";"||x==":"||x==","&&T.match(/^\s*(?:\/\/.*)?$/,!1))for(;k.context.type=="statement";)Ar(k);else if(x=="{")Qo(k,T.column(),"}");else if(x=="[")Qo(k,T.column(),"]");else if(x=="(")Qo(k,T.column(),")");else if(x=="}"){for(;w.type=="statement";)w=Ar(k);for(w.type=="}"&&(w=Ar(k));w.type=="statement";)w=Ar(k)}else x==w.type?Ar(k):f&&((w.type=="}"||w.type=="top")&&x!=";"||w.type=="statement"&&x=="newstatement")&&Qo(k,T.column(),"statement",T.current());if(C=="variable"&&(k.prevToken=="def"||i.typeFirstDefinitions&&hg(T,k,T.start)&&uh(k.context)&&T.match(/^\s*\(/,!1))&&(C="def"),c.token){var j=c.token(T,k,C);j!==void 0&&(C=j)}return C=="def"&&i.styleDefs===!1&&(C="variable"),k.startOfLine=!1,k.prevToken=v?"def":C||x,W(T,k),C},indent:function(T,k,w){if(T.tokenize!=$&&T.tokenize!=null||T.typeAtEndOfLine&&uh(T.context))return null;var C=T.context,j=k&&k.charAt(0),y=j==C.type;if(C.type=="statement"&&j=="}"&&(C=C.prev),i.dontIndentStatements)for(;C.type=="statement"&&i.dontIndentStatements.test(C.info);)C=C.prev;if(c.indent){var q=c.indent(T,C,k,w.unit);if(typeof q=="number")return q}var de=C.prev&&C.prev.info=="switch";if(i.allmanIndentation&&/[{(]/.test(j)){for(;C.type!="top"&&C.type!="}";)C=C.prev;return C.indented}return C.type=="statement"?C.indented+(j=="{"?0:e||w.unit):C.align&&(!t||C.type!=")")?C.column+(y?0:1):C.type==")"&&!y?C.indented+(e||w.unit):C.indented+(y?0:w.unit)+(!y&&de&&!/^(?:case|default)\b/.test(k)?w.unit:0)},languageData:{indentOnInput:u?/^\s*(?:case .*?:|default:|\{\}?|\})$/:/^\s*[{}]$/,commentTokens:{line:"//",block:{open:"/*",close:"*/"}},autocomplete:Object.keys(n).concat(Object.keys(r)).concat(Object.keys(s)).concat(Object.keys(l)),...i.languageData}}}function V(i){for(var e={},t=i.split(" "),n=0;n!?|\/#:@]/,hooks:{"@":function(i){return i.eatWhile(/[\w\$_]/),"meta"},'"':function(i,e){return i.match('""')?(e.tokenize=kg,e.tokenize(i,e)):!1},"'":function(i){return i.match(/^(\\[^'\s]+|[^\\'])'/)?"character":(i.eatWhile(/[\w\$_\xa1-\uffff]/),"atom")},"=":function(i,e){var t=e.context;return t.type=="}"&&t.align&&i.eat(">")?(e.context=new dh(t.indented,t.column,t.type,t.info,null,t.prev),"operator"):!1},"/":function(i,e){return i.eat("*")?(e.tokenize=Zr(1),e.tokenize(i,e)):!1}},languageData:{closeBrackets:{brackets:["(","[","{","'",'"','"""']}}});function bP(i){return function(e,t){for(var n=!1,r,s=!1;!e.eol();){if(!i&&!n&&e.match('"')){s=!0;break}if(i&&e.match('"""')){s=!0;break}r=e.next(),!n&&r=="$"&&e.match("{")&&e.skipTo("}"),n=!n&&r=="\\"&&!i}return(s||!i)&&(t.tokenize=null),"string"}}var xg=et({name:"kotlin",keywords:V("package as typealias class interface this super val operator var fun for is in This throw return annotation break continue object if else while do try when !in !is as? file import where by get set abstract enum open inner override private public internal protected catch finally out final vararg reified dynamic companion constructor init sealed field property receiver param sparam lateinit data inline noinline tailrec external annotation crossinline const operator infix suspend actual expect setparam"),types:V("Boolean Byte Character CharSequence Class ClassLoader Cloneable Comparable Compiler Double Exception Float Integer Long Math Number Object Package Pair Process Runtime Runnable SecurityManager Short StackTraceElement StrictMath String StringBuffer System Thread ThreadGroup ThreadLocal Throwable Triple Void Annotation Any BooleanArray ByteArray Char CharArray DeprecationLevel DoubleArray Enum FloatArray Function Int IntArray Lazy LazyThreadSafetyMode LongArray Nothing ShortArray Unit"),intendSwitch:!1,indentStatements:!1,multiLineStrings:!0,number:/^(?:0x[a-f\d_]+|0b[01_]+|(?:[\d_]+(\.\d+)?|\.\d+)(?:e[-+]?[\d_]+)?)(ul?|l|f)?/i,blockKeywords:V("catch class do else finally for if where try while enum"),defKeywords:V("class val var object interface fun"),atoms:V("true false null this"),hooks:{"@":function(i){return i.eatWhile(/[\w\$_]/),"meta"},"*":function(i,e){return e.prevToken=="."?"variable":"operator"},'"':function(i,e){return e.tokenize=bP(i.match('""')),e.tokenize(i,e)},"/":function(i,e){return i.eat("*")?(e.tokenize=Zr(1),e.tokenize(i,e)):!1},indent:function(i,e,t,n){var r=t&&t.charAt(0);if((i.prevToken=="}"||i.prevToken==")")&&t=="")return i.indented;if(i.prevToken=="operator"&&t!="}"&&i.context.type!="}"||i.prevToken=="variable"&&r=="."||(i.prevToken=="}"||i.prevToken==")")&&r==".")return n*2+e.indented;if(e.align&&e.type=="}")return e.indented+(i.context.type==(t||"").charAt(0)?0:n)}},languageData:{closeBrackets:{brackets:["(","[","{","'",'"','"""']}}}),aC=et({name:"shader",keywords:V("sampler1D sampler2D sampler3D samplerCube sampler1DShadow sampler2DShadow const attribute uniform varying break continue discard return for while do if else struct in out inout"),types:V("float int bool void vec2 vec3 vec4 ivec2 ivec3 ivec4 bvec2 bvec3 bvec4 mat2 mat3 mat4"),blockKeywords:V("for while do if else struct"),builtin:V("radians degrees sin cos tan asin acos atan pow exp log exp2 sqrt inversesqrt abs sign floor ceil fract mod min max clamp mix step smoothstep length distance dot cross normalize ftransform faceforward reflect refract matrixCompMult lessThan lessThanEqual greaterThan greaterThanEqual equal notEqual any all not texture1D texture1DProj texture1DLod texture1DProjLod texture2D texture2DProj texture2DLod texture2DProjLod texture3D texture3DProj texture3DLod texture3DProjLod textureCube textureCubeLod shadow1D shadow2D shadow1DProj shadow2DProj shadow1DLod shadow2DLod shadow1DProjLod shadow2DProjLod dFdx dFdy fwidth noise1 noise2 noise3 noise4"),atoms:V("true false gl_FragColor gl_SecondaryColor gl_Normal gl_Vertex gl_MultiTexCoord0 gl_MultiTexCoord1 gl_MultiTexCoord2 gl_MultiTexCoord3 gl_MultiTexCoord4 gl_MultiTexCoord5 gl_MultiTexCoord6 gl_MultiTexCoord7 gl_FogCoord gl_PointCoord gl_Position gl_PointSize gl_ClipVertex gl_FrontColor gl_BackColor gl_FrontSecondaryColor gl_BackSecondaryColor gl_TexCoord gl_FogFragCoord gl_FragCoord gl_FrontFacing gl_FragData gl_FragDepth gl_ModelViewMatrix gl_ProjectionMatrix gl_ModelViewProjectionMatrix gl_TextureMatrix gl_NormalMatrix gl_ModelViewMatrixInverse gl_ProjectionMatrixInverse gl_ModelViewProjectionMatrixInverse gl_TextureMatrixTranspose gl_ModelViewMatrixInverseTranspose gl_ProjectionMatrixInverseTranspose gl_ModelViewProjectionMatrixInverseTranspose gl_TextureMatrixInverseTranspose gl_NormalScale gl_DepthRange gl_ClipPlane gl_Point gl_FrontMaterial gl_BackMaterial gl_LightSource gl_LightModel gl_FrontLightModelProduct gl_BackLightModelProduct gl_TextureColor gl_EyePlaneS gl_EyePlaneT gl_EyePlaneR gl_EyePlaneQ gl_FogParameters gl_MaxLights gl_MaxClipPlanes gl_MaxTextureUnits gl_MaxTextureCoords gl_MaxVertexAttribs gl_MaxVertexUniformComponents gl_MaxVaryingFloats gl_MaxVertexTextureImageUnits gl_MaxTextureImageUnits gl_MaxFragmentUniformComponents gl_MaxCombineTextureImageUnits gl_MaxDrawBuffers"),indentSwitch:!1,hooks:{"#":wi}}),lC=et({name:"nesc",keywords:V(Er+" as atomic async call command component components configuration event generic implementation includes interface module new norace nx_struct nx_union post provides signal task uses abstract extends"),types:qr,blockKeywords:V(zr),atoms:V("null true false"),hooks:{"#":wi}}),wg=et({name:"objectivec",keywords:V(Er+" "+dg),types:mg,builtin:V(pg),blockKeywords:V(zr+" @synthesize @try @catch @finally @autoreleasepool @synchronized"),defKeywords:V(So+" @interface @implementation @protocol @class"),dontIndentStatements:/^@.*$/,typeFirstDefinitions:!0,atoms:V("YES NO NULL Nil nil true false nullptr"),isReservedIdentifier:ko,hooks:{"#":wi,"*":yo}}),cC=et({name:"objectivecpp",keywords:V(Er+" "+dg+" "+Og),types:mg,builtin:V(pg),blockKeywords:V(zr+" @synthesize @try @catch @finally @autoreleasepool @synchronized class try catch"),defKeywords:V(So+" @interface @implementation @protocol @class class namespace"),dontIndentStatements:/^@.*$|^template$/,typeFirstDefinitions:!0,atoms:V("YES NO NULL Nil nil true false nullptr"),isReservedIdentifier:ko,hooks:{"#":wi,"*":yo,u:xi,U:xi,L:xi,R:xi,0:Se,1:Se,2:Se,3:Se,4:Se,5:Se,6:Se,7:Se,8:Se,9:Se,token:function(i,e,t){if(t=="variable"&&i.peek()=="("&&(e.prevToken==";"||e.prevToken==null||e.prevToken=="}")&&gg(i.current()))return"def"}},namespaceSeparator:"::"}),hC=et({name:"squirrel",keywords:V("base break clone continue const default delete enum extends function in class foreach local resume return this throw typeof yield constructor instanceof static"),types:qr,blockKeywords:V("case catch class else for foreach if switch try while"),defKeywords:V("function local class"),typeFirstDefinitions:!0,atoms:V("true false null"),hooks:{"#":wi}}),bo=null;function Pg(i){return function(e,t){for(var n=!1,r,s=!1;!e.eol();){if(!n&&e.match('"')&&(i=="single"||e.match('""'))){s=!0;break}if(!n&&e.match("``")){bo=Pg(i),s=!0;break}r=e.next(),n=i=="single"&&!n&&r=="\\"}return s&&(t.tokenize=null),"string"}}var fC=et({name:"ceylon",keywords:V("abstracts alias assembly assert assign break case catch class continue dynamic else exists extends finally for function given if import in interface is let module new nonempty object of out outer package return satisfies super switch then this throw try value void while"),types:function(i){var e=i.charAt(0);return e===e.toUpperCase()&&e!==e.toLowerCase()},blockKeywords:V("case catch class dynamic else finally for function if interface module new object switch try while"),defKeywords:V("class dynamic function interface module object package value"),builtin:V("abstract actual aliased annotation by default deprecated doc final formal late license native optional sealed see serializable shared suppressWarnings tagged throws variable"),isPunctuationChar:/[\[\]{}\(\),;\:\.`]/,isOperatorChar:/[+\-*&%=<>!?|^~:\/]/,numberStart:/[\d#$]/,number:/^(?:#[\da-fA-F_]+|\$[01_]+|[\d_]+[kMGTPmunpf]?|[\d_]+\.[\d_]+(?:[eE][-+]?\d+|[kMGTPmunpf]|)|)/i,multiLineStrings:!0,typeFirstDefinitions:!0,atoms:V("true false null larger smaller equal empty finished"),indentSwitch:!1,styleDefs:!1,hooks:{"@":function(i){return i.eatWhile(/[\w\$_]/),"meta"},'"':function(i,e){return e.tokenize=Pg(i.match('""')?"triple":"single"),e.tokenize(i,e)},"`":function(i,e){return!bo||!i.match("`")?!1:(e.tokenize=bo,bo=null,e.tokenize(i,e))},"'":function(i){return i.match(/^(\\[^'\s]+|[^\\'])'/)?"string.special":(i.eatWhile(/[\w\$_\xa1-\uffff]/),"atom")},token:function(i,e,t){if((t=="variable"||t=="type")&&e.prevToken==".")return"variableName.special"}},languageData:{closeBrackets:{brackets:["(","[","{","'",'"','"""']}}});function SP(i){(i.interpolationStack||(i.interpolationStack=[])).push(i.tokenize)}function vg(i){return(i.interpolationStack||(i.interpolationStack=[])).pop()}function yP(i){return i.interpolationStack?i.interpolationStack.length:0}function Oh(i,e,t,n){var r=!1;if(e.eat(i))if(e.eat(i))r=!0;else return"string";function s(o,a){for(var l=!1;!o.eol();){if(!n&&!l&&o.peek()=="$")return SP(a),a.tokenize=kP,"string";var c=o.next();if(c==i&&!l&&(!r||o.match(i+i))){a.tokenize=null;break}l=!n&&!l&&c=="\\"}return"string"}return t.tokenize=s,s(e,t)}function kP(i,e){return i.eat("$"),i.eat("{")?e.tokenize=null:e.tokenize=xP,null}function xP(i,e){return i.eatWhile(/[\w_]/),e.tokenize=vg(e),"variable"}var uC=et({name:"dart",keywords:V("this super static final const abstract class extends external factory implements mixin get native set typedef with enum throw rethrow assert break case continue default in return new deferred async await covariant try catch finally do else for if switch while import library export part of show hide is as extension on yield late required sealed base interface when inline"),blockKeywords:V("try catch finally do else for if switch while"),builtin:V("void bool num int double dynamic var String Null Never"),atoms:V("true false null"),number:/^(?:0x[a-f\d_]+|(?:[\d_]+\.?[\d_]*|\.[\d_]+)(?:e[-+]?[\d_]+)?)/i,hooks:{"@":function(i){return i.eatWhile(/[\w\$_\.]/),"meta"},"'":function(i,e){return Oh("'",i,e,!1)},'"':function(i,e){return Oh('"',i,e,!1)},r:function(i,e){var t=i.peek();return t=="'"||t=='"'?Oh(i.next(),i,e,!0):!1},"}":function(i,e){return yP(e)>0?(e.tokenize=vg(e),null):!1},"/":function(i,e){return i.eat("*")?(e.tokenize=Zr(1),e.tokenize(i,e)):!1},token:function(i,e,t){if(t=="variable"){var n=RegExp("^[_$]*[A-Z][a-zA-Z0-9_$]*$","g");if(n.test(i.current()))return"type"}}}});function We(i){var e=i.client||{},t=i.atoms||{false:!0,true:!0,null:!0},n=i.builtin||M(Tg),r=i.keywords||M(Hi),s=i.operatorChars||/^[*+\-%<>!=&|~^\/]/,o=i.support||{},a=i.hooks||{},l=i.dateSQL||{date:!0,time:!0,timestamp:!0},c=i.backslashStringEscapes!==!1,h=i.brackets||/^[\{}\(\)\[\]]/,f=i.punctuation||/^[;.,:]/;function u(g,Q){var S=g.next();if(a[S]){var x=a[S](g,Q);if(x!==!1)return x}if(o.hexNumber&&(S=="0"&&g.match(/^[xX][0-9a-fA-F]+/)||(S=="x"||S=="X")&&g.match(/^'[0-9a-fA-F]*'/)))return"number";if(o.binaryNumber&&((S=="b"||S=="B")&&g.match(/^'[01]+'/)||S=="0"&&g.match(/^b[01]*/)))return"number";if(S.charCodeAt(0)>47&&S.charCodeAt(0)<58)return g.match(/^[0-9]*(\.[0-9]+)?([eE][-+]?[0-9]+)?/),o.decimallessFloat&&g.match(/^\.(?!\.)/),"number";if(S=="?"&&(g.eatSpace()||g.eol()||g.eat(";")))return"macroName";if(S=="'"||S=='"'&&o.doubleQuote)return Q.tokenize=O(S),Q.tokenize(g,Q);if((o.nCharCast&&(S=="n"||S=="N")||o.charsetCast&&S=="_"&&g.match(/[a-z][a-z0-9]*/i))&&(g.peek()=="'"||g.peek()=='"'))return"keyword";if(o.escapeConstant&&(S=="e"||S=="E")&&(g.peek()=="'"||g.peek()=='"'&&o.doubleQuote))return Q.tokenize=function($,R){return(R.tokenize=O($.next(),!0))($,R)},"keyword";if(o.commentSlashSlash&&S=="/"&&g.eat("/"))return g.skipToEnd(),"comment";if(o.commentHash&&S=="#"||S=="-"&&g.eat("-")&&(!o.commentSpaceRequired||g.eat(" ")))return g.skipToEnd(),"comment";if(S=="/"&&g.eat("*"))return Q.tokenize=p(1),Q.tokenize(g,Q);if(S=="."){if(o.zerolessFloat&&g.match(/^(?:\d+(?:e[+-]?\d+)?)/i))return"number";if(g.match(/^\.+/))return null;if(o.ODBCdotTable&&g.match(/^[\w\d_$#]+/))return"type"}else{if(s.test(S))return g.eatWhile(s),"operator";if(h.test(S))return"bracket";if(f.test(S))return g.eatWhile(f),"punctuation";if(S=="{"&&(g.match(/^( )*(d|D|t|T|ts|TS)( )*'[^']*'( )*}/)||g.match(/^( )*(d|D|t|T|ts|TS)( )*"[^"]*"( )*}/)))return"number";g.eatWhile(/^[_\w\d]/);var v=g.current().toLowerCase();return l.hasOwnProperty(v)&&(g.match(/^( )+'[^']*'/)||g.match(/^( )+"[^"]*"/))?"number":t.hasOwnProperty(v)?"atom":n.hasOwnProperty(v)?"type":r.hasOwnProperty(v)?"keyword":e.hasOwnProperty(v)?"builtin":null}}function O(g,Q){return function(S,x){for(var v=!1,$;($=S.next())!=null;){if($==g&&!v){x.tokenize=u;break}v=(c||Q)&&!v&&$=="\\"}return"string"}}function p(g){return function(Q,S){var x=Q.match(/^.*?(\/\*|\*\/)/);return x?x[1]=="/*"?S.tokenize=p(g+1):g>1?S.tokenize=p(g-1):S.tokenize=u:Q.skipToEnd(),"comment"}}function m(g,Q,S){Q.context={prev:Q.context,indent:g.indentation(),col:g.column(),type:S}}function b(g){g.indent=g.context.indent,g.context=g.context.prev}return{name:"sql",startState:function(){return{tokenize:u,context:null}},token:function(g,Q){if(g.sol()&&Q.context&&Q.context.align==null&&(Q.context.align=!1),Q.tokenize==u&&g.eatSpace())return null;var S=Q.tokenize(g,Q);if(S=="comment")return S;Q.context&&Q.context.align==null&&(Q.context.align=!0);var x=g.current();return x=="("?m(g,Q,")"):x=="["?m(g,Q,"]"):Q.context&&Q.context.type==x&&b(Q),S},indent:function(g,Q,S){var x=g.context;if(!x)return null;var v=Q.charAt(0)==x.type;return x.align?x.col+(v?0:1):x.indent+(v?0:S.unit)},languageData:{commentTokens:{line:o.commentSlashSlash?"//":o.commentHash?"#":"--",block:{open:"/*",close:"*/"}},closeBrackets:{brackets:["(","[","{","'",'"',"`"]}}}}function ph(i){for(var e;(e=i.next())!=null;)if(e=="`"&&!i.eat("`"))return"string.special";return i.backUp(i.current().length-1),i.eatWhile(/\w/)?"string.special":null}function wP(i){for(var e;(e=i.next())!=null;)if(e=='"'&&!i.eat('"'))return"string.special";return i.backUp(i.current().length-1),i.eatWhile(/\w/)?"string.special":null}function Fi(i){return i.eat("@")&&(i.match("session."),i.match("local."),i.match("global.")),i.eat("'")?(i.match(/^.*'/),"string.special"):i.eat('"')?(i.match(/^.*"/),"string.special"):i.eat("`")?(i.match(/^.*`/),"string.special"):i.match(/^[0-9a-zA-Z$\.\_]+/)?"string.special":null}function $g(i){return i.eat("N")?"atom":i.match(/^[a-zA-Z.#!?]/)?"string.special":null}var Hi="alter and as asc between by count create delete desc distinct drop from group having in insert into is join like not on or order select set table union update values where limit ";function M(i){for(var e={},t=i.split(" "),n=0;n!=^\&|\/]/,brackets:/^[\{}\(\)]/,punctuation:/^[;.,:/]/,backslashStringEscapes:!1,dateSQL:M("date datetimeoffset datetime2 smalldatetime datetime time"),hooks:{"@":Fi}}),mC=We({client:M("charset clear connect edit ego exit go help nopager notee nowarning pager print prompt quit rehash source status system tee"),keywords:M(Hi+"accessible action add after algorithm all analyze asensitive at authors auto_increment autocommit avg avg_row_length before binary binlog both btree cache call cascade cascaded case catalog_name chain change changed character check checkpoint checksum class_origin client_statistics close coalesce code collate collation collations column columns comment commit committed completion concurrent condition connection consistent constraint contains continue contributors convert cross current current_date current_time current_timestamp current_user cursor data database databases day_hour day_microsecond day_minute day_second deallocate dec declare default delay_key_write delayed delimiter des_key_file describe deterministic dev_pop dev_samp deviance diagnostics directory disable discard distinctrow div dual dumpfile each elseif enable enclosed end ends engine engines enum errors escape escaped even event events every execute exists exit explain extended fast fetch field fields first flush for force foreign found_rows full fulltext function general get global grant grants group group_concat handler hash help high_priority hosts hour_microsecond hour_minute hour_second if ignore ignore_server_ids import index index_statistics infile inner innodb inout insensitive insert_method install interval invoker isolation iterate key keys kill language last leading leave left level limit linear lines list load local localtime localtimestamp lock logs low_priority master master_heartbeat_period master_ssl_verify_server_cert masters match max max_rows maxvalue message_text middleint migrate min min_rows minute_microsecond minute_second mod mode modifies modify mutex mysql_errno natural next no no_write_to_binlog offline offset one online open optimize option optionally out outer outfile pack_keys parser partition partitions password phase plugin plugins prepare preserve prev primary privileges procedure processlist profile profiles purge query quick range read read_write reads real rebuild recover references regexp relaylog release remove rename reorganize repair repeatable replace require resignal restrict resume return returns revoke right rlike rollback rollup row row_format rtree savepoint schedule schema schema_name schemas second_microsecond security sensitive separator serializable server session share show signal slave slow smallint snapshot soname spatial specific sql sql_big_result sql_buffer_result sql_cache sql_calc_found_rows sql_no_cache sql_small_result sqlexception sqlstate sqlwarning ssl start starting starts status std stddev stddev_pop stddev_samp storage straight_join subclass_origin sum suspend table_name table_statistics tables tablespace temporary terminated to trailing transaction trigger triggers truncate uncommitted undo uninstall unique unlock upgrade usage use use_frm user user_resources user_statistics using utc_date utc_time utc_timestamp value variables varying view views warnings when while with work write xa xor year_month zerofill begin do then else loop repeat"),builtin:M("bool boolean bit blob decimal double float long longblob longtext medium mediumblob mediumint mediumtext time timestamp tinyblob tinyint tinytext text bigint int int1 int2 int3 int4 int8 integer float float4 float8 double char varbinary varchar varcharacter precision date datetime year unsigned signed numeric"),atoms:M("false true null unknown"),operatorChars:/^[*+\-%<>!=&|^]/,dateSQL:M("date time timestamp"),support:M("ODBCdotTable decimallessFloat zerolessFloat binaryNumber hexNumber doubleQuote nCharCast charsetCast commentHash commentSpaceRequired"),hooks:{"@":Fi,"`":ph,"\\":$g}}),gC=We({client:M("charset clear connect edit ego exit go help nopager notee nowarning pager print prompt quit rehash source status system tee"),keywords:M(Hi+"accessible action add after algorithm all always analyze asensitive at authors auto_increment autocommit avg avg_row_length before binary binlog both btree cache call cascade cascaded case catalog_name chain change changed character check checkpoint checksum class_origin client_statistics close coalesce code collate collation collations column columns comment commit committed completion concurrent condition connection consistent constraint contains continue contributors convert cross current current_date current_time current_timestamp current_user cursor data database databases day_hour day_microsecond day_minute day_second deallocate dec declare default delay_key_write delayed delimiter des_key_file describe deterministic dev_pop dev_samp deviance diagnostics directory disable discard distinctrow div dual dumpfile each elseif enable enclosed end ends engine engines enum errors escape escaped even event events every execute exists exit explain extended fast fetch field fields first flush for force foreign found_rows full fulltext function general generated get global grant grants group group_concat handler hard hash help high_priority hosts hour_microsecond hour_minute hour_second if ignore ignore_server_ids import index index_statistics infile inner innodb inout insensitive insert_method install interval invoker isolation iterate key keys kill language last leading leave left level limit linear lines list load local localtime localtimestamp lock logs low_priority master master_heartbeat_period master_ssl_verify_server_cert masters match max max_rows maxvalue message_text middleint migrate min min_rows minute_microsecond minute_second mod mode modifies modify mutex mysql_errno natural next no no_write_to_binlog offline offset one online open optimize option optionally out outer outfile pack_keys parser partition partitions password persistent phase plugin plugins prepare preserve prev primary privileges procedure processlist profile profiles purge query quick range read read_write reads real rebuild recover references regexp relaylog release remove rename reorganize repair repeatable replace require resignal restrict resume return returns revoke right rlike rollback rollup row row_format rtree savepoint schedule schema schema_name schemas second_microsecond security sensitive separator serializable server session share show shutdown signal slave slow smallint snapshot soft soname spatial specific sql sql_big_result sql_buffer_result sql_cache sql_calc_found_rows sql_no_cache sql_small_result sqlexception sqlstate sqlwarning ssl start starting starts status std stddev stddev_pop stddev_samp storage straight_join subclass_origin sum suspend table_name table_statistics tables tablespace temporary terminated to trailing transaction trigger triggers truncate uncommitted undo uninstall unique unlock upgrade usage use use_frm user user_resources user_statistics using utc_date utc_time utc_timestamp value variables varying view views virtual warnings when while with work write xa xor year_month zerofill begin do then else loop repeat"),builtin:M("bool boolean bit blob decimal double float long longblob longtext medium mediumblob mediumint mediumtext time timestamp tinyblob tinyint tinytext text bigint int int1 int2 int3 int4 int8 integer float float4 float8 double char varbinary varchar varcharacter precision date datetime year unsigned signed numeric"),atoms:M("false true null unknown"),operatorChars:/^[*+\-%<>!=&|^]/,dateSQL:M("date time timestamp"),support:M("ODBCdotTable decimallessFloat zerolessFloat binaryNumber hexNumber doubleQuote nCharCast charsetCast commentHash commentSpaceRequired"),hooks:{"@":Fi,"`":ph,"\\":$g}}),QC=We({client:M("auth backup bail binary changes check clone databases dbinfo dump echo eqp exit explain fullschema headers help import imposter indexes iotrace limit lint load log mode nullvalue once open output print prompt quit read restore save scanstats schema separator session shell show stats system tables testcase timeout timer trace vfsinfo vfslist vfsname width"),keywords:M(Hi+"abort action add after all analyze attach autoincrement before begin cascade case cast check collate column commit conflict constraint cross current_date current_time current_timestamp database default deferrable deferred detach each else end escape except exclusive exists explain fail for foreign full glob if ignore immediate index indexed initially inner instead intersect isnull key left limit match natural no notnull null of offset outer plan pragma primary query raise recursive references regexp reindex release rename replace restrict right rollback row savepoint temp temporary then to transaction trigger unique using vacuum view virtual when with without"),builtin:M("bool boolean bit blob decimal double float long longblob longtext medium mediumblob mediumint mediumtext time timestamp tinyblob tinyint tinytext text clob bigint int int2 int8 integer float double char varchar date datetime year unsigned signed numeric real"),atoms:M("null current_date current_time current_timestamp"),operatorChars:/^[*+\-%<>!=&|/~]/,dateSQL:M("date time timestamp datetime"),support:M("decimallessFloat zerolessFloat"),identifierQuote:'"',hooks:{"@":Fi,":":Fi,"?":Fi,$:Fi,'"':wP,"`":ph}}),bC=We({client:{},keywords:M("add all allow alter and any apply as asc authorize batch begin by clustering columnfamily compact consistency count create custom delete desc distinct drop each_quorum exists filtering from grant if in index insert into key keyspace keyspaces level limit local_one local_quorum modify nan norecursive nosuperuser not of on one order password permission permissions primary quorum rename revoke schema select set storage superuser table three to token truncate ttl two type unlogged update use user users using values where with writetime"),builtin:M("ascii bigint blob boolean counter decimal double float frozen inet int list map static text timestamp timeuuid tuple uuid varchar varint"),atoms:M("false true infinity NaN"),operatorChars:/^[<>=]/,dateSQL:{},support:M("commentSlashSlash decimallessFloat"),hooks:{}}),SC=We({client:M("appinfo arraysize autocommit autoprint autorecovery autotrace blockterminator break btitle cmdsep colsep compatibility compute concat copycommit copytypecheck define describe echo editfile embedded escape exec execute feedback flagger flush heading headsep instance linesize lno loboffset logsource long longchunksize markup native newpage numformat numwidth pagesize pause pno recsep recsepchar release repfooter repheader serveroutput shiftinout show showmode size spool sqlblanklines sqlcase sqlcode sqlcontinue sqlnumber sqlpluscompatibility sqlprefix sqlprompt sqlterminator suffix tab term termout time timing trimout trimspool ttitle underline verify version wrap"),keywords:M("abort accept access add all alter and any array arraylen as asc assert assign at attributes audit authorization avg base_table begin between binary_integer body boolean by case cast char char_base check close cluster clusters colauth column comment commit compress connect connected constant constraint crash create current currval cursor data_base database date dba deallocate debugoff debugon decimal declare default definition delay delete desc digits dispose distinct do drop else elseif elsif enable end entry escape exception exception_init exchange exclusive exists exit external fast fetch file for force form from function generic goto grant group having identified if immediate in increment index indexes indicator initial initrans insert interface intersect into is key level library like limited local lock log logging long loop master maxextents maxtrans member minextents minus mislabel mode modify multiset new next no noaudit nocompress nologging noparallel not nowait number_base object of off offline on online only open option or order out package parallel partition pctfree pctincrease pctused pls_integer positive positiven pragma primary prior private privileges procedure public raise range raw read rebuild record ref references refresh release rename replace resource restrict return returning returns reverse revoke rollback row rowid rowlabel rownum rows run savepoint schema segment select separate session set share snapshot some space split sql start statement storage subtype successful synonym tabauth table tables tablespace task terminate then to trigger truncate type union unique unlimited unrecoverable unusable update use using validate value values variable view views when whenever where while with work"),builtin:M("abs acos add_months ascii asin atan atan2 average bfile bfilename bigserial bit blob ceil character chartorowid chr clob concat convert cos cosh count dec decode deref dual dump dup_val_on_index empty error exp false float floor found glb greatest hextoraw initcap instr instrb int integer isopen last_day least length lengthb ln lower lpad ltrim lub make_ref max min mlslabel mod months_between natural naturaln nchar nclob new_time next_day nextval nls_charset_decl_len nls_charset_id nls_charset_name nls_initcap nls_lower nls_sort nls_upper nlssort no_data_found notfound null number numeric nvarchar2 nvl others power rawtohex real reftohex round rowcount rowidtochar rowtype rpad rtrim serial sign signtype sin sinh smallint soundex sqlcode sqlerrm sqrt stddev string substr substrb sum sysdate tan tanh to_char text to_date to_label to_multi_byte to_number to_single_byte translate true trunc uid unlogged upper user userenv varchar varchar2 variance varying vsize xml"),operatorChars:/^[*\/+\-%<>!=~]/,dateSQL:M("date time timestamp"),support:M("doubleQuote nCharCast zerolessFloat binaryNumber hexNumber")}),yC=We({keywords:M("select alter $elem$ $key$ $value$ add after all analyze and archive as asc before between binary both bucket buckets by cascade case cast change cluster clustered clusterstatus collection column columns comment compute concatenate continue create cross cursor data database databases dbproperties deferred delete delimited desc describe directory disable distinct distribute drop else enable end escaped exclusive exists explain export extended external fetch fields fileformat first format formatted from full function functions grant group having hold_ddltime idxproperties if import in index indexes inpath inputdriver inputformat insert intersect into is items join keys lateral left like limit lines load local location lock locks mapjoin materialized minus msck no_drop nocompress not of offline on option or order out outer outputdriver outputformat overwrite partition partitioned partitions percent plus preserve procedure purge range rcfile read readonly reads rebuild recordreader recordwriter recover reduce regexp rename repair replace restrict revoke right rlike row schema schemas semi sequencefile serde serdeproperties set shared show show_database sort sorted ssl statistics stored streamtable table tables tablesample tblproperties temporary terminated textfile then tmp to touch transform trigger unarchive undo union uniquejoin unlock update use using utc utc_tmestamp view when where while with admin authorization char compact compactions conf cube current current_date current_timestamp day decimal defined dependency directories elem_type exchange file following for grouping hour ignore inner interval jar less logical macro minute month more none noscan over owner partialscan preceding pretty principals protection reload rewrite role roles rollup rows second server sets skewed transactions truncate unbounded unset uri user values window year"),builtin:M("bool boolean long timestamp tinyint smallint bigint int float double date datetime unsigned string array struct map uniontype key_type utctimestamp value_type varchar"),atoms:M("false true null unknown"),operatorChars:/^[*+\-%<>!=]/,dateSQL:M("date timestamp"),support:M("ODBCdotTable doubleQuote binaryNumber hexNumber")}),kC=We({client:M("source"),keywords:M(Hi+"a abort abs absent absolute access according action ada add admin after aggregate alias all allocate also alter always analyse analyze and any are array array_agg array_max_cardinality as asc asensitive assert assertion assignment asymmetric at atomic attach attribute attributes authorization avg backward base64 before begin begin_frame begin_partition bernoulli between bigint binary bit bit_length blob blocked bom boolean both breadth by c cache call called cardinality cascade cascaded case cast catalog catalog_name ceil ceiling chain char char_length character character_length character_set_catalog character_set_name character_set_schema characteristics characters check checkpoint class class_origin clob close cluster coalesce cobol collate collation collation_catalog collation_name collation_schema collect column column_name columns command_function command_function_code comment comments commit committed concurrently condition condition_number configuration conflict connect connection connection_name constant constraint constraint_catalog constraint_name constraint_schema constraints constructor contains content continue control conversion convert copy corr corresponding cost count covar_pop covar_samp create cross csv cube cume_dist current current_catalog current_date current_default_transform_group current_path current_role current_row current_schema current_time current_timestamp current_transform_group_for_type current_user cursor cursor_name cycle data database datalink datatype date datetime_interval_code datetime_interval_precision day db deallocate debug dec decimal declare default defaults deferrable deferred defined definer degree delete delimiter delimiters dense_rank depends depth deref derived desc describe descriptor detach detail deterministic diagnostics dictionary disable discard disconnect dispatch distinct dlnewcopy dlpreviouscopy dlurlcomplete dlurlcompleteonly dlurlcompletewrite dlurlpath dlurlpathonly dlurlpathwrite dlurlscheme dlurlserver dlvalue do document domain double drop dump dynamic dynamic_function dynamic_function_code each element else elseif elsif empty enable encoding encrypted end end_frame end_partition endexec enforced enum equals errcode error escape event every except exception exclude excluding exclusive exec execute exists exit exp explain expression extension external extract false family fetch file filter final first first_value flag float floor following for force foreach foreign fortran forward found frame_row free freeze from fs full function functions fusion g general generated get global go goto grant granted greatest group grouping groups handler having header hex hierarchy hint hold hour id identity if ignore ilike immediate immediately immutable implementation implicit import in include including increment indent index indexes indicator info inherit inherits initially inline inner inout input insensitive insert instance instantiable instead int integer integrity intersect intersection interval into invoker is isnull isolation join k key key_member key_type label lag language large last last_value lateral lead leading leakproof least left length level library like like_regex limit link listen ln load local localtime localtimestamp location locator lock locked log logged loop lower m map mapping match matched materialized max max_cardinality maxvalue member merge message message_length message_octet_length message_text method min minute minvalue mod mode modifies module month more move multiset mumps name names namespace national natural nchar nclob nesting new next nfc nfd nfkc nfkd nil no none normalize normalized not nothing notice notify notnull nowait nth_value ntile null nullable nullif nulls number numeric object occurrences_regex octet_length octets of off offset oids old on only open operator option options or order ordering ordinality others out outer output over overlaps overlay overriding owned owner p pad parallel parameter parameter_mode parameter_name parameter_ordinal_position parameter_specific_catalog parameter_specific_name parameter_specific_schema parser partial partition pascal passing passthrough password path percent percent_rank percentile_cont percentile_disc perform period permission pg_context pg_datatype_name pg_exception_context pg_exception_detail pg_exception_hint placing plans pli policy portion position position_regex power precedes preceding precision prepare prepared preserve primary print_strict_params prior privileges procedural procedure procedures program public publication query quote raise range rank read reads real reassign recheck recovery recursive ref references referencing refresh regr_avgx regr_avgy regr_count regr_intercept regr_r2 regr_slope regr_sxx regr_sxy regr_syy reindex relative release rename repeatable replace replica requiring reset respect restart restore restrict result result_oid return returned_cardinality returned_length returned_octet_length returned_sqlstate returning returns reverse revoke right role rollback rollup routine routine_catalog routine_name routine_schema routines row row_count row_number rows rowtype rule savepoint scale schema schema_name schemas scope scope_catalog scope_name scope_schema scroll search second section security select selective self sensitive sequence sequences serializable server server_name session session_user set setof sets share show similar simple size skip slice smallint snapshot some source space specific specific_name specifictype sql sqlcode sqlerror sqlexception sqlstate sqlwarning sqrt stable stacked standalone start state statement static statistics stddev_pop stddev_samp stdin stdout storage strict strip structure style subclass_origin submultiset subscription substring substring_regex succeeds sum symmetric sysid system system_time system_user t table table_name tables tablesample tablespace temp template temporary text then ties time timestamp timezone_hour timezone_minute to token top_level_count trailing transaction transaction_active transactions_committed transactions_rolled_back transform transforms translate translate_regex translation treat trigger trigger_catalog trigger_name trigger_schema trim trim_array true truncate trusted type types uescape unbounded uncommitted under unencrypted union unique unknown unlink unlisten unlogged unnamed unnest until untyped update upper uri usage use_column use_variable user user_defined_type_catalog user_defined_type_code user_defined_type_name user_defined_type_schema using vacuum valid validate validator value value_of values var_pop var_samp varbinary varchar variable_conflict variadic varying verbose version versioning view views volatile warning when whenever where while whitespace width_bucket window with within without work wrapper write xml xmlagg xmlattributes xmlbinary xmlcast xmlcomment xmlconcat xmldeclaration xmldocument xmlelement xmlexists xmlforest xmliterate xmlnamespaces xmlparse xmlpi xmlquery xmlroot xmlschema xmlserialize xmltable xmltext xmlvalidate year yes zone"),builtin:M("bigint int8 bigserial serial8 bit varying varbit boolean bool box bytea character char varchar cidr circle date double precision float8 inet integer int int4 interval json jsonb line lseg macaddr macaddr8 money numeric decimal path pg_lsn point polygon real float4 smallint int2 smallserial serial2 serial serial4 text time without zone with timetz timestamp timestamptz tsquery tsvector txid_snapshot uuid xml"),atoms:M("false true null unknown"),operatorChars:/^[*\/+\-%<>!=&|^\/#@?~]/,backslashStringEscapes:!1,dateSQL:M("date time timestamp"),support:M("ODBCdotTable decimallessFloat zerolessFloat binaryNumber hexNumber nCharCast charsetCast escapeConstant")}),xC=We({keywords:M("ancestor and asc by contains desc descendant distinct from group has in is limit offset on order select superset where"),atoms:M("false true"),builtin:M("blob datetime first key __key__ string integer double boolean null"),operatorChars:/^[*+\-%<>!=]/}),wC=We({client:M("source"),keywords:M("abort absolute access action active add admin after aggregate all also alter always analyse analyze and any array as asc assertion assignment asymmetric at authorization backward before begin between bigint binary bit boolean both by cache called cascade cascaded case cast chain char character characteristics check checkpoint class close cluster coalesce codegen collate column comment commit committed concurrency concurrently configuration connection constraint constraints contains content continue conversion copy cost cpu_rate_limit create createdb createexttable createrole createuser cross csv cube current current_catalog current_date current_role current_schema current_time current_timestamp current_user cursor cycle data database day deallocate dec decimal declare decode default defaults deferrable deferred definer delete delimiter delimiters deny desc dictionary disable discard distinct distributed do document domain double drop dxl each else enable encoding encrypted end enum errors escape every except exchange exclude excluding exclusive execute exists explain extension external extract false family fetch fields filespace fill filter first float following for force foreign format forward freeze from full function global grant granted greatest group group_id grouping handler hash having header hold host hour identity if ignore ilike immediate immutable implicit in including inclusive increment index indexes inherit inherits initially inline inner inout input insensitive insert instead int integer intersect interval into invoker is isnull isolation join key language large last leading least left level like limit list listen load local localtime localtimestamp location lock log login mapping master match maxvalue median merge minute minvalue missing mode modifies modify month move name names national natural nchar new newline next no nocreatedb nocreateexttable nocreaterole nocreateuser noinherit nologin none noovercommit nosuperuser not nothing notify notnull nowait null nullif nulls numeric object of off offset oids old on only operator option options or order ordered others out outer over overcommit overlaps overlay owned owner parser partial partition partitions passing password percent percentile_cont percentile_disc placing plans position preceding precision prepare prepared preserve primary prior privileges procedural procedure protocol queue quote randomly range read readable reads real reassign recheck recursive ref references reindex reject relative release rename repeatable replace replica reset resource restart restrict returning returns revoke right role rollback rollup rootpartition row rows rule savepoint scatter schema scroll search second security segment select sequence serializable session session_user set setof sets share show similar simple smallint some split sql stable standalone start statement statistics stdin stdout storage strict strip subpartition subpartitions substring superuser symmetric sysid system table tablespace temp template temporary text then threshold ties time timestamp to trailing transaction treat trigger trim true truncate trusted type unbounded uncommitted unencrypted union unique unknown unlisten until update user using vacuum valid validation validator value values varchar variadic varying verbose version view volatile web when where whitespace window with within without work writable write xml xmlattributes xmlconcat xmlelement xmlexists xmlforest xmlparse xmlpi xmlroot xmlserialize year yes zone"),builtin:M("bigint int8 bigserial serial8 bit varying varbit boolean bool box bytea character char varchar cidr circle date double precision float float8 inet integer int int4 interval json jsonb line lseg macaddr macaddr8 money numeric decimal path pg_lsn point polygon real float4 smallint int2 smallserial serial2 serial serial4 text time without zone with timetz timestamp timestamptz tsquery tsvector txid_snapshot uuid xml"),atoms:M("false true null unknown"),operatorChars:/^[*+\-%<>!=&|^\/#@?~]/,dateSQL:M("date time timestamp"),support:M("ODBCdotTable decimallessFloat zerolessFloat binaryNumber hexNumber nCharCast charsetCast")}),PC=We({keywords:M("add after all alter analyze and anti archive array as asc at between bucket buckets by cache cascade case cast change clear cluster clustered codegen collection column columns comment commit compact compactions compute concatenate cost create cross cube current current_date current_timestamp database databases data dbproperties defined delete delimited deny desc describe dfs directories distinct distribute drop else end escaped except exchange exists explain export extended external false fields fileformat first following for format formatted from full function functions global grant group grouping having if ignore import in index indexes inner inpath inputformat insert intersect interval into is items join keys last lateral lazy left like limit lines list load local location lock locks logical macro map minus msck natural no not null nulls of on optimize option options or order out outer outputformat over overwrite partition partitioned partitions percent preceding principals purge range recordreader recordwriter recover reduce refresh regexp rename repair replace reset restrict revoke right rlike role roles rollback rollup row rows schema schemas select semi separated serde serdeproperties set sets show skewed sort sorted start statistics stored stratify struct table tables tablesample tblproperties temp temporary terminated then to touch transaction transactions transform true truncate unarchive unbounded uncache union unlock unset use using values view when where window with"),builtin:M("tinyint smallint int bigint boolean float double string binary timestamp decimal array map struct uniontype delimited serde sequencefile textfile rcfile inputformat outputformat"),atoms:M("false true null"),operatorChars:/^[*\/+\-%<>!=~&|^]/,dateSQL:M("date time timestamp"),support:M("ODBCdotTable doubleQuote zerolessFloat")}),vC=We({client:M("source"),keywords:M("alter and as asc between by count create delete desc distinct drop from group having in insert into is join like not on or order select set table union update values where limit after all and as at asc avedev avg between by case cast coalesce count create current_timestamp day days delete define desc distinct else end escape events every exists false first from full group having hour hours in inner insert instanceof into irstream is istream join last lastweekday left limit like max match_recognize matches median measures metadatasql min minute minutes msec millisecond milliseconds not null offset on or order outer output partition pattern prev prior regexp retain-union retain-intersection right rstream sec second seconds select set some snapshot sql stddev sum then true unidirectional until update variable weekday when where window"),builtin:{},atoms:M("false true null"),operatorChars:/^[*+\-%<>!=&|^\/#@?~]/,dateSQL:M("time"),support:M("decimallessFloat zerolessFloat binaryNumber hexNumber")});var Cg={name:"toml",startState:function(){return{inString:!1,stringType:"",lhs:!0,inArray:0}},token:function(i,e){let t;if(!e.inString&&(t=i.match(/^('''|"""|'|")/))&&(e.stringType=t[0],e.inString=!0),i.sol()&&!e.inString&&e.inArray===0&&(e.lhs=!0),e.inString){for(;e.inString;)if(i.match(e.stringType))e.inString=!1;else if(i.peek()==="\\")i.next(),i.next();else{if(i.eol())break;i.match(/^.[^\\\"\']*/)}return e.lhs?"property":"string"}else{if(e.inArray&&i.peek()==="]")return i.next(),e.inArray--,"bracket";if(e.lhs&&i.peek()==="["&&i.skipTo("]"))return i.next(),i.peek()==="]"&&i.next(),"atom";if(i.peek()==="#")return i.skipToEnd(),"comment";if(i.eatSpace())return null;if(e.lhs&&i.eatWhile(function(n){return n!="="&&n!=" "}))return"property";if(e.lhs&&i.peek()==="=")return i.next(),e.lhs=!1,null;if(!e.lhs&&i.match(/^\d\d\d\d[\d\-\:\.T]*Z/))return"atom";if(!e.lhs&&(i.match("true")||i.match("false")))return"atom";if(!e.lhs&&i.peek()==="[")return e.inArray++,i.next(),"bracket";if(!e.lhs&&i.match(/^\-?\d+(?:\.\d+)?/))return"number";i.eatSpace()||i.next()}return null},languageData:{commentTokens:{line:"#"}}};var PP=Qe({"for in if else endfor endif":d.controlKeyword,"Attribute/Identifier":d.definition(d.propertyName),"ForIntro/Identifier":d.definition(d.propertyName),"Block/Identifier":d.definitionKeyword,"FunctionCall/Identifier":d.function(d.variableName),"Attribute/Expression":d.attributeValue,"VariableExpr/Identifier":d.variableName,"GetAttr/Identifier":d.variableName,Identifier:d.name,"LiteralValue/...":d.literal,"StringLit/... TemplateLiteral":d.string,NumericLit:d.number,BoolLit:d.bool,NullLit:d.null,Comment:d.comment,LineComment:d.lineComment,BlockComment:d.blockComment,"( )":d.paren,"{ }":d.bracket,"[ ]":d.squareBracket,ArithOp:d.arithmeticOperator,LogicOp:d.logicOperator,CompareOp:d.compareOperator,ControlOp:d.controlOperator,HeredocIdentifier:d.special(d.controlKeyword),HeredocStart:d.special(d.brace),"TemplateInterpolationStart TemplateInterpolationEnd":d.special(d.brace),"TemplateDirectiveStart TemplateDirectiveEnd":d.special(d.brace),StripMarker:d.special(d.brace),Ellipsis:d.punctuation,": =>":d.punctuation,",":d.separator}),mh=1,gh=2,Qh=3,bh=4,Sh=5,yh=6,An=7,Ae=93,Ce={QUOTED_TEMPLATE:1,TEMPLATE_INTERPOLATION:2,TEMPLATE_DIRECTIVE:4,HEREDOC_TEMPLATE:8},vP=function(i){var e=0,t,n;if(i.length===0)return e;for(t=0;t{if(e.canShift(mh)&&!(e.context&&e.context.type===Ce.QUOTED_TEMPLATE)&&String.fromCharCode(i.next)==='"')return i.advance(),i.acceptToken(mh)},{contextual:!0,fallback:!0}),XP=new J((i,e)=>{if(e.canShift(gh)&&e.context&&e.context.type===Ce.QUOTED_TEMPLATE&&String.fromCharCode(i.next)==='"')return i.advance(),i.acceptToken(gh)},{contextual:!0,fallback:!0}),_P=new J((i,e)=>{if(e.canShift(Ae)&&e.context&&e.context.type===Ce.QUOTED_TEMPLATE)switch(String.fromCharCode(i.next)){case"\\":switch(i.advance(),String.fromCharCode(i.next)){case'"':case"n":case"r":case"t":case"\\":return i.advance(),i.acceptToken(Ae);case"u":for(let t=0;t<4;t++)if(i.advance(),!/[0-9a-fA-F]/.test(String.fromCharCode(i.next)))return;return i.advance(),i.acceptToken(Ae);case"U":for(let t=0;t<8;t++)if(i.advance(),!/[0-9a-fA-F]/.test(String.fromCharCode(i.next)))return;return i.advance(),i.acceptToken(Ae);default:return}}if(e.canShift(Ae)&&e.context&&(e.context.type===Ce.QUOTED_TEMPLATE||e.context.type===Ce.HEREDOC_TEMPLATE)&&i.next!==-1)return i.advance(),i.acceptToken(Ae)},{contextual:!0,fallback:!0}),RP=new J((i,e)=>{if(e.canShift(Qh)&&e.canShift(Ae)&&!(e.context&&e.context.type===Ce.TEMPLATE_INTERPOLATION)&&String.fromCharCode(i.next)==="$")return i.advance(),String.fromCharCode(i.next)==="{"?(i.advance(),i.acceptToken(Qh)):(String.fromCharCode(i.next)==="$"&&(i.advance(),String.fromCharCode(i.next)==="{")&&i.advance(),i.acceptToken(Ae))},{contextual:!0,fallback:!0}),AP=new J((i,e)=>{if(e.canShift(bh)&&e.context&&e.context.type===Ce.TEMPLATE_INTERPOLATION&&String.fromCharCode(i.next)==="}")return i.advance(),i.acceptToken(bh)},{contextual:!0,fallback:!0}),ZP=new J((i,e)=>{if(e.canShift(Sh)&&e.canShift(Ae)&&!(e.context&&e.context.type===Ce.TEMPLATE_DIRECTIVE)&&String.fromCharCode(i.next)==="%")return i.advance(),String.fromCharCode(i.next)==="{"?(i.advance(),i.acceptToken(Sh)):(String.fromCharCode(i.next)==="%"&&(i.advance(),String.fromCharCode(i.next)==="{")&&i.advance(),i.acceptToken(Ae))},{contextual:!0,fallback:!0}),EP=new J((i,e)=>{if(e.canShift(yh)&&e.context&&e.context.type===Ce.TEMPLATE_DIRECTIVE&&String.fromCharCode(i.next)==="}")return i.advance(),i.acceptToken(yh)},{contextual:!0,fallback:!0}),qP=new J((i,e)=>{if(e.canShift(An)&&!(e.context&&e.context.type===Ce.HEREDOC_TEMPLATE)&&i.next!==-1){let t=String.fromCharCode(i.next);for(;/[0-9a-zA-Z]/.test(t)||t==="_"||t==="-";)i.advance(),t=String.fromCharCode(i.next);return i.acceptToken(An)}if(e.canShift(An)&&e.canShift(Ae)&&e.context&&e.context.type===Ce.HEREDOC_TEMPLATE&&i.next!=-1){let t=e.context.heredoc_identifier,n=!1,r=!1,s=String.fromCharCode(i.next);for(;/\s/.test(s);)r=!0,s===` `&&(n=!0),i.advance(),s=String.fromCharCode(i.next);if(r&&i.acceptToken(Ae),!n)return;let o=0;for(let l=0;lbQ&jO,5:fOOQy,5:h,5:hPOQy'#EY'#EYPOQy,5:j,5:jPOQy,5:k,5:kOOQy1G0g1G0gOOQO7+%u7+%uO>jQ&jO7+%uOOQ%n,5:|,5:|OOQ%n1G.}1G.}O>oQ&rO1G.}O>tQ&rO1G.}OOQ%n1G/Q1G/QO?PQ&jO,59jO?[Q'[O,59jOOQ%n1G/W1G/WO1tQ)tO1G/WO?dQ&jO'#DVO1tQ)tO1G/WO?rQ&jO,59oO@QQ'[O,59oO@YQ'[O,59qO@bQ&jO1G/RO@jQ&jO1G/RO$yQ&kO1G/XO@oQ'[O1G/XOOQy7+$y7+$yO@zQ&jO,5:rOA]Q&kO1G0lOOQO-E8U-E8UOOQy7+%[7+%[OAdQ&jO7+%[O$yQ&kO'#DlO$yQ&kO1G/qOAiQ&jO1G/qOOQP'#ES'#ESO$yQ&kO7+%rP$yQ&kO'#EXO$yQ&kO7+%_OAnQ&kO,5:ROAuQ&jO,5:ROOQO,5:R,5:ROOQy7+%V7+%VOOQy1G0Q1G0QPOQy-E8W-E8WOOQO<eAN>eOKmQ&jOAN>eOKrQ&jOAN>eOOQ%n<cOOQyG24PG24POLiQ&jOG24POOQ$YG23_G23_OLnQ'[OG23_OLyQ'[OG23_O$yQ&kOG23_OOQPG23}G23}OOQyLD)kLD)kOOQ$YLD(yLD(yOMOQ'[OLD(yOMTQ'[OLD(yOOQ$Y!$'Le!$'LeOM`Q'[O!$'LeOOQ$Y!)9BP!)9BPO-wQ&kO'#DoO/TQ&kO'#DoOMeQ&kO'#CkO-wQ&kO,5:^O/TQ&kO,5:^O-wQ&kO,5:^O/TQ&kO,5:^O-wQ&kO,5:^O/TQ&kO,5:^O-wQ&kO,5:^O/TQ&kO,5:^O-wQ&kO,5:^O/TQ&kO,5:^O-wQ&kO,5:^O/TQ&kO,5:^ON[Q&kO1G/xO! XQ&kO1G/xO!!UQ&kO1G/xO!%UQ&kO1G/xO!%]Q&kO1G/xO-wQ&kO7+%rO/TQ&kO7+%rO4uQ&jO1G0WO4uQ&jO1G0WO$yQ&kO,5:lO$yQ&kO,5:l",stateData:"!%l~O#ROSXPQYPQ~O^RO!SQO~OXVOYVO~OPZO^gOa[OcXOdXOfYO!P`O!RdO!ScO!YoO#W]O#X]O#^iO#_jO~OPqO^sO!SuO#SrO~O^RO#O[X!R[X~OQ!PORyOT!QO#PwO~OV!RO~OPZO^gOa[OcXOdXOfYOp!WO!P`O!ScO!YoO#W]O#X]O#^iO#_jO~O!O!TO~P#iO#S!XO#[!XO#o!YO~OPZO^gOa[OcXOdXOfYO!P`O!ScO!YoO#W]O#X]O#^iO#_jO~O#V!]O!R#ZX~P$yOp!WO~PmO!R!`O~O!Y!aO!P!VX!o!VX#^!VX#`!VX#a!VX#b!VX#c!VX#d!VX#e!VX#f!VX#g!VX#h!VX#i!VX#j!VX#k!VX#l!VX#m!VX#n!VX#o!VX~O#S!VX#[!VX!O!VX#V!VX!W!VX^!VX#O!VXS!VXl!VXv!VX![!VXU!VX!R!VX~P&[O!o!pO#^!dO#`!cO#a!cO#b!cO#c!dO#d!eO#e!eO#f!eO#g!eO#h!fO#i!fO#j!gO#k!hO#l!qO#m!rO#n!sO#o_X#V_X^_X!R_X~O!P!oO#S_X#[_X!O_X!W_X#O_XS_Xl_Xv_X![_XU_X~P(iOPqO^sO!S!zO~O^RO!R!{O~O#P!}OQ#UPR#UPT#UPV#UP~OQ#POR!yXT!yX#P!yX~OS#QOl#RO~P$yORyOT#VO#PwO~ORyOT#ZO#PwO~OQ#]ORyOT!QO#PwO~Ol#_Op#^Ov#`O~ORyOT!QOV#bO#PwO~O#V#cO#o!YO!O#YX~O!O#eO~O^#gO~OPZO^#iOa[OcXOdXOfYO!P`O!ScO!YoO#W]O#X]O#^iO#_jO~O!R#Za~P$yO#V#lO!R#Za~P$yOPZO^#nOa[OcXOdXOfYO!P`O!ScO!YoO#W]O#X]O#^iO#_jO~O!W#rO~P$yO^#{O~O!W$PO#o!YO~OQ#PO~O#o!YO^]i#O]i!R]i~O^RO!R$QO~OS$TOl$UO~P$yOS$TOl$UO#o!YO~Ol$XOp#^Os$YOv#`O~ORyOT$]O#PwO~Ol$_Op#^Ov#`Ox$`Oz$aO~O^$bO~Op$cOv$dO~ORyOT!QOV$fO#PwO~O!O#Ya~P$yO#V$hO!O#Ya~Ov$lO!O$jO#o!YO~Oq$mO#V$nO~O#o!YOP!Ui^!Uia!Uic!Uid!Uif!Ui!P!Ui!R!Ui!S!Ui!Y!Ui#V!Ui#W!Ui#X!Ui#^!Ui#_!Ui~O#[$oO#o!YO~O!R#Zi~P$yO#]!VX~P&[O#]$rO#o!YO~O!o!pO#^!dO#`!cO#a!cO#b!cO#c!dO#d!eO#e!eO#f!eO#g!eO#h!fO#i!fO#j!gO#k!hO#l!qO#m!rO#n!sO#o_X~O!P!oO#]_X~P5eO![$uO#V$sO#o!YO!W!ZX~O!W$vO~O#`!cO#a!cO#b!cO!P!fi!o!fi#S!fi#[!fi#d!fi#e!fi#f!fi#g!fi#h!fi#i!fi#j!fi#k!fi#l!fi#m!fi#n!fi#o!fi!O!fi#V!fi!W!fi^!fi#O!fiS!fil!fiv!fi![!fiU!fi!R!fi~O#^!fi#c!fi~P7^O#^!dO#c!dO~P7^O#^!dO#`!cO#a!cO#b!cO#c!dO#d!eO#e!eO#f!eO#g!eO!P!fi!o!fi#S!fi#[!fi#j!fi#k!fi#l!fi#m!fi#n!fi#o!fi!O!fi#V!fi!W!fi^!fi#O!fiS!fil!fiv!fi![!fiU!fi!R!fi~O#h!fi#i!fi~P9rO#h!fO#i!fO~P9rO#^!dO#`!cO#a!cO#b!cO#c!dO#d!eO#e!eO#f!eO#g!eO#h!fO#i!fO#j!gO!P!fi!o!fi#k!fi#l!fi#m!fi#n!fi#o!fi#V!fi^!fi!R!fi~O#S!fi#[!fi!O!fi!W!fi#O!fiS!fil!fiv!fi![!fiU!fi~PqP[i]||-1}],tokenPrec:2320}),LP=$e.define({parser:zP.configure({props:[we.add({Block:St({closing:"}",align:!1})}),Te.add({"Object Tuple TemplateFor TemplateIf":ht,BlockComment:i=>({from:i.from+2,to:i.to-2}),HeredocTemplate(i){let e=i.getChild("HeredocIdentifier");return e?{from:e.to,to:i.to}:null},FunctionCall(i){let e=i.getChild("("),t=i.getChild(")");return!e||!t?null:{from:e.from+1,to:t.to-1}},Block(i){let e=i.getChild("{"),t=i.getChild("}");return!e||!t?null:{from:e.from+1,to:t.to-1}}}),wP]}),languageData:{commentTokens:{line:"#",block:{open:"/*",close:"*/"}}}});function Xg(){return new me(LP)}function MP(i){let e=i.trim();if(!e)return"";if(/^#!.*\b(?:ba)?sh\b|^\s*\$\s+/.test(e))return"bash";if(e.startsWith("{")&&e.endsWith("}")||e.startsWith("[")&&e.endsWith("]"))try{return JSON.parse(e),"json"}catch{}return/^\s*(?:|(?:using\s+namespace\s+std|std::\w+|(?:cout|cin)\s*(?:<<|>>))\b)/m.test(e)?"cpp":/^\s*(?:#\s*include\s*[<"](?:assert|ctype|errno|float|inttypes|limits|math|setjmp|signal|stdarg|stdbool|stddef|stdint|stdio|stdlib|string|time)\.h[>"]|(?:int|void)\s+main\s*\([^)]*\)\s*\{)/m.test(e)?"c":/^\s*(?:async\s+)?def\s+\w+\s*\(|^\s*from\s+\w+[\w.]*\s+import\b|^\s*class\s+\w+\s*[:(]/m.test(e)?"python":/\b(?:SELECT|INSERT|UPDATE|DELETE|CREATE\s+(?:TABLE|VIEW|INDEX)|WITH)\b[\s\S]*\b(?:FROM|INTO|WHERE|AS)\b/i.test(e)?"sql":/(?:^|\n)\s*(?:[#.]?[A-Za-z][\w-]*)\s*\{[\s\S]*:[\s\S]*\}/.test(e)||/@(?:media|keyframes|supports)\b/.test(e)?"css":/^\s*(?:const|let|var)\s+[A-Za-z_$][\w$]*\s*(?::[^=\n]+)?\s*=/m.test(e)||/\b(?:function\s+\w+\s*\(|console\.(?:log|error|warn)|=>)/.test(e)?"javascript":/^\s*(?:[-A-Za-z_][\w-]*):\s*(?:[^:#\n]|$)/m.test(e)&&!/[{};]/.test(e)?"yaml":/^\s*(?:echo|printf|export|source|cd|mkdir|rm|cp|mv)\s+/m.test(e)?"bash":""}var Be=(i,e,t)=>Ie.of({name:i,alias:e,support:new me(Zs.define(t))}),Ng=[Ie.of({name:"javascript",alias:["js","jsx","ts","tsx","typescript","node"],support:so({jsx:!0,typescript:!0})}),Ie.of({name:"python",alias:["py"],support:Vm()}),Ie.of({name:"json",alias:["jsonc"],support:Ym()}),Ie.of({name:"css",alias:["scss"],support:ro()}),Ie.of({name:"html",alias:["htm","xml"],support:ao()}),Ie.of({name:"hcl",alias:["terraform","tf"],support:Xg()}),Be("swift",[],Bm),Be("shell",["sh","bash","zsh","console"],Hm),Be("yaml",["yml"],Km),Be("go",["golang"],ng),Be("ruby",["rb"],og),Be("rust",["rs"],cg),Be("c",["h"],Qg),Be("cpp",["c++","cc","hpp"],bg),Be("java",[],Sg),Be("kotlin",["kt"],xg),Be("objective-c",["objc","objectivec"],wg),Be("csharp",["cs","c#"],yg),Be("sql",[],We({})),Be("toml",[],Cg)],WP={resolve:"Highlight",mark:"HighlightMark"},jP=/[\p{S}\p{P}]/u;function _g(i){return!i||/\s/.test(i)}function Rg(i){return!!i&&jP.test(i)}var zh={defineNodes:["Highlight","HighlightMark"],parseInline:[{name:"Highlight",parse(i,e,t){if(e!==61||i.char(t+1)!==61)return-1;let n=t;for(;n>i.offset&&i.char(n-1)===61;)n--;let r=t+2;for(;i.char(r)===61;)r++;let s=n+(r-n)%2;if(t=i.offset&&i.char(m)===92;m--)o++;if(o%2!==0)return-1;let a=i.slice(n-1,n),l=i.slice(r,r+1),c=_g(a),h=_g(l),f=Rg(a),u=Rg(l),O=!h&&(!u||c||f),p=!c&&(!f||h||u);return i.addDelimiter(WP,t,t+2,O,p)},after:"Emphasis"}]},Mr=class extends ve{constructor(e,t){super(),this.text=e,this.className=t}eq(e){return e.text===this.text&&e.className===this.className}toDOM(){let e=document.createElement("span");return e.textContent=this.text,e.className=this.className,e}ignoreEvent(){return!1}},Th=class extends ve{constructor(e,t,n,r,s){super(),this.source=e,this.alt=t,this.raw=n,this.from=r,this.to=s}eq(e){return e.source===this.source&&e.alt===this.alt&&e.raw===this.raw&&e.from===this.from&&e.to===this.to}toDOM(e){let t=document.createElement("span");t.className="cm-md-image-preview",t.setAttribute("role","figure");let n=document.createElement("img");n.src=this.source,n.alt=this.alt,n.draggable=!1,n.addEventListener("error",()=>t.classList.add("cm-md-image-error"),{once:!0});let r=document.createElement("code");r.className="cm-md-image-source",r.textContent=this.raw,r.title="Click to edit image source";let s=o=>{o.preventDefault(),o.stopPropagation(),e.focus(),e.dispatch({selection:{anchor:Math.min(this.from+2,this.to)},userEvent:"select.pointer"})};return r.addEventListener("mousedown",s),r.addEventListener("click",s),n.addEventListener("mousedown",o=>{o.preventDefault(),o.stopPropagation()}),n.addEventListener("click",o=>{o.preventDefault(),o.stopPropagation();let a=n.currentSrc||n.src;a.startsWith("md-asset:")?window.__mdRequestImageRename?.(a):s(o)}),t.append(n,r),t}ignoreEvent(){return!0}},Ch=class extends ve{eq(){return!0}toDOM(){let e=document.createElement("span");return e.className="cm-md-hr",e}ignoreEvent(){return!1}},VP=0,Xh=class extends ve{constructor(e){super(),this.source=e}eq(e){return e.source===this.source}toDOM(e){let t=document.createElement("figure");t.className="cm-md-mermaid-preview",t.setAttribute("role","img"),t.setAttribute("aria-label","Mermaid diagram. Click to edit source.");let n=document.createElement("div");n.className="cm-md-mermaid-stage",n.textContent="Rendering diagram\u2026",t.appendChild(n),t.addEventListener("mousedown",o=>{o.preventDefault(),e.focus();let a=e.posAtDOM(t);e.dispatch({selection:{anchor:a+1},userEvent:"select.pointer"})});let r=window.mermaid;if(!r||typeof r.render!="function")return n.textContent="Mermaid preview unavailable. Click to edit source.",t;let s=`md-editor-mermaid-${++VP}`;return Promise.resolve(r.render(s,this.source)).then(({svg:o})=>{n.innerHTML=o;let a=n.querySelector("svg"),l=a?.viewBox?.baseVal;a&&l?.width>0&&l?.height>0&&(t.style.setProperty("--mm-aspect",`${l.width} / ${l.height}`),a.removeAttribute("width"),a.removeAttribute("height"),a.setAttribute("preserveAspectRatio","xMidYMid meet"),a.style.width="100%",a.style.height="100%"),e.requestMeasure()}).catch(()=>{n.textContent="Unable to render Mermaid diagram. Click to edit source.",t.classList.add("cm-md-mermaid-error"),e.requestMeasure()}),t}ignoreEvent(){return!0}},Fg=new WeakMap,_h=te.define({map:(i,e)=>e.mapPos(i,1,ge.TrackAfter)??void 0}),En=he.define({create:()=>new Set,update(i,e){if(!e.docChanged&&!e.effects.some(n=>n.is(_h)))return i;let t=new Set([...i].map(n=>e.changes.mapPos(n,1,ge.TrackAfter)).filter(n=>n!=null));for(let n of e.effects)n.is(_h)&&(t.has(n.value)?t.delete(n.value):t.add(n.value));return t}}),kh=i=>'",Co=class extends ve{constructor(e){super(),Object.assign(this,e)}eq(e){return e.fenceFrom===this.fenceFrom&&e.infoFrom===this.infoFrom&&e.infoTo===this.infoTo&&e.rawInfo===this.rawInfo&&e.detectedLanguage===this.detectedLanguage&&e.wrapped===this.wrapped&&e.plain===this.plain}toDOM(e){let t=document.createElement("span");t.className="cm-md-code-language",t.contentEditable="false";let n=document.createElement("input");n.type="text",n.className="cm-md-code-language-input",n.autocomplete="off",n.spellcheck=!1,n.value=this.language,n.readOnly=!!this.plain,n.placeholder="language",n.setAttribute("aria-label","Code block language"),n.dataset.fenceFrom=String(this.fenceFrom);let r=this.rawInfo.match(/^\S+([\s\S]*)$/)?.[1]||"",s=n.value,o=!0,a=!1,l=()=>{if(this.plain)return;let f=n.value.trim().split(/\s+/,1)[0].toLowerCase(),u=f?f+r:"";u!==this.rawInfo&&n.value!==s&&(a=!0,e.dispatch({changes:{from:this.infoFrom,to:this.infoTo,insert:u},userEvent:"input"}))};n.addEventListener("change",l),n.addEventListener("keydown",f=>{f.stopPropagation(),f.key==="Enter"?(f.preventDefault(),l(),n.blur(),e.focus()):f.key==="Escape"&&(f.preventDefault(),o=!1,n.value=this.language,n.blur(),e.focus())}),n.addEventListener("mousedown",f=>f.stopPropagation()),n.addEventListener("click",f=>f.stopPropagation()),n.addEventListener("blur",()=>{o&&!a&&l(),a=!1,o=!0}),t.appendChild(n);let c=(f,u,O,p)=>{let m=document.createElement("button");return m.type="button",m.className=`cm-md-code-action ${O}`,m.title=f,m.setAttribute("aria-label",f),m.innerHTML=kh(u),m.addEventListener("mousedown",b=>{b.preventDefault(),b.stopPropagation()}),m.addEventListener("click",b=>{b.preventDefault(),b.stopPropagation(),p(m)}),t.appendChild(m),m};return c(this.wrapped?"Unwrap code":"Wrap code",this.wrapped?"unwrap":"wrap","cm-md-code-toggle-wrap",()=>e.dispatch({effects:_h.of(e.state.doc.lineAt(this.fenceFrom).from)})).setAttribute("aria-pressed",String(this.wrapped)),c("Copy code","copy","cm-md-code-copy",async f=>{let u=e.state.doc.lineAt(this.fenceFrom),O=U(e.state).resolve(this.plain?u.to:this.fenceFrom+1,-1);for(;O&&O.name!==(this.plain?"CodeBlock":"FencedCode");)O=O.parent;if(!O)return;let p=this.plain?O.getChildren("CodeText").map(m=>e.state.sliceDoc(m.from,m.to)).join(""):Ro(e.state,O).source;try{let m=Fg.get(e);m?m(p):await navigator.clipboard.writeText(p),f.innerHTML=kh("check"),f.title="Code copied",f.setAttribute("aria-label",f.title),clearTimeout(f.copyTimer),f.copyTimer=setTimeout(()=>{f.innerHTML=kh("copy"),f.title="Copy code",f.setAttribute("aria-label",f.title)},1100)}catch{}}),t}ignoreEvent(){return!0}};function Po(i,e=!1){let t=[],n="",r=0,s=()=>t.push({text:n.trim(),from:r+n.length-n.trimStart().length,to:r+n.trimEnd().length}),o=0,a=0;for(let c=0;cc.text)}function DP(i){let e=i.trim(),t=e.startsWith(":"),n=e.endsWith(":"),r=e.replace(/^:/,"").replace(/:$/,"");return/^-{3,}$/.test(r)?t&&n?"center":t?"left":n?"right":"none":null}function Lh(i){let e=i.endsWith(` +`)return i.acceptToken(An);if(!/\s/.test(String.fromCharCode(l)))return i.acceptToken(Ae);a++}}},{contextual:!0,fallback:!0}),zP={__proto__:null,true:39,false:41,null:45,for:64,in:66,endfor:70,if:76,else:80,endif:84},LP=Pe.deserialize({version:14,states:"EzQ]Q&jOOPeO&jOOOmQ&kO'#DaO!kQ&kO'#CiOOQO'#EU'#EUO!yQ&jO'#ChQOQ&jOOPOOO'#Cd'#CdPOOO)C@S)C@SOOQy'#Cn'#CnOOQy'#Cq'#CqO#UQ)vO'#CvOOQy'#Cl'#ClOOQ!b'#DY'#DYO#dQ'|O'#DXOOQy'#Cu'#CuO$gQ&kO'#D^O$nQ&jO'#DbO%tQ&kO'#EgO&OQ&kO'#DaOOQy,59{,59{O&VQ&jO,59{OOQy'#DZ'#DZO'lQ'dO'#DcOOQy'#Di'#DiOOQP'#Dp'#DpOOQP'#Dq'#DqO$yQ&kO'#DoO)|Q'dO'#CkOOQy'#Dn'#DnOOQy'#Ea'#EaO$yQ&kO'#EaOOQy'#Ck'#CkO#_Q)`O'#CsO$yQ&kO,59TOOQP'#EZ'#EZO*sQ&kO,5:oO+OQ&jO,5:oOOQO-E8S-E8SO+WQ+YO'#CtO+iQ)vO,59_O+wQ&sO'#CwO,RQ)tO'#CzO,^Q)tO'#DQOOQ%n'#Cy'#CyOOQ%n'#EV'#EVO,iQ)vO,59bOOQy,59b,59bO,wQ&jO'#DRO-SQ+WO,59sO-bQ&jO'#EfOOQy,59x,59xO-mQ&jO,59xO$yQ&kO,5:UO-rQ&jO'#DkO-wQ&kO,59|OOQP'#ER'#ERO$yQ&kO,5:lOOQP'#EX'#EXO.rQ&kO,5;RO.yQ&kO,5;RO/TQ&kO,5:XOOQy1G/g1G/gO0OQ&kO,5:POOQy,5:Z,5:ZOOQP'#Ds'#DsOOQP'#Dt'#DtOOQP'#Du'#DuOOQP'#Dv'#DvOOQP'#Dw'#DwOOQP'#Dx'#DxO$yQ&kO,5:^O$yQ&kO,5:^O$yQ&kO,5:^O$yQ&kO,5:^O$yQ&kO,5:^O$yQ&kO,5:^O$yQ&kO'#DzOOQy'#Dy'#DyO0VQ&jO'#D|OOQy'#EO'#EOOOQy'#EP'#EPOOQy'#D}'#D}OOQy,5:{,5:{O0[Q&jO,5:{O0dQ&lO,59_O0iQ&jO1G.oOOQP-E8X-E8XO0wQ&jO1G0ZOOQO1G0Z1G0ZO0zQ&jO1G0ZO+WQ+YO'#EbOOQ%n,59`,59`OOQy1G.y1G.yOOQ%n,59c,59cO1PQ&sO,59cO1ZQ&rO,59cOOQ%n,59f,59fO,RQ)tO,59fO1fQ&jO'#DOOOQ%n,59l,59lO1tQ)tO,59lO,^Q)tO,59lO2PQ&jO'#DTOOQ%n-E8T-E8TOOQy1G.|1G.|O2bQ&jO,59gO2gQ&jO,59mO$yQ&kO,59mO2oQ+WO1G/_OOQy1G/_1G/_O2}Q&kO,5;QO3UQ&jO,5;QOOQy1G/d1G/dO3^Q&jO1G/pO3iQ&jO,5:VO3qQ&kO1G/hOOQP'#Dc'#DcO4uQ&jO1G0WOOQP,5:s,5:sO4}Q&kO1G0mOOQP-E8V-E8VO5UQ,UO'#DcO5]Q,UO1G/sO6oQ,UO'#CkO6yQ&jO'#DgOOQy1G/k1G/kO7XQ&jO1G/kOOQy1G/x1G/xO9^Q'dO1G/xO9hQ'dO1G/xO;rQ'dO1G/xO;|Q'dO1G/xO=nQ'dO1G/xO>bQ&jO,5:fOOQy,5:h,5:hPOQy'#EY'#EYPOQy,5:j,5:jPOQy,5:k,5:kOOQy1G0g1G0gOOQO7+%u7+%uO>jQ&jO7+%uOOQ%n,5:|,5:|OOQ%n1G.}1G.}O>oQ&rO1G.}O>tQ&rO1G.}OOQ%n1G/Q1G/QO?PQ&jO,59jO?[Q'[O,59jOOQ%n1G/W1G/WO1tQ)tO1G/WO?dQ&jO'#DVO1tQ)tO1G/WO?rQ&jO,59oO@QQ'[O,59oO@YQ'[O,59qO@bQ&jO1G/RO@jQ&jO1G/RO$yQ&kO1G/XO@oQ'[O1G/XOOQy7+$y7+$yO@zQ&jO,5:rOA]Q&kO1G0lOOQO-E8U-E8UOOQy7+%[7+%[OAdQ&jO7+%[O$yQ&kO'#DlO$yQ&kO1G/qOAiQ&jO1G/qOOQP'#ES'#ESO$yQ&kO7+%rP$yQ&kO'#EXO$yQ&kO7+%_OAnQ&kO,5:ROAuQ&jO,5:ROOQO,5:R,5:ROOQy7+%V7+%VOOQy1G0Q1G0QPOQy-E8W-E8WOOQO<eAN>eOKmQ&jOAN>eOKrQ&jOAN>eOOQ%n<cOOQyG24PG24POLiQ&jOG24POOQ$YG23_G23_OLnQ'[OG23_OLyQ'[OG23_O$yQ&kOG23_OOQPG23}G23}OOQyLD)kLD)kOOQ$YLD(yLD(yOMOQ'[OLD(yOMTQ'[OLD(yOOQ$Y!$'Le!$'LeOM`Q'[O!$'LeOOQ$Y!)9BP!)9BPO-wQ&kO'#DoO/TQ&kO'#DoOMeQ&kO'#CkO-wQ&kO,5:^O/TQ&kO,5:^O-wQ&kO,5:^O/TQ&kO,5:^O-wQ&kO,5:^O/TQ&kO,5:^O-wQ&kO,5:^O/TQ&kO,5:^O-wQ&kO,5:^O/TQ&kO,5:^O-wQ&kO,5:^O/TQ&kO,5:^ON[Q&kO1G/xO! XQ&kO1G/xO!!UQ&kO1G/xO!%UQ&kO1G/xO!%]Q&kO1G/xO-wQ&kO7+%rO/TQ&kO7+%rO4uQ&jO1G0WO4uQ&jO1G0WO$yQ&kO,5:lO$yQ&kO,5:l",stateData:"!%l~O#ROSXPQYPQ~O^RO!SQO~OXVOYVO~OPZO^gOa[OcXOdXOfYO!P`O!RdO!ScO!YoO#W]O#X]O#^iO#_jO~OPqO^sO!SuO#SrO~O^RO#O[X!R[X~OQ!PORyOT!QO#PwO~OV!RO~OPZO^gOa[OcXOdXOfYOp!WO!P`O!ScO!YoO#W]O#X]O#^iO#_jO~O!O!TO~P#iO#S!XO#[!XO#o!YO~OPZO^gOa[OcXOdXOfYO!P`O!ScO!YoO#W]O#X]O#^iO#_jO~O#V!]O!R#ZX~P$yOp!WO~PmO!R!`O~O!Y!aO!P!VX!o!VX#^!VX#`!VX#a!VX#b!VX#c!VX#d!VX#e!VX#f!VX#g!VX#h!VX#i!VX#j!VX#k!VX#l!VX#m!VX#n!VX#o!VX~O#S!VX#[!VX!O!VX#V!VX!W!VX^!VX#O!VXS!VXl!VXv!VX![!VXU!VX!R!VX~P&[O!o!pO#^!dO#`!cO#a!cO#b!cO#c!dO#d!eO#e!eO#f!eO#g!eO#h!fO#i!fO#j!gO#k!hO#l!qO#m!rO#n!sO#o_X#V_X^_X!R_X~O!P!oO#S_X#[_X!O_X!W_X#O_XS_Xl_Xv_X![_XU_X~P(iOPqO^sO!S!zO~O^RO!R!{O~O#P!}OQ#UPR#UPT#UPV#UP~OQ#POR!yXT!yX#P!yX~OS#QOl#RO~P$yORyOT#VO#PwO~ORyOT#ZO#PwO~OQ#]ORyOT!QO#PwO~Ol#_Op#^Ov#`O~ORyOT!QOV#bO#PwO~O#V#cO#o!YO!O#YX~O!O#eO~O^#gO~OPZO^#iOa[OcXOdXOfYO!P`O!ScO!YoO#W]O#X]O#^iO#_jO~O!R#Za~P$yO#V#lO!R#Za~P$yOPZO^#nOa[OcXOdXOfYO!P`O!ScO!YoO#W]O#X]O#^iO#_jO~O!W#rO~P$yO^#{O~O!W$PO#o!YO~OQ#PO~O#o!YO^]i#O]i!R]i~O^RO!R$QO~OS$TOl$UO~P$yOS$TOl$UO#o!YO~Ol$XOp#^Os$YOv#`O~ORyOT$]O#PwO~Ol$_Op#^Ov#`Ox$`Oz$aO~O^$bO~Op$cOv$dO~ORyOT!QOV$fO#PwO~O!O#Ya~P$yO#V$hO!O#Ya~Ov$lO!O$jO#o!YO~Oq$mO#V$nO~O#o!YOP!Ui^!Uia!Uic!Uid!Uif!Ui!P!Ui!R!Ui!S!Ui!Y!Ui#V!Ui#W!Ui#X!Ui#^!Ui#_!Ui~O#[$oO#o!YO~O!R#Zi~P$yO#]!VX~P&[O#]$rO#o!YO~O!o!pO#^!dO#`!cO#a!cO#b!cO#c!dO#d!eO#e!eO#f!eO#g!eO#h!fO#i!fO#j!gO#k!hO#l!qO#m!rO#n!sO#o_X~O!P!oO#]_X~P5eO![$uO#V$sO#o!YO!W!ZX~O!W$vO~O#`!cO#a!cO#b!cO!P!fi!o!fi#S!fi#[!fi#d!fi#e!fi#f!fi#g!fi#h!fi#i!fi#j!fi#k!fi#l!fi#m!fi#n!fi#o!fi!O!fi#V!fi!W!fi^!fi#O!fiS!fil!fiv!fi![!fiU!fi!R!fi~O#^!fi#c!fi~P7^O#^!dO#c!dO~P7^O#^!dO#`!cO#a!cO#b!cO#c!dO#d!eO#e!eO#f!eO#g!eO!P!fi!o!fi#S!fi#[!fi#j!fi#k!fi#l!fi#m!fi#n!fi#o!fi!O!fi#V!fi!W!fi^!fi#O!fiS!fil!fiv!fi![!fiU!fi!R!fi~O#h!fi#i!fi~P9rO#h!fO#i!fO~P9rO#^!dO#`!cO#a!cO#b!cO#c!dO#d!eO#e!eO#f!eO#g!eO#h!fO#i!fO#j!gO!P!fi!o!fi#k!fi#l!fi#m!fi#n!fi#o!fi#V!fi^!fi!R!fi~O#S!fi#[!fi!O!fi!W!fi#O!fiS!fil!fiv!fi![!fiU!fi~PzP[i]||-1}],tokenPrec:2320}),MP=$e.define({parser:LP.configure({props:[we.add({Block:St({closing:"}",align:!1})}),Te.add({"Object Tuple TemplateFor TemplateIf":ht,BlockComment:i=>({from:i.from+2,to:i.to-2}),HeredocTemplate(i){let e=i.getChild("HeredocIdentifier");return e?{from:e.to,to:i.to}:null},FunctionCall(i){let e=i.getChild("("),t=i.getChild(")");return!e||!t?null:{from:e.from+1,to:t.to-1}},Block(i){let e=i.getChild("{"),t=i.getChild("}");return!e||!t?null:{from:e.from+1,to:t.to-1}}}),PP]}),languageData:{commentTokens:{line:"#",block:{open:"/*",close:"*/"}}}});function Xg(){return new me(MP)}function WP(i){let e=i.trim();if(!e)return"";if(/^#!.*\b(?:ba)?sh\b|^\s*\$\s+/.test(e))return"bash";if(e.startsWith("{")&&e.endsWith("}")||e.startsWith("[")&&e.endsWith("]"))try{return JSON.parse(e),"json"}catch{}return/^\s*(?:|(?:using\s+namespace\s+std|std::\w+|(?:cout|cin)\s*(?:<<|>>))\b)/m.test(e)?"cpp":/^\s*(?:#\s*include\s*[<"](?:assert|ctype|errno|float|inttypes|limits|math|setjmp|signal|stdarg|stdbool|stddef|stdint|stdio|stdlib|string|time)\.h[>"]|(?:int|void)\s+main\s*\([^)]*\)\s*\{)/m.test(e)?"c":/^\s*(?:async\s+)?def\s+\w+\s*\(|^\s*from\s+\w+[\w.]*\s+import\b|^\s*class\s+\w+\s*[:(]/m.test(e)?"python":/\b(?:SELECT|INSERT|UPDATE|DELETE|CREATE\s+(?:TABLE|VIEW|INDEX)|WITH)\b[\s\S]*\b(?:FROM|INTO|WHERE|AS)\b/i.test(e)?"sql":/(?:^|\n)\s*(?:[#.]?[A-Za-z][\w-]*)\s*\{[\s\S]*:[\s\S]*\}/.test(e)||/@(?:media|keyframes|supports)\b/.test(e)?"css":/^\s*(?:const|let|var)\s+[A-Za-z_$][\w$]*\s*(?::[^=\n]+)?\s*=/m.test(e)||/\b(?:function\s+\w+\s*\(|console\.(?:log|error|warn)|=>)/.test(e)?"javascript":/^\s*(?:[-A-Za-z_][\w-]*):\s*(?:[^:#\n]|$)/m.test(e)&&!/[{};]/.test(e)?"yaml":/^\s*(?:echo|printf|export|source|cd|mkdir|rm|cp|mv)\s+/m.test(e)?"bash":""}var Be=(i,e,t)=>Ie.of({name:i,alias:e,support:new me(Zs.define(t))}),Fg=[Ie.of({name:"javascript",alias:["js","jsx","ts","tsx","typescript","node"],support:so({jsx:!0,typescript:!0})}),Ie.of({name:"python",alias:["py"],support:Vm()}),Ie.of({name:"json",alias:["jsonc"],support:Ym()}),Ie.of({name:"css",alias:["scss"],support:ro()}),Ie.of({name:"html",alias:["htm","xml"],support:ao()}),Ie.of({name:"hcl",alias:["terraform","tf"],support:Xg()}),Be("swift",[],Bm),Be("shell",["sh","bash","zsh","console"],Hm),Be("yaml",["yml"],Km),Be("go",["golang"],ng),Be("ruby",["rb"],og),Be("rust",["rs"],cg),Be("c",["h"],Qg),Be("cpp",["c++","cc","hpp"],bg),Be("java",[],Sg),Be("kotlin",["kt"],xg),Be("objective-c",["objc","objectivec"],wg),Be("csharp",["cs","c#"],yg),Be("sql",[],We({})),Be("toml",[],Cg)],jP={resolve:"Highlight",mark:"HighlightMark"},VP=/[\p{S}\p{P}]/u;function _g(i){return!i||/\s/.test(i)}function Rg(i){return!!i&&VP.test(i)}var zh={defineNodes:["Highlight","HighlightMark"],parseInline:[{name:"Highlight",parse(i,e,t){if(e!==61||i.char(t+1)!==61)return-1;let n=t;for(;n>i.offset&&i.char(n-1)===61;)n--;let r=t+2;for(;i.char(r)===61;)r++;let s=n+(r-n)%2;if(t=i.offset&&i.char(m)===92;m--)o++;if(o%2!==0)return-1;let a=i.slice(n-1,n),l=i.slice(r,r+1),c=_g(a),h=_g(l),f=Rg(a),u=Rg(l),O=!h&&(!u||c||f),p=!c&&(!f||h||u);return i.addDelimiter(jP,t,t+2,O,p)},after:"Emphasis"}]},Mr=class extends ve{constructor(e,t){super(),this.text=e,this.className=t}eq(e){return e.text===this.text&&e.className===this.className}toDOM(){let e=document.createElement("span");return e.textContent=this.text,e.className=this.className,e}ignoreEvent(){return!1}},Th=class extends ve{constructor(e,t,n,r,s){super(),this.source=e,this.alt=t,this.raw=n,this.from=r,this.to=s}eq(e){return e.source===this.source&&e.alt===this.alt&&e.raw===this.raw&&e.from===this.from&&e.to===this.to}toDOM(e){let t=document.createElement("span");t.className="cm-md-image-preview",t.setAttribute("role","figure");let n=document.createElement("img");n.src=this.source,n.alt=this.alt,n.draggable=!1,n.addEventListener("error",()=>t.classList.add("cm-md-image-error"),{once:!0});let r=document.createElement("code");r.className="cm-md-image-source",r.textContent=this.raw,r.title="Click to edit image source";let s=o=>{o.preventDefault(),o.stopPropagation(),e.focus(),e.dispatch({selection:{anchor:Math.min(this.from+2,this.to)},userEvent:"select.pointer"})};return r.addEventListener("mousedown",s),r.addEventListener("click",s),n.addEventListener("mousedown",o=>{o.preventDefault(),o.stopPropagation()}),n.addEventListener("click",o=>{o.preventDefault(),o.stopPropagation();let a=n.currentSrc||n.src;a.startsWith("md-asset:")?window.__mdRequestImageRename?.(a):s(o)}),t.append(n,r),t}ignoreEvent(){return!0}},Ch=class extends ve{eq(){return!0}toDOM(){let e=document.createElement("span");return e.className="cm-md-hr",e}ignoreEvent(){return!1}},DP=0,Xh=class extends ve{constructor(e){super(),this.source=e}eq(e){return e.source===this.source}toDOM(e){let t=document.createElement("figure");t.className="cm-md-mermaid-preview",t.setAttribute("role","img"),t.setAttribute("aria-label","Mermaid diagram. Click to edit source.");let n=document.createElement("div");n.className="cm-md-mermaid-stage",n.textContent="Rendering diagram\u2026",t.appendChild(n),t.addEventListener("mousedown",o=>{o.preventDefault(),e.focus();let a=e.posAtDOM(t);e.dispatch({selection:{anchor:a+1},userEvent:"select.pointer"})});let r=window.mermaid;if(!r||typeof r.render!="function")return n.textContent="Mermaid preview unavailable. Click to edit source.",t;let s=`md-editor-mermaid-${++DP}`;return Promise.resolve(r.render(s,this.source)).then(({svg:o})=>{n.innerHTML=o;let a=n.querySelector("svg"),l=a?.viewBox?.baseVal;a&&l?.width>0&&l?.height>0&&(t.style.setProperty("--mm-aspect",`${l.width} / ${l.height}`),a.removeAttribute("width"),a.removeAttribute("height"),a.setAttribute("preserveAspectRatio","xMidYMid meet"),a.style.width="100%",a.style.height="100%"),e.requestMeasure()}).catch(()=>{n.textContent="Unable to render Mermaid diagram. Click to edit source.",t.classList.add("cm-md-mermaid-error"),e.requestMeasure()}),t}ignoreEvent(){return!0}},Hg=new WeakMap,_h=te.define({map:(i,e)=>e.mapPos(i,1,ge.TrackAfter)??void 0}),En=he.define({create:()=>new Set,update(i,e){if(!e.docChanged&&!e.effects.some(n=>n.is(_h)))return i;let t=new Set([...i].map(n=>e.changes.mapPos(n,1,ge.TrackAfter)).filter(n=>n!=null));for(let n of e.effects)n.is(_h)&&(t.has(n.value)?t.delete(n.value):t.add(n.value));return t}}),kh=i=>'",Co=class extends ve{constructor(e){super(),Object.assign(this,e)}eq(e){return e.fenceFrom===this.fenceFrom&&e.infoFrom===this.infoFrom&&e.infoTo===this.infoTo&&e.rawInfo===this.rawInfo&&e.detectedLanguage===this.detectedLanguage&&e.wrapped===this.wrapped&&e.plain===this.plain}toDOM(e){let t=document.createElement("span");t.className="cm-md-code-language",t.contentEditable="false";let n=document.createElement("input");n.type="text",n.className="cm-md-code-language-input",n.autocomplete="off",n.spellcheck=!1,n.value=this.language,n.readOnly=!!this.plain,n.placeholder="language",n.setAttribute("aria-label","Code block language"),n.dataset.fenceFrom=String(this.fenceFrom);let r=this.rawInfo.match(/^\S+([\s\S]*)$/)?.[1]||"",s=n.value,o=!0,a=!1,l=()=>{if(this.plain)return;let f=n.value.trim().split(/\s+/,1)[0].toLowerCase(),u=f?f+r:"";u!==this.rawInfo&&n.value!==s&&(a=!0,e.dispatch({changes:{from:this.infoFrom,to:this.infoTo,insert:u},userEvent:"input"}))};n.addEventListener("change",l),n.addEventListener("keydown",f=>{f.stopPropagation(),f.key==="Enter"?(f.preventDefault(),l(),n.blur(),e.focus()):f.key==="Escape"&&(f.preventDefault(),o=!1,n.value=this.language,n.blur(),e.focus())}),n.addEventListener("mousedown",f=>f.stopPropagation()),n.addEventListener("click",f=>f.stopPropagation()),n.addEventListener("blur",()=>{o&&!a&&l(),a=!1,o=!0}),t.appendChild(n);let c=(f,u,O,p)=>{let m=document.createElement("button");return m.type="button",m.className=`cm-md-code-action ${O}`,m.title=f,m.setAttribute("aria-label",f),m.innerHTML=kh(u),m.addEventListener("mousedown",b=>{b.preventDefault(),b.stopPropagation()}),m.addEventListener("click",b=>{b.preventDefault(),b.stopPropagation(),p(m)}),t.appendChild(m),m};return c(this.wrapped?"Unwrap code":"Wrap code",this.wrapped?"unwrap":"wrap","cm-md-code-toggle-wrap",()=>e.dispatch({effects:_h.of(e.state.doc.lineAt(this.fenceFrom).from)})).setAttribute("aria-pressed",String(this.wrapped)),c("Copy code","copy","cm-md-code-copy",async f=>{let u=e.state.doc.lineAt(this.fenceFrom),O=U(e.state).resolve(this.plain?u.to:this.fenceFrom+1,-1);for(;O&&O.name!==(this.plain?"CodeBlock":"FencedCode");)O=O.parent;if(!O)return;let p=this.plain?O.getChildren("CodeText").map(m=>e.state.sliceDoc(m.from,m.to)).join(""):Ro(e.state,O).source;try{let m=Hg.get(e);m?m(p):await navigator.clipboard.writeText(p),f.innerHTML=kh("check"),f.title="Code copied",f.setAttribute("aria-label",f.title),clearTimeout(f.copyTimer),f.copyTimer=setTimeout(()=>{f.innerHTML=kh("copy"),f.title="Copy code",f.setAttribute("aria-label",f.title)},1100)}catch{}}),t}ignoreEvent(){return!0}};function Po(i,e=!1){let t=[],n="",r=0,s=()=>t.push({text:n.trim(),from:r+n.length-n.trimStart().length,to:r+n.trimEnd().length}),o=0,a=0;for(let c=0;cc.text)}function YP(i){let e=i.trim(),t=e.startsWith(":"),n=e.endsWith(":"),r=e.replace(/^:/,"").replace(/:$/,"");return/^-{3,}$/.test(r)?t&&n?"center":t?"left":n?"right":"none":null}function Lh(i){let e=i.endsWith(` `),t=i.replace(/\n$/,"").split(` -`);if(t.length<2)return null;let n=Po(t[0]),r=Po(t[1]).map(DP);if(!n.length||!r.length||r.some(a=>a==null))return null;let s=[n,...t.slice(2).map(a=>Po(a))],o=Math.max(r.length,...s.map(a=>a.length));for(;r.length{let f=i.slice(0,c).replace(/\n+/g," ").length-l;e[h]=r[Math.max(0,Math.min(f,n.length))]})}return s}function YP(i){let e=i.alignments.map((s,o)=>Math.max(3,...i.rows.map(a=>Array.from(a[o]||"").length))),t=s=>"| "+s.map((o,a)=>{let l=Mh(o);return l+" ".repeat(Math.max(0,e[a]-Array.from(l).length))}).join(" | ")+" |",n="| "+i.alignments.map((s,o)=>{let a=e[o];return s==="left"?":"+"-".repeat(Math.max(3,a-1)):s==="right"?"-".repeat(Math.max(3,a-1))+":":s==="center"?":"+"-".repeat(Math.max(3,a-2))+":":"-".repeat(a)}).join(" | ")+" |";return[t(i.rows[0]),n,...i.rows.slice(1).map(t)].join(` +`);if(t.length<2)return null;let n=Po(t[0]),r=Po(t[1]).map(YP);if(!n.length||!r.length||r.some(a=>a==null))return null;let s=[n,...t.slice(2).map(a=>Po(a))],o=Math.max(r.length,...s.map(a=>a.length));for(;r.length{let f=i.slice(0,c).replace(/\n+/g," ").length-l;e[h]=r[Math.max(0,Math.min(f,n.length))]})}return s}function IP(i){let e=i.alignments.map((s,o)=>Math.max(3,...i.rows.map(a=>Array.from(a[o]||"").length))),t=s=>"| "+s.map((o,a)=>{let l=Mh(o);return l+" ".repeat(Math.max(0,e[a]-Array.from(l).length))}).join(" | ")+" |",n="| "+i.alignments.map((s,o)=>{let a=e[o];return s==="left"?":"+"-".repeat(Math.max(3,a-1)):s==="right"?"-".repeat(Math.max(3,a-1))+":":s==="center"?":"+"-".repeat(Math.max(3,a-2))+":":"-".repeat(a)}).join(" | ")+" |";return[t(i.rows[0]),n,...i.rows.slice(1).map(t)].join(` `)+(i.trailingNewline?` -`:"")}var IP=1,Lr=null,BP=ki.parser.configure(zh),Hg=new WeakMap;function xh(i,e){let t={StrongEmphasis:"cm-md-strong",Emphasis:"cm-md-emphasis",Strikethrough:"cm-md-strikethrough",Highlight:"cm-md-highlight"},n=(o,a,l)=>{if(!a)return;let c=document.createTextNode(a);Hg.set(c,l),o.append(c)},r=(o,a,l,c)=>{let h=l;for(let f=a.firstChild;f;f=f.nextSibling)f.fromc||(n(o,e.slice(h,f.from),h),s(o,f),h=f.to);n(o,e.slice(h,c),h)},s=(o,a)=>{if(a.name==="InlineCode"){let l=document.createElement("code");l.className="cm-md-inline-code";let c=e.slice(a.firstChild.to,a.lastChild.from).replace(/\n/g," "),h=c.startsWith(" ")&&c.endsWith(" ")&&/[^ ]/.test(c);h&&(c=c.slice(1,-1)),n(l,c,a.firstChild.to+(h?1:0)),o.append(l)}else if(t[a.name]){let l=document.createElement("span");l.className=t[a.name],r(l,a,a.firstChild.to,a.lastChild.from),o.append(l)}else if(a.name==="Link"&&a.getChild("URL")){let l=a.getChildren("LinkMark"),c=document.createElement("span");c.className="cm-md-link",r(c,a,l[0].to,l[1].from),o.append(c)}else a.name==="Escape"?n(o,e.slice(a.from+1,a.to),a.from+1):a.name==="Image"?n(o,e.slice(a.from,a.to),a.from):r(o,a,a.from,a.to)};i.replaceChildren(),s(i,BP.parse(e).topNode)}var Ze=new WeakMap,Wh=new WeakMap,UP=new Set(["bold","italic","strikethrough","highlight","code","link"]);function Kg(i,e){let n=i.state.doc.lineAt(e.tableFrom).number+(e.row===0?0:e.row+1);if(n>i.state.doc.lines)return null;let r=i.state.doc.line(n),s=Po(r.text,!0)[e.column];return s?{from:r.from+s.from,to:r.from+Math.max(s.from,s.to)}:null}function zn(i){let e=Ze.get(i);if(!e||e.element.dataset.tableEditing!=="true")return;let t=window.getSelection();if(!t?.anchorNode||!t.focusNode||!e.element.contains(t.anchorNode)||!e.element.contains(t.focusNode))return;let n=(a,l)=>{let c=document.createRange();return c.selectNodeContents(e.element),c.setEnd(a,l),c.toString().length};e.anchor=n(t.anchorNode,t.anchorOffset),e.head=n(t.focusNode,t.focusOffset);let r=e.element.innerText||"",s=[e.anchor,e.head];Mh(r,s),e.sourceAnchor=s[0],e.sourceHead=s[1];let o=se.create({doc:r,selection:P.single(e.anchor,e.head),extensions:[Yc({extensions:zh})]});Wh.get(i)?.(Eh(o))}function vo(i){let e=Ze.get(i);if(!e)return null;zn(i),e.element.dataset.tableEditing==="true"&&e.element.blur();let t=Kg(i,e);if(!t)return null;let n=t.to-t.from;return i.dispatch({selection:P.single(t.from+Math.max(0,Math.min(e.sourceAnchor??e.anchor,n)),t.from+Math.max(0,Math.min(e.sourceHead??e.head,n)))}),e}function $o(i,e){let t=Kg(i,e);if(!t)return;let n=i.state.selection.main,r=Math.max(0,Math.min(n.anchor-t.from,t.to-t.from)),s=Math.max(0,Math.min(n.head-t.from,t.to-t.from)),o=i.dom.querySelector(`.cm-md-table-widget[data-table-from="${e.tableFrom}"] [data-table-row="${e.row}"][data-table-column="${e.column}"]`);if(!o)return;o.focus({preventScroll:!0});let a=o.firstChild||o.appendChild(document.createTextNode(""));window.getSelection()?.setBaseAndExtent(a,r,a,s),zn(i)}var GP=Ve.fromClass(class{constructor(i){this.view=i,this.capture=()=>zn(i),this.clear=e=>{e.target.closest?.(".cm-md-table-cell")||Ze.delete(i)},document.addEventListener("selectionchange",this.capture),i.dom.addEventListener("mousedown",this.clear,!0)}destroy(){document.removeEventListener("selectionchange",this.capture),this.view.dom.removeEventListener("mousedown",this.clear,!0),Ze.delete(this.view),Wh.delete(this.view)}}),Rh=class extends ve{constructor(e,t){super(),this.source=e,this.from=t}eq(e){return e.source===this.source&&e.from===this.from}toDOM(e){let t=Lh(this.source),n=document.createElement("div");if(n.className="cm-md-table-widget",n.dataset.tableFrom=String(this.from),!t)return n.textContent=this.source,n;let r=null,s=null,o=null,a=!1,l=document.createElement("div");l.className="cm-md-table-scroll",n.appendChild(l);let c=document.createElement("table");c.className="cm-md-table-grid",l.appendChild(c);let h=(Q,S)=>{requestAnimationFrame(()=>requestAnimationFrame(()=>{let x=e.dom.querySelector(`.cm-md-table-widget[data-table-from="${this.from}"]`);(x&&x.querySelector(`[data-table-row="${Q}"][data-table-column="${S}"]`))?.focus()}))},f=(Q=null)=>{let S=YP(t);if(S===this.source){Q&&n.querySelector(`[data-table-row="${Q.row}"][data-table-column="${Q.column}"]`)?.focus();return}r=null,e.dispatch({changes:{from:this.from,to:this.from+this.source.length,insert:S},userEvent:"input"}),Q&&h(Q.row,Q.column)},u=()=>{!r||r.element.dataset.tableEditing!=="true"||(t.rows[r.row][r.column]=r.element.innerText||"")},O=()=>{n.querySelectorAll(".is-table-part-selected").forEach(Q=>{Q.classList.remove("is-table-part-selected")}),n.classList.remove("is-table-row-selected","is-table-column-selected","is-table-range-selected"),n.removeAttribute("aria-label"),s=null},p=(Q,S,x)=>{if(u(),O(),Array.from(n.querySelectorAll(".cm-md-table-cell")).filter($=>{let R=Number($.dataset.tableRow),_=Number($.dataset.tableColumn);return R>=S.top&&R<=S.bottom&&_>=S.left&&_<=S.right}).forEach($=>{$.classList.add("is-table-part-selected")}),n.classList.add(Q==="row"?"is-table-row-selected":Q==="column"?"is-table-column-selected":"is-table-range-selected"),window.getSelection()?.removeAllRanges(),s={kind:Q,row:x.row,column:x.column,bounds:S},Ze.delete(e),n.tabIndex=0,Q==="range"){let $=S.bottom-S.top+1,R=S.right-S.left+1;n.setAttribute("aria-label",`Selected ${$} rows by ${R} columns.`)}else{let $=Q==="row"?x.row:x.column+1;n.setAttribute("aria-label",`Selected ${Q} ${$}. Press Delete to remove it.`)}n.focus()},m=(Q,S,x)=>{let v=Q==="row"?{top:S,right:t.alignments.length-1,bottom:S,left:0}:{top:0,right:x,bottom:t.rows.length-1,left:x};p(Q,v,{row:S,column:x})},b=(Q,S,x,v)=>{p("range",{top:Math.min(Q,x),right:Math.max(S,v),bottom:Math.max(Q,x),left:Math.min(S,v)},{row:Q,column:S})},g=(Q,S,x)=>{if(u(),Q==="selectRow"&&S>0)m("row",S,x);else if(Q==="selectColumn"&&t.alignments.length>1)m("column",S,x);else if(Q==="insertRowBefore"&&S>0)t.rows.splice(S,0,Array(t.alignments.length).fill("")),f({row:S,column:x});else if(Q==="insertRowAfter")t.rows.splice(S+1,0,Array(t.alignments.length).fill("")),f({row:S+1,column:x});else if(Q==="duplicateRow"&&S>0)t.rows.splice(S+1,0,[...t.rows[S]]),f({row:S+1,column:x});else if(Q==="deleteRow"&&S>0)t.rows.splice(S,1),f({row:Math.min(S,t.rows.length-1),column:x});else if(Q==="insertColumnBefore"){for(let v of t.rows)v.splice(x,0,"");t.alignments.splice(x,0,"none"),f({row:S,column:x})}else if(Q==="insertColumnAfter"){for(let v of t.rows)v.splice(x+1,0,"");t.alignments.splice(x+1,0,"none"),f({row:S,column:x+1})}else if(Q==="deleteColumn"&&t.alignments.length>1){for(let v of t.rows)v.splice(x,1);t.alignments.splice(x,1),f({row:S,column:Math.min(x,t.alignments.length-1)})}};return t.rows.forEach((Q,S)=>{let x=document.createElement("tr");c.appendChild(x),Q.forEach((v,$)=>{let R=document.createElement(S===0?"th":"td"),_=document.createElement("div");if(_.className="cm-md-table-cell",_.contentEditable="plaintext-only",_.spellcheck=!0,xh(_,v),_.dataset.tableRow=String(S),_.dataset.tableColumn=String($),S===0){let W=`Column ${$+1}`;_.dataset.placeholder=W;let T=()=>{(_.innerText||"").trim()?_.removeAttribute("aria-label"):_.setAttribute("aria-label",W)};T(),_.addEventListener("input",T)}t.alignments[$]!=="none"&&(_.style.textAlign=t.alignments[$]),_.addEventListener("focus",()=>{O(),(_.textContent!==t.rows[S][$]||_.childElementCount)&&(_.textContent=t.rows[S][$]),_.dataset.tableEditing="true",Ze.set(e,{tableFrom:this.from,row:S,column:$,element:_,anchor:0,head:0}),r={row:S,column:$,element:_}}),_.addEventListener("contextmenu",W=>{W.preventDefault(),_.focus(),r={row:S,column:$,element:_};let T=String(IP++);Lr={token:T,perform:k=>g(k,S,$)},window.__mdRequestTableContextMenu?.({token:T,canInsertRowAbove:S>0,canDuplicateRow:S>0,canDeleteRow:S>0,canDeleteColumn:t.alignments.length>1,showsDuplicateRow:!0})}),_.addEventListener("blur",()=>{if(zn(e),!r||r.element!==_)return;let W=_.innerText||"",T=W!==t.rows[S][$];t.rows[S][$]=W,r=null,delete _.dataset.tableEditing,xh(_,t.rows[S][$]),T&&f()}),_.addEventListener("keydown",W=>{if((W.metaKey||W.ctrlKey)&&["b","i"].includes(W.key.toLowerCase())){W.preventDefault();let C=vo(e);At(W.key.toLowerCase()==="b"?"**":"*")(e),C&&$o(e,C);return}if(W.key==="Escape"){W.preventDefault(),r=null,_.blur(),delete _.dataset.tableEditing,xh(_,t.rows[S][$]),Ze.delete(e),e.focus();return}if(W.key!=="Tab"&&W.key!=="Enter")return;W.preventDefault(),t.rows[S][$]=_.innerText||"";let T=W.key==="Tab"&&W.shiftKey,k=S,w=$+(T?-1:1);w<0?(k--,w=t.alignments.length-1):w>=t.alignments.length&&(k++,w=0),k<0?(k=0,w=0):k>=t.rows.length&&t.rows.push(Array(t.alignments.length).fill("")),f({row:k,column:w})}),R.appendChild(_),x.appendChild(R)})}),n.addEventListener("mousedown",Q=>{if(Q.button!==0)return;let S=Q.target.closest?.(".cm-md-table-cell");if(!S)return;let x=Number(S.dataset.tableRow),v=Number(S.dataset.tableColumn);if(!Number.isInteger(x)||x<0||!Number.isInteger(v))return;Q.stopPropagation();let $=null;if(S.dataset.tableEditing!=="true"&&Q.detail===1&&!Q.shiftKey&&!Q.metaKey&&!Q.ctrlKey&&!Q.altKey&&S.textContent!==t.rows[x][v]){let T=document.caretRangeFromPoint?.(Q.clientX,Q.clientY),k=T&&Hg.get(T.startContainer);k!=null&&S.contains(T.startContainer)&&($=k+T.startOffset,Q.preventDefault())}S.focus({preventScroll:!0});let R=T=>{let k=S.firstChild;k&&window.getSelection()?.setBaseAndExtent(k,$,k,T)};$!=null&&R($),o={cell:S,row:x,column:v,head:S,active:!1,dragged:!1};let _=T=>{document.removeEventListener("mousemove",W,!0),document.removeEventListener("mouseup",_,!0),o?.active?(T.preventDefault(),window.getSelection()?.removeAllRanges(),a=!0):zn(e),o=null},W=T=>{if(!o)return;let w=document.elementFromPoint?.(T.clientX,T.clientY)?.closest?.(".cm-md-table-cell")||T.target.closest?.(".cm-md-table-cell");if(!(!w||!n.contains(w))){if(w===o.cell&&!o.active){if($!=null&&(T.preventDefault(),o.dragged||=Math.hypot(T.clientX-Q.clientX,T.clientY-Q.clientY)>3,o.dragged)){let C=document.caretRangeFromPoint?.(T.clientX,T.clientY);C?.startContainer===S.firstChild&&R(C.startOffset)}return}w!==o.head&&(T.preventDefault(),o.active=!0,o.head=w,b(o.row,o.column,Number(w.dataset.tableRow),Number(w.dataset.tableColumn)))}};document.addEventListener("mousemove",W,!0),document.addEventListener("mouseup",_,!0)},!0),n.addEventListener("click",Q=>{a&&(a=!1,Q.preventDefault(),Q.stopPropagation())},!0),n.addEventListener("keydown",Q=>{if(!s)return;if(Q.key==="Escape"){Q.preventDefault(),O(),e.focus();return}if(Q.key!=="Backspace"&&Q.key!=="Delete")return;if(s.kind==="range"){Q.preventDefault();return}Q.preventDefault();let S=s;O(),g(S.kind==="row"?"deleteRow":"deleteColumn",S.row,S.column)}),n}ignoreEvent(){return!0}},Ao=te.define();function wh(i,e,t,n=0){let r=[];if(e){let o=new RegExp(e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),"giu"),a=i.toString();for(let l of a.matchAll(o)){let c=l.index;(!t||c===0||!/[A-Za-z0-9_]/.test(a[c-1]))&&r.push({from:c,to:c+l[0].length})}}n=r.length?Math.min(Math.max(n,0),r.length-1):-1;let s=Z.set(r.map((o,a)=>Z.mark({class:a===n?"cm-find-match cm-find-current":"cm-find-match"}).range(o.from,o.to)));return{query:e,beginsWith:t,matches:r,index:n,decorations:s}}var Pi=he.define({create:i=>wh(i.doc,"",!1),update(i,e){for(let t of e.effects)if(t.is(Ao)){let{query:n,beginsWith:r,index:s}=t.value;return wh(e.state.doc,n,r,s)}return e.docChanged?wh(e.state.doc,i.query,i.beginsWith,i.index):i},provide:i=>z.decorations.from(i,e=>e.decorations)});function Xo(i,e,t){let n=i.field(Pi),r=n.matches[n.index];return!!r&&r.frome}var NP=z.baseTheme({".cm-find-match":{backgroundColor:"#ffe58a",color:"#201800",borderRadius:"2px"},".cm-find-current":{backgroundColor:"#ffad33",outline:"1px solid #9b5700"}});function Ag(i){let e=[];return(zs(i,i.doc.length,80)||U(i)).iterate({enter(n){if(n.name!=="Table")return;if(Xo(i,n.from,n.to))return!1;let r=i.doc.sliceString(n.from,n.to);if(Lh(r))return e.push(Z.replace({block:!0,widget:new Rh(r,n.from)}).range(n.from,n.to)),!1}}),Z.set(e,!0)}var FP=he.define({create:Ag,update:(i,e)=>e.docChanged||e.effects.some(t=>t.is(Ao))?Ag(e.state):i,provide:i=>z.decorations.from(i)}),_o=class extends ve{constructor(e,t){super(),this.from=e,this.checked=t}eq(e){return this.from===e.from&&this.checked===e.checked}toDOM(e){let t=document.createElement("span");t.className="cm-md-task-marker";let n=document.createElement("input");return n.type="checkbox",n.checked=this.checked,n.setAttribute("aria-label",this.checked?"Mark task incomplete":"Mark task complete"),n.addEventListener("mousedown",r=>{r.preventDefault(),r.stopPropagation()}),n.addEventListener("change",()=>{e.dispatch({changes:{from:this.from,to:this.from+1,insert:n.checked?"x":" "},userEvent:"input"}),e.focus()}),t.append(n),t}ignoreEvent(){return!0}},HP=Vc({nonTightLists:!1});function KP(i){return i.state.selection.ranges.every(e=>e.empty&&/^[ \t]*(?:>[ \t]*)*[-+*][ \t]+\[[ xX]\](?:[ \t]|$)/.test(i.state.doc.lineAt(e.head).text))?HP({state:i.state,dispatch:e=>{let t=e.state,n=t.changeByRange(r=>{let s=t.doc.lineAt(r.head);return r.empty&&s.text===""&&s.number>1&&t.doc.line(s.number-1).text.trim()!==""?{changes:{from:r.head,insert:t.lineBreak},range:P.cursor(r.head+t.lineBreak.length)}:{range:r}});i.dispatch([e,t.update(n,{userEvent:"input",scrollIntoView:!0})])}}):!1}var Ue=Z.replace({}),Zg=Z.replace({widget:new Mr("\u2022","cm-md-bullet")}),Eg=Z.mark({class:"cm-md-bullet-source"}),qg=new Map,JP=i=>{let e=qg.get(i);return e||(e=Z.replace({widget:new Mr(i,"cm-md-ordered")}),qg.set(i,e)),e},ev=Z.mark({class:"cm-md-ordered-source"}),tv=Z.replace({widget:new Ch}),iv=Z.line({class:"cm-md-rule-line"}),Zn=/^([ \t]*)([-+*]|\d+[.)])([ \t]+|$)/,nv=Z.replace({widget:new Mr(" ","cm-md-join")}),Ah={},rv=i=>Z.line({class:"cm-md-h"+i});for(let i=1;i<=6;i++)Ah[i]=rv(i);var sv=Z.line({class:"cm-md-heading-inactive"}),zg=Z.line({class:"cm-md-heading-after-blank"}),ov=Z.line({class:"cm-md-image-line"}),Lg=Z.line({class:"cm-md-line-collapsed"}),pt={line:22.8,blankGap:4,paragraph:12,quote:18,alert:24,table:24,hr:12},av=new Set(["Paragraph","FencedCode","CodeBlock","Blockquote","BulletList","OrderedList","Table","HorizontalRule","HTMLBlock"]),Mg=new Map,Ph=i=>{let e=Mg.get(i);return e||(e=Z.line({class:"cm-md-block-separator",attributes:{style:`height:${i}px;min-height:0;line-height:${i}px;overflow:hidden;`}}),Mg.set(i,e)),e},Wg=new Map,lv=i=>{let e=Wg.get(i);return e||(e=Z.line({class:"cm-md-block-gap",attributes:{style:`padding-bottom:${i}px;--cm-md-block-gap:${i}px;`}}),Wg.set(i,e)),e},jg=new Map,cv=(i,e,t,n)=>{let r=`${i}:${e}:${t}:${n}`,s=jg.get(r);if(!s){let o=[],a=[];for(let l=0;lli.create({tagName:"div",attributes:{class:`cm-md-code-card${s?" cm-md-code-card-wrapped":""}`}}).range(n,r)),!0)}var pv=Z.line({class:"cm-md-table"}),Dg=Z.line({class:"cm-md-list-item-gap"}),xo=Z.line({class:"cm-md-list-item"}),Yg=new Map,vh=i=>{let e=Yg.get(i);return e||(e=Z.line({class:`cm-md-list-depth-${i}`,attributes:{style:`padding-inline-start:${i*2.1}em;text-indent:-2.1em;`}}),Yg.set(i,e)),e},mv=Z.mark({class:"cm-md-fence-info"}),gv=Z.mark({class:"cm-md-code-fence-source-hidden"}),Qv=Z.mark({class:"cm-md-heading-source-hidden"}),bv=Z.mark({class:"cm-md-heading-prefix"}),Sv=Z.mark({class:"cm-md-heading-marker"}),yv=Z.line({class:"cm-md-setext-marker-line"}),kv=Z.mark({class:"cm-md-setext-source"}),xv=Z.mark({class:"cm-md-link"}),wv=Z.mark({class:"cm-md-url"}),Pv=Z.mark({class:"cm-md-strong"}),vv=Z.mark({class:"cm-md-emphasis"}),$v=Z.mark({class:"cm-md-strikethrough"}),Tv=Z.mark({class:"cm-md-highlight"}),Cv=Z.line({class:"cm-md-frontmatter"}),Xv=Z.line({class:"cm-md-frontmatter-first"}),_v=Z.line({class:"cm-md-frontmatter-last"}),Rv=Z.mark({class:"cm-md-frontmatter-delim"}),Av=Z.line({attributes:{dir:"auto"}});function Ig(i){let e=[];for(let t=1;t<=i.doc.lines;t++)e.push(Av.range(i.doc.line(t).from));return Z.set(e)}var Zv=he.define({create:Ig,update(i,e){return e.docChanged?Ig(e.state):i},provide:i=>z.decorations.from(i)});function Ro(i,e){let t="",n=null,r=[];for(let g=e.node.firstChild;g;g=g.nextSibling)g.name==="CodeInfo"&&(n=g,t=i.doc.sliceString(g.from,g.to)),g.name==="CodeMark"&&r.push(g);let s=t.trim().split(/\s+/,1)[0].toLowerCase(),o=i.doc.lineAt(e.from),a=r[0],l=o.to1&&(c=i.doc.lineAt(r[r.length-1].from).from);let h=i.sliceDoc(o.from,e.from),f=/^ {0,3}$/.test(h)?h.length:0,u=e.node.getChildren("CodeText"),O=u.map((g,Q)=>{let S=Q?i.doc.lineAt(g.from).number-i.doc.lineAt(u[Q-1].to).number:0;return` -`.repeat(S)+i.sliceDoc(g.from,g.to)}).join("").replace(new RegExp("^ {0,"+f+"}","gm"),""),p=s?"":MP(O),m=n?.from??a?.to??o.to,b=n?.to??m;return{explicitLanguage:s,language:s||p,detectedLanguage:p,metadata:t.trim().split(/\s+/).slice(1).join(" "),rawInfo:t,infoFrom:m,infoTo:b,sourceFrom:l,source:O}}function To(i,e){let t=U(i).resolve(e,-1);for(;t;){if(t.name==="FencedCode")return{from:t.from,to:t.to,closed:t.node.lastChild?.name==="CodeMark"};t=t.parent}return null}var Zh=te.define(),vt=he.define({create:()=>null,update(i,e){if(e.docChanged)return null;for(let t of e.effects)if(t.is(Zh))return t.value;return i?.activateOnSelection&&e.isUserEvent("select.pointer")?{selection:e.state.selection.main,focused:!0,fence:e.state.field(en),activateOnSelection:!1}:i}}),Ev=Ve.fromClass(class{constructor(i){this.view=i,this.releaseTimer=null,this.down=e=>{e.button!==0||e.target.closest("input, textarea, button, select, .cm-md-table-cell")||(clearTimeout(this.releaseTimer),!i.state.field(vt)&&i.dispatch({effects:Zh.of({selection:i.state.selection.main,focused:i.hasFocus,fence:i.state.field(en),activateOnSelection:e.detail===1&&!e.shiftKey&&!e.metaKey&&!e.ctrlKey&&!e.altKey})}))},this.finish=()=>{i.state.field(vt)&&(clearTimeout(this.releaseTimer),this.releaseTimer=setTimeout(()=>this.release(),0))},this.release=()=>{clearTimeout(this.releaseTimer),i.state.field(vt)&&i.dispatch({effects:Zh.of(null)})},this.move=e=>{e.buttons===0&&this.finish()},i.contentDOM.addEventListener("mousedown",this.down,!0),i.contentDOM.addEventListener("keydown",this.release,!0),i.dom.ownerDocument.addEventListener("mouseup",this.finish),i.dom.ownerDocument.addEventListener("mousemove",this.move),i.dom.ownerDocument.addEventListener("dragend",this.finish),i.win.addEventListener("blur",this.finish)}destroy(){clearTimeout(this.releaseTimer);let i=this.view;i.contentDOM.removeEventListener("mousedown",this.down,!0),i.contentDOM.removeEventListener("keydown",this.release,!0),i.dom.ownerDocument.removeEventListener("mouseup",this.finish),i.dom.ownerDocument.removeEventListener("mousemove",this.move),i.dom.ownerDocument.removeEventListener("dragend",this.finish),i.win.removeEventListener("blur",this.finish)}}),qv=z.mouseSelectionStyle.of((i,e)=>{if(e.button!==0||e.detail!==1||e.shiftKey||e.metaKey||e.ctrlKey||e.altKey)return null;let t=i.posAtCoords({x:e.clientX,y:e.clientY});if(t==null)return null;let n=!1;return{update(r){t=r.changes.mapPos(t)},get(r){n||=Math.hypot(r.clientX-e.clientX,r.clientY-e.clientY)>3;let s=n?i.posAtCoords({x:r.clientX,y:r.clientY},!1)??t:t;return P.single(t,s)}}}),en=he.define({create:()=>null,update(i,e){i&&e.docChanged&&(i={from:e.changes.mapPos(i.from,1),to:e.changes.mapPos(i.to,-1)});let t=e.state.selection.main;if(!t.empty)return null;let n=t.head;return e.isUserEvent("select.pointer")||!i&&e.docChanged&&e.isUserEvent("input")?To(e.state,n):!i||ni.to?null:e.docChanged&&To(e.state,n)||i}});function wo(i){let e=[],t=i.field(en);return(zs(i,i.doc.length,80)||U(i)).iterate({enter(r){if(r.name!=="FencedCode")return;let s=Ro(i,r),o=t!=null&&r.from<=t.from&&r.to>=t.to;if(s.language==="mermaid"&&!o&&!Xo(i,r.from,r.to))return e.push(Z.replace({block:!0,widget:new Xh(s.source)}).range(r.from,r.to)),!1}}),Z.set(e,!0)}var zv=he.define({create:i=>wo(i),update:(i,e)=>{if(e.state.field(vt))return e.startState.field(vt)?.activateOnSelection&&!e.state.field(vt).activateOnSelection?wo(e.state):i;if(e.startState.field(vt))return wo(e.state);let t=e.startState.field(en),n=e.state.field(en),r=t?.from!==n?.from||t?.to!==n?.to,s=!1;return e.docChanged&&e.changes.iterChanges((o,a,l,c,h)=>{if(s)return;let u=e.startState.doc.sliceString(o,a)+h.toString();s=/[`~]|mermaid/i.test(u)}),r||s||e.effects.some(o=>o.is(Ao))||e.docChanged&&e.state.field(Pi).query?wo(e.state):e.docChanged?i.map(e.changes):i},provide:i=>z.decorations.from(i)});function Lv(i,e){let t=e.get(i.sourceFrom);if(t?.language===i.detectedLanguage&&t.source===i.source)return t.tokens;let n=[],r=Ie.matchLanguageName(Ng,i.detectedLanguage,!1)?.support?.language;return r&&Rs(r.parser.parse(i.source),Jg,(s,o,a)=>{n.push({from:s,to:o,mark:Z.mark({class:a})})}),e.set(i.sourceFrom,{language:i.detectedLanguage,source:i.source,tokens:n}),n}function Bg(i,e){let t=[],{state:n}=i,r=n.field(vt),s=r?.selection??n.selection.main,o=r?r.fence:n.field(en),l=(r?r.focused:i.hasFocus)&&(s.empty||i.compositionStarted)?s.head:null,c=(k,w)=>Xo(n,k,w)||l!=null&&l>=k&&l<=w,h=k=>{let w=n.doc.lineAt(k);return c(w.from,w.to)},f=k=>Xo(n,k.from,k.to)||o!=null&&k.from<=o.from&&k.to>=o.to,u=new Set,O=new Set,p=(k,w)=>{let C=n.doc.lineAt(k),j=w.spec.class+"@"+C.from;u.has(j)||(u.add(j),t.push(w.range(C.from)))},m=(k,w,C)=>{let j=k;for(;j<=w;){let y=n.doc.lineAt(j);if(p(y.from,C),y.to>=w)break;j=y.to+1}},b=k=>{let w=0;for(let C of k)w=C===" "?w+(4-w%4):w+1;return w},g=(k,w)=>{let C=w[1],j=w[2],y=w[3],q=k.from+C.length,de=q+j.length,Zt=Math.floor(b(C)/4)+1;if(p(k.from,xo),p(k.from,vh(Zt)),O.add(k.from),k.number>1&&Zn.test(n.doc.line(k.number-1).text)&&p(k.from,Dg),C.length>0&&t.push(Ue.range(k.from,q)),/^[-+*]$/.test(j)&&/^\s*\[[ xX]\](\s|$)/.test(k.text.slice(de-k.from))){let G=k.text.slice(de-k.from).match(/^[ \t]*\[([ xX])\][ \t]?/),H=de+G[0].indexOf("[");t.push(Z.replace({widget:new _o(H+1,G[1]!==" ")}).range(q,de+G[0].length))}else/^[-+*]$/.test(j)&&(h(q)?(t.push(Eg.range(q,de)),y.length>0&&t.push(Ue.range(de,de+y.length))):t.push(Zg.range(q,de+y.length)))},Q=k=>{let w=n.doc.lineAt(k),C=w.number,j=Math.max(C-64,1);for(;C>j&&n.doc.line(C-1).text.length===0;)C--;return{line:w,first:C,count:w.number-C}},S=k=>{switch(k.name){case"Blockquote":{let w=n.doc.lineAt(k.from);return/^ {0,3}> ?\[!(note|tip|important|warning|caution)\]/i.test(w.text)?pt.alert:pt.quote}case"Table":return pt.table;case"HorizontalRule":return pt.hr;case"FencedCode":return Ro(n,k).language==="mermaid"?pt.table:pt.paragraph;default:return pt.paragraph}},x=-1,v=k=>{let w=n.doc.lineAt(k.from);w.number===1||w.from<=x||Q(k.from).count===0&&p(n.doc.line(w.number-1).from,lv(S(k)))},$=k=>{let w=Q(k.from);if(w.count===0)return;let C=n.doc.line(w.line.number-1);if(w.first===1){p(C.from,Ph(pt.blankGap+S(k)));return}let j=S(k),y=pt.blankGap+j;p(C.from,Ph(y))},R=0,_=[],W=[],T=new Map;for(let{from:k,to:w}of i.visibleRanges){let C=null;U(n).iterate({from:k,to:w,enter:y=>{R++;let q=y.name;if(R===2&&q==="Document"&&(C=R),C!=null&&R===C+1&&av.has(q)&&($(y),v(y)),q==="Frontmatter"){let X=y.to>y.from&&n.doc.lineAt(y.to).from===y.to?y.to-1:y.to;x=X,m(y.from,X,Cv),p(y.from,Xv),p(n.doc.lineAt(X).from,_v);return}if(q==="DashLine"){t.push(Rv.range(y.from,y.to));return}let de=q.match(/^ATXHeading(\d)$/);if(de){p(y.from,Ah[+de[1]]),Q(y.from).count>0&&p(y.from,zg),h(y.from)||p(y.from,sv);return}let Zt=q.match(/^SetextHeading(\d)$/);if(Zt){p(y.from,Ah[+Zt[1]]),Q(y.from).count>0&&p(y.from,zg);return}if(q==="HeaderMark"){let X=y.node.parent;if(X&&/^ATXHeading/.test(X.name)){t.push(Sv.range(y.from,y.to));let G=n.doc.sliceString(y.to,y.to+1),H=y.to+(G===" "?1:0),B=y.from===X.from,re=n.doc.lineAt(y.from),ne=B&&/^ {0,3}$/.test(n.doc.sliceString(re.from,y.from))?re.from:y.from;B&&t.push(bv.range(ne,H)),h(y.from)||t.push(Qv.range(ne,H))}else X&&/^SetextHeading/.test(X.name)&&(p(y.from,yv),t.push(kv.range(y.from,y.to)));return}if(q==="Blockquote"){W.push(y.from);let X=n.doc.lineAt(y.from),G=y.node.parent?.name==="Blockquote",H=y.node.prevSibling;for(;H?.name==="QuoteMark";)H=H.prevSibling;let B=G&&H?pt.quote:0,re=y.from;for(;re<=y.to;){let ne=n.doc.lineAt(re),ye=T.get(ne.from)||{depth:0,starts:0,ends:0,gap:0};if(ye.depth=Math.max(ye.depth,W.length),ne.from===X.from&&(ye.starts++,ye.gap+=B),ne.to>=y.to&&ye.ends++,T.set(ne.from,ye),ne.to>=y.to)break;re=ne.to+1}return}if(q==="QuoteMark"){if(!h(y.from)){let X=n.doc.sliceString(y.to,y.to+1);t.push(Ue.range(y.from,y.to+(X===" "?1:0)))}return}if(q==="Paragraph"&&/^(Blockquote|ListItem)$/.test(y.node.parent?.name||"")){let X=n.doc.lineAt(y.from);if(X.number>n.doc.lineAt(y.node.parent.from).number){let G=n.doc.line(X.number-1);/^(?:[ >]*)$/.test(G.text)&&p(G.from,Ph(pt.paragraph))}}if(q==="Escape"&&!c(y.from,y.to)){t.push(Ue.range(y.from,y.from+1));return}if(q==="StrongEmphasis"){t.push(Pv.range(y.from,y.to));return}if(q==="Emphasis"){t.push(vv.range(y.from,y.to));return}if(q==="Strikethrough"){t.push($v.range(y.from,y.to));return}if(q==="Highlight"){let X=[];for(let B=y.node.firstChild;B;B=B.nextSibling)B.name==="HighlightMark"&&X.push(B);let G=X.length?X[0].to:y.from,H=X.length>1?X[X.length-1].from:y.to;G1?X[X.length-1].from:y.to;G")?G.slice(1,-1):G;if(!H||H.startsWith("//"))return!1;let B=y.from+2;for(let ne=y.node.firstChild;ne;ne=ne.nextSibling)if(ne.name==="LinkMark"&&n.doc.sliceString(ne.from,ne.to)==="]"){B=ne.from;break}let re=n.doc.sliceString(y.from+2,B);if(!c(y.from,y.to)){let ne=n.doc.lineAt(y.from);ne.text.trim()===n.doc.sliceString(y.from,y.to)&&p(ne.from,ov),t.push(Z.replace({widget:new Th(H,re,n.doc.sliceString(y.from,y.to),y.from,y.to)}).range(y.from,y.to))}return!1}if(q==="Link"){y.node.getChild("URL")&&t.push(xv.range(y.from,y.to));return}if(q==="LinkMark"){let X=y.node.parent;X&&X.name==="Link"&&X.getChild("URL")&&!c(X.from,X.to)&&t.push(Ue.range(y.from,y.to));return}if(q==="URL"){let X=y.node.parent;X&&X.name==="Link"&&(c(X.from,X.to)?t.push(wv.range(y.from,y.to)):t.push(Ue.range(y.from,y.to)));return}if(q==="BulletList"||q==="OrderedList"){_.push(y.from);return}if(q==="ListItem"){let X=y.from===_[_.length-1],G=_.length>1,H=n.doc.lineAt(y.from),B=H.number>1&&n.doc.line(H.number-1).text.trim()==="";(!X||G)&&!B&&p(y.from,Dg),m(y.from,y.to,xo),p(y.from,vh(_.length)),O.add(n.doc.lineAt(y.from).from);{let ni=n.doc.lineAt(y.from).to+1;for(;ni<=y.to;){let tt=n.doc.lineAt(ni),N=tt.text;if(N.length>0&&!Zn.test(N)){p(tt.from,hv),p(tt.from,vh(_.length));let qt=N.match(/^[ \t]+/);qt&&t.push(Ue.range(tt.from,tt.from+qt[0].length))}if(tt.to>=y.to)break;ni=tt.to+1}}let re=n.doc.lineAt(y.from),ye=re.text.match(Zn)?.[1]??"";ye.length>0&&t.push(Ue.range(re.from,re.from+ye.length));return}if(q==="ListMark"){let X=n.doc.sliceString(y.from,y.to),G=n.doc.lineAt(y.from),H=/^\s*\[[ xX]\](\s|$)/.test(G.text.slice(y.to-G.from));if(H&&/^[-+*]$/.test(X)){let B=G.text.slice(y.to-G.from).match(/^[ \t]*\[([ xX])\][ \t]?/),re=y.to+B[0].indexOf("[");t.push(Z.replace({widget:new _o(re+1,B[1]!==" ")}).range(y.from,y.to+B[0].length))}else if((X==="-"||X==="*"||X==="+")&&!H){let B=n.doc.sliceString(y.to,y.to+1);h(y.from)?(t.push(Eg.range(y.from,y.to)),B===" "&&t.push(Ue.range(y.to,y.to+1))):t.push(Zg.range(y.from,y.to+(B===" "?1:0)))}else if(/^\d+[.)]$/.test(X)&&!H){let B=n.doc.sliceString(y.to,y.to+1);h(y.from)?(t.push(ev.range(y.from,y.to)),B===" "&&t.push(Ue.range(y.to,y.to+1))):t.push(JP(X).range(y.from,y.to+(B===" "?1:0)))}return}if(q==="FencedCode"||q==="CodeBlock"){let X=n.doc.lineAt(y.from),G=n.doc.lineAt(y.to),H=q==="FencedCode"&&y.node.lastChild?.name==="CodeMark",B=G.number-X.number>=(H?2:1),re=q==="FencedCode"&&!h(X.from),ne=H&&!h(G.from),ye=re&&B?n.doc.line(X.number+1):X,Et=B?ye:X,ni=!B&&q==="FencedCode"?X:ne?n.doc.line(G.number-1):G;if(q==="FencedCode"){let N=Ro(n,y);if(N.detectedLanguage)for(let qt of Lv(N,e))t.push(qt.mark.range(N.sourceFrom+qt.from,N.sourceFrom+qt.to));t.push(Z.widget({widget:new Co({wrapped:n.field(En).has(X.from),fenceFrom:y.from,language:N.language,detectedLanguage:N.detectedLanguage,rawInfo:N.rawInfo,infoFrom:N.infoFrom,infoTo:N.infoTo}),side:-1}).range(Et.from))}else t.push(Z.widget({widget:new Co({fenceFrom:X.from,language:"text",rawInfo:"",plain:!0,wrapped:n.field(En).has(X.from)}),side:-1}).range(Et.from));let tt=y.from;for(;tt<=y.to;){let N=n.doc.lineAt(tt),qt=q==="CodeBlock"&&u.has(`${xo.spec.class}@${N.from}`)?N.text.match(Zn):null;if(qt){if(g(N,qt),N.to>=y.to)break;tt=N.to+1;continue}let Vh=q==="FencedCode"&&N.from===Et.from;if((re&&N.from===X.from||ne&&N.from===G.from)&&!Vh)p(N.from,Lg);else if(q==="FencedCode"&&!B&&N.from!==X.from&&!Vh)p(N.from,Lg);else{let Ln=N.from===ye.from,Dh=N.from===ni.from;Ln&&p(N.from,uv),Dh&&p(N.from,Ov),!Ln&&!Dh&&p(N.from,fv),t.push(Z.line({attributes:{"data-code-scroll-group":String(X.from),class:n.field(En).has(X.from)?"cm-md-code-wrapped":""}}).range(N.from)),N.length&&t.push(dv.range(N.from,N.to))}if(q==="CodeBlock"&&!h(N.from)){let Ln=N.text.match(/^(?: {4}|\t)/)?.[0];Ln&&t.push(Ue.range(N.from,N.from+Ln.length))}if(N.to>=y.to)break;tt=N.to+1}return}if(q==="CodeInfo"){let X=y.node.parent;if(!X)return;h(X.from)&&t.push(mv.range(y.from,y.to));return}if(q==="Table"){m(y.from,y.to,pv);return}if(q==="HorizontalRule"){h(y.from)||(p(y.from,iv),t.push(tv.range(y.from,y.to)));return}},leave:y=>{R--;let q=y.name;(q==="BulletList"||q==="OrderedList")&&_.pop(),q==="Blockquote"&&W.pop()}});for(let[y,q]of T)p(y,cv(q.depth,q.starts,q.ends,q.gap));T.clear();let j=k;for(;j<=w;){let y=n.doc.lineAt(j);if(u.has(`${xo.spec.class}@${y.from}`)&&!O.has(y.from)){let de=y.text.match(Zn);de&&g(y,de)}if(y.to>=w)break;j=y.to+1}}return Z.set(t,!0)}function Eh(i){let e=i.selection.main,t=new Set,n=0;for(let r=U(i).resolveInner(e.from,1);r;r=r.parent){if(r.toi.decorations,provide:i=>z.blockWrappers.of(e=>e.plugin(i)?.codeWrappers??li.set([]))}),Wv=Ve.fromClass(class{constructor(i){this.schedule(i)}update(i){(i.docChanged||i.selectionSet||i.viewportChanged||i.geometryChanged||i.focusChanged)&&this.schedule(i.view)}docViewUpdate(i){this.schedule(i)}schedule(i){i.requestMeasure({key:this,read(e){return Array.from(e.dom.querySelectorAll(".cm-md-heading-prefix")).map(t=>{let n=t.closest(".cm-line");return n?{line:n,width:t.getBoundingClientRect().width}:null}).filter(Boolean)},write(e){for(let{line:t,width:n}of e){let r=`${n}px`;t.style.getPropertyValue("--cm-md-heading-prefix-width")!==r&&t.style.setProperty("--cm-md-heading-prefix-width",r)}}})}});function Ug(i){let e=[],t=i.selection.main,n=(s,o)=>t.from<=o&&t.to>=s;return(zs(i,i.doc.length,80)||U(i)).iterate({enter:s=>{let o=s.name;if(o==="FencedCode"||o==="CodeBlock"||o==="HTMLBlock")return!1;if(o!=="Paragraph")return;if(n(s.from,s.to))return!1;let a=i.doc.lineAt(s.from);for(;a.toUg(i),update:(i,e)=>e.docChanged||e.selection?Ug(e.state):i,provide:i=>z.decorations.from(i)}),Jg=yn.define([{tag:[d.keyword,d.modifier,d.operatorKeyword,d.controlKeyword,d.definitionKeyword,d.moduleKeyword],class:"hl-keyword"},{tag:[d.string,d.special(d.string),d.regexp],class:"hl-string"},{tag:[d.comment,d.blockComment,d.lineComment],class:"hl-comment"},{tag:[d.number,d.integer,d.float,d.character],class:"hl-number"},{tag:[d.bool,d.atom,d.null],class:"hl-keyword"},{tag:[d.typeName,d.namespace],class:"hl-type"},{tag:[d.className,d.definition(d.typeName)],class:"hl-declaration"},{tag:[d.function(d.variableName),d.function(d.propertyName),d.macroName],class:"hl-function"},{tag:[d.propertyName,d.labelName],class:"hl-property"},{tag:d.attributeName,class:"hl-attribute"},{tag:[d.standard(d.variableName),d.standard(d.typeName)],class:"hl-builtin"},{tag:[d.meta,d.processingInstruction],class:"hl-meta"},{tag:[d.punctuation,d.operator],class:"hl-plain"}]);function At(i){return e=>{let t=e.state.changeByRange(n=>{let{from:r,to:s}=n;for(;rr&&/\s/.test(e.state.sliceDoc(s-1,s));)s--;let o=i.length,a=e.state.sliceDoc(Math.max(0,r-o),r),l=e.state.sliceDoc(s,s+o);if(a===i&&l===i)return{changes:[{from:r-o,to:r,insert:""},{from:s,to:s+o,insert:""}],range:P.range(r-o,s-o)};let c=e.state.sliceDoc(r,s);return c.startsWith(i)&&c.endsWith(i)&&c.length>=o*2?{changes:{from:r,to:s,insert:c.slice(o,c.length-o)},range:P.range(r,s-o*2)}:{changes:{from:r,to:s,insert:i+c+i},range:P.range(r+o,s+o)}});return e.dispatch(t,{scrollIntoView:!0,userEvent:"input"}),!0}}function jh(i,e){let t=i.selection.main,n=i.doc.lineAt(t.from).number,r=i.doc.lineAt(t.to).number,s=[];for(let o=n;o<=r;o++)s.push(i.doc.line(o));return e(s)}function $h(i,e){return t=>{let n=jh(t.state,r=>{let s=r.every(o=>e.test(o.text));return r.map(o=>{if(s){let a=o.text.match(e);return{from:o.from,to:o.from+a[0].length,insert:""}}return e.test(o.text)?null:{from:o.from,insert:i}}).filter(Boolean)});return n.length&&Wr(t,n),!0}}function Wr(i,e){let t=i.state.changes(e),n=i.state.selection.main;i.dispatch({changes:e,selection:P.range(t.mapPos(n.anchor,1),t.mapPos(n.head,1)),userEvent:"input"})}function jv(i){let e=/^\d+\.\s/,t=jh(i.state,n=>{let r=n.every(o=>e.test(o.text)),s=1;return n.map(o=>{if(r){let a=o.text.match(e);return{from:o.from,to:o.from+a[0].length,insert:""}}return e.test(o.text)?null:{from:o.from,insert:`${s++}. `}}).filter(Boolean)});return t.length&&Wr(i,t),!0}function qh(i){let e=i.selection.main,t=i.doc.lineAt(e.from).number,n=i.doc.lineAt(e.empty?e.to:e.to-1).number;return Array.from({length:n-t+1},(r,s)=>i.doc.line(t+s))}function e0(i){let e=/^([ \t]*(?:>[ \t]*)*)(?:([-+*]|\d+[.)])([ \t]+)(\[[ xX]\][ \t]+)?)?/.exec(i);return{prefix:e[0],indent:e[1],style:e[2]?e[4]?"task":/^\d/.test(e[2])?"ordered":"bullet":"none"}}function qn(i,e,t){for(let n=U(i).resolve(e,1);n;n=n.parent)if(t.includes(n.name))return n;return null}function t0(i){return qh(i).filter(e=>!/^[ \t>]*$/.test(e.text)&&!qn(i,e.from+e.text.search(/\S/),["FencedCode","CodeBlock"]))}function Vv(i,e){if(!["none","bullet","ordered","task"].includes(e))return!1;let t=t0(i.state).map((n,r)=>{let s=e0(n.text);if(s.style===e)return null;let o=e==="none"?"":e==="bullet"?"- ":e==="task"?"- [ ] ":`${r+1}. `;return{from:n.from,to:n.from+s.prefix.length,insert:s.indent+o}}).filter(Boolean);return t.length&&Wr(i,t),i.focus(),!0}function Ji(i){return e=>{let t=jh(e.state,n=>n.map(r=>{let s=r.text.match(/^(#{1,6})\s+/),a=(s?s[1].length:0)===i||i===0?"":"#".repeat(i)+" ";return{from:r.from,to:r.from+(s?s[0].length:0),insert:a}}));return e.dispatch({changes:t,userEvent:"input"}),!0}}function i0(i){let e={InlineCode:"code",FencedCode:"fenced",CodeBlock:"plain",Blockquote:"quote",Table:"table"};for(let t=U(i).resolve(i.selection.main.head,i.selection.main.empty?1:-1);t;t=t.parent)if(e[t.name])return{style:e[t.name],node:t};return{style:"none",node:null}}function Dv(i,e,t=""){if(!["none","quote","code","plain","fenced","table"].includes(e))return!1;let n=i.state,r=n.selection.main,s=i0(n),o=s.node&&r.from>=s.node.from&&r.to<=s.node.to;if(e==="code"&&(!o||s.style==="code"))return s.style!=="code"&&At("`")(i),i.focus(),!0;if(e==="table"){let p=qn(n,r.to,["FencedCode"]),m=p?p.to:n.doc.lineAt(r.to).to,g=(p&&p.lastChild?.name!=="CodeMark"?` +`:"")}var BP=1,Lr=null,UP=ki.parser.configure(zh),Kg=new WeakMap;function xh(i,e){let t={StrongEmphasis:"cm-md-strong",Emphasis:"cm-md-emphasis",Strikethrough:"cm-md-strikethrough",Highlight:"cm-md-highlight"},n=(o,a,l)=>{if(!a)return;let c=document.createTextNode(a);Kg.set(c,l),o.append(c)},r=(o,a,l,c)=>{let h=l;for(let f=a.firstChild;f;f=f.nextSibling)f.fromc||(n(o,e.slice(h,f.from),h),s(o,f),h=f.to);n(o,e.slice(h,c),h)},s=(o,a)=>{if(a.name==="InlineCode"){let l=document.createElement("code");l.className="cm-md-inline-code";let c=e.slice(a.firstChild.to,a.lastChild.from).replace(/\n/g," "),h=c.startsWith(" ")&&c.endsWith(" ")&&/[^ ]/.test(c);h&&(c=c.slice(1,-1)),n(l,c,a.firstChild.to+(h?1:0)),o.append(l)}else if(t[a.name]){let l=document.createElement("span");l.className=t[a.name],r(l,a,a.firstChild.to,a.lastChild.from),o.append(l)}else if(a.name==="Link"&&a.getChild("URL")){let l=a.getChildren("LinkMark"),c=document.createElement("span");c.className="cm-md-link",r(c,a,l[0].to,l[1].from),o.append(c)}else a.name==="Escape"?n(o,e.slice(a.from+1,a.to),a.from+1):a.name==="Image"?n(o,e.slice(a.from,a.to),a.from):r(o,a,a.from,a.to)};i.replaceChildren(),s(i,UP.parse(e).topNode)}var Ze=new WeakMap,Wh=new WeakMap,GP=new Set(["bold","italic","strikethrough","highlight","code","link"]);function Jg(i,e){let n=i.state.doc.lineAt(e.tableFrom).number+(e.row===0?0:e.row+1);if(n>i.state.doc.lines)return null;let r=i.state.doc.line(n),s=Po(r.text,!0)[e.column];return s?{from:r.from+s.from,to:r.from+Math.max(s.from,s.to)}:null}function zn(i){let e=Ze.get(i);if(!e||e.element.dataset.tableEditing!=="true")return;let t=window.getSelection();if(!t?.anchorNode||!t.focusNode||!e.element.contains(t.anchorNode)||!e.element.contains(t.focusNode))return;let n=(a,l)=>{let c=document.createRange();return c.selectNodeContents(e.element),c.setEnd(a,l),c.toString().length};e.anchor=n(t.anchorNode,t.anchorOffset),e.head=n(t.focusNode,t.focusOffset);let r=e.element.innerText||"",s=[e.anchor,e.head];Mh(r,s),e.sourceAnchor=s[0],e.sourceHead=s[1];let o=se.create({doc:r,selection:P.single(e.anchor,e.head),extensions:[Yc({extensions:zh})]});Wh.get(i)?.(Eh(o))}function vo(i){let e=Ze.get(i);if(!e)return null;zn(i),e.element.dataset.tableEditing==="true"&&e.element.blur();let t=Jg(i,e);if(!t)return null;let n=t.to-t.from;return i.dispatch({selection:P.single(t.from+Math.max(0,Math.min(e.sourceAnchor??e.anchor,n)),t.from+Math.max(0,Math.min(e.sourceHead??e.head,n)))}),e}function $o(i,e){let t=Jg(i,e);if(!t)return;let n=i.state.selection.main,r=Math.max(0,Math.min(n.anchor-t.from,t.to-t.from)),s=Math.max(0,Math.min(n.head-t.from,t.to-t.from)),o=i.dom.querySelector(`.cm-md-table-widget[data-table-from="${e.tableFrom}"] [data-table-row="${e.row}"][data-table-column="${e.column}"]`);if(!o)return;o.focus({preventScroll:!0});let a=o.firstChild||o.appendChild(document.createTextNode(""));window.getSelection()?.setBaseAndExtent(a,r,a,s),zn(i)}var NP=Ve.fromClass(class{constructor(i){this.view=i,this.capture=()=>zn(i),this.clear=e=>{e.target.closest?.(".cm-md-table-cell")||Ze.delete(i)},document.addEventListener("selectionchange",this.capture),i.dom.addEventListener("mousedown",this.clear,!0)}destroy(){document.removeEventListener("selectionchange",this.capture),this.view.dom.removeEventListener("mousedown",this.clear,!0),Ze.delete(this.view),Wh.delete(this.view)}}),Rh=class extends ve{constructor(e,t){super(),this.source=e,this.from=t}eq(e){return e.source===this.source&&e.from===this.from}toDOM(e){let t=Lh(this.source),n=document.createElement("div");if(n.className="cm-md-table-widget",n.dataset.tableFrom=String(this.from),!t)return n.textContent=this.source,n;let r=null,s=null,o=null,a=!1,l=document.createElement("div");l.className="cm-md-table-scroll",n.appendChild(l);let c=document.createElement("table");c.className="cm-md-table-grid",l.appendChild(c);let h=(Q,S)=>{requestAnimationFrame(()=>requestAnimationFrame(()=>{let x=e.dom.querySelector(`.cm-md-table-widget[data-table-from="${this.from}"]`);(x&&x.querySelector(`[data-table-row="${Q}"][data-table-column="${S}"]`))?.focus()}))},f=(Q=null)=>{let S=IP(t);if(S===this.source){Q&&n.querySelector(`[data-table-row="${Q.row}"][data-table-column="${Q.column}"]`)?.focus();return}r=null,e.dispatch({changes:{from:this.from,to:this.from+this.source.length,insert:S},userEvent:"input"}),Q&&h(Q.row,Q.column)},u=()=>{!r||r.element.dataset.tableEditing!=="true"||(t.rows[r.row][r.column]=r.element.innerText||"")},O=()=>{n.querySelectorAll(".is-table-part-selected").forEach(Q=>{Q.classList.remove("is-table-part-selected")}),n.classList.remove("is-table-row-selected","is-table-column-selected","is-table-range-selected"),n.removeAttribute("aria-label"),s=null},p=(Q,S,x)=>{if(u(),O(),Array.from(n.querySelectorAll(".cm-md-table-cell")).filter($=>{let R=Number($.dataset.tableRow),_=Number($.dataset.tableColumn);return R>=S.top&&R<=S.bottom&&_>=S.left&&_<=S.right}).forEach($=>{$.classList.add("is-table-part-selected")}),n.classList.add(Q==="row"?"is-table-row-selected":Q==="column"?"is-table-column-selected":"is-table-range-selected"),window.getSelection()?.removeAllRanges(),s={kind:Q,row:x.row,column:x.column,bounds:S},Ze.delete(e),n.tabIndex=0,Q==="range"){let $=S.bottom-S.top+1,R=S.right-S.left+1;n.setAttribute("aria-label",`Selected ${$} rows by ${R} columns.`)}else{let $=Q==="row"?x.row:x.column+1;n.setAttribute("aria-label",`Selected ${Q} ${$}. Press Delete to remove it.`)}n.focus()},m=(Q,S,x)=>{let v=Q==="row"?{top:S,right:t.alignments.length-1,bottom:S,left:0}:{top:0,right:x,bottom:t.rows.length-1,left:x};p(Q,v,{row:S,column:x})},b=(Q,S,x,v)=>{p("range",{top:Math.min(Q,x),right:Math.max(S,v),bottom:Math.max(Q,x),left:Math.min(S,v)},{row:Q,column:S})},g=(Q,S,x)=>{if(u(),Q==="selectRow"&&S>0)m("row",S,x);else if(Q==="selectColumn"&&t.alignments.length>1)m("column",S,x);else if(Q==="insertRowBefore"&&S>0)t.rows.splice(S,0,Array(t.alignments.length).fill("")),f({row:S,column:x});else if(Q==="insertRowAfter")t.rows.splice(S+1,0,Array(t.alignments.length).fill("")),f({row:S+1,column:x});else if(Q==="duplicateRow"&&S>0)t.rows.splice(S+1,0,[...t.rows[S]]),f({row:S+1,column:x});else if(Q==="deleteRow"&&S>0)t.rows.splice(S,1),f({row:Math.min(S,t.rows.length-1),column:x});else if(Q==="insertColumnBefore"){for(let v of t.rows)v.splice(x,0,"");t.alignments.splice(x,0,"none"),f({row:S,column:x})}else if(Q==="insertColumnAfter"){for(let v of t.rows)v.splice(x+1,0,"");t.alignments.splice(x+1,0,"none"),f({row:S,column:x+1})}else if(Q==="deleteColumn"&&t.alignments.length>1){for(let v of t.rows)v.splice(x,1);t.alignments.splice(x,1),f({row:S,column:Math.min(x,t.alignments.length-1)})}};return t.rows.forEach((Q,S)=>{let x=document.createElement("tr");c.appendChild(x),Q.forEach((v,$)=>{let R=document.createElement(S===0?"th":"td"),_=document.createElement("div");if(_.className="cm-md-table-cell",_.contentEditable="plaintext-only",_.spellcheck=!0,xh(_,v),_.dataset.tableRow=String(S),_.dataset.tableColumn=String($),S===0){let W=`Column ${$+1}`;_.dataset.placeholder=W;let T=()=>{(_.innerText||"").trim()?_.removeAttribute("aria-label"):_.setAttribute("aria-label",W)};T(),_.addEventListener("input",T)}t.alignments[$]!=="none"&&(_.style.textAlign=t.alignments[$]),_.addEventListener("focus",()=>{O(),(_.textContent!==t.rows[S][$]||_.childElementCount)&&(_.textContent=t.rows[S][$]),_.dataset.tableEditing="true",Ze.set(e,{tableFrom:this.from,row:S,column:$,element:_,anchor:0,head:0}),r={row:S,column:$,element:_}}),_.addEventListener("contextmenu",W=>{W.preventDefault(),_.focus(),r={row:S,column:$,element:_};let T=String(BP++);Lr={token:T,perform:k=>g(k,S,$)},window.__mdRequestTableContextMenu?.({token:T,canInsertRowAbove:S>0,canDuplicateRow:S>0,canDeleteRow:S>0,canDeleteColumn:t.alignments.length>1,showsDuplicateRow:!0})}),_.addEventListener("blur",()=>{if(zn(e),!r||r.element!==_)return;let W=_.innerText||"",T=W!==t.rows[S][$];t.rows[S][$]=W,r=null,delete _.dataset.tableEditing,xh(_,t.rows[S][$]),T&&f()}),_.addEventListener("keydown",W=>{if((W.metaKey||W.ctrlKey)&&["b","i"].includes(W.key.toLowerCase())){W.preventDefault();let C=vo(e);At(W.key.toLowerCase()==="b"?"**":"*")(e),C&&$o(e,C);return}if(W.key==="Escape"){W.preventDefault(),r=null,_.blur(),delete _.dataset.tableEditing,xh(_,t.rows[S][$]),Ze.delete(e),e.focus();return}if(W.key!=="Tab"&&W.key!=="Enter")return;W.preventDefault(),t.rows[S][$]=_.innerText||"";let T=W.key==="Tab"&&W.shiftKey,k=S,w=$+(T?-1:1);w<0?(k--,w=t.alignments.length-1):w>=t.alignments.length&&(k++,w=0),k<0?(k=0,w=0):k>=t.rows.length&&t.rows.push(Array(t.alignments.length).fill("")),f({row:k,column:w})}),R.appendChild(_),x.appendChild(R)})}),n.addEventListener("mousedown",Q=>{if(Q.button!==0)return;let S=Q.target.closest?.(".cm-md-table-cell");if(!S)return;let x=Number(S.dataset.tableRow),v=Number(S.dataset.tableColumn);if(!Number.isInteger(x)||x<0||!Number.isInteger(v))return;Q.stopPropagation();let $=null;if(S.dataset.tableEditing!=="true"&&Q.detail===1&&!Q.shiftKey&&!Q.metaKey&&!Q.ctrlKey&&!Q.altKey&&S.textContent!==t.rows[x][v]){let T=document.caretRangeFromPoint?.(Q.clientX,Q.clientY),k=T&&Kg.get(T.startContainer);k!=null&&S.contains(T.startContainer)&&($=k+T.startOffset,Q.preventDefault())}S.focus({preventScroll:!0});let R=T=>{let k=S.firstChild;k&&window.getSelection()?.setBaseAndExtent(k,$,k,T)};$!=null&&R($),o={cell:S,row:x,column:v,head:S,active:!1,dragged:!1};let _=T=>{document.removeEventListener("mousemove",W,!0),document.removeEventListener("mouseup",_,!0),o?.active?(T.preventDefault(),window.getSelection()?.removeAllRanges(),a=!0):zn(e),o=null},W=T=>{if(!o)return;let w=document.elementFromPoint?.(T.clientX,T.clientY)?.closest?.(".cm-md-table-cell")||T.target.closest?.(".cm-md-table-cell");if(!(!w||!n.contains(w))){if(w===o.cell&&!o.active){if($!=null&&(T.preventDefault(),o.dragged||=Math.hypot(T.clientX-Q.clientX,T.clientY-Q.clientY)>3,o.dragged)){let C=document.caretRangeFromPoint?.(T.clientX,T.clientY);C?.startContainer===S.firstChild&&R(C.startOffset)}return}w!==o.head&&(T.preventDefault(),o.active=!0,o.head=w,b(o.row,o.column,Number(w.dataset.tableRow),Number(w.dataset.tableColumn)))}};document.addEventListener("mousemove",W,!0),document.addEventListener("mouseup",_,!0)},!0),n.addEventListener("click",Q=>{a&&(a=!1,Q.preventDefault(),Q.stopPropagation())},!0),n.addEventListener("keydown",Q=>{if(!s)return;if(Q.key==="Escape"){Q.preventDefault(),O(),e.focus();return}if(Q.key!=="Backspace"&&Q.key!=="Delete")return;if(s.kind==="range"){Q.preventDefault();return}Q.preventDefault();let S=s;O(),g(S.kind==="row"?"deleteRow":"deleteColumn",S.row,S.column)}),n}ignoreEvent(){return!0}},Ao=te.define();function wh(i,e,t,n=0){let r=[];if(e){let o=new RegExp(e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),"giu"),a=i.toString();for(let l of a.matchAll(o)){let c=l.index;(!t||c===0||!/[A-Za-z0-9_]/.test(a[c-1]))&&r.push({from:c,to:c+l[0].length})}}n=r.length?Math.min(Math.max(n,0),r.length-1):-1;let s=A.set(r.map((o,a)=>A.mark({class:a===n?"cm-find-match cm-find-current":"cm-find-match"}).range(o.from,o.to)));return{query:e,beginsWith:t,matches:r,index:n,decorations:s}}var Pi=he.define({create:i=>wh(i.doc,"",!1),update(i,e){for(let t of e.effects)if(t.is(Ao)){let{query:n,beginsWith:r,index:s}=t.value;return wh(e.state.doc,n,r,s)}return e.docChanged?wh(e.state.doc,i.query,i.beginsWith,i.index):i},provide:i=>z.decorations.from(i,e=>e.decorations)});function Xo(i,e,t){let n=i.field(Pi),r=n.matches[n.index];return!!r&&r.frome}var FP=z.baseTheme({".cm-find-match":{backgroundColor:"#ffe58a",color:"#201800",borderRadius:"2px"},".cm-find-current":{backgroundColor:"#ffad33",outline:"1px solid #9b5700"}});function Ag(i){let e=[];return(zs(i,i.doc.length,80)||U(i)).iterate({enter(n){if(n.name!=="Table")return;if(Xo(i,n.from,n.to))return!1;let r=i.doc.sliceString(n.from,n.to);if(Lh(r))return e.push(A.replace({block:!0,widget:new Rh(r,n.from)}).range(n.from,n.to)),!1}}),A.set(e,!0)}var HP=he.define({create:Ag,update:(i,e)=>e.docChanged||e.effects.some(t=>t.is(Ao))?Ag(e.state):i,provide:i=>z.decorations.from(i)}),_o=class extends ve{constructor(e,t){super(),this.from=e,this.checked=t}eq(e){return this.from===e.from&&this.checked===e.checked}toDOM(e){let t=document.createElement("span");t.className="cm-md-task-marker";let n=document.createElement("input");return n.type="checkbox",n.checked=this.checked,n.setAttribute("aria-label",this.checked?"Mark task incomplete":"Mark task complete"),n.addEventListener("mousedown",r=>{r.preventDefault(),r.stopPropagation()}),n.addEventListener("change",()=>{e.dispatch({changes:{from:this.from,to:this.from+1,insert:n.checked?"x":" "},userEvent:"input"}),e.focus()}),t.append(n),t}ignoreEvent(){return!0}},KP=Vc({nonTightLists:!1});function JP(i){return i.state.selection.ranges.every(e=>e.empty&&/^[ \t]*(?:>[ \t]*)*[-+*][ \t]+\[[ xX]\](?:[ \t]|$)/.test(i.state.doc.lineAt(e.head).text))?KP({state:i.state,dispatch:e=>{let t=e.state,n=t.changeByRange(r=>{let s=t.doc.lineAt(r.head);return r.empty&&s.text===""&&s.number>1&&t.doc.line(s.number-1).text.trim()!==""?{changes:{from:r.head,insert:t.lineBreak},range:P.cursor(r.head+t.lineBreak.length)}:{range:r}});i.dispatch([e,t.update(n,{userEvent:"input",scrollIntoView:!0})])}}):!1}var Ue=A.replace({}),Zg=A.replace({widget:new Mr("\u2022","cm-md-bullet")}),Eg=A.mark({class:"cm-md-bullet-source"}),qg=new Map,ev=i=>{let e=qg.get(i);return e||(e=A.replace({widget:new Mr(i,"cm-md-ordered")}),qg.set(i,e)),e},tv=A.mark({class:"cm-md-ordered-source"}),iv=A.replace({widget:new Ch}),nv=A.line({class:"cm-md-rule-line"}),Zn=/^([ \t]*)([-+*]|\d+[.)])([ \t]+|$)/,rv=A.replace({widget:new Mr(" ","cm-md-join")}),Ah={},sv=i=>A.line({class:"cm-md-h"+i});for(let i=1;i<=6;i++)Ah[i]=sv(i);var ov=A.line({class:"cm-md-heading-inactive"}),zg=A.line({class:"cm-md-heading-after-blank"}),av=A.line({class:"cm-md-image-line"}),Lg=A.line({class:"cm-md-line-collapsed"}),pt={line:22.8,blankGap:4,paragraph:12,quote:18,alert:24,table:24,hr:12},lv=new Set(["Paragraph","FencedCode","CodeBlock","Blockquote","BulletList","OrderedList","Table","HorizontalRule","HTMLBlock"]),Mg=new Map,Ph=i=>{let e=Mg.get(i);return e||(e=A.line({class:"cm-md-block-separator",attributes:{style:`height:${i}px;min-height:0;line-height:${i}px;overflow:hidden;`}}),Mg.set(i,e)),e},Wg=new Map,cv=i=>{let e=Wg.get(i);return e||(e=A.line({class:"cm-md-block-gap",attributes:{style:`padding-bottom:${i}px;--cm-md-block-gap:${i}px;`}}),Wg.set(i,e)),e},jg=new Map,hv=(i,e,t,n)=>{let r=`${i}:${e}:${t}:${n}`,s=jg.get(r);if(!s){let o=[],a=[];for(let l=0;lli.create({tagName:"div",attributes:{class:`cm-md-code-card${s?" cm-md-code-card-wrapped":""}`}}).range(n,r)),!0)}var mv=A.line({class:"cm-md-table"}),Yg=A.line({class:"cm-md-list-item-gap"}),xo=A.line({class:"cm-md-list-item"}),Ig=new Map,vh=i=>{let e=Ig.get(i);return e||(e=A.line({class:`cm-md-list-depth-${i}`,attributes:{style:`padding-inline-start:${i*2.1}em;text-indent:-2.1em;`}}),Ig.set(i,e)),e},gv=A.mark({class:"cm-md-fence-info"}),Qv=A.mark({class:"cm-md-code-fence-source-hidden"}),bv=A.mark({class:"cm-md-heading-source-hidden"}),Sv=A.mark({class:"cm-md-heading-prefix"}),yv=A.mark({class:"cm-md-heading-marker"}),kv=A.line({class:"cm-md-setext-marker-line"}),xv=A.mark({class:"cm-md-setext-source"}),wv=A.mark({class:"cm-md-link"}),Pv=A.mark({class:"cm-md-url"}),vv=A.mark({class:"cm-md-strong"}),$v=A.mark({class:"cm-md-emphasis"}),Tv=A.mark({class:"cm-md-strikethrough"}),Cv=A.mark({class:"cm-md-highlight"}),Xv=A.line({class:"cm-md-frontmatter"}),_v=A.line({class:"cm-md-frontmatter-first"}),Rv=A.line({class:"cm-md-frontmatter-last"}),Av=A.mark({class:"cm-md-frontmatter-delim"}),Zv=A.line({attributes:{dir:"auto"}});function Bg(i){let e=[];for(let t=1;t<=i.doc.lines;t++)e.push(Zv.range(i.doc.line(t).from));return A.set(e)}var Ev=he.define({create:Bg,update(i,e){return e.docChanged?Bg(e.state):i},provide:i=>z.decorations.from(i)});function Ro(i,e){let t="",n=null,r=[];for(let g=e.node.firstChild;g;g=g.nextSibling)g.name==="CodeInfo"&&(n=g,t=i.doc.sliceString(g.from,g.to)),g.name==="CodeMark"&&r.push(g);let s=t.trim().split(/\s+/,1)[0].toLowerCase(),o=i.doc.lineAt(e.from),a=r[0],l=o.to1&&(c=i.doc.lineAt(r[r.length-1].from).from);let h=i.sliceDoc(o.from,e.from),f=/^ {0,3}$/.test(h)?h.length:0,u=e.node.getChildren("CodeText"),O=u.map((g,Q)=>{let S=Q?i.doc.lineAt(g.from).number-i.doc.lineAt(u[Q-1].to).number:0;return` +`.repeat(S)+i.sliceDoc(g.from,g.to)}).join("").replace(new RegExp("^ {0,"+f+"}","gm"),""),p=s?"":WP(O),m=n?.from??a?.to??o.to,b=n?.to??m;return{explicitLanguage:s,language:s||p,detectedLanguage:p,metadata:t.trim().split(/\s+/).slice(1).join(" "),rawInfo:t,infoFrom:m,infoTo:b,sourceFrom:l,source:O}}function To(i,e){let t=U(i).resolve(e,-1);for(;t;){if(t.name==="FencedCode")return{from:t.from,to:t.to,closed:t.node.lastChild?.name==="CodeMark"};t=t.parent}return null}var Zh=te.define(),vt=he.define({create:()=>null,update(i,e){if(e.docChanged)return null;for(let t of e.effects)if(t.is(Zh))return t.value;return i?.activateOnSelection&&e.isUserEvent("select.pointer")?{selection:e.state.selection.main,focused:!0,fence:e.state.field(en),activateOnSelection:!1}:i}}),qv=Ve.fromClass(class{constructor(i){this.view=i,this.releaseTimer=null,this.down=e=>{e.button!==0||e.target.closest("input, textarea, button, select, .cm-md-table-cell")||(clearTimeout(this.releaseTimer),!i.state.field(vt)&&i.dispatch({effects:Zh.of({selection:i.state.selection.main,focused:i.hasFocus,fence:i.state.field(en),activateOnSelection:e.detail===1&&!e.shiftKey&&!e.metaKey&&!e.ctrlKey&&!e.altKey})}))},this.finish=()=>{i.state.field(vt)&&(clearTimeout(this.releaseTimer),this.releaseTimer=setTimeout(()=>this.release(),0))},this.release=()=>{clearTimeout(this.releaseTimer),i.state.field(vt)&&i.dispatch({effects:Zh.of(null)})},this.move=e=>{e.buttons===0&&this.finish()},i.contentDOM.addEventListener("mousedown",this.down,!0),i.contentDOM.addEventListener("keydown",this.release,!0),i.dom.ownerDocument.addEventListener("mouseup",this.finish),i.dom.ownerDocument.addEventListener("mousemove",this.move),i.dom.ownerDocument.addEventListener("dragend",this.finish),i.win.addEventListener("blur",this.finish)}destroy(){clearTimeout(this.releaseTimer);let i=this.view;i.contentDOM.removeEventListener("mousedown",this.down,!0),i.contentDOM.removeEventListener("keydown",this.release,!0),i.dom.ownerDocument.removeEventListener("mouseup",this.finish),i.dom.ownerDocument.removeEventListener("mousemove",this.move),i.dom.ownerDocument.removeEventListener("dragend",this.finish),i.win.removeEventListener("blur",this.finish)}}),zv=z.mouseSelectionStyle.of((i,e)=>{if(e.button!==0||e.detail!==1||e.shiftKey||e.metaKey||e.ctrlKey||e.altKey)return null;let t=i.posAtCoords({x:e.clientX,y:e.clientY});if(t==null)return null;let n=!1;return{update(r){t=r.changes.mapPos(t)},get(r){n||=Math.hypot(r.clientX-e.clientX,r.clientY-e.clientY)>3;let s=n?i.posAtCoords({x:r.clientX,y:r.clientY},!1)??t:t;return P.single(t,s)}}}),en=he.define({create:()=>null,update(i,e){i&&e.docChanged&&(i={from:e.changes.mapPos(i.from,1),to:e.changes.mapPos(i.to,-1)});let t=e.state.selection.main;if(!t.empty)return null;let n=t.head;return e.isUserEvent("select.pointer")||!i&&e.docChanged&&e.isUserEvent("input")?To(e.state,n):!i||ni.to?null:e.docChanged&&To(e.state,n)||i}});function wo(i){let e=[],t=i.field(en);return(zs(i,i.doc.length,80)||U(i)).iterate({enter(r){if(r.name!=="FencedCode")return;let s=Ro(i,r),o=t!=null&&r.from<=t.from&&r.to>=t.to;if(s.language==="mermaid"&&!o&&!Xo(i,r.from,r.to))return e.push(A.replace({block:!0,widget:new Xh(s.source)}).range(r.from,r.to)),!1}}),A.set(e,!0)}var Lv=he.define({create:i=>wo(i),update:(i,e)=>{if(e.state.field(vt))return e.startState.field(vt)?.activateOnSelection&&!e.state.field(vt).activateOnSelection?wo(e.state):i;if(e.startState.field(vt))return wo(e.state);let t=e.startState.field(en),n=e.state.field(en),r=t?.from!==n?.from||t?.to!==n?.to,s=!1;return e.docChanged&&e.changes.iterChanges((o,a,l,c,h)=>{if(s)return;let u=e.startState.doc.sliceString(o,a)+h.toString();s=/[`~]|mermaid/i.test(u)}),r||s||e.effects.some(o=>o.is(Ao))||e.docChanged&&e.state.field(Pi).query?wo(e.state):e.docChanged?i.map(e.changes):i},provide:i=>z.decorations.from(i)});function Mv(i,e){let t=e.get(i.sourceFrom);if(t?.language===i.detectedLanguage&&t.source===i.source)return t.tokens;let n=[],r=Ie.matchLanguageName(Fg,i.detectedLanguage,!1)?.support?.language;return r&&Rs(r.parser.parse(i.source),e0,(s,o,a)=>{n.push({from:s,to:o,mark:A.mark({class:a})})}),e.set(i.sourceFrom,{language:i.detectedLanguage,source:i.source,tokens:n}),n}function Ug(i,e){let t=[],{state:n}=i,r=n.field(vt),s=r?.selection??n.selection.main,o=r?r.fence:n.field(en),l=(r?r.focused:i.hasFocus)&&(s.empty||i.compositionStarted)?s.head:null,c=(k,w)=>Xo(n,k,w)||l!=null&&l>=k&&l<=w,h=k=>{let w=n.doc.lineAt(k);return c(w.from,w.to)},f=k=>Xo(n,k.from,k.to)||o!=null&&k.from<=o.from&&k.to>=o.to,u=new Set,O=new Set,p=(k,w)=>{let C=n.doc.lineAt(k),j=w.spec.class+"@"+C.from;u.has(j)||(u.add(j),t.push(w.range(C.from)))},m=(k,w,C)=>{let j=k;for(;j<=w;){let y=n.doc.lineAt(j);if(p(y.from,C),y.to>=w)break;j=y.to+1}},b=k=>{let w=0;for(let C of k)w=C===" "?w+(4-w%4):w+1;return w},g=(k,w)=>{let C=w[1],j=w[2],y=w[3],q=k.from+C.length,de=q+j.length,Zt=Math.floor(b(C)/4)+1;if(p(k.from,xo),p(k.from,vh(Zt)),O.add(k.from),k.number>1&&Zn.test(n.doc.line(k.number-1).text)&&p(k.from,Yg),C.length>0&&t.push(Ue.range(k.from,q)),/^[-+*]$/.test(j)&&/^\s*\[[ xX]\](\s|$)/.test(k.text.slice(de-k.from))){let G=k.text.slice(de-k.from).match(/^[ \t]*\[([ xX])\][ \t]?/);G[1]!==" "&&p(k.from,Vg);let N=de+G[0].indexOf("[");t.push(A.replace({widget:new _o(N+1,G[1]!==" ")}).range(q,de+G[0].length))}else/^[-+*]$/.test(j)&&(h(q)?(t.push(Eg.range(q,de)),y.length>0&&t.push(Ue.range(de,de+y.length))):t.push(Zg.range(q,de+y.length)))},Q=k=>{let w=n.doc.lineAt(k),C=w.number,j=Math.max(C-64,1);for(;C>j&&n.doc.line(C-1).text.length===0;)C--;return{line:w,first:C,count:w.number-C}},S=k=>{switch(k.name){case"Blockquote":{let w=n.doc.lineAt(k.from);return/^ {0,3}> ?\[!(note|tip|important|warning|caution)\]/i.test(w.text)?pt.alert:pt.quote}case"Table":return pt.table;case"HorizontalRule":return pt.hr;case"FencedCode":return Ro(n,k).language==="mermaid"?pt.table:pt.paragraph;default:return pt.paragraph}},x=-1,v=k=>{let w=n.doc.lineAt(k.from);w.number===1||w.from<=x||Q(k.from).count===0&&p(n.doc.line(w.number-1).from,cv(S(k)))},$=k=>{let w=Q(k.from);if(w.count===0)return;let C=n.doc.line(w.line.number-1);if(w.first===1){p(C.from,Ph(pt.blankGap+S(k)));return}let j=S(k),y=pt.blankGap+j;p(C.from,Ph(y))},R=0,_=[],W=[],T=new Map;for(let{from:k,to:w}of i.visibleRanges){let C=null;U(n).iterate({from:k,to:w,enter:y=>{R++;let q=y.name;if(R===2&&q==="Document"&&(C=R),C!=null&&R===C+1&&lv.has(q)&&($(y),v(y)),q==="Frontmatter"){let X=y.to>y.from&&n.doc.lineAt(y.to).from===y.to?y.to-1:y.to;x=X,m(y.from,X,Xv),p(y.from,_v),p(n.doc.lineAt(X).from,Rv);return}if(q==="DashLine"){t.push(Av.range(y.from,y.to));return}let de=q.match(/^ATXHeading(\d)$/);if(de){p(y.from,Ah[+de[1]]),Q(y.from).count>0&&p(y.from,zg),h(y.from)||p(y.from,ov);return}let Zt=q.match(/^SetextHeading(\d)$/);if(Zt){p(y.from,Ah[+Zt[1]]),Q(y.from).count>0&&p(y.from,zg);return}if(q==="HeaderMark"){let X=y.node.parent;if(X&&/^ATXHeading/.test(X.name)){t.push(yv.range(y.from,y.to));let G=n.doc.sliceString(y.to,y.to+1),N=y.to+(G===" "?1:0),B=y.from===X.from,re=n.doc.lineAt(y.from),ne=B&&/^ {0,3}$/.test(n.doc.sliceString(re.from,y.from))?re.from:y.from;B&&t.push(Sv.range(ne,N)),h(y.from)||t.push(bv.range(ne,N))}else X&&/^SetextHeading/.test(X.name)&&(p(y.from,kv),t.push(xv.range(y.from,y.to)));return}if(q==="Blockquote"){W.push(y.from);let X=n.doc.lineAt(y.from),G=y.node.parent?.name==="Blockquote",N=y.node.prevSibling;for(;N?.name==="QuoteMark";)N=N.prevSibling;let B=G&&N?pt.quote:0,re=y.from;for(;re<=y.to;){let ne=n.doc.lineAt(re),ye=T.get(ne.from)||{depth:0,starts:0,ends:0,gap:0};if(ye.depth=Math.max(ye.depth,W.length),ne.from===X.from&&(ye.starts++,ye.gap+=B),ne.to>=y.to&&ye.ends++,T.set(ne.from,ye),ne.to>=y.to)break;re=ne.to+1}return}if(q==="QuoteMark"){if(!h(y.from)){let X=n.doc.sliceString(y.to,y.to+1);t.push(Ue.range(y.from,y.to+(X===" "?1:0)))}return}if(q==="Paragraph"&&/^(Blockquote|ListItem)$/.test(y.node.parent?.name||"")){let X=n.doc.lineAt(y.from);if(X.number>n.doc.lineAt(y.node.parent.from).number){let G=n.doc.line(X.number-1);/^(?:[ >]*)$/.test(G.text)&&p(G.from,Ph(pt.paragraph))}}if(q==="Escape"&&!c(y.from,y.to)){t.push(Ue.range(y.from,y.from+1));return}if(q==="StrongEmphasis"){t.push(vv.range(y.from,y.to));return}if(q==="Emphasis"){t.push($v.range(y.from,y.to));return}if(q==="Strikethrough"){t.push(Tv.range(y.from,y.to));return}if(q==="Highlight"){let X=[];for(let B=y.node.firstChild;B;B=B.nextSibling)B.name==="HighlightMark"&&X.push(B);let G=X.length?X[0].to:y.from,N=X.length>1?X[X.length-1].from:y.to;G1?X[X.length-1].from:y.to;G")?G.slice(1,-1):G;if(!N||N.startsWith("//"))return!1;let B=y.from+2;for(let ne=y.node.firstChild;ne;ne=ne.nextSibling)if(ne.name==="LinkMark"&&n.doc.sliceString(ne.from,ne.to)==="]"){B=ne.from;break}let re=n.doc.sliceString(y.from+2,B);if(!c(y.from,y.to)){let ne=n.doc.lineAt(y.from);ne.text.trim()===n.doc.sliceString(y.from,y.to)&&p(ne.from,av),t.push(A.replace({widget:new Th(N,re,n.doc.sliceString(y.from,y.to),y.from,y.to)}).range(y.from,y.to))}return!1}if(q==="Link"){y.node.getChild("URL")&&t.push(wv.range(y.from,y.to));return}if(q==="LinkMark"){let X=y.node.parent;X&&X.name==="Link"&&X.getChild("URL")&&!c(X.from,X.to)&&t.push(Ue.range(y.from,y.to));return}if(q==="URL"){let X=y.node.parent;X&&X.name==="Link"&&(c(X.from,X.to)?t.push(Pv.range(y.from,y.to)):t.push(Ue.range(y.from,y.to)));return}if(q==="BulletList"||q==="OrderedList"){_.push(y.from);return}if(q==="ListItem"){let X=y.from===_[_.length-1],G=_.length>1,N=n.doc.lineAt(y.from),B=N.number>1&&n.doc.line(N.number-1).text.trim()==="";(!X||G)&&!B&&p(y.from,Yg),m(y.from,y.to,xo),/^[-+*][ \t]+\[[xX]\](?:[ \t]|$)/.test(n.doc.sliceString(y.from,N.to))&&m(y.from,y.to,Vg),p(y.from,vh(_.length)),O.add(n.doc.lineAt(y.from).from);{let ni=n.doc.lineAt(y.from).to+1;for(;ni<=y.to;){let tt=n.doc.lineAt(ni),F=tt.text;if(F.length>0&&!Zn.test(F)){p(tt.from,fv),p(tt.from,vh(_.length));let qt=F.match(/^[ \t]+/);qt&&t.push(Ue.range(tt.from,tt.from+qt[0].length))}if(tt.to>=y.to)break;ni=tt.to+1}}let re=n.doc.lineAt(y.from),ye=re.text.match(Zn)?.[1]??"";ye.length>0&&t.push(Ue.range(re.from,re.from+ye.length));return}if(q==="ListMark"){let X=n.doc.sliceString(y.from,y.to),G=n.doc.lineAt(y.from),N=/^\s*\[[ xX]\](\s|$)/.test(G.text.slice(y.to-G.from));if(N&&/^[-+*]$/.test(X)){let B=G.text.slice(y.to-G.from).match(/^[ \t]*\[([ xX])\][ \t]?/),re=y.to+B[0].indexOf("[");t.push(A.replace({widget:new _o(re+1,B[1]!==" ")}).range(y.from,y.to+B[0].length))}else if((X==="-"||X==="*"||X==="+")&&!N){let B=n.doc.sliceString(y.to,y.to+1);h(y.from)?(t.push(Eg.range(y.from,y.to)),B===" "&&t.push(Ue.range(y.to,y.to+1))):t.push(Zg.range(y.from,y.to+(B===" "?1:0)))}else if(/^\d+[.)]$/.test(X)&&!N){let B=n.doc.sliceString(y.to,y.to+1);h(y.from)?(t.push(tv.range(y.from,y.to)),B===" "&&t.push(Ue.range(y.to,y.to+1))):t.push(ev(X).range(y.from,y.to+(B===" "?1:0)))}return}if(q==="FencedCode"||q==="CodeBlock"){let X=n.doc.lineAt(y.from),G=n.doc.lineAt(y.to),N=q==="FencedCode"&&y.node.lastChild?.name==="CodeMark",B=G.number-X.number>=(N?2:1),re=q==="FencedCode"&&!h(X.from),ne=N&&!h(G.from),ye=re&&B?n.doc.line(X.number+1):X,Et=B?ye:X,ni=!B&&q==="FencedCode"?X:ne?n.doc.line(G.number-1):G;if(q==="FencedCode"){let F=Ro(n,y);if(F.detectedLanguage)for(let qt of Mv(F,e))t.push(qt.mark.range(F.sourceFrom+qt.from,F.sourceFrom+qt.to));t.push(A.widget({widget:new Co({wrapped:n.field(En).has(X.from),fenceFrom:y.from,language:F.language,detectedLanguage:F.detectedLanguage,rawInfo:F.rawInfo,infoFrom:F.infoFrom,infoTo:F.infoTo}),side:-1}).range(Et.from))}else t.push(A.widget({widget:new Co({fenceFrom:X.from,language:"text",rawInfo:"",plain:!0,wrapped:n.field(En).has(X.from)}),side:-1}).range(Et.from));let tt=y.from;for(;tt<=y.to;){let F=n.doc.lineAt(tt),qt=q==="CodeBlock"&&u.has(`${xo.spec.class}@${F.from}`)?F.text.match(Zn):null;if(qt){if(g(F,qt),F.to>=y.to)break;tt=F.to+1;continue}let Vh=q==="FencedCode"&&F.from===Et.from;if((re&&F.from===X.from||ne&&F.from===G.from)&&!Vh)p(F.from,Lg);else if(q==="FencedCode"&&!B&&F.from!==X.from&&!Vh)p(F.from,Lg);else{let Ln=F.from===ye.from,Dh=F.from===ni.from;Ln&&p(F.from,Ov),Dh&&p(F.from,dv),!Ln&&!Dh&&p(F.from,uv),t.push(A.line({attributes:{"data-code-scroll-group":String(X.from),class:n.field(En).has(X.from)?"cm-md-code-wrapped":""}}).range(F.from)),F.length&&t.push(pv.range(F.from,F.to))}if(q==="CodeBlock"&&!h(F.from)){let Ln=F.text.match(/^(?: {4}|\t)/)?.[0];Ln&&t.push(Ue.range(F.from,F.from+Ln.length))}if(F.to>=y.to)break;tt=F.to+1}return}if(q==="CodeInfo"){let X=y.node.parent;if(!X)return;h(X.from)&&t.push(gv.range(y.from,y.to));return}if(q==="Table"){m(y.from,y.to,mv);return}if(q==="HorizontalRule"){h(y.from)||(p(y.from,nv),t.push(iv.range(y.from,y.to)));return}},leave:y=>{R--;let q=y.name;(q==="BulletList"||q==="OrderedList")&&_.pop(),q==="Blockquote"&&W.pop()}});for(let[y,q]of T)p(y,hv(q.depth,q.starts,q.ends,q.gap));T.clear();let j=k;for(;j<=w;){let y=n.doc.lineAt(j);if(u.has(`${xo.spec.class}@${y.from}`)&&!O.has(y.from)){let de=y.text.match(Zn);de&&g(y,de)}if(y.to>=w)break;j=y.to+1}}return A.set(t,!0)}function Eh(i){let e=i.selection.main,t=new Set,n=0;for(let r=U(i).resolveInner(e.from,1);r;r=r.parent){if(r.toi.decorations,provide:i=>z.blockWrappers.of(e=>e.plugin(i)?.codeWrappers??li.set([]))}),jv=Ve.fromClass(class{constructor(i){this.schedule(i)}update(i){(i.docChanged||i.selectionSet||i.viewportChanged||i.geometryChanged||i.focusChanged)&&this.schedule(i.view)}docViewUpdate(i){this.schedule(i)}schedule(i){i.requestMeasure({key:this,read(e){return Array.from(e.dom.querySelectorAll(".cm-md-heading-prefix")).map(t=>{let n=t.closest(".cm-line");return n?{line:n,width:t.getBoundingClientRect().width}:null}).filter(Boolean)},write(e){for(let{line:t,width:n}of e){let r=`${n}px`;t.style.getPropertyValue("--cm-md-heading-prefix-width")!==r&&t.style.setProperty("--cm-md-heading-prefix-width",r)}}})}});function Gg(i){let e=[],t=i.selection.main,n=(s,o)=>t.from<=o&&t.to>=s;return(zs(i,i.doc.length,80)||U(i)).iterate({enter:s=>{let o=s.name;if(o==="FencedCode"||o==="CodeBlock"||o==="HTMLBlock")return!1;if(o!=="Paragraph")return;if(n(s.from,s.to))return!1;let a=i.doc.lineAt(s.from);for(;a.toGg(i),update:(i,e)=>e.docChanged||e.selection?Gg(e.state):i,provide:i=>z.decorations.from(i)}),e0=yn.define([{tag:[d.keyword,d.modifier,d.operatorKeyword,d.controlKeyword,d.definitionKeyword,d.moduleKeyword],class:"hl-keyword"},{tag:[d.string,d.special(d.string),d.regexp],class:"hl-string"},{tag:[d.comment,d.blockComment,d.lineComment],class:"hl-comment"},{tag:[d.number,d.integer,d.float,d.character],class:"hl-number"},{tag:[d.bool,d.atom,d.null],class:"hl-keyword"},{tag:[d.typeName,d.namespace],class:"hl-type"},{tag:[d.className,d.definition(d.typeName)],class:"hl-declaration"},{tag:[d.function(d.variableName),d.function(d.propertyName),d.macroName],class:"hl-function"},{tag:[d.propertyName,d.labelName],class:"hl-property"},{tag:d.attributeName,class:"hl-attribute"},{tag:[d.standard(d.variableName),d.standard(d.typeName)],class:"hl-builtin"},{tag:[d.meta,d.processingInstruction],class:"hl-meta"},{tag:[d.punctuation,d.operator],class:"hl-plain"}]);function At(i){return e=>{let t=e.state.changeByRange(n=>{let{from:r,to:s}=n;for(;rr&&/\s/.test(e.state.sliceDoc(s-1,s));)s--;let o=i.length,a=e.state.sliceDoc(Math.max(0,r-o),r),l=e.state.sliceDoc(s,s+o);if(a===i&&l===i)return{changes:[{from:r-o,to:r,insert:""},{from:s,to:s+o,insert:""}],range:P.range(r-o,s-o)};let c=e.state.sliceDoc(r,s);return c.startsWith(i)&&c.endsWith(i)&&c.length>=o*2?{changes:{from:r,to:s,insert:c.slice(o,c.length-o)},range:P.range(r,s-o*2)}:{changes:{from:r,to:s,insert:i+c+i},range:P.range(r+o,s+o)}});return e.dispatch(t,{scrollIntoView:!0,userEvent:"input"}),!0}}function jh(i,e){let t=i.selection.main,n=i.doc.lineAt(t.from).number,r=i.doc.lineAt(t.to).number,s=[];for(let o=n;o<=r;o++)s.push(i.doc.line(o));return e(s)}function $h(i,e){return t=>{let n=jh(t.state,r=>{let s=r.every(o=>e.test(o.text));return r.map(o=>{if(s){let a=o.text.match(e);return{from:o.from,to:o.from+a[0].length,insert:""}}return e.test(o.text)?null:{from:o.from,insert:i}}).filter(Boolean)});return n.length&&Wr(t,n),!0}}function Wr(i,e){let t=i.state.changes(e),n=i.state.selection.main;i.dispatch({changes:e,selection:P.range(t.mapPos(n.anchor,1),t.mapPos(n.head,1)),userEvent:"input"})}function Vv(i){let e=/^\d+\.\s/,t=jh(i.state,n=>{let r=n.every(o=>e.test(o.text)),s=1;return n.map(o=>{if(r){let a=o.text.match(e);return{from:o.from,to:o.from+a[0].length,insert:""}}return e.test(o.text)?null:{from:o.from,insert:`${s++}. `}}).filter(Boolean)});return t.length&&Wr(i,t),!0}function qh(i){let e=i.selection.main,t=i.doc.lineAt(e.from).number,n=i.doc.lineAt(e.empty?e.to:e.to-1).number;return Array.from({length:n-t+1},(r,s)=>i.doc.line(t+s))}function t0(i){let e=/^([ \t]*(?:>[ \t]*)*)(?:([-+*]|\d+[.)])([ \t]+)(\[[ xX]\][ \t]+)?)?/.exec(i);return{prefix:e[0],indent:e[1],style:e[2]?e[4]?"task":/^\d/.test(e[2])?"ordered":"bullet":"none"}}function qn(i,e,t){for(let n=U(i).resolve(e,1);n;n=n.parent)if(t.includes(n.name))return n;return null}function i0(i){return qh(i).filter(e=>!/^[ \t>]*$/.test(e.text)&&!qn(i,e.from+e.text.search(/\S/),["FencedCode","CodeBlock"]))}function Dv(i,e){if(!["none","bullet","ordered","task"].includes(e))return!1;let t=i0(i.state).map((n,r)=>{let s=t0(n.text);if(s.style===e)return null;let o=e==="none"?"":e==="bullet"?"- ":e==="task"?"- [ ] ":`${r+1}. `;return{from:n.from,to:n.from+s.prefix.length,insert:s.indent+o}}).filter(Boolean);return t.length&&Wr(i,t),i.focus(),!0}function Ji(i){return e=>{let t=jh(e.state,n=>n.map(r=>{let s=r.text.match(/^(#{1,6})\s+/),a=(s?s[1].length:0)===i||i===0?"":"#".repeat(i)+" ";return{from:r.from,to:r.from+(s?s[0].length:0),insert:a}}));return e.dispatch({changes:t,userEvent:"input"}),!0}}function n0(i){let e={InlineCode:"code",FencedCode:"fenced",CodeBlock:"plain",Blockquote:"quote",Table:"table"};for(let t=U(i).resolve(i.selection.main.head,i.selection.main.empty?1:-1);t;t=t.parent)if(e[t.name])return{style:e[t.name],node:t};return{style:"none",node:null}}function Yv(i,e,t=""){if(!["none","quote","code","plain","fenced","table"].includes(e))return!1;let n=i.state,r=n.selection.main,s=n0(n),o=s.node&&r.from>=s.node.from&&r.to<=s.node.to;if(e==="code"&&(!o||s.style==="code"))return s.style!=="code"&&At("`")(i),i.focus(),!0;if(e==="table"){let p=qn(n,r.to,["FencedCode"]),m=p?p.to:n.doc.lineAt(r.to).to,g=(p&&p.lastChild?.name!=="CodeMark"?` `+n.sliceDoc(p.firstChild.from,p.firstChild.to):"")+` | Column 1 | Column 2 | @@ -49,4 +49,4 @@ `),O=4),e==="fenced"){let p=h.match(/`+/g)||[],m="`".repeat(Math.max(3,...p.map(Q=>Q.length+1))),b=String(t).replace(/[^\w+-]/g,""),g=m+b+` `;u=g+h+` `+m,O=g.length}return e==="plain"&&l>0&&n.doc.lineAt(l-1).text.trim()&&(u=` -`+u,O++),i.dispatch({changes:{from:l,to:c,insert:u},selection:{anchor:l+O},userEvent:"input"}),i.focus(),!0}function Yv(i){let e=i.state.selection.main,t=i.state.sliceDoc(e.from,e.to)||"text",n=`[${t}](url)`,r=e.from+t.length+3;return i.dispatch({changes:{from:e.from,to:e.to,insert:n},selection:P.range(r,r+3),userEvent:"input",scrollIntoView:!0}),!0}var Gg=_e.define();function Iv(i,e){let t=U(i).resolve(e,-1);for(;t;){if(t.name==="FencedCode")return t.from;t=t.parent}return null}var Bv=se.transactionFilter.of(i=>{if(!i.docChanged||!i.isUserEvent("input")||i.annotation(Gg))return i;let e=i.newSelection.main;if(!e.empty)return i;let t=i.newDoc.lineAt(e.head),n=e.head-t.from;if(t.text.slice(0,n)!=="```"||t.text.slice(n)!=="")return i;let r=!1,s=null;if(i.changes.iterChanges((l,c,h,f,u)=>{if(r||h>e.head||f=t.from+3,r&&(s=l)}),!r)return i;let o=i.startState.doc.lineAt(s),a=Iv(i.startState,s);return a!=null&&at.number&&(n=i.state.doc.line(n.number-1)),e.empty){let o=To(i.state,e.head);if(o){let a=i.state.doc.lineAt(o.from),l=i.state.doc.lineAt(o.to);if(t.number>a.number&&(!o.closed||t.numbera)return zl(i)}return!0}let s=[];for(let o=t.number;o<=n.number;o++)s.push({from:i.state.doc.line(o).from,insert:" "});return Wr(i,s),!0}window.MDEditor={create(i,e,t){let n=t&&t.onDirty,r=t&&t.onPasteImage;Object.assign(pt,t&&t.spacing||{});let s=new z({parent:i,state:se.create({doc:e,extensions:[vO(),Pi,NP,Lu(),z.lineWrapping,z.perLineTextDirection.of(!0),Rt.of(" "),Zv,xm({content:Yc({base:ki,codeLanguages:Ng,extensions:zh})}),en,En,vt,Ev,qv,zv,FP,GP,hO({style:Jg.style,scope:m=>m.prop(bt)!==ki.data}),nt.lowest(Mv),Wv,Bv,hd(),nt.highest(fi.of([{key:"Enter",run:KP}])),fi.of([{key:"Mod-b",run:At("**")},{key:"Mod-i",run:At("*")},{key:"Tab",run:Uv,shift:ql},...Od,...Dc,...nd,...XO]),z.updateListener.of(m=>{if(t?.onFormattingChange&&(m.selectionSet||m.docChanged||m.focusChanged||U(m.startState)!==U(m.state))&&(Ze.has(s)?zn(s):t.onFormattingChange(Eh(m.state))),m.docChanged&&t?.onSearchChange){let b=m.state.field(Pi);t.onSearchChange({index:b.index+1,total:b.matches.length})}m.docChanged&&n&&!m.transactions.some(b=>b.isUserEvent("rename"))&&n()}),z.domEventHandlers({paste(m,b){if(m.target instanceof Element&&m.target.closest(".cm-md-table-cell")||!Array.from(m.clipboardData?.items||[]).some(S=>String(S.type||"").toLowerCase().startsWith("image/"))||typeof r!="function")return!1;m.preventDefault();let Q=b.state.selection.main;return r(Q.from,Q.to),!0}})]})}),o=!!(t&&t.pageScrolling),a=o?document.scrollingElement:s.scrollDOM,l=o?window:a,c=null,h=0,f=null,u=()=>s.documentTop+a.scrollTop-(o?0:a.getBoundingClientRect().top),O=m=>{let b=s.lineBlockAt(m),g=0,Q=0;try{let S=s.domAtPos(m).node,x=S.nodeType===Node.ELEMENT_NODE?S:S.parentElement,v=x&&x.closest(".cm-line");if(v){let $=getComputedStyle(v);g=parseFloat($.paddingTop)||0,Q=parseFloat($.paddingBottom)||0}}catch{}return{top:b.top+g,height:Math.max(b.height-g-Q,1),sourceStart:s.state.doc.lineAt(b.from).number,sourceEnd:s.state.doc.lineAt(b.to).number+1}},p={bold:At("**"),italic:At("*"),strikethrough:At("~~"),highlight:At("=="),code:At("`"),h0:Ji(0),h1:Ji(1),h2:Ji(2),h3:Ji(3),h4:Ji(4),h5:Ji(5),h6:Ji(6),quote:$h("> ",/^>\s?/),bulletList:$h("- ",/^\s*[-*+]\s/),orderedList:jv,taskList:$h("- [ ] ",/^\s*[-*+]\s+\[[ xX]\]\s/),link:Yv};return t?.onCopyCode&&Fg.set(s,t.onCopyCode),t?.onFormattingChange&&Wh.set(s,t.onFormattingChange),t?.onFormattingChange?.(Eh(s.state)),{getMarkdown:()=>s.state.doc.toString(),getBlockStyle:()=>Ze.has(s)?"table":i0(s.state).style,setBlockStyle:(m,b)=>{if(Ze.has(s)){if(m!=="code")return!1;let g=vo(s);return g?(At("`")(s),$o(s,g),!0):!1}return Dv(s,m,b)},getListStyle:()=>{if(Ze.has(s))return"none";let m=t0(s.state).map(b=>e0(b.text).style);return m.length?m.every(b=>b===m[0])?m[0]:"mixed":"none"},setListStyle:m=>!Ze.has(s)&&Vv(s,m),getLinkSelection:(m=!1)=>{vo(s);let{from:b,to:g}=s.state.selection.main,Q=qn(s.state,b,["Link"]);if(m&&Q&&g<=Q.to){let S=Q.getChildren("LinkMark");return{from:Q.from,to:Q.to,text:s.state.sliceDoc(S[0].to,S[1].from)}}return{from:b,to:g,text:s.state.sliceDoc(b,g)}},insertLinkFromPopover:(m,b,g,Q)=>{let S=String(b).trim();if(!S||/[\r\n]/.test(S)||g<0||Qs.state.doc.length)return!1;let x=qn(s.state,g,["Link"]);if(x&&(g>x.from||Qg?qn(s.state,Q-1,["Link"]):null;if(v&&(g>v.from||Q\\()]/g,k=>/[()]/.test(k)?"%"+k.charCodeAt(0).toString(16).toUpperCase():encodeURIComponent(k)),_=Ze.get(s),W=`[${$}](${R})`,T=_?Mh(W):W;return s.dispatch({changes:{from:g,to:Q,insert:T},selection:{anchor:g+T.length},userEvent:"input"}),_?$o(s,_):s.focus(),!0},getHeadingLevel:()=>{if(Ze.has(s))return 0;for(let m=U(s.state).resolveInner(s.state.selection.main.head,1);m;m=m.parent){let b=/^(?:ATX|Setext)Heading([1-6])$/.exec(m.name);if(b)return Number(b[1])}return 0},find:(m,b=!1,g=!1)=>{let Q=s.state.field(Pi),S=Q.query===m&&Q.beginsWith===g,x=0;S&&Q.matches.length?x=(Q.index+(b?-1:1)+Q.matches.length)%Q.matches.length:b&&(x=Number.MAX_SAFE_INTEGER),s.dispatch({effects:Ao.of({query:m,beginsWith:g,index:x})});let v=s.state.field(Pi),$=v.matches[v.index];return $&&(c=null,didUserScroll=!0,s.dispatch({effects:z.scrollIntoView($.from,{y:"center"})})),{index:v.index+1,total:v.matches.length}},isSyntaxReady:()=>nO(s.state,s.state.doc.length),replaceMarkdown:m=>{let b=String(m||""),g=b.length,Q=s.state.selection.main,S=Math.min(Q.anchor,g),x=Math.min(Q.head,g),v=a.scrollTop;s.dispatch({changes:{from:0,to:s.state.doc.length,insert:b},selection:{anchor:S,head:x},userEvent:"rename",annotations:pe.addToHistory.of(!1)}),requestAnimationFrame(()=>{a.scrollTop=v,s.requestMeasure()})},insertTextAt:(m,b,g)=>{let Q=s.state.doc.length,S=Math.max(0,Math.min(Number(b)||0,Q)),x=Math.max(S,Math.min(Number(g)||S,Q));s.dispatch({changes:{from:S,to:x,insert:String(m||"")},selection:{anchor:S+String(m||"").length},userEvent:"input",scrollIntoView:!0}),s.focus()},focus:()=>s.focus(),getScrollAnchor:()=>{if(Number.isFinite(c)&&Math.abs(a.scrollTop-f)<=.5)return{position:c,gap:h||0};let m=a.scrollTop-u(),b=s.lineBlockAtHeight(m),g=s.state.doc.lineAt(b.from),Q=O(g.from),S=Q.height>0?Math.min(Math.max((m-Q.top)/Q.height,0),1):0,x=Math.max(Q.top-m,0);return{position:Q.sourceStart+S*(Q.sourceEnd-Q.sourceStart),gap:x}},setScrollPosition:(m,b,g)=>new Promise(Q=>{let x=Math.max(a.scrollHeight-a.clientHeight,0)*Math.min(Math.max(Number(m)||0,0),1),v=null,$=Number.isFinite(g)?Math.max(g,0):0;if(Number.isFinite(b)&&b>=1){let R=Math.min(Math.floor(b),s.state.doc.lines);if(v=s.state.doc.line(R).from,v!=null){let _=O(v),W=(b-_.sourceStart)/(_.sourceEnd-_.sourceStart);x=u()+_.top+_.height*W-$,s.dispatch({effects:z.scrollIntoView(v,{y:"start"})})}}requestAnimationFrame(()=>{let R=Math.max(a.scrollHeight-a.clientHeight,0);if(v!=null){let _=O(v),W=(b-_.sourceStart)/(_.sourceEnd-_.sourceStart);x=u()+_.top+_.height*W-$}else x=R*Math.min(Math.max(Number(m)||0,0),1);a.scrollTop=Math.min(Math.max(x,0),R),l.dispatchEvent(new Event("scroll")),s.requestMeasure(),requestAnimationFrame(()=>{c=Number.isFinite(b)?b:null,h=Number.isFinite(b)?$:0,f=a.scrollTop,Q(!0)})})}),select:(m,b=m)=>{Ze.delete(s),s.dispatch({selection:{anchor:m,head:b},userEvent:"select.pointer"})},insert:m=>{let b=s.state.selection.main;s.state.facet(z.inputHandler).some(Q=>Q(s,b.from,b.to,m))||s.dispatch({changes:{from:b.from,to:b.to,insert:m},selection:{anchor:b.from+m.length},userEvent:"input"})},exec:m=>{let b=p[m];if(!b)return!1;if(Ze.has(s)){if(!UP.has(m))return!1;let g=vo(s);return g?(b(s),$o(s,g),!0):!1}return b(s),s.focus(),!0},performTableContextAction:(m,b)=>{if(!Lr||Lr.token!==m)return!1;let g=Lr;return Lr=null,g.perform(b),!0},destroy:()=>{s.destroy()}}}};})(); +`+u,O++),i.dispatch({changes:{from:l,to:c,insert:u},selection:{anchor:l+O},userEvent:"input"}),i.focus(),!0}function Iv(i){let e=i.state.selection.main,t=i.state.sliceDoc(e.from,e.to)||"text",n=`[${t}](url)`,r=e.from+t.length+3;return i.dispatch({changes:{from:e.from,to:e.to,insert:n},selection:P.range(r,r+3),userEvent:"input",scrollIntoView:!0}),!0}var Ng=_e.define();function Bv(i,e){let t=U(i).resolve(e,-1);for(;t;){if(t.name==="FencedCode")return t.from;t=t.parent}return null}var Uv=se.transactionFilter.of(i=>{if(!i.docChanged||!i.isUserEvent("input")||i.annotation(Ng))return i;let e=i.newSelection.main;if(!e.empty)return i;let t=i.newDoc.lineAt(e.head),n=e.head-t.from;if(t.text.slice(0,n)!=="```"||t.text.slice(n)!=="")return i;let r=!1,s=null;if(i.changes.iterChanges((l,c,h,f,u)=>{if(r||h>e.head||f=t.from+3,r&&(s=l)}),!r)return i;let o=i.startState.doc.lineAt(s),a=Bv(i.startState,s);return a!=null&&at.number&&(n=i.state.doc.line(n.number-1)),e.empty){let o=To(i.state,e.head);if(o){let a=i.state.doc.lineAt(o.from),l=i.state.doc.lineAt(o.to);if(t.number>a.number&&(!o.closed||t.numbera)return zl(i)}return!0}let s=[];for(let o=t.number;o<=n.number;o++)s.push({from:i.state.doc.line(o).from,insert:" "});return Wr(i,s),!0}window.MDEditor={create(i,e,t){let n=t&&t.onDirty,r=t&&t.onPasteImage;Object.assign(pt,t&&t.spacing||{});let s=new z({parent:i,state:se.create({doc:e,extensions:[vO(),Pi,FP,Lu(),z.lineWrapping,z.perLineTextDirection.of(!0),Rt.of(" "),Ev,xm({content:Yc({base:ki,codeLanguages:Fg,extensions:zh})}),en,En,vt,qv,zv,Lv,HP,NP,hO({style:e0.style,scope:m=>m.prop(bt)!==ki.data}),nt.lowest(Wv),jv,Uv,hd(),nt.highest(fi.of([{key:"Enter",run:JP}])),fi.of([{key:"Mod-b",run:At("**")},{key:"Mod-i",run:At("*")},{key:"Tab",run:Gv,shift:ql},...Od,...Dc,...nd,...XO]),z.updateListener.of(m=>{if(t?.onFormattingChange&&(m.selectionSet||m.docChanged||m.focusChanged||U(m.startState)!==U(m.state))&&(Ze.has(s)?zn(s):t.onFormattingChange(Eh(m.state))),m.docChanged&&t?.onSearchChange){let b=m.state.field(Pi);t.onSearchChange({index:b.index+1,total:b.matches.length})}m.docChanged&&n&&!m.transactions.some(b=>b.isUserEvent("rename"))&&n()}),z.domEventHandlers({paste(m,b){if(m.target instanceof Element&&m.target.closest(".cm-md-table-cell")||!Array.from(m.clipboardData?.items||[]).some(S=>String(S.type||"").toLowerCase().startsWith("image/"))||typeof r!="function")return!1;m.preventDefault();let Q=b.state.selection.main;return r(Q.from,Q.to),!0}})]})}),o=!!(t&&t.pageScrolling),a=o?document.scrollingElement:s.scrollDOM,l=o?window:a,c=null,h=0,f=null,u=()=>s.documentTop+a.scrollTop-(o?0:a.getBoundingClientRect().top),O=m=>{let b=s.lineBlockAt(m),g=0,Q=0;try{let S=s.domAtPos(m).node,x=S.nodeType===Node.ELEMENT_NODE?S:S.parentElement,v=x&&x.closest(".cm-line");if(v){let $=getComputedStyle(v);g=parseFloat($.paddingTop)||0,Q=parseFloat($.paddingBottom)||0}}catch{}return{top:b.top+g,height:Math.max(b.height-g-Q,1),sourceStart:s.state.doc.lineAt(b.from).number,sourceEnd:s.state.doc.lineAt(b.to).number+1}},p={bold:At("**"),italic:At("*"),strikethrough:At("~~"),highlight:At("=="),code:At("`"),h0:Ji(0),h1:Ji(1),h2:Ji(2),h3:Ji(3),h4:Ji(4),h5:Ji(5),h6:Ji(6),quote:$h("> ",/^>\s?/),bulletList:$h("- ",/^\s*[-*+]\s/),orderedList:Vv,taskList:$h("- [ ] ",/^\s*[-*+]\s+\[[ xX]\]\s/),link:Iv};return t?.onCopyCode&&Hg.set(s,t.onCopyCode),t?.onFormattingChange&&Wh.set(s,t.onFormattingChange),t?.onFormattingChange?.(Eh(s.state)),{getMarkdown:()=>s.state.doc.toString(),getBlockStyle:()=>Ze.has(s)?"table":n0(s.state).style,setBlockStyle:(m,b)=>{if(Ze.has(s)){if(m!=="code")return!1;let g=vo(s);return g?(At("`")(s),$o(s,g),!0):!1}return Yv(s,m,b)},getListStyle:()=>{if(Ze.has(s))return"none";let m=i0(s.state).map(b=>t0(b.text).style);return m.length?m.every(b=>b===m[0])?m[0]:"mixed":"none"},setListStyle:m=>!Ze.has(s)&&Dv(s,m),getLinkSelection:(m=!1)=>{vo(s);let{from:b,to:g}=s.state.selection.main,Q=qn(s.state,b,["Link"]);if(m&&Q&&g<=Q.to){let S=Q.getChildren("LinkMark");return{from:Q.from,to:Q.to,text:s.state.sliceDoc(S[0].to,S[1].from)}}return{from:b,to:g,text:s.state.sliceDoc(b,g)}},insertLinkFromPopover:(m,b,g,Q)=>{let S=String(b).trim();if(!S||/[\r\n]/.test(S)||g<0||Qs.state.doc.length)return!1;let x=qn(s.state,g,["Link"]);if(x&&(g>x.from||Qg?qn(s.state,Q-1,["Link"]):null;if(v&&(g>v.from||Q\\()]/g,k=>/[()]/.test(k)?"%"+k.charCodeAt(0).toString(16).toUpperCase():encodeURIComponent(k)),_=Ze.get(s),W=`[${$}](${R})`,T=_?Mh(W):W;return s.dispatch({changes:{from:g,to:Q,insert:T},selection:{anchor:g+T.length},userEvent:"input"}),_?$o(s,_):s.focus(),!0},getHeadingLevel:()=>{if(Ze.has(s))return 0;for(let m=U(s.state).resolveInner(s.state.selection.main.head,1);m;m=m.parent){let b=/^(?:ATX|Setext)Heading([1-6])$/.exec(m.name);if(b)return Number(b[1])}return 0},find:(m,b=!1,g=!1)=>{let Q=s.state.field(Pi),S=Q.query===m&&Q.beginsWith===g,x=0;S&&Q.matches.length?x=(Q.index+(b?-1:1)+Q.matches.length)%Q.matches.length:b&&(x=Number.MAX_SAFE_INTEGER),s.dispatch({effects:Ao.of({query:m,beginsWith:g,index:x})});let v=s.state.field(Pi),$=v.matches[v.index];return $&&(c=null,didUserScroll=!0,s.dispatch({effects:z.scrollIntoView($.from,{y:"center"})})),{index:v.index+1,total:v.matches.length}},isSyntaxReady:()=>nO(s.state,s.state.doc.length),replaceMarkdown:m=>{let b=String(m||""),g=b.length,Q=s.state.selection.main,S=Math.min(Q.anchor,g),x=Math.min(Q.head,g),v=a.scrollTop;s.dispatch({changes:{from:0,to:s.state.doc.length,insert:b},selection:{anchor:S,head:x},userEvent:"rename",annotations:pe.addToHistory.of(!1)}),requestAnimationFrame(()=>{a.scrollTop=v,s.requestMeasure()})},insertTextAt:(m,b,g)=>{let Q=s.state.doc.length,S=Math.max(0,Math.min(Number(b)||0,Q)),x=Math.max(S,Math.min(Number(g)||S,Q));s.dispatch({changes:{from:S,to:x,insert:String(m||"")},selection:{anchor:S+String(m||"").length},userEvent:"input",scrollIntoView:!0}),s.focus()},focus:()=>s.focus(),getScrollAnchor:()=>{if(Number.isFinite(c)&&Math.abs(a.scrollTop-f)<=.5)return{position:c,gap:h||0};let m=a.scrollTop-u(),b=s.lineBlockAtHeight(m),g=s.state.doc.lineAt(b.from),Q=O(g.from),S=Q.height>0?Math.min(Math.max((m-Q.top)/Q.height,0),1):0,x=Math.max(Q.top-m,0);return{position:Q.sourceStart+S*(Q.sourceEnd-Q.sourceStart),gap:x}},setScrollPosition:(m,b,g)=>new Promise(Q=>{let x=Math.max(a.scrollHeight-a.clientHeight,0)*Math.min(Math.max(Number(m)||0,0),1),v=null,$=Number.isFinite(g)?Math.max(g,0):0;if(Number.isFinite(b)&&b>=1){let R=Math.min(Math.floor(b),s.state.doc.lines);if(v=s.state.doc.line(R).from,v!=null){let _=O(v),W=(b-_.sourceStart)/(_.sourceEnd-_.sourceStart);x=u()+_.top+_.height*W-$,s.dispatch({effects:z.scrollIntoView(v,{y:"start"})})}}requestAnimationFrame(()=>{let R=Math.max(a.scrollHeight-a.clientHeight,0);if(v!=null){let _=O(v),W=(b-_.sourceStart)/(_.sourceEnd-_.sourceStart);x=u()+_.top+_.height*W-$}else x=R*Math.min(Math.max(Number(m)||0,0),1);a.scrollTop=Math.min(Math.max(x,0),R),l.dispatchEvent(new Event("scroll")),s.requestMeasure(),requestAnimationFrame(()=>{c=Number.isFinite(b)?b:null,h=Number.isFinite(b)?$:0,f=a.scrollTop,Q(!0)})})}),select:(m,b=m)=>{Ze.delete(s),s.dispatch({selection:{anchor:m,head:b},userEvent:"select.pointer"})},insert:m=>{let b=s.state.selection.main;s.state.facet(z.inputHandler).some(Q=>Q(s,b.from,b.to,m))||s.dispatch({changes:{from:b.from,to:b.to,insert:m},selection:{anchor:b.from+m.length},userEvent:"input"})},exec:m=>{let b=p[m];if(!b)return!1;if(Ze.has(s)){if(!GP.has(m))return!1;let g=vo(s);return g?(b(s),$o(s,g),!0):!1}return b(s),s.focus(),!0},performTableContextAction:(m,b)=>{if(!Lr||Lr.token!==m)return!1;let g=Lr;return Lr=null,g.perform(b),!0},destroy:()=>{s.destroy()}}}};})(); diff --git a/scripts/editor-bundle/entry-cm.js b/scripts/editor-bundle/entry-cm.js index ea7246ec..2efa3f4e 100644 --- a/scripts/editor-bundle/entry-cm.js +++ b/scripts/editor-bundle/entry-cm.js @@ -1375,6 +1375,7 @@ const quoteLine = (depth, starts, ends, gap) => { // hanging indent, and the source indentation is hidden like a nested // marker's. const listContinuationLine = Decoration.line({ class: "cm-md-list-continuation" }) +const completedTaskLine = Decoration.line({ class: "cm-md-task-completed" }) const codeLine = Decoration.line({ class: "cm-md-codeblock" }) const codeLineFirst = Decoration.line({ class: "cm-md-codeblock cm-md-codeblock-first" }) const codeLineLast = Decoration.line({ class: "cm-md-codeblock cm-md-codeblock-last" }) @@ -1795,6 +1796,7 @@ function buildDecorations(view, detectedCodeCache) { && /^\s*\[[ xX]\](\s|$)/.test(line.text.slice(markerTo - line.from)) if (isTask) { const task = line.text.slice(markerTo - line.from).match(/^[ \t]*\[([ xX])\][ \t]?/) + if (task[1] !== ' ') lineOnce(line.from, completedTaskLine) const bracket = markerTo + task[0].indexOf('[') ranges.push(Decoration.replace({ widget: new TaskCheckboxWidget(bracket + 1, task[1] !== ' ') }) .range(markerFrom, markerTo + task[0].length)) @@ -2175,6 +2177,9 @@ function buildDecorations(view, detectedCodeCache) { && state.doc.line(itemLine.number - 1).text.trim() === "" if ((!isFirstItem || isNested) && !hasBlankBefore) lineOnce(node.from, listItemGapLine) eachLine(node.from, node.to, listItemLine) + if (/^[-+*][ \t]+\[[xX]\](?:[ \t]|$)/.test(state.doc.sliceString(node.from, itemLine.to))) { + eachLine(node.from, node.to, completedTaskLine) + } lineOnce(node.from, listDepthLine(listStack.length)) listDepthPositions.add(state.doc.lineAt(node.from).from) // Continuation lines of this item (not nested markers, not blank) diff --git a/tests/swift-tests/Tests/MarkdownHelpersTests/EditorFormattingTests.swift b/tests/swift-tests/Tests/MarkdownHelpersTests/EditorFormattingTests.swift index 94f2ae7b..fc92b057 100644 --- a/tests/swift-tests/Tests/MarkdownHelpersTests/EditorFormattingTests.swift +++ b/tests/swift-tests/Tests/MarkdownHelpersTests/EditorFormattingTests.swift @@ -232,6 +232,32 @@ final class EditorFormattingTests: XCTestCase { XCTAssertEqual(result?["caret"] as? Int, source.utf16.count) } + func testCompletedTaskStyleTracksCheckboxToggles() async throws { + let script = try TestVendor.script("md-preview/Vendor/CodeMirror/mdedit.min.js") + let source = "- [x] Done **bold**\n continuation\n- [ ] Pending" + let editor = WebViewLayoutHarness(html: EditorHTML.render(markdown: source, editorJavaScript: script), + width: 650, isEditor: true, height: 400) + defer { editor.close() } + _ = try await editor.layout(texts: [], imageCount: 0) + let result = try await editor.webView.evaluateJavaScript(""" + (() => { + const lines = () => [...document.querySelectorAll('.cm-line')]; + const struck = line => getComputedStyle(line).textDecorationLine.includes('line-through'); + const initial = struck(lines()[0]) && struck(lines()[1]) && !struck(lines()[2]); + const muted = getComputedStyle(lines()[0]).color !== getComputedStyle(lines()[2]).color; + document.querySelector('.cm-md-task-marker input').click(); + const cleared = !struck(lines()[0]) && !struck(lines()[1]); + document.querySelector('.cm-md-task-marker input').click(); + return {initial, muted, cleared, restored: struck(lines()[0]), + source: window.__mdEditor.getMarkdown()}; + })() + """) as? [String: Any] + for key in ["initial", "muted", "cleared", "restored"] { + XCTAssertEqual(result?[key] as? Bool, true, key) + } + XCTAssertEqual(result?["source"] as? String, source) + } + func testTypedTaskCheckboxContinuesAndExitsOnEmptyItem() async throws { let script = try TestVendor.script("md-preview/Vendor/CodeMirror/mdedit.min.js") let editor = WebViewLayoutHarness(html: EditorHTML.render(markdown: "", editorJavaScript: script), From 43227a87078d0436d8fe731322d94db650fdf5a7 Mon Sep 17 00:00:00 2001 From: Fauzaan Date: Mon, 28 Sep 2026 12:08:06 +0000 Subject: [PATCH 05/16] Tighten checkbox label spacing in Edit Mode --- md-preview/Features/Editor/EditorHTML.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/md-preview/Features/Editor/EditorHTML.swift b/md-preview/Features/Editor/EditorHTML.swift index 69257c0a..c7708016 100644 --- a/md-preview/Features/Editor/EditorHTML.swift +++ b/md-preview/Features/Editor/EditorHTML.swift @@ -292,7 +292,7 @@ nonisolated enum EditorHTML { width: 2.1em; text-indent: 0; text-align: end; - padding-inline-end: 0.6em; + padding-inline-end: 0.3em; box-sizing: border-box; } .cm-md-task-marker input { From c9f21bd226e0d831a4d06d9bd76f0ed6e002542b Mon Sep 17 00:00:00 2001 From: Fauzaan Date: Mon, 28 Sep 2026 12:12:42 +0000 Subject: [PATCH 06/16] Match checkbox geometry between Read and Edit modes --- md-preview/Features/Editor/EditorHTML.swift | 12 +++--- md-preview/Vendor/CodeMirror/mdedit.min.js | 40 +++++++++---------- scripts/editor-bundle/entry-cm.js | 5 ++- .../EditorScrollAnchorTests.swift | 37 +++++++++++++++++ 4 files changed, 67 insertions(+), 27 deletions(-) diff --git a/md-preview/Features/Editor/EditorHTML.swift b/md-preview/Features/Editor/EditorHTML.swift index c7708016..41afb7e0 100644 --- a/md-preview/Features/Editor/EditorHTML.swift +++ b/md-preview/Features/Editor/EditorHTML.swift @@ -287,13 +287,11 @@ nonisolated enum EditorHTML { color: var(--secondary); text-decoration: line-through; } + #editor .cm-md-task-line { + text-indent: 0 !important; + } .cm-md-task-marker { - display: inline-block; - width: 2.1em; - text-indent: 0; - text-align: end; - padding-inline-end: 0.3em; - box-sizing: border-box; + display: inline; } .cm-md-task-marker input { appearance: none; @@ -302,6 +300,8 @@ nonisolated enum EditorHTML { width: 0.9em; height: 0.9em; margin: 0; + margin-inline-start: calc(-0.9em - 0.75em); + margin-inline-end: 0.75em; vertical-align: calc(0.5cap - 0.45em); border: 1.5px solid var(--grid); border-radius: 25%; diff --git a/md-preview/Vendor/CodeMirror/mdedit.min.js b/md-preview/Vendor/CodeMirror/mdedit.min.js index 1dc3225c..b5ec68b4 100644 --- a/md-preview/Vendor/CodeMirror/mdedit.min.js +++ b/md-preview/Vendor/CodeMirror/mdedit.min.js @@ -1,20 +1,20 @@ -(()=>{var Eo=[],Uh=[];(()=>{let i="lc,34,7n,7,7b,19,,,,2,,2,,,20,b,1c,l,g,,2t,7,2,6,2,2,,4,z,,u,r,2j,b,1m,9,9,,o,4,,9,,3,,5,17,3,3b,f,,w,1j,,,,4,8,4,,3,7,a,2,t,,1m,,,,2,4,8,,9,,a,2,q,,2,2,1l,,4,2,4,2,2,3,3,,u,2,3,,b,2,1l,,4,5,,2,4,,k,2,m,6,,,1m,,,2,,4,8,,7,3,a,2,u,,1n,,,,c,,9,,14,,3,,1l,3,5,3,,4,7,2,b,2,t,,1m,,2,,2,,3,,5,2,7,2,b,2,s,2,1l,2,,,2,4,8,,9,,a,2,t,,20,,4,,2,3,,,8,,29,,2,7,c,8,2q,,2,9,b,6,22,2,r,,,,,,1j,e,,5,,2,5,b,,10,9,,2u,4,,6,,2,2,2,p,2,4,3,g,4,d,,2,2,6,,f,,jj,3,qa,3,t,3,t,2,u,2,1s,2,,7,8,,2,b,9,,19,3,3b,2,y,,3a,3,4,2,9,,6,3,63,2,2,,1m,,,7,,,,,2,8,6,a,2,,1c,h,1r,4,1c,7,,,5,,14,9,c,2,w,4,2,2,,3,1k,,,2,3,,,3,1m,8,2,2,48,3,,d,,7,4,,6,,3,2,5i,1m,,5,ek,,5f,x,2da,3,3x,,2o,w,fe,6,2x,2,n9w,4,,a,w,2,28,2,7k,,3,,4,,p,2,5,,47,2,q,i,d,,12,8,p,b,1a,3,1c,,2,4,2,2,13,,1v,6,2,2,2,2,c,,8,,1b,,1f,,,3,2,2,5,2,,,16,2,8,,6m,,2,,4,,fn4,,kh,g,g,g,a6,2,gt,,6a,,45,5,1ae,3,,2,5,4,14,3,4,,4l,2,fx,4,ar,2,49,b,4w,,1i,f,1k,3,1d,4,2,2,1x,3,10,5,,8,1q,,c,2,1g,9,a,4,2,,2n,3,2,,,2,6,,4g,,3,8,l,2,1l,2,,,,,m,,e,7,3,5,5f,8,2,3,,,n,,29,,2,6,,,2,,,2,,2,6j,,2,4,6,2,,2,r,2,2d,8,2,,,2,2y,,,,2,6,,,2t,3,2,4,,5,77,9,,2,6t,,a,2,,,4,,40,4,2,2,4,,w,a,14,6,2,4,8,,9,6,2,3,1a,d,,2,ba,7,,6,,,2a,m,2,7,,2,,2,3e,6,3,,,2,,7,,,20,2,3,,,,9n,2,f0b,5,1n,7,t4,,1r,4,29,,f5k,2,43q,,,3,4,5,8,8,2,7,u,4,44,3,1iz,1j,4,1e,8,,e,,m,5,,f,11s,7,,h,2,7,,2,,5,79,7,c5,4,15s,7,31,7,240,5,gx7k,2o,3k,6o".split(",").map(e=>e?parseInt(e,36):1);for(let e=0,t=0;e>1;if(i=Uh[n])e=n+1;else return!0;if(e==t)return!1}}function Yh(i){return i>=127462&&i<=127487}var Ih=8205;function Gh(i,e,t=!0,n=!0){return(t?Nh:s0)(i,e,n)}function Nh(i,e,t){if(e==i.length)return e;e&&Fh(i.charCodeAt(e))&&Hh(i.charCodeAt(e-1))&&e--;let n=Zo(i,e);for(e+=Bh(n);e=0&&Yh(Zo(i,o));)s++,o-=2;if(s%2==0)break;e+=2}else break}return e}function s0(i,e,t){for(;e>1;){let n=Nh(i,e-2,t);if(n=56320&&i<57344}function Hh(i){return i>=55296&&i<56320}function Bh(i){return i<65536?1:2}var K=class i{lineAt(e){if(e<0||e>this.length)throw new RangeError(`Invalid position ${e} in document of length ${this.length}`);return this.lineInner(e,!1,1,0)}line(e){if(e<1||e>this.lines)throw new RangeError(`Invalid line number ${e} in ${this.lines}-line document`);return this.lineInner(e,!0,1,0)}replace(e,t,n){[e,t]=sn(this,e,t);let r=[];return this.decompose(0,e,r,2),n.length&&n.decompose(0,n.length,r,3),this.decompose(t,this.length,r,1),tn.from(r,this.length-(t-e)+n.length)}append(e){return this.replace(this.length,this.length,e)}slice(e,t=this.length){[e,t]=sn(this,e,t);let n=[];return this.decompose(e,t,n,0),tn.from(n,t-e)}eq(e){if(e==this)return!0;if(e.length!=this.length||e.lines!=this.lines)return!1;let t=this.scanIdentical(e,1),n=this.length-this.scanIdentical(e,-1),r=new Ci(this),s=new Ci(e);for(let o=t,a=t;;){if(r.next(o),s.next(o),o=0,r.lineBreak!=s.lineBreak||r.done!=s.done||r.value!=s.value)return!1;if(a+=r.value.length,r.done||a>=n)return!0}}iter(e=1){return new Ci(this,e)}iterRange(e,t=this.length){return new Ir(this,e,t)}iterLines(e,t){let n;if(e==null)n=this.iter();else{t==null&&(t=this.lines+1);let r=this.line(e).from;n=this.iterRange(r,Math.max(r,t==this.lines+1?this.length:t<=1?0:this.line(t-1).to))}return new Br(n)}toString(){return this.sliceString(0)}toJSON(){let e=[];return this.flatten(e),e}constructor(){}static of(e){if(e.length==0)throw new RangeError("A document must have at least one line");return e.length==1&&!e[0]?i.empty:e.length<=32?new Ge(e):tn.from(Ge.split(e,[]))}},Ge=class i extends K{constructor(e,t=o0(e)){super(),this.text=e,this.length=t}get lines(){return this.text.length}get children(){return null}lineInner(e,t,n,r){for(let s=0;;s++){let o=this.text[s],a=r+o.length;if((t?n:a)>=e)return new zo(r,a,n,o);r=a+1,n++}}decompose(e,t,n,r){let s=e<=0&&t>=this.length?this:new i(Kh(this.text,e,t),Math.min(t,this.length)-Math.max(0,e));if(r&1){let o=n.pop(),a=Yr(s.text,o.text.slice(),0,s.length);if(a.length<=32)n.push(new i(a,o.length+s.length));else{let l=a.length>>1;n.push(new i(a.slice(0,l)),new i(a.slice(l)))}}else n.push(s)}replace(e,t,n){if(!(n instanceof i))return super.replace(e,t,n);[e,t]=sn(this,e,t);let r=Yr(this.text,Yr(n.text,Kh(this.text,0,e)),t),s=this.length+n.length-(t-e);return r.length<=32?new i(r,s):tn.from(i.split(r,[]),s)}sliceString(e,t=this.length,n=` +(()=>{var Eo=[],Uh=[];(()=>{let i="lc,34,7n,7,7b,19,,,,2,,2,,,20,b,1c,l,g,,2t,7,2,6,2,2,,4,z,,u,r,2j,b,1m,9,9,,o,4,,9,,3,,5,17,3,3b,f,,w,1j,,,,4,8,4,,3,7,a,2,t,,1m,,,,2,4,8,,9,,a,2,q,,2,2,1l,,4,2,4,2,2,3,3,,u,2,3,,b,2,1l,,4,5,,2,4,,k,2,m,6,,,1m,,,2,,4,8,,7,3,a,2,u,,1n,,,,c,,9,,14,,3,,1l,3,5,3,,4,7,2,b,2,t,,1m,,2,,2,,3,,5,2,7,2,b,2,s,2,1l,2,,,2,4,8,,9,,a,2,t,,20,,4,,2,3,,,8,,29,,2,7,c,8,2q,,2,9,b,6,22,2,r,,,,,,1j,e,,5,,2,5,b,,10,9,,2u,4,,6,,2,2,2,p,2,4,3,g,4,d,,2,2,6,,f,,jj,3,qa,3,t,3,t,2,u,2,1s,2,,7,8,,2,b,9,,19,3,3b,2,y,,3a,3,4,2,9,,6,3,63,2,2,,1m,,,7,,,,,2,8,6,a,2,,1c,h,1r,4,1c,7,,,5,,14,9,c,2,w,4,2,2,,3,1k,,,2,3,,,3,1m,8,2,2,48,3,,d,,7,4,,6,,3,2,5i,1m,,5,ek,,5f,x,2da,3,3x,,2o,w,fe,6,2x,2,n9w,4,,a,w,2,28,2,7k,,3,,4,,p,2,5,,47,2,q,i,d,,12,8,p,b,1a,3,1c,,2,4,2,2,13,,1v,6,2,2,2,2,c,,8,,1b,,1f,,,3,2,2,5,2,,,16,2,8,,6m,,2,,4,,fn4,,kh,g,g,g,a6,2,gt,,6a,,45,5,1ae,3,,2,5,4,14,3,4,,4l,2,fx,4,ar,2,49,b,4w,,1i,f,1k,3,1d,4,2,2,1x,3,10,5,,8,1q,,c,2,1g,9,a,4,2,,2n,3,2,,,2,6,,4g,,3,8,l,2,1l,2,,,,,m,,e,7,3,5,5f,8,2,3,,,n,,29,,2,6,,,2,,,2,,2,6j,,2,4,6,2,,2,r,2,2d,8,2,,,2,2y,,,,2,6,,,2t,3,2,4,,5,77,9,,2,6t,,a,2,,,4,,40,4,2,2,4,,w,a,14,6,2,4,8,,9,6,2,3,1a,d,,2,ba,7,,6,,,2a,m,2,7,,2,,2,3e,6,3,,,2,,7,,,20,2,3,,,,9n,2,f0b,5,1n,7,t4,,1r,4,29,,f5k,2,43q,,,3,4,5,8,8,2,7,u,4,44,3,1iz,1j,4,1e,8,,e,,m,5,,f,11s,7,,h,2,7,,2,,5,79,7,c5,4,15s,7,31,7,240,5,gx7k,2o,3k,6o".split(",").map(e=>e?parseInt(e,36):1);for(let e=0,t=0;e>1;if(i=Uh[n])e=n+1;else return!0;if(e==t)return!1}}function Yh(i){return i>=127462&&i<=127487}var Ih=8205;function Gh(i,e,t=!0,n=!0){return(t?Nh:o0)(i,e,n)}function Nh(i,e,t){if(e==i.length)return e;e&&Fh(i.charCodeAt(e))&&Hh(i.charCodeAt(e-1))&&e--;let n=Zo(i,e);for(e+=Bh(n);e=0&&Yh(Zo(i,o));)s++,o-=2;if(s%2==0)break;e+=2}else break}return e}function o0(i,e,t){for(;e>1;){let n=Nh(i,e-2,t);if(n=56320&&i<57344}function Hh(i){return i>=55296&&i<56320}function Bh(i){return i<65536?1:2}var K=class i{lineAt(e){if(e<0||e>this.length)throw new RangeError(`Invalid position ${e} in document of length ${this.length}`);return this.lineInner(e,!1,1,0)}line(e){if(e<1||e>this.lines)throw new RangeError(`Invalid line number ${e} in ${this.lines}-line document`);return this.lineInner(e,!0,1,0)}replace(e,t,n){[e,t]=sn(this,e,t);let r=[];return this.decompose(0,e,r,2),n.length&&n.decompose(0,n.length,r,3),this.decompose(t,this.length,r,1),tn.from(r,this.length-(t-e)+n.length)}append(e){return this.replace(this.length,this.length,e)}slice(e,t=this.length){[e,t]=sn(this,e,t);let n=[];return this.decompose(e,t,n,0),tn.from(n,t-e)}eq(e){if(e==this)return!0;if(e.length!=this.length||e.lines!=this.lines)return!1;let t=this.scanIdentical(e,1),n=this.length-this.scanIdentical(e,-1),r=new Ci(this),s=new Ci(e);for(let o=t,a=t;;){if(r.next(o),s.next(o),o=0,r.lineBreak!=s.lineBreak||r.done!=s.done||r.value!=s.value)return!1;if(a+=r.value.length,r.done||a>=n)return!0}}iter(e=1){return new Ci(this,e)}iterRange(e,t=this.length){return new Ir(this,e,t)}iterLines(e,t){let n;if(e==null)n=this.iter();else{t==null&&(t=this.lines+1);let r=this.line(e).from;n=this.iterRange(r,Math.max(r,t==this.lines+1?this.length:t<=1?0:this.line(t-1).to))}return new Br(n)}toString(){return this.sliceString(0)}toJSON(){let e=[];return this.flatten(e),e}constructor(){}static of(e){if(e.length==0)throw new RangeError("A document must have at least one line");return e.length==1&&!e[0]?i.empty:e.length<=32?new Ge(e):tn.from(Ge.split(e,[]))}},Ge=class i extends K{constructor(e,t=a0(e)){super(),this.text=e,this.length=t}get lines(){return this.text.length}get children(){return null}lineInner(e,t,n,r){for(let s=0;;s++){let o=this.text[s],a=r+o.length;if((t?n:a)>=e)return new zo(r,a,n,o);r=a+1,n++}}decompose(e,t,n,r){let s=e<=0&&t>=this.length?this:new i(Kh(this.text,e,t),Math.min(t,this.length)-Math.max(0,e));if(r&1){let o=n.pop(),a=Yr(s.text,o.text.slice(),0,s.length);if(a.length<=32)n.push(new i(a,o.length+s.length));else{let l=a.length>>1;n.push(new i(a.slice(0,l)),new i(a.slice(l)))}}else n.push(s)}replace(e,t,n){if(!(n instanceof i))return super.replace(e,t,n);[e,t]=sn(this,e,t);let r=Yr(this.text,Yr(n.text,Kh(this.text,0,e)),t),s=this.length+n.length-(t-e);return r.length<=32?new i(r,s):tn.from(i.split(r,[]),s)}sliceString(e,t=this.length,n=` `){[e,t]=sn(this,e,t);let r="";for(let s=0,o=0;s<=t&&oe&&o&&(r+=n),es&&(r+=a.slice(Math.max(0,e-s),t-s)),s=l+1}return r}flatten(e){for(let t of this.text)e.push(t)}scanIdentical(){return 0}static split(e,t){let n=[],r=-1;for(let s of e)n.push(s),r+=s.length+1,n.length==32&&(t.push(new i(n,r)),n=[],r=-1);return r>-1&&t.push(new i(n,r)),t}},tn=class i extends K{constructor(e,t){super(),this.children=e,this.length=t,this.lines=0;for(let n of e)this.lines+=n.lines}lineInner(e,t,n,r){for(let s=0;;s++){let o=this.children[s],a=r+o.length,l=n+o.lines-1;if((t?l:a)>=e)return o.lineInner(e,t,n,r);r=a+1,n=l+1}}decompose(e,t,n,r){for(let s=0,o=0;o<=t&&s=o){let c=r&((o<=e?1:0)|(l>=t?2:0));o>=e&&l<=t&&!c?n.push(a):a.decompose(e-o,t-o,n,c)}o=l+1}}replace(e,t,n){if([e,t]=sn(this,e,t),n.lines=s&&t<=a){let l=o.replace(e-s,t-s,n),c=this.lines-o.lines+l.lines;if(l.lines>4&&l.lines>c>>6){let h=this.children.slice();return h[r]=l,new i(h,this.length-(t-e)+n.length)}return super.replace(s,a,l)}s=a+1}return super.replace(e,t,n)}sliceString(e,t=this.length,n=` -`){[e,t]=sn(this,e,t);let r="";for(let s=0,o=0;se&&s&&(r+=n),eo&&(r+=a.sliceString(e-o,t-o,n)),o=l+1}return r}flatten(e){for(let t of this.children)t.flatten(e)}scanIdentical(e,t){if(!(e instanceof i))return 0;let n=0,[r,s,o,a]=t>0?[0,0,this.children.length,e.children.length]:[this.children.length-1,e.children.length-1,-1,-1];for(;;r+=t,s+=t){if(r==o||s==a)return n;let l=this.children[r],c=e.children[s];if(l!=c)return n+l.scanIdentical(c,t);n+=l.length+1}}static from(e,t=e.reduce((n,r)=>n+r.length+1,-1)){let n=0;for(let O of e)n+=O.lines;if(n<32){let O=[];for(let p of e)p.flatten(O);return new Ge(O,t)}let r=Math.max(32,n>>5),s=r<<1,o=r>>1,a=[],l=0,c=-1,h=[];function f(O){let p;if(O.lines>s&&O instanceof i)for(let m of O.children)f(m);else O.lines>o&&(l>o||!l)?(u(),a.push(O)):O instanceof Ge&&l&&(p=h[h.length-1])instanceof Ge&&O.lines+p.lines<=32?(l+=O.lines,c+=O.length+1,h[h.length-1]=new Ge(p.text.concat(O.text),p.length+1+O.length)):(l+O.lines>r&&u(),l+=O.lines,c+=O.length+1,h.push(O))}function u(){l!=0&&(a.push(h.length==1?h[0]:i.from(h,c)),c=-1,l=h.length=0)}for(let O of e)f(O);return u(),a.length==1?a[0]:new i(a,t)}};K.empty=new Ge([""],0);function o0(i){let e=-1;for(let t of i)e+=t.length+1;return e}function Yr(i,e,t=0,n=1e9){for(let r=0,s=0,o=!0;s=t&&(l>n&&(a=a.slice(0,n-r)),r0?1:(e instanceof Ge?e.text.length:e.children.length)<<1]}nextInner(e,t){for(this.done=this.lineBreak=!1;;){let n=this.nodes.length-1,r=this.nodes[n],s=this.offsets[n],o=s>>1,a=r instanceof Ge?r.text.length:r.children.length;if(o==(t>0?a:0)){if(n==0)return this.done=!0,this.value="",this;t>0&&this.offsets[n-1]++,this.nodes.pop(),this.offsets.pop()}else if((s&1)==(t>0?0:1)){if(this.offsets[n]+=t,e==0)return this.lineBreak=!0,this.value=` -`,this;e--}else if(r instanceof Ge){let l=r.text[o+(t<0?-1:0)];if(this.offsets[n]+=t,l.length>Math.max(0,e))return this.value=e==0?l:t>0?l.slice(e):l.slice(0,l.length-e),this;e-=l.length}else{let l=r.children[o+(t<0?-1:0)];e>l.length?(e-=l.length,this.offsets[n]+=t):(t<0&&this.offsets[n]--,this.nodes.push(l),this.offsets.push(t>0?1:(l instanceof Ge?l.text.length:l.children.length)<<1))}}}next(e=0){return e<0&&(this.nextInner(-e,-this.dir),e=this.value.length),this.nextInner(e,this.dir)}},Ir=class{constructor(e,t,n){this.value="",this.done=!1,this.cursor=new Ci(e,t>n?-1:1),this.pos=t>n?e.length:0,this.from=Math.min(t,n),this.to=Math.max(t,n)}nextInner(e,t){if(t<0?this.pos<=this.from:this.pos>=this.to)return this.value="",this.done=!0,this;e+=Math.max(0,t<0?this.pos-this.to:this.from-this.pos);let n=t<0?this.pos-this.from:this.to-this.pos;e>n&&(e=n),n-=e;let{value:r}=this.cursor.next(e);return this.pos+=(r.length+e)*t,this.value=r.length<=n?r:t<0?r.slice(r.length-n):r.slice(0,n),this.done=!this.value,this}next(e=0){return e<0?e=Math.max(e,this.from-this.pos):e>0&&(e=Math.min(e,this.to-this.pos)),this.nextInner(e,this.cursor.dir)}get lineBreak(){return this.cursor.lineBreak&&this.value!=""}},Br=class{constructor(e){this.inner=e,this.afterBreak=!0,this.value="",this.done=!1}next(e=0){let{done:t,lineBreak:n,value:r}=this.inner.next(e);return t&&this.afterBreak?(this.value="",this.afterBreak=!1):t?(this.done=!0,this.value=""):n?this.afterBreak?this.value="":(this.afterBreak=!0,this.next()):(this.value=r,this.afterBreak=!1),this}get lineBreak(){return!1}};typeof Symbol<"u"&&(K.prototype[Symbol.iterator]=function(){return this.iter()},Ci.prototype[Symbol.iterator]=Ir.prototype[Symbol.iterator]=Br.prototype[Symbol.iterator]=function(){return this});var zo=class{constructor(e,t,n,r){this.from=e,this.to=t,this.number=n,this.text=r}get length(){return this.to-this.from}};function sn(i,e,t){return e=Math.max(0,Math.min(i.length,e)),[e,Math.max(e,Math.min(i.length,t))]}function ke(i,e,t=!0,n=!0){return Gh(i,e,t,n)}function a0(i){return i>=56320&&i<57344}function l0(i){return i>=55296&&i<56320}function si(i,e){let t=i.charCodeAt(e);if(!l0(t)||e+1==i.length)return t;let n=i.charCodeAt(e+1);return a0(n)?(t-55296<<10)+(n-56320)+65536:t}function rf(i){return i<=65535?String.fromCharCode(i):(i-=65536,String.fromCharCode((i>>10)+55296,(i&1023)+56320))}function on(i){return i<65536?1:2}var Lo=/\r\n?|\n/,ge=(function(i){return i[i.Simple=0]="Simple",i[i.TrackDel=1]="TrackDel",i[i.TrackBefore=2]="TrackBefore",i[i.TrackAfter=3]="TrackAfter",i})(ge||(ge={})),zt=class i{constructor(e){this.sections=e}get length(){let e=0;for(let t=0;te)return s+(e-r);s+=a}else{if(n!=ge.Simple&&c>=e&&(n==ge.TrackDel&&re||n==ge.TrackBefore&&re))return null;if(c>e||c==e&&t<0&&!a)return e==r||t<0?s:s+l;s+=l}r=c}if(e>r)throw new RangeError(`Position ${e} is out of range for changeset of length ${r}`);return s}touchesRange(e,t=e){for(let n=0,r=0;n=0&&r<=t&&a>=e)return rt?"cover":!0;r=a}return!1}toString(){let e="";for(let t=0;t=0?":"+r:"")}return e}toJSON(){return this.sections}static fromJSON(e){if(!Array.isArray(e)||e.length%2||e.some(t=>typeof t!="number"))throw new RangeError("Invalid JSON representation of ChangeDesc");return new i(e)}static create(e){return new i(e)}},qe=class i extends zt{constructor(e,t){super(e),this.inserted=t}apply(e){if(this.length!=e.length)throw new RangeError("Applying change set to a document with the wrong length");return Mo(this,(t,n,r,s,o)=>e=e.replace(r,r+(n-t),o),!1),e}mapDesc(e,t=!1){return Wo(this,e,t,!0)}invert(e){let t=this.sections.slice(),n=[];for(let r=0,s=0;r=0){t[r]=a,t[r+1]=o;let l=r>>1;for(;n.length0&&ri(n,t,s.text),s.forward(h),a+=h}let c=e[o++];for(;a>1].toJSON()))}return e}static of(e,t,n){let r=[],s=[],o=0,a=null;function l(h=!1){if(!h&&!r.length)return;ou||f<0||u>t)throw new RangeError(`Invalid change range ${f} to ${u} (in doc of length ${t})`);let p=O?typeof O=="string"?K.of(O.split(n||Lo)):O:K.empty,m=p.length;if(f==u&&m==0)return;fo&&Xe(r,f-o,-1),Xe(r,u-f,m),ri(s,r,p),o=u}}return c(e),l(!a),a}static empty(e){return new i(e?[e,-1]:[],[])}static fromJSON(e){if(!Array.isArray(e))throw new RangeError("Invalid JSON representation of ChangeSet");let t=[],n=[];for(let r=0;ra&&typeof o!="string"))throw new RangeError("Invalid JSON representation of ChangeSet");if(s.length==1)t.push(s[0],0);else{for(;n.length=0&&t<=0&&t==i[r+1]?i[r]+=e:r>=0&&e==0&&i[r]==0?i[r+1]+=t:n?(i[r]+=e,i[r+1]+=t):i.push(e,t)}function ri(i,e,t){if(t.length==0)return;let n=e.length-2>>1;if(n>1])),!(t||o==i.sections.length||i.sections[o+1]<0);)a=i.sections[o++],l=i.sections[o++];e(r,c,s,h,f),r=c,s=h}}}function Wo(i,e,t,n=!1){let r=[],s=n?[]:null,o=new Xi(i),a=new Xi(e);for(let l=-1;;){if(o.done&&a.len||a.done&&o.len)throw new Error("Mismatched change set lengths");if(o.ins==-1&&a.ins==-1){let c=Math.min(o.len,a.len);Xe(r,c,-1),o.forward(c),a.forward(c)}else if(a.ins>=0&&(o.ins<0||l==o.i||o.off==0&&(a.len=0&&l=0){let c=0,h=o.len;for(;h;)if(a.ins==-1){let f=Math.min(h,a.len);c+=f,h-=f,a.forward(f)}else if(a.ins==0&&a.lenl||o.ins>=0&&o.len>l)&&(a||n.length>c),s.forward2(l),o.forward(l)}}}}var Xi=class{constructor(e){this.set=e,this.i=0,this.next()}next(){let{sections:e}=this.set;this.i>1;return t>=e.length?K.empty:e[t]}textBit(e){let{inserted:t}=this.set,n=this.i-2>>1;return n>=t.length&&!e?K.empty:t[n].slice(this.off,e==null?void 0:this.off+e)}forward(e){e==this.len?this.next():(this.len-=e,this.off+=e)}forward2(e){this.ins==-1?this.forward(e):e==this.ins?this.next():(this.ins-=e,this.off+=e)}},vi=class i{constructor(e,t,n,r){this.from=e,this.to=t,this.flags=n,this.goalColumn=r}get anchor(){return this.flags&32?this.to:this.from}get head(){return this.flags&32?this.from:this.to}get empty(){return this.from==this.to}get assoc(){return this.flags&8?-1:this.flags&16?1:0}get undirectional(){return(this.flags&64)>0}get bidiLevel(){let e=this.flags&7;return e==7?null:e}map(e,t=-1){let n,r;return this.empty?n=r=e.mapPos(this.from,t):(n=e.mapPos(this.from,1),r=e.mapPos(this.to,-1)),n==this.from&&r==this.to?this:new i(n,r,this.flags,this.goalColumn)}extend(e,t=e,n=0){if(e<=this.anchor&&t>=this.anchor)return P.range(e,t,void 0,void 0,n);let r=Math.abs(e-this.anchor)>Math.abs(t-this.anchor)?e:t;return P.range(this.anchor,r,void 0,void 0,n)}eq(e,t=!1){return this.anchor==e.anchor&&this.head==e.head&&this.goalColumn==e.goalColumn&&(!t||!this.empty||this.assoc==e.assoc)}toJSON(){return{anchor:this.anchor,head:this.head}}static fromJSON(e){if(!e||typeof e.anchor!="number"||typeof e.head!="number")throw new RangeError("Invalid JSON representation for SelectionRange");return P.range(e.anchor,e.head)}static create(e,t,n,r){return new i(e,t,n,r)}},P=class i{constructor(e,t){this.ranges=e,this.mainIndex=t}map(e,t=-1){return e.empty?this:i.create(this.ranges.map(n=>n.map(e,t)),this.mainIndex)}eq(e,t=!1){if(this.ranges.length!=e.ranges.length||this.mainIndex!=e.mainIndex)return!1;for(let n=0;ne.toJSON()),main:this.mainIndex}}static fromJSON(e){if(!e||!Array.isArray(e.ranges)||typeof e.main!="number"||e.main>=e.ranges.length)throw new RangeError("Invalid JSON representation for EditorSelection");return new i(e.ranges.map(t=>vi.fromJSON(t)),e.main)}static single(e,t=e){return new i([i.range(e,t)],0)}static create(e,t=0){if(e.length==0)throw new RangeError("A selection needs at least one range");for(let n=0,r=0;rr.from-s.from),t=e.indexOf(n);for(let r=1;rs.head?i.range(l,a):i.range(a,l))}}return new i(e,t)}};function of(i,e){for(let t of i.ranges)if(t.to>e)throw new RangeError("Selection points outside of document")}var Fo=0,Y=class i{constructor(e,t,n,r,s){this.combine=e,this.compareInput=t,this.compare=n,this.isStatic=r,this.id=Fo++,this.default=e([]),this.extensions=typeof s=="function"?s(this):s}get reader(){return this}static define(e={}){return new i(e.combine||(t=>t),e.compareInput||((t,n)=>t===n),e.compare||(e.combine?(t,n)=>t===n:Ho),!!e.static,e.enables)}of(e){return new nn([],this,0,e)}compute(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new nn(e,this,1,t)}computeN(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new nn(e,this,2,t)}from(e,t){return t||(t=n=>n),this.compute([e],n=>t(n.field(e)))}};function Ho(i,e){return i==e||i.length==e.length&&i.every((t,n)=>t===e[n])}var nn=class{constructor(e,t,n,r){this.dependencies=e,this.facet=t,this.type=n,this.value=r,this.id=Fo++}dynamicSlot(e){var t;let n=this.value,r=this.facet.compareInput,s=this.id,o=e[s]>>1,a=this.type==2,l=!1,c=!1,h=[];for(let f of this.dependencies)f=="doc"?l=!0:f=="selection"?c=!0:(((t=e[f.id])!==null&&t!==void 0?t:1)&1)==0&&h.push(e[f.id]);return{create(f){return f.values[o]=n(f),1},update(f,u){if(l&&u.docChanged||c&&(u.docChanged||u.selection)||jo(f,h)){let O=n(f);if(a?!Jh(O,f.values[o],r):!r(O,f.values[o]))return f.values[o]=O,1}return 0},reconfigure:(f,u)=>{let O,p=u.config.address[s];if(p!=null){let m=Fr(u,p);if(this.dependencies.every(b=>b instanceof Y?u.facet(b)===f.facet(b):b instanceof he?u.field(b,!1)==f.field(b,!1):!0)||(a?Jh(O=n(f),m,r):r(O=n(f),m)))return f.values[o]=m,0}else O=n(f);return f.values[o]=O,1}}}get extension(){return this}};function Jh(i,e,t){if(i.length!=e.length)return!1;for(let n=0;ni[l.id]),r=t.map(l=>l.type),s=n.filter(l=>!(l&1)),o=i[e.id]>>1;function a(l){let c=[];for(let h=0;hn===r),e);return e.provide&&(t.provides=e.provide(t)),t}create(e){let t=e.facet(jr).find(n=>n.field==this);return(t?.create||this.createF)(e)}slot(e){let t=e[this.id]>>1;return{create:n=>(n.values[t]=this.create(n),1),update:(n,r)=>{let s=n.values[t],o=this.updateF(s,r);return this.compareF(s,o)?0:(n.values[t]=o,1)},reconfigure:(n,r)=>{let s=n.facet(jr),o=r.facet(jr),a;return(a=s.find(l=>l.field==this))&&a!=o.find(l=>l.field==this)?(n.values[t]=a.create(n),1):r.config.address[this.id]!=null?(n.values[t]=r.field(this),0):(n.values[t]=this.create(n),1)}}}init(e){return[this,jr.of({field:this,create:e})]}get extension(){return this}},$i={lowest:4,low:3,default:2,high:1,highest:0};function Mn(i){return e=>new Ur(e,i)}var nt={highest:Mn($i.highest),high:Mn($i.high),default:Mn($i.default),low:Mn($i.low),lowest:Mn($i.lowest)},Ur=class{constructor(e,t){this.inner=e,this.prec=t}get extension(){return this}},Gr=class i{of(e){return new jn(this,e)}reconfigure(e){return i.reconfigure.of({compartment:this,extension:e})}get(e){return e.config.compartments.get(this)}},jn=class{constructor(e,t){this.compartment=e,this.inner=t}get extension(){return this}},Nr=class i{constructor(e,t,n,r,s,o){for(this.base=e,this.compartments=t,this.dynamicSlots=n,this.address=r,this.staticValues=s,this.facets=o,this.statusTemplate=[];this.statusTemplate.length>1]}static resolve(e,t,n){let r=[],s=Object.create(null),o=new Map;for(let u of h0(e,t,o))u instanceof he?r.push(u):(s[u.facet.id]||(s[u.facet.id]=[])).push(u);let a=Object.create(null),l=[],c=[];for(let u of r)a[u.id]=c.length<<1,c.push(O=>u.slot(O));let h=n?.config.facets;for(let u in s){let O=s[u],p=O[0].facet,m=h&&h[u]||[];if(O.every(b=>b.type==0))if(a[p.id]=l.length<<1|1,Ho(m,O))l.push(n.facet(p));else{let b=p.combine(O.map(g=>g.value));l.push(n&&p.compare(b,n.facet(p))?n.facet(p):b)}else{for(let b of O)b.type==0?(a[b.id]=l.length<<1|1,l.push(b.value)):(a[b.id]=c.length<<1,c.push(g=>b.dynamicSlot(g)));a[p.id]=c.length<<1,c.push(b=>c0(b,p,O))}}let f=c.map(u=>u(a));return new i(e,o,f,a,l,s)}};function h0(i,e,t){let n=[[],[],[],[],[]],r=new Map;function s(o,a){let l=r.get(o);if(l!=null){if(l<=a)return;let c=n[l].indexOf(o);c>-1&&n[l].splice(c,1),o instanceof jn&&t.delete(o.compartment)}if(r.set(o,a),Array.isArray(o))for(let c of o)s(c,a);else if(o instanceof jn){if(t.has(o.compartment))throw new RangeError("Duplicate use of compartment in extensions");let c=e.get(o.compartment)||o.inner;t.set(o.compartment,c),s(c,a)}else if(o instanceof Ur)s(o.inner,o.prec);else if(o instanceof he)n[a].push(o),o.provides&&s(o.provides,a);else if(o instanceof nn)n[a].push(o),o.facet.extensions&&s(o.facet.extensions,$i.default);else{let c=o.extension;if(!c)throw new Error(`Unrecognized extension value in extension set (${o}).`);if(c==o)throw new Error(`Unrecognized extension value in extension set (${o}). This sometimes happens because multiple instances of @codemirror/state are loaded, breaking instanceof checks.`);s(c,a)}}return s(i,$i.default),n.reduce((o,a)=>o.concat(a))}function Wn(i,e){if(e&1)return 2;let t=e>>1,n=i.status[t];if(n==4)throw new Error("Cyclic dependency between fields and/or facets");if(n&2)return n;i.status[t]=4;let r=i.computeSlot(i,i.config.dynamicSlots[t]);return i.status[t]=2|r}function Fr(i,e){return e&1?i.config.staticValues[e>>1]:i.values[e>>1]}var af=Y.define(),Vo=Y.define({combine:i=>i.some(e=>e),static:!0}),lf=Y.define({combine:i=>i.length?i[0]:void 0,static:!0}),cf=Y.define(),hf=Y.define(),ff=Y.define(),uf=Y.define({combine:i=>i.length?i[0]:!1}),_e=class{constructor(e,t){this.type=e,this.value=t}static define(){return new Do}},Do=class{of(e){return new _e(this,e)}},Yo=class{constructor(e){this.map=e}of(e){return new te(this,e)}},te=class i{constructor(e,t){this.type=e,this.value=t}map(e){let t=this.type.map(this.value,e);return t===void 0?void 0:t==this.value?this:new i(this.type,t)}is(e){return this.type==e}static define(e={}){return new Yo(e.map||(t=>t))}static mapEffects(e,t){if(!e.length)return e;let n=[];for(let r of e){let s=r.map(t);s&&n.push(s)}return n}};te.reconfigure=te.define();te.appendConfig=te.define();var pe=class i{constructor(e,t,n,r,s,o){this.startState=e,this.changes=t,this.selection=n,this.effects=r,this.annotations=s,this.scrollIntoView=o,this._doc=null,this._state=null,n&&of(n,t.newLength),s.some(a=>a.type==i.time)||(this.annotations=s.concat(i.time.of(Date.now())))}static create(e,t,n,r,s,o){return new i(e,t,n,r,s,o)}get newDoc(){return this._doc||(this._doc=this.changes.apply(this.startState.doc))}get newSelection(){return this.selection||this.startState.selection.map(this.changes)}get state(){return this._state||this.startState.applyTransaction(this),this._state}annotation(e){for(let t of this.annotations)if(t.type==e)return t.value}get docChanged(){return!this.changes.empty}get reconfigured(){return this.startState.config!=this.state.config}isUserEvent(e){let t=this.annotation(i.userEvent);return!!(t&&(t==e||t.length>e.length&&t.slice(0,e.length)==e&&t[e.length]=="."))}};pe.time=_e.define();pe.userEvent=_e.define();pe.addToHistory=_e.define();pe.remote=_e.define();function f0(i,e){let t=[];for(let n=0,r=0;;){let s,o;if(n=i[n]))s=i[n++],o=i[n++];else if(r=0;r--){let s=n[r](i);s instanceof pe?i=s:Array.isArray(s)&&s.length==1&&s[0]instanceof pe?i=s[0]:i=df(e,rn(s),!1)}return i}function O0(i){let e=i.startState,t=e.facet(ff),n=i;for(let r=t.length-1;r>=0;r--){let s=t[r](i);s&&Object.keys(s).length&&(n=Of(n,Io(e,s,i.changes.newLength),!0))}return n==i?i:pe.create(e,i.changes,i.selection,n.effects,n.annotations,n.scrollIntoView)}var d0=[];function rn(i){return i==null?d0:Array.isArray(i)?i:[i]}var Ee=(function(i){return i[i.Word=0]="Word",i[i.Space=1]="Space",i[i.Other=2]="Other",i})(Ee||(Ee={})),p0=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/,Bo;try{Bo=new RegExp("[\\p{Alphabetic}\\p{Number}_]","u")}catch{}function m0(i){if(Bo)return Bo.test(i);for(let e=0;e"\x80"&&(t.toUpperCase()!=t.toLowerCase()||p0.test(t)))return!0}return!1}function g0(i){return e=>{if(!/\S/.test(e))return Ee.Space;if(m0(e))return Ee.Word;for(let t=0;t-1)return Ee.Word;return Ee.Other}}var se=class i{constructor(e,t,n,r,s,o){this.config=e,this.doc=t,this.selection=n,this.values=r,this.status=e.statusTemplate.slice(),this.computeSlot=s,o&&(o._state=this);for(let a=0;ar.set(c,l)),t=null),r.set(a.value.compartment,a.value.extension)):a.is(te.reconfigure)?(t=null,n=a.value):a.is(te.appendConfig)&&(t=null,n=rn(n).concat(a.value));let s;t?s=e.startState.values.slice():(t=Nr.resolve(n,r,this),s=new i(t,this.doc,this.selection,t.dynamicSlots.map(()=>null),(l,c)=>c.reconfigure(l,this),null).values);let o=e.startState.facet(Vo)?e.newSelection:e.newSelection.asSingle();new i(t,e.newDoc,o,s,(a,l)=>l.update(a,e),e)}replaceSelection(e){return typeof e=="string"&&(e=this.toText(e)),this.changeByRange(t=>({changes:{from:t.from,to:t.to,insert:e},range:P.cursor(t.from+e.length)}))}changeByRange(e){let t=this.selection,n=e(t.ranges[0]),r=this.changes(n.changes),s=[n.range],o=rn(n.effects);for(let a=1;ao.spec.fromJSON(a,l)))}}return i.create({doc:e.doc,selection:P.fromJSON(e.selection),extensions:t.extensions?r.concat([t.extensions]):r})}static create(e={}){let t=Nr.resolve(e.extensions||[],new Map),n=e.doc instanceof K?e.doc:K.of((e.doc||"").split(t.staticFacet(i.lineSeparator)||Lo)),r=e.selection?e.selection instanceof P?e.selection:P.single(e.selection.anchor,e.selection.head):P.single(0);return of(r,n.length),t.staticFacet(Vo)||(r=r.asSingle()),new i(t,n,r,t.dynamicSlots.map(()=>null),(s,o)=>o.create(s),null)}get tabSize(){return this.facet(i.tabSize)}get lineBreak(){return this.facet(i.lineSeparator)||` -`}get readOnly(){return this.facet(uf)}phrase(e,...t){for(let n of this.facet(i.phrases))if(Object.prototype.hasOwnProperty.call(n,e)){e=n[e];break}return t.length&&(e=e.replace(/\$(\$|\d*)/g,(n,r)=>{if(r=="$")return"$";let s=+(r||1);return!s||s>t.length?n:t[s-1]})),e}languageDataAt(e,t,n=-1){let r=[];for(let s of this.facet(af))for(let o of s(this,t,n))Object.prototype.hasOwnProperty.call(o,e)&&r.push(o[e]);return r}charCategorizer(e){let t=this.languageDataAt("wordChars",e);return g0(t.length?t[0]:"")}wordAt(e){let{text:t,from:n,length:r}=this.doc.lineAt(e),s=this.charCategorizer(e),o=e-n,a=e-n;for(;o>0;){let l=ke(t,o,!1);if(s(t.slice(l,o))!=Ee.Word)break;o=l}for(;ai.length?i[0]:4});se.lineSeparator=lf;se.readOnly=uf;se.phrases=Y.define({compare(i,e){let t=Object.keys(i),n=Object.keys(e);return t.length==n.length&&t.every(r=>i[r]==e[r])}});se.languageData=af;se.changeFilter=cf;se.transactionFilter=hf;se.transactionExtender=ff;Gr.reconfigure=te.define();function Yn(i,e,t={}){let n={};for(let r of i)for(let s of Object.keys(r)){let o=r[s],a=n[s];if(a===void 0)n[s]=o;else if(!(a===o||o===void 0))if(Object.hasOwnProperty.call(t,s))n[s]=t[s](a,o);else throw new Error("Config merge conflict for field "+s)}for(let r in e)n[r]===void 0&&(n[r]=e[r]);return n}var it=class{eq(e){return this==e}range(e,t=e){return Vn.create(e,t,this)}};it.prototype.startSide=it.prototype.endSide=0;it.prototype.point=!1;it.prototype.mapMode=ge.TrackDel;function Ko(i,e){return i==e||i.constructor==e.constructor&&i.eq(e)}var Vn=class i{constructor(e,t,n){this.from=e,this.to=t,this.value=n}static create(e,t,n){return new i(e,t,n)}};function Uo(i,e){return i.from-e.from||i.value.startSide-e.value.startSide}var Go=class i{constructor(e,t,n,r){this.from=e,this.to=t,this.value=n,this.maxPoint=r}get length(){return this.to[this.to.length-1]}findIndex(e,t,n,r=0){let s=n?this.to:this.from;for(let o=r,a=s.length;;){if(o==a)return o;let l=o+a>>1,c=s[l]-e||(n?this.value[l].endSide:this.value[l].startSide)-t;if(l==o)return c>=0?o:a;c>=0?a=l:o=l+1}}between(e,t,n,r){for(let s=this.findIndex(t,-1e9,!0),o=this.findIndex(n,1e9,!1,s);sO||u==O&&c.startSide>0&&c.endSide<=0)continue;(O-u||c.endSide-c.startSide)<0||(o<0&&(o=u),c.point&&(a=Math.max(a,O-u)),n.push(c),r.push(u-o),s.push(O-o))}return{mapped:n.length?new i(r,s,n,a):null,pos:o}}},ae=class i{constructor(e,t,n,r){this.chunkPos=e,this.chunk=t,this.nextLayer=n,this.maxPoint=r}static create(e,t,n,r){return new i(e,t,n,r)}get length(){let e=this.chunk.length-1;return e<0?0:Math.max(this.chunkEnd(e),this.nextLayer.length)}get size(){if(this.isEmpty)return 0;let e=this.nextLayer.size;for(let t of this.chunk)e+=t.value.length;return e}chunkEnd(e){return this.chunkPos[e]+this.chunk[e].length}update(e){let{add:t=[],sort:n=!1,filterFrom:r=0,filterTo:s=this.length}=e,o=e.filter;if(t.length==0&&!o)return this;if(n&&(t=t.slice().sort(Uo)),this.isEmpty)return t.length?i.of(t):this;let a=new Hr(this,null,-1).goto(0),l=0,c=[],h=new _i;for(;a.value||l=0){let f=t[l++];h.addInner(f.from,f.to,f.value)||c.push(f)}else a.rangeIndex==1&&a.chunkIndexthis.chunkEnd(a.chunkIndex)||sa.to||s=s&&e<=s+o.length&&o.between(s,e-s,t-s,n)===!1)return}this.nextLayer.between(e,t,n)}}iter(e=0){return Dn.from([this]).goto(e)}get isEmpty(){return this.nextLayer==this}static iter(e,t=0){return Dn.from(e).goto(t)}static compare(e,t,n,r,s=-1){let o=e.filter(f=>f.maxPoint>0||!f.isEmpty&&f.maxPoint>=s),a=t.filter(f=>f.maxPoint>0||!f.isEmpty&&f.maxPoint>=s),l=ef(o,a,n),c=new Ti(o,l,s),h=new Ti(a,l,s);n.iterGaps((f,u,O)=>tf(c,f,h,u,O,r)),n.empty&&n.length==0&&tf(c,0,h,0,0,r)}static eq(e,t,n=0,r){r==null&&(r=999999999);let s=e.filter(h=>!h.isEmpty&&t.indexOf(h)<0),o=t.filter(h=>!h.isEmpty&&e.indexOf(h)<0);if(s.length!=o.length)return!1;if(!s.length)return!0;let a=ef(s,o),l=new Ti(s,a,0).goto(n),c=new Ti(o,a,0).goto(n);for(;;){if(l.to!=c.to||!No(l.active,c.active)||l.point&&(!c.point||!Ko(l.point,c.point)))return!1;if(l.to>r)return!0;l.next(),c.next()}}static spans(e,t,n,r,s=-1){let o=new Ti(e,null,s).goto(t),a=t,l=o.openStart;for(;;){let c=Math.min(o.to,n);if(o.point){let h=o.activeForPoint(o.to),f=o.pointFroma&&(r.span(a,c,o.active,l),l=o.openEnd(c));if(o.to>n)return l+(o.point&&o.to>n?1:0);a=o.to,o.next()}}static of(e,t=!1){let n=new _i;for(let r of e instanceof Vn?[e]:t?Q0(e):e)n.add(r.from,r.to,r.value);return n.finish()}static join(e){if(!e.length)return i.empty;let t=e[e.length-1];for(let n=e.length-2;n>=0;n--)for(let r=e[n];r!=i.empty;r=r.nextLayer)t=new i(r.chunkPos,r.chunk,t,Math.max(r.maxPoint,t.maxPoint));return t}};ae.empty=new ae([],[],null,-1);function Q0(i){if(i.length>1)for(let e=i[0],t=1;t0)return i.slice().sort(Uo);e=n}return i}ae.empty.nextLayer=ae.empty;var _i=class i{finishChunk(e){this.chunks.push(new Go(this.from,this.to,this.value,this.maxPoint)),this.chunkPos.push(this.chunkStart),this.chunkStart=-1,this.setMaxPoint=Math.max(this.setMaxPoint,this.maxPoint),this.maxPoint=-1,e&&(this.from=[],this.to=[],this.value=[])}constructor(){this.chunks=[],this.chunkPos=[],this.chunkStart=-1,this.last=null,this.lastFrom=-1e9,this.lastTo=-1e9,this.from=[],this.to=[],this.value=[],this.maxPoint=-1,this.setMaxPoint=-1,this.nextLayer=null}add(e,t,n){this.addInner(e,t,n)||(this.nextLayer||(this.nextLayer=new i)).add(e,t,n)}addInner(e,t,n){let r=e-this.lastTo||n.startSide-this.last.endSide;if(r<=0&&(e-this.lastFrom||n.startSide-this.last.startSide)<0)throw new Error("Ranges must be added sorted by `from` position and `startSide`");return r<0?!1:(this.from.length==250&&this.finishChunk(!0),this.chunkStart<0&&(this.chunkStart=e),this.from.push(e-this.chunkStart),this.to.push(t-this.chunkStart),this.last=n,this.lastFrom=e,this.lastTo=t,this.value.push(n),n.point&&(this.maxPoint=Math.max(this.maxPoint,t-e)),!0)}addChunk(e,t){if((e-this.lastTo||t.value[0].startSide-this.last.endSide)<0)return!1;this.from.length&&this.finishChunk(!0),this.setMaxPoint=Math.max(this.setMaxPoint,t.maxPoint),this.chunks.push(t),this.chunkPos.push(e);let n=t.value.length-1;return this.last=t.value[n],this.lastFrom=t.from[n]+e,this.lastTo=t.to[n]+e,!0}finish(){return this.finishInner(ae.empty)}finishInner(e){if(this.from.length&&this.finishChunk(!1),this.chunks.length==0)return e;let t=ae.create(this.chunkPos,this.chunks,this.nextLayer?this.nextLayer.finishInner(e):e,this.setMaxPoint);return this.from=null,t}};function ef(i,e,t){let n=new Map;for(let s of i)for(let o=0;o=this.minPoint)break}}setRangeIndex(e){if(e==this.layer.chunk[this.chunkIndex].value.length){if(this.chunkIndex++,this.skip)for(;this.chunkIndex=n&&r.push(new Hr(o,t,n,s));return r.length==1?r[0]:new i(r)}get startSide(){return this.value?this.value.startSide:0}goto(e,t=-1e9){for(let n of this.heap)n.goto(e,t);for(let n=this.heap.length>>1;n>=0;n--)qo(this.heap,n);return this.next(),this}forward(e,t){for(let n of this.heap)n.forward(e,t);for(let n=this.heap.length>>1;n>=0;n--)qo(this.heap,n);(this.to-e||this.value.endSide-t)<0&&this.next()}next(){if(this.heap.length==0)this.from=this.to=1e9,this.value=null,this.rank=-1;else{let e=this.heap[0];this.from=e.from,this.to=e.to,this.value=e.value,this.rank=e.rank,e.value&&e.next(),qo(this.heap,0)}}};function qo(i,e){for(let t=i[e];;){let n=(e<<1)+1;if(n>=i.length)break;let r=i[n];if(n+1=0&&(r=i[n+1],n++),t.compare(r)<0)break;i[n]=t,i[e]=r,e=n}}var Ti=class{constructor(e,t,n){this.minPoint=n,this.active=[],this.activeTo=[],this.activeRank=[],this.minActive=-1,this.point=null,this.pointFrom=0,this.pointRank=0,this.to=-1e9,this.endSide=0,this.openStart=-1,this.cursor=Dn.from(e,t,n)}goto(e,t=-1e9){return this.cursor.goto(e,t),this.active.length=this.activeTo.length=this.activeRank.length=0,this.minActive=-1,this.to=e,this.endSide=t,this.openStart=-1,this.next(),this}forward(e,t){for(;this.minActive>-1&&(this.activeTo[this.minActive]-e||this.active[this.minActive].endSide-t)<0;)this.removeActive(this.minActive);this.cursor.forward(e,t)}removeActive(e){Vr(this.active,e),Vr(this.activeTo,e),Vr(this.activeRank,e),this.minActive=nf(this.active,this.activeTo)}addActive(e){let t=0,{value:n,to:r,rank:s}=this.cursor;for(;t0;)t++;Dr(this.active,t,n),Dr(this.activeTo,t,r),Dr(this.activeRank,t,s),e&&Dr(e,t,this.cursor.from),this.minActive=nf(this.active,this.activeTo)}next(){let e=this.to,t=this.point;this.point=null;let n=this.openStart<0?[]:null;for(;;){let r=this.minActive;if(r>-1&&(this.activeTo[r]-this.cursor.from||this.active[r].endSide-this.cursor.startSide)<0){if(this.activeTo[r]>e){this.to=this.activeTo[r],this.endSide=this.active[r].endSide;break}this.removeActive(r),n&&Vr(n,r)}else if(this.cursor.value)if(this.cursor.from>e){this.to=this.cursor.from,this.endSide=this.cursor.startSide;break}else{let s=this.cursor.value;if(!s.point)this.addActive(n),this.cursor.next();else if(t&&this.cursor.to==this.to&&this.cursor.from=0&&n[r]=0&&!(this.activeRank[n]e||this.activeTo[n]==e&&this.active[n].endSide>=this.point.endSide)&&t.push(this.active[n]);return t.reverse()}openEnd(e){let t=0;for(let n=this.activeTo.length-1;n>=0&&this.activeTo[n]>e;n--)t++;return t}};function tf(i,e,t,n,r,s){i.goto(e),t.goto(n);let o=n+r,a=n,l=n-e,c=!!s.boundChange;for(let h=!1;;){let f=i.to+l-t.to,u=f||i.endSide-t.endSide,O=u<0?i.to+l:t.to,p=Math.min(O,o);if(i.point||t.point?(i.point&&t.point&&Ko(i.point,t.point)&&No(i.activeForPoint(i.to),t.activeForPoint(t.to))||s.comparePoint(a,p,i.point,t.point),h=!1):(h&&s.boundChange(a),p>a&&!No(i.active,t.active)&&s.compareRange(a,p,i.active,t.active),c&&po)break;a=O,u<=0&&i.next(),u>=0&&t.next()}}function No(i,e){if(i.length!=e.length)return!1;for(let t=0;t=e;n--)i[n+1]=i[n];i[e]=t}function nf(i,e){let t=-1,n=1e9;for(let r=0;r=e)return r;if(r==i.length)break;s+=i.charCodeAt(r)==9?t-s%t:1,r=ke(i,r)}return n===!0?-1:i.length}var mf=typeof Symbol>"u"?"__\u037C":Symbol.for("\u037C"),Jo=typeof Symbol>"u"?"__styleSet"+Math.floor(Math.random()*1e8):Symbol("styleSet"),gf=typeof globalThis<"u"?globalThis:typeof window<"u"?window:{},rt=class{constructor(e,t){this.rules=[];let{finish:n}=t||{};function r(o){return/^@/.test(o)?[o]:o.split(/,\s*/)}function s(o,a,l,c){let h=[],f=/^@(\w+)\b/.exec(o[0]),u=f&&f[1]=="keyframes";if(f&&a==null)return l.push(o[0]+";");for(let O in a){let p=a[O];if(/&/.test(O))s(O.split(/,\s*/).map(m=>o.map(b=>m.replace(/&/,b))).reduce((m,b)=>m.concat(b)),p,l);else if(p&&typeof p=="object"){if(!f)throw new RangeError("The value of a property ("+O+") should be a primitive value.");s(r(O),p,h,u)}else p!=null&&h.push(O.replace(/_.*/,"").replace(/[A-Z]/g,m=>"-"+m.toLowerCase())+": "+p+";")}(h.length||u)&&l.push((n&&!f&&!c?o.map(n):o).join(", ")+" {"+h.join(" ")+"}")}for(let o in e)s(r(o),e[o],this.rules)}getRules(){return this.rules.join(` +`){[e,t]=sn(this,e,t);let r="";for(let s=0,o=0;se&&s&&(r+=n),eo&&(r+=a.sliceString(e-o,t-o,n)),o=l+1}return r}flatten(e){for(let t of this.children)t.flatten(e)}scanIdentical(e,t){if(!(e instanceof i))return 0;let n=0,[r,s,o,a]=t>0?[0,0,this.children.length,e.children.length]:[this.children.length-1,e.children.length-1,-1,-1];for(;;r+=t,s+=t){if(r==o||s==a)return n;let l=this.children[r],c=e.children[s];if(l!=c)return n+l.scanIdentical(c,t);n+=l.length+1}}static from(e,t=e.reduce((n,r)=>n+r.length+1,-1)){let n=0;for(let O of e)n+=O.lines;if(n<32){let O=[];for(let p of e)p.flatten(O);return new Ge(O,t)}let r=Math.max(32,n>>5),s=r<<1,o=r>>1,a=[],l=0,c=-1,h=[];function f(O){let p;if(O.lines>s&&O instanceof i)for(let m of O.children)f(m);else O.lines>o&&(l>o||!l)?(u(),a.push(O)):O instanceof Ge&&l&&(p=h[h.length-1])instanceof Ge&&O.lines+p.lines<=32?(l+=O.lines,c+=O.length+1,h[h.length-1]=new Ge(p.text.concat(O.text),p.length+1+O.length)):(l+O.lines>r&&u(),l+=O.lines,c+=O.length+1,h.push(O))}function u(){l!=0&&(a.push(h.length==1?h[0]:i.from(h,c)),c=-1,l=h.length=0)}for(let O of e)f(O);return u(),a.length==1?a[0]:new i(a,t)}};K.empty=new Ge([""],0);function a0(i){let e=-1;for(let t of i)e+=t.length+1;return e}function Yr(i,e,t=0,n=1e9){for(let r=0,s=0,o=!0;s=t&&(l>n&&(a=a.slice(0,n-r)),r0?1:(e instanceof Ge?e.text.length:e.children.length)<<1]}nextInner(e,t){for(this.done=this.lineBreak=!1;;){let n=this.nodes.length-1,r=this.nodes[n],s=this.offsets[n],o=s>>1,a=r instanceof Ge?r.text.length:r.children.length;if(o==(t>0?a:0)){if(n==0)return this.done=!0,this.value="",this;t>0&&this.offsets[n-1]++,this.nodes.pop(),this.offsets.pop()}else if((s&1)==(t>0?0:1)){if(this.offsets[n]+=t,e==0)return this.lineBreak=!0,this.value=` +`,this;e--}else if(r instanceof Ge){let l=r.text[o+(t<0?-1:0)];if(this.offsets[n]+=t,l.length>Math.max(0,e))return this.value=e==0?l:t>0?l.slice(e):l.slice(0,l.length-e),this;e-=l.length}else{let l=r.children[o+(t<0?-1:0)];e>l.length?(e-=l.length,this.offsets[n]+=t):(t<0&&this.offsets[n]--,this.nodes.push(l),this.offsets.push(t>0?1:(l instanceof Ge?l.text.length:l.children.length)<<1))}}}next(e=0){return e<0&&(this.nextInner(-e,-this.dir),e=this.value.length),this.nextInner(e,this.dir)}},Ir=class{constructor(e,t,n){this.value="",this.done=!1,this.cursor=new Ci(e,t>n?-1:1),this.pos=t>n?e.length:0,this.from=Math.min(t,n),this.to=Math.max(t,n)}nextInner(e,t){if(t<0?this.pos<=this.from:this.pos>=this.to)return this.value="",this.done=!0,this;e+=Math.max(0,t<0?this.pos-this.to:this.from-this.pos);let n=t<0?this.pos-this.from:this.to-this.pos;e>n&&(e=n),n-=e;let{value:r}=this.cursor.next(e);return this.pos+=(r.length+e)*t,this.value=r.length<=n?r:t<0?r.slice(r.length-n):r.slice(0,n),this.done=!this.value,this}next(e=0){return e<0?e=Math.max(e,this.from-this.pos):e>0&&(e=Math.min(e,this.to-this.pos)),this.nextInner(e,this.cursor.dir)}get lineBreak(){return this.cursor.lineBreak&&this.value!=""}},Br=class{constructor(e){this.inner=e,this.afterBreak=!0,this.value="",this.done=!1}next(e=0){let{done:t,lineBreak:n,value:r}=this.inner.next(e);return t&&this.afterBreak?(this.value="",this.afterBreak=!1):t?(this.done=!0,this.value=""):n?this.afterBreak?this.value="":(this.afterBreak=!0,this.next()):(this.value=r,this.afterBreak=!1),this}get lineBreak(){return!1}};typeof Symbol<"u"&&(K.prototype[Symbol.iterator]=function(){return this.iter()},Ci.prototype[Symbol.iterator]=Ir.prototype[Symbol.iterator]=Br.prototype[Symbol.iterator]=function(){return this});var zo=class{constructor(e,t,n,r){this.from=e,this.to=t,this.number=n,this.text=r}get length(){return this.to-this.from}};function sn(i,e,t){return e=Math.max(0,Math.min(i.length,e)),[e,Math.max(e,Math.min(i.length,t))]}function ke(i,e,t=!0,n=!0){return Gh(i,e,t,n)}function l0(i){return i>=56320&&i<57344}function c0(i){return i>=55296&&i<56320}function si(i,e){let t=i.charCodeAt(e);if(!c0(t)||e+1==i.length)return t;let n=i.charCodeAt(e+1);return l0(n)?(t-55296<<10)+(n-56320)+65536:t}function rf(i){return i<=65535?String.fromCharCode(i):(i-=65536,String.fromCharCode((i>>10)+55296,(i&1023)+56320))}function on(i){return i<65536?1:2}var Lo=/\r\n?|\n/,ge=(function(i){return i[i.Simple=0]="Simple",i[i.TrackDel=1]="TrackDel",i[i.TrackBefore=2]="TrackBefore",i[i.TrackAfter=3]="TrackAfter",i})(ge||(ge={})),zt=class i{constructor(e){this.sections=e}get length(){let e=0;for(let t=0;te)return s+(e-r);s+=a}else{if(n!=ge.Simple&&c>=e&&(n==ge.TrackDel&&re||n==ge.TrackBefore&&re))return null;if(c>e||c==e&&t<0&&!a)return e==r||t<0?s:s+l;s+=l}r=c}if(e>r)throw new RangeError(`Position ${e} is out of range for changeset of length ${r}`);return s}touchesRange(e,t=e){for(let n=0,r=0;n=0&&r<=t&&a>=e)return rt?"cover":!0;r=a}return!1}toString(){let e="";for(let t=0;t=0?":"+r:"")}return e}toJSON(){return this.sections}static fromJSON(e){if(!Array.isArray(e)||e.length%2||e.some(t=>typeof t!="number"))throw new RangeError("Invalid JSON representation of ChangeDesc");return new i(e)}static create(e){return new i(e)}},qe=class i extends zt{constructor(e,t){super(e),this.inserted=t}apply(e){if(this.length!=e.length)throw new RangeError("Applying change set to a document with the wrong length");return Mo(this,(t,n,r,s,o)=>e=e.replace(r,r+(n-t),o),!1),e}mapDesc(e,t=!1){return Wo(this,e,t,!0)}invert(e){let t=this.sections.slice(),n=[];for(let r=0,s=0;r=0){t[r]=a,t[r+1]=o;let l=r>>1;for(;n.length0&&ri(n,t,s.text),s.forward(h),a+=h}let c=e[o++];for(;a>1].toJSON()))}return e}static of(e,t,n){let r=[],s=[],o=0,a=null;function l(h=!1){if(!h&&!r.length)return;ou||f<0||u>t)throw new RangeError(`Invalid change range ${f} to ${u} (in doc of length ${t})`);let p=O?typeof O=="string"?K.of(O.split(n||Lo)):O:K.empty,m=p.length;if(f==u&&m==0)return;fo&&Xe(r,f-o,-1),Xe(r,u-f,m),ri(s,r,p),o=u}}return c(e),l(!a),a}static empty(e){return new i(e?[e,-1]:[],[])}static fromJSON(e){if(!Array.isArray(e))throw new RangeError("Invalid JSON representation of ChangeSet");let t=[],n=[];for(let r=0;ra&&typeof o!="string"))throw new RangeError("Invalid JSON representation of ChangeSet");if(s.length==1)t.push(s[0],0);else{for(;n.length=0&&t<=0&&t==i[r+1]?i[r]+=e:r>=0&&e==0&&i[r]==0?i[r+1]+=t:n?(i[r]+=e,i[r+1]+=t):i.push(e,t)}function ri(i,e,t){if(t.length==0)return;let n=e.length-2>>1;if(n>1])),!(t||o==i.sections.length||i.sections[o+1]<0);)a=i.sections[o++],l=i.sections[o++];e(r,c,s,h,f),r=c,s=h}}}function Wo(i,e,t,n=!1){let r=[],s=n?[]:null,o=new Xi(i),a=new Xi(e);for(let l=-1;;){if(o.done&&a.len||a.done&&o.len)throw new Error("Mismatched change set lengths");if(o.ins==-1&&a.ins==-1){let c=Math.min(o.len,a.len);Xe(r,c,-1),o.forward(c),a.forward(c)}else if(a.ins>=0&&(o.ins<0||l==o.i||o.off==0&&(a.len=0&&l=0){let c=0,h=o.len;for(;h;)if(a.ins==-1){let f=Math.min(h,a.len);c+=f,h-=f,a.forward(f)}else if(a.ins==0&&a.lenl||o.ins>=0&&o.len>l)&&(a||n.length>c),s.forward2(l),o.forward(l)}}}}var Xi=class{constructor(e){this.set=e,this.i=0,this.next()}next(){let{sections:e}=this.set;this.i>1;return t>=e.length?K.empty:e[t]}textBit(e){let{inserted:t}=this.set,n=this.i-2>>1;return n>=t.length&&!e?K.empty:t[n].slice(this.off,e==null?void 0:this.off+e)}forward(e){e==this.len?this.next():(this.len-=e,this.off+=e)}forward2(e){this.ins==-1?this.forward(e):e==this.ins?this.next():(this.ins-=e,this.off+=e)}},vi=class i{constructor(e,t,n,r){this.from=e,this.to=t,this.flags=n,this.goalColumn=r}get anchor(){return this.flags&32?this.to:this.from}get head(){return this.flags&32?this.from:this.to}get empty(){return this.from==this.to}get assoc(){return this.flags&8?-1:this.flags&16?1:0}get undirectional(){return(this.flags&64)>0}get bidiLevel(){let e=this.flags&7;return e==7?null:e}map(e,t=-1){let n,r;return this.empty?n=r=e.mapPos(this.from,t):(n=e.mapPos(this.from,1),r=e.mapPos(this.to,-1)),n==this.from&&r==this.to?this:new i(n,r,this.flags,this.goalColumn)}extend(e,t=e,n=0){if(e<=this.anchor&&t>=this.anchor)return P.range(e,t,void 0,void 0,n);let r=Math.abs(e-this.anchor)>Math.abs(t-this.anchor)?e:t;return P.range(this.anchor,r,void 0,void 0,n)}eq(e,t=!1){return this.anchor==e.anchor&&this.head==e.head&&this.goalColumn==e.goalColumn&&(!t||!this.empty||this.assoc==e.assoc)}toJSON(){return{anchor:this.anchor,head:this.head}}static fromJSON(e){if(!e||typeof e.anchor!="number"||typeof e.head!="number")throw new RangeError("Invalid JSON representation for SelectionRange");return P.range(e.anchor,e.head)}static create(e,t,n,r){return new i(e,t,n,r)}},P=class i{constructor(e,t){this.ranges=e,this.mainIndex=t}map(e,t=-1){return e.empty?this:i.create(this.ranges.map(n=>n.map(e,t)),this.mainIndex)}eq(e,t=!1){if(this.ranges.length!=e.ranges.length||this.mainIndex!=e.mainIndex)return!1;for(let n=0;ne.toJSON()),main:this.mainIndex}}static fromJSON(e){if(!e||!Array.isArray(e.ranges)||typeof e.main!="number"||e.main>=e.ranges.length)throw new RangeError("Invalid JSON representation for EditorSelection");return new i(e.ranges.map(t=>vi.fromJSON(t)),e.main)}static single(e,t=e){return new i([i.range(e,t)],0)}static create(e,t=0){if(e.length==0)throw new RangeError("A selection needs at least one range");for(let n=0,r=0;rr.from-s.from),t=e.indexOf(n);for(let r=1;rs.head?i.range(l,a):i.range(a,l))}}return new i(e,t)}};function of(i,e){for(let t of i.ranges)if(t.to>e)throw new RangeError("Selection points outside of document")}var Fo=0,Y=class i{constructor(e,t,n,r,s){this.combine=e,this.compareInput=t,this.compare=n,this.isStatic=r,this.id=Fo++,this.default=e([]),this.extensions=typeof s=="function"?s(this):s}get reader(){return this}static define(e={}){return new i(e.combine||(t=>t),e.compareInput||((t,n)=>t===n),e.compare||(e.combine?(t,n)=>t===n:Ho),!!e.static,e.enables)}of(e){return new nn([],this,0,e)}compute(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new nn(e,this,1,t)}computeN(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new nn(e,this,2,t)}from(e,t){return t||(t=n=>n),this.compute([e],n=>t(n.field(e)))}};function Ho(i,e){return i==e||i.length==e.length&&i.every((t,n)=>t===e[n])}var nn=class{constructor(e,t,n,r){this.dependencies=e,this.facet=t,this.type=n,this.value=r,this.id=Fo++}dynamicSlot(e){var t;let n=this.value,r=this.facet.compareInput,s=this.id,o=e[s]>>1,a=this.type==2,l=!1,c=!1,h=[];for(let f of this.dependencies)f=="doc"?l=!0:f=="selection"?c=!0:(((t=e[f.id])!==null&&t!==void 0?t:1)&1)==0&&h.push(e[f.id]);return{create(f){return f.values[o]=n(f),1},update(f,u){if(l&&u.docChanged||c&&(u.docChanged||u.selection)||jo(f,h)){let O=n(f);if(a?!Jh(O,f.values[o],r):!r(O,f.values[o]))return f.values[o]=O,1}return 0},reconfigure:(f,u)=>{let O,p=u.config.address[s];if(p!=null){let m=Fr(u,p);if(this.dependencies.every(b=>b instanceof Y?u.facet(b)===f.facet(b):b instanceof he?u.field(b,!1)==f.field(b,!1):!0)||(a?Jh(O=n(f),m,r):r(O=n(f),m)))return f.values[o]=m,0}else O=n(f);return f.values[o]=O,1}}}get extension(){return this}};function Jh(i,e,t){if(i.length!=e.length)return!1;for(let n=0;ni[l.id]),r=t.map(l=>l.type),s=n.filter(l=>!(l&1)),o=i[e.id]>>1;function a(l){let c=[];for(let h=0;hn===r),e);return e.provide&&(t.provides=e.provide(t)),t}create(e){let t=e.facet(jr).find(n=>n.field==this);return(t?.create||this.createF)(e)}slot(e){let t=e[this.id]>>1;return{create:n=>(n.values[t]=this.create(n),1),update:(n,r)=>{let s=n.values[t],o=this.updateF(s,r);return this.compareF(s,o)?0:(n.values[t]=o,1)},reconfigure:(n,r)=>{let s=n.facet(jr),o=r.facet(jr),a;return(a=s.find(l=>l.field==this))&&a!=o.find(l=>l.field==this)?(n.values[t]=a.create(n),1):r.config.address[this.id]!=null?(n.values[t]=r.field(this),0):(n.values[t]=this.create(n),1)}}}init(e){return[this,jr.of({field:this,create:e})]}get extension(){return this}},$i={lowest:4,low:3,default:2,high:1,highest:0};function Mn(i){return e=>new Ur(e,i)}var nt={highest:Mn($i.highest),high:Mn($i.high),default:Mn($i.default),low:Mn($i.low),lowest:Mn($i.lowest)},Ur=class{constructor(e,t){this.inner=e,this.prec=t}get extension(){return this}},Gr=class i{of(e){return new jn(this,e)}reconfigure(e){return i.reconfigure.of({compartment:this,extension:e})}get(e){return e.config.compartments.get(this)}},jn=class{constructor(e,t){this.compartment=e,this.inner=t}get extension(){return this}},Nr=class i{constructor(e,t,n,r,s,o){for(this.base=e,this.compartments=t,this.dynamicSlots=n,this.address=r,this.staticValues=s,this.facets=o,this.statusTemplate=[];this.statusTemplate.length>1]}static resolve(e,t,n){let r=[],s=Object.create(null),o=new Map;for(let u of f0(e,t,o))u instanceof he?r.push(u):(s[u.facet.id]||(s[u.facet.id]=[])).push(u);let a=Object.create(null),l=[],c=[];for(let u of r)a[u.id]=c.length<<1,c.push(O=>u.slot(O));let h=n?.config.facets;for(let u in s){let O=s[u],p=O[0].facet,m=h&&h[u]||[];if(O.every(b=>b.type==0))if(a[p.id]=l.length<<1|1,Ho(m,O))l.push(n.facet(p));else{let b=p.combine(O.map(g=>g.value));l.push(n&&p.compare(b,n.facet(p))?n.facet(p):b)}else{for(let b of O)b.type==0?(a[b.id]=l.length<<1|1,l.push(b.value)):(a[b.id]=c.length<<1,c.push(g=>b.dynamicSlot(g)));a[p.id]=c.length<<1,c.push(b=>h0(b,p,O))}}let f=c.map(u=>u(a));return new i(e,o,f,a,l,s)}};function f0(i,e,t){let n=[[],[],[],[],[]],r=new Map;function s(o,a){let l=r.get(o);if(l!=null){if(l<=a)return;let c=n[l].indexOf(o);c>-1&&n[l].splice(c,1),o instanceof jn&&t.delete(o.compartment)}if(r.set(o,a),Array.isArray(o))for(let c of o)s(c,a);else if(o instanceof jn){if(t.has(o.compartment))throw new RangeError("Duplicate use of compartment in extensions");let c=e.get(o.compartment)||o.inner;t.set(o.compartment,c),s(c,a)}else if(o instanceof Ur)s(o.inner,o.prec);else if(o instanceof he)n[a].push(o),o.provides&&s(o.provides,a);else if(o instanceof nn)n[a].push(o),o.facet.extensions&&s(o.facet.extensions,$i.default);else{let c=o.extension;if(!c)throw new Error(`Unrecognized extension value in extension set (${o}).`);if(c==o)throw new Error(`Unrecognized extension value in extension set (${o}). This sometimes happens because multiple instances of @codemirror/state are loaded, breaking instanceof checks.`);s(c,a)}}return s(i,$i.default),n.reduce((o,a)=>o.concat(a))}function Wn(i,e){if(e&1)return 2;let t=e>>1,n=i.status[t];if(n==4)throw new Error("Cyclic dependency between fields and/or facets");if(n&2)return n;i.status[t]=4;let r=i.computeSlot(i,i.config.dynamicSlots[t]);return i.status[t]=2|r}function Fr(i,e){return e&1?i.config.staticValues[e>>1]:i.values[e>>1]}var af=Y.define(),Vo=Y.define({combine:i=>i.some(e=>e),static:!0}),lf=Y.define({combine:i=>i.length?i[0]:void 0,static:!0}),cf=Y.define(),hf=Y.define(),ff=Y.define(),uf=Y.define({combine:i=>i.length?i[0]:!1}),_e=class{constructor(e,t){this.type=e,this.value=t}static define(){return new Do}},Do=class{of(e){return new _e(this,e)}},Yo=class{constructor(e){this.map=e}of(e){return new te(this,e)}},te=class i{constructor(e,t){this.type=e,this.value=t}map(e){let t=this.type.map(this.value,e);return t===void 0?void 0:t==this.value?this:new i(this.type,t)}is(e){return this.type==e}static define(e={}){return new Yo(e.map||(t=>t))}static mapEffects(e,t){if(!e.length)return e;let n=[];for(let r of e){let s=r.map(t);s&&n.push(s)}return n}};te.reconfigure=te.define();te.appendConfig=te.define();var pe=class i{constructor(e,t,n,r,s,o){this.startState=e,this.changes=t,this.selection=n,this.effects=r,this.annotations=s,this.scrollIntoView=o,this._doc=null,this._state=null,n&&of(n,t.newLength),s.some(a=>a.type==i.time)||(this.annotations=s.concat(i.time.of(Date.now())))}static create(e,t,n,r,s,o){return new i(e,t,n,r,s,o)}get newDoc(){return this._doc||(this._doc=this.changes.apply(this.startState.doc))}get newSelection(){return this.selection||this.startState.selection.map(this.changes)}get state(){return this._state||this.startState.applyTransaction(this),this._state}annotation(e){for(let t of this.annotations)if(t.type==e)return t.value}get docChanged(){return!this.changes.empty}get reconfigured(){return this.startState.config!=this.state.config}isUserEvent(e){let t=this.annotation(i.userEvent);return!!(t&&(t==e||t.length>e.length&&t.slice(0,e.length)==e&&t[e.length]=="."))}};pe.time=_e.define();pe.userEvent=_e.define();pe.addToHistory=_e.define();pe.remote=_e.define();function u0(i,e){let t=[];for(let n=0,r=0;;){let s,o;if(n=i[n]))s=i[n++],o=i[n++];else if(r=0;r--){let s=n[r](i);s instanceof pe?i=s:Array.isArray(s)&&s.length==1&&s[0]instanceof pe?i=s[0]:i=df(e,rn(s),!1)}return i}function d0(i){let e=i.startState,t=e.facet(ff),n=i;for(let r=t.length-1;r>=0;r--){let s=t[r](i);s&&Object.keys(s).length&&(n=Of(n,Io(e,s,i.changes.newLength),!0))}return n==i?i:pe.create(e,i.changes,i.selection,n.effects,n.annotations,n.scrollIntoView)}var p0=[];function rn(i){return i==null?p0:Array.isArray(i)?i:[i]}var Ee=(function(i){return i[i.Word=0]="Word",i[i.Space=1]="Space",i[i.Other=2]="Other",i})(Ee||(Ee={})),m0=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/,Bo;try{Bo=new RegExp("[\\p{Alphabetic}\\p{Number}_]","u")}catch{}function g0(i){if(Bo)return Bo.test(i);for(let e=0;e"\x80"&&(t.toUpperCase()!=t.toLowerCase()||m0.test(t)))return!0}return!1}function Q0(i){return e=>{if(!/\S/.test(e))return Ee.Space;if(g0(e))return Ee.Word;for(let t=0;t-1)return Ee.Word;return Ee.Other}}var se=class i{constructor(e,t,n,r,s,o){this.config=e,this.doc=t,this.selection=n,this.values=r,this.status=e.statusTemplate.slice(),this.computeSlot=s,o&&(o._state=this);for(let a=0;ar.set(c,l)),t=null),r.set(a.value.compartment,a.value.extension)):a.is(te.reconfigure)?(t=null,n=a.value):a.is(te.appendConfig)&&(t=null,n=rn(n).concat(a.value));let s;t?s=e.startState.values.slice():(t=Nr.resolve(n,r,this),s=new i(t,this.doc,this.selection,t.dynamicSlots.map(()=>null),(l,c)=>c.reconfigure(l,this),null).values);let o=e.startState.facet(Vo)?e.newSelection:e.newSelection.asSingle();new i(t,e.newDoc,o,s,(a,l)=>l.update(a,e),e)}replaceSelection(e){return typeof e=="string"&&(e=this.toText(e)),this.changeByRange(t=>({changes:{from:t.from,to:t.to,insert:e},range:P.cursor(t.from+e.length)}))}changeByRange(e){let t=this.selection,n=e(t.ranges[0]),r=this.changes(n.changes),s=[n.range],o=rn(n.effects);for(let a=1;ao.spec.fromJSON(a,l)))}}return i.create({doc:e.doc,selection:P.fromJSON(e.selection),extensions:t.extensions?r.concat([t.extensions]):r})}static create(e={}){let t=Nr.resolve(e.extensions||[],new Map),n=e.doc instanceof K?e.doc:K.of((e.doc||"").split(t.staticFacet(i.lineSeparator)||Lo)),r=e.selection?e.selection instanceof P?e.selection:P.single(e.selection.anchor,e.selection.head):P.single(0);return of(r,n.length),t.staticFacet(Vo)||(r=r.asSingle()),new i(t,n,r,t.dynamicSlots.map(()=>null),(s,o)=>o.create(s),null)}get tabSize(){return this.facet(i.tabSize)}get lineBreak(){return this.facet(i.lineSeparator)||` +`}get readOnly(){return this.facet(uf)}phrase(e,...t){for(let n of this.facet(i.phrases))if(Object.prototype.hasOwnProperty.call(n,e)){e=n[e];break}return t.length&&(e=e.replace(/\$(\$|\d*)/g,(n,r)=>{if(r=="$")return"$";let s=+(r||1);return!s||s>t.length?n:t[s-1]})),e}languageDataAt(e,t,n=-1){let r=[];for(let s of this.facet(af))for(let o of s(this,t,n))Object.prototype.hasOwnProperty.call(o,e)&&r.push(o[e]);return r}charCategorizer(e){let t=this.languageDataAt("wordChars",e);return Q0(t.length?t[0]:"")}wordAt(e){let{text:t,from:n,length:r}=this.doc.lineAt(e),s=this.charCategorizer(e),o=e-n,a=e-n;for(;o>0;){let l=ke(t,o,!1);if(s(t.slice(l,o))!=Ee.Word)break;o=l}for(;ai.length?i[0]:4});se.lineSeparator=lf;se.readOnly=uf;se.phrases=Y.define({compare(i,e){let t=Object.keys(i),n=Object.keys(e);return t.length==n.length&&t.every(r=>i[r]==e[r])}});se.languageData=af;se.changeFilter=cf;se.transactionFilter=hf;se.transactionExtender=ff;Gr.reconfigure=te.define();function Yn(i,e,t={}){let n={};for(let r of i)for(let s of Object.keys(r)){let o=r[s],a=n[s];if(a===void 0)n[s]=o;else if(!(a===o||o===void 0))if(Object.hasOwnProperty.call(t,s))n[s]=t[s](a,o);else throw new Error("Config merge conflict for field "+s)}for(let r in e)n[r]===void 0&&(n[r]=e[r]);return n}var it=class{eq(e){return this==e}range(e,t=e){return Vn.create(e,t,this)}};it.prototype.startSide=it.prototype.endSide=0;it.prototype.point=!1;it.prototype.mapMode=ge.TrackDel;function Ko(i,e){return i==e||i.constructor==e.constructor&&i.eq(e)}var Vn=class i{constructor(e,t,n){this.from=e,this.to=t,this.value=n}static create(e,t,n){return new i(e,t,n)}};function Uo(i,e){return i.from-e.from||i.value.startSide-e.value.startSide}var Go=class i{constructor(e,t,n,r){this.from=e,this.to=t,this.value=n,this.maxPoint=r}get length(){return this.to[this.to.length-1]}findIndex(e,t,n,r=0){let s=n?this.to:this.from;for(let o=r,a=s.length;;){if(o==a)return o;let l=o+a>>1,c=s[l]-e||(n?this.value[l].endSide:this.value[l].startSide)-t;if(l==o)return c>=0?o:a;c>=0?a=l:o=l+1}}between(e,t,n,r){for(let s=this.findIndex(t,-1e9,!0),o=this.findIndex(n,1e9,!1,s);sO||u==O&&c.startSide>0&&c.endSide<=0)continue;(O-u||c.endSide-c.startSide)<0||(o<0&&(o=u),c.point&&(a=Math.max(a,O-u)),n.push(c),r.push(u-o),s.push(O-o))}return{mapped:n.length?new i(r,s,n,a):null,pos:o}}},ae=class i{constructor(e,t,n,r){this.chunkPos=e,this.chunk=t,this.nextLayer=n,this.maxPoint=r}static create(e,t,n,r){return new i(e,t,n,r)}get length(){let e=this.chunk.length-1;return e<0?0:Math.max(this.chunkEnd(e),this.nextLayer.length)}get size(){if(this.isEmpty)return 0;let e=this.nextLayer.size;for(let t of this.chunk)e+=t.value.length;return e}chunkEnd(e){return this.chunkPos[e]+this.chunk[e].length}update(e){let{add:t=[],sort:n=!1,filterFrom:r=0,filterTo:s=this.length}=e,o=e.filter;if(t.length==0&&!o)return this;if(n&&(t=t.slice().sort(Uo)),this.isEmpty)return t.length?i.of(t):this;let a=new Hr(this,null,-1).goto(0),l=0,c=[],h=new _i;for(;a.value||l=0){let f=t[l++];h.addInner(f.from,f.to,f.value)||c.push(f)}else a.rangeIndex==1&&a.chunkIndexthis.chunkEnd(a.chunkIndex)||sa.to||s=s&&e<=s+o.length&&o.between(s,e-s,t-s,n)===!1)return}this.nextLayer.between(e,t,n)}}iter(e=0){return Dn.from([this]).goto(e)}get isEmpty(){return this.nextLayer==this}static iter(e,t=0){return Dn.from(e).goto(t)}static compare(e,t,n,r,s=-1){let o=e.filter(f=>f.maxPoint>0||!f.isEmpty&&f.maxPoint>=s),a=t.filter(f=>f.maxPoint>0||!f.isEmpty&&f.maxPoint>=s),l=ef(o,a,n),c=new Ti(o,l,s),h=new Ti(a,l,s);n.iterGaps((f,u,O)=>tf(c,f,h,u,O,r)),n.empty&&n.length==0&&tf(c,0,h,0,0,r)}static eq(e,t,n=0,r){r==null&&(r=999999999);let s=e.filter(h=>!h.isEmpty&&t.indexOf(h)<0),o=t.filter(h=>!h.isEmpty&&e.indexOf(h)<0);if(s.length!=o.length)return!1;if(!s.length)return!0;let a=ef(s,o),l=new Ti(s,a,0).goto(n),c=new Ti(o,a,0).goto(n);for(;;){if(l.to!=c.to||!No(l.active,c.active)||l.point&&(!c.point||!Ko(l.point,c.point)))return!1;if(l.to>r)return!0;l.next(),c.next()}}static spans(e,t,n,r,s=-1){let o=new Ti(e,null,s).goto(t),a=t,l=o.openStart;for(;;){let c=Math.min(o.to,n);if(o.point){let h=o.activeForPoint(o.to),f=o.pointFroma&&(r.span(a,c,o.active,l),l=o.openEnd(c));if(o.to>n)return l+(o.point&&o.to>n?1:0);a=o.to,o.next()}}static of(e,t=!1){let n=new _i;for(let r of e instanceof Vn?[e]:t?b0(e):e)n.add(r.from,r.to,r.value);return n.finish()}static join(e){if(!e.length)return i.empty;let t=e[e.length-1];for(let n=e.length-2;n>=0;n--)for(let r=e[n];r!=i.empty;r=r.nextLayer)t=new i(r.chunkPos,r.chunk,t,Math.max(r.maxPoint,t.maxPoint));return t}};ae.empty=new ae([],[],null,-1);function b0(i){if(i.length>1)for(let e=i[0],t=1;t0)return i.slice().sort(Uo);e=n}return i}ae.empty.nextLayer=ae.empty;var _i=class i{finishChunk(e){this.chunks.push(new Go(this.from,this.to,this.value,this.maxPoint)),this.chunkPos.push(this.chunkStart),this.chunkStart=-1,this.setMaxPoint=Math.max(this.setMaxPoint,this.maxPoint),this.maxPoint=-1,e&&(this.from=[],this.to=[],this.value=[])}constructor(){this.chunks=[],this.chunkPos=[],this.chunkStart=-1,this.last=null,this.lastFrom=-1e9,this.lastTo=-1e9,this.from=[],this.to=[],this.value=[],this.maxPoint=-1,this.setMaxPoint=-1,this.nextLayer=null}add(e,t,n){this.addInner(e,t,n)||(this.nextLayer||(this.nextLayer=new i)).add(e,t,n)}addInner(e,t,n){let r=e-this.lastTo||n.startSide-this.last.endSide;if(r<=0&&(e-this.lastFrom||n.startSide-this.last.startSide)<0)throw new Error("Ranges must be added sorted by `from` position and `startSide`");return r<0?!1:(this.from.length==250&&this.finishChunk(!0),this.chunkStart<0&&(this.chunkStart=e),this.from.push(e-this.chunkStart),this.to.push(t-this.chunkStart),this.last=n,this.lastFrom=e,this.lastTo=t,this.value.push(n),n.point&&(this.maxPoint=Math.max(this.maxPoint,t-e)),!0)}addChunk(e,t){if((e-this.lastTo||t.value[0].startSide-this.last.endSide)<0)return!1;this.from.length&&this.finishChunk(!0),this.setMaxPoint=Math.max(this.setMaxPoint,t.maxPoint),this.chunks.push(t),this.chunkPos.push(e);let n=t.value.length-1;return this.last=t.value[n],this.lastFrom=t.from[n]+e,this.lastTo=t.to[n]+e,!0}finish(){return this.finishInner(ae.empty)}finishInner(e){if(this.from.length&&this.finishChunk(!1),this.chunks.length==0)return e;let t=ae.create(this.chunkPos,this.chunks,this.nextLayer?this.nextLayer.finishInner(e):e,this.setMaxPoint);return this.from=null,t}};function ef(i,e,t){let n=new Map;for(let s of i)for(let o=0;o=this.minPoint)break}}setRangeIndex(e){if(e==this.layer.chunk[this.chunkIndex].value.length){if(this.chunkIndex++,this.skip)for(;this.chunkIndex=n&&r.push(new Hr(o,t,n,s));return r.length==1?r[0]:new i(r)}get startSide(){return this.value?this.value.startSide:0}goto(e,t=-1e9){for(let n of this.heap)n.goto(e,t);for(let n=this.heap.length>>1;n>=0;n--)qo(this.heap,n);return this.next(),this}forward(e,t){for(let n of this.heap)n.forward(e,t);for(let n=this.heap.length>>1;n>=0;n--)qo(this.heap,n);(this.to-e||this.value.endSide-t)<0&&this.next()}next(){if(this.heap.length==0)this.from=this.to=1e9,this.value=null,this.rank=-1;else{let e=this.heap[0];this.from=e.from,this.to=e.to,this.value=e.value,this.rank=e.rank,e.value&&e.next(),qo(this.heap,0)}}};function qo(i,e){for(let t=i[e];;){let n=(e<<1)+1;if(n>=i.length)break;let r=i[n];if(n+1=0&&(r=i[n+1],n++),t.compare(r)<0)break;i[n]=t,i[e]=r,e=n}}var Ti=class{constructor(e,t,n){this.minPoint=n,this.active=[],this.activeTo=[],this.activeRank=[],this.minActive=-1,this.point=null,this.pointFrom=0,this.pointRank=0,this.to=-1e9,this.endSide=0,this.openStart=-1,this.cursor=Dn.from(e,t,n)}goto(e,t=-1e9){return this.cursor.goto(e,t),this.active.length=this.activeTo.length=this.activeRank.length=0,this.minActive=-1,this.to=e,this.endSide=t,this.openStart=-1,this.next(),this}forward(e,t){for(;this.minActive>-1&&(this.activeTo[this.minActive]-e||this.active[this.minActive].endSide-t)<0;)this.removeActive(this.minActive);this.cursor.forward(e,t)}removeActive(e){Vr(this.active,e),Vr(this.activeTo,e),Vr(this.activeRank,e),this.minActive=nf(this.active,this.activeTo)}addActive(e){let t=0,{value:n,to:r,rank:s}=this.cursor;for(;t0;)t++;Dr(this.active,t,n),Dr(this.activeTo,t,r),Dr(this.activeRank,t,s),e&&Dr(e,t,this.cursor.from),this.minActive=nf(this.active,this.activeTo)}next(){let e=this.to,t=this.point;this.point=null;let n=this.openStart<0?[]:null;for(;;){let r=this.minActive;if(r>-1&&(this.activeTo[r]-this.cursor.from||this.active[r].endSide-this.cursor.startSide)<0){if(this.activeTo[r]>e){this.to=this.activeTo[r],this.endSide=this.active[r].endSide;break}this.removeActive(r),n&&Vr(n,r)}else if(this.cursor.value)if(this.cursor.from>e){this.to=this.cursor.from,this.endSide=this.cursor.startSide;break}else{let s=this.cursor.value;if(!s.point)this.addActive(n),this.cursor.next();else if(t&&this.cursor.to==this.to&&this.cursor.from=0&&n[r]=0&&!(this.activeRank[n]e||this.activeTo[n]==e&&this.active[n].endSide>=this.point.endSide)&&t.push(this.active[n]);return t.reverse()}openEnd(e){let t=0;for(let n=this.activeTo.length-1;n>=0&&this.activeTo[n]>e;n--)t++;return t}};function tf(i,e,t,n,r,s){i.goto(e),t.goto(n);let o=n+r,a=n,l=n-e,c=!!s.boundChange;for(let h=!1;;){let f=i.to+l-t.to,u=f||i.endSide-t.endSide,O=u<0?i.to+l:t.to,p=Math.min(O,o);if(i.point||t.point?(i.point&&t.point&&Ko(i.point,t.point)&&No(i.activeForPoint(i.to),t.activeForPoint(t.to))||s.comparePoint(a,p,i.point,t.point),h=!1):(h&&s.boundChange(a),p>a&&!No(i.active,t.active)&&s.compareRange(a,p,i.active,t.active),c&&po)break;a=O,u<=0&&i.next(),u>=0&&t.next()}}function No(i,e){if(i.length!=e.length)return!1;for(let t=0;t=e;n--)i[n+1]=i[n];i[e]=t}function nf(i,e){let t=-1,n=1e9;for(let r=0;r=e)return r;if(r==i.length)break;s+=i.charCodeAt(r)==9?t-s%t:1,r=ke(i,r)}return n===!0?-1:i.length}var mf=typeof Symbol>"u"?"__\u037C":Symbol.for("\u037C"),Jo=typeof Symbol>"u"?"__styleSet"+Math.floor(Math.random()*1e8):Symbol("styleSet"),gf=typeof globalThis<"u"?globalThis:typeof window<"u"?window:{},rt=class{constructor(e,t){this.rules=[];let{finish:n}=t||{};function r(o){return/^@/.test(o)?[o]:o.split(/,\s*/)}function s(o,a,l,c){let h=[],f=/^@(\w+)\b/.exec(o[0]),u=f&&f[1]=="keyframes";if(f&&a==null)return l.push(o[0]+";");for(let O in a){let p=a[O];if(/&/.test(O))s(O.split(/,\s*/).map(m=>o.map(b=>m.replace(/&/,b))).reduce((m,b)=>m.concat(b)),p,l);else if(p&&typeof p=="object"){if(!f)throw new RangeError("The value of a property ("+O+") should be a primitive value.");s(r(O),p,h,u)}else p!=null&&h.push(O.replace(/_.*/,"").replace(/[A-Z]/g,m=>"-"+m.toLowerCase())+": "+p+";")}(h.length||u)&&l.push((n&&!f&&!c?o.map(n):o).join(", ")+" {"+h.join(" ")+"}")}for(let o in e)s(r(o),e[o],this.rules)}getRules(){return this.rules.join(` `)}static newName(){let e=gf[mf]||1;return gf[mf]=e+1,"\u037C"+e.toString(36)}static mount(e,t,n){let r=e[Jo],s=n&&n.nonce;r?s&&r.setNonce(s):r=new ea(e,s),r.mount(Array.isArray(t)?t:[t],e)}},Qf=new Map,ea=class{constructor(e,t){let n=e.ownerDocument||e,r=n.defaultView;if(!e.head&&e.adoptedStyleSheets&&r.CSSStyleSheet){let s=Qf.get(n);if(s)return e[Jo]=s;this.sheet=new r.CSSStyleSheet,Qf.set(n,this)}else this.styleTag=n.createElement("style"),t&&this.styleTag.setAttribute("nonce",t);this.modules=[],e[Jo]=this}mount(e,t){let n=this.sheet,r=0,s=0;for(let o=0;o-1&&(this.modules.splice(l,1),s--,l=-1),l==-1){if(this.modules.splice(s++,0,a),n)for(let c=0;c",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},b0=typeof navigator<"u"&&/Mac/.test(navigator.platform),S0=typeof navigator<"u"&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent);for(be=0;be<10;be++)Lt[48+be]=Lt[96+be]=String(be);var be;for(be=1;be<=24;be++)Lt[be+111]="F"+be;var be;for(be=65;be<=90;be++)Lt[be]=String.fromCharCode(be+32),an[be]=String.fromCharCode(be);var be;for(Kr in Lt)an.hasOwnProperty(Kr)||(an[Kr]=Lt[Kr]);var Kr;function bf(i){var e=b0&&i.metaKey&&i.shiftKey&&!i.ctrlKey&&!i.altKey||S0&&i.shiftKey&&i.key&&i.key.length==1||i.key=="Unidentified",t=!e&&i.key||(i.shiftKey?an:Lt)[i.keyCode]||i.key||"Unidentified";return t=="Esc"&&(t="Escape"),t=="Del"&&(t="Delete"),t=="Left"&&(t="ArrowLeft"),t=="Up"&&(t="ArrowUp"),t=="Right"&&(t="ArrowRight"),t=="Down"&&(t="ArrowDown"),t}var ze=typeof navigator<"u"?navigator:{userAgent:"",vendor:"",platform:""},oa=typeof document<"u"?document:{documentElement:{style:{}}},aa=/Edge\/(\d+)/.exec(ze.userAgent),Uf=/MSIE \d/.test(ze.userAgent),la=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(ze.userAgent),Ss=!!(Uf||la||aa),Sf=!Ss&&/gecko\/(\d+)/i.test(ze.userAgent),ta=!Ss&&/Chrome\/(\d+)/.exec(ze.userAgent),yf="webkitFontSmoothing"in oa.documentElement.style,ca=!Ss&&/Apple Computer/.test(ze.vendor),kf=ca&&(/Mobile\/\w+/.test(ze.userAgent)||ze.maxTouchPoints>2),L={mac:kf||/Mac/.test(ze.platform),windows:/Win/.test(ze.platform),linux:/Linux|X11/.test(ze.platform),ie:Ss,ie_version:Uf?oa.documentMode||6:la?+la[1]:aa?+aa[1]:0,gecko:Sf,gecko_version:Sf?+(/Firefox\/(\d+)/.exec(ze.userAgent)||[0,0])[1]:0,chrome:!!ta,chrome_version:ta?+ta[1]:0,ios:kf,android:/Android\b/.test(ze.userAgent),webkit:yf,webkit_version:yf?+(/\bAppleWebKit\/(\d+)/.exec(ze.userAgent)||[0,0])[1]:0,safari:ca,safari_version:ca?+(/\bVersion\/(\d+(\.\d+)?)/.exec(ze.userAgent)||[0,0])[1]:0,tabSize:oa.documentElement.style.tabSize!=null?"tab-size":"-moz-tab-size"};function Ya(i,e){for(let t in i)t=="class"&&e.class?e.class+=" "+i.class:t=="style"&&e.style?e.style+=";"+i.style:e[t]=i[t];return e}var ls=Object.create(null);function Ia(i,e,t){if(i==e)return!0;i||(i=ls),e||(e=ls);let n=Object.keys(i),r=Object.keys(e);if(n.length-(t&&n.indexOf(t)>-1?1:0)!=r.length-(t&&r.indexOf(t)>-1?1:0))return!1;for(let s of n)if(s!=t&&(r.indexOf(s)==-1||i[s]!==e[s]))return!1;return!0}function y0(i,e){for(let t=i.attributes.length-1;t>=0;t--){let n=i.attributes[t].name;e[n]==null&&i.removeAttribute(n)}for(let t in e){let n=e[t];t=="style"?i.style.cssText=n:i.getAttribute(t)!=n&&i.setAttribute(t,n)}}function xf(i,e,t){let n=!1;if(e)for(let r in e)t&&r in t||(n=!0,r=="style"?i.style.cssText="":i.removeAttribute(r));if(t)for(let r in t)e&&e[r]==t[r]||(n=!0,r=="style"?i.style.cssText=t[r]:i.setAttribute(r,t[r]));return n}function k0(i){let e=Object.create(null);for(let t=0;t0?3e8:-4e8:t>0?1e8:-1e8,new Zi(e,t,t,n,e.widget||null,!1)}static replace(e){let t=!!e.block,n,r;if(e.isBlockGap)n=-5e8,r=4e8;else{let{start:s,end:o}=Gf(e,t);n=(s?t?-3e8:-1:5e8)-1,r=(o?t?2e8:1:-6e8)+1}return new Zi(e,n,r,t,e.widget||null,!0)}static line(e){return new ir(e)}static set(e,t=!1){return ae.of(e,t)}hasHeight(){return this.widget?this.widget.estimatedHeight>-1:!1}};A.none=ae.empty;var tr=class i extends A{constructor(e){let{start:t,end:n}=Gf(e);super(t?-1:5e8,n?1:-6e8,null,e),this.tagName=e.tagName||"span",this.attrs=e.class&&e.attributes?Ya(e.attributes,{class:e.class}):e.class?{class:e.class}:e.attributes||ls}eq(e){return this==e||e instanceof i&&this.tagName==e.tagName&&Ia(this.attrs,e.attrs)}range(e,t=e){if(e>=t)throw new RangeError("Mark decorations may not be empty");return super.range(e,t)}};tr.prototype.point=!1;var ir=class i extends A{constructor(e){super(-2e8,-2e8,null,e)}eq(e){return e instanceof i&&this.spec.class==e.spec.class&&Ia(this.spec.attributes,e.spec.attributes)}range(e,t=e){if(t!=e)throw new RangeError("Line decoration ranges must be zero-length");return super.range(e,t)}};ir.prototype.mapMode=ge.TrackBefore;ir.prototype.point=!0;var Zi=class i extends A{constructor(e,t,n,r,s,o){super(t,n,s,e),this.block=r,this.isReplace=o,this.mapMode=r?t<=0?ge.TrackBefore:ge.TrackAfter:ge.TrackDel}get type(){return this.startSide!=this.endSide?ct.WidgetRange:this.startSide<=0?ct.WidgetBefore:ct.WidgetAfter}get heightRelevant(){return this.block||!!this.widget&&(this.widget.estimatedHeight>=5||this.widget.lineBreaks>0)}eq(e){return e instanceof i&&x0(this.widget,e.widget)&&this.block==e.block&&this.startSide==e.startSide&&this.endSide==e.endSide}range(e,t=e){if(this.isReplace&&(e>t||e==t&&this.startSide>0&&this.endSide<=0))throw new RangeError("Invalid range for replacement decoration");if(!this.isReplace&&t!=e)throw new RangeError("Widget decorations can only have zero-length ranges");return super.range(e,t)}};Zi.prototype.point=!0;function Gf(i,e=!1){let{inclusiveStart:t,inclusiveEnd:n}=i;return t==null&&(t=i.inclusive),n==null&&(n=i.inclusive),{start:t??e,end:n??e}}function x0(i,e){return i==e||!!(i&&e&&i.compare(e))}function fn(i,e,t,n=0){let r=t.length-1;r>=0&&t[r]+n>=i?t[r]=Math.max(t[r],e):t.push(i,e)}var li=class i extends it{constructor(e,t,n){super(),this.tagName=e,this.attributes=t,this.rank=n}eq(e){return e==this||e instanceof i&&this.tagName==e.tagName&&Ia(this.attributes,e.attributes)}static create(e){return new i(e.tagName,e.attributes||ls,e.rank==null?50:Math.max(0,Math.min(e.rank,100)))}static set(e,t=!1){return ae.of(e,t)}};li.prototype.startSide=li.prototype.endSide=-1;function nr(i){let e;return i.nodeType==11?e=i.getSelection?i:i.ownerDocument:e=i,e.getSelection()}function ha(i,e){return e?i==e||i.contains(e.nodeType!=1?e.parentNode:e):!1}function Gn(i,e){if(!e.anchorNode)return!1;try{return ha(i,e.anchorNode)}catch{return!1}}function os(i){return i.nodeType==3?rr(i,0,i.nodeValue.length).getClientRects():i.nodeType==1?i.getClientRects():[]}function Nn(i,e,t,n){return t?wf(i,e,t,n,-1)||wf(i,e,t,n,1):!1}function ci(i){for(var e=0;;e++)if(i=i.previousSibling,!i)return e}function cs(i){return i.nodeType==1&&/^(DIV|P|LI|UL|OL|BLOCKQUOTE|DD|DT|H\d|SECTION|PRE)$/.test(i.nodeName)}function wf(i,e,t,n,r){for(;;){if(i==t&&e==n)return!0;if(e==(r<0?0:jt(i))){if(i.nodeName=="DIV")return!1;let s=i.parentNode;if(!s||s.nodeType!=1)return!1;e=ci(i)+(r<0?0:1),i=s}else if(i.nodeType==1){if(i=i.childNodes[e+(r<0?-1:0)],i.nodeType==1&&i.contentEditable=="false")return!1;e=r<0?jt(i):0}else return!1}}function jt(i){return i.nodeType==3?i.nodeValue.length:i.childNodes.length}function hs(i,e){let{left:t,right:n}=i;if(t==n)return i;let r=e?t:n;return{left:r,right:r,top:i.top,bottom:i.bottom}}function w0(i){let e=i.visualViewport;return e?{left:0,right:e.width,top:0,bottom:e.height}:{left:0,right:i.innerWidth,top:0,bottom:i.innerHeight}}function Nf(i,e){let t=e.width/i.offsetWidth,n=e.height/i.offsetHeight;return(t>.995&&t<1.005||!isFinite(t)||Math.abs(e.width-i.offsetWidth)<1)&&(t=1),(n>.995&&n<1.005||!isFinite(n)||Math.abs(e.height-i.offsetHeight)<1)&&(n=1),{scaleX:t,scaleY:n}}function P0(i,e,t,n,r,s,o,a){let l=i.ownerDocument,c=l.defaultView||window;for(let h=i,f=!1;h&&!f;)if(h.nodeType==1){let u,O=h==l.body,p=1,m=1;if(O)u=w0(c);else{if(/^(fixed|sticky)$/.test(getComputedStyle(h).position)&&(f=!0),h.scrollHeight<=h.clientHeight&&h.scrollWidth<=h.clientWidth){h=h.assignedSlot||h.parentNode;continue}let Q=h.getBoundingClientRect();({scaleX:p,scaleY:m}=Nf(h,Q)),u={left:Q.left,right:Q.left+h.clientWidth*p,top:Q.top,bottom:Q.top+h.clientHeight*m}}let b=0,g=0;if(r=="nearest")e.top0&&e.bottom>u.bottom+g&&(g=e.bottom-u.bottom+o)):e.bottom>u.bottom-o&&(g=e.bottom-u.bottom+o,t<0&&e.top-g0&&e.right>u.right+b&&(b=e.right-u.right+s)):e.right>u.right-s&&(b=e.right-u.right+s,t<0&&e.leftu.bottom||e.leftu.right)&&(e={left:Math.max(e.left,u.left),right:Math.min(e.right,u.right),top:Math.max(e.top,u.top),bottom:Math.min(e.bottom,u.bottom)}),h=h.assignedSlot||h.parentNode}else if(h.nodeType==11)h=h.host;else break}function Ff(i,e=!0){let t=i.ownerDocument,n=null,r=null;for(let s=i.parentNode;s&&!(s==t.body||(!e||n)&&r);)if(s.nodeType==1)!r&&s.scrollHeight>s.clientHeight&&(r=s),e&&!n&&s.scrollWidth>s.clientWidth&&(n=s),s=s.assignedSlot||s.parentNode;else if(s.nodeType==11)s=s.host;else break;return{x:n,y:r}}var fa=class{constructor(){this.anchorNode=null,this.anchorOffset=0,this.focusNode=null,this.focusOffset=0}eq(e){return this.anchorNode==e.anchorNode&&this.anchorOffset==e.anchorOffset&&this.focusNode==e.focusNode&&this.focusOffset==e.focusOffset}setRange(e){let{anchorNode:t,focusNode:n}=e;this.set(t,Math.min(e.anchorOffset,t?jt(t):0),n,Math.min(e.focusOffset,n?jt(n):0))}set(e,t,n,r){this.anchorNode=e,this.anchorOffset=t,this.focusNode=n,this.focusOffset=r}},Ri=null;L.safari&&L.safari_version>=26&&(Ri=!1);function Hf(i){if(i.setActive)return i.setActive();if(Ri)return i.focus(Ri);let e=[];for(let t=i;t&&(e.push(t,t.scrollTop,t.scrollLeft),t!=t.ownerDocument);t=t.parentNode);if(i.focus(Ri==null?{get preventScroll(){return Ri={preventScroll:!0},!0}}:void 0),!Ri){Ri=!1;for(let t=0;tMath.max(0,i.document.documentElement.scrollHeight-i.innerHeight-4):i.scrollTop>Math.max(1,i.scrollHeight-i.clientHeight-4)}function Jf(i,e){for(let t=i,n=e;;){if(t.nodeType==3&&n>0)return{node:t,offset:n};if(t.nodeType==1&&n>0){if(t.contentEditable=="false")return null;t=t.childNodes[n-1],n=jt(t)}else if(t.parentNode&&!cs(t))n=ci(t),t=t.parentNode;else return null}}function eu(i,e){for(let t=i,n=e;;){if(t.nodeType==3&&n=t){if(a.level==n)return o;(s<0||(r!=0?r<0?a.fromt:e[s].level>a.level))&&(s=o)}}if(s<0)throw new RangeError("Index out of range");return s}};function nu(i,e){if(i.length!=e.length)return!1;for(let t=0;t=0;m-=3)if($t[m+1]==-O){let b=$t[m+2],g=b&2?r:b&4?b&1?s:r:0;g&&(oe[f]=oe[$t[m]]=g),a=m;break}}else{if($t.length==189)break;$t[a++]=f,$t[a++]=u,$t[a++]=l}else if((p=oe[f])==2||p==1){let m=p==r;l=m?0:1;for(let b=a-3;b>=0;b-=3){let g=$t[b+2];if(g&2)break;if(m)$t[b+2]|=2;else{if(g&4)break;$t[b+2]|=4}}}}}function A0(i,e,t,n){for(let r=0,s=n;r<=t.length;r++){let o=r?t[r-1].to:i,a=rl;)p==b&&(p=t[--m].from,b=m?t[m-1].to:i),oe[--p]=O;l=h}else s=c,l++}}}function Oa(i,e,t,n,r,s,o){let a=n%2?2:1;if(n%2==r%2)for(let l=e,c=0;ll&&o.push(new at(l,m.from,O));let b=m.direction==Ei!=!(O%2);da(i,b?n+1:n,r,m.inner,m.from,m.to,o),l=m.to}p=m.to}else{if(p==t||(h?oe[p]!=a:oe[p]==a))break;p++}u?Oa(i,l,p,n+1,r,u,o):le;){let h=!0,f=!1;if(!c||l>s[c-1].to){let m=oe[l-1];m!=a&&(h=!1,f=m==16)}let u=!h&&a==1?[]:null,O=h?n:n+1,p=l;e:for(;;)if(c&&p==s[c-1].to){if(f)break e;let m=s[--c];if(!h)for(let b=m.from,g=c;;){if(b==e)break e;if(g&&s[g-1].to==b)b=s[--g].from;else{if(oe[b-1]==a)break e;break}}if(u)u.push(m);else{m.tooe.length;)oe[oe.length]=256;let n=[],r=e==Ei?0:1;return da(i,r,r,t,0,i.length,n),n}function ru(i){return[new at(0,i,0)]}var su="";function E0(i,e,t,n,r){var s;let o=n.head-i.from,a=at.find(e,o,(s=n.bidiLevel)!==null&&s!==void 0?s:-1,n.assoc),l=e[a],c=l.side(r,t);if(o==c){let u=a+=r?1:-1;if(u<0||u>=e.length)return null;l=e[a=u],o=l.side(!r,t),c=l.side(r,t)}let h=ke(i.text,o,l.forward(r,t));(hl.to)&&(h=c),su=i.text.slice(Math.min(o,h),Math.max(o,h));let f=a==(r?e.length-1:0)?null:e[a+(r?1:-1)];return f&&h==c&&f.level+(r?0:1)i.some(e=>e)}),z0=Y.define({combine:i=>i.some(e=>e)}),Ou=Y.define(),Fn=class i{constructor(e,t,n,r,s,o=!1){this.range=e,this.y=t,this.x=n,this.yMargin=r,this.xMargin=s,this.isSnapshot=o}map(e){return e.empty?this:new i(this.range.map(e),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}clip(e){return this.range.to<=e.doc.length?this:new i(P.cursor(e.doc.length),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}},Jr=te.define({map:(i,e)=>i.map(e)}),du=te.define();function lt(i,e,t){let n=i.facet(cu);n.length?n[0](e):window.onerror&&window.onerror(String(e),t,void 0,void 0,e)||(t?console.error(t+":",e):console.error(e))}var Mt=Y.define({combine:i=>i.length?i[0]:!0}),L0=0,cn=Y.define({combine(i){return i.filter((e,t)=>{for(let n=0;n{let l=[];return o&&l.push(ys.of(c=>{let h=c.plugin(a);return h?o(h):A.none})),s&&l.push(s(a)),l})}static fromClass(e,t){return i.define((n,r)=>new e(n,r),t)}},Hn=class{constructor(e){this.spec=e,this.mustUpdate=null,this.value=null}get plugin(){return this.spec&&this.spec.plugin}update(e){if(this.value){if(this.mustUpdate){let t=this.mustUpdate;if(this.mustUpdate=null,this.value.update)try{this.value.update(t)}catch(n){if(lt(t.state,n,"CodeMirror plugin crashed"),this.value.destroy)try{this.value.destroy()}catch{}this.deactivate()}}}else if(this.spec)try{this.value=this.spec.plugin.create(e,this.spec.arg)}catch(t){lt(e.state,t,"CodeMirror plugin crashed"),this.deactivate()}return this}destroy(e){var t;if(!((t=this.value)===null||t===void 0)&&t.destroy)try{this.value.destroy()}catch(n){lt(e.state,n,"CodeMirror plugin crashed")}}deactivate(){this.spec=this.value=null}},pu=Y.define(),Na=Y.define(),ys=Y.define(),mu=Y.define(),Fa=Y.define(),sr=Y.define(),gu=Y.define();function vf(i,e){let t=i.state.facet(gu);if(!t.length)return t;let n=t.map(s=>s instanceof Function?s(i):s),r=[];return ae.spans(n,e.from,e.to,{point(){},span(s,o,a,l){let c=s-e.from,h=o-e.from,f=r;for(let u=a.length-1;u>=0;u--,l--){let O=a[u].spec.bidiIsolate,p;if(O==null&&(O=q0(e.text,c,h)),l>0&&f.length&&(p=f[f.length-1]).to==c&&p.direction==O)p.to=h,f=p.inner;else{let m={from:c,to:h,direction:O,inner:[]};f.push(m),f=m.inner}}}}),r}var Qu=Y.define();function bu(i){let e=0,t=0,n=0,r=0;for(let s of i.state.facet(Qu)){let o=s(i);o&&(o.left!=null&&(e=Math.max(e,o.left)),o.right!=null&&(t=Math.max(t,o.right)),o.top!=null&&(n=Math.max(n,o.top)),o.bottom!=null&&(r=Math.max(r,o.bottom)))}return{left:e,right:t,top:n,bottom:r}}var In=Y.define(),gt=class i{constructor(e,t,n,r){this.fromA=e,this.toA=t,this.fromB=n,this.toB=r}join(e){return new i(Math.min(this.fromA,e.fromA),Math.max(this.toA,e.toA),Math.min(this.fromB,e.fromB),Math.max(this.toB,e.toB))}addToSet(e){let t=e.length,n=this;for(;t>0;t--){let r=e[t-1];if(!(r.fromA>n.toA)){if(r.toAr.push(new gt(s,o,a,l))),this.changedRanges=r}static create(e,t,n){return new i(e,t,n)}get viewportChanged(){return(this.flags&4)>0}get viewportMoved(){return(this.flags&8)>0}get heightChanged(){return(this.flags&2)>0}get geometryChanged(){return this.docChanged||(this.flags&18)>0}get focusChanged(){return(this.flags&1)>0}get docChanged(){return!this.changes.empty}get selectionSet(){return this.transactions.some(e=>e.selection)}get empty(){return this.flags==0&&this.transactions.length==0}},M0=[],fe=class{constructor(e,t,n=0){this.dom=e,this.length=t,this.flags=n,this.parent=null,e.cmTile=this}get breakAfter(){return this.flags&1}get children(){return M0}isWidget(){return!1}get isHidden(){return!1}isComposite(){return!1}isLine(){return!1}isText(){return!1}isBlock(){return!1}get domAttrs(){return null}sync(e){if(this.flags|=2,this.flags&4){this.flags&=-5;let t=this.domAttrs;t&&y0(this.dom,t)}}toString(){return this.constructor.name+(this.children.length?`(${this.children})`:"")+(this.breakAfter?"#":"")}destroy(){this.parent=null}setDOM(e){this.dom=e,e.cmTile=this}get posAtStart(){return this.parent?this.parent.posBefore(this):0}get posAtEnd(){return this.posAtStart+this.length}posBefore(e,t=this.posAtStart){let n=t;for(let r of this.children){if(r==e)return n;n+=r.length+r.breakAfter}throw new RangeError("Invalid child in posBefore")}posAfter(e){return this.posBefore(e)+e.length}covers(e){return!0}coordsIn(e,t,n){return null}domPosFor(e,t){let n=ci(this.dom),r=this.length?e>0:t>0;return new Tt(this.parent.dom,n+(r?1:0),e==0||e==this.length)}markDirty(e){this.flags&=-3,e&&(this.flags|=4),this.parent&&this.parent.flags&2&&this.parent.markDirty(!1)}get overrideDOMText(){return null}get root(){for(let e=this;e;e=e.parent)if(e instanceof dn)return e;return null}static get(e){return e.cmTile}},On=class extends fe{constructor(e){super(e,0),this._children=[]}isComposite(){return!0}get children(){return this._children}get lastChild(){return this.children.length?this.children[this.children.length-1]:null}append(e){this.children.push(e),e.parent=this}sync(e){if(this.flags&2)return;super.sync(e);let t=this.dom,n=null,r,s=e?.node==t?e:null,o=0;for(let a of this.children){if(a.sync(e),o+=a.length+a.breakAfter,r=n?n.nextSibling:t.firstChild,s&&r!=a.dom&&(s.written=!0),a.dom.parentNode==t)for(;r&&r!=a.dom;)r=$f(r);else t.insertBefore(a.dom,r);n=a.dom}for(r=n?n.nextSibling:t.firstChild,s&&r&&(s.written=!0);r;)r=$f(r);this.length=o}};function $f(i){let e=i.nextSibling;return i.parentNode.removeChild(i),e}var dn=class extends On{constructor(e,t){super(t),this.view=e}owns(e){for(;e;e=e.parent)if(e==this)return!0;return!1}isBlock(){return!0}nearest(e){for(;;){if(!e)return null;let t=fe.get(e);if(t&&this.owns(t))return t;e=e.parentNode}}blockTiles(e){for(let t=[],n=this,r=0,s=0;;)if(r==n.children.length){if(!t.length)return;n=n.parent,n.breakAfter&&s++,r=t.pop()}else{let o=n.children[r++];if(o instanceof Wt)t.push(r),n=o,r=0;else{let a=s+o.length,l=e(o,s);if(l!==void 0)return l;s=a+o.breakAfter}}}resolveBlock(e,t){let n,r=-1,s,o=-1;if(this.blockTiles((a,l)=>{let c=l+a.length;if(e>=l&&e<=c){if(a.isWidget()&&t>=-1&&t<=1){if(a.flags&32)return!0;a.flags&16&&(n=void 0)}(le||e==l&&(t>1?a.length:a.covers(-1)))&&(!s||!a.isWidget()&&s.isWidget())&&(s=a,o=e-l)}}),!n&&!s)throw new Error("No tile at position "+e);return n&&t<0||!s?{tile:n,offset:r}:{tile:s,offset:o}}},Wt=class i extends On{constructor(e,t){super(e),this.wrapper=t}isBlock(){return!0}covers(e){return this.children.length?e<0?this.children[0].covers(-1):this.lastChild.covers(1):!1}get domAttrs(){return this.wrapper.attributes}static of(e,t){let n=new i(t||document.createElement(e.tagName),e);return t||(n.flags|=4),n}},pn=class i extends On{constructor(e,t){super(e),this.attrs=t}isLine(){return!0}static start(e,t,n){let r=new i(t||document.createElement("div"),e);return(!t||!n)&&(r.flags|=4),r}get domAttrs(){return this.attrs}resolveInline(e,t,n){let r=null,s=-1,o=null,a=-1;function l(h,f){for(let u=0,O=0;u=f&&(p.isComposite()?l(p,f-O):(!o||o.isHidden&&(t>0&&!(o.flags&32)||n&&j0(o,p)))&&(m>f||p.flags&32)?(o=p,a=f-O):(Or&&(e=r);let s=e,o=e,a=0;e==0&&t<0||e==r&&t>=0?L.chrome||L.gecko||(e?(s--,a=1):o=0)?0:l.length-1];return L.safari&&!a&&c.width==0&&(c=Array.prototype.find.call(l,h=>h.width)||c),n==null?c:hs(c,(a?a>0:t<0)==n)}static of(e,t){let n=new i(t||document.createTextNode(e),e);return t||(n.flags|=2),n}},qi=class i extends fe{constructor(e,t,n,r){super(e,t,r),this.widget=n}isWidget(){return!0}get isHidden(){return this.widget.isHidden}covers(e){return this.flags&48?!1:(this.flags&(e<0?64:128))>0}coordsIn(e,t){return this.coordsInWidget(e,t,!1)}coordsInWidget(e,t,n){let r=this.widget.coordsAt(this.dom,e,t);if(r)return r;if(n)return hs(this.dom.getBoundingClientRect(),this.length?e==0:t<=0);{let s=this.dom.getClientRects(),o=null;if(!s.length)return null;let a=this.flags&16?!0:this.flags&32?!1:e>0;for(let l=a?s.length-1:0;o=s[l],!(e>0?l==0:l==s.length-1||o.top0==n)}},ma=class{constructor(e){this.index=0,this.beforeBreak=!1,this.parents=[],this.tile=e}advance(e,t,n){let{tile:r,index:s,beforeBreak:o,parents:a}=this;for(;e||t>0;)if(r.isComposite())if(o){if(!e)break;n&&n.break(),e--,o=!1}else if(s==r.children.length){if(!e&&!a.length)break;n&&n.leave(r),o=!!r.breakAfter,{tile:r,index:s}=a.pop(),s++}else{let l=r.children[s],c=l.breakAfter;(t>0?l.length<=e:l.length=0;a--){let l=t.marks[a],c=r.lastChild;if(c instanceof je&&c.mark.eq(l.mark))c.dom!=l.dom&&c.setDOM(ia(l.dom)),r=c;else{if(this.cache.reused.get(l)){let f=fe.get(l.dom);f&&f.setDOM(ia(l.dom))}let h=je.of(l.mark,l.dom);r.append(h),r=h}this.cache.reused.set(l,2)}let s=fe.get(e.text);s&&this.cache.reused.set(s,2);let o=new Ai(e.text,e.text.nodeValue);o.flags|=8,this.pos=e.range.toB,r.append(o)}addInlineWidget(e,t,n){let r=this.afterWidget&&e.flags&48&&(this.afterWidget.flags&48)==(e.flags&48);r||this.flushBuffer();let s=this.ensureMarks(t,n);!r&&!(e.flags&16)&&s.append(this.getBuffer(1)),s.append(e),this.pos+=e.length,this.afterWidget=e}addMark(e,t,n){this.flushBuffer(),this.ensureMarks(t,n).append(e),this.pos+=e.length,this.afterWidget=null}addBlockWidget(e){this.getBlockPos().append(e),this.pos+=e.length,this.lastBlock=e,this.endLine()}continueWidget(e){let t=this.afterWidget||this.lastBlock;t.length+=e,this.pos+=e}addLineStart(e,t){var n;e||(e=Su);let r=pn.start(e,t||((n=this.cache.find(pn))===null||n===void 0?void 0:n.dom),!!t);this.getBlockPos().append(this.lastBlock=this.curLine=r)}addLine(e){this.getBlockPos().append(e),this.pos+=e.length,this.lastBlock=e,this.endLine()}addBreak(){this.lastBlock.flags|=1,this.endLine(),this.pos++}addLineStartIfNotCovered(e){this.blockPosCovered()||this.addLineStart(e)}ensureLine(e){this.curLine||this.addLineStart(e)}ensureMarks(e,t){var n;let r=this.curLine;for(let s=e.length-1;s>=0;s--){let o=e[s],a;if(t>0&&(a=r.lastChild)&&a instanceof je&&a.mark.eq(o))r=a,t--;else{let l=je.of(o,(n=this.cache.find(je,c=>c.mark.eq(o)))===null||n===void 0?void 0:n.dom);r.append(l),r=l,t=0}}return r}endLine(){if(this.curLine){this.flushBuffer();let e=this.curLine.lastChild;(!e||!Tf(this.curLine,!1)||e.dom.nodeName!="BR"&&e.isWidget()&&!(L.ios&&Tf(this.curLine,!0)))&&this.curLine.append(this.cache.findWidget(na,0,32)||new qi(na.toDOM(),0,na,32)),this.curLine=this.afterWidget=null}}updateBlockWrappers(){this.wrapperPos>this.pos+1e4&&(this.blockWrappers.goto(this.pos),this.wrappers.length=0);for(let e=this.wrappers.length-1;e>=0;e--)this.wrappers[e].to=this.pos){let t=e.rank*102+e.value.rank,n=new ga(e.from,e.to,e.value,t),r=this.wrappers.length;for(;r>0&&(this.wrappers[r-1].rank-n.rank||this.wrappers[r-1].to-n.to)<0;)r--;this.wrappers.splice(r,0,n)}this.wrapperPos=this.pos}getBlockPos(){var e;this.updateBlockWrappers();let t=this.root;for(let n of this.wrappers){let r=t.lastChild;if(n.fromo.wrapper.eq(n.wrapper)))===null||e===void 0?void 0:e.dom);t.append(s),t=s}}return t}blockPosCovered(){let e=this.lastBlock;return e!=null&&!e.breakAfter&&(!e.isWidget()||(e.flags&160)>0)}getBuffer(e){let t=2|(e<0?16:32),n=this.cache.find(mn,void 0,1);return n&&(n.flags=t),n||new mn(t)}flushBuffer(){this.afterWidget&&!(this.afterWidget.flags&32)&&(this.afterWidget.parent.append(this.getBuffer(-1)),this.afterWidget=null)}},ba=class{constructor(e){this.skipCount=0,this.text="",this.textOff=0,this.cursor=e.iter()}skip(e){this.textOff+e<=this.text.length?this.textOff+=e:(this.skipCount+=e-(this.text.length-this.textOff),this.text="",this.textOff=0)}next(e){if(this.textOff==this.text.length){let{value:r,lineBreak:s,done:o}=this.cursor.next(this.skipCount);if(this.skipCount=0,o)throw new Error("Ran out of text content when drawing inline views");this.text=r;let a=this.textOff=Math.min(e,r.length);return s?null:r.slice(0,a)}let t=Math.min(this.text.length,this.textOff+e),n=this.text.slice(this.textOff,t);return this.textOff=t,n}},us=[qi,pn,Ai,je,mn,Wt,dn];for(let i=0;i[]),this.index=us.map(()=>0),this.reused=new Map}add(e){let t=e.constructor.bucket,n=this.buckets[t];n.length<6?n.push(e):n[this.index[t]=(this.index[t]+1)%6]=e}find(e,t,n=2){let r=e.bucket,s=this.buckets[r],o=this.index[r];for(let a=0;a{if(this.cache.add(o),o.isComposite())return!1},enter:o=>this.cache.add(o),leave:()=>{},break:()=>{}}}run(e,t){let n=t&&this.getCompositionContext(t.text);for(let r=0,s=0,o=0;;){let a=or){let c=l-r;this.preserve(c,!o,!a),r=l,s+=c}if(!a)break;t&&a.fromA<=t.range.fromA&&a.toA>=t.range.toA?(this.forward(a.fromA,t.range.fromA,t.range.fromA{if(o.isWidget())if(this.openWidget)this.builder.continueWidget(l-a);else{let c=l>0||a{o.isLine()?this.builder.addLineStart(o.attrs,this.cache.maybeReuse(o)):(this.cache.add(o),o instanceof je&&r.unshift(o.mark)),this.openWidget=!1},leave:o=>{o.isLine()?r.length&&(r.length=s=0):o instanceof je&&(r.shift(),s=Math.min(s,r.length))},break:()=>{this.builder.addBreak(),this.openWidget=!1}}),this.text.skip(e)}emit(e,t){let n=null,r=this.builder,s=-1,o=ae.spans(this.decorations,e,t,{point:(a,l,c,h,f,u)=>{if(c instanceof Zi){if(this.disallowBlockEffectsFor[u]){if(c.block)throw new RangeError("Block decorations may not be specified via plugins");if(l>this.view.state.doc.lineAt(a).to)throw new RangeError("Decorations that replace line breaks may not be specified via plugins")}if(s=h.length,f>h.length)r.continueWidget(l-a);else{let O=c.widget||(c.block?hi.block:hi.inline),p=V0(c),m=this.cache.findWidget(O,l-a,p)||qi.of(O,this.view,l-a,p);c.block?(c.startSide>0&&r.addLineStartIfNotCovered(n),r.addBlockWidget(m)):(r.ensureLine(n),r.addInlineWidget(m,h,f))}n=null}else n=D0(n,c);l>a&&this.text.skip(l-a)},span:(a,l,c,h)=>{for(let f=a;f-1&&(this.openWidget=o>s),this.openWidget||r.addLineStartIfNotCovered(n),this.openMarks=o}forward(e,t,n=1){t-e<=10?this.old.advance(t-e,n,this.reuseWalker):(this.old.advance(5,-1,this.reuseWalker),this.old.advance(t-e-10,-1),this.old.advance(5,n,this.reuseWalker))}getCompositionContext(e){let t=[],n=null;for(let r=e.parentNode;;r=r.parentNode){let s=fe.get(r);if(r==this.view.contentDOM)break;s instanceof je?t.push(s):s?.isLine()?n=s:s instanceof Wt||(r.nodeName=="DIV"&&!n&&r!=this.view.contentDOM?n=new pn(r,Su):n||t.push(je.of(new tr({tagName:r.nodeName.toLowerCase(),attributes:k0(r)}),r)))}return{line:n,marks:t}}};function Tf(i,e){let t=n=>{for(let r of n.children)if((e?r.isText():r.length)||t(r))return!0;return!1};return t(i)}function V0(i){let e=i.isReplace?(i.startSide<0?64:0)|(i.endSide>0?128:0):i.startSide>0?32:16;return i.block&&(e|=256),e}var Su={class:"cm-line"};function D0(i,e){let t=e.spec.attributes,n=e.spec.class;return!t&&!n||(i||(i={class:"cm-line"}),t&&Ya(t,i),n&&(i.class+=" "+n)),i}function Y0(i){let e=[];for(let t=i.parents.length;t>1;t--){let n=t==i.parents.length?i.tile:i.parents[t].tile;n instanceof je&&e.push(n.mark)}return e}function ia(i){let e=fe.get(i);return e&&e.setDOM(i.cloneNode()),i}var hi=class extends ve{constructor(e){super(),this.tag=e}eq(e){return e.tag==this.tag}toDOM(){return document.createElement(this.tag)}updateDOM(e){return e.nodeName.toLowerCase()==this.tag}get isHidden(){return!0}};hi.inline=new hi("span");hi.block=new hi("div");var na=new class extends ve{toDOM(){return document.createElement("br")}get isHidden(){return!0}get editable(){return!0}},Os=class{constructor(e){this.view=e,this.decorations=[],this.blockWrappers=[],this.dynamicDecorationMap=[!1],this.domChanged=null,this.hasComposition=null,this.editContextFormatting=A.none,this.lastCompositionAfterCursor=!1,this.minWidth=0,this.minWidthFrom=0,this.minWidthTo=0,this.impreciseAnchor=null,this.impreciseHead=null,this.forceSelection=!1,this.lastUpdate=Date.now(),this.updateDeco(),this.tile=new dn(e,e.contentDOM),this.updateInner([new gt(0,0,0,e.state.doc.length)],null)}update(e){var t;let n=e.changedRanges;this.minWidth>0&&n.length&&(n.every(({fromA:h,toA:f})=>fthis.minWidthTo)?(this.minWidthFrom=e.changes.mapPos(this.minWidthFrom,1),this.minWidthTo=e.changes.mapPos(this.minWidthTo,1)):this.minWidth=this.minWidthFrom=this.minWidthTo=0),this.updateEditContextFormatting(e);let r=-1;this.view.inputState.composing>=0&&!this.view.observer.editContext&&(!((t=this.domChanged)===null||t===void 0)&&t.newSel?r=this.domChanged.newSel.head:!K0(e.changes,this.hasComposition)&&!e.selectionSet&&(r=e.state.selection.main.head));let s=r>-1?B0(this.view,e.changes,r):null;if(this.domChanged=null,this.hasComposition){let{from:h,to:f}=this.hasComposition;n=new gt(h,f,e.changes.mapPos(h,-1),e.changes.mapPos(f,1)).addToSet(n.slice())}this.hasComposition=s?{from:s.range.fromB,to:s.range.toB}:null,(L.ie||L.chrome)&&!s&&e&&e.state.doc.lines!=e.startState.doc.lines&&(this.forceSelection=!0);let o=this.decorations,a=this.blockWrappers;this.updateDeco();let l=N0(o,this.decorations,e.changes);l.length&&(n=gt.extendWithRanges(n,l));let c=F0(a,this.blockWrappers,e.changes);return c.length&&(n=gt.extendWithRanges(n,c)),s&&!n.some(h=>h.fromA<=s.range.fromA&&h.toA>=s.range.toA)&&(n=s.range.addToSet(n.slice())),this.tile.flags&2&&n.length==0?!1:(this.updateInner(n,s),e.transactions.length&&(this.lastUpdate=Date.now()),!0)}updateInner(e,t){this.view.viewState.mustMeasureContent=!0;let{observer:n}=this.view;n.ignore(()=>{if(t||e.length){let o=this.tile,a=new ya(this.view,o,this.blockWrappers,this.decorations,this.dynamicDecorationMap);t&&fe.get(t.text)&&a.cache.reused.set(fe.get(t.text),2),this.tile=a.run(e,t),ka(o,a.cache.reused)}this.tile.dom.style.height=this.view.viewState.contentHeight/this.view.scaleY+"px",this.tile.dom.style.flexBasis=this.minWidth?this.minWidth+"px":"";let s=L.chrome||L.ios?{node:n.selectionRange.focusNode,written:!1}:void 0;this.tile.sync(s),s&&(s.written||n.selectionRange.focusNode!=s.node||!this.tile.dom.contains(s.node))&&(this.forceSelection=!0),this.tile.dom.style.height=""});let r=[];if(this.view.viewport.from||this.view.viewport.to-1)&&Gn(n,this.view.observer.selectionRange)&&!(r&&n.contains(r));if(!(s||t||o))return;let a=this.forceSelection;this.forceSelection=!1;let l=this.view.state.selection.main,c,h;if(l.empty?h=c=this.inlineDOMNearPos(l.anchor,l.assoc||1):(h=this.inlineDOMNearPos(l.head,l.head==l.from?1:-1),c=this.inlineDOMNearPos(l.anchor,l.anchor==l.from?1:-1)),L.gecko&&l.empty&&!this.hasComposition&&I0(c)){let u=document.createTextNode("");this.view.observer.ignore(()=>c.node.insertBefore(u,c.node.childNodes[c.offset]||null)),c=h=new Tt(u,0),a=!0}let f=this.view.observer.selectionRange;(a||!f.focusNode||(!Nn(c.node,c.offset,f.anchorNode,f.anchorOffset)||!Nn(h.node,h.offset,f.focusNode,f.focusOffset))&&!this.suppressWidgetCursorChange(f,l))&&(this.view.observer.ignore(()=>{L.android&&L.chrome&&n.contains(f.focusNode)&&H0(f.focusNode,n)&&(n.blur(),n.focus({preventScroll:!0}));let u=nr(this.view.root);if(u)if(l.empty){if(L.gecko){let O=U0(c.node,c.offset);if(O&&O!=3){let p=(O==1?Jf:eu)(c.node,c.offset);p&&(c=new Tt(p.node,p.offset))}}u.collapse(c.node,c.offset),l.bidiLevel!=null&&u.caretBidiLevel!==void 0&&(u.caretBidiLevel=l.bidiLevel)}else if(u.extend){u.collapse(c.node,c.offset);try{u.extend(h.node,h.offset)}catch{}}else{let O=document.createRange();l.anchor>l.head&&([c,h]=[h,c]),O.setEnd(h.node,h.offset),O.setStart(c.node,c.offset),u.removeAllRanges(),u.addRange(O)}o&&this.view.root.activeElement==n&&(n.blur(),r&&r.focus())}),this.view.observer.setSelectionRange(c,h)),this.impreciseAnchor=c.precise?null:new Tt(f.anchorNode,f.anchorOffset),this.impreciseHead=h.precise?null:new Tt(f.focusNode,f.focusOffset)}suppressWidgetCursorChange(e,t){return this.hasComposition&&t.empty&&Nn(e.focusNode,e.focusOffset,e.anchorNode,e.anchorOffset)&&this.posFromDOM(e.focusNode,e.focusOffset)==t.head}enforceCursorAssoc(){if(this.hasComposition)return;let{view:e}=this,t=e.state.selection.main,n=nr(e.root),{anchorNode:r,anchorOffset:s}=e.observer.selectionRange;if(!n||!t.empty||!t.assoc||!n.modify)return;let o=this.lineAt(t.head,t.assoc);if(!o)return;let a=o.posAtStart;if(t.head==a||t.head==a+o.length)return;let l=this.coordsAt(t.head,-1),c=this.coordsAt(t.head,1);if(!l||!c||l.bottom>c.top)return;let h=this.domAtPos(t.head+t.assoc,t.assoc);n.collapse(h.node,h.offset),n.modify("move",t.assoc<0?"forward":"backward","lineboundary"),e.observer.readSelectionRange();let f=e.observer.selectionRange;e.docView.posFromDOM(f.anchorNode,f.anchorOffset)!=t.from&&n.collapse(r,s)}posFromDOM(e,t){let n=this.tile.nearest(e);if(!n)return this.tile.dom.compareDocumentPosition(e)&2?0:this.view.state.doc.length;let r=n.posAtStart;if(n.isComposite()){let s;if(e==n.dom)s=n.dom.childNodes[t];else{let o=jt(e)==0?0:t==0?-1:1;for(;;){let a=e.parentNode;if(a==n.dom)break;o==0&&a.firstChild!=a.lastChild&&(e==a.firstChild?o=-1:o=1),e=a}o<0?s=e:s=e.nextSibling}if(s==n.dom.firstChild)return r;for(;s&&!fe.get(s);)s=s.nextSibling;if(!s)return r+n.length;for(let o=0,a=r;;o++){let l=n.children[o];if(l.dom==s)return a;a+=l.length+l.breakAfter}}else return n.isText()?e==n.dom?r+t:r+(t?n.length:0):r}domAtPos(e,t){let{tile:n,offset:r}=this.tile.resolveBlock(e,t);return n.isWidget()?n.domPosFor(r,t):n.domIn(r,t)}inlineDOMNearPos(e,t){let n,r=-1,s=!1,o,a=-1,l=!1;return this.tile.blockTiles((c,h)=>{if(c.isWidget()){if(c.flags&32&&h>=e)return!0;c.flags&16&&(s=!0)}else{let f=h+c.length;if(h<=e&&(n=c,r=e-h,s=f=e&&!o&&(o=c,a=e-h,l=h>e),h>e&&o)return!0}}),!n&&!o?this.domAtPos(e,t):(s&&o?n=null:l&&n&&(o=null),n&&t<0||!o?n.domIn(r,t):o.domIn(a,t))}coordsAt(e,t,n){let{tile:r,offset:s}=this.tile.resolveBlock(e,t);return r.isWidget()?r.widget instanceof Kn?null:r.coordsInWidget(s,t,!0):r.coordsIn(s,t,n)}lineAt(e,t){let{tile:n}=this.tile.resolveBlock(e,t);return n.isLine()?n:null}coordsForChar(e){let{tile:t,offset:n}=this.tile.resolveBlock(e,1);if(!t.isLine())return null;function r(s,o){if(s.isComposite())for(let a of s.children){if(a.length>=o){let l=r(a,o);if(l)return l}if(o-=a.length,o<0)break}else if(s.isText()&&oMath.max(this.view.scrollDOM.clientWidth,this.minWidth)+1,a=-1,l=this.view.textDirection==ue.LTR,c=0,h=(f,u,O)=>{for(let p=0;pr);p++){let m=f.children[p],b=u+m.length,g=m.dom.getBoundingClientRect(),{height:Q}=g;if(O&&!p&&(c+=g.top-O.top),m instanceof Wt)b>n&&h(m,u,g);else if(u>=n&&(c>0&&t.push(-c),t.push(Q+c),c=0,o)){let S=m.dom.lastChild,x=S?os(S):[];if(x.length){let v=x[x.length-1],$=l?v.right-g.left:g.right-v.left;$>a&&(a=$,this.minWidth=s,this.minWidthFrom=u,this.minWidthTo=b)}}O&&p==f.children.length-1&&(c+=O.bottom-g.bottom),u=b+m.breakAfter}};return h(this.tile,0,null),t}textDirectionAt(e){let{tile:t}=this.tile.resolveBlock(e,1);return getComputedStyle(t.dom).direction=="rtl"?ue.RTL:ue.LTR}measureTextSize(){let e=this.tile.blockTiles(o=>{if(o.isLine()&&o.children.length&&o.length<=20){let a=0,l;for(let c of o.children){if(!c.isText()||/[^ -~]/.test(c.text))return;let h=os(c.dom);if(h.length!=1)return;a+=h[0].width,l=h[0].height}if(a)return{lineHeight:o.dom.getBoundingClientRect().height,charWidth:a/o.length,textHeight:l}}});if(e)return e;let t=document.createElement("div"),n,r,s;return t.className="cm-line",t.style.width="99999px",t.style.position="absolute",t.textContent="abc def ghi jkl mno pqr stu",this.view.observer.ignore(()=>{this.tile.dom.appendChild(t);let o=os(t.firstChild)[0];n=t.getBoundingClientRect().height,r=o&&o.width?o.width/27:7,s=o&&o.height?o.height:n,t.remove()}),{lineHeight:n,charWidth:r,textHeight:s}}computeBlockGapDeco(){let e=[],t=this.view.viewState;for(let n=0,r=0;;r++){let s=r==t.viewports.length?null:t.viewports[r],o=s?s.from-1:this.view.state.doc.length;if(o>n){let a=(t.lineBlockAt(o).bottom-t.lineBlockAt(n).top)/this.view.scaleY;e.push(A.replace({widget:new Kn(a),block:!0,inclusive:!0,isBlockGap:!0}).range(n,o))}if(!s)break;n=s.to+1}return A.set(e)}updateDeco(){let e=1,t=this.view.state.facet(ys).map(s=>(this.dynamicDecorationMap[e++]=typeof s=="function")?s(this.view):s),n=!1,r=this.view.state.facet(Fa).map((s,o)=>{let a=typeof s=="function";return a&&(n=!0),a?s(this.view):s});for(r.length&&(this.dynamicDecorationMap[e++]=n,t.push(ae.join(r))),this.decorations=[this.editContextFormatting,...t,this.computeBlockGapDeco(),this.view.viewState.lineGapDeco];etypeof s=="function"?s(this.view):s)}scrollIntoView(e){if(e.isSnapshot){let c=this.view.viewState.lineBlockAt(e.range.head);this.view.scrollDOM.scrollTop=c.top-e.yMargin,this.view.scrollDOM.scrollLeft=e.xMargin;return}for(let c of this.view.state.facet(Ou))try{if(c(this.view,e.range,e))return!0}catch(h){lt(this.view.state,h,"scroll handler")}let{range:t}=e,n=this.coordsAt(t.head,t.assoc||(t.head>t.anchor?-1:1)),r;if(!n)return;!t.empty&&(r=this.coordsAt(t.anchor,t.anchor>t.head?-1:1))&&(n={left:Math.min(n.left,r.left),top:Math.min(n.top,r.top),right:Math.max(n.right,r.right),bottom:Math.max(n.bottom,r.bottom)});let s=bu(this.view),o={left:n.left-s.left,top:n.top-s.top,right:n.right+s.right,bottom:n.bottom+s.bottom},{offsetWidth:a,offsetHeight:l}=this.view.scrollDOM;if(P0(this.view.scrollDOM,o,t.head1&&(n.top>window.pageYOffset+window.visualViewport.offsetTop+window.visualViewport.height||n.bottomn.isWidget()||n.children.some(t);return t(this.tile.resolveBlock(e,1).tile)}destroy(){ka(this.tile)}};function ka(i,e){let t=e?.get(i);if(t!=1){t==null&&i.destroy();for(let n of i.children)ka(n,e)}}function I0(i){return i.node.nodeType==1&&i.node.firstChild&&(i.offset==0||i.node.childNodes[i.offset-1].contentEditable=="false")&&(i.offset==i.node.childNodes.length||i.node.childNodes[i.offset].contentEditable=="false")}function yu(i,e){let t=i.observer.selectionRange;if(!t.focusNode)return null;let n=Jf(t.focusNode,t.focusOffset),r=eu(t.focusNode,t.focusOffset),s=n||r;if(r&&n&&r.node!=n.node){let a=fe.get(r.node);if(!a||a.isText()&&a.text!=r.node.nodeValue)s=r;else if(i.docView.lastCompositionAfterCursor){let l=fe.get(n.node);!l||l.isText()&&l.text!=n.node.nodeValue||(s=r)}}if(i.docView.lastCompositionAfterCursor=s!=n,!s)return null;let o=e-s.offset;return{from:o,to:o+s.node.nodeValue.length,node:s.node}}function B0(i,e,t){let n=yu(i,t);if(!n)return null;let{node:r,from:s,to:o}=n,a=r.nodeValue;if(/[\n\r]/.test(a)||i.state.doc.sliceString(n.from,n.to)!=a)return null;let l=e.invertedDesc;return{range:new gt(l.mapPos(s),l.mapPos(o),s,o),text:r}}function U0(i,e){return i.nodeType!=1?0:(e&&i.childNodes[e-1].contentEditable=="false"?1:0)|(e{ne.from&&(t=!0)}),t}var Kn=class extends ve{constructor(e){super(),this.height=e}toDOM(){let e=document.createElement("div");return e.className="cm-gap",this.updateDOM(e),e}eq(e){return e.height==this.height}updateDOM(e){return e.style.height=this.height+"px",!0}get editable(){return!0}get estimatedHeight(){return this.height}ignoreEvent(){return!1}};function J0(i,e,t=1){let n=i.charCategorizer(e),r=i.doc.lineAt(e),s=e-r.from;if(r.length==0)return P.cursor(e);s==0?t=1:s==r.length&&(t=-1);let o=s,a=s;t<0?o=ke(r.text,s,!1):a=ke(r.text,s);let l=n(r.text.slice(o,a));for(;o>0;){let c=ke(r.text,o,!1);if(n(r.text.slice(c,o))!=l)break;o=c}for(;ai.defaultLineHeight*1.5){let a=i.viewState.heightOracle.textHeight,l=Math.floor((r-t.top-(i.defaultLineHeight-a)*.5)/a);s+=l*i.viewState.heightOracle.lineLength}let o=i.state.sliceDoc(t.from,t.to);return t.from+pf(o,s,i.state.tabSize)}function tQ(i,e,t){let n=i.lineBlockAt(e);if(Array.isArray(n.type)){let r;for(let s of n.type){if(s.from>e)break;if(!(s.toe)return s;(!r||s.type==ct.Text&&(r.type!=s.type||(t<0?s.frome)))&&(r=s)}}return r||n}return n}function iQ(i,e,t,n){let r=tQ(i,e.head,e.assoc||-1),s=!n||r.type!=ct.Text||!(i.lineWrapping||r.widgetLineBreaks)?null:i.coordsAtPos(e.assoc<0&&e.head>r.from?e.head-1:e.head);if(s){let o=i.dom.getBoundingClientRect(),a=i.textDirectionAt(r.from),l=i.posAtCoords({x:t==(a==ue.LTR)?o.right-1:o.left+1,y:(s.top+s.bottom)/2});if(l!=null)return P.cursor(l,t?-1:1)}return P.cursor(t?r.to:r.from,t?-1:1)}function Cf(i,e,t,n){let r=i.state.doc.lineAt(e.head),s=i.bidiSpans(r),o=i.textDirectionAt(r.from);for(let a=e,l=null;;){let c=E0(r,s,o,a,t),h=su;if(!c){if(r.number==(t?i.state.doc.lines:1))return a;h=` -`,r=i.state.doc.line(r.number+(t?1:-1)),s=i.bidiSpans(r),c=i.visualLineSide(r,!t)}if(l){if(!l(h))return a}else{if(!n)return c;l=n(h)}a=c}}function nQ(i,e,t){let n=i.state.charCategorizer(e),r=n(t);return s=>{let o=n(s);return r==Ee.Space&&(r=o),r==o}}function rQ(i,e,t,n){let r=e.head,s=t?1:-1;if(r==(t?i.state.doc.length:0))return P.cursor(r,e.assoc);let o=e.goalColumn,a,l=i.contentDOM.getBoundingClientRect(),c=i.coordsAtPos(r,e.assoc||((e.empty?t:e.head==e.from)?1:-1)),h=i.documentTop;if(c)o==null&&(o=c.left-l.left),a=s<0?c.top:c.bottom;else{let p=i.viewState.lineBlockAt(r);o==null&&(o=Math.min(l.right-l.left,i.defaultCharacterWidth*(r-p.from))),a=(s<0?p.top:p.bottom)+h}let f=l.left+o,u=i.viewState.heightOracle.textHeight>>1,O=n??u;for(let p=0;;p+=u){let m=a+(O+p)*s,b=wa(i,{x:f,y:m},!1,s);if(t?m>l.bottom:ma:Q{if(e>s&&er(i)),t.from,e.head>t.from?-1:1);return n==t.from?t:P.cursor(n,ni.viewState.docHeight)return new ot(i.state.doc.length,-1);if(c=i.elementAtHeight(l),n==null)break;if(c.type==ct.Text){if(n<0?c.toi.viewport.to)break;let u=i.docView.coordsAt(n<0?c.from:c.to,n>0?-1:1);if(u&&(n<0?u.top<=l+s:u.bottom>=l+s))break}let f=i.viewState.heightOracle.textHeight/2;l=n>0?c.bottom+f:c.top-f}if(i.viewport.from>=c.to||i.viewport.to<=c.from){if(t)return null;if(c.type==ct.Text){let f=eQ(i,r,c,o,a);return new ot(f,f==c.from?1:-1)}}if(c.type!=ct.Text)return l<(c.top+c.bottom)/2?new ot(c.from,1):new ot(c.to,-1);let h=i.docView.lineAt(c.from,2);return(!h||h.length!=c.length)&&(h=i.docView.lineAt(c.from,-2)),new Pa(i,o,a,i.textDirectionAt(c.from)).scanTile(h,c.from)}var Pa=class{constructor(e,t,n,r){this.view=e,this.x=t,this.y=n,this.baseDir=r,this.line=null,this.spans=null}bidiSpansAt(e){return(!this.line||this.line.from>e||this.line.to1||n.length&&(n[0].level!=this.baseDir||n[0].to+r.from>1;t:if(o.has(m)){let g=r+Math.floor(Math.random()*p);for(let Q=0;Q1)){if(Q.bottomthis.y)(!c||c.top>Q.top)&&(c=Q),S=-1;else{let x=Q.left>this.x?this.x-Q.left:Q.right(p+p+m)/3)return this.y=l.bottom-1,this.scan(e,t,!0);if(c&&c.top<(p+m+m)/3)return this.y=c.top+1,this.scan(e,t,!0)}let O=(a?this.dirAt(e[h],1):this.baseDir)==ue.LTR;return{i:h,after:this.x>(u.left+u.right)/2==O}}scanText(e,t){let n=[];for(let s=0;s{let o=n[s]-t,a=n[s+1]-t;return rr(e.dom,o,a).getClientRects()});return r.after?new ot(n[r.i+1],-1):new ot(n[r.i],1)}scanTile(e,t){if(!e.length)return new ot(t,1);if(e.children.length==1){let a=e.children[0];if(a.isText())return this.scanText(a,t);if(a.isComposite())return this.scanTile(a,t)}let n=[t];for(let a=0,l=t;a{let l=e.children[a];return l.flags&48?null:(l.dom.nodeType==1?l.dom:rr(l.dom,0,l.length)).getClientRects()}),s=e.children[r.i],o=n[r.i];return s.isText()?this.scanText(s,o):s.isComposite()?this.scanTile(s,o):r.after?new ot(n[r.i+1],-1):new ot(o,1)}},ln="\uFFFF",va=class{constructor(e,t){this.points=e,this.view=t,this.text="",this.lineSeparator=t.state.facet(se.lineSeparator)}append(e){this.text+=e}lineBreak(){this.text+=ln}readRange(e,t){if(!e)return this;let n=e.parentNode;for(let r=e;;){this.findPointBefore(n,r);let s=this.text.length;this.readNode(r);let o=fe.get(r),a=r.nextSibling;if(a==t){o?.breakAfter&&!a&&n!=this.view.contentDOM&&this.lineBreak();break}let l=fe.get(a);(o&&l?o.breakAfter:(o?o.breakAfter:cs(r))||cs(a)&&(r.nodeName!="BR"||o?.isWidget())&&this.text.length>s)&&!oQ(a,t)&&this.lineBreak(),r=a}return this.findPointBefore(n,t),this}readTextNode(e){let t=e.nodeValue;for(let n of this.points)n.node==e&&(n.pos=this.text.length+Math.min(n.offset,t.length));for(let n=0,r=this.lineSeparator?null:/\r\n?|\n/g;;){let s=-1,o=1,a;if(this.lineSeparator?(s=t.indexOf(this.lineSeparator,n),o=this.lineSeparator.length):(a=r.exec(t))&&(s=a.index,o=a[0].length),this.append(t.slice(n,s<0?t.length:s)),s<0)break;if(this.lineBreak(),o>1)for(let l of this.points)l.node==e&&l.pos>this.text.length&&(l.pos-=o-1);n=s+o}}readNode(e){let t=fe.get(e),n=t&&t.overrideDOMText;if(n!=null){this.findPointInside(e,n.length);for(let r=n.iter();!r.next().done;)r.lineBreak?this.lineBreak():this.append(r.value)}else e.nodeType==3?this.readTextNode(e):e.nodeName=="BR"?e.nextSibling&&this.lineBreak():e.nodeType==1&&this.readRange(e.firstChild,null)}findPointBefore(e,t){for(let n of this.points)n.node==e&&e.childNodes[n.offset]==t&&(n.pos=this.text.length)}findPointInside(e,t){for(let n of this.points)(e.nodeType==3?n.node==e:e.contains(n.node))&&(n.pos=this.text.length+(sQ(e,n.node,n.offset)?t:0))}};function sQ(i,e,t){for(;;){if(!e||t-1;let{impreciseHead:s,impreciseAnchor:o}=e.docView,a=e.state.selection;if(e.state.readOnly&&t>-1)this.newSel=null;else if(t>-1&&(this.bounds=xu(e.docView.tile,t,n,0))){let l=s||o?[]:lQ(e),c=new va(l,e);c.readRange(this.bounds.startDOM,this.bounds.endDOM),this.text=c.text,this.newSel=cQ(l,this.bounds.from)}else{let l=e.observer.selectionRange,c=s&&s.node==l.focusNode&&s.offset==l.focusOffset||!ha(e.contentDOM,l.focusNode)?a.main.head:e.docView.posFromDOM(l.focusNode,l.focusOffset),h=o&&o.node==l.anchorNode&&o.offset==l.anchorOffset||!ha(e.contentDOM,l.anchorNode)?a.main.anchor:e.docView.posFromDOM(l.anchorNode,l.anchorOffset),f=e.viewport;if((L.ios||L.chrome)&&c!=h&&Math.min(c,h)<=a.main.from&&Math.max(c,h)>=a.main.to&&(f.from>0||f.to-1&&a.ranges.length>1)this.newSel=a.replaceRange(P.range(h,c));else if(e.lineWrapping&&h==c&&!(a.main.empty&&a.main.head==c)&&e.inputState.lastTouchTime>Date.now()-100){let u=e.coordsAtPos(c,-1),O=0;u&&(O=e.inputState.lastTouchY<=u.bottom?-1:1),this.newSel=P.create([P.cursor(c,O)])}else this.newSel=P.single(h,c)}}};function xu(i,e,t,n){if(i.isComposite()){let r=-1,s=-1,o=-1,a=-1;for(let l=0,c=n,h=n;lt)return xu(f,e,t,c);if(u>=e&&r==-1&&(r=l,s=c),c>t&&f.dom.parentNode==i.dom){o=l,a=h;break}h=u,c=u+f.breakAfter}return{from:s,to:a<0?n+i.length:a,startDOM:(r?i.children[r-1].dom.nextSibling:null)||i.dom.firstChild,endDOM:o=0?i.children[o].dom:null}}else return i.isText()?{from:n,to:n+i.length,startDOM:i.dom,endDOM:i.dom.nextSibling}:null}function wu(i,e){let t,{newSel:n}=e,{state:r}=i,s=r.selection.main,o=i.inputState.lastKeyTime>Date.now()-100?i.inputState.lastKeyCode:-1;if(e.bounds){let{from:a,to:l}=e.bounds,c=s.from,h=null;(o===8||L.android&&e.text.length=a&&s.to<=l&&(e.typeOver||f!=e.text)&&f.slice(0,s.from-a)==e.text.slice(0,s.from-a)&&f.slice(s.to-a)==e.text.slice(u=e.text.length-(f.length-(s.to-a)))?t={from:s.from,to:s.to,insert:K.of(e.text.slice(s.from-a,u).split(ln))}:(O=Pu(f,e.text,c-a,h))&&(L.chrome&&o==13&&O.toB==O.from+2&&e.text.slice(O.from,O.toB)==ln+ln&&O.toB--,t={from:a+O.from,to:a+O.toA,insert:K.of(e.text.slice(O.from,O.toB).split(ln))})}else n&&(!i.hasFocus&&r.facet(Mt)||ps(n,s))&&(n=null);if(!t&&!n)return!1;if((L.mac||L.android)&&t&&t.from==t.to&&t.from==s.head-1&&/^\. ?$/.test(t.insert.toString())&&i.contentDOM.getAttribute("autocorrect")=="off"?(n&&t.insert.length==2&&(n=P.single(n.main.anchor-1,n.main.head-1)),t={from:t.from,to:t.to,insert:K.of([t.insert.toString().replace("."," ")])}):r.doc.lineAt(s.from).toDate.now()-50?t={from:s.from,to:s.to,insert:r.toText(i.inputState.insertingText)}:L.chrome&&t&&t.from==t.to&&t.from==s.head&&t.insert.toString()==` - `&&i.lineWrapping&&(n&&(n=P.single(n.main.anchor-1,n.main.head-1)),t={from:s.from,to:s.to,insert:K.of([" "])}),t)return Ha(i,t,n,o);if(n&&!ps(n,s)){let a=!1,l="select";return i.inputState.lastSelectionTime>Date.now()-50&&(i.inputState.lastSelectionOrigin=="select"&&(a=!0),l=i.inputState.lastSelectionOrigin,l=="select.pointer"&&(n=ku(r.facet(sr).map(c=>c(i)),n))),i.dispatch({selection:n,scrollIntoView:a,userEvent:l}),!0}else return!1}function Ha(i,e,t,n=-1){if(L.ios&&i.inputState.flushIOSKey(e))return!0;let r=i.state.selection.main;if(L.android&&(e.to==r.to&&(e.from==r.from||e.from==r.from-1&&i.state.sliceDoc(e.from,r.from)==" ")&&e.insert.length==1&&e.insert.lines==2&&un(i.contentDOM,"Enter",13)||(e.from==r.from-1&&e.to==r.to&&e.insert.length==0||n==8&&e.insert.lengthr.head)&&un(i.contentDOM,"Backspace",8)||e.from==r.from&&e.to==r.to+1&&e.insert.length==0&&un(i.contentDOM,"Delete",46)))return!0;let s=e.insert.toString();i.inputState.composing>=0&&i.inputState.composing++;let o,a=()=>o||(o=aQ(i,e,t));return i.state.facet(hu).some(l=>l(i,e.from,e.to,s,a))||i.dispatch(a()),!0}function aQ(i,e,t){let n,r=i.state,s=r.selection.main,o=-1;if(e.from==e.to&&e.froms.to){let l=e.fromf(i)),c,l);e.from==h&&(o=h)}if(o>-1)n={changes:e,selection:P.cursor(e.from+e.insert.length,-1)};else if(e.from>=s.from&&e.to<=s.to&&e.to-e.from>=(s.to-s.from)/3&&(!t||t.main.empty&&t.main.from==e.from+e.insert.length)&&i.inputState.composing<0){let l=s.frome.to?r.sliceDoc(e.to,s.to):"";n=r.replaceSelection(i.state.toText(l+e.insert.sliceString(0,void 0,i.state.lineBreak)+c))}else{let l=r.changes(e),c=t&&t.main.to<=l.newLength?t.main:void 0;if(r.selection.ranges.length>1&&(i.inputState.composing>=0||i.inputState.compositionPendingChange)&&e.to<=s.to+10&&e.to>=s.to-10){let h=i.state.sliceDoc(e.from,e.to),f,u=t&&yu(i,t.main.head);if(u){let p=e.insert.length-(e.to-e.from);f={from:u.from,to:u.to-p}}else f=i.state.doc.lineAt(s.head);let O=s.to-e.to;n=r.changeByRange(p=>{if(p.from==s.from&&p.to==s.to)return{changes:l,range:c||p.map(l)};let m=p.to-O,b=m-h.length;if(i.state.sliceDoc(b,m)!=h||m>=f.from&&b<=f.to)return{range:p};let g=r.changes({from:b,to:m,insert:e.insert}),Q=p.to-s.to;return{changes:g,range:c?P.range(Math.max(0,c.anchor+Q),Math.max(0,c.head+Q)):p.map(g)}})}else n={changes:l,selection:c&&r.selection.replaceRange(c)}}let a="input.type";return(i.composing||i.inputState.compositionPendingChange&&i.inputState.compositionEndedAt>Date.now()-50)&&(i.inputState.compositionPendingChange=!1,a+=".compose",i.inputState.compositionFirstChange&&(a+=".start",i.inputState.compositionFirstChange=!1)),r.update(n,{userEvent:a,scrollIntoView:!0})}function Pu(i,e,t,n){let r=Math.min(i.length,e.length),s=0;for(;s0&&a>0&&i.charCodeAt(o-1)==e.charCodeAt(a-1);)o--,a--;if(n=="end"){let l=Math.max(0,s-Math.min(o,a));t-=o+l-s}if(o=o?s-t:0;s-=l,a=s+(a-o),o=s}else if(a=a?s-t:0;s-=l,o=s+(o-a),a=s}return{from:s,toA:o,toB:a}}function lQ(i){let e=[];if(i.root.activeElement!=i.contentDOM)return e;let{anchorNode:t,anchorOffset:n,focusNode:r,focusOffset:s}=i.observer.selectionRange;return t&&(e.push(new ds(t,n)),(r!=t||s!=n)&&e.push(new ds(r,s))),e}function cQ(i,e){if(i.length==0)return null;let t=i[0].pos,n=i.length==2?i[1].pos:t;return t>-1&&n>-1?P.single(t+e,n+e):null}function ps(i,e){return e.head==i.main.head&&e.anchor==i.main.anchor}var Ta=class{setSelectionOrigin(e){this.lastSelectionOrigin=e,this.lastSelectionTime=Date.now()}constructor(e){this.view=e,this.lastKeyCode=0,this.lastKeyTime=0,this.touchActive=!1,this.lastTouchTime=0,this.lastTouchX=0,this.lastTouchY=0,this.lastFocusTime=0,this.lastScrollTop=0,this.lastScrollLeft=0,this.lastWheelEvent=0,this.pendingIOSKey=void 0,this.lastIOSMomentumScroll=0,this.tabFocusMode=-1,this.lastSelectionOrigin=null,this.lastSelectionTime=0,this.lastContextMenu=0,this.scrollHandlers=[],this.handlers=Object.create(null),this.composing=-1,this.compositionFirstChange=null,this.compositionEndedAt=0,this.compositionPendingKey=!1,this.compositionPendingChange=!1,this.insertingText="",this.insertingTextAt=0,this.mouseSelection=null,this.draggedContent=null,this.handleEvent=this.handleEvent.bind(this),this.notifiedFocused=e.hasFocus,L.safari&&e.contentDOM.addEventListener("input",()=>null),L.gecko&&wQ(e.contentDOM.ownerDocument)}handleEvent(e){!gQ(this.view,e)||this.ignoreDuringComposition(e)||e.type=="keydown"&&this.keydown(e)||(this.view.updateState!=0?Promise.resolve().then(()=>this.runHandlers(e.type,e)):this.runHandlers(e.type,e))}runHandlers(e,t){let n=this.handlers[e];if(n){for(let r of n.observers)r(this.view,t);for(let r of n.handlers){if(t.defaultPrevented)break;if(r(this.view,t)){t.preventDefault();break}}}}ensureHandlers(e){let t=fQ(e),n=this.handlers,r=this.view.contentDOM;for(let s in t)if(s!="scroll"){let o=!t[s].handlers.length,a=n[s];a&&o!=!a.handlers.length&&(r.removeEventListener(s,this.handleEvent),a=null),a||r.addEventListener(s,this.handleEvent,{passive:o})}for(let s in n)s!="scroll"&&!t[s]&&r.removeEventListener(s,this.handleEvent);this.handlers=t}keydown(e){if(this.lastKeyCode=e.keyCode,this.lastKeyTime=Date.now(),e.keyCode==9&&this.tabFocusMode>-1&&(!this.tabFocusMode||Date.now()<=this.tabFocusMode))return!0;if(this.tabFocusMode>0&&e.keyCode!=27&&$u.indexOf(e.keyCode)<0&&(this.tabFocusMode=-1),L.android&&L.chrome&&!e.synthetic&&(e.keyCode==13||e.keyCode==8))return this.view.observer.delayAndroidKey(e.key,e.keyCode),!0;if(L.ios&&!e.synthetic&&!e.altKey&&!e.metaKey&&(vu.some(t=>t.keyCode==e.keyCode)&&!e.ctrlKey||uQ.indexOf(e.key)>-1&&e.ctrlKey)){let t={ctrlKey:e.ctrlKey,altKey:e.altKey,metaKey:e.metaKey,shiftKey:e.shiftKey};return t.shiftKey&&L.ios&&!/^(off|none)$/.test(this.view.contentDOM.autocapitalize)&&hQ(this.view.win)&&(t.shiftKey=!1),this.pendingIOSKey={key:e.key,keyCode:e.keyCode,mods:t},setTimeout(()=>this.flushIOSKey(),250),!0}return e.keyCode!=229&&this.view.observer.forceFlush(),!1}flushIOSKey(e){let t=this.pendingIOSKey;return!t||t.key=="Enter"&&e&&e.from0?!0:L.safari&&!L.ios&&this.compositionPendingKey&&Date.now()-this.compositionEndedAt<100?(this.compositionPendingKey=!1,!0):!1}startMouseSelection(e){this.mouseSelection&&this.mouseSelection.destroy(),this.mouseSelection=e}update(e){this.view.observer.update(e),this.mouseSelection&&this.mouseSelection.update(e),this.draggedContent&&e.docChanged&&(this.draggedContent=this.draggedContent.map(e.changes)),e.transactions.length&&(this.lastKeyCode=this.lastSelectionTime=0)}destroy(){this.mouseSelection&&this.mouseSelection.destroy()}};function hQ(i){return i.visualViewport?i.visualViewport.height*i.visualViewport.scale/i.document.documentElement.clientHeight<.85:!1}function Xf(i,e){return(t,n)=>{try{return e.call(i,n,t)}catch(r){lt(t.state,r)}}}function fQ(i){let e=Object.create(null);function t(n){return e[n]||(e[n]={observers:[],handlers:[]})}for(let n of i){let r=n.spec,s=r&&r.plugin.domEventHandlers,o=r&&r.plugin.domEventObservers;if(s)for(let a in s){let l=s[a];l&&t(a).handlers.push(Xf(n.value,l))}if(o)for(let a in o){let l=o[a];l&&t(a).observers.push(Xf(n.value,l))}}for(let n in Qt)t(n).handlers.push(Qt[n]);for(let n in Le)t(n).observers.push(Le[n]);return e}var vu=[{key:"Backspace",keyCode:8,inputType:"deleteContentBackward"},{key:"Enter",keyCode:13,inputType:"insertParagraph"},{key:"Enter",keyCode:13,inputType:"insertLineBreak"},{key:"Delete",keyCode:46,inputType:"deleteContentForward"}],uQ="dthko",$u=[16,17,18,20,91,92,224,225],es=6;function ts(i){return Math.max(0,i)*.7+8}function OQ(i,e){return Math.max(Math.abs(i.clientX-e.clientX),Math.abs(i.clientY-e.clientY))}var Ca=class{constructor(e,t,n,r){this.view=e,this.startEvent=t,this.style=n,this.mustSelect=r,this.scrollSpeed={x:0,y:0},this.scrolling=-1,this.lastEvent=t,this.scrollParents=Ff(e.contentDOM),this.atoms=e.state.facet(sr).map(o=>o(e));let s=e.contentDOM.ownerDocument;s.addEventListener("mousemove",this.move=this.move.bind(this)),s.addEventListener("mouseup",this.up=this.up.bind(this)),this.extend=t.shiftKey,this.multiple=e.state.facet(se.allowMultipleSelections)&&dQ(e,t),this.dragging=mQ(e,t)&&Xu(t)==1?null:!1}start(e){this.dragging===!1&&this.select(e)}move(e){if(e.buttons==0)return this.destroy();if(this.dragging||this.dragging==null&&OQ(this.startEvent,e)<10)return;this.select(this.lastEvent=e);let t=0,n=0,r=0,s=0,o=this.view.win.innerWidth,a=this.view.win.innerHeight;this.scrollParents.x&&({left:r,right:o}=this.scrollParents.x.getBoundingClientRect()),this.scrollParents.y&&({top:s,bottom:a}=this.scrollParents.y.getBoundingClientRect());let l=bu(this.view);e.clientX-l.left<=r+es?t=-ts(r-e.clientX):e.clientX+l.right>=o-es&&(t=ts(e.clientX-o)),e.clientY-l.top<=s+es?n=-ts(s-e.clientY):e.clientY+l.bottom>=a-es&&(n=ts(e.clientY-a)),this.setScrollSpeed(t,n)}up(e){this.dragging==null&&this.select(this.lastEvent),this.dragging||e.preventDefault(),this.destroy()}destroy(){this.setScrollSpeed(0,0);let e=this.view.contentDOM.ownerDocument;e.removeEventListener("mousemove",this.move),e.removeEventListener("mouseup",this.up),this.view.inputState.mouseSelection=this.view.inputState.draggedContent=null}setScrollSpeed(e,t){this.scrollSpeed={x:e,y:t},e||t?this.scrolling<0&&(this.scrolling=setInterval(()=>this.scroll(),50)):this.scrolling>-1&&(clearInterval(this.scrolling),this.scrolling=-1)}scroll(){let{x:e,y:t}=this.scrollSpeed;e&&this.scrollParents.x&&(this.scrollParents.x.scrollLeft+=e,e=0),t&&this.scrollParents.y&&(this.scrollParents.y.scrollTop+=t,t=0),(e||t)&&this.view.win.scrollBy(e,t),this.dragging===!1&&this.select(this.lastEvent)}select(e){let{view:t}=this,n=ku(this.atoms,this.style.get(e,this.extend,this.multiple));(this.mustSelect||!n.eq(t.state.selection,this.dragging===!1))&&this.view.dispatch({selection:n,userEvent:"select.pointer"}),this.mustSelect=!1}update(e){e.transactions.some(t=>t.isUserEvent("input.type"))?this.destroy():this.style.update(e)&&setTimeout(()=>this.select(this.lastEvent),20)}};function dQ(i,e){let t=i.state.facet(ou);return t.length?t[0](e):L.mac?e.metaKey:e.ctrlKey}function pQ(i,e){let t=i.state.facet(au);return t.length?t[0](e):L.mac?!e.altKey:!e.ctrlKey}function mQ(i,e){let{main:t}=i.state.selection;if(t.empty)return!1;let n=nr(i.root);if(!n||n.rangeCount==0)return!0;let r=n.getRangeAt(0).getClientRects();for(let s=0;s=e.clientX&&o.top<=e.clientY&&o.bottom>=e.clientY)return!0}return!1}function gQ(i,e){if(!e.bubbles)return!0;if(e.defaultPrevented)return!1;for(let t=e.target,n;t!=i.contentDOM;t=t.parentNode)if(!t||t.nodeType==11||(n=fe.get(t))&&n.isWidget()&&!n.isHidden&&n.widget.ignoreEvent(e))return!1;return!0}var Qt=Object.create(null),Le=Object.create(null),Tu=L.ie&&L.ie_version<15||L.ios&&L.webkit_version<604;function QQ(i){let e=i.dom.parentNode;if(!e)return;let t=e.appendChild(document.createElement("textarea"));t.style.cssText="position: fixed; left: -10000px; top: 10px",t.focus(),setTimeout(()=>{i.focus(),t.remove(),Cu(i,t.value)},50)}function ks(i,e,t){for(let n of i.facet(e))t=n(t,i);return t}function Cu(i,e){e=ks(i.state,Ua,e);let{state:t}=i,n,r=1,s=t.toText(e),o=s.lines==t.selection.ranges.length;if(Xa!=null&&t.selection.ranges.every(l=>l.empty)&&Xa==s.toString()){let l=-1;n=t.changeByRange(c=>{let h=t.doc.lineAt(c.from);if(h.from==l)return{range:c};l=h.from;let f=t.toText((o?s.line(r++).text:e)+t.lineBreak);return{changes:{from:h.from,insert:f},range:P.cursor(c.from+f.length)}})}else o?n=t.changeByRange(l=>{let c=s.line(r++);return{changes:{from:l.from,to:l.to,insert:c.text},range:P.cursor(l.from+c.length)}}):n=t.replaceSelection(s);i.dispatch(n,{userEvent:"input.paste",scrollIntoView:!0})}Le.scroll=i=>{let e=i.inputState;e.lastScrollTop=i.scrollDOM.scrollTop,e.lastScrollLeft=i.scrollDOM.scrollLeft,L.ios&&!e.touchActive&&(e.lastIOSMomentumScroll=Date.now())};Le.wheel=Le.mousewheel=i=>{i.inputState.lastWheelEvent=Date.now()};Qt.keydown=(i,e)=>(i.inputState.setSelectionOrigin("select"),e.keyCode==27&&i.inputState.tabFocusMode!=0&&(i.inputState.tabFocusMode=Date.now()+2e3),!1);Le.touchstart=(i,e)=>{let t=i.inputState,n=e.targetTouches[0];t.touchActive=!0,t.lastTouchTime=Date.now(),n&&(t.lastTouchX=n.clientX,t.lastTouchY=n.clientY),t.setSelectionOrigin("select.pointer")};Le.touchmove=i=>{i.inputState.setSelectionOrigin("select.pointer")};Le.touchend=(i,e)=>{i.inputState.touchActive=!1};Qt.mousedown=(i,e)=>{if(i.observer.flush(),i.inputState.lastTouchTime>Date.now()-2e3)return!1;let t=null;for(let n of i.state.facet(lu))if(t=n(i,e),t)break;if(!t&&e.button==0&&(t=SQ(i,e)),t){let n=!i.hasFocus;i.inputState.startMouseSelection(new Ca(i,e,t,n)),n&&i.observer.ignore(()=>{Hf(i.contentDOM);let s=i.root.activeElement;s&&!s.contains(i.contentDOM)&&s.blur()});let r=i.inputState.mouseSelection;if(r)return r.start(e),r.dragging===!1}else i.inputState.setSelectionOrigin("select.pointer");return!1};function _f(i,e,t,n){if(n==1)return P.cursor(e,t);if(n==2)return J0(i.state,e,t);{let r=i.docView.lineAt(e,t),s=i.state.doc.lineAt(r?r.posAtEnd:e),o=r?r.posAtStart:s.from,a=r?r.posAtEnd:s.to;return aDate.now()-400&&Math.abs(e.clientX-i.clientX)<2&&Math.abs(e.clientY-i.clientY)<2?(Af+1)%3:1}function SQ(i,e){let t=i.posAndSideAtCoords({x:e.clientX,y:e.clientY},!1),n=Xu(e),r=i.state.selection;return{update(s){s.docChanged&&(t.pos=s.changes.mapPos(t.pos),r=r.map(s.changes))},get(s,o,a){let l=i.posAndSideAtCoords({x:s.clientX,y:s.clientY},!1),c,h=_f(i,l.pos,l.assoc,n);if(t.pos!=l.pos&&!o){let f=_f(i,t.pos,t.assoc,n),u=Math.min(f.from,h.from),O=Math.max(f.to,h.to);h=u1&&(c=yQ(r,l.pos))?c:a?r.addRange(h):P.create([h])}}}function yQ(i,e){for(let t=0;t=e)return P.create(i.ranges.slice(0,t).concat(i.ranges.slice(t+1)),i.mainIndex==t?0:i.mainIndex-(i.mainIndex>t?1:0))}return null}Qt.dragstart=(i,e)=>{let{selection:{main:t}}=i.state;if(e.target.draggable){let r=i.docView.tile.nearest(e.target);if(r&&r.isWidget()){let s=r.posAtStart,o=s+r.length;(s>=t.to||o<=t.from)&&(t=P.undirectionalRange(s,o))}}let{inputState:n}=i;return n.mouseSelection&&(n.mouseSelection.dragging=!0),n.draggedContent=t,e.dataTransfer&&(e.dataTransfer.setData("Text",ks(i.state,Ga,i.state.sliceDoc(t.from,t.to))),e.dataTransfer.effectAllowed="copyMove"),!1};Qt.dragend=i=>(i.inputState.draggedContent=null,!1);function Ef(i,e,t,n){if(t=ks(i.state,Ua,t),!t)return;let r=i.posAtCoords({x:e.clientX,y:e.clientY},!1),{draggedContent:s}=i.inputState,o=n&&s&&pQ(i,e)?{from:s.from,to:s.to}:null,a={from:r,insert:t},l=i.state.changes(o?[o,a]:a);i.focus(),i.dispatch({changes:l,selection:{anchor:l.mapPos(r,-1),head:l.mapPos(r,1)},userEvent:o?"move.drop":"input.drop"}),i.inputState.draggedContent=null}Qt.drop=(i,e)=>{if(!e.dataTransfer)return!1;if(i.state.readOnly)return!0;let t=e.dataTransfer.files;if(t&&t.length){let n=Array(t.length),r=0,s=()=>{++r==t.length&&Ef(i,e,n.filter(o=>o!=null).join(i.state.lineBreak),!1)};for(let o=0;o{/[\x00-\x08\x0e-\x1f]{2}/.test(a.result)||(n[o]=a.result),s()},a.readAsText(t[o])}return!0}else{let n=e.dataTransfer.getData("Text");if(n)return Ef(i,e,n,!0),!0}return!1};Qt.paste=(i,e)=>{if(i.state.readOnly)return!0;i.observer.flush();let t=Tu?null:e.clipboardData;return t?(Cu(i,t.getData("text/plain")||t.getData("text/uri-list")),!0):(QQ(i),!1)};function kQ(i,e){let t=i.dom.parentNode;if(!t)return;let n=t.appendChild(document.createElement("textarea"));n.style.cssText="position: fixed; left: -10000px; top: 10px",n.value=e,n.focus(),n.selectionEnd=e.length,n.selectionStart=0,setTimeout(()=>{n.remove(),i.focus()},50)}function xQ(i){let e=[],t=[],n=!1;for(let r of i.selection.ranges)r.empty||(e.push(i.sliceDoc(r.from,r.to)),t.push(r));if(!e.length){let r=-1;for(let{from:s}of i.selection.ranges){let o=i.doc.lineAt(s);o.number>r&&(e.push(o.text),t.push({from:o.from,to:Math.min(i.doc.length,o.to+1)})),r=o.number}n=!0}return{text:ks(i,Ga,e.join(i.lineBreak)),ranges:t,linewise:n}}var Xa=null;Qt.copy=Qt.cut=(i,e)=>{if(!Gn(i.contentDOM,i.observer.selectionRange))return!1;let{text:t,ranges:n,linewise:r}=xQ(i.state);if(!t&&!r)return!1;Xa=r?t:null,e.type=="cut"&&!i.state.readOnly&&i.dispatch({changes:n,scrollIntoView:!0,userEvent:"delete.cut"});let s=Tu?null:e.clipboardData;return s?(s.clearData(),s.setData("text/plain",t),!0):(kQ(i,t),!1)};var _u=_e.define();function Ru(i,e){let t=[];for(let n of i.facet(fu)){let r=n(i,e);r&&t.push(r)}return t.length?i.update({effects:t,annotations:_u.of(!0)}):null}function Au(i){setTimeout(()=>{let e=i.hasFocus;if(e!=i.inputState.notifiedFocused){let t=Ru(i.state,e);t?i.dispatch(t):i.update([])}},10)}Le.focus=i=>{i.inputState.lastFocusTime=Date.now(),!i.scrollDOM.scrollTop&&(i.inputState.lastScrollTop||i.inputState.lastScrollLeft)&&(i.scrollDOM.scrollTop=i.inputState.lastScrollTop,i.scrollDOM.scrollLeft=i.inputState.lastScrollLeft),Au(i)};Le.blur=i=>{i.observer.clearSelectionRange(),Au(i)};Le.compositionstart=Le.compositionupdate=i=>{i.observer.editContext||(i.inputState.compositionFirstChange==null&&(i.inputState.compositionFirstChange=!0),i.inputState.composing<0&&(i.inputState.composing=0))};Le.compositionend=i=>{i.observer.editContext||(i.inputState.composing=-1,i.inputState.compositionEndedAt=Date.now(),i.inputState.compositionPendingKey=!0,i.inputState.compositionPendingChange=i.observer.pendingRecords().length>0,i.inputState.compositionFirstChange=null,L.chrome&&L.android?i.observer.flushSoon():i.inputState.compositionPendingChange?Promise.resolve().then(()=>i.observer.flush()):setTimeout(()=>{i.inputState.composing<0&&i.docView.hasComposition&&i.update([])},50))};Le.contextmenu=i=>{i.inputState.lastContextMenu=Date.now()};Qt.beforeinput=(i,e)=>{var t,n;if((e.inputType=="insertText"||e.inputType=="insertCompositionText")&&(i.inputState.insertingText=e.data,i.inputState.insertingTextAt=Date.now()),e.inputType=="insertReplacementText"&&i.observer.editContext){let s=(t=e.dataTransfer)===null||t===void 0?void 0:t.getData("text/plain"),o=e.getTargetRanges();if(s&&o.length){let a=o[0],l=i.posAtDOM(a.startContainer,a.startOffset),c=i.posAtDOM(a.endContainer,a.endOffset);return Ha(i,{from:l,to:c,insert:i.state.toText(s)},null),!0}}let r;if(L.chrome&&L.android&&(r=vu.find(s=>s.inputType==e.inputType))&&(i.observer.delayAndroidKey(r.key,r.keyCode),r.key=="Backspace"||r.key=="Delete")){let s=((n=window.visualViewport)===null||n===void 0?void 0:n.height)||0;setTimeout(()=>{var o;(((o=window.visualViewport)===null||o===void 0?void 0:o.height)||0)>s+10&&i.hasFocus&&(i.contentDOM.blur(),i.focus())},100)}return L.ios&&e.inputType=="deleteContentForward"&&i.observer.flushSoon(),L.safari&&e.inputType=="insertText"&&i.inputState.composing>=0&&setTimeout(()=>Le.compositionend(i,e),20),!1};var qf=new Set;function wQ(i){qf.has(i)||(qf.add(i),i.addEventListener("copy",()=>{}),i.addEventListener("cut",()=>{}))}var zf=["pre-wrap","normal","pre-line","break-spaces"],gn=!1;function Lf(){gn=!1}var _a=class{constructor(e){this.lineWrapping=e,this.doc=K.empty,this.heightSamples={},this.lineHeight=14,this.charWidth=7,this.textHeight=14,this.lineLength=30}heightForGap(e,t){let n=this.doc.lineAt(t).number-this.doc.lineAt(e).number+1;return this.lineWrapping&&(n+=Math.max(0,Math.ceil((t-e-n*this.lineLength*.5)/this.lineLength))),this.lineHeight*n}heightForLine(e){return this.lineWrapping?(1+Math.max(0,Math.ceil((e-this.lineLength)/Math.max(1,this.lineLength-5))))*this.lineHeight:this.lineHeight}setDoc(e){return this.doc=e,this}mustRefreshForWrapping(e){return zf.indexOf(e)>-1!=this.lineWrapping}mustRefreshForHeights(e){let t=!1;for(let n=0;n-1,l=Math.abs(t-this.lineHeight)>.3||this.lineWrapping!=a;if(this.lineWrapping=a,this.lineHeight=t,this.charWidth=n,this.textHeight=r,this.lineLength=s,l){this.heightSamples={};for(let c=0;c0}set outdated(e){this.flags=(e?2:0)|this.flags&-3}setHeight(e){this.height!=e&&(Math.abs(this.height-e)>as&&(gn=!0),this.height=e)}replace(e,t,n){return i.of(n)}decomposeLeft(e,t){t.push(this)}decomposeRight(e,t){t.push(this)}applyChanges(e,t,n,r){let s=this,o=n.doc;for(let a=r.length-1;a>=0;a--){let{fromA:l,toA:c,fromB:h,toB:f}=r[a],u=s.lineAt(l,le.ByPosNoHeight,n.setDoc(t),0,0),O=u.to>=c?u:s.lineAt(c,le.ByPosNoHeight,n,0,0);for(f+=O.to-c,c=O.to;a>0&&u.from<=r[a-1].toA;)l=r[a-1].fromA,h=r[a-1].fromB,a--,ls*2){let a=e[t-1];a.break?e.splice(--t,1,a.left,null,a.right):e.splice(--t,1,a.left,a.right),n+=1+a.break,r-=a.size}else if(s>r*2){let a=e[n];a.break?e.splice(n,1,a.left,null,a.right):e.splice(n,1,a.left,a.right),n+=2+a.break,s-=a.size}else break;else if(r=s&&o(this.lineAt(0,le.ByPos,n,r,s))}setMeasuredHeight(e){let t=e.heights[e.index++];t<0?(this.spaceAbove=-t,t=e.heights[e.index++]):this.spaceAbove=0,this.setHeight(t)}updateHeight(e,t=0,n=!1,r){return r&&r.from<=t&&r.more&&this.setMeasuredHeight(r),this.outdated=!1,this}toString(){return`block(${this.length})`}},st=class i extends gs{constructor(e,t,n){super(e,t,null),this.collapsed=0,this.widgetHeight=0,this.breaks=0,this.spaceAbove=n}mainBlock(e,t){return new mt(t,this.length,e+this.spaceAbove,this.height-this.spaceAbove,this.breaks)}replace(e,t,n){let r=n[0];return n.length==1&&(r instanceof i||r instanceof ai&&r.flags&4)&&Math.abs(this.length-r.length)<10?(r instanceof ai?r=new i(r.length,this.height,this.spaceAbove):r.height=this.height,this.outdated||(r.outdated=!1),r):Fe.of(n)}updateHeight(e,t=0,n=!1,r){return r&&r.from<=t&&r.more?this.setMeasuredHeight(r):(n||this.outdated)&&(this.spaceAbove=0,this.setHeight(Math.max(this.widgetHeight,e.heightForLine(this.length-this.collapsed))+this.breaks*e.lineHeight)),this.outdated=!1,this}toString(){return`line(${this.length}${this.collapsed?-this.collapsed:""}${this.widgetHeight?":"+this.widgetHeight:""})`}},ai=class i extends Fe{constructor(e){super(e,0)}heightMetrics(e,t){let n=e.doc.lineAt(t).number,r=e.doc.lineAt(t+this.length).number,s=r-n+1,o,a=0;if(e.lineWrapping){let l=Math.min(this.height,e.lineHeight*s);o=l/s,this.length>s+1&&(a=(this.height-l)/(this.length-s-1))}else o=this.height/s;return{firstLine:n,lastLine:r,perLine:o,perChar:a}}blockAt(e,t,n,r){let{firstLine:s,lastLine:o,perLine:a,perChar:l}=this.heightMetrics(t,r);if(t.lineWrapping){let c=r+(e0){let s=n[n.length-1];s instanceof i?n[n.length-1]=new i(s.length+r):n.push(null,new i(r-1))}if(e>0){let s=n[0];s instanceof i?n[0]=new i(e+s.length):n.unshift(new i(e-1),null)}return Fe.of(n)}decomposeLeft(e,t){t.push(new i(e-1),null)}decomposeRight(e,t){t.push(null,new i(this.length-e-1))}updateHeight(e,t=0,n=!1,r){let s=t+this.length;if(r&&r.from<=t+this.length&&r.more){let o=[],a=Math.max(t,r.from),l=-1;for(r.from>t&&o.push(new i(r.from-t-1).updateHeight(e,t));a<=s&&r.more;){let h=e.doc.lineAt(a).length;o.length&&o.push(null);let f=r.heights[r.index++],u=0;f<0&&(u=-f,f=r.heights[r.index++]),l==-1?l=f:Math.abs(f-l)>=as&&(l=-2);let O=new st(h,f,u);O.outdated=!1,o.push(O),a+=h+1}a<=s&&o.push(null,new i(s-a).updateHeight(e,a));let c=Fe.of(o);return(l<0||Math.abs(c.height-this.height)>=as||Math.abs(l-this.heightMetrics(e,t).perLine)>=as)&&(gn=!0),ms(this,c)}else(n||this.outdated)&&(this.setHeight(e.heightForGap(t,t+this.length)),this.outdated=!1);return this}toString(){return`gap(${this.length})`}},Aa=class extends Fe{constructor(e,t,n){super(e.length+t+n.length,e.height+n.height,t|(e.outdated||n.outdated?2:0)),this.left=e,this.right=n,this.size=e.size+n.size}get break(){return this.flags&1}blockAt(e,t,n,r){let s=n+this.left.height;return ea))return c;let h=t==le.ByPosNoHeight?le.ByPosNoHeight:le.ByPos;return l?c.join(this.right.lineAt(a,h,n,o,a)):this.left.lineAt(a,h,n,r,s).join(c)}forEachLine(e,t,n,r,s,o){let a=r+this.left.height,l=s+this.left.length+this.break;if(this.break)e=l&&this.right.forEachLine(e,t,n,a,l,o);else{let c=this.lineAt(l,le.ByPos,n,r,s);e=e&&c.from<=t&&o(c),t>c.to&&this.right.forEachLine(c.to+1,t,n,a,l,o)}}replace(e,t,n){let r=this.left.length+this.break;if(tthis.left.length)return this.balanced(this.left,this.right.replace(e-r,t-r,n));let s=[];e>0&&this.decomposeLeft(e,s);let o=s.length;for(let a of n)s.push(a);if(e>0&&Mf(s,o-1),t=n&&t.push(null)),e>n&&this.right.decomposeLeft(e-n,t)}decomposeRight(e,t){let n=this.left.length,r=n+this.break;if(e>=r)return this.right.decomposeRight(e-r,t);e2*t.size||t.size>2*e.size?Fe.of(this.break?[e,null,t]:[e,t]):(this.left=ms(this.left,e),this.right=ms(this.right,t),this.setHeight(e.height+t.height),this.outdated=e.outdated||t.outdated,this.size=e.size+t.size,this.length=e.length+this.break+t.length,this)}updateHeight(e,t=0,n=!1,r){let{left:s,right:o}=this,a=t+s.length+this.break,l=null;return r&&r.from<=t+s.length&&r.more?l=s=s.updateHeight(e,t,n,r):s.updateHeight(e,t,n),r&&r.from<=a+o.length&&r.more?l=o=o.updateHeight(e,a,n,r):o.updateHeight(e,a,n),l?this.balanced(s,o):(this.height=this.left.height+this.right.height,this.outdated=!1,this)}toString(){return this.left+(this.break?" ":"-")+this.right}};function Mf(i,e){let t,n;i[e]==null&&(t=i[e-1])instanceof ai&&(n=i[e+1])instanceof ai&&i.splice(e-1,3,new ai(t.length+1+n.length))}var vQ=5,Za=class i{constructor(e,t){this.pos=e,this.oracle=t,this.nodes=[],this.lineStart=-1,this.lineEnd=-1,this.covering=null,this.writtenTo=e}get isCovered(){return this.covering&&this.nodes[this.nodes.length-1]==this.covering}span(e,t){if(this.lineStart>-1){let n=Math.min(t,this.lineEnd),r=this.nodes[this.nodes.length-1];r instanceof st?r.length+=n-this.pos:(n>this.pos||!this.isCovered)&&this.nodes.push(new st(n-this.pos,-1,0)),this.writtenTo=n,t>n&&(this.nodes.push(null),this.writtenTo++,this.lineStart=-1)}this.pos=t}point(e,t,n){if(e=vQ)&&this.addLineDeco(r,s,o)}else t>e&&this.span(e,t);this.lineEnd>-1&&this.lineEnd-1)return;let{from:e,to:t}=this.oracle.doc.lineAt(this.pos);this.lineStart=e,this.lineEnd=t,this.writtenToe&&this.nodes.push(new st(this.pos-e,-1,0)),this.writtenTo=this.pos}blankContent(e,t){let n=new ai(t-e);return this.oracle.doc.lineAt(e).to==t&&(n.flags|=4),n}ensureLine(){this.enterLine();let e=this.nodes.length?this.nodes[this.nodes.length-1]:null;if(e instanceof st)return e;let t=new st(0,-1,0);return this.nodes.push(t),t}addBlock(e){this.enterLine();let t=e.deco;t&&t.startSide>0&&!this.isCovered&&this.ensureLine(),this.nodes.push(e),this.writtenTo=this.pos=this.pos+e.length,t&&t.endSide>0&&(this.covering=e)}addLineDeco(e,t,n){let r=this.ensureLine();r.length+=n,r.collapsed+=n,r.widgetHeight=Math.max(r.widgetHeight,e),r.breaks+=t,this.writtenTo=this.pos=this.pos+n}finish(e){let t=this.nodes.length==0?null:this.nodes[this.nodes.length-1];this.lineStart>-1&&!(t instanceof st)&&!this.isCovered?this.nodes.push(new st(0,-1,0)):(this.writtenToh.clientHeight||h.scrollWidth>h.clientWidth)&&f.overflow!="visible"){let u=h.getBoundingClientRect();s=Math.max(s,u.left),o=Math.min(o,u.right),a=Math.max(a,u.top),l=Math.min(c==i.parentNode?r.innerHeight:l,u.bottom)}c=f.position=="absolute"||f.position=="fixed"?h.offsetParent:h.parentNode}else if(c.nodeType==11)c=c.host;else break;return{left:s-t.left,right:Math.max(s,o)-t.left,top:a-(t.top+e),bottom:Math.max(a,l)-(t.top+e)}}function CQ(i){let e=i.getBoundingClientRect(),t=i.ownerDocument.defaultView||window;return e.left0&&e.top0}function XQ(i,e){let t=i.getBoundingClientRect();return{left:0,right:t.right-t.left,top:e,bottom:t.bottom-(t.top+e)}}var er=class{constructor(e,t,n,r){this.from=e,this.to=t,this.size=n,this.displaySize=r}static same(e,t){if(e.length!=t.length)return!1;for(let n=0;ntypeof r!="function"&&r.class=="cm-lineWrapping");this.heightOracle=new _a(n),this.stateDeco=jf(t),this.heightMap=Fe.empty().applyChanges(this.stateDeco,K.empty,this.heightOracle.setDoc(t.doc),[new gt(0,0,0,t.doc.length)]);for(let r=0;r<2&&(this.viewport=this.getViewport(0,null),!!this.updateForViewport());r++);this.updateViewportLines(),this.lineGaps=this.ensureLineGaps([]),this.lineGapDeco=A.set(this.lineGaps.map(r=>r.draw(this,!1))),this.scrollParent=e.scrollDOM,this.computeVisibleRanges()}updateForViewport(){let e=[this.viewport],{main:t}=this.state.selection;for(let n=0;n<=1;n++){let r=n?t.head:t.anchor;if(!e.some(({from:s,to:o})=>r>=s&&r<=o)){let{from:s,to:o}=this.lineBlockAt(r);e.push(new hn(s,o))}}return this.viewports=e.sort((n,r)=>n.from-r.from),this.updateScaler()}updateScaler(){let e=this.scaler;return this.scaler=this.heightMap.height<=7e6?Wf:new za(this.heightOracle,this.heightMap,this.viewports),e.eq(this.scaler)?0:2}updateViewportLines(){this.viewportLines=[],this.heightMap.forEachLine(this.viewport.from,this.viewport.to,this.heightOracle.setDoc(this.state.doc),0,0,e=>{this.viewportLines.push(Bn(e,this.scaler))})}update(e,t=null){this.state=e.state;let n=this.stateDeco;this.stateDeco=jf(this.state);let r=e.changedRanges,s=gt.extendWithRanges(r,$Q(n,this.stateDeco,e?e.changes:qe.empty(this.state.doc.length))),o=this.heightMap.height,a=this.scrolledToBottom?null:this.scrollAnchorAt(this.scrollOffset);Lf(),this.heightMap=this.heightMap.applyChanges(this.stateDeco,e.startState.doc,this.heightOracle.setDoc(this.state.doc),s),(this.heightMap.height!=o||gn)&&(e.flags|=2),a?(this.scrollAnchorPos=e.changes.mapPos(a.from,-1),this.scrollAnchorHeight=a.top):(this.scrollAnchorPos=-1,this.scrollAnchorHeight=o);let l=s.length?this.mapViewport(this.viewport,e.changes):this.viewport;(t&&(t.range.headl.to)||!this.viewportIsAppropriate(l))&&(l=this.getViewport(0,t));let c=l.from!=this.viewport.from||l.to!=this.viewport.to;this.viewport=l,e.flags|=this.updateForViewport(),(c||!e.changes.empty||e.flags&2)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(this.mapLineGaps(this.lineGaps,e.changes))),e.flags|=this.computeVisibleRanges(e.changes),t&&(this.scrollTarget=t),!this.mustEnforceCursorAssoc&&(e.selectionSet||e.focusChanged)&&e.view.lineWrapping&&e.state.selection.main.empty&&e.state.selection.main.assoc&&!e.state.facet(z0)&&(this.mustEnforceCursorAssoc=!0)}measure(){let{view:e}=this,t=e.contentDOM,n=window.getComputedStyle(t),r=this.heightOracle,s=n.whiteSpace;this.defaultTextDirection=n.direction=="rtl"?ue.RTL:ue.LTR;let o=this.heightOracle.mustRefreshForWrapping(s)||this.mustMeasureContent==="refresh",a=t.getBoundingClientRect(),l=o||this.mustMeasureContent||this.contentDOMHeight!=a.height;this.contentDOMHeight=a.height,this.mustMeasureContent=!1;let c=0,h=0;if(a.width&&a.height){let{scaleX:v,scaleY:$}=Nf(t,a);(v>.005&&Math.abs(this.scaleX-v)>.005||$>.005&&Math.abs(this.scaleY-$)>.005)&&(this.scaleX=v,this.scaleY=$,c|=16,o=l=!0)}let f=(parseInt(n.paddingTop)||0)*this.scaleY,u=(parseInt(n.paddingBottom)||0)*this.scaleY;(this.paddingTop!=f||this.paddingBottom!=u)&&(this.paddingTop=f,this.paddingBottom=u,c|=18),this.editorWidth!=e.scrollDOM.clientWidth&&(r.lineWrapping&&(l=!0),this.editorWidth=e.scrollDOM.clientWidth,c|=16);let O=Ff(this.view.contentDOM,!1).y;O!=this.scrollParent&&(this.scrollParent=O,this.scrollAnchorHeight=-1,this.scrollOffset=0);let p=this.getScrollOffset();this.scrollOffset!=p&&(this.scrollAnchorHeight=-1,this.scrollOffset=p),this.scrolledToBottom=Kf(this.scrollParent||e.win);let m=(this.printing?XQ:TQ)(t,this.paddingTop),b=m.top-this.pixelViewport.top,g=m.bottom-this.pixelViewport.bottom;this.pixelViewport=m;let Q=this.pixelViewport.bottom>this.pixelViewport.top&&this.pixelViewport.right>this.pixelViewport.left;if(Q!=this.inView&&(this.inView=Q,Q&&(l=!0)),!this.inView&&!this.scrollTarget&&!CQ(e.dom))return 0;let S=a.width;if((this.contentDOMWidth!=S||this.editorHeight!=e.scrollDOM.clientHeight)&&(this.contentDOMWidth=a.width,this.editorHeight=e.scrollDOM.clientHeight,c|=16),l){let v=e.docView.measureVisibleLineHeights(this.viewport);if(r.mustRefreshForHeights(v)&&(o=!0),o||r.lineWrapping&&Math.abs(S-this.contentDOMWidth)>r.charWidth){let{lineHeight:$,charWidth:R,textHeight:_}=e.docView.measureTextSize();o=$>0&&r.refresh(s,$,R,_,Math.max(5,S/R),v),o&&(e.docView.minWidth=0,c|=16)}b>0&&g>0?h=Math.max(b,g):b<0&&g<0&&(h=Math.min(b,g)),Lf();for(let $ of this.viewports){let R=$.from==this.viewport.from?v:e.docView.measureVisibleLineHeights($);this.heightMap=(o?Fe.empty().applyChanges(this.stateDeco,K.empty,this.heightOracle,[new gt(0,0,0,e.state.doc.length)]):this.heightMap).updateHeight(r,0,o,new Ra($.from,R))}gn&&(c|=2)}let x=!this.viewportIsAppropriate(this.viewport,h)||this.scrollTarget&&(this.scrollTarget.range.headthis.viewport.to);return x&&(c&2&&(c|=this.updateScaler()),this.viewport=this.getViewport(h,this.scrollTarget),c|=this.updateForViewport()),(c&2||x)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(o?[]:this.lineGaps,e)),c|=this.computeVisibleRanges(),this.mustEnforceCursorAssoc&&(this.mustEnforceCursorAssoc=!1,e.docView.enforceCursorAssoc()),c}get visibleTop(){return this.scaler.fromDOM(this.pixelViewport.top)}get visibleBottom(){return this.scaler.fromDOM(this.pixelViewport.bottom)}getViewport(e,t){let n=.5-Math.max(-.5,Math.min(.5,e/1e3/2)),r=this.heightMap,s=this.heightOracle,{visibleTop:o,visibleBottom:a}=this,l=new hn(r.lineAt(o-n*1e3,le.ByHeight,s,0,0).from,r.lineAt(a+(1-n)*1e3,le.ByHeight,s,0,0).to);if(t){let{head:c}=t.range;if(cl.to){let h=Math.min(this.editorHeight,this.pixelViewport.bottom-this.pixelViewport.top),f=r.lineAt(c,le.ByPos,s,0,0),u;t.y=="center"?u=(f.top+f.bottom)/2-h/2:t.y=="start"||t.y=="nearest"&&c=a+Math.max(10,Math.min(n,250)))&&r>o-2*1e3&&s>1,o=r<<1;if(this.defaultTextDirection!=ue.LTR&&!n)return[];let a=[],l=(h,f,u,O)=>{if(f-hh&&gg.from>=u.from&&g.to<=u.to&&Math.abs(g.from-h)g.fromQ));if(!b){if(fS.from<=f&&S.to>=f)){let S=t.moveToLineBoundary(P.cursor(f),!1,!0).head;S>h&&(f=S)}let g=this.gapSize(u,h,f,O),Q=n||g<2e6?g:2e6;b=new er(h,f,g,Q)}a.push(b)},c=h=>{if(h.length2e6)for(let $ of e)$.from>=h.from&&$.fromh.from&&l(h.from,O,h,f),pt.draw(this,this.heightOracle.lineWrapping))))}computeVisibleRanges(e){let t=this.stateDeco;this.lineGaps.length&&(t=t.concat(this.lineGapDeco));let n=[];ae.spans(t,this.viewport.from,this.viewport.to,{span(s,o){n.push({from:s,to:o})},point(){}},20);let r=0;if(n.length!=this.visibleRanges.length)r=12;else for(let s=0;s=this.viewport.from&&e<=this.viewport.to&&this.viewportLines.find(t=>t.from<=e&&t.to>=e)||Bn(this.heightMap.lineAt(e,le.ByPos,this.heightOracle,0,0),this.scaler)}lineBlockAtHeight(e){return e>=this.viewportLines[0].top&&e<=this.viewportLines[this.viewportLines.length-1].bottom&&this.viewportLines.find(t=>t.top<=e&&t.bottom>=e)||Bn(this.heightMap.lineAt(this.scaler.fromDOM(e),le.ByHeight,this.heightOracle,0,0),this.scaler)}getScrollOffset(){return(this.scrollParent==this.view.scrollDOM?this.scrollParent.scrollTop:(this.scrollParent?this.scrollParent.getBoundingClientRect().top:0)-this.view.contentDOM.getBoundingClientRect().top)*this.scaleY}scrollAnchorAt(e){let t=this.lineBlockAtHeight(e+8);return t.from>=this.viewport.from||this.viewportLines[0].top-e>200?t:this.viewportLines[0]}elementAtHeight(e){return Bn(this.heightMap.blockAt(this.scaler.fromDOM(e),this.heightOracle,0,0),this.scaler)}get docHeight(){return this.scaler.toDOM(this.heightMap.height)}get contentHeight(){return this.docHeight+this.paddingTop+this.paddingBottom}},hn=class{constructor(e,t){this.from=e,this.to=t}};function _Q(i,e,t){let n=[],r=i,s=0;return ae.spans(t,i,e,{span(){},point(o,a){o>r&&(n.push({from:r,to:o}),s+=o-r),r=a}},20),r=1)return e[e.length-1].to;let n=Math.floor(i*t);for(let r=0;;r++){let{from:s,to:o}=e[r],a=o-s;if(n<=a)return s+n;n-=a}}function ns(i,e){let t=0;for(let{from:n,to:r}of i.ranges){if(e<=r){t+=e-n;break}t+=r-n}return t/i.total}function RQ(i,e){for(let t of i)if(e(t))return t}var Wf={toDOM(i){return i},fromDOM(i){return i},scale:1,eq(i){return i==this}};function jf(i){let e=i.facet(ys).filter(n=>typeof n!="function"),t=i.facet(Fa).filter(n=>typeof n!="function");return t.length&&e.push(ae.join(t)),e}var za=class i{constructor(e,t,n){let r=0,s=0,o=0;this.viewports=n.map(({from:a,to:l})=>{let c=t.lineAt(a,le.ByPos,e,0,0).top,h=t.lineAt(l,le.ByPos,e,0,0).bottom;return r+=h-c,{from:a,to:l,top:c,bottom:h,domTop:0,domBottom:0}}),this.scale=(7e6-r)/(t.height-r);for(let a of this.viewports)a.domTop=o+(a.top-s)*this.scale,o=a.domBottom=a.domTop+(a.bottom-a.top),s=a.bottom}toDOM(e){for(let t=0,n=0,r=0;;t++){let s=tt.from==e.viewports[n].from&&t.to==e.viewports[n].to):!1}};function Bn(i,e){if(e.scale==1)return i;let t=e.toDOM(i.top),n=e.toDOM(i.bottom);return new mt(i.from,i.length,t,n-t,Array.isArray(i._content)?i._content.map(r=>Bn(r,e)):i._content)}var rs=Y.define({combine:i=>i.join(" ")}),La=Y.define({combine:i=>i.indexOf(!0)>-1}),Ma=rt.newName(),Zu=rt.newName(),Eu=rt.newName(),qu={"&light":"."+Zu,"&dark":"."+Eu};function Wa(i,e,t){return new rt(e,{finish(n){return/&/.test(n)?n.replace(/&\w*/,r=>{if(r=="&")return i;if(!t||!t[r])throw new RangeError(`Unsupported selector: ${r}`);return t[r]}):i+" "+n}})}var AQ=Wa("."+Ma,{"&":{position:"relative !important",boxSizing:"border-box","&.cm-focused":{outline:"1px dotted #212121"},display:"flex !important",flexDirection:"column"},".cm-scroller":{display:"flex !important",alignItems:"flex-start !important",fontFamily:"monospace",lineHeight:1.4,height:"100%",overflowX:"auto",position:"relative",zIndex:0,overflowAnchor:"none"},".cm-content":{margin:0,flexGrow:2,flexShrink:0,display:"block",whiteSpace:"pre",wordWrap:"normal",boxSizing:"border-box",minHeight:"100%",padding:"4px 0",outline:"none","&[contenteditable=true]":{WebkitUserModify:"read-write-plaintext-only"}},".cm-lineWrapping":{whiteSpace_fallback:"pre-wrap",whiteSpace:"break-spaces",wordBreak:"break-word",overflowWrap:"anywhere",flexShrink:1},"&light .cm-content":{caretColor:"black"},"&dark .cm-content":{caretColor:"white"},".cm-line":{display:"block",padding:"0 2px 0 6px"},".cm-layer":{userSelect:"none",position:"absolute",left:0,top:0,contain:"size style","& > *":{position:"absolute"}},"&light .cm-selectionBackground":{background:"#d9d9d9"},"&dark .cm-selectionBackground":{background:"#222"},"&light.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#d7d4f0"},"&dark.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#233"},".cm-cursorLayer":{pointerEvents:"none"},"&.cm-focused > .cm-scroller > .cm-cursorLayer":{animation:"steps(1) cm-blink 1.2s infinite"},"@keyframes cm-blink":{"0%":{},"50%":{opacity:0},"100%":{}},"@keyframes cm-blink2":{"0%":{},"50%":{opacity:0},"100%":{}},".cm-cursor, .cm-dropCursor":{borderLeft:"1.2px solid black",marginLeft:"-0.6px",pointerEvents:"none"},".cm-cursor":{display:"none"},"&dark .cm-cursor":{borderLeftColor:"#ddd"},".cm-selectionHandle":{backgroundColor:"currentColor",width:"1.5px"},".cm-selectionHandle-start::before, .cm-selectionHandle-end::before":{content:'""',backgroundColor:"inherit",borderRadius:"50%",width:"8px",height:"8px",position:"absolute",left:"-3.25px"},".cm-selectionHandle-start::before":{top:"-8px"},".cm-selectionHandle-end::before":{bottom:"-8px"},".cm-dropCursor":{position:"absolute"},"&.cm-focused > .cm-scroller > .cm-cursorLayer .cm-cursor":{display:"block"},".cm-iso":{unicodeBidi:"isolate"},".cm-announced":{position:"fixed",top:"-10000px"},"@media print":{".cm-announced":{display:"none"}},"&light .cm-activeLine":{backgroundColor:"#cceeff44"},"&dark .cm-activeLine":{backgroundColor:"#99eeff33"},"&light .cm-specialChar":{color:"red"},"&dark .cm-specialChar":{color:"#f78"},".cm-gutters":{flexShrink:0,display:"flex",height:"100%",boxSizing:"border-box",zIndex:200},".cm-gutters-before":{insetInlineStart:0},".cm-gutters-after":{insetInlineEnd:0},"&light .cm-gutters":{backgroundColor:"#f5f5f5",color:"#6c6c6c",border:"0px solid #ddd","&.cm-gutters-before":{borderRightWidth:"1px"},"&.cm-gutters-after":{borderLeftWidth:"1px"}},"&dark .cm-gutters":{backgroundColor:"#333338",color:"#ccc"},".cm-gutter":{display:"flex !important",flexDirection:"column",flexShrink:0,boxSizing:"border-box",minHeight:"100%",overflow:"hidden"},".cm-gutterElement":{boxSizing:"border-box"},".cm-lineNumbers .cm-gutterElement":{padding:"0 3px 0 5px",minWidth:"20px",textAlign:"right",whiteSpace:"nowrap"},"&light .cm-activeLineGutter":{backgroundColor:"#e2f2ff"},"&dark .cm-activeLineGutter":{backgroundColor:"#222227"},".cm-panels":{boxSizing:"border-box",position:"sticky",left:0,right:0,zIndex:300},"&light .cm-panels":{backgroundColor:"#f5f5f5",color:"black"},"&light .cm-panels-top":{borderBottom:"1px solid #ddd"},"&light .cm-panels-bottom":{borderTop:"1px solid #ddd"},"&dark .cm-panels":{backgroundColor:"#333338",color:"white"},".cm-dialog":{padding:"2px 19px 4px 6px",position:"relative","& label":{fontSize:"80%"}},".cm-dialog-close":{position:"absolute",top:"3px",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",fontSize:"14px",padding:"0"},".cm-tab":{display:"inline-block",overflow:"hidden",verticalAlign:"bottom"},".cm-widgetBuffer":{verticalAlign:"text-top",height:"1em",width:0,display:"inline"},".cm-placeholder":{color:"#888",display:"inline-block",verticalAlign:"top",userSelect:"none"},".cm-highlightSpace":{backgroundImage:"radial-gradient(circle at 50% 55%, #aaa 20%, transparent 5%)",backgroundPosition:"center"},".cm-highlightTab":{backgroundImage:`url('data:image/svg+xml,')`,backgroundSize:"auto 100%",backgroundPosition:"right 90%",backgroundRepeat:"no-repeat"},".cm-trailingSpace":{backgroundColor:"#ff332255"},".cm-button":{verticalAlign:"middle",color:"inherit",fontSize:"70%",padding:".2em 1em",borderRadius:"1px"},"&light .cm-button":{backgroundImage:"linear-gradient(#eff1f5, #d9d9df)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#b4b4b4, #d0d3d6)"}},"&dark .cm-button":{backgroundImage:"linear-gradient(#393939, #111)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#111, #333)"}},".cm-textfield":{verticalAlign:"middle",color:"inherit",fontSize:"70%",border:"1px solid silver",padding:".2em .5em"},"&light .cm-textfield":{backgroundColor:"white"},"&dark .cm-textfield":{border:"1px solid #555",backgroundColor:"inherit"}},qu),ZQ={childList:!0,characterData:!0,subtree:!0,attributes:!0,characterDataOldValue:!0},sa=L.ie&&L.ie_version<=11,ja=class{constructor(e){this.view=e,this.active=!1,this.editContext=null,this.selectionRange=new fa,this.selectionChanged=!1,this.delayedFlush=-1,this.resizeTimeout=-1,this.queue=[],this.delayedAndroidKey=null,this.flushingAndroidKey=-1,this.lastChange=0,this.scrollTargets=[],this.intersection=null,this.resizeScroll=null,this.intersecting=!1,this.gapIntersection=null,this.gaps=[],this.printQuery=null,this.parentCheck=-1,this.dom=e.contentDOM,this.observer=new MutationObserver(t=>{for(let n of t)this.queue.push(n);(L.ie&&L.ie_version<=11||L.ios&&e.composing)&&t.some(n=>n.type=="childList"&&n.removedNodes.length||n.type=="characterData"&&n.oldValue.length>n.target.nodeValue.length)?this.flushSoon():this.flush()}),window.EditContext&&L.android&&e.constructor.EDIT_CONTEXT!==!1&&!(L.chrome&&L.chrome_version<126)&&(this.editContext=new Va(e),e.state.facet(Mt)&&(e.contentDOM.editContext=this.editContext.editContext)),sa&&(this.onCharData=t=>{this.queue.push({target:t.target,type:"characterData",oldValue:t.prevValue}),this.flushSoon()}),this.onSelectionChange=this.onSelectionChange.bind(this),this.onResize=this.onResize.bind(this),this.onPrint=this.onPrint.bind(this),this.onScroll=this.onScroll.bind(this),window.matchMedia&&(this.printQuery=window.matchMedia("print")),typeof ResizeObserver=="function"&&(this.resizeScroll=new ResizeObserver(()=>{var t;((t=this.view.docView)===null||t===void 0?void 0:t.lastUpdate){this.parentCheck<0&&(this.parentCheck=setTimeout(this.listenForScroll.bind(this),1e3)),t.length>0&&t[t.length-1].intersectionRatio>0!=this.intersecting&&(this.intersecting=!this.intersecting,this.intersecting!=this.view.inView&&this.onScrollChanged(document.createEvent("Event")))},{threshold:[0,.001]}),this.intersection.observe(this.dom),this.gapIntersection=new IntersectionObserver(t=>{t.length>0&&t[t.length-1].intersectionRatio>0&&this.onScrollChanged(document.createEvent("Event"))},{})),this.listenForScroll(),this.readSelectionRange()}onScrollChanged(e){this.view.inputState.runHandlers("scroll",e),this.intersecting&&this.view.measure()}onScroll(e){this.intersecting&&this.flush(!1),this.editContext&&this.view.requestMeasure(this.editContext.measureReq),this.onScrollChanged(e)}onResize(){this.resizeTimeout<0&&(this.resizeTimeout=setTimeout(()=>{this.resizeTimeout=-1,this.view.requestMeasure()},50))}onPrint(e){(e.type=="change"||!e.type)&&!e.matches||(this.view.viewState.printing=!0,this.view.measure(),setTimeout(()=>{this.view.viewState.printing=!1,this.view.requestMeasure()},500))}updateGaps(e){if(this.gapIntersection&&(e.length!=this.gaps.length||this.gaps.some((t,n)=>t!=e[n]))){this.gapIntersection.disconnect();for(let t of e)this.gapIntersection.observe(t);this.gaps=e}}onSelectionChange(e){let t=this.selectionChanged;if(!this.readSelectionRange()||this.delayedAndroidKey)return;let{view:n}=this,r=this.selectionRange;if(n.state.facet(Mt)?n.root.activeElement!=this.dom:!Gn(this.dom,r))return;let s=r.anchorNode&&n.docView.tile.nearest(r.anchorNode);if(s&&s.isWidget()&&s.widget.ignoreEvent(e)){t||(this.selectionChanged=!1);return}(L.ie&&L.ie_version<=11||L.android&&L.chrome)&&!n.state.selection.main.empty&&r.focusNode&&Nn(r.focusNode,r.focusOffset,r.anchorNode,r.anchorOffset)?this.flushSoon():this.flush(!1)}readSelectionRange(){let{view:e}=this,t=nr(e.root);if(!t)return!1;let n=L.safari&&e.root.nodeType==11&&e.root.activeElement==this.dom&&EQ(this.view,t)||t;if(!n||this.selectionRange.eq(n))return!1;let r=Gn(this.dom,n);return r&&!this.selectionChanged&&e.inputState.lastFocusTime>Date.now()-200&&e.inputState.lastTouchTime{let s=this.delayedAndroidKey;s&&(this.clearDelayedAndroidKey(),this.view.inputState.lastKeyCode=s.keyCode,this.view.inputState.lastKeyTime=Date.now(),!this.flush()&&s.force&&un(this.dom,s.key,s.keyCode))};this.flushingAndroidKey=this.view.win.requestAnimationFrame(r)}(!this.delayedAndroidKey||e=="Enter")&&(this.delayedAndroidKey={key:e,keyCode:t,force:this.lastChange{this.delayedFlush=-1,this.flush()}))}forceFlush(){this.delayedFlush>=0&&(this.view.win.cancelAnimationFrame(this.delayedFlush),this.delayedFlush=-1),this.flush()}pendingRecords(){for(let e of this.observer.takeRecords())this.queue.push(e);return this.queue}processRecords(){let e=this.pendingRecords();e.length&&(this.queue=[]);let t=-1,n=-1,r=!1;for(let s of e){let o=this.readMutation(s);o&&(o.typeOver&&(r=!0),t==-1?{from:t,to:n}=o:(t=Math.min(o.from,t),n=Math.max(o.to,n)))}return{from:t,to:n,typeOver:r}}readChange(){let{from:e,to:t,typeOver:n}=this.processRecords(),r=this.selectionChanged&&Gn(this.dom,this.selectionRange);if(e<0&&!r)return null;e>-1&&(this.lastChange=Date.now()),this.view.inputState.lastFocusTime=0,this.selectionChanged=!1;let s=new $a(this.view,e,t,n);return this.view.docView.domChanged={newSel:s.newSel?s.newSel.main:null},s}flush(e=!0){if(this.delayedFlush>=0||this.delayedAndroidKey)return!1;e&&this.readSelectionRange();let t=this.readChange();if(!t)return this.view.requestMeasure(),!1;let n=this.view.state,r=wu(this.view,t);return this.view.state==n&&(t.domChanged||t.newSel&&!ps(this.view.state.selection,t.newSel.main))&&this.view.update([]),r}readMutation(e){let t=this.view.docView.tile.nearest(e.target);if(!t||t.isWidget())return null;if(t.markDirty(e.type=="attributes"),e.type=="childList"){let n=Vf(t,e.previousSibling||e.target.previousSibling,-1),r=Vf(t,e.nextSibling||e.target.nextSibling,1);return{from:n?t.posAfter(n):t.posAtStart,to:r?t.posBefore(r):t.posAtEnd,typeOver:!1}}else return e.type=="characterData"?{from:t.posAtStart,to:t.posAtEnd,typeOver:e.target.nodeValue==e.oldValue}:null}setWindow(e){e!=this.win&&(this.removeWindowListeners(this.win),this.win=e,this.addWindowListeners(this.win))}addWindowListeners(e){e.addEventListener("resize",this.onResize),this.printQuery?this.printQuery.addEventListener?this.printQuery.addEventListener("change",this.onPrint):this.printQuery.addListener(this.onPrint):e.addEventListener("beforeprint",this.onPrint),e.addEventListener("scroll",this.onScroll),e.document.addEventListener("selectionchange",this.onSelectionChange)}removeWindowListeners(e){e.removeEventListener("scroll",this.onScroll),e.removeEventListener("resize",this.onResize),this.printQuery?this.printQuery.removeEventListener?this.printQuery.removeEventListener("change",this.onPrint):this.printQuery.removeListener(this.onPrint):e.removeEventListener("beforeprint",this.onPrint),e.document.removeEventListener("selectionchange",this.onSelectionChange)}update(e){this.editContext&&(this.editContext.update(e),e.startState.facet(Mt)!=e.state.facet(Mt)&&(e.view.contentDOM.editContext=e.state.facet(Mt)?this.editContext.editContext:null))}destroy(){var e,t,n;this.stop(),(e=this.intersection)===null||e===void 0||e.disconnect(),(t=this.gapIntersection)===null||t===void 0||t.disconnect(),(n=this.resizeScroll)===null||n===void 0||n.disconnect();for(let r of this.scrollTargets)r.removeEventListener("scroll",this.onScroll);this.removeWindowListeners(this.win),clearTimeout(this.parentCheck),clearTimeout(this.resizeTimeout),this.win.cancelAnimationFrame(this.delayedFlush),this.win.cancelAnimationFrame(this.flushingAndroidKey),this.editContext&&(this.view.contentDOM.editContext=null,this.editContext.destroy())}};function Vf(i,e,t){for(;e;){let n=fe.get(e);if(n&&n.parent==i)return n;let r=e.parentNode;e=r!=i.dom?r:t>0?e.nextSibling:e.previousSibling}return null}function Df(i,e){let t=e.startContainer,n=e.startOffset,r=e.endContainer,s=e.endOffset,o=i.docView.domAtPos(i.state.selection.main.anchor,1);return Nn(o.node,o.offset,r,s)&&([t,n,r,s]=[r,s,t,n]),{anchorNode:t,anchorOffset:n,focusNode:r,focusOffset:s}}function EQ(i,e){if(e.getComposedRanges){let r=e.getComposedRanges(i.root)[0];if(r)return Df(i,r)}let t=null;function n(r){r.preventDefault(),r.stopImmediatePropagation(),t=r.getTargetRanges()[0]}return i.contentDOM.addEventListener("beforeinput",n,!0),i.dom.ownerDocument.execCommand("indent"),i.contentDOM.removeEventListener("beforeinput",n,!0),t?Df(i,t):null}var Va=class{constructor(e){this.from=0,this.to=0,this.pendingContextChange=null,this.handlers=Object.create(null),this.composing=null,this.resetRange(e.state);let t=this.editContext=new window.EditContext({text:e.state.doc.sliceString(this.from,this.to),selectionStart:this.toContextPos(Math.max(this.from,Math.min(this.to,e.state.selection.main.anchor))),selectionEnd:this.toContextPos(e.state.selection.main.head)});this.handlers.textupdate=n=>{let r=e.state.selection.main,{anchor:s,head:o}=r,a=this.toEditorPos(n.updateRangeStart),l=this.toEditorPos(n.updateRangeEnd);e.inputState.composing>=0&&!this.composing&&(this.composing={contextBase:n.updateRangeStart,editorBase:a,drifted:!1});let c=l-a>n.text.length;a==this.from&&sthis.to&&(l=s);let h=Pu(e.state.sliceDoc(a,l),n.text,(c?r.from:r.to)-a,c?"end":null);if(!h){let u=P.single(this.toEditorPos(n.selectionStart),this.toEditorPos(n.selectionEnd));ps(u,r)||e.dispatch({selection:u,userEvent:"select"});return}let f={from:h.from+a,to:h.toA+a,insert:K.of(n.text.slice(h.from,h.toB).split(` -`))};if((L.mac||L.android)&&f.from==o-1&&/^\. ?$/.test(n.text)&&e.contentDOM.getAttribute("autocorrect")=="off"&&(f={from:a,to:l,insert:K.of([n.text.replace("."," ")])}),this.pendingContextChange=f,!e.state.readOnly){let u=this.to-this.from+(f.to-f.from+f.insert.length);Ha(e,f,P.single(this.toEditorPos(n.selectionStart,u),this.toEditorPos(n.selectionEnd,u)))}this.pendingContextChange&&(this.revertPending(e.state),this.setSelection(e.state)),f.from=0&&!/[\\p{Alphabetic}\\p{Number}_]/.test(t.text.slice(Math.max(0,n.updateRangeStart-1),Math.min(t.text.length,n.updateRangeStart+1)))&&this.handlers.compositionend(n)},this.handlers.characterboundsupdate=n=>{let r=[],s=null;for(let o=this.toEditorPos(n.rangeStart),a=this.toEditorPos(n.rangeEnd);o{let r=[];for(let s of n.getTextFormats()){let o=s.underlineStyle,a=s.underlineThickness;if(!/none/i.test(o)&&!/none/i.test(a)){let l=this.toEditorPos(s.rangeStart),c=this.toEditorPos(s.rangeEnd);if(l{e.inputState.composing<0&&(e.inputState.composing=0,e.inputState.compositionFirstChange=!0)},this.handlers.compositionend=()=>{if(e.inputState.composing=-1,e.inputState.compositionFirstChange=null,this.composing){let{drifted:n}=this.composing;this.composing=null,n&&this.reset(e.state)}};for(let n in this.handlers)t.addEventListener(n,this.handlers[n]);this.measureReq={read:n=>{let r=nr(n.root);r&&r.rangeCount&&this.editContext.updateSelectionBounds(r.getRangeAt(0).getBoundingClientRect())}}}applyEdits(e){let t=0,n=!1,r=this.pendingContextChange;return e.changes.iterChanges((s,o,a,l,c)=>{if(n)return;let h=c.length-(o-s);if(r&&o>=r.to)if(r.from==s&&r.to==o&&r.insert.eq(c)){r=this.pendingContextChange=null,t+=h,this.to+=h;return}else r=null,this.revertPending(e.state);if(s+=t,o+=t,o<=this.from)this.from+=h,this.to+=h;else if(sthis.to||this.to-this.from+c.length>3e4){n=!0;return}this.editContext.updateText(this.toContextPos(s),this.toContextPos(o),c.toString()),this.to+=h}t+=h}),r&&!n&&this.revertPending(e.state),!n}update(e){let t=this.pendingContextChange,n=e.startState.selection.main;this.composing&&(this.composing.drifted||!e.changes.touchesRange(n.from,n.to)&&e.transactions.some(r=>!r.isUserEvent("input.type")&&r.changes.touchesRange(this.from,this.to)))?(this.composing.drifted=!0,this.composing.editorBase=e.changes.mapPos(this.composing.editorBase)):!this.applyEdits(e)||!this.rangeIsValid(e.state)?(this.pendingContextChange=null,this.reset(e.state)):(e.docChanged||e.selectionSet||t)&&this.setSelection(e.state),(e.geometryChanged||e.docChanged||e.selectionSet)&&e.view.requestMeasure(this.measureReq)}resetRange(e){let{head:t}=e.selection.main;this.from=Math.max(0,t-1e4),this.to=Math.min(e.doc.length,t+1e4)}reset(e){this.resetRange(e),this.editContext.updateText(0,this.editContext.text.length,e.doc.sliceString(this.from,this.to)),this.setSelection(e)}revertPending(e){let t=this.pendingContextChange;this.pendingContextChange=null,this.editContext.updateText(this.toContextPos(t.from),this.toContextPos(t.from+t.insert.length),e.doc.sliceString(t.from,t.to))}setSelection(e){let{main:t}=e.selection,n=this.toContextPos(Math.max(this.from,Math.min(this.to,t.anchor))),r=this.toContextPos(t.head);(this.editContext.selectionStart!=n||this.editContext.selectionEnd!=r)&&this.editContext.updateSelection(n,r)}rangeIsValid(e){let{head:t}=e.selection.main;return!(this.from>0&&t-this.from<500||this.to1e4*3)}toEditorPos(e,t=this.to-this.from){e=Math.min(e,t);let n=this.composing;return n&&n.drifted?n.editorBase+(e-n.contextBase):e+this.from}toContextPos(e){let t=this.composing;return t&&t.drifted?t.contextBase+(e-t.editorBase):e-this.from}destroy(){for(let e in this.handlers)this.editContext.removeEventListener(e,this.handlers[e])}},z=class i{get state(){return this.viewState.state}get viewport(){return this.viewState.viewport}get visibleRanges(){return this.viewState.visibleRanges}get inView(){return this.viewState.inView}get composing(){return!!this.inputState&&this.inputState.composing>0}get compositionStarted(){return!!this.inputState&&this.inputState.composing>=0}get root(){return this._root}get win(){return this.dom.ownerDocument.defaultView||window}constructor(e={}){var t;this.plugins=[],this.pluginMap=new Map,this.editorAttrs={},this.contentAttrs={},this.bidiCache=[],this.destroyed=!1,this.updateState=2,this.measureScheduled=-1,this.measureRequests=[],this.contentDOM=document.createElement("div"),this.scrollDOM=document.createElement("div"),this.scrollDOM.tabIndex=-1,this.scrollDOM.className="cm-scroller",this.scrollDOM.appendChild(this.contentDOM),this.announceDOM=document.createElement("div"),this.announceDOM.className="cm-announced",this.announceDOM.setAttribute("aria-live","polite"),this.dom=document.createElement("div"),this.dom.appendChild(this.announceDOM),this.dom.appendChild(this.scrollDOM),e.parent&&e.parent.appendChild(this.dom);let{dispatch:n}=e;this.dispatchTransactions=e.dispatchTransactions||n&&(r=>r.forEach(s=>n(s,this)))||(r=>this.update(r)),this.dispatch=this.dispatch.bind(this),this._root=e.root||v0(e.parent)||document,this.viewState=new Qs(this,e.state||se.create(e)),e.scrollTo&&e.scrollTo.is(Jr)&&(this.viewState.scrollTarget=e.scrollTo.value.clip(this.viewState.state)),this.plugins=this.state.facet(cn).map(r=>new Hn(r));for(let r of this.plugins)r.update(this);this.observer=new ja(this),this.inputState=new Ta(this),this.inputState.ensureHandlers(this.plugins),this.docView=new Os(this),this.mountStyles(),this.updateAttrs(),this.updateState=0,this.requestMeasure(),!((t=document.fonts)===null||t===void 0)&&t.ready&&document.fonts.ready.then(()=>{this.viewState.mustMeasureContent="refresh",this.requestMeasure()})}dispatch(...e){let t=e.length==1&&e[0]instanceof pe?e:e.length==1&&Array.isArray(e[0])?e[0]:[this.state.update(...e)];this.dispatchTransactions(t,this)}update(e){if(this.updateState!=0)throw new Error("Calls to EditorView.update are not allowed while an update is in progress");let t=!1,n=!1,r,s=this.state;for(let u of e){if(u.startState!=s)throw new RangeError("Trying to update state with a transaction that doesn't start from the previous state.");s=u.state}if(this.destroyed){this.viewState.state=s;return}let o=this.hasFocus,a=0,l=null;e.some(u=>u.annotation(_u))?(this.inputState.notifiedFocused=o,a=1):o!=this.inputState.notifiedFocused&&(this.inputState.notifiedFocused=o,l=Ru(s,o),l||(a=1));let c=this.observer.delayedAndroidKey,h=null;if(c?(this.observer.clearDelayedAndroidKey(),h=this.observer.readChange(),(h&&!this.state.doc.eq(s.doc)||!this.state.selection.eq(s.selection))&&(h=null)):this.observer.clear(),s.facet(se.phrases)!=this.state.facet(se.phrases))return this.setState(s);r=fs.create(this,s,e),r.flags|=a;let f=this.viewState.scrollTarget;try{this.updateState=2;for(let u of e){if(f&&(f=f.map(u.changes)),u.scrollIntoView){let{main:O}=u.state.selection,{x:p,y:m}=this.state.facet(i.cursorScrollMargin);f=new Fn(O.empty?O:P.cursor(O.head,O.head>O.anchor?-1:1),"nearest","nearest",m,p)}for(let O of u.effects)O.is(Jr)&&(f=O.value.clip(this.state))}this.viewState.update(r,f),this.bidiCache=bs.update(this.bidiCache,r.changes),r.empty||(this.updatePlugins(r),this.inputState.update(r)),t=this.docView.update(r),this.state.facet(In)!=this.styleModules&&this.mountStyles(),n=this.updateAttrs(),this.showAnnouncements(e),this.docView.updateSelection(t,e.some(u=>u.isUserEvent("select.pointer")))}finally{this.updateState=0}if(r.startState.facet(rs)!=r.state.facet(rs)&&(this.viewState.mustMeasureContent=!0),(t||n||f||this.viewState.mustEnforceCursorAssoc||this.viewState.mustMeasureContent)&&this.requestMeasure(),t&&this.docViewUpdate(),!r.empty)for(let u of this.state.facet(pa))try{u(r)}catch(O){lt(this.state,O,"update listener")}(l||h)&&Promise.resolve().then(()=>{l&&this.state==l.startState&&this.dispatch(l),h&&!wu(this,h)&&c.force&&un(this.contentDOM,c.key,c.keyCode)})}setState(e){if(this.updateState!=0)throw new Error("Calls to EditorView.setState are not allowed while an update is in progress");if(this.destroyed){this.viewState.state=e;return}this.updateState=2;let t=this.hasFocus;try{for(let n of this.plugins)n.destroy(this);this.viewState=new Qs(this,e),this.plugins=e.facet(cn).map(n=>new Hn(n)),this.pluginMap.clear();for(let n of this.plugins)n.update(this);this.docView.destroy(),this.docView=new Os(this),this.inputState.ensureHandlers(this.plugins),this.mountStyles(),this.updateAttrs(),this.bidiCache=[]}finally{this.updateState=0}t&&this.focus(),this.requestMeasure()}updatePlugins(e){let t=e.startState.facet(cn),n=e.state.facet(cn);if(t!=n){let r=[];for(let s of n){let o=t.indexOf(s);if(o<0)r.push(new Hn(s));else{let a=this.plugins[o];a.mustUpdate=e,r.push(a)}}for(let s of this.plugins)s.mustUpdate!=e&&s.destroy(this);this.plugins=r,this.pluginMap.clear()}else for(let r of this.plugins)r.mustUpdate=e;for(let r=0;r-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.observer.delayedAndroidKey){this.measureScheduled=-1,this.requestMeasure();return}this.measureScheduled=0,e&&this.observer.forceFlush();let t=null,n=this.viewState.scrollParent,r=this.viewState.getScrollOffset(),{scrollAnchorPos:s,scrollAnchorHeight:o}=this.viewState;Math.abs(r-this.viewState.scrollOffset)>1&&(o=-1),this.viewState.scrollAnchorHeight=-1;try{for(let a=0;;a++){if(o<0)if(Kf(n||this.win))s=-1,o=this.viewState.heightMap.height;else{let O=this.viewState.scrollAnchorAt(r);s=O.from,o=O.top}this.updateState=1;let l=this.viewState.measure();if(!l&&!this.measureRequests.length&&this.viewState.scrollTarget==null)break;if(a>5){console.warn(this.measureRequests.length?"Measure loop restarted more than 5 times":"Viewport failed to stabilize");break}let c=[];l&4||([this.measureRequests,c]=[c,this.measureRequests]);let h=c.map(O=>{try{return O.read(this)}catch(p){return lt(this.state,p),Yf}}),f=fs.create(this,this.state,[]),u=!1;f.flags|=l,t?t.flags|=l:t=f,this.updateState=2,f.empty||(this.updatePlugins(f),this.inputState.update(f),this.updateAttrs(),u=this.docView.update(f),u&&this.docViewUpdate());for(let O=0;O1||p<-1)&&!(L.ios&&this.inputState.lastIOSMomentumScroll>Date.now()-100)&&(n==this.scrollDOM||this.hasFocus||Math.max(this.inputState.lastWheelEvent,this.inputState.lastTouchTime)>Date.now()-100)){r=r+p,n?n.scrollTop+=p:this.win.scrollBy(0,p),o=-1;continue}}break}}}finally{this.updateState=0,this.measureScheduled=-1}if(t&&!t.empty)for(let a of this.state.facet(pa))a(t)}get themeClasses(){return Ma+" "+(this.state.facet(La)?Eu:Zu)+" "+this.state.facet(rs)}updateAttrs(){let e=If(this,pu,{class:"cm-editor"+(this.hasFocus?" cm-focused ":" ")+this.themeClasses}),t={spellcheck:"false",autocorrect:"off",autocapitalize:"off",writingsuggestions:"false",translate:"no",contenteditable:this.state.facet(Mt)?"true":"false",class:"cm-content",style:`${L.tabSize}: ${this.state.tabSize}`,role:"textbox","aria-multiline":"true"};this.state.readOnly&&(t["aria-readonly"]="true"),If(this,Na,t);let n=this.observer.ignore(()=>{let r=xf(this.contentDOM,this.contentAttrs,t),s=xf(this.dom,this.editorAttrs,e);return r||s});return this.editorAttrs=e,this.contentAttrs=t,n}showAnnouncements(e){let t=!0;for(let n of e)for(let r of n.effects)if(r.is(i.announce)){t&&(this.announceDOM.textContent=""),t=!1;let s=this.announceDOM.appendChild(document.createElement("div"));s.textContent=r.value}}mountStyles(){this.styleModules=this.state.facet(In);let e=this.state.facet(i.cspNonce);rt.mount(this.root,this.styleModules.concat(AQ).reverse(),e?{nonce:e}:void 0)}readMeasured(){if(this.updateState==2)throw new Error("Reading the editor layout isn't allowed during an update");this.updateState==0&&this.measureScheduled>-1&&this.measure(!1)}requestMeasure(e){if(this.measureScheduled<0&&(this.measureScheduled=this.win.requestAnimationFrame(()=>this.measure())),e){if(this.measureRequests.indexOf(e)>-1)return;if(e.key!=null){for(let t=0;tn.plugin==e)||null),t&&t.update(this).value}get documentTop(){return this.contentDOM.getBoundingClientRect().top+this.viewState.paddingTop}get documentPadding(){return{top:this.viewState.paddingTop,bottom:this.viewState.paddingBottom}}get scaleX(){return this.viewState.scaleX}get scaleY(){return this.viewState.scaleY}elementAtHeight(e){return this.readMeasured(),this.viewState.elementAtHeight(e)}lineBlockAtHeight(e){return this.readMeasured(),this.viewState.lineBlockAtHeight(e)}get viewportLineBlocks(){return this.viewState.viewportLines}lineBlockAt(e){return this.viewState.lineBlockAt(e)}get contentHeight(){return this.viewState.contentHeight}moveByChar(e,t,n){return ra(this,e,Cf(this,e,t,n))}moveByGroup(e,t){return ra(this,e,Cf(this,e,t,n=>nQ(this,e.head,n)))}visualLineSide(e,t){let n=this.bidiSpans(e),r=this.textDirectionAt(e.from),s=n[t?n.length-1:0];return P.cursor(s.side(t,r)+e.from,s.forward(!t,r)?1:-1)}moveToLineBoundary(e,t,n=!0){return iQ(this,e,t,n)}moveVertically(e,t,n){return ra(this,e,rQ(this,e,t,n))}domAtPos(e,t=1){return this.docView.domAtPos(e,t)}posAtDOM(e,t=0){return this.docView.posFromDOM(e,t)}posAtCoords(e,t=!0){this.readMeasured();let n=wa(this,e,t);return n&&n.pos}posAndSideAtCoords(e,t=!0){return this.readMeasured(),wa(this,e,t)}coordsAtPos(e,t=1){this.readMeasured();let n=this.state.doc.lineAt(e),r=this.bidiSpans(n),s=r[at.find(r,e-n.from,-1,t)];return this.docView.coordsAt(e,t,s.dir==ue.RTL)}coordsForChar(e){return this.readMeasured(),this.docView.coordsForChar(e)}get defaultCharacterWidth(){return this.viewState.heightOracle.charWidth}get defaultLineHeight(){return this.viewState.heightOracle.lineHeight}get textDirection(){return this.viewState.defaultTextDirection}textDirectionAt(e){return!this.state.facet(uu)||ethis.viewport.to?this.textDirection:(this.readMeasured(),this.docView.textDirectionAt(e))}get lineWrapping(){return this.viewState.heightOracle.lineWrapping}bidiSpans(e){if(e.length>qQ)return ru(e.length);let t=this.textDirectionAt(e.from),n;for(let s of this.bidiCache)if(s.from==e.from&&s.dir==t&&(s.fresh||nu(s.isolates,n=vf(this,e))))return s.order;n||(n=vf(this,e));let r=Z0(e.text,t,n);return this.bidiCache.push(new bs(e.from,e.to,t,n,!0,r)),r}get hasFocus(){var e;return(this.dom.ownerDocument.hasFocus()||L.safari&&((e=this.inputState)===null||e===void 0?void 0:e.lastContextMenu)>Date.now()-3e4)&&this.root.activeElement==this.contentDOM}focus(){this.observer.ignore(()=>{Hf(this.contentDOM),this.docView.updateSelection()})}setRoot(e){this._root!=e&&(this._root=e,this.observer.setWindow((e.nodeType==9?e:e.ownerDocument).defaultView||window),this.mountStyles())}destroy(){this.root.activeElement==this.contentDOM&&this.contentDOM.blur();for(let e of this.plugins)e.destroy(this);this.plugins=[],this.inputState.destroy(),this.docView.destroy(),this.dom.remove(),this.observer.destroy(),this.measureScheduled>-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.destroyed=!0}static scrollIntoView(e,t={}){var n,r,s,o;return Jr.of(new Fn(typeof e=="number"?P.cursor(e):e,(n=t.y)!==null&&n!==void 0?n:"nearest",(r=t.x)!==null&&r!==void 0?r:"nearest",(s=t.yMargin)!==null&&s!==void 0?s:5,(o=t.xMargin)!==null&&o!==void 0?o:5))}scrollSnapshot(){let{scrollTop:e,scrollLeft:t}=this.scrollDOM,n=this.viewState.scrollAnchorAt(e);return Jr.of(new Fn(P.cursor(n.from),"start","start",n.top-e,t,!0))}setTabFocusMode(e){e==null?this.inputState.tabFocusMode=this.inputState.tabFocusMode<0?0:-1:typeof e=="boolean"?this.inputState.tabFocusMode=e?0:-1:this.inputState.tabFocusMode!=0&&(this.inputState.tabFocusMode=Date.now()+e)}static domEventHandlers(e){return Ve.define(()=>({}),{eventHandlers:e})}static domEventObservers(e){return Ve.define(()=>({}),{eventObservers:e})}static theme(e,t){let n=rt.newName(),r=[rs.of(n),In.of(Wa(`.${n}`,e))];return t&&t.dark&&r.push(La.of(!0)),r}static baseTheme(e){return nt.lowest(In.of(Wa("."+Ma,e,qu)))}static findFromDOM(e){var t;let n=e.querySelector(".cm-content"),r=n&&fe.get(n)||fe.get(e);return((t=r?.root)===null||t===void 0?void 0:t.view)||null}};z.styleModule=In;z.inputHandler=hu;z.clipboardInputFilter=Ua;z.clipboardOutputFilter=Ga;z.scrollHandler=Ou;z.focusChangeEffect=fu;z.perLineTextDirection=uu;z.exceptionSink=cu;z.updateListener=pa;z.editable=Mt;z.mouseSelectionStyle=lu;z.dragMovesSelection=au;z.clickAddsSelectionRange=ou;z.decorations=ys;z.blockWrappers=mu;z.outerDecorations=Fa;z.atomicRanges=sr;z.bidiIsolatedRanges=gu;z.cursorScrollMargin=Y.define({combine:i=>{let e=5,t=5;for(let n of i)typeof n=="number"?e=t=n:{x:e,y:t}=n;return{x:e,y:t}}});z.scrollMargins=Qu;z.darkTheme=La;z.cspNonce=Y.define({combine:i=>i.length?i[0]:""});z.contentAttributes=Na;z.editorAttributes=pu;z.lineWrapping=z.contentAttributes.of({class:"cm-lineWrapping"});z.announce=te.define();var qQ=4096,Yf={},bs=class i{constructor(e,t,n,r,s,o){this.from=e,this.to=t,this.dir=n,this.isolates=r,this.fresh=s,this.order=o}static update(e,t){if(t.empty&&!e.some(s=>s.fresh))return e;let n=[],r=e.length?e[e.length-1].dir:ue.LTR;for(let s=Math.max(0,e.length-10);s=0;r--){let s=n[r],o=typeof s=="function"?s(i):s;o&&Ya(o,t)}return t}var zQ=L.mac?"mac":L.windows?"win":L.linux?"linux":"key";function LQ(i,e){let t=i.split(/-(?!$)/),n=t[t.length-1];n=="Space"&&(n=" ");let r,s,o,a;for(let l=0;ln.concat(r),[]))),t}var oi=null,jQ=4e3;function VQ(i,e=zQ){let t=Object.create(null),n=Object.create(null),r=(o,a)=>{let l=n[o];if(l==null)n[o]=a;else if(l!=a)throw new Error("Key binding "+o+" is used both as a regular binding and as a multi-stroke prefix")},s=(o,a,l,c,h)=>{var f,u;let O=t[o]||(t[o]=Object.create(null)),p=a.split(/ (?!$)/).map(g=>LQ(g,e));for(let g=1;g{let x=oi={view:S,prefix:Q,scope:o};return setTimeout(()=>{oi==x&&(oi=null)},jQ),!0}]})}let m=p.join(" ");r(m,!1);let b=O[m]||(O[m]={preventDefault:!1,stopPropagation:!1,run:((u=(f=O._any)===null||f===void 0?void 0:f.run)===null||u===void 0?void 0:u.slice())||[]});l&&b.run.push(l),c&&(b.preventDefault=!0),h&&(b.stopPropagation=!0)};for(let o of i){let a=o.scope?o.scope.split(" "):["editor"];if(o.any)for(let c of a){let h=t[c]||(t[c]=Object.create(null));h._any||(h._any={preventDefault:!1,stopPropagation:!1,run:[]});let{any:f}=o;for(let u in h)h[u].run.push(O=>f(O,Da))}let l=o[e]||o.key;if(l)for(let c of a)s(c,l,o.run,o.preventDefault,o.stopPropagation),o.shift&&s(c,"Shift-"+l,o.shift,o.preventDefault,o.stopPropagation)}return t}var Da=null;function DQ(i,e,t,n){Da=e;let r=bf(e),s=si(r,0),o=on(s)==r.length&&r!=" ",a="",l=!1,c=!1,h=!1;oi&&oi.view==t&&oi.scope==n&&(a=oi.prefix+" ",$u.indexOf(e.keyCode)<0&&(c=!0,oi=null));let f=new Set,u=b=>{if(b){for(let g of b.run)if(!f.has(g)&&(f.add(g),g(t)))return b.stopPropagation&&(h=!0),!0;b.preventDefault&&(b.stopPropagation&&(h=!0),c=!0)}return!1},O=i[n],p,m;return O&&(u(O[a+ss(r,e,!o)])?l=!0:o&&(e.altKey||e.metaKey||e.ctrlKey)&&!(L.windows&&e.ctrlKey&&e.altKey)&&!(L.mac&&e.altKey&&!(e.ctrlKey||e.metaKey))&&(p=Lt[e.keyCode])&&p!=r?(u(O[a+ss(p,e,!0)])||e.shiftKey&&(m=an[e.keyCode])!=r&&m!=p&&u(O[a+ss(m,e,!1)]))&&(l=!0):o&&e.shiftKey&&u(O[a+ss(r,e,!0)])&&(l=!0),!l&&u(O._any)&&(l=!0)),c&&(l=!0),l&&h&&e.stopPropagation(),Da=null,l}var zu=te.define({map(i,e){return i==null?null:e.mapPos(i)}}),Un=he.define({create(){return null},update(i,e){return i!=null&&(i=e.changes.mapPos(i)),e.effects.reduce((t,n)=>n.is(zu)?n.value:t,i)}}),YQ=Ve.fromClass(class{constructor(i){this.view=i,this.cursor=null,this.measureReq={read:this.readPos.bind(this),write:this.drawCursor.bind(this)}}update(i){var e;let t=i.state.field(Un);t==null?this.cursor!=null&&((e=this.cursor)===null||e===void 0||e.remove(),this.cursor=null):(this.cursor||(this.cursor=this.view.scrollDOM.appendChild(document.createElement("div")),this.cursor.className="cm-dropCursor"),(i.startState.field(Un)!=t||i.docChanged||i.geometryChanged)&&this.view.requestMeasure(this.measureReq))}readPos(){let{view:i}=this,e=i.state.field(Un),t=e!=null&&i.coordsAtPos(e);if(!t)return null;let n=i.scrollDOM.getBoundingClientRect();return{left:t.left-n.left+i.scrollDOM.scrollLeft*i.scaleX,top:t.top-n.top+i.scrollDOM.scrollTop*i.scaleY,height:t.bottom-t.top}}drawCursor(i){if(this.cursor){let{scaleX:e,scaleY:t}=this.view;i?(this.cursor.style.left=i.left/e+"px",this.cursor.style.top=i.top/t+"px",this.cursor.style.height=i.height/t+"px"):this.cursor.style.left="-100000px"}}destroy(){this.cursor&&this.cursor.remove()}setDropPos(i){this.view.state.field(Un)!=i&&this.view.dispatch({effects:zu.of(i)})}},{eventObservers:{dragover(i){this.setDropPos(this.view.posAtCoords({x:i.clientX,y:i.clientY}))},dragleave(i){(i.target==this.view.contentDOM||!this.view.contentDOM.contains(i.relatedTarget))&&this.setDropPos(null)},dragend(){this.setDropPos(null)},drop(){this.setDropPos(null)}}});function Lu(){return[Un,YQ]}var a$=/x/.unicode!=null?"gu":"g";var Vt=class extends it{compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}eq(e){return!1}destroy(e){}};Vt.prototype.elementClass="";Vt.prototype.toDOM=void 0;Vt.prototype.mapMode=ge.TrackBefore;Vt.prototype.startSide=Vt.prototype.endSide=-1;Vt.prototype.point=!0;var IQ=0,De=class{constructor(e,t){this.from=e,this.to=t}},I=class{constructor(e={}){this.id=IQ++,this.perNode=!!e.perNode,this.deserialize=e.deserialize||(()=>{throw new Error("This node type doesn't define a deserialize function")}),this.combine=e.combine||null}add(e){if(this.perNode)throw new RangeError("Can't add per-node props to node types");return typeof e!="function"&&(e=Oe.match(e)),t=>{let n=e(t);return n===void 0?null:[this,n]}}};I.closedBy=new I({deserialize:i=>i.split(" ")});I.openedBy=new I({deserialize:i=>i.split(" ")});I.group=new I({deserialize:i=>i.split(" ")});I.isolate=new I({deserialize:i=>{if(i&&i!="rtl"&&i!="ltr"&&i!="auto")throw new RangeError("Invalid value for isolate: "+i);return i||"auto"}});I.contextHash=new I({perNode:!0});I.lookAhead=new I({perNode:!0});I.mounted=new I({perNode:!0});var ui=class{constructor(e,t,n,r=!1){this.tree=e,this.overlay=t,this.parser=n,this.bracketed=r}static get(e){return e&&e.props&&e.props[I.mounted.id]}},BQ=Object.create(null),Oe=class i{constructor(e,t,n,r=0){this.name=e,this.props=t,this.id=n,this.flags=r}static define(e){let t=e.props&&e.props.length?Object.create(null):BQ,n=(e.top?1:0)|(e.skipped?2:0)|(e.error?4:0)|(e.name==null?8:0),r=new i(e.name||"",t,e.id,n);if(e.props){for(let s of e.props)if(Array.isArray(s)||(s=s(r)),s){if(s[0].perNode)throw new RangeError("Can't store a per-node prop on a node type");t[s[0].id]=s[1]}}return r}prop(e){return this.props[e.id]}get isTop(){return(this.flags&1)>0}get isSkipped(){return(this.flags&2)>0}get isError(){return(this.flags&4)>0}get isAnonymous(){return(this.flags&8)>0}is(e){if(typeof e=="string"){if(this.name==e)return!0;let t=this.prop(I.group);return t?t.indexOf(e)>-1:!1}return this.id==e}static match(e){let t=Object.create(null);for(let n in e)for(let r of n.split(" "))t[r]=e[n];return n=>{for(let r=n.prop(I.group),s=-1;s<(r?r.length:0);s++){let o=t[s<0?n.name:r[s]];if(o)return o}}}};Oe.none=new Oe("",Object.create(null),0,8);var Dt=class i{constructor(e){this.types=e;for(let t=0;t0;for(let l=this.cursor(o|ee.IncludeAnonymous);;){let c=!1;if(l.from<=s&&l.to>=r&&(!a&&l.type.isAnonymous||t(l)!==!1)){if(l.firstChild())continue;c=!0}for(;c&&n&&(a||!l.type.isAnonymous)&&n(l),!l.nextSibling();){if(!l.parent())return;c=!0}}}prop(e){return e.perNode?this.props?this.props[e.id]:void 0:this.type.prop(e)}get propValues(){let e=[];if(this.props)for(let t in this.props)e.push([+t,this.props[t]]);return e}balance(e={}){return this.children.length<=8?this:ll(Oe.none,this.children,this.positions,0,this.children.length,0,this.length,(t,n,r)=>new i(this.type,t,n,r,this.propValues),e.makeTree||((t,n,r)=>new i(Oe.none,t,n,r)))}static build(e){return GQ(e)}};H.empty=new H(Oe.none,[],[],0);var Ka=class i{constructor(e,t){this.buffer=e,this.index=t}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}get pos(){return this.index}next(){this.index-=4}fork(){return new i(this.buffer,this.index)}},Oi=class i{constructor(e,t,n){this.buffer=e,this.length=t,this.set=n}get type(){return Oe.none}toString(){let e=[];for(let t=0;t0));l=o[l+3]);return a}slice(e,t,n){let r=this.buffer,s=new Uint16Array(t-e),o=0;for(let a=e,l=0;a=e&&te;case 1:return t<=e&&n>e;case 2:return n>e;case 4:return!0}}function or(i,e,t,n){for(var r;i.from==i.to||(t<1?i.from>=e:i.from>e)||(t>-1?i.to<=e:i.to0?a.length:-1;e!=c;e+=t){let h=a[e],f=l[e]+o.from,u;if(!(!(s&ee.EnterBracketed&&h instanceof H&&(u=ui.get(h))&&!u.overlay&&u.bracketed&&n>=f&&n<=f+h.length)&&!Bu(r,n,f,f+h.length))){if(h instanceof Oi){if(s&ee.ExcludeBuffers)continue;let O=h.findChild(0,h.buffer.length,t,n-f,r);if(O>-1)return new zi(new el(o,h,e,f),null,O)}else if(s&ee.IncludeAnonymous||!h.type.isAnonymous||al(h)){let O;if(!(s&ee.IgnoreMounts)&&(O=ui.get(h))&&!O.overlay)return new i(O.tree,f,e,o);let p=new i(h,f,e,o);return s&ee.IncludeAnonymous||!p.type.isAnonymous?p:p.nextChild(t<0?h.children.length-1:0,t,n,r,s)}}}if(s&ee.IncludeAnonymous||!o.type.isAnonymous||(o.index>=0?e=o.index+t:e=t<0?-1:o._parent._tree.children.length,o=o._parent,!o))return null}}get firstChild(){return this.nextChild(0,1,0,4)}get lastChild(){return this.nextChild(this._tree.children.length-1,-1,0,4)}childAfter(e){return this.nextChild(0,1,e,2)}childBefore(e){return this.nextChild(this._tree.children.length-1,-1,e,-2)}prop(e){return this._tree.prop(e)}enter(e,t,n=0){let r;if(!(n&ee.IgnoreOverlays)&&(r=ui.get(this._tree))&&r.overlay){let s=e-this.from,o=n&ee.EnterBracketed&&r.bracketed;for(let{from:a,to:l}of r.overlay)if((t>0||o?a<=s:a=s:l>s))return new i(r.tree,r.overlay[0].from+this.from,-1,this)}return this.nextChild(0,1,e,t,n)}nextSignificantParent(){let e=this;for(;e.type.isAnonymous&&e._parent;)e=e._parent;return e}get parent(){return this._parent?this._parent.nextSignificantParent():null}get nextSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index+1,1,0,4):null}get prevSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index-1,-1,0,4):null}get tree(){return this._tree}toTree(){return this._tree}toString(){return this._tree.toString()}};function Wu(i,e,t,n){let r=i.cursor(),s=[];if(!r.firstChild())return s;if(t!=null){for(let o=!1;!o;)if(o=r.type.is(t),!r.nextSibling())return s}for(;;){if(n!=null&&r.type.is(n))return s;if(r.type.is(e)&&s.push(r.node),!r.nextSibling())return n==null?s:[]}}function Ja(i,e,t=e.length-1){for(let n=i;t>=0;n=n.parent){if(!n)return!1;if(!n.type.isAnonymous){if(e[t]&&e[t]!=n.name)return!1;t--}}return!0}var el=class{constructor(e,t,n,r){this.parent=e,this.buffer=t,this.index=n,this.start=r}},zi=class i extends Ps{get name(){return this.type.name}get from(){return this.context.start+this.context.buffer.buffer[this.index+1]}get to(){return this.context.start+this.context.buffer.buffer[this.index+2]}constructor(e,t,n){super(),this.context=e,this._parent=t,this.index=n,this.type=e.buffer.set.types[e.buffer.buffer[n]]}child(e,t,n){let{buffer:r}=this.context,s=r.findChild(this.index+4,r.buffer[this.index+3],e,t-this.context.start,n);return s<0?null:new i(this.context,this,s)}get firstChild(){return this.child(1,0,4)}get lastChild(){return this.child(-1,0,4)}childAfter(e){return this.child(1,e,2)}childBefore(e){return this.child(-1,e,-2)}prop(e){return this.type.prop(e)}enter(e,t,n=0){if(n&ee.ExcludeBuffers)return null;let{buffer:r}=this.context,s=r.findChild(this.index+4,r.buffer[this.index+3],t>0?1:-1,e-this.context.start,t);return s<0?null:new i(this.context,this,s)}get parent(){return this._parent||this.context.parent.nextSignificantParent()}externalSibling(e){return this._parent?null:this.context.parent.nextChild(this.context.index+e,e,0,4)}get nextSibling(){let{buffer:e}=this.context,t=e.buffer[this.index+3];return t<(this._parent?e.buffer[this._parent.index+3]:e.buffer.length)?new i(this.context,this._parent,t):this.externalSibling(1)}get prevSibling(){let{buffer:e}=this.context,t=this._parent?this._parent.index+4:0;return this.index==t?this.externalSibling(-1):new i(this.context,this._parent,e.findChild(t,this.index,-1,0,4))}get tree(){return null}toTree(){let e=[],t=[],{buffer:n}=this.context,r=this.index+4,s=n.buffer[this.index+3];if(s>r){let o=n.buffer[this.index+1];e.push(n.slice(r,s,o)),t.push(0)}return new H(this.type,e,t,this.to-this.from)}toString(){return this.context.buffer.childString(this.index)}};function Uu(i){if(!i.length)return null;let e=0,t=i[0];for(let s=1;st.from||o.to=e){let a=new Ye(o.tree,o.overlay[0].from+s.from,-1,s);(r||(r=[n])).push(or(a,e,t,!1))}}return r?Uu(r):n}var Qn=class{get name(){return this.type.name}constructor(e,t=0){if(this.buffer=null,this.stack=[],this.index=0,this.bufferNode=null,this.mode=t&~ee.EnterBracketed,e instanceof Ye)this.yieldNode(e);else{this._tree=e.context.parent,this.buffer=e.context;for(let n=e._parent;n;n=n._parent)this.stack.unshift(n.index);this.bufferNode=e,this.yieldBuf(e.index)}}yieldNode(e){return e?(this._tree=e,this.type=e.type,this.from=e.from,this.to=e.to,!0):!1}yieldBuf(e,t){this.index=e;let{start:n,buffer:r}=this.buffer;return this.type=t||r.set.types[r.buffer[e]],this.from=n+r.buffer[e+1],this.to=n+r.buffer[e+2],!0}yield(e){return e?e instanceof Ye?(this.buffer=null,this.yieldNode(e)):(this.buffer=e.context,this.yieldBuf(e.index,e.type)):!1}toString(){return this.buffer?this.buffer.buffer.childString(this.index):this._tree.toString()}enterChild(e,t,n){if(!this.buffer)return this.yield(this._tree.nextChild(e<0?this._tree._tree.children.length-1:0,e,t,n,this.mode));let{buffer:r}=this.buffer,s=r.findChild(this.index+4,r.buffer[this.index+3],e,t-this.buffer.start,n);return s<0?!1:(this.stack.push(this.index),this.yieldBuf(s))}firstChild(){return this.enterChild(1,0,4)}lastChild(){return this.enterChild(-1,0,4)}childAfter(e){return this.enterChild(1,e,2)}childBefore(e){return this.enterChild(-1,e,-2)}enter(e,t,n=this.mode){return this.buffer?n&ee.ExcludeBuffers?!1:this.enterChild(1,e,t):this.yield(this._tree.enter(e,t,n))}parent(){if(!this.buffer)return this.yieldNode(this.mode&ee.IncludeAnonymous?this._tree._parent:this._tree.parent);if(this.stack.length)return this.yieldBuf(this.stack.pop());let e=this.mode&ee.IncludeAnonymous?this.buffer.parent:this.buffer.parent.nextSignificantParent();return this.buffer=null,this.yieldNode(e)}sibling(e){if(!this.buffer)return this._tree._parent?this.yield(this._tree.index<0?null:this._tree._parent.nextChild(this._tree.index+e,e,0,4,this.mode)):!1;let{buffer:t}=this.buffer,n=this.stack.length-1;if(e<0){let r=n<0?0:this.stack[n]+4;if(this.index!=r)return this.yieldBuf(t.findChild(r,this.index,-1,0,4))}else{let r=t.buffer[this.index+3];if(r<(n<0?t.buffer.length:t.buffer[this.stack[n]+3]))return this.yieldBuf(r)}return n<0?this.yield(this.buffer.parent.nextChild(this.buffer.index+e,e,0,4,this.mode)):!1}nextSibling(){return this.sibling(1)}prevSibling(){return this.sibling(-1)}atLastNode(e){let t,n,{buffer:r}=this;if(r){if(e>0){if(this.index-1)for(let s=t+e,o=e<0?-1:n._tree.children.length;s!=o;s+=e){let a=n._tree.children[s];if(this.mode&ee.IncludeAnonymous||a instanceof Oi||!a.type.isAnonymous||al(a))return!1}return!0}move(e,t){if(t&&this.enterChild(e,0,4))return!0;for(;;){if(this.sibling(e))return!0;if(this.atLastNode(e)||!this.parent())return!1}}next(e=!0){return this.move(1,e)}prev(e=!0){return this.move(-1,e)}moveTo(e,t=0){for(;(this.from==this.to||(t<1?this.from>=e:this.from>e)||(t>-1?this.to<=e:this.to=0;){for(let o=e;o;o=o._parent)if(o.index==r){if(r==this.index)return o;t=o,n=s+1;break e}r=this.stack[--s]}for(let r=n;r=0;s--){if(s<0)return Ja(this._tree,e,r);let o=n[t.buffer[this.stack[s]]];if(!o.isAnonymous){if(e[r]&&e[r]!=o.name)return!1;r--}}return!0}};function al(i){return i.children.some(e=>e instanceof Oi||!e.type.isAnonymous||al(e))}function GQ(i){var e;let{buffer:t,nodeSet:n,maxBufferLength:r=1024,reused:s=[],minRepeatType:o=n.types.length}=i,a=Array.isArray(t)?new Ka(t,t.length):t,l=n.types,c=0,h=0;function f(v,$,R,_,W,T){let{id:k,start:w,end:C,size:j}=a,y=h,q=c;if(j<0)if(a.next(),j==-1){let N=s[k];R.push(N),_.push(w-v);return}else if(j==-3){c=k;return}else if(j==-4){h=k;return}else throw new RangeError(`Unrecognized record size: ${j}`);let de=l[k],Zt,X,G=w-v;if(C-w<=r&&(X=b(a.pos-$,W))){let N=new Uint16Array(X.size-X.skip),B=a.pos-X.size,re=N.length;for(;a.pos>B;)re=g(X.start,N,re);Zt=new Oi(N,C-X.start,n),G=X.start-v}else{let N=a.pos-j;a.next();let B=[],re=[],ne=k>=o?k:-1,ye=0,Et=C;for(;a.pos>N;)ne>=0&&a.id==ne&&a.size>=0?(a.end<=Et-r&&(p(B,re,w,ye,a.end,Et,ne,y,q),ye=B.length,Et=a.end),a.next()):T>2500?u(w,N,B,re):f(w,N,B,re,ne,T+1);if(ne>=0&&ye>0&&ye-1&&ye>0){let ni=O(de,q);Zt=ll(de,B,re,0,B.length,0,C-w,ni,ni)}else Zt=m(de,B,re,C-w,y-C,q)}R.push(Zt),_.push(G)}function u(v,$,R,_){let W=[],T=0,k=-1;for(;a.pos>$;){let{id:w,start:C,end:j,size:y}=a;if(y>4)a.next();else{if(k>-1&&C=0;j-=3)w[y++]=W[j],w[y++]=W[j+1]-C,w[y++]=W[j+2]-C,w[y++]=y;R.push(new Oi(w,W[2]-C,n)),_.push(C-v)}}function O(v,$){return(R,_,W)=>{let T=0,k=R.length-1,w,C;if(k>=0&&(w=R[k])instanceof H){if(!k&&w.type==v&&w.length==W)return w;(C=w.prop(I.lookAhead))&&(T=_[k]+w.length+C)}return m(v,R,_,W,T,$)}}function p(v,$,R,_,W,T,k,w,C){let j=[],y=[];for(;v.length>_;)j.push(v.pop()),y.push($.pop()+R-W);v.push(m(n.types[k],j,y,T-W,w-T,C)),$.push(W-R)}function m(v,$,R,_,W,T,k){if(T){let w=[I.contextHash,T];k=k?[w].concat(k):[w]}if(W>25){let w=[I.lookAhead,W];k=k?[w].concat(k):[w]}return new H(v,$,R,_,k)}function b(v,$){let R=a.fork(),_=0,W=0,T=0,k=R.end-r,w={size:0,start:0,skip:0};e:for(let C=R.pos-v;R.pos>C;){let j=R.size;if(R.id==$&&j>=0){w.size=_,w.start=W,w.skip=T,T+=4,_+=4,R.next();continue}let y=R.pos-j;if(j<0||y=o?4:0,de=R.start;for(R.next();R.pos>y;){if(R.size<0)if(R.size==-3||R.size==-4)q+=4;else break e;else R.id>=o&&(q+=4);R.next()}W=de,_+=j,T+=q}return($<0||_==v)&&(w.size=_,w.start=W,w.skip=T),w.size>4?w:void 0}function g(v,$,R){let{id:_,start:W,end:T,size:k}=a;if(a.next(),k>=0&&_4){let C=a.pos-(k-4);for(;a.pos>C;)R=g(v,$,R)}$[--R]=w,$[--R]=T-v,$[--R]=W-v,$[--R]=_}else k==-3?c=_:k==-4&&(h=_);return R}let Q=[],S=[];for(;a.pos>0;)f(i.start||0,i.bufferStart||0,Q,S,-1,0);let x=(e=i.length)!==null&&e!==void 0?e:Q.length?S[0]+Q[0].length:0;return new H(l[i.topID],Q.reverse(),S.reverse(),x)}var ju=new WeakMap;function ws(i,e){if(!i.isAnonymous||e instanceof Oi||e.type!=i)return 1;let t=ju.get(e);if(t==null){t=1;for(let n of e.children){if(n.type!=i||!(n instanceof H)){t=1;break}t+=ws(i,n)}ju.set(e,t)}return t}function ll(i,e,t,n,r,s,o,a,l){let c=0;for(let p=n;p=h)break;$+=R}if(S==x+1){if($>h){let R=p[x];O(R.children,R.positions,0,R.children.length,m[x]+Q);continue}f.push(p[x])}else{let R=m[S-1]+p[S-1].length-v;f.push(ll(i,p,m,x,S,v,R,null,l))}u.push(v+Q-s)}}return O(e,t,n,r,0),(a||l)(f,u,o)}var di=class{constructor(){this.map=new WeakMap}setBuffer(e,t,n){let r=this.map.get(e);r||this.map.set(e,r=new Map),r.set(t,n)}getBuffer(e,t){let n=this.map.get(e);return n&&n.get(t)}set(e,t){e instanceof zi?this.setBuffer(e.context.buffer,e.index,t):e instanceof Ye&&this.map.set(e.tree,t)}get(e){return e instanceof zi?this.getBuffer(e.context.buffer,e.index):e instanceof Ye?this.map.get(e.tree):void 0}cursorSet(e,t){e.buffer?this.setBuffer(e.buffer.buffer,e.index,t):this.map.set(e.tree,t)}cursorGet(e){return e.buffer?this.getBuffer(e.buffer.buffer,e.index):this.map.get(e.tree)}},Yt=class i{constructor(e,t,n,r,s=!1,o=!1){this.from=e,this.to=t,this.tree=n,this.offset=r,this.open=(s?1:0)|(o?2:0)}get openStart(){return(this.open&1)>0}get openEnd(){return(this.open&2)>0}static addTree(e,t=[],n=!1){let r=[new i(0,e.length,e,0,!1,n)];for(let s of t)s.to>e.length&&r.push(s);return r}static applyChanges(e,t,n=128){if(!t.length)return e;let r=[],s=1,o=e.length?e[0]:null;for(let a=0,l=0,c=0;;a++){let h=a=n)for(;o&&o.from=u.from||f<=u.to||c){let O=Math.max(u.from,l)-c,p=Math.min(u.to,f)-c;u=O>=p?null:new i(O,p,u.tree,u.offset+c,a>0,!!h)}if(u&&r.push(u),o.to>f)break;o=snew De(r.from,r.to)):[new De(0,0)]:[new De(0,e.length)],this.createParse(e,t||[],n)}parse(e,t,n){let r=this.startParse(e,t,n);for(;;){let s=r.advance();if(s)return s}}},il=class{constructor(e){this.string=e}get length(){return this.string.length}chunk(e){return this.string.slice(e)}get lineChunks(){return!1}read(e,t){return this.string.slice(e,t)}};function bn(i){return(e,t,n,r)=>new sl(e,i,t,n,r)}var vs=class{constructor(e,t,n,r,s,o){this.parser=e,this.parse=t,this.overlay=n,this.bracketed=r,this.target=s,this.from=o}};function Vu(i){if(!i.length||i.some(e=>e.from>=e.to))throw new RangeError("Invalid inner parse ranges given: "+JSON.stringify(i))}var nl=class{constructor(e,t,n,r,s,o,a,l){this.parser=e,this.predicate=t,this.mounts=n,this.index=r,this.start=s,this.bracketed=o,this.target=a,this.prev=l,this.depth=0,this.ranges=[]}},rl=new I({perNode:!0}),sl=class{constructor(e,t,n,r,s){this.nest=t,this.input=n,this.fragments=r,this.ranges=s,this.inner=[],this.innerDone=0,this.baseTree=null,this.stoppedAt=null,this.baseParse=e}advance(){if(this.baseParse){let n=this.baseParse.advance();if(!n)return null;if(this.baseParse=null,this.baseTree=n,this.startInner(),this.stoppedAt!=null)for(let r of this.inner)r.parse.stopAt(this.stoppedAt)}if(this.innerDone==this.inner.length){let n=this.baseTree;return this.stoppedAt!=null&&(n=new H(n.type,n.children,n.positions,n.length,n.propValues.concat([[rl,this.stoppedAt]]))),n}let e=this.inner[this.innerDone],t=e.parse.advance();if(t){this.innerDone++;let n=Object.assign(Object.create(null),e.target.props);n[I.mounted.id]=new ui(t,e.overlay,e.parser,e.bracketed),e.target.props=n}return null}get parsedPos(){if(this.baseParse)return 0;let e=this.input.length;for(let t=this.innerDone;t=this.stoppedAt)a=!1;else if(e.hasNode(r)){if(t){let c=t.mounts.find(h=>h.frag.from<=r.from&&h.frag.to>=r.to&&h.mount.overlay);if(c)for(let h of c.mount.overlay){let f=h.from+c.pos,u=h.to+c.pos;f>=r.from&&u<=r.to&&!t.ranges.some(O=>O.fromf)&&t.ranges.push({from:f,to:u})}}a=!1}else if(n&&(o=NQ(n.ranges,r.from,r.to)))a=o!=2;else if(!r.type.isAnonymous&&(s=this.nest(r,this.input))&&(r.fromnew De(f.from-r.from,f.to-r.from)):null,!!s.bracketed,r.tree,h.length?h[0].from:r.from)),s.overlay?h.length&&(n={ranges:h,depth:0,prev:n}):a=!1}}else if(t&&(l=t.predicate(r))&&(l===!0&&(l=new De(r.from,r.to)),l.from=0&&t.ranges[c].to==l.from?t.ranges[c]={from:t.ranges[c].from,to:l.to}:t.ranges.push(l)}if(a&&r.firstChild())t&&t.depth++,n&&n.depth++;else for(;!r.nextSibling();){if(!r.parent())break e;if(t&&!--t.depth){let c=Yu(this.ranges,t.ranges);c.length&&(Vu(c),this.inner.splice(t.index,0,new vs(t.parser,t.parser.startParse(this.input,Iu(t.mounts,c),c),t.ranges.map(h=>new De(h.from-t.start,h.to-t.start)),t.bracketed,t.target,c[0].from))),t=t.prev}n&&!--n.depth&&(n=n.prev)}}}};function NQ(i,e,t){for(let n of i){if(n.from>=t)break;if(n.to>e)return n.from<=e&&n.to>=t?2:1}return 0}function Du(i,e,t,n,r,s){if(e=e&&t.enter(n,1,ee.IgnoreOverlays|ee.ExcludeBuffers)))if(t.to<=e)t.next(!1)||(this.done=!0);else break}hasNode(e){if(this.moveTo(e.from),!this.done&&this.cursor.from+this.offset==e.from&&this.cursor.tree)for(let t=this.cursor.tree;;){if(t==e.tree)return!0;if(t.children.length&&t.positions[0]==0&&t.children[0]instanceof H)t=t.children[0];else break}return!1}},ol=class{constructor(e){var t;if(this.fragments=e,this.curTo=0,this.fragI=0,e.length){let n=this.curFrag=e[0];this.curTo=(t=n.tree.prop(rl))!==null&&t!==void 0?t:n.to,this.inner=new $s(n.tree,-n.offset)}else this.curFrag=this.inner=null}hasNode(e){for(;this.curFrag&&e.from>=this.curTo;)this.nextFrag();return this.curFrag&&this.curFrag.from<=e.from&&this.curTo>=e.to&&this.inner.hasNode(e)}nextFrag(){var e;if(this.fragI++,this.fragI==this.fragments.length)this.curFrag=this.inner=null;else{let t=this.curFrag=this.fragments[this.fragI];this.curTo=(e=t.tree.prop(rl))!==null&&e!==void 0?e:t.to,this.inner=new $s(t.tree,-t.offset)}}findMounts(e,t){var n;let r=[];if(this.inner){this.inner.cursor.moveTo(e,1);for(let s=this.inner.cursor.node;s;s=s.parent){let o=(n=s.tree)===null||n===void 0?void 0:n.prop(I.mounted);if(o&&o.parser==t)for(let a=this.fragI;a=s.to)break;l.tree==this.curFrag.tree&&r.push({frag:l,pos:s.from-l.offset,mount:o})}}}return r}};function Yu(i,e){let t=null,n=e;for(let r=1,s=0;r=a)break;l.to<=o||(t||(n=t=e.slice()),l.froma&&t.splice(s+1,0,new De(a,l.to))):l.to>a?t[s--]=new De(a,l.to):t.splice(s--,1))}}return n}function HQ(i,e,t,n){let r=0,s=0,o=!1,a=!1,l=-1e9,c=[];for(;;){let h=r==i.length?1e9:o?i[r].to:i[r].from,f=s==e.length?1e9:a?e[s].to:e[s].from;if(o!=a){let u=Math.max(l,t),O=Math.min(h,f,n);unew De(u.from+n,u.to+n)),f=HQ(e,h,l,c);for(let u=0,O=l;;u++){let p=u==f.length,m=p?c:f[u].from;if(m>O&&t.push(new Yt(O,m,r.tree,-o,s.from>=O||s.openStart,s.to<=m||s.openEnd)),p)break;O=f[u].to}}else t.push(new Yt(l,c,r.tree,-o,s.from>=o||s.openStart,s.to<=a||s.openEnd))}return t}var KQ=0,He=class i{constructor(e,t,n,r){this.name=e,this.set=t,this.base=n,this.modified=r,this.id=KQ++}toString(){let{name:e}=this;for(let t of this.modified)t.name&&(e=`${t.name}(${e})`);return e}static define(e,t){let n=typeof e=="string"?e:"?";if(e instanceof i&&(t=e),t?.base)throw new Error("Can not derive from a modified tag");let r=new i(n,[],null,[]);if(r.set.push(r),t)for(let s of t.set)r.set.push(s);return r}static defineModifier(e){let t=new _s(e);return n=>n.modified.indexOf(t)>-1?n:_s.get(n.base||n,n.modified.concat(t).sort((r,s)=>r.id-s.id))}},JQ=0,_s=class i{constructor(e){this.name=e,this.instances=[],this.id=JQ++}static get(e,t){if(!t.length)return e;let n=t[0].instances.find(a=>a.base==e&&eb(t,a.modified));if(n)return n;let r=[],s=new He(e.name,r,e,t);for(let a of t)a.instances.push(s);let o=tb(t);for(let a of e.set)if(!a.modified.length)for(let l of o)r.push(i.get(a,l));return s}};function eb(i,e){return i.length==e.length&&i.every((t,n)=>t==e[n])}function tb(i){let e=[[]];for(let t=0;tn.length-t.length)}function Qe(i){let e=Object.create(null);for(let t in i){let n=i[t];Array.isArray(n)||(n=[n]);for(let r of t.split(" "))if(r){let s=[],o=2,a=r;for(let f=0;;){if(a=="..."&&f>0&&f+3==r.length){o=1;break}let u=/^"(?:[^"\\]|\\.)*?"|[^\/!]+/.exec(a);if(!u)throw new RangeError("Invalid path: "+r);if(s.push(u[0]=="*"?"":u[0][0]=='"'?JSON.parse(u[0]):u[0]),f+=u[0].length,f==r.length)break;let O=r[f++];if(f==r.length&&O=="!"){o=0;break}if(O!="/")throw new RangeError("Invalid path: "+r);a=r.slice(f)}let l=s.length-1,c=s[l];if(!c)throw new RangeError("Invalid path: "+r);let h=new Mi(n,o,l>0?s.slice(0,l):null);e[c]=h.sort(e[c])}}return Fu.add(e)}var Fu=new I({combine(i,e){let t,n,r;for(;i||e;){if(!i||e&&i.depth>=e.depth?(r=e,e=e.next):(r=i,i=i.next),t&&t.mode==r.mode&&!r.context&&!t.context)continue;let s=new Mi(r.tags,r.mode,r.context);t?t.next=s:n=s,t=s}return n}}),Mi=class{constructor(e,t,n,r){this.tags=e,this.mode=t,this.context=n,this.next=r}get opaque(){return this.mode==0}get inherit(){return this.mode==1}sort(e){return!e||e.depth{let o=r;for(let a of s)for(let l of a.set){let c=t[l.id];if(c){o=o?o+" "+c:c;break}}return o},scope:n}}function ib(i,e){let t=null;for(let n of i){let r=n.style(e);r&&(t=t?t+" "+r:r)}return t}function Rs(i,e,t,n=0,r=i.length){let s=new hl(n,Array.isArray(e)?e:[e],t);s.highlightRange(i.cursor(),n,r,"",s.highlighters),s.flush(r)}var hl=class{constructor(e,t,n){this.at=e,this.highlighters=t,this.span=n,this.class=""}startSpan(e,t){t!=this.class&&(this.flush(e),e>this.at&&(this.at=e),this.class=t)}flush(e){e>this.at&&this.class&&this.span(this.at,e,this.class)}highlightRange(e,t,n,r,s){let{type:o,from:a,to:l}=e;if(a>=n||l<=t)return;o.isTop&&(s=this.highlighters.filter(O=>!O.scope||O.scope(o)));let c=r,h=nb(e)||Mi.empty,f=ib(s,h.tags);if(f&&(c&&(c+=" "),c+=f,h.mode==1&&(r+=(r?" ":"")+f)),this.startSpan(Math.max(t,a),c),h.opaque)return;let u=e.tree&&e.tree.prop(I.mounted);if(u&&u.overlay){let O=e.node.enter(u.overlay[0].from+a,1),p=this.highlighters.filter(b=>!b.scope||b.scope(u.tree.type)),m=e.firstChild();for(let b=0,g=a;;b++){let Q=b=S||!e.nextSibling())););if(!Q||S>n)break;g=Q.to+a,g>t&&(this.highlightRange(O.cursor(),Math.max(t,Q.from+a),Math.min(n,g),"",p),this.startSpan(Math.min(n,g),c))}m&&e.parent()}else if(e.firstChild()){u&&(r="");do if(!(e.to<=t)){if(e.from>=n)break;this.highlightRange(e,t,n,r,s),this.startSpan(Math.min(n,e.to),c)}while(e.nextSibling());e.parent()}}};function nb(i){let e=i.type.prop(Fu);for(;e&&e.context&&!i.matchContext(e.context);)e=e.next;return e||null}var E=He.define,Ts=E(),pi=E(),Gu=E(pi),Nu=E(pi),mi=E(),Cs=E(mi),cl=E(mi),_t=E(),Li=E(_t),Ct=E(),Xt=E(),fl=E(),ar=E(fl),Xs=E(),d={comment:Ts,lineComment:E(Ts),blockComment:E(Ts),docComment:E(Ts),name:pi,variableName:E(pi),typeName:Gu,tagName:E(Gu),propertyName:Nu,attributeName:E(Nu),className:E(pi),labelName:E(pi),namespace:E(pi),macroName:E(pi),literal:mi,string:Cs,docString:E(Cs),character:E(Cs),attributeValue:E(Cs),number:cl,integer:E(cl),float:E(cl),bool:E(mi),regexp:E(mi),escape:E(mi),color:E(mi),url:E(mi),keyword:Ct,self:E(Ct),null:E(Ct),atom:E(Ct),unit:E(Ct),modifier:E(Ct),operatorKeyword:E(Ct),controlKeyword:E(Ct),definitionKeyword:E(Ct),moduleKeyword:E(Ct),operator:Xt,derefOperator:E(Xt),arithmeticOperator:E(Xt),logicOperator:E(Xt),bitwiseOperator:E(Xt),compareOperator:E(Xt),updateOperator:E(Xt),definitionOperator:E(Xt),typeOperator:E(Xt),controlOperator:E(Xt),punctuation:fl,separator:E(fl),bracket:ar,angleBracket:E(ar),squareBracket:E(ar),paren:E(ar),brace:E(ar),content:_t,heading:Li,heading1:E(Li),heading2:E(Li),heading3:E(Li),heading4:E(Li),heading5:E(Li),heading6:E(Li),contentSeparator:E(_t),list:E(_t),quote:E(_t),emphasis:E(_t),strong:E(_t),link:E(_t),monospace:E(_t),strikethrough:E(_t),inserted:E(),deleted:E(),changed:E(),invalid:E(),meta:Xs,documentMeta:E(Xs),annotation:E(Xs),processingInstruction:E(Xs),definition:He.defineModifier("definition"),constant:He.defineModifier("constant"),function:He.defineModifier("function"),standard:He.defineModifier("standard"),local:He.defineModifier("local"),special:He.defineModifier("special")};for(let i in d){let e=d[i];e instanceof He&&(e.name=i)}var O$=ul([{tag:d.link,class:"tok-link"},{tag:d.heading,class:"tok-heading"},{tag:d.emphasis,class:"tok-emphasis"},{tag:d.strong,class:"tok-strong"},{tag:d.keyword,class:"tok-keyword"},{tag:d.atom,class:"tok-atom"},{tag:d.bool,class:"tok-bool"},{tag:d.url,class:"tok-url"},{tag:d.labelName,class:"tok-labelName"},{tag:d.inserted,class:"tok-inserted"},{tag:d.deleted,class:"tok-deleted"},{tag:d.literal,class:"tok-literal"},{tag:d.string,class:"tok-string"},{tag:d.number,class:"tok-number"},{tag:[d.regexp,d.escape,d.special(d.string)],class:"tok-string2"},{tag:d.variableName,class:"tok-variableName"},{tag:d.local(d.variableName),class:"tok-variableName tok-local"},{tag:d.definition(d.variableName),class:"tok-variableName tok-definition"},{tag:d.special(d.variableName),class:"tok-variableName2"},{tag:d.definition(d.propertyName),class:"tok-propertyName tok-definition"},{tag:d.typeName,class:"tok-typeName"},{tag:d.namespace,class:"tok-namespace"},{tag:d.className,class:"tok-className"},{tag:d.macroName,class:"tok-macroName"},{tag:d.propertyName,class:"tok-propertyName"},{tag:d.operator,class:"tok-operator"},{tag:d.comment,class:"tok-comment"},{tag:d.meta,class:"tok-meta"},{tag:d.invalid,class:"tok-invalid"},{tag:d.punctuation,class:"tok-punctuation"}]);var Ol,bt=new I;function kn(i){return Y.define({combine:i?e=>e.concat(i):void 0})}var qs=new I,xe=class{constructor(e,t,n=[],r=""){this.data=e,this.name=r,se.prototype.hasOwnProperty("tree")||Object.defineProperty(se.prototype,"tree",{get(){return U(this)}}),this.parser=t,this.extension=[Sn.of(this),se.languageData.of((s,o,a)=>{let l=Hu(s,o,a),c=l.type.prop(bt);if(!c)return[];let h=s.facet(c),f=l.type.prop(qs);if(f){let u=l.resolve(o-l.from,a);for(let O of f)if(O.test(u,s)){let p=s.facet(O.facet);return O.type=="replace"?p:p.concat(h)}}return h})].concat(n)}isActiveAt(e,t,n=-1){return Hu(e,t,n).type.prop(bt)==this.data}findRegions(e){let t=e.facet(Sn);if(t?.data==this.data)return[{from:0,to:e.doc.length}];if(!t||!t.allowsNesting)return[];let n=[],r=(s,o)=>{if(s.prop(bt)==this.data){n.push({from:o,to:o+s.length});return}let a=s.prop(I.mounted);if(a){if(a.tree.prop(bt)==this.data){if(a.overlay)for(let l of a.overlay)n.push({from:l.from+o,to:l.to+o});else n.push({from:o,to:o+s.length});return}else if(a.overlay){let l=n.length;if(r(a.tree,a.overlay[0].from+o),n.length>l)return}}for(let l=0;ln.isTop?t:void 0)]}),e.name)}configure(e,t){return new i(this.data,this.parser.configure(e),t||this.name)}get allowsNesting(){return this.parser.hasWrappers()}};function U(i){let e=i.field(xe.state,!1);return e?e.tree:H.empty}function zs(i,e,t=50){var n;let r=(n=i.field(xe.state,!1))===null||n===void 0?void 0:n.context;if(!r)return null;let s=r.viewport;r.updateViewport({from:0,to:e});let o=r.isDone(e)||r.work(t,e)?r.tree:null;return r.updateViewport(s),o}function nO(i,e=i.doc.length){var t;return((t=i.field(xe.state,!1))===null||t===void 0?void 0:t.context.isDone(e))||!1}var gl=class{constructor(e){this.doc=e,this.cursorPos=0,this.string="",this.cursor=e.iter()}get length(){return this.doc.length}syncTo(e){return this.string=this.cursor.next(e-this.cursorPos).value,this.cursorPos=e+this.string.length,this.cursorPos-this.string.length}chunk(e){return this.syncTo(e),this.string}get lineChunks(){return!0}read(e,t){let n=this.cursorPos-this.string.length;return e=this.cursorPos?this.doc.sliceString(e,t):this.string.slice(e-n,t-n)}},lr=null,Wi=class i{constructor(e,t,n=[],r,s,o,a,l){this.parser=e,this.state=t,this.fragments=n,this.tree=r,this.treeLen=s,this.viewport=o,this.skipped=a,this.scheduleOn=l,this.parse=null,this.tempSkipped=[]}static create(e,t,n){return new i(e,t,[],H.empty,0,n,[],null)}startParse(){return this.parser.startParse(new gl(this.state.doc),this.fragments)}work(e,t){return t!=null&&t>=this.state.doc.length&&(t=void 0),this.tree!=H.empty&&this.isDone(t??this.state.doc.length)?(this.takeTree(),!0):this.withContext(()=>{var n;if(typeof e=="number"){let r=Date.now()+e;e=()=>Date.now()>r}for(this.parse||(this.parse=this.startParse()),t!=null&&(this.parse.stoppedAt==null||this.parse.stoppedAt>t)&&t=this.treeLen&&((this.parse.stoppedAt==null||this.parse.stoppedAt>e)&&this.parse.stopAt(e),this.withContext(()=>{for(;!(t=this.parse.advance()););}),this.treeLen=e,this.tree=t,this.fragments=this.withoutTempSkipped(Yt.addTree(this.tree,this.fragments,!0)),this.parse=null)}withContext(e){let t=lr;lr=this;try{return e()}finally{lr=t}}withoutTempSkipped(e){for(let t;t=this.tempSkipped.pop();)e=Ku(e,t.from,t.to);return e}changes(e,t){let{fragments:n,tree:r,treeLen:s,viewport:o,skipped:a}=this;if(this.takeTree(),!e.empty){let l=[];if(e.iterChangedRanges((c,h,f,u)=>l.push({fromA:c,toA:h,fromB:f,toB:u})),n=Yt.applyChanges(n,l),r=H.empty,s=0,o={from:e.mapPos(o.from,-1),to:e.mapPos(o.to,1)},this.skipped.length){a=[];for(let c of this.skipped){let h=e.mapPos(c.from,1),f=e.mapPos(c.to,-1);he.from&&(this.fragments=Ku(this.fragments,r,s),this.skipped.splice(n--,1))}return this.skipped.length>=t?!1:(this.reset(),!0)}reset(){this.parse&&(this.takeTree(),this.parse=null)}skipUntilInView(e,t){this.skipped.push({from:e,to:t})}static getSkippingParser(e){return new class extends It{createParse(t,n,r){let s=r[0].from,o=r[r.length-1].to;return{parsedPos:s,advance(){let l=lr;if(l){for(let c of r)l.tempSkipped.push(c);e&&(l.scheduleOn=l.scheduleOn?Promise.all([l.scheduleOn,e]):e)}return this.parsedPos=o,new H(Oe.none,[],[],o-s)},stoppedAt:null,stopAt(){}}}}}isDone(e){e=Math.min(e,this.state.doc.length);let t=this.fragments;return this.treeLen>=e&&t.length&&t[0].from==0&&t[0].to>=e}static get(){return lr}};function Ku(i,e,t){return Yt.applyChanges(i,[{fromA:e,toA:t,fromB:e,toB:t}])}var cr=class i{constructor(e){this.context=e,this.tree=e.tree}apply(e){if(!e.docChanged&&this.tree==this.context.tree)return this;let t=this.context.changes(e.changes,e.state),n=this.context.treeLen==e.startState.doc.length?void 0:Math.max(e.changes.mapPos(this.context.treeLen),t.viewport.to);return t.work(20,n)||t.takeTree(),new i(t)}static init(e){let t=Math.min(3e3,e.doc.length),n=Wi.create(e.facet(Sn).parser,e,{from:0,to:t});return n.work(20,t)||n.takeTree(),new i(n)}};xe.state=he.define({create:cr.init,update(i,e){for(let t of e.effects)if(t.is(xe.setState))return t.value;return e.startState.facet(Sn)!=e.state.facet(Sn)?cr.init(e.state):i.apply(e)}});var rO=i=>{let e=setTimeout(()=>i(),500);return()=>clearTimeout(e)};typeof requestIdleCallback<"u"&&(rO=i=>{let e=-1,t=setTimeout(()=>{e=requestIdleCallback(i,{timeout:400})},100);return()=>e<0?clearTimeout(t):cancelIdleCallback(e)});var dl=typeof navigator<"u"&&(!((Ol=navigator.scheduling)===null||Ol===void 0)&&Ol.isInputPending)?()=>navigator.scheduling.isInputPending():null,rb=Ve.fromClass(class{constructor(e){this.view=e,this.working=null,this.workScheduled=0,this.chunkEnd=-1,this.chunkBudget=-1,this.work=this.work.bind(this),this.scheduleWork()}update(e){let t=this.view.state.field(xe.state).context;(t.updateViewport(e.view.viewport)||this.view.viewport.to>t.treeLen)&&this.scheduleWork(),(e.docChanged||e.selectionSet)&&(this.view.hasFocus&&(this.chunkBudget+=50),this.scheduleWork()),this.checkAsyncSchedule(t)}scheduleWork(){if(this.working)return;let{state:e}=this.view,t=e.field(xe.state);(t.tree!=t.context.tree||!t.context.isDone(e.doc.length))&&(this.working=rO(this.work))}work(e){this.working=null;let t=Date.now();if(this.chunkEndr+1e3,l=s.context.work(()=>dl&&dl()||Date.now()>o,r+(a?0:1e5));this.chunkBudget-=Date.now()-t,(l||this.chunkBudget<=0)&&(s.context.takeTree(),this.view.dispatch({effects:xe.setState.of(new cr(s.context))})),this.chunkBudget>0&&!(l&&!a)&&this.scheduleWork(),this.checkAsyncSchedule(s.context)}checkAsyncSchedule(e){e.scheduleOn&&(this.workScheduled++,e.scheduleOn.then(()=>this.scheduleWork()).catch(t=>lt(this.view.state,t)).then(()=>this.workScheduled--),e.scheduleOn=null)}destroy(){this.working&&this.working()}isWorking(){return!!(this.working||this.workScheduled>0)}},{eventHandlers:{focus(){this.scheduleWork()}}}),Sn=Y.define({combine(i){return i.length?i[0]:null},enables:i=>[xe.state,rb,z.contentAttributes.compute([i],e=>{let t=e.facet(i);return t&&t.name?{"data-language":t.name}:{}})]}),me=class{constructor(e,t=[]){this.language=e,this.support=t,this.extension=[e,t]}},Ie=class i{constructor(e,t,n,r,s,o=void 0){this.name=e,this.alias=t,this.extensions=n,this.filename=r,this.loadFunc=s,this.support=o,this.loading=null}load(){return this.loading||(this.loading=this.loadFunc().then(e=>this.support=e,e=>{throw this.loading=null,e}))}static of(e){let{load:t,support:n}=e;if(!t){if(!n)throw new RangeError("Must pass either 'load' or 'support' to LanguageDescription.of");t=()=>Promise.resolve(n)}return new i(e.name,(e.alias||[]).concat(e.name).map(r=>r.toLowerCase()),e.extensions||[],e.filename,t,n)}static matchFilename(e,t){for(let r of e)if(r.filename&&r.filename.test(t))return r;let n=/\.([^.]+)$/.exec(t);if(n){for(let r of e)if(r.extensions.indexOf(n[1])>-1)return r}return null}static matchLanguageName(e,t,n=!0){t=t.toLowerCase();for(let r of e)if(r.alias.some(s=>s==t))return r;if(n)for(let r of e)for(let s of r.alias){let o=t.indexOf(s);if(o>-1&&(s.length>2||!/\w/.test(t[o-1])&&!/\w/.test(t[o+s.length])))return r}return null}},sb=Y.define(),Rt=Y.define({combine:i=>{if(!i.length)return" ";let e=i[0];if(!e||/\S/.test(e)||Array.from(e).some(t=>t!=e[0]))throw new Error("Invalid indent unit: "+JSON.stringify(i[0]));return e}});function gi(i){let e=i.facet(Rt);return e.charCodeAt(0)==9?i.tabSize*e.length:e.length}function fr(i,e){let t="",n=i.tabSize,r=i.facet(Rt)[0];if(r==" "){for(;e>=n;)t+=" ",e-=n;r=" "}for(let s=0;s=e?ob(i,t,e):null}var ji=class{constructor(e,t={}){this.state=e,this.options=t,this.unit=gi(e)}lineAt(e,t=1){let n=this.state.doc.lineAt(e),{simulateBreak:r,simulateDoubleBreak:s}=this.options;return r!=null&&r>=n.from&&r<=n.to?s&&r==e?{text:"",from:e}:(t<0?r-1&&(s+=o-this.countColumn(n,n.search(/\S|$/))),s}countColumn(e,t=e.length){return Ne(e,this.state.tabSize,t)}lineIndent(e,t=1){let{text:n,from:r}=this.lineAt(e,t),s=this.options.overrideIndentation;if(s){let o=s(r);if(o>-1)return o}return this.countColumn(n,n.search(/\S|$/))}get simulatedBreak(){return this.options.simulateBreak||null}},we=new I;function ob(i,e,t){let n=e.resolveStack(t),r=e.resolveInner(t,-1).resolve(t,0).enterUnfinishedNodesBefore(t);if(r!=n.node){let s=[];for(let o=r;o&&!(o.fromn.node.to||o.from==n.node.from&&o.type==n.node.type);o=o.parent)s.push(o);for(let o=s.length-1;o>=0;o--)n={node:s[o],next:n}}return sO(n,i,t)}function sO(i,e,t){for(let n=i;n;n=n.next){let r=lb(n.node);if(r)return r(Ql.create(e,t,n))}return 0}function ab(i){return i.pos==i.options.simulateBreak&&i.options.simulateDoubleBreak}function lb(i){let e=i.type.prop(we);if(e)return e;let t=i.firstChild,n;if(t&&(n=t.type.prop(I.closedBy))){let r=i.lastChild,s=r&&n.indexOf(r.name)>-1;return o=>oO(o,!0,1,void 0,s&&!ab(o)?r.from:void 0)}return i.parent==null?cb:null}function cb(){return 0}var Ql=class i extends ji{constructor(e,t,n){super(e.state,e.options),this.base=e,this.pos=t,this.context=n}get node(){return this.context.node}static create(e,t,n){return new i(e,t,n)}get textAfter(){return this.textAfterPos(this.pos)}get baseIndent(){return this.baseIndentFor(this.node)}baseIndentFor(e){let t=this.state.doc.lineAt(e.from);for(;;){let n=e.resolve(t.from);for(;n.parent&&n.parent.from==n.from;)n=n.parent;if(hb(n,e))break;t=this.state.doc.lineAt(n.from)}return this.lineIndent(t.from)}continue(){return sO(this.context.next,this.base,this.pos)}};function hb(i,e){for(let t=e;t;t=t.parent)if(i==t)return!0;return!1}function fb(i){let e=i.node,t=e.childAfter(e.from),n=e.lastChild;if(!t)return null;let r=i.options.simulateBreak,s=i.state.doc.lineAt(t.from),o=r==null||r<=s.from?s.to:Math.min(s.to,r);for(let a=t.to;;){let l=e.childAfter(a);if(!l||l==n)return null;if(!l.type.isSkipped){if(l.from>=o)return null;let c=/^ */.exec(s.text.slice(t.to-s.from))[0].length;return{from:t.from,to:t.to+c}}a=l.to}}function St({closing:i,align:e=!0,units:t=1}){return n=>oO(n,e,t,i)}function oO(i,e,t,n,r){let s=i.textAfter,o=s.match(/^\s*/)[0].length,a=n&&s.slice(o,o+n.length)==n||r==i.pos+o,l=e?fb(i):null;return l?a?i.column(l.from):i.column(l.to):i.baseIndent+(a?0:i.unit*t)}var aO=i=>i.baseIndent;function Bt({except:i,units:e=1}={}){return t=>{let n=i&&i.test(t.textAfter);return t.baseIndent+(n?0:e*t.unit)}}var lO=Y.define(),Te=new I;function ht(i){let e=i.firstChild,t=i.lastChild;return e&&e.toa.prop(bt)==o.data:o?a=>a==o:void 0,this.style=ul(e.map(a=>({tag:a.tag,class:a.class||r(Object.assign({},a,{tag:null}))})),{all:s}).style,this.module=n?new rt(n):null,this.themeType=t.themeType}static define(e,t){return new i(e,t||{})}},bl=Y.define(),cO=Y.define({combine(i){return i.length?[i[0]]:null}});function pl(i){let e=i.facet(bl);return e.length?e:i.facet(cO)}function hO(i,e){let t=[ub],n;return i instanceof yn&&(i.module&&t.push(z.styleModule.of(i.module)),n=i.themeType),e?.fallback?t.push(cO.of(i)):n?t.push(bl.computeN([z.darkTheme],r=>r.facet(z.darkTheme)==(n=="dark")?[i]:[])):t.push(bl.of(i)),t}var Sl=class{constructor(e){this.markCache=Object.create(null),this.tree=U(e.state),this.decorations=this.buildDeco(e,pl(e.state)),this.decoratedTo=e.viewport.to}update(e){let t=U(e.state),n=pl(e.state),r=n!=pl(e.startState),{viewport:s}=e.view,o=e.changes.mapPos(this.decoratedTo,1);t.length=s.to?(this.decorations=this.decorations.map(e.changes),this.decoratedTo=o):(t!=this.tree||e.viewportChanged||r)&&(this.tree=t,this.decorations=this.buildDeco(e.view,n),this.decoratedTo=s.to)}buildDeco(e,t){if(!t||!this.tree.length)return A.none;let n=new _i;for(let{from:r,to:s}of e.visibleRanges)Rs(this.tree,t,(o,a,l)=>{n.add(o,a,this.markCache[l]||(this.markCache[l]=A.mark({class:l})))},r,s);return n.finish()}},ub=nt.high(Ve.fromClass(Sl,{decorations:i=>i.decorations})),k$=yn.define([{tag:d.meta,color:"#404740"},{tag:d.link,textDecoration:"underline"},{tag:d.heading,textDecoration:"underline",fontWeight:"bold"},{tag:d.emphasis,fontStyle:"italic"},{tag:d.strong,fontWeight:"bold"},{tag:d.strikethrough,textDecoration:"line-through"},{tag:d.keyword,color:"#708"},{tag:[d.atom,d.bool,d.url,d.contentSeparator,d.labelName],color:"#219"},{tag:[d.literal,d.inserted],color:"#164"},{tag:[d.string,d.deleted],color:"#a11"},{tag:[d.regexp,d.escape,d.special(d.string)],color:"#e40"},{tag:d.definition(d.variableName),color:"#00f"},{tag:d.local(d.variableName),color:"#30a"},{tag:[d.typeName,d.namespace],color:"#085"},{tag:d.className,color:"#167"},{tag:[d.special(d.variableName),d.macroName],color:"#256"},{tag:d.definition(d.propertyName),color:"#00c"},{tag:d.comment,color:"#940"},{tag:d.invalid,color:"#f00"}]);var Ob=1e4,db="()[]{}";var Pl=new I;function yl(i,e,t){let n=i.prop(e<0?I.openedBy:I.closedBy);if(n)return n;if(i.name.length==1){let r=t.indexOf(i.name);if(r>-1&&r%2==(e<0?1:0))return[t[r+e]]}return null}function kl(i){let e=i.type.prop(Pl);return e?e(i.node):i}function Vi(i,e,t,n={}){let r=n.maxScanDistance||Ob,s=n.brackets||db,o=U(i),a=o.resolveInner(e,t);for(let l=a;l;l=l.parent){let c=yl(l.type,t,s);if(c&&l.from0?e>=h.from&&eh.from&&e<=h.to))return pb(i,e,t,l,h,c,s)}}return mb(i,e,t,o,a.type,r,s)}function pb(i,e,t,n,r,s,o){let a=n.parent,l={from:r.from,to:r.to},c=0,h=a?.cursor();if(h&&(t<0?h.childBefore(n.from):h.childAfter(n.to)))do if(t<0?h.to<=n.from:h.from>=n.to){if(c==0&&s.indexOf(h.type.name)>-1&&h.from0)return null;let c={from:t<0?e-1:e,to:t>0?e+1:e},h=i.doc.iterRange(e,t>0?i.doc.length:0),f=0;for(let u=0;!h.next().done&&u<=s;){let O=h.value;t<0&&(u+=O.length);let p=e+u*t;for(let m=t>0?0:O.length-1,b=t>0?O.length:-1;m!=b;m+=t){let g=o.indexOf(O[m]);if(!(g<0||n.resolveInner(p+m,1).type!=r))if(g%2==0==t>0)f++;else{if(f==1)return{start:c,end:{from:p+m,to:p+m+1},matched:g>>1==l>>1};f--}}t>0&&(u+=O.length)}return h.done?{start:c,matched:!1}:null}function Ju(i,e,t,n=0,r=0){e==null&&(e=i.search(/[^\s\u00a0]/),e==-1&&(e=i.length));let s=r;for(let o=n;o=this.string.length}sol(){return this.pos==0}peek(){return this.string.charAt(this.pos)||void 0}next(){if(this.post}eatSpace(){let e=this.pos;for(;/[\s\u00a0]/.test(this.string.charAt(this.pos));)++this.pos;return this.pos>e}skipToEnd(){this.pos=this.string.length}skipTo(e){let t=this.string.indexOf(e,this.pos);if(t>-1)return this.pos=t,!0}backUp(e){this.pos-=e}column(){return this.lastColumnPosn?o.toLowerCase():o,s=this.string.substr(this.pos,e.length);return r(s)==r(e)?(t!==!1&&(this.pos+=e.length),!0):null}else{let r=this.string.slice(this.pos).match(e);return r&&r.index>0?null:(r&&t!==!1&&(this.pos+=r[0].length),r)}}current(){return this.string.slice(this.start,this.pos)}};function gb(i){return{name:i.name||"",token:i.token,blankLine:i.blankLine||(()=>{}),startState:i.startState||(()=>!0),copyState:i.copyState||Qb,indent:i.indent||(()=>null),languageData:i.languageData||{},tokenTable:i.tokenTable||$l,mergeTokens:i.mergeTokens!==!1}}function Qb(i){if(typeof i!="object")return i;let e={};for(let t in i){let n=i[t];e[t]=n instanceof Array?n.slice():n}return e}var eO=new WeakMap,Zs=class i extends xe{constructor(e){let t=kn(e.languageData),n=gb(e),r,s=new class extends It{createParse(o,a,l){return new xl(r,o,a,l)}};super(t,s,[],e.name),this.topNode=kb(t,this),r=this,this.streamParser=n,this.stateAfter=new I({perNode:!0}),this.tokenTable=e.tokenTable?new Es(n.tokenTable):yb}static define(e){return new i(e)}getIndent(e){let t,{overrideIndentation:n}=e.options;n&&(t=eO.get(e.state),t!=null&&t1e4)return null;for(;s=n&&t+e.length<=r&&e.prop(i.stateAfter);if(s)return{state:i.streamParser.copyState(s),pos:t+e.length};for(let o=e.children.length-1;o>=0;o--){let a=e.children[o],l=t+e.positions[o],c=a instanceof H&&l=e.length)return e;!r&&t==0&&e.type==i.topNode&&(r=!0);for(let s=e.children.length-1;s>=0;s--){let o=e.positions[s],a=e.children[s],l;if(ot&&vl(i,s.tree,0-s.offset,t,a),c;if(l&&l.pos<=n&&(c=fO(i,s.tree,t+s.offset,l.pos+s.offset,!1)))return{state:l.state,tree:c}}return{state:i.streamParser.startState(r?gi(r):4),tree:H.empty}}var xl=class{constructor(e,t,n,r){this.lang=e,this.input=t,this.fragments=n,this.ranges=r,this.stoppedAt=null,this.chunks=[],this.chunkPos=[],this.chunk=[],this.chunkReused=void 0,this.rangeIndex=0,this.to=r[r.length-1].to;let s=Wi.get(),o=r[0].from,{state:a,tree:l}=bb(e,n,o,this.to,s?.state);this.state=a,this.parsedPos=this.chunkStart=o+l.length;for(let c=0;cc.from<=s.viewport.from&&c.to>=s.viewport.from)&&(this.state=this.lang.streamParser.startState(gi(s.state)),s.skipUntilInView(this.parsedPos,s.viewport.from),this.parsedPos=s.viewport.from),this.moveRangeIndex()}advance(){let e=Wi.get(),t=this.stoppedAt==null?this.to:Math.min(this.to,this.stoppedAt),n=Math.min(t,this.chunkStart+512);for(e&&(n=Math.min(n,e.viewport.to));this.parsedPos=t?this.finish():e&&this.parsedPos>=e.viewport.to?(e.skipUntilInView(this.parsedPos,t),this.finish()):null}stopAt(e){this.stoppedAt=e}lineAfter(e){let t=this.input.chunk(e);if(this.input.lineChunks)t==` +`;this.styleTag.textContent=o;let a=t.head||t;this.styleTag.parentNode!=a&&a.insertBefore(this.styleTag,a.firstChild)}}setNonce(e){this.styleTag&&this.styleTag.getAttribute("nonce")!=e&&this.styleTag.setAttribute("nonce",e)}};var Lt={8:"Backspace",9:"Tab",10:"Enter",12:"NumLock",13:"Enter",16:"Shift",17:"Control",18:"Alt",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",44:"PrintScreen",45:"Insert",46:"Delete",59:";",61:"=",91:"Meta",92:"Meta",106:"*",107:"+",108:",",109:"-",110:".",111:"/",144:"NumLock",145:"ScrollLock",160:"Shift",161:"Shift",162:"Control",163:"Control",164:"Alt",165:"Alt",173:"-",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'"},an={48:")",49:"!",50:"@",51:"#",52:"$",53:"%",54:"^",55:"&",56:"*",57:"(",59:":",61:"+",173:"_",186:":",187:"+",188:"<",189:"_",190:">",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},S0=typeof navigator<"u"&&/Mac/.test(navigator.platform),y0=typeof navigator<"u"&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent);for(be=0;be<10;be++)Lt[48+be]=Lt[96+be]=String(be);var be;for(be=1;be<=24;be++)Lt[be+111]="F"+be;var be;for(be=65;be<=90;be++)Lt[be]=String.fromCharCode(be+32),an[be]=String.fromCharCode(be);var be;for(Kr in Lt)an.hasOwnProperty(Kr)||(an[Kr]=Lt[Kr]);var Kr;function bf(i){var e=S0&&i.metaKey&&i.shiftKey&&!i.ctrlKey&&!i.altKey||y0&&i.shiftKey&&i.key&&i.key.length==1||i.key=="Unidentified",t=!e&&i.key||(i.shiftKey?an:Lt)[i.keyCode]||i.key||"Unidentified";return t=="Esc"&&(t="Escape"),t=="Del"&&(t="Delete"),t=="Left"&&(t="ArrowLeft"),t=="Up"&&(t="ArrowUp"),t=="Right"&&(t="ArrowRight"),t=="Down"&&(t="ArrowDown"),t}var ze=typeof navigator<"u"?navigator:{userAgent:"",vendor:"",platform:""},oa=typeof document<"u"?document:{documentElement:{style:{}}},aa=/Edge\/(\d+)/.exec(ze.userAgent),Uf=/MSIE \d/.test(ze.userAgent),la=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(ze.userAgent),Ss=!!(Uf||la||aa),Sf=!Ss&&/gecko\/(\d+)/i.test(ze.userAgent),ta=!Ss&&/Chrome\/(\d+)/.exec(ze.userAgent),yf="webkitFontSmoothing"in oa.documentElement.style,ca=!Ss&&/Apple Computer/.test(ze.vendor),kf=ca&&(/Mobile\/\w+/.test(ze.userAgent)||ze.maxTouchPoints>2),L={mac:kf||/Mac/.test(ze.platform),windows:/Win/.test(ze.platform),linux:/Linux|X11/.test(ze.platform),ie:Ss,ie_version:Uf?oa.documentMode||6:la?+la[1]:aa?+aa[1]:0,gecko:Sf,gecko_version:Sf?+(/Firefox\/(\d+)/.exec(ze.userAgent)||[0,0])[1]:0,chrome:!!ta,chrome_version:ta?+ta[1]:0,ios:kf,android:/Android\b/.test(ze.userAgent),webkit:yf,webkit_version:yf?+(/\bAppleWebKit\/(\d+)/.exec(ze.userAgent)||[0,0])[1]:0,safari:ca,safari_version:ca?+(/\bVersion\/(\d+(\.\d+)?)/.exec(ze.userAgent)||[0,0])[1]:0,tabSize:oa.documentElement.style.tabSize!=null?"tab-size":"-moz-tab-size"};function Ya(i,e){for(let t in i)t=="class"&&e.class?e.class+=" "+i.class:t=="style"&&e.style?e.style+=";"+i.style:e[t]=i[t];return e}var ls=Object.create(null);function Ia(i,e,t){if(i==e)return!0;i||(i=ls),e||(e=ls);let n=Object.keys(i),r=Object.keys(e);if(n.length-(t&&n.indexOf(t)>-1?1:0)!=r.length-(t&&r.indexOf(t)>-1?1:0))return!1;for(let s of n)if(s!=t&&(r.indexOf(s)==-1||i[s]!==e[s]))return!1;return!0}function k0(i,e){for(let t=i.attributes.length-1;t>=0;t--){let n=i.attributes[t].name;e[n]==null&&i.removeAttribute(n)}for(let t in e){let n=e[t];t=="style"?i.style.cssText=n:i.getAttribute(t)!=n&&i.setAttribute(t,n)}}function xf(i,e,t){let n=!1;if(e)for(let r in e)t&&r in t||(n=!0,r=="style"?i.style.cssText="":i.removeAttribute(r));if(t)for(let r in t)e&&e[r]==t[r]||(n=!0,r=="style"?i.style.cssText=t[r]:i.setAttribute(r,t[r]));return n}function x0(i){let e=Object.create(null);for(let t=0;t0?3e8:-4e8:t>0?1e8:-1e8,new Zi(e,t,t,n,e.widget||null,!1)}static replace(e){let t=!!e.block,n,r;if(e.isBlockGap)n=-5e8,r=4e8;else{let{start:s,end:o}=Gf(e,t);n=(s?t?-3e8:-1:5e8)-1,r=(o?t?2e8:1:-6e8)+1}return new Zi(e,n,r,t,e.widget||null,!0)}static line(e){return new ir(e)}static set(e,t=!1){return ae.of(e,t)}hasHeight(){return this.widget?this.widget.estimatedHeight>-1:!1}};R.none=ae.empty;var tr=class i extends R{constructor(e){let{start:t,end:n}=Gf(e);super(t?-1:5e8,n?1:-6e8,null,e),this.tagName=e.tagName||"span",this.attrs=e.class&&e.attributes?Ya(e.attributes,{class:e.class}):e.class?{class:e.class}:e.attributes||ls}eq(e){return this==e||e instanceof i&&this.tagName==e.tagName&&Ia(this.attrs,e.attrs)}range(e,t=e){if(e>=t)throw new RangeError("Mark decorations may not be empty");return super.range(e,t)}};tr.prototype.point=!1;var ir=class i extends R{constructor(e){super(-2e8,-2e8,null,e)}eq(e){return e instanceof i&&this.spec.class==e.spec.class&&Ia(this.spec.attributes,e.spec.attributes)}range(e,t=e){if(t!=e)throw new RangeError("Line decoration ranges must be zero-length");return super.range(e,t)}};ir.prototype.mapMode=ge.TrackBefore;ir.prototype.point=!0;var Zi=class i extends R{constructor(e,t,n,r,s,o){super(t,n,s,e),this.block=r,this.isReplace=o,this.mapMode=r?t<=0?ge.TrackBefore:ge.TrackAfter:ge.TrackDel}get type(){return this.startSide!=this.endSide?ct.WidgetRange:this.startSide<=0?ct.WidgetBefore:ct.WidgetAfter}get heightRelevant(){return this.block||!!this.widget&&(this.widget.estimatedHeight>=5||this.widget.lineBreaks>0)}eq(e){return e instanceof i&&w0(this.widget,e.widget)&&this.block==e.block&&this.startSide==e.startSide&&this.endSide==e.endSide}range(e,t=e){if(this.isReplace&&(e>t||e==t&&this.startSide>0&&this.endSide<=0))throw new RangeError("Invalid range for replacement decoration");if(!this.isReplace&&t!=e)throw new RangeError("Widget decorations can only have zero-length ranges");return super.range(e,t)}};Zi.prototype.point=!0;function Gf(i,e=!1){let{inclusiveStart:t,inclusiveEnd:n}=i;return t==null&&(t=i.inclusive),n==null&&(n=i.inclusive),{start:t??e,end:n??e}}function w0(i,e){return i==e||!!(i&&e&&i.compare(e))}function fn(i,e,t,n=0){let r=t.length-1;r>=0&&t[r]+n>=i?t[r]=Math.max(t[r],e):t.push(i,e)}var li=class i extends it{constructor(e,t,n){super(),this.tagName=e,this.attributes=t,this.rank=n}eq(e){return e==this||e instanceof i&&this.tagName==e.tagName&&Ia(this.attributes,e.attributes)}static create(e){return new i(e.tagName,e.attributes||ls,e.rank==null?50:Math.max(0,Math.min(e.rank,100)))}static set(e,t=!1){return ae.of(e,t)}};li.prototype.startSide=li.prototype.endSide=-1;function nr(i){let e;return i.nodeType==11?e=i.getSelection?i:i.ownerDocument:e=i,e.getSelection()}function ha(i,e){return e?i==e||i.contains(e.nodeType!=1?e.parentNode:e):!1}function Gn(i,e){if(!e.anchorNode)return!1;try{return ha(i,e.anchorNode)}catch{return!1}}function os(i){return i.nodeType==3?rr(i,0,i.nodeValue.length).getClientRects():i.nodeType==1?i.getClientRects():[]}function Nn(i,e,t,n){return t?wf(i,e,t,n,-1)||wf(i,e,t,n,1):!1}function ci(i){for(var e=0;;e++)if(i=i.previousSibling,!i)return e}function cs(i){return i.nodeType==1&&/^(DIV|P|LI|UL|OL|BLOCKQUOTE|DD|DT|H\d|SECTION|PRE)$/.test(i.nodeName)}function wf(i,e,t,n,r){for(;;){if(i==t&&e==n)return!0;if(e==(r<0?0:jt(i))){if(i.nodeName=="DIV")return!1;let s=i.parentNode;if(!s||s.nodeType!=1)return!1;e=ci(i)+(r<0?0:1),i=s}else if(i.nodeType==1){if(i=i.childNodes[e+(r<0?-1:0)],i.nodeType==1&&i.contentEditable=="false")return!1;e=r<0?jt(i):0}else return!1}}function jt(i){return i.nodeType==3?i.nodeValue.length:i.childNodes.length}function hs(i,e){let{left:t,right:n}=i;if(t==n)return i;let r=e?t:n;return{left:r,right:r,top:i.top,bottom:i.bottom}}function P0(i){let e=i.visualViewport;return e?{left:0,right:e.width,top:0,bottom:e.height}:{left:0,right:i.innerWidth,top:0,bottom:i.innerHeight}}function Nf(i,e){let t=e.width/i.offsetWidth,n=e.height/i.offsetHeight;return(t>.995&&t<1.005||!isFinite(t)||Math.abs(e.width-i.offsetWidth)<1)&&(t=1),(n>.995&&n<1.005||!isFinite(n)||Math.abs(e.height-i.offsetHeight)<1)&&(n=1),{scaleX:t,scaleY:n}}function v0(i,e,t,n,r,s,o,a){let l=i.ownerDocument,c=l.defaultView||window;for(let h=i,f=!1;h&&!f;)if(h.nodeType==1){let u,O=h==l.body,p=1,m=1;if(O)u=P0(c);else{if(/^(fixed|sticky)$/.test(getComputedStyle(h).position)&&(f=!0),h.scrollHeight<=h.clientHeight&&h.scrollWidth<=h.clientWidth){h=h.assignedSlot||h.parentNode;continue}let Q=h.getBoundingClientRect();({scaleX:p,scaleY:m}=Nf(h,Q)),u={left:Q.left,right:Q.left+h.clientWidth*p,top:Q.top,bottom:Q.top+h.clientHeight*m}}let b=0,g=0;if(r=="nearest")e.top0&&e.bottom>u.bottom+g&&(g=e.bottom-u.bottom+o)):e.bottom>u.bottom-o&&(g=e.bottom-u.bottom+o,t<0&&e.top-g0&&e.right>u.right+b&&(b=e.right-u.right+s)):e.right>u.right-s&&(b=e.right-u.right+s,t<0&&e.leftu.bottom||e.leftu.right)&&(e={left:Math.max(e.left,u.left),right:Math.min(e.right,u.right),top:Math.max(e.top,u.top),bottom:Math.min(e.bottom,u.bottom)}),h=h.assignedSlot||h.parentNode}else if(h.nodeType==11)h=h.host;else break}function Ff(i,e=!0){let t=i.ownerDocument,n=null,r=null;for(let s=i.parentNode;s&&!(s==t.body||(!e||n)&&r);)if(s.nodeType==1)!r&&s.scrollHeight>s.clientHeight&&(r=s),e&&!n&&s.scrollWidth>s.clientWidth&&(n=s),s=s.assignedSlot||s.parentNode;else if(s.nodeType==11)s=s.host;else break;return{x:n,y:r}}var fa=class{constructor(){this.anchorNode=null,this.anchorOffset=0,this.focusNode=null,this.focusOffset=0}eq(e){return this.anchorNode==e.anchorNode&&this.anchorOffset==e.anchorOffset&&this.focusNode==e.focusNode&&this.focusOffset==e.focusOffset}setRange(e){let{anchorNode:t,focusNode:n}=e;this.set(t,Math.min(e.anchorOffset,t?jt(t):0),n,Math.min(e.focusOffset,n?jt(n):0))}set(e,t,n,r){this.anchorNode=e,this.anchorOffset=t,this.focusNode=n,this.focusOffset=r}},Ri=null;L.safari&&L.safari_version>=26&&(Ri=!1);function Hf(i){if(i.setActive)return i.setActive();if(Ri)return i.focus(Ri);let e=[];for(let t=i;t&&(e.push(t,t.scrollTop,t.scrollLeft),t!=t.ownerDocument);t=t.parentNode);if(i.focus(Ri==null?{get preventScroll(){return Ri={preventScroll:!0},!0}}:void 0),!Ri){Ri=!1;for(let t=0;tMath.max(0,i.document.documentElement.scrollHeight-i.innerHeight-4):i.scrollTop>Math.max(1,i.scrollHeight-i.clientHeight-4)}function Jf(i,e){for(let t=i,n=e;;){if(t.nodeType==3&&n>0)return{node:t,offset:n};if(t.nodeType==1&&n>0){if(t.contentEditable=="false")return null;t=t.childNodes[n-1],n=jt(t)}else if(t.parentNode&&!cs(t))n=ci(t),t=t.parentNode;else return null}}function eu(i,e){for(let t=i,n=e;;){if(t.nodeType==3&&n=t){if(a.level==n)return o;(s<0||(r!=0?r<0?a.fromt:e[s].level>a.level))&&(s=o)}}if(s<0)throw new RangeError("Index out of range");return s}};function nu(i,e){if(i.length!=e.length)return!1;for(let t=0;t=0;m-=3)if($t[m+1]==-O){let b=$t[m+2],g=b&2?r:b&4?b&1?s:r:0;g&&(oe[f]=oe[$t[m]]=g),a=m;break}}else{if($t.length==189)break;$t[a++]=f,$t[a++]=u,$t[a++]=l}else if((p=oe[f])==2||p==1){let m=p==r;l=m?0:1;for(let b=a-3;b>=0;b-=3){let g=$t[b+2];if(g&2)break;if(m)$t[b+2]|=2;else{if(g&4)break;$t[b+2]|=4}}}}}function Z0(i,e,t,n){for(let r=0,s=n;r<=t.length;r++){let o=r?t[r-1].to:i,a=rl;)p==b&&(p=t[--m].from,b=m?t[m-1].to:i),oe[--p]=O;l=h}else s=c,l++}}}function Oa(i,e,t,n,r,s,o){let a=n%2?2:1;if(n%2==r%2)for(let l=e,c=0;ll&&o.push(new at(l,m.from,O));let b=m.direction==Ei!=!(O%2);da(i,b?n+1:n,r,m.inner,m.from,m.to,o),l=m.to}p=m.to}else{if(p==t||(h?oe[p]!=a:oe[p]==a))break;p++}u?Oa(i,l,p,n+1,r,u,o):le;){let h=!0,f=!1;if(!c||l>s[c-1].to){let m=oe[l-1];m!=a&&(h=!1,f=m==16)}let u=!h&&a==1?[]:null,O=h?n:n+1,p=l;e:for(;;)if(c&&p==s[c-1].to){if(f)break e;let m=s[--c];if(!h)for(let b=m.from,g=c;;){if(b==e)break e;if(g&&s[g-1].to==b)b=s[--g].from;else{if(oe[b-1]==a)break e;break}}if(u)u.push(m);else{m.tooe.length;)oe[oe.length]=256;let n=[],r=e==Ei?0:1;return da(i,r,r,t,0,i.length,n),n}function ru(i){return[new at(0,i,0)]}var su="";function q0(i,e,t,n,r){var s;let o=n.head-i.from,a=at.find(e,o,(s=n.bidiLevel)!==null&&s!==void 0?s:-1,n.assoc),l=e[a],c=l.side(r,t);if(o==c){let u=a+=r?1:-1;if(u<0||u>=e.length)return null;l=e[a=u],o=l.side(!r,t),c=l.side(r,t)}let h=ke(i.text,o,l.forward(r,t));(hl.to)&&(h=c),su=i.text.slice(Math.min(o,h),Math.max(o,h));let f=a==(r?e.length-1:0)?null:e[a+(r?1:-1)];return f&&h==c&&f.level+(r?0:1)i.some(e=>e)}),L0=Y.define({combine:i=>i.some(e=>e)}),Ou=Y.define(),Fn=class i{constructor(e,t,n,r,s,o=!1){this.range=e,this.y=t,this.x=n,this.yMargin=r,this.xMargin=s,this.isSnapshot=o}map(e){return e.empty?this:new i(this.range.map(e),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}clip(e){return this.range.to<=e.doc.length?this:new i(P.cursor(e.doc.length),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}},Jr=te.define({map:(i,e)=>i.map(e)}),du=te.define();function lt(i,e,t){let n=i.facet(cu);n.length?n[0](e):window.onerror&&window.onerror(String(e),t,void 0,void 0,e)||(t?console.error(t+":",e):console.error(e))}var Mt=Y.define({combine:i=>i.length?i[0]:!0}),M0=0,cn=Y.define({combine(i){return i.filter((e,t)=>{for(let n=0;n{let l=[];return o&&l.push(ys.of(c=>{let h=c.plugin(a);return h?o(h):R.none})),s&&l.push(s(a)),l})}static fromClass(e,t){return i.define((n,r)=>new e(n,r),t)}},Hn=class{constructor(e){this.spec=e,this.mustUpdate=null,this.value=null}get plugin(){return this.spec&&this.spec.plugin}update(e){if(this.value){if(this.mustUpdate){let t=this.mustUpdate;if(this.mustUpdate=null,this.value.update)try{this.value.update(t)}catch(n){if(lt(t.state,n,"CodeMirror plugin crashed"),this.value.destroy)try{this.value.destroy()}catch{}this.deactivate()}}}else if(this.spec)try{this.value=this.spec.plugin.create(e,this.spec.arg)}catch(t){lt(e.state,t,"CodeMirror plugin crashed"),this.deactivate()}return this}destroy(e){var t;if(!((t=this.value)===null||t===void 0)&&t.destroy)try{this.value.destroy()}catch(n){lt(e.state,n,"CodeMirror plugin crashed")}}deactivate(){this.spec=this.value=null}},pu=Y.define(),Na=Y.define(),ys=Y.define(),mu=Y.define(),Fa=Y.define(),sr=Y.define(),gu=Y.define();function vf(i,e){let t=i.state.facet(gu);if(!t.length)return t;let n=t.map(s=>s instanceof Function?s(i):s),r=[];return ae.spans(n,e.from,e.to,{point(){},span(s,o,a,l){let c=s-e.from,h=o-e.from,f=r;for(let u=a.length-1;u>=0;u--,l--){let O=a[u].spec.bidiIsolate,p;if(O==null&&(O=z0(e.text,c,h)),l>0&&f.length&&(p=f[f.length-1]).to==c&&p.direction==O)p.to=h,f=p.inner;else{let m={from:c,to:h,direction:O,inner:[]};f.push(m),f=m.inner}}}}),r}var Qu=Y.define();function bu(i){let e=0,t=0,n=0,r=0;for(let s of i.state.facet(Qu)){let o=s(i);o&&(o.left!=null&&(e=Math.max(e,o.left)),o.right!=null&&(t=Math.max(t,o.right)),o.top!=null&&(n=Math.max(n,o.top)),o.bottom!=null&&(r=Math.max(r,o.bottom)))}return{left:e,right:t,top:n,bottom:r}}var In=Y.define(),gt=class i{constructor(e,t,n,r){this.fromA=e,this.toA=t,this.fromB=n,this.toB=r}join(e){return new i(Math.min(this.fromA,e.fromA),Math.max(this.toA,e.toA),Math.min(this.fromB,e.fromB),Math.max(this.toB,e.toB))}addToSet(e){let t=e.length,n=this;for(;t>0;t--){let r=e[t-1];if(!(r.fromA>n.toA)){if(r.toAr.push(new gt(s,o,a,l))),this.changedRanges=r}static create(e,t,n){return new i(e,t,n)}get viewportChanged(){return(this.flags&4)>0}get viewportMoved(){return(this.flags&8)>0}get heightChanged(){return(this.flags&2)>0}get geometryChanged(){return this.docChanged||(this.flags&18)>0}get focusChanged(){return(this.flags&1)>0}get docChanged(){return!this.changes.empty}get selectionSet(){return this.transactions.some(e=>e.selection)}get empty(){return this.flags==0&&this.transactions.length==0}},W0=[],fe=class{constructor(e,t,n=0){this.dom=e,this.length=t,this.flags=n,this.parent=null,e.cmTile=this}get breakAfter(){return this.flags&1}get children(){return W0}isWidget(){return!1}get isHidden(){return!1}isComposite(){return!1}isLine(){return!1}isText(){return!1}isBlock(){return!1}get domAttrs(){return null}sync(e){if(this.flags|=2,this.flags&4){this.flags&=-5;let t=this.domAttrs;t&&k0(this.dom,t)}}toString(){return this.constructor.name+(this.children.length?`(${this.children})`:"")+(this.breakAfter?"#":"")}destroy(){this.parent=null}setDOM(e){this.dom=e,e.cmTile=this}get posAtStart(){return this.parent?this.parent.posBefore(this):0}get posAtEnd(){return this.posAtStart+this.length}posBefore(e,t=this.posAtStart){let n=t;for(let r of this.children){if(r==e)return n;n+=r.length+r.breakAfter}throw new RangeError("Invalid child in posBefore")}posAfter(e){return this.posBefore(e)+e.length}covers(e){return!0}coordsIn(e,t,n){return null}domPosFor(e,t){let n=ci(this.dom),r=this.length?e>0:t>0;return new Tt(this.parent.dom,n+(r?1:0),e==0||e==this.length)}markDirty(e){this.flags&=-3,e&&(this.flags|=4),this.parent&&this.parent.flags&2&&this.parent.markDirty(!1)}get overrideDOMText(){return null}get root(){for(let e=this;e;e=e.parent)if(e instanceof dn)return e;return null}static get(e){return e.cmTile}},On=class extends fe{constructor(e){super(e,0),this._children=[]}isComposite(){return!0}get children(){return this._children}get lastChild(){return this.children.length?this.children[this.children.length-1]:null}append(e){this.children.push(e),e.parent=this}sync(e){if(this.flags&2)return;super.sync(e);let t=this.dom,n=null,r,s=e?.node==t?e:null,o=0;for(let a of this.children){if(a.sync(e),o+=a.length+a.breakAfter,r=n?n.nextSibling:t.firstChild,s&&r!=a.dom&&(s.written=!0),a.dom.parentNode==t)for(;r&&r!=a.dom;)r=$f(r);else t.insertBefore(a.dom,r);n=a.dom}for(r=n?n.nextSibling:t.firstChild,s&&r&&(s.written=!0);r;)r=$f(r);this.length=o}};function $f(i){let e=i.nextSibling;return i.parentNode.removeChild(i),e}var dn=class extends On{constructor(e,t){super(t),this.view=e}owns(e){for(;e;e=e.parent)if(e==this)return!0;return!1}isBlock(){return!0}nearest(e){for(;;){if(!e)return null;let t=fe.get(e);if(t&&this.owns(t))return t;e=e.parentNode}}blockTiles(e){for(let t=[],n=this,r=0,s=0;;)if(r==n.children.length){if(!t.length)return;n=n.parent,n.breakAfter&&s++,r=t.pop()}else{let o=n.children[r++];if(o instanceof Wt)t.push(r),n=o,r=0;else{let a=s+o.length,l=e(o,s);if(l!==void 0)return l;s=a+o.breakAfter}}}resolveBlock(e,t){let n,r=-1,s,o=-1;if(this.blockTiles((a,l)=>{let c=l+a.length;if(e>=l&&e<=c){if(a.isWidget()&&t>=-1&&t<=1){if(a.flags&32)return!0;a.flags&16&&(n=void 0)}(le||e==l&&(t>1?a.length:a.covers(-1)))&&(!s||!a.isWidget()&&s.isWidget())&&(s=a,o=e-l)}}),!n&&!s)throw new Error("No tile at position "+e);return n&&t<0||!s?{tile:n,offset:r}:{tile:s,offset:o}}},Wt=class i extends On{constructor(e,t){super(e),this.wrapper=t}isBlock(){return!0}covers(e){return this.children.length?e<0?this.children[0].covers(-1):this.lastChild.covers(1):!1}get domAttrs(){return this.wrapper.attributes}static of(e,t){let n=new i(t||document.createElement(e.tagName),e);return t||(n.flags|=4),n}},pn=class i extends On{constructor(e,t){super(e),this.attrs=t}isLine(){return!0}static start(e,t,n){let r=new i(t||document.createElement("div"),e);return(!t||!n)&&(r.flags|=4),r}get domAttrs(){return this.attrs}resolveInline(e,t,n){let r=null,s=-1,o=null,a=-1;function l(h,f){for(let u=0,O=0;u=f&&(p.isComposite()?l(p,f-O):(!o||o.isHidden&&(t>0&&!(o.flags&32)||n&&V0(o,p)))&&(m>f||p.flags&32)?(o=p,a=f-O):(Or&&(e=r);let s=e,o=e,a=0;e==0&&t<0||e==r&&t>=0?L.chrome||L.gecko||(e?(s--,a=1):o=0)?0:l.length-1];return L.safari&&!a&&c.width==0&&(c=Array.prototype.find.call(l,h=>h.width)||c),n==null?c:hs(c,(a?a>0:t<0)==n)}static of(e,t){let n=new i(t||document.createTextNode(e),e);return t||(n.flags|=2),n}},qi=class i extends fe{constructor(e,t,n,r){super(e,t,r),this.widget=n}isWidget(){return!0}get isHidden(){return this.widget.isHidden}covers(e){return this.flags&48?!1:(this.flags&(e<0?64:128))>0}coordsIn(e,t){return this.coordsInWidget(e,t,!1)}coordsInWidget(e,t,n){let r=this.widget.coordsAt(this.dom,e,t);if(r)return r;if(n)return hs(this.dom.getBoundingClientRect(),this.length?e==0:t<=0);{let s=this.dom.getClientRects(),o=null;if(!s.length)return null;let a=this.flags&16?!0:this.flags&32?!1:e>0;for(let l=a?s.length-1:0;o=s[l],!(e>0?l==0:l==s.length-1||o.top0==n)}},ma=class{constructor(e){this.index=0,this.beforeBreak=!1,this.parents=[],this.tile=e}advance(e,t,n){let{tile:r,index:s,beforeBreak:o,parents:a}=this;for(;e||t>0;)if(r.isComposite())if(o){if(!e)break;n&&n.break(),e--,o=!1}else if(s==r.children.length){if(!e&&!a.length)break;n&&n.leave(r),o=!!r.breakAfter,{tile:r,index:s}=a.pop(),s++}else{let l=r.children[s],c=l.breakAfter;(t>0?l.length<=e:l.length=0;a--){let l=t.marks[a],c=r.lastChild;if(c instanceof je&&c.mark.eq(l.mark))c.dom!=l.dom&&c.setDOM(ia(l.dom)),r=c;else{if(this.cache.reused.get(l)){let f=fe.get(l.dom);f&&f.setDOM(ia(l.dom))}let h=je.of(l.mark,l.dom);r.append(h),r=h}this.cache.reused.set(l,2)}let s=fe.get(e.text);s&&this.cache.reused.set(s,2);let o=new Ai(e.text,e.text.nodeValue);o.flags|=8,this.pos=e.range.toB,r.append(o)}addInlineWidget(e,t,n){let r=this.afterWidget&&e.flags&48&&(this.afterWidget.flags&48)==(e.flags&48);r||this.flushBuffer();let s=this.ensureMarks(t,n);!r&&!(e.flags&16)&&s.append(this.getBuffer(1)),s.append(e),this.pos+=e.length,this.afterWidget=e}addMark(e,t,n){this.flushBuffer(),this.ensureMarks(t,n).append(e),this.pos+=e.length,this.afterWidget=null}addBlockWidget(e){this.getBlockPos().append(e),this.pos+=e.length,this.lastBlock=e,this.endLine()}continueWidget(e){let t=this.afterWidget||this.lastBlock;t.length+=e,this.pos+=e}addLineStart(e,t){var n;e||(e=Su);let r=pn.start(e,t||((n=this.cache.find(pn))===null||n===void 0?void 0:n.dom),!!t);this.getBlockPos().append(this.lastBlock=this.curLine=r)}addLine(e){this.getBlockPos().append(e),this.pos+=e.length,this.lastBlock=e,this.endLine()}addBreak(){this.lastBlock.flags|=1,this.endLine(),this.pos++}addLineStartIfNotCovered(e){this.blockPosCovered()||this.addLineStart(e)}ensureLine(e){this.curLine||this.addLineStart(e)}ensureMarks(e,t){var n;let r=this.curLine;for(let s=e.length-1;s>=0;s--){let o=e[s],a;if(t>0&&(a=r.lastChild)&&a instanceof je&&a.mark.eq(o))r=a,t--;else{let l=je.of(o,(n=this.cache.find(je,c=>c.mark.eq(o)))===null||n===void 0?void 0:n.dom);r.append(l),r=l,t=0}}return r}endLine(){if(this.curLine){this.flushBuffer();let e=this.curLine.lastChild;(!e||!Tf(this.curLine,!1)||e.dom.nodeName!="BR"&&e.isWidget()&&!(L.ios&&Tf(this.curLine,!0)))&&this.curLine.append(this.cache.findWidget(na,0,32)||new qi(na.toDOM(),0,na,32)),this.curLine=this.afterWidget=null}}updateBlockWrappers(){this.wrapperPos>this.pos+1e4&&(this.blockWrappers.goto(this.pos),this.wrappers.length=0);for(let e=this.wrappers.length-1;e>=0;e--)this.wrappers[e].to=this.pos){let t=e.rank*102+e.value.rank,n=new ga(e.from,e.to,e.value,t),r=this.wrappers.length;for(;r>0&&(this.wrappers[r-1].rank-n.rank||this.wrappers[r-1].to-n.to)<0;)r--;this.wrappers.splice(r,0,n)}this.wrapperPos=this.pos}getBlockPos(){var e;this.updateBlockWrappers();let t=this.root;for(let n of this.wrappers){let r=t.lastChild;if(n.fromo.wrapper.eq(n.wrapper)))===null||e===void 0?void 0:e.dom);t.append(s),t=s}}return t}blockPosCovered(){let e=this.lastBlock;return e!=null&&!e.breakAfter&&(!e.isWidget()||(e.flags&160)>0)}getBuffer(e){let t=2|(e<0?16:32),n=this.cache.find(mn,void 0,1);return n&&(n.flags=t),n||new mn(t)}flushBuffer(){this.afterWidget&&!(this.afterWidget.flags&32)&&(this.afterWidget.parent.append(this.getBuffer(-1)),this.afterWidget=null)}},ba=class{constructor(e){this.skipCount=0,this.text="",this.textOff=0,this.cursor=e.iter()}skip(e){this.textOff+e<=this.text.length?this.textOff+=e:(this.skipCount+=e-(this.text.length-this.textOff),this.text="",this.textOff=0)}next(e){if(this.textOff==this.text.length){let{value:r,lineBreak:s,done:o}=this.cursor.next(this.skipCount);if(this.skipCount=0,o)throw new Error("Ran out of text content when drawing inline views");this.text=r;let a=this.textOff=Math.min(e,r.length);return s?null:r.slice(0,a)}let t=Math.min(this.text.length,this.textOff+e),n=this.text.slice(this.textOff,t);return this.textOff=t,n}},us=[qi,pn,Ai,je,mn,Wt,dn];for(let i=0;i[]),this.index=us.map(()=>0),this.reused=new Map}add(e){let t=e.constructor.bucket,n=this.buckets[t];n.length<6?n.push(e):n[this.index[t]=(this.index[t]+1)%6]=e}find(e,t,n=2){let r=e.bucket,s=this.buckets[r],o=this.index[r];for(let a=0;a{if(this.cache.add(o),o.isComposite())return!1},enter:o=>this.cache.add(o),leave:()=>{},break:()=>{}}}run(e,t){let n=t&&this.getCompositionContext(t.text);for(let r=0,s=0,o=0;;){let a=or){let c=l-r;this.preserve(c,!o,!a),r=l,s+=c}if(!a)break;t&&a.fromA<=t.range.fromA&&a.toA>=t.range.toA?(this.forward(a.fromA,t.range.fromA,t.range.fromA{if(o.isWidget())if(this.openWidget)this.builder.continueWidget(l-a);else{let c=l>0||a{o.isLine()?this.builder.addLineStart(o.attrs,this.cache.maybeReuse(o)):(this.cache.add(o),o instanceof je&&r.unshift(o.mark)),this.openWidget=!1},leave:o=>{o.isLine()?r.length&&(r.length=s=0):o instanceof je&&(r.shift(),s=Math.min(s,r.length))},break:()=>{this.builder.addBreak(),this.openWidget=!1}}),this.text.skip(e)}emit(e,t){let n=null,r=this.builder,s=-1,o=ae.spans(this.decorations,e,t,{point:(a,l,c,h,f,u)=>{if(c instanceof Zi){if(this.disallowBlockEffectsFor[u]){if(c.block)throw new RangeError("Block decorations may not be specified via plugins");if(l>this.view.state.doc.lineAt(a).to)throw new RangeError("Decorations that replace line breaks may not be specified via plugins")}if(s=h.length,f>h.length)r.continueWidget(l-a);else{let O=c.widget||(c.block?hi.block:hi.inline),p=D0(c),m=this.cache.findWidget(O,l-a,p)||qi.of(O,this.view,l-a,p);c.block?(c.startSide>0&&r.addLineStartIfNotCovered(n),r.addBlockWidget(m)):(r.ensureLine(n),r.addInlineWidget(m,h,f))}n=null}else n=Y0(n,c);l>a&&this.text.skip(l-a)},span:(a,l,c,h)=>{for(let f=a;f-1&&(this.openWidget=o>s),this.openWidget||r.addLineStartIfNotCovered(n),this.openMarks=o}forward(e,t,n=1){t-e<=10?this.old.advance(t-e,n,this.reuseWalker):(this.old.advance(5,-1,this.reuseWalker),this.old.advance(t-e-10,-1),this.old.advance(5,n,this.reuseWalker))}getCompositionContext(e){let t=[],n=null;for(let r=e.parentNode;;r=r.parentNode){let s=fe.get(r);if(r==this.view.contentDOM)break;s instanceof je?t.push(s):s?.isLine()?n=s:s instanceof Wt||(r.nodeName=="DIV"&&!n&&r!=this.view.contentDOM?n=new pn(r,Su):n||t.push(je.of(new tr({tagName:r.nodeName.toLowerCase(),attributes:x0(r)}),r)))}return{line:n,marks:t}}};function Tf(i,e){let t=n=>{for(let r of n.children)if((e?r.isText():r.length)||t(r))return!0;return!1};return t(i)}function D0(i){let e=i.isReplace?(i.startSide<0?64:0)|(i.endSide>0?128:0):i.startSide>0?32:16;return i.block&&(e|=256),e}var Su={class:"cm-line"};function Y0(i,e){let t=e.spec.attributes,n=e.spec.class;return!t&&!n||(i||(i={class:"cm-line"}),t&&Ya(t,i),n&&(i.class+=" "+n)),i}function I0(i){let e=[];for(let t=i.parents.length;t>1;t--){let n=t==i.parents.length?i.tile:i.parents[t].tile;n instanceof je&&e.push(n.mark)}return e}function ia(i){let e=fe.get(i);return e&&e.setDOM(i.cloneNode()),i}var hi=class extends ve{constructor(e){super(),this.tag=e}eq(e){return e.tag==this.tag}toDOM(){return document.createElement(this.tag)}updateDOM(e){return e.nodeName.toLowerCase()==this.tag}get isHidden(){return!0}};hi.inline=new hi("span");hi.block=new hi("div");var na=new class extends ve{toDOM(){return document.createElement("br")}get isHidden(){return!0}get editable(){return!0}},Os=class{constructor(e){this.view=e,this.decorations=[],this.blockWrappers=[],this.dynamicDecorationMap=[!1],this.domChanged=null,this.hasComposition=null,this.editContextFormatting=R.none,this.lastCompositionAfterCursor=!1,this.minWidth=0,this.minWidthFrom=0,this.minWidthTo=0,this.impreciseAnchor=null,this.impreciseHead=null,this.forceSelection=!1,this.lastUpdate=Date.now(),this.updateDeco(),this.tile=new dn(e,e.contentDOM),this.updateInner([new gt(0,0,0,e.state.doc.length)],null)}update(e){var t;let n=e.changedRanges;this.minWidth>0&&n.length&&(n.every(({fromA:h,toA:f})=>fthis.minWidthTo)?(this.minWidthFrom=e.changes.mapPos(this.minWidthFrom,1),this.minWidthTo=e.changes.mapPos(this.minWidthTo,1)):this.minWidth=this.minWidthFrom=this.minWidthTo=0),this.updateEditContextFormatting(e);let r=-1;this.view.inputState.composing>=0&&!this.view.observer.editContext&&(!((t=this.domChanged)===null||t===void 0)&&t.newSel?r=this.domChanged.newSel.head:!J0(e.changes,this.hasComposition)&&!e.selectionSet&&(r=e.state.selection.main.head));let s=r>-1?U0(this.view,e.changes,r):null;if(this.domChanged=null,this.hasComposition){let{from:h,to:f}=this.hasComposition;n=new gt(h,f,e.changes.mapPos(h,-1),e.changes.mapPos(f,1)).addToSet(n.slice())}this.hasComposition=s?{from:s.range.fromB,to:s.range.toB}:null,(L.ie||L.chrome)&&!s&&e&&e.state.doc.lines!=e.startState.doc.lines&&(this.forceSelection=!0);let o=this.decorations,a=this.blockWrappers;this.updateDeco();let l=F0(o,this.decorations,e.changes);l.length&&(n=gt.extendWithRanges(n,l));let c=H0(a,this.blockWrappers,e.changes);return c.length&&(n=gt.extendWithRanges(n,c)),s&&!n.some(h=>h.fromA<=s.range.fromA&&h.toA>=s.range.toA)&&(n=s.range.addToSet(n.slice())),this.tile.flags&2&&n.length==0?!1:(this.updateInner(n,s),e.transactions.length&&(this.lastUpdate=Date.now()),!0)}updateInner(e,t){this.view.viewState.mustMeasureContent=!0;let{observer:n}=this.view;n.ignore(()=>{if(t||e.length){let o=this.tile,a=new ya(this.view,o,this.blockWrappers,this.decorations,this.dynamicDecorationMap);t&&fe.get(t.text)&&a.cache.reused.set(fe.get(t.text),2),this.tile=a.run(e,t),ka(o,a.cache.reused)}this.tile.dom.style.height=this.view.viewState.contentHeight/this.view.scaleY+"px",this.tile.dom.style.flexBasis=this.minWidth?this.minWidth+"px":"";let s=L.chrome||L.ios?{node:n.selectionRange.focusNode,written:!1}:void 0;this.tile.sync(s),s&&(s.written||n.selectionRange.focusNode!=s.node||!this.tile.dom.contains(s.node))&&(this.forceSelection=!0),this.tile.dom.style.height=""});let r=[];if(this.view.viewport.from||this.view.viewport.to-1)&&Gn(n,this.view.observer.selectionRange)&&!(r&&n.contains(r));if(!(s||t||o))return;let a=this.forceSelection;this.forceSelection=!1;let l=this.view.state.selection.main,c,h;if(l.empty?h=c=this.inlineDOMNearPos(l.anchor,l.assoc||1):(h=this.inlineDOMNearPos(l.head,l.head==l.from?1:-1),c=this.inlineDOMNearPos(l.anchor,l.anchor==l.from?1:-1)),L.gecko&&l.empty&&!this.hasComposition&&B0(c)){let u=document.createTextNode("");this.view.observer.ignore(()=>c.node.insertBefore(u,c.node.childNodes[c.offset]||null)),c=h=new Tt(u,0),a=!0}let f=this.view.observer.selectionRange;(a||!f.focusNode||(!Nn(c.node,c.offset,f.anchorNode,f.anchorOffset)||!Nn(h.node,h.offset,f.focusNode,f.focusOffset))&&!this.suppressWidgetCursorChange(f,l))&&(this.view.observer.ignore(()=>{L.android&&L.chrome&&n.contains(f.focusNode)&&K0(f.focusNode,n)&&(n.blur(),n.focus({preventScroll:!0}));let u=nr(this.view.root);if(u)if(l.empty){if(L.gecko){let O=G0(c.node,c.offset);if(O&&O!=3){let p=(O==1?Jf:eu)(c.node,c.offset);p&&(c=new Tt(p.node,p.offset))}}u.collapse(c.node,c.offset),l.bidiLevel!=null&&u.caretBidiLevel!==void 0&&(u.caretBidiLevel=l.bidiLevel)}else if(u.extend){u.collapse(c.node,c.offset);try{u.extend(h.node,h.offset)}catch{}}else{let O=document.createRange();l.anchor>l.head&&([c,h]=[h,c]),O.setEnd(h.node,h.offset),O.setStart(c.node,c.offset),u.removeAllRanges(),u.addRange(O)}o&&this.view.root.activeElement==n&&(n.blur(),r&&r.focus())}),this.view.observer.setSelectionRange(c,h)),this.impreciseAnchor=c.precise?null:new Tt(f.anchorNode,f.anchorOffset),this.impreciseHead=h.precise?null:new Tt(f.focusNode,f.focusOffset)}suppressWidgetCursorChange(e,t){return this.hasComposition&&t.empty&&Nn(e.focusNode,e.focusOffset,e.anchorNode,e.anchorOffset)&&this.posFromDOM(e.focusNode,e.focusOffset)==t.head}enforceCursorAssoc(){if(this.hasComposition)return;let{view:e}=this,t=e.state.selection.main,n=nr(e.root),{anchorNode:r,anchorOffset:s}=e.observer.selectionRange;if(!n||!t.empty||!t.assoc||!n.modify)return;let o=this.lineAt(t.head,t.assoc);if(!o)return;let a=o.posAtStart;if(t.head==a||t.head==a+o.length)return;let l=this.coordsAt(t.head,-1),c=this.coordsAt(t.head,1);if(!l||!c||l.bottom>c.top)return;let h=this.domAtPos(t.head+t.assoc,t.assoc);n.collapse(h.node,h.offset),n.modify("move",t.assoc<0?"forward":"backward","lineboundary"),e.observer.readSelectionRange();let f=e.observer.selectionRange;e.docView.posFromDOM(f.anchorNode,f.anchorOffset)!=t.from&&n.collapse(r,s)}posFromDOM(e,t){let n=this.tile.nearest(e);if(!n)return this.tile.dom.compareDocumentPosition(e)&2?0:this.view.state.doc.length;let r=n.posAtStart;if(n.isComposite()){let s;if(e==n.dom)s=n.dom.childNodes[t];else{let o=jt(e)==0?0:t==0?-1:1;for(;;){let a=e.parentNode;if(a==n.dom)break;o==0&&a.firstChild!=a.lastChild&&(e==a.firstChild?o=-1:o=1),e=a}o<0?s=e:s=e.nextSibling}if(s==n.dom.firstChild)return r;for(;s&&!fe.get(s);)s=s.nextSibling;if(!s)return r+n.length;for(let o=0,a=r;;o++){let l=n.children[o];if(l.dom==s)return a;a+=l.length+l.breakAfter}}else return n.isText()?e==n.dom?r+t:r+(t?n.length:0):r}domAtPos(e,t){let{tile:n,offset:r}=this.tile.resolveBlock(e,t);return n.isWidget()?n.domPosFor(r,t):n.domIn(r,t)}inlineDOMNearPos(e,t){let n,r=-1,s=!1,o,a=-1,l=!1;return this.tile.blockTiles((c,h)=>{if(c.isWidget()){if(c.flags&32&&h>=e)return!0;c.flags&16&&(s=!0)}else{let f=h+c.length;if(h<=e&&(n=c,r=e-h,s=f=e&&!o&&(o=c,a=e-h,l=h>e),h>e&&o)return!0}}),!n&&!o?this.domAtPos(e,t):(s&&o?n=null:l&&n&&(o=null),n&&t<0||!o?n.domIn(r,t):o.domIn(a,t))}coordsAt(e,t,n){let{tile:r,offset:s}=this.tile.resolveBlock(e,t);return r.isWidget()?r.widget instanceof Kn?null:r.coordsInWidget(s,t,!0):r.coordsIn(s,t,n)}lineAt(e,t){let{tile:n}=this.tile.resolveBlock(e,t);return n.isLine()?n:null}coordsForChar(e){let{tile:t,offset:n}=this.tile.resolveBlock(e,1);if(!t.isLine())return null;function r(s,o){if(s.isComposite())for(let a of s.children){if(a.length>=o){let l=r(a,o);if(l)return l}if(o-=a.length,o<0)break}else if(s.isText()&&oMath.max(this.view.scrollDOM.clientWidth,this.minWidth)+1,a=-1,l=this.view.textDirection==ue.LTR,c=0,h=(f,u,O)=>{for(let p=0;pr);p++){let m=f.children[p],b=u+m.length,g=m.dom.getBoundingClientRect(),{height:Q}=g;if(O&&!p&&(c+=g.top-O.top),m instanceof Wt)b>n&&h(m,u,g);else if(u>=n&&(c>0&&t.push(-c),t.push(Q+c),c=0,o)){let S=m.dom.lastChild,x=S?os(S):[];if(x.length){let v=x[x.length-1],$=l?v.right-g.left:g.right-v.left;$>a&&(a=$,this.minWidth=s,this.minWidthFrom=u,this.minWidthTo=b)}}O&&p==f.children.length-1&&(c+=O.bottom-g.bottom),u=b+m.breakAfter}};return h(this.tile,0,null),t}textDirectionAt(e){let{tile:t}=this.tile.resolveBlock(e,1);return getComputedStyle(t.dom).direction=="rtl"?ue.RTL:ue.LTR}measureTextSize(){let e=this.tile.blockTiles(o=>{if(o.isLine()&&o.children.length&&o.length<=20){let a=0,l;for(let c of o.children){if(!c.isText()||/[^ -~]/.test(c.text))return;let h=os(c.dom);if(h.length!=1)return;a+=h[0].width,l=h[0].height}if(a)return{lineHeight:o.dom.getBoundingClientRect().height,charWidth:a/o.length,textHeight:l}}});if(e)return e;let t=document.createElement("div"),n,r,s;return t.className="cm-line",t.style.width="99999px",t.style.position="absolute",t.textContent="abc def ghi jkl mno pqr stu",this.view.observer.ignore(()=>{this.tile.dom.appendChild(t);let o=os(t.firstChild)[0];n=t.getBoundingClientRect().height,r=o&&o.width?o.width/27:7,s=o&&o.height?o.height:n,t.remove()}),{lineHeight:n,charWidth:r,textHeight:s}}computeBlockGapDeco(){let e=[],t=this.view.viewState;for(let n=0,r=0;;r++){let s=r==t.viewports.length?null:t.viewports[r],o=s?s.from-1:this.view.state.doc.length;if(o>n){let a=(t.lineBlockAt(o).bottom-t.lineBlockAt(n).top)/this.view.scaleY;e.push(R.replace({widget:new Kn(a),block:!0,inclusive:!0,isBlockGap:!0}).range(n,o))}if(!s)break;n=s.to+1}return R.set(e)}updateDeco(){let e=1,t=this.view.state.facet(ys).map(s=>(this.dynamicDecorationMap[e++]=typeof s=="function")?s(this.view):s),n=!1,r=this.view.state.facet(Fa).map((s,o)=>{let a=typeof s=="function";return a&&(n=!0),a?s(this.view):s});for(r.length&&(this.dynamicDecorationMap[e++]=n,t.push(ae.join(r))),this.decorations=[this.editContextFormatting,...t,this.computeBlockGapDeco(),this.view.viewState.lineGapDeco];etypeof s=="function"?s(this.view):s)}scrollIntoView(e){if(e.isSnapshot){let c=this.view.viewState.lineBlockAt(e.range.head);this.view.scrollDOM.scrollTop=c.top-e.yMargin,this.view.scrollDOM.scrollLeft=e.xMargin;return}for(let c of this.view.state.facet(Ou))try{if(c(this.view,e.range,e))return!0}catch(h){lt(this.view.state,h,"scroll handler")}let{range:t}=e,n=this.coordsAt(t.head,t.assoc||(t.head>t.anchor?-1:1)),r;if(!n)return;!t.empty&&(r=this.coordsAt(t.anchor,t.anchor>t.head?-1:1))&&(n={left:Math.min(n.left,r.left),top:Math.min(n.top,r.top),right:Math.max(n.right,r.right),bottom:Math.max(n.bottom,r.bottom)});let s=bu(this.view),o={left:n.left-s.left,top:n.top-s.top,right:n.right+s.right,bottom:n.bottom+s.bottom},{offsetWidth:a,offsetHeight:l}=this.view.scrollDOM;if(v0(this.view.scrollDOM,o,t.head1&&(n.top>window.pageYOffset+window.visualViewport.offsetTop+window.visualViewport.height||n.bottomn.isWidget()||n.children.some(t);return t(this.tile.resolveBlock(e,1).tile)}destroy(){ka(this.tile)}};function ka(i,e){let t=e?.get(i);if(t!=1){t==null&&i.destroy();for(let n of i.children)ka(n,e)}}function B0(i){return i.node.nodeType==1&&i.node.firstChild&&(i.offset==0||i.node.childNodes[i.offset-1].contentEditable=="false")&&(i.offset==i.node.childNodes.length||i.node.childNodes[i.offset].contentEditable=="false")}function yu(i,e){let t=i.observer.selectionRange;if(!t.focusNode)return null;let n=Jf(t.focusNode,t.focusOffset),r=eu(t.focusNode,t.focusOffset),s=n||r;if(r&&n&&r.node!=n.node){let a=fe.get(r.node);if(!a||a.isText()&&a.text!=r.node.nodeValue)s=r;else if(i.docView.lastCompositionAfterCursor){let l=fe.get(n.node);!l||l.isText()&&l.text!=n.node.nodeValue||(s=r)}}if(i.docView.lastCompositionAfterCursor=s!=n,!s)return null;let o=e-s.offset;return{from:o,to:o+s.node.nodeValue.length,node:s.node}}function U0(i,e,t){let n=yu(i,t);if(!n)return null;let{node:r,from:s,to:o}=n,a=r.nodeValue;if(/[\n\r]/.test(a)||i.state.doc.sliceString(n.from,n.to)!=a)return null;let l=e.invertedDesc;return{range:new gt(l.mapPos(s),l.mapPos(o),s,o),text:r}}function G0(i,e){return i.nodeType!=1?0:(e&&i.childNodes[e-1].contentEditable=="false"?1:0)|(e{ne.from&&(t=!0)}),t}var Kn=class extends ve{constructor(e){super(),this.height=e}toDOM(){let e=document.createElement("div");return e.className="cm-gap",this.updateDOM(e),e}eq(e){return e.height==this.height}updateDOM(e){return e.style.height=this.height+"px",!0}get editable(){return!0}get estimatedHeight(){return this.height}ignoreEvent(){return!1}};function eQ(i,e,t=1){let n=i.charCategorizer(e),r=i.doc.lineAt(e),s=e-r.from;if(r.length==0)return P.cursor(e);s==0?t=1:s==r.length&&(t=-1);let o=s,a=s;t<0?o=ke(r.text,s,!1):a=ke(r.text,s);let l=n(r.text.slice(o,a));for(;o>0;){let c=ke(r.text,o,!1);if(n(r.text.slice(c,o))!=l)break;o=c}for(;ai.defaultLineHeight*1.5){let a=i.viewState.heightOracle.textHeight,l=Math.floor((r-t.top-(i.defaultLineHeight-a)*.5)/a);s+=l*i.viewState.heightOracle.lineLength}let o=i.state.sliceDoc(t.from,t.to);return t.from+pf(o,s,i.state.tabSize)}function iQ(i,e,t){let n=i.lineBlockAt(e);if(Array.isArray(n.type)){let r;for(let s of n.type){if(s.from>e)break;if(!(s.toe)return s;(!r||s.type==ct.Text&&(r.type!=s.type||(t<0?s.frome)))&&(r=s)}}return r||n}return n}function nQ(i,e,t,n){let r=iQ(i,e.head,e.assoc||-1),s=!n||r.type!=ct.Text||!(i.lineWrapping||r.widgetLineBreaks)?null:i.coordsAtPos(e.assoc<0&&e.head>r.from?e.head-1:e.head);if(s){let o=i.dom.getBoundingClientRect(),a=i.textDirectionAt(r.from),l=i.posAtCoords({x:t==(a==ue.LTR)?o.right-1:o.left+1,y:(s.top+s.bottom)/2});if(l!=null)return P.cursor(l,t?-1:1)}return P.cursor(t?r.to:r.from,t?-1:1)}function Cf(i,e,t,n){let r=i.state.doc.lineAt(e.head),s=i.bidiSpans(r),o=i.textDirectionAt(r.from);for(let a=e,l=null;;){let c=q0(r,s,o,a,t),h=su;if(!c){if(r.number==(t?i.state.doc.lines:1))return a;h=` +`,r=i.state.doc.line(r.number+(t?1:-1)),s=i.bidiSpans(r),c=i.visualLineSide(r,!t)}if(l){if(!l(h))return a}else{if(!n)return c;l=n(h)}a=c}}function rQ(i,e,t){let n=i.state.charCategorizer(e),r=n(t);return s=>{let o=n(s);return r==Ee.Space&&(r=o),r==o}}function sQ(i,e,t,n){let r=e.head,s=t?1:-1;if(r==(t?i.state.doc.length:0))return P.cursor(r,e.assoc);let o=e.goalColumn,a,l=i.contentDOM.getBoundingClientRect(),c=i.coordsAtPos(r,e.assoc||((e.empty?t:e.head==e.from)?1:-1)),h=i.documentTop;if(c)o==null&&(o=c.left-l.left),a=s<0?c.top:c.bottom;else{let p=i.viewState.lineBlockAt(r);o==null&&(o=Math.min(l.right-l.left,i.defaultCharacterWidth*(r-p.from))),a=(s<0?p.top:p.bottom)+h}let f=l.left+o,u=i.viewState.heightOracle.textHeight>>1,O=n??u;for(let p=0;;p+=u){let m=a+(O+p)*s,b=wa(i,{x:f,y:m},!1,s);if(t?m>l.bottom:ma:Q{if(e>s&&er(i)),t.from,e.head>t.from?-1:1);return n==t.from?t:P.cursor(n,ni.viewState.docHeight)return new ot(i.state.doc.length,-1);if(c=i.elementAtHeight(l),n==null)break;if(c.type==ct.Text){if(n<0?c.toi.viewport.to)break;let u=i.docView.coordsAt(n<0?c.from:c.to,n>0?-1:1);if(u&&(n<0?u.top<=l+s:u.bottom>=l+s))break}let f=i.viewState.heightOracle.textHeight/2;l=n>0?c.bottom+f:c.top-f}if(i.viewport.from>=c.to||i.viewport.to<=c.from){if(t)return null;if(c.type==ct.Text){let f=tQ(i,r,c,o,a);return new ot(f,f==c.from?1:-1)}}if(c.type!=ct.Text)return l<(c.top+c.bottom)/2?new ot(c.from,1):new ot(c.to,-1);let h=i.docView.lineAt(c.from,2);return(!h||h.length!=c.length)&&(h=i.docView.lineAt(c.from,-2)),new Pa(i,o,a,i.textDirectionAt(c.from)).scanTile(h,c.from)}var Pa=class{constructor(e,t,n,r){this.view=e,this.x=t,this.y=n,this.baseDir=r,this.line=null,this.spans=null}bidiSpansAt(e){return(!this.line||this.line.from>e||this.line.to1||n.length&&(n[0].level!=this.baseDir||n[0].to+r.from>1;t:if(o.has(m)){let g=r+Math.floor(Math.random()*p);for(let Q=0;Q1)){if(Q.bottomthis.y)(!c||c.top>Q.top)&&(c=Q),S=-1;else{let x=Q.left>this.x?this.x-Q.left:Q.right(p+p+m)/3)return this.y=l.bottom-1,this.scan(e,t,!0);if(c&&c.top<(p+m+m)/3)return this.y=c.top+1,this.scan(e,t,!0)}let O=(a?this.dirAt(e[h],1):this.baseDir)==ue.LTR;return{i:h,after:this.x>(u.left+u.right)/2==O}}scanText(e,t){let n=[];for(let s=0;s{let o=n[s]-t,a=n[s+1]-t;return rr(e.dom,o,a).getClientRects()});return r.after?new ot(n[r.i+1],-1):new ot(n[r.i],1)}scanTile(e,t){if(!e.length)return new ot(t,1);if(e.children.length==1){let a=e.children[0];if(a.isText())return this.scanText(a,t);if(a.isComposite())return this.scanTile(a,t)}let n=[t];for(let a=0,l=t;a{let l=e.children[a];return l.flags&48?null:(l.dom.nodeType==1?l.dom:rr(l.dom,0,l.length)).getClientRects()}),s=e.children[r.i],o=n[r.i];return s.isText()?this.scanText(s,o):s.isComposite()?this.scanTile(s,o):r.after?new ot(n[r.i+1],-1):new ot(o,1)}},ln="\uFFFF",va=class{constructor(e,t){this.points=e,this.view=t,this.text="",this.lineSeparator=t.state.facet(se.lineSeparator)}append(e){this.text+=e}lineBreak(){this.text+=ln}readRange(e,t){if(!e)return this;let n=e.parentNode;for(let r=e;;){this.findPointBefore(n,r);let s=this.text.length;this.readNode(r);let o=fe.get(r),a=r.nextSibling;if(a==t){o?.breakAfter&&!a&&n!=this.view.contentDOM&&this.lineBreak();break}let l=fe.get(a);(o&&l?o.breakAfter:(o?o.breakAfter:cs(r))||cs(a)&&(r.nodeName!="BR"||o?.isWidget())&&this.text.length>s)&&!aQ(a,t)&&this.lineBreak(),r=a}return this.findPointBefore(n,t),this}readTextNode(e){let t=e.nodeValue;for(let n of this.points)n.node==e&&(n.pos=this.text.length+Math.min(n.offset,t.length));for(let n=0,r=this.lineSeparator?null:/\r\n?|\n/g;;){let s=-1,o=1,a;if(this.lineSeparator?(s=t.indexOf(this.lineSeparator,n),o=this.lineSeparator.length):(a=r.exec(t))&&(s=a.index,o=a[0].length),this.append(t.slice(n,s<0?t.length:s)),s<0)break;if(this.lineBreak(),o>1)for(let l of this.points)l.node==e&&l.pos>this.text.length&&(l.pos-=o-1);n=s+o}}readNode(e){let t=fe.get(e),n=t&&t.overrideDOMText;if(n!=null){this.findPointInside(e,n.length);for(let r=n.iter();!r.next().done;)r.lineBreak?this.lineBreak():this.append(r.value)}else e.nodeType==3?this.readTextNode(e):e.nodeName=="BR"?e.nextSibling&&this.lineBreak():e.nodeType==1&&this.readRange(e.firstChild,null)}findPointBefore(e,t){for(let n of this.points)n.node==e&&e.childNodes[n.offset]==t&&(n.pos=this.text.length)}findPointInside(e,t){for(let n of this.points)(e.nodeType==3?n.node==e:e.contains(n.node))&&(n.pos=this.text.length+(oQ(e,n.node,n.offset)?t:0))}};function oQ(i,e,t){for(;;){if(!e||t-1;let{impreciseHead:s,impreciseAnchor:o}=e.docView,a=e.state.selection;if(e.state.readOnly&&t>-1)this.newSel=null;else if(t>-1&&(this.bounds=xu(e.docView.tile,t,n,0))){let l=s||o?[]:cQ(e),c=new va(l,e);c.readRange(this.bounds.startDOM,this.bounds.endDOM),this.text=c.text,this.newSel=hQ(l,this.bounds.from)}else{let l=e.observer.selectionRange,c=s&&s.node==l.focusNode&&s.offset==l.focusOffset||!ha(e.contentDOM,l.focusNode)?a.main.head:e.docView.posFromDOM(l.focusNode,l.focusOffset),h=o&&o.node==l.anchorNode&&o.offset==l.anchorOffset||!ha(e.contentDOM,l.anchorNode)?a.main.anchor:e.docView.posFromDOM(l.anchorNode,l.anchorOffset),f=e.viewport;if((L.ios||L.chrome)&&c!=h&&Math.min(c,h)<=a.main.from&&Math.max(c,h)>=a.main.to&&(f.from>0||f.to-1&&a.ranges.length>1)this.newSel=a.replaceRange(P.range(h,c));else if(e.lineWrapping&&h==c&&!(a.main.empty&&a.main.head==c)&&e.inputState.lastTouchTime>Date.now()-100){let u=e.coordsAtPos(c,-1),O=0;u&&(O=e.inputState.lastTouchY<=u.bottom?-1:1),this.newSel=P.create([P.cursor(c,O)])}else this.newSel=P.single(h,c)}}};function xu(i,e,t,n){if(i.isComposite()){let r=-1,s=-1,o=-1,a=-1;for(let l=0,c=n,h=n;lt)return xu(f,e,t,c);if(u>=e&&r==-1&&(r=l,s=c),c>t&&f.dom.parentNode==i.dom){o=l,a=h;break}h=u,c=u+f.breakAfter}return{from:s,to:a<0?n+i.length:a,startDOM:(r?i.children[r-1].dom.nextSibling:null)||i.dom.firstChild,endDOM:o=0?i.children[o].dom:null}}else return i.isText()?{from:n,to:n+i.length,startDOM:i.dom,endDOM:i.dom.nextSibling}:null}function wu(i,e){let t,{newSel:n}=e,{state:r}=i,s=r.selection.main,o=i.inputState.lastKeyTime>Date.now()-100?i.inputState.lastKeyCode:-1;if(e.bounds){let{from:a,to:l}=e.bounds,c=s.from,h=null;(o===8||L.android&&e.text.length=a&&s.to<=l&&(e.typeOver||f!=e.text)&&f.slice(0,s.from-a)==e.text.slice(0,s.from-a)&&f.slice(s.to-a)==e.text.slice(u=e.text.length-(f.length-(s.to-a)))?t={from:s.from,to:s.to,insert:K.of(e.text.slice(s.from-a,u).split(ln))}:(O=Pu(f,e.text,c-a,h))&&(L.chrome&&o==13&&O.toB==O.from+2&&e.text.slice(O.from,O.toB)==ln+ln&&O.toB--,t={from:a+O.from,to:a+O.toA,insert:K.of(e.text.slice(O.from,O.toB).split(ln))})}else n&&(!i.hasFocus&&r.facet(Mt)||ps(n,s))&&(n=null);if(!t&&!n)return!1;if((L.mac||L.android)&&t&&t.from==t.to&&t.from==s.head-1&&/^\. ?$/.test(t.insert.toString())&&i.contentDOM.getAttribute("autocorrect")=="off"?(n&&t.insert.length==2&&(n=P.single(n.main.anchor-1,n.main.head-1)),t={from:t.from,to:t.to,insert:K.of([t.insert.toString().replace("."," ")])}):r.doc.lineAt(s.from).toDate.now()-50?t={from:s.from,to:s.to,insert:r.toText(i.inputState.insertingText)}:L.chrome&&t&&t.from==t.to&&t.from==s.head&&t.insert.toString()==` + `&&i.lineWrapping&&(n&&(n=P.single(n.main.anchor-1,n.main.head-1)),t={from:s.from,to:s.to,insert:K.of([" "])}),t)return Ha(i,t,n,o);if(n&&!ps(n,s)){let a=!1,l="select";return i.inputState.lastSelectionTime>Date.now()-50&&(i.inputState.lastSelectionOrigin=="select"&&(a=!0),l=i.inputState.lastSelectionOrigin,l=="select.pointer"&&(n=ku(r.facet(sr).map(c=>c(i)),n))),i.dispatch({selection:n,scrollIntoView:a,userEvent:l}),!0}else return!1}function Ha(i,e,t,n=-1){if(L.ios&&i.inputState.flushIOSKey(e))return!0;let r=i.state.selection.main;if(L.android&&(e.to==r.to&&(e.from==r.from||e.from==r.from-1&&i.state.sliceDoc(e.from,r.from)==" ")&&e.insert.length==1&&e.insert.lines==2&&un(i.contentDOM,"Enter",13)||(e.from==r.from-1&&e.to==r.to&&e.insert.length==0||n==8&&e.insert.lengthr.head)&&un(i.contentDOM,"Backspace",8)||e.from==r.from&&e.to==r.to+1&&e.insert.length==0&&un(i.contentDOM,"Delete",46)))return!0;let s=e.insert.toString();i.inputState.composing>=0&&i.inputState.composing++;let o,a=()=>o||(o=lQ(i,e,t));return i.state.facet(hu).some(l=>l(i,e.from,e.to,s,a))||i.dispatch(a()),!0}function lQ(i,e,t){let n,r=i.state,s=r.selection.main,o=-1;if(e.from==e.to&&e.froms.to){let l=e.fromf(i)),c,l);e.from==h&&(o=h)}if(o>-1)n={changes:e,selection:P.cursor(e.from+e.insert.length,-1)};else if(e.from>=s.from&&e.to<=s.to&&e.to-e.from>=(s.to-s.from)/3&&(!t||t.main.empty&&t.main.from==e.from+e.insert.length)&&i.inputState.composing<0){let l=s.frome.to?r.sliceDoc(e.to,s.to):"";n=r.replaceSelection(i.state.toText(l+e.insert.sliceString(0,void 0,i.state.lineBreak)+c))}else{let l=r.changes(e),c=t&&t.main.to<=l.newLength?t.main:void 0;if(r.selection.ranges.length>1&&(i.inputState.composing>=0||i.inputState.compositionPendingChange)&&e.to<=s.to+10&&e.to>=s.to-10){let h=i.state.sliceDoc(e.from,e.to),f,u=t&&yu(i,t.main.head);if(u){let p=e.insert.length-(e.to-e.from);f={from:u.from,to:u.to-p}}else f=i.state.doc.lineAt(s.head);let O=s.to-e.to;n=r.changeByRange(p=>{if(p.from==s.from&&p.to==s.to)return{changes:l,range:c||p.map(l)};let m=p.to-O,b=m-h.length;if(i.state.sliceDoc(b,m)!=h||m>=f.from&&b<=f.to)return{range:p};let g=r.changes({from:b,to:m,insert:e.insert}),Q=p.to-s.to;return{changes:g,range:c?P.range(Math.max(0,c.anchor+Q),Math.max(0,c.head+Q)):p.map(g)}})}else n={changes:l,selection:c&&r.selection.replaceRange(c)}}let a="input.type";return(i.composing||i.inputState.compositionPendingChange&&i.inputState.compositionEndedAt>Date.now()-50)&&(i.inputState.compositionPendingChange=!1,a+=".compose",i.inputState.compositionFirstChange&&(a+=".start",i.inputState.compositionFirstChange=!1)),r.update(n,{userEvent:a,scrollIntoView:!0})}function Pu(i,e,t,n){let r=Math.min(i.length,e.length),s=0;for(;s0&&a>0&&i.charCodeAt(o-1)==e.charCodeAt(a-1);)o--,a--;if(n=="end"){let l=Math.max(0,s-Math.min(o,a));t-=o+l-s}if(o=o?s-t:0;s-=l,a=s+(a-o),o=s}else if(a=a?s-t:0;s-=l,o=s+(o-a),a=s}return{from:s,toA:o,toB:a}}function cQ(i){let e=[];if(i.root.activeElement!=i.contentDOM)return e;let{anchorNode:t,anchorOffset:n,focusNode:r,focusOffset:s}=i.observer.selectionRange;return t&&(e.push(new ds(t,n)),(r!=t||s!=n)&&e.push(new ds(r,s))),e}function hQ(i,e){if(i.length==0)return null;let t=i[0].pos,n=i.length==2?i[1].pos:t;return t>-1&&n>-1?P.single(t+e,n+e):null}function ps(i,e){return e.head==i.main.head&&e.anchor==i.main.anchor}var Ta=class{setSelectionOrigin(e){this.lastSelectionOrigin=e,this.lastSelectionTime=Date.now()}constructor(e){this.view=e,this.lastKeyCode=0,this.lastKeyTime=0,this.touchActive=!1,this.lastTouchTime=0,this.lastTouchX=0,this.lastTouchY=0,this.lastFocusTime=0,this.lastScrollTop=0,this.lastScrollLeft=0,this.lastWheelEvent=0,this.pendingIOSKey=void 0,this.lastIOSMomentumScroll=0,this.tabFocusMode=-1,this.lastSelectionOrigin=null,this.lastSelectionTime=0,this.lastContextMenu=0,this.scrollHandlers=[],this.handlers=Object.create(null),this.composing=-1,this.compositionFirstChange=null,this.compositionEndedAt=0,this.compositionPendingKey=!1,this.compositionPendingChange=!1,this.insertingText="",this.insertingTextAt=0,this.mouseSelection=null,this.draggedContent=null,this.handleEvent=this.handleEvent.bind(this),this.notifiedFocused=e.hasFocus,L.safari&&e.contentDOM.addEventListener("input",()=>null),L.gecko&&PQ(e.contentDOM.ownerDocument)}handleEvent(e){!QQ(this.view,e)||this.ignoreDuringComposition(e)||e.type=="keydown"&&this.keydown(e)||(this.view.updateState!=0?Promise.resolve().then(()=>this.runHandlers(e.type,e)):this.runHandlers(e.type,e))}runHandlers(e,t){let n=this.handlers[e];if(n){for(let r of n.observers)r(this.view,t);for(let r of n.handlers){if(t.defaultPrevented)break;if(r(this.view,t)){t.preventDefault();break}}}}ensureHandlers(e){let t=uQ(e),n=this.handlers,r=this.view.contentDOM;for(let s in t)if(s!="scroll"){let o=!t[s].handlers.length,a=n[s];a&&o!=!a.handlers.length&&(r.removeEventListener(s,this.handleEvent),a=null),a||r.addEventListener(s,this.handleEvent,{passive:o})}for(let s in n)s!="scroll"&&!t[s]&&r.removeEventListener(s,this.handleEvent);this.handlers=t}keydown(e){if(this.lastKeyCode=e.keyCode,this.lastKeyTime=Date.now(),e.keyCode==9&&this.tabFocusMode>-1&&(!this.tabFocusMode||Date.now()<=this.tabFocusMode))return!0;if(this.tabFocusMode>0&&e.keyCode!=27&&$u.indexOf(e.keyCode)<0&&(this.tabFocusMode=-1),L.android&&L.chrome&&!e.synthetic&&(e.keyCode==13||e.keyCode==8))return this.view.observer.delayAndroidKey(e.key,e.keyCode),!0;if(L.ios&&!e.synthetic&&!e.altKey&&!e.metaKey&&(vu.some(t=>t.keyCode==e.keyCode)&&!e.ctrlKey||OQ.indexOf(e.key)>-1&&e.ctrlKey)){let t={ctrlKey:e.ctrlKey,altKey:e.altKey,metaKey:e.metaKey,shiftKey:e.shiftKey};return t.shiftKey&&L.ios&&!/^(off|none)$/.test(this.view.contentDOM.autocapitalize)&&fQ(this.view.win)&&(t.shiftKey=!1),this.pendingIOSKey={key:e.key,keyCode:e.keyCode,mods:t},setTimeout(()=>this.flushIOSKey(),250),!0}return e.keyCode!=229&&this.view.observer.forceFlush(),!1}flushIOSKey(e){let t=this.pendingIOSKey;return!t||t.key=="Enter"&&e&&e.from0?!0:L.safari&&!L.ios&&this.compositionPendingKey&&Date.now()-this.compositionEndedAt<100?(this.compositionPendingKey=!1,!0):!1}startMouseSelection(e){this.mouseSelection&&this.mouseSelection.destroy(),this.mouseSelection=e}update(e){this.view.observer.update(e),this.mouseSelection&&this.mouseSelection.update(e),this.draggedContent&&e.docChanged&&(this.draggedContent=this.draggedContent.map(e.changes)),e.transactions.length&&(this.lastKeyCode=this.lastSelectionTime=0)}destroy(){this.mouseSelection&&this.mouseSelection.destroy()}};function fQ(i){return i.visualViewport?i.visualViewport.height*i.visualViewport.scale/i.document.documentElement.clientHeight<.85:!1}function Xf(i,e){return(t,n)=>{try{return e.call(i,n,t)}catch(r){lt(t.state,r)}}}function uQ(i){let e=Object.create(null);function t(n){return e[n]||(e[n]={observers:[],handlers:[]})}for(let n of i){let r=n.spec,s=r&&r.plugin.domEventHandlers,o=r&&r.plugin.domEventObservers;if(s)for(let a in s){let l=s[a];l&&t(a).handlers.push(Xf(n.value,l))}if(o)for(let a in o){let l=o[a];l&&t(a).observers.push(Xf(n.value,l))}}for(let n in Qt)t(n).handlers.push(Qt[n]);for(let n in Le)t(n).observers.push(Le[n]);return e}var vu=[{key:"Backspace",keyCode:8,inputType:"deleteContentBackward"},{key:"Enter",keyCode:13,inputType:"insertParagraph"},{key:"Enter",keyCode:13,inputType:"insertLineBreak"},{key:"Delete",keyCode:46,inputType:"deleteContentForward"}],OQ="dthko",$u=[16,17,18,20,91,92,224,225],es=6;function ts(i){return Math.max(0,i)*.7+8}function dQ(i,e){return Math.max(Math.abs(i.clientX-e.clientX),Math.abs(i.clientY-e.clientY))}var Ca=class{constructor(e,t,n,r){this.view=e,this.startEvent=t,this.style=n,this.mustSelect=r,this.scrollSpeed={x:0,y:0},this.scrolling=-1,this.lastEvent=t,this.scrollParents=Ff(e.contentDOM),this.atoms=e.state.facet(sr).map(o=>o(e));let s=e.contentDOM.ownerDocument;s.addEventListener("mousemove",this.move=this.move.bind(this)),s.addEventListener("mouseup",this.up=this.up.bind(this)),this.extend=t.shiftKey,this.multiple=e.state.facet(se.allowMultipleSelections)&&pQ(e,t),this.dragging=gQ(e,t)&&Xu(t)==1?null:!1}start(e){this.dragging===!1&&this.select(e)}move(e){if(e.buttons==0)return this.destroy();if(this.dragging||this.dragging==null&&dQ(this.startEvent,e)<10)return;this.select(this.lastEvent=e);let t=0,n=0,r=0,s=0,o=this.view.win.innerWidth,a=this.view.win.innerHeight;this.scrollParents.x&&({left:r,right:o}=this.scrollParents.x.getBoundingClientRect()),this.scrollParents.y&&({top:s,bottom:a}=this.scrollParents.y.getBoundingClientRect());let l=bu(this.view);e.clientX-l.left<=r+es?t=-ts(r-e.clientX):e.clientX+l.right>=o-es&&(t=ts(e.clientX-o)),e.clientY-l.top<=s+es?n=-ts(s-e.clientY):e.clientY+l.bottom>=a-es&&(n=ts(e.clientY-a)),this.setScrollSpeed(t,n)}up(e){this.dragging==null&&this.select(this.lastEvent),this.dragging||e.preventDefault(),this.destroy()}destroy(){this.setScrollSpeed(0,0);let e=this.view.contentDOM.ownerDocument;e.removeEventListener("mousemove",this.move),e.removeEventListener("mouseup",this.up),this.view.inputState.mouseSelection=this.view.inputState.draggedContent=null}setScrollSpeed(e,t){this.scrollSpeed={x:e,y:t},e||t?this.scrolling<0&&(this.scrolling=setInterval(()=>this.scroll(),50)):this.scrolling>-1&&(clearInterval(this.scrolling),this.scrolling=-1)}scroll(){let{x:e,y:t}=this.scrollSpeed;e&&this.scrollParents.x&&(this.scrollParents.x.scrollLeft+=e,e=0),t&&this.scrollParents.y&&(this.scrollParents.y.scrollTop+=t,t=0),(e||t)&&this.view.win.scrollBy(e,t),this.dragging===!1&&this.select(this.lastEvent)}select(e){let{view:t}=this,n=ku(this.atoms,this.style.get(e,this.extend,this.multiple));(this.mustSelect||!n.eq(t.state.selection,this.dragging===!1))&&this.view.dispatch({selection:n,userEvent:"select.pointer"}),this.mustSelect=!1}update(e){e.transactions.some(t=>t.isUserEvent("input.type"))?this.destroy():this.style.update(e)&&setTimeout(()=>this.select(this.lastEvent),20)}};function pQ(i,e){let t=i.state.facet(ou);return t.length?t[0](e):L.mac?e.metaKey:e.ctrlKey}function mQ(i,e){let t=i.state.facet(au);return t.length?t[0](e):L.mac?!e.altKey:!e.ctrlKey}function gQ(i,e){let{main:t}=i.state.selection;if(t.empty)return!1;let n=nr(i.root);if(!n||n.rangeCount==0)return!0;let r=n.getRangeAt(0).getClientRects();for(let s=0;s=e.clientX&&o.top<=e.clientY&&o.bottom>=e.clientY)return!0}return!1}function QQ(i,e){if(!e.bubbles)return!0;if(e.defaultPrevented)return!1;for(let t=e.target,n;t!=i.contentDOM;t=t.parentNode)if(!t||t.nodeType==11||(n=fe.get(t))&&n.isWidget()&&!n.isHidden&&n.widget.ignoreEvent(e))return!1;return!0}var Qt=Object.create(null),Le=Object.create(null),Tu=L.ie&&L.ie_version<15||L.ios&&L.webkit_version<604;function bQ(i){let e=i.dom.parentNode;if(!e)return;let t=e.appendChild(document.createElement("textarea"));t.style.cssText="position: fixed; left: -10000px; top: 10px",t.focus(),setTimeout(()=>{i.focus(),t.remove(),Cu(i,t.value)},50)}function ks(i,e,t){for(let n of i.facet(e))t=n(t,i);return t}function Cu(i,e){e=ks(i.state,Ua,e);let{state:t}=i,n,r=1,s=t.toText(e),o=s.lines==t.selection.ranges.length;if(Xa!=null&&t.selection.ranges.every(l=>l.empty)&&Xa==s.toString()){let l=-1;n=t.changeByRange(c=>{let h=t.doc.lineAt(c.from);if(h.from==l)return{range:c};l=h.from;let f=t.toText((o?s.line(r++).text:e)+t.lineBreak);return{changes:{from:h.from,insert:f},range:P.cursor(c.from+f.length)}})}else o?n=t.changeByRange(l=>{let c=s.line(r++);return{changes:{from:l.from,to:l.to,insert:c.text},range:P.cursor(l.from+c.length)}}):n=t.replaceSelection(s);i.dispatch(n,{userEvent:"input.paste",scrollIntoView:!0})}Le.scroll=i=>{let e=i.inputState;e.lastScrollTop=i.scrollDOM.scrollTop,e.lastScrollLeft=i.scrollDOM.scrollLeft,L.ios&&!e.touchActive&&(e.lastIOSMomentumScroll=Date.now())};Le.wheel=Le.mousewheel=i=>{i.inputState.lastWheelEvent=Date.now()};Qt.keydown=(i,e)=>(i.inputState.setSelectionOrigin("select"),e.keyCode==27&&i.inputState.tabFocusMode!=0&&(i.inputState.tabFocusMode=Date.now()+2e3),!1);Le.touchstart=(i,e)=>{let t=i.inputState,n=e.targetTouches[0];t.touchActive=!0,t.lastTouchTime=Date.now(),n&&(t.lastTouchX=n.clientX,t.lastTouchY=n.clientY),t.setSelectionOrigin("select.pointer")};Le.touchmove=i=>{i.inputState.setSelectionOrigin("select.pointer")};Le.touchend=(i,e)=>{i.inputState.touchActive=!1};Qt.mousedown=(i,e)=>{if(i.observer.flush(),i.inputState.lastTouchTime>Date.now()-2e3)return!1;let t=null;for(let n of i.state.facet(lu))if(t=n(i,e),t)break;if(!t&&e.button==0&&(t=yQ(i,e)),t){let n=!i.hasFocus;i.inputState.startMouseSelection(new Ca(i,e,t,n)),n&&i.observer.ignore(()=>{Hf(i.contentDOM);let s=i.root.activeElement;s&&!s.contains(i.contentDOM)&&s.blur()});let r=i.inputState.mouseSelection;if(r)return r.start(e),r.dragging===!1}else i.inputState.setSelectionOrigin("select.pointer");return!1};function _f(i,e,t,n){if(n==1)return P.cursor(e,t);if(n==2)return eQ(i.state,e,t);{let r=i.docView.lineAt(e,t),s=i.state.doc.lineAt(r?r.posAtEnd:e),o=r?r.posAtStart:s.from,a=r?r.posAtEnd:s.to;return aDate.now()-400&&Math.abs(e.clientX-i.clientX)<2&&Math.abs(e.clientY-i.clientY)<2?(Af+1)%3:1}function yQ(i,e){let t=i.posAndSideAtCoords({x:e.clientX,y:e.clientY},!1),n=Xu(e),r=i.state.selection;return{update(s){s.docChanged&&(t.pos=s.changes.mapPos(t.pos),r=r.map(s.changes))},get(s,o,a){let l=i.posAndSideAtCoords({x:s.clientX,y:s.clientY},!1),c,h=_f(i,l.pos,l.assoc,n);if(t.pos!=l.pos&&!o){let f=_f(i,t.pos,t.assoc,n),u=Math.min(f.from,h.from),O=Math.max(f.to,h.to);h=u1&&(c=kQ(r,l.pos))?c:a?r.addRange(h):P.create([h])}}}function kQ(i,e){for(let t=0;t=e)return P.create(i.ranges.slice(0,t).concat(i.ranges.slice(t+1)),i.mainIndex==t?0:i.mainIndex-(i.mainIndex>t?1:0))}return null}Qt.dragstart=(i,e)=>{let{selection:{main:t}}=i.state;if(e.target.draggable){let r=i.docView.tile.nearest(e.target);if(r&&r.isWidget()){let s=r.posAtStart,o=s+r.length;(s>=t.to||o<=t.from)&&(t=P.undirectionalRange(s,o))}}let{inputState:n}=i;return n.mouseSelection&&(n.mouseSelection.dragging=!0),n.draggedContent=t,e.dataTransfer&&(e.dataTransfer.setData("Text",ks(i.state,Ga,i.state.sliceDoc(t.from,t.to))),e.dataTransfer.effectAllowed="copyMove"),!1};Qt.dragend=i=>(i.inputState.draggedContent=null,!1);function Ef(i,e,t,n){if(t=ks(i.state,Ua,t),!t)return;let r=i.posAtCoords({x:e.clientX,y:e.clientY},!1),{draggedContent:s}=i.inputState,o=n&&s&&mQ(i,e)?{from:s.from,to:s.to}:null,a={from:r,insert:t},l=i.state.changes(o?[o,a]:a);i.focus(),i.dispatch({changes:l,selection:{anchor:l.mapPos(r,-1),head:l.mapPos(r,1)},userEvent:o?"move.drop":"input.drop"}),i.inputState.draggedContent=null}Qt.drop=(i,e)=>{if(!e.dataTransfer)return!1;if(i.state.readOnly)return!0;let t=e.dataTransfer.files;if(t&&t.length){let n=Array(t.length),r=0,s=()=>{++r==t.length&&Ef(i,e,n.filter(o=>o!=null).join(i.state.lineBreak),!1)};for(let o=0;o{/[\x00-\x08\x0e-\x1f]{2}/.test(a.result)||(n[o]=a.result),s()},a.readAsText(t[o])}return!0}else{let n=e.dataTransfer.getData("Text");if(n)return Ef(i,e,n,!0),!0}return!1};Qt.paste=(i,e)=>{if(i.state.readOnly)return!0;i.observer.flush();let t=Tu?null:e.clipboardData;return t?(Cu(i,t.getData("text/plain")||t.getData("text/uri-list")),!0):(bQ(i),!1)};function xQ(i,e){let t=i.dom.parentNode;if(!t)return;let n=t.appendChild(document.createElement("textarea"));n.style.cssText="position: fixed; left: -10000px; top: 10px",n.value=e,n.focus(),n.selectionEnd=e.length,n.selectionStart=0,setTimeout(()=>{n.remove(),i.focus()},50)}function wQ(i){let e=[],t=[],n=!1;for(let r of i.selection.ranges)r.empty||(e.push(i.sliceDoc(r.from,r.to)),t.push(r));if(!e.length){let r=-1;for(let{from:s}of i.selection.ranges){let o=i.doc.lineAt(s);o.number>r&&(e.push(o.text),t.push({from:o.from,to:Math.min(i.doc.length,o.to+1)})),r=o.number}n=!0}return{text:ks(i,Ga,e.join(i.lineBreak)),ranges:t,linewise:n}}var Xa=null;Qt.copy=Qt.cut=(i,e)=>{if(!Gn(i.contentDOM,i.observer.selectionRange))return!1;let{text:t,ranges:n,linewise:r}=wQ(i.state);if(!t&&!r)return!1;Xa=r?t:null,e.type=="cut"&&!i.state.readOnly&&i.dispatch({changes:n,scrollIntoView:!0,userEvent:"delete.cut"});let s=Tu?null:e.clipboardData;return s?(s.clearData(),s.setData("text/plain",t),!0):(xQ(i,t),!1)};var _u=_e.define();function Ru(i,e){let t=[];for(let n of i.facet(fu)){let r=n(i,e);r&&t.push(r)}return t.length?i.update({effects:t,annotations:_u.of(!0)}):null}function Au(i){setTimeout(()=>{let e=i.hasFocus;if(e!=i.inputState.notifiedFocused){let t=Ru(i.state,e);t?i.dispatch(t):i.update([])}},10)}Le.focus=i=>{i.inputState.lastFocusTime=Date.now(),!i.scrollDOM.scrollTop&&(i.inputState.lastScrollTop||i.inputState.lastScrollLeft)&&(i.scrollDOM.scrollTop=i.inputState.lastScrollTop,i.scrollDOM.scrollLeft=i.inputState.lastScrollLeft),Au(i)};Le.blur=i=>{i.observer.clearSelectionRange(),Au(i)};Le.compositionstart=Le.compositionupdate=i=>{i.observer.editContext||(i.inputState.compositionFirstChange==null&&(i.inputState.compositionFirstChange=!0),i.inputState.composing<0&&(i.inputState.composing=0))};Le.compositionend=i=>{i.observer.editContext||(i.inputState.composing=-1,i.inputState.compositionEndedAt=Date.now(),i.inputState.compositionPendingKey=!0,i.inputState.compositionPendingChange=i.observer.pendingRecords().length>0,i.inputState.compositionFirstChange=null,L.chrome&&L.android?i.observer.flushSoon():i.inputState.compositionPendingChange?Promise.resolve().then(()=>i.observer.flush()):setTimeout(()=>{i.inputState.composing<0&&i.docView.hasComposition&&i.update([])},50))};Le.contextmenu=i=>{i.inputState.lastContextMenu=Date.now()};Qt.beforeinput=(i,e)=>{var t,n;if((e.inputType=="insertText"||e.inputType=="insertCompositionText")&&(i.inputState.insertingText=e.data,i.inputState.insertingTextAt=Date.now()),e.inputType=="insertReplacementText"&&i.observer.editContext){let s=(t=e.dataTransfer)===null||t===void 0?void 0:t.getData("text/plain"),o=e.getTargetRanges();if(s&&o.length){let a=o[0],l=i.posAtDOM(a.startContainer,a.startOffset),c=i.posAtDOM(a.endContainer,a.endOffset);return Ha(i,{from:l,to:c,insert:i.state.toText(s)},null),!0}}let r;if(L.chrome&&L.android&&(r=vu.find(s=>s.inputType==e.inputType))&&(i.observer.delayAndroidKey(r.key,r.keyCode),r.key=="Backspace"||r.key=="Delete")){let s=((n=window.visualViewport)===null||n===void 0?void 0:n.height)||0;setTimeout(()=>{var o;(((o=window.visualViewport)===null||o===void 0?void 0:o.height)||0)>s+10&&i.hasFocus&&(i.contentDOM.blur(),i.focus())},100)}return L.ios&&e.inputType=="deleteContentForward"&&i.observer.flushSoon(),L.safari&&e.inputType=="insertText"&&i.inputState.composing>=0&&setTimeout(()=>Le.compositionend(i,e),20),!1};var qf=new Set;function PQ(i){qf.has(i)||(qf.add(i),i.addEventListener("copy",()=>{}),i.addEventListener("cut",()=>{}))}var zf=["pre-wrap","normal","pre-line","break-spaces"],gn=!1;function Lf(){gn=!1}var _a=class{constructor(e){this.lineWrapping=e,this.doc=K.empty,this.heightSamples={},this.lineHeight=14,this.charWidth=7,this.textHeight=14,this.lineLength=30}heightForGap(e,t){let n=this.doc.lineAt(t).number-this.doc.lineAt(e).number+1;return this.lineWrapping&&(n+=Math.max(0,Math.ceil((t-e-n*this.lineLength*.5)/this.lineLength))),this.lineHeight*n}heightForLine(e){return this.lineWrapping?(1+Math.max(0,Math.ceil((e-this.lineLength)/Math.max(1,this.lineLength-5))))*this.lineHeight:this.lineHeight}setDoc(e){return this.doc=e,this}mustRefreshForWrapping(e){return zf.indexOf(e)>-1!=this.lineWrapping}mustRefreshForHeights(e){let t=!1;for(let n=0;n-1,l=Math.abs(t-this.lineHeight)>.3||this.lineWrapping!=a;if(this.lineWrapping=a,this.lineHeight=t,this.charWidth=n,this.textHeight=r,this.lineLength=s,l){this.heightSamples={};for(let c=0;c0}set outdated(e){this.flags=(e?2:0)|this.flags&-3}setHeight(e){this.height!=e&&(Math.abs(this.height-e)>as&&(gn=!0),this.height=e)}replace(e,t,n){return i.of(n)}decomposeLeft(e,t){t.push(this)}decomposeRight(e,t){t.push(this)}applyChanges(e,t,n,r){let s=this,o=n.doc;for(let a=r.length-1;a>=0;a--){let{fromA:l,toA:c,fromB:h,toB:f}=r[a],u=s.lineAt(l,le.ByPosNoHeight,n.setDoc(t),0,0),O=u.to>=c?u:s.lineAt(c,le.ByPosNoHeight,n,0,0);for(f+=O.to-c,c=O.to;a>0&&u.from<=r[a-1].toA;)l=r[a-1].fromA,h=r[a-1].fromB,a--,ls*2){let a=e[t-1];a.break?e.splice(--t,1,a.left,null,a.right):e.splice(--t,1,a.left,a.right),n+=1+a.break,r-=a.size}else if(s>r*2){let a=e[n];a.break?e.splice(n,1,a.left,null,a.right):e.splice(n,1,a.left,a.right),n+=2+a.break,s-=a.size}else break;else if(r=s&&o(this.lineAt(0,le.ByPos,n,r,s))}setMeasuredHeight(e){let t=e.heights[e.index++];t<0?(this.spaceAbove=-t,t=e.heights[e.index++]):this.spaceAbove=0,this.setHeight(t)}updateHeight(e,t=0,n=!1,r){return r&&r.from<=t&&r.more&&this.setMeasuredHeight(r),this.outdated=!1,this}toString(){return`block(${this.length})`}},st=class i extends gs{constructor(e,t,n){super(e,t,null),this.collapsed=0,this.widgetHeight=0,this.breaks=0,this.spaceAbove=n}mainBlock(e,t){return new mt(t,this.length,e+this.spaceAbove,this.height-this.spaceAbove,this.breaks)}replace(e,t,n){let r=n[0];return n.length==1&&(r instanceof i||r instanceof ai&&r.flags&4)&&Math.abs(this.length-r.length)<10?(r instanceof ai?r=new i(r.length,this.height,this.spaceAbove):r.height=this.height,this.outdated||(r.outdated=!1),r):Fe.of(n)}updateHeight(e,t=0,n=!1,r){return r&&r.from<=t&&r.more?this.setMeasuredHeight(r):(n||this.outdated)&&(this.spaceAbove=0,this.setHeight(Math.max(this.widgetHeight,e.heightForLine(this.length-this.collapsed))+this.breaks*e.lineHeight)),this.outdated=!1,this}toString(){return`line(${this.length}${this.collapsed?-this.collapsed:""}${this.widgetHeight?":"+this.widgetHeight:""})`}},ai=class i extends Fe{constructor(e){super(e,0)}heightMetrics(e,t){let n=e.doc.lineAt(t).number,r=e.doc.lineAt(t+this.length).number,s=r-n+1,o,a=0;if(e.lineWrapping){let l=Math.min(this.height,e.lineHeight*s);o=l/s,this.length>s+1&&(a=(this.height-l)/(this.length-s-1))}else o=this.height/s;return{firstLine:n,lastLine:r,perLine:o,perChar:a}}blockAt(e,t,n,r){let{firstLine:s,lastLine:o,perLine:a,perChar:l}=this.heightMetrics(t,r);if(t.lineWrapping){let c=r+(e0){let s=n[n.length-1];s instanceof i?n[n.length-1]=new i(s.length+r):n.push(null,new i(r-1))}if(e>0){let s=n[0];s instanceof i?n[0]=new i(e+s.length):n.unshift(new i(e-1),null)}return Fe.of(n)}decomposeLeft(e,t){t.push(new i(e-1),null)}decomposeRight(e,t){t.push(null,new i(this.length-e-1))}updateHeight(e,t=0,n=!1,r){let s=t+this.length;if(r&&r.from<=t+this.length&&r.more){let o=[],a=Math.max(t,r.from),l=-1;for(r.from>t&&o.push(new i(r.from-t-1).updateHeight(e,t));a<=s&&r.more;){let h=e.doc.lineAt(a).length;o.length&&o.push(null);let f=r.heights[r.index++],u=0;f<0&&(u=-f,f=r.heights[r.index++]),l==-1?l=f:Math.abs(f-l)>=as&&(l=-2);let O=new st(h,f,u);O.outdated=!1,o.push(O),a+=h+1}a<=s&&o.push(null,new i(s-a).updateHeight(e,a));let c=Fe.of(o);return(l<0||Math.abs(c.height-this.height)>=as||Math.abs(l-this.heightMetrics(e,t).perLine)>=as)&&(gn=!0),ms(this,c)}else(n||this.outdated)&&(this.setHeight(e.heightForGap(t,t+this.length)),this.outdated=!1);return this}toString(){return`gap(${this.length})`}},Aa=class extends Fe{constructor(e,t,n){super(e.length+t+n.length,e.height+n.height,t|(e.outdated||n.outdated?2:0)),this.left=e,this.right=n,this.size=e.size+n.size}get break(){return this.flags&1}blockAt(e,t,n,r){let s=n+this.left.height;return ea))return c;let h=t==le.ByPosNoHeight?le.ByPosNoHeight:le.ByPos;return l?c.join(this.right.lineAt(a,h,n,o,a)):this.left.lineAt(a,h,n,r,s).join(c)}forEachLine(e,t,n,r,s,o){let a=r+this.left.height,l=s+this.left.length+this.break;if(this.break)e=l&&this.right.forEachLine(e,t,n,a,l,o);else{let c=this.lineAt(l,le.ByPos,n,r,s);e=e&&c.from<=t&&o(c),t>c.to&&this.right.forEachLine(c.to+1,t,n,a,l,o)}}replace(e,t,n){let r=this.left.length+this.break;if(tthis.left.length)return this.balanced(this.left,this.right.replace(e-r,t-r,n));let s=[];e>0&&this.decomposeLeft(e,s);let o=s.length;for(let a of n)s.push(a);if(e>0&&Mf(s,o-1),t=n&&t.push(null)),e>n&&this.right.decomposeLeft(e-n,t)}decomposeRight(e,t){let n=this.left.length,r=n+this.break;if(e>=r)return this.right.decomposeRight(e-r,t);e2*t.size||t.size>2*e.size?Fe.of(this.break?[e,null,t]:[e,t]):(this.left=ms(this.left,e),this.right=ms(this.right,t),this.setHeight(e.height+t.height),this.outdated=e.outdated||t.outdated,this.size=e.size+t.size,this.length=e.length+this.break+t.length,this)}updateHeight(e,t=0,n=!1,r){let{left:s,right:o}=this,a=t+s.length+this.break,l=null;return r&&r.from<=t+s.length&&r.more?l=s=s.updateHeight(e,t,n,r):s.updateHeight(e,t,n),r&&r.from<=a+o.length&&r.more?l=o=o.updateHeight(e,a,n,r):o.updateHeight(e,a,n),l?this.balanced(s,o):(this.height=this.left.height+this.right.height,this.outdated=!1,this)}toString(){return this.left+(this.break?" ":"-")+this.right}};function Mf(i,e){let t,n;i[e]==null&&(t=i[e-1])instanceof ai&&(n=i[e+1])instanceof ai&&i.splice(e-1,3,new ai(t.length+1+n.length))}var $Q=5,Za=class i{constructor(e,t){this.pos=e,this.oracle=t,this.nodes=[],this.lineStart=-1,this.lineEnd=-1,this.covering=null,this.writtenTo=e}get isCovered(){return this.covering&&this.nodes[this.nodes.length-1]==this.covering}span(e,t){if(this.lineStart>-1){let n=Math.min(t,this.lineEnd),r=this.nodes[this.nodes.length-1];r instanceof st?r.length+=n-this.pos:(n>this.pos||!this.isCovered)&&this.nodes.push(new st(n-this.pos,-1,0)),this.writtenTo=n,t>n&&(this.nodes.push(null),this.writtenTo++,this.lineStart=-1)}this.pos=t}point(e,t,n){if(e=$Q)&&this.addLineDeco(r,s,o)}else t>e&&this.span(e,t);this.lineEnd>-1&&this.lineEnd-1)return;let{from:e,to:t}=this.oracle.doc.lineAt(this.pos);this.lineStart=e,this.lineEnd=t,this.writtenToe&&this.nodes.push(new st(this.pos-e,-1,0)),this.writtenTo=this.pos}blankContent(e,t){let n=new ai(t-e);return this.oracle.doc.lineAt(e).to==t&&(n.flags|=4),n}ensureLine(){this.enterLine();let e=this.nodes.length?this.nodes[this.nodes.length-1]:null;if(e instanceof st)return e;let t=new st(0,-1,0);return this.nodes.push(t),t}addBlock(e){this.enterLine();let t=e.deco;t&&t.startSide>0&&!this.isCovered&&this.ensureLine(),this.nodes.push(e),this.writtenTo=this.pos=this.pos+e.length,t&&t.endSide>0&&(this.covering=e)}addLineDeco(e,t,n){let r=this.ensureLine();r.length+=n,r.collapsed+=n,r.widgetHeight=Math.max(r.widgetHeight,e),r.breaks+=t,this.writtenTo=this.pos=this.pos+n}finish(e){let t=this.nodes.length==0?null:this.nodes[this.nodes.length-1];this.lineStart>-1&&!(t instanceof st)&&!this.isCovered?this.nodes.push(new st(0,-1,0)):(this.writtenToh.clientHeight||h.scrollWidth>h.clientWidth)&&f.overflow!="visible"){let u=h.getBoundingClientRect();s=Math.max(s,u.left),o=Math.min(o,u.right),a=Math.max(a,u.top),l=Math.min(c==i.parentNode?r.innerHeight:l,u.bottom)}c=f.position=="absolute"||f.position=="fixed"?h.offsetParent:h.parentNode}else if(c.nodeType==11)c=c.host;else break;return{left:s-t.left,right:Math.max(s,o)-t.left,top:a-(t.top+e),bottom:Math.max(a,l)-(t.top+e)}}function XQ(i){let e=i.getBoundingClientRect(),t=i.ownerDocument.defaultView||window;return e.left0&&e.top0}function _Q(i,e){let t=i.getBoundingClientRect();return{left:0,right:t.right-t.left,top:e,bottom:t.bottom-(t.top+e)}}var er=class{constructor(e,t,n,r){this.from=e,this.to=t,this.size=n,this.displaySize=r}static same(e,t){if(e.length!=t.length)return!1;for(let n=0;ntypeof r!="function"&&r.class=="cm-lineWrapping");this.heightOracle=new _a(n),this.stateDeco=jf(t),this.heightMap=Fe.empty().applyChanges(this.stateDeco,K.empty,this.heightOracle.setDoc(t.doc),[new gt(0,0,0,t.doc.length)]);for(let r=0;r<2&&(this.viewport=this.getViewport(0,null),!!this.updateForViewport());r++);this.updateViewportLines(),this.lineGaps=this.ensureLineGaps([]),this.lineGapDeco=R.set(this.lineGaps.map(r=>r.draw(this,!1))),this.scrollParent=e.scrollDOM,this.computeVisibleRanges()}updateForViewport(){let e=[this.viewport],{main:t}=this.state.selection;for(let n=0;n<=1;n++){let r=n?t.head:t.anchor;if(!e.some(({from:s,to:o})=>r>=s&&r<=o)){let{from:s,to:o}=this.lineBlockAt(r);e.push(new hn(s,o))}}return this.viewports=e.sort((n,r)=>n.from-r.from),this.updateScaler()}updateScaler(){let e=this.scaler;return this.scaler=this.heightMap.height<=7e6?Wf:new za(this.heightOracle,this.heightMap,this.viewports),e.eq(this.scaler)?0:2}updateViewportLines(){this.viewportLines=[],this.heightMap.forEachLine(this.viewport.from,this.viewport.to,this.heightOracle.setDoc(this.state.doc),0,0,e=>{this.viewportLines.push(Bn(e,this.scaler))})}update(e,t=null){this.state=e.state;let n=this.stateDeco;this.stateDeco=jf(this.state);let r=e.changedRanges,s=gt.extendWithRanges(r,TQ(n,this.stateDeco,e?e.changes:qe.empty(this.state.doc.length))),o=this.heightMap.height,a=this.scrolledToBottom?null:this.scrollAnchorAt(this.scrollOffset);Lf(),this.heightMap=this.heightMap.applyChanges(this.stateDeco,e.startState.doc,this.heightOracle.setDoc(this.state.doc),s),(this.heightMap.height!=o||gn)&&(e.flags|=2),a?(this.scrollAnchorPos=e.changes.mapPos(a.from,-1),this.scrollAnchorHeight=a.top):(this.scrollAnchorPos=-1,this.scrollAnchorHeight=o);let l=s.length?this.mapViewport(this.viewport,e.changes):this.viewport;(t&&(t.range.headl.to)||!this.viewportIsAppropriate(l))&&(l=this.getViewport(0,t));let c=l.from!=this.viewport.from||l.to!=this.viewport.to;this.viewport=l,e.flags|=this.updateForViewport(),(c||!e.changes.empty||e.flags&2)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(this.mapLineGaps(this.lineGaps,e.changes))),e.flags|=this.computeVisibleRanges(e.changes),t&&(this.scrollTarget=t),!this.mustEnforceCursorAssoc&&(e.selectionSet||e.focusChanged)&&e.view.lineWrapping&&e.state.selection.main.empty&&e.state.selection.main.assoc&&!e.state.facet(L0)&&(this.mustEnforceCursorAssoc=!0)}measure(){let{view:e}=this,t=e.contentDOM,n=window.getComputedStyle(t),r=this.heightOracle,s=n.whiteSpace;this.defaultTextDirection=n.direction=="rtl"?ue.RTL:ue.LTR;let o=this.heightOracle.mustRefreshForWrapping(s)||this.mustMeasureContent==="refresh",a=t.getBoundingClientRect(),l=o||this.mustMeasureContent||this.contentDOMHeight!=a.height;this.contentDOMHeight=a.height,this.mustMeasureContent=!1;let c=0,h=0;if(a.width&&a.height){let{scaleX:v,scaleY:$}=Nf(t,a);(v>.005&&Math.abs(this.scaleX-v)>.005||$>.005&&Math.abs(this.scaleY-$)>.005)&&(this.scaleX=v,this.scaleY=$,c|=16,o=l=!0)}let f=(parseInt(n.paddingTop)||0)*this.scaleY,u=(parseInt(n.paddingBottom)||0)*this.scaleY;(this.paddingTop!=f||this.paddingBottom!=u)&&(this.paddingTop=f,this.paddingBottom=u,c|=18),this.editorWidth!=e.scrollDOM.clientWidth&&(r.lineWrapping&&(l=!0),this.editorWidth=e.scrollDOM.clientWidth,c|=16);let O=Ff(this.view.contentDOM,!1).y;O!=this.scrollParent&&(this.scrollParent=O,this.scrollAnchorHeight=-1,this.scrollOffset=0);let p=this.getScrollOffset();this.scrollOffset!=p&&(this.scrollAnchorHeight=-1,this.scrollOffset=p),this.scrolledToBottom=Kf(this.scrollParent||e.win);let m=(this.printing?_Q:CQ)(t,this.paddingTop),b=m.top-this.pixelViewport.top,g=m.bottom-this.pixelViewport.bottom;this.pixelViewport=m;let Q=this.pixelViewport.bottom>this.pixelViewport.top&&this.pixelViewport.right>this.pixelViewport.left;if(Q!=this.inView&&(this.inView=Q,Q&&(l=!0)),!this.inView&&!this.scrollTarget&&!XQ(e.dom))return 0;let S=a.width;if((this.contentDOMWidth!=S||this.editorHeight!=e.scrollDOM.clientHeight)&&(this.contentDOMWidth=a.width,this.editorHeight=e.scrollDOM.clientHeight,c|=16),l){let v=e.docView.measureVisibleLineHeights(this.viewport);if(r.mustRefreshForHeights(v)&&(o=!0),o||r.lineWrapping&&Math.abs(S-this.contentDOMWidth)>r.charWidth){let{lineHeight:$,charWidth:A,textHeight:_}=e.docView.measureTextSize();o=$>0&&r.refresh(s,$,A,_,Math.max(5,S/A),v),o&&(e.docView.minWidth=0,c|=16)}b>0&&g>0?h=Math.max(b,g):b<0&&g<0&&(h=Math.min(b,g)),Lf();for(let $ of this.viewports){let A=$.from==this.viewport.from?v:e.docView.measureVisibleLineHeights($);this.heightMap=(o?Fe.empty().applyChanges(this.stateDeco,K.empty,this.heightOracle,[new gt(0,0,0,e.state.doc.length)]):this.heightMap).updateHeight(r,0,o,new Ra($.from,A))}gn&&(c|=2)}let x=!this.viewportIsAppropriate(this.viewport,h)||this.scrollTarget&&(this.scrollTarget.range.headthis.viewport.to);return x&&(c&2&&(c|=this.updateScaler()),this.viewport=this.getViewport(h,this.scrollTarget),c|=this.updateForViewport()),(c&2||x)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(o?[]:this.lineGaps,e)),c|=this.computeVisibleRanges(),this.mustEnforceCursorAssoc&&(this.mustEnforceCursorAssoc=!1,e.docView.enforceCursorAssoc()),c}get visibleTop(){return this.scaler.fromDOM(this.pixelViewport.top)}get visibleBottom(){return this.scaler.fromDOM(this.pixelViewport.bottom)}getViewport(e,t){let n=.5-Math.max(-.5,Math.min(.5,e/1e3/2)),r=this.heightMap,s=this.heightOracle,{visibleTop:o,visibleBottom:a}=this,l=new hn(r.lineAt(o-n*1e3,le.ByHeight,s,0,0).from,r.lineAt(a+(1-n)*1e3,le.ByHeight,s,0,0).to);if(t){let{head:c}=t.range;if(cl.to){let h=Math.min(this.editorHeight,this.pixelViewport.bottom-this.pixelViewport.top),f=r.lineAt(c,le.ByPos,s,0,0),u;t.y=="center"?u=(f.top+f.bottom)/2-h/2:t.y=="start"||t.y=="nearest"&&c=a+Math.max(10,Math.min(n,250)))&&r>o-2*1e3&&s>1,o=r<<1;if(this.defaultTextDirection!=ue.LTR&&!n)return[];let a=[],l=(h,f,u,O)=>{if(f-hh&&gg.from>=u.from&&g.to<=u.to&&Math.abs(g.from-h)g.fromQ));if(!b){if(fS.from<=f&&S.to>=f)){let S=t.moveToLineBoundary(P.cursor(f),!1,!0).head;S>h&&(f=S)}let g=this.gapSize(u,h,f,O),Q=n||g<2e6?g:2e6;b=new er(h,f,g,Q)}a.push(b)},c=h=>{if(h.length2e6)for(let $ of e)$.from>=h.from&&$.fromh.from&&l(h.from,O,h,f),pt.draw(this,this.heightOracle.lineWrapping))))}computeVisibleRanges(e){let t=this.stateDeco;this.lineGaps.length&&(t=t.concat(this.lineGapDeco));let n=[];ae.spans(t,this.viewport.from,this.viewport.to,{span(s,o){n.push({from:s,to:o})},point(){}},20);let r=0;if(n.length!=this.visibleRanges.length)r=12;else for(let s=0;s=this.viewport.from&&e<=this.viewport.to&&this.viewportLines.find(t=>t.from<=e&&t.to>=e)||Bn(this.heightMap.lineAt(e,le.ByPos,this.heightOracle,0,0),this.scaler)}lineBlockAtHeight(e){return e>=this.viewportLines[0].top&&e<=this.viewportLines[this.viewportLines.length-1].bottom&&this.viewportLines.find(t=>t.top<=e&&t.bottom>=e)||Bn(this.heightMap.lineAt(this.scaler.fromDOM(e),le.ByHeight,this.heightOracle,0,0),this.scaler)}getScrollOffset(){return(this.scrollParent==this.view.scrollDOM?this.scrollParent.scrollTop:(this.scrollParent?this.scrollParent.getBoundingClientRect().top:0)-this.view.contentDOM.getBoundingClientRect().top)*this.scaleY}scrollAnchorAt(e){let t=this.lineBlockAtHeight(e+8);return t.from>=this.viewport.from||this.viewportLines[0].top-e>200?t:this.viewportLines[0]}elementAtHeight(e){return Bn(this.heightMap.blockAt(this.scaler.fromDOM(e),this.heightOracle,0,0),this.scaler)}get docHeight(){return this.scaler.toDOM(this.heightMap.height)}get contentHeight(){return this.docHeight+this.paddingTop+this.paddingBottom}},hn=class{constructor(e,t){this.from=e,this.to=t}};function RQ(i,e,t){let n=[],r=i,s=0;return ae.spans(t,i,e,{span(){},point(o,a){o>r&&(n.push({from:r,to:o}),s+=o-r),r=a}},20),r=1)return e[e.length-1].to;let n=Math.floor(i*t);for(let r=0;;r++){let{from:s,to:o}=e[r],a=o-s;if(n<=a)return s+n;n-=a}}function ns(i,e){let t=0;for(let{from:n,to:r}of i.ranges){if(e<=r){t+=e-n;break}t+=r-n}return t/i.total}function AQ(i,e){for(let t of i)if(e(t))return t}var Wf={toDOM(i){return i},fromDOM(i){return i},scale:1,eq(i){return i==this}};function jf(i){let e=i.facet(ys).filter(n=>typeof n!="function"),t=i.facet(Fa).filter(n=>typeof n!="function");return t.length&&e.push(ae.join(t)),e}var za=class i{constructor(e,t,n){let r=0,s=0,o=0;this.viewports=n.map(({from:a,to:l})=>{let c=t.lineAt(a,le.ByPos,e,0,0).top,h=t.lineAt(l,le.ByPos,e,0,0).bottom;return r+=h-c,{from:a,to:l,top:c,bottom:h,domTop:0,domBottom:0}}),this.scale=(7e6-r)/(t.height-r);for(let a of this.viewports)a.domTop=o+(a.top-s)*this.scale,o=a.domBottom=a.domTop+(a.bottom-a.top),s=a.bottom}toDOM(e){for(let t=0,n=0,r=0;;t++){let s=tt.from==e.viewports[n].from&&t.to==e.viewports[n].to):!1}};function Bn(i,e){if(e.scale==1)return i;let t=e.toDOM(i.top),n=e.toDOM(i.bottom);return new mt(i.from,i.length,t,n-t,Array.isArray(i._content)?i._content.map(r=>Bn(r,e)):i._content)}var rs=Y.define({combine:i=>i.join(" ")}),La=Y.define({combine:i=>i.indexOf(!0)>-1}),Ma=rt.newName(),Zu=rt.newName(),Eu=rt.newName(),qu={"&light":"."+Zu,"&dark":"."+Eu};function Wa(i,e,t){return new rt(e,{finish(n){return/&/.test(n)?n.replace(/&\w*/,r=>{if(r=="&")return i;if(!t||!t[r])throw new RangeError(`Unsupported selector: ${r}`);return t[r]}):i+" "+n}})}var ZQ=Wa("."+Ma,{"&":{position:"relative !important",boxSizing:"border-box","&.cm-focused":{outline:"1px dotted #212121"},display:"flex !important",flexDirection:"column"},".cm-scroller":{display:"flex !important",alignItems:"flex-start !important",fontFamily:"monospace",lineHeight:1.4,height:"100%",overflowX:"auto",position:"relative",zIndex:0,overflowAnchor:"none"},".cm-content":{margin:0,flexGrow:2,flexShrink:0,display:"block",whiteSpace:"pre",wordWrap:"normal",boxSizing:"border-box",minHeight:"100%",padding:"4px 0",outline:"none","&[contenteditable=true]":{WebkitUserModify:"read-write-plaintext-only"}},".cm-lineWrapping":{whiteSpace_fallback:"pre-wrap",whiteSpace:"break-spaces",wordBreak:"break-word",overflowWrap:"anywhere",flexShrink:1},"&light .cm-content":{caretColor:"black"},"&dark .cm-content":{caretColor:"white"},".cm-line":{display:"block",padding:"0 2px 0 6px"},".cm-layer":{userSelect:"none",position:"absolute",left:0,top:0,contain:"size style","& > *":{position:"absolute"}},"&light .cm-selectionBackground":{background:"#d9d9d9"},"&dark .cm-selectionBackground":{background:"#222"},"&light.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#d7d4f0"},"&dark.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#233"},".cm-cursorLayer":{pointerEvents:"none"},"&.cm-focused > .cm-scroller > .cm-cursorLayer":{animation:"steps(1) cm-blink 1.2s infinite"},"@keyframes cm-blink":{"0%":{},"50%":{opacity:0},"100%":{}},"@keyframes cm-blink2":{"0%":{},"50%":{opacity:0},"100%":{}},".cm-cursor, .cm-dropCursor":{borderLeft:"1.2px solid black",marginLeft:"-0.6px",pointerEvents:"none"},".cm-cursor":{display:"none"},"&dark .cm-cursor":{borderLeftColor:"#ddd"},".cm-selectionHandle":{backgroundColor:"currentColor",width:"1.5px"},".cm-selectionHandle-start::before, .cm-selectionHandle-end::before":{content:'""',backgroundColor:"inherit",borderRadius:"50%",width:"8px",height:"8px",position:"absolute",left:"-3.25px"},".cm-selectionHandle-start::before":{top:"-8px"},".cm-selectionHandle-end::before":{bottom:"-8px"},".cm-dropCursor":{position:"absolute"},"&.cm-focused > .cm-scroller > .cm-cursorLayer .cm-cursor":{display:"block"},".cm-iso":{unicodeBidi:"isolate"},".cm-announced":{position:"fixed",top:"-10000px"},"@media print":{".cm-announced":{display:"none"}},"&light .cm-activeLine":{backgroundColor:"#cceeff44"},"&dark .cm-activeLine":{backgroundColor:"#99eeff33"},"&light .cm-specialChar":{color:"red"},"&dark .cm-specialChar":{color:"#f78"},".cm-gutters":{flexShrink:0,display:"flex",height:"100%",boxSizing:"border-box",zIndex:200},".cm-gutters-before":{insetInlineStart:0},".cm-gutters-after":{insetInlineEnd:0},"&light .cm-gutters":{backgroundColor:"#f5f5f5",color:"#6c6c6c",border:"0px solid #ddd","&.cm-gutters-before":{borderRightWidth:"1px"},"&.cm-gutters-after":{borderLeftWidth:"1px"}},"&dark .cm-gutters":{backgroundColor:"#333338",color:"#ccc"},".cm-gutter":{display:"flex !important",flexDirection:"column",flexShrink:0,boxSizing:"border-box",minHeight:"100%",overflow:"hidden"},".cm-gutterElement":{boxSizing:"border-box"},".cm-lineNumbers .cm-gutterElement":{padding:"0 3px 0 5px",minWidth:"20px",textAlign:"right",whiteSpace:"nowrap"},"&light .cm-activeLineGutter":{backgroundColor:"#e2f2ff"},"&dark .cm-activeLineGutter":{backgroundColor:"#222227"},".cm-panels":{boxSizing:"border-box",position:"sticky",left:0,right:0,zIndex:300},"&light .cm-panels":{backgroundColor:"#f5f5f5",color:"black"},"&light .cm-panels-top":{borderBottom:"1px solid #ddd"},"&light .cm-panels-bottom":{borderTop:"1px solid #ddd"},"&dark .cm-panels":{backgroundColor:"#333338",color:"white"},".cm-dialog":{padding:"2px 19px 4px 6px",position:"relative","& label":{fontSize:"80%"}},".cm-dialog-close":{position:"absolute",top:"3px",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",fontSize:"14px",padding:"0"},".cm-tab":{display:"inline-block",overflow:"hidden",verticalAlign:"bottom"},".cm-widgetBuffer":{verticalAlign:"text-top",height:"1em",width:0,display:"inline"},".cm-placeholder":{color:"#888",display:"inline-block",verticalAlign:"top",userSelect:"none"},".cm-highlightSpace":{backgroundImage:"radial-gradient(circle at 50% 55%, #aaa 20%, transparent 5%)",backgroundPosition:"center"},".cm-highlightTab":{backgroundImage:`url('data:image/svg+xml,')`,backgroundSize:"auto 100%",backgroundPosition:"right 90%",backgroundRepeat:"no-repeat"},".cm-trailingSpace":{backgroundColor:"#ff332255"},".cm-button":{verticalAlign:"middle",color:"inherit",fontSize:"70%",padding:".2em 1em",borderRadius:"1px"},"&light .cm-button":{backgroundImage:"linear-gradient(#eff1f5, #d9d9df)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#b4b4b4, #d0d3d6)"}},"&dark .cm-button":{backgroundImage:"linear-gradient(#393939, #111)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#111, #333)"}},".cm-textfield":{verticalAlign:"middle",color:"inherit",fontSize:"70%",border:"1px solid silver",padding:".2em .5em"},"&light .cm-textfield":{backgroundColor:"white"},"&dark .cm-textfield":{border:"1px solid #555",backgroundColor:"inherit"}},qu),EQ={childList:!0,characterData:!0,subtree:!0,attributes:!0,characterDataOldValue:!0},sa=L.ie&&L.ie_version<=11,ja=class{constructor(e){this.view=e,this.active=!1,this.editContext=null,this.selectionRange=new fa,this.selectionChanged=!1,this.delayedFlush=-1,this.resizeTimeout=-1,this.queue=[],this.delayedAndroidKey=null,this.flushingAndroidKey=-1,this.lastChange=0,this.scrollTargets=[],this.intersection=null,this.resizeScroll=null,this.intersecting=!1,this.gapIntersection=null,this.gaps=[],this.printQuery=null,this.parentCheck=-1,this.dom=e.contentDOM,this.observer=new MutationObserver(t=>{for(let n of t)this.queue.push(n);(L.ie&&L.ie_version<=11||L.ios&&e.composing)&&t.some(n=>n.type=="childList"&&n.removedNodes.length||n.type=="characterData"&&n.oldValue.length>n.target.nodeValue.length)?this.flushSoon():this.flush()}),window.EditContext&&L.android&&e.constructor.EDIT_CONTEXT!==!1&&!(L.chrome&&L.chrome_version<126)&&(this.editContext=new Va(e),e.state.facet(Mt)&&(e.contentDOM.editContext=this.editContext.editContext)),sa&&(this.onCharData=t=>{this.queue.push({target:t.target,type:"characterData",oldValue:t.prevValue}),this.flushSoon()}),this.onSelectionChange=this.onSelectionChange.bind(this),this.onResize=this.onResize.bind(this),this.onPrint=this.onPrint.bind(this),this.onScroll=this.onScroll.bind(this),window.matchMedia&&(this.printQuery=window.matchMedia("print")),typeof ResizeObserver=="function"&&(this.resizeScroll=new ResizeObserver(()=>{var t;((t=this.view.docView)===null||t===void 0?void 0:t.lastUpdate){this.parentCheck<0&&(this.parentCheck=setTimeout(this.listenForScroll.bind(this),1e3)),t.length>0&&t[t.length-1].intersectionRatio>0!=this.intersecting&&(this.intersecting=!this.intersecting,this.intersecting!=this.view.inView&&this.onScrollChanged(document.createEvent("Event")))},{threshold:[0,.001]}),this.intersection.observe(this.dom),this.gapIntersection=new IntersectionObserver(t=>{t.length>0&&t[t.length-1].intersectionRatio>0&&this.onScrollChanged(document.createEvent("Event"))},{})),this.listenForScroll(),this.readSelectionRange()}onScrollChanged(e){this.view.inputState.runHandlers("scroll",e),this.intersecting&&this.view.measure()}onScroll(e){this.intersecting&&this.flush(!1),this.editContext&&this.view.requestMeasure(this.editContext.measureReq),this.onScrollChanged(e)}onResize(){this.resizeTimeout<0&&(this.resizeTimeout=setTimeout(()=>{this.resizeTimeout=-1,this.view.requestMeasure()},50))}onPrint(e){(e.type=="change"||!e.type)&&!e.matches||(this.view.viewState.printing=!0,this.view.measure(),setTimeout(()=>{this.view.viewState.printing=!1,this.view.requestMeasure()},500))}updateGaps(e){if(this.gapIntersection&&(e.length!=this.gaps.length||this.gaps.some((t,n)=>t!=e[n]))){this.gapIntersection.disconnect();for(let t of e)this.gapIntersection.observe(t);this.gaps=e}}onSelectionChange(e){let t=this.selectionChanged;if(!this.readSelectionRange()||this.delayedAndroidKey)return;let{view:n}=this,r=this.selectionRange;if(n.state.facet(Mt)?n.root.activeElement!=this.dom:!Gn(this.dom,r))return;let s=r.anchorNode&&n.docView.tile.nearest(r.anchorNode);if(s&&s.isWidget()&&s.widget.ignoreEvent(e)){t||(this.selectionChanged=!1);return}(L.ie&&L.ie_version<=11||L.android&&L.chrome)&&!n.state.selection.main.empty&&r.focusNode&&Nn(r.focusNode,r.focusOffset,r.anchorNode,r.anchorOffset)?this.flushSoon():this.flush(!1)}readSelectionRange(){let{view:e}=this,t=nr(e.root);if(!t)return!1;let n=L.safari&&e.root.nodeType==11&&e.root.activeElement==this.dom&&qQ(this.view,t)||t;if(!n||this.selectionRange.eq(n))return!1;let r=Gn(this.dom,n);return r&&!this.selectionChanged&&e.inputState.lastFocusTime>Date.now()-200&&e.inputState.lastTouchTime{let s=this.delayedAndroidKey;s&&(this.clearDelayedAndroidKey(),this.view.inputState.lastKeyCode=s.keyCode,this.view.inputState.lastKeyTime=Date.now(),!this.flush()&&s.force&&un(this.dom,s.key,s.keyCode))};this.flushingAndroidKey=this.view.win.requestAnimationFrame(r)}(!this.delayedAndroidKey||e=="Enter")&&(this.delayedAndroidKey={key:e,keyCode:t,force:this.lastChange{this.delayedFlush=-1,this.flush()}))}forceFlush(){this.delayedFlush>=0&&(this.view.win.cancelAnimationFrame(this.delayedFlush),this.delayedFlush=-1),this.flush()}pendingRecords(){for(let e of this.observer.takeRecords())this.queue.push(e);return this.queue}processRecords(){let e=this.pendingRecords();e.length&&(this.queue=[]);let t=-1,n=-1,r=!1;for(let s of e){let o=this.readMutation(s);o&&(o.typeOver&&(r=!0),t==-1?{from:t,to:n}=o:(t=Math.min(o.from,t),n=Math.max(o.to,n)))}return{from:t,to:n,typeOver:r}}readChange(){let{from:e,to:t,typeOver:n}=this.processRecords(),r=this.selectionChanged&&Gn(this.dom,this.selectionRange);if(e<0&&!r)return null;e>-1&&(this.lastChange=Date.now()),this.view.inputState.lastFocusTime=0,this.selectionChanged=!1;let s=new $a(this.view,e,t,n);return this.view.docView.domChanged={newSel:s.newSel?s.newSel.main:null},s}flush(e=!0){if(this.delayedFlush>=0||this.delayedAndroidKey)return!1;e&&this.readSelectionRange();let t=this.readChange();if(!t)return this.view.requestMeasure(),!1;let n=this.view.state,r=wu(this.view,t);return this.view.state==n&&(t.domChanged||t.newSel&&!ps(this.view.state.selection,t.newSel.main))&&this.view.update([]),r}readMutation(e){let t=this.view.docView.tile.nearest(e.target);if(!t||t.isWidget())return null;if(t.markDirty(e.type=="attributes"),e.type=="childList"){let n=Vf(t,e.previousSibling||e.target.previousSibling,-1),r=Vf(t,e.nextSibling||e.target.nextSibling,1);return{from:n?t.posAfter(n):t.posAtStart,to:r?t.posBefore(r):t.posAtEnd,typeOver:!1}}else return e.type=="characterData"?{from:t.posAtStart,to:t.posAtEnd,typeOver:e.target.nodeValue==e.oldValue}:null}setWindow(e){e!=this.win&&(this.removeWindowListeners(this.win),this.win=e,this.addWindowListeners(this.win))}addWindowListeners(e){e.addEventListener("resize",this.onResize),this.printQuery?this.printQuery.addEventListener?this.printQuery.addEventListener("change",this.onPrint):this.printQuery.addListener(this.onPrint):e.addEventListener("beforeprint",this.onPrint),e.addEventListener("scroll",this.onScroll),e.document.addEventListener("selectionchange",this.onSelectionChange)}removeWindowListeners(e){e.removeEventListener("scroll",this.onScroll),e.removeEventListener("resize",this.onResize),this.printQuery?this.printQuery.removeEventListener?this.printQuery.removeEventListener("change",this.onPrint):this.printQuery.removeListener(this.onPrint):e.removeEventListener("beforeprint",this.onPrint),e.document.removeEventListener("selectionchange",this.onSelectionChange)}update(e){this.editContext&&(this.editContext.update(e),e.startState.facet(Mt)!=e.state.facet(Mt)&&(e.view.contentDOM.editContext=e.state.facet(Mt)?this.editContext.editContext:null))}destroy(){var e,t,n;this.stop(),(e=this.intersection)===null||e===void 0||e.disconnect(),(t=this.gapIntersection)===null||t===void 0||t.disconnect(),(n=this.resizeScroll)===null||n===void 0||n.disconnect();for(let r of this.scrollTargets)r.removeEventListener("scroll",this.onScroll);this.removeWindowListeners(this.win),clearTimeout(this.parentCheck),clearTimeout(this.resizeTimeout),this.win.cancelAnimationFrame(this.delayedFlush),this.win.cancelAnimationFrame(this.flushingAndroidKey),this.editContext&&(this.view.contentDOM.editContext=null,this.editContext.destroy())}};function Vf(i,e,t){for(;e;){let n=fe.get(e);if(n&&n.parent==i)return n;let r=e.parentNode;e=r!=i.dom?r:t>0?e.nextSibling:e.previousSibling}return null}function Df(i,e){let t=e.startContainer,n=e.startOffset,r=e.endContainer,s=e.endOffset,o=i.docView.domAtPos(i.state.selection.main.anchor,1);return Nn(o.node,o.offset,r,s)&&([t,n,r,s]=[r,s,t,n]),{anchorNode:t,anchorOffset:n,focusNode:r,focusOffset:s}}function qQ(i,e){if(e.getComposedRanges){let r=e.getComposedRanges(i.root)[0];if(r)return Df(i,r)}let t=null;function n(r){r.preventDefault(),r.stopImmediatePropagation(),t=r.getTargetRanges()[0]}return i.contentDOM.addEventListener("beforeinput",n,!0),i.dom.ownerDocument.execCommand("indent"),i.contentDOM.removeEventListener("beforeinput",n,!0),t?Df(i,t):null}var Va=class{constructor(e){this.from=0,this.to=0,this.pendingContextChange=null,this.handlers=Object.create(null),this.composing=null,this.resetRange(e.state);let t=this.editContext=new window.EditContext({text:e.state.doc.sliceString(this.from,this.to),selectionStart:this.toContextPos(Math.max(this.from,Math.min(this.to,e.state.selection.main.anchor))),selectionEnd:this.toContextPos(e.state.selection.main.head)});this.handlers.textupdate=n=>{let r=e.state.selection.main,{anchor:s,head:o}=r,a=this.toEditorPos(n.updateRangeStart),l=this.toEditorPos(n.updateRangeEnd);e.inputState.composing>=0&&!this.composing&&(this.composing={contextBase:n.updateRangeStart,editorBase:a,drifted:!1});let c=l-a>n.text.length;a==this.from&&sthis.to&&(l=s);let h=Pu(e.state.sliceDoc(a,l),n.text,(c?r.from:r.to)-a,c?"end":null);if(!h){let u=P.single(this.toEditorPos(n.selectionStart),this.toEditorPos(n.selectionEnd));ps(u,r)||e.dispatch({selection:u,userEvent:"select"});return}let f={from:h.from+a,to:h.toA+a,insert:K.of(n.text.slice(h.from,h.toB).split(` +`))};if((L.mac||L.android)&&f.from==o-1&&/^\. ?$/.test(n.text)&&e.contentDOM.getAttribute("autocorrect")=="off"&&(f={from:a,to:l,insert:K.of([n.text.replace("."," ")])}),this.pendingContextChange=f,!e.state.readOnly){let u=this.to-this.from+(f.to-f.from+f.insert.length);Ha(e,f,P.single(this.toEditorPos(n.selectionStart,u),this.toEditorPos(n.selectionEnd,u)))}this.pendingContextChange&&(this.revertPending(e.state),this.setSelection(e.state)),f.from=0&&!/[\\p{Alphabetic}\\p{Number}_]/.test(t.text.slice(Math.max(0,n.updateRangeStart-1),Math.min(t.text.length,n.updateRangeStart+1)))&&this.handlers.compositionend(n)},this.handlers.characterboundsupdate=n=>{let r=[],s=null;for(let o=this.toEditorPos(n.rangeStart),a=this.toEditorPos(n.rangeEnd);o{let r=[];for(let s of n.getTextFormats()){let o=s.underlineStyle,a=s.underlineThickness;if(!/none/i.test(o)&&!/none/i.test(a)){let l=this.toEditorPos(s.rangeStart),c=this.toEditorPos(s.rangeEnd);if(l{e.inputState.composing<0&&(e.inputState.composing=0,e.inputState.compositionFirstChange=!0)},this.handlers.compositionend=()=>{if(e.inputState.composing=-1,e.inputState.compositionFirstChange=null,this.composing){let{drifted:n}=this.composing;this.composing=null,n&&this.reset(e.state)}};for(let n in this.handlers)t.addEventListener(n,this.handlers[n]);this.measureReq={read:n=>{let r=nr(n.root);r&&r.rangeCount&&this.editContext.updateSelectionBounds(r.getRangeAt(0).getBoundingClientRect())}}}applyEdits(e){let t=0,n=!1,r=this.pendingContextChange;return e.changes.iterChanges((s,o,a,l,c)=>{if(n)return;let h=c.length-(o-s);if(r&&o>=r.to)if(r.from==s&&r.to==o&&r.insert.eq(c)){r=this.pendingContextChange=null,t+=h,this.to+=h;return}else r=null,this.revertPending(e.state);if(s+=t,o+=t,o<=this.from)this.from+=h,this.to+=h;else if(sthis.to||this.to-this.from+c.length>3e4){n=!0;return}this.editContext.updateText(this.toContextPos(s),this.toContextPos(o),c.toString()),this.to+=h}t+=h}),r&&!n&&this.revertPending(e.state),!n}update(e){let t=this.pendingContextChange,n=e.startState.selection.main;this.composing&&(this.composing.drifted||!e.changes.touchesRange(n.from,n.to)&&e.transactions.some(r=>!r.isUserEvent("input.type")&&r.changes.touchesRange(this.from,this.to)))?(this.composing.drifted=!0,this.composing.editorBase=e.changes.mapPos(this.composing.editorBase)):!this.applyEdits(e)||!this.rangeIsValid(e.state)?(this.pendingContextChange=null,this.reset(e.state)):(e.docChanged||e.selectionSet||t)&&this.setSelection(e.state),(e.geometryChanged||e.docChanged||e.selectionSet)&&e.view.requestMeasure(this.measureReq)}resetRange(e){let{head:t}=e.selection.main;this.from=Math.max(0,t-1e4),this.to=Math.min(e.doc.length,t+1e4)}reset(e){this.resetRange(e),this.editContext.updateText(0,this.editContext.text.length,e.doc.sliceString(this.from,this.to)),this.setSelection(e)}revertPending(e){let t=this.pendingContextChange;this.pendingContextChange=null,this.editContext.updateText(this.toContextPos(t.from),this.toContextPos(t.from+t.insert.length),e.doc.sliceString(t.from,t.to))}setSelection(e){let{main:t}=e.selection,n=this.toContextPos(Math.max(this.from,Math.min(this.to,t.anchor))),r=this.toContextPos(t.head);(this.editContext.selectionStart!=n||this.editContext.selectionEnd!=r)&&this.editContext.updateSelection(n,r)}rangeIsValid(e){let{head:t}=e.selection.main;return!(this.from>0&&t-this.from<500||this.to1e4*3)}toEditorPos(e,t=this.to-this.from){e=Math.min(e,t);let n=this.composing;return n&&n.drifted?n.editorBase+(e-n.contextBase):e+this.from}toContextPos(e){let t=this.composing;return t&&t.drifted?t.contextBase+(e-t.editorBase):e-this.from}destroy(){for(let e in this.handlers)this.editContext.removeEventListener(e,this.handlers[e])}},z=class i{get state(){return this.viewState.state}get viewport(){return this.viewState.viewport}get visibleRanges(){return this.viewState.visibleRanges}get inView(){return this.viewState.inView}get composing(){return!!this.inputState&&this.inputState.composing>0}get compositionStarted(){return!!this.inputState&&this.inputState.composing>=0}get root(){return this._root}get win(){return this.dom.ownerDocument.defaultView||window}constructor(e={}){var t;this.plugins=[],this.pluginMap=new Map,this.editorAttrs={},this.contentAttrs={},this.bidiCache=[],this.destroyed=!1,this.updateState=2,this.measureScheduled=-1,this.measureRequests=[],this.contentDOM=document.createElement("div"),this.scrollDOM=document.createElement("div"),this.scrollDOM.tabIndex=-1,this.scrollDOM.className="cm-scroller",this.scrollDOM.appendChild(this.contentDOM),this.announceDOM=document.createElement("div"),this.announceDOM.className="cm-announced",this.announceDOM.setAttribute("aria-live","polite"),this.dom=document.createElement("div"),this.dom.appendChild(this.announceDOM),this.dom.appendChild(this.scrollDOM),e.parent&&e.parent.appendChild(this.dom);let{dispatch:n}=e;this.dispatchTransactions=e.dispatchTransactions||n&&(r=>r.forEach(s=>n(s,this)))||(r=>this.update(r)),this.dispatch=this.dispatch.bind(this),this._root=e.root||$0(e.parent)||document,this.viewState=new Qs(this,e.state||se.create(e)),e.scrollTo&&e.scrollTo.is(Jr)&&(this.viewState.scrollTarget=e.scrollTo.value.clip(this.viewState.state)),this.plugins=this.state.facet(cn).map(r=>new Hn(r));for(let r of this.plugins)r.update(this);this.observer=new ja(this),this.inputState=new Ta(this),this.inputState.ensureHandlers(this.plugins),this.docView=new Os(this),this.mountStyles(),this.updateAttrs(),this.updateState=0,this.requestMeasure(),!((t=document.fonts)===null||t===void 0)&&t.ready&&document.fonts.ready.then(()=>{this.viewState.mustMeasureContent="refresh",this.requestMeasure()})}dispatch(...e){let t=e.length==1&&e[0]instanceof pe?e:e.length==1&&Array.isArray(e[0])?e[0]:[this.state.update(...e)];this.dispatchTransactions(t,this)}update(e){if(this.updateState!=0)throw new Error("Calls to EditorView.update are not allowed while an update is in progress");let t=!1,n=!1,r,s=this.state;for(let u of e){if(u.startState!=s)throw new RangeError("Trying to update state with a transaction that doesn't start from the previous state.");s=u.state}if(this.destroyed){this.viewState.state=s;return}let o=this.hasFocus,a=0,l=null;e.some(u=>u.annotation(_u))?(this.inputState.notifiedFocused=o,a=1):o!=this.inputState.notifiedFocused&&(this.inputState.notifiedFocused=o,l=Ru(s,o),l||(a=1));let c=this.observer.delayedAndroidKey,h=null;if(c?(this.observer.clearDelayedAndroidKey(),h=this.observer.readChange(),(h&&!this.state.doc.eq(s.doc)||!this.state.selection.eq(s.selection))&&(h=null)):this.observer.clear(),s.facet(se.phrases)!=this.state.facet(se.phrases))return this.setState(s);r=fs.create(this,s,e),r.flags|=a;let f=this.viewState.scrollTarget;try{this.updateState=2;for(let u of e){if(f&&(f=f.map(u.changes)),u.scrollIntoView){let{main:O}=u.state.selection,{x:p,y:m}=this.state.facet(i.cursorScrollMargin);f=new Fn(O.empty?O:P.cursor(O.head,O.head>O.anchor?-1:1),"nearest","nearest",m,p)}for(let O of u.effects)O.is(Jr)&&(f=O.value.clip(this.state))}this.viewState.update(r,f),this.bidiCache=bs.update(this.bidiCache,r.changes),r.empty||(this.updatePlugins(r),this.inputState.update(r)),t=this.docView.update(r),this.state.facet(In)!=this.styleModules&&this.mountStyles(),n=this.updateAttrs(),this.showAnnouncements(e),this.docView.updateSelection(t,e.some(u=>u.isUserEvent("select.pointer")))}finally{this.updateState=0}if(r.startState.facet(rs)!=r.state.facet(rs)&&(this.viewState.mustMeasureContent=!0),(t||n||f||this.viewState.mustEnforceCursorAssoc||this.viewState.mustMeasureContent)&&this.requestMeasure(),t&&this.docViewUpdate(),!r.empty)for(let u of this.state.facet(pa))try{u(r)}catch(O){lt(this.state,O,"update listener")}(l||h)&&Promise.resolve().then(()=>{l&&this.state==l.startState&&this.dispatch(l),h&&!wu(this,h)&&c.force&&un(this.contentDOM,c.key,c.keyCode)})}setState(e){if(this.updateState!=0)throw new Error("Calls to EditorView.setState are not allowed while an update is in progress");if(this.destroyed){this.viewState.state=e;return}this.updateState=2;let t=this.hasFocus;try{for(let n of this.plugins)n.destroy(this);this.viewState=new Qs(this,e),this.plugins=e.facet(cn).map(n=>new Hn(n)),this.pluginMap.clear();for(let n of this.plugins)n.update(this);this.docView.destroy(),this.docView=new Os(this),this.inputState.ensureHandlers(this.plugins),this.mountStyles(),this.updateAttrs(),this.bidiCache=[]}finally{this.updateState=0}t&&this.focus(),this.requestMeasure()}updatePlugins(e){let t=e.startState.facet(cn),n=e.state.facet(cn);if(t!=n){let r=[];for(let s of n){let o=t.indexOf(s);if(o<0)r.push(new Hn(s));else{let a=this.plugins[o];a.mustUpdate=e,r.push(a)}}for(let s of this.plugins)s.mustUpdate!=e&&s.destroy(this);this.plugins=r,this.pluginMap.clear()}else for(let r of this.plugins)r.mustUpdate=e;for(let r=0;r-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.observer.delayedAndroidKey){this.measureScheduled=-1,this.requestMeasure();return}this.measureScheduled=0,e&&this.observer.forceFlush();let t=null,n=this.viewState.scrollParent,r=this.viewState.getScrollOffset(),{scrollAnchorPos:s,scrollAnchorHeight:o}=this.viewState;Math.abs(r-this.viewState.scrollOffset)>1&&(o=-1),this.viewState.scrollAnchorHeight=-1;try{for(let a=0;;a++){if(o<0)if(Kf(n||this.win))s=-1,o=this.viewState.heightMap.height;else{let O=this.viewState.scrollAnchorAt(r);s=O.from,o=O.top}this.updateState=1;let l=this.viewState.measure();if(!l&&!this.measureRequests.length&&this.viewState.scrollTarget==null)break;if(a>5){console.warn(this.measureRequests.length?"Measure loop restarted more than 5 times":"Viewport failed to stabilize");break}let c=[];l&4||([this.measureRequests,c]=[c,this.measureRequests]);let h=c.map(O=>{try{return O.read(this)}catch(p){return lt(this.state,p),Yf}}),f=fs.create(this,this.state,[]),u=!1;f.flags|=l,t?t.flags|=l:t=f,this.updateState=2,f.empty||(this.updatePlugins(f),this.inputState.update(f),this.updateAttrs(),u=this.docView.update(f),u&&this.docViewUpdate());for(let O=0;O1||p<-1)&&!(L.ios&&this.inputState.lastIOSMomentumScroll>Date.now()-100)&&(n==this.scrollDOM||this.hasFocus||Math.max(this.inputState.lastWheelEvent,this.inputState.lastTouchTime)>Date.now()-100)){r=r+p,n?n.scrollTop+=p:this.win.scrollBy(0,p),o=-1;continue}}break}}}finally{this.updateState=0,this.measureScheduled=-1}if(t&&!t.empty)for(let a of this.state.facet(pa))a(t)}get themeClasses(){return Ma+" "+(this.state.facet(La)?Eu:Zu)+" "+this.state.facet(rs)}updateAttrs(){let e=If(this,pu,{class:"cm-editor"+(this.hasFocus?" cm-focused ":" ")+this.themeClasses}),t={spellcheck:"false",autocorrect:"off",autocapitalize:"off",writingsuggestions:"false",translate:"no",contenteditable:this.state.facet(Mt)?"true":"false",class:"cm-content",style:`${L.tabSize}: ${this.state.tabSize}`,role:"textbox","aria-multiline":"true"};this.state.readOnly&&(t["aria-readonly"]="true"),If(this,Na,t);let n=this.observer.ignore(()=>{let r=xf(this.contentDOM,this.contentAttrs,t),s=xf(this.dom,this.editorAttrs,e);return r||s});return this.editorAttrs=e,this.contentAttrs=t,n}showAnnouncements(e){let t=!0;for(let n of e)for(let r of n.effects)if(r.is(i.announce)){t&&(this.announceDOM.textContent=""),t=!1;let s=this.announceDOM.appendChild(document.createElement("div"));s.textContent=r.value}}mountStyles(){this.styleModules=this.state.facet(In);let e=this.state.facet(i.cspNonce);rt.mount(this.root,this.styleModules.concat(ZQ).reverse(),e?{nonce:e}:void 0)}readMeasured(){if(this.updateState==2)throw new Error("Reading the editor layout isn't allowed during an update");this.updateState==0&&this.measureScheduled>-1&&this.measure(!1)}requestMeasure(e){if(this.measureScheduled<0&&(this.measureScheduled=this.win.requestAnimationFrame(()=>this.measure())),e){if(this.measureRequests.indexOf(e)>-1)return;if(e.key!=null){for(let t=0;tn.plugin==e)||null),t&&t.update(this).value}get documentTop(){return this.contentDOM.getBoundingClientRect().top+this.viewState.paddingTop}get documentPadding(){return{top:this.viewState.paddingTop,bottom:this.viewState.paddingBottom}}get scaleX(){return this.viewState.scaleX}get scaleY(){return this.viewState.scaleY}elementAtHeight(e){return this.readMeasured(),this.viewState.elementAtHeight(e)}lineBlockAtHeight(e){return this.readMeasured(),this.viewState.lineBlockAtHeight(e)}get viewportLineBlocks(){return this.viewState.viewportLines}lineBlockAt(e){return this.viewState.lineBlockAt(e)}get contentHeight(){return this.viewState.contentHeight}moveByChar(e,t,n){return ra(this,e,Cf(this,e,t,n))}moveByGroup(e,t){return ra(this,e,Cf(this,e,t,n=>rQ(this,e.head,n)))}visualLineSide(e,t){let n=this.bidiSpans(e),r=this.textDirectionAt(e.from),s=n[t?n.length-1:0];return P.cursor(s.side(t,r)+e.from,s.forward(!t,r)?1:-1)}moveToLineBoundary(e,t,n=!0){return nQ(this,e,t,n)}moveVertically(e,t,n){return ra(this,e,sQ(this,e,t,n))}domAtPos(e,t=1){return this.docView.domAtPos(e,t)}posAtDOM(e,t=0){return this.docView.posFromDOM(e,t)}posAtCoords(e,t=!0){this.readMeasured();let n=wa(this,e,t);return n&&n.pos}posAndSideAtCoords(e,t=!0){return this.readMeasured(),wa(this,e,t)}coordsAtPos(e,t=1){this.readMeasured();let n=this.state.doc.lineAt(e),r=this.bidiSpans(n),s=r[at.find(r,e-n.from,-1,t)];return this.docView.coordsAt(e,t,s.dir==ue.RTL)}coordsForChar(e){return this.readMeasured(),this.docView.coordsForChar(e)}get defaultCharacterWidth(){return this.viewState.heightOracle.charWidth}get defaultLineHeight(){return this.viewState.heightOracle.lineHeight}get textDirection(){return this.viewState.defaultTextDirection}textDirectionAt(e){return!this.state.facet(uu)||ethis.viewport.to?this.textDirection:(this.readMeasured(),this.docView.textDirectionAt(e))}get lineWrapping(){return this.viewState.heightOracle.lineWrapping}bidiSpans(e){if(e.length>zQ)return ru(e.length);let t=this.textDirectionAt(e.from),n;for(let s of this.bidiCache)if(s.from==e.from&&s.dir==t&&(s.fresh||nu(s.isolates,n=vf(this,e))))return s.order;n||(n=vf(this,e));let r=E0(e.text,t,n);return this.bidiCache.push(new bs(e.from,e.to,t,n,!0,r)),r}get hasFocus(){var e;return(this.dom.ownerDocument.hasFocus()||L.safari&&((e=this.inputState)===null||e===void 0?void 0:e.lastContextMenu)>Date.now()-3e4)&&this.root.activeElement==this.contentDOM}focus(){this.observer.ignore(()=>{Hf(this.contentDOM),this.docView.updateSelection()})}setRoot(e){this._root!=e&&(this._root=e,this.observer.setWindow((e.nodeType==9?e:e.ownerDocument).defaultView||window),this.mountStyles())}destroy(){this.root.activeElement==this.contentDOM&&this.contentDOM.blur();for(let e of this.plugins)e.destroy(this);this.plugins=[],this.inputState.destroy(),this.docView.destroy(),this.dom.remove(),this.observer.destroy(),this.measureScheduled>-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.destroyed=!0}static scrollIntoView(e,t={}){var n,r,s,o;return Jr.of(new Fn(typeof e=="number"?P.cursor(e):e,(n=t.y)!==null&&n!==void 0?n:"nearest",(r=t.x)!==null&&r!==void 0?r:"nearest",(s=t.yMargin)!==null&&s!==void 0?s:5,(o=t.xMargin)!==null&&o!==void 0?o:5))}scrollSnapshot(){let{scrollTop:e,scrollLeft:t}=this.scrollDOM,n=this.viewState.scrollAnchorAt(e);return Jr.of(new Fn(P.cursor(n.from),"start","start",n.top-e,t,!0))}setTabFocusMode(e){e==null?this.inputState.tabFocusMode=this.inputState.tabFocusMode<0?0:-1:typeof e=="boolean"?this.inputState.tabFocusMode=e?0:-1:this.inputState.tabFocusMode!=0&&(this.inputState.tabFocusMode=Date.now()+e)}static domEventHandlers(e){return Ve.define(()=>({}),{eventHandlers:e})}static domEventObservers(e){return Ve.define(()=>({}),{eventObservers:e})}static theme(e,t){let n=rt.newName(),r=[rs.of(n),In.of(Wa(`.${n}`,e))];return t&&t.dark&&r.push(La.of(!0)),r}static baseTheme(e){return nt.lowest(In.of(Wa("."+Ma,e,qu)))}static findFromDOM(e){var t;let n=e.querySelector(".cm-content"),r=n&&fe.get(n)||fe.get(e);return((t=r?.root)===null||t===void 0?void 0:t.view)||null}};z.styleModule=In;z.inputHandler=hu;z.clipboardInputFilter=Ua;z.clipboardOutputFilter=Ga;z.scrollHandler=Ou;z.focusChangeEffect=fu;z.perLineTextDirection=uu;z.exceptionSink=cu;z.updateListener=pa;z.editable=Mt;z.mouseSelectionStyle=lu;z.dragMovesSelection=au;z.clickAddsSelectionRange=ou;z.decorations=ys;z.blockWrappers=mu;z.outerDecorations=Fa;z.atomicRanges=sr;z.bidiIsolatedRanges=gu;z.cursorScrollMargin=Y.define({combine:i=>{let e=5,t=5;for(let n of i)typeof n=="number"?e=t=n:{x:e,y:t}=n;return{x:e,y:t}}});z.scrollMargins=Qu;z.darkTheme=La;z.cspNonce=Y.define({combine:i=>i.length?i[0]:""});z.contentAttributes=Na;z.editorAttributes=pu;z.lineWrapping=z.contentAttributes.of({class:"cm-lineWrapping"});z.announce=te.define();var zQ=4096,Yf={},bs=class i{constructor(e,t,n,r,s,o){this.from=e,this.to=t,this.dir=n,this.isolates=r,this.fresh=s,this.order=o}static update(e,t){if(t.empty&&!e.some(s=>s.fresh))return e;let n=[],r=e.length?e[e.length-1].dir:ue.LTR;for(let s=Math.max(0,e.length-10);s=0;r--){let s=n[r],o=typeof s=="function"?s(i):s;o&&Ya(o,t)}return t}var LQ=L.mac?"mac":L.windows?"win":L.linux?"linux":"key";function MQ(i,e){let t=i.split(/-(?!$)/),n=t[t.length-1];n=="Space"&&(n=" ");let r,s,o,a;for(let l=0;ln.concat(r),[]))),t}var oi=null,VQ=4e3;function DQ(i,e=LQ){let t=Object.create(null),n=Object.create(null),r=(o,a)=>{let l=n[o];if(l==null)n[o]=a;else if(l!=a)throw new Error("Key binding "+o+" is used both as a regular binding and as a multi-stroke prefix")},s=(o,a,l,c,h)=>{var f,u;let O=t[o]||(t[o]=Object.create(null)),p=a.split(/ (?!$)/).map(g=>MQ(g,e));for(let g=1;g{let x=oi={view:S,prefix:Q,scope:o};return setTimeout(()=>{oi==x&&(oi=null)},VQ),!0}]})}let m=p.join(" ");r(m,!1);let b=O[m]||(O[m]={preventDefault:!1,stopPropagation:!1,run:((u=(f=O._any)===null||f===void 0?void 0:f.run)===null||u===void 0?void 0:u.slice())||[]});l&&b.run.push(l),c&&(b.preventDefault=!0),h&&(b.stopPropagation=!0)};for(let o of i){let a=o.scope?o.scope.split(" "):["editor"];if(o.any)for(let c of a){let h=t[c]||(t[c]=Object.create(null));h._any||(h._any={preventDefault:!1,stopPropagation:!1,run:[]});let{any:f}=o;for(let u in h)h[u].run.push(O=>f(O,Da))}let l=o[e]||o.key;if(l)for(let c of a)s(c,l,o.run,o.preventDefault,o.stopPropagation),o.shift&&s(c,"Shift-"+l,o.shift,o.preventDefault,o.stopPropagation)}return t}var Da=null;function YQ(i,e,t,n){Da=e;let r=bf(e),s=si(r,0),o=on(s)==r.length&&r!=" ",a="",l=!1,c=!1,h=!1;oi&&oi.view==t&&oi.scope==n&&(a=oi.prefix+" ",$u.indexOf(e.keyCode)<0&&(c=!0,oi=null));let f=new Set,u=b=>{if(b){for(let g of b.run)if(!f.has(g)&&(f.add(g),g(t)))return b.stopPropagation&&(h=!0),!0;b.preventDefault&&(b.stopPropagation&&(h=!0),c=!0)}return!1},O=i[n],p,m;return O&&(u(O[a+ss(r,e,!o)])?l=!0:o&&(e.altKey||e.metaKey||e.ctrlKey)&&!(L.windows&&e.ctrlKey&&e.altKey)&&!(L.mac&&e.altKey&&!(e.ctrlKey||e.metaKey))&&(p=Lt[e.keyCode])&&p!=r?(u(O[a+ss(p,e,!0)])||e.shiftKey&&(m=an[e.keyCode])!=r&&m!=p&&u(O[a+ss(m,e,!1)]))&&(l=!0):o&&e.shiftKey&&u(O[a+ss(r,e,!0)])&&(l=!0),!l&&u(O._any)&&(l=!0)),c&&(l=!0),l&&h&&e.stopPropagation(),Da=null,l}var zu=te.define({map(i,e){return i==null?null:e.mapPos(i)}}),Un=he.define({create(){return null},update(i,e){return i!=null&&(i=e.changes.mapPos(i)),e.effects.reduce((t,n)=>n.is(zu)?n.value:t,i)}}),IQ=Ve.fromClass(class{constructor(i){this.view=i,this.cursor=null,this.measureReq={read:this.readPos.bind(this),write:this.drawCursor.bind(this)}}update(i){var e;let t=i.state.field(Un);t==null?this.cursor!=null&&((e=this.cursor)===null||e===void 0||e.remove(),this.cursor=null):(this.cursor||(this.cursor=this.view.scrollDOM.appendChild(document.createElement("div")),this.cursor.className="cm-dropCursor"),(i.startState.field(Un)!=t||i.docChanged||i.geometryChanged)&&this.view.requestMeasure(this.measureReq))}readPos(){let{view:i}=this,e=i.state.field(Un),t=e!=null&&i.coordsAtPos(e);if(!t)return null;let n=i.scrollDOM.getBoundingClientRect();return{left:t.left-n.left+i.scrollDOM.scrollLeft*i.scaleX,top:t.top-n.top+i.scrollDOM.scrollTop*i.scaleY,height:t.bottom-t.top}}drawCursor(i){if(this.cursor){let{scaleX:e,scaleY:t}=this.view;i?(this.cursor.style.left=i.left/e+"px",this.cursor.style.top=i.top/t+"px",this.cursor.style.height=i.height/t+"px"):this.cursor.style.left="-100000px"}}destroy(){this.cursor&&this.cursor.remove()}setDropPos(i){this.view.state.field(Un)!=i&&this.view.dispatch({effects:zu.of(i)})}},{eventObservers:{dragover(i){this.setDropPos(this.view.posAtCoords({x:i.clientX,y:i.clientY}))},dragleave(i){(i.target==this.view.contentDOM||!this.view.contentDOM.contains(i.relatedTarget))&&this.setDropPos(null)},dragend(){this.setDropPos(null)},drop(){this.setDropPos(null)}}});function Lu(){return[Un,IQ]}var l$=/x/.unicode!=null?"gu":"g";var Vt=class extends it{compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}eq(e){return!1}destroy(e){}};Vt.prototype.elementClass="";Vt.prototype.toDOM=void 0;Vt.prototype.mapMode=ge.TrackBefore;Vt.prototype.startSide=Vt.prototype.endSide=-1;Vt.prototype.point=!0;var BQ=0,De=class{constructor(e,t){this.from=e,this.to=t}},I=class{constructor(e={}){this.id=BQ++,this.perNode=!!e.perNode,this.deserialize=e.deserialize||(()=>{throw new Error("This node type doesn't define a deserialize function")}),this.combine=e.combine||null}add(e){if(this.perNode)throw new RangeError("Can't add per-node props to node types");return typeof e!="function"&&(e=Oe.match(e)),t=>{let n=e(t);return n===void 0?null:[this,n]}}};I.closedBy=new I({deserialize:i=>i.split(" ")});I.openedBy=new I({deserialize:i=>i.split(" ")});I.group=new I({deserialize:i=>i.split(" ")});I.isolate=new I({deserialize:i=>{if(i&&i!="rtl"&&i!="ltr"&&i!="auto")throw new RangeError("Invalid value for isolate: "+i);return i||"auto"}});I.contextHash=new I({perNode:!0});I.lookAhead=new I({perNode:!0});I.mounted=new I({perNode:!0});var ui=class{constructor(e,t,n,r=!1){this.tree=e,this.overlay=t,this.parser=n,this.bracketed=r}static get(e){return e&&e.props&&e.props[I.mounted.id]}},UQ=Object.create(null),Oe=class i{constructor(e,t,n,r=0){this.name=e,this.props=t,this.id=n,this.flags=r}static define(e){let t=e.props&&e.props.length?Object.create(null):UQ,n=(e.top?1:0)|(e.skipped?2:0)|(e.error?4:0)|(e.name==null?8:0),r=new i(e.name||"",t,e.id,n);if(e.props){for(let s of e.props)if(Array.isArray(s)||(s=s(r)),s){if(s[0].perNode)throw new RangeError("Can't store a per-node prop on a node type");t[s[0].id]=s[1]}}return r}prop(e){return this.props[e.id]}get isTop(){return(this.flags&1)>0}get isSkipped(){return(this.flags&2)>0}get isError(){return(this.flags&4)>0}get isAnonymous(){return(this.flags&8)>0}is(e){if(typeof e=="string"){if(this.name==e)return!0;let t=this.prop(I.group);return t?t.indexOf(e)>-1:!1}return this.id==e}static match(e){let t=Object.create(null);for(let n in e)for(let r of n.split(" "))t[r]=e[n];return n=>{for(let r=n.prop(I.group),s=-1;s<(r?r.length:0);s++){let o=t[s<0?n.name:r[s]];if(o)return o}}}};Oe.none=new Oe("",Object.create(null),0,8);var Dt=class i{constructor(e){this.types=e;for(let t=0;t0;for(let l=this.cursor(o|ee.IncludeAnonymous);;){let c=!1;if(l.from<=s&&l.to>=r&&(!a&&l.type.isAnonymous||t(l)!==!1)){if(l.firstChild())continue;c=!0}for(;c&&n&&(a||!l.type.isAnonymous)&&n(l),!l.nextSibling();){if(!l.parent())return;c=!0}}}prop(e){return e.perNode?this.props?this.props[e.id]:void 0:this.type.prop(e)}get propValues(){let e=[];if(this.props)for(let t in this.props)e.push([+t,this.props[t]]);return e}balance(e={}){return this.children.length<=8?this:ll(Oe.none,this.children,this.positions,0,this.children.length,0,this.length,(t,n,r)=>new i(this.type,t,n,r,this.propValues),e.makeTree||((t,n,r)=>new i(Oe.none,t,n,r)))}static build(e){return NQ(e)}};H.empty=new H(Oe.none,[],[],0);var Ka=class i{constructor(e,t){this.buffer=e,this.index=t}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}get pos(){return this.index}next(){this.index-=4}fork(){return new i(this.buffer,this.index)}},Oi=class i{constructor(e,t,n){this.buffer=e,this.length=t,this.set=n}get type(){return Oe.none}toString(){let e=[];for(let t=0;t0));l=o[l+3]);return a}slice(e,t,n){let r=this.buffer,s=new Uint16Array(t-e),o=0;for(let a=e,l=0;a=e&&te;case 1:return t<=e&&n>e;case 2:return n>e;case 4:return!0}}function or(i,e,t,n){for(var r;i.from==i.to||(t<1?i.from>=e:i.from>e)||(t>-1?i.to<=e:i.to0?a.length:-1;e!=c;e+=t){let h=a[e],f=l[e]+o.from,u;if(!(!(s&ee.EnterBracketed&&h instanceof H&&(u=ui.get(h))&&!u.overlay&&u.bracketed&&n>=f&&n<=f+h.length)&&!Bu(r,n,f,f+h.length))){if(h instanceof Oi){if(s&ee.ExcludeBuffers)continue;let O=h.findChild(0,h.buffer.length,t,n-f,r);if(O>-1)return new zi(new el(o,h,e,f),null,O)}else if(s&ee.IncludeAnonymous||!h.type.isAnonymous||al(h)){let O;if(!(s&ee.IgnoreMounts)&&(O=ui.get(h))&&!O.overlay)return new i(O.tree,f,e,o);let p=new i(h,f,e,o);return s&ee.IncludeAnonymous||!p.type.isAnonymous?p:p.nextChild(t<0?h.children.length-1:0,t,n,r,s)}}}if(s&ee.IncludeAnonymous||!o.type.isAnonymous||(o.index>=0?e=o.index+t:e=t<0?-1:o._parent._tree.children.length,o=o._parent,!o))return null}}get firstChild(){return this.nextChild(0,1,0,4)}get lastChild(){return this.nextChild(this._tree.children.length-1,-1,0,4)}childAfter(e){return this.nextChild(0,1,e,2)}childBefore(e){return this.nextChild(this._tree.children.length-1,-1,e,-2)}prop(e){return this._tree.prop(e)}enter(e,t,n=0){let r;if(!(n&ee.IgnoreOverlays)&&(r=ui.get(this._tree))&&r.overlay){let s=e-this.from,o=n&ee.EnterBracketed&&r.bracketed;for(let{from:a,to:l}of r.overlay)if((t>0||o?a<=s:a=s:l>s))return new i(r.tree,r.overlay[0].from+this.from,-1,this)}return this.nextChild(0,1,e,t,n)}nextSignificantParent(){let e=this;for(;e.type.isAnonymous&&e._parent;)e=e._parent;return e}get parent(){return this._parent?this._parent.nextSignificantParent():null}get nextSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index+1,1,0,4):null}get prevSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index-1,-1,0,4):null}get tree(){return this._tree}toTree(){return this._tree}toString(){return this._tree.toString()}};function Wu(i,e,t,n){let r=i.cursor(),s=[];if(!r.firstChild())return s;if(t!=null){for(let o=!1;!o;)if(o=r.type.is(t),!r.nextSibling())return s}for(;;){if(n!=null&&r.type.is(n))return s;if(r.type.is(e)&&s.push(r.node),!r.nextSibling())return n==null?s:[]}}function Ja(i,e,t=e.length-1){for(let n=i;t>=0;n=n.parent){if(!n)return!1;if(!n.type.isAnonymous){if(e[t]&&e[t]!=n.name)return!1;t--}}return!0}var el=class{constructor(e,t,n,r){this.parent=e,this.buffer=t,this.index=n,this.start=r}},zi=class i extends Ps{get name(){return this.type.name}get from(){return this.context.start+this.context.buffer.buffer[this.index+1]}get to(){return this.context.start+this.context.buffer.buffer[this.index+2]}constructor(e,t,n){super(),this.context=e,this._parent=t,this.index=n,this.type=e.buffer.set.types[e.buffer.buffer[n]]}child(e,t,n){let{buffer:r}=this.context,s=r.findChild(this.index+4,r.buffer[this.index+3],e,t-this.context.start,n);return s<0?null:new i(this.context,this,s)}get firstChild(){return this.child(1,0,4)}get lastChild(){return this.child(-1,0,4)}childAfter(e){return this.child(1,e,2)}childBefore(e){return this.child(-1,e,-2)}prop(e){return this.type.prop(e)}enter(e,t,n=0){if(n&ee.ExcludeBuffers)return null;let{buffer:r}=this.context,s=r.findChild(this.index+4,r.buffer[this.index+3],t>0?1:-1,e-this.context.start,t);return s<0?null:new i(this.context,this,s)}get parent(){return this._parent||this.context.parent.nextSignificantParent()}externalSibling(e){return this._parent?null:this.context.parent.nextChild(this.context.index+e,e,0,4)}get nextSibling(){let{buffer:e}=this.context,t=e.buffer[this.index+3];return t<(this._parent?e.buffer[this._parent.index+3]:e.buffer.length)?new i(this.context,this._parent,t):this.externalSibling(1)}get prevSibling(){let{buffer:e}=this.context,t=this._parent?this._parent.index+4:0;return this.index==t?this.externalSibling(-1):new i(this.context,this._parent,e.findChild(t,this.index,-1,0,4))}get tree(){return null}toTree(){let e=[],t=[],{buffer:n}=this.context,r=this.index+4,s=n.buffer[this.index+3];if(s>r){let o=n.buffer[this.index+1];e.push(n.slice(r,s,o)),t.push(0)}return new H(this.type,e,t,this.to-this.from)}toString(){return this.context.buffer.childString(this.index)}};function Uu(i){if(!i.length)return null;let e=0,t=i[0];for(let s=1;st.from||o.to=e){let a=new Ye(o.tree,o.overlay[0].from+s.from,-1,s);(r||(r=[n])).push(or(a,e,t,!1))}}return r?Uu(r):n}var Qn=class{get name(){return this.type.name}constructor(e,t=0){if(this.buffer=null,this.stack=[],this.index=0,this.bufferNode=null,this.mode=t&~ee.EnterBracketed,e instanceof Ye)this.yieldNode(e);else{this._tree=e.context.parent,this.buffer=e.context;for(let n=e._parent;n;n=n._parent)this.stack.unshift(n.index);this.bufferNode=e,this.yieldBuf(e.index)}}yieldNode(e){return e?(this._tree=e,this.type=e.type,this.from=e.from,this.to=e.to,!0):!1}yieldBuf(e,t){this.index=e;let{start:n,buffer:r}=this.buffer;return this.type=t||r.set.types[r.buffer[e]],this.from=n+r.buffer[e+1],this.to=n+r.buffer[e+2],!0}yield(e){return e?e instanceof Ye?(this.buffer=null,this.yieldNode(e)):(this.buffer=e.context,this.yieldBuf(e.index,e.type)):!1}toString(){return this.buffer?this.buffer.buffer.childString(this.index):this._tree.toString()}enterChild(e,t,n){if(!this.buffer)return this.yield(this._tree.nextChild(e<0?this._tree._tree.children.length-1:0,e,t,n,this.mode));let{buffer:r}=this.buffer,s=r.findChild(this.index+4,r.buffer[this.index+3],e,t-this.buffer.start,n);return s<0?!1:(this.stack.push(this.index),this.yieldBuf(s))}firstChild(){return this.enterChild(1,0,4)}lastChild(){return this.enterChild(-1,0,4)}childAfter(e){return this.enterChild(1,e,2)}childBefore(e){return this.enterChild(-1,e,-2)}enter(e,t,n=this.mode){return this.buffer?n&ee.ExcludeBuffers?!1:this.enterChild(1,e,t):this.yield(this._tree.enter(e,t,n))}parent(){if(!this.buffer)return this.yieldNode(this.mode&ee.IncludeAnonymous?this._tree._parent:this._tree.parent);if(this.stack.length)return this.yieldBuf(this.stack.pop());let e=this.mode&ee.IncludeAnonymous?this.buffer.parent:this.buffer.parent.nextSignificantParent();return this.buffer=null,this.yieldNode(e)}sibling(e){if(!this.buffer)return this._tree._parent?this.yield(this._tree.index<0?null:this._tree._parent.nextChild(this._tree.index+e,e,0,4,this.mode)):!1;let{buffer:t}=this.buffer,n=this.stack.length-1;if(e<0){let r=n<0?0:this.stack[n]+4;if(this.index!=r)return this.yieldBuf(t.findChild(r,this.index,-1,0,4))}else{let r=t.buffer[this.index+3];if(r<(n<0?t.buffer.length:t.buffer[this.stack[n]+3]))return this.yieldBuf(r)}return n<0?this.yield(this.buffer.parent.nextChild(this.buffer.index+e,e,0,4,this.mode)):!1}nextSibling(){return this.sibling(1)}prevSibling(){return this.sibling(-1)}atLastNode(e){let t,n,{buffer:r}=this;if(r){if(e>0){if(this.index-1)for(let s=t+e,o=e<0?-1:n._tree.children.length;s!=o;s+=e){let a=n._tree.children[s];if(this.mode&ee.IncludeAnonymous||a instanceof Oi||!a.type.isAnonymous||al(a))return!1}return!0}move(e,t){if(t&&this.enterChild(e,0,4))return!0;for(;;){if(this.sibling(e))return!0;if(this.atLastNode(e)||!this.parent())return!1}}next(e=!0){return this.move(1,e)}prev(e=!0){return this.move(-1,e)}moveTo(e,t=0){for(;(this.from==this.to||(t<1?this.from>=e:this.from>e)||(t>-1?this.to<=e:this.to=0;){for(let o=e;o;o=o._parent)if(o.index==r){if(r==this.index)return o;t=o,n=s+1;break e}r=this.stack[--s]}for(let r=n;r=0;s--){if(s<0)return Ja(this._tree,e,r);let o=n[t.buffer[this.stack[s]]];if(!o.isAnonymous){if(e[r]&&e[r]!=o.name)return!1;r--}}return!0}};function al(i){return i.children.some(e=>e instanceof Oi||!e.type.isAnonymous||al(e))}function NQ(i){var e;let{buffer:t,nodeSet:n,maxBufferLength:r=1024,reused:s=[],minRepeatType:o=n.types.length}=i,a=Array.isArray(t)?new Ka(t,t.length):t,l=n.types,c=0,h=0;function f(v,$,A,_,W,T){let{id:k,start:w,end:C,size:j}=a,y=h,q=c;if(j<0)if(a.next(),j==-1){let N=s[k];A.push(N),_.push(w-v);return}else if(j==-3){c=k;return}else if(j==-4){h=k;return}else throw new RangeError(`Unrecognized record size: ${j}`);let de=l[k],Zt,X,G=w-v;if(C-w<=r&&(X=b(a.pos-$,W))){let N=new Uint16Array(X.size-X.skip),B=a.pos-X.size,re=N.length;for(;a.pos>B;)re=g(X.start,N,re);Zt=new Oi(N,C-X.start,n),G=X.start-v}else{let N=a.pos-j;a.next();let B=[],re=[],ne=k>=o?k:-1,ye=0,Et=C;for(;a.pos>N;)ne>=0&&a.id==ne&&a.size>=0?(a.end<=Et-r&&(p(B,re,w,ye,a.end,Et,ne,y,q),ye=B.length,Et=a.end),a.next()):T>2500?u(w,N,B,re):f(w,N,B,re,ne,T+1);if(ne>=0&&ye>0&&ye-1&&ye>0){let ni=O(de,q);Zt=ll(de,B,re,0,B.length,0,C-w,ni,ni)}else Zt=m(de,B,re,C-w,y-C,q)}A.push(Zt),_.push(G)}function u(v,$,A,_){let W=[],T=0,k=-1;for(;a.pos>$;){let{id:w,start:C,end:j,size:y}=a;if(y>4)a.next();else{if(k>-1&&C=0;j-=3)w[y++]=W[j],w[y++]=W[j+1]-C,w[y++]=W[j+2]-C,w[y++]=y;A.push(new Oi(w,W[2]-C,n)),_.push(C-v)}}function O(v,$){return(A,_,W)=>{let T=0,k=A.length-1,w,C;if(k>=0&&(w=A[k])instanceof H){if(!k&&w.type==v&&w.length==W)return w;(C=w.prop(I.lookAhead))&&(T=_[k]+w.length+C)}return m(v,A,_,W,T,$)}}function p(v,$,A,_,W,T,k,w,C){let j=[],y=[];for(;v.length>_;)j.push(v.pop()),y.push($.pop()+A-W);v.push(m(n.types[k],j,y,T-W,w-T,C)),$.push(W-A)}function m(v,$,A,_,W,T,k){if(T){let w=[I.contextHash,T];k=k?[w].concat(k):[w]}if(W>25){let w=[I.lookAhead,W];k=k?[w].concat(k):[w]}return new H(v,$,A,_,k)}function b(v,$){let A=a.fork(),_=0,W=0,T=0,k=A.end-r,w={size:0,start:0,skip:0};e:for(let C=A.pos-v;A.pos>C;){let j=A.size;if(A.id==$&&j>=0){w.size=_,w.start=W,w.skip=T,T+=4,_+=4,A.next();continue}let y=A.pos-j;if(j<0||y=o?4:0,de=A.start;for(A.next();A.pos>y;){if(A.size<0)if(A.size==-3||A.size==-4)q+=4;else break e;else A.id>=o&&(q+=4);A.next()}W=de,_+=j,T+=q}return($<0||_==v)&&(w.size=_,w.start=W,w.skip=T),w.size>4?w:void 0}function g(v,$,A){let{id:_,start:W,end:T,size:k}=a;if(a.next(),k>=0&&_4){let C=a.pos-(k-4);for(;a.pos>C;)A=g(v,$,A)}$[--A]=w,$[--A]=T-v,$[--A]=W-v,$[--A]=_}else k==-3?c=_:k==-4&&(h=_);return A}let Q=[],S=[];for(;a.pos>0;)f(i.start||0,i.bufferStart||0,Q,S,-1,0);let x=(e=i.length)!==null&&e!==void 0?e:Q.length?S[0]+Q[0].length:0;return new H(l[i.topID],Q.reverse(),S.reverse(),x)}var ju=new WeakMap;function ws(i,e){if(!i.isAnonymous||e instanceof Oi||e.type!=i)return 1;let t=ju.get(e);if(t==null){t=1;for(let n of e.children){if(n.type!=i||!(n instanceof H)){t=1;break}t+=ws(i,n)}ju.set(e,t)}return t}function ll(i,e,t,n,r,s,o,a,l){let c=0;for(let p=n;p=h)break;$+=A}if(S==x+1){if($>h){let A=p[x];O(A.children,A.positions,0,A.children.length,m[x]+Q);continue}f.push(p[x])}else{let A=m[S-1]+p[S-1].length-v;f.push(ll(i,p,m,x,S,v,A,null,l))}u.push(v+Q-s)}}return O(e,t,n,r,0),(a||l)(f,u,o)}var di=class{constructor(){this.map=new WeakMap}setBuffer(e,t,n){let r=this.map.get(e);r||this.map.set(e,r=new Map),r.set(t,n)}getBuffer(e,t){let n=this.map.get(e);return n&&n.get(t)}set(e,t){e instanceof zi?this.setBuffer(e.context.buffer,e.index,t):e instanceof Ye&&this.map.set(e.tree,t)}get(e){return e instanceof zi?this.getBuffer(e.context.buffer,e.index):e instanceof Ye?this.map.get(e.tree):void 0}cursorSet(e,t){e.buffer?this.setBuffer(e.buffer.buffer,e.index,t):this.map.set(e.tree,t)}cursorGet(e){return e.buffer?this.getBuffer(e.buffer.buffer,e.index):this.map.get(e.tree)}},Yt=class i{constructor(e,t,n,r,s=!1,o=!1){this.from=e,this.to=t,this.tree=n,this.offset=r,this.open=(s?1:0)|(o?2:0)}get openStart(){return(this.open&1)>0}get openEnd(){return(this.open&2)>0}static addTree(e,t=[],n=!1){let r=[new i(0,e.length,e,0,!1,n)];for(let s of t)s.to>e.length&&r.push(s);return r}static applyChanges(e,t,n=128){if(!t.length)return e;let r=[],s=1,o=e.length?e[0]:null;for(let a=0,l=0,c=0;;a++){let h=a=n)for(;o&&o.from=u.from||f<=u.to||c){let O=Math.max(u.from,l)-c,p=Math.min(u.to,f)-c;u=O>=p?null:new i(O,p,u.tree,u.offset+c,a>0,!!h)}if(u&&r.push(u),o.to>f)break;o=snew De(r.from,r.to)):[new De(0,0)]:[new De(0,e.length)],this.createParse(e,t||[],n)}parse(e,t,n){let r=this.startParse(e,t,n);for(;;){let s=r.advance();if(s)return s}}},il=class{constructor(e){this.string=e}get length(){return this.string.length}chunk(e){return this.string.slice(e)}get lineChunks(){return!1}read(e,t){return this.string.slice(e,t)}};function bn(i){return(e,t,n,r)=>new sl(e,i,t,n,r)}var vs=class{constructor(e,t,n,r,s,o){this.parser=e,this.parse=t,this.overlay=n,this.bracketed=r,this.target=s,this.from=o}};function Vu(i){if(!i.length||i.some(e=>e.from>=e.to))throw new RangeError("Invalid inner parse ranges given: "+JSON.stringify(i))}var nl=class{constructor(e,t,n,r,s,o,a,l){this.parser=e,this.predicate=t,this.mounts=n,this.index=r,this.start=s,this.bracketed=o,this.target=a,this.prev=l,this.depth=0,this.ranges=[]}},rl=new I({perNode:!0}),sl=class{constructor(e,t,n,r,s){this.nest=t,this.input=n,this.fragments=r,this.ranges=s,this.inner=[],this.innerDone=0,this.baseTree=null,this.stoppedAt=null,this.baseParse=e}advance(){if(this.baseParse){let n=this.baseParse.advance();if(!n)return null;if(this.baseParse=null,this.baseTree=n,this.startInner(),this.stoppedAt!=null)for(let r of this.inner)r.parse.stopAt(this.stoppedAt)}if(this.innerDone==this.inner.length){let n=this.baseTree;return this.stoppedAt!=null&&(n=new H(n.type,n.children,n.positions,n.length,n.propValues.concat([[rl,this.stoppedAt]]))),n}let e=this.inner[this.innerDone],t=e.parse.advance();if(t){this.innerDone++;let n=Object.assign(Object.create(null),e.target.props);n[I.mounted.id]=new ui(t,e.overlay,e.parser,e.bracketed),e.target.props=n}return null}get parsedPos(){if(this.baseParse)return 0;let e=this.input.length;for(let t=this.innerDone;t=this.stoppedAt)a=!1;else if(e.hasNode(r)){if(t){let c=t.mounts.find(h=>h.frag.from<=r.from&&h.frag.to>=r.to&&h.mount.overlay);if(c)for(let h of c.mount.overlay){let f=h.from+c.pos,u=h.to+c.pos;f>=r.from&&u<=r.to&&!t.ranges.some(O=>O.fromf)&&t.ranges.push({from:f,to:u})}}a=!1}else if(n&&(o=FQ(n.ranges,r.from,r.to)))a=o!=2;else if(!r.type.isAnonymous&&(s=this.nest(r,this.input))&&(r.fromnew De(f.from-r.from,f.to-r.from)):null,!!s.bracketed,r.tree,h.length?h[0].from:r.from)),s.overlay?h.length&&(n={ranges:h,depth:0,prev:n}):a=!1}}else if(t&&(l=t.predicate(r))&&(l===!0&&(l=new De(r.from,r.to)),l.from=0&&t.ranges[c].to==l.from?t.ranges[c]={from:t.ranges[c].from,to:l.to}:t.ranges.push(l)}if(a&&r.firstChild())t&&t.depth++,n&&n.depth++;else for(;!r.nextSibling();){if(!r.parent())break e;if(t&&!--t.depth){let c=Yu(this.ranges,t.ranges);c.length&&(Vu(c),this.inner.splice(t.index,0,new vs(t.parser,t.parser.startParse(this.input,Iu(t.mounts,c),c),t.ranges.map(h=>new De(h.from-t.start,h.to-t.start)),t.bracketed,t.target,c[0].from))),t=t.prev}n&&!--n.depth&&(n=n.prev)}}}};function FQ(i,e,t){for(let n of i){if(n.from>=t)break;if(n.to>e)return n.from<=e&&n.to>=t?2:1}return 0}function Du(i,e,t,n,r,s){if(e=e&&t.enter(n,1,ee.IgnoreOverlays|ee.ExcludeBuffers)))if(t.to<=e)t.next(!1)||(this.done=!0);else break}hasNode(e){if(this.moveTo(e.from),!this.done&&this.cursor.from+this.offset==e.from&&this.cursor.tree)for(let t=this.cursor.tree;;){if(t==e.tree)return!0;if(t.children.length&&t.positions[0]==0&&t.children[0]instanceof H)t=t.children[0];else break}return!1}},ol=class{constructor(e){var t;if(this.fragments=e,this.curTo=0,this.fragI=0,e.length){let n=this.curFrag=e[0];this.curTo=(t=n.tree.prop(rl))!==null&&t!==void 0?t:n.to,this.inner=new $s(n.tree,-n.offset)}else this.curFrag=this.inner=null}hasNode(e){for(;this.curFrag&&e.from>=this.curTo;)this.nextFrag();return this.curFrag&&this.curFrag.from<=e.from&&this.curTo>=e.to&&this.inner.hasNode(e)}nextFrag(){var e;if(this.fragI++,this.fragI==this.fragments.length)this.curFrag=this.inner=null;else{let t=this.curFrag=this.fragments[this.fragI];this.curTo=(e=t.tree.prop(rl))!==null&&e!==void 0?e:t.to,this.inner=new $s(t.tree,-t.offset)}}findMounts(e,t){var n;let r=[];if(this.inner){this.inner.cursor.moveTo(e,1);for(let s=this.inner.cursor.node;s;s=s.parent){let o=(n=s.tree)===null||n===void 0?void 0:n.prop(I.mounted);if(o&&o.parser==t)for(let a=this.fragI;a=s.to)break;l.tree==this.curFrag.tree&&r.push({frag:l,pos:s.from-l.offset,mount:o})}}}return r}};function Yu(i,e){let t=null,n=e;for(let r=1,s=0;r=a)break;l.to<=o||(t||(n=t=e.slice()),l.froma&&t.splice(s+1,0,new De(a,l.to))):l.to>a?t[s--]=new De(a,l.to):t.splice(s--,1))}}return n}function KQ(i,e,t,n){let r=0,s=0,o=!1,a=!1,l=-1e9,c=[];for(;;){let h=r==i.length?1e9:o?i[r].to:i[r].from,f=s==e.length?1e9:a?e[s].to:e[s].from;if(o!=a){let u=Math.max(l,t),O=Math.min(h,f,n);unew De(u.from+n,u.to+n)),f=KQ(e,h,l,c);for(let u=0,O=l;;u++){let p=u==f.length,m=p?c:f[u].from;if(m>O&&t.push(new Yt(O,m,r.tree,-o,s.from>=O||s.openStart,s.to<=m||s.openEnd)),p)break;O=f[u].to}}else t.push(new Yt(l,c,r.tree,-o,s.from>=o||s.openStart,s.to<=a||s.openEnd))}return t}var JQ=0,He=class i{constructor(e,t,n,r){this.name=e,this.set=t,this.base=n,this.modified=r,this.id=JQ++}toString(){let{name:e}=this;for(let t of this.modified)t.name&&(e=`${t.name}(${e})`);return e}static define(e,t){let n=typeof e=="string"?e:"?";if(e instanceof i&&(t=e),t?.base)throw new Error("Can not derive from a modified tag");let r=new i(n,[],null,[]);if(r.set.push(r),t)for(let s of t.set)r.set.push(s);return r}static defineModifier(e){let t=new _s(e);return n=>n.modified.indexOf(t)>-1?n:_s.get(n.base||n,n.modified.concat(t).sort((r,s)=>r.id-s.id))}},eb=0,_s=class i{constructor(e){this.name=e,this.instances=[],this.id=eb++}static get(e,t){if(!t.length)return e;let n=t[0].instances.find(a=>a.base==e&&tb(t,a.modified));if(n)return n;let r=[],s=new He(e.name,r,e,t);for(let a of t)a.instances.push(s);let o=ib(t);for(let a of e.set)if(!a.modified.length)for(let l of o)r.push(i.get(a,l));return s}};function tb(i,e){return i.length==e.length&&i.every((t,n)=>t==e[n])}function ib(i){let e=[[]];for(let t=0;tn.length-t.length)}function Qe(i){let e=Object.create(null);for(let t in i){let n=i[t];Array.isArray(n)||(n=[n]);for(let r of t.split(" "))if(r){let s=[],o=2,a=r;for(let f=0;;){if(a=="..."&&f>0&&f+3==r.length){o=1;break}let u=/^"(?:[^"\\]|\\.)*?"|[^\/!]+/.exec(a);if(!u)throw new RangeError("Invalid path: "+r);if(s.push(u[0]=="*"?"":u[0][0]=='"'?JSON.parse(u[0]):u[0]),f+=u[0].length,f==r.length)break;let O=r[f++];if(f==r.length&&O=="!"){o=0;break}if(O!="/")throw new RangeError("Invalid path: "+r);a=r.slice(f)}let l=s.length-1,c=s[l];if(!c)throw new RangeError("Invalid path: "+r);let h=new Mi(n,o,l>0?s.slice(0,l):null);e[c]=h.sort(e[c])}}return Fu.add(e)}var Fu=new I({combine(i,e){let t,n,r;for(;i||e;){if(!i||e&&i.depth>=e.depth?(r=e,e=e.next):(r=i,i=i.next),t&&t.mode==r.mode&&!r.context&&!t.context)continue;let s=new Mi(r.tags,r.mode,r.context);t?t.next=s:n=s,t=s}return n}}),Mi=class{constructor(e,t,n,r){this.tags=e,this.mode=t,this.context=n,this.next=r}get opaque(){return this.mode==0}get inherit(){return this.mode==1}sort(e){return!e||e.depth{let o=r;for(let a of s)for(let l of a.set){let c=t[l.id];if(c){o=o?o+" "+c:c;break}}return o},scope:n}}function nb(i,e){let t=null;for(let n of i){let r=n.style(e);r&&(t=t?t+" "+r:r)}return t}function Rs(i,e,t,n=0,r=i.length){let s=new hl(n,Array.isArray(e)?e:[e],t);s.highlightRange(i.cursor(),n,r,"",s.highlighters),s.flush(r)}var hl=class{constructor(e,t,n){this.at=e,this.highlighters=t,this.span=n,this.class=""}startSpan(e,t){t!=this.class&&(this.flush(e),e>this.at&&(this.at=e),this.class=t)}flush(e){e>this.at&&this.class&&this.span(this.at,e,this.class)}highlightRange(e,t,n,r,s){let{type:o,from:a,to:l}=e;if(a>=n||l<=t)return;o.isTop&&(s=this.highlighters.filter(O=>!O.scope||O.scope(o)));let c=r,h=rb(e)||Mi.empty,f=nb(s,h.tags);if(f&&(c&&(c+=" "),c+=f,h.mode==1&&(r+=(r?" ":"")+f)),this.startSpan(Math.max(t,a),c),h.opaque)return;let u=e.tree&&e.tree.prop(I.mounted);if(u&&u.overlay){let O=e.node.enter(u.overlay[0].from+a,1),p=this.highlighters.filter(b=>!b.scope||b.scope(u.tree.type)),m=e.firstChild();for(let b=0,g=a;;b++){let Q=b=S||!e.nextSibling())););if(!Q||S>n)break;g=Q.to+a,g>t&&(this.highlightRange(O.cursor(),Math.max(t,Q.from+a),Math.min(n,g),"",p),this.startSpan(Math.min(n,g),c))}m&&e.parent()}else if(e.firstChild()){u&&(r="");do if(!(e.to<=t)){if(e.from>=n)break;this.highlightRange(e,t,n,r,s),this.startSpan(Math.min(n,e.to),c)}while(e.nextSibling());e.parent()}}};function rb(i){let e=i.type.prop(Fu);for(;e&&e.context&&!i.matchContext(e.context);)e=e.next;return e||null}var E=He.define,Ts=E(),pi=E(),Gu=E(pi),Nu=E(pi),mi=E(),Cs=E(mi),cl=E(mi),_t=E(),Li=E(_t),Ct=E(),Xt=E(),fl=E(),ar=E(fl),Xs=E(),d={comment:Ts,lineComment:E(Ts),blockComment:E(Ts),docComment:E(Ts),name:pi,variableName:E(pi),typeName:Gu,tagName:E(Gu),propertyName:Nu,attributeName:E(Nu),className:E(pi),labelName:E(pi),namespace:E(pi),macroName:E(pi),literal:mi,string:Cs,docString:E(Cs),character:E(Cs),attributeValue:E(Cs),number:cl,integer:E(cl),float:E(cl),bool:E(mi),regexp:E(mi),escape:E(mi),color:E(mi),url:E(mi),keyword:Ct,self:E(Ct),null:E(Ct),atom:E(Ct),unit:E(Ct),modifier:E(Ct),operatorKeyword:E(Ct),controlKeyword:E(Ct),definitionKeyword:E(Ct),moduleKeyword:E(Ct),operator:Xt,derefOperator:E(Xt),arithmeticOperator:E(Xt),logicOperator:E(Xt),bitwiseOperator:E(Xt),compareOperator:E(Xt),updateOperator:E(Xt),definitionOperator:E(Xt),typeOperator:E(Xt),controlOperator:E(Xt),punctuation:fl,separator:E(fl),bracket:ar,angleBracket:E(ar),squareBracket:E(ar),paren:E(ar),brace:E(ar),content:_t,heading:Li,heading1:E(Li),heading2:E(Li),heading3:E(Li),heading4:E(Li),heading5:E(Li),heading6:E(Li),contentSeparator:E(_t),list:E(_t),quote:E(_t),emphasis:E(_t),strong:E(_t),link:E(_t),monospace:E(_t),strikethrough:E(_t),inserted:E(),deleted:E(),changed:E(),invalid:E(),meta:Xs,documentMeta:E(Xs),annotation:E(Xs),processingInstruction:E(Xs),definition:He.defineModifier("definition"),constant:He.defineModifier("constant"),function:He.defineModifier("function"),standard:He.defineModifier("standard"),local:He.defineModifier("local"),special:He.defineModifier("special")};for(let i in d){let e=d[i];e instanceof He&&(e.name=i)}var d$=ul([{tag:d.link,class:"tok-link"},{tag:d.heading,class:"tok-heading"},{tag:d.emphasis,class:"tok-emphasis"},{tag:d.strong,class:"tok-strong"},{tag:d.keyword,class:"tok-keyword"},{tag:d.atom,class:"tok-atom"},{tag:d.bool,class:"tok-bool"},{tag:d.url,class:"tok-url"},{tag:d.labelName,class:"tok-labelName"},{tag:d.inserted,class:"tok-inserted"},{tag:d.deleted,class:"tok-deleted"},{tag:d.literal,class:"tok-literal"},{tag:d.string,class:"tok-string"},{tag:d.number,class:"tok-number"},{tag:[d.regexp,d.escape,d.special(d.string)],class:"tok-string2"},{tag:d.variableName,class:"tok-variableName"},{tag:d.local(d.variableName),class:"tok-variableName tok-local"},{tag:d.definition(d.variableName),class:"tok-variableName tok-definition"},{tag:d.special(d.variableName),class:"tok-variableName2"},{tag:d.definition(d.propertyName),class:"tok-propertyName tok-definition"},{tag:d.typeName,class:"tok-typeName"},{tag:d.namespace,class:"tok-namespace"},{tag:d.className,class:"tok-className"},{tag:d.macroName,class:"tok-macroName"},{tag:d.propertyName,class:"tok-propertyName"},{tag:d.operator,class:"tok-operator"},{tag:d.comment,class:"tok-comment"},{tag:d.meta,class:"tok-meta"},{tag:d.invalid,class:"tok-invalid"},{tag:d.punctuation,class:"tok-punctuation"}]);var Ol,bt=new I;function kn(i){return Y.define({combine:i?e=>e.concat(i):void 0})}var qs=new I,xe=class{constructor(e,t,n=[],r=""){this.data=e,this.name=r,se.prototype.hasOwnProperty("tree")||Object.defineProperty(se.prototype,"tree",{get(){return U(this)}}),this.parser=t,this.extension=[Sn.of(this),se.languageData.of((s,o,a)=>{let l=Hu(s,o,a),c=l.type.prop(bt);if(!c)return[];let h=s.facet(c),f=l.type.prop(qs);if(f){let u=l.resolve(o-l.from,a);for(let O of f)if(O.test(u,s)){let p=s.facet(O.facet);return O.type=="replace"?p:p.concat(h)}}return h})].concat(n)}isActiveAt(e,t,n=-1){return Hu(e,t,n).type.prop(bt)==this.data}findRegions(e){let t=e.facet(Sn);if(t?.data==this.data)return[{from:0,to:e.doc.length}];if(!t||!t.allowsNesting)return[];let n=[],r=(s,o)=>{if(s.prop(bt)==this.data){n.push({from:o,to:o+s.length});return}let a=s.prop(I.mounted);if(a){if(a.tree.prop(bt)==this.data){if(a.overlay)for(let l of a.overlay)n.push({from:l.from+o,to:l.to+o});else n.push({from:o,to:o+s.length});return}else if(a.overlay){let l=n.length;if(r(a.tree,a.overlay[0].from+o),n.length>l)return}}for(let l=0;ln.isTop?t:void 0)]}),e.name)}configure(e,t){return new i(this.data,this.parser.configure(e),t||this.name)}get allowsNesting(){return this.parser.hasWrappers()}};function U(i){let e=i.field(xe.state,!1);return e?e.tree:H.empty}function zs(i,e,t=50){var n;let r=(n=i.field(xe.state,!1))===null||n===void 0?void 0:n.context;if(!r)return null;let s=r.viewport;r.updateViewport({from:0,to:e});let o=r.isDone(e)||r.work(t,e)?r.tree:null;return r.updateViewport(s),o}function nO(i,e=i.doc.length){var t;return((t=i.field(xe.state,!1))===null||t===void 0?void 0:t.context.isDone(e))||!1}var gl=class{constructor(e){this.doc=e,this.cursorPos=0,this.string="",this.cursor=e.iter()}get length(){return this.doc.length}syncTo(e){return this.string=this.cursor.next(e-this.cursorPos).value,this.cursorPos=e+this.string.length,this.cursorPos-this.string.length}chunk(e){return this.syncTo(e),this.string}get lineChunks(){return!0}read(e,t){let n=this.cursorPos-this.string.length;return e=this.cursorPos?this.doc.sliceString(e,t):this.string.slice(e-n,t-n)}},lr=null,Wi=class i{constructor(e,t,n=[],r,s,o,a,l){this.parser=e,this.state=t,this.fragments=n,this.tree=r,this.treeLen=s,this.viewport=o,this.skipped=a,this.scheduleOn=l,this.parse=null,this.tempSkipped=[]}static create(e,t,n){return new i(e,t,[],H.empty,0,n,[],null)}startParse(){return this.parser.startParse(new gl(this.state.doc),this.fragments)}work(e,t){return t!=null&&t>=this.state.doc.length&&(t=void 0),this.tree!=H.empty&&this.isDone(t??this.state.doc.length)?(this.takeTree(),!0):this.withContext(()=>{var n;if(typeof e=="number"){let r=Date.now()+e;e=()=>Date.now()>r}for(this.parse||(this.parse=this.startParse()),t!=null&&(this.parse.stoppedAt==null||this.parse.stoppedAt>t)&&t=this.treeLen&&((this.parse.stoppedAt==null||this.parse.stoppedAt>e)&&this.parse.stopAt(e),this.withContext(()=>{for(;!(t=this.parse.advance()););}),this.treeLen=e,this.tree=t,this.fragments=this.withoutTempSkipped(Yt.addTree(this.tree,this.fragments,!0)),this.parse=null)}withContext(e){let t=lr;lr=this;try{return e()}finally{lr=t}}withoutTempSkipped(e){for(let t;t=this.tempSkipped.pop();)e=Ku(e,t.from,t.to);return e}changes(e,t){let{fragments:n,tree:r,treeLen:s,viewport:o,skipped:a}=this;if(this.takeTree(),!e.empty){let l=[];if(e.iterChangedRanges((c,h,f,u)=>l.push({fromA:c,toA:h,fromB:f,toB:u})),n=Yt.applyChanges(n,l),r=H.empty,s=0,o={from:e.mapPos(o.from,-1),to:e.mapPos(o.to,1)},this.skipped.length){a=[];for(let c of this.skipped){let h=e.mapPos(c.from,1),f=e.mapPos(c.to,-1);he.from&&(this.fragments=Ku(this.fragments,r,s),this.skipped.splice(n--,1))}return this.skipped.length>=t?!1:(this.reset(),!0)}reset(){this.parse&&(this.takeTree(),this.parse=null)}skipUntilInView(e,t){this.skipped.push({from:e,to:t})}static getSkippingParser(e){return new class extends It{createParse(t,n,r){let s=r[0].from,o=r[r.length-1].to;return{parsedPos:s,advance(){let l=lr;if(l){for(let c of r)l.tempSkipped.push(c);e&&(l.scheduleOn=l.scheduleOn?Promise.all([l.scheduleOn,e]):e)}return this.parsedPos=o,new H(Oe.none,[],[],o-s)},stoppedAt:null,stopAt(){}}}}}isDone(e){e=Math.min(e,this.state.doc.length);let t=this.fragments;return this.treeLen>=e&&t.length&&t[0].from==0&&t[0].to>=e}static get(){return lr}};function Ku(i,e,t){return Yt.applyChanges(i,[{fromA:e,toA:t,fromB:e,toB:t}])}var cr=class i{constructor(e){this.context=e,this.tree=e.tree}apply(e){if(!e.docChanged&&this.tree==this.context.tree)return this;let t=this.context.changes(e.changes,e.state),n=this.context.treeLen==e.startState.doc.length?void 0:Math.max(e.changes.mapPos(this.context.treeLen),t.viewport.to);return t.work(20,n)||t.takeTree(),new i(t)}static init(e){let t=Math.min(3e3,e.doc.length),n=Wi.create(e.facet(Sn).parser,e,{from:0,to:t});return n.work(20,t)||n.takeTree(),new i(n)}};xe.state=he.define({create:cr.init,update(i,e){for(let t of e.effects)if(t.is(xe.setState))return t.value;return e.startState.facet(Sn)!=e.state.facet(Sn)?cr.init(e.state):i.apply(e)}});var rO=i=>{let e=setTimeout(()=>i(),500);return()=>clearTimeout(e)};typeof requestIdleCallback<"u"&&(rO=i=>{let e=-1,t=setTimeout(()=>{e=requestIdleCallback(i,{timeout:400})},100);return()=>e<0?clearTimeout(t):cancelIdleCallback(e)});var dl=typeof navigator<"u"&&(!((Ol=navigator.scheduling)===null||Ol===void 0)&&Ol.isInputPending)?()=>navigator.scheduling.isInputPending():null,sb=Ve.fromClass(class{constructor(e){this.view=e,this.working=null,this.workScheduled=0,this.chunkEnd=-1,this.chunkBudget=-1,this.work=this.work.bind(this),this.scheduleWork()}update(e){let t=this.view.state.field(xe.state).context;(t.updateViewport(e.view.viewport)||this.view.viewport.to>t.treeLen)&&this.scheduleWork(),(e.docChanged||e.selectionSet)&&(this.view.hasFocus&&(this.chunkBudget+=50),this.scheduleWork()),this.checkAsyncSchedule(t)}scheduleWork(){if(this.working)return;let{state:e}=this.view,t=e.field(xe.state);(t.tree!=t.context.tree||!t.context.isDone(e.doc.length))&&(this.working=rO(this.work))}work(e){this.working=null;let t=Date.now();if(this.chunkEndr+1e3,l=s.context.work(()=>dl&&dl()||Date.now()>o,r+(a?0:1e5));this.chunkBudget-=Date.now()-t,(l||this.chunkBudget<=0)&&(s.context.takeTree(),this.view.dispatch({effects:xe.setState.of(new cr(s.context))})),this.chunkBudget>0&&!(l&&!a)&&this.scheduleWork(),this.checkAsyncSchedule(s.context)}checkAsyncSchedule(e){e.scheduleOn&&(this.workScheduled++,e.scheduleOn.then(()=>this.scheduleWork()).catch(t=>lt(this.view.state,t)).then(()=>this.workScheduled--),e.scheduleOn=null)}destroy(){this.working&&this.working()}isWorking(){return!!(this.working||this.workScheduled>0)}},{eventHandlers:{focus(){this.scheduleWork()}}}),Sn=Y.define({combine(i){return i.length?i[0]:null},enables:i=>[xe.state,sb,z.contentAttributes.compute([i],e=>{let t=e.facet(i);return t&&t.name?{"data-language":t.name}:{}})]}),me=class{constructor(e,t=[]){this.language=e,this.support=t,this.extension=[e,t]}},Ie=class i{constructor(e,t,n,r,s,o=void 0){this.name=e,this.alias=t,this.extensions=n,this.filename=r,this.loadFunc=s,this.support=o,this.loading=null}load(){return this.loading||(this.loading=this.loadFunc().then(e=>this.support=e,e=>{throw this.loading=null,e}))}static of(e){let{load:t,support:n}=e;if(!t){if(!n)throw new RangeError("Must pass either 'load' or 'support' to LanguageDescription.of");t=()=>Promise.resolve(n)}return new i(e.name,(e.alias||[]).concat(e.name).map(r=>r.toLowerCase()),e.extensions||[],e.filename,t,n)}static matchFilename(e,t){for(let r of e)if(r.filename&&r.filename.test(t))return r;let n=/\.([^.]+)$/.exec(t);if(n){for(let r of e)if(r.extensions.indexOf(n[1])>-1)return r}return null}static matchLanguageName(e,t,n=!0){t=t.toLowerCase();for(let r of e)if(r.alias.some(s=>s==t))return r;if(n)for(let r of e)for(let s of r.alias){let o=t.indexOf(s);if(o>-1&&(s.length>2||!/\w/.test(t[o-1])&&!/\w/.test(t[o+s.length])))return r}return null}},ob=Y.define(),Rt=Y.define({combine:i=>{if(!i.length)return" ";let e=i[0];if(!e||/\S/.test(e)||Array.from(e).some(t=>t!=e[0]))throw new Error("Invalid indent unit: "+JSON.stringify(i[0]));return e}});function gi(i){let e=i.facet(Rt);return e.charCodeAt(0)==9?i.tabSize*e.length:e.length}function fr(i,e){let t="",n=i.tabSize,r=i.facet(Rt)[0];if(r==" "){for(;e>=n;)t+=" ",e-=n;r=" "}for(let s=0;s=e?ab(i,t,e):null}var ji=class{constructor(e,t={}){this.state=e,this.options=t,this.unit=gi(e)}lineAt(e,t=1){let n=this.state.doc.lineAt(e),{simulateBreak:r,simulateDoubleBreak:s}=this.options;return r!=null&&r>=n.from&&r<=n.to?s&&r==e?{text:"",from:e}:(t<0?r-1&&(s+=o-this.countColumn(n,n.search(/\S|$/))),s}countColumn(e,t=e.length){return Ne(e,this.state.tabSize,t)}lineIndent(e,t=1){let{text:n,from:r}=this.lineAt(e,t),s=this.options.overrideIndentation;if(s){let o=s(r);if(o>-1)return o}return this.countColumn(n,n.search(/\S|$/))}get simulatedBreak(){return this.options.simulateBreak||null}},we=new I;function ab(i,e,t){let n=e.resolveStack(t),r=e.resolveInner(t,-1).resolve(t,0).enterUnfinishedNodesBefore(t);if(r!=n.node){let s=[];for(let o=r;o&&!(o.fromn.node.to||o.from==n.node.from&&o.type==n.node.type);o=o.parent)s.push(o);for(let o=s.length-1;o>=0;o--)n={node:s[o],next:n}}return sO(n,i,t)}function sO(i,e,t){for(let n=i;n;n=n.next){let r=cb(n.node);if(r)return r(Ql.create(e,t,n))}return 0}function lb(i){return i.pos==i.options.simulateBreak&&i.options.simulateDoubleBreak}function cb(i){let e=i.type.prop(we);if(e)return e;let t=i.firstChild,n;if(t&&(n=t.type.prop(I.closedBy))){let r=i.lastChild,s=r&&n.indexOf(r.name)>-1;return o=>oO(o,!0,1,void 0,s&&!lb(o)?r.from:void 0)}return i.parent==null?hb:null}function hb(){return 0}var Ql=class i extends ji{constructor(e,t,n){super(e.state,e.options),this.base=e,this.pos=t,this.context=n}get node(){return this.context.node}static create(e,t,n){return new i(e,t,n)}get textAfter(){return this.textAfterPos(this.pos)}get baseIndent(){return this.baseIndentFor(this.node)}baseIndentFor(e){let t=this.state.doc.lineAt(e.from);for(;;){let n=e.resolve(t.from);for(;n.parent&&n.parent.from==n.from;)n=n.parent;if(fb(n,e))break;t=this.state.doc.lineAt(n.from)}return this.lineIndent(t.from)}continue(){return sO(this.context.next,this.base,this.pos)}};function fb(i,e){for(let t=e;t;t=t.parent)if(i==t)return!0;return!1}function ub(i){let e=i.node,t=e.childAfter(e.from),n=e.lastChild;if(!t)return null;let r=i.options.simulateBreak,s=i.state.doc.lineAt(t.from),o=r==null||r<=s.from?s.to:Math.min(s.to,r);for(let a=t.to;;){let l=e.childAfter(a);if(!l||l==n)return null;if(!l.type.isSkipped){if(l.from>=o)return null;let c=/^ */.exec(s.text.slice(t.to-s.from))[0].length;return{from:t.from,to:t.to+c}}a=l.to}}function St({closing:i,align:e=!0,units:t=1}){return n=>oO(n,e,t,i)}function oO(i,e,t,n,r){let s=i.textAfter,o=s.match(/^\s*/)[0].length,a=n&&s.slice(o,o+n.length)==n||r==i.pos+o,l=e?ub(i):null;return l?a?i.column(l.from):i.column(l.to):i.baseIndent+(a?0:i.unit*t)}var aO=i=>i.baseIndent;function Bt({except:i,units:e=1}={}){return t=>{let n=i&&i.test(t.textAfter);return t.baseIndent+(n?0:e*t.unit)}}var lO=Y.define(),Te=new I;function ht(i){let e=i.firstChild,t=i.lastChild;return e&&e.toa.prop(bt)==o.data:o?a=>a==o:void 0,this.style=ul(e.map(a=>({tag:a.tag,class:a.class||r(Object.assign({},a,{tag:null}))})),{all:s}).style,this.module=n?new rt(n):null,this.themeType=t.themeType}static define(e,t){return new i(e,t||{})}},bl=Y.define(),cO=Y.define({combine(i){return i.length?[i[0]]:null}});function pl(i){let e=i.facet(bl);return e.length?e:i.facet(cO)}function hO(i,e){let t=[Ob],n;return i instanceof yn&&(i.module&&t.push(z.styleModule.of(i.module)),n=i.themeType),e?.fallback?t.push(cO.of(i)):n?t.push(bl.computeN([z.darkTheme],r=>r.facet(z.darkTheme)==(n=="dark")?[i]:[])):t.push(bl.of(i)),t}var Sl=class{constructor(e){this.markCache=Object.create(null),this.tree=U(e.state),this.decorations=this.buildDeco(e,pl(e.state)),this.decoratedTo=e.viewport.to}update(e){let t=U(e.state),n=pl(e.state),r=n!=pl(e.startState),{viewport:s}=e.view,o=e.changes.mapPos(this.decoratedTo,1);t.length=s.to?(this.decorations=this.decorations.map(e.changes),this.decoratedTo=o):(t!=this.tree||e.viewportChanged||r)&&(this.tree=t,this.decorations=this.buildDeco(e.view,n),this.decoratedTo=s.to)}buildDeco(e,t){if(!t||!this.tree.length)return R.none;let n=new _i;for(let{from:r,to:s}of e.visibleRanges)Rs(this.tree,t,(o,a,l)=>{n.add(o,a,this.markCache[l]||(this.markCache[l]=R.mark({class:l})))},r,s);return n.finish()}},Ob=nt.high(Ve.fromClass(Sl,{decorations:i=>i.decorations})),x$=yn.define([{tag:d.meta,color:"#404740"},{tag:d.link,textDecoration:"underline"},{tag:d.heading,textDecoration:"underline",fontWeight:"bold"},{tag:d.emphasis,fontStyle:"italic"},{tag:d.strong,fontWeight:"bold"},{tag:d.strikethrough,textDecoration:"line-through"},{tag:d.keyword,color:"#708"},{tag:[d.atom,d.bool,d.url,d.contentSeparator,d.labelName],color:"#219"},{tag:[d.literal,d.inserted],color:"#164"},{tag:[d.string,d.deleted],color:"#a11"},{tag:[d.regexp,d.escape,d.special(d.string)],color:"#e40"},{tag:d.definition(d.variableName),color:"#00f"},{tag:d.local(d.variableName),color:"#30a"},{tag:[d.typeName,d.namespace],color:"#085"},{tag:d.className,color:"#167"},{tag:[d.special(d.variableName),d.macroName],color:"#256"},{tag:d.definition(d.propertyName),color:"#00c"},{tag:d.comment,color:"#940"},{tag:d.invalid,color:"#f00"}]);var db=1e4,pb="()[]{}";var Pl=new I;function yl(i,e,t){let n=i.prop(e<0?I.openedBy:I.closedBy);if(n)return n;if(i.name.length==1){let r=t.indexOf(i.name);if(r>-1&&r%2==(e<0?1:0))return[t[r+e]]}return null}function kl(i){let e=i.type.prop(Pl);return e?e(i.node):i}function Vi(i,e,t,n={}){let r=n.maxScanDistance||db,s=n.brackets||pb,o=U(i),a=o.resolveInner(e,t);for(let l=a;l;l=l.parent){let c=yl(l.type,t,s);if(c&&l.from0?e>=h.from&&eh.from&&e<=h.to))return mb(i,e,t,l,h,c,s)}}return gb(i,e,t,o,a.type,r,s)}function mb(i,e,t,n,r,s,o){let a=n.parent,l={from:r.from,to:r.to},c=0,h=a?.cursor();if(h&&(t<0?h.childBefore(n.from):h.childAfter(n.to)))do if(t<0?h.to<=n.from:h.from>=n.to){if(c==0&&s.indexOf(h.type.name)>-1&&h.from0)return null;let c={from:t<0?e-1:e,to:t>0?e+1:e},h=i.doc.iterRange(e,t>0?i.doc.length:0),f=0;for(let u=0;!h.next().done&&u<=s;){let O=h.value;t<0&&(u+=O.length);let p=e+u*t;for(let m=t>0?0:O.length-1,b=t>0?O.length:-1;m!=b;m+=t){let g=o.indexOf(O[m]);if(!(g<0||n.resolveInner(p+m,1).type!=r))if(g%2==0==t>0)f++;else{if(f==1)return{start:c,end:{from:p+m,to:p+m+1},matched:g>>1==l>>1};f--}}t>0&&(u+=O.length)}return h.done?{start:c,matched:!1}:null}function Ju(i,e,t,n=0,r=0){e==null&&(e=i.search(/[^\s\u00a0]/),e==-1&&(e=i.length));let s=r;for(let o=n;o=this.string.length}sol(){return this.pos==0}peek(){return this.string.charAt(this.pos)||void 0}next(){if(this.post}eatSpace(){let e=this.pos;for(;/[\s\u00a0]/.test(this.string.charAt(this.pos));)++this.pos;return this.pos>e}skipToEnd(){this.pos=this.string.length}skipTo(e){let t=this.string.indexOf(e,this.pos);if(t>-1)return this.pos=t,!0}backUp(e){this.pos-=e}column(){return this.lastColumnPosn?o.toLowerCase():o,s=this.string.substr(this.pos,e.length);return r(s)==r(e)?(t!==!1&&(this.pos+=e.length),!0):null}else{let r=this.string.slice(this.pos).match(e);return r&&r.index>0?null:(r&&t!==!1&&(this.pos+=r[0].length),r)}}current(){return this.string.slice(this.start,this.pos)}};function Qb(i){return{name:i.name||"",token:i.token,blankLine:i.blankLine||(()=>{}),startState:i.startState||(()=>!0),copyState:i.copyState||bb,indent:i.indent||(()=>null),languageData:i.languageData||{},tokenTable:i.tokenTable||$l,mergeTokens:i.mergeTokens!==!1}}function bb(i){if(typeof i!="object")return i;let e={};for(let t in i){let n=i[t];e[t]=n instanceof Array?n.slice():n}return e}var eO=new WeakMap,Zs=class i extends xe{constructor(e){let t=kn(e.languageData),n=Qb(e),r,s=new class extends It{createParse(o,a,l){return new xl(r,o,a,l)}};super(t,s,[],e.name),this.topNode=xb(t,this),r=this,this.streamParser=n,this.stateAfter=new I({perNode:!0}),this.tokenTable=e.tokenTable?new Es(n.tokenTable):kb}static define(e){return new i(e)}getIndent(e){let t,{overrideIndentation:n}=e.options;n&&(t=eO.get(e.state),t!=null&&t1e4)return null;for(;s=n&&t+e.length<=r&&e.prop(i.stateAfter);if(s)return{state:i.streamParser.copyState(s),pos:t+e.length};for(let o=e.children.length-1;o>=0;o--){let a=e.children[o],l=t+e.positions[o],c=a instanceof H&&l=e.length)return e;!r&&t==0&&e.type==i.topNode&&(r=!0);for(let s=e.children.length-1;s>=0;s--){let o=e.positions[s],a=e.children[s],l;if(ot&&vl(i,s.tree,0-s.offset,t,a),c;if(l&&l.pos<=n&&(c=fO(i,s.tree,t+s.offset,l.pos+s.offset,!1)))return{state:l.state,tree:c}}return{state:i.streamParser.startState(r?gi(r):4),tree:H.empty}}var xl=class{constructor(e,t,n,r){this.lang=e,this.input=t,this.fragments=n,this.ranges=r,this.stoppedAt=null,this.chunks=[],this.chunkPos=[],this.chunk=[],this.chunkReused=void 0,this.rangeIndex=0,this.to=r[r.length-1].to;let s=Wi.get(),o=r[0].from,{state:a,tree:l}=Sb(e,n,o,this.to,s?.state);this.state=a,this.parsedPos=this.chunkStart=o+l.length;for(let c=0;cc.from<=s.viewport.from&&c.to>=s.viewport.from)&&(this.state=this.lang.streamParser.startState(gi(s.state)),s.skipUntilInView(this.parsedPos,s.viewport.from),this.parsedPos=s.viewport.from),this.moveRangeIndex()}advance(){let e=Wi.get(),t=this.stoppedAt==null?this.to:Math.min(this.to,this.stoppedAt),n=Math.min(t,this.chunkStart+512);for(e&&(n=Math.min(n,e.viewport.to));this.parsedPos=t?this.finish():e&&this.parsedPos>=e.viewport.to?(e.skipUntilInView(this.parsedPos,t),this.finish()):null}stopAt(e){this.stoppedAt=e}lineAfter(e){let t=this.input.chunk(e);if(this.input.lineChunks)t==` `&&(t="");else{let n=t.indexOf(` -`);n>-1&&(t=t.slice(0,n))}return e+t.length<=this.to?t:t.slice(0,this.to-e)}nextLine(){let e=this.parsedPos,t=this.lineAfter(e),n=e+t.length;for(let r=this.rangeIndex;;){let s=this.ranges[r].to;if(s>=n||(t=t.slice(0,s-(n-t.length)),r++,r==this.ranges.length))break;let o=this.ranges[r].from,a=this.lineAfter(o);t+=a,n=o+a.length}return{line:t,end:n}}skipGapsTo(e,t,n){for(;;){let r=this.ranges[this.rangeIndex].to,s=e+t;if(n>0?r>s:r>=s)break;let o=this.ranges[++this.rangeIndex].from;t+=o-r}return t}moveRangeIndex(){for(;this.ranges[this.rangeIndex].to1){r=this.skipGapsTo(t,r,1),t+=r;let a=this.chunk.length;r=this.skipGapsTo(n,r,-1),n+=r,s+=this.chunk.length-a}let o=this.chunk.length-4;return this.lang.streamParser.mergeTokens&&s==4&&o>=0&&this.chunk[o]==e&&this.chunk[o+2]==t?this.chunk[o+2]=n:this.chunk.push(e,t,n,s),r}parseLine(e){let{line:t,end:n}=this.nextLine(),r=0,{streamParser:s}=this.lang,o=new As(t,e?e.state.tabSize:4,e?gi(e.state):2);if(o.eol())s.blankLine(this.state,o.indentUnit);else for(;!o.eol();){let a=uO(s.token,o,this.state);if(a&&(r=this.emitToken(this.lang.tokenTable.resolve(a),this.parsedPos+o.start,this.parsedPos+o.pos,r)),o.start>1e4)break}this.parsedPos=n,this.moveRangeIndex(),this.parsedPose.start)return r}throw new Error("Stream parser failed to advance stream.")}var $l=Object.create(null),hr=[Oe.none],Sb=new Dt(hr),tO=[],iO=Object.create(null),OO=Object.create(null);for(let[i,e]of[["variable","variableName"],["variable-2","variableName.special"],["string-2","string.special"],["def","variableName.definition"],["tag","tagName"],["attribute","attributeName"],["type","typeName"],["builtin","variableName.standard"],["qualifier","modifier"],["error","invalid"],["header","heading"],["property","propertyName"]])OO[i]=dO($l,e);var Es=class{constructor(e){this.extra=e,this.table=Object.assign(Object.create(null),OO)}resolve(e){return e?this.table[e]||(this.table[e]=dO(this.extra,e)):0}},yb=new Es($l);function ml(i,e){tO.indexOf(i)>-1||(tO.push(i),console.warn(e))}function dO(i,e){let t=[];for(let a of e.split(" ")){let l=[];for(let c of a.split(".")){let h=i[c]||d[c];h?typeof h=="function"?l.length?l=l.map(h):ml(c,`Modifier ${c} used at start of tag`):l.length?ml(c,`Tag ${c} used as modifier`):l=Array.isArray(h)?h:[h]:ml(c,`Unknown highlighting tag ${c}`)}for(let c of l)t.push(c)}if(!t.length)return 0;let n=e.replace(/ /g,"_"),r=n+" "+t.map(a=>a.id),s=iO[r];if(s)return s.id;let o=iO[r]=Oe.define({id:hr.length,name:n,props:[Qe({[n]:t})]});return hr.push(o),o.id}function kb(i,e){let t=Oe.define({id:hr.length,name:"Document",props:[bt.add(()=>i),we.add(()=>n=>e.getIndent(n))],top:!0});return hr.push(t),t}var x$={rtl:A.mark({class:"cm-iso",inclusive:!0,attributes:{dir:"rtl"},bidiIsolate:ue.RTL}),ltr:A.mark({class:"cm-iso",inclusive:!0,attributes:{dir:"ltr"},bidiIsolate:ue.LTR}),auto:A.mark({class:"cm-iso",inclusive:!0,attributes:{dir:"auto"},bidiIsolate:null})};var xb=i=>{let{state:e}=i,t=e.doc.lineAt(e.selection.main.from),n=Zl(i.state,t.from);return n.line?wb(i):n.block?vb(i):!1};function Al(i,e){return({state:t,dispatch:n})=>{if(t.readOnly)return!1;let r=i(e,t);return r?(n(t.update(r)),!0):!1}}var wb=Al(Cb,0);var Pb=Al(xO,0);var vb=Al((i,e)=>xO(i,e,Tb(e)),0);function Zl(i,e){let t=i.languageDataAt("commentTokens",e,1);return t.length?t[0]:{}}var ur=50;function $b(i,{open:e,close:t},n,r){let s=i.sliceDoc(n-ur,n),o=i.sliceDoc(r,r+ur),a=/\s*$/.exec(s)[0].length,l=/^\s*/.exec(o)[0].length,c=s.length-a;if(s.slice(c-e.length,c)==e&&o.slice(l,l+t.length)==t)return{open:{pos:n-a,margin:a&&1},close:{pos:r+l,margin:l&&1}};let h,f;r-n<=2*ur?h=f=i.sliceDoc(n,r):(h=i.sliceDoc(n,n+ur),f=i.sliceDoc(r-ur,r));let u=/^\s*/.exec(h)[0].length,O=/\s*$/.exec(f)[0].length,p=f.length-O-t.length;return h.slice(u,u+e.length)==e&&f.slice(p,p+t.length)==t?{open:{pos:n+u+e.length,margin:/\s/.test(h.charAt(u+e.length))?1:0},close:{pos:r-O-t.length,margin:/\s/.test(f.charAt(p-1))?1:0}}:null}function Tb(i){let e=[];for(let t of i.selection.ranges){let n=i.doc.lineAt(t.from),r=t.to<=n.to?n:i.doc.lineAt(t.to);r.from>n.from&&r.from==t.to&&(r=t.to==n.to+1?n:i.doc.lineAt(t.to-1));let s=e.length-1;s>=0&&e[s].to>n.from?e[s].to=r.to:e.push({from:n.from+/^\s*/.exec(n.text)[0].length,to:r.to})}return e}function xO(i,e,t=e.selection.ranges){let n=t.map(s=>Zl(e,s.from).block);if(!n.every(s=>s))return null;let r=t.map((s,o)=>$b(e,n[o],s.from,s.to));if(i!=2&&!r.every(s=>s))return{changes:e.changes(t.map((s,o)=>r[o]?[]:[{from:s.from,insert:n[o].open+" "},{from:s.to,insert:" "+n[o].close}]))};if(i!=1&&r.some(s=>s)){let s=[];for(let o=0,a;or&&(s==o||o>f.from)){r=f.from;let u=/^\s*/.exec(f.text)[0].length,O=u==f.length,p=f.text.slice(u,u+c.length)==c?u:-1;us.comment<0&&(!s.empty||s.single))){let s=[];for(let{line:a,token:l,indent:c,empty:h,single:f}of n)(f||!h)&&s.push({from:a.from+c,insert:l+" "});let o=e.changes(s);return{changes:o,selection:e.selection.map(o,1)}}else if(i!=1&&n.some(s=>s.comment>=0)){let s=[];for(let{line:o,comment:a,token:l}of n)if(a>=0){let c=o.from+a,h=c+l.length;o.text[h-o.from]==" "&&h++,s.push({from:c,to:h})}return{changes:s}}return null}var Cl=_e.define(),Xb=_e.define(),_b=Y.define(),wO=Y.define({combine(i){return Yn(i,{minDepth:100,newGroupDelay:500,joinToEvent:(e,t)=>t},{minDepth:Math.max,newGroupDelay:Math.min,joinToEvent:(e,t)=>(n,r)=>e(n,r)||t(n,r)})}}),PO=he.define({create(){return Di.empty},update(i,e){let t=e.state.facet(wO),n=e.annotation(Cl);if(n){let l=yt.fromTransaction(e,n.selection),c=n.side,h=c==0?i.undone:i.done;return l?h=Ms(h,h.length,t.minDepth,l):h=CO(h,e.startState.selection),new Di(c==0?n.rest:h,c==0?h:n.rest)}let r=e.annotation(Xb);if((r=="full"||r=="before")&&(i=i.isolate()),e.annotation(pe.addToHistory)===!1)return e.changes.empty?i:i.addMapping(e.changes.desc);let s=yt.fromTransaction(e),o=e.annotation(pe.time),a=e.annotation(pe.userEvent);return s?i=i.addChanges(s,o,a,t,e):e.selection&&(i=i.addSelection(e.startState.selection,o,a,t.newGroupDelay)),(r=="full"||r=="after")&&(i=i.isolate()),i},toJSON(i){return{done:i.done.map(e=>e.toJSON()),undone:i.undone.map(e=>e.toJSON())}},fromJSON(i){return new Di(i.done.map(yt.fromJSON),i.undone.map(yt.fromJSON))}});function vO(i={}){return[PO,wO.of(i),z.domEventHandlers({beforeinput(e,t){let n=e.inputType=="historyUndo"?$O:e.inputType=="historyRedo"?Xl:null;return n?(e.preventDefault(),n(t)):!1}})]}function Ws(i,e){return function({state:t,dispatch:n}){if(!e&&t.readOnly)return!1;let r=t.field(PO,!1);if(!r)return!1;let s=r.pop(i,t,e);return s?(n(s),!0):!1}}var $O=Ws(0,!1),Xl=Ws(1,!1),Rb=Ws(0,!0),Ab=Ws(1,!0);var yt=class i{constructor(e,t,n,r,s){this.changes=e,this.effects=t,this.mapped=n,this.startSelection=r,this.selectionsAfter=s}setSelAfter(e){return new i(this.changes,this.effects,this.mapped,this.startSelection,e)}toJSON(){var e,t,n;return{changes:(e=this.changes)===null||e===void 0?void 0:e.toJSON(),mapped:(t=this.mapped)===null||t===void 0?void 0:t.toJSON(),startSelection:(n=this.startSelection)===null||n===void 0?void 0:n.toJSON(),selectionsAfter:this.selectionsAfter.map(r=>r.toJSON())}}static fromJSON(e){return new i(e.changes&&qe.fromJSON(e.changes),[],e.mapped&&zt.fromJSON(e.mapped),e.startSelection&&P.fromJSON(e.startSelection),e.selectionsAfter.map(P.fromJSON))}static fromTransaction(e,t){let n=ft;for(let r of e.startState.facet(_b)){let s=r(e);s.length&&(n=n.concat(s))}return!n.length&&e.changes.empty?null:new i(e.changes.invert(e.startState.doc),n,void 0,t||e.startState.selection,ft)}static selection(e){return new i(void 0,ft,void 0,void 0,e)}};function Ms(i,e,t,n){let r=e+1>t+20?e-t-1:0,s=i.slice(r,e);return s.push(n),s}function Zb(i,e){let t=[],n=!1;return i.iterChangedRanges((r,s)=>t.push(r,s)),e.iterChangedRanges((r,s,o,a)=>{for(let l=0;l=c&&o<=h&&(n=!0)}}),n}function Eb(i,e){return i.ranges.length==e.ranges.length&&i.ranges.filter((t,n)=>t.empty!=e.ranges[n].empty).length===0}function TO(i,e){return i.length?e.length?i.concat(e):i:e}var ft=[],qb=200;function CO(i,e){if(i.length){let t=i[i.length-1],n=t.selectionsAfter.slice(Math.max(0,t.selectionsAfter.length-qb));return n.length&&n[n.length-1].eq(e)?i:(n.push(e),Ms(i,i.length-1,1e9,t.setSelAfter(n)))}else return[yt.selection([e])]}function zb(i){let e=i[i.length-1],t=i.slice();return t[i.length-1]=e.setSelAfter(e.selectionsAfter.slice(0,e.selectionsAfter.length-1)),t}function Tl(i,e){if(!i.length)return i;let t=i.length,n=ft;for(;t;){let r=Lb(i[t-1],e,n);if(r.changes&&!r.changes.empty||r.effects.length){let s=i.slice(0,t);return s[t-1]=r,s}else e=r.mapped,t--,n=r.selectionsAfter}return n.length?[yt.selection(n)]:ft}function Lb(i,e,t){let n=TO(i.selectionsAfter.length?i.selectionsAfter.map(a=>a.map(e)):ft,t);if(!i.changes)return yt.selection(n);let r=i.changes.map(e),s=e.mapDesc(i.changes,!0),o=i.mapped?i.mapped.composeDesc(s):s;return new yt(r,te.mapEffects(i.effects,e),o,i.startSelection.map(s),n)}var Mb=/^(input\.type|delete)($|\.)/,Di=class i{constructor(e,t,n=0,r=void 0){this.done=e,this.undone=t,this.prevTime=n,this.prevUserEvent=r}isolate(){return this.prevTime?new i(this.done,this.undone):this}addChanges(e,t,n,r,s){let o=this.done,a=o[o.length-1];return a&&a.changes&&!a.changes.empty&&e.changes&&(!n||Mb.test(n))&&(!a.selectionsAfter.length&&t-this.prevTime0&&t-this.prevTimet.empty?i.moveByChar(t,e):js(t,e))}function Re(i){return i.textDirectionAt(i.state.selection.main.head)==ue.LTR}var RO=i=>_O(i,!Re(i)),AO=i=>_O(i,Re(i));function ZO(i,e){return xt(i,t=>t.empty?i.moveByGroup(t,e):js(t,e))}var Wb=i=>ZO(i,!Re(i)),jb=i=>ZO(i,Re(i));var _$=typeof Intl<"u"&&Intl.Segmenter?new Intl.Segmenter(void 0,{granularity:"word"}):null;function Vb(i,e,t){if(e.type.prop(t))return!0;let n=e.to-e.from;return n&&(n>2||/[^\s,.;:]/.test(i.sliceDoc(e.from,e.to)))||e.firstChild}function Vs(i,e,t){let n=U(i).resolveInner(e.head),r=t?I.closedBy:I.openedBy;for(let l=e.head;;){let c=t?n.childAfter(l):n.childBefore(l);if(!c)break;Vb(i,c,r)?n=c:l=t?c.to:c.from}let s=n.type.prop(r),o,a;return s&&(o=t?Vi(i,n.from,1):Vi(i,n.to,-1))&&o.matched?a=t?o.end.to:o.end.from:a=t?n.to:n.from,P.cursor(a,t?-1:1)}var Db=i=>xt(i,e=>Vs(i.state,e,!Re(i))),Yb=i=>xt(i,e=>Vs(i.state,e,Re(i)));function EO(i,e){return xt(i,t=>{if(!t.empty)return js(t,e);let n=i.moveVertically(t,e);return n.head!=t.head?n:i.moveToLineBoundary(t,e)})}var qO=i=>EO(i,!1),zO=i=>EO(i,!0);function LO(i){let e=i.scrollDOM.clientHeighto.empty?i.moveVertically(o,e,t.height):js(o,e));if(r.eq(n.selection))return!1;let s;if(t.selfScroll){let o=i.coordsAtPos(n.selection.main.head),a=i.scrollDOM.getBoundingClientRect(),l=a.top+t.marginTop,c=a.bottom-t.marginBottom;o&&o.top>l&&o.bottomMO(i,!1),_l=i=>MO(i,!0);function Qi(i,e,t){let n=i.lineBlockAt(e.head),r=i.moveToLineBoundary(e,t);if(r.head==e.head&&r.head!=(t?n.to:n.from)&&(r=i.moveToLineBoundary(e,t,!1)),!t&&r.head==n.from&&n.length){let s=/^\s*/.exec(i.state.sliceDoc(n.from,Math.min(n.from+100,n.to)))[0].length;s&&e.head!=n.from+s&&(r=P.cursor(n.from+s))}return r}var Ib=i=>xt(i,e=>Qi(i,e,!0)),Bb=i=>xt(i,e=>Qi(i,e,!1)),Ub=i=>xt(i,e=>Qi(i,e,!Re(i))),Gb=i=>xt(i,e=>Qi(i,e,Re(i))),Nb=i=>xt(i,e=>P.cursor(i.lineBlockAt(e.head).from,1)),Fb=i=>xt(i,e=>P.cursor(i.lineBlockAt(e.head).to,-1));function Hb(i,e,t){let n=!1,r=xn(i.selection,s=>{let o=Vi(i,s.head,-1)||Vi(i,s.head,1)||s.head>0&&Vi(i,s.head-1,1)||s.headHb(i,e,!1);function ut(i,e,t){let n=xn(i.state.selection,r=>{r.undirectional&&r.head>=r.anchor!=e&&(r=P.range(r.head,r.anchor));let s=t(r);return P.range(r.anchor,s.head,s.goalColumn,s.bidiLevel||void 0,s.assoc)});return n.eq(i.state.selection)?!1:(i.dispatch(kt(i.state,n)),!0)}function WO(i,e){return ut(i,e,t=>i.moveByChar(t,e))}var jO=i=>WO(i,!Re(i)),VO=i=>WO(i,Re(i));function DO(i,e){return ut(i,e,t=>i.moveByGroup(t,e))}var Jb=i=>DO(i,!Re(i)),eS=i=>DO(i,Re(i));var tS=i=>{let e=!Re(i);return ut(i,e,t=>Vs(i.state,t,e))},iS=i=>{let e=Re(i);return ut(i,e,t=>Vs(i.state,t,e))};function YO(i,e){return ut(i,e,t=>i.moveVertically(t,e))}var IO=i=>YO(i,!1),BO=i=>YO(i,!0);function UO(i,e){return ut(i,e,t=>i.moveVertically(t,e,LO(i).height))}var mO=i=>UO(i,!1),gO=i=>UO(i,!0),nS=i=>ut(i,!0,e=>Qi(i,e,!0)),rS=i=>ut(i,!1,e=>Qi(i,e,!1)),sS=i=>{let e=!Re(i);return ut(i,e,t=>Qi(i,t,e))},oS=i=>{let e=Re(i);return ut(i,e,t=>Qi(i,t,e))},aS=i=>ut(i,!1,e=>P.cursor(i.lineBlockAt(e.head).from)),lS=i=>ut(i,!0,e=>P.cursor(i.lineBlockAt(e.head).to)),QO=({state:i,dispatch:e})=>(e(kt(i,{anchor:0})),!0),bO=({state:i,dispatch:e})=>(e(kt(i,{anchor:i.doc.length})),!0),SO=({state:i,dispatch:e})=>(e(kt(i,{anchor:i.selection.main.anchor,head:0})),!0),yO=({state:i,dispatch:e})=>(e(kt(i,{anchor:i.selection.main.anchor,head:i.doc.length})),!0),cS=({state:i,dispatch:e})=>(e(i.update({selection:{anchor:0,head:i.doc.length},userEvent:"select"})),!0),hS=({state:i,dispatch:e})=>{let t=Ds(i).map(({from:n,to:r})=>P.range(n,Math.min(r+1,i.doc.length)));return e(i.update({selection:P.create(t),userEvent:"select"})),!0},fS=({state:i,dispatch:e})=>{let t=xn(i.selection,n=>{let r=U(i),s=r.resolveStack(n.from,1);if(n.empty){let o=r.resolveStack(n.from,-1);o.node.from>=s.node.from&&o.node.to<=s.node.to&&(s=o)}for(let o=s;o;o=o.next){let{node:a}=o;if((a.from=n.to||a.to>n.to&&a.from<=n.from)&&o.next)return P.range(a.to,a.from)}return n});return t.eq(i.selection)?!1:(e(kt(i,t)),!0)};function GO(i,e){let{state:t}=i,n=t.selection,r=t.selection.ranges.slice();for(let s of t.selection.ranges){let o=t.doc.lineAt(s.head);if(e?o.to0)for(let a=s;;){let l=i.moveVertically(a,e);if(l.heado.to){r.some(c=>c.head==l.head)||r.push(l);break}else{if(l.head==a.head)break;a=l}}}return r.length==n.ranges.length?!1:(i.dispatch(kt(t,P.create(r,r.length-1))),!0)}var uS=i=>GO(i,!1),OS=i=>GO(i,!0),dS=({state:i,dispatch:e})=>{let t=i.selection,n=null;return t.ranges.length>1?n=P.create([t.main]):t.main.empty||(n=P.create([P.cursor(t.main.head)])),n?(e(kt(i,n)),!0):!1};function Or(i,e){if(i.state.readOnly)return!1;let t="delete.selection",{state:n}=i,r=n.changeByRange(s=>{let{from:o,to:a}=s;if(o==a){let l=e(s);lo&&(t="delete.forward",l=Ls(i,l,!0)),o=Math.min(o,l),a=Math.max(a,l)}else o=Ls(i,o,!1),a=Ls(i,a,!0);return o==a?{range:s}:{changes:{from:o,to:a},range:P.cursor(o,or(i)))n.between(e,e,(r,s)=>{re&&(e=t?s:r)});return e}var NO=(i,e,t)=>Or(i,n=>{let r=n.from,{state:s}=i,o=s.doc.lineAt(r),a,l;if(t&&!e&&r>o.from&&rNO(i,!1,!0);var FO=i=>NO(i,!0,!1),HO=(i,e)=>Or(i,t=>{let n=t.head,{state:r}=i,s=r.doc.lineAt(n),o=r.charCategorizer(n);for(let a=null;;){if(n==(e?s.to:s.from)){n==t.head&&s.number!=(e?r.doc.lines:1)&&(n+=e?1:-1);break}let l=ke(s.text,n-s.from,e)+s.from,c=s.text.slice(Math.min(n,l)-s.from,Math.max(n,l)-s.from),h=o(c);if(a!=null&&h!=a)break;(c!=" "||n!=t.head)&&(a=h),n=l}return n}),KO=i=>HO(i,!1),pS=i=>HO(i,!0);var mS=i=>Or(i,e=>{let t=i.lineBlockAt(e.head).to;return e.headOr(i,e=>{let t=i.moveToLineBoundary(e,!1).head;return e.head>t?t:Math.max(0,e.head-1)}),QS=i=>Or(i,e=>{let t=i.moveToLineBoundary(e,!0).head;return e.head{if(i.readOnly)return!1;let t=i.changeByRange(n=>({changes:{from:n.from,to:n.to,insert:K.of(["",""])},range:P.cursor(n.from)}));return e(i.update(t,{scrollIntoView:!0,userEvent:"input"})),!0},SS=({state:i,dispatch:e})=>{if(i.readOnly)return!1;let t=i.changeByRange(n=>{if(!n.empty||n.from==0||n.from==i.doc.length)return{range:n};let r=n.from,s=i.doc.lineAt(r),o=r==s.from?r-1:ke(s.text,r-s.from,!1)+s.from,a=r==s.to?r+1:ke(s.text,r-s.from,!0)+s.from;return{changes:{from:o,to:a,insert:i.doc.slice(r,a).append(i.doc.slice(o,r))},range:P.cursor(a)}});return t.changes.empty?!1:(e(i.update(t,{scrollIntoView:!0,userEvent:"move.character"})),!0)};function Ds(i){let e=[],t=-1;for(let n of i.selection.ranges){let r=i.doc.lineAt(n.from),s=i.doc.lineAt(n.to);if(!n.empty&&n.to==s.from&&(s=i.doc.lineAt(n.to-1)),t>=r.number){let o=e[e.length-1];o.to=s.to,o.ranges.push(n)}else e.push({from:r.from,to:s.to,ranges:[n]});t=s.number+1}return e}function JO(i,e,t){if(i.readOnly)return!1;let n=[],r=[];for(let s of Ds(i)){if(t?s.to==i.doc.length:s.from==0)continue;let o=i.doc.lineAt(t?s.to+1:s.from-1),a=o.length+1;if(t){n.push({from:s.to,to:o.to},{from:s.from,insert:o.text+i.lineBreak});for(let l of s.ranges)r.push(P.range(Math.min(i.doc.length,l.anchor+a),Math.min(i.doc.length,l.head+a)))}else{n.push({from:o.from,to:s.from},{from:s.to,insert:i.lineBreak+o.text});for(let l of s.ranges)r.push(P.range(l.anchor-a,l.head-a))}}return n.length?(e(i.update({changes:n,scrollIntoView:!0,selection:P.create(r,i.selection.mainIndex),userEvent:"move.line"})),!0):!1}var yS=({state:i,dispatch:e})=>JO(i,e,!1),kS=({state:i,dispatch:e})=>JO(i,e,!0);function ed(i,e,t){if(i.readOnly)return!1;let n=[];for(let s of Ds(i))t?n.push({from:s.from,insert:i.doc.slice(s.from,s.to)+i.lineBreak}):n.push({from:s.to,insert:i.lineBreak+i.doc.slice(s.from,s.to)});let r=i.changes(n);return e(i.update({changes:r,selection:i.selection.map(r,t?1:-1),scrollIntoView:!0,userEvent:"input.copyline"})),!0}var xS=({state:i,dispatch:e})=>ed(i,e,!1),wS=({state:i,dispatch:e})=>ed(i,e,!0),PS=i=>{if(i.state.readOnly)return!1;let{state:e}=i,t=e.changes(Ds(e).map(({from:r,to:s})=>(r>0?r--:s{let s;if(i.lineWrapping){let o=i.lineBlockAt(r.head),a=i.coordsAtPos(r.head,r.assoc||1);a&&(s=o.bottom+i.documentTop-a.bottom+i.defaultLineHeight/2)}return i.moveVertically(r,!0,s)}).map(t);return i.dispatch({changes:t,selection:n,scrollIntoView:!0,userEvent:"delete.line"}),!0};function vS(i,e){if(/\(\)|\[\]|\{\}/.test(i.sliceDoc(e-1,e+1)))return{from:e,to:e};let t=U(i).resolveInner(e),n=t.childBefore(e),r=t.childAfter(e),s;return n&&r&&n.to<=e&&r.from>=e&&(s=n.type.prop(I.closedBy))&&s.indexOf(r.name)>-1&&i.doc.lineAt(n.to).from==i.doc.lineAt(r.from).from&&!/\S/.test(i.sliceDoc(n.to,r.from))?{from:n.to,to:r.from}:null}var kO=td(!1),$S=td(!0);function td(i){return({state:e,dispatch:t})=>{if(e.readOnly)return!1;let n=e.changeByRange(r=>{let{from:s,to:o}=r,a=e.doc.lineAt(s),l=!i&&s==o&&vS(e,s);i&&(s=o=(o<=a.to?a:e.doc.lineAt(o)).to);let c=new ji(e,{simulateBreak:s,simulateDoubleBreak:!!l}),h=wl(c,s);for(h==null&&(h=Ne(/^\s*/.exec(e.doc.lineAt(s).text)[0],e.tabSize));oa.from&&s{let r=[];for(let o=n.from;o<=n.to;){let a=i.doc.lineAt(o);a.number>t&&(n.empty||n.to>a.from)&&(e(a,r,n),t=a.number),o=a.to+1}let s=i.changes(r);return{changes:r,range:P.range(s.mapPos(n.anchor,1),s.mapPos(n.head,1))}})}var TS=({state:i,dispatch:e})=>{if(i.readOnly)return!1;let t=Object.create(null),n=new ji(i,{overrideIndentation:s=>{let o=t[s];return o??-1}}),r=El(i,(s,o,a)=>{let l=wl(n,s.from);if(l==null)return;/\S/.test(s.text)||(l=0);let c=/^\s*/.exec(s.text)[0],h=fr(i,l);(c!=h||a.fromi.readOnly?!1:(e(i.update(El(i,(t,n)=>{n.push({from:t.from,insert:i.facet(Rt)})}),{userEvent:"input.indent"})),!0),ql=({state:i,dispatch:e})=>i.readOnly?!1:(e(i.update(El(i,(t,n)=>{let r=/^\s*/.exec(t.text)[0];if(!r)return;let s=Ne(r,i.tabSize),o=0,a=fr(i,Math.max(0,s-gi(i)));for(;o(i.setTabFocusMode(),!0);var zl=({state:i,dispatch:e})=>i.selection.ranges.some(t=>!t.empty)?id({state:i,dispatch:e}):(e(i.update(i.replaceSelection(" "),{scrollIntoView:!0,userEvent:"input"})),!0),XS=[{key:"Ctrl-b",run:RO,shift:jO,preventDefault:!0},{key:"Ctrl-f",run:AO,shift:VO},{key:"Ctrl-p",run:qO,shift:IO},{key:"Ctrl-n",run:zO,shift:BO},{key:"Ctrl-a",run:Nb,shift:aS},{key:"Ctrl-e",run:Fb,shift:lS},{key:"Ctrl-d",run:FO},{key:"Ctrl-h",run:Rl},{key:"Ctrl-k",run:mS},{key:"Ctrl-Alt-h",run:KO},{key:"Ctrl-o",run:bS},{key:"Ctrl-t",run:SS},{key:"Ctrl-v",run:_l}],_S=[{key:"ArrowLeft",run:RO,shift:jO,preventDefault:!0},{key:"Mod-ArrowLeft",mac:"Alt-ArrowLeft",run:Wb,shift:Jb,preventDefault:!0},{mac:"Cmd-ArrowLeft",run:Ub,shift:sS,preventDefault:!0},{key:"ArrowRight",run:AO,shift:VO,preventDefault:!0},{key:"Mod-ArrowRight",mac:"Alt-ArrowRight",run:jb,shift:eS,preventDefault:!0},{mac:"Cmd-ArrowRight",run:Gb,shift:oS,preventDefault:!0},{key:"ArrowUp",run:qO,shift:IO,preventDefault:!0},{mac:"Cmd-ArrowUp",run:QO,shift:SO},{mac:"Ctrl-ArrowUp",run:pO,shift:mO},{key:"ArrowDown",run:zO,shift:BO,preventDefault:!0},{mac:"Cmd-ArrowDown",run:bO,shift:yO},{mac:"Ctrl-ArrowDown",run:_l,shift:gO},{key:"PageUp",run:pO,shift:mO},{key:"PageDown",run:_l,shift:gO},{key:"Home",run:Bb,shift:rS,preventDefault:!0},{key:"Mod-Home",run:QO,shift:SO},{key:"End",run:Ib,shift:nS,preventDefault:!0},{key:"Mod-End",run:bO,shift:yO},{key:"Enter",run:kO,shift:kO},{key:"Mod-a",run:cS},{key:"Backspace",run:Rl,shift:Rl,preventDefault:!0},{key:"Delete",run:FO,preventDefault:!0},{key:"Mod-Backspace",mac:"Alt-Backspace",run:KO,preventDefault:!0},{key:"Mod-Delete",mac:"Alt-Delete",run:pS,preventDefault:!0},{mac:"Mod-Backspace",run:gS,preventDefault:!0},{mac:"Mod-Delete",run:QS,preventDefault:!0}].concat(XS.map(i=>({mac:i.key,run:i.run,shift:i.shift}))),nd=[{key:"Alt-ArrowLeft",mac:"Ctrl-ArrowLeft",run:Db,shift:tS},{key:"Alt-ArrowRight",mac:"Ctrl-ArrowRight",run:Yb,shift:iS},{key:"Alt-ArrowUp",run:yS},{key:"Shift-Alt-ArrowUp",run:xS},{key:"Alt-ArrowDown",run:kS},{key:"Shift-Alt-ArrowDown",run:wS},{key:"Mod-Alt-ArrowUp",run:uS},{key:"Mod-Alt-ArrowDown",run:OS},{key:"Escape",run:dS},{key:"Mod-Enter",run:$S},{key:"Alt-l",mac:"Ctrl-l",run:hS},{key:"Mod-i",run:fS,preventDefault:!0},{key:"Mod-[",run:ql},{key:"Mod-]",run:id},{key:"Mod-Alt-\\",run:TS},{key:"Shift-Mod-k",run:PS},{key:"Shift-Mod-\\",run:Kb},{key:"Mod-/",run:xb},{key:"Alt-A",run:Pb},{key:"Ctrl-m",mac:"Shift-Alt-m",run:CS}].concat(_S);var Ys=class{constructor(e,t,n,r){this.state=e,this.pos=t,this.explicit=n,this.view=r,this.abortListeners=[],this.abortOnDocChange=!1}tokenBefore(e){let t=U(this.state).resolveInner(this.pos,-1);for(;t&&e.indexOf(t.name)<0;)t=t.parent;return t?{from:t.from,to:this.pos,text:this.state.sliceDoc(t.from,this.pos),type:t.type}:null}matchBefore(e){let t=this.state.doc.lineAt(this.pos),n=Math.max(t.from,this.pos-250),r=t.text.slice(n-t.from,this.pos-t.from),s=r.search(AS(e,!1));return s<0?null:{from:n+s,to:this.pos,text:r.slice(s)}}get aborted(){return this.abortListeners==null}addEventListener(e,t,n){e=="abort"&&this.abortListeners&&(this.abortListeners.push(t),n&&n.onDocChange&&(this.abortOnDocChange=!0))}};function rd(i){let e=Object.keys(i).join(""),t=/\w/.test(e);return t&&(e=e.replace(/\w/g,"")),`[${t?"\\w":""}${e.replace(/[^\w\s]/g,"\\$&")}]`}function RS(i){let e=Object.create(null),t=Object.create(null);for(let{label:r}of i){e[r[0]]=!0;for(let s=1;stypeof r=="string"?{label:r}:r),[t,n]=e.every(r=>/^\w+$/.test(r.label))?[/\w*$/,/\w+$/]:RS(e);return r=>{let s=r.matchBefore(n);return s||r.explicit?{from:s?s.from:r.pos,options:e,validFor:t}:null}}function Bs(i,e){return t=>{for(let n=U(t.state).resolveInner(t.pos,-1);n;n=n.parent){if(i.indexOf(n.name)>-1)return null;if(n.type.isTop)break}return e(t)}}function AS(i,e){var t;let{source:n}=i,r=e&&n[0]!="^",s=n[n.length-1]!="$";return!r&&!s?i:new RegExp(`${r?"^":""}(?:${n})${s?"$":""}`,(t=i.flags)!==null&&t!==void 0?t:i.ignoreCase?"i":"")}var ZS=_e.define();var L$=typeof navigator=="object"&&/Win/.test(navigator.platform);var ES=z.baseTheme({".cm-tooltip.cm-tooltip-autocomplete":{"& > ul":{fontFamily:"monospace",whiteSpace:"nowrap",overflow:"hidden auto",maxWidth_fallback:"700px",maxWidth:"min(700px, 95vw)",minWidth:"250px",maxHeight:"10em",height:"100%",listStyle:"none",margin:0,padding:0,"& > li, & > completion-section":{padding:"1px 3px",lineHeight:1.2},"& > li":{overflowX:"hidden",textOverflow:"ellipsis",cursor:"pointer"},"& > completion-section":{display:"list-item",borderBottom:"1px solid silver",paddingLeft:"0.5em",opacity:.7}}},"&light .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#17c",color:"white"},"&light .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#777"},"&dark .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#347",color:"white"},"&dark .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#444"},".cm-completionListIncompleteTop:before, .cm-completionListIncompleteBottom:after":{content:'"\xB7\xB7\xB7"',opacity:.5,display:"block",textAlign:"center",cursor:"pointer"},".cm-tooltip.cm-completionInfo":{position:"absolute",padding:"3px 9px",width:"max-content",maxWidth:"400px",boxSizing:"border-box",whiteSpace:"pre-line"},".cm-completionInfo.cm-completionInfo-left":{right:"100%"},".cm-completionInfo.cm-completionInfo-right":{left:"100%"},".cm-completionInfo.cm-completionInfo-left-narrow":{right:"30px"},".cm-completionInfo.cm-completionInfo-right-narrow":{left:"30px"},"&light .cm-snippetField":{backgroundColor:"#00000022"},"&dark .cm-snippetField":{backgroundColor:"#ffffff22"},".cm-snippetFieldPosition":{verticalAlign:"text-top",width:0,height:"1.15em",display:"inline-block",margin:"0 -0.7px -.7em",borderLeft:"1.4px dotted #888"},".cm-completionMatchedText":{textDecoration:"underline"},".cm-completionDetail":{marginLeft:"0.5em",fontStyle:"italic"},".cm-completionIcon":{fontSize:"90%",width:".8em",display:"inline-block",textAlign:"center",paddingRight:".6em",opacity:"0.6",boxSizing:"content-box"},".cm-completionIcon-function, .cm-completionIcon-method":{"&:after":{content:"'\u0192'"}},".cm-completionIcon-class":{"&:after":{content:"'\u25CB'"}},".cm-completionIcon-interface":{"&:after":{content:"'\u25CC'"}},".cm-completionIcon-variable":{"&:after":{content:"'\u{1D465}'"}},".cm-completionIcon-constant":{"&:after":{content:"'\u{1D436}'"}},".cm-completionIcon-type":{"&:after":{content:"'\u{1D461}'"}},".cm-completionIcon-enum":{"&:after":{content:"'\u222A'"}},".cm-completionIcon-property":{"&:after":{content:"'\u25A1'"}},".cm-completionIcon-keyword":{"&:after":{content:"'\u{1F511}\uFE0E'"}},".cm-completionIcon-namespace":{"&:after":{content:"'\u25A2'"}},".cm-completionIcon-text":{"&:after":{content:"'abc'",fontSize:"50%",verticalAlign:"middle"}}}),Ml=class{constructor(e,t,n,r){this.field=e,this.line=t,this.from=n,this.to=r}},Wl=class i{constructor(e,t,n){this.field=e,this.from=t,this.to=n}map(e){let t=e.mapPos(this.from,-1,ge.TrackDel),n=e.mapPos(this.to,1,ge.TrackDel);return t==null||n==null?null:new i(this.field,t,n)}},jl=class i{constructor(e,t){this.lines=e,this.fieldPositions=t}instantiate(e,t){let n=[],r=[t],s=e.doc.lineAt(t),o=/^\s*/.exec(s.text)[0];for(let l of this.lines){if(n.length){let c=o,h=/^\t*/.exec(l)[0].length;for(let f=0;fnew Wl(l.field,r[l.line]+l.from,r[l.line]+l.to));return{text:n,ranges:a}}static parse(e){let t=[],n=[],r=[],s;for(let o of e.split(/\r\n?|\n/)){for(;s=/[#$]\{(?:(\d+)(?::([^{}]*))?|((?:\\[{}]|[^{}])*))\}/.exec(o);){let a=s[1]?+s[1]:null,l=s[2]||s[3]||"",c=-1;a===0&&(a=1e9);let h=l.replace(/\\[{}]/g,f=>f[1]);for(let f=0;f=c&&u.field++}for(let f of r)if(f.line==n.length&&f.from>s.index){let u=s[2]?3+(s[1]||"").length:2;f.from-=u,f.to-=u}r.push(new Ml(c,n.length,s.index,s.index+h.length)),o=o.slice(0,s.index)+l+o.slice(s.index+s[0].length)}o=o.replace(/\\([{}])/g,(a,l,c)=>{for(let h of r)h.line==n.length&&h.from>c&&(h.from--,h.to--);return l}),n.push(o)}return new i(n,r)}},qS=A.widget({widget:new class extends ve{toDOM(){let i=document.createElement("span");return i.className="cm-snippetFieldPosition",i}ignoreEvent(){return!1}}}),zS=A.mark({class:"cm-snippetField"}),wn=class i{constructor(e,t){this.ranges=e,this.active=t,this.deco=A.set(e.map(n=>(n.from==n.to?qS:zS).range(n.from,n.to)),!0)}map(e){let t=[];for(let n of this.ranges){let r=n.map(e);if(!r)return null;t.push(r)}return new i(t,this.active)}selectionInsideField(e){return e.ranges.every(t=>this.ranges.some(n=>n.field==this.active&&n.from<=t.from&&n.to>=t.to))}},mr=te.define({map(i,e){return i&&i.map(e)}}),LS=te.define(),dr=he.define({create(){return null},update(i,e){for(let t of e.effects){if(t.is(mr))return t.value;if(t.is(LS)&&i)return new wn(i.ranges,t.value)}return i&&e.docChanged&&(i=i.map(e.changes)),i&&e.selection&&!i.selectionInsideField(e.selection)&&(i=null),i},provide:i=>z.decorations.from(i,e=>e?e.deco:A.none)});function Vl(i,e){return P.create(i.filter(t=>t.field==e).map(t=>P.range(t.from,t.to)))}function MS(i){let e=jl.parse(i);return(t,n,r,s)=>{let{text:o,ranges:a}=e.instantiate(t.state,r),{main:l}=t.state.selection,c={changes:{from:r,to:s==l.from?l.to:s,insert:K.of(o)},scrollIntoView:!0,annotations:n?[ZS.of(n),pe.userEvent.of("input.complete")]:void 0};if(a.length&&(c.selection=Vl(a,0)),a.some(h=>h.field>0)){let h=new wn(a,0),f=c.effects=[mr.of(h)];t.state.field(dr,!1)===void 0&&f.push(te.appendConfig.of([dr,YS,IS,ES]))}t.dispatch(t.state.update(c))}}function ld(i){return({state:e,dispatch:t})=>{let n=e.field(dr,!1);if(!n||i<0&&n.active==0)return!1;let r=n.active+i,s=i>0&&!n.ranges.some(o=>o.field==r+i);return t(e.update({selection:Vl(n.ranges,r),effects:mr.of(s?null:new wn(n.ranges,r)),scrollIntoView:!0})),!0}}var WS=({state:i,dispatch:e})=>i.field(dr,!1)?(e(i.update({effects:mr.of(null)})),!0):!1,jS=ld(1),VS=ld(-1);var DS=[{key:"Tab",run:jS,shift:VS},{key:"Escape",run:WS}],sd=Y.define({combine(i){return i.length?i[0]:DS}}),YS=nt.highest(fi.compute([sd],i=>i.facet(sd)));function ce(i,e){return{...e,apply:MS(i)}}var IS=z.domEventHandlers({mousedown(i,e){let t=e.state.field(dr,!1),n;if(!t||(n=e.posAtCoords({x:i.clientX,y:i.clientY}))==null)return!1;let r=t.ranges.find(s=>s.from<=n&&s.to>=n);return!r||r.field==t.active?!1:(e.dispatch({selection:Vl(t.ranges,r.field),effects:mr.of(t.ranges.some(s=>s.field>r.field)?new wn(t.ranges,r.field):null),scrollIntoView:!0}),!0)}});var pr={brackets:["(","[","{","'",'"'],before:")]}:;>",stringPrefixes:[]},Yi=te.define({map(i,e){let t=e.mapPos(i,-1,ge.TrackAfter);return t??void 0}}),Dl=new class extends it{};Dl.startSide=1;Dl.endSide=-1;var cd=he.define({create(){return ae.empty},update(i,e){if(i=i.map(e.changes),e.selection){let t=e.state.doc.lineAt(e.selection.main.head);i=i.update({filter:n=>n>=t.from&&n<=t.to})}for(let t of e.effects)t.is(Yi)&&(i=i.update({add:[Dl.range(t.value,t.value+1)]}));return i}});function hd(){return[US,cd]}var Ll="()[]{}<>\xAB\xBB\xBB\xAB\uFF3B\uFF3D\uFF5B\uFF5D";function fd(i){for(let e=0;e{if((BS?i.composing:i.compositionStarted)||i.state.readOnly)return!1;let r=i.state.selection.main;if(n.length>2||n.length==2&&on(si(n,0))==1||e!=r.from||t!=r.to)return!1;let s=NS(i.state,n);return s?(i.dispatch(s),!0):!1}),GS=({state:i,dispatch:e})=>{if(i.readOnly)return!1;let n=ud(i,i.selection.main.head).brackets||pr.brackets,r=null,s=i.changeByRange(o=>{if(o.empty){let a=FS(i.doc,o.head);for(let l of n)if(l==a&&Us(i.doc,o.head)==fd(si(l,0)))return{changes:{from:o.head-l.length,to:o.head+l.length},range:P.cursor(o.head-l.length)}}return{range:r=o}});return r||e(i.update(s,{scrollIntoView:!0,userEvent:"delete.backward"})),!r},Od=[{key:"Backspace",run:GS}];function NS(i,e){let t=ud(i,i.selection.main.head),n=t.brackets||pr.brackets;for(let r of n){let s=fd(si(r,0));if(e==r)return s==r?JS(i,r,n.indexOf(r+r+r)>-1,t):HS(i,r,s,t.before||pr.before);if(e==s&&dd(i,i.selection.main.from))return KS(i,r,s)}return null}function dd(i,e){let t=!1;return i.field(cd).between(0,i.doc.length,n=>{n==e&&(t=!0)}),t}function Us(i,e){let t=i.sliceString(e,e+2);return t.slice(0,on(si(t,0)))}function FS(i,e){let t=i.sliceString(e-2,e);return on(si(t,0))==t.length?t:t.slice(1)}function HS(i,e,t,n){let r=null,s=i.changeByRange(o=>{if(!o.empty)return{changes:[{insert:e,from:o.from},{insert:t,from:o.to}],effects:Yi.of(o.to+e.length),range:P.range(o.anchor+e.length,o.head+e.length)};let a=Us(i.doc,o.head);return!a||/\s/.test(a)||n.indexOf(a)>-1?{changes:{insert:e+t,from:o.head},effects:Yi.of(o.head+e.length),range:P.cursor(o.head+e.length)}:{range:r=o}});return r?null:i.update(s,{scrollIntoView:!0,userEvent:"input.type"})}function KS(i,e,t){let n=null,r=i.changeByRange(s=>s.empty&&Us(i.doc,s.head)==t?{changes:{from:s.head,to:s.head+t.length,insert:t},range:P.cursor(s.head+t.length)}:n={range:s});return n?null:i.update(r,{scrollIntoView:!0,userEvent:"input.type"})}function JS(i,e,t,n){let r=n.stringPrefixes||pr.stringPrefixes,s=null,o=i.changeByRange(a=>{if(!a.empty)return{changes:[{insert:e,from:a.from},{insert:e,from:a.to}],effects:Yi.of(a.to+e.length),range:P.range(a.anchor+e.length,a.head+e.length)};let l=a.head,c=Us(i.doc,l),h;if(c==e){if(od(i,l))return{changes:{insert:e+e,from:l},effects:Yi.of(l+e.length),range:P.cursor(l+e.length)};if(dd(i,l)){let u=t&&i.sliceDoc(l,l+e.length*3)==e+e+e?e+e+e:e;return{changes:{from:l,to:l+u.length,insert:u},range:P.cursor(l+u.length)}}}else{if(t&&i.sliceDoc(l-2*e.length,l)==e+e&&(h=ad(i,l-2*e.length,r))>-1&&od(i,h))return{changes:{insert:e+e+e+e,from:l},effects:Yi.of(l+e.length),range:P.cursor(l+e.length)};if(i.charCategorizer(l)(c)!=Ee.Word&&ad(i,l,r)>-1&&!ey(i,l,e,r))return{changes:{insert:e+e,from:l},effects:Yi.of(l+e.length),range:P.cursor(l+e.length)}}return{range:s=a}});return s?null:i.update(o,{scrollIntoView:!0,userEvent:"input.type"})}function od(i,e){let t=U(i).resolveInner(e+1);return t.parent&&t.from==e}function ey(i,e,t,n){let r=U(i).resolveInner(e,-1),s=n.reduce((o,a)=>Math.max(o,a.length),0);for(let o=0;o<5;o++){let a=i.sliceDoc(r.from,Math.min(r.to,r.from+t.length+s)),l=a.indexOf(t);if(!l||l>-1&&n.indexOf(a.slice(0,l))>-1){let h=r.firstChild;for(;h&&h.from==r.from&&h.to-h.from>t.length+l;){if(i.sliceDoc(h.to-t.length,h.to)==t)return!1;h=h.firstChild}return!0}let c=r.to==e&&r.parent;if(!c)break;r=c}return!1}function ad(i,e,t){let n=i.charCategorizer(e);if(n(i.sliceDoc(e-1,e))!=Ee.Word)return e;for(let r of t){let s=e-r.length;if(i.sliceDoc(s,e)==r&&n(i.sliceDoc(s-1,s))!=Ee.Word)return s}return-1}var Fs=class i{static create(e,t,n,r,s){let o=r+(r<<8)+e+(t<<4)|0;return new i(e,t,n,o,s,[],[])}constructor(e,t,n,r,s,o,a){this.type=e,this.value=t,this.from=n,this.hash=r,this.end=s,this.children=o,this.positions=a,this.hashProp=[[I.contextHash,r]]}addChild(e,t){e.prop(I.contextHash)!=this.hash&&(e=new H(e.type,e.children,e.positions,e.length,this.hashProp)),this.children.push(e),this.positions.push(t)}toTree(e,t=this.end){let n=this.children.length-1;return n>=0&&(t=Math.max(t,this.positions[n]+this.children[n].length+this.from)),new H(e.types[this.type],this.children,this.positions,t-this.from).balance({makeTree:(r,s,o)=>new H(Oe.none,r,s,o,this.hashProp)})}},Z;(function(i){i[i.Document=1]="Document",i[i.CodeBlock=2]="CodeBlock",i[i.FencedCode=3]="FencedCode",i[i.Blockquote=4]="Blockquote",i[i.HorizontalRule=5]="HorizontalRule",i[i.BulletList=6]="BulletList",i[i.OrderedList=7]="OrderedList",i[i.ListItem=8]="ListItem",i[i.ATXHeading1=9]="ATXHeading1",i[i.ATXHeading2=10]="ATXHeading2",i[i.ATXHeading3=11]="ATXHeading3",i[i.ATXHeading4=12]="ATXHeading4",i[i.ATXHeading5=13]="ATXHeading5",i[i.ATXHeading6=14]="ATXHeading6",i[i.SetextHeading1=15]="SetextHeading1",i[i.SetextHeading2=16]="SetextHeading2",i[i.HTMLBlock=17]="HTMLBlock",i[i.LinkReference=18]="LinkReference",i[i.Paragraph=19]="Paragraph",i[i.CommentBlock=20]="CommentBlock",i[i.ProcessingInstructionBlock=21]="ProcessingInstructionBlock",i[i.Escape=22]="Escape",i[i.Entity=23]="Entity",i[i.HardBreak=24]="HardBreak",i[i.Emphasis=25]="Emphasis",i[i.StrongEmphasis=26]="StrongEmphasis",i[i.Link=27]="Link",i[i.Image=28]="Image",i[i.InlineCode=29]="InlineCode",i[i.HTMLTag=30]="HTMLTag",i[i.Comment=31]="Comment",i[i.ProcessingInstruction=32]="ProcessingInstruction",i[i.Autolink=33]="Autolink",i[i.HeaderMark=34]="HeaderMark",i[i.QuoteMark=35]="QuoteMark",i[i.ListMark=36]="ListMark",i[i.LinkMark=37]="LinkMark",i[i.EmphasisMark=38]="EmphasisMark",i[i.CodeMark=39]="CodeMark",i[i.CodeText=40]="CodeText",i[i.CodeInfo=41]="CodeInfo",i[i.LinkTitle=42]="LinkTitle",i[i.LinkLabel=43]="LinkLabel",i[i.URL=44]="URL"})(Z||(Z={}));var Bl=class{constructor(e,t){this.start=e,this.content=t,this.marks=[],this.parsers=[]}},Ul=class{constructor(){this.text="",this.baseIndent=0,this.basePos=0,this.depth=0,this.markers=[],this.pos=0,this.indent=0,this.next=-1}forward(){this.basePos>this.pos&&this.forwardInner()}forwardInner(){let e=this.skipSpace(this.basePos);this.indent=this.countIndent(e,this.pos,this.indent),this.pos=e,this.next=e==this.text.length?-1:this.text.charCodeAt(e)}skipSpace(e){return Qr(this.text,e)}reset(e){for(this.text=e,this.baseIndent=this.basePos=this.pos=this.indent=0,this.forwardInner(),this.depth=1;this.markers.length;)this.markers.pop()}moveBase(e){this.basePos=e,this.baseIndent=this.countIndent(e,this.pos,this.indent)}moveBaseColumn(e){this.baseIndent=e,this.basePos=this.findColumn(e)}addMarker(e){this.markers.push(e)}countIndent(e,t=0,n=0){for(let r=t;r=e.stack[t.depth+1].value+t.baseIndent)return!0;if(t.indent>=t.baseIndent+4)return!1;let n=(i.type==Z.OrderedList?sc:rc)(t,e,!1);return n>0&&(i.type!=Z.BulletList||nc(t,e,!1)<0)&&t.text.charCodeAt(t.pos+n-1)==i.value}var vd={[Z.Blockquote](i,e,t){return t.next!=62?!1:(t.markers.push(ie(Z.QuoteMark,e.lineStart+t.pos,e.lineStart+t.pos+1)),t.moveBase(t.pos+(Ot(t.text.charCodeAt(t.pos+1))?2:1)),i.end=e.lineStart+t.text.length,!0)},[Z.ListItem](i,e,t){return t.indent-1?!1:(t.moveBaseColumn(t.baseIndent+i.value),!0)},[Z.OrderedList]:pd,[Z.BulletList]:pd,[Z.Document](){return!0}};function Ot(i){return i==32||i==9||i==10||i==13}function Qr(i,e=0){for(;et&&Ot(i.charCodeAt(e-1));)e--;return e}function $d(i){if(i.next!=96&&i.next!=126)return-1;let e=i.pos+1;for(;e-1&&i.depth==e.stack.length&&e.parser.leafBlockParsers.indexOf(Ed.SetextHeading)>-1||n<3?-1:1}function Cd(i,e){for(let t=i.stack.length-1;t>=0;t--)if(i.stack[t].type==e)return!0;return!1}function rc(i,e,t){return(i.next==45||i.next==43||i.next==42)&&(i.pos==i.text.length-1||Ot(i.text.charCodeAt(i.pos+1)))&&(!t||Cd(e,Z.BulletList)||i.skipSpace(i.pos+2)=48&&r<=57;){n++;if(n==i.text.length)return-1;r=i.text.charCodeAt(n)}return n==i.pos||n>i.pos+9||r!=46&&r!=41||ni.pos+1||i.next!=49)?-1:n+1-i.pos}function Xd(i){if(i.next!=35)return-1;let e=i.pos+1;for(;e6?-1:t}function _d(i){if(i.next!=45&&i.next!=61||i.indent>=i.baseIndent+4)return-1;let e=i.pos+1;for(;e/,Ad=/\?>/,Nl=[[/^<(?:script|pre|style)(?:\s|>|$)/i,/<\/(?:script|pre|style)>/i],[/^\s*/,Ad=/\?>/,Nl=[[/^<(?:script|pre|style)(?:\s|>|$)/i,/<\/(?:script|pre|style)>/i],[/^\s*/i.exec(n);if(s)return i.append(ie(Z.Comment,t,t+1+s[0].length));let o=/^\?[^]*?\?>/.exec(n);if(o)return i.append(ie(Z.ProcessingInstruction,t,t+1+o[0].length));let a=/^(?:![A-Z][^]*?>|!\[CDATA\[[^]*?\]\]>|\/\s*[a-zA-Z][\w-]*\s*>|\s*[a-zA-Z][\w-]*(\s+[a-zA-Z:_][\w-.:]*(?:\s*=\s*(?:[^\s"'=<>`]+|'[^']*'|"[^"]*"))?)*\s*(\/\s*)?>)/.exec(n);return a?i.append(ie(Z.HTMLTag,t,t+1+a[0].length)):-1},Emphasis(i,e,t){if(e!=95&&e!=42)return-1;let n=t+1;for(;i.char(n)==e;)n++;let r=i.slice(t-1,t),s=i.slice(n,n+1),o=yr.test(r),a=yr.test(s),l=/\s|^$/.test(r),c=/\s|^$/.test(s),h=!c&&(!a||l||o),f=!l&&(!o||c||a),u=h&&(e==42||!f||o),O=f&&(e==42||!h||a);return i.append(new Me(e==95?Ld:Md,t,n,(u?1:0)|(O?2:0)))},HardBreak(i,e,t){if(e==92&&i.char(t+1)==10)return i.append(ie(Z.HardBreak,t,t+2));if(e==32){let n=t+1;for(;i.char(n)==32;)n++;if(i.char(n)==10&&n>=t+2)return i.append(ie(Z.HardBreak,t,n+1))}return-1},Link(i,e,t){return e==91?i.append(new Me(Ii,t,t+1,1)):-1},Image(i,e,t){return e==33&&i.char(t+1)==91?i.append(new Me(Js,t,t+2,1)):-1},LinkEnd(i,e,t){if(e!=93)return-1;for(let n=i.parts.length-1;n>=0;n--){let r=i.parts[n];if(r instanceof Me&&(r.type==Ii||r.type==Js)){if(!r.side||i.skipSpace(r.to)==t&&!/[(\[]/.test(i.slice(t+1,t+2)))return i.parts[n]=null,-1;let s=i.takeContent(n),o=i.parts[n]=ny(i,s,r.type==Ii?Z.Link:Z.Image,r.from,t+1);if(r.type==Ii)for(let a=0;ae?ie(Z.URL,e+t,s+t):s==i.length?null:!1}}function jd(i,e,t){let n=i.charCodeAt(e);if(n!=39&&n!=34&&n!=40)return!1;let r=n==40?41:n;for(let s=e+1,o=!1;s=this.end?-1:this.text.charCodeAt(e-this.offset)}get end(){return this.offset+this.text.length}slice(e,t){return this.text.slice(e-this.offset,t-this.offset)}append(e){return this.parts.push(e),e.to}addDelimiter(e,t,n,r,s){return this.append(new Me(e,t,n,(r?1:0)|(s?2:0)))}get hasOpenLink(){for(let e=this.parts.length-1;e>=0;e--){let t=this.parts[e];if(t instanceof Me&&(t.type==Ii||t.type==Js))return!0}return!1}addElement(e){return this.append(e)}resolveMarkers(e){for(let n=e;n=e;l--){let m=this.parts[l];if(m instanceof Me&&m.side&1&&m.type==r.type&&!(s&&(r.side&1||m.side&2)&&(m.to-m.from+o)%3==0&&((m.to-m.from)%3||o%3))){a=m;break}}if(!a)continue;let c=r.type.resolve,h=[],f=a.from,u=r.to;if(s){let m=Math.min(2,a.to-a.from,o);f=a.to-m,u=r.from+m,c=m==1?"Emphasis":"StrongEmphasis"}a.type.mark&&h.push(this.elt(a.type.mark,f,a.to));for(let m=l+1;m=0;t--){let n=this.parts[t];if(n instanceof Me&&n.type==e&&n.side&1)return t}return null}takeContent(e){let t=this.resolveMarkers(e);return this.parts.length=e,t}getDelimiterAt(e){let t=this.parts[e];return t instanceof Me?t:null}skipSpace(e){return Qr(this.text,e-this.offset)+this.offset}elt(e,t,n,r){return typeof e=="string"?ie(this.parser.getNodeType(e),t,n,r):new Ks(e,t)}};kr.linkStart=Ii;kr.imageStart=Js;function ec(i,e){if(!e.length)return i;if(!i.length)return e;let t=i.slice(),n=0;for(let r of e){for(;n(e?e-1:0))return!1;if(this.fragmentEnd<0){let s=this.fragment.to;for(;s>0&&this.input.read(s-1,s)!=` -`;)s--;this.fragmentEnd=s?s-1:0}let n=this.cursor;n||(n=this.cursor=this.fragment.tree.cursor(),n.firstChild());let r=e+this.fragment.offset;for(;n.to<=r;)if(!n.parent())return!1;for(;;){if(n.from>=r)return this.fragment.from<=t;if(!n.childAfter(r))return!1}}matches(e){let t=this.cursor.tree;return t&&t.prop(I.contextHash)==e}takeNodes(e){let t=this.cursor,n=this.fragment.offset,r=this.fragmentEnd-(this.fragment.openEnd?1:0),s=e.absoluteLineStart,o=s,a=e.block.children.length,l=o,c=a;for(;;){if(t.to-n>r){if(t.type.isAnonymous&&t.firstChild())continue;break}let h=Dd(t.from-n,e.ranges);if(t.to-n<=e.ranges[e.rangeI].to)e.addNode(t.tree,h);else{let f=new H(e.parser.nodeSet.types[Z.Paragraph],[],[],0,e.block.hashProp);e.reusePlaceholders.set(f,t.tree),e.addNode(f,h)}if(t.type.is("Block")&&(ry.indexOf(t.type.id)<0?(o=t.to-n,a=e.block.children.length):(o=l,a=c),l=t.to-n,c=e.block.children.length),!t.nextSibling())break}for(;e.block.children.length>a;)e.block.children.pop(),e.block.positions.pop();return o-s}};function Dd(i,e){let t=i;for(let n=1;nGs[i]),Object.keys(Gs).map(i=>Ed[i]),Object.keys(Gs),ty,vd,Object.keys(Il).map(i=>Il[i]),Object.keys(Il),[]);function oy(i,e,t){let n=[];for(let r=i.firstChild,s=e;;r=r.nextSibling){let o=r?r.from:t;if(o>s&&n.push({from:s,to:o}),!r)break;s=r.to}return n}function Id(i){let{codeParser:e,htmlParser:t}=i;return{wrap:bn((r,s)=>{let o=r.type.id;if(e&&(o==Z.CodeBlock||o==Z.FencedCode)){let a="";if(o==Z.FencedCode){let c=r.node.getChild(Z.CodeInfo);c&&(a=s.read(c.from,c.to))}let l=e(a);if(l)return{parser:l,overlay:c=>c.type.id==Z.CodeText,bracketed:o==Z.FencedCode}}else if(t&&(o==Z.HTMLBlock||o==Z.HTMLTag||o==Z.CommentBlock))return{parser:t,overlay:oy(r.node,r.from,r.to)};return null})}}var ay={resolve:"Strikethrough",mark:"StrikethroughMark"},ly={defineNodes:[{name:"Strikethrough",style:{"Strikethrough/...":d.strikethrough}},{name:"StrikethroughMark",style:d.processingInstruction}],parseInline:[{name:"Strikethrough",parse(i,e,t){if(e!=126||i.char(t+1)!=126||i.char(t+2)==126)return-1;let n=i.slice(t-1,t),r=i.slice(t+2,t+3),s=/\s|^$/.test(n),o=/\s|^$/.test(r),a=yr.test(n),l=yr.test(r);return i.addDelimiter(ay,t,t+2,!o&&(!l||s||a),!s&&(!a||o||l))},after:"Emphasis"}]};function br(i,e,t=0,n,r=0){let s=0,o=!0,a=-1,l=-1,c=!1,h=()=>{n.push(i.elt("TableCell",r+a,r+l,i.parser.parseInline(e.slice(a,l),r+a)))};for(let f=t;f-1)&&s++,o=!1,n&&(a>-1&&h(),n.push(i.elt("TableDelimiter",f+r,f+r+1))),a=l=-1):(c||u!=32&&u!=9)&&(a<0&&(a=f),l=f+1),c=!c&&u==92}return a>-1&&(s++,n&&h()),s}function bd(i,e){for(let t=e;t\s]*\|?(\s*:?-+:?\s*\|)+(\s*:?-+:?\s*)?$/,eo=class{constructor(){this.rows=null}nextLine(e,t,n){if(this.rows==null){this.rows=!1;let r;if((t.next==45||t.next==58||t.next==124)&&Bd.test(r=t.text.slice(t.pos))){let s=[];br(e,n.content,0,s,n.start)==br(e,r,0)&&(this.rows=[e.elt("TableHeader",n.start,n.start+n.content.length,s),e.elt("TableDelimiter",e.lineStart+t.pos,e.lineStart+t.text.length)])}}else if(this.rows){let r=[];br(e,t.text,t.pos,r,e.lineStart),this.rows.push(e.elt("TableRow",e.lineStart+t.pos,e.lineStart+t.text.length,r))}return!1}finish(e,t){return this.rows?(e.addLeafElement(t,e.elt("Table",t.start,t.start+t.content.length,this.rows)),!0):!1}},cy={defineNodes:[{name:"Table",block:!0},{name:"TableHeader",style:{"TableHeader/...":d.heading}},"TableRow",{name:"TableCell",style:d.content},{name:"TableDelimiter",style:d.processingInstruction}],parseBlock:[{name:"Table",leaf(i,e){return bd(e.content,0)?new eo:null},endLeaf(i,e,t){if(t.parsers.some(r=>r instanceof eo)||!bd(e.text,e.basePos))return!1;let n=i.peekLine();return Bd.test(n)&&br(i,e.text,e.basePos)==br(i,n,e.basePos)},before:"SetextHeading"}]},ic=class{nextLine(){return!1}finish(e,t){return e.addLeafElement(t,e.elt("Task",t.start,t.start+t.content.length,[e.elt("TaskMarker",t.start,t.start+3),...e.parser.parseInline(t.content.slice(3),t.start+3)])),!0}},hy={defineNodes:[{name:"Task",block:!0,style:d.list},{name:"TaskMarker",style:d.atom}],parseBlock:[{name:"TaskList",leaf(i,e){return/^\[[ xX]\][ \t]/.test(e.content)&&i.parentType().name=="ListItem"?new ic:null},after:"SetextHeading"}]},Sd=/(www\.)|(https?:\/\/)|([\w.+-]{1,100}@)|(mailto:|xmpp:)/gy,yd=/[\w-]+(\.[\w-]+)+(:\d+)?(\/[^\s<]*)?/gy,fy=/[\w-]+\.[\w-]+($|[/:])/,kd=/[\w.+-]+@[\w-]+(\.[\w.-]+)+/gy,xd=/\/[a-zA-Z\d@.]+/gy;function wd(i,e,t,n){let r=0;for(let s=e;s-1)return-1;let n=e+t[0].length;for(;;){let r=i[n-1],s;if(/[?!.,:*_~]/.test(r)||r==")"&&wd(i,e,n,")")>wd(i,e,n,"("))n--;else if(r==";"&&(s=/&(?:#\d+|#x[a-f\d]+|\w+);$/.exec(i.slice(e,n))))n=e+s.index;else break}return n}function Pd(i,e){kd.lastIndex=e;let t=kd.exec(i);if(!t)return-1;let n=t[0][t[0].length-1];return n=="_"||n=="-"?-1:e+t[0].length-(n=="."?1:0)}var Oy={parseInline:[{name:"Autolink",parse(i,e,t){let n=t-i.offset;if(n&&/\w/.test(i.text[n-1]))return-1;Sd.lastIndex=n;let r=Sd.exec(i.text),s=-1;if(!r)return-1;if(r[1]||r[2]){if(s=uy(i.text,n+r[0].length),s>-1&&i.hasOpenLink){let o=/([^\[\]]|\[[^\]]*\])*/.exec(i.text.slice(n,s));s=n+o[0].length}}else r[3]?s=Pd(i.text,n):(s=Pd(i.text,n+r[0].length),s>-1&&r[0]=="xmpp:"&&(xd.lastIndex=s,r=xd.exec(i.text),r&&(s=r.index+r[0].length)));return s<0?-1:(i.addElement(i.elt("URL",t,s+i.offset)),s+i.offset)}}]},Ud=[cy,hy,ly,Oy];function Gd(i,e,t){return(n,r,s)=>{if(r!=i||n.char(s+1)==i)return-1;let o=[n.elt(t,s,s+1)];for(let a=s+1;at%3==0).concat(this.state)}]@${this.pos}${this.score?"!"+this.score:""}`}static start(e,t,n=0){let r=e.parser.context;return new i(e,[],t,n,n,0,[],0,r?new to(r,r.start):null,0,null)}get context(){return this.curContext?this.curContext.context:null}pushState(e,t){this.stack.push(this.state,t,this.bufferBase+this.buffer.length),this.state=e}reduce(e){var t;let n=e>>19,r=e&65535,{parser:s}=this.p,o=this.reducePos=2e3&&!(!((t=this.p.parser.nodeSet.types[r])===null||t===void 0)&&t.isAnonymous)&&(c==this.p.lastBigReductionStart?(this.p.bigReductionCount++,this.p.lastBigReductionSize=h):this.p.lastBigReductionSizel;)this.stack.pop();this.reduceContext(r,c)}storeNode(e,t,n,r=4,s=!1){if(e==0&&(!this.stack.length||this.stack[this.stack.length-1]0&&this.buffer[o-4]==0&&this.buffer[o-1]>-1){if(t==n)return;if(this.buffer[o-2]>=t){this.buffer[o-2]=n;return}}}if(!s||this.pos==n)this.buffer.push(e,t,n,r);else{let o=this.buffer.length;if(o>0&&(this.buffer[o-4]!=0||this.buffer[o-1]<0)){let a=!1;for(let l=o;l>0&&this.buffer[l-2]>n;l-=4)if(this.buffer[l-1]>=0){a=!0;break}if(a)for(;o>0&&this.buffer[o-2]>n;)this.buffer[o]=this.buffer[o-4],this.buffer[o+1]=this.buffer[o-3],this.buffer[o+2]=this.buffer[o-2],this.buffer[o+3]=this.buffer[o-1],o-=4,r>4&&(r-=4)}this.buffer[o]=e,this.buffer[o+1]=t,this.buffer[o+2]=n,this.buffer[o+3]=r}}shift(e,t,n,r){if(e&131072)this.pushState(e&65535,this.pos);else if((e&262144)==0){let s=e,{parser:o}=this.p;this.pos=r;let a=o.stateFlag(s,1);!a&&(r>n||t<=o.maxNode)&&(this.reducePos=r),this.pushState(s,a?n:Math.min(n,this.reducePos)),this.shiftContext(t,n),t<=o.maxNode&&this.buffer.push(t,n,r,4)}else this.pos=r,this.shiftContext(t,n),t<=this.p.parser.maxNode&&this.buffer.push(t,n,r,4)}apply(e,t,n,r){e&65536?this.reduce(e):this.shift(e,t,n,r)}useNode(e,t){let n=this.p.reused.length-1;(n<0||this.p.reused[n]!=e)&&(this.p.reused.push(e),n++);let r=this.pos;this.reducePos=this.pos=r+e.length,this.pushState(t,r),this.buffer.push(n,r,this.reducePos,-1),this.curContext&&this.updateContext(this.curContext.tracker.reuse(this.curContext.context,e,this,this.p.stream.reset(this.pos-e.length)))}split(){let e=this,t=e.buffer.length;for(t&&e.buffer[t-4]==0&&(t-=4);t>0&&e.buffer[t-2]>e.reducePos;)t-=4;let n=e.buffer.slice(t),r=e.bufferBase+t;for(;e&&r==e.bufferBase;)e=e.parent;return new i(this.p,this.stack.slice(),this.state,this.reducePos,this.pos,this.score,n,r,this.curContext,this.lookAhead,e)}recoverByDelete(e,t){let n=e<=this.p.parser.maxNode;n&&this.storeNode(e,this.pos,t,4),this.storeNode(0,this.pos,t,n?8:4),this.pos=this.reducePos=t,this.score-=190}canShift(e){for(let t=new cc(this);;){let n=this.p.parser.stateSlot(t.state,4)||this.p.parser.hasAction(t.state,e);if(n==0)return!1;if((n&65536)==0)return!0;t.reduce(n)}}recoverByInsert(e){if(this.stack.length>=300)return[];let t=this.p.parser.nextStates(this.state);if(t.length>8||this.stack.length>=120){let r=[];for(let s=0,o;sl&1&&a==o)||r.push(t[s],o)}t=r}let n=[];for(let r=0;r>19,r=t&65535,s=this.stack.length-n*3;if(s<0||e.getGoto(this.stack[s],r,!1)<0){let o=this.findForcedReduction();if(o==null)return!1;t=o}this.storeNode(0,this.pos,this.pos,4,!0),this.score-=100}return this.reducePos=this.pos,this.reduce(t),!0}findForcedReduction(){let{parser:e}=this.p,t=[],n=(r,s)=>{if(!t.includes(r))return t.push(r),e.allActions(r,o=>{if(!(o&393216))if(o&65536){let a=(o>>19)-s;if(a>1){let l=o&65535,c=this.stack.length-a*3;if(c>=0&&e.getGoto(this.stack[c],l,!1)>=0)return a<<19|65536|l}}else{let a=n(o,s+1);if(a!=null)return a}})};return n(this.state,0)}forceAll(){for(;!this.p.parser.stateFlag(this.state,2);)if(!this.forceReduce()){this.storeNode(0,this.pos,this.pos,4,!0);break}return this}get deadEnd(){if(this.stack.length!=3)return!1;let{parser:e}=this.p;return e.data[e.stateSlot(this.state,1)]==65535&&!e.stateSlot(this.state,4)}restart(){this.storeNode(0,this.pos,this.pos,4,!0),this.state=this.stack[0],this.stack.length=0}sameState(e){if(this.state!=e.state||this.stack.length!=e.stack.length)return!1;for(let t=0;t0&&this.emitLookAhead()}},to=class{constructor(e,t){this.tracker=e,this.context=t,this.hash=e.strict?e.hash(t):0}},cc=class{constructor(e){this.start=e,this.state=e.state,this.stack=e.stack,this.base=this.stack.length}reduce(e){let t=e&65535,n=e>>19;n==0?(this.stack==this.start.stack&&(this.stack=this.stack.slice()),this.stack.push(this.state,0,0),this.base+=3):this.base-=(n-1)*3;let r=this.start.p.parser.getGoto(this.stack[this.base-3],t,!0);this.state=r}},hc=class i{constructor(e,t,n){this.stack=e,this.pos=t,this.index=n,this.buffer=e.buffer,this.index==0&&this.maybeNext()}static create(e,t=e.bufferBase+e.buffer.length){return new i(e,t,t-e.bufferBase)}maybeNext(){let e=this.stack.parent;e!=null&&(this.index=this.stack.bufferBase-e.bufferBase,this.stack=e,this.buffer=e.buffer)}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}next(){this.index-=4,this.pos-=4,this.index==0&&this.maybeNext()}fork(){return new i(this.stack,this.pos,this.index)}};function xr(i,e=Uint16Array){if(typeof i!="string")return i;let t=null;for(let n=0,r=0;n=92&&o--,o>=34&&o--;let l=o-32;if(l>=46&&(l-=46,a=!0),s+=l,a)break;s*=46}t?t[r++]=s:t=new e(s)}return t}var vn=class{constructor(){this.start=-1,this.value=-1,this.end=-1,this.extended=-1,this.lookAhead=0,this.mask=0,this.context=0}},Kd=new vn,fc=class{constructor(e,t){this.input=e,this.ranges=t,this.chunk="",this.chunkOff=0,this.chunk2="",this.chunk2Pos=0,this.next=-1,this.token=Kd,this.rangeIndex=0,this.pos=this.chunkPos=t[0].from,this.range=t[0],this.end=t[t.length-1].to,this.readNext()}resolveOffset(e,t){let n=this.range,r=this.rangeIndex,s=this.pos+e;for(;sn.to:s>=n.to;){if(r==this.ranges.length-1)return null;let o=this.ranges[++r];s+=o.from-n.to,n=o}return s}clipPos(e){if(e>=this.range.from&&ee)return Math.max(e,t.from);return this.end}peek(e){let t=this.chunkOff+e,n,r;if(t>=0&&t=this.chunk2Pos&&na.to&&(this.chunk2=this.chunk2.slice(0,a.to-n)),r=this.chunk2.charCodeAt(0)}}return n>=this.token.lookAhead&&(this.token.lookAhead=n+1),r}acceptToken(e,t=0){let n=t?this.resolveOffset(t,-1):this.pos;if(n==null||n=this.chunk2Pos&&this.posthis.range.to?e.slice(0,this.range.to-this.pos):e,this.chunkPos=this.pos,this.chunkOff=0}}readNext(){return this.chunkOff>=this.chunk.length&&(this.getChunk(),this.chunkOff==this.chunk.length)?this.next=-1:this.next=this.chunk.charCodeAt(this.chunkOff)}advance(e=1){for(this.chunkOff+=e;this.pos+e>=this.range.to;){if(this.rangeIndex==this.ranges.length-1)return this.setDone();e-=this.range.to-this.pos,this.range=this.ranges[++this.rangeIndex],this.pos=this.range.from}return this.pos+=e,this.pos>=this.token.lookAhead&&(this.token.lookAhead=this.pos+1),this.readNext()}setDone(){return this.pos=this.chunkPos=this.end,this.range=this.ranges[this.rangeIndex=this.ranges.length-1],this.chunk="",this.next=-1}reset(e,t){if(t?(this.token=t,t.start=e,t.lookAhead=e+1,t.value=t.extended=-1):this.token=Kd,this.pos!=e){if(this.pos=e,e==this.end)return this.setDone(),this;for(;e=this.range.to;)this.range=this.ranges[++this.rangeIndex];e>=this.chunkPos&&e=this.chunkPos&&t<=this.chunkPos+this.chunk.length)return this.chunk.slice(e-this.chunkPos,t-this.chunkPos);if(e>=this.chunk2Pos&&t<=this.chunk2Pos+this.chunk2.length)return this.chunk2.slice(e-this.chunk2Pos,t-this.chunk2Pos);if(e>=this.range.from&&t<=this.range.to)return this.input.read(e,t);let n="";for(let r of this.ranges){if(r.from>=t)break;r.to>e&&(n+=this.input.read(Math.max(r.from,e),Math.min(r.to,t)))}return n}},Si=class{constructor(e,t){this.data=e,this.id=t}token(e,t){let{parser:n}=t.p;np(this.data,e,t,this.id,n.data,n.tokenPrecTable)}};Si.prototype.contextual=Si.prototype.fallback=Si.prototype.extend=!1;var yi=class{constructor(e,t,n){this.precTable=t,this.elseToken=n,this.data=typeof e=="string"?xr(e):e}token(e,t){let n=e.pos,r=0;for(;;){let s=e.next<0,o=e.resolveOffset(1,1);if(np(this.data,e,t,0,this.data,this.precTable),e.token.value>-1)break;if(this.elseToken==null)return;if(s||r++,o==null)break;e.reset(o,e.token)}r&&(e.reset(n,e.token),e.acceptToken(this.elseToken,r))}};yi.prototype.contextual=Si.prototype.fallback=Si.prototype.extend=!1;var J=class{constructor(e,t={}){this.token=e,this.contextual=!!t.contextual,this.fallback=!!t.fallback,this.extend=!!t.extend}};function np(i,e,t,n,r,s){let o=0,a=1<0){let p=i[O];if(l.allows(p)&&(e.token.value==-1||e.token.value==p||py(p,e.token.value,r,s))){e.acceptToken(p);break}}let h=e.next,f=0,u=i[o+2];if(e.next<0&&u>f&&i[c+u*3-3]==65535){o=i[c+u*3-1];continue e}for(;f>1,p=c+O+(O<<1),m=i[p],b=i[p+1]||65536;if(h=b)f=O+1;else{o=i[p+2],e.advance();continue e}}break}}function Jd(i,e,t){for(let n=e,r;(r=i[n])!=65535;n++)if(r==t)return n-e;return-1}function py(i,e,t,n){let r=Jd(t,n,e);return r<0||Jd(t,n,i)e)&&!n.type.isError)return t<0?Math.max(0,Math.min(n.to-1,e-25)):Math.min(i.length,Math.max(n.from+1,e+25));if(t<0?n.prevSibling():n.nextSibling())break;if(!n.parent())return t<0?0:i.length}}var uc=class{constructor(e,t){this.fragments=e,this.nodeSet=t,this.i=0,this.fragment=null,this.safeFrom=-1,this.safeTo=-1,this.trees=[],this.start=[],this.index=[],this.nextFragment()}nextFragment(){let e=this.fragment=this.i==this.fragments.length?null:this.fragments[this.i++];if(e){for(this.safeFrom=e.openStart?ep(e.tree,e.from+e.offset,1)-e.offset:e.from,this.safeTo=e.openEnd?ep(e.tree,e.to+e.offset,-1)-e.offset:e.to;this.trees.length;)this.trees.pop(),this.start.pop(),this.index.pop();this.trees.push(e.tree),this.start.push(-e.offset),this.index.push(0),this.nextStart=this.safeFrom}else this.nextStart=1e9}nodeAt(e){if(ee)return this.nextStart=o,null;if(s instanceof H){if(o==e){if(o=Math.max(this.safeFrom,e)&&(this.trees.push(s),this.start.push(o),this.index.push(0))}else this.index[t]++,this.nextStart=o+s.length}}},Oc=class{constructor(e,t){this.stream=t,this.tokens=[],this.mainToken=null,this.actions=[],this.tokens=e.tokenizers.map(n=>new vn)}getActions(e){let t=0,n=null,{parser:r}=e.p,{tokenizers:s}=r,o=r.stateSlot(e.state,3),a=e.curContext?e.curContext.hash:0,l=0;for(let c=0;cf.end+25&&(l=Math.max(f.lookAhead,l)),f.value!=0)){let u=t;if(f.extended>-1&&(t=this.addActions(e,f.extended,f.end,t)),t=this.addActions(e,f.value,f.end,t),!h.extend&&(n=f,t>u))break}}for(;this.actions.length>t;)this.actions.pop();return l&&e.setLookAhead(l),!n&&e.pos==this.stream.end&&(n=new vn,n.value=e.p.parser.eofTerm,n.start=n.end=e.pos,t=this.addActions(e,n.value,n.end,t)),this.mainToken=n,this.actions}getMainToken(e){if(this.mainToken)return this.mainToken;let t=new vn,{pos:n,p:r}=e;return t.start=n,t.end=Math.min(n+1,r.stream.end),t.value=n==r.stream.end?r.parser.eofTerm:0,t}updateCachedToken(e,t,n){let r=this.stream.clipPos(n.pos);if(t.token(this.stream.reset(r,e),n),e.value>-1){let{parser:s}=n.p;for(let o=0;o=0&&n.p.parser.dialect.allows(a>>1)){(a&1)==0?e.value=a>>1:e.extended=a>>1;break}}}else e.value=0,e.end=this.stream.clipPos(r+1)}putAction(e,t,n,r){for(let s=0;se.bufferLength*4?new uc(n,e.nodeSet):null}get parsedPos(){return this.minStackPos}advance(){let e=this.stacks,t=this.minStackPos,n=this.stacks=[],r,s;if(this.bigReductionCount>300&&e.length==1){let[o]=e;for(;o.forceReduce()&&o.stack.length&&o.stack[o.stack.length-2]>=this.lastBigReductionStart;);this.bigReductionCount=this.lastBigReductionSize=0}for(let o=0;ot)n.push(a);else{if(this.advanceStack(a,n,e))continue;{r||(r=[],s=[]),r.push(a);let l=this.tokens.getMainToken(a);s.push(l.value,l.end)}}break}}if(!n.length){let o=r&&my(r);if(o)return Ke&&console.log("Finish with "+this.stackID(o)),this.stackToTree(o);if(this.parser.strict)throw Ke&&r&&console.log("Stuck with token "+(this.tokens.mainToken?this.parser.getName(this.tokens.mainToken.value):"none")),new SyntaxError("No parse at "+t);this.recovering||(this.recovering=5)}if(this.recovering&&r){let o=this.stoppedAt!=null&&r[0].pos>this.stoppedAt?r[0]:this.runRecovery(r,s,n);if(o)return Ke&&console.log("Force-finish "+this.stackID(o)),this.stackToTree(o.forceAll())}if(this.recovering){let o=this.recovering==1?1:this.recovering*3;if(n.length>o)for(n.sort((a,l)=>l.score-a.score);n.length>o;)n.pop();n.some(a=>a.reducePos>t)&&this.recovering--}else if(n.length>1){e:for(let o=0;o500&&c.buffer.length>500)if((a.score-c.score||a.buffer.length-c.buffer.length)>0)n.splice(l--,1);else{n.splice(o--,1);continue e}}}n.length>12&&(n.sort((o,a)=>a.score-o.score),n.splice(12,n.length-12))}this.minStackPos=n[0].pos;for(let o=1;o ":"";if(this.stoppedAt!=null&&r>this.stoppedAt)return e.forceReduce()?e:null;if(this.fragments){let c=e.curContext&&e.curContext.tracker.strict,h=c?e.curContext.hash:0;for(let f=this.fragments.nodeAt(r);f;){let u=this.parser.nodeSet.types[f.type.id]==f.type?s.getGoto(e.state,f.type.id):-1;if(u>-1&&f.length&&(!c||(f.prop(I.contextHash)||0)==h))return e.useNode(f,u),Ke&&console.log(o+this.stackID(e)+` (via reuse of ${s.getName(f.type.id)})`),!0;if(!(f instanceof H)||f.children.length==0||f.positions[0]>0)break;let O=f.children[0];if(O instanceof H&&f.positions[0]==0)f=O;else break}}let a=s.stateSlot(e.state,4);if(a>0)return e.reduce(a),Ke&&console.log(o+this.stackID(e)+` (via always-reduce ${s.getName(a&65535)})`),!0;if(e.stack.length>=8400)for(;e.stack.length>6e3&&e.forceReduce(););let l=this.tokens.getActions(e);for(let c=0;cr?t.push(p):n.push(p)}return!1}advanceFully(e,t){let n=e.pos;for(;;){if(!this.advanceStack(e,null,null))return!1;if(e.pos>n)return tp(e,t),!0}}runRecovery(e,t,n){let r=null,s=!1;for(let o=0;o ":"";if(a.deadEnd&&(s||(s=!0,a.restart(),Ke&&console.log(h+this.stackID(a)+" (restarted)"),this.advanceFully(a,n))))continue;let f=a.split(),u=h;for(let O=0;O<10&&f.forceReduce()&&(Ke&&console.log(u+this.stackID(f)+" (via force-reduce)"),!this.advanceFully(f,n));O++)Ke&&(u=this.stackID(f)+" -> ");for(let O of a.recoverByInsert(l))Ke&&console.log(h+this.stackID(O)+" (via recover-insert)"),this.advanceFully(O,n);this.stream.end>a.pos?(c==a.pos&&(c++,l=0),a.recoverByDelete(l,c),Ke&&console.log(h+this.stackID(a)+` (via recover-delete ${this.parser.getName(l)})`),tp(a,n)):(!r||r.scorei,dt=class{constructor(e){this.start=e.start,this.shift=e.shift||ac,this.reduce=e.reduce||ac,this.reuse=e.reuse||ac,this.hash=e.hash||(()=>0),this.strict=e.strict!==!1}},Pe=class i extends It{constructor(e){if(super(),this.wrappers=[],e.version!=14)throw new RangeError(`Parser version (${e.version}) doesn't match runtime version (14)`);let t=e.nodeNames.split(" ");this.minRepeatTerm=t.length;for(let a=0;ae.topRules[a][1]),r=[];for(let a=0;a=0)s(h,l,a[c++]);else{let f=a[c+-h];for(let u=-h;u>0;u--)s(a[c++],l,f);c++}}}this.nodeSet=new Dt(t.map((a,l)=>Oe.define({name:l>=this.minRepeatTerm?void 0:a,id:l,props:r[l],top:n.indexOf(l)>-1,error:l==0,skipped:e.skippedNodes&&e.skippedNodes.indexOf(l)>-1}))),e.propSources&&(this.nodeSet=this.nodeSet.extend(...e.propSources)),this.strict=!1,this.bufferLength=1024;let o=xr(e.tokenData);this.context=e.context,this.specializerSpecs=e.specialized||[],this.specialized=new Uint16Array(this.specializerSpecs.length);for(let a=0;atypeof a=="number"?new Si(o,a):a),this.topRules=e.topRules,this.dialects=e.dialects||{},this.dynamicPrecedences=e.dynamicPrecedences||null,this.tokenPrecTable=e.tokenPrec,this.termNames=e.termNames||null,this.maxNode=this.nodeSet.types.length-1,this.dialect=this.parseDialect(),this.top=this.topRules[Object.keys(this.topRules)[0]]}createParse(e,t,n){let r=new dc(this,e,t,n);for(let s of this.wrappers)r=s(r,e,t,n);return r}getGoto(e,t,n=!1){let r=this.goto;if(t>=r[0])return-1;for(let s=r[t+1];;){let o=r[s++],a=o&1,l=r[s++];if(a&&n)return l;for(let c=s+(o>>1);s0}validAction(e,t){return!!this.allActions(e,n=>n==t?!0:null)}allActions(e,t){let n=this.stateSlot(e,4),r=n?t(n):void 0;for(let s=this.stateSlot(e,1);r==null;s+=3){if(this.data[s]==65535)if(this.data[s+1]==1)s=Ut(this.data,s+2);else break;r=t(Ut(this.data,s+1))}return r}nextStates(e){let t=[];for(let n=this.stateSlot(e,1);;n+=3){if(this.data[n]==65535)if(this.data[n+1]==1)n=Ut(this.data,n+2);else break;if((this.data[n+2]&1)==0){let r=this.data[n+1];t.some((s,o)=>o&1&&s==r)||t.push(this.data[n],r)}}return t}configure(e){let t=Object.assign(Object.create(i.prototype),this);if(e.props&&(t.nodeSet=this.nodeSet.extend(...e.props)),e.top){let n=this.topRules[e.top];if(!n)throw new RangeError(`Invalid top rule name ${e.top}`);t.top=n}return e.tokenizers&&(t.tokenizers=this.tokenizers.map(n=>{let r=e.tokenizers.find(s=>s.from==n);return r?r.to:n})),e.specializers&&(t.specializers=this.specializers.slice(),t.specializerSpecs=this.specializerSpecs.map((n,r)=>{let s=e.specializers.find(a=>a.from==n.external);if(!s)return n;let o=Object.assign(Object.assign({},n),{external:s.to});return t.specializers[r]=ip(o),o})),e.contextTracker&&(t.context=e.contextTracker),e.dialect&&(t.dialect=this.parseDialect(e.dialect)),e.strict!=null&&(t.strict=e.strict),e.wrap&&(t.wrappers=t.wrappers.concat(e.wrap)),e.bufferLength!=null&&(t.bufferLength=e.bufferLength),t}hasWrappers(){return this.wrappers.length>0}getName(e){return this.termNames?this.termNames[e]:String(e<=this.maxNode&&this.nodeSet.types[e].name||e)}get eofTerm(){return this.maxNode+1}get topNode(){return this.nodeSet.types[this.top[1]]}dynamicPrecedence(e){let t=this.dynamicPrecedences;return t==null?0:t[e]||0}parseDialect(e){let t=Object.keys(this.dialects),n=t.map(()=>!1);if(e)for(let s of e.split(" ")){let o=t.indexOf(s);o>=0&&(n[o]=!0)}let r=null;for(let s=0;sn)&&t.p.parser.stateFlag(t.state,2)&&(!e||e.scorei.external(t,n)<<1|e}return i.get}var gy=55,Qy=1,by=56,Sy=2,yy=57,ky=3,rp=4,xy=5,Sc=6,up=7,Op=8,dp=9,pp=10,wy=11,Py=12,vy=13,mc=58,$y=14,Ty=15,sp=59,mp=21,Cy=23,gp=24,Xy=25,Qc=27,Qp=28,_y=29,Ry=32,Ay=35,Zy=37,Ey=38,qy=0,zy=1,Ly={area:!0,base:!0,br:!0,col:!0,command:!0,embed:!0,frame:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0,menuitem:!0},My={dd:!0,li:!0,optgroup:!0,option:!0,p:!0,rp:!0,rt:!0,tbody:!0,td:!0,tfoot:!0,th:!0,tr:!0},op={dd:{dd:!0,dt:!0},dt:{dd:!0,dt:!0},li:{li:!0},option:{option:!0,optgroup:!0},optgroup:{optgroup:!0},p:{address:!0,article:!0,aside:!0,blockquote:!0,dir:!0,div:!0,dl:!0,fieldset:!0,footer:!0,form:!0,h1:!0,h2:!0,h3:!0,h4:!0,h5:!0,h6:!0,header:!0,hgroup:!0,hr:!0,menu:!0,nav:!0,ol:!0,p:!0,pre:!0,section:!0,table:!0,ul:!0},rp:{rp:!0,rt:!0},rt:{rp:!0,rt:!0},tbody:{tbody:!0,tfoot:!0},td:{td:!0,th:!0},tfoot:{tbody:!0},th:{td:!0,th:!0},thead:{tbody:!0,tfoot:!0},tr:{tr:!0}};function Wy(i){return i==45||i==46||i==58||i>=65&&i<=90||i==95||i>=97&&i<=122||i>=161}var ap=null,lp=null,cp=0;function bc(i,e){let t=i.pos+e;if(cp==t&&lp==i)return ap;let n=i.peek(e),r="";for(;Wy(n);)r+=String.fromCharCode(n),n=i.peek(++e);return lp=i,cp=t,ap=r?r.toLowerCase():n==jy||n==Vy?void 0:null}var bp=60,io=62,yc=47,jy=63,Vy=33,Dy=45;function hp(i,e){this.name=i,this.parent=e}var Yy=[Sc,pp,up,Op,dp],Iy=new dt({start:null,shift(i,e,t,n){return Yy.indexOf(e)>-1?new hp(bc(n,1)||"",i):i},reduce(i,e){return e==mp&&i?i.parent:i},reuse(i,e,t,n){let r=e.type.id;return r==Sc||r==Zy?new hp(bc(n,1)||"",i):i},strict:!1}),By=new J((i,e)=>{if(i.next!=bp){i.next<0&&e.context&&i.acceptToken(mc);return}i.advance();let t=i.next==yc;t&&i.advance();let n=bc(i,0);if(n===void 0)return;if(!n)return i.acceptToken(t?Ty:$y);let r=e.context?e.context.name:null;if(t){if(n==r)return i.acceptToken(wy);if(r&&My[r])return i.acceptToken(mc,-2);if(e.dialectEnabled(qy))return i.acceptToken(Py);for(let s=e.context;s;s=s.parent)if(s.name==n)return;i.acceptToken(vy)}else{if(n=="script")return i.acceptToken(up);if(n=="style")return i.acceptToken(Op);if(n=="textarea")return i.acceptToken(dp);if(Ly.hasOwnProperty(n))return i.acceptToken(pp);r&&op[r]&&op[r][n]?i.acceptToken(mc,-1):i.acceptToken(Sc)}},{contextual:!0}),Uy=new J(i=>{for(let e=0,t=0;;t++){if(i.next<0){t&&i.acceptToken(sp);break}if(i.next==Dy)e++;else if(i.next==io&&e>=2){t>=3&&i.acceptToken(sp,-2);break}else e=0;i.advance()}});function Gy(i){for(;i;i=i.parent)if(i.name=="svg"||i.name=="math")return!0;return!1}var Ny=new J((i,e)=>{if(i.next==yc&&i.peek(1)==io){let t=e.dialectEnabled(zy)||Gy(e.context);i.acceptToken(t?xy:rp,2)}else i.next==io&&i.acceptToken(rp,1)});function kc(i,e,t){let n=2+i.length;return new J(r=>{for(let s=0,o=0,a=0;;a++){if(r.next<0){a&&r.acceptToken(e);break}if(s==0&&r.next==bp||s==1&&r.next==yc||s>=2&&so?r.acceptToken(e,-o):r.acceptToken(t,-(o-2));break}else if((r.next==10||r.next==13)&&a){r.acceptToken(e,1);break}else s=o=0;r.advance()}})}var Fy=kc("script",gy,Qy),Hy=kc("style",by,Sy),Ky=kc("textarea",yy,ky),Jy=Qe({"Text RawText IncompleteTag IncompleteCloseTag":d.content,"StartTag StartCloseTag SelfClosingEndTag EndTag":d.angleBracket,TagName:d.tagName,"MismatchedCloseTag/TagName":[d.tagName,d.invalid],AttributeName:d.attributeName,"AttributeValue UnquotedAttributeValue":d.attributeValue,Is:d.definitionOperator,"EntityReference CharacterReference":d.character,Comment:d.blockComment,ProcessingInst:d.processingInstruction,DoctypeDecl:d.documentMeta}),Sp=Pe.deserialize({version:14,states:",xOVO!rOOO!ZQ#tO'#CrO!`Q#tO'#C{O!eQ#tO'#DOO!jQ#tO'#DRO!oQ#tO'#DTO!tOaO'#CqO#PObO'#CqO#[OdO'#CqO$kO!rO'#CqOOO`'#Cq'#CqO$rO$fO'#DUO$zQ#tO'#DWO%PQ#tO'#DXOOO`'#Dl'#DlOOO`'#DZ'#DZQVO!rOOO%UQ&rO,59^O%aQ&rO,59gO%lQ&rO,59jO%wQ&rO,59mO&SQ&rO,59oOOOa'#D_'#D_O&_OaO'#CyO&jOaO,59]OOOb'#D`'#D`O&rObO'#C|O&}ObO,59]OOOd'#Da'#DaO'VOdO'#DPO'bOdO,59]OOO`'#Db'#DbO'jO!rO,59]O'qQ#tO'#DSOOO`,59],59]OOOp'#Dc'#DcO'vO$fO,59pOOO`,59p,59pO(OQ#|O,59rO(TQ#|O,59sOOO`-E7X-E7XO(YQ&rO'#CtOOQW'#D['#D[O(hQ&rO1G.xOOOa1G.x1G.xOOO`1G/Z1G/ZO(sQ&rO1G/ROOOb1G/R1G/RO)OQ&rO1G/UOOOd1G/U1G/UO)ZQ&rO1G/XOOO`1G/X1G/XO)fQ&rO1G/ZOOOa-E7]-E7]O)qQ#tO'#CzOOO`1G.w1G.wOOOb-E7^-E7^O)vQ#tO'#C}OOOd-E7_-E7_O){Q#tO'#DQOOO`-E7`-E7`O*QQ#|O,59nOOOp-E7a-E7aOOO`1G/[1G/[OOO`1G/^1G/^OOO`1G/_1G/_O*VQ,UO,59`OOQW-E7Y-E7YOOOa7+$d7+$dOOO`7+$u7+$uOOOb7+$m7+$mOOOd7+$p7+$pOOO`7+$s7+$sO*bQ#|O,59fO*gQ#|O,59iO*lQ#|O,59lOOO`1G/Y1G/YO*qO7[O'#CwO+SOMhO'#CwOOQW1G.z1G.zOOO`1G/Q1G/QOOO`1G/T1G/TOOO`1G/W1G/WOOOO'#D]'#D]O+eO7[O,59cOOQW,59c,59cOOOO'#D^'#D^O+vOMhO,59cOOOO-E7Z-E7ZOOQW1G.}1G.}OOOO-E7[-E7[",stateData:",c~O!_OS~OUSOVPOWQOXROYTO[]O][O^^O_^Oa^Ob^Oc^Od^Oy^O|_O!eZO~OgaO~OgbO~OgcO~OgdO~OgeO~O!XfOPmP![mP~O!YiOQpP![pP~O!ZlORsP![sP~OUSOVPOWQOXROYTOZqO[]O][O^^O_^Oa^Ob^Oc^Od^Oy^O!eZO~O![rO~P#gO!]sO!fuO~OgvO~OgwO~OS|OT}OiyO~OS!POT}OiyO~OS!ROT}OiyO~OS!TOT}OiyO~OS}OT}OiyO~O!XfOPmX![mX~OP!WO![!XO~O!YiOQpX![pX~OQ!ZO![!XO~O!ZlORsX![sX~OR!]O![!XO~O![!XO~P#gOg!_O~O!]sO!f!aO~OS!bO~OS!cO~Oj!dOShXThXihX~OS!fOT!gOiyO~OS!hOT!gOiyO~OS!iOT!gOiyO~OS!jOT!gOiyO~OS!gOT!gOiyO~Og!kO~Og!lO~Og!mO~OS!nO~Ol!qO!a!oO!c!pO~OS!rO~OS!sO~OS!tO~Ob!uOc!uOd!uO!a!wO!b!uO~Ob!xOc!xOd!xO!c!wO!d!xO~Ob!uOc!uOd!uO!a!{O!b!uO~Ob!xOc!xOd!xO!c!{O!d!xO~OT~cbd!ey|!e~",goto:"%q!aPPPPPPPPPPPPPPPPPPPPP!b!hP!nPP!zP!}#Q#T#Z#^#a#g#j#m#s#y!bP!b!bP$P$V$m$s$y%P%V%]%cPPPPPPPP%iX^OX`pXUOX`pezabcde{!O!Q!S!UR!q!dRhUR!XhXVOX`pRkVR!XkXWOX`pRnWR!XnXXOX`pQrXR!XpXYOX`pQ`ORx`Q{aQ!ObQ!QcQ!SdQ!UeZ!e{!O!Q!S!UQ!v!oR!z!vQ!y!pR!|!yQgUR!VgQjVR!YjQmWR![mQpXR!^pQtZR!`tS_O`ToXp",nodeNames:"\u26A0 StartCloseTag StartCloseTag StartCloseTag EndTag SelfClosingEndTag StartTag StartTag StartTag StartTag StartTag StartCloseTag StartCloseTag StartCloseTag IncompleteTag IncompleteCloseTag Document Text EntityReference CharacterReference InvalidEntity Element OpenTag TagName Attribute AttributeName Is AttributeValue UnquotedAttributeValue ScriptText CloseTag OpenTag StyleText CloseTag OpenTag TextareaText CloseTag OpenTag CloseTag SelfClosingTag Comment ProcessingInst MismatchedCloseTag CloseTag DoctypeDecl",maxTerm:68,context:Iy,nodeProps:[["closedBy",-10,1,2,3,7,8,9,10,11,12,13,"EndTag",6,"EndTag SelfClosingEndTag",-4,22,31,34,37,"CloseTag"],["openedBy",4,"StartTag StartCloseTag",5,"StartTag",-4,30,33,36,38,"OpenTag"],["group",-10,14,15,18,19,20,21,40,41,42,43,"Entity",17,"Entity TextContent",-3,29,32,35,"TextContent Entity"],["isolate",-11,22,30,31,33,34,36,37,38,39,42,43,"ltr",-3,27,28,40,""]],propSources:[Jy],skippedNodes:[0],repeatNodeCount:9,tokenData:"!]tw8twx7Sx!P8t!P!Q5u!Q!]8t!]!^/^!^!a7S!a#S8t#S#T;{#T#s8t#s$f5u$f;'S8t;'S;=`>V<%l?Ah8t?Ah?BY5u?BY?Mn8t?MnO5u!Z5zblWOX5uXZ7SZ[5u[^7S^p5uqr5urs7Sst+Ptw5uwx7Sx!]5u!]!^7w!^!a7S!a#S5u#S#T7S#T;'S5u;'S;=`8n<%lO5u!R7VVOp7Sqs7St!]7S!]!^7l!^;'S7S;'S;=`7q<%lO7S!R7qOb!R!R7tP;=`<%l7S!Z8OYlWb!ROX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+P!Z8qP;=`<%l5u!_8{iiSlWOX5uXZ7SZ[5u[^7S^p5uqr8trs7Sst/^tw8twx7Sx!P8t!P!Q5u!Q!]8t!]!^:j!^!a7S!a#S8t#S#T;{#T#s8t#s$f5u$f;'S8t;'S;=`>V<%l?Ah8t?Ah?BY5u?BY?Mn8t?MnO5u!_:sbiSlWb!ROX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+P!VP<%l?Ah;{?Ah?BY7S?BY?Mn;{?MnO7S!V=dXiSb!Rqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0m!V>SP;=`<%l;{!_>YP;=`<%l8t!_>dhiSlWOX@OXZAYZ[@O[^AY^p@OqrBwrsAYswBwwxAYx!PBw!P!Q@O!Q!]Bw!]!^/^!^!aAY!a#SBw#S#TE{#T#sBw#s$f@O$f;'SBw;'S;=`HS<%l?AhBw?Ah?BY@O?BY?MnBw?MnO@O!Z@TalWOX@OXZAYZ[@O[^AY^p@Oqr@OrsAYsw@OwxAYx!]@O!]!^Az!^!aAY!a#S@O#S#TAY#T;'S@O;'S;=`Bq<%lO@O!RA]UOpAYq!]AY!]!^Ao!^;'SAY;'S;=`At<%lOAY!RAtOc!R!RAwP;=`<%lAY!ZBRYlWc!ROX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+P!ZBtP;=`<%l@O!_COhiSlWOX@OXZAYZ[@O[^AY^p@OqrBwrsAYswBwwxAYx!PBw!P!Q@O!Q!]Bw!]!^Dj!^!aAY!a#SBw#S#TE{#T#sBw#s$f@O$f;'SBw;'S;=`HS<%l?AhBw?Ah?BY@O?BY?MnBw?MnO@O!_DsbiSlWc!ROX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+P!VFQbiSOpAYqrE{rsAYswE{wxAYx!PE{!P!QAY!Q!]E{!]!^GY!^!aAY!a#sE{#s$fAY$f;'SE{;'S;=`G|<%l?AhE{?Ah?BYAY?BY?MnE{?MnOAY!VGaXiSc!Rqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0m!VHPP;=`<%lE{!_HVP;=`<%lBw!ZHcW!cxaP!b`Or(trs'ksv(tw!^(t!^!_)e!_;'S(t;'S;=`*P<%lO(t!aIYliSaPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx}-_}!OKQ!O!P-_!P!Q$q!Q!^-_!^!_*V!_!a&X!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q!aK_kiSaPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx!P-_!P!Q$q!Q!^-_!^!_*V!_!`&X!`!aMS!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q!TM_XaP!b`!dp!fQOr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&X!aNZ!ZiSgQaPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx}-_}!OMz!O!PMz!P!Q$q!Q![Mz![!]Mz!]!^-_!^!_*V!_!a&X!a!c-_!c!}Mz!}#R-_#R#SMz#S#T1k#T#oMz#o#s-_#s$f$q$f$}-_$}%OMz%O%W-_%W%oMz%o%p-_%p&aMz&a&b-_&b1pMz1p4UMz4U4dMz4d4e-_4e$ISMz$IS$I`-_$I`$IbMz$Ib$Je-_$Je$JgMz$Jg$Kh-_$Kh%#tMz%#t&/x-_&/x&EtMz&Et&FV-_&FV;'SMz;'S;:j!#|;:j;=`3X<%l?&r-_?&r?AhMz?Ah?BY$q?BY?MnMz?MnO$q!a!$PP;=`<%lMz!R!$ZY!b`!dpOq*Vqr!$yrs(Vsv*Vwx)ex!a*V!a!b!4t!b;'S*V;'S;=`*s<%lO*V!R!%Q]!b`!dpOr*Vrs(Vsv*Vwx)ex}*V}!O!%y!O!f*V!f!g!']!g#W*V#W#X!0`#X;'S*V;'S;=`*s<%lO*V!R!&QX!b`!dpOr*Vrs(Vsv*Vwx)ex}*V}!O!&m!O;'S*V;'S;=`*s<%lO*V!R!&vV!b`!dp!ePOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!'dX!b`!dpOr*Vrs(Vsv*Vwx)ex!q*V!q!r!(P!r;'S*V;'S;=`*s<%lO*V!R!(WX!b`!dpOr*Vrs(Vsv*Vwx)ex!e*V!e!f!(s!f;'S*V;'S;=`*s<%lO*V!R!(zX!b`!dpOr*Vrs(Vsv*Vwx)ex!v*V!v!w!)g!w;'S*V;'S;=`*s<%lO*V!R!)nX!b`!dpOr*Vrs(Vsv*Vwx)ex!{*V!{!|!*Z!|;'S*V;'S;=`*s<%lO*V!R!*bX!b`!dpOr*Vrs(Vsv*Vwx)ex!r*V!r!s!*}!s;'S*V;'S;=`*s<%lO*V!R!+UX!b`!dpOr*Vrs(Vsv*Vwx)ex!g*V!g!h!+q!h;'S*V;'S;=`*s<%lO*V!R!+xY!b`!dpOr!+qrs!,hsv!+qvw!-Swx!.[x!`!+q!`!a!/j!a;'S!+q;'S;=`!0Y<%lO!+qq!,mV!dpOv!,hvx!-Sx!`!,h!`!a!-q!a;'S!,h;'S;=`!.U<%lO!,hP!-VTO!`!-S!`!a!-f!a;'S!-S;'S;=`!-k<%lO!-SP!-kO|PP!-nP;=`<%l!-Sq!-xS!dp|POv(Vx;'S(V;'S;=`(h<%lO(Vq!.XP;=`<%l!,ha!.aX!b`Or!.[rs!-Ssv!.[vw!-Sw!`!.[!`!a!.|!a;'S!.[;'S;=`!/d<%lO!.[a!/TT!b`|POr)esv)ew;'S)e;'S;=`)y<%lO)ea!/gP;=`<%l!.[!R!/sV!b`!dp|POr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!0]P;=`<%l!+q!R!0gX!b`!dpOr*Vrs(Vsv*Vwx)ex#c*V#c#d!1S#d;'S*V;'S;=`*s<%lO*V!R!1ZX!b`!dpOr*Vrs(Vsv*Vwx)ex#V*V#V#W!1v#W;'S*V;'S;=`*s<%lO*V!R!1}X!b`!dpOr*Vrs(Vsv*Vwx)ex#h*V#h#i!2j#i;'S*V;'S;=`*s<%lO*V!R!2qX!b`!dpOr*Vrs(Vsv*Vwx)ex#m*V#m#n!3^#n;'S*V;'S;=`*s<%lO*V!R!3eX!b`!dpOr*Vrs(Vsv*Vwx)ex#d*V#d#e!4Q#e;'S*V;'S;=`*s<%lO*V!R!4XX!b`!dpOr*Vrs(Vsv*Vwx)ex#X*V#X#Y!+q#Y;'S*V;'S;=`*s<%lO*V!R!4{Y!b`!dpOr!4trs!5ksv!4tvw!6Vwx!8]x!a!4t!a!b!:]!b;'S!4t;'S;=`!;r<%lO!4tq!5pV!dpOv!5kvx!6Vx!a!5k!a!b!7W!b;'S!5k;'S;=`!8V<%lO!5kP!6YTO!a!6V!a!b!6i!b;'S!6V;'S;=`!7Q<%lO!6VP!6lTO!`!6V!`!a!6{!a;'S!6V;'S;=`!7Q<%lO!6VP!7QOyPP!7TP;=`<%l!6Vq!7]V!dpOv!5kvx!6Vx!`!5k!`!a!7r!a;'S!5k;'S;=`!8V<%lO!5kq!7yS!dpyPOv(Vx;'S(V;'S;=`(h<%lO(Vq!8YP;=`<%l!5ka!8bX!b`Or!8]rs!6Vsv!8]vw!6Vw!a!8]!a!b!8}!b;'S!8];'S;=`!:V<%lO!8]a!9SX!b`Or!8]rs!6Vsv!8]vw!6Vw!`!8]!`!a!9o!a;'S!8];'S;=`!:V<%lO!8]a!9vT!b`yPOr)esv)ew;'S)e;'S;=`)y<%lO)ea!:YP;=`<%l!8]!R!:dY!b`!dpOr!4trs!5ksv!4tvw!6Vwx!8]x!`!4t!`!a!;S!a;'S!4t;'S;=`!;r<%lO!4t!R!;]V!b`!dpyPOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!;uP;=`<%l!4t!V!{let c=a.type.id;if(c==_y)return gc(a,l,t);if(c==Ry)return gc(a,l,n);if(c==Ay)return gc(a,l,r);if(c==mp&&s.length){let h=a.node,f=h.firstChild,u=f&&fp(f,l),O;if(u){for(let p of s)if(p.tag==u&&(!p.attrs||p.attrs(O||(O=yp(f,l))))){let m=h.lastChild,b=m.type.id==Ey?m.from:h.to;if(b>f.to)return{parser:p.parser,overlay:[{from:f.to,to:b}]}}}}if(o&&c==gp){let h=a.node,f;if(f=h.firstChild){let u=o[l.read(f.from,f.to)];if(u)for(let O of u){if(O.tagName&&O.tagName!=fp(h.parent,l))continue;let p=h.lastChild;if(p.type.id==Qc){let m=p.from+1,b=p.lastChild,g=p.to-(b&&b.isError?0:1);if(g>m)return{parser:O.parser,overlay:[{from:m,to:g}],bracketed:!0}}else if(p.type.id==Qp)return{parser:O.parser,overlay:[{from:p.from,to:p.to}]}}}}return null})}var ek=145,kp=1,tk=146,ik=147,wp=2,nk=148,rk=3,sk=4,Pp=[9,10,11,12,13,32,133,160,5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8232,8233,8239,8287,12288],ok=58,ak=40,vp=95,lk=91,no=45,ck=46,hk=35,fk=37,uk=38,Ok=92,dk=10,pk=42;function wr(i){return i>=65&&i<=90||i>=97&&i<=122||i>=161}function wc(i){return i>=48&&i<=57}function xp(i){return wc(i)||i>=97&&i<=102||i>=65&&i<=70}var $p=(i,e,t)=>(n,r)=>{for(let s=!1,o=0,a=0;;a++){let{next:l}=n;if(wr(l)||l==no||l==vp||s&&wc(l))!s&&(l!=no||a>0)&&(s=!0),o===a&&l==no&&o++,n.advance();else if(l==Ok&&n.peek(1)!=dk){if(n.advance(),xp(n.next)){do n.advance();while(xp(n.next));n.next==32&&n.advance()}else n.next>-1&&n.advance();s=!0}else{s&&n.acceptToken(o==2&&r.canShift(wp)?e:l==ak?t:i);break}}},mk=new J($p(tk,wp,ik),{contextual:!0}),gk=new J($p(nk,rk,sk),{contextual:!0}),Qk=new J(i=>{if(Pp.includes(i.peek(-1))){let{next:e}=i;(wr(e)||e==vp||e==hk||e==ck||e==pk||e==lk||e==ok&&wr(i.peek(1))||e==no||e==uk)&&i.acceptToken(ek)}}),bk=new J(i=>{if(!Pp.includes(i.peek(-1))){let{next:e}=i;if(e==fk&&(i.advance(),i.acceptToken(kp)),wr(e)){do i.advance();while(wr(i.next)||wc(i.next));i.acceptToken(kp)}}}),Sk=Qe({"AtKeyword import charset namespace keyframes media supports font-feature-values":d.definitionKeyword,"from to selector scope MatchFlag":d.keyword,NamespaceName:d.namespace,KeyframeName:d.labelName,KeyframeRangeName:d.operatorKeyword,TagName:d.tagName,ClassName:d.className,PseudoClassName:d.constant(d.className),IdName:d.labelName,"FeatureName PropertyName":d.propertyName,AttributeName:d.attributeName,NumberLiteral:d.number,KeywordQuery:d.keyword,UnaryQueryOp:d.operatorKeyword,"CallTag ValueName FontName":d.atom,VariableName:d.variableName,Callee:d.operatorKeyword,Unit:d.unit,"UniversalSelector NestingSelector":d.definitionOperator,"MatchOp CompareOp":d.compareOperator,"ChildOp SiblingOp, LogicOp":d.logicOperator,BinOp:d.arithmeticOperator,Important:d.modifier,Comment:d.blockComment,ColorLiteral:d.color,"ParenthesizedContent StringLiteral":d.string,":":d.punctuation,"PseudoOp #":d.derefOperator,"; , |":d.separator,"( )":d.paren,"[ ]":d.squareBracket,"{ }":d.brace}),yk={__proto__:null,lang:44,"nth-child":44,"nth-last-child":44,"nth-of-type":44,"nth-last-of-type":44,dir:44,"host-context":44,if:90,url:152,"url-prefix":152,domain:152,regexp:152},kk={__proto__:null,or:104,and:104,not:112,only:112,layer:206},xk={__proto__:null,selector:118,style:124,layer:202},wk={__proto__:null,"@import":198,"@media":210,"@charset":214,"@namespace":218,"@keyframes":224,"@supports":236,"@scope":240,"@font-feature-values":246},Pk={__proto__:null,to:243},Tp=Pe.deserialize({version:14,states:"MlQYQdOOO#}QdOOP$UO`OOO%OQaO'#CfOOQP'#Ce'#CeO%VQdO'#CgO%[Q`O'#CgO%aQaO'#FnO&XQdO'#CkO&xQaO'#CcO'SQdO'#CnO'_QdO'#EOO'dQdO'#EQO'oQdO'#EXO'oQdO'#E[OOQP'#Fn'#FnO)RQhO'#E}OOQS'#Fm'#FmOOQS'#FQ'#FQQYQdOOO)YQdO'#EbO*iQhO'#EhO)YQdO'#EjO*pQdO'#ElO*{QdO'#EoO)}QhO'#EuO+TQdO'#EwO+`QdO'#EzO+eQaO'#CfO+lQ`O'#E_O+qQ`O'#F{O+|QdO'#F{QOQ`OOP,WO&jO'#CaPOOO)CA])CA]OOQP'#Ci'#CiOOQP,59R,59RO%VQdO,59ROOQP'#Cm'#CmOOQP,59V,59VO&XQdO,59VO,cQdO,59YO'_QdO,5:jO'dQdO,5:lO'oQdO,5:sO'oQdO,5:uO'oQdO,5:vO'oQdO'#FXO,nQ`O,58}O,vQdO'#E^OOQS,58},58}OOQP'#Cq'#CqOOQO'#D|'#D|OOQP,59Y,59YO,}Q`O,59YO-SQ`O,59YOOQP'#EP'#EPOOQP,5:j,5:jO-XQpO'#ERO-dQdO'#ESO-iQ`O'#ESO-nQpO,5:lO.XQaO,5:sO.oQaO,5:vOOQW'#D^'#D^O/nQhO'#DgO0RQhO,5;iO)}QhO'#DeO0`Q`O'#DnO0eQhO'#DxOOQW'#Ft'#FtOOQS,5;i,5;iO0jQ`O'#DhO0oQ`O'#DkOOQS-E9O-E9OOOQ['#Cv'#CvO0tQdO'#CwO1[QdO'#C}O1rQdO'#DQO2YQ!pO'#DSO4fQ!jO,5:|OOQO'#DX'#DXO-SQ`O'#DWO4vQ!nO'#FqO6|Q`O'#DYO7RQ`O'#DyOOQ['#Fq'#FqO7WQhO'#GOO7fQ`O,5;SO7kQ!bO,5;UOOQS'#En'#EnO7sQ`O,5;WO7xQdO,5;WOOQO'#Eq'#EqO8QQ`O,5;ZO8VQhO,5;aO'oQdO'#DjOOQS,5;c,5;cO0jQ`O,5;cO8_QdO,5;cOOQS'#F`'#F`O8gQdO'#E|O7fQ`O,5;fO8oQdO,5:yO9PQdO'#FZO9^Q`O,5lQhO'#DoOOQW,5:Y,5:YOOQW,5:d,5:dOOQW,5:S,5:SO>vQhO,5:VO?bQ!fO'#FrOOQS'#Fr'#FrOOQS'#FS'#FSO@rQdO,59cOOQ[,59c,59cOAYQdO,59iOOQ[,59i,59iOApQdO,59lOOQ[,59l,59lOOQ[,59n,59nO)YQdO,59pOBWQhO'#EdOOQW'#Ed'#EdOBuQ`O1G0hO4oQhO1G0hOOQ[,59r,59rO)}QhO'#D[OOQ[,59t,59tOBzQ#tO,5:eOCVQhO'#F]OCdQ`O,5vQhO'#DmOI_QhO'#DqOIgQhO'#DsOIlQhO'#FwOOQO'#Fw'#FwOItQ!bO'#DwOOQO'#Fy'#FyOOQO'#Fv'#FvOIyQ`O1G/qOOQS-E9Q-E9QOOQ[1G.}1G.}OOQ[1G/T1G/TOOQ[1G/W1G/WOOQ[1G/[1G/[OJOQdO,5;OOOQS7+&S7+&SOJTQ`O7+&SOJYQhO'#D]OJbQ`O,59vO)}QhO,59vOOQ[1G0P1G0POJjQ`O1G0POJoQhO,5;wOOQO-E9Z-E9ZOOQS7+&^7+&^OJ}QbO'#DSOOQO'#Et'#EtOK]Q`O'#EsOOQO'#Es'#EsOKhQ`O'#F^OKpQdO,5;^OOQS,5;^,5;^OOQ[1G/p1G/pOOQS7+&i7+&iO7fQ`O7+&iOK{Q!fO'#FYO)YQdO'#FYOMSQdO7+&POOQO7+&P7+&POOQO,5:{,5:{OOQO1G1a1G1aOMgQ!bO<vQhO'#DrOOQO,5:],5:]O! hQhO,5:_OGUQhO,5:cOOQW7+%]7+%]OOQO'#Ef'#EfO! pQ`O1G0jOOQS<xAN>xO!#zQ`OAN>xO!$PQaO,5;rOOQO-E9U-E9UO!$ZQdO,5;qOOQO-E9T-E9TOOQW<vQhO'#DuOOQO1G/y1G/yO!%vQ!bO1G/}OJOQdO'#F[O!&OQ`O7+&UOOQW7+&U7+&UO!&WQ!bO1G/cOOQ[7+$|7+$|O!&cQhO7+$|P!&jQ`O'#FTOOQO,5;y,5;yOOQO-E9]-E9]OOQS1G1d1G1dOOQPG24dG24dO!&oQ`OAN>ZO)YQdO1G1[O!&tQ`O7+'jOOQO1G/x1G/xO!&|Q`O,5:aO!$eQhO7+%iOOQO,5;v,5;vOOQO-E9Y-E9YOOQW<Q!]!^>|!^!_?_!_!`@Z!`!a@n!a!b%Z!b!cAo!c!k%Z!k!lC|!l!u%Z!u!vC|!v!}%Z!}#OD_#O#P%Z#P#QDp#Q#R2X#R#]%Z#]#^ER#^#g%Z#g#hC|#h#o%Z#o#pIf#p#qIw#q#rJ`#r#sJq#s#y%Z#y#z&R#z$f%Z$f$g&R$g#BY%Z#BY#BZ&R#BZ$IS%Z$IS$I_&R$I_$I|%Z$I|$JO&R$JO$JT%Z$JT$JU&R$JU$KV%Z$KV$KW&R$KW&FU%Z&FU&FV&R&FV;'S%Z;'S;=`KY<%lO%Z`%^SOy%jz;'S%j;'S;=`%{<%lO%j`%oS!o`Oy%jz;'S%j;'S;=`%{<%lO%j`&OP;=`<%l%j~&Wh$[~OX%jX^'r^p%jpq'rqy%jz#y%j#y#z'r#z$f%j$f$g'r$g#BY%j#BY#BZ'r#BZ$IS%j$IS$I_'r$I_$I|%j$I|$JO'r$JO$JT%j$JT$JU'r$JU$KV%j$KV$KW'r$KW&FU%j&FU&FV'r&FV;'S%j;'S;=`%{<%lO%j~'yh$[~!o`OX%jX^'r^p%jpq'rqy%jz#y%j#y#z'r#z$f%j$f$g'r$g#BY%j#BY#BZ'r#BZ$IS%j$IS$I_'r$I_$I|%j$I|$JO'r$JO$JT%j$JT$JU'r$JU$KV%j$KV$KW'r$KW&FU%j&FU&FV'r&FV;'S%j;'S;=`%{<%lO%jj)jS$qYOy%jz;'S%j;'S;=`%{<%lO%j~)yWOY)vZr)vrs*cs#O)v#O#P*h#P;'S)v;'S;=`+d<%lO)v~*hOw~~*kRO;'S)v;'S;=`*t;=`O)v~*wXOY)vZr)vrs*cs#O)v#O#P*h#P;'S)v;'S;=`+d;=`<%l)v<%lO)v~+gP;=`<%l)vj+oYmYOy%jz!Q%j!Q![,_![!c%j!c!i,_!i#T%j#T#Z,_#Z;'S%j;'S;=`%{<%lO%jj,dY!o`Oy%jz!Q%j!Q![-S![!c%j!c!i-S!i#T%j#T#Z-S#Z;'S%j;'S;=`%{<%lO%jj-XY!o`Oy%jz!Q%j!Q![-w![!c%j!c!i-w!i#T%j#T#Z-w#Z;'S%j;'S;=`%{<%lO%jj.OYuY!o`Oy%jz!Q%j!Q![.n![!c%j!c!i.n!i#T%j#T#Z.n#Z;'S%j;'S;=`%{<%lO%jj.uYuY!o`Oy%jz!Q%j!Q![/e![!c%j!c!i/e!i#T%j#T#Z/e#Z;'S%j;'S;=`%{<%lO%jj/jY!o`Oy%jz!Q%j!Q![0Y![!c%j!c!i0Y!i#T%j#T#Z0Y#Z;'S%j;'S;=`%{<%lO%jj0aYuY!o`Oy%jz!Q%j!Q![1P![!c%j!c!i1P!i#T%j#T#Z1P#Z;'S%j;'S;=`%{<%lO%jj1UY!o`Oy%jz!Q%j!Q![1t![!c%j!c!i1t!i#T%j#T#Z1t#Z;'S%j;'S;=`%{<%lO%jj1{SuY!o`Oy%jz;'S%j;'S;=`%{<%lO%jd2[UOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%jd2uS!yS!o`Oy%jz;'S%j;'S;=`%{<%lO%jb3WS^QOy%jz;'S%j;'S;=`%{<%lO%j~3gWOY3dZw3dwx*cx#O3d#O#P4P#P;'S3d;'S;=`4{<%lO3d~4SRO;'S3d;'S;=`4];=`O3d~4`XOY3dZw3dwx*cx#O3d#O#P4P#P;'S3d;'S;=`4{;=`<%l3d<%lO3d~5OP;=`<%l3dj5WShYOy%jz;'S%j;'S;=`%{<%lO%j~5iOg~n5pUWQyWOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%jj6ZWyW#PQOy%jz!O%j!O!P6s!P!Q%j!Q![9x![;'S%j;'S;=`%{<%lO%jj6xU!o`Oy%jz!Q%j!Q![7[![;'S%j;'S;=`%{<%lO%jj7cY!o`$gYOy%jz!Q%j!Q![7[![!g%j!g!h8R!h#X%j#X#Y8R#Y;'S%j;'S;=`%{<%lO%jj8WY!o`Oy%jz{%j{|8v|}%j}!O8v!O!Q%j!Q![9_![;'S%j;'S;=`%{<%lO%jj8{U!o`Oy%jz!Q%j!Q![9_![;'S%j;'S;=`%{<%lO%jj9fU!o`$gYOy%jz!Q%j!Q![9_![;'S%j;'S;=`%{<%lO%jj:P[!o`$gYOy%jz!O%j!O!P7[!P!Q%j!Q![9x![!g%j!g!h8R!h#X%j#X#Y8R#Y;'S%j;'S;=`%{<%lO%jj:zS!dYOy%jz;'S%j;'S;=`%{<%lO%jj;]WyWOy%jz!O%j!O!P6s!P!Q%j!Q![9x![;'S%j;'S;=`%{<%lO%jj;zU`YOy%jz!Q%j!Q![7[![;'S%j;'S;=`%{<%lO%j~VUcYOy%jz![%j![!]>i!];'S%j;'S;=`%{<%lO%jj>pSdY!o`Oy%jz;'S%j;'S;=`%{<%lO%jj?RSnYOy%jz;'S%j;'S;=`%{<%lO%jh?dU!WWOy%jz!_%j!_!`?v!`;'S%j;'S;=`%{<%lO%jh?}S!WW!o`Oy%jz;'S%j;'S;=`%{<%lO%jl@bS!WW!ySOy%jz;'S%j;'S;=`%{<%lO%jj@uV!|Q!WWOy%jz!_%j!_!`?v!`!aA[!a;'S%j;'S;=`%{<%lO%jbAcS!|Q!o`Oy%jz;'S%j;'S;=`%{<%lO%jjArYOy%jz}%j}!OBb!O!c%j!c!}CP!}#T%j#T#oCP#o;'S%j;'S;=`%{<%lO%jjBgW!o`Oy%jz!c%j!c!}CP!}#T%j#T#oCP#o;'S%j;'S;=`%{<%lO%jjCW[lY!o`Oy%jz}%j}!OCP!O!Q%j!Q![CP![!c%j!c!}CP!}#T%j#T#oCP#o;'S%j;'S;=`%{<%lO%jhDRS!zWOy%jz;'S%j;'S;=`%{<%lO%jjDdSpYOy%jz;'S%j;'S;=`%{<%lO%jnDuSo^Oy%jz;'S%j;'S;=`%{<%lO%jjEWU!zWOy%jz#a%j#a#bEj#b;'S%j;'S;=`%{<%lO%jbEoU!o`Oy%jz#d%j#d#eFR#e;'S%j;'S;=`%{<%lO%jbFWU!o`Oy%jz#c%j#c#dFj#d;'S%j;'S;=`%{<%lO%jbFoU!o`Oy%jz#f%j#f#gGR#g;'S%j;'S;=`%{<%lO%jbGWU!o`Oy%jz#h%j#h#iGj#i;'S%j;'S;=`%{<%lO%jbGoU!o`Oy%jz#T%j#T#UHR#U;'S%j;'S;=`%{<%lO%jbHWU!o`Oy%jz#b%j#b#cHj#c;'S%j;'S;=`%{<%lO%jbHoU!o`Oy%jz#h%j#h#iIR#i;'S%j;'S;=`%{<%lO%jbIYS$pQ!o`Oy%jz;'S%j;'S;=`%{<%lO%jjIkSsYOy%jz;'S%j;'S;=`%{<%lO%jfI|U$cUOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%jjJeSrYOy%jz;'S%j;'S;=`%{<%lO%jfJvU#PQOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%j`K]P;=`<%l%Z",tokenizers:[Qk,bk,mk,gk,1,2,3,4,new yi("m~RRYZ[z{a~~g~aO$_~~dP!P!Qg~lO$`~~",28,152)],topRules:{StyleSheet:[0,6],Styles:[1,126]},dynamicPrecedences:{94:1},specialized:[{term:147,get:i=>yk[i]||-1},{term:148,get:i=>kk[i]||-1},{term:4,get:i=>xk[i]||-1},{term:28,get:i=>wk[i]||-1},{term:146,get:i=>Pk[i]||-1}],tokenPrec:2405});var Pc=null;function vc(){if(!Pc&&typeof document=="object"&&document.body){let{style:i}=document.body,e=[],t=new Set;for(let n in i)n!="cssText"&&n!="cssFloat"&&typeof i[n]=="string"&&(/[A-Z]/.test(n)&&(n=n.replace(/[A-Z]/g,r=>"-"+r.toLowerCase())),t.has(n)||(e.push(n),t.add(n)));Pc=e.sort().map(n=>({type:"property",label:n,apply:n+": "}))}return Pc||[]}var Cp=["active","after","any-link","autofill","backdrop","before","checked","cue","default","defined","disabled","empty","enabled","file-selector-button","first","first-child","first-letter","first-line","first-of-type","focus","focus-visible","focus-within","fullscreen","has","host","host-context","hover","in-range","indeterminate","invalid","is","lang","last-child","last-of-type","left","link","marker","modal","not","nth-child","nth-last-child","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","part","placeholder","placeholder-shown","read-only","read-write","required","right","root","scope","selection","slotted","target","target-text","valid","visited","where"].map(i=>({type:"class",label:i})),Xp=["above","absolute","activeborder","additive","activecaption","after-white-space","ahead","alias","all","all-scroll","alphabetic","alternate","always","antialiased","appworkspace","asterisks","attr","auto","auto-flow","avoid","avoid-column","avoid-page","avoid-region","axis-pan","background","backwards","baseline","below","bidi-override","blink","block","block-axis","bold","bolder","border","border-box","both","bottom","break","break-all","break-word","bullets","button","button-bevel","buttonface","buttonhighlight","buttonshadow","buttontext","calc","capitalize","caps-lock-indicator","caption","captiontext","caret","cell","center","checkbox","circle","cjk-decimal","clear","clip","close-quote","col-resize","collapse","color","color-burn","color-dodge","column","column-reverse","compact","condensed","contain","content","contents","content-box","context-menu","continuous","copy","counter","counters","cover","crop","cross","crosshair","currentcolor","cursive","cyclic","darken","dashed","decimal","decimal-leading-zero","default","default-button","dense","destination-atop","destination-in","destination-out","destination-over","difference","disc","discard","disclosure-closed","disclosure-open","document","dot-dash","dot-dot-dash","dotted","double","down","e-resize","ease","ease-in","ease-in-out","ease-out","element","ellipse","ellipsis","embed","end","ethiopic-abegede-gez","ethiopic-halehame-aa-er","ethiopic-halehame-gez","ew-resize","exclusion","expanded","extends","extra-condensed","extra-expanded","fantasy","fast","fill","fill-box","fixed","flat","flex","flex-end","flex-start","footnotes","forwards","from","geometricPrecision","graytext","grid","groove","hand","hard-light","help","hidden","hide","higher","highlight","highlighttext","horizontal","hsl","hsla","hue","icon","ignore","inactiveborder","inactivecaption","inactivecaptiontext","infinite","infobackground","infotext","inherit","initial","inline","inline-axis","inline-block","inline-flex","inline-grid","inline-table","inset","inside","intrinsic","invert","italic","justify","keep-all","landscape","large","larger","left","level","lighter","lighten","line-through","linear","linear-gradient","lines","list-item","listbox","listitem","local","logical","loud","lower","lower-hexadecimal","lower-latin","lower-norwegian","lowercase","ltr","luminosity","manipulation","match","matrix","matrix3d","medium","menu","menutext","message-box","middle","min-intrinsic","mix","monospace","move","multiple","multiple_mask_images","multiply","n-resize","narrower","ne-resize","nesw-resize","no-close-quote","no-drop","no-open-quote","no-repeat","none","normal","not-allowed","nowrap","ns-resize","numbers","numeric","nw-resize","nwse-resize","oblique","opacity","open-quote","optimizeLegibility","optimizeSpeed","outset","outside","outside-shape","overlay","overline","padding","padding-box","painted","page","paused","perspective","pinch-zoom","plus-darker","plus-lighter","pointer","polygon","portrait","pre","pre-line","pre-wrap","preserve-3d","progress","push-button","radial-gradient","radio","read-only","read-write","read-write-plaintext-only","rectangle","region","relative","repeat","repeating-linear-gradient","repeating-radial-gradient","repeat-x","repeat-y","reset","reverse","rgb","rgba","ridge","right","rotate","rotate3d","rotateX","rotateY","rotateZ","round","row","row-resize","row-reverse","rtl","run-in","running","s-resize","sans-serif","saturation","scale","scale3d","scaleX","scaleY","scaleZ","screen","scroll","scrollbar","scroll-position","se-resize","self-start","self-end","semi-condensed","semi-expanded","separate","serif","show","single","skew","skewX","skewY","skip-white-space","slide","slider-horizontal","slider-vertical","sliderthumb-horizontal","sliderthumb-vertical","slow","small","small-caps","small-caption","smaller","soft-light","solid","source-atop","source-in","source-out","source-over","space","space-around","space-between","space-evenly","spell-out","square","start","static","status-bar","stretch","stroke","stroke-box","sub","subpixel-antialiased","svg_masks","super","sw-resize","symbolic","symbols","system-ui","table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row","table-row-group","text","text-bottom","text-top","textarea","textfield","thick","thin","threeddarkshadow","threedface","threedhighlight","threedlightshadow","threedshadow","to","top","transform","translate","translate3d","translateX","translateY","translateZ","transparent","ultra-condensed","ultra-expanded","underline","unidirectional-pan","unset","up","upper-latin","uppercase","url","var","vertical","vertical-text","view-box","visible","visibleFill","visiblePainted","visibleStroke","visual","w-resize","wait","wave","wider","window","windowframe","windowtext","words","wrap","wrap-reverse","x-large","x-small","xor","xx-large","xx-small"].map(i=>({type:"keyword",label:i})).concat(["aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","grey","green","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen"].map(i=>({type:"constant",label:i}))),vk=["a","abbr","address","article","aside","b","bdi","bdo","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","dd","del","details","dfn","dialog","div","dl","dt","em","figcaption","figure","footer","form","header","hgroup","h1","h2","h3","h4","h5","h6","hr","html","i","iframe","img","input","ins","kbd","label","legend","li","main","meter","nav","ol","output","p","pre","ruby","section","select","small","source","span","strong","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","tr","u","ul"].map(i=>({type:"type",label:i})),$k=["@charset","@color-profile","@container","@counter-style","@font-face","@font-feature-values","@font-palette-values","@import","@keyframes","@layer","@media","@namespace","@page","@position-try","@property","@scope","@starting-style","@supports","@view-transition"].map(i=>({type:"keyword",label:i})),Gt=/^(\w[\w-]*|-\w[\w-]*|)$/,Tk=/^-(-[\w-]*)?$/;function Ck(i,e){var t;if((i.name=="("||i.type.isError)&&(i=i.parent||i),i.name!="ArgList")return!1;let n=(t=i.parent)===null||t===void 0?void 0:t.firstChild;return n?.name!="Callee"?!1:e.sliceString(n.from,n.to)=="var"}var _p=new di,Xk=["Declaration"];function _k(i){for(let e=i;;){if(e.type.isTop)return e;if(!(e=e.parent))return i}}function Rp(i,e,t){if(e.to-e.from>4096){let n=_p.get(e);if(n)return n;let r=[],s=new Set,o=e.cursor(ee.IncludeAnonymous);if(o.firstChild())do for(let a of Rp(i,o.node,t))s.has(a.label)||(s.add(a.label),r.push(a));while(o.nextSibling());return _p.set(e,r),r}else{let n=[],r=new Set;return e.cursor().iterate(s=>{var o;if(t(s)&&s.matchContext(Xk)&&((o=s.node.nextSibling)===null||o===void 0?void 0:o.name)==":"){let a=i.sliceString(s.from,s.to);r.has(a)||(r.add(a),n.push({label:a,type:"variable"}))}}),n}}var Rk=i=>e=>{let{state:t,pos:n}=e,r=U(t).resolveInner(n,-1),s=r.type.isError&&r.from==r.to-1&&t.doc.sliceString(r.from,r.to)=="-";if(r.name=="PropertyName"||(s||r.name=="TagName")&&/^(Block|Styles)$/.test(r.resolve(r.to).name))return{from:r.from,options:vc(),validFor:Gt};if(r.name=="ValueName")return{from:r.from,options:Xp,validFor:Gt};if(r.name=="PseudoClassName")return{from:r.from,options:Cp,validFor:Gt};if(i(r)||(e.explicit||s)&&Ck(r,t.doc))return{from:i(r)||s?r.from:n,options:Rp(t.doc,_k(r),i),validFor:Tk};if(r.name=="TagName"){for(let{parent:l}=r;l;l=l.parent)if(l.name=="Block")return{from:r.from,options:vc(),validFor:Gt};return{from:r.from,options:vk,validFor:Gt}}if(r.name=="AtKeyword")return{from:r.from,options:$k,validFor:Gt};if(!e.explicit)return null;let o=r.resolve(n),a=o.childBefore(n);return a&&a.name==":"&&o.name=="PseudoClassSelector"?{from:n,options:Cp,validFor:Gt}:a&&a.name==":"&&o.name=="Declaration"||o.name=="ArgList"?{from:n,options:Xp,validFor:Gt}:o.name=="Block"||o.name=="Styles"?{from:n,options:vc(),validFor:Gt}:null},Ak=Rk(i=>i.name=="VariableName"),Pr=$e.define({name:"css",parser:Tp.configure({props:[we.add({Declaration:Bt()}),Te.add({"Block KeyframeList":ht})]}),languageData:{commentTokens:{block:{open:"/*",close:"*/"}},indentOnInput:/^\s*\}$/,wordChars:"-"}});function ro(){return new me(Pr,Pr.data.of({autocomplete:Ak}))}var Zk=316,Ek=317,Ap=1,qk=2,zk=3,Lk=4,Mk=318,Wk=320,jk=321,Vk=5,Dk=6,Yk=0,Tc=[9,10,11,12,13,32,133,160,5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8232,8233,8239,8287,12288],Zp=125,Ik=59,Cc=47,Bk=42,Uk=43,Gk=45,Nk=60,Fk=44,Hk=63,Kk=46,Jk=91,e1=new dt({start:!1,shift(i,e){return e==Vk||e==Dk||e==Wk?i:e==jk},strict:!1}),t1=new J((i,e)=>{let{next:t}=i;(t==Zp||t==-1||e.context)&&i.acceptToken(Mk)},{contextual:!0,fallback:!0}),i1=new J((i,e)=>{let{next:t}=i,n;Tc.indexOf(t)>-1||t==Cc&&((n=i.peek(1))==Cc||n==Bk)||t!=Zp&&t!=Ik&&t!=-1&&!e.context&&i.acceptToken(Zk)},{contextual:!0}),n1=new J((i,e)=>{i.next==Jk&&!e.context&&i.acceptToken(Ek)},{contextual:!0}),r1=new J((i,e)=>{let{next:t}=i;if(t==Uk||t==Gk){if(i.advance(),t==i.next){i.advance();let n=!e.context&&e.canShift(Ap);i.acceptToken(n?Ap:qk)}}else t==Hk&&i.peek(1)==Kk&&(i.advance(),i.advance(),(i.next<48||i.next>57)&&i.acceptToken(zk))},{contextual:!0});function $c(i,e){return i>=65&&i<=90||i>=97&&i<=122||i==95||i>=192||!e&&i>=48&&i<=57}var s1=new J((i,e)=>{if(i.next!=Nk||!e.dialectEnabled(Yk)||(i.advance(),i.next==Cc))return;let t=0;for(;Tc.indexOf(i.next)>-1;)i.advance(),t++;if($c(i.next,!0)){for(i.advance(),t++;$c(i.next,!1);)i.advance(),t++;for(;Tc.indexOf(i.next)>-1;)i.advance(),t++;if(i.next==Fk)return;for(let n=0;;n++){if(n==7){if(!$c(i.next,!0))return;break}if(i.next!="extends".charCodeAt(n))break;i.advance(),t++}}i.acceptToken(Lk,-t)}),o1=Qe({"get set async static":d.modifier,"for while do if else switch try catch finally return throw break continue default case defer":d.controlKeyword,"in of await yield void typeof delete instanceof as satisfies":d.operatorKeyword,"let var const using function class extends":d.definitionKeyword,"import export from":d.moduleKeyword,"with debugger new":d.keyword,TemplateString:d.special(d.string),super:d.atom,BooleanLiteral:d.bool,this:d.self,null:d.null,Star:d.modifier,VariableName:d.variableName,"CallExpression/VariableName TaggedTemplateExpression/VariableName":d.function(d.variableName),VariableDefinition:d.definition(d.variableName),Label:d.labelName,PropertyName:d.propertyName,PrivatePropertyName:d.special(d.propertyName),"CallExpression/MemberExpression/PropertyName":d.function(d.propertyName),"FunctionDeclaration/VariableDefinition":d.function(d.definition(d.variableName)),"ClassDeclaration/VariableDefinition":d.definition(d.className),"NewExpression/VariableName":d.className,PropertyDefinition:d.definition(d.propertyName),PrivatePropertyDefinition:d.definition(d.special(d.propertyName)),UpdateOp:d.updateOperator,"LineComment Hashbang":d.lineComment,BlockComment:d.blockComment,Number:d.number,String:d.string,Escape:d.escape,ArithOp:d.arithmeticOperator,LogicOp:d.logicOperator,BitOp:d.bitwiseOperator,CompareOp:d.compareOperator,RegExp:d.regexp,Equals:d.definitionOperator,Arrow:d.function(d.punctuation),": Spread":d.punctuation,"( )":d.paren,"[ ]":d.squareBracket,"{ }":d.brace,"InterpolationStart InterpolationEnd":d.special(d.brace),".":d.derefOperator,", ;":d.separator,"@":d.meta,TypeName:d.typeName,TypeDefinition:d.definition(d.typeName),"type enum interface implements namespace module declare":d.definitionKeyword,"abstract global Privacy readonly override":d.modifier,"is keyof unique infer asserts":d.operatorKeyword,JSXAttributeValue:d.attributeValue,JSXText:d.content,"JSXStartTag JSXStartCloseTag JSXSelfCloseEndTag JSXEndTag":d.angleBracket,"JSXIdentifier JSXNameSpacedName":d.tagName,"JSXAttribute/JSXIdentifier JSXAttribute/JSXNameSpacedName":d.attributeName,"JSXBuiltin/JSXIdentifier":d.standard(d.tagName)}),a1={__proto__:null,export:20,as:25,from:33,default:36,async:41,function:42,in:52,out:55,const:56,extends:60,this:64,true:72,false:72,null:84,void:88,typeof:92,super:108,new:142,delete:154,yield:163,await:167,class:172,public:235,private:235,protected:235,readonly:237,instanceof:256,satisfies:259,import:292,keyof:349,unique:353,infer:359,asserts:395,is:397,abstract:417,implements:419,type:421,let:424,var:426,using:429,interface:435,enum:439,namespace:445,module:447,declare:451,global:455,defer:471,for:476,of:485,while:488,with:492,do:496,if:500,else:502,switch:506,case:512,try:518,catch:522,finally:526,return:530,throw:534,break:538,continue:542,debugger:546},l1={__proto__:null,async:129,get:131,set:133,declare:195,public:197,private:197,protected:197,static:199,abstract:201,override:203,readonly:209,accessor:211,new:401},c1={__proto__:null,"<":193},Ep=Pe.deserialize({version:14,states:"$F|Q%TQlOOO%[QlOOO'_QpOOP(lO`OOO*zQ!0MxO'#CiO+RO#tO'#CjO+aO&jO'#CjO+oO#@ItO'#DaO.QQlO'#DgO.bQlO'#DrO%[QlO'#DzO0fQlO'#ESOOQ!0Lf'#E['#E[O1PQ`O'#EXOOQO'#Ep'#EpOOQO'#Il'#IlO1XQ`O'#GsO1dQ`O'#EoO1iQ`O'#EoO3hQ!0MxO'#JrO6[Q!0MxO'#JsO6uQ`O'#F]O6zQ,UO'#FtOOQ!0Lf'#Ff'#FfO7VO7dO'#FfO9XQMhO'#F|O9`Q`O'#F{OOQ!0Lf'#Js'#JsOOQ!0Lb'#Jr'#JrO9eQ`O'#GwOOQ['#K_'#K_O9pQ`O'#IYO9uQ!0LrO'#IZOOQ['#J`'#J`OOQ['#I_'#I_Q`QlOOQ`QlOOO9}Q!L^O'#DvO:UQlO'#EOO:]QlO'#EQO9kQ`O'#GsO:dQMhO'#CoO:rQ`O'#EnO:}Q`O'#EyO;hQMhO'#FeO;xQ`O'#GsOOQO'#K`'#K`O;}Q`O'#K`O<]Q`O'#G{O<]Q`O'#G|O<]Q`O'#HOO9kQ`O'#HRO=SQ`O'#HUO>kQ`O'#CeO>{Q`O'#HcO?TQ`O'#HiO?TQ`O'#HkO`QlO'#HmO?TQ`O'#HoO?TQ`O'#HrO?YQ`O'#HxO?_Q!0LsO'#IOO%[QlO'#IQO?jQ!0LsO'#ISO?uQ!0LsO'#IUO9uQ!0LrO'#IWO@QQ!0MxO'#CiOASQpO'#DlQOQ`OOO%[QlO'#EQOAjQ`O'#ETO:dQMhO'#EnOAuQ`O'#EnOBQQ!bO'#FeOOQ['#Cg'#CgOOQ!0Lb'#Dq'#DqOOQ!0Lb'#Jv'#JvO%[QlO'#JvOOQO'#Jy'#JyOOQO'#Ih'#IhOCQQpO'#EgOOQ!0Lb'#Ef'#EfOOQ!0Lb'#J}'#J}OC|Q!0MSO'#EgODWQpO'#EWOOQO'#Jx'#JxODlQpO'#JyOEyQpO'#EWODWQpO'#EgPFWO&2DjO'#CbPOOO)CD})CD}OOOO'#I`'#I`OFcO#tO,59UOOQ!0Lh,59U,59UOOOO'#Ia'#IaOFqO&jO,59UOGPQ!L^O'#DcOOOO'#Ic'#IcOGWO#@ItO,59{OOQ!0Lf,59{,59{OGfQlO'#IdOGyQ`O'#JtOIxQ!fO'#JtO+}QlO'#JtOJPQ`O,5:ROJgQ`O'#EpOJtQ`O'#KTOKPQ`O'#KSOKPQ`O'#KSOKXQ`O,5;^OK^Q`O'#KROOQ!0Ln,5:^,5:^OKeQlO,5:^OMcQ!0MxO,5:fONSQ`O,5:nONmQ!0LrO'#KQONtQ`O'#KPO9eQ`O'#KPO! YQ`O'#KPO! bQ`O,5;]O! gQ`O'#KPO!#lQ!fO'#JsOOQ!0Lh'#Ci'#CiO%[QlO'#ESO!$[Q!fO,5:sOOQS'#Jz'#JzOOQO-EtOOQ['#Jh'#JhOOQ[,5>u,5>uOOQ[-E<]-E<]O!TO`QlO,5>VO!LOQ`O,5>XO`QlO,5>ZO!LTQ`O,5>^O!LYQlO,5>dOOQ[,5>j,5>jO%[QlO,5>jO9uQ!0LrO,5>lOOQ[,5>n,5>nO#!dQ`O,5>nOOQ[,5>p,5>pO#!dQ`O,5>pOOQ[,5>r,5>rO##QQpO'#D_O%[QlO'#JvO##sQpO'#JvO##}QpO'#DmO#$`QpO'#DmO#&qQlO'#DmO#&xQ`O'#JuO#'QQ`O,5:WO#'VQ`O'#EtO#'eQ`O'#KUO#'mQ`O,5;_O#'rQpO'#DmO#(PQpO'#EVOOQ!0Lf,5:o,5:oO%[QlO,5:oO#(WQ`O,5:oO?YQ`O,5;YO!CUQpO,5;YO!C^QMhO,5;YO:dQMhO,5;YO#(`Q`O,5@bO#(eQ07dO,5:sOOQO-EPO$6^Q`O,5>POOQ[1G3i1G3iO`QlO1G3iOOQ[1G3o1G3oOOQ[1G3q1G3qO?TQ`O1G3sO$6cQlO1G3uO$:gQlO'#HtOOQ[1G3x1G3xO$:tQ`O'#HzO?YQ`O'#H|OOQ[1G4O1G4OO$:|QlO1G4OO9uQ!0LrO1G4UOOQ[1G4W1G4WOOQ!0Lb'#G_'#G_O9uQ!0LrO1G4YO9uQ!0LrO1G4[O$?TQ`O,5@bO!)[QlO,5;`O9eQ`O,5;`O?YQ`O,5:XO!)[QlO,5:XO!CUQpO,5:XO$?YQ?MtO,5:XOOQO,5;`,5;`O$?dQpO'#IeO$?zQ`O,5@aOOQ!0Lf1G/r1G/rO$@SQpO'#IkO$@^Q`O,5@pOOQ!0Lb1G0y1G0yO#$`QpO,5:XOOQO'#Ig'#IgO$@fQpO,5:qOOQ!0Ln,5:q,5:qO#(ZQ`O1G0ZOOQ!0Lf1G0Z1G0ZO%[QlO1G0ZOOQ!0Lf1G0t1G0tO?YQ`O1G0tO!CUQpO1G0tO!C^QMhO1G0tOOQ!0Lb1G5|1G5|O!ByQ!0LrO1G0^OOQO1G0m1G0mO%[QlO1G0mO$@mQ!0LrO1G0mO$@xQ!0LrO1G0mO!CUQpO1G0^ODWQpO1G0^O$AWQ!0LrO1G0mOOQO1G0^1G0^O$AlQ!0MxO1G0mPOOO-E<[-E<[POOO1G.h1G.hOOOO1G/i1G/iO$AvQ!bO,5QQpO,5@}OOQ!0Lb1G3c1G3cOOQ[7+$V7+$VO@zQ`O7+$VO9uQ!0LrO7+$VO%>]Q`O7+$VO%[QlO1G6lO%[QlO1G6mO%>bQ!0LrO1G6lO%>lQlO1G3kO%>sQ`O1G3kO%>xQlO1G3kOOQ[7+)T7+)TO9uQ!0LrO7+)_O`QlO7+)aOOQ['#Kh'#KhOOQ['#JS'#JSO%?PQlO,5>`OOQ[,5>`,5>`O%[QlO'#HuO%?^Q`O'#HwOOQ[,5>f,5>fO9eQ`O,5>fOOQ[,5>h,5>hOOQ[7+)j7+)jOOQ[7+)p7+)pOOQ[7+)t7+)tOOQ[7+)v7+)vO%?cQpO1G5|O%?}Q?MtO1G0zO%@XQ`O1G0zOOQO1G/s1G/sO%@dQ?MtO1G/sO?YQ`O1G/sO!)[QlO'#DmOOQO,5?P,5?POOQO-ERQ`O7+,WO&>WQ`O7+,XO%[QlO7+,WO%[QlO7+,XOOQ[7+)V7+)VO&>]Q`O7+)VO&>bQlO7+)VO&>iQ`O7+)VOOQ[<nQ`O,5>aOOQ[,5>c,5>cO&>sQ`O1G4QO9eQ`O7+&fO!)[QlO7+&fOOQO7+%_7+%_O&>xQ?MtO1G6ZO?YQ`O7+%_OOQ!0Lf<yQ?MvO,5?aO'@|Q?MvO,5?cO'CPQ?MvO7+'|O'DuQMjOG27TOOQO<VO!l$xO#jROe!iOpkOrPO(T)]O(VTO(YUO(aVO(o[O~O!]$_Oa$qa'z$qa'w$qa!k$qa!Y$qa!_$qa%i$qa!g$qa~Ol)dO~P!&zOh%VOp%WOr%XOs$tOt$tOz%YO|%ZO!O%]O!S${O!_$|O!i%bO!l$xO#j%cO$W%`O$t%^O$v%_O$y%aO(T(vO(VTO(YUO(a$uO(y$}O(z%PO~Og(pP~P!,TO!Q)iO!g)hO!_$^X$Z$^X$]$^X$_$^X$f$^X~O!g)hO!_({X$Z({X$]({X$_({X$f({X~O!Q)iO~P!.^O!Q)iO!_({X$Z({X$]({X$_({X$f({X~O!_)kO$Z)oO$])jO$_)jO$f)pO~O![)sO~P!)[O$]$hO$_$gO$f)wO~On$zX!Q$zX#S$zX'y$zX(y$zX(z$zX~OgmXg$zXnmX!]mX#`mX~P!0SOx)yO(b)zO(c)|O~On*VO!Q*OO'y*PO(y$}O(z%PO~Og)}O~P!1WOg*WO~Oh%VOr%XOs$tOt$tOz%YO|%ZO!OVO!l$xO#jVO!l$xO#jROe!iOpkOrPO(VTO(YUO(aVO(o[O~O(T=QO~P#$qO!]-]O!^(iX~O!^-_O~O!g-VO#`-UO!]#hX!^#hX~O!]-`O!^(xX~O!^-bO~O!c-cO!d-cO(U!lO~P#$`O!^-fO~P'_On-iO!_'`O~O!Y-nO~Os!{a!b!{a!c!{a!d!{a#T!{a#U!{a#V!{a#W!{a#X!{a#[!{a#]!{a(U!{a(V!{a(Y!{a(e!{a(o!{a~P!#vO!p-sO#`-qO~PChO!c-uO!d-uO(U!lO~PDWOa%nO#`-qO'z%nO~Oa%nO!g#vO#`-qO'z%nO~Oa%nO!g#vO!p-sO#`-qO'z%nO(r'pO~O(P'xO(Q'xO(R-zO~Ov-{O~O!Y'Wa!]'Wa~P!:tO![.PO!Y'WX!]'WX~P%[O!](VO!Y(ha~O!Y(ha~PHRO!](^O!Y(va~O!S%hO![.TO!_%iO(T%gO!Y'^X!]'^X~O#`.VO!](ta!k(taa(ta'z(ta~O!g#vO~P#,wO!](jO!k(sa~O!S%hO!_%iO#j.ZO(T%gO~Op.`O!S%hO![.]O!_%iO!|]O#i._O#j.]O(T%gO!]'aX!k'aX~OR.dO!l#xO~Oh%VOn.gO!_'`O%i.fO~Oa#ci!]#ci'z#ci'w#ci!Y#ci!k#civ#ci!_#ci%i#ci!g#ci~P!:tOn>]O!Q*OO'y*PO(y$}O(z%PO~O#k#_aa#_a#`#_a'z#_a!]#_a!k#_a!_#_a!Y#_a~P#/sO#k(`XP(`XR(`X[(`Xa(`Xj(`Xr(`X!S(`X!l(`X!p(`X#R(`X#n(`X#o(`X#p(`X#q(`X#r(`X#s(`X#t(`X#u(`X#v(`X#x(`X#z(`X#{(`X'z(`X(a(`X(r(`X!k(`X!Y(`X'w(`Xv(`X!_(`X%i(`X!g(`X~P!6kO!].tO!k(kX~P!:tO!k.wO~O!Y.yO~OP$[OR#zO!Q#yO!S#{O!l#xO!p$[O(aVO[#mia#mij#mir#mi!]#mi#R#mi#o#mi#p#mi#q#mi#r#mi#s#mi#t#mi#u#mi#v#mi#x#mi#z#mi#{#mi'z#mi(r#mi(y#mi(z#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#n#mi~P#3cO#n$OO~P#3cOP$[OR#zOr$aO!Q#yO!S#{O!l#xO!p$[O#n$OO#o$PO#p$PO#q$PO(aVO[#mia#mij#mi!]#mi#R#mi#s#mi#t#mi#u#mi#v#mi#x#mi#z#mi#{#mi'z#mi(r#mi(y#mi(z#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#r#mi~P#6QO#r$QO~P#6QOP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO(aVOa#mi!]#mi#x#mi#z#mi#{#mi'z#mi(r#mi(y#mi(z#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#v#mi~P#8oOP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO#v$SO(aVO(z#}Oa#mi!]#mi#z#mi#{#mi'z#mi(r#mi(y#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#x$UO~P#;VO#x#mi~P#;VO#v$SO~P#8oOP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO#v$SO#x$UO(aVO(y#|O(z#}Oa#mi!]#mi#{#mi'z#mi(r#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#z#mi~P#={O#z$WO~P#={OP]XR]X[]Xj]Xr]X!Q]X!S]X!l]X!p]X#R]X#S]X#`]X#kfX#n]X#o]X#p]X#q]X#r]X#s]X#t]X#u]X#v]X#x]X#z]X#{]X$Q]X(a]X(r]X(y]X(z]X!]]X!^]X~O$O]X~P#@jOP$[OR#zO[]O!Q*OO'y*PO(y$}O(z%POP#miR#mi!S#mi!l#mi!p#mi#n#mi#o#mi#p#mi#q#mi(a#mi~P#EyO!]/POg(pX~P!1WOg/RO~Oa$Pi!]$Pi'z$Pi'w$Pi!Y$Pi!k$Piv$Pi!_$Pi%i$Pi!g$Pi~P!:tO$]/SO$_/SO~O$]/TO$_/TO~O!g)hO#`/UO!_$cX$Z$cX$]$cX$_$cX$f$cX~O![/VO~O!_)kO$Z/XO$])jO$_)jO$f/YO~O!]VO!l$xO#j^O!Q*OO'y*PO(y$}O(z%POP#miR#mi!S#mi!l#mi!p#mi#n#mi#o#mi#p#mi#q#mi(a#mi~P&,QO#S$dOP(`XR(`X[(`Xj(`Xn(`Xr(`X!Q(`X!S(`X!l(`X!p(`X#R(`X#n(`X#o(`X#p(`X#q(`X#r(`X#s(`X#t(`X#u(`X#v(`X#x(`X#z(`X#{(`X$O(`X'y(`X(a(`X(r(`X(y(`X(z(`X!](`X!^(`X~O$O$Pi!]$Pi!^$Pi~P#BwO$O!ri!^!ri~P$+oOg']a!]']a~P!1WO!^7nO~O!]'da!^'da~P#BwO!Y7oO~P#/sO!g#vO(r'pO!]'ea!k'ea~O!]/pO!k)Oi~O!]/pO!g#vO!k)Oi~Og$|q!]$|q#`$|q$O$|q~P!1WO!Y'ga!]'ga~P#/sO!g7vO~O!]/yO!Y)Pi~P#/sO!]/yO!Y)Pi~O!Y7yO~Oh%VOr8OO!l%eO(r'pO~Oj8QO!g#vO~Or8TO!g#vO(r'pO~O!Q*OO'y*PO(z%POn'ja(y'ja!]'ja#`'ja~Og'ja$O'ja~P&5RO!Q*OO'y*POn'la(y'la(z'la!]'la#`'la~Og'la$O'la~P&5tOg(_q!](_q~P!1WO#`8VOg(_q!](_q~P!1WO!Y8WO~Og%Oq!]%Oq#`%Oq$O%Oq~P!1WOa$oy!]$oy'z$oy'w$oy!Y$oy!k$oyv$oy!_$oy%i$oy!g$oy~P!:tO!g6rO~O!]5[O!_)Qa~O!_'`OP$TaR$Ta[$Taj$Tar$Ta!Q$Ta!S$Ta!]$Ta!l$Ta!p$Ta#R$Ta#n$Ta#o$Ta#p$Ta#q$Ta#r$Ta#s$Ta#t$Ta#u$Ta#v$Ta#x$Ta#z$Ta#{$Ta(a$Ta(r$Ta(y$Ta(z$Ta~O%i7WO~P&8fO%^8[Oa%[i!_%[i'z%[i!]%[i~Oa#cy!]#cy'z#cy'w#cy!Y#cy!k#cyv#cy!_#cy%i#cy!g#cy~P!:tO[8^O~Ob8`O(T+qO(VTO(YUO~O!]1TO!^)Xi~O`8dO~O(e(|O!]'pX!^'pX~O!]5uO!^)Ua~O!^8nO~P%;eO(o!sO~P$&YO#[8oO~O!_1oO~O!_1oO%i8qO~On8tO!_1oO%i8qO~O[8yO!]'sa!^'sa~O!]1zO!^)Vi~O!k8}O~O!k9OO~O!k9RO~O!k9RO~P%[Oa9TO~O!g9UO~O!k9VO~O!](wi!^(wi~P#BwOa%nO#`9_O'z%nO~O!](ty!k(tya(ty'z(ty~P!:tO!](jO!k(sy~O%i9bO~P&8fO!_'`O%i9bO~O#k$|qP$|qR$|q[$|qa$|qj$|qr$|q!S$|q!]$|q!l$|q!p$|q#R$|q#n$|q#o$|q#p$|q#q$|q#r$|q#s$|q#t$|q#u$|q#v$|q#x$|q#z$|q#{$|q'z$|q(a$|q(r$|q!k$|q!Y$|q'w$|q#`$|qv$|q!_$|q%i$|q!g$|q~P#/sO#k'jaP'jaR'ja['jaa'jaj'jar'ja!S'ja!l'ja!p'ja#R'ja#n'ja#o'ja#p'ja#q'ja#r'ja#s'ja#t'ja#u'ja#v'ja#x'ja#z'ja#{'ja'z'ja(a'ja(r'ja!k'ja!Y'ja'w'jav'ja!_'ja%i'ja!g'ja~P&5RO#k'laP'laR'la['laa'laj'lar'la!S'la!l'la!p'la#R'la#n'la#o'la#p'la#q'la#r'la#s'la#t'la#u'la#v'la#x'la#z'la#{'la'z'la(a'la(r'la!k'la!Y'la'w'lav'la!_'la%i'la!g'la~P&5tO#k%OqP%OqR%Oq[%Oqa%Oqj%Oqr%Oq!S%Oq!]%Oq!l%Oq!p%Oq#R%Oq#n%Oq#o%Oq#p%Oq#q%Oq#r%Oq#s%Oq#t%Oq#u%Oq#v%Oq#x%Oq#z%Oq#{%Oq'z%Oq(a%Oq(r%Oq!k%Oq!Y%Oq'w%Oq#`%Oqv%Oq!_%Oq%i%Oq!g%Oq~P#/sO!]'Yi!k'Yi~P!:tO$O#cq!]#cq!^#cq~P#BwO(y$}OP%aaR%aa[%aaj%aar%aa!S%aa!l%aa!p%aa#R%aa#n%aa#o%aa#p%aa#q%aa#r%aa#s%aa#t%aa#u%aa#v%aa#x%aa#z%aa#{%aa$O%aa(a%aa(r%aa!]%aa!^%aa~On%aa!Q%aa'y%aa(z%aa~P&IyO(z%POP%caR%ca[%caj%car%ca!S%ca!l%ca!p%ca#R%ca#n%ca#o%ca#p%ca#q%ca#r%ca#s%ca#t%ca#u%ca#v%ca#x%ca#z%ca#{%ca$O%ca(a%ca(r%ca!]%ca!^%ca~On%ca!Q%ca'y%ca(y%ca~P&LQOn>^O!Q*OO'y*PO(z%PO~P&IyOn>^O!Q*OO'y*PO(y$}O~P&LQOR0kO!Q0kO!S0lO#S$dOP}a[}aj}an}ar}a!l}a!p}a#R}a#n}a#o}a#p}a#q}a#r}a#s}a#t}a#u}a#v}a#x}a#z}a#{}a$O}a'y}a(a}a(r}a(y}a(z}a!]}a!^}a~O!Q*OO'y*POP$saR$sa[$saj$san$sar$sa!S$sa!l$sa!p$sa#R$sa#n$sa#o$sa#p$sa#q$sa#r$sa#s$sa#t$sa#u$sa#v$sa#x$sa#z$sa#{$sa$O$sa(a$sa(r$sa(y$sa(z$sa!]$sa!^$sa~O!Q*OO'y*POP$uaR$ua[$uaj$uan$uar$ua!S$ua!l$ua!p$ua#R$ua#n$ua#o$ua#p$ua#q$ua#r$ua#s$ua#t$ua#u$ua#v$ua#x$ua#z$ua#{$ua$O$ua(a$ua(r$ua(y$ua(z$ua!]$ua!^$ua~On>^O!Q*OO'y*PO(y$}O(z%PO~OP%TaR%Ta[%Taj%Tar%Ta!S%Ta!l%Ta!p%Ta#R%Ta#n%Ta#o%Ta#p%Ta#q%Ta#r%Ta#s%Ta#t%Ta#u%Ta#v%Ta#x%Ta#z%Ta#{%Ta$O%Ta(a%Ta(r%Ta!]%Ta!^%Ta~P''VO$O$mq!]$mq!^$mq~P#BwO$O$oq!]$oq!^$oq~P#BwO!^9oO~O$O9pO~P!1WO!g#vO!]'ei!k'ei~O!g#vO(r'pO!]'ei!k'ei~O!]/pO!k)Oq~O!Y'gi!]'gi~P#/sO!]/yO!Y)Pq~Or9wO!g#vO(r'pO~O[9yO!Y9xO~P#/sO!Y9xO~Oj:PO!g#vO~Og(_y!](_y~P!1WO!]'na!_'na~P#/sOa%[q!_%[q'z%[q!]%[q~P#/sO[:UO~O!]1TO!^)Xq~O`:YO~O#`:ZO!]'pa!^'pa~O!]5uO!^)Ui~P#BwO!S:]O~O!_1oO%i:`O~O(VTO(YUO(e:eO~O!]1zO!^)Vq~O!k:hO~O!k:iO~O!k:jO~O!k:jO~P%[O#`:mO!]#hy!^#hy~O!]#hy!^#hy~P#BwO%i:rO~P&8fO!_'`O%i:rO~O$O#|y!]#|y!^#|y~P#BwOP$|iR$|i[$|ij$|ir$|i!S$|i!l$|i!p$|i#R$|i#n$|i#o$|i#p$|i#q$|i#r$|i#s$|i#t$|i#u$|i#v$|i#x$|i#z$|i#{$|i$O$|i(a$|i(r$|i!]$|i!^$|i~P''VO!Q*OO'y*PO(z%POP'iaR'ia['iaj'ian'iar'ia!S'ia!l'ia!p'ia#R'ia#n'ia#o'ia#p'ia#q'ia#r'ia#s'ia#t'ia#u'ia#v'ia#x'ia#z'ia#{'ia$O'ia(a'ia(r'ia(y'ia!]'ia!^'ia~O!Q*OO'y*POP'kaR'ka['kaj'kan'kar'ka!S'ka!l'ka!p'ka#R'ka#n'ka#o'ka#p'ka#q'ka#r'ka#s'ka#t'ka#u'ka#v'ka#x'ka#z'ka#{'ka$O'ka(a'ka(r'ka(y'ka(z'ka!]'ka!^'ka~O(y$}OP%aiR%ai[%aij%ain%air%ai!Q%ai!S%ai!l%ai!p%ai#R%ai#n%ai#o%ai#p%ai#q%ai#r%ai#s%ai#t%ai#u%ai#v%ai#x%ai#z%ai#{%ai$O%ai'y%ai(a%ai(r%ai(z%ai!]%ai!^%ai~O(z%POP%ciR%ci[%cij%cin%cir%ci!Q%ci!S%ci!l%ci!p%ci#R%ci#n%ci#o%ci#p%ci#q%ci#r%ci#s%ci#t%ci#u%ci#v%ci#x%ci#z%ci#{%ci$O%ci'y%ci(a%ci(r%ci(y%ci!]%ci!^%ci~O$O$oy!]$oy!^$oy~P#BwO$O#cy!]#cy!^#cy~P#BwO!g#vO!]'eq!k'eq~O!]/pO!k)Oy~O!Y'gq!]'gq~P#/sOr:|O!g#vO(r'pO~O[;QO!Y;PO~P#/sO!Y;PO~Og(_!R!](_!R~P!1WOa%[y!_%[y'z%[y!]%[y~P#/sO!]1TO!^)Xy~O!]5uO!^)Uq~O(T;XO~O!_1oO%i;[O~O!k;_O~O%i;dO~P&8fOP$|qR$|q[$|qj$|qr$|q!S$|q!l$|q!p$|q#R$|q#n$|q#o$|q#p$|q#q$|q#r$|q#s$|q#t$|q#u$|q#v$|q#x$|q#z$|q#{$|q$O$|q(a$|q(r$|q!]$|q!^$|q~P''VO!Q*OO'y*PO(z%POP'jaR'ja['jaj'jan'jar'ja!S'ja!l'ja!p'ja#R'ja#n'ja#o'ja#p'ja#q'ja#r'ja#s'ja#t'ja#u'ja#v'ja#x'ja#z'ja#{'ja$O'ja(a'ja(r'ja(y'ja!]'ja!^'ja~O!Q*OO'y*POP'laR'la['laj'lan'lar'la!S'la!l'la!p'la#R'la#n'la#o'la#p'la#q'la#r'la#s'la#t'la#u'la#v'la#x'la#z'la#{'la$O'la(a'la(r'la(y'la(z'la!]'la!^'la~OP%OqR%Oq[%Oqj%Oqr%Oq!S%Oq!l%Oq!p%Oq#R%Oq#n%Oq#o%Oq#p%Oq#q%Oq#r%Oq#s%Oq#t%Oq#u%Oq#v%Oq#x%Oq#z%Oq#{%Oq$O%Oq(a%Oq(r%Oq!]%Oq!^%Oq~P''VOg%e!Z!]%e!Z#`%e!Z$O%e!Z~P!1WO!Y;hO~P#/sOr;iO!g#vO(r'pO~O[;kO!Y;hO~P#/sO!]'pq!^'pq~P#BwO!]#h!Z!^#h!Z~P#BwO#k%e!ZP%e!ZR%e!Z[%e!Za%e!Zj%e!Zr%e!Z!S%e!Z!]%e!Z!l%e!Z!p%e!Z#R%e!Z#n%e!Z#o%e!Z#p%e!Z#q%e!Z#r%e!Z#s%e!Z#t%e!Z#u%e!Z#v%e!Z#x%e!Z#z%e!Z#{%e!Z'z%e!Z(a%e!Z(r%e!Z!k%e!Z!Y%e!Z'w%e!Z#`%e!Zv%e!Z!_%e!Z%i%e!Z!g%e!Z~P#/sOr;tO!g#vO(r'pO~O!Y;uO~P#/sOr;|O!g#vO(r'pO~O!Y;}O~P#/sOP%e!ZR%e!Z[%e!Zj%e!Zr%e!Z!S%e!Z!l%e!Z!p%e!Z#R%e!Z#n%e!Z#o%e!Z#p%e!Z#q%e!Z#r%e!Z#s%e!Z#t%e!Z#u%e!Z#v%e!Z#x%e!Z#z%e!Z#{%e!Z$O%e!Z(a%e!Z(r%e!Z!]%e!Z!^%e!Z~P''VOrROe!iOpkOrPO(T)]O(VTO(YUO(aVO(o[O~O!]WO!l$xO#jgPPP!>oI[PPPPPPPPP!BOP!C]PPI[!DnPI[PI[I[I[I[I[PI[!FQP!I[P!LbP!Lf!Lp!Lt!LtP!IXP!Lx!LxP#!OP#!SI[PI[#!Y#%_CjA^PA^PA^A^P#&lA^A^#)OA^#+vA^#.SA^A^#.r#1W#1W#1]#1f#1W#1qPP#1WPA^#2ZA^#6YA^A^6mPPP#:_PPP#:x#:xP#:xP#;`#:xPP#;fP#;]P#;]#;y#;]#P#>V#>]#>k#>q#>{#?R#?]#?c#?s#?y#@k#@}#AT#AZ#Ai#BO#Cs#DR#DY#Et#FS#Gt#HS#HY#H`#Hf#Hp#Hv#H|#IW#Ij#IpPPPPPPPPPPP#IvPPPPPPP#Jk#Mx$ b$ i$ qPPP$']P$'f$*_$0x$0{$1O$1}$2Q$2X$2aP$2g$2jP$3W$3[$4S$5b$5g$5}PP$6S$6Y$6^$6a$6e$6i$7e$7|$8e$8i$8l$8o$8y$8|$9Q$9UR!|RoqOXst!Z#d%m&r&t&u&w,s,x2[2_Y!vQ'`-e1o5{Q%tvQ%|yQ&T|Q&j!VS'W!e-]Q'f!iS'l!r!yU*k$|*Z*oQ+o%}S+|&V&WQ,d&dQ-c'_Q-m'gQ-u'mQ0[*qQ1b,OQ1y,eR<{SU+P%]S!S!nQ!r!v!y!z$|'W'_'`'l'm'n*k*o*q*r-]-c-e-u0[0_1o5{5}%[$ti#v$b$c$d$x${%O%Q%^%_%c)y*R*T*V*Y*a*g*w*x+f+i,S,V.f/P/d/m/x/y/{0`0b0i0j0o1f1i1q3c4^4_4j4o5Q5[5_6S7W7v8Q8V8[8q9b9p9y:P:`:r;Q;[;d;kP>X>Y>]>^Q&X|Q'U!eS'[%i-`Q+t&PQ,P&WQ,f&gQ0n+SQ1Y+uQ1_+{Q2Q,jQ2R,kQ5f1TQ5o1aQ6[1zQ6_1|Q6`2PQ8`5gQ8c5lQ8|6bQ:X8dQ:f8yQ;V:YR<}*ZrnOXst!V!Z#d%m&i&r&t&u&w,s,x2[2_R,h&k&z^OPXYstuvwz!Z!`!g!j!o#S#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%m%t&R&k&n&o&r&t&u&w&{'T'b'r(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:mR>S[#]WZ#W#Z'X(T!b%jm#h#i#l$x%e%h(^(h(i(j*Y*^*b+Z+[+^,o-V.T.Z.[.]._/m/p2d3[3]4a6r7TQ%wxQ%{yW&Q|&V&W,OQ&_!TQ'c!hQ'e!iQ(q#sS+n%|%}Q+r&PQ,_&bQ,c&dS-l'f'gQ.i(rQ1R+oQ1X+uQ1Z+vQ1^+zQ1t,`S1x,d,eQ2|-mQ5e1TQ5i1WQ5n1`Q6Z1yQ8_5gQ8b5kQ8f5pQ:T8^R;T:U!U$zi$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Y!^%yy!i!u%{%|%}'V'e'f'g'k'u*j+n+o-Y-l-m-t0R0U1R2u2|3T4r4s4v7}9{Q+h%wQ,T&[Q,W&]Q,b&dQ.h(qQ1s,_U1w,c,d,eQ3e.iQ6U1tS6Y1x1yQ8x6Z#f>T#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k]>^o>UPS&[!Q&iQ&]!RQ&^!SU*}%[%d=sR,R&Y%]%Si#v$b$c$d$x${%O%Q%^%_%c)y*R*T*V*Y*a*g*w*x+f+i,S,V.f/P/d/m/x/y/{0`0b0i0j0o1f1i1q3c4^4_4j4o5Q5[5_6S7W7v8Q8V8[8q9b9p9y:P:`:r;Q;[;d;kP>X>Y>]>^T)z$u){V+P%]S$i$^c#Y#e%q%s%u(S(Y(t(y)R)S)T)U)V)W)X)Y)Z)[)^)`)b)g)q+d+x-Z-x-}.S.U.s.v.z.|.}/O/b0p2k2n3O3V3k3p3q3r3s3t3u3v3w3x3y3z3{3|4P4Q4X5X5c6u6{7Q7a7b7k7l8k9X9]9g9m9n:o;W;`SQ'Y!eR2q-]!W!nQ!e!r!v!y!z$|'W'_'`'l'm'n*Z*k*o*q*r-]-c-e-u0[0_1o5{5}R1l,ZnqOXst!Z#d%m&r&t&u&w,s,x2[2_Q&y!^Q'v!xS(s#u<^Q+l%zQ,]&_Q,^&aQ-j'dQ-w'oS.r(x=PS0q+X=ZQ1P+mQ1n,[Q2c,zQ2e,{Q2m-WQ2z-kQ2}-oS5Y0r=eQ5a1QS5d1S=fQ6t2oQ6x2{Q6}3SQ8]5bQ9Y6vQ9Z6yQ9^7OR:l9V$d$]c#Y#e%s%u(S(Y(t(y)R)S)T)U)V)W)X)Y)Z)[)^)`)b)g)q+d+x-Z-x-}.S.U.s.v.z.}/O/b0p2k2n3O3V3k3p3q3r3s3t3u3v3w3x3y3z3{3|4P4Q4X5X5c6u6{7Q7a7b7k7l8k9X9]9g9m9n:o;W;`SS#q]SU$fd)_,mS(p#p'iU*v%R(w4OU0m+O.n7gQ5^0xQ7V3`Q9d7YR:s9em!tQ!r!v!y!z'`'l'm'n-e-u1o5{5}Q't!uS(f#g2US-s'k'wQ/s*]Q0R*jQ3U-vQ4f/tQ4r0TQ4s0UQ4x0^Q7r4`S7}4t4vS8R4y4{Q9r7sQ9v7yQ9{8OQ:Q8TS:{9w9xS;g:|;PS;s;h;iS;{;t;uSSR=o>R%^bOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&o&r&t&u&w&{'T'b'r(T(V(](d(x(z)O)}*i+X+]+g,p,s,x-i-q.P.V.g.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3d3l4z6T6e6f6i6|7[8t9T9_Q%fj!^%xy!i!u%{%|%}'V'e'f'g'k'u*j+n+o-Y-l-m-t0R0U1R2u2|3T4r4s4v7}9{S&Oz!jQ+k%yQ,a&dW1v,b,c,d,eU6X1w1x1yS8w6Y6ZQ:d8x!r=j$Z$n'X)s-U-X/V2p4T5w6s:Z:mSQ=t>QR=u>R%QeOPXYstuvw!Z!`!g!o#S#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&r&t&u&w&{'T'b'r(V(](d(x(z)O)}*i+X+]+g,p,s,x-i-q.P.V.g.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3d3l4z6T6e6f6i6|7[8t9T9_Y#bWZ#W#Z(T!b%jm#h#i#l$x%e%h(^(h(i(j*Y*^*b+Z+[+^,o-V.T.Z.[.]._/m/p2d3[3]4a6r7TQ,n&o!p=k$Z$n)s-U-X/V2p4T5w6s:Z:mSR=n'XU']!e%i*ZR2s-`%SdOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&r&t&u&w&{'T'b'r(T(V(](d(x(z)O)}*i+X+],p,s,x-i-q.P.V.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3l4z6T6e6f6i6|8t9T9_!r)_$Z$n'X)s-U-X/V2p4T5w6s:Z:mSQ,m&oQ0x+gQ3`.gQ7Y3dR9e7[!b$Tc#Y%q(S(Y(t(y)Z)[)`)g+x-x-}.S.U.s.v/b0p3O3V3k3{5X5c6{7Q7a9]:oS)^)q-Z.|2k2n3p4P4X6u7b7k7l8k9X9g9m9n;W;`=vQ>X>ZR>Y>['QkOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%m%t&R&k&n&o&r&t&u&w&{'T'X'b'r(T(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:mSS$oh$pR4U/U'XgOPWXYZhstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n$p%m%t&R&k&n&o&r&t&u&w&{'T'X'b'r(T(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/U/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:mST$kf$qQ$ifS)j$l)nR)v$qT$jf$qT)l$l)n'XhOPWXYZhstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n$p%m%t&R&k&n&o&r&t&u&w&{'T'X'b'r(T(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/U/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:mST$oh$pQ$rhR)u$p%^jOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&o&r&t&u&w&{'T'b'r(T(V(](d(x(z)O)}*i+X+]+g,p,s,x-i-q.P.V.g.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3d3l4z6T6e6f6i6|7[8t9T9_!s>Q$Z$n'X)s-U-X/V2p4T5w6s:Z:mS#glOPXZst!Z!`!o#S#d#o#{$n%m&k&n&o&r&t&u&w&{'T'b)O)s*i+]+g,p,s,x-i.g/V/n0]0l1r2S2T2V2X2[2_2a3d4T4z6T6e6f6i7[8t9T!U%Ri$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Y#f(w#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k]>^Q+T%aQ/c*Oo4OP>X>YQ*c$zU*l$|*Z*oQ+U%bQ0W*m#f=q#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k]>^n=rTQ=x>UQ=y>VR=z>W!U%Ri$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Y#f(w#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k]>^o4OP>X>Y>]>^Q,U&]Q1h,WQ5s1gR8h5tV*n$|*Z*oU*n$|*Z*oT5z1o5{S0P*i/nQ4w0]T8S4z:]Q+j%xQ0V*lQ1O+kQ1u,aQ6W1vQ8v6XQ:c8wR;^:d!U%Oi$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Yx*R$v)e*S*u+V/v0d0e4R4g5R5S5W7p8U:R:x=p=}>OS0`*t0a#f]>^nZ>[`=T3}7c7f7j9h:t:w;yS=_.l3iT=`7e9k!U%Qi$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Y|*T$v)e*U*t+V/g/v0d0e4R4g4|5R5S5W7p8U:R:x=p=}>OS0b*u0c#f]>^nZ>[d=V3}7d7e7j9h9i:t:u:w;yS=a.m3jT=b7f9lrnOXst!V!Z#d%m&i&r&t&u&w,s,x2[2_Q&f!UR,p&ornOXst!V!Z#d%m&i&r&t&u&w,s,x2[2_R&f!UQ,Y&^R1d,RsnOXst!V!Z#d%m&i&r&t&u&w,s,x2[2_Q1p,_S6R1s1tU8p6P6Q6US:_8r8sS;Y:^:aQ;m;ZR;w;nQ&m!VR,i&iR6_1|R:f8yW&Q|&V&W,OR1Z+vQ&r!WR,s&sR,y&xT2],x2_R,}&yQ,|&yR2f,}Q'y!{R-y'ySsOtQ#dXT%ps#dQ#OTR'{#OQ#RUR'}#RQ){$uR/`){Q#UVR(Q#UQ#XWU(W#X(X.QQ(X#YR.Q(YQ-^'YR2r-^Q.u(yS3m.u3nR3n.vQ-e'`R2v-eY!rQ'`-e1o5{R'j!rQ/Q)eR4S/QU#_W%h*YU(_#_(`.RQ(`#`R.R(ZQ-a']R2t-at`OXst!V!Z#d%m&i&k&r&t&u&w,s,x2[2_S#hZ%eU#r`#h.[R.[(jQ(k#jQ.X(gW.a(k.X3X7RQ3X.YR7R3YQ)n$lR/W)nQ$phR)t$pQ$`cU)a$`-|O>Z>[Q/z*eU4k/z4m7xQ4m/|R7x4lS*o$|*ZR0Y*ox*S$v)e*t*u+V/v0d0e4R4g5R5S5W7p8U:R:x=p=}>O!d.j(u)c*[*e.l.m.q/_/k/|0v1e3h4[4h4l5r7]7`7w7z8X8Z9t9|:S:};R;e;j;v>Z>[U/h*S.j7ca7c3}7e7f7j9h:t:w;yQ0a*tQ3i.lU4}0a3i9kR9k7e|*U$v)e*t*u+V/g/v0d0e4R4g4|5R5S5W7p8U:R:x=p=}>O!h.k(u)c*[*e.l.m.q/_/k/|0v1e3f3h4[4h4l5r7]7^7`7w7z8X8Z9t9|:S:};R;e;j;v>Z>[U/j*U.k7de7d3}7e7f7j9h9i:t:u:w;yQ0c*uQ3j.mU5P0c3j9lR9l7fQ*z%UR0g*zQ5]0vR8Y5]Q+_%kR0u+_Q5v1jS8j5v:[R:[8kQ,[&_R1m,[Q5{1oR8m5{Q1{,fS6]1{8zR8z6_Q1U+rW5h1U5j8a:VQ5j1XQ8a5iR:V8bQ+w&QR1[+wQ2_,xR6m2_YrOXst#dQ&v!ZQ+a%mQ,r&rQ,t&tQ,u&uQ,w&wQ2Y,sS2],x2_R6l2[Q%opQ&z!_Q&}!aQ'P!bQ'R!cQ'q!uQ+`%lQ+l%zQ,Q&XQ,h&mQ-P&|W-p'k's't'wQ-w'oQ0X*nQ1P+mQ1c,PS2O,i,lQ2g-OQ2h-RQ2i-SQ2}-oW3P-r-s-v-xQ5a1QQ5m1_Q5q1eQ6V1uQ6a2QQ6k2ZU6z3O3R3UQ6}3SQ8]5bQ8e5oQ8g5rQ8l5zQ8u6WQ8{6`S9[6{7PQ9^7OQ:W8cQ:b8vQ:g8|Q:n9]Q;U:XQ;]:cQ;a:oQ;l;VR;o;^Q%zyQ'd!iQ'o!uU+m%{%|%}Q-W'VU-k'e'f'gS-o'k'uQ0Q*jS1Q+n+oQ2o-YS2{-l-mQ3S-tS4p0R0UQ5b1RQ6v2uQ6y2|Q7O3TU7{4r4s4vQ9z7}R;O9{S$wi>PR*{%VU%Ui%V>PR0f*yQ$viS(u#v+iS)c$b$cQ)e$dQ*[$xS*e${*YQ*t%OQ*u%QQ+Q%^Q+R%_Q+V%cQ.lPQ=}>XQ>O>YQ>Z>]R>[>^Q+O%]Q.nSR#[WR'Z!el!tQ!r!v!y!z'`'l'm'n-e-u1o5{5}S'V!e-]U*j$|*Z*oS-Y'W'_S0U*k*qQ0^*rQ2u-cQ4v0[R4{0_R({#xQ!fQT-d'`-e]!qQ!r'`-e1o5{Q#p]R'i < TypeParamList in out const TypeDefinition extends ThisType this LiteralType ArithOp Number BooleanLiteral TemplateType InterpolationEnd Interpolation InterpolationStart NullType null VoidType void TypeofType typeof MemberExpression . PropertyName [ TemplateString Escape Interpolation super RegExp ] ArrayExpression Spread , } { ObjectExpression Property async get set PropertyDefinition Block : NewTarget new NewExpression ) ( ArgList UnaryExpression delete LogicOp BitOp YieldExpression yield AwaitExpression await ParenthesizedExpression ClassExpression class ClassBody MethodDeclaration Decorator @ MemberExpression PrivatePropertyName CallExpression TypeArgList CompareOp < declare Privacy static abstract override PrivatePropertyDefinition PropertyDeclaration readonly accessor Optional TypeAnnotation Equals StaticBlock FunctionExpression ArrowFunction ParamList ParamList ArrayPattern ObjectPattern PatternProperty Privacy readonly Arrow MemberExpression BinaryExpression ArithOp ArithOp ArithOp ArithOp BitOp CompareOp instanceof satisfies CompareOp BitOp BitOp BitOp LogicOp LogicOp ConditionalExpression LogicOp LogicOp AssignmentExpression UpdateOp PostfixExpression CallExpression InstantiationExpression TaggedTemplateExpression DynamicImport import ImportMeta JSXElement JSXSelfCloseEndTag JSXSelfClosingTag JSXIdentifier JSXBuiltin JSXIdentifier JSXNamespacedName JSXMemberExpression JSXSpreadAttribute JSXAttribute JSXAttributeValue JSXEscape JSXEndTag JSXOpenTag JSXFragmentTag JSXText JSXEscape JSXStartCloseTag JSXCloseTag PrefixCast < ArrowFunction TypeParamList SequenceExpression InstantiationExpression KeyofType keyof UniqueType unique ImportType InferredType infer TypeName ParenthesizedType FunctionSignature ParamList NewSignature IndexedType TupleType Label ArrayType ReadonlyType ObjectType MethodType PropertyType IndexSignature PropertyDefinition CallSignature TypePredicate asserts is NewSignature new UnionType LogicOp IntersectionType LogicOp ConditionalType ParameterizedType ClassDeclaration abstract implements type VariableDeclaration let var using TypeAliasDeclaration InterfaceDeclaration interface EnumDeclaration enum EnumBody NamespaceDeclaration namespace module AmbientDeclaration declare GlobalDeclaration global ClassDeclaration ClassBody AmbientFunctionDeclaration ExportGroup VariableName VariableName ImportDeclaration defer ImportGroup ForStatement for ForSpec ForInSpec ForOfSpec of WhileStatement while WithStatement with DoStatement do IfStatement if else SwitchStatement switch SwitchBody CaseLabel case DefaultLabel TryStatement try CatchClause catch FinallyClause finally ReturnStatement return ThrowStatement throw BreakStatement break ContinueStatement continue DebuggerStatement debugger LabeledStatement ExpressionStatement SingleExpression SingleClassItem",maxTerm:380,context:e1,nodeProps:[["isolate",-8,5,6,14,37,39,51,53,55,""],["group",-26,9,17,19,68,207,211,215,216,218,221,224,234,237,243,245,247,249,252,258,264,266,268,270,272,274,275,"Statement",-34,13,14,32,35,36,42,51,54,55,57,62,70,72,76,80,82,84,85,110,111,120,121,136,139,141,142,143,144,145,147,148,167,169,171,"Expression",-23,31,33,37,41,43,45,173,175,177,178,180,181,182,184,185,186,188,189,190,201,203,205,206,"Type",-3,88,103,109,"ClassItem"],["openedBy",23,"<",38,"InterpolationStart",56,"[",60,"{",73,"(",160,"JSXStartCloseTag"],["closedBy",-2,24,168,">",40,"InterpolationEnd",50,"]",61,"}",74,")",165,"JSXEndTag"]],propSources:[o1],skippedNodes:[0,5,6,278],repeatNodeCount:37,tokenData:"$Fq07[R!bOX%ZXY+gYZ-yZ[+g[]%Z]^.c^p%Zpq+gqr/mrs3cst:_tuEruvJSvwLkwx! Yxy!'iyz!(sz{!)}{|!,q|}!.O}!O!,q!O!P!/Y!P!Q!9j!Q!R#:O!R![#<_![!]#I_!]!^#Jk!^!_#Ku!_!`$![!`!a$$v!a!b$*T!b!c$,r!c!}Er!}#O$-|#O#P$/W#P#Q$4o#Q#R$5y#R#SEr#S#T$7W#T#o$8b#o#p$x#r#s$@U#s$f%Z$f$g+g$g#BYEr#BY#BZ$A`#BZ$ISEr$IS$I_$A`$I_$I|Er$I|$I}$Dk$I}$JO$Dk$JO$JTEr$JT$JU$A`$JU$KVEr$KV$KW$A`$KW&FUEr&FU&FV$A`&FV;'SEr;'S;=`I|<%l?HTEr?HT?HU$A`?HUOEr(n%d_$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z&j&hT$i&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c&j&zP;=`<%l&c'|'U]$i&j(Z!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!b(SU(Z!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}!b(iP;=`<%l'}'|(oP;=`<%l&}'[(y]$i&j(WpOY(rYZ&cZr(rrs&cs!^(r!^!_)r!_#O(r#O#P&c#P#o(r#o#p)r#p;'S(r;'S;=`*a<%lO(rp)wU(WpOY)rZr)rs#O)r#P;'S)r;'S;=`*Z<%lO)rp*^P;=`<%l)r'[*dP;=`<%l(r#S*nX(Wp(Z!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g#S+^P;=`<%l*g(n+dP;=`<%l%Z07[+rq$i&j(Wp(Z!b'|0/lOX%ZXY+gYZ&cZ[+g[p%Zpq+gqr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p$f%Z$f$g+g$g#BY%Z#BY#BZ+g#BZ$IS%Z$IS$I_+g$I_$JT%Z$JT$JU+g$JU$KV%Z$KV$KW+g$KW&FU%Z&FU&FV+g&FV;'S%Z;'S;=`+a<%l?HT%Z?HT?HU+g?HUO%Z07[.ST(X#S$i&j'}0/lO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c07[.n_$i&j(Wp(Z!b'}0/lOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z)3p/x`$i&j!p),Q(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`0z!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW1V`#v(Ch$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`2X!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW2d_#v(Ch$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'At3l_(V':f$i&j(Z!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k(^4r_$i&j(Z!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k&z5vX$i&jOr5qrs6cs!^5q!^!_6y!_#o5q#o#p6y#p;'S5q;'S;=`7h<%lO5q&z6jT$d`$i&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c`6|TOr6yrs7]s;'S6y;'S;=`7b<%lO6y`7bO$d``7eP;=`<%l6y&z7kP;=`<%l5q(^7w]$d`$i&j(Z!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!r8uZ(Z!bOY8pYZ6yZr8prs9hsw8pwx6yx#O8p#O#P6y#P;'S8p;'S;=`:R<%lO8p!r9oU$d`(Z!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}!r:UP;=`<%l8p(^:[P;=`<%l4k%9[:hh$i&j(Wp(Z!bOY%ZYZ&cZq%Zqr`#P#o`x!^=^!^!_?q!_#O=^#O#P>`#P#o=^#o#p?q#p;'S=^;'S;=`@h<%lO=^&n>gXWS$i&jOY>`YZ&cZ!^>`!^!_?S!_#o>`#o#p?S#p;'S>`;'S;=`?k<%lO>`S?XSWSOY?SZ;'S?S;'S;=`?e<%lO?SS?hP;=`<%l?S&n?nP;=`<%l>`!f?xWWS(Z!bOY?qZw?qwx?Sx#O?q#O#P?S#P;'S?q;'S;=`@b<%lO?q!f@eP;=`<%l?q(Q@kP;=`<%l=^'`@w]WS$i&j(WpOY@nYZ&cZr@nrs>`s!^@n!^!_Ap!_#O@n#O#P>`#P#o@n#o#pAp#p;'S@n;'S;=`Bg<%lO@ntAwWWS(WpOYApZrAprs?Ss#OAp#O#P?S#P;'SAp;'S;=`Ba<%lOAptBdP;=`<%lAp'`BjP;=`<%l@n#WBvYWS(Wp(Z!bOYBmZrBmrs?qswBmwxApx#OBm#O#P?S#P;'SBm;'S;=`Cf<%lOBm#WCiP;=`<%lBm(rCoP;=`<%l^!Q^$i&j!X7`OY!=yYZ&cZ!P!=y!P!Q!>|!Q!^!=y!^!_!@c!_!}!=y!}#O!CW#O#P!Dy#P#o!=y#o#p!@c#p;'S!=y;'S;=`!Ek<%lO!=y|#X#Z&c#Z#[!>|#[#]&c#]#^!>|#^#a&c#a#b!>|#b#g&c#g#h!>|#h#i&c#i#j!>|#j#k!>|#k#m&c#m#n!>|#n#o&c#p;'S&c;'S;=`&w<%lO&c7`!@hX!X7`OY!@cZ!P!@c!P!Q!AT!Q!}!@c!}#O!Ar#O#P!Bq#P;'S!@c;'S;=`!CQ<%lO!@c7`!AYW!X7`#W#X!AT#Z#[!AT#]#^!AT#a#b!AT#g#h!AT#i#j!AT#j#k!AT#m#n!AT7`!AuVOY!ArZ#O!Ar#O#P!B[#P#Q!@c#Q;'S!Ar;'S;=`!Bk<%lO!Ar7`!B_SOY!ArZ;'S!Ar;'S;=`!Bk<%lO!Ar7`!BnP;=`<%l!Ar7`!BtSOY!@cZ;'S!@c;'S;=`!CQ<%lO!@c7`!CTP;=`<%l!@c^!Ezl$i&j(Z!b!X7`OY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#W&}#W#X!Eq#X#Z&}#Z#[!Eq#[#]&}#]#^!Eq#^#a&}#a#b!Eq#b#g&}#g#h!Eq#h#i&}#i#j!Eq#j#k!Eq#k#m&}#m#n!Eq#n#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}8r!GyZ(Z!b!X7`OY!GrZw!Grwx!@cx!P!Gr!P!Q!Hl!Q!}!Gr!}#O!JU#O#P!Bq#P;'S!Gr;'S;=`!J|<%lO!Gr8r!Hse(Z!b!X7`OY'}Zw'}x#O'}#P#W'}#W#X!Hl#X#Z'}#Z#[!Hl#[#]'}#]#^!Hl#^#a'}#a#b!Hl#b#g'}#g#h!Hl#h#i'}#i#j!Hl#j#k!Hl#k#m'}#m#n!Hl#n;'S'};'S;=`(f<%lO'}8r!JZX(Z!bOY!JUZw!JUwx!Arx#O!JU#O#P!B[#P#Q!Gr#Q;'S!JU;'S;=`!Jv<%lO!JU8r!JyP;=`<%l!JU8r!KPP;=`<%l!Gr>^!KZ^$i&j(Z!bOY!KSYZ&cZw!KSwx!CWx!^!KS!^!_!JU!_#O!KS#O#P!DR#P#Q!^!LYP;=`<%l!KS>^!L`P;=`<%l!_#c#d#Bq#d#l%Z#l#m#Es#m#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#>j_$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#?rd$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!R#AQ!R!S#AQ!S!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#AQ#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#A]f$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!R#AQ!R!S#AQ!S!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#AQ#S#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#Bzc$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!Y#DV!Y!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#DV#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#Dbe$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!Y#DV!Y!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#DV#S#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#E|g$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![#Ge![!^%Z!^!_*g!_!c%Z!c!i#Ge!i#O%Z#O#P&c#P#R%Z#R#S#Ge#S#T%Z#T#Z#Ge#Z#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#Gpi$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![#Ge![!^%Z!^!_*g!_!c%Z!c!i#Ge!i#O%Z#O#P&c#P#R%Z#R#S#Ge#S#T%Z#T#Z#Ge#Z#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z*)x#Il_!g$b$i&j$O)Lv(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z)[#Jv_al$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z04f#LS^h#)`#R-v$?V_!^(CdvBr$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z?O$@a_!q7`$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z07[$Aq|$i&j(Wp(Z!b'|0/l$]#t(T,2j(e$I[OX%ZXY+gYZ&cZ[+g[p%Zpq+gqr%Zrs&}st%ZtuEruw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Er![!^%Z!^!_*g!_!c%Z!c!}Er!}#O%Z#O#P&c#P#R%Z#R#SEr#S#T%Z#T#oEr#o#p*g#p$f%Z$f$g+g$g#BYEr#BY#BZ$A`#BZ$ISEr$IS$I_$A`$I_$JTEr$JT$JU$A`$JU$KVEr$KV$KW$A`$KW&FUEr&FU&FV$A`&FV;'SEr;'S;=`I|<%l?HTEr?HT?HU$A`?HUOEr07[$D|k$i&j(Wp(Z!b'}0/l$]#t(T,2j(e$I[OY%ZYZ&cZr%Zrs&}st%ZtuEruw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Er![!^%Z!^!_*g!_!c%Z!c!}Er!}#O%Z#O#P&c#P#R%Z#R#SEr#S#T%Z#T#oEr#o#p*g#p$g%Z$g;'SEr;'S;=`I|<%lOEr",tokenizers:[i1,n1,r1,s1,2,3,4,5,6,7,8,9,10,11,12,13,14,t1,new yi("$S~RRtu[#O#Pg#S#T#|~_P#o#pb~gOx~~jVO#i!P#i#j!U#j#l!P#l#m!q#m;'S!P;'S;=`#v<%lO!P~!UO!U~~!XS!Q![!e!c!i!e#T#Z!e#o#p#Z~!hR!Q![!q!c!i!q#T#Z!q~!tR!Q![!}!c!i!}#T#Z!}~#QR!Q![!P!c!i!P#T#Z!P~#^R!Q![#g!c!i#g#T#Z#g~#jS!Q![#g!c!i#g#T#Z#g#q#r!P~#yP;=`<%l!P~$RO(c~~",141,340),new yi("j~RQYZXz{^~^O(Q~~aP!P!Qd~iO(R~~",25,323)],topRules:{Script:[0,7],SingleExpression:[1,276],SingleClassItem:[2,277]},dialects:{jsx:0,ts:15175},dynamicPrecedences:{80:1,82:1,94:1,169:1,199:1},specialized:[{term:327,get:i=>a1[i]||-1},{term:343,get:i=>l1[i]||-1},{term:95,get:i=>c1[i]||-1}],tokenPrec:15201});var Mp=[ce("function ${name}(${params}) {\n ${}\n}",{label:"function",detail:"definition",type:"keyword"}),ce("for (let ${index} = 0; ${index} < ${bound}; ${index}++) {\n ${}\n}",{label:"for",detail:"loop",type:"keyword"}),ce("for (let ${name} of ${collection}) {\n ${}\n}",{label:"for",detail:"of loop",type:"keyword"}),ce("do {\n ${}\n} while (${})",{label:"do",detail:"loop",type:"keyword"}),ce("while (${}) {\n ${}\n}",{label:"while",detail:"loop",type:"keyword"}),ce(`try { +`);n=r<0?t:t.slice(0,r)}return e+n.length>this.to?n.slice(0,this.to-e):n}prevLineEnd(){return this.atEnd?this.lineStart:this.lineStart-1}startContext(e,t,n=0){this.block=Fs.create(e,n,this.lineStart+t,this.block.hash,this.lineStart+this.line.text.length),this.stack.push(this.block)}startComposite(e,t,n=0){this.startContext(this.parser.getNodeType(e),t,n)}addNode(e,t,n){typeof e=="number"&&(e=new H(this.parser.nodeSet.types[e],Pn,Pn,(n??this.prevLineEnd())-t)),this.block.addChild(e,t-this.block.from)}addElement(e){this.block.addChild(e.toTree(this.parser.nodeSet),e.from-this.block.from)}addLeafElement(e,t){this.addNode(this.buffer.writeElements(ec(t.children,e.marks),-t.from).finish(t.type,t.to-t.from),t.from)}finishContext(){let e=this.stack.pop(),t=this.stack[this.stack.length-1];t.addChild(e.toTree(this.parser.nodeSet),e.from-t.from),this.block=t}finish(){for(;this.stack.length>1;)this.finishContext();return this.addGaps(this.block.toTree(this.parser.nodeSet,this.lineStart))}addGaps(e){return this.ranges.length>1?qd(this.ranges,0,e.topNode,this.ranges[0].from,this.reusePlaceholders):e}finishLeaf(e){for(let n of e.parsers)if(n.finish(this,e))return;let t=ec(this.parser.parseInline(e.content,e.start),e.marks);this.addNode(this.buffer.writeElements(t,-e.start).finish(Z.Paragraph,e.content.length),e.start)}elt(e,t,n,r){return typeof e=="string"?ie(this.parser.getNodeType(e),t,n,r):new Ks(e,t)}get buffer(){return new Hs(this.parser.nodeSet)}};function qd(i,e,t,n,r){let s=i[e].to,o=[],a=[],l=t.from+n;function c(h,f){for(;f?h>=s:h>s;){let u=i[e+1].from-s;n+=u,h+=u,e++,s=i[e].to}}for(let h=t.firstChild;h;h=h.nextSibling){c(h.from+n,!0);let f=h.from+n,u,O=r.get(h.tree);O?u=O:h.to+n>s?(u=qd(i,e,h,n,r),c(h.to+n,!1)):u=h.toTree(),o.push(u),a.push(f-l)}return c(t.to+n,!1),new H(t.type,o,a,t.to+n-l,t.tree?t.tree.propValues:void 0)}var Sr=class i extends It{constructor(e,t,n,r,s,o,a,l,c){super(),this.nodeSet=e,this.blockParsers=t,this.leafBlockParsers=n,this.blockNames=r,this.endLeafBlock=s,this.skipContextMarkup=o,this.inlineParsers=a,this.inlineNames=l,this.wrappers=c,this.nodeTypes=Object.create(null);for(let h of e.types)this.nodeTypes[h.name]=h.id}createParse(e,t,n){let r=new Kl(this,e,t,n);for(let s of this.wrappers)r=s(r,e,t,n);return r}configure(e){let t=Jl(e);if(!t)return this;let{nodeSet:n,skipContextMarkup:r}=this,s=this.blockParsers.slice(),o=this.leafBlockParsers.slice(),a=this.blockNames.slice(),l=this.inlineParsers.slice(),c=this.inlineNames.slice(),h=this.endLeafBlock.slice(),f=this.wrappers;if(gr(t.defineNodes)){r=Object.assign({},r);let u=n.types.slice(),O;for(let p of t.defineNodes){let{name:m,block:b,composite:g,style:Q}=typeof p=="string"?{name:p}:p;if(u.some(v=>v.name==m))continue;g&&(r[u.length]=(v,$,A)=>g($,A,v.value));let S=u.length,x=g?["Block","BlockContext"]:b?S>=Z.ATXHeading1&&S<=Z.SetextHeading2?["Block","LeafBlock","Heading"]:["Block","LeafBlock"]:void 0;u.push(Oe.define({id:S,name:m,props:x&&[[I.group,x]]})),Q&&(O||(O={}),Array.isArray(Q)||Q instanceof He?O[m]=Q:Object.assign(O,Q))}n=new Dt(u),O&&(n=n.extend(Qe(O)))}if(gr(t.props)&&(n=n.extend(...t.props)),gr(t.remove))for(let u of t.remove){let O=this.blockNames.indexOf(u),p=this.inlineNames.indexOf(u);O>-1&&(s[O]=o[O]=void 0),p>-1&&(l[p]=void 0)}if(gr(t.parseBlock))for(let u of t.parseBlock){let O=a.indexOf(u.name);if(O>-1)s[O]=u.parse,o[O]=u.leaf;else{let p=u.before?Ns(a,u.before):u.after?Ns(a,u.after)+1:a.length-1;s.splice(p,0,u.parse),o.splice(p,0,u.leaf),a.splice(p,0,u.name)}u.endLeaf&&h.push(u.endLeaf)}if(gr(t.parseInline))for(let u of t.parseInline){let O=c.indexOf(u.name);if(O>-1)l[O]=u.parse;else{let p=u.before?Ns(c,u.before):u.after?Ns(c,u.after)+1:c.length-1;l.splice(p,0,u.parse),c.splice(p,0,u.name)}}return t.wrap&&(f=f.concat(t.wrap)),new i(n,s,o,a,h,r,l,c,f)}getNodeType(e){let t=this.nodeTypes[e];if(t==null)throw new RangeError(`Unknown node type '${e}'`);return t}parseInline(e,t){let n=new kr(this,e,t);e:for(let r=t;r=0){r=a;continue e}}r++}return n.resolveMarkers(0)}};function gr(i){return i!=null&&i.length>0}function Jl(i){if(!Array.isArray(i))return i;if(i.length==0)return null;let e=Jl(i[0]);if(i.length==1)return e;let t=Jl(i.slice(1));if(!t||!e)return e||t;let n=(o,a)=>(o||Pn).concat(a||Pn),r=e.wrap,s=t.wrap;return{props:n(e.props,t.props),defineNodes:n(e.defineNodes,t.defineNodes),parseBlock:n(e.parseBlock,t.parseBlock),parseInline:n(e.parseInline,t.parseInline),remove:n(e.remove,t.remove),wrap:r?s?(o,a,l,c)=>r(s(o,a,l,c),a,l,c):r:s}}function Ns(i,e){let t=i.indexOf(e);if(t<0)throw new RangeError(`Position specified relative to unknown parser ${e}`);return t}var zd=[Oe.none];for(let i=1,e;e=Z[i];i++)zd[i]=Oe.define({id:i,name:e,props:i>=Z.Escape?[]:[[I.group,i in vd?["Block","BlockContext"]:["Block","LeafBlock"]]],top:e=="Document"});var Pn=[],Hs=class{constructor(e){this.nodeSet=e,this.content=[],this.nodes=[]}write(e,t,n,r=0){return this.content.push(e,t,n,4+r*4),this}writeElements(e,t=0){for(let n of e)n.writeTo(this,t);return this}finish(e,t){return H.build({buffer:this.content,nodeSet:this.nodeSet,reused:this.nodes,topID:e,length:t})}},Bi=class{constructor(e,t,n,r=Pn){this.type=e,this.from=t,this.to=n,this.children=r}writeTo(e,t){let n=e.content.length;e.writeElements(this.children,t),e.content.push(this.type,this.from+t,this.to+t,e.content.length+4-n)}toTree(e){return new Hs(e).writeElements(this.children,-this.from).finish(this.type,this.to-this.from)}},Ks=class{constructor(e,t){this.tree=e,this.from=t}get to(){return this.from+this.tree.length}get type(){return this.tree.type.id}get children(){return Pn}writeTo(e,t){e.nodes.push(this.tree),e.content.push(e.nodes.length-1,this.from+t,this.to+t,-1)}toTree(){return this.tree}};function ie(i,e,t,n){return new Bi(i,e,t,n)}var Ld={resolve:"Emphasis",mark:"EmphasisMark"},Md={resolve:"Emphasis",mark:"EmphasisMark"},Ii={},Js={},Me=class{constructor(e,t,n,r){this.type=e,this.from=t,this.to=n,this.side=r}},Qd="!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~",yr=/[!"#$%&'()*+,\-.\/:;<=>?@\[\\\]^_`{|}~\xA1\u2010-\u2027]/;try{yr=new RegExp("[\\p{S}|\\p{P}]","u")}catch{}var Il={Escape(i,e,t){if(e!=92||t==i.end-1)return-1;let n=i.char(t+1);for(let r=0;r]+|[a-z\d.!#$%&'*+/=?^_`{|}~-]+@[a-z\d](?:[a-z\d-]{0,61}[a-z\d])?(?:\.[a-z\d](?:[a-z\d-]{0,61}[a-z\d])?)*)>/i.exec(n);if(r)return i.append(ie(Z.Autolink,t,t+1+r[0].length,[ie(Z.LinkMark,t,t+1),ie(Z.URL,t+1,t+r[0].length),ie(Z.LinkMark,t+r[0].length,t+1+r[0].length)]));let s=/^!--[^>](?:-[^-]|[^-])*?-->/i.exec(n);if(s)return i.append(ie(Z.Comment,t,t+1+s[0].length));let o=/^\?[^]*?\?>/.exec(n);if(o)return i.append(ie(Z.ProcessingInstruction,t,t+1+o[0].length));let a=/^(?:![A-Z][^]*?>|!\[CDATA\[[^]*?\]\]>|\/\s*[a-zA-Z][\w-]*\s*>|\s*[a-zA-Z][\w-]*(\s+[a-zA-Z:_][\w-.:]*(?:\s*=\s*(?:[^\s"'=<>`]+|'[^']*'|"[^"]*"))?)*\s*(\/\s*)?>)/.exec(n);return a?i.append(ie(Z.HTMLTag,t,t+1+a[0].length)):-1},Emphasis(i,e,t){if(e!=95&&e!=42)return-1;let n=t+1;for(;i.char(n)==e;)n++;let r=i.slice(t-1,t),s=i.slice(n,n+1),o=yr.test(r),a=yr.test(s),l=/\s|^$/.test(r),c=/\s|^$/.test(s),h=!c&&(!a||l||o),f=!l&&(!o||c||a),u=h&&(e==42||!f||o),O=f&&(e==42||!h||a);return i.append(new Me(e==95?Ld:Md,t,n,(u?1:0)|(O?2:0)))},HardBreak(i,e,t){if(e==92&&i.char(t+1)==10)return i.append(ie(Z.HardBreak,t,t+2));if(e==32){let n=t+1;for(;i.char(n)==32;)n++;if(i.char(n)==10&&n>=t+2)return i.append(ie(Z.HardBreak,t,n+1))}return-1},Link(i,e,t){return e==91?i.append(new Me(Ii,t,t+1,1)):-1},Image(i,e,t){return e==33&&i.char(t+1)==91?i.append(new Me(Js,t,t+2,1)):-1},LinkEnd(i,e,t){if(e!=93)return-1;for(let n=i.parts.length-1;n>=0;n--){let r=i.parts[n];if(r instanceof Me&&(r.type==Ii||r.type==Js)){if(!r.side||i.skipSpace(r.to)==t&&!/[(\[]/.test(i.slice(t+1,t+2)))return i.parts[n]=null,-1;let s=i.takeContent(n),o=i.parts[n]=ry(i,s,r.type==Ii?Z.Link:Z.Image,r.from,t+1);if(r.type==Ii)for(let a=0;ae?ie(Z.URL,e+t,s+t):s==i.length?null:!1}}function jd(i,e,t){let n=i.charCodeAt(e);if(n!=39&&n!=34&&n!=40)return!1;let r=n==40?41:n;for(let s=e+1,o=!1;s=this.end?-1:this.text.charCodeAt(e-this.offset)}get end(){return this.offset+this.text.length}slice(e,t){return this.text.slice(e-this.offset,t-this.offset)}append(e){return this.parts.push(e),e.to}addDelimiter(e,t,n,r,s){return this.append(new Me(e,t,n,(r?1:0)|(s?2:0)))}get hasOpenLink(){for(let e=this.parts.length-1;e>=0;e--){let t=this.parts[e];if(t instanceof Me&&(t.type==Ii||t.type==Js))return!0}return!1}addElement(e){return this.append(e)}resolveMarkers(e){for(let n=e;n=e;l--){let m=this.parts[l];if(m instanceof Me&&m.side&1&&m.type==r.type&&!(s&&(r.side&1||m.side&2)&&(m.to-m.from+o)%3==0&&((m.to-m.from)%3||o%3))){a=m;break}}if(!a)continue;let c=r.type.resolve,h=[],f=a.from,u=r.to;if(s){let m=Math.min(2,a.to-a.from,o);f=a.to-m,u=r.from+m,c=m==1?"Emphasis":"StrongEmphasis"}a.type.mark&&h.push(this.elt(a.type.mark,f,a.to));for(let m=l+1;m=0;t--){let n=this.parts[t];if(n instanceof Me&&n.type==e&&n.side&1)return t}return null}takeContent(e){let t=this.resolveMarkers(e);return this.parts.length=e,t}getDelimiterAt(e){let t=this.parts[e];return t instanceof Me?t:null}skipSpace(e){return Qr(this.text,e-this.offset)+this.offset}elt(e,t,n,r){return typeof e=="string"?ie(this.parser.getNodeType(e),t,n,r):new Ks(e,t)}};kr.linkStart=Ii;kr.imageStart=Js;function ec(i,e){if(!e.length)return i;if(!i.length)return e;let t=i.slice(),n=0;for(let r of e){for(;n(e?e-1:0))return!1;if(this.fragmentEnd<0){let s=this.fragment.to;for(;s>0&&this.input.read(s-1,s)!=` +`;)s--;this.fragmentEnd=s?s-1:0}let n=this.cursor;n||(n=this.cursor=this.fragment.tree.cursor(),n.firstChild());let r=e+this.fragment.offset;for(;n.to<=r;)if(!n.parent())return!1;for(;;){if(n.from>=r)return this.fragment.from<=t;if(!n.childAfter(r))return!1}}matches(e){let t=this.cursor.tree;return t&&t.prop(I.contextHash)==e}takeNodes(e){let t=this.cursor,n=this.fragment.offset,r=this.fragmentEnd-(this.fragment.openEnd?1:0),s=e.absoluteLineStart,o=s,a=e.block.children.length,l=o,c=a;for(;;){if(t.to-n>r){if(t.type.isAnonymous&&t.firstChild())continue;break}let h=Dd(t.from-n,e.ranges);if(t.to-n<=e.ranges[e.rangeI].to)e.addNode(t.tree,h);else{let f=new H(e.parser.nodeSet.types[Z.Paragraph],[],[],0,e.block.hashProp);e.reusePlaceholders.set(f,t.tree),e.addNode(f,h)}if(t.type.is("Block")&&(sy.indexOf(t.type.id)<0?(o=t.to-n,a=e.block.children.length):(o=l,a=c),l=t.to-n,c=e.block.children.length),!t.nextSibling())break}for(;e.block.children.length>a;)e.block.children.pop(),e.block.positions.pop();return o-s}};function Dd(i,e){let t=i;for(let n=1;nGs[i]),Object.keys(Gs).map(i=>Ed[i]),Object.keys(Gs),iy,vd,Object.keys(Il).map(i=>Il[i]),Object.keys(Il),[]);function ay(i,e,t){let n=[];for(let r=i.firstChild,s=e;;r=r.nextSibling){let o=r?r.from:t;if(o>s&&n.push({from:s,to:o}),!r)break;s=r.to}return n}function Id(i){let{codeParser:e,htmlParser:t}=i;return{wrap:bn((r,s)=>{let o=r.type.id;if(e&&(o==Z.CodeBlock||o==Z.FencedCode)){let a="";if(o==Z.FencedCode){let c=r.node.getChild(Z.CodeInfo);c&&(a=s.read(c.from,c.to))}let l=e(a);if(l)return{parser:l,overlay:c=>c.type.id==Z.CodeText,bracketed:o==Z.FencedCode}}else if(t&&(o==Z.HTMLBlock||o==Z.HTMLTag||o==Z.CommentBlock))return{parser:t,overlay:ay(r.node,r.from,r.to)};return null})}}var ly={resolve:"Strikethrough",mark:"StrikethroughMark"},cy={defineNodes:[{name:"Strikethrough",style:{"Strikethrough/...":d.strikethrough}},{name:"StrikethroughMark",style:d.processingInstruction}],parseInline:[{name:"Strikethrough",parse(i,e,t){if(e!=126||i.char(t+1)!=126||i.char(t+2)==126)return-1;let n=i.slice(t-1,t),r=i.slice(t+2,t+3),s=/\s|^$/.test(n),o=/\s|^$/.test(r),a=yr.test(n),l=yr.test(r);return i.addDelimiter(ly,t,t+2,!o&&(!l||s||a),!s&&(!a||o||l))},after:"Emphasis"}]};function br(i,e,t=0,n,r=0){let s=0,o=!0,a=-1,l=-1,c=!1,h=()=>{n.push(i.elt("TableCell",r+a,r+l,i.parser.parseInline(e.slice(a,l),r+a)))};for(let f=t;f-1)&&s++,o=!1,n&&(a>-1&&h(),n.push(i.elt("TableDelimiter",f+r,f+r+1))),a=l=-1):(c||u!=32&&u!=9)&&(a<0&&(a=f),l=f+1),c=!c&&u==92}return a>-1&&(s++,n&&h()),s}function bd(i,e){for(let t=e;t\s]*\|?(\s*:?-+:?\s*\|)+(\s*:?-+:?\s*)?$/,eo=class{constructor(){this.rows=null}nextLine(e,t,n){if(this.rows==null){this.rows=!1;let r;if((t.next==45||t.next==58||t.next==124)&&Bd.test(r=t.text.slice(t.pos))){let s=[];br(e,n.content,0,s,n.start)==br(e,r,0)&&(this.rows=[e.elt("TableHeader",n.start,n.start+n.content.length,s),e.elt("TableDelimiter",e.lineStart+t.pos,e.lineStart+t.text.length)])}}else if(this.rows){let r=[];br(e,t.text,t.pos,r,e.lineStart),this.rows.push(e.elt("TableRow",e.lineStart+t.pos,e.lineStart+t.text.length,r))}return!1}finish(e,t){return this.rows?(e.addLeafElement(t,e.elt("Table",t.start,t.start+t.content.length,this.rows)),!0):!1}},hy={defineNodes:[{name:"Table",block:!0},{name:"TableHeader",style:{"TableHeader/...":d.heading}},"TableRow",{name:"TableCell",style:d.content},{name:"TableDelimiter",style:d.processingInstruction}],parseBlock:[{name:"Table",leaf(i,e){return bd(e.content,0)?new eo:null},endLeaf(i,e,t){if(t.parsers.some(r=>r instanceof eo)||!bd(e.text,e.basePos))return!1;let n=i.peekLine();return Bd.test(n)&&br(i,e.text,e.basePos)==br(i,n,e.basePos)},before:"SetextHeading"}]},ic=class{nextLine(){return!1}finish(e,t){return e.addLeafElement(t,e.elt("Task",t.start,t.start+t.content.length,[e.elt("TaskMarker",t.start,t.start+3),...e.parser.parseInline(t.content.slice(3),t.start+3)])),!0}},fy={defineNodes:[{name:"Task",block:!0,style:d.list},{name:"TaskMarker",style:d.atom}],parseBlock:[{name:"TaskList",leaf(i,e){return/^\[[ xX]\][ \t]/.test(e.content)&&i.parentType().name=="ListItem"?new ic:null},after:"SetextHeading"}]},Sd=/(www\.)|(https?:\/\/)|([\w.+-]{1,100}@)|(mailto:|xmpp:)/gy,yd=/[\w-]+(\.[\w-]+)+(:\d+)?(\/[^\s<]*)?/gy,uy=/[\w-]+\.[\w-]+($|[/:])/,kd=/[\w.+-]+@[\w-]+(\.[\w.-]+)+/gy,xd=/\/[a-zA-Z\d@.]+/gy;function wd(i,e,t,n){let r=0;for(let s=e;s-1)return-1;let n=e+t[0].length;for(;;){let r=i[n-1],s;if(/[?!.,:*_~]/.test(r)||r==")"&&wd(i,e,n,")")>wd(i,e,n,"("))n--;else if(r==";"&&(s=/&(?:#\d+|#x[a-f\d]+|\w+);$/.exec(i.slice(e,n))))n=e+s.index;else break}return n}function Pd(i,e){kd.lastIndex=e;let t=kd.exec(i);if(!t)return-1;let n=t[0][t[0].length-1];return n=="_"||n=="-"?-1:e+t[0].length-(n=="."?1:0)}var dy={parseInline:[{name:"Autolink",parse(i,e,t){let n=t-i.offset;if(n&&/\w/.test(i.text[n-1]))return-1;Sd.lastIndex=n;let r=Sd.exec(i.text),s=-1;if(!r)return-1;if(r[1]||r[2]){if(s=Oy(i.text,n+r[0].length),s>-1&&i.hasOpenLink){let o=/([^\[\]]|\[[^\]]*\])*/.exec(i.text.slice(n,s));s=n+o[0].length}}else r[3]?s=Pd(i.text,n):(s=Pd(i.text,n+r[0].length),s>-1&&r[0]=="xmpp:"&&(xd.lastIndex=s,r=xd.exec(i.text),r&&(s=r.index+r[0].length)));return s<0?-1:(i.addElement(i.elt("URL",t,s+i.offset)),s+i.offset)}}]},Ud=[hy,fy,cy,dy];function Gd(i,e,t){return(n,r,s)=>{if(r!=i||n.char(s+1)==i)return-1;let o=[n.elt(t,s,s+1)];for(let a=s+1;at%3==0).concat(this.state)}]@${this.pos}${this.score?"!"+this.score:""}`}static start(e,t,n=0){let r=e.parser.context;return new i(e,[],t,n,n,0,[],0,r?new to(r,r.start):null,0,null)}get context(){return this.curContext?this.curContext.context:null}pushState(e,t){this.stack.push(this.state,t,this.bufferBase+this.buffer.length),this.state=e}reduce(e){var t;let n=e>>19,r=e&65535,{parser:s}=this.p,o=this.reducePos=2e3&&!(!((t=this.p.parser.nodeSet.types[r])===null||t===void 0)&&t.isAnonymous)&&(c==this.p.lastBigReductionStart?(this.p.bigReductionCount++,this.p.lastBigReductionSize=h):this.p.lastBigReductionSizel;)this.stack.pop();this.reduceContext(r,c)}storeNode(e,t,n,r=4,s=!1){if(e==0&&(!this.stack.length||this.stack[this.stack.length-1]0&&this.buffer[o-4]==0&&this.buffer[o-1]>-1){if(t==n)return;if(this.buffer[o-2]>=t){this.buffer[o-2]=n;return}}}if(!s||this.pos==n)this.buffer.push(e,t,n,r);else{let o=this.buffer.length;if(o>0&&(this.buffer[o-4]!=0||this.buffer[o-1]<0)){let a=!1;for(let l=o;l>0&&this.buffer[l-2]>n;l-=4)if(this.buffer[l-1]>=0){a=!0;break}if(a)for(;o>0&&this.buffer[o-2]>n;)this.buffer[o]=this.buffer[o-4],this.buffer[o+1]=this.buffer[o-3],this.buffer[o+2]=this.buffer[o-2],this.buffer[o+3]=this.buffer[o-1],o-=4,r>4&&(r-=4)}this.buffer[o]=e,this.buffer[o+1]=t,this.buffer[o+2]=n,this.buffer[o+3]=r}}shift(e,t,n,r){if(e&131072)this.pushState(e&65535,this.pos);else if((e&262144)==0){let s=e,{parser:o}=this.p;this.pos=r;let a=o.stateFlag(s,1);!a&&(r>n||t<=o.maxNode)&&(this.reducePos=r),this.pushState(s,a?n:Math.min(n,this.reducePos)),this.shiftContext(t,n),t<=o.maxNode&&this.buffer.push(t,n,r,4)}else this.pos=r,this.shiftContext(t,n),t<=this.p.parser.maxNode&&this.buffer.push(t,n,r,4)}apply(e,t,n,r){e&65536?this.reduce(e):this.shift(e,t,n,r)}useNode(e,t){let n=this.p.reused.length-1;(n<0||this.p.reused[n]!=e)&&(this.p.reused.push(e),n++);let r=this.pos;this.reducePos=this.pos=r+e.length,this.pushState(t,r),this.buffer.push(n,r,this.reducePos,-1),this.curContext&&this.updateContext(this.curContext.tracker.reuse(this.curContext.context,e,this,this.p.stream.reset(this.pos-e.length)))}split(){let e=this,t=e.buffer.length;for(t&&e.buffer[t-4]==0&&(t-=4);t>0&&e.buffer[t-2]>e.reducePos;)t-=4;let n=e.buffer.slice(t),r=e.bufferBase+t;for(;e&&r==e.bufferBase;)e=e.parent;return new i(this.p,this.stack.slice(),this.state,this.reducePos,this.pos,this.score,n,r,this.curContext,this.lookAhead,e)}recoverByDelete(e,t){let n=e<=this.p.parser.maxNode;n&&this.storeNode(e,this.pos,t,4),this.storeNode(0,this.pos,t,n?8:4),this.pos=this.reducePos=t,this.score-=190}canShift(e){for(let t=new cc(this);;){let n=this.p.parser.stateSlot(t.state,4)||this.p.parser.hasAction(t.state,e);if(n==0)return!1;if((n&65536)==0)return!0;t.reduce(n)}}recoverByInsert(e){if(this.stack.length>=300)return[];let t=this.p.parser.nextStates(this.state);if(t.length>8||this.stack.length>=120){let r=[];for(let s=0,o;sl&1&&a==o)||r.push(t[s],o)}t=r}let n=[];for(let r=0;r>19,r=t&65535,s=this.stack.length-n*3;if(s<0||e.getGoto(this.stack[s],r,!1)<0){let o=this.findForcedReduction();if(o==null)return!1;t=o}this.storeNode(0,this.pos,this.pos,4,!0),this.score-=100}return this.reducePos=this.pos,this.reduce(t),!0}findForcedReduction(){let{parser:e}=this.p,t=[],n=(r,s)=>{if(!t.includes(r))return t.push(r),e.allActions(r,o=>{if(!(o&393216))if(o&65536){let a=(o>>19)-s;if(a>1){let l=o&65535,c=this.stack.length-a*3;if(c>=0&&e.getGoto(this.stack[c],l,!1)>=0)return a<<19|65536|l}}else{let a=n(o,s+1);if(a!=null)return a}})};return n(this.state,0)}forceAll(){for(;!this.p.parser.stateFlag(this.state,2);)if(!this.forceReduce()){this.storeNode(0,this.pos,this.pos,4,!0);break}return this}get deadEnd(){if(this.stack.length!=3)return!1;let{parser:e}=this.p;return e.data[e.stateSlot(this.state,1)]==65535&&!e.stateSlot(this.state,4)}restart(){this.storeNode(0,this.pos,this.pos,4,!0),this.state=this.stack[0],this.stack.length=0}sameState(e){if(this.state!=e.state||this.stack.length!=e.stack.length)return!1;for(let t=0;t0&&this.emitLookAhead()}},to=class{constructor(e,t){this.tracker=e,this.context=t,this.hash=e.strict?e.hash(t):0}},cc=class{constructor(e){this.start=e,this.state=e.state,this.stack=e.stack,this.base=this.stack.length}reduce(e){let t=e&65535,n=e>>19;n==0?(this.stack==this.start.stack&&(this.stack=this.stack.slice()),this.stack.push(this.state,0,0),this.base+=3):this.base-=(n-1)*3;let r=this.start.p.parser.getGoto(this.stack[this.base-3],t,!0);this.state=r}},hc=class i{constructor(e,t,n){this.stack=e,this.pos=t,this.index=n,this.buffer=e.buffer,this.index==0&&this.maybeNext()}static create(e,t=e.bufferBase+e.buffer.length){return new i(e,t,t-e.bufferBase)}maybeNext(){let e=this.stack.parent;e!=null&&(this.index=this.stack.bufferBase-e.bufferBase,this.stack=e,this.buffer=e.buffer)}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}next(){this.index-=4,this.pos-=4,this.index==0&&this.maybeNext()}fork(){return new i(this.stack,this.pos,this.index)}};function xr(i,e=Uint16Array){if(typeof i!="string")return i;let t=null;for(let n=0,r=0;n=92&&o--,o>=34&&o--;let l=o-32;if(l>=46&&(l-=46,a=!0),s+=l,a)break;s*=46}t?t[r++]=s:t=new e(s)}return t}var vn=class{constructor(){this.start=-1,this.value=-1,this.end=-1,this.extended=-1,this.lookAhead=0,this.mask=0,this.context=0}},Kd=new vn,fc=class{constructor(e,t){this.input=e,this.ranges=t,this.chunk="",this.chunkOff=0,this.chunk2="",this.chunk2Pos=0,this.next=-1,this.token=Kd,this.rangeIndex=0,this.pos=this.chunkPos=t[0].from,this.range=t[0],this.end=t[t.length-1].to,this.readNext()}resolveOffset(e,t){let n=this.range,r=this.rangeIndex,s=this.pos+e;for(;sn.to:s>=n.to;){if(r==this.ranges.length-1)return null;let o=this.ranges[++r];s+=o.from-n.to,n=o}return s}clipPos(e){if(e>=this.range.from&&ee)return Math.max(e,t.from);return this.end}peek(e){let t=this.chunkOff+e,n,r;if(t>=0&&t=this.chunk2Pos&&na.to&&(this.chunk2=this.chunk2.slice(0,a.to-n)),r=this.chunk2.charCodeAt(0)}}return n>=this.token.lookAhead&&(this.token.lookAhead=n+1),r}acceptToken(e,t=0){let n=t?this.resolveOffset(t,-1):this.pos;if(n==null||n=this.chunk2Pos&&this.posthis.range.to?e.slice(0,this.range.to-this.pos):e,this.chunkPos=this.pos,this.chunkOff=0}}readNext(){return this.chunkOff>=this.chunk.length&&(this.getChunk(),this.chunkOff==this.chunk.length)?this.next=-1:this.next=this.chunk.charCodeAt(this.chunkOff)}advance(e=1){for(this.chunkOff+=e;this.pos+e>=this.range.to;){if(this.rangeIndex==this.ranges.length-1)return this.setDone();e-=this.range.to-this.pos,this.range=this.ranges[++this.rangeIndex],this.pos=this.range.from}return this.pos+=e,this.pos>=this.token.lookAhead&&(this.token.lookAhead=this.pos+1),this.readNext()}setDone(){return this.pos=this.chunkPos=this.end,this.range=this.ranges[this.rangeIndex=this.ranges.length-1],this.chunk="",this.next=-1}reset(e,t){if(t?(this.token=t,t.start=e,t.lookAhead=e+1,t.value=t.extended=-1):this.token=Kd,this.pos!=e){if(this.pos=e,e==this.end)return this.setDone(),this;for(;e=this.range.to;)this.range=this.ranges[++this.rangeIndex];e>=this.chunkPos&&e=this.chunkPos&&t<=this.chunkPos+this.chunk.length)return this.chunk.slice(e-this.chunkPos,t-this.chunkPos);if(e>=this.chunk2Pos&&t<=this.chunk2Pos+this.chunk2.length)return this.chunk2.slice(e-this.chunk2Pos,t-this.chunk2Pos);if(e>=this.range.from&&t<=this.range.to)return this.input.read(e,t);let n="";for(let r of this.ranges){if(r.from>=t)break;r.to>e&&(n+=this.input.read(Math.max(r.from,e),Math.min(r.to,t)))}return n}},Si=class{constructor(e,t){this.data=e,this.id=t}token(e,t){let{parser:n}=t.p;np(this.data,e,t,this.id,n.data,n.tokenPrecTable)}};Si.prototype.contextual=Si.prototype.fallback=Si.prototype.extend=!1;var yi=class{constructor(e,t,n){this.precTable=t,this.elseToken=n,this.data=typeof e=="string"?xr(e):e}token(e,t){let n=e.pos,r=0;for(;;){let s=e.next<0,o=e.resolveOffset(1,1);if(np(this.data,e,t,0,this.data,this.precTable),e.token.value>-1)break;if(this.elseToken==null)return;if(s||r++,o==null)break;e.reset(o,e.token)}r&&(e.reset(n,e.token),e.acceptToken(this.elseToken,r))}};yi.prototype.contextual=Si.prototype.fallback=Si.prototype.extend=!1;var J=class{constructor(e,t={}){this.token=e,this.contextual=!!t.contextual,this.fallback=!!t.fallback,this.extend=!!t.extend}};function np(i,e,t,n,r,s){let o=0,a=1<0){let p=i[O];if(l.allows(p)&&(e.token.value==-1||e.token.value==p||my(p,e.token.value,r,s))){e.acceptToken(p);break}}let h=e.next,f=0,u=i[o+2];if(e.next<0&&u>f&&i[c+u*3-3]==65535){o=i[c+u*3-1];continue e}for(;f>1,p=c+O+(O<<1),m=i[p],b=i[p+1]||65536;if(h=b)f=O+1;else{o=i[p+2],e.advance();continue e}}break}}function Jd(i,e,t){for(let n=e,r;(r=i[n])!=65535;n++)if(r==t)return n-e;return-1}function my(i,e,t,n){let r=Jd(t,n,e);return r<0||Jd(t,n,i)e)&&!n.type.isError)return t<0?Math.max(0,Math.min(n.to-1,e-25)):Math.min(i.length,Math.max(n.from+1,e+25));if(t<0?n.prevSibling():n.nextSibling())break;if(!n.parent())return t<0?0:i.length}}var uc=class{constructor(e,t){this.fragments=e,this.nodeSet=t,this.i=0,this.fragment=null,this.safeFrom=-1,this.safeTo=-1,this.trees=[],this.start=[],this.index=[],this.nextFragment()}nextFragment(){let e=this.fragment=this.i==this.fragments.length?null:this.fragments[this.i++];if(e){for(this.safeFrom=e.openStart?ep(e.tree,e.from+e.offset,1)-e.offset:e.from,this.safeTo=e.openEnd?ep(e.tree,e.to+e.offset,-1)-e.offset:e.to;this.trees.length;)this.trees.pop(),this.start.pop(),this.index.pop();this.trees.push(e.tree),this.start.push(-e.offset),this.index.push(0),this.nextStart=this.safeFrom}else this.nextStart=1e9}nodeAt(e){if(ee)return this.nextStart=o,null;if(s instanceof H){if(o==e){if(o=Math.max(this.safeFrom,e)&&(this.trees.push(s),this.start.push(o),this.index.push(0))}else this.index[t]++,this.nextStart=o+s.length}}},Oc=class{constructor(e,t){this.stream=t,this.tokens=[],this.mainToken=null,this.actions=[],this.tokens=e.tokenizers.map(n=>new vn)}getActions(e){let t=0,n=null,{parser:r}=e.p,{tokenizers:s}=r,o=r.stateSlot(e.state,3),a=e.curContext?e.curContext.hash:0,l=0;for(let c=0;cf.end+25&&(l=Math.max(f.lookAhead,l)),f.value!=0)){let u=t;if(f.extended>-1&&(t=this.addActions(e,f.extended,f.end,t)),t=this.addActions(e,f.value,f.end,t),!h.extend&&(n=f,t>u))break}}for(;this.actions.length>t;)this.actions.pop();return l&&e.setLookAhead(l),!n&&e.pos==this.stream.end&&(n=new vn,n.value=e.p.parser.eofTerm,n.start=n.end=e.pos,t=this.addActions(e,n.value,n.end,t)),this.mainToken=n,this.actions}getMainToken(e){if(this.mainToken)return this.mainToken;let t=new vn,{pos:n,p:r}=e;return t.start=n,t.end=Math.min(n+1,r.stream.end),t.value=n==r.stream.end?r.parser.eofTerm:0,t}updateCachedToken(e,t,n){let r=this.stream.clipPos(n.pos);if(t.token(this.stream.reset(r,e),n),e.value>-1){let{parser:s}=n.p;for(let o=0;o=0&&n.p.parser.dialect.allows(a>>1)){(a&1)==0?e.value=a>>1:e.extended=a>>1;break}}}else e.value=0,e.end=this.stream.clipPos(r+1)}putAction(e,t,n,r){for(let s=0;se.bufferLength*4?new uc(n,e.nodeSet):null}get parsedPos(){return this.minStackPos}advance(){let e=this.stacks,t=this.minStackPos,n=this.stacks=[],r,s;if(this.bigReductionCount>300&&e.length==1){let[o]=e;for(;o.forceReduce()&&o.stack.length&&o.stack[o.stack.length-2]>=this.lastBigReductionStart;);this.bigReductionCount=this.lastBigReductionSize=0}for(let o=0;ot)n.push(a);else{if(this.advanceStack(a,n,e))continue;{r||(r=[],s=[]),r.push(a);let l=this.tokens.getMainToken(a);s.push(l.value,l.end)}}break}}if(!n.length){let o=r&&gy(r);if(o)return Ke&&console.log("Finish with "+this.stackID(o)),this.stackToTree(o);if(this.parser.strict)throw Ke&&r&&console.log("Stuck with token "+(this.tokens.mainToken?this.parser.getName(this.tokens.mainToken.value):"none")),new SyntaxError("No parse at "+t);this.recovering||(this.recovering=5)}if(this.recovering&&r){let o=this.stoppedAt!=null&&r[0].pos>this.stoppedAt?r[0]:this.runRecovery(r,s,n);if(o)return Ke&&console.log("Force-finish "+this.stackID(o)),this.stackToTree(o.forceAll())}if(this.recovering){let o=this.recovering==1?1:this.recovering*3;if(n.length>o)for(n.sort((a,l)=>l.score-a.score);n.length>o;)n.pop();n.some(a=>a.reducePos>t)&&this.recovering--}else if(n.length>1){e:for(let o=0;o500&&c.buffer.length>500)if((a.score-c.score||a.buffer.length-c.buffer.length)>0)n.splice(l--,1);else{n.splice(o--,1);continue e}}}n.length>12&&(n.sort((o,a)=>a.score-o.score),n.splice(12,n.length-12))}this.minStackPos=n[0].pos;for(let o=1;o ":"";if(this.stoppedAt!=null&&r>this.stoppedAt)return e.forceReduce()?e:null;if(this.fragments){let c=e.curContext&&e.curContext.tracker.strict,h=c?e.curContext.hash:0;for(let f=this.fragments.nodeAt(r);f;){let u=this.parser.nodeSet.types[f.type.id]==f.type?s.getGoto(e.state,f.type.id):-1;if(u>-1&&f.length&&(!c||(f.prop(I.contextHash)||0)==h))return e.useNode(f,u),Ke&&console.log(o+this.stackID(e)+` (via reuse of ${s.getName(f.type.id)})`),!0;if(!(f instanceof H)||f.children.length==0||f.positions[0]>0)break;let O=f.children[0];if(O instanceof H&&f.positions[0]==0)f=O;else break}}let a=s.stateSlot(e.state,4);if(a>0)return e.reduce(a),Ke&&console.log(o+this.stackID(e)+` (via always-reduce ${s.getName(a&65535)})`),!0;if(e.stack.length>=8400)for(;e.stack.length>6e3&&e.forceReduce(););let l=this.tokens.getActions(e);for(let c=0;cr?t.push(p):n.push(p)}return!1}advanceFully(e,t){let n=e.pos;for(;;){if(!this.advanceStack(e,null,null))return!1;if(e.pos>n)return tp(e,t),!0}}runRecovery(e,t,n){let r=null,s=!1;for(let o=0;o ":"";if(a.deadEnd&&(s||(s=!0,a.restart(),Ke&&console.log(h+this.stackID(a)+" (restarted)"),this.advanceFully(a,n))))continue;let f=a.split(),u=h;for(let O=0;O<10&&f.forceReduce()&&(Ke&&console.log(u+this.stackID(f)+" (via force-reduce)"),!this.advanceFully(f,n));O++)Ke&&(u=this.stackID(f)+" -> ");for(let O of a.recoverByInsert(l))Ke&&console.log(h+this.stackID(O)+" (via recover-insert)"),this.advanceFully(O,n);this.stream.end>a.pos?(c==a.pos&&(c++,l=0),a.recoverByDelete(l,c),Ke&&console.log(h+this.stackID(a)+` (via recover-delete ${this.parser.getName(l)})`),tp(a,n)):(!r||r.scorei,dt=class{constructor(e){this.start=e.start,this.shift=e.shift||ac,this.reduce=e.reduce||ac,this.reuse=e.reuse||ac,this.hash=e.hash||(()=>0),this.strict=e.strict!==!1}},Pe=class i extends It{constructor(e){if(super(),this.wrappers=[],e.version!=14)throw new RangeError(`Parser version (${e.version}) doesn't match runtime version (14)`);let t=e.nodeNames.split(" ");this.minRepeatTerm=t.length;for(let a=0;ae.topRules[a][1]),r=[];for(let a=0;a=0)s(h,l,a[c++]);else{let f=a[c+-h];for(let u=-h;u>0;u--)s(a[c++],l,f);c++}}}this.nodeSet=new Dt(t.map((a,l)=>Oe.define({name:l>=this.minRepeatTerm?void 0:a,id:l,props:r[l],top:n.indexOf(l)>-1,error:l==0,skipped:e.skippedNodes&&e.skippedNodes.indexOf(l)>-1}))),e.propSources&&(this.nodeSet=this.nodeSet.extend(...e.propSources)),this.strict=!1,this.bufferLength=1024;let o=xr(e.tokenData);this.context=e.context,this.specializerSpecs=e.specialized||[],this.specialized=new Uint16Array(this.specializerSpecs.length);for(let a=0;atypeof a=="number"?new Si(o,a):a),this.topRules=e.topRules,this.dialects=e.dialects||{},this.dynamicPrecedences=e.dynamicPrecedences||null,this.tokenPrecTable=e.tokenPrec,this.termNames=e.termNames||null,this.maxNode=this.nodeSet.types.length-1,this.dialect=this.parseDialect(),this.top=this.topRules[Object.keys(this.topRules)[0]]}createParse(e,t,n){let r=new dc(this,e,t,n);for(let s of this.wrappers)r=s(r,e,t,n);return r}getGoto(e,t,n=!1){let r=this.goto;if(t>=r[0])return-1;for(let s=r[t+1];;){let o=r[s++],a=o&1,l=r[s++];if(a&&n)return l;for(let c=s+(o>>1);s0}validAction(e,t){return!!this.allActions(e,n=>n==t?!0:null)}allActions(e,t){let n=this.stateSlot(e,4),r=n?t(n):void 0;for(let s=this.stateSlot(e,1);r==null;s+=3){if(this.data[s]==65535)if(this.data[s+1]==1)s=Ut(this.data,s+2);else break;r=t(Ut(this.data,s+1))}return r}nextStates(e){let t=[];for(let n=this.stateSlot(e,1);;n+=3){if(this.data[n]==65535)if(this.data[n+1]==1)n=Ut(this.data,n+2);else break;if((this.data[n+2]&1)==0){let r=this.data[n+1];t.some((s,o)=>o&1&&s==r)||t.push(this.data[n],r)}}return t}configure(e){let t=Object.assign(Object.create(i.prototype),this);if(e.props&&(t.nodeSet=this.nodeSet.extend(...e.props)),e.top){let n=this.topRules[e.top];if(!n)throw new RangeError(`Invalid top rule name ${e.top}`);t.top=n}return e.tokenizers&&(t.tokenizers=this.tokenizers.map(n=>{let r=e.tokenizers.find(s=>s.from==n);return r?r.to:n})),e.specializers&&(t.specializers=this.specializers.slice(),t.specializerSpecs=this.specializerSpecs.map((n,r)=>{let s=e.specializers.find(a=>a.from==n.external);if(!s)return n;let o=Object.assign(Object.assign({},n),{external:s.to});return t.specializers[r]=ip(o),o})),e.contextTracker&&(t.context=e.contextTracker),e.dialect&&(t.dialect=this.parseDialect(e.dialect)),e.strict!=null&&(t.strict=e.strict),e.wrap&&(t.wrappers=t.wrappers.concat(e.wrap)),e.bufferLength!=null&&(t.bufferLength=e.bufferLength),t}hasWrappers(){return this.wrappers.length>0}getName(e){return this.termNames?this.termNames[e]:String(e<=this.maxNode&&this.nodeSet.types[e].name||e)}get eofTerm(){return this.maxNode+1}get topNode(){return this.nodeSet.types[this.top[1]]}dynamicPrecedence(e){let t=this.dynamicPrecedences;return t==null?0:t[e]||0}parseDialect(e){let t=Object.keys(this.dialects),n=t.map(()=>!1);if(e)for(let s of e.split(" ")){let o=t.indexOf(s);o>=0&&(n[o]=!0)}let r=null;for(let s=0;sn)&&t.p.parser.stateFlag(t.state,2)&&(!e||e.scorei.external(t,n)<<1|e}return i.get}var Qy=55,by=1,Sy=56,yy=2,ky=57,xy=3,rp=4,wy=5,Sc=6,up=7,Op=8,dp=9,pp=10,Py=11,vy=12,$y=13,mc=58,Ty=14,Cy=15,sp=59,mp=21,Xy=23,gp=24,_y=25,Qc=27,Qp=28,Ry=29,Ay=32,Zy=35,Ey=37,qy=38,zy=0,Ly=1,My={area:!0,base:!0,br:!0,col:!0,command:!0,embed:!0,frame:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0,menuitem:!0},Wy={dd:!0,li:!0,optgroup:!0,option:!0,p:!0,rp:!0,rt:!0,tbody:!0,td:!0,tfoot:!0,th:!0,tr:!0},op={dd:{dd:!0,dt:!0},dt:{dd:!0,dt:!0},li:{li:!0},option:{option:!0,optgroup:!0},optgroup:{optgroup:!0},p:{address:!0,article:!0,aside:!0,blockquote:!0,dir:!0,div:!0,dl:!0,fieldset:!0,footer:!0,form:!0,h1:!0,h2:!0,h3:!0,h4:!0,h5:!0,h6:!0,header:!0,hgroup:!0,hr:!0,menu:!0,nav:!0,ol:!0,p:!0,pre:!0,section:!0,table:!0,ul:!0},rp:{rp:!0,rt:!0},rt:{rp:!0,rt:!0},tbody:{tbody:!0,tfoot:!0},td:{td:!0,th:!0},tfoot:{tbody:!0},th:{td:!0,th:!0},thead:{tbody:!0,tfoot:!0},tr:{tr:!0}};function jy(i){return i==45||i==46||i==58||i>=65&&i<=90||i==95||i>=97&&i<=122||i>=161}var ap=null,lp=null,cp=0;function bc(i,e){let t=i.pos+e;if(cp==t&&lp==i)return ap;let n=i.peek(e),r="";for(;jy(n);)r+=String.fromCharCode(n),n=i.peek(++e);return lp=i,cp=t,ap=r?r.toLowerCase():n==Vy||n==Dy?void 0:null}var bp=60,io=62,yc=47,Vy=63,Dy=33,Yy=45;function hp(i,e){this.name=i,this.parent=e}var Iy=[Sc,pp,up,Op,dp],By=new dt({start:null,shift(i,e,t,n){return Iy.indexOf(e)>-1?new hp(bc(n,1)||"",i):i},reduce(i,e){return e==mp&&i?i.parent:i},reuse(i,e,t,n){let r=e.type.id;return r==Sc||r==Ey?new hp(bc(n,1)||"",i):i},strict:!1}),Uy=new J((i,e)=>{if(i.next!=bp){i.next<0&&e.context&&i.acceptToken(mc);return}i.advance();let t=i.next==yc;t&&i.advance();let n=bc(i,0);if(n===void 0)return;if(!n)return i.acceptToken(t?Cy:Ty);let r=e.context?e.context.name:null;if(t){if(n==r)return i.acceptToken(Py);if(r&&Wy[r])return i.acceptToken(mc,-2);if(e.dialectEnabled(zy))return i.acceptToken(vy);for(let s=e.context;s;s=s.parent)if(s.name==n)return;i.acceptToken($y)}else{if(n=="script")return i.acceptToken(up);if(n=="style")return i.acceptToken(Op);if(n=="textarea")return i.acceptToken(dp);if(My.hasOwnProperty(n))return i.acceptToken(pp);r&&op[r]&&op[r][n]?i.acceptToken(mc,-1):i.acceptToken(Sc)}},{contextual:!0}),Gy=new J(i=>{for(let e=0,t=0;;t++){if(i.next<0){t&&i.acceptToken(sp);break}if(i.next==Yy)e++;else if(i.next==io&&e>=2){t>=3&&i.acceptToken(sp,-2);break}else e=0;i.advance()}});function Ny(i){for(;i;i=i.parent)if(i.name=="svg"||i.name=="math")return!0;return!1}var Fy=new J((i,e)=>{if(i.next==yc&&i.peek(1)==io){let t=e.dialectEnabled(Ly)||Ny(e.context);i.acceptToken(t?wy:rp,2)}else i.next==io&&i.acceptToken(rp,1)});function kc(i,e,t){let n=2+i.length;return new J(r=>{for(let s=0,o=0,a=0;;a++){if(r.next<0){a&&r.acceptToken(e);break}if(s==0&&r.next==bp||s==1&&r.next==yc||s>=2&&so?r.acceptToken(e,-o):r.acceptToken(t,-(o-2));break}else if((r.next==10||r.next==13)&&a){r.acceptToken(e,1);break}else s=o=0;r.advance()}})}var Hy=kc("script",Qy,by),Ky=kc("style",Sy,yy),Jy=kc("textarea",ky,xy),ek=Qe({"Text RawText IncompleteTag IncompleteCloseTag":d.content,"StartTag StartCloseTag SelfClosingEndTag EndTag":d.angleBracket,TagName:d.tagName,"MismatchedCloseTag/TagName":[d.tagName,d.invalid],AttributeName:d.attributeName,"AttributeValue UnquotedAttributeValue":d.attributeValue,Is:d.definitionOperator,"EntityReference CharacterReference":d.character,Comment:d.blockComment,ProcessingInst:d.processingInstruction,DoctypeDecl:d.documentMeta}),Sp=Pe.deserialize({version:14,states:",xOVO!rOOO!ZQ#tO'#CrO!`Q#tO'#C{O!eQ#tO'#DOO!jQ#tO'#DRO!oQ#tO'#DTO!tOaO'#CqO#PObO'#CqO#[OdO'#CqO$kO!rO'#CqOOO`'#Cq'#CqO$rO$fO'#DUO$zQ#tO'#DWO%PQ#tO'#DXOOO`'#Dl'#DlOOO`'#DZ'#DZQVO!rOOO%UQ&rO,59^O%aQ&rO,59gO%lQ&rO,59jO%wQ&rO,59mO&SQ&rO,59oOOOa'#D_'#D_O&_OaO'#CyO&jOaO,59]OOOb'#D`'#D`O&rObO'#C|O&}ObO,59]OOOd'#Da'#DaO'VOdO'#DPO'bOdO,59]OOO`'#Db'#DbO'jO!rO,59]O'qQ#tO'#DSOOO`,59],59]OOOp'#Dc'#DcO'vO$fO,59pOOO`,59p,59pO(OQ#|O,59rO(TQ#|O,59sOOO`-E7X-E7XO(YQ&rO'#CtOOQW'#D['#D[O(hQ&rO1G.xOOOa1G.x1G.xOOO`1G/Z1G/ZO(sQ&rO1G/ROOOb1G/R1G/RO)OQ&rO1G/UOOOd1G/U1G/UO)ZQ&rO1G/XOOO`1G/X1G/XO)fQ&rO1G/ZOOOa-E7]-E7]O)qQ#tO'#CzOOO`1G.w1G.wOOOb-E7^-E7^O)vQ#tO'#C}OOOd-E7_-E7_O){Q#tO'#DQOOO`-E7`-E7`O*QQ#|O,59nOOOp-E7a-E7aOOO`1G/[1G/[OOO`1G/^1G/^OOO`1G/_1G/_O*VQ,UO,59`OOQW-E7Y-E7YOOOa7+$d7+$dOOO`7+$u7+$uOOOb7+$m7+$mOOOd7+$p7+$pOOO`7+$s7+$sO*bQ#|O,59fO*gQ#|O,59iO*lQ#|O,59lOOO`1G/Y1G/YO*qO7[O'#CwO+SOMhO'#CwOOQW1G.z1G.zOOO`1G/Q1G/QOOO`1G/T1G/TOOO`1G/W1G/WOOOO'#D]'#D]O+eO7[O,59cOOQW,59c,59cOOOO'#D^'#D^O+vOMhO,59cOOOO-E7Z-E7ZOOQW1G.}1G.}OOOO-E7[-E7[",stateData:",c~O!_OS~OUSOVPOWQOXROYTO[]O][O^^O_^Oa^Ob^Oc^Od^Oy^O|_O!eZO~OgaO~OgbO~OgcO~OgdO~OgeO~O!XfOPmP![mP~O!YiOQpP![pP~O!ZlORsP![sP~OUSOVPOWQOXROYTOZqO[]O][O^^O_^Oa^Ob^Oc^Od^Oy^O!eZO~O![rO~P#gO!]sO!fuO~OgvO~OgwO~OS|OT}OiyO~OS!POT}OiyO~OS!ROT}OiyO~OS!TOT}OiyO~OS}OT}OiyO~O!XfOPmX![mX~OP!WO![!XO~O!YiOQpX![pX~OQ!ZO![!XO~O!ZlORsX![sX~OR!]O![!XO~O![!XO~P#gOg!_O~O!]sO!f!aO~OS!bO~OS!cO~Oj!dOShXThXihX~OS!fOT!gOiyO~OS!hOT!gOiyO~OS!iOT!gOiyO~OS!jOT!gOiyO~OS!gOT!gOiyO~Og!kO~Og!lO~Og!mO~OS!nO~Ol!qO!a!oO!c!pO~OS!rO~OS!sO~OS!tO~Ob!uOc!uOd!uO!a!wO!b!uO~Ob!xOc!xOd!xO!c!wO!d!xO~Ob!uOc!uOd!uO!a!{O!b!uO~Ob!xOc!xOd!xO!c!{O!d!xO~OT~cbd!ey|!e~",goto:"%q!aPPPPPPPPPPPPPPPPPPPPP!b!hP!nPP!zP!}#Q#T#Z#^#a#g#j#m#s#y!bP!b!bP$P$V$m$s$y%P%V%]%cPPPPPPPP%iX^OX`pXUOX`pezabcde{!O!Q!S!UR!q!dRhUR!XhXVOX`pRkVR!XkXWOX`pRnWR!XnXXOX`pQrXR!XpXYOX`pQ`ORx`Q{aQ!ObQ!QcQ!SdQ!UeZ!e{!O!Q!S!UQ!v!oR!z!vQ!y!pR!|!yQgUR!VgQjVR!YjQmWR![mQpXR!^pQtZR!`tS_O`ToXp",nodeNames:"\u26A0 StartCloseTag StartCloseTag StartCloseTag EndTag SelfClosingEndTag StartTag StartTag StartTag StartTag StartTag StartCloseTag StartCloseTag StartCloseTag IncompleteTag IncompleteCloseTag Document Text EntityReference CharacterReference InvalidEntity Element OpenTag TagName Attribute AttributeName Is AttributeValue UnquotedAttributeValue ScriptText CloseTag OpenTag StyleText CloseTag OpenTag TextareaText CloseTag OpenTag CloseTag SelfClosingTag Comment ProcessingInst MismatchedCloseTag CloseTag DoctypeDecl",maxTerm:68,context:By,nodeProps:[["closedBy",-10,1,2,3,7,8,9,10,11,12,13,"EndTag",6,"EndTag SelfClosingEndTag",-4,22,31,34,37,"CloseTag"],["openedBy",4,"StartTag StartCloseTag",5,"StartTag",-4,30,33,36,38,"OpenTag"],["group",-10,14,15,18,19,20,21,40,41,42,43,"Entity",17,"Entity TextContent",-3,29,32,35,"TextContent Entity"],["isolate",-11,22,30,31,33,34,36,37,38,39,42,43,"ltr",-3,27,28,40,""]],propSources:[ek],skippedNodes:[0],repeatNodeCount:9,tokenData:"!]tw8twx7Sx!P8t!P!Q5u!Q!]8t!]!^/^!^!a7S!a#S8t#S#T;{#T#s8t#s$f5u$f;'S8t;'S;=`>V<%l?Ah8t?Ah?BY5u?BY?Mn8t?MnO5u!Z5zblWOX5uXZ7SZ[5u[^7S^p5uqr5urs7Sst+Ptw5uwx7Sx!]5u!]!^7w!^!a7S!a#S5u#S#T7S#T;'S5u;'S;=`8n<%lO5u!R7VVOp7Sqs7St!]7S!]!^7l!^;'S7S;'S;=`7q<%lO7S!R7qOb!R!R7tP;=`<%l7S!Z8OYlWb!ROX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+P!Z8qP;=`<%l5u!_8{iiSlWOX5uXZ7SZ[5u[^7S^p5uqr8trs7Sst/^tw8twx7Sx!P8t!P!Q5u!Q!]8t!]!^:j!^!a7S!a#S8t#S#T;{#T#s8t#s$f5u$f;'S8t;'S;=`>V<%l?Ah8t?Ah?BY5u?BY?Mn8t?MnO5u!_:sbiSlWb!ROX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+P!VP<%l?Ah;{?Ah?BY7S?BY?Mn;{?MnO7S!V=dXiSb!Rqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0m!V>SP;=`<%l;{!_>YP;=`<%l8t!_>dhiSlWOX@OXZAYZ[@O[^AY^p@OqrBwrsAYswBwwxAYx!PBw!P!Q@O!Q!]Bw!]!^/^!^!aAY!a#SBw#S#TE{#T#sBw#s$f@O$f;'SBw;'S;=`HS<%l?AhBw?Ah?BY@O?BY?MnBw?MnO@O!Z@TalWOX@OXZAYZ[@O[^AY^p@Oqr@OrsAYsw@OwxAYx!]@O!]!^Az!^!aAY!a#S@O#S#TAY#T;'S@O;'S;=`Bq<%lO@O!RA]UOpAYq!]AY!]!^Ao!^;'SAY;'S;=`At<%lOAY!RAtOc!R!RAwP;=`<%lAY!ZBRYlWc!ROX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+P!ZBtP;=`<%l@O!_COhiSlWOX@OXZAYZ[@O[^AY^p@OqrBwrsAYswBwwxAYx!PBw!P!Q@O!Q!]Bw!]!^Dj!^!aAY!a#SBw#S#TE{#T#sBw#s$f@O$f;'SBw;'S;=`HS<%l?AhBw?Ah?BY@O?BY?MnBw?MnO@O!_DsbiSlWc!ROX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+P!VFQbiSOpAYqrE{rsAYswE{wxAYx!PE{!P!QAY!Q!]E{!]!^GY!^!aAY!a#sE{#s$fAY$f;'SE{;'S;=`G|<%l?AhE{?Ah?BYAY?BY?MnE{?MnOAY!VGaXiSc!Rqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0m!VHPP;=`<%lE{!_HVP;=`<%lBw!ZHcW!cxaP!b`Or(trs'ksv(tw!^(t!^!_)e!_;'S(t;'S;=`*P<%lO(t!aIYliSaPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx}-_}!OKQ!O!P-_!P!Q$q!Q!^-_!^!_*V!_!a&X!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q!aK_kiSaPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx!P-_!P!Q$q!Q!^-_!^!_*V!_!`&X!`!aMS!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q!TM_XaP!b`!dp!fQOr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&X!aNZ!ZiSgQaPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx}-_}!OMz!O!PMz!P!Q$q!Q![Mz![!]Mz!]!^-_!^!_*V!_!a&X!a!c-_!c!}Mz!}#R-_#R#SMz#S#T1k#T#oMz#o#s-_#s$f$q$f$}-_$}%OMz%O%W-_%W%oMz%o%p-_%p&aMz&a&b-_&b1pMz1p4UMz4U4dMz4d4e-_4e$ISMz$IS$I`-_$I`$IbMz$Ib$Je-_$Je$JgMz$Jg$Kh-_$Kh%#tMz%#t&/x-_&/x&EtMz&Et&FV-_&FV;'SMz;'S;:j!#|;:j;=`3X<%l?&r-_?&r?AhMz?Ah?BY$q?BY?MnMz?MnO$q!a!$PP;=`<%lMz!R!$ZY!b`!dpOq*Vqr!$yrs(Vsv*Vwx)ex!a*V!a!b!4t!b;'S*V;'S;=`*s<%lO*V!R!%Q]!b`!dpOr*Vrs(Vsv*Vwx)ex}*V}!O!%y!O!f*V!f!g!']!g#W*V#W#X!0`#X;'S*V;'S;=`*s<%lO*V!R!&QX!b`!dpOr*Vrs(Vsv*Vwx)ex}*V}!O!&m!O;'S*V;'S;=`*s<%lO*V!R!&vV!b`!dp!ePOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!'dX!b`!dpOr*Vrs(Vsv*Vwx)ex!q*V!q!r!(P!r;'S*V;'S;=`*s<%lO*V!R!(WX!b`!dpOr*Vrs(Vsv*Vwx)ex!e*V!e!f!(s!f;'S*V;'S;=`*s<%lO*V!R!(zX!b`!dpOr*Vrs(Vsv*Vwx)ex!v*V!v!w!)g!w;'S*V;'S;=`*s<%lO*V!R!)nX!b`!dpOr*Vrs(Vsv*Vwx)ex!{*V!{!|!*Z!|;'S*V;'S;=`*s<%lO*V!R!*bX!b`!dpOr*Vrs(Vsv*Vwx)ex!r*V!r!s!*}!s;'S*V;'S;=`*s<%lO*V!R!+UX!b`!dpOr*Vrs(Vsv*Vwx)ex!g*V!g!h!+q!h;'S*V;'S;=`*s<%lO*V!R!+xY!b`!dpOr!+qrs!,hsv!+qvw!-Swx!.[x!`!+q!`!a!/j!a;'S!+q;'S;=`!0Y<%lO!+qq!,mV!dpOv!,hvx!-Sx!`!,h!`!a!-q!a;'S!,h;'S;=`!.U<%lO!,hP!-VTO!`!-S!`!a!-f!a;'S!-S;'S;=`!-k<%lO!-SP!-kO|PP!-nP;=`<%l!-Sq!-xS!dp|POv(Vx;'S(V;'S;=`(h<%lO(Vq!.XP;=`<%l!,ha!.aX!b`Or!.[rs!-Ssv!.[vw!-Sw!`!.[!`!a!.|!a;'S!.[;'S;=`!/d<%lO!.[a!/TT!b`|POr)esv)ew;'S)e;'S;=`)y<%lO)ea!/gP;=`<%l!.[!R!/sV!b`!dp|POr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!0]P;=`<%l!+q!R!0gX!b`!dpOr*Vrs(Vsv*Vwx)ex#c*V#c#d!1S#d;'S*V;'S;=`*s<%lO*V!R!1ZX!b`!dpOr*Vrs(Vsv*Vwx)ex#V*V#V#W!1v#W;'S*V;'S;=`*s<%lO*V!R!1}X!b`!dpOr*Vrs(Vsv*Vwx)ex#h*V#h#i!2j#i;'S*V;'S;=`*s<%lO*V!R!2qX!b`!dpOr*Vrs(Vsv*Vwx)ex#m*V#m#n!3^#n;'S*V;'S;=`*s<%lO*V!R!3eX!b`!dpOr*Vrs(Vsv*Vwx)ex#d*V#d#e!4Q#e;'S*V;'S;=`*s<%lO*V!R!4XX!b`!dpOr*Vrs(Vsv*Vwx)ex#X*V#X#Y!+q#Y;'S*V;'S;=`*s<%lO*V!R!4{Y!b`!dpOr!4trs!5ksv!4tvw!6Vwx!8]x!a!4t!a!b!:]!b;'S!4t;'S;=`!;r<%lO!4tq!5pV!dpOv!5kvx!6Vx!a!5k!a!b!7W!b;'S!5k;'S;=`!8V<%lO!5kP!6YTO!a!6V!a!b!6i!b;'S!6V;'S;=`!7Q<%lO!6VP!6lTO!`!6V!`!a!6{!a;'S!6V;'S;=`!7Q<%lO!6VP!7QOyPP!7TP;=`<%l!6Vq!7]V!dpOv!5kvx!6Vx!`!5k!`!a!7r!a;'S!5k;'S;=`!8V<%lO!5kq!7yS!dpyPOv(Vx;'S(V;'S;=`(h<%lO(Vq!8YP;=`<%l!5ka!8bX!b`Or!8]rs!6Vsv!8]vw!6Vw!a!8]!a!b!8}!b;'S!8];'S;=`!:V<%lO!8]a!9SX!b`Or!8]rs!6Vsv!8]vw!6Vw!`!8]!`!a!9o!a;'S!8];'S;=`!:V<%lO!8]a!9vT!b`yPOr)esv)ew;'S)e;'S;=`)y<%lO)ea!:YP;=`<%l!8]!R!:dY!b`!dpOr!4trs!5ksv!4tvw!6Vwx!8]x!`!4t!`!a!;S!a;'S!4t;'S;=`!;r<%lO!4t!R!;]V!b`!dpyPOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!;uP;=`<%l!4t!V!{let c=a.type.id;if(c==Ry)return gc(a,l,t);if(c==Ay)return gc(a,l,n);if(c==Zy)return gc(a,l,r);if(c==mp&&s.length){let h=a.node,f=h.firstChild,u=f&&fp(f,l),O;if(u){for(let p of s)if(p.tag==u&&(!p.attrs||p.attrs(O||(O=yp(f,l))))){let m=h.lastChild,b=m.type.id==qy?m.from:h.to;if(b>f.to)return{parser:p.parser,overlay:[{from:f.to,to:b}]}}}}if(o&&c==gp){let h=a.node,f;if(f=h.firstChild){let u=o[l.read(f.from,f.to)];if(u)for(let O of u){if(O.tagName&&O.tagName!=fp(h.parent,l))continue;let p=h.lastChild;if(p.type.id==Qc){let m=p.from+1,b=p.lastChild,g=p.to-(b&&b.isError?0:1);if(g>m)return{parser:O.parser,overlay:[{from:m,to:g}],bracketed:!0}}else if(p.type.id==Qp)return{parser:O.parser,overlay:[{from:p.from,to:p.to}]}}}}return null})}var tk=145,kp=1,ik=146,nk=147,wp=2,rk=148,sk=3,ok=4,Pp=[9,10,11,12,13,32,133,160,5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8232,8233,8239,8287,12288],ak=58,lk=40,vp=95,ck=91,no=45,hk=46,fk=35,uk=37,Ok=38,dk=92,pk=10,mk=42;function wr(i){return i>=65&&i<=90||i>=97&&i<=122||i>=161}function wc(i){return i>=48&&i<=57}function xp(i){return wc(i)||i>=97&&i<=102||i>=65&&i<=70}var $p=(i,e,t)=>(n,r)=>{for(let s=!1,o=0,a=0;;a++){let{next:l}=n;if(wr(l)||l==no||l==vp||s&&wc(l))!s&&(l!=no||a>0)&&(s=!0),o===a&&l==no&&o++,n.advance();else if(l==dk&&n.peek(1)!=pk){if(n.advance(),xp(n.next)){do n.advance();while(xp(n.next));n.next==32&&n.advance()}else n.next>-1&&n.advance();s=!0}else{s&&n.acceptToken(o==2&&r.canShift(wp)?e:l==lk?t:i);break}}},gk=new J($p(ik,wp,nk),{contextual:!0}),Qk=new J($p(rk,sk,ok),{contextual:!0}),bk=new J(i=>{if(Pp.includes(i.peek(-1))){let{next:e}=i;(wr(e)||e==vp||e==fk||e==hk||e==mk||e==ck||e==ak&&wr(i.peek(1))||e==no||e==Ok)&&i.acceptToken(tk)}}),Sk=new J(i=>{if(!Pp.includes(i.peek(-1))){let{next:e}=i;if(e==uk&&(i.advance(),i.acceptToken(kp)),wr(e)){do i.advance();while(wr(i.next)||wc(i.next));i.acceptToken(kp)}}}),yk=Qe({"AtKeyword import charset namespace keyframes media supports font-feature-values":d.definitionKeyword,"from to selector scope MatchFlag":d.keyword,NamespaceName:d.namespace,KeyframeName:d.labelName,KeyframeRangeName:d.operatorKeyword,TagName:d.tagName,ClassName:d.className,PseudoClassName:d.constant(d.className),IdName:d.labelName,"FeatureName PropertyName":d.propertyName,AttributeName:d.attributeName,NumberLiteral:d.number,KeywordQuery:d.keyword,UnaryQueryOp:d.operatorKeyword,"CallTag ValueName FontName":d.atom,VariableName:d.variableName,Callee:d.operatorKeyword,Unit:d.unit,"UniversalSelector NestingSelector":d.definitionOperator,"MatchOp CompareOp":d.compareOperator,"ChildOp SiblingOp, LogicOp":d.logicOperator,BinOp:d.arithmeticOperator,Important:d.modifier,Comment:d.blockComment,ColorLiteral:d.color,"ParenthesizedContent StringLiteral":d.string,":":d.punctuation,"PseudoOp #":d.derefOperator,"; , |":d.separator,"( )":d.paren,"[ ]":d.squareBracket,"{ }":d.brace}),kk={__proto__:null,lang:44,"nth-child":44,"nth-last-child":44,"nth-of-type":44,"nth-last-of-type":44,dir:44,"host-context":44,if:90,url:152,"url-prefix":152,domain:152,regexp:152},xk={__proto__:null,or:104,and:104,not:112,only:112,layer:206},wk={__proto__:null,selector:118,style:124,layer:202},Pk={__proto__:null,"@import":198,"@media":210,"@charset":214,"@namespace":218,"@keyframes":224,"@supports":236,"@scope":240,"@font-feature-values":246},vk={__proto__:null,to:243},Tp=Pe.deserialize({version:14,states:"MlQYQdOOO#}QdOOP$UO`OOO%OQaO'#CfOOQP'#Ce'#CeO%VQdO'#CgO%[Q`O'#CgO%aQaO'#FnO&XQdO'#CkO&xQaO'#CcO'SQdO'#CnO'_QdO'#EOO'dQdO'#EQO'oQdO'#EXO'oQdO'#E[OOQP'#Fn'#FnO)RQhO'#E}OOQS'#Fm'#FmOOQS'#FQ'#FQQYQdOOO)YQdO'#EbO*iQhO'#EhO)YQdO'#EjO*pQdO'#ElO*{QdO'#EoO)}QhO'#EuO+TQdO'#EwO+`QdO'#EzO+eQaO'#CfO+lQ`O'#E_O+qQ`O'#F{O+|QdO'#F{QOQ`OOP,WO&jO'#CaPOOO)CA])CA]OOQP'#Ci'#CiOOQP,59R,59RO%VQdO,59ROOQP'#Cm'#CmOOQP,59V,59VO&XQdO,59VO,cQdO,59YO'_QdO,5:jO'dQdO,5:lO'oQdO,5:sO'oQdO,5:uO'oQdO,5:vO'oQdO'#FXO,nQ`O,58}O,vQdO'#E^OOQS,58},58}OOQP'#Cq'#CqOOQO'#D|'#D|OOQP,59Y,59YO,}Q`O,59YO-SQ`O,59YOOQP'#EP'#EPOOQP,5:j,5:jO-XQpO'#ERO-dQdO'#ESO-iQ`O'#ESO-nQpO,5:lO.XQaO,5:sO.oQaO,5:vOOQW'#D^'#D^O/nQhO'#DgO0RQhO,5;iO)}QhO'#DeO0`Q`O'#DnO0eQhO'#DxOOQW'#Ft'#FtOOQS,5;i,5;iO0jQ`O'#DhO0oQ`O'#DkOOQS-E9O-E9OOOQ['#Cv'#CvO0tQdO'#CwO1[QdO'#C}O1rQdO'#DQO2YQ!pO'#DSO4fQ!jO,5:|OOQO'#DX'#DXO-SQ`O'#DWO4vQ!nO'#FqO6|Q`O'#DYO7RQ`O'#DyOOQ['#Fq'#FqO7WQhO'#GOO7fQ`O,5;SO7kQ!bO,5;UOOQS'#En'#EnO7sQ`O,5;WO7xQdO,5;WOOQO'#Eq'#EqO8QQ`O,5;ZO8VQhO,5;aO'oQdO'#DjOOQS,5;c,5;cO0jQ`O,5;cO8_QdO,5;cOOQS'#F`'#F`O8gQdO'#E|O7fQ`O,5;fO8oQdO,5:yO9PQdO'#FZO9^Q`O,5lQhO'#DoOOQW,5:Y,5:YOOQW,5:d,5:dOOQW,5:S,5:SO>vQhO,5:VO?bQ!fO'#FrOOQS'#Fr'#FrOOQS'#FS'#FSO@rQdO,59cOOQ[,59c,59cOAYQdO,59iOOQ[,59i,59iOApQdO,59lOOQ[,59l,59lOOQ[,59n,59nO)YQdO,59pOBWQhO'#EdOOQW'#Ed'#EdOBuQ`O1G0hO4oQhO1G0hOOQ[,59r,59rO)}QhO'#D[OOQ[,59t,59tOBzQ#tO,5:eOCVQhO'#F]OCdQ`O,5vQhO'#DmOI_QhO'#DqOIgQhO'#DsOIlQhO'#FwOOQO'#Fw'#FwOItQ!bO'#DwOOQO'#Fy'#FyOOQO'#Fv'#FvOIyQ`O1G/qOOQS-E9Q-E9QOOQ[1G.}1G.}OOQ[1G/T1G/TOOQ[1G/W1G/WOOQ[1G/[1G/[OJOQdO,5;OOOQS7+&S7+&SOJTQ`O7+&SOJYQhO'#D]OJbQ`O,59vO)}QhO,59vOOQ[1G0P1G0POJjQ`O1G0POJoQhO,5;wOOQO-E9Z-E9ZOOQS7+&^7+&^OJ}QbO'#DSOOQO'#Et'#EtOK]Q`O'#EsOOQO'#Es'#EsOKhQ`O'#F^OKpQdO,5;^OOQS,5;^,5;^OOQ[1G/p1G/pOOQS7+&i7+&iO7fQ`O7+&iOK{Q!fO'#FYO)YQdO'#FYOMSQdO7+&POOQO7+&P7+&POOQO,5:{,5:{OOQO1G1a1G1aOMgQ!bO<vQhO'#DrOOQO,5:],5:]O! hQhO,5:_OGUQhO,5:cOOQW7+%]7+%]OOQO'#Ef'#EfO! pQ`O1G0jOOQS<xAN>xO!#zQ`OAN>xO!$PQaO,5;rOOQO-E9U-E9UO!$ZQdO,5;qOOQO-E9T-E9TOOQW<vQhO'#DuOOQO1G/y1G/yO!%vQ!bO1G/}OJOQdO'#F[O!&OQ`O7+&UOOQW7+&U7+&UO!&WQ!bO1G/cOOQ[7+$|7+$|O!&cQhO7+$|P!&jQ`O'#FTOOQO,5;y,5;yOOQO-E9]-E9]OOQS1G1d1G1dOOQPG24dG24dO!&oQ`OAN>ZO)YQdO1G1[O!&tQ`O7+'jOOQO1G/x1G/xO!&|Q`O,5:aO!$eQhO7+%iOOQO,5;v,5;vOOQO-E9Y-E9YOOQW<Q!]!^>|!^!_?_!_!`@Z!`!a@n!a!b%Z!b!cAo!c!k%Z!k!lC|!l!u%Z!u!vC|!v!}%Z!}#OD_#O#P%Z#P#QDp#Q#R2X#R#]%Z#]#^ER#^#g%Z#g#hC|#h#o%Z#o#pIf#p#qIw#q#rJ`#r#sJq#s#y%Z#y#z&R#z$f%Z$f$g&R$g#BY%Z#BY#BZ&R#BZ$IS%Z$IS$I_&R$I_$I|%Z$I|$JO&R$JO$JT%Z$JT$JU&R$JU$KV%Z$KV$KW&R$KW&FU%Z&FU&FV&R&FV;'S%Z;'S;=`KY<%lO%Z`%^SOy%jz;'S%j;'S;=`%{<%lO%j`%oS!o`Oy%jz;'S%j;'S;=`%{<%lO%j`&OP;=`<%l%j~&Wh$[~OX%jX^'r^p%jpq'rqy%jz#y%j#y#z'r#z$f%j$f$g'r$g#BY%j#BY#BZ'r#BZ$IS%j$IS$I_'r$I_$I|%j$I|$JO'r$JO$JT%j$JT$JU'r$JU$KV%j$KV$KW'r$KW&FU%j&FU&FV'r&FV;'S%j;'S;=`%{<%lO%j~'yh$[~!o`OX%jX^'r^p%jpq'rqy%jz#y%j#y#z'r#z$f%j$f$g'r$g#BY%j#BY#BZ'r#BZ$IS%j$IS$I_'r$I_$I|%j$I|$JO'r$JO$JT%j$JT$JU'r$JU$KV%j$KV$KW'r$KW&FU%j&FU&FV'r&FV;'S%j;'S;=`%{<%lO%jj)jS$qYOy%jz;'S%j;'S;=`%{<%lO%j~)yWOY)vZr)vrs*cs#O)v#O#P*h#P;'S)v;'S;=`+d<%lO)v~*hOw~~*kRO;'S)v;'S;=`*t;=`O)v~*wXOY)vZr)vrs*cs#O)v#O#P*h#P;'S)v;'S;=`+d;=`<%l)v<%lO)v~+gP;=`<%l)vj+oYmYOy%jz!Q%j!Q![,_![!c%j!c!i,_!i#T%j#T#Z,_#Z;'S%j;'S;=`%{<%lO%jj,dY!o`Oy%jz!Q%j!Q![-S![!c%j!c!i-S!i#T%j#T#Z-S#Z;'S%j;'S;=`%{<%lO%jj-XY!o`Oy%jz!Q%j!Q![-w![!c%j!c!i-w!i#T%j#T#Z-w#Z;'S%j;'S;=`%{<%lO%jj.OYuY!o`Oy%jz!Q%j!Q![.n![!c%j!c!i.n!i#T%j#T#Z.n#Z;'S%j;'S;=`%{<%lO%jj.uYuY!o`Oy%jz!Q%j!Q![/e![!c%j!c!i/e!i#T%j#T#Z/e#Z;'S%j;'S;=`%{<%lO%jj/jY!o`Oy%jz!Q%j!Q![0Y![!c%j!c!i0Y!i#T%j#T#Z0Y#Z;'S%j;'S;=`%{<%lO%jj0aYuY!o`Oy%jz!Q%j!Q![1P![!c%j!c!i1P!i#T%j#T#Z1P#Z;'S%j;'S;=`%{<%lO%jj1UY!o`Oy%jz!Q%j!Q![1t![!c%j!c!i1t!i#T%j#T#Z1t#Z;'S%j;'S;=`%{<%lO%jj1{SuY!o`Oy%jz;'S%j;'S;=`%{<%lO%jd2[UOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%jd2uS!yS!o`Oy%jz;'S%j;'S;=`%{<%lO%jb3WS^QOy%jz;'S%j;'S;=`%{<%lO%j~3gWOY3dZw3dwx*cx#O3d#O#P4P#P;'S3d;'S;=`4{<%lO3d~4SRO;'S3d;'S;=`4];=`O3d~4`XOY3dZw3dwx*cx#O3d#O#P4P#P;'S3d;'S;=`4{;=`<%l3d<%lO3d~5OP;=`<%l3dj5WShYOy%jz;'S%j;'S;=`%{<%lO%j~5iOg~n5pUWQyWOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%jj6ZWyW#PQOy%jz!O%j!O!P6s!P!Q%j!Q![9x![;'S%j;'S;=`%{<%lO%jj6xU!o`Oy%jz!Q%j!Q![7[![;'S%j;'S;=`%{<%lO%jj7cY!o`$gYOy%jz!Q%j!Q![7[![!g%j!g!h8R!h#X%j#X#Y8R#Y;'S%j;'S;=`%{<%lO%jj8WY!o`Oy%jz{%j{|8v|}%j}!O8v!O!Q%j!Q![9_![;'S%j;'S;=`%{<%lO%jj8{U!o`Oy%jz!Q%j!Q![9_![;'S%j;'S;=`%{<%lO%jj9fU!o`$gYOy%jz!Q%j!Q![9_![;'S%j;'S;=`%{<%lO%jj:P[!o`$gYOy%jz!O%j!O!P7[!P!Q%j!Q![9x![!g%j!g!h8R!h#X%j#X#Y8R#Y;'S%j;'S;=`%{<%lO%jj:zS!dYOy%jz;'S%j;'S;=`%{<%lO%jj;]WyWOy%jz!O%j!O!P6s!P!Q%j!Q![9x![;'S%j;'S;=`%{<%lO%jj;zU`YOy%jz!Q%j!Q![7[![;'S%j;'S;=`%{<%lO%j~VUcYOy%jz![%j![!]>i!];'S%j;'S;=`%{<%lO%jj>pSdY!o`Oy%jz;'S%j;'S;=`%{<%lO%jj?RSnYOy%jz;'S%j;'S;=`%{<%lO%jh?dU!WWOy%jz!_%j!_!`?v!`;'S%j;'S;=`%{<%lO%jh?}S!WW!o`Oy%jz;'S%j;'S;=`%{<%lO%jl@bS!WW!ySOy%jz;'S%j;'S;=`%{<%lO%jj@uV!|Q!WWOy%jz!_%j!_!`?v!`!aA[!a;'S%j;'S;=`%{<%lO%jbAcS!|Q!o`Oy%jz;'S%j;'S;=`%{<%lO%jjArYOy%jz}%j}!OBb!O!c%j!c!}CP!}#T%j#T#oCP#o;'S%j;'S;=`%{<%lO%jjBgW!o`Oy%jz!c%j!c!}CP!}#T%j#T#oCP#o;'S%j;'S;=`%{<%lO%jjCW[lY!o`Oy%jz}%j}!OCP!O!Q%j!Q![CP![!c%j!c!}CP!}#T%j#T#oCP#o;'S%j;'S;=`%{<%lO%jhDRS!zWOy%jz;'S%j;'S;=`%{<%lO%jjDdSpYOy%jz;'S%j;'S;=`%{<%lO%jnDuSo^Oy%jz;'S%j;'S;=`%{<%lO%jjEWU!zWOy%jz#a%j#a#bEj#b;'S%j;'S;=`%{<%lO%jbEoU!o`Oy%jz#d%j#d#eFR#e;'S%j;'S;=`%{<%lO%jbFWU!o`Oy%jz#c%j#c#dFj#d;'S%j;'S;=`%{<%lO%jbFoU!o`Oy%jz#f%j#f#gGR#g;'S%j;'S;=`%{<%lO%jbGWU!o`Oy%jz#h%j#h#iGj#i;'S%j;'S;=`%{<%lO%jbGoU!o`Oy%jz#T%j#T#UHR#U;'S%j;'S;=`%{<%lO%jbHWU!o`Oy%jz#b%j#b#cHj#c;'S%j;'S;=`%{<%lO%jbHoU!o`Oy%jz#h%j#h#iIR#i;'S%j;'S;=`%{<%lO%jbIYS$pQ!o`Oy%jz;'S%j;'S;=`%{<%lO%jjIkSsYOy%jz;'S%j;'S;=`%{<%lO%jfI|U$cUOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%jjJeSrYOy%jz;'S%j;'S;=`%{<%lO%jfJvU#PQOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%j`K]P;=`<%l%Z",tokenizers:[bk,Sk,gk,Qk,1,2,3,4,new yi("m~RRYZ[z{a~~g~aO$_~~dP!P!Qg~lO$`~~",28,152)],topRules:{StyleSheet:[0,6],Styles:[1,126]},dynamicPrecedences:{94:1},specialized:[{term:147,get:i=>kk[i]||-1},{term:148,get:i=>xk[i]||-1},{term:4,get:i=>wk[i]||-1},{term:28,get:i=>Pk[i]||-1},{term:146,get:i=>vk[i]||-1}],tokenPrec:2405});var Pc=null;function vc(){if(!Pc&&typeof document=="object"&&document.body){let{style:i}=document.body,e=[],t=new Set;for(let n in i)n!="cssText"&&n!="cssFloat"&&typeof i[n]=="string"&&(/[A-Z]/.test(n)&&(n=n.replace(/[A-Z]/g,r=>"-"+r.toLowerCase())),t.has(n)||(e.push(n),t.add(n)));Pc=e.sort().map(n=>({type:"property",label:n,apply:n+": "}))}return Pc||[]}var Cp=["active","after","any-link","autofill","backdrop","before","checked","cue","default","defined","disabled","empty","enabled","file-selector-button","first","first-child","first-letter","first-line","first-of-type","focus","focus-visible","focus-within","fullscreen","has","host","host-context","hover","in-range","indeterminate","invalid","is","lang","last-child","last-of-type","left","link","marker","modal","not","nth-child","nth-last-child","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","part","placeholder","placeholder-shown","read-only","read-write","required","right","root","scope","selection","slotted","target","target-text","valid","visited","where"].map(i=>({type:"class",label:i})),Xp=["above","absolute","activeborder","additive","activecaption","after-white-space","ahead","alias","all","all-scroll","alphabetic","alternate","always","antialiased","appworkspace","asterisks","attr","auto","auto-flow","avoid","avoid-column","avoid-page","avoid-region","axis-pan","background","backwards","baseline","below","bidi-override","blink","block","block-axis","bold","bolder","border","border-box","both","bottom","break","break-all","break-word","bullets","button","button-bevel","buttonface","buttonhighlight","buttonshadow","buttontext","calc","capitalize","caps-lock-indicator","caption","captiontext","caret","cell","center","checkbox","circle","cjk-decimal","clear","clip","close-quote","col-resize","collapse","color","color-burn","color-dodge","column","column-reverse","compact","condensed","contain","content","contents","content-box","context-menu","continuous","copy","counter","counters","cover","crop","cross","crosshair","currentcolor","cursive","cyclic","darken","dashed","decimal","decimal-leading-zero","default","default-button","dense","destination-atop","destination-in","destination-out","destination-over","difference","disc","discard","disclosure-closed","disclosure-open","document","dot-dash","dot-dot-dash","dotted","double","down","e-resize","ease","ease-in","ease-in-out","ease-out","element","ellipse","ellipsis","embed","end","ethiopic-abegede-gez","ethiopic-halehame-aa-er","ethiopic-halehame-gez","ew-resize","exclusion","expanded","extends","extra-condensed","extra-expanded","fantasy","fast","fill","fill-box","fixed","flat","flex","flex-end","flex-start","footnotes","forwards","from","geometricPrecision","graytext","grid","groove","hand","hard-light","help","hidden","hide","higher","highlight","highlighttext","horizontal","hsl","hsla","hue","icon","ignore","inactiveborder","inactivecaption","inactivecaptiontext","infinite","infobackground","infotext","inherit","initial","inline","inline-axis","inline-block","inline-flex","inline-grid","inline-table","inset","inside","intrinsic","invert","italic","justify","keep-all","landscape","large","larger","left","level","lighter","lighten","line-through","linear","linear-gradient","lines","list-item","listbox","listitem","local","logical","loud","lower","lower-hexadecimal","lower-latin","lower-norwegian","lowercase","ltr","luminosity","manipulation","match","matrix","matrix3d","medium","menu","menutext","message-box","middle","min-intrinsic","mix","monospace","move","multiple","multiple_mask_images","multiply","n-resize","narrower","ne-resize","nesw-resize","no-close-quote","no-drop","no-open-quote","no-repeat","none","normal","not-allowed","nowrap","ns-resize","numbers","numeric","nw-resize","nwse-resize","oblique","opacity","open-quote","optimizeLegibility","optimizeSpeed","outset","outside","outside-shape","overlay","overline","padding","padding-box","painted","page","paused","perspective","pinch-zoom","plus-darker","plus-lighter","pointer","polygon","portrait","pre","pre-line","pre-wrap","preserve-3d","progress","push-button","radial-gradient","radio","read-only","read-write","read-write-plaintext-only","rectangle","region","relative","repeat","repeating-linear-gradient","repeating-radial-gradient","repeat-x","repeat-y","reset","reverse","rgb","rgba","ridge","right","rotate","rotate3d","rotateX","rotateY","rotateZ","round","row","row-resize","row-reverse","rtl","run-in","running","s-resize","sans-serif","saturation","scale","scale3d","scaleX","scaleY","scaleZ","screen","scroll","scrollbar","scroll-position","se-resize","self-start","self-end","semi-condensed","semi-expanded","separate","serif","show","single","skew","skewX","skewY","skip-white-space","slide","slider-horizontal","slider-vertical","sliderthumb-horizontal","sliderthumb-vertical","slow","small","small-caps","small-caption","smaller","soft-light","solid","source-atop","source-in","source-out","source-over","space","space-around","space-between","space-evenly","spell-out","square","start","static","status-bar","stretch","stroke","stroke-box","sub","subpixel-antialiased","svg_masks","super","sw-resize","symbolic","symbols","system-ui","table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row","table-row-group","text","text-bottom","text-top","textarea","textfield","thick","thin","threeddarkshadow","threedface","threedhighlight","threedlightshadow","threedshadow","to","top","transform","translate","translate3d","translateX","translateY","translateZ","transparent","ultra-condensed","ultra-expanded","underline","unidirectional-pan","unset","up","upper-latin","uppercase","url","var","vertical","vertical-text","view-box","visible","visibleFill","visiblePainted","visibleStroke","visual","w-resize","wait","wave","wider","window","windowframe","windowtext","words","wrap","wrap-reverse","x-large","x-small","xor","xx-large","xx-small"].map(i=>({type:"keyword",label:i})).concat(["aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","grey","green","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen"].map(i=>({type:"constant",label:i}))),$k=["a","abbr","address","article","aside","b","bdi","bdo","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","dd","del","details","dfn","dialog","div","dl","dt","em","figcaption","figure","footer","form","header","hgroup","h1","h2","h3","h4","h5","h6","hr","html","i","iframe","img","input","ins","kbd","label","legend","li","main","meter","nav","ol","output","p","pre","ruby","section","select","small","source","span","strong","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","tr","u","ul"].map(i=>({type:"type",label:i})),Tk=["@charset","@color-profile","@container","@counter-style","@font-face","@font-feature-values","@font-palette-values","@import","@keyframes","@layer","@media","@namespace","@page","@position-try","@property","@scope","@starting-style","@supports","@view-transition"].map(i=>({type:"keyword",label:i})),Gt=/^(\w[\w-]*|-\w[\w-]*|)$/,Ck=/^-(-[\w-]*)?$/;function Xk(i,e){var t;if((i.name=="("||i.type.isError)&&(i=i.parent||i),i.name!="ArgList")return!1;let n=(t=i.parent)===null||t===void 0?void 0:t.firstChild;return n?.name!="Callee"?!1:e.sliceString(n.from,n.to)=="var"}var _p=new di,_k=["Declaration"];function Rk(i){for(let e=i;;){if(e.type.isTop)return e;if(!(e=e.parent))return i}}function Rp(i,e,t){if(e.to-e.from>4096){let n=_p.get(e);if(n)return n;let r=[],s=new Set,o=e.cursor(ee.IncludeAnonymous);if(o.firstChild())do for(let a of Rp(i,o.node,t))s.has(a.label)||(s.add(a.label),r.push(a));while(o.nextSibling());return _p.set(e,r),r}else{let n=[],r=new Set;return e.cursor().iterate(s=>{var o;if(t(s)&&s.matchContext(_k)&&((o=s.node.nextSibling)===null||o===void 0?void 0:o.name)==":"){let a=i.sliceString(s.from,s.to);r.has(a)||(r.add(a),n.push({label:a,type:"variable"}))}}),n}}var Ak=i=>e=>{let{state:t,pos:n}=e,r=U(t).resolveInner(n,-1),s=r.type.isError&&r.from==r.to-1&&t.doc.sliceString(r.from,r.to)=="-";if(r.name=="PropertyName"||(s||r.name=="TagName")&&/^(Block|Styles)$/.test(r.resolve(r.to).name))return{from:r.from,options:vc(),validFor:Gt};if(r.name=="ValueName")return{from:r.from,options:Xp,validFor:Gt};if(r.name=="PseudoClassName")return{from:r.from,options:Cp,validFor:Gt};if(i(r)||(e.explicit||s)&&Xk(r,t.doc))return{from:i(r)||s?r.from:n,options:Rp(t.doc,Rk(r),i),validFor:Ck};if(r.name=="TagName"){for(let{parent:l}=r;l;l=l.parent)if(l.name=="Block")return{from:r.from,options:vc(),validFor:Gt};return{from:r.from,options:$k,validFor:Gt}}if(r.name=="AtKeyword")return{from:r.from,options:Tk,validFor:Gt};if(!e.explicit)return null;let o=r.resolve(n),a=o.childBefore(n);return a&&a.name==":"&&o.name=="PseudoClassSelector"?{from:n,options:Cp,validFor:Gt}:a&&a.name==":"&&o.name=="Declaration"||o.name=="ArgList"?{from:n,options:Xp,validFor:Gt}:o.name=="Block"||o.name=="Styles"?{from:n,options:vc(),validFor:Gt}:null},Zk=Ak(i=>i.name=="VariableName"),Pr=$e.define({name:"css",parser:Tp.configure({props:[we.add({Declaration:Bt()}),Te.add({"Block KeyframeList":ht})]}),languageData:{commentTokens:{block:{open:"/*",close:"*/"}},indentOnInput:/^\s*\}$/,wordChars:"-"}});function ro(){return new me(Pr,Pr.data.of({autocomplete:Zk}))}var Ek=316,qk=317,Ap=1,zk=2,Lk=3,Mk=4,Wk=318,jk=320,Vk=321,Dk=5,Yk=6,Ik=0,Tc=[9,10,11,12,13,32,133,160,5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8232,8233,8239,8287,12288],Zp=125,Bk=59,Cc=47,Uk=42,Gk=43,Nk=45,Fk=60,Hk=44,Kk=63,Jk=46,e1=91,t1=new dt({start:!1,shift(i,e){return e==Dk||e==Yk||e==jk?i:e==Vk},strict:!1}),i1=new J((i,e)=>{let{next:t}=i;(t==Zp||t==-1||e.context)&&i.acceptToken(Wk)},{contextual:!0,fallback:!0}),n1=new J((i,e)=>{let{next:t}=i,n;Tc.indexOf(t)>-1||t==Cc&&((n=i.peek(1))==Cc||n==Uk)||t!=Zp&&t!=Bk&&t!=-1&&!e.context&&i.acceptToken(Ek)},{contextual:!0}),r1=new J((i,e)=>{i.next==e1&&!e.context&&i.acceptToken(qk)},{contextual:!0}),s1=new J((i,e)=>{let{next:t}=i;if(t==Gk||t==Nk){if(i.advance(),t==i.next){i.advance();let n=!e.context&&e.canShift(Ap);i.acceptToken(n?Ap:zk)}}else t==Kk&&i.peek(1)==Jk&&(i.advance(),i.advance(),(i.next<48||i.next>57)&&i.acceptToken(Lk))},{contextual:!0});function $c(i,e){return i>=65&&i<=90||i>=97&&i<=122||i==95||i>=192||!e&&i>=48&&i<=57}var o1=new J((i,e)=>{if(i.next!=Fk||!e.dialectEnabled(Ik)||(i.advance(),i.next==Cc))return;let t=0;for(;Tc.indexOf(i.next)>-1;)i.advance(),t++;if($c(i.next,!0)){for(i.advance(),t++;$c(i.next,!1);)i.advance(),t++;for(;Tc.indexOf(i.next)>-1;)i.advance(),t++;if(i.next==Hk)return;for(let n=0;;n++){if(n==7){if(!$c(i.next,!0))return;break}if(i.next!="extends".charCodeAt(n))break;i.advance(),t++}}i.acceptToken(Mk,-t)}),a1=Qe({"get set async static":d.modifier,"for while do if else switch try catch finally return throw break continue default case defer":d.controlKeyword,"in of await yield void typeof delete instanceof as satisfies":d.operatorKeyword,"let var const using function class extends":d.definitionKeyword,"import export from":d.moduleKeyword,"with debugger new":d.keyword,TemplateString:d.special(d.string),super:d.atom,BooleanLiteral:d.bool,this:d.self,null:d.null,Star:d.modifier,VariableName:d.variableName,"CallExpression/VariableName TaggedTemplateExpression/VariableName":d.function(d.variableName),VariableDefinition:d.definition(d.variableName),Label:d.labelName,PropertyName:d.propertyName,PrivatePropertyName:d.special(d.propertyName),"CallExpression/MemberExpression/PropertyName":d.function(d.propertyName),"FunctionDeclaration/VariableDefinition":d.function(d.definition(d.variableName)),"ClassDeclaration/VariableDefinition":d.definition(d.className),"NewExpression/VariableName":d.className,PropertyDefinition:d.definition(d.propertyName),PrivatePropertyDefinition:d.definition(d.special(d.propertyName)),UpdateOp:d.updateOperator,"LineComment Hashbang":d.lineComment,BlockComment:d.blockComment,Number:d.number,String:d.string,Escape:d.escape,ArithOp:d.arithmeticOperator,LogicOp:d.logicOperator,BitOp:d.bitwiseOperator,CompareOp:d.compareOperator,RegExp:d.regexp,Equals:d.definitionOperator,Arrow:d.function(d.punctuation),": Spread":d.punctuation,"( )":d.paren,"[ ]":d.squareBracket,"{ }":d.brace,"InterpolationStart InterpolationEnd":d.special(d.brace),".":d.derefOperator,", ;":d.separator,"@":d.meta,TypeName:d.typeName,TypeDefinition:d.definition(d.typeName),"type enum interface implements namespace module declare":d.definitionKeyword,"abstract global Privacy readonly override":d.modifier,"is keyof unique infer asserts":d.operatorKeyword,JSXAttributeValue:d.attributeValue,JSXText:d.content,"JSXStartTag JSXStartCloseTag JSXSelfCloseEndTag JSXEndTag":d.angleBracket,"JSXIdentifier JSXNameSpacedName":d.tagName,"JSXAttribute/JSXIdentifier JSXAttribute/JSXNameSpacedName":d.attributeName,"JSXBuiltin/JSXIdentifier":d.standard(d.tagName)}),l1={__proto__:null,export:20,as:25,from:33,default:36,async:41,function:42,in:52,out:55,const:56,extends:60,this:64,true:72,false:72,null:84,void:88,typeof:92,super:108,new:142,delete:154,yield:163,await:167,class:172,public:235,private:235,protected:235,readonly:237,instanceof:256,satisfies:259,import:292,keyof:349,unique:353,infer:359,asserts:395,is:397,abstract:417,implements:419,type:421,let:424,var:426,using:429,interface:435,enum:439,namespace:445,module:447,declare:451,global:455,defer:471,for:476,of:485,while:488,with:492,do:496,if:500,else:502,switch:506,case:512,try:518,catch:522,finally:526,return:530,throw:534,break:538,continue:542,debugger:546},c1={__proto__:null,async:129,get:131,set:133,declare:195,public:197,private:197,protected:197,static:199,abstract:201,override:203,readonly:209,accessor:211,new:401},h1={__proto__:null,"<":193},Ep=Pe.deserialize({version:14,states:"$F|Q%TQlOOO%[QlOOO'_QpOOP(lO`OOO*zQ!0MxO'#CiO+RO#tO'#CjO+aO&jO'#CjO+oO#@ItO'#DaO.QQlO'#DgO.bQlO'#DrO%[QlO'#DzO0fQlO'#ESOOQ!0Lf'#E['#E[O1PQ`O'#EXOOQO'#Ep'#EpOOQO'#Il'#IlO1XQ`O'#GsO1dQ`O'#EoO1iQ`O'#EoO3hQ!0MxO'#JrO6[Q!0MxO'#JsO6uQ`O'#F]O6zQ,UO'#FtOOQ!0Lf'#Ff'#FfO7VO7dO'#FfO9XQMhO'#F|O9`Q`O'#F{OOQ!0Lf'#Js'#JsOOQ!0Lb'#Jr'#JrO9eQ`O'#GwOOQ['#K_'#K_O9pQ`O'#IYO9uQ!0LrO'#IZOOQ['#J`'#J`OOQ['#I_'#I_Q`QlOOQ`QlOOO9}Q!L^O'#DvO:UQlO'#EOO:]QlO'#EQO9kQ`O'#GsO:dQMhO'#CoO:rQ`O'#EnO:}Q`O'#EyO;hQMhO'#FeO;xQ`O'#GsOOQO'#K`'#K`O;}Q`O'#K`O<]Q`O'#G{O<]Q`O'#G|O<]Q`O'#HOO9kQ`O'#HRO=SQ`O'#HUO>kQ`O'#CeO>{Q`O'#HcO?TQ`O'#HiO?TQ`O'#HkO`QlO'#HmO?TQ`O'#HoO?TQ`O'#HrO?YQ`O'#HxO?_Q!0LsO'#IOO%[QlO'#IQO?jQ!0LsO'#ISO?uQ!0LsO'#IUO9uQ!0LrO'#IWO@QQ!0MxO'#CiOASQpO'#DlQOQ`OOO%[QlO'#EQOAjQ`O'#ETO:dQMhO'#EnOAuQ`O'#EnOBQQ!bO'#FeOOQ['#Cg'#CgOOQ!0Lb'#Dq'#DqOOQ!0Lb'#Jv'#JvO%[QlO'#JvOOQO'#Jy'#JyOOQO'#Ih'#IhOCQQpO'#EgOOQ!0Lb'#Ef'#EfOOQ!0Lb'#J}'#J}OC|Q!0MSO'#EgODWQpO'#EWOOQO'#Jx'#JxODlQpO'#JyOEyQpO'#EWODWQpO'#EgPFWO&2DjO'#CbPOOO)CD})CD}OOOO'#I`'#I`OFcO#tO,59UOOQ!0Lh,59U,59UOOOO'#Ia'#IaOFqO&jO,59UOGPQ!L^O'#DcOOOO'#Ic'#IcOGWO#@ItO,59{OOQ!0Lf,59{,59{OGfQlO'#IdOGyQ`O'#JtOIxQ!fO'#JtO+}QlO'#JtOJPQ`O,5:ROJgQ`O'#EpOJtQ`O'#KTOKPQ`O'#KSOKPQ`O'#KSOKXQ`O,5;^OK^Q`O'#KROOQ!0Ln,5:^,5:^OKeQlO,5:^OMcQ!0MxO,5:fONSQ`O,5:nONmQ!0LrO'#KQONtQ`O'#KPO9eQ`O'#KPO! YQ`O'#KPO! bQ`O,5;]O! gQ`O'#KPO!#lQ!fO'#JsOOQ!0Lh'#Ci'#CiO%[QlO'#ESO!$[Q!fO,5:sOOQS'#Jz'#JzOOQO-EtOOQ['#Jh'#JhOOQ[,5>u,5>uOOQ[-E<]-E<]O!TO`QlO,5>VO!LOQ`O,5>XO`QlO,5>ZO!LTQ`O,5>^O!LYQlO,5>dOOQ[,5>j,5>jO%[QlO,5>jO9uQ!0LrO,5>lOOQ[,5>n,5>nO#!dQ`O,5>nOOQ[,5>p,5>pO#!dQ`O,5>pOOQ[,5>r,5>rO##QQpO'#D_O%[QlO'#JvO##sQpO'#JvO##}QpO'#DmO#$`QpO'#DmO#&qQlO'#DmO#&xQ`O'#JuO#'QQ`O,5:WO#'VQ`O'#EtO#'eQ`O'#KUO#'mQ`O,5;_O#'rQpO'#DmO#(PQpO'#EVOOQ!0Lf,5:o,5:oO%[QlO,5:oO#(WQ`O,5:oO?YQ`O,5;YO!CUQpO,5;YO!C^QMhO,5;YO:dQMhO,5;YO#(`Q`O,5@bO#(eQ07dO,5:sOOQO-EPO$6^Q`O,5>POOQ[1G3i1G3iO`QlO1G3iOOQ[1G3o1G3oOOQ[1G3q1G3qO?TQ`O1G3sO$6cQlO1G3uO$:gQlO'#HtOOQ[1G3x1G3xO$:tQ`O'#HzO?YQ`O'#H|OOQ[1G4O1G4OO$:|QlO1G4OO9uQ!0LrO1G4UOOQ[1G4W1G4WOOQ!0Lb'#G_'#G_O9uQ!0LrO1G4YO9uQ!0LrO1G4[O$?TQ`O,5@bO!)[QlO,5;`O9eQ`O,5;`O?YQ`O,5:XO!)[QlO,5:XO!CUQpO,5:XO$?YQ?MtO,5:XOOQO,5;`,5;`O$?dQpO'#IeO$?zQ`O,5@aOOQ!0Lf1G/r1G/rO$@SQpO'#IkO$@^Q`O,5@pOOQ!0Lb1G0y1G0yO#$`QpO,5:XOOQO'#Ig'#IgO$@fQpO,5:qOOQ!0Ln,5:q,5:qO#(ZQ`O1G0ZOOQ!0Lf1G0Z1G0ZO%[QlO1G0ZOOQ!0Lf1G0t1G0tO?YQ`O1G0tO!CUQpO1G0tO!C^QMhO1G0tOOQ!0Lb1G5|1G5|O!ByQ!0LrO1G0^OOQO1G0m1G0mO%[QlO1G0mO$@mQ!0LrO1G0mO$@xQ!0LrO1G0mO!CUQpO1G0^ODWQpO1G0^O$AWQ!0LrO1G0mOOQO1G0^1G0^O$AlQ!0MxO1G0mPOOO-E<[-E<[POOO1G.h1G.hOOOO1G/i1G/iO$AvQ!bO,5QQpO,5@}OOQ!0Lb1G3c1G3cOOQ[7+$V7+$VO@zQ`O7+$VO9uQ!0LrO7+$VO%>]Q`O7+$VO%[QlO1G6lO%[QlO1G6mO%>bQ!0LrO1G6lO%>lQlO1G3kO%>sQ`O1G3kO%>xQlO1G3kOOQ[7+)T7+)TO9uQ!0LrO7+)_O`QlO7+)aOOQ['#Kh'#KhOOQ['#JS'#JSO%?PQlO,5>`OOQ[,5>`,5>`O%[QlO'#HuO%?^Q`O'#HwOOQ[,5>f,5>fO9eQ`O,5>fOOQ[,5>h,5>hOOQ[7+)j7+)jOOQ[7+)p7+)pOOQ[7+)t7+)tOOQ[7+)v7+)vO%?cQpO1G5|O%?}Q?MtO1G0zO%@XQ`O1G0zOOQO1G/s1G/sO%@dQ?MtO1G/sO?YQ`O1G/sO!)[QlO'#DmOOQO,5?P,5?POOQO-ERQ`O7+,WO&>WQ`O7+,XO%[QlO7+,WO%[QlO7+,XOOQ[7+)V7+)VO&>]Q`O7+)VO&>bQlO7+)VO&>iQ`O7+)VOOQ[<nQ`O,5>aOOQ[,5>c,5>cO&>sQ`O1G4QO9eQ`O7+&fO!)[QlO7+&fOOQO7+%_7+%_O&>xQ?MtO1G6ZO?YQ`O7+%_OOQ!0Lf<yQ?MvO,5?aO'@|Q?MvO,5?cO'CPQ?MvO7+'|O'DuQMjOG27TOOQO<VO!l$xO#jROe!iOpkOrPO(T)]O(VTO(YUO(aVO(o[O~O!]$_Oa$qa'z$qa'w$qa!k$qa!Y$qa!_$qa%i$qa!g$qa~Ol)dO~P!&zOh%VOp%WOr%XOs$tOt$tOz%YO|%ZO!O%]O!S${O!_$|O!i%bO!l$xO#j%cO$W%`O$t%^O$v%_O$y%aO(T(vO(VTO(YUO(a$uO(y$}O(z%PO~Og(pP~P!,TO!Q)iO!g)hO!_$^X$Z$^X$]$^X$_$^X$f$^X~O!g)hO!_({X$Z({X$]({X$_({X$f({X~O!Q)iO~P!.^O!Q)iO!_({X$Z({X$]({X$_({X$f({X~O!_)kO$Z)oO$])jO$_)jO$f)pO~O![)sO~P!)[O$]$hO$_$gO$f)wO~On$zX!Q$zX#S$zX'y$zX(y$zX(z$zX~OgmXg$zXnmX!]mX#`mX~P!0SOx)yO(b)zO(c)|O~On*VO!Q*OO'y*PO(y$}O(z%PO~Og)}O~P!1WOg*WO~Oh%VOr%XOs$tOt$tOz%YO|%ZO!OVO!l$xO#jVO!l$xO#jROe!iOpkOrPO(VTO(YUO(aVO(o[O~O(T=QO~P#$qO!]-]O!^(iX~O!^-_O~O!g-VO#`-UO!]#hX!^#hX~O!]-`O!^(xX~O!^-bO~O!c-cO!d-cO(U!lO~P#$`O!^-fO~P'_On-iO!_'`O~O!Y-nO~Os!{a!b!{a!c!{a!d!{a#T!{a#U!{a#V!{a#W!{a#X!{a#[!{a#]!{a(U!{a(V!{a(Y!{a(e!{a(o!{a~P!#vO!p-sO#`-qO~PChO!c-uO!d-uO(U!lO~PDWOa%nO#`-qO'z%nO~Oa%nO!g#vO#`-qO'z%nO~Oa%nO!g#vO!p-sO#`-qO'z%nO(r'pO~O(P'xO(Q'xO(R-zO~Ov-{O~O!Y'Wa!]'Wa~P!:tO![.PO!Y'WX!]'WX~P%[O!](VO!Y(ha~O!Y(ha~PHRO!](^O!Y(va~O!S%hO![.TO!_%iO(T%gO!Y'^X!]'^X~O#`.VO!](ta!k(taa(ta'z(ta~O!g#vO~P#,wO!](jO!k(sa~O!S%hO!_%iO#j.ZO(T%gO~Op.`O!S%hO![.]O!_%iO!|]O#i._O#j.]O(T%gO!]'aX!k'aX~OR.dO!l#xO~Oh%VOn.gO!_'`O%i.fO~Oa#ci!]#ci'z#ci'w#ci!Y#ci!k#civ#ci!_#ci%i#ci!g#ci~P!:tOn>]O!Q*OO'y*PO(y$}O(z%PO~O#k#_aa#_a#`#_a'z#_a!]#_a!k#_a!_#_a!Y#_a~P#/sO#k(`XP(`XR(`X[(`Xa(`Xj(`Xr(`X!S(`X!l(`X!p(`X#R(`X#n(`X#o(`X#p(`X#q(`X#r(`X#s(`X#t(`X#u(`X#v(`X#x(`X#z(`X#{(`X'z(`X(a(`X(r(`X!k(`X!Y(`X'w(`Xv(`X!_(`X%i(`X!g(`X~P!6kO!].tO!k(kX~P!:tO!k.wO~O!Y.yO~OP$[OR#zO!Q#yO!S#{O!l#xO!p$[O(aVO[#mia#mij#mir#mi!]#mi#R#mi#o#mi#p#mi#q#mi#r#mi#s#mi#t#mi#u#mi#v#mi#x#mi#z#mi#{#mi'z#mi(r#mi(y#mi(z#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#n#mi~P#3cO#n$OO~P#3cOP$[OR#zOr$aO!Q#yO!S#{O!l#xO!p$[O#n$OO#o$PO#p$PO#q$PO(aVO[#mia#mij#mi!]#mi#R#mi#s#mi#t#mi#u#mi#v#mi#x#mi#z#mi#{#mi'z#mi(r#mi(y#mi(z#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#r#mi~P#6QO#r$QO~P#6QOP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO(aVOa#mi!]#mi#x#mi#z#mi#{#mi'z#mi(r#mi(y#mi(z#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#v#mi~P#8oOP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO#v$SO(aVO(z#}Oa#mi!]#mi#z#mi#{#mi'z#mi(r#mi(y#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#x$UO~P#;VO#x#mi~P#;VO#v$SO~P#8oOP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO#v$SO#x$UO(aVO(y#|O(z#}Oa#mi!]#mi#{#mi'z#mi(r#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#z#mi~P#={O#z$WO~P#={OP]XR]X[]Xj]Xr]X!Q]X!S]X!l]X!p]X#R]X#S]X#`]X#kfX#n]X#o]X#p]X#q]X#r]X#s]X#t]X#u]X#v]X#x]X#z]X#{]X$Q]X(a]X(r]X(y]X(z]X!]]X!^]X~O$O]X~P#@jOP$[OR#zO[]O!Q*OO'y*PO(y$}O(z%POP#miR#mi!S#mi!l#mi!p#mi#n#mi#o#mi#p#mi#q#mi(a#mi~P#EyO!]/POg(pX~P!1WOg/RO~Oa$Pi!]$Pi'z$Pi'w$Pi!Y$Pi!k$Piv$Pi!_$Pi%i$Pi!g$Pi~P!:tO$]/SO$_/SO~O$]/TO$_/TO~O!g)hO#`/UO!_$cX$Z$cX$]$cX$_$cX$f$cX~O![/VO~O!_)kO$Z/XO$])jO$_)jO$f/YO~O!]VO!l$xO#j^O!Q*OO'y*PO(y$}O(z%POP#miR#mi!S#mi!l#mi!p#mi#n#mi#o#mi#p#mi#q#mi(a#mi~P&,QO#S$dOP(`XR(`X[(`Xj(`Xn(`Xr(`X!Q(`X!S(`X!l(`X!p(`X#R(`X#n(`X#o(`X#p(`X#q(`X#r(`X#s(`X#t(`X#u(`X#v(`X#x(`X#z(`X#{(`X$O(`X'y(`X(a(`X(r(`X(y(`X(z(`X!](`X!^(`X~O$O$Pi!]$Pi!^$Pi~P#BwO$O!ri!^!ri~P$+oOg']a!]']a~P!1WO!^7nO~O!]'da!^'da~P#BwO!Y7oO~P#/sO!g#vO(r'pO!]'ea!k'ea~O!]/pO!k)Oi~O!]/pO!g#vO!k)Oi~Og$|q!]$|q#`$|q$O$|q~P!1WO!Y'ga!]'ga~P#/sO!g7vO~O!]/yO!Y)Pi~P#/sO!]/yO!Y)Pi~O!Y7yO~Oh%VOr8OO!l%eO(r'pO~Oj8QO!g#vO~Or8TO!g#vO(r'pO~O!Q*OO'y*PO(z%POn'ja(y'ja!]'ja#`'ja~Og'ja$O'ja~P&5RO!Q*OO'y*POn'la(y'la(z'la!]'la#`'la~Og'la$O'la~P&5tOg(_q!](_q~P!1WO#`8VOg(_q!](_q~P!1WO!Y8WO~Og%Oq!]%Oq#`%Oq$O%Oq~P!1WOa$oy!]$oy'z$oy'w$oy!Y$oy!k$oyv$oy!_$oy%i$oy!g$oy~P!:tO!g6rO~O!]5[O!_)Qa~O!_'`OP$TaR$Ta[$Taj$Tar$Ta!Q$Ta!S$Ta!]$Ta!l$Ta!p$Ta#R$Ta#n$Ta#o$Ta#p$Ta#q$Ta#r$Ta#s$Ta#t$Ta#u$Ta#v$Ta#x$Ta#z$Ta#{$Ta(a$Ta(r$Ta(y$Ta(z$Ta~O%i7WO~P&8fO%^8[Oa%[i!_%[i'z%[i!]%[i~Oa#cy!]#cy'z#cy'w#cy!Y#cy!k#cyv#cy!_#cy%i#cy!g#cy~P!:tO[8^O~Ob8`O(T+qO(VTO(YUO~O!]1TO!^)Xi~O`8dO~O(e(|O!]'pX!^'pX~O!]5uO!^)Ua~O!^8nO~P%;eO(o!sO~P$&YO#[8oO~O!_1oO~O!_1oO%i8qO~On8tO!_1oO%i8qO~O[8yO!]'sa!^'sa~O!]1zO!^)Vi~O!k8}O~O!k9OO~O!k9RO~O!k9RO~P%[Oa9TO~O!g9UO~O!k9VO~O!](wi!^(wi~P#BwOa%nO#`9_O'z%nO~O!](ty!k(tya(ty'z(ty~P!:tO!](jO!k(sy~O%i9bO~P&8fO!_'`O%i9bO~O#k$|qP$|qR$|q[$|qa$|qj$|qr$|q!S$|q!]$|q!l$|q!p$|q#R$|q#n$|q#o$|q#p$|q#q$|q#r$|q#s$|q#t$|q#u$|q#v$|q#x$|q#z$|q#{$|q'z$|q(a$|q(r$|q!k$|q!Y$|q'w$|q#`$|qv$|q!_$|q%i$|q!g$|q~P#/sO#k'jaP'jaR'ja['jaa'jaj'jar'ja!S'ja!l'ja!p'ja#R'ja#n'ja#o'ja#p'ja#q'ja#r'ja#s'ja#t'ja#u'ja#v'ja#x'ja#z'ja#{'ja'z'ja(a'ja(r'ja!k'ja!Y'ja'w'jav'ja!_'ja%i'ja!g'ja~P&5RO#k'laP'laR'la['laa'laj'lar'la!S'la!l'la!p'la#R'la#n'la#o'la#p'la#q'la#r'la#s'la#t'la#u'la#v'la#x'la#z'la#{'la'z'la(a'la(r'la!k'la!Y'la'w'lav'la!_'la%i'la!g'la~P&5tO#k%OqP%OqR%Oq[%Oqa%Oqj%Oqr%Oq!S%Oq!]%Oq!l%Oq!p%Oq#R%Oq#n%Oq#o%Oq#p%Oq#q%Oq#r%Oq#s%Oq#t%Oq#u%Oq#v%Oq#x%Oq#z%Oq#{%Oq'z%Oq(a%Oq(r%Oq!k%Oq!Y%Oq'w%Oq#`%Oqv%Oq!_%Oq%i%Oq!g%Oq~P#/sO!]'Yi!k'Yi~P!:tO$O#cq!]#cq!^#cq~P#BwO(y$}OP%aaR%aa[%aaj%aar%aa!S%aa!l%aa!p%aa#R%aa#n%aa#o%aa#p%aa#q%aa#r%aa#s%aa#t%aa#u%aa#v%aa#x%aa#z%aa#{%aa$O%aa(a%aa(r%aa!]%aa!^%aa~On%aa!Q%aa'y%aa(z%aa~P&IyO(z%POP%caR%ca[%caj%car%ca!S%ca!l%ca!p%ca#R%ca#n%ca#o%ca#p%ca#q%ca#r%ca#s%ca#t%ca#u%ca#v%ca#x%ca#z%ca#{%ca$O%ca(a%ca(r%ca!]%ca!^%ca~On%ca!Q%ca'y%ca(y%ca~P&LQOn>^O!Q*OO'y*PO(z%PO~P&IyOn>^O!Q*OO'y*PO(y$}O~P&LQOR0kO!Q0kO!S0lO#S$dOP}a[}aj}an}ar}a!l}a!p}a#R}a#n}a#o}a#p}a#q}a#r}a#s}a#t}a#u}a#v}a#x}a#z}a#{}a$O}a'y}a(a}a(r}a(y}a(z}a!]}a!^}a~O!Q*OO'y*POP$saR$sa[$saj$san$sar$sa!S$sa!l$sa!p$sa#R$sa#n$sa#o$sa#p$sa#q$sa#r$sa#s$sa#t$sa#u$sa#v$sa#x$sa#z$sa#{$sa$O$sa(a$sa(r$sa(y$sa(z$sa!]$sa!^$sa~O!Q*OO'y*POP$uaR$ua[$uaj$uan$uar$ua!S$ua!l$ua!p$ua#R$ua#n$ua#o$ua#p$ua#q$ua#r$ua#s$ua#t$ua#u$ua#v$ua#x$ua#z$ua#{$ua$O$ua(a$ua(r$ua(y$ua(z$ua!]$ua!^$ua~On>^O!Q*OO'y*PO(y$}O(z%PO~OP%TaR%Ta[%Taj%Tar%Ta!S%Ta!l%Ta!p%Ta#R%Ta#n%Ta#o%Ta#p%Ta#q%Ta#r%Ta#s%Ta#t%Ta#u%Ta#v%Ta#x%Ta#z%Ta#{%Ta$O%Ta(a%Ta(r%Ta!]%Ta!^%Ta~P''VO$O$mq!]$mq!^$mq~P#BwO$O$oq!]$oq!^$oq~P#BwO!^9oO~O$O9pO~P!1WO!g#vO!]'ei!k'ei~O!g#vO(r'pO!]'ei!k'ei~O!]/pO!k)Oq~O!Y'gi!]'gi~P#/sO!]/yO!Y)Pq~Or9wO!g#vO(r'pO~O[9yO!Y9xO~P#/sO!Y9xO~Oj:PO!g#vO~Og(_y!](_y~P!1WO!]'na!_'na~P#/sOa%[q!_%[q'z%[q!]%[q~P#/sO[:UO~O!]1TO!^)Xq~O`:YO~O#`:ZO!]'pa!^'pa~O!]5uO!^)Ui~P#BwO!S:]O~O!_1oO%i:`O~O(VTO(YUO(e:eO~O!]1zO!^)Vq~O!k:hO~O!k:iO~O!k:jO~O!k:jO~P%[O#`:mO!]#hy!^#hy~O!]#hy!^#hy~P#BwO%i:rO~P&8fO!_'`O%i:rO~O$O#|y!]#|y!^#|y~P#BwOP$|iR$|i[$|ij$|ir$|i!S$|i!l$|i!p$|i#R$|i#n$|i#o$|i#p$|i#q$|i#r$|i#s$|i#t$|i#u$|i#v$|i#x$|i#z$|i#{$|i$O$|i(a$|i(r$|i!]$|i!^$|i~P''VO!Q*OO'y*PO(z%POP'iaR'ia['iaj'ian'iar'ia!S'ia!l'ia!p'ia#R'ia#n'ia#o'ia#p'ia#q'ia#r'ia#s'ia#t'ia#u'ia#v'ia#x'ia#z'ia#{'ia$O'ia(a'ia(r'ia(y'ia!]'ia!^'ia~O!Q*OO'y*POP'kaR'ka['kaj'kan'kar'ka!S'ka!l'ka!p'ka#R'ka#n'ka#o'ka#p'ka#q'ka#r'ka#s'ka#t'ka#u'ka#v'ka#x'ka#z'ka#{'ka$O'ka(a'ka(r'ka(y'ka(z'ka!]'ka!^'ka~O(y$}OP%aiR%ai[%aij%ain%air%ai!Q%ai!S%ai!l%ai!p%ai#R%ai#n%ai#o%ai#p%ai#q%ai#r%ai#s%ai#t%ai#u%ai#v%ai#x%ai#z%ai#{%ai$O%ai'y%ai(a%ai(r%ai(z%ai!]%ai!^%ai~O(z%POP%ciR%ci[%cij%cin%cir%ci!Q%ci!S%ci!l%ci!p%ci#R%ci#n%ci#o%ci#p%ci#q%ci#r%ci#s%ci#t%ci#u%ci#v%ci#x%ci#z%ci#{%ci$O%ci'y%ci(a%ci(r%ci(y%ci!]%ci!^%ci~O$O$oy!]$oy!^$oy~P#BwO$O#cy!]#cy!^#cy~P#BwO!g#vO!]'eq!k'eq~O!]/pO!k)Oy~O!Y'gq!]'gq~P#/sOr:|O!g#vO(r'pO~O[;QO!Y;PO~P#/sO!Y;PO~Og(_!R!](_!R~P!1WOa%[y!_%[y'z%[y!]%[y~P#/sO!]1TO!^)Xy~O!]5uO!^)Uq~O(T;XO~O!_1oO%i;[O~O!k;_O~O%i;dO~P&8fOP$|qR$|q[$|qj$|qr$|q!S$|q!l$|q!p$|q#R$|q#n$|q#o$|q#p$|q#q$|q#r$|q#s$|q#t$|q#u$|q#v$|q#x$|q#z$|q#{$|q$O$|q(a$|q(r$|q!]$|q!^$|q~P''VO!Q*OO'y*PO(z%POP'jaR'ja['jaj'jan'jar'ja!S'ja!l'ja!p'ja#R'ja#n'ja#o'ja#p'ja#q'ja#r'ja#s'ja#t'ja#u'ja#v'ja#x'ja#z'ja#{'ja$O'ja(a'ja(r'ja(y'ja!]'ja!^'ja~O!Q*OO'y*POP'laR'la['laj'lan'lar'la!S'la!l'la!p'la#R'la#n'la#o'la#p'la#q'la#r'la#s'la#t'la#u'la#v'la#x'la#z'la#{'la$O'la(a'la(r'la(y'la(z'la!]'la!^'la~OP%OqR%Oq[%Oqj%Oqr%Oq!S%Oq!l%Oq!p%Oq#R%Oq#n%Oq#o%Oq#p%Oq#q%Oq#r%Oq#s%Oq#t%Oq#u%Oq#v%Oq#x%Oq#z%Oq#{%Oq$O%Oq(a%Oq(r%Oq!]%Oq!^%Oq~P''VOg%e!Z!]%e!Z#`%e!Z$O%e!Z~P!1WO!Y;hO~P#/sOr;iO!g#vO(r'pO~O[;kO!Y;hO~P#/sO!]'pq!^'pq~P#BwO!]#h!Z!^#h!Z~P#BwO#k%e!ZP%e!ZR%e!Z[%e!Za%e!Zj%e!Zr%e!Z!S%e!Z!]%e!Z!l%e!Z!p%e!Z#R%e!Z#n%e!Z#o%e!Z#p%e!Z#q%e!Z#r%e!Z#s%e!Z#t%e!Z#u%e!Z#v%e!Z#x%e!Z#z%e!Z#{%e!Z'z%e!Z(a%e!Z(r%e!Z!k%e!Z!Y%e!Z'w%e!Z#`%e!Zv%e!Z!_%e!Z%i%e!Z!g%e!Z~P#/sOr;tO!g#vO(r'pO~O!Y;uO~P#/sOr;|O!g#vO(r'pO~O!Y;}O~P#/sOP%e!ZR%e!Z[%e!Zj%e!Zr%e!Z!S%e!Z!l%e!Z!p%e!Z#R%e!Z#n%e!Z#o%e!Z#p%e!Z#q%e!Z#r%e!Z#s%e!Z#t%e!Z#u%e!Z#v%e!Z#x%e!Z#z%e!Z#{%e!Z$O%e!Z(a%e!Z(r%e!Z!]%e!Z!^%e!Z~P''VOrROe!iOpkOrPO(T)]O(VTO(YUO(aVO(o[O~O!]WO!l$xO#jgPPP!>oI[PPPPPPPPP!BOP!C]PPI[!DnPI[PI[I[I[I[I[PI[!FQP!I[P!LbP!Lf!Lp!Lt!LtP!IXP!Lx!LxP#!OP#!SI[PI[#!Y#%_CjA^PA^PA^A^P#&lA^A^#)OA^#+vA^#.SA^A^#.r#1W#1W#1]#1f#1W#1qPP#1WPA^#2ZA^#6YA^A^6mPPP#:_PPP#:x#:xP#:xP#;`#:xPP#;fP#;]P#;]#;y#;]#P#>V#>]#>k#>q#>{#?R#?]#?c#?s#?y#@k#@}#AT#AZ#Ai#BO#Cs#DR#DY#Et#FS#Gt#HS#HY#H`#Hf#Hp#Hv#H|#IW#Ij#IpPPPPPPPPPPP#IvPPPPPPP#Jk#Mx$ b$ i$ qPPP$']P$'f$*_$0x$0{$1O$1}$2Q$2X$2aP$2g$2jP$3W$3[$4S$5b$5g$5}PP$6S$6Y$6^$6a$6e$6i$7e$7|$8e$8i$8l$8o$8y$8|$9Q$9UR!|RoqOXst!Z#d%m&r&t&u&w,s,x2[2_Y!vQ'`-e1o5{Q%tvQ%|yQ&T|Q&j!VS'W!e-]Q'f!iS'l!r!yU*k$|*Z*oQ+o%}S+|&V&WQ,d&dQ-c'_Q-m'gQ-u'mQ0[*qQ1b,OQ1y,eR<{SU+P%]S!S!nQ!r!v!y!z$|'W'_'`'l'm'n*k*o*q*r-]-c-e-u0[0_1o5{5}%[$ti#v$b$c$d$x${%O%Q%^%_%c)y*R*T*V*Y*a*g*w*x+f+i,S,V.f/P/d/m/x/y/{0`0b0i0j0o1f1i1q3c4^4_4j4o5Q5[5_6S7W7v8Q8V8[8q9b9p9y:P:`:r;Q;[;d;kP>X>Y>]>^Q&X|Q'U!eS'[%i-`Q+t&PQ,P&WQ,f&gQ0n+SQ1Y+uQ1_+{Q2Q,jQ2R,kQ5f1TQ5o1aQ6[1zQ6_1|Q6`2PQ8`5gQ8c5lQ8|6bQ:X8dQ:f8yQ;V:YR<}*ZrnOXst!V!Z#d%m&i&r&t&u&w,s,x2[2_R,h&k&z^OPXYstuvwz!Z!`!g!j!o#S#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%m%t&R&k&n&o&r&t&u&w&{'T'b'r(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:mR>S[#]WZ#W#Z'X(T!b%jm#h#i#l$x%e%h(^(h(i(j*Y*^*b+Z+[+^,o-V.T.Z.[.]._/m/p2d3[3]4a6r7TQ%wxQ%{yW&Q|&V&W,OQ&_!TQ'c!hQ'e!iQ(q#sS+n%|%}Q+r&PQ,_&bQ,c&dS-l'f'gQ.i(rQ1R+oQ1X+uQ1Z+vQ1^+zQ1t,`S1x,d,eQ2|-mQ5e1TQ5i1WQ5n1`Q6Z1yQ8_5gQ8b5kQ8f5pQ:T8^R;T:U!U$zi$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Y!^%yy!i!u%{%|%}'V'e'f'g'k'u*j+n+o-Y-l-m-t0R0U1R2u2|3T4r4s4v7}9{Q+h%wQ,T&[Q,W&]Q,b&dQ.h(qQ1s,_U1w,c,d,eQ3e.iQ6U1tS6Y1x1yQ8x6Z#f>T#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k]>^o>UPS&[!Q&iQ&]!RQ&^!SU*}%[%d=sR,R&Y%]%Si#v$b$c$d$x${%O%Q%^%_%c)y*R*T*V*Y*a*g*w*x+f+i,S,V.f/P/d/m/x/y/{0`0b0i0j0o1f1i1q3c4^4_4j4o5Q5[5_6S7W7v8Q8V8[8q9b9p9y:P:`:r;Q;[;d;kP>X>Y>]>^T)z$u){V+P%]S$i$^c#Y#e%q%s%u(S(Y(t(y)R)S)T)U)V)W)X)Y)Z)[)^)`)b)g)q+d+x-Z-x-}.S.U.s.v.z.|.}/O/b0p2k2n3O3V3k3p3q3r3s3t3u3v3w3x3y3z3{3|4P4Q4X5X5c6u6{7Q7a7b7k7l8k9X9]9g9m9n:o;W;`SQ'Y!eR2q-]!W!nQ!e!r!v!y!z$|'W'_'`'l'm'n*Z*k*o*q*r-]-c-e-u0[0_1o5{5}R1l,ZnqOXst!Z#d%m&r&t&u&w,s,x2[2_Q&y!^Q'v!xS(s#u<^Q+l%zQ,]&_Q,^&aQ-j'dQ-w'oS.r(x=PS0q+X=ZQ1P+mQ1n,[Q2c,zQ2e,{Q2m-WQ2z-kQ2}-oS5Y0r=eQ5a1QS5d1S=fQ6t2oQ6x2{Q6}3SQ8]5bQ9Y6vQ9Z6yQ9^7OR:l9V$d$]c#Y#e%s%u(S(Y(t(y)R)S)T)U)V)W)X)Y)Z)[)^)`)b)g)q+d+x-Z-x-}.S.U.s.v.z.}/O/b0p2k2n3O3V3k3p3q3r3s3t3u3v3w3x3y3z3{3|4P4Q4X5X5c6u6{7Q7a7b7k7l8k9X9]9g9m9n:o;W;`SS#q]SU$fd)_,mS(p#p'iU*v%R(w4OU0m+O.n7gQ5^0xQ7V3`Q9d7YR:s9em!tQ!r!v!y!z'`'l'm'n-e-u1o5{5}Q't!uS(f#g2US-s'k'wQ/s*]Q0R*jQ3U-vQ4f/tQ4r0TQ4s0UQ4x0^Q7r4`S7}4t4vS8R4y4{Q9r7sQ9v7yQ9{8OQ:Q8TS:{9w9xS;g:|;PS;s;h;iS;{;t;uSSR=o>R%^bOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&o&r&t&u&w&{'T'b'r(T(V(](d(x(z)O)}*i+X+]+g,p,s,x-i-q.P.V.g.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3d3l4z6T6e6f6i6|7[8t9T9_Q%fj!^%xy!i!u%{%|%}'V'e'f'g'k'u*j+n+o-Y-l-m-t0R0U1R2u2|3T4r4s4v7}9{S&Oz!jQ+k%yQ,a&dW1v,b,c,d,eU6X1w1x1yS8w6Y6ZQ:d8x!r=j$Z$n'X)s-U-X/V2p4T5w6s:Z:mSQ=t>QR=u>R%QeOPXYstuvw!Z!`!g!o#S#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&r&t&u&w&{'T'b'r(V(](d(x(z)O)}*i+X+]+g,p,s,x-i-q.P.V.g.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3d3l4z6T6e6f6i6|7[8t9T9_Y#bWZ#W#Z(T!b%jm#h#i#l$x%e%h(^(h(i(j*Y*^*b+Z+[+^,o-V.T.Z.[.]._/m/p2d3[3]4a6r7TQ,n&o!p=k$Z$n)s-U-X/V2p4T5w6s:Z:mSR=n'XU']!e%i*ZR2s-`%SdOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&r&t&u&w&{'T'b'r(T(V(](d(x(z)O)}*i+X+],p,s,x-i-q.P.V.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3l4z6T6e6f6i6|8t9T9_!r)_$Z$n'X)s-U-X/V2p4T5w6s:Z:mSQ,m&oQ0x+gQ3`.gQ7Y3dR9e7[!b$Tc#Y%q(S(Y(t(y)Z)[)`)g+x-x-}.S.U.s.v/b0p3O3V3k3{5X5c6{7Q7a9]:oS)^)q-Z.|2k2n3p4P4X6u7b7k7l8k9X9g9m9n;W;`=vQ>X>ZR>Y>['QkOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%m%t&R&k&n&o&r&t&u&w&{'T'X'b'r(T(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:mSS$oh$pR4U/U'XgOPWXYZhstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n$p%m%t&R&k&n&o&r&t&u&w&{'T'X'b'r(T(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/U/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:mST$kf$qQ$ifS)j$l)nR)v$qT$jf$qT)l$l)n'XhOPWXYZhstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n$p%m%t&R&k&n&o&r&t&u&w&{'T'X'b'r(T(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/U/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:mST$oh$pQ$rhR)u$p%^jOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&o&r&t&u&w&{'T'b'r(T(V(](d(x(z)O)}*i+X+]+g,p,s,x-i-q.P.V.g.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3d3l4z6T6e6f6i6|7[8t9T9_!s>Q$Z$n'X)s-U-X/V2p4T5w6s:Z:mS#glOPXZst!Z!`!o#S#d#o#{$n%m&k&n&o&r&t&u&w&{'T'b)O)s*i+]+g,p,s,x-i.g/V/n0]0l1r2S2T2V2X2[2_2a3d4T4z6T6e6f6i7[8t9T!U%Ri$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Y#f(w#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k]>^Q+T%aQ/c*Oo4OP>X>YQ*c$zU*l$|*Z*oQ+U%bQ0W*m#f=q#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k]>^n=rTQ=x>UQ=y>VR=z>W!U%Ri$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Y#f(w#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k]>^o4OP>X>Y>]>^Q,U&]Q1h,WQ5s1gR8h5tV*n$|*Z*oU*n$|*Z*oT5z1o5{S0P*i/nQ4w0]T8S4z:]Q+j%xQ0V*lQ1O+kQ1u,aQ6W1vQ8v6XQ:c8wR;^:d!U%Oi$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Yx*R$v)e*S*u+V/v0d0e4R4g5R5S5W7p8U:R:x=p=}>OS0`*t0a#f]>^nZ>[`=T3}7c7f7j9h:t:w;yS=_.l3iT=`7e9k!U%Qi$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Y|*T$v)e*U*t+V/g/v0d0e4R4g4|5R5S5W7p8U:R:x=p=}>OS0b*u0c#f]>^nZ>[d=V3}7d7e7j9h9i:t:u:w;yS=a.m3jT=b7f9lrnOXst!V!Z#d%m&i&r&t&u&w,s,x2[2_Q&f!UR,p&ornOXst!V!Z#d%m&i&r&t&u&w,s,x2[2_R&f!UQ,Y&^R1d,RsnOXst!V!Z#d%m&i&r&t&u&w,s,x2[2_Q1p,_S6R1s1tU8p6P6Q6US:_8r8sS;Y:^:aQ;m;ZR;w;nQ&m!VR,i&iR6_1|R:f8yW&Q|&V&W,OR1Z+vQ&r!WR,s&sR,y&xT2],x2_R,}&yQ,|&yR2f,}Q'y!{R-y'ySsOtQ#dXT%ps#dQ#OTR'{#OQ#RUR'}#RQ){$uR/`){Q#UVR(Q#UQ#XWU(W#X(X.QQ(X#YR.Q(YQ-^'YR2r-^Q.u(yS3m.u3nR3n.vQ-e'`R2v-eY!rQ'`-e1o5{R'j!rQ/Q)eR4S/QU#_W%h*YU(_#_(`.RQ(`#`R.R(ZQ-a']R2t-at`OXst!V!Z#d%m&i&k&r&t&u&w,s,x2[2_S#hZ%eU#r`#h.[R.[(jQ(k#jQ.X(gW.a(k.X3X7RQ3X.YR7R3YQ)n$lR/W)nQ$phR)t$pQ$`cU)a$`-|O>Z>[Q/z*eU4k/z4m7xQ4m/|R7x4lS*o$|*ZR0Y*ox*S$v)e*t*u+V/v0d0e4R4g5R5S5W7p8U:R:x=p=}>O!d.j(u)c*[*e.l.m.q/_/k/|0v1e3h4[4h4l5r7]7`7w7z8X8Z9t9|:S:};R;e;j;v>Z>[U/h*S.j7ca7c3}7e7f7j9h:t:w;yQ0a*tQ3i.lU4}0a3i9kR9k7e|*U$v)e*t*u+V/g/v0d0e4R4g4|5R5S5W7p8U:R:x=p=}>O!h.k(u)c*[*e.l.m.q/_/k/|0v1e3f3h4[4h4l5r7]7^7`7w7z8X8Z9t9|:S:};R;e;j;v>Z>[U/j*U.k7de7d3}7e7f7j9h9i:t:u:w;yQ0c*uQ3j.mU5P0c3j9lR9l7fQ*z%UR0g*zQ5]0vR8Y5]Q+_%kR0u+_Q5v1jS8j5v:[R:[8kQ,[&_R1m,[Q5{1oR8m5{Q1{,fS6]1{8zR8z6_Q1U+rW5h1U5j8a:VQ5j1XQ8a5iR:V8bQ+w&QR1[+wQ2_,xR6m2_YrOXst#dQ&v!ZQ+a%mQ,r&rQ,t&tQ,u&uQ,w&wQ2Y,sS2],x2_R6l2[Q%opQ&z!_Q&}!aQ'P!bQ'R!cQ'q!uQ+`%lQ+l%zQ,Q&XQ,h&mQ-P&|W-p'k's't'wQ-w'oQ0X*nQ1P+mQ1c,PS2O,i,lQ2g-OQ2h-RQ2i-SQ2}-oW3P-r-s-v-xQ5a1QQ5m1_Q5q1eQ6V1uQ6a2QQ6k2ZU6z3O3R3UQ6}3SQ8]5bQ8e5oQ8g5rQ8l5zQ8u6WQ8{6`S9[6{7PQ9^7OQ:W8cQ:b8vQ:g8|Q:n9]Q;U:XQ;]:cQ;a:oQ;l;VR;o;^Q%zyQ'd!iQ'o!uU+m%{%|%}Q-W'VU-k'e'f'gS-o'k'uQ0Q*jS1Q+n+oQ2o-YS2{-l-mQ3S-tS4p0R0UQ5b1RQ6v2uQ6y2|Q7O3TU7{4r4s4vQ9z7}R;O9{S$wi>PR*{%VU%Ui%V>PR0f*yQ$viS(u#v+iS)c$b$cQ)e$dQ*[$xS*e${*YQ*t%OQ*u%QQ+Q%^Q+R%_Q+V%cQ.lPQ=}>XQ>O>YQ>Z>]R>[>^Q+O%]Q.nSR#[WR'Z!el!tQ!r!v!y!z'`'l'm'n-e-u1o5{5}S'V!e-]U*j$|*Z*oS-Y'W'_S0U*k*qQ0^*rQ2u-cQ4v0[R4{0_R({#xQ!fQT-d'`-e]!qQ!r'`-e1o5{Q#p]R'i < TypeParamList in out const TypeDefinition extends ThisType this LiteralType ArithOp Number BooleanLiteral TemplateType InterpolationEnd Interpolation InterpolationStart NullType null VoidType void TypeofType typeof MemberExpression . PropertyName [ TemplateString Escape Interpolation super RegExp ] ArrayExpression Spread , } { ObjectExpression Property async get set PropertyDefinition Block : NewTarget new NewExpression ) ( ArgList UnaryExpression delete LogicOp BitOp YieldExpression yield AwaitExpression await ParenthesizedExpression ClassExpression class ClassBody MethodDeclaration Decorator @ MemberExpression PrivatePropertyName CallExpression TypeArgList CompareOp < declare Privacy static abstract override PrivatePropertyDefinition PropertyDeclaration readonly accessor Optional TypeAnnotation Equals StaticBlock FunctionExpression ArrowFunction ParamList ParamList ArrayPattern ObjectPattern PatternProperty Privacy readonly Arrow MemberExpression BinaryExpression ArithOp ArithOp ArithOp ArithOp BitOp CompareOp instanceof satisfies CompareOp BitOp BitOp BitOp LogicOp LogicOp ConditionalExpression LogicOp LogicOp AssignmentExpression UpdateOp PostfixExpression CallExpression InstantiationExpression TaggedTemplateExpression DynamicImport import ImportMeta JSXElement JSXSelfCloseEndTag JSXSelfClosingTag JSXIdentifier JSXBuiltin JSXIdentifier JSXNamespacedName JSXMemberExpression JSXSpreadAttribute JSXAttribute JSXAttributeValue JSXEscape JSXEndTag JSXOpenTag JSXFragmentTag JSXText JSXEscape JSXStartCloseTag JSXCloseTag PrefixCast < ArrowFunction TypeParamList SequenceExpression InstantiationExpression KeyofType keyof UniqueType unique ImportType InferredType infer TypeName ParenthesizedType FunctionSignature ParamList NewSignature IndexedType TupleType Label ArrayType ReadonlyType ObjectType MethodType PropertyType IndexSignature PropertyDefinition CallSignature TypePredicate asserts is NewSignature new UnionType LogicOp IntersectionType LogicOp ConditionalType ParameterizedType ClassDeclaration abstract implements type VariableDeclaration let var using TypeAliasDeclaration InterfaceDeclaration interface EnumDeclaration enum EnumBody NamespaceDeclaration namespace module AmbientDeclaration declare GlobalDeclaration global ClassDeclaration ClassBody AmbientFunctionDeclaration ExportGroup VariableName VariableName ImportDeclaration defer ImportGroup ForStatement for ForSpec ForInSpec ForOfSpec of WhileStatement while WithStatement with DoStatement do IfStatement if else SwitchStatement switch SwitchBody CaseLabel case DefaultLabel TryStatement try CatchClause catch FinallyClause finally ReturnStatement return ThrowStatement throw BreakStatement break ContinueStatement continue DebuggerStatement debugger LabeledStatement ExpressionStatement SingleExpression SingleClassItem",maxTerm:380,context:t1,nodeProps:[["isolate",-8,5,6,14,37,39,51,53,55,""],["group",-26,9,17,19,68,207,211,215,216,218,221,224,234,237,243,245,247,249,252,258,264,266,268,270,272,274,275,"Statement",-34,13,14,32,35,36,42,51,54,55,57,62,70,72,76,80,82,84,85,110,111,120,121,136,139,141,142,143,144,145,147,148,167,169,171,"Expression",-23,31,33,37,41,43,45,173,175,177,178,180,181,182,184,185,186,188,189,190,201,203,205,206,"Type",-3,88,103,109,"ClassItem"],["openedBy",23,"<",38,"InterpolationStart",56,"[",60,"{",73,"(",160,"JSXStartCloseTag"],["closedBy",-2,24,168,">",40,"InterpolationEnd",50,"]",61,"}",74,")",165,"JSXEndTag"]],propSources:[a1],skippedNodes:[0,5,6,278],repeatNodeCount:37,tokenData:"$Fq07[R!bOX%ZXY+gYZ-yZ[+g[]%Z]^.c^p%Zpq+gqr/mrs3cst:_tuEruvJSvwLkwx! Yxy!'iyz!(sz{!)}{|!,q|}!.O}!O!,q!O!P!/Y!P!Q!9j!Q!R#:O!R![#<_![!]#I_!]!^#Jk!^!_#Ku!_!`$![!`!a$$v!a!b$*T!b!c$,r!c!}Er!}#O$-|#O#P$/W#P#Q$4o#Q#R$5y#R#SEr#S#T$7W#T#o$8b#o#p$x#r#s$@U#s$f%Z$f$g+g$g#BYEr#BY#BZ$A`#BZ$ISEr$IS$I_$A`$I_$I|Er$I|$I}$Dk$I}$JO$Dk$JO$JTEr$JT$JU$A`$JU$KVEr$KV$KW$A`$KW&FUEr&FU&FV$A`&FV;'SEr;'S;=`I|<%l?HTEr?HT?HU$A`?HUOEr(n%d_$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z&j&hT$i&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c&j&zP;=`<%l&c'|'U]$i&j(Z!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!b(SU(Z!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}!b(iP;=`<%l'}'|(oP;=`<%l&}'[(y]$i&j(WpOY(rYZ&cZr(rrs&cs!^(r!^!_)r!_#O(r#O#P&c#P#o(r#o#p)r#p;'S(r;'S;=`*a<%lO(rp)wU(WpOY)rZr)rs#O)r#P;'S)r;'S;=`*Z<%lO)rp*^P;=`<%l)r'[*dP;=`<%l(r#S*nX(Wp(Z!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g#S+^P;=`<%l*g(n+dP;=`<%l%Z07[+rq$i&j(Wp(Z!b'|0/lOX%ZXY+gYZ&cZ[+g[p%Zpq+gqr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p$f%Z$f$g+g$g#BY%Z#BY#BZ+g#BZ$IS%Z$IS$I_+g$I_$JT%Z$JT$JU+g$JU$KV%Z$KV$KW+g$KW&FU%Z&FU&FV+g&FV;'S%Z;'S;=`+a<%l?HT%Z?HT?HU+g?HUO%Z07[.ST(X#S$i&j'}0/lO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c07[.n_$i&j(Wp(Z!b'}0/lOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z)3p/x`$i&j!p),Q(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`0z!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW1V`#v(Ch$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`2X!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW2d_#v(Ch$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'At3l_(V':f$i&j(Z!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k(^4r_$i&j(Z!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k&z5vX$i&jOr5qrs6cs!^5q!^!_6y!_#o5q#o#p6y#p;'S5q;'S;=`7h<%lO5q&z6jT$d`$i&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c`6|TOr6yrs7]s;'S6y;'S;=`7b<%lO6y`7bO$d``7eP;=`<%l6y&z7kP;=`<%l5q(^7w]$d`$i&j(Z!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!r8uZ(Z!bOY8pYZ6yZr8prs9hsw8pwx6yx#O8p#O#P6y#P;'S8p;'S;=`:R<%lO8p!r9oU$d`(Z!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}!r:UP;=`<%l8p(^:[P;=`<%l4k%9[:hh$i&j(Wp(Z!bOY%ZYZ&cZq%Zqr`#P#o`x!^=^!^!_?q!_#O=^#O#P>`#P#o=^#o#p?q#p;'S=^;'S;=`@h<%lO=^&n>gXWS$i&jOY>`YZ&cZ!^>`!^!_?S!_#o>`#o#p?S#p;'S>`;'S;=`?k<%lO>`S?XSWSOY?SZ;'S?S;'S;=`?e<%lO?SS?hP;=`<%l?S&n?nP;=`<%l>`!f?xWWS(Z!bOY?qZw?qwx?Sx#O?q#O#P?S#P;'S?q;'S;=`@b<%lO?q!f@eP;=`<%l?q(Q@kP;=`<%l=^'`@w]WS$i&j(WpOY@nYZ&cZr@nrs>`s!^@n!^!_Ap!_#O@n#O#P>`#P#o@n#o#pAp#p;'S@n;'S;=`Bg<%lO@ntAwWWS(WpOYApZrAprs?Ss#OAp#O#P?S#P;'SAp;'S;=`Ba<%lOAptBdP;=`<%lAp'`BjP;=`<%l@n#WBvYWS(Wp(Z!bOYBmZrBmrs?qswBmwxApx#OBm#O#P?S#P;'SBm;'S;=`Cf<%lOBm#WCiP;=`<%lBm(rCoP;=`<%l^!Q^$i&j!X7`OY!=yYZ&cZ!P!=y!P!Q!>|!Q!^!=y!^!_!@c!_!}!=y!}#O!CW#O#P!Dy#P#o!=y#o#p!@c#p;'S!=y;'S;=`!Ek<%lO!=y|#X#Z&c#Z#[!>|#[#]&c#]#^!>|#^#a&c#a#b!>|#b#g&c#g#h!>|#h#i&c#i#j!>|#j#k!>|#k#m&c#m#n!>|#n#o&c#p;'S&c;'S;=`&w<%lO&c7`!@hX!X7`OY!@cZ!P!@c!P!Q!AT!Q!}!@c!}#O!Ar#O#P!Bq#P;'S!@c;'S;=`!CQ<%lO!@c7`!AYW!X7`#W#X!AT#Z#[!AT#]#^!AT#a#b!AT#g#h!AT#i#j!AT#j#k!AT#m#n!AT7`!AuVOY!ArZ#O!Ar#O#P!B[#P#Q!@c#Q;'S!Ar;'S;=`!Bk<%lO!Ar7`!B_SOY!ArZ;'S!Ar;'S;=`!Bk<%lO!Ar7`!BnP;=`<%l!Ar7`!BtSOY!@cZ;'S!@c;'S;=`!CQ<%lO!@c7`!CTP;=`<%l!@c^!Ezl$i&j(Z!b!X7`OY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#W&}#W#X!Eq#X#Z&}#Z#[!Eq#[#]&}#]#^!Eq#^#a&}#a#b!Eq#b#g&}#g#h!Eq#h#i&}#i#j!Eq#j#k!Eq#k#m&}#m#n!Eq#n#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}8r!GyZ(Z!b!X7`OY!GrZw!Grwx!@cx!P!Gr!P!Q!Hl!Q!}!Gr!}#O!JU#O#P!Bq#P;'S!Gr;'S;=`!J|<%lO!Gr8r!Hse(Z!b!X7`OY'}Zw'}x#O'}#P#W'}#W#X!Hl#X#Z'}#Z#[!Hl#[#]'}#]#^!Hl#^#a'}#a#b!Hl#b#g'}#g#h!Hl#h#i'}#i#j!Hl#j#k!Hl#k#m'}#m#n!Hl#n;'S'};'S;=`(f<%lO'}8r!JZX(Z!bOY!JUZw!JUwx!Arx#O!JU#O#P!B[#P#Q!Gr#Q;'S!JU;'S;=`!Jv<%lO!JU8r!JyP;=`<%l!JU8r!KPP;=`<%l!Gr>^!KZ^$i&j(Z!bOY!KSYZ&cZw!KSwx!CWx!^!KS!^!_!JU!_#O!KS#O#P!DR#P#Q!^!LYP;=`<%l!KS>^!L`P;=`<%l!_#c#d#Bq#d#l%Z#l#m#Es#m#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#>j_$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#?rd$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!R#AQ!R!S#AQ!S!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#AQ#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#A]f$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!R#AQ!R!S#AQ!S!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#AQ#S#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#Bzc$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!Y#DV!Y!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#DV#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#Dbe$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!Y#DV!Y!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#DV#S#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#E|g$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![#Ge![!^%Z!^!_*g!_!c%Z!c!i#Ge!i#O%Z#O#P&c#P#R%Z#R#S#Ge#S#T%Z#T#Z#Ge#Z#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#Gpi$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![#Ge![!^%Z!^!_*g!_!c%Z!c!i#Ge!i#O%Z#O#P&c#P#R%Z#R#S#Ge#S#T%Z#T#Z#Ge#Z#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z*)x#Il_!g$b$i&j$O)Lv(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z)[#Jv_al$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z04f#LS^h#)`#R-v$?V_!^(CdvBr$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z?O$@a_!q7`$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z07[$Aq|$i&j(Wp(Z!b'|0/l$]#t(T,2j(e$I[OX%ZXY+gYZ&cZ[+g[p%Zpq+gqr%Zrs&}st%ZtuEruw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Er![!^%Z!^!_*g!_!c%Z!c!}Er!}#O%Z#O#P&c#P#R%Z#R#SEr#S#T%Z#T#oEr#o#p*g#p$f%Z$f$g+g$g#BYEr#BY#BZ$A`#BZ$ISEr$IS$I_$A`$I_$JTEr$JT$JU$A`$JU$KVEr$KV$KW$A`$KW&FUEr&FU&FV$A`&FV;'SEr;'S;=`I|<%l?HTEr?HT?HU$A`?HUOEr07[$D|k$i&j(Wp(Z!b'}0/l$]#t(T,2j(e$I[OY%ZYZ&cZr%Zrs&}st%ZtuEruw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Er![!^%Z!^!_*g!_!c%Z!c!}Er!}#O%Z#O#P&c#P#R%Z#R#SEr#S#T%Z#T#oEr#o#p*g#p$g%Z$g;'SEr;'S;=`I|<%lOEr",tokenizers:[n1,r1,s1,o1,2,3,4,5,6,7,8,9,10,11,12,13,14,i1,new yi("$S~RRtu[#O#Pg#S#T#|~_P#o#pb~gOx~~jVO#i!P#i#j!U#j#l!P#l#m!q#m;'S!P;'S;=`#v<%lO!P~!UO!U~~!XS!Q![!e!c!i!e#T#Z!e#o#p#Z~!hR!Q![!q!c!i!q#T#Z!q~!tR!Q![!}!c!i!}#T#Z!}~#QR!Q![!P!c!i!P#T#Z!P~#^R!Q![#g!c!i#g#T#Z#g~#jS!Q![#g!c!i#g#T#Z#g#q#r!P~#yP;=`<%l!P~$RO(c~~",141,340),new yi("j~RQYZXz{^~^O(Q~~aP!P!Qd~iO(R~~",25,323)],topRules:{Script:[0,7],SingleExpression:[1,276],SingleClassItem:[2,277]},dialects:{jsx:0,ts:15175},dynamicPrecedences:{80:1,82:1,94:1,169:1,199:1},specialized:[{term:327,get:i=>l1[i]||-1},{term:343,get:i=>c1[i]||-1},{term:95,get:i=>h1[i]||-1}],tokenPrec:15201});var Mp=[ce("function ${name}(${params}) {\n ${}\n}",{label:"function",detail:"definition",type:"keyword"}),ce("for (let ${index} = 0; ${index} < ${bound}; ${index}++) {\n ${}\n}",{label:"for",detail:"loop",type:"keyword"}),ce("for (let ${name} of ${collection}) {\n ${}\n}",{label:"for",detail:"of loop",type:"keyword"}),ce("do {\n ${}\n} while (${})",{label:"do",detail:"loop",type:"keyword"}),ce("while (${}) {\n ${}\n}",{label:"while",detail:"loop",type:"keyword"}),ce(`try { \${} } catch (\${error}) { \${} @@ -26,16 +26,16 @@ constructor(\${params}) { \${} } -}`,{label:"class",detail:"definition",type:"keyword"}),ce('import {${names}} from "${module}"\n${}',{label:"import",detail:"named",type:"keyword"}),ce('import ${name} from "${module}"\n${}',{label:"import",detail:"default",type:"keyword"})],h1=Mp.concat([ce("interface ${name} {\n ${}\n}",{label:"interface",detail:"definition",type:"keyword"}),ce("type ${name} = ${type}",{label:"type",detail:"definition",type:"keyword"}),ce("enum ${name} {\n ${}\n}",{label:"enum",detail:"definition",type:"keyword"})]),qp=new di,Wp=new Set(["Script","Block","FunctionExpression","FunctionDeclaration","ArrowFunction","MethodDeclaration","ForStatement"]);function vr(i){return(e,t)=>{let n=e.node.getChild("VariableDefinition");return n&&t(n,i),!0}}var f1=["FunctionDeclaration"],u1={FunctionDeclaration:vr("function"),ClassDeclaration:vr("class"),ClassExpression:()=>!0,EnumDeclaration:vr("constant"),TypeAliasDeclaration:vr("type"),NamespaceDeclaration:vr("namespace"),VariableDefinition(i,e){i.matchContext(f1)||e(i,"variable")},TypeDefinition(i,e){e(i,"type")},__proto__:null};function jp(i,e){let t=qp.get(e);if(t)return t;let n=[],r=!0;function s(o,a){let l=i.sliceString(o.from,o.to);n.push({label:l,type:a})}return e.cursor(ee.IncludeAnonymous).iterate(o=>{if(r)r=!1;else if(o.name){let a=u1[o.name];if(a&&a(o,s)||Wp.has(o.name))return!1}else if(o.to-o.from>8192){for(let a of jp(i,o.node))n.push(a);return!1}}),qp.set(e,n),n}var zp=/^[\w$\xa1-\uffff][\w$\d\xa1-\uffff]*$/,Vp=["TemplateString","String","RegExp","LineComment","BlockComment","VariableDefinition","TypeDefinition","Label","PropertyDefinition","PropertyName","PrivatePropertyDefinition","PrivatePropertyName","JSXText","JSXAttributeValue","JSXOpenTag","JSXCloseTag","JSXSelfClosingTag",".","?."];function O1(i){let e=U(i.state).resolveInner(i.pos,-1);if(Vp.indexOf(e.name)>-1)return null;let t=e.name=="VariableName"||e.to-e.from<20&&zp.test(i.state.sliceDoc(e.from,e.to));if(!t&&!i.explicit)return null;let n=[];for(let r=e;r;r=r.parent)Wp.has(r.name)&&(n=n.concat(jp(i.state.doc,r)));return{options:n,from:t?e.from:i.pos,validFor:zp}}var wt=$e.define({name:"javascript",parser:Ep.configure({props:[we.add({IfStatement:Bt({except:/^\s*({|else\b)/}),TryStatement:Bt({except:/^\s*({|catch\b|finally\b)/}),LabeledStatement:aO,SwitchBody:i=>{let e=i.textAfter,t=/^\s*\}/.test(e),n=/^\s*(case|default)\b/.test(e);return i.baseIndent+(t?0:n?1:2)*i.unit},Block:St({closing:"}"}),ArrowFunction:i=>i.baseIndent+i.unit,"TemplateString BlockComment":()=>null,"Statement Property":Bt({except:/^\s*{/}),JSXElement(i){let e=/^\s*<\//.test(i.textAfter);return i.lineIndent(i.node.from)+(e?0:i.unit)},JSXEscape(i){let e=/\s*\}/.test(i.textAfter);return i.lineIndent(i.node.from)+(e?0:i.unit)},"JSXOpenTag JSXSelfClosingTag"(i){return i.column(i.node.from)+i.unit}}),Te.add({"Block ClassBody SwitchBody EnumBody ObjectExpression ArrayExpression ObjectType":ht,BlockComment(i){return{from:i.from+2,to:i.to-2}},JSXElement(i){let e=i.firstChild;if(!e||e.name=="JSXSelfClosingTag")return null;let t=i.lastChild;return{from:e.to,to:t.type.isError?i.to:t.from}},"JSXSelfClosingTag JSXOpenTag"(i){var e;let t=(e=i.firstChild)===null||e===void 0?void 0:e.nextSibling,n=i.lastChild;return!t||t.type.isError?null:{from:t.to,to:n.type.isError?i.to:n.from}}})]}),languageData:{closeBrackets:{brackets:["(","[","{","'",'"',"`"]},commentTokens:{line:"//",block:{open:"/*",close:"*/"}},indentOnInput:/^\s*(?:case |default:|\{|\}|<\/)$/,wordChars:"$"}}),Dp={test:i=>/^JSX/.test(i.name),facet:kn({commentTokens:{block:{open:"{/*",close:"*/}"}}})},Xc=wt.configure({dialect:"ts"},"typescript"),_c=wt.configure({dialect:"jsx",props:[qs.add(i=>i.isTop?[Dp]:void 0)]}),Rc=wt.configure({dialect:"jsx ts",props:[qs.add(i=>i.isTop?[Dp]:void 0)]},"typescript"),Yp=i=>({label:i,type:"keyword"}),Ip="break case const continue default delete export extends false finally in instanceof let new return static super switch this throw true typeof var yield".split(" ").map(Yp),d1=Ip.concat(["declare","implements","private","protected","public"].map(Yp));function so(i={}){let e=i.jsx?i.typescript?Rc:_c:i.typescript?Xc:wt,t=i.typescript?h1.concat(d1):Mp.concat(Ip);return new me(e,[wt.data.of({autocomplete:Bs(Vp,Is(t))}),wt.data.of({autocomplete:O1}),i.jsx?g1:[]])}function p1(i){for(;;){if(i.name=="JSXOpenTag"||i.name=="JSXSelfClosingTag"||i.name=="JSXFragmentTag")return i;if(i.name=="JSXEscape"||!i.parent)return null;i=i.parent}}function Lp(i,e,t=i.length){for(let n=e?.firstChild;n;n=n.nextSibling)if(n.name=="JSXIdentifier"||n.name=="JSXBuiltin"||n.name=="JSXNamespacedName"||n.name=="JSXMemberExpression")return i.sliceString(n.from,Math.min(n.to,t));return""}var m1=typeof navigator=="object"&&/Android\b/.test(navigator.userAgent),g1=z.inputHandler.of((i,e,t,n,r)=>{if((m1?i.composing:i.compositionStarted)||i.state.readOnly||e!=t||n!=">"&&n!="/"||!wt.isActiveAt(i.state,e,-1))return!1;let s=r(),{state:o}=s,a=o.changeByRange(l=>{var c;let{head:h}=l,f=U(o).resolveInner(h-1,-1),u;if(f.name=="JSXStartTag"&&(f=f.parent),!(o.doc.sliceString(h-1,h)!=n||f.name=="JSXAttributeValue"&&f.to>h)){if(n==">"&&f.name=="JSXFragmentTag")return{range:l,changes:{from:h,insert:""}};if(n=="/"&&f.name=="JSXStartCloseTag"){let O=f.parent,p=O.parent;if(p&&O.from==h-2&&((u=Lp(o.doc,p.firstChild,h))||((c=p.firstChild)===null||c===void 0?void 0:c.name)=="JSXFragmentTag")){let m=`${u}>`;return{range:P.cursor(h+m.length,-1),changes:{from:h,insert:m}}}}else if(n==">"){let O=p1(f);if(O&&O.name=="JSXOpenTag"&&!/^\/?>|^<\//.test(o.doc.sliceString(h,h+2))&&(u=Lp(o.doc,O,h)))return{range:l,changes:{from:h,insert:``}}}}return{range:l}});return a.changes.empty?!1:(i.dispatch([s,o.update(a,{userEvent:"input.complete",scrollIntoView:!0})]),!0)});var $r=["_blank","_self","_top","_parent"],Ac=["ascii","utf-8","utf-16","latin1","latin1"],Zc=["get","post","put","delete"],Ec=["application/x-www-form-urlencoded","multipart/form-data","text/plain"],Je=["true","false"],D={},Q1={a:{attrs:{href:null,ping:null,type:null,media:null,target:$r,hreflang:null}},abbr:D,address:D,area:{attrs:{alt:null,coords:null,href:null,target:null,ping:null,media:null,hreflang:null,type:null,shape:["default","rect","circle","poly"]}},article:D,aside:D,audio:{attrs:{src:null,mediagroup:null,crossorigin:["anonymous","use-credentials"],preload:["none","metadata","auto"],autoplay:["autoplay"],loop:["loop"],controls:["controls"]}},b:D,base:{attrs:{href:null,target:$r}},bdi:D,bdo:D,blockquote:{attrs:{cite:null}},body:D,br:D,button:{attrs:{form:null,formaction:null,name:null,value:null,autofocus:["autofocus"],disabled:["autofocus"],formenctype:Ec,formmethod:Zc,formnovalidate:["novalidate"],formtarget:$r,type:["submit","reset","button"]}},canvas:{attrs:{width:null,height:null}},caption:D,center:D,cite:D,code:D,col:{attrs:{span:null}},colgroup:{attrs:{span:null}},command:{attrs:{type:["command","checkbox","radio"],label:null,icon:null,radiogroup:null,command:null,title:null,disabled:["disabled"],checked:["checked"]}},data:{attrs:{value:null}},datagrid:{attrs:{disabled:["disabled"],multiple:["multiple"]}},datalist:{attrs:{data:null}},dd:D,del:{attrs:{cite:null,datetime:null}},details:{attrs:{open:["open"]}},dfn:D,div:D,dl:D,dt:D,em:D,embed:{attrs:{src:null,type:null,width:null,height:null}},eventsource:{attrs:{src:null}},fieldset:{attrs:{disabled:["disabled"],form:null,name:null}},figcaption:D,figure:D,footer:D,form:{attrs:{action:null,name:null,"accept-charset":Ac,autocomplete:["on","off"],enctype:Ec,method:Zc,novalidate:["novalidate"],target:$r}},h1:D,h2:D,h3:D,h4:D,h5:D,h6:D,head:{children:["title","base","link","style","meta","script","noscript","command"]},header:D,hgroup:D,hr:D,html:{attrs:{manifest:null}},i:D,iframe:{attrs:{src:null,srcdoc:null,name:null,width:null,height:null,sandbox:["allow-top-navigation","allow-same-origin","allow-forms","allow-scripts"],seamless:["seamless"]}},img:{attrs:{alt:null,src:null,ismap:null,usemap:null,width:null,height:null,crossorigin:["anonymous","use-credentials"]}},input:{attrs:{alt:null,dirname:null,form:null,formaction:null,height:null,list:null,max:null,maxlength:null,min:null,name:null,pattern:null,placeholder:null,size:null,src:null,step:null,value:null,width:null,accept:["audio/*","video/*","image/*"],autocomplete:["on","off"],autofocus:["autofocus"],checked:["checked"],disabled:["disabled"],formenctype:Ec,formmethod:Zc,formnovalidate:["novalidate"],formtarget:$r,multiple:["multiple"],readonly:["readonly"],required:["required"],type:["hidden","text","search","tel","url","email","password","datetime","date","month","week","time","datetime-local","number","range","color","checkbox","radio","file","submit","image","reset","button"]}},ins:{attrs:{cite:null,datetime:null}},kbd:D,keygen:{attrs:{challenge:null,form:null,name:null,autofocus:["autofocus"],disabled:["disabled"],keytype:["RSA"]}},label:{attrs:{for:null,form:null}},legend:D,li:{attrs:{value:null}},link:{attrs:{href:null,type:null,hreflang:null,media:null,sizes:["all","16x16","16x16 32x32","16x16 32x32 64x64"]}},map:{attrs:{name:null}},mark:D,menu:{attrs:{label:null,type:["list","context","toolbar"]}},meta:{attrs:{content:null,charset:Ac,name:["viewport","application-name","author","description","generator","keywords"],"http-equiv":["content-language","content-type","default-style","refresh"]}},meter:{attrs:{value:null,min:null,low:null,high:null,max:null,optimum:null}},nav:D,noscript:D,object:{attrs:{data:null,type:null,name:null,usemap:null,form:null,width:null,height:null,typemustmatch:["typemustmatch"]}},ol:{attrs:{reversed:["reversed"],start:null,type:["1","a","A","i","I"]},children:["li","script","template","ul","ol"]},optgroup:{attrs:{disabled:["disabled"],label:null}},option:{attrs:{disabled:["disabled"],label:null,selected:["selected"],value:null}},output:{attrs:{for:null,form:null,name:null}},p:D,param:{attrs:{name:null,value:null}},pre:D,progress:{attrs:{value:null,max:null}},q:{attrs:{cite:null}},rp:D,rt:D,ruby:D,samp:D,script:{attrs:{type:["text/javascript"],src:null,async:["async"],defer:["defer"],charset:Ac}},section:D,select:{attrs:{form:null,name:null,size:null,autofocus:["autofocus"],disabled:["disabled"],multiple:["multiple"]}},slot:{attrs:{name:null}},small:D,source:{attrs:{src:null,type:null,media:null}},span:D,strong:D,style:{attrs:{type:["text/css"],media:null,scoped:null}},sub:D,summary:D,sup:D,table:D,tbody:D,td:{attrs:{colspan:null,rowspan:null,headers:null}},template:D,textarea:{attrs:{dirname:null,form:null,maxlength:null,name:null,placeholder:null,rows:null,cols:null,autofocus:["autofocus"],disabled:["disabled"],readonly:["readonly"],required:["required"],wrap:["soft","hard"]}},tfoot:D,th:{attrs:{colspan:null,rowspan:null,headers:null,scope:["row","col","rowgroup","colgroup"]}},thead:D,time:{attrs:{datetime:null}},title:D,tr:D,track:{attrs:{src:null,label:null,default:null,kind:["subtitles","captions","descriptions","chapters","metadata"],srclang:null}},ul:{children:["li","script","template","ul","ol"]},var:D,video:{attrs:{src:null,poster:null,width:null,height:null,crossorigin:["anonymous","use-credentials"],preload:["auto","metadata","none"],autoplay:["autoplay"],mediagroup:["movie"],muted:["muted"],controls:["controls"]}},wbr:D},Np={accesskey:null,class:null,contenteditable:Je,contextmenu:null,dir:["ltr","rtl","auto"],draggable:["true","false","auto"],dropzone:["copy","move","link","string:","file:"],hidden:["hidden"],id:null,inert:["inert"],itemid:null,itemprop:null,itemref:null,itemscope:["itemscope"],itemtype:null,lang:["ar","bn","de","en-GB","en-US","es","fr","hi","id","ja","pa","pt","ru","tr","zh"],spellcheck:Je,autocorrect:Je,autocapitalize:Je,style:null,tabindex:null,title:null,translate:["yes","no"],rel:["stylesheet","alternate","author","bookmark","help","license","next","nofollow","noreferrer","prefetch","prev","search","tag"],role:"alert application article banner button cell checkbox complementary contentinfo dialog document feed figure form grid gridcell heading img list listbox listitem main navigation region row rowgroup search switch tab table tabpanel textbox timer".split(" "),"aria-activedescendant":null,"aria-atomic":Je,"aria-autocomplete":["inline","list","both","none"],"aria-busy":Je,"aria-checked":["true","false","mixed","undefined"],"aria-controls":null,"aria-describedby":null,"aria-disabled":Je,"aria-dropeffect":null,"aria-expanded":["true","false","undefined"],"aria-flowto":null,"aria-grabbed":["true","false","undefined"],"aria-haspopup":Je,"aria-hidden":Je,"aria-invalid":["true","false","grammar","spelling"],"aria-label":null,"aria-labelledby":null,"aria-level":null,"aria-live":["off","polite","assertive"],"aria-multiline":Je,"aria-multiselectable":Je,"aria-owns":null,"aria-posinset":null,"aria-pressed":["true","false","mixed","undefined"],"aria-readonly":Je,"aria-relevant":null,"aria-required":Je,"aria-selected":["true","false","undefined"],"aria-setsize":null,"aria-sort":["ascending","descending","none","other"],"aria-valuemax":null,"aria-valuemin":null,"aria-valuenow":null,"aria-valuetext":null},Fp="beforeunload copy cut dragstart dragover dragleave dragenter dragend drag paste focus blur change click load mousedown mouseenter mouseleave mouseup keydown keyup resize scroll unload".split(" ").map(i=>"on"+i);for(let i of Fp)Np[i]=null;var Ui=class{constructor(e,t){this.tags={...Q1,...e},this.globalAttrs={...Np,...t},this.allTags=Object.keys(this.tags),this.globalAttrNames=Object.keys(this.globalAttrs)}};Ui.default=new Ui;function $n(i,e,t=i.length){if(!e)return"";let n=e.firstChild,r=n&&n.getChild("TagName");return r?i.sliceString(r.from,Math.min(r.to,t)):""}function Tn(i,e=!1){for(;i;i=i.parent)if(i.name=="Element")if(e)e=!1;else return i;return null}function Hp(i,e,t){let n=t.tags[$n(i,Tn(e))];return n?.children||t.allTags}function qc(i,e){let t=[];for(let n=Tn(e);n&&!n.type.isTop;n=Tn(n.parent)){let r=$n(i,n);if(r&&n.lastChild.name=="CloseTag")break;r&&t.indexOf(r)<0&&(e.name=="EndTag"||e.from>=n.firstChild.to)&&t.push(r)}return t}var Kp=/^[:\-\.\w\u00b7-\uffff]*$/;function Bp(i,e,t,n,r){let s=/\s*>/.test(i.sliceDoc(r,r+5))?"":">",o=Tn(t,t.name=="StartTag"||t.name=="TagName");return{from:n,to:r,options:Hp(i.doc,o,e).map(a=>({label:a,type:"type"})).concat(qc(i.doc,t).map((a,l)=>({label:"/"+a,apply:"/"+a+s,type:"type",boost:99-l}))),validFor:/^\/?[:\-\.\w\u00b7-\uffff]*$/}}function Up(i,e,t,n){let r=/\s*>/.test(i.sliceDoc(n,n+5))?"":">";return{from:t,to:n,options:qc(i.doc,e).map((s,o)=>({label:s,apply:s+r,type:"type",boost:99-o})),validFor:Kp}}function b1(i,e,t,n){let r=[],s=0;for(let o of Hp(i.doc,t,e))r.push({label:"<"+o,type:"type"});for(let o of qc(i.doc,t))r.push({label:"",type:"type",boost:99-s++});return{from:n,to:n,options:r,validFor:/^<\/?[:\-\.\w\u00b7-\uffff]*$/}}function S1(i,e,t,n,r){let s=Tn(t),o=s?e.tags[$n(i.doc,s)]:null,a=o&&o.attrs?Object.keys(o.attrs):[],l=o&&o.globalAttrs===!1?a:a.length?a.concat(e.globalAttrNames):e.globalAttrNames;return{from:n,to:r,options:l.map(c=>({label:c,type:"property"})),validFor:Kp}}function y1(i,e,t,n,r){var s;let o=(s=t.parent)===null||s===void 0?void 0:s.getChild("AttributeName"),a=[],l;if(o){let c=i.sliceDoc(o.from,o.to),h=e.globalAttrs[c];if(!h){let f=Tn(t),u=f?e.tags[$n(i.doc,f)]:null;h=u?.attrs&&u.attrs[c]}if(h){let f=i.sliceDoc(n,r).toLowerCase(),u='"',O='"';/^['"]/.test(f)?(l=f[0]=='"'?/^[^"]*$/:/^[^']*$/,u="",O=i.sliceDoc(r,r+1)==f[0]?"":f[0],f=f.slice(1),n++):l=/^[^\s<>='"]*$/;for(let p of h)a.push({label:p,apply:u+p+O,type:"constant"})}}return{from:n,to:r,options:a,validFor:l}}function Jp(i,e){let{state:t,pos:n}=e,r=U(t).resolveInner(n,-1),s=r.resolve(n);for(let o=n,a;s==r&&(a=r.childBefore(o));){let l=a.lastChild;if(!l||!l.type.isError||l.fromJp(n,r)}var x1=wt.parser.configure({top:"SingleExpression"}),tm=[{tag:"script",attrs:i=>i.type=="text/typescript"||i.lang=="ts",parser:Xc.parser},{tag:"script",attrs:i=>i.type=="text/babel"||i.type=="text/jsx",parser:_c.parser},{tag:"script",attrs:i=>i.type=="text/typescript-jsx",parser:Rc.parser},{tag:"script",attrs(i){return/^(importmap|speculationrules|application\/(.+\+)?json)$/i.test(i.type)},parser:x1},{tag:"script",attrs(i){return!i.type||/^(?:text|application)\/(?:x-)?(?:java|ecma)script$|^module$|^$/i.test(i.type)},parser:wt.parser},{tag:"style",attrs(i){return(!i.lang||i.lang=="css")&&(!i.type||/^(text\/)?(x-)?(stylesheet|css)$/i.test(i.type))},parser:Pr.parser}],im=[{name:"style",parser:Pr.parser.configure({top:"Styles"})}].concat(Fp.map(i=>({name:i,parser:wt.parser}))),nm=$e.define({name:"html",parser:Sp.configure({props:[we.add({Element(i){let e=/^(\s*)(<\/)?/.exec(i.textAfter);return i.node.to<=i.pos+e[0].length?i.continue():i.lineIndent(i.node.from)+(e[2]?0:i.unit)},"OpenTag CloseTag SelfClosingTag"(i){return i.column(i.node.from)+i.unit},Document(i){if(i.pos+/\s*/.exec(i.textAfter)[0].lengthi.getChild("TagName")})]}),languageData:{commentTokens:{block:{open:""}},indentOnInput:/^\s*<\/\w+\W$/,wordChars:"-_"}}),oo=nm.configure({wrap:xc(tm,im)});function ao(i={}){let e="",t;i.matchClosingTags===!1&&(e="noMatch"),i.selfClosingTags===!0&&(e=(e?e+" ":"")+"selfClosing"),(i.nestedLanguages&&i.nestedLanguages.length||i.nestedAttributes&&i.nestedAttributes.length)&&(t=xc((i.nestedLanguages||[]).concat(tm),(i.nestedAttributes||[]).concat(im)));let n=t?nm.configure({wrap:t,dialect:e}):e?oo.configure({dialect:e}):oo;return new me(n,[oo.data.of({autocomplete:k1(i)}),i.autoCloseTags!==!1?w1:[],so().support,ro().support])}var Gp=new Set("area base br col command embed frame hr img input keygen link meta param source track wbr menuitem".split(" ")),w1=z.inputHandler.of((i,e,t,n,r)=>{if(i.composing||i.state.readOnly||e!=t||n!=">"&&n!="/"||!oo.isActiveAt(i.state,e,-1))return!1;let s=r(),{state:o}=s,a=o.changeByRange(l=>{var c,h,f;let u=o.doc.sliceString(l.from-1,l.to)==n,{head:O}=l,p=U(o).resolveInner(O,-1),m;if(u&&n==">"&&p.name=="EndTag"){let b=p.parent;if(((h=(c=b.parent)===null||c===void 0?void 0:c.lastChild)===null||h===void 0?void 0:h.name)!="CloseTag"&&(m=$n(o.doc,b.parent,O))&&!Gp.has(m)){let g=O+(o.doc.sliceString(O,O+1)===">"?1:0),Q=``;return{range:l,changes:{from:O,to:g,insert:Q}}}}else if(u&&n=="/"&&p.name=="IncompleteCloseTag"){let b=p.parent;if(p.from==O-2&&((f=b.lastChild)===null||f===void 0?void 0:f.name)!="CloseTag"&&(m=$n(o.doc,b,O))&&!Gp.has(m)){let g=O+(o.doc.sliceString(O,O+1)===">"?1:0),Q=`${m}>`;return{range:P.cursor(O+Q.length,-1),changes:{from:O,to:g,insert:Q}}}}return{range:l}});return a.changes.empty?!1:(i.dispatch([s,o.update(a,{userEvent:"input.complete",scrollIntoView:!0})]),!0)});var om=kn({commentTokens:{block:{open:""}}}),am=new I,lm=Yd.configure({props:[Te.add(i=>!i.is("Block")||i.is("Document")||Mc(i)!=null||P1(i)?void 0:(e,t)=>({from:t.doc.lineAt(e.from).to,to:e.to})),am.add(Mc),we.add({Document:()=>null}),bt.add({Document:om})]});function Mc(i){let e=/^(?:ATX|Setext)Heading(\d)$/.exec(i.name);return e?+e[1]:void 0}function P1(i){return i.name=="OrderedList"||i.name=="BulletList"}function v1(i,e){let t=i;for(;;){let n=t.nextSibling,r;if(!n||(r=Mc(n.type))!=null&&r<=e)break;t=n}return t.to}var $1=lO.of((i,e,t)=>{for(let n=U(i).resolveInner(t,-1);n&&!(n.fromt)return{from:t,to:s}}return null});function Wc(i){return new xe(om,i,[],"markdown")}var T1=Wc(lm),C1=lm.configure([Ud,Fd,Nd,Hd,{props:[Te.add({Table:(i,e)=>({from:e.doc.lineAt(i.from).to,to:i.to})})]}]),ki=Wc(C1);function X1(i,e){return t=>{if(t&&i){let n=null;if(t=/\S*/.exec(t)[0],typeof i=="function"?n=i(t):n=Ie.matchLanguageName(i,t,!0),n instanceof Ie)return n.support?n.support.language.parser:Wi.getSkippingParser(n.load());if(n)return n.parser}return e?e.parser:null}}var Tr=class{constructor(e,t,n,r,s,o,a){this.node=e,this.from=t,this.to=n,this.spaceBefore=r,this.spaceAfter=s,this.type=o,this.item=a}blank(e,t=!0){let n=this.spaceBefore+(this.node.name=="Blockquote"?">":"");if(e!=null){for(;n.length0;r--)n+=" ";return n+(t?this.spaceAfter:"")}}marker(e,t){let n=this.node.name=="OrderedList"?String(+hm(this.item,e)[2]+t):"";return this.spaceBefore+n+this.type+this.spaceAfter}};function cm(i,e){let t=[],n=[];for(let r=i;r;r=r.parent){if(r.name=="FencedCode")return n;(r.name=="ListItem"||r.name=="Blockquote")&&t.push(r)}for(let r=t.length-1;r>=0;r--){let s=t[r],o,a=e.lineAt(s.from),l=s.from-a.from;if(s.name=="Blockquote"&&(o=/^ *>( ?)/.exec(a.text.slice(l))))n.push(new Tr(s,l,l+o[0].length,"",o[1],">",null));else if(s.name=="ListItem"&&s.parent.name=="OrderedList"&&(o=/^( *)\d+([.)])( *)/.exec(a.text.slice(l)))){let c=o[3],h=o[0].length;c.length>=4&&(c=c.slice(0,c.length-4),h-=4),n.push(new Tr(s.parent,l,l+h,o[1],c,o[2],s))}else if(s.name=="ListItem"&&s.parent.name=="BulletList"&&(o=/^( *)([-+*])( {1,4}\[[ xX]\])?( +)/.exec(a.text.slice(l)))){let c=o[4],h=o[0].length;c.length>4&&(c=c.slice(0,c.length-4),h-=4);let f=o[2];o[3]&&(f+=o[3].replace(/[xX]/," ")),n.push(new Tr(s.parent,l,l+h,o[1],c,f,s))}}return n}function hm(i,e){return/^(\s*)(\d+)(?=[.)])/.exec(e.sliceString(i.from,i.from+10))}function zc(i,e,t,n=0){for(let r=-1,s=i;;){if(s.name=="ListItem"){let a=hm(s,e),l=+a[2];if(r>=0){if(l!=r+1)return;t.push({from:s.from+a[1].length,to:s.from+a[0].length,insert:String(r+2+n)})}r=l}let o=s.nextSibling;if(!o)break;s=o}}function jc(i,e){let t=/^[ \t]*/.exec(i)[0].length;if(!t||e.facet(Rt)!=" ")return i;let n=Ne(i,4,t),r="";for(let s=n;s>0;)s>=4?(r+=" ",s-=4):(r+=" ",s--);return r+i.slice(t)}var Vc=(i={})=>({state:e,dispatch:t})=>{let n=U(e),{doc:r}=e,s=null,o=e.changeByRange(a=>{if(!a.empty||!ki.isActiveAt(e,a.from,-1)&&!ki.isActiveAt(e,a.from,1))return s={range:a};let l=a.from,c=r.lineAt(l),h=cm(n.resolveInner(l,-1),r);for(;h.length&&h[h.length-1].from>l-c.from;)h.pop();if(!h.length)return s={range:a};let f=h[h.length-1];if(f.to-f.spaceAfter.length>l-c.from)return s={range:a};let u=l>=f.to-f.spaceAfter.length&&!/\S/.test(c.text.slice(f.to));if(f.item&&u){let g=f.node.firstChild,Q=f.node.getChild("ListItem","ListItem");if(g.to>=l||Q&&Q.to0&&!/[^\s>]/.test(r.lineAt(c.from-1).text)||i.nonTightLists===!1){let S=h.length>1?h[h.length-2]:null,x,v="";S&&S.item?(x=c.from+S.from,v=S.marker(r,1)):x=c.from+(S?S.to:0);let $=[{from:x,to:l,insert:v}];return f.node.name=="OrderedList"&&zc(f.item,r,$,-2),S&&S.node.name=="OrderedList"&&zc(S.item,r,$),{range:P.cursor(x+v.length),changes:$}}else{let S=sm(h,e,c);return{range:P.cursor(l+S.length+1),changes:{from:c.from,insert:S+e.lineBreak}}}}if(f.node.name=="Blockquote"&&u&&c.from){let g=r.lineAt(c.from-1),Q=/>\s*$/.exec(g.text);if(Q&&Q.index==f.from){let S=e.changes([{from:g.from+Q.index,to:g.to},{from:c.from+f.from,to:c.to}]);return{range:a.map(S),changes:S}}}let O=[];f.node.name=="OrderedList"&&zc(f.item,r,O);let p=f.item&&f.item.from]*/.exec(c.text)[0].length>=f.to)for(let g=0,Q=h.length-1;g<=Q;g++)m+=g==Q&&!p?h[g].marker(r,1):h[g].blank(gc.from&&/\s/.test(c.text.charAt(b-c.from-1));)b--;return m=jc(m,e),R1(f.node,e.doc)&&(m=sm(h,e,c)+e.lineBreak+m),O.push({from:b,to:l,insert:e.lineBreak+m}),{range:P.cursor(b+m.length+1),changes:O}});return s?!1:(t(e.update(o,{scrollIntoView:!0,userEvent:"input"})),!0)},_1=Vc();function rm(i){return i.name=="QuoteMark"||i.name=="ListMark"}function R1(i,e){if(i.name!="OrderedList"&&i.name!="BulletList")return!1;let t=i.firstChild,n=i.getChild("ListItem","ListItem");if(!n)return!1;let r=e.lineAt(t.to),s=e.lineAt(n.from),o=/^[\s>]*$/.test(r.text);return r.number+(o?0:1){let t=U(i),n=null,r=i.changeByRange(s=>{let o=s.from,{doc:a}=i;if(s.empty&&ki.isActiveAt(i,s.from)){let l=a.lineAt(o),c=cm(A1(t,o),a);if(c.length){let h=c[c.length-1],f=h.to-h.spaceAfter.length+(h.spaceAfter?1:0);if(o-l.from>f&&!/\S/.test(l.text.slice(f,o-l.from)))return{range:P.cursor(l.from+f),changes:{from:l.from+f,to:o}};if(o-l.from==f&&(!h.item||l.from<=h.item.from||!/\S/.test(l.text.slice(0,h.to)))){let u=l.from+h.from;if(h.item&&h.node.from{var t;let{main:n}=e.state.selection;if(n.empty)return!1;let r=(t=i.clipboardData)===null||t===void 0?void 0:t.getData("text/plain");if(!r||!/^(https?:\/\/|mailto:|xmpp:|www\.)/.test(r)||(/^www\./.test(r)&&(r="https://"+r),!ki.isActiveAt(e.state,n.from,1)))return!1;let s=U(e.state),o=!1;return s.iterate({from:n.from,to:n.to,enter:a=>{(a.from>n.from||z1.test(a.name))&&(o=!0)},leave:a=>{a.to{if(i.next==-1&&e.canShift(um))return i.acceptToken(um);let t=i.peek(-1);if((Ft(t)||t<0)&&e.context.type!=Xr){if(Xn(i,45))if(e.canShift(Cn))i.acceptToken(Cn);else return i.acceptToken(M1,3);if(Xn(i,46))if(e.canShift(Cn))i.acceptToken(Cn);else return i.acceptToken(W1,3);let n=0;for(;i.next==32;)n++,i.advance();(n{if(e.context.type==Xr){i.next==63&&(i.advance(),Gi(i.next)&&i.acceptToken(D1));return}if(i.next==45)i.advance(),Gi(i.next)&&i.acceptToken(e.context.type==Fc&&e.context.depth==Cr(i,i.pos-1)?j1:pm);else if(i.next==63)i.advance(),Gi(i.next)&&i.acceptToken(e.context.type==Bc&&e.context.depth==Cr(i,i.pos-1)?V1:mm);else{let t=i.pos;for(;;)if(Gc(i.next)){if(i.pos==t)return;i.advance()}else if(i.next==33)Sm(i);else if(i.next==38)Nc(i);else if(i.next==42){Nc(i);break}else if(i.next==39||i.next==34){if(Hc(i,!0))break;return}else if(i.next==91||i.next==123){if(!ax(i))return;break}else{ym(i,!0,!1,0);break}for(;Gc(i.next);)i.advance();if(i.next==58){if(i.pos==t&&e.canShift(K1))return;let n=i.peek(1);Gi(n)&&i.acceptTokenTo(e.context.type==Bc&&e.context.depth==Cr(i,t)?Y1:gm,t)}}},{contextual:!0});function ox(i){return i>32&&i<127&&i!=34&&i!=37&&i!=44&&i!=60&&i!=62&&i!=92&&i!=94&&i!=96&&i!=123&&i!=124&&i!=125}function Om(i){return i>=48&&i<=57||i>=97&&i<=102||i>=65&&i<=70}function dm(i,e){return i.next==37?(i.advance(),Om(i.next)&&i.advance(),Om(i.next)&&i.advance(),!0):ox(i.next)||e&&i.next==44?(i.advance(),!0):!1}function Sm(i){if(i.advance(),i.next==60){for(i.advance();;)if(!dm(i,!0)){i.next==62&&i.advance();break}}else for(;dm(i,!1););}function Nc(i){for(i.advance();!Gi(i.next)&&lo(i.next)!="f";)i.advance()}function Hc(i,e){let t=i.next,n=!1,r=i.pos;for(i.advance();;){let s=i.next;if(s<0)break;if(i.advance(),s==t)if(s==39)if(i.next==39)i.advance();else break;else break;else if(s==92&&t==34)i.next>=0&&i.advance();else if(Ft(s)){if(e)return!1;n=!0}else if(e&&i.pos>=r+1024)return!1}return!n}function ax(i){for(let e=[],t=i.pos+1024;;)if(i.next==91||i.next==123)e.push(i.next),i.advance();else if(i.next==39||i.next==34){if(!Hc(i,!0))return!1}else if(i.next==93||i.next==125){if(e[e.length-1]!=i.next-2)return!1;if(e.pop(),i.advance(),!e.length)return!0}else{if(i.next<0||i.pos>t||Ft(i.next))return!1;i.advance()}}var lx="iiisiiissisfissssssssssssisssiiissssssssssssssssssssssssssfsfssissssssssssssssssssssssssssfif";function lo(i){return i<33?"u":i>125?"s":lx[i-33]}function Ic(i,e){let t=lo(i);return t!="u"&&!(e&&t=="f")}function ym(i,e,t,n){if(lo(i.next)=="s"||(i.next==63||i.next==58||i.next==45)&&Ic(i.peek(1),t))i.advance();else return!1;let r=i.pos;for(;;){let s=i.next,o=0,a=n+1;for(;bm(s);){if(Ft(s)){if(e)return!1;a=0}else a++;s=i.peek(++o)}if(!(s>=0&&(s==58?Ic(i.peek(o+1),t):s==35?i.peek(o-1)!=32:Ic(s,t)))||!t&&a<=n||a==0&&!t&&(Xn(i,45,o)||Xn(i,46,o)))break;if(e&&lo(s)=="f")return!1;for(let c=o;c>=0;c--)i.advance();if(e&&i.pos>r+1024)return!1}return!0}var cx=new J((i,e)=>{if(i.next==33)Sm(i),i.acceptToken(N1);else if(i.next==38||i.next==42){let t=i.next==38?U1:G1;Nc(i),i.acceptToken(t)}else i.next==39||i.next==34?(Hc(i,!1),i.acceptToken(B1)):ym(i,!1,e.context.type==Xr,e.context.depth)&&i.acceptToken(I1)}),hx=new J((i,e)=>{let t=e.context.type==Uc?e.context.depth:-1,n=i.pos;e:for(;;){let r=0,s=i.next;for(;s==32;)s=i.peek(++r);if(!r&&(Xn(i,45,r)||Xn(i,46,r))||!Ft(s)&&(t<0&&(t=Math.max(e.context.depth+1,r)),rYAN>Y",stateData:";S~O!fOS!gOS^OS~OP_OQbORSOTUOWROXROYYOZZO[XOcPOqQO!PVO!V[O!cTO~O`cO~P]OVkOWROXROYeOZfO[dOcPOmhOqQO~OboO~P!bOVtOWROXROYeOZfO[dOcPOmrOqQO~OpwO~P#WORSOTUOWROXROYYOZZO[XOcPOqQO!PVO!cTO~OSvP!avP!bvP~P#|OWROXROYeOZfO[dOcPOqQO~OmzO~P%OOm!OOUzP!azP!bzP!dzP~P#|O^!SO!b!QO!f!TO!g!RO~ORSOTUOWROXROcPOqQO!PVO!cTO~OY!UOP!QXQ!QX!V!QX!`!QXS!QX!a!QX!b!QXU!QXm!QX!d!QX~P&aO[!WOP!SXQ!SX!V!SX!`!SXS!SX!a!SX!b!SXU!SXm!SX!d!SX~P&aO^!ZO!W![O!b!YO!f!]O!g!YO~OP!_O!V[OQaX!`aX~OPaXQaX!VaX!`aX~P#|OP!bOQ!cO!V[O~OP_O!V[O~P#|OWROXROY!fOcPOqQObfXmfXofXpfX~OWROXRO[!hOcPOqQObhXmhXohXphX~ObeXmlXoeX~ObkXokX~P%OOm!kO~Om!lObnPonP~P%OOb!pOo!oO~Ob!pO~P!bOm!sOosXpsX~OosXpsX~P%OOm!uOotPptP~P%OOo!xOp!yO~Op!yO~P#WOS!|O!a#OO!b#OO~OUyX!ayX!byX!dyX~P#|Om#QO~OU#SO!a#UO!b#UO!d#RO~Om#WOUzX!azX!bzX!dzX~O]#XO~O!b#XO!g#YO~O^#ZO!b#XO!g#YO~OP!RXQ!RX!V!RX!`!RXS!RX!a!RX!b!RXU!RXm!RX!d!RX~P&aOP!TXQ!TX!V!TX!`!TXS!TX!a!TX!b!TXU!TXm!TX!d!TX~P&aO!b#^O!g#^O~O^#_O!b#^O!f#`O!g#^O~O^#_O!W#aO!b#^O!g#^O~OPaaQaa!Vaa!`aa~P#|OP#cO!V[OQ!XX!`!XX~OP!XXQ!XX!V!XX!`!XX~P#|OP_O!V[OQ!_X!`!_X~P#|OWROXROcPOqQObgXmgXogXpgX~OWROXROcPOqQObiXmiXoiXpiX~Obkaoka~P%OObnXonX~P%OOm#kO~Ob#lOo!oO~Oosapsa~P%OOotXptX~P%OOm#pO~Oo!xOp#qO~OSwP!awP!bwP~P#|OS!|O!a#vO!b#vO~OUya!aya!bya!dya~P#|Om#xO~P%OOm#{OU}P!a}P!b}P!d}P~P#|OU#SO!a$OO!b$OO!d#RO~O]$QO~O!b$QO!g$RO~O!b$SO!g$SO~O^$TO!b$SO!g$SO~O^$TO!b$SO!f$UO!g$SO~OP!XaQ!Xa!V!Xa!`!Xa~P#|Obnaona~P%OOotapta~P%OOo!xO~OU|X!a|X!b|X!d|X~P#|Om$ZO~Om$]OU}X!a}X!b}X!d}X~O]$^O~O!b$_O!g$_O~O^$`O!b$_O!g$_O~OU|a!a|a!b|a!d|a~P#|O!b$cO!g$cO~O",goto:",]!mPPPPPPPPPPPPPPPPP!nPP!v#v#|$`#|$c$f$j$nP%VPPP!v%Y%^%a%{&O%a&R&U&X&_&b%aP&e&{&e'O'RPP']'a'g'm's'y(XPPPPPPPP(_)e*X+c,VUaObcR#e!c!{ROPQSTUXY_bcdehknrtvz!O!U!W!_!b!c!f!h!k!l!s!u!|#Q#R#S#W#c#k#p#x#{$Z$]QmPR!qnqfPQThknrtv!k!l!s!u#R#k#pR!gdR!ieTlPnTjPnSiPnSqQvQ{TQ!mkQ!trQ!vtR#y#RR!nkTsQvR!wt!RWOSUXY_bcz!O!U!W!_!b!c!|#Q#S#W#c#x#{$Z$]RySR#t!|R|TR|UQ!PUR#|#SR#z#RR#z#SyZOSU_bcz!O!_!b!c!|#Q#S#W#c#x#{$Z$]R!VXR!XYa]O^abc!a!c!eT!da!eQnPR!rnQvQR!{vQ!}yR#u!}Q#T|R#}#TW^Obc!cS!^^!aT!aa!eQ!eaR#f!eW`Obc!cQxSS}U#SQ!`_Q#PzQ#V!OQ#b!_Q#d!bQ#s!|Q#w#QQ$P#WQ$V#cQ$Y#xQ$[#{Q$a$ZR$b$]xZOSU_bcz!O!_!b!c!|#Q#S#W#c#x#{$Z$]Q!VXQ!XYQ#[!UR#]!W!QWOSUXY_bcz!O!U!W!_!b!c!|#Q#S#W#c#x#{$Z$]pfPQThknrtv!k!l!s!u#R#k#pQ!gdQ!ieQ#g!fR#h!hSgPn^pQTkrtv#RQ!jhQ#i!kQ#j!lQ#n!sQ#o!uQ$W#kR$X#pQuQR!zv",nodeNames:"\u26A0 DirectiveEnd DocEnd - - ? ? ? Literal QuotedLiteral Anchor Alias Tag BlockLiteralContent Comment Stream BOM Document ] [ FlowSequence Item Tagged Anchored Anchored Tagged FlowMapping Pair Key : Pair , } { FlowMapping Pair Pair BlockSequence Item Item BlockMapping Pair Pair Key Pair Pair BlockLiteral BlockLiteralHeader Tagged Anchored Anchored Tagged Directive DirectiveName DirectiveContent Document",maxTerm:74,context:nx,nodeProps:[["isolate",-3,8,9,14,""],["openedBy",18,"[",32,"{"],["closedBy",19,"]",33,"}"]],propSources:[fx],skippedNodes:[0],repeatNodeCount:6,tokenData:"-Y~RnOX#PXY$QYZ$]Z]#P]^$]^p#Ppq$Qqs#Pst$btu#Puv$yv|#P|}&e}![#P![!]'O!]!`#P!`!a'i!a!}#P!}#O*g#O#P#P#P#Q+Q#Q#o#P#o#p+k#p#q'i#q#r,U#r;'S#P;'S;=`#z<%l?HT#P?HT?HU,o?HUO#PQ#UU!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PQ#kTOY#PZs#Pt;'S#P;'S;=`#z<%lO#PQ#}P;=`<%l#P~$VQ!f~XY$Qpq$Q~$bO!g~~$gS^~OY$bZ;'S$b;'S;=`$s<%lO$b~$vP;=`<%l$bR%OX!WQOX%kXY#PZ]%k]^#P^p%kpq#hq;'S%k;'S;=`&_<%lO%kR%rX!WQ!VPOX%kXY#PZ]%k]^#P^p%kpq#hq;'S%k;'S;=`&_<%lO%kR&bP;=`<%l%kR&lUoP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR'VUmP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR'p[!PP!WQOY#PZp#Ppq#hq{#P{|(f|}#P}!O(f!O!R#P!R![)p![;'S#P;'S;=`#z<%lO#PR(mW!PP!WQOY#PZp#Ppq#hq!R#P!R![)V![;'S#P;'S;=`#z<%lO#PR)^U!PP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR)wY!PP!WQOY#PZp#Ppq#hq{#P{|)V|}#P}!O)V!O;'S#P;'S;=`#z<%lO#PR*nUcP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR+XUbP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR+rUqP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR,]UpP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR,vU`P!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#P",tokenizers:[rx,sx,cx,hx,0,1],topRules:{Stream:[0,15]},tokenPrec:0});var ux=Pe.deserialize({version:14,states:"!vOQOPOOO]OPO'#C_OhOPO'#C^OOOO'#Cc'#CcOpOPO'#CaQOOOOOO{OPOOOOOO'#Cb'#CbO!WOPO'#C`O!`OPO,58xOOOO-E6a-E6aOOOO-E6`-E6`OOOO'#C_'#C_OOOO1G.d1G.d",stateData:"!h~OXPOYROWTP~OWVXXRXYRX~OYVOXSP~OXROYROWTX~OXROYROWTP~OYVOXSX~OX[O~OXY~",goto:"vWPPX[beioRUOQQOR]XRXQTTOUQWQRZWSSOURYS",nodeNames:"\u26A0 Document Frontmatter DashLine FrontmatterContent Body",maxTerm:10,skippedNodes:[0],repeatNodeCount:2,tokenData:"$z~RXOYnYZ!^Z]n]^!^^}n}!O!i!O;'Sn;'S;=`!c<%lOn~qXOYnYZ!^Z]n]^!^^;'Sn;'S;=`!c<%l~n~On~~!^~!cOY~~!fP;=`<%ln~!lZOYnYZ!^Z]n]^!^^}n}!O#_!O;'Sn;'S;=`!c<%l~n~On~~!^~#bZOYnYZ!^Z]n]^!^^}n}!O$T!O;'Sn;'S;=`!c<%l~n~On~~!^~$WXOYnYZ$sZ]n]^$s^;'Sn;'S;=`!c<%l~n~On~~$s~$zOX~Y~",tokenizers:[0],topRules:{Document:[0,1]},tokenPrec:67}),Ox=$e.define({name:"yaml",parser:km.configure({props:[we.add({Stream:i=>{for(let e=i.node.resolve(i.pos,-1);e&&e.to>=i.pos;e=e.parent){if(e.name=="BlockLiteralContent"&&e.fromi.pos)return null}}return null},FlowMapping:St({closing:"}"}),FlowSequence:St({closing:"]"})}),Te.add({"FlowMapping FlowSequence":ht,"Item Pair BlockLiteral":(i,e)=>({from:e.doc.lineAt(i.from).to,to:i.to})})]}),languageData:{commentTokens:{line:"#"},indentOnInput:/^\s*[\]\}]$/}});var dx=$e.define({name:"yaml-frontmatter",parser:ux.configure({props:[Qe({DashLine:d.meta})]})});function xm(i){let{language:e,support:t}=i.content instanceof me?i.content:{language:i.content,support:[]};return new me(dx.configure({wrap:bn(n=>n.name=="FrontmatterContent"?{parser:Ox.parser}:n.name=="Body"?{parser:e.parser}:null)}),t)}var px=1,Cm=194,Xm=195,mx=196,wm=197,gx=198,Qx=199,bx=200,Sx=2,_m=3,Pm=201,yx=24,kx=25,xx=49,wx=50,Px=55,vx=56,$x=57,Tx=59,Cx=60,Xx=61,_x=62,Rx=63,Ax=65,Zx=238,Ex=71,qx=241,zx=242,Lx=243,Mx=244,Wx=245,jx=246,Vx=247,Dx=248,Rm=72,Yx=249,Ix=250,Bx=251,Ux=252,Gx=253,Nx=254,Fx=255,Hx=256,Kx=73,Jx=77,ew=263,tw=112,iw=130,nw=151,rw=152,sw=155,Ni=10,_r=13,th=32,fo=9,ih=35,ow=40,aw=46,eh=123,vm=125,Am=39,Zm=34,$m=92,lw=111,cw=120,hw=78,fw=117,uw=85,Ow=new Set([kx,xx,wx,ew,Ax,iw,vx,$x,Zx,_x,Rx,Rm,Kx,Jx,Cx,Xx,nw,rw,sw,tw]);function Kc(i){return i==Ni||i==_r}function Jc(i){return i>=48&&i<=57||i>=65&&i<=70||i>=97&&i<=102}var dw=new J((i,e)=>{let t;if(i.next<0)i.acceptToken(Qx);else if(e.context.flags&co)Kc(i.next)&&i.acceptToken(gx,1);else if(((t=i.peek(-1))<0||Kc(t))&&e.canShift(wm)){let n=0;for(;i.next==th||i.next==fo;)i.advance(),n++;(i.next==Ni||i.next==_r||i.next==ih)&&i.acceptToken(wm,-n)}else Kc(i.next)&&i.acceptToken(mx,1)},{contextual:!0}),pw=new J((i,e)=>{let t=e.context;if(t.flags)return;let n=i.peek(-1);if(n==Ni||n==_r){let r=0,s=0;for(;;){if(i.next==th)r++;else if(i.next==fo)r+=8-r%8;else break;i.advance(),s++}r!=t.indent&&i.next!=Ni&&i.next!=_r&&i.next!=ih&&(r[i,e|Em])),Qw=new dt({start:mw,reduce(i,e,t,n){return i.flags&co&&Ow.has(e)||(e==Ex||e==Rm)&&i.flags&Em?i.parent:i},shift(i,e,t,n){return e==Cm?new ho(i,gw(n.read(n.pos,t.pos)),0):e==Xm?i.parent:e==yx||e==Px||e==Tx||e==_m?new ho(i,0,co):Tm.has(e)?new ho(i,0,Tm.get(e)|i.flags&co):i},hash(i){return i.hash}}),bw=new J(i=>{for(let e=0;e<5;e++){if(i.next!="print".charCodeAt(e))return;i.advance()}if(!/\w/.test(String.fromCharCode(i.next)))for(let e=0;;e++){let t=i.peek(e);if(!(t==th||t==fo)){t!=ow&&t!=aw&&t!=Ni&&t!=_r&&t!=ih&&i.acceptToken(px);return}}}),Sw=new J((i,e)=>{let{flags:t}=e.context,n=t&Ht?Zm:Am,r=(t&Kt)>0,s=!(t&Jt),o=(t&ei)>0,a=i.pos;for(;!(i.next<0);)if(o&&i.next==eh)if(i.peek(1)==eh)i.advance(2);else{if(i.pos==a){i.acceptToken(_m,1);return}break}else if(s&&i.next==$m){if(i.pos==a){i.advance();let l=i.next;l>=0&&(i.advance(),yw(i,l)),i.acceptToken(Sx);return}break}else if(i.next==$m&&!s&&i.peek(1)>-1)i.advance(2);else if(i.next==n&&(!r||i.peek(1)==n&&i.peek(2)==n)){if(i.pos==a){i.acceptToken(Pm,r?3:1);return}break}else if(i.next==Ni){if(r)i.advance();else if(i.pos==a){i.acceptToken(Pm);return}break}else i.advance();i.pos>a&&i.acceptToken(bx)});function yw(i,e){if(e==lw)for(let t=0;t<2&&i.next>=48&&i.next<=55;t++)i.advance();else if(e==cw)for(let t=0;t<2&&Jc(i.next);t++)i.advance();else if(e==fw)for(let t=0;t<4&&Jc(i.next);t++)i.advance();else if(e==uw)for(let t=0;t<8&&Jc(i.next);t++)i.advance();else if(e==hw&&i.next==eh){for(i.advance();i.next>=0&&i.next!=vm&&i.next!=Am&&i.next!=Zm&&i.next!=Ni;)i.advance();i.next==vm&&i.advance()}}var kw=Qe({'async "*" "**" FormatConversion FormatSpec':d.modifier,"for while if elif else try except finally return raise break continue with pass assert await yield match case":d.controlKeyword,"in not and or is del":d.operatorKeyword,"from def class global nonlocal lambda":d.definitionKeyword,import:d.moduleKeyword,"with as print":d.keyword,Boolean:d.bool,None:d.null,VariableName:d.variableName,"CallExpression/VariableName":d.function(d.variableName),"FunctionDefinition/VariableName":d.function(d.definition(d.variableName)),"ClassDefinition/VariableName":d.definition(d.className),PropertyName:d.propertyName,"CallExpression/MemberExpression/PropertyName":d.function(d.propertyName),Comment:d.lineComment,Number:d.number,String:d.string,FormatString:d.special(d.string),Escape:d.escape,UpdateOp:d.updateOperator,"ArithOp!":d.arithmeticOperator,BitOp:d.bitwiseOperator,CompareOp:d.compareOperator,AssignOp:d.definitionOperator,Ellipsis:d.punctuation,At:d.meta,"( )":d.paren,"[ ]":d.squareBracket,"{ }":d.brace,".":d.derefOperator,", ;":d.separator}),xw={__proto__:null,await:44,or:54,and:56,in:60,not:62,is:64,if:70,else:72,lambda:76,yield:94,from:96,async:102,for:104,None:162,True:164,False:164,del:178,pass:182,break:186,continue:190,return:194,raise:202,import:206,as:208,global:212,nonlocal:214,assert:218,type:223,elif:236,while:240,try:246,except:248,finally:250,with:254,def:258,class:268,match:279,case:285},qm=Pe.deserialize({version:14,states:"##jQ`QeOOP$}OSOOO&WQtO'#HUOOQS'#Co'#CoOOQS'#Cp'#CpO'vQdO'#CnO*UQtO'#HTOOQS'#HU'#HUOOQS'#DU'#DUOOQS'#HT'#HTO*rQdO'#D_O+VQdO'#DfO+gQdO'#DjO+zOWO'#DuO,VOWO'#DvO.[QtO'#GuOOQS'#Gu'#GuO'vQdO'#GtO0ZQtO'#GtOOQS'#Eb'#EbO0rQdO'#EcOOQS'#Gs'#GsO0|QdO'#GrOOQV'#Gr'#GrO1XQdO'#FYOOQS'#G^'#G^O1^QdO'#FXOOQV'#IS'#ISOOQV'#Gq'#GqOOQV'#Fq'#FqQ`QeOOO'vQdO'#CqO1lQdO'#C}O1sQdO'#DRO2RQdO'#HYO2cQtO'#EVO'vQdO'#EWOOQS'#EY'#EYOOQS'#E['#E[OOQS'#E^'#E^O2wQdO'#E`O3_QdO'#EdO3rQdO'#EfO3zQtO'#EfO1XQdO'#EiO0rQdO'#ElO1XQdO'#EnO0rQdO'#EtO0rQdO'#EwO4VQdO'#EyO4^QdO'#FOO4iQdO'#EzO0rQdO'#FOO1XQdO'#FQO1XQdO'#FVO4nQdO'#F[P4uOdO'#GpPOOO)CBd)CBdOOQS'#Ce'#CeOOQS'#Cf'#CfOOQS'#Cg'#CgOOQS'#Ch'#ChOOQS'#Ci'#CiOOQS'#Cj'#CjOOQS'#Cl'#ClO'vQdO,59OO'vQdO,59OO'vQdO,59OO'vQdO,59OO'vQdO,59OO'vQdO,59OO5TQdO'#DoOOQS,5:Y,5:YO5hQdO'#HdOOQS,5:],5:]O5uQ!fO,5:]O5zQtO,59YO1lQdO,59bO1lQdO,59bO1lQdO,59bO8jQdO,59bO8oQdO,59bO8vQdO,59jO8}QdO'#HTO:TQdO'#HSOOQS'#HS'#HSOOQS'#D['#D[O:lQdO,59aO'vQdO,59aO:zQdO,59aOOQS,59y,59yO;PQdO,5:RO'vQdO,5:ROOQS,5:Q,5:QO;_QdO,5:QO;dQdO,5:XO'vQdO,5:XO'vQdO,5:VOOQS,5:U,5:UO;uQdO,5:UO;zQdO,5:WOOOW'#Fy'#FyOOOOQS'#Ds'#DsOOQS1G/w1G/wOOQS1G.|1G.|O!/[QtO1G.|O!/cQtO1G.|O1lQdO1G.|O!0OQdO1G/UOOQS'#DZ'#DZO0rQdO,59tOOQS1G.{1G.{O!0VQdO1G/eO!0gQdO1G/eO!0oQdO1G/fO'vQdO'#H[O!0tQdO'#H[O!0yQtO1G.{O!1ZQdO,59iO!2aQdO,5=zO!2qQdO,5=zO!2yQdO1G/mO!3OQtO1G/mOOQS1G/l1G/lO!3`QdO,5=uO!4VQdO,5=uO0rQdO1G/qO!4tQdO1G/sO!4yQtO1G/sO!5ZQtO1G/qOOQS1G/p1G/pOOQS1G/r1G/rOOOW-E9w-E9wOOQS1G/{1G/{O!5kQdO'#HxO0rQdO'#HxO!5|QdO,5>cOOOW-E9x-E9xOOQS1G/|1G/|OOQS-E9{-E9{O!6[Q#xO1G2zO!6{QtO1G2zO'vQdO,5kOOQS1G1`1G1`O!8RQdO1G1`OOQS'#DV'#DVO0rQdO,5=qOOQS,5=q,5=qO!8WQdO'#FrO!8cQdO,59oO!8kQdO1G/XO!8uQtO,5=uOOQS1G3`1G3`OOQS,5:m,5:mO!9fQdO'#GtOOQS,5jO!;ZQdO,5>jO1XQdO,5>jO!;lQdO,5>iOOQS-E:R-E:RO!;qQdO1G0lO!;|QdO1G0lO!lO!lO!hO!=VQdO,5>hO!=hQdO'#EpO0rQdO1G0tO!=sQdO1G0tO!=xQgO1G0zO!AvQgO1G0}O!EqQdO,5>oO!E{QdO,5>oO!FTQtO,5>oO0rQdO1G1PO!F_QdO1G1PO4iQdO1G1UO!!vQdO1G1WOOQV,5;a,5;aO!FdQfO,5;aO!FiQgO1G1QO!JjQdO'#GZO4iQdO1G1QO4iQdO1G1QO!JzQdO,5>pO!KXQdO,5>pO1XQdO,5>pOOQV1G1U1G1UO!KaQdO'#FSO!KrQ!fO1G1WO!KzQdO1G1WOOQV1G1]1G1]O4iQdO1G1]O!LPQdO1G1]O!LXQdO'#F^OOQV1G1b1G1bO!#ZQtO1G1bPOOO1G2v1G2vP!L^OSO1G2vOOQS,5=},5=}OOQS'#Dp'#DpO0rQdO,5=}O!LfQdO,5=|O!LyQdO,5=|OOQS1G/u1G/uO!MRQdO,5>PO!McQdO,5>PO!MkQdO,5>PO!NOQdO,5>PO!N`QdO,5>POOQS1G3j1G3jOOQS7+$h7+$hO!8kQdO7+$pO#!RQdO1G.|O#!YQdO1G.|OOQS1G/`1G/`OOQS,5<`,5<`O'vQdO,5<`OOQS7+%P7+%PO#!aQdO7+%POOQS-E9r-E9rOOQS7+%Q7+%QO#!qQdO,5=vO'vQdO,5=vOOQS7+$g7+$gO#!vQdO7+%PO##OQdO7+%QO##TQdO1G3fOOQS7+%X7+%XO##eQdO1G3fO##mQdO7+%XOOQS,5<_,5<_O'vQdO,5<_O##rQdO1G3aOOQS-E9q-E9qO#$iQdO7+%]OOQS7+%_7+%_O#$wQdO1G3aO#%fQdO7+%_O#%kQdO1G3gO#%{QdO1G3gO#&TQdO7+%]O#&YQdO,5>dO#&sQdO,5>dO#&sQdO,5>dOOQS'#Dx'#DxO#'UO&jO'#DzO#'aO`O'#HyOOOW1G3}1G3}O#'fQdO1G3}O#'nQdO1G3}O#'yQ#xO7+(fO#(jQtO1G2UP#)TQdO'#GOOOQS,5nQdO,5sQdO1G4OOOQS-E9y-E9yO#?^QdO1G4OO<[QdO'#H{OOOO'#D{'#D{OOOO'#F|'#F|O#?oO&jO,5:fOOOW,5>e,5>eOOOW7+)i7+)iO#?zQdO7+)iO#@SQdO1G2zO#@mQdO1G2zP'vQdO'#FuO0rQdO<mO#BQQdO,5>mOOQS1G0v1G0vOOQS<rO#KgQdO,5>rO#KrQdO,5>rO#K}QdO,5>qO#L`QdO,5>qOOQS1G1Y1G1YOOQS,5;p,5;pOOQV<VAN>VO$ oQdO<cAN>cO0rQdO1G1|O$!PQtO1G1|P$!ZQdO'#FvOOQS1G2R1G2RP$!hQdO'#F{O$!uQdO7+)jO$#`QdO,5>gOOOO-E9z-E9zOOOW<tO$4{QdO,5>tO1XQdO,5vO$)nQdO,5>vOOQS1G1p1G1pOOQS,5<[,5<[OOQU7+'P7+'PO$+zQdO1G/iO$)nQdO,5wO$8zQdO,5>wOOQS1G1s1G1sOOQS7+'S7+'SP$)nQdO'#GdO$9SQdO1G4bO$9^QdO1G4bO$9fQdO1G4bOOQS7+%T7+%TO$9tQdO1G1tO$:SQtO'#FaO$:ZQdO,5<}OOQS,5<},5<}O$:iQdO1G4cOOQS-E:a-E:aO$)nQdO,5<|O$:pQdO,5<|O$:uQdO7+)|OOQS-E:`-E:`O$;PQdO7+)|O$)nQdO,5S~O%cOS%^OSSOS%]PQ~OPdOVaOfoOhYOopOs!POvqO!PrO!Q{O!T!SO!U!RO!XZO!][O!h`O!r`O!s`O!t`O!{tO!}uO#PvO#RwO#TxO#XyO#ZzO#^|O#_|O#a}O#c!OO#l!QO#o!TO#s!UO#u!VO#z!WO#}hO$P!XO%oRO%pRO%tSO%uWO&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O&c^O&d^O&e^O&f^O&g^O&h^O&i^O&j^O~O%]!YO~OV!aO_!aOa!bOh!iO!X!kO!f!mO%j![O%k!]O%l!^O%m!_O%n!_O%o!`O%p!`O%q!aO%r!aO%s!aO~Ok%xXl%xXm%xXn%xXo%xXp%xXs%xXz%xX{%xX!x%xX#g%xX%[%xX%_%xX%z%xXg%xX!T%xX!U%xX%{%xX!W%xX![%xX!Q%xX#[%xXt%xX!m%xX~P%SOfoOhYO!XZO!][O!h`O!r`O!s`O!t`O%oRO%pRO%tSO%uWO&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O&c^O&d^O&e^O&f^O&g^O&h^O&i^O&j^O~Oz%wX{%wX#g%wX%[%wX%_%wX%z%wX~Ok!pOl!qOm!oOn!oOo!rOp!sOs!tO!x%wX~P)pOV!zOg!|Oo0cOv0qO!PrO~P'vOV#OOo0cOv0qO!W#PO~P'vOV#SOa#TOo0cOv0qO![#UO~P'vOQ#XO%`#XO%a#ZO~OQ#^OR#[O%`#^O%a#`O~OV%iX_%iXa%iXh%iXk%iXl%iXm%iXn%iXo%iXp%iXs%iXz%iX!X%iX!f%iX%j%iX%k%iX%l%iX%m%iX%n%iX%o%iX%p%iX%q%iX%r%iX%s%iXg%iX!T%iX!U%iX~O&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O&c^O&d^O&e^O&f^O&g^O&h^O&i^O&j^O{%iX!x%iX#g%iX%[%iX%_%iX%z%iX%{%iX!W%iX![%iX!Q%iX#[%iXt%iX!m%iX~P,eOz#dO{%hX!x%hX#g%hX%[%hX%_%hX%z%hX~Oo0cOv0qO~P'vO#g#gO%[#iO%_#iO~O%uWO~O!T#nO#u!VO#z!WO#}hO~OopO~P'vOV#sOa#tO%uWO{wP~OV#xOo0cOv0qO!Q#yO~P'vO{#{O!x$QO%z#|O#g!yX%[!yX%_!yX~OV#xOo0cOv0qO#g#SX%[#SX%_#SX~P'vOo0cOv0qO#g#WX%[#WX%_#WX~P'vOh$WO%uWO~O!f$YO!r$YO%uWO~OV$eO~P'vO!U$gO#s$hO#u$iO~O{$jO~OV$qO~P'vOS$sO%[$rO%_$rO%c$tO~OV$}Oa$}Og%POo0cOv0qO~P'vOo0cOv0qO{%SO~P'vO&Y%UO~Oa!bOh!iO!X!kO!f!mOVba_bakbalbambanbaobapbasbazba{ba!xba#gba%[ba%_ba%jba%kba%lba%mba%nba%oba%pba%qba%rba%sba%zbagba!Tba!Uba%{ba!Wba![ba!Qba#[batba!mba~On%ZO~Oo%ZO~P'vOo0cO~P'vOk0eOl0fOm0dOn0dOo0mOp0nOs0rOg%wX!T%wX!U%wX%{%wX!W%wX![%wX!Q%wX#[%wX!m%wX~P)pO%{%]Og%vXz%vX!T%vX!U%vX!W%vX{%vX~Og%_Oz%`O!T%dO!U%cO~Og%_O~Oz%gO!T%dO!U%cO!W&SX~O!W%kO~Oz%lO{%nO!T%dO!U%cO![%}X~O![%rO~O![%sO~OQ#XO%`#XO%a%uO~OV%wOo0cOv0qO!PrO~P'vOQ#^OR#[O%`#^O%a%zO~OV!qa_!qaa!qah!qak!qal!qam!qan!qao!qap!qas!qaz!qa{!qa!X!qa!f!qa!x!qa#g!qa%[!qa%_!qa%j!qa%k!qa%l!qa%m!qa%n!qa%o!qa%p!qa%q!qa%r!qa%s!qa%z!qag!qa!T!qa!U!qa%{!qa!W!qa![!qa!Q!qa#[!qat!qa!m!qa~P#yOz%|O{%ha!x%ha#g%ha%[%ha%_%ha%z%ha~P%SOV&OOopOvqO{%ha!x%ha#g%ha%[%ha%_%ha%z%ha~P'vOz%|O{%ha!x%ha#g%ha%[%ha%_%ha%z%ha~OPdOVaOopOvqO!PrO!Q{O!{tO!}uO#PvO#RwO#TxO#XyO#ZzO#^|O#_|O#a}O#c!OO#g$zX%[$zX%_$zX~P'vO#g#gO%[&TO%_&TO~O!f&UOh&sX%[&sXz&sX#[&sX#g&sX%_&sX#Z&sXg&sX~Oh!iO%[&WO~Okealeameaneaoeapeaseazea{ea!xea#gea%[ea%_ea%zeagea!Tea!Uea%{ea!Wea![ea!Qea#[eatea!mea~P%SOsqazqa{qa#gqa%[qa%_qa%zqa~Ok!pOl!qOm!oOn!oOo!rOp!sO!xqa~PEcO%z&YOz%yX{%yX~O%uWOz%yX{%yX~Oz&]O{wX~O{&_O~Oz%lO#g%}X%[%}X%_%}Xg%}X{%}X![%}X!m%}X%z%}X~OV0lOo0cOv0qO!PrO~P'vO%z#|O#gUa%[Ua%_Ua~Oz&hO#g&PX%[&PX%_&PXn&PX~P%SOz&kO!Q&jO#g#Wa%[#Wa%_#Wa~Oz&lO#[&nO#g&rX%[&rX%_&rXg&rX~O!f$YO!r$YO#Z&qO%uWO~O#Z&qO~Oz&sO#g&tX%[&tX%_&tX~Oz&uO#g&pX%[&pX%_&pX{&pX~O!X&wO%z&xO~Oz&|On&wX~P%SOn'PO~OPdOVaOopOvqO!PrO!Q{O!{tO!}uO#PvO#RwO#TxO#XyO#ZzO#^|O#_|O#a}O#c!OO%['UO~P'vOt'YO#p'WO#q'XOP#naV#naf#nah#nao#nas#nav#na!P#na!Q#na!T#na!U#na!X#na!]#na!h#na!r#na!s#na!t#na!{#na!}#na#P#na#R#na#T#na#X#na#Z#na#^#na#_#na#a#na#c#na#l#na#o#na#s#na#u#na#z#na#}#na$P#na%X#na%o#na%p#na%t#na%u#na&Z#na&[#na&]#na&^#na&_#na&`#na&a#na&b#na&c#na&d#na&e#na&f#na&g#na&h#na&i#na&j#na%Z#na%_#na~Oz'ZO#[']O{&xX~Oh'_O!X&wO~Oh!iO{$jO!X&wO~O{'eO~P%SO%['hO%_'hO~OS'iO%['hO%_'hO~OV!aO_!aOa!bOh!iO!X!kO!f!mO%l!^O%m!_O%n!_O%o!`O%p!`O%q!aO%r!aO%s!aOkWilWimWinWioWipWisWizWi{Wi!xWi#gWi%[Wi%_Wi%jWi%zWigWi!TWi!UWi%{Wi!WWi![Wi!QWi#[WitWi!mWi~O%k!]O~P!#uO%kWi~P!#uOV!aO_!aOa!bOh!iO!X!kO!f!mO%o!`O%p!`O%q!aO%r!aO%s!aOkWilWimWinWioWipWisWizWi{Wi!xWi#gWi%[Wi%_Wi%jWi%kWi%lWi%zWigWi!TWi!UWi%{Wi!WWi![Wi!QWi#[WitWi!mWi~O%m!_O%n!_O~P!&pO%mWi%nWi~P!&pOa!bOh!iO!X!kO!f!mOkWilWimWinWioWipWisWizWi{Wi!xWi#gWi%[Wi%_Wi%jWi%kWi%lWi%mWi%nWi%oWi%pWi%zWigWi!TWi!UWi%{Wi!WWi![Wi!QWi#[WitWi!mWi~OV!aO_!aO%q!aO%r!aO%s!aO~P!)nOVWi_Wi%qWi%rWi%sWi~P!)nO!T%dO!U%cOg&VXz&VX~O%z'kO%{'kO~P,eOz'mOg&UX~Og'oO~Oz'pO{'rO!W&XX~Oo0cOv0qOz'pO{'sO!W&XX~P'vO!W'uO~Om!oOn!oOo!rOp!sOkjisjizji{ji!xji#gji%[ji%_ji%zji~Ol!qO~P!.aOlji~P!.aOk0eOl0fOm0dOn0dOo0mOp0nO~Ot'wO~P!/jOV'|Og'}Oo0cOv0qO~P'vOg'}Oz(OO~Og(QO~O!U(SO~Og(TOz(OO!T%dO!U%cO~P%SOk0eOl0fOm0dOn0dOo0mOp0nOgqa!Tqa!Uqa%{qa!Wqa![qa!Qqa#[qatqa!mqa~PEcOV'|Oo0cOv0qO!W&Sa~P'vOz(WO!W&Sa~O!W(XO~Oz(WO!T%dO!U%cO!W&Sa~P%SOV(]Oo0cOv0qO![%}a#g%}a%[%}a%_%}ag%}a{%}a!m%}a%z%}a~P'vOz(^O![%}a#g%}a%[%}a%_%}ag%}a{%}a!m%}a%z%}a~O![(aO~Oz(^O!T%dO!U%cO![%}a~P%SOz(dO!T%dO!U%cO![&Ta~P%SOz(gO{&lX![&lX!m&lX%z&lX~O{(kO![(mO!m(nO%z(jO~OV&OOopOvqO{%hi!x%hi#g%hi%[%hi%_%hi%z%hi~P'vOz(pO{%hi!x%hi#g%hi%[%hi%_%hi%z%hi~O!f&UOh&sa%[&saz&sa#[&sa#g&sa%_&sa#Z&sag&sa~O%[(uO~OV#sOa#tO%uWO~Oz&]O{wa~OopOvqO~P'vOz(^O#g%}a%[%}a%_%}ag%}a{%}a![%}a!m%}a%z%}a~P%SOz(zO#g%hX%[%hX%_%hX%z%hX~O%z#|O#gUi%[Ui%_Ui~O#g&Pa%[&Pa%_&Pan&Pa~P'vOz(}O#g&Pa%[&Pa%_&Pan&Pa~O%uWO#g&ra%[&ra%_&rag&ra~Oz)SO#g&ra%[&ra%_&rag&ra~Og)VO~OV)WOh$WO%uWO~O#Z)XO~O%uWO#g&ta%[&ta%_&ta~Oz)ZO#g&ta%[&ta%_&ta~Oo0cOv0qO#g&pa%[&pa%_&pa{&pa~P'vOz)^O#g&pa%[&pa%_&pa{&pa~OV)`Oa)`O%uWO~O%z)eO~Ot)hO#j)gOP#hiV#hif#hih#hio#his#hiv#hi!P#hi!Q#hi!T#hi!U#hi!X#hi!]#hi!h#hi!r#hi!s#hi!t#hi!{#hi!}#hi#P#hi#R#hi#T#hi#X#hi#Z#hi#^#hi#_#hi#a#hi#c#hi#l#hi#o#hi#s#hi#u#hi#z#hi#}#hi$P#hi%X#hi%o#hi%p#hi%t#hi%u#hi&Z#hi&[#hi&]#hi&^#hi&_#hi&`#hi&a#hi&b#hi&c#hi&d#hi&e#hi&f#hi&g#hi&h#hi&i#hi&j#hi%Z#hi%_#hi~Ot)iOP#kiV#kif#kih#kio#kis#kiv#ki!P#ki!Q#ki!T#ki!U#ki!X#ki!]#ki!h#ki!r#ki!s#ki!t#ki!{#ki!}#ki#P#ki#R#ki#T#ki#X#ki#Z#ki#^#ki#_#ki#a#ki#c#ki#l#ki#o#ki#s#ki#u#ki#z#ki#}#ki$P#ki%X#ki%o#ki%p#ki%t#ki%u#ki&Z#ki&[#ki&]#ki&^#ki&_#ki&`#ki&a#ki&b#ki&c#ki&d#ki&e#ki&f#ki&g#ki&h#ki&i#ki&j#ki%Z#ki%_#ki~OV)kOn&wa~P'vOz)lOn&wa~Oz)lOn&wa~P%SOn)pO~O%Y)tO~Ot)wO#p'WO#q)vOP#niV#nif#nih#nio#nis#niv#ni!P#ni!Q#ni!T#ni!U#ni!X#ni!]#ni!h#ni!r#ni!s#ni!t#ni!{#ni!}#ni#P#ni#R#ni#T#ni#X#ni#Z#ni#^#ni#_#ni#a#ni#c#ni#l#ni#o#ni#s#ni#u#ni#z#ni#}#ni$P#ni%X#ni%o#ni%p#ni%t#ni%u#ni&Z#ni&[#ni&]#ni&^#ni&_#ni&`#ni&a#ni&b#ni&c#ni&d#ni&e#ni&f#ni&g#ni&h#ni&i#ni&j#ni%Z#ni%_#ni~OV)zOo0cOv0qO{$jO~P'vOo0cOv0qO{&xa~P'vOz*OO{&xa~OV*SOa*TOg*WO%q*UO%uWO~O{$jO&{*YO~Oh'_O~Oh!iO{$jO~O%[*_O~O%[*aO%_*aO~OV$}Oa$}Oo0cOv0qOg&Ua~P'vOz*dOg&Ua~Oo0cOv0qO{*gO!W&Xa~P'vOz*hO!W&Xa~Oo0cOv0qOz*hO{*kO!W&Xa~P'vOo0cOv0qOz*hO!W&Xa~P'vOz*hO{*kO!W&Xa~Om0dOn0dOo0mOp0nOgjikjisjizji!Tji!Uji%{ji!Wji{ji![ji#gji%[ji%_ji!Qji#[jitji!mji%zji~Ol0fO~P!NkOlji~P!NkOV'|Og*pOo0cOv0qO~P'vOn*rO~Og*pOz*tO~Og*uO~OV'|Oo0cOv0qO!W&Si~P'vOz*vO!W&Si~O!W*wO~OV(]Oo0cOv0qO![%}i#g%}i%[%}i%_%}ig%}i{%}i!m%}i%z%}i~P'vOz*zO!T%dO!U%cO![&Ti~Oz*}O![%}i#g%}i%[%}i%_%}ig%}i{%}i!m%}i%z%}i~O![+OO~Oa+QOo0cOv0qO![&Ti~P'vOz*zO![&Ti~O![+SO~OV+UOo0cOv0qO{&la![&la!m&la%z&la~P'vOz+VO{&la![&la!m&la%z&la~O!]+YO&n+[O![!nX~O![+^O~O{(kO![+_O~O{(kO![+_O!m+`O~OV&OOopOvqO{%hq!x%hq#g%hq%[%hq%_%hq%z%hq~P'vOz$ri{$ri!x$ri#g$ri%[$ri%_$ri%z$ri~P%SOV&OOopOvqO~P'vOV&OOo0cOv0qO#g%ha%[%ha%_%ha%z%ha~P'vOz+aO#g%ha%[%ha%_%ha%z%ha~Oz$ia#g$ia%[$ia%_$ian$ia~P%SO#g&Pi%[&Pi%_&Pin&Pi~P'vOz+dO#g#Wq%[#Wq%_#Wq~O#[+eOz$va#g$va%[$va%_$vag$va~O%uWO#g&ri%[&ri%_&rig&ri~Oz+gO#g&ri%[&ri%_&rig&ri~OV+iOh$WO%uWO~O%uWO#g&ti%[&ti%_&ti~Oo0cOv0qO#g&pi%[&pi%_&pi{&pi~P'vO{#{Oz#eX!W#eX~Oz+mO!W&uX~O!W+oO~Ot+rO#j)gOP#hqV#hqf#hqh#hqo#hqs#hqv#hq!P#hq!Q#hq!T#hq!U#hq!X#hq!]#hq!h#hq!r#hq!s#hq!t#hq!{#hq!}#hq#P#hq#R#hq#T#hq#X#hq#Z#hq#^#hq#_#hq#a#hq#c#hq#l#hq#o#hq#s#hq#u#hq#z#hq#}#hq$P#hq%X#hq%o#hq%p#hq%t#hq%u#hq&Z#hq&[#hq&]#hq&^#hq&_#hq&`#hq&a#hq&b#hq&c#hq&d#hq&e#hq&f#hq&g#hq&h#hq&i#hq&j#hq%Z#hq%_#hq~On$|az$|a~P%SOV)kOn&wi~P'vOz+yOn&wi~Oz,TO{$jO#[,TO~O#q,VOP#nqV#nqf#nqh#nqo#nqs#nqv#nq!P#nq!Q#nq!T#nq!U#nq!X#nq!]#nq!h#nq!r#nq!s#nq!t#nq!{#nq!}#nq#P#nq#R#nq#T#nq#X#nq#Z#nq#^#nq#_#nq#a#nq#c#nq#l#nq#o#nq#s#nq#u#nq#z#nq#}#nq$P#nq%X#nq%o#nq%p#nq%t#nq%u#nq&Z#nq&[#nq&]#nq&^#nq&_#nq&`#nq&a#nq&b#nq&c#nq&d#nq&e#nq&f#nq&g#nq&h#nq&i#nq&j#nq%Z#nq%_#nq~O#[,WOz%Oa{%Oa~Oo0cOv0qO{&xi~P'vOz,YO{&xi~O{#{O%z,[Og&zXz&zX~O%uWOg&zXz&zX~Oz,`Og&yX~Og,bO~O%Y,eO~O!T%dO!U%cOg&Viz&Vi~OV$}Oa$}Oo0cOv0qOg&Ui~P'vO{,hOz$la!W$la~Oo0cOv0qO{,iOz$la!W$la~P'vOo0cOv0qO{*gO!W&Xi~P'vOz,lO!W&Xi~Oo0cOv0qOz,lO!W&Xi~P'vOz,lO{,oO!W&Xi~Og$hiz$hi!W$hi~P%SOV'|Oo0cOv0qO~P'vOn,qO~OV'|Og,rOo0cOv0qO~P'vOV'|Oo0cOv0qO!W&Sq~P'vOz$gi![$gi#g$gi%[$gi%_$gig$gi{$gi!m$gi%z$gi~P%SOV(]Oo0cOv0qO~P'vOa+QOo0cOv0qO![&Tq~P'vOz,sO![&Tq~O![,tO~OV(]Oo0cOv0qO![%}q#g%}q%[%}q%_%}qg%}q{%}q!m%}q%z%}q~P'vO{,uO~OV+UOo0cOv0qO{&li![&li!m&li%z&li~P'vOz,zO{&li![&li!m&li%z&li~O!]+YO&n+[O![!na~O{(kO![,}O~OV&OOo0cOv0qO#g%hi%[%hi%_%hi%z%hi~P'vOz-OO#g%hi%[%hi%_%hi%z%hi~O%uWO#g&rq%[&rq%_&rqg&rq~Oz-RO#g&rq%[&rq%_&rqg&rq~OV)`Oa)`O%uWO!W&ua~Oz-TO!W&ua~On$|iz$|i~P%SOV)kO~P'vOV)kOn&wq~P'vOt-XOP#myV#myf#myh#myo#mys#myv#my!P#my!Q#my!T#my!U#my!X#my!]#my!h#my!r#my!s#my!t#my!{#my!}#my#P#my#R#my#T#my#X#my#Z#my#^#my#_#my#a#my#c#my#l#my#o#my#s#my#u#my#z#my#}#my$P#my%X#my%o#my%p#my%t#my%u#my&Z#my&[#my&]#my&^#my&_#my&`#my&a#my&b#my&c#my&d#my&e#my&f#my&g#my&h#my&i#my&j#my%Z#my%_#my~O%Z-]O%_-]O~P`O#q-^OP#nyV#nyf#nyh#nyo#nys#nyv#ny!P#ny!Q#ny!T#ny!U#ny!X#ny!]#ny!h#ny!r#ny!s#ny!t#ny!{#ny!}#ny#P#ny#R#ny#T#ny#X#ny#Z#ny#^#ny#_#ny#a#ny#c#ny#l#ny#o#ny#s#ny#u#ny#z#ny#}#ny$P#ny%X#ny%o#ny%p#ny%t#ny%u#ny&Z#ny&[#ny&]#ny&^#ny&_#ny&`#ny&a#ny&b#ny&c#ny&d#ny&e#ny&f#ny&g#ny&h#ny&i#ny&j#ny%Z#ny%_#ny~Oz-aO{$jO#[-aO~Oo0cOv0qO{&xq~P'vOz-dO{&xq~O%z,[Og&zaz&za~O{#{Og&zaz&za~OV*SOa*TO%q*UO%uWOg&ya~Oz-hOg&ya~O$S-lO~OV$}Oa$}Oo0cOv0qO~P'vOo0cOv0qO{-mOz$li!W$li~P'vOo0cOv0qOz$li!W$li~P'vO{-mOz$li!W$li~Oo0cOv0qO{*gO~P'vOo0cOv0qO{*gO!W&Xq~P'vOz-pO!W&Xq~Oo0cOv0qOz-pO!W&Xq~P'vOs-sO!T%dO!U%cOg&Oq!W&Oq![&Oqz&Oq~P!/jOa+QOo0cOv0qO![&Ty~P'vOz$ji![$ji~P%SOa+QOo0cOv0qO~P'vOV+UOo0cOv0qO~P'vOV+UOo0cOv0qO{&lq![&lq!m&lq%z&lq~P'vO{(kO![-xO!m-yO%z-wO~OV&OOo0cOv0qO#g%hq%[%hq%_%hq%z%hq~P'vO%uWO#g&ry%[&ry%_&ryg&ry~OV)`Oa)`O%uWO!W&ui~Ot-}OP#m!RV#m!Rf#m!Rh#m!Ro#m!Rs#m!Rv#m!R!P#m!R!Q#m!R!T#m!R!U#m!R!X#m!R!]#m!R!h#m!R!r#m!R!s#m!R!t#m!R!{#m!R!}#m!R#P#m!R#R#m!R#T#m!R#X#m!R#Z#m!R#^#m!R#_#m!R#a#m!R#c#m!R#l#m!R#o#m!R#s#m!R#u#m!R#z#m!R#}#m!R$P#m!R%X#m!R%o#m!R%p#m!R%t#m!R%u#m!R&Z#m!R&[#m!R&]#m!R&^#m!R&_#m!R&`#m!R&a#m!R&b#m!R&c#m!R&d#m!R&e#m!R&f#m!R&g#m!R&h#m!R&i#m!R&j#m!R%Z#m!R%_#m!R~Oo0cOv0qO{&xy~P'vOV*SOa*TO%q*UO%uWOg&yi~O$S-lO%Z.VO%_.VO~OV.aOh._O!X.^O!].`O!h.YO!s.[O!t.[O%p.XO%uWO&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O~Oo0cOv0qOz$lq!W$lq~P'vO{.fOz$lq!W$lq~Oo0cOv0qO{*gO!W&Xy~P'vOz.gO!W&Xy~Oo0cOv.kO~P'vOs-sO!T%dO!U%cOg&Oy!W&Oy![&Oyz&Oy~P!/jO{(kO![.nO~O{(kO![.nO!m.oO~OV*SOa*TO%q*UO%uWO~Oh.tO!f.rOz$TX#[$TX%j$TXg$TX~Os$TX{$TX!W$TX![$TX~P$-bO%o.vO%p.vOs$UXz$UX{$UX#[$UX%j$UX!W$UXg$UX![$UX~O!h.xO~Oz.|O#[/OO%j.yOs&|X{&|X!W&|Xg&|X~Oa/RO~P$)zOh.tOs&}Xz&}X{&}X#[&}X%j&}X!W&}Xg&}X![&}X~Os/VO{$jO~Oo0cOv0qOz$ly!W$ly~P'vOo0cOv0qO{*gO!W&X!R~P'vOz/ZO!W&X!R~Og&RXs&RX!T&RX!U&RX!W&RX![&RXz&RX~P!/jOs-sO!T%dO!U%cOg&Qa!W&Qa![&Qaz&Qa~O{(kO![/^O~O!f.rOh$[as$[az$[a{$[a#[$[a%j$[a!W$[ag$[a![$[a~O!h/eO~O%o.vO%p.vOs$Uaz$Ua{$Ua#[$Ua%j$Ua!W$Uag$Ua![$Ua~O%j.yOs$Yaz$Ya{$Ya#[$Ya!W$Yag$Ya![$Ya~Os&|a{&|a!W&|ag&|a~P$)nOz/jOs&|a{&|a!W&|ag&|a~O!W/mO~Og/mO~O{/oO~O![/pO~Oo0cOv0qO{*gO!W&X!Z~P'vO{/sO~O%z/tO~P$-bOz/uO#[/OO%j.yOg'PX~Oz/uOg'PX~Og/wO~O!h/xO~O#[/OOs%Saz%Sa{%Sa%j%Sa!W%Sag%Sa![%Sa~O#[/OO%j.yOs%Waz%Wa{%Wa!W%Wag%Wa~Os&|i{&|i!W&|ig&|i~P$)nOz/zO#[/OO%j.yO!['Oa~Og'Pa~P$)nOz0SOg'Pa~Oa0UO!['Oi~P$)zOz0WO!['Oi~Oz0WO#[/OO%j.yO!['Oi~O#[/OO%j.yOg$biz$bi~O%z0ZO~P$-bO#[/OO%j.yOg%Vaz%Va~Og'Pi~P$)nO{0^O~Oa0UO!['Oq~P$)zOz0`O!['Oq~O#[/OO%j.yOz%Ui![%Ui~Oa0UO~P$)zOa0UO!['Oy~P$)zO#[/OO%j.yOg$ciz$ci~O#[/OO%j.yOz%Uq![%Uq~Oz+aO#g%ha%[%ha%_%ha%z%ha~P%SOV&OOo0cOv0qO~P'vOn0hO~Oo0hO~P'vO{0iO~Ot0jO~P!/jO&]&Z&j&h&i&g&f&d&e&c&b&`&a&_&^&[%u~",goto:"!=j'QPPPPPP'RP'Z*s+[+t,_,y-fP.SP'Z.r.r'ZPPP'Z2[PPPPPP2[5PPP5PP7b7k=sPP=v>h>kPP'Z'ZPP>zPP'Z'ZPP'Z'Z'Z'Z'Z?O?w'ZP?zP@QDXGuGyPG|HWH['ZPPPH_Hk'RP'R'RP'RP'RP'RP'RP'R'R'RP'RPP'RPP'RP'RPHqH}IVPI^IdPI^PI^I^PPPI^PKrPK{LVL]KrPI^LfPI^PLmLsPLwM]MzNeLwLwNkNxLwLwLwLw! ^! d! g! l! o! y!!P!!]!!o!!u!#P!#V!#s!#y!$P!$Z!$a!$g!$y!%T!%Z!%a!%k!%q!%w!%}!&T!&Z!&e!&k!&u!&{!'U!'[!'k!'s!'}!(UPPPPPPPPPPP!([!(_!(e!(n!(x!)TPPPPPPPPPPPP!-u!/Z!3^!6oPP!6w!7W!7a!8Y!8P!8c!8i!8l!8o!8r!8z!9jPPPPPPPPPPPPPPPPP!9m!9q!9wP!:]!:a!:m!:v!;S!;j!;m!;p!;v!;|!_![!]Do!]!^Es!^!_FZ!_!`Gk!`!aHX!a!b%T!b!cIf!c!dJU!d!eK^!e!hJU!h!i!#f!i!tJU!t!u!,|!u!wJU!w!x!.t!x!}JU!}#O!0S#O#P&o#P#Q!0j#Q#R!1Q#R#SJU#S#T%T#T#UJU#U#VK^#V#YJU#Y#Z!#f#Z#fJU#f#g!,|#g#iJU#i#j!.t#j#oJU#o#p!1n#p#q!1s#q#r!2a#r#s!2f#s$g%T$g;'SJU;'S;=`KW<%lOJU`%YT&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T`%lP;=`<%l%To%v]&n`%c_OX%TXY%oY[%T[]%o]p%Tpq%oq#O%T#O#P&o#P#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To&tX&n`OY%TYZ%oZ]%T]^%o^#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc'f[&n`O!_%T!_!`([!`#T%T#T#U(r#U#f%T#f#g(r#g#h(r#h#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc(cTmR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc(yT!mR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk)aV&n`&[ZOr%Trs)vs#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk){V&n`Or%Trs*bs#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk*iT&n`&^ZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To+PZS_&n`OY*xYZ%TZ]*x]^%T^#o*x#o#p+r#p#q*x#q#r+r#r;'S*x;'S;=`,^<%lO*x_+wTS_OY+rZ]+r^;'S+r;'S;=`,W<%lO+r_,ZP;=`<%l+ro,aP;=`<%l*xj,kV%rQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj-XT!xY&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj-oV%lQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk.]V&n`&ZZOw%Twx.rx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk.wV&n`Ow%Twx/^x#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk/eT&n`&]ZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk/{ThZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc0cTgR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk0yXVZ&n`Oz%Tz{1f{!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk1mVaR&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk2ZV%oZ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc2wTzR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To3_W%pZ&n`O!_%T!_!`-Q!`!a3w!a#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Td4OT&{S&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk4fX!fQ&n`O!O%T!O!P5R!P!Q%T!Q![6T![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk5WV&n`O!O%T!O!P5m!P#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk5tT!rZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti6[a!hX&n`O!Q%T!Q![6T![!g%T!g!h7a!h!l%T!l!m9s!m#R%T#R#S6T#S#X%T#X#Y7a#Y#^%T#^#_9s#_#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti7fZ&n`O{%T{|8X|}%T}!O8X!O!Q%T!Q![8s![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti8^V&n`O!Q%T!Q![8s![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti8z]!hX&n`O!Q%T!Q![8s![!l%T!l!m9s!m#R%T#R#S8s#S#^%T#^#_9s#_#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti9zT!hX&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk:bX%qR&n`O!P%T!P!Q:}!Q!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj;UV%sQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti;ro!hX&n`O!O%T!O!P=s!P!Q%T!Q![>_![!d%T!d!e?q!e!g%T!g!h7a!h!l%T!l!m9s!m!q%T!q!rA]!r!z%T!z!{Bq!{#R%T#R#S>_#S#U%T#U#V?q#V#X%T#X#Y7a#Y#^%T#^#_9s#_#c%T#c#dA]#d#l%T#l#mBq#m#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti=xV&n`O!Q%T!Q![6T![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti>fc!hX&n`O!O%T!O!P=s!P!Q%T!Q![>_![!g%T!g!h7a!h!l%T!l!m9s!m#R%T#R#S>_#S#X%T#X#Y7a#Y#^%T#^#_9s#_#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti?vY&n`O!Q%T!Q!R@f!R!S@f!S#R%T#R#S@f#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti@mY!hX&n`O!Q%T!Q!R@f!R!S@f!S#R%T#R#S@f#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiAbX&n`O!Q%T!Q!YA}!Y#R%T#R#SA}#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiBUX!hX&n`O!Q%T!Q!YA}!Y#R%T#R#SA}#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiBv]&n`O!Q%T!Q![Co![!c%T!c!iCo!i#R%T#R#SCo#S#T%T#T#ZCo#Z#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiCv]!hX&n`O!Q%T!Q![Co![!c%T!c!iCo!i#R%T#R#SCo#S#T%T#T#ZCo#Z#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%ToDvV{_&n`O!_%T!_!`E]!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TcEdT%{R&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkEzT#gZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkFbXmR&n`O!^%T!^!_F}!_!`([!`!a([!a#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TjGUV%mQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkGrV%zZ&n`O!_%T!_!`([!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkH`WmR&n`O!_%T!_!`([!`!aHx!a#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TjIPV%nQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkIoV_Q#}P&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%ToJ_]&n`&YS%uZO!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUoKZP;=`<%lJUoKge&n`&YS%uZOr%Trs)Ysw%Twx.Ux!Q%T!Q![JU![!c%T!c!tJU!t!uLx!u!}JU!}#R%T#R#SJU#S#T%T#T#fJU#f#gLx#g#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUoMRa&n`&YS%uZOr%TrsNWsw%Twx! vx!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUkN_V&n`&`ZOr%TrsNts#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkNyV&n`Or%Trs! `s#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk! gT&n`&bZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk! }V&n`&_ZOw%Twx!!dx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!!iV&n`Ow%Twx!#Ox#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!#VT&n`&aZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To!#oe&n`&YS%uZOr%Trs!%Qsw%Twx!&px!Q%T!Q![JU![!c%T!c!tJU!t!u!(`!u!}JU!}#R%T#R#SJU#S#T%T#T#fJU#f#g!(`#g#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUk!%XV&n`&dZOr%Trs!%ns#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!%sV&n`Or%Trs!&Ys#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!&aT&n`&fZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!&wV&n`&cZOw%Twx!'^x#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!'cV&n`Ow%Twx!'xx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!(PT&n`&eZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To!(ia&n`&YS%uZOr%Trs!)nsw%Twx!+^x!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUk!)uV&n`&hZOr%Trs!*[s#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!*aV&n`Or%Trs!*vs#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!*}T&n`&jZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!+eV&n`&gZOw%Twx!+zx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!,PV&n`Ow%Twx!,fx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!,mT&n`&iZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To!-Vi&n`&YS%uZOr%TrsNWsw%Twx! vx!Q%T!Q![JU![!c%T!c!dJU!d!eLx!e!hJU!h!i!(`!i!}JU!}#R%T#R#SJU#S#T%T#T#UJU#U#VLx#V#YJU#Y#Z!(`#Z#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUo!.}a&n`&YS%uZOr%Trs)Ysw%Twx.Ux!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUk!0ZT!XZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc!0qT!WR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj!1XV%kQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T~!1sO!]~k!1zV%jR&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T~!2fO![~i!2mT%tX&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T",tokenizers:[bw,pw,dw,Sw,0,1,2,3,4],topRules:{Script:[0,5]},specialized:[{term:221,get:i=>xw[i]||-1}],tokenPrec:7668});var zm=new di,Mm=new Set(["Script","Body","FunctionDefinition","ClassDefinition","LambdaExpression","ForStatement","MatchClause"]);function uo(i){return(e,t,n)=>{if(n)return!1;let r=e.node.getChild("VariableName");return r&&t(r,i),!0}}var ww={FunctionDefinition:uo("function"),ClassDefinition:uo("class"),ForStatement(i,e,t){if(t){for(let n=i.node.firstChild;n;n=n.nextSibling)if(n.name=="VariableName")e(n,"variable");else if(n.name=="in")break}},ImportStatement(i,e){var t,n;let{node:r}=i,s=((t=r.firstChild)===null||t===void 0?void 0:t.name)=="from";for(let o=r.getChild("import");o;o=o.nextSibling)o.name=="VariableName"&&((n=o.nextSibling)===null||n===void 0?void 0:n.name)!="as"&&e(o,s?"variable":"namespace")},AssignStatement(i,e){for(let t=i.node.firstChild;t;t=t.nextSibling)if(t.name=="VariableName")e(t,"variable");else if(t.name==":"||t.name=="AssignOp")break},ParamList(i,e){for(let t=null,n=i.node.firstChild;n;n=n.nextSibling)n.name=="VariableName"&&(!t||!/\*|AssignOp/.test(t.name))&&e(n,"variable"),t=n},CapturePattern:uo("variable"),AsPattern:uo("variable"),__proto__:null};function Wm(i,e){let t=zm.get(e);if(t)return t;let n=[],r=!0;function s(o,a){let l=i.sliceString(o.from,o.to);n.push({label:l,type:a})}return e.cursor(ee.IncludeAnonymous).iterate(o=>{if(o.name){let a=ww[o.name];if(a&&a(o,s,r)||!r&&Mm.has(o.name))return!1;r=!1}else if(o.to-o.from>8192){for(let a of Wm(i,o.node))n.push(a);return!1}}),zm.set(e,n),n}var Lm=/^[\w\xa1-\uffff][\w\d\xa1-\uffff]*$/,jm=["String","FormatString","Comment","PropertyName"];function Pw(i){let e=U(i.state).resolveInner(i.pos,-1);if(jm.indexOf(e.name)>-1)return null;let t=e.name=="VariableName"||e.to-e.from<20&&Lm.test(i.state.sliceDoc(e.from,e.to));if(!t&&!i.explicit)return null;let n=[];for(let r=e;r;r=r.parent)Mm.has(r.name)&&(n=n.concat(Wm(i.state.doc,r)));return{options:n,from:t?e.from:i.pos,validFor:Lm}}var vw=["__annotations__","__builtins__","__debug__","__doc__","__import__","__name__","__loader__","__package__","__spec__","False","None","True"].map(i=>({label:i,type:"constant"})).concat(["ArithmeticError","AssertionError","AttributeError","BaseException","BlockingIOError","BrokenPipeError","BufferError","BytesWarning","ChildProcessError","ConnectionAbortedError","ConnectionError","ConnectionRefusedError","ConnectionResetError","DeprecationWarning","EOFError","Ellipsis","EncodingWarning","EnvironmentError","Exception","FileExistsError","FileNotFoundError","FloatingPointError","FutureWarning","GeneratorExit","IOError","ImportError","ImportWarning","IndentationError","IndexError","InterruptedError","IsADirectoryError","KeyError","KeyboardInterrupt","LookupError","MemoryError","ModuleNotFoundError","NameError","NotADirectoryError","NotImplemented","NotImplementedError","OSError","OverflowError","PendingDeprecationWarning","PermissionError","ProcessLookupError","RecursionError","ReferenceError","ResourceWarning","RuntimeError","RuntimeWarning","StopAsyncIteration","StopIteration","SyntaxError","SyntaxWarning","SystemError","SystemExit","TabError","TimeoutError","TypeError","UnboundLocalError","UnicodeDecodeError","UnicodeEncodeError","UnicodeError","UnicodeTranslateError","UnicodeWarning","UserWarning","ValueError","Warning","ZeroDivisionError"].map(i=>({label:i,type:"type"}))).concat(["bool","bytearray","bytes","classmethod","complex","float","frozenset","int","list","map","memoryview","object","range","set","staticmethod","str","super","tuple","type"].map(i=>({label:i,type:"class"}))).concat(["abs","aiter","all","anext","any","ascii","bin","breakpoint","callable","chr","compile","delattr","dict","dir","divmod","enumerate","eval","exec","exit","filter","format","getattr","globals","hasattr","hash","help","hex","id","input","isinstance","issubclass","iter","len","license","locals","max","min","next","oct","open","ord","pow","print","property","quit","repr","reversed","round","setattr","slice","sorted","sum","vars","zip"].map(i=>({label:i,type:"function"}))),$w=[ce("def ${name}(${params}):\n ${}",{label:"def",detail:"function",type:"keyword"}),ce("for ${name} in ${collection}:\n ${}",{label:"for",detail:"loop",type:"keyword"}),ce("while ${}:\n ${}",{label:"while",detail:"loop",type:"keyword"}),ce("try:\n ${}\nexcept ${error}:\n ${}",{label:"try",detail:"/ except block",type:"keyword"}),ce(`if \${}: +}`,{label:"class",detail:"definition",type:"keyword"}),ce('import {${names}} from "${module}"\n${}',{label:"import",detail:"named",type:"keyword"}),ce('import ${name} from "${module}"\n${}',{label:"import",detail:"default",type:"keyword"})],f1=Mp.concat([ce("interface ${name} {\n ${}\n}",{label:"interface",detail:"definition",type:"keyword"}),ce("type ${name} = ${type}",{label:"type",detail:"definition",type:"keyword"}),ce("enum ${name} {\n ${}\n}",{label:"enum",detail:"definition",type:"keyword"})]),qp=new di,Wp=new Set(["Script","Block","FunctionExpression","FunctionDeclaration","ArrowFunction","MethodDeclaration","ForStatement"]);function vr(i){return(e,t)=>{let n=e.node.getChild("VariableDefinition");return n&&t(n,i),!0}}var u1=["FunctionDeclaration"],O1={FunctionDeclaration:vr("function"),ClassDeclaration:vr("class"),ClassExpression:()=>!0,EnumDeclaration:vr("constant"),TypeAliasDeclaration:vr("type"),NamespaceDeclaration:vr("namespace"),VariableDefinition(i,e){i.matchContext(u1)||e(i,"variable")},TypeDefinition(i,e){e(i,"type")},__proto__:null};function jp(i,e){let t=qp.get(e);if(t)return t;let n=[],r=!0;function s(o,a){let l=i.sliceString(o.from,o.to);n.push({label:l,type:a})}return e.cursor(ee.IncludeAnonymous).iterate(o=>{if(r)r=!1;else if(o.name){let a=O1[o.name];if(a&&a(o,s)||Wp.has(o.name))return!1}else if(o.to-o.from>8192){for(let a of jp(i,o.node))n.push(a);return!1}}),qp.set(e,n),n}var zp=/^[\w$\xa1-\uffff][\w$\d\xa1-\uffff]*$/,Vp=["TemplateString","String","RegExp","LineComment","BlockComment","VariableDefinition","TypeDefinition","Label","PropertyDefinition","PropertyName","PrivatePropertyDefinition","PrivatePropertyName","JSXText","JSXAttributeValue","JSXOpenTag","JSXCloseTag","JSXSelfClosingTag",".","?."];function d1(i){let e=U(i.state).resolveInner(i.pos,-1);if(Vp.indexOf(e.name)>-1)return null;let t=e.name=="VariableName"||e.to-e.from<20&&zp.test(i.state.sliceDoc(e.from,e.to));if(!t&&!i.explicit)return null;let n=[];for(let r=e;r;r=r.parent)Wp.has(r.name)&&(n=n.concat(jp(i.state.doc,r)));return{options:n,from:t?e.from:i.pos,validFor:zp}}var wt=$e.define({name:"javascript",parser:Ep.configure({props:[we.add({IfStatement:Bt({except:/^\s*({|else\b)/}),TryStatement:Bt({except:/^\s*({|catch\b|finally\b)/}),LabeledStatement:aO,SwitchBody:i=>{let e=i.textAfter,t=/^\s*\}/.test(e),n=/^\s*(case|default)\b/.test(e);return i.baseIndent+(t?0:n?1:2)*i.unit},Block:St({closing:"}"}),ArrowFunction:i=>i.baseIndent+i.unit,"TemplateString BlockComment":()=>null,"Statement Property":Bt({except:/^\s*{/}),JSXElement(i){let e=/^\s*<\//.test(i.textAfter);return i.lineIndent(i.node.from)+(e?0:i.unit)},JSXEscape(i){let e=/\s*\}/.test(i.textAfter);return i.lineIndent(i.node.from)+(e?0:i.unit)},"JSXOpenTag JSXSelfClosingTag"(i){return i.column(i.node.from)+i.unit}}),Te.add({"Block ClassBody SwitchBody EnumBody ObjectExpression ArrayExpression ObjectType":ht,BlockComment(i){return{from:i.from+2,to:i.to-2}},JSXElement(i){let e=i.firstChild;if(!e||e.name=="JSXSelfClosingTag")return null;let t=i.lastChild;return{from:e.to,to:t.type.isError?i.to:t.from}},"JSXSelfClosingTag JSXOpenTag"(i){var e;let t=(e=i.firstChild)===null||e===void 0?void 0:e.nextSibling,n=i.lastChild;return!t||t.type.isError?null:{from:t.to,to:n.type.isError?i.to:n.from}}})]}),languageData:{closeBrackets:{brackets:["(","[","{","'",'"',"`"]},commentTokens:{line:"//",block:{open:"/*",close:"*/"}},indentOnInput:/^\s*(?:case |default:|\{|\}|<\/)$/,wordChars:"$"}}),Dp={test:i=>/^JSX/.test(i.name),facet:kn({commentTokens:{block:{open:"{/*",close:"*/}"}}})},Xc=wt.configure({dialect:"ts"},"typescript"),_c=wt.configure({dialect:"jsx",props:[qs.add(i=>i.isTop?[Dp]:void 0)]}),Rc=wt.configure({dialect:"jsx ts",props:[qs.add(i=>i.isTop?[Dp]:void 0)]},"typescript"),Yp=i=>({label:i,type:"keyword"}),Ip="break case const continue default delete export extends false finally in instanceof let new return static super switch this throw true typeof var yield".split(" ").map(Yp),p1=Ip.concat(["declare","implements","private","protected","public"].map(Yp));function so(i={}){let e=i.jsx?i.typescript?Rc:_c:i.typescript?Xc:wt,t=i.typescript?f1.concat(p1):Mp.concat(Ip);return new me(e,[wt.data.of({autocomplete:Bs(Vp,Is(t))}),wt.data.of({autocomplete:d1}),i.jsx?Q1:[]])}function m1(i){for(;;){if(i.name=="JSXOpenTag"||i.name=="JSXSelfClosingTag"||i.name=="JSXFragmentTag")return i;if(i.name=="JSXEscape"||!i.parent)return null;i=i.parent}}function Lp(i,e,t=i.length){for(let n=e?.firstChild;n;n=n.nextSibling)if(n.name=="JSXIdentifier"||n.name=="JSXBuiltin"||n.name=="JSXNamespacedName"||n.name=="JSXMemberExpression")return i.sliceString(n.from,Math.min(n.to,t));return""}var g1=typeof navigator=="object"&&/Android\b/.test(navigator.userAgent),Q1=z.inputHandler.of((i,e,t,n,r)=>{if((g1?i.composing:i.compositionStarted)||i.state.readOnly||e!=t||n!=">"&&n!="/"||!wt.isActiveAt(i.state,e,-1))return!1;let s=r(),{state:o}=s,a=o.changeByRange(l=>{var c;let{head:h}=l,f=U(o).resolveInner(h-1,-1),u;if(f.name=="JSXStartTag"&&(f=f.parent),!(o.doc.sliceString(h-1,h)!=n||f.name=="JSXAttributeValue"&&f.to>h)){if(n==">"&&f.name=="JSXFragmentTag")return{range:l,changes:{from:h,insert:""}};if(n=="/"&&f.name=="JSXStartCloseTag"){let O=f.parent,p=O.parent;if(p&&O.from==h-2&&((u=Lp(o.doc,p.firstChild,h))||((c=p.firstChild)===null||c===void 0?void 0:c.name)=="JSXFragmentTag")){let m=`${u}>`;return{range:P.cursor(h+m.length,-1),changes:{from:h,insert:m}}}}else if(n==">"){let O=m1(f);if(O&&O.name=="JSXOpenTag"&&!/^\/?>|^<\//.test(o.doc.sliceString(h,h+2))&&(u=Lp(o.doc,O,h)))return{range:l,changes:{from:h,insert:``}}}}return{range:l}});return a.changes.empty?!1:(i.dispatch([s,o.update(a,{userEvent:"input.complete",scrollIntoView:!0})]),!0)});var $r=["_blank","_self","_top","_parent"],Ac=["ascii","utf-8","utf-16","latin1","latin1"],Zc=["get","post","put","delete"],Ec=["application/x-www-form-urlencoded","multipart/form-data","text/plain"],Je=["true","false"],D={},b1={a:{attrs:{href:null,ping:null,type:null,media:null,target:$r,hreflang:null}},abbr:D,address:D,area:{attrs:{alt:null,coords:null,href:null,target:null,ping:null,media:null,hreflang:null,type:null,shape:["default","rect","circle","poly"]}},article:D,aside:D,audio:{attrs:{src:null,mediagroup:null,crossorigin:["anonymous","use-credentials"],preload:["none","metadata","auto"],autoplay:["autoplay"],loop:["loop"],controls:["controls"]}},b:D,base:{attrs:{href:null,target:$r}},bdi:D,bdo:D,blockquote:{attrs:{cite:null}},body:D,br:D,button:{attrs:{form:null,formaction:null,name:null,value:null,autofocus:["autofocus"],disabled:["autofocus"],formenctype:Ec,formmethod:Zc,formnovalidate:["novalidate"],formtarget:$r,type:["submit","reset","button"]}},canvas:{attrs:{width:null,height:null}},caption:D,center:D,cite:D,code:D,col:{attrs:{span:null}},colgroup:{attrs:{span:null}},command:{attrs:{type:["command","checkbox","radio"],label:null,icon:null,radiogroup:null,command:null,title:null,disabled:["disabled"],checked:["checked"]}},data:{attrs:{value:null}},datagrid:{attrs:{disabled:["disabled"],multiple:["multiple"]}},datalist:{attrs:{data:null}},dd:D,del:{attrs:{cite:null,datetime:null}},details:{attrs:{open:["open"]}},dfn:D,div:D,dl:D,dt:D,em:D,embed:{attrs:{src:null,type:null,width:null,height:null}},eventsource:{attrs:{src:null}},fieldset:{attrs:{disabled:["disabled"],form:null,name:null}},figcaption:D,figure:D,footer:D,form:{attrs:{action:null,name:null,"accept-charset":Ac,autocomplete:["on","off"],enctype:Ec,method:Zc,novalidate:["novalidate"],target:$r}},h1:D,h2:D,h3:D,h4:D,h5:D,h6:D,head:{children:["title","base","link","style","meta","script","noscript","command"]},header:D,hgroup:D,hr:D,html:{attrs:{manifest:null}},i:D,iframe:{attrs:{src:null,srcdoc:null,name:null,width:null,height:null,sandbox:["allow-top-navigation","allow-same-origin","allow-forms","allow-scripts"],seamless:["seamless"]}},img:{attrs:{alt:null,src:null,ismap:null,usemap:null,width:null,height:null,crossorigin:["anonymous","use-credentials"]}},input:{attrs:{alt:null,dirname:null,form:null,formaction:null,height:null,list:null,max:null,maxlength:null,min:null,name:null,pattern:null,placeholder:null,size:null,src:null,step:null,value:null,width:null,accept:["audio/*","video/*","image/*"],autocomplete:["on","off"],autofocus:["autofocus"],checked:["checked"],disabled:["disabled"],formenctype:Ec,formmethod:Zc,formnovalidate:["novalidate"],formtarget:$r,multiple:["multiple"],readonly:["readonly"],required:["required"],type:["hidden","text","search","tel","url","email","password","datetime","date","month","week","time","datetime-local","number","range","color","checkbox","radio","file","submit","image","reset","button"]}},ins:{attrs:{cite:null,datetime:null}},kbd:D,keygen:{attrs:{challenge:null,form:null,name:null,autofocus:["autofocus"],disabled:["disabled"],keytype:["RSA"]}},label:{attrs:{for:null,form:null}},legend:D,li:{attrs:{value:null}},link:{attrs:{href:null,type:null,hreflang:null,media:null,sizes:["all","16x16","16x16 32x32","16x16 32x32 64x64"]}},map:{attrs:{name:null}},mark:D,menu:{attrs:{label:null,type:["list","context","toolbar"]}},meta:{attrs:{content:null,charset:Ac,name:["viewport","application-name","author","description","generator","keywords"],"http-equiv":["content-language","content-type","default-style","refresh"]}},meter:{attrs:{value:null,min:null,low:null,high:null,max:null,optimum:null}},nav:D,noscript:D,object:{attrs:{data:null,type:null,name:null,usemap:null,form:null,width:null,height:null,typemustmatch:["typemustmatch"]}},ol:{attrs:{reversed:["reversed"],start:null,type:["1","a","A","i","I"]},children:["li","script","template","ul","ol"]},optgroup:{attrs:{disabled:["disabled"],label:null}},option:{attrs:{disabled:["disabled"],label:null,selected:["selected"],value:null}},output:{attrs:{for:null,form:null,name:null}},p:D,param:{attrs:{name:null,value:null}},pre:D,progress:{attrs:{value:null,max:null}},q:{attrs:{cite:null}},rp:D,rt:D,ruby:D,samp:D,script:{attrs:{type:["text/javascript"],src:null,async:["async"],defer:["defer"],charset:Ac}},section:D,select:{attrs:{form:null,name:null,size:null,autofocus:["autofocus"],disabled:["disabled"],multiple:["multiple"]}},slot:{attrs:{name:null}},small:D,source:{attrs:{src:null,type:null,media:null}},span:D,strong:D,style:{attrs:{type:["text/css"],media:null,scoped:null}},sub:D,summary:D,sup:D,table:D,tbody:D,td:{attrs:{colspan:null,rowspan:null,headers:null}},template:D,textarea:{attrs:{dirname:null,form:null,maxlength:null,name:null,placeholder:null,rows:null,cols:null,autofocus:["autofocus"],disabled:["disabled"],readonly:["readonly"],required:["required"],wrap:["soft","hard"]}},tfoot:D,th:{attrs:{colspan:null,rowspan:null,headers:null,scope:["row","col","rowgroup","colgroup"]}},thead:D,time:{attrs:{datetime:null}},title:D,tr:D,track:{attrs:{src:null,label:null,default:null,kind:["subtitles","captions","descriptions","chapters","metadata"],srclang:null}},ul:{children:["li","script","template","ul","ol"]},var:D,video:{attrs:{src:null,poster:null,width:null,height:null,crossorigin:["anonymous","use-credentials"],preload:["auto","metadata","none"],autoplay:["autoplay"],mediagroup:["movie"],muted:["muted"],controls:["controls"]}},wbr:D},Np={accesskey:null,class:null,contenteditable:Je,contextmenu:null,dir:["ltr","rtl","auto"],draggable:["true","false","auto"],dropzone:["copy","move","link","string:","file:"],hidden:["hidden"],id:null,inert:["inert"],itemid:null,itemprop:null,itemref:null,itemscope:["itemscope"],itemtype:null,lang:["ar","bn","de","en-GB","en-US","es","fr","hi","id","ja","pa","pt","ru","tr","zh"],spellcheck:Je,autocorrect:Je,autocapitalize:Je,style:null,tabindex:null,title:null,translate:["yes","no"],rel:["stylesheet","alternate","author","bookmark","help","license","next","nofollow","noreferrer","prefetch","prev","search","tag"],role:"alert application article banner button cell checkbox complementary contentinfo dialog document feed figure form grid gridcell heading img list listbox listitem main navigation region row rowgroup search switch tab table tabpanel textbox timer".split(" "),"aria-activedescendant":null,"aria-atomic":Je,"aria-autocomplete":["inline","list","both","none"],"aria-busy":Je,"aria-checked":["true","false","mixed","undefined"],"aria-controls":null,"aria-describedby":null,"aria-disabled":Je,"aria-dropeffect":null,"aria-expanded":["true","false","undefined"],"aria-flowto":null,"aria-grabbed":["true","false","undefined"],"aria-haspopup":Je,"aria-hidden":Je,"aria-invalid":["true","false","grammar","spelling"],"aria-label":null,"aria-labelledby":null,"aria-level":null,"aria-live":["off","polite","assertive"],"aria-multiline":Je,"aria-multiselectable":Je,"aria-owns":null,"aria-posinset":null,"aria-pressed":["true","false","mixed","undefined"],"aria-readonly":Je,"aria-relevant":null,"aria-required":Je,"aria-selected":["true","false","undefined"],"aria-setsize":null,"aria-sort":["ascending","descending","none","other"],"aria-valuemax":null,"aria-valuemin":null,"aria-valuenow":null,"aria-valuetext":null},Fp="beforeunload copy cut dragstart dragover dragleave dragenter dragend drag paste focus blur change click load mousedown mouseenter mouseleave mouseup keydown keyup resize scroll unload".split(" ").map(i=>"on"+i);for(let i of Fp)Np[i]=null;var Ui=class{constructor(e,t){this.tags={...b1,...e},this.globalAttrs={...Np,...t},this.allTags=Object.keys(this.tags),this.globalAttrNames=Object.keys(this.globalAttrs)}};Ui.default=new Ui;function $n(i,e,t=i.length){if(!e)return"";let n=e.firstChild,r=n&&n.getChild("TagName");return r?i.sliceString(r.from,Math.min(r.to,t)):""}function Tn(i,e=!1){for(;i;i=i.parent)if(i.name=="Element")if(e)e=!1;else return i;return null}function Hp(i,e,t){let n=t.tags[$n(i,Tn(e))];return n?.children||t.allTags}function qc(i,e){let t=[];for(let n=Tn(e);n&&!n.type.isTop;n=Tn(n.parent)){let r=$n(i,n);if(r&&n.lastChild.name=="CloseTag")break;r&&t.indexOf(r)<0&&(e.name=="EndTag"||e.from>=n.firstChild.to)&&t.push(r)}return t}var Kp=/^[:\-\.\w\u00b7-\uffff]*$/;function Bp(i,e,t,n,r){let s=/\s*>/.test(i.sliceDoc(r,r+5))?"":">",o=Tn(t,t.name=="StartTag"||t.name=="TagName");return{from:n,to:r,options:Hp(i.doc,o,e).map(a=>({label:a,type:"type"})).concat(qc(i.doc,t).map((a,l)=>({label:"/"+a,apply:"/"+a+s,type:"type",boost:99-l}))),validFor:/^\/?[:\-\.\w\u00b7-\uffff]*$/}}function Up(i,e,t,n){let r=/\s*>/.test(i.sliceDoc(n,n+5))?"":">";return{from:t,to:n,options:qc(i.doc,e).map((s,o)=>({label:s,apply:s+r,type:"type",boost:99-o})),validFor:Kp}}function S1(i,e,t,n){let r=[],s=0;for(let o of Hp(i.doc,t,e))r.push({label:"<"+o,type:"type"});for(let o of qc(i.doc,t))r.push({label:"",type:"type",boost:99-s++});return{from:n,to:n,options:r,validFor:/^<\/?[:\-\.\w\u00b7-\uffff]*$/}}function y1(i,e,t,n,r){let s=Tn(t),o=s?e.tags[$n(i.doc,s)]:null,a=o&&o.attrs?Object.keys(o.attrs):[],l=o&&o.globalAttrs===!1?a:a.length?a.concat(e.globalAttrNames):e.globalAttrNames;return{from:n,to:r,options:l.map(c=>({label:c,type:"property"})),validFor:Kp}}function k1(i,e,t,n,r){var s;let o=(s=t.parent)===null||s===void 0?void 0:s.getChild("AttributeName"),a=[],l;if(o){let c=i.sliceDoc(o.from,o.to),h=e.globalAttrs[c];if(!h){let f=Tn(t),u=f?e.tags[$n(i.doc,f)]:null;h=u?.attrs&&u.attrs[c]}if(h){let f=i.sliceDoc(n,r).toLowerCase(),u='"',O='"';/^['"]/.test(f)?(l=f[0]=='"'?/^[^"]*$/:/^[^']*$/,u="",O=i.sliceDoc(r,r+1)==f[0]?"":f[0],f=f.slice(1),n++):l=/^[^\s<>='"]*$/;for(let p of h)a.push({label:p,apply:u+p+O,type:"constant"})}}return{from:n,to:r,options:a,validFor:l}}function Jp(i,e){let{state:t,pos:n}=e,r=U(t).resolveInner(n,-1),s=r.resolve(n);for(let o=n,a;s==r&&(a=r.childBefore(o));){let l=a.lastChild;if(!l||!l.type.isError||l.fromJp(n,r)}var w1=wt.parser.configure({top:"SingleExpression"}),tm=[{tag:"script",attrs:i=>i.type=="text/typescript"||i.lang=="ts",parser:Xc.parser},{tag:"script",attrs:i=>i.type=="text/babel"||i.type=="text/jsx",parser:_c.parser},{tag:"script",attrs:i=>i.type=="text/typescript-jsx",parser:Rc.parser},{tag:"script",attrs(i){return/^(importmap|speculationrules|application\/(.+\+)?json)$/i.test(i.type)},parser:w1},{tag:"script",attrs(i){return!i.type||/^(?:text|application)\/(?:x-)?(?:java|ecma)script$|^module$|^$/i.test(i.type)},parser:wt.parser},{tag:"style",attrs(i){return(!i.lang||i.lang=="css")&&(!i.type||/^(text\/)?(x-)?(stylesheet|css)$/i.test(i.type))},parser:Pr.parser}],im=[{name:"style",parser:Pr.parser.configure({top:"Styles"})}].concat(Fp.map(i=>({name:i,parser:wt.parser}))),nm=$e.define({name:"html",parser:Sp.configure({props:[we.add({Element(i){let e=/^(\s*)(<\/)?/.exec(i.textAfter);return i.node.to<=i.pos+e[0].length?i.continue():i.lineIndent(i.node.from)+(e[2]?0:i.unit)},"OpenTag CloseTag SelfClosingTag"(i){return i.column(i.node.from)+i.unit},Document(i){if(i.pos+/\s*/.exec(i.textAfter)[0].lengthi.getChild("TagName")})]}),languageData:{commentTokens:{block:{open:""}},indentOnInput:/^\s*<\/\w+\W$/,wordChars:"-_"}}),oo=nm.configure({wrap:xc(tm,im)});function ao(i={}){let e="",t;i.matchClosingTags===!1&&(e="noMatch"),i.selfClosingTags===!0&&(e=(e?e+" ":"")+"selfClosing"),(i.nestedLanguages&&i.nestedLanguages.length||i.nestedAttributes&&i.nestedAttributes.length)&&(t=xc((i.nestedLanguages||[]).concat(tm),(i.nestedAttributes||[]).concat(im)));let n=t?nm.configure({wrap:t,dialect:e}):e?oo.configure({dialect:e}):oo;return new me(n,[oo.data.of({autocomplete:x1(i)}),i.autoCloseTags!==!1?P1:[],so().support,ro().support])}var Gp=new Set("area base br col command embed frame hr img input keygen link meta param source track wbr menuitem".split(" ")),P1=z.inputHandler.of((i,e,t,n,r)=>{if(i.composing||i.state.readOnly||e!=t||n!=">"&&n!="/"||!oo.isActiveAt(i.state,e,-1))return!1;let s=r(),{state:o}=s,a=o.changeByRange(l=>{var c,h,f;let u=o.doc.sliceString(l.from-1,l.to)==n,{head:O}=l,p=U(o).resolveInner(O,-1),m;if(u&&n==">"&&p.name=="EndTag"){let b=p.parent;if(((h=(c=b.parent)===null||c===void 0?void 0:c.lastChild)===null||h===void 0?void 0:h.name)!="CloseTag"&&(m=$n(o.doc,b.parent,O))&&!Gp.has(m)){let g=O+(o.doc.sliceString(O,O+1)===">"?1:0),Q=``;return{range:l,changes:{from:O,to:g,insert:Q}}}}else if(u&&n=="/"&&p.name=="IncompleteCloseTag"){let b=p.parent;if(p.from==O-2&&((f=b.lastChild)===null||f===void 0?void 0:f.name)!="CloseTag"&&(m=$n(o.doc,b,O))&&!Gp.has(m)){let g=O+(o.doc.sliceString(O,O+1)===">"?1:0),Q=`${m}>`;return{range:P.cursor(O+Q.length,-1),changes:{from:O,to:g,insert:Q}}}}return{range:l}});return a.changes.empty?!1:(i.dispatch([s,o.update(a,{userEvent:"input.complete",scrollIntoView:!0})]),!0)});var om=kn({commentTokens:{block:{open:""}}}),am=new I,lm=Yd.configure({props:[Te.add(i=>!i.is("Block")||i.is("Document")||Mc(i)!=null||v1(i)?void 0:(e,t)=>({from:t.doc.lineAt(e.from).to,to:e.to})),am.add(Mc),we.add({Document:()=>null}),bt.add({Document:om})]});function Mc(i){let e=/^(?:ATX|Setext)Heading(\d)$/.exec(i.name);return e?+e[1]:void 0}function v1(i){return i.name=="OrderedList"||i.name=="BulletList"}function $1(i,e){let t=i;for(;;){let n=t.nextSibling,r;if(!n||(r=Mc(n.type))!=null&&r<=e)break;t=n}return t.to}var T1=lO.of((i,e,t)=>{for(let n=U(i).resolveInner(t,-1);n&&!(n.fromt)return{from:t,to:s}}return null});function Wc(i){return new xe(om,i,[],"markdown")}var C1=Wc(lm),X1=lm.configure([Ud,Fd,Nd,Hd,{props:[Te.add({Table:(i,e)=>({from:e.doc.lineAt(i.from).to,to:i.to})})]}]),ki=Wc(X1);function _1(i,e){return t=>{if(t&&i){let n=null;if(t=/\S*/.exec(t)[0],typeof i=="function"?n=i(t):n=Ie.matchLanguageName(i,t,!0),n instanceof Ie)return n.support?n.support.language.parser:Wi.getSkippingParser(n.load());if(n)return n.parser}return e?e.parser:null}}var Tr=class{constructor(e,t,n,r,s,o,a){this.node=e,this.from=t,this.to=n,this.spaceBefore=r,this.spaceAfter=s,this.type=o,this.item=a}blank(e,t=!0){let n=this.spaceBefore+(this.node.name=="Blockquote"?">":"");if(e!=null){for(;n.length0;r--)n+=" ";return n+(t?this.spaceAfter:"")}}marker(e,t){let n=this.node.name=="OrderedList"?String(+hm(this.item,e)[2]+t):"";return this.spaceBefore+n+this.type+this.spaceAfter}};function cm(i,e){let t=[],n=[];for(let r=i;r;r=r.parent){if(r.name=="FencedCode")return n;(r.name=="ListItem"||r.name=="Blockquote")&&t.push(r)}for(let r=t.length-1;r>=0;r--){let s=t[r],o,a=e.lineAt(s.from),l=s.from-a.from;if(s.name=="Blockquote"&&(o=/^ *>( ?)/.exec(a.text.slice(l))))n.push(new Tr(s,l,l+o[0].length,"",o[1],">",null));else if(s.name=="ListItem"&&s.parent.name=="OrderedList"&&(o=/^( *)\d+([.)])( *)/.exec(a.text.slice(l)))){let c=o[3],h=o[0].length;c.length>=4&&(c=c.slice(0,c.length-4),h-=4),n.push(new Tr(s.parent,l,l+h,o[1],c,o[2],s))}else if(s.name=="ListItem"&&s.parent.name=="BulletList"&&(o=/^( *)([-+*])( {1,4}\[[ xX]\])?( +)/.exec(a.text.slice(l)))){let c=o[4],h=o[0].length;c.length>4&&(c=c.slice(0,c.length-4),h-=4);let f=o[2];o[3]&&(f+=o[3].replace(/[xX]/," ")),n.push(new Tr(s.parent,l,l+h,o[1],c,f,s))}}return n}function hm(i,e){return/^(\s*)(\d+)(?=[.)])/.exec(e.sliceString(i.from,i.from+10))}function zc(i,e,t,n=0){for(let r=-1,s=i;;){if(s.name=="ListItem"){let a=hm(s,e),l=+a[2];if(r>=0){if(l!=r+1)return;t.push({from:s.from+a[1].length,to:s.from+a[0].length,insert:String(r+2+n)})}r=l}let o=s.nextSibling;if(!o)break;s=o}}function jc(i,e){let t=/^[ \t]*/.exec(i)[0].length;if(!t||e.facet(Rt)!=" ")return i;let n=Ne(i,4,t),r="";for(let s=n;s>0;)s>=4?(r+=" ",s-=4):(r+=" ",s--);return r+i.slice(t)}var Vc=(i={})=>({state:e,dispatch:t})=>{let n=U(e),{doc:r}=e,s=null,o=e.changeByRange(a=>{if(!a.empty||!ki.isActiveAt(e,a.from,-1)&&!ki.isActiveAt(e,a.from,1))return s={range:a};let l=a.from,c=r.lineAt(l),h=cm(n.resolveInner(l,-1),r);for(;h.length&&h[h.length-1].from>l-c.from;)h.pop();if(!h.length)return s={range:a};let f=h[h.length-1];if(f.to-f.spaceAfter.length>l-c.from)return s={range:a};let u=l>=f.to-f.spaceAfter.length&&!/\S/.test(c.text.slice(f.to));if(f.item&&u){let g=f.node.firstChild,Q=f.node.getChild("ListItem","ListItem");if(g.to>=l||Q&&Q.to0&&!/[^\s>]/.test(r.lineAt(c.from-1).text)||i.nonTightLists===!1){let S=h.length>1?h[h.length-2]:null,x,v="";S&&S.item?(x=c.from+S.from,v=S.marker(r,1)):x=c.from+(S?S.to:0);let $=[{from:x,to:l,insert:v}];return f.node.name=="OrderedList"&&zc(f.item,r,$,-2),S&&S.node.name=="OrderedList"&&zc(S.item,r,$),{range:P.cursor(x+v.length),changes:$}}else{let S=sm(h,e,c);return{range:P.cursor(l+S.length+1),changes:{from:c.from,insert:S+e.lineBreak}}}}if(f.node.name=="Blockquote"&&u&&c.from){let g=r.lineAt(c.from-1),Q=/>\s*$/.exec(g.text);if(Q&&Q.index==f.from){let S=e.changes([{from:g.from+Q.index,to:g.to},{from:c.from+f.from,to:c.to}]);return{range:a.map(S),changes:S}}}let O=[];f.node.name=="OrderedList"&&zc(f.item,r,O);let p=f.item&&f.item.from]*/.exec(c.text)[0].length>=f.to)for(let g=0,Q=h.length-1;g<=Q;g++)m+=g==Q&&!p?h[g].marker(r,1):h[g].blank(gc.from&&/\s/.test(c.text.charAt(b-c.from-1));)b--;return m=jc(m,e),A1(f.node,e.doc)&&(m=sm(h,e,c)+e.lineBreak+m),O.push({from:b,to:l,insert:e.lineBreak+m}),{range:P.cursor(b+m.length+1),changes:O}});return s?!1:(t(e.update(o,{scrollIntoView:!0,userEvent:"input"})),!0)},R1=Vc();function rm(i){return i.name=="QuoteMark"||i.name=="ListMark"}function A1(i,e){if(i.name!="OrderedList"&&i.name!="BulletList")return!1;let t=i.firstChild,n=i.getChild("ListItem","ListItem");if(!n)return!1;let r=e.lineAt(t.to),s=e.lineAt(n.from),o=/^[\s>]*$/.test(r.text);return r.number+(o?0:1){let t=U(i),n=null,r=i.changeByRange(s=>{let o=s.from,{doc:a}=i;if(s.empty&&ki.isActiveAt(i,s.from)){let l=a.lineAt(o),c=cm(Z1(t,o),a);if(c.length){let h=c[c.length-1],f=h.to-h.spaceAfter.length+(h.spaceAfter?1:0);if(o-l.from>f&&!/\S/.test(l.text.slice(f,o-l.from)))return{range:P.cursor(l.from+f),changes:{from:l.from+f,to:o}};if(o-l.from==f&&(!h.item||l.from<=h.item.from||!/\S/.test(l.text.slice(0,h.to)))){let u=l.from+h.from;if(h.item&&h.node.from{var t;let{main:n}=e.state.selection;if(n.empty)return!1;let r=(t=i.clipboardData)===null||t===void 0?void 0:t.getData("text/plain");if(!r||!/^(https?:\/\/|mailto:|xmpp:|www\.)/.test(r)||(/^www\./.test(r)&&(r="https://"+r),!ki.isActiveAt(e.state,n.from,1)))return!1;let s=U(e.state),o=!1;return s.iterate({from:n.from,to:n.to,enter:a=>{(a.from>n.from||L1.test(a.name))&&(o=!0)},leave:a=>{a.to{if(i.next==-1&&e.canShift(um))return i.acceptToken(um);let t=i.peek(-1);if((Ft(t)||t<0)&&e.context.type!=Xr){if(Xn(i,45))if(e.canShift(Cn))i.acceptToken(Cn);else return i.acceptToken(W1,3);if(Xn(i,46))if(e.canShift(Cn))i.acceptToken(Cn);else return i.acceptToken(j1,3);let n=0;for(;i.next==32;)n++,i.advance();(n{if(e.context.type==Xr){i.next==63&&(i.advance(),Gi(i.next)&&i.acceptToken(Y1));return}if(i.next==45)i.advance(),Gi(i.next)&&i.acceptToken(e.context.type==Fc&&e.context.depth==Cr(i,i.pos-1)?V1:pm);else if(i.next==63)i.advance(),Gi(i.next)&&i.acceptToken(e.context.type==Bc&&e.context.depth==Cr(i,i.pos-1)?D1:mm);else{let t=i.pos;for(;;)if(Gc(i.next)){if(i.pos==t)return;i.advance()}else if(i.next==33)Sm(i);else if(i.next==38)Nc(i);else if(i.next==42){Nc(i);break}else if(i.next==39||i.next==34){if(Hc(i,!0))break;return}else if(i.next==91||i.next==123){if(!lx(i))return;break}else{ym(i,!0,!1,0);break}for(;Gc(i.next);)i.advance();if(i.next==58){if(i.pos==t&&e.canShift(J1))return;let n=i.peek(1);Gi(n)&&i.acceptTokenTo(e.context.type==Bc&&e.context.depth==Cr(i,t)?I1:gm,t)}}},{contextual:!0});function ax(i){return i>32&&i<127&&i!=34&&i!=37&&i!=44&&i!=60&&i!=62&&i!=92&&i!=94&&i!=96&&i!=123&&i!=124&&i!=125}function Om(i){return i>=48&&i<=57||i>=97&&i<=102||i>=65&&i<=70}function dm(i,e){return i.next==37?(i.advance(),Om(i.next)&&i.advance(),Om(i.next)&&i.advance(),!0):ax(i.next)||e&&i.next==44?(i.advance(),!0):!1}function Sm(i){if(i.advance(),i.next==60){for(i.advance();;)if(!dm(i,!0)){i.next==62&&i.advance();break}}else for(;dm(i,!1););}function Nc(i){for(i.advance();!Gi(i.next)&&lo(i.next)!="f";)i.advance()}function Hc(i,e){let t=i.next,n=!1,r=i.pos;for(i.advance();;){let s=i.next;if(s<0)break;if(i.advance(),s==t)if(s==39)if(i.next==39)i.advance();else break;else break;else if(s==92&&t==34)i.next>=0&&i.advance();else if(Ft(s)){if(e)return!1;n=!0}else if(e&&i.pos>=r+1024)return!1}return!n}function lx(i){for(let e=[],t=i.pos+1024;;)if(i.next==91||i.next==123)e.push(i.next),i.advance();else if(i.next==39||i.next==34){if(!Hc(i,!0))return!1}else if(i.next==93||i.next==125){if(e[e.length-1]!=i.next-2)return!1;if(e.pop(),i.advance(),!e.length)return!0}else{if(i.next<0||i.pos>t||Ft(i.next))return!1;i.advance()}}var cx="iiisiiissisfissssssssssssisssiiissssssssssssssssssssssssssfsfssissssssssssssssssssssssssssfif";function lo(i){return i<33?"u":i>125?"s":cx[i-33]}function Ic(i,e){let t=lo(i);return t!="u"&&!(e&&t=="f")}function ym(i,e,t,n){if(lo(i.next)=="s"||(i.next==63||i.next==58||i.next==45)&&Ic(i.peek(1),t))i.advance();else return!1;let r=i.pos;for(;;){let s=i.next,o=0,a=n+1;for(;bm(s);){if(Ft(s)){if(e)return!1;a=0}else a++;s=i.peek(++o)}if(!(s>=0&&(s==58?Ic(i.peek(o+1),t):s==35?i.peek(o-1)!=32:Ic(s,t)))||!t&&a<=n||a==0&&!t&&(Xn(i,45,o)||Xn(i,46,o)))break;if(e&&lo(s)=="f")return!1;for(let c=o;c>=0;c--)i.advance();if(e&&i.pos>r+1024)return!1}return!0}var hx=new J((i,e)=>{if(i.next==33)Sm(i),i.acceptToken(F1);else if(i.next==38||i.next==42){let t=i.next==38?G1:N1;Nc(i),i.acceptToken(t)}else i.next==39||i.next==34?(Hc(i,!1),i.acceptToken(U1)):ym(i,!1,e.context.type==Xr,e.context.depth)&&i.acceptToken(B1)}),fx=new J((i,e)=>{let t=e.context.type==Uc?e.context.depth:-1,n=i.pos;e:for(;;){let r=0,s=i.next;for(;s==32;)s=i.peek(++r);if(!r&&(Xn(i,45,r)||Xn(i,46,r))||!Ft(s)&&(t<0&&(t=Math.max(e.context.depth+1,r)),rYAN>Y",stateData:";S~O!fOS!gOS^OS~OP_OQbORSOTUOWROXROYYOZZO[XOcPOqQO!PVO!V[O!cTO~O`cO~P]OVkOWROXROYeOZfO[dOcPOmhOqQO~OboO~P!bOVtOWROXROYeOZfO[dOcPOmrOqQO~OpwO~P#WORSOTUOWROXROYYOZZO[XOcPOqQO!PVO!cTO~OSvP!avP!bvP~P#|OWROXROYeOZfO[dOcPOqQO~OmzO~P%OOm!OOUzP!azP!bzP!dzP~P#|O^!SO!b!QO!f!TO!g!RO~ORSOTUOWROXROcPOqQO!PVO!cTO~OY!UOP!QXQ!QX!V!QX!`!QXS!QX!a!QX!b!QXU!QXm!QX!d!QX~P&aO[!WOP!SXQ!SX!V!SX!`!SXS!SX!a!SX!b!SXU!SXm!SX!d!SX~P&aO^!ZO!W![O!b!YO!f!]O!g!YO~OP!_O!V[OQaX!`aX~OPaXQaX!VaX!`aX~P#|OP!bOQ!cO!V[O~OP_O!V[O~P#|OWROXROY!fOcPOqQObfXmfXofXpfX~OWROXRO[!hOcPOqQObhXmhXohXphX~ObeXmlXoeX~ObkXokX~P%OOm!kO~Om!lObnPonP~P%OOb!pOo!oO~Ob!pO~P!bOm!sOosXpsX~OosXpsX~P%OOm!uOotPptP~P%OOo!xOp!yO~Op!yO~P#WOS!|O!a#OO!b#OO~OUyX!ayX!byX!dyX~P#|Om#QO~OU#SO!a#UO!b#UO!d#RO~Om#WOUzX!azX!bzX!dzX~O]#XO~O!b#XO!g#YO~O^#ZO!b#XO!g#YO~OP!RXQ!RX!V!RX!`!RXS!RX!a!RX!b!RXU!RXm!RX!d!RX~P&aOP!TXQ!TX!V!TX!`!TXS!TX!a!TX!b!TXU!TXm!TX!d!TX~P&aO!b#^O!g#^O~O^#_O!b#^O!f#`O!g#^O~O^#_O!W#aO!b#^O!g#^O~OPaaQaa!Vaa!`aa~P#|OP#cO!V[OQ!XX!`!XX~OP!XXQ!XX!V!XX!`!XX~P#|OP_O!V[OQ!_X!`!_X~P#|OWROXROcPOqQObgXmgXogXpgX~OWROXROcPOqQObiXmiXoiXpiX~Obkaoka~P%OObnXonX~P%OOm#kO~Ob#lOo!oO~Oosapsa~P%OOotXptX~P%OOm#pO~Oo!xOp#qO~OSwP!awP!bwP~P#|OS!|O!a#vO!b#vO~OUya!aya!bya!dya~P#|Om#xO~P%OOm#{OU}P!a}P!b}P!d}P~P#|OU#SO!a$OO!b$OO!d#RO~O]$QO~O!b$QO!g$RO~O!b$SO!g$SO~O^$TO!b$SO!g$SO~O^$TO!b$SO!f$UO!g$SO~OP!XaQ!Xa!V!Xa!`!Xa~P#|Obnaona~P%OOotapta~P%OOo!xO~OU|X!a|X!b|X!d|X~P#|Om$ZO~Om$]OU}X!a}X!b}X!d}X~O]$^O~O!b$_O!g$_O~O^$`O!b$_O!g$_O~OU|a!a|a!b|a!d|a~P#|O!b$cO!g$cO~O",goto:",]!mPPPPPPPPPPPPPPPPP!nPP!v#v#|$`#|$c$f$j$nP%VPPP!v%Y%^%a%{&O%a&R&U&X&_&b%aP&e&{&e'O'RPP']'a'g'm's'y(XPPPPPPPP(_)e*X+c,VUaObcR#e!c!{ROPQSTUXY_bcdehknrtvz!O!U!W!_!b!c!f!h!k!l!s!u!|#Q#R#S#W#c#k#p#x#{$Z$]QmPR!qnqfPQThknrtv!k!l!s!u#R#k#pR!gdR!ieTlPnTjPnSiPnSqQvQ{TQ!mkQ!trQ!vtR#y#RR!nkTsQvR!wt!RWOSUXY_bcz!O!U!W!_!b!c!|#Q#S#W#c#x#{$Z$]RySR#t!|R|TR|UQ!PUR#|#SR#z#RR#z#SyZOSU_bcz!O!_!b!c!|#Q#S#W#c#x#{$Z$]R!VXR!XYa]O^abc!a!c!eT!da!eQnPR!rnQvQR!{vQ!}yR#u!}Q#T|R#}#TW^Obc!cS!^^!aT!aa!eQ!eaR#f!eW`Obc!cQxSS}U#SQ!`_Q#PzQ#V!OQ#b!_Q#d!bQ#s!|Q#w#QQ$P#WQ$V#cQ$Y#xQ$[#{Q$a$ZR$b$]xZOSU_bcz!O!_!b!c!|#Q#S#W#c#x#{$Z$]Q!VXQ!XYQ#[!UR#]!W!QWOSUXY_bcz!O!U!W!_!b!c!|#Q#S#W#c#x#{$Z$]pfPQThknrtv!k!l!s!u#R#k#pQ!gdQ!ieQ#g!fR#h!hSgPn^pQTkrtv#RQ!jhQ#i!kQ#j!lQ#n!sQ#o!uQ$W#kR$X#pQuQR!zv",nodeNames:"\u26A0 DirectiveEnd DocEnd - - ? ? ? Literal QuotedLiteral Anchor Alias Tag BlockLiteralContent Comment Stream BOM Document ] [ FlowSequence Item Tagged Anchored Anchored Tagged FlowMapping Pair Key : Pair , } { FlowMapping Pair Pair BlockSequence Item Item BlockMapping Pair Pair Key Pair Pair BlockLiteral BlockLiteralHeader Tagged Anchored Anchored Tagged Directive DirectiveName DirectiveContent Document",maxTerm:74,context:rx,nodeProps:[["isolate",-3,8,9,14,""],["openedBy",18,"[",32,"{"],["closedBy",19,"]",33,"}"]],propSources:[ux],skippedNodes:[0],repeatNodeCount:6,tokenData:"-Y~RnOX#PXY$QYZ$]Z]#P]^$]^p#Ppq$Qqs#Pst$btu#Puv$yv|#P|}&e}![#P![!]'O!]!`#P!`!a'i!a!}#P!}#O*g#O#P#P#P#Q+Q#Q#o#P#o#p+k#p#q'i#q#r,U#r;'S#P;'S;=`#z<%l?HT#P?HT?HU,o?HUO#PQ#UU!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PQ#kTOY#PZs#Pt;'S#P;'S;=`#z<%lO#PQ#}P;=`<%l#P~$VQ!f~XY$Qpq$Q~$bO!g~~$gS^~OY$bZ;'S$b;'S;=`$s<%lO$b~$vP;=`<%l$bR%OX!WQOX%kXY#PZ]%k]^#P^p%kpq#hq;'S%k;'S;=`&_<%lO%kR%rX!WQ!VPOX%kXY#PZ]%k]^#P^p%kpq#hq;'S%k;'S;=`&_<%lO%kR&bP;=`<%l%kR&lUoP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR'VUmP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR'p[!PP!WQOY#PZp#Ppq#hq{#P{|(f|}#P}!O(f!O!R#P!R![)p![;'S#P;'S;=`#z<%lO#PR(mW!PP!WQOY#PZp#Ppq#hq!R#P!R![)V![;'S#P;'S;=`#z<%lO#PR)^U!PP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR)wY!PP!WQOY#PZp#Ppq#hq{#P{|)V|}#P}!O)V!O;'S#P;'S;=`#z<%lO#PR*nUcP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR+XUbP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR+rUqP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR,]UpP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR,vU`P!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#P",tokenizers:[sx,ox,hx,fx,0,1],topRules:{Stream:[0,15]},tokenPrec:0});var Ox=Pe.deserialize({version:14,states:"!vOQOPOOO]OPO'#C_OhOPO'#C^OOOO'#Cc'#CcOpOPO'#CaQOOOOOO{OPOOOOOO'#Cb'#CbO!WOPO'#C`O!`OPO,58xOOOO-E6a-E6aOOOO-E6`-E6`OOOO'#C_'#C_OOOO1G.d1G.d",stateData:"!h~OXPOYROWTP~OWVXXRXYRX~OYVOXSP~OXROYROWTX~OXROYROWTP~OYVOXSX~OX[O~OXY~",goto:"vWPPX[beioRUOQQOR]XRXQTTOUQWQRZWSSOURYS",nodeNames:"\u26A0 Document Frontmatter DashLine FrontmatterContent Body",maxTerm:10,skippedNodes:[0],repeatNodeCount:2,tokenData:"$z~RXOYnYZ!^Z]n]^!^^}n}!O!i!O;'Sn;'S;=`!c<%lOn~qXOYnYZ!^Z]n]^!^^;'Sn;'S;=`!c<%l~n~On~~!^~!cOY~~!fP;=`<%ln~!lZOYnYZ!^Z]n]^!^^}n}!O#_!O;'Sn;'S;=`!c<%l~n~On~~!^~#bZOYnYZ!^Z]n]^!^^}n}!O$T!O;'Sn;'S;=`!c<%l~n~On~~!^~$WXOYnYZ$sZ]n]^$s^;'Sn;'S;=`!c<%l~n~On~~$s~$zOX~Y~",tokenizers:[0],topRules:{Document:[0,1]},tokenPrec:67}),dx=$e.define({name:"yaml",parser:km.configure({props:[we.add({Stream:i=>{for(let e=i.node.resolve(i.pos,-1);e&&e.to>=i.pos;e=e.parent){if(e.name=="BlockLiteralContent"&&e.fromi.pos)return null}}return null},FlowMapping:St({closing:"}"}),FlowSequence:St({closing:"]"})}),Te.add({"FlowMapping FlowSequence":ht,"Item Pair BlockLiteral":(i,e)=>({from:e.doc.lineAt(i.from).to,to:i.to})})]}),languageData:{commentTokens:{line:"#"},indentOnInput:/^\s*[\]\}]$/}});var px=$e.define({name:"yaml-frontmatter",parser:Ox.configure({props:[Qe({DashLine:d.meta})]})});function xm(i){let{language:e,support:t}=i.content instanceof me?i.content:{language:i.content,support:[]};return new me(px.configure({wrap:bn(n=>n.name=="FrontmatterContent"?{parser:dx.parser}:n.name=="Body"?{parser:e.parser}:null)}),t)}var mx=1,Cm=194,Xm=195,gx=196,wm=197,Qx=198,bx=199,Sx=200,yx=2,_m=3,Pm=201,kx=24,xx=25,wx=49,Px=50,vx=55,$x=56,Tx=57,Cx=59,Xx=60,_x=61,Rx=62,Ax=63,Zx=65,Ex=238,qx=71,zx=241,Lx=242,Mx=243,Wx=244,jx=245,Vx=246,Dx=247,Yx=248,Rm=72,Ix=249,Bx=250,Ux=251,Gx=252,Nx=253,Fx=254,Hx=255,Kx=256,Jx=73,ew=77,tw=263,iw=112,nw=130,rw=151,sw=152,ow=155,Ni=10,_r=13,th=32,fo=9,ih=35,aw=40,lw=46,eh=123,vm=125,Am=39,Zm=34,$m=92,cw=111,hw=120,fw=78,uw=117,Ow=85,dw=new Set([xx,wx,Px,tw,Zx,nw,$x,Tx,Ex,Rx,Ax,Rm,Jx,ew,Xx,_x,rw,sw,ow,iw]);function Kc(i){return i==Ni||i==_r}function Jc(i){return i>=48&&i<=57||i>=65&&i<=70||i>=97&&i<=102}var pw=new J((i,e)=>{let t;if(i.next<0)i.acceptToken(bx);else if(e.context.flags&co)Kc(i.next)&&i.acceptToken(Qx,1);else if(((t=i.peek(-1))<0||Kc(t))&&e.canShift(wm)){let n=0;for(;i.next==th||i.next==fo;)i.advance(),n++;(i.next==Ni||i.next==_r||i.next==ih)&&i.acceptToken(wm,-n)}else Kc(i.next)&&i.acceptToken(gx,1)},{contextual:!0}),mw=new J((i,e)=>{let t=e.context;if(t.flags)return;let n=i.peek(-1);if(n==Ni||n==_r){let r=0,s=0;for(;;){if(i.next==th)r++;else if(i.next==fo)r+=8-r%8;else break;i.advance(),s++}r!=t.indent&&i.next!=Ni&&i.next!=_r&&i.next!=ih&&(r[i,e|Em])),bw=new dt({start:gw,reduce(i,e,t,n){return i.flags&co&&dw.has(e)||(e==qx||e==Rm)&&i.flags&Em?i.parent:i},shift(i,e,t,n){return e==Cm?new ho(i,Qw(n.read(n.pos,t.pos)),0):e==Xm?i.parent:e==kx||e==vx||e==Cx||e==_m?new ho(i,0,co):Tm.has(e)?new ho(i,0,Tm.get(e)|i.flags&co):i},hash(i){return i.hash}}),Sw=new J(i=>{for(let e=0;e<5;e++){if(i.next!="print".charCodeAt(e))return;i.advance()}if(!/\w/.test(String.fromCharCode(i.next)))for(let e=0;;e++){let t=i.peek(e);if(!(t==th||t==fo)){t!=aw&&t!=lw&&t!=Ni&&t!=_r&&t!=ih&&i.acceptToken(mx);return}}}),yw=new J((i,e)=>{let{flags:t}=e.context,n=t&Ht?Zm:Am,r=(t&Kt)>0,s=!(t&Jt),o=(t&ei)>0,a=i.pos;for(;!(i.next<0);)if(o&&i.next==eh)if(i.peek(1)==eh)i.advance(2);else{if(i.pos==a){i.acceptToken(_m,1);return}break}else if(s&&i.next==$m){if(i.pos==a){i.advance();let l=i.next;l>=0&&(i.advance(),kw(i,l)),i.acceptToken(yx);return}break}else if(i.next==$m&&!s&&i.peek(1)>-1)i.advance(2);else if(i.next==n&&(!r||i.peek(1)==n&&i.peek(2)==n)){if(i.pos==a){i.acceptToken(Pm,r?3:1);return}break}else if(i.next==Ni){if(r)i.advance();else if(i.pos==a){i.acceptToken(Pm);return}break}else i.advance();i.pos>a&&i.acceptToken(Sx)});function kw(i,e){if(e==cw)for(let t=0;t<2&&i.next>=48&&i.next<=55;t++)i.advance();else if(e==hw)for(let t=0;t<2&&Jc(i.next);t++)i.advance();else if(e==uw)for(let t=0;t<4&&Jc(i.next);t++)i.advance();else if(e==Ow)for(let t=0;t<8&&Jc(i.next);t++)i.advance();else if(e==fw&&i.next==eh){for(i.advance();i.next>=0&&i.next!=vm&&i.next!=Am&&i.next!=Zm&&i.next!=Ni;)i.advance();i.next==vm&&i.advance()}}var xw=Qe({'async "*" "**" FormatConversion FormatSpec':d.modifier,"for while if elif else try except finally return raise break continue with pass assert await yield match case":d.controlKeyword,"in not and or is del":d.operatorKeyword,"from def class global nonlocal lambda":d.definitionKeyword,import:d.moduleKeyword,"with as print":d.keyword,Boolean:d.bool,None:d.null,VariableName:d.variableName,"CallExpression/VariableName":d.function(d.variableName),"FunctionDefinition/VariableName":d.function(d.definition(d.variableName)),"ClassDefinition/VariableName":d.definition(d.className),PropertyName:d.propertyName,"CallExpression/MemberExpression/PropertyName":d.function(d.propertyName),Comment:d.lineComment,Number:d.number,String:d.string,FormatString:d.special(d.string),Escape:d.escape,UpdateOp:d.updateOperator,"ArithOp!":d.arithmeticOperator,BitOp:d.bitwiseOperator,CompareOp:d.compareOperator,AssignOp:d.definitionOperator,Ellipsis:d.punctuation,At:d.meta,"( )":d.paren,"[ ]":d.squareBracket,"{ }":d.brace,".":d.derefOperator,", ;":d.separator}),ww={__proto__:null,await:44,or:54,and:56,in:60,not:62,is:64,if:70,else:72,lambda:76,yield:94,from:96,async:102,for:104,None:162,True:164,False:164,del:178,pass:182,break:186,continue:190,return:194,raise:202,import:206,as:208,global:212,nonlocal:214,assert:218,type:223,elif:236,while:240,try:246,except:248,finally:250,with:254,def:258,class:268,match:279,case:285},qm=Pe.deserialize({version:14,states:"##jQ`QeOOP$}OSOOO&WQtO'#HUOOQS'#Co'#CoOOQS'#Cp'#CpO'vQdO'#CnO*UQtO'#HTOOQS'#HU'#HUOOQS'#DU'#DUOOQS'#HT'#HTO*rQdO'#D_O+VQdO'#DfO+gQdO'#DjO+zOWO'#DuO,VOWO'#DvO.[QtO'#GuOOQS'#Gu'#GuO'vQdO'#GtO0ZQtO'#GtOOQS'#Eb'#EbO0rQdO'#EcOOQS'#Gs'#GsO0|QdO'#GrOOQV'#Gr'#GrO1XQdO'#FYOOQS'#G^'#G^O1^QdO'#FXOOQV'#IS'#ISOOQV'#Gq'#GqOOQV'#Fq'#FqQ`QeOOO'vQdO'#CqO1lQdO'#C}O1sQdO'#DRO2RQdO'#HYO2cQtO'#EVO'vQdO'#EWOOQS'#EY'#EYOOQS'#E['#E[OOQS'#E^'#E^O2wQdO'#E`O3_QdO'#EdO3rQdO'#EfO3zQtO'#EfO1XQdO'#EiO0rQdO'#ElO1XQdO'#EnO0rQdO'#EtO0rQdO'#EwO4VQdO'#EyO4^QdO'#FOO4iQdO'#EzO0rQdO'#FOO1XQdO'#FQO1XQdO'#FVO4nQdO'#F[P4uOdO'#GpPOOO)CBd)CBdOOQS'#Ce'#CeOOQS'#Cf'#CfOOQS'#Cg'#CgOOQS'#Ch'#ChOOQS'#Ci'#CiOOQS'#Cj'#CjOOQS'#Cl'#ClO'vQdO,59OO'vQdO,59OO'vQdO,59OO'vQdO,59OO'vQdO,59OO'vQdO,59OO5TQdO'#DoOOQS,5:Y,5:YO5hQdO'#HdOOQS,5:],5:]O5uQ!fO,5:]O5zQtO,59YO1lQdO,59bO1lQdO,59bO1lQdO,59bO8jQdO,59bO8oQdO,59bO8vQdO,59jO8}QdO'#HTO:TQdO'#HSOOQS'#HS'#HSOOQS'#D['#D[O:lQdO,59aO'vQdO,59aO:zQdO,59aOOQS,59y,59yO;PQdO,5:RO'vQdO,5:ROOQS,5:Q,5:QO;_QdO,5:QO;dQdO,5:XO'vQdO,5:XO'vQdO,5:VOOQS,5:U,5:UO;uQdO,5:UO;zQdO,5:WOOOW'#Fy'#FyOOOOQS'#Ds'#DsOOQS1G/w1G/wOOQS1G.|1G.|O!/[QtO1G.|O!/cQtO1G.|O1lQdO1G.|O!0OQdO1G/UOOQS'#DZ'#DZO0rQdO,59tOOQS1G.{1G.{O!0VQdO1G/eO!0gQdO1G/eO!0oQdO1G/fO'vQdO'#H[O!0tQdO'#H[O!0yQtO1G.{O!1ZQdO,59iO!2aQdO,5=zO!2qQdO,5=zO!2yQdO1G/mO!3OQtO1G/mOOQS1G/l1G/lO!3`QdO,5=uO!4VQdO,5=uO0rQdO1G/qO!4tQdO1G/sO!4yQtO1G/sO!5ZQtO1G/qOOQS1G/p1G/pOOQS1G/r1G/rOOOW-E9w-E9wOOQS1G/{1G/{O!5kQdO'#HxO0rQdO'#HxO!5|QdO,5>cOOOW-E9x-E9xOOQS1G/|1G/|OOQS-E9{-E9{O!6[Q#xO1G2zO!6{QtO1G2zO'vQdO,5kOOQS1G1`1G1`O!8RQdO1G1`OOQS'#DV'#DVO0rQdO,5=qOOQS,5=q,5=qO!8WQdO'#FrO!8cQdO,59oO!8kQdO1G/XO!8uQtO,5=uOOQS1G3`1G3`OOQS,5:m,5:mO!9fQdO'#GtOOQS,5jO!;ZQdO,5>jO1XQdO,5>jO!;lQdO,5>iOOQS-E:R-E:RO!;qQdO1G0lO!;|QdO1G0lO!lO!lO!hO!=VQdO,5>hO!=hQdO'#EpO0rQdO1G0tO!=sQdO1G0tO!=xQgO1G0zO!AvQgO1G0}O!EqQdO,5>oO!E{QdO,5>oO!FTQtO,5>oO0rQdO1G1PO!F_QdO1G1PO4iQdO1G1UO!!vQdO1G1WOOQV,5;a,5;aO!FdQfO,5;aO!FiQgO1G1QO!JjQdO'#GZO4iQdO1G1QO4iQdO1G1QO!JzQdO,5>pO!KXQdO,5>pO1XQdO,5>pOOQV1G1U1G1UO!KaQdO'#FSO!KrQ!fO1G1WO!KzQdO1G1WOOQV1G1]1G1]O4iQdO1G1]O!LPQdO1G1]O!LXQdO'#F^OOQV1G1b1G1bO!#ZQtO1G1bPOOO1G2v1G2vP!L^OSO1G2vOOQS,5=},5=}OOQS'#Dp'#DpO0rQdO,5=}O!LfQdO,5=|O!LyQdO,5=|OOQS1G/u1G/uO!MRQdO,5>PO!McQdO,5>PO!MkQdO,5>PO!NOQdO,5>PO!N`QdO,5>POOQS1G3j1G3jOOQS7+$h7+$hO!8kQdO7+$pO#!RQdO1G.|O#!YQdO1G.|OOQS1G/`1G/`OOQS,5<`,5<`O'vQdO,5<`OOQS7+%P7+%PO#!aQdO7+%POOQS-E9r-E9rOOQS7+%Q7+%QO#!qQdO,5=vO'vQdO,5=vOOQS7+$g7+$gO#!vQdO7+%PO##OQdO7+%QO##TQdO1G3fOOQS7+%X7+%XO##eQdO1G3fO##mQdO7+%XOOQS,5<_,5<_O'vQdO,5<_O##rQdO1G3aOOQS-E9q-E9qO#$iQdO7+%]OOQS7+%_7+%_O#$wQdO1G3aO#%fQdO7+%_O#%kQdO1G3gO#%{QdO1G3gO#&TQdO7+%]O#&YQdO,5>dO#&sQdO,5>dO#&sQdO,5>dOOQS'#Dx'#DxO#'UO&jO'#DzO#'aO`O'#HyOOOW1G3}1G3}O#'fQdO1G3}O#'nQdO1G3}O#'yQ#xO7+(fO#(jQtO1G2UP#)TQdO'#GOOOQS,5nQdO,5sQdO1G4OOOQS-E9y-E9yO#?^QdO1G4OO<[QdO'#H{OOOO'#D{'#D{OOOO'#F|'#F|O#?oO&jO,5:fOOOW,5>e,5>eOOOW7+)i7+)iO#?zQdO7+)iO#@SQdO1G2zO#@mQdO1G2zP'vQdO'#FuO0rQdO<mO#BQQdO,5>mOOQS1G0v1G0vOOQS<rO#KgQdO,5>rO#KrQdO,5>rO#K}QdO,5>qO#L`QdO,5>qOOQS1G1Y1G1YOOQS,5;p,5;pOOQV<VAN>VO$ oQdO<cAN>cO0rQdO1G1|O$!PQtO1G1|P$!ZQdO'#FvOOQS1G2R1G2RP$!hQdO'#F{O$!uQdO7+)jO$#`QdO,5>gOOOO-E9z-E9zOOOW<tO$4{QdO,5>tO1XQdO,5vO$)nQdO,5>vOOQS1G1p1G1pOOQS,5<[,5<[OOQU7+'P7+'PO$+zQdO1G/iO$)nQdO,5wO$8zQdO,5>wOOQS1G1s1G1sOOQS7+'S7+'SP$)nQdO'#GdO$9SQdO1G4bO$9^QdO1G4bO$9fQdO1G4bOOQS7+%T7+%TO$9tQdO1G1tO$:SQtO'#FaO$:ZQdO,5<}OOQS,5<},5<}O$:iQdO1G4cOOQS-E:a-E:aO$)nQdO,5<|O$:pQdO,5<|O$:uQdO7+)|OOQS-E:`-E:`O$;PQdO7+)|O$)nQdO,5S~O%cOS%^OSSOS%]PQ~OPdOVaOfoOhYOopOs!POvqO!PrO!Q{O!T!SO!U!RO!XZO!][O!h`O!r`O!s`O!t`O!{tO!}uO#PvO#RwO#TxO#XyO#ZzO#^|O#_|O#a}O#c!OO#l!QO#o!TO#s!UO#u!VO#z!WO#}hO$P!XO%oRO%pRO%tSO%uWO&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O&c^O&d^O&e^O&f^O&g^O&h^O&i^O&j^O~O%]!YO~OV!aO_!aOa!bOh!iO!X!kO!f!mO%j![O%k!]O%l!^O%m!_O%n!_O%o!`O%p!`O%q!aO%r!aO%s!aO~Ok%xXl%xXm%xXn%xXo%xXp%xXs%xXz%xX{%xX!x%xX#g%xX%[%xX%_%xX%z%xXg%xX!T%xX!U%xX%{%xX!W%xX![%xX!Q%xX#[%xXt%xX!m%xX~P%SOfoOhYO!XZO!][O!h`O!r`O!s`O!t`O%oRO%pRO%tSO%uWO&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O&c^O&d^O&e^O&f^O&g^O&h^O&i^O&j^O~Oz%wX{%wX#g%wX%[%wX%_%wX%z%wX~Ok!pOl!qOm!oOn!oOo!rOp!sOs!tO!x%wX~P)pOV!zOg!|Oo0cOv0qO!PrO~P'vOV#OOo0cOv0qO!W#PO~P'vOV#SOa#TOo0cOv0qO![#UO~P'vOQ#XO%`#XO%a#ZO~OQ#^OR#[O%`#^O%a#`O~OV%iX_%iXa%iXh%iXk%iXl%iXm%iXn%iXo%iXp%iXs%iXz%iX!X%iX!f%iX%j%iX%k%iX%l%iX%m%iX%n%iX%o%iX%p%iX%q%iX%r%iX%s%iXg%iX!T%iX!U%iX~O&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O&c^O&d^O&e^O&f^O&g^O&h^O&i^O&j^O{%iX!x%iX#g%iX%[%iX%_%iX%z%iX%{%iX!W%iX![%iX!Q%iX#[%iXt%iX!m%iX~P,eOz#dO{%hX!x%hX#g%hX%[%hX%_%hX%z%hX~Oo0cOv0qO~P'vO#g#gO%[#iO%_#iO~O%uWO~O!T#nO#u!VO#z!WO#}hO~OopO~P'vOV#sOa#tO%uWO{wP~OV#xOo0cOv0qO!Q#yO~P'vO{#{O!x$QO%z#|O#g!yX%[!yX%_!yX~OV#xOo0cOv0qO#g#SX%[#SX%_#SX~P'vOo0cOv0qO#g#WX%[#WX%_#WX~P'vOh$WO%uWO~O!f$YO!r$YO%uWO~OV$eO~P'vO!U$gO#s$hO#u$iO~O{$jO~OV$qO~P'vOS$sO%[$rO%_$rO%c$tO~OV$}Oa$}Og%POo0cOv0qO~P'vOo0cOv0qO{%SO~P'vO&Y%UO~Oa!bOh!iO!X!kO!f!mOVba_bakbalbambanbaobapbasbazba{ba!xba#gba%[ba%_ba%jba%kba%lba%mba%nba%oba%pba%qba%rba%sba%zbagba!Tba!Uba%{ba!Wba![ba!Qba#[batba!mba~On%ZO~Oo%ZO~P'vOo0cO~P'vOk0eOl0fOm0dOn0dOo0mOp0nOs0rOg%wX!T%wX!U%wX%{%wX!W%wX![%wX!Q%wX#[%wX!m%wX~P)pO%{%]Og%vXz%vX!T%vX!U%vX!W%vX{%vX~Og%_Oz%`O!T%dO!U%cO~Og%_O~Oz%gO!T%dO!U%cO!W&SX~O!W%kO~Oz%lO{%nO!T%dO!U%cO![%}X~O![%rO~O![%sO~OQ#XO%`#XO%a%uO~OV%wOo0cOv0qO!PrO~P'vOQ#^OR#[O%`#^O%a%zO~OV!qa_!qaa!qah!qak!qal!qam!qan!qao!qap!qas!qaz!qa{!qa!X!qa!f!qa!x!qa#g!qa%[!qa%_!qa%j!qa%k!qa%l!qa%m!qa%n!qa%o!qa%p!qa%q!qa%r!qa%s!qa%z!qag!qa!T!qa!U!qa%{!qa!W!qa![!qa!Q!qa#[!qat!qa!m!qa~P#yOz%|O{%ha!x%ha#g%ha%[%ha%_%ha%z%ha~P%SOV&OOopOvqO{%ha!x%ha#g%ha%[%ha%_%ha%z%ha~P'vOz%|O{%ha!x%ha#g%ha%[%ha%_%ha%z%ha~OPdOVaOopOvqO!PrO!Q{O!{tO!}uO#PvO#RwO#TxO#XyO#ZzO#^|O#_|O#a}O#c!OO#g$zX%[$zX%_$zX~P'vO#g#gO%[&TO%_&TO~O!f&UOh&sX%[&sXz&sX#[&sX#g&sX%_&sX#Z&sXg&sX~Oh!iO%[&WO~Okealeameaneaoeapeaseazea{ea!xea#gea%[ea%_ea%zeagea!Tea!Uea%{ea!Wea![ea!Qea#[eatea!mea~P%SOsqazqa{qa#gqa%[qa%_qa%zqa~Ok!pOl!qOm!oOn!oOo!rOp!sO!xqa~PEcO%z&YOz%yX{%yX~O%uWOz%yX{%yX~Oz&]O{wX~O{&_O~Oz%lO#g%}X%[%}X%_%}Xg%}X{%}X![%}X!m%}X%z%}X~OV0lOo0cOv0qO!PrO~P'vO%z#|O#gUa%[Ua%_Ua~Oz&hO#g&PX%[&PX%_&PXn&PX~P%SOz&kO!Q&jO#g#Wa%[#Wa%_#Wa~Oz&lO#[&nO#g&rX%[&rX%_&rXg&rX~O!f$YO!r$YO#Z&qO%uWO~O#Z&qO~Oz&sO#g&tX%[&tX%_&tX~Oz&uO#g&pX%[&pX%_&pX{&pX~O!X&wO%z&xO~Oz&|On&wX~P%SOn'PO~OPdOVaOopOvqO!PrO!Q{O!{tO!}uO#PvO#RwO#TxO#XyO#ZzO#^|O#_|O#a}O#c!OO%['UO~P'vOt'YO#p'WO#q'XOP#naV#naf#nah#nao#nas#nav#na!P#na!Q#na!T#na!U#na!X#na!]#na!h#na!r#na!s#na!t#na!{#na!}#na#P#na#R#na#T#na#X#na#Z#na#^#na#_#na#a#na#c#na#l#na#o#na#s#na#u#na#z#na#}#na$P#na%X#na%o#na%p#na%t#na%u#na&Z#na&[#na&]#na&^#na&_#na&`#na&a#na&b#na&c#na&d#na&e#na&f#na&g#na&h#na&i#na&j#na%Z#na%_#na~Oz'ZO#[']O{&xX~Oh'_O!X&wO~Oh!iO{$jO!X&wO~O{'eO~P%SO%['hO%_'hO~OS'iO%['hO%_'hO~OV!aO_!aOa!bOh!iO!X!kO!f!mO%l!^O%m!_O%n!_O%o!`O%p!`O%q!aO%r!aO%s!aOkWilWimWinWioWipWisWizWi{Wi!xWi#gWi%[Wi%_Wi%jWi%zWigWi!TWi!UWi%{Wi!WWi![Wi!QWi#[WitWi!mWi~O%k!]O~P!#uO%kWi~P!#uOV!aO_!aOa!bOh!iO!X!kO!f!mO%o!`O%p!`O%q!aO%r!aO%s!aOkWilWimWinWioWipWisWizWi{Wi!xWi#gWi%[Wi%_Wi%jWi%kWi%lWi%zWigWi!TWi!UWi%{Wi!WWi![Wi!QWi#[WitWi!mWi~O%m!_O%n!_O~P!&pO%mWi%nWi~P!&pOa!bOh!iO!X!kO!f!mOkWilWimWinWioWipWisWizWi{Wi!xWi#gWi%[Wi%_Wi%jWi%kWi%lWi%mWi%nWi%oWi%pWi%zWigWi!TWi!UWi%{Wi!WWi![Wi!QWi#[WitWi!mWi~OV!aO_!aO%q!aO%r!aO%s!aO~P!)nOVWi_Wi%qWi%rWi%sWi~P!)nO!T%dO!U%cOg&VXz&VX~O%z'kO%{'kO~P,eOz'mOg&UX~Og'oO~Oz'pO{'rO!W&XX~Oo0cOv0qOz'pO{'sO!W&XX~P'vO!W'uO~Om!oOn!oOo!rOp!sOkjisjizji{ji!xji#gji%[ji%_ji%zji~Ol!qO~P!.aOlji~P!.aOk0eOl0fOm0dOn0dOo0mOp0nO~Ot'wO~P!/jOV'|Og'}Oo0cOv0qO~P'vOg'}Oz(OO~Og(QO~O!U(SO~Og(TOz(OO!T%dO!U%cO~P%SOk0eOl0fOm0dOn0dOo0mOp0nOgqa!Tqa!Uqa%{qa!Wqa![qa!Qqa#[qatqa!mqa~PEcOV'|Oo0cOv0qO!W&Sa~P'vOz(WO!W&Sa~O!W(XO~Oz(WO!T%dO!U%cO!W&Sa~P%SOV(]Oo0cOv0qO![%}a#g%}a%[%}a%_%}ag%}a{%}a!m%}a%z%}a~P'vOz(^O![%}a#g%}a%[%}a%_%}ag%}a{%}a!m%}a%z%}a~O![(aO~Oz(^O!T%dO!U%cO![%}a~P%SOz(dO!T%dO!U%cO![&Ta~P%SOz(gO{&lX![&lX!m&lX%z&lX~O{(kO![(mO!m(nO%z(jO~OV&OOopOvqO{%hi!x%hi#g%hi%[%hi%_%hi%z%hi~P'vOz(pO{%hi!x%hi#g%hi%[%hi%_%hi%z%hi~O!f&UOh&sa%[&saz&sa#[&sa#g&sa%_&sa#Z&sag&sa~O%[(uO~OV#sOa#tO%uWO~Oz&]O{wa~OopOvqO~P'vOz(^O#g%}a%[%}a%_%}ag%}a{%}a![%}a!m%}a%z%}a~P%SOz(zO#g%hX%[%hX%_%hX%z%hX~O%z#|O#gUi%[Ui%_Ui~O#g&Pa%[&Pa%_&Pan&Pa~P'vOz(}O#g&Pa%[&Pa%_&Pan&Pa~O%uWO#g&ra%[&ra%_&rag&ra~Oz)SO#g&ra%[&ra%_&rag&ra~Og)VO~OV)WOh$WO%uWO~O#Z)XO~O%uWO#g&ta%[&ta%_&ta~Oz)ZO#g&ta%[&ta%_&ta~Oo0cOv0qO#g&pa%[&pa%_&pa{&pa~P'vOz)^O#g&pa%[&pa%_&pa{&pa~OV)`Oa)`O%uWO~O%z)eO~Ot)hO#j)gOP#hiV#hif#hih#hio#his#hiv#hi!P#hi!Q#hi!T#hi!U#hi!X#hi!]#hi!h#hi!r#hi!s#hi!t#hi!{#hi!}#hi#P#hi#R#hi#T#hi#X#hi#Z#hi#^#hi#_#hi#a#hi#c#hi#l#hi#o#hi#s#hi#u#hi#z#hi#}#hi$P#hi%X#hi%o#hi%p#hi%t#hi%u#hi&Z#hi&[#hi&]#hi&^#hi&_#hi&`#hi&a#hi&b#hi&c#hi&d#hi&e#hi&f#hi&g#hi&h#hi&i#hi&j#hi%Z#hi%_#hi~Ot)iOP#kiV#kif#kih#kio#kis#kiv#ki!P#ki!Q#ki!T#ki!U#ki!X#ki!]#ki!h#ki!r#ki!s#ki!t#ki!{#ki!}#ki#P#ki#R#ki#T#ki#X#ki#Z#ki#^#ki#_#ki#a#ki#c#ki#l#ki#o#ki#s#ki#u#ki#z#ki#}#ki$P#ki%X#ki%o#ki%p#ki%t#ki%u#ki&Z#ki&[#ki&]#ki&^#ki&_#ki&`#ki&a#ki&b#ki&c#ki&d#ki&e#ki&f#ki&g#ki&h#ki&i#ki&j#ki%Z#ki%_#ki~OV)kOn&wa~P'vOz)lOn&wa~Oz)lOn&wa~P%SOn)pO~O%Y)tO~Ot)wO#p'WO#q)vOP#niV#nif#nih#nio#nis#niv#ni!P#ni!Q#ni!T#ni!U#ni!X#ni!]#ni!h#ni!r#ni!s#ni!t#ni!{#ni!}#ni#P#ni#R#ni#T#ni#X#ni#Z#ni#^#ni#_#ni#a#ni#c#ni#l#ni#o#ni#s#ni#u#ni#z#ni#}#ni$P#ni%X#ni%o#ni%p#ni%t#ni%u#ni&Z#ni&[#ni&]#ni&^#ni&_#ni&`#ni&a#ni&b#ni&c#ni&d#ni&e#ni&f#ni&g#ni&h#ni&i#ni&j#ni%Z#ni%_#ni~OV)zOo0cOv0qO{$jO~P'vOo0cOv0qO{&xa~P'vOz*OO{&xa~OV*SOa*TOg*WO%q*UO%uWO~O{$jO&{*YO~Oh'_O~Oh!iO{$jO~O%[*_O~O%[*aO%_*aO~OV$}Oa$}Oo0cOv0qOg&Ua~P'vOz*dOg&Ua~Oo0cOv0qO{*gO!W&Xa~P'vOz*hO!W&Xa~Oo0cOv0qOz*hO{*kO!W&Xa~P'vOo0cOv0qOz*hO!W&Xa~P'vOz*hO{*kO!W&Xa~Om0dOn0dOo0mOp0nOgjikjisjizji!Tji!Uji%{ji!Wji{ji![ji#gji%[ji%_ji!Qji#[jitji!mji%zji~Ol0fO~P!NkOlji~P!NkOV'|Og*pOo0cOv0qO~P'vOn*rO~Og*pOz*tO~Og*uO~OV'|Oo0cOv0qO!W&Si~P'vOz*vO!W&Si~O!W*wO~OV(]Oo0cOv0qO![%}i#g%}i%[%}i%_%}ig%}i{%}i!m%}i%z%}i~P'vOz*zO!T%dO!U%cO![&Ti~Oz*}O![%}i#g%}i%[%}i%_%}ig%}i{%}i!m%}i%z%}i~O![+OO~Oa+QOo0cOv0qO![&Ti~P'vOz*zO![&Ti~O![+SO~OV+UOo0cOv0qO{&la![&la!m&la%z&la~P'vOz+VO{&la![&la!m&la%z&la~O!]+YO&n+[O![!nX~O![+^O~O{(kO![+_O~O{(kO![+_O!m+`O~OV&OOopOvqO{%hq!x%hq#g%hq%[%hq%_%hq%z%hq~P'vOz$ri{$ri!x$ri#g$ri%[$ri%_$ri%z$ri~P%SOV&OOopOvqO~P'vOV&OOo0cOv0qO#g%ha%[%ha%_%ha%z%ha~P'vOz+aO#g%ha%[%ha%_%ha%z%ha~Oz$ia#g$ia%[$ia%_$ian$ia~P%SO#g&Pi%[&Pi%_&Pin&Pi~P'vOz+dO#g#Wq%[#Wq%_#Wq~O#[+eOz$va#g$va%[$va%_$vag$va~O%uWO#g&ri%[&ri%_&rig&ri~Oz+gO#g&ri%[&ri%_&rig&ri~OV+iOh$WO%uWO~O%uWO#g&ti%[&ti%_&ti~Oo0cOv0qO#g&pi%[&pi%_&pi{&pi~P'vO{#{Oz#eX!W#eX~Oz+mO!W&uX~O!W+oO~Ot+rO#j)gOP#hqV#hqf#hqh#hqo#hqs#hqv#hq!P#hq!Q#hq!T#hq!U#hq!X#hq!]#hq!h#hq!r#hq!s#hq!t#hq!{#hq!}#hq#P#hq#R#hq#T#hq#X#hq#Z#hq#^#hq#_#hq#a#hq#c#hq#l#hq#o#hq#s#hq#u#hq#z#hq#}#hq$P#hq%X#hq%o#hq%p#hq%t#hq%u#hq&Z#hq&[#hq&]#hq&^#hq&_#hq&`#hq&a#hq&b#hq&c#hq&d#hq&e#hq&f#hq&g#hq&h#hq&i#hq&j#hq%Z#hq%_#hq~On$|az$|a~P%SOV)kOn&wi~P'vOz+yOn&wi~Oz,TO{$jO#[,TO~O#q,VOP#nqV#nqf#nqh#nqo#nqs#nqv#nq!P#nq!Q#nq!T#nq!U#nq!X#nq!]#nq!h#nq!r#nq!s#nq!t#nq!{#nq!}#nq#P#nq#R#nq#T#nq#X#nq#Z#nq#^#nq#_#nq#a#nq#c#nq#l#nq#o#nq#s#nq#u#nq#z#nq#}#nq$P#nq%X#nq%o#nq%p#nq%t#nq%u#nq&Z#nq&[#nq&]#nq&^#nq&_#nq&`#nq&a#nq&b#nq&c#nq&d#nq&e#nq&f#nq&g#nq&h#nq&i#nq&j#nq%Z#nq%_#nq~O#[,WOz%Oa{%Oa~Oo0cOv0qO{&xi~P'vOz,YO{&xi~O{#{O%z,[Og&zXz&zX~O%uWOg&zXz&zX~Oz,`Og&yX~Og,bO~O%Y,eO~O!T%dO!U%cOg&Viz&Vi~OV$}Oa$}Oo0cOv0qOg&Ui~P'vO{,hOz$la!W$la~Oo0cOv0qO{,iOz$la!W$la~P'vOo0cOv0qO{*gO!W&Xi~P'vOz,lO!W&Xi~Oo0cOv0qOz,lO!W&Xi~P'vOz,lO{,oO!W&Xi~Og$hiz$hi!W$hi~P%SOV'|Oo0cOv0qO~P'vOn,qO~OV'|Og,rOo0cOv0qO~P'vOV'|Oo0cOv0qO!W&Sq~P'vOz$gi![$gi#g$gi%[$gi%_$gig$gi{$gi!m$gi%z$gi~P%SOV(]Oo0cOv0qO~P'vOa+QOo0cOv0qO![&Tq~P'vOz,sO![&Tq~O![,tO~OV(]Oo0cOv0qO![%}q#g%}q%[%}q%_%}qg%}q{%}q!m%}q%z%}q~P'vO{,uO~OV+UOo0cOv0qO{&li![&li!m&li%z&li~P'vOz,zO{&li![&li!m&li%z&li~O!]+YO&n+[O![!na~O{(kO![,}O~OV&OOo0cOv0qO#g%hi%[%hi%_%hi%z%hi~P'vOz-OO#g%hi%[%hi%_%hi%z%hi~O%uWO#g&rq%[&rq%_&rqg&rq~Oz-RO#g&rq%[&rq%_&rqg&rq~OV)`Oa)`O%uWO!W&ua~Oz-TO!W&ua~On$|iz$|i~P%SOV)kO~P'vOV)kOn&wq~P'vOt-XOP#myV#myf#myh#myo#mys#myv#my!P#my!Q#my!T#my!U#my!X#my!]#my!h#my!r#my!s#my!t#my!{#my!}#my#P#my#R#my#T#my#X#my#Z#my#^#my#_#my#a#my#c#my#l#my#o#my#s#my#u#my#z#my#}#my$P#my%X#my%o#my%p#my%t#my%u#my&Z#my&[#my&]#my&^#my&_#my&`#my&a#my&b#my&c#my&d#my&e#my&f#my&g#my&h#my&i#my&j#my%Z#my%_#my~O%Z-]O%_-]O~P`O#q-^OP#nyV#nyf#nyh#nyo#nys#nyv#ny!P#ny!Q#ny!T#ny!U#ny!X#ny!]#ny!h#ny!r#ny!s#ny!t#ny!{#ny!}#ny#P#ny#R#ny#T#ny#X#ny#Z#ny#^#ny#_#ny#a#ny#c#ny#l#ny#o#ny#s#ny#u#ny#z#ny#}#ny$P#ny%X#ny%o#ny%p#ny%t#ny%u#ny&Z#ny&[#ny&]#ny&^#ny&_#ny&`#ny&a#ny&b#ny&c#ny&d#ny&e#ny&f#ny&g#ny&h#ny&i#ny&j#ny%Z#ny%_#ny~Oz-aO{$jO#[-aO~Oo0cOv0qO{&xq~P'vOz-dO{&xq~O%z,[Og&zaz&za~O{#{Og&zaz&za~OV*SOa*TO%q*UO%uWOg&ya~Oz-hOg&ya~O$S-lO~OV$}Oa$}Oo0cOv0qO~P'vOo0cOv0qO{-mOz$li!W$li~P'vOo0cOv0qOz$li!W$li~P'vO{-mOz$li!W$li~Oo0cOv0qO{*gO~P'vOo0cOv0qO{*gO!W&Xq~P'vOz-pO!W&Xq~Oo0cOv0qOz-pO!W&Xq~P'vOs-sO!T%dO!U%cOg&Oq!W&Oq![&Oqz&Oq~P!/jOa+QOo0cOv0qO![&Ty~P'vOz$ji![$ji~P%SOa+QOo0cOv0qO~P'vOV+UOo0cOv0qO~P'vOV+UOo0cOv0qO{&lq![&lq!m&lq%z&lq~P'vO{(kO![-xO!m-yO%z-wO~OV&OOo0cOv0qO#g%hq%[%hq%_%hq%z%hq~P'vO%uWO#g&ry%[&ry%_&ryg&ry~OV)`Oa)`O%uWO!W&ui~Ot-}OP#m!RV#m!Rf#m!Rh#m!Ro#m!Rs#m!Rv#m!R!P#m!R!Q#m!R!T#m!R!U#m!R!X#m!R!]#m!R!h#m!R!r#m!R!s#m!R!t#m!R!{#m!R!}#m!R#P#m!R#R#m!R#T#m!R#X#m!R#Z#m!R#^#m!R#_#m!R#a#m!R#c#m!R#l#m!R#o#m!R#s#m!R#u#m!R#z#m!R#}#m!R$P#m!R%X#m!R%o#m!R%p#m!R%t#m!R%u#m!R&Z#m!R&[#m!R&]#m!R&^#m!R&_#m!R&`#m!R&a#m!R&b#m!R&c#m!R&d#m!R&e#m!R&f#m!R&g#m!R&h#m!R&i#m!R&j#m!R%Z#m!R%_#m!R~Oo0cOv0qO{&xy~P'vOV*SOa*TO%q*UO%uWOg&yi~O$S-lO%Z.VO%_.VO~OV.aOh._O!X.^O!].`O!h.YO!s.[O!t.[O%p.XO%uWO&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O~Oo0cOv0qOz$lq!W$lq~P'vO{.fOz$lq!W$lq~Oo0cOv0qO{*gO!W&Xy~P'vOz.gO!W&Xy~Oo0cOv.kO~P'vOs-sO!T%dO!U%cOg&Oy!W&Oy![&Oyz&Oy~P!/jO{(kO![.nO~O{(kO![.nO!m.oO~OV*SOa*TO%q*UO%uWO~Oh.tO!f.rOz$TX#[$TX%j$TXg$TX~Os$TX{$TX!W$TX![$TX~P$-bO%o.vO%p.vOs$UXz$UX{$UX#[$UX%j$UX!W$UXg$UX![$UX~O!h.xO~Oz.|O#[/OO%j.yOs&|X{&|X!W&|Xg&|X~Oa/RO~P$)zOh.tOs&}Xz&}X{&}X#[&}X%j&}X!W&}Xg&}X![&}X~Os/VO{$jO~Oo0cOv0qOz$ly!W$ly~P'vOo0cOv0qO{*gO!W&X!R~P'vOz/ZO!W&X!R~Og&RXs&RX!T&RX!U&RX!W&RX![&RXz&RX~P!/jOs-sO!T%dO!U%cOg&Qa!W&Qa![&Qaz&Qa~O{(kO![/^O~O!f.rOh$[as$[az$[a{$[a#[$[a%j$[a!W$[ag$[a![$[a~O!h/eO~O%o.vO%p.vOs$Uaz$Ua{$Ua#[$Ua%j$Ua!W$Uag$Ua![$Ua~O%j.yOs$Yaz$Ya{$Ya#[$Ya!W$Yag$Ya![$Ya~Os&|a{&|a!W&|ag&|a~P$)nOz/jOs&|a{&|a!W&|ag&|a~O!W/mO~Og/mO~O{/oO~O![/pO~Oo0cOv0qO{*gO!W&X!Z~P'vO{/sO~O%z/tO~P$-bOz/uO#[/OO%j.yOg'PX~Oz/uOg'PX~Og/wO~O!h/xO~O#[/OOs%Saz%Sa{%Sa%j%Sa!W%Sag%Sa![%Sa~O#[/OO%j.yOs%Waz%Wa{%Wa!W%Wag%Wa~Os&|i{&|i!W&|ig&|i~P$)nOz/zO#[/OO%j.yO!['Oa~Og'Pa~P$)nOz0SOg'Pa~Oa0UO!['Oi~P$)zOz0WO!['Oi~Oz0WO#[/OO%j.yO!['Oi~O#[/OO%j.yOg$biz$bi~O%z0ZO~P$-bO#[/OO%j.yOg%Vaz%Va~Og'Pi~P$)nO{0^O~Oa0UO!['Oq~P$)zOz0`O!['Oq~O#[/OO%j.yOz%Ui![%Ui~Oa0UO~P$)zOa0UO!['Oy~P$)zO#[/OO%j.yOg$ciz$ci~O#[/OO%j.yOz%Uq![%Uq~Oz+aO#g%ha%[%ha%_%ha%z%ha~P%SOV&OOo0cOv0qO~P'vOn0hO~Oo0hO~P'vO{0iO~Ot0jO~P!/jO&]&Z&j&h&i&g&f&d&e&c&b&`&a&_&^&[%u~",goto:"!=j'QPPPPPP'RP'Z*s+[+t,_,y-fP.SP'Z.r.r'ZPPP'Z2[PPPPPP2[5PPP5PP7b7k=sPP=v>h>kPP'Z'ZPP>zPP'Z'ZPP'Z'Z'Z'Z'Z?O?w'ZP?zP@QDXGuGyPG|HWH['ZPPPH_Hk'RP'R'RP'RP'RP'RP'RP'R'R'RP'RPP'RPP'RP'RPHqH}IVPI^IdPI^PI^I^PPPI^PKrPK{LVL]KrPI^LfPI^PLmLsPLwM]MzNeLwLwNkNxLwLwLwLw! ^! d! g! l! o! y!!P!!]!!o!!u!#P!#V!#s!#y!$P!$Z!$a!$g!$y!%T!%Z!%a!%k!%q!%w!%}!&T!&Z!&e!&k!&u!&{!'U!'[!'k!'s!'}!(UPPPPPPPPPPP!([!(_!(e!(n!(x!)TPPPPPPPPPPPP!-u!/Z!3^!6oPP!6w!7W!7a!8Y!8P!8c!8i!8l!8o!8r!8z!9jPPPPPPPPPPPPPPPPP!9m!9q!9wP!:]!:a!:m!:v!;S!;j!;m!;p!;v!;|!_![!]Do!]!^Es!^!_FZ!_!`Gk!`!aHX!a!b%T!b!cIf!c!dJU!d!eK^!e!hJU!h!i!#f!i!tJU!t!u!,|!u!wJU!w!x!.t!x!}JU!}#O!0S#O#P&o#P#Q!0j#Q#R!1Q#R#SJU#S#T%T#T#UJU#U#VK^#V#YJU#Y#Z!#f#Z#fJU#f#g!,|#g#iJU#i#j!.t#j#oJU#o#p!1n#p#q!1s#q#r!2a#r#s!2f#s$g%T$g;'SJU;'S;=`KW<%lOJU`%YT&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T`%lP;=`<%l%To%v]&n`%c_OX%TXY%oY[%T[]%o]p%Tpq%oq#O%T#O#P&o#P#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To&tX&n`OY%TYZ%oZ]%T]^%o^#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc'f[&n`O!_%T!_!`([!`#T%T#T#U(r#U#f%T#f#g(r#g#h(r#h#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc(cTmR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc(yT!mR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk)aV&n`&[ZOr%Trs)vs#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk){V&n`Or%Trs*bs#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk*iT&n`&^ZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To+PZS_&n`OY*xYZ%TZ]*x]^%T^#o*x#o#p+r#p#q*x#q#r+r#r;'S*x;'S;=`,^<%lO*x_+wTS_OY+rZ]+r^;'S+r;'S;=`,W<%lO+r_,ZP;=`<%l+ro,aP;=`<%l*xj,kV%rQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj-XT!xY&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj-oV%lQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk.]V&n`&ZZOw%Twx.rx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk.wV&n`Ow%Twx/^x#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk/eT&n`&]ZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk/{ThZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc0cTgR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk0yXVZ&n`Oz%Tz{1f{!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk1mVaR&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk2ZV%oZ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc2wTzR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To3_W%pZ&n`O!_%T!_!`-Q!`!a3w!a#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Td4OT&{S&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk4fX!fQ&n`O!O%T!O!P5R!P!Q%T!Q![6T![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk5WV&n`O!O%T!O!P5m!P#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk5tT!rZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti6[a!hX&n`O!Q%T!Q![6T![!g%T!g!h7a!h!l%T!l!m9s!m#R%T#R#S6T#S#X%T#X#Y7a#Y#^%T#^#_9s#_#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti7fZ&n`O{%T{|8X|}%T}!O8X!O!Q%T!Q![8s![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti8^V&n`O!Q%T!Q![8s![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti8z]!hX&n`O!Q%T!Q![8s![!l%T!l!m9s!m#R%T#R#S8s#S#^%T#^#_9s#_#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti9zT!hX&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk:bX%qR&n`O!P%T!P!Q:}!Q!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj;UV%sQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti;ro!hX&n`O!O%T!O!P=s!P!Q%T!Q![>_![!d%T!d!e?q!e!g%T!g!h7a!h!l%T!l!m9s!m!q%T!q!rA]!r!z%T!z!{Bq!{#R%T#R#S>_#S#U%T#U#V?q#V#X%T#X#Y7a#Y#^%T#^#_9s#_#c%T#c#dA]#d#l%T#l#mBq#m#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti=xV&n`O!Q%T!Q![6T![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti>fc!hX&n`O!O%T!O!P=s!P!Q%T!Q![>_![!g%T!g!h7a!h!l%T!l!m9s!m#R%T#R#S>_#S#X%T#X#Y7a#Y#^%T#^#_9s#_#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti?vY&n`O!Q%T!Q!R@f!R!S@f!S#R%T#R#S@f#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti@mY!hX&n`O!Q%T!Q!R@f!R!S@f!S#R%T#R#S@f#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiAbX&n`O!Q%T!Q!YA}!Y#R%T#R#SA}#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiBUX!hX&n`O!Q%T!Q!YA}!Y#R%T#R#SA}#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiBv]&n`O!Q%T!Q![Co![!c%T!c!iCo!i#R%T#R#SCo#S#T%T#T#ZCo#Z#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiCv]!hX&n`O!Q%T!Q![Co![!c%T!c!iCo!i#R%T#R#SCo#S#T%T#T#ZCo#Z#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%ToDvV{_&n`O!_%T!_!`E]!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TcEdT%{R&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkEzT#gZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkFbXmR&n`O!^%T!^!_F}!_!`([!`!a([!a#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TjGUV%mQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkGrV%zZ&n`O!_%T!_!`([!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkH`WmR&n`O!_%T!_!`([!`!aHx!a#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TjIPV%nQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkIoV_Q#}P&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%ToJ_]&n`&YS%uZO!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUoKZP;=`<%lJUoKge&n`&YS%uZOr%Trs)Ysw%Twx.Ux!Q%T!Q![JU![!c%T!c!tJU!t!uLx!u!}JU!}#R%T#R#SJU#S#T%T#T#fJU#f#gLx#g#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUoMRa&n`&YS%uZOr%TrsNWsw%Twx! vx!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUkN_V&n`&`ZOr%TrsNts#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkNyV&n`Or%Trs! `s#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk! gT&n`&bZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk! }V&n`&_ZOw%Twx!!dx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!!iV&n`Ow%Twx!#Ox#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!#VT&n`&aZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To!#oe&n`&YS%uZOr%Trs!%Qsw%Twx!&px!Q%T!Q![JU![!c%T!c!tJU!t!u!(`!u!}JU!}#R%T#R#SJU#S#T%T#T#fJU#f#g!(`#g#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUk!%XV&n`&dZOr%Trs!%ns#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!%sV&n`Or%Trs!&Ys#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!&aT&n`&fZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!&wV&n`&cZOw%Twx!'^x#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!'cV&n`Ow%Twx!'xx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!(PT&n`&eZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To!(ia&n`&YS%uZOr%Trs!)nsw%Twx!+^x!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUk!)uV&n`&hZOr%Trs!*[s#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!*aV&n`Or%Trs!*vs#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!*}T&n`&jZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!+eV&n`&gZOw%Twx!+zx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!,PV&n`Ow%Twx!,fx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!,mT&n`&iZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To!-Vi&n`&YS%uZOr%TrsNWsw%Twx! vx!Q%T!Q![JU![!c%T!c!dJU!d!eLx!e!hJU!h!i!(`!i!}JU!}#R%T#R#SJU#S#T%T#T#UJU#U#VLx#V#YJU#Y#Z!(`#Z#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUo!.}a&n`&YS%uZOr%Trs)Ysw%Twx.Ux!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUk!0ZT!XZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc!0qT!WR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj!1XV%kQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T~!1sO!]~k!1zV%jR&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T~!2fO![~i!2mT%tX&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T",tokenizers:[Sw,mw,pw,yw,0,1,2,3,4],topRules:{Script:[0,5]},specialized:[{term:221,get:i=>ww[i]||-1}],tokenPrec:7668});var zm=new di,Mm=new Set(["Script","Body","FunctionDefinition","ClassDefinition","LambdaExpression","ForStatement","MatchClause"]);function uo(i){return(e,t,n)=>{if(n)return!1;let r=e.node.getChild("VariableName");return r&&t(r,i),!0}}var Pw={FunctionDefinition:uo("function"),ClassDefinition:uo("class"),ForStatement(i,e,t){if(t){for(let n=i.node.firstChild;n;n=n.nextSibling)if(n.name=="VariableName")e(n,"variable");else if(n.name=="in")break}},ImportStatement(i,e){var t,n;let{node:r}=i,s=((t=r.firstChild)===null||t===void 0?void 0:t.name)=="from";for(let o=r.getChild("import");o;o=o.nextSibling)o.name=="VariableName"&&((n=o.nextSibling)===null||n===void 0?void 0:n.name)!="as"&&e(o,s?"variable":"namespace")},AssignStatement(i,e){for(let t=i.node.firstChild;t;t=t.nextSibling)if(t.name=="VariableName")e(t,"variable");else if(t.name==":"||t.name=="AssignOp")break},ParamList(i,e){for(let t=null,n=i.node.firstChild;n;n=n.nextSibling)n.name=="VariableName"&&(!t||!/\*|AssignOp/.test(t.name))&&e(n,"variable"),t=n},CapturePattern:uo("variable"),AsPattern:uo("variable"),__proto__:null};function Wm(i,e){let t=zm.get(e);if(t)return t;let n=[],r=!0;function s(o,a){let l=i.sliceString(o.from,o.to);n.push({label:l,type:a})}return e.cursor(ee.IncludeAnonymous).iterate(o=>{if(o.name){let a=Pw[o.name];if(a&&a(o,s,r)||!r&&Mm.has(o.name))return!1;r=!1}else if(o.to-o.from>8192){for(let a of Wm(i,o.node))n.push(a);return!1}}),zm.set(e,n),n}var Lm=/^[\w\xa1-\uffff][\w\d\xa1-\uffff]*$/,jm=["String","FormatString","Comment","PropertyName"];function vw(i){let e=U(i.state).resolveInner(i.pos,-1);if(jm.indexOf(e.name)>-1)return null;let t=e.name=="VariableName"||e.to-e.from<20&&Lm.test(i.state.sliceDoc(e.from,e.to));if(!t&&!i.explicit)return null;let n=[];for(let r=e;r;r=r.parent)Mm.has(r.name)&&(n=n.concat(Wm(i.state.doc,r)));return{options:n,from:t?e.from:i.pos,validFor:Lm}}var $w=["__annotations__","__builtins__","__debug__","__doc__","__import__","__name__","__loader__","__package__","__spec__","False","None","True"].map(i=>({label:i,type:"constant"})).concat(["ArithmeticError","AssertionError","AttributeError","BaseException","BlockingIOError","BrokenPipeError","BufferError","BytesWarning","ChildProcessError","ConnectionAbortedError","ConnectionError","ConnectionRefusedError","ConnectionResetError","DeprecationWarning","EOFError","Ellipsis","EncodingWarning","EnvironmentError","Exception","FileExistsError","FileNotFoundError","FloatingPointError","FutureWarning","GeneratorExit","IOError","ImportError","ImportWarning","IndentationError","IndexError","InterruptedError","IsADirectoryError","KeyError","KeyboardInterrupt","LookupError","MemoryError","ModuleNotFoundError","NameError","NotADirectoryError","NotImplemented","NotImplementedError","OSError","OverflowError","PendingDeprecationWarning","PermissionError","ProcessLookupError","RecursionError","ReferenceError","ResourceWarning","RuntimeError","RuntimeWarning","StopAsyncIteration","StopIteration","SyntaxError","SyntaxWarning","SystemError","SystemExit","TabError","TimeoutError","TypeError","UnboundLocalError","UnicodeDecodeError","UnicodeEncodeError","UnicodeError","UnicodeTranslateError","UnicodeWarning","UserWarning","ValueError","Warning","ZeroDivisionError"].map(i=>({label:i,type:"type"}))).concat(["bool","bytearray","bytes","classmethod","complex","float","frozenset","int","list","map","memoryview","object","range","set","staticmethod","str","super","tuple","type"].map(i=>({label:i,type:"class"}))).concat(["abs","aiter","all","anext","any","ascii","bin","breakpoint","callable","chr","compile","delattr","dict","dir","divmod","enumerate","eval","exec","exit","filter","format","getattr","globals","hasattr","hash","help","hex","id","input","isinstance","issubclass","iter","len","license","locals","max","min","next","oct","open","ord","pow","print","property","quit","repr","reversed","round","setattr","slice","sorted","sum","vars","zip"].map(i=>({label:i,type:"function"}))),Tw=[ce("def ${name}(${params}):\n ${}",{label:"def",detail:"function",type:"keyword"}),ce("for ${name} in ${collection}:\n ${}",{label:"for",detail:"loop",type:"keyword"}),ce("while ${}:\n ${}",{label:"while",detail:"loop",type:"keyword"}),ce("try:\n ${}\nexcept ${error}:\n ${}",{label:"try",detail:"/ except block",type:"keyword"}),ce(`if \${}: -`,{label:"if",detail:"block",type:"keyword"}),ce("if ${}:\n ${}\nelse:\n ${}",{label:"if",detail:"/ else block",type:"keyword"}),ce("class ${name}:\n def __init__(self, ${params}):\n ${}",{label:"class",detail:"definition",type:"keyword"}),ce("import ${module}",{label:"import",detail:"statement",type:"keyword"}),ce("from ${module} import ${names}",{label:"from",detail:"import",type:"keyword"})],Tw=Bs(jm,Is(vw.concat($w)));function nh(i){let{node:e,pos:t}=i,n=i.lineIndent(t,-1),r=null;for(;;){let s=e.childBefore(t);if(s)if(s.name=="Comment")t=s.from;else if(s.name=="Body"||s.name=="MatchBody")i.baseIndentFor(s)+i.unit<=n&&(r=s),e=s;else if(s.name=="MatchClause")e=s;else if(s.type.is("Statement"))e=s;else break;else break}return r}function rh(i,e){let t=i.baseIndentFor(e),n=i.lineAt(i.pos,-1),r=n.from+n.text.length;return/^\s*($|#)/.test(n.text)&&i.node.tot?null:t+i.unit}var sh=$e.define({name:"python",parser:qm.configure({props:[we.add({Body:i=>{var e;let t=/^\s*(#|$)/.test(i.textAfter)&&nh(i)||i.node;return(e=rh(i,t))!==null&&e!==void 0?e:i.continue()},MatchBody:i=>{var e;let t=nh(i);return(e=rh(i,t||i.node))!==null&&e!==void 0?e:i.continue()},IfStatement:i=>/^\s*(else:|elif )/.test(i.textAfter)?i.baseIndent:i.continue(),"ForStatement WhileStatement":i=>/^\s*else:/.test(i.textAfter)?i.baseIndent:i.continue(),TryStatement:i=>/^\s*(except[ :]|finally:|else:)/.test(i.textAfter)?i.baseIndent:i.continue(),MatchStatement:i=>/^\s*case /.test(i.textAfter)?i.baseIndent+i.unit:i.continue(),"TupleExpression ComprehensionExpression ParamList ArgList ParenthesizedExpression":St({closing:")"}),"DictionaryExpression DictionaryComprehensionExpression SetExpression SetComprehensionExpression":St({closing:"}"}),"ArrayExpression ArrayComprehensionExpression":St({closing:"]"}),MemberExpression:i=>i.baseIndent+i.unit,"String FormatString":()=>null,Script:i=>{var e;let t=nh(i);return(e=t&&rh(i,t))!==null&&e!==void 0?e:i.continue()}}),Te.add({"ArrayExpression DictionaryExpression SetExpression TupleExpression":ht,Body:(i,e)=>({from:i.from+1,to:i.to-(i.to==e.doc.length?0:1)}),"String FormatString":(i,e)=>({from:e.doc.lineAt(i.from).to,to:i.to})})]}),languageData:{closeBrackets:{brackets:["(","[","{","'",'"',"'''",'"""'],stringPrefixes:["f","fr","rf","r","u","b","br","rb","F","FR","RF","R","U","B","BR","RB"]},commentTokens:{line:"#"},indentOnInput:/^\s*([\}\]\)]|else:|elif |except |finally:|case\s+[^:]*:?)$/}});function Vm(){return new me(sh,[sh.data.of({autocomplete:Pw}),sh.data.of({autocomplete:Tw})])}var Cw=Qe({String:d.string,Number:d.number,"True False":d.bool,PropertyName:d.propertyName,Null:d.null,", :":d.separator,"[ ]":d.squareBracket,"{ }":d.brace}),Dm=Pe.deserialize({version:14,states:"$bOVQPOOOOQO'#Cb'#CbOnQPO'#CeOvQPO'#ClOOQO'#Cr'#CrQOQPOOOOQO'#Cg'#CgO}QPO'#CfO!SQPO'#CtOOQO,59P,59PO![QPO,59PO!aQPO'#CuOOQO,59W,59WO!iQPO,59WOVQPO,59QOqQPO'#CmO!nQPO,59`OOQO1G.k1G.kOVQPO'#CnO!vQPO,59aOOQO1G.r1G.rOOQO1G.l1G.lOOQO,59X,59XOOQO-E6k-E6kOOQO,59Y,59YOOQO-E6l-E6l",stateData:"#O~OeOS~OQSORSOSSOTSOWQO_ROgPO~OVXOgUO~O^[O~PVO[^O~O]_OVhX~OVaO~O]bO^iX~O^dO~O]_OVha~O]bO^ia~O",goto:"!kjPPPPPPkPPkqwPPPPk{!RPPP!XP!e!hXSOR^bQWQRf_TVQ_Q`WRg`QcZRicQTOQZRQe^RhbRYQR]R",nodeNames:"\u26A0 JsonText True False Null Number String } { Object Property PropertyName : , ] [ Array",maxTerm:25,nodeProps:[["isolate",-2,6,11,""],["openedBy",7,"{",14,"["],["closedBy",8,"}",15,"]"]],propSources:[Cw],skippedNodes:[0],repeatNodeCount:2,tokenData:"(|~RaXY!WYZ!W]^!Wpq!Wrs!]|}$u}!O$z!Q!R%T!R![&c![!]&t!}#O&y#P#Q'O#Y#Z'T#b#c'r#h#i(Z#o#p(r#q#r(w~!]Oe~~!`Wpq!]qr!]rs!xs#O!]#O#P!}#P;'S!];'S;=`$o<%lO!]~!}Og~~#QXrs!]!P!Q!]#O#P!]#U#V!]#Y#Z!]#b#c!]#f#g!]#h#i!]#i#j#m~#pR!Q![#y!c!i#y#T#Z#y~#|R!Q![$V!c!i$V#T#Z$V~$YR!Q![$c!c!i$c#T#Z$c~$fR!Q![!]!c!i!]#T#Z!]~$rP;=`<%l!]~$zO]~~$}Q!Q!R%T!R![&c~%YRT~!O!P%c!g!h%w#X#Y%w~%fP!Q![%i~%nRT~!Q![%i!g!h%w#X#Y%w~%zR{|&T}!O&T!Q![&Z~&WP!Q![&Z~&`PT~!Q![&Z~&hST~!O!P%c!Q![&c!g!h%w#X#Y%w~&yO[~~'OO_~~'TO^~~'WP#T#U'Z~'^P#`#a'a~'dP#g#h'g~'jP#X#Y'm~'rOR~~'uP#i#j'x~'{P#`#a(O~(RP#`#a(U~(ZOS~~(^P#f#g(a~(dP#i#j(g~(jP#X#Y(m~(rOQ~~(wOW~~(|OV~",tokenizers:[0],topRules:{JsonText:[0,1]},tokenPrec:0});var Xw=$e.define({name:"json",parser:Dm.configure({props:[we.add({Object:Bt({except:/^\s*\}/}),Array:Bt({except:/^\s*\]/})}),Te.add({"Object Array":ht})]}),languageData:{closeBrackets:{brackets:["[","{",'"']},indentOnInput:/^\s*[\}\]]$/}});function Ym(){return new me(Xw)}function Oo(i){for(var e={},t=0;t~^?!",qw=":;,.(){}[]",zw=/^\-?0b[01][01_]*/,Lw=/^\-?0o[0-7][0-7_]*/,Mw=/^\-?0x[\dA-Fa-f][\dA-Fa-f_]*(?:(?:\.[\dA-Fa-f][\dA-Fa-f_]*)?[Pp]\-?\d[\d_]*)?/,Ww=/^\-?\d[\d_]*(?:\.\d[\d_]*)?(?:[Ee]\-?\d[\d_]*)?/,jw=/^\$\d+|(`?)[_A-Za-z][_A-Za-z$0-9]*\1/,Vw=/^\.(?:\$\d+|(`?)[_A-Za-z][_A-Za-z$0-9]*\1)/,Dw=/^\#[A-Za-z]+/,Yw=/^@(?:\$\d+|(`?)[_A-Za-z][_A-Za-z$0-9]*\1)/;function Im(i,e,t){if(i.sol()&&(e.indented=i.indentation()),i.eatSpace())return null;var n=i.peek();if(n=="/"){if(i.match("//"))return i.skipToEnd(),"comment";if(i.match("/*"))return e.tokenize.push(oh),oh(i,e)}if(i.match(Dw))return"builtin";if(i.match(Yw))return"attribute";if(i.match(zw)||i.match(Lw)||i.match(Mw)||i.match(Ww))return"number";if(i.match(Vw))return"property";if(Ew.indexOf(n)>-1)return i.next(),"operator";if(qw.indexOf(n)>-1)return i.next(),i.match(".."),"punctuation";var r;if(r=i.match(/("""|"|')/)){var s=Bw.bind(null,r[0]);return e.tokenize.push(s),s(i,e)}if(i.match(jw)){var o=i.current();return Zw.hasOwnProperty(o)?"type":Aw.hasOwnProperty(o)?"atom":_w.hasOwnProperty(o)?(Rw.hasOwnProperty(o)&&(e.prev="define"),"keyword"):t=="define"?"def":"variable"}return i.next(),null}function Iw(){var i=0;return function(e,t,n){var r=Im(e,t,n);if(r=="punctuation"){if(e.current()=="(")++i;else if(e.current()==")"){if(i==0)return e.backUp(1),t.tokenize.pop(),t.tokenize[t.tokenize.length-1](e,t);--i}}return r}}function Bw(i,e,t){for(var n=i.length==1,r,s=!1;r=e.peek();)if(s){if(e.next(),r=="(")return t.tokenize.push(Iw()),"string";s=!1}else{if(e.match(i))return t.tokenize.pop(),"string";e.next(),s=r=="\\"}return n&&t.tokenize.pop(),"string"}function oh(i,e){for(var t;t=i.next();)if(t==="/"&&i.eat("*"))e.tokenize.push(oh);else if(t==="*"&&i.eat("/")){e.tokenize.pop();break}return"comment"}function Uw(i,e,t){this.prev=i,this.align=e,this.indented=t}function Gw(i,e){var t=e.match(/^\s*($|\/[\/\*]|[)}\]])/,!1)?null:e.column()+1;i.context=new Uw(i.context,t,i.indented)}function Nw(i){i.context&&(i.indented=i.context.indented,i.context=i.context.prev)}var Bm={name:"swift",startState:function(){return{prev:null,context:null,indented:0,tokenize:[]}},token:function(i,e){var t=e.prev;e.prev=null;var n=e.tokenize[e.tokenize.length-1]||Im,r=n(i,e,t);if(!r||r=="comment"?e.prev=t:e.prev||(e.prev=r),r=="punctuation"){var s=/[\(\[\{]|([\]\)\}])/.exec(i.current());s&&(s[1]?Nw:Gw)(e,i)}return r},indent:function(i,e,t){var n=i.context;if(!n)return 0;var r=/^[\]\}\)]/.test(e);return n.align!=null?n.align-(r?1:0):n.indented+(r?0:t.unit)},languageData:{indentOnInput:/^\s*[\)\}\]]$/,commentTokens:{line:"//",block:{open:"/*",close:"*/"}},closeBrackets:{brackets:["(","[","{","'",'"',"`"]}}};var ah={};function lh(i,e){for(var t=0;t1&&i.eat("$");var t=i.next();return/['"({]/.test(t)?(e.tokens[0]=po(t,t=="("?"quote":t=="{"?"def":"string"),_n(i,e)):(/\d/.test(t)||i.eatWhile(/\w/),e.tokens.shift(),"def")};function Kw(i){return function(e,t){return e.sol()&&e.string==i&&t.tokens.shift(),e.skipToEnd(),"string.special"}}function _n(i,e){return(e.tokens[0]||Fw)(i,e)}var Hm={name:"shell",startState:function(){return{tokens:[]}},token:function(i,e){return _n(i,e)},languageData:{autocomplete:Um.concat(Gm,Nm),closeBrackets:{brackets:["(","[","{","'",'"',"`"]},commentTokens:{line:"#"}}};var Jw=["true","false","on","off","yes","no"],eP=new RegExp("\\b(("+Jw.join(")|(")+"))$","i"),Km={name:"yaml",token:function(i,e){var t=i.peek(),n=e.escaped;if(e.escaped=!1,t=="#"&&(i.pos==0||/\s/.test(i.string.charAt(i.pos-1))))return i.skipToEnd(),"comment";if(i.match(/^('([^']|\\.)*'?|"([^"]|\\.)*"?)/))return"string";if(e.literal&&i.indentation()>e.keyCol)return i.skipToEnd(),"string";if(e.literal&&(e.literal=!1),i.sol()){if(e.keyCol=0,e.pair=!1,e.pairStart=!1,i.match("---")||i.match("..."))return"def";if(i.match(/^\s*-\s+/))return"meta"}if(i.match(/^(\{|\}|\[|\])/))return t=="{"?e.inlinePairs++:t=="}"?e.inlinePairs--:t=="["?e.inlineList++:e.inlineList--,"meta";if(e.inlineList>0&&!n&&t==",")return i.next(),"meta";if(e.inlinePairs>0&&!n&&t==",")return e.keyCol=0,e.pair=!1,e.pairStart=!1,i.next(),"meta";if(e.pairStart){if(i.match(/^\s*(\||\>)\s*/))return e.literal=!0,"meta";if(i.match(/^\s*(\&|\*)[a-z0-9\._-]+\b/i))return"variable";if(e.inlinePairs==0&&i.match(/^\s*-?[0-9\.\,]+\s?$/)||e.inlinePairs>0&&i.match(/^\s*-?[0-9\.\,]+\s?(?=(,|}))/))return"number";if(i.match(eP))return"keyword"}return!e.pair&&i.match(/^\s*(?:[,\[\]{}&*!|>'"%@`][^\s'":]|[^,\[\]{}#&*!|>'"%@`])[^#]*?(?=\s*:($|\s))/)?(e.pair=!0,e.keyCol=i.indentation(),"atom"):e.pair&&i.match(/^:\s*/)?(e.pairStart=!0,"meta"):(e.pairStart=!1,e.escaped=t=="\\",i.next(),null)},startState:function(){return{pair:!1,pairStart:!1,keyCol:0,inlinePairs:0,inlineList:0,literal:!1,escaped:!1}},languageData:{commentTokens:{line:"#"}}};var tP={break:!0,case:!0,chan:!0,const:!0,continue:!0,default:!0,defer:!0,else:!0,fallthrough:!0,for:!0,func:!0,go:!0,goto:!0,if:!0,import:!0,interface:!0,map:!0,package:!0,range:!0,return:!0,select:!0,struct:!0,switch:!0,type:!0,var:!0,bool:!0,byte:!0,complex64:!0,complex128:!0,float32:!0,float64:!0,int8:!0,int16:!0,int32:!0,int64:!0,string:!0,uint8:!0,uint16:!0,uint32:!0,uint64:!0,int:!0,uint:!0,uintptr:!0,error:!0,rune:!0,any:!0,comparable:!0},iP={true:!0,false:!0,iota:!0,nil:!0,append:!0,cap:!0,close:!0,complex:!0,copy:!0,delete:!0,imag:!0,len:!0,make:!0,new:!0,panic:!0,print:!0,println:!0,real:!0,recover:!0},Jm=/[+\-*&^%:=<>!|\/]/,ti;function mo(i,e){var t=i.next();if(t=='"'||t=="'"||t=="`")return e.tokenize=nP(t),e.tokenize(i,e);if(/[\d\.]/.test(t))return t=="."?i.match(/^[0-9]+([eE][\-+]?[0-9]+)?/):t=="0"?i.match(/^[xX][0-9a-fA-F]+/)||i.match(/^0[0-7]+/):i.match(/^[0-9]*\.?[0-9]*([eE][\-+]?[0-9]+)?/),"number";if(/[\[\]{}\(\),;\:\.]/.test(t))return ti=t,null;if(t=="/"){if(i.eat("*"))return e.tokenize=eg,eg(i,e);if(i.eat("/"))return i.skipToEnd(),"comment"}if(Jm.test(t))return i.eatWhile(Jm),"operator";i.eatWhile(/[\w\$_\xa1-\uffff]/);var n=i.current();return tP.propertyIsEnumerable(n)?((n=="case"||n=="default")&&(ti="case"),"keyword"):iP.propertyIsEnumerable(n)?"atom":"variable"}function nP(i){return function(e,t){for(var n=!1,r,s=!1;(r=e.next())!=null;){if(r==i&&!n){s=!0;break}n=!n&&i!="`"&&r=="\\"}return(s||!(n||i=="`"))&&(t.tokenize=mo),"string"}}function eg(i,e){for(var t=!1,n;n=i.next();){if(n=="/"&&t){e.tokenize=mo;break}t=n=="*"}return"comment"}function ig(i,e,t,n,r){this.indented=i,this.column=e,this.type=t,this.align=n,this.prev=r}function ch(i,e,t){return i.context=new ig(i.indented,e,t,null,i.context)}function tg(i){if(i.context.prev){var e=i.context.type;return(e==")"||e=="]"||e=="}")&&(i.indented=i.context.indented),i.context=i.context.prev}}var ng={name:"go",startState:function(i){return{tokenize:null,context:new ig(-i,0,"top",!1),indented:0,startOfLine:!0}},token:function(i,e){var t=e.context;if(i.sol()&&(t.align==null&&(t.align=!1),e.indented=i.indentation(),e.startOfLine=!0,t.type=="case"&&(t.type="}")),i.eatSpace())return null;ti=null;var n=(e.tokenize||mo)(i,e);return n=="comment"||(t.align==null&&(t.align=!0),ti=="{"?ch(e,i.column(),"}"):ti=="["?ch(e,i.column(),"]"):ti=="("?ch(e,i.column(),")"):ti=="case"?t.type="case":(ti=="}"&&t.type=="}"||ti==t.type)&&tg(e),e.startOfLine=!1),n},indent:function(i,e,t){if(i.tokenize!=mo&&i.tokenize!=null)return null;var n=i.context,r=e&&e.charAt(0);if(n.type=="case"&&/^(?:case|default)\b/.test(e))return n.indented;var s=r==n.type;return n.align?n.column+(s?0:1):n.indented+(s?0:t.unit)},languageData:{indentOnInput:/^\s([{}]|case |default\s*:)$/,commentTokens:{line:"//",block:{open:"/*",close:"*/"}}}};function fh(i){for(var e={},t=0,n=i.length;t]/)?(i.eat(/[\<\>]/),"atom"):i.eat(/[\+\-\*\/\&\|\:\!]/)?"atom":i.eat(/[a-zA-Z$@_\xa1-\uffff]/)?(i.eatWhile(/[\w$\xa1-\uffff]/),i.eat(/[\?\!\=]/),"atom"):"operator";if(t=="@"&&i.match(/^@?[a-zA-Z_\xa1-\uffff]/))return i.eat("@"),i.eatWhile(/[\w\xa1-\uffff]/),"propertyName";if(t=="$")return i.eat(/[a-zA-Z_]/)?i.eatWhile(/[\w]/):i.eat(/\d/)?i.eat(/\d/):i.next(),"variableName.special";if(/[a-zA-Z_\xa1-\uffff]/.test(t))return i.eatWhile(/[\w\xa1-\uffff]/),i.eat(/[\?\!]/),i.eat(":")?"atom":"variable";if(t=="|"&&(e.varList||e.lastTok=="{"||e.lastTok=="do"))return Pt="|",null;if(/[\(\)\[\]{}\\;]/.test(t))return Pt=t,null;if(t=="-"&&i.eat(">"))return"operator";if(/[=+\-\/*:\.^%<>~|]/.test(t)){var a=i.eatWhile(/[=+\-\/*:\.^%<>~|]/);return t=="."&&!a&&(Pt="."),"operator"}else return null}}}function lP(i){for(var e=i.pos,t=0,n,r=!1,s=!1;(n=i.next())!=null;)if(s)s=!1;else{if("[{(".indexOf(n)>-1)t++;else if("]})".indexOf(n)>-1){if(t--,t<0)break}else if(n=="/"&&t==0){r=!0;break}s=n=="\\"}return i.backUp(i.pos-e),r}function hh(i){return i||(i=1),function(e,t){if(e.peek()=="}"){if(i==1)return t.tokenize.pop(),t.tokenize[t.tokenize.length-1](e,t);t.tokenize[t.tokenize.length-1]=hh(i-1)}else e.peek()=="{"&&(t.tokenize[t.tokenize.length-1]=hh(i+1));return go(e,t)}}function cP(){var i=!1;return function(e,t){return i?(t.tokenize.pop(),t.tokenize[t.tokenize.length-1](e,t)):(i=!0,go(e,t))}}function Rr(i,e,t,n){return function(r,s){var o=!1,a;for(s.context.type==="read-quoted-paused"&&(s.context=s.context.prev,r.eat("}"));(a=r.next())!=null;){if(a==i&&(n||!o)){s.tokenize.pop();break}if(t&&a=="#"&&!o){if(r.eat("{")){i=="}"&&(s.context={prev:s.context,type:"read-quoted-paused"}),s.tokenize.push(hh());break}else if(/[@\$]/.test(r.peek())){s.tokenize.push(cP());break}}o=!o&&a=="\\"}return e}}function hP(i,e){return function(t,n){return e&&t.eatSpace(),t.match(i)?n.tokenize.pop():t.skipToEnd(),"string"}}function fP(i,e){return i.sol()&&i.match("=end")&&i.eol()&&e.tokenize.pop(),i.skipToEnd(),"comment"}var og={name:"ruby",startState:function(i){return{tokenize:[go],indented:0,context:{type:"top",indented:-i},continuedLine:!1,lastTok:null,varList:!1}},token:function(i,e){Pt=null,i.sol()&&(e.indented=i.indentation());var t=e.tokenize[e.tokenize.length-1](i,e),n,r=Pt;if(t=="variable"){var s=i.current();t=e.lastTok=="."?"property":rP.propertyIsEnumerable(i.current())?"keyword":/^[A-Z]/.test(s)?"tag":e.lastTok=="def"||e.lastTok=="class"||e.varList?"def":"variable",t=="keyword"&&(r=s,sP.propertyIsEnumerable(s)?n="indent":oP.propertyIsEnumerable(s)?n="dedent":((s=="if"||s=="unless")&&i.column()==i.indentation()||s=="do"&&e.context.indented2&&o.token&&typeof o.token!="string"){t.pending=[];for(var c=2;c-1)return null;var r=t.indent.length-1,s=i[t.state];e:for(;;){for(var o=0;o!]+/,token:"operator"},{regex:/[a-zA-Z_]\w*!/,token:"macroName"},{regex:/[a-zA-Z_]\w*/,token:"variable"},{regex:/[\{\[\(]/,indent:!0},{regex:/[\}\]\)]/,dedent:!0}],string:[{regex:/"/,token:"string",next:"start"},{regex:/(?:[^\\"]|\\(?:.|$))*/,token:"string"}],string_raw:[{regex:/"/,token:"string",next:"start"},{regex:/[^"]*/,token:"string"}],string_raw_hash:[{regex:/"#+/,token:"string",next:"start"},{regex:/(?:[^"]|"(?!#))*/,token:"string"}],comment:[{regex:/.*?\*\//,token:"comment",next:"start"},{regex:/.*/,token:"comment"}],languageData:{name:"rust",dontIndentStates:["comment"],indentOnInput:/^\s*\}$/,commentTokens:{line:"//",block:{open:"/*",close:"*/"}}}});function dh(i,e,t,n,r,s){this.indented=i,this.column=e,this.type=t,this.info=n,this.align=r,this.prev=s}function Qo(i,e,t,n){var r=i.indented;return i.context&&i.context.type=="statement"&&t!="statement"&&(r=i.context.indented),i.context=new dh(r,e,t,n,null,i.context)}function Ar(i){var e=i.context.type;return(e==")"||e=="]"||e=="}")&&(i.indented=i.context.indented),i.context=i.context.prev}function hg(i,e,t){if(e.prevToken=="variable"||e.prevToken=="type"||/\S(?:[^- ]>|[*\]])\s*$|\*$/.test(i.string.slice(0,t))||e.typeAtEndOfLine&&i.column()==i.indentation())return!0}function uh(i){for(;;){if(!i||i.type=="top")return!0;if(i.type=="}"&&i.prev.info!="namespace")return!1;i=i.prev}}function et(i){var e=i.statementIndentUnit,t=i.dontAlignCalls,n=i.keywords||{},r=i.types||{},s=i.builtin||{},o=i.blockKeywords||{},a=i.defKeywords||{},l=i.atoms||{},c=i.hooks||{},h=i.multiLineStrings,f=i.indentStatements!==!1,u=i.indentSwitch!==!1,O=i.namespaceSeparator,p=i.isPunctuationChar||/[\[\]{}\(\),;\:\.]/,m=i.numberStart||/[\d\.]/,b=i.number||/^(?:0x[a-f\d]+|0b[01]+|(?:\d+\.?\d*|\.\d+)(?:e[-+]?\d+)?)(u|ll?|l|f)?/i,g=i.isOperatorChar||/[+\-*&%=<>!?|\/]/,Q=i.isIdentifierChar||/[\w\$_\xa1-\uffff]/,S=i.isReservedIdentifier||!1,x,v;function $(T,k){var w=T.next();if(c[w]){var C=c[w](T,k);if(C!==!1)return C}if(w=='"'||w=="'")return k.tokenize=R(w),k.tokenize(T,k);if(m.test(w)){if(T.backUp(1),T.match(b))return"number";T.next()}if(p.test(w))return x=w,null;if(w=="/"){if(T.eat("*"))return k.tokenize=_,_(T,k);if(T.eat("/"))return T.skipToEnd(),"comment"}if(g.test(w)){for(;!T.match(/^\/[\/*]/,!1)&&T.eat(g););return"operator"}if(T.eatWhile(Q),O)for(;T.match(O);)T.eatWhile(Q);var j=T.current();return ii(n,j)?(ii(o,j)&&(x="newstatement"),ii(a,j)&&(v=!0),"keyword"):ii(r,j)?"type":ii(s,j)||S&&S(j)?(ii(o,j)&&(x="newstatement"),"builtin"):ii(l,j)?"atom":"variable"}function R(T){return function(k,w){for(var C=!1,j,y=!1;(j=k.next())!=null;){if(j==T&&!C){y=!0;break}C=!C&&j=="\\"}return(y||!(C||h))&&(w.tokenize=null),"string"}}function _(T,k){for(var w=!1,C;C=T.next();){if(C=="/"&&w){k.tokenize=null;break}w=C=="*"}return"comment"}function W(T,k){i.typeFirstDefinitions&&T.eol()&&uh(k.context)&&(k.typeAtEndOfLine=hg(T,k,T.pos))}return{name:i.name,startState:function(T){return{tokenize:null,context:new dh(-T,0,"top",null,!1),indented:0,startOfLine:!0,prevToken:null}},token:function(T,k){var w=k.context;if(T.sol()&&(w.align==null&&(w.align=!1),k.indented=T.indentation(),k.startOfLine=!0),T.eatSpace())return W(T,k),null;x=v=null;var C=(k.tokenize||$)(T,k);if(C=="comment"||C=="meta")return C;if(w.align==null&&(w.align=!0),x==";"||x==":"||x==","&&T.match(/^\s*(?:\/\/.*)?$/,!1))for(;k.context.type=="statement";)Ar(k);else if(x=="{")Qo(k,T.column(),"}");else if(x=="[")Qo(k,T.column(),"]");else if(x=="(")Qo(k,T.column(),")");else if(x=="}"){for(;w.type=="statement";)w=Ar(k);for(w.type=="}"&&(w=Ar(k));w.type=="statement";)w=Ar(k)}else x==w.type?Ar(k):f&&((w.type=="}"||w.type=="top")&&x!=";"||w.type=="statement"&&x=="newstatement")&&Qo(k,T.column(),"statement",T.current());if(C=="variable"&&(k.prevToken=="def"||i.typeFirstDefinitions&&hg(T,k,T.start)&&uh(k.context)&&T.match(/^\s*\(/,!1))&&(C="def"),c.token){var j=c.token(T,k,C);j!==void 0&&(C=j)}return C=="def"&&i.styleDefs===!1&&(C="variable"),k.startOfLine=!1,k.prevToken=v?"def":C||x,W(T,k),C},indent:function(T,k,w){if(T.tokenize!=$&&T.tokenize!=null||T.typeAtEndOfLine&&uh(T.context))return null;var C=T.context,j=k&&k.charAt(0),y=j==C.type;if(C.type=="statement"&&j=="}"&&(C=C.prev),i.dontIndentStatements)for(;C.type=="statement"&&i.dontIndentStatements.test(C.info);)C=C.prev;if(c.indent){var q=c.indent(T,C,k,w.unit);if(typeof q=="number")return q}var de=C.prev&&C.prev.info=="switch";if(i.allmanIndentation&&/[{(]/.test(j)){for(;C.type!="top"&&C.type!="}";)C=C.prev;return C.indented}return C.type=="statement"?C.indented+(j=="{"?0:e||w.unit):C.align&&(!t||C.type!=")")?C.column+(y?0:1):C.type==")"&&!y?C.indented+(e||w.unit):C.indented+(y?0:w.unit)+(!y&&de&&!/^(?:case|default)\b/.test(k)?w.unit:0)},languageData:{indentOnInput:u?/^\s*(?:case .*?:|default:|\{\}?|\})$/:/^\s*[{}]$/,commentTokens:{line:"//",block:{open:"/*",close:"*/"}},autocomplete:Object.keys(n).concat(Object.keys(r)).concat(Object.keys(s)).concat(Object.keys(l)),...i.languageData}}}function V(i){for(var e={},t=i.split(" "),n=0;n!?|\/#:@]/,hooks:{"@":function(i){return i.eatWhile(/[\w\$_]/),"meta"},'"':function(i,e){return i.match('""')?(e.tokenize=kg,e.tokenize(i,e)):!1},"'":function(i){return i.match(/^(\\[^'\s]+|[^\\'])'/)?"character":(i.eatWhile(/[\w\$_\xa1-\uffff]/),"atom")},"=":function(i,e){var t=e.context;return t.type=="}"&&t.align&&i.eat(">")?(e.context=new dh(t.indented,t.column,t.type,t.info,null,t.prev),"operator"):!1},"/":function(i,e){return i.eat("*")?(e.tokenize=Zr(1),e.tokenize(i,e)):!1}},languageData:{closeBrackets:{brackets:["(","[","{","'",'"','"""']}}});function bP(i){return function(e,t){for(var n=!1,r,s=!1;!e.eol();){if(!i&&!n&&e.match('"')){s=!0;break}if(i&&e.match('"""')){s=!0;break}r=e.next(),!n&&r=="$"&&e.match("{")&&e.skipTo("}"),n=!n&&r=="\\"&&!i}return(s||!i)&&(t.tokenize=null),"string"}}var xg=et({name:"kotlin",keywords:V("package as typealias class interface this super val operator var fun for is in This throw return annotation break continue object if else while do try when !in !is as? file import where by get set abstract enum open inner override private public internal protected catch finally out final vararg reified dynamic companion constructor init sealed field property receiver param sparam lateinit data inline noinline tailrec external annotation crossinline const operator infix suspend actual expect setparam"),types:V("Boolean Byte Character CharSequence Class ClassLoader Cloneable Comparable Compiler Double Exception Float Integer Long Math Number Object Package Pair Process Runtime Runnable SecurityManager Short StackTraceElement StrictMath String StringBuffer System Thread ThreadGroup ThreadLocal Throwable Triple Void Annotation Any BooleanArray ByteArray Char CharArray DeprecationLevel DoubleArray Enum FloatArray Function Int IntArray Lazy LazyThreadSafetyMode LongArray Nothing ShortArray Unit"),intendSwitch:!1,indentStatements:!1,multiLineStrings:!0,number:/^(?:0x[a-f\d_]+|0b[01_]+|(?:[\d_]+(\.\d+)?|\.\d+)(?:e[-+]?[\d_]+)?)(ul?|l|f)?/i,blockKeywords:V("catch class do else finally for if where try while enum"),defKeywords:V("class val var object interface fun"),atoms:V("true false null this"),hooks:{"@":function(i){return i.eatWhile(/[\w\$_]/),"meta"},"*":function(i,e){return e.prevToken=="."?"variable":"operator"},'"':function(i,e){return e.tokenize=bP(i.match('""')),e.tokenize(i,e)},"/":function(i,e){return i.eat("*")?(e.tokenize=Zr(1),e.tokenize(i,e)):!1},indent:function(i,e,t,n){var r=t&&t.charAt(0);if((i.prevToken=="}"||i.prevToken==")")&&t=="")return i.indented;if(i.prevToken=="operator"&&t!="}"&&i.context.type!="}"||i.prevToken=="variable"&&r=="."||(i.prevToken=="}"||i.prevToken==")")&&r==".")return n*2+e.indented;if(e.align&&e.type=="}")return e.indented+(i.context.type==(t||"").charAt(0)?0:n)}},languageData:{closeBrackets:{brackets:["(","[","{","'",'"','"""']}}}),aC=et({name:"shader",keywords:V("sampler1D sampler2D sampler3D samplerCube sampler1DShadow sampler2DShadow const attribute uniform varying break continue discard return for while do if else struct in out inout"),types:V("float int bool void vec2 vec3 vec4 ivec2 ivec3 ivec4 bvec2 bvec3 bvec4 mat2 mat3 mat4"),blockKeywords:V("for while do if else struct"),builtin:V("radians degrees sin cos tan asin acos atan pow exp log exp2 sqrt inversesqrt abs sign floor ceil fract mod min max clamp mix step smoothstep length distance dot cross normalize ftransform faceforward reflect refract matrixCompMult lessThan lessThanEqual greaterThan greaterThanEqual equal notEqual any all not texture1D texture1DProj texture1DLod texture1DProjLod texture2D texture2DProj texture2DLod texture2DProjLod texture3D texture3DProj texture3DLod texture3DProjLod textureCube textureCubeLod shadow1D shadow2D shadow1DProj shadow2DProj shadow1DLod shadow2DLod shadow1DProjLod shadow2DProjLod dFdx dFdy fwidth noise1 noise2 noise3 noise4"),atoms:V("true false gl_FragColor gl_SecondaryColor gl_Normal gl_Vertex gl_MultiTexCoord0 gl_MultiTexCoord1 gl_MultiTexCoord2 gl_MultiTexCoord3 gl_MultiTexCoord4 gl_MultiTexCoord5 gl_MultiTexCoord6 gl_MultiTexCoord7 gl_FogCoord gl_PointCoord gl_Position gl_PointSize gl_ClipVertex gl_FrontColor gl_BackColor gl_FrontSecondaryColor gl_BackSecondaryColor gl_TexCoord gl_FogFragCoord gl_FragCoord gl_FrontFacing gl_FragData gl_FragDepth gl_ModelViewMatrix gl_ProjectionMatrix gl_ModelViewProjectionMatrix gl_TextureMatrix gl_NormalMatrix gl_ModelViewMatrixInverse gl_ProjectionMatrixInverse gl_ModelViewProjectionMatrixInverse gl_TextureMatrixTranspose gl_ModelViewMatrixInverseTranspose gl_ProjectionMatrixInverseTranspose gl_ModelViewProjectionMatrixInverseTranspose gl_TextureMatrixInverseTranspose gl_NormalScale gl_DepthRange gl_ClipPlane gl_Point gl_FrontMaterial gl_BackMaterial gl_LightSource gl_LightModel gl_FrontLightModelProduct gl_BackLightModelProduct gl_TextureColor gl_EyePlaneS gl_EyePlaneT gl_EyePlaneR gl_EyePlaneQ gl_FogParameters gl_MaxLights gl_MaxClipPlanes gl_MaxTextureUnits gl_MaxTextureCoords gl_MaxVertexAttribs gl_MaxVertexUniformComponents gl_MaxVaryingFloats gl_MaxVertexTextureImageUnits gl_MaxTextureImageUnits gl_MaxFragmentUniformComponents gl_MaxCombineTextureImageUnits gl_MaxDrawBuffers"),indentSwitch:!1,hooks:{"#":wi}}),lC=et({name:"nesc",keywords:V(Er+" as atomic async call command component components configuration event generic implementation includes interface module new norace nx_struct nx_union post provides signal task uses abstract extends"),types:qr,blockKeywords:V(zr),atoms:V("null true false"),hooks:{"#":wi}}),wg=et({name:"objectivec",keywords:V(Er+" "+dg),types:mg,builtin:V(pg),blockKeywords:V(zr+" @synthesize @try @catch @finally @autoreleasepool @synchronized"),defKeywords:V(So+" @interface @implementation @protocol @class"),dontIndentStatements:/^@.*$/,typeFirstDefinitions:!0,atoms:V("YES NO NULL Nil nil true false nullptr"),isReservedIdentifier:ko,hooks:{"#":wi,"*":yo}}),cC=et({name:"objectivecpp",keywords:V(Er+" "+dg+" "+Og),types:mg,builtin:V(pg),blockKeywords:V(zr+" @synthesize @try @catch @finally @autoreleasepool @synchronized class try catch"),defKeywords:V(So+" @interface @implementation @protocol @class class namespace"),dontIndentStatements:/^@.*$|^template$/,typeFirstDefinitions:!0,atoms:V("YES NO NULL Nil nil true false nullptr"),isReservedIdentifier:ko,hooks:{"#":wi,"*":yo,u:xi,U:xi,L:xi,R:xi,0:Se,1:Se,2:Se,3:Se,4:Se,5:Se,6:Se,7:Se,8:Se,9:Se,token:function(i,e,t){if(t=="variable"&&i.peek()=="("&&(e.prevToken==";"||e.prevToken==null||e.prevToken=="}")&&gg(i.current()))return"def"}},namespaceSeparator:"::"}),hC=et({name:"squirrel",keywords:V("base break clone continue const default delete enum extends function in class foreach local resume return this throw typeof yield constructor instanceof static"),types:qr,blockKeywords:V("case catch class else for foreach if switch try while"),defKeywords:V("function local class"),typeFirstDefinitions:!0,atoms:V("true false null"),hooks:{"#":wi}}),bo=null;function Pg(i){return function(e,t){for(var n=!1,r,s=!1;!e.eol();){if(!n&&e.match('"')&&(i=="single"||e.match('""'))){s=!0;break}if(!n&&e.match("``")){bo=Pg(i),s=!0;break}r=e.next(),n=i=="single"&&!n&&r=="\\"}return s&&(t.tokenize=null),"string"}}var fC=et({name:"ceylon",keywords:V("abstracts alias assembly assert assign break case catch class continue dynamic else exists extends finally for function given if import in interface is let module new nonempty object of out outer package return satisfies super switch then this throw try value void while"),types:function(i){var e=i.charAt(0);return e===e.toUpperCase()&&e!==e.toLowerCase()},blockKeywords:V("case catch class dynamic else finally for function if interface module new object switch try while"),defKeywords:V("class dynamic function interface module object package value"),builtin:V("abstract actual aliased annotation by default deprecated doc final formal late license native optional sealed see serializable shared suppressWarnings tagged throws variable"),isPunctuationChar:/[\[\]{}\(\),;\:\.`]/,isOperatorChar:/[+\-*&%=<>!?|^~:\/]/,numberStart:/[\d#$]/,number:/^(?:#[\da-fA-F_]+|\$[01_]+|[\d_]+[kMGTPmunpf]?|[\d_]+\.[\d_]+(?:[eE][-+]?\d+|[kMGTPmunpf]|)|)/i,multiLineStrings:!0,typeFirstDefinitions:!0,atoms:V("true false null larger smaller equal empty finished"),indentSwitch:!1,styleDefs:!1,hooks:{"@":function(i){return i.eatWhile(/[\w\$_]/),"meta"},'"':function(i,e){return e.tokenize=Pg(i.match('""')?"triple":"single"),e.tokenize(i,e)},"`":function(i,e){return!bo||!i.match("`")?!1:(e.tokenize=bo,bo=null,e.tokenize(i,e))},"'":function(i){return i.match(/^(\\[^'\s]+|[^\\'])'/)?"string.special":(i.eatWhile(/[\w\$_\xa1-\uffff]/),"atom")},token:function(i,e,t){if((t=="variable"||t=="type")&&e.prevToken==".")return"variableName.special"}},languageData:{closeBrackets:{brackets:["(","[","{","'",'"','"""']}}});function SP(i){(i.interpolationStack||(i.interpolationStack=[])).push(i.tokenize)}function vg(i){return(i.interpolationStack||(i.interpolationStack=[])).pop()}function yP(i){return i.interpolationStack?i.interpolationStack.length:0}function Oh(i,e,t,n){var r=!1;if(e.eat(i))if(e.eat(i))r=!0;else return"string";function s(o,a){for(var l=!1;!o.eol();){if(!n&&!l&&o.peek()=="$")return SP(a),a.tokenize=kP,"string";var c=o.next();if(c==i&&!l&&(!r||o.match(i+i))){a.tokenize=null;break}l=!n&&!l&&c=="\\"}return"string"}return t.tokenize=s,s(e,t)}function kP(i,e){return i.eat("$"),i.eat("{")?e.tokenize=null:e.tokenize=xP,null}function xP(i,e){return i.eatWhile(/[\w_]/),e.tokenize=vg(e),"variable"}var uC=et({name:"dart",keywords:V("this super static final const abstract class extends external factory implements mixin get native set typedef with enum throw rethrow assert break case continue default in return new deferred async await covariant try catch finally do else for if switch while import library export part of show hide is as extension on yield late required sealed base interface when inline"),blockKeywords:V("try catch finally do else for if switch while"),builtin:V("void bool num int double dynamic var String Null Never"),atoms:V("true false null"),number:/^(?:0x[a-f\d_]+|(?:[\d_]+\.?[\d_]*|\.[\d_]+)(?:e[-+]?[\d_]+)?)/i,hooks:{"@":function(i){return i.eatWhile(/[\w\$_\.]/),"meta"},"'":function(i,e){return Oh("'",i,e,!1)},'"':function(i,e){return Oh('"',i,e,!1)},r:function(i,e){var t=i.peek();return t=="'"||t=='"'?Oh(i.next(),i,e,!0):!1},"}":function(i,e){return yP(e)>0?(e.tokenize=vg(e),null):!1},"/":function(i,e){return i.eat("*")?(e.tokenize=Zr(1),e.tokenize(i,e)):!1},token:function(i,e,t){if(t=="variable"){var n=RegExp("^[_$]*[A-Z][a-zA-Z0-9_$]*$","g");if(n.test(i.current()))return"type"}}}});function We(i){var e=i.client||{},t=i.atoms||{false:!0,true:!0,null:!0},n=i.builtin||M(Tg),r=i.keywords||M(Hi),s=i.operatorChars||/^[*+\-%<>!=&|~^\/]/,o=i.support||{},a=i.hooks||{},l=i.dateSQL||{date:!0,time:!0,timestamp:!0},c=i.backslashStringEscapes!==!1,h=i.brackets||/^[\{}\(\)\[\]]/,f=i.punctuation||/^[;.,:]/;function u(g,Q){var S=g.next();if(a[S]){var x=a[S](g,Q);if(x!==!1)return x}if(o.hexNumber&&(S=="0"&&g.match(/^[xX][0-9a-fA-F]+/)||(S=="x"||S=="X")&&g.match(/^'[0-9a-fA-F]*'/)))return"number";if(o.binaryNumber&&((S=="b"||S=="B")&&g.match(/^'[01]+'/)||S=="0"&&g.match(/^b[01]*/)))return"number";if(S.charCodeAt(0)>47&&S.charCodeAt(0)<58)return g.match(/^[0-9]*(\.[0-9]+)?([eE][-+]?[0-9]+)?/),o.decimallessFloat&&g.match(/^\.(?!\.)/),"number";if(S=="?"&&(g.eatSpace()||g.eol()||g.eat(";")))return"macroName";if(S=="'"||S=='"'&&o.doubleQuote)return Q.tokenize=O(S),Q.tokenize(g,Q);if((o.nCharCast&&(S=="n"||S=="N")||o.charsetCast&&S=="_"&&g.match(/[a-z][a-z0-9]*/i))&&(g.peek()=="'"||g.peek()=='"'))return"keyword";if(o.escapeConstant&&(S=="e"||S=="E")&&(g.peek()=="'"||g.peek()=='"'&&o.doubleQuote))return Q.tokenize=function($,R){return(R.tokenize=O($.next(),!0))($,R)},"keyword";if(o.commentSlashSlash&&S=="/"&&g.eat("/"))return g.skipToEnd(),"comment";if(o.commentHash&&S=="#"||S=="-"&&g.eat("-")&&(!o.commentSpaceRequired||g.eat(" ")))return g.skipToEnd(),"comment";if(S=="/"&&g.eat("*"))return Q.tokenize=p(1),Q.tokenize(g,Q);if(S=="."){if(o.zerolessFloat&&g.match(/^(?:\d+(?:e[+-]?\d+)?)/i))return"number";if(g.match(/^\.+/))return null;if(o.ODBCdotTable&&g.match(/^[\w\d_$#]+/))return"type"}else{if(s.test(S))return g.eatWhile(s),"operator";if(h.test(S))return"bracket";if(f.test(S))return g.eatWhile(f),"punctuation";if(S=="{"&&(g.match(/^( )*(d|D|t|T|ts|TS)( )*'[^']*'( )*}/)||g.match(/^( )*(d|D|t|T|ts|TS)( )*"[^"]*"( )*}/)))return"number";g.eatWhile(/^[_\w\d]/);var v=g.current().toLowerCase();return l.hasOwnProperty(v)&&(g.match(/^( )+'[^']*'/)||g.match(/^( )+"[^"]*"/))?"number":t.hasOwnProperty(v)?"atom":n.hasOwnProperty(v)?"type":r.hasOwnProperty(v)?"keyword":e.hasOwnProperty(v)?"builtin":null}}function O(g,Q){return function(S,x){for(var v=!1,$;($=S.next())!=null;){if($==g&&!v){x.tokenize=u;break}v=(c||Q)&&!v&&$=="\\"}return"string"}}function p(g){return function(Q,S){var x=Q.match(/^.*?(\/\*|\*\/)/);return x?x[1]=="/*"?S.tokenize=p(g+1):g>1?S.tokenize=p(g-1):S.tokenize=u:Q.skipToEnd(),"comment"}}function m(g,Q,S){Q.context={prev:Q.context,indent:g.indentation(),col:g.column(),type:S}}function b(g){g.indent=g.context.indent,g.context=g.context.prev}return{name:"sql",startState:function(){return{tokenize:u,context:null}},token:function(g,Q){if(g.sol()&&Q.context&&Q.context.align==null&&(Q.context.align=!1),Q.tokenize==u&&g.eatSpace())return null;var S=Q.tokenize(g,Q);if(S=="comment")return S;Q.context&&Q.context.align==null&&(Q.context.align=!0);var x=g.current();return x=="("?m(g,Q,")"):x=="["?m(g,Q,"]"):Q.context&&Q.context.type==x&&b(Q),S},indent:function(g,Q,S){var x=g.context;if(!x)return null;var v=Q.charAt(0)==x.type;return x.align?x.col+(v?0:1):x.indent+(v?0:S.unit)},languageData:{commentTokens:{line:o.commentSlashSlash?"//":o.commentHash?"#":"--",block:{open:"/*",close:"*/"}},closeBrackets:{brackets:["(","[","{","'",'"',"`"]}}}}function ph(i){for(var e;(e=i.next())!=null;)if(e=="`"&&!i.eat("`"))return"string.special";return i.backUp(i.current().length-1),i.eatWhile(/\w/)?"string.special":null}function wP(i){for(var e;(e=i.next())!=null;)if(e=='"'&&!i.eat('"'))return"string.special";return i.backUp(i.current().length-1),i.eatWhile(/\w/)?"string.special":null}function Fi(i){return i.eat("@")&&(i.match("session."),i.match("local."),i.match("global.")),i.eat("'")?(i.match(/^.*'/),"string.special"):i.eat('"')?(i.match(/^.*"/),"string.special"):i.eat("`")?(i.match(/^.*`/),"string.special"):i.match(/^[0-9a-zA-Z$\.\_]+/)?"string.special":null}function $g(i){return i.eat("N")?"atom":i.match(/^[a-zA-Z.#!?]/)?"string.special":null}var Hi="alter and as asc between by count create delete desc distinct drop from group having in insert into is join like not on or order select set table union update values where limit ";function M(i){for(var e={},t=i.split(" "),n=0;n!=^\&|\/]/,brackets:/^[\{}\(\)]/,punctuation:/^[;.,:/]/,backslashStringEscapes:!1,dateSQL:M("date datetimeoffset datetime2 smalldatetime datetime time"),hooks:{"@":Fi}}),mC=We({client:M("charset clear connect edit ego exit go help nopager notee nowarning pager print prompt quit rehash source status system tee"),keywords:M(Hi+"accessible action add after algorithm all analyze asensitive at authors auto_increment autocommit avg avg_row_length before binary binlog both btree cache call cascade cascaded case catalog_name chain change changed character check checkpoint checksum class_origin client_statistics close coalesce code collate collation collations column columns comment commit committed completion concurrent condition connection consistent constraint contains continue contributors convert cross current current_date current_time current_timestamp current_user cursor data database databases day_hour day_microsecond day_minute day_second deallocate dec declare default delay_key_write delayed delimiter des_key_file describe deterministic dev_pop dev_samp deviance diagnostics directory disable discard distinctrow div dual dumpfile each elseif enable enclosed end ends engine engines enum errors escape escaped even event events every execute exists exit explain extended fast fetch field fields first flush for force foreign found_rows full fulltext function general get global grant grants group group_concat handler hash help high_priority hosts hour_microsecond hour_minute hour_second if ignore ignore_server_ids import index index_statistics infile inner innodb inout insensitive insert_method install interval invoker isolation iterate key keys kill language last leading leave left level limit linear lines list load local localtime localtimestamp lock logs low_priority master master_heartbeat_period master_ssl_verify_server_cert masters match max max_rows maxvalue message_text middleint migrate min min_rows minute_microsecond minute_second mod mode modifies modify mutex mysql_errno natural next no no_write_to_binlog offline offset one online open optimize option optionally out outer outfile pack_keys parser partition partitions password phase plugin plugins prepare preserve prev primary privileges procedure processlist profile profiles purge query quick range read read_write reads real rebuild recover references regexp relaylog release remove rename reorganize repair repeatable replace require resignal restrict resume return returns revoke right rlike rollback rollup row row_format rtree savepoint schedule schema schema_name schemas second_microsecond security sensitive separator serializable server session share show signal slave slow smallint snapshot soname spatial specific sql sql_big_result sql_buffer_result sql_cache sql_calc_found_rows sql_no_cache sql_small_result sqlexception sqlstate sqlwarning ssl start starting starts status std stddev stddev_pop stddev_samp storage straight_join subclass_origin sum suspend table_name table_statistics tables tablespace temporary terminated to trailing transaction trigger triggers truncate uncommitted undo uninstall unique unlock upgrade usage use use_frm user user_resources user_statistics using utc_date utc_time utc_timestamp value variables varying view views warnings when while with work write xa xor year_month zerofill begin do then else loop repeat"),builtin:M("bool boolean bit blob decimal double float long longblob longtext medium mediumblob mediumint mediumtext time timestamp tinyblob tinyint tinytext text bigint int int1 int2 int3 int4 int8 integer float float4 float8 double char varbinary varchar varcharacter precision date datetime year unsigned signed numeric"),atoms:M("false true null unknown"),operatorChars:/^[*+\-%<>!=&|^]/,dateSQL:M("date time timestamp"),support:M("ODBCdotTable decimallessFloat zerolessFloat binaryNumber hexNumber doubleQuote nCharCast charsetCast commentHash commentSpaceRequired"),hooks:{"@":Fi,"`":ph,"\\":$g}}),gC=We({client:M("charset clear connect edit ego exit go help nopager notee nowarning pager print prompt quit rehash source status system tee"),keywords:M(Hi+"accessible action add after algorithm all always analyze asensitive at authors auto_increment autocommit avg avg_row_length before binary binlog both btree cache call cascade cascaded case catalog_name chain change changed character check checkpoint checksum class_origin client_statistics close coalesce code collate collation collations column columns comment commit committed completion concurrent condition connection consistent constraint contains continue contributors convert cross current current_date current_time current_timestamp current_user cursor data database databases day_hour day_microsecond day_minute day_second deallocate dec declare default delay_key_write delayed delimiter des_key_file describe deterministic dev_pop dev_samp deviance diagnostics directory disable discard distinctrow div dual dumpfile each elseif enable enclosed end ends engine engines enum errors escape escaped even event events every execute exists exit explain extended fast fetch field fields first flush for force foreign found_rows full fulltext function general generated get global grant grants group group_concat handler hard hash help high_priority hosts hour_microsecond hour_minute hour_second if ignore ignore_server_ids import index index_statistics infile inner innodb inout insensitive insert_method install interval invoker isolation iterate key keys kill language last leading leave left level limit linear lines list load local localtime localtimestamp lock logs low_priority master master_heartbeat_period master_ssl_verify_server_cert masters match max max_rows maxvalue message_text middleint migrate min min_rows minute_microsecond minute_second mod mode modifies modify mutex mysql_errno natural next no no_write_to_binlog offline offset one online open optimize option optionally out outer outfile pack_keys parser partition partitions password persistent phase plugin plugins prepare preserve prev primary privileges procedure processlist profile profiles purge query quick range read read_write reads real rebuild recover references regexp relaylog release remove rename reorganize repair repeatable replace require resignal restrict resume return returns revoke right rlike rollback rollup row row_format rtree savepoint schedule schema schema_name schemas second_microsecond security sensitive separator serializable server session share show shutdown signal slave slow smallint snapshot soft soname spatial specific sql sql_big_result sql_buffer_result sql_cache sql_calc_found_rows sql_no_cache sql_small_result sqlexception sqlstate sqlwarning ssl start starting starts status std stddev stddev_pop stddev_samp storage straight_join subclass_origin sum suspend table_name table_statistics tables tablespace temporary terminated to trailing transaction trigger triggers truncate uncommitted undo uninstall unique unlock upgrade usage use use_frm user user_resources user_statistics using utc_date utc_time utc_timestamp value variables varying view views virtual warnings when while with work write xa xor year_month zerofill begin do then else loop repeat"),builtin:M("bool boolean bit blob decimal double float long longblob longtext medium mediumblob mediumint mediumtext time timestamp tinyblob tinyint tinytext text bigint int int1 int2 int3 int4 int8 integer float float4 float8 double char varbinary varchar varcharacter precision date datetime year unsigned signed numeric"),atoms:M("false true null unknown"),operatorChars:/^[*+\-%<>!=&|^]/,dateSQL:M("date time timestamp"),support:M("ODBCdotTable decimallessFloat zerolessFloat binaryNumber hexNumber doubleQuote nCharCast charsetCast commentHash commentSpaceRequired"),hooks:{"@":Fi,"`":ph,"\\":$g}}),QC=We({client:M("auth backup bail binary changes check clone databases dbinfo dump echo eqp exit explain fullschema headers help import imposter indexes iotrace limit lint load log mode nullvalue once open output print prompt quit read restore save scanstats schema separator session shell show stats system tables testcase timeout timer trace vfsinfo vfslist vfsname width"),keywords:M(Hi+"abort action add after all analyze attach autoincrement before begin cascade case cast check collate column commit conflict constraint cross current_date current_time current_timestamp database default deferrable deferred detach each else end escape except exclusive exists explain fail for foreign full glob if ignore immediate index indexed initially inner instead intersect isnull key left limit match natural no notnull null of offset outer plan pragma primary query raise recursive references regexp reindex release rename replace restrict right rollback row savepoint temp temporary then to transaction trigger unique using vacuum view virtual when with without"),builtin:M("bool boolean bit blob decimal double float long longblob longtext medium mediumblob mediumint mediumtext time timestamp tinyblob tinyint tinytext text clob bigint int int2 int8 integer float double char varchar date datetime year unsigned signed numeric real"),atoms:M("null current_date current_time current_timestamp"),operatorChars:/^[*+\-%<>!=&|/~]/,dateSQL:M("date time timestamp datetime"),support:M("decimallessFloat zerolessFloat"),identifierQuote:'"',hooks:{"@":Fi,":":Fi,"?":Fi,$:Fi,'"':wP,"`":ph}}),bC=We({client:{},keywords:M("add all allow alter and any apply as asc authorize batch begin by clustering columnfamily compact consistency count create custom delete desc distinct drop each_quorum exists filtering from grant if in index insert into key keyspace keyspaces level limit local_one local_quorum modify nan norecursive nosuperuser not of on one order password permission permissions primary quorum rename revoke schema select set storage superuser table three to token truncate ttl two type unlogged update use user users using values where with writetime"),builtin:M("ascii bigint blob boolean counter decimal double float frozen inet int list map static text timestamp timeuuid tuple uuid varchar varint"),atoms:M("false true infinity NaN"),operatorChars:/^[<>=]/,dateSQL:{},support:M("commentSlashSlash decimallessFloat"),hooks:{}}),SC=We({client:M("appinfo arraysize autocommit autoprint autorecovery autotrace blockterminator break btitle cmdsep colsep compatibility compute concat copycommit copytypecheck define describe echo editfile embedded escape exec execute feedback flagger flush heading headsep instance linesize lno loboffset logsource long longchunksize markup native newpage numformat numwidth pagesize pause pno recsep recsepchar release repfooter repheader serveroutput shiftinout show showmode size spool sqlblanklines sqlcase sqlcode sqlcontinue sqlnumber sqlpluscompatibility sqlprefix sqlprompt sqlterminator suffix tab term termout time timing trimout trimspool ttitle underline verify version wrap"),keywords:M("abort accept access add all alter and any array arraylen as asc assert assign at attributes audit authorization avg base_table begin between binary_integer body boolean by case cast char char_base check close cluster clusters colauth column comment commit compress connect connected constant constraint crash create current currval cursor data_base database date dba deallocate debugoff debugon decimal declare default definition delay delete desc digits dispose distinct do drop else elseif elsif enable end entry escape exception exception_init exchange exclusive exists exit external fast fetch file for force form from function generic goto grant group having identified if immediate in increment index indexes indicator initial initrans insert interface intersect into is key level library like limited local lock log logging long loop master maxextents maxtrans member minextents minus mislabel mode modify multiset new next no noaudit nocompress nologging noparallel not nowait number_base object of off offline on online only open option or order out package parallel partition pctfree pctincrease pctused pls_integer positive positiven pragma primary prior private privileges procedure public raise range raw read rebuild record ref references refresh release rename replace resource restrict return returning returns reverse revoke rollback row rowid rowlabel rownum rows run savepoint schema segment select separate session set share snapshot some space split sql start statement storage subtype successful synonym tabauth table tables tablespace task terminate then to trigger truncate type union unique unlimited unrecoverable unusable update use using validate value values variable view views when whenever where while with work"),builtin:M("abs acos add_months ascii asin atan atan2 average bfile bfilename bigserial bit blob ceil character chartorowid chr clob concat convert cos cosh count dec decode deref dual dump dup_val_on_index empty error exp false float floor found glb greatest hextoraw initcap instr instrb int integer isopen last_day least length lengthb ln lower lpad ltrim lub make_ref max min mlslabel mod months_between natural naturaln nchar nclob new_time next_day nextval nls_charset_decl_len nls_charset_id nls_charset_name nls_initcap nls_lower nls_sort nls_upper nlssort no_data_found notfound null number numeric nvarchar2 nvl others power rawtohex real reftohex round rowcount rowidtochar rowtype rpad rtrim serial sign signtype sin sinh smallint soundex sqlcode sqlerrm sqrt stddev string substr substrb sum sysdate tan tanh to_char text to_date to_label to_multi_byte to_number to_single_byte translate true trunc uid unlogged upper user userenv varchar varchar2 variance varying vsize xml"),operatorChars:/^[*\/+\-%<>!=~]/,dateSQL:M("date time timestamp"),support:M("doubleQuote nCharCast zerolessFloat binaryNumber hexNumber")}),yC=We({keywords:M("select alter $elem$ $key$ $value$ add after all analyze and archive as asc before between binary both bucket buckets by cascade case cast change cluster clustered clusterstatus collection column columns comment compute concatenate continue create cross cursor data database databases dbproperties deferred delete delimited desc describe directory disable distinct distribute drop else enable end escaped exclusive exists explain export extended external fetch fields fileformat first format formatted from full function functions grant group having hold_ddltime idxproperties if import in index indexes inpath inputdriver inputformat insert intersect into is items join keys lateral left like limit lines load local location lock locks mapjoin materialized minus msck no_drop nocompress not of offline on option or order out outer outputdriver outputformat overwrite partition partitioned partitions percent plus preserve procedure purge range rcfile read readonly reads rebuild recordreader recordwriter recover reduce regexp rename repair replace restrict revoke right rlike row schema schemas semi sequencefile serde serdeproperties set shared show show_database sort sorted ssl statistics stored streamtable table tables tablesample tblproperties temporary terminated textfile then tmp to touch transform trigger unarchive undo union uniquejoin unlock update use using utc utc_tmestamp view when where while with admin authorization char compact compactions conf cube current current_date current_timestamp day decimal defined dependency directories elem_type exchange file following for grouping hour ignore inner interval jar less logical macro minute month more none noscan over owner partialscan preceding pretty principals protection reload rewrite role roles rollup rows second server sets skewed transactions truncate unbounded unset uri user values window year"),builtin:M("bool boolean long timestamp tinyint smallint bigint int float double date datetime unsigned string array struct map uniontype key_type utctimestamp value_type varchar"),atoms:M("false true null unknown"),operatorChars:/^[*+\-%<>!=]/,dateSQL:M("date timestamp"),support:M("ODBCdotTable doubleQuote binaryNumber hexNumber")}),kC=We({client:M("source"),keywords:M(Hi+"a abort abs absent absolute access according action ada add admin after aggregate alias all allocate also alter always analyse analyze and any are array array_agg array_max_cardinality as asc asensitive assert assertion assignment asymmetric at atomic attach attribute attributes authorization avg backward base64 before begin begin_frame begin_partition bernoulli between bigint binary bit bit_length blob blocked bom boolean both breadth by c cache call called cardinality cascade cascaded case cast catalog catalog_name ceil ceiling chain char char_length character character_length character_set_catalog character_set_name character_set_schema characteristics characters check checkpoint class class_origin clob close cluster coalesce cobol collate collation collation_catalog collation_name collation_schema collect column column_name columns command_function command_function_code comment comments commit committed concurrently condition condition_number configuration conflict connect connection connection_name constant constraint constraint_catalog constraint_name constraint_schema constraints constructor contains content continue control conversion convert copy corr corresponding cost count covar_pop covar_samp create cross csv cube cume_dist current current_catalog current_date current_default_transform_group current_path current_role current_row current_schema current_time current_timestamp current_transform_group_for_type current_user cursor cursor_name cycle data database datalink datatype date datetime_interval_code datetime_interval_precision day db deallocate debug dec decimal declare default defaults deferrable deferred defined definer degree delete delimiter delimiters dense_rank depends depth deref derived desc describe descriptor detach detail deterministic diagnostics dictionary disable discard disconnect dispatch distinct dlnewcopy dlpreviouscopy dlurlcomplete dlurlcompleteonly dlurlcompletewrite dlurlpath dlurlpathonly dlurlpathwrite dlurlscheme dlurlserver dlvalue do document domain double drop dump dynamic dynamic_function dynamic_function_code each element else elseif elsif empty enable encoding encrypted end end_frame end_partition endexec enforced enum equals errcode error escape event every except exception exclude excluding exclusive exec execute exists exit exp explain expression extension external extract false family fetch file filter final first first_value flag float floor following for force foreach foreign fortran forward found frame_row free freeze from fs full function functions fusion g general generated get global go goto grant granted greatest group grouping groups handler having header hex hierarchy hint hold hour id identity if ignore ilike immediate immediately immutable implementation implicit import in include including increment indent index indexes indicator info inherit inherits initially inline inner inout input insensitive insert instance instantiable instead int integer integrity intersect intersection interval into invoker is isnull isolation join k key key_member key_type label lag language large last last_value lateral lead leading leakproof least left length level library like like_regex limit link listen ln load local localtime localtimestamp location locator lock locked log logged loop lower m map mapping match matched materialized max max_cardinality maxvalue member merge message message_length message_octet_length message_text method min minute minvalue mod mode modifies module month more move multiset mumps name names namespace national natural nchar nclob nesting new next nfc nfd nfkc nfkd nil no none normalize normalized not nothing notice notify notnull nowait nth_value ntile null nullable nullif nulls number numeric object occurrences_regex octet_length octets of off offset oids old on only open operator option options or order ordering ordinality others out outer output over overlaps overlay overriding owned owner p pad parallel parameter parameter_mode parameter_name parameter_ordinal_position parameter_specific_catalog parameter_specific_name parameter_specific_schema parser partial partition pascal passing passthrough password path percent percent_rank percentile_cont percentile_disc perform period permission pg_context pg_datatype_name pg_exception_context pg_exception_detail pg_exception_hint placing plans pli policy portion position position_regex power precedes preceding precision prepare prepared preserve primary print_strict_params prior privileges procedural procedure procedures program public publication query quote raise range rank read reads real reassign recheck recovery recursive ref references referencing refresh regr_avgx regr_avgy regr_count regr_intercept regr_r2 regr_slope regr_sxx regr_sxy regr_syy reindex relative release rename repeatable replace replica requiring reset respect restart restore restrict result result_oid return returned_cardinality returned_length returned_octet_length returned_sqlstate returning returns reverse revoke right role rollback rollup routine routine_catalog routine_name routine_schema routines row row_count row_number rows rowtype rule savepoint scale schema schema_name schemas scope scope_catalog scope_name scope_schema scroll search second section security select selective self sensitive sequence sequences serializable server server_name session session_user set setof sets share show similar simple size skip slice smallint snapshot some source space specific specific_name specifictype sql sqlcode sqlerror sqlexception sqlstate sqlwarning sqrt stable stacked standalone start state statement static statistics stddev_pop stddev_samp stdin stdout storage strict strip structure style subclass_origin submultiset subscription substring substring_regex succeeds sum symmetric sysid system system_time system_user t table table_name tables tablesample tablespace temp template temporary text then ties time timestamp timezone_hour timezone_minute to token top_level_count trailing transaction transaction_active transactions_committed transactions_rolled_back transform transforms translate translate_regex translation treat trigger trigger_catalog trigger_name trigger_schema trim trim_array true truncate trusted type types uescape unbounded uncommitted under unencrypted union unique unknown unlink unlisten unlogged unnamed unnest until untyped update upper uri usage use_column use_variable user user_defined_type_catalog user_defined_type_code user_defined_type_name user_defined_type_schema using vacuum valid validate validator value value_of values var_pop var_samp varbinary varchar variable_conflict variadic varying verbose version versioning view views volatile warning when whenever where while whitespace width_bucket window with within without work wrapper write xml xmlagg xmlattributes xmlbinary xmlcast xmlcomment xmlconcat xmldeclaration xmldocument xmlelement xmlexists xmlforest xmliterate xmlnamespaces xmlparse xmlpi xmlquery xmlroot xmlschema xmlserialize xmltable xmltext xmlvalidate year yes zone"),builtin:M("bigint int8 bigserial serial8 bit varying varbit boolean bool box bytea character char varchar cidr circle date double precision float8 inet integer int int4 interval json jsonb line lseg macaddr macaddr8 money numeric decimal path pg_lsn point polygon real float4 smallint int2 smallserial serial2 serial serial4 text time without zone with timetz timestamp timestamptz tsquery tsvector txid_snapshot uuid xml"),atoms:M("false true null unknown"),operatorChars:/^[*\/+\-%<>!=&|^\/#@?~]/,backslashStringEscapes:!1,dateSQL:M("date time timestamp"),support:M("ODBCdotTable decimallessFloat zerolessFloat binaryNumber hexNumber nCharCast charsetCast escapeConstant")}),xC=We({keywords:M("ancestor and asc by contains desc descendant distinct from group has in is limit offset on order select superset where"),atoms:M("false true"),builtin:M("blob datetime first key __key__ string integer double boolean null"),operatorChars:/^[*+\-%<>!=]/}),wC=We({client:M("source"),keywords:M("abort absolute access action active add admin after aggregate all also alter always analyse analyze and any array as asc assertion assignment asymmetric at authorization backward before begin between bigint binary bit boolean both by cache called cascade cascaded case cast chain char character characteristics check checkpoint class close cluster coalesce codegen collate column comment commit committed concurrency concurrently configuration connection constraint constraints contains content continue conversion copy cost cpu_rate_limit create createdb createexttable createrole createuser cross csv cube current current_catalog current_date current_role current_schema current_time current_timestamp current_user cursor cycle data database day deallocate dec decimal declare decode default defaults deferrable deferred definer delete delimiter delimiters deny desc dictionary disable discard distinct distributed do document domain double drop dxl each else enable encoding encrypted end enum errors escape every except exchange exclude excluding exclusive execute exists explain extension external extract false family fetch fields filespace fill filter first float following for force foreign format forward freeze from full function global grant granted greatest group group_id grouping handler hash having header hold host hour identity if ignore ilike immediate immutable implicit in including inclusive increment index indexes inherit inherits initially inline inner inout input insensitive insert instead int integer intersect interval into invoker is isnull isolation join key language large last leading least left level like limit list listen load local localtime localtimestamp location lock log login mapping master match maxvalue median merge minute minvalue missing mode modifies modify month move name names national natural nchar new newline next no nocreatedb nocreateexttable nocreaterole nocreateuser noinherit nologin none noovercommit nosuperuser not nothing notify notnull nowait null nullif nulls numeric object of off offset oids old on only operator option options or order ordered others out outer over overcommit overlaps overlay owned owner parser partial partition partitions passing password percent percentile_cont percentile_disc placing plans position preceding precision prepare prepared preserve primary prior privileges procedural procedure protocol queue quote randomly range read readable reads real reassign recheck recursive ref references reindex reject relative release rename repeatable replace replica reset resource restart restrict returning returns revoke right role rollback rollup rootpartition row rows rule savepoint scatter schema scroll search second security segment select sequence serializable session session_user set setof sets share show similar simple smallint some split sql stable standalone start statement statistics stdin stdout storage strict strip subpartition subpartitions substring superuser symmetric sysid system table tablespace temp template temporary text then threshold ties time timestamp to trailing transaction treat trigger trim true truncate trusted type unbounded uncommitted unencrypted union unique unknown unlisten until update user using vacuum valid validation validator value values varchar variadic varying verbose version view volatile web when where whitespace window with within without work writable write xml xmlattributes xmlconcat xmlelement xmlexists xmlforest xmlparse xmlpi xmlroot xmlserialize year yes zone"),builtin:M("bigint int8 bigserial serial8 bit varying varbit boolean bool box bytea character char varchar cidr circle date double precision float float8 inet integer int int4 interval json jsonb line lseg macaddr macaddr8 money numeric decimal path pg_lsn point polygon real float4 smallint int2 smallserial serial2 serial serial4 text time without zone with timetz timestamp timestamptz tsquery tsvector txid_snapshot uuid xml"),atoms:M("false true null unknown"),operatorChars:/^[*+\-%<>!=&|^\/#@?~]/,dateSQL:M("date time timestamp"),support:M("ODBCdotTable decimallessFloat zerolessFloat binaryNumber hexNumber nCharCast charsetCast")}),PC=We({keywords:M("add after all alter analyze and anti archive array as asc at between bucket buckets by cache cascade case cast change clear cluster clustered codegen collection column columns comment commit compact compactions compute concatenate cost create cross cube current current_date current_timestamp database databases data dbproperties defined delete delimited deny desc describe dfs directories distinct distribute drop else end escaped except exchange exists explain export extended external false fields fileformat first following for format formatted from full function functions global grant group grouping having if ignore import in index indexes inner inpath inputformat insert intersect interval into is items join keys last lateral lazy left like limit lines list load local location lock locks logical macro map minus msck natural no not null nulls of on optimize option options or order out outer outputformat over overwrite partition partitioned partitions percent preceding principals purge range recordreader recordwriter recover reduce refresh regexp rename repair replace reset restrict revoke right rlike role roles rollback rollup row rows schema schemas select semi separated serde serdeproperties set sets show skewed sort sorted start statistics stored stratify struct table tables tablesample tblproperties temp temporary terminated then to touch transaction transactions transform true truncate unarchive unbounded uncache union unlock unset use using values view when where window with"),builtin:M("tinyint smallint int bigint boolean float double string binary timestamp decimal array map struct uniontype delimited serde sequencefile textfile rcfile inputformat outputformat"),atoms:M("false true null"),operatorChars:/^[*\/+\-%<>!=~&|^]/,dateSQL:M("date time timestamp"),support:M("ODBCdotTable doubleQuote zerolessFloat")}),vC=We({client:M("source"),keywords:M("alter and as asc between by count create delete desc distinct drop from group having in insert into is join like not on or order select set table union update values where limit after all and as at asc avedev avg between by case cast coalesce count create current_timestamp day days delete define desc distinct else end escape events every exists false first from full group having hour hours in inner insert instanceof into irstream is istream join last lastweekday left limit like max match_recognize matches median measures metadatasql min minute minutes msec millisecond milliseconds not null offset on or order outer output partition pattern prev prior regexp retain-union retain-intersection right rstream sec second seconds select set some snapshot sql stddev sum then true unidirectional until update variable weekday when where window"),builtin:{},atoms:M("false true null"),operatorChars:/^[*+\-%<>!=&|^\/#@?~]/,dateSQL:M("time"),support:M("decimallessFloat zerolessFloat binaryNumber hexNumber")});var Cg={name:"toml",startState:function(){return{inString:!1,stringType:"",lhs:!0,inArray:0}},token:function(i,e){let t;if(!e.inString&&(t=i.match(/^('''|"""|'|")/))&&(e.stringType=t[0],e.inString=!0),i.sol()&&!e.inString&&e.inArray===0&&(e.lhs=!0),e.inString){for(;e.inString;)if(i.match(e.stringType))e.inString=!1;else if(i.peek()==="\\")i.next(),i.next();else{if(i.eol())break;i.match(/^.[^\\\"\']*/)}return e.lhs?"property":"string"}else{if(e.inArray&&i.peek()==="]")return i.next(),e.inArray--,"bracket";if(e.lhs&&i.peek()==="["&&i.skipTo("]"))return i.next(),i.peek()==="]"&&i.next(),"atom";if(i.peek()==="#")return i.skipToEnd(),"comment";if(i.eatSpace())return null;if(e.lhs&&i.eatWhile(function(n){return n!="="&&n!=" "}))return"property";if(e.lhs&&i.peek()==="=")return i.next(),e.lhs=!1,null;if(!e.lhs&&i.match(/^\d\d\d\d[\d\-\:\.T]*Z/))return"atom";if(!e.lhs&&(i.match("true")||i.match("false")))return"atom";if(!e.lhs&&i.peek()==="[")return e.inArray++,i.next(),"bracket";if(!e.lhs&&i.match(/^\-?\d+(?:\.\d+)?/))return"number";i.eatSpace()||i.next()}return null},languageData:{commentTokens:{line:"#"}}};var PP=Qe({"for in if else endfor endif":d.controlKeyword,"Attribute/Identifier":d.definition(d.propertyName),"ForIntro/Identifier":d.definition(d.propertyName),"Block/Identifier":d.definitionKeyword,"FunctionCall/Identifier":d.function(d.variableName),"Attribute/Expression":d.attributeValue,"VariableExpr/Identifier":d.variableName,"GetAttr/Identifier":d.variableName,Identifier:d.name,"LiteralValue/...":d.literal,"StringLit/... TemplateLiteral":d.string,NumericLit:d.number,BoolLit:d.bool,NullLit:d.null,Comment:d.comment,LineComment:d.lineComment,BlockComment:d.blockComment,"( )":d.paren,"{ }":d.bracket,"[ ]":d.squareBracket,ArithOp:d.arithmeticOperator,LogicOp:d.logicOperator,CompareOp:d.compareOperator,ControlOp:d.controlOperator,HeredocIdentifier:d.special(d.controlKeyword),HeredocStart:d.special(d.brace),"TemplateInterpolationStart TemplateInterpolationEnd":d.special(d.brace),"TemplateDirectiveStart TemplateDirectiveEnd":d.special(d.brace),StripMarker:d.special(d.brace),Ellipsis:d.punctuation,": =>":d.punctuation,",":d.separator}),mh=1,gh=2,Qh=3,bh=4,Sh=5,yh=6,An=7,Ae=93,Ce={QUOTED_TEMPLATE:1,TEMPLATE_INTERPOLATION:2,TEMPLATE_DIRECTIVE:4,HEREDOC_TEMPLATE:8},vP=function(i){var e=0,t,n;if(i.length===0)return e;for(t=0;t{if(e.canShift(mh)&&!(e.context&&e.context.type===Ce.QUOTED_TEMPLATE)&&String.fromCharCode(i.next)==='"')return i.advance(),i.acceptToken(mh)},{contextual:!0,fallback:!0}),XP=new J((i,e)=>{if(e.canShift(gh)&&e.context&&e.context.type===Ce.QUOTED_TEMPLATE&&String.fromCharCode(i.next)==='"')return i.advance(),i.acceptToken(gh)},{contextual:!0,fallback:!0}),_P=new J((i,e)=>{if(e.canShift(Ae)&&e.context&&e.context.type===Ce.QUOTED_TEMPLATE)switch(String.fromCharCode(i.next)){case"\\":switch(i.advance(),String.fromCharCode(i.next)){case'"':case"n":case"r":case"t":case"\\":return i.advance(),i.acceptToken(Ae);case"u":for(let t=0;t<4;t++)if(i.advance(),!/[0-9a-fA-F]/.test(String.fromCharCode(i.next)))return;return i.advance(),i.acceptToken(Ae);case"U":for(let t=0;t<8;t++)if(i.advance(),!/[0-9a-fA-F]/.test(String.fromCharCode(i.next)))return;return i.advance(),i.acceptToken(Ae);default:return}}if(e.canShift(Ae)&&e.context&&(e.context.type===Ce.QUOTED_TEMPLATE||e.context.type===Ce.HEREDOC_TEMPLATE)&&i.next!==-1)return i.advance(),i.acceptToken(Ae)},{contextual:!0,fallback:!0}),RP=new J((i,e)=>{if(e.canShift(Qh)&&e.canShift(Ae)&&!(e.context&&e.context.type===Ce.TEMPLATE_INTERPOLATION)&&String.fromCharCode(i.next)==="$")return i.advance(),String.fromCharCode(i.next)==="{"?(i.advance(),i.acceptToken(Qh)):(String.fromCharCode(i.next)==="$"&&(i.advance(),String.fromCharCode(i.next)==="{")&&i.advance(),i.acceptToken(Ae))},{contextual:!0,fallback:!0}),AP=new J((i,e)=>{if(e.canShift(bh)&&e.context&&e.context.type===Ce.TEMPLATE_INTERPOLATION&&String.fromCharCode(i.next)==="}")return i.advance(),i.acceptToken(bh)},{contextual:!0,fallback:!0}),ZP=new J((i,e)=>{if(e.canShift(Sh)&&e.canShift(Ae)&&!(e.context&&e.context.type===Ce.TEMPLATE_DIRECTIVE)&&String.fromCharCode(i.next)==="%")return i.advance(),String.fromCharCode(i.next)==="{"?(i.advance(),i.acceptToken(Sh)):(String.fromCharCode(i.next)==="%"&&(i.advance(),String.fromCharCode(i.next)==="{")&&i.advance(),i.acceptToken(Ae))},{contextual:!0,fallback:!0}),EP=new J((i,e)=>{if(e.canShift(yh)&&e.context&&e.context.type===Ce.TEMPLATE_DIRECTIVE&&String.fromCharCode(i.next)==="}")return i.advance(),i.acceptToken(yh)},{contextual:!0,fallback:!0}),qP=new J((i,e)=>{if(e.canShift(An)&&!(e.context&&e.context.type===Ce.HEREDOC_TEMPLATE)&&i.next!==-1){let t=String.fromCharCode(i.next);for(;/[0-9a-zA-Z]/.test(t)||t==="_"||t==="-";)i.advance(),t=String.fromCharCode(i.next);return i.acceptToken(An)}if(e.canShift(An)&&e.canShift(Ae)&&e.context&&e.context.type===Ce.HEREDOC_TEMPLATE&&i.next!=-1){let t=e.context.heredoc_identifier,n=!1,r=!1,s=String.fromCharCode(i.next);for(;/\s/.test(s);)r=!0,s===` +`,{label:"if",detail:"block",type:"keyword"}),ce("if ${}:\n ${}\nelse:\n ${}",{label:"if",detail:"/ else block",type:"keyword"}),ce("class ${name}:\n def __init__(self, ${params}):\n ${}",{label:"class",detail:"definition",type:"keyword"}),ce("import ${module}",{label:"import",detail:"statement",type:"keyword"}),ce("from ${module} import ${names}",{label:"from",detail:"import",type:"keyword"})],Cw=Bs(jm,Is($w.concat(Tw)));function nh(i){let{node:e,pos:t}=i,n=i.lineIndent(t,-1),r=null;for(;;){let s=e.childBefore(t);if(s)if(s.name=="Comment")t=s.from;else if(s.name=="Body"||s.name=="MatchBody")i.baseIndentFor(s)+i.unit<=n&&(r=s),e=s;else if(s.name=="MatchClause")e=s;else if(s.type.is("Statement"))e=s;else break;else break}return r}function rh(i,e){let t=i.baseIndentFor(e),n=i.lineAt(i.pos,-1),r=n.from+n.text.length;return/^\s*($|#)/.test(n.text)&&i.node.tot?null:t+i.unit}var sh=$e.define({name:"python",parser:qm.configure({props:[we.add({Body:i=>{var e;let t=/^\s*(#|$)/.test(i.textAfter)&&nh(i)||i.node;return(e=rh(i,t))!==null&&e!==void 0?e:i.continue()},MatchBody:i=>{var e;let t=nh(i);return(e=rh(i,t||i.node))!==null&&e!==void 0?e:i.continue()},IfStatement:i=>/^\s*(else:|elif )/.test(i.textAfter)?i.baseIndent:i.continue(),"ForStatement WhileStatement":i=>/^\s*else:/.test(i.textAfter)?i.baseIndent:i.continue(),TryStatement:i=>/^\s*(except[ :]|finally:|else:)/.test(i.textAfter)?i.baseIndent:i.continue(),MatchStatement:i=>/^\s*case /.test(i.textAfter)?i.baseIndent+i.unit:i.continue(),"TupleExpression ComprehensionExpression ParamList ArgList ParenthesizedExpression":St({closing:")"}),"DictionaryExpression DictionaryComprehensionExpression SetExpression SetComprehensionExpression":St({closing:"}"}),"ArrayExpression ArrayComprehensionExpression":St({closing:"]"}),MemberExpression:i=>i.baseIndent+i.unit,"String FormatString":()=>null,Script:i=>{var e;let t=nh(i);return(e=t&&rh(i,t))!==null&&e!==void 0?e:i.continue()}}),Te.add({"ArrayExpression DictionaryExpression SetExpression TupleExpression":ht,Body:(i,e)=>({from:i.from+1,to:i.to-(i.to==e.doc.length?0:1)}),"String FormatString":(i,e)=>({from:e.doc.lineAt(i.from).to,to:i.to})})]}),languageData:{closeBrackets:{brackets:["(","[","{","'",'"',"'''",'"""'],stringPrefixes:["f","fr","rf","r","u","b","br","rb","F","FR","RF","R","U","B","BR","RB"]},commentTokens:{line:"#"},indentOnInput:/^\s*([\}\]\)]|else:|elif |except |finally:|case\s+[^:]*:?)$/}});function Vm(){return new me(sh,[sh.data.of({autocomplete:vw}),sh.data.of({autocomplete:Cw})])}var Xw=Qe({String:d.string,Number:d.number,"True False":d.bool,PropertyName:d.propertyName,Null:d.null,", :":d.separator,"[ ]":d.squareBracket,"{ }":d.brace}),Dm=Pe.deserialize({version:14,states:"$bOVQPOOOOQO'#Cb'#CbOnQPO'#CeOvQPO'#ClOOQO'#Cr'#CrQOQPOOOOQO'#Cg'#CgO}QPO'#CfO!SQPO'#CtOOQO,59P,59PO![QPO,59PO!aQPO'#CuOOQO,59W,59WO!iQPO,59WOVQPO,59QOqQPO'#CmO!nQPO,59`OOQO1G.k1G.kOVQPO'#CnO!vQPO,59aOOQO1G.r1G.rOOQO1G.l1G.lOOQO,59X,59XOOQO-E6k-E6kOOQO,59Y,59YOOQO-E6l-E6l",stateData:"#O~OeOS~OQSORSOSSOTSOWQO_ROgPO~OVXOgUO~O^[O~PVO[^O~O]_OVhX~OVaO~O]bO^iX~O^dO~O]_OVha~O]bO^ia~O",goto:"!kjPPPPPPkPPkqwPPPPk{!RPPP!XP!e!hXSOR^bQWQRf_TVQ_Q`WRg`QcZRicQTOQZRQe^RhbRYQR]R",nodeNames:"\u26A0 JsonText True False Null Number String } { Object Property PropertyName : , ] [ Array",maxTerm:25,nodeProps:[["isolate",-2,6,11,""],["openedBy",7,"{",14,"["],["closedBy",8,"}",15,"]"]],propSources:[Xw],skippedNodes:[0],repeatNodeCount:2,tokenData:"(|~RaXY!WYZ!W]^!Wpq!Wrs!]|}$u}!O$z!Q!R%T!R![&c![!]&t!}#O&y#P#Q'O#Y#Z'T#b#c'r#h#i(Z#o#p(r#q#r(w~!]Oe~~!`Wpq!]qr!]rs!xs#O!]#O#P!}#P;'S!];'S;=`$o<%lO!]~!}Og~~#QXrs!]!P!Q!]#O#P!]#U#V!]#Y#Z!]#b#c!]#f#g!]#h#i!]#i#j#m~#pR!Q![#y!c!i#y#T#Z#y~#|R!Q![$V!c!i$V#T#Z$V~$YR!Q![$c!c!i$c#T#Z$c~$fR!Q![!]!c!i!]#T#Z!]~$rP;=`<%l!]~$zO]~~$}Q!Q!R%T!R![&c~%YRT~!O!P%c!g!h%w#X#Y%w~%fP!Q![%i~%nRT~!Q![%i!g!h%w#X#Y%w~%zR{|&T}!O&T!Q![&Z~&WP!Q![&Z~&`PT~!Q![&Z~&hST~!O!P%c!Q![&c!g!h%w#X#Y%w~&yO[~~'OO_~~'TO^~~'WP#T#U'Z~'^P#`#a'a~'dP#g#h'g~'jP#X#Y'm~'rOR~~'uP#i#j'x~'{P#`#a(O~(RP#`#a(U~(ZOS~~(^P#f#g(a~(dP#i#j(g~(jP#X#Y(m~(rOQ~~(wOW~~(|OV~",tokenizers:[0],topRules:{JsonText:[0,1]},tokenPrec:0});var _w=$e.define({name:"json",parser:Dm.configure({props:[we.add({Object:Bt({except:/^\s*\}/}),Array:Bt({except:/^\s*\]/})}),Te.add({"Object Array":ht})]}),languageData:{closeBrackets:{brackets:["[","{",'"']},indentOnInput:/^\s*[\}\]]$/}});function Ym(){return new me(_w)}function Oo(i){for(var e={},t=0;t~^?!",zw=":;,.(){}[]",Lw=/^\-?0b[01][01_]*/,Mw=/^\-?0o[0-7][0-7_]*/,Ww=/^\-?0x[\dA-Fa-f][\dA-Fa-f_]*(?:(?:\.[\dA-Fa-f][\dA-Fa-f_]*)?[Pp]\-?\d[\d_]*)?/,jw=/^\-?\d[\d_]*(?:\.\d[\d_]*)?(?:[Ee]\-?\d[\d_]*)?/,Vw=/^\$\d+|(`?)[_A-Za-z][_A-Za-z$0-9]*\1/,Dw=/^\.(?:\$\d+|(`?)[_A-Za-z][_A-Za-z$0-9]*\1)/,Yw=/^\#[A-Za-z]+/,Iw=/^@(?:\$\d+|(`?)[_A-Za-z][_A-Za-z$0-9]*\1)/;function Im(i,e,t){if(i.sol()&&(e.indented=i.indentation()),i.eatSpace())return null;var n=i.peek();if(n=="/"){if(i.match("//"))return i.skipToEnd(),"comment";if(i.match("/*"))return e.tokenize.push(oh),oh(i,e)}if(i.match(Yw))return"builtin";if(i.match(Iw))return"attribute";if(i.match(Lw)||i.match(Mw)||i.match(Ww)||i.match(jw))return"number";if(i.match(Dw))return"property";if(qw.indexOf(n)>-1)return i.next(),"operator";if(zw.indexOf(n)>-1)return i.next(),i.match(".."),"punctuation";var r;if(r=i.match(/("""|"|')/)){var s=Uw.bind(null,r[0]);return e.tokenize.push(s),s(i,e)}if(i.match(Vw)){var o=i.current();return Ew.hasOwnProperty(o)?"type":Zw.hasOwnProperty(o)?"atom":Rw.hasOwnProperty(o)?(Aw.hasOwnProperty(o)&&(e.prev="define"),"keyword"):t=="define"?"def":"variable"}return i.next(),null}function Bw(){var i=0;return function(e,t,n){var r=Im(e,t,n);if(r=="punctuation"){if(e.current()=="(")++i;else if(e.current()==")"){if(i==0)return e.backUp(1),t.tokenize.pop(),t.tokenize[t.tokenize.length-1](e,t);--i}}return r}}function Uw(i,e,t){for(var n=i.length==1,r,s=!1;r=e.peek();)if(s){if(e.next(),r=="(")return t.tokenize.push(Bw()),"string";s=!1}else{if(e.match(i))return t.tokenize.pop(),"string";e.next(),s=r=="\\"}return n&&t.tokenize.pop(),"string"}function oh(i,e){for(var t;t=i.next();)if(t==="/"&&i.eat("*"))e.tokenize.push(oh);else if(t==="*"&&i.eat("/")){e.tokenize.pop();break}return"comment"}function Gw(i,e,t){this.prev=i,this.align=e,this.indented=t}function Nw(i,e){var t=e.match(/^\s*($|\/[\/\*]|[)}\]])/,!1)?null:e.column()+1;i.context=new Gw(i.context,t,i.indented)}function Fw(i){i.context&&(i.indented=i.context.indented,i.context=i.context.prev)}var Bm={name:"swift",startState:function(){return{prev:null,context:null,indented:0,tokenize:[]}},token:function(i,e){var t=e.prev;e.prev=null;var n=e.tokenize[e.tokenize.length-1]||Im,r=n(i,e,t);if(!r||r=="comment"?e.prev=t:e.prev||(e.prev=r),r=="punctuation"){var s=/[\(\[\{]|([\]\)\}])/.exec(i.current());s&&(s[1]?Fw:Nw)(e,i)}return r},indent:function(i,e,t){var n=i.context;if(!n)return 0;var r=/^[\]\}\)]/.test(e);return n.align!=null?n.align-(r?1:0):n.indented+(r?0:t.unit)},languageData:{indentOnInput:/^\s*[\)\}\]]$/,commentTokens:{line:"//",block:{open:"/*",close:"*/"}},closeBrackets:{brackets:["(","[","{","'",'"',"`"]}}};var ah={};function lh(i,e){for(var t=0;t1&&i.eat("$");var t=i.next();return/['"({]/.test(t)?(e.tokens[0]=po(t,t=="("?"quote":t=="{"?"def":"string"),_n(i,e)):(/\d/.test(t)||i.eatWhile(/\w/),e.tokens.shift(),"def")};function Jw(i){return function(e,t){return e.sol()&&e.string==i&&t.tokens.shift(),e.skipToEnd(),"string.special"}}function _n(i,e){return(e.tokens[0]||Hw)(i,e)}var Hm={name:"shell",startState:function(){return{tokens:[]}},token:function(i,e){return _n(i,e)},languageData:{autocomplete:Um.concat(Gm,Nm),closeBrackets:{brackets:["(","[","{","'",'"',"`"]},commentTokens:{line:"#"}}};var eP=["true","false","on","off","yes","no"],tP=new RegExp("\\b(("+eP.join(")|(")+"))$","i"),Km={name:"yaml",token:function(i,e){var t=i.peek(),n=e.escaped;if(e.escaped=!1,t=="#"&&(i.pos==0||/\s/.test(i.string.charAt(i.pos-1))))return i.skipToEnd(),"comment";if(i.match(/^('([^']|\\.)*'?|"([^"]|\\.)*"?)/))return"string";if(e.literal&&i.indentation()>e.keyCol)return i.skipToEnd(),"string";if(e.literal&&(e.literal=!1),i.sol()){if(e.keyCol=0,e.pair=!1,e.pairStart=!1,i.match("---")||i.match("..."))return"def";if(i.match(/^\s*-\s+/))return"meta"}if(i.match(/^(\{|\}|\[|\])/))return t=="{"?e.inlinePairs++:t=="}"?e.inlinePairs--:t=="["?e.inlineList++:e.inlineList--,"meta";if(e.inlineList>0&&!n&&t==",")return i.next(),"meta";if(e.inlinePairs>0&&!n&&t==",")return e.keyCol=0,e.pair=!1,e.pairStart=!1,i.next(),"meta";if(e.pairStart){if(i.match(/^\s*(\||\>)\s*/))return e.literal=!0,"meta";if(i.match(/^\s*(\&|\*)[a-z0-9\._-]+\b/i))return"variable";if(e.inlinePairs==0&&i.match(/^\s*-?[0-9\.\,]+\s?$/)||e.inlinePairs>0&&i.match(/^\s*-?[0-9\.\,]+\s?(?=(,|}))/))return"number";if(i.match(tP))return"keyword"}return!e.pair&&i.match(/^\s*(?:[,\[\]{}&*!|>'"%@`][^\s'":]|[^,\[\]{}#&*!|>'"%@`])[^#]*?(?=\s*:($|\s))/)?(e.pair=!0,e.keyCol=i.indentation(),"atom"):e.pair&&i.match(/^:\s*/)?(e.pairStart=!0,"meta"):(e.pairStart=!1,e.escaped=t=="\\",i.next(),null)},startState:function(){return{pair:!1,pairStart:!1,keyCol:0,inlinePairs:0,inlineList:0,literal:!1,escaped:!1}},languageData:{commentTokens:{line:"#"}}};var iP={break:!0,case:!0,chan:!0,const:!0,continue:!0,default:!0,defer:!0,else:!0,fallthrough:!0,for:!0,func:!0,go:!0,goto:!0,if:!0,import:!0,interface:!0,map:!0,package:!0,range:!0,return:!0,select:!0,struct:!0,switch:!0,type:!0,var:!0,bool:!0,byte:!0,complex64:!0,complex128:!0,float32:!0,float64:!0,int8:!0,int16:!0,int32:!0,int64:!0,string:!0,uint8:!0,uint16:!0,uint32:!0,uint64:!0,int:!0,uint:!0,uintptr:!0,error:!0,rune:!0,any:!0,comparable:!0},nP={true:!0,false:!0,iota:!0,nil:!0,append:!0,cap:!0,close:!0,complex:!0,copy:!0,delete:!0,imag:!0,len:!0,make:!0,new:!0,panic:!0,print:!0,println:!0,real:!0,recover:!0},Jm=/[+\-*&^%:=<>!|\/]/,ti;function mo(i,e){var t=i.next();if(t=='"'||t=="'"||t=="`")return e.tokenize=rP(t),e.tokenize(i,e);if(/[\d\.]/.test(t))return t=="."?i.match(/^[0-9]+([eE][\-+]?[0-9]+)?/):t=="0"?i.match(/^[xX][0-9a-fA-F]+/)||i.match(/^0[0-7]+/):i.match(/^[0-9]*\.?[0-9]*([eE][\-+]?[0-9]+)?/),"number";if(/[\[\]{}\(\),;\:\.]/.test(t))return ti=t,null;if(t=="/"){if(i.eat("*"))return e.tokenize=eg,eg(i,e);if(i.eat("/"))return i.skipToEnd(),"comment"}if(Jm.test(t))return i.eatWhile(Jm),"operator";i.eatWhile(/[\w\$_\xa1-\uffff]/);var n=i.current();return iP.propertyIsEnumerable(n)?((n=="case"||n=="default")&&(ti="case"),"keyword"):nP.propertyIsEnumerable(n)?"atom":"variable"}function rP(i){return function(e,t){for(var n=!1,r,s=!1;(r=e.next())!=null;){if(r==i&&!n){s=!0;break}n=!n&&i!="`"&&r=="\\"}return(s||!(n||i=="`"))&&(t.tokenize=mo),"string"}}function eg(i,e){for(var t=!1,n;n=i.next();){if(n=="/"&&t){e.tokenize=mo;break}t=n=="*"}return"comment"}function ig(i,e,t,n,r){this.indented=i,this.column=e,this.type=t,this.align=n,this.prev=r}function ch(i,e,t){return i.context=new ig(i.indented,e,t,null,i.context)}function tg(i){if(i.context.prev){var e=i.context.type;return(e==")"||e=="]"||e=="}")&&(i.indented=i.context.indented),i.context=i.context.prev}}var ng={name:"go",startState:function(i){return{tokenize:null,context:new ig(-i,0,"top",!1),indented:0,startOfLine:!0}},token:function(i,e){var t=e.context;if(i.sol()&&(t.align==null&&(t.align=!1),e.indented=i.indentation(),e.startOfLine=!0,t.type=="case"&&(t.type="}")),i.eatSpace())return null;ti=null;var n=(e.tokenize||mo)(i,e);return n=="comment"||(t.align==null&&(t.align=!0),ti=="{"?ch(e,i.column(),"}"):ti=="["?ch(e,i.column(),"]"):ti=="("?ch(e,i.column(),")"):ti=="case"?t.type="case":(ti=="}"&&t.type=="}"||ti==t.type)&&tg(e),e.startOfLine=!1),n},indent:function(i,e,t){if(i.tokenize!=mo&&i.tokenize!=null)return null;var n=i.context,r=e&&e.charAt(0);if(n.type=="case"&&/^(?:case|default)\b/.test(e))return n.indented;var s=r==n.type;return n.align?n.column+(s?0:1):n.indented+(s?0:t.unit)},languageData:{indentOnInput:/^\s([{}]|case |default\s*:)$/,commentTokens:{line:"//",block:{open:"/*",close:"*/"}}}};function fh(i){for(var e={},t=0,n=i.length;t]/)?(i.eat(/[\<\>]/),"atom"):i.eat(/[\+\-\*\/\&\|\:\!]/)?"atom":i.eat(/[a-zA-Z$@_\xa1-\uffff]/)?(i.eatWhile(/[\w$\xa1-\uffff]/),i.eat(/[\?\!\=]/),"atom"):"operator";if(t=="@"&&i.match(/^@?[a-zA-Z_\xa1-\uffff]/))return i.eat("@"),i.eatWhile(/[\w\xa1-\uffff]/),"propertyName";if(t=="$")return i.eat(/[a-zA-Z_]/)?i.eatWhile(/[\w]/):i.eat(/\d/)?i.eat(/\d/):i.next(),"variableName.special";if(/[a-zA-Z_\xa1-\uffff]/.test(t))return i.eatWhile(/[\w\xa1-\uffff]/),i.eat(/[\?\!]/),i.eat(":")?"atom":"variable";if(t=="|"&&(e.varList||e.lastTok=="{"||e.lastTok=="do"))return Pt="|",null;if(/[\(\)\[\]{}\\;]/.test(t))return Pt=t,null;if(t=="-"&&i.eat(">"))return"operator";if(/[=+\-\/*:\.^%<>~|]/.test(t)){var a=i.eatWhile(/[=+\-\/*:\.^%<>~|]/);return t=="."&&!a&&(Pt="."),"operator"}else return null}}}function cP(i){for(var e=i.pos,t=0,n,r=!1,s=!1;(n=i.next())!=null;)if(s)s=!1;else{if("[{(".indexOf(n)>-1)t++;else if("]})".indexOf(n)>-1){if(t--,t<0)break}else if(n=="/"&&t==0){r=!0;break}s=n=="\\"}return i.backUp(i.pos-e),r}function hh(i){return i||(i=1),function(e,t){if(e.peek()=="}"){if(i==1)return t.tokenize.pop(),t.tokenize[t.tokenize.length-1](e,t);t.tokenize[t.tokenize.length-1]=hh(i-1)}else e.peek()=="{"&&(t.tokenize[t.tokenize.length-1]=hh(i+1));return go(e,t)}}function hP(){var i=!1;return function(e,t){return i?(t.tokenize.pop(),t.tokenize[t.tokenize.length-1](e,t)):(i=!0,go(e,t))}}function Rr(i,e,t,n){return function(r,s){var o=!1,a;for(s.context.type==="read-quoted-paused"&&(s.context=s.context.prev,r.eat("}"));(a=r.next())!=null;){if(a==i&&(n||!o)){s.tokenize.pop();break}if(t&&a=="#"&&!o){if(r.eat("{")){i=="}"&&(s.context={prev:s.context,type:"read-quoted-paused"}),s.tokenize.push(hh());break}else if(/[@\$]/.test(r.peek())){s.tokenize.push(hP());break}}o=!o&&a=="\\"}return e}}function fP(i,e){return function(t,n){return e&&t.eatSpace(),t.match(i)?n.tokenize.pop():t.skipToEnd(),"string"}}function uP(i,e){return i.sol()&&i.match("=end")&&i.eol()&&e.tokenize.pop(),i.skipToEnd(),"comment"}var og={name:"ruby",startState:function(i){return{tokenize:[go],indented:0,context:{type:"top",indented:-i},continuedLine:!1,lastTok:null,varList:!1}},token:function(i,e){Pt=null,i.sol()&&(e.indented=i.indentation());var t=e.tokenize[e.tokenize.length-1](i,e),n,r=Pt;if(t=="variable"){var s=i.current();t=e.lastTok=="."?"property":sP.propertyIsEnumerable(i.current())?"keyword":/^[A-Z]/.test(s)?"tag":e.lastTok=="def"||e.lastTok=="class"||e.varList?"def":"variable",t=="keyword"&&(r=s,oP.propertyIsEnumerable(s)?n="indent":aP.propertyIsEnumerable(s)?n="dedent":((s=="if"||s=="unless")&&i.column()==i.indentation()||s=="do"&&e.context.indented2&&o.token&&typeof o.token!="string"){t.pending=[];for(var c=2;c-1)return null;var r=t.indent.length-1,s=i[t.state];e:for(;;){for(var o=0;o!]+/,token:"operator"},{regex:/[a-zA-Z_]\w*!/,token:"macroName"},{regex:/[a-zA-Z_]\w*/,token:"variable"},{regex:/[\{\[\(]/,indent:!0},{regex:/[\}\]\)]/,dedent:!0}],string:[{regex:/"/,token:"string",next:"start"},{regex:/(?:[^\\"]|\\(?:.|$))*/,token:"string"}],string_raw:[{regex:/"/,token:"string",next:"start"},{regex:/[^"]*/,token:"string"}],string_raw_hash:[{regex:/"#+/,token:"string",next:"start"},{regex:/(?:[^"]|"(?!#))*/,token:"string"}],comment:[{regex:/.*?\*\//,token:"comment",next:"start"},{regex:/.*/,token:"comment"}],languageData:{name:"rust",dontIndentStates:["comment"],indentOnInput:/^\s*\}$/,commentTokens:{line:"//",block:{open:"/*",close:"*/"}}}});function dh(i,e,t,n,r,s){this.indented=i,this.column=e,this.type=t,this.info=n,this.align=r,this.prev=s}function Qo(i,e,t,n){var r=i.indented;return i.context&&i.context.type=="statement"&&t!="statement"&&(r=i.context.indented),i.context=new dh(r,e,t,n,null,i.context)}function Ar(i){var e=i.context.type;return(e==")"||e=="]"||e=="}")&&(i.indented=i.context.indented),i.context=i.context.prev}function hg(i,e,t){if(e.prevToken=="variable"||e.prevToken=="type"||/\S(?:[^- ]>|[*\]])\s*$|\*$/.test(i.string.slice(0,t))||e.typeAtEndOfLine&&i.column()==i.indentation())return!0}function uh(i){for(;;){if(!i||i.type=="top")return!0;if(i.type=="}"&&i.prev.info!="namespace")return!1;i=i.prev}}function et(i){var e=i.statementIndentUnit,t=i.dontAlignCalls,n=i.keywords||{},r=i.types||{},s=i.builtin||{},o=i.blockKeywords||{},a=i.defKeywords||{},l=i.atoms||{},c=i.hooks||{},h=i.multiLineStrings,f=i.indentStatements!==!1,u=i.indentSwitch!==!1,O=i.namespaceSeparator,p=i.isPunctuationChar||/[\[\]{}\(\),;\:\.]/,m=i.numberStart||/[\d\.]/,b=i.number||/^(?:0x[a-f\d]+|0b[01]+|(?:\d+\.?\d*|\.\d+)(?:e[-+]?\d+)?)(u|ll?|l|f)?/i,g=i.isOperatorChar||/[+\-*&%=<>!?|\/]/,Q=i.isIdentifierChar||/[\w\$_\xa1-\uffff]/,S=i.isReservedIdentifier||!1,x,v;function $(T,k){var w=T.next();if(c[w]){var C=c[w](T,k);if(C!==!1)return C}if(w=='"'||w=="'")return k.tokenize=A(w),k.tokenize(T,k);if(m.test(w)){if(T.backUp(1),T.match(b))return"number";T.next()}if(p.test(w))return x=w,null;if(w=="/"){if(T.eat("*"))return k.tokenize=_,_(T,k);if(T.eat("/"))return T.skipToEnd(),"comment"}if(g.test(w)){for(;!T.match(/^\/[\/*]/,!1)&&T.eat(g););return"operator"}if(T.eatWhile(Q),O)for(;T.match(O);)T.eatWhile(Q);var j=T.current();return ii(n,j)?(ii(o,j)&&(x="newstatement"),ii(a,j)&&(v=!0),"keyword"):ii(r,j)?"type":ii(s,j)||S&&S(j)?(ii(o,j)&&(x="newstatement"),"builtin"):ii(l,j)?"atom":"variable"}function A(T){return function(k,w){for(var C=!1,j,y=!1;(j=k.next())!=null;){if(j==T&&!C){y=!0;break}C=!C&&j=="\\"}return(y||!(C||h))&&(w.tokenize=null),"string"}}function _(T,k){for(var w=!1,C;C=T.next();){if(C=="/"&&w){k.tokenize=null;break}w=C=="*"}return"comment"}function W(T,k){i.typeFirstDefinitions&&T.eol()&&uh(k.context)&&(k.typeAtEndOfLine=hg(T,k,T.pos))}return{name:i.name,startState:function(T){return{tokenize:null,context:new dh(-T,0,"top",null,!1),indented:0,startOfLine:!0,prevToken:null}},token:function(T,k){var w=k.context;if(T.sol()&&(w.align==null&&(w.align=!1),k.indented=T.indentation(),k.startOfLine=!0),T.eatSpace())return W(T,k),null;x=v=null;var C=(k.tokenize||$)(T,k);if(C=="comment"||C=="meta")return C;if(w.align==null&&(w.align=!0),x==";"||x==":"||x==","&&T.match(/^\s*(?:\/\/.*)?$/,!1))for(;k.context.type=="statement";)Ar(k);else if(x=="{")Qo(k,T.column(),"}");else if(x=="[")Qo(k,T.column(),"]");else if(x=="(")Qo(k,T.column(),")");else if(x=="}"){for(;w.type=="statement";)w=Ar(k);for(w.type=="}"&&(w=Ar(k));w.type=="statement";)w=Ar(k)}else x==w.type?Ar(k):f&&((w.type=="}"||w.type=="top")&&x!=";"||w.type=="statement"&&x=="newstatement")&&Qo(k,T.column(),"statement",T.current());if(C=="variable"&&(k.prevToken=="def"||i.typeFirstDefinitions&&hg(T,k,T.start)&&uh(k.context)&&T.match(/^\s*\(/,!1))&&(C="def"),c.token){var j=c.token(T,k,C);j!==void 0&&(C=j)}return C=="def"&&i.styleDefs===!1&&(C="variable"),k.startOfLine=!1,k.prevToken=v?"def":C||x,W(T,k),C},indent:function(T,k,w){if(T.tokenize!=$&&T.tokenize!=null||T.typeAtEndOfLine&&uh(T.context))return null;var C=T.context,j=k&&k.charAt(0),y=j==C.type;if(C.type=="statement"&&j=="}"&&(C=C.prev),i.dontIndentStatements)for(;C.type=="statement"&&i.dontIndentStatements.test(C.info);)C=C.prev;if(c.indent){var q=c.indent(T,C,k,w.unit);if(typeof q=="number")return q}var de=C.prev&&C.prev.info=="switch";if(i.allmanIndentation&&/[{(]/.test(j)){for(;C.type!="top"&&C.type!="}";)C=C.prev;return C.indented}return C.type=="statement"?C.indented+(j=="{"?0:e||w.unit):C.align&&(!t||C.type!=")")?C.column+(y?0:1):C.type==")"&&!y?C.indented+(e||w.unit):C.indented+(y?0:w.unit)+(!y&&de&&!/^(?:case|default)\b/.test(k)?w.unit:0)},languageData:{indentOnInput:u?/^\s*(?:case .*?:|default:|\{\}?|\})$/:/^\s*[{}]$/,commentTokens:{line:"//",block:{open:"/*",close:"*/"}},autocomplete:Object.keys(n).concat(Object.keys(r)).concat(Object.keys(s)).concat(Object.keys(l)),...i.languageData}}}function V(i){for(var e={},t=i.split(" "),n=0;n!?|\/#:@]/,hooks:{"@":function(i){return i.eatWhile(/[\w\$_]/),"meta"},'"':function(i,e){return i.match('""')?(e.tokenize=kg,e.tokenize(i,e)):!1},"'":function(i){return i.match(/^(\\[^'\s]+|[^\\'])'/)?"character":(i.eatWhile(/[\w\$_\xa1-\uffff]/),"atom")},"=":function(i,e){var t=e.context;return t.type=="}"&&t.align&&i.eat(">")?(e.context=new dh(t.indented,t.column,t.type,t.info,null,t.prev),"operator"):!1},"/":function(i,e){return i.eat("*")?(e.tokenize=Zr(1),e.tokenize(i,e)):!1}},languageData:{closeBrackets:{brackets:["(","[","{","'",'"','"""']}}});function SP(i){return function(e,t){for(var n=!1,r,s=!1;!e.eol();){if(!i&&!n&&e.match('"')){s=!0;break}if(i&&e.match('"""')){s=!0;break}r=e.next(),!n&&r=="$"&&e.match("{")&&e.skipTo("}"),n=!n&&r=="\\"&&!i}return(s||!i)&&(t.tokenize=null),"string"}}var xg=et({name:"kotlin",keywords:V("package as typealias class interface this super val operator var fun for is in This throw return annotation break continue object if else while do try when !in !is as? file import where by get set abstract enum open inner override private public internal protected catch finally out final vararg reified dynamic companion constructor init sealed field property receiver param sparam lateinit data inline noinline tailrec external annotation crossinline const operator infix suspend actual expect setparam"),types:V("Boolean Byte Character CharSequence Class ClassLoader Cloneable Comparable Compiler Double Exception Float Integer Long Math Number Object Package Pair Process Runtime Runnable SecurityManager Short StackTraceElement StrictMath String StringBuffer System Thread ThreadGroup ThreadLocal Throwable Triple Void Annotation Any BooleanArray ByteArray Char CharArray DeprecationLevel DoubleArray Enum FloatArray Function Int IntArray Lazy LazyThreadSafetyMode LongArray Nothing ShortArray Unit"),intendSwitch:!1,indentStatements:!1,multiLineStrings:!0,number:/^(?:0x[a-f\d_]+|0b[01_]+|(?:[\d_]+(\.\d+)?|\.\d+)(?:e[-+]?[\d_]+)?)(ul?|l|f)?/i,blockKeywords:V("catch class do else finally for if where try while enum"),defKeywords:V("class val var object interface fun"),atoms:V("true false null this"),hooks:{"@":function(i){return i.eatWhile(/[\w\$_]/),"meta"},"*":function(i,e){return e.prevToken=="."?"variable":"operator"},'"':function(i,e){return e.tokenize=SP(i.match('""')),e.tokenize(i,e)},"/":function(i,e){return i.eat("*")?(e.tokenize=Zr(1),e.tokenize(i,e)):!1},indent:function(i,e,t,n){var r=t&&t.charAt(0);if((i.prevToken=="}"||i.prevToken==")")&&t=="")return i.indented;if(i.prevToken=="operator"&&t!="}"&&i.context.type!="}"||i.prevToken=="variable"&&r=="."||(i.prevToken=="}"||i.prevToken==")")&&r==".")return n*2+e.indented;if(e.align&&e.type=="}")return e.indented+(i.context.type==(t||"").charAt(0)?0:n)}},languageData:{closeBrackets:{brackets:["(","[","{","'",'"','"""']}}}),lC=et({name:"shader",keywords:V("sampler1D sampler2D sampler3D samplerCube sampler1DShadow sampler2DShadow const attribute uniform varying break continue discard return for while do if else struct in out inout"),types:V("float int bool void vec2 vec3 vec4 ivec2 ivec3 ivec4 bvec2 bvec3 bvec4 mat2 mat3 mat4"),blockKeywords:V("for while do if else struct"),builtin:V("radians degrees sin cos tan asin acos atan pow exp log exp2 sqrt inversesqrt abs sign floor ceil fract mod min max clamp mix step smoothstep length distance dot cross normalize ftransform faceforward reflect refract matrixCompMult lessThan lessThanEqual greaterThan greaterThanEqual equal notEqual any all not texture1D texture1DProj texture1DLod texture1DProjLod texture2D texture2DProj texture2DLod texture2DProjLod texture3D texture3DProj texture3DLod texture3DProjLod textureCube textureCubeLod shadow1D shadow2D shadow1DProj shadow2DProj shadow1DLod shadow2DLod shadow1DProjLod shadow2DProjLod dFdx dFdy fwidth noise1 noise2 noise3 noise4"),atoms:V("true false gl_FragColor gl_SecondaryColor gl_Normal gl_Vertex gl_MultiTexCoord0 gl_MultiTexCoord1 gl_MultiTexCoord2 gl_MultiTexCoord3 gl_MultiTexCoord4 gl_MultiTexCoord5 gl_MultiTexCoord6 gl_MultiTexCoord7 gl_FogCoord gl_PointCoord gl_Position gl_PointSize gl_ClipVertex gl_FrontColor gl_BackColor gl_FrontSecondaryColor gl_BackSecondaryColor gl_TexCoord gl_FogFragCoord gl_FragCoord gl_FrontFacing gl_FragData gl_FragDepth gl_ModelViewMatrix gl_ProjectionMatrix gl_ModelViewProjectionMatrix gl_TextureMatrix gl_NormalMatrix gl_ModelViewMatrixInverse gl_ProjectionMatrixInverse gl_ModelViewProjectionMatrixInverse gl_TextureMatrixTranspose gl_ModelViewMatrixInverseTranspose gl_ProjectionMatrixInverseTranspose gl_ModelViewProjectionMatrixInverseTranspose gl_TextureMatrixInverseTranspose gl_NormalScale gl_DepthRange gl_ClipPlane gl_Point gl_FrontMaterial gl_BackMaterial gl_LightSource gl_LightModel gl_FrontLightModelProduct gl_BackLightModelProduct gl_TextureColor gl_EyePlaneS gl_EyePlaneT gl_EyePlaneR gl_EyePlaneQ gl_FogParameters gl_MaxLights gl_MaxClipPlanes gl_MaxTextureUnits gl_MaxTextureCoords gl_MaxVertexAttribs gl_MaxVertexUniformComponents gl_MaxVaryingFloats gl_MaxVertexTextureImageUnits gl_MaxTextureImageUnits gl_MaxFragmentUniformComponents gl_MaxCombineTextureImageUnits gl_MaxDrawBuffers"),indentSwitch:!1,hooks:{"#":wi}}),cC=et({name:"nesc",keywords:V(Er+" as atomic async call command component components configuration event generic implementation includes interface module new norace nx_struct nx_union post provides signal task uses abstract extends"),types:qr,blockKeywords:V(zr),atoms:V("null true false"),hooks:{"#":wi}}),wg=et({name:"objectivec",keywords:V(Er+" "+dg),types:mg,builtin:V(pg),blockKeywords:V(zr+" @synthesize @try @catch @finally @autoreleasepool @synchronized"),defKeywords:V(So+" @interface @implementation @protocol @class"),dontIndentStatements:/^@.*$/,typeFirstDefinitions:!0,atoms:V("YES NO NULL Nil nil true false nullptr"),isReservedIdentifier:ko,hooks:{"#":wi,"*":yo}}),hC=et({name:"objectivecpp",keywords:V(Er+" "+dg+" "+Og),types:mg,builtin:V(pg),blockKeywords:V(zr+" @synthesize @try @catch @finally @autoreleasepool @synchronized class try catch"),defKeywords:V(So+" @interface @implementation @protocol @class class namespace"),dontIndentStatements:/^@.*$|^template$/,typeFirstDefinitions:!0,atoms:V("YES NO NULL Nil nil true false nullptr"),isReservedIdentifier:ko,hooks:{"#":wi,"*":yo,u:xi,U:xi,L:xi,R:xi,0:Se,1:Se,2:Se,3:Se,4:Se,5:Se,6:Se,7:Se,8:Se,9:Se,token:function(i,e,t){if(t=="variable"&&i.peek()=="("&&(e.prevToken==";"||e.prevToken==null||e.prevToken=="}")&&gg(i.current()))return"def"}},namespaceSeparator:"::"}),fC=et({name:"squirrel",keywords:V("base break clone continue const default delete enum extends function in class foreach local resume return this throw typeof yield constructor instanceof static"),types:qr,blockKeywords:V("case catch class else for foreach if switch try while"),defKeywords:V("function local class"),typeFirstDefinitions:!0,atoms:V("true false null"),hooks:{"#":wi}}),bo=null;function Pg(i){return function(e,t){for(var n=!1,r,s=!1;!e.eol();){if(!n&&e.match('"')&&(i=="single"||e.match('""'))){s=!0;break}if(!n&&e.match("``")){bo=Pg(i),s=!0;break}r=e.next(),n=i=="single"&&!n&&r=="\\"}return s&&(t.tokenize=null),"string"}}var uC=et({name:"ceylon",keywords:V("abstracts alias assembly assert assign break case catch class continue dynamic else exists extends finally for function given if import in interface is let module new nonempty object of out outer package return satisfies super switch then this throw try value void while"),types:function(i){var e=i.charAt(0);return e===e.toUpperCase()&&e!==e.toLowerCase()},blockKeywords:V("case catch class dynamic else finally for function if interface module new object switch try while"),defKeywords:V("class dynamic function interface module object package value"),builtin:V("abstract actual aliased annotation by default deprecated doc final formal late license native optional sealed see serializable shared suppressWarnings tagged throws variable"),isPunctuationChar:/[\[\]{}\(\),;\:\.`]/,isOperatorChar:/[+\-*&%=<>!?|^~:\/]/,numberStart:/[\d#$]/,number:/^(?:#[\da-fA-F_]+|\$[01_]+|[\d_]+[kMGTPmunpf]?|[\d_]+\.[\d_]+(?:[eE][-+]?\d+|[kMGTPmunpf]|)|)/i,multiLineStrings:!0,typeFirstDefinitions:!0,atoms:V("true false null larger smaller equal empty finished"),indentSwitch:!1,styleDefs:!1,hooks:{"@":function(i){return i.eatWhile(/[\w\$_]/),"meta"},'"':function(i,e){return e.tokenize=Pg(i.match('""')?"triple":"single"),e.tokenize(i,e)},"`":function(i,e){return!bo||!i.match("`")?!1:(e.tokenize=bo,bo=null,e.tokenize(i,e))},"'":function(i){return i.match(/^(\\[^'\s]+|[^\\'])'/)?"string.special":(i.eatWhile(/[\w\$_\xa1-\uffff]/),"atom")},token:function(i,e,t){if((t=="variable"||t=="type")&&e.prevToken==".")return"variableName.special"}},languageData:{closeBrackets:{brackets:["(","[","{","'",'"','"""']}}});function yP(i){(i.interpolationStack||(i.interpolationStack=[])).push(i.tokenize)}function vg(i){return(i.interpolationStack||(i.interpolationStack=[])).pop()}function kP(i){return i.interpolationStack?i.interpolationStack.length:0}function Oh(i,e,t,n){var r=!1;if(e.eat(i))if(e.eat(i))r=!0;else return"string";function s(o,a){for(var l=!1;!o.eol();){if(!n&&!l&&o.peek()=="$")return yP(a),a.tokenize=xP,"string";var c=o.next();if(c==i&&!l&&(!r||o.match(i+i))){a.tokenize=null;break}l=!n&&!l&&c=="\\"}return"string"}return t.tokenize=s,s(e,t)}function xP(i,e){return i.eat("$"),i.eat("{")?e.tokenize=null:e.tokenize=wP,null}function wP(i,e){return i.eatWhile(/[\w_]/),e.tokenize=vg(e),"variable"}var OC=et({name:"dart",keywords:V("this super static final const abstract class extends external factory implements mixin get native set typedef with enum throw rethrow assert break case continue default in return new deferred async await covariant try catch finally do else for if switch while import library export part of show hide is as extension on yield late required sealed base interface when inline"),blockKeywords:V("try catch finally do else for if switch while"),builtin:V("void bool num int double dynamic var String Null Never"),atoms:V("true false null"),number:/^(?:0x[a-f\d_]+|(?:[\d_]+\.?[\d_]*|\.[\d_]+)(?:e[-+]?[\d_]+)?)/i,hooks:{"@":function(i){return i.eatWhile(/[\w\$_\.]/),"meta"},"'":function(i,e){return Oh("'",i,e,!1)},'"':function(i,e){return Oh('"',i,e,!1)},r:function(i,e){var t=i.peek();return t=="'"||t=='"'?Oh(i.next(),i,e,!0):!1},"}":function(i,e){return kP(e)>0?(e.tokenize=vg(e),null):!1},"/":function(i,e){return i.eat("*")?(e.tokenize=Zr(1),e.tokenize(i,e)):!1},token:function(i,e,t){if(t=="variable"){var n=RegExp("^[_$]*[A-Z][a-zA-Z0-9_$]*$","g");if(n.test(i.current()))return"type"}}}});function We(i){var e=i.client||{},t=i.atoms||{false:!0,true:!0,null:!0},n=i.builtin||M(Tg),r=i.keywords||M(Hi),s=i.operatorChars||/^[*+\-%<>!=&|~^\/]/,o=i.support||{},a=i.hooks||{},l=i.dateSQL||{date:!0,time:!0,timestamp:!0},c=i.backslashStringEscapes!==!1,h=i.brackets||/^[\{}\(\)\[\]]/,f=i.punctuation||/^[;.,:]/;function u(g,Q){var S=g.next();if(a[S]){var x=a[S](g,Q);if(x!==!1)return x}if(o.hexNumber&&(S=="0"&&g.match(/^[xX][0-9a-fA-F]+/)||(S=="x"||S=="X")&&g.match(/^'[0-9a-fA-F]*'/)))return"number";if(o.binaryNumber&&((S=="b"||S=="B")&&g.match(/^'[01]+'/)||S=="0"&&g.match(/^b[01]*/)))return"number";if(S.charCodeAt(0)>47&&S.charCodeAt(0)<58)return g.match(/^[0-9]*(\.[0-9]+)?([eE][-+]?[0-9]+)?/),o.decimallessFloat&&g.match(/^\.(?!\.)/),"number";if(S=="?"&&(g.eatSpace()||g.eol()||g.eat(";")))return"macroName";if(S=="'"||S=='"'&&o.doubleQuote)return Q.tokenize=O(S),Q.tokenize(g,Q);if((o.nCharCast&&(S=="n"||S=="N")||o.charsetCast&&S=="_"&&g.match(/[a-z][a-z0-9]*/i))&&(g.peek()=="'"||g.peek()=='"'))return"keyword";if(o.escapeConstant&&(S=="e"||S=="E")&&(g.peek()=="'"||g.peek()=='"'&&o.doubleQuote))return Q.tokenize=function($,A){return(A.tokenize=O($.next(),!0))($,A)},"keyword";if(o.commentSlashSlash&&S=="/"&&g.eat("/"))return g.skipToEnd(),"comment";if(o.commentHash&&S=="#"||S=="-"&&g.eat("-")&&(!o.commentSpaceRequired||g.eat(" ")))return g.skipToEnd(),"comment";if(S=="/"&&g.eat("*"))return Q.tokenize=p(1),Q.tokenize(g,Q);if(S=="."){if(o.zerolessFloat&&g.match(/^(?:\d+(?:e[+-]?\d+)?)/i))return"number";if(g.match(/^\.+/))return null;if(o.ODBCdotTable&&g.match(/^[\w\d_$#]+/))return"type"}else{if(s.test(S))return g.eatWhile(s),"operator";if(h.test(S))return"bracket";if(f.test(S))return g.eatWhile(f),"punctuation";if(S=="{"&&(g.match(/^( )*(d|D|t|T|ts|TS)( )*'[^']*'( )*}/)||g.match(/^( )*(d|D|t|T|ts|TS)( )*"[^"]*"( )*}/)))return"number";g.eatWhile(/^[_\w\d]/);var v=g.current().toLowerCase();return l.hasOwnProperty(v)&&(g.match(/^( )+'[^']*'/)||g.match(/^( )+"[^"]*"/))?"number":t.hasOwnProperty(v)?"atom":n.hasOwnProperty(v)?"type":r.hasOwnProperty(v)?"keyword":e.hasOwnProperty(v)?"builtin":null}}function O(g,Q){return function(S,x){for(var v=!1,$;($=S.next())!=null;){if($==g&&!v){x.tokenize=u;break}v=(c||Q)&&!v&&$=="\\"}return"string"}}function p(g){return function(Q,S){var x=Q.match(/^.*?(\/\*|\*\/)/);return x?x[1]=="/*"?S.tokenize=p(g+1):g>1?S.tokenize=p(g-1):S.tokenize=u:Q.skipToEnd(),"comment"}}function m(g,Q,S){Q.context={prev:Q.context,indent:g.indentation(),col:g.column(),type:S}}function b(g){g.indent=g.context.indent,g.context=g.context.prev}return{name:"sql",startState:function(){return{tokenize:u,context:null}},token:function(g,Q){if(g.sol()&&Q.context&&Q.context.align==null&&(Q.context.align=!1),Q.tokenize==u&&g.eatSpace())return null;var S=Q.tokenize(g,Q);if(S=="comment")return S;Q.context&&Q.context.align==null&&(Q.context.align=!0);var x=g.current();return x=="("?m(g,Q,")"):x=="["?m(g,Q,"]"):Q.context&&Q.context.type==x&&b(Q),S},indent:function(g,Q,S){var x=g.context;if(!x)return null;var v=Q.charAt(0)==x.type;return x.align?x.col+(v?0:1):x.indent+(v?0:S.unit)},languageData:{commentTokens:{line:o.commentSlashSlash?"//":o.commentHash?"#":"--",block:{open:"/*",close:"*/"}},closeBrackets:{brackets:["(","[","{","'",'"',"`"]}}}}function ph(i){for(var e;(e=i.next())!=null;)if(e=="`"&&!i.eat("`"))return"string.special";return i.backUp(i.current().length-1),i.eatWhile(/\w/)?"string.special":null}function PP(i){for(var e;(e=i.next())!=null;)if(e=='"'&&!i.eat('"'))return"string.special";return i.backUp(i.current().length-1),i.eatWhile(/\w/)?"string.special":null}function Fi(i){return i.eat("@")&&(i.match("session."),i.match("local."),i.match("global.")),i.eat("'")?(i.match(/^.*'/),"string.special"):i.eat('"')?(i.match(/^.*"/),"string.special"):i.eat("`")?(i.match(/^.*`/),"string.special"):i.match(/^[0-9a-zA-Z$\.\_]+/)?"string.special":null}function $g(i){return i.eat("N")?"atom":i.match(/^[a-zA-Z.#!?]/)?"string.special":null}var Hi="alter and as asc between by count create delete desc distinct drop from group having in insert into is join like not on or order select set table union update values where limit ";function M(i){for(var e={},t=i.split(" "),n=0;n!=^\&|\/]/,brackets:/^[\{}\(\)]/,punctuation:/^[;.,:/]/,backslashStringEscapes:!1,dateSQL:M("date datetimeoffset datetime2 smalldatetime datetime time"),hooks:{"@":Fi}}),gC=We({client:M("charset clear connect edit ego exit go help nopager notee nowarning pager print prompt quit rehash source status system tee"),keywords:M(Hi+"accessible action add after algorithm all analyze asensitive at authors auto_increment autocommit avg avg_row_length before binary binlog both btree cache call cascade cascaded case catalog_name chain change changed character check checkpoint checksum class_origin client_statistics close coalesce code collate collation collations column columns comment commit committed completion concurrent condition connection consistent constraint contains continue contributors convert cross current current_date current_time current_timestamp current_user cursor data database databases day_hour day_microsecond day_minute day_second deallocate dec declare default delay_key_write delayed delimiter des_key_file describe deterministic dev_pop dev_samp deviance diagnostics directory disable discard distinctrow div dual dumpfile each elseif enable enclosed end ends engine engines enum errors escape escaped even event events every execute exists exit explain extended fast fetch field fields first flush for force foreign found_rows full fulltext function general get global grant grants group group_concat handler hash help high_priority hosts hour_microsecond hour_minute hour_second if ignore ignore_server_ids import index index_statistics infile inner innodb inout insensitive insert_method install interval invoker isolation iterate key keys kill language last leading leave left level limit linear lines list load local localtime localtimestamp lock logs low_priority master master_heartbeat_period master_ssl_verify_server_cert masters match max max_rows maxvalue message_text middleint migrate min min_rows minute_microsecond minute_second mod mode modifies modify mutex mysql_errno natural next no no_write_to_binlog offline offset one online open optimize option optionally out outer outfile pack_keys parser partition partitions password phase plugin plugins prepare preserve prev primary privileges procedure processlist profile profiles purge query quick range read read_write reads real rebuild recover references regexp relaylog release remove rename reorganize repair repeatable replace require resignal restrict resume return returns revoke right rlike rollback rollup row row_format rtree savepoint schedule schema schema_name schemas second_microsecond security sensitive separator serializable server session share show signal slave slow smallint snapshot soname spatial specific sql sql_big_result sql_buffer_result sql_cache sql_calc_found_rows sql_no_cache sql_small_result sqlexception sqlstate sqlwarning ssl start starting starts status std stddev stddev_pop stddev_samp storage straight_join subclass_origin sum suspend table_name table_statistics tables tablespace temporary terminated to trailing transaction trigger triggers truncate uncommitted undo uninstall unique unlock upgrade usage use use_frm user user_resources user_statistics using utc_date utc_time utc_timestamp value variables varying view views warnings when while with work write xa xor year_month zerofill begin do then else loop repeat"),builtin:M("bool boolean bit blob decimal double float long longblob longtext medium mediumblob mediumint mediumtext time timestamp tinyblob tinyint tinytext text bigint int int1 int2 int3 int4 int8 integer float float4 float8 double char varbinary varchar varcharacter precision date datetime year unsigned signed numeric"),atoms:M("false true null unknown"),operatorChars:/^[*+\-%<>!=&|^]/,dateSQL:M("date time timestamp"),support:M("ODBCdotTable decimallessFloat zerolessFloat binaryNumber hexNumber doubleQuote nCharCast charsetCast commentHash commentSpaceRequired"),hooks:{"@":Fi,"`":ph,"\\":$g}}),QC=We({client:M("charset clear connect edit ego exit go help nopager notee nowarning pager print prompt quit rehash source status system tee"),keywords:M(Hi+"accessible action add after algorithm all always analyze asensitive at authors auto_increment autocommit avg avg_row_length before binary binlog both btree cache call cascade cascaded case catalog_name chain change changed character check checkpoint checksum class_origin client_statistics close coalesce code collate collation collations column columns comment commit committed completion concurrent condition connection consistent constraint contains continue contributors convert cross current current_date current_time current_timestamp current_user cursor data database databases day_hour day_microsecond day_minute day_second deallocate dec declare default delay_key_write delayed delimiter des_key_file describe deterministic dev_pop dev_samp deviance diagnostics directory disable discard distinctrow div dual dumpfile each elseif enable enclosed end ends engine engines enum errors escape escaped even event events every execute exists exit explain extended fast fetch field fields first flush for force foreign found_rows full fulltext function general generated get global grant grants group group_concat handler hard hash help high_priority hosts hour_microsecond hour_minute hour_second if ignore ignore_server_ids import index index_statistics infile inner innodb inout insensitive insert_method install interval invoker isolation iterate key keys kill language last leading leave left level limit linear lines list load local localtime localtimestamp lock logs low_priority master master_heartbeat_period master_ssl_verify_server_cert masters match max max_rows maxvalue message_text middleint migrate min min_rows minute_microsecond minute_second mod mode modifies modify mutex mysql_errno natural next no no_write_to_binlog offline offset one online open optimize option optionally out outer outfile pack_keys parser partition partitions password persistent phase plugin plugins prepare preserve prev primary privileges procedure processlist profile profiles purge query quick range read read_write reads real rebuild recover references regexp relaylog release remove rename reorganize repair repeatable replace require resignal restrict resume return returns revoke right rlike rollback rollup row row_format rtree savepoint schedule schema schema_name schemas second_microsecond security sensitive separator serializable server session share show shutdown signal slave slow smallint snapshot soft soname spatial specific sql sql_big_result sql_buffer_result sql_cache sql_calc_found_rows sql_no_cache sql_small_result sqlexception sqlstate sqlwarning ssl start starting starts status std stddev stddev_pop stddev_samp storage straight_join subclass_origin sum suspend table_name table_statistics tables tablespace temporary terminated to trailing transaction trigger triggers truncate uncommitted undo uninstall unique unlock upgrade usage use use_frm user user_resources user_statistics using utc_date utc_time utc_timestamp value variables varying view views virtual warnings when while with work write xa xor year_month zerofill begin do then else loop repeat"),builtin:M("bool boolean bit blob decimal double float long longblob longtext medium mediumblob mediumint mediumtext time timestamp tinyblob tinyint tinytext text bigint int int1 int2 int3 int4 int8 integer float float4 float8 double char varbinary varchar varcharacter precision date datetime year unsigned signed numeric"),atoms:M("false true null unknown"),operatorChars:/^[*+\-%<>!=&|^]/,dateSQL:M("date time timestamp"),support:M("ODBCdotTable decimallessFloat zerolessFloat binaryNumber hexNumber doubleQuote nCharCast charsetCast commentHash commentSpaceRequired"),hooks:{"@":Fi,"`":ph,"\\":$g}}),bC=We({client:M("auth backup bail binary changes check clone databases dbinfo dump echo eqp exit explain fullschema headers help import imposter indexes iotrace limit lint load log mode nullvalue once open output print prompt quit read restore save scanstats schema separator session shell show stats system tables testcase timeout timer trace vfsinfo vfslist vfsname width"),keywords:M(Hi+"abort action add after all analyze attach autoincrement before begin cascade case cast check collate column commit conflict constraint cross current_date current_time current_timestamp database default deferrable deferred detach each else end escape except exclusive exists explain fail for foreign full glob if ignore immediate index indexed initially inner instead intersect isnull key left limit match natural no notnull null of offset outer plan pragma primary query raise recursive references regexp reindex release rename replace restrict right rollback row savepoint temp temporary then to transaction trigger unique using vacuum view virtual when with without"),builtin:M("bool boolean bit blob decimal double float long longblob longtext medium mediumblob mediumint mediumtext time timestamp tinyblob tinyint tinytext text clob bigint int int2 int8 integer float double char varchar date datetime year unsigned signed numeric real"),atoms:M("null current_date current_time current_timestamp"),operatorChars:/^[*+\-%<>!=&|/~]/,dateSQL:M("date time timestamp datetime"),support:M("decimallessFloat zerolessFloat"),identifierQuote:'"',hooks:{"@":Fi,":":Fi,"?":Fi,$:Fi,'"':PP,"`":ph}}),SC=We({client:{},keywords:M("add all allow alter and any apply as asc authorize batch begin by clustering columnfamily compact consistency count create custom delete desc distinct drop each_quorum exists filtering from grant if in index insert into key keyspace keyspaces level limit local_one local_quorum modify nan norecursive nosuperuser not of on one order password permission permissions primary quorum rename revoke schema select set storage superuser table three to token truncate ttl two type unlogged update use user users using values where with writetime"),builtin:M("ascii bigint blob boolean counter decimal double float frozen inet int list map static text timestamp timeuuid tuple uuid varchar varint"),atoms:M("false true infinity NaN"),operatorChars:/^[<>=]/,dateSQL:{},support:M("commentSlashSlash decimallessFloat"),hooks:{}}),yC=We({client:M("appinfo arraysize autocommit autoprint autorecovery autotrace blockterminator break btitle cmdsep colsep compatibility compute concat copycommit copytypecheck define describe echo editfile embedded escape exec execute feedback flagger flush heading headsep instance linesize lno loboffset logsource long longchunksize markup native newpage numformat numwidth pagesize pause pno recsep recsepchar release repfooter repheader serveroutput shiftinout show showmode size spool sqlblanklines sqlcase sqlcode sqlcontinue sqlnumber sqlpluscompatibility sqlprefix sqlprompt sqlterminator suffix tab term termout time timing trimout trimspool ttitle underline verify version wrap"),keywords:M("abort accept access add all alter and any array arraylen as asc assert assign at attributes audit authorization avg base_table begin between binary_integer body boolean by case cast char char_base check close cluster clusters colauth column comment commit compress connect connected constant constraint crash create current currval cursor data_base database date dba deallocate debugoff debugon decimal declare default definition delay delete desc digits dispose distinct do drop else elseif elsif enable end entry escape exception exception_init exchange exclusive exists exit external fast fetch file for force form from function generic goto grant group having identified if immediate in increment index indexes indicator initial initrans insert interface intersect into is key level library like limited local lock log logging long loop master maxextents maxtrans member minextents minus mislabel mode modify multiset new next no noaudit nocompress nologging noparallel not nowait number_base object of off offline on online only open option or order out package parallel partition pctfree pctincrease pctused pls_integer positive positiven pragma primary prior private privileges procedure public raise range raw read rebuild record ref references refresh release rename replace resource restrict return returning returns reverse revoke rollback row rowid rowlabel rownum rows run savepoint schema segment select separate session set share snapshot some space split sql start statement storage subtype successful synonym tabauth table tables tablespace task terminate then to trigger truncate type union unique unlimited unrecoverable unusable update use using validate value values variable view views when whenever where while with work"),builtin:M("abs acos add_months ascii asin atan atan2 average bfile bfilename bigserial bit blob ceil character chartorowid chr clob concat convert cos cosh count dec decode deref dual dump dup_val_on_index empty error exp false float floor found glb greatest hextoraw initcap instr instrb int integer isopen last_day least length lengthb ln lower lpad ltrim lub make_ref max min mlslabel mod months_between natural naturaln nchar nclob new_time next_day nextval nls_charset_decl_len nls_charset_id nls_charset_name nls_initcap nls_lower nls_sort nls_upper nlssort no_data_found notfound null number numeric nvarchar2 nvl others power rawtohex real reftohex round rowcount rowidtochar rowtype rpad rtrim serial sign signtype sin sinh smallint soundex sqlcode sqlerrm sqrt stddev string substr substrb sum sysdate tan tanh to_char text to_date to_label to_multi_byte to_number to_single_byte translate true trunc uid unlogged upper user userenv varchar varchar2 variance varying vsize xml"),operatorChars:/^[*\/+\-%<>!=~]/,dateSQL:M("date time timestamp"),support:M("doubleQuote nCharCast zerolessFloat binaryNumber hexNumber")}),kC=We({keywords:M("select alter $elem$ $key$ $value$ add after all analyze and archive as asc before between binary both bucket buckets by cascade case cast change cluster clustered clusterstatus collection column columns comment compute concatenate continue create cross cursor data database databases dbproperties deferred delete delimited desc describe directory disable distinct distribute drop else enable end escaped exclusive exists explain export extended external fetch fields fileformat first format formatted from full function functions grant group having hold_ddltime idxproperties if import in index indexes inpath inputdriver inputformat insert intersect into is items join keys lateral left like limit lines load local location lock locks mapjoin materialized minus msck no_drop nocompress not of offline on option or order out outer outputdriver outputformat overwrite partition partitioned partitions percent plus preserve procedure purge range rcfile read readonly reads rebuild recordreader recordwriter recover reduce regexp rename repair replace restrict revoke right rlike row schema schemas semi sequencefile serde serdeproperties set shared show show_database sort sorted ssl statistics stored streamtable table tables tablesample tblproperties temporary terminated textfile then tmp to touch transform trigger unarchive undo union uniquejoin unlock update use using utc utc_tmestamp view when where while with admin authorization char compact compactions conf cube current current_date current_timestamp day decimal defined dependency directories elem_type exchange file following for grouping hour ignore inner interval jar less logical macro minute month more none noscan over owner partialscan preceding pretty principals protection reload rewrite role roles rollup rows second server sets skewed transactions truncate unbounded unset uri user values window year"),builtin:M("bool boolean long timestamp tinyint smallint bigint int float double date datetime unsigned string array struct map uniontype key_type utctimestamp value_type varchar"),atoms:M("false true null unknown"),operatorChars:/^[*+\-%<>!=]/,dateSQL:M("date timestamp"),support:M("ODBCdotTable doubleQuote binaryNumber hexNumber")}),xC=We({client:M("source"),keywords:M(Hi+"a abort abs absent absolute access according action ada add admin after aggregate alias all allocate also alter always analyse analyze and any are array array_agg array_max_cardinality as asc asensitive assert assertion assignment asymmetric at atomic attach attribute attributes authorization avg backward base64 before begin begin_frame begin_partition bernoulli between bigint binary bit bit_length blob blocked bom boolean both breadth by c cache call called cardinality cascade cascaded case cast catalog catalog_name ceil ceiling chain char char_length character character_length character_set_catalog character_set_name character_set_schema characteristics characters check checkpoint class class_origin clob close cluster coalesce cobol collate collation collation_catalog collation_name collation_schema collect column column_name columns command_function command_function_code comment comments commit committed concurrently condition condition_number configuration conflict connect connection connection_name constant constraint constraint_catalog constraint_name constraint_schema constraints constructor contains content continue control conversion convert copy corr corresponding cost count covar_pop covar_samp create cross csv cube cume_dist current current_catalog current_date current_default_transform_group current_path current_role current_row current_schema current_time current_timestamp current_transform_group_for_type current_user cursor cursor_name cycle data database datalink datatype date datetime_interval_code datetime_interval_precision day db deallocate debug dec decimal declare default defaults deferrable deferred defined definer degree delete delimiter delimiters dense_rank depends depth deref derived desc describe descriptor detach detail deterministic diagnostics dictionary disable discard disconnect dispatch distinct dlnewcopy dlpreviouscopy dlurlcomplete dlurlcompleteonly dlurlcompletewrite dlurlpath dlurlpathonly dlurlpathwrite dlurlscheme dlurlserver dlvalue do document domain double drop dump dynamic dynamic_function dynamic_function_code each element else elseif elsif empty enable encoding encrypted end end_frame end_partition endexec enforced enum equals errcode error escape event every except exception exclude excluding exclusive exec execute exists exit exp explain expression extension external extract false family fetch file filter final first first_value flag float floor following for force foreach foreign fortran forward found frame_row free freeze from fs full function functions fusion g general generated get global go goto grant granted greatest group grouping groups handler having header hex hierarchy hint hold hour id identity if ignore ilike immediate immediately immutable implementation implicit import in include including increment indent index indexes indicator info inherit inherits initially inline inner inout input insensitive insert instance instantiable instead int integer integrity intersect intersection interval into invoker is isnull isolation join k key key_member key_type label lag language large last last_value lateral lead leading leakproof least left length level library like like_regex limit link listen ln load local localtime localtimestamp location locator lock locked log logged loop lower m map mapping match matched materialized max max_cardinality maxvalue member merge message message_length message_octet_length message_text method min minute minvalue mod mode modifies module month more move multiset mumps name names namespace national natural nchar nclob nesting new next nfc nfd nfkc nfkd nil no none normalize normalized not nothing notice notify notnull nowait nth_value ntile null nullable nullif nulls number numeric object occurrences_regex octet_length octets of off offset oids old on only open operator option options or order ordering ordinality others out outer output over overlaps overlay overriding owned owner p pad parallel parameter parameter_mode parameter_name parameter_ordinal_position parameter_specific_catalog parameter_specific_name parameter_specific_schema parser partial partition pascal passing passthrough password path percent percent_rank percentile_cont percentile_disc perform period permission pg_context pg_datatype_name pg_exception_context pg_exception_detail pg_exception_hint placing plans pli policy portion position position_regex power precedes preceding precision prepare prepared preserve primary print_strict_params prior privileges procedural procedure procedures program public publication query quote raise range rank read reads real reassign recheck recovery recursive ref references referencing refresh regr_avgx regr_avgy regr_count regr_intercept regr_r2 regr_slope regr_sxx regr_sxy regr_syy reindex relative release rename repeatable replace replica requiring reset respect restart restore restrict result result_oid return returned_cardinality returned_length returned_octet_length returned_sqlstate returning returns reverse revoke right role rollback rollup routine routine_catalog routine_name routine_schema routines row row_count row_number rows rowtype rule savepoint scale schema schema_name schemas scope scope_catalog scope_name scope_schema scroll search second section security select selective self sensitive sequence sequences serializable server server_name session session_user set setof sets share show similar simple size skip slice smallint snapshot some source space specific specific_name specifictype sql sqlcode sqlerror sqlexception sqlstate sqlwarning sqrt stable stacked standalone start state statement static statistics stddev_pop stddev_samp stdin stdout storage strict strip structure style subclass_origin submultiset subscription substring substring_regex succeeds sum symmetric sysid system system_time system_user t table table_name tables tablesample tablespace temp template temporary text then ties time timestamp timezone_hour timezone_minute to token top_level_count trailing transaction transaction_active transactions_committed transactions_rolled_back transform transforms translate translate_regex translation treat trigger trigger_catalog trigger_name trigger_schema trim trim_array true truncate trusted type types uescape unbounded uncommitted under unencrypted union unique unknown unlink unlisten unlogged unnamed unnest until untyped update upper uri usage use_column use_variable user user_defined_type_catalog user_defined_type_code user_defined_type_name user_defined_type_schema using vacuum valid validate validator value value_of values var_pop var_samp varbinary varchar variable_conflict variadic varying verbose version versioning view views volatile warning when whenever where while whitespace width_bucket window with within without work wrapper write xml xmlagg xmlattributes xmlbinary xmlcast xmlcomment xmlconcat xmldeclaration xmldocument xmlelement xmlexists xmlforest xmliterate xmlnamespaces xmlparse xmlpi xmlquery xmlroot xmlschema xmlserialize xmltable xmltext xmlvalidate year yes zone"),builtin:M("bigint int8 bigserial serial8 bit varying varbit boolean bool box bytea character char varchar cidr circle date double precision float8 inet integer int int4 interval json jsonb line lseg macaddr macaddr8 money numeric decimal path pg_lsn point polygon real float4 smallint int2 smallserial serial2 serial serial4 text time without zone with timetz timestamp timestamptz tsquery tsvector txid_snapshot uuid xml"),atoms:M("false true null unknown"),operatorChars:/^[*\/+\-%<>!=&|^\/#@?~]/,backslashStringEscapes:!1,dateSQL:M("date time timestamp"),support:M("ODBCdotTable decimallessFloat zerolessFloat binaryNumber hexNumber nCharCast charsetCast escapeConstant")}),wC=We({keywords:M("ancestor and asc by contains desc descendant distinct from group has in is limit offset on order select superset where"),atoms:M("false true"),builtin:M("blob datetime first key __key__ string integer double boolean null"),operatorChars:/^[*+\-%<>!=]/}),PC=We({client:M("source"),keywords:M("abort absolute access action active add admin after aggregate all also alter always analyse analyze and any array as asc assertion assignment asymmetric at authorization backward before begin between bigint binary bit boolean both by cache called cascade cascaded case cast chain char character characteristics check checkpoint class close cluster coalesce codegen collate column comment commit committed concurrency concurrently configuration connection constraint constraints contains content continue conversion copy cost cpu_rate_limit create createdb createexttable createrole createuser cross csv cube current current_catalog current_date current_role current_schema current_time current_timestamp current_user cursor cycle data database day deallocate dec decimal declare decode default defaults deferrable deferred definer delete delimiter delimiters deny desc dictionary disable discard distinct distributed do document domain double drop dxl each else enable encoding encrypted end enum errors escape every except exchange exclude excluding exclusive execute exists explain extension external extract false family fetch fields filespace fill filter first float following for force foreign format forward freeze from full function global grant granted greatest group group_id grouping handler hash having header hold host hour identity if ignore ilike immediate immutable implicit in including inclusive increment index indexes inherit inherits initially inline inner inout input insensitive insert instead int integer intersect interval into invoker is isnull isolation join key language large last leading least left level like limit list listen load local localtime localtimestamp location lock log login mapping master match maxvalue median merge minute minvalue missing mode modifies modify month move name names national natural nchar new newline next no nocreatedb nocreateexttable nocreaterole nocreateuser noinherit nologin none noovercommit nosuperuser not nothing notify notnull nowait null nullif nulls numeric object of off offset oids old on only operator option options or order ordered others out outer over overcommit overlaps overlay owned owner parser partial partition partitions passing password percent percentile_cont percentile_disc placing plans position preceding precision prepare prepared preserve primary prior privileges procedural procedure protocol queue quote randomly range read readable reads real reassign recheck recursive ref references reindex reject relative release rename repeatable replace replica reset resource restart restrict returning returns revoke right role rollback rollup rootpartition row rows rule savepoint scatter schema scroll search second security segment select sequence serializable session session_user set setof sets share show similar simple smallint some split sql stable standalone start statement statistics stdin stdout storage strict strip subpartition subpartitions substring superuser symmetric sysid system table tablespace temp template temporary text then threshold ties time timestamp to trailing transaction treat trigger trim true truncate trusted type unbounded uncommitted unencrypted union unique unknown unlisten until update user using vacuum valid validation validator value values varchar variadic varying verbose version view volatile web when where whitespace window with within without work writable write xml xmlattributes xmlconcat xmlelement xmlexists xmlforest xmlparse xmlpi xmlroot xmlserialize year yes zone"),builtin:M("bigint int8 bigserial serial8 bit varying varbit boolean bool box bytea character char varchar cidr circle date double precision float float8 inet integer int int4 interval json jsonb line lseg macaddr macaddr8 money numeric decimal path pg_lsn point polygon real float4 smallint int2 smallserial serial2 serial serial4 text time without zone with timetz timestamp timestamptz tsquery tsvector txid_snapshot uuid xml"),atoms:M("false true null unknown"),operatorChars:/^[*+\-%<>!=&|^\/#@?~]/,dateSQL:M("date time timestamp"),support:M("ODBCdotTable decimallessFloat zerolessFloat binaryNumber hexNumber nCharCast charsetCast")}),vC=We({keywords:M("add after all alter analyze and anti archive array as asc at between bucket buckets by cache cascade case cast change clear cluster clustered codegen collection column columns comment commit compact compactions compute concatenate cost create cross cube current current_date current_timestamp database databases data dbproperties defined delete delimited deny desc describe dfs directories distinct distribute drop else end escaped except exchange exists explain export extended external false fields fileformat first following for format formatted from full function functions global grant group grouping having if ignore import in index indexes inner inpath inputformat insert intersect interval into is items join keys last lateral lazy left like limit lines list load local location lock locks logical macro map minus msck natural no not null nulls of on optimize option options or order out outer outputformat over overwrite partition partitioned partitions percent preceding principals purge range recordreader recordwriter recover reduce refresh regexp rename repair replace reset restrict revoke right rlike role roles rollback rollup row rows schema schemas select semi separated serde serdeproperties set sets show skewed sort sorted start statistics stored stratify struct table tables tablesample tblproperties temp temporary terminated then to touch transaction transactions transform true truncate unarchive unbounded uncache union unlock unset use using values view when where window with"),builtin:M("tinyint smallint int bigint boolean float double string binary timestamp decimal array map struct uniontype delimited serde sequencefile textfile rcfile inputformat outputformat"),atoms:M("false true null"),operatorChars:/^[*\/+\-%<>!=~&|^]/,dateSQL:M("date time timestamp"),support:M("ODBCdotTable doubleQuote zerolessFloat")}),$C=We({client:M("source"),keywords:M("alter and as asc between by count create delete desc distinct drop from group having in insert into is join like not on or order select set table union update values where limit after all and as at asc avedev avg between by case cast coalesce count create current_timestamp day days delete define desc distinct else end escape events every exists false first from full group having hour hours in inner insert instanceof into irstream is istream join last lastweekday left limit like max match_recognize matches median measures metadatasql min minute minutes msec millisecond milliseconds not null offset on or order outer output partition pattern prev prior regexp retain-union retain-intersection right rstream sec second seconds select set some snapshot sql stddev sum then true unidirectional until update variable weekday when where window"),builtin:{},atoms:M("false true null"),operatorChars:/^[*+\-%<>!=&|^\/#@?~]/,dateSQL:M("time"),support:M("decimallessFloat zerolessFloat binaryNumber hexNumber")});var Cg={name:"toml",startState:function(){return{inString:!1,stringType:"",lhs:!0,inArray:0}},token:function(i,e){let t;if(!e.inString&&(t=i.match(/^('''|"""|'|")/))&&(e.stringType=t[0],e.inString=!0),i.sol()&&!e.inString&&e.inArray===0&&(e.lhs=!0),e.inString){for(;e.inString;)if(i.match(e.stringType))e.inString=!1;else if(i.peek()==="\\")i.next(),i.next();else{if(i.eol())break;i.match(/^.[^\\\"\']*/)}return e.lhs?"property":"string"}else{if(e.inArray&&i.peek()==="]")return i.next(),e.inArray--,"bracket";if(e.lhs&&i.peek()==="["&&i.skipTo("]"))return i.next(),i.peek()==="]"&&i.next(),"atom";if(i.peek()==="#")return i.skipToEnd(),"comment";if(i.eatSpace())return null;if(e.lhs&&i.eatWhile(function(n){return n!="="&&n!=" "}))return"property";if(e.lhs&&i.peek()==="=")return i.next(),e.lhs=!1,null;if(!e.lhs&&i.match(/^\d\d\d\d[\d\-\:\.T]*Z/))return"atom";if(!e.lhs&&(i.match("true")||i.match("false")))return"atom";if(!e.lhs&&i.peek()==="[")return e.inArray++,i.next(),"bracket";if(!e.lhs&&i.match(/^\-?\d+(?:\.\d+)?/))return"number";i.eatSpace()||i.next()}return null},languageData:{commentTokens:{line:"#"}}};var vP=Qe({"for in if else endfor endif":d.controlKeyword,"Attribute/Identifier":d.definition(d.propertyName),"ForIntro/Identifier":d.definition(d.propertyName),"Block/Identifier":d.definitionKeyword,"FunctionCall/Identifier":d.function(d.variableName),"Attribute/Expression":d.attributeValue,"VariableExpr/Identifier":d.variableName,"GetAttr/Identifier":d.variableName,Identifier:d.name,"LiteralValue/...":d.literal,"StringLit/... TemplateLiteral":d.string,NumericLit:d.number,BoolLit:d.bool,NullLit:d.null,Comment:d.comment,LineComment:d.lineComment,BlockComment:d.blockComment,"( )":d.paren,"{ }":d.bracket,"[ ]":d.squareBracket,ArithOp:d.arithmeticOperator,LogicOp:d.logicOperator,CompareOp:d.compareOperator,ControlOp:d.controlOperator,HeredocIdentifier:d.special(d.controlKeyword),HeredocStart:d.special(d.brace),"TemplateInterpolationStart TemplateInterpolationEnd":d.special(d.brace),"TemplateDirectiveStart TemplateDirectiveEnd":d.special(d.brace),StripMarker:d.special(d.brace),Ellipsis:d.punctuation,": =>":d.punctuation,",":d.separator}),mh=1,gh=2,Qh=3,bh=4,Sh=5,yh=6,An=7,Ae=93,Ce={QUOTED_TEMPLATE:1,TEMPLATE_INTERPOLATION:2,TEMPLATE_DIRECTIVE:4,HEREDOC_TEMPLATE:8},$P=function(i){var e=0,t,n;if(i.length===0)return e;for(t=0;t{if(e.canShift(mh)&&!(e.context&&e.context.type===Ce.QUOTED_TEMPLATE)&&String.fromCharCode(i.next)==='"')return i.advance(),i.acceptToken(mh)},{contextual:!0,fallback:!0}),_P=new J((i,e)=>{if(e.canShift(gh)&&e.context&&e.context.type===Ce.QUOTED_TEMPLATE&&String.fromCharCode(i.next)==='"')return i.advance(),i.acceptToken(gh)},{contextual:!0,fallback:!0}),RP=new J((i,e)=>{if(e.canShift(Ae)&&e.context&&e.context.type===Ce.QUOTED_TEMPLATE)switch(String.fromCharCode(i.next)){case"\\":switch(i.advance(),String.fromCharCode(i.next)){case'"':case"n":case"r":case"t":case"\\":return i.advance(),i.acceptToken(Ae);case"u":for(let t=0;t<4;t++)if(i.advance(),!/[0-9a-fA-F]/.test(String.fromCharCode(i.next)))return;return i.advance(),i.acceptToken(Ae);case"U":for(let t=0;t<8;t++)if(i.advance(),!/[0-9a-fA-F]/.test(String.fromCharCode(i.next)))return;return i.advance(),i.acceptToken(Ae);default:return}}if(e.canShift(Ae)&&e.context&&(e.context.type===Ce.QUOTED_TEMPLATE||e.context.type===Ce.HEREDOC_TEMPLATE)&&i.next!==-1)return i.advance(),i.acceptToken(Ae)},{contextual:!0,fallback:!0}),AP=new J((i,e)=>{if(e.canShift(Qh)&&e.canShift(Ae)&&!(e.context&&e.context.type===Ce.TEMPLATE_INTERPOLATION)&&String.fromCharCode(i.next)==="$")return i.advance(),String.fromCharCode(i.next)==="{"?(i.advance(),i.acceptToken(Qh)):(String.fromCharCode(i.next)==="$"&&(i.advance(),String.fromCharCode(i.next)==="{")&&i.advance(),i.acceptToken(Ae))},{contextual:!0,fallback:!0}),ZP=new J((i,e)=>{if(e.canShift(bh)&&e.context&&e.context.type===Ce.TEMPLATE_INTERPOLATION&&String.fromCharCode(i.next)==="}")return i.advance(),i.acceptToken(bh)},{contextual:!0,fallback:!0}),EP=new J((i,e)=>{if(e.canShift(Sh)&&e.canShift(Ae)&&!(e.context&&e.context.type===Ce.TEMPLATE_DIRECTIVE)&&String.fromCharCode(i.next)==="%")return i.advance(),String.fromCharCode(i.next)==="{"?(i.advance(),i.acceptToken(Sh)):(String.fromCharCode(i.next)==="%"&&(i.advance(),String.fromCharCode(i.next)==="{")&&i.advance(),i.acceptToken(Ae))},{contextual:!0,fallback:!0}),qP=new J((i,e)=>{if(e.canShift(yh)&&e.context&&e.context.type===Ce.TEMPLATE_DIRECTIVE&&String.fromCharCode(i.next)==="}")return i.advance(),i.acceptToken(yh)},{contextual:!0,fallback:!0}),zP=new J((i,e)=>{if(e.canShift(An)&&!(e.context&&e.context.type===Ce.HEREDOC_TEMPLATE)&&i.next!==-1){let t=String.fromCharCode(i.next);for(;/[0-9a-zA-Z]/.test(t)||t==="_"||t==="-";)i.advance(),t=String.fromCharCode(i.next);return i.acceptToken(An)}if(e.canShift(An)&&e.canShift(Ae)&&e.context&&e.context.type===Ce.HEREDOC_TEMPLATE&&i.next!=-1){let t=e.context.heredoc_identifier,n=!1,r=!1,s=String.fromCharCode(i.next);for(;/\s/.test(s);)r=!0,s===` `&&(n=!0),i.advance(),s=String.fromCharCode(i.next);if(r&&i.acceptToken(Ae),!n)return;let o=0;for(let l=0;lbQ&jO,5:fOOQy,5:h,5:hPOQy'#EY'#EYPOQy,5:j,5:jPOQy,5:k,5:kOOQy1G0g1G0gOOQO7+%u7+%uO>jQ&jO7+%uOOQ%n,5:|,5:|OOQ%n1G.}1G.}O>oQ&rO1G.}O>tQ&rO1G.}OOQ%n1G/Q1G/QO?PQ&jO,59jO?[Q'[O,59jOOQ%n1G/W1G/WO1tQ)tO1G/WO?dQ&jO'#DVO1tQ)tO1G/WO?rQ&jO,59oO@QQ'[O,59oO@YQ'[O,59qO@bQ&jO1G/RO@jQ&jO1G/RO$yQ&kO1G/XO@oQ'[O1G/XOOQy7+$y7+$yO@zQ&jO,5:rOA]Q&kO1G0lOOQO-E8U-E8UOOQy7+%[7+%[OAdQ&jO7+%[O$yQ&kO'#DlO$yQ&kO1G/qOAiQ&jO1G/qOOQP'#ES'#ESO$yQ&kO7+%rP$yQ&kO'#EXO$yQ&kO7+%_OAnQ&kO,5:ROAuQ&jO,5:ROOQO,5:R,5:ROOQy7+%V7+%VOOQy1G0Q1G0QPOQy-E8W-E8WOOQO<eAN>eOKmQ&jOAN>eOKrQ&jOAN>eOOQ%n<cOOQyG24PG24POLiQ&jOG24POOQ$YG23_G23_OLnQ'[OG23_OLyQ'[OG23_O$yQ&kOG23_OOQPG23}G23}OOQyLD)kLD)kOOQ$YLD(yLD(yOMOQ'[OLD(yOMTQ'[OLD(yOOQ$Y!$'Le!$'LeOM`Q'[O!$'LeOOQ$Y!)9BP!)9BPO-wQ&kO'#DoO/TQ&kO'#DoOMeQ&kO'#CkO-wQ&kO,5:^O/TQ&kO,5:^O-wQ&kO,5:^O/TQ&kO,5:^O-wQ&kO,5:^O/TQ&kO,5:^O-wQ&kO,5:^O/TQ&kO,5:^O-wQ&kO,5:^O/TQ&kO,5:^O-wQ&kO,5:^O/TQ&kO,5:^ON[Q&kO1G/xO! XQ&kO1G/xO!!UQ&kO1G/xO!%UQ&kO1G/xO!%]Q&kO1G/xO-wQ&kO7+%rO/TQ&kO7+%rO4uQ&jO1G0WO4uQ&jO1G0WO$yQ&kO,5:lO$yQ&kO,5:l",stateData:"!%l~O#ROSXPQYPQ~O^RO!SQO~OXVOYVO~OPZO^gOa[OcXOdXOfYO!P`O!RdO!ScO!YoO#W]O#X]O#^iO#_jO~OPqO^sO!SuO#SrO~O^RO#O[X!R[X~OQ!PORyOT!QO#PwO~OV!RO~OPZO^gOa[OcXOdXOfYOp!WO!P`O!ScO!YoO#W]O#X]O#^iO#_jO~O!O!TO~P#iO#S!XO#[!XO#o!YO~OPZO^gOa[OcXOdXOfYO!P`O!ScO!YoO#W]O#X]O#^iO#_jO~O#V!]O!R#ZX~P$yOp!WO~PmO!R!`O~O!Y!aO!P!VX!o!VX#^!VX#`!VX#a!VX#b!VX#c!VX#d!VX#e!VX#f!VX#g!VX#h!VX#i!VX#j!VX#k!VX#l!VX#m!VX#n!VX#o!VX~O#S!VX#[!VX!O!VX#V!VX!W!VX^!VX#O!VXS!VXl!VXv!VX![!VXU!VX!R!VX~P&[O!o!pO#^!dO#`!cO#a!cO#b!cO#c!dO#d!eO#e!eO#f!eO#g!eO#h!fO#i!fO#j!gO#k!hO#l!qO#m!rO#n!sO#o_X#V_X^_X!R_X~O!P!oO#S_X#[_X!O_X!W_X#O_XS_Xl_Xv_X![_XU_X~P(iOPqO^sO!S!zO~O^RO!R!{O~O#P!}OQ#UPR#UPT#UPV#UP~OQ#POR!yXT!yX#P!yX~OS#QOl#RO~P$yORyOT#VO#PwO~ORyOT#ZO#PwO~OQ#]ORyOT!QO#PwO~Ol#_Op#^Ov#`O~ORyOT!QOV#bO#PwO~O#V#cO#o!YO!O#YX~O!O#eO~O^#gO~OPZO^#iOa[OcXOdXOfYO!P`O!ScO!YoO#W]O#X]O#^iO#_jO~O!R#Za~P$yO#V#lO!R#Za~P$yOPZO^#nOa[OcXOdXOfYO!P`O!ScO!YoO#W]O#X]O#^iO#_jO~O!W#rO~P$yO^#{O~O!W$PO#o!YO~OQ#PO~O#o!YO^]i#O]i!R]i~O^RO!R$QO~OS$TOl$UO~P$yOS$TOl$UO#o!YO~Ol$XOp#^Os$YOv#`O~ORyOT$]O#PwO~Ol$_Op#^Ov#`Ox$`Oz$aO~O^$bO~Op$cOv$dO~ORyOT!QOV$fO#PwO~O!O#Ya~P$yO#V$hO!O#Ya~Ov$lO!O$jO#o!YO~Oq$mO#V$nO~O#o!YOP!Ui^!Uia!Uic!Uid!Uif!Ui!P!Ui!R!Ui!S!Ui!Y!Ui#V!Ui#W!Ui#X!Ui#^!Ui#_!Ui~O#[$oO#o!YO~O!R#Zi~P$yO#]!VX~P&[O#]$rO#o!YO~O!o!pO#^!dO#`!cO#a!cO#b!cO#c!dO#d!eO#e!eO#f!eO#g!eO#h!fO#i!fO#j!gO#k!hO#l!qO#m!rO#n!sO#o_X~O!P!oO#]_X~P5eO![$uO#V$sO#o!YO!W!ZX~O!W$vO~O#`!cO#a!cO#b!cO!P!fi!o!fi#S!fi#[!fi#d!fi#e!fi#f!fi#g!fi#h!fi#i!fi#j!fi#k!fi#l!fi#m!fi#n!fi#o!fi!O!fi#V!fi!W!fi^!fi#O!fiS!fil!fiv!fi![!fiU!fi!R!fi~O#^!fi#c!fi~P7^O#^!dO#c!dO~P7^O#^!dO#`!cO#a!cO#b!cO#c!dO#d!eO#e!eO#f!eO#g!eO!P!fi!o!fi#S!fi#[!fi#j!fi#k!fi#l!fi#m!fi#n!fi#o!fi!O!fi#V!fi!W!fi^!fi#O!fiS!fil!fiv!fi![!fiU!fi!R!fi~O#h!fi#i!fi~P9rO#h!fO#i!fO~P9rO#^!dO#`!cO#a!cO#b!cO#c!dO#d!eO#e!eO#f!eO#g!eO#h!fO#i!fO#j!gO!P!fi!o!fi#k!fi#l!fi#m!fi#n!fi#o!fi#V!fi^!fi!R!fi~O#S!fi#[!fi!O!fi!W!fi#O!fiS!fil!fiv!fi![!fiU!fi~PzP[i]||-1}],tokenPrec:2320}),MP=$e.define({parser:LP.configure({props:[we.add({Block:St({closing:"}",align:!1})}),Te.add({"Object Tuple TemplateFor TemplateIf":ht,BlockComment:i=>({from:i.from+2,to:i.to-2}),HeredocTemplate(i){let e=i.getChild("HeredocIdentifier");return e?{from:e.to,to:i.to}:null},FunctionCall(i){let e=i.getChild("("),t=i.getChild(")");return!e||!t?null:{from:e.from+1,to:t.to-1}},Block(i){let e=i.getChild("{"),t=i.getChild("}");return!e||!t?null:{from:e.from+1,to:t.to-1}}}),PP]}),languageData:{commentTokens:{line:"#",block:{open:"/*",close:"*/"}}}});function Xg(){return new me(MP)}function WP(i){let e=i.trim();if(!e)return"";if(/^#!.*\b(?:ba)?sh\b|^\s*\$\s+/.test(e))return"bash";if(e.startsWith("{")&&e.endsWith("}")||e.startsWith("[")&&e.endsWith("]"))try{return JSON.parse(e),"json"}catch{}return/^\s*(?:|(?:using\s+namespace\s+std|std::\w+|(?:cout|cin)\s*(?:<<|>>))\b)/m.test(e)?"cpp":/^\s*(?:#\s*include\s*[<"](?:assert|ctype|errno|float|inttypes|limits|math|setjmp|signal|stdarg|stdbool|stddef|stdint|stdio|stdlib|string|time)\.h[>"]|(?:int|void)\s+main\s*\([^)]*\)\s*\{)/m.test(e)?"c":/^\s*(?:async\s+)?def\s+\w+\s*\(|^\s*from\s+\w+[\w.]*\s+import\b|^\s*class\s+\w+\s*[:(]/m.test(e)?"python":/\b(?:SELECT|INSERT|UPDATE|DELETE|CREATE\s+(?:TABLE|VIEW|INDEX)|WITH)\b[\s\S]*\b(?:FROM|INTO|WHERE|AS)\b/i.test(e)?"sql":/(?:^|\n)\s*(?:[#.]?[A-Za-z][\w-]*)\s*\{[\s\S]*:[\s\S]*\}/.test(e)||/@(?:media|keyframes|supports)\b/.test(e)?"css":/^\s*(?:const|let|var)\s+[A-Za-z_$][\w$]*\s*(?::[^=\n]+)?\s*=/m.test(e)||/\b(?:function\s+\w+\s*\(|console\.(?:log|error|warn)|=>)/.test(e)?"javascript":/^\s*(?:[-A-Za-z_][\w-]*):\s*(?:[^:#\n]|$)/m.test(e)&&!/[{};]/.test(e)?"yaml":/^\s*(?:echo|printf|export|source|cd|mkdir|rm|cp|mv)\s+/m.test(e)?"bash":""}var Be=(i,e,t)=>Ie.of({name:i,alias:e,support:new me(Zs.define(t))}),Fg=[Ie.of({name:"javascript",alias:["js","jsx","ts","tsx","typescript","node"],support:so({jsx:!0,typescript:!0})}),Ie.of({name:"python",alias:["py"],support:Vm()}),Ie.of({name:"json",alias:["jsonc"],support:Ym()}),Ie.of({name:"css",alias:["scss"],support:ro()}),Ie.of({name:"html",alias:["htm","xml"],support:ao()}),Ie.of({name:"hcl",alias:["terraform","tf"],support:Xg()}),Be("swift",[],Bm),Be("shell",["sh","bash","zsh","console"],Hm),Be("yaml",["yml"],Km),Be("go",["golang"],ng),Be("ruby",["rb"],og),Be("rust",["rs"],cg),Be("c",["h"],Qg),Be("cpp",["c++","cc","hpp"],bg),Be("java",[],Sg),Be("kotlin",["kt"],xg),Be("objective-c",["objc","objectivec"],wg),Be("csharp",["cs","c#"],yg),Be("sql",[],We({})),Be("toml",[],Cg)],jP={resolve:"Highlight",mark:"HighlightMark"},VP=/[\p{S}\p{P}]/u;function _g(i){return!i||/\s/.test(i)}function Rg(i){return!!i&&VP.test(i)}var zh={defineNodes:["Highlight","HighlightMark"],parseInline:[{name:"Highlight",parse(i,e,t){if(e!==61||i.char(t+1)!==61)return-1;let n=t;for(;n>i.offset&&i.char(n-1)===61;)n--;let r=t+2;for(;i.char(r)===61;)r++;let s=n+(r-n)%2;if(t=i.offset&&i.char(m)===92;m--)o++;if(o%2!==0)return-1;let a=i.slice(n-1,n),l=i.slice(r,r+1),c=_g(a),h=_g(l),f=Rg(a),u=Rg(l),O=!h&&(!u||c||f),p=!c&&(!f||h||u);return i.addDelimiter(jP,t,t+2,O,p)},after:"Emphasis"}]},Mr=class extends ve{constructor(e,t){super(),this.text=e,this.className=t}eq(e){return e.text===this.text&&e.className===this.className}toDOM(){let e=document.createElement("span");return e.textContent=this.text,e.className=this.className,e}ignoreEvent(){return!1}},Th=class extends ve{constructor(e,t,n,r,s){super(),this.source=e,this.alt=t,this.raw=n,this.from=r,this.to=s}eq(e){return e.source===this.source&&e.alt===this.alt&&e.raw===this.raw&&e.from===this.from&&e.to===this.to}toDOM(e){let t=document.createElement("span");t.className="cm-md-image-preview",t.setAttribute("role","figure");let n=document.createElement("img");n.src=this.source,n.alt=this.alt,n.draggable=!1,n.addEventListener("error",()=>t.classList.add("cm-md-image-error"),{once:!0});let r=document.createElement("code");r.className="cm-md-image-source",r.textContent=this.raw,r.title="Click to edit image source";let s=o=>{o.preventDefault(),o.stopPropagation(),e.focus(),e.dispatch({selection:{anchor:Math.min(this.from+2,this.to)},userEvent:"select.pointer"})};return r.addEventListener("mousedown",s),r.addEventListener("click",s),n.addEventListener("mousedown",o=>{o.preventDefault(),o.stopPropagation()}),n.addEventListener("click",o=>{o.preventDefault(),o.stopPropagation();let a=n.currentSrc||n.src;a.startsWith("md-asset:")?window.__mdRequestImageRename?.(a):s(o)}),t.append(n,r),t}ignoreEvent(){return!0}},Ch=class extends ve{eq(){return!0}toDOM(){let e=document.createElement("span");return e.className="cm-md-hr",e}ignoreEvent(){return!1}},DP=0,Xh=class extends ve{constructor(e){super(),this.source=e}eq(e){return e.source===this.source}toDOM(e){let t=document.createElement("figure");t.className="cm-md-mermaid-preview",t.setAttribute("role","img"),t.setAttribute("aria-label","Mermaid diagram. Click to edit source.");let n=document.createElement("div");n.className="cm-md-mermaid-stage",n.textContent="Rendering diagram\u2026",t.appendChild(n),t.addEventListener("mousedown",o=>{o.preventDefault(),e.focus();let a=e.posAtDOM(t);e.dispatch({selection:{anchor:a+1},userEvent:"select.pointer"})});let r=window.mermaid;if(!r||typeof r.render!="function")return n.textContent="Mermaid preview unavailable. Click to edit source.",t;let s=`md-editor-mermaid-${++DP}`;return Promise.resolve(r.render(s,this.source)).then(({svg:o})=>{n.innerHTML=o;let a=n.querySelector("svg"),l=a?.viewBox?.baseVal;a&&l?.width>0&&l?.height>0&&(t.style.setProperty("--mm-aspect",`${l.width} / ${l.height}`),a.removeAttribute("width"),a.removeAttribute("height"),a.setAttribute("preserveAspectRatio","xMidYMid meet"),a.style.width="100%",a.style.height="100%"),e.requestMeasure()}).catch(()=>{n.textContent="Unable to render Mermaid diagram. Click to edit source.",t.classList.add("cm-md-mermaid-error"),e.requestMeasure()}),t}ignoreEvent(){return!0}},Hg=new WeakMap,_h=te.define({map:(i,e)=>e.mapPos(i,1,ge.TrackAfter)??void 0}),En=he.define({create:()=>new Set,update(i,e){if(!e.docChanged&&!e.effects.some(n=>n.is(_h)))return i;let t=new Set([...i].map(n=>e.changes.mapPos(n,1,ge.TrackAfter)).filter(n=>n!=null));for(let n of e.effects)n.is(_h)&&(t.has(n.value)?t.delete(n.value):t.add(n.value));return t}}),kh=i=>'",Co=class extends ve{constructor(e){super(),Object.assign(this,e)}eq(e){return e.fenceFrom===this.fenceFrom&&e.infoFrom===this.infoFrom&&e.infoTo===this.infoTo&&e.rawInfo===this.rawInfo&&e.detectedLanguage===this.detectedLanguage&&e.wrapped===this.wrapped&&e.plain===this.plain}toDOM(e){let t=document.createElement("span");t.className="cm-md-code-language",t.contentEditable="false";let n=document.createElement("input");n.type="text",n.className="cm-md-code-language-input",n.autocomplete="off",n.spellcheck=!1,n.value=this.language,n.readOnly=!!this.plain,n.placeholder="language",n.setAttribute("aria-label","Code block language"),n.dataset.fenceFrom=String(this.fenceFrom);let r=this.rawInfo.match(/^\S+([\s\S]*)$/)?.[1]||"",s=n.value,o=!0,a=!1,l=()=>{if(this.plain)return;let f=n.value.trim().split(/\s+/,1)[0].toLowerCase(),u=f?f+r:"";u!==this.rawInfo&&n.value!==s&&(a=!0,e.dispatch({changes:{from:this.infoFrom,to:this.infoTo,insert:u},userEvent:"input"}))};n.addEventListener("change",l),n.addEventListener("keydown",f=>{f.stopPropagation(),f.key==="Enter"?(f.preventDefault(),l(),n.blur(),e.focus()):f.key==="Escape"&&(f.preventDefault(),o=!1,n.value=this.language,n.blur(),e.focus())}),n.addEventListener("mousedown",f=>f.stopPropagation()),n.addEventListener("click",f=>f.stopPropagation()),n.addEventListener("blur",()=>{o&&!a&&l(),a=!1,o=!0}),t.appendChild(n);let c=(f,u,O,p)=>{let m=document.createElement("button");return m.type="button",m.className=`cm-md-code-action ${O}`,m.title=f,m.setAttribute("aria-label",f),m.innerHTML=kh(u),m.addEventListener("mousedown",b=>{b.preventDefault(),b.stopPropagation()}),m.addEventListener("click",b=>{b.preventDefault(),b.stopPropagation(),p(m)}),t.appendChild(m),m};return c(this.wrapped?"Unwrap code":"Wrap code",this.wrapped?"unwrap":"wrap","cm-md-code-toggle-wrap",()=>e.dispatch({effects:_h.of(e.state.doc.lineAt(this.fenceFrom).from)})).setAttribute("aria-pressed",String(this.wrapped)),c("Copy code","copy","cm-md-code-copy",async f=>{let u=e.state.doc.lineAt(this.fenceFrom),O=U(e.state).resolve(this.plain?u.to:this.fenceFrom+1,-1);for(;O&&O.name!==(this.plain?"CodeBlock":"FencedCode");)O=O.parent;if(!O)return;let p=this.plain?O.getChildren("CodeText").map(m=>e.state.sliceDoc(m.from,m.to)).join(""):Ro(e.state,O).source;try{let m=Hg.get(e);m?m(p):await navigator.clipboard.writeText(p),f.innerHTML=kh("check"),f.title="Code copied",f.setAttribute("aria-label",f.title),clearTimeout(f.copyTimer),f.copyTimer=setTimeout(()=>{f.innerHTML=kh("copy"),f.title="Copy code",f.setAttribute("aria-label",f.title)},1100)}catch{}}),t}ignoreEvent(){return!0}};function Po(i,e=!1){let t=[],n="",r=0,s=()=>t.push({text:n.trim(),from:r+n.length-n.trimStart().length,to:r+n.trimEnd().length}),o=0,a=0;for(let c=0;cc.text)}function YP(i){let e=i.trim(),t=e.startsWith(":"),n=e.endsWith(":"),r=e.replace(/^:/,"").replace(/:$/,"");return/^-{3,}$/.test(r)?t&&n?"center":t?"left":n?"right":"none":null}function Lh(i){let e=i.endsWith(` +`)return i.acceptToken(An);if(!/\s/.test(String.fromCharCode(l)))return i.acceptToken(Ae);a++}}},{contextual:!0,fallback:!0}),LP={__proto__:null,true:39,false:41,null:45,for:64,in:66,endfor:70,if:76,else:80,endif:84},MP=Pe.deserialize({version:14,states:"EzQ]Q&jOOPeO&jOOOmQ&kO'#DaO!kQ&kO'#CiOOQO'#EU'#EUO!yQ&jO'#ChQOQ&jOOPOOO'#Cd'#CdPOOO)C@S)C@SOOQy'#Cn'#CnOOQy'#Cq'#CqO#UQ)vO'#CvOOQy'#Cl'#ClOOQ!b'#DY'#DYO#dQ'|O'#DXOOQy'#Cu'#CuO$gQ&kO'#D^O$nQ&jO'#DbO%tQ&kO'#EgO&OQ&kO'#DaOOQy,59{,59{O&VQ&jO,59{OOQy'#DZ'#DZO'lQ'dO'#DcOOQy'#Di'#DiOOQP'#Dp'#DpOOQP'#Dq'#DqO$yQ&kO'#DoO)|Q'dO'#CkOOQy'#Dn'#DnOOQy'#Ea'#EaO$yQ&kO'#EaOOQy'#Ck'#CkO#_Q)`O'#CsO$yQ&kO,59TOOQP'#EZ'#EZO*sQ&kO,5:oO+OQ&jO,5:oOOQO-E8S-E8SO+WQ+YO'#CtO+iQ)vO,59_O+wQ&sO'#CwO,RQ)tO'#CzO,^Q)tO'#DQOOQ%n'#Cy'#CyOOQ%n'#EV'#EVO,iQ)vO,59bOOQy,59b,59bO,wQ&jO'#DRO-SQ+WO,59sO-bQ&jO'#EfOOQy,59x,59xO-mQ&jO,59xO$yQ&kO,5:UO-rQ&jO'#DkO-wQ&kO,59|OOQP'#ER'#ERO$yQ&kO,5:lOOQP'#EX'#EXO.rQ&kO,5;RO.yQ&kO,5;RO/TQ&kO,5:XOOQy1G/g1G/gO0OQ&kO,5:POOQy,5:Z,5:ZOOQP'#Ds'#DsOOQP'#Dt'#DtOOQP'#Du'#DuOOQP'#Dv'#DvOOQP'#Dw'#DwOOQP'#Dx'#DxO$yQ&kO,5:^O$yQ&kO,5:^O$yQ&kO,5:^O$yQ&kO,5:^O$yQ&kO,5:^O$yQ&kO,5:^O$yQ&kO'#DzOOQy'#Dy'#DyO0VQ&jO'#D|OOQy'#EO'#EOOOQy'#EP'#EPOOQy'#D}'#D}OOQy,5:{,5:{O0[Q&jO,5:{O0dQ&lO,59_O0iQ&jO1G.oOOQP-E8X-E8XO0wQ&jO1G0ZOOQO1G0Z1G0ZO0zQ&jO1G0ZO+WQ+YO'#EbOOQ%n,59`,59`OOQy1G.y1G.yOOQ%n,59c,59cO1PQ&sO,59cO1ZQ&rO,59cOOQ%n,59f,59fO,RQ)tO,59fO1fQ&jO'#DOOOQ%n,59l,59lO1tQ)tO,59lO,^Q)tO,59lO2PQ&jO'#DTOOQ%n-E8T-E8TOOQy1G.|1G.|O2bQ&jO,59gO2gQ&jO,59mO$yQ&kO,59mO2oQ+WO1G/_OOQy1G/_1G/_O2}Q&kO,5;QO3UQ&jO,5;QOOQy1G/d1G/dO3^Q&jO1G/pO3iQ&jO,5:VO3qQ&kO1G/hOOQP'#Dc'#DcO4uQ&jO1G0WOOQP,5:s,5:sO4}Q&kO1G0mOOQP-E8V-E8VO5UQ,UO'#DcO5]Q,UO1G/sO6oQ,UO'#CkO6yQ&jO'#DgOOQy1G/k1G/kO7XQ&jO1G/kOOQy1G/x1G/xO9^Q'dO1G/xO9hQ'dO1G/xO;rQ'dO1G/xO;|Q'dO1G/xO=nQ'dO1G/xO>bQ&jO,5:fOOQy,5:h,5:hPOQy'#EY'#EYPOQy,5:j,5:jPOQy,5:k,5:kOOQy1G0g1G0gOOQO7+%u7+%uO>jQ&jO7+%uOOQ%n,5:|,5:|OOQ%n1G.}1G.}O>oQ&rO1G.}O>tQ&rO1G.}OOQ%n1G/Q1G/QO?PQ&jO,59jO?[Q'[O,59jOOQ%n1G/W1G/WO1tQ)tO1G/WO?dQ&jO'#DVO1tQ)tO1G/WO?rQ&jO,59oO@QQ'[O,59oO@YQ'[O,59qO@bQ&jO1G/RO@jQ&jO1G/RO$yQ&kO1G/XO@oQ'[O1G/XOOQy7+$y7+$yO@zQ&jO,5:rOA]Q&kO1G0lOOQO-E8U-E8UOOQy7+%[7+%[OAdQ&jO7+%[O$yQ&kO'#DlO$yQ&kO1G/qOAiQ&jO1G/qOOQP'#ES'#ESO$yQ&kO7+%rP$yQ&kO'#EXO$yQ&kO7+%_OAnQ&kO,5:ROAuQ&jO,5:ROOQO,5:R,5:ROOQy7+%V7+%VOOQy1G0Q1G0QPOQy-E8W-E8WOOQO<eAN>eOKmQ&jOAN>eOKrQ&jOAN>eOOQ%n<cOOQyG24PG24POLiQ&jOG24POOQ$YG23_G23_OLnQ'[OG23_OLyQ'[OG23_O$yQ&kOG23_OOQPG23}G23}OOQyLD)kLD)kOOQ$YLD(yLD(yOMOQ'[OLD(yOMTQ'[OLD(yOOQ$Y!$'Le!$'LeOM`Q'[O!$'LeOOQ$Y!)9BP!)9BPO-wQ&kO'#DoO/TQ&kO'#DoOMeQ&kO'#CkO-wQ&kO,5:^O/TQ&kO,5:^O-wQ&kO,5:^O/TQ&kO,5:^O-wQ&kO,5:^O/TQ&kO,5:^O-wQ&kO,5:^O/TQ&kO,5:^O-wQ&kO,5:^O/TQ&kO,5:^O-wQ&kO,5:^O/TQ&kO,5:^ON[Q&kO1G/xO! XQ&kO1G/xO!!UQ&kO1G/xO!%UQ&kO1G/xO!%]Q&kO1G/xO-wQ&kO7+%rO/TQ&kO7+%rO4uQ&jO1G0WO4uQ&jO1G0WO$yQ&kO,5:lO$yQ&kO,5:l",stateData:"!%l~O#ROSXPQYPQ~O^RO!SQO~OXVOYVO~OPZO^gOa[OcXOdXOfYO!P`O!RdO!ScO!YoO#W]O#X]O#^iO#_jO~OPqO^sO!SuO#SrO~O^RO#O[X!R[X~OQ!PORyOT!QO#PwO~OV!RO~OPZO^gOa[OcXOdXOfYOp!WO!P`O!ScO!YoO#W]O#X]O#^iO#_jO~O!O!TO~P#iO#S!XO#[!XO#o!YO~OPZO^gOa[OcXOdXOfYO!P`O!ScO!YoO#W]O#X]O#^iO#_jO~O#V!]O!R#ZX~P$yOp!WO~PmO!R!`O~O!Y!aO!P!VX!o!VX#^!VX#`!VX#a!VX#b!VX#c!VX#d!VX#e!VX#f!VX#g!VX#h!VX#i!VX#j!VX#k!VX#l!VX#m!VX#n!VX#o!VX~O#S!VX#[!VX!O!VX#V!VX!W!VX^!VX#O!VXS!VXl!VXv!VX![!VXU!VX!R!VX~P&[O!o!pO#^!dO#`!cO#a!cO#b!cO#c!dO#d!eO#e!eO#f!eO#g!eO#h!fO#i!fO#j!gO#k!hO#l!qO#m!rO#n!sO#o_X#V_X^_X!R_X~O!P!oO#S_X#[_X!O_X!W_X#O_XS_Xl_Xv_X![_XU_X~P(iOPqO^sO!S!zO~O^RO!R!{O~O#P!}OQ#UPR#UPT#UPV#UP~OQ#POR!yXT!yX#P!yX~OS#QOl#RO~P$yORyOT#VO#PwO~ORyOT#ZO#PwO~OQ#]ORyOT!QO#PwO~Ol#_Op#^Ov#`O~ORyOT!QOV#bO#PwO~O#V#cO#o!YO!O#YX~O!O#eO~O^#gO~OPZO^#iOa[OcXOdXOfYO!P`O!ScO!YoO#W]O#X]O#^iO#_jO~O!R#Za~P$yO#V#lO!R#Za~P$yOPZO^#nOa[OcXOdXOfYO!P`O!ScO!YoO#W]O#X]O#^iO#_jO~O!W#rO~P$yO^#{O~O!W$PO#o!YO~OQ#PO~O#o!YO^]i#O]i!R]i~O^RO!R$QO~OS$TOl$UO~P$yOS$TOl$UO#o!YO~Ol$XOp#^Os$YOv#`O~ORyOT$]O#PwO~Ol$_Op#^Ov#`Ox$`Oz$aO~O^$bO~Op$cOv$dO~ORyOT!QOV$fO#PwO~O!O#Ya~P$yO#V$hO!O#Ya~Ov$lO!O$jO#o!YO~Oq$mO#V$nO~O#o!YOP!Ui^!Uia!Uic!Uid!Uif!Ui!P!Ui!R!Ui!S!Ui!Y!Ui#V!Ui#W!Ui#X!Ui#^!Ui#_!Ui~O#[$oO#o!YO~O!R#Zi~P$yO#]!VX~P&[O#]$rO#o!YO~O!o!pO#^!dO#`!cO#a!cO#b!cO#c!dO#d!eO#e!eO#f!eO#g!eO#h!fO#i!fO#j!gO#k!hO#l!qO#m!rO#n!sO#o_X~O!P!oO#]_X~P5eO![$uO#V$sO#o!YO!W!ZX~O!W$vO~O#`!cO#a!cO#b!cO!P!fi!o!fi#S!fi#[!fi#d!fi#e!fi#f!fi#g!fi#h!fi#i!fi#j!fi#k!fi#l!fi#m!fi#n!fi#o!fi!O!fi#V!fi!W!fi^!fi#O!fiS!fil!fiv!fi![!fiU!fi!R!fi~O#^!fi#c!fi~P7^O#^!dO#c!dO~P7^O#^!dO#`!cO#a!cO#b!cO#c!dO#d!eO#e!eO#f!eO#g!eO!P!fi!o!fi#S!fi#[!fi#j!fi#k!fi#l!fi#m!fi#n!fi#o!fi!O!fi#V!fi!W!fi^!fi#O!fiS!fil!fiv!fi![!fiU!fi!R!fi~O#h!fi#i!fi~P9rO#h!fO#i!fO~P9rO#^!dO#`!cO#a!cO#b!cO#c!dO#d!eO#e!eO#f!eO#g!eO#h!fO#i!fO#j!gO!P!fi!o!fi#k!fi#l!fi#m!fi#n!fi#o!fi#V!fi^!fi!R!fi~O#S!fi#[!fi!O!fi!W!fi#O!fiS!fil!fiv!fi![!fiU!fi~PLP[i]||-1}],tokenPrec:2320}),WP=$e.define({parser:MP.configure({props:[we.add({Block:St({closing:"}",align:!1})}),Te.add({"Object Tuple TemplateFor TemplateIf":ht,BlockComment:i=>({from:i.from+2,to:i.to-2}),HeredocTemplate(i){let e=i.getChild("HeredocIdentifier");return e?{from:e.to,to:i.to}:null},FunctionCall(i){let e=i.getChild("("),t=i.getChild(")");return!e||!t?null:{from:e.from+1,to:t.to-1}},Block(i){let e=i.getChild("{"),t=i.getChild("}");return!e||!t?null:{from:e.from+1,to:t.to-1}}}),vP]}),languageData:{commentTokens:{line:"#",block:{open:"/*",close:"*/"}}}});function Xg(){return new me(WP)}function jP(i){let e=i.trim();if(!e)return"";if(/^#!.*\b(?:ba)?sh\b|^\s*\$\s+/.test(e))return"bash";if(e.startsWith("{")&&e.endsWith("}")||e.startsWith("[")&&e.endsWith("]"))try{return JSON.parse(e),"json"}catch{}return/^\s*(?:|(?:using\s+namespace\s+std|std::\w+|(?:cout|cin)\s*(?:<<|>>))\b)/m.test(e)?"cpp":/^\s*(?:#\s*include\s*[<"](?:assert|ctype|errno|float|inttypes|limits|math|setjmp|signal|stdarg|stdbool|stddef|stdint|stdio|stdlib|string|time)\.h[>"]|(?:int|void)\s+main\s*\([^)]*\)\s*\{)/m.test(e)?"c":/^\s*(?:async\s+)?def\s+\w+\s*\(|^\s*from\s+\w+[\w.]*\s+import\b|^\s*class\s+\w+\s*[:(]/m.test(e)?"python":/\b(?:SELECT|INSERT|UPDATE|DELETE|CREATE\s+(?:TABLE|VIEW|INDEX)|WITH)\b[\s\S]*\b(?:FROM|INTO|WHERE|AS)\b/i.test(e)?"sql":/(?:^|\n)\s*(?:[#.]?[A-Za-z][\w-]*)\s*\{[\s\S]*:[\s\S]*\}/.test(e)||/@(?:media|keyframes|supports)\b/.test(e)?"css":/^\s*(?:const|let|var)\s+[A-Za-z_$][\w$]*\s*(?::[^=\n]+)?\s*=/m.test(e)||/\b(?:function\s+\w+\s*\(|console\.(?:log|error|warn)|=>)/.test(e)?"javascript":/^\s*(?:[-A-Za-z_][\w-]*):\s*(?:[^:#\n]|$)/m.test(e)&&!/[{};]/.test(e)?"yaml":/^\s*(?:echo|printf|export|source|cd|mkdir|rm|cp|mv)\s+/m.test(e)?"bash":""}var Be=(i,e,t)=>Ie.of({name:i,alias:e,support:new me(Zs.define(t))}),Hg=[Ie.of({name:"javascript",alias:["js","jsx","ts","tsx","typescript","node"],support:so({jsx:!0,typescript:!0})}),Ie.of({name:"python",alias:["py"],support:Vm()}),Ie.of({name:"json",alias:["jsonc"],support:Ym()}),Ie.of({name:"css",alias:["scss"],support:ro()}),Ie.of({name:"html",alias:["htm","xml"],support:ao()}),Ie.of({name:"hcl",alias:["terraform","tf"],support:Xg()}),Be("swift",[],Bm),Be("shell",["sh","bash","zsh","console"],Hm),Be("yaml",["yml"],Km),Be("go",["golang"],ng),Be("ruby",["rb"],og),Be("rust",["rs"],cg),Be("c",["h"],Qg),Be("cpp",["c++","cc","hpp"],bg),Be("java",[],Sg),Be("kotlin",["kt"],xg),Be("objective-c",["objc","objectivec"],wg),Be("csharp",["cs","c#"],yg),Be("sql",[],We({})),Be("toml",[],Cg)],VP={resolve:"Highlight",mark:"HighlightMark"},DP=/[\p{S}\p{P}]/u;function _g(i){return!i||/\s/.test(i)}function Rg(i){return!!i&&DP.test(i)}var zh={defineNodes:["Highlight","HighlightMark"],parseInline:[{name:"Highlight",parse(i,e,t){if(e!==61||i.char(t+1)!==61)return-1;let n=t;for(;n>i.offset&&i.char(n-1)===61;)n--;let r=t+2;for(;i.char(r)===61;)r++;let s=n+(r-n)%2;if(t=i.offset&&i.char(m)===92;m--)o++;if(o%2!==0)return-1;let a=i.slice(n-1,n),l=i.slice(r,r+1),c=_g(a),h=_g(l),f=Rg(a),u=Rg(l),O=!h&&(!u||c||f),p=!c&&(!f||h||u);return i.addDelimiter(VP,t,t+2,O,p)},after:"Emphasis"}]},Mr=class extends ve{constructor(e,t){super(),this.text=e,this.className=t}eq(e){return e.text===this.text&&e.className===this.className}toDOM(){let e=document.createElement("span");return e.textContent=this.text,e.className=this.className,e}ignoreEvent(){return!1}},Th=class extends ve{constructor(e,t,n,r,s){super(),this.source=e,this.alt=t,this.raw=n,this.from=r,this.to=s}eq(e){return e.source===this.source&&e.alt===this.alt&&e.raw===this.raw&&e.from===this.from&&e.to===this.to}toDOM(e){let t=document.createElement("span");t.className="cm-md-image-preview",t.setAttribute("role","figure");let n=document.createElement("img");n.src=this.source,n.alt=this.alt,n.draggable=!1,n.addEventListener("error",()=>t.classList.add("cm-md-image-error"),{once:!0});let r=document.createElement("code");r.className="cm-md-image-source",r.textContent=this.raw,r.title="Click to edit image source";let s=o=>{o.preventDefault(),o.stopPropagation(),e.focus(),e.dispatch({selection:{anchor:Math.min(this.from+2,this.to)},userEvent:"select.pointer"})};return r.addEventListener("mousedown",s),r.addEventListener("click",s),n.addEventListener("mousedown",o=>{o.preventDefault(),o.stopPropagation()}),n.addEventListener("click",o=>{o.preventDefault(),o.stopPropagation();let a=n.currentSrc||n.src;a.startsWith("md-asset:")?window.__mdRequestImageRename?.(a):s(o)}),t.append(n,r),t}ignoreEvent(){return!0}},Ch=class extends ve{eq(){return!0}toDOM(){let e=document.createElement("span");return e.className="cm-md-hr",e}ignoreEvent(){return!1}},YP=0,Xh=class extends ve{constructor(e){super(),this.source=e}eq(e){return e.source===this.source}toDOM(e){let t=document.createElement("figure");t.className="cm-md-mermaid-preview",t.setAttribute("role","img"),t.setAttribute("aria-label","Mermaid diagram. Click to edit source.");let n=document.createElement("div");n.className="cm-md-mermaid-stage",n.textContent="Rendering diagram\u2026",t.appendChild(n),t.addEventListener("mousedown",o=>{o.preventDefault(),e.focus();let a=e.posAtDOM(t);e.dispatch({selection:{anchor:a+1},userEvent:"select.pointer"})});let r=window.mermaid;if(!r||typeof r.render!="function")return n.textContent="Mermaid preview unavailable. Click to edit source.",t;let s=`md-editor-mermaid-${++YP}`;return Promise.resolve(r.render(s,this.source)).then(({svg:o})=>{n.innerHTML=o;let a=n.querySelector("svg"),l=a?.viewBox?.baseVal;a&&l?.width>0&&l?.height>0&&(t.style.setProperty("--mm-aspect",`${l.width} / ${l.height}`),a.removeAttribute("width"),a.removeAttribute("height"),a.setAttribute("preserveAspectRatio","xMidYMid meet"),a.style.width="100%",a.style.height="100%"),e.requestMeasure()}).catch(()=>{n.textContent="Unable to render Mermaid diagram. Click to edit source.",t.classList.add("cm-md-mermaid-error"),e.requestMeasure()}),t}ignoreEvent(){return!0}},Kg=new WeakMap,_h=te.define({map:(i,e)=>e.mapPos(i,1,ge.TrackAfter)??void 0}),En=he.define({create:()=>new Set,update(i,e){if(!e.docChanged&&!e.effects.some(n=>n.is(_h)))return i;let t=new Set([...i].map(n=>e.changes.mapPos(n,1,ge.TrackAfter)).filter(n=>n!=null));for(let n of e.effects)n.is(_h)&&(t.has(n.value)?t.delete(n.value):t.add(n.value));return t}}),kh=i=>'",Co=class extends ve{constructor(e){super(),Object.assign(this,e)}eq(e){return e.fenceFrom===this.fenceFrom&&e.infoFrom===this.infoFrom&&e.infoTo===this.infoTo&&e.rawInfo===this.rawInfo&&e.detectedLanguage===this.detectedLanguage&&e.wrapped===this.wrapped&&e.plain===this.plain}toDOM(e){let t=document.createElement("span");t.className="cm-md-code-language",t.contentEditable="false";let n=document.createElement("input");n.type="text",n.className="cm-md-code-language-input",n.autocomplete="off",n.spellcheck=!1,n.value=this.language,n.readOnly=!!this.plain,n.placeholder="language",n.setAttribute("aria-label","Code block language"),n.dataset.fenceFrom=String(this.fenceFrom);let r=this.rawInfo.match(/^\S+([\s\S]*)$/)?.[1]||"",s=n.value,o=!0,a=!1,l=()=>{if(this.plain)return;let f=n.value.trim().split(/\s+/,1)[0].toLowerCase(),u=f?f+r:"";u!==this.rawInfo&&n.value!==s&&(a=!0,e.dispatch({changes:{from:this.infoFrom,to:this.infoTo,insert:u},userEvent:"input"}))};n.addEventListener("change",l),n.addEventListener("keydown",f=>{f.stopPropagation(),f.key==="Enter"?(f.preventDefault(),l(),n.blur(),e.focus()):f.key==="Escape"&&(f.preventDefault(),o=!1,n.value=this.language,n.blur(),e.focus())}),n.addEventListener("mousedown",f=>f.stopPropagation()),n.addEventListener("click",f=>f.stopPropagation()),n.addEventListener("blur",()=>{o&&!a&&l(),a=!1,o=!0}),t.appendChild(n);let c=(f,u,O,p)=>{let m=document.createElement("button");return m.type="button",m.className=`cm-md-code-action ${O}`,m.title=f,m.setAttribute("aria-label",f),m.innerHTML=kh(u),m.addEventListener("mousedown",b=>{b.preventDefault(),b.stopPropagation()}),m.addEventListener("click",b=>{b.preventDefault(),b.stopPropagation(),p(m)}),t.appendChild(m),m};return c(this.wrapped?"Unwrap code":"Wrap code",this.wrapped?"unwrap":"wrap","cm-md-code-toggle-wrap",()=>e.dispatch({effects:_h.of(e.state.doc.lineAt(this.fenceFrom).from)})).setAttribute("aria-pressed",String(this.wrapped)),c("Copy code","copy","cm-md-code-copy",async f=>{let u=e.state.doc.lineAt(this.fenceFrom),O=U(e.state).resolve(this.plain?u.to:this.fenceFrom+1,-1);for(;O&&O.name!==(this.plain?"CodeBlock":"FencedCode");)O=O.parent;if(!O)return;let p=this.plain?O.getChildren("CodeText").map(m=>e.state.sliceDoc(m.from,m.to)).join(""):Ro(e.state,O).source;try{let m=Kg.get(e);m?m(p):await navigator.clipboard.writeText(p),f.innerHTML=kh("check"),f.title="Code copied",f.setAttribute("aria-label",f.title),clearTimeout(f.copyTimer),f.copyTimer=setTimeout(()=>{f.innerHTML=kh("copy"),f.title="Copy code",f.setAttribute("aria-label",f.title)},1100)}catch{}}),t}ignoreEvent(){return!0}};function Po(i,e=!1){let t=[],n="",r=0,s=()=>t.push({text:n.trim(),from:r+n.length-n.trimStart().length,to:r+n.trimEnd().length}),o=0,a=0;for(let c=0;cc.text)}function IP(i){let e=i.trim(),t=e.startsWith(":"),n=e.endsWith(":"),r=e.replace(/^:/,"").replace(/:$/,"");return/^-{3,}$/.test(r)?t&&n?"center":t?"left":n?"right":"none":null}function Lh(i){let e=i.endsWith(` `),t=i.replace(/\n$/,"").split(` -`);if(t.length<2)return null;let n=Po(t[0]),r=Po(t[1]).map(YP);if(!n.length||!r.length||r.some(a=>a==null))return null;let s=[n,...t.slice(2).map(a=>Po(a))],o=Math.max(r.length,...s.map(a=>a.length));for(;r.length{let f=i.slice(0,c).replace(/\n+/g," ").length-l;e[h]=r[Math.max(0,Math.min(f,n.length))]})}return s}function IP(i){let e=i.alignments.map((s,o)=>Math.max(3,...i.rows.map(a=>Array.from(a[o]||"").length))),t=s=>"| "+s.map((o,a)=>{let l=Mh(o);return l+" ".repeat(Math.max(0,e[a]-Array.from(l).length))}).join(" | ")+" |",n="| "+i.alignments.map((s,o)=>{let a=e[o];return s==="left"?":"+"-".repeat(Math.max(3,a-1)):s==="right"?"-".repeat(Math.max(3,a-1))+":":s==="center"?":"+"-".repeat(Math.max(3,a-2))+":":"-".repeat(a)}).join(" | ")+" |";return[t(i.rows[0]),n,...i.rows.slice(1).map(t)].join(` +`);if(t.length<2)return null;let n=Po(t[0]),r=Po(t[1]).map(IP);if(!n.length||!r.length||r.some(a=>a==null))return null;let s=[n,...t.slice(2).map(a=>Po(a))],o=Math.max(r.length,...s.map(a=>a.length));for(;r.length{let f=i.slice(0,c).replace(/\n+/g," ").length-l;e[h]=r[Math.max(0,Math.min(f,n.length))]})}return s}function BP(i){let e=i.alignments.map((s,o)=>Math.max(3,...i.rows.map(a=>Array.from(a[o]||"").length))),t=s=>"| "+s.map((o,a)=>{let l=Mh(o);return l+" ".repeat(Math.max(0,e[a]-Array.from(l).length))}).join(" | ")+" |",n="| "+i.alignments.map((s,o)=>{let a=e[o];return s==="left"?":"+"-".repeat(Math.max(3,a-1)):s==="right"?"-".repeat(Math.max(3,a-1))+":":s==="center"?":"+"-".repeat(Math.max(3,a-2))+":":"-".repeat(a)}).join(" | ")+" |";return[t(i.rows[0]),n,...i.rows.slice(1).map(t)].join(` `)+(i.trailingNewline?` -`:"")}var BP=1,Lr=null,UP=ki.parser.configure(zh),Kg=new WeakMap;function xh(i,e){let t={StrongEmphasis:"cm-md-strong",Emphasis:"cm-md-emphasis",Strikethrough:"cm-md-strikethrough",Highlight:"cm-md-highlight"},n=(o,a,l)=>{if(!a)return;let c=document.createTextNode(a);Kg.set(c,l),o.append(c)},r=(o,a,l,c)=>{let h=l;for(let f=a.firstChild;f;f=f.nextSibling)f.fromc||(n(o,e.slice(h,f.from),h),s(o,f),h=f.to);n(o,e.slice(h,c),h)},s=(o,a)=>{if(a.name==="InlineCode"){let l=document.createElement("code");l.className="cm-md-inline-code";let c=e.slice(a.firstChild.to,a.lastChild.from).replace(/\n/g," "),h=c.startsWith(" ")&&c.endsWith(" ")&&/[^ ]/.test(c);h&&(c=c.slice(1,-1)),n(l,c,a.firstChild.to+(h?1:0)),o.append(l)}else if(t[a.name]){let l=document.createElement("span");l.className=t[a.name],r(l,a,a.firstChild.to,a.lastChild.from),o.append(l)}else if(a.name==="Link"&&a.getChild("URL")){let l=a.getChildren("LinkMark"),c=document.createElement("span");c.className="cm-md-link",r(c,a,l[0].to,l[1].from),o.append(c)}else a.name==="Escape"?n(o,e.slice(a.from+1,a.to),a.from+1):a.name==="Image"?n(o,e.slice(a.from,a.to),a.from):r(o,a,a.from,a.to)};i.replaceChildren(),s(i,UP.parse(e).topNode)}var Ze=new WeakMap,Wh=new WeakMap,GP=new Set(["bold","italic","strikethrough","highlight","code","link"]);function Jg(i,e){let n=i.state.doc.lineAt(e.tableFrom).number+(e.row===0?0:e.row+1);if(n>i.state.doc.lines)return null;let r=i.state.doc.line(n),s=Po(r.text,!0)[e.column];return s?{from:r.from+s.from,to:r.from+Math.max(s.from,s.to)}:null}function zn(i){let e=Ze.get(i);if(!e||e.element.dataset.tableEditing!=="true")return;let t=window.getSelection();if(!t?.anchorNode||!t.focusNode||!e.element.contains(t.anchorNode)||!e.element.contains(t.focusNode))return;let n=(a,l)=>{let c=document.createRange();return c.selectNodeContents(e.element),c.setEnd(a,l),c.toString().length};e.anchor=n(t.anchorNode,t.anchorOffset),e.head=n(t.focusNode,t.focusOffset);let r=e.element.innerText||"",s=[e.anchor,e.head];Mh(r,s),e.sourceAnchor=s[0],e.sourceHead=s[1];let o=se.create({doc:r,selection:P.single(e.anchor,e.head),extensions:[Yc({extensions:zh})]});Wh.get(i)?.(Eh(o))}function vo(i){let e=Ze.get(i);if(!e)return null;zn(i),e.element.dataset.tableEditing==="true"&&e.element.blur();let t=Jg(i,e);if(!t)return null;let n=t.to-t.from;return i.dispatch({selection:P.single(t.from+Math.max(0,Math.min(e.sourceAnchor??e.anchor,n)),t.from+Math.max(0,Math.min(e.sourceHead??e.head,n)))}),e}function $o(i,e){let t=Jg(i,e);if(!t)return;let n=i.state.selection.main,r=Math.max(0,Math.min(n.anchor-t.from,t.to-t.from)),s=Math.max(0,Math.min(n.head-t.from,t.to-t.from)),o=i.dom.querySelector(`.cm-md-table-widget[data-table-from="${e.tableFrom}"] [data-table-row="${e.row}"][data-table-column="${e.column}"]`);if(!o)return;o.focus({preventScroll:!0});let a=o.firstChild||o.appendChild(document.createTextNode(""));window.getSelection()?.setBaseAndExtent(a,r,a,s),zn(i)}var NP=Ve.fromClass(class{constructor(i){this.view=i,this.capture=()=>zn(i),this.clear=e=>{e.target.closest?.(".cm-md-table-cell")||Ze.delete(i)},document.addEventListener("selectionchange",this.capture),i.dom.addEventListener("mousedown",this.clear,!0)}destroy(){document.removeEventListener("selectionchange",this.capture),this.view.dom.removeEventListener("mousedown",this.clear,!0),Ze.delete(this.view),Wh.delete(this.view)}}),Rh=class extends ve{constructor(e,t){super(),this.source=e,this.from=t}eq(e){return e.source===this.source&&e.from===this.from}toDOM(e){let t=Lh(this.source),n=document.createElement("div");if(n.className="cm-md-table-widget",n.dataset.tableFrom=String(this.from),!t)return n.textContent=this.source,n;let r=null,s=null,o=null,a=!1,l=document.createElement("div");l.className="cm-md-table-scroll",n.appendChild(l);let c=document.createElement("table");c.className="cm-md-table-grid",l.appendChild(c);let h=(Q,S)=>{requestAnimationFrame(()=>requestAnimationFrame(()=>{let x=e.dom.querySelector(`.cm-md-table-widget[data-table-from="${this.from}"]`);(x&&x.querySelector(`[data-table-row="${Q}"][data-table-column="${S}"]`))?.focus()}))},f=(Q=null)=>{let S=IP(t);if(S===this.source){Q&&n.querySelector(`[data-table-row="${Q.row}"][data-table-column="${Q.column}"]`)?.focus();return}r=null,e.dispatch({changes:{from:this.from,to:this.from+this.source.length,insert:S},userEvent:"input"}),Q&&h(Q.row,Q.column)},u=()=>{!r||r.element.dataset.tableEditing!=="true"||(t.rows[r.row][r.column]=r.element.innerText||"")},O=()=>{n.querySelectorAll(".is-table-part-selected").forEach(Q=>{Q.classList.remove("is-table-part-selected")}),n.classList.remove("is-table-row-selected","is-table-column-selected","is-table-range-selected"),n.removeAttribute("aria-label"),s=null},p=(Q,S,x)=>{if(u(),O(),Array.from(n.querySelectorAll(".cm-md-table-cell")).filter($=>{let R=Number($.dataset.tableRow),_=Number($.dataset.tableColumn);return R>=S.top&&R<=S.bottom&&_>=S.left&&_<=S.right}).forEach($=>{$.classList.add("is-table-part-selected")}),n.classList.add(Q==="row"?"is-table-row-selected":Q==="column"?"is-table-column-selected":"is-table-range-selected"),window.getSelection()?.removeAllRanges(),s={kind:Q,row:x.row,column:x.column,bounds:S},Ze.delete(e),n.tabIndex=0,Q==="range"){let $=S.bottom-S.top+1,R=S.right-S.left+1;n.setAttribute("aria-label",`Selected ${$} rows by ${R} columns.`)}else{let $=Q==="row"?x.row:x.column+1;n.setAttribute("aria-label",`Selected ${Q} ${$}. Press Delete to remove it.`)}n.focus()},m=(Q,S,x)=>{let v=Q==="row"?{top:S,right:t.alignments.length-1,bottom:S,left:0}:{top:0,right:x,bottom:t.rows.length-1,left:x};p(Q,v,{row:S,column:x})},b=(Q,S,x,v)=>{p("range",{top:Math.min(Q,x),right:Math.max(S,v),bottom:Math.max(Q,x),left:Math.min(S,v)},{row:Q,column:S})},g=(Q,S,x)=>{if(u(),Q==="selectRow"&&S>0)m("row",S,x);else if(Q==="selectColumn"&&t.alignments.length>1)m("column",S,x);else if(Q==="insertRowBefore"&&S>0)t.rows.splice(S,0,Array(t.alignments.length).fill("")),f({row:S,column:x});else if(Q==="insertRowAfter")t.rows.splice(S+1,0,Array(t.alignments.length).fill("")),f({row:S+1,column:x});else if(Q==="duplicateRow"&&S>0)t.rows.splice(S+1,0,[...t.rows[S]]),f({row:S+1,column:x});else if(Q==="deleteRow"&&S>0)t.rows.splice(S,1),f({row:Math.min(S,t.rows.length-1),column:x});else if(Q==="insertColumnBefore"){for(let v of t.rows)v.splice(x,0,"");t.alignments.splice(x,0,"none"),f({row:S,column:x})}else if(Q==="insertColumnAfter"){for(let v of t.rows)v.splice(x+1,0,"");t.alignments.splice(x+1,0,"none"),f({row:S,column:x+1})}else if(Q==="deleteColumn"&&t.alignments.length>1){for(let v of t.rows)v.splice(x,1);t.alignments.splice(x,1),f({row:S,column:Math.min(x,t.alignments.length-1)})}};return t.rows.forEach((Q,S)=>{let x=document.createElement("tr");c.appendChild(x),Q.forEach((v,$)=>{let R=document.createElement(S===0?"th":"td"),_=document.createElement("div");if(_.className="cm-md-table-cell",_.contentEditable="plaintext-only",_.spellcheck=!0,xh(_,v),_.dataset.tableRow=String(S),_.dataset.tableColumn=String($),S===0){let W=`Column ${$+1}`;_.dataset.placeholder=W;let T=()=>{(_.innerText||"").trim()?_.removeAttribute("aria-label"):_.setAttribute("aria-label",W)};T(),_.addEventListener("input",T)}t.alignments[$]!=="none"&&(_.style.textAlign=t.alignments[$]),_.addEventListener("focus",()=>{O(),(_.textContent!==t.rows[S][$]||_.childElementCount)&&(_.textContent=t.rows[S][$]),_.dataset.tableEditing="true",Ze.set(e,{tableFrom:this.from,row:S,column:$,element:_,anchor:0,head:0}),r={row:S,column:$,element:_}}),_.addEventListener("contextmenu",W=>{W.preventDefault(),_.focus(),r={row:S,column:$,element:_};let T=String(BP++);Lr={token:T,perform:k=>g(k,S,$)},window.__mdRequestTableContextMenu?.({token:T,canInsertRowAbove:S>0,canDuplicateRow:S>0,canDeleteRow:S>0,canDeleteColumn:t.alignments.length>1,showsDuplicateRow:!0})}),_.addEventListener("blur",()=>{if(zn(e),!r||r.element!==_)return;let W=_.innerText||"",T=W!==t.rows[S][$];t.rows[S][$]=W,r=null,delete _.dataset.tableEditing,xh(_,t.rows[S][$]),T&&f()}),_.addEventListener("keydown",W=>{if((W.metaKey||W.ctrlKey)&&["b","i"].includes(W.key.toLowerCase())){W.preventDefault();let C=vo(e);At(W.key.toLowerCase()==="b"?"**":"*")(e),C&&$o(e,C);return}if(W.key==="Escape"){W.preventDefault(),r=null,_.blur(),delete _.dataset.tableEditing,xh(_,t.rows[S][$]),Ze.delete(e),e.focus();return}if(W.key!=="Tab"&&W.key!=="Enter")return;W.preventDefault(),t.rows[S][$]=_.innerText||"";let T=W.key==="Tab"&&W.shiftKey,k=S,w=$+(T?-1:1);w<0?(k--,w=t.alignments.length-1):w>=t.alignments.length&&(k++,w=0),k<0?(k=0,w=0):k>=t.rows.length&&t.rows.push(Array(t.alignments.length).fill("")),f({row:k,column:w})}),R.appendChild(_),x.appendChild(R)})}),n.addEventListener("mousedown",Q=>{if(Q.button!==0)return;let S=Q.target.closest?.(".cm-md-table-cell");if(!S)return;let x=Number(S.dataset.tableRow),v=Number(S.dataset.tableColumn);if(!Number.isInteger(x)||x<0||!Number.isInteger(v))return;Q.stopPropagation();let $=null;if(S.dataset.tableEditing!=="true"&&Q.detail===1&&!Q.shiftKey&&!Q.metaKey&&!Q.ctrlKey&&!Q.altKey&&S.textContent!==t.rows[x][v]){let T=document.caretRangeFromPoint?.(Q.clientX,Q.clientY),k=T&&Kg.get(T.startContainer);k!=null&&S.contains(T.startContainer)&&($=k+T.startOffset,Q.preventDefault())}S.focus({preventScroll:!0});let R=T=>{let k=S.firstChild;k&&window.getSelection()?.setBaseAndExtent(k,$,k,T)};$!=null&&R($),o={cell:S,row:x,column:v,head:S,active:!1,dragged:!1};let _=T=>{document.removeEventListener("mousemove",W,!0),document.removeEventListener("mouseup",_,!0),o?.active?(T.preventDefault(),window.getSelection()?.removeAllRanges(),a=!0):zn(e),o=null},W=T=>{if(!o)return;let w=document.elementFromPoint?.(T.clientX,T.clientY)?.closest?.(".cm-md-table-cell")||T.target.closest?.(".cm-md-table-cell");if(!(!w||!n.contains(w))){if(w===o.cell&&!o.active){if($!=null&&(T.preventDefault(),o.dragged||=Math.hypot(T.clientX-Q.clientX,T.clientY-Q.clientY)>3,o.dragged)){let C=document.caretRangeFromPoint?.(T.clientX,T.clientY);C?.startContainer===S.firstChild&&R(C.startOffset)}return}w!==o.head&&(T.preventDefault(),o.active=!0,o.head=w,b(o.row,o.column,Number(w.dataset.tableRow),Number(w.dataset.tableColumn)))}};document.addEventListener("mousemove",W,!0),document.addEventListener("mouseup",_,!0)},!0),n.addEventListener("click",Q=>{a&&(a=!1,Q.preventDefault(),Q.stopPropagation())},!0),n.addEventListener("keydown",Q=>{if(!s)return;if(Q.key==="Escape"){Q.preventDefault(),O(),e.focus();return}if(Q.key!=="Backspace"&&Q.key!=="Delete")return;if(s.kind==="range"){Q.preventDefault();return}Q.preventDefault();let S=s;O(),g(S.kind==="row"?"deleteRow":"deleteColumn",S.row,S.column)}),n}ignoreEvent(){return!0}},Ao=te.define();function wh(i,e,t,n=0){let r=[];if(e){let o=new RegExp(e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),"giu"),a=i.toString();for(let l of a.matchAll(o)){let c=l.index;(!t||c===0||!/[A-Za-z0-9_]/.test(a[c-1]))&&r.push({from:c,to:c+l[0].length})}}n=r.length?Math.min(Math.max(n,0),r.length-1):-1;let s=A.set(r.map((o,a)=>A.mark({class:a===n?"cm-find-match cm-find-current":"cm-find-match"}).range(o.from,o.to)));return{query:e,beginsWith:t,matches:r,index:n,decorations:s}}var Pi=he.define({create:i=>wh(i.doc,"",!1),update(i,e){for(let t of e.effects)if(t.is(Ao)){let{query:n,beginsWith:r,index:s}=t.value;return wh(e.state.doc,n,r,s)}return e.docChanged?wh(e.state.doc,i.query,i.beginsWith,i.index):i},provide:i=>z.decorations.from(i,e=>e.decorations)});function Xo(i,e,t){let n=i.field(Pi),r=n.matches[n.index];return!!r&&r.frome}var FP=z.baseTheme({".cm-find-match":{backgroundColor:"#ffe58a",color:"#201800",borderRadius:"2px"},".cm-find-current":{backgroundColor:"#ffad33",outline:"1px solid #9b5700"}});function Ag(i){let e=[];return(zs(i,i.doc.length,80)||U(i)).iterate({enter(n){if(n.name!=="Table")return;if(Xo(i,n.from,n.to))return!1;let r=i.doc.sliceString(n.from,n.to);if(Lh(r))return e.push(A.replace({block:!0,widget:new Rh(r,n.from)}).range(n.from,n.to)),!1}}),A.set(e,!0)}var HP=he.define({create:Ag,update:(i,e)=>e.docChanged||e.effects.some(t=>t.is(Ao))?Ag(e.state):i,provide:i=>z.decorations.from(i)}),_o=class extends ve{constructor(e,t){super(),this.from=e,this.checked=t}eq(e){return this.from===e.from&&this.checked===e.checked}toDOM(e){let t=document.createElement("span");t.className="cm-md-task-marker";let n=document.createElement("input");return n.type="checkbox",n.checked=this.checked,n.setAttribute("aria-label",this.checked?"Mark task incomplete":"Mark task complete"),n.addEventListener("mousedown",r=>{r.preventDefault(),r.stopPropagation()}),n.addEventListener("change",()=>{e.dispatch({changes:{from:this.from,to:this.from+1,insert:n.checked?"x":" "},userEvent:"input"}),e.focus()}),t.append(n),t}ignoreEvent(){return!0}},KP=Vc({nonTightLists:!1});function JP(i){return i.state.selection.ranges.every(e=>e.empty&&/^[ \t]*(?:>[ \t]*)*[-+*][ \t]+\[[ xX]\](?:[ \t]|$)/.test(i.state.doc.lineAt(e.head).text))?KP({state:i.state,dispatch:e=>{let t=e.state,n=t.changeByRange(r=>{let s=t.doc.lineAt(r.head);return r.empty&&s.text===""&&s.number>1&&t.doc.line(s.number-1).text.trim()!==""?{changes:{from:r.head,insert:t.lineBreak},range:P.cursor(r.head+t.lineBreak.length)}:{range:r}});i.dispatch([e,t.update(n,{userEvent:"input",scrollIntoView:!0})])}}):!1}var Ue=A.replace({}),Zg=A.replace({widget:new Mr("\u2022","cm-md-bullet")}),Eg=A.mark({class:"cm-md-bullet-source"}),qg=new Map,ev=i=>{let e=qg.get(i);return e||(e=A.replace({widget:new Mr(i,"cm-md-ordered")}),qg.set(i,e)),e},tv=A.mark({class:"cm-md-ordered-source"}),iv=A.replace({widget:new Ch}),nv=A.line({class:"cm-md-rule-line"}),Zn=/^([ \t]*)([-+*]|\d+[.)])([ \t]+|$)/,rv=A.replace({widget:new Mr(" ","cm-md-join")}),Ah={},sv=i=>A.line({class:"cm-md-h"+i});for(let i=1;i<=6;i++)Ah[i]=sv(i);var ov=A.line({class:"cm-md-heading-inactive"}),zg=A.line({class:"cm-md-heading-after-blank"}),av=A.line({class:"cm-md-image-line"}),Lg=A.line({class:"cm-md-line-collapsed"}),pt={line:22.8,blankGap:4,paragraph:12,quote:18,alert:24,table:24,hr:12},lv=new Set(["Paragraph","FencedCode","CodeBlock","Blockquote","BulletList","OrderedList","Table","HorizontalRule","HTMLBlock"]),Mg=new Map,Ph=i=>{let e=Mg.get(i);return e||(e=A.line({class:"cm-md-block-separator",attributes:{style:`height:${i}px;min-height:0;line-height:${i}px;overflow:hidden;`}}),Mg.set(i,e)),e},Wg=new Map,cv=i=>{let e=Wg.get(i);return e||(e=A.line({class:"cm-md-block-gap",attributes:{style:`padding-bottom:${i}px;--cm-md-block-gap:${i}px;`}}),Wg.set(i,e)),e},jg=new Map,hv=(i,e,t,n)=>{let r=`${i}:${e}:${t}:${n}`,s=jg.get(r);if(!s){let o=[],a=[];for(let l=0;lli.create({tagName:"div",attributes:{class:`cm-md-code-card${s?" cm-md-code-card-wrapped":""}`}}).range(n,r)),!0)}var mv=A.line({class:"cm-md-table"}),Yg=A.line({class:"cm-md-list-item-gap"}),xo=A.line({class:"cm-md-list-item"}),Ig=new Map,vh=i=>{let e=Ig.get(i);return e||(e=A.line({class:`cm-md-list-depth-${i}`,attributes:{style:`padding-inline-start:${i*2.1}em;text-indent:-2.1em;`}}),Ig.set(i,e)),e},gv=A.mark({class:"cm-md-fence-info"}),Qv=A.mark({class:"cm-md-code-fence-source-hidden"}),bv=A.mark({class:"cm-md-heading-source-hidden"}),Sv=A.mark({class:"cm-md-heading-prefix"}),yv=A.mark({class:"cm-md-heading-marker"}),kv=A.line({class:"cm-md-setext-marker-line"}),xv=A.mark({class:"cm-md-setext-source"}),wv=A.mark({class:"cm-md-link"}),Pv=A.mark({class:"cm-md-url"}),vv=A.mark({class:"cm-md-strong"}),$v=A.mark({class:"cm-md-emphasis"}),Tv=A.mark({class:"cm-md-strikethrough"}),Cv=A.mark({class:"cm-md-highlight"}),Xv=A.line({class:"cm-md-frontmatter"}),_v=A.line({class:"cm-md-frontmatter-first"}),Rv=A.line({class:"cm-md-frontmatter-last"}),Av=A.mark({class:"cm-md-frontmatter-delim"}),Zv=A.line({attributes:{dir:"auto"}});function Bg(i){let e=[];for(let t=1;t<=i.doc.lines;t++)e.push(Zv.range(i.doc.line(t).from));return A.set(e)}var Ev=he.define({create:Bg,update(i,e){return e.docChanged?Bg(e.state):i},provide:i=>z.decorations.from(i)});function Ro(i,e){let t="",n=null,r=[];for(let g=e.node.firstChild;g;g=g.nextSibling)g.name==="CodeInfo"&&(n=g,t=i.doc.sliceString(g.from,g.to)),g.name==="CodeMark"&&r.push(g);let s=t.trim().split(/\s+/,1)[0].toLowerCase(),o=i.doc.lineAt(e.from),a=r[0],l=o.to1&&(c=i.doc.lineAt(r[r.length-1].from).from);let h=i.sliceDoc(o.from,e.from),f=/^ {0,3}$/.test(h)?h.length:0,u=e.node.getChildren("CodeText"),O=u.map((g,Q)=>{let S=Q?i.doc.lineAt(g.from).number-i.doc.lineAt(u[Q-1].to).number:0;return` -`.repeat(S)+i.sliceDoc(g.from,g.to)}).join("").replace(new RegExp("^ {0,"+f+"}","gm"),""),p=s?"":WP(O),m=n?.from??a?.to??o.to,b=n?.to??m;return{explicitLanguage:s,language:s||p,detectedLanguage:p,metadata:t.trim().split(/\s+/).slice(1).join(" "),rawInfo:t,infoFrom:m,infoTo:b,sourceFrom:l,source:O}}function To(i,e){let t=U(i).resolve(e,-1);for(;t;){if(t.name==="FencedCode")return{from:t.from,to:t.to,closed:t.node.lastChild?.name==="CodeMark"};t=t.parent}return null}var Zh=te.define(),vt=he.define({create:()=>null,update(i,e){if(e.docChanged)return null;for(let t of e.effects)if(t.is(Zh))return t.value;return i?.activateOnSelection&&e.isUserEvent("select.pointer")?{selection:e.state.selection.main,focused:!0,fence:e.state.field(en),activateOnSelection:!1}:i}}),qv=Ve.fromClass(class{constructor(i){this.view=i,this.releaseTimer=null,this.down=e=>{e.button!==0||e.target.closest("input, textarea, button, select, .cm-md-table-cell")||(clearTimeout(this.releaseTimer),!i.state.field(vt)&&i.dispatch({effects:Zh.of({selection:i.state.selection.main,focused:i.hasFocus,fence:i.state.field(en),activateOnSelection:e.detail===1&&!e.shiftKey&&!e.metaKey&&!e.ctrlKey&&!e.altKey})}))},this.finish=()=>{i.state.field(vt)&&(clearTimeout(this.releaseTimer),this.releaseTimer=setTimeout(()=>this.release(),0))},this.release=()=>{clearTimeout(this.releaseTimer),i.state.field(vt)&&i.dispatch({effects:Zh.of(null)})},this.move=e=>{e.buttons===0&&this.finish()},i.contentDOM.addEventListener("mousedown",this.down,!0),i.contentDOM.addEventListener("keydown",this.release,!0),i.dom.ownerDocument.addEventListener("mouseup",this.finish),i.dom.ownerDocument.addEventListener("mousemove",this.move),i.dom.ownerDocument.addEventListener("dragend",this.finish),i.win.addEventListener("blur",this.finish)}destroy(){clearTimeout(this.releaseTimer);let i=this.view;i.contentDOM.removeEventListener("mousedown",this.down,!0),i.contentDOM.removeEventListener("keydown",this.release,!0),i.dom.ownerDocument.removeEventListener("mouseup",this.finish),i.dom.ownerDocument.removeEventListener("mousemove",this.move),i.dom.ownerDocument.removeEventListener("dragend",this.finish),i.win.removeEventListener("blur",this.finish)}}),zv=z.mouseSelectionStyle.of((i,e)=>{if(e.button!==0||e.detail!==1||e.shiftKey||e.metaKey||e.ctrlKey||e.altKey)return null;let t=i.posAtCoords({x:e.clientX,y:e.clientY});if(t==null)return null;let n=!1;return{update(r){t=r.changes.mapPos(t)},get(r){n||=Math.hypot(r.clientX-e.clientX,r.clientY-e.clientY)>3;let s=n?i.posAtCoords({x:r.clientX,y:r.clientY},!1)??t:t;return P.single(t,s)}}}),en=he.define({create:()=>null,update(i,e){i&&e.docChanged&&(i={from:e.changes.mapPos(i.from,1),to:e.changes.mapPos(i.to,-1)});let t=e.state.selection.main;if(!t.empty)return null;let n=t.head;return e.isUserEvent("select.pointer")||!i&&e.docChanged&&e.isUserEvent("input")?To(e.state,n):!i||ni.to?null:e.docChanged&&To(e.state,n)||i}});function wo(i){let e=[],t=i.field(en);return(zs(i,i.doc.length,80)||U(i)).iterate({enter(r){if(r.name!=="FencedCode")return;let s=Ro(i,r),o=t!=null&&r.from<=t.from&&r.to>=t.to;if(s.language==="mermaid"&&!o&&!Xo(i,r.from,r.to))return e.push(A.replace({block:!0,widget:new Xh(s.source)}).range(r.from,r.to)),!1}}),A.set(e,!0)}var Lv=he.define({create:i=>wo(i),update:(i,e)=>{if(e.state.field(vt))return e.startState.field(vt)?.activateOnSelection&&!e.state.field(vt).activateOnSelection?wo(e.state):i;if(e.startState.field(vt))return wo(e.state);let t=e.startState.field(en),n=e.state.field(en),r=t?.from!==n?.from||t?.to!==n?.to,s=!1;return e.docChanged&&e.changes.iterChanges((o,a,l,c,h)=>{if(s)return;let u=e.startState.doc.sliceString(o,a)+h.toString();s=/[`~]|mermaid/i.test(u)}),r||s||e.effects.some(o=>o.is(Ao))||e.docChanged&&e.state.field(Pi).query?wo(e.state):e.docChanged?i.map(e.changes):i},provide:i=>z.decorations.from(i)});function Mv(i,e){let t=e.get(i.sourceFrom);if(t?.language===i.detectedLanguage&&t.source===i.source)return t.tokens;let n=[],r=Ie.matchLanguageName(Fg,i.detectedLanguage,!1)?.support?.language;return r&&Rs(r.parser.parse(i.source),e0,(s,o,a)=>{n.push({from:s,to:o,mark:A.mark({class:a})})}),e.set(i.sourceFrom,{language:i.detectedLanguage,source:i.source,tokens:n}),n}function Ug(i,e){let t=[],{state:n}=i,r=n.field(vt),s=r?.selection??n.selection.main,o=r?r.fence:n.field(en),l=(r?r.focused:i.hasFocus)&&(s.empty||i.compositionStarted)?s.head:null,c=(k,w)=>Xo(n,k,w)||l!=null&&l>=k&&l<=w,h=k=>{let w=n.doc.lineAt(k);return c(w.from,w.to)},f=k=>Xo(n,k.from,k.to)||o!=null&&k.from<=o.from&&k.to>=o.to,u=new Set,O=new Set,p=(k,w)=>{let C=n.doc.lineAt(k),j=w.spec.class+"@"+C.from;u.has(j)||(u.add(j),t.push(w.range(C.from)))},m=(k,w,C)=>{let j=k;for(;j<=w;){let y=n.doc.lineAt(j);if(p(y.from,C),y.to>=w)break;j=y.to+1}},b=k=>{let w=0;for(let C of k)w=C===" "?w+(4-w%4):w+1;return w},g=(k,w)=>{let C=w[1],j=w[2],y=w[3],q=k.from+C.length,de=q+j.length,Zt=Math.floor(b(C)/4)+1;if(p(k.from,xo),p(k.from,vh(Zt)),O.add(k.from),k.number>1&&Zn.test(n.doc.line(k.number-1).text)&&p(k.from,Yg),C.length>0&&t.push(Ue.range(k.from,q)),/^[-+*]$/.test(j)&&/^\s*\[[ xX]\](\s|$)/.test(k.text.slice(de-k.from))){let G=k.text.slice(de-k.from).match(/^[ \t]*\[([ xX])\][ \t]?/);G[1]!==" "&&p(k.from,Vg);let N=de+G[0].indexOf("[");t.push(A.replace({widget:new _o(N+1,G[1]!==" ")}).range(q,de+G[0].length))}else/^[-+*]$/.test(j)&&(h(q)?(t.push(Eg.range(q,de)),y.length>0&&t.push(Ue.range(de,de+y.length))):t.push(Zg.range(q,de+y.length)))},Q=k=>{let w=n.doc.lineAt(k),C=w.number,j=Math.max(C-64,1);for(;C>j&&n.doc.line(C-1).text.length===0;)C--;return{line:w,first:C,count:w.number-C}},S=k=>{switch(k.name){case"Blockquote":{let w=n.doc.lineAt(k.from);return/^ {0,3}> ?\[!(note|tip|important|warning|caution)\]/i.test(w.text)?pt.alert:pt.quote}case"Table":return pt.table;case"HorizontalRule":return pt.hr;case"FencedCode":return Ro(n,k).language==="mermaid"?pt.table:pt.paragraph;default:return pt.paragraph}},x=-1,v=k=>{let w=n.doc.lineAt(k.from);w.number===1||w.from<=x||Q(k.from).count===0&&p(n.doc.line(w.number-1).from,cv(S(k)))},$=k=>{let w=Q(k.from);if(w.count===0)return;let C=n.doc.line(w.line.number-1);if(w.first===1){p(C.from,Ph(pt.blankGap+S(k)));return}let j=S(k),y=pt.blankGap+j;p(C.from,Ph(y))},R=0,_=[],W=[],T=new Map;for(let{from:k,to:w}of i.visibleRanges){let C=null;U(n).iterate({from:k,to:w,enter:y=>{R++;let q=y.name;if(R===2&&q==="Document"&&(C=R),C!=null&&R===C+1&&lv.has(q)&&($(y),v(y)),q==="Frontmatter"){let X=y.to>y.from&&n.doc.lineAt(y.to).from===y.to?y.to-1:y.to;x=X,m(y.from,X,Xv),p(y.from,_v),p(n.doc.lineAt(X).from,Rv);return}if(q==="DashLine"){t.push(Av.range(y.from,y.to));return}let de=q.match(/^ATXHeading(\d)$/);if(de){p(y.from,Ah[+de[1]]),Q(y.from).count>0&&p(y.from,zg),h(y.from)||p(y.from,ov);return}let Zt=q.match(/^SetextHeading(\d)$/);if(Zt){p(y.from,Ah[+Zt[1]]),Q(y.from).count>0&&p(y.from,zg);return}if(q==="HeaderMark"){let X=y.node.parent;if(X&&/^ATXHeading/.test(X.name)){t.push(yv.range(y.from,y.to));let G=n.doc.sliceString(y.to,y.to+1),N=y.to+(G===" "?1:0),B=y.from===X.from,re=n.doc.lineAt(y.from),ne=B&&/^ {0,3}$/.test(n.doc.sliceString(re.from,y.from))?re.from:y.from;B&&t.push(Sv.range(ne,N)),h(y.from)||t.push(bv.range(ne,N))}else X&&/^SetextHeading/.test(X.name)&&(p(y.from,kv),t.push(xv.range(y.from,y.to)));return}if(q==="Blockquote"){W.push(y.from);let X=n.doc.lineAt(y.from),G=y.node.parent?.name==="Blockquote",N=y.node.prevSibling;for(;N?.name==="QuoteMark";)N=N.prevSibling;let B=G&&N?pt.quote:0,re=y.from;for(;re<=y.to;){let ne=n.doc.lineAt(re),ye=T.get(ne.from)||{depth:0,starts:0,ends:0,gap:0};if(ye.depth=Math.max(ye.depth,W.length),ne.from===X.from&&(ye.starts++,ye.gap+=B),ne.to>=y.to&&ye.ends++,T.set(ne.from,ye),ne.to>=y.to)break;re=ne.to+1}return}if(q==="QuoteMark"){if(!h(y.from)){let X=n.doc.sliceString(y.to,y.to+1);t.push(Ue.range(y.from,y.to+(X===" "?1:0)))}return}if(q==="Paragraph"&&/^(Blockquote|ListItem)$/.test(y.node.parent?.name||"")){let X=n.doc.lineAt(y.from);if(X.number>n.doc.lineAt(y.node.parent.from).number){let G=n.doc.line(X.number-1);/^(?:[ >]*)$/.test(G.text)&&p(G.from,Ph(pt.paragraph))}}if(q==="Escape"&&!c(y.from,y.to)){t.push(Ue.range(y.from,y.from+1));return}if(q==="StrongEmphasis"){t.push(vv.range(y.from,y.to));return}if(q==="Emphasis"){t.push($v.range(y.from,y.to));return}if(q==="Strikethrough"){t.push(Tv.range(y.from,y.to));return}if(q==="Highlight"){let X=[];for(let B=y.node.firstChild;B;B=B.nextSibling)B.name==="HighlightMark"&&X.push(B);let G=X.length?X[0].to:y.from,N=X.length>1?X[X.length-1].from:y.to;G1?X[X.length-1].from:y.to;G")?G.slice(1,-1):G;if(!N||N.startsWith("//"))return!1;let B=y.from+2;for(let ne=y.node.firstChild;ne;ne=ne.nextSibling)if(ne.name==="LinkMark"&&n.doc.sliceString(ne.from,ne.to)==="]"){B=ne.from;break}let re=n.doc.sliceString(y.from+2,B);if(!c(y.from,y.to)){let ne=n.doc.lineAt(y.from);ne.text.trim()===n.doc.sliceString(y.from,y.to)&&p(ne.from,av),t.push(A.replace({widget:new Th(N,re,n.doc.sliceString(y.from,y.to),y.from,y.to)}).range(y.from,y.to))}return!1}if(q==="Link"){y.node.getChild("URL")&&t.push(wv.range(y.from,y.to));return}if(q==="LinkMark"){let X=y.node.parent;X&&X.name==="Link"&&X.getChild("URL")&&!c(X.from,X.to)&&t.push(Ue.range(y.from,y.to));return}if(q==="URL"){let X=y.node.parent;X&&X.name==="Link"&&(c(X.from,X.to)?t.push(Pv.range(y.from,y.to)):t.push(Ue.range(y.from,y.to)));return}if(q==="BulletList"||q==="OrderedList"){_.push(y.from);return}if(q==="ListItem"){let X=y.from===_[_.length-1],G=_.length>1,N=n.doc.lineAt(y.from),B=N.number>1&&n.doc.line(N.number-1).text.trim()==="";(!X||G)&&!B&&p(y.from,Yg),m(y.from,y.to,xo),/^[-+*][ \t]+\[[xX]\](?:[ \t]|$)/.test(n.doc.sliceString(y.from,N.to))&&m(y.from,y.to,Vg),p(y.from,vh(_.length)),O.add(n.doc.lineAt(y.from).from);{let ni=n.doc.lineAt(y.from).to+1;for(;ni<=y.to;){let tt=n.doc.lineAt(ni),F=tt.text;if(F.length>0&&!Zn.test(F)){p(tt.from,fv),p(tt.from,vh(_.length));let qt=F.match(/^[ \t]+/);qt&&t.push(Ue.range(tt.from,tt.from+qt[0].length))}if(tt.to>=y.to)break;ni=tt.to+1}}let re=n.doc.lineAt(y.from),ye=re.text.match(Zn)?.[1]??"";ye.length>0&&t.push(Ue.range(re.from,re.from+ye.length));return}if(q==="ListMark"){let X=n.doc.sliceString(y.from,y.to),G=n.doc.lineAt(y.from),N=/^\s*\[[ xX]\](\s|$)/.test(G.text.slice(y.to-G.from));if(N&&/^[-+*]$/.test(X)){let B=G.text.slice(y.to-G.from).match(/^[ \t]*\[([ xX])\][ \t]?/),re=y.to+B[0].indexOf("[");t.push(A.replace({widget:new _o(re+1,B[1]!==" ")}).range(y.from,y.to+B[0].length))}else if((X==="-"||X==="*"||X==="+")&&!N){let B=n.doc.sliceString(y.to,y.to+1);h(y.from)?(t.push(Eg.range(y.from,y.to)),B===" "&&t.push(Ue.range(y.to,y.to+1))):t.push(Zg.range(y.from,y.to+(B===" "?1:0)))}else if(/^\d+[.)]$/.test(X)&&!N){let B=n.doc.sliceString(y.to,y.to+1);h(y.from)?(t.push(tv.range(y.from,y.to)),B===" "&&t.push(Ue.range(y.to,y.to+1))):t.push(ev(X).range(y.from,y.to+(B===" "?1:0)))}return}if(q==="FencedCode"||q==="CodeBlock"){let X=n.doc.lineAt(y.from),G=n.doc.lineAt(y.to),N=q==="FencedCode"&&y.node.lastChild?.name==="CodeMark",B=G.number-X.number>=(N?2:1),re=q==="FencedCode"&&!h(X.from),ne=N&&!h(G.from),ye=re&&B?n.doc.line(X.number+1):X,Et=B?ye:X,ni=!B&&q==="FencedCode"?X:ne?n.doc.line(G.number-1):G;if(q==="FencedCode"){let F=Ro(n,y);if(F.detectedLanguage)for(let qt of Mv(F,e))t.push(qt.mark.range(F.sourceFrom+qt.from,F.sourceFrom+qt.to));t.push(A.widget({widget:new Co({wrapped:n.field(En).has(X.from),fenceFrom:y.from,language:F.language,detectedLanguage:F.detectedLanguage,rawInfo:F.rawInfo,infoFrom:F.infoFrom,infoTo:F.infoTo}),side:-1}).range(Et.from))}else t.push(A.widget({widget:new Co({fenceFrom:X.from,language:"text",rawInfo:"",plain:!0,wrapped:n.field(En).has(X.from)}),side:-1}).range(Et.from));let tt=y.from;for(;tt<=y.to;){let F=n.doc.lineAt(tt),qt=q==="CodeBlock"&&u.has(`${xo.spec.class}@${F.from}`)?F.text.match(Zn):null;if(qt){if(g(F,qt),F.to>=y.to)break;tt=F.to+1;continue}let Vh=q==="FencedCode"&&F.from===Et.from;if((re&&F.from===X.from||ne&&F.from===G.from)&&!Vh)p(F.from,Lg);else if(q==="FencedCode"&&!B&&F.from!==X.from&&!Vh)p(F.from,Lg);else{let Ln=F.from===ye.from,Dh=F.from===ni.from;Ln&&p(F.from,Ov),Dh&&p(F.from,dv),!Ln&&!Dh&&p(F.from,uv),t.push(A.line({attributes:{"data-code-scroll-group":String(X.from),class:n.field(En).has(X.from)?"cm-md-code-wrapped":""}}).range(F.from)),F.length&&t.push(pv.range(F.from,F.to))}if(q==="CodeBlock"&&!h(F.from)){let Ln=F.text.match(/^(?: {4}|\t)/)?.[0];Ln&&t.push(Ue.range(F.from,F.from+Ln.length))}if(F.to>=y.to)break;tt=F.to+1}return}if(q==="CodeInfo"){let X=y.node.parent;if(!X)return;h(X.from)&&t.push(gv.range(y.from,y.to));return}if(q==="Table"){m(y.from,y.to,mv);return}if(q==="HorizontalRule"){h(y.from)||(p(y.from,nv),t.push(iv.range(y.from,y.to)));return}},leave:y=>{R--;let q=y.name;(q==="BulletList"||q==="OrderedList")&&_.pop(),q==="Blockquote"&&W.pop()}});for(let[y,q]of T)p(y,hv(q.depth,q.starts,q.ends,q.gap));T.clear();let j=k;for(;j<=w;){let y=n.doc.lineAt(j);if(u.has(`${xo.spec.class}@${y.from}`)&&!O.has(y.from)){let de=y.text.match(Zn);de&&g(y,de)}if(y.to>=w)break;j=y.to+1}}return A.set(t,!0)}function Eh(i){let e=i.selection.main,t=new Set,n=0;for(let r=U(i).resolveInner(e.from,1);r;r=r.parent){if(r.toi.decorations,provide:i=>z.blockWrappers.of(e=>e.plugin(i)?.codeWrappers??li.set([]))}),jv=Ve.fromClass(class{constructor(i){this.schedule(i)}update(i){(i.docChanged||i.selectionSet||i.viewportChanged||i.geometryChanged||i.focusChanged)&&this.schedule(i.view)}docViewUpdate(i){this.schedule(i)}schedule(i){i.requestMeasure({key:this,read(e){return Array.from(e.dom.querySelectorAll(".cm-md-heading-prefix")).map(t=>{let n=t.closest(".cm-line");return n?{line:n,width:t.getBoundingClientRect().width}:null}).filter(Boolean)},write(e){for(let{line:t,width:n}of e){let r=`${n}px`;t.style.getPropertyValue("--cm-md-heading-prefix-width")!==r&&t.style.setProperty("--cm-md-heading-prefix-width",r)}}})}});function Gg(i){let e=[],t=i.selection.main,n=(s,o)=>t.from<=o&&t.to>=s;return(zs(i,i.doc.length,80)||U(i)).iterate({enter:s=>{let o=s.name;if(o==="FencedCode"||o==="CodeBlock"||o==="HTMLBlock")return!1;if(o!=="Paragraph")return;if(n(s.from,s.to))return!1;let a=i.doc.lineAt(s.from);for(;a.toGg(i),update:(i,e)=>e.docChanged||e.selection?Gg(e.state):i,provide:i=>z.decorations.from(i)}),e0=yn.define([{tag:[d.keyword,d.modifier,d.operatorKeyword,d.controlKeyword,d.definitionKeyword,d.moduleKeyword],class:"hl-keyword"},{tag:[d.string,d.special(d.string),d.regexp],class:"hl-string"},{tag:[d.comment,d.blockComment,d.lineComment],class:"hl-comment"},{tag:[d.number,d.integer,d.float,d.character],class:"hl-number"},{tag:[d.bool,d.atom,d.null],class:"hl-keyword"},{tag:[d.typeName,d.namespace],class:"hl-type"},{tag:[d.className,d.definition(d.typeName)],class:"hl-declaration"},{tag:[d.function(d.variableName),d.function(d.propertyName),d.macroName],class:"hl-function"},{tag:[d.propertyName,d.labelName],class:"hl-property"},{tag:d.attributeName,class:"hl-attribute"},{tag:[d.standard(d.variableName),d.standard(d.typeName)],class:"hl-builtin"},{tag:[d.meta,d.processingInstruction],class:"hl-meta"},{tag:[d.punctuation,d.operator],class:"hl-plain"}]);function At(i){return e=>{let t=e.state.changeByRange(n=>{let{from:r,to:s}=n;for(;rr&&/\s/.test(e.state.sliceDoc(s-1,s));)s--;let o=i.length,a=e.state.sliceDoc(Math.max(0,r-o),r),l=e.state.sliceDoc(s,s+o);if(a===i&&l===i)return{changes:[{from:r-o,to:r,insert:""},{from:s,to:s+o,insert:""}],range:P.range(r-o,s-o)};let c=e.state.sliceDoc(r,s);return c.startsWith(i)&&c.endsWith(i)&&c.length>=o*2?{changes:{from:r,to:s,insert:c.slice(o,c.length-o)},range:P.range(r,s-o*2)}:{changes:{from:r,to:s,insert:i+c+i},range:P.range(r+o,s+o)}});return e.dispatch(t,{scrollIntoView:!0,userEvent:"input"}),!0}}function jh(i,e){let t=i.selection.main,n=i.doc.lineAt(t.from).number,r=i.doc.lineAt(t.to).number,s=[];for(let o=n;o<=r;o++)s.push(i.doc.line(o));return e(s)}function $h(i,e){return t=>{let n=jh(t.state,r=>{let s=r.every(o=>e.test(o.text));return r.map(o=>{if(s){let a=o.text.match(e);return{from:o.from,to:o.from+a[0].length,insert:""}}return e.test(o.text)?null:{from:o.from,insert:i}}).filter(Boolean)});return n.length&&Wr(t,n),!0}}function Wr(i,e){let t=i.state.changes(e),n=i.state.selection.main;i.dispatch({changes:e,selection:P.range(t.mapPos(n.anchor,1),t.mapPos(n.head,1)),userEvent:"input"})}function Vv(i){let e=/^\d+\.\s/,t=jh(i.state,n=>{let r=n.every(o=>e.test(o.text)),s=1;return n.map(o=>{if(r){let a=o.text.match(e);return{from:o.from,to:o.from+a[0].length,insert:""}}return e.test(o.text)?null:{from:o.from,insert:`${s++}. `}}).filter(Boolean)});return t.length&&Wr(i,t),!0}function qh(i){let e=i.selection.main,t=i.doc.lineAt(e.from).number,n=i.doc.lineAt(e.empty?e.to:e.to-1).number;return Array.from({length:n-t+1},(r,s)=>i.doc.line(t+s))}function t0(i){let e=/^([ \t]*(?:>[ \t]*)*)(?:([-+*]|\d+[.)])([ \t]+)(\[[ xX]\][ \t]+)?)?/.exec(i);return{prefix:e[0],indent:e[1],style:e[2]?e[4]?"task":/^\d/.test(e[2])?"ordered":"bullet":"none"}}function qn(i,e,t){for(let n=U(i).resolve(e,1);n;n=n.parent)if(t.includes(n.name))return n;return null}function i0(i){return qh(i).filter(e=>!/^[ \t>]*$/.test(e.text)&&!qn(i,e.from+e.text.search(/\S/),["FencedCode","CodeBlock"]))}function Dv(i,e){if(!["none","bullet","ordered","task"].includes(e))return!1;let t=i0(i.state).map((n,r)=>{let s=t0(n.text);if(s.style===e)return null;let o=e==="none"?"":e==="bullet"?"- ":e==="task"?"- [ ] ":`${r+1}. `;return{from:n.from,to:n.from+s.prefix.length,insert:s.indent+o}}).filter(Boolean);return t.length&&Wr(i,t),i.focus(),!0}function Ji(i){return e=>{let t=jh(e.state,n=>n.map(r=>{let s=r.text.match(/^(#{1,6})\s+/),a=(s?s[1].length:0)===i||i===0?"":"#".repeat(i)+" ";return{from:r.from,to:r.from+(s?s[0].length:0),insert:a}}));return e.dispatch({changes:t,userEvent:"input"}),!0}}function n0(i){let e={InlineCode:"code",FencedCode:"fenced",CodeBlock:"plain",Blockquote:"quote",Table:"table"};for(let t=U(i).resolve(i.selection.main.head,i.selection.main.empty?1:-1);t;t=t.parent)if(e[t.name])return{style:e[t.name],node:t};return{style:"none",node:null}}function Yv(i,e,t=""){if(!["none","quote","code","plain","fenced","table"].includes(e))return!1;let n=i.state,r=n.selection.main,s=n0(n),o=s.node&&r.from>=s.node.from&&r.to<=s.node.to;if(e==="code"&&(!o||s.style==="code"))return s.style!=="code"&&At("`")(i),i.focus(),!0;if(e==="table"){let p=qn(n,r.to,["FencedCode"]),m=p?p.to:n.doc.lineAt(r.to).to,g=(p&&p.lastChild?.name!=="CodeMark"?` +`:"")}var UP=1,Lr=null,GP=ki.parser.configure(zh),Jg=new WeakMap;function xh(i,e){let t={StrongEmphasis:"cm-md-strong",Emphasis:"cm-md-emphasis",Strikethrough:"cm-md-strikethrough",Highlight:"cm-md-highlight"},n=(o,a,l)=>{if(!a)return;let c=document.createTextNode(a);Jg.set(c,l),o.append(c)},r=(o,a,l,c)=>{let h=l;for(let f=a.firstChild;f;f=f.nextSibling)f.fromc||(n(o,e.slice(h,f.from),h),s(o,f),h=f.to);n(o,e.slice(h,c),h)},s=(o,a)=>{if(a.name==="InlineCode"){let l=document.createElement("code");l.className="cm-md-inline-code";let c=e.slice(a.firstChild.to,a.lastChild.from).replace(/\n/g," "),h=c.startsWith(" ")&&c.endsWith(" ")&&/[^ ]/.test(c);h&&(c=c.slice(1,-1)),n(l,c,a.firstChild.to+(h?1:0)),o.append(l)}else if(t[a.name]){let l=document.createElement("span");l.className=t[a.name],r(l,a,a.firstChild.to,a.lastChild.from),o.append(l)}else if(a.name==="Link"&&a.getChild("URL")){let l=a.getChildren("LinkMark"),c=document.createElement("span");c.className="cm-md-link",r(c,a,l[0].to,l[1].from),o.append(c)}else a.name==="Escape"?n(o,e.slice(a.from+1,a.to),a.from+1):a.name==="Image"?n(o,e.slice(a.from,a.to),a.from):r(o,a,a.from,a.to)};i.replaceChildren(),s(i,GP.parse(e).topNode)}var Ze=new WeakMap,Wh=new WeakMap,NP=new Set(["bold","italic","strikethrough","highlight","code","link"]);function e0(i,e){let n=i.state.doc.lineAt(e.tableFrom).number+(e.row===0?0:e.row+1);if(n>i.state.doc.lines)return null;let r=i.state.doc.line(n),s=Po(r.text,!0)[e.column];return s?{from:r.from+s.from,to:r.from+Math.max(s.from,s.to)}:null}function zn(i){let e=Ze.get(i);if(!e||e.element.dataset.tableEditing!=="true")return;let t=window.getSelection();if(!t?.anchorNode||!t.focusNode||!e.element.contains(t.anchorNode)||!e.element.contains(t.focusNode))return;let n=(a,l)=>{let c=document.createRange();return c.selectNodeContents(e.element),c.setEnd(a,l),c.toString().length};e.anchor=n(t.anchorNode,t.anchorOffset),e.head=n(t.focusNode,t.focusOffset);let r=e.element.innerText||"",s=[e.anchor,e.head];Mh(r,s),e.sourceAnchor=s[0],e.sourceHead=s[1];let o=se.create({doc:r,selection:P.single(e.anchor,e.head),extensions:[Yc({extensions:zh})]});Wh.get(i)?.(Eh(o))}function vo(i){let e=Ze.get(i);if(!e)return null;zn(i),e.element.dataset.tableEditing==="true"&&e.element.blur();let t=e0(i,e);if(!t)return null;let n=t.to-t.from;return i.dispatch({selection:P.single(t.from+Math.max(0,Math.min(e.sourceAnchor??e.anchor,n)),t.from+Math.max(0,Math.min(e.sourceHead??e.head,n)))}),e}function $o(i,e){let t=e0(i,e);if(!t)return;let n=i.state.selection.main,r=Math.max(0,Math.min(n.anchor-t.from,t.to-t.from)),s=Math.max(0,Math.min(n.head-t.from,t.to-t.from)),o=i.dom.querySelector(`.cm-md-table-widget[data-table-from="${e.tableFrom}"] [data-table-row="${e.row}"][data-table-column="${e.column}"]`);if(!o)return;o.focus({preventScroll:!0});let a=o.firstChild||o.appendChild(document.createTextNode(""));window.getSelection()?.setBaseAndExtent(a,r,a,s),zn(i)}var FP=Ve.fromClass(class{constructor(i){this.view=i,this.capture=()=>zn(i),this.clear=e=>{e.target.closest?.(".cm-md-table-cell")||Ze.delete(i)},document.addEventListener("selectionchange",this.capture),i.dom.addEventListener("mousedown",this.clear,!0)}destroy(){document.removeEventListener("selectionchange",this.capture),this.view.dom.removeEventListener("mousedown",this.clear,!0),Ze.delete(this.view),Wh.delete(this.view)}}),Rh=class extends ve{constructor(e,t){super(),this.source=e,this.from=t}eq(e){return e.source===this.source&&e.from===this.from}toDOM(e){let t=Lh(this.source),n=document.createElement("div");if(n.className="cm-md-table-widget",n.dataset.tableFrom=String(this.from),!t)return n.textContent=this.source,n;let r=null,s=null,o=null,a=!1,l=document.createElement("div");l.className="cm-md-table-scroll",n.appendChild(l);let c=document.createElement("table");c.className="cm-md-table-grid",l.appendChild(c);let h=(Q,S)=>{requestAnimationFrame(()=>requestAnimationFrame(()=>{let x=e.dom.querySelector(`.cm-md-table-widget[data-table-from="${this.from}"]`);(x&&x.querySelector(`[data-table-row="${Q}"][data-table-column="${S}"]`))?.focus()}))},f=(Q=null)=>{let S=BP(t);if(S===this.source){Q&&n.querySelector(`[data-table-row="${Q.row}"][data-table-column="${Q.column}"]`)?.focus();return}r=null,e.dispatch({changes:{from:this.from,to:this.from+this.source.length,insert:S},userEvent:"input"}),Q&&h(Q.row,Q.column)},u=()=>{!r||r.element.dataset.tableEditing!=="true"||(t.rows[r.row][r.column]=r.element.innerText||"")},O=()=>{n.querySelectorAll(".is-table-part-selected").forEach(Q=>{Q.classList.remove("is-table-part-selected")}),n.classList.remove("is-table-row-selected","is-table-column-selected","is-table-range-selected"),n.removeAttribute("aria-label"),s=null},p=(Q,S,x)=>{if(u(),O(),Array.from(n.querySelectorAll(".cm-md-table-cell")).filter($=>{let A=Number($.dataset.tableRow),_=Number($.dataset.tableColumn);return A>=S.top&&A<=S.bottom&&_>=S.left&&_<=S.right}).forEach($=>{$.classList.add("is-table-part-selected")}),n.classList.add(Q==="row"?"is-table-row-selected":Q==="column"?"is-table-column-selected":"is-table-range-selected"),window.getSelection()?.removeAllRanges(),s={kind:Q,row:x.row,column:x.column,bounds:S},Ze.delete(e),n.tabIndex=0,Q==="range"){let $=S.bottom-S.top+1,A=S.right-S.left+1;n.setAttribute("aria-label",`Selected ${$} rows by ${A} columns.`)}else{let $=Q==="row"?x.row:x.column+1;n.setAttribute("aria-label",`Selected ${Q} ${$}. Press Delete to remove it.`)}n.focus()},m=(Q,S,x)=>{let v=Q==="row"?{top:S,right:t.alignments.length-1,bottom:S,left:0}:{top:0,right:x,bottom:t.rows.length-1,left:x};p(Q,v,{row:S,column:x})},b=(Q,S,x,v)=>{p("range",{top:Math.min(Q,x),right:Math.max(S,v),bottom:Math.max(Q,x),left:Math.min(S,v)},{row:Q,column:S})},g=(Q,S,x)=>{if(u(),Q==="selectRow"&&S>0)m("row",S,x);else if(Q==="selectColumn"&&t.alignments.length>1)m("column",S,x);else if(Q==="insertRowBefore"&&S>0)t.rows.splice(S,0,Array(t.alignments.length).fill("")),f({row:S,column:x});else if(Q==="insertRowAfter")t.rows.splice(S+1,0,Array(t.alignments.length).fill("")),f({row:S+1,column:x});else if(Q==="duplicateRow"&&S>0)t.rows.splice(S+1,0,[...t.rows[S]]),f({row:S+1,column:x});else if(Q==="deleteRow"&&S>0)t.rows.splice(S,1),f({row:Math.min(S,t.rows.length-1),column:x});else if(Q==="insertColumnBefore"){for(let v of t.rows)v.splice(x,0,"");t.alignments.splice(x,0,"none"),f({row:S,column:x})}else if(Q==="insertColumnAfter"){for(let v of t.rows)v.splice(x+1,0,"");t.alignments.splice(x+1,0,"none"),f({row:S,column:x+1})}else if(Q==="deleteColumn"&&t.alignments.length>1){for(let v of t.rows)v.splice(x,1);t.alignments.splice(x,1),f({row:S,column:Math.min(x,t.alignments.length-1)})}};return t.rows.forEach((Q,S)=>{let x=document.createElement("tr");c.appendChild(x),Q.forEach((v,$)=>{let A=document.createElement(S===0?"th":"td"),_=document.createElement("div");if(_.className="cm-md-table-cell",_.contentEditable="plaintext-only",_.spellcheck=!0,xh(_,v),_.dataset.tableRow=String(S),_.dataset.tableColumn=String($),S===0){let W=`Column ${$+1}`;_.dataset.placeholder=W;let T=()=>{(_.innerText||"").trim()?_.removeAttribute("aria-label"):_.setAttribute("aria-label",W)};T(),_.addEventListener("input",T)}t.alignments[$]!=="none"&&(_.style.textAlign=t.alignments[$]),_.addEventListener("focus",()=>{O(),(_.textContent!==t.rows[S][$]||_.childElementCount)&&(_.textContent=t.rows[S][$]),_.dataset.tableEditing="true",Ze.set(e,{tableFrom:this.from,row:S,column:$,element:_,anchor:0,head:0}),r={row:S,column:$,element:_}}),_.addEventListener("contextmenu",W=>{W.preventDefault(),_.focus(),r={row:S,column:$,element:_};let T=String(UP++);Lr={token:T,perform:k=>g(k,S,$)},window.__mdRequestTableContextMenu?.({token:T,canInsertRowAbove:S>0,canDuplicateRow:S>0,canDeleteRow:S>0,canDeleteColumn:t.alignments.length>1,showsDuplicateRow:!0})}),_.addEventListener("blur",()=>{if(zn(e),!r||r.element!==_)return;let W=_.innerText||"",T=W!==t.rows[S][$];t.rows[S][$]=W,r=null,delete _.dataset.tableEditing,xh(_,t.rows[S][$]),T&&f()}),_.addEventListener("keydown",W=>{if((W.metaKey||W.ctrlKey)&&["b","i"].includes(W.key.toLowerCase())){W.preventDefault();let C=vo(e);At(W.key.toLowerCase()==="b"?"**":"*")(e),C&&$o(e,C);return}if(W.key==="Escape"){W.preventDefault(),r=null,_.blur(),delete _.dataset.tableEditing,xh(_,t.rows[S][$]),Ze.delete(e),e.focus();return}if(W.key!=="Tab"&&W.key!=="Enter")return;W.preventDefault(),t.rows[S][$]=_.innerText||"";let T=W.key==="Tab"&&W.shiftKey,k=S,w=$+(T?-1:1);w<0?(k--,w=t.alignments.length-1):w>=t.alignments.length&&(k++,w=0),k<0?(k=0,w=0):k>=t.rows.length&&t.rows.push(Array(t.alignments.length).fill("")),f({row:k,column:w})}),A.appendChild(_),x.appendChild(A)})}),n.addEventListener("mousedown",Q=>{if(Q.button!==0)return;let S=Q.target.closest?.(".cm-md-table-cell");if(!S)return;let x=Number(S.dataset.tableRow),v=Number(S.dataset.tableColumn);if(!Number.isInteger(x)||x<0||!Number.isInteger(v))return;Q.stopPropagation();let $=null;if(S.dataset.tableEditing!=="true"&&Q.detail===1&&!Q.shiftKey&&!Q.metaKey&&!Q.ctrlKey&&!Q.altKey&&S.textContent!==t.rows[x][v]){let T=document.caretRangeFromPoint?.(Q.clientX,Q.clientY),k=T&&Jg.get(T.startContainer);k!=null&&S.contains(T.startContainer)&&($=k+T.startOffset,Q.preventDefault())}S.focus({preventScroll:!0});let A=T=>{let k=S.firstChild;k&&window.getSelection()?.setBaseAndExtent(k,$,k,T)};$!=null&&A($),o={cell:S,row:x,column:v,head:S,active:!1,dragged:!1};let _=T=>{document.removeEventListener("mousemove",W,!0),document.removeEventListener("mouseup",_,!0),o?.active?(T.preventDefault(),window.getSelection()?.removeAllRanges(),a=!0):zn(e),o=null},W=T=>{if(!o)return;let w=document.elementFromPoint?.(T.clientX,T.clientY)?.closest?.(".cm-md-table-cell")||T.target.closest?.(".cm-md-table-cell");if(!(!w||!n.contains(w))){if(w===o.cell&&!o.active){if($!=null&&(T.preventDefault(),o.dragged||=Math.hypot(T.clientX-Q.clientX,T.clientY-Q.clientY)>3,o.dragged)){let C=document.caretRangeFromPoint?.(T.clientX,T.clientY);C?.startContainer===S.firstChild&&A(C.startOffset)}return}w!==o.head&&(T.preventDefault(),o.active=!0,o.head=w,b(o.row,o.column,Number(w.dataset.tableRow),Number(w.dataset.tableColumn)))}};document.addEventListener("mousemove",W,!0),document.addEventListener("mouseup",_,!0)},!0),n.addEventListener("click",Q=>{a&&(a=!1,Q.preventDefault(),Q.stopPropagation())},!0),n.addEventListener("keydown",Q=>{if(!s)return;if(Q.key==="Escape"){Q.preventDefault(),O(),e.focus();return}if(Q.key!=="Backspace"&&Q.key!=="Delete")return;if(s.kind==="range"){Q.preventDefault();return}Q.preventDefault();let S=s;O(),g(S.kind==="row"?"deleteRow":"deleteColumn",S.row,S.column)}),n}ignoreEvent(){return!0}},Ao=te.define();function wh(i,e,t,n=0){let r=[];if(e){let o=new RegExp(e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),"giu"),a=i.toString();for(let l of a.matchAll(o)){let c=l.index;(!t||c===0||!/[A-Za-z0-9_]/.test(a[c-1]))&&r.push({from:c,to:c+l[0].length})}}n=r.length?Math.min(Math.max(n,0),r.length-1):-1;let s=R.set(r.map((o,a)=>R.mark({class:a===n?"cm-find-match cm-find-current":"cm-find-match"}).range(o.from,o.to)));return{query:e,beginsWith:t,matches:r,index:n,decorations:s}}var Pi=he.define({create:i=>wh(i.doc,"",!1),update(i,e){for(let t of e.effects)if(t.is(Ao)){let{query:n,beginsWith:r,index:s}=t.value;return wh(e.state.doc,n,r,s)}return e.docChanged?wh(e.state.doc,i.query,i.beginsWith,i.index):i},provide:i=>z.decorations.from(i,e=>e.decorations)});function Xo(i,e,t){let n=i.field(Pi),r=n.matches[n.index];return!!r&&r.frome}var HP=z.baseTheme({".cm-find-match":{backgroundColor:"#ffe58a",color:"#201800",borderRadius:"2px"},".cm-find-current":{backgroundColor:"#ffad33",outline:"1px solid #9b5700"}});function Ag(i){let e=[];return(zs(i,i.doc.length,80)||U(i)).iterate({enter(n){if(n.name!=="Table")return;if(Xo(i,n.from,n.to))return!1;let r=i.doc.sliceString(n.from,n.to);if(Lh(r))return e.push(R.replace({block:!0,widget:new Rh(r,n.from)}).range(n.from,n.to)),!1}}),R.set(e,!0)}var KP=he.define({create:Ag,update:(i,e)=>e.docChanged||e.effects.some(t=>t.is(Ao))?Ag(e.state):i,provide:i=>z.decorations.from(i)}),_o=class extends ve{constructor(e,t){super(),this.from=e,this.checked=t}eq(e){return this.from===e.from&&this.checked===e.checked}toDOM(e){let t=document.createElement("span");t.className="cm-md-task-marker";let n=document.createElement("input");return n.type="checkbox",n.checked=this.checked,n.setAttribute("aria-label",this.checked?"Mark task incomplete":"Mark task complete"),n.addEventListener("mousedown",r=>{r.preventDefault(),r.stopPropagation()}),n.addEventListener("change",()=>{e.dispatch({changes:{from:this.from,to:this.from+1,insert:n.checked?"x":" "},userEvent:"input"}),e.focus()}),t.append(n,document.createTextNode(" ")),t}ignoreEvent(){return!0}},JP=Vc({nonTightLists:!1});function ev(i){return i.state.selection.ranges.every(e=>e.empty&&/^[ \t]*(?:>[ \t]*)*[-+*][ \t]+\[[ xX]\](?:[ \t]|$)/.test(i.state.doc.lineAt(e.head).text))?JP({state:i.state,dispatch:e=>{let t=e.state,n=t.changeByRange(r=>{let s=t.doc.lineAt(r.head);return r.empty&&s.text===""&&s.number>1&&t.doc.line(s.number-1).text.trim()!==""?{changes:{from:r.head,insert:t.lineBreak},range:P.cursor(r.head+t.lineBreak.length)}:{range:r}});i.dispatch([e,t.update(n,{userEvent:"input",scrollIntoView:!0})])}}):!1}var Ue=R.replace({}),Zg=R.replace({widget:new Mr("\u2022","cm-md-bullet")}),Eg=R.mark({class:"cm-md-bullet-source"}),qg=new Map,tv=i=>{let e=qg.get(i);return e||(e=R.replace({widget:new Mr(i,"cm-md-ordered")}),qg.set(i,e)),e},iv=R.mark({class:"cm-md-ordered-source"}),nv=R.replace({widget:new Ch}),rv=R.line({class:"cm-md-rule-line"}),Zn=/^([ \t]*)([-+*]|\d+[.)])([ \t]+|$)/,sv=R.replace({widget:new Mr(" ","cm-md-join")}),Ah={},ov=i=>R.line({class:"cm-md-h"+i});for(let i=1;i<=6;i++)Ah[i]=ov(i);var av=R.line({class:"cm-md-heading-inactive"}),zg=R.line({class:"cm-md-heading-after-blank"}),lv=R.line({class:"cm-md-image-line"}),Lg=R.line({class:"cm-md-line-collapsed"}),pt={line:22.8,blankGap:4,paragraph:12,quote:18,alert:24,table:24,hr:12},cv=new Set(["Paragraph","FencedCode","CodeBlock","Blockquote","BulletList","OrderedList","Table","HorizontalRule","HTMLBlock"]),Mg=new Map,Ph=i=>{let e=Mg.get(i);return e||(e=R.line({class:"cm-md-block-separator",attributes:{style:`height:${i}px;min-height:0;line-height:${i}px;overflow:hidden;`}}),Mg.set(i,e)),e},Wg=new Map,hv=i=>{let e=Wg.get(i);return e||(e=R.line({class:"cm-md-block-gap",attributes:{style:`padding-bottom:${i}px;--cm-md-block-gap:${i}px;`}}),Wg.set(i,e)),e},jg=new Map,fv=(i,e,t,n)=>{let r=`${i}:${e}:${t}:${n}`,s=jg.get(r);if(!s){let o=[],a=[];for(let l=0;lli.create({tagName:"div",attributes:{class:`cm-md-code-card${s?" cm-md-code-card-wrapped":""}`}}).range(n,r)),!0)}var gv=R.line({class:"cm-md-table"}),Ig=R.line({class:"cm-md-list-item-gap"}),xo=R.line({class:"cm-md-list-item"}),Bg=new Map,vh=i=>{let e=Bg.get(i);return e||(e=R.line({class:`cm-md-list-depth-${i}`,attributes:{style:`padding-inline-start:${i*2.1}em;text-indent:-2.1em;`}}),Bg.set(i,e)),e},Qv=R.mark({class:"cm-md-fence-info"}),bv=R.mark({class:"cm-md-code-fence-source-hidden"}),Sv=R.mark({class:"cm-md-heading-source-hidden"}),yv=R.mark({class:"cm-md-heading-prefix"}),kv=R.mark({class:"cm-md-heading-marker"}),xv=R.line({class:"cm-md-setext-marker-line"}),wv=R.mark({class:"cm-md-setext-source"}),Pv=R.mark({class:"cm-md-link"}),vv=R.mark({class:"cm-md-url"}),$v=R.mark({class:"cm-md-strong"}),Tv=R.mark({class:"cm-md-emphasis"}),Cv=R.mark({class:"cm-md-strikethrough"}),Xv=R.mark({class:"cm-md-highlight"}),_v=R.line({class:"cm-md-frontmatter"}),Rv=R.line({class:"cm-md-frontmatter-first"}),Av=R.line({class:"cm-md-frontmatter-last"}),Zv=R.mark({class:"cm-md-frontmatter-delim"}),Ev=R.line({attributes:{dir:"auto"}});function Ug(i){let e=[];for(let t=1;t<=i.doc.lines;t++)e.push(Ev.range(i.doc.line(t).from));return R.set(e)}var qv=he.define({create:Ug,update(i,e){return e.docChanged?Ug(e.state):i},provide:i=>z.decorations.from(i)});function Ro(i,e){let t="",n=null,r=[];for(let g=e.node.firstChild;g;g=g.nextSibling)g.name==="CodeInfo"&&(n=g,t=i.doc.sliceString(g.from,g.to)),g.name==="CodeMark"&&r.push(g);let s=t.trim().split(/\s+/,1)[0].toLowerCase(),o=i.doc.lineAt(e.from),a=r[0],l=o.to1&&(c=i.doc.lineAt(r[r.length-1].from).from);let h=i.sliceDoc(o.from,e.from),f=/^ {0,3}$/.test(h)?h.length:0,u=e.node.getChildren("CodeText"),O=u.map((g,Q)=>{let S=Q?i.doc.lineAt(g.from).number-i.doc.lineAt(u[Q-1].to).number:0;return` +`.repeat(S)+i.sliceDoc(g.from,g.to)}).join("").replace(new RegExp("^ {0,"+f+"}","gm"),""),p=s?"":jP(O),m=n?.from??a?.to??o.to,b=n?.to??m;return{explicitLanguage:s,language:s||p,detectedLanguage:p,metadata:t.trim().split(/\s+/).slice(1).join(" "),rawInfo:t,infoFrom:m,infoTo:b,sourceFrom:l,source:O}}function To(i,e){let t=U(i).resolve(e,-1);for(;t;){if(t.name==="FencedCode")return{from:t.from,to:t.to,closed:t.node.lastChild?.name==="CodeMark"};t=t.parent}return null}var Zh=te.define(),vt=he.define({create:()=>null,update(i,e){if(e.docChanged)return null;for(let t of e.effects)if(t.is(Zh))return t.value;return i?.activateOnSelection&&e.isUserEvent("select.pointer")?{selection:e.state.selection.main,focused:!0,fence:e.state.field(en),activateOnSelection:!1}:i}}),zv=Ve.fromClass(class{constructor(i){this.view=i,this.releaseTimer=null,this.down=e=>{e.button!==0||e.target.closest("input, textarea, button, select, .cm-md-table-cell")||(clearTimeout(this.releaseTimer),!i.state.field(vt)&&i.dispatch({effects:Zh.of({selection:i.state.selection.main,focused:i.hasFocus,fence:i.state.field(en),activateOnSelection:e.detail===1&&!e.shiftKey&&!e.metaKey&&!e.ctrlKey&&!e.altKey})}))},this.finish=()=>{i.state.field(vt)&&(clearTimeout(this.releaseTimer),this.releaseTimer=setTimeout(()=>this.release(),0))},this.release=()=>{clearTimeout(this.releaseTimer),i.state.field(vt)&&i.dispatch({effects:Zh.of(null)})},this.move=e=>{e.buttons===0&&this.finish()},i.contentDOM.addEventListener("mousedown",this.down,!0),i.contentDOM.addEventListener("keydown",this.release,!0),i.dom.ownerDocument.addEventListener("mouseup",this.finish),i.dom.ownerDocument.addEventListener("mousemove",this.move),i.dom.ownerDocument.addEventListener("dragend",this.finish),i.win.addEventListener("blur",this.finish)}destroy(){clearTimeout(this.releaseTimer);let i=this.view;i.contentDOM.removeEventListener("mousedown",this.down,!0),i.contentDOM.removeEventListener("keydown",this.release,!0),i.dom.ownerDocument.removeEventListener("mouseup",this.finish),i.dom.ownerDocument.removeEventListener("mousemove",this.move),i.dom.ownerDocument.removeEventListener("dragend",this.finish),i.win.removeEventListener("blur",this.finish)}}),Lv=z.mouseSelectionStyle.of((i,e)=>{if(e.button!==0||e.detail!==1||e.shiftKey||e.metaKey||e.ctrlKey||e.altKey)return null;let t=i.posAtCoords({x:e.clientX,y:e.clientY});if(t==null)return null;let n=!1;return{update(r){t=r.changes.mapPos(t)},get(r){n||=Math.hypot(r.clientX-e.clientX,r.clientY-e.clientY)>3;let s=n?i.posAtCoords({x:r.clientX,y:r.clientY},!1)??t:t;return P.single(t,s)}}}),en=he.define({create:()=>null,update(i,e){i&&e.docChanged&&(i={from:e.changes.mapPos(i.from,1),to:e.changes.mapPos(i.to,-1)});let t=e.state.selection.main;if(!t.empty)return null;let n=t.head;return e.isUserEvent("select.pointer")||!i&&e.docChanged&&e.isUserEvent("input")?To(e.state,n):!i||ni.to?null:e.docChanged&&To(e.state,n)||i}});function wo(i){let e=[],t=i.field(en);return(zs(i,i.doc.length,80)||U(i)).iterate({enter(r){if(r.name!=="FencedCode")return;let s=Ro(i,r),o=t!=null&&r.from<=t.from&&r.to>=t.to;if(s.language==="mermaid"&&!o&&!Xo(i,r.from,r.to))return e.push(R.replace({block:!0,widget:new Xh(s.source)}).range(r.from,r.to)),!1}}),R.set(e,!0)}var Mv=he.define({create:i=>wo(i),update:(i,e)=>{if(e.state.field(vt))return e.startState.field(vt)?.activateOnSelection&&!e.state.field(vt).activateOnSelection?wo(e.state):i;if(e.startState.field(vt))return wo(e.state);let t=e.startState.field(en),n=e.state.field(en),r=t?.from!==n?.from||t?.to!==n?.to,s=!1;return e.docChanged&&e.changes.iterChanges((o,a,l,c,h)=>{if(s)return;let u=e.startState.doc.sliceString(o,a)+h.toString();s=/[`~]|mermaid/i.test(u)}),r||s||e.effects.some(o=>o.is(Ao))||e.docChanged&&e.state.field(Pi).query?wo(e.state):e.docChanged?i.map(e.changes):i},provide:i=>z.decorations.from(i)});function Wv(i,e){let t=e.get(i.sourceFrom);if(t?.language===i.detectedLanguage&&t.source===i.source)return t.tokens;let n=[],r=Ie.matchLanguageName(Hg,i.detectedLanguage,!1)?.support?.language;return r&&Rs(r.parser.parse(i.source),t0,(s,o,a)=>{n.push({from:s,to:o,mark:R.mark({class:a})})}),e.set(i.sourceFrom,{language:i.detectedLanguage,source:i.source,tokens:n}),n}function Gg(i,e){let t=[],{state:n}=i,r=n.field(vt),s=r?.selection??n.selection.main,o=r?r.fence:n.field(en),l=(r?r.focused:i.hasFocus)&&(s.empty||i.compositionStarted)?s.head:null,c=(k,w)=>Xo(n,k,w)||l!=null&&l>=k&&l<=w,h=k=>{let w=n.doc.lineAt(k);return c(w.from,w.to)},f=k=>Xo(n,k.from,k.to)||o!=null&&k.from<=o.from&&k.to>=o.to,u=new Set,O=new Set,p=(k,w)=>{let C=n.doc.lineAt(k),j=w.spec.class+"@"+C.from;u.has(j)||(u.add(j),t.push(w.range(C.from)))},m=(k,w,C)=>{let j=k;for(;j<=w;){let y=n.doc.lineAt(j);if(p(y.from,C),y.to>=w)break;j=y.to+1}},b=k=>{let w=0;for(let C of k)w=C===" "?w+(4-w%4):w+1;return w},g=(k,w)=>{let C=w[1],j=w[2],y=w[3],q=k.from+C.length,de=q+j.length,Zt=Math.floor(b(C)/4)+1;if(p(k.from,xo),p(k.from,vh(Zt)),O.add(k.from),k.number>1&&Zn.test(n.doc.line(k.number-1).text)&&p(k.from,Ig),C.length>0&&t.push(Ue.range(k.from,q)),/^[-+*]$/.test(j)&&/^\s*\[[ xX]\](\s|$)/.test(k.text.slice(de-k.from))){let G=k.text.slice(de-k.from).match(/^[ \t]*\[([ xX])\][ \t]?/);p(k.from,Vg),G[1]!==" "&&p(k.from,Dg);let N=de+G[0].indexOf("[");t.push(R.replace({widget:new _o(N+1,G[1]!==" ")}).range(q,de+G[0].length))}else/^[-+*]$/.test(j)&&(h(q)?(t.push(Eg.range(q,de)),y.length>0&&t.push(Ue.range(de,de+y.length))):t.push(Zg.range(q,de+y.length)))},Q=k=>{let w=n.doc.lineAt(k),C=w.number,j=Math.max(C-64,1);for(;C>j&&n.doc.line(C-1).text.length===0;)C--;return{line:w,first:C,count:w.number-C}},S=k=>{switch(k.name){case"Blockquote":{let w=n.doc.lineAt(k.from);return/^ {0,3}> ?\[!(note|tip|important|warning|caution)\]/i.test(w.text)?pt.alert:pt.quote}case"Table":return pt.table;case"HorizontalRule":return pt.hr;case"FencedCode":return Ro(n,k).language==="mermaid"?pt.table:pt.paragraph;default:return pt.paragraph}},x=-1,v=k=>{let w=n.doc.lineAt(k.from);w.number===1||w.from<=x||Q(k.from).count===0&&p(n.doc.line(w.number-1).from,hv(S(k)))},$=k=>{let w=Q(k.from);if(w.count===0)return;let C=n.doc.line(w.line.number-1);if(w.first===1){p(C.from,Ph(pt.blankGap+S(k)));return}let j=S(k),y=pt.blankGap+j;p(C.from,Ph(y))},A=0,_=[],W=[],T=new Map;for(let{from:k,to:w}of i.visibleRanges){let C=null;U(n).iterate({from:k,to:w,enter:y=>{A++;let q=y.name;if(A===2&&q==="Document"&&(C=A),C!=null&&A===C+1&&cv.has(q)&&($(y),v(y)),q==="Frontmatter"){let X=y.to>y.from&&n.doc.lineAt(y.to).from===y.to?y.to-1:y.to;x=X,m(y.from,X,_v),p(y.from,Rv),p(n.doc.lineAt(X).from,Av);return}if(q==="DashLine"){t.push(Zv.range(y.from,y.to));return}let de=q.match(/^ATXHeading(\d)$/);if(de){p(y.from,Ah[+de[1]]),Q(y.from).count>0&&p(y.from,zg),h(y.from)||p(y.from,av);return}let Zt=q.match(/^SetextHeading(\d)$/);if(Zt){p(y.from,Ah[+Zt[1]]),Q(y.from).count>0&&p(y.from,zg);return}if(q==="HeaderMark"){let X=y.node.parent;if(X&&/^ATXHeading/.test(X.name)){t.push(kv.range(y.from,y.to));let G=n.doc.sliceString(y.to,y.to+1),N=y.to+(G===" "?1:0),B=y.from===X.from,re=n.doc.lineAt(y.from),ne=B&&/^ {0,3}$/.test(n.doc.sliceString(re.from,y.from))?re.from:y.from;B&&t.push(yv.range(ne,N)),h(y.from)||t.push(Sv.range(ne,N))}else X&&/^SetextHeading/.test(X.name)&&(p(y.from,xv),t.push(wv.range(y.from,y.to)));return}if(q==="Blockquote"){W.push(y.from);let X=n.doc.lineAt(y.from),G=y.node.parent?.name==="Blockquote",N=y.node.prevSibling;for(;N?.name==="QuoteMark";)N=N.prevSibling;let B=G&&N?pt.quote:0,re=y.from;for(;re<=y.to;){let ne=n.doc.lineAt(re),ye=T.get(ne.from)||{depth:0,starts:0,ends:0,gap:0};if(ye.depth=Math.max(ye.depth,W.length),ne.from===X.from&&(ye.starts++,ye.gap+=B),ne.to>=y.to&&ye.ends++,T.set(ne.from,ye),ne.to>=y.to)break;re=ne.to+1}return}if(q==="QuoteMark"){if(!h(y.from)){let X=n.doc.sliceString(y.to,y.to+1);t.push(Ue.range(y.from,y.to+(X===" "?1:0)))}return}if(q==="Paragraph"&&/^(Blockquote|ListItem)$/.test(y.node.parent?.name||"")){let X=n.doc.lineAt(y.from);if(X.number>n.doc.lineAt(y.node.parent.from).number){let G=n.doc.line(X.number-1);/^(?:[ >]*)$/.test(G.text)&&p(G.from,Ph(pt.paragraph))}}if(q==="Escape"&&!c(y.from,y.to)){t.push(Ue.range(y.from,y.from+1));return}if(q==="StrongEmphasis"){t.push($v.range(y.from,y.to));return}if(q==="Emphasis"){t.push(Tv.range(y.from,y.to));return}if(q==="Strikethrough"){t.push(Cv.range(y.from,y.to));return}if(q==="Highlight"){let X=[];for(let B=y.node.firstChild;B;B=B.nextSibling)B.name==="HighlightMark"&&X.push(B);let G=X.length?X[0].to:y.from,N=X.length>1?X[X.length-1].from:y.to;G1?X[X.length-1].from:y.to;G")?G.slice(1,-1):G;if(!N||N.startsWith("//"))return!1;let B=y.from+2;for(let ne=y.node.firstChild;ne;ne=ne.nextSibling)if(ne.name==="LinkMark"&&n.doc.sliceString(ne.from,ne.to)==="]"){B=ne.from;break}let re=n.doc.sliceString(y.from+2,B);if(!c(y.from,y.to)){let ne=n.doc.lineAt(y.from);ne.text.trim()===n.doc.sliceString(y.from,y.to)&&p(ne.from,lv),t.push(R.replace({widget:new Th(N,re,n.doc.sliceString(y.from,y.to),y.from,y.to)}).range(y.from,y.to))}return!1}if(q==="Link"){y.node.getChild("URL")&&t.push(Pv.range(y.from,y.to));return}if(q==="LinkMark"){let X=y.node.parent;X&&X.name==="Link"&&X.getChild("URL")&&!c(X.from,X.to)&&t.push(Ue.range(y.from,y.to));return}if(q==="URL"){let X=y.node.parent;X&&X.name==="Link"&&(c(X.from,X.to)?t.push(vv.range(y.from,y.to)):t.push(Ue.range(y.from,y.to)));return}if(q==="BulletList"||q==="OrderedList"){_.push(y.from);return}if(q==="ListItem"){let X=y.from===_[_.length-1],G=_.length>1,N=n.doc.lineAt(y.from),B=N.number>1&&n.doc.line(N.number-1).text.trim()==="";(!X||G)&&!B&&p(y.from,Ig),m(y.from,y.to,xo),/^[-+*][ \t]+\[[xX]\](?:[ \t]|$)/.test(n.doc.sliceString(y.from,N.to))&&m(y.from,y.to,Dg),p(y.from,vh(_.length)),O.add(n.doc.lineAt(y.from).from);{let ni=n.doc.lineAt(y.from).to+1;for(;ni<=y.to;){let tt=n.doc.lineAt(ni),F=tt.text;if(F.length>0&&!Zn.test(F)){p(tt.from,uv),p(tt.from,vh(_.length));let qt=F.match(/^[ \t]+/);qt&&t.push(Ue.range(tt.from,tt.from+qt[0].length))}if(tt.to>=y.to)break;ni=tt.to+1}}let re=n.doc.lineAt(y.from),ye=re.text.match(Zn)?.[1]??"";ye.length>0&&t.push(Ue.range(re.from,re.from+ye.length));return}if(q==="ListMark"){let X=n.doc.sliceString(y.from,y.to),G=n.doc.lineAt(y.from),N=/^\s*\[[ xX]\](\s|$)/.test(G.text.slice(y.to-G.from));if(N&&/^[-+*]$/.test(X)){p(G.from,Vg);let B=G.text.slice(y.to-G.from).match(/^[ \t]*\[([ xX])\][ \t]?/),re=y.to+B[0].indexOf("[");t.push(R.replace({widget:new _o(re+1,B[1]!==" ")}).range(y.from,y.to+B[0].length))}else if((X==="-"||X==="*"||X==="+")&&!N){let B=n.doc.sliceString(y.to,y.to+1);h(y.from)?(t.push(Eg.range(y.from,y.to)),B===" "&&t.push(Ue.range(y.to,y.to+1))):t.push(Zg.range(y.from,y.to+(B===" "?1:0)))}else if(/^\d+[.)]$/.test(X)&&!N){let B=n.doc.sliceString(y.to,y.to+1);h(y.from)?(t.push(iv.range(y.from,y.to)),B===" "&&t.push(Ue.range(y.to,y.to+1))):t.push(tv(X).range(y.from,y.to+(B===" "?1:0)))}return}if(q==="FencedCode"||q==="CodeBlock"){let X=n.doc.lineAt(y.from),G=n.doc.lineAt(y.to),N=q==="FencedCode"&&y.node.lastChild?.name==="CodeMark",B=G.number-X.number>=(N?2:1),re=q==="FencedCode"&&!h(X.from),ne=N&&!h(G.from),ye=re&&B?n.doc.line(X.number+1):X,Et=B?ye:X,ni=!B&&q==="FencedCode"?X:ne?n.doc.line(G.number-1):G;if(q==="FencedCode"){let F=Ro(n,y);if(F.detectedLanguage)for(let qt of Wv(F,e))t.push(qt.mark.range(F.sourceFrom+qt.from,F.sourceFrom+qt.to));t.push(R.widget({widget:new Co({wrapped:n.field(En).has(X.from),fenceFrom:y.from,language:F.language,detectedLanguage:F.detectedLanguage,rawInfo:F.rawInfo,infoFrom:F.infoFrom,infoTo:F.infoTo}),side:-1}).range(Et.from))}else t.push(R.widget({widget:new Co({fenceFrom:X.from,language:"text",rawInfo:"",plain:!0,wrapped:n.field(En).has(X.from)}),side:-1}).range(Et.from));let tt=y.from;for(;tt<=y.to;){let F=n.doc.lineAt(tt),qt=q==="CodeBlock"&&u.has(`${xo.spec.class}@${F.from}`)?F.text.match(Zn):null;if(qt){if(g(F,qt),F.to>=y.to)break;tt=F.to+1;continue}let Vh=q==="FencedCode"&&F.from===Et.from;if((re&&F.from===X.from||ne&&F.from===G.from)&&!Vh)p(F.from,Lg);else if(q==="FencedCode"&&!B&&F.from!==X.from&&!Vh)p(F.from,Lg);else{let Ln=F.from===ye.from,Dh=F.from===ni.from;Ln&&p(F.from,dv),Dh&&p(F.from,pv),!Ln&&!Dh&&p(F.from,Ov),t.push(R.line({attributes:{"data-code-scroll-group":String(X.from),class:n.field(En).has(X.from)?"cm-md-code-wrapped":""}}).range(F.from)),F.length&&t.push(mv.range(F.from,F.to))}if(q==="CodeBlock"&&!h(F.from)){let Ln=F.text.match(/^(?: {4}|\t)/)?.[0];Ln&&t.push(Ue.range(F.from,F.from+Ln.length))}if(F.to>=y.to)break;tt=F.to+1}return}if(q==="CodeInfo"){let X=y.node.parent;if(!X)return;h(X.from)&&t.push(Qv.range(y.from,y.to));return}if(q==="Table"){m(y.from,y.to,gv);return}if(q==="HorizontalRule"){h(y.from)||(p(y.from,rv),t.push(nv.range(y.from,y.to)));return}},leave:y=>{A--;let q=y.name;(q==="BulletList"||q==="OrderedList")&&_.pop(),q==="Blockquote"&&W.pop()}});for(let[y,q]of T)p(y,fv(q.depth,q.starts,q.ends,q.gap));T.clear();let j=k;for(;j<=w;){let y=n.doc.lineAt(j);if(u.has(`${xo.spec.class}@${y.from}`)&&!O.has(y.from)){let de=y.text.match(Zn);de&&g(y,de)}if(y.to>=w)break;j=y.to+1}}return R.set(t,!0)}function Eh(i){let e=i.selection.main,t=new Set,n=0;for(let r=U(i).resolveInner(e.from,1);r;r=r.parent){if(r.toi.decorations,provide:i=>z.blockWrappers.of(e=>e.plugin(i)?.codeWrappers??li.set([]))}),Vv=Ve.fromClass(class{constructor(i){this.schedule(i)}update(i){(i.docChanged||i.selectionSet||i.viewportChanged||i.geometryChanged||i.focusChanged)&&this.schedule(i.view)}docViewUpdate(i){this.schedule(i)}schedule(i){i.requestMeasure({key:this,read(e){return Array.from(e.dom.querySelectorAll(".cm-md-heading-prefix")).map(t=>{let n=t.closest(".cm-line");return n?{line:n,width:t.getBoundingClientRect().width}:null}).filter(Boolean)},write(e){for(let{line:t,width:n}of e){let r=`${n}px`;t.style.getPropertyValue("--cm-md-heading-prefix-width")!==r&&t.style.setProperty("--cm-md-heading-prefix-width",r)}}})}});function Ng(i){let e=[],t=i.selection.main,n=(s,o)=>t.from<=o&&t.to>=s;return(zs(i,i.doc.length,80)||U(i)).iterate({enter:s=>{let o=s.name;if(o==="FencedCode"||o==="CodeBlock"||o==="HTMLBlock")return!1;if(o!=="Paragraph")return;if(n(s.from,s.to))return!1;let a=i.doc.lineAt(s.from);for(;a.toNg(i),update:(i,e)=>e.docChanged||e.selection?Ng(e.state):i,provide:i=>z.decorations.from(i)}),t0=yn.define([{tag:[d.keyword,d.modifier,d.operatorKeyword,d.controlKeyword,d.definitionKeyword,d.moduleKeyword],class:"hl-keyword"},{tag:[d.string,d.special(d.string),d.regexp],class:"hl-string"},{tag:[d.comment,d.blockComment,d.lineComment],class:"hl-comment"},{tag:[d.number,d.integer,d.float,d.character],class:"hl-number"},{tag:[d.bool,d.atom,d.null],class:"hl-keyword"},{tag:[d.typeName,d.namespace],class:"hl-type"},{tag:[d.className,d.definition(d.typeName)],class:"hl-declaration"},{tag:[d.function(d.variableName),d.function(d.propertyName),d.macroName],class:"hl-function"},{tag:[d.propertyName,d.labelName],class:"hl-property"},{tag:d.attributeName,class:"hl-attribute"},{tag:[d.standard(d.variableName),d.standard(d.typeName)],class:"hl-builtin"},{tag:[d.meta,d.processingInstruction],class:"hl-meta"},{tag:[d.punctuation,d.operator],class:"hl-plain"}]);function At(i){return e=>{let t=e.state.changeByRange(n=>{let{from:r,to:s}=n;for(;rr&&/\s/.test(e.state.sliceDoc(s-1,s));)s--;let o=i.length,a=e.state.sliceDoc(Math.max(0,r-o),r),l=e.state.sliceDoc(s,s+o);if(a===i&&l===i)return{changes:[{from:r-o,to:r,insert:""},{from:s,to:s+o,insert:""}],range:P.range(r-o,s-o)};let c=e.state.sliceDoc(r,s);return c.startsWith(i)&&c.endsWith(i)&&c.length>=o*2?{changes:{from:r,to:s,insert:c.slice(o,c.length-o)},range:P.range(r,s-o*2)}:{changes:{from:r,to:s,insert:i+c+i},range:P.range(r+o,s+o)}});return e.dispatch(t,{scrollIntoView:!0,userEvent:"input"}),!0}}function jh(i,e){let t=i.selection.main,n=i.doc.lineAt(t.from).number,r=i.doc.lineAt(t.to).number,s=[];for(let o=n;o<=r;o++)s.push(i.doc.line(o));return e(s)}function $h(i,e){return t=>{let n=jh(t.state,r=>{let s=r.every(o=>e.test(o.text));return r.map(o=>{if(s){let a=o.text.match(e);return{from:o.from,to:o.from+a[0].length,insert:""}}return e.test(o.text)?null:{from:o.from,insert:i}}).filter(Boolean)});return n.length&&Wr(t,n),!0}}function Wr(i,e){let t=i.state.changes(e),n=i.state.selection.main;i.dispatch({changes:e,selection:P.range(t.mapPos(n.anchor,1),t.mapPos(n.head,1)),userEvent:"input"})}function Dv(i){let e=/^\d+\.\s/,t=jh(i.state,n=>{let r=n.every(o=>e.test(o.text)),s=1;return n.map(o=>{if(r){let a=o.text.match(e);return{from:o.from,to:o.from+a[0].length,insert:""}}return e.test(o.text)?null:{from:o.from,insert:`${s++}. `}}).filter(Boolean)});return t.length&&Wr(i,t),!0}function qh(i){let e=i.selection.main,t=i.doc.lineAt(e.from).number,n=i.doc.lineAt(e.empty?e.to:e.to-1).number;return Array.from({length:n-t+1},(r,s)=>i.doc.line(t+s))}function i0(i){let e=/^([ \t]*(?:>[ \t]*)*)(?:([-+*]|\d+[.)])([ \t]+)(\[[ xX]\][ \t]+)?)?/.exec(i);return{prefix:e[0],indent:e[1],style:e[2]?e[4]?"task":/^\d/.test(e[2])?"ordered":"bullet":"none"}}function qn(i,e,t){for(let n=U(i).resolve(e,1);n;n=n.parent)if(t.includes(n.name))return n;return null}function n0(i){return qh(i).filter(e=>!/^[ \t>]*$/.test(e.text)&&!qn(i,e.from+e.text.search(/\S/),["FencedCode","CodeBlock"]))}function Yv(i,e){if(!["none","bullet","ordered","task"].includes(e))return!1;let t=n0(i.state).map((n,r)=>{let s=i0(n.text);if(s.style===e)return null;let o=e==="none"?"":e==="bullet"?"- ":e==="task"?"- [ ] ":`${r+1}. `;return{from:n.from,to:n.from+s.prefix.length,insert:s.indent+o}}).filter(Boolean);return t.length&&Wr(i,t),i.focus(),!0}function Ji(i){return e=>{let t=jh(e.state,n=>n.map(r=>{let s=r.text.match(/^(#{1,6})\s+/),a=(s?s[1].length:0)===i||i===0?"":"#".repeat(i)+" ";return{from:r.from,to:r.from+(s?s[0].length:0),insert:a}}));return e.dispatch({changes:t,userEvent:"input"}),!0}}function r0(i){let e={InlineCode:"code",FencedCode:"fenced",CodeBlock:"plain",Blockquote:"quote",Table:"table"};for(let t=U(i).resolve(i.selection.main.head,i.selection.main.empty?1:-1);t;t=t.parent)if(e[t.name])return{style:e[t.name],node:t};return{style:"none",node:null}}function Iv(i,e,t=""){if(!["none","quote","code","plain","fenced","table"].includes(e))return!1;let n=i.state,r=n.selection.main,s=r0(n),o=s.node&&r.from>=s.node.from&&r.to<=s.node.to;if(e==="code"&&(!o||s.style==="code"))return s.style!=="code"&&At("`")(i),i.focus(),!0;if(e==="table"){let p=qn(n,r.to,["FencedCode"]),m=p?p.to:n.doc.lineAt(r.to).to,g=(p&&p.lastChild?.name!=="CodeMark"?` `+n.sliceDoc(p.firstChild.from,p.firstChild.to):"")+` | Column 1 | Column 2 | @@ -49,4 +49,4 @@ `),O=4),e==="fenced"){let p=h.match(/`+/g)||[],m="`".repeat(Math.max(3,...p.map(Q=>Q.length+1))),b=String(t).replace(/[^\w+-]/g,""),g=m+b+` `;u=g+h+` `+m,O=g.length}return e==="plain"&&l>0&&n.doc.lineAt(l-1).text.trim()&&(u=` -`+u,O++),i.dispatch({changes:{from:l,to:c,insert:u},selection:{anchor:l+O},userEvent:"input"}),i.focus(),!0}function Iv(i){let e=i.state.selection.main,t=i.state.sliceDoc(e.from,e.to)||"text",n=`[${t}](url)`,r=e.from+t.length+3;return i.dispatch({changes:{from:e.from,to:e.to,insert:n},selection:P.range(r,r+3),userEvent:"input",scrollIntoView:!0}),!0}var Ng=_e.define();function Bv(i,e){let t=U(i).resolve(e,-1);for(;t;){if(t.name==="FencedCode")return t.from;t=t.parent}return null}var Uv=se.transactionFilter.of(i=>{if(!i.docChanged||!i.isUserEvent("input")||i.annotation(Ng))return i;let e=i.newSelection.main;if(!e.empty)return i;let t=i.newDoc.lineAt(e.head),n=e.head-t.from;if(t.text.slice(0,n)!=="```"||t.text.slice(n)!=="")return i;let r=!1,s=null;if(i.changes.iterChanges((l,c,h,f,u)=>{if(r||h>e.head||f=t.from+3,r&&(s=l)}),!r)return i;let o=i.startState.doc.lineAt(s),a=Bv(i.startState,s);return a!=null&&at.number&&(n=i.state.doc.line(n.number-1)),e.empty){let o=To(i.state,e.head);if(o){let a=i.state.doc.lineAt(o.from),l=i.state.doc.lineAt(o.to);if(t.number>a.number&&(!o.closed||t.numbera)return zl(i)}return!0}let s=[];for(let o=t.number;o<=n.number;o++)s.push({from:i.state.doc.line(o).from,insert:" "});return Wr(i,s),!0}window.MDEditor={create(i,e,t){let n=t&&t.onDirty,r=t&&t.onPasteImage;Object.assign(pt,t&&t.spacing||{});let s=new z({parent:i,state:se.create({doc:e,extensions:[vO(),Pi,FP,Lu(),z.lineWrapping,z.perLineTextDirection.of(!0),Rt.of(" "),Ev,xm({content:Yc({base:ki,codeLanguages:Fg,extensions:zh})}),en,En,vt,qv,zv,Lv,HP,NP,hO({style:e0.style,scope:m=>m.prop(bt)!==ki.data}),nt.lowest(Wv),jv,Uv,hd(),nt.highest(fi.of([{key:"Enter",run:JP}])),fi.of([{key:"Mod-b",run:At("**")},{key:"Mod-i",run:At("*")},{key:"Tab",run:Gv,shift:ql},...Od,...Dc,...nd,...XO]),z.updateListener.of(m=>{if(t?.onFormattingChange&&(m.selectionSet||m.docChanged||m.focusChanged||U(m.startState)!==U(m.state))&&(Ze.has(s)?zn(s):t.onFormattingChange(Eh(m.state))),m.docChanged&&t?.onSearchChange){let b=m.state.field(Pi);t.onSearchChange({index:b.index+1,total:b.matches.length})}m.docChanged&&n&&!m.transactions.some(b=>b.isUserEvent("rename"))&&n()}),z.domEventHandlers({paste(m,b){if(m.target instanceof Element&&m.target.closest(".cm-md-table-cell")||!Array.from(m.clipboardData?.items||[]).some(S=>String(S.type||"").toLowerCase().startsWith("image/"))||typeof r!="function")return!1;m.preventDefault();let Q=b.state.selection.main;return r(Q.from,Q.to),!0}})]})}),o=!!(t&&t.pageScrolling),a=o?document.scrollingElement:s.scrollDOM,l=o?window:a,c=null,h=0,f=null,u=()=>s.documentTop+a.scrollTop-(o?0:a.getBoundingClientRect().top),O=m=>{let b=s.lineBlockAt(m),g=0,Q=0;try{let S=s.domAtPos(m).node,x=S.nodeType===Node.ELEMENT_NODE?S:S.parentElement,v=x&&x.closest(".cm-line");if(v){let $=getComputedStyle(v);g=parseFloat($.paddingTop)||0,Q=parseFloat($.paddingBottom)||0}}catch{}return{top:b.top+g,height:Math.max(b.height-g-Q,1),sourceStart:s.state.doc.lineAt(b.from).number,sourceEnd:s.state.doc.lineAt(b.to).number+1}},p={bold:At("**"),italic:At("*"),strikethrough:At("~~"),highlight:At("=="),code:At("`"),h0:Ji(0),h1:Ji(1),h2:Ji(2),h3:Ji(3),h4:Ji(4),h5:Ji(5),h6:Ji(6),quote:$h("> ",/^>\s?/),bulletList:$h("- ",/^\s*[-*+]\s/),orderedList:Vv,taskList:$h("- [ ] ",/^\s*[-*+]\s+\[[ xX]\]\s/),link:Iv};return t?.onCopyCode&&Hg.set(s,t.onCopyCode),t?.onFormattingChange&&Wh.set(s,t.onFormattingChange),t?.onFormattingChange?.(Eh(s.state)),{getMarkdown:()=>s.state.doc.toString(),getBlockStyle:()=>Ze.has(s)?"table":n0(s.state).style,setBlockStyle:(m,b)=>{if(Ze.has(s)){if(m!=="code")return!1;let g=vo(s);return g?(At("`")(s),$o(s,g),!0):!1}return Yv(s,m,b)},getListStyle:()=>{if(Ze.has(s))return"none";let m=i0(s.state).map(b=>t0(b.text).style);return m.length?m.every(b=>b===m[0])?m[0]:"mixed":"none"},setListStyle:m=>!Ze.has(s)&&Dv(s,m),getLinkSelection:(m=!1)=>{vo(s);let{from:b,to:g}=s.state.selection.main,Q=qn(s.state,b,["Link"]);if(m&&Q&&g<=Q.to){let S=Q.getChildren("LinkMark");return{from:Q.from,to:Q.to,text:s.state.sliceDoc(S[0].to,S[1].from)}}return{from:b,to:g,text:s.state.sliceDoc(b,g)}},insertLinkFromPopover:(m,b,g,Q)=>{let S=String(b).trim();if(!S||/[\r\n]/.test(S)||g<0||Qs.state.doc.length)return!1;let x=qn(s.state,g,["Link"]);if(x&&(g>x.from||Qg?qn(s.state,Q-1,["Link"]):null;if(v&&(g>v.from||Q\\()]/g,k=>/[()]/.test(k)?"%"+k.charCodeAt(0).toString(16).toUpperCase():encodeURIComponent(k)),_=Ze.get(s),W=`[${$}](${R})`,T=_?Mh(W):W;return s.dispatch({changes:{from:g,to:Q,insert:T},selection:{anchor:g+T.length},userEvent:"input"}),_?$o(s,_):s.focus(),!0},getHeadingLevel:()=>{if(Ze.has(s))return 0;for(let m=U(s.state).resolveInner(s.state.selection.main.head,1);m;m=m.parent){let b=/^(?:ATX|Setext)Heading([1-6])$/.exec(m.name);if(b)return Number(b[1])}return 0},find:(m,b=!1,g=!1)=>{let Q=s.state.field(Pi),S=Q.query===m&&Q.beginsWith===g,x=0;S&&Q.matches.length?x=(Q.index+(b?-1:1)+Q.matches.length)%Q.matches.length:b&&(x=Number.MAX_SAFE_INTEGER),s.dispatch({effects:Ao.of({query:m,beginsWith:g,index:x})});let v=s.state.field(Pi),$=v.matches[v.index];return $&&(c=null,didUserScroll=!0,s.dispatch({effects:z.scrollIntoView($.from,{y:"center"})})),{index:v.index+1,total:v.matches.length}},isSyntaxReady:()=>nO(s.state,s.state.doc.length),replaceMarkdown:m=>{let b=String(m||""),g=b.length,Q=s.state.selection.main,S=Math.min(Q.anchor,g),x=Math.min(Q.head,g),v=a.scrollTop;s.dispatch({changes:{from:0,to:s.state.doc.length,insert:b},selection:{anchor:S,head:x},userEvent:"rename",annotations:pe.addToHistory.of(!1)}),requestAnimationFrame(()=>{a.scrollTop=v,s.requestMeasure()})},insertTextAt:(m,b,g)=>{let Q=s.state.doc.length,S=Math.max(0,Math.min(Number(b)||0,Q)),x=Math.max(S,Math.min(Number(g)||S,Q));s.dispatch({changes:{from:S,to:x,insert:String(m||"")},selection:{anchor:S+String(m||"").length},userEvent:"input",scrollIntoView:!0}),s.focus()},focus:()=>s.focus(),getScrollAnchor:()=>{if(Number.isFinite(c)&&Math.abs(a.scrollTop-f)<=.5)return{position:c,gap:h||0};let m=a.scrollTop-u(),b=s.lineBlockAtHeight(m),g=s.state.doc.lineAt(b.from),Q=O(g.from),S=Q.height>0?Math.min(Math.max((m-Q.top)/Q.height,0),1):0,x=Math.max(Q.top-m,0);return{position:Q.sourceStart+S*(Q.sourceEnd-Q.sourceStart),gap:x}},setScrollPosition:(m,b,g)=>new Promise(Q=>{let x=Math.max(a.scrollHeight-a.clientHeight,0)*Math.min(Math.max(Number(m)||0,0),1),v=null,$=Number.isFinite(g)?Math.max(g,0):0;if(Number.isFinite(b)&&b>=1){let R=Math.min(Math.floor(b),s.state.doc.lines);if(v=s.state.doc.line(R).from,v!=null){let _=O(v),W=(b-_.sourceStart)/(_.sourceEnd-_.sourceStart);x=u()+_.top+_.height*W-$,s.dispatch({effects:z.scrollIntoView(v,{y:"start"})})}}requestAnimationFrame(()=>{let R=Math.max(a.scrollHeight-a.clientHeight,0);if(v!=null){let _=O(v),W=(b-_.sourceStart)/(_.sourceEnd-_.sourceStart);x=u()+_.top+_.height*W-$}else x=R*Math.min(Math.max(Number(m)||0,0),1);a.scrollTop=Math.min(Math.max(x,0),R),l.dispatchEvent(new Event("scroll")),s.requestMeasure(),requestAnimationFrame(()=>{c=Number.isFinite(b)?b:null,h=Number.isFinite(b)?$:0,f=a.scrollTop,Q(!0)})})}),select:(m,b=m)=>{Ze.delete(s),s.dispatch({selection:{anchor:m,head:b},userEvent:"select.pointer"})},insert:m=>{let b=s.state.selection.main;s.state.facet(z.inputHandler).some(Q=>Q(s,b.from,b.to,m))||s.dispatch({changes:{from:b.from,to:b.to,insert:m},selection:{anchor:b.from+m.length},userEvent:"input"})},exec:m=>{let b=p[m];if(!b)return!1;if(Ze.has(s)){if(!GP.has(m))return!1;let g=vo(s);return g?(b(s),$o(s,g),!0):!1}return b(s),s.focus(),!0},performTableContextAction:(m,b)=>{if(!Lr||Lr.token!==m)return!1;let g=Lr;return Lr=null,g.perform(b),!0},destroy:()=>{s.destroy()}}}};})(); +`+u,O++),i.dispatch({changes:{from:l,to:c,insert:u},selection:{anchor:l+O},userEvent:"input"}),i.focus(),!0}function Bv(i){let e=i.state.selection.main,t=i.state.sliceDoc(e.from,e.to)||"text",n=`[${t}](url)`,r=e.from+t.length+3;return i.dispatch({changes:{from:e.from,to:e.to,insert:n},selection:P.range(r,r+3),userEvent:"input",scrollIntoView:!0}),!0}var Fg=_e.define();function Uv(i,e){let t=U(i).resolve(e,-1);for(;t;){if(t.name==="FencedCode")return t.from;t=t.parent}return null}var Gv=se.transactionFilter.of(i=>{if(!i.docChanged||!i.isUserEvent("input")||i.annotation(Fg))return i;let e=i.newSelection.main;if(!e.empty)return i;let t=i.newDoc.lineAt(e.head),n=e.head-t.from;if(t.text.slice(0,n)!=="```"||t.text.slice(n)!=="")return i;let r=!1,s=null;if(i.changes.iterChanges((l,c,h,f,u)=>{if(r||h>e.head||f=t.from+3,r&&(s=l)}),!r)return i;let o=i.startState.doc.lineAt(s),a=Uv(i.startState,s);return a!=null&&at.number&&(n=i.state.doc.line(n.number-1)),e.empty){let o=To(i.state,e.head);if(o){let a=i.state.doc.lineAt(o.from),l=i.state.doc.lineAt(o.to);if(t.number>a.number&&(!o.closed||t.numbera)return zl(i)}return!0}let s=[];for(let o=t.number;o<=n.number;o++)s.push({from:i.state.doc.line(o).from,insert:" "});return Wr(i,s),!0}window.MDEditor={create(i,e,t){let n=t&&t.onDirty,r=t&&t.onPasteImage;Object.assign(pt,t&&t.spacing||{});let s=new z({parent:i,state:se.create({doc:e,extensions:[vO(),Pi,HP,Lu(),z.lineWrapping,z.perLineTextDirection.of(!0),Rt.of(" "),qv,xm({content:Yc({base:ki,codeLanguages:Hg,extensions:zh})}),en,En,vt,zv,Lv,Mv,KP,FP,hO({style:t0.style,scope:m=>m.prop(bt)!==ki.data}),nt.lowest(jv),Vv,Gv,hd(),nt.highest(fi.of([{key:"Enter",run:ev}])),fi.of([{key:"Mod-b",run:At("**")},{key:"Mod-i",run:At("*")},{key:"Tab",run:Nv,shift:ql},...Od,...Dc,...nd,...XO]),z.updateListener.of(m=>{if(t?.onFormattingChange&&(m.selectionSet||m.docChanged||m.focusChanged||U(m.startState)!==U(m.state))&&(Ze.has(s)?zn(s):t.onFormattingChange(Eh(m.state))),m.docChanged&&t?.onSearchChange){let b=m.state.field(Pi);t.onSearchChange({index:b.index+1,total:b.matches.length})}m.docChanged&&n&&!m.transactions.some(b=>b.isUserEvent("rename"))&&n()}),z.domEventHandlers({paste(m,b){if(m.target instanceof Element&&m.target.closest(".cm-md-table-cell")||!Array.from(m.clipboardData?.items||[]).some(S=>String(S.type||"").toLowerCase().startsWith("image/"))||typeof r!="function")return!1;m.preventDefault();let Q=b.state.selection.main;return r(Q.from,Q.to),!0}})]})}),o=!!(t&&t.pageScrolling),a=o?document.scrollingElement:s.scrollDOM,l=o?window:a,c=null,h=0,f=null,u=()=>s.documentTop+a.scrollTop-(o?0:a.getBoundingClientRect().top),O=m=>{let b=s.lineBlockAt(m),g=0,Q=0;try{let S=s.domAtPos(m).node,x=S.nodeType===Node.ELEMENT_NODE?S:S.parentElement,v=x&&x.closest(".cm-line");if(v){let $=getComputedStyle(v);g=parseFloat($.paddingTop)||0,Q=parseFloat($.paddingBottom)||0}}catch{}return{top:b.top+g,height:Math.max(b.height-g-Q,1),sourceStart:s.state.doc.lineAt(b.from).number,sourceEnd:s.state.doc.lineAt(b.to).number+1}},p={bold:At("**"),italic:At("*"),strikethrough:At("~~"),highlight:At("=="),code:At("`"),h0:Ji(0),h1:Ji(1),h2:Ji(2),h3:Ji(3),h4:Ji(4),h5:Ji(5),h6:Ji(6),quote:$h("> ",/^>\s?/),bulletList:$h("- ",/^\s*[-*+]\s/),orderedList:Dv,taskList:$h("- [ ] ",/^\s*[-*+]\s+\[[ xX]\]\s/),link:Bv};return t?.onCopyCode&&Kg.set(s,t.onCopyCode),t?.onFormattingChange&&Wh.set(s,t.onFormattingChange),t?.onFormattingChange?.(Eh(s.state)),{getMarkdown:()=>s.state.doc.toString(),getBlockStyle:()=>Ze.has(s)?"table":r0(s.state).style,setBlockStyle:(m,b)=>{if(Ze.has(s)){if(m!=="code")return!1;let g=vo(s);return g?(At("`")(s),$o(s,g),!0):!1}return Iv(s,m,b)},getListStyle:()=>{if(Ze.has(s))return"none";let m=n0(s.state).map(b=>i0(b.text).style);return m.length?m.every(b=>b===m[0])?m[0]:"mixed":"none"},setListStyle:m=>!Ze.has(s)&&Yv(s,m),getLinkSelection:(m=!1)=>{vo(s);let{from:b,to:g}=s.state.selection.main,Q=qn(s.state,b,["Link"]);if(m&&Q&&g<=Q.to){let S=Q.getChildren("LinkMark");return{from:Q.from,to:Q.to,text:s.state.sliceDoc(S[0].to,S[1].from)}}return{from:b,to:g,text:s.state.sliceDoc(b,g)}},insertLinkFromPopover:(m,b,g,Q)=>{let S=String(b).trim();if(!S||/[\r\n]/.test(S)||g<0||Qs.state.doc.length)return!1;let x=qn(s.state,g,["Link"]);if(x&&(g>x.from||Qg?qn(s.state,Q-1,["Link"]):null;if(v&&(g>v.from||Q\\()]/g,k=>/[()]/.test(k)?"%"+k.charCodeAt(0).toString(16).toUpperCase():encodeURIComponent(k)),_=Ze.get(s),W=`[${$}](${A})`,T=_?Mh(W):W;return s.dispatch({changes:{from:g,to:Q,insert:T},selection:{anchor:g+T.length},userEvent:"input"}),_?$o(s,_):s.focus(),!0},getHeadingLevel:()=>{if(Ze.has(s))return 0;for(let m=U(s.state).resolveInner(s.state.selection.main.head,1);m;m=m.parent){let b=/^(?:ATX|Setext)Heading([1-6])$/.exec(m.name);if(b)return Number(b[1])}return 0},find:(m,b=!1,g=!1)=>{let Q=s.state.field(Pi),S=Q.query===m&&Q.beginsWith===g,x=0;S&&Q.matches.length?x=(Q.index+(b?-1:1)+Q.matches.length)%Q.matches.length:b&&(x=Number.MAX_SAFE_INTEGER),s.dispatch({effects:Ao.of({query:m,beginsWith:g,index:x})});let v=s.state.field(Pi),$=v.matches[v.index];return $&&(c=null,didUserScroll=!0,s.dispatch({effects:z.scrollIntoView($.from,{y:"center"})})),{index:v.index+1,total:v.matches.length}},isSyntaxReady:()=>nO(s.state,s.state.doc.length),replaceMarkdown:m=>{let b=String(m||""),g=b.length,Q=s.state.selection.main,S=Math.min(Q.anchor,g),x=Math.min(Q.head,g),v=a.scrollTop;s.dispatch({changes:{from:0,to:s.state.doc.length,insert:b},selection:{anchor:S,head:x},userEvent:"rename",annotations:pe.addToHistory.of(!1)}),requestAnimationFrame(()=>{a.scrollTop=v,s.requestMeasure()})},insertTextAt:(m,b,g)=>{let Q=s.state.doc.length,S=Math.max(0,Math.min(Number(b)||0,Q)),x=Math.max(S,Math.min(Number(g)||S,Q));s.dispatch({changes:{from:S,to:x,insert:String(m||"")},selection:{anchor:S+String(m||"").length},userEvent:"input",scrollIntoView:!0}),s.focus()},focus:()=>s.focus(),getScrollAnchor:()=>{if(Number.isFinite(c)&&Math.abs(a.scrollTop-f)<=.5)return{position:c,gap:h||0};let m=a.scrollTop-u(),b=s.lineBlockAtHeight(m),g=s.state.doc.lineAt(b.from),Q=O(g.from),S=Q.height>0?Math.min(Math.max((m-Q.top)/Q.height,0),1):0,x=Math.max(Q.top-m,0);return{position:Q.sourceStart+S*(Q.sourceEnd-Q.sourceStart),gap:x}},setScrollPosition:(m,b,g)=>new Promise(Q=>{let x=Math.max(a.scrollHeight-a.clientHeight,0)*Math.min(Math.max(Number(m)||0,0),1),v=null,$=Number.isFinite(g)?Math.max(g,0):0;if(Number.isFinite(b)&&b>=1){let A=Math.min(Math.floor(b),s.state.doc.lines);if(v=s.state.doc.line(A).from,v!=null){let _=O(v),W=(b-_.sourceStart)/(_.sourceEnd-_.sourceStart);x=u()+_.top+_.height*W-$,s.dispatch({effects:z.scrollIntoView(v,{y:"start"})})}}requestAnimationFrame(()=>{let A=Math.max(a.scrollHeight-a.clientHeight,0);if(v!=null){let _=O(v),W=(b-_.sourceStart)/(_.sourceEnd-_.sourceStart);x=u()+_.top+_.height*W-$}else x=A*Math.min(Math.max(Number(m)||0,0),1);a.scrollTop=Math.min(Math.max(x,0),A),l.dispatchEvent(new Event("scroll")),s.requestMeasure(),requestAnimationFrame(()=>{c=Number.isFinite(b)?b:null,h=Number.isFinite(b)?$:0,f=a.scrollTop,Q(!0)})})}),select:(m,b=m)=>{Ze.delete(s),s.dispatch({selection:{anchor:m,head:b},userEvent:"select.pointer"})},insert:m=>{let b=s.state.selection.main;s.state.facet(z.inputHandler).some(Q=>Q(s,b.from,b.to,m))||s.dispatch({changes:{from:b.from,to:b.to,insert:m},selection:{anchor:b.from+m.length},userEvent:"input"})},exec:m=>{let b=p[m];if(!b)return!1;if(Ze.has(s)){if(!NP.has(m))return!1;let g=vo(s);return g?(b(s),$o(s,g),!0):!1}return b(s),s.focus(),!0},performTableContextAction:(m,b)=>{if(!Lr||Lr.token!==m)return!1;let g=Lr;return Lr=null,g.perform(b),!0},destroy:()=>{s.destroy()}}}};})(); diff --git a/scripts/editor-bundle/entry-cm.js b/scripts/editor-bundle/entry-cm.js index 2efa3f4e..472b29ed 100644 --- a/scripts/editor-bundle/entry-cm.js +++ b/scripts/editor-bundle/entry-cm.js @@ -1226,7 +1226,7 @@ class TaskCheckboxWidget extends WidgetType { insert: checkbox.checked ? 'x' : ' ' }, userEvent: 'input' }) view.focus() }) - wrapper.append(checkbox) + wrapper.append(checkbox, document.createTextNode(" ")) return wrapper } ignoreEvent() { return true } @@ -1375,6 +1375,7 @@ const quoteLine = (depth, starts, ends, gap) => { // hanging indent, and the source indentation is hidden like a nested // marker's. const listContinuationLine = Decoration.line({ class: "cm-md-list-continuation" }) +const taskLine = Decoration.line({ class: "cm-md-task-line" }) const completedTaskLine = Decoration.line({ class: "cm-md-task-completed" }) const codeLine = Decoration.line({ class: "cm-md-codeblock" }) const codeLineFirst = Decoration.line({ class: "cm-md-codeblock cm-md-codeblock-first" }) @@ -1796,6 +1797,7 @@ function buildDecorations(view, detectedCodeCache) { && /^\s*\[[ xX]\](\s|$)/.test(line.text.slice(markerTo - line.from)) if (isTask) { const task = line.text.slice(markerTo - line.from).match(/^[ \t]*\[([ xX])\][ \t]?/) + lineOnce(line.from, taskLine) if (task[1] !== ' ') lineOnce(line.from, completedTaskLine) const bracket = markerTo + task[0].indexOf('[') ranges.push(Decoration.replace({ widget: new TaskCheckboxWidget(bracket + 1, task[1] !== ' ') }) @@ -2216,6 +2218,7 @@ function buildDecorations(view, detectedCodeCache) { const line = state.doc.lineAt(node.from) const isTask = /^\s*\[[ xX]\](\s|$)/.test(line.text.slice(node.to - line.from)) if (isTask && /^[-+*]$/.test(mark)) { + lineOnce(line.from, taskLine) const task = line.text.slice(node.to - line.from).match(/^[ \t]*\[([ xX])\][ \t]?/) const bracket = node.to + task[0].indexOf('[') ranges.push(Decoration.replace({ widget: new TaskCheckboxWidget(bracket + 1, task[1] !== ' ') }) diff --git a/tests/swift-tests/Tests/MarkdownHelpersTests/EditorScrollAnchorTests.swift b/tests/swift-tests/Tests/MarkdownHelpersTests/EditorScrollAnchorTests.swift index 1a8e702d..2b274d43 100644 --- a/tests/swift-tests/Tests/MarkdownHelpersTests/EditorScrollAnchorTests.swift +++ b/tests/swift-tests/Tests/MarkdownHelpersTests/EditorScrollAnchorTests.swift @@ -4,6 +4,43 @@ import XCTest @MainActor final class EditorScrollAnchorTests: XCTestCase { + func testTaskCheckboxGeometryMatchesReadMode() async throws { + let script = try TestVendor.script("md-preview/Vendor/CodeMirror/mdedit.min.js") + let source = "Outside the task list\n\n- [x] Independent task\n- [ ] Testing" + var measurements: [[Double]] = [] + for isEditor in [false, true] { + let html = isEditor ? EditorHTML.render(markdown: source, editorJavaScript: script) + : MarkdownHTML.render(markdown: source, allowsScroll: true).html + let harness = WebViewLayoutHarness(html: html, width: 650, isEditor: isEditor, height: 400) + defer { harness.close() } + _ = try await harness.layout(texts: [], imageCount: 0) + let result = try await harness.webView.callAsyncJavaScript(""" + const rect = label => { + const walker = document.createTreeWalker(document.body, NodeFilter.SHOW_TEXT); + while (walker.nextNode()) { + const offset = walker.currentNode.textContent.indexOf(label); + if (offset < 0 || walker.currentNode.parentElement.closest('script, style')) continue; + const range = document.createRange(); + range.setStart(walker.currentNode, offset); range.setEnd(walker.currentNode, offset + 1); + return {bounds: range.getBoundingClientRect(), element: walker.currentNode.parentElement}; + } + throw new Error('Missing label'); + }; + const origin = rect('Outside the task list').bounds.left; + return ['Independent task', 'Testing'].flatMap(label => { + const text = rect(label); + const line = text.element.closest(isEditor ? '.cm-line' : 'li'); + const box = line.querySelector('input[type=checkbox]').getBoundingClientRect(); + return [text.bounds.left - box.right, box.left - origin, text.bounds.left - origin, box.width]; + }); + """, arguments: ["isEditor": isEditor], in: nil, contentWorld: .page) + measurements.append(try XCTUnwrap(result as? [Double])) + } + for index in measurements[0].indices { + XCTAssertEqual(measurements[0][index], measurements[1][index], accuracy: 1, "Geometry component \(index)") + } + } + func testDocumentControlsFollowThemeAccentInReaderAndEditor() async throws { let script = try TestVendor.script("md-preview/Vendor/CodeMirror/mdedit.min.js") let source = "Introduction\n\n- Bullet\n\n1. Number\n\n[Link](https://example.com)" From 5ac7cc1c2843dca3712226887e6c0535992d4d57 Mon Sep 17 00:00:00 2001 From: Fauzaan Date: Mon, 28 Sep 2026 12:20:08 +0000 Subject: [PATCH 07/16] Guard table formatting targets and verify native reader copying --- md-preview/Vendor/CodeMirror/mdedit.min.js | 46 ++++++------- scripts/editor-bundle/entry-cm.js | 30 +++++++-- .../EditorFormattingTests.swift | 67 +++++++++++++++++++ .../MdPreviewUpdateTests.swift | 33 ++++++--- 4 files changed, 140 insertions(+), 36 deletions(-) diff --git a/md-preview/Vendor/CodeMirror/mdedit.min.js b/md-preview/Vendor/CodeMirror/mdedit.min.js index eff5bbfa..cea20f60 100644 --- a/md-preview/Vendor/CodeMirror/mdedit.min.js +++ b/md-preview/Vendor/CodeMirror/mdedit.min.js @@ -1,20 +1,20 @@ -(()=>{var qo=[],Ih=[];(()=>{let i="lc,34,7n,7,7b,19,,,,2,,2,,,20,b,1c,l,g,,2t,7,2,6,2,2,,4,z,,u,r,2j,b,1m,9,9,,o,4,,9,,3,,5,17,3,3b,f,,w,1j,,,,4,8,4,,3,7,a,2,t,,1m,,,,2,4,8,,9,,a,2,q,,2,2,1l,,4,2,4,2,2,3,3,,u,2,3,,b,2,1l,,4,5,,2,4,,k,2,m,6,,,1m,,,2,,4,8,,7,3,a,2,u,,1n,,,,c,,9,,14,,3,,1l,3,5,3,,4,7,2,b,2,t,,1m,,2,,2,,3,,5,2,7,2,b,2,s,2,1l,2,,,2,4,8,,9,,a,2,t,,20,,4,,2,3,,,8,,29,,2,7,c,8,2q,,2,9,b,6,22,2,r,,,,,,1j,e,,5,,2,5,b,,10,9,,2u,4,,6,,2,2,2,p,2,4,3,g,4,d,,2,2,6,,f,,jj,3,qa,3,t,3,t,2,u,2,1s,2,,7,8,,2,b,9,,19,3,3b,2,y,,3a,3,4,2,9,,6,3,63,2,2,,1m,,,7,,,,,2,8,6,a,2,,1c,h,1r,4,1c,7,,,5,,14,9,c,2,w,4,2,2,,3,1k,,,2,3,,,3,1m,8,2,2,48,3,,d,,7,4,,6,,3,2,5i,1m,,5,ek,,5f,x,2da,3,3x,,2o,w,fe,6,2x,2,n9w,4,,a,w,2,28,2,7k,,3,,4,,p,2,5,,47,2,q,i,d,,12,8,p,b,1a,3,1c,,2,4,2,2,13,,1v,6,2,2,2,2,c,,8,,1b,,1f,,,3,2,2,5,2,,,16,2,8,,6m,,2,,4,,fn4,,kh,g,g,g,a6,2,gt,,6a,,45,5,1ae,3,,2,5,4,14,3,4,,4l,2,fx,4,ar,2,49,b,4w,,1i,f,1k,3,1d,4,2,2,1x,3,10,5,,8,1q,,c,2,1g,9,a,4,2,,2n,3,2,,,2,6,,4g,,3,8,l,2,1l,2,,,,,m,,e,7,3,5,5f,8,2,3,,,n,,29,,2,6,,,2,,,2,,2,6j,,2,4,6,2,,2,r,2,2d,8,2,,,2,2y,,,,2,6,,,2t,3,2,4,,5,77,9,,2,6t,,a,2,,,4,,40,4,2,2,4,,w,a,14,6,2,4,8,,9,6,2,3,1a,d,,2,ba,7,,6,,,2a,m,2,7,,2,,2,3e,6,3,,,2,,7,,,20,2,3,,,,9n,2,f0b,5,1n,7,t4,,1r,4,29,,f5k,2,43q,,,3,4,5,8,8,2,7,u,4,44,3,1iz,1j,4,1e,8,,e,,m,5,,f,11s,7,,h,2,7,,2,,5,79,7,c5,4,15s,7,31,7,240,5,gx7k,2o,3k,6o".split(",").map(e=>e?parseInt(e,36):1);for(let e=0,t=0;e>1;if(i=Ih[n])e=n+1;else return!0;if(e==t)return!1}}function Vh(i){return i>=127462&&i<=127487}var Dh=8205;function Bh(i,e,t=!0,n=!0){return(t?Uh:i0)(i,e,n)}function Uh(i,e,t){if(e==i.length)return e;e&&Gh(i.charCodeAt(e))&&Nh(i.charCodeAt(e-1))&&e--;let n=Zo(i,e);for(e+=Yh(n);e=0&&Vh(Zo(i,o));)s++,o-=2;if(s%2==0)break;e+=2}else break}return e}function i0(i,e,t){for(;e>1;){let n=Uh(i,e-2,t);if(n=56320&&i<57344}function Nh(i){return i>=55296&&i<56320}function Yh(i){return i<65536?1:2}var H=class i{lineAt(e){if(e<0||e>this.length)throw new RangeError(`Invalid position ${e} in document of length ${this.length}`);return this.lineInner(e,!1,1,0)}line(e){if(e<1||e>this.lines)throw new RangeError(`Invalid line number ${e} in ${this.lines}-line document`);return this.lineInner(e,!0,1,0)}replace(e,t,n){[e,t]=sn(this,e,t);let r=[];return this.decompose(0,e,r,2),n.length&&n.decompose(0,n.length,r,3),this.decompose(t,this.length,r,1),tn.from(r,this.length-(t-e)+n.length)}append(e){return this.replace(this.length,this.length,e)}slice(e,t=this.length){[e,t]=sn(this,e,t);let n=[];return this.decompose(e,t,n,0),tn.from(n,t-e)}eq(e){if(e==this)return!0;if(e.length!=this.length||e.lines!=this.lines)return!1;let t=this.scanIdentical(e,1),n=this.length-this.scanIdentical(e,-1),r=new $i(this),s=new $i(e);for(let o=t,a=t;;){if(r.next(o),s.next(o),o=0,r.lineBreak!=s.lineBreak||r.done!=s.done||r.value!=s.value)return!1;if(a+=r.value.length,r.done||a>=n)return!0}}iter(e=1){return new $i(this,e)}iterRange(e,t=this.length){return new Ir(this,e,t)}iterLines(e,t){let n;if(e==null)n=this.iter();else{t==null&&(t=this.lines+1);let r=this.line(e).from;n=this.iterRange(r,Math.max(r,t==this.lines+1?this.length:t<=1?0:this.line(t-1).to))}return new Br(n)}toString(){return this.sliceString(0)}toJSON(){let e=[];return this.flatten(e),e}constructor(){}static of(e){if(e.length==0)throw new RangeError("A document must have at least one line");return e.length==1&&!e[0]?i.empty:e.length<=32?new Ne(e):tn.from(Ne.split(e,[]))}},Ne=class i extends H{constructor(e,t=n0(e)){super(),this.text=e,this.length=t}get lines(){return this.text.length}get children(){return null}lineInner(e,t,n,r){for(let s=0;;s++){let o=this.text[s],a=r+o.length;if((t?n:a)>=e)return new zo(r,a,n,o);r=a+1,n++}}decompose(e,t,n,r){let s=e<=0&&t>=this.length?this:new i(Fh(this.text,e,t),Math.min(t,this.length)-Math.max(0,e));if(r&1){let o=n.pop(),a=Yr(s.text,o.text.slice(),0,s.length);if(a.length<=32)n.push(new i(a,o.length+s.length));else{let l=a.length>>1;n.push(new i(a.slice(0,l)),new i(a.slice(l)))}}else n.push(s)}replace(e,t,n){if(!(n instanceof i))return super.replace(e,t,n);[e,t]=sn(this,e,t);let r=Yr(this.text,Yr(n.text,Fh(this.text,0,e)),t),s=this.length+n.length-(t-e);return r.length<=32?new i(r,s):tn.from(i.split(r,[]),s)}sliceString(e,t=this.length,n=` +(()=>{var Eo=[],Bh=[];(()=>{let i="lc,34,7n,7,7b,19,,,,2,,2,,,20,b,1c,l,g,,2t,7,2,6,2,2,,4,z,,u,r,2j,b,1m,9,9,,o,4,,9,,3,,5,17,3,3b,f,,w,1j,,,,4,8,4,,3,7,a,2,t,,1m,,,,2,4,8,,9,,a,2,q,,2,2,1l,,4,2,4,2,2,3,3,,u,2,3,,b,2,1l,,4,5,,2,4,,k,2,m,6,,,1m,,,2,,4,8,,7,3,a,2,u,,1n,,,,c,,9,,14,,3,,1l,3,5,3,,4,7,2,b,2,t,,1m,,2,,2,,3,,5,2,7,2,b,2,s,2,1l,2,,,2,4,8,,9,,a,2,t,,20,,4,,2,3,,,8,,29,,2,7,c,8,2q,,2,9,b,6,22,2,r,,,,,,1j,e,,5,,2,5,b,,10,9,,2u,4,,6,,2,2,2,p,2,4,3,g,4,d,,2,2,6,,f,,jj,3,qa,3,t,3,t,2,u,2,1s,2,,7,8,,2,b,9,,19,3,3b,2,y,,3a,3,4,2,9,,6,3,63,2,2,,1m,,,7,,,,,2,8,6,a,2,,1c,h,1r,4,1c,7,,,5,,14,9,c,2,w,4,2,2,,3,1k,,,2,3,,,3,1m,8,2,2,48,3,,d,,7,4,,6,,3,2,5i,1m,,5,ek,,5f,x,2da,3,3x,,2o,w,fe,6,2x,2,n9w,4,,a,w,2,28,2,7k,,3,,4,,p,2,5,,47,2,q,i,d,,12,8,p,b,1a,3,1c,,2,4,2,2,13,,1v,6,2,2,2,2,c,,8,,1b,,1f,,,3,2,2,5,2,,,16,2,8,,6m,,2,,4,,fn4,,kh,g,g,g,a6,2,gt,,6a,,45,5,1ae,3,,2,5,4,14,3,4,,4l,2,fx,4,ar,2,49,b,4w,,1i,f,1k,3,1d,4,2,2,1x,3,10,5,,8,1q,,c,2,1g,9,a,4,2,,2n,3,2,,,2,6,,4g,,3,8,l,2,1l,2,,,,,m,,e,7,3,5,5f,8,2,3,,,n,,29,,2,6,,,2,,,2,,2,6j,,2,4,6,2,,2,r,2,2d,8,2,,,2,2y,,,,2,6,,,2t,3,2,4,,5,77,9,,2,6t,,a,2,,,4,,40,4,2,2,4,,w,a,14,6,2,4,8,,9,6,2,3,1a,d,,2,ba,7,,6,,,2a,m,2,7,,2,,2,3e,6,3,,,2,,7,,,20,2,3,,,,9n,2,f0b,5,1n,7,t4,,1r,4,29,,f5k,2,43q,,,3,4,5,8,8,2,7,u,4,44,3,1iz,1j,4,1e,8,,e,,m,5,,f,11s,7,,h,2,7,,2,,5,79,7,c5,4,15s,7,31,7,240,5,gx7k,2o,3k,6o".split(",").map(e=>e?parseInt(e,36):1);for(let e=0,t=0;e>1;if(i=Bh[n])e=n+1;else return!0;if(e==t)return!1}}function Dh(i){return i>=127462&&i<=127487}var Yh=8205;function Uh(i,e,t=!0,n=!0){return(t?Gh:n0)(i,e,n)}function Gh(i,e,t){if(e==i.length)return e;e&&Nh(i.charCodeAt(e))&&Fh(i.charCodeAt(e-1))&&e--;let n=qo(i,e);for(e+=Ih(n);e=0&&Dh(qo(i,o));)s++,o-=2;if(s%2==0)break;e+=2}else break}return e}function n0(i,e,t){for(;e>1;){let n=Gh(i,e-2,t);if(n=56320&&i<57344}function Fh(i){return i>=55296&&i<56320}function Ih(i){return i<65536?1:2}var H=class i{lineAt(e){if(e<0||e>this.length)throw new RangeError(`Invalid position ${e} in document of length ${this.length}`);return this.lineInner(e,!1,1,0)}line(e){if(e<1||e>this.lines)throw new RangeError(`Invalid line number ${e} in ${this.lines}-line document`);return this.lineInner(e,!0,1,0)}replace(e,t,n){[e,t]=sn(this,e,t);let r=[];return this.decompose(0,e,r,2),n.length&&n.decompose(0,n.length,r,3),this.decompose(t,this.length,r,1),tn.from(r,this.length-(t-e)+n.length)}append(e){return this.replace(this.length,this.length,e)}slice(e,t=this.length){[e,t]=sn(this,e,t);let n=[];return this.decompose(e,t,n,0),tn.from(n,t-e)}eq(e){if(e==this)return!0;if(e.length!=this.length||e.lines!=this.lines)return!1;let t=this.scanIdentical(e,1),n=this.length-this.scanIdentical(e,-1),r=new $i(this),s=new $i(e);for(let o=t,a=t;;){if(r.next(o),s.next(o),o=0,r.lineBreak!=s.lineBreak||r.done!=s.done||r.value!=s.value)return!1;if(a+=r.value.length,r.done||a>=n)return!0}}iter(e=1){return new $i(this,e)}iterRange(e,t=this.length){return new Ir(this,e,t)}iterLines(e,t){let n;if(e==null)n=this.iter();else{t==null&&(t=this.lines+1);let r=this.line(e).from;n=this.iterRange(r,Math.max(r,t==this.lines+1?this.length:t<=1?0:this.line(t-1).to))}return new Br(n)}toString(){return this.sliceString(0)}toJSON(){let e=[];return this.flatten(e),e}constructor(){}static of(e){if(e.length==0)throw new RangeError("A document must have at least one line");return e.length==1&&!e[0]?i.empty:e.length<=32?new Ne(e):tn.from(Ne.split(e,[]))}},Ne=class i extends H{constructor(e,t=r0(e)){super(),this.text=e,this.length=t}get lines(){return this.text.length}get children(){return null}lineInner(e,t,n,r){for(let s=0;;s++){let o=this.text[s],a=r+o.length;if((t?n:a)>=e)return new Lo(r,a,n,o);r=a+1,n++}}decompose(e,t,n,r){let s=e<=0&&t>=this.length?this:new i(Hh(this.text,e,t),Math.min(t,this.length)-Math.max(0,e));if(r&1){let o=n.pop(),a=Yr(s.text,o.text.slice(),0,s.length);if(a.length<=32)n.push(new i(a,o.length+s.length));else{let l=a.length>>1;n.push(new i(a.slice(0,l)),new i(a.slice(l)))}}else n.push(s)}replace(e,t,n){if(!(n instanceof i))return super.replace(e,t,n);[e,t]=sn(this,e,t);let r=Yr(this.text,Yr(n.text,Hh(this.text,0,e)),t),s=this.length+n.length-(t-e);return r.length<=32?new i(r,s):tn.from(i.split(r,[]),s)}sliceString(e,t=this.length,n=` `){[e,t]=sn(this,e,t);let r="";for(let s=0,o=0;s<=t&&oe&&o&&(r+=n),es&&(r+=a.slice(Math.max(0,e-s),t-s)),s=l+1}return r}flatten(e){for(let t of this.text)e.push(t)}scanIdentical(){return 0}static split(e,t){let n=[],r=-1;for(let s of e)n.push(s),r+=s.length+1,n.length==32&&(t.push(new i(n,r)),n=[],r=-1);return r>-1&&t.push(new i(n,r)),t}},tn=class i extends H{constructor(e,t){super(),this.children=e,this.length=t,this.lines=0;for(let n of e)this.lines+=n.lines}lineInner(e,t,n,r){for(let s=0;;s++){let o=this.children[s],a=r+o.length,l=n+o.lines-1;if((t?l:a)>=e)return o.lineInner(e,t,n,r);r=a+1,n=l+1}}decompose(e,t,n,r){for(let s=0,o=0;o<=t&&s=o){let c=r&((o<=e?1:0)|(l>=t?2:0));o>=e&&l<=t&&!c?n.push(a):a.decompose(e-o,t-o,n,c)}o=l+1}}replace(e,t,n){if([e,t]=sn(this,e,t),n.lines=s&&t<=a){let l=o.replace(e-s,t-s,n),c=this.lines-o.lines+l.lines;if(l.lines>4&&l.lines>c>>6){let h=this.children.slice();return h[r]=l,new i(h,this.length-(t-e)+n.length)}return super.replace(s,a,l)}s=a+1}return super.replace(e,t,n)}sliceString(e,t=this.length,n=` -`){[e,t]=sn(this,e,t);let r="";for(let s=0,o=0;se&&s&&(r+=n),eo&&(r+=a.sliceString(e-o,t-o,n)),o=l+1}return r}flatten(e){for(let t of this.children)t.flatten(e)}scanIdentical(e,t){if(!(e instanceof i))return 0;let n=0,[r,s,o,a]=t>0?[0,0,this.children.length,e.children.length]:[this.children.length-1,e.children.length-1,-1,-1];for(;;r+=t,s+=t){if(r==o||s==a)return n;let l=this.children[r],c=e.children[s];if(l!=c)return n+l.scanIdentical(c,t);n+=l.length+1}}static from(e,t=e.reduce((n,r)=>n+r.length+1,-1)){let n=0;for(let O of e)n+=O.lines;if(n<32){let O=[];for(let p of e)p.flatten(O);return new Ne(O,t)}let r=Math.max(32,n>>5),s=r<<1,o=r>>1,a=[],l=0,c=-1,h=[];function f(O){let p;if(O.lines>s&&O instanceof i)for(let m of O.children)f(m);else O.lines>o&&(l>o||!l)?(u(),a.push(O)):O instanceof Ne&&l&&(p=h[h.length-1])instanceof Ne&&O.lines+p.lines<=32?(l+=O.lines,c+=O.length+1,h[h.length-1]=new Ne(p.text.concat(O.text),p.length+1+O.length)):(l+O.lines>r&&u(),l+=O.lines,c+=O.length+1,h.push(O))}function u(){l!=0&&(a.push(h.length==1?h[0]:i.from(h,c)),c=-1,l=h.length=0)}for(let O of e)f(O);return u(),a.length==1?a[0]:new i(a,t)}};H.empty=new Ne([""],0);function n0(i){let e=-1;for(let t of i)e+=t.length+1;return e}function Yr(i,e,t=0,n=1e9){for(let r=0,s=0,o=!0;s=t&&(l>n&&(a=a.slice(0,n-r)),r0?1:(e instanceof Ne?e.text.length:e.children.length)<<1]}nextInner(e,t){for(this.done=this.lineBreak=!1;;){let n=this.nodes.length-1,r=this.nodes[n],s=this.offsets[n],o=s>>1,a=r instanceof Ne?r.text.length:r.children.length;if(o==(t>0?a:0)){if(n==0)return this.done=!0,this.value="",this;t>0&&this.offsets[n-1]++,this.nodes.pop(),this.offsets.pop()}else if((s&1)==(t>0?0:1)){if(this.offsets[n]+=t,e==0)return this.lineBreak=!0,this.value=` -`,this;e--}else if(r instanceof Ne){let l=r.text[o+(t<0?-1:0)];if(this.offsets[n]+=t,l.length>Math.max(0,e))return this.value=e==0?l:t>0?l.slice(e):l.slice(0,l.length-e),this;e-=l.length}else{let l=r.children[o+(t<0?-1:0)];e>l.length?(e-=l.length,this.offsets[n]+=t):(t<0&&this.offsets[n]--,this.nodes.push(l),this.offsets.push(t>0?1:(l instanceof Ne?l.text.length:l.children.length)<<1))}}}next(e=0){return e<0&&(this.nextInner(-e,-this.dir),e=this.value.length),this.nextInner(e,this.dir)}},Ir=class{constructor(e,t,n){this.value="",this.done=!1,this.cursor=new $i(e,t>n?-1:1),this.pos=t>n?e.length:0,this.from=Math.min(t,n),this.to=Math.max(t,n)}nextInner(e,t){if(t<0?this.pos<=this.from:this.pos>=this.to)return this.value="",this.done=!0,this;e+=Math.max(0,t<0?this.pos-this.to:this.from-this.pos);let n=t<0?this.pos-this.from:this.to-this.pos;e>n&&(e=n),n-=e;let{value:r}=this.cursor.next(e);return this.pos+=(r.length+e)*t,this.value=r.length<=n?r:t<0?r.slice(r.length-n):r.slice(0,n),this.done=!this.value,this}next(e=0){return e<0?e=Math.max(e,this.from-this.pos):e>0&&(e=Math.min(e,this.to-this.pos)),this.nextInner(e,this.cursor.dir)}get lineBreak(){return this.cursor.lineBreak&&this.value!=""}},Br=class{constructor(e){this.inner=e,this.afterBreak=!0,this.value="",this.done=!1}next(e=0){let{done:t,lineBreak:n,value:r}=this.inner.next(e);return t&&this.afterBreak?(this.value="",this.afterBreak=!1):t?(this.done=!0,this.value=""):n?this.afterBreak?this.value="":(this.afterBreak=!0,this.next()):(this.value=r,this.afterBreak=!1),this}get lineBreak(){return!1}};typeof Symbol<"u"&&(H.prototype[Symbol.iterator]=function(){return this.iter()},$i.prototype[Symbol.iterator]=Ir.prototype[Symbol.iterator]=Br.prototype[Symbol.iterator]=function(){return this});var zo=class{constructor(e,t,n,r){this.from=e,this.to=t,this.number=n,this.text=r}get length(){return this.to-this.from}};function sn(i,e,t){return e=Math.max(0,Math.min(i.length,e)),[e,Math.max(e,Math.min(i.length,t))]}function ke(i,e,t=!0,n=!0){return Bh(i,e,t,n)}function r0(i){return i>=56320&&i<57344}function s0(i){return i>=55296&&i<56320}function ni(i,e){let t=i.charCodeAt(e);if(!s0(t)||e+1==i.length)return t;let n=i.charCodeAt(e+1);return r0(n)?(t-55296<<10)+(n-56320)+65536:t}function tf(i){return i<=65535?String.fromCharCode(i):(i-=65536,String.fromCharCode((i>>10)+55296,(i&1023)+56320))}function on(i){return i<65536?1:2}var Lo=/\r\n?|\n/,me=(function(i){return i[i.Simple=0]="Simple",i[i.TrackDel=1]="TrackDel",i[i.TrackBefore=2]="TrackBefore",i[i.TrackAfter=3]="TrackAfter",i})(me||(me={})),qt=class i{constructor(e){this.sections=e}get length(){let e=0;for(let t=0;te)return s+(e-r);s+=a}else{if(n!=me.Simple&&c>=e&&(n==me.TrackDel&&re||n==me.TrackBefore&&re))return null;if(c>e||c==e&&t<0&&!a)return e==r||t<0?s:s+l;s+=l}r=c}if(e>r)throw new RangeError(`Position ${e} is out of range for changeset of length ${r}`);return s}touchesRange(e,t=e){for(let n=0,r=0;n=0&&r<=t&&a>=e)return rt?"cover":!0;r=a}return!1}toString(){let e="";for(let t=0;t=0?":"+r:"")}return e}toJSON(){return this.sections}static fromJSON(e){if(!Array.isArray(e)||e.length%2||e.some(t=>typeof t!="number"))throw new RangeError("Invalid JSON representation of ChangeDesc");return new i(e)}static create(e){return new i(e)}},ze=class i extends qt{constructor(e,t){super(e),this.inserted=t}apply(e){if(this.length!=e.length)throw new RangeError("Applying change set to a document with the wrong length");return Mo(this,(t,n,r,s,o)=>e=e.replace(r,r+(n-t),o),!1),e}mapDesc(e,t=!1){return Wo(this,e,t,!0)}invert(e){let t=this.sections.slice(),n=[];for(let r=0,s=0;r=0){t[r]=a,t[r+1]=o;let l=r>>1;for(;n.length0&&ii(n,t,s.text),s.forward(h),a+=h}let c=e[o++];for(;a>1].toJSON()))}return e}static of(e,t,n){let r=[],s=[],o=0,a=null;function l(h=!1){if(!h&&!r.length)return;ou||f<0||u>t)throw new RangeError(`Invalid change range ${f} to ${u} (in doc of length ${t})`);let p=O?typeof O=="string"?H.of(O.split(n||Lo)):O:H.empty,m=p.length;if(f==u&&m==0)return;fo&&Xe(r,f-o,-1),Xe(r,u-f,m),ii(s,r,p),o=u}}return c(e),l(!a),a}static empty(e){return new i(e?[e,-1]:[],[])}static fromJSON(e){if(!Array.isArray(e))throw new RangeError("Invalid JSON representation of ChangeSet");let t=[],n=[];for(let r=0;ra&&typeof o!="string"))throw new RangeError("Invalid JSON representation of ChangeSet");if(s.length==1)t.push(s[0],0);else{for(;n.length=0&&t<=0&&t==i[r+1]?i[r]+=e:r>=0&&e==0&&i[r]==0?i[r+1]+=t:n?(i[r]+=e,i[r+1]+=t):i.push(e,t)}function ii(i,e,t){if(t.length==0)return;let n=e.length-2>>1;if(n>1])),!(t||o==i.sections.length||i.sections[o+1]<0);)a=i.sections[o++],l=i.sections[o++];e(r,c,s,h,f),r=c,s=h}}}function Wo(i,e,t,n=!1){let r=[],s=n?[]:null,o=new Ti(i),a=new Ti(e);for(let l=-1;;){if(o.done&&a.len||a.done&&o.len)throw new Error("Mismatched change set lengths");if(o.ins==-1&&a.ins==-1){let c=Math.min(o.len,a.len);Xe(r,c,-1),o.forward(c),a.forward(c)}else if(a.ins>=0&&(o.ins<0||l==o.i||o.off==0&&(a.len=0&&l=0){let c=0,h=o.len;for(;h;)if(a.ins==-1){let f=Math.min(h,a.len);c+=f,h-=f,a.forward(f)}else if(a.ins==0&&a.lenl||o.ins>=0&&o.len>l)&&(a||n.length>c),s.forward2(l),o.forward(l)}}}}var Ti=class{constructor(e){this.set=e,this.i=0,this.next()}next(){let{sections:e}=this.set;this.i>1;return t>=e.length?H.empty:e[t]}textBit(e){let{inserted:t}=this.set,n=this.i-2>>1;return n>=t.length&&!e?H.empty:t[n].slice(this.off,e==null?void 0:this.off+e)}forward(e){e==this.len?this.next():(this.len-=e,this.off+=e)}forward2(e){this.ins==-1?this.forward(e):e==this.ins?this.next():(this.ins-=e,this.off+=e)}},wi=class i{constructor(e,t,n,r){this.from=e,this.to=t,this.flags=n,this.goalColumn=r}get anchor(){return this.flags&32?this.to:this.from}get head(){return this.flags&32?this.from:this.to}get empty(){return this.from==this.to}get assoc(){return this.flags&8?-1:this.flags&16?1:0}get undirectional(){return(this.flags&64)>0}get bidiLevel(){let e=this.flags&7;return e==7?null:e}map(e,t=-1){let n,r;return this.empty?n=r=e.mapPos(this.from,t):(n=e.mapPos(this.from,1),r=e.mapPos(this.to,-1)),n==this.from&&r==this.to?this:new i(n,r,this.flags,this.goalColumn)}extend(e,t=e,n=0){if(e<=this.anchor&&t>=this.anchor)return v.range(e,t,void 0,void 0,n);let r=Math.abs(e-this.anchor)>Math.abs(t-this.anchor)?e:t;return v.range(this.anchor,r,void 0,void 0,n)}eq(e,t=!1){return this.anchor==e.anchor&&this.head==e.head&&this.goalColumn==e.goalColumn&&(!t||!this.empty||this.assoc==e.assoc)}toJSON(){return{anchor:this.anchor,head:this.head}}static fromJSON(e){if(!e||typeof e.anchor!="number"||typeof e.head!="number")throw new RangeError("Invalid JSON representation for SelectionRange");return v.range(e.anchor,e.head)}static create(e,t,n,r){return new i(e,t,n,r)}},v=class i{constructor(e,t){this.ranges=e,this.mainIndex=t}map(e,t=-1){return e.empty?this:i.create(this.ranges.map(n=>n.map(e,t)),this.mainIndex)}eq(e,t=!1){if(this.ranges.length!=e.ranges.length||this.mainIndex!=e.mainIndex)return!1;for(let n=0;ne.toJSON()),main:this.mainIndex}}static fromJSON(e){if(!e||!Array.isArray(e.ranges)||typeof e.main!="number"||e.main>=e.ranges.length)throw new RangeError("Invalid JSON representation for EditorSelection");return new i(e.ranges.map(t=>wi.fromJSON(t)),e.main)}static single(e,t=e){return new i([i.range(e,t)],0)}static create(e,t=0){if(e.length==0)throw new RangeError("A selection needs at least one range");for(let n=0,r=0;rr.from-s.from),t=e.indexOf(n);for(let r=1;rs.head?i.range(l,a):i.range(a,l))}}return new i(e,t)}};function rf(i,e){for(let t of i.ranges)if(t.to>e)throw new RangeError("Selection points outside of document")}var Fo=0,Y=class i{constructor(e,t,n,r,s){this.combine=e,this.compareInput=t,this.compare=n,this.isStatic=r,this.id=Fo++,this.default=e([]),this.extensions=typeof s=="function"?s(this):s}get reader(){return this}static define(e={}){return new i(e.combine||(t=>t),e.compareInput||((t,n)=>t===n),e.compare||(e.combine?(t,n)=>t===n:Ho),!!e.static,e.enables)}of(e){return new nn([],this,0,e)}compute(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new nn(e,this,1,t)}computeN(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new nn(e,this,2,t)}from(e,t){return t||(t=n=>n),this.compute([e],n=>t(n.field(e)))}};function Ho(i,e){return i==e||i.length==e.length&&i.every((t,n)=>t===e[n])}var nn=class{constructor(e,t,n,r){this.dependencies=e,this.facet=t,this.type=n,this.value=r,this.id=Fo++}dynamicSlot(e){var t;let n=this.value,r=this.facet.compareInput,s=this.id,o=e[s]>>1,a=this.type==2,l=!1,c=!1,h=[];for(let f of this.dependencies)f=="doc"?l=!0:f=="selection"?c=!0:(((t=e[f.id])!==null&&t!==void 0?t:1)&1)==0&&h.push(e[f.id]);return{create(f){return f.values[o]=n(f),1},update(f,u){if(l&&u.docChanged||c&&(u.docChanged||u.selection)||jo(f,h)){let O=n(f);if(a?!Hh(O,f.values[o],r):!r(O,f.values[o]))return f.values[o]=O,1}return 0},reconfigure:(f,u)=>{let O,p=u.config.address[s];if(p!=null){let m=Fr(u,p);if(this.dependencies.every(b=>b instanceof Y?u.facet(b)===f.facet(b):b instanceof he?u.field(b,!1)==f.field(b,!1):!0)||(a?Hh(O=n(f),m,r):r(O=n(f),m)))return f.values[o]=m,0}else O=n(f);return f.values[o]=O,1}}}get extension(){return this}};function Hh(i,e,t){if(i.length!=e.length)return!1;for(let n=0;ni[l.id]),r=t.map(l=>l.type),s=n.filter(l=>!(l&1)),o=i[e.id]>>1;function a(l){let c=[];for(let h=0;hn===r),e);return e.provide&&(t.provides=e.provide(t)),t}create(e){let t=e.facet(jr).find(n=>n.field==this);return(t?.create||this.createF)(e)}slot(e){let t=e[this.id]>>1;return{create:n=>(n.values[t]=this.create(n),1),update:(n,r)=>{let s=n.values[t],o=this.updateF(s,r);return this.compareF(s,o)?0:(n.values[t]=o,1)},reconfigure:(n,r)=>{let s=n.facet(jr),o=r.facet(jr),a;return(a=s.find(l=>l.field==this))&&a!=o.find(l=>l.field==this)?(n.values[t]=a.create(n),1):r.config.address[this.id]!=null?(n.values[t]=r.field(this),0):(n.values[t]=this.create(n),1)}}}init(e){return[this,jr.of({field:this,create:e})]}get extension(){return this}},Pi={lowest:4,low:3,default:2,high:1,highest:0};function Mn(i){return e=>new Ur(e,i)}var pt={highest:Mn(Pi.highest),high:Mn(Pi.high),default:Mn(Pi.default),low:Mn(Pi.low),lowest:Mn(Pi.lowest)},Ur=class{constructor(e,t){this.inner=e,this.prec=t}get extension(){return this}},Gr=class i{of(e){return new jn(this,e)}reconfigure(e){return i.reconfigure.of({compartment:this,extension:e})}get(e){return e.config.compartments.get(this)}},jn=class{constructor(e,t){this.compartment=e,this.inner=t}get extension(){return this}},Nr=class i{constructor(e,t,n,r,s,o){for(this.base=e,this.compartments=t,this.dynamicSlots=n,this.address=r,this.staticValues=s,this.facets=o,this.statusTemplate=[];this.statusTemplate.length>1]}static resolve(e,t,n){let r=[],s=Object.create(null),o=new Map;for(let u of a0(e,t,o))u instanceof he?r.push(u):(s[u.facet.id]||(s[u.facet.id]=[])).push(u);let a=Object.create(null),l=[],c=[];for(let u of r)a[u.id]=c.length<<1,c.push(O=>u.slot(O));let h=n?.config.facets;for(let u in s){let O=s[u],p=O[0].facet,m=h&&h[u]||[];if(O.every(b=>b.type==0))if(a[p.id]=l.length<<1|1,Ho(m,O))l.push(n.facet(p));else{let b=p.combine(O.map(g=>g.value));l.push(n&&p.compare(b,n.facet(p))?n.facet(p):b)}else{for(let b of O)b.type==0?(a[b.id]=l.length<<1|1,l.push(b.value)):(a[b.id]=c.length<<1,c.push(g=>b.dynamicSlot(g)));a[p.id]=c.length<<1,c.push(b=>o0(b,p,O))}}let f=c.map(u=>u(a));return new i(e,o,f,a,l,s)}};function a0(i,e,t){let n=[[],[],[],[],[]],r=new Map;function s(o,a){let l=r.get(o);if(l!=null){if(l<=a)return;let c=n[l].indexOf(o);c>-1&&n[l].splice(c,1),o instanceof jn&&t.delete(o.compartment)}if(r.set(o,a),Array.isArray(o))for(let c of o)s(c,a);else if(o instanceof jn){if(t.has(o.compartment))throw new RangeError("Duplicate use of compartment in extensions");let c=e.get(o.compartment)||o.inner;t.set(o.compartment,c),s(c,a)}else if(o instanceof Ur)s(o.inner,o.prec);else if(o instanceof he)n[a].push(o),o.provides&&s(o.provides,a);else if(o instanceof nn)n[a].push(o),o.facet.extensions&&s(o.facet.extensions,Pi.default);else{let c=o.extension;if(!c)throw new Error(`Unrecognized extension value in extension set (${o}).`);if(c==o)throw new Error(`Unrecognized extension value in extension set (${o}). This sometimes happens because multiple instances of @codemirror/state are loaded, breaking instanceof checks.`);s(c,a)}}return s(i,Pi.default),n.reduce((o,a)=>o.concat(a))}function Wn(i,e){if(e&1)return 2;let t=e>>1,n=i.status[t];if(n==4)throw new Error("Cyclic dependency between fields and/or facets");if(n&2)return n;i.status[t]=4;let r=i.computeSlot(i,i.config.dynamicSlots[t]);return i.status[t]=2|r}function Fr(i,e){return e&1?i.config.staticValues[e>>1]:i.values[e>>1]}var sf=Y.define(),Vo=Y.define({combine:i=>i.some(e=>e),static:!0}),of=Y.define({combine:i=>i.length?i[0]:void 0,static:!0}),af=Y.define(),lf=Y.define(),cf=Y.define(),hf=Y.define({combine:i=>i.length?i[0]:!1}),_e=class{constructor(e,t){this.type=e,this.value=t}static define(){return new Do}},Do=class{of(e){return new _e(this,e)}},Yo=class{constructor(e){this.map=e}of(e){return new ie(this,e)}},ie=class i{constructor(e,t){this.type=e,this.value=t}map(e){let t=this.type.map(this.value,e);return t===void 0?void 0:t==this.value?this:new i(this.type,t)}is(e){return this.type==e}static define(e={}){return new Yo(e.map||(t=>t))}static mapEffects(e,t){if(!e.length)return e;let n=[];for(let r of e){let s=r.map(t);s&&n.push(s)}return n}};ie.reconfigure=ie.define();ie.appendConfig=ie.define();var de=class i{constructor(e,t,n,r,s,o){this.startState=e,this.changes=t,this.selection=n,this.effects=r,this.annotations=s,this.scrollIntoView=o,this._doc=null,this._state=null,n&&rf(n,t.newLength),s.some(a=>a.type==i.time)||(this.annotations=s.concat(i.time.of(Date.now())))}static create(e,t,n,r,s,o){return new i(e,t,n,r,s,o)}get newDoc(){return this._doc||(this._doc=this.changes.apply(this.startState.doc))}get newSelection(){return this.selection||this.startState.selection.map(this.changes)}get state(){return this._state||this.startState.applyTransaction(this),this._state}annotation(e){for(let t of this.annotations)if(t.type==e)return t.value}get docChanged(){return!this.changes.empty}get reconfigured(){return this.startState.config!=this.state.config}isUserEvent(e){let t=this.annotation(i.userEvent);return!!(t&&(t==e||t.length>e.length&&t.slice(0,e.length)==e&&t[e.length]=="."))}};de.time=_e.define();de.userEvent=_e.define();de.addToHistory=_e.define();de.remote=_e.define();function l0(i,e){let t=[];for(let n=0,r=0;;){let s,o;if(n=i[n]))s=i[n++],o=i[n++];else if(r=0;r--){let s=n[r](i);s instanceof de?i=s:Array.isArray(s)&&s.length==1&&s[0]instanceof de?i=s[0]:i=uf(e,rn(s),!1)}return i}function h0(i){let e=i.startState,t=e.facet(cf),n=i;for(let r=t.length-1;r>=0;r--){let s=t[r](i);s&&Object.keys(s).length&&(n=ff(n,Io(e,s,i.changes.newLength),!0))}return n==i?i:de.create(e,i.changes,i.selection,n.effects,n.annotations,n.scrollIntoView)}var f0=[];function rn(i){return i==null?f0:Array.isArray(i)?i:[i]}var Ee=(function(i){return i[i.Word=0]="Word",i[i.Space=1]="Space",i[i.Other=2]="Other",i})(Ee||(Ee={})),u0=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/,Bo;try{Bo=new RegExp("[\\p{Alphabetic}\\p{Number}_]","u")}catch{}function O0(i){if(Bo)return Bo.test(i);for(let e=0;e"\x80"&&(t.toUpperCase()!=t.toLowerCase()||u0.test(t)))return!0}return!1}function d0(i){return e=>{if(!/\S/.test(e))return Ee.Space;if(O0(e))return Ee.Word;for(let t=0;t-1)return Ee.Word;return Ee.Other}}var re=class i{constructor(e,t,n,r,s,o){this.config=e,this.doc=t,this.selection=n,this.values=r,this.status=e.statusTemplate.slice(),this.computeSlot=s,o&&(o._state=this);for(let a=0;ar.set(c,l)),t=null),r.set(a.value.compartment,a.value.extension)):a.is(ie.reconfigure)?(t=null,n=a.value):a.is(ie.appendConfig)&&(t=null,n=rn(n).concat(a.value));let s;t?s=e.startState.values.slice():(t=Nr.resolve(n,r,this),s=new i(t,this.doc,this.selection,t.dynamicSlots.map(()=>null),(l,c)=>c.reconfigure(l,this),null).values);let o=e.startState.facet(Vo)?e.newSelection:e.newSelection.asSingle();new i(t,e.newDoc,o,s,(a,l)=>l.update(a,e),e)}replaceSelection(e){return typeof e=="string"&&(e=this.toText(e)),this.changeByRange(t=>({changes:{from:t.from,to:t.to,insert:e},range:v.cursor(t.from+e.length)}))}changeByRange(e){let t=this.selection,n=e(t.ranges[0]),r=this.changes(n.changes),s=[n.range],o=rn(n.effects);for(let a=1;ao.spec.fromJSON(a,l)))}}return i.create({doc:e.doc,selection:v.fromJSON(e.selection),extensions:t.extensions?r.concat([t.extensions]):r})}static create(e={}){let t=Nr.resolve(e.extensions||[],new Map),n=e.doc instanceof H?e.doc:H.of((e.doc||"").split(t.staticFacet(i.lineSeparator)||Lo)),r=e.selection?e.selection instanceof v?e.selection:v.single(e.selection.anchor,e.selection.head):v.single(0);return rf(r,n.length),t.staticFacet(Vo)||(r=r.asSingle()),new i(t,n,r,t.dynamicSlots.map(()=>null),(s,o)=>o.create(s),null)}get tabSize(){return this.facet(i.tabSize)}get lineBreak(){return this.facet(i.lineSeparator)||` -`}get readOnly(){return this.facet(hf)}phrase(e,...t){for(let n of this.facet(i.phrases))if(Object.prototype.hasOwnProperty.call(n,e)){e=n[e];break}return t.length&&(e=e.replace(/\$(\$|\d*)/g,(n,r)=>{if(r=="$")return"$";let s=+(r||1);return!s||s>t.length?n:t[s-1]})),e}languageDataAt(e,t,n=-1){let r=[];for(let s of this.facet(sf))for(let o of s(this,t,n))Object.prototype.hasOwnProperty.call(o,e)&&r.push(o[e]);return r}charCategorizer(e){let t=this.languageDataAt("wordChars",e);return d0(t.length?t[0]:"")}wordAt(e){let{text:t,from:n,length:r}=this.doc.lineAt(e),s=this.charCategorizer(e),o=e-n,a=e-n;for(;o>0;){let l=ke(t,o,!1);if(s(t.slice(l,o))!=Ee.Word)break;o=l}for(;ai.length?i[0]:4});re.lineSeparator=of;re.readOnly=hf;re.phrases=Y.define({compare(i,e){let t=Object.keys(i),n=Object.keys(e);return t.length==n.length&&t.every(r=>i[r]==e[r])}});re.languageData=sf;re.changeFilter=af;re.transactionFilter=lf;re.transactionExtender=cf;Gr.reconfigure=ie.define();function Yn(i,e,t={}){let n={};for(let r of i)for(let s of Object.keys(r)){let o=r[s],a=n[s];if(a===void 0)n[s]=o;else if(!(a===o||o===void 0))if(Object.hasOwnProperty.call(t,s))n[s]=t[s](a,o);else throw new Error("Config merge conflict for field "+s)}for(let r in e)n[r]===void 0&&(n[r]=e[r]);return n}var it=class{eq(e){return this==e}range(e,t=e){return Vn.create(e,t,this)}};it.prototype.startSide=it.prototype.endSide=0;it.prototype.point=!1;it.prototype.mapMode=me.TrackDel;function Ko(i,e){return i==e||i.constructor==e.constructor&&i.eq(e)}var Vn=class i{constructor(e,t,n){this.from=e,this.to=t,this.value=n}static create(e,t,n){return new i(e,t,n)}};function Uo(i,e){return i.from-e.from||i.value.startSide-e.value.startSide}var Go=class i{constructor(e,t,n,r){this.from=e,this.to=t,this.value=n,this.maxPoint=r}get length(){return this.to[this.to.length-1]}findIndex(e,t,n,r=0){let s=n?this.to:this.from;for(let o=r,a=s.length;;){if(o==a)return o;let l=o+a>>1,c=s[l]-e||(n?this.value[l].endSide:this.value[l].startSide)-t;if(l==o)return c>=0?o:a;c>=0?a=l:o=l+1}}between(e,t,n,r){for(let s=this.findIndex(t,-1e9,!0),o=this.findIndex(n,1e9,!1,s);sO||u==O&&c.startSide>0&&c.endSide<=0)continue;(O-u||c.endSide-c.startSide)<0||(o<0&&(o=u),c.point&&(a=Math.max(a,O-u)),n.push(c),r.push(u-o),s.push(O-o))}return{mapped:n.length?new i(r,s,n,a):null,pos:o}}},oe=class i{constructor(e,t,n,r){this.chunkPos=e,this.chunk=t,this.nextLayer=n,this.maxPoint=r}static create(e,t,n,r){return new i(e,t,n,r)}get length(){let e=this.chunk.length-1;return e<0?0:Math.max(this.chunkEnd(e),this.nextLayer.length)}get size(){if(this.isEmpty)return 0;let e=this.nextLayer.size;for(let t of this.chunk)e+=t.value.length;return e}chunkEnd(e){return this.chunkPos[e]+this.chunk[e].length}update(e){let{add:t=[],sort:n=!1,filterFrom:r=0,filterTo:s=this.length}=e,o=e.filter;if(t.length==0&&!o)return this;if(n&&(t=t.slice().sort(Uo)),this.isEmpty)return t.length?i.of(t):this;let a=new Hr(this,null,-1).goto(0),l=0,c=[],h=new Ci;for(;a.value||l=0){let f=t[l++];h.addInner(f.from,f.to,f.value)||c.push(f)}else a.rangeIndex==1&&a.chunkIndexthis.chunkEnd(a.chunkIndex)||sa.to||s=s&&e<=s+o.length&&o.between(s,e-s,t-s,n)===!1)return}this.nextLayer.between(e,t,n)}}iter(e=0){return Dn.from([this]).goto(e)}get isEmpty(){return this.nextLayer==this}static iter(e,t=0){return Dn.from(e).goto(t)}static compare(e,t,n,r,s=-1){let o=e.filter(f=>f.maxPoint>0||!f.isEmpty&&f.maxPoint>=s),a=t.filter(f=>f.maxPoint>0||!f.isEmpty&&f.maxPoint>=s),l=Kh(o,a,n),c=new vi(o,l,s),h=new vi(a,l,s);n.iterGaps((f,u,O)=>Jh(c,f,h,u,O,r)),n.empty&&n.length==0&&Jh(c,0,h,0,0,r)}static eq(e,t,n=0,r){r==null&&(r=999999999);let s=e.filter(h=>!h.isEmpty&&t.indexOf(h)<0),o=t.filter(h=>!h.isEmpty&&e.indexOf(h)<0);if(s.length!=o.length)return!1;if(!s.length)return!0;let a=Kh(s,o),l=new vi(s,a,0).goto(n),c=new vi(o,a,0).goto(n);for(;;){if(l.to!=c.to||!No(l.active,c.active)||l.point&&(!c.point||!Ko(l.point,c.point)))return!1;if(l.to>r)return!0;l.next(),c.next()}}static spans(e,t,n,r,s=-1){let o=new vi(e,null,s).goto(t),a=t,l=o.openStart;for(;;){let c=Math.min(o.to,n);if(o.point){let h=o.activeForPoint(o.to),f=o.pointFroma&&(r.span(a,c,o.active,l),l=o.openEnd(c));if(o.to>n)return l+(o.point&&o.to>n?1:0);a=o.to,o.next()}}static of(e,t=!1){let n=new Ci;for(let r of e instanceof Vn?[e]:t?p0(e):e)n.add(r.from,r.to,r.value);return n.finish()}static join(e){if(!e.length)return i.empty;let t=e[e.length-1];for(let n=e.length-2;n>=0;n--)for(let r=e[n];r!=i.empty;r=r.nextLayer)t=new i(r.chunkPos,r.chunk,t,Math.max(r.maxPoint,t.maxPoint));return t}};oe.empty=new oe([],[],null,-1);function p0(i){if(i.length>1)for(let e=i[0],t=1;t0)return i.slice().sort(Uo);e=n}return i}oe.empty.nextLayer=oe.empty;var Ci=class i{finishChunk(e){this.chunks.push(new Go(this.from,this.to,this.value,this.maxPoint)),this.chunkPos.push(this.chunkStart),this.chunkStart=-1,this.setMaxPoint=Math.max(this.setMaxPoint,this.maxPoint),this.maxPoint=-1,e&&(this.from=[],this.to=[],this.value=[])}constructor(){this.chunks=[],this.chunkPos=[],this.chunkStart=-1,this.last=null,this.lastFrom=-1e9,this.lastTo=-1e9,this.from=[],this.to=[],this.value=[],this.maxPoint=-1,this.setMaxPoint=-1,this.nextLayer=null}add(e,t,n){this.addInner(e,t,n)||(this.nextLayer||(this.nextLayer=new i)).add(e,t,n)}addInner(e,t,n){let r=e-this.lastTo||n.startSide-this.last.endSide;if(r<=0&&(e-this.lastFrom||n.startSide-this.last.startSide)<0)throw new Error("Ranges must be added sorted by `from` position and `startSide`");return r<0?!1:(this.from.length==250&&this.finishChunk(!0),this.chunkStart<0&&(this.chunkStart=e),this.from.push(e-this.chunkStart),this.to.push(t-this.chunkStart),this.last=n,this.lastFrom=e,this.lastTo=t,this.value.push(n),n.point&&(this.maxPoint=Math.max(this.maxPoint,t-e)),!0)}addChunk(e,t){if((e-this.lastTo||t.value[0].startSide-this.last.endSide)<0)return!1;this.from.length&&this.finishChunk(!0),this.setMaxPoint=Math.max(this.setMaxPoint,t.maxPoint),this.chunks.push(t),this.chunkPos.push(e);let n=t.value.length-1;return this.last=t.value[n],this.lastFrom=t.from[n]+e,this.lastTo=t.to[n]+e,!0}finish(){return this.finishInner(oe.empty)}finishInner(e){if(this.from.length&&this.finishChunk(!1),this.chunks.length==0)return e;let t=oe.create(this.chunkPos,this.chunks,this.nextLayer?this.nextLayer.finishInner(e):e,this.setMaxPoint);return this.from=null,t}};function Kh(i,e,t){let n=new Map;for(let s of i)for(let o=0;o=this.minPoint)break}}setRangeIndex(e){if(e==this.layer.chunk[this.chunkIndex].value.length){if(this.chunkIndex++,this.skip)for(;this.chunkIndex=n&&r.push(new Hr(o,t,n,s));return r.length==1?r[0]:new i(r)}get startSide(){return this.value?this.value.startSide:0}goto(e,t=-1e9){for(let n of this.heap)n.goto(e,t);for(let n=this.heap.length>>1;n>=0;n--)Eo(this.heap,n);return this.next(),this}forward(e,t){for(let n of this.heap)n.forward(e,t);for(let n=this.heap.length>>1;n>=0;n--)Eo(this.heap,n);(this.to-e||this.value.endSide-t)<0&&this.next()}next(){if(this.heap.length==0)this.from=this.to=1e9,this.value=null,this.rank=-1;else{let e=this.heap[0];this.from=e.from,this.to=e.to,this.value=e.value,this.rank=e.rank,e.value&&e.next(),Eo(this.heap,0)}}};function Eo(i,e){for(let t=i[e];;){let n=(e<<1)+1;if(n>=i.length)break;let r=i[n];if(n+1=0&&(r=i[n+1],n++),t.compare(r)<0)break;i[n]=t,i[e]=r,e=n}}var vi=class{constructor(e,t,n){this.minPoint=n,this.active=[],this.activeTo=[],this.activeRank=[],this.minActive=-1,this.point=null,this.pointFrom=0,this.pointRank=0,this.to=-1e9,this.endSide=0,this.openStart=-1,this.cursor=Dn.from(e,t,n)}goto(e,t=-1e9){return this.cursor.goto(e,t),this.active.length=this.activeTo.length=this.activeRank.length=0,this.minActive=-1,this.to=e,this.endSide=t,this.openStart=-1,this.next(),this}forward(e,t){for(;this.minActive>-1&&(this.activeTo[this.minActive]-e||this.active[this.minActive].endSide-t)<0;)this.removeActive(this.minActive);this.cursor.forward(e,t)}removeActive(e){Vr(this.active,e),Vr(this.activeTo,e),Vr(this.activeRank,e),this.minActive=ef(this.active,this.activeTo)}addActive(e){let t=0,{value:n,to:r,rank:s}=this.cursor;for(;t0;)t++;Dr(this.active,t,n),Dr(this.activeTo,t,r),Dr(this.activeRank,t,s),e&&Dr(e,t,this.cursor.from),this.minActive=ef(this.active,this.activeTo)}next(){let e=this.to,t=this.point;this.point=null;let n=this.openStart<0?[]:null;for(;;){let r=this.minActive;if(r>-1&&(this.activeTo[r]-this.cursor.from||this.active[r].endSide-this.cursor.startSide)<0){if(this.activeTo[r]>e){this.to=this.activeTo[r],this.endSide=this.active[r].endSide;break}this.removeActive(r),n&&Vr(n,r)}else if(this.cursor.value)if(this.cursor.from>e){this.to=this.cursor.from,this.endSide=this.cursor.startSide;break}else{let s=this.cursor.value;if(!s.point)this.addActive(n),this.cursor.next();else if(t&&this.cursor.to==this.to&&this.cursor.from=0&&n[r]=0&&!(this.activeRank[n]e||this.activeTo[n]==e&&this.active[n].endSide>=this.point.endSide)&&t.push(this.active[n]);return t.reverse()}openEnd(e){let t=0;for(let n=this.activeTo.length-1;n>=0&&this.activeTo[n]>e;n--)t++;return t}};function Jh(i,e,t,n,r,s){i.goto(e),t.goto(n);let o=n+r,a=n,l=n-e,c=!!s.boundChange;for(let h=!1;;){let f=i.to+l-t.to,u=f||i.endSide-t.endSide,O=u<0?i.to+l:t.to,p=Math.min(O,o);if(i.point||t.point?(i.point&&t.point&&Ko(i.point,t.point)&&No(i.activeForPoint(i.to),t.activeForPoint(t.to))||s.comparePoint(a,p,i.point,t.point),h=!1):(h&&s.boundChange(a),p>a&&!No(i.active,t.active)&&s.compareRange(a,p,i.active,t.active),c&&po)break;a=O,u<=0&&i.next(),u>=0&&t.next()}}function No(i,e){if(i.length!=e.length)return!1;for(let t=0;t=e;n--)i[n+1]=i[n];i[e]=t}function ef(i,e){let t=-1,n=1e9;for(let r=0;r=e)return r;if(r==i.length)break;s+=i.charCodeAt(r)==9?t-s%t:1,r=ke(i,r)}return n===!0?-1:i.length}var df=typeof Symbol>"u"?"__\u037C":Symbol.for("\u037C"),Jo=typeof Symbol>"u"?"__styleSet"+Math.floor(Math.random()*1e8):Symbol("styleSet"),pf=typeof globalThis<"u"?globalThis:typeof window<"u"?window:{},nt=class{constructor(e,t){this.rules=[];let{finish:n}=t||{};function r(o){return/^@/.test(o)?[o]:o.split(/,\s*/)}function s(o,a,l,c){let h=[],f=/^@(\w+)\b/.exec(o[0]),u=f&&f[1]=="keyframes";if(f&&a==null)return l.push(o[0]+";");for(let O in a){let p=a[O];if(/&/.test(O))s(O.split(/,\s*/).map(m=>o.map(b=>m.replace(/&/,b))).reduce((m,b)=>m.concat(b)),p,l);else if(p&&typeof p=="object"){if(!f)throw new RangeError("The value of a property ("+O+") should be a primitive value.");s(r(O),p,h,u)}else p!=null&&h.push(O.replace(/_.*/,"").replace(/[A-Z]/g,m=>"-"+m.toLowerCase())+": "+p+";")}(h.length||u)&&l.push((n&&!f&&!c?o.map(n):o).join(", ")+" {"+h.join(" ")+"}")}for(let o in e)s(r(o),e[o],this.rules)}getRules(){return this.rules.join(` -`)}static newName(){let e=pf[df]||1;return pf[df]=e+1,"\u037C"+e.toString(36)}static mount(e,t,n){let r=e[Jo],s=n&&n.nonce;r?s&&r.setNonce(s):r=new ea(e,s),r.mount(Array.isArray(t)?t:[t],e)}},mf=new Map,ea=class{constructor(e,t){let n=e.ownerDocument||e,r=n.defaultView;if(!e.head&&e.adoptedStyleSheets&&r.CSSStyleSheet){let s=mf.get(n);if(s)return e[Jo]=s;this.sheet=new r.CSSStyleSheet,mf.set(n,this)}else this.styleTag=n.createElement("style"),t&&this.styleTag.setAttribute("nonce",t);this.modules=[],e[Jo]=this}mount(e,t){let n=this.sheet,r=0,s=0;for(let o=0;o-1&&(this.modules.splice(l,1),s--,l=-1),l==-1){if(this.modules.splice(s++,0,a),n)for(let c=0;c",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},m0=typeof navigator<"u"&&/Mac/.test(navigator.platform),g0=typeof navigator<"u"&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent);for(be=0;be<10;be++)Et[48+be]=Et[96+be]=String(be);var be;for(be=1;be<=24;be++)Et[be+111]="F"+be;var be;for(be=65;be<=90;be++)Et[be]=String.fromCharCode(be+32),an[be]=String.fromCharCode(be);var be;for(Kr in Et)an.hasOwnProperty(Kr)||(an[Kr]=Et[Kr]);var Kr;function gf(i){var e=m0&&i.metaKey&&i.shiftKey&&!i.ctrlKey&&!i.altKey||g0&&i.shiftKey&&i.key&&i.key.length==1||i.key=="Unidentified",t=!e&&i.key||(i.shiftKey?an:Et)[i.keyCode]||i.key||"Unidentified";return t=="Esc"&&(t="Escape"),t=="Del"&&(t="Delete"),t=="Left"&&(t="ArrowLeft"),t=="Up"&&(t="ArrowUp"),t=="Right"&&(t="ArrowRight"),t=="Down"&&(t="ArrowDown"),t}var Le=typeof navigator<"u"?navigator:{userAgent:"",vendor:"",platform:""},oa=typeof document<"u"?document:{documentElement:{style:{}}},aa=/Edge\/(\d+)/.exec(Le.userAgent),If=/MSIE \d/.test(Le.userAgent),la=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(Le.userAgent),Ss=!!(If||la||aa),Qf=!Ss&&/gecko\/(\d+)/i.test(Le.userAgent),ta=!Ss&&/Chrome\/(\d+)/.exec(Le.userAgent),bf="webkitFontSmoothing"in oa.documentElement.style,ca=!Ss&&/Apple Computer/.test(Le.vendor),Sf=ca&&(/Mobile\/\w+/.test(Le.userAgent)||Le.maxTouchPoints>2),L={mac:Sf||/Mac/.test(Le.platform),windows:/Win/.test(Le.platform),linux:/Linux|X11/.test(Le.platform),ie:Ss,ie_version:If?oa.documentMode||6:la?+la[1]:aa?+aa[1]:0,gecko:Qf,gecko_version:Qf?+(/Firefox\/(\d+)/.exec(Le.userAgent)||[0,0])[1]:0,chrome:!!ta,chrome_version:ta?+ta[1]:0,ios:Sf,android:/Android\b/.test(Le.userAgent),webkit:bf,webkit_version:bf?+(/\bAppleWebKit\/(\d+)/.exec(Le.userAgent)||[0,0])[1]:0,safari:ca,safari_version:ca?+(/\bVersion\/(\d+(\.\d+)?)/.exec(Le.userAgent)||[0,0])[1]:0,tabSize:oa.documentElement.style.tabSize!=null?"tab-size":"-moz-tab-size"};function Ya(i,e){for(let t in i)t=="class"&&e.class?e.class+=" "+i.class:t=="style"&&e.style?e.style+=";"+i.style:e[t]=i[t];return e}var ls=Object.create(null);function Ia(i,e,t){if(i==e)return!0;i||(i=ls),e||(e=ls);let n=Object.keys(i),r=Object.keys(e);if(n.length-(t&&n.indexOf(t)>-1?1:0)!=r.length-(t&&r.indexOf(t)>-1?1:0))return!1;for(let s of n)if(s!=t&&(r.indexOf(s)==-1||i[s]!==e[s]))return!1;return!0}function Q0(i,e){for(let t=i.attributes.length-1;t>=0;t--){let n=i.attributes[t].name;e[n]==null&&i.removeAttribute(n)}for(let t in e){let n=e[t];t=="style"?i.style.cssText=n:i.getAttribute(t)!=n&&i.setAttribute(t,n)}}function yf(i,e,t){let n=!1;if(e)for(let r in e)t&&r in t||(n=!0,r=="style"?i.style.cssText="":i.removeAttribute(r));if(t)for(let r in t)e&&e[r]==t[r]||(n=!0,r=="style"?i.style.cssText=t[r]:i.setAttribute(r,t[r]));return n}function b0(i){let e=Object.create(null);for(let t=0;t0?3e8:-4e8:t>0?1e8:-1e8,new Ri(e,t,t,n,e.widget||null,!1)}static replace(e){let t=!!e.block,n,r;if(e.isBlockGap)n=-5e8,r=4e8;else{let{start:s,end:o}=Bf(e,t);n=(s?t?-3e8:-1:5e8)-1,r=(o?t?2e8:1:-6e8)+1}return new Ri(e,n,r,t,e.widget||null,!0)}static line(e){return new ir(e)}static set(e,t=!1){return oe.of(e,t)}hasHeight(){return this.widget?this.widget.estimatedHeight>-1:!1}};Z.none=oe.empty;var tr=class i extends Z{constructor(e){let{start:t,end:n}=Bf(e);super(t?-1:5e8,n?1:-6e8,null,e),this.tagName=e.tagName||"span",this.attrs=e.class&&e.attributes?Ya(e.attributes,{class:e.class}):e.class?{class:e.class}:e.attributes||ls}eq(e){return this==e||e instanceof i&&this.tagName==e.tagName&&Ia(this.attrs,e.attrs)}range(e,t=e){if(e>=t)throw new RangeError("Mark decorations may not be empty");return super.range(e,t)}};tr.prototype.point=!1;var ir=class i extends Z{constructor(e){super(-2e8,-2e8,null,e)}eq(e){return e instanceof i&&this.spec.class==e.spec.class&&Ia(this.spec.attributes,e.spec.attributes)}range(e,t=e){if(t!=e)throw new RangeError("Line decoration ranges must be zero-length");return super.range(e,t)}};ir.prototype.mapMode=me.TrackBefore;ir.prototype.point=!0;var Ri=class i extends Z{constructor(e,t,n,r,s,o){super(t,n,s,e),this.block=r,this.isReplace=o,this.mapMode=r?t<=0?me.TrackBefore:me.TrackAfter:me.TrackDel}get type(){return this.startSide!=this.endSide?lt.WidgetRange:this.startSide<=0?lt.WidgetBefore:lt.WidgetAfter}get heightRelevant(){return this.block||!!this.widget&&(this.widget.estimatedHeight>=5||this.widget.lineBreaks>0)}eq(e){return e instanceof i&&S0(this.widget,e.widget)&&this.block==e.block&&this.startSide==e.startSide&&this.endSide==e.endSide}range(e,t=e){if(this.isReplace&&(e>t||e==t&&this.startSide>0&&this.endSide<=0))throw new RangeError("Invalid range for replacement decoration");if(!this.isReplace&&t!=e)throw new RangeError("Widget decorations can only have zero-length ranges");return super.range(e,t)}};Ri.prototype.point=!0;function Bf(i,e=!1){let{inclusiveStart:t,inclusiveEnd:n}=i;return t==null&&(t=i.inclusive),n==null&&(n=i.inclusive),{start:t??e,end:n??e}}function S0(i,e){return i==e||!!(i&&e&&i.compare(e))}function fn(i,e,t,n=0){let r=t.length-1;r>=0&&t[r]+n>=i?t[r]=Math.max(t[r],e):t.push(i,e)}var oi=class i extends it{constructor(e,t,n){super(),this.tagName=e,this.attributes=t,this.rank=n}eq(e){return e==this||e instanceof i&&this.tagName==e.tagName&&Ia(this.attributes,e.attributes)}static create(e){return new i(e.tagName,e.attributes||ls,e.rank==null?50:Math.max(0,Math.min(e.rank,100)))}static set(e,t=!1){return oe.of(e,t)}};oi.prototype.startSide=oi.prototype.endSide=-1;function nr(i){let e;return i.nodeType==11?e=i.getSelection?i:i.ownerDocument:e=i,e.getSelection()}function ha(i,e){return e?i==e||i.contains(e.nodeType!=1?e.parentNode:e):!1}function Gn(i,e){if(!e.anchorNode)return!1;try{return ha(i,e.anchorNode)}catch{return!1}}function os(i){return i.nodeType==3?rr(i,0,i.nodeValue.length).getClientRects():i.nodeType==1?i.getClientRects():[]}function Nn(i,e,t,n){return t?kf(i,e,t,n,-1)||kf(i,e,t,n,1):!1}function ai(i){for(var e=0;;e++)if(i=i.previousSibling,!i)return e}function cs(i){return i.nodeType==1&&/^(DIV|P|LI|UL|OL|BLOCKQUOTE|DD|DT|H\d|SECTION|PRE)$/.test(i.nodeName)}function kf(i,e,t,n,r){for(;;){if(i==t&&e==n)return!0;if(e==(r<0?0:Mt(i))){if(i.nodeName=="DIV")return!1;let s=i.parentNode;if(!s||s.nodeType!=1)return!1;e=ai(i)+(r<0?0:1),i=s}else if(i.nodeType==1){if(i=i.childNodes[e+(r<0?-1:0)],i.nodeType==1&&i.contentEditable=="false")return!1;e=r<0?Mt(i):0}else return!1}}function Mt(i){return i.nodeType==3?i.nodeValue.length:i.childNodes.length}function hs(i,e){let{left:t,right:n}=i;if(t==n)return i;let r=e?t:n;return{left:r,right:r,top:i.top,bottom:i.bottom}}function y0(i){let e=i.visualViewport;return e?{left:0,right:e.width,top:0,bottom:e.height}:{left:0,right:i.innerWidth,top:0,bottom:i.innerHeight}}function Uf(i,e){let t=e.width/i.offsetWidth,n=e.height/i.offsetHeight;return(t>.995&&t<1.005||!isFinite(t)||Math.abs(e.width-i.offsetWidth)<1)&&(t=1),(n>.995&&n<1.005||!isFinite(n)||Math.abs(e.height-i.offsetHeight)<1)&&(n=1),{scaleX:t,scaleY:n}}function k0(i,e,t,n,r,s,o,a){let l=i.ownerDocument,c=l.defaultView||window;for(let h=i,f=!1;h&&!f;)if(h.nodeType==1){let u,O=h==l.body,p=1,m=1;if(O)u=y0(c);else{if(/^(fixed|sticky)$/.test(getComputedStyle(h).position)&&(f=!0),h.scrollHeight<=h.clientHeight&&h.scrollWidth<=h.clientWidth){h=h.assignedSlot||h.parentNode;continue}let Q=h.getBoundingClientRect();({scaleX:p,scaleY:m}=Uf(h,Q)),u={left:Q.left,right:Q.left+h.clientWidth*p,top:Q.top,bottom:Q.top+h.clientHeight*m}}let b=0,g=0;if(r=="nearest")e.top0&&e.bottom>u.bottom+g&&(g=e.bottom-u.bottom+o)):e.bottom>u.bottom-o&&(g=e.bottom-u.bottom+o,t<0&&e.top-g0&&e.right>u.right+b&&(b=e.right-u.right+s)):e.right>u.right-s&&(b=e.right-u.right+s,t<0&&e.leftu.bottom||e.leftu.right)&&(e={left:Math.max(e.left,u.left),right:Math.min(e.right,u.right),top:Math.max(e.top,u.top),bottom:Math.min(e.bottom,u.bottom)}),h=h.assignedSlot||h.parentNode}else if(h.nodeType==11)h=h.host;else break}function Gf(i,e=!0){let t=i.ownerDocument,n=null,r=null;for(let s=i.parentNode;s&&!(s==t.body||(!e||n)&&r);)if(s.nodeType==1)!r&&s.scrollHeight>s.clientHeight&&(r=s),e&&!n&&s.scrollWidth>s.clientWidth&&(n=s),s=s.assignedSlot||s.parentNode;else if(s.nodeType==11)s=s.host;else break;return{x:n,y:r}}var fa=class{constructor(){this.anchorNode=null,this.anchorOffset=0,this.focusNode=null,this.focusOffset=0}eq(e){return this.anchorNode==e.anchorNode&&this.anchorOffset==e.anchorOffset&&this.focusNode==e.focusNode&&this.focusOffset==e.focusOffset}setRange(e){let{anchorNode:t,focusNode:n}=e;this.set(t,Math.min(e.anchorOffset,t?Mt(t):0),n,Math.min(e.focusOffset,n?Mt(n):0))}set(e,t,n,r){this.anchorNode=e,this.anchorOffset=t,this.focusNode=n,this.focusOffset=r}},Xi=null;L.safari&&L.safari_version>=26&&(Xi=!1);function Nf(i){if(i.setActive)return i.setActive();if(Xi)return i.focus(Xi);let e=[];for(let t=i;t&&(e.push(t,t.scrollTop,t.scrollLeft),t!=t.ownerDocument);t=t.parentNode);if(i.focus(Xi==null?{get preventScroll(){return Xi={preventScroll:!0},!0}}:void 0),!Xi){Xi=!1;for(let t=0;tMath.max(0,i.document.documentElement.scrollHeight-i.innerHeight-4):i.scrollTop>Math.max(1,i.scrollHeight-i.clientHeight-4)}function Hf(i,e){for(let t=i,n=e;;){if(t.nodeType==3&&n>0)return{node:t,offset:n};if(t.nodeType==1&&n>0){if(t.contentEditable=="false")return null;t=t.childNodes[n-1],n=Mt(t)}else if(t.parentNode&&!cs(t))n=ai(t),t=t.parentNode;else return null}}function Kf(i,e){for(let t=i,n=e;;){if(t.nodeType==3&&n=t){if(a.level==n)return o;(s<0||(r!=0?r<0?a.fromt:e[s].level>a.level))&&(s=o)}}if(s<0)throw new RangeError("Index out of range");return s}};function tu(i,e){if(i.length!=e.length)return!1;for(let t=0;t=0;m-=3)if($t[m+1]==-O){let b=$t[m+2],g=b&2?r:b&4?b&1?s:r:0;g&&(se[f]=se[$t[m]]=g),a=m;break}}else{if($t.length==189)break;$t[a++]=f,$t[a++]=u,$t[a++]=l}else if((p=se[f])==2||p==1){let m=p==r;l=m?0:1;for(let b=a-3;b>=0;b-=3){let g=$t[b+2];if(g&2)break;if(m)$t[b+2]|=2;else{if(g&4)break;$t[b+2]|=4}}}}}function X0(i,e,t,n){for(let r=0,s=n;r<=t.length;r++){let o=r?t[r-1].to:i,a=rl;)p==b&&(p=t[--m].from,b=m?t[m-1].to:i),se[--p]=O;l=h}else s=c,l++}}}function Oa(i,e,t,n,r,s,o){let a=n%2?2:1;if(n%2==r%2)for(let l=e,c=0;ll&&o.push(new ot(l,m.from,O));let b=m.direction==Ai!=!(O%2);da(i,b?n+1:n,r,m.inner,m.from,m.to,o),l=m.to}p=m.to}else{if(p==t||(h?se[p]!=a:se[p]==a))break;p++}u?Oa(i,l,p,n+1,r,u,o):le;){let h=!0,f=!1;if(!c||l>s[c-1].to){let m=se[l-1];m!=a&&(h=!1,f=m==16)}let u=!h&&a==1?[]:null,O=h?n:n+1,p=l;e:for(;;)if(c&&p==s[c-1].to){if(f)break e;let m=s[--c];if(!h)for(let b=m.from,g=c;;){if(b==e)break e;if(g&&s[g-1].to==b)b=s[--g].from;else{if(se[b-1]==a)break e;break}}if(u)u.push(m);else{m.tose.length;)se[se.length]=256;let n=[],r=e==Ai?0:1;return da(i,r,r,t,0,i.length,n),n}function iu(i){return[new ot(0,i,0)]}var nu="";function R0(i,e,t,n,r){var s;let o=n.head-i.from,a=ot.find(e,o,(s=n.bidiLevel)!==null&&s!==void 0?s:-1,n.assoc),l=e[a],c=l.side(r,t);if(o==c){let u=a+=r?1:-1;if(u<0||u>=e.length)return null;l=e[a=u],o=l.side(!r,t),c=l.side(r,t)}let h=ke(i.text,o,l.forward(r,t));(hl.to)&&(h=c),nu=i.text.slice(Math.min(o,h),Math.max(o,h));let f=a==(r?e.length-1:0)?null:e[a+(r?1:-1)];return f&&h==c&&f.level+(r?0:1)i.some(e=>e)}),Z0=Y.define({combine:i=>i.some(e=>e)}),fu=Y.define(),Fn=class i{constructor(e,t,n,r,s,o=!1){this.range=e,this.y=t,this.x=n,this.yMargin=r,this.xMargin=s,this.isSnapshot=o}map(e){return e.empty?this:new i(this.range.map(e),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}clip(e){return this.range.to<=e.doc.length?this:new i(v.cursor(e.doc.length),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}},Jr=ie.define({map:(i,e)=>i.map(e)}),uu=ie.define();function at(i,e,t){let n=i.facet(au);n.length?n[0](e):window.onerror&&window.onerror(String(e),t,void 0,void 0,e)||(t?console.error(t+":",e):console.error(e))}var zt=Y.define({combine:i=>i.length?i[0]:!0}),q0=0,cn=Y.define({combine(i){return i.filter((e,t)=>{for(let n=0;n{let l=[];return o&&l.push(ys.of(c=>{let h=c.plugin(a);return h?o(h):Z.none})),s&&l.push(s(a)),l})}static fromClass(e,t){return i.define((n,r)=>new e(n,r),t)}},Hn=class{constructor(e){this.spec=e,this.mustUpdate=null,this.value=null}get plugin(){return this.spec&&this.spec.plugin}update(e){if(this.value){if(this.mustUpdate){let t=this.mustUpdate;if(this.mustUpdate=null,this.value.update)try{this.value.update(t)}catch(n){if(at(t.state,n,"CodeMirror plugin crashed"),this.value.destroy)try{this.value.destroy()}catch{}this.deactivate()}}}else if(this.spec)try{this.value=this.spec.plugin.create(e,this.spec.arg)}catch(t){at(e.state,t,"CodeMirror plugin crashed"),this.deactivate()}return this}destroy(e){var t;if(!((t=this.value)===null||t===void 0)&&t.destroy)try{this.value.destroy()}catch(n){at(e.state,n,"CodeMirror plugin crashed")}}deactivate(){this.spec=this.value=null}},Ou=Y.define(),Na=Y.define(),ys=Y.define(),du=Y.define(),Fa=Y.define(),sr=Y.define(),pu=Y.define();function wf(i,e){let t=i.state.facet(pu);if(!t.length)return t;let n=t.map(s=>s instanceof Function?s(i):s),r=[];return oe.spans(n,e.from,e.to,{point(){},span(s,o,a,l){let c=s-e.from,h=o-e.from,f=r;for(let u=a.length-1;u>=0;u--,l--){let O=a[u].spec.bidiIsolate,p;if(O==null&&(O=A0(e.text,c,h)),l>0&&f.length&&(p=f[f.length-1]).to==c&&p.direction==O)p.to=h,f=p.inner;else{let m={from:c,to:h,direction:O,inner:[]};f.push(m),f=m.inner}}}}),r}var mu=Y.define();function gu(i){let e=0,t=0,n=0,r=0;for(let s of i.state.facet(mu)){let o=s(i);o&&(o.left!=null&&(e=Math.max(e,o.left)),o.right!=null&&(t=Math.max(t,o.right)),o.top!=null&&(n=Math.max(n,o.top)),o.bottom!=null&&(r=Math.max(r,o.bottom)))}return{left:e,right:t,top:n,bottom:r}}var In=Y.define(),gt=class i{constructor(e,t,n,r){this.fromA=e,this.toA=t,this.fromB=n,this.toB=r}join(e){return new i(Math.min(this.fromA,e.fromA),Math.max(this.toA,e.toA),Math.min(this.fromB,e.fromB),Math.max(this.toB,e.toB))}addToSet(e){let t=e.length,n=this;for(;t>0;t--){let r=e[t-1];if(!(r.fromA>n.toA)){if(r.toAr.push(new gt(s,o,a,l))),this.changedRanges=r}static create(e,t,n){return new i(e,t,n)}get viewportChanged(){return(this.flags&4)>0}get viewportMoved(){return(this.flags&8)>0}get heightChanged(){return(this.flags&2)>0}get geometryChanged(){return this.docChanged||(this.flags&18)>0}get focusChanged(){return(this.flags&1)>0}get docChanged(){return!this.changes.empty}get selectionSet(){return this.transactions.some(e=>e.selection)}get empty(){return this.flags==0&&this.transactions.length==0}},E0=[],fe=class{constructor(e,t,n=0){this.dom=e,this.length=t,this.flags=n,this.parent=null,e.cmTile=this}get breakAfter(){return this.flags&1}get children(){return E0}isWidget(){return!1}get isHidden(){return!1}isComposite(){return!1}isLine(){return!1}isText(){return!1}isBlock(){return!1}get domAttrs(){return null}sync(e){if(this.flags|=2,this.flags&4){this.flags&=-5;let t=this.domAttrs;t&&Q0(this.dom,t)}}toString(){return this.constructor.name+(this.children.length?`(${this.children})`:"")+(this.breakAfter?"#":"")}destroy(){this.parent=null}setDOM(e){this.dom=e,e.cmTile=this}get posAtStart(){return this.parent?this.parent.posBefore(this):0}get posAtEnd(){return this.posAtStart+this.length}posBefore(e,t=this.posAtStart){let n=t;for(let r of this.children){if(r==e)return n;n+=r.length+r.breakAfter}throw new RangeError("Invalid child in posBefore")}posAfter(e){return this.posBefore(e)+e.length}covers(e){return!0}coordsIn(e,t,n){return null}domPosFor(e,t){let n=ai(this.dom),r=this.length?e>0:t>0;return new Tt(this.parent.dom,n+(r?1:0),e==0||e==this.length)}markDirty(e){this.flags&=-3,e&&(this.flags|=4),this.parent&&this.parent.flags&2&&this.parent.markDirty(!1)}get overrideDOMText(){return null}get root(){for(let e=this;e;e=e.parent)if(e instanceof dn)return e;return null}static get(e){return e.cmTile}},On=class extends fe{constructor(e){super(e,0),this._children=[]}isComposite(){return!0}get children(){return this._children}get lastChild(){return this.children.length?this.children[this.children.length-1]:null}append(e){this.children.push(e),e.parent=this}sync(e){if(this.flags&2)return;super.sync(e);let t=this.dom,n=null,r,s=e?.node==t?e:null,o=0;for(let a of this.children){if(a.sync(e),o+=a.length+a.breakAfter,r=n?n.nextSibling:t.firstChild,s&&r!=a.dom&&(s.written=!0),a.dom.parentNode==t)for(;r&&r!=a.dom;)r=Pf(r);else t.insertBefore(a.dom,r);n=a.dom}for(r=n?n.nextSibling:t.firstChild,s&&r&&(s.written=!0);r;)r=Pf(r);this.length=o}};function Pf(i){let e=i.nextSibling;return i.parentNode.removeChild(i),e}var dn=class extends On{constructor(e,t){super(t),this.view=e}owns(e){for(;e;e=e.parent)if(e==this)return!0;return!1}isBlock(){return!0}nearest(e){for(;;){if(!e)return null;let t=fe.get(e);if(t&&this.owns(t))return t;e=e.parentNode}}blockTiles(e){for(let t=[],n=this,r=0,s=0;;)if(r==n.children.length){if(!t.length)return;n=n.parent,n.breakAfter&&s++,r=t.pop()}else{let o=n.children[r++];if(o instanceof Lt)t.push(r),n=o,r=0;else{let a=s+o.length,l=e(o,s);if(l!==void 0)return l;s=a+o.breakAfter}}}resolveBlock(e,t){let n,r=-1,s,o=-1;if(this.blockTiles((a,l)=>{let c=l+a.length;if(e>=l&&e<=c){if(a.isWidget()&&t>=-1&&t<=1){if(a.flags&32)return!0;a.flags&16&&(n=void 0)}(le||e==l&&(t>1?a.length:a.covers(-1)))&&(!s||!a.isWidget()&&s.isWidget())&&(s=a,o=e-l)}}),!n&&!s)throw new Error("No tile at position "+e);return n&&t<0||!s?{tile:n,offset:r}:{tile:s,offset:o}}},Lt=class i extends On{constructor(e,t){super(e),this.wrapper=t}isBlock(){return!0}covers(e){return this.children.length?e<0?this.children[0].covers(-1):this.lastChild.covers(1):!1}get domAttrs(){return this.wrapper.attributes}static of(e,t){let n=new i(t||document.createElement(e.tagName),e);return t||(n.flags|=4),n}},pn=class i extends On{constructor(e,t){super(e),this.attrs=t}isLine(){return!0}static start(e,t,n){let r=new i(t||document.createElement("div"),e);return(!t||!n)&&(r.flags|=4),r}get domAttrs(){return this.attrs}resolveInline(e,t,n){let r=null,s=-1,o=null,a=-1;function l(h,f){for(let u=0,O=0;u=f&&(p.isComposite()?l(p,f-O):(!o||o.isHidden&&(t>0&&!(o.flags&32)||n&&L0(o,p)))&&(m>f||p.flags&32)?(o=p,a=f-O):(Or&&(e=r);let s=e,o=e,a=0;e==0&&t<0||e==r&&t>=0?L.chrome||L.gecko||(e?(s--,a=1):o=0)?0:l.length-1];return L.safari&&!a&&c.width==0&&(c=Array.prototype.find.call(l,h=>h.width)||c),n==null?c:hs(c,(a?a>0:t<0)==n)}static of(e,t){let n=new i(t||document.createTextNode(e),e);return t||(n.flags|=2),n}},Zi=class i extends fe{constructor(e,t,n,r){super(e,t,r),this.widget=n}isWidget(){return!0}get isHidden(){return this.widget.isHidden}covers(e){return this.flags&48?!1:(this.flags&(e<0?64:128))>0}coordsIn(e,t){return this.coordsInWidget(e,t,!1)}coordsInWidget(e,t,n){let r=this.widget.coordsAt(this.dom,e,t);if(r)return r;if(n)return hs(this.dom.getBoundingClientRect(),this.length?e==0:t<=0);{let s=this.dom.getClientRects(),o=null;if(!s.length)return null;let a=this.flags&16?!0:this.flags&32?!1:e>0;for(let l=a?s.length-1:0;o=s[l],!(e>0?l==0:l==s.length-1||o.top0==n)}},ma=class{constructor(e){this.index=0,this.beforeBreak=!1,this.parents=[],this.tile=e}advance(e,t,n){let{tile:r,index:s,beforeBreak:o,parents:a}=this;for(;e||t>0;)if(r.isComposite())if(o){if(!e)break;n&&n.break(),e--,o=!1}else if(s==r.children.length){if(!e&&!a.length)break;n&&n.leave(r),o=!!r.breakAfter,{tile:r,index:s}=a.pop(),s++}else{let l=r.children[s],c=l.breakAfter;(t>0?l.length<=e:l.length=0;a--){let l=t.marks[a],c=r.lastChild;if(c instanceof Ve&&c.mark.eq(l.mark))c.dom!=l.dom&&c.setDOM(ia(l.dom)),r=c;else{if(this.cache.reused.get(l)){let f=fe.get(l.dom);f&&f.setDOM(ia(l.dom))}let h=Ve.of(l.mark,l.dom);r.append(h),r=h}this.cache.reused.set(l,2)}let s=fe.get(e.text);s&&this.cache.reused.set(s,2);let o=new _i(e.text,e.text.nodeValue);o.flags|=8,this.pos=e.range.toB,r.append(o)}addInlineWidget(e,t,n){let r=this.afterWidget&&e.flags&48&&(this.afterWidget.flags&48)==(e.flags&48);r||this.flushBuffer();let s=this.ensureMarks(t,n);!r&&!(e.flags&16)&&s.append(this.getBuffer(1)),s.append(e),this.pos+=e.length,this.afterWidget=e}addMark(e,t,n){this.flushBuffer(),this.ensureMarks(t,n).append(e),this.pos+=e.length,this.afterWidget=null}addBlockWidget(e){this.getBlockPos().append(e),this.pos+=e.length,this.lastBlock=e,this.endLine()}continueWidget(e){let t=this.afterWidget||this.lastBlock;t.length+=e,this.pos+=e}addLineStart(e,t){var n;e||(e=Qu);let r=pn.start(e,t||((n=this.cache.find(pn))===null||n===void 0?void 0:n.dom),!!t);this.getBlockPos().append(this.lastBlock=this.curLine=r)}addLine(e){this.getBlockPos().append(e),this.pos+=e.length,this.lastBlock=e,this.endLine()}addBreak(){this.lastBlock.flags|=1,this.endLine(),this.pos++}addLineStartIfNotCovered(e){this.blockPosCovered()||this.addLineStart(e)}ensureLine(e){this.curLine||this.addLineStart(e)}ensureMarks(e,t){var n;let r=this.curLine;for(let s=e.length-1;s>=0;s--){let o=e[s],a;if(t>0&&(a=r.lastChild)&&a instanceof Ve&&a.mark.eq(o))r=a,t--;else{let l=Ve.of(o,(n=this.cache.find(Ve,c=>c.mark.eq(o)))===null||n===void 0?void 0:n.dom);r.append(l),r=l,t=0}}return r}endLine(){if(this.curLine){this.flushBuffer();let e=this.curLine.lastChild;(!e||!vf(this.curLine,!1)||e.dom.nodeName!="BR"&&e.isWidget()&&!(L.ios&&vf(this.curLine,!0)))&&this.curLine.append(this.cache.findWidget(na,0,32)||new Zi(na.toDOM(),0,na,32)),this.curLine=this.afterWidget=null}}updateBlockWrappers(){this.wrapperPos>this.pos+1e4&&(this.blockWrappers.goto(this.pos),this.wrappers.length=0);for(let e=this.wrappers.length-1;e>=0;e--)this.wrappers[e].to=this.pos){let t=e.rank*102+e.value.rank,n=new ga(e.from,e.to,e.value,t),r=this.wrappers.length;for(;r>0&&(this.wrappers[r-1].rank-n.rank||this.wrappers[r-1].to-n.to)<0;)r--;this.wrappers.splice(r,0,n)}this.wrapperPos=this.pos}getBlockPos(){var e;this.updateBlockWrappers();let t=this.root;for(let n of this.wrappers){let r=t.lastChild;if(n.fromo.wrapper.eq(n.wrapper)))===null||e===void 0?void 0:e.dom);t.append(s),t=s}}return t}blockPosCovered(){let e=this.lastBlock;return e!=null&&!e.breakAfter&&(!e.isWidget()||(e.flags&160)>0)}getBuffer(e){let t=2|(e<0?16:32),n=this.cache.find(mn,void 0,1);return n&&(n.flags=t),n||new mn(t)}flushBuffer(){this.afterWidget&&!(this.afterWidget.flags&32)&&(this.afterWidget.parent.append(this.getBuffer(-1)),this.afterWidget=null)}},ba=class{constructor(e){this.skipCount=0,this.text="",this.textOff=0,this.cursor=e.iter()}skip(e){this.textOff+e<=this.text.length?this.textOff+=e:(this.skipCount+=e-(this.text.length-this.textOff),this.text="",this.textOff=0)}next(e){if(this.textOff==this.text.length){let{value:r,lineBreak:s,done:o}=this.cursor.next(this.skipCount);if(this.skipCount=0,o)throw new Error("Ran out of text content when drawing inline views");this.text=r;let a=this.textOff=Math.min(e,r.length);return s?null:r.slice(0,a)}let t=Math.min(this.text.length,this.textOff+e),n=this.text.slice(this.textOff,t);return this.textOff=t,n}},us=[Zi,pn,_i,Ve,mn,Lt,dn];for(let i=0;i[]),this.index=us.map(()=>0),this.reused=new Map}add(e){let t=e.constructor.bucket,n=this.buckets[t];n.length<6?n.push(e):n[this.index[t]=(this.index[t]+1)%6]=e}find(e,t,n=2){let r=e.bucket,s=this.buckets[r],o=this.index[r];for(let a=0;a{if(this.cache.add(o),o.isComposite())return!1},enter:o=>this.cache.add(o),leave:()=>{},break:()=>{}}}run(e,t){let n=t&&this.getCompositionContext(t.text);for(let r=0,s=0,o=0;;){let a=or){let c=l-r;this.preserve(c,!o,!a),r=l,s+=c}if(!a)break;t&&a.fromA<=t.range.fromA&&a.toA>=t.range.toA?(this.forward(a.fromA,t.range.fromA,t.range.fromA{if(o.isWidget())if(this.openWidget)this.builder.continueWidget(l-a);else{let c=l>0||a{o.isLine()?this.builder.addLineStart(o.attrs,this.cache.maybeReuse(o)):(this.cache.add(o),o instanceof Ve&&r.unshift(o.mark)),this.openWidget=!1},leave:o=>{o.isLine()?r.length&&(r.length=s=0):o instanceof Ve&&(r.shift(),s=Math.min(s,r.length))},break:()=>{this.builder.addBreak(),this.openWidget=!1}}),this.text.skip(e)}emit(e,t){let n=null,r=this.builder,s=-1,o=oe.spans(this.decorations,e,t,{point:(a,l,c,h,f,u)=>{if(c instanceof Ri){if(this.disallowBlockEffectsFor[u]){if(c.block)throw new RangeError("Block decorations may not be specified via plugins");if(l>this.view.state.doc.lineAt(a).to)throw new RangeError("Decorations that replace line breaks may not be specified via plugins")}if(s=h.length,f>h.length)r.continueWidget(l-a);else{let O=c.widget||(c.block?li.block:li.inline),p=M0(c),m=this.cache.findWidget(O,l-a,p)||Zi.of(O,this.view,l-a,p);c.block?(c.startSide>0&&r.addLineStartIfNotCovered(n),r.addBlockWidget(m)):(r.ensureLine(n),r.addInlineWidget(m,h,f))}n=null}else n=W0(n,c);l>a&&this.text.skip(l-a)},span:(a,l,c,h)=>{for(let f=a;f-1&&(this.openWidget=o>s),this.openWidget||r.addLineStartIfNotCovered(n),this.openMarks=o}forward(e,t,n=1){t-e<=10?this.old.advance(t-e,n,this.reuseWalker):(this.old.advance(5,-1,this.reuseWalker),this.old.advance(t-e-10,-1),this.old.advance(5,n,this.reuseWalker))}getCompositionContext(e){let t=[],n=null;for(let r=e.parentNode;;r=r.parentNode){let s=fe.get(r);if(r==this.view.contentDOM)break;s instanceof Ve?t.push(s):s?.isLine()?n=s:s instanceof Lt||(r.nodeName=="DIV"&&!n&&r!=this.view.contentDOM?n=new pn(r,Qu):n||t.push(Ve.of(new tr({tagName:r.nodeName.toLowerCase(),attributes:b0(r)}),r)))}return{line:n,marks:t}}};function vf(i,e){let t=n=>{for(let r of n.children)if((e?r.isText():r.length)||t(r))return!0;return!1};return t(i)}function M0(i){let e=i.isReplace?(i.startSide<0?64:0)|(i.endSide>0?128:0):i.startSide>0?32:16;return i.block&&(e|=256),e}var Qu={class:"cm-line"};function W0(i,e){let t=e.spec.attributes,n=e.spec.class;return!t&&!n||(i||(i={class:"cm-line"}),t&&Ya(t,i),n&&(i.class+=" "+n)),i}function j0(i){let e=[];for(let t=i.parents.length;t>1;t--){let n=t==i.parents.length?i.tile:i.parents[t].tile;n instanceof Ve&&e.push(n.mark)}return e}function ia(i){let e=fe.get(i);return e&&e.setDOM(i.cloneNode()),i}var li=class extends Re{constructor(e){super(),this.tag=e}eq(e){return e.tag==this.tag}toDOM(){return document.createElement(this.tag)}updateDOM(e){return e.nodeName.toLowerCase()==this.tag}get isHidden(){return!0}};li.inline=new li("span");li.block=new li("div");var na=new class extends Re{toDOM(){return document.createElement("br")}get isHidden(){return!0}get editable(){return!0}},Os=class{constructor(e){this.view=e,this.decorations=[],this.blockWrappers=[],this.dynamicDecorationMap=[!1],this.domChanged=null,this.hasComposition=null,this.editContextFormatting=Z.none,this.lastCompositionAfterCursor=!1,this.minWidth=0,this.minWidthFrom=0,this.minWidthTo=0,this.impreciseAnchor=null,this.impreciseHead=null,this.forceSelection=!1,this.lastUpdate=Date.now(),this.updateDeco(),this.tile=new dn(e,e.contentDOM),this.updateInner([new gt(0,0,0,e.state.doc.length)],null)}update(e){var t;let n=e.changedRanges;this.minWidth>0&&n.length&&(n.every(({fromA:h,toA:f})=>fthis.minWidthTo)?(this.minWidthFrom=e.changes.mapPos(this.minWidthFrom,1),this.minWidthTo=e.changes.mapPos(this.minWidthTo,1)):this.minWidth=this.minWidthFrom=this.minWidthTo=0),this.updateEditContextFormatting(e);let r=-1;this.view.inputState.composing>=0&&!this.view.observer.editContext&&(!((t=this.domChanged)===null||t===void 0)&&t.newSel?r=this.domChanged.newSel.head:!N0(e.changes,this.hasComposition)&&!e.selectionSet&&(r=e.state.selection.main.head));let s=r>-1?D0(this.view,e.changes,r):null;if(this.domChanged=null,this.hasComposition){let{from:h,to:f}=this.hasComposition;n=new gt(h,f,e.changes.mapPos(h,-1),e.changes.mapPos(f,1)).addToSet(n.slice())}this.hasComposition=s?{from:s.range.fromB,to:s.range.toB}:null,(L.ie||L.chrome)&&!s&&e&&e.state.doc.lines!=e.startState.doc.lines&&(this.forceSelection=!0);let o=this.decorations,a=this.blockWrappers;this.updateDeco();let l=B0(o,this.decorations,e.changes);l.length&&(n=gt.extendWithRanges(n,l));let c=U0(a,this.blockWrappers,e.changes);return c.length&&(n=gt.extendWithRanges(n,c)),s&&!n.some(h=>h.fromA<=s.range.fromA&&h.toA>=s.range.toA)&&(n=s.range.addToSet(n.slice())),this.tile.flags&2&&n.length==0?!1:(this.updateInner(n,s),e.transactions.length&&(this.lastUpdate=Date.now()),!0)}updateInner(e,t){this.view.viewState.mustMeasureContent=!0;let{observer:n}=this.view;n.ignore(()=>{if(t||e.length){let o=this.tile,a=new ya(this.view,o,this.blockWrappers,this.decorations,this.dynamicDecorationMap);t&&fe.get(t.text)&&a.cache.reused.set(fe.get(t.text),2),this.tile=a.run(e,t),ka(o,a.cache.reused)}this.tile.dom.style.height=this.view.viewState.contentHeight/this.view.scaleY+"px",this.tile.dom.style.flexBasis=this.minWidth?this.minWidth+"px":"";let s=L.chrome||L.ios?{node:n.selectionRange.focusNode,written:!1}:void 0;this.tile.sync(s),s&&(s.written||n.selectionRange.focusNode!=s.node||!this.tile.dom.contains(s.node))&&(this.forceSelection=!0),this.tile.dom.style.height=""});let r=[];if(this.view.viewport.from||this.view.viewport.to-1)&&Gn(n,this.view.observer.selectionRange)&&!(r&&n.contains(r));if(!(s||t||o))return;let a=this.forceSelection;this.forceSelection=!1;let l=this.view.state.selection.main,c,h;if(l.empty?h=c=this.inlineDOMNearPos(l.anchor,l.assoc||1):(h=this.inlineDOMNearPos(l.head,l.head==l.from?1:-1),c=this.inlineDOMNearPos(l.anchor,l.anchor==l.from?1:-1)),L.gecko&&l.empty&&!this.hasComposition&&V0(c)){let u=document.createTextNode("");this.view.observer.ignore(()=>c.node.insertBefore(u,c.node.childNodes[c.offset]||null)),c=h=new Tt(u,0),a=!0}let f=this.view.observer.selectionRange;(a||!f.focusNode||(!Nn(c.node,c.offset,f.anchorNode,f.anchorOffset)||!Nn(h.node,h.offset,f.focusNode,f.focusOffset))&&!this.suppressWidgetCursorChange(f,l))&&(this.view.observer.ignore(()=>{L.android&&L.chrome&&n.contains(f.focusNode)&&G0(f.focusNode,n)&&(n.blur(),n.focus({preventScroll:!0}));let u=nr(this.view.root);if(u)if(l.empty){if(L.gecko){let O=Y0(c.node,c.offset);if(O&&O!=3){let p=(O==1?Hf:Kf)(c.node,c.offset);p&&(c=new Tt(p.node,p.offset))}}u.collapse(c.node,c.offset),l.bidiLevel!=null&&u.caretBidiLevel!==void 0&&(u.caretBidiLevel=l.bidiLevel)}else if(u.extend){u.collapse(c.node,c.offset);try{u.extend(h.node,h.offset)}catch{}}else{let O=document.createRange();l.anchor>l.head&&([c,h]=[h,c]),O.setEnd(h.node,h.offset),O.setStart(c.node,c.offset),u.removeAllRanges(),u.addRange(O)}o&&this.view.root.activeElement==n&&(n.blur(),r&&r.focus())}),this.view.observer.setSelectionRange(c,h)),this.impreciseAnchor=c.precise?null:new Tt(f.anchorNode,f.anchorOffset),this.impreciseHead=h.precise?null:new Tt(f.focusNode,f.focusOffset)}suppressWidgetCursorChange(e,t){return this.hasComposition&&t.empty&&Nn(e.focusNode,e.focusOffset,e.anchorNode,e.anchorOffset)&&this.posFromDOM(e.focusNode,e.focusOffset)==t.head}enforceCursorAssoc(){if(this.hasComposition)return;let{view:e}=this,t=e.state.selection.main,n=nr(e.root),{anchorNode:r,anchorOffset:s}=e.observer.selectionRange;if(!n||!t.empty||!t.assoc||!n.modify)return;let o=this.lineAt(t.head,t.assoc);if(!o)return;let a=o.posAtStart;if(t.head==a||t.head==a+o.length)return;let l=this.coordsAt(t.head,-1),c=this.coordsAt(t.head,1);if(!l||!c||l.bottom>c.top)return;let h=this.domAtPos(t.head+t.assoc,t.assoc);n.collapse(h.node,h.offset),n.modify("move",t.assoc<0?"forward":"backward","lineboundary"),e.observer.readSelectionRange();let f=e.observer.selectionRange;e.docView.posFromDOM(f.anchorNode,f.anchorOffset)!=t.from&&n.collapse(r,s)}posFromDOM(e,t){let n=this.tile.nearest(e);if(!n)return this.tile.dom.compareDocumentPosition(e)&2?0:this.view.state.doc.length;let r=n.posAtStart;if(n.isComposite()){let s;if(e==n.dom)s=n.dom.childNodes[t];else{let o=Mt(e)==0?0:t==0?-1:1;for(;;){let a=e.parentNode;if(a==n.dom)break;o==0&&a.firstChild!=a.lastChild&&(e==a.firstChild?o=-1:o=1),e=a}o<0?s=e:s=e.nextSibling}if(s==n.dom.firstChild)return r;for(;s&&!fe.get(s);)s=s.nextSibling;if(!s)return r+n.length;for(let o=0,a=r;;o++){let l=n.children[o];if(l.dom==s)return a;a+=l.length+l.breakAfter}}else return n.isText()?e==n.dom?r+t:r+(t?n.length:0):r}domAtPos(e,t){let{tile:n,offset:r}=this.tile.resolveBlock(e,t);return n.isWidget()?n.domPosFor(r,t):n.domIn(r,t)}inlineDOMNearPos(e,t){let n,r=-1,s=!1,o,a=-1,l=!1;return this.tile.blockTiles((c,h)=>{if(c.isWidget()){if(c.flags&32&&h>=e)return!0;c.flags&16&&(s=!0)}else{let f=h+c.length;if(h<=e&&(n=c,r=e-h,s=f=e&&!o&&(o=c,a=e-h,l=h>e),h>e&&o)return!0}}),!n&&!o?this.domAtPos(e,t):(s&&o?n=null:l&&n&&(o=null),n&&t<0||!o?n.domIn(r,t):o.domIn(a,t))}coordsAt(e,t,n){let{tile:r,offset:s}=this.tile.resolveBlock(e,t);return r.isWidget()?r.widget instanceof Kn?null:r.coordsInWidget(s,t,!0):r.coordsIn(s,t,n)}lineAt(e,t){let{tile:n}=this.tile.resolveBlock(e,t);return n.isLine()?n:null}coordsForChar(e){let{tile:t,offset:n}=this.tile.resolveBlock(e,1);if(!t.isLine())return null;function r(s,o){if(s.isComposite())for(let a of s.children){if(a.length>=o){let l=r(a,o);if(l)return l}if(o-=a.length,o<0)break}else if(s.isText()&&oMath.max(this.view.scrollDOM.clientWidth,this.minWidth)+1,a=-1,l=this.view.textDirection==ue.LTR,c=0,h=(f,u,O)=>{for(let p=0;pr);p++){let m=f.children[p],b=u+m.length,g=m.dom.getBoundingClientRect(),{height:Q}=g;if(O&&!p&&(c+=g.top-O.top),m instanceof Lt)b>n&&h(m,u,g);else if(u>=n&&(c>0&&t.push(-c),t.push(Q+c),c=0,o)){let S=m.dom.lastChild,x=S?os(S):[];if(x.length){let P=x[x.length-1],$=l?P.right-g.left:g.right-P.left;$>a&&(a=$,this.minWidth=s,this.minWidthFrom=u,this.minWidthTo=b)}}O&&p==f.children.length-1&&(c+=O.bottom-g.bottom),u=b+m.breakAfter}};return h(this.tile,0,null),t}textDirectionAt(e){let{tile:t}=this.tile.resolveBlock(e,1);return getComputedStyle(t.dom).direction=="rtl"?ue.RTL:ue.LTR}measureTextSize(){let e=this.tile.blockTiles(o=>{if(o.isLine()&&o.children.length&&o.length<=20){let a=0,l;for(let c of o.children){if(!c.isText()||/[^ -~]/.test(c.text))return;let h=os(c.dom);if(h.length!=1)return;a+=h[0].width,l=h[0].height}if(a)return{lineHeight:o.dom.getBoundingClientRect().height,charWidth:a/o.length,textHeight:l}}});if(e)return e;let t=document.createElement("div"),n,r,s;return t.className="cm-line",t.style.width="99999px",t.style.position="absolute",t.textContent="abc def ghi jkl mno pqr stu",this.view.observer.ignore(()=>{this.tile.dom.appendChild(t);let o=os(t.firstChild)[0];n=t.getBoundingClientRect().height,r=o&&o.width?o.width/27:7,s=o&&o.height?o.height:n,t.remove()}),{lineHeight:n,charWidth:r,textHeight:s}}computeBlockGapDeco(){let e=[],t=this.view.viewState;for(let n=0,r=0;;r++){let s=r==t.viewports.length?null:t.viewports[r],o=s?s.from-1:this.view.state.doc.length;if(o>n){let a=(t.lineBlockAt(o).bottom-t.lineBlockAt(n).top)/this.view.scaleY;e.push(Z.replace({widget:new Kn(a),block:!0,inclusive:!0,isBlockGap:!0}).range(n,o))}if(!s)break;n=s.to+1}return Z.set(e)}updateDeco(){let e=1,t=this.view.state.facet(ys).map(s=>(this.dynamicDecorationMap[e++]=typeof s=="function")?s(this.view):s),n=!1,r=this.view.state.facet(Fa).map((s,o)=>{let a=typeof s=="function";return a&&(n=!0),a?s(this.view):s});for(r.length&&(this.dynamicDecorationMap[e++]=n,t.push(oe.join(r))),this.decorations=[this.editContextFormatting,...t,this.computeBlockGapDeco(),this.view.viewState.lineGapDeco];etypeof s=="function"?s(this.view):s)}scrollIntoView(e){if(e.isSnapshot){let c=this.view.viewState.lineBlockAt(e.range.head);this.view.scrollDOM.scrollTop=c.top-e.yMargin,this.view.scrollDOM.scrollLeft=e.xMargin;return}for(let c of this.view.state.facet(fu))try{if(c(this.view,e.range,e))return!0}catch(h){at(this.view.state,h,"scroll handler")}let{range:t}=e,n=this.coordsAt(t.head,t.assoc||(t.head>t.anchor?-1:1)),r;if(!n)return;!t.empty&&(r=this.coordsAt(t.anchor,t.anchor>t.head?-1:1))&&(n={left:Math.min(n.left,r.left),top:Math.min(n.top,r.top),right:Math.max(n.right,r.right),bottom:Math.max(n.bottom,r.bottom)});let s=gu(this.view),o={left:n.left-s.left,top:n.top-s.top,right:n.right+s.right,bottom:n.bottom+s.bottom},{offsetWidth:a,offsetHeight:l}=this.view.scrollDOM;if(k0(this.view.scrollDOM,o,t.head1&&(n.top>window.pageYOffset+window.visualViewport.offsetTop+window.visualViewport.height||n.bottomn.isWidget()||n.children.some(t);return t(this.tile.resolveBlock(e,1).tile)}destroy(){ka(this.tile)}};function ka(i,e){let t=e?.get(i);if(t!=1){t==null&&i.destroy();for(let n of i.children)ka(n,e)}}function V0(i){return i.node.nodeType==1&&i.node.firstChild&&(i.offset==0||i.node.childNodes[i.offset-1].contentEditable=="false")&&(i.offset==i.node.childNodes.length||i.node.childNodes[i.offset].contentEditable=="false")}function bu(i,e){let t=i.observer.selectionRange;if(!t.focusNode)return null;let n=Hf(t.focusNode,t.focusOffset),r=Kf(t.focusNode,t.focusOffset),s=n||r;if(r&&n&&r.node!=n.node){let a=fe.get(r.node);if(!a||a.isText()&&a.text!=r.node.nodeValue)s=r;else if(i.docView.lastCompositionAfterCursor){let l=fe.get(n.node);!l||l.isText()&&l.text!=n.node.nodeValue||(s=r)}}if(i.docView.lastCompositionAfterCursor=s!=n,!s)return null;let o=e-s.offset;return{from:o,to:o+s.node.nodeValue.length,node:s.node}}function D0(i,e,t){let n=bu(i,t);if(!n)return null;let{node:r,from:s,to:o}=n,a=r.nodeValue;if(/[\n\r]/.test(a)||i.state.doc.sliceString(n.from,n.to)!=a)return null;let l=e.invertedDesc;return{range:new gt(l.mapPos(s),l.mapPos(o),s,o),text:r}}function Y0(i,e){return i.nodeType!=1?0:(e&&i.childNodes[e-1].contentEditable=="false"?1:0)|(e{ne.from&&(t=!0)}),t}var Kn=class extends Re{constructor(e){super(),this.height=e}toDOM(){let e=document.createElement("div");return e.className="cm-gap",this.updateDOM(e),e}eq(e){return e.height==this.height}updateDOM(e){return e.style.height=this.height+"px",!0}get editable(){return!0}get estimatedHeight(){return this.height}ignoreEvent(){return!1}};function F0(i,e,t=1){let n=i.charCategorizer(e),r=i.doc.lineAt(e),s=e-r.from;if(r.length==0)return v.cursor(e);s==0?t=1:s==r.length&&(t=-1);let o=s,a=s;t<0?o=ke(r.text,s,!1):a=ke(r.text,s);let l=n(r.text.slice(o,a));for(;o>0;){let c=ke(r.text,o,!1);if(n(r.text.slice(c,o))!=l)break;o=c}for(;ai.defaultLineHeight*1.5){let a=i.viewState.heightOracle.textHeight,l=Math.floor((r-t.top-(i.defaultLineHeight-a)*.5)/a);s+=l*i.viewState.heightOracle.lineLength}let o=i.state.sliceDoc(t.from,t.to);return t.from+Of(o,s,i.state.tabSize)}function K0(i,e,t){let n=i.lineBlockAt(e);if(Array.isArray(n.type)){let r;for(let s of n.type){if(s.from>e)break;if(!(s.toe)return s;(!r||s.type==lt.Text&&(r.type!=s.type||(t<0?s.frome)))&&(r=s)}}return r||n}return n}function J0(i,e,t,n){let r=K0(i,e.head,e.assoc||-1),s=!n||r.type!=lt.Text||!(i.lineWrapping||r.widgetLineBreaks)?null:i.coordsAtPos(e.assoc<0&&e.head>r.from?e.head-1:e.head);if(s){let o=i.dom.getBoundingClientRect(),a=i.textDirectionAt(r.from),l=i.posAtCoords({x:t==(a==ue.LTR)?o.right-1:o.left+1,y:(s.top+s.bottom)/2});if(l!=null)return v.cursor(l,t?-1:1)}return v.cursor(t?r.to:r.from,t?-1:1)}function $f(i,e,t,n){let r=i.state.doc.lineAt(e.head),s=i.bidiSpans(r),o=i.textDirectionAt(r.from);for(let a=e,l=null;;){let c=R0(r,s,o,a,t),h=nu;if(!c){if(r.number==(t?i.state.doc.lines:1))return a;h=` -`,r=i.state.doc.line(r.number+(t?1:-1)),s=i.bidiSpans(r),c=i.visualLineSide(r,!t)}if(l){if(!l(h))return a}else{if(!n)return c;l=n(h)}a=c}}function eQ(i,e,t){let n=i.state.charCategorizer(e),r=n(t);return s=>{let o=n(s);return r==Ee.Space&&(r=o),r==o}}function tQ(i,e,t,n){let r=e.head,s=t?1:-1;if(r==(t?i.state.doc.length:0))return v.cursor(r,e.assoc);let o=e.goalColumn,a,l=i.contentDOM.getBoundingClientRect(),c=i.coordsAtPos(r,e.assoc||((e.empty?t:e.head==e.from)?1:-1)),h=i.documentTop;if(c)o==null&&(o=c.left-l.left),a=s<0?c.top:c.bottom;else{let p=i.viewState.lineBlockAt(r);o==null&&(o=Math.min(l.right-l.left,i.defaultCharacterWidth*(r-p.from))),a=(s<0?p.top:p.bottom)+h}let f=l.left+o,u=i.viewState.heightOracle.textHeight>>1,O=n??u;for(let p=0;;p+=u){let m=a+(O+p)*s,b=wa(i,{x:f,y:m},!1,s);if(t?m>l.bottom:ma:Q{if(e>s&&er(i)),t.from,e.head>t.from?-1:1);return n==t.from?t:v.cursor(n,ni.viewState.docHeight)return new st(i.state.doc.length,-1);if(c=i.elementAtHeight(l),n==null)break;if(c.type==lt.Text){if(n<0?c.toi.viewport.to)break;let u=i.docView.coordsAt(n<0?c.from:c.to,n>0?-1:1);if(u&&(n<0?u.top<=l+s:u.bottom>=l+s))break}let f=i.viewState.heightOracle.textHeight/2;l=n>0?c.bottom+f:c.top-f}if(i.viewport.from>=c.to||i.viewport.to<=c.from){if(t)return null;if(c.type==lt.Text){let f=H0(i,r,c,o,a);return new st(f,f==c.from?1:-1)}}if(c.type!=lt.Text)return l<(c.top+c.bottom)/2?new st(c.from,1):new st(c.to,-1);let h=i.docView.lineAt(c.from,2);return(!h||h.length!=c.length)&&(h=i.docView.lineAt(c.from,-2)),new Pa(i,o,a,i.textDirectionAt(c.from)).scanTile(h,c.from)}var Pa=class{constructor(e,t,n,r){this.view=e,this.x=t,this.y=n,this.baseDir=r,this.line=null,this.spans=null}bidiSpansAt(e){return(!this.line||this.line.from>e||this.line.to1||n.length&&(n[0].level!=this.baseDir||n[0].to+r.from>1;t:if(o.has(m)){let g=r+Math.floor(Math.random()*p);for(let Q=0;Q1)){if(Q.bottomthis.y)(!c||c.top>Q.top)&&(c=Q),S=-1;else{let x=Q.left>this.x?this.x-Q.left:Q.right(p+p+m)/3)return this.y=l.bottom-1,this.scan(e,t,!0);if(c&&c.top<(p+m+m)/3)return this.y=c.top+1,this.scan(e,t,!0)}let O=(a?this.dirAt(e[h],1):this.baseDir)==ue.LTR;return{i:h,after:this.x>(u.left+u.right)/2==O}}scanText(e,t){let n=[];for(let s=0;s{let o=n[s]-t,a=n[s+1]-t;return rr(e.dom,o,a).getClientRects()});return r.after?new st(n[r.i+1],-1):new st(n[r.i],1)}scanTile(e,t){if(!e.length)return new st(t,1);if(e.children.length==1){let a=e.children[0];if(a.isText())return this.scanText(a,t);if(a.isComposite())return this.scanTile(a,t)}let n=[t];for(let a=0,l=t;a{let l=e.children[a];return l.flags&48?null:(l.dom.nodeType==1?l.dom:rr(l.dom,0,l.length)).getClientRects()}),s=e.children[r.i],o=n[r.i];return s.isText()?this.scanText(s,o):s.isComposite()?this.scanTile(s,o):r.after?new st(n[r.i+1],-1):new st(o,1)}},ln="\uFFFF",va=class{constructor(e,t){this.points=e,this.view=t,this.text="",this.lineSeparator=t.state.facet(re.lineSeparator)}append(e){this.text+=e}lineBreak(){this.text+=ln}readRange(e,t){if(!e)return this;let n=e.parentNode;for(let r=e;;){this.findPointBefore(n,r);let s=this.text.length;this.readNode(r);let o=fe.get(r),a=r.nextSibling;if(a==t){o?.breakAfter&&!a&&n!=this.view.contentDOM&&this.lineBreak();break}let l=fe.get(a);(o&&l?o.breakAfter:(o?o.breakAfter:cs(r))||cs(a)&&(r.nodeName!="BR"||o?.isWidget())&&this.text.length>s)&&!nQ(a,t)&&this.lineBreak(),r=a}return this.findPointBefore(n,t),this}readTextNode(e){let t=e.nodeValue;for(let n of this.points)n.node==e&&(n.pos=this.text.length+Math.min(n.offset,t.length));for(let n=0,r=this.lineSeparator?null:/\r\n?|\n/g;;){let s=-1,o=1,a;if(this.lineSeparator?(s=t.indexOf(this.lineSeparator,n),o=this.lineSeparator.length):(a=r.exec(t))&&(s=a.index,o=a[0].length),this.append(t.slice(n,s<0?t.length:s)),s<0)break;if(this.lineBreak(),o>1)for(let l of this.points)l.node==e&&l.pos>this.text.length&&(l.pos-=o-1);n=s+o}}readNode(e){let t=fe.get(e),n=t&&t.overrideDOMText;if(n!=null){this.findPointInside(e,n.length);for(let r=n.iter();!r.next().done;)r.lineBreak?this.lineBreak():this.append(r.value)}else e.nodeType==3?this.readTextNode(e):e.nodeName=="BR"?e.nextSibling&&this.lineBreak():e.nodeType==1&&this.readRange(e.firstChild,null)}findPointBefore(e,t){for(let n of this.points)n.node==e&&e.childNodes[n.offset]==t&&(n.pos=this.text.length)}findPointInside(e,t){for(let n of this.points)(e.nodeType==3?n.node==e:e.contains(n.node))&&(n.pos=this.text.length+(iQ(e,n.node,n.offset)?t:0))}};function iQ(i,e,t){for(;;){if(!e||t-1;let{impreciseHead:s,impreciseAnchor:o}=e.docView,a=e.state.selection;if(e.state.readOnly&&t>-1)this.newSel=null;else if(t>-1&&(this.bounds=yu(e.docView.tile,t,n,0))){let l=s||o?[]:sQ(e),c=new va(l,e);c.readRange(this.bounds.startDOM,this.bounds.endDOM),this.text=c.text,this.newSel=oQ(l,this.bounds.from)}else{let l=e.observer.selectionRange,c=s&&s.node==l.focusNode&&s.offset==l.focusOffset||!ha(e.contentDOM,l.focusNode)?a.main.head:e.docView.posFromDOM(l.focusNode,l.focusOffset),h=o&&o.node==l.anchorNode&&o.offset==l.anchorOffset||!ha(e.contentDOM,l.anchorNode)?a.main.anchor:e.docView.posFromDOM(l.anchorNode,l.anchorOffset),f=e.viewport;if((L.ios||L.chrome)&&c!=h&&Math.min(c,h)<=a.main.from&&Math.max(c,h)>=a.main.to&&(f.from>0||f.to-1&&a.ranges.length>1)this.newSel=a.replaceRange(v.range(h,c));else if(e.lineWrapping&&h==c&&!(a.main.empty&&a.main.head==c)&&e.inputState.lastTouchTime>Date.now()-100){let u=e.coordsAtPos(c,-1),O=0;u&&(O=e.inputState.lastTouchY<=u.bottom?-1:1),this.newSel=v.create([v.cursor(c,O)])}else this.newSel=v.single(h,c)}}};function yu(i,e,t,n){if(i.isComposite()){let r=-1,s=-1,o=-1,a=-1;for(let l=0,c=n,h=n;lt)return yu(f,e,t,c);if(u>=e&&r==-1&&(r=l,s=c),c>t&&f.dom.parentNode==i.dom){o=l,a=h;break}h=u,c=u+f.breakAfter}return{from:s,to:a<0?n+i.length:a,startDOM:(r?i.children[r-1].dom.nextSibling:null)||i.dom.firstChild,endDOM:o=0?i.children[o].dom:null}}else return i.isText()?{from:n,to:n+i.length,startDOM:i.dom,endDOM:i.dom.nextSibling}:null}function ku(i,e){let t,{newSel:n}=e,{state:r}=i,s=r.selection.main,o=i.inputState.lastKeyTime>Date.now()-100?i.inputState.lastKeyCode:-1;if(e.bounds){let{from:a,to:l}=e.bounds,c=s.from,h=null;(o===8||L.android&&e.text.length=a&&s.to<=l&&(e.typeOver||f!=e.text)&&f.slice(0,s.from-a)==e.text.slice(0,s.from-a)&&f.slice(s.to-a)==e.text.slice(u=e.text.length-(f.length-(s.to-a)))?t={from:s.from,to:s.to,insert:H.of(e.text.slice(s.from-a,u).split(ln))}:(O=xu(f,e.text,c-a,h))&&(L.chrome&&o==13&&O.toB==O.from+2&&e.text.slice(O.from,O.toB)==ln+ln&&O.toB--,t={from:a+O.from,to:a+O.toA,insert:H.of(e.text.slice(O.from,O.toB).split(ln))})}else n&&(!i.hasFocus&&r.facet(zt)||ps(n,s))&&(n=null);if(!t&&!n)return!1;if((L.mac||L.android)&&t&&t.from==t.to&&t.from==s.head-1&&/^\. ?$/.test(t.insert.toString())&&i.contentDOM.getAttribute("autocorrect")=="off"?(n&&t.insert.length==2&&(n=v.single(n.main.anchor-1,n.main.head-1)),t={from:t.from,to:t.to,insert:H.of([t.insert.toString().replace("."," ")])}):r.doc.lineAt(s.from).toDate.now()-50?t={from:s.from,to:s.to,insert:r.toText(i.inputState.insertingText)}:L.chrome&&t&&t.from==t.to&&t.from==s.head&&t.insert.toString()==` - `&&i.lineWrapping&&(n&&(n=v.single(n.main.anchor-1,n.main.head-1)),t={from:s.from,to:s.to,insert:H.of([" "])}),t)return Ha(i,t,n,o);if(n&&!ps(n,s)){let a=!1,l="select";return i.inputState.lastSelectionTime>Date.now()-50&&(i.inputState.lastSelectionOrigin=="select"&&(a=!0),l=i.inputState.lastSelectionOrigin,l=="select.pointer"&&(n=Su(r.facet(sr).map(c=>c(i)),n))),i.dispatch({selection:n,scrollIntoView:a,userEvent:l}),!0}else return!1}function Ha(i,e,t,n=-1){if(L.ios&&i.inputState.flushIOSKey(e))return!0;let r=i.state.selection.main;if(L.android&&(e.to==r.to&&(e.from==r.from||e.from==r.from-1&&i.state.sliceDoc(e.from,r.from)==" ")&&e.insert.length==1&&e.insert.lines==2&&un(i.contentDOM,"Enter",13)||(e.from==r.from-1&&e.to==r.to&&e.insert.length==0||n==8&&e.insert.lengthr.head)&&un(i.contentDOM,"Backspace",8)||e.from==r.from&&e.to==r.to+1&&e.insert.length==0&&un(i.contentDOM,"Delete",46)))return!0;let s=e.insert.toString();i.inputState.composing>=0&&i.inputState.composing++;let o,a=()=>o||(o=rQ(i,e,t));return i.state.facet(lu).some(l=>l(i,e.from,e.to,s,a))||i.dispatch(a()),!0}function rQ(i,e,t){let n,r=i.state,s=r.selection.main,o=-1;if(e.from==e.to&&e.froms.to){let l=e.fromf(i)),c,l);e.from==h&&(o=h)}if(o>-1)n={changes:e,selection:v.cursor(e.from+e.insert.length,-1)};else if(e.from>=s.from&&e.to<=s.to&&e.to-e.from>=(s.to-s.from)/3&&(!t||t.main.empty&&t.main.from==e.from+e.insert.length)&&i.inputState.composing<0){let l=s.frome.to?r.sliceDoc(e.to,s.to):"";n=r.replaceSelection(i.state.toText(l+e.insert.sliceString(0,void 0,i.state.lineBreak)+c))}else{let l=r.changes(e),c=t&&t.main.to<=l.newLength?t.main:void 0;if(r.selection.ranges.length>1&&(i.inputState.composing>=0||i.inputState.compositionPendingChange)&&e.to<=s.to+10&&e.to>=s.to-10){let h=i.state.sliceDoc(e.from,e.to),f,u=t&&bu(i,t.main.head);if(u){let p=e.insert.length-(e.to-e.from);f={from:u.from,to:u.to-p}}else f=i.state.doc.lineAt(s.head);let O=s.to-e.to;n=r.changeByRange(p=>{if(p.from==s.from&&p.to==s.to)return{changes:l,range:c||p.map(l)};let m=p.to-O,b=m-h.length;if(i.state.sliceDoc(b,m)!=h||m>=f.from&&b<=f.to)return{range:p};let g=r.changes({from:b,to:m,insert:e.insert}),Q=p.to-s.to;return{changes:g,range:c?v.range(Math.max(0,c.anchor+Q),Math.max(0,c.head+Q)):p.map(g)}})}else n={changes:l,selection:c&&r.selection.replaceRange(c)}}let a="input.type";return(i.composing||i.inputState.compositionPendingChange&&i.inputState.compositionEndedAt>Date.now()-50)&&(i.inputState.compositionPendingChange=!1,a+=".compose",i.inputState.compositionFirstChange&&(a+=".start",i.inputState.compositionFirstChange=!1)),r.update(n,{userEvent:a,scrollIntoView:!0})}function xu(i,e,t,n){let r=Math.min(i.length,e.length),s=0;for(;s0&&a>0&&i.charCodeAt(o-1)==e.charCodeAt(a-1);)o--,a--;if(n=="end"){let l=Math.max(0,s-Math.min(o,a));t-=o+l-s}if(o=o?s-t:0;s-=l,a=s+(a-o),o=s}else if(a=a?s-t:0;s-=l,o=s+(o-a),a=s}return{from:s,toA:o,toB:a}}function sQ(i){let e=[];if(i.root.activeElement!=i.contentDOM)return e;let{anchorNode:t,anchorOffset:n,focusNode:r,focusOffset:s}=i.observer.selectionRange;return t&&(e.push(new ds(t,n)),(r!=t||s!=n)&&e.push(new ds(r,s))),e}function oQ(i,e){if(i.length==0)return null;let t=i[0].pos,n=i.length==2?i[1].pos:t;return t>-1&&n>-1?v.single(t+e,n+e):null}function ps(i,e){return e.head==i.main.head&&e.anchor==i.main.anchor}var Ta=class{setSelectionOrigin(e){this.lastSelectionOrigin=e,this.lastSelectionTime=Date.now()}constructor(e){this.view=e,this.lastKeyCode=0,this.lastKeyTime=0,this.touchActive=!1,this.lastTouchTime=0,this.lastTouchX=0,this.lastTouchY=0,this.lastFocusTime=0,this.lastScrollTop=0,this.lastScrollLeft=0,this.lastWheelEvent=0,this.pendingIOSKey=void 0,this.lastIOSMomentumScroll=0,this.tabFocusMode=-1,this.lastSelectionOrigin=null,this.lastSelectionTime=0,this.lastContextMenu=0,this.scrollHandlers=[],this.handlers=Object.create(null),this.composing=-1,this.compositionFirstChange=null,this.compositionEndedAt=0,this.compositionPendingKey=!1,this.compositionPendingChange=!1,this.insertingText="",this.insertingTextAt=0,this.mouseSelection=null,this.draggedContent=null,this.handleEvent=this.handleEvent.bind(this),this.notifiedFocused=e.hasFocus,L.safari&&e.contentDOM.addEventListener("input",()=>null),L.gecko&&yQ(e.contentDOM.ownerDocument)}handleEvent(e){!dQ(this.view,e)||this.ignoreDuringComposition(e)||e.type=="keydown"&&this.keydown(e)||(this.view.updateState!=0?Promise.resolve().then(()=>this.runHandlers(e.type,e)):this.runHandlers(e.type,e))}runHandlers(e,t){let n=this.handlers[e];if(n){for(let r of n.observers)r(this.view,t);for(let r of n.handlers){if(t.defaultPrevented)break;if(r(this.view,t)){t.preventDefault();break}}}}ensureHandlers(e){let t=lQ(e),n=this.handlers,r=this.view.contentDOM;for(let s in t)if(s!="scroll"){let o=!t[s].handlers.length,a=n[s];a&&o!=!a.handlers.length&&(r.removeEventListener(s,this.handleEvent),a=null),a||r.addEventListener(s,this.handleEvent,{passive:o})}for(let s in n)s!="scroll"&&!t[s]&&r.removeEventListener(s,this.handleEvent);this.handlers=t}keydown(e){if(this.lastKeyCode=e.keyCode,this.lastKeyTime=Date.now(),e.keyCode==9&&this.tabFocusMode>-1&&(!this.tabFocusMode||Date.now()<=this.tabFocusMode))return!0;if(this.tabFocusMode>0&&e.keyCode!=27&&Pu.indexOf(e.keyCode)<0&&(this.tabFocusMode=-1),L.android&&L.chrome&&!e.synthetic&&(e.keyCode==13||e.keyCode==8))return this.view.observer.delayAndroidKey(e.key,e.keyCode),!0;if(L.ios&&!e.synthetic&&!e.altKey&&!e.metaKey&&(wu.some(t=>t.keyCode==e.keyCode)&&!e.ctrlKey||cQ.indexOf(e.key)>-1&&e.ctrlKey)){let t={ctrlKey:e.ctrlKey,altKey:e.altKey,metaKey:e.metaKey,shiftKey:e.shiftKey};return t.shiftKey&&L.ios&&!/^(off|none)$/.test(this.view.contentDOM.autocapitalize)&&aQ(this.view.win)&&(t.shiftKey=!1),this.pendingIOSKey={key:e.key,keyCode:e.keyCode,mods:t},setTimeout(()=>this.flushIOSKey(),250),!0}return e.keyCode!=229&&this.view.observer.forceFlush(),!1}flushIOSKey(e){let t=this.pendingIOSKey;return!t||t.key=="Enter"&&e&&e.from0?!0:L.safari&&!L.ios&&this.compositionPendingKey&&Date.now()-this.compositionEndedAt<100?(this.compositionPendingKey=!1,!0):!1}startMouseSelection(e){this.mouseSelection&&this.mouseSelection.destroy(),this.mouseSelection=e}update(e){this.view.observer.update(e),this.mouseSelection&&this.mouseSelection.update(e),this.draggedContent&&e.docChanged&&(this.draggedContent=this.draggedContent.map(e.changes)),e.transactions.length&&(this.lastKeyCode=this.lastSelectionTime=0)}destroy(){this.mouseSelection&&this.mouseSelection.destroy()}};function aQ(i){return i.visualViewport?i.visualViewport.height*i.visualViewport.scale/i.document.documentElement.clientHeight<.85:!1}function Tf(i,e){return(t,n)=>{try{return e.call(i,n,t)}catch(r){at(t.state,r)}}}function lQ(i){let e=Object.create(null);function t(n){return e[n]||(e[n]={observers:[],handlers:[]})}for(let n of i){let r=n.spec,s=r&&r.plugin.domEventHandlers,o=r&&r.plugin.domEventObservers;if(s)for(let a in s){let l=s[a];l&&t(a).handlers.push(Tf(n.value,l))}if(o)for(let a in o){let l=o[a];l&&t(a).observers.push(Tf(n.value,l))}}for(let n in Qt)t(n).handlers.push(Qt[n]);for(let n in Me)t(n).observers.push(Me[n]);return e}var wu=[{key:"Backspace",keyCode:8,inputType:"deleteContentBackward"},{key:"Enter",keyCode:13,inputType:"insertParagraph"},{key:"Enter",keyCode:13,inputType:"insertLineBreak"},{key:"Delete",keyCode:46,inputType:"deleteContentForward"}],cQ="dthko",Pu=[16,17,18,20,91,92,224,225],es=6;function ts(i){return Math.max(0,i)*.7+8}function hQ(i,e){return Math.max(Math.abs(i.clientX-e.clientX),Math.abs(i.clientY-e.clientY))}var Ca=class{constructor(e,t,n,r){this.view=e,this.startEvent=t,this.style=n,this.mustSelect=r,this.scrollSpeed={x:0,y:0},this.scrolling=-1,this.lastEvent=t,this.scrollParents=Gf(e.contentDOM),this.atoms=e.state.facet(sr).map(o=>o(e));let s=e.contentDOM.ownerDocument;s.addEventListener("mousemove",this.move=this.move.bind(this)),s.addEventListener("mouseup",this.up=this.up.bind(this)),this.extend=t.shiftKey,this.multiple=e.state.facet(re.allowMultipleSelections)&&fQ(e,t),this.dragging=OQ(e,t)&&Tu(t)==1?null:!1}start(e){this.dragging===!1&&this.select(e)}move(e){if(e.buttons==0)return this.destroy();if(this.dragging||this.dragging==null&&hQ(this.startEvent,e)<10)return;this.select(this.lastEvent=e);let t=0,n=0,r=0,s=0,o=this.view.win.innerWidth,a=this.view.win.innerHeight;this.scrollParents.x&&({left:r,right:o}=this.scrollParents.x.getBoundingClientRect()),this.scrollParents.y&&({top:s,bottom:a}=this.scrollParents.y.getBoundingClientRect());let l=gu(this.view);e.clientX-l.left<=r+es?t=-ts(r-e.clientX):e.clientX+l.right>=o-es&&(t=ts(e.clientX-o)),e.clientY-l.top<=s+es?n=-ts(s-e.clientY):e.clientY+l.bottom>=a-es&&(n=ts(e.clientY-a)),this.setScrollSpeed(t,n)}up(e){this.dragging==null&&this.select(this.lastEvent),this.dragging||e.preventDefault(),this.destroy()}destroy(){this.setScrollSpeed(0,0);let e=this.view.contentDOM.ownerDocument;e.removeEventListener("mousemove",this.move),e.removeEventListener("mouseup",this.up),this.view.inputState.mouseSelection=this.view.inputState.draggedContent=null}setScrollSpeed(e,t){this.scrollSpeed={x:e,y:t},e||t?this.scrolling<0&&(this.scrolling=setInterval(()=>this.scroll(),50)):this.scrolling>-1&&(clearInterval(this.scrolling),this.scrolling=-1)}scroll(){let{x:e,y:t}=this.scrollSpeed;e&&this.scrollParents.x&&(this.scrollParents.x.scrollLeft+=e,e=0),t&&this.scrollParents.y&&(this.scrollParents.y.scrollTop+=t,t=0),(e||t)&&this.view.win.scrollBy(e,t),this.dragging===!1&&this.select(this.lastEvent)}select(e){let{view:t}=this,n=Su(this.atoms,this.style.get(e,this.extend,this.multiple));(this.mustSelect||!n.eq(t.state.selection,this.dragging===!1))&&this.view.dispatch({selection:n,userEvent:"select.pointer"}),this.mustSelect=!1}update(e){e.transactions.some(t=>t.isUserEvent("input.type"))?this.destroy():this.style.update(e)&&setTimeout(()=>this.select(this.lastEvent),20)}};function fQ(i,e){let t=i.state.facet(ru);return t.length?t[0](e):L.mac?e.metaKey:e.ctrlKey}function uQ(i,e){let t=i.state.facet(su);return t.length?t[0](e):L.mac?!e.altKey:!e.ctrlKey}function OQ(i,e){let{main:t}=i.state.selection;if(t.empty)return!1;let n=nr(i.root);if(!n||n.rangeCount==0)return!0;let r=n.getRangeAt(0).getClientRects();for(let s=0;s=e.clientX&&o.top<=e.clientY&&o.bottom>=e.clientY)return!0}return!1}function dQ(i,e){if(!e.bubbles)return!0;if(e.defaultPrevented)return!1;for(let t=e.target,n;t!=i.contentDOM;t=t.parentNode)if(!t||t.nodeType==11||(n=fe.get(t))&&n.isWidget()&&!n.isHidden&&n.widget.ignoreEvent(e))return!1;return!0}var Qt=Object.create(null),Me=Object.create(null),vu=L.ie&&L.ie_version<15||L.ios&&L.webkit_version<604;function pQ(i){let e=i.dom.parentNode;if(!e)return;let t=e.appendChild(document.createElement("textarea"));t.style.cssText="position: fixed; left: -10000px; top: 10px",t.focus(),setTimeout(()=>{i.focus(),t.remove(),$u(i,t.value)},50)}function ks(i,e,t){for(let n of i.facet(e))t=n(t,i);return t}function $u(i,e){e=ks(i.state,Ua,e);let{state:t}=i,n,r=1,s=t.toText(e),o=s.lines==t.selection.ranges.length;if(Xa!=null&&t.selection.ranges.every(l=>l.empty)&&Xa==s.toString()){let l=-1;n=t.changeByRange(c=>{let h=t.doc.lineAt(c.from);if(h.from==l)return{range:c};l=h.from;let f=t.toText((o?s.line(r++).text:e)+t.lineBreak);return{changes:{from:h.from,insert:f},range:v.cursor(c.from+f.length)}})}else o?n=t.changeByRange(l=>{let c=s.line(r++);return{changes:{from:l.from,to:l.to,insert:c.text},range:v.cursor(l.from+c.length)}}):n=t.replaceSelection(s);i.dispatch(n,{userEvent:"input.paste",scrollIntoView:!0})}Me.scroll=i=>{let e=i.inputState;e.lastScrollTop=i.scrollDOM.scrollTop,e.lastScrollLeft=i.scrollDOM.scrollLeft,L.ios&&!e.touchActive&&(e.lastIOSMomentumScroll=Date.now())};Me.wheel=Me.mousewheel=i=>{i.inputState.lastWheelEvent=Date.now()};Qt.keydown=(i,e)=>(i.inputState.setSelectionOrigin("select"),e.keyCode==27&&i.inputState.tabFocusMode!=0&&(i.inputState.tabFocusMode=Date.now()+2e3),!1);Me.touchstart=(i,e)=>{let t=i.inputState,n=e.targetTouches[0];t.touchActive=!0,t.lastTouchTime=Date.now(),n&&(t.lastTouchX=n.clientX,t.lastTouchY=n.clientY),t.setSelectionOrigin("select.pointer")};Me.touchmove=i=>{i.inputState.setSelectionOrigin("select.pointer")};Me.touchend=(i,e)=>{i.inputState.touchActive=!1};Qt.mousedown=(i,e)=>{if(i.observer.flush(),i.inputState.lastTouchTime>Date.now()-2e3)return!1;let t=null;for(let n of i.state.facet(ou))if(t=n(i,e),t)break;if(!t&&e.button==0&&(t=gQ(i,e)),t){let n=!i.hasFocus;i.inputState.startMouseSelection(new Ca(i,e,t,n)),n&&i.observer.ignore(()=>{Nf(i.contentDOM);let s=i.root.activeElement;s&&!s.contains(i.contentDOM)&&s.blur()});let r=i.inputState.mouseSelection;if(r)return r.start(e),r.dragging===!1}else i.inputState.setSelectionOrigin("select.pointer");return!1};function Cf(i,e,t,n){if(n==1)return v.cursor(e,t);if(n==2)return F0(i.state,e,t);{let r=i.docView.lineAt(e,t),s=i.state.doc.lineAt(r?r.posAtEnd:e),o=r?r.posAtStart:s.from,a=r?r.posAtEnd:s.to;return aDate.now()-400&&Math.abs(e.clientX-i.clientX)<2&&Math.abs(e.clientY-i.clientY)<2?(_f+1)%3:1}function gQ(i,e){let t=i.posAndSideAtCoords({x:e.clientX,y:e.clientY},!1),n=Tu(e),r=i.state.selection;return{update(s){s.docChanged&&(t.pos=s.changes.mapPos(t.pos),r=r.map(s.changes))},get(s,o,a){let l=i.posAndSideAtCoords({x:s.clientX,y:s.clientY},!1),c,h=Cf(i,l.pos,l.assoc,n);if(t.pos!=l.pos&&!o){let f=Cf(i,t.pos,t.assoc,n),u=Math.min(f.from,h.from),O=Math.max(f.to,h.to);h=u1&&(c=QQ(r,l.pos))?c:a?r.addRange(h):v.create([h])}}}function QQ(i,e){for(let t=0;t=e)return v.create(i.ranges.slice(0,t).concat(i.ranges.slice(t+1)),i.mainIndex==t?0:i.mainIndex-(i.mainIndex>t?1:0))}return null}Qt.dragstart=(i,e)=>{let{selection:{main:t}}=i.state;if(e.target.draggable){let r=i.docView.tile.nearest(e.target);if(r&&r.isWidget()){let s=r.posAtStart,o=s+r.length;(s>=t.to||o<=t.from)&&(t=v.undirectionalRange(s,o))}}let{inputState:n}=i;return n.mouseSelection&&(n.mouseSelection.dragging=!0),n.draggedContent=t,e.dataTransfer&&(e.dataTransfer.setData("Text",ks(i.state,Ga,i.state.sliceDoc(t.from,t.to))),e.dataTransfer.effectAllowed="copyMove"),!1};Qt.dragend=i=>(i.inputState.draggedContent=null,!1);function Af(i,e,t,n){if(t=ks(i.state,Ua,t),!t)return;let r=i.posAtCoords({x:e.clientX,y:e.clientY},!1),{draggedContent:s}=i.inputState,o=n&&s&&uQ(i,e)?{from:s.from,to:s.to}:null,a={from:r,insert:t},l=i.state.changes(o?[o,a]:a);i.focus(),i.dispatch({changes:l,selection:{anchor:l.mapPos(r,-1),head:l.mapPos(r,1)},userEvent:o?"move.drop":"input.drop"}),i.inputState.draggedContent=null}Qt.drop=(i,e)=>{if(!e.dataTransfer)return!1;if(i.state.readOnly)return!0;let t=e.dataTransfer.files;if(t&&t.length){let n=Array(t.length),r=0,s=()=>{++r==t.length&&Af(i,e,n.filter(o=>o!=null).join(i.state.lineBreak),!1)};for(let o=0;o{/[\x00-\x08\x0e-\x1f]{2}/.test(a.result)||(n[o]=a.result),s()},a.readAsText(t[o])}return!0}else{let n=e.dataTransfer.getData("Text");if(n)return Af(i,e,n,!0),!0}return!1};Qt.paste=(i,e)=>{if(i.state.readOnly)return!0;i.observer.flush();let t=vu?null:e.clipboardData;return t?($u(i,t.getData("text/plain")||t.getData("text/uri-list")),!0):(pQ(i),!1)};function bQ(i,e){let t=i.dom.parentNode;if(!t)return;let n=t.appendChild(document.createElement("textarea"));n.style.cssText="position: fixed; left: -10000px; top: 10px",n.value=e,n.focus(),n.selectionEnd=e.length,n.selectionStart=0,setTimeout(()=>{n.remove(),i.focus()},50)}function SQ(i){let e=[],t=[],n=!1;for(let r of i.selection.ranges)r.empty||(e.push(i.sliceDoc(r.from,r.to)),t.push(r));if(!e.length){let r=-1;for(let{from:s}of i.selection.ranges){let o=i.doc.lineAt(s);o.number>r&&(e.push(o.text),t.push({from:o.from,to:Math.min(i.doc.length,o.to+1)})),r=o.number}n=!0}return{text:ks(i,Ga,e.join(i.lineBreak)),ranges:t,linewise:n}}var Xa=null;Qt.copy=Qt.cut=(i,e)=>{if(!Gn(i.contentDOM,i.observer.selectionRange))return!1;let{text:t,ranges:n,linewise:r}=SQ(i.state);if(!t&&!r)return!1;Xa=r?t:null,e.type=="cut"&&!i.state.readOnly&&i.dispatch({changes:n,scrollIntoView:!0,userEvent:"delete.cut"});let s=vu?null:e.clipboardData;return s?(s.clearData(),s.setData("text/plain",t),!0):(bQ(i,t),!1)};var Cu=_e.define();function Xu(i,e){let t=[];for(let n of i.facet(cu)){let r=n(i,e);r&&t.push(r)}return t.length?i.update({effects:t,annotations:Cu.of(!0)}):null}function _u(i){setTimeout(()=>{let e=i.hasFocus;if(e!=i.inputState.notifiedFocused){let t=Xu(i.state,e);t?i.dispatch(t):i.update([])}},10)}Me.focus=i=>{i.inputState.lastFocusTime=Date.now(),!i.scrollDOM.scrollTop&&(i.inputState.lastScrollTop||i.inputState.lastScrollLeft)&&(i.scrollDOM.scrollTop=i.inputState.lastScrollTop,i.scrollDOM.scrollLeft=i.inputState.lastScrollLeft),_u(i)};Me.blur=i=>{i.observer.clearSelectionRange(),_u(i)};Me.compositionstart=Me.compositionupdate=i=>{i.observer.editContext||(i.inputState.compositionFirstChange==null&&(i.inputState.compositionFirstChange=!0),i.inputState.composing<0&&(i.inputState.composing=0))};Me.compositionend=i=>{i.observer.editContext||(i.inputState.composing=-1,i.inputState.compositionEndedAt=Date.now(),i.inputState.compositionPendingKey=!0,i.inputState.compositionPendingChange=i.observer.pendingRecords().length>0,i.inputState.compositionFirstChange=null,L.chrome&&L.android?i.observer.flushSoon():i.inputState.compositionPendingChange?Promise.resolve().then(()=>i.observer.flush()):setTimeout(()=>{i.inputState.composing<0&&i.docView.hasComposition&&i.update([])},50))};Me.contextmenu=i=>{i.inputState.lastContextMenu=Date.now()};Qt.beforeinput=(i,e)=>{var t,n;if((e.inputType=="insertText"||e.inputType=="insertCompositionText")&&(i.inputState.insertingText=e.data,i.inputState.insertingTextAt=Date.now()),e.inputType=="insertReplacementText"&&i.observer.editContext){let s=(t=e.dataTransfer)===null||t===void 0?void 0:t.getData("text/plain"),o=e.getTargetRanges();if(s&&o.length){let a=o[0],l=i.posAtDOM(a.startContainer,a.startOffset),c=i.posAtDOM(a.endContainer,a.endOffset);return Ha(i,{from:l,to:c,insert:i.state.toText(s)},null),!0}}let r;if(L.chrome&&L.android&&(r=wu.find(s=>s.inputType==e.inputType))&&(i.observer.delayAndroidKey(r.key,r.keyCode),r.key=="Backspace"||r.key=="Delete")){let s=((n=window.visualViewport)===null||n===void 0?void 0:n.height)||0;setTimeout(()=>{var o;(((o=window.visualViewport)===null||o===void 0?void 0:o.height)||0)>s+10&&i.hasFocus&&(i.contentDOM.blur(),i.focus())},100)}return L.ios&&e.inputType=="deleteContentForward"&&i.observer.flushSoon(),L.safari&&e.inputType=="insertText"&&i.inputState.composing>=0&&setTimeout(()=>Me.compositionend(i,e),20),!1};var Zf=new Set;function yQ(i){Zf.has(i)||(Zf.add(i),i.addEventListener("copy",()=>{}),i.addEventListener("cut",()=>{}))}var qf=["pre-wrap","normal","pre-line","break-spaces"],gn=!1;function Ef(){gn=!1}var _a=class{constructor(e){this.lineWrapping=e,this.doc=H.empty,this.heightSamples={},this.lineHeight=14,this.charWidth=7,this.textHeight=14,this.lineLength=30}heightForGap(e,t){let n=this.doc.lineAt(t).number-this.doc.lineAt(e).number+1;return this.lineWrapping&&(n+=Math.max(0,Math.ceil((t-e-n*this.lineLength*.5)/this.lineLength))),this.lineHeight*n}heightForLine(e){return this.lineWrapping?(1+Math.max(0,Math.ceil((e-this.lineLength)/Math.max(1,this.lineLength-5))))*this.lineHeight:this.lineHeight}setDoc(e){return this.doc=e,this}mustRefreshForWrapping(e){return qf.indexOf(e)>-1!=this.lineWrapping}mustRefreshForHeights(e){let t=!1;for(let n=0;n-1,l=Math.abs(t-this.lineHeight)>.3||this.lineWrapping!=a;if(this.lineWrapping=a,this.lineHeight=t,this.charWidth=n,this.textHeight=r,this.lineLength=s,l){this.heightSamples={};for(let c=0;c0}set outdated(e){this.flags=(e?2:0)|this.flags&-3}setHeight(e){this.height!=e&&(Math.abs(this.height-e)>as&&(gn=!0),this.height=e)}replace(e,t,n){return i.of(n)}decomposeLeft(e,t){t.push(this)}decomposeRight(e,t){t.push(this)}applyChanges(e,t,n,r){let s=this,o=n.doc;for(let a=r.length-1;a>=0;a--){let{fromA:l,toA:c,fromB:h,toB:f}=r[a],u=s.lineAt(l,ae.ByPosNoHeight,n.setDoc(t),0,0),O=u.to>=c?u:s.lineAt(c,ae.ByPosNoHeight,n,0,0);for(f+=O.to-c,c=O.to;a>0&&u.from<=r[a-1].toA;)l=r[a-1].fromA,h=r[a-1].fromB,a--,ls*2){let a=e[t-1];a.break?e.splice(--t,1,a.left,null,a.right):e.splice(--t,1,a.left,a.right),n+=1+a.break,r-=a.size}else if(s>r*2){let a=e[n];a.break?e.splice(n,1,a.left,null,a.right):e.splice(n,1,a.left,a.right),n+=2+a.break,s-=a.size}else break;else if(r=s&&o(this.lineAt(0,ae.ByPos,n,r,s))}setMeasuredHeight(e){let t=e.heights[e.index++];t<0?(this.spaceAbove=-t,t=e.heights[e.index++]):this.spaceAbove=0,this.setHeight(t)}updateHeight(e,t=0,n=!1,r){return r&&r.from<=t&&r.more&&this.setMeasuredHeight(r),this.outdated=!1,this}toString(){return`block(${this.length})`}},rt=class i extends gs{constructor(e,t,n){super(e,t,null),this.collapsed=0,this.widgetHeight=0,this.breaks=0,this.spaceAbove=n}mainBlock(e,t){return new mt(t,this.length,e+this.spaceAbove,this.height-this.spaceAbove,this.breaks)}replace(e,t,n){let r=n[0];return n.length==1&&(r instanceof i||r instanceof si&&r.flags&4)&&Math.abs(this.length-r.length)<10?(r instanceof si?r=new i(r.length,this.height,this.spaceAbove):r.height=this.height,this.outdated||(r.outdated=!1),r):He.of(n)}updateHeight(e,t=0,n=!1,r){return r&&r.from<=t&&r.more?this.setMeasuredHeight(r):(n||this.outdated)&&(this.spaceAbove=0,this.setHeight(Math.max(this.widgetHeight,e.heightForLine(this.length-this.collapsed))+this.breaks*e.lineHeight)),this.outdated=!1,this}toString(){return`line(${this.length}${this.collapsed?-this.collapsed:""}${this.widgetHeight?":"+this.widgetHeight:""})`}},si=class i extends He{constructor(e){super(e,0)}heightMetrics(e,t){let n=e.doc.lineAt(t).number,r=e.doc.lineAt(t+this.length).number,s=r-n+1,o,a=0;if(e.lineWrapping){let l=Math.min(this.height,e.lineHeight*s);o=l/s,this.length>s+1&&(a=(this.height-l)/(this.length-s-1))}else o=this.height/s;return{firstLine:n,lastLine:r,perLine:o,perChar:a}}blockAt(e,t,n,r){let{firstLine:s,lastLine:o,perLine:a,perChar:l}=this.heightMetrics(t,r);if(t.lineWrapping){let c=r+(e0){let s=n[n.length-1];s instanceof i?n[n.length-1]=new i(s.length+r):n.push(null,new i(r-1))}if(e>0){let s=n[0];s instanceof i?n[0]=new i(e+s.length):n.unshift(new i(e-1),null)}return He.of(n)}decomposeLeft(e,t){t.push(new i(e-1),null)}decomposeRight(e,t){t.push(null,new i(this.length-e-1))}updateHeight(e,t=0,n=!1,r){let s=t+this.length;if(r&&r.from<=t+this.length&&r.more){let o=[],a=Math.max(t,r.from),l=-1;for(r.from>t&&o.push(new i(r.from-t-1).updateHeight(e,t));a<=s&&r.more;){let h=e.doc.lineAt(a).length;o.length&&o.push(null);let f=r.heights[r.index++],u=0;f<0&&(u=-f,f=r.heights[r.index++]),l==-1?l=f:Math.abs(f-l)>=as&&(l=-2);let O=new rt(h,f,u);O.outdated=!1,o.push(O),a+=h+1}a<=s&&o.push(null,new i(s-a).updateHeight(e,a));let c=He.of(o);return(l<0||Math.abs(c.height-this.height)>=as||Math.abs(l-this.heightMetrics(e,t).perLine)>=as)&&(gn=!0),ms(this,c)}else(n||this.outdated)&&(this.setHeight(e.heightForGap(t,t+this.length)),this.outdated=!1);return this}toString(){return`gap(${this.length})`}},Aa=class extends He{constructor(e,t,n){super(e.length+t+n.length,e.height+n.height,t|(e.outdated||n.outdated?2:0)),this.left=e,this.right=n,this.size=e.size+n.size}get break(){return this.flags&1}blockAt(e,t,n,r){let s=n+this.left.height;return ea))return c;let h=t==ae.ByPosNoHeight?ae.ByPosNoHeight:ae.ByPos;return l?c.join(this.right.lineAt(a,h,n,o,a)):this.left.lineAt(a,h,n,r,s).join(c)}forEachLine(e,t,n,r,s,o){let a=r+this.left.height,l=s+this.left.length+this.break;if(this.break)e=l&&this.right.forEachLine(e,t,n,a,l,o);else{let c=this.lineAt(l,ae.ByPos,n,r,s);e=e&&c.from<=t&&o(c),t>c.to&&this.right.forEachLine(c.to+1,t,n,a,l,o)}}replace(e,t,n){let r=this.left.length+this.break;if(tthis.left.length)return this.balanced(this.left,this.right.replace(e-r,t-r,n));let s=[];e>0&&this.decomposeLeft(e,s);let o=s.length;for(let a of n)s.push(a);if(e>0&&zf(s,o-1),t=n&&t.push(null)),e>n&&this.right.decomposeLeft(e-n,t)}decomposeRight(e,t){let n=this.left.length,r=n+this.break;if(e>=r)return this.right.decomposeRight(e-r,t);e2*t.size||t.size>2*e.size?He.of(this.break?[e,null,t]:[e,t]):(this.left=ms(this.left,e),this.right=ms(this.right,t),this.setHeight(e.height+t.height),this.outdated=e.outdated||t.outdated,this.size=e.size+t.size,this.length=e.length+this.break+t.length,this)}updateHeight(e,t=0,n=!1,r){let{left:s,right:o}=this,a=t+s.length+this.break,l=null;return r&&r.from<=t+s.length&&r.more?l=s=s.updateHeight(e,t,n,r):s.updateHeight(e,t,n),r&&r.from<=a+o.length&&r.more?l=o=o.updateHeight(e,a,n,r):o.updateHeight(e,a,n),l?this.balanced(s,o):(this.height=this.left.height+this.right.height,this.outdated=!1,this)}toString(){return this.left+(this.break?" ":"-")+this.right}};function zf(i,e){let t,n;i[e]==null&&(t=i[e-1])instanceof si&&(n=i[e+1])instanceof si&&i.splice(e-1,3,new si(t.length+1+n.length))}var xQ=5,Za=class i{constructor(e,t){this.pos=e,this.oracle=t,this.nodes=[],this.lineStart=-1,this.lineEnd=-1,this.covering=null,this.writtenTo=e}get isCovered(){return this.covering&&this.nodes[this.nodes.length-1]==this.covering}span(e,t){if(this.lineStart>-1){let n=Math.min(t,this.lineEnd),r=this.nodes[this.nodes.length-1];r instanceof rt?r.length+=n-this.pos:(n>this.pos||!this.isCovered)&&this.nodes.push(new rt(n-this.pos,-1,0)),this.writtenTo=n,t>n&&(this.nodes.push(null),this.writtenTo++,this.lineStart=-1)}this.pos=t}point(e,t,n){if(e=xQ)&&this.addLineDeco(r,s,o)}else t>e&&this.span(e,t);this.lineEnd>-1&&this.lineEnd-1)return;let{from:e,to:t}=this.oracle.doc.lineAt(this.pos);this.lineStart=e,this.lineEnd=t,this.writtenToe&&this.nodes.push(new rt(this.pos-e,-1,0)),this.writtenTo=this.pos}blankContent(e,t){let n=new si(t-e);return this.oracle.doc.lineAt(e).to==t&&(n.flags|=4),n}ensureLine(){this.enterLine();let e=this.nodes.length?this.nodes[this.nodes.length-1]:null;if(e instanceof rt)return e;let t=new rt(0,-1,0);return this.nodes.push(t),t}addBlock(e){this.enterLine();let t=e.deco;t&&t.startSide>0&&!this.isCovered&&this.ensureLine(),this.nodes.push(e),this.writtenTo=this.pos=this.pos+e.length,t&&t.endSide>0&&(this.covering=e)}addLineDeco(e,t,n){let r=this.ensureLine();r.length+=n,r.collapsed+=n,r.widgetHeight=Math.max(r.widgetHeight,e),r.breaks+=t,this.writtenTo=this.pos=this.pos+n}finish(e){let t=this.nodes.length==0?null:this.nodes[this.nodes.length-1];this.lineStart>-1&&!(t instanceof rt)&&!this.isCovered?this.nodes.push(new rt(0,-1,0)):(this.writtenToh.clientHeight||h.scrollWidth>h.clientWidth)&&f.overflow!="visible"){let u=h.getBoundingClientRect();s=Math.max(s,u.left),o=Math.min(o,u.right),a=Math.max(a,u.top),l=Math.min(c==i.parentNode?r.innerHeight:l,u.bottom)}c=f.position=="absolute"||f.position=="fixed"?h.offsetParent:h.parentNode}else if(c.nodeType==11)c=c.host;else break;return{left:s-t.left,right:Math.max(s,o)-t.left,top:a-(t.top+e),bottom:Math.max(a,l)-(t.top+e)}}function vQ(i){let e=i.getBoundingClientRect(),t=i.ownerDocument.defaultView||window;return e.left0&&e.top0}function $Q(i,e){let t=i.getBoundingClientRect();return{left:0,right:t.right-t.left,top:e,bottom:t.bottom-(t.top+e)}}var er=class{constructor(e,t,n,r){this.from=e,this.to=t,this.size=n,this.displaySize=r}static same(e,t){if(e.length!=t.length)return!1;for(let n=0;ntypeof r!="function"&&r.class=="cm-lineWrapping");this.heightOracle=new _a(n),this.stateDeco=Mf(t),this.heightMap=He.empty().applyChanges(this.stateDeco,H.empty,this.heightOracle.setDoc(t.doc),[new gt(0,0,0,t.doc.length)]);for(let r=0;r<2&&(this.viewport=this.getViewport(0,null),!!this.updateForViewport());r++);this.updateViewportLines(),this.lineGaps=this.ensureLineGaps([]),this.lineGapDeco=Z.set(this.lineGaps.map(r=>r.draw(this,!1))),this.scrollParent=e.scrollDOM,this.computeVisibleRanges()}updateForViewport(){let e=[this.viewport],{main:t}=this.state.selection;for(let n=0;n<=1;n++){let r=n?t.head:t.anchor;if(!e.some(({from:s,to:o})=>r>=s&&r<=o)){let{from:s,to:o}=this.lineBlockAt(r);e.push(new hn(s,o))}}return this.viewports=e.sort((n,r)=>n.from-r.from),this.updateScaler()}updateScaler(){let e=this.scaler;return this.scaler=this.heightMap.height<=7e6?Lf:new za(this.heightOracle,this.heightMap,this.viewports),e.eq(this.scaler)?0:2}updateViewportLines(){this.viewportLines=[],this.heightMap.forEachLine(this.viewport.from,this.viewport.to,this.heightOracle.setDoc(this.state.doc),0,0,e=>{this.viewportLines.push(Bn(e,this.scaler))})}update(e,t=null){this.state=e.state;let n=this.stateDeco;this.stateDeco=Mf(this.state);let r=e.changedRanges,s=gt.extendWithRanges(r,wQ(n,this.stateDeco,e?e.changes:ze.empty(this.state.doc.length))),o=this.heightMap.height,a=this.scrolledToBottom?null:this.scrollAnchorAt(this.scrollOffset);Ef(),this.heightMap=this.heightMap.applyChanges(this.stateDeco,e.startState.doc,this.heightOracle.setDoc(this.state.doc),s),(this.heightMap.height!=o||gn)&&(e.flags|=2),a?(this.scrollAnchorPos=e.changes.mapPos(a.from,-1),this.scrollAnchorHeight=a.top):(this.scrollAnchorPos=-1,this.scrollAnchorHeight=o);let l=s.length?this.mapViewport(this.viewport,e.changes):this.viewport;(t&&(t.range.headl.to)||!this.viewportIsAppropriate(l))&&(l=this.getViewport(0,t));let c=l.from!=this.viewport.from||l.to!=this.viewport.to;this.viewport=l,e.flags|=this.updateForViewport(),(c||!e.changes.empty||e.flags&2)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(this.mapLineGaps(this.lineGaps,e.changes))),e.flags|=this.computeVisibleRanges(e.changes),t&&(this.scrollTarget=t),!this.mustEnforceCursorAssoc&&(e.selectionSet||e.focusChanged)&&e.view.lineWrapping&&e.state.selection.main.empty&&e.state.selection.main.assoc&&!e.state.facet(Z0)&&(this.mustEnforceCursorAssoc=!0)}measure(){let{view:e}=this,t=e.contentDOM,n=window.getComputedStyle(t),r=this.heightOracle,s=n.whiteSpace;this.defaultTextDirection=n.direction=="rtl"?ue.RTL:ue.LTR;let o=this.heightOracle.mustRefreshForWrapping(s)||this.mustMeasureContent==="refresh",a=t.getBoundingClientRect(),l=o||this.mustMeasureContent||this.contentDOMHeight!=a.height;this.contentDOMHeight=a.height,this.mustMeasureContent=!1;let c=0,h=0;if(a.width&&a.height){let{scaleX:P,scaleY:$}=Uf(t,a);(P>.005&&Math.abs(this.scaleX-P)>.005||$>.005&&Math.abs(this.scaleY-$)>.005)&&(this.scaleX=P,this.scaleY=$,c|=16,o=l=!0)}let f=(parseInt(n.paddingTop)||0)*this.scaleY,u=(parseInt(n.paddingBottom)||0)*this.scaleY;(this.paddingTop!=f||this.paddingBottom!=u)&&(this.paddingTop=f,this.paddingBottom=u,c|=18),this.editorWidth!=e.scrollDOM.clientWidth&&(r.lineWrapping&&(l=!0),this.editorWidth=e.scrollDOM.clientWidth,c|=16);let O=Gf(this.view.contentDOM,!1).y;O!=this.scrollParent&&(this.scrollParent=O,this.scrollAnchorHeight=-1,this.scrollOffset=0);let p=this.getScrollOffset();this.scrollOffset!=p&&(this.scrollAnchorHeight=-1,this.scrollOffset=p),this.scrolledToBottom=Ff(this.scrollParent||e.win);let m=(this.printing?$Q:PQ)(t,this.paddingTop),b=m.top-this.pixelViewport.top,g=m.bottom-this.pixelViewport.bottom;this.pixelViewport=m;let Q=this.pixelViewport.bottom>this.pixelViewport.top&&this.pixelViewport.right>this.pixelViewport.left;if(Q!=this.inView&&(this.inView=Q,Q&&(l=!0)),!this.inView&&!this.scrollTarget&&!vQ(e.dom))return 0;let S=a.width;if((this.contentDOMWidth!=S||this.editorHeight!=e.scrollDOM.clientHeight)&&(this.contentDOMWidth=a.width,this.editorHeight=e.scrollDOM.clientHeight,c|=16),l){let P=e.docView.measureVisibleLineHeights(this.viewport);if(r.mustRefreshForHeights(P)&&(o=!0),o||r.lineWrapping&&Math.abs(S-this.contentDOMWidth)>r.charWidth){let{lineHeight:$,charWidth:R,textHeight:_}=e.docView.measureTextSize();o=$>0&&r.refresh(s,$,R,_,Math.max(5,S/R),P),o&&(e.docView.minWidth=0,c|=16)}b>0&&g>0?h=Math.max(b,g):b<0&&g<0&&(h=Math.min(b,g)),Ef();for(let $ of this.viewports){let R=$.from==this.viewport.from?P:e.docView.measureVisibleLineHeights($);this.heightMap=(o?He.empty().applyChanges(this.stateDeco,H.empty,this.heightOracle,[new gt(0,0,0,e.state.doc.length)]):this.heightMap).updateHeight(r,0,o,new Ra($.from,R))}gn&&(c|=2)}let x=!this.viewportIsAppropriate(this.viewport,h)||this.scrollTarget&&(this.scrollTarget.range.headthis.viewport.to);return x&&(c&2&&(c|=this.updateScaler()),this.viewport=this.getViewport(h,this.scrollTarget),c|=this.updateForViewport()),(c&2||x)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(o?[]:this.lineGaps,e)),c|=this.computeVisibleRanges(),this.mustEnforceCursorAssoc&&(this.mustEnforceCursorAssoc=!1,e.docView.enforceCursorAssoc()),c}get visibleTop(){return this.scaler.fromDOM(this.pixelViewport.top)}get visibleBottom(){return this.scaler.fromDOM(this.pixelViewport.bottom)}getViewport(e,t){let n=.5-Math.max(-.5,Math.min(.5,e/1e3/2)),r=this.heightMap,s=this.heightOracle,{visibleTop:o,visibleBottom:a}=this,l=new hn(r.lineAt(o-n*1e3,ae.ByHeight,s,0,0).from,r.lineAt(a+(1-n)*1e3,ae.ByHeight,s,0,0).to);if(t){let{head:c}=t.range;if(cl.to){let h=Math.min(this.editorHeight,this.pixelViewport.bottom-this.pixelViewport.top),f=r.lineAt(c,ae.ByPos,s,0,0),u;t.y=="center"?u=(f.top+f.bottom)/2-h/2:t.y=="start"||t.y=="nearest"&&c=a+Math.max(10,Math.min(n,250)))&&r>o-2*1e3&&s>1,o=r<<1;if(this.defaultTextDirection!=ue.LTR&&!n)return[];let a=[],l=(h,f,u,O)=>{if(f-hh&&gg.from>=u.from&&g.to<=u.to&&Math.abs(g.from-h)g.fromQ));if(!b){if(fS.from<=f&&S.to>=f)){let S=t.moveToLineBoundary(v.cursor(f),!1,!0).head;S>h&&(f=S)}let g=this.gapSize(u,h,f,O),Q=n||g<2e6?g:2e6;b=new er(h,f,g,Q)}a.push(b)},c=h=>{if(h.length2e6)for(let $ of e)$.from>=h.from&&$.fromh.from&&l(h.from,O,h,f),pt.draw(this,this.heightOracle.lineWrapping))))}computeVisibleRanges(e){let t=this.stateDeco;this.lineGaps.length&&(t=t.concat(this.lineGapDeco));let n=[];oe.spans(t,this.viewport.from,this.viewport.to,{span(s,o){n.push({from:s,to:o})},point(){}},20);let r=0;if(n.length!=this.visibleRanges.length)r=12;else for(let s=0;s=this.viewport.from&&e<=this.viewport.to&&this.viewportLines.find(t=>t.from<=e&&t.to>=e)||Bn(this.heightMap.lineAt(e,ae.ByPos,this.heightOracle,0,0),this.scaler)}lineBlockAtHeight(e){return e>=this.viewportLines[0].top&&e<=this.viewportLines[this.viewportLines.length-1].bottom&&this.viewportLines.find(t=>t.top<=e&&t.bottom>=e)||Bn(this.heightMap.lineAt(this.scaler.fromDOM(e),ae.ByHeight,this.heightOracle,0,0),this.scaler)}getScrollOffset(){return(this.scrollParent==this.view.scrollDOM?this.scrollParent.scrollTop:(this.scrollParent?this.scrollParent.getBoundingClientRect().top:0)-this.view.contentDOM.getBoundingClientRect().top)*this.scaleY}scrollAnchorAt(e){let t=this.lineBlockAtHeight(e+8);return t.from>=this.viewport.from||this.viewportLines[0].top-e>200?t:this.viewportLines[0]}elementAtHeight(e){return Bn(this.heightMap.blockAt(this.scaler.fromDOM(e),this.heightOracle,0,0),this.scaler)}get docHeight(){return this.scaler.toDOM(this.heightMap.height)}get contentHeight(){return this.docHeight+this.paddingTop+this.paddingBottom}},hn=class{constructor(e,t){this.from=e,this.to=t}};function TQ(i,e,t){let n=[],r=i,s=0;return oe.spans(t,i,e,{span(){},point(o,a){o>r&&(n.push({from:r,to:o}),s+=o-r),r=a}},20),r=1)return e[e.length-1].to;let n=Math.floor(i*t);for(let r=0;;r++){let{from:s,to:o}=e[r],a=o-s;if(n<=a)return s+n;n-=a}}function ns(i,e){let t=0;for(let{from:n,to:r}of i.ranges){if(e<=r){t+=e-n;break}t+=r-n}return t/i.total}function CQ(i,e){for(let t of i)if(e(t))return t}var Lf={toDOM(i){return i},fromDOM(i){return i},scale:1,eq(i){return i==this}};function Mf(i){let e=i.facet(ys).filter(n=>typeof n!="function"),t=i.facet(Fa).filter(n=>typeof n!="function");return t.length&&e.push(oe.join(t)),e}var za=class i{constructor(e,t,n){let r=0,s=0,o=0;this.viewports=n.map(({from:a,to:l})=>{let c=t.lineAt(a,ae.ByPos,e,0,0).top,h=t.lineAt(l,ae.ByPos,e,0,0).bottom;return r+=h-c,{from:a,to:l,top:c,bottom:h,domTop:0,domBottom:0}}),this.scale=(7e6-r)/(t.height-r);for(let a of this.viewports)a.domTop=o+(a.top-s)*this.scale,o=a.domBottom=a.domTop+(a.bottom-a.top),s=a.bottom}toDOM(e){for(let t=0,n=0,r=0;;t++){let s=tt.from==e.viewports[n].from&&t.to==e.viewports[n].to):!1}};function Bn(i,e){if(e.scale==1)return i;let t=e.toDOM(i.top),n=e.toDOM(i.bottom);return new mt(i.from,i.length,t,n-t,Array.isArray(i._content)?i._content.map(r=>Bn(r,e)):i._content)}var rs=Y.define({combine:i=>i.join(" ")}),La=Y.define({combine:i=>i.indexOf(!0)>-1}),Ma=nt.newName(),Ru=nt.newName(),Au=nt.newName(),Zu={"&light":"."+Ru,"&dark":"."+Au};function Wa(i,e,t){return new nt(e,{finish(n){return/&/.test(n)?n.replace(/&\w*/,r=>{if(r=="&")return i;if(!t||!t[r])throw new RangeError(`Unsupported selector: ${r}`);return t[r]}):i+" "+n}})}var XQ=Wa("."+Ma,{"&":{position:"relative !important",boxSizing:"border-box","&.cm-focused":{outline:"1px dotted #212121"},display:"flex !important",flexDirection:"column"},".cm-scroller":{display:"flex !important",alignItems:"flex-start !important",fontFamily:"monospace",lineHeight:1.4,height:"100%",overflowX:"auto",position:"relative",zIndex:0,overflowAnchor:"none"},".cm-content":{margin:0,flexGrow:2,flexShrink:0,display:"block",whiteSpace:"pre",wordWrap:"normal",boxSizing:"border-box",minHeight:"100%",padding:"4px 0",outline:"none","&[contenteditable=true]":{WebkitUserModify:"read-write-plaintext-only"}},".cm-lineWrapping":{whiteSpace_fallback:"pre-wrap",whiteSpace:"break-spaces",wordBreak:"break-word",overflowWrap:"anywhere",flexShrink:1},"&light .cm-content":{caretColor:"black"},"&dark .cm-content":{caretColor:"white"},".cm-line":{display:"block",padding:"0 2px 0 6px"},".cm-layer":{userSelect:"none",position:"absolute",left:0,top:0,contain:"size style","& > *":{position:"absolute"}},"&light .cm-selectionBackground":{background:"#d9d9d9"},"&dark .cm-selectionBackground":{background:"#222"},"&light.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#d7d4f0"},"&dark.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#233"},".cm-cursorLayer":{pointerEvents:"none"},"&.cm-focused > .cm-scroller > .cm-cursorLayer":{animation:"steps(1) cm-blink 1.2s infinite"},"@keyframes cm-blink":{"0%":{},"50%":{opacity:0},"100%":{}},"@keyframes cm-blink2":{"0%":{},"50%":{opacity:0},"100%":{}},".cm-cursor, .cm-dropCursor":{borderLeft:"1.2px solid black",marginLeft:"-0.6px",pointerEvents:"none"},".cm-cursor":{display:"none"},"&dark .cm-cursor":{borderLeftColor:"#ddd"},".cm-selectionHandle":{backgroundColor:"currentColor",width:"1.5px"},".cm-selectionHandle-start::before, .cm-selectionHandle-end::before":{content:'""',backgroundColor:"inherit",borderRadius:"50%",width:"8px",height:"8px",position:"absolute",left:"-3.25px"},".cm-selectionHandle-start::before":{top:"-8px"},".cm-selectionHandle-end::before":{bottom:"-8px"},".cm-dropCursor":{position:"absolute"},"&.cm-focused > .cm-scroller > .cm-cursorLayer .cm-cursor":{display:"block"},".cm-iso":{unicodeBidi:"isolate"},".cm-announced":{position:"fixed",top:"-10000px"},"@media print":{".cm-announced":{display:"none"}},"&light .cm-activeLine":{backgroundColor:"#cceeff44"},"&dark .cm-activeLine":{backgroundColor:"#99eeff33"},"&light .cm-specialChar":{color:"red"},"&dark .cm-specialChar":{color:"#f78"},".cm-gutters":{flexShrink:0,display:"flex",height:"100%",boxSizing:"border-box",zIndex:200},".cm-gutters-before":{insetInlineStart:0},".cm-gutters-after":{insetInlineEnd:0},"&light .cm-gutters":{backgroundColor:"#f5f5f5",color:"#6c6c6c",border:"0px solid #ddd","&.cm-gutters-before":{borderRightWidth:"1px"},"&.cm-gutters-after":{borderLeftWidth:"1px"}},"&dark .cm-gutters":{backgroundColor:"#333338",color:"#ccc"},".cm-gutter":{display:"flex !important",flexDirection:"column",flexShrink:0,boxSizing:"border-box",minHeight:"100%",overflow:"hidden"},".cm-gutterElement":{boxSizing:"border-box"},".cm-lineNumbers .cm-gutterElement":{padding:"0 3px 0 5px",minWidth:"20px",textAlign:"right",whiteSpace:"nowrap"},"&light .cm-activeLineGutter":{backgroundColor:"#e2f2ff"},"&dark .cm-activeLineGutter":{backgroundColor:"#222227"},".cm-panels":{boxSizing:"border-box",position:"sticky",left:0,right:0,zIndex:300},"&light .cm-panels":{backgroundColor:"#f5f5f5",color:"black"},"&light .cm-panels-top":{borderBottom:"1px solid #ddd"},"&light .cm-panels-bottom":{borderTop:"1px solid #ddd"},"&dark .cm-panels":{backgroundColor:"#333338",color:"white"},".cm-dialog":{padding:"2px 19px 4px 6px",position:"relative","& label":{fontSize:"80%"}},".cm-dialog-close":{position:"absolute",top:"3px",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",fontSize:"14px",padding:"0"},".cm-tab":{display:"inline-block",overflow:"hidden",verticalAlign:"bottom"},".cm-widgetBuffer":{verticalAlign:"text-top",height:"1em",width:0,display:"inline"},".cm-placeholder":{color:"#888",display:"inline-block",verticalAlign:"top",userSelect:"none"},".cm-highlightSpace":{backgroundImage:"radial-gradient(circle at 50% 55%, #aaa 20%, transparent 5%)",backgroundPosition:"center"},".cm-highlightTab":{backgroundImage:`url('data:image/svg+xml,')`,backgroundSize:"auto 100%",backgroundPosition:"right 90%",backgroundRepeat:"no-repeat"},".cm-trailingSpace":{backgroundColor:"#ff332255"},".cm-button":{verticalAlign:"middle",color:"inherit",fontSize:"70%",padding:".2em 1em",borderRadius:"1px"},"&light .cm-button":{backgroundImage:"linear-gradient(#eff1f5, #d9d9df)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#b4b4b4, #d0d3d6)"}},"&dark .cm-button":{backgroundImage:"linear-gradient(#393939, #111)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#111, #333)"}},".cm-textfield":{verticalAlign:"middle",color:"inherit",fontSize:"70%",border:"1px solid silver",padding:".2em .5em"},"&light .cm-textfield":{backgroundColor:"white"},"&dark .cm-textfield":{border:"1px solid #555",backgroundColor:"inherit"}},Zu),_Q={childList:!0,characterData:!0,subtree:!0,attributes:!0,characterDataOldValue:!0},sa=L.ie&&L.ie_version<=11,ja=class{constructor(e){this.view=e,this.active=!1,this.editContext=null,this.selectionRange=new fa,this.selectionChanged=!1,this.delayedFlush=-1,this.resizeTimeout=-1,this.queue=[],this.delayedAndroidKey=null,this.flushingAndroidKey=-1,this.lastChange=0,this.scrollTargets=[],this.intersection=null,this.resizeScroll=null,this.intersecting=!1,this.gapIntersection=null,this.gaps=[],this.printQuery=null,this.parentCheck=-1,this.dom=e.contentDOM,this.observer=new MutationObserver(t=>{for(let n of t)this.queue.push(n);(L.ie&&L.ie_version<=11||L.ios&&e.composing)&&t.some(n=>n.type=="childList"&&n.removedNodes.length||n.type=="characterData"&&n.oldValue.length>n.target.nodeValue.length)?this.flushSoon():this.flush()}),window.EditContext&&L.android&&e.constructor.EDIT_CONTEXT!==!1&&!(L.chrome&&L.chrome_version<126)&&(this.editContext=new Va(e),e.state.facet(zt)&&(e.contentDOM.editContext=this.editContext.editContext)),sa&&(this.onCharData=t=>{this.queue.push({target:t.target,type:"characterData",oldValue:t.prevValue}),this.flushSoon()}),this.onSelectionChange=this.onSelectionChange.bind(this),this.onResize=this.onResize.bind(this),this.onPrint=this.onPrint.bind(this),this.onScroll=this.onScroll.bind(this),window.matchMedia&&(this.printQuery=window.matchMedia("print")),typeof ResizeObserver=="function"&&(this.resizeScroll=new ResizeObserver(()=>{var t;((t=this.view.docView)===null||t===void 0?void 0:t.lastUpdate){this.parentCheck<0&&(this.parentCheck=setTimeout(this.listenForScroll.bind(this),1e3)),t.length>0&&t[t.length-1].intersectionRatio>0!=this.intersecting&&(this.intersecting=!this.intersecting,this.intersecting!=this.view.inView&&this.onScrollChanged(document.createEvent("Event")))},{threshold:[0,.001]}),this.intersection.observe(this.dom),this.gapIntersection=new IntersectionObserver(t=>{t.length>0&&t[t.length-1].intersectionRatio>0&&this.onScrollChanged(document.createEvent("Event"))},{})),this.listenForScroll(),this.readSelectionRange()}onScrollChanged(e){this.view.inputState.runHandlers("scroll",e),this.intersecting&&this.view.measure()}onScroll(e){this.intersecting&&this.flush(!1),this.editContext&&this.view.requestMeasure(this.editContext.measureReq),this.onScrollChanged(e)}onResize(){this.resizeTimeout<0&&(this.resizeTimeout=setTimeout(()=>{this.resizeTimeout=-1,this.view.requestMeasure()},50))}onPrint(e){(e.type=="change"||!e.type)&&!e.matches||(this.view.viewState.printing=!0,this.view.measure(),setTimeout(()=>{this.view.viewState.printing=!1,this.view.requestMeasure()},500))}updateGaps(e){if(this.gapIntersection&&(e.length!=this.gaps.length||this.gaps.some((t,n)=>t!=e[n]))){this.gapIntersection.disconnect();for(let t of e)this.gapIntersection.observe(t);this.gaps=e}}onSelectionChange(e){let t=this.selectionChanged;if(!this.readSelectionRange()||this.delayedAndroidKey)return;let{view:n}=this,r=this.selectionRange;if(n.state.facet(zt)?n.root.activeElement!=this.dom:!Gn(this.dom,r))return;let s=r.anchorNode&&n.docView.tile.nearest(r.anchorNode);if(s&&s.isWidget()&&s.widget.ignoreEvent(e)){t||(this.selectionChanged=!1);return}(L.ie&&L.ie_version<=11||L.android&&L.chrome)&&!n.state.selection.main.empty&&r.focusNode&&Nn(r.focusNode,r.focusOffset,r.anchorNode,r.anchorOffset)?this.flushSoon():this.flush(!1)}readSelectionRange(){let{view:e}=this,t=nr(e.root);if(!t)return!1;let n=L.safari&&e.root.nodeType==11&&e.root.activeElement==this.dom&&RQ(this.view,t)||t;if(!n||this.selectionRange.eq(n))return!1;let r=Gn(this.dom,n);return r&&!this.selectionChanged&&e.inputState.lastFocusTime>Date.now()-200&&e.inputState.lastTouchTime{let s=this.delayedAndroidKey;s&&(this.clearDelayedAndroidKey(),this.view.inputState.lastKeyCode=s.keyCode,this.view.inputState.lastKeyTime=Date.now(),!this.flush()&&s.force&&un(this.dom,s.key,s.keyCode))};this.flushingAndroidKey=this.view.win.requestAnimationFrame(r)}(!this.delayedAndroidKey||e=="Enter")&&(this.delayedAndroidKey={key:e,keyCode:t,force:this.lastChange{this.delayedFlush=-1,this.flush()}))}forceFlush(){this.delayedFlush>=0&&(this.view.win.cancelAnimationFrame(this.delayedFlush),this.delayedFlush=-1),this.flush()}pendingRecords(){for(let e of this.observer.takeRecords())this.queue.push(e);return this.queue}processRecords(){let e=this.pendingRecords();e.length&&(this.queue=[]);let t=-1,n=-1,r=!1;for(let s of e){let o=this.readMutation(s);o&&(o.typeOver&&(r=!0),t==-1?{from:t,to:n}=o:(t=Math.min(o.from,t),n=Math.max(o.to,n)))}return{from:t,to:n,typeOver:r}}readChange(){let{from:e,to:t,typeOver:n}=this.processRecords(),r=this.selectionChanged&&Gn(this.dom,this.selectionRange);if(e<0&&!r)return null;e>-1&&(this.lastChange=Date.now()),this.view.inputState.lastFocusTime=0,this.selectionChanged=!1;let s=new $a(this.view,e,t,n);return this.view.docView.domChanged={newSel:s.newSel?s.newSel.main:null},s}flush(e=!0){if(this.delayedFlush>=0||this.delayedAndroidKey)return!1;e&&this.readSelectionRange();let t=this.readChange();if(!t)return this.view.requestMeasure(),!1;let n=this.view.state,r=ku(this.view,t);return this.view.state==n&&(t.domChanged||t.newSel&&!ps(this.view.state.selection,t.newSel.main))&&this.view.update([]),r}readMutation(e){let t=this.view.docView.tile.nearest(e.target);if(!t||t.isWidget())return null;if(t.markDirty(e.type=="attributes"),e.type=="childList"){let n=Wf(t,e.previousSibling||e.target.previousSibling,-1),r=Wf(t,e.nextSibling||e.target.nextSibling,1);return{from:n?t.posAfter(n):t.posAtStart,to:r?t.posBefore(r):t.posAtEnd,typeOver:!1}}else return e.type=="characterData"?{from:t.posAtStart,to:t.posAtEnd,typeOver:e.target.nodeValue==e.oldValue}:null}setWindow(e){e!=this.win&&(this.removeWindowListeners(this.win),this.win=e,this.addWindowListeners(this.win))}addWindowListeners(e){e.addEventListener("resize",this.onResize),this.printQuery?this.printQuery.addEventListener?this.printQuery.addEventListener("change",this.onPrint):this.printQuery.addListener(this.onPrint):e.addEventListener("beforeprint",this.onPrint),e.addEventListener("scroll",this.onScroll),e.document.addEventListener("selectionchange",this.onSelectionChange)}removeWindowListeners(e){e.removeEventListener("scroll",this.onScroll),e.removeEventListener("resize",this.onResize),this.printQuery?this.printQuery.removeEventListener?this.printQuery.removeEventListener("change",this.onPrint):this.printQuery.removeListener(this.onPrint):e.removeEventListener("beforeprint",this.onPrint),e.document.removeEventListener("selectionchange",this.onSelectionChange)}update(e){this.editContext&&(this.editContext.update(e),e.startState.facet(zt)!=e.state.facet(zt)&&(e.view.contentDOM.editContext=e.state.facet(zt)?this.editContext.editContext:null))}destroy(){var e,t,n;this.stop(),(e=this.intersection)===null||e===void 0||e.disconnect(),(t=this.gapIntersection)===null||t===void 0||t.disconnect(),(n=this.resizeScroll)===null||n===void 0||n.disconnect();for(let r of this.scrollTargets)r.removeEventListener("scroll",this.onScroll);this.removeWindowListeners(this.win),clearTimeout(this.parentCheck),clearTimeout(this.resizeTimeout),this.win.cancelAnimationFrame(this.delayedFlush),this.win.cancelAnimationFrame(this.flushingAndroidKey),this.editContext&&(this.view.contentDOM.editContext=null,this.editContext.destroy())}};function Wf(i,e,t){for(;e;){let n=fe.get(e);if(n&&n.parent==i)return n;let r=e.parentNode;e=r!=i.dom?r:t>0?e.nextSibling:e.previousSibling}return null}function jf(i,e){let t=e.startContainer,n=e.startOffset,r=e.endContainer,s=e.endOffset,o=i.docView.domAtPos(i.state.selection.main.anchor,1);return Nn(o.node,o.offset,r,s)&&([t,n,r,s]=[r,s,t,n]),{anchorNode:t,anchorOffset:n,focusNode:r,focusOffset:s}}function RQ(i,e){if(e.getComposedRanges){let r=e.getComposedRanges(i.root)[0];if(r)return jf(i,r)}let t=null;function n(r){r.preventDefault(),r.stopImmediatePropagation(),t=r.getTargetRanges()[0]}return i.contentDOM.addEventListener("beforeinput",n,!0),i.dom.ownerDocument.execCommand("indent"),i.contentDOM.removeEventListener("beforeinput",n,!0),t?jf(i,t):null}var Va=class{constructor(e){this.from=0,this.to=0,this.pendingContextChange=null,this.handlers=Object.create(null),this.composing=null,this.resetRange(e.state);let t=this.editContext=new window.EditContext({text:e.state.doc.sliceString(this.from,this.to),selectionStart:this.toContextPos(Math.max(this.from,Math.min(this.to,e.state.selection.main.anchor))),selectionEnd:this.toContextPos(e.state.selection.main.head)});this.handlers.textupdate=n=>{let r=e.state.selection.main,{anchor:s,head:o}=r,a=this.toEditorPos(n.updateRangeStart),l=this.toEditorPos(n.updateRangeEnd);e.inputState.composing>=0&&!this.composing&&(this.composing={contextBase:n.updateRangeStart,editorBase:a,drifted:!1});let c=l-a>n.text.length;a==this.from&&sthis.to&&(l=s);let h=xu(e.state.sliceDoc(a,l),n.text,(c?r.from:r.to)-a,c?"end":null);if(!h){let u=v.single(this.toEditorPos(n.selectionStart),this.toEditorPos(n.selectionEnd));ps(u,r)||e.dispatch({selection:u,userEvent:"select"});return}let f={from:h.from+a,to:h.toA+a,insert:H.of(n.text.slice(h.from,h.toB).split(` -`))};if((L.mac||L.android)&&f.from==o-1&&/^\. ?$/.test(n.text)&&e.contentDOM.getAttribute("autocorrect")=="off"&&(f={from:a,to:l,insert:H.of([n.text.replace("."," ")])}),this.pendingContextChange=f,!e.state.readOnly){let u=this.to-this.from+(f.to-f.from+f.insert.length);Ha(e,f,v.single(this.toEditorPos(n.selectionStart,u),this.toEditorPos(n.selectionEnd,u)))}this.pendingContextChange&&(this.revertPending(e.state),this.setSelection(e.state)),f.from=0&&!/[\\p{Alphabetic}\\p{Number}_]/.test(t.text.slice(Math.max(0,n.updateRangeStart-1),Math.min(t.text.length,n.updateRangeStart+1)))&&this.handlers.compositionend(n)},this.handlers.characterboundsupdate=n=>{let r=[],s=null;for(let o=this.toEditorPos(n.rangeStart),a=this.toEditorPos(n.rangeEnd);o{let r=[];for(let s of n.getTextFormats()){let o=s.underlineStyle,a=s.underlineThickness;if(!/none/i.test(o)&&!/none/i.test(a)){let l=this.toEditorPos(s.rangeStart),c=this.toEditorPos(s.rangeEnd);if(l{e.inputState.composing<0&&(e.inputState.composing=0,e.inputState.compositionFirstChange=!0)},this.handlers.compositionend=()=>{if(e.inputState.composing=-1,e.inputState.compositionFirstChange=null,this.composing){let{drifted:n}=this.composing;this.composing=null,n&&this.reset(e.state)}};for(let n in this.handlers)t.addEventListener(n,this.handlers[n]);this.measureReq={read:n=>{let r=nr(n.root);r&&r.rangeCount&&this.editContext.updateSelectionBounds(r.getRangeAt(0).getBoundingClientRect())}}}applyEdits(e){let t=0,n=!1,r=this.pendingContextChange;return e.changes.iterChanges((s,o,a,l,c)=>{if(n)return;let h=c.length-(o-s);if(r&&o>=r.to)if(r.from==s&&r.to==o&&r.insert.eq(c)){r=this.pendingContextChange=null,t+=h,this.to+=h;return}else r=null,this.revertPending(e.state);if(s+=t,o+=t,o<=this.from)this.from+=h,this.to+=h;else if(sthis.to||this.to-this.from+c.length>3e4){n=!0;return}this.editContext.updateText(this.toContextPos(s),this.toContextPos(o),c.toString()),this.to+=h}t+=h}),r&&!n&&this.revertPending(e.state),!n}update(e){let t=this.pendingContextChange,n=e.startState.selection.main;this.composing&&(this.composing.drifted||!e.changes.touchesRange(n.from,n.to)&&e.transactions.some(r=>!r.isUserEvent("input.type")&&r.changes.touchesRange(this.from,this.to)))?(this.composing.drifted=!0,this.composing.editorBase=e.changes.mapPos(this.composing.editorBase)):!this.applyEdits(e)||!this.rangeIsValid(e.state)?(this.pendingContextChange=null,this.reset(e.state)):(e.docChanged||e.selectionSet||t)&&this.setSelection(e.state),(e.geometryChanged||e.docChanged||e.selectionSet)&&e.view.requestMeasure(this.measureReq)}resetRange(e){let{head:t}=e.selection.main;this.from=Math.max(0,t-1e4),this.to=Math.min(e.doc.length,t+1e4)}reset(e){this.resetRange(e),this.editContext.updateText(0,this.editContext.text.length,e.doc.sliceString(this.from,this.to)),this.setSelection(e)}revertPending(e){let t=this.pendingContextChange;this.pendingContextChange=null,this.editContext.updateText(this.toContextPos(t.from),this.toContextPos(t.from+t.insert.length),e.doc.sliceString(t.from,t.to))}setSelection(e){let{main:t}=e.selection,n=this.toContextPos(Math.max(this.from,Math.min(this.to,t.anchor))),r=this.toContextPos(t.head);(this.editContext.selectionStart!=n||this.editContext.selectionEnd!=r)&&this.editContext.updateSelection(n,r)}rangeIsValid(e){let{head:t}=e.selection.main;return!(this.from>0&&t-this.from<500||this.to1e4*3)}toEditorPos(e,t=this.to-this.from){e=Math.min(e,t);let n=this.composing;return n&&n.drifted?n.editorBase+(e-n.contextBase):e+this.from}toContextPos(e){let t=this.composing;return t&&t.drifted?t.contextBase+(e-t.editorBase):e-this.from}destroy(){for(let e in this.handlers)this.editContext.removeEventListener(e,this.handlers[e])}},E=class i{get state(){return this.viewState.state}get viewport(){return this.viewState.viewport}get visibleRanges(){return this.viewState.visibleRanges}get inView(){return this.viewState.inView}get composing(){return!!this.inputState&&this.inputState.composing>0}get compositionStarted(){return!!this.inputState&&this.inputState.composing>=0}get root(){return this._root}get win(){return this.dom.ownerDocument.defaultView||window}constructor(e={}){var t;this.plugins=[],this.pluginMap=new Map,this.editorAttrs={},this.contentAttrs={},this.bidiCache=[],this.destroyed=!1,this.updateState=2,this.measureScheduled=-1,this.measureRequests=[],this.contentDOM=document.createElement("div"),this.scrollDOM=document.createElement("div"),this.scrollDOM.tabIndex=-1,this.scrollDOM.className="cm-scroller",this.scrollDOM.appendChild(this.contentDOM),this.announceDOM=document.createElement("div"),this.announceDOM.className="cm-announced",this.announceDOM.setAttribute("aria-live","polite"),this.dom=document.createElement("div"),this.dom.appendChild(this.announceDOM),this.dom.appendChild(this.scrollDOM),e.parent&&e.parent.appendChild(this.dom);let{dispatch:n}=e;this.dispatchTransactions=e.dispatchTransactions||n&&(r=>r.forEach(s=>n(s,this)))||(r=>this.update(r)),this.dispatch=this.dispatch.bind(this),this._root=e.root||x0(e.parent)||document,this.viewState=new Qs(this,e.state||re.create(e)),e.scrollTo&&e.scrollTo.is(Jr)&&(this.viewState.scrollTarget=e.scrollTo.value.clip(this.viewState.state)),this.plugins=this.state.facet(cn).map(r=>new Hn(r));for(let r of this.plugins)r.update(this);this.observer=new ja(this),this.inputState=new Ta(this),this.inputState.ensureHandlers(this.plugins),this.docView=new Os(this),this.mountStyles(),this.updateAttrs(),this.updateState=0,this.requestMeasure(),!((t=document.fonts)===null||t===void 0)&&t.ready&&document.fonts.ready.then(()=>{this.viewState.mustMeasureContent="refresh",this.requestMeasure()})}dispatch(...e){let t=e.length==1&&e[0]instanceof de?e:e.length==1&&Array.isArray(e[0])?e[0]:[this.state.update(...e)];this.dispatchTransactions(t,this)}update(e){if(this.updateState!=0)throw new Error("Calls to EditorView.update are not allowed while an update is in progress");let t=!1,n=!1,r,s=this.state;for(let u of e){if(u.startState!=s)throw new RangeError("Trying to update state with a transaction that doesn't start from the previous state.");s=u.state}if(this.destroyed){this.viewState.state=s;return}let o=this.hasFocus,a=0,l=null;e.some(u=>u.annotation(Cu))?(this.inputState.notifiedFocused=o,a=1):o!=this.inputState.notifiedFocused&&(this.inputState.notifiedFocused=o,l=Xu(s,o),l||(a=1));let c=this.observer.delayedAndroidKey,h=null;if(c?(this.observer.clearDelayedAndroidKey(),h=this.observer.readChange(),(h&&!this.state.doc.eq(s.doc)||!this.state.selection.eq(s.selection))&&(h=null)):this.observer.clear(),s.facet(re.phrases)!=this.state.facet(re.phrases))return this.setState(s);r=fs.create(this,s,e),r.flags|=a;let f=this.viewState.scrollTarget;try{this.updateState=2;for(let u of e){if(f&&(f=f.map(u.changes)),u.scrollIntoView){let{main:O}=u.state.selection,{x:p,y:m}=this.state.facet(i.cursorScrollMargin);f=new Fn(O.empty?O:v.cursor(O.head,O.head>O.anchor?-1:1),"nearest","nearest",m,p)}for(let O of u.effects)O.is(Jr)&&(f=O.value.clip(this.state))}this.viewState.update(r,f),this.bidiCache=bs.update(this.bidiCache,r.changes),r.empty||(this.updatePlugins(r),this.inputState.update(r)),t=this.docView.update(r),this.state.facet(In)!=this.styleModules&&this.mountStyles(),n=this.updateAttrs(),this.showAnnouncements(e),this.docView.updateSelection(t,e.some(u=>u.isUserEvent("select.pointer")))}finally{this.updateState=0}if(r.startState.facet(rs)!=r.state.facet(rs)&&(this.viewState.mustMeasureContent=!0),(t||n||f||this.viewState.mustEnforceCursorAssoc||this.viewState.mustMeasureContent)&&this.requestMeasure(),t&&this.docViewUpdate(),!r.empty)for(let u of this.state.facet(pa))try{u(r)}catch(O){at(this.state,O,"update listener")}(l||h)&&Promise.resolve().then(()=>{l&&this.state==l.startState&&this.dispatch(l),h&&!ku(this,h)&&c.force&&un(this.contentDOM,c.key,c.keyCode)})}setState(e){if(this.updateState!=0)throw new Error("Calls to EditorView.setState are not allowed while an update is in progress");if(this.destroyed){this.viewState.state=e;return}this.updateState=2;let t=this.hasFocus;try{for(let n of this.plugins)n.destroy(this);this.viewState=new Qs(this,e),this.plugins=e.facet(cn).map(n=>new Hn(n)),this.pluginMap.clear();for(let n of this.plugins)n.update(this);this.docView.destroy(),this.docView=new Os(this),this.inputState.ensureHandlers(this.plugins),this.mountStyles(),this.updateAttrs(),this.bidiCache=[]}finally{this.updateState=0}t&&this.focus(),this.requestMeasure()}updatePlugins(e){let t=e.startState.facet(cn),n=e.state.facet(cn);if(t!=n){let r=[];for(let s of n){let o=t.indexOf(s);if(o<0)r.push(new Hn(s));else{let a=this.plugins[o];a.mustUpdate=e,r.push(a)}}for(let s of this.plugins)s.mustUpdate!=e&&s.destroy(this);this.plugins=r,this.pluginMap.clear()}else for(let r of this.plugins)r.mustUpdate=e;for(let r=0;r-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.observer.delayedAndroidKey){this.measureScheduled=-1,this.requestMeasure();return}this.measureScheduled=0,e&&this.observer.forceFlush();let t=null,n=this.viewState.scrollParent,r=this.viewState.getScrollOffset(),{scrollAnchorPos:s,scrollAnchorHeight:o}=this.viewState;Math.abs(r-this.viewState.scrollOffset)>1&&(o=-1),this.viewState.scrollAnchorHeight=-1;try{for(let a=0;;a++){if(o<0)if(Ff(n||this.win))s=-1,o=this.viewState.heightMap.height;else{let O=this.viewState.scrollAnchorAt(r);s=O.from,o=O.top}this.updateState=1;let l=this.viewState.measure();if(!l&&!this.measureRequests.length&&this.viewState.scrollTarget==null)break;if(a>5){console.warn(this.measureRequests.length?"Measure loop restarted more than 5 times":"Viewport failed to stabilize");break}let c=[];l&4||([this.measureRequests,c]=[c,this.measureRequests]);let h=c.map(O=>{try{return O.read(this)}catch(p){return at(this.state,p),Vf}}),f=fs.create(this,this.state,[]),u=!1;f.flags|=l,t?t.flags|=l:t=f,this.updateState=2,f.empty||(this.updatePlugins(f),this.inputState.update(f),this.updateAttrs(),u=this.docView.update(f),u&&this.docViewUpdate());for(let O=0;O1||p<-1)&&!(L.ios&&this.inputState.lastIOSMomentumScroll>Date.now()-100)&&(n==this.scrollDOM||this.hasFocus||Math.max(this.inputState.lastWheelEvent,this.inputState.lastTouchTime)>Date.now()-100)){r=r+p,n?n.scrollTop+=p:this.win.scrollBy(0,p),o=-1;continue}}break}}}finally{this.updateState=0,this.measureScheduled=-1}if(t&&!t.empty)for(let a of this.state.facet(pa))a(t)}get themeClasses(){return Ma+" "+(this.state.facet(La)?Au:Ru)+" "+this.state.facet(rs)}updateAttrs(){let e=Df(this,Ou,{class:"cm-editor"+(this.hasFocus?" cm-focused ":" ")+this.themeClasses}),t={spellcheck:"false",autocorrect:"off",autocapitalize:"off",writingsuggestions:"false",translate:"no",contenteditable:this.state.facet(zt)?"true":"false",class:"cm-content",style:`${L.tabSize}: ${this.state.tabSize}`,role:"textbox","aria-multiline":"true"};this.state.readOnly&&(t["aria-readonly"]="true"),Df(this,Na,t);let n=this.observer.ignore(()=>{let r=yf(this.contentDOM,this.contentAttrs,t),s=yf(this.dom,this.editorAttrs,e);return r||s});return this.editorAttrs=e,this.contentAttrs=t,n}showAnnouncements(e){let t=!0;for(let n of e)for(let r of n.effects)if(r.is(i.announce)){t&&(this.announceDOM.textContent=""),t=!1;let s=this.announceDOM.appendChild(document.createElement("div"));s.textContent=r.value}}mountStyles(){this.styleModules=this.state.facet(In);let e=this.state.facet(i.cspNonce);nt.mount(this.root,this.styleModules.concat(XQ).reverse(),e?{nonce:e}:void 0)}readMeasured(){if(this.updateState==2)throw new Error("Reading the editor layout isn't allowed during an update");this.updateState==0&&this.measureScheduled>-1&&this.measure(!1)}requestMeasure(e){if(this.measureScheduled<0&&(this.measureScheduled=this.win.requestAnimationFrame(()=>this.measure())),e){if(this.measureRequests.indexOf(e)>-1)return;if(e.key!=null){for(let t=0;tn.plugin==e)||null),t&&t.update(this).value}get documentTop(){return this.contentDOM.getBoundingClientRect().top+this.viewState.paddingTop}get documentPadding(){return{top:this.viewState.paddingTop,bottom:this.viewState.paddingBottom}}get scaleX(){return this.viewState.scaleX}get scaleY(){return this.viewState.scaleY}elementAtHeight(e){return this.readMeasured(),this.viewState.elementAtHeight(e)}lineBlockAtHeight(e){return this.readMeasured(),this.viewState.lineBlockAtHeight(e)}get viewportLineBlocks(){return this.viewState.viewportLines}lineBlockAt(e){return this.viewState.lineBlockAt(e)}get contentHeight(){return this.viewState.contentHeight}moveByChar(e,t,n){return ra(this,e,$f(this,e,t,n))}moveByGroup(e,t){return ra(this,e,$f(this,e,t,n=>eQ(this,e.head,n)))}visualLineSide(e,t){let n=this.bidiSpans(e),r=this.textDirectionAt(e.from),s=n[t?n.length-1:0];return v.cursor(s.side(t,r)+e.from,s.forward(!t,r)?1:-1)}moveToLineBoundary(e,t,n=!0){return J0(this,e,t,n)}moveVertically(e,t,n){return ra(this,e,tQ(this,e,t,n))}domAtPos(e,t=1){return this.docView.domAtPos(e,t)}posAtDOM(e,t=0){return this.docView.posFromDOM(e,t)}posAtCoords(e,t=!0){this.readMeasured();let n=wa(this,e,t);return n&&n.pos}posAndSideAtCoords(e,t=!0){return this.readMeasured(),wa(this,e,t)}coordsAtPos(e,t=1){this.readMeasured();let n=this.state.doc.lineAt(e),r=this.bidiSpans(n),s=r[ot.find(r,e-n.from,-1,t)];return this.docView.coordsAt(e,t,s.dir==ue.RTL)}coordsForChar(e){return this.readMeasured(),this.docView.coordsForChar(e)}get defaultCharacterWidth(){return this.viewState.heightOracle.charWidth}get defaultLineHeight(){return this.viewState.heightOracle.lineHeight}get textDirection(){return this.viewState.defaultTextDirection}textDirectionAt(e){return!this.state.facet(hu)||ethis.viewport.to?this.textDirection:(this.readMeasured(),this.docView.textDirectionAt(e))}get lineWrapping(){return this.viewState.heightOracle.lineWrapping}bidiSpans(e){if(e.length>AQ)return iu(e.length);let t=this.textDirectionAt(e.from),n;for(let s of this.bidiCache)if(s.from==e.from&&s.dir==t&&(s.fresh||tu(s.isolates,n=wf(this,e))))return s.order;n||(n=wf(this,e));let r=_0(e.text,t,n);return this.bidiCache.push(new bs(e.from,e.to,t,n,!0,r)),r}get hasFocus(){var e;return(this.dom.ownerDocument.hasFocus()||L.safari&&((e=this.inputState)===null||e===void 0?void 0:e.lastContextMenu)>Date.now()-3e4)&&this.root.activeElement==this.contentDOM}focus(){this.observer.ignore(()=>{Nf(this.contentDOM),this.docView.updateSelection()})}setRoot(e){this._root!=e&&(this._root=e,this.observer.setWindow((e.nodeType==9?e:e.ownerDocument).defaultView||window),this.mountStyles())}destroy(){this.root.activeElement==this.contentDOM&&this.contentDOM.blur();for(let e of this.plugins)e.destroy(this);this.plugins=[],this.inputState.destroy(),this.docView.destroy(),this.dom.remove(),this.observer.destroy(),this.measureScheduled>-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.destroyed=!0}static scrollIntoView(e,t={}){var n,r,s,o;return Jr.of(new Fn(typeof e=="number"?v.cursor(e):e,(n=t.y)!==null&&n!==void 0?n:"nearest",(r=t.x)!==null&&r!==void 0?r:"nearest",(s=t.yMargin)!==null&&s!==void 0?s:5,(o=t.xMargin)!==null&&o!==void 0?o:5))}scrollSnapshot(){let{scrollTop:e,scrollLeft:t}=this.scrollDOM,n=this.viewState.scrollAnchorAt(e);return Jr.of(new Fn(v.cursor(n.from),"start","start",n.top-e,t,!0))}setTabFocusMode(e){e==null?this.inputState.tabFocusMode=this.inputState.tabFocusMode<0?0:-1:typeof e=="boolean"?this.inputState.tabFocusMode=e?0:-1:this.inputState.tabFocusMode!=0&&(this.inputState.tabFocusMode=Date.now()+e)}static domEventHandlers(e){return De.define(()=>({}),{eventHandlers:e})}static domEventObservers(e){return De.define(()=>({}),{eventObservers:e})}static theme(e,t){let n=nt.newName(),r=[rs.of(n),In.of(Wa(`.${n}`,e))];return t&&t.dark&&r.push(La.of(!0)),r}static baseTheme(e){return pt.lowest(In.of(Wa("."+Ma,e,Zu)))}static findFromDOM(e){var t;let n=e.querySelector(".cm-content"),r=n&&fe.get(n)||fe.get(e);return((t=r?.root)===null||t===void 0?void 0:t.view)||null}};E.styleModule=In;E.inputHandler=lu;E.clipboardInputFilter=Ua;E.clipboardOutputFilter=Ga;E.scrollHandler=fu;E.focusChangeEffect=cu;E.perLineTextDirection=hu;E.exceptionSink=au;E.updateListener=pa;E.editable=zt;E.mouseSelectionStyle=ou;E.dragMovesSelection=su;E.clickAddsSelectionRange=ru;E.decorations=ys;E.blockWrappers=du;E.outerDecorations=Fa;E.atomicRanges=sr;E.bidiIsolatedRanges=pu;E.cursorScrollMargin=Y.define({combine:i=>{let e=5,t=5;for(let n of i)typeof n=="number"?e=t=n:{x:e,y:t}=n;return{x:e,y:t}}});E.scrollMargins=mu;E.darkTheme=La;E.cspNonce=Y.define({combine:i=>i.length?i[0]:""});E.contentAttributes=Na;E.editorAttributes=Ou;E.lineWrapping=E.contentAttributes.of({class:"cm-lineWrapping"});E.announce=ie.define();var AQ=4096,Vf={},bs=class i{constructor(e,t,n,r,s,o){this.from=e,this.to=t,this.dir=n,this.isolates=r,this.fresh=s,this.order=o}static update(e,t){if(t.empty&&!e.some(s=>s.fresh))return e;let n=[],r=e.length?e[e.length-1].dir:ue.LTR;for(let s=Math.max(0,e.length-10);s=0;r--){let s=n[r],o=typeof s=="function"?s(i):s;o&&Ya(o,t)}return t}var ZQ=L.mac?"mac":L.windows?"win":L.linux?"linux":"key";function qQ(i,e){let t=i.split(/-(?!$)/),n=t[t.length-1];n=="Space"&&(n=" ");let r,s,o,a;for(let l=0;ln.concat(r),[]))),t}var ri=null,LQ=4e3;function MQ(i,e=ZQ){let t=Object.create(null),n=Object.create(null),r=(o,a)=>{let l=n[o];if(l==null)n[o]=a;else if(l!=a)throw new Error("Key binding "+o+" is used both as a regular binding and as a multi-stroke prefix")},s=(o,a,l,c,h)=>{var f,u;let O=t[o]||(t[o]=Object.create(null)),p=a.split(/ (?!$)/).map(g=>qQ(g,e));for(let g=1;g{let x=ri={view:S,prefix:Q,scope:o};return setTimeout(()=>{ri==x&&(ri=null)},LQ),!0}]})}let m=p.join(" ");r(m,!1);let b=O[m]||(O[m]={preventDefault:!1,stopPropagation:!1,run:((u=(f=O._any)===null||f===void 0?void 0:f.run)===null||u===void 0?void 0:u.slice())||[]});l&&b.run.push(l),c&&(b.preventDefault=!0),h&&(b.stopPropagation=!0)};for(let o of i){let a=o.scope?o.scope.split(" "):["editor"];if(o.any)for(let c of a){let h=t[c]||(t[c]=Object.create(null));h._any||(h._any={preventDefault:!1,stopPropagation:!1,run:[]});let{any:f}=o;for(let u in h)h[u].run.push(O=>f(O,Da))}let l=o[e]||o.key;if(l)for(let c of a)s(c,l,o.run,o.preventDefault,o.stopPropagation),o.shift&&s(c,"Shift-"+l,o.shift,o.preventDefault,o.stopPropagation)}return t}var Da=null;function WQ(i,e,t,n){Da=e;let r=gf(e),s=ni(r,0),o=on(s)==r.length&&r!=" ",a="",l=!1,c=!1,h=!1;ri&&ri.view==t&&ri.scope==n&&(a=ri.prefix+" ",Pu.indexOf(e.keyCode)<0&&(c=!0,ri=null));let f=new Set,u=b=>{if(b){for(let g of b.run)if(!f.has(g)&&(f.add(g),g(t)))return b.stopPropagation&&(h=!0),!0;b.preventDefault&&(b.stopPropagation&&(h=!0),c=!0)}return!1},O=i[n],p,m;return O&&(u(O[a+ss(r,e,!o)])?l=!0:o&&(e.altKey||e.metaKey||e.ctrlKey)&&!(L.windows&&e.ctrlKey&&e.altKey)&&!(L.mac&&e.altKey&&!(e.ctrlKey||e.metaKey))&&(p=Et[e.keyCode])&&p!=r?(u(O[a+ss(p,e,!0)])||e.shiftKey&&(m=an[e.keyCode])!=r&&m!=p&&u(O[a+ss(m,e,!1)]))&&(l=!0):o&&e.shiftKey&&u(O[a+ss(r,e,!0)])&&(l=!0),!l&&u(O._any)&&(l=!0)),c&&(l=!0),l&&h&&e.stopPropagation(),Da=null,l}var qu=ie.define({map(i,e){return i==null?null:e.mapPos(i)}}),Un=he.define({create(){return null},update(i,e){return i!=null&&(i=e.changes.mapPos(i)),e.effects.reduce((t,n)=>n.is(qu)?n.value:t,i)}}),jQ=De.fromClass(class{constructor(i){this.view=i,this.cursor=null,this.measureReq={read:this.readPos.bind(this),write:this.drawCursor.bind(this)}}update(i){var e;let t=i.state.field(Un);t==null?this.cursor!=null&&((e=this.cursor)===null||e===void 0||e.remove(),this.cursor=null):(this.cursor||(this.cursor=this.view.scrollDOM.appendChild(document.createElement("div")),this.cursor.className="cm-dropCursor"),(i.startState.field(Un)!=t||i.docChanged||i.geometryChanged)&&this.view.requestMeasure(this.measureReq))}readPos(){let{view:i}=this,e=i.state.field(Un),t=e!=null&&i.coordsAtPos(e);if(!t)return null;let n=i.scrollDOM.getBoundingClientRect();return{left:t.left-n.left+i.scrollDOM.scrollLeft*i.scaleX,top:t.top-n.top+i.scrollDOM.scrollTop*i.scaleY,height:t.bottom-t.top}}drawCursor(i){if(this.cursor){let{scaleX:e,scaleY:t}=this.view;i?(this.cursor.style.left=i.left/e+"px",this.cursor.style.top=i.top/t+"px",this.cursor.style.height=i.height/t+"px"):this.cursor.style.left="-100000px"}}destroy(){this.cursor&&this.cursor.remove()}setDropPos(i){this.view.state.field(Un)!=i&&this.view.dispatch({effects:qu.of(i)})}},{eventObservers:{dragover(i){this.setDropPos(this.view.posAtCoords({x:i.clientX,y:i.clientY}))},dragleave(i){(i.target==this.view.contentDOM||!this.view.contentDOM.contains(i.relatedTarget))&&this.setDropPos(null)},dragend(){this.setDropPos(null)},drop(){this.setDropPos(null)}}});function Eu(){return[Un,jQ]}var n$=/x/.unicode!=null?"gu":"g";var Wt=class extends it{compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}eq(e){return!1}destroy(e){}};Wt.prototype.elementClass="";Wt.prototype.toDOM=void 0;Wt.prototype.mapMode=me.TrackBefore;Wt.prototype.startSide=Wt.prototype.endSide=-1;Wt.prototype.point=!0;var VQ=0,Ye=class{constructor(e,t){this.from=e,this.to=t}},I=class{constructor(e={}){this.id=VQ++,this.perNode=!!e.perNode,this.deserialize=e.deserialize||(()=>{throw new Error("This node type doesn't define a deserialize function")}),this.combine=e.combine||null}add(e){if(this.perNode)throw new RangeError("Can't add per-node props to node types");return typeof e!="function"&&(e=Oe.match(e)),t=>{let n=e(t);return n===void 0?null:[this,n]}}};I.closedBy=new I({deserialize:i=>i.split(" ")});I.openedBy=new I({deserialize:i=>i.split(" ")});I.group=new I({deserialize:i=>i.split(" ")});I.isolate=new I({deserialize:i=>{if(i&&i!="rtl"&&i!="ltr"&&i!="auto")throw new RangeError("Invalid value for isolate: "+i);return i||"auto"}});I.contextHash=new I({perNode:!0});I.lookAhead=new I({perNode:!0});I.mounted=new I({perNode:!0});var ci=class{constructor(e,t,n,r=!1){this.tree=e,this.overlay=t,this.parser=n,this.bracketed=r}static get(e){return e&&e.props&&e.props[I.mounted.id]}},DQ=Object.create(null),Oe=class i{constructor(e,t,n,r=0){this.name=e,this.props=t,this.id=n,this.flags=r}static define(e){let t=e.props&&e.props.length?Object.create(null):DQ,n=(e.top?1:0)|(e.skipped?2:0)|(e.error?4:0)|(e.name==null?8:0),r=new i(e.name||"",t,e.id,n);if(e.props){for(let s of e.props)if(Array.isArray(s)||(s=s(r)),s){if(s[0].perNode)throw new RangeError("Can't store a per-node prop on a node type");t[s[0].id]=s[1]}}return r}prop(e){return this.props[e.id]}get isTop(){return(this.flags&1)>0}get isSkipped(){return(this.flags&2)>0}get isError(){return(this.flags&4)>0}get isAnonymous(){return(this.flags&8)>0}is(e){if(typeof e=="string"){if(this.name==e)return!0;let t=this.prop(I.group);return t?t.indexOf(e)>-1:!1}return this.id==e}static match(e){let t=Object.create(null);for(let n in e)for(let r of n.split(" "))t[r]=e[n];return n=>{for(let r=n.prop(I.group),s=-1;s<(r?r.length:0);s++){let o=t[s<0?n.name:r[s]];if(o)return o}}}};Oe.none=new Oe("",Object.create(null),0,8);var jt=class i{constructor(e){this.types=e;for(let t=0;t0;for(let l=this.cursor(o|ee.IncludeAnonymous);;){let c=!1;if(l.from<=s&&l.to>=r&&(!a&&l.type.isAnonymous||t(l)!==!1)){if(l.firstChild())continue;c=!0}for(;c&&n&&(a||!l.type.isAnonymous)&&n(l),!l.nextSibling();){if(!l.parent())return;c=!0}}}prop(e){return e.perNode?this.props?this.props[e.id]:void 0:this.type.prop(e)}get propValues(){let e=[];if(this.props)for(let t in this.props)e.push([+t,this.props[t]]);return e}balance(e={}){return this.children.length<=8?this:ll(Oe.none,this.children,this.positions,0,this.children.length,0,this.length,(t,n,r)=>new i(this.type,t,n,r,this.propValues),e.makeTree||((t,n,r)=>new i(Oe.none,t,n,r)))}static build(e){return IQ(e)}};G.empty=new G(Oe.none,[],[],0);var Ka=class i{constructor(e,t){this.buffer=e,this.index=t}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}get pos(){return this.index}next(){this.index-=4}fork(){return new i(this.buffer,this.index)}},hi=class i{constructor(e,t,n){this.buffer=e,this.length=t,this.set=n}get type(){return Oe.none}toString(){let e=[];for(let t=0;t0));l=o[l+3]);return a}slice(e,t,n){let r=this.buffer,s=new Uint16Array(t-e),o=0;for(let a=e,l=0;a=e&&te;case 1:return t<=e&&n>e;case 2:return n>e;case 4:return!0}}function or(i,e,t,n){for(var r;i.from==i.to||(t<1?i.from>=e:i.from>e)||(t>-1?i.to<=e:i.to0?a.length:-1;e!=c;e+=t){let h=a[e],f=l[e]+o.from,u;if(!(!(s&ee.EnterBracketed&&h instanceof G&&(u=ci.get(h))&&!u.overlay&&u.bracketed&&n>=f&&n<=f+h.length)&&!Yu(r,n,f,f+h.length))){if(h instanceof hi){if(s&ee.ExcludeBuffers)continue;let O=h.findChild(0,h.buffer.length,t,n-f,r);if(O>-1)return new Ei(new el(o,h,e,f),null,O)}else if(s&ee.IncludeAnonymous||!h.type.isAnonymous||al(h)){let O;if(!(s&ee.IgnoreMounts)&&(O=ci.get(h))&&!O.overlay)return new i(O.tree,f,e,o);let p=new i(h,f,e,o);return s&ee.IncludeAnonymous||!p.type.isAnonymous?p:p.nextChild(t<0?h.children.length-1:0,t,n,r,s)}}}if(s&ee.IncludeAnonymous||!o.type.isAnonymous||(o.index>=0?e=o.index+t:e=t<0?-1:o._parent._tree.children.length,o=o._parent,!o))return null}}get firstChild(){return this.nextChild(0,1,0,4)}get lastChild(){return this.nextChild(this._tree.children.length-1,-1,0,4)}childAfter(e){return this.nextChild(0,1,e,2)}childBefore(e){return this.nextChild(this._tree.children.length-1,-1,e,-2)}prop(e){return this._tree.prop(e)}enter(e,t,n=0){let r;if(!(n&ee.IgnoreOverlays)&&(r=ci.get(this._tree))&&r.overlay){let s=e-this.from,o=n&ee.EnterBracketed&&r.bracketed;for(let{from:a,to:l}of r.overlay)if((t>0||o?a<=s:a=s:l>s))return new i(r.tree,r.overlay[0].from+this.from,-1,this)}return this.nextChild(0,1,e,t,n)}nextSignificantParent(){let e=this;for(;e.type.isAnonymous&&e._parent;)e=e._parent;return e}get parent(){return this._parent?this._parent.nextSignificantParent():null}get nextSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index+1,1,0,4):null}get prevSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index-1,-1,0,4):null}get tree(){return this._tree}toTree(){return this._tree}toString(){return this._tree.toString()}};function Lu(i,e,t,n){let r=i.cursor(),s=[];if(!r.firstChild())return s;if(t!=null){for(let o=!1;!o;)if(o=r.type.is(t),!r.nextSibling())return s}for(;;){if(n!=null&&r.type.is(n))return s;if(r.type.is(e)&&s.push(r.node),!r.nextSibling())return n==null?s:[]}}function Ja(i,e,t=e.length-1){for(let n=i;t>=0;n=n.parent){if(!n)return!1;if(!n.type.isAnonymous){if(e[t]&&e[t]!=n.name)return!1;t--}}return!0}var el=class{constructor(e,t,n,r){this.parent=e,this.buffer=t,this.index=n,this.start=r}},Ei=class i extends Ps{get name(){return this.type.name}get from(){return this.context.start+this.context.buffer.buffer[this.index+1]}get to(){return this.context.start+this.context.buffer.buffer[this.index+2]}constructor(e,t,n){super(),this.context=e,this._parent=t,this.index=n,this.type=e.buffer.set.types[e.buffer.buffer[n]]}child(e,t,n){let{buffer:r}=this.context,s=r.findChild(this.index+4,r.buffer[this.index+3],e,t-this.context.start,n);return s<0?null:new i(this.context,this,s)}get firstChild(){return this.child(1,0,4)}get lastChild(){return this.child(-1,0,4)}childAfter(e){return this.child(1,e,2)}childBefore(e){return this.child(-1,e,-2)}prop(e){return this.type.prop(e)}enter(e,t,n=0){if(n&ee.ExcludeBuffers)return null;let{buffer:r}=this.context,s=r.findChild(this.index+4,r.buffer[this.index+3],t>0?1:-1,e-this.context.start,t);return s<0?null:new i(this.context,this,s)}get parent(){return this._parent||this.context.parent.nextSignificantParent()}externalSibling(e){return this._parent?null:this.context.parent.nextChild(this.context.index+e,e,0,4)}get nextSibling(){let{buffer:e}=this.context,t=e.buffer[this.index+3];return t<(this._parent?e.buffer[this._parent.index+3]:e.buffer.length)?new i(this.context,this._parent,t):this.externalSibling(1)}get prevSibling(){let{buffer:e}=this.context,t=this._parent?this._parent.index+4:0;return this.index==t?this.externalSibling(-1):new i(this.context,this._parent,e.findChild(t,this.index,-1,0,4))}get tree(){return null}toTree(){let e=[],t=[],{buffer:n}=this.context,r=this.index+4,s=n.buffer[this.index+3];if(s>r){let o=n.buffer[this.index+1];e.push(n.slice(r,s,o)),t.push(0)}return new G(this.type,e,t,this.to-this.from)}toString(){return this.context.buffer.childString(this.index)}};function Iu(i){if(!i.length)return null;let e=0,t=i[0];for(let s=1;st.from||o.to=e){let a=new Ie(o.tree,o.overlay[0].from+s.from,-1,s);(r||(r=[n])).push(or(a,e,t,!1))}}return r?Iu(r):n}var Qn=class{get name(){return this.type.name}constructor(e,t=0){if(this.buffer=null,this.stack=[],this.index=0,this.bufferNode=null,this.mode=t&~ee.EnterBracketed,e instanceof Ie)this.yieldNode(e);else{this._tree=e.context.parent,this.buffer=e.context;for(let n=e._parent;n;n=n._parent)this.stack.unshift(n.index);this.bufferNode=e,this.yieldBuf(e.index)}}yieldNode(e){return e?(this._tree=e,this.type=e.type,this.from=e.from,this.to=e.to,!0):!1}yieldBuf(e,t){this.index=e;let{start:n,buffer:r}=this.buffer;return this.type=t||r.set.types[r.buffer[e]],this.from=n+r.buffer[e+1],this.to=n+r.buffer[e+2],!0}yield(e){return e?e instanceof Ie?(this.buffer=null,this.yieldNode(e)):(this.buffer=e.context,this.yieldBuf(e.index,e.type)):!1}toString(){return this.buffer?this.buffer.buffer.childString(this.index):this._tree.toString()}enterChild(e,t,n){if(!this.buffer)return this.yield(this._tree.nextChild(e<0?this._tree._tree.children.length-1:0,e,t,n,this.mode));let{buffer:r}=this.buffer,s=r.findChild(this.index+4,r.buffer[this.index+3],e,t-this.buffer.start,n);return s<0?!1:(this.stack.push(this.index),this.yieldBuf(s))}firstChild(){return this.enterChild(1,0,4)}lastChild(){return this.enterChild(-1,0,4)}childAfter(e){return this.enterChild(1,e,2)}childBefore(e){return this.enterChild(-1,e,-2)}enter(e,t,n=this.mode){return this.buffer?n&ee.ExcludeBuffers?!1:this.enterChild(1,e,t):this.yield(this._tree.enter(e,t,n))}parent(){if(!this.buffer)return this.yieldNode(this.mode&ee.IncludeAnonymous?this._tree._parent:this._tree.parent);if(this.stack.length)return this.yieldBuf(this.stack.pop());let e=this.mode&ee.IncludeAnonymous?this.buffer.parent:this.buffer.parent.nextSignificantParent();return this.buffer=null,this.yieldNode(e)}sibling(e){if(!this.buffer)return this._tree._parent?this.yield(this._tree.index<0?null:this._tree._parent.nextChild(this._tree.index+e,e,0,4,this.mode)):!1;let{buffer:t}=this.buffer,n=this.stack.length-1;if(e<0){let r=n<0?0:this.stack[n]+4;if(this.index!=r)return this.yieldBuf(t.findChild(r,this.index,-1,0,4))}else{let r=t.buffer[this.index+3];if(r<(n<0?t.buffer.length:t.buffer[this.stack[n]+3]))return this.yieldBuf(r)}return n<0?this.yield(this.buffer.parent.nextChild(this.buffer.index+e,e,0,4,this.mode)):!1}nextSibling(){return this.sibling(1)}prevSibling(){return this.sibling(-1)}atLastNode(e){let t,n,{buffer:r}=this;if(r){if(e>0){if(this.index-1)for(let s=t+e,o=e<0?-1:n._tree.children.length;s!=o;s+=e){let a=n._tree.children[s];if(this.mode&ee.IncludeAnonymous||a instanceof hi||!a.type.isAnonymous||al(a))return!1}return!0}move(e,t){if(t&&this.enterChild(e,0,4))return!0;for(;;){if(this.sibling(e))return!0;if(this.atLastNode(e)||!this.parent())return!1}}next(e=!0){return this.move(1,e)}prev(e=!0){return this.move(-1,e)}moveTo(e,t=0){for(;(this.from==this.to||(t<1?this.from>=e:this.from>e)||(t>-1?this.to<=e:this.to=0;){for(let o=e;o;o=o._parent)if(o.index==r){if(r==this.index)return o;t=o,n=s+1;break e}r=this.stack[--s]}for(let r=n;r=0;s--){if(s<0)return Ja(this._tree,e,r);let o=n[t.buffer[this.stack[s]]];if(!o.isAnonymous){if(e[r]&&e[r]!=o.name)return!1;r--}}return!0}};function al(i){return i.children.some(e=>e instanceof hi||!e.type.isAnonymous||al(e))}function IQ(i){var e;let{buffer:t,nodeSet:n,maxBufferLength:r=1024,reused:s=[],minRepeatType:o=n.types.length}=i,a=Array.isArray(t)?new Ka(t,t.length):t,l=n.types,c=0,h=0;function f(P,$,R,_,W,T){let{id:k,start:w,end:C,size:j}=a,y=h,z=c;if(j<0)if(a.next(),j==-1){let N=s[k];R.push(N),_.push(w-P);return}else if(j==-3){c=k;return}else if(j==-4){h=k;return}else throw new RangeError(`Unrecognized record size: ${j}`);let ye=l[k],Zt,X,te=w-P;if(C-w<=r&&(X=b(a.pos-$,W))){let N=new Uint16Array(X.size-X.skip),U=a.pos-X.size,le=N.length;for(;a.pos>U;)le=g(X.start,N,le);Zt=new hi(N,C-X.start,n),te=X.start-P}else{let N=a.pos-j;a.next();let U=[],le=[],F=k>=o?k:-1,Qe=0,Ce=C;for(;a.pos>N;)F>=0&&a.id==F&&a.size>=0?(a.end<=Ce-r&&(p(U,le,w,Qe,a.end,Ce,F,y,z),Qe=U.length,Ce=a.end),a.next()):T>2500?u(w,N,U,le):f(w,N,U,le,F,T+1);if(F>=0&&Qe>0&&Qe-1&&Qe>0){let ti=O(ye,z);Zt=ll(ye,U,le,0,U.length,0,C-w,ti,ti)}else Zt=m(ye,U,le,C-w,y-C,z)}R.push(Zt),_.push(te)}function u(P,$,R,_){let W=[],T=0,k=-1;for(;a.pos>$;){let{id:w,start:C,end:j,size:y}=a;if(y>4)a.next();else{if(k>-1&&C=0;j-=3)w[y++]=W[j],w[y++]=W[j+1]-C,w[y++]=W[j+2]-C,w[y++]=y;R.push(new hi(w,W[2]-C,n)),_.push(C-P)}}function O(P,$){return(R,_,W)=>{let T=0,k=R.length-1,w,C;if(k>=0&&(w=R[k])instanceof G){if(!k&&w.type==P&&w.length==W)return w;(C=w.prop(I.lookAhead))&&(T=_[k]+w.length+C)}return m(P,R,_,W,T,$)}}function p(P,$,R,_,W,T,k,w,C){let j=[],y=[];for(;P.length>_;)j.push(P.pop()),y.push($.pop()+R-W);P.push(m(n.types[k],j,y,T-W,w-T,C)),$.push(W-R)}function m(P,$,R,_,W,T,k){if(T){let w=[I.contextHash,T];k=k?[w].concat(k):[w]}if(W>25){let w=[I.lookAhead,W];k=k?[w].concat(k):[w]}return new G(P,$,R,_,k)}function b(P,$){let R=a.fork(),_=0,W=0,T=0,k=R.end-r,w={size:0,start:0,skip:0};e:for(let C=R.pos-P;R.pos>C;){let j=R.size;if(R.id==$&&j>=0){w.size=_,w.start=W,w.skip=T,T+=4,_+=4,R.next();continue}let y=R.pos-j;if(j<0||y=o?4:0,ye=R.start;for(R.next();R.pos>y;){if(R.size<0)if(R.size==-3||R.size==-4)z+=4;else break e;else R.id>=o&&(z+=4);R.next()}W=ye,_+=j,T+=z}return($<0||_==P)&&(w.size=_,w.start=W,w.skip=T),w.size>4?w:void 0}function g(P,$,R){let{id:_,start:W,end:T,size:k}=a;if(a.next(),k>=0&&_4){let C=a.pos-(k-4);for(;a.pos>C;)R=g(P,$,R)}$[--R]=w,$[--R]=T-P,$[--R]=W-P,$[--R]=_}else k==-3?c=_:k==-4&&(h=_);return R}let Q=[],S=[];for(;a.pos>0;)f(i.start||0,i.bufferStart||0,Q,S,-1,0);let x=(e=i.length)!==null&&e!==void 0?e:Q.length?S[0]+Q[0].length:0;return new G(l[i.topID],Q.reverse(),S.reverse(),x)}var Mu=new WeakMap;function ws(i,e){if(!i.isAnonymous||e instanceof hi||e.type!=i)return 1;let t=Mu.get(e);if(t==null){t=1;for(let n of e.children){if(n.type!=i||!(n instanceof G)){t=1;break}t+=ws(i,n)}Mu.set(e,t)}return t}function ll(i,e,t,n,r,s,o,a,l){let c=0;for(let p=n;p=h)break;$+=R}if(S==x+1){if($>h){let R=p[x];O(R.children,R.positions,0,R.children.length,m[x]+Q);continue}f.push(p[x])}else{let R=m[S-1]+p[S-1].length-P;f.push(ll(i,p,m,x,S,P,R,null,l))}u.push(P+Q-s)}}return O(e,t,n,r,0),(a||l)(f,u,o)}var fi=class{constructor(){this.map=new WeakMap}setBuffer(e,t,n){let r=this.map.get(e);r||this.map.set(e,r=new Map),r.set(t,n)}getBuffer(e,t){let n=this.map.get(e);return n&&n.get(t)}set(e,t){e instanceof Ei?this.setBuffer(e.context.buffer,e.index,t):e instanceof Ie&&this.map.set(e.tree,t)}get(e){return e instanceof Ei?this.getBuffer(e.context.buffer,e.index):e instanceof Ie?this.map.get(e.tree):void 0}cursorSet(e,t){e.buffer?this.setBuffer(e.buffer.buffer,e.index,t):this.map.set(e.tree,t)}cursorGet(e){return e.buffer?this.getBuffer(e.buffer.buffer,e.index):this.map.get(e.tree)}},Vt=class i{constructor(e,t,n,r,s=!1,o=!1){this.from=e,this.to=t,this.tree=n,this.offset=r,this.open=(s?1:0)|(o?2:0)}get openStart(){return(this.open&1)>0}get openEnd(){return(this.open&2)>0}static addTree(e,t=[],n=!1){let r=[new i(0,e.length,e,0,!1,n)];for(let s of t)s.to>e.length&&r.push(s);return r}static applyChanges(e,t,n=128){if(!t.length)return e;let r=[],s=1,o=e.length?e[0]:null;for(let a=0,l=0,c=0;;a++){let h=a=n)for(;o&&o.from=u.from||f<=u.to||c){let O=Math.max(u.from,l)-c,p=Math.min(u.to,f)-c;u=O>=p?null:new i(O,p,u.tree,u.offset+c,a>0,!!h)}if(u&&r.push(u),o.to>f)break;o=snew Ye(r.from,r.to)):[new Ye(0,0)]:[new Ye(0,e.length)],this.createParse(e,t||[],n)}parse(e,t,n){let r=this.startParse(e,t,n);for(;;){let s=r.advance();if(s)return s}}},il=class{constructor(e){this.string=e}get length(){return this.string.length}chunk(e){return this.string.slice(e)}get lineChunks(){return!1}read(e,t){return this.string.slice(e,t)}};function bn(i){return(e,t,n,r)=>new sl(e,i,t,n,r)}var vs=class{constructor(e,t,n,r,s,o){this.parser=e,this.parse=t,this.overlay=n,this.bracketed=r,this.target=s,this.from=o}};function Wu(i){if(!i.length||i.some(e=>e.from>=e.to))throw new RangeError("Invalid inner parse ranges given: "+JSON.stringify(i))}var nl=class{constructor(e,t,n,r,s,o,a,l){this.parser=e,this.predicate=t,this.mounts=n,this.index=r,this.start=s,this.bracketed=o,this.target=a,this.prev=l,this.depth=0,this.ranges=[]}},rl=new I({perNode:!0}),sl=class{constructor(e,t,n,r,s){this.nest=t,this.input=n,this.fragments=r,this.ranges=s,this.inner=[],this.innerDone=0,this.baseTree=null,this.stoppedAt=null,this.baseParse=e}advance(){if(this.baseParse){let n=this.baseParse.advance();if(!n)return null;if(this.baseParse=null,this.baseTree=n,this.startInner(),this.stoppedAt!=null)for(let r of this.inner)r.parse.stopAt(this.stoppedAt)}if(this.innerDone==this.inner.length){let n=this.baseTree;return this.stoppedAt!=null&&(n=new G(n.type,n.children,n.positions,n.length,n.propValues.concat([[rl,this.stoppedAt]]))),n}let e=this.inner[this.innerDone],t=e.parse.advance();if(t){this.innerDone++;let n=Object.assign(Object.create(null),e.target.props);n[I.mounted.id]=new ci(t,e.overlay,e.parser,e.bracketed),e.target.props=n}return null}get parsedPos(){if(this.baseParse)return 0;let e=this.input.length;for(let t=this.innerDone;t=this.stoppedAt)a=!1;else if(e.hasNode(r)){if(t){let c=t.mounts.find(h=>h.frag.from<=r.from&&h.frag.to>=r.to&&h.mount.overlay);if(c)for(let h of c.mount.overlay){let f=h.from+c.pos,u=h.to+c.pos;f>=r.from&&u<=r.to&&!t.ranges.some(O=>O.fromf)&&t.ranges.push({from:f,to:u})}}a=!1}else if(n&&(o=BQ(n.ranges,r.from,r.to)))a=o!=2;else if(!r.type.isAnonymous&&(s=this.nest(r,this.input))&&(r.fromnew Ye(f.from-r.from,f.to-r.from)):null,!!s.bracketed,r.tree,h.length?h[0].from:r.from)),s.overlay?h.length&&(n={ranges:h,depth:0,prev:n}):a=!1}}else if(t&&(l=t.predicate(r))&&(l===!0&&(l=new Ye(r.from,r.to)),l.from=0&&t.ranges[c].to==l.from?t.ranges[c]={from:t.ranges[c].from,to:l.to}:t.ranges.push(l)}if(a&&r.firstChild())t&&t.depth++,n&&n.depth++;else for(;!r.nextSibling();){if(!r.parent())break e;if(t&&!--t.depth){let c=Vu(this.ranges,t.ranges);c.length&&(Wu(c),this.inner.splice(t.index,0,new vs(t.parser,t.parser.startParse(this.input,Du(t.mounts,c),c),t.ranges.map(h=>new Ye(h.from-t.start,h.to-t.start)),t.bracketed,t.target,c[0].from))),t=t.prev}n&&!--n.depth&&(n=n.prev)}}}};function BQ(i,e,t){for(let n of i){if(n.from>=t)break;if(n.to>e)return n.from<=e&&n.to>=t?2:1}return 0}function ju(i,e,t,n,r,s){if(e=e&&t.enter(n,1,ee.IgnoreOverlays|ee.ExcludeBuffers)))if(t.to<=e)t.next(!1)||(this.done=!0);else break}hasNode(e){if(this.moveTo(e.from),!this.done&&this.cursor.from+this.offset==e.from&&this.cursor.tree)for(let t=this.cursor.tree;;){if(t==e.tree)return!0;if(t.children.length&&t.positions[0]==0&&t.children[0]instanceof G)t=t.children[0];else break}return!1}},ol=class{constructor(e){var t;if(this.fragments=e,this.curTo=0,this.fragI=0,e.length){let n=this.curFrag=e[0];this.curTo=(t=n.tree.prop(rl))!==null&&t!==void 0?t:n.to,this.inner=new $s(n.tree,-n.offset)}else this.curFrag=this.inner=null}hasNode(e){for(;this.curFrag&&e.from>=this.curTo;)this.nextFrag();return this.curFrag&&this.curFrag.from<=e.from&&this.curTo>=e.to&&this.inner.hasNode(e)}nextFrag(){var e;if(this.fragI++,this.fragI==this.fragments.length)this.curFrag=this.inner=null;else{let t=this.curFrag=this.fragments[this.fragI];this.curTo=(e=t.tree.prop(rl))!==null&&e!==void 0?e:t.to,this.inner=new $s(t.tree,-t.offset)}}findMounts(e,t){var n;let r=[];if(this.inner){this.inner.cursor.moveTo(e,1);for(let s=this.inner.cursor.node;s;s=s.parent){let o=(n=s.tree)===null||n===void 0?void 0:n.prop(I.mounted);if(o&&o.parser==t)for(let a=this.fragI;a=s.to)break;l.tree==this.curFrag.tree&&r.push({frag:l,pos:s.from-l.offset,mount:o})}}}return r}};function Vu(i,e){let t=null,n=e;for(let r=1,s=0;r=a)break;l.to<=o||(t||(n=t=e.slice()),l.froma&&t.splice(s+1,0,new Ye(a,l.to))):l.to>a?t[s--]=new Ye(a,l.to):t.splice(s--,1))}}return n}function GQ(i,e,t,n){let r=0,s=0,o=!1,a=!1,l=-1e9,c=[];for(;;){let h=r==i.length?1e9:o?i[r].to:i[r].from,f=s==e.length?1e9:a?e[s].to:e[s].from;if(o!=a){let u=Math.max(l,t),O=Math.min(h,f,n);unew Ye(u.from+n,u.to+n)),f=GQ(e,h,l,c);for(let u=0,O=l;;u++){let p=u==f.length,m=p?c:f[u].from;if(m>O&&t.push(new Vt(O,m,r.tree,-o,s.from>=O||s.openStart,s.to<=m||s.openEnd)),p)break;O=f[u].to}}else t.push(new Vt(l,c,r.tree,-o,s.from>=o||s.openStart,s.to<=a||s.openEnd))}return t}var NQ=0,Ke=class i{constructor(e,t,n,r){this.name=e,this.set=t,this.base=n,this.modified=r,this.id=NQ++}toString(){let{name:e}=this;for(let t of this.modified)t.name&&(e=`${t.name}(${e})`);return e}static define(e,t){let n=typeof e=="string"?e:"?";if(e instanceof i&&(t=e),t?.base)throw new Error("Can not derive from a modified tag");let r=new i(n,[],null,[]);if(r.set.push(r),t)for(let s of t.set)r.set.push(s);return r}static defineModifier(e){let t=new _s(e);return n=>n.modified.indexOf(t)>-1?n:_s.get(n.base||n,n.modified.concat(t).sort((r,s)=>r.id-s.id))}},FQ=0,_s=class i{constructor(e){this.name=e,this.instances=[],this.id=FQ++}static get(e,t){if(!t.length)return e;let n=t[0].instances.find(a=>a.base==e&&HQ(t,a.modified));if(n)return n;let r=[],s=new Ke(e.name,r,e,t);for(let a of t)a.instances.push(s);let o=KQ(t);for(let a of e.set)if(!a.modified.length)for(let l of o)r.push(i.get(a,l));return s}};function HQ(i,e){return i.length==e.length&&i.every((t,n)=>t==e[n])}function KQ(i){let e=[[]];for(let t=0;tn.length-t.length)}function ge(i){let e=Object.create(null);for(let t in i){let n=i[t];Array.isArray(n)||(n=[n]);for(let r of t.split(" "))if(r){let s=[],o=2,a=r;for(let f=0;;){if(a=="..."&&f>0&&f+3==r.length){o=1;break}let u=/^"(?:[^"\\]|\\.)*?"|[^\/!]+/.exec(a);if(!u)throw new RangeError("Invalid path: "+r);if(s.push(u[0]=="*"?"":u[0][0]=='"'?JSON.parse(u[0]):u[0]),f+=u[0].length,f==r.length)break;let O=r[f++];if(f==r.length&&O=="!"){o=0;break}if(O!="/")throw new RangeError("Invalid path: "+r);a=r.slice(f)}let l=s.length-1,c=s[l];if(!c)throw new RangeError("Invalid path: "+r);let h=new Li(n,o,l>0?s.slice(0,l):null);e[c]=h.sort(e[c])}}return Gu.add(e)}var Gu=new I({combine(i,e){let t,n,r;for(;i||e;){if(!i||e&&i.depth>=e.depth?(r=e,e=e.next):(r=i,i=i.next),t&&t.mode==r.mode&&!r.context&&!t.context)continue;let s=new Li(r.tags,r.mode,r.context);t?t.next=s:n=s,t=s}return n}}),Li=class{constructor(e,t,n,r){this.tags=e,this.mode=t,this.context=n,this.next=r}get opaque(){return this.mode==0}get inherit(){return this.mode==1}sort(e){return!e||e.depth{let o=r;for(let a of s)for(let l of a.set){let c=t[l.id];if(c){o=o?o+" "+c:c;break}}return o},scope:n}}function JQ(i,e){let t=null;for(let n of i){let r=n.style(e);r&&(t=t?t+" "+r:r)}return t}function Rs(i,e,t,n=0,r=i.length){let s=new hl(n,Array.isArray(e)?e:[e],t);s.highlightRange(i.cursor(),n,r,"",s.highlighters),s.flush(r)}var hl=class{constructor(e,t,n){this.at=e,this.highlighters=t,this.span=n,this.class=""}startSpan(e,t){t!=this.class&&(this.flush(e),e>this.at&&(this.at=e),this.class=t)}flush(e){e>this.at&&this.class&&this.span(this.at,e,this.class)}highlightRange(e,t,n,r,s){let{type:o,from:a,to:l}=e;if(a>=n||l<=t)return;o.isTop&&(s=this.highlighters.filter(O=>!O.scope||O.scope(o)));let c=r,h=eb(e)||Li.empty,f=JQ(s,h.tags);if(f&&(c&&(c+=" "),c+=f,h.mode==1&&(r+=(r?" ":"")+f)),this.startSpan(Math.max(t,a),c),h.opaque)return;let u=e.tree&&e.tree.prop(I.mounted);if(u&&u.overlay){let O=e.node.enter(u.overlay[0].from+a,1),p=this.highlighters.filter(b=>!b.scope||b.scope(u.tree.type)),m=e.firstChild();for(let b=0,g=a;;b++){let Q=b=S||!e.nextSibling())););if(!Q||S>n)break;g=Q.to+a,g>t&&(this.highlightRange(O.cursor(),Math.max(t,Q.from+a),Math.min(n,g),"",p),this.startSpan(Math.min(n,g),c))}m&&e.parent()}else if(e.firstChild()){u&&(r="");do if(!(e.to<=t)){if(e.from>=n)break;this.highlightRange(e,t,n,r,s),this.startSpan(Math.min(n,e.to),c)}while(e.nextSibling());e.parent()}}};function eb(i){let e=i.type.prop(Gu);for(;e&&e.context&&!i.matchContext(e.context);)e=e.next;return e||null}var q=Ke.define,Ts=q(),ui=q(),Bu=q(ui),Uu=q(ui),Oi=q(),Cs=q(Oi),cl=q(Oi),_t=q(),zi=q(_t),Ct=q(),Xt=q(),fl=q(),ar=q(fl),Xs=q(),d={comment:Ts,lineComment:q(Ts),blockComment:q(Ts),docComment:q(Ts),name:ui,variableName:q(ui),typeName:Bu,tagName:q(Bu),propertyName:Uu,attributeName:q(Uu),className:q(ui),labelName:q(ui),namespace:q(ui),macroName:q(ui),literal:Oi,string:Cs,docString:q(Cs),character:q(Cs),attributeValue:q(Cs),number:cl,integer:q(cl),float:q(cl),bool:q(Oi),regexp:q(Oi),escape:q(Oi),color:q(Oi),url:q(Oi),keyword:Ct,self:q(Ct),null:q(Ct),atom:q(Ct),unit:q(Ct),modifier:q(Ct),operatorKeyword:q(Ct),controlKeyword:q(Ct),definitionKeyword:q(Ct),moduleKeyword:q(Ct),operator:Xt,derefOperator:q(Xt),arithmeticOperator:q(Xt),logicOperator:q(Xt),bitwiseOperator:q(Xt),compareOperator:q(Xt),updateOperator:q(Xt),definitionOperator:q(Xt),typeOperator:q(Xt),controlOperator:q(Xt),punctuation:fl,separator:q(fl),bracket:ar,angleBracket:q(ar),squareBracket:q(ar),paren:q(ar),brace:q(ar),content:_t,heading:zi,heading1:q(zi),heading2:q(zi),heading3:q(zi),heading4:q(zi),heading5:q(zi),heading6:q(zi),contentSeparator:q(_t),list:q(_t),quote:q(_t),emphasis:q(_t),strong:q(_t),link:q(_t),monospace:q(_t),strikethrough:q(_t),inserted:q(),deleted:q(),changed:q(),invalid:q(),meta:Xs,documentMeta:q(Xs),annotation:q(Xs),processingInstruction:q(Xs),definition:Ke.defineModifier("definition"),constant:Ke.defineModifier("constant"),function:Ke.defineModifier("function"),standard:Ke.defineModifier("standard"),local:Ke.defineModifier("local"),special:Ke.defineModifier("special")};for(let i in d){let e=d[i];e instanceof Ke&&(e.name=i)}var c$=ul([{tag:d.link,class:"tok-link"},{tag:d.heading,class:"tok-heading"},{tag:d.emphasis,class:"tok-emphasis"},{tag:d.strong,class:"tok-strong"},{tag:d.keyword,class:"tok-keyword"},{tag:d.atom,class:"tok-atom"},{tag:d.bool,class:"tok-bool"},{tag:d.url,class:"tok-url"},{tag:d.labelName,class:"tok-labelName"},{tag:d.inserted,class:"tok-inserted"},{tag:d.deleted,class:"tok-deleted"},{tag:d.literal,class:"tok-literal"},{tag:d.string,class:"tok-string"},{tag:d.number,class:"tok-number"},{tag:[d.regexp,d.escape,d.special(d.string)],class:"tok-string2"},{tag:d.variableName,class:"tok-variableName"},{tag:d.local(d.variableName),class:"tok-variableName tok-local"},{tag:d.definition(d.variableName),class:"tok-variableName tok-definition"},{tag:d.special(d.variableName),class:"tok-variableName2"},{tag:d.definition(d.propertyName),class:"tok-propertyName tok-definition"},{tag:d.typeName,class:"tok-typeName"},{tag:d.namespace,class:"tok-namespace"},{tag:d.className,class:"tok-className"},{tag:d.macroName,class:"tok-macroName"},{tag:d.propertyName,class:"tok-propertyName"},{tag:d.operator,class:"tok-operator"},{tag:d.comment,class:"tok-comment"},{tag:d.meta,class:"tok-meta"},{tag:d.invalid,class:"tok-invalid"},{tag:d.punctuation,class:"tok-punctuation"}]);var Ol,bt=new I;function kn(i){return Y.define({combine:i?e=>e.concat(i):void 0})}var Es=new I,xe=class{constructor(e,t,n=[],r=""){this.data=e,this.name=r,re.prototype.hasOwnProperty("tree")||Object.defineProperty(re.prototype,"tree",{get(){return B(this)}}),this.parser=t,this.extension=[Sn.of(this),re.languageData.of((s,o,a)=>{let l=Nu(s,o,a),c=l.type.prop(bt);if(!c)return[];let h=s.facet(c),f=l.type.prop(Es);if(f){let u=l.resolve(o-l.from,a);for(let O of f)if(O.test(u,s)){let p=s.facet(O.facet);return O.type=="replace"?p:p.concat(h)}}return h})].concat(n)}isActiveAt(e,t,n=-1){return Nu(e,t,n).type.prop(bt)==this.data}findRegions(e){let t=e.facet(Sn);if(t?.data==this.data)return[{from:0,to:e.doc.length}];if(!t||!t.allowsNesting)return[];let n=[],r=(s,o)=>{if(s.prop(bt)==this.data){n.push({from:o,to:o+s.length});return}let a=s.prop(I.mounted);if(a){if(a.tree.prop(bt)==this.data){if(a.overlay)for(let l of a.overlay)n.push({from:l.from+o,to:l.to+o});else n.push({from:o,to:o+s.length});return}else if(a.overlay){let l=n.length;if(r(a.tree,a.overlay[0].from+o),n.length>l)return}}for(let l=0;ln.isTop?t:void 0)]}),e.name)}configure(e,t){return new i(this.data,this.parser.configure(e),t||this.name)}get allowsNesting(){return this.parser.hasWrappers()}};function B(i){let e=i.field(xe.state,!1);return e?e.tree:G.empty}function zs(i,e,t=50){var n;let r=(n=i.field(xe.state,!1))===null||n===void 0?void 0:n.context;if(!r)return null;let s=r.viewport;r.updateViewport({from:0,to:e});let o=r.isDone(e)||r.work(t,e)?r.tree:null;return r.updateViewport(s),o}function tO(i,e=i.doc.length){var t;return((t=i.field(xe.state,!1))===null||t===void 0?void 0:t.context.isDone(e))||!1}var gl=class{constructor(e){this.doc=e,this.cursorPos=0,this.string="",this.cursor=e.iter()}get length(){return this.doc.length}syncTo(e){return this.string=this.cursor.next(e-this.cursorPos).value,this.cursorPos=e+this.string.length,this.cursorPos-this.string.length}chunk(e){return this.syncTo(e),this.string}get lineChunks(){return!0}read(e,t){let n=this.cursorPos-this.string.length;return e=this.cursorPos?this.doc.sliceString(e,t):this.string.slice(e-n,t-n)}},lr=null,Mi=class i{constructor(e,t,n=[],r,s,o,a,l){this.parser=e,this.state=t,this.fragments=n,this.tree=r,this.treeLen=s,this.viewport=o,this.skipped=a,this.scheduleOn=l,this.parse=null,this.tempSkipped=[]}static create(e,t,n){return new i(e,t,[],G.empty,0,n,[],null)}startParse(){return this.parser.startParse(new gl(this.state.doc),this.fragments)}work(e,t){return t!=null&&t>=this.state.doc.length&&(t=void 0),this.tree!=G.empty&&this.isDone(t??this.state.doc.length)?(this.takeTree(),!0):this.withContext(()=>{var n;if(typeof e=="number"){let r=Date.now()+e;e=()=>Date.now()>r}for(this.parse||(this.parse=this.startParse()),t!=null&&(this.parse.stoppedAt==null||this.parse.stoppedAt>t)&&t=this.treeLen&&((this.parse.stoppedAt==null||this.parse.stoppedAt>e)&&this.parse.stopAt(e),this.withContext(()=>{for(;!(t=this.parse.advance()););}),this.treeLen=e,this.tree=t,this.fragments=this.withoutTempSkipped(Vt.addTree(this.tree,this.fragments,!0)),this.parse=null)}withContext(e){let t=lr;lr=this;try{return e()}finally{lr=t}}withoutTempSkipped(e){for(let t;t=this.tempSkipped.pop();)e=Fu(e,t.from,t.to);return e}changes(e,t){let{fragments:n,tree:r,treeLen:s,viewport:o,skipped:a}=this;if(this.takeTree(),!e.empty){let l=[];if(e.iterChangedRanges((c,h,f,u)=>l.push({fromA:c,toA:h,fromB:f,toB:u})),n=Vt.applyChanges(n,l),r=G.empty,s=0,o={from:e.mapPos(o.from,-1),to:e.mapPos(o.to,1)},this.skipped.length){a=[];for(let c of this.skipped){let h=e.mapPos(c.from,1),f=e.mapPos(c.to,-1);he.from&&(this.fragments=Fu(this.fragments,r,s),this.skipped.splice(n--,1))}return this.skipped.length>=t?!1:(this.reset(),!0)}reset(){this.parse&&(this.takeTree(),this.parse=null)}skipUntilInView(e,t){this.skipped.push({from:e,to:t})}static getSkippingParser(e){return new class extends Dt{createParse(t,n,r){let s=r[0].from,o=r[r.length-1].to;return{parsedPos:s,advance(){let l=lr;if(l){for(let c of r)l.tempSkipped.push(c);e&&(l.scheduleOn=l.scheduleOn?Promise.all([l.scheduleOn,e]):e)}return this.parsedPos=o,new G(Oe.none,[],[],o-s)},stoppedAt:null,stopAt(){}}}}}isDone(e){e=Math.min(e,this.state.doc.length);let t=this.fragments;return this.treeLen>=e&&t.length&&t[0].from==0&&t[0].to>=e}static get(){return lr}};function Fu(i,e,t){return Vt.applyChanges(i,[{fromA:e,toA:t,fromB:e,toB:t}])}var cr=class i{constructor(e){this.context=e,this.tree=e.tree}apply(e){if(!e.docChanged&&this.tree==this.context.tree)return this;let t=this.context.changes(e.changes,e.state),n=this.context.treeLen==e.startState.doc.length?void 0:Math.max(e.changes.mapPos(this.context.treeLen),t.viewport.to);return t.work(20,n)||t.takeTree(),new i(t)}static init(e){let t=Math.min(3e3,e.doc.length),n=Mi.create(e.facet(Sn).parser,e,{from:0,to:t});return n.work(20,t)||n.takeTree(),new i(n)}};xe.state=he.define({create:cr.init,update(i,e){for(let t of e.effects)if(t.is(xe.setState))return t.value;return e.startState.facet(Sn)!=e.state.facet(Sn)?cr.init(e.state):i.apply(e)}});var iO=i=>{let e=setTimeout(()=>i(),500);return()=>clearTimeout(e)};typeof requestIdleCallback<"u"&&(iO=i=>{let e=-1,t=setTimeout(()=>{e=requestIdleCallback(i,{timeout:400})},100);return()=>e<0?clearTimeout(t):cancelIdleCallback(e)});var dl=typeof navigator<"u"&&(!((Ol=navigator.scheduling)===null||Ol===void 0)&&Ol.isInputPending)?()=>navigator.scheduling.isInputPending():null,tb=De.fromClass(class{constructor(e){this.view=e,this.working=null,this.workScheduled=0,this.chunkEnd=-1,this.chunkBudget=-1,this.work=this.work.bind(this),this.scheduleWork()}update(e){let t=this.view.state.field(xe.state).context;(t.updateViewport(e.view.viewport)||this.view.viewport.to>t.treeLen)&&this.scheduleWork(),(e.docChanged||e.selectionSet)&&(this.view.hasFocus&&(this.chunkBudget+=50),this.scheduleWork()),this.checkAsyncSchedule(t)}scheduleWork(){if(this.working)return;let{state:e}=this.view,t=e.field(xe.state);(t.tree!=t.context.tree||!t.context.isDone(e.doc.length))&&(this.working=iO(this.work))}work(e){this.working=null;let t=Date.now();if(this.chunkEndr+1e3,l=s.context.work(()=>dl&&dl()||Date.now()>o,r+(a?0:1e5));this.chunkBudget-=Date.now()-t,(l||this.chunkBudget<=0)&&(s.context.takeTree(),this.view.dispatch({effects:xe.setState.of(new cr(s.context))})),this.chunkBudget>0&&!(l&&!a)&&this.scheduleWork(),this.checkAsyncSchedule(s.context)}checkAsyncSchedule(e){e.scheduleOn&&(this.workScheduled++,e.scheduleOn.then(()=>this.scheduleWork()).catch(t=>at(this.view.state,t)).then(()=>this.workScheduled--),e.scheduleOn=null)}destroy(){this.working&&this.working()}isWorking(){return!!(this.working||this.workScheduled>0)}},{eventHandlers:{focus(){this.scheduleWork()}}}),Sn=Y.define({combine(i){return i.length?i[0]:null},enables:i=>[xe.state,tb,E.contentAttributes.compute([i],e=>{let t=e.facet(i);return t&&t.name?{"data-language":t.name}:{}})]}),pe=class{constructor(e,t=[]){this.language=e,this.support=t,this.extension=[e,t]}},Be=class i{constructor(e,t,n,r,s,o=void 0){this.name=e,this.alias=t,this.extensions=n,this.filename=r,this.loadFunc=s,this.support=o,this.loading=null}load(){return this.loading||(this.loading=this.loadFunc().then(e=>this.support=e,e=>{throw this.loading=null,e}))}static of(e){let{load:t,support:n}=e;if(!t){if(!n)throw new RangeError("Must pass either 'load' or 'support' to LanguageDescription.of");t=()=>Promise.resolve(n)}return new i(e.name,(e.alias||[]).concat(e.name).map(r=>r.toLowerCase()),e.extensions||[],e.filename,t,n)}static matchFilename(e,t){for(let r of e)if(r.filename&&r.filename.test(t))return r;let n=/\.([^.]+)$/.exec(t);if(n){for(let r of e)if(r.extensions.indexOf(n[1])>-1)return r}return null}static matchLanguageName(e,t,n=!0){t=t.toLowerCase();for(let r of e)if(r.alias.some(s=>s==t))return r;if(n)for(let r of e)for(let s of r.alias){let o=t.indexOf(s);if(o>-1&&(s.length>2||!/\w/.test(t[o-1])&&!/\w/.test(t[o+s.length])))return r}return null}},ib=Y.define(),Rt=Y.define({combine:i=>{if(!i.length)return" ";let e=i[0];if(!e||/\S/.test(e)||Array.from(e).some(t=>t!=e[0]))throw new Error("Invalid indent unit: "+JSON.stringify(i[0]));return e}});function di(i){let e=i.facet(Rt);return e.charCodeAt(0)==9?i.tabSize*e.length:e.length}function fr(i,e){let t="",n=i.tabSize,r=i.facet(Rt)[0];if(r==" "){for(;e>=n;)t+=" ",e-=n;r=" "}for(let s=0;s=e?nb(i,t,e):null}var Wi=class{constructor(e,t={}){this.state=e,this.options=t,this.unit=di(e)}lineAt(e,t=1){let n=this.state.doc.lineAt(e),{simulateBreak:r,simulateDoubleBreak:s}=this.options;return r!=null&&r>=n.from&&r<=n.to?s&&r==e?{text:"",from:e}:(t<0?r-1&&(s+=o-this.countColumn(n,n.search(/\S|$/))),s}countColumn(e,t=e.length){return Fe(e,this.state.tabSize,t)}lineIndent(e,t=1){let{text:n,from:r}=this.lineAt(e,t),s=this.options.overrideIndentation;if(s){let o=s(r);if(o>-1)return o}return this.countColumn(n,n.search(/\S|$/))}get simulatedBreak(){return this.options.simulateBreak||null}},we=new I;function nb(i,e,t){let n=e.resolveStack(t),r=e.resolveInner(t,-1).resolve(t,0).enterUnfinishedNodesBefore(t);if(r!=n.node){let s=[];for(let o=r;o&&!(o.fromn.node.to||o.from==n.node.from&&o.type==n.node.type);o=o.parent)s.push(o);for(let o=s.length-1;o>=0;o--)n={node:s[o],next:n}}return nO(n,i,t)}function nO(i,e,t){for(let n=i;n;n=n.next){let r=sb(n.node);if(r)return r(Ql.create(e,t,n))}return 0}function rb(i){return i.pos==i.options.simulateBreak&&i.options.simulateDoubleBreak}function sb(i){let e=i.type.prop(we);if(e)return e;let t=i.firstChild,n;if(t&&(n=t.type.prop(I.closedBy))){let r=i.lastChild,s=r&&n.indexOf(r.name)>-1;return o=>rO(o,!0,1,void 0,s&&!rb(o)?r.from:void 0)}return i.parent==null?ob:null}function ob(){return 0}var Ql=class i extends Wi{constructor(e,t,n){super(e.state,e.options),this.base=e,this.pos=t,this.context=n}get node(){return this.context.node}static create(e,t,n){return new i(e,t,n)}get textAfter(){return this.textAfterPos(this.pos)}get baseIndent(){return this.baseIndentFor(this.node)}baseIndentFor(e){let t=this.state.doc.lineAt(e.from);for(;;){let n=e.resolve(t.from);for(;n.parent&&n.parent.from==n.from;)n=n.parent;if(ab(n,e))break;t=this.state.doc.lineAt(n.from)}return this.lineIndent(t.from)}continue(){return nO(this.context.next,this.base,this.pos)}};function ab(i,e){for(let t=e;t;t=t.parent)if(i==t)return!0;return!1}function lb(i){let e=i.node,t=e.childAfter(e.from),n=e.lastChild;if(!t)return null;let r=i.options.simulateBreak,s=i.state.doc.lineAt(t.from),o=r==null||r<=s.from?s.to:Math.min(s.to,r);for(let a=t.to;;){let l=e.childAfter(a);if(!l||l==n)return null;if(!l.type.isSkipped){if(l.from>=o)return null;let c=/^ */.exec(s.text.slice(t.to-s.from))[0].length;return{from:t.from,to:t.to+c}}a=l.to}}function St({closing:i,align:e=!0,units:t=1}){return n=>rO(n,e,t,i)}function rO(i,e,t,n,r){let s=i.textAfter,o=s.match(/^\s*/)[0].length,a=n&&s.slice(o,o+n.length)==n||r==i.pos+o,l=e?lb(i):null;return l?a?i.column(l.from):i.column(l.to):i.baseIndent+(a?0:i.unit*t)}var sO=i=>i.baseIndent;function Yt({except:i,units:e=1}={}){return t=>{let n=i&&i.test(t.textAfter);return t.baseIndent+(n?0:e*t.unit)}}var oO=Y.define(),$e=new I;function ct(i){let e=i.firstChild,t=i.lastChild;return e&&e.toa.prop(bt)==o.data:o?a=>a==o:void 0,this.style=ul(e.map(a=>({tag:a.tag,class:a.class||r(Object.assign({},a,{tag:null}))})),{all:s}).style,this.module=n?new nt(n):null,this.themeType=t.themeType}static define(e,t){return new i(e,t||{})}},bl=Y.define(),aO=Y.define({combine(i){return i.length?[i[0]]:null}});function pl(i){let e=i.facet(bl);return e.length?e:i.facet(aO)}function lO(i,e){let t=[cb],n;return i instanceof yn&&(i.module&&t.push(E.styleModule.of(i.module)),n=i.themeType),e?.fallback?t.push(aO.of(i)):n?t.push(bl.computeN([E.darkTheme],r=>r.facet(E.darkTheme)==(n=="dark")?[i]:[])):t.push(bl.of(i)),t}var Sl=class{constructor(e){this.markCache=Object.create(null),this.tree=B(e.state),this.decorations=this.buildDeco(e,pl(e.state)),this.decoratedTo=e.viewport.to}update(e){let t=B(e.state),n=pl(e.state),r=n!=pl(e.startState),{viewport:s}=e.view,o=e.changes.mapPos(this.decoratedTo,1);t.length=s.to?(this.decorations=this.decorations.map(e.changes),this.decoratedTo=o):(t!=this.tree||e.viewportChanged||r)&&(this.tree=t,this.decorations=this.buildDeco(e.view,n),this.decoratedTo=s.to)}buildDeco(e,t){if(!t||!this.tree.length)return Z.none;let n=new Ci;for(let{from:r,to:s}of e.visibleRanges)Rs(this.tree,t,(o,a,l)=>{n.add(o,a,this.markCache[l]||(this.markCache[l]=Z.mark({class:l})))},r,s);return n.finish()}},cb=pt.high(De.fromClass(Sl,{decorations:i=>i.decorations})),Q$=yn.define([{tag:d.meta,color:"#404740"},{tag:d.link,textDecoration:"underline"},{tag:d.heading,textDecoration:"underline",fontWeight:"bold"},{tag:d.emphasis,fontStyle:"italic"},{tag:d.strong,fontWeight:"bold"},{tag:d.strikethrough,textDecoration:"line-through"},{tag:d.keyword,color:"#708"},{tag:[d.atom,d.bool,d.url,d.contentSeparator,d.labelName],color:"#219"},{tag:[d.literal,d.inserted],color:"#164"},{tag:[d.string,d.deleted],color:"#a11"},{tag:[d.regexp,d.escape,d.special(d.string)],color:"#e40"},{tag:d.definition(d.variableName),color:"#00f"},{tag:d.local(d.variableName),color:"#30a"},{tag:[d.typeName,d.namespace],color:"#085"},{tag:d.className,color:"#167"},{tag:[d.special(d.variableName),d.macroName],color:"#256"},{tag:d.definition(d.propertyName),color:"#00c"},{tag:d.comment,color:"#940"},{tag:d.invalid,color:"#f00"}]);var hb=1e4,fb="()[]{}";var Pl=new I;function yl(i,e,t){let n=i.prop(e<0?I.openedBy:I.closedBy);if(n)return n;if(i.name.length==1){let r=t.indexOf(i.name);if(r>-1&&r%2==(e<0?1:0))return[t[r+e]]}return null}function kl(i){let e=i.type.prop(Pl);return e?e(i.node):i}function ji(i,e,t,n={}){let r=n.maxScanDistance||hb,s=n.brackets||fb,o=B(i),a=o.resolveInner(e,t);for(let l=a;l;l=l.parent){let c=yl(l.type,t,s);if(c&&l.from0?e>=h.from&&eh.from&&e<=h.to))return ub(i,e,t,l,h,c,s)}}return Ob(i,e,t,o,a.type,r,s)}function ub(i,e,t,n,r,s,o){let a=n.parent,l={from:r.from,to:r.to},c=0,h=a?.cursor();if(h&&(t<0?h.childBefore(n.from):h.childAfter(n.to)))do if(t<0?h.to<=n.from:h.from>=n.to){if(c==0&&s.indexOf(h.type.name)>-1&&h.from0)return null;let c={from:t<0?e-1:e,to:t>0?e+1:e},h=i.doc.iterRange(e,t>0?i.doc.length:0),f=0;for(let u=0;!h.next().done&&u<=s;){let O=h.value;t<0&&(u+=O.length);let p=e+u*t;for(let m=t>0?0:O.length-1,b=t>0?O.length:-1;m!=b;m+=t){let g=o.indexOf(O[m]);if(!(g<0||n.resolveInner(p+m,1).type!=r))if(g%2==0==t>0)f++;else{if(f==1)return{start:c,end:{from:p+m,to:p+m+1},matched:g>>1==l>>1};f--}}t>0&&(u+=O.length)}return h.done?{start:c,matched:!1}:null}function Hu(i,e,t,n=0,r=0){e==null&&(e=i.search(/[^\s\u00a0]/),e==-1&&(e=i.length));let s=r;for(let o=n;o=this.string.length}sol(){return this.pos==0}peek(){return this.string.charAt(this.pos)||void 0}next(){if(this.post}eatSpace(){let e=this.pos;for(;/[\s\u00a0]/.test(this.string.charAt(this.pos));)++this.pos;return this.pos>e}skipToEnd(){this.pos=this.string.length}skipTo(e){let t=this.string.indexOf(e,this.pos);if(t>-1)return this.pos=t,!0}backUp(e){this.pos-=e}column(){return this.lastColumnPosn?o.toLowerCase():o,s=this.string.substr(this.pos,e.length);return r(s)==r(e)?(t!==!1&&(this.pos+=e.length),!0):null}else{let r=this.string.slice(this.pos).match(e);return r&&r.index>0?null:(r&&t!==!1&&(this.pos+=r[0].length),r)}}current(){return this.string.slice(this.start,this.pos)}};function db(i){return{name:i.name||"",token:i.token,blankLine:i.blankLine||(()=>{}),startState:i.startState||(()=>!0),copyState:i.copyState||pb,indent:i.indent||(()=>null),languageData:i.languageData||{},tokenTable:i.tokenTable||$l,mergeTokens:i.mergeTokens!==!1}}function pb(i){if(typeof i!="object")return i;let e={};for(let t in i){let n=i[t];e[t]=n instanceof Array?n.slice():n}return e}var Ku=new WeakMap,Zs=class i extends xe{constructor(e){let t=kn(e.languageData),n=db(e),r,s=new class extends Dt{createParse(o,a,l){return new xl(r,o,a,l)}};super(t,s,[],e.name),this.topNode=bb(t,this),r=this,this.streamParser=n,this.stateAfter=new I({perNode:!0}),this.tokenTable=e.tokenTable?new qs(n.tokenTable):Qb}static define(e){return new i(e)}getIndent(e){let t,{overrideIndentation:n}=e.options;n&&(t=Ku.get(e.state),t!=null&&t1e4)return null;for(;s=n&&t+e.length<=r&&e.prop(i.stateAfter);if(s)return{state:i.streamParser.copyState(s),pos:t+e.length};for(let o=e.children.length-1;o>=0;o--){let a=e.children[o],l=t+e.positions[o],c=a instanceof G&&l=e.length)return e;!r&&t==0&&e.type==i.topNode&&(r=!0);for(let s=e.children.length-1;s>=0;s--){let o=e.positions[s],a=e.children[s],l;if(ot&&vl(i,s.tree,0-s.offset,t,a),c;if(l&&l.pos<=n&&(c=cO(i,s.tree,t+s.offset,l.pos+s.offset,!1)))return{state:l.state,tree:c}}return{state:i.streamParser.startState(r?di(r):4),tree:G.empty}}var xl=class{constructor(e,t,n,r){this.lang=e,this.input=t,this.fragments=n,this.ranges=r,this.stoppedAt=null,this.chunks=[],this.chunkPos=[],this.chunk=[],this.chunkReused=void 0,this.rangeIndex=0,this.to=r[r.length-1].to;let s=Mi.get(),o=r[0].from,{state:a,tree:l}=mb(e,n,o,this.to,s?.state);this.state=a,this.parsedPos=this.chunkStart=o+l.length;for(let c=0;cc.from<=s.viewport.from&&c.to>=s.viewport.from)&&(this.state=this.lang.streamParser.startState(di(s.state)),s.skipUntilInView(this.parsedPos,s.viewport.from),this.parsedPos=s.viewport.from),this.moveRangeIndex()}advance(){let e=Mi.get(),t=this.stoppedAt==null?this.to:Math.min(this.to,this.stoppedAt),n=Math.min(t,this.chunkStart+512);for(e&&(n=Math.min(n,e.viewport.to));this.parsedPos=t?this.finish():e&&this.parsedPos>=e.viewport.to?(e.skipUntilInView(this.parsedPos,t),this.finish()):null}stopAt(e){this.stoppedAt=e}lineAfter(e){let t=this.input.chunk(e);if(this.input.lineChunks)t==` +`){[e,t]=sn(this,e,t);let r="";for(let s=0,o=0;se&&s&&(r+=n),eo&&(r+=a.sliceString(e-o,t-o,n)),o=l+1}return r}flatten(e){for(let t of this.children)t.flatten(e)}scanIdentical(e,t){if(!(e instanceof i))return 0;let n=0,[r,s,o,a]=t>0?[0,0,this.children.length,e.children.length]:[this.children.length-1,e.children.length-1,-1,-1];for(;;r+=t,s+=t){if(r==o||s==a)return n;let l=this.children[r],c=e.children[s];if(l!=c)return n+l.scanIdentical(c,t);n+=l.length+1}}static from(e,t=e.reduce((n,r)=>n+r.length+1,-1)){let n=0;for(let O of e)n+=O.lines;if(n<32){let O=[];for(let p of e)p.flatten(O);return new Ne(O,t)}let r=Math.max(32,n>>5),s=r<<1,o=r>>1,a=[],l=0,c=-1,h=[];function f(O){let p;if(O.lines>s&&O instanceof i)for(let m of O.children)f(m);else O.lines>o&&(l>o||!l)?(u(),a.push(O)):O instanceof Ne&&l&&(p=h[h.length-1])instanceof Ne&&O.lines+p.lines<=32?(l+=O.lines,c+=O.length+1,h[h.length-1]=new Ne(p.text.concat(O.text),p.length+1+O.length)):(l+O.lines>r&&u(),l+=O.lines,c+=O.length+1,h.push(O))}function u(){l!=0&&(a.push(h.length==1?h[0]:i.from(h,c)),c=-1,l=h.length=0)}for(let O of e)f(O);return u(),a.length==1?a[0]:new i(a,t)}};H.empty=new Ne([""],0);function r0(i){let e=-1;for(let t of i)e+=t.length+1;return e}function Yr(i,e,t=0,n=1e9){for(let r=0,s=0,o=!0;s=t&&(l>n&&(a=a.slice(0,n-r)),r0?1:(e instanceof Ne?e.text.length:e.children.length)<<1]}nextInner(e,t){for(this.done=this.lineBreak=!1;;){let n=this.nodes.length-1,r=this.nodes[n],s=this.offsets[n],o=s>>1,a=r instanceof Ne?r.text.length:r.children.length;if(o==(t>0?a:0)){if(n==0)return this.done=!0,this.value="",this;t>0&&this.offsets[n-1]++,this.nodes.pop(),this.offsets.pop()}else if((s&1)==(t>0?0:1)){if(this.offsets[n]+=t,e==0)return this.lineBreak=!0,this.value=` +`,this;e--}else if(r instanceof Ne){let l=r.text[o+(t<0?-1:0)];if(this.offsets[n]+=t,l.length>Math.max(0,e))return this.value=e==0?l:t>0?l.slice(e):l.slice(0,l.length-e),this;e-=l.length}else{let l=r.children[o+(t<0?-1:0)];e>l.length?(e-=l.length,this.offsets[n]+=t):(t<0&&this.offsets[n]--,this.nodes.push(l),this.offsets.push(t>0?1:(l instanceof Ne?l.text.length:l.children.length)<<1))}}}next(e=0){return e<0&&(this.nextInner(-e,-this.dir),e=this.value.length),this.nextInner(e,this.dir)}},Ir=class{constructor(e,t,n){this.value="",this.done=!1,this.cursor=new $i(e,t>n?-1:1),this.pos=t>n?e.length:0,this.from=Math.min(t,n),this.to=Math.max(t,n)}nextInner(e,t){if(t<0?this.pos<=this.from:this.pos>=this.to)return this.value="",this.done=!0,this;e+=Math.max(0,t<0?this.pos-this.to:this.from-this.pos);let n=t<0?this.pos-this.from:this.to-this.pos;e>n&&(e=n),n-=e;let{value:r}=this.cursor.next(e);return this.pos+=(r.length+e)*t,this.value=r.length<=n?r:t<0?r.slice(r.length-n):r.slice(0,n),this.done=!this.value,this}next(e=0){return e<0?e=Math.max(e,this.from-this.pos):e>0&&(e=Math.min(e,this.to-this.pos)),this.nextInner(e,this.cursor.dir)}get lineBreak(){return this.cursor.lineBreak&&this.value!=""}},Br=class{constructor(e){this.inner=e,this.afterBreak=!0,this.value="",this.done=!1}next(e=0){let{done:t,lineBreak:n,value:r}=this.inner.next(e);return t&&this.afterBreak?(this.value="",this.afterBreak=!1):t?(this.done=!0,this.value=""):n?this.afterBreak?this.value="":(this.afterBreak=!0,this.next()):(this.value=r,this.afterBreak=!1),this}get lineBreak(){return!1}};typeof Symbol<"u"&&(H.prototype[Symbol.iterator]=function(){return this.iter()},$i.prototype[Symbol.iterator]=Ir.prototype[Symbol.iterator]=Br.prototype[Symbol.iterator]=function(){return this});var Lo=class{constructor(e,t,n,r){this.from=e,this.to=t,this.number=n,this.text=r}get length(){return this.to-this.from}};function sn(i,e,t){return e=Math.max(0,Math.min(i.length,e)),[e,Math.max(e,Math.min(i.length,t))]}function xe(i,e,t=!0,n=!0){return Uh(i,e,t,n)}function s0(i){return i>=56320&&i<57344}function o0(i){return i>=55296&&i<56320}function ni(i,e){let t=i.charCodeAt(e);if(!o0(t)||e+1==i.length)return t;let n=i.charCodeAt(e+1);return s0(n)?(t-55296<<10)+(n-56320)+65536:t}function nf(i){return i<=65535?String.fromCharCode(i):(i-=65536,String.fromCharCode((i>>10)+55296,(i&1023)+56320))}function on(i){return i<65536?1:2}var Mo=/\r\n?|\n/,me=(function(i){return i[i.Simple=0]="Simple",i[i.TrackDel=1]="TrackDel",i[i.TrackBefore=2]="TrackBefore",i[i.TrackAfter=3]="TrackAfter",i})(me||(me={})),qt=class i{constructor(e){this.sections=e}get length(){let e=0;for(let t=0;te)return s+(e-r);s+=a}else{if(n!=me.Simple&&c>=e&&(n==me.TrackDel&&re||n==me.TrackBefore&&re))return null;if(c>e||c==e&&t<0&&!a)return e==r||t<0?s:s+l;s+=l}r=c}if(e>r)throw new RangeError(`Position ${e} is out of range for changeset of length ${r}`);return s}touchesRange(e,t=e){for(let n=0,r=0;n=0&&r<=t&&a>=e)return rt?"cover":!0;r=a}return!1}toString(){let e="";for(let t=0;t=0?":"+r:"")}return e}toJSON(){return this.sections}static fromJSON(e){if(!Array.isArray(e)||e.length%2||e.some(t=>typeof t!="number"))throw new RangeError("Invalid JSON representation of ChangeDesc");return new i(e)}static create(e){return new i(e)}},ze=class i extends qt{constructor(e,t){super(e),this.inserted=t}apply(e){if(this.length!=e.length)throw new RangeError("Applying change set to a document with the wrong length");return Wo(this,(t,n,r,s,o)=>e=e.replace(r,r+(n-t),o),!1),e}mapDesc(e,t=!1){return jo(this,e,t,!0)}invert(e){let t=this.sections.slice(),n=[];for(let r=0,s=0;r=0){t[r]=a,t[r+1]=o;let l=r>>1;for(;n.length0&&ii(n,t,s.text),s.forward(h),a+=h}let c=e[o++];for(;a>1].toJSON()))}return e}static of(e,t,n){let r=[],s=[],o=0,a=null;function l(h=!1){if(!h&&!r.length)return;ou||f<0||u>t)throw new RangeError(`Invalid change range ${f} to ${u} (in doc of length ${t})`);let p=O?typeof O=="string"?H.of(O.split(n||Mo)):O:H.empty,m=p.length;if(f==u&&m==0)return;fo&&Re(r,f-o,-1),Re(r,u-f,m),ii(s,r,p),o=u}}return c(e),l(!a),a}static empty(e){return new i(e?[e,-1]:[],[])}static fromJSON(e){if(!Array.isArray(e))throw new RangeError("Invalid JSON representation of ChangeSet");let t=[],n=[];for(let r=0;ra&&typeof o!="string"))throw new RangeError("Invalid JSON representation of ChangeSet");if(s.length==1)t.push(s[0],0);else{for(;n.length=0&&t<=0&&t==i[r+1]?i[r]+=e:r>=0&&e==0&&i[r]==0?i[r+1]+=t:n?(i[r]+=e,i[r+1]+=t):i.push(e,t)}function ii(i,e,t){if(t.length==0)return;let n=e.length-2>>1;if(n>1])),!(t||o==i.sections.length||i.sections[o+1]<0);)a=i.sections[o++],l=i.sections[o++];e(r,c,s,h,f),r=c,s=h}}}function jo(i,e,t,n=!1){let r=[],s=n?[]:null,o=new Ti(i),a=new Ti(e);for(let l=-1;;){if(o.done&&a.len||a.done&&o.len)throw new Error("Mismatched change set lengths");if(o.ins==-1&&a.ins==-1){let c=Math.min(o.len,a.len);Re(r,c,-1),o.forward(c),a.forward(c)}else if(a.ins>=0&&(o.ins<0||l==o.i||o.off==0&&(a.len=0&&l=0){let c=0,h=o.len;for(;h;)if(a.ins==-1){let f=Math.min(h,a.len);c+=f,h-=f,a.forward(f)}else if(a.ins==0&&a.lenl||o.ins>=0&&o.len>l)&&(a||n.length>c),s.forward2(l),o.forward(l)}}}}var Ti=class{constructor(e){this.set=e,this.i=0,this.next()}next(){let{sections:e}=this.set;this.i>1;return t>=e.length?H.empty:e[t]}textBit(e){let{inserted:t}=this.set,n=this.i-2>>1;return n>=t.length&&!e?H.empty:t[n].slice(this.off,e==null?void 0:this.off+e)}forward(e){e==this.len?this.next():(this.len-=e,this.off+=e)}forward2(e){this.ins==-1?this.forward(e):e==this.ins?this.next():(this.ins-=e,this.off+=e)}},wi=class i{constructor(e,t,n,r){this.from=e,this.to=t,this.flags=n,this.goalColumn=r}get anchor(){return this.flags&32?this.to:this.from}get head(){return this.flags&32?this.from:this.to}get empty(){return this.from==this.to}get assoc(){return this.flags&8?-1:this.flags&16?1:0}get undirectional(){return(this.flags&64)>0}get bidiLevel(){let e=this.flags&7;return e==7?null:e}map(e,t=-1){let n,r;return this.empty?n=r=e.mapPos(this.from,t):(n=e.mapPos(this.from,1),r=e.mapPos(this.to,-1)),n==this.from&&r==this.to?this:new i(n,r,this.flags,this.goalColumn)}extend(e,t=e,n=0){if(e<=this.anchor&&t>=this.anchor)return v.range(e,t,void 0,void 0,n);let r=Math.abs(e-this.anchor)>Math.abs(t-this.anchor)?e:t;return v.range(this.anchor,r,void 0,void 0,n)}eq(e,t=!1){return this.anchor==e.anchor&&this.head==e.head&&this.goalColumn==e.goalColumn&&(!t||!this.empty||this.assoc==e.assoc)}toJSON(){return{anchor:this.anchor,head:this.head}}static fromJSON(e){if(!e||typeof e.anchor!="number"||typeof e.head!="number")throw new RangeError("Invalid JSON representation for SelectionRange");return v.range(e.anchor,e.head)}static create(e,t,n,r){return new i(e,t,n,r)}},v=class i{constructor(e,t){this.ranges=e,this.mainIndex=t}map(e,t=-1){return e.empty?this:i.create(this.ranges.map(n=>n.map(e,t)),this.mainIndex)}eq(e,t=!1){if(this.ranges.length!=e.ranges.length||this.mainIndex!=e.mainIndex)return!1;for(let n=0;ne.toJSON()),main:this.mainIndex}}static fromJSON(e){if(!e||!Array.isArray(e.ranges)||typeof e.main!="number"||e.main>=e.ranges.length)throw new RangeError("Invalid JSON representation for EditorSelection");return new i(e.ranges.map(t=>wi.fromJSON(t)),e.main)}static single(e,t=e){return new i([i.range(e,t)],0)}static create(e,t=0){if(e.length==0)throw new RangeError("A selection needs at least one range");for(let n=0,r=0;rr.from-s.from),t=e.indexOf(n);for(let r=1;rs.head?i.range(l,a):i.range(a,l))}}return new i(e,t)}};function sf(i,e){for(let t of i.ranges)if(t.to>e)throw new RangeError("Selection points outside of document")}var Ho=0,Y=class i{constructor(e,t,n,r,s){this.combine=e,this.compareInput=t,this.compare=n,this.isStatic=r,this.id=Ho++,this.default=e([]),this.extensions=typeof s=="function"?s(this):s}get reader(){return this}static define(e={}){return new i(e.combine||(t=>t),e.compareInput||((t,n)=>t===n),e.compare||(e.combine?(t,n)=>t===n:Ko),!!e.static,e.enables)}of(e){return new nn([],this,0,e)}compute(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new nn(e,this,1,t)}computeN(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new nn(e,this,2,t)}from(e,t){return t||(t=n=>n),this.compute([e],n=>t(n.field(e)))}};function Ko(i,e){return i==e||i.length==e.length&&i.every((t,n)=>t===e[n])}var nn=class{constructor(e,t,n,r){this.dependencies=e,this.facet=t,this.type=n,this.value=r,this.id=Ho++}dynamicSlot(e){var t;let n=this.value,r=this.facet.compareInput,s=this.id,o=e[s]>>1,a=this.type==2,l=!1,c=!1,h=[];for(let f of this.dependencies)f=="doc"?l=!0:f=="selection"?c=!0:(((t=e[f.id])!==null&&t!==void 0?t:1)&1)==0&&h.push(e[f.id]);return{create(f){return f.values[o]=n(f),1},update(f,u){if(l&&u.docChanged||c&&(u.docChanged||u.selection)||Vo(f,h)){let O=n(f);if(a?!Kh(O,f.values[o],r):!r(O,f.values[o]))return f.values[o]=O,1}return 0},reconfigure:(f,u)=>{let O,p=u.config.address[s];if(p!=null){let m=Fr(u,p);if(this.dependencies.every(b=>b instanceof Y?u.facet(b)===f.facet(b):b instanceof he?u.field(b,!1)==f.field(b,!1):!0)||(a?Kh(O=n(f),m,r):r(O=n(f),m)))return f.values[o]=m,0}else O=n(f);return f.values[o]=O,1}}}get extension(){return this}};function Kh(i,e,t){if(i.length!=e.length)return!1;for(let n=0;ni[l.id]),r=t.map(l=>l.type),s=n.filter(l=>!(l&1)),o=i[e.id]>>1;function a(l){let c=[];for(let h=0;hn===r),e);return e.provide&&(t.provides=e.provide(t)),t}create(e){let t=e.facet(jr).find(n=>n.field==this);return(t?.create||this.createF)(e)}slot(e){let t=e[this.id]>>1;return{create:n=>(n.values[t]=this.create(n),1),update:(n,r)=>{let s=n.values[t],o=this.updateF(s,r);return this.compareF(s,o)?0:(n.values[t]=o,1)},reconfigure:(n,r)=>{let s=n.facet(jr),o=r.facet(jr),a;return(a=s.find(l=>l.field==this))&&a!=o.find(l=>l.field==this)?(n.values[t]=a.create(n),1):r.config.address[this.id]!=null?(n.values[t]=r.field(this),0):(n.values[t]=this.create(n),1)}}}init(e){return[this,jr.of({field:this,create:e})]}get extension(){return this}},Pi={lowest:4,low:3,default:2,high:1,highest:0};function Mn(i){return e=>new Ur(e,i)}var pt={highest:Mn(Pi.highest),high:Mn(Pi.high),default:Mn(Pi.default),low:Mn(Pi.low),lowest:Mn(Pi.lowest)},Ur=class{constructor(e,t){this.inner=e,this.prec=t}get extension(){return this}},Gr=class i{of(e){return new jn(this,e)}reconfigure(e){return i.reconfigure.of({compartment:this,extension:e})}get(e){return e.config.compartments.get(this)}},jn=class{constructor(e,t){this.compartment=e,this.inner=t}get extension(){return this}},Nr=class i{constructor(e,t,n,r,s,o){for(this.base=e,this.compartments=t,this.dynamicSlots=n,this.address=r,this.staticValues=s,this.facets=o,this.statusTemplate=[];this.statusTemplate.length>1]}static resolve(e,t,n){let r=[],s=Object.create(null),o=new Map;for(let u of l0(e,t,o))u instanceof he?r.push(u):(s[u.facet.id]||(s[u.facet.id]=[])).push(u);let a=Object.create(null),l=[],c=[];for(let u of r)a[u.id]=c.length<<1,c.push(O=>u.slot(O));let h=n?.config.facets;for(let u in s){let O=s[u],p=O[0].facet,m=h&&h[u]||[];if(O.every(b=>b.type==0))if(a[p.id]=l.length<<1|1,Ko(m,O))l.push(n.facet(p));else{let b=p.combine(O.map(g=>g.value));l.push(n&&p.compare(b,n.facet(p))?n.facet(p):b)}else{for(let b of O)b.type==0?(a[b.id]=l.length<<1|1,l.push(b.value)):(a[b.id]=c.length<<1,c.push(g=>b.dynamicSlot(g)));a[p.id]=c.length<<1,c.push(b=>a0(b,p,O))}}let f=c.map(u=>u(a));return new i(e,o,f,a,l,s)}};function l0(i,e,t){let n=[[],[],[],[],[]],r=new Map;function s(o,a){let l=r.get(o);if(l!=null){if(l<=a)return;let c=n[l].indexOf(o);c>-1&&n[l].splice(c,1),o instanceof jn&&t.delete(o.compartment)}if(r.set(o,a),Array.isArray(o))for(let c of o)s(c,a);else if(o instanceof jn){if(t.has(o.compartment))throw new RangeError("Duplicate use of compartment in extensions");let c=e.get(o.compartment)||o.inner;t.set(o.compartment,c),s(c,a)}else if(o instanceof Ur)s(o.inner,o.prec);else if(o instanceof he)n[a].push(o),o.provides&&s(o.provides,a);else if(o instanceof nn)n[a].push(o),o.facet.extensions&&s(o.facet.extensions,Pi.default);else{let c=o.extension;if(!c)throw new Error(`Unrecognized extension value in extension set (${o}).`);if(c==o)throw new Error(`Unrecognized extension value in extension set (${o}). This sometimes happens because multiple instances of @codemirror/state are loaded, breaking instanceof checks.`);s(c,a)}}return s(i,Pi.default),n.reduce((o,a)=>o.concat(a))}function Wn(i,e){if(e&1)return 2;let t=e>>1,n=i.status[t];if(n==4)throw new Error("Cyclic dependency between fields and/or facets");if(n&2)return n;i.status[t]=4;let r=i.computeSlot(i,i.config.dynamicSlots[t]);return i.status[t]=2|r}function Fr(i,e){return e&1?i.config.staticValues[e>>1]:i.values[e>>1]}var of=Y.define(),Do=Y.define({combine:i=>i.some(e=>e),static:!0}),af=Y.define({combine:i=>i.length?i[0]:void 0,static:!0}),lf=Y.define(),cf=Y.define(),hf=Y.define(),ff=Y.define({combine:i=>i.length?i[0]:!1}),$e=class{constructor(e,t){this.type=e,this.value=t}static define(){return new Yo}},Yo=class{of(e){return new $e(this,e)}},Io=class{constructor(e){this.map=e}of(e){return new ie(this,e)}},ie=class i{constructor(e,t){this.type=e,this.value=t}map(e){let t=this.type.map(this.value,e);return t===void 0?void 0:t==this.value?this:new i(this.type,t)}is(e){return this.type==e}static define(e={}){return new Io(e.map||(t=>t))}static mapEffects(e,t){if(!e.length)return e;let n=[];for(let r of e){let s=r.map(t);s&&n.push(s)}return n}};ie.reconfigure=ie.define();ie.appendConfig=ie.define();var de=class i{constructor(e,t,n,r,s,o){this.startState=e,this.changes=t,this.selection=n,this.effects=r,this.annotations=s,this.scrollIntoView=o,this._doc=null,this._state=null,n&&sf(n,t.newLength),s.some(a=>a.type==i.time)||(this.annotations=s.concat(i.time.of(Date.now())))}static create(e,t,n,r,s,o){return new i(e,t,n,r,s,o)}get newDoc(){return this._doc||(this._doc=this.changes.apply(this.startState.doc))}get newSelection(){return this.selection||this.startState.selection.map(this.changes)}get state(){return this._state||this.startState.applyTransaction(this),this._state}annotation(e){for(let t of this.annotations)if(t.type==e)return t.value}get docChanged(){return!this.changes.empty}get reconfigured(){return this.startState.config!=this.state.config}isUserEvent(e){let t=this.annotation(i.userEvent);return!!(t&&(t==e||t.length>e.length&&t.slice(0,e.length)==e&&t[e.length]=="."))}};de.time=$e.define();de.userEvent=$e.define();de.addToHistory=$e.define();de.remote=$e.define();function c0(i,e){let t=[];for(let n=0,r=0;;){let s,o;if(n=i[n]))s=i[n++],o=i[n++];else if(r=0;r--){let s=n[r](i);s instanceof de?i=s:Array.isArray(s)&&s.length==1&&s[0]instanceof de?i=s[0]:i=Of(e,rn(s),!1)}return i}function f0(i){let e=i.startState,t=e.facet(hf),n=i;for(let r=t.length-1;r>=0;r--){let s=t[r](i);s&&Object.keys(s).length&&(n=uf(n,Bo(e,s,i.changes.newLength),!0))}return n==i?i:de.create(e,i.changes,i.selection,n.effects,n.annotations,n.scrollIntoView)}var u0=[];function rn(i){return i==null?u0:Array.isArray(i)?i:[i]}var Ee=(function(i){return i[i.Word=0]="Word",i[i.Space=1]="Space",i[i.Other=2]="Other",i})(Ee||(Ee={})),O0=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/,Uo;try{Uo=new RegExp("[\\p{Alphabetic}\\p{Number}_]","u")}catch{}function d0(i){if(Uo)return Uo.test(i);for(let e=0;e"\x80"&&(t.toUpperCase()!=t.toLowerCase()||O0.test(t)))return!0}return!1}function p0(i){return e=>{if(!/\S/.test(e))return Ee.Space;if(d0(e))return Ee.Word;for(let t=0;t-1)return Ee.Word;return Ee.Other}}var re=class i{constructor(e,t,n,r,s,o){this.config=e,this.doc=t,this.selection=n,this.values=r,this.status=e.statusTemplate.slice(),this.computeSlot=s,o&&(o._state=this);for(let a=0;ar.set(c,l)),t=null),r.set(a.value.compartment,a.value.extension)):a.is(ie.reconfigure)?(t=null,n=a.value):a.is(ie.appendConfig)&&(t=null,n=rn(n).concat(a.value));let s;t?s=e.startState.values.slice():(t=Nr.resolve(n,r,this),s=new i(t,this.doc,this.selection,t.dynamicSlots.map(()=>null),(l,c)=>c.reconfigure(l,this),null).values);let o=e.startState.facet(Do)?e.newSelection:e.newSelection.asSingle();new i(t,e.newDoc,o,s,(a,l)=>l.update(a,e),e)}replaceSelection(e){return typeof e=="string"&&(e=this.toText(e)),this.changeByRange(t=>({changes:{from:t.from,to:t.to,insert:e},range:v.cursor(t.from+e.length)}))}changeByRange(e){let t=this.selection,n=e(t.ranges[0]),r=this.changes(n.changes),s=[n.range],o=rn(n.effects);for(let a=1;ao.spec.fromJSON(a,l)))}}return i.create({doc:e.doc,selection:v.fromJSON(e.selection),extensions:t.extensions?r.concat([t.extensions]):r})}static create(e={}){let t=Nr.resolve(e.extensions||[],new Map),n=e.doc instanceof H?e.doc:H.of((e.doc||"").split(t.staticFacet(i.lineSeparator)||Mo)),r=e.selection?e.selection instanceof v?e.selection:v.single(e.selection.anchor,e.selection.head):v.single(0);return sf(r,n.length),t.staticFacet(Do)||(r=r.asSingle()),new i(t,n,r,t.dynamicSlots.map(()=>null),(s,o)=>o.create(s),null)}get tabSize(){return this.facet(i.tabSize)}get lineBreak(){return this.facet(i.lineSeparator)||` +`}get readOnly(){return this.facet(ff)}phrase(e,...t){for(let n of this.facet(i.phrases))if(Object.prototype.hasOwnProperty.call(n,e)){e=n[e];break}return t.length&&(e=e.replace(/\$(\$|\d*)/g,(n,r)=>{if(r=="$")return"$";let s=+(r||1);return!s||s>t.length?n:t[s-1]})),e}languageDataAt(e,t,n=-1){let r=[];for(let s of this.facet(of))for(let o of s(this,t,n))Object.prototype.hasOwnProperty.call(o,e)&&r.push(o[e]);return r}charCategorizer(e){let t=this.languageDataAt("wordChars",e);return p0(t.length?t[0]:"")}wordAt(e){let{text:t,from:n,length:r}=this.doc.lineAt(e),s=this.charCategorizer(e),o=e-n,a=e-n;for(;o>0;){let l=xe(t,o,!1);if(s(t.slice(l,o))!=Ee.Word)break;o=l}for(;ai.length?i[0]:4});re.lineSeparator=af;re.readOnly=ff;re.phrases=Y.define({compare(i,e){let t=Object.keys(i),n=Object.keys(e);return t.length==n.length&&t.every(r=>i[r]==e[r])}});re.languageData=of;re.changeFilter=lf;re.transactionFilter=cf;re.transactionExtender=hf;Gr.reconfigure=ie.define();function Yn(i,e,t={}){let n={};for(let r of i)for(let s of Object.keys(r)){let o=r[s],a=n[s];if(a===void 0)n[s]=o;else if(!(a===o||o===void 0))if(Object.hasOwnProperty.call(t,s))n[s]=t[s](a,o);else throw new Error("Config merge conflict for field "+s)}for(let r in e)n[r]===void 0&&(n[r]=e[r]);return n}var it=class{eq(e){return this==e}range(e,t=e){return Vn.create(e,t,this)}};it.prototype.startSide=it.prototype.endSide=0;it.prototype.point=!1;it.prototype.mapMode=me.TrackDel;function Jo(i,e){return i==e||i.constructor==e.constructor&&i.eq(e)}var Vn=class i{constructor(e,t,n){this.from=e,this.to=t,this.value=n}static create(e,t,n){return new i(e,t,n)}};function Go(i,e){return i.from-e.from||i.value.startSide-e.value.startSide}var No=class i{constructor(e,t,n,r){this.from=e,this.to=t,this.value=n,this.maxPoint=r}get length(){return this.to[this.to.length-1]}findIndex(e,t,n,r=0){let s=n?this.to:this.from;for(let o=r,a=s.length;;){if(o==a)return o;let l=o+a>>1,c=s[l]-e||(n?this.value[l].endSide:this.value[l].startSide)-t;if(l==o)return c>=0?o:a;c>=0?a=l:o=l+1}}between(e,t,n,r){for(let s=this.findIndex(t,-1e9,!0),o=this.findIndex(n,1e9,!1,s);sO||u==O&&c.startSide>0&&c.endSide<=0)continue;(O-u||c.endSide-c.startSide)<0||(o<0&&(o=u),c.point&&(a=Math.max(a,O-u)),n.push(c),r.push(u-o),s.push(O-o))}return{mapped:n.length?new i(r,s,n,a):null,pos:o}}},oe=class i{constructor(e,t,n,r){this.chunkPos=e,this.chunk=t,this.nextLayer=n,this.maxPoint=r}static create(e,t,n,r){return new i(e,t,n,r)}get length(){let e=this.chunk.length-1;return e<0?0:Math.max(this.chunkEnd(e),this.nextLayer.length)}get size(){if(this.isEmpty)return 0;let e=this.nextLayer.size;for(let t of this.chunk)e+=t.value.length;return e}chunkEnd(e){return this.chunkPos[e]+this.chunk[e].length}update(e){let{add:t=[],sort:n=!1,filterFrom:r=0,filterTo:s=this.length}=e,o=e.filter;if(t.length==0&&!o)return this;if(n&&(t=t.slice().sort(Go)),this.isEmpty)return t.length?i.of(t):this;let a=new Hr(this,null,-1).goto(0),l=0,c=[],h=new Ci;for(;a.value||l=0){let f=t[l++];h.addInner(f.from,f.to,f.value)||c.push(f)}else a.rangeIndex==1&&a.chunkIndexthis.chunkEnd(a.chunkIndex)||sa.to||s=s&&e<=s+o.length&&o.between(s,e-s,t-s,n)===!1)return}this.nextLayer.between(e,t,n)}}iter(e=0){return Dn.from([this]).goto(e)}get isEmpty(){return this.nextLayer==this}static iter(e,t=0){return Dn.from(e).goto(t)}static compare(e,t,n,r,s=-1){let o=e.filter(f=>f.maxPoint>0||!f.isEmpty&&f.maxPoint>=s),a=t.filter(f=>f.maxPoint>0||!f.isEmpty&&f.maxPoint>=s),l=Jh(o,a,n),c=new vi(o,l,s),h=new vi(a,l,s);n.iterGaps((f,u,O)=>ef(c,f,h,u,O,r)),n.empty&&n.length==0&&ef(c,0,h,0,0,r)}static eq(e,t,n=0,r){r==null&&(r=999999999);let s=e.filter(h=>!h.isEmpty&&t.indexOf(h)<0),o=t.filter(h=>!h.isEmpty&&e.indexOf(h)<0);if(s.length!=o.length)return!1;if(!s.length)return!0;let a=Jh(s,o),l=new vi(s,a,0).goto(n),c=new vi(o,a,0).goto(n);for(;;){if(l.to!=c.to||!Fo(l.active,c.active)||l.point&&(!c.point||!Jo(l.point,c.point)))return!1;if(l.to>r)return!0;l.next(),c.next()}}static spans(e,t,n,r,s=-1){let o=new vi(e,null,s).goto(t),a=t,l=o.openStart;for(;;){let c=Math.min(o.to,n);if(o.point){let h=o.activeForPoint(o.to),f=o.pointFroma&&(r.span(a,c,o.active,l),l=o.openEnd(c));if(o.to>n)return l+(o.point&&o.to>n?1:0);a=o.to,o.next()}}static of(e,t=!1){let n=new Ci;for(let r of e instanceof Vn?[e]:t?m0(e):e)n.add(r.from,r.to,r.value);return n.finish()}static join(e){if(!e.length)return i.empty;let t=e[e.length-1];for(let n=e.length-2;n>=0;n--)for(let r=e[n];r!=i.empty;r=r.nextLayer)t=new i(r.chunkPos,r.chunk,t,Math.max(r.maxPoint,t.maxPoint));return t}};oe.empty=new oe([],[],null,-1);function m0(i){if(i.length>1)for(let e=i[0],t=1;t0)return i.slice().sort(Go);e=n}return i}oe.empty.nextLayer=oe.empty;var Ci=class i{finishChunk(e){this.chunks.push(new No(this.from,this.to,this.value,this.maxPoint)),this.chunkPos.push(this.chunkStart),this.chunkStart=-1,this.setMaxPoint=Math.max(this.setMaxPoint,this.maxPoint),this.maxPoint=-1,e&&(this.from=[],this.to=[],this.value=[])}constructor(){this.chunks=[],this.chunkPos=[],this.chunkStart=-1,this.last=null,this.lastFrom=-1e9,this.lastTo=-1e9,this.from=[],this.to=[],this.value=[],this.maxPoint=-1,this.setMaxPoint=-1,this.nextLayer=null}add(e,t,n){this.addInner(e,t,n)||(this.nextLayer||(this.nextLayer=new i)).add(e,t,n)}addInner(e,t,n){let r=e-this.lastTo||n.startSide-this.last.endSide;if(r<=0&&(e-this.lastFrom||n.startSide-this.last.startSide)<0)throw new Error("Ranges must be added sorted by `from` position and `startSide`");return r<0?!1:(this.from.length==250&&this.finishChunk(!0),this.chunkStart<0&&(this.chunkStart=e),this.from.push(e-this.chunkStart),this.to.push(t-this.chunkStart),this.last=n,this.lastFrom=e,this.lastTo=t,this.value.push(n),n.point&&(this.maxPoint=Math.max(this.maxPoint,t-e)),!0)}addChunk(e,t){if((e-this.lastTo||t.value[0].startSide-this.last.endSide)<0)return!1;this.from.length&&this.finishChunk(!0),this.setMaxPoint=Math.max(this.setMaxPoint,t.maxPoint),this.chunks.push(t),this.chunkPos.push(e);let n=t.value.length-1;return this.last=t.value[n],this.lastFrom=t.from[n]+e,this.lastTo=t.to[n]+e,!0}finish(){return this.finishInner(oe.empty)}finishInner(e){if(this.from.length&&this.finishChunk(!1),this.chunks.length==0)return e;let t=oe.create(this.chunkPos,this.chunks,this.nextLayer?this.nextLayer.finishInner(e):e,this.setMaxPoint);return this.from=null,t}};function Jh(i,e,t){let n=new Map;for(let s of i)for(let o=0;o=this.minPoint)break}}setRangeIndex(e){if(e==this.layer.chunk[this.chunkIndex].value.length){if(this.chunkIndex++,this.skip)for(;this.chunkIndex=n&&r.push(new Hr(o,t,n,s));return r.length==1?r[0]:new i(r)}get startSide(){return this.value?this.value.startSide:0}goto(e,t=-1e9){for(let n of this.heap)n.goto(e,t);for(let n=this.heap.length>>1;n>=0;n--)zo(this.heap,n);return this.next(),this}forward(e,t){for(let n of this.heap)n.forward(e,t);for(let n=this.heap.length>>1;n>=0;n--)zo(this.heap,n);(this.to-e||this.value.endSide-t)<0&&this.next()}next(){if(this.heap.length==0)this.from=this.to=1e9,this.value=null,this.rank=-1;else{let e=this.heap[0];this.from=e.from,this.to=e.to,this.value=e.value,this.rank=e.rank,e.value&&e.next(),zo(this.heap,0)}}};function zo(i,e){for(let t=i[e];;){let n=(e<<1)+1;if(n>=i.length)break;let r=i[n];if(n+1=0&&(r=i[n+1],n++),t.compare(r)<0)break;i[n]=t,i[e]=r,e=n}}var vi=class{constructor(e,t,n){this.minPoint=n,this.active=[],this.activeTo=[],this.activeRank=[],this.minActive=-1,this.point=null,this.pointFrom=0,this.pointRank=0,this.to=-1e9,this.endSide=0,this.openStart=-1,this.cursor=Dn.from(e,t,n)}goto(e,t=-1e9){return this.cursor.goto(e,t),this.active.length=this.activeTo.length=this.activeRank.length=0,this.minActive=-1,this.to=e,this.endSide=t,this.openStart=-1,this.next(),this}forward(e,t){for(;this.minActive>-1&&(this.activeTo[this.minActive]-e||this.active[this.minActive].endSide-t)<0;)this.removeActive(this.minActive);this.cursor.forward(e,t)}removeActive(e){Vr(this.active,e),Vr(this.activeTo,e),Vr(this.activeRank,e),this.minActive=tf(this.active,this.activeTo)}addActive(e){let t=0,{value:n,to:r,rank:s}=this.cursor;for(;t0;)t++;Dr(this.active,t,n),Dr(this.activeTo,t,r),Dr(this.activeRank,t,s),e&&Dr(e,t,this.cursor.from),this.minActive=tf(this.active,this.activeTo)}next(){let e=this.to,t=this.point;this.point=null;let n=this.openStart<0?[]:null;for(;;){let r=this.minActive;if(r>-1&&(this.activeTo[r]-this.cursor.from||this.active[r].endSide-this.cursor.startSide)<0){if(this.activeTo[r]>e){this.to=this.activeTo[r],this.endSide=this.active[r].endSide;break}this.removeActive(r),n&&Vr(n,r)}else if(this.cursor.value)if(this.cursor.from>e){this.to=this.cursor.from,this.endSide=this.cursor.startSide;break}else{let s=this.cursor.value;if(!s.point)this.addActive(n),this.cursor.next();else if(t&&this.cursor.to==this.to&&this.cursor.from=0&&n[r]=0&&!(this.activeRank[n]e||this.activeTo[n]==e&&this.active[n].endSide>=this.point.endSide)&&t.push(this.active[n]);return t.reverse()}openEnd(e){let t=0;for(let n=this.activeTo.length-1;n>=0&&this.activeTo[n]>e;n--)t++;return t}};function ef(i,e,t,n,r,s){i.goto(e),t.goto(n);let o=n+r,a=n,l=n-e,c=!!s.boundChange;for(let h=!1;;){let f=i.to+l-t.to,u=f||i.endSide-t.endSide,O=u<0?i.to+l:t.to,p=Math.min(O,o);if(i.point||t.point?(i.point&&t.point&&Jo(i.point,t.point)&&Fo(i.activeForPoint(i.to),t.activeForPoint(t.to))||s.comparePoint(a,p,i.point,t.point),h=!1):(h&&s.boundChange(a),p>a&&!Fo(i.active,t.active)&&s.compareRange(a,p,i.active,t.active),c&&po)break;a=O,u<=0&&i.next(),u>=0&&t.next()}}function Fo(i,e){if(i.length!=e.length)return!1;for(let t=0;t=e;n--)i[n+1]=i[n];i[e]=t}function tf(i,e){let t=-1,n=1e9;for(let r=0;r=e)return r;if(r==i.length)break;s+=i.charCodeAt(r)==9?t-s%t:1,r=xe(i,r)}return n===!0?-1:i.length}var pf=typeof Symbol>"u"?"__\u037C":Symbol.for("\u037C"),ea=typeof Symbol>"u"?"__styleSet"+Math.floor(Math.random()*1e8):Symbol("styleSet"),mf=typeof globalThis<"u"?globalThis:typeof window<"u"?window:{},nt=class{constructor(e,t){this.rules=[];let{finish:n}=t||{};function r(o){return/^@/.test(o)?[o]:o.split(/,\s*/)}function s(o,a,l,c){let h=[],f=/^@(\w+)\b/.exec(o[0]),u=f&&f[1]=="keyframes";if(f&&a==null)return l.push(o[0]+";");for(let O in a){let p=a[O];if(/&/.test(O))s(O.split(/,\s*/).map(m=>o.map(b=>m.replace(/&/,b))).reduce((m,b)=>m.concat(b)),p,l);else if(p&&typeof p=="object"){if(!f)throw new RangeError("The value of a property ("+O+") should be a primitive value.");s(r(O),p,h,u)}else p!=null&&h.push(O.replace(/_.*/,"").replace(/[A-Z]/g,m=>"-"+m.toLowerCase())+": "+p+";")}(h.length||u)&&l.push((n&&!f&&!c?o.map(n):o).join(", ")+" {"+h.join(" ")+"}")}for(let o in e)s(r(o),e[o],this.rules)}getRules(){return this.rules.join(` +`)}static newName(){let e=mf[pf]||1;return mf[pf]=e+1,"\u037C"+e.toString(36)}static mount(e,t,n){let r=e[ea],s=n&&n.nonce;r?s&&r.setNonce(s):r=new ta(e,s),r.mount(Array.isArray(t)?t:[t],e)}},gf=new Map,ta=class{constructor(e,t){let n=e.ownerDocument||e,r=n.defaultView;if(!e.head&&e.adoptedStyleSheets&&r.CSSStyleSheet){let s=gf.get(n);if(s)return e[ea]=s;this.sheet=new r.CSSStyleSheet,gf.set(n,this)}else this.styleTag=n.createElement("style"),t&&this.styleTag.setAttribute("nonce",t);this.modules=[],e[ea]=this}mount(e,t){let n=this.sheet,r=0,s=0;for(let o=0;o-1&&(this.modules.splice(l,1),s--,l=-1),l==-1){if(this.modules.splice(s++,0,a),n)for(let c=0;c",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},g0=typeof navigator<"u"&&/Mac/.test(navigator.platform),Q0=typeof navigator<"u"&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent);for(be=0;be<10;be++)Et[48+be]=Et[96+be]=String(be);var be;for(be=1;be<=24;be++)Et[be+111]="F"+be;var be;for(be=65;be<=90;be++)Et[be]=String.fromCharCode(be+32),an[be]=String.fromCharCode(be);var be;for(Kr in Et)an.hasOwnProperty(Kr)||(an[Kr]=Et[Kr]);var Kr;function Qf(i){var e=g0&&i.metaKey&&i.shiftKey&&!i.ctrlKey&&!i.altKey||Q0&&i.shiftKey&&i.key&&i.key.length==1||i.key=="Unidentified",t=!e&&i.key||(i.shiftKey?an:Et)[i.keyCode]||i.key||"Unidentified";return t=="Esc"&&(t="Escape"),t=="Del"&&(t="Delete"),t=="Left"&&(t="ArrowLeft"),t=="Up"&&(t="ArrowUp"),t=="Right"&&(t="ArrowRight"),t=="Down"&&(t="ArrowDown"),t}var Le=typeof navigator<"u"?navigator:{userAgent:"",vendor:"",platform:""},aa=typeof document<"u"?document:{documentElement:{style:{}}},la=/Edge\/(\d+)/.exec(Le.userAgent),Bf=/MSIE \d/.test(Le.userAgent),ca=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(Le.userAgent),Ss=!!(Bf||ca||la),bf=!Ss&&/gecko\/(\d+)/i.test(Le.userAgent),ia=!Ss&&/Chrome\/(\d+)/.exec(Le.userAgent),Sf="webkitFontSmoothing"in aa.documentElement.style,ha=!Ss&&/Apple Computer/.test(Le.vendor),yf=ha&&(/Mobile\/\w+/.test(Le.userAgent)||Le.maxTouchPoints>2),L={mac:yf||/Mac/.test(Le.platform),windows:/Win/.test(Le.platform),linux:/Linux|X11/.test(Le.platform),ie:Ss,ie_version:Bf?aa.documentMode||6:ca?+ca[1]:la?+la[1]:0,gecko:bf,gecko_version:bf?+(/Firefox\/(\d+)/.exec(Le.userAgent)||[0,0])[1]:0,chrome:!!ia,chrome_version:ia?+ia[1]:0,ios:yf,android:/Android\b/.test(Le.userAgent),webkit:Sf,webkit_version:Sf?+(/\bAppleWebKit\/(\d+)/.exec(Le.userAgent)||[0,0])[1]:0,safari:ha,safari_version:ha?+(/\bVersion\/(\d+(\.\d+)?)/.exec(Le.userAgent)||[0,0])[1]:0,tabSize:aa.documentElement.style.tabSize!=null?"tab-size":"-moz-tab-size"};function Ia(i,e){for(let t in i)t=="class"&&e.class?e.class+=" "+i.class:t=="style"&&e.style?e.style+=";"+i.style:e[t]=i[t];return e}var ls=Object.create(null);function Ba(i,e,t){if(i==e)return!0;i||(i=ls),e||(e=ls);let n=Object.keys(i),r=Object.keys(e);if(n.length-(t&&n.indexOf(t)>-1?1:0)!=r.length-(t&&r.indexOf(t)>-1?1:0))return!1;for(let s of n)if(s!=t&&(r.indexOf(s)==-1||i[s]!==e[s]))return!1;return!0}function b0(i,e){for(let t=i.attributes.length-1;t>=0;t--){let n=i.attributes[t].name;e[n]==null&&i.removeAttribute(n)}for(let t in e){let n=e[t];t=="style"?i.style.cssText=n:i.getAttribute(t)!=n&&i.setAttribute(t,n)}}function kf(i,e,t){let n=!1;if(e)for(let r in e)t&&r in t||(n=!0,r=="style"?i.style.cssText="":i.removeAttribute(r));if(t)for(let r in t)e&&e[r]==t[r]||(n=!0,r=="style"?i.style.cssText=t[r]:i.setAttribute(r,t[r]));return n}function S0(i){let e=Object.create(null);for(let t=0;t0?3e8:-4e8:t>0?1e8:-1e8,new Ri(e,t,t,n,e.widget||null,!1)}static replace(e){let t=!!e.block,n,r;if(e.isBlockGap)n=-5e8,r=4e8;else{let{start:s,end:o}=Uf(e,t);n=(s?t?-3e8:-1:5e8)-1,r=(o?t?2e8:1:-6e8)+1}return new Ri(e,n,r,t,e.widget||null,!0)}static line(e){return new ir(e)}static set(e,t=!1){return oe.of(e,t)}hasHeight(){return this.widget?this.widget.estimatedHeight>-1:!1}};Z.none=oe.empty;var tr=class i extends Z{constructor(e){let{start:t,end:n}=Uf(e);super(t?-1:5e8,n?1:-6e8,null,e),this.tagName=e.tagName||"span",this.attrs=e.class&&e.attributes?Ia(e.attributes,{class:e.class}):e.class?{class:e.class}:e.attributes||ls}eq(e){return this==e||e instanceof i&&this.tagName==e.tagName&&Ba(this.attrs,e.attrs)}range(e,t=e){if(e>=t)throw new RangeError("Mark decorations may not be empty");return super.range(e,t)}};tr.prototype.point=!1;var ir=class i extends Z{constructor(e){super(-2e8,-2e8,null,e)}eq(e){return e instanceof i&&this.spec.class==e.spec.class&&Ba(this.spec.attributes,e.spec.attributes)}range(e,t=e){if(t!=e)throw new RangeError("Line decoration ranges must be zero-length");return super.range(e,t)}};ir.prototype.mapMode=me.TrackBefore;ir.prototype.point=!0;var Ri=class i extends Z{constructor(e,t,n,r,s,o){super(t,n,s,e),this.block=r,this.isReplace=o,this.mapMode=r?t<=0?me.TrackBefore:me.TrackAfter:me.TrackDel}get type(){return this.startSide!=this.endSide?lt.WidgetRange:this.startSide<=0?lt.WidgetBefore:lt.WidgetAfter}get heightRelevant(){return this.block||!!this.widget&&(this.widget.estimatedHeight>=5||this.widget.lineBreaks>0)}eq(e){return e instanceof i&&y0(this.widget,e.widget)&&this.block==e.block&&this.startSide==e.startSide&&this.endSide==e.endSide}range(e,t=e){if(this.isReplace&&(e>t||e==t&&this.startSide>0&&this.endSide<=0))throw new RangeError("Invalid range for replacement decoration");if(!this.isReplace&&t!=e)throw new RangeError("Widget decorations can only have zero-length ranges");return super.range(e,t)}};Ri.prototype.point=!0;function Uf(i,e=!1){let{inclusiveStart:t,inclusiveEnd:n}=i;return t==null&&(t=i.inclusive),n==null&&(n=i.inclusive),{start:t??e,end:n??e}}function y0(i,e){return i==e||!!(i&&e&&i.compare(e))}function fn(i,e,t,n=0){let r=t.length-1;r>=0&&t[r]+n>=i?t[r]=Math.max(t[r],e):t.push(i,e)}var oi=class i extends it{constructor(e,t,n){super(),this.tagName=e,this.attributes=t,this.rank=n}eq(e){return e==this||e instanceof i&&this.tagName==e.tagName&&Ba(this.attributes,e.attributes)}static create(e){return new i(e.tagName,e.attributes||ls,e.rank==null?50:Math.max(0,Math.min(e.rank,100)))}static set(e,t=!1){return oe.of(e,t)}};oi.prototype.startSide=oi.prototype.endSide=-1;function nr(i){let e;return i.nodeType==11?e=i.getSelection?i:i.ownerDocument:e=i,e.getSelection()}function fa(i,e){return e?i==e||i.contains(e.nodeType!=1?e.parentNode:e):!1}function Gn(i,e){if(!e.anchorNode)return!1;try{return fa(i,e.anchorNode)}catch{return!1}}function os(i){return i.nodeType==3?rr(i,0,i.nodeValue.length).getClientRects():i.nodeType==1?i.getClientRects():[]}function Nn(i,e,t,n){return t?xf(i,e,t,n,-1)||xf(i,e,t,n,1):!1}function ai(i){for(var e=0;;e++)if(i=i.previousSibling,!i)return e}function cs(i){return i.nodeType==1&&/^(DIV|P|LI|UL|OL|BLOCKQUOTE|DD|DT|H\d|SECTION|PRE)$/.test(i.nodeName)}function xf(i,e,t,n,r){for(;;){if(i==t&&e==n)return!0;if(e==(r<0?0:Mt(i))){if(i.nodeName=="DIV")return!1;let s=i.parentNode;if(!s||s.nodeType!=1)return!1;e=ai(i)+(r<0?0:1),i=s}else if(i.nodeType==1){if(i=i.childNodes[e+(r<0?-1:0)],i.nodeType==1&&i.contentEditable=="false")return!1;e=r<0?Mt(i):0}else return!1}}function Mt(i){return i.nodeType==3?i.nodeValue.length:i.childNodes.length}function hs(i,e){let{left:t,right:n}=i;if(t==n)return i;let r=e?t:n;return{left:r,right:r,top:i.top,bottom:i.bottom}}function k0(i){let e=i.visualViewport;return e?{left:0,right:e.width,top:0,bottom:e.height}:{left:0,right:i.innerWidth,top:0,bottom:i.innerHeight}}function Gf(i,e){let t=e.width/i.offsetWidth,n=e.height/i.offsetHeight;return(t>.995&&t<1.005||!isFinite(t)||Math.abs(e.width-i.offsetWidth)<1)&&(t=1),(n>.995&&n<1.005||!isFinite(n)||Math.abs(e.height-i.offsetHeight)<1)&&(n=1),{scaleX:t,scaleY:n}}function x0(i,e,t,n,r,s,o,a){let l=i.ownerDocument,c=l.defaultView||window;for(let h=i,f=!1;h&&!f;)if(h.nodeType==1){let u,O=h==l.body,p=1,m=1;if(O)u=k0(c);else{if(/^(fixed|sticky)$/.test(getComputedStyle(h).position)&&(f=!0),h.scrollHeight<=h.clientHeight&&h.scrollWidth<=h.clientWidth){h=h.assignedSlot||h.parentNode;continue}let Q=h.getBoundingClientRect();({scaleX:p,scaleY:m}=Gf(h,Q)),u={left:Q.left,right:Q.left+h.clientWidth*p,top:Q.top,bottom:Q.top+h.clientHeight*m}}let b=0,g=0;if(r=="nearest")e.top0&&e.bottom>u.bottom+g&&(g=e.bottom-u.bottom+o)):e.bottom>u.bottom-o&&(g=e.bottom-u.bottom+o,t<0&&e.top-g0&&e.right>u.right+b&&(b=e.right-u.right+s)):e.right>u.right-s&&(b=e.right-u.right+s,t<0&&e.leftu.bottom||e.leftu.right)&&(e={left:Math.max(e.left,u.left),right:Math.min(e.right,u.right),top:Math.max(e.top,u.top),bottom:Math.min(e.bottom,u.bottom)}),h=h.assignedSlot||h.parentNode}else if(h.nodeType==11)h=h.host;else break}function Nf(i,e=!0){let t=i.ownerDocument,n=null,r=null;for(let s=i.parentNode;s&&!(s==t.body||(!e||n)&&r);)if(s.nodeType==1)!r&&s.scrollHeight>s.clientHeight&&(r=s),e&&!n&&s.scrollWidth>s.clientWidth&&(n=s),s=s.assignedSlot||s.parentNode;else if(s.nodeType==11)s=s.host;else break;return{x:n,y:r}}var ua=class{constructor(){this.anchorNode=null,this.anchorOffset=0,this.focusNode=null,this.focusOffset=0}eq(e){return this.anchorNode==e.anchorNode&&this.anchorOffset==e.anchorOffset&&this.focusNode==e.focusNode&&this.focusOffset==e.focusOffset}setRange(e){let{anchorNode:t,focusNode:n}=e;this.set(t,Math.min(e.anchorOffset,t?Mt(t):0),n,Math.min(e.focusOffset,n?Mt(n):0))}set(e,t,n,r){this.anchorNode=e,this.anchorOffset=t,this.focusNode=n,this.focusOffset=r}},Xi=null;L.safari&&L.safari_version>=26&&(Xi=!1);function Ff(i){if(i.setActive)return i.setActive();if(Xi)return i.focus(Xi);let e=[];for(let t=i;t&&(e.push(t,t.scrollTop,t.scrollLeft),t!=t.ownerDocument);t=t.parentNode);if(i.focus(Xi==null?{get preventScroll(){return Xi={preventScroll:!0},!0}}:void 0),!Xi){Xi=!1;for(let t=0;tMath.max(0,i.document.documentElement.scrollHeight-i.innerHeight-4):i.scrollTop>Math.max(1,i.scrollHeight-i.clientHeight-4)}function Kf(i,e){for(let t=i,n=e;;){if(t.nodeType==3&&n>0)return{node:t,offset:n};if(t.nodeType==1&&n>0){if(t.contentEditable=="false")return null;t=t.childNodes[n-1],n=Mt(t)}else if(t.parentNode&&!cs(t))n=ai(t),t=t.parentNode;else return null}}function Jf(i,e){for(let t=i,n=e;;){if(t.nodeType==3&&n=t){if(a.level==n)return o;(s<0||(r!=0?r<0?a.fromt:e[s].level>a.level))&&(s=o)}}if(s<0)throw new RangeError("Index out of range");return s}};function iu(i,e){if(i.length!=e.length)return!1;for(let t=0;t=0;m-=3)if($t[m+1]==-O){let b=$t[m+2],g=b&2?r:b&4?b&1?s:r:0;g&&(se[f]=se[$t[m]]=g),a=m;break}}else{if($t.length==189)break;$t[a++]=f,$t[a++]=u,$t[a++]=l}else if((p=se[f])==2||p==1){let m=p==r;l=m?0:1;for(let b=a-3;b>=0;b-=3){let g=$t[b+2];if(g&2)break;if(m)$t[b+2]|=2;else{if(g&4)break;$t[b+2]|=4}}}}}function _0(i,e,t,n){for(let r=0,s=n;r<=t.length;r++){let o=r?t[r-1].to:i,a=rl;)p==b&&(p=t[--m].from,b=m?t[m-1].to:i),se[--p]=O;l=h}else s=c,l++}}}function da(i,e,t,n,r,s,o){let a=n%2?2:1;if(n%2==r%2)for(let l=e,c=0;ll&&o.push(new ot(l,m.from,O));let b=m.direction==Ai!=!(O%2);pa(i,b?n+1:n,r,m.inner,m.from,m.to,o),l=m.to}p=m.to}else{if(p==t||(h?se[p]!=a:se[p]==a))break;p++}u?da(i,l,p,n+1,r,u,o):le;){let h=!0,f=!1;if(!c||l>s[c-1].to){let m=se[l-1];m!=a&&(h=!1,f=m==16)}let u=!h&&a==1?[]:null,O=h?n:n+1,p=l;e:for(;;)if(c&&p==s[c-1].to){if(f)break e;let m=s[--c];if(!h)for(let b=m.from,g=c;;){if(b==e)break e;if(g&&s[g-1].to==b)b=s[--g].from;else{if(se[b-1]==a)break e;break}}if(u)u.push(m);else{m.tose.length;)se[se.length]=256;let n=[],r=e==Ai?0:1;return pa(i,r,r,t,0,i.length,n),n}function nu(i){return[new ot(0,i,0)]}var ru="";function A0(i,e,t,n,r){var s;let o=n.head-i.from,a=ot.find(e,o,(s=n.bidiLevel)!==null&&s!==void 0?s:-1,n.assoc),l=e[a],c=l.side(r,t);if(o==c){let u=a+=r?1:-1;if(u<0||u>=e.length)return null;l=e[a=u],o=l.side(!r,t),c=l.side(r,t)}let h=xe(i.text,o,l.forward(r,t));(hl.to)&&(h=c),ru=i.text.slice(Math.min(o,h),Math.max(o,h));let f=a==(r?e.length-1:0)?null:e[a+(r?1:-1)];return f&&h==c&&f.level+(r?0:1)i.some(e=>e)}),q0=Y.define({combine:i=>i.some(e=>e)}),uu=Y.define(),Fn=class i{constructor(e,t,n,r,s,o=!1){this.range=e,this.y=t,this.x=n,this.yMargin=r,this.xMargin=s,this.isSnapshot=o}map(e){return e.empty?this:new i(this.range.map(e),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}clip(e){return this.range.to<=e.doc.length?this:new i(v.cursor(e.doc.length),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}},Jr=ie.define({map:(i,e)=>i.map(e)}),Ou=ie.define();function at(i,e,t){let n=i.facet(lu);n.length?n[0](e):window.onerror&&window.onerror(String(e),t,void 0,void 0,e)||(t?console.error(t+":",e):console.error(e))}var zt=Y.define({combine:i=>i.length?i[0]:!0}),E0=0,cn=Y.define({combine(i){return i.filter((e,t)=>{for(let n=0;n{let l=[];return o&&l.push(ys.of(c=>{let h=c.plugin(a);return h?o(h):Z.none})),s&&l.push(s(a)),l})}static fromClass(e,t){return i.define((n,r)=>new e(n,r),t)}},Hn=class{constructor(e){this.spec=e,this.mustUpdate=null,this.value=null}get plugin(){return this.spec&&this.spec.plugin}update(e){if(this.value){if(this.mustUpdate){let t=this.mustUpdate;if(this.mustUpdate=null,this.value.update)try{this.value.update(t)}catch(n){if(at(t.state,n,"CodeMirror plugin crashed"),this.value.destroy)try{this.value.destroy()}catch{}this.deactivate()}}}else if(this.spec)try{this.value=this.spec.plugin.create(e,this.spec.arg)}catch(t){at(e.state,t,"CodeMirror plugin crashed"),this.deactivate()}return this}destroy(e){var t;if(!((t=this.value)===null||t===void 0)&&t.destroy)try{this.value.destroy()}catch(n){at(e.state,n,"CodeMirror plugin crashed")}}deactivate(){this.spec=this.value=null}},du=Y.define(),Fa=Y.define(),ys=Y.define(),pu=Y.define(),Ha=Y.define(),sr=Y.define(),mu=Y.define();function Pf(i,e){let t=i.state.facet(mu);if(!t.length)return t;let n=t.map(s=>s instanceof Function?s(i):s),r=[];return oe.spans(n,e.from,e.to,{point(){},span(s,o,a,l){let c=s-e.from,h=o-e.from,f=r;for(let u=a.length-1;u>=0;u--,l--){let O=a[u].spec.bidiIsolate,p;if(O==null&&(O=Z0(e.text,c,h)),l>0&&f.length&&(p=f[f.length-1]).to==c&&p.direction==O)p.to=h,f=p.inner;else{let m={from:c,to:h,direction:O,inner:[]};f.push(m),f=m.inner}}}}),r}var gu=Y.define();function Qu(i){let e=0,t=0,n=0,r=0;for(let s of i.state.facet(gu)){let o=s(i);o&&(o.left!=null&&(e=Math.max(e,o.left)),o.right!=null&&(t=Math.max(t,o.right)),o.top!=null&&(n=Math.max(n,o.top)),o.bottom!=null&&(r=Math.max(r,o.bottom)))}return{left:e,right:t,top:n,bottom:r}}var In=Y.define(),gt=class i{constructor(e,t,n,r){this.fromA=e,this.toA=t,this.fromB=n,this.toB=r}join(e){return new i(Math.min(this.fromA,e.fromA),Math.max(this.toA,e.toA),Math.min(this.fromB,e.fromB),Math.max(this.toB,e.toB))}addToSet(e){let t=e.length,n=this;for(;t>0;t--){let r=e[t-1];if(!(r.fromA>n.toA)){if(r.toAr.push(new gt(s,o,a,l))),this.changedRanges=r}static create(e,t,n){return new i(e,t,n)}get viewportChanged(){return(this.flags&4)>0}get viewportMoved(){return(this.flags&8)>0}get heightChanged(){return(this.flags&2)>0}get geometryChanged(){return this.docChanged||(this.flags&18)>0}get focusChanged(){return(this.flags&1)>0}get docChanged(){return!this.changes.empty}get selectionSet(){return this.transactions.some(e=>e.selection)}get empty(){return this.flags==0&&this.transactions.length==0}},z0=[],fe=class{constructor(e,t,n=0){this.dom=e,this.length=t,this.flags=n,this.parent=null,e.cmTile=this}get breakAfter(){return this.flags&1}get children(){return z0}isWidget(){return!1}get isHidden(){return!1}isComposite(){return!1}isLine(){return!1}isText(){return!1}isBlock(){return!1}get domAttrs(){return null}sync(e){if(this.flags|=2,this.flags&4){this.flags&=-5;let t=this.domAttrs;t&&b0(this.dom,t)}}toString(){return this.constructor.name+(this.children.length?`(${this.children})`:"")+(this.breakAfter?"#":"")}destroy(){this.parent=null}setDOM(e){this.dom=e,e.cmTile=this}get posAtStart(){return this.parent?this.parent.posBefore(this):0}get posAtEnd(){return this.posAtStart+this.length}posBefore(e,t=this.posAtStart){let n=t;for(let r of this.children){if(r==e)return n;n+=r.length+r.breakAfter}throw new RangeError("Invalid child in posBefore")}posAfter(e){return this.posBefore(e)+e.length}covers(e){return!0}coordsIn(e,t,n){return null}domPosFor(e,t){let n=ai(this.dom),r=this.length?e>0:t>0;return new Tt(this.parent.dom,n+(r?1:0),e==0||e==this.length)}markDirty(e){this.flags&=-3,e&&(this.flags|=4),this.parent&&this.parent.flags&2&&this.parent.markDirty(!1)}get overrideDOMText(){return null}get root(){for(let e=this;e;e=e.parent)if(e instanceof dn)return e;return null}static get(e){return e.cmTile}},On=class extends fe{constructor(e){super(e,0),this._children=[]}isComposite(){return!0}get children(){return this._children}get lastChild(){return this.children.length?this.children[this.children.length-1]:null}append(e){this.children.push(e),e.parent=this}sync(e){if(this.flags&2)return;super.sync(e);let t=this.dom,n=null,r,s=e?.node==t?e:null,o=0;for(let a of this.children){if(a.sync(e),o+=a.length+a.breakAfter,r=n?n.nextSibling:t.firstChild,s&&r!=a.dom&&(s.written=!0),a.dom.parentNode==t)for(;r&&r!=a.dom;)r=vf(r);else t.insertBefore(a.dom,r);n=a.dom}for(r=n?n.nextSibling:t.firstChild,s&&r&&(s.written=!0);r;)r=vf(r);this.length=o}};function vf(i){let e=i.nextSibling;return i.parentNode.removeChild(i),e}var dn=class extends On{constructor(e,t){super(t),this.view=e}owns(e){for(;e;e=e.parent)if(e==this)return!0;return!1}isBlock(){return!0}nearest(e){for(;;){if(!e)return null;let t=fe.get(e);if(t&&this.owns(t))return t;e=e.parentNode}}blockTiles(e){for(let t=[],n=this,r=0,s=0;;)if(r==n.children.length){if(!t.length)return;n=n.parent,n.breakAfter&&s++,r=t.pop()}else{let o=n.children[r++];if(o instanceof Lt)t.push(r),n=o,r=0;else{let a=s+o.length,l=e(o,s);if(l!==void 0)return l;s=a+o.breakAfter}}}resolveBlock(e,t){let n,r=-1,s,o=-1;if(this.blockTiles((a,l)=>{let c=l+a.length;if(e>=l&&e<=c){if(a.isWidget()&&t>=-1&&t<=1){if(a.flags&32)return!0;a.flags&16&&(n=void 0)}(le||e==l&&(t>1?a.length:a.covers(-1)))&&(!s||!a.isWidget()&&s.isWidget())&&(s=a,o=e-l)}}),!n&&!s)throw new Error("No tile at position "+e);return n&&t<0||!s?{tile:n,offset:r}:{tile:s,offset:o}}},Lt=class i extends On{constructor(e,t){super(e),this.wrapper=t}isBlock(){return!0}covers(e){return this.children.length?e<0?this.children[0].covers(-1):this.lastChild.covers(1):!1}get domAttrs(){return this.wrapper.attributes}static of(e,t){let n=new i(t||document.createElement(e.tagName),e);return t||(n.flags|=4),n}},pn=class i extends On{constructor(e,t){super(e),this.attrs=t}isLine(){return!0}static start(e,t,n){let r=new i(t||document.createElement("div"),e);return(!t||!n)&&(r.flags|=4),r}get domAttrs(){return this.attrs}resolveInline(e,t,n){let r=null,s=-1,o=null,a=-1;function l(h,f){for(let u=0,O=0;u=f&&(p.isComposite()?l(p,f-O):(!o||o.isHidden&&(t>0&&!(o.flags&32)||n&&M0(o,p)))&&(m>f||p.flags&32)?(o=p,a=f-O):(Or&&(e=r);let s=e,o=e,a=0;e==0&&t<0||e==r&&t>=0?L.chrome||L.gecko||(e?(s--,a=1):o=0)?0:l.length-1];return L.safari&&!a&&c.width==0&&(c=Array.prototype.find.call(l,h=>h.width)||c),n==null?c:hs(c,(a?a>0:t<0)==n)}static of(e,t){let n=new i(t||document.createTextNode(e),e);return t||(n.flags|=2),n}},Zi=class i extends fe{constructor(e,t,n,r){super(e,t,r),this.widget=n}isWidget(){return!0}get isHidden(){return this.widget.isHidden}covers(e){return this.flags&48?!1:(this.flags&(e<0?64:128))>0}coordsIn(e,t){return this.coordsInWidget(e,t,!1)}coordsInWidget(e,t,n){let r=this.widget.coordsAt(this.dom,e,t);if(r)return r;if(n)return hs(this.dom.getBoundingClientRect(),this.length?e==0:t<=0);{let s=this.dom.getClientRects(),o=null;if(!s.length)return null;let a=this.flags&16?!0:this.flags&32?!1:e>0;for(let l=a?s.length-1:0;o=s[l],!(e>0?l==0:l==s.length-1||o.top0==n)}},ga=class{constructor(e){this.index=0,this.beforeBreak=!1,this.parents=[],this.tile=e}advance(e,t,n){let{tile:r,index:s,beforeBreak:o,parents:a}=this;for(;e||t>0;)if(r.isComposite())if(o){if(!e)break;n&&n.break(),e--,o=!1}else if(s==r.children.length){if(!e&&!a.length)break;n&&n.leave(r),o=!!r.breakAfter,{tile:r,index:s}=a.pop(),s++}else{let l=r.children[s],c=l.breakAfter;(t>0?l.length<=e:l.length=0;a--){let l=t.marks[a],c=r.lastChild;if(c instanceof Ve&&c.mark.eq(l.mark))c.dom!=l.dom&&c.setDOM(na(l.dom)),r=c;else{if(this.cache.reused.get(l)){let f=fe.get(l.dom);f&&f.setDOM(na(l.dom))}let h=Ve.of(l.mark,l.dom);r.append(h),r=h}this.cache.reused.set(l,2)}let s=fe.get(e.text);s&&this.cache.reused.set(s,2);let o=new _i(e.text,e.text.nodeValue);o.flags|=8,this.pos=e.range.toB,r.append(o)}addInlineWidget(e,t,n){let r=this.afterWidget&&e.flags&48&&(this.afterWidget.flags&48)==(e.flags&48);r||this.flushBuffer();let s=this.ensureMarks(t,n);!r&&!(e.flags&16)&&s.append(this.getBuffer(1)),s.append(e),this.pos+=e.length,this.afterWidget=e}addMark(e,t,n){this.flushBuffer(),this.ensureMarks(t,n).append(e),this.pos+=e.length,this.afterWidget=null}addBlockWidget(e){this.getBlockPos().append(e),this.pos+=e.length,this.lastBlock=e,this.endLine()}continueWidget(e){let t=this.afterWidget||this.lastBlock;t.length+=e,this.pos+=e}addLineStart(e,t){var n;e||(e=bu);let r=pn.start(e,t||((n=this.cache.find(pn))===null||n===void 0?void 0:n.dom),!!t);this.getBlockPos().append(this.lastBlock=this.curLine=r)}addLine(e){this.getBlockPos().append(e),this.pos+=e.length,this.lastBlock=e,this.endLine()}addBreak(){this.lastBlock.flags|=1,this.endLine(),this.pos++}addLineStartIfNotCovered(e){this.blockPosCovered()||this.addLineStart(e)}ensureLine(e){this.curLine||this.addLineStart(e)}ensureMarks(e,t){var n;let r=this.curLine;for(let s=e.length-1;s>=0;s--){let o=e[s],a;if(t>0&&(a=r.lastChild)&&a instanceof Ve&&a.mark.eq(o))r=a,t--;else{let l=Ve.of(o,(n=this.cache.find(Ve,c=>c.mark.eq(o)))===null||n===void 0?void 0:n.dom);r.append(l),r=l,t=0}}return r}endLine(){if(this.curLine){this.flushBuffer();let e=this.curLine.lastChild;(!e||!$f(this.curLine,!1)||e.dom.nodeName!="BR"&&e.isWidget()&&!(L.ios&&$f(this.curLine,!0)))&&this.curLine.append(this.cache.findWidget(ra,0,32)||new Zi(ra.toDOM(),0,ra,32)),this.curLine=this.afterWidget=null}}updateBlockWrappers(){this.wrapperPos>this.pos+1e4&&(this.blockWrappers.goto(this.pos),this.wrappers.length=0);for(let e=this.wrappers.length-1;e>=0;e--)this.wrappers[e].to=this.pos){let t=e.rank*102+e.value.rank,n=new Qa(e.from,e.to,e.value,t),r=this.wrappers.length;for(;r>0&&(this.wrappers[r-1].rank-n.rank||this.wrappers[r-1].to-n.to)<0;)r--;this.wrappers.splice(r,0,n)}this.wrapperPos=this.pos}getBlockPos(){var e;this.updateBlockWrappers();let t=this.root;for(let n of this.wrappers){let r=t.lastChild;if(n.fromo.wrapper.eq(n.wrapper)))===null||e===void 0?void 0:e.dom);t.append(s),t=s}}return t}blockPosCovered(){let e=this.lastBlock;return e!=null&&!e.breakAfter&&(!e.isWidget()||(e.flags&160)>0)}getBuffer(e){let t=2|(e<0?16:32),n=this.cache.find(mn,void 0,1);return n&&(n.flags=t),n||new mn(t)}flushBuffer(){this.afterWidget&&!(this.afterWidget.flags&32)&&(this.afterWidget.parent.append(this.getBuffer(-1)),this.afterWidget=null)}},Sa=class{constructor(e){this.skipCount=0,this.text="",this.textOff=0,this.cursor=e.iter()}skip(e){this.textOff+e<=this.text.length?this.textOff+=e:(this.skipCount+=e-(this.text.length-this.textOff),this.text="",this.textOff=0)}next(e){if(this.textOff==this.text.length){let{value:r,lineBreak:s,done:o}=this.cursor.next(this.skipCount);if(this.skipCount=0,o)throw new Error("Ran out of text content when drawing inline views");this.text=r;let a=this.textOff=Math.min(e,r.length);return s?null:r.slice(0,a)}let t=Math.min(this.text.length,this.textOff+e),n=this.text.slice(this.textOff,t);return this.textOff=t,n}},us=[Zi,pn,_i,Ve,mn,Lt,dn];for(let i=0;i[]),this.index=us.map(()=>0),this.reused=new Map}add(e){let t=e.constructor.bucket,n=this.buckets[t];n.length<6?n.push(e):n[this.index[t]=(this.index[t]+1)%6]=e}find(e,t,n=2){let r=e.bucket,s=this.buckets[r],o=this.index[r];for(let a=0;a{if(this.cache.add(o),o.isComposite())return!1},enter:o=>this.cache.add(o),leave:()=>{},break:()=>{}}}run(e,t){let n=t&&this.getCompositionContext(t.text);for(let r=0,s=0,o=0;;){let a=or){let c=l-r;this.preserve(c,!o,!a),r=l,s+=c}if(!a)break;t&&a.fromA<=t.range.fromA&&a.toA>=t.range.toA?(this.forward(a.fromA,t.range.fromA,t.range.fromA{if(o.isWidget())if(this.openWidget)this.builder.continueWidget(l-a);else{let c=l>0||a{o.isLine()?this.builder.addLineStart(o.attrs,this.cache.maybeReuse(o)):(this.cache.add(o),o instanceof Ve&&r.unshift(o.mark)),this.openWidget=!1},leave:o=>{o.isLine()?r.length&&(r.length=s=0):o instanceof Ve&&(r.shift(),s=Math.min(s,r.length))},break:()=>{this.builder.addBreak(),this.openWidget=!1}}),this.text.skip(e)}emit(e,t){let n=null,r=this.builder,s=-1,o=oe.spans(this.decorations,e,t,{point:(a,l,c,h,f,u)=>{if(c instanceof Ri){if(this.disallowBlockEffectsFor[u]){if(c.block)throw new RangeError("Block decorations may not be specified via plugins");if(l>this.view.state.doc.lineAt(a).to)throw new RangeError("Decorations that replace line breaks may not be specified via plugins")}if(s=h.length,f>h.length)r.continueWidget(l-a);else{let O=c.widget||(c.block?li.block:li.inline),p=W0(c),m=this.cache.findWidget(O,l-a,p)||Zi.of(O,this.view,l-a,p);c.block?(c.startSide>0&&r.addLineStartIfNotCovered(n),r.addBlockWidget(m)):(r.ensureLine(n),r.addInlineWidget(m,h,f))}n=null}else n=j0(n,c);l>a&&this.text.skip(l-a)},span:(a,l,c,h)=>{for(let f=a;f-1&&(this.openWidget=o>s),this.openWidget||r.addLineStartIfNotCovered(n),this.openMarks=o}forward(e,t,n=1){t-e<=10?this.old.advance(t-e,n,this.reuseWalker):(this.old.advance(5,-1,this.reuseWalker),this.old.advance(t-e-10,-1),this.old.advance(5,n,this.reuseWalker))}getCompositionContext(e){let t=[],n=null;for(let r=e.parentNode;;r=r.parentNode){let s=fe.get(r);if(r==this.view.contentDOM)break;s instanceof Ve?t.push(s):s?.isLine()?n=s:s instanceof Lt||(r.nodeName=="DIV"&&!n&&r!=this.view.contentDOM?n=new pn(r,bu):n||t.push(Ve.of(new tr({tagName:r.nodeName.toLowerCase(),attributes:S0(r)}),r)))}return{line:n,marks:t}}};function $f(i,e){let t=n=>{for(let r of n.children)if((e?r.isText():r.length)||t(r))return!0;return!1};return t(i)}function W0(i){let e=i.isReplace?(i.startSide<0?64:0)|(i.endSide>0?128:0):i.startSide>0?32:16;return i.block&&(e|=256),e}var bu={class:"cm-line"};function j0(i,e){let t=e.spec.attributes,n=e.spec.class;return!t&&!n||(i||(i={class:"cm-line"}),t&&Ia(t,i),n&&(i.class+=" "+n)),i}function V0(i){let e=[];for(let t=i.parents.length;t>1;t--){let n=t==i.parents.length?i.tile:i.parents[t].tile;n instanceof Ve&&e.push(n.mark)}return e}function na(i){let e=fe.get(i);return e&&e.setDOM(i.cloneNode()),i}var li=class extends Ae{constructor(e){super(),this.tag=e}eq(e){return e.tag==this.tag}toDOM(){return document.createElement(this.tag)}updateDOM(e){return e.nodeName.toLowerCase()==this.tag}get isHidden(){return!0}};li.inline=new li("span");li.block=new li("div");var ra=new class extends Ae{toDOM(){return document.createElement("br")}get isHidden(){return!0}get editable(){return!0}},Os=class{constructor(e){this.view=e,this.decorations=[],this.blockWrappers=[],this.dynamicDecorationMap=[!1],this.domChanged=null,this.hasComposition=null,this.editContextFormatting=Z.none,this.lastCompositionAfterCursor=!1,this.minWidth=0,this.minWidthFrom=0,this.minWidthTo=0,this.impreciseAnchor=null,this.impreciseHead=null,this.forceSelection=!1,this.lastUpdate=Date.now(),this.updateDeco(),this.tile=new dn(e,e.contentDOM),this.updateInner([new gt(0,0,0,e.state.doc.length)],null)}update(e){var t;let n=e.changedRanges;this.minWidth>0&&n.length&&(n.every(({fromA:h,toA:f})=>fthis.minWidthTo)?(this.minWidthFrom=e.changes.mapPos(this.minWidthFrom,1),this.minWidthTo=e.changes.mapPos(this.minWidthTo,1)):this.minWidth=this.minWidthFrom=this.minWidthTo=0),this.updateEditContextFormatting(e);let r=-1;this.view.inputState.composing>=0&&!this.view.observer.editContext&&(!((t=this.domChanged)===null||t===void 0)&&t.newSel?r=this.domChanged.newSel.head:!F0(e.changes,this.hasComposition)&&!e.selectionSet&&(r=e.state.selection.main.head));let s=r>-1?Y0(this.view,e.changes,r):null;if(this.domChanged=null,this.hasComposition){let{from:h,to:f}=this.hasComposition;n=new gt(h,f,e.changes.mapPos(h,-1),e.changes.mapPos(f,1)).addToSet(n.slice())}this.hasComposition=s?{from:s.range.fromB,to:s.range.toB}:null,(L.ie||L.chrome)&&!s&&e&&e.state.doc.lines!=e.startState.doc.lines&&(this.forceSelection=!0);let o=this.decorations,a=this.blockWrappers;this.updateDeco();let l=U0(o,this.decorations,e.changes);l.length&&(n=gt.extendWithRanges(n,l));let c=G0(a,this.blockWrappers,e.changes);return c.length&&(n=gt.extendWithRanges(n,c)),s&&!n.some(h=>h.fromA<=s.range.fromA&&h.toA>=s.range.toA)&&(n=s.range.addToSet(n.slice())),this.tile.flags&2&&n.length==0?!1:(this.updateInner(n,s),e.transactions.length&&(this.lastUpdate=Date.now()),!0)}updateInner(e,t){this.view.viewState.mustMeasureContent=!0;let{observer:n}=this.view;n.ignore(()=>{if(t||e.length){let o=this.tile,a=new ka(this.view,o,this.blockWrappers,this.decorations,this.dynamicDecorationMap);t&&fe.get(t.text)&&a.cache.reused.set(fe.get(t.text),2),this.tile=a.run(e,t),xa(o,a.cache.reused)}this.tile.dom.style.height=this.view.viewState.contentHeight/this.view.scaleY+"px",this.tile.dom.style.flexBasis=this.minWidth?this.minWidth+"px":"";let s=L.chrome||L.ios?{node:n.selectionRange.focusNode,written:!1}:void 0;this.tile.sync(s),s&&(s.written||n.selectionRange.focusNode!=s.node||!this.tile.dom.contains(s.node))&&(this.forceSelection=!0),this.tile.dom.style.height=""});let r=[];if(this.view.viewport.from||this.view.viewport.to-1)&&Gn(n,this.view.observer.selectionRange)&&!(r&&n.contains(r));if(!(s||t||o))return;let a=this.forceSelection;this.forceSelection=!1;let l=this.view.state.selection.main,c,h;if(l.empty?h=c=this.inlineDOMNearPos(l.anchor,l.assoc||1):(h=this.inlineDOMNearPos(l.head,l.head==l.from?1:-1),c=this.inlineDOMNearPos(l.anchor,l.anchor==l.from?1:-1)),L.gecko&&l.empty&&!this.hasComposition&&D0(c)){let u=document.createTextNode("");this.view.observer.ignore(()=>c.node.insertBefore(u,c.node.childNodes[c.offset]||null)),c=h=new Tt(u,0),a=!0}let f=this.view.observer.selectionRange;(a||!f.focusNode||(!Nn(c.node,c.offset,f.anchorNode,f.anchorOffset)||!Nn(h.node,h.offset,f.focusNode,f.focusOffset))&&!this.suppressWidgetCursorChange(f,l))&&(this.view.observer.ignore(()=>{L.android&&L.chrome&&n.contains(f.focusNode)&&N0(f.focusNode,n)&&(n.blur(),n.focus({preventScroll:!0}));let u=nr(this.view.root);if(u)if(l.empty){if(L.gecko){let O=I0(c.node,c.offset);if(O&&O!=3){let p=(O==1?Kf:Jf)(c.node,c.offset);p&&(c=new Tt(p.node,p.offset))}}u.collapse(c.node,c.offset),l.bidiLevel!=null&&u.caretBidiLevel!==void 0&&(u.caretBidiLevel=l.bidiLevel)}else if(u.extend){u.collapse(c.node,c.offset);try{u.extend(h.node,h.offset)}catch{}}else{let O=document.createRange();l.anchor>l.head&&([c,h]=[h,c]),O.setEnd(h.node,h.offset),O.setStart(c.node,c.offset),u.removeAllRanges(),u.addRange(O)}o&&this.view.root.activeElement==n&&(n.blur(),r&&r.focus())}),this.view.observer.setSelectionRange(c,h)),this.impreciseAnchor=c.precise?null:new Tt(f.anchorNode,f.anchorOffset),this.impreciseHead=h.precise?null:new Tt(f.focusNode,f.focusOffset)}suppressWidgetCursorChange(e,t){return this.hasComposition&&t.empty&&Nn(e.focusNode,e.focusOffset,e.anchorNode,e.anchorOffset)&&this.posFromDOM(e.focusNode,e.focusOffset)==t.head}enforceCursorAssoc(){if(this.hasComposition)return;let{view:e}=this,t=e.state.selection.main,n=nr(e.root),{anchorNode:r,anchorOffset:s}=e.observer.selectionRange;if(!n||!t.empty||!t.assoc||!n.modify)return;let o=this.lineAt(t.head,t.assoc);if(!o)return;let a=o.posAtStart;if(t.head==a||t.head==a+o.length)return;let l=this.coordsAt(t.head,-1),c=this.coordsAt(t.head,1);if(!l||!c||l.bottom>c.top)return;let h=this.domAtPos(t.head+t.assoc,t.assoc);n.collapse(h.node,h.offset),n.modify("move",t.assoc<0?"forward":"backward","lineboundary"),e.observer.readSelectionRange();let f=e.observer.selectionRange;e.docView.posFromDOM(f.anchorNode,f.anchorOffset)!=t.from&&n.collapse(r,s)}posFromDOM(e,t){let n=this.tile.nearest(e);if(!n)return this.tile.dom.compareDocumentPosition(e)&2?0:this.view.state.doc.length;let r=n.posAtStart;if(n.isComposite()){let s;if(e==n.dom)s=n.dom.childNodes[t];else{let o=Mt(e)==0?0:t==0?-1:1;for(;;){let a=e.parentNode;if(a==n.dom)break;o==0&&a.firstChild!=a.lastChild&&(e==a.firstChild?o=-1:o=1),e=a}o<0?s=e:s=e.nextSibling}if(s==n.dom.firstChild)return r;for(;s&&!fe.get(s);)s=s.nextSibling;if(!s)return r+n.length;for(let o=0,a=r;;o++){let l=n.children[o];if(l.dom==s)return a;a+=l.length+l.breakAfter}}else return n.isText()?e==n.dom?r+t:r+(t?n.length:0):r}domAtPos(e,t){let{tile:n,offset:r}=this.tile.resolveBlock(e,t);return n.isWidget()?n.domPosFor(r,t):n.domIn(r,t)}inlineDOMNearPos(e,t){let n,r=-1,s=!1,o,a=-1,l=!1;return this.tile.blockTiles((c,h)=>{if(c.isWidget()){if(c.flags&32&&h>=e)return!0;c.flags&16&&(s=!0)}else{let f=h+c.length;if(h<=e&&(n=c,r=e-h,s=f=e&&!o&&(o=c,a=e-h,l=h>e),h>e&&o)return!0}}),!n&&!o?this.domAtPos(e,t):(s&&o?n=null:l&&n&&(o=null),n&&t<0||!o?n.domIn(r,t):o.domIn(a,t))}coordsAt(e,t,n){let{tile:r,offset:s}=this.tile.resolveBlock(e,t);return r.isWidget()?r.widget instanceof Kn?null:r.coordsInWidget(s,t,!0):r.coordsIn(s,t,n)}lineAt(e,t){let{tile:n}=this.tile.resolveBlock(e,t);return n.isLine()?n:null}coordsForChar(e){let{tile:t,offset:n}=this.tile.resolveBlock(e,1);if(!t.isLine())return null;function r(s,o){if(s.isComposite())for(let a of s.children){if(a.length>=o){let l=r(a,o);if(l)return l}if(o-=a.length,o<0)break}else if(s.isText()&&oMath.max(this.view.scrollDOM.clientWidth,this.minWidth)+1,a=-1,l=this.view.textDirection==ue.LTR,c=0,h=(f,u,O)=>{for(let p=0;pr);p++){let m=f.children[p],b=u+m.length,g=m.dom.getBoundingClientRect(),{height:Q}=g;if(O&&!p&&(c+=g.top-O.top),m instanceof Lt)b>n&&h(m,u,g);else if(u>=n&&(c>0&&t.push(-c),t.push(Q+c),c=0,o)){let S=m.dom.lastChild,x=S?os(S):[];if(x.length){let P=x[x.length-1],$=l?P.right-g.left:g.right-P.left;$>a&&(a=$,this.minWidth=s,this.minWidthFrom=u,this.minWidthTo=b)}}O&&p==f.children.length-1&&(c+=O.bottom-g.bottom),u=b+m.breakAfter}};return h(this.tile,0,null),t}textDirectionAt(e){let{tile:t}=this.tile.resolveBlock(e,1);return getComputedStyle(t.dom).direction=="rtl"?ue.RTL:ue.LTR}measureTextSize(){let e=this.tile.blockTiles(o=>{if(o.isLine()&&o.children.length&&o.length<=20){let a=0,l;for(let c of o.children){if(!c.isText()||/[^ -~]/.test(c.text))return;let h=os(c.dom);if(h.length!=1)return;a+=h[0].width,l=h[0].height}if(a)return{lineHeight:o.dom.getBoundingClientRect().height,charWidth:a/o.length,textHeight:l}}});if(e)return e;let t=document.createElement("div"),n,r,s;return t.className="cm-line",t.style.width="99999px",t.style.position="absolute",t.textContent="abc def ghi jkl mno pqr stu",this.view.observer.ignore(()=>{this.tile.dom.appendChild(t);let o=os(t.firstChild)[0];n=t.getBoundingClientRect().height,r=o&&o.width?o.width/27:7,s=o&&o.height?o.height:n,t.remove()}),{lineHeight:n,charWidth:r,textHeight:s}}computeBlockGapDeco(){let e=[],t=this.view.viewState;for(let n=0,r=0;;r++){let s=r==t.viewports.length?null:t.viewports[r],o=s?s.from-1:this.view.state.doc.length;if(o>n){let a=(t.lineBlockAt(o).bottom-t.lineBlockAt(n).top)/this.view.scaleY;e.push(Z.replace({widget:new Kn(a),block:!0,inclusive:!0,isBlockGap:!0}).range(n,o))}if(!s)break;n=s.to+1}return Z.set(e)}updateDeco(){let e=1,t=this.view.state.facet(ys).map(s=>(this.dynamicDecorationMap[e++]=typeof s=="function")?s(this.view):s),n=!1,r=this.view.state.facet(Ha).map((s,o)=>{let a=typeof s=="function";return a&&(n=!0),a?s(this.view):s});for(r.length&&(this.dynamicDecorationMap[e++]=n,t.push(oe.join(r))),this.decorations=[this.editContextFormatting,...t,this.computeBlockGapDeco(),this.view.viewState.lineGapDeco];etypeof s=="function"?s(this.view):s)}scrollIntoView(e){if(e.isSnapshot){let c=this.view.viewState.lineBlockAt(e.range.head);this.view.scrollDOM.scrollTop=c.top-e.yMargin,this.view.scrollDOM.scrollLeft=e.xMargin;return}for(let c of this.view.state.facet(uu))try{if(c(this.view,e.range,e))return!0}catch(h){at(this.view.state,h,"scroll handler")}let{range:t}=e,n=this.coordsAt(t.head,t.assoc||(t.head>t.anchor?-1:1)),r;if(!n)return;!t.empty&&(r=this.coordsAt(t.anchor,t.anchor>t.head?-1:1))&&(n={left:Math.min(n.left,r.left),top:Math.min(n.top,r.top),right:Math.max(n.right,r.right),bottom:Math.max(n.bottom,r.bottom)});let s=Qu(this.view),o={left:n.left-s.left,top:n.top-s.top,right:n.right+s.right,bottom:n.bottom+s.bottom},{offsetWidth:a,offsetHeight:l}=this.view.scrollDOM;if(x0(this.view.scrollDOM,o,t.head1&&(n.top>window.pageYOffset+window.visualViewport.offsetTop+window.visualViewport.height||n.bottomn.isWidget()||n.children.some(t);return t(this.tile.resolveBlock(e,1).tile)}destroy(){xa(this.tile)}};function xa(i,e){let t=e?.get(i);if(t!=1){t==null&&i.destroy();for(let n of i.children)xa(n,e)}}function D0(i){return i.node.nodeType==1&&i.node.firstChild&&(i.offset==0||i.node.childNodes[i.offset-1].contentEditable=="false")&&(i.offset==i.node.childNodes.length||i.node.childNodes[i.offset].contentEditable=="false")}function Su(i,e){let t=i.observer.selectionRange;if(!t.focusNode)return null;let n=Kf(t.focusNode,t.focusOffset),r=Jf(t.focusNode,t.focusOffset),s=n||r;if(r&&n&&r.node!=n.node){let a=fe.get(r.node);if(!a||a.isText()&&a.text!=r.node.nodeValue)s=r;else if(i.docView.lastCompositionAfterCursor){let l=fe.get(n.node);!l||l.isText()&&l.text!=n.node.nodeValue||(s=r)}}if(i.docView.lastCompositionAfterCursor=s!=n,!s)return null;let o=e-s.offset;return{from:o,to:o+s.node.nodeValue.length,node:s.node}}function Y0(i,e,t){let n=Su(i,t);if(!n)return null;let{node:r,from:s,to:o}=n,a=r.nodeValue;if(/[\n\r]/.test(a)||i.state.doc.sliceString(n.from,n.to)!=a)return null;let l=e.invertedDesc;return{range:new gt(l.mapPos(s),l.mapPos(o),s,o),text:r}}function I0(i,e){return i.nodeType!=1?0:(e&&i.childNodes[e-1].contentEditable=="false"?1:0)|(e{ne.from&&(t=!0)}),t}var Kn=class extends Ae{constructor(e){super(),this.height=e}toDOM(){let e=document.createElement("div");return e.className="cm-gap",this.updateDOM(e),e}eq(e){return e.height==this.height}updateDOM(e){return e.style.height=this.height+"px",!0}get editable(){return!0}get estimatedHeight(){return this.height}ignoreEvent(){return!1}};function H0(i,e,t=1){let n=i.charCategorizer(e),r=i.doc.lineAt(e),s=e-r.from;if(r.length==0)return v.cursor(e);s==0?t=1:s==r.length&&(t=-1);let o=s,a=s;t<0?o=xe(r.text,s,!1):a=xe(r.text,s);let l=n(r.text.slice(o,a));for(;o>0;){let c=xe(r.text,o,!1);if(n(r.text.slice(c,o))!=l)break;o=c}for(;ai.defaultLineHeight*1.5){let a=i.viewState.heightOracle.textHeight,l=Math.floor((r-t.top-(i.defaultLineHeight-a)*.5)/a);s+=l*i.viewState.heightOracle.lineLength}let o=i.state.sliceDoc(t.from,t.to);return t.from+df(o,s,i.state.tabSize)}function J0(i,e,t){let n=i.lineBlockAt(e);if(Array.isArray(n.type)){let r;for(let s of n.type){if(s.from>e)break;if(!(s.toe)return s;(!r||s.type==lt.Text&&(r.type!=s.type||(t<0?s.frome)))&&(r=s)}}return r||n}return n}function eQ(i,e,t,n){let r=J0(i,e.head,e.assoc||-1),s=!n||r.type!=lt.Text||!(i.lineWrapping||r.widgetLineBreaks)?null:i.coordsAtPos(e.assoc<0&&e.head>r.from?e.head-1:e.head);if(s){let o=i.dom.getBoundingClientRect(),a=i.textDirectionAt(r.from),l=i.posAtCoords({x:t==(a==ue.LTR)?o.right-1:o.left+1,y:(s.top+s.bottom)/2});if(l!=null)return v.cursor(l,t?-1:1)}return v.cursor(t?r.to:r.from,t?-1:1)}function Tf(i,e,t,n){let r=i.state.doc.lineAt(e.head),s=i.bidiSpans(r),o=i.textDirectionAt(r.from);for(let a=e,l=null;;){let c=A0(r,s,o,a,t),h=ru;if(!c){if(r.number==(t?i.state.doc.lines:1))return a;h=` +`,r=i.state.doc.line(r.number+(t?1:-1)),s=i.bidiSpans(r),c=i.visualLineSide(r,!t)}if(l){if(!l(h))return a}else{if(!n)return c;l=n(h)}a=c}}function tQ(i,e,t){let n=i.state.charCategorizer(e),r=n(t);return s=>{let o=n(s);return r==Ee.Space&&(r=o),r==o}}function iQ(i,e,t,n){let r=e.head,s=t?1:-1;if(r==(t?i.state.doc.length:0))return v.cursor(r,e.assoc);let o=e.goalColumn,a,l=i.contentDOM.getBoundingClientRect(),c=i.coordsAtPos(r,e.assoc||((e.empty?t:e.head==e.from)?1:-1)),h=i.documentTop;if(c)o==null&&(o=c.left-l.left),a=s<0?c.top:c.bottom;else{let p=i.viewState.lineBlockAt(r);o==null&&(o=Math.min(l.right-l.left,i.defaultCharacterWidth*(r-p.from))),a=(s<0?p.top:p.bottom)+h}let f=l.left+o,u=i.viewState.heightOracle.textHeight>>1,O=n??u;for(let p=0;;p+=u){let m=a+(O+p)*s,b=Pa(i,{x:f,y:m},!1,s);if(t?m>l.bottom:ma:Q{if(e>s&&er(i)),t.from,e.head>t.from?-1:1);return n==t.from?t:v.cursor(n,ni.viewState.docHeight)return new st(i.state.doc.length,-1);if(c=i.elementAtHeight(l),n==null)break;if(c.type==lt.Text){if(n<0?c.toi.viewport.to)break;let u=i.docView.coordsAt(n<0?c.from:c.to,n>0?-1:1);if(u&&(n<0?u.top<=l+s:u.bottom>=l+s))break}let f=i.viewState.heightOracle.textHeight/2;l=n>0?c.bottom+f:c.top-f}if(i.viewport.from>=c.to||i.viewport.to<=c.from){if(t)return null;if(c.type==lt.Text){let f=K0(i,r,c,o,a);return new st(f,f==c.from?1:-1)}}if(c.type!=lt.Text)return l<(c.top+c.bottom)/2?new st(c.from,1):new st(c.to,-1);let h=i.docView.lineAt(c.from,2);return(!h||h.length!=c.length)&&(h=i.docView.lineAt(c.from,-2)),new va(i,o,a,i.textDirectionAt(c.from)).scanTile(h,c.from)}var va=class{constructor(e,t,n,r){this.view=e,this.x=t,this.y=n,this.baseDir=r,this.line=null,this.spans=null}bidiSpansAt(e){return(!this.line||this.line.from>e||this.line.to1||n.length&&(n[0].level!=this.baseDir||n[0].to+r.from>1;t:if(o.has(m)){let g=r+Math.floor(Math.random()*p);for(let Q=0;Q1)){if(Q.bottomthis.y)(!c||c.top>Q.top)&&(c=Q),S=-1;else{let x=Q.left>this.x?this.x-Q.left:Q.right(p+p+m)/3)return this.y=l.bottom-1,this.scan(e,t,!0);if(c&&c.top<(p+m+m)/3)return this.y=c.top+1,this.scan(e,t,!0)}let O=(a?this.dirAt(e[h],1):this.baseDir)==ue.LTR;return{i:h,after:this.x>(u.left+u.right)/2==O}}scanText(e,t){let n=[];for(let s=0;s{let o=n[s]-t,a=n[s+1]-t;return rr(e.dom,o,a).getClientRects()});return r.after?new st(n[r.i+1],-1):new st(n[r.i],1)}scanTile(e,t){if(!e.length)return new st(t,1);if(e.children.length==1){let a=e.children[0];if(a.isText())return this.scanText(a,t);if(a.isComposite())return this.scanTile(a,t)}let n=[t];for(let a=0,l=t;a{let l=e.children[a];return l.flags&48?null:(l.dom.nodeType==1?l.dom:rr(l.dom,0,l.length)).getClientRects()}),s=e.children[r.i],o=n[r.i];return s.isText()?this.scanText(s,o):s.isComposite()?this.scanTile(s,o):r.after?new st(n[r.i+1],-1):new st(o,1)}},ln="\uFFFF",$a=class{constructor(e,t){this.points=e,this.view=t,this.text="",this.lineSeparator=t.state.facet(re.lineSeparator)}append(e){this.text+=e}lineBreak(){this.text+=ln}readRange(e,t){if(!e)return this;let n=e.parentNode;for(let r=e;;){this.findPointBefore(n,r);let s=this.text.length;this.readNode(r);let o=fe.get(r),a=r.nextSibling;if(a==t){o?.breakAfter&&!a&&n!=this.view.contentDOM&&this.lineBreak();break}let l=fe.get(a);(o&&l?o.breakAfter:(o?o.breakAfter:cs(r))||cs(a)&&(r.nodeName!="BR"||o?.isWidget())&&this.text.length>s)&&!rQ(a,t)&&this.lineBreak(),r=a}return this.findPointBefore(n,t),this}readTextNode(e){let t=e.nodeValue;for(let n of this.points)n.node==e&&(n.pos=this.text.length+Math.min(n.offset,t.length));for(let n=0,r=this.lineSeparator?null:/\r\n?|\n/g;;){let s=-1,o=1,a;if(this.lineSeparator?(s=t.indexOf(this.lineSeparator,n),o=this.lineSeparator.length):(a=r.exec(t))&&(s=a.index,o=a[0].length),this.append(t.slice(n,s<0?t.length:s)),s<0)break;if(this.lineBreak(),o>1)for(let l of this.points)l.node==e&&l.pos>this.text.length&&(l.pos-=o-1);n=s+o}}readNode(e){let t=fe.get(e),n=t&&t.overrideDOMText;if(n!=null){this.findPointInside(e,n.length);for(let r=n.iter();!r.next().done;)r.lineBreak?this.lineBreak():this.append(r.value)}else e.nodeType==3?this.readTextNode(e):e.nodeName=="BR"?e.nextSibling&&this.lineBreak():e.nodeType==1&&this.readRange(e.firstChild,null)}findPointBefore(e,t){for(let n of this.points)n.node==e&&e.childNodes[n.offset]==t&&(n.pos=this.text.length)}findPointInside(e,t){for(let n of this.points)(e.nodeType==3?n.node==e:e.contains(n.node))&&(n.pos=this.text.length+(nQ(e,n.node,n.offset)?t:0))}};function nQ(i,e,t){for(;;){if(!e||t-1;let{impreciseHead:s,impreciseAnchor:o}=e.docView,a=e.state.selection;if(e.state.readOnly&&t>-1)this.newSel=null;else if(t>-1&&(this.bounds=ku(e.docView.tile,t,n,0))){let l=s||o?[]:oQ(e),c=new $a(l,e);c.readRange(this.bounds.startDOM,this.bounds.endDOM),this.text=c.text,this.newSel=aQ(l,this.bounds.from)}else{let l=e.observer.selectionRange,c=s&&s.node==l.focusNode&&s.offset==l.focusOffset||!fa(e.contentDOM,l.focusNode)?a.main.head:e.docView.posFromDOM(l.focusNode,l.focusOffset),h=o&&o.node==l.anchorNode&&o.offset==l.anchorOffset||!fa(e.contentDOM,l.anchorNode)?a.main.anchor:e.docView.posFromDOM(l.anchorNode,l.anchorOffset),f=e.viewport;if((L.ios||L.chrome)&&c!=h&&Math.min(c,h)<=a.main.from&&Math.max(c,h)>=a.main.to&&(f.from>0||f.to-1&&a.ranges.length>1)this.newSel=a.replaceRange(v.range(h,c));else if(e.lineWrapping&&h==c&&!(a.main.empty&&a.main.head==c)&&e.inputState.lastTouchTime>Date.now()-100){let u=e.coordsAtPos(c,-1),O=0;u&&(O=e.inputState.lastTouchY<=u.bottom?-1:1),this.newSel=v.create([v.cursor(c,O)])}else this.newSel=v.single(h,c)}}};function ku(i,e,t,n){if(i.isComposite()){let r=-1,s=-1,o=-1,a=-1;for(let l=0,c=n,h=n;lt)return ku(f,e,t,c);if(u>=e&&r==-1&&(r=l,s=c),c>t&&f.dom.parentNode==i.dom){o=l,a=h;break}h=u,c=u+f.breakAfter}return{from:s,to:a<0?n+i.length:a,startDOM:(r?i.children[r-1].dom.nextSibling:null)||i.dom.firstChild,endDOM:o=0?i.children[o].dom:null}}else return i.isText()?{from:n,to:n+i.length,startDOM:i.dom,endDOM:i.dom.nextSibling}:null}function xu(i,e){let t,{newSel:n}=e,{state:r}=i,s=r.selection.main,o=i.inputState.lastKeyTime>Date.now()-100?i.inputState.lastKeyCode:-1;if(e.bounds){let{from:a,to:l}=e.bounds,c=s.from,h=null;(o===8||L.android&&e.text.length=a&&s.to<=l&&(e.typeOver||f!=e.text)&&f.slice(0,s.from-a)==e.text.slice(0,s.from-a)&&f.slice(s.to-a)==e.text.slice(u=e.text.length-(f.length-(s.to-a)))?t={from:s.from,to:s.to,insert:H.of(e.text.slice(s.from-a,u).split(ln))}:(O=wu(f,e.text,c-a,h))&&(L.chrome&&o==13&&O.toB==O.from+2&&e.text.slice(O.from,O.toB)==ln+ln&&O.toB--,t={from:a+O.from,to:a+O.toA,insert:H.of(e.text.slice(O.from,O.toB).split(ln))})}else n&&(!i.hasFocus&&r.facet(zt)||ps(n,s))&&(n=null);if(!t&&!n)return!1;if((L.mac||L.android)&&t&&t.from==t.to&&t.from==s.head-1&&/^\. ?$/.test(t.insert.toString())&&i.contentDOM.getAttribute("autocorrect")=="off"?(n&&t.insert.length==2&&(n=v.single(n.main.anchor-1,n.main.head-1)),t={from:t.from,to:t.to,insert:H.of([t.insert.toString().replace("."," ")])}):r.doc.lineAt(s.from).toDate.now()-50?t={from:s.from,to:s.to,insert:r.toText(i.inputState.insertingText)}:L.chrome&&t&&t.from==t.to&&t.from==s.head&&t.insert.toString()==` + `&&i.lineWrapping&&(n&&(n=v.single(n.main.anchor-1,n.main.head-1)),t={from:s.from,to:s.to,insert:H.of([" "])}),t)return Ka(i,t,n,o);if(n&&!ps(n,s)){let a=!1,l="select";return i.inputState.lastSelectionTime>Date.now()-50&&(i.inputState.lastSelectionOrigin=="select"&&(a=!0),l=i.inputState.lastSelectionOrigin,l=="select.pointer"&&(n=yu(r.facet(sr).map(c=>c(i)),n))),i.dispatch({selection:n,scrollIntoView:a,userEvent:l}),!0}else return!1}function Ka(i,e,t,n=-1){if(L.ios&&i.inputState.flushIOSKey(e))return!0;let r=i.state.selection.main;if(L.android&&(e.to==r.to&&(e.from==r.from||e.from==r.from-1&&i.state.sliceDoc(e.from,r.from)==" ")&&e.insert.length==1&&e.insert.lines==2&&un(i.contentDOM,"Enter",13)||(e.from==r.from-1&&e.to==r.to&&e.insert.length==0||n==8&&e.insert.lengthr.head)&&un(i.contentDOM,"Backspace",8)||e.from==r.from&&e.to==r.to+1&&e.insert.length==0&&un(i.contentDOM,"Delete",46)))return!0;let s=e.insert.toString();i.inputState.composing>=0&&i.inputState.composing++;let o,a=()=>o||(o=sQ(i,e,t));return i.state.facet(cu).some(l=>l(i,e.from,e.to,s,a))||i.dispatch(a()),!0}function sQ(i,e,t){let n,r=i.state,s=r.selection.main,o=-1;if(e.from==e.to&&e.froms.to){let l=e.fromf(i)),c,l);e.from==h&&(o=h)}if(o>-1)n={changes:e,selection:v.cursor(e.from+e.insert.length,-1)};else if(e.from>=s.from&&e.to<=s.to&&e.to-e.from>=(s.to-s.from)/3&&(!t||t.main.empty&&t.main.from==e.from+e.insert.length)&&i.inputState.composing<0){let l=s.frome.to?r.sliceDoc(e.to,s.to):"";n=r.replaceSelection(i.state.toText(l+e.insert.sliceString(0,void 0,i.state.lineBreak)+c))}else{let l=r.changes(e),c=t&&t.main.to<=l.newLength?t.main:void 0;if(r.selection.ranges.length>1&&(i.inputState.composing>=0||i.inputState.compositionPendingChange)&&e.to<=s.to+10&&e.to>=s.to-10){let h=i.state.sliceDoc(e.from,e.to),f,u=t&&Su(i,t.main.head);if(u){let p=e.insert.length-(e.to-e.from);f={from:u.from,to:u.to-p}}else f=i.state.doc.lineAt(s.head);let O=s.to-e.to;n=r.changeByRange(p=>{if(p.from==s.from&&p.to==s.to)return{changes:l,range:c||p.map(l)};let m=p.to-O,b=m-h.length;if(i.state.sliceDoc(b,m)!=h||m>=f.from&&b<=f.to)return{range:p};let g=r.changes({from:b,to:m,insert:e.insert}),Q=p.to-s.to;return{changes:g,range:c?v.range(Math.max(0,c.anchor+Q),Math.max(0,c.head+Q)):p.map(g)}})}else n={changes:l,selection:c&&r.selection.replaceRange(c)}}let a="input.type";return(i.composing||i.inputState.compositionPendingChange&&i.inputState.compositionEndedAt>Date.now()-50)&&(i.inputState.compositionPendingChange=!1,a+=".compose",i.inputState.compositionFirstChange&&(a+=".start",i.inputState.compositionFirstChange=!1)),r.update(n,{userEvent:a,scrollIntoView:!0})}function wu(i,e,t,n){let r=Math.min(i.length,e.length),s=0;for(;s0&&a>0&&i.charCodeAt(o-1)==e.charCodeAt(a-1);)o--,a--;if(n=="end"){let l=Math.max(0,s-Math.min(o,a));t-=o+l-s}if(o=o?s-t:0;s-=l,a=s+(a-o),o=s}else if(a=a?s-t:0;s-=l,o=s+(o-a),a=s}return{from:s,toA:o,toB:a}}function oQ(i){let e=[];if(i.root.activeElement!=i.contentDOM)return e;let{anchorNode:t,anchorOffset:n,focusNode:r,focusOffset:s}=i.observer.selectionRange;return t&&(e.push(new ds(t,n)),(r!=t||s!=n)&&e.push(new ds(r,s))),e}function aQ(i,e){if(i.length==0)return null;let t=i[0].pos,n=i.length==2?i[1].pos:t;return t>-1&&n>-1?v.single(t+e,n+e):null}function ps(i,e){return e.head==i.main.head&&e.anchor==i.main.anchor}var Ca=class{setSelectionOrigin(e){this.lastSelectionOrigin=e,this.lastSelectionTime=Date.now()}constructor(e){this.view=e,this.lastKeyCode=0,this.lastKeyTime=0,this.touchActive=!1,this.lastTouchTime=0,this.lastTouchX=0,this.lastTouchY=0,this.lastFocusTime=0,this.lastScrollTop=0,this.lastScrollLeft=0,this.lastWheelEvent=0,this.pendingIOSKey=void 0,this.lastIOSMomentumScroll=0,this.tabFocusMode=-1,this.lastSelectionOrigin=null,this.lastSelectionTime=0,this.lastContextMenu=0,this.scrollHandlers=[],this.handlers=Object.create(null),this.composing=-1,this.compositionFirstChange=null,this.compositionEndedAt=0,this.compositionPendingKey=!1,this.compositionPendingChange=!1,this.insertingText="",this.insertingTextAt=0,this.mouseSelection=null,this.draggedContent=null,this.handleEvent=this.handleEvent.bind(this),this.notifiedFocused=e.hasFocus,L.safari&&e.contentDOM.addEventListener("input",()=>null),L.gecko&&kQ(e.contentDOM.ownerDocument)}handleEvent(e){!pQ(this.view,e)||this.ignoreDuringComposition(e)||e.type=="keydown"&&this.keydown(e)||(this.view.updateState!=0?Promise.resolve().then(()=>this.runHandlers(e.type,e)):this.runHandlers(e.type,e))}runHandlers(e,t){let n=this.handlers[e];if(n){for(let r of n.observers)r(this.view,t);for(let r of n.handlers){if(t.defaultPrevented)break;if(r(this.view,t)){t.preventDefault();break}}}}ensureHandlers(e){let t=cQ(e),n=this.handlers,r=this.view.contentDOM;for(let s in t)if(s!="scroll"){let o=!t[s].handlers.length,a=n[s];a&&o!=!a.handlers.length&&(r.removeEventListener(s,this.handleEvent),a=null),a||r.addEventListener(s,this.handleEvent,{passive:o})}for(let s in n)s!="scroll"&&!t[s]&&r.removeEventListener(s,this.handleEvent);this.handlers=t}keydown(e){if(this.lastKeyCode=e.keyCode,this.lastKeyTime=Date.now(),e.keyCode==9&&this.tabFocusMode>-1&&(!this.tabFocusMode||Date.now()<=this.tabFocusMode))return!0;if(this.tabFocusMode>0&&e.keyCode!=27&&vu.indexOf(e.keyCode)<0&&(this.tabFocusMode=-1),L.android&&L.chrome&&!e.synthetic&&(e.keyCode==13||e.keyCode==8))return this.view.observer.delayAndroidKey(e.key,e.keyCode),!0;if(L.ios&&!e.synthetic&&!e.altKey&&!e.metaKey&&(Pu.some(t=>t.keyCode==e.keyCode)&&!e.ctrlKey||hQ.indexOf(e.key)>-1&&e.ctrlKey)){let t={ctrlKey:e.ctrlKey,altKey:e.altKey,metaKey:e.metaKey,shiftKey:e.shiftKey};return t.shiftKey&&L.ios&&!/^(off|none)$/.test(this.view.contentDOM.autocapitalize)&&lQ(this.view.win)&&(t.shiftKey=!1),this.pendingIOSKey={key:e.key,keyCode:e.keyCode,mods:t},setTimeout(()=>this.flushIOSKey(),250),!0}return e.keyCode!=229&&this.view.observer.forceFlush(),!1}flushIOSKey(e){let t=this.pendingIOSKey;return!t||t.key=="Enter"&&e&&e.from0?!0:L.safari&&!L.ios&&this.compositionPendingKey&&Date.now()-this.compositionEndedAt<100?(this.compositionPendingKey=!1,!0):!1}startMouseSelection(e){this.mouseSelection&&this.mouseSelection.destroy(),this.mouseSelection=e}update(e){this.view.observer.update(e),this.mouseSelection&&this.mouseSelection.update(e),this.draggedContent&&e.docChanged&&(this.draggedContent=this.draggedContent.map(e.changes)),e.transactions.length&&(this.lastKeyCode=this.lastSelectionTime=0)}destroy(){this.mouseSelection&&this.mouseSelection.destroy()}};function lQ(i){return i.visualViewport?i.visualViewport.height*i.visualViewport.scale/i.document.documentElement.clientHeight<.85:!1}function Cf(i,e){return(t,n)=>{try{return e.call(i,n,t)}catch(r){at(t.state,r)}}}function cQ(i){let e=Object.create(null);function t(n){return e[n]||(e[n]={observers:[],handlers:[]})}for(let n of i){let r=n.spec,s=r&&r.plugin.domEventHandlers,o=r&&r.plugin.domEventObservers;if(s)for(let a in s){let l=s[a];l&&t(a).handlers.push(Cf(n.value,l))}if(o)for(let a in o){let l=o[a];l&&t(a).observers.push(Cf(n.value,l))}}for(let n in Qt)t(n).handlers.push(Qt[n]);for(let n in Me)t(n).observers.push(Me[n]);return e}var Pu=[{key:"Backspace",keyCode:8,inputType:"deleteContentBackward"},{key:"Enter",keyCode:13,inputType:"insertParagraph"},{key:"Enter",keyCode:13,inputType:"insertLineBreak"},{key:"Delete",keyCode:46,inputType:"deleteContentForward"}],hQ="dthko",vu=[16,17,18,20,91,92,224,225],es=6;function ts(i){return Math.max(0,i)*.7+8}function fQ(i,e){return Math.max(Math.abs(i.clientX-e.clientX),Math.abs(i.clientY-e.clientY))}var Xa=class{constructor(e,t,n,r){this.view=e,this.startEvent=t,this.style=n,this.mustSelect=r,this.scrollSpeed={x:0,y:0},this.scrolling=-1,this.lastEvent=t,this.scrollParents=Nf(e.contentDOM),this.atoms=e.state.facet(sr).map(o=>o(e));let s=e.contentDOM.ownerDocument;s.addEventListener("mousemove",this.move=this.move.bind(this)),s.addEventListener("mouseup",this.up=this.up.bind(this)),this.extend=t.shiftKey,this.multiple=e.state.facet(re.allowMultipleSelections)&&uQ(e,t),this.dragging=dQ(e,t)&&Cu(t)==1?null:!1}start(e){this.dragging===!1&&this.select(e)}move(e){if(e.buttons==0)return this.destroy();if(this.dragging||this.dragging==null&&fQ(this.startEvent,e)<10)return;this.select(this.lastEvent=e);let t=0,n=0,r=0,s=0,o=this.view.win.innerWidth,a=this.view.win.innerHeight;this.scrollParents.x&&({left:r,right:o}=this.scrollParents.x.getBoundingClientRect()),this.scrollParents.y&&({top:s,bottom:a}=this.scrollParents.y.getBoundingClientRect());let l=Qu(this.view);e.clientX-l.left<=r+es?t=-ts(r-e.clientX):e.clientX+l.right>=o-es&&(t=ts(e.clientX-o)),e.clientY-l.top<=s+es?n=-ts(s-e.clientY):e.clientY+l.bottom>=a-es&&(n=ts(e.clientY-a)),this.setScrollSpeed(t,n)}up(e){this.dragging==null&&this.select(this.lastEvent),this.dragging||e.preventDefault(),this.destroy()}destroy(){this.setScrollSpeed(0,0);let e=this.view.contentDOM.ownerDocument;e.removeEventListener("mousemove",this.move),e.removeEventListener("mouseup",this.up),this.view.inputState.mouseSelection=this.view.inputState.draggedContent=null}setScrollSpeed(e,t){this.scrollSpeed={x:e,y:t},e||t?this.scrolling<0&&(this.scrolling=setInterval(()=>this.scroll(),50)):this.scrolling>-1&&(clearInterval(this.scrolling),this.scrolling=-1)}scroll(){let{x:e,y:t}=this.scrollSpeed;e&&this.scrollParents.x&&(this.scrollParents.x.scrollLeft+=e,e=0),t&&this.scrollParents.y&&(this.scrollParents.y.scrollTop+=t,t=0),(e||t)&&this.view.win.scrollBy(e,t),this.dragging===!1&&this.select(this.lastEvent)}select(e){let{view:t}=this,n=yu(this.atoms,this.style.get(e,this.extend,this.multiple));(this.mustSelect||!n.eq(t.state.selection,this.dragging===!1))&&this.view.dispatch({selection:n,userEvent:"select.pointer"}),this.mustSelect=!1}update(e){e.transactions.some(t=>t.isUserEvent("input.type"))?this.destroy():this.style.update(e)&&setTimeout(()=>this.select(this.lastEvent),20)}};function uQ(i,e){let t=i.state.facet(su);return t.length?t[0](e):L.mac?e.metaKey:e.ctrlKey}function OQ(i,e){let t=i.state.facet(ou);return t.length?t[0](e):L.mac?!e.altKey:!e.ctrlKey}function dQ(i,e){let{main:t}=i.state.selection;if(t.empty)return!1;let n=nr(i.root);if(!n||n.rangeCount==0)return!0;let r=n.getRangeAt(0).getClientRects();for(let s=0;s=e.clientX&&o.top<=e.clientY&&o.bottom>=e.clientY)return!0}return!1}function pQ(i,e){if(!e.bubbles)return!0;if(e.defaultPrevented)return!1;for(let t=e.target,n;t!=i.contentDOM;t=t.parentNode)if(!t||t.nodeType==11||(n=fe.get(t))&&n.isWidget()&&!n.isHidden&&n.widget.ignoreEvent(e))return!1;return!0}var Qt=Object.create(null),Me=Object.create(null),$u=L.ie&&L.ie_version<15||L.ios&&L.webkit_version<604;function mQ(i){let e=i.dom.parentNode;if(!e)return;let t=e.appendChild(document.createElement("textarea"));t.style.cssText="position: fixed; left: -10000px; top: 10px",t.focus(),setTimeout(()=>{i.focus(),t.remove(),Tu(i,t.value)},50)}function ks(i,e,t){for(let n of i.facet(e))t=n(t,i);return t}function Tu(i,e){e=ks(i.state,Ga,e);let{state:t}=i,n,r=1,s=t.toText(e),o=s.lines==t.selection.ranges.length;if(_a!=null&&t.selection.ranges.every(l=>l.empty)&&_a==s.toString()){let l=-1;n=t.changeByRange(c=>{let h=t.doc.lineAt(c.from);if(h.from==l)return{range:c};l=h.from;let f=t.toText((o?s.line(r++).text:e)+t.lineBreak);return{changes:{from:h.from,insert:f},range:v.cursor(c.from+f.length)}})}else o?n=t.changeByRange(l=>{let c=s.line(r++);return{changes:{from:l.from,to:l.to,insert:c.text},range:v.cursor(l.from+c.length)}}):n=t.replaceSelection(s);i.dispatch(n,{userEvent:"input.paste",scrollIntoView:!0})}Me.scroll=i=>{let e=i.inputState;e.lastScrollTop=i.scrollDOM.scrollTop,e.lastScrollLeft=i.scrollDOM.scrollLeft,L.ios&&!e.touchActive&&(e.lastIOSMomentumScroll=Date.now())};Me.wheel=Me.mousewheel=i=>{i.inputState.lastWheelEvent=Date.now()};Qt.keydown=(i,e)=>(i.inputState.setSelectionOrigin("select"),e.keyCode==27&&i.inputState.tabFocusMode!=0&&(i.inputState.tabFocusMode=Date.now()+2e3),!1);Me.touchstart=(i,e)=>{let t=i.inputState,n=e.targetTouches[0];t.touchActive=!0,t.lastTouchTime=Date.now(),n&&(t.lastTouchX=n.clientX,t.lastTouchY=n.clientY),t.setSelectionOrigin("select.pointer")};Me.touchmove=i=>{i.inputState.setSelectionOrigin("select.pointer")};Me.touchend=(i,e)=>{i.inputState.touchActive=!1};Qt.mousedown=(i,e)=>{if(i.observer.flush(),i.inputState.lastTouchTime>Date.now()-2e3)return!1;let t=null;for(let n of i.state.facet(au))if(t=n(i,e),t)break;if(!t&&e.button==0&&(t=QQ(i,e)),t){let n=!i.hasFocus;i.inputState.startMouseSelection(new Xa(i,e,t,n)),n&&i.observer.ignore(()=>{Ff(i.contentDOM);let s=i.root.activeElement;s&&!s.contains(i.contentDOM)&&s.blur()});let r=i.inputState.mouseSelection;if(r)return r.start(e),r.dragging===!1}else i.inputState.setSelectionOrigin("select.pointer");return!1};function Xf(i,e,t,n){if(n==1)return v.cursor(e,t);if(n==2)return H0(i.state,e,t);{let r=i.docView.lineAt(e,t),s=i.state.doc.lineAt(r?r.posAtEnd:e),o=r?r.posAtStart:s.from,a=r?r.posAtEnd:s.to;return aDate.now()-400&&Math.abs(e.clientX-i.clientX)<2&&Math.abs(e.clientY-i.clientY)<2?(Rf+1)%3:1}function QQ(i,e){let t=i.posAndSideAtCoords({x:e.clientX,y:e.clientY},!1),n=Cu(e),r=i.state.selection;return{update(s){s.docChanged&&(t.pos=s.changes.mapPos(t.pos),r=r.map(s.changes))},get(s,o,a){let l=i.posAndSideAtCoords({x:s.clientX,y:s.clientY},!1),c,h=Xf(i,l.pos,l.assoc,n);if(t.pos!=l.pos&&!o){let f=Xf(i,t.pos,t.assoc,n),u=Math.min(f.from,h.from),O=Math.max(f.to,h.to);h=u1&&(c=bQ(r,l.pos))?c:a?r.addRange(h):v.create([h])}}}function bQ(i,e){for(let t=0;t=e)return v.create(i.ranges.slice(0,t).concat(i.ranges.slice(t+1)),i.mainIndex==t?0:i.mainIndex-(i.mainIndex>t?1:0))}return null}Qt.dragstart=(i,e)=>{let{selection:{main:t}}=i.state;if(e.target.draggable){let r=i.docView.tile.nearest(e.target);if(r&&r.isWidget()){let s=r.posAtStart,o=s+r.length;(s>=t.to||o<=t.from)&&(t=v.undirectionalRange(s,o))}}let{inputState:n}=i;return n.mouseSelection&&(n.mouseSelection.dragging=!0),n.draggedContent=t,e.dataTransfer&&(e.dataTransfer.setData("Text",ks(i.state,Na,i.state.sliceDoc(t.from,t.to))),e.dataTransfer.effectAllowed="copyMove"),!1};Qt.dragend=i=>(i.inputState.draggedContent=null,!1);function Zf(i,e,t,n){if(t=ks(i.state,Ga,t),!t)return;let r=i.posAtCoords({x:e.clientX,y:e.clientY},!1),{draggedContent:s}=i.inputState,o=n&&s&&OQ(i,e)?{from:s.from,to:s.to}:null,a={from:r,insert:t},l=i.state.changes(o?[o,a]:a);i.focus(),i.dispatch({changes:l,selection:{anchor:l.mapPos(r,-1),head:l.mapPos(r,1)},userEvent:o?"move.drop":"input.drop"}),i.inputState.draggedContent=null}Qt.drop=(i,e)=>{if(!e.dataTransfer)return!1;if(i.state.readOnly)return!0;let t=e.dataTransfer.files;if(t&&t.length){let n=Array(t.length),r=0,s=()=>{++r==t.length&&Zf(i,e,n.filter(o=>o!=null).join(i.state.lineBreak),!1)};for(let o=0;o{/[\x00-\x08\x0e-\x1f]{2}/.test(a.result)||(n[o]=a.result),s()},a.readAsText(t[o])}return!0}else{let n=e.dataTransfer.getData("Text");if(n)return Zf(i,e,n,!0),!0}return!1};Qt.paste=(i,e)=>{if(i.state.readOnly)return!0;i.observer.flush();let t=$u?null:e.clipboardData;return t?(Tu(i,t.getData("text/plain")||t.getData("text/uri-list")),!0):(mQ(i),!1)};function SQ(i,e){let t=i.dom.parentNode;if(!t)return;let n=t.appendChild(document.createElement("textarea"));n.style.cssText="position: fixed; left: -10000px; top: 10px",n.value=e,n.focus(),n.selectionEnd=e.length,n.selectionStart=0,setTimeout(()=>{n.remove(),i.focus()},50)}function yQ(i){let e=[],t=[],n=!1;for(let r of i.selection.ranges)r.empty||(e.push(i.sliceDoc(r.from,r.to)),t.push(r));if(!e.length){let r=-1;for(let{from:s}of i.selection.ranges){let o=i.doc.lineAt(s);o.number>r&&(e.push(o.text),t.push({from:o.from,to:Math.min(i.doc.length,o.to+1)})),r=o.number}n=!0}return{text:ks(i,Na,e.join(i.lineBreak)),ranges:t,linewise:n}}var _a=null;Qt.copy=Qt.cut=(i,e)=>{if(!Gn(i.contentDOM,i.observer.selectionRange))return!1;let{text:t,ranges:n,linewise:r}=yQ(i.state);if(!t&&!r)return!1;_a=r?t:null,e.type=="cut"&&!i.state.readOnly&&i.dispatch({changes:n,scrollIntoView:!0,userEvent:"delete.cut"});let s=$u?null:e.clipboardData;return s?(s.clearData(),s.setData("text/plain",t),!0):(SQ(i,t),!1)};var Xu=$e.define();function _u(i,e){let t=[];for(let n of i.facet(hu)){let r=n(i,e);r&&t.push(r)}return t.length?i.update({effects:t,annotations:Xu.of(!0)}):null}function Ru(i){setTimeout(()=>{let e=i.hasFocus;if(e!=i.inputState.notifiedFocused){let t=_u(i.state,e);t?i.dispatch(t):i.update([])}},10)}Me.focus=i=>{i.inputState.lastFocusTime=Date.now(),!i.scrollDOM.scrollTop&&(i.inputState.lastScrollTop||i.inputState.lastScrollLeft)&&(i.scrollDOM.scrollTop=i.inputState.lastScrollTop,i.scrollDOM.scrollLeft=i.inputState.lastScrollLeft),Ru(i)};Me.blur=i=>{i.observer.clearSelectionRange(),Ru(i)};Me.compositionstart=Me.compositionupdate=i=>{i.observer.editContext||(i.inputState.compositionFirstChange==null&&(i.inputState.compositionFirstChange=!0),i.inputState.composing<0&&(i.inputState.composing=0))};Me.compositionend=i=>{i.observer.editContext||(i.inputState.composing=-1,i.inputState.compositionEndedAt=Date.now(),i.inputState.compositionPendingKey=!0,i.inputState.compositionPendingChange=i.observer.pendingRecords().length>0,i.inputState.compositionFirstChange=null,L.chrome&&L.android?i.observer.flushSoon():i.inputState.compositionPendingChange?Promise.resolve().then(()=>i.observer.flush()):setTimeout(()=>{i.inputState.composing<0&&i.docView.hasComposition&&i.update([])},50))};Me.contextmenu=i=>{i.inputState.lastContextMenu=Date.now()};Qt.beforeinput=(i,e)=>{var t,n;if((e.inputType=="insertText"||e.inputType=="insertCompositionText")&&(i.inputState.insertingText=e.data,i.inputState.insertingTextAt=Date.now()),e.inputType=="insertReplacementText"&&i.observer.editContext){let s=(t=e.dataTransfer)===null||t===void 0?void 0:t.getData("text/plain"),o=e.getTargetRanges();if(s&&o.length){let a=o[0],l=i.posAtDOM(a.startContainer,a.startOffset),c=i.posAtDOM(a.endContainer,a.endOffset);return Ka(i,{from:l,to:c,insert:i.state.toText(s)},null),!0}}let r;if(L.chrome&&L.android&&(r=Pu.find(s=>s.inputType==e.inputType))&&(i.observer.delayAndroidKey(r.key,r.keyCode),r.key=="Backspace"||r.key=="Delete")){let s=((n=window.visualViewport)===null||n===void 0?void 0:n.height)||0;setTimeout(()=>{var o;(((o=window.visualViewport)===null||o===void 0?void 0:o.height)||0)>s+10&&i.hasFocus&&(i.contentDOM.blur(),i.focus())},100)}return L.ios&&e.inputType=="deleteContentForward"&&i.observer.flushSoon(),L.safari&&e.inputType=="insertText"&&i.inputState.composing>=0&&setTimeout(()=>Me.compositionend(i,e),20),!1};var qf=new Set;function kQ(i){qf.has(i)||(qf.add(i),i.addEventListener("copy",()=>{}),i.addEventListener("cut",()=>{}))}var Ef=["pre-wrap","normal","pre-line","break-spaces"],gn=!1;function zf(){gn=!1}var Ra=class{constructor(e){this.lineWrapping=e,this.doc=H.empty,this.heightSamples={},this.lineHeight=14,this.charWidth=7,this.textHeight=14,this.lineLength=30}heightForGap(e,t){let n=this.doc.lineAt(t).number-this.doc.lineAt(e).number+1;return this.lineWrapping&&(n+=Math.max(0,Math.ceil((t-e-n*this.lineLength*.5)/this.lineLength))),this.lineHeight*n}heightForLine(e){return this.lineWrapping?(1+Math.max(0,Math.ceil((e-this.lineLength)/Math.max(1,this.lineLength-5))))*this.lineHeight:this.lineHeight}setDoc(e){return this.doc=e,this}mustRefreshForWrapping(e){return Ef.indexOf(e)>-1!=this.lineWrapping}mustRefreshForHeights(e){let t=!1;for(let n=0;n-1,l=Math.abs(t-this.lineHeight)>.3||this.lineWrapping!=a;if(this.lineWrapping=a,this.lineHeight=t,this.charWidth=n,this.textHeight=r,this.lineLength=s,l){this.heightSamples={};for(let c=0;c0}set outdated(e){this.flags=(e?2:0)|this.flags&-3}setHeight(e){this.height!=e&&(Math.abs(this.height-e)>as&&(gn=!0),this.height=e)}replace(e,t,n){return i.of(n)}decomposeLeft(e,t){t.push(this)}decomposeRight(e,t){t.push(this)}applyChanges(e,t,n,r){let s=this,o=n.doc;for(let a=r.length-1;a>=0;a--){let{fromA:l,toA:c,fromB:h,toB:f}=r[a],u=s.lineAt(l,ae.ByPosNoHeight,n.setDoc(t),0,0),O=u.to>=c?u:s.lineAt(c,ae.ByPosNoHeight,n,0,0);for(f+=O.to-c,c=O.to;a>0&&u.from<=r[a-1].toA;)l=r[a-1].fromA,h=r[a-1].fromB,a--,ls*2){let a=e[t-1];a.break?e.splice(--t,1,a.left,null,a.right):e.splice(--t,1,a.left,a.right),n+=1+a.break,r-=a.size}else if(s>r*2){let a=e[n];a.break?e.splice(n,1,a.left,null,a.right):e.splice(n,1,a.left,a.right),n+=2+a.break,s-=a.size}else break;else if(r=s&&o(this.lineAt(0,ae.ByPos,n,r,s))}setMeasuredHeight(e){let t=e.heights[e.index++];t<0?(this.spaceAbove=-t,t=e.heights[e.index++]):this.spaceAbove=0,this.setHeight(t)}updateHeight(e,t=0,n=!1,r){return r&&r.from<=t&&r.more&&this.setMeasuredHeight(r),this.outdated=!1,this}toString(){return`block(${this.length})`}},rt=class i extends gs{constructor(e,t,n){super(e,t,null),this.collapsed=0,this.widgetHeight=0,this.breaks=0,this.spaceAbove=n}mainBlock(e,t){return new mt(t,this.length,e+this.spaceAbove,this.height-this.spaceAbove,this.breaks)}replace(e,t,n){let r=n[0];return n.length==1&&(r instanceof i||r instanceof si&&r.flags&4)&&Math.abs(this.length-r.length)<10?(r instanceof si?r=new i(r.length,this.height,this.spaceAbove):r.height=this.height,this.outdated||(r.outdated=!1),r):He.of(n)}updateHeight(e,t=0,n=!1,r){return r&&r.from<=t&&r.more?this.setMeasuredHeight(r):(n||this.outdated)&&(this.spaceAbove=0,this.setHeight(Math.max(this.widgetHeight,e.heightForLine(this.length-this.collapsed))+this.breaks*e.lineHeight)),this.outdated=!1,this}toString(){return`line(${this.length}${this.collapsed?-this.collapsed:""}${this.widgetHeight?":"+this.widgetHeight:""})`}},si=class i extends He{constructor(e){super(e,0)}heightMetrics(e,t){let n=e.doc.lineAt(t).number,r=e.doc.lineAt(t+this.length).number,s=r-n+1,o,a=0;if(e.lineWrapping){let l=Math.min(this.height,e.lineHeight*s);o=l/s,this.length>s+1&&(a=(this.height-l)/(this.length-s-1))}else o=this.height/s;return{firstLine:n,lastLine:r,perLine:o,perChar:a}}blockAt(e,t,n,r){let{firstLine:s,lastLine:o,perLine:a,perChar:l}=this.heightMetrics(t,r);if(t.lineWrapping){let c=r+(e0){let s=n[n.length-1];s instanceof i?n[n.length-1]=new i(s.length+r):n.push(null,new i(r-1))}if(e>0){let s=n[0];s instanceof i?n[0]=new i(e+s.length):n.unshift(new i(e-1),null)}return He.of(n)}decomposeLeft(e,t){t.push(new i(e-1),null)}decomposeRight(e,t){t.push(null,new i(this.length-e-1))}updateHeight(e,t=0,n=!1,r){let s=t+this.length;if(r&&r.from<=t+this.length&&r.more){let o=[],a=Math.max(t,r.from),l=-1;for(r.from>t&&o.push(new i(r.from-t-1).updateHeight(e,t));a<=s&&r.more;){let h=e.doc.lineAt(a).length;o.length&&o.push(null);let f=r.heights[r.index++],u=0;f<0&&(u=-f,f=r.heights[r.index++]),l==-1?l=f:Math.abs(f-l)>=as&&(l=-2);let O=new rt(h,f,u);O.outdated=!1,o.push(O),a+=h+1}a<=s&&o.push(null,new i(s-a).updateHeight(e,a));let c=He.of(o);return(l<0||Math.abs(c.height-this.height)>=as||Math.abs(l-this.heightMetrics(e,t).perLine)>=as)&&(gn=!0),ms(this,c)}else(n||this.outdated)&&(this.setHeight(e.heightForGap(t,t+this.length)),this.outdated=!1);return this}toString(){return`gap(${this.length})`}},Za=class extends He{constructor(e,t,n){super(e.length+t+n.length,e.height+n.height,t|(e.outdated||n.outdated?2:0)),this.left=e,this.right=n,this.size=e.size+n.size}get break(){return this.flags&1}blockAt(e,t,n,r){let s=n+this.left.height;return ea))return c;let h=t==ae.ByPosNoHeight?ae.ByPosNoHeight:ae.ByPos;return l?c.join(this.right.lineAt(a,h,n,o,a)):this.left.lineAt(a,h,n,r,s).join(c)}forEachLine(e,t,n,r,s,o){let a=r+this.left.height,l=s+this.left.length+this.break;if(this.break)e=l&&this.right.forEachLine(e,t,n,a,l,o);else{let c=this.lineAt(l,ae.ByPos,n,r,s);e=e&&c.from<=t&&o(c),t>c.to&&this.right.forEachLine(c.to+1,t,n,a,l,o)}}replace(e,t,n){let r=this.left.length+this.break;if(tthis.left.length)return this.balanced(this.left,this.right.replace(e-r,t-r,n));let s=[];e>0&&this.decomposeLeft(e,s);let o=s.length;for(let a of n)s.push(a);if(e>0&&Lf(s,o-1),t=n&&t.push(null)),e>n&&this.right.decomposeLeft(e-n,t)}decomposeRight(e,t){let n=this.left.length,r=n+this.break;if(e>=r)return this.right.decomposeRight(e-r,t);e2*t.size||t.size>2*e.size?He.of(this.break?[e,null,t]:[e,t]):(this.left=ms(this.left,e),this.right=ms(this.right,t),this.setHeight(e.height+t.height),this.outdated=e.outdated||t.outdated,this.size=e.size+t.size,this.length=e.length+this.break+t.length,this)}updateHeight(e,t=0,n=!1,r){let{left:s,right:o}=this,a=t+s.length+this.break,l=null;return r&&r.from<=t+s.length&&r.more?l=s=s.updateHeight(e,t,n,r):s.updateHeight(e,t,n),r&&r.from<=a+o.length&&r.more?l=o=o.updateHeight(e,a,n,r):o.updateHeight(e,a,n),l?this.balanced(s,o):(this.height=this.left.height+this.right.height,this.outdated=!1,this)}toString(){return this.left+(this.break?" ":"-")+this.right}};function Lf(i,e){let t,n;i[e]==null&&(t=i[e-1])instanceof si&&(n=i[e+1])instanceof si&&i.splice(e-1,3,new si(t.length+1+n.length))}var wQ=5,qa=class i{constructor(e,t){this.pos=e,this.oracle=t,this.nodes=[],this.lineStart=-1,this.lineEnd=-1,this.covering=null,this.writtenTo=e}get isCovered(){return this.covering&&this.nodes[this.nodes.length-1]==this.covering}span(e,t){if(this.lineStart>-1){let n=Math.min(t,this.lineEnd),r=this.nodes[this.nodes.length-1];r instanceof rt?r.length+=n-this.pos:(n>this.pos||!this.isCovered)&&this.nodes.push(new rt(n-this.pos,-1,0)),this.writtenTo=n,t>n&&(this.nodes.push(null),this.writtenTo++,this.lineStart=-1)}this.pos=t}point(e,t,n){if(e=wQ)&&this.addLineDeco(r,s,o)}else t>e&&this.span(e,t);this.lineEnd>-1&&this.lineEnd-1)return;let{from:e,to:t}=this.oracle.doc.lineAt(this.pos);this.lineStart=e,this.lineEnd=t,this.writtenToe&&this.nodes.push(new rt(this.pos-e,-1,0)),this.writtenTo=this.pos}blankContent(e,t){let n=new si(t-e);return this.oracle.doc.lineAt(e).to==t&&(n.flags|=4),n}ensureLine(){this.enterLine();let e=this.nodes.length?this.nodes[this.nodes.length-1]:null;if(e instanceof rt)return e;let t=new rt(0,-1,0);return this.nodes.push(t),t}addBlock(e){this.enterLine();let t=e.deco;t&&t.startSide>0&&!this.isCovered&&this.ensureLine(),this.nodes.push(e),this.writtenTo=this.pos=this.pos+e.length,t&&t.endSide>0&&(this.covering=e)}addLineDeco(e,t,n){let r=this.ensureLine();r.length+=n,r.collapsed+=n,r.widgetHeight=Math.max(r.widgetHeight,e),r.breaks+=t,this.writtenTo=this.pos=this.pos+n}finish(e){let t=this.nodes.length==0?null:this.nodes[this.nodes.length-1];this.lineStart>-1&&!(t instanceof rt)&&!this.isCovered?this.nodes.push(new rt(0,-1,0)):(this.writtenToh.clientHeight||h.scrollWidth>h.clientWidth)&&f.overflow!="visible"){let u=h.getBoundingClientRect();s=Math.max(s,u.left),o=Math.min(o,u.right),a=Math.max(a,u.top),l=Math.min(c==i.parentNode?r.innerHeight:l,u.bottom)}c=f.position=="absolute"||f.position=="fixed"?h.offsetParent:h.parentNode}else if(c.nodeType==11)c=c.host;else break;return{left:s-t.left,right:Math.max(s,o)-t.left,top:a-(t.top+e),bottom:Math.max(a,l)-(t.top+e)}}function $Q(i){let e=i.getBoundingClientRect(),t=i.ownerDocument.defaultView||window;return e.left0&&e.top0}function TQ(i,e){let t=i.getBoundingClientRect();return{left:0,right:t.right-t.left,top:e,bottom:t.bottom-(t.top+e)}}var er=class{constructor(e,t,n,r){this.from=e,this.to=t,this.size=n,this.displaySize=r}static same(e,t){if(e.length!=t.length)return!1;for(let n=0;ntypeof r!="function"&&r.class=="cm-lineWrapping");this.heightOracle=new Ra(n),this.stateDeco=Wf(t),this.heightMap=He.empty().applyChanges(this.stateDeco,H.empty,this.heightOracle.setDoc(t.doc),[new gt(0,0,0,t.doc.length)]);for(let r=0;r<2&&(this.viewport=this.getViewport(0,null),!!this.updateForViewport());r++);this.updateViewportLines(),this.lineGaps=this.ensureLineGaps([]),this.lineGapDeco=Z.set(this.lineGaps.map(r=>r.draw(this,!1))),this.scrollParent=e.scrollDOM,this.computeVisibleRanges()}updateForViewport(){let e=[this.viewport],{main:t}=this.state.selection;for(let n=0;n<=1;n++){let r=n?t.head:t.anchor;if(!e.some(({from:s,to:o})=>r>=s&&r<=o)){let{from:s,to:o}=this.lineBlockAt(r);e.push(new hn(s,o))}}return this.viewports=e.sort((n,r)=>n.from-r.from),this.updateScaler()}updateScaler(){let e=this.scaler;return this.scaler=this.heightMap.height<=7e6?Mf:new La(this.heightOracle,this.heightMap,this.viewports),e.eq(this.scaler)?0:2}updateViewportLines(){this.viewportLines=[],this.heightMap.forEachLine(this.viewport.from,this.viewport.to,this.heightOracle.setDoc(this.state.doc),0,0,e=>{this.viewportLines.push(Bn(e,this.scaler))})}update(e,t=null){this.state=e.state;let n=this.stateDeco;this.stateDeco=Wf(this.state);let r=e.changedRanges,s=gt.extendWithRanges(r,PQ(n,this.stateDeco,e?e.changes:ze.empty(this.state.doc.length))),o=this.heightMap.height,a=this.scrolledToBottom?null:this.scrollAnchorAt(this.scrollOffset);zf(),this.heightMap=this.heightMap.applyChanges(this.stateDeco,e.startState.doc,this.heightOracle.setDoc(this.state.doc),s),(this.heightMap.height!=o||gn)&&(e.flags|=2),a?(this.scrollAnchorPos=e.changes.mapPos(a.from,-1),this.scrollAnchorHeight=a.top):(this.scrollAnchorPos=-1,this.scrollAnchorHeight=o);let l=s.length?this.mapViewport(this.viewport,e.changes):this.viewport;(t&&(t.range.headl.to)||!this.viewportIsAppropriate(l))&&(l=this.getViewport(0,t));let c=l.from!=this.viewport.from||l.to!=this.viewport.to;this.viewport=l,e.flags|=this.updateForViewport(),(c||!e.changes.empty||e.flags&2)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(this.mapLineGaps(this.lineGaps,e.changes))),e.flags|=this.computeVisibleRanges(e.changes),t&&(this.scrollTarget=t),!this.mustEnforceCursorAssoc&&(e.selectionSet||e.focusChanged)&&e.view.lineWrapping&&e.state.selection.main.empty&&e.state.selection.main.assoc&&!e.state.facet(q0)&&(this.mustEnforceCursorAssoc=!0)}measure(){let{view:e}=this,t=e.contentDOM,n=window.getComputedStyle(t),r=this.heightOracle,s=n.whiteSpace;this.defaultTextDirection=n.direction=="rtl"?ue.RTL:ue.LTR;let o=this.heightOracle.mustRefreshForWrapping(s)||this.mustMeasureContent==="refresh",a=t.getBoundingClientRect(),l=o||this.mustMeasureContent||this.contentDOMHeight!=a.height;this.contentDOMHeight=a.height,this.mustMeasureContent=!1;let c=0,h=0;if(a.width&&a.height){let{scaleX:P,scaleY:$}=Gf(t,a);(P>.005&&Math.abs(this.scaleX-P)>.005||$>.005&&Math.abs(this.scaleY-$)>.005)&&(this.scaleX=P,this.scaleY=$,c|=16,o=l=!0)}let f=(parseInt(n.paddingTop)||0)*this.scaleY,u=(parseInt(n.paddingBottom)||0)*this.scaleY;(this.paddingTop!=f||this.paddingBottom!=u)&&(this.paddingTop=f,this.paddingBottom=u,c|=18),this.editorWidth!=e.scrollDOM.clientWidth&&(r.lineWrapping&&(l=!0),this.editorWidth=e.scrollDOM.clientWidth,c|=16);let O=Nf(this.view.contentDOM,!1).y;O!=this.scrollParent&&(this.scrollParent=O,this.scrollAnchorHeight=-1,this.scrollOffset=0);let p=this.getScrollOffset();this.scrollOffset!=p&&(this.scrollAnchorHeight=-1,this.scrollOffset=p),this.scrolledToBottom=Hf(this.scrollParent||e.win);let m=(this.printing?TQ:vQ)(t,this.paddingTop),b=m.top-this.pixelViewport.top,g=m.bottom-this.pixelViewport.bottom;this.pixelViewport=m;let Q=this.pixelViewport.bottom>this.pixelViewport.top&&this.pixelViewport.right>this.pixelViewport.left;if(Q!=this.inView&&(this.inView=Q,Q&&(l=!0)),!this.inView&&!this.scrollTarget&&!$Q(e.dom))return 0;let S=a.width;if((this.contentDOMWidth!=S||this.editorHeight!=e.scrollDOM.clientHeight)&&(this.contentDOMWidth=a.width,this.editorHeight=e.scrollDOM.clientHeight,c|=16),l){let P=e.docView.measureVisibleLineHeights(this.viewport);if(r.mustRefreshForHeights(P)&&(o=!0),o||r.lineWrapping&&Math.abs(S-this.contentDOMWidth)>r.charWidth){let{lineHeight:$,charWidth:R,textHeight:_}=e.docView.measureTextSize();o=$>0&&r.refresh(s,$,R,_,Math.max(5,S/R),P),o&&(e.docView.minWidth=0,c|=16)}b>0&&g>0?h=Math.max(b,g):b<0&&g<0&&(h=Math.min(b,g)),zf();for(let $ of this.viewports){let R=$.from==this.viewport.from?P:e.docView.measureVisibleLineHeights($);this.heightMap=(o?He.empty().applyChanges(this.stateDeco,H.empty,this.heightOracle,[new gt(0,0,0,e.state.doc.length)]):this.heightMap).updateHeight(r,0,o,new Aa($.from,R))}gn&&(c|=2)}let x=!this.viewportIsAppropriate(this.viewport,h)||this.scrollTarget&&(this.scrollTarget.range.headthis.viewport.to);return x&&(c&2&&(c|=this.updateScaler()),this.viewport=this.getViewport(h,this.scrollTarget),c|=this.updateForViewport()),(c&2||x)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(o?[]:this.lineGaps,e)),c|=this.computeVisibleRanges(),this.mustEnforceCursorAssoc&&(this.mustEnforceCursorAssoc=!1,e.docView.enforceCursorAssoc()),c}get visibleTop(){return this.scaler.fromDOM(this.pixelViewport.top)}get visibleBottom(){return this.scaler.fromDOM(this.pixelViewport.bottom)}getViewport(e,t){let n=.5-Math.max(-.5,Math.min(.5,e/1e3/2)),r=this.heightMap,s=this.heightOracle,{visibleTop:o,visibleBottom:a}=this,l=new hn(r.lineAt(o-n*1e3,ae.ByHeight,s,0,0).from,r.lineAt(a+(1-n)*1e3,ae.ByHeight,s,0,0).to);if(t){let{head:c}=t.range;if(cl.to){let h=Math.min(this.editorHeight,this.pixelViewport.bottom-this.pixelViewport.top),f=r.lineAt(c,ae.ByPos,s,0,0),u;t.y=="center"?u=(f.top+f.bottom)/2-h/2:t.y=="start"||t.y=="nearest"&&c=a+Math.max(10,Math.min(n,250)))&&r>o-2*1e3&&s>1,o=r<<1;if(this.defaultTextDirection!=ue.LTR&&!n)return[];let a=[],l=(h,f,u,O)=>{if(f-hh&&gg.from>=u.from&&g.to<=u.to&&Math.abs(g.from-h)g.fromQ));if(!b){if(fS.from<=f&&S.to>=f)){let S=t.moveToLineBoundary(v.cursor(f),!1,!0).head;S>h&&(f=S)}let g=this.gapSize(u,h,f,O),Q=n||g<2e6?g:2e6;b=new er(h,f,g,Q)}a.push(b)},c=h=>{if(h.length2e6)for(let $ of e)$.from>=h.from&&$.fromh.from&&l(h.from,O,h,f),pt.draw(this,this.heightOracle.lineWrapping))))}computeVisibleRanges(e){let t=this.stateDeco;this.lineGaps.length&&(t=t.concat(this.lineGapDeco));let n=[];oe.spans(t,this.viewport.from,this.viewport.to,{span(s,o){n.push({from:s,to:o})},point(){}},20);let r=0;if(n.length!=this.visibleRanges.length)r=12;else for(let s=0;s=this.viewport.from&&e<=this.viewport.to&&this.viewportLines.find(t=>t.from<=e&&t.to>=e)||Bn(this.heightMap.lineAt(e,ae.ByPos,this.heightOracle,0,0),this.scaler)}lineBlockAtHeight(e){return e>=this.viewportLines[0].top&&e<=this.viewportLines[this.viewportLines.length-1].bottom&&this.viewportLines.find(t=>t.top<=e&&t.bottom>=e)||Bn(this.heightMap.lineAt(this.scaler.fromDOM(e),ae.ByHeight,this.heightOracle,0,0),this.scaler)}getScrollOffset(){return(this.scrollParent==this.view.scrollDOM?this.scrollParent.scrollTop:(this.scrollParent?this.scrollParent.getBoundingClientRect().top:0)-this.view.contentDOM.getBoundingClientRect().top)*this.scaleY}scrollAnchorAt(e){let t=this.lineBlockAtHeight(e+8);return t.from>=this.viewport.from||this.viewportLines[0].top-e>200?t:this.viewportLines[0]}elementAtHeight(e){return Bn(this.heightMap.blockAt(this.scaler.fromDOM(e),this.heightOracle,0,0),this.scaler)}get docHeight(){return this.scaler.toDOM(this.heightMap.height)}get contentHeight(){return this.docHeight+this.paddingTop+this.paddingBottom}},hn=class{constructor(e,t){this.from=e,this.to=t}};function CQ(i,e,t){let n=[],r=i,s=0;return oe.spans(t,i,e,{span(){},point(o,a){o>r&&(n.push({from:r,to:o}),s+=o-r),r=a}},20),r=1)return e[e.length-1].to;let n=Math.floor(i*t);for(let r=0;;r++){let{from:s,to:o}=e[r],a=o-s;if(n<=a)return s+n;n-=a}}function ns(i,e){let t=0;for(let{from:n,to:r}of i.ranges){if(e<=r){t+=e-n;break}t+=r-n}return t/i.total}function XQ(i,e){for(let t of i)if(e(t))return t}var Mf={toDOM(i){return i},fromDOM(i){return i},scale:1,eq(i){return i==this}};function Wf(i){let e=i.facet(ys).filter(n=>typeof n!="function"),t=i.facet(Ha).filter(n=>typeof n!="function");return t.length&&e.push(oe.join(t)),e}var La=class i{constructor(e,t,n){let r=0,s=0,o=0;this.viewports=n.map(({from:a,to:l})=>{let c=t.lineAt(a,ae.ByPos,e,0,0).top,h=t.lineAt(l,ae.ByPos,e,0,0).bottom;return r+=h-c,{from:a,to:l,top:c,bottom:h,domTop:0,domBottom:0}}),this.scale=(7e6-r)/(t.height-r);for(let a of this.viewports)a.domTop=o+(a.top-s)*this.scale,o=a.domBottom=a.domTop+(a.bottom-a.top),s=a.bottom}toDOM(e){for(let t=0,n=0,r=0;;t++){let s=tt.from==e.viewports[n].from&&t.to==e.viewports[n].to):!1}};function Bn(i,e){if(e.scale==1)return i;let t=e.toDOM(i.top),n=e.toDOM(i.bottom);return new mt(i.from,i.length,t,n-t,Array.isArray(i._content)?i._content.map(r=>Bn(r,e)):i._content)}var rs=Y.define({combine:i=>i.join(" ")}),Ma=Y.define({combine:i=>i.indexOf(!0)>-1}),Wa=nt.newName(),Au=nt.newName(),Zu=nt.newName(),qu={"&light":"."+Au,"&dark":"."+Zu};function ja(i,e,t){return new nt(e,{finish(n){return/&/.test(n)?n.replace(/&\w*/,r=>{if(r=="&")return i;if(!t||!t[r])throw new RangeError(`Unsupported selector: ${r}`);return t[r]}):i+" "+n}})}var _Q=ja("."+Wa,{"&":{position:"relative !important",boxSizing:"border-box","&.cm-focused":{outline:"1px dotted #212121"},display:"flex !important",flexDirection:"column"},".cm-scroller":{display:"flex !important",alignItems:"flex-start !important",fontFamily:"monospace",lineHeight:1.4,height:"100%",overflowX:"auto",position:"relative",zIndex:0,overflowAnchor:"none"},".cm-content":{margin:0,flexGrow:2,flexShrink:0,display:"block",whiteSpace:"pre",wordWrap:"normal",boxSizing:"border-box",minHeight:"100%",padding:"4px 0",outline:"none","&[contenteditable=true]":{WebkitUserModify:"read-write-plaintext-only"}},".cm-lineWrapping":{whiteSpace_fallback:"pre-wrap",whiteSpace:"break-spaces",wordBreak:"break-word",overflowWrap:"anywhere",flexShrink:1},"&light .cm-content":{caretColor:"black"},"&dark .cm-content":{caretColor:"white"},".cm-line":{display:"block",padding:"0 2px 0 6px"},".cm-layer":{userSelect:"none",position:"absolute",left:0,top:0,contain:"size style","& > *":{position:"absolute"}},"&light .cm-selectionBackground":{background:"#d9d9d9"},"&dark .cm-selectionBackground":{background:"#222"},"&light.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#d7d4f0"},"&dark.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#233"},".cm-cursorLayer":{pointerEvents:"none"},"&.cm-focused > .cm-scroller > .cm-cursorLayer":{animation:"steps(1) cm-blink 1.2s infinite"},"@keyframes cm-blink":{"0%":{},"50%":{opacity:0},"100%":{}},"@keyframes cm-blink2":{"0%":{},"50%":{opacity:0},"100%":{}},".cm-cursor, .cm-dropCursor":{borderLeft:"1.2px solid black",marginLeft:"-0.6px",pointerEvents:"none"},".cm-cursor":{display:"none"},"&dark .cm-cursor":{borderLeftColor:"#ddd"},".cm-selectionHandle":{backgroundColor:"currentColor",width:"1.5px"},".cm-selectionHandle-start::before, .cm-selectionHandle-end::before":{content:'""',backgroundColor:"inherit",borderRadius:"50%",width:"8px",height:"8px",position:"absolute",left:"-3.25px"},".cm-selectionHandle-start::before":{top:"-8px"},".cm-selectionHandle-end::before":{bottom:"-8px"},".cm-dropCursor":{position:"absolute"},"&.cm-focused > .cm-scroller > .cm-cursorLayer .cm-cursor":{display:"block"},".cm-iso":{unicodeBidi:"isolate"},".cm-announced":{position:"fixed",top:"-10000px"},"@media print":{".cm-announced":{display:"none"}},"&light .cm-activeLine":{backgroundColor:"#cceeff44"},"&dark .cm-activeLine":{backgroundColor:"#99eeff33"},"&light .cm-specialChar":{color:"red"},"&dark .cm-specialChar":{color:"#f78"},".cm-gutters":{flexShrink:0,display:"flex",height:"100%",boxSizing:"border-box",zIndex:200},".cm-gutters-before":{insetInlineStart:0},".cm-gutters-after":{insetInlineEnd:0},"&light .cm-gutters":{backgroundColor:"#f5f5f5",color:"#6c6c6c",border:"0px solid #ddd","&.cm-gutters-before":{borderRightWidth:"1px"},"&.cm-gutters-after":{borderLeftWidth:"1px"}},"&dark .cm-gutters":{backgroundColor:"#333338",color:"#ccc"},".cm-gutter":{display:"flex !important",flexDirection:"column",flexShrink:0,boxSizing:"border-box",minHeight:"100%",overflow:"hidden"},".cm-gutterElement":{boxSizing:"border-box"},".cm-lineNumbers .cm-gutterElement":{padding:"0 3px 0 5px",minWidth:"20px",textAlign:"right",whiteSpace:"nowrap"},"&light .cm-activeLineGutter":{backgroundColor:"#e2f2ff"},"&dark .cm-activeLineGutter":{backgroundColor:"#222227"},".cm-panels":{boxSizing:"border-box",position:"sticky",left:0,right:0,zIndex:300},"&light .cm-panels":{backgroundColor:"#f5f5f5",color:"black"},"&light .cm-panels-top":{borderBottom:"1px solid #ddd"},"&light .cm-panels-bottom":{borderTop:"1px solid #ddd"},"&dark .cm-panels":{backgroundColor:"#333338",color:"white"},".cm-dialog":{padding:"2px 19px 4px 6px",position:"relative","& label":{fontSize:"80%"}},".cm-dialog-close":{position:"absolute",top:"3px",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",fontSize:"14px",padding:"0"},".cm-tab":{display:"inline-block",overflow:"hidden",verticalAlign:"bottom"},".cm-widgetBuffer":{verticalAlign:"text-top",height:"1em",width:0,display:"inline"},".cm-placeholder":{color:"#888",display:"inline-block",verticalAlign:"top",userSelect:"none"},".cm-highlightSpace":{backgroundImage:"radial-gradient(circle at 50% 55%, #aaa 20%, transparent 5%)",backgroundPosition:"center"},".cm-highlightTab":{backgroundImage:`url('data:image/svg+xml,')`,backgroundSize:"auto 100%",backgroundPosition:"right 90%",backgroundRepeat:"no-repeat"},".cm-trailingSpace":{backgroundColor:"#ff332255"},".cm-button":{verticalAlign:"middle",color:"inherit",fontSize:"70%",padding:".2em 1em",borderRadius:"1px"},"&light .cm-button":{backgroundImage:"linear-gradient(#eff1f5, #d9d9df)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#b4b4b4, #d0d3d6)"}},"&dark .cm-button":{backgroundImage:"linear-gradient(#393939, #111)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#111, #333)"}},".cm-textfield":{verticalAlign:"middle",color:"inherit",fontSize:"70%",border:"1px solid silver",padding:".2em .5em"},"&light .cm-textfield":{backgroundColor:"white"},"&dark .cm-textfield":{border:"1px solid #555",backgroundColor:"inherit"}},qu),RQ={childList:!0,characterData:!0,subtree:!0,attributes:!0,characterDataOldValue:!0},oa=L.ie&&L.ie_version<=11,Va=class{constructor(e){this.view=e,this.active=!1,this.editContext=null,this.selectionRange=new ua,this.selectionChanged=!1,this.delayedFlush=-1,this.resizeTimeout=-1,this.queue=[],this.delayedAndroidKey=null,this.flushingAndroidKey=-1,this.lastChange=0,this.scrollTargets=[],this.intersection=null,this.resizeScroll=null,this.intersecting=!1,this.gapIntersection=null,this.gaps=[],this.printQuery=null,this.parentCheck=-1,this.dom=e.contentDOM,this.observer=new MutationObserver(t=>{for(let n of t)this.queue.push(n);(L.ie&&L.ie_version<=11||L.ios&&e.composing)&&t.some(n=>n.type=="childList"&&n.removedNodes.length||n.type=="characterData"&&n.oldValue.length>n.target.nodeValue.length)?this.flushSoon():this.flush()}),window.EditContext&&L.android&&e.constructor.EDIT_CONTEXT!==!1&&!(L.chrome&&L.chrome_version<126)&&(this.editContext=new Da(e),e.state.facet(zt)&&(e.contentDOM.editContext=this.editContext.editContext)),oa&&(this.onCharData=t=>{this.queue.push({target:t.target,type:"characterData",oldValue:t.prevValue}),this.flushSoon()}),this.onSelectionChange=this.onSelectionChange.bind(this),this.onResize=this.onResize.bind(this),this.onPrint=this.onPrint.bind(this),this.onScroll=this.onScroll.bind(this),window.matchMedia&&(this.printQuery=window.matchMedia("print")),typeof ResizeObserver=="function"&&(this.resizeScroll=new ResizeObserver(()=>{var t;((t=this.view.docView)===null||t===void 0?void 0:t.lastUpdate){this.parentCheck<0&&(this.parentCheck=setTimeout(this.listenForScroll.bind(this),1e3)),t.length>0&&t[t.length-1].intersectionRatio>0!=this.intersecting&&(this.intersecting=!this.intersecting,this.intersecting!=this.view.inView&&this.onScrollChanged(document.createEvent("Event")))},{threshold:[0,.001]}),this.intersection.observe(this.dom),this.gapIntersection=new IntersectionObserver(t=>{t.length>0&&t[t.length-1].intersectionRatio>0&&this.onScrollChanged(document.createEvent("Event"))},{})),this.listenForScroll(),this.readSelectionRange()}onScrollChanged(e){this.view.inputState.runHandlers("scroll",e),this.intersecting&&this.view.measure()}onScroll(e){this.intersecting&&this.flush(!1),this.editContext&&this.view.requestMeasure(this.editContext.measureReq),this.onScrollChanged(e)}onResize(){this.resizeTimeout<0&&(this.resizeTimeout=setTimeout(()=>{this.resizeTimeout=-1,this.view.requestMeasure()},50))}onPrint(e){(e.type=="change"||!e.type)&&!e.matches||(this.view.viewState.printing=!0,this.view.measure(),setTimeout(()=>{this.view.viewState.printing=!1,this.view.requestMeasure()},500))}updateGaps(e){if(this.gapIntersection&&(e.length!=this.gaps.length||this.gaps.some((t,n)=>t!=e[n]))){this.gapIntersection.disconnect();for(let t of e)this.gapIntersection.observe(t);this.gaps=e}}onSelectionChange(e){let t=this.selectionChanged;if(!this.readSelectionRange()||this.delayedAndroidKey)return;let{view:n}=this,r=this.selectionRange;if(n.state.facet(zt)?n.root.activeElement!=this.dom:!Gn(this.dom,r))return;let s=r.anchorNode&&n.docView.tile.nearest(r.anchorNode);if(s&&s.isWidget()&&s.widget.ignoreEvent(e)){t||(this.selectionChanged=!1);return}(L.ie&&L.ie_version<=11||L.android&&L.chrome)&&!n.state.selection.main.empty&&r.focusNode&&Nn(r.focusNode,r.focusOffset,r.anchorNode,r.anchorOffset)?this.flushSoon():this.flush(!1)}readSelectionRange(){let{view:e}=this,t=nr(e.root);if(!t)return!1;let n=L.safari&&e.root.nodeType==11&&e.root.activeElement==this.dom&&AQ(this.view,t)||t;if(!n||this.selectionRange.eq(n))return!1;let r=Gn(this.dom,n);return r&&!this.selectionChanged&&e.inputState.lastFocusTime>Date.now()-200&&e.inputState.lastTouchTime{let s=this.delayedAndroidKey;s&&(this.clearDelayedAndroidKey(),this.view.inputState.lastKeyCode=s.keyCode,this.view.inputState.lastKeyTime=Date.now(),!this.flush()&&s.force&&un(this.dom,s.key,s.keyCode))};this.flushingAndroidKey=this.view.win.requestAnimationFrame(r)}(!this.delayedAndroidKey||e=="Enter")&&(this.delayedAndroidKey={key:e,keyCode:t,force:this.lastChange{this.delayedFlush=-1,this.flush()}))}forceFlush(){this.delayedFlush>=0&&(this.view.win.cancelAnimationFrame(this.delayedFlush),this.delayedFlush=-1),this.flush()}pendingRecords(){for(let e of this.observer.takeRecords())this.queue.push(e);return this.queue}processRecords(){let e=this.pendingRecords();e.length&&(this.queue=[]);let t=-1,n=-1,r=!1;for(let s of e){let o=this.readMutation(s);o&&(o.typeOver&&(r=!0),t==-1?{from:t,to:n}=o:(t=Math.min(o.from,t),n=Math.max(o.to,n)))}return{from:t,to:n,typeOver:r}}readChange(){let{from:e,to:t,typeOver:n}=this.processRecords(),r=this.selectionChanged&&Gn(this.dom,this.selectionRange);if(e<0&&!r)return null;e>-1&&(this.lastChange=Date.now()),this.view.inputState.lastFocusTime=0,this.selectionChanged=!1;let s=new Ta(this.view,e,t,n);return this.view.docView.domChanged={newSel:s.newSel?s.newSel.main:null},s}flush(e=!0){if(this.delayedFlush>=0||this.delayedAndroidKey)return!1;e&&this.readSelectionRange();let t=this.readChange();if(!t)return this.view.requestMeasure(),!1;let n=this.view.state,r=xu(this.view,t);return this.view.state==n&&(t.domChanged||t.newSel&&!ps(this.view.state.selection,t.newSel.main))&&this.view.update([]),r}readMutation(e){let t=this.view.docView.tile.nearest(e.target);if(!t||t.isWidget())return null;if(t.markDirty(e.type=="attributes"),e.type=="childList"){let n=jf(t,e.previousSibling||e.target.previousSibling,-1),r=jf(t,e.nextSibling||e.target.nextSibling,1);return{from:n?t.posAfter(n):t.posAtStart,to:r?t.posBefore(r):t.posAtEnd,typeOver:!1}}else return e.type=="characterData"?{from:t.posAtStart,to:t.posAtEnd,typeOver:e.target.nodeValue==e.oldValue}:null}setWindow(e){e!=this.win&&(this.removeWindowListeners(this.win),this.win=e,this.addWindowListeners(this.win))}addWindowListeners(e){e.addEventListener("resize",this.onResize),this.printQuery?this.printQuery.addEventListener?this.printQuery.addEventListener("change",this.onPrint):this.printQuery.addListener(this.onPrint):e.addEventListener("beforeprint",this.onPrint),e.addEventListener("scroll",this.onScroll),e.document.addEventListener("selectionchange",this.onSelectionChange)}removeWindowListeners(e){e.removeEventListener("scroll",this.onScroll),e.removeEventListener("resize",this.onResize),this.printQuery?this.printQuery.removeEventListener?this.printQuery.removeEventListener("change",this.onPrint):this.printQuery.removeListener(this.onPrint):e.removeEventListener("beforeprint",this.onPrint),e.document.removeEventListener("selectionchange",this.onSelectionChange)}update(e){this.editContext&&(this.editContext.update(e),e.startState.facet(zt)!=e.state.facet(zt)&&(e.view.contentDOM.editContext=e.state.facet(zt)?this.editContext.editContext:null))}destroy(){var e,t,n;this.stop(),(e=this.intersection)===null||e===void 0||e.disconnect(),(t=this.gapIntersection)===null||t===void 0||t.disconnect(),(n=this.resizeScroll)===null||n===void 0||n.disconnect();for(let r of this.scrollTargets)r.removeEventListener("scroll",this.onScroll);this.removeWindowListeners(this.win),clearTimeout(this.parentCheck),clearTimeout(this.resizeTimeout),this.win.cancelAnimationFrame(this.delayedFlush),this.win.cancelAnimationFrame(this.flushingAndroidKey),this.editContext&&(this.view.contentDOM.editContext=null,this.editContext.destroy())}};function jf(i,e,t){for(;e;){let n=fe.get(e);if(n&&n.parent==i)return n;let r=e.parentNode;e=r!=i.dom?r:t>0?e.nextSibling:e.previousSibling}return null}function Vf(i,e){let t=e.startContainer,n=e.startOffset,r=e.endContainer,s=e.endOffset,o=i.docView.domAtPos(i.state.selection.main.anchor,1);return Nn(o.node,o.offset,r,s)&&([t,n,r,s]=[r,s,t,n]),{anchorNode:t,anchorOffset:n,focusNode:r,focusOffset:s}}function AQ(i,e){if(e.getComposedRanges){let r=e.getComposedRanges(i.root)[0];if(r)return Vf(i,r)}let t=null;function n(r){r.preventDefault(),r.stopImmediatePropagation(),t=r.getTargetRanges()[0]}return i.contentDOM.addEventListener("beforeinput",n,!0),i.dom.ownerDocument.execCommand("indent"),i.contentDOM.removeEventListener("beforeinput",n,!0),t?Vf(i,t):null}var Da=class{constructor(e){this.from=0,this.to=0,this.pendingContextChange=null,this.handlers=Object.create(null),this.composing=null,this.resetRange(e.state);let t=this.editContext=new window.EditContext({text:e.state.doc.sliceString(this.from,this.to),selectionStart:this.toContextPos(Math.max(this.from,Math.min(this.to,e.state.selection.main.anchor))),selectionEnd:this.toContextPos(e.state.selection.main.head)});this.handlers.textupdate=n=>{let r=e.state.selection.main,{anchor:s,head:o}=r,a=this.toEditorPos(n.updateRangeStart),l=this.toEditorPos(n.updateRangeEnd);e.inputState.composing>=0&&!this.composing&&(this.composing={contextBase:n.updateRangeStart,editorBase:a,drifted:!1});let c=l-a>n.text.length;a==this.from&&sthis.to&&(l=s);let h=wu(e.state.sliceDoc(a,l),n.text,(c?r.from:r.to)-a,c?"end":null);if(!h){let u=v.single(this.toEditorPos(n.selectionStart),this.toEditorPos(n.selectionEnd));ps(u,r)||e.dispatch({selection:u,userEvent:"select"});return}let f={from:h.from+a,to:h.toA+a,insert:H.of(n.text.slice(h.from,h.toB).split(` +`))};if((L.mac||L.android)&&f.from==o-1&&/^\. ?$/.test(n.text)&&e.contentDOM.getAttribute("autocorrect")=="off"&&(f={from:a,to:l,insert:H.of([n.text.replace("."," ")])}),this.pendingContextChange=f,!e.state.readOnly){let u=this.to-this.from+(f.to-f.from+f.insert.length);Ka(e,f,v.single(this.toEditorPos(n.selectionStart,u),this.toEditorPos(n.selectionEnd,u)))}this.pendingContextChange&&(this.revertPending(e.state),this.setSelection(e.state)),f.from=0&&!/[\\p{Alphabetic}\\p{Number}_]/.test(t.text.slice(Math.max(0,n.updateRangeStart-1),Math.min(t.text.length,n.updateRangeStart+1)))&&this.handlers.compositionend(n)},this.handlers.characterboundsupdate=n=>{let r=[],s=null;for(let o=this.toEditorPos(n.rangeStart),a=this.toEditorPos(n.rangeEnd);o{let r=[];for(let s of n.getTextFormats()){let o=s.underlineStyle,a=s.underlineThickness;if(!/none/i.test(o)&&!/none/i.test(a)){let l=this.toEditorPos(s.rangeStart),c=this.toEditorPos(s.rangeEnd);if(l{e.inputState.composing<0&&(e.inputState.composing=0,e.inputState.compositionFirstChange=!0)},this.handlers.compositionend=()=>{if(e.inputState.composing=-1,e.inputState.compositionFirstChange=null,this.composing){let{drifted:n}=this.composing;this.composing=null,n&&this.reset(e.state)}};for(let n in this.handlers)t.addEventListener(n,this.handlers[n]);this.measureReq={read:n=>{let r=nr(n.root);r&&r.rangeCount&&this.editContext.updateSelectionBounds(r.getRangeAt(0).getBoundingClientRect())}}}applyEdits(e){let t=0,n=!1,r=this.pendingContextChange;return e.changes.iterChanges((s,o,a,l,c)=>{if(n)return;let h=c.length-(o-s);if(r&&o>=r.to)if(r.from==s&&r.to==o&&r.insert.eq(c)){r=this.pendingContextChange=null,t+=h,this.to+=h;return}else r=null,this.revertPending(e.state);if(s+=t,o+=t,o<=this.from)this.from+=h,this.to+=h;else if(sthis.to||this.to-this.from+c.length>3e4){n=!0;return}this.editContext.updateText(this.toContextPos(s),this.toContextPos(o),c.toString()),this.to+=h}t+=h}),r&&!n&&this.revertPending(e.state),!n}update(e){let t=this.pendingContextChange,n=e.startState.selection.main;this.composing&&(this.composing.drifted||!e.changes.touchesRange(n.from,n.to)&&e.transactions.some(r=>!r.isUserEvent("input.type")&&r.changes.touchesRange(this.from,this.to)))?(this.composing.drifted=!0,this.composing.editorBase=e.changes.mapPos(this.composing.editorBase)):!this.applyEdits(e)||!this.rangeIsValid(e.state)?(this.pendingContextChange=null,this.reset(e.state)):(e.docChanged||e.selectionSet||t)&&this.setSelection(e.state),(e.geometryChanged||e.docChanged||e.selectionSet)&&e.view.requestMeasure(this.measureReq)}resetRange(e){let{head:t}=e.selection.main;this.from=Math.max(0,t-1e4),this.to=Math.min(e.doc.length,t+1e4)}reset(e){this.resetRange(e),this.editContext.updateText(0,this.editContext.text.length,e.doc.sliceString(this.from,this.to)),this.setSelection(e)}revertPending(e){let t=this.pendingContextChange;this.pendingContextChange=null,this.editContext.updateText(this.toContextPos(t.from),this.toContextPos(t.from+t.insert.length),e.doc.sliceString(t.from,t.to))}setSelection(e){let{main:t}=e.selection,n=this.toContextPos(Math.max(this.from,Math.min(this.to,t.anchor))),r=this.toContextPos(t.head);(this.editContext.selectionStart!=n||this.editContext.selectionEnd!=r)&&this.editContext.updateSelection(n,r)}rangeIsValid(e){let{head:t}=e.selection.main;return!(this.from>0&&t-this.from<500||this.to1e4*3)}toEditorPos(e,t=this.to-this.from){e=Math.min(e,t);let n=this.composing;return n&&n.drifted?n.editorBase+(e-n.contextBase):e+this.from}toContextPos(e){let t=this.composing;return t&&t.drifted?t.contextBase+(e-t.editorBase):e-this.from}destroy(){for(let e in this.handlers)this.editContext.removeEventListener(e,this.handlers[e])}},E=class i{get state(){return this.viewState.state}get viewport(){return this.viewState.viewport}get visibleRanges(){return this.viewState.visibleRanges}get inView(){return this.viewState.inView}get composing(){return!!this.inputState&&this.inputState.composing>0}get compositionStarted(){return!!this.inputState&&this.inputState.composing>=0}get root(){return this._root}get win(){return this.dom.ownerDocument.defaultView||window}constructor(e={}){var t;this.plugins=[],this.pluginMap=new Map,this.editorAttrs={},this.contentAttrs={},this.bidiCache=[],this.destroyed=!1,this.updateState=2,this.measureScheduled=-1,this.measureRequests=[],this.contentDOM=document.createElement("div"),this.scrollDOM=document.createElement("div"),this.scrollDOM.tabIndex=-1,this.scrollDOM.className="cm-scroller",this.scrollDOM.appendChild(this.contentDOM),this.announceDOM=document.createElement("div"),this.announceDOM.className="cm-announced",this.announceDOM.setAttribute("aria-live","polite"),this.dom=document.createElement("div"),this.dom.appendChild(this.announceDOM),this.dom.appendChild(this.scrollDOM),e.parent&&e.parent.appendChild(this.dom);let{dispatch:n}=e;this.dispatchTransactions=e.dispatchTransactions||n&&(r=>r.forEach(s=>n(s,this)))||(r=>this.update(r)),this.dispatch=this.dispatch.bind(this),this._root=e.root||w0(e.parent)||document,this.viewState=new Qs(this,e.state||re.create(e)),e.scrollTo&&e.scrollTo.is(Jr)&&(this.viewState.scrollTarget=e.scrollTo.value.clip(this.viewState.state)),this.plugins=this.state.facet(cn).map(r=>new Hn(r));for(let r of this.plugins)r.update(this);this.observer=new Va(this),this.inputState=new Ca(this),this.inputState.ensureHandlers(this.plugins),this.docView=new Os(this),this.mountStyles(),this.updateAttrs(),this.updateState=0,this.requestMeasure(),!((t=document.fonts)===null||t===void 0)&&t.ready&&document.fonts.ready.then(()=>{this.viewState.mustMeasureContent="refresh",this.requestMeasure()})}dispatch(...e){let t=e.length==1&&e[0]instanceof de?e:e.length==1&&Array.isArray(e[0])?e[0]:[this.state.update(...e)];this.dispatchTransactions(t,this)}update(e){if(this.updateState!=0)throw new Error("Calls to EditorView.update are not allowed while an update is in progress");let t=!1,n=!1,r,s=this.state;for(let u of e){if(u.startState!=s)throw new RangeError("Trying to update state with a transaction that doesn't start from the previous state.");s=u.state}if(this.destroyed){this.viewState.state=s;return}let o=this.hasFocus,a=0,l=null;e.some(u=>u.annotation(Xu))?(this.inputState.notifiedFocused=o,a=1):o!=this.inputState.notifiedFocused&&(this.inputState.notifiedFocused=o,l=_u(s,o),l||(a=1));let c=this.observer.delayedAndroidKey,h=null;if(c?(this.observer.clearDelayedAndroidKey(),h=this.observer.readChange(),(h&&!this.state.doc.eq(s.doc)||!this.state.selection.eq(s.selection))&&(h=null)):this.observer.clear(),s.facet(re.phrases)!=this.state.facet(re.phrases))return this.setState(s);r=fs.create(this,s,e),r.flags|=a;let f=this.viewState.scrollTarget;try{this.updateState=2;for(let u of e){if(f&&(f=f.map(u.changes)),u.scrollIntoView){let{main:O}=u.state.selection,{x:p,y:m}=this.state.facet(i.cursorScrollMargin);f=new Fn(O.empty?O:v.cursor(O.head,O.head>O.anchor?-1:1),"nearest","nearest",m,p)}for(let O of u.effects)O.is(Jr)&&(f=O.value.clip(this.state))}this.viewState.update(r,f),this.bidiCache=bs.update(this.bidiCache,r.changes),r.empty||(this.updatePlugins(r),this.inputState.update(r)),t=this.docView.update(r),this.state.facet(In)!=this.styleModules&&this.mountStyles(),n=this.updateAttrs(),this.showAnnouncements(e),this.docView.updateSelection(t,e.some(u=>u.isUserEvent("select.pointer")))}finally{this.updateState=0}if(r.startState.facet(rs)!=r.state.facet(rs)&&(this.viewState.mustMeasureContent=!0),(t||n||f||this.viewState.mustEnforceCursorAssoc||this.viewState.mustMeasureContent)&&this.requestMeasure(),t&&this.docViewUpdate(),!r.empty)for(let u of this.state.facet(ma))try{u(r)}catch(O){at(this.state,O,"update listener")}(l||h)&&Promise.resolve().then(()=>{l&&this.state==l.startState&&this.dispatch(l),h&&!xu(this,h)&&c.force&&un(this.contentDOM,c.key,c.keyCode)})}setState(e){if(this.updateState!=0)throw new Error("Calls to EditorView.setState are not allowed while an update is in progress");if(this.destroyed){this.viewState.state=e;return}this.updateState=2;let t=this.hasFocus;try{for(let n of this.plugins)n.destroy(this);this.viewState=new Qs(this,e),this.plugins=e.facet(cn).map(n=>new Hn(n)),this.pluginMap.clear();for(let n of this.plugins)n.update(this);this.docView.destroy(),this.docView=new Os(this),this.inputState.ensureHandlers(this.plugins),this.mountStyles(),this.updateAttrs(),this.bidiCache=[]}finally{this.updateState=0}t&&this.focus(),this.requestMeasure()}updatePlugins(e){let t=e.startState.facet(cn),n=e.state.facet(cn);if(t!=n){let r=[];for(let s of n){let o=t.indexOf(s);if(o<0)r.push(new Hn(s));else{let a=this.plugins[o];a.mustUpdate=e,r.push(a)}}for(let s of this.plugins)s.mustUpdate!=e&&s.destroy(this);this.plugins=r,this.pluginMap.clear()}else for(let r of this.plugins)r.mustUpdate=e;for(let r=0;r-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.observer.delayedAndroidKey){this.measureScheduled=-1,this.requestMeasure();return}this.measureScheduled=0,e&&this.observer.forceFlush();let t=null,n=this.viewState.scrollParent,r=this.viewState.getScrollOffset(),{scrollAnchorPos:s,scrollAnchorHeight:o}=this.viewState;Math.abs(r-this.viewState.scrollOffset)>1&&(o=-1),this.viewState.scrollAnchorHeight=-1;try{for(let a=0;;a++){if(o<0)if(Hf(n||this.win))s=-1,o=this.viewState.heightMap.height;else{let O=this.viewState.scrollAnchorAt(r);s=O.from,o=O.top}this.updateState=1;let l=this.viewState.measure();if(!l&&!this.measureRequests.length&&this.viewState.scrollTarget==null)break;if(a>5){console.warn(this.measureRequests.length?"Measure loop restarted more than 5 times":"Viewport failed to stabilize");break}let c=[];l&4||([this.measureRequests,c]=[c,this.measureRequests]);let h=c.map(O=>{try{return O.read(this)}catch(p){return at(this.state,p),Df}}),f=fs.create(this,this.state,[]),u=!1;f.flags|=l,t?t.flags|=l:t=f,this.updateState=2,f.empty||(this.updatePlugins(f),this.inputState.update(f),this.updateAttrs(),u=this.docView.update(f),u&&this.docViewUpdate());for(let O=0;O1||p<-1)&&!(L.ios&&this.inputState.lastIOSMomentumScroll>Date.now()-100)&&(n==this.scrollDOM||this.hasFocus||Math.max(this.inputState.lastWheelEvent,this.inputState.lastTouchTime)>Date.now()-100)){r=r+p,n?n.scrollTop+=p:this.win.scrollBy(0,p),o=-1;continue}}break}}}finally{this.updateState=0,this.measureScheduled=-1}if(t&&!t.empty)for(let a of this.state.facet(ma))a(t)}get themeClasses(){return Wa+" "+(this.state.facet(Ma)?Zu:Au)+" "+this.state.facet(rs)}updateAttrs(){let e=Yf(this,du,{class:"cm-editor"+(this.hasFocus?" cm-focused ":" ")+this.themeClasses}),t={spellcheck:"false",autocorrect:"off",autocapitalize:"off",writingsuggestions:"false",translate:"no",contenteditable:this.state.facet(zt)?"true":"false",class:"cm-content",style:`${L.tabSize}: ${this.state.tabSize}`,role:"textbox","aria-multiline":"true"};this.state.readOnly&&(t["aria-readonly"]="true"),Yf(this,Fa,t);let n=this.observer.ignore(()=>{let r=kf(this.contentDOM,this.contentAttrs,t),s=kf(this.dom,this.editorAttrs,e);return r||s});return this.editorAttrs=e,this.contentAttrs=t,n}showAnnouncements(e){let t=!0;for(let n of e)for(let r of n.effects)if(r.is(i.announce)){t&&(this.announceDOM.textContent=""),t=!1;let s=this.announceDOM.appendChild(document.createElement("div"));s.textContent=r.value}}mountStyles(){this.styleModules=this.state.facet(In);let e=this.state.facet(i.cspNonce);nt.mount(this.root,this.styleModules.concat(_Q).reverse(),e?{nonce:e}:void 0)}readMeasured(){if(this.updateState==2)throw new Error("Reading the editor layout isn't allowed during an update");this.updateState==0&&this.measureScheduled>-1&&this.measure(!1)}requestMeasure(e){if(this.measureScheduled<0&&(this.measureScheduled=this.win.requestAnimationFrame(()=>this.measure())),e){if(this.measureRequests.indexOf(e)>-1)return;if(e.key!=null){for(let t=0;tn.plugin==e)||null),t&&t.update(this).value}get documentTop(){return this.contentDOM.getBoundingClientRect().top+this.viewState.paddingTop}get documentPadding(){return{top:this.viewState.paddingTop,bottom:this.viewState.paddingBottom}}get scaleX(){return this.viewState.scaleX}get scaleY(){return this.viewState.scaleY}elementAtHeight(e){return this.readMeasured(),this.viewState.elementAtHeight(e)}lineBlockAtHeight(e){return this.readMeasured(),this.viewState.lineBlockAtHeight(e)}get viewportLineBlocks(){return this.viewState.viewportLines}lineBlockAt(e){return this.viewState.lineBlockAt(e)}get contentHeight(){return this.viewState.contentHeight}moveByChar(e,t,n){return sa(this,e,Tf(this,e,t,n))}moveByGroup(e,t){return sa(this,e,Tf(this,e,t,n=>tQ(this,e.head,n)))}visualLineSide(e,t){let n=this.bidiSpans(e),r=this.textDirectionAt(e.from),s=n[t?n.length-1:0];return v.cursor(s.side(t,r)+e.from,s.forward(!t,r)?1:-1)}moveToLineBoundary(e,t,n=!0){return eQ(this,e,t,n)}moveVertically(e,t,n){return sa(this,e,iQ(this,e,t,n))}domAtPos(e,t=1){return this.docView.domAtPos(e,t)}posAtDOM(e,t=0){return this.docView.posFromDOM(e,t)}posAtCoords(e,t=!0){this.readMeasured();let n=Pa(this,e,t);return n&&n.pos}posAndSideAtCoords(e,t=!0){return this.readMeasured(),Pa(this,e,t)}coordsAtPos(e,t=1){this.readMeasured();let n=this.state.doc.lineAt(e),r=this.bidiSpans(n),s=r[ot.find(r,e-n.from,-1,t)];return this.docView.coordsAt(e,t,s.dir==ue.RTL)}coordsForChar(e){return this.readMeasured(),this.docView.coordsForChar(e)}get defaultCharacterWidth(){return this.viewState.heightOracle.charWidth}get defaultLineHeight(){return this.viewState.heightOracle.lineHeight}get textDirection(){return this.viewState.defaultTextDirection}textDirectionAt(e){return!this.state.facet(fu)||ethis.viewport.to?this.textDirection:(this.readMeasured(),this.docView.textDirectionAt(e))}get lineWrapping(){return this.viewState.heightOracle.lineWrapping}bidiSpans(e){if(e.length>ZQ)return nu(e.length);let t=this.textDirectionAt(e.from),n;for(let s of this.bidiCache)if(s.from==e.from&&s.dir==t&&(s.fresh||iu(s.isolates,n=Pf(this,e))))return s.order;n||(n=Pf(this,e));let r=R0(e.text,t,n);return this.bidiCache.push(new bs(e.from,e.to,t,n,!0,r)),r}get hasFocus(){var e;return(this.dom.ownerDocument.hasFocus()||L.safari&&((e=this.inputState)===null||e===void 0?void 0:e.lastContextMenu)>Date.now()-3e4)&&this.root.activeElement==this.contentDOM}focus(){this.observer.ignore(()=>{Ff(this.contentDOM),this.docView.updateSelection()})}setRoot(e){this._root!=e&&(this._root=e,this.observer.setWindow((e.nodeType==9?e:e.ownerDocument).defaultView||window),this.mountStyles())}destroy(){this.root.activeElement==this.contentDOM&&this.contentDOM.blur();for(let e of this.plugins)e.destroy(this);this.plugins=[],this.inputState.destroy(),this.docView.destroy(),this.dom.remove(),this.observer.destroy(),this.measureScheduled>-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.destroyed=!0}static scrollIntoView(e,t={}){var n,r,s,o;return Jr.of(new Fn(typeof e=="number"?v.cursor(e):e,(n=t.y)!==null&&n!==void 0?n:"nearest",(r=t.x)!==null&&r!==void 0?r:"nearest",(s=t.yMargin)!==null&&s!==void 0?s:5,(o=t.xMargin)!==null&&o!==void 0?o:5))}scrollSnapshot(){let{scrollTop:e,scrollLeft:t}=this.scrollDOM,n=this.viewState.scrollAnchorAt(e);return Jr.of(new Fn(v.cursor(n.from),"start","start",n.top-e,t,!0))}setTabFocusMode(e){e==null?this.inputState.tabFocusMode=this.inputState.tabFocusMode<0?0:-1:typeof e=="boolean"?this.inputState.tabFocusMode=e?0:-1:this.inputState.tabFocusMode!=0&&(this.inputState.tabFocusMode=Date.now()+e)}static domEventHandlers(e){return De.define(()=>({}),{eventHandlers:e})}static domEventObservers(e){return De.define(()=>({}),{eventObservers:e})}static theme(e,t){let n=nt.newName(),r=[rs.of(n),In.of(ja(`.${n}`,e))];return t&&t.dark&&r.push(Ma.of(!0)),r}static baseTheme(e){return pt.lowest(In.of(ja("."+Wa,e,qu)))}static findFromDOM(e){var t;let n=e.querySelector(".cm-content"),r=n&&fe.get(n)||fe.get(e);return((t=r?.root)===null||t===void 0?void 0:t.view)||null}};E.styleModule=In;E.inputHandler=cu;E.clipboardInputFilter=Ga;E.clipboardOutputFilter=Na;E.scrollHandler=uu;E.focusChangeEffect=hu;E.perLineTextDirection=fu;E.exceptionSink=lu;E.updateListener=ma;E.editable=zt;E.mouseSelectionStyle=au;E.dragMovesSelection=ou;E.clickAddsSelectionRange=su;E.decorations=ys;E.blockWrappers=pu;E.outerDecorations=Ha;E.atomicRanges=sr;E.bidiIsolatedRanges=mu;E.cursorScrollMargin=Y.define({combine:i=>{let e=5,t=5;for(let n of i)typeof n=="number"?e=t=n:{x:e,y:t}=n;return{x:e,y:t}}});E.scrollMargins=gu;E.darkTheme=Ma;E.cspNonce=Y.define({combine:i=>i.length?i[0]:""});E.contentAttributes=Fa;E.editorAttributes=du;E.lineWrapping=E.contentAttributes.of({class:"cm-lineWrapping"});E.announce=ie.define();var ZQ=4096,Df={},bs=class i{constructor(e,t,n,r,s,o){this.from=e,this.to=t,this.dir=n,this.isolates=r,this.fresh=s,this.order=o}static update(e,t){if(t.empty&&!e.some(s=>s.fresh))return e;let n=[],r=e.length?e[e.length-1].dir:ue.LTR;for(let s=Math.max(0,e.length-10);s=0;r--){let s=n[r],o=typeof s=="function"?s(i):s;o&&Ia(o,t)}return t}var qQ=L.mac?"mac":L.windows?"win":L.linux?"linux":"key";function EQ(i,e){let t=i.split(/-(?!$)/),n=t[t.length-1];n=="Space"&&(n=" ");let r,s,o,a;for(let l=0;ln.concat(r),[]))),t}var ri=null,MQ=4e3;function WQ(i,e=qQ){let t=Object.create(null),n=Object.create(null),r=(o,a)=>{let l=n[o];if(l==null)n[o]=a;else if(l!=a)throw new Error("Key binding "+o+" is used both as a regular binding and as a multi-stroke prefix")},s=(o,a,l,c,h)=>{var f,u;let O=t[o]||(t[o]=Object.create(null)),p=a.split(/ (?!$)/).map(g=>EQ(g,e));for(let g=1;g{let x=ri={view:S,prefix:Q,scope:o};return setTimeout(()=>{ri==x&&(ri=null)},MQ),!0}]})}let m=p.join(" ");r(m,!1);let b=O[m]||(O[m]={preventDefault:!1,stopPropagation:!1,run:((u=(f=O._any)===null||f===void 0?void 0:f.run)===null||u===void 0?void 0:u.slice())||[]});l&&b.run.push(l),c&&(b.preventDefault=!0),h&&(b.stopPropagation=!0)};for(let o of i){let a=o.scope?o.scope.split(" "):["editor"];if(o.any)for(let c of a){let h=t[c]||(t[c]=Object.create(null));h._any||(h._any={preventDefault:!1,stopPropagation:!1,run:[]});let{any:f}=o;for(let u in h)h[u].run.push(O=>f(O,Ya))}let l=o[e]||o.key;if(l)for(let c of a)s(c,l,o.run,o.preventDefault,o.stopPropagation),o.shift&&s(c,"Shift-"+l,o.shift,o.preventDefault,o.stopPropagation)}return t}var Ya=null;function jQ(i,e,t,n){Ya=e;let r=Qf(e),s=ni(r,0),o=on(s)==r.length&&r!=" ",a="",l=!1,c=!1,h=!1;ri&&ri.view==t&&ri.scope==n&&(a=ri.prefix+" ",vu.indexOf(e.keyCode)<0&&(c=!0,ri=null));let f=new Set,u=b=>{if(b){for(let g of b.run)if(!f.has(g)&&(f.add(g),g(t)))return b.stopPropagation&&(h=!0),!0;b.preventDefault&&(b.stopPropagation&&(h=!0),c=!0)}return!1},O=i[n],p,m;return O&&(u(O[a+ss(r,e,!o)])?l=!0:o&&(e.altKey||e.metaKey||e.ctrlKey)&&!(L.windows&&e.ctrlKey&&e.altKey)&&!(L.mac&&e.altKey&&!(e.ctrlKey||e.metaKey))&&(p=Et[e.keyCode])&&p!=r?(u(O[a+ss(p,e,!0)])||e.shiftKey&&(m=an[e.keyCode])!=r&&m!=p&&u(O[a+ss(m,e,!1)]))&&(l=!0):o&&e.shiftKey&&u(O[a+ss(r,e,!0)])&&(l=!0),!l&&u(O._any)&&(l=!0)),c&&(l=!0),l&&h&&e.stopPropagation(),Ya=null,l}var Eu=ie.define({map(i,e){return i==null?null:e.mapPos(i)}}),Un=he.define({create(){return null},update(i,e){return i!=null&&(i=e.changes.mapPos(i)),e.effects.reduce((t,n)=>n.is(Eu)?n.value:t,i)}}),VQ=De.fromClass(class{constructor(i){this.view=i,this.cursor=null,this.measureReq={read:this.readPos.bind(this),write:this.drawCursor.bind(this)}}update(i){var e;let t=i.state.field(Un);t==null?this.cursor!=null&&((e=this.cursor)===null||e===void 0||e.remove(),this.cursor=null):(this.cursor||(this.cursor=this.view.scrollDOM.appendChild(document.createElement("div")),this.cursor.className="cm-dropCursor"),(i.startState.field(Un)!=t||i.docChanged||i.geometryChanged)&&this.view.requestMeasure(this.measureReq))}readPos(){let{view:i}=this,e=i.state.field(Un),t=e!=null&&i.coordsAtPos(e);if(!t)return null;let n=i.scrollDOM.getBoundingClientRect();return{left:t.left-n.left+i.scrollDOM.scrollLeft*i.scaleX,top:t.top-n.top+i.scrollDOM.scrollTop*i.scaleY,height:t.bottom-t.top}}drawCursor(i){if(this.cursor){let{scaleX:e,scaleY:t}=this.view;i?(this.cursor.style.left=i.left/e+"px",this.cursor.style.top=i.top/t+"px",this.cursor.style.height=i.height/t+"px"):this.cursor.style.left="-100000px"}}destroy(){this.cursor&&this.cursor.remove()}setDropPos(i){this.view.state.field(Un)!=i&&this.view.dispatch({effects:Eu.of(i)})}},{eventObservers:{dragover(i){this.setDropPos(this.view.posAtCoords({x:i.clientX,y:i.clientY}))},dragleave(i){(i.target==this.view.contentDOM||!this.view.contentDOM.contains(i.relatedTarget))&&this.setDropPos(null)},dragend(){this.setDropPos(null)},drop(){this.setDropPos(null)}}});function zu(){return[Un,VQ]}var r$=/x/.unicode!=null?"gu":"g";var Wt=class extends it{compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}eq(e){return!1}destroy(e){}};Wt.prototype.elementClass="";Wt.prototype.toDOM=void 0;Wt.prototype.mapMode=me.TrackBefore;Wt.prototype.startSide=Wt.prototype.endSide=-1;Wt.prototype.point=!0;var DQ=0,Ye=class{constructor(e,t){this.from=e,this.to=t}},I=class{constructor(e={}){this.id=DQ++,this.perNode=!!e.perNode,this.deserialize=e.deserialize||(()=>{throw new Error("This node type doesn't define a deserialize function")}),this.combine=e.combine||null}add(e){if(this.perNode)throw new RangeError("Can't add per-node props to node types");return typeof e!="function"&&(e=Oe.match(e)),t=>{let n=e(t);return n===void 0?null:[this,n]}}};I.closedBy=new I({deserialize:i=>i.split(" ")});I.openedBy=new I({deserialize:i=>i.split(" ")});I.group=new I({deserialize:i=>i.split(" ")});I.isolate=new I({deserialize:i=>{if(i&&i!="rtl"&&i!="ltr"&&i!="auto")throw new RangeError("Invalid value for isolate: "+i);return i||"auto"}});I.contextHash=new I({perNode:!0});I.lookAhead=new I({perNode:!0});I.mounted=new I({perNode:!0});var ci=class{constructor(e,t,n,r=!1){this.tree=e,this.overlay=t,this.parser=n,this.bracketed=r}static get(e){return e&&e.props&&e.props[I.mounted.id]}},YQ=Object.create(null),Oe=class i{constructor(e,t,n,r=0){this.name=e,this.props=t,this.id=n,this.flags=r}static define(e){let t=e.props&&e.props.length?Object.create(null):YQ,n=(e.top?1:0)|(e.skipped?2:0)|(e.error?4:0)|(e.name==null?8:0),r=new i(e.name||"",t,e.id,n);if(e.props){for(let s of e.props)if(Array.isArray(s)||(s=s(r)),s){if(s[0].perNode)throw new RangeError("Can't store a per-node prop on a node type");t[s[0].id]=s[1]}}return r}prop(e){return this.props[e.id]}get isTop(){return(this.flags&1)>0}get isSkipped(){return(this.flags&2)>0}get isError(){return(this.flags&4)>0}get isAnonymous(){return(this.flags&8)>0}is(e){if(typeof e=="string"){if(this.name==e)return!0;let t=this.prop(I.group);return t?t.indexOf(e)>-1:!1}return this.id==e}static match(e){let t=Object.create(null);for(let n in e)for(let r of n.split(" "))t[r]=e[n];return n=>{for(let r=n.prop(I.group),s=-1;s<(r?r.length:0);s++){let o=t[s<0?n.name:r[s]];if(o)return o}}}};Oe.none=new Oe("",Object.create(null),0,8);var jt=class i{constructor(e){this.types=e;for(let t=0;t0;for(let l=this.cursor(o|ee.IncludeAnonymous);;){let c=!1;if(l.from<=s&&l.to>=r&&(!a&&l.type.isAnonymous||t(l)!==!1)){if(l.firstChild())continue;c=!0}for(;c&&n&&(a||!l.type.isAnonymous)&&n(l),!l.nextSibling();){if(!l.parent())return;c=!0}}}prop(e){return e.perNode?this.props?this.props[e.id]:void 0:this.type.prop(e)}get propValues(){let e=[];if(this.props)for(let t in this.props)e.push([+t,this.props[t]]);return e}balance(e={}){return this.children.length<=8?this:cl(Oe.none,this.children,this.positions,0,this.children.length,0,this.length,(t,n,r)=>new i(this.type,t,n,r,this.propValues),e.makeTree||((t,n,r)=>new i(Oe.none,t,n,r)))}static build(e){return BQ(e)}};G.empty=new G(Oe.none,[],[],0);var Ja=class i{constructor(e,t){this.buffer=e,this.index=t}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}get pos(){return this.index}next(){this.index-=4}fork(){return new i(this.buffer,this.index)}},hi=class i{constructor(e,t,n){this.buffer=e,this.length=t,this.set=n}get type(){return Oe.none}toString(){let e=[];for(let t=0;t0));l=o[l+3]);return a}slice(e,t,n){let r=this.buffer,s=new Uint16Array(t-e),o=0;for(let a=e,l=0;a=e&&te;case 1:return t<=e&&n>e;case 2:return n>e;case 4:return!0}}function or(i,e,t,n){for(var r;i.from==i.to||(t<1?i.from>=e:i.from>e)||(t>-1?i.to<=e:i.to0?a.length:-1;e!=c;e+=t){let h=a[e],f=l[e]+o.from,u;if(!(!(s&ee.EnterBracketed&&h instanceof G&&(u=ci.get(h))&&!u.overlay&&u.bracketed&&n>=f&&n<=f+h.length)&&!Iu(r,n,f,f+h.length))){if(h instanceof hi){if(s&ee.ExcludeBuffers)continue;let O=h.findChild(0,h.buffer.length,t,n-f,r);if(O>-1)return new Ei(new tl(o,h,e,f),null,O)}else if(s&ee.IncludeAnonymous||!h.type.isAnonymous||ll(h)){let O;if(!(s&ee.IgnoreMounts)&&(O=ci.get(h))&&!O.overlay)return new i(O.tree,f,e,o);let p=new i(h,f,e,o);return s&ee.IncludeAnonymous||!p.type.isAnonymous?p:p.nextChild(t<0?h.children.length-1:0,t,n,r,s)}}}if(s&ee.IncludeAnonymous||!o.type.isAnonymous||(o.index>=0?e=o.index+t:e=t<0?-1:o._parent._tree.children.length,o=o._parent,!o))return null}}get firstChild(){return this.nextChild(0,1,0,4)}get lastChild(){return this.nextChild(this._tree.children.length-1,-1,0,4)}childAfter(e){return this.nextChild(0,1,e,2)}childBefore(e){return this.nextChild(this._tree.children.length-1,-1,e,-2)}prop(e){return this._tree.prop(e)}enter(e,t,n=0){let r;if(!(n&ee.IgnoreOverlays)&&(r=ci.get(this._tree))&&r.overlay){let s=e-this.from,o=n&ee.EnterBracketed&&r.bracketed;for(let{from:a,to:l}of r.overlay)if((t>0||o?a<=s:a=s:l>s))return new i(r.tree,r.overlay[0].from+this.from,-1,this)}return this.nextChild(0,1,e,t,n)}nextSignificantParent(){let e=this;for(;e.type.isAnonymous&&e._parent;)e=e._parent;return e}get parent(){return this._parent?this._parent.nextSignificantParent():null}get nextSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index+1,1,0,4):null}get prevSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index-1,-1,0,4):null}get tree(){return this._tree}toTree(){return this._tree}toString(){return this._tree.toString()}};function Mu(i,e,t,n){let r=i.cursor(),s=[];if(!r.firstChild())return s;if(t!=null){for(let o=!1;!o;)if(o=r.type.is(t),!r.nextSibling())return s}for(;;){if(n!=null&&r.type.is(n))return s;if(r.type.is(e)&&s.push(r.node),!r.nextSibling())return n==null?s:[]}}function el(i,e,t=e.length-1){for(let n=i;t>=0;n=n.parent){if(!n)return!1;if(!n.type.isAnonymous){if(e[t]&&e[t]!=n.name)return!1;t--}}return!0}var tl=class{constructor(e,t,n,r){this.parent=e,this.buffer=t,this.index=n,this.start=r}},Ei=class i extends Ps{get name(){return this.type.name}get from(){return this.context.start+this.context.buffer.buffer[this.index+1]}get to(){return this.context.start+this.context.buffer.buffer[this.index+2]}constructor(e,t,n){super(),this.context=e,this._parent=t,this.index=n,this.type=e.buffer.set.types[e.buffer.buffer[n]]}child(e,t,n){let{buffer:r}=this.context,s=r.findChild(this.index+4,r.buffer[this.index+3],e,t-this.context.start,n);return s<0?null:new i(this.context,this,s)}get firstChild(){return this.child(1,0,4)}get lastChild(){return this.child(-1,0,4)}childAfter(e){return this.child(1,e,2)}childBefore(e){return this.child(-1,e,-2)}prop(e){return this.type.prop(e)}enter(e,t,n=0){if(n&ee.ExcludeBuffers)return null;let{buffer:r}=this.context,s=r.findChild(this.index+4,r.buffer[this.index+3],t>0?1:-1,e-this.context.start,t);return s<0?null:new i(this.context,this,s)}get parent(){return this._parent||this.context.parent.nextSignificantParent()}externalSibling(e){return this._parent?null:this.context.parent.nextChild(this.context.index+e,e,0,4)}get nextSibling(){let{buffer:e}=this.context,t=e.buffer[this.index+3];return t<(this._parent?e.buffer[this._parent.index+3]:e.buffer.length)?new i(this.context,this._parent,t):this.externalSibling(1)}get prevSibling(){let{buffer:e}=this.context,t=this._parent?this._parent.index+4:0;return this.index==t?this.externalSibling(-1):new i(this.context,this._parent,e.findChild(t,this.index,-1,0,4))}get tree(){return null}toTree(){let e=[],t=[],{buffer:n}=this.context,r=this.index+4,s=n.buffer[this.index+3];if(s>r){let o=n.buffer[this.index+1];e.push(n.slice(r,s,o)),t.push(0)}return new G(this.type,e,t,this.to-this.from)}toString(){return this.context.buffer.childString(this.index)}};function Bu(i){if(!i.length)return null;let e=0,t=i[0];for(let s=1;st.from||o.to=e){let a=new Ie(o.tree,o.overlay[0].from+s.from,-1,s);(r||(r=[n])).push(or(a,e,t,!1))}}return r?Bu(r):n}var Qn=class{get name(){return this.type.name}constructor(e,t=0){if(this.buffer=null,this.stack=[],this.index=0,this.bufferNode=null,this.mode=t&~ee.EnterBracketed,e instanceof Ie)this.yieldNode(e);else{this._tree=e.context.parent,this.buffer=e.context;for(let n=e._parent;n;n=n._parent)this.stack.unshift(n.index);this.bufferNode=e,this.yieldBuf(e.index)}}yieldNode(e){return e?(this._tree=e,this.type=e.type,this.from=e.from,this.to=e.to,!0):!1}yieldBuf(e,t){this.index=e;let{start:n,buffer:r}=this.buffer;return this.type=t||r.set.types[r.buffer[e]],this.from=n+r.buffer[e+1],this.to=n+r.buffer[e+2],!0}yield(e){return e?e instanceof Ie?(this.buffer=null,this.yieldNode(e)):(this.buffer=e.context,this.yieldBuf(e.index,e.type)):!1}toString(){return this.buffer?this.buffer.buffer.childString(this.index):this._tree.toString()}enterChild(e,t,n){if(!this.buffer)return this.yield(this._tree.nextChild(e<0?this._tree._tree.children.length-1:0,e,t,n,this.mode));let{buffer:r}=this.buffer,s=r.findChild(this.index+4,r.buffer[this.index+3],e,t-this.buffer.start,n);return s<0?!1:(this.stack.push(this.index),this.yieldBuf(s))}firstChild(){return this.enterChild(1,0,4)}lastChild(){return this.enterChild(-1,0,4)}childAfter(e){return this.enterChild(1,e,2)}childBefore(e){return this.enterChild(-1,e,-2)}enter(e,t,n=this.mode){return this.buffer?n&ee.ExcludeBuffers?!1:this.enterChild(1,e,t):this.yield(this._tree.enter(e,t,n))}parent(){if(!this.buffer)return this.yieldNode(this.mode&ee.IncludeAnonymous?this._tree._parent:this._tree.parent);if(this.stack.length)return this.yieldBuf(this.stack.pop());let e=this.mode&ee.IncludeAnonymous?this.buffer.parent:this.buffer.parent.nextSignificantParent();return this.buffer=null,this.yieldNode(e)}sibling(e){if(!this.buffer)return this._tree._parent?this.yield(this._tree.index<0?null:this._tree._parent.nextChild(this._tree.index+e,e,0,4,this.mode)):!1;let{buffer:t}=this.buffer,n=this.stack.length-1;if(e<0){let r=n<0?0:this.stack[n]+4;if(this.index!=r)return this.yieldBuf(t.findChild(r,this.index,-1,0,4))}else{let r=t.buffer[this.index+3];if(r<(n<0?t.buffer.length:t.buffer[this.stack[n]+3]))return this.yieldBuf(r)}return n<0?this.yield(this.buffer.parent.nextChild(this.buffer.index+e,e,0,4,this.mode)):!1}nextSibling(){return this.sibling(1)}prevSibling(){return this.sibling(-1)}atLastNode(e){let t,n,{buffer:r}=this;if(r){if(e>0){if(this.index-1)for(let s=t+e,o=e<0?-1:n._tree.children.length;s!=o;s+=e){let a=n._tree.children[s];if(this.mode&ee.IncludeAnonymous||a instanceof hi||!a.type.isAnonymous||ll(a))return!1}return!0}move(e,t){if(t&&this.enterChild(e,0,4))return!0;for(;;){if(this.sibling(e))return!0;if(this.atLastNode(e)||!this.parent())return!1}}next(e=!0){return this.move(1,e)}prev(e=!0){return this.move(-1,e)}moveTo(e,t=0){for(;(this.from==this.to||(t<1?this.from>=e:this.from>e)||(t>-1?this.to<=e:this.to=0;){for(let o=e;o;o=o._parent)if(o.index==r){if(r==this.index)return o;t=o,n=s+1;break e}r=this.stack[--s]}for(let r=n;r=0;s--){if(s<0)return el(this._tree,e,r);let o=n[t.buffer[this.stack[s]]];if(!o.isAnonymous){if(e[r]&&e[r]!=o.name)return!1;r--}}return!0}};function ll(i){return i.children.some(e=>e instanceof hi||!e.type.isAnonymous||ll(e))}function BQ(i){var e;let{buffer:t,nodeSet:n,maxBufferLength:r=1024,reused:s=[],minRepeatType:o=n.types.length}=i,a=Array.isArray(t)?new Ja(t,t.length):t,l=n.types,c=0,h=0;function f(P,$,R,_,W,T){let{id:k,start:w,end:C,size:j}=a,y=h,z=c;if(j<0)if(a.next(),j==-1){let N=s[k];R.push(N),_.push(w-P);return}else if(j==-3){c=k;return}else if(j==-4){h=k;return}else throw new RangeError(`Unrecognized record size: ${j}`);let ye=l[k],Zt,X,te=w-P;if(C-w<=r&&(X=b(a.pos-$,W))){let N=new Uint16Array(X.size-X.skip),U=a.pos-X.size,le=N.length;for(;a.pos>U;)le=g(X.start,N,le);Zt=new hi(N,C-X.start,n),te=X.start-P}else{let N=a.pos-j;a.next();let U=[],le=[],F=k>=o?k:-1,Qe=0,_e=C;for(;a.pos>N;)F>=0&&a.id==F&&a.size>=0?(a.end<=_e-r&&(p(U,le,w,Qe,a.end,_e,F,y,z),Qe=U.length,_e=a.end),a.next()):T>2500?u(w,N,U,le):f(w,N,U,le,F,T+1);if(F>=0&&Qe>0&&Qe-1&&Qe>0){let ti=O(ye,z);Zt=cl(ye,U,le,0,U.length,0,C-w,ti,ti)}else Zt=m(ye,U,le,C-w,y-C,z)}R.push(Zt),_.push(te)}function u(P,$,R,_){let W=[],T=0,k=-1;for(;a.pos>$;){let{id:w,start:C,end:j,size:y}=a;if(y>4)a.next();else{if(k>-1&&C=0;j-=3)w[y++]=W[j],w[y++]=W[j+1]-C,w[y++]=W[j+2]-C,w[y++]=y;R.push(new hi(w,W[2]-C,n)),_.push(C-P)}}function O(P,$){return(R,_,W)=>{let T=0,k=R.length-1,w,C;if(k>=0&&(w=R[k])instanceof G){if(!k&&w.type==P&&w.length==W)return w;(C=w.prop(I.lookAhead))&&(T=_[k]+w.length+C)}return m(P,R,_,W,T,$)}}function p(P,$,R,_,W,T,k,w,C){let j=[],y=[];for(;P.length>_;)j.push(P.pop()),y.push($.pop()+R-W);P.push(m(n.types[k],j,y,T-W,w-T,C)),$.push(W-R)}function m(P,$,R,_,W,T,k){if(T){let w=[I.contextHash,T];k=k?[w].concat(k):[w]}if(W>25){let w=[I.lookAhead,W];k=k?[w].concat(k):[w]}return new G(P,$,R,_,k)}function b(P,$){let R=a.fork(),_=0,W=0,T=0,k=R.end-r,w={size:0,start:0,skip:0};e:for(let C=R.pos-P;R.pos>C;){let j=R.size;if(R.id==$&&j>=0){w.size=_,w.start=W,w.skip=T,T+=4,_+=4,R.next();continue}let y=R.pos-j;if(j<0||y=o?4:0,ye=R.start;for(R.next();R.pos>y;){if(R.size<0)if(R.size==-3||R.size==-4)z+=4;else break e;else R.id>=o&&(z+=4);R.next()}W=ye,_+=j,T+=z}return($<0||_==P)&&(w.size=_,w.start=W,w.skip=T),w.size>4?w:void 0}function g(P,$,R){let{id:_,start:W,end:T,size:k}=a;if(a.next(),k>=0&&_4){let C=a.pos-(k-4);for(;a.pos>C;)R=g(P,$,R)}$[--R]=w,$[--R]=T-P,$[--R]=W-P,$[--R]=_}else k==-3?c=_:k==-4&&(h=_);return R}let Q=[],S=[];for(;a.pos>0;)f(i.start||0,i.bufferStart||0,Q,S,-1,0);let x=(e=i.length)!==null&&e!==void 0?e:Q.length?S[0]+Q[0].length:0;return new G(l[i.topID],Q.reverse(),S.reverse(),x)}var Wu=new WeakMap;function ws(i,e){if(!i.isAnonymous||e instanceof hi||e.type!=i)return 1;let t=Wu.get(e);if(t==null){t=1;for(let n of e.children){if(n.type!=i||!(n instanceof G)){t=1;break}t+=ws(i,n)}Wu.set(e,t)}return t}function cl(i,e,t,n,r,s,o,a,l){let c=0;for(let p=n;p=h)break;$+=R}if(S==x+1){if($>h){let R=p[x];O(R.children,R.positions,0,R.children.length,m[x]+Q);continue}f.push(p[x])}else{let R=m[S-1]+p[S-1].length-P;f.push(cl(i,p,m,x,S,P,R,null,l))}u.push(P+Q-s)}}return O(e,t,n,r,0),(a||l)(f,u,o)}var fi=class{constructor(){this.map=new WeakMap}setBuffer(e,t,n){let r=this.map.get(e);r||this.map.set(e,r=new Map),r.set(t,n)}getBuffer(e,t){let n=this.map.get(e);return n&&n.get(t)}set(e,t){e instanceof Ei?this.setBuffer(e.context.buffer,e.index,t):e instanceof Ie&&this.map.set(e.tree,t)}get(e){return e instanceof Ei?this.getBuffer(e.context.buffer,e.index):e instanceof Ie?this.map.get(e.tree):void 0}cursorSet(e,t){e.buffer?this.setBuffer(e.buffer.buffer,e.index,t):this.map.set(e.tree,t)}cursorGet(e){return e.buffer?this.getBuffer(e.buffer.buffer,e.index):this.map.get(e.tree)}},Vt=class i{constructor(e,t,n,r,s=!1,o=!1){this.from=e,this.to=t,this.tree=n,this.offset=r,this.open=(s?1:0)|(o?2:0)}get openStart(){return(this.open&1)>0}get openEnd(){return(this.open&2)>0}static addTree(e,t=[],n=!1){let r=[new i(0,e.length,e,0,!1,n)];for(let s of t)s.to>e.length&&r.push(s);return r}static applyChanges(e,t,n=128){if(!t.length)return e;let r=[],s=1,o=e.length?e[0]:null;for(let a=0,l=0,c=0;;a++){let h=a=n)for(;o&&o.from=u.from||f<=u.to||c){let O=Math.max(u.from,l)-c,p=Math.min(u.to,f)-c;u=O>=p?null:new i(O,p,u.tree,u.offset+c,a>0,!!h)}if(u&&r.push(u),o.to>f)break;o=snew Ye(r.from,r.to)):[new Ye(0,0)]:[new Ye(0,e.length)],this.createParse(e,t||[],n)}parse(e,t,n){let r=this.startParse(e,t,n);for(;;){let s=r.advance();if(s)return s}}},nl=class{constructor(e){this.string=e}get length(){return this.string.length}chunk(e){return this.string.slice(e)}get lineChunks(){return!1}read(e,t){return this.string.slice(e,t)}};function bn(i){return(e,t,n,r)=>new ol(e,i,t,n,r)}var vs=class{constructor(e,t,n,r,s,o){this.parser=e,this.parse=t,this.overlay=n,this.bracketed=r,this.target=s,this.from=o}};function ju(i){if(!i.length||i.some(e=>e.from>=e.to))throw new RangeError("Invalid inner parse ranges given: "+JSON.stringify(i))}var rl=class{constructor(e,t,n,r,s,o,a,l){this.parser=e,this.predicate=t,this.mounts=n,this.index=r,this.start=s,this.bracketed=o,this.target=a,this.prev=l,this.depth=0,this.ranges=[]}},sl=new I({perNode:!0}),ol=class{constructor(e,t,n,r,s){this.nest=t,this.input=n,this.fragments=r,this.ranges=s,this.inner=[],this.innerDone=0,this.baseTree=null,this.stoppedAt=null,this.baseParse=e}advance(){if(this.baseParse){let n=this.baseParse.advance();if(!n)return null;if(this.baseParse=null,this.baseTree=n,this.startInner(),this.stoppedAt!=null)for(let r of this.inner)r.parse.stopAt(this.stoppedAt)}if(this.innerDone==this.inner.length){let n=this.baseTree;return this.stoppedAt!=null&&(n=new G(n.type,n.children,n.positions,n.length,n.propValues.concat([[sl,this.stoppedAt]]))),n}let e=this.inner[this.innerDone],t=e.parse.advance();if(t){this.innerDone++;let n=Object.assign(Object.create(null),e.target.props);n[I.mounted.id]=new ci(t,e.overlay,e.parser,e.bracketed),e.target.props=n}return null}get parsedPos(){if(this.baseParse)return 0;let e=this.input.length;for(let t=this.innerDone;t=this.stoppedAt)a=!1;else if(e.hasNode(r)){if(t){let c=t.mounts.find(h=>h.frag.from<=r.from&&h.frag.to>=r.to&&h.mount.overlay);if(c)for(let h of c.mount.overlay){let f=h.from+c.pos,u=h.to+c.pos;f>=r.from&&u<=r.to&&!t.ranges.some(O=>O.fromf)&&t.ranges.push({from:f,to:u})}}a=!1}else if(n&&(o=UQ(n.ranges,r.from,r.to)))a=o!=2;else if(!r.type.isAnonymous&&(s=this.nest(r,this.input))&&(r.fromnew Ye(f.from-r.from,f.to-r.from)):null,!!s.bracketed,r.tree,h.length?h[0].from:r.from)),s.overlay?h.length&&(n={ranges:h,depth:0,prev:n}):a=!1}}else if(t&&(l=t.predicate(r))&&(l===!0&&(l=new Ye(r.from,r.to)),l.from=0&&t.ranges[c].to==l.from?t.ranges[c]={from:t.ranges[c].from,to:l.to}:t.ranges.push(l)}if(a&&r.firstChild())t&&t.depth++,n&&n.depth++;else for(;!r.nextSibling();){if(!r.parent())break e;if(t&&!--t.depth){let c=Du(this.ranges,t.ranges);c.length&&(ju(c),this.inner.splice(t.index,0,new vs(t.parser,t.parser.startParse(this.input,Yu(t.mounts,c),c),t.ranges.map(h=>new Ye(h.from-t.start,h.to-t.start)),t.bracketed,t.target,c[0].from))),t=t.prev}n&&!--n.depth&&(n=n.prev)}}}};function UQ(i,e,t){for(let n of i){if(n.from>=t)break;if(n.to>e)return n.from<=e&&n.to>=t?2:1}return 0}function Vu(i,e,t,n,r,s){if(e=e&&t.enter(n,1,ee.IgnoreOverlays|ee.ExcludeBuffers)))if(t.to<=e)t.next(!1)||(this.done=!0);else break}hasNode(e){if(this.moveTo(e.from),!this.done&&this.cursor.from+this.offset==e.from&&this.cursor.tree)for(let t=this.cursor.tree;;){if(t==e.tree)return!0;if(t.children.length&&t.positions[0]==0&&t.children[0]instanceof G)t=t.children[0];else break}return!1}},al=class{constructor(e){var t;if(this.fragments=e,this.curTo=0,this.fragI=0,e.length){let n=this.curFrag=e[0];this.curTo=(t=n.tree.prop(sl))!==null&&t!==void 0?t:n.to,this.inner=new $s(n.tree,-n.offset)}else this.curFrag=this.inner=null}hasNode(e){for(;this.curFrag&&e.from>=this.curTo;)this.nextFrag();return this.curFrag&&this.curFrag.from<=e.from&&this.curTo>=e.to&&this.inner.hasNode(e)}nextFrag(){var e;if(this.fragI++,this.fragI==this.fragments.length)this.curFrag=this.inner=null;else{let t=this.curFrag=this.fragments[this.fragI];this.curTo=(e=t.tree.prop(sl))!==null&&e!==void 0?e:t.to,this.inner=new $s(t.tree,-t.offset)}}findMounts(e,t){var n;let r=[];if(this.inner){this.inner.cursor.moveTo(e,1);for(let s=this.inner.cursor.node;s;s=s.parent){let o=(n=s.tree)===null||n===void 0?void 0:n.prop(I.mounted);if(o&&o.parser==t)for(let a=this.fragI;a=s.to)break;l.tree==this.curFrag.tree&&r.push({frag:l,pos:s.from-l.offset,mount:o})}}}return r}};function Du(i,e){let t=null,n=e;for(let r=1,s=0;r=a)break;l.to<=o||(t||(n=t=e.slice()),l.froma&&t.splice(s+1,0,new Ye(a,l.to))):l.to>a?t[s--]=new Ye(a,l.to):t.splice(s--,1))}}return n}function NQ(i,e,t,n){let r=0,s=0,o=!1,a=!1,l=-1e9,c=[];for(;;){let h=r==i.length?1e9:o?i[r].to:i[r].from,f=s==e.length?1e9:a?e[s].to:e[s].from;if(o!=a){let u=Math.max(l,t),O=Math.min(h,f,n);unew Ye(u.from+n,u.to+n)),f=NQ(e,h,l,c);for(let u=0,O=l;;u++){let p=u==f.length,m=p?c:f[u].from;if(m>O&&t.push(new Vt(O,m,r.tree,-o,s.from>=O||s.openStart,s.to<=m||s.openEnd)),p)break;O=f[u].to}}else t.push(new Vt(l,c,r.tree,-o,s.from>=o||s.openStart,s.to<=a||s.openEnd))}return t}var FQ=0,Ke=class i{constructor(e,t,n,r){this.name=e,this.set=t,this.base=n,this.modified=r,this.id=FQ++}toString(){let{name:e}=this;for(let t of this.modified)t.name&&(e=`${t.name}(${e})`);return e}static define(e,t){let n=typeof e=="string"?e:"?";if(e instanceof i&&(t=e),t?.base)throw new Error("Can not derive from a modified tag");let r=new i(n,[],null,[]);if(r.set.push(r),t)for(let s of t.set)r.set.push(s);return r}static defineModifier(e){let t=new _s(e);return n=>n.modified.indexOf(t)>-1?n:_s.get(n.base||n,n.modified.concat(t).sort((r,s)=>r.id-s.id))}},HQ=0,_s=class i{constructor(e){this.name=e,this.instances=[],this.id=HQ++}static get(e,t){if(!t.length)return e;let n=t[0].instances.find(a=>a.base==e&&KQ(t,a.modified));if(n)return n;let r=[],s=new Ke(e.name,r,e,t);for(let a of t)a.instances.push(s);let o=JQ(t);for(let a of e.set)if(!a.modified.length)for(let l of o)r.push(i.get(a,l));return s}};function KQ(i,e){return i.length==e.length&&i.every((t,n)=>t==e[n])}function JQ(i){let e=[[]];for(let t=0;tn.length-t.length)}function ge(i){let e=Object.create(null);for(let t in i){let n=i[t];Array.isArray(n)||(n=[n]);for(let r of t.split(" "))if(r){let s=[],o=2,a=r;for(let f=0;;){if(a=="..."&&f>0&&f+3==r.length){o=1;break}let u=/^"(?:[^"\\]|\\.)*?"|[^\/!]+/.exec(a);if(!u)throw new RangeError("Invalid path: "+r);if(s.push(u[0]=="*"?"":u[0][0]=='"'?JSON.parse(u[0]):u[0]),f+=u[0].length,f==r.length)break;let O=r[f++];if(f==r.length&&O=="!"){o=0;break}if(O!="/")throw new RangeError("Invalid path: "+r);a=r.slice(f)}let l=s.length-1,c=s[l];if(!c)throw new RangeError("Invalid path: "+r);let h=new Li(n,o,l>0?s.slice(0,l):null);e[c]=h.sort(e[c])}}return Nu.add(e)}var Nu=new I({combine(i,e){let t,n,r;for(;i||e;){if(!i||e&&i.depth>=e.depth?(r=e,e=e.next):(r=i,i=i.next),t&&t.mode==r.mode&&!r.context&&!t.context)continue;let s=new Li(r.tags,r.mode,r.context);t?t.next=s:n=s,t=s}return n}}),Li=class{constructor(e,t,n,r){this.tags=e,this.mode=t,this.context=n,this.next=r}get opaque(){return this.mode==0}get inherit(){return this.mode==1}sort(e){return!e||e.depth{let o=r;for(let a of s)for(let l of a.set){let c=t[l.id];if(c){o=o?o+" "+c:c;break}}return o},scope:n}}function eb(i,e){let t=null;for(let n of i){let r=n.style(e);r&&(t=t?t+" "+r:r)}return t}function Rs(i,e,t,n=0,r=i.length){let s=new fl(n,Array.isArray(e)?e:[e],t);s.highlightRange(i.cursor(),n,r,"",s.highlighters),s.flush(r)}var fl=class{constructor(e,t,n){this.at=e,this.highlighters=t,this.span=n,this.class=""}startSpan(e,t){t!=this.class&&(this.flush(e),e>this.at&&(this.at=e),this.class=t)}flush(e){e>this.at&&this.class&&this.span(this.at,e,this.class)}highlightRange(e,t,n,r,s){let{type:o,from:a,to:l}=e;if(a>=n||l<=t)return;o.isTop&&(s=this.highlighters.filter(O=>!O.scope||O.scope(o)));let c=r,h=tb(e)||Li.empty,f=eb(s,h.tags);if(f&&(c&&(c+=" "),c+=f,h.mode==1&&(r+=(r?" ":"")+f)),this.startSpan(Math.max(t,a),c),h.opaque)return;let u=e.tree&&e.tree.prop(I.mounted);if(u&&u.overlay){let O=e.node.enter(u.overlay[0].from+a,1),p=this.highlighters.filter(b=>!b.scope||b.scope(u.tree.type)),m=e.firstChild();for(let b=0,g=a;;b++){let Q=b=S||!e.nextSibling())););if(!Q||S>n)break;g=Q.to+a,g>t&&(this.highlightRange(O.cursor(),Math.max(t,Q.from+a),Math.min(n,g),"",p),this.startSpan(Math.min(n,g),c))}m&&e.parent()}else if(e.firstChild()){u&&(r="");do if(!(e.to<=t)){if(e.from>=n)break;this.highlightRange(e,t,n,r,s),this.startSpan(Math.min(n,e.to),c)}while(e.nextSibling());e.parent()}}};function tb(i){let e=i.type.prop(Nu);for(;e&&e.context&&!i.matchContext(e.context);)e=e.next;return e||null}var q=Ke.define,Ts=q(),ui=q(),Uu=q(ui),Gu=q(ui),Oi=q(),Cs=q(Oi),hl=q(Oi),_t=q(),zi=q(_t),Ct=q(),Xt=q(),ul=q(),ar=q(ul),Xs=q(),d={comment:Ts,lineComment:q(Ts),blockComment:q(Ts),docComment:q(Ts),name:ui,variableName:q(ui),typeName:Uu,tagName:q(Uu),propertyName:Gu,attributeName:q(Gu),className:q(ui),labelName:q(ui),namespace:q(ui),macroName:q(ui),literal:Oi,string:Cs,docString:q(Cs),character:q(Cs),attributeValue:q(Cs),number:hl,integer:q(hl),float:q(hl),bool:q(Oi),regexp:q(Oi),escape:q(Oi),color:q(Oi),url:q(Oi),keyword:Ct,self:q(Ct),null:q(Ct),atom:q(Ct),unit:q(Ct),modifier:q(Ct),operatorKeyword:q(Ct),controlKeyword:q(Ct),definitionKeyword:q(Ct),moduleKeyword:q(Ct),operator:Xt,derefOperator:q(Xt),arithmeticOperator:q(Xt),logicOperator:q(Xt),bitwiseOperator:q(Xt),compareOperator:q(Xt),updateOperator:q(Xt),definitionOperator:q(Xt),typeOperator:q(Xt),controlOperator:q(Xt),punctuation:ul,separator:q(ul),bracket:ar,angleBracket:q(ar),squareBracket:q(ar),paren:q(ar),brace:q(ar),content:_t,heading:zi,heading1:q(zi),heading2:q(zi),heading3:q(zi),heading4:q(zi),heading5:q(zi),heading6:q(zi),contentSeparator:q(_t),list:q(_t),quote:q(_t),emphasis:q(_t),strong:q(_t),link:q(_t),monospace:q(_t),strikethrough:q(_t),inserted:q(),deleted:q(),changed:q(),invalid:q(),meta:Xs,documentMeta:q(Xs),annotation:q(Xs),processingInstruction:q(Xs),definition:Ke.defineModifier("definition"),constant:Ke.defineModifier("constant"),function:Ke.defineModifier("function"),standard:Ke.defineModifier("standard"),local:Ke.defineModifier("local"),special:Ke.defineModifier("special")};for(let i in d){let e=d[i];e instanceof Ke&&(e.name=i)}var h$=Ol([{tag:d.link,class:"tok-link"},{tag:d.heading,class:"tok-heading"},{tag:d.emphasis,class:"tok-emphasis"},{tag:d.strong,class:"tok-strong"},{tag:d.keyword,class:"tok-keyword"},{tag:d.atom,class:"tok-atom"},{tag:d.bool,class:"tok-bool"},{tag:d.url,class:"tok-url"},{tag:d.labelName,class:"tok-labelName"},{tag:d.inserted,class:"tok-inserted"},{tag:d.deleted,class:"tok-deleted"},{tag:d.literal,class:"tok-literal"},{tag:d.string,class:"tok-string"},{tag:d.number,class:"tok-number"},{tag:[d.regexp,d.escape,d.special(d.string)],class:"tok-string2"},{tag:d.variableName,class:"tok-variableName"},{tag:d.local(d.variableName),class:"tok-variableName tok-local"},{tag:d.definition(d.variableName),class:"tok-variableName tok-definition"},{tag:d.special(d.variableName),class:"tok-variableName2"},{tag:d.definition(d.propertyName),class:"tok-propertyName tok-definition"},{tag:d.typeName,class:"tok-typeName"},{tag:d.namespace,class:"tok-namespace"},{tag:d.className,class:"tok-className"},{tag:d.macroName,class:"tok-macroName"},{tag:d.propertyName,class:"tok-propertyName"},{tag:d.operator,class:"tok-operator"},{tag:d.comment,class:"tok-comment"},{tag:d.meta,class:"tok-meta"},{tag:d.invalid,class:"tok-invalid"},{tag:d.punctuation,class:"tok-punctuation"}]);var dl,bt=new I;function kn(i){return Y.define({combine:i?e=>e.concat(i):void 0})}var Es=new I,we=class{constructor(e,t,n=[],r=""){this.data=e,this.name=r,re.prototype.hasOwnProperty("tree")||Object.defineProperty(re.prototype,"tree",{get(){return B(this)}}),this.parser=t,this.extension=[Sn.of(this),re.languageData.of((s,o,a)=>{let l=Fu(s,o,a),c=l.type.prop(bt);if(!c)return[];let h=s.facet(c),f=l.type.prop(Es);if(f){let u=l.resolve(o-l.from,a);for(let O of f)if(O.test(u,s)){let p=s.facet(O.facet);return O.type=="replace"?p:p.concat(h)}}return h})].concat(n)}isActiveAt(e,t,n=-1){return Fu(e,t,n).type.prop(bt)==this.data}findRegions(e){let t=e.facet(Sn);if(t?.data==this.data)return[{from:0,to:e.doc.length}];if(!t||!t.allowsNesting)return[];let n=[],r=(s,o)=>{if(s.prop(bt)==this.data){n.push({from:o,to:o+s.length});return}let a=s.prop(I.mounted);if(a){if(a.tree.prop(bt)==this.data){if(a.overlay)for(let l of a.overlay)n.push({from:l.from+o,to:l.to+o});else n.push({from:o,to:o+s.length});return}else if(a.overlay){let l=n.length;if(r(a.tree,a.overlay[0].from+o),n.length>l)return}}for(let l=0;ln.isTop?t:void 0)]}),e.name)}configure(e,t){return new i(this.data,this.parser.configure(e),t||this.name)}get allowsNesting(){return this.parser.hasWrappers()}};function B(i){let e=i.field(we.state,!1);return e?e.tree:G.empty}function zs(i,e,t=50){var n;let r=(n=i.field(we.state,!1))===null||n===void 0?void 0:n.context;if(!r)return null;let s=r.viewport;r.updateViewport({from:0,to:e});let o=r.isDone(e)||r.work(t,e)?r.tree:null;return r.updateViewport(s),o}function iO(i,e=i.doc.length){var t;return((t=i.field(we.state,!1))===null||t===void 0?void 0:t.context.isDone(e))||!1}var Ql=class{constructor(e){this.doc=e,this.cursorPos=0,this.string="",this.cursor=e.iter()}get length(){return this.doc.length}syncTo(e){return this.string=this.cursor.next(e-this.cursorPos).value,this.cursorPos=e+this.string.length,this.cursorPos-this.string.length}chunk(e){return this.syncTo(e),this.string}get lineChunks(){return!0}read(e,t){let n=this.cursorPos-this.string.length;return e=this.cursorPos?this.doc.sliceString(e,t):this.string.slice(e-n,t-n)}},lr=null,Mi=class i{constructor(e,t,n=[],r,s,o,a,l){this.parser=e,this.state=t,this.fragments=n,this.tree=r,this.treeLen=s,this.viewport=o,this.skipped=a,this.scheduleOn=l,this.parse=null,this.tempSkipped=[]}static create(e,t,n){return new i(e,t,[],G.empty,0,n,[],null)}startParse(){return this.parser.startParse(new Ql(this.state.doc),this.fragments)}work(e,t){return t!=null&&t>=this.state.doc.length&&(t=void 0),this.tree!=G.empty&&this.isDone(t??this.state.doc.length)?(this.takeTree(),!0):this.withContext(()=>{var n;if(typeof e=="number"){let r=Date.now()+e;e=()=>Date.now()>r}for(this.parse||(this.parse=this.startParse()),t!=null&&(this.parse.stoppedAt==null||this.parse.stoppedAt>t)&&t=this.treeLen&&((this.parse.stoppedAt==null||this.parse.stoppedAt>e)&&this.parse.stopAt(e),this.withContext(()=>{for(;!(t=this.parse.advance()););}),this.treeLen=e,this.tree=t,this.fragments=this.withoutTempSkipped(Vt.addTree(this.tree,this.fragments,!0)),this.parse=null)}withContext(e){let t=lr;lr=this;try{return e()}finally{lr=t}}withoutTempSkipped(e){for(let t;t=this.tempSkipped.pop();)e=Hu(e,t.from,t.to);return e}changes(e,t){let{fragments:n,tree:r,treeLen:s,viewport:o,skipped:a}=this;if(this.takeTree(),!e.empty){let l=[];if(e.iterChangedRanges((c,h,f,u)=>l.push({fromA:c,toA:h,fromB:f,toB:u})),n=Vt.applyChanges(n,l),r=G.empty,s=0,o={from:e.mapPos(o.from,-1),to:e.mapPos(o.to,1)},this.skipped.length){a=[];for(let c of this.skipped){let h=e.mapPos(c.from,1),f=e.mapPos(c.to,-1);he.from&&(this.fragments=Hu(this.fragments,r,s),this.skipped.splice(n--,1))}return this.skipped.length>=t?!1:(this.reset(),!0)}reset(){this.parse&&(this.takeTree(),this.parse=null)}skipUntilInView(e,t){this.skipped.push({from:e,to:t})}static getSkippingParser(e){return new class extends Dt{createParse(t,n,r){let s=r[0].from,o=r[r.length-1].to;return{parsedPos:s,advance(){let l=lr;if(l){for(let c of r)l.tempSkipped.push(c);e&&(l.scheduleOn=l.scheduleOn?Promise.all([l.scheduleOn,e]):e)}return this.parsedPos=o,new G(Oe.none,[],[],o-s)},stoppedAt:null,stopAt(){}}}}}isDone(e){e=Math.min(e,this.state.doc.length);let t=this.fragments;return this.treeLen>=e&&t.length&&t[0].from==0&&t[0].to>=e}static get(){return lr}};function Hu(i,e,t){return Vt.applyChanges(i,[{fromA:e,toA:t,fromB:e,toB:t}])}var cr=class i{constructor(e){this.context=e,this.tree=e.tree}apply(e){if(!e.docChanged&&this.tree==this.context.tree)return this;let t=this.context.changes(e.changes,e.state),n=this.context.treeLen==e.startState.doc.length?void 0:Math.max(e.changes.mapPos(this.context.treeLen),t.viewport.to);return t.work(20,n)||t.takeTree(),new i(t)}static init(e){let t=Math.min(3e3,e.doc.length),n=Mi.create(e.facet(Sn).parser,e,{from:0,to:t});return n.work(20,t)||n.takeTree(),new i(n)}};we.state=he.define({create:cr.init,update(i,e){for(let t of e.effects)if(t.is(we.setState))return t.value;return e.startState.facet(Sn)!=e.state.facet(Sn)?cr.init(e.state):i.apply(e)}});var nO=i=>{let e=setTimeout(()=>i(),500);return()=>clearTimeout(e)};typeof requestIdleCallback<"u"&&(nO=i=>{let e=-1,t=setTimeout(()=>{e=requestIdleCallback(i,{timeout:400})},100);return()=>e<0?clearTimeout(t):cancelIdleCallback(e)});var pl=typeof navigator<"u"&&(!((dl=navigator.scheduling)===null||dl===void 0)&&dl.isInputPending)?()=>navigator.scheduling.isInputPending():null,ib=De.fromClass(class{constructor(e){this.view=e,this.working=null,this.workScheduled=0,this.chunkEnd=-1,this.chunkBudget=-1,this.work=this.work.bind(this),this.scheduleWork()}update(e){let t=this.view.state.field(we.state).context;(t.updateViewport(e.view.viewport)||this.view.viewport.to>t.treeLen)&&this.scheduleWork(),(e.docChanged||e.selectionSet)&&(this.view.hasFocus&&(this.chunkBudget+=50),this.scheduleWork()),this.checkAsyncSchedule(t)}scheduleWork(){if(this.working)return;let{state:e}=this.view,t=e.field(we.state);(t.tree!=t.context.tree||!t.context.isDone(e.doc.length))&&(this.working=nO(this.work))}work(e){this.working=null;let t=Date.now();if(this.chunkEndr+1e3,l=s.context.work(()=>pl&&pl()||Date.now()>o,r+(a?0:1e5));this.chunkBudget-=Date.now()-t,(l||this.chunkBudget<=0)&&(s.context.takeTree(),this.view.dispatch({effects:we.setState.of(new cr(s.context))})),this.chunkBudget>0&&!(l&&!a)&&this.scheduleWork(),this.checkAsyncSchedule(s.context)}checkAsyncSchedule(e){e.scheduleOn&&(this.workScheduled++,e.scheduleOn.then(()=>this.scheduleWork()).catch(t=>at(this.view.state,t)).then(()=>this.workScheduled--),e.scheduleOn=null)}destroy(){this.working&&this.working()}isWorking(){return!!(this.working||this.workScheduled>0)}},{eventHandlers:{focus(){this.scheduleWork()}}}),Sn=Y.define({combine(i){return i.length?i[0]:null},enables:i=>[we.state,ib,E.contentAttributes.compute([i],e=>{let t=e.facet(i);return t&&t.name?{"data-language":t.name}:{}})]}),pe=class{constructor(e,t=[]){this.language=e,this.support=t,this.extension=[e,t]}},Be=class i{constructor(e,t,n,r,s,o=void 0){this.name=e,this.alias=t,this.extensions=n,this.filename=r,this.loadFunc=s,this.support=o,this.loading=null}load(){return this.loading||(this.loading=this.loadFunc().then(e=>this.support=e,e=>{throw this.loading=null,e}))}static of(e){let{load:t,support:n}=e;if(!t){if(!n)throw new RangeError("Must pass either 'load' or 'support' to LanguageDescription.of");t=()=>Promise.resolve(n)}return new i(e.name,(e.alias||[]).concat(e.name).map(r=>r.toLowerCase()),e.extensions||[],e.filename,t,n)}static matchFilename(e,t){for(let r of e)if(r.filename&&r.filename.test(t))return r;let n=/\.([^.]+)$/.exec(t);if(n){for(let r of e)if(r.extensions.indexOf(n[1])>-1)return r}return null}static matchLanguageName(e,t,n=!0){t=t.toLowerCase();for(let r of e)if(r.alias.some(s=>s==t))return r;if(n)for(let r of e)for(let s of r.alias){let o=t.indexOf(s);if(o>-1&&(s.length>2||!/\w/.test(t[o-1])&&!/\w/.test(t[o+s.length])))return r}return null}},nb=Y.define(),Rt=Y.define({combine:i=>{if(!i.length)return" ";let e=i[0];if(!e||/\S/.test(e)||Array.from(e).some(t=>t!=e[0]))throw new Error("Invalid indent unit: "+JSON.stringify(i[0]));return e}});function di(i){let e=i.facet(Rt);return e.charCodeAt(0)==9?i.tabSize*e.length:e.length}function fr(i,e){let t="",n=i.tabSize,r=i.facet(Rt)[0];if(r==" "){for(;e>=n;)t+=" ",e-=n;r=" "}for(let s=0;s=e?rb(i,t,e):null}var Wi=class{constructor(e,t={}){this.state=e,this.options=t,this.unit=di(e)}lineAt(e,t=1){let n=this.state.doc.lineAt(e),{simulateBreak:r,simulateDoubleBreak:s}=this.options;return r!=null&&r>=n.from&&r<=n.to?s&&r==e?{text:"",from:e}:(t<0?r-1&&(s+=o-this.countColumn(n,n.search(/\S|$/))),s}countColumn(e,t=e.length){return Fe(e,this.state.tabSize,t)}lineIndent(e,t=1){let{text:n,from:r}=this.lineAt(e,t),s=this.options.overrideIndentation;if(s){let o=s(r);if(o>-1)return o}return this.countColumn(n,n.search(/\S|$/))}get simulatedBreak(){return this.options.simulateBreak||null}},Pe=new I;function rb(i,e,t){let n=e.resolveStack(t),r=e.resolveInner(t,-1).resolve(t,0).enterUnfinishedNodesBefore(t);if(r!=n.node){let s=[];for(let o=r;o&&!(o.fromn.node.to||o.from==n.node.from&&o.type==n.node.type);o=o.parent)s.push(o);for(let o=s.length-1;o>=0;o--)n={node:s[o],next:n}}return rO(n,i,t)}function rO(i,e,t){for(let n=i;n;n=n.next){let r=ob(n.node);if(r)return r(bl.create(e,t,n))}return 0}function sb(i){return i.pos==i.options.simulateBreak&&i.options.simulateDoubleBreak}function ob(i){let e=i.type.prop(Pe);if(e)return e;let t=i.firstChild,n;if(t&&(n=t.type.prop(I.closedBy))){let r=i.lastChild,s=r&&n.indexOf(r.name)>-1;return o=>sO(o,!0,1,void 0,s&&!sb(o)?r.from:void 0)}return i.parent==null?ab:null}function ab(){return 0}var bl=class i extends Wi{constructor(e,t,n){super(e.state,e.options),this.base=e,this.pos=t,this.context=n}get node(){return this.context.node}static create(e,t,n){return new i(e,t,n)}get textAfter(){return this.textAfterPos(this.pos)}get baseIndent(){return this.baseIndentFor(this.node)}baseIndentFor(e){let t=this.state.doc.lineAt(e.from);for(;;){let n=e.resolve(t.from);for(;n.parent&&n.parent.from==n.from;)n=n.parent;if(lb(n,e))break;t=this.state.doc.lineAt(n.from)}return this.lineIndent(t.from)}continue(){return rO(this.context.next,this.base,this.pos)}};function lb(i,e){for(let t=e;t;t=t.parent)if(i==t)return!0;return!1}function cb(i){let e=i.node,t=e.childAfter(e.from),n=e.lastChild;if(!t)return null;let r=i.options.simulateBreak,s=i.state.doc.lineAt(t.from),o=r==null||r<=s.from?s.to:Math.min(s.to,r);for(let a=t.to;;){let l=e.childAfter(a);if(!l||l==n)return null;if(!l.type.isSkipped){if(l.from>=o)return null;let c=/^ */.exec(s.text.slice(t.to-s.from))[0].length;return{from:t.from,to:t.to+c}}a=l.to}}function St({closing:i,align:e=!0,units:t=1}){return n=>sO(n,e,t,i)}function sO(i,e,t,n,r){let s=i.textAfter,o=s.match(/^\s*/)[0].length,a=n&&s.slice(o,o+n.length)==n||r==i.pos+o,l=e?cb(i):null;return l?a?i.column(l.from):i.column(l.to):i.baseIndent+(a?0:i.unit*t)}var oO=i=>i.baseIndent;function Yt({except:i,units:e=1}={}){return t=>{let n=i&&i.test(t.textAfter);return t.baseIndent+(n?0:e*t.unit)}}var aO=Y.define(),Ce=new I;function ct(i){let e=i.firstChild,t=i.lastChild;return e&&e.toa.prop(bt)==o.data:o?a=>a==o:void 0,this.style=Ol(e.map(a=>({tag:a.tag,class:a.class||r(Object.assign({},a,{tag:null}))})),{all:s}).style,this.module=n?new nt(n):null,this.themeType=t.themeType}static define(e,t){return new i(e,t||{})}},Sl=Y.define(),lO=Y.define({combine(i){return i.length?[i[0]]:null}});function ml(i){let e=i.facet(Sl);return e.length?e:i.facet(lO)}function cO(i,e){let t=[hb],n;return i instanceof yn&&(i.module&&t.push(E.styleModule.of(i.module)),n=i.themeType),e?.fallback?t.push(lO.of(i)):n?t.push(Sl.computeN([E.darkTheme],r=>r.facet(E.darkTheme)==(n=="dark")?[i]:[])):t.push(Sl.of(i)),t}var yl=class{constructor(e){this.markCache=Object.create(null),this.tree=B(e.state),this.decorations=this.buildDeco(e,ml(e.state)),this.decoratedTo=e.viewport.to}update(e){let t=B(e.state),n=ml(e.state),r=n!=ml(e.startState),{viewport:s}=e.view,o=e.changes.mapPos(this.decoratedTo,1);t.length=s.to?(this.decorations=this.decorations.map(e.changes),this.decoratedTo=o):(t!=this.tree||e.viewportChanged||r)&&(this.tree=t,this.decorations=this.buildDeco(e.view,n),this.decoratedTo=s.to)}buildDeco(e,t){if(!t||!this.tree.length)return Z.none;let n=new Ci;for(let{from:r,to:s}of e.visibleRanges)Rs(this.tree,t,(o,a,l)=>{n.add(o,a,this.markCache[l]||(this.markCache[l]=Z.mark({class:l})))},r,s);return n.finish()}},hb=pt.high(De.fromClass(yl,{decorations:i=>i.decorations})),b$=yn.define([{tag:d.meta,color:"#404740"},{tag:d.link,textDecoration:"underline"},{tag:d.heading,textDecoration:"underline",fontWeight:"bold"},{tag:d.emphasis,fontStyle:"italic"},{tag:d.strong,fontWeight:"bold"},{tag:d.strikethrough,textDecoration:"line-through"},{tag:d.keyword,color:"#708"},{tag:[d.atom,d.bool,d.url,d.contentSeparator,d.labelName],color:"#219"},{tag:[d.literal,d.inserted],color:"#164"},{tag:[d.string,d.deleted],color:"#a11"},{tag:[d.regexp,d.escape,d.special(d.string)],color:"#e40"},{tag:d.definition(d.variableName),color:"#00f"},{tag:d.local(d.variableName),color:"#30a"},{tag:[d.typeName,d.namespace],color:"#085"},{tag:d.className,color:"#167"},{tag:[d.special(d.variableName),d.macroName],color:"#256"},{tag:d.definition(d.propertyName),color:"#00c"},{tag:d.comment,color:"#940"},{tag:d.invalid,color:"#f00"}]);var fb=1e4,ub="()[]{}";var vl=new I;function kl(i,e,t){let n=i.prop(e<0?I.openedBy:I.closedBy);if(n)return n;if(i.name.length==1){let r=t.indexOf(i.name);if(r>-1&&r%2==(e<0?1:0))return[t[r+e]]}return null}function xl(i){let e=i.type.prop(vl);return e?e(i.node):i}function ji(i,e,t,n={}){let r=n.maxScanDistance||fb,s=n.brackets||ub,o=B(i),a=o.resolveInner(e,t);for(let l=a;l;l=l.parent){let c=kl(l.type,t,s);if(c&&l.from0?e>=h.from&&eh.from&&e<=h.to))return Ob(i,e,t,l,h,c,s)}}return db(i,e,t,o,a.type,r,s)}function Ob(i,e,t,n,r,s,o){let a=n.parent,l={from:r.from,to:r.to},c=0,h=a?.cursor();if(h&&(t<0?h.childBefore(n.from):h.childAfter(n.to)))do if(t<0?h.to<=n.from:h.from>=n.to){if(c==0&&s.indexOf(h.type.name)>-1&&h.from0)return null;let c={from:t<0?e-1:e,to:t>0?e+1:e},h=i.doc.iterRange(e,t>0?i.doc.length:0),f=0;for(let u=0;!h.next().done&&u<=s;){let O=h.value;t<0&&(u+=O.length);let p=e+u*t;for(let m=t>0?0:O.length-1,b=t>0?O.length:-1;m!=b;m+=t){let g=o.indexOf(O[m]);if(!(g<0||n.resolveInner(p+m,1).type!=r))if(g%2==0==t>0)f++;else{if(f==1)return{start:c,end:{from:p+m,to:p+m+1},matched:g>>1==l>>1};f--}}t>0&&(u+=O.length)}return h.done?{start:c,matched:!1}:null}function Ku(i,e,t,n=0,r=0){e==null&&(e=i.search(/[^\s\u00a0]/),e==-1&&(e=i.length));let s=r;for(let o=n;o=this.string.length}sol(){return this.pos==0}peek(){return this.string.charAt(this.pos)||void 0}next(){if(this.post}eatSpace(){let e=this.pos;for(;/[\s\u00a0]/.test(this.string.charAt(this.pos));)++this.pos;return this.pos>e}skipToEnd(){this.pos=this.string.length}skipTo(e){let t=this.string.indexOf(e,this.pos);if(t>-1)return this.pos=t,!0}backUp(e){this.pos-=e}column(){return this.lastColumnPosn?o.toLowerCase():o,s=this.string.substr(this.pos,e.length);return r(s)==r(e)?(t!==!1&&(this.pos+=e.length),!0):null}else{let r=this.string.slice(this.pos).match(e);return r&&r.index>0?null:(r&&t!==!1&&(this.pos+=r[0].length),r)}}current(){return this.string.slice(this.start,this.pos)}};function pb(i){return{name:i.name||"",token:i.token,blankLine:i.blankLine||(()=>{}),startState:i.startState||(()=>!0),copyState:i.copyState||mb,indent:i.indent||(()=>null),languageData:i.languageData||{},tokenTable:i.tokenTable||Tl,mergeTokens:i.mergeTokens!==!1}}function mb(i){if(typeof i!="object")return i;let e={};for(let t in i){let n=i[t];e[t]=n instanceof Array?n.slice():n}return e}var Ju=new WeakMap,Zs=class i extends we{constructor(e){let t=kn(e.languageData),n=pb(e),r,s=new class extends Dt{createParse(o,a,l){return new wl(r,o,a,l)}};super(t,s,[],e.name),this.topNode=Sb(t,this),r=this,this.streamParser=n,this.stateAfter=new I({perNode:!0}),this.tokenTable=e.tokenTable?new qs(n.tokenTable):bb}static define(e){return new i(e)}getIndent(e){let t,{overrideIndentation:n}=e.options;n&&(t=Ju.get(e.state),t!=null&&t1e4)return null;for(;s=n&&t+e.length<=r&&e.prop(i.stateAfter);if(s)return{state:i.streamParser.copyState(s),pos:t+e.length};for(let o=e.children.length-1;o>=0;o--){let a=e.children[o],l=t+e.positions[o],c=a instanceof G&&l=e.length)return e;!r&&t==0&&e.type==i.topNode&&(r=!0);for(let s=e.children.length-1;s>=0;s--){let o=e.positions[s],a=e.children[s],l;if(ot&&$l(i,s.tree,0-s.offset,t,a),c;if(l&&l.pos<=n&&(c=hO(i,s.tree,t+s.offset,l.pos+s.offset,!1)))return{state:l.state,tree:c}}return{state:i.streamParser.startState(r?di(r):4),tree:G.empty}}var wl=class{constructor(e,t,n,r){this.lang=e,this.input=t,this.fragments=n,this.ranges=r,this.stoppedAt=null,this.chunks=[],this.chunkPos=[],this.chunk=[],this.chunkReused=void 0,this.rangeIndex=0,this.to=r[r.length-1].to;let s=Mi.get(),o=r[0].from,{state:a,tree:l}=gb(e,n,o,this.to,s?.state);this.state=a,this.parsedPos=this.chunkStart=o+l.length;for(let c=0;cc.from<=s.viewport.from&&c.to>=s.viewport.from)&&(this.state=this.lang.streamParser.startState(di(s.state)),s.skipUntilInView(this.parsedPos,s.viewport.from),this.parsedPos=s.viewport.from),this.moveRangeIndex()}advance(){let e=Mi.get(),t=this.stoppedAt==null?this.to:Math.min(this.to,this.stoppedAt),n=Math.min(t,this.chunkStart+512);for(e&&(n=Math.min(n,e.viewport.to));this.parsedPos=t?this.finish():e&&this.parsedPos>=e.viewport.to?(e.skipUntilInView(this.parsedPos,t),this.finish()):null}stopAt(e){this.stoppedAt=e}lineAfter(e){let t=this.input.chunk(e);if(this.input.lineChunks)t==` `&&(t="");else{let n=t.indexOf(` -`);n>-1&&(t=t.slice(0,n))}return e+t.length<=this.to?t:t.slice(0,this.to-e)}nextLine(){let e=this.parsedPos,t=this.lineAfter(e),n=e+t.length;for(let r=this.rangeIndex;;){let s=this.ranges[r].to;if(s>=n||(t=t.slice(0,s-(n-t.length)),r++,r==this.ranges.length))break;let o=this.ranges[r].from,a=this.lineAfter(o);t+=a,n=o+a.length}return{line:t,end:n}}skipGapsTo(e,t,n){for(;;){let r=this.ranges[this.rangeIndex].to,s=e+t;if(n>0?r>s:r>=s)break;let o=this.ranges[++this.rangeIndex].from;t+=o-r}return t}moveRangeIndex(){for(;this.ranges[this.rangeIndex].to1){r=this.skipGapsTo(t,r,1),t+=r;let a=this.chunk.length;r=this.skipGapsTo(n,r,-1),n+=r,s+=this.chunk.length-a}let o=this.chunk.length-4;return this.lang.streamParser.mergeTokens&&s==4&&o>=0&&this.chunk[o]==e&&this.chunk[o+2]==t?this.chunk[o+2]=n:this.chunk.push(e,t,n,s),r}parseLine(e){let{line:t,end:n}=this.nextLine(),r=0,{streamParser:s}=this.lang,o=new As(t,e?e.state.tabSize:4,e?di(e.state):2);if(o.eol())s.blankLine(this.state,o.indentUnit);else for(;!o.eol();){let a=hO(s.token,o,this.state);if(a&&(r=this.emitToken(this.lang.tokenTable.resolve(a),this.parsedPos+o.start,this.parsedPos+o.pos,r)),o.start>1e4)break}this.parsedPos=n,this.moveRangeIndex(),this.parsedPose.start)return r}throw new Error("Stream parser failed to advance stream.")}var $l=Object.create(null),hr=[Oe.none],gb=new jt(hr),Ju=[],eO=Object.create(null),fO=Object.create(null);for(let[i,e]of[["variable","variableName"],["variable-2","variableName.special"],["string-2","string.special"],["def","variableName.definition"],["tag","tagName"],["attribute","attributeName"],["type","typeName"],["builtin","variableName.standard"],["qualifier","modifier"],["error","invalid"],["header","heading"],["property","propertyName"]])fO[i]=uO($l,e);var qs=class{constructor(e){this.extra=e,this.table=Object.assign(Object.create(null),fO)}resolve(e){return e?this.table[e]||(this.table[e]=uO(this.extra,e)):0}},Qb=new qs($l);function ml(i,e){Ju.indexOf(i)>-1||(Ju.push(i),console.warn(e))}function uO(i,e){let t=[];for(let a of e.split(" ")){let l=[];for(let c of a.split(".")){let h=i[c]||d[c];h?typeof h=="function"?l.length?l=l.map(h):ml(c,`Modifier ${c} used at start of tag`):l.length?ml(c,`Tag ${c} used as modifier`):l=Array.isArray(h)?h:[h]:ml(c,`Unknown highlighting tag ${c}`)}for(let c of l)t.push(c)}if(!t.length)return 0;let n=e.replace(/ /g,"_"),r=n+" "+t.map(a=>a.id),s=eO[r];if(s)return s.id;let o=eO[r]=Oe.define({id:hr.length,name:n,props:[ge({[n]:t})]});return hr.push(o),o.id}function bb(i,e){let t=Oe.define({id:hr.length,name:"Document",props:[bt.add(()=>i),we.add(()=>n=>e.getIndent(n))],top:!0});return hr.push(t),t}var b$={rtl:Z.mark({class:"cm-iso",inclusive:!0,attributes:{dir:"rtl"},bidiIsolate:ue.RTL}),ltr:Z.mark({class:"cm-iso",inclusive:!0,attributes:{dir:"ltr"},bidiIsolate:ue.LTR}),auto:Z.mark({class:"cm-iso",inclusive:!0,attributes:{dir:"auto"},bidiIsolate:null})};var Sb=i=>{let{state:e}=i,t=e.doc.lineAt(e.selection.main.from),n=Zl(i.state,t.from);return n.line?yb(i):n.block?xb(i):!1};function Al(i,e){return({state:t,dispatch:n})=>{if(t.readOnly)return!1;let r=i(e,t);return r?(n(t.update(r)),!0):!1}}var yb=Al(vb,0);var kb=Al(yO,0);var xb=Al((i,e)=>yO(i,e,Pb(e)),0);function Zl(i,e){let t=i.languageDataAt("commentTokens",e,1);return t.length?t[0]:{}}var ur=50;function wb(i,{open:e,close:t},n,r){let s=i.sliceDoc(n-ur,n),o=i.sliceDoc(r,r+ur),a=/\s*$/.exec(s)[0].length,l=/^\s*/.exec(o)[0].length,c=s.length-a;if(s.slice(c-e.length,c)==e&&o.slice(l,l+t.length)==t)return{open:{pos:n-a,margin:a&&1},close:{pos:r+l,margin:l&&1}};let h,f;r-n<=2*ur?h=f=i.sliceDoc(n,r):(h=i.sliceDoc(n,n+ur),f=i.sliceDoc(r-ur,r));let u=/^\s*/.exec(h)[0].length,O=/\s*$/.exec(f)[0].length,p=f.length-O-t.length;return h.slice(u,u+e.length)==e&&f.slice(p,p+t.length)==t?{open:{pos:n+u+e.length,margin:/\s/.test(h.charAt(u+e.length))?1:0},close:{pos:r-O-t.length,margin:/\s/.test(f.charAt(p-1))?1:0}}:null}function Pb(i){let e=[];for(let t of i.selection.ranges){let n=i.doc.lineAt(t.from),r=t.to<=n.to?n:i.doc.lineAt(t.to);r.from>n.from&&r.from==t.to&&(r=t.to==n.to+1?n:i.doc.lineAt(t.to-1));let s=e.length-1;s>=0&&e[s].to>n.from?e[s].to=r.to:e.push({from:n.from+/^\s*/.exec(n.text)[0].length,to:r.to})}return e}function yO(i,e,t=e.selection.ranges){let n=t.map(s=>Zl(e,s.from).block);if(!n.every(s=>s))return null;let r=t.map((s,o)=>wb(e,n[o],s.from,s.to));if(i!=2&&!r.every(s=>s))return{changes:e.changes(t.map((s,o)=>r[o]?[]:[{from:s.from,insert:n[o].open+" "},{from:s.to,insert:" "+n[o].close}]))};if(i!=1&&r.some(s=>s)){let s=[];for(let o=0,a;or&&(s==o||o>f.from)){r=f.from;let u=/^\s*/.exec(f.text)[0].length,O=u==f.length,p=f.text.slice(u,u+c.length)==c?u:-1;us.comment<0&&(!s.empty||s.single))){let s=[];for(let{line:a,token:l,indent:c,empty:h,single:f}of n)(f||!h)&&s.push({from:a.from+c,insert:l+" "});let o=e.changes(s);return{changes:o,selection:e.selection.map(o,1)}}else if(i!=1&&n.some(s=>s.comment>=0)){let s=[];for(let{line:o,comment:a,token:l}of n)if(a>=0){let c=o.from+a,h=c+l.length;o.text[h-o.from]==" "&&h++,s.push({from:c,to:h})}return{changes:s}}return null}var Cl=_e.define(),$b=_e.define(),Tb=Y.define(),kO=Y.define({combine(i){return Yn(i,{minDepth:100,newGroupDelay:500,joinToEvent:(e,t)=>t},{minDepth:Math.max,newGroupDelay:Math.min,joinToEvent:(e,t)=>(n,r)=>e(n,r)||t(n,r)})}}),xO=he.define({create(){return Vi.empty},update(i,e){let t=e.state.facet(kO),n=e.annotation(Cl);if(n){let l=yt.fromTransaction(e,n.selection),c=n.side,h=c==0?i.undone:i.done;return l?h=Ms(h,h.length,t.minDepth,l):h=$O(h,e.startState.selection),new Vi(c==0?n.rest:h,c==0?h:n.rest)}let r=e.annotation($b);if((r=="full"||r=="before")&&(i=i.isolate()),e.annotation(de.addToHistory)===!1)return e.changes.empty?i:i.addMapping(e.changes.desc);let s=yt.fromTransaction(e),o=e.annotation(de.time),a=e.annotation(de.userEvent);return s?i=i.addChanges(s,o,a,t,e):e.selection&&(i=i.addSelection(e.startState.selection,o,a,t.newGroupDelay)),(r=="full"||r=="after")&&(i=i.isolate()),i},toJSON(i){return{done:i.done.map(e=>e.toJSON()),undone:i.undone.map(e=>e.toJSON())}},fromJSON(i){return new Vi(i.done.map(yt.fromJSON),i.undone.map(yt.fromJSON))}});function wO(i={}){return[xO,kO.of(i),E.domEventHandlers({beforeinput(e,t){let n=e.inputType=="historyUndo"?PO:e.inputType=="historyRedo"?Xl:null;return n?(e.preventDefault(),n(t)):!1}})]}function Ws(i,e){return function({state:t,dispatch:n}){if(!e&&t.readOnly)return!1;let r=t.field(xO,!1);if(!r)return!1;let s=r.pop(i,t,e);return s?(n(s),!0):!1}}var PO=Ws(0,!1),Xl=Ws(1,!1),Cb=Ws(0,!0),Xb=Ws(1,!0);var yt=class i{constructor(e,t,n,r,s){this.changes=e,this.effects=t,this.mapped=n,this.startSelection=r,this.selectionsAfter=s}setSelAfter(e){return new i(this.changes,this.effects,this.mapped,this.startSelection,e)}toJSON(){var e,t,n;return{changes:(e=this.changes)===null||e===void 0?void 0:e.toJSON(),mapped:(t=this.mapped)===null||t===void 0?void 0:t.toJSON(),startSelection:(n=this.startSelection)===null||n===void 0?void 0:n.toJSON(),selectionsAfter:this.selectionsAfter.map(r=>r.toJSON())}}static fromJSON(e){return new i(e.changes&&ze.fromJSON(e.changes),[],e.mapped&&qt.fromJSON(e.mapped),e.startSelection&&v.fromJSON(e.startSelection),e.selectionsAfter.map(v.fromJSON))}static fromTransaction(e,t){let n=ht;for(let r of e.startState.facet(Tb)){let s=r(e);s.length&&(n=n.concat(s))}return!n.length&&e.changes.empty?null:new i(e.changes.invert(e.startState.doc),n,void 0,t||e.startState.selection,ht)}static selection(e){return new i(void 0,ht,void 0,void 0,e)}};function Ms(i,e,t,n){let r=e+1>t+20?e-t-1:0,s=i.slice(r,e);return s.push(n),s}function _b(i,e){let t=[],n=!1;return i.iterChangedRanges((r,s)=>t.push(r,s)),e.iterChangedRanges((r,s,o,a)=>{for(let l=0;l=c&&o<=h&&(n=!0)}}),n}function Rb(i,e){return i.ranges.length==e.ranges.length&&i.ranges.filter((t,n)=>t.empty!=e.ranges[n].empty).length===0}function vO(i,e){return i.length?e.length?i.concat(e):i:e}var ht=[],Ab=200;function $O(i,e){if(i.length){let t=i[i.length-1],n=t.selectionsAfter.slice(Math.max(0,t.selectionsAfter.length-Ab));return n.length&&n[n.length-1].eq(e)?i:(n.push(e),Ms(i,i.length-1,1e9,t.setSelAfter(n)))}else return[yt.selection([e])]}function Zb(i){let e=i[i.length-1],t=i.slice();return t[i.length-1]=e.setSelAfter(e.selectionsAfter.slice(0,e.selectionsAfter.length-1)),t}function Tl(i,e){if(!i.length)return i;let t=i.length,n=ht;for(;t;){let r=qb(i[t-1],e,n);if(r.changes&&!r.changes.empty||r.effects.length){let s=i.slice(0,t);return s[t-1]=r,s}else e=r.mapped,t--,n=r.selectionsAfter}return n.length?[yt.selection(n)]:ht}function qb(i,e,t){let n=vO(i.selectionsAfter.length?i.selectionsAfter.map(a=>a.map(e)):ht,t);if(!i.changes)return yt.selection(n);let r=i.changes.map(e),s=e.mapDesc(i.changes,!0),o=i.mapped?i.mapped.composeDesc(s):s;return new yt(r,ie.mapEffects(i.effects,e),o,i.startSelection.map(s),n)}var Eb=/^(input\.type|delete)($|\.)/,Vi=class i{constructor(e,t,n=0,r=void 0){this.done=e,this.undone=t,this.prevTime=n,this.prevUserEvent=r}isolate(){return this.prevTime?new i(this.done,this.undone):this}addChanges(e,t,n,r,s){let o=this.done,a=o[o.length-1];return a&&a.changes&&!a.changes.empty&&e.changes&&(!n||Eb.test(n))&&(!a.selectionsAfter.length&&t-this.prevTime0&&t-this.prevTimet.empty?i.moveByChar(t,e):js(t,e))}function Ae(i){return i.textDirectionAt(i.state.selection.main.head)==ue.LTR}var XO=i=>CO(i,!Ae(i)),_O=i=>CO(i,Ae(i));function RO(i,e){return xt(i,t=>t.empty?i.moveByGroup(t,e):js(t,e))}var zb=i=>RO(i,!Ae(i)),Lb=i=>RO(i,Ae(i));var $$=typeof Intl<"u"&&Intl.Segmenter?new Intl.Segmenter(void 0,{granularity:"word"}):null;function Mb(i,e,t){if(e.type.prop(t))return!0;let n=e.to-e.from;return n&&(n>2||/[^\s,.;:]/.test(i.sliceDoc(e.from,e.to)))||e.firstChild}function Vs(i,e,t){let n=B(i).resolveInner(e.head),r=t?I.closedBy:I.openedBy;for(let l=e.head;;){let c=t?n.childAfter(l):n.childBefore(l);if(!c)break;Mb(i,c,r)?n=c:l=t?c.to:c.from}let s=n.type.prop(r),o,a;return s&&(o=t?ji(i,n.from,1):ji(i,n.to,-1))&&o.matched?a=t?o.end.to:o.end.from:a=t?n.to:n.from,v.cursor(a,t?-1:1)}var Wb=i=>xt(i,e=>Vs(i.state,e,!Ae(i))),jb=i=>xt(i,e=>Vs(i.state,e,Ae(i)));function AO(i,e){return xt(i,t=>{if(!t.empty)return js(t,e);let n=i.moveVertically(t,e);return n.head!=t.head?n:i.moveToLineBoundary(t,e)})}var ZO=i=>AO(i,!1),qO=i=>AO(i,!0);function EO(i){let e=i.scrollDOM.clientHeighto.empty?i.moveVertically(o,e,t.height):js(o,e));if(r.eq(n.selection))return!1;let s;if(t.selfScroll){let o=i.coordsAtPos(n.selection.main.head),a=i.scrollDOM.getBoundingClientRect(),l=a.top+t.marginTop,c=a.bottom-t.marginBottom;o&&o.top>l&&o.bottomzO(i,!1),_l=i=>zO(i,!0);function pi(i,e,t){let n=i.lineBlockAt(e.head),r=i.moveToLineBoundary(e,t);if(r.head==e.head&&r.head!=(t?n.to:n.from)&&(r=i.moveToLineBoundary(e,t,!1)),!t&&r.head==n.from&&n.length){let s=/^\s*/.exec(i.state.sliceDoc(n.from,Math.min(n.from+100,n.to)))[0].length;s&&e.head!=n.from+s&&(r=v.cursor(n.from+s))}return r}var Vb=i=>xt(i,e=>pi(i,e,!0)),Db=i=>xt(i,e=>pi(i,e,!1)),Yb=i=>xt(i,e=>pi(i,e,!Ae(i))),Ib=i=>xt(i,e=>pi(i,e,Ae(i))),Bb=i=>xt(i,e=>v.cursor(i.lineBlockAt(e.head).from,1)),Ub=i=>xt(i,e=>v.cursor(i.lineBlockAt(e.head).to,-1));function Gb(i,e,t){let n=!1,r=xn(i.selection,s=>{let o=ji(i,s.head,-1)||ji(i,s.head,1)||s.head>0&&ji(i,s.head-1,1)||s.headGb(i,e,!1);function ft(i,e,t){let n=xn(i.state.selection,r=>{r.undirectional&&r.head>=r.anchor!=e&&(r=v.range(r.head,r.anchor));let s=t(r);return v.range(r.anchor,s.head,s.goalColumn,s.bidiLevel||void 0,s.assoc)});return n.eq(i.state.selection)?!1:(i.dispatch(kt(i.state,n)),!0)}function LO(i,e){return ft(i,e,t=>i.moveByChar(t,e))}var MO=i=>LO(i,!Ae(i)),WO=i=>LO(i,Ae(i));function jO(i,e){return ft(i,e,t=>i.moveByGroup(t,e))}var Fb=i=>jO(i,!Ae(i)),Hb=i=>jO(i,Ae(i));var Kb=i=>{let e=!Ae(i);return ft(i,e,t=>Vs(i.state,t,e))},Jb=i=>{let e=Ae(i);return ft(i,e,t=>Vs(i.state,t,e))};function VO(i,e){return ft(i,e,t=>i.moveVertically(t,e))}var DO=i=>VO(i,!1),YO=i=>VO(i,!0);function IO(i,e){return ft(i,e,t=>i.moveVertically(t,e,EO(i).height))}var dO=i=>IO(i,!1),pO=i=>IO(i,!0),eS=i=>ft(i,!0,e=>pi(i,e,!0)),tS=i=>ft(i,!1,e=>pi(i,e,!1)),iS=i=>{let e=!Ae(i);return ft(i,e,t=>pi(i,t,e))},nS=i=>{let e=Ae(i);return ft(i,e,t=>pi(i,t,e))},rS=i=>ft(i,!1,e=>v.cursor(i.lineBlockAt(e.head).from)),sS=i=>ft(i,!0,e=>v.cursor(i.lineBlockAt(e.head).to)),mO=({state:i,dispatch:e})=>(e(kt(i,{anchor:0})),!0),gO=({state:i,dispatch:e})=>(e(kt(i,{anchor:i.doc.length})),!0),QO=({state:i,dispatch:e})=>(e(kt(i,{anchor:i.selection.main.anchor,head:0})),!0),bO=({state:i,dispatch:e})=>(e(kt(i,{anchor:i.selection.main.anchor,head:i.doc.length})),!0),oS=({state:i,dispatch:e})=>(e(i.update({selection:{anchor:0,head:i.doc.length},userEvent:"select"})),!0),aS=({state:i,dispatch:e})=>{let t=Ds(i).map(({from:n,to:r})=>v.range(n,Math.min(r+1,i.doc.length)));return e(i.update({selection:v.create(t),userEvent:"select"})),!0},lS=({state:i,dispatch:e})=>{let t=xn(i.selection,n=>{let r=B(i),s=r.resolveStack(n.from,1);if(n.empty){let o=r.resolveStack(n.from,-1);o.node.from>=s.node.from&&o.node.to<=s.node.to&&(s=o)}for(let o=s;o;o=o.next){let{node:a}=o;if((a.from=n.to||a.to>n.to&&a.from<=n.from)&&o.next)return v.range(a.to,a.from)}return n});return t.eq(i.selection)?!1:(e(kt(i,t)),!0)};function BO(i,e){let{state:t}=i,n=t.selection,r=t.selection.ranges.slice();for(let s of t.selection.ranges){let o=t.doc.lineAt(s.head);if(e?o.to0)for(let a=s;;){let l=i.moveVertically(a,e);if(l.heado.to){r.some(c=>c.head==l.head)||r.push(l);break}else{if(l.head==a.head)break;a=l}}}return r.length==n.ranges.length?!1:(i.dispatch(kt(t,v.create(r,r.length-1))),!0)}var cS=i=>BO(i,!1),hS=i=>BO(i,!0),fS=({state:i,dispatch:e})=>{let t=i.selection,n=null;return t.ranges.length>1?n=v.create([t.main]):t.main.empty||(n=v.create([v.cursor(t.main.head)])),n?(e(kt(i,n)),!0):!1};function Or(i,e){if(i.state.readOnly)return!1;let t="delete.selection",{state:n}=i,r=n.changeByRange(s=>{let{from:o,to:a}=s;if(o==a){let l=e(s);lo&&(t="delete.forward",l=Ls(i,l,!0)),o=Math.min(o,l),a=Math.max(a,l)}else o=Ls(i,o,!1),a=Ls(i,a,!0);return o==a?{range:s}:{changes:{from:o,to:a},range:v.cursor(o,or(i)))n.between(e,e,(r,s)=>{re&&(e=t?s:r)});return e}var UO=(i,e,t)=>Or(i,n=>{let r=n.from,{state:s}=i,o=s.doc.lineAt(r),a,l;if(t&&!e&&r>o.from&&rUO(i,!1,!0);var GO=i=>UO(i,!0,!1),NO=(i,e)=>Or(i,t=>{let n=t.head,{state:r}=i,s=r.doc.lineAt(n),o=r.charCategorizer(n);for(let a=null;;){if(n==(e?s.to:s.from)){n==t.head&&s.number!=(e?r.doc.lines:1)&&(n+=e?1:-1);break}let l=ke(s.text,n-s.from,e)+s.from,c=s.text.slice(Math.min(n,l)-s.from,Math.max(n,l)-s.from),h=o(c);if(a!=null&&h!=a)break;(c!=" "||n!=t.head)&&(a=h),n=l}return n}),FO=i=>NO(i,!1),uS=i=>NO(i,!0);var OS=i=>Or(i,e=>{let t=i.lineBlockAt(e.head).to;return e.headOr(i,e=>{let t=i.moveToLineBoundary(e,!1).head;return e.head>t?t:Math.max(0,e.head-1)}),pS=i=>Or(i,e=>{let t=i.moveToLineBoundary(e,!0).head;return e.head{if(i.readOnly)return!1;let t=i.changeByRange(n=>({changes:{from:n.from,to:n.to,insert:H.of(["",""])},range:v.cursor(n.from)}));return e(i.update(t,{scrollIntoView:!0,userEvent:"input"})),!0},gS=({state:i,dispatch:e})=>{if(i.readOnly)return!1;let t=i.changeByRange(n=>{if(!n.empty||n.from==0||n.from==i.doc.length)return{range:n};let r=n.from,s=i.doc.lineAt(r),o=r==s.from?r-1:ke(s.text,r-s.from,!1)+s.from,a=r==s.to?r+1:ke(s.text,r-s.from,!0)+s.from;return{changes:{from:o,to:a,insert:i.doc.slice(r,a).append(i.doc.slice(o,r))},range:v.cursor(a)}});return t.changes.empty?!1:(e(i.update(t,{scrollIntoView:!0,userEvent:"move.character"})),!0)};function Ds(i){let e=[],t=-1;for(let n of i.selection.ranges){let r=i.doc.lineAt(n.from),s=i.doc.lineAt(n.to);if(!n.empty&&n.to==s.from&&(s=i.doc.lineAt(n.to-1)),t>=r.number){let o=e[e.length-1];o.to=s.to,o.ranges.push(n)}else e.push({from:r.from,to:s.to,ranges:[n]});t=s.number+1}return e}function HO(i,e,t){if(i.readOnly)return!1;let n=[],r=[];for(let s of Ds(i)){if(t?s.to==i.doc.length:s.from==0)continue;let o=i.doc.lineAt(t?s.to+1:s.from-1),a=o.length+1;if(t){n.push({from:s.to,to:o.to},{from:s.from,insert:o.text+i.lineBreak});for(let l of s.ranges)r.push(v.range(Math.min(i.doc.length,l.anchor+a),Math.min(i.doc.length,l.head+a)))}else{n.push({from:o.from,to:s.from},{from:s.to,insert:i.lineBreak+o.text});for(let l of s.ranges)r.push(v.range(l.anchor-a,l.head-a))}}return n.length?(e(i.update({changes:n,scrollIntoView:!0,selection:v.create(r,i.selection.mainIndex),userEvent:"move.line"})),!0):!1}var QS=({state:i,dispatch:e})=>HO(i,e,!1),bS=({state:i,dispatch:e})=>HO(i,e,!0);function KO(i,e,t){if(i.readOnly)return!1;let n=[];for(let s of Ds(i))t?n.push({from:s.from,insert:i.doc.slice(s.from,s.to)+i.lineBreak}):n.push({from:s.to,insert:i.lineBreak+i.doc.slice(s.from,s.to)});let r=i.changes(n);return e(i.update({changes:r,selection:i.selection.map(r,t?1:-1),scrollIntoView:!0,userEvent:"input.copyline"})),!0}var SS=({state:i,dispatch:e})=>KO(i,e,!1),yS=({state:i,dispatch:e})=>KO(i,e,!0),kS=i=>{if(i.state.readOnly)return!1;let{state:e}=i,t=e.changes(Ds(e).map(({from:r,to:s})=>(r>0?r--:s{let s;if(i.lineWrapping){let o=i.lineBlockAt(r.head),a=i.coordsAtPos(r.head,r.assoc||1);a&&(s=o.bottom+i.documentTop-a.bottom+i.defaultLineHeight/2)}return i.moveVertically(r,!0,s)}).map(t);return i.dispatch({changes:t,selection:n,scrollIntoView:!0,userEvent:"delete.line"}),!0};function xS(i,e){if(/\(\)|\[\]|\{\}/.test(i.sliceDoc(e-1,e+1)))return{from:e,to:e};let t=B(i).resolveInner(e),n=t.childBefore(e),r=t.childAfter(e),s;return n&&r&&n.to<=e&&r.from>=e&&(s=n.type.prop(I.closedBy))&&s.indexOf(r.name)>-1&&i.doc.lineAt(n.to).from==i.doc.lineAt(r.from).from&&!/\S/.test(i.sliceDoc(n.to,r.from))?{from:n.to,to:r.from}:null}var SO=JO(!1),wS=JO(!0);function JO(i){return({state:e,dispatch:t})=>{if(e.readOnly)return!1;let n=e.changeByRange(r=>{let{from:s,to:o}=r,a=e.doc.lineAt(s),l=!i&&s==o&&xS(e,s);i&&(s=o=(o<=a.to?a:e.doc.lineAt(o)).to);let c=new Wi(e,{simulateBreak:s,simulateDoubleBreak:!!l}),h=wl(c,s);for(h==null&&(h=Fe(/^\s*/.exec(e.doc.lineAt(s).text)[0],e.tabSize));oa.from&&s{let r=[];for(let o=n.from;o<=n.to;){let a=i.doc.lineAt(o);a.number>t&&(n.empty||n.to>a.from)&&(e(a,r,n),t=a.number),o=a.to+1}let s=i.changes(r);return{changes:r,range:v.range(s.mapPos(n.anchor,1),s.mapPos(n.head,1))}})}var PS=({state:i,dispatch:e})=>{if(i.readOnly)return!1;let t=Object.create(null),n=new Wi(i,{overrideIndentation:s=>{let o=t[s];return o??-1}}),r=ql(i,(s,o,a)=>{let l=wl(n,s.from);if(l==null)return;/\S/.test(s.text)||(l=0);let c=/^\s*/.exec(s.text)[0],h=fr(i,l);(c!=h||a.fromi.readOnly?!1:(e(i.update(ql(i,(t,n)=>{n.push({from:t.from,insert:i.facet(Rt)})}),{userEvent:"input.indent"})),!0),El=({state:i,dispatch:e})=>i.readOnly?!1:(e(i.update(ql(i,(t,n)=>{let r=/^\s*/.exec(t.text)[0];if(!r)return;let s=Fe(r,i.tabSize),o=0,a=fr(i,Math.max(0,s-di(i)));for(;o(i.setTabFocusMode(),!0);var zl=({state:i,dispatch:e})=>i.selection.ranges.some(t=>!t.empty)?ed({state:i,dispatch:e}):(e(i.update(i.replaceSelection(" "),{scrollIntoView:!0,userEvent:"input"})),!0),$S=[{key:"Ctrl-b",run:XO,shift:MO,preventDefault:!0},{key:"Ctrl-f",run:_O,shift:WO},{key:"Ctrl-p",run:ZO,shift:DO},{key:"Ctrl-n",run:qO,shift:YO},{key:"Ctrl-a",run:Bb,shift:rS},{key:"Ctrl-e",run:Ub,shift:sS},{key:"Ctrl-d",run:GO},{key:"Ctrl-h",run:Rl},{key:"Ctrl-k",run:OS},{key:"Ctrl-Alt-h",run:FO},{key:"Ctrl-o",run:mS},{key:"Ctrl-t",run:gS},{key:"Ctrl-v",run:_l}],TS=[{key:"ArrowLeft",run:XO,shift:MO,preventDefault:!0},{key:"Mod-ArrowLeft",mac:"Alt-ArrowLeft",run:zb,shift:Fb,preventDefault:!0},{mac:"Cmd-ArrowLeft",run:Yb,shift:iS,preventDefault:!0},{key:"ArrowRight",run:_O,shift:WO,preventDefault:!0},{key:"Mod-ArrowRight",mac:"Alt-ArrowRight",run:Lb,shift:Hb,preventDefault:!0},{mac:"Cmd-ArrowRight",run:Ib,shift:nS,preventDefault:!0},{key:"ArrowUp",run:ZO,shift:DO,preventDefault:!0},{mac:"Cmd-ArrowUp",run:mO,shift:QO},{mac:"Ctrl-ArrowUp",run:OO,shift:dO},{key:"ArrowDown",run:qO,shift:YO,preventDefault:!0},{mac:"Cmd-ArrowDown",run:gO,shift:bO},{mac:"Ctrl-ArrowDown",run:_l,shift:pO},{key:"PageUp",run:OO,shift:dO},{key:"PageDown",run:_l,shift:pO},{key:"Home",run:Db,shift:tS,preventDefault:!0},{key:"Mod-Home",run:mO,shift:QO},{key:"End",run:Vb,shift:eS,preventDefault:!0},{key:"Mod-End",run:gO,shift:bO},{key:"Enter",run:SO,shift:SO},{key:"Mod-a",run:oS},{key:"Backspace",run:Rl,shift:Rl,preventDefault:!0},{key:"Delete",run:GO,preventDefault:!0},{key:"Mod-Backspace",mac:"Alt-Backspace",run:FO,preventDefault:!0},{key:"Mod-Delete",mac:"Alt-Delete",run:uS,preventDefault:!0},{mac:"Mod-Backspace",run:dS,preventDefault:!0},{mac:"Mod-Delete",run:pS,preventDefault:!0}].concat($S.map(i=>({mac:i.key,run:i.run,shift:i.shift}))),td=[{key:"Alt-ArrowLeft",mac:"Ctrl-ArrowLeft",run:Wb,shift:Kb},{key:"Alt-ArrowRight",mac:"Ctrl-ArrowRight",run:jb,shift:Jb},{key:"Alt-ArrowUp",run:QS},{key:"Shift-Alt-ArrowUp",run:SS},{key:"Alt-ArrowDown",run:bS},{key:"Shift-Alt-ArrowDown",run:yS},{key:"Mod-Alt-ArrowUp",run:cS},{key:"Mod-Alt-ArrowDown",run:hS},{key:"Escape",run:fS},{key:"Mod-Enter",run:wS},{key:"Alt-l",mac:"Ctrl-l",run:aS},{key:"Mod-i",run:lS,preventDefault:!0},{key:"Mod-[",run:El},{key:"Mod-]",run:ed},{key:"Mod-Alt-\\",run:PS},{key:"Shift-Mod-k",run:kS},{key:"Shift-Mod-\\",run:Nb},{key:"Mod-/",run:Sb},{key:"Alt-A",run:kb},{key:"Ctrl-m",mac:"Shift-Alt-m",run:vS}].concat(TS);var Ys=class{constructor(e,t,n,r){this.state=e,this.pos=t,this.explicit=n,this.view=r,this.abortListeners=[],this.abortOnDocChange=!1}tokenBefore(e){let t=B(this.state).resolveInner(this.pos,-1);for(;t&&e.indexOf(t.name)<0;)t=t.parent;return t?{from:t.from,to:this.pos,text:this.state.sliceDoc(t.from,this.pos),type:t.type}:null}matchBefore(e){let t=this.state.doc.lineAt(this.pos),n=Math.max(t.from,this.pos-250),r=t.text.slice(n-t.from,this.pos-t.from),s=r.search(XS(e,!1));return s<0?null:{from:n+s,to:this.pos,text:r.slice(s)}}get aborted(){return this.abortListeners==null}addEventListener(e,t,n){e=="abort"&&this.abortListeners&&(this.abortListeners.push(t),n&&n.onDocChange&&(this.abortOnDocChange=!0))}};function id(i){let e=Object.keys(i).join(""),t=/\w/.test(e);return t&&(e=e.replace(/\w/g,"")),`[${t?"\\w":""}${e.replace(/[^\w\s]/g,"\\$&")}]`}function CS(i){let e=Object.create(null),t=Object.create(null);for(let{label:r}of i){e[r[0]]=!0;for(let s=1;stypeof r=="string"?{label:r}:r),[t,n]=e.every(r=>/^\w+$/.test(r.label))?[/\w*$/,/\w+$/]:CS(e);return r=>{let s=r.matchBefore(n);return s||r.explicit?{from:s?s.from:r.pos,options:e,validFor:t}:null}}function Bs(i,e){return t=>{for(let n=B(t.state).resolveInner(t.pos,-1);n;n=n.parent){if(i.indexOf(n.name)>-1)return null;if(n.type.isTop)break}return e(t)}}function XS(i,e){var t;let{source:n}=i,r=e&&n[0]!="^",s=n[n.length-1]!="$";return!r&&!s?i:new RegExp(`${r?"^":""}(?:${n})${s?"$":""}`,(t=i.flags)!==null&&t!==void 0?t:i.ignoreCase?"i":"")}var _S=_e.define();var Z$=typeof navigator=="object"&&/Win/.test(navigator.platform);var RS=E.baseTheme({".cm-tooltip.cm-tooltip-autocomplete":{"& > ul":{fontFamily:"monospace",whiteSpace:"nowrap",overflow:"hidden auto",maxWidth_fallback:"700px",maxWidth:"min(700px, 95vw)",minWidth:"250px",maxHeight:"10em",height:"100%",listStyle:"none",margin:0,padding:0,"& > li, & > completion-section":{padding:"1px 3px",lineHeight:1.2},"& > li":{overflowX:"hidden",textOverflow:"ellipsis",cursor:"pointer"},"& > completion-section":{display:"list-item",borderBottom:"1px solid silver",paddingLeft:"0.5em",opacity:.7}}},"&light .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#17c",color:"white"},"&light .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#777"},"&dark .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#347",color:"white"},"&dark .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#444"},".cm-completionListIncompleteTop:before, .cm-completionListIncompleteBottom:after":{content:'"\xB7\xB7\xB7"',opacity:.5,display:"block",textAlign:"center",cursor:"pointer"},".cm-tooltip.cm-completionInfo":{position:"absolute",padding:"3px 9px",width:"max-content",maxWidth:"400px",boxSizing:"border-box",whiteSpace:"pre-line"},".cm-completionInfo.cm-completionInfo-left":{right:"100%"},".cm-completionInfo.cm-completionInfo-right":{left:"100%"},".cm-completionInfo.cm-completionInfo-left-narrow":{right:"30px"},".cm-completionInfo.cm-completionInfo-right-narrow":{left:"30px"},"&light .cm-snippetField":{backgroundColor:"#00000022"},"&dark .cm-snippetField":{backgroundColor:"#ffffff22"},".cm-snippetFieldPosition":{verticalAlign:"text-top",width:0,height:"1.15em",display:"inline-block",margin:"0 -0.7px -.7em",borderLeft:"1.4px dotted #888"},".cm-completionMatchedText":{textDecoration:"underline"},".cm-completionDetail":{marginLeft:"0.5em",fontStyle:"italic"},".cm-completionIcon":{fontSize:"90%",width:".8em",display:"inline-block",textAlign:"center",paddingRight:".6em",opacity:"0.6",boxSizing:"content-box"},".cm-completionIcon-function, .cm-completionIcon-method":{"&:after":{content:"'\u0192'"}},".cm-completionIcon-class":{"&:after":{content:"'\u25CB'"}},".cm-completionIcon-interface":{"&:after":{content:"'\u25CC'"}},".cm-completionIcon-variable":{"&:after":{content:"'\u{1D465}'"}},".cm-completionIcon-constant":{"&:after":{content:"'\u{1D436}'"}},".cm-completionIcon-type":{"&:after":{content:"'\u{1D461}'"}},".cm-completionIcon-enum":{"&:after":{content:"'\u222A'"}},".cm-completionIcon-property":{"&:after":{content:"'\u25A1'"}},".cm-completionIcon-keyword":{"&:after":{content:"'\u{1F511}\uFE0E'"}},".cm-completionIcon-namespace":{"&:after":{content:"'\u25A2'"}},".cm-completionIcon-text":{"&:after":{content:"'abc'",fontSize:"50%",verticalAlign:"middle"}}}),Ml=class{constructor(e,t,n,r){this.field=e,this.line=t,this.from=n,this.to=r}},Wl=class i{constructor(e,t,n){this.field=e,this.from=t,this.to=n}map(e){let t=e.mapPos(this.from,-1,me.TrackDel),n=e.mapPos(this.to,1,me.TrackDel);return t==null||n==null?null:new i(this.field,t,n)}},jl=class i{constructor(e,t){this.lines=e,this.fieldPositions=t}instantiate(e,t){let n=[],r=[t],s=e.doc.lineAt(t),o=/^\s*/.exec(s.text)[0];for(let l of this.lines){if(n.length){let c=o,h=/^\t*/.exec(l)[0].length;for(let f=0;fnew Wl(l.field,r[l.line]+l.from,r[l.line]+l.to));return{text:n,ranges:a}}static parse(e){let t=[],n=[],r=[],s;for(let o of e.split(/\r\n?|\n/)){for(;s=/[#$]\{(?:(\d+)(?::([^{}]*))?|((?:\\[{}]|[^{}])*))\}/.exec(o);){let a=s[1]?+s[1]:null,l=s[2]||s[3]||"",c=-1;a===0&&(a=1e9);let h=l.replace(/\\[{}]/g,f=>f[1]);for(let f=0;f=c&&u.field++}for(let f of r)if(f.line==n.length&&f.from>s.index){let u=s[2]?3+(s[1]||"").length:2;f.from-=u,f.to-=u}r.push(new Ml(c,n.length,s.index,s.index+h.length)),o=o.slice(0,s.index)+l+o.slice(s.index+s[0].length)}o=o.replace(/\\([{}])/g,(a,l,c)=>{for(let h of r)h.line==n.length&&h.from>c&&(h.from--,h.to--);return l}),n.push(o)}return new i(n,r)}},AS=Z.widget({widget:new class extends Re{toDOM(){let i=document.createElement("span");return i.className="cm-snippetFieldPosition",i}ignoreEvent(){return!1}}}),ZS=Z.mark({class:"cm-snippetField"}),wn=class i{constructor(e,t){this.ranges=e,this.active=t,this.deco=Z.set(e.map(n=>(n.from==n.to?AS:ZS).range(n.from,n.to)),!0)}map(e){let t=[];for(let n of this.ranges){let r=n.map(e);if(!r)return null;t.push(r)}return new i(t,this.active)}selectionInsideField(e){return e.ranges.every(t=>this.ranges.some(n=>n.field==this.active&&n.from<=t.from&&n.to>=t.to))}},mr=ie.define({map(i,e){return i&&i.map(e)}}),qS=ie.define(),dr=he.define({create(){return null},update(i,e){for(let t of e.effects){if(t.is(mr))return t.value;if(t.is(qS)&&i)return new wn(i.ranges,t.value)}return i&&e.docChanged&&(i=i.map(e.changes)),i&&e.selection&&!i.selectionInsideField(e.selection)&&(i=null),i},provide:i=>E.decorations.from(i,e=>e?e.deco:Z.none)});function Vl(i,e){return v.create(i.filter(t=>t.field==e).map(t=>v.range(t.from,t.to)))}function ES(i){let e=jl.parse(i);return(t,n,r,s)=>{let{text:o,ranges:a}=e.instantiate(t.state,r),{main:l}=t.state.selection,c={changes:{from:r,to:s==l.from?l.to:s,insert:H.of(o)},scrollIntoView:!0,annotations:n?[_S.of(n),de.userEvent.of("input.complete")]:void 0};if(a.length&&(c.selection=Vl(a,0)),a.some(h=>h.field>0)){let h=new wn(a,0),f=c.effects=[mr.of(h)];t.state.field(dr,!1)===void 0&&f.push(ie.appendConfig.of([dr,jS,VS,RS]))}t.dispatch(t.state.update(c))}}function od(i){return({state:e,dispatch:t})=>{let n=e.field(dr,!1);if(!n||i<0&&n.active==0)return!1;let r=n.active+i,s=i>0&&!n.ranges.some(o=>o.field==r+i);return t(e.update({selection:Vl(n.ranges,r),effects:mr.of(s?null:new wn(n.ranges,r)),scrollIntoView:!0})),!0}}var zS=({state:i,dispatch:e})=>i.field(dr,!1)?(e(i.update({effects:mr.of(null)})),!0):!1,LS=od(1),MS=od(-1);var WS=[{key:"Tab",run:LS,shift:MS},{key:"Escape",run:zS}],nd=Y.define({combine(i){return i.length?i[0]:WS}}),jS=pt.highest(qi.compute([nd],i=>i.facet(nd)));function ce(i,e){return{...e,apply:ES(i)}}var VS=E.domEventHandlers({mousedown(i,e){let t=e.state.field(dr,!1),n;if(!t||(n=e.posAtCoords({x:i.clientX,y:i.clientY}))==null)return!1;let r=t.ranges.find(s=>s.from<=n&&s.to>=n);return!r||r.field==t.active?!1:(e.dispatch({selection:Vl(t.ranges,r.field),effects:mr.of(t.ranges.some(s=>s.field>r.field)?new wn(t.ranges,r.field):null),scrollIntoView:!0}),!0)}});var pr={brackets:["(","[","{","'",'"'],before:")]}:;>",stringPrefixes:[]},Di=ie.define({map(i,e){let t=e.mapPos(i,-1,me.TrackAfter);return t??void 0}}),Dl=new class extends it{};Dl.startSide=1;Dl.endSide=-1;var ad=he.define({create(){return oe.empty},update(i,e){if(i=i.map(e.changes),e.selection){let t=e.state.doc.lineAt(e.selection.main.head);i=i.update({filter:n=>n>=t.from&&n<=t.to})}for(let t of e.effects)t.is(Di)&&(i=i.update({add:[Dl.range(t.value,t.value+1)]}));return i}});function ld(){return[YS,ad]}var Ll="()[]{}<>\xAB\xBB\xBB\xAB\uFF3B\uFF3D\uFF5B\uFF5D";function cd(i){for(let e=0;e{if((DS?i.composing:i.compositionStarted)||i.state.readOnly)return!1;let r=i.state.selection.main;if(n.length>2||n.length==2&&on(ni(n,0))==1||e!=r.from||t!=r.to)return!1;let s=BS(i.state,n);return s?(i.dispatch(s),!0):!1}),IS=({state:i,dispatch:e})=>{if(i.readOnly)return!1;let n=hd(i,i.selection.main.head).brackets||pr.brackets,r=null,s=i.changeByRange(o=>{if(o.empty){let a=US(i.doc,o.head);for(let l of n)if(l==a&&Us(i.doc,o.head)==cd(ni(l,0)))return{changes:{from:o.head-l.length,to:o.head+l.length},range:v.cursor(o.head-l.length)}}return{range:r=o}});return r||e(i.update(s,{scrollIntoView:!0,userEvent:"delete.backward"})),!r},fd=[{key:"Backspace",run:IS}];function BS(i,e){let t=hd(i,i.selection.main.head),n=t.brackets||pr.brackets;for(let r of n){let s=cd(ni(r,0));if(e==r)return s==r?FS(i,r,n.indexOf(r+r+r)>-1,t):GS(i,r,s,t.before||pr.before);if(e==s&&ud(i,i.selection.main.from))return NS(i,r,s)}return null}function ud(i,e){let t=!1;return i.field(ad).between(0,i.doc.length,n=>{n==e&&(t=!0)}),t}function Us(i,e){let t=i.sliceString(e,e+2);return t.slice(0,on(ni(t,0)))}function US(i,e){let t=i.sliceString(e-2,e);return on(ni(t,0))==t.length?t:t.slice(1)}function GS(i,e,t,n){let r=null,s=i.changeByRange(o=>{if(!o.empty)return{changes:[{insert:e,from:o.from},{insert:t,from:o.to}],effects:Di.of(o.to+e.length),range:v.range(o.anchor+e.length,o.head+e.length)};let a=Us(i.doc,o.head);return!a||/\s/.test(a)||n.indexOf(a)>-1?{changes:{insert:e+t,from:o.head},effects:Di.of(o.head+e.length),range:v.cursor(o.head+e.length)}:{range:r=o}});return r?null:i.update(s,{scrollIntoView:!0,userEvent:"input.type"})}function NS(i,e,t){let n=null,r=i.changeByRange(s=>s.empty&&Us(i.doc,s.head)==t?{changes:{from:s.head,to:s.head+t.length,insert:t},range:v.cursor(s.head+t.length)}:n={range:s});return n?null:i.update(r,{scrollIntoView:!0,userEvent:"input.type"})}function FS(i,e,t,n){let r=n.stringPrefixes||pr.stringPrefixes,s=null,o=i.changeByRange(a=>{if(!a.empty)return{changes:[{insert:e,from:a.from},{insert:e,from:a.to}],effects:Di.of(a.to+e.length),range:v.range(a.anchor+e.length,a.head+e.length)};let l=a.head,c=Us(i.doc,l),h;if(c==e){if(rd(i,l))return{changes:{insert:e+e,from:l},effects:Di.of(l+e.length),range:v.cursor(l+e.length)};if(ud(i,l)){let u=t&&i.sliceDoc(l,l+e.length*3)==e+e+e?e+e+e:e;return{changes:{from:l,to:l+u.length,insert:u},range:v.cursor(l+u.length)}}}else{if(t&&i.sliceDoc(l-2*e.length,l)==e+e&&(h=sd(i,l-2*e.length,r))>-1&&rd(i,h))return{changes:{insert:e+e+e+e,from:l},effects:Di.of(l+e.length),range:v.cursor(l+e.length)};if(i.charCategorizer(l)(c)!=Ee.Word&&sd(i,l,r)>-1&&!HS(i,l,e,r))return{changes:{insert:e+e,from:l},effects:Di.of(l+e.length),range:v.cursor(l+e.length)}}return{range:s=a}});return s?null:i.update(o,{scrollIntoView:!0,userEvent:"input.type"})}function rd(i,e){let t=B(i).resolveInner(e+1);return t.parent&&t.from==e}function HS(i,e,t,n){let r=B(i).resolveInner(e,-1),s=n.reduce((o,a)=>Math.max(o,a.length),0);for(let o=0;o<5;o++){let a=i.sliceDoc(r.from,Math.min(r.to,r.from+t.length+s)),l=a.indexOf(t);if(!l||l>-1&&n.indexOf(a.slice(0,l))>-1){let h=r.firstChild;for(;h&&h.from==r.from&&h.to-h.from>t.length+l;){if(i.sliceDoc(h.to-t.length,h.to)==t)return!1;h=h.firstChild}return!0}let c=r.to==e&&r.parent;if(!c)break;r=c}return!1}function sd(i,e,t){let n=i.charCategorizer(e);if(n(i.sliceDoc(e-1,e))!=Ee.Word)return e;for(let r of t){let s=e-r.length;if(i.sliceDoc(s,e)==r&&n(i.sliceDoc(s-1,s))!=Ee.Word)return s}return-1}var Fs=class i{static create(e,t,n,r,s){let o=r+(r<<8)+e+(t<<4)|0;return new i(e,t,n,o,s,[],[])}constructor(e,t,n,r,s,o,a){this.type=e,this.value=t,this.from=n,this.hash=r,this.end=s,this.children=o,this.positions=a,this.hashProp=[[I.contextHash,r]]}addChild(e,t){e.prop(I.contextHash)!=this.hash&&(e=new G(e.type,e.children,e.positions,e.length,this.hashProp)),this.children.push(e),this.positions.push(t)}toTree(e,t=this.end){let n=this.children.length-1;return n>=0&&(t=Math.max(t,this.positions[n]+this.children[n].length+this.from)),new G(e.types[this.type],this.children,this.positions,t-this.from).balance({makeTree:(r,s,o)=>new G(Oe.none,r,s,o,this.hashProp)})}},A;(function(i){i[i.Document=1]="Document",i[i.CodeBlock=2]="CodeBlock",i[i.FencedCode=3]="FencedCode",i[i.Blockquote=4]="Blockquote",i[i.HorizontalRule=5]="HorizontalRule",i[i.BulletList=6]="BulletList",i[i.OrderedList=7]="OrderedList",i[i.ListItem=8]="ListItem",i[i.ATXHeading1=9]="ATXHeading1",i[i.ATXHeading2=10]="ATXHeading2",i[i.ATXHeading3=11]="ATXHeading3",i[i.ATXHeading4=12]="ATXHeading4",i[i.ATXHeading5=13]="ATXHeading5",i[i.ATXHeading6=14]="ATXHeading6",i[i.SetextHeading1=15]="SetextHeading1",i[i.SetextHeading2=16]="SetextHeading2",i[i.HTMLBlock=17]="HTMLBlock",i[i.LinkReference=18]="LinkReference",i[i.Paragraph=19]="Paragraph",i[i.CommentBlock=20]="CommentBlock",i[i.ProcessingInstructionBlock=21]="ProcessingInstructionBlock",i[i.Escape=22]="Escape",i[i.Entity=23]="Entity",i[i.HardBreak=24]="HardBreak",i[i.Emphasis=25]="Emphasis",i[i.StrongEmphasis=26]="StrongEmphasis",i[i.Link=27]="Link",i[i.Image=28]="Image",i[i.InlineCode=29]="InlineCode",i[i.HTMLTag=30]="HTMLTag",i[i.Comment=31]="Comment",i[i.ProcessingInstruction=32]="ProcessingInstruction",i[i.Autolink=33]="Autolink",i[i.HeaderMark=34]="HeaderMark",i[i.QuoteMark=35]="QuoteMark",i[i.ListMark=36]="ListMark",i[i.LinkMark=37]="LinkMark",i[i.EmphasisMark=38]="EmphasisMark",i[i.CodeMark=39]="CodeMark",i[i.CodeText=40]="CodeText",i[i.CodeInfo=41]="CodeInfo",i[i.LinkTitle=42]="LinkTitle",i[i.LinkLabel=43]="LinkLabel",i[i.URL=44]="URL"})(A||(A={}));var Bl=class{constructor(e,t){this.start=e,this.content=t,this.marks=[],this.parsers=[]}},Ul=class{constructor(){this.text="",this.baseIndent=0,this.basePos=0,this.depth=0,this.markers=[],this.pos=0,this.indent=0,this.next=-1}forward(){this.basePos>this.pos&&this.forwardInner()}forwardInner(){let e=this.skipSpace(this.basePos);this.indent=this.countIndent(e,this.pos,this.indent),this.pos=e,this.next=e==this.text.length?-1:this.text.charCodeAt(e)}skipSpace(e){return Qr(this.text,e)}reset(e){for(this.text=e,this.baseIndent=this.basePos=this.pos=this.indent=0,this.forwardInner(),this.depth=1;this.markers.length;)this.markers.pop()}moveBase(e){this.basePos=e,this.baseIndent=this.countIndent(e,this.pos,this.indent)}moveBaseColumn(e){this.baseIndent=e,this.basePos=this.findColumn(e)}addMarker(e){this.markers.push(e)}countIndent(e,t=0,n=0){for(let r=t;r=e.stack[t.depth+1].value+t.baseIndent)return!0;if(t.indent>=t.baseIndent+4)return!1;let n=(i.type==A.OrderedList?sc:rc)(t,e,!1);return n>0&&(i.type!=A.BulletList||nc(t,e,!1)<0)&&t.text.charCodeAt(t.pos+n-1)==i.value}var wd={[A.Blockquote](i,e,t){return t.next!=62?!1:(t.markers.push(ne(A.QuoteMark,e.lineStart+t.pos,e.lineStart+t.pos+1)),t.moveBase(t.pos+(ut(t.text.charCodeAt(t.pos+1))?2:1)),i.end=e.lineStart+t.text.length,!0)},[A.ListItem](i,e,t){return t.indent-1?!1:(t.moveBaseColumn(t.baseIndent+i.value),!0)},[A.OrderedList]:Od,[A.BulletList]:Od,[A.Document](){return!0}};function ut(i){return i==32||i==9||i==10||i==13}function Qr(i,e=0){for(;et&&ut(i.charCodeAt(e-1));)e--;return e}function Pd(i){if(i.next!=96&&i.next!=126)return-1;let e=i.pos+1;for(;e-1&&i.depth==e.stack.length&&e.parser.leafBlockParsers.indexOf(Ad.SetextHeading)>-1||n<3?-1:1}function $d(i,e){for(let t=i.stack.length-1;t>=0;t--)if(i.stack[t].type==e)return!0;return!1}function rc(i,e,t){return(i.next==45||i.next==43||i.next==42)&&(i.pos==i.text.length-1||ut(i.text.charCodeAt(i.pos+1)))&&(!t||$d(e,A.BulletList)||i.skipSpace(i.pos+2)=48&&r<=57;){n++;if(n==i.text.length)return-1;r=i.text.charCodeAt(n)}return n==i.pos||n>i.pos+9||r!=46&&r!=41||ni.pos+1||i.next!=49)?-1:n+1-i.pos}function Td(i){if(i.next!=35)return-1;let e=i.pos+1;for(;e6?-1:t}function Cd(i){if(i.next!=45&&i.next!=61||i.indent>=i.baseIndent+4)return-1;let e=i.pos+1;for(;e/,_d=/\?>/,Nl=[[/^<(?:script|pre|style)(?:\s|>|$)/i,/<\/(?:script|pre|style)>/i],[/^\s*/,Rd=/\?>/,Fl=[[/^<(?:script|pre|style)(?:\s|>|$)/i,/<\/(?:script|pre|style)>/i],[/^\s*/i.exec(n);if(s)return i.append(ne(A.Comment,t,t+1+s[0].length));let o=/^\?[^]*?\?>/.exec(n);if(o)return i.append(ne(A.ProcessingInstruction,t,t+1+o[0].length));let a=/^(?:![A-Z][^]*?>|!\[CDATA\[[^]*?\]\]>|\/\s*[a-zA-Z][\w-]*\s*>|\s*[a-zA-Z][\w-]*(\s+[a-zA-Z:_][\w-.:]*(?:\s*=\s*(?:[^\s"'=<>`]+|'[^']*'|"[^"]*"))?)*\s*(\/\s*)?>)/.exec(n);return a?i.append(ne(A.HTMLTag,t,t+1+a[0].length)):-1},Emphasis(i,e,t){if(e!=95&&e!=42)return-1;let n=t+1;for(;i.char(n)==e;)n++;let r=i.slice(t-1,t),s=i.slice(n,n+1),o=yr.test(r),a=yr.test(s),l=/\s|^$/.test(r),c=/\s|^$/.test(s),h=!c&&(!a||l||o),f=!l&&(!o||c||a),u=h&&(e==42||!f||o),O=f&&(e==42||!h||a);return i.append(new We(e==95?Ed:zd,t,n,(u?1:0)|(O?2:0)))},HardBreak(i,e,t){if(e==92&&i.char(t+1)==10)return i.append(ne(A.HardBreak,t,t+2));if(e==32){let n=t+1;for(;i.char(n)==32;)n++;if(i.char(n)==10&&n>=t+2)return i.append(ne(A.HardBreak,t,n+1))}return-1},Link(i,e,t){return e==91?i.append(new We(Yi,t,t+1,1)):-1},Image(i,e,t){return e==33&&i.char(t+1)==91?i.append(new We(Js,t,t+2,1)):-1},LinkEnd(i,e,t){if(e!=93)return-1;for(let n=i.parts.length-1;n>=0;n--){let r=i.parts[n];if(r instanceof We&&(r.type==Yi||r.type==Js)){if(!r.side||i.skipSpace(r.to)==t&&!/[(\[]/.test(i.slice(t+1,t+2)))return i.parts[n]=null,-1;let s=i.takeContent(n),o=i.parts[n]=ey(i,s,r.type==Yi?A.Link:A.Image,r.from,t+1);if(r.type==Yi)for(let a=0;ae?ne(A.URL,e+t,s+t):s==i.length?null:!1}}function Md(i,e,t){let n=i.charCodeAt(e);if(n!=39&&n!=34&&n!=40)return!1;let r=n==40?41:n;for(let s=e+1,o=!1;s=this.end?-1:this.text.charCodeAt(e-this.offset)}get end(){return this.offset+this.text.length}slice(e,t){return this.text.slice(e-this.offset,t-this.offset)}append(e){return this.parts.push(e),e.to}addDelimiter(e,t,n,r,s){return this.append(new We(e,t,n,(r?1:0)|(s?2:0)))}get hasOpenLink(){for(let e=this.parts.length-1;e>=0;e--){let t=this.parts[e];if(t instanceof We&&(t.type==Yi||t.type==Js))return!0}return!1}addElement(e){return this.append(e)}resolveMarkers(e){for(let n=e;n=e;l--){let m=this.parts[l];if(m instanceof We&&m.side&1&&m.type==r.type&&!(s&&(r.side&1||m.side&2)&&(m.to-m.from+o)%3==0&&((m.to-m.from)%3||o%3))){a=m;break}}if(!a)continue;let c=r.type.resolve,h=[],f=a.from,u=r.to;if(s){let m=Math.min(2,a.to-a.from,o);f=a.to-m,u=r.from+m,c=m==1?"Emphasis":"StrongEmphasis"}a.type.mark&&h.push(this.elt(a.type.mark,f,a.to));for(let m=l+1;m=0;t--){let n=this.parts[t];if(n instanceof We&&n.type==e&&n.side&1)return t}return null}takeContent(e){let t=this.resolveMarkers(e);return this.parts.length=e,t}getDelimiterAt(e){let t=this.parts[e];return t instanceof We?t:null}skipSpace(e){return Qr(this.text,e-this.offset)+this.offset}elt(e,t,n,r){return typeof e=="string"?ne(this.parser.getNodeType(e),t,n,r):new Ks(e,t)}};kr.linkStart=Yi;kr.imageStart=Js;function ec(i,e){if(!e.length)return i;if(!i.length)return e;let t=i.slice(),n=0;for(let r of e){for(;n(e?e-1:0))return!1;if(this.fragmentEnd<0){let s=this.fragment.to;for(;s>0&&this.input.read(s-1,s)!=` -`;)s--;this.fragmentEnd=s?s-1:0}let n=this.cursor;n||(n=this.cursor=this.fragment.tree.cursor(),n.firstChild());let r=e+this.fragment.offset;for(;n.to<=r;)if(!n.parent())return!1;for(;;){if(n.from>=r)return this.fragment.from<=t;if(!n.childAfter(r))return!1}}matches(e){let t=this.cursor.tree;return t&&t.prop(I.contextHash)==e}takeNodes(e){let t=this.cursor,n=this.fragment.offset,r=this.fragmentEnd-(this.fragment.openEnd?1:0),s=e.absoluteLineStart,o=s,a=e.block.children.length,l=o,c=a;for(;;){if(t.to-n>r){if(t.type.isAnonymous&&t.firstChild())continue;break}let h=jd(t.from-n,e.ranges);if(t.to-n<=e.ranges[e.rangeI].to)e.addNode(t.tree,h);else{let f=new G(e.parser.nodeSet.types[A.Paragraph],[],[],0,e.block.hashProp);e.reusePlaceholders.set(f,t.tree),e.addNode(f,h)}if(t.type.is("Block")&&(ty.indexOf(t.type.id)<0?(o=t.to-n,a=e.block.children.length):(o=l,a=c),l=t.to-n,c=e.block.children.length),!t.nextSibling())break}for(;e.block.children.length>a;)e.block.children.pop(),e.block.positions.pop();return o-s}};function jd(i,e){let t=i;for(let n=1;nGs[i]),Object.keys(Gs).map(i=>Ad[i]),Object.keys(Gs),KS,wd,Object.keys(Il).map(i=>Il[i]),Object.keys(Il),[]);function ny(i,e,t){let n=[];for(let r=i.firstChild,s=e;;r=r.nextSibling){let o=r?r.from:t;if(o>s&&n.push({from:s,to:o}),!r)break;s=r.to}return n}function Dd(i){let{codeParser:e,htmlParser:t}=i;return{wrap:bn((r,s)=>{let o=r.type.id;if(e&&(o==A.CodeBlock||o==A.FencedCode)){let a="";if(o==A.FencedCode){let c=r.node.getChild(A.CodeInfo);c&&(a=s.read(c.from,c.to))}let l=e(a);if(l)return{parser:l,overlay:c=>c.type.id==A.CodeText,bracketed:o==A.FencedCode}}else if(t&&(o==A.HTMLBlock||o==A.HTMLTag||o==A.CommentBlock))return{parser:t,overlay:ny(r.node,r.from,r.to)};return null})}}var ry={resolve:"Strikethrough",mark:"StrikethroughMark"},sy={defineNodes:[{name:"Strikethrough",style:{"Strikethrough/...":d.strikethrough}},{name:"StrikethroughMark",style:d.processingInstruction}],parseInline:[{name:"Strikethrough",parse(i,e,t){if(e!=126||i.char(t+1)!=126||i.char(t+2)==126)return-1;let n=i.slice(t-1,t),r=i.slice(t+2,t+3),s=/\s|^$/.test(n),o=/\s|^$/.test(r),a=yr.test(n),l=yr.test(r);return i.addDelimiter(ry,t,t+2,!o&&(!l||s||a),!s&&(!a||o||l))},after:"Emphasis"}]};function br(i,e,t=0,n,r=0){let s=0,o=!0,a=-1,l=-1,c=!1,h=()=>{n.push(i.elt("TableCell",r+a,r+l,i.parser.parseInline(e.slice(a,l),r+a)))};for(let f=t;f-1)&&s++,o=!1,n&&(a>-1&&h(),n.push(i.elt("TableDelimiter",f+r,f+r+1))),a=l=-1):(c||u!=32&&u!=9)&&(a<0&&(a=f),l=f+1),c=!c&&u==92}return a>-1&&(s++,n&&h()),s}function gd(i,e){for(let t=e;t\s]*\|?(\s*:?-+:?\s*\|)+(\s*:?-+:?\s*)?$/,eo=class{constructor(){this.rows=null}nextLine(e,t,n){if(this.rows==null){this.rows=!1;let r;if((t.next==45||t.next==58||t.next==124)&&Yd.test(r=t.text.slice(t.pos))){let s=[];br(e,n.content,0,s,n.start)==br(e,r,0)&&(this.rows=[e.elt("TableHeader",n.start,n.start+n.content.length,s),e.elt("TableDelimiter",e.lineStart+t.pos,e.lineStart+t.text.length)])}}else if(this.rows){let r=[];br(e,t.text,t.pos,r,e.lineStart),this.rows.push(e.elt("TableRow",e.lineStart+t.pos,e.lineStart+t.text.length,r))}return!1}finish(e,t){return this.rows?(e.addLeafElement(t,e.elt("Table",t.start,t.start+t.content.length,this.rows)),!0):!1}},oy={defineNodes:[{name:"Table",block:!0},{name:"TableHeader",style:{"TableHeader/...":d.heading}},"TableRow",{name:"TableCell",style:d.content},{name:"TableDelimiter",style:d.processingInstruction}],parseBlock:[{name:"Table",leaf(i,e){return gd(e.content,0)?new eo:null},endLeaf(i,e,t){if(t.parsers.some(r=>r instanceof eo)||!gd(e.text,e.basePos))return!1;let n=i.peekLine();return Yd.test(n)&&br(i,e.text,e.basePos)==br(i,n,e.basePos)},before:"SetextHeading"}]},ic=class{nextLine(){return!1}finish(e,t){return e.addLeafElement(t,e.elt("Task",t.start,t.start+t.content.length,[e.elt("TaskMarker",t.start,t.start+3),...e.parser.parseInline(t.content.slice(3),t.start+3)])),!0}},ay={defineNodes:[{name:"Task",block:!0,style:d.list},{name:"TaskMarker",style:d.atom}],parseBlock:[{name:"TaskList",leaf(i,e){return/^\[[ xX]\][ \t]/.test(e.content)&&i.parentType().name=="ListItem"?new ic:null},after:"SetextHeading"}]},Qd=/(www\.)|(https?:\/\/)|([\w.+-]{1,100}@)|(mailto:|xmpp:)/gy,bd=/[\w-]+(\.[\w-]+)+(:\d+)?(\/[^\s<]*)?/gy,ly=/[\w-]+\.[\w-]+($|[/:])/,Sd=/[\w.+-]+@[\w-]+(\.[\w.-]+)+/gy,yd=/\/[a-zA-Z\d@.]+/gy;function kd(i,e,t,n){let r=0;for(let s=e;s-1)return-1;let n=e+t[0].length;for(;;){let r=i[n-1],s;if(/[?!.,:*_~]/.test(r)||r==")"&&kd(i,e,n,")")>kd(i,e,n,"("))n--;else if(r==";"&&(s=/&(?:#\d+|#x[a-f\d]+|\w+);$/.exec(i.slice(e,n))))n=e+s.index;else break}return n}function xd(i,e){Sd.lastIndex=e;let t=Sd.exec(i);if(!t)return-1;let n=t[0][t[0].length-1];return n=="_"||n=="-"?-1:e+t[0].length-(n=="."?1:0)}var hy={parseInline:[{name:"Autolink",parse(i,e,t){let n=t-i.offset;if(n&&/\w/.test(i.text[n-1]))return-1;Qd.lastIndex=n;let r=Qd.exec(i.text),s=-1;if(!r)return-1;if(r[1]||r[2]){if(s=cy(i.text,n+r[0].length),s>-1&&i.hasOpenLink){let o=/([^\[\]]|\[[^\]]*\])*/.exec(i.text.slice(n,s));s=n+o[0].length}}else r[3]?s=xd(i.text,n):(s=xd(i.text,n+r[0].length),s>-1&&r[0]=="xmpp:"&&(yd.lastIndex=s,r=yd.exec(i.text),r&&(s=r.index+r[0].length)));return s<0?-1:(i.addElement(i.elt("URL",t,s+i.offset)),s+i.offset)}}]},Id=[oy,ay,sy,hy];function Bd(i,e,t){return(n,r,s)=>{if(r!=i||n.char(s+1)==i)return-1;let o=[n.elt(t,s,s+1)];for(let a=s+1;at%3==0).concat(this.state)}]@${this.pos}${this.score?"!"+this.score:""}`}static start(e,t,n=0){let r=e.parser.context;return new i(e,[],t,n,n,0,[],0,r?new to(r,r.start):null,0,null)}get context(){return this.curContext?this.curContext.context:null}pushState(e,t){this.stack.push(this.state,t,this.bufferBase+this.buffer.length),this.state=e}reduce(e){var t;let n=e>>19,r=e&65535,{parser:s}=this.p,o=this.reducePos=2e3&&!(!((t=this.p.parser.nodeSet.types[r])===null||t===void 0)&&t.isAnonymous)&&(c==this.p.lastBigReductionStart?(this.p.bigReductionCount++,this.p.lastBigReductionSize=h):this.p.lastBigReductionSizel;)this.stack.pop();this.reduceContext(r,c)}storeNode(e,t,n,r=4,s=!1){if(e==0&&(!this.stack.length||this.stack[this.stack.length-1]0&&this.buffer[o-4]==0&&this.buffer[o-1]>-1){if(t==n)return;if(this.buffer[o-2]>=t){this.buffer[o-2]=n;return}}}if(!s||this.pos==n)this.buffer.push(e,t,n,r);else{let o=this.buffer.length;if(o>0&&(this.buffer[o-4]!=0||this.buffer[o-1]<0)){let a=!1;for(let l=o;l>0&&this.buffer[l-2]>n;l-=4)if(this.buffer[l-1]>=0){a=!0;break}if(a)for(;o>0&&this.buffer[o-2]>n;)this.buffer[o]=this.buffer[o-4],this.buffer[o+1]=this.buffer[o-3],this.buffer[o+2]=this.buffer[o-2],this.buffer[o+3]=this.buffer[o-1],o-=4,r>4&&(r-=4)}this.buffer[o]=e,this.buffer[o+1]=t,this.buffer[o+2]=n,this.buffer[o+3]=r}}shift(e,t,n,r){if(e&131072)this.pushState(e&65535,this.pos);else if((e&262144)==0){let s=e,{parser:o}=this.p;this.pos=r;let a=o.stateFlag(s,1);!a&&(r>n||t<=o.maxNode)&&(this.reducePos=r),this.pushState(s,a?n:Math.min(n,this.reducePos)),this.shiftContext(t,n),t<=o.maxNode&&this.buffer.push(t,n,r,4)}else this.pos=r,this.shiftContext(t,n),t<=this.p.parser.maxNode&&this.buffer.push(t,n,r,4)}apply(e,t,n,r){e&65536?this.reduce(e):this.shift(e,t,n,r)}useNode(e,t){let n=this.p.reused.length-1;(n<0||this.p.reused[n]!=e)&&(this.p.reused.push(e),n++);let r=this.pos;this.reducePos=this.pos=r+e.length,this.pushState(t,r),this.buffer.push(n,r,this.reducePos,-1),this.curContext&&this.updateContext(this.curContext.tracker.reuse(this.curContext.context,e,this,this.p.stream.reset(this.pos-e.length)))}split(){let e=this,t=e.buffer.length;for(t&&e.buffer[t-4]==0&&(t-=4);t>0&&e.buffer[t-2]>e.reducePos;)t-=4;let n=e.buffer.slice(t),r=e.bufferBase+t;for(;e&&r==e.bufferBase;)e=e.parent;return new i(this.p,this.stack.slice(),this.state,this.reducePos,this.pos,this.score,n,r,this.curContext,this.lookAhead,e)}recoverByDelete(e,t){let n=e<=this.p.parser.maxNode;n&&this.storeNode(e,this.pos,t,4),this.storeNode(0,this.pos,t,n?8:4),this.pos=this.reducePos=t,this.score-=190}canShift(e){for(let t=new cc(this);;){let n=this.p.parser.stateSlot(t.state,4)||this.p.parser.hasAction(t.state,e);if(n==0)return!1;if((n&65536)==0)return!0;t.reduce(n)}}recoverByInsert(e){if(this.stack.length>=300)return[];let t=this.p.parser.nextStates(this.state);if(t.length>8||this.stack.length>=120){let r=[];for(let s=0,o;sl&1&&a==o)||r.push(t[s],o)}t=r}let n=[];for(let r=0;r>19,r=t&65535,s=this.stack.length-n*3;if(s<0||e.getGoto(this.stack[s],r,!1)<0){let o=this.findForcedReduction();if(o==null)return!1;t=o}this.storeNode(0,this.pos,this.pos,4,!0),this.score-=100}return this.reducePos=this.pos,this.reduce(t),!0}findForcedReduction(){let{parser:e}=this.p,t=[],n=(r,s)=>{if(!t.includes(r))return t.push(r),e.allActions(r,o=>{if(!(o&393216))if(o&65536){let a=(o>>19)-s;if(a>1){let l=o&65535,c=this.stack.length-a*3;if(c>=0&&e.getGoto(this.stack[c],l,!1)>=0)return a<<19|65536|l}}else{let a=n(o,s+1);if(a!=null)return a}})};return n(this.state,0)}forceAll(){for(;!this.p.parser.stateFlag(this.state,2);)if(!this.forceReduce()){this.storeNode(0,this.pos,this.pos,4,!0);break}return this}get deadEnd(){if(this.stack.length!=3)return!1;let{parser:e}=this.p;return e.data[e.stateSlot(this.state,1)]==65535&&!e.stateSlot(this.state,4)}restart(){this.storeNode(0,this.pos,this.pos,4,!0),this.state=this.stack[0],this.stack.length=0}sameState(e){if(this.state!=e.state||this.stack.length!=e.stack.length)return!1;for(let t=0;t0&&this.emitLookAhead()}},to=class{constructor(e,t){this.tracker=e,this.context=t,this.hash=e.strict?e.hash(t):0}},cc=class{constructor(e){this.start=e,this.state=e.state,this.stack=e.stack,this.base=this.stack.length}reduce(e){let t=e&65535,n=e>>19;n==0?(this.stack==this.start.stack&&(this.stack=this.stack.slice()),this.stack.push(this.state,0,0),this.base+=3):this.base-=(n-1)*3;let r=this.start.p.parser.getGoto(this.stack[this.base-3],t,!0);this.state=r}},hc=class i{constructor(e,t,n){this.stack=e,this.pos=t,this.index=n,this.buffer=e.buffer,this.index==0&&this.maybeNext()}static create(e,t=e.bufferBase+e.buffer.length){return new i(e,t,t-e.bufferBase)}maybeNext(){let e=this.stack.parent;e!=null&&(this.index=this.stack.bufferBase-e.bufferBase,this.stack=e,this.buffer=e.buffer)}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}next(){this.index-=4,this.pos-=4,this.index==0&&this.maybeNext()}fork(){return new i(this.stack,this.pos,this.index)}};function xr(i,e=Uint16Array){if(typeof i!="string")return i;let t=null;for(let n=0,r=0;n=92&&o--,o>=34&&o--;let l=o-32;if(l>=46&&(l-=46,a=!0),s+=l,a)break;s*=46}t?t[r++]=s:t=new e(s)}return t}var vn=class{constructor(){this.start=-1,this.value=-1,this.end=-1,this.extended=-1,this.lookAhead=0,this.mask=0,this.context=0}},Fd=new vn,fc=class{constructor(e,t){this.input=e,this.ranges=t,this.chunk="",this.chunkOff=0,this.chunk2="",this.chunk2Pos=0,this.next=-1,this.token=Fd,this.rangeIndex=0,this.pos=this.chunkPos=t[0].from,this.range=t[0],this.end=t[t.length-1].to,this.readNext()}resolveOffset(e,t){let n=this.range,r=this.rangeIndex,s=this.pos+e;for(;sn.to:s>=n.to;){if(r==this.ranges.length-1)return null;let o=this.ranges[++r];s+=o.from-n.to,n=o}return s}clipPos(e){if(e>=this.range.from&&ee)return Math.max(e,t.from);return this.end}peek(e){let t=this.chunkOff+e,n,r;if(t>=0&&t=this.chunk2Pos&&na.to&&(this.chunk2=this.chunk2.slice(0,a.to-n)),r=this.chunk2.charCodeAt(0)}}return n>=this.token.lookAhead&&(this.token.lookAhead=n+1),r}acceptToken(e,t=0){let n=t?this.resolveOffset(t,-1):this.pos;if(n==null||n=this.chunk2Pos&&this.posthis.range.to?e.slice(0,this.range.to-this.pos):e,this.chunkPos=this.pos,this.chunkOff=0}}readNext(){return this.chunkOff>=this.chunk.length&&(this.getChunk(),this.chunkOff==this.chunk.length)?this.next=-1:this.next=this.chunk.charCodeAt(this.chunkOff)}advance(e=1){for(this.chunkOff+=e;this.pos+e>=this.range.to;){if(this.rangeIndex==this.ranges.length-1)return this.setDone();e-=this.range.to-this.pos,this.range=this.ranges[++this.rangeIndex],this.pos=this.range.from}return this.pos+=e,this.pos>=this.token.lookAhead&&(this.token.lookAhead=this.pos+1),this.readNext()}setDone(){return this.pos=this.chunkPos=this.end,this.range=this.ranges[this.rangeIndex=this.ranges.length-1],this.chunk="",this.next=-1}reset(e,t){if(t?(this.token=t,t.start=e,t.lookAhead=e+1,t.value=t.extended=-1):this.token=Fd,this.pos!=e){if(this.pos=e,e==this.end)return this.setDone(),this;for(;e=this.range.to;)this.range=this.ranges[++this.rangeIndex];e>=this.chunkPos&&e=this.chunkPos&&t<=this.chunkPos+this.chunk.length)return this.chunk.slice(e-this.chunkPos,t-this.chunkPos);if(e>=this.chunk2Pos&&t<=this.chunk2Pos+this.chunk2.length)return this.chunk2.slice(e-this.chunk2Pos,t-this.chunk2Pos);if(e>=this.range.from&&t<=this.range.to)return this.input.read(e,t);let n="";for(let r of this.ranges){if(r.from>=t)break;r.to>e&&(n+=this.input.read(Math.max(r.from,e),Math.min(r.to,t)))}return n}},gi=class{constructor(e,t){this.data=e,this.id=t}token(e,t){let{parser:n}=t.p;tp(this.data,e,t,this.id,n.data,n.tokenPrecTable)}};gi.prototype.contextual=gi.prototype.fallback=gi.prototype.extend=!1;var Qi=class{constructor(e,t,n){this.precTable=t,this.elseToken=n,this.data=typeof e=="string"?xr(e):e}token(e,t){let n=e.pos,r=0;for(;;){let s=e.next<0,o=e.resolveOffset(1,1);if(tp(this.data,e,t,0,this.data,this.precTable),e.token.value>-1)break;if(this.elseToken==null)return;if(s||r++,o==null)break;e.reset(o,e.token)}r&&(e.reset(n,e.token),e.acceptToken(this.elseToken,r))}};Qi.prototype.contextual=gi.prototype.fallback=gi.prototype.extend=!1;var K=class{constructor(e,t={}){this.token=e,this.contextual=!!t.contextual,this.fallback=!!t.fallback,this.extend=!!t.extend}};function tp(i,e,t,n,r,s){let o=0,a=1<0){let p=i[O];if(l.allows(p)&&(e.token.value==-1||e.token.value==p||uy(p,e.token.value,r,s))){e.acceptToken(p);break}}let h=e.next,f=0,u=i[o+2];if(e.next<0&&u>f&&i[c+u*3-3]==65535){o=i[c+u*3-1];continue e}for(;f>1,p=c+O+(O<<1),m=i[p],b=i[p+1]||65536;if(h=b)f=O+1;else{o=i[p+2],e.advance();continue e}}break}}function Hd(i,e,t){for(let n=e,r;(r=i[n])!=65535;n++)if(r==t)return n-e;return-1}function uy(i,e,t,n){let r=Hd(t,n,e);return r<0||Hd(t,n,i)e)&&!n.type.isError)return t<0?Math.max(0,Math.min(n.to-1,e-25)):Math.min(i.length,Math.max(n.from+1,e+25));if(t<0?n.prevSibling():n.nextSibling())break;if(!n.parent())return t<0?0:i.length}}var uc=class{constructor(e,t){this.fragments=e,this.nodeSet=t,this.i=0,this.fragment=null,this.safeFrom=-1,this.safeTo=-1,this.trees=[],this.start=[],this.index=[],this.nextFragment()}nextFragment(){let e=this.fragment=this.i==this.fragments.length?null:this.fragments[this.i++];if(e){for(this.safeFrom=e.openStart?Kd(e.tree,e.from+e.offset,1)-e.offset:e.from,this.safeTo=e.openEnd?Kd(e.tree,e.to+e.offset,-1)-e.offset:e.to;this.trees.length;)this.trees.pop(),this.start.pop(),this.index.pop();this.trees.push(e.tree),this.start.push(-e.offset),this.index.push(0),this.nextStart=this.safeFrom}else this.nextStart=1e9}nodeAt(e){if(ee)return this.nextStart=o,null;if(s instanceof G){if(o==e){if(o=Math.max(this.safeFrom,e)&&(this.trees.push(s),this.start.push(o),this.index.push(0))}else this.index[t]++,this.nextStart=o+s.length}}},Oc=class{constructor(e,t){this.stream=t,this.tokens=[],this.mainToken=null,this.actions=[],this.tokens=e.tokenizers.map(n=>new vn)}getActions(e){let t=0,n=null,{parser:r}=e.p,{tokenizers:s}=r,o=r.stateSlot(e.state,3),a=e.curContext?e.curContext.hash:0,l=0;for(let c=0;cf.end+25&&(l=Math.max(f.lookAhead,l)),f.value!=0)){let u=t;if(f.extended>-1&&(t=this.addActions(e,f.extended,f.end,t)),t=this.addActions(e,f.value,f.end,t),!h.extend&&(n=f,t>u))break}}for(;this.actions.length>t;)this.actions.pop();return l&&e.setLookAhead(l),!n&&e.pos==this.stream.end&&(n=new vn,n.value=e.p.parser.eofTerm,n.start=n.end=e.pos,t=this.addActions(e,n.value,n.end,t)),this.mainToken=n,this.actions}getMainToken(e){if(this.mainToken)return this.mainToken;let t=new vn,{pos:n,p:r}=e;return t.start=n,t.end=Math.min(n+1,r.stream.end),t.value=n==r.stream.end?r.parser.eofTerm:0,t}updateCachedToken(e,t,n){let r=this.stream.clipPos(n.pos);if(t.token(this.stream.reset(r,e),n),e.value>-1){let{parser:s}=n.p;for(let o=0;o=0&&n.p.parser.dialect.allows(a>>1)){(a&1)==0?e.value=a>>1:e.extended=a>>1;break}}}else e.value=0,e.end=this.stream.clipPos(r+1)}putAction(e,t,n,r){for(let s=0;se.bufferLength*4?new uc(n,e.nodeSet):null}get parsedPos(){return this.minStackPos}advance(){let e=this.stacks,t=this.minStackPos,n=this.stacks=[],r,s;if(this.bigReductionCount>300&&e.length==1){let[o]=e;for(;o.forceReduce()&&o.stack.length&&o.stack[o.stack.length-2]>=this.lastBigReductionStart;);this.bigReductionCount=this.lastBigReductionSize=0}for(let o=0;ot)n.push(a);else{if(this.advanceStack(a,n,e))continue;{r||(r=[],s=[]),r.push(a);let l=this.tokens.getMainToken(a);s.push(l.value,l.end)}}break}}if(!n.length){let o=r&&Oy(r);if(o)return Je&&console.log("Finish with "+this.stackID(o)),this.stackToTree(o);if(this.parser.strict)throw Je&&r&&console.log("Stuck with token "+(this.tokens.mainToken?this.parser.getName(this.tokens.mainToken.value):"none")),new SyntaxError("No parse at "+t);this.recovering||(this.recovering=5)}if(this.recovering&&r){let o=this.stoppedAt!=null&&r[0].pos>this.stoppedAt?r[0]:this.runRecovery(r,s,n);if(o)return Je&&console.log("Force-finish "+this.stackID(o)),this.stackToTree(o.forceAll())}if(this.recovering){let o=this.recovering==1?1:this.recovering*3;if(n.length>o)for(n.sort((a,l)=>l.score-a.score);n.length>o;)n.pop();n.some(a=>a.reducePos>t)&&this.recovering--}else if(n.length>1){e:for(let o=0;o500&&c.buffer.length>500)if((a.score-c.score||a.buffer.length-c.buffer.length)>0)n.splice(l--,1);else{n.splice(o--,1);continue e}}}n.length>12&&(n.sort((o,a)=>a.score-o.score),n.splice(12,n.length-12))}this.minStackPos=n[0].pos;for(let o=1;o ":"";if(this.stoppedAt!=null&&r>this.stoppedAt)return e.forceReduce()?e:null;if(this.fragments){let c=e.curContext&&e.curContext.tracker.strict,h=c?e.curContext.hash:0;for(let f=this.fragments.nodeAt(r);f;){let u=this.parser.nodeSet.types[f.type.id]==f.type?s.getGoto(e.state,f.type.id):-1;if(u>-1&&f.length&&(!c||(f.prop(I.contextHash)||0)==h))return e.useNode(f,u),Je&&console.log(o+this.stackID(e)+` (via reuse of ${s.getName(f.type.id)})`),!0;if(!(f instanceof G)||f.children.length==0||f.positions[0]>0)break;let O=f.children[0];if(O instanceof G&&f.positions[0]==0)f=O;else break}}let a=s.stateSlot(e.state,4);if(a>0)return e.reduce(a),Je&&console.log(o+this.stackID(e)+` (via always-reduce ${s.getName(a&65535)})`),!0;if(e.stack.length>=8400)for(;e.stack.length>6e3&&e.forceReduce(););let l=this.tokens.getActions(e);for(let c=0;cr?t.push(p):n.push(p)}return!1}advanceFully(e,t){let n=e.pos;for(;;){if(!this.advanceStack(e,null,null))return!1;if(e.pos>n)return Jd(e,t),!0}}runRecovery(e,t,n){let r=null,s=!1;for(let o=0;o ":"";if(a.deadEnd&&(s||(s=!0,a.restart(),Je&&console.log(h+this.stackID(a)+" (restarted)"),this.advanceFully(a,n))))continue;let f=a.split(),u=h;for(let O=0;O<10&&f.forceReduce()&&(Je&&console.log(u+this.stackID(f)+" (via force-reduce)"),!this.advanceFully(f,n));O++)Je&&(u=this.stackID(f)+" -> ");for(let O of a.recoverByInsert(l))Je&&console.log(h+this.stackID(O)+" (via recover-insert)"),this.advanceFully(O,n);this.stream.end>a.pos?(c==a.pos&&(c++,l=0),a.recoverByDelete(l,c),Je&&console.log(h+this.stackID(a)+` (via recover-delete ${this.parser.getName(l)})`),Jd(a,n)):(!r||r.scorei,Ot=class{constructor(e){this.start=e.start,this.shift=e.shift||ac,this.reduce=e.reduce||ac,this.reuse=e.reuse||ac,this.hash=e.hash||(()=>0),this.strict=e.strict!==!1}},Pe=class i extends Dt{constructor(e){if(super(),this.wrappers=[],e.version!=14)throw new RangeError(`Parser version (${e.version}) doesn't match runtime version (14)`);let t=e.nodeNames.split(" ");this.minRepeatTerm=t.length;for(let a=0;ae.topRules[a][1]),r=[];for(let a=0;a=0)s(h,l,a[c++]);else{let f=a[c+-h];for(let u=-h;u>0;u--)s(a[c++],l,f);c++}}}this.nodeSet=new jt(t.map((a,l)=>Oe.define({name:l>=this.minRepeatTerm?void 0:a,id:l,props:r[l],top:n.indexOf(l)>-1,error:l==0,skipped:e.skippedNodes&&e.skippedNodes.indexOf(l)>-1}))),e.propSources&&(this.nodeSet=this.nodeSet.extend(...e.propSources)),this.strict=!1,this.bufferLength=1024;let o=xr(e.tokenData);this.context=e.context,this.specializerSpecs=e.specialized||[],this.specialized=new Uint16Array(this.specializerSpecs.length);for(let a=0;atypeof a=="number"?new gi(o,a):a),this.topRules=e.topRules,this.dialects=e.dialects||{},this.dynamicPrecedences=e.dynamicPrecedences||null,this.tokenPrecTable=e.tokenPrec,this.termNames=e.termNames||null,this.maxNode=this.nodeSet.types.length-1,this.dialect=this.parseDialect(),this.top=this.topRules[Object.keys(this.topRules)[0]]}createParse(e,t,n){let r=new dc(this,e,t,n);for(let s of this.wrappers)r=s(r,e,t,n);return r}getGoto(e,t,n=!1){let r=this.goto;if(t>=r[0])return-1;for(let s=r[t+1];;){let o=r[s++],a=o&1,l=r[s++];if(a&&n)return l;for(let c=s+(o>>1);s0}validAction(e,t){return!!this.allActions(e,n=>n==t?!0:null)}allActions(e,t){let n=this.stateSlot(e,4),r=n?t(n):void 0;for(let s=this.stateSlot(e,1);r==null;s+=3){if(this.data[s]==65535)if(this.data[s+1]==1)s=It(this.data,s+2);else break;r=t(It(this.data,s+1))}return r}nextStates(e){let t=[];for(let n=this.stateSlot(e,1);;n+=3){if(this.data[n]==65535)if(this.data[n+1]==1)n=It(this.data,n+2);else break;if((this.data[n+2]&1)==0){let r=this.data[n+1];t.some((s,o)=>o&1&&s==r)||t.push(this.data[n],r)}}return t}configure(e){let t=Object.assign(Object.create(i.prototype),this);if(e.props&&(t.nodeSet=this.nodeSet.extend(...e.props)),e.top){let n=this.topRules[e.top];if(!n)throw new RangeError(`Invalid top rule name ${e.top}`);t.top=n}return e.tokenizers&&(t.tokenizers=this.tokenizers.map(n=>{let r=e.tokenizers.find(s=>s.from==n);return r?r.to:n})),e.specializers&&(t.specializers=this.specializers.slice(),t.specializerSpecs=this.specializerSpecs.map((n,r)=>{let s=e.specializers.find(a=>a.from==n.external);if(!s)return n;let o=Object.assign(Object.assign({},n),{external:s.to});return t.specializers[r]=ep(o),o})),e.contextTracker&&(t.context=e.contextTracker),e.dialect&&(t.dialect=this.parseDialect(e.dialect)),e.strict!=null&&(t.strict=e.strict),e.wrap&&(t.wrappers=t.wrappers.concat(e.wrap)),e.bufferLength!=null&&(t.bufferLength=e.bufferLength),t}hasWrappers(){return this.wrappers.length>0}getName(e){return this.termNames?this.termNames[e]:String(e<=this.maxNode&&this.nodeSet.types[e].name||e)}get eofTerm(){return this.maxNode+1}get topNode(){return this.nodeSet.types[this.top[1]]}dynamicPrecedence(e){let t=this.dynamicPrecedences;return t==null?0:t[e]||0}parseDialect(e){let t=Object.keys(this.dialects),n=t.map(()=>!1);if(e)for(let s of e.split(" ")){let o=t.indexOf(s);o>=0&&(n[o]=!0)}let r=null;for(let s=0;sn)&&t.p.parser.stateFlag(t.state,2)&&(!e||e.scorei.external(t,n)<<1|e}return i.get}var dy=55,py=1,my=56,gy=2,Qy=57,by=3,ip=4,Sy=5,Sc=6,hp=7,fp=8,up=9,Op=10,yy=11,ky=12,xy=13,mc=58,wy=14,Py=15,np=59,dp=21,vy=23,pp=24,$y=25,Qc=27,mp=28,Ty=29,Cy=32,Xy=35,_y=37,Ry=38,Ay=0,Zy=1,qy={area:!0,base:!0,br:!0,col:!0,command:!0,embed:!0,frame:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0,menuitem:!0},Ey={dd:!0,li:!0,optgroup:!0,option:!0,p:!0,rp:!0,rt:!0,tbody:!0,td:!0,tfoot:!0,th:!0,tr:!0},rp={dd:{dd:!0,dt:!0},dt:{dd:!0,dt:!0},li:{li:!0},option:{option:!0,optgroup:!0},optgroup:{optgroup:!0},p:{address:!0,article:!0,aside:!0,blockquote:!0,dir:!0,div:!0,dl:!0,fieldset:!0,footer:!0,form:!0,h1:!0,h2:!0,h3:!0,h4:!0,h5:!0,h6:!0,header:!0,hgroup:!0,hr:!0,menu:!0,nav:!0,ol:!0,p:!0,pre:!0,section:!0,table:!0,ul:!0},rp:{rp:!0,rt:!0},rt:{rp:!0,rt:!0},tbody:{tbody:!0,tfoot:!0},td:{td:!0,th:!0},tfoot:{tbody:!0},th:{td:!0,th:!0},thead:{tbody:!0,tfoot:!0},tr:{tr:!0}};function zy(i){return i==45||i==46||i==58||i>=65&&i<=90||i==95||i>=97&&i<=122||i>=161}var sp=null,op=null,ap=0;function bc(i,e){let t=i.pos+e;if(ap==t&&op==i)return sp;let n=i.peek(e),r="";for(;zy(n);)r+=String.fromCharCode(n),n=i.peek(++e);return op=i,ap=t,sp=r?r.toLowerCase():n==Ly||n==My?void 0:null}var gp=60,io=62,yc=47,Ly=63,My=33,Wy=45;function lp(i,e){this.name=i,this.parent=e}var jy=[Sc,Op,hp,fp,up],Vy=new Ot({start:null,shift(i,e,t,n){return jy.indexOf(e)>-1?new lp(bc(n,1)||"",i):i},reduce(i,e){return e==dp&&i?i.parent:i},reuse(i,e,t,n){let r=e.type.id;return r==Sc||r==_y?new lp(bc(n,1)||"",i):i},strict:!1}),Dy=new K((i,e)=>{if(i.next!=gp){i.next<0&&e.context&&i.acceptToken(mc);return}i.advance();let t=i.next==yc;t&&i.advance();let n=bc(i,0);if(n===void 0)return;if(!n)return i.acceptToken(t?Py:wy);let r=e.context?e.context.name:null;if(t){if(n==r)return i.acceptToken(yy);if(r&&Ey[r])return i.acceptToken(mc,-2);if(e.dialectEnabled(Ay))return i.acceptToken(ky);for(let s=e.context;s;s=s.parent)if(s.name==n)return;i.acceptToken(xy)}else{if(n=="script")return i.acceptToken(hp);if(n=="style")return i.acceptToken(fp);if(n=="textarea")return i.acceptToken(up);if(qy.hasOwnProperty(n))return i.acceptToken(Op);r&&rp[r]&&rp[r][n]?i.acceptToken(mc,-1):i.acceptToken(Sc)}},{contextual:!0}),Yy=new K(i=>{for(let e=0,t=0;;t++){if(i.next<0){t&&i.acceptToken(np);break}if(i.next==Wy)e++;else if(i.next==io&&e>=2){t>=3&&i.acceptToken(np,-2);break}else e=0;i.advance()}});function Iy(i){for(;i;i=i.parent)if(i.name=="svg"||i.name=="math")return!0;return!1}var By=new K((i,e)=>{if(i.next==yc&&i.peek(1)==io){let t=e.dialectEnabled(Zy)||Iy(e.context);i.acceptToken(t?Sy:ip,2)}else i.next==io&&i.acceptToken(ip,1)});function kc(i,e,t){let n=2+i.length;return new K(r=>{for(let s=0,o=0,a=0;;a++){if(r.next<0){a&&r.acceptToken(e);break}if(s==0&&r.next==gp||s==1&&r.next==yc||s>=2&&so?r.acceptToken(e,-o):r.acceptToken(t,-(o-2));break}else if((r.next==10||r.next==13)&&a){r.acceptToken(e,1);break}else s=o=0;r.advance()}})}var Uy=kc("script",dy,py),Gy=kc("style",my,gy),Ny=kc("textarea",Qy,by),Fy=ge({"Text RawText IncompleteTag IncompleteCloseTag":d.content,"StartTag StartCloseTag SelfClosingEndTag EndTag":d.angleBracket,TagName:d.tagName,"MismatchedCloseTag/TagName":[d.tagName,d.invalid],AttributeName:d.attributeName,"AttributeValue UnquotedAttributeValue":d.attributeValue,Is:d.definitionOperator,"EntityReference CharacterReference":d.character,Comment:d.blockComment,ProcessingInst:d.processingInstruction,DoctypeDecl:d.documentMeta}),Qp=Pe.deserialize({version:14,states:",xOVO!rOOO!ZQ#tO'#CrO!`Q#tO'#C{O!eQ#tO'#DOO!jQ#tO'#DRO!oQ#tO'#DTO!tOaO'#CqO#PObO'#CqO#[OdO'#CqO$kO!rO'#CqOOO`'#Cq'#CqO$rO$fO'#DUO$zQ#tO'#DWO%PQ#tO'#DXOOO`'#Dl'#DlOOO`'#DZ'#DZQVO!rOOO%UQ&rO,59^O%aQ&rO,59gO%lQ&rO,59jO%wQ&rO,59mO&SQ&rO,59oOOOa'#D_'#D_O&_OaO'#CyO&jOaO,59]OOOb'#D`'#D`O&rObO'#C|O&}ObO,59]OOOd'#Da'#DaO'VOdO'#DPO'bOdO,59]OOO`'#Db'#DbO'jO!rO,59]O'qQ#tO'#DSOOO`,59],59]OOOp'#Dc'#DcO'vO$fO,59pOOO`,59p,59pO(OQ#|O,59rO(TQ#|O,59sOOO`-E7X-E7XO(YQ&rO'#CtOOQW'#D['#D[O(hQ&rO1G.xOOOa1G.x1G.xOOO`1G/Z1G/ZO(sQ&rO1G/ROOOb1G/R1G/RO)OQ&rO1G/UOOOd1G/U1G/UO)ZQ&rO1G/XOOO`1G/X1G/XO)fQ&rO1G/ZOOOa-E7]-E7]O)qQ#tO'#CzOOO`1G.w1G.wOOOb-E7^-E7^O)vQ#tO'#C}OOOd-E7_-E7_O){Q#tO'#DQOOO`-E7`-E7`O*QQ#|O,59nOOOp-E7a-E7aOOO`1G/[1G/[OOO`1G/^1G/^OOO`1G/_1G/_O*VQ,UO,59`OOQW-E7Y-E7YOOOa7+$d7+$dOOO`7+$u7+$uOOOb7+$m7+$mOOOd7+$p7+$pOOO`7+$s7+$sO*bQ#|O,59fO*gQ#|O,59iO*lQ#|O,59lOOO`1G/Y1G/YO*qO7[O'#CwO+SOMhO'#CwOOQW1G.z1G.zOOO`1G/Q1G/QOOO`1G/T1G/TOOO`1G/W1G/WOOOO'#D]'#D]O+eO7[O,59cOOQW,59c,59cOOOO'#D^'#D^O+vOMhO,59cOOOO-E7Z-E7ZOOQW1G.}1G.}OOOO-E7[-E7[",stateData:",c~O!_OS~OUSOVPOWQOXROYTO[]O][O^^O_^Oa^Ob^Oc^Od^Oy^O|_O!eZO~OgaO~OgbO~OgcO~OgdO~OgeO~O!XfOPmP![mP~O!YiOQpP![pP~O!ZlORsP![sP~OUSOVPOWQOXROYTOZqO[]O][O^^O_^Oa^Ob^Oc^Od^Oy^O!eZO~O![rO~P#gO!]sO!fuO~OgvO~OgwO~OS|OT}OiyO~OS!POT}OiyO~OS!ROT}OiyO~OS!TOT}OiyO~OS}OT}OiyO~O!XfOPmX![mX~OP!WO![!XO~O!YiOQpX![pX~OQ!ZO![!XO~O!ZlORsX![sX~OR!]O![!XO~O![!XO~P#gOg!_O~O!]sO!f!aO~OS!bO~OS!cO~Oj!dOShXThXihX~OS!fOT!gOiyO~OS!hOT!gOiyO~OS!iOT!gOiyO~OS!jOT!gOiyO~OS!gOT!gOiyO~Og!kO~Og!lO~Og!mO~OS!nO~Ol!qO!a!oO!c!pO~OS!rO~OS!sO~OS!tO~Ob!uOc!uOd!uO!a!wO!b!uO~Ob!xOc!xOd!xO!c!wO!d!xO~Ob!uOc!uOd!uO!a!{O!b!uO~Ob!xOc!xOd!xO!c!{O!d!xO~OT~cbd!ey|!e~",goto:"%q!aPPPPPPPPPPPPPPPPPPPPP!b!hP!nPP!zP!}#Q#T#Z#^#a#g#j#m#s#y!bP!b!bP$P$V$m$s$y%P%V%]%cPPPPPPPP%iX^OX`pXUOX`pezabcde{!O!Q!S!UR!q!dRhUR!XhXVOX`pRkVR!XkXWOX`pRnWR!XnXXOX`pQrXR!XpXYOX`pQ`ORx`Q{aQ!ObQ!QcQ!SdQ!UeZ!e{!O!Q!S!UQ!v!oR!z!vQ!y!pR!|!yQgUR!VgQjVR!YjQmWR![mQpXR!^pQtZR!`tS_O`ToXp",nodeNames:"\u26A0 StartCloseTag StartCloseTag StartCloseTag EndTag SelfClosingEndTag StartTag StartTag StartTag StartTag StartTag StartCloseTag StartCloseTag StartCloseTag IncompleteTag IncompleteCloseTag Document Text EntityReference CharacterReference InvalidEntity Element OpenTag TagName Attribute AttributeName Is AttributeValue UnquotedAttributeValue ScriptText CloseTag OpenTag StyleText CloseTag OpenTag TextareaText CloseTag OpenTag CloseTag SelfClosingTag Comment ProcessingInst MismatchedCloseTag CloseTag DoctypeDecl",maxTerm:68,context:Vy,nodeProps:[["closedBy",-10,1,2,3,7,8,9,10,11,12,13,"EndTag",6,"EndTag SelfClosingEndTag",-4,22,31,34,37,"CloseTag"],["openedBy",4,"StartTag StartCloseTag",5,"StartTag",-4,30,33,36,38,"OpenTag"],["group",-10,14,15,18,19,20,21,40,41,42,43,"Entity",17,"Entity TextContent",-3,29,32,35,"TextContent Entity"],["isolate",-11,22,30,31,33,34,36,37,38,39,42,43,"ltr",-3,27,28,40,""]],propSources:[Fy],skippedNodes:[0],repeatNodeCount:9,tokenData:"!]tw8twx7Sx!P8t!P!Q5u!Q!]8t!]!^/^!^!a7S!a#S8t#S#T;{#T#s8t#s$f5u$f;'S8t;'S;=`>V<%l?Ah8t?Ah?BY5u?BY?Mn8t?MnO5u!Z5zblWOX5uXZ7SZ[5u[^7S^p5uqr5urs7Sst+Ptw5uwx7Sx!]5u!]!^7w!^!a7S!a#S5u#S#T7S#T;'S5u;'S;=`8n<%lO5u!R7VVOp7Sqs7St!]7S!]!^7l!^;'S7S;'S;=`7q<%lO7S!R7qOb!R!R7tP;=`<%l7S!Z8OYlWb!ROX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+P!Z8qP;=`<%l5u!_8{iiSlWOX5uXZ7SZ[5u[^7S^p5uqr8trs7Sst/^tw8twx7Sx!P8t!P!Q5u!Q!]8t!]!^:j!^!a7S!a#S8t#S#T;{#T#s8t#s$f5u$f;'S8t;'S;=`>V<%l?Ah8t?Ah?BY5u?BY?Mn8t?MnO5u!_:sbiSlWb!ROX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+P!VP<%l?Ah;{?Ah?BY7S?BY?Mn;{?MnO7S!V=dXiSb!Rqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0m!V>SP;=`<%l;{!_>YP;=`<%l8t!_>dhiSlWOX@OXZAYZ[@O[^AY^p@OqrBwrsAYswBwwxAYx!PBw!P!Q@O!Q!]Bw!]!^/^!^!aAY!a#SBw#S#TE{#T#sBw#s$f@O$f;'SBw;'S;=`HS<%l?AhBw?Ah?BY@O?BY?MnBw?MnO@O!Z@TalWOX@OXZAYZ[@O[^AY^p@Oqr@OrsAYsw@OwxAYx!]@O!]!^Az!^!aAY!a#S@O#S#TAY#T;'S@O;'S;=`Bq<%lO@O!RA]UOpAYq!]AY!]!^Ao!^;'SAY;'S;=`At<%lOAY!RAtOc!R!RAwP;=`<%lAY!ZBRYlWc!ROX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+P!ZBtP;=`<%l@O!_COhiSlWOX@OXZAYZ[@O[^AY^p@OqrBwrsAYswBwwxAYx!PBw!P!Q@O!Q!]Bw!]!^Dj!^!aAY!a#SBw#S#TE{#T#sBw#s$f@O$f;'SBw;'S;=`HS<%l?AhBw?Ah?BY@O?BY?MnBw?MnO@O!_DsbiSlWc!ROX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+P!VFQbiSOpAYqrE{rsAYswE{wxAYx!PE{!P!QAY!Q!]E{!]!^GY!^!aAY!a#sE{#s$fAY$f;'SE{;'S;=`G|<%l?AhE{?Ah?BYAY?BY?MnE{?MnOAY!VGaXiSc!Rqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0m!VHPP;=`<%lE{!_HVP;=`<%lBw!ZHcW!cxaP!b`Or(trs'ksv(tw!^(t!^!_)e!_;'S(t;'S;=`*P<%lO(t!aIYliSaPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx}-_}!OKQ!O!P-_!P!Q$q!Q!^-_!^!_*V!_!a&X!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q!aK_kiSaPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx!P-_!P!Q$q!Q!^-_!^!_*V!_!`&X!`!aMS!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q!TM_XaP!b`!dp!fQOr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&X!aNZ!ZiSgQaPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx}-_}!OMz!O!PMz!P!Q$q!Q![Mz![!]Mz!]!^-_!^!_*V!_!a&X!a!c-_!c!}Mz!}#R-_#R#SMz#S#T1k#T#oMz#o#s-_#s$f$q$f$}-_$}%OMz%O%W-_%W%oMz%o%p-_%p&aMz&a&b-_&b1pMz1p4UMz4U4dMz4d4e-_4e$ISMz$IS$I`-_$I`$IbMz$Ib$Je-_$Je$JgMz$Jg$Kh-_$Kh%#tMz%#t&/x-_&/x&EtMz&Et&FV-_&FV;'SMz;'S;:j!#|;:j;=`3X<%l?&r-_?&r?AhMz?Ah?BY$q?BY?MnMz?MnO$q!a!$PP;=`<%lMz!R!$ZY!b`!dpOq*Vqr!$yrs(Vsv*Vwx)ex!a*V!a!b!4t!b;'S*V;'S;=`*s<%lO*V!R!%Q]!b`!dpOr*Vrs(Vsv*Vwx)ex}*V}!O!%y!O!f*V!f!g!']!g#W*V#W#X!0`#X;'S*V;'S;=`*s<%lO*V!R!&QX!b`!dpOr*Vrs(Vsv*Vwx)ex}*V}!O!&m!O;'S*V;'S;=`*s<%lO*V!R!&vV!b`!dp!ePOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!'dX!b`!dpOr*Vrs(Vsv*Vwx)ex!q*V!q!r!(P!r;'S*V;'S;=`*s<%lO*V!R!(WX!b`!dpOr*Vrs(Vsv*Vwx)ex!e*V!e!f!(s!f;'S*V;'S;=`*s<%lO*V!R!(zX!b`!dpOr*Vrs(Vsv*Vwx)ex!v*V!v!w!)g!w;'S*V;'S;=`*s<%lO*V!R!)nX!b`!dpOr*Vrs(Vsv*Vwx)ex!{*V!{!|!*Z!|;'S*V;'S;=`*s<%lO*V!R!*bX!b`!dpOr*Vrs(Vsv*Vwx)ex!r*V!r!s!*}!s;'S*V;'S;=`*s<%lO*V!R!+UX!b`!dpOr*Vrs(Vsv*Vwx)ex!g*V!g!h!+q!h;'S*V;'S;=`*s<%lO*V!R!+xY!b`!dpOr!+qrs!,hsv!+qvw!-Swx!.[x!`!+q!`!a!/j!a;'S!+q;'S;=`!0Y<%lO!+qq!,mV!dpOv!,hvx!-Sx!`!,h!`!a!-q!a;'S!,h;'S;=`!.U<%lO!,hP!-VTO!`!-S!`!a!-f!a;'S!-S;'S;=`!-k<%lO!-SP!-kO|PP!-nP;=`<%l!-Sq!-xS!dp|POv(Vx;'S(V;'S;=`(h<%lO(Vq!.XP;=`<%l!,ha!.aX!b`Or!.[rs!-Ssv!.[vw!-Sw!`!.[!`!a!.|!a;'S!.[;'S;=`!/d<%lO!.[a!/TT!b`|POr)esv)ew;'S)e;'S;=`)y<%lO)ea!/gP;=`<%l!.[!R!/sV!b`!dp|POr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!0]P;=`<%l!+q!R!0gX!b`!dpOr*Vrs(Vsv*Vwx)ex#c*V#c#d!1S#d;'S*V;'S;=`*s<%lO*V!R!1ZX!b`!dpOr*Vrs(Vsv*Vwx)ex#V*V#V#W!1v#W;'S*V;'S;=`*s<%lO*V!R!1}X!b`!dpOr*Vrs(Vsv*Vwx)ex#h*V#h#i!2j#i;'S*V;'S;=`*s<%lO*V!R!2qX!b`!dpOr*Vrs(Vsv*Vwx)ex#m*V#m#n!3^#n;'S*V;'S;=`*s<%lO*V!R!3eX!b`!dpOr*Vrs(Vsv*Vwx)ex#d*V#d#e!4Q#e;'S*V;'S;=`*s<%lO*V!R!4XX!b`!dpOr*Vrs(Vsv*Vwx)ex#X*V#X#Y!+q#Y;'S*V;'S;=`*s<%lO*V!R!4{Y!b`!dpOr!4trs!5ksv!4tvw!6Vwx!8]x!a!4t!a!b!:]!b;'S!4t;'S;=`!;r<%lO!4tq!5pV!dpOv!5kvx!6Vx!a!5k!a!b!7W!b;'S!5k;'S;=`!8V<%lO!5kP!6YTO!a!6V!a!b!6i!b;'S!6V;'S;=`!7Q<%lO!6VP!6lTO!`!6V!`!a!6{!a;'S!6V;'S;=`!7Q<%lO!6VP!7QOyPP!7TP;=`<%l!6Vq!7]V!dpOv!5kvx!6Vx!`!5k!`!a!7r!a;'S!5k;'S;=`!8V<%lO!5kq!7yS!dpyPOv(Vx;'S(V;'S;=`(h<%lO(Vq!8YP;=`<%l!5ka!8bX!b`Or!8]rs!6Vsv!8]vw!6Vw!a!8]!a!b!8}!b;'S!8];'S;=`!:V<%lO!8]a!9SX!b`Or!8]rs!6Vsv!8]vw!6Vw!`!8]!`!a!9o!a;'S!8];'S;=`!:V<%lO!8]a!9vT!b`yPOr)esv)ew;'S)e;'S;=`)y<%lO)ea!:YP;=`<%l!8]!R!:dY!b`!dpOr!4trs!5ksv!4tvw!6Vwx!8]x!`!4t!`!a!;S!a;'S!4t;'S;=`!;r<%lO!4t!R!;]V!b`!dpyPOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!;uP;=`<%l!4t!V!{let c=a.type.id;if(c==Ty)return gc(a,l,t);if(c==Cy)return gc(a,l,n);if(c==Xy)return gc(a,l,r);if(c==dp&&s.length){let h=a.node,f=h.firstChild,u=f&&cp(f,l),O;if(u){for(let p of s)if(p.tag==u&&(!p.attrs||p.attrs(O||(O=bp(f,l))))){let m=h.lastChild,b=m.type.id==Ry?m.from:h.to;if(b>f.to)return{parser:p.parser,overlay:[{from:f.to,to:b}]}}}}if(o&&c==pp){let h=a.node,f;if(f=h.firstChild){let u=o[l.read(f.from,f.to)];if(u)for(let O of u){if(O.tagName&&O.tagName!=cp(h.parent,l))continue;let p=h.lastChild;if(p.type.id==Qc){let m=p.from+1,b=p.lastChild,g=p.to-(b&&b.isError?0:1);if(g>m)return{parser:O.parser,overlay:[{from:m,to:g}],bracketed:!0}}else if(p.type.id==mp)return{parser:O.parser,overlay:[{from:p.from,to:p.to}]}}}}return null})}var Hy=145,Sp=1,Ky=146,Jy=147,kp=2,ek=148,tk=3,ik=4,xp=[9,10,11,12,13,32,133,160,5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8232,8233,8239,8287,12288],nk=58,rk=40,wp=95,sk=91,no=45,ok=46,ak=35,lk=37,ck=38,hk=92,fk=10,uk=42;function wr(i){return i>=65&&i<=90||i>=97&&i<=122||i>=161}function wc(i){return i>=48&&i<=57}function yp(i){return wc(i)||i>=97&&i<=102||i>=65&&i<=70}var Pp=(i,e,t)=>(n,r)=>{for(let s=!1,o=0,a=0;;a++){let{next:l}=n;if(wr(l)||l==no||l==wp||s&&wc(l))!s&&(l!=no||a>0)&&(s=!0),o===a&&l==no&&o++,n.advance();else if(l==hk&&n.peek(1)!=fk){if(n.advance(),yp(n.next)){do n.advance();while(yp(n.next));n.next==32&&n.advance()}else n.next>-1&&n.advance();s=!0}else{s&&n.acceptToken(o==2&&r.canShift(kp)?e:l==rk?t:i);break}}},Ok=new K(Pp(Ky,kp,Jy),{contextual:!0}),dk=new K(Pp(ek,tk,ik),{contextual:!0}),pk=new K(i=>{if(xp.includes(i.peek(-1))){let{next:e}=i;(wr(e)||e==wp||e==ak||e==ok||e==uk||e==sk||e==nk&&wr(i.peek(1))||e==no||e==ck)&&i.acceptToken(Hy)}}),mk=new K(i=>{if(!xp.includes(i.peek(-1))){let{next:e}=i;if(e==lk&&(i.advance(),i.acceptToken(Sp)),wr(e)){do i.advance();while(wr(i.next)||wc(i.next));i.acceptToken(Sp)}}}),gk=ge({"AtKeyword import charset namespace keyframes media supports font-feature-values":d.definitionKeyword,"from to selector scope MatchFlag":d.keyword,NamespaceName:d.namespace,KeyframeName:d.labelName,KeyframeRangeName:d.operatorKeyword,TagName:d.tagName,ClassName:d.className,PseudoClassName:d.constant(d.className),IdName:d.labelName,"FeatureName PropertyName":d.propertyName,AttributeName:d.attributeName,NumberLiteral:d.number,KeywordQuery:d.keyword,UnaryQueryOp:d.operatorKeyword,"CallTag ValueName FontName":d.atom,VariableName:d.variableName,Callee:d.operatorKeyword,Unit:d.unit,"UniversalSelector NestingSelector":d.definitionOperator,"MatchOp CompareOp":d.compareOperator,"ChildOp SiblingOp, LogicOp":d.logicOperator,BinOp:d.arithmeticOperator,Important:d.modifier,Comment:d.blockComment,ColorLiteral:d.color,"ParenthesizedContent StringLiteral":d.string,":":d.punctuation,"PseudoOp #":d.derefOperator,"; , |":d.separator,"( )":d.paren,"[ ]":d.squareBracket,"{ }":d.brace}),Qk={__proto__:null,lang:44,"nth-child":44,"nth-last-child":44,"nth-of-type":44,"nth-last-of-type":44,dir:44,"host-context":44,if:90,url:152,"url-prefix":152,domain:152,regexp:152},bk={__proto__:null,or:104,and:104,not:112,only:112,layer:206},Sk={__proto__:null,selector:118,style:124,layer:202},yk={__proto__:null,"@import":198,"@media":210,"@charset":214,"@namespace":218,"@keyframes":224,"@supports":236,"@scope":240,"@font-feature-values":246},kk={__proto__:null,to:243},vp=Pe.deserialize({version:14,states:"MlQYQdOOO#}QdOOP$UO`OOO%OQaO'#CfOOQP'#Ce'#CeO%VQdO'#CgO%[Q`O'#CgO%aQaO'#FnO&XQdO'#CkO&xQaO'#CcO'SQdO'#CnO'_QdO'#EOO'dQdO'#EQO'oQdO'#EXO'oQdO'#E[OOQP'#Fn'#FnO)RQhO'#E}OOQS'#Fm'#FmOOQS'#FQ'#FQQYQdOOO)YQdO'#EbO*iQhO'#EhO)YQdO'#EjO*pQdO'#ElO*{QdO'#EoO)}QhO'#EuO+TQdO'#EwO+`QdO'#EzO+eQaO'#CfO+lQ`O'#E_O+qQ`O'#F{O+|QdO'#F{QOQ`OOP,WO&jO'#CaPOOO)CA])CA]OOQP'#Ci'#CiOOQP,59R,59RO%VQdO,59ROOQP'#Cm'#CmOOQP,59V,59VO&XQdO,59VO,cQdO,59YO'_QdO,5:jO'dQdO,5:lO'oQdO,5:sO'oQdO,5:uO'oQdO,5:vO'oQdO'#FXO,nQ`O,58}O,vQdO'#E^OOQS,58},58}OOQP'#Cq'#CqOOQO'#D|'#D|OOQP,59Y,59YO,}Q`O,59YO-SQ`O,59YOOQP'#EP'#EPOOQP,5:j,5:jO-XQpO'#ERO-dQdO'#ESO-iQ`O'#ESO-nQpO,5:lO.XQaO,5:sO.oQaO,5:vOOQW'#D^'#D^O/nQhO'#DgO0RQhO,5;iO)}QhO'#DeO0`Q`O'#DnO0eQhO'#DxOOQW'#Ft'#FtOOQS,5;i,5;iO0jQ`O'#DhO0oQ`O'#DkOOQS-E9O-E9OOOQ['#Cv'#CvO0tQdO'#CwO1[QdO'#C}O1rQdO'#DQO2YQ!pO'#DSO4fQ!jO,5:|OOQO'#DX'#DXO-SQ`O'#DWO4vQ!nO'#FqO6|Q`O'#DYO7RQ`O'#DyOOQ['#Fq'#FqO7WQhO'#GOO7fQ`O,5;SO7kQ!bO,5;UOOQS'#En'#EnO7sQ`O,5;WO7xQdO,5;WOOQO'#Eq'#EqO8QQ`O,5;ZO8VQhO,5;aO'oQdO'#DjOOQS,5;c,5;cO0jQ`O,5;cO8_QdO,5;cOOQS'#F`'#F`O8gQdO'#E|O7fQ`O,5;fO8oQdO,5:yO9PQdO'#FZO9^Q`O,5lQhO'#DoOOQW,5:Y,5:YOOQW,5:d,5:dOOQW,5:S,5:SO>vQhO,5:VO?bQ!fO'#FrOOQS'#Fr'#FrOOQS'#FS'#FSO@rQdO,59cOOQ[,59c,59cOAYQdO,59iOOQ[,59i,59iOApQdO,59lOOQ[,59l,59lOOQ[,59n,59nO)YQdO,59pOBWQhO'#EdOOQW'#Ed'#EdOBuQ`O1G0hO4oQhO1G0hOOQ[,59r,59rO)}QhO'#D[OOQ[,59t,59tOBzQ#tO,5:eOCVQhO'#F]OCdQ`O,5vQhO'#DmOI_QhO'#DqOIgQhO'#DsOIlQhO'#FwOOQO'#Fw'#FwOItQ!bO'#DwOOQO'#Fy'#FyOOQO'#Fv'#FvOIyQ`O1G/qOOQS-E9Q-E9QOOQ[1G.}1G.}OOQ[1G/T1G/TOOQ[1G/W1G/WOOQ[1G/[1G/[OJOQdO,5;OOOQS7+&S7+&SOJTQ`O7+&SOJYQhO'#D]OJbQ`O,59vO)}QhO,59vOOQ[1G0P1G0POJjQ`O1G0POJoQhO,5;wOOQO-E9Z-E9ZOOQS7+&^7+&^OJ}QbO'#DSOOQO'#Et'#EtOK]Q`O'#EsOOQO'#Es'#EsOKhQ`O'#F^OKpQdO,5;^OOQS,5;^,5;^OOQ[1G/p1G/pOOQS7+&i7+&iO7fQ`O7+&iOK{Q!fO'#FYO)YQdO'#FYOMSQdO7+&POOQO7+&P7+&POOQO,5:{,5:{OOQO1G1a1G1aOMgQ!bO<vQhO'#DrOOQO,5:],5:]O! hQhO,5:_OGUQhO,5:cOOQW7+%]7+%]OOQO'#Ef'#EfO! pQ`O1G0jOOQS<xAN>xO!#zQ`OAN>xO!$PQaO,5;rOOQO-E9U-E9UO!$ZQdO,5;qOOQO-E9T-E9TOOQW<vQhO'#DuOOQO1G/y1G/yO!%vQ!bO1G/}OJOQdO'#F[O!&OQ`O7+&UOOQW7+&U7+&UO!&WQ!bO1G/cOOQ[7+$|7+$|O!&cQhO7+$|P!&jQ`O'#FTOOQO,5;y,5;yOOQO-E9]-E9]OOQS1G1d1G1dOOQPG24dG24dO!&oQ`OAN>ZO)YQdO1G1[O!&tQ`O7+'jOOQO1G/x1G/xO!&|Q`O,5:aO!$eQhO7+%iOOQO,5;v,5;vOOQO-E9Y-E9YOOQW<Q!]!^>|!^!_?_!_!`@Z!`!a@n!a!b%Z!b!cAo!c!k%Z!k!lC|!l!u%Z!u!vC|!v!}%Z!}#OD_#O#P%Z#P#QDp#Q#R2X#R#]%Z#]#^ER#^#g%Z#g#hC|#h#o%Z#o#pIf#p#qIw#q#rJ`#r#sJq#s#y%Z#y#z&R#z$f%Z$f$g&R$g#BY%Z#BY#BZ&R#BZ$IS%Z$IS$I_&R$I_$I|%Z$I|$JO&R$JO$JT%Z$JT$JU&R$JU$KV%Z$KV$KW&R$KW&FU%Z&FU&FV&R&FV;'S%Z;'S;=`KY<%lO%Z`%^SOy%jz;'S%j;'S;=`%{<%lO%j`%oS!o`Oy%jz;'S%j;'S;=`%{<%lO%j`&OP;=`<%l%j~&Wh$[~OX%jX^'r^p%jpq'rqy%jz#y%j#y#z'r#z$f%j$f$g'r$g#BY%j#BY#BZ'r#BZ$IS%j$IS$I_'r$I_$I|%j$I|$JO'r$JO$JT%j$JT$JU'r$JU$KV%j$KV$KW'r$KW&FU%j&FU&FV'r&FV;'S%j;'S;=`%{<%lO%j~'yh$[~!o`OX%jX^'r^p%jpq'rqy%jz#y%j#y#z'r#z$f%j$f$g'r$g#BY%j#BY#BZ'r#BZ$IS%j$IS$I_'r$I_$I|%j$I|$JO'r$JO$JT%j$JT$JU'r$JU$KV%j$KV$KW'r$KW&FU%j&FU&FV'r&FV;'S%j;'S;=`%{<%lO%jj)jS$qYOy%jz;'S%j;'S;=`%{<%lO%j~)yWOY)vZr)vrs*cs#O)v#O#P*h#P;'S)v;'S;=`+d<%lO)v~*hOw~~*kRO;'S)v;'S;=`*t;=`O)v~*wXOY)vZr)vrs*cs#O)v#O#P*h#P;'S)v;'S;=`+d;=`<%l)v<%lO)v~+gP;=`<%l)vj+oYmYOy%jz!Q%j!Q![,_![!c%j!c!i,_!i#T%j#T#Z,_#Z;'S%j;'S;=`%{<%lO%jj,dY!o`Oy%jz!Q%j!Q![-S![!c%j!c!i-S!i#T%j#T#Z-S#Z;'S%j;'S;=`%{<%lO%jj-XY!o`Oy%jz!Q%j!Q![-w![!c%j!c!i-w!i#T%j#T#Z-w#Z;'S%j;'S;=`%{<%lO%jj.OYuY!o`Oy%jz!Q%j!Q![.n![!c%j!c!i.n!i#T%j#T#Z.n#Z;'S%j;'S;=`%{<%lO%jj.uYuY!o`Oy%jz!Q%j!Q![/e![!c%j!c!i/e!i#T%j#T#Z/e#Z;'S%j;'S;=`%{<%lO%jj/jY!o`Oy%jz!Q%j!Q![0Y![!c%j!c!i0Y!i#T%j#T#Z0Y#Z;'S%j;'S;=`%{<%lO%jj0aYuY!o`Oy%jz!Q%j!Q![1P![!c%j!c!i1P!i#T%j#T#Z1P#Z;'S%j;'S;=`%{<%lO%jj1UY!o`Oy%jz!Q%j!Q![1t![!c%j!c!i1t!i#T%j#T#Z1t#Z;'S%j;'S;=`%{<%lO%jj1{SuY!o`Oy%jz;'S%j;'S;=`%{<%lO%jd2[UOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%jd2uS!yS!o`Oy%jz;'S%j;'S;=`%{<%lO%jb3WS^QOy%jz;'S%j;'S;=`%{<%lO%j~3gWOY3dZw3dwx*cx#O3d#O#P4P#P;'S3d;'S;=`4{<%lO3d~4SRO;'S3d;'S;=`4];=`O3d~4`XOY3dZw3dwx*cx#O3d#O#P4P#P;'S3d;'S;=`4{;=`<%l3d<%lO3d~5OP;=`<%l3dj5WShYOy%jz;'S%j;'S;=`%{<%lO%j~5iOg~n5pUWQyWOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%jj6ZWyW#PQOy%jz!O%j!O!P6s!P!Q%j!Q![9x![;'S%j;'S;=`%{<%lO%jj6xU!o`Oy%jz!Q%j!Q![7[![;'S%j;'S;=`%{<%lO%jj7cY!o`$gYOy%jz!Q%j!Q![7[![!g%j!g!h8R!h#X%j#X#Y8R#Y;'S%j;'S;=`%{<%lO%jj8WY!o`Oy%jz{%j{|8v|}%j}!O8v!O!Q%j!Q![9_![;'S%j;'S;=`%{<%lO%jj8{U!o`Oy%jz!Q%j!Q![9_![;'S%j;'S;=`%{<%lO%jj9fU!o`$gYOy%jz!Q%j!Q![9_![;'S%j;'S;=`%{<%lO%jj:P[!o`$gYOy%jz!O%j!O!P7[!P!Q%j!Q![9x![!g%j!g!h8R!h#X%j#X#Y8R#Y;'S%j;'S;=`%{<%lO%jj:zS!dYOy%jz;'S%j;'S;=`%{<%lO%jj;]WyWOy%jz!O%j!O!P6s!P!Q%j!Q![9x![;'S%j;'S;=`%{<%lO%jj;zU`YOy%jz!Q%j!Q![7[![;'S%j;'S;=`%{<%lO%j~VUcYOy%jz![%j![!]>i!];'S%j;'S;=`%{<%lO%jj>pSdY!o`Oy%jz;'S%j;'S;=`%{<%lO%jj?RSnYOy%jz;'S%j;'S;=`%{<%lO%jh?dU!WWOy%jz!_%j!_!`?v!`;'S%j;'S;=`%{<%lO%jh?}S!WW!o`Oy%jz;'S%j;'S;=`%{<%lO%jl@bS!WW!ySOy%jz;'S%j;'S;=`%{<%lO%jj@uV!|Q!WWOy%jz!_%j!_!`?v!`!aA[!a;'S%j;'S;=`%{<%lO%jbAcS!|Q!o`Oy%jz;'S%j;'S;=`%{<%lO%jjArYOy%jz}%j}!OBb!O!c%j!c!}CP!}#T%j#T#oCP#o;'S%j;'S;=`%{<%lO%jjBgW!o`Oy%jz!c%j!c!}CP!}#T%j#T#oCP#o;'S%j;'S;=`%{<%lO%jjCW[lY!o`Oy%jz}%j}!OCP!O!Q%j!Q![CP![!c%j!c!}CP!}#T%j#T#oCP#o;'S%j;'S;=`%{<%lO%jhDRS!zWOy%jz;'S%j;'S;=`%{<%lO%jjDdSpYOy%jz;'S%j;'S;=`%{<%lO%jnDuSo^Oy%jz;'S%j;'S;=`%{<%lO%jjEWU!zWOy%jz#a%j#a#bEj#b;'S%j;'S;=`%{<%lO%jbEoU!o`Oy%jz#d%j#d#eFR#e;'S%j;'S;=`%{<%lO%jbFWU!o`Oy%jz#c%j#c#dFj#d;'S%j;'S;=`%{<%lO%jbFoU!o`Oy%jz#f%j#f#gGR#g;'S%j;'S;=`%{<%lO%jbGWU!o`Oy%jz#h%j#h#iGj#i;'S%j;'S;=`%{<%lO%jbGoU!o`Oy%jz#T%j#T#UHR#U;'S%j;'S;=`%{<%lO%jbHWU!o`Oy%jz#b%j#b#cHj#c;'S%j;'S;=`%{<%lO%jbHoU!o`Oy%jz#h%j#h#iIR#i;'S%j;'S;=`%{<%lO%jbIYS$pQ!o`Oy%jz;'S%j;'S;=`%{<%lO%jjIkSsYOy%jz;'S%j;'S;=`%{<%lO%jfI|U$cUOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%jjJeSrYOy%jz;'S%j;'S;=`%{<%lO%jfJvU#PQOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%j`K]P;=`<%l%Z",tokenizers:[pk,mk,Ok,dk,1,2,3,4,new Qi("m~RRYZ[z{a~~g~aO$_~~dP!P!Qg~lO$`~~",28,152)],topRules:{StyleSheet:[0,6],Styles:[1,126]},dynamicPrecedences:{94:1},specialized:[{term:147,get:i=>Qk[i]||-1},{term:148,get:i=>bk[i]||-1},{term:4,get:i=>Sk[i]||-1},{term:28,get:i=>yk[i]||-1},{term:146,get:i=>kk[i]||-1}],tokenPrec:2405});var Pc=null;function vc(){if(!Pc&&typeof document=="object"&&document.body){let{style:i}=document.body,e=[],t=new Set;for(let n in i)n!="cssText"&&n!="cssFloat"&&typeof i[n]=="string"&&(/[A-Z]/.test(n)&&(n=n.replace(/[A-Z]/g,r=>"-"+r.toLowerCase())),t.has(n)||(e.push(n),t.add(n)));Pc=e.sort().map(n=>({type:"property",label:n,apply:n+": "}))}return Pc||[]}var $p=["active","after","any-link","autofill","backdrop","before","checked","cue","default","defined","disabled","empty","enabled","file-selector-button","first","first-child","first-letter","first-line","first-of-type","focus","focus-visible","focus-within","fullscreen","has","host","host-context","hover","in-range","indeterminate","invalid","is","lang","last-child","last-of-type","left","link","marker","modal","not","nth-child","nth-last-child","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","part","placeholder","placeholder-shown","read-only","read-write","required","right","root","scope","selection","slotted","target","target-text","valid","visited","where"].map(i=>({type:"class",label:i})),Tp=["above","absolute","activeborder","additive","activecaption","after-white-space","ahead","alias","all","all-scroll","alphabetic","alternate","always","antialiased","appworkspace","asterisks","attr","auto","auto-flow","avoid","avoid-column","avoid-page","avoid-region","axis-pan","background","backwards","baseline","below","bidi-override","blink","block","block-axis","bold","bolder","border","border-box","both","bottom","break","break-all","break-word","bullets","button","button-bevel","buttonface","buttonhighlight","buttonshadow","buttontext","calc","capitalize","caps-lock-indicator","caption","captiontext","caret","cell","center","checkbox","circle","cjk-decimal","clear","clip","close-quote","col-resize","collapse","color","color-burn","color-dodge","column","column-reverse","compact","condensed","contain","content","contents","content-box","context-menu","continuous","copy","counter","counters","cover","crop","cross","crosshair","currentcolor","cursive","cyclic","darken","dashed","decimal","decimal-leading-zero","default","default-button","dense","destination-atop","destination-in","destination-out","destination-over","difference","disc","discard","disclosure-closed","disclosure-open","document","dot-dash","dot-dot-dash","dotted","double","down","e-resize","ease","ease-in","ease-in-out","ease-out","element","ellipse","ellipsis","embed","end","ethiopic-abegede-gez","ethiopic-halehame-aa-er","ethiopic-halehame-gez","ew-resize","exclusion","expanded","extends","extra-condensed","extra-expanded","fantasy","fast","fill","fill-box","fixed","flat","flex","flex-end","flex-start","footnotes","forwards","from","geometricPrecision","graytext","grid","groove","hand","hard-light","help","hidden","hide","higher","highlight","highlighttext","horizontal","hsl","hsla","hue","icon","ignore","inactiveborder","inactivecaption","inactivecaptiontext","infinite","infobackground","infotext","inherit","initial","inline","inline-axis","inline-block","inline-flex","inline-grid","inline-table","inset","inside","intrinsic","invert","italic","justify","keep-all","landscape","large","larger","left","level","lighter","lighten","line-through","linear","linear-gradient","lines","list-item","listbox","listitem","local","logical","loud","lower","lower-hexadecimal","lower-latin","lower-norwegian","lowercase","ltr","luminosity","manipulation","match","matrix","matrix3d","medium","menu","menutext","message-box","middle","min-intrinsic","mix","monospace","move","multiple","multiple_mask_images","multiply","n-resize","narrower","ne-resize","nesw-resize","no-close-quote","no-drop","no-open-quote","no-repeat","none","normal","not-allowed","nowrap","ns-resize","numbers","numeric","nw-resize","nwse-resize","oblique","opacity","open-quote","optimizeLegibility","optimizeSpeed","outset","outside","outside-shape","overlay","overline","padding","padding-box","painted","page","paused","perspective","pinch-zoom","plus-darker","plus-lighter","pointer","polygon","portrait","pre","pre-line","pre-wrap","preserve-3d","progress","push-button","radial-gradient","radio","read-only","read-write","read-write-plaintext-only","rectangle","region","relative","repeat","repeating-linear-gradient","repeating-radial-gradient","repeat-x","repeat-y","reset","reverse","rgb","rgba","ridge","right","rotate","rotate3d","rotateX","rotateY","rotateZ","round","row","row-resize","row-reverse","rtl","run-in","running","s-resize","sans-serif","saturation","scale","scale3d","scaleX","scaleY","scaleZ","screen","scroll","scrollbar","scroll-position","se-resize","self-start","self-end","semi-condensed","semi-expanded","separate","serif","show","single","skew","skewX","skewY","skip-white-space","slide","slider-horizontal","slider-vertical","sliderthumb-horizontal","sliderthumb-vertical","slow","small","small-caps","small-caption","smaller","soft-light","solid","source-atop","source-in","source-out","source-over","space","space-around","space-between","space-evenly","spell-out","square","start","static","status-bar","stretch","stroke","stroke-box","sub","subpixel-antialiased","svg_masks","super","sw-resize","symbolic","symbols","system-ui","table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row","table-row-group","text","text-bottom","text-top","textarea","textfield","thick","thin","threeddarkshadow","threedface","threedhighlight","threedlightshadow","threedshadow","to","top","transform","translate","translate3d","translateX","translateY","translateZ","transparent","ultra-condensed","ultra-expanded","underline","unidirectional-pan","unset","up","upper-latin","uppercase","url","var","vertical","vertical-text","view-box","visible","visibleFill","visiblePainted","visibleStroke","visual","w-resize","wait","wave","wider","window","windowframe","windowtext","words","wrap","wrap-reverse","x-large","x-small","xor","xx-large","xx-small"].map(i=>({type:"keyword",label:i})).concat(["aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","grey","green","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen"].map(i=>({type:"constant",label:i}))),xk=["a","abbr","address","article","aside","b","bdi","bdo","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","dd","del","details","dfn","dialog","div","dl","dt","em","figcaption","figure","footer","form","header","hgroup","h1","h2","h3","h4","h5","h6","hr","html","i","iframe","img","input","ins","kbd","label","legend","li","main","meter","nav","ol","output","p","pre","ruby","section","select","small","source","span","strong","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","tr","u","ul"].map(i=>({type:"type",label:i})),wk=["@charset","@color-profile","@container","@counter-style","@font-face","@font-feature-values","@font-palette-values","@import","@keyframes","@layer","@media","@namespace","@page","@position-try","@property","@scope","@starting-style","@supports","@view-transition"].map(i=>({type:"keyword",label:i})),Bt=/^(\w[\w-]*|-\w[\w-]*|)$/,Pk=/^-(-[\w-]*)?$/;function vk(i,e){var t;if((i.name=="("||i.type.isError)&&(i=i.parent||i),i.name!="ArgList")return!1;let n=(t=i.parent)===null||t===void 0?void 0:t.firstChild;return n?.name!="Callee"?!1:e.sliceString(n.from,n.to)=="var"}var Cp=new fi,$k=["Declaration"];function Tk(i){for(let e=i;;){if(e.type.isTop)return e;if(!(e=e.parent))return i}}function Xp(i,e,t){if(e.to-e.from>4096){let n=Cp.get(e);if(n)return n;let r=[],s=new Set,o=e.cursor(ee.IncludeAnonymous);if(o.firstChild())do for(let a of Xp(i,o.node,t))s.has(a.label)||(s.add(a.label),r.push(a));while(o.nextSibling());return Cp.set(e,r),r}else{let n=[],r=new Set;return e.cursor().iterate(s=>{var o;if(t(s)&&s.matchContext($k)&&((o=s.node.nextSibling)===null||o===void 0?void 0:o.name)==":"){let a=i.sliceString(s.from,s.to);r.has(a)||(r.add(a),n.push({label:a,type:"variable"}))}}),n}}var Ck=i=>e=>{let{state:t,pos:n}=e,r=B(t).resolveInner(n,-1),s=r.type.isError&&r.from==r.to-1&&t.doc.sliceString(r.from,r.to)=="-";if(r.name=="PropertyName"||(s||r.name=="TagName")&&/^(Block|Styles)$/.test(r.resolve(r.to).name))return{from:r.from,options:vc(),validFor:Bt};if(r.name=="ValueName")return{from:r.from,options:Tp,validFor:Bt};if(r.name=="PseudoClassName")return{from:r.from,options:$p,validFor:Bt};if(i(r)||(e.explicit||s)&&vk(r,t.doc))return{from:i(r)||s?r.from:n,options:Xp(t.doc,Tk(r),i),validFor:Pk};if(r.name=="TagName"){for(let{parent:l}=r;l;l=l.parent)if(l.name=="Block")return{from:r.from,options:vc(),validFor:Bt};return{from:r.from,options:xk,validFor:Bt}}if(r.name=="AtKeyword")return{from:r.from,options:wk,validFor:Bt};if(!e.explicit)return null;let o=r.resolve(n),a=o.childBefore(n);return a&&a.name==":"&&o.name=="PseudoClassSelector"?{from:n,options:$p,validFor:Bt}:a&&a.name==":"&&o.name=="Declaration"||o.name=="ArgList"?{from:n,options:Tp,validFor:Bt}:o.name=="Block"||o.name=="Styles"?{from:n,options:vc(),validFor:Bt}:null},Xk=Ck(i=>i.name=="VariableName"),Pr=ve.define({name:"css",parser:vp.configure({props:[we.add({Declaration:Yt()}),$e.add({"Block KeyframeList":ct})]}),languageData:{commentTokens:{block:{open:"/*",close:"*/"}},indentOnInput:/^\s*\}$/,wordChars:"-"}});function ro(){return new pe(Pr,Pr.data.of({autocomplete:Xk}))}var _k=316,Rk=317,_p=1,Ak=2,Zk=3,qk=4,Ek=318,zk=320,Lk=321,Mk=5,Wk=6,jk=0,Tc=[9,10,11,12,13,32,133,160,5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8232,8233,8239,8287,12288],Rp=125,Vk=59,Cc=47,Dk=42,Yk=43,Ik=45,Bk=60,Uk=44,Gk=63,Nk=46,Fk=91,Hk=new Ot({start:!1,shift(i,e){return e==Mk||e==Wk||e==zk?i:e==Lk},strict:!1}),Kk=new K((i,e)=>{let{next:t}=i;(t==Rp||t==-1||e.context)&&i.acceptToken(Ek)},{contextual:!0,fallback:!0}),Jk=new K((i,e)=>{let{next:t}=i,n;Tc.indexOf(t)>-1||t==Cc&&((n=i.peek(1))==Cc||n==Dk)||t!=Rp&&t!=Vk&&t!=-1&&!e.context&&i.acceptToken(_k)},{contextual:!0}),e1=new K((i,e)=>{i.next==Fk&&!e.context&&i.acceptToken(Rk)},{contextual:!0}),t1=new K((i,e)=>{let{next:t}=i;if(t==Yk||t==Ik){if(i.advance(),t==i.next){i.advance();let n=!e.context&&e.canShift(_p);i.acceptToken(n?_p:Ak)}}else t==Gk&&i.peek(1)==Nk&&(i.advance(),i.advance(),(i.next<48||i.next>57)&&i.acceptToken(Zk))},{contextual:!0});function $c(i,e){return i>=65&&i<=90||i>=97&&i<=122||i==95||i>=192||!e&&i>=48&&i<=57}var i1=new K((i,e)=>{if(i.next!=Bk||!e.dialectEnabled(jk)||(i.advance(),i.next==Cc))return;let t=0;for(;Tc.indexOf(i.next)>-1;)i.advance(),t++;if($c(i.next,!0)){for(i.advance(),t++;$c(i.next,!1);)i.advance(),t++;for(;Tc.indexOf(i.next)>-1;)i.advance(),t++;if(i.next==Uk)return;for(let n=0;;n++){if(n==7){if(!$c(i.next,!0))return;break}if(i.next!="extends".charCodeAt(n))break;i.advance(),t++}}i.acceptToken(qk,-t)}),n1=ge({"get set async static":d.modifier,"for while do if else switch try catch finally return throw break continue default case defer":d.controlKeyword,"in of await yield void typeof delete instanceof as satisfies":d.operatorKeyword,"let var const using function class extends":d.definitionKeyword,"import export from":d.moduleKeyword,"with debugger new":d.keyword,TemplateString:d.special(d.string),super:d.atom,BooleanLiteral:d.bool,this:d.self,null:d.null,Star:d.modifier,VariableName:d.variableName,"CallExpression/VariableName TaggedTemplateExpression/VariableName":d.function(d.variableName),VariableDefinition:d.definition(d.variableName),Label:d.labelName,PropertyName:d.propertyName,PrivatePropertyName:d.special(d.propertyName),"CallExpression/MemberExpression/PropertyName":d.function(d.propertyName),"FunctionDeclaration/VariableDefinition":d.function(d.definition(d.variableName)),"ClassDeclaration/VariableDefinition":d.definition(d.className),"NewExpression/VariableName":d.className,PropertyDefinition:d.definition(d.propertyName),PrivatePropertyDefinition:d.definition(d.special(d.propertyName)),UpdateOp:d.updateOperator,"LineComment Hashbang":d.lineComment,BlockComment:d.blockComment,Number:d.number,String:d.string,Escape:d.escape,ArithOp:d.arithmeticOperator,LogicOp:d.logicOperator,BitOp:d.bitwiseOperator,CompareOp:d.compareOperator,RegExp:d.regexp,Equals:d.definitionOperator,Arrow:d.function(d.punctuation),": Spread":d.punctuation,"( )":d.paren,"[ ]":d.squareBracket,"{ }":d.brace,"InterpolationStart InterpolationEnd":d.special(d.brace),".":d.derefOperator,", ;":d.separator,"@":d.meta,TypeName:d.typeName,TypeDefinition:d.definition(d.typeName),"type enum interface implements namespace module declare":d.definitionKeyword,"abstract global Privacy readonly override":d.modifier,"is keyof unique infer asserts":d.operatorKeyword,JSXAttributeValue:d.attributeValue,JSXText:d.content,"JSXStartTag JSXStartCloseTag JSXSelfCloseEndTag JSXEndTag":d.angleBracket,"JSXIdentifier JSXNameSpacedName":d.tagName,"JSXAttribute/JSXIdentifier JSXAttribute/JSXNameSpacedName":d.attributeName,"JSXBuiltin/JSXIdentifier":d.standard(d.tagName)}),r1={__proto__:null,export:20,as:25,from:33,default:36,async:41,function:42,in:52,out:55,const:56,extends:60,this:64,true:72,false:72,null:84,void:88,typeof:92,super:108,new:142,delete:154,yield:163,await:167,class:172,public:235,private:235,protected:235,readonly:237,instanceof:256,satisfies:259,import:292,keyof:349,unique:353,infer:359,asserts:395,is:397,abstract:417,implements:419,type:421,let:424,var:426,using:429,interface:435,enum:439,namespace:445,module:447,declare:451,global:455,defer:471,for:476,of:485,while:488,with:492,do:496,if:500,else:502,switch:506,case:512,try:518,catch:522,finally:526,return:530,throw:534,break:538,continue:542,debugger:546},s1={__proto__:null,async:129,get:131,set:133,declare:195,public:197,private:197,protected:197,static:199,abstract:201,override:203,readonly:209,accessor:211,new:401},o1={__proto__:null,"<":193},Ap=Pe.deserialize({version:14,states:"$F|Q%TQlOOO%[QlOOO'_QpOOP(lO`OOO*zQ!0MxO'#CiO+RO#tO'#CjO+aO&jO'#CjO+oO#@ItO'#DaO.QQlO'#DgO.bQlO'#DrO%[QlO'#DzO0fQlO'#ESOOQ!0Lf'#E['#E[O1PQ`O'#EXOOQO'#Ep'#EpOOQO'#Il'#IlO1XQ`O'#GsO1dQ`O'#EoO1iQ`O'#EoO3hQ!0MxO'#JrO6[Q!0MxO'#JsO6uQ`O'#F]O6zQ,UO'#FtOOQ!0Lf'#Ff'#FfO7VO7dO'#FfO9XQMhO'#F|O9`Q`O'#F{OOQ!0Lf'#Js'#JsOOQ!0Lb'#Jr'#JrO9eQ`O'#GwOOQ['#K_'#K_O9pQ`O'#IYO9uQ!0LrO'#IZOOQ['#J`'#J`OOQ['#I_'#I_Q`QlOOQ`QlOOO9}Q!L^O'#DvO:UQlO'#EOO:]QlO'#EQO9kQ`O'#GsO:dQMhO'#CoO:rQ`O'#EnO:}Q`O'#EyO;hQMhO'#FeO;xQ`O'#GsOOQO'#K`'#K`O;}Q`O'#K`O<]Q`O'#G{O<]Q`O'#G|O<]Q`O'#HOO9kQ`O'#HRO=SQ`O'#HUO>kQ`O'#CeO>{Q`O'#HcO?TQ`O'#HiO?TQ`O'#HkO`QlO'#HmO?TQ`O'#HoO?TQ`O'#HrO?YQ`O'#HxO?_Q!0LsO'#IOO%[QlO'#IQO?jQ!0LsO'#ISO?uQ!0LsO'#IUO9uQ!0LrO'#IWO@QQ!0MxO'#CiOASQpO'#DlQOQ`OOO%[QlO'#EQOAjQ`O'#ETO:dQMhO'#EnOAuQ`O'#EnOBQQ!bO'#FeOOQ['#Cg'#CgOOQ!0Lb'#Dq'#DqOOQ!0Lb'#Jv'#JvO%[QlO'#JvOOQO'#Jy'#JyOOQO'#Ih'#IhOCQQpO'#EgOOQ!0Lb'#Ef'#EfOOQ!0Lb'#J}'#J}OC|Q!0MSO'#EgODWQpO'#EWOOQO'#Jx'#JxODlQpO'#JyOEyQpO'#EWODWQpO'#EgPFWO&2DjO'#CbPOOO)CD})CD}OOOO'#I`'#I`OFcO#tO,59UOOQ!0Lh,59U,59UOOOO'#Ia'#IaOFqO&jO,59UOGPQ!L^O'#DcOOOO'#Ic'#IcOGWO#@ItO,59{OOQ!0Lf,59{,59{OGfQlO'#IdOGyQ`O'#JtOIxQ!fO'#JtO+}QlO'#JtOJPQ`O,5:ROJgQ`O'#EpOJtQ`O'#KTOKPQ`O'#KSOKPQ`O'#KSOKXQ`O,5;^OK^Q`O'#KROOQ!0Ln,5:^,5:^OKeQlO,5:^OMcQ!0MxO,5:fONSQ`O,5:nONmQ!0LrO'#KQONtQ`O'#KPO9eQ`O'#KPO! YQ`O'#KPO! bQ`O,5;]O! gQ`O'#KPO!#lQ!fO'#JsOOQ!0Lh'#Ci'#CiO%[QlO'#ESO!$[Q!fO,5:sOOQS'#Jz'#JzOOQO-EtOOQ['#Jh'#JhOOQ[,5>u,5>uOOQ[-E<]-E<]O!TO`QlO,5>VO!LOQ`O,5>XO`QlO,5>ZO!LTQ`O,5>^O!LYQlO,5>dOOQ[,5>j,5>jO%[QlO,5>jO9uQ!0LrO,5>lOOQ[,5>n,5>nO#!dQ`O,5>nOOQ[,5>p,5>pO#!dQ`O,5>pOOQ[,5>r,5>rO##QQpO'#D_O%[QlO'#JvO##sQpO'#JvO##}QpO'#DmO#$`QpO'#DmO#&qQlO'#DmO#&xQ`O'#JuO#'QQ`O,5:WO#'VQ`O'#EtO#'eQ`O'#KUO#'mQ`O,5;_O#'rQpO'#DmO#(PQpO'#EVOOQ!0Lf,5:o,5:oO%[QlO,5:oO#(WQ`O,5:oO?YQ`O,5;YO!CUQpO,5;YO!C^QMhO,5;YO:dQMhO,5;YO#(`Q`O,5@bO#(eQ07dO,5:sOOQO-EPO$6^Q`O,5>POOQ[1G3i1G3iO`QlO1G3iOOQ[1G3o1G3oOOQ[1G3q1G3qO?TQ`O1G3sO$6cQlO1G3uO$:gQlO'#HtOOQ[1G3x1G3xO$:tQ`O'#HzO?YQ`O'#H|OOQ[1G4O1G4OO$:|QlO1G4OO9uQ!0LrO1G4UOOQ[1G4W1G4WOOQ!0Lb'#G_'#G_O9uQ!0LrO1G4YO9uQ!0LrO1G4[O$?TQ`O,5@bO!)[QlO,5;`O9eQ`O,5;`O?YQ`O,5:XO!)[QlO,5:XO!CUQpO,5:XO$?YQ?MtO,5:XOOQO,5;`,5;`O$?dQpO'#IeO$?zQ`O,5@aOOQ!0Lf1G/r1G/rO$@SQpO'#IkO$@^Q`O,5@pOOQ!0Lb1G0y1G0yO#$`QpO,5:XOOQO'#Ig'#IgO$@fQpO,5:qOOQ!0Ln,5:q,5:qO#(ZQ`O1G0ZOOQ!0Lf1G0Z1G0ZO%[QlO1G0ZOOQ!0Lf1G0t1G0tO?YQ`O1G0tO!CUQpO1G0tO!C^QMhO1G0tOOQ!0Lb1G5|1G5|O!ByQ!0LrO1G0^OOQO1G0m1G0mO%[QlO1G0mO$@mQ!0LrO1G0mO$@xQ!0LrO1G0mO!CUQpO1G0^ODWQpO1G0^O$AWQ!0LrO1G0mOOQO1G0^1G0^O$AlQ!0MxO1G0mPOOO-E<[-E<[POOO1G.h1G.hOOOO1G/i1G/iO$AvQ!bO,5QQpO,5@}OOQ!0Lb1G3c1G3cOOQ[7+$V7+$VO@zQ`O7+$VO9uQ!0LrO7+$VO%>]Q`O7+$VO%[QlO1G6lO%[QlO1G6mO%>bQ!0LrO1G6lO%>lQlO1G3kO%>sQ`O1G3kO%>xQlO1G3kOOQ[7+)T7+)TO9uQ!0LrO7+)_O`QlO7+)aOOQ['#Kh'#KhOOQ['#JS'#JSO%?PQlO,5>`OOQ[,5>`,5>`O%[QlO'#HuO%?^Q`O'#HwOOQ[,5>f,5>fO9eQ`O,5>fOOQ[,5>h,5>hOOQ[7+)j7+)jOOQ[7+)p7+)pOOQ[7+)t7+)tOOQ[7+)v7+)vO%?cQpO1G5|O%?}Q?MtO1G0zO%@XQ`O1G0zOOQO1G/s1G/sO%@dQ?MtO1G/sO?YQ`O1G/sO!)[QlO'#DmOOQO,5?P,5?POOQO-ERQ`O7+,WO&>WQ`O7+,XO%[QlO7+,WO%[QlO7+,XOOQ[7+)V7+)VO&>]Q`O7+)VO&>bQlO7+)VO&>iQ`O7+)VOOQ[<nQ`O,5>aOOQ[,5>c,5>cO&>sQ`O1G4QO9eQ`O7+&fO!)[QlO7+&fOOQO7+%_7+%_O&>xQ?MtO1G6ZO?YQ`O7+%_OOQ!0Lf<yQ?MvO,5?aO'@|Q?MvO,5?cO'CPQ?MvO7+'|O'DuQMjOG27TOOQO<VO!l$xO#jROe!iOpkOrPO(T)]O(VTO(YUO(aVO(o[O~O!]$_Oa$qa'z$qa'w$qa!k$qa!Y$qa!_$qa%i$qa!g$qa~Ol)dO~P!&zOh%VOp%WOr%XOs$tOt$tOz%YO|%ZO!O%]O!S${O!_$|O!i%bO!l$xO#j%cO$W%`O$t%^O$v%_O$y%aO(T(vO(VTO(YUO(a$uO(y$}O(z%PO~Og(pP~P!,TO!Q)iO!g)hO!_$^X$Z$^X$]$^X$_$^X$f$^X~O!g)hO!_({X$Z({X$]({X$_({X$f({X~O!Q)iO~P!.^O!Q)iO!_({X$Z({X$]({X$_({X$f({X~O!_)kO$Z)oO$])jO$_)jO$f)pO~O![)sO~P!)[O$]$hO$_$gO$f)wO~On$zX!Q$zX#S$zX'y$zX(y$zX(z$zX~OgmXg$zXnmX!]mX#`mX~P!0SOx)yO(b)zO(c)|O~On*VO!Q*OO'y*PO(y$}O(z%PO~Og)}O~P!1WOg*WO~Oh%VOr%XOs$tOt$tOz%YO|%ZO!OVO!l$xO#jVO!l$xO#jROe!iOpkOrPO(VTO(YUO(aVO(o[O~O(T=QO~P#$qO!]-]O!^(iX~O!^-_O~O!g-VO#`-UO!]#hX!^#hX~O!]-`O!^(xX~O!^-bO~O!c-cO!d-cO(U!lO~P#$`O!^-fO~P'_On-iO!_'`O~O!Y-nO~Os!{a!b!{a!c!{a!d!{a#T!{a#U!{a#V!{a#W!{a#X!{a#[!{a#]!{a(U!{a(V!{a(Y!{a(e!{a(o!{a~P!#vO!p-sO#`-qO~PChO!c-uO!d-uO(U!lO~PDWOa%nO#`-qO'z%nO~Oa%nO!g#vO#`-qO'z%nO~Oa%nO!g#vO!p-sO#`-qO'z%nO(r'pO~O(P'xO(Q'xO(R-zO~Ov-{O~O!Y'Wa!]'Wa~P!:tO![.PO!Y'WX!]'WX~P%[O!](VO!Y(ha~O!Y(ha~PHRO!](^O!Y(va~O!S%hO![.TO!_%iO(T%gO!Y'^X!]'^X~O#`.VO!](ta!k(taa(ta'z(ta~O!g#vO~P#,wO!](jO!k(sa~O!S%hO!_%iO#j.ZO(T%gO~Op.`O!S%hO![.]O!_%iO!|]O#i._O#j.]O(T%gO!]'aX!k'aX~OR.dO!l#xO~Oh%VOn.gO!_'`O%i.fO~Oa#ci!]#ci'z#ci'w#ci!Y#ci!k#civ#ci!_#ci%i#ci!g#ci~P!:tOn>]O!Q*OO'y*PO(y$}O(z%PO~O#k#_aa#_a#`#_a'z#_a!]#_a!k#_a!_#_a!Y#_a~P#/sO#k(`XP(`XR(`X[(`Xa(`Xj(`Xr(`X!S(`X!l(`X!p(`X#R(`X#n(`X#o(`X#p(`X#q(`X#r(`X#s(`X#t(`X#u(`X#v(`X#x(`X#z(`X#{(`X'z(`X(a(`X(r(`X!k(`X!Y(`X'w(`Xv(`X!_(`X%i(`X!g(`X~P!6kO!].tO!k(kX~P!:tO!k.wO~O!Y.yO~OP$[OR#zO!Q#yO!S#{O!l#xO!p$[O(aVO[#mia#mij#mir#mi!]#mi#R#mi#o#mi#p#mi#q#mi#r#mi#s#mi#t#mi#u#mi#v#mi#x#mi#z#mi#{#mi'z#mi(r#mi(y#mi(z#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#n#mi~P#3cO#n$OO~P#3cOP$[OR#zOr$aO!Q#yO!S#{O!l#xO!p$[O#n$OO#o$PO#p$PO#q$PO(aVO[#mia#mij#mi!]#mi#R#mi#s#mi#t#mi#u#mi#v#mi#x#mi#z#mi#{#mi'z#mi(r#mi(y#mi(z#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#r#mi~P#6QO#r$QO~P#6QOP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO(aVOa#mi!]#mi#x#mi#z#mi#{#mi'z#mi(r#mi(y#mi(z#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#v#mi~P#8oOP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO#v$SO(aVO(z#}Oa#mi!]#mi#z#mi#{#mi'z#mi(r#mi(y#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#x$UO~P#;VO#x#mi~P#;VO#v$SO~P#8oOP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO#v$SO#x$UO(aVO(y#|O(z#}Oa#mi!]#mi#{#mi'z#mi(r#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#z#mi~P#={O#z$WO~P#={OP]XR]X[]Xj]Xr]X!Q]X!S]X!l]X!p]X#R]X#S]X#`]X#kfX#n]X#o]X#p]X#q]X#r]X#s]X#t]X#u]X#v]X#x]X#z]X#{]X$Q]X(a]X(r]X(y]X(z]X!]]X!^]X~O$O]X~P#@jOP$[OR#zO[]O!Q*OO'y*PO(y$}O(z%POP#miR#mi!S#mi!l#mi!p#mi#n#mi#o#mi#p#mi#q#mi(a#mi~P#EyO!]/POg(pX~P!1WOg/RO~Oa$Pi!]$Pi'z$Pi'w$Pi!Y$Pi!k$Piv$Pi!_$Pi%i$Pi!g$Pi~P!:tO$]/SO$_/SO~O$]/TO$_/TO~O!g)hO#`/UO!_$cX$Z$cX$]$cX$_$cX$f$cX~O![/VO~O!_)kO$Z/XO$])jO$_)jO$f/YO~O!]VO!l$xO#j^O!Q*OO'y*PO(y$}O(z%POP#miR#mi!S#mi!l#mi!p#mi#n#mi#o#mi#p#mi#q#mi(a#mi~P&,QO#S$dOP(`XR(`X[(`Xj(`Xn(`Xr(`X!Q(`X!S(`X!l(`X!p(`X#R(`X#n(`X#o(`X#p(`X#q(`X#r(`X#s(`X#t(`X#u(`X#v(`X#x(`X#z(`X#{(`X$O(`X'y(`X(a(`X(r(`X(y(`X(z(`X!](`X!^(`X~O$O$Pi!]$Pi!^$Pi~P#BwO$O!ri!^!ri~P$+oOg']a!]']a~P!1WO!^7nO~O!]'da!^'da~P#BwO!Y7oO~P#/sO!g#vO(r'pO!]'ea!k'ea~O!]/pO!k)Oi~O!]/pO!g#vO!k)Oi~Og$|q!]$|q#`$|q$O$|q~P!1WO!Y'ga!]'ga~P#/sO!g7vO~O!]/yO!Y)Pi~P#/sO!]/yO!Y)Pi~O!Y7yO~Oh%VOr8OO!l%eO(r'pO~Oj8QO!g#vO~Or8TO!g#vO(r'pO~O!Q*OO'y*PO(z%POn'ja(y'ja!]'ja#`'ja~Og'ja$O'ja~P&5RO!Q*OO'y*POn'la(y'la(z'la!]'la#`'la~Og'la$O'la~P&5tOg(_q!](_q~P!1WO#`8VOg(_q!](_q~P!1WO!Y8WO~Og%Oq!]%Oq#`%Oq$O%Oq~P!1WOa$oy!]$oy'z$oy'w$oy!Y$oy!k$oyv$oy!_$oy%i$oy!g$oy~P!:tO!g6rO~O!]5[O!_)Qa~O!_'`OP$TaR$Ta[$Taj$Tar$Ta!Q$Ta!S$Ta!]$Ta!l$Ta!p$Ta#R$Ta#n$Ta#o$Ta#p$Ta#q$Ta#r$Ta#s$Ta#t$Ta#u$Ta#v$Ta#x$Ta#z$Ta#{$Ta(a$Ta(r$Ta(y$Ta(z$Ta~O%i7WO~P&8fO%^8[Oa%[i!_%[i'z%[i!]%[i~Oa#cy!]#cy'z#cy'w#cy!Y#cy!k#cyv#cy!_#cy%i#cy!g#cy~P!:tO[8^O~Ob8`O(T+qO(VTO(YUO~O!]1TO!^)Xi~O`8dO~O(e(|O!]'pX!^'pX~O!]5uO!^)Ua~O!^8nO~P%;eO(o!sO~P$&YO#[8oO~O!_1oO~O!_1oO%i8qO~On8tO!_1oO%i8qO~O[8yO!]'sa!^'sa~O!]1zO!^)Vi~O!k8}O~O!k9OO~O!k9RO~O!k9RO~P%[Oa9TO~O!g9UO~O!k9VO~O!](wi!^(wi~P#BwOa%nO#`9_O'z%nO~O!](ty!k(tya(ty'z(ty~P!:tO!](jO!k(sy~O%i9bO~P&8fO!_'`O%i9bO~O#k$|qP$|qR$|q[$|qa$|qj$|qr$|q!S$|q!]$|q!l$|q!p$|q#R$|q#n$|q#o$|q#p$|q#q$|q#r$|q#s$|q#t$|q#u$|q#v$|q#x$|q#z$|q#{$|q'z$|q(a$|q(r$|q!k$|q!Y$|q'w$|q#`$|qv$|q!_$|q%i$|q!g$|q~P#/sO#k'jaP'jaR'ja['jaa'jaj'jar'ja!S'ja!l'ja!p'ja#R'ja#n'ja#o'ja#p'ja#q'ja#r'ja#s'ja#t'ja#u'ja#v'ja#x'ja#z'ja#{'ja'z'ja(a'ja(r'ja!k'ja!Y'ja'w'jav'ja!_'ja%i'ja!g'ja~P&5RO#k'laP'laR'la['laa'laj'lar'la!S'la!l'la!p'la#R'la#n'la#o'la#p'la#q'la#r'la#s'la#t'la#u'la#v'la#x'la#z'la#{'la'z'la(a'la(r'la!k'la!Y'la'w'lav'la!_'la%i'la!g'la~P&5tO#k%OqP%OqR%Oq[%Oqa%Oqj%Oqr%Oq!S%Oq!]%Oq!l%Oq!p%Oq#R%Oq#n%Oq#o%Oq#p%Oq#q%Oq#r%Oq#s%Oq#t%Oq#u%Oq#v%Oq#x%Oq#z%Oq#{%Oq'z%Oq(a%Oq(r%Oq!k%Oq!Y%Oq'w%Oq#`%Oqv%Oq!_%Oq%i%Oq!g%Oq~P#/sO!]'Yi!k'Yi~P!:tO$O#cq!]#cq!^#cq~P#BwO(y$}OP%aaR%aa[%aaj%aar%aa!S%aa!l%aa!p%aa#R%aa#n%aa#o%aa#p%aa#q%aa#r%aa#s%aa#t%aa#u%aa#v%aa#x%aa#z%aa#{%aa$O%aa(a%aa(r%aa!]%aa!^%aa~On%aa!Q%aa'y%aa(z%aa~P&IyO(z%POP%caR%ca[%caj%car%ca!S%ca!l%ca!p%ca#R%ca#n%ca#o%ca#p%ca#q%ca#r%ca#s%ca#t%ca#u%ca#v%ca#x%ca#z%ca#{%ca$O%ca(a%ca(r%ca!]%ca!^%ca~On%ca!Q%ca'y%ca(y%ca~P&LQOn>^O!Q*OO'y*PO(z%PO~P&IyOn>^O!Q*OO'y*PO(y$}O~P&LQOR0kO!Q0kO!S0lO#S$dOP}a[}aj}an}ar}a!l}a!p}a#R}a#n}a#o}a#p}a#q}a#r}a#s}a#t}a#u}a#v}a#x}a#z}a#{}a$O}a'y}a(a}a(r}a(y}a(z}a!]}a!^}a~O!Q*OO'y*POP$saR$sa[$saj$san$sar$sa!S$sa!l$sa!p$sa#R$sa#n$sa#o$sa#p$sa#q$sa#r$sa#s$sa#t$sa#u$sa#v$sa#x$sa#z$sa#{$sa$O$sa(a$sa(r$sa(y$sa(z$sa!]$sa!^$sa~O!Q*OO'y*POP$uaR$ua[$uaj$uan$uar$ua!S$ua!l$ua!p$ua#R$ua#n$ua#o$ua#p$ua#q$ua#r$ua#s$ua#t$ua#u$ua#v$ua#x$ua#z$ua#{$ua$O$ua(a$ua(r$ua(y$ua(z$ua!]$ua!^$ua~On>^O!Q*OO'y*PO(y$}O(z%PO~OP%TaR%Ta[%Taj%Tar%Ta!S%Ta!l%Ta!p%Ta#R%Ta#n%Ta#o%Ta#p%Ta#q%Ta#r%Ta#s%Ta#t%Ta#u%Ta#v%Ta#x%Ta#z%Ta#{%Ta$O%Ta(a%Ta(r%Ta!]%Ta!^%Ta~P''VO$O$mq!]$mq!^$mq~P#BwO$O$oq!]$oq!^$oq~P#BwO!^9oO~O$O9pO~P!1WO!g#vO!]'ei!k'ei~O!g#vO(r'pO!]'ei!k'ei~O!]/pO!k)Oq~O!Y'gi!]'gi~P#/sO!]/yO!Y)Pq~Or9wO!g#vO(r'pO~O[9yO!Y9xO~P#/sO!Y9xO~Oj:PO!g#vO~Og(_y!](_y~P!1WO!]'na!_'na~P#/sOa%[q!_%[q'z%[q!]%[q~P#/sO[:UO~O!]1TO!^)Xq~O`:YO~O#`:ZO!]'pa!^'pa~O!]5uO!^)Ui~P#BwO!S:]O~O!_1oO%i:`O~O(VTO(YUO(e:eO~O!]1zO!^)Vq~O!k:hO~O!k:iO~O!k:jO~O!k:jO~P%[O#`:mO!]#hy!^#hy~O!]#hy!^#hy~P#BwO%i:rO~P&8fO!_'`O%i:rO~O$O#|y!]#|y!^#|y~P#BwOP$|iR$|i[$|ij$|ir$|i!S$|i!l$|i!p$|i#R$|i#n$|i#o$|i#p$|i#q$|i#r$|i#s$|i#t$|i#u$|i#v$|i#x$|i#z$|i#{$|i$O$|i(a$|i(r$|i!]$|i!^$|i~P''VO!Q*OO'y*PO(z%POP'iaR'ia['iaj'ian'iar'ia!S'ia!l'ia!p'ia#R'ia#n'ia#o'ia#p'ia#q'ia#r'ia#s'ia#t'ia#u'ia#v'ia#x'ia#z'ia#{'ia$O'ia(a'ia(r'ia(y'ia!]'ia!^'ia~O!Q*OO'y*POP'kaR'ka['kaj'kan'kar'ka!S'ka!l'ka!p'ka#R'ka#n'ka#o'ka#p'ka#q'ka#r'ka#s'ka#t'ka#u'ka#v'ka#x'ka#z'ka#{'ka$O'ka(a'ka(r'ka(y'ka(z'ka!]'ka!^'ka~O(y$}OP%aiR%ai[%aij%ain%air%ai!Q%ai!S%ai!l%ai!p%ai#R%ai#n%ai#o%ai#p%ai#q%ai#r%ai#s%ai#t%ai#u%ai#v%ai#x%ai#z%ai#{%ai$O%ai'y%ai(a%ai(r%ai(z%ai!]%ai!^%ai~O(z%POP%ciR%ci[%cij%cin%cir%ci!Q%ci!S%ci!l%ci!p%ci#R%ci#n%ci#o%ci#p%ci#q%ci#r%ci#s%ci#t%ci#u%ci#v%ci#x%ci#z%ci#{%ci$O%ci'y%ci(a%ci(r%ci(y%ci!]%ci!^%ci~O$O$oy!]$oy!^$oy~P#BwO$O#cy!]#cy!^#cy~P#BwO!g#vO!]'eq!k'eq~O!]/pO!k)Oy~O!Y'gq!]'gq~P#/sOr:|O!g#vO(r'pO~O[;QO!Y;PO~P#/sO!Y;PO~Og(_!R!](_!R~P!1WOa%[y!_%[y'z%[y!]%[y~P#/sO!]1TO!^)Xy~O!]5uO!^)Uq~O(T;XO~O!_1oO%i;[O~O!k;_O~O%i;dO~P&8fOP$|qR$|q[$|qj$|qr$|q!S$|q!l$|q!p$|q#R$|q#n$|q#o$|q#p$|q#q$|q#r$|q#s$|q#t$|q#u$|q#v$|q#x$|q#z$|q#{$|q$O$|q(a$|q(r$|q!]$|q!^$|q~P''VO!Q*OO'y*PO(z%POP'jaR'ja['jaj'jan'jar'ja!S'ja!l'ja!p'ja#R'ja#n'ja#o'ja#p'ja#q'ja#r'ja#s'ja#t'ja#u'ja#v'ja#x'ja#z'ja#{'ja$O'ja(a'ja(r'ja(y'ja!]'ja!^'ja~O!Q*OO'y*POP'laR'la['laj'lan'lar'la!S'la!l'la!p'la#R'la#n'la#o'la#p'la#q'la#r'la#s'la#t'la#u'la#v'la#x'la#z'la#{'la$O'la(a'la(r'la(y'la(z'la!]'la!^'la~OP%OqR%Oq[%Oqj%Oqr%Oq!S%Oq!l%Oq!p%Oq#R%Oq#n%Oq#o%Oq#p%Oq#q%Oq#r%Oq#s%Oq#t%Oq#u%Oq#v%Oq#x%Oq#z%Oq#{%Oq$O%Oq(a%Oq(r%Oq!]%Oq!^%Oq~P''VOg%e!Z!]%e!Z#`%e!Z$O%e!Z~P!1WO!Y;hO~P#/sOr;iO!g#vO(r'pO~O[;kO!Y;hO~P#/sO!]'pq!^'pq~P#BwO!]#h!Z!^#h!Z~P#BwO#k%e!ZP%e!ZR%e!Z[%e!Za%e!Zj%e!Zr%e!Z!S%e!Z!]%e!Z!l%e!Z!p%e!Z#R%e!Z#n%e!Z#o%e!Z#p%e!Z#q%e!Z#r%e!Z#s%e!Z#t%e!Z#u%e!Z#v%e!Z#x%e!Z#z%e!Z#{%e!Z'z%e!Z(a%e!Z(r%e!Z!k%e!Z!Y%e!Z'w%e!Z#`%e!Zv%e!Z!_%e!Z%i%e!Z!g%e!Z~P#/sOr;tO!g#vO(r'pO~O!Y;uO~P#/sOr;|O!g#vO(r'pO~O!Y;}O~P#/sOP%e!ZR%e!Z[%e!Zj%e!Zr%e!Z!S%e!Z!l%e!Z!p%e!Z#R%e!Z#n%e!Z#o%e!Z#p%e!Z#q%e!Z#r%e!Z#s%e!Z#t%e!Z#u%e!Z#v%e!Z#x%e!Z#z%e!Z#{%e!Z$O%e!Z(a%e!Z(r%e!Z!]%e!Z!^%e!Z~P''VOrROe!iOpkOrPO(T)]O(VTO(YUO(aVO(o[O~O!]WO!l$xO#jgPPP!>oI[PPPPPPPPP!BOP!C]PPI[!DnPI[PI[I[I[I[I[PI[!FQP!I[P!LbP!Lf!Lp!Lt!LtP!IXP!Lx!LxP#!OP#!SI[PI[#!Y#%_CjA^PA^PA^A^P#&lA^A^#)OA^#+vA^#.SA^A^#.r#1W#1W#1]#1f#1W#1qPP#1WPA^#2ZA^#6YA^A^6mPPP#:_PPP#:x#:xP#:xP#;`#:xPP#;fP#;]P#;]#;y#;]#P#>V#>]#>k#>q#>{#?R#?]#?c#?s#?y#@k#@}#AT#AZ#Ai#BO#Cs#DR#DY#Et#FS#Gt#HS#HY#H`#Hf#Hp#Hv#H|#IW#Ij#IpPPPPPPPPPPP#IvPPPPPPP#Jk#Mx$ b$ i$ qPPP$']P$'f$*_$0x$0{$1O$1}$2Q$2X$2aP$2g$2jP$3W$3[$4S$5b$5g$5}PP$6S$6Y$6^$6a$6e$6i$7e$7|$8e$8i$8l$8o$8y$8|$9Q$9UR!|RoqOXst!Z#d%m&r&t&u&w,s,x2[2_Y!vQ'`-e1o5{Q%tvQ%|yQ&T|Q&j!VS'W!e-]Q'f!iS'l!r!yU*k$|*Z*oQ+o%}S+|&V&WQ,d&dQ-c'_Q-m'gQ-u'mQ0[*qQ1b,OQ1y,eR<{SU+P%]S!S!nQ!r!v!y!z$|'W'_'`'l'm'n*k*o*q*r-]-c-e-u0[0_1o5{5}%[$ti#v$b$c$d$x${%O%Q%^%_%c)y*R*T*V*Y*a*g*w*x+f+i,S,V.f/P/d/m/x/y/{0`0b0i0j0o1f1i1q3c4^4_4j4o5Q5[5_6S7W7v8Q8V8[8q9b9p9y:P:`:r;Q;[;d;kP>X>Y>]>^Q&X|Q'U!eS'[%i-`Q+t&PQ,P&WQ,f&gQ0n+SQ1Y+uQ1_+{Q2Q,jQ2R,kQ5f1TQ5o1aQ6[1zQ6_1|Q6`2PQ8`5gQ8c5lQ8|6bQ:X8dQ:f8yQ;V:YR<}*ZrnOXst!V!Z#d%m&i&r&t&u&w,s,x2[2_R,h&k&z^OPXYstuvwz!Z!`!g!j!o#S#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%m%t&R&k&n&o&r&t&u&w&{'T'b'r(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:mR>S[#]WZ#W#Z'X(T!b%jm#h#i#l$x%e%h(^(h(i(j*Y*^*b+Z+[+^,o-V.T.Z.[.]._/m/p2d3[3]4a6r7TQ%wxQ%{yW&Q|&V&W,OQ&_!TQ'c!hQ'e!iQ(q#sS+n%|%}Q+r&PQ,_&bQ,c&dS-l'f'gQ.i(rQ1R+oQ1X+uQ1Z+vQ1^+zQ1t,`S1x,d,eQ2|-mQ5e1TQ5i1WQ5n1`Q6Z1yQ8_5gQ8b5kQ8f5pQ:T8^R;T:U!U$zi$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Y!^%yy!i!u%{%|%}'V'e'f'g'k'u*j+n+o-Y-l-m-t0R0U1R2u2|3T4r4s4v7}9{Q+h%wQ,T&[Q,W&]Q,b&dQ.h(qQ1s,_U1w,c,d,eQ3e.iQ6U1tS6Y1x1yQ8x6Z#f>T#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k]>^o>UPS&[!Q&iQ&]!RQ&^!SU*}%[%d=sR,R&Y%]%Si#v$b$c$d$x${%O%Q%^%_%c)y*R*T*V*Y*a*g*w*x+f+i,S,V.f/P/d/m/x/y/{0`0b0i0j0o1f1i1q3c4^4_4j4o5Q5[5_6S7W7v8Q8V8[8q9b9p9y:P:`:r;Q;[;d;kP>X>Y>]>^T)z$u){V+P%]S$i$^c#Y#e%q%s%u(S(Y(t(y)R)S)T)U)V)W)X)Y)Z)[)^)`)b)g)q+d+x-Z-x-}.S.U.s.v.z.|.}/O/b0p2k2n3O3V3k3p3q3r3s3t3u3v3w3x3y3z3{3|4P4Q4X5X5c6u6{7Q7a7b7k7l8k9X9]9g9m9n:o;W;`SQ'Y!eR2q-]!W!nQ!e!r!v!y!z$|'W'_'`'l'm'n*Z*k*o*q*r-]-c-e-u0[0_1o5{5}R1l,ZnqOXst!Z#d%m&r&t&u&w,s,x2[2_Q&y!^Q'v!xS(s#u<^Q+l%zQ,]&_Q,^&aQ-j'dQ-w'oS.r(x=PS0q+X=ZQ1P+mQ1n,[Q2c,zQ2e,{Q2m-WQ2z-kQ2}-oS5Y0r=eQ5a1QS5d1S=fQ6t2oQ6x2{Q6}3SQ8]5bQ9Y6vQ9Z6yQ9^7OR:l9V$d$]c#Y#e%s%u(S(Y(t(y)R)S)T)U)V)W)X)Y)Z)[)^)`)b)g)q+d+x-Z-x-}.S.U.s.v.z.}/O/b0p2k2n3O3V3k3p3q3r3s3t3u3v3w3x3y3z3{3|4P4Q4X5X5c6u6{7Q7a7b7k7l8k9X9]9g9m9n:o;W;`SS#q]SU$fd)_,mS(p#p'iU*v%R(w4OU0m+O.n7gQ5^0xQ7V3`Q9d7YR:s9em!tQ!r!v!y!z'`'l'm'n-e-u1o5{5}Q't!uS(f#g2US-s'k'wQ/s*]Q0R*jQ3U-vQ4f/tQ4r0TQ4s0UQ4x0^Q7r4`S7}4t4vS8R4y4{Q9r7sQ9v7yQ9{8OQ:Q8TS:{9w9xS;g:|;PS;s;h;iS;{;t;uSSR=o>R%^bOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&o&r&t&u&w&{'T'b'r(T(V(](d(x(z)O)}*i+X+]+g,p,s,x-i-q.P.V.g.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3d3l4z6T6e6f6i6|7[8t9T9_Q%fj!^%xy!i!u%{%|%}'V'e'f'g'k'u*j+n+o-Y-l-m-t0R0U1R2u2|3T4r4s4v7}9{S&Oz!jQ+k%yQ,a&dW1v,b,c,d,eU6X1w1x1yS8w6Y6ZQ:d8x!r=j$Z$n'X)s-U-X/V2p4T5w6s:Z:mSQ=t>QR=u>R%QeOPXYstuvw!Z!`!g!o#S#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&r&t&u&w&{'T'b'r(V(](d(x(z)O)}*i+X+]+g,p,s,x-i-q.P.V.g.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3d3l4z6T6e6f6i6|7[8t9T9_Y#bWZ#W#Z(T!b%jm#h#i#l$x%e%h(^(h(i(j*Y*^*b+Z+[+^,o-V.T.Z.[.]._/m/p2d3[3]4a6r7TQ,n&o!p=k$Z$n)s-U-X/V2p4T5w6s:Z:mSR=n'XU']!e%i*ZR2s-`%SdOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&r&t&u&w&{'T'b'r(T(V(](d(x(z)O)}*i+X+],p,s,x-i-q.P.V.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3l4z6T6e6f6i6|8t9T9_!r)_$Z$n'X)s-U-X/V2p4T5w6s:Z:mSQ,m&oQ0x+gQ3`.gQ7Y3dR9e7[!b$Tc#Y%q(S(Y(t(y)Z)[)`)g+x-x-}.S.U.s.v/b0p3O3V3k3{5X5c6{7Q7a9]:oS)^)q-Z.|2k2n3p4P4X6u7b7k7l8k9X9g9m9n;W;`=vQ>X>ZR>Y>['QkOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%m%t&R&k&n&o&r&t&u&w&{'T'X'b'r(T(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:mSS$oh$pR4U/U'XgOPWXYZhstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n$p%m%t&R&k&n&o&r&t&u&w&{'T'X'b'r(T(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/U/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:mST$kf$qQ$ifS)j$l)nR)v$qT$jf$qT)l$l)n'XhOPWXYZhstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n$p%m%t&R&k&n&o&r&t&u&w&{'T'X'b'r(T(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/U/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:mST$oh$pQ$rhR)u$p%^jOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&o&r&t&u&w&{'T'b'r(T(V(](d(x(z)O)}*i+X+]+g,p,s,x-i-q.P.V.g.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3d3l4z6T6e6f6i6|7[8t9T9_!s>Q$Z$n'X)s-U-X/V2p4T5w6s:Z:mS#glOPXZst!Z!`!o#S#d#o#{$n%m&k&n&o&r&t&u&w&{'T'b)O)s*i+]+g,p,s,x-i.g/V/n0]0l1r2S2T2V2X2[2_2a3d4T4z6T6e6f6i7[8t9T!U%Ri$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Y#f(w#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k]>^Q+T%aQ/c*Oo4OP>X>YQ*c$zU*l$|*Z*oQ+U%bQ0W*m#f=q#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k]>^n=rTQ=x>UQ=y>VR=z>W!U%Ri$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Y#f(w#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k]>^o4OP>X>Y>]>^Q,U&]Q1h,WQ5s1gR8h5tV*n$|*Z*oU*n$|*Z*oT5z1o5{S0P*i/nQ4w0]T8S4z:]Q+j%xQ0V*lQ1O+kQ1u,aQ6W1vQ8v6XQ:c8wR;^:d!U%Oi$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Yx*R$v)e*S*u+V/v0d0e4R4g5R5S5W7p8U:R:x=p=}>OS0`*t0a#f]>^nZ>[`=T3}7c7f7j9h:t:w;yS=_.l3iT=`7e9k!U%Qi$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Y|*T$v)e*U*t+V/g/v0d0e4R4g4|5R5S5W7p8U:R:x=p=}>OS0b*u0c#f]>^nZ>[d=V3}7d7e7j9h9i:t:u:w;yS=a.m3jT=b7f9lrnOXst!V!Z#d%m&i&r&t&u&w,s,x2[2_Q&f!UR,p&ornOXst!V!Z#d%m&i&r&t&u&w,s,x2[2_R&f!UQ,Y&^R1d,RsnOXst!V!Z#d%m&i&r&t&u&w,s,x2[2_Q1p,_S6R1s1tU8p6P6Q6US:_8r8sS;Y:^:aQ;m;ZR;w;nQ&m!VR,i&iR6_1|R:f8yW&Q|&V&W,OR1Z+vQ&r!WR,s&sR,y&xT2],x2_R,}&yQ,|&yR2f,}Q'y!{R-y'ySsOtQ#dXT%ps#dQ#OTR'{#OQ#RUR'}#RQ){$uR/`){Q#UVR(Q#UQ#XWU(W#X(X.QQ(X#YR.Q(YQ-^'YR2r-^Q.u(yS3m.u3nR3n.vQ-e'`R2v-eY!rQ'`-e1o5{R'j!rQ/Q)eR4S/QU#_W%h*YU(_#_(`.RQ(`#`R.R(ZQ-a']R2t-at`OXst!V!Z#d%m&i&k&r&t&u&w,s,x2[2_S#hZ%eU#r`#h.[R.[(jQ(k#jQ.X(gW.a(k.X3X7RQ3X.YR7R3YQ)n$lR/W)nQ$phR)t$pQ$`cU)a$`-|O>Z>[Q/z*eU4k/z4m7xQ4m/|R7x4lS*o$|*ZR0Y*ox*S$v)e*t*u+V/v0d0e4R4g5R5S5W7p8U:R:x=p=}>O!d.j(u)c*[*e.l.m.q/_/k/|0v1e3h4[4h4l5r7]7`7w7z8X8Z9t9|:S:};R;e;j;v>Z>[U/h*S.j7ca7c3}7e7f7j9h:t:w;yQ0a*tQ3i.lU4}0a3i9kR9k7e|*U$v)e*t*u+V/g/v0d0e4R4g4|5R5S5W7p8U:R:x=p=}>O!h.k(u)c*[*e.l.m.q/_/k/|0v1e3f3h4[4h4l5r7]7^7`7w7z8X8Z9t9|:S:};R;e;j;v>Z>[U/j*U.k7de7d3}7e7f7j9h9i:t:u:w;yQ0c*uQ3j.mU5P0c3j9lR9l7fQ*z%UR0g*zQ5]0vR8Y5]Q+_%kR0u+_Q5v1jS8j5v:[R:[8kQ,[&_R1m,[Q5{1oR8m5{Q1{,fS6]1{8zR8z6_Q1U+rW5h1U5j8a:VQ5j1XQ8a5iR:V8bQ+w&QR1[+wQ2_,xR6m2_YrOXst#dQ&v!ZQ+a%mQ,r&rQ,t&tQ,u&uQ,w&wQ2Y,sS2],x2_R6l2[Q%opQ&z!_Q&}!aQ'P!bQ'R!cQ'q!uQ+`%lQ+l%zQ,Q&XQ,h&mQ-P&|W-p'k's't'wQ-w'oQ0X*nQ1P+mQ1c,PS2O,i,lQ2g-OQ2h-RQ2i-SQ2}-oW3P-r-s-v-xQ5a1QQ5m1_Q5q1eQ6V1uQ6a2QQ6k2ZU6z3O3R3UQ6}3SQ8]5bQ8e5oQ8g5rQ8l5zQ8u6WQ8{6`S9[6{7PQ9^7OQ:W8cQ:b8vQ:g8|Q:n9]Q;U:XQ;]:cQ;a:oQ;l;VR;o;^Q%zyQ'd!iQ'o!uU+m%{%|%}Q-W'VU-k'e'f'gS-o'k'uQ0Q*jS1Q+n+oQ2o-YS2{-l-mQ3S-tS4p0R0UQ5b1RQ6v2uQ6y2|Q7O3TU7{4r4s4vQ9z7}R;O9{S$wi>PR*{%VU%Ui%V>PR0f*yQ$viS(u#v+iS)c$b$cQ)e$dQ*[$xS*e${*YQ*t%OQ*u%QQ+Q%^Q+R%_Q+V%cQ.lPQ=}>XQ>O>YQ>Z>]R>[>^Q+O%]Q.nSR#[WR'Z!el!tQ!r!v!y!z'`'l'm'n-e-u1o5{5}S'V!e-]U*j$|*Z*oS-Y'W'_S0U*k*qQ0^*rQ2u-cQ4v0[R4{0_R({#xQ!fQT-d'`-e]!qQ!r'`-e1o5{Q#p]R'i < TypeParamList in out const TypeDefinition extends ThisType this LiteralType ArithOp Number BooleanLiteral TemplateType InterpolationEnd Interpolation InterpolationStart NullType null VoidType void TypeofType typeof MemberExpression . PropertyName [ TemplateString Escape Interpolation super RegExp ] ArrayExpression Spread , } { ObjectExpression Property async get set PropertyDefinition Block : NewTarget new NewExpression ) ( ArgList UnaryExpression delete LogicOp BitOp YieldExpression yield AwaitExpression await ParenthesizedExpression ClassExpression class ClassBody MethodDeclaration Decorator @ MemberExpression PrivatePropertyName CallExpression TypeArgList CompareOp < declare Privacy static abstract override PrivatePropertyDefinition PropertyDeclaration readonly accessor Optional TypeAnnotation Equals StaticBlock FunctionExpression ArrowFunction ParamList ParamList ArrayPattern ObjectPattern PatternProperty Privacy readonly Arrow MemberExpression BinaryExpression ArithOp ArithOp ArithOp ArithOp BitOp CompareOp instanceof satisfies CompareOp BitOp BitOp BitOp LogicOp LogicOp ConditionalExpression LogicOp LogicOp AssignmentExpression UpdateOp PostfixExpression CallExpression InstantiationExpression TaggedTemplateExpression DynamicImport import ImportMeta JSXElement JSXSelfCloseEndTag JSXSelfClosingTag JSXIdentifier JSXBuiltin JSXIdentifier JSXNamespacedName JSXMemberExpression JSXSpreadAttribute JSXAttribute JSXAttributeValue JSXEscape JSXEndTag JSXOpenTag JSXFragmentTag JSXText JSXEscape JSXStartCloseTag JSXCloseTag PrefixCast < ArrowFunction TypeParamList SequenceExpression InstantiationExpression KeyofType keyof UniqueType unique ImportType InferredType infer TypeName ParenthesizedType FunctionSignature ParamList NewSignature IndexedType TupleType Label ArrayType ReadonlyType ObjectType MethodType PropertyType IndexSignature PropertyDefinition CallSignature TypePredicate asserts is NewSignature new UnionType LogicOp IntersectionType LogicOp ConditionalType ParameterizedType ClassDeclaration abstract implements type VariableDeclaration let var using TypeAliasDeclaration InterfaceDeclaration interface EnumDeclaration enum EnumBody NamespaceDeclaration namespace module AmbientDeclaration declare GlobalDeclaration global ClassDeclaration ClassBody AmbientFunctionDeclaration ExportGroup VariableName VariableName ImportDeclaration defer ImportGroup ForStatement for ForSpec ForInSpec ForOfSpec of WhileStatement while WithStatement with DoStatement do IfStatement if else SwitchStatement switch SwitchBody CaseLabel case DefaultLabel TryStatement try CatchClause catch FinallyClause finally ReturnStatement return ThrowStatement throw BreakStatement break ContinueStatement continue DebuggerStatement debugger LabeledStatement ExpressionStatement SingleExpression SingleClassItem",maxTerm:380,context:Hk,nodeProps:[["isolate",-8,5,6,14,37,39,51,53,55,""],["group",-26,9,17,19,68,207,211,215,216,218,221,224,234,237,243,245,247,249,252,258,264,266,268,270,272,274,275,"Statement",-34,13,14,32,35,36,42,51,54,55,57,62,70,72,76,80,82,84,85,110,111,120,121,136,139,141,142,143,144,145,147,148,167,169,171,"Expression",-23,31,33,37,41,43,45,173,175,177,178,180,181,182,184,185,186,188,189,190,201,203,205,206,"Type",-3,88,103,109,"ClassItem"],["openedBy",23,"<",38,"InterpolationStart",56,"[",60,"{",73,"(",160,"JSXStartCloseTag"],["closedBy",-2,24,168,">",40,"InterpolationEnd",50,"]",61,"}",74,")",165,"JSXEndTag"]],propSources:[n1],skippedNodes:[0,5,6,278],repeatNodeCount:37,tokenData:"$Fq07[R!bOX%ZXY+gYZ-yZ[+g[]%Z]^.c^p%Zpq+gqr/mrs3cst:_tuEruvJSvwLkwx! Yxy!'iyz!(sz{!)}{|!,q|}!.O}!O!,q!O!P!/Y!P!Q!9j!Q!R#:O!R![#<_![!]#I_!]!^#Jk!^!_#Ku!_!`$![!`!a$$v!a!b$*T!b!c$,r!c!}Er!}#O$-|#O#P$/W#P#Q$4o#Q#R$5y#R#SEr#S#T$7W#T#o$8b#o#p$x#r#s$@U#s$f%Z$f$g+g$g#BYEr#BY#BZ$A`#BZ$ISEr$IS$I_$A`$I_$I|Er$I|$I}$Dk$I}$JO$Dk$JO$JTEr$JT$JU$A`$JU$KVEr$KV$KW$A`$KW&FUEr&FU&FV$A`&FV;'SEr;'S;=`I|<%l?HTEr?HT?HU$A`?HUOEr(n%d_$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z&j&hT$i&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c&j&zP;=`<%l&c'|'U]$i&j(Z!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!b(SU(Z!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}!b(iP;=`<%l'}'|(oP;=`<%l&}'[(y]$i&j(WpOY(rYZ&cZr(rrs&cs!^(r!^!_)r!_#O(r#O#P&c#P#o(r#o#p)r#p;'S(r;'S;=`*a<%lO(rp)wU(WpOY)rZr)rs#O)r#P;'S)r;'S;=`*Z<%lO)rp*^P;=`<%l)r'[*dP;=`<%l(r#S*nX(Wp(Z!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g#S+^P;=`<%l*g(n+dP;=`<%l%Z07[+rq$i&j(Wp(Z!b'|0/lOX%ZXY+gYZ&cZ[+g[p%Zpq+gqr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p$f%Z$f$g+g$g#BY%Z#BY#BZ+g#BZ$IS%Z$IS$I_+g$I_$JT%Z$JT$JU+g$JU$KV%Z$KV$KW+g$KW&FU%Z&FU&FV+g&FV;'S%Z;'S;=`+a<%l?HT%Z?HT?HU+g?HUO%Z07[.ST(X#S$i&j'}0/lO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c07[.n_$i&j(Wp(Z!b'}0/lOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z)3p/x`$i&j!p),Q(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`0z!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW1V`#v(Ch$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`2X!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW2d_#v(Ch$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'At3l_(V':f$i&j(Z!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k(^4r_$i&j(Z!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k&z5vX$i&jOr5qrs6cs!^5q!^!_6y!_#o5q#o#p6y#p;'S5q;'S;=`7h<%lO5q&z6jT$d`$i&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c`6|TOr6yrs7]s;'S6y;'S;=`7b<%lO6y`7bO$d``7eP;=`<%l6y&z7kP;=`<%l5q(^7w]$d`$i&j(Z!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!r8uZ(Z!bOY8pYZ6yZr8prs9hsw8pwx6yx#O8p#O#P6y#P;'S8p;'S;=`:R<%lO8p!r9oU$d`(Z!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}!r:UP;=`<%l8p(^:[P;=`<%l4k%9[:hh$i&j(Wp(Z!bOY%ZYZ&cZq%Zqr`#P#o`x!^=^!^!_?q!_#O=^#O#P>`#P#o=^#o#p?q#p;'S=^;'S;=`@h<%lO=^&n>gXWS$i&jOY>`YZ&cZ!^>`!^!_?S!_#o>`#o#p?S#p;'S>`;'S;=`?k<%lO>`S?XSWSOY?SZ;'S?S;'S;=`?e<%lO?SS?hP;=`<%l?S&n?nP;=`<%l>`!f?xWWS(Z!bOY?qZw?qwx?Sx#O?q#O#P?S#P;'S?q;'S;=`@b<%lO?q!f@eP;=`<%l?q(Q@kP;=`<%l=^'`@w]WS$i&j(WpOY@nYZ&cZr@nrs>`s!^@n!^!_Ap!_#O@n#O#P>`#P#o@n#o#pAp#p;'S@n;'S;=`Bg<%lO@ntAwWWS(WpOYApZrAprs?Ss#OAp#O#P?S#P;'SAp;'S;=`Ba<%lOAptBdP;=`<%lAp'`BjP;=`<%l@n#WBvYWS(Wp(Z!bOYBmZrBmrs?qswBmwxApx#OBm#O#P?S#P;'SBm;'S;=`Cf<%lOBm#WCiP;=`<%lBm(rCoP;=`<%l^!Q^$i&j!X7`OY!=yYZ&cZ!P!=y!P!Q!>|!Q!^!=y!^!_!@c!_!}!=y!}#O!CW#O#P!Dy#P#o!=y#o#p!@c#p;'S!=y;'S;=`!Ek<%lO!=y|#X#Z&c#Z#[!>|#[#]&c#]#^!>|#^#a&c#a#b!>|#b#g&c#g#h!>|#h#i&c#i#j!>|#j#k!>|#k#m&c#m#n!>|#n#o&c#p;'S&c;'S;=`&w<%lO&c7`!@hX!X7`OY!@cZ!P!@c!P!Q!AT!Q!}!@c!}#O!Ar#O#P!Bq#P;'S!@c;'S;=`!CQ<%lO!@c7`!AYW!X7`#W#X!AT#Z#[!AT#]#^!AT#a#b!AT#g#h!AT#i#j!AT#j#k!AT#m#n!AT7`!AuVOY!ArZ#O!Ar#O#P!B[#P#Q!@c#Q;'S!Ar;'S;=`!Bk<%lO!Ar7`!B_SOY!ArZ;'S!Ar;'S;=`!Bk<%lO!Ar7`!BnP;=`<%l!Ar7`!BtSOY!@cZ;'S!@c;'S;=`!CQ<%lO!@c7`!CTP;=`<%l!@c^!Ezl$i&j(Z!b!X7`OY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#W&}#W#X!Eq#X#Z&}#Z#[!Eq#[#]&}#]#^!Eq#^#a&}#a#b!Eq#b#g&}#g#h!Eq#h#i&}#i#j!Eq#j#k!Eq#k#m&}#m#n!Eq#n#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}8r!GyZ(Z!b!X7`OY!GrZw!Grwx!@cx!P!Gr!P!Q!Hl!Q!}!Gr!}#O!JU#O#P!Bq#P;'S!Gr;'S;=`!J|<%lO!Gr8r!Hse(Z!b!X7`OY'}Zw'}x#O'}#P#W'}#W#X!Hl#X#Z'}#Z#[!Hl#[#]'}#]#^!Hl#^#a'}#a#b!Hl#b#g'}#g#h!Hl#h#i'}#i#j!Hl#j#k!Hl#k#m'}#m#n!Hl#n;'S'};'S;=`(f<%lO'}8r!JZX(Z!bOY!JUZw!JUwx!Arx#O!JU#O#P!B[#P#Q!Gr#Q;'S!JU;'S;=`!Jv<%lO!JU8r!JyP;=`<%l!JU8r!KPP;=`<%l!Gr>^!KZ^$i&j(Z!bOY!KSYZ&cZw!KSwx!CWx!^!KS!^!_!JU!_#O!KS#O#P!DR#P#Q!^!LYP;=`<%l!KS>^!L`P;=`<%l!_#c#d#Bq#d#l%Z#l#m#Es#m#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#>j_$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#?rd$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!R#AQ!R!S#AQ!S!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#AQ#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#A]f$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!R#AQ!R!S#AQ!S!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#AQ#S#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#Bzc$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!Y#DV!Y!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#DV#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#Dbe$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!Y#DV!Y!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#DV#S#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#E|g$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![#Ge![!^%Z!^!_*g!_!c%Z!c!i#Ge!i#O%Z#O#P&c#P#R%Z#R#S#Ge#S#T%Z#T#Z#Ge#Z#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#Gpi$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![#Ge![!^%Z!^!_*g!_!c%Z!c!i#Ge!i#O%Z#O#P&c#P#R%Z#R#S#Ge#S#T%Z#T#Z#Ge#Z#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z*)x#Il_!g$b$i&j$O)Lv(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z)[#Jv_al$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z04f#LS^h#)`#R-v$?V_!^(CdvBr$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z?O$@a_!q7`$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z07[$Aq|$i&j(Wp(Z!b'|0/l$]#t(T,2j(e$I[OX%ZXY+gYZ&cZ[+g[p%Zpq+gqr%Zrs&}st%ZtuEruw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Er![!^%Z!^!_*g!_!c%Z!c!}Er!}#O%Z#O#P&c#P#R%Z#R#SEr#S#T%Z#T#oEr#o#p*g#p$f%Z$f$g+g$g#BYEr#BY#BZ$A`#BZ$ISEr$IS$I_$A`$I_$JTEr$JT$JU$A`$JU$KVEr$KV$KW$A`$KW&FUEr&FU&FV$A`&FV;'SEr;'S;=`I|<%l?HTEr?HT?HU$A`?HUOEr07[$D|k$i&j(Wp(Z!b'}0/l$]#t(T,2j(e$I[OY%ZYZ&cZr%Zrs&}st%ZtuEruw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Er![!^%Z!^!_*g!_!c%Z!c!}Er!}#O%Z#O#P&c#P#R%Z#R#SEr#S#T%Z#T#oEr#o#p*g#p$g%Z$g;'SEr;'S;=`I|<%lOEr",tokenizers:[Jk,e1,t1,i1,2,3,4,5,6,7,8,9,10,11,12,13,14,Kk,new Qi("$S~RRtu[#O#Pg#S#T#|~_P#o#pb~gOx~~jVO#i!P#i#j!U#j#l!P#l#m!q#m;'S!P;'S;=`#v<%lO!P~!UO!U~~!XS!Q![!e!c!i!e#T#Z!e#o#p#Z~!hR!Q![!q!c!i!q#T#Z!q~!tR!Q![!}!c!i!}#T#Z!}~#QR!Q![!P!c!i!P#T#Z!P~#^R!Q![#g!c!i#g#T#Z#g~#jS!Q![#g!c!i#g#T#Z#g#q#r!P~#yP;=`<%l!P~$RO(c~~",141,340),new Qi("j~RQYZXz{^~^O(Q~~aP!P!Qd~iO(R~~",25,323)],topRules:{Script:[0,7],SingleExpression:[1,276],SingleClassItem:[2,277]},dialects:{jsx:0,ts:15175},dynamicPrecedences:{80:1,82:1,94:1,169:1,199:1},specialized:[{term:327,get:i=>r1[i]||-1},{term:343,get:i=>s1[i]||-1},{term:95,get:i=>o1[i]||-1}],tokenPrec:15201});var zp=[ce("function ${name}(${params}) {\n ${}\n}",{label:"function",detail:"definition",type:"keyword"}),ce("for (let ${index} = 0; ${index} < ${bound}; ${index}++) {\n ${}\n}",{label:"for",detail:"loop",type:"keyword"}),ce("for (let ${name} of ${collection}) {\n ${}\n}",{label:"for",detail:"of loop",type:"keyword"}),ce("do {\n ${}\n} while (${})",{label:"do",detail:"loop",type:"keyword"}),ce("while (${}) {\n ${}\n}",{label:"while",detail:"loop",type:"keyword"}),ce(`try { +`);n=r<0?t:t.slice(0,r)}return e+n.length>this.to?n.slice(0,this.to-e):n}prevLineEnd(){return this.atEnd?this.lineStart:this.lineStart-1}startContext(e,t,n=0){this.block=Fs.create(e,n,this.lineStart+t,this.block.hash,this.lineStart+this.line.text.length),this.stack.push(this.block)}startComposite(e,t,n=0){this.startContext(this.parser.getNodeType(e),t,n)}addNode(e,t,n){typeof e=="number"&&(e=new G(this.parser.nodeSet.types[e],Pn,Pn,(n??this.prevLineEnd())-t)),this.block.addChild(e,t-this.block.from)}addElement(e){this.block.addChild(e.toTree(this.parser.nodeSet),e.from-this.block.from)}addLeafElement(e,t){this.addNode(this.buffer.writeElements(tc(t.children,e.marks),-t.from).finish(t.type,t.to-t.from),t.from)}finishContext(){let e=this.stack.pop(),t=this.stack[this.stack.length-1];t.addChild(e.toTree(this.parser.nodeSet),e.from-t.from),this.block=t}finish(){for(;this.stack.length>1;)this.finishContext();return this.addGaps(this.block.toTree(this.parser.nodeSet,this.lineStart))}addGaps(e){return this.ranges.length>1?qd(this.ranges,0,e.topNode,this.ranges[0].from,this.reusePlaceholders):e}finishLeaf(e){for(let n of e.parsers)if(n.finish(this,e))return;let t=tc(this.parser.parseInline(e.content,e.start),e.marks);this.addNode(this.buffer.writeElements(t,-e.start).finish(A.Paragraph,e.content.length),e.start)}elt(e,t,n,r){return typeof e=="string"?ne(this.parser.getNodeType(e),t,n,r):new Ks(e,t)}get buffer(){return new Hs(this.parser.nodeSet)}};function qd(i,e,t,n,r){let s=i[e].to,o=[],a=[],l=t.from+n;function c(h,f){for(;f?h>=s:h>s;){let u=i[e+1].from-s;n+=u,h+=u,e++,s=i[e].to}}for(let h=t.firstChild;h;h=h.nextSibling){c(h.from+n,!0);let f=h.from+n,u,O=r.get(h.tree);O?u=O:h.to+n>s?(u=qd(i,e,h,n,r),c(h.to+n,!1)):u=h.toTree(),o.push(u),a.push(f-l)}return c(t.to+n,!1),new G(t.type,o,a,t.to+n-l,t.tree?t.tree.propValues:void 0)}var Sr=class i extends Dt{constructor(e,t,n,r,s,o,a,l,c){super(),this.nodeSet=e,this.blockParsers=t,this.leafBlockParsers=n,this.blockNames=r,this.endLeafBlock=s,this.skipContextMarkup=o,this.inlineParsers=a,this.inlineNames=l,this.wrappers=c,this.nodeTypes=Object.create(null);for(let h of e.types)this.nodeTypes[h.name]=h.id}createParse(e,t,n){let r=new Jl(this,e,t,n);for(let s of this.wrappers)r=s(r,e,t,n);return r}configure(e){let t=ec(e);if(!t)return this;let{nodeSet:n,skipContextMarkup:r}=this,s=this.blockParsers.slice(),o=this.leafBlockParsers.slice(),a=this.blockNames.slice(),l=this.inlineParsers.slice(),c=this.inlineNames.slice(),h=this.endLeafBlock.slice(),f=this.wrappers;if(gr(t.defineNodes)){r=Object.assign({},r);let u=n.types.slice(),O;for(let p of t.defineNodes){let{name:m,block:b,composite:g,style:Q}=typeof p=="string"?{name:p}:p;if(u.some(P=>P.name==m))continue;g&&(r[u.length]=(P,$,R)=>g($,R,P.value));let S=u.length,x=g?["Block","BlockContext"]:b?S>=A.ATXHeading1&&S<=A.SetextHeading2?["Block","LeafBlock","Heading"]:["Block","LeafBlock"]:void 0;u.push(Oe.define({id:S,name:m,props:x&&[[I.group,x]]})),Q&&(O||(O={}),Array.isArray(Q)||Q instanceof Ke?O[m]=Q:Object.assign(O,Q))}n=new jt(u),O&&(n=n.extend(ge(O)))}if(gr(t.props)&&(n=n.extend(...t.props)),gr(t.remove))for(let u of t.remove){let O=this.blockNames.indexOf(u),p=this.inlineNames.indexOf(u);O>-1&&(s[O]=o[O]=void 0),p>-1&&(l[p]=void 0)}if(gr(t.parseBlock))for(let u of t.parseBlock){let O=a.indexOf(u.name);if(O>-1)s[O]=u.parse,o[O]=u.leaf;else{let p=u.before?Ns(a,u.before):u.after?Ns(a,u.after)+1:a.length-1;s.splice(p,0,u.parse),o.splice(p,0,u.leaf),a.splice(p,0,u.name)}u.endLeaf&&h.push(u.endLeaf)}if(gr(t.parseInline))for(let u of t.parseInline){let O=c.indexOf(u.name);if(O>-1)l[O]=u.parse;else{let p=u.before?Ns(c,u.before):u.after?Ns(c,u.after)+1:c.length-1;l.splice(p,0,u.parse),c.splice(p,0,u.name)}}return t.wrap&&(f=f.concat(t.wrap)),new i(n,s,o,a,h,r,l,c,f)}getNodeType(e){let t=this.nodeTypes[e];if(t==null)throw new RangeError(`Unknown node type '${e}'`);return t}parseInline(e,t){let n=new kr(this,e,t);e:for(let r=t;r=0){r=a;continue e}}r++}return n.resolveMarkers(0)}};function gr(i){return i!=null&&i.length>0}function ec(i){if(!Array.isArray(i))return i;if(i.length==0)return null;let e=ec(i[0]);if(i.length==1)return e;let t=ec(i.slice(1));if(!t||!e)return e||t;let n=(o,a)=>(o||Pn).concat(a||Pn),r=e.wrap,s=t.wrap;return{props:n(e.props,t.props),defineNodes:n(e.defineNodes,t.defineNodes),parseBlock:n(e.parseBlock,t.parseBlock),parseInline:n(e.parseInline,t.parseInline),remove:n(e.remove,t.remove),wrap:r?s?(o,a,l,c)=>r(s(o,a,l,c),a,l,c):r:s}}function Ns(i,e){let t=i.indexOf(e);if(t<0)throw new RangeError(`Position specified relative to unknown parser ${e}`);return t}var Ed=[Oe.none];for(let i=1,e;e=A[i];i++)Ed[i]=Oe.define({id:i,name:e,props:i>=A.Escape?[]:[[I.group,i in Pd?["Block","BlockContext"]:["Block","LeafBlock"]]],top:e=="Document"});var Pn=[],Hs=class{constructor(e){this.nodeSet=e,this.content=[],this.nodes=[]}write(e,t,n,r=0){return this.content.push(e,t,n,4+r*4),this}writeElements(e,t=0){for(let n of e)n.writeTo(this,t);return this}finish(e,t){return G.build({buffer:this.content,nodeSet:this.nodeSet,reused:this.nodes,topID:e,length:t})}},Ii=class{constructor(e,t,n,r=Pn){this.type=e,this.from=t,this.to=n,this.children=r}writeTo(e,t){let n=e.content.length;e.writeElements(this.children,t),e.content.push(this.type,this.from+t,this.to+t,e.content.length+4-n)}toTree(e){return new Hs(e).writeElements(this.children,-this.from).finish(this.type,this.to-this.from)}},Ks=class{constructor(e,t){this.tree=e,this.from=t}get to(){return this.from+this.tree.length}get type(){return this.tree.type.id}get children(){return Pn}writeTo(e,t){e.nodes.push(this.tree),e.content.push(e.nodes.length-1,this.from+t,this.to+t,-1)}toTree(){return this.tree}};function ne(i,e,t,n){return new Ii(i,e,t,n)}var zd={resolve:"Emphasis",mark:"EmphasisMark"},Ld={resolve:"Emphasis",mark:"EmphasisMark"},Yi={},Js={},We=class{constructor(e,t,n,r){this.type=e,this.from=t,this.to=n,this.side=r}},gd="!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~",yr=/[!"#$%&'()*+,\-.\/:;<=>?@\[\\\]^_`{|}~\xA1\u2010-\u2027]/;try{yr=new RegExp("[\\p{S}|\\p{P}]","u")}catch{}var Bl={Escape(i,e,t){if(e!=92||t==i.end-1)return-1;let n=i.char(t+1);for(let r=0;r]+|[a-z\d.!#$%&'*+/=?^_`{|}~-]+@[a-z\d](?:[a-z\d-]{0,61}[a-z\d])?(?:\.[a-z\d](?:[a-z\d-]{0,61}[a-z\d])?)*)>/i.exec(n);if(r)return i.append(ne(A.Autolink,t,t+1+r[0].length,[ne(A.LinkMark,t,t+1),ne(A.URL,t+1,t+r[0].length),ne(A.LinkMark,t+r[0].length,t+1+r[0].length)]));let s=/^!--[^>](?:-[^-]|[^-])*?-->/i.exec(n);if(s)return i.append(ne(A.Comment,t,t+1+s[0].length));let o=/^\?[^]*?\?>/.exec(n);if(o)return i.append(ne(A.ProcessingInstruction,t,t+1+o[0].length));let a=/^(?:![A-Z][^]*?>|!\[CDATA\[[^]*?\]\]>|\/\s*[a-zA-Z][\w-]*\s*>|\s*[a-zA-Z][\w-]*(\s+[a-zA-Z:_][\w-.:]*(?:\s*=\s*(?:[^\s"'=<>`]+|'[^']*'|"[^"]*"))?)*\s*(\/\s*)?>)/.exec(n);return a?i.append(ne(A.HTMLTag,t,t+1+a[0].length)):-1},Emphasis(i,e,t){if(e!=95&&e!=42)return-1;let n=t+1;for(;i.char(n)==e;)n++;let r=i.slice(t-1,t),s=i.slice(n,n+1),o=yr.test(r),a=yr.test(s),l=/\s|^$/.test(r),c=/\s|^$/.test(s),h=!c&&(!a||l||o),f=!l&&(!o||c||a),u=h&&(e==42||!f||o),O=f&&(e==42||!h||a);return i.append(new We(e==95?zd:Ld,t,n,(u?1:0)|(O?2:0)))},HardBreak(i,e,t){if(e==92&&i.char(t+1)==10)return i.append(ne(A.HardBreak,t,t+2));if(e==32){let n=t+1;for(;i.char(n)==32;)n++;if(i.char(n)==10&&n>=t+2)return i.append(ne(A.HardBreak,t,n+1))}return-1},Link(i,e,t){return e==91?i.append(new We(Yi,t,t+1,1)):-1},Image(i,e,t){return e==33&&i.char(t+1)==91?i.append(new We(Js,t,t+2,1)):-1},LinkEnd(i,e,t){if(e!=93)return-1;for(let n=i.parts.length-1;n>=0;n--){let r=i.parts[n];if(r instanceof We&&(r.type==Yi||r.type==Js)){if(!r.side||i.skipSpace(r.to)==t&&!/[(\[]/.test(i.slice(t+1,t+2)))return i.parts[n]=null,-1;let s=i.takeContent(n),o=i.parts[n]=ty(i,s,r.type==Yi?A.Link:A.Image,r.from,t+1);if(r.type==Yi)for(let a=0;ae?ne(A.URL,e+t,s+t):s==i.length?null:!1}}function Wd(i,e,t){let n=i.charCodeAt(e);if(n!=39&&n!=34&&n!=40)return!1;let r=n==40?41:n;for(let s=e+1,o=!1;s=this.end?-1:this.text.charCodeAt(e-this.offset)}get end(){return this.offset+this.text.length}slice(e,t){return this.text.slice(e-this.offset,t-this.offset)}append(e){return this.parts.push(e),e.to}addDelimiter(e,t,n,r,s){return this.append(new We(e,t,n,(r?1:0)|(s?2:0)))}get hasOpenLink(){for(let e=this.parts.length-1;e>=0;e--){let t=this.parts[e];if(t instanceof We&&(t.type==Yi||t.type==Js))return!0}return!1}addElement(e){return this.append(e)}resolveMarkers(e){for(let n=e;n=e;l--){let m=this.parts[l];if(m instanceof We&&m.side&1&&m.type==r.type&&!(s&&(r.side&1||m.side&2)&&(m.to-m.from+o)%3==0&&((m.to-m.from)%3||o%3))){a=m;break}}if(!a)continue;let c=r.type.resolve,h=[],f=a.from,u=r.to;if(s){let m=Math.min(2,a.to-a.from,o);f=a.to-m,u=r.from+m,c=m==1?"Emphasis":"StrongEmphasis"}a.type.mark&&h.push(this.elt(a.type.mark,f,a.to));for(let m=l+1;m=0;t--){let n=this.parts[t];if(n instanceof We&&n.type==e&&n.side&1)return t}return null}takeContent(e){let t=this.resolveMarkers(e);return this.parts.length=e,t}getDelimiterAt(e){let t=this.parts[e];return t instanceof We?t:null}skipSpace(e){return Qr(this.text,e-this.offset)+this.offset}elt(e,t,n,r){return typeof e=="string"?ne(this.parser.getNodeType(e),t,n,r):new Ks(e,t)}};kr.linkStart=Yi;kr.imageStart=Js;function tc(i,e){if(!e.length)return i;if(!i.length)return e;let t=i.slice(),n=0;for(let r of e){for(;n(e?e-1:0))return!1;if(this.fragmentEnd<0){let s=this.fragment.to;for(;s>0&&this.input.read(s-1,s)!=` +`;)s--;this.fragmentEnd=s?s-1:0}let n=this.cursor;n||(n=this.cursor=this.fragment.tree.cursor(),n.firstChild());let r=e+this.fragment.offset;for(;n.to<=r;)if(!n.parent())return!1;for(;;){if(n.from>=r)return this.fragment.from<=t;if(!n.childAfter(r))return!1}}matches(e){let t=this.cursor.tree;return t&&t.prop(I.contextHash)==e}takeNodes(e){let t=this.cursor,n=this.fragment.offset,r=this.fragmentEnd-(this.fragment.openEnd?1:0),s=e.absoluteLineStart,o=s,a=e.block.children.length,l=o,c=a;for(;;){if(t.to-n>r){if(t.type.isAnonymous&&t.firstChild())continue;break}let h=Vd(t.from-n,e.ranges);if(t.to-n<=e.ranges[e.rangeI].to)e.addNode(t.tree,h);else{let f=new G(e.parser.nodeSet.types[A.Paragraph],[],[],0,e.block.hashProp);e.reusePlaceholders.set(f,t.tree),e.addNode(f,h)}if(t.type.is("Block")&&(iy.indexOf(t.type.id)<0?(o=t.to-n,a=e.block.children.length):(o=l,a=c),l=t.to-n,c=e.block.children.length),!t.nextSibling())break}for(;e.block.children.length>a;)e.block.children.pop(),e.block.positions.pop();return o-s}};function Vd(i,e){let t=i;for(let n=1;nGs[i]),Object.keys(Gs).map(i=>Zd[i]),Object.keys(Gs),JS,Pd,Object.keys(Bl).map(i=>Bl[i]),Object.keys(Bl),[]);function ry(i,e,t){let n=[];for(let r=i.firstChild,s=e;;r=r.nextSibling){let o=r?r.from:t;if(o>s&&n.push({from:s,to:o}),!r)break;s=r.to}return n}function Yd(i){let{codeParser:e,htmlParser:t}=i;return{wrap:bn((r,s)=>{let o=r.type.id;if(e&&(o==A.CodeBlock||o==A.FencedCode)){let a="";if(o==A.FencedCode){let c=r.node.getChild(A.CodeInfo);c&&(a=s.read(c.from,c.to))}let l=e(a);if(l)return{parser:l,overlay:c=>c.type.id==A.CodeText,bracketed:o==A.FencedCode}}else if(t&&(o==A.HTMLBlock||o==A.HTMLTag||o==A.CommentBlock))return{parser:t,overlay:ry(r.node,r.from,r.to)};return null})}}var sy={resolve:"Strikethrough",mark:"StrikethroughMark"},oy={defineNodes:[{name:"Strikethrough",style:{"Strikethrough/...":d.strikethrough}},{name:"StrikethroughMark",style:d.processingInstruction}],parseInline:[{name:"Strikethrough",parse(i,e,t){if(e!=126||i.char(t+1)!=126||i.char(t+2)==126)return-1;let n=i.slice(t-1,t),r=i.slice(t+2,t+3),s=/\s|^$/.test(n),o=/\s|^$/.test(r),a=yr.test(n),l=yr.test(r);return i.addDelimiter(sy,t,t+2,!o&&(!l||s||a),!s&&(!a||o||l))},after:"Emphasis"}]};function br(i,e,t=0,n,r=0){let s=0,o=!0,a=-1,l=-1,c=!1,h=()=>{n.push(i.elt("TableCell",r+a,r+l,i.parser.parseInline(e.slice(a,l),r+a)))};for(let f=t;f-1)&&s++,o=!1,n&&(a>-1&&h(),n.push(i.elt("TableDelimiter",f+r,f+r+1))),a=l=-1):(c||u!=32&&u!=9)&&(a<0&&(a=f),l=f+1),c=!c&&u==92}return a>-1&&(s++,n&&h()),s}function Qd(i,e){for(let t=e;t\s]*\|?(\s*:?-+:?\s*\|)+(\s*:?-+:?\s*)?$/,eo=class{constructor(){this.rows=null}nextLine(e,t,n){if(this.rows==null){this.rows=!1;let r;if((t.next==45||t.next==58||t.next==124)&&Id.test(r=t.text.slice(t.pos))){let s=[];br(e,n.content,0,s,n.start)==br(e,r,0)&&(this.rows=[e.elt("TableHeader",n.start,n.start+n.content.length,s),e.elt("TableDelimiter",e.lineStart+t.pos,e.lineStart+t.text.length)])}}else if(this.rows){let r=[];br(e,t.text,t.pos,r,e.lineStart),this.rows.push(e.elt("TableRow",e.lineStart+t.pos,e.lineStart+t.text.length,r))}return!1}finish(e,t){return this.rows?(e.addLeafElement(t,e.elt("Table",t.start,t.start+t.content.length,this.rows)),!0):!1}},ay={defineNodes:[{name:"Table",block:!0},{name:"TableHeader",style:{"TableHeader/...":d.heading}},"TableRow",{name:"TableCell",style:d.content},{name:"TableDelimiter",style:d.processingInstruction}],parseBlock:[{name:"Table",leaf(i,e){return Qd(e.content,0)?new eo:null},endLeaf(i,e,t){if(t.parsers.some(r=>r instanceof eo)||!Qd(e.text,e.basePos))return!1;let n=i.peekLine();return Id.test(n)&&br(i,e.text,e.basePos)==br(i,n,e.basePos)},before:"SetextHeading"}]},nc=class{nextLine(){return!1}finish(e,t){return e.addLeafElement(t,e.elt("Task",t.start,t.start+t.content.length,[e.elt("TaskMarker",t.start,t.start+3),...e.parser.parseInline(t.content.slice(3),t.start+3)])),!0}},ly={defineNodes:[{name:"Task",block:!0,style:d.list},{name:"TaskMarker",style:d.atom}],parseBlock:[{name:"TaskList",leaf(i,e){return/^\[[ xX]\][ \t]/.test(e.content)&&i.parentType().name=="ListItem"?new nc:null},after:"SetextHeading"}]},bd=/(www\.)|(https?:\/\/)|([\w.+-]{1,100}@)|(mailto:|xmpp:)/gy,Sd=/[\w-]+(\.[\w-]+)+(:\d+)?(\/[^\s<]*)?/gy,cy=/[\w-]+\.[\w-]+($|[/:])/,yd=/[\w.+-]+@[\w-]+(\.[\w.-]+)+/gy,kd=/\/[a-zA-Z\d@.]+/gy;function xd(i,e,t,n){let r=0;for(let s=e;s-1)return-1;let n=e+t[0].length;for(;;){let r=i[n-1],s;if(/[?!.,:*_~]/.test(r)||r==")"&&xd(i,e,n,")")>xd(i,e,n,"("))n--;else if(r==";"&&(s=/&(?:#\d+|#x[a-f\d]+|\w+);$/.exec(i.slice(e,n))))n=e+s.index;else break}return n}function wd(i,e){yd.lastIndex=e;let t=yd.exec(i);if(!t)return-1;let n=t[0][t[0].length-1];return n=="_"||n=="-"?-1:e+t[0].length-(n=="."?1:0)}var fy={parseInline:[{name:"Autolink",parse(i,e,t){let n=t-i.offset;if(n&&/\w/.test(i.text[n-1]))return-1;bd.lastIndex=n;let r=bd.exec(i.text),s=-1;if(!r)return-1;if(r[1]||r[2]){if(s=hy(i.text,n+r[0].length),s>-1&&i.hasOpenLink){let o=/([^\[\]]|\[[^\]]*\])*/.exec(i.text.slice(n,s));s=n+o[0].length}}else r[3]?s=wd(i.text,n):(s=wd(i.text,n+r[0].length),s>-1&&r[0]=="xmpp:"&&(kd.lastIndex=s,r=kd.exec(i.text),r&&(s=r.index+r[0].length)));return s<0?-1:(i.addElement(i.elt("URL",t,s+i.offset)),s+i.offset)}}]},Bd=[ay,ly,oy,fy];function Ud(i,e,t){return(n,r,s)=>{if(r!=i||n.char(s+1)==i)return-1;let o=[n.elt(t,s,s+1)];for(let a=s+1;at%3==0).concat(this.state)}]@${this.pos}${this.score?"!"+this.score:""}`}static start(e,t,n=0){let r=e.parser.context;return new i(e,[],t,n,n,0,[],0,r?new to(r,r.start):null,0,null)}get context(){return this.curContext?this.curContext.context:null}pushState(e,t){this.stack.push(this.state,t,this.bufferBase+this.buffer.length),this.state=e}reduce(e){var t;let n=e>>19,r=e&65535,{parser:s}=this.p,o=this.reducePos=2e3&&!(!((t=this.p.parser.nodeSet.types[r])===null||t===void 0)&&t.isAnonymous)&&(c==this.p.lastBigReductionStart?(this.p.bigReductionCount++,this.p.lastBigReductionSize=h):this.p.lastBigReductionSizel;)this.stack.pop();this.reduceContext(r,c)}storeNode(e,t,n,r=4,s=!1){if(e==0&&(!this.stack.length||this.stack[this.stack.length-1]0&&this.buffer[o-4]==0&&this.buffer[o-1]>-1){if(t==n)return;if(this.buffer[o-2]>=t){this.buffer[o-2]=n;return}}}if(!s||this.pos==n)this.buffer.push(e,t,n,r);else{let o=this.buffer.length;if(o>0&&(this.buffer[o-4]!=0||this.buffer[o-1]<0)){let a=!1;for(let l=o;l>0&&this.buffer[l-2]>n;l-=4)if(this.buffer[l-1]>=0){a=!0;break}if(a)for(;o>0&&this.buffer[o-2]>n;)this.buffer[o]=this.buffer[o-4],this.buffer[o+1]=this.buffer[o-3],this.buffer[o+2]=this.buffer[o-2],this.buffer[o+3]=this.buffer[o-1],o-=4,r>4&&(r-=4)}this.buffer[o]=e,this.buffer[o+1]=t,this.buffer[o+2]=n,this.buffer[o+3]=r}}shift(e,t,n,r){if(e&131072)this.pushState(e&65535,this.pos);else if((e&262144)==0){let s=e,{parser:o}=this.p;this.pos=r;let a=o.stateFlag(s,1);!a&&(r>n||t<=o.maxNode)&&(this.reducePos=r),this.pushState(s,a?n:Math.min(n,this.reducePos)),this.shiftContext(t,n),t<=o.maxNode&&this.buffer.push(t,n,r,4)}else this.pos=r,this.shiftContext(t,n),t<=this.p.parser.maxNode&&this.buffer.push(t,n,r,4)}apply(e,t,n,r){e&65536?this.reduce(e):this.shift(e,t,n,r)}useNode(e,t){let n=this.p.reused.length-1;(n<0||this.p.reused[n]!=e)&&(this.p.reused.push(e),n++);let r=this.pos;this.reducePos=this.pos=r+e.length,this.pushState(t,r),this.buffer.push(n,r,this.reducePos,-1),this.curContext&&this.updateContext(this.curContext.tracker.reuse(this.curContext.context,e,this,this.p.stream.reset(this.pos-e.length)))}split(){let e=this,t=e.buffer.length;for(t&&e.buffer[t-4]==0&&(t-=4);t>0&&e.buffer[t-2]>e.reducePos;)t-=4;let n=e.buffer.slice(t),r=e.bufferBase+t;for(;e&&r==e.bufferBase;)e=e.parent;return new i(this.p,this.stack.slice(),this.state,this.reducePos,this.pos,this.score,n,r,this.curContext,this.lookAhead,e)}recoverByDelete(e,t){let n=e<=this.p.parser.maxNode;n&&this.storeNode(e,this.pos,t,4),this.storeNode(0,this.pos,t,n?8:4),this.pos=this.reducePos=t,this.score-=190}canShift(e){for(let t=new hc(this);;){let n=this.p.parser.stateSlot(t.state,4)||this.p.parser.hasAction(t.state,e);if(n==0)return!1;if((n&65536)==0)return!0;t.reduce(n)}}recoverByInsert(e){if(this.stack.length>=300)return[];let t=this.p.parser.nextStates(this.state);if(t.length>8||this.stack.length>=120){let r=[];for(let s=0,o;sl&1&&a==o)||r.push(t[s],o)}t=r}let n=[];for(let r=0;r>19,r=t&65535,s=this.stack.length-n*3;if(s<0||e.getGoto(this.stack[s],r,!1)<0){let o=this.findForcedReduction();if(o==null)return!1;t=o}this.storeNode(0,this.pos,this.pos,4,!0),this.score-=100}return this.reducePos=this.pos,this.reduce(t),!0}findForcedReduction(){let{parser:e}=this.p,t=[],n=(r,s)=>{if(!t.includes(r))return t.push(r),e.allActions(r,o=>{if(!(o&393216))if(o&65536){let a=(o>>19)-s;if(a>1){let l=o&65535,c=this.stack.length-a*3;if(c>=0&&e.getGoto(this.stack[c],l,!1)>=0)return a<<19|65536|l}}else{let a=n(o,s+1);if(a!=null)return a}})};return n(this.state,0)}forceAll(){for(;!this.p.parser.stateFlag(this.state,2);)if(!this.forceReduce()){this.storeNode(0,this.pos,this.pos,4,!0);break}return this}get deadEnd(){if(this.stack.length!=3)return!1;let{parser:e}=this.p;return e.data[e.stateSlot(this.state,1)]==65535&&!e.stateSlot(this.state,4)}restart(){this.storeNode(0,this.pos,this.pos,4,!0),this.state=this.stack[0],this.stack.length=0}sameState(e){if(this.state!=e.state||this.stack.length!=e.stack.length)return!1;for(let t=0;t0&&this.emitLookAhead()}},to=class{constructor(e,t){this.tracker=e,this.context=t,this.hash=e.strict?e.hash(t):0}},hc=class{constructor(e){this.start=e,this.state=e.state,this.stack=e.stack,this.base=this.stack.length}reduce(e){let t=e&65535,n=e>>19;n==0?(this.stack==this.start.stack&&(this.stack=this.stack.slice()),this.stack.push(this.state,0,0),this.base+=3):this.base-=(n-1)*3;let r=this.start.p.parser.getGoto(this.stack[this.base-3],t,!0);this.state=r}},fc=class i{constructor(e,t,n){this.stack=e,this.pos=t,this.index=n,this.buffer=e.buffer,this.index==0&&this.maybeNext()}static create(e,t=e.bufferBase+e.buffer.length){return new i(e,t,t-e.bufferBase)}maybeNext(){let e=this.stack.parent;e!=null&&(this.index=this.stack.bufferBase-e.bufferBase,this.stack=e,this.buffer=e.buffer)}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}next(){this.index-=4,this.pos-=4,this.index==0&&this.maybeNext()}fork(){return new i(this.stack,this.pos,this.index)}};function xr(i,e=Uint16Array){if(typeof i!="string")return i;let t=null;for(let n=0,r=0;n=92&&o--,o>=34&&o--;let l=o-32;if(l>=46&&(l-=46,a=!0),s+=l,a)break;s*=46}t?t[r++]=s:t=new e(s)}return t}var vn=class{constructor(){this.start=-1,this.value=-1,this.end=-1,this.extended=-1,this.lookAhead=0,this.mask=0,this.context=0}},Hd=new vn,uc=class{constructor(e,t){this.input=e,this.ranges=t,this.chunk="",this.chunkOff=0,this.chunk2="",this.chunk2Pos=0,this.next=-1,this.token=Hd,this.rangeIndex=0,this.pos=this.chunkPos=t[0].from,this.range=t[0],this.end=t[t.length-1].to,this.readNext()}resolveOffset(e,t){let n=this.range,r=this.rangeIndex,s=this.pos+e;for(;sn.to:s>=n.to;){if(r==this.ranges.length-1)return null;let o=this.ranges[++r];s+=o.from-n.to,n=o}return s}clipPos(e){if(e>=this.range.from&&ee)return Math.max(e,t.from);return this.end}peek(e){let t=this.chunkOff+e,n,r;if(t>=0&&t=this.chunk2Pos&&na.to&&(this.chunk2=this.chunk2.slice(0,a.to-n)),r=this.chunk2.charCodeAt(0)}}return n>=this.token.lookAhead&&(this.token.lookAhead=n+1),r}acceptToken(e,t=0){let n=t?this.resolveOffset(t,-1):this.pos;if(n==null||n=this.chunk2Pos&&this.posthis.range.to?e.slice(0,this.range.to-this.pos):e,this.chunkPos=this.pos,this.chunkOff=0}}readNext(){return this.chunkOff>=this.chunk.length&&(this.getChunk(),this.chunkOff==this.chunk.length)?this.next=-1:this.next=this.chunk.charCodeAt(this.chunkOff)}advance(e=1){for(this.chunkOff+=e;this.pos+e>=this.range.to;){if(this.rangeIndex==this.ranges.length-1)return this.setDone();e-=this.range.to-this.pos,this.range=this.ranges[++this.rangeIndex],this.pos=this.range.from}return this.pos+=e,this.pos>=this.token.lookAhead&&(this.token.lookAhead=this.pos+1),this.readNext()}setDone(){return this.pos=this.chunkPos=this.end,this.range=this.ranges[this.rangeIndex=this.ranges.length-1],this.chunk="",this.next=-1}reset(e,t){if(t?(this.token=t,t.start=e,t.lookAhead=e+1,t.value=t.extended=-1):this.token=Hd,this.pos!=e){if(this.pos=e,e==this.end)return this.setDone(),this;for(;e=this.range.to;)this.range=this.ranges[++this.rangeIndex];e>=this.chunkPos&&e=this.chunkPos&&t<=this.chunkPos+this.chunk.length)return this.chunk.slice(e-this.chunkPos,t-this.chunkPos);if(e>=this.chunk2Pos&&t<=this.chunk2Pos+this.chunk2.length)return this.chunk2.slice(e-this.chunk2Pos,t-this.chunk2Pos);if(e>=this.range.from&&t<=this.range.to)return this.input.read(e,t);let n="";for(let r of this.ranges){if(r.from>=t)break;r.to>e&&(n+=this.input.read(Math.max(r.from,e),Math.min(r.to,t)))}return n}},gi=class{constructor(e,t){this.data=e,this.id=t}token(e,t){let{parser:n}=t.p;ip(this.data,e,t,this.id,n.data,n.tokenPrecTable)}};gi.prototype.contextual=gi.prototype.fallback=gi.prototype.extend=!1;var Qi=class{constructor(e,t,n){this.precTable=t,this.elseToken=n,this.data=typeof e=="string"?xr(e):e}token(e,t){let n=e.pos,r=0;for(;;){let s=e.next<0,o=e.resolveOffset(1,1);if(ip(this.data,e,t,0,this.data,this.precTable),e.token.value>-1)break;if(this.elseToken==null)return;if(s||r++,o==null)break;e.reset(o,e.token)}r&&(e.reset(n,e.token),e.acceptToken(this.elseToken,r))}};Qi.prototype.contextual=gi.prototype.fallback=gi.prototype.extend=!1;var K=class{constructor(e,t={}){this.token=e,this.contextual=!!t.contextual,this.fallback=!!t.fallback,this.extend=!!t.extend}};function ip(i,e,t,n,r,s){let o=0,a=1<0){let p=i[O];if(l.allows(p)&&(e.token.value==-1||e.token.value==p||Oy(p,e.token.value,r,s))){e.acceptToken(p);break}}let h=e.next,f=0,u=i[o+2];if(e.next<0&&u>f&&i[c+u*3-3]==65535){o=i[c+u*3-1];continue e}for(;f>1,p=c+O+(O<<1),m=i[p],b=i[p+1]||65536;if(h=b)f=O+1;else{o=i[p+2],e.advance();continue e}}break}}function Kd(i,e,t){for(let n=e,r;(r=i[n])!=65535;n++)if(r==t)return n-e;return-1}function Oy(i,e,t,n){let r=Kd(t,n,e);return r<0||Kd(t,n,i)e)&&!n.type.isError)return t<0?Math.max(0,Math.min(n.to-1,e-25)):Math.min(i.length,Math.max(n.from+1,e+25));if(t<0?n.prevSibling():n.nextSibling())break;if(!n.parent())return t<0?0:i.length}}var Oc=class{constructor(e,t){this.fragments=e,this.nodeSet=t,this.i=0,this.fragment=null,this.safeFrom=-1,this.safeTo=-1,this.trees=[],this.start=[],this.index=[],this.nextFragment()}nextFragment(){let e=this.fragment=this.i==this.fragments.length?null:this.fragments[this.i++];if(e){for(this.safeFrom=e.openStart?Jd(e.tree,e.from+e.offset,1)-e.offset:e.from,this.safeTo=e.openEnd?Jd(e.tree,e.to+e.offset,-1)-e.offset:e.to;this.trees.length;)this.trees.pop(),this.start.pop(),this.index.pop();this.trees.push(e.tree),this.start.push(-e.offset),this.index.push(0),this.nextStart=this.safeFrom}else this.nextStart=1e9}nodeAt(e){if(ee)return this.nextStart=o,null;if(s instanceof G){if(o==e){if(o=Math.max(this.safeFrom,e)&&(this.trees.push(s),this.start.push(o),this.index.push(0))}else this.index[t]++,this.nextStart=o+s.length}}},dc=class{constructor(e,t){this.stream=t,this.tokens=[],this.mainToken=null,this.actions=[],this.tokens=e.tokenizers.map(n=>new vn)}getActions(e){let t=0,n=null,{parser:r}=e.p,{tokenizers:s}=r,o=r.stateSlot(e.state,3),a=e.curContext?e.curContext.hash:0,l=0;for(let c=0;cf.end+25&&(l=Math.max(f.lookAhead,l)),f.value!=0)){let u=t;if(f.extended>-1&&(t=this.addActions(e,f.extended,f.end,t)),t=this.addActions(e,f.value,f.end,t),!h.extend&&(n=f,t>u))break}}for(;this.actions.length>t;)this.actions.pop();return l&&e.setLookAhead(l),!n&&e.pos==this.stream.end&&(n=new vn,n.value=e.p.parser.eofTerm,n.start=n.end=e.pos,t=this.addActions(e,n.value,n.end,t)),this.mainToken=n,this.actions}getMainToken(e){if(this.mainToken)return this.mainToken;let t=new vn,{pos:n,p:r}=e;return t.start=n,t.end=Math.min(n+1,r.stream.end),t.value=n==r.stream.end?r.parser.eofTerm:0,t}updateCachedToken(e,t,n){let r=this.stream.clipPos(n.pos);if(t.token(this.stream.reset(r,e),n),e.value>-1){let{parser:s}=n.p;for(let o=0;o=0&&n.p.parser.dialect.allows(a>>1)){(a&1)==0?e.value=a>>1:e.extended=a>>1;break}}}else e.value=0,e.end=this.stream.clipPos(r+1)}putAction(e,t,n,r){for(let s=0;se.bufferLength*4?new Oc(n,e.nodeSet):null}get parsedPos(){return this.minStackPos}advance(){let e=this.stacks,t=this.minStackPos,n=this.stacks=[],r,s;if(this.bigReductionCount>300&&e.length==1){let[o]=e;for(;o.forceReduce()&&o.stack.length&&o.stack[o.stack.length-2]>=this.lastBigReductionStart;);this.bigReductionCount=this.lastBigReductionSize=0}for(let o=0;ot)n.push(a);else{if(this.advanceStack(a,n,e))continue;{r||(r=[],s=[]),r.push(a);let l=this.tokens.getMainToken(a);s.push(l.value,l.end)}}break}}if(!n.length){let o=r&&dy(r);if(o)return Je&&console.log("Finish with "+this.stackID(o)),this.stackToTree(o);if(this.parser.strict)throw Je&&r&&console.log("Stuck with token "+(this.tokens.mainToken?this.parser.getName(this.tokens.mainToken.value):"none")),new SyntaxError("No parse at "+t);this.recovering||(this.recovering=5)}if(this.recovering&&r){let o=this.stoppedAt!=null&&r[0].pos>this.stoppedAt?r[0]:this.runRecovery(r,s,n);if(o)return Je&&console.log("Force-finish "+this.stackID(o)),this.stackToTree(o.forceAll())}if(this.recovering){let o=this.recovering==1?1:this.recovering*3;if(n.length>o)for(n.sort((a,l)=>l.score-a.score);n.length>o;)n.pop();n.some(a=>a.reducePos>t)&&this.recovering--}else if(n.length>1){e:for(let o=0;o500&&c.buffer.length>500)if((a.score-c.score||a.buffer.length-c.buffer.length)>0)n.splice(l--,1);else{n.splice(o--,1);continue e}}}n.length>12&&(n.sort((o,a)=>a.score-o.score),n.splice(12,n.length-12))}this.minStackPos=n[0].pos;for(let o=1;o ":"";if(this.stoppedAt!=null&&r>this.stoppedAt)return e.forceReduce()?e:null;if(this.fragments){let c=e.curContext&&e.curContext.tracker.strict,h=c?e.curContext.hash:0;for(let f=this.fragments.nodeAt(r);f;){let u=this.parser.nodeSet.types[f.type.id]==f.type?s.getGoto(e.state,f.type.id):-1;if(u>-1&&f.length&&(!c||(f.prop(I.contextHash)||0)==h))return e.useNode(f,u),Je&&console.log(o+this.stackID(e)+` (via reuse of ${s.getName(f.type.id)})`),!0;if(!(f instanceof G)||f.children.length==0||f.positions[0]>0)break;let O=f.children[0];if(O instanceof G&&f.positions[0]==0)f=O;else break}}let a=s.stateSlot(e.state,4);if(a>0)return e.reduce(a),Je&&console.log(o+this.stackID(e)+` (via always-reduce ${s.getName(a&65535)})`),!0;if(e.stack.length>=8400)for(;e.stack.length>6e3&&e.forceReduce(););let l=this.tokens.getActions(e);for(let c=0;cr?t.push(p):n.push(p)}return!1}advanceFully(e,t){let n=e.pos;for(;;){if(!this.advanceStack(e,null,null))return!1;if(e.pos>n)return ep(e,t),!0}}runRecovery(e,t,n){let r=null,s=!1;for(let o=0;o ":"";if(a.deadEnd&&(s||(s=!0,a.restart(),Je&&console.log(h+this.stackID(a)+" (restarted)"),this.advanceFully(a,n))))continue;let f=a.split(),u=h;for(let O=0;O<10&&f.forceReduce()&&(Je&&console.log(u+this.stackID(f)+" (via force-reduce)"),!this.advanceFully(f,n));O++)Je&&(u=this.stackID(f)+" -> ");for(let O of a.recoverByInsert(l))Je&&console.log(h+this.stackID(O)+" (via recover-insert)"),this.advanceFully(O,n);this.stream.end>a.pos?(c==a.pos&&(c++,l=0),a.recoverByDelete(l,c),Je&&console.log(h+this.stackID(a)+` (via recover-delete ${this.parser.getName(l)})`),ep(a,n)):(!r||r.scorei,Ot=class{constructor(e){this.start=e.start,this.shift=e.shift||lc,this.reduce=e.reduce||lc,this.reuse=e.reuse||lc,this.hash=e.hash||(()=>0),this.strict=e.strict!==!1}},ve=class i extends Dt{constructor(e){if(super(),this.wrappers=[],e.version!=14)throw new RangeError(`Parser version (${e.version}) doesn't match runtime version (14)`);let t=e.nodeNames.split(" ");this.minRepeatTerm=t.length;for(let a=0;ae.topRules[a][1]),r=[];for(let a=0;a=0)s(h,l,a[c++]);else{let f=a[c+-h];for(let u=-h;u>0;u--)s(a[c++],l,f);c++}}}this.nodeSet=new jt(t.map((a,l)=>Oe.define({name:l>=this.minRepeatTerm?void 0:a,id:l,props:r[l],top:n.indexOf(l)>-1,error:l==0,skipped:e.skippedNodes&&e.skippedNodes.indexOf(l)>-1}))),e.propSources&&(this.nodeSet=this.nodeSet.extend(...e.propSources)),this.strict=!1,this.bufferLength=1024;let o=xr(e.tokenData);this.context=e.context,this.specializerSpecs=e.specialized||[],this.specialized=new Uint16Array(this.specializerSpecs.length);for(let a=0;atypeof a=="number"?new gi(o,a):a),this.topRules=e.topRules,this.dialects=e.dialects||{},this.dynamicPrecedences=e.dynamicPrecedences||null,this.tokenPrecTable=e.tokenPrec,this.termNames=e.termNames||null,this.maxNode=this.nodeSet.types.length-1,this.dialect=this.parseDialect(),this.top=this.topRules[Object.keys(this.topRules)[0]]}createParse(e,t,n){let r=new pc(this,e,t,n);for(let s of this.wrappers)r=s(r,e,t,n);return r}getGoto(e,t,n=!1){let r=this.goto;if(t>=r[0])return-1;for(let s=r[t+1];;){let o=r[s++],a=o&1,l=r[s++];if(a&&n)return l;for(let c=s+(o>>1);s0}validAction(e,t){return!!this.allActions(e,n=>n==t?!0:null)}allActions(e,t){let n=this.stateSlot(e,4),r=n?t(n):void 0;for(let s=this.stateSlot(e,1);r==null;s+=3){if(this.data[s]==65535)if(this.data[s+1]==1)s=It(this.data,s+2);else break;r=t(It(this.data,s+1))}return r}nextStates(e){let t=[];for(let n=this.stateSlot(e,1);;n+=3){if(this.data[n]==65535)if(this.data[n+1]==1)n=It(this.data,n+2);else break;if((this.data[n+2]&1)==0){let r=this.data[n+1];t.some((s,o)=>o&1&&s==r)||t.push(this.data[n],r)}}return t}configure(e){let t=Object.assign(Object.create(i.prototype),this);if(e.props&&(t.nodeSet=this.nodeSet.extend(...e.props)),e.top){let n=this.topRules[e.top];if(!n)throw new RangeError(`Invalid top rule name ${e.top}`);t.top=n}return e.tokenizers&&(t.tokenizers=this.tokenizers.map(n=>{let r=e.tokenizers.find(s=>s.from==n);return r?r.to:n})),e.specializers&&(t.specializers=this.specializers.slice(),t.specializerSpecs=this.specializerSpecs.map((n,r)=>{let s=e.specializers.find(a=>a.from==n.external);if(!s)return n;let o=Object.assign(Object.assign({},n),{external:s.to});return t.specializers[r]=tp(o),o})),e.contextTracker&&(t.context=e.contextTracker),e.dialect&&(t.dialect=this.parseDialect(e.dialect)),e.strict!=null&&(t.strict=e.strict),e.wrap&&(t.wrappers=t.wrappers.concat(e.wrap)),e.bufferLength!=null&&(t.bufferLength=e.bufferLength),t}hasWrappers(){return this.wrappers.length>0}getName(e){return this.termNames?this.termNames[e]:String(e<=this.maxNode&&this.nodeSet.types[e].name||e)}get eofTerm(){return this.maxNode+1}get topNode(){return this.nodeSet.types[this.top[1]]}dynamicPrecedence(e){let t=this.dynamicPrecedences;return t==null?0:t[e]||0}parseDialect(e){let t=Object.keys(this.dialects),n=t.map(()=>!1);if(e)for(let s of e.split(" ")){let o=t.indexOf(s);o>=0&&(n[o]=!0)}let r=null;for(let s=0;sn)&&t.p.parser.stateFlag(t.state,2)&&(!e||e.scorei.external(t,n)<<1|e}return i.get}var py=55,my=1,gy=56,Qy=2,by=57,Sy=3,np=4,yy=5,yc=6,fp=7,up=8,Op=9,dp=10,ky=11,xy=12,wy=13,gc=58,Py=14,vy=15,rp=59,pp=21,$y=23,mp=24,Ty=25,bc=27,gp=28,Cy=29,Xy=32,_y=35,Ry=37,Ay=38,Zy=0,qy=1,Ey={area:!0,base:!0,br:!0,col:!0,command:!0,embed:!0,frame:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0,menuitem:!0},zy={dd:!0,li:!0,optgroup:!0,option:!0,p:!0,rp:!0,rt:!0,tbody:!0,td:!0,tfoot:!0,th:!0,tr:!0},sp={dd:{dd:!0,dt:!0},dt:{dd:!0,dt:!0},li:{li:!0},option:{option:!0,optgroup:!0},optgroup:{optgroup:!0},p:{address:!0,article:!0,aside:!0,blockquote:!0,dir:!0,div:!0,dl:!0,fieldset:!0,footer:!0,form:!0,h1:!0,h2:!0,h3:!0,h4:!0,h5:!0,h6:!0,header:!0,hgroup:!0,hr:!0,menu:!0,nav:!0,ol:!0,p:!0,pre:!0,section:!0,table:!0,ul:!0},rp:{rp:!0,rt:!0},rt:{rp:!0,rt:!0},tbody:{tbody:!0,tfoot:!0},td:{td:!0,th:!0},tfoot:{tbody:!0},th:{td:!0,th:!0},thead:{tbody:!0,tfoot:!0},tr:{tr:!0}};function Ly(i){return i==45||i==46||i==58||i>=65&&i<=90||i==95||i>=97&&i<=122||i>=161}var op=null,ap=null,lp=0;function Sc(i,e){let t=i.pos+e;if(lp==t&&ap==i)return op;let n=i.peek(e),r="";for(;Ly(n);)r+=String.fromCharCode(n),n=i.peek(++e);return ap=i,lp=t,op=r?r.toLowerCase():n==My||n==Wy?void 0:null}var Qp=60,io=62,kc=47,My=63,Wy=33,jy=45;function cp(i,e){this.name=i,this.parent=e}var Vy=[yc,dp,fp,up,Op],Dy=new Ot({start:null,shift(i,e,t,n){return Vy.indexOf(e)>-1?new cp(Sc(n,1)||"",i):i},reduce(i,e){return e==pp&&i?i.parent:i},reuse(i,e,t,n){let r=e.type.id;return r==yc||r==Ry?new cp(Sc(n,1)||"",i):i},strict:!1}),Yy=new K((i,e)=>{if(i.next!=Qp){i.next<0&&e.context&&i.acceptToken(gc);return}i.advance();let t=i.next==kc;t&&i.advance();let n=Sc(i,0);if(n===void 0)return;if(!n)return i.acceptToken(t?vy:Py);let r=e.context?e.context.name:null;if(t){if(n==r)return i.acceptToken(ky);if(r&&zy[r])return i.acceptToken(gc,-2);if(e.dialectEnabled(Zy))return i.acceptToken(xy);for(let s=e.context;s;s=s.parent)if(s.name==n)return;i.acceptToken(wy)}else{if(n=="script")return i.acceptToken(fp);if(n=="style")return i.acceptToken(up);if(n=="textarea")return i.acceptToken(Op);if(Ey.hasOwnProperty(n))return i.acceptToken(dp);r&&sp[r]&&sp[r][n]?i.acceptToken(gc,-1):i.acceptToken(yc)}},{contextual:!0}),Iy=new K(i=>{for(let e=0,t=0;;t++){if(i.next<0){t&&i.acceptToken(rp);break}if(i.next==jy)e++;else if(i.next==io&&e>=2){t>=3&&i.acceptToken(rp,-2);break}else e=0;i.advance()}});function By(i){for(;i;i=i.parent)if(i.name=="svg"||i.name=="math")return!0;return!1}var Uy=new K((i,e)=>{if(i.next==kc&&i.peek(1)==io){let t=e.dialectEnabled(qy)||By(e.context);i.acceptToken(t?yy:np,2)}else i.next==io&&i.acceptToken(np,1)});function xc(i,e,t){let n=2+i.length;return new K(r=>{for(let s=0,o=0,a=0;;a++){if(r.next<0){a&&r.acceptToken(e);break}if(s==0&&r.next==Qp||s==1&&r.next==kc||s>=2&&so?r.acceptToken(e,-o):r.acceptToken(t,-(o-2));break}else if((r.next==10||r.next==13)&&a){r.acceptToken(e,1);break}else s=o=0;r.advance()}})}var Gy=xc("script",py,my),Ny=xc("style",gy,Qy),Fy=xc("textarea",by,Sy),Hy=ge({"Text RawText IncompleteTag IncompleteCloseTag":d.content,"StartTag StartCloseTag SelfClosingEndTag EndTag":d.angleBracket,TagName:d.tagName,"MismatchedCloseTag/TagName":[d.tagName,d.invalid],AttributeName:d.attributeName,"AttributeValue UnquotedAttributeValue":d.attributeValue,Is:d.definitionOperator,"EntityReference CharacterReference":d.character,Comment:d.blockComment,ProcessingInst:d.processingInstruction,DoctypeDecl:d.documentMeta}),bp=ve.deserialize({version:14,states:",xOVO!rOOO!ZQ#tO'#CrO!`Q#tO'#C{O!eQ#tO'#DOO!jQ#tO'#DRO!oQ#tO'#DTO!tOaO'#CqO#PObO'#CqO#[OdO'#CqO$kO!rO'#CqOOO`'#Cq'#CqO$rO$fO'#DUO$zQ#tO'#DWO%PQ#tO'#DXOOO`'#Dl'#DlOOO`'#DZ'#DZQVO!rOOO%UQ&rO,59^O%aQ&rO,59gO%lQ&rO,59jO%wQ&rO,59mO&SQ&rO,59oOOOa'#D_'#D_O&_OaO'#CyO&jOaO,59]OOOb'#D`'#D`O&rObO'#C|O&}ObO,59]OOOd'#Da'#DaO'VOdO'#DPO'bOdO,59]OOO`'#Db'#DbO'jO!rO,59]O'qQ#tO'#DSOOO`,59],59]OOOp'#Dc'#DcO'vO$fO,59pOOO`,59p,59pO(OQ#|O,59rO(TQ#|O,59sOOO`-E7X-E7XO(YQ&rO'#CtOOQW'#D['#D[O(hQ&rO1G.xOOOa1G.x1G.xOOO`1G/Z1G/ZO(sQ&rO1G/ROOOb1G/R1G/RO)OQ&rO1G/UOOOd1G/U1G/UO)ZQ&rO1G/XOOO`1G/X1G/XO)fQ&rO1G/ZOOOa-E7]-E7]O)qQ#tO'#CzOOO`1G.w1G.wOOOb-E7^-E7^O)vQ#tO'#C}OOOd-E7_-E7_O){Q#tO'#DQOOO`-E7`-E7`O*QQ#|O,59nOOOp-E7a-E7aOOO`1G/[1G/[OOO`1G/^1G/^OOO`1G/_1G/_O*VQ,UO,59`OOQW-E7Y-E7YOOOa7+$d7+$dOOO`7+$u7+$uOOOb7+$m7+$mOOOd7+$p7+$pOOO`7+$s7+$sO*bQ#|O,59fO*gQ#|O,59iO*lQ#|O,59lOOO`1G/Y1G/YO*qO7[O'#CwO+SOMhO'#CwOOQW1G.z1G.zOOO`1G/Q1G/QOOO`1G/T1G/TOOO`1G/W1G/WOOOO'#D]'#D]O+eO7[O,59cOOQW,59c,59cOOOO'#D^'#D^O+vOMhO,59cOOOO-E7Z-E7ZOOQW1G.}1G.}OOOO-E7[-E7[",stateData:",c~O!_OS~OUSOVPOWQOXROYTO[]O][O^^O_^Oa^Ob^Oc^Od^Oy^O|_O!eZO~OgaO~OgbO~OgcO~OgdO~OgeO~O!XfOPmP![mP~O!YiOQpP![pP~O!ZlORsP![sP~OUSOVPOWQOXROYTOZqO[]O][O^^O_^Oa^Ob^Oc^Od^Oy^O!eZO~O![rO~P#gO!]sO!fuO~OgvO~OgwO~OS|OT}OiyO~OS!POT}OiyO~OS!ROT}OiyO~OS!TOT}OiyO~OS}OT}OiyO~O!XfOPmX![mX~OP!WO![!XO~O!YiOQpX![pX~OQ!ZO![!XO~O!ZlORsX![sX~OR!]O![!XO~O![!XO~P#gOg!_O~O!]sO!f!aO~OS!bO~OS!cO~Oj!dOShXThXihX~OS!fOT!gOiyO~OS!hOT!gOiyO~OS!iOT!gOiyO~OS!jOT!gOiyO~OS!gOT!gOiyO~Og!kO~Og!lO~Og!mO~OS!nO~Ol!qO!a!oO!c!pO~OS!rO~OS!sO~OS!tO~Ob!uOc!uOd!uO!a!wO!b!uO~Ob!xOc!xOd!xO!c!wO!d!xO~Ob!uOc!uOd!uO!a!{O!b!uO~Ob!xOc!xOd!xO!c!{O!d!xO~OT~cbd!ey|!e~",goto:"%q!aPPPPPPPPPPPPPPPPPPPPP!b!hP!nPP!zP!}#Q#T#Z#^#a#g#j#m#s#y!bP!b!bP$P$V$m$s$y%P%V%]%cPPPPPPPP%iX^OX`pXUOX`pezabcde{!O!Q!S!UR!q!dRhUR!XhXVOX`pRkVR!XkXWOX`pRnWR!XnXXOX`pQrXR!XpXYOX`pQ`ORx`Q{aQ!ObQ!QcQ!SdQ!UeZ!e{!O!Q!S!UQ!v!oR!z!vQ!y!pR!|!yQgUR!VgQjVR!YjQmWR![mQpXR!^pQtZR!`tS_O`ToXp",nodeNames:"\u26A0 StartCloseTag StartCloseTag StartCloseTag EndTag SelfClosingEndTag StartTag StartTag StartTag StartTag StartTag StartCloseTag StartCloseTag StartCloseTag IncompleteTag IncompleteCloseTag Document Text EntityReference CharacterReference InvalidEntity Element OpenTag TagName Attribute AttributeName Is AttributeValue UnquotedAttributeValue ScriptText CloseTag OpenTag StyleText CloseTag OpenTag TextareaText CloseTag OpenTag CloseTag SelfClosingTag Comment ProcessingInst MismatchedCloseTag CloseTag DoctypeDecl",maxTerm:68,context:Dy,nodeProps:[["closedBy",-10,1,2,3,7,8,9,10,11,12,13,"EndTag",6,"EndTag SelfClosingEndTag",-4,22,31,34,37,"CloseTag"],["openedBy",4,"StartTag StartCloseTag",5,"StartTag",-4,30,33,36,38,"OpenTag"],["group",-10,14,15,18,19,20,21,40,41,42,43,"Entity",17,"Entity TextContent",-3,29,32,35,"TextContent Entity"],["isolate",-11,22,30,31,33,34,36,37,38,39,42,43,"ltr",-3,27,28,40,""]],propSources:[Hy],skippedNodes:[0],repeatNodeCount:9,tokenData:"!]tw8twx7Sx!P8t!P!Q5u!Q!]8t!]!^/^!^!a7S!a#S8t#S#T;{#T#s8t#s$f5u$f;'S8t;'S;=`>V<%l?Ah8t?Ah?BY5u?BY?Mn8t?MnO5u!Z5zblWOX5uXZ7SZ[5u[^7S^p5uqr5urs7Sst+Ptw5uwx7Sx!]5u!]!^7w!^!a7S!a#S5u#S#T7S#T;'S5u;'S;=`8n<%lO5u!R7VVOp7Sqs7St!]7S!]!^7l!^;'S7S;'S;=`7q<%lO7S!R7qOb!R!R7tP;=`<%l7S!Z8OYlWb!ROX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+P!Z8qP;=`<%l5u!_8{iiSlWOX5uXZ7SZ[5u[^7S^p5uqr8trs7Sst/^tw8twx7Sx!P8t!P!Q5u!Q!]8t!]!^:j!^!a7S!a#S8t#S#T;{#T#s8t#s$f5u$f;'S8t;'S;=`>V<%l?Ah8t?Ah?BY5u?BY?Mn8t?MnO5u!_:sbiSlWb!ROX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+P!VP<%l?Ah;{?Ah?BY7S?BY?Mn;{?MnO7S!V=dXiSb!Rqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0m!V>SP;=`<%l;{!_>YP;=`<%l8t!_>dhiSlWOX@OXZAYZ[@O[^AY^p@OqrBwrsAYswBwwxAYx!PBw!P!Q@O!Q!]Bw!]!^/^!^!aAY!a#SBw#S#TE{#T#sBw#s$f@O$f;'SBw;'S;=`HS<%l?AhBw?Ah?BY@O?BY?MnBw?MnO@O!Z@TalWOX@OXZAYZ[@O[^AY^p@Oqr@OrsAYsw@OwxAYx!]@O!]!^Az!^!aAY!a#S@O#S#TAY#T;'S@O;'S;=`Bq<%lO@O!RA]UOpAYq!]AY!]!^Ao!^;'SAY;'S;=`At<%lOAY!RAtOc!R!RAwP;=`<%lAY!ZBRYlWc!ROX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+P!ZBtP;=`<%l@O!_COhiSlWOX@OXZAYZ[@O[^AY^p@OqrBwrsAYswBwwxAYx!PBw!P!Q@O!Q!]Bw!]!^Dj!^!aAY!a#SBw#S#TE{#T#sBw#s$f@O$f;'SBw;'S;=`HS<%l?AhBw?Ah?BY@O?BY?MnBw?MnO@O!_DsbiSlWc!ROX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+P!VFQbiSOpAYqrE{rsAYswE{wxAYx!PE{!P!QAY!Q!]E{!]!^GY!^!aAY!a#sE{#s$fAY$f;'SE{;'S;=`G|<%l?AhE{?Ah?BYAY?BY?MnE{?MnOAY!VGaXiSc!Rqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0m!VHPP;=`<%lE{!_HVP;=`<%lBw!ZHcW!cxaP!b`Or(trs'ksv(tw!^(t!^!_)e!_;'S(t;'S;=`*P<%lO(t!aIYliSaPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx}-_}!OKQ!O!P-_!P!Q$q!Q!^-_!^!_*V!_!a&X!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q!aK_kiSaPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx!P-_!P!Q$q!Q!^-_!^!_*V!_!`&X!`!aMS!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q!TM_XaP!b`!dp!fQOr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&X!aNZ!ZiSgQaPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx}-_}!OMz!O!PMz!P!Q$q!Q![Mz![!]Mz!]!^-_!^!_*V!_!a&X!a!c-_!c!}Mz!}#R-_#R#SMz#S#T1k#T#oMz#o#s-_#s$f$q$f$}-_$}%OMz%O%W-_%W%oMz%o%p-_%p&aMz&a&b-_&b1pMz1p4UMz4U4dMz4d4e-_4e$ISMz$IS$I`-_$I`$IbMz$Ib$Je-_$Je$JgMz$Jg$Kh-_$Kh%#tMz%#t&/x-_&/x&EtMz&Et&FV-_&FV;'SMz;'S;:j!#|;:j;=`3X<%l?&r-_?&r?AhMz?Ah?BY$q?BY?MnMz?MnO$q!a!$PP;=`<%lMz!R!$ZY!b`!dpOq*Vqr!$yrs(Vsv*Vwx)ex!a*V!a!b!4t!b;'S*V;'S;=`*s<%lO*V!R!%Q]!b`!dpOr*Vrs(Vsv*Vwx)ex}*V}!O!%y!O!f*V!f!g!']!g#W*V#W#X!0`#X;'S*V;'S;=`*s<%lO*V!R!&QX!b`!dpOr*Vrs(Vsv*Vwx)ex}*V}!O!&m!O;'S*V;'S;=`*s<%lO*V!R!&vV!b`!dp!ePOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!'dX!b`!dpOr*Vrs(Vsv*Vwx)ex!q*V!q!r!(P!r;'S*V;'S;=`*s<%lO*V!R!(WX!b`!dpOr*Vrs(Vsv*Vwx)ex!e*V!e!f!(s!f;'S*V;'S;=`*s<%lO*V!R!(zX!b`!dpOr*Vrs(Vsv*Vwx)ex!v*V!v!w!)g!w;'S*V;'S;=`*s<%lO*V!R!)nX!b`!dpOr*Vrs(Vsv*Vwx)ex!{*V!{!|!*Z!|;'S*V;'S;=`*s<%lO*V!R!*bX!b`!dpOr*Vrs(Vsv*Vwx)ex!r*V!r!s!*}!s;'S*V;'S;=`*s<%lO*V!R!+UX!b`!dpOr*Vrs(Vsv*Vwx)ex!g*V!g!h!+q!h;'S*V;'S;=`*s<%lO*V!R!+xY!b`!dpOr!+qrs!,hsv!+qvw!-Swx!.[x!`!+q!`!a!/j!a;'S!+q;'S;=`!0Y<%lO!+qq!,mV!dpOv!,hvx!-Sx!`!,h!`!a!-q!a;'S!,h;'S;=`!.U<%lO!,hP!-VTO!`!-S!`!a!-f!a;'S!-S;'S;=`!-k<%lO!-SP!-kO|PP!-nP;=`<%l!-Sq!-xS!dp|POv(Vx;'S(V;'S;=`(h<%lO(Vq!.XP;=`<%l!,ha!.aX!b`Or!.[rs!-Ssv!.[vw!-Sw!`!.[!`!a!.|!a;'S!.[;'S;=`!/d<%lO!.[a!/TT!b`|POr)esv)ew;'S)e;'S;=`)y<%lO)ea!/gP;=`<%l!.[!R!/sV!b`!dp|POr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!0]P;=`<%l!+q!R!0gX!b`!dpOr*Vrs(Vsv*Vwx)ex#c*V#c#d!1S#d;'S*V;'S;=`*s<%lO*V!R!1ZX!b`!dpOr*Vrs(Vsv*Vwx)ex#V*V#V#W!1v#W;'S*V;'S;=`*s<%lO*V!R!1}X!b`!dpOr*Vrs(Vsv*Vwx)ex#h*V#h#i!2j#i;'S*V;'S;=`*s<%lO*V!R!2qX!b`!dpOr*Vrs(Vsv*Vwx)ex#m*V#m#n!3^#n;'S*V;'S;=`*s<%lO*V!R!3eX!b`!dpOr*Vrs(Vsv*Vwx)ex#d*V#d#e!4Q#e;'S*V;'S;=`*s<%lO*V!R!4XX!b`!dpOr*Vrs(Vsv*Vwx)ex#X*V#X#Y!+q#Y;'S*V;'S;=`*s<%lO*V!R!4{Y!b`!dpOr!4trs!5ksv!4tvw!6Vwx!8]x!a!4t!a!b!:]!b;'S!4t;'S;=`!;r<%lO!4tq!5pV!dpOv!5kvx!6Vx!a!5k!a!b!7W!b;'S!5k;'S;=`!8V<%lO!5kP!6YTO!a!6V!a!b!6i!b;'S!6V;'S;=`!7Q<%lO!6VP!6lTO!`!6V!`!a!6{!a;'S!6V;'S;=`!7Q<%lO!6VP!7QOyPP!7TP;=`<%l!6Vq!7]V!dpOv!5kvx!6Vx!`!5k!`!a!7r!a;'S!5k;'S;=`!8V<%lO!5kq!7yS!dpyPOv(Vx;'S(V;'S;=`(h<%lO(Vq!8YP;=`<%l!5ka!8bX!b`Or!8]rs!6Vsv!8]vw!6Vw!a!8]!a!b!8}!b;'S!8];'S;=`!:V<%lO!8]a!9SX!b`Or!8]rs!6Vsv!8]vw!6Vw!`!8]!`!a!9o!a;'S!8];'S;=`!:V<%lO!8]a!9vT!b`yPOr)esv)ew;'S)e;'S;=`)y<%lO)ea!:YP;=`<%l!8]!R!:dY!b`!dpOr!4trs!5ksv!4tvw!6Vwx!8]x!`!4t!`!a!;S!a;'S!4t;'S;=`!;r<%lO!4t!R!;]V!b`!dpyPOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!;uP;=`<%l!4t!V!{let c=a.type.id;if(c==Cy)return Qc(a,l,t);if(c==Xy)return Qc(a,l,n);if(c==_y)return Qc(a,l,r);if(c==pp&&s.length){let h=a.node,f=h.firstChild,u=f&&hp(f,l),O;if(u){for(let p of s)if(p.tag==u&&(!p.attrs||p.attrs(O||(O=Sp(f,l))))){let m=h.lastChild,b=m.type.id==Ay?m.from:h.to;if(b>f.to)return{parser:p.parser,overlay:[{from:f.to,to:b}]}}}}if(o&&c==mp){let h=a.node,f;if(f=h.firstChild){let u=o[l.read(f.from,f.to)];if(u)for(let O of u){if(O.tagName&&O.tagName!=hp(h.parent,l))continue;let p=h.lastChild;if(p.type.id==bc){let m=p.from+1,b=p.lastChild,g=p.to-(b&&b.isError?0:1);if(g>m)return{parser:O.parser,overlay:[{from:m,to:g}],bracketed:!0}}else if(p.type.id==gp)return{parser:O.parser,overlay:[{from:p.from,to:p.to}]}}}}return null})}var Ky=145,yp=1,Jy=146,ek=147,xp=2,tk=148,ik=3,nk=4,wp=[9,10,11,12,13,32,133,160,5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8232,8233,8239,8287,12288],rk=58,sk=40,Pp=95,ok=91,no=45,ak=46,lk=35,ck=37,hk=38,fk=92,uk=10,Ok=42;function wr(i){return i>=65&&i<=90||i>=97&&i<=122||i>=161}function Pc(i){return i>=48&&i<=57}function kp(i){return Pc(i)||i>=97&&i<=102||i>=65&&i<=70}var vp=(i,e,t)=>(n,r)=>{for(let s=!1,o=0,a=0;;a++){let{next:l}=n;if(wr(l)||l==no||l==Pp||s&&Pc(l))!s&&(l!=no||a>0)&&(s=!0),o===a&&l==no&&o++,n.advance();else if(l==fk&&n.peek(1)!=uk){if(n.advance(),kp(n.next)){do n.advance();while(kp(n.next));n.next==32&&n.advance()}else n.next>-1&&n.advance();s=!0}else{s&&n.acceptToken(o==2&&r.canShift(xp)?e:l==sk?t:i);break}}},dk=new K(vp(Jy,xp,ek),{contextual:!0}),pk=new K(vp(tk,ik,nk),{contextual:!0}),mk=new K(i=>{if(wp.includes(i.peek(-1))){let{next:e}=i;(wr(e)||e==Pp||e==lk||e==ak||e==Ok||e==ok||e==rk&&wr(i.peek(1))||e==no||e==hk)&&i.acceptToken(Ky)}}),gk=new K(i=>{if(!wp.includes(i.peek(-1))){let{next:e}=i;if(e==ck&&(i.advance(),i.acceptToken(yp)),wr(e)){do i.advance();while(wr(i.next)||Pc(i.next));i.acceptToken(yp)}}}),Qk=ge({"AtKeyword import charset namespace keyframes media supports font-feature-values":d.definitionKeyword,"from to selector scope MatchFlag":d.keyword,NamespaceName:d.namespace,KeyframeName:d.labelName,KeyframeRangeName:d.operatorKeyword,TagName:d.tagName,ClassName:d.className,PseudoClassName:d.constant(d.className),IdName:d.labelName,"FeatureName PropertyName":d.propertyName,AttributeName:d.attributeName,NumberLiteral:d.number,KeywordQuery:d.keyword,UnaryQueryOp:d.operatorKeyword,"CallTag ValueName FontName":d.atom,VariableName:d.variableName,Callee:d.operatorKeyword,Unit:d.unit,"UniversalSelector NestingSelector":d.definitionOperator,"MatchOp CompareOp":d.compareOperator,"ChildOp SiblingOp, LogicOp":d.logicOperator,BinOp:d.arithmeticOperator,Important:d.modifier,Comment:d.blockComment,ColorLiteral:d.color,"ParenthesizedContent StringLiteral":d.string,":":d.punctuation,"PseudoOp #":d.derefOperator,"; , |":d.separator,"( )":d.paren,"[ ]":d.squareBracket,"{ }":d.brace}),bk={__proto__:null,lang:44,"nth-child":44,"nth-last-child":44,"nth-of-type":44,"nth-last-of-type":44,dir:44,"host-context":44,if:90,url:152,"url-prefix":152,domain:152,regexp:152},Sk={__proto__:null,or:104,and:104,not:112,only:112,layer:206},yk={__proto__:null,selector:118,style:124,layer:202},kk={__proto__:null,"@import":198,"@media":210,"@charset":214,"@namespace":218,"@keyframes":224,"@supports":236,"@scope":240,"@font-feature-values":246},xk={__proto__:null,to:243},$p=ve.deserialize({version:14,states:"MlQYQdOOO#}QdOOP$UO`OOO%OQaO'#CfOOQP'#Ce'#CeO%VQdO'#CgO%[Q`O'#CgO%aQaO'#FnO&XQdO'#CkO&xQaO'#CcO'SQdO'#CnO'_QdO'#EOO'dQdO'#EQO'oQdO'#EXO'oQdO'#E[OOQP'#Fn'#FnO)RQhO'#E}OOQS'#Fm'#FmOOQS'#FQ'#FQQYQdOOO)YQdO'#EbO*iQhO'#EhO)YQdO'#EjO*pQdO'#ElO*{QdO'#EoO)}QhO'#EuO+TQdO'#EwO+`QdO'#EzO+eQaO'#CfO+lQ`O'#E_O+qQ`O'#F{O+|QdO'#F{QOQ`OOP,WO&jO'#CaPOOO)CA])CA]OOQP'#Ci'#CiOOQP,59R,59RO%VQdO,59ROOQP'#Cm'#CmOOQP,59V,59VO&XQdO,59VO,cQdO,59YO'_QdO,5:jO'dQdO,5:lO'oQdO,5:sO'oQdO,5:uO'oQdO,5:vO'oQdO'#FXO,nQ`O,58}O,vQdO'#E^OOQS,58},58}OOQP'#Cq'#CqOOQO'#D|'#D|OOQP,59Y,59YO,}Q`O,59YO-SQ`O,59YOOQP'#EP'#EPOOQP,5:j,5:jO-XQpO'#ERO-dQdO'#ESO-iQ`O'#ESO-nQpO,5:lO.XQaO,5:sO.oQaO,5:vOOQW'#D^'#D^O/nQhO'#DgO0RQhO,5;iO)}QhO'#DeO0`Q`O'#DnO0eQhO'#DxOOQW'#Ft'#FtOOQS,5;i,5;iO0jQ`O'#DhO0oQ`O'#DkOOQS-E9O-E9OOOQ['#Cv'#CvO0tQdO'#CwO1[QdO'#C}O1rQdO'#DQO2YQ!pO'#DSO4fQ!jO,5:|OOQO'#DX'#DXO-SQ`O'#DWO4vQ!nO'#FqO6|Q`O'#DYO7RQ`O'#DyOOQ['#Fq'#FqO7WQhO'#GOO7fQ`O,5;SO7kQ!bO,5;UOOQS'#En'#EnO7sQ`O,5;WO7xQdO,5;WOOQO'#Eq'#EqO8QQ`O,5;ZO8VQhO,5;aO'oQdO'#DjOOQS,5;c,5;cO0jQ`O,5;cO8_QdO,5;cOOQS'#F`'#F`O8gQdO'#E|O7fQ`O,5;fO8oQdO,5:yO9PQdO'#FZO9^Q`O,5lQhO'#DoOOQW,5:Y,5:YOOQW,5:d,5:dOOQW,5:S,5:SO>vQhO,5:VO?bQ!fO'#FrOOQS'#Fr'#FrOOQS'#FS'#FSO@rQdO,59cOOQ[,59c,59cOAYQdO,59iOOQ[,59i,59iOApQdO,59lOOQ[,59l,59lOOQ[,59n,59nO)YQdO,59pOBWQhO'#EdOOQW'#Ed'#EdOBuQ`O1G0hO4oQhO1G0hOOQ[,59r,59rO)}QhO'#D[OOQ[,59t,59tOBzQ#tO,5:eOCVQhO'#F]OCdQ`O,5vQhO'#DmOI_QhO'#DqOIgQhO'#DsOIlQhO'#FwOOQO'#Fw'#FwOItQ!bO'#DwOOQO'#Fy'#FyOOQO'#Fv'#FvOIyQ`O1G/qOOQS-E9Q-E9QOOQ[1G.}1G.}OOQ[1G/T1G/TOOQ[1G/W1G/WOOQ[1G/[1G/[OJOQdO,5;OOOQS7+&S7+&SOJTQ`O7+&SOJYQhO'#D]OJbQ`O,59vO)}QhO,59vOOQ[1G0P1G0POJjQ`O1G0POJoQhO,5;wOOQO-E9Z-E9ZOOQS7+&^7+&^OJ}QbO'#DSOOQO'#Et'#EtOK]Q`O'#EsOOQO'#Es'#EsOKhQ`O'#F^OKpQdO,5;^OOQS,5;^,5;^OOQ[1G/p1G/pOOQS7+&i7+&iO7fQ`O7+&iOK{Q!fO'#FYO)YQdO'#FYOMSQdO7+&POOQO7+&P7+&POOQO,5:{,5:{OOQO1G1a1G1aOMgQ!bO<vQhO'#DrOOQO,5:],5:]O! hQhO,5:_OGUQhO,5:cOOQW7+%]7+%]OOQO'#Ef'#EfO! pQ`O1G0jOOQS<xAN>xO!#zQ`OAN>xO!$PQaO,5;rOOQO-E9U-E9UO!$ZQdO,5;qOOQO-E9T-E9TOOQW<vQhO'#DuOOQO1G/y1G/yO!%vQ!bO1G/}OJOQdO'#F[O!&OQ`O7+&UOOQW7+&U7+&UO!&WQ!bO1G/cOOQ[7+$|7+$|O!&cQhO7+$|P!&jQ`O'#FTOOQO,5;y,5;yOOQO-E9]-E9]OOQS1G1d1G1dOOQPG24dG24dO!&oQ`OAN>ZO)YQdO1G1[O!&tQ`O7+'jOOQO1G/x1G/xO!&|Q`O,5:aO!$eQhO7+%iOOQO,5;v,5;vOOQO-E9Y-E9YOOQW<Q!]!^>|!^!_?_!_!`@Z!`!a@n!a!b%Z!b!cAo!c!k%Z!k!lC|!l!u%Z!u!vC|!v!}%Z!}#OD_#O#P%Z#P#QDp#Q#R2X#R#]%Z#]#^ER#^#g%Z#g#hC|#h#o%Z#o#pIf#p#qIw#q#rJ`#r#sJq#s#y%Z#y#z&R#z$f%Z$f$g&R$g#BY%Z#BY#BZ&R#BZ$IS%Z$IS$I_&R$I_$I|%Z$I|$JO&R$JO$JT%Z$JT$JU&R$JU$KV%Z$KV$KW&R$KW&FU%Z&FU&FV&R&FV;'S%Z;'S;=`KY<%lO%Z`%^SOy%jz;'S%j;'S;=`%{<%lO%j`%oS!o`Oy%jz;'S%j;'S;=`%{<%lO%j`&OP;=`<%l%j~&Wh$[~OX%jX^'r^p%jpq'rqy%jz#y%j#y#z'r#z$f%j$f$g'r$g#BY%j#BY#BZ'r#BZ$IS%j$IS$I_'r$I_$I|%j$I|$JO'r$JO$JT%j$JT$JU'r$JU$KV%j$KV$KW'r$KW&FU%j&FU&FV'r&FV;'S%j;'S;=`%{<%lO%j~'yh$[~!o`OX%jX^'r^p%jpq'rqy%jz#y%j#y#z'r#z$f%j$f$g'r$g#BY%j#BY#BZ'r#BZ$IS%j$IS$I_'r$I_$I|%j$I|$JO'r$JO$JT%j$JT$JU'r$JU$KV%j$KV$KW'r$KW&FU%j&FU&FV'r&FV;'S%j;'S;=`%{<%lO%jj)jS$qYOy%jz;'S%j;'S;=`%{<%lO%j~)yWOY)vZr)vrs*cs#O)v#O#P*h#P;'S)v;'S;=`+d<%lO)v~*hOw~~*kRO;'S)v;'S;=`*t;=`O)v~*wXOY)vZr)vrs*cs#O)v#O#P*h#P;'S)v;'S;=`+d;=`<%l)v<%lO)v~+gP;=`<%l)vj+oYmYOy%jz!Q%j!Q![,_![!c%j!c!i,_!i#T%j#T#Z,_#Z;'S%j;'S;=`%{<%lO%jj,dY!o`Oy%jz!Q%j!Q![-S![!c%j!c!i-S!i#T%j#T#Z-S#Z;'S%j;'S;=`%{<%lO%jj-XY!o`Oy%jz!Q%j!Q![-w![!c%j!c!i-w!i#T%j#T#Z-w#Z;'S%j;'S;=`%{<%lO%jj.OYuY!o`Oy%jz!Q%j!Q![.n![!c%j!c!i.n!i#T%j#T#Z.n#Z;'S%j;'S;=`%{<%lO%jj.uYuY!o`Oy%jz!Q%j!Q![/e![!c%j!c!i/e!i#T%j#T#Z/e#Z;'S%j;'S;=`%{<%lO%jj/jY!o`Oy%jz!Q%j!Q![0Y![!c%j!c!i0Y!i#T%j#T#Z0Y#Z;'S%j;'S;=`%{<%lO%jj0aYuY!o`Oy%jz!Q%j!Q![1P![!c%j!c!i1P!i#T%j#T#Z1P#Z;'S%j;'S;=`%{<%lO%jj1UY!o`Oy%jz!Q%j!Q![1t![!c%j!c!i1t!i#T%j#T#Z1t#Z;'S%j;'S;=`%{<%lO%jj1{SuY!o`Oy%jz;'S%j;'S;=`%{<%lO%jd2[UOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%jd2uS!yS!o`Oy%jz;'S%j;'S;=`%{<%lO%jb3WS^QOy%jz;'S%j;'S;=`%{<%lO%j~3gWOY3dZw3dwx*cx#O3d#O#P4P#P;'S3d;'S;=`4{<%lO3d~4SRO;'S3d;'S;=`4];=`O3d~4`XOY3dZw3dwx*cx#O3d#O#P4P#P;'S3d;'S;=`4{;=`<%l3d<%lO3d~5OP;=`<%l3dj5WShYOy%jz;'S%j;'S;=`%{<%lO%j~5iOg~n5pUWQyWOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%jj6ZWyW#PQOy%jz!O%j!O!P6s!P!Q%j!Q![9x![;'S%j;'S;=`%{<%lO%jj6xU!o`Oy%jz!Q%j!Q![7[![;'S%j;'S;=`%{<%lO%jj7cY!o`$gYOy%jz!Q%j!Q![7[![!g%j!g!h8R!h#X%j#X#Y8R#Y;'S%j;'S;=`%{<%lO%jj8WY!o`Oy%jz{%j{|8v|}%j}!O8v!O!Q%j!Q![9_![;'S%j;'S;=`%{<%lO%jj8{U!o`Oy%jz!Q%j!Q![9_![;'S%j;'S;=`%{<%lO%jj9fU!o`$gYOy%jz!Q%j!Q![9_![;'S%j;'S;=`%{<%lO%jj:P[!o`$gYOy%jz!O%j!O!P7[!P!Q%j!Q![9x![!g%j!g!h8R!h#X%j#X#Y8R#Y;'S%j;'S;=`%{<%lO%jj:zS!dYOy%jz;'S%j;'S;=`%{<%lO%jj;]WyWOy%jz!O%j!O!P6s!P!Q%j!Q![9x![;'S%j;'S;=`%{<%lO%jj;zU`YOy%jz!Q%j!Q![7[![;'S%j;'S;=`%{<%lO%j~VUcYOy%jz![%j![!]>i!];'S%j;'S;=`%{<%lO%jj>pSdY!o`Oy%jz;'S%j;'S;=`%{<%lO%jj?RSnYOy%jz;'S%j;'S;=`%{<%lO%jh?dU!WWOy%jz!_%j!_!`?v!`;'S%j;'S;=`%{<%lO%jh?}S!WW!o`Oy%jz;'S%j;'S;=`%{<%lO%jl@bS!WW!ySOy%jz;'S%j;'S;=`%{<%lO%jj@uV!|Q!WWOy%jz!_%j!_!`?v!`!aA[!a;'S%j;'S;=`%{<%lO%jbAcS!|Q!o`Oy%jz;'S%j;'S;=`%{<%lO%jjArYOy%jz}%j}!OBb!O!c%j!c!}CP!}#T%j#T#oCP#o;'S%j;'S;=`%{<%lO%jjBgW!o`Oy%jz!c%j!c!}CP!}#T%j#T#oCP#o;'S%j;'S;=`%{<%lO%jjCW[lY!o`Oy%jz}%j}!OCP!O!Q%j!Q![CP![!c%j!c!}CP!}#T%j#T#oCP#o;'S%j;'S;=`%{<%lO%jhDRS!zWOy%jz;'S%j;'S;=`%{<%lO%jjDdSpYOy%jz;'S%j;'S;=`%{<%lO%jnDuSo^Oy%jz;'S%j;'S;=`%{<%lO%jjEWU!zWOy%jz#a%j#a#bEj#b;'S%j;'S;=`%{<%lO%jbEoU!o`Oy%jz#d%j#d#eFR#e;'S%j;'S;=`%{<%lO%jbFWU!o`Oy%jz#c%j#c#dFj#d;'S%j;'S;=`%{<%lO%jbFoU!o`Oy%jz#f%j#f#gGR#g;'S%j;'S;=`%{<%lO%jbGWU!o`Oy%jz#h%j#h#iGj#i;'S%j;'S;=`%{<%lO%jbGoU!o`Oy%jz#T%j#T#UHR#U;'S%j;'S;=`%{<%lO%jbHWU!o`Oy%jz#b%j#b#cHj#c;'S%j;'S;=`%{<%lO%jbHoU!o`Oy%jz#h%j#h#iIR#i;'S%j;'S;=`%{<%lO%jbIYS$pQ!o`Oy%jz;'S%j;'S;=`%{<%lO%jjIkSsYOy%jz;'S%j;'S;=`%{<%lO%jfI|U$cUOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%jjJeSrYOy%jz;'S%j;'S;=`%{<%lO%jfJvU#PQOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%j`K]P;=`<%l%Z",tokenizers:[mk,gk,dk,pk,1,2,3,4,new Qi("m~RRYZ[z{a~~g~aO$_~~dP!P!Qg~lO$`~~",28,152)],topRules:{StyleSheet:[0,6],Styles:[1,126]},dynamicPrecedences:{94:1},specialized:[{term:147,get:i=>bk[i]||-1},{term:148,get:i=>Sk[i]||-1},{term:4,get:i=>yk[i]||-1},{term:28,get:i=>kk[i]||-1},{term:146,get:i=>xk[i]||-1}],tokenPrec:2405});var vc=null;function $c(){if(!vc&&typeof document=="object"&&document.body){let{style:i}=document.body,e=[],t=new Set;for(let n in i)n!="cssText"&&n!="cssFloat"&&typeof i[n]=="string"&&(/[A-Z]/.test(n)&&(n=n.replace(/[A-Z]/g,r=>"-"+r.toLowerCase())),t.has(n)||(e.push(n),t.add(n)));vc=e.sort().map(n=>({type:"property",label:n,apply:n+": "}))}return vc||[]}var Tp=["active","after","any-link","autofill","backdrop","before","checked","cue","default","defined","disabled","empty","enabled","file-selector-button","first","first-child","first-letter","first-line","first-of-type","focus","focus-visible","focus-within","fullscreen","has","host","host-context","hover","in-range","indeterminate","invalid","is","lang","last-child","last-of-type","left","link","marker","modal","not","nth-child","nth-last-child","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","part","placeholder","placeholder-shown","read-only","read-write","required","right","root","scope","selection","slotted","target","target-text","valid","visited","where"].map(i=>({type:"class",label:i})),Cp=["above","absolute","activeborder","additive","activecaption","after-white-space","ahead","alias","all","all-scroll","alphabetic","alternate","always","antialiased","appworkspace","asterisks","attr","auto","auto-flow","avoid","avoid-column","avoid-page","avoid-region","axis-pan","background","backwards","baseline","below","bidi-override","blink","block","block-axis","bold","bolder","border","border-box","both","bottom","break","break-all","break-word","bullets","button","button-bevel","buttonface","buttonhighlight","buttonshadow","buttontext","calc","capitalize","caps-lock-indicator","caption","captiontext","caret","cell","center","checkbox","circle","cjk-decimal","clear","clip","close-quote","col-resize","collapse","color","color-burn","color-dodge","column","column-reverse","compact","condensed","contain","content","contents","content-box","context-menu","continuous","copy","counter","counters","cover","crop","cross","crosshair","currentcolor","cursive","cyclic","darken","dashed","decimal","decimal-leading-zero","default","default-button","dense","destination-atop","destination-in","destination-out","destination-over","difference","disc","discard","disclosure-closed","disclosure-open","document","dot-dash","dot-dot-dash","dotted","double","down","e-resize","ease","ease-in","ease-in-out","ease-out","element","ellipse","ellipsis","embed","end","ethiopic-abegede-gez","ethiopic-halehame-aa-er","ethiopic-halehame-gez","ew-resize","exclusion","expanded","extends","extra-condensed","extra-expanded","fantasy","fast","fill","fill-box","fixed","flat","flex","flex-end","flex-start","footnotes","forwards","from","geometricPrecision","graytext","grid","groove","hand","hard-light","help","hidden","hide","higher","highlight","highlighttext","horizontal","hsl","hsla","hue","icon","ignore","inactiveborder","inactivecaption","inactivecaptiontext","infinite","infobackground","infotext","inherit","initial","inline","inline-axis","inline-block","inline-flex","inline-grid","inline-table","inset","inside","intrinsic","invert","italic","justify","keep-all","landscape","large","larger","left","level","lighter","lighten","line-through","linear","linear-gradient","lines","list-item","listbox","listitem","local","logical","loud","lower","lower-hexadecimal","lower-latin","lower-norwegian","lowercase","ltr","luminosity","manipulation","match","matrix","matrix3d","medium","menu","menutext","message-box","middle","min-intrinsic","mix","monospace","move","multiple","multiple_mask_images","multiply","n-resize","narrower","ne-resize","nesw-resize","no-close-quote","no-drop","no-open-quote","no-repeat","none","normal","not-allowed","nowrap","ns-resize","numbers","numeric","nw-resize","nwse-resize","oblique","opacity","open-quote","optimizeLegibility","optimizeSpeed","outset","outside","outside-shape","overlay","overline","padding","padding-box","painted","page","paused","perspective","pinch-zoom","plus-darker","plus-lighter","pointer","polygon","portrait","pre","pre-line","pre-wrap","preserve-3d","progress","push-button","radial-gradient","radio","read-only","read-write","read-write-plaintext-only","rectangle","region","relative","repeat","repeating-linear-gradient","repeating-radial-gradient","repeat-x","repeat-y","reset","reverse","rgb","rgba","ridge","right","rotate","rotate3d","rotateX","rotateY","rotateZ","round","row","row-resize","row-reverse","rtl","run-in","running","s-resize","sans-serif","saturation","scale","scale3d","scaleX","scaleY","scaleZ","screen","scroll","scrollbar","scroll-position","se-resize","self-start","self-end","semi-condensed","semi-expanded","separate","serif","show","single","skew","skewX","skewY","skip-white-space","slide","slider-horizontal","slider-vertical","sliderthumb-horizontal","sliderthumb-vertical","slow","small","small-caps","small-caption","smaller","soft-light","solid","source-atop","source-in","source-out","source-over","space","space-around","space-between","space-evenly","spell-out","square","start","static","status-bar","stretch","stroke","stroke-box","sub","subpixel-antialiased","svg_masks","super","sw-resize","symbolic","symbols","system-ui","table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row","table-row-group","text","text-bottom","text-top","textarea","textfield","thick","thin","threeddarkshadow","threedface","threedhighlight","threedlightshadow","threedshadow","to","top","transform","translate","translate3d","translateX","translateY","translateZ","transparent","ultra-condensed","ultra-expanded","underline","unidirectional-pan","unset","up","upper-latin","uppercase","url","var","vertical","vertical-text","view-box","visible","visibleFill","visiblePainted","visibleStroke","visual","w-resize","wait","wave","wider","window","windowframe","windowtext","words","wrap","wrap-reverse","x-large","x-small","xor","xx-large","xx-small"].map(i=>({type:"keyword",label:i})).concat(["aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","grey","green","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen"].map(i=>({type:"constant",label:i}))),wk=["a","abbr","address","article","aside","b","bdi","bdo","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","dd","del","details","dfn","dialog","div","dl","dt","em","figcaption","figure","footer","form","header","hgroup","h1","h2","h3","h4","h5","h6","hr","html","i","iframe","img","input","ins","kbd","label","legend","li","main","meter","nav","ol","output","p","pre","ruby","section","select","small","source","span","strong","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","tr","u","ul"].map(i=>({type:"type",label:i})),Pk=["@charset","@color-profile","@container","@counter-style","@font-face","@font-feature-values","@font-palette-values","@import","@keyframes","@layer","@media","@namespace","@page","@position-try","@property","@scope","@starting-style","@supports","@view-transition"].map(i=>({type:"keyword",label:i})),Bt=/^(\w[\w-]*|-\w[\w-]*|)$/,vk=/^-(-[\w-]*)?$/;function $k(i,e){var t;if((i.name=="("||i.type.isError)&&(i=i.parent||i),i.name!="ArgList")return!1;let n=(t=i.parent)===null||t===void 0?void 0:t.firstChild;return n?.name!="Callee"?!1:e.sliceString(n.from,n.to)=="var"}var Xp=new fi,Tk=["Declaration"];function Ck(i){for(let e=i;;){if(e.type.isTop)return e;if(!(e=e.parent))return i}}function _p(i,e,t){if(e.to-e.from>4096){let n=Xp.get(e);if(n)return n;let r=[],s=new Set,o=e.cursor(ee.IncludeAnonymous);if(o.firstChild())do for(let a of _p(i,o.node,t))s.has(a.label)||(s.add(a.label),r.push(a));while(o.nextSibling());return Xp.set(e,r),r}else{let n=[],r=new Set;return e.cursor().iterate(s=>{var o;if(t(s)&&s.matchContext(Tk)&&((o=s.node.nextSibling)===null||o===void 0?void 0:o.name)==":"){let a=i.sliceString(s.from,s.to);r.has(a)||(r.add(a),n.push({label:a,type:"variable"}))}}),n}}var Xk=i=>e=>{let{state:t,pos:n}=e,r=B(t).resolveInner(n,-1),s=r.type.isError&&r.from==r.to-1&&t.doc.sliceString(r.from,r.to)=="-";if(r.name=="PropertyName"||(s||r.name=="TagName")&&/^(Block|Styles)$/.test(r.resolve(r.to).name))return{from:r.from,options:$c(),validFor:Bt};if(r.name=="ValueName")return{from:r.from,options:Cp,validFor:Bt};if(r.name=="PseudoClassName")return{from:r.from,options:Tp,validFor:Bt};if(i(r)||(e.explicit||s)&&$k(r,t.doc))return{from:i(r)||s?r.from:n,options:_p(t.doc,Ck(r),i),validFor:vk};if(r.name=="TagName"){for(let{parent:l}=r;l;l=l.parent)if(l.name=="Block")return{from:r.from,options:$c(),validFor:Bt};return{from:r.from,options:wk,validFor:Bt}}if(r.name=="AtKeyword")return{from:r.from,options:Pk,validFor:Bt};if(!e.explicit)return null;let o=r.resolve(n),a=o.childBefore(n);return a&&a.name==":"&&o.name=="PseudoClassSelector"?{from:n,options:Tp,validFor:Bt}:a&&a.name==":"&&o.name=="Declaration"||o.name=="ArgList"?{from:n,options:Cp,validFor:Bt}:o.name=="Block"||o.name=="Styles"?{from:n,options:$c(),validFor:Bt}:null},_k=Xk(i=>i.name=="VariableName"),Pr=Te.define({name:"css",parser:$p.configure({props:[Pe.add({Declaration:Yt()}),Ce.add({"Block KeyframeList":ct})]}),languageData:{commentTokens:{block:{open:"/*",close:"*/"}},indentOnInput:/^\s*\}$/,wordChars:"-"}});function ro(){return new pe(Pr,Pr.data.of({autocomplete:_k}))}var Rk=316,Ak=317,Rp=1,Zk=2,qk=3,Ek=4,zk=318,Lk=320,Mk=321,Wk=5,jk=6,Vk=0,Cc=[9,10,11,12,13,32,133,160,5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8232,8233,8239,8287,12288],Ap=125,Dk=59,Xc=47,Yk=42,Ik=43,Bk=45,Uk=60,Gk=44,Nk=63,Fk=46,Hk=91,Kk=new Ot({start:!1,shift(i,e){return e==Wk||e==jk||e==Lk?i:e==Mk},strict:!1}),Jk=new K((i,e)=>{let{next:t}=i;(t==Ap||t==-1||e.context)&&i.acceptToken(zk)},{contextual:!0,fallback:!0}),e1=new K((i,e)=>{let{next:t}=i,n;Cc.indexOf(t)>-1||t==Xc&&((n=i.peek(1))==Xc||n==Yk)||t!=Ap&&t!=Dk&&t!=-1&&!e.context&&i.acceptToken(Rk)},{contextual:!0}),t1=new K((i,e)=>{i.next==Hk&&!e.context&&i.acceptToken(Ak)},{contextual:!0}),i1=new K((i,e)=>{let{next:t}=i;if(t==Ik||t==Bk){if(i.advance(),t==i.next){i.advance();let n=!e.context&&e.canShift(Rp);i.acceptToken(n?Rp:Zk)}}else t==Nk&&i.peek(1)==Fk&&(i.advance(),i.advance(),(i.next<48||i.next>57)&&i.acceptToken(qk))},{contextual:!0});function Tc(i,e){return i>=65&&i<=90||i>=97&&i<=122||i==95||i>=192||!e&&i>=48&&i<=57}var n1=new K((i,e)=>{if(i.next!=Uk||!e.dialectEnabled(Vk)||(i.advance(),i.next==Xc))return;let t=0;for(;Cc.indexOf(i.next)>-1;)i.advance(),t++;if(Tc(i.next,!0)){for(i.advance(),t++;Tc(i.next,!1);)i.advance(),t++;for(;Cc.indexOf(i.next)>-1;)i.advance(),t++;if(i.next==Gk)return;for(let n=0;;n++){if(n==7){if(!Tc(i.next,!0))return;break}if(i.next!="extends".charCodeAt(n))break;i.advance(),t++}}i.acceptToken(Ek,-t)}),r1=ge({"get set async static":d.modifier,"for while do if else switch try catch finally return throw break continue default case defer":d.controlKeyword,"in of await yield void typeof delete instanceof as satisfies":d.operatorKeyword,"let var const using function class extends":d.definitionKeyword,"import export from":d.moduleKeyword,"with debugger new":d.keyword,TemplateString:d.special(d.string),super:d.atom,BooleanLiteral:d.bool,this:d.self,null:d.null,Star:d.modifier,VariableName:d.variableName,"CallExpression/VariableName TaggedTemplateExpression/VariableName":d.function(d.variableName),VariableDefinition:d.definition(d.variableName),Label:d.labelName,PropertyName:d.propertyName,PrivatePropertyName:d.special(d.propertyName),"CallExpression/MemberExpression/PropertyName":d.function(d.propertyName),"FunctionDeclaration/VariableDefinition":d.function(d.definition(d.variableName)),"ClassDeclaration/VariableDefinition":d.definition(d.className),"NewExpression/VariableName":d.className,PropertyDefinition:d.definition(d.propertyName),PrivatePropertyDefinition:d.definition(d.special(d.propertyName)),UpdateOp:d.updateOperator,"LineComment Hashbang":d.lineComment,BlockComment:d.blockComment,Number:d.number,String:d.string,Escape:d.escape,ArithOp:d.arithmeticOperator,LogicOp:d.logicOperator,BitOp:d.bitwiseOperator,CompareOp:d.compareOperator,RegExp:d.regexp,Equals:d.definitionOperator,Arrow:d.function(d.punctuation),": Spread":d.punctuation,"( )":d.paren,"[ ]":d.squareBracket,"{ }":d.brace,"InterpolationStart InterpolationEnd":d.special(d.brace),".":d.derefOperator,", ;":d.separator,"@":d.meta,TypeName:d.typeName,TypeDefinition:d.definition(d.typeName),"type enum interface implements namespace module declare":d.definitionKeyword,"abstract global Privacy readonly override":d.modifier,"is keyof unique infer asserts":d.operatorKeyword,JSXAttributeValue:d.attributeValue,JSXText:d.content,"JSXStartTag JSXStartCloseTag JSXSelfCloseEndTag JSXEndTag":d.angleBracket,"JSXIdentifier JSXNameSpacedName":d.tagName,"JSXAttribute/JSXIdentifier JSXAttribute/JSXNameSpacedName":d.attributeName,"JSXBuiltin/JSXIdentifier":d.standard(d.tagName)}),s1={__proto__:null,export:20,as:25,from:33,default:36,async:41,function:42,in:52,out:55,const:56,extends:60,this:64,true:72,false:72,null:84,void:88,typeof:92,super:108,new:142,delete:154,yield:163,await:167,class:172,public:235,private:235,protected:235,readonly:237,instanceof:256,satisfies:259,import:292,keyof:349,unique:353,infer:359,asserts:395,is:397,abstract:417,implements:419,type:421,let:424,var:426,using:429,interface:435,enum:439,namespace:445,module:447,declare:451,global:455,defer:471,for:476,of:485,while:488,with:492,do:496,if:500,else:502,switch:506,case:512,try:518,catch:522,finally:526,return:530,throw:534,break:538,continue:542,debugger:546},o1={__proto__:null,async:129,get:131,set:133,declare:195,public:197,private:197,protected:197,static:199,abstract:201,override:203,readonly:209,accessor:211,new:401},a1={__proto__:null,"<":193},Zp=ve.deserialize({version:14,states:"$F|Q%TQlOOO%[QlOOO'_QpOOP(lO`OOO*zQ!0MxO'#CiO+RO#tO'#CjO+aO&jO'#CjO+oO#@ItO'#DaO.QQlO'#DgO.bQlO'#DrO%[QlO'#DzO0fQlO'#ESOOQ!0Lf'#E['#E[O1PQ`O'#EXOOQO'#Ep'#EpOOQO'#Il'#IlO1XQ`O'#GsO1dQ`O'#EoO1iQ`O'#EoO3hQ!0MxO'#JrO6[Q!0MxO'#JsO6uQ`O'#F]O6zQ,UO'#FtOOQ!0Lf'#Ff'#FfO7VO7dO'#FfO9XQMhO'#F|O9`Q`O'#F{OOQ!0Lf'#Js'#JsOOQ!0Lb'#Jr'#JrO9eQ`O'#GwOOQ['#K_'#K_O9pQ`O'#IYO9uQ!0LrO'#IZOOQ['#J`'#J`OOQ['#I_'#I_Q`QlOOQ`QlOOO9}Q!L^O'#DvO:UQlO'#EOO:]QlO'#EQO9kQ`O'#GsO:dQMhO'#CoO:rQ`O'#EnO:}Q`O'#EyO;hQMhO'#FeO;xQ`O'#GsOOQO'#K`'#K`O;}Q`O'#K`O<]Q`O'#G{O<]Q`O'#G|O<]Q`O'#HOO9kQ`O'#HRO=SQ`O'#HUO>kQ`O'#CeO>{Q`O'#HcO?TQ`O'#HiO?TQ`O'#HkO`QlO'#HmO?TQ`O'#HoO?TQ`O'#HrO?YQ`O'#HxO?_Q!0LsO'#IOO%[QlO'#IQO?jQ!0LsO'#ISO?uQ!0LsO'#IUO9uQ!0LrO'#IWO@QQ!0MxO'#CiOASQpO'#DlQOQ`OOO%[QlO'#EQOAjQ`O'#ETO:dQMhO'#EnOAuQ`O'#EnOBQQ!bO'#FeOOQ['#Cg'#CgOOQ!0Lb'#Dq'#DqOOQ!0Lb'#Jv'#JvO%[QlO'#JvOOQO'#Jy'#JyOOQO'#Ih'#IhOCQQpO'#EgOOQ!0Lb'#Ef'#EfOOQ!0Lb'#J}'#J}OC|Q!0MSO'#EgODWQpO'#EWOOQO'#Jx'#JxODlQpO'#JyOEyQpO'#EWODWQpO'#EgPFWO&2DjO'#CbPOOO)CD})CD}OOOO'#I`'#I`OFcO#tO,59UOOQ!0Lh,59U,59UOOOO'#Ia'#IaOFqO&jO,59UOGPQ!L^O'#DcOOOO'#Ic'#IcOGWO#@ItO,59{OOQ!0Lf,59{,59{OGfQlO'#IdOGyQ`O'#JtOIxQ!fO'#JtO+}QlO'#JtOJPQ`O,5:ROJgQ`O'#EpOJtQ`O'#KTOKPQ`O'#KSOKPQ`O'#KSOKXQ`O,5;^OK^Q`O'#KROOQ!0Ln,5:^,5:^OKeQlO,5:^OMcQ!0MxO,5:fONSQ`O,5:nONmQ!0LrO'#KQONtQ`O'#KPO9eQ`O'#KPO! YQ`O'#KPO! bQ`O,5;]O! gQ`O'#KPO!#lQ!fO'#JsOOQ!0Lh'#Ci'#CiO%[QlO'#ESO!$[Q!fO,5:sOOQS'#Jz'#JzOOQO-EtOOQ['#Jh'#JhOOQ[,5>u,5>uOOQ[-E<]-E<]O!TO`QlO,5>VO!LOQ`O,5>XO`QlO,5>ZO!LTQ`O,5>^O!LYQlO,5>dOOQ[,5>j,5>jO%[QlO,5>jO9uQ!0LrO,5>lOOQ[,5>n,5>nO#!dQ`O,5>nOOQ[,5>p,5>pO#!dQ`O,5>pOOQ[,5>r,5>rO##QQpO'#D_O%[QlO'#JvO##sQpO'#JvO##}QpO'#DmO#$`QpO'#DmO#&qQlO'#DmO#&xQ`O'#JuO#'QQ`O,5:WO#'VQ`O'#EtO#'eQ`O'#KUO#'mQ`O,5;_O#'rQpO'#DmO#(PQpO'#EVOOQ!0Lf,5:o,5:oO%[QlO,5:oO#(WQ`O,5:oO?YQ`O,5;YO!CUQpO,5;YO!C^QMhO,5;YO:dQMhO,5;YO#(`Q`O,5@bO#(eQ07dO,5:sOOQO-EPO$6^Q`O,5>POOQ[1G3i1G3iO`QlO1G3iOOQ[1G3o1G3oOOQ[1G3q1G3qO?TQ`O1G3sO$6cQlO1G3uO$:gQlO'#HtOOQ[1G3x1G3xO$:tQ`O'#HzO?YQ`O'#H|OOQ[1G4O1G4OO$:|QlO1G4OO9uQ!0LrO1G4UOOQ[1G4W1G4WOOQ!0Lb'#G_'#G_O9uQ!0LrO1G4YO9uQ!0LrO1G4[O$?TQ`O,5@bO!)[QlO,5;`O9eQ`O,5;`O?YQ`O,5:XO!)[QlO,5:XO!CUQpO,5:XO$?YQ?MtO,5:XOOQO,5;`,5;`O$?dQpO'#IeO$?zQ`O,5@aOOQ!0Lf1G/r1G/rO$@SQpO'#IkO$@^Q`O,5@pOOQ!0Lb1G0y1G0yO#$`QpO,5:XOOQO'#Ig'#IgO$@fQpO,5:qOOQ!0Ln,5:q,5:qO#(ZQ`O1G0ZOOQ!0Lf1G0Z1G0ZO%[QlO1G0ZOOQ!0Lf1G0t1G0tO?YQ`O1G0tO!CUQpO1G0tO!C^QMhO1G0tOOQ!0Lb1G5|1G5|O!ByQ!0LrO1G0^OOQO1G0m1G0mO%[QlO1G0mO$@mQ!0LrO1G0mO$@xQ!0LrO1G0mO!CUQpO1G0^ODWQpO1G0^O$AWQ!0LrO1G0mOOQO1G0^1G0^O$AlQ!0MxO1G0mPOOO-E<[-E<[POOO1G.h1G.hOOOO1G/i1G/iO$AvQ!bO,5QQpO,5@}OOQ!0Lb1G3c1G3cOOQ[7+$V7+$VO@zQ`O7+$VO9uQ!0LrO7+$VO%>]Q`O7+$VO%[QlO1G6lO%[QlO1G6mO%>bQ!0LrO1G6lO%>lQlO1G3kO%>sQ`O1G3kO%>xQlO1G3kOOQ[7+)T7+)TO9uQ!0LrO7+)_O`QlO7+)aOOQ['#Kh'#KhOOQ['#JS'#JSO%?PQlO,5>`OOQ[,5>`,5>`O%[QlO'#HuO%?^Q`O'#HwOOQ[,5>f,5>fO9eQ`O,5>fOOQ[,5>h,5>hOOQ[7+)j7+)jOOQ[7+)p7+)pOOQ[7+)t7+)tOOQ[7+)v7+)vO%?cQpO1G5|O%?}Q?MtO1G0zO%@XQ`O1G0zOOQO1G/s1G/sO%@dQ?MtO1G/sO?YQ`O1G/sO!)[QlO'#DmOOQO,5?P,5?POOQO-ERQ`O7+,WO&>WQ`O7+,XO%[QlO7+,WO%[QlO7+,XOOQ[7+)V7+)VO&>]Q`O7+)VO&>bQlO7+)VO&>iQ`O7+)VOOQ[<nQ`O,5>aOOQ[,5>c,5>cO&>sQ`O1G4QO9eQ`O7+&fO!)[QlO7+&fOOQO7+%_7+%_O&>xQ?MtO1G6ZO?YQ`O7+%_OOQ!0Lf<yQ?MvO,5?aO'@|Q?MvO,5?cO'CPQ?MvO7+'|O'DuQMjOG27TOOQO<VO!l$xO#jROe!iOpkOrPO(T)]O(VTO(YUO(aVO(o[O~O!]$_Oa$qa'z$qa'w$qa!k$qa!Y$qa!_$qa%i$qa!g$qa~Ol)dO~P!&zOh%VOp%WOr%XOs$tOt$tOz%YO|%ZO!O%]O!S${O!_$|O!i%bO!l$xO#j%cO$W%`O$t%^O$v%_O$y%aO(T(vO(VTO(YUO(a$uO(y$}O(z%PO~Og(pP~P!,TO!Q)iO!g)hO!_$^X$Z$^X$]$^X$_$^X$f$^X~O!g)hO!_({X$Z({X$]({X$_({X$f({X~O!Q)iO~P!.^O!Q)iO!_({X$Z({X$]({X$_({X$f({X~O!_)kO$Z)oO$])jO$_)jO$f)pO~O![)sO~P!)[O$]$hO$_$gO$f)wO~On$zX!Q$zX#S$zX'y$zX(y$zX(z$zX~OgmXg$zXnmX!]mX#`mX~P!0SOx)yO(b)zO(c)|O~On*VO!Q*OO'y*PO(y$}O(z%PO~Og)}O~P!1WOg*WO~Oh%VOr%XOs$tOt$tOz%YO|%ZO!OVO!l$xO#jVO!l$xO#jROe!iOpkOrPO(VTO(YUO(aVO(o[O~O(T=QO~P#$qO!]-]O!^(iX~O!^-_O~O!g-VO#`-UO!]#hX!^#hX~O!]-`O!^(xX~O!^-bO~O!c-cO!d-cO(U!lO~P#$`O!^-fO~P'_On-iO!_'`O~O!Y-nO~Os!{a!b!{a!c!{a!d!{a#T!{a#U!{a#V!{a#W!{a#X!{a#[!{a#]!{a(U!{a(V!{a(Y!{a(e!{a(o!{a~P!#vO!p-sO#`-qO~PChO!c-uO!d-uO(U!lO~PDWOa%nO#`-qO'z%nO~Oa%nO!g#vO#`-qO'z%nO~Oa%nO!g#vO!p-sO#`-qO'z%nO(r'pO~O(P'xO(Q'xO(R-zO~Ov-{O~O!Y'Wa!]'Wa~P!:tO![.PO!Y'WX!]'WX~P%[O!](VO!Y(ha~O!Y(ha~PHRO!](^O!Y(va~O!S%hO![.TO!_%iO(T%gO!Y'^X!]'^X~O#`.VO!](ta!k(taa(ta'z(ta~O!g#vO~P#,wO!](jO!k(sa~O!S%hO!_%iO#j.ZO(T%gO~Op.`O!S%hO![.]O!_%iO!|]O#i._O#j.]O(T%gO!]'aX!k'aX~OR.dO!l#xO~Oh%VOn.gO!_'`O%i.fO~Oa#ci!]#ci'z#ci'w#ci!Y#ci!k#civ#ci!_#ci%i#ci!g#ci~P!:tOn>]O!Q*OO'y*PO(y$}O(z%PO~O#k#_aa#_a#`#_a'z#_a!]#_a!k#_a!_#_a!Y#_a~P#/sO#k(`XP(`XR(`X[(`Xa(`Xj(`Xr(`X!S(`X!l(`X!p(`X#R(`X#n(`X#o(`X#p(`X#q(`X#r(`X#s(`X#t(`X#u(`X#v(`X#x(`X#z(`X#{(`X'z(`X(a(`X(r(`X!k(`X!Y(`X'w(`Xv(`X!_(`X%i(`X!g(`X~P!6kO!].tO!k(kX~P!:tO!k.wO~O!Y.yO~OP$[OR#zO!Q#yO!S#{O!l#xO!p$[O(aVO[#mia#mij#mir#mi!]#mi#R#mi#o#mi#p#mi#q#mi#r#mi#s#mi#t#mi#u#mi#v#mi#x#mi#z#mi#{#mi'z#mi(r#mi(y#mi(z#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#n#mi~P#3cO#n$OO~P#3cOP$[OR#zOr$aO!Q#yO!S#{O!l#xO!p$[O#n$OO#o$PO#p$PO#q$PO(aVO[#mia#mij#mi!]#mi#R#mi#s#mi#t#mi#u#mi#v#mi#x#mi#z#mi#{#mi'z#mi(r#mi(y#mi(z#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#r#mi~P#6QO#r$QO~P#6QOP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO(aVOa#mi!]#mi#x#mi#z#mi#{#mi'z#mi(r#mi(y#mi(z#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#v#mi~P#8oOP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO#v$SO(aVO(z#}Oa#mi!]#mi#z#mi#{#mi'z#mi(r#mi(y#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#x$UO~P#;VO#x#mi~P#;VO#v$SO~P#8oOP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO#v$SO#x$UO(aVO(y#|O(z#}Oa#mi!]#mi#{#mi'z#mi(r#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#z#mi~P#={O#z$WO~P#={OP]XR]X[]Xj]Xr]X!Q]X!S]X!l]X!p]X#R]X#S]X#`]X#kfX#n]X#o]X#p]X#q]X#r]X#s]X#t]X#u]X#v]X#x]X#z]X#{]X$Q]X(a]X(r]X(y]X(z]X!]]X!^]X~O$O]X~P#@jOP$[OR#zO[]O!Q*OO'y*PO(y$}O(z%POP#miR#mi!S#mi!l#mi!p#mi#n#mi#o#mi#p#mi#q#mi(a#mi~P#EyO!]/POg(pX~P!1WOg/RO~Oa$Pi!]$Pi'z$Pi'w$Pi!Y$Pi!k$Piv$Pi!_$Pi%i$Pi!g$Pi~P!:tO$]/SO$_/SO~O$]/TO$_/TO~O!g)hO#`/UO!_$cX$Z$cX$]$cX$_$cX$f$cX~O![/VO~O!_)kO$Z/XO$])jO$_)jO$f/YO~O!]VO!l$xO#j^O!Q*OO'y*PO(y$}O(z%POP#miR#mi!S#mi!l#mi!p#mi#n#mi#o#mi#p#mi#q#mi(a#mi~P&,QO#S$dOP(`XR(`X[(`Xj(`Xn(`Xr(`X!Q(`X!S(`X!l(`X!p(`X#R(`X#n(`X#o(`X#p(`X#q(`X#r(`X#s(`X#t(`X#u(`X#v(`X#x(`X#z(`X#{(`X$O(`X'y(`X(a(`X(r(`X(y(`X(z(`X!](`X!^(`X~O$O$Pi!]$Pi!^$Pi~P#BwO$O!ri!^!ri~P$+oOg']a!]']a~P!1WO!^7nO~O!]'da!^'da~P#BwO!Y7oO~P#/sO!g#vO(r'pO!]'ea!k'ea~O!]/pO!k)Oi~O!]/pO!g#vO!k)Oi~Og$|q!]$|q#`$|q$O$|q~P!1WO!Y'ga!]'ga~P#/sO!g7vO~O!]/yO!Y)Pi~P#/sO!]/yO!Y)Pi~O!Y7yO~Oh%VOr8OO!l%eO(r'pO~Oj8QO!g#vO~Or8TO!g#vO(r'pO~O!Q*OO'y*PO(z%POn'ja(y'ja!]'ja#`'ja~Og'ja$O'ja~P&5RO!Q*OO'y*POn'la(y'la(z'la!]'la#`'la~Og'la$O'la~P&5tOg(_q!](_q~P!1WO#`8VOg(_q!](_q~P!1WO!Y8WO~Og%Oq!]%Oq#`%Oq$O%Oq~P!1WOa$oy!]$oy'z$oy'w$oy!Y$oy!k$oyv$oy!_$oy%i$oy!g$oy~P!:tO!g6rO~O!]5[O!_)Qa~O!_'`OP$TaR$Ta[$Taj$Tar$Ta!Q$Ta!S$Ta!]$Ta!l$Ta!p$Ta#R$Ta#n$Ta#o$Ta#p$Ta#q$Ta#r$Ta#s$Ta#t$Ta#u$Ta#v$Ta#x$Ta#z$Ta#{$Ta(a$Ta(r$Ta(y$Ta(z$Ta~O%i7WO~P&8fO%^8[Oa%[i!_%[i'z%[i!]%[i~Oa#cy!]#cy'z#cy'w#cy!Y#cy!k#cyv#cy!_#cy%i#cy!g#cy~P!:tO[8^O~Ob8`O(T+qO(VTO(YUO~O!]1TO!^)Xi~O`8dO~O(e(|O!]'pX!^'pX~O!]5uO!^)Ua~O!^8nO~P%;eO(o!sO~P$&YO#[8oO~O!_1oO~O!_1oO%i8qO~On8tO!_1oO%i8qO~O[8yO!]'sa!^'sa~O!]1zO!^)Vi~O!k8}O~O!k9OO~O!k9RO~O!k9RO~P%[Oa9TO~O!g9UO~O!k9VO~O!](wi!^(wi~P#BwOa%nO#`9_O'z%nO~O!](ty!k(tya(ty'z(ty~P!:tO!](jO!k(sy~O%i9bO~P&8fO!_'`O%i9bO~O#k$|qP$|qR$|q[$|qa$|qj$|qr$|q!S$|q!]$|q!l$|q!p$|q#R$|q#n$|q#o$|q#p$|q#q$|q#r$|q#s$|q#t$|q#u$|q#v$|q#x$|q#z$|q#{$|q'z$|q(a$|q(r$|q!k$|q!Y$|q'w$|q#`$|qv$|q!_$|q%i$|q!g$|q~P#/sO#k'jaP'jaR'ja['jaa'jaj'jar'ja!S'ja!l'ja!p'ja#R'ja#n'ja#o'ja#p'ja#q'ja#r'ja#s'ja#t'ja#u'ja#v'ja#x'ja#z'ja#{'ja'z'ja(a'ja(r'ja!k'ja!Y'ja'w'jav'ja!_'ja%i'ja!g'ja~P&5RO#k'laP'laR'la['laa'laj'lar'la!S'la!l'la!p'la#R'la#n'la#o'la#p'la#q'la#r'la#s'la#t'la#u'la#v'la#x'la#z'la#{'la'z'la(a'la(r'la!k'la!Y'la'w'lav'la!_'la%i'la!g'la~P&5tO#k%OqP%OqR%Oq[%Oqa%Oqj%Oqr%Oq!S%Oq!]%Oq!l%Oq!p%Oq#R%Oq#n%Oq#o%Oq#p%Oq#q%Oq#r%Oq#s%Oq#t%Oq#u%Oq#v%Oq#x%Oq#z%Oq#{%Oq'z%Oq(a%Oq(r%Oq!k%Oq!Y%Oq'w%Oq#`%Oqv%Oq!_%Oq%i%Oq!g%Oq~P#/sO!]'Yi!k'Yi~P!:tO$O#cq!]#cq!^#cq~P#BwO(y$}OP%aaR%aa[%aaj%aar%aa!S%aa!l%aa!p%aa#R%aa#n%aa#o%aa#p%aa#q%aa#r%aa#s%aa#t%aa#u%aa#v%aa#x%aa#z%aa#{%aa$O%aa(a%aa(r%aa!]%aa!^%aa~On%aa!Q%aa'y%aa(z%aa~P&IyO(z%POP%caR%ca[%caj%car%ca!S%ca!l%ca!p%ca#R%ca#n%ca#o%ca#p%ca#q%ca#r%ca#s%ca#t%ca#u%ca#v%ca#x%ca#z%ca#{%ca$O%ca(a%ca(r%ca!]%ca!^%ca~On%ca!Q%ca'y%ca(y%ca~P&LQOn>^O!Q*OO'y*PO(z%PO~P&IyOn>^O!Q*OO'y*PO(y$}O~P&LQOR0kO!Q0kO!S0lO#S$dOP}a[}aj}an}ar}a!l}a!p}a#R}a#n}a#o}a#p}a#q}a#r}a#s}a#t}a#u}a#v}a#x}a#z}a#{}a$O}a'y}a(a}a(r}a(y}a(z}a!]}a!^}a~O!Q*OO'y*POP$saR$sa[$saj$san$sar$sa!S$sa!l$sa!p$sa#R$sa#n$sa#o$sa#p$sa#q$sa#r$sa#s$sa#t$sa#u$sa#v$sa#x$sa#z$sa#{$sa$O$sa(a$sa(r$sa(y$sa(z$sa!]$sa!^$sa~O!Q*OO'y*POP$uaR$ua[$uaj$uan$uar$ua!S$ua!l$ua!p$ua#R$ua#n$ua#o$ua#p$ua#q$ua#r$ua#s$ua#t$ua#u$ua#v$ua#x$ua#z$ua#{$ua$O$ua(a$ua(r$ua(y$ua(z$ua!]$ua!^$ua~On>^O!Q*OO'y*PO(y$}O(z%PO~OP%TaR%Ta[%Taj%Tar%Ta!S%Ta!l%Ta!p%Ta#R%Ta#n%Ta#o%Ta#p%Ta#q%Ta#r%Ta#s%Ta#t%Ta#u%Ta#v%Ta#x%Ta#z%Ta#{%Ta$O%Ta(a%Ta(r%Ta!]%Ta!^%Ta~P''VO$O$mq!]$mq!^$mq~P#BwO$O$oq!]$oq!^$oq~P#BwO!^9oO~O$O9pO~P!1WO!g#vO!]'ei!k'ei~O!g#vO(r'pO!]'ei!k'ei~O!]/pO!k)Oq~O!Y'gi!]'gi~P#/sO!]/yO!Y)Pq~Or9wO!g#vO(r'pO~O[9yO!Y9xO~P#/sO!Y9xO~Oj:PO!g#vO~Og(_y!](_y~P!1WO!]'na!_'na~P#/sOa%[q!_%[q'z%[q!]%[q~P#/sO[:UO~O!]1TO!^)Xq~O`:YO~O#`:ZO!]'pa!^'pa~O!]5uO!^)Ui~P#BwO!S:]O~O!_1oO%i:`O~O(VTO(YUO(e:eO~O!]1zO!^)Vq~O!k:hO~O!k:iO~O!k:jO~O!k:jO~P%[O#`:mO!]#hy!^#hy~O!]#hy!^#hy~P#BwO%i:rO~P&8fO!_'`O%i:rO~O$O#|y!]#|y!^#|y~P#BwOP$|iR$|i[$|ij$|ir$|i!S$|i!l$|i!p$|i#R$|i#n$|i#o$|i#p$|i#q$|i#r$|i#s$|i#t$|i#u$|i#v$|i#x$|i#z$|i#{$|i$O$|i(a$|i(r$|i!]$|i!^$|i~P''VO!Q*OO'y*PO(z%POP'iaR'ia['iaj'ian'iar'ia!S'ia!l'ia!p'ia#R'ia#n'ia#o'ia#p'ia#q'ia#r'ia#s'ia#t'ia#u'ia#v'ia#x'ia#z'ia#{'ia$O'ia(a'ia(r'ia(y'ia!]'ia!^'ia~O!Q*OO'y*POP'kaR'ka['kaj'kan'kar'ka!S'ka!l'ka!p'ka#R'ka#n'ka#o'ka#p'ka#q'ka#r'ka#s'ka#t'ka#u'ka#v'ka#x'ka#z'ka#{'ka$O'ka(a'ka(r'ka(y'ka(z'ka!]'ka!^'ka~O(y$}OP%aiR%ai[%aij%ain%air%ai!Q%ai!S%ai!l%ai!p%ai#R%ai#n%ai#o%ai#p%ai#q%ai#r%ai#s%ai#t%ai#u%ai#v%ai#x%ai#z%ai#{%ai$O%ai'y%ai(a%ai(r%ai(z%ai!]%ai!^%ai~O(z%POP%ciR%ci[%cij%cin%cir%ci!Q%ci!S%ci!l%ci!p%ci#R%ci#n%ci#o%ci#p%ci#q%ci#r%ci#s%ci#t%ci#u%ci#v%ci#x%ci#z%ci#{%ci$O%ci'y%ci(a%ci(r%ci(y%ci!]%ci!^%ci~O$O$oy!]$oy!^$oy~P#BwO$O#cy!]#cy!^#cy~P#BwO!g#vO!]'eq!k'eq~O!]/pO!k)Oy~O!Y'gq!]'gq~P#/sOr:|O!g#vO(r'pO~O[;QO!Y;PO~P#/sO!Y;PO~Og(_!R!](_!R~P!1WOa%[y!_%[y'z%[y!]%[y~P#/sO!]1TO!^)Xy~O!]5uO!^)Uq~O(T;XO~O!_1oO%i;[O~O!k;_O~O%i;dO~P&8fOP$|qR$|q[$|qj$|qr$|q!S$|q!l$|q!p$|q#R$|q#n$|q#o$|q#p$|q#q$|q#r$|q#s$|q#t$|q#u$|q#v$|q#x$|q#z$|q#{$|q$O$|q(a$|q(r$|q!]$|q!^$|q~P''VO!Q*OO'y*PO(z%POP'jaR'ja['jaj'jan'jar'ja!S'ja!l'ja!p'ja#R'ja#n'ja#o'ja#p'ja#q'ja#r'ja#s'ja#t'ja#u'ja#v'ja#x'ja#z'ja#{'ja$O'ja(a'ja(r'ja(y'ja!]'ja!^'ja~O!Q*OO'y*POP'laR'la['laj'lan'lar'la!S'la!l'la!p'la#R'la#n'la#o'la#p'la#q'la#r'la#s'la#t'la#u'la#v'la#x'la#z'la#{'la$O'la(a'la(r'la(y'la(z'la!]'la!^'la~OP%OqR%Oq[%Oqj%Oqr%Oq!S%Oq!l%Oq!p%Oq#R%Oq#n%Oq#o%Oq#p%Oq#q%Oq#r%Oq#s%Oq#t%Oq#u%Oq#v%Oq#x%Oq#z%Oq#{%Oq$O%Oq(a%Oq(r%Oq!]%Oq!^%Oq~P''VOg%e!Z!]%e!Z#`%e!Z$O%e!Z~P!1WO!Y;hO~P#/sOr;iO!g#vO(r'pO~O[;kO!Y;hO~P#/sO!]'pq!^'pq~P#BwO!]#h!Z!^#h!Z~P#BwO#k%e!ZP%e!ZR%e!Z[%e!Za%e!Zj%e!Zr%e!Z!S%e!Z!]%e!Z!l%e!Z!p%e!Z#R%e!Z#n%e!Z#o%e!Z#p%e!Z#q%e!Z#r%e!Z#s%e!Z#t%e!Z#u%e!Z#v%e!Z#x%e!Z#z%e!Z#{%e!Z'z%e!Z(a%e!Z(r%e!Z!k%e!Z!Y%e!Z'w%e!Z#`%e!Zv%e!Z!_%e!Z%i%e!Z!g%e!Z~P#/sOr;tO!g#vO(r'pO~O!Y;uO~P#/sOr;|O!g#vO(r'pO~O!Y;}O~P#/sOP%e!ZR%e!Z[%e!Zj%e!Zr%e!Z!S%e!Z!l%e!Z!p%e!Z#R%e!Z#n%e!Z#o%e!Z#p%e!Z#q%e!Z#r%e!Z#s%e!Z#t%e!Z#u%e!Z#v%e!Z#x%e!Z#z%e!Z#{%e!Z$O%e!Z(a%e!Z(r%e!Z!]%e!Z!^%e!Z~P''VOrROe!iOpkOrPO(T)]O(VTO(YUO(aVO(o[O~O!]WO!l$xO#jgPPP!>oI[PPPPPPPPP!BOP!C]PPI[!DnPI[PI[I[I[I[I[PI[!FQP!I[P!LbP!Lf!Lp!Lt!LtP!IXP!Lx!LxP#!OP#!SI[PI[#!Y#%_CjA^PA^PA^A^P#&lA^A^#)OA^#+vA^#.SA^A^#.r#1W#1W#1]#1f#1W#1qPP#1WPA^#2ZA^#6YA^A^6mPPP#:_PPP#:x#:xP#:xP#;`#:xPP#;fP#;]P#;]#;y#;]#P#>V#>]#>k#>q#>{#?R#?]#?c#?s#?y#@k#@}#AT#AZ#Ai#BO#Cs#DR#DY#Et#FS#Gt#HS#HY#H`#Hf#Hp#Hv#H|#IW#Ij#IpPPPPPPPPPPP#IvPPPPPPP#Jk#Mx$ b$ i$ qPPP$']P$'f$*_$0x$0{$1O$1}$2Q$2X$2aP$2g$2jP$3W$3[$4S$5b$5g$5}PP$6S$6Y$6^$6a$6e$6i$7e$7|$8e$8i$8l$8o$8y$8|$9Q$9UR!|RoqOXst!Z#d%m&r&t&u&w,s,x2[2_Y!vQ'`-e1o5{Q%tvQ%|yQ&T|Q&j!VS'W!e-]Q'f!iS'l!r!yU*k$|*Z*oQ+o%}S+|&V&WQ,d&dQ-c'_Q-m'gQ-u'mQ0[*qQ1b,OQ1y,eR<{SU+P%]S!S!nQ!r!v!y!z$|'W'_'`'l'm'n*k*o*q*r-]-c-e-u0[0_1o5{5}%[$ti#v$b$c$d$x${%O%Q%^%_%c)y*R*T*V*Y*a*g*w*x+f+i,S,V.f/P/d/m/x/y/{0`0b0i0j0o1f1i1q3c4^4_4j4o5Q5[5_6S7W7v8Q8V8[8q9b9p9y:P:`:r;Q;[;d;kP>X>Y>]>^Q&X|Q'U!eS'[%i-`Q+t&PQ,P&WQ,f&gQ0n+SQ1Y+uQ1_+{Q2Q,jQ2R,kQ5f1TQ5o1aQ6[1zQ6_1|Q6`2PQ8`5gQ8c5lQ8|6bQ:X8dQ:f8yQ;V:YR<}*ZrnOXst!V!Z#d%m&i&r&t&u&w,s,x2[2_R,h&k&z^OPXYstuvwz!Z!`!g!j!o#S#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%m%t&R&k&n&o&r&t&u&w&{'T'b'r(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:mR>S[#]WZ#W#Z'X(T!b%jm#h#i#l$x%e%h(^(h(i(j*Y*^*b+Z+[+^,o-V.T.Z.[.]._/m/p2d3[3]4a6r7TQ%wxQ%{yW&Q|&V&W,OQ&_!TQ'c!hQ'e!iQ(q#sS+n%|%}Q+r&PQ,_&bQ,c&dS-l'f'gQ.i(rQ1R+oQ1X+uQ1Z+vQ1^+zQ1t,`S1x,d,eQ2|-mQ5e1TQ5i1WQ5n1`Q6Z1yQ8_5gQ8b5kQ8f5pQ:T8^R;T:U!U$zi$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Y!^%yy!i!u%{%|%}'V'e'f'g'k'u*j+n+o-Y-l-m-t0R0U1R2u2|3T4r4s4v7}9{Q+h%wQ,T&[Q,W&]Q,b&dQ.h(qQ1s,_U1w,c,d,eQ3e.iQ6U1tS6Y1x1yQ8x6Z#f>T#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k]>^o>UPS&[!Q&iQ&]!RQ&^!SU*}%[%d=sR,R&Y%]%Si#v$b$c$d$x${%O%Q%^%_%c)y*R*T*V*Y*a*g*w*x+f+i,S,V.f/P/d/m/x/y/{0`0b0i0j0o1f1i1q3c4^4_4j4o5Q5[5_6S7W7v8Q8V8[8q9b9p9y:P:`:r;Q;[;d;kP>X>Y>]>^T)z$u){V+P%]S$i$^c#Y#e%q%s%u(S(Y(t(y)R)S)T)U)V)W)X)Y)Z)[)^)`)b)g)q+d+x-Z-x-}.S.U.s.v.z.|.}/O/b0p2k2n3O3V3k3p3q3r3s3t3u3v3w3x3y3z3{3|4P4Q4X5X5c6u6{7Q7a7b7k7l8k9X9]9g9m9n:o;W;`SQ'Y!eR2q-]!W!nQ!e!r!v!y!z$|'W'_'`'l'm'n*Z*k*o*q*r-]-c-e-u0[0_1o5{5}R1l,ZnqOXst!Z#d%m&r&t&u&w,s,x2[2_Q&y!^Q'v!xS(s#u<^Q+l%zQ,]&_Q,^&aQ-j'dQ-w'oS.r(x=PS0q+X=ZQ1P+mQ1n,[Q2c,zQ2e,{Q2m-WQ2z-kQ2}-oS5Y0r=eQ5a1QS5d1S=fQ6t2oQ6x2{Q6}3SQ8]5bQ9Y6vQ9Z6yQ9^7OR:l9V$d$]c#Y#e%s%u(S(Y(t(y)R)S)T)U)V)W)X)Y)Z)[)^)`)b)g)q+d+x-Z-x-}.S.U.s.v.z.}/O/b0p2k2n3O3V3k3p3q3r3s3t3u3v3w3x3y3z3{3|4P4Q4X5X5c6u6{7Q7a7b7k7l8k9X9]9g9m9n:o;W;`SS#q]SU$fd)_,mS(p#p'iU*v%R(w4OU0m+O.n7gQ5^0xQ7V3`Q9d7YR:s9em!tQ!r!v!y!z'`'l'm'n-e-u1o5{5}Q't!uS(f#g2US-s'k'wQ/s*]Q0R*jQ3U-vQ4f/tQ4r0TQ4s0UQ4x0^Q7r4`S7}4t4vS8R4y4{Q9r7sQ9v7yQ9{8OQ:Q8TS:{9w9xS;g:|;PS;s;h;iS;{;t;uSSR=o>R%^bOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&o&r&t&u&w&{'T'b'r(T(V(](d(x(z)O)}*i+X+]+g,p,s,x-i-q.P.V.g.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3d3l4z6T6e6f6i6|7[8t9T9_Q%fj!^%xy!i!u%{%|%}'V'e'f'g'k'u*j+n+o-Y-l-m-t0R0U1R2u2|3T4r4s4v7}9{S&Oz!jQ+k%yQ,a&dW1v,b,c,d,eU6X1w1x1yS8w6Y6ZQ:d8x!r=j$Z$n'X)s-U-X/V2p4T5w6s:Z:mSQ=t>QR=u>R%QeOPXYstuvw!Z!`!g!o#S#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&r&t&u&w&{'T'b'r(V(](d(x(z)O)}*i+X+]+g,p,s,x-i-q.P.V.g.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3d3l4z6T6e6f6i6|7[8t9T9_Y#bWZ#W#Z(T!b%jm#h#i#l$x%e%h(^(h(i(j*Y*^*b+Z+[+^,o-V.T.Z.[.]._/m/p2d3[3]4a6r7TQ,n&o!p=k$Z$n)s-U-X/V2p4T5w6s:Z:mSR=n'XU']!e%i*ZR2s-`%SdOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&r&t&u&w&{'T'b'r(T(V(](d(x(z)O)}*i+X+],p,s,x-i-q.P.V.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3l4z6T6e6f6i6|8t9T9_!r)_$Z$n'X)s-U-X/V2p4T5w6s:Z:mSQ,m&oQ0x+gQ3`.gQ7Y3dR9e7[!b$Tc#Y%q(S(Y(t(y)Z)[)`)g+x-x-}.S.U.s.v/b0p3O3V3k3{5X5c6{7Q7a9]:oS)^)q-Z.|2k2n3p4P4X6u7b7k7l8k9X9g9m9n;W;`=vQ>X>ZR>Y>['QkOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%m%t&R&k&n&o&r&t&u&w&{'T'X'b'r(T(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:mSS$oh$pR4U/U'XgOPWXYZhstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n$p%m%t&R&k&n&o&r&t&u&w&{'T'X'b'r(T(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/U/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:mST$kf$qQ$ifS)j$l)nR)v$qT$jf$qT)l$l)n'XhOPWXYZhstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n$p%m%t&R&k&n&o&r&t&u&w&{'T'X'b'r(T(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/U/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:mST$oh$pQ$rhR)u$p%^jOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&o&r&t&u&w&{'T'b'r(T(V(](d(x(z)O)}*i+X+]+g,p,s,x-i-q.P.V.g.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3d3l4z6T6e6f6i6|7[8t9T9_!s>Q$Z$n'X)s-U-X/V2p4T5w6s:Z:mS#glOPXZst!Z!`!o#S#d#o#{$n%m&k&n&o&r&t&u&w&{'T'b)O)s*i+]+g,p,s,x-i.g/V/n0]0l1r2S2T2V2X2[2_2a3d4T4z6T6e6f6i7[8t9T!U%Ri$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Y#f(w#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k]>^Q+T%aQ/c*Oo4OP>X>YQ*c$zU*l$|*Z*oQ+U%bQ0W*m#f=q#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k]>^n=rTQ=x>UQ=y>VR=z>W!U%Ri$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Y#f(w#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k]>^o4OP>X>Y>]>^Q,U&]Q1h,WQ5s1gR8h5tV*n$|*Z*oU*n$|*Z*oT5z1o5{S0P*i/nQ4w0]T8S4z:]Q+j%xQ0V*lQ1O+kQ1u,aQ6W1vQ8v6XQ:c8wR;^:d!U%Oi$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Yx*R$v)e*S*u+V/v0d0e4R4g5R5S5W7p8U:R:x=p=}>OS0`*t0a#f]>^nZ>[`=T3}7c7f7j9h:t:w;yS=_.l3iT=`7e9k!U%Qi$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Y|*T$v)e*U*t+V/g/v0d0e4R4g4|5R5S5W7p8U:R:x=p=}>OS0b*u0c#f]>^nZ>[d=V3}7d7e7j9h9i:t:u:w;yS=a.m3jT=b7f9lrnOXst!V!Z#d%m&i&r&t&u&w,s,x2[2_Q&f!UR,p&ornOXst!V!Z#d%m&i&r&t&u&w,s,x2[2_R&f!UQ,Y&^R1d,RsnOXst!V!Z#d%m&i&r&t&u&w,s,x2[2_Q1p,_S6R1s1tU8p6P6Q6US:_8r8sS;Y:^:aQ;m;ZR;w;nQ&m!VR,i&iR6_1|R:f8yW&Q|&V&W,OR1Z+vQ&r!WR,s&sR,y&xT2],x2_R,}&yQ,|&yR2f,}Q'y!{R-y'ySsOtQ#dXT%ps#dQ#OTR'{#OQ#RUR'}#RQ){$uR/`){Q#UVR(Q#UQ#XWU(W#X(X.QQ(X#YR.Q(YQ-^'YR2r-^Q.u(yS3m.u3nR3n.vQ-e'`R2v-eY!rQ'`-e1o5{R'j!rQ/Q)eR4S/QU#_W%h*YU(_#_(`.RQ(`#`R.R(ZQ-a']R2t-at`OXst!V!Z#d%m&i&k&r&t&u&w,s,x2[2_S#hZ%eU#r`#h.[R.[(jQ(k#jQ.X(gW.a(k.X3X7RQ3X.YR7R3YQ)n$lR/W)nQ$phR)t$pQ$`cU)a$`-|O>Z>[Q/z*eU4k/z4m7xQ4m/|R7x4lS*o$|*ZR0Y*ox*S$v)e*t*u+V/v0d0e4R4g5R5S5W7p8U:R:x=p=}>O!d.j(u)c*[*e.l.m.q/_/k/|0v1e3h4[4h4l5r7]7`7w7z8X8Z9t9|:S:};R;e;j;v>Z>[U/h*S.j7ca7c3}7e7f7j9h:t:w;yQ0a*tQ3i.lU4}0a3i9kR9k7e|*U$v)e*t*u+V/g/v0d0e4R4g4|5R5S5W7p8U:R:x=p=}>O!h.k(u)c*[*e.l.m.q/_/k/|0v1e3f3h4[4h4l5r7]7^7`7w7z8X8Z9t9|:S:};R;e;j;v>Z>[U/j*U.k7de7d3}7e7f7j9h9i:t:u:w;yQ0c*uQ3j.mU5P0c3j9lR9l7fQ*z%UR0g*zQ5]0vR8Y5]Q+_%kR0u+_Q5v1jS8j5v:[R:[8kQ,[&_R1m,[Q5{1oR8m5{Q1{,fS6]1{8zR8z6_Q1U+rW5h1U5j8a:VQ5j1XQ8a5iR:V8bQ+w&QR1[+wQ2_,xR6m2_YrOXst#dQ&v!ZQ+a%mQ,r&rQ,t&tQ,u&uQ,w&wQ2Y,sS2],x2_R6l2[Q%opQ&z!_Q&}!aQ'P!bQ'R!cQ'q!uQ+`%lQ+l%zQ,Q&XQ,h&mQ-P&|W-p'k's't'wQ-w'oQ0X*nQ1P+mQ1c,PS2O,i,lQ2g-OQ2h-RQ2i-SQ2}-oW3P-r-s-v-xQ5a1QQ5m1_Q5q1eQ6V1uQ6a2QQ6k2ZU6z3O3R3UQ6}3SQ8]5bQ8e5oQ8g5rQ8l5zQ8u6WQ8{6`S9[6{7PQ9^7OQ:W8cQ:b8vQ:g8|Q:n9]Q;U:XQ;]:cQ;a:oQ;l;VR;o;^Q%zyQ'd!iQ'o!uU+m%{%|%}Q-W'VU-k'e'f'gS-o'k'uQ0Q*jS1Q+n+oQ2o-YS2{-l-mQ3S-tS4p0R0UQ5b1RQ6v2uQ6y2|Q7O3TU7{4r4s4vQ9z7}R;O9{S$wi>PR*{%VU%Ui%V>PR0f*yQ$viS(u#v+iS)c$b$cQ)e$dQ*[$xS*e${*YQ*t%OQ*u%QQ+Q%^Q+R%_Q+V%cQ.lPQ=}>XQ>O>YQ>Z>]R>[>^Q+O%]Q.nSR#[WR'Z!el!tQ!r!v!y!z'`'l'm'n-e-u1o5{5}S'V!e-]U*j$|*Z*oS-Y'W'_S0U*k*qQ0^*rQ2u-cQ4v0[R4{0_R({#xQ!fQT-d'`-e]!qQ!r'`-e1o5{Q#p]R'i < TypeParamList in out const TypeDefinition extends ThisType this LiteralType ArithOp Number BooleanLiteral TemplateType InterpolationEnd Interpolation InterpolationStart NullType null VoidType void TypeofType typeof MemberExpression . PropertyName [ TemplateString Escape Interpolation super RegExp ] ArrayExpression Spread , } { ObjectExpression Property async get set PropertyDefinition Block : NewTarget new NewExpression ) ( ArgList UnaryExpression delete LogicOp BitOp YieldExpression yield AwaitExpression await ParenthesizedExpression ClassExpression class ClassBody MethodDeclaration Decorator @ MemberExpression PrivatePropertyName CallExpression TypeArgList CompareOp < declare Privacy static abstract override PrivatePropertyDefinition PropertyDeclaration readonly accessor Optional TypeAnnotation Equals StaticBlock FunctionExpression ArrowFunction ParamList ParamList ArrayPattern ObjectPattern PatternProperty Privacy readonly Arrow MemberExpression BinaryExpression ArithOp ArithOp ArithOp ArithOp BitOp CompareOp instanceof satisfies CompareOp BitOp BitOp BitOp LogicOp LogicOp ConditionalExpression LogicOp LogicOp AssignmentExpression UpdateOp PostfixExpression CallExpression InstantiationExpression TaggedTemplateExpression DynamicImport import ImportMeta JSXElement JSXSelfCloseEndTag JSXSelfClosingTag JSXIdentifier JSXBuiltin JSXIdentifier JSXNamespacedName JSXMemberExpression JSXSpreadAttribute JSXAttribute JSXAttributeValue JSXEscape JSXEndTag JSXOpenTag JSXFragmentTag JSXText JSXEscape JSXStartCloseTag JSXCloseTag PrefixCast < ArrowFunction TypeParamList SequenceExpression InstantiationExpression KeyofType keyof UniqueType unique ImportType InferredType infer TypeName ParenthesizedType FunctionSignature ParamList NewSignature IndexedType TupleType Label ArrayType ReadonlyType ObjectType MethodType PropertyType IndexSignature PropertyDefinition CallSignature TypePredicate asserts is NewSignature new UnionType LogicOp IntersectionType LogicOp ConditionalType ParameterizedType ClassDeclaration abstract implements type VariableDeclaration let var using TypeAliasDeclaration InterfaceDeclaration interface EnumDeclaration enum EnumBody NamespaceDeclaration namespace module AmbientDeclaration declare GlobalDeclaration global ClassDeclaration ClassBody AmbientFunctionDeclaration ExportGroup VariableName VariableName ImportDeclaration defer ImportGroup ForStatement for ForSpec ForInSpec ForOfSpec of WhileStatement while WithStatement with DoStatement do IfStatement if else SwitchStatement switch SwitchBody CaseLabel case DefaultLabel TryStatement try CatchClause catch FinallyClause finally ReturnStatement return ThrowStatement throw BreakStatement break ContinueStatement continue DebuggerStatement debugger LabeledStatement ExpressionStatement SingleExpression SingleClassItem",maxTerm:380,context:Kk,nodeProps:[["isolate",-8,5,6,14,37,39,51,53,55,""],["group",-26,9,17,19,68,207,211,215,216,218,221,224,234,237,243,245,247,249,252,258,264,266,268,270,272,274,275,"Statement",-34,13,14,32,35,36,42,51,54,55,57,62,70,72,76,80,82,84,85,110,111,120,121,136,139,141,142,143,144,145,147,148,167,169,171,"Expression",-23,31,33,37,41,43,45,173,175,177,178,180,181,182,184,185,186,188,189,190,201,203,205,206,"Type",-3,88,103,109,"ClassItem"],["openedBy",23,"<",38,"InterpolationStart",56,"[",60,"{",73,"(",160,"JSXStartCloseTag"],["closedBy",-2,24,168,">",40,"InterpolationEnd",50,"]",61,"}",74,")",165,"JSXEndTag"]],propSources:[r1],skippedNodes:[0,5,6,278],repeatNodeCount:37,tokenData:"$Fq07[R!bOX%ZXY+gYZ-yZ[+g[]%Z]^.c^p%Zpq+gqr/mrs3cst:_tuEruvJSvwLkwx! Yxy!'iyz!(sz{!)}{|!,q|}!.O}!O!,q!O!P!/Y!P!Q!9j!Q!R#:O!R![#<_![!]#I_!]!^#Jk!^!_#Ku!_!`$![!`!a$$v!a!b$*T!b!c$,r!c!}Er!}#O$-|#O#P$/W#P#Q$4o#Q#R$5y#R#SEr#S#T$7W#T#o$8b#o#p$x#r#s$@U#s$f%Z$f$g+g$g#BYEr#BY#BZ$A`#BZ$ISEr$IS$I_$A`$I_$I|Er$I|$I}$Dk$I}$JO$Dk$JO$JTEr$JT$JU$A`$JU$KVEr$KV$KW$A`$KW&FUEr&FU&FV$A`&FV;'SEr;'S;=`I|<%l?HTEr?HT?HU$A`?HUOEr(n%d_$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z&j&hT$i&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c&j&zP;=`<%l&c'|'U]$i&j(Z!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!b(SU(Z!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}!b(iP;=`<%l'}'|(oP;=`<%l&}'[(y]$i&j(WpOY(rYZ&cZr(rrs&cs!^(r!^!_)r!_#O(r#O#P&c#P#o(r#o#p)r#p;'S(r;'S;=`*a<%lO(rp)wU(WpOY)rZr)rs#O)r#P;'S)r;'S;=`*Z<%lO)rp*^P;=`<%l)r'[*dP;=`<%l(r#S*nX(Wp(Z!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g#S+^P;=`<%l*g(n+dP;=`<%l%Z07[+rq$i&j(Wp(Z!b'|0/lOX%ZXY+gYZ&cZ[+g[p%Zpq+gqr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p$f%Z$f$g+g$g#BY%Z#BY#BZ+g#BZ$IS%Z$IS$I_+g$I_$JT%Z$JT$JU+g$JU$KV%Z$KV$KW+g$KW&FU%Z&FU&FV+g&FV;'S%Z;'S;=`+a<%l?HT%Z?HT?HU+g?HUO%Z07[.ST(X#S$i&j'}0/lO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c07[.n_$i&j(Wp(Z!b'}0/lOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z)3p/x`$i&j!p),Q(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`0z!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW1V`#v(Ch$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`2X!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW2d_#v(Ch$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'At3l_(V':f$i&j(Z!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k(^4r_$i&j(Z!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k&z5vX$i&jOr5qrs6cs!^5q!^!_6y!_#o5q#o#p6y#p;'S5q;'S;=`7h<%lO5q&z6jT$d`$i&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c`6|TOr6yrs7]s;'S6y;'S;=`7b<%lO6y`7bO$d``7eP;=`<%l6y&z7kP;=`<%l5q(^7w]$d`$i&j(Z!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!r8uZ(Z!bOY8pYZ6yZr8prs9hsw8pwx6yx#O8p#O#P6y#P;'S8p;'S;=`:R<%lO8p!r9oU$d`(Z!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}!r:UP;=`<%l8p(^:[P;=`<%l4k%9[:hh$i&j(Wp(Z!bOY%ZYZ&cZq%Zqr`#P#o`x!^=^!^!_?q!_#O=^#O#P>`#P#o=^#o#p?q#p;'S=^;'S;=`@h<%lO=^&n>gXWS$i&jOY>`YZ&cZ!^>`!^!_?S!_#o>`#o#p?S#p;'S>`;'S;=`?k<%lO>`S?XSWSOY?SZ;'S?S;'S;=`?e<%lO?SS?hP;=`<%l?S&n?nP;=`<%l>`!f?xWWS(Z!bOY?qZw?qwx?Sx#O?q#O#P?S#P;'S?q;'S;=`@b<%lO?q!f@eP;=`<%l?q(Q@kP;=`<%l=^'`@w]WS$i&j(WpOY@nYZ&cZr@nrs>`s!^@n!^!_Ap!_#O@n#O#P>`#P#o@n#o#pAp#p;'S@n;'S;=`Bg<%lO@ntAwWWS(WpOYApZrAprs?Ss#OAp#O#P?S#P;'SAp;'S;=`Ba<%lOAptBdP;=`<%lAp'`BjP;=`<%l@n#WBvYWS(Wp(Z!bOYBmZrBmrs?qswBmwxApx#OBm#O#P?S#P;'SBm;'S;=`Cf<%lOBm#WCiP;=`<%lBm(rCoP;=`<%l^!Q^$i&j!X7`OY!=yYZ&cZ!P!=y!P!Q!>|!Q!^!=y!^!_!@c!_!}!=y!}#O!CW#O#P!Dy#P#o!=y#o#p!@c#p;'S!=y;'S;=`!Ek<%lO!=y|#X#Z&c#Z#[!>|#[#]&c#]#^!>|#^#a&c#a#b!>|#b#g&c#g#h!>|#h#i&c#i#j!>|#j#k!>|#k#m&c#m#n!>|#n#o&c#p;'S&c;'S;=`&w<%lO&c7`!@hX!X7`OY!@cZ!P!@c!P!Q!AT!Q!}!@c!}#O!Ar#O#P!Bq#P;'S!@c;'S;=`!CQ<%lO!@c7`!AYW!X7`#W#X!AT#Z#[!AT#]#^!AT#a#b!AT#g#h!AT#i#j!AT#j#k!AT#m#n!AT7`!AuVOY!ArZ#O!Ar#O#P!B[#P#Q!@c#Q;'S!Ar;'S;=`!Bk<%lO!Ar7`!B_SOY!ArZ;'S!Ar;'S;=`!Bk<%lO!Ar7`!BnP;=`<%l!Ar7`!BtSOY!@cZ;'S!@c;'S;=`!CQ<%lO!@c7`!CTP;=`<%l!@c^!Ezl$i&j(Z!b!X7`OY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#W&}#W#X!Eq#X#Z&}#Z#[!Eq#[#]&}#]#^!Eq#^#a&}#a#b!Eq#b#g&}#g#h!Eq#h#i&}#i#j!Eq#j#k!Eq#k#m&}#m#n!Eq#n#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}8r!GyZ(Z!b!X7`OY!GrZw!Grwx!@cx!P!Gr!P!Q!Hl!Q!}!Gr!}#O!JU#O#P!Bq#P;'S!Gr;'S;=`!J|<%lO!Gr8r!Hse(Z!b!X7`OY'}Zw'}x#O'}#P#W'}#W#X!Hl#X#Z'}#Z#[!Hl#[#]'}#]#^!Hl#^#a'}#a#b!Hl#b#g'}#g#h!Hl#h#i'}#i#j!Hl#j#k!Hl#k#m'}#m#n!Hl#n;'S'};'S;=`(f<%lO'}8r!JZX(Z!bOY!JUZw!JUwx!Arx#O!JU#O#P!B[#P#Q!Gr#Q;'S!JU;'S;=`!Jv<%lO!JU8r!JyP;=`<%l!JU8r!KPP;=`<%l!Gr>^!KZ^$i&j(Z!bOY!KSYZ&cZw!KSwx!CWx!^!KS!^!_!JU!_#O!KS#O#P!DR#P#Q!^!LYP;=`<%l!KS>^!L`P;=`<%l!_#c#d#Bq#d#l%Z#l#m#Es#m#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#>j_$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#?rd$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!R#AQ!R!S#AQ!S!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#AQ#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#A]f$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!R#AQ!R!S#AQ!S!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#AQ#S#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#Bzc$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!Y#DV!Y!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#DV#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#Dbe$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!Y#DV!Y!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#DV#S#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#E|g$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![#Ge![!^%Z!^!_*g!_!c%Z!c!i#Ge!i#O%Z#O#P&c#P#R%Z#R#S#Ge#S#T%Z#T#Z#Ge#Z#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#Gpi$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![#Ge![!^%Z!^!_*g!_!c%Z!c!i#Ge!i#O%Z#O#P&c#P#R%Z#R#S#Ge#S#T%Z#T#Z#Ge#Z#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z*)x#Il_!g$b$i&j$O)Lv(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z)[#Jv_al$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z04f#LS^h#)`#R-v$?V_!^(CdvBr$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z?O$@a_!q7`$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z07[$Aq|$i&j(Wp(Z!b'|0/l$]#t(T,2j(e$I[OX%ZXY+gYZ&cZ[+g[p%Zpq+gqr%Zrs&}st%ZtuEruw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Er![!^%Z!^!_*g!_!c%Z!c!}Er!}#O%Z#O#P&c#P#R%Z#R#SEr#S#T%Z#T#oEr#o#p*g#p$f%Z$f$g+g$g#BYEr#BY#BZ$A`#BZ$ISEr$IS$I_$A`$I_$JTEr$JT$JU$A`$JU$KVEr$KV$KW$A`$KW&FUEr&FU&FV$A`&FV;'SEr;'S;=`I|<%l?HTEr?HT?HU$A`?HUOEr07[$D|k$i&j(Wp(Z!b'}0/l$]#t(T,2j(e$I[OY%ZYZ&cZr%Zrs&}st%ZtuEruw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Er![!^%Z!^!_*g!_!c%Z!c!}Er!}#O%Z#O#P&c#P#R%Z#R#SEr#S#T%Z#T#oEr#o#p*g#p$g%Z$g;'SEr;'S;=`I|<%lOEr",tokenizers:[e1,t1,i1,n1,2,3,4,5,6,7,8,9,10,11,12,13,14,Jk,new Qi("$S~RRtu[#O#Pg#S#T#|~_P#o#pb~gOx~~jVO#i!P#i#j!U#j#l!P#l#m!q#m;'S!P;'S;=`#v<%lO!P~!UO!U~~!XS!Q![!e!c!i!e#T#Z!e#o#p#Z~!hR!Q![!q!c!i!q#T#Z!q~!tR!Q![!}!c!i!}#T#Z!}~#QR!Q![!P!c!i!P#T#Z!P~#^R!Q![#g!c!i#g#T#Z#g~#jS!Q![#g!c!i#g#T#Z#g#q#r!P~#yP;=`<%l!P~$RO(c~~",141,340),new Qi("j~RQYZXz{^~^O(Q~~aP!P!Qd~iO(R~~",25,323)],topRules:{Script:[0,7],SingleExpression:[1,276],SingleClassItem:[2,277]},dialects:{jsx:0,ts:15175},dynamicPrecedences:{80:1,82:1,94:1,169:1,199:1},specialized:[{term:327,get:i=>s1[i]||-1},{term:343,get:i=>o1[i]||-1},{term:95,get:i=>a1[i]||-1}],tokenPrec:15201});var Lp=[ce("function ${name}(${params}) {\n ${}\n}",{label:"function",detail:"definition",type:"keyword"}),ce("for (let ${index} = 0; ${index} < ${bound}; ${index}++) {\n ${}\n}",{label:"for",detail:"loop",type:"keyword"}),ce("for (let ${name} of ${collection}) {\n ${}\n}",{label:"for",detail:"of loop",type:"keyword"}),ce("do {\n ${}\n} while (${})",{label:"do",detail:"loop",type:"keyword"}),ce("while (${}) {\n ${}\n}",{label:"while",detail:"loop",type:"keyword"}),ce(`try { \${} } catch (\${error}) { \${} @@ -26,22 +26,22 @@ constructor(\${params}) { \${} } -}`,{label:"class",detail:"definition",type:"keyword"}),ce('import {${names}} from "${module}"\n${}',{label:"import",detail:"named",type:"keyword"}),ce('import ${name} from "${module}"\n${}',{label:"import",detail:"default",type:"keyword"})],a1=zp.concat([ce("interface ${name} {\n ${}\n}",{label:"interface",detail:"definition",type:"keyword"}),ce("type ${name} = ${type}",{label:"type",detail:"definition",type:"keyword"}),ce("enum ${name} {\n ${}\n}",{label:"enum",detail:"definition",type:"keyword"})]),Zp=new fi,Lp=new Set(["Script","Block","FunctionExpression","FunctionDeclaration","ArrowFunction","MethodDeclaration","ForStatement"]);function vr(i){return(e,t)=>{let n=e.node.getChild("VariableDefinition");return n&&t(n,i),!0}}var l1=["FunctionDeclaration"],c1={FunctionDeclaration:vr("function"),ClassDeclaration:vr("class"),ClassExpression:()=>!0,EnumDeclaration:vr("constant"),TypeAliasDeclaration:vr("type"),NamespaceDeclaration:vr("namespace"),VariableDefinition(i,e){i.matchContext(l1)||e(i,"variable")},TypeDefinition(i,e){e(i,"type")},__proto__:null};function Mp(i,e){let t=Zp.get(e);if(t)return t;let n=[],r=!0;function s(o,a){let l=i.sliceString(o.from,o.to);n.push({label:l,type:a})}return e.cursor(ee.IncludeAnonymous).iterate(o=>{if(r)r=!1;else if(o.name){let a=c1[o.name];if(a&&a(o,s)||Lp.has(o.name))return!1}else if(o.to-o.from>8192){for(let a of Mp(i,o.node))n.push(a);return!1}}),Zp.set(e,n),n}var qp=/^[\w$\xa1-\uffff][\w$\d\xa1-\uffff]*$/,Wp=["TemplateString","String","RegExp","LineComment","BlockComment","VariableDefinition","TypeDefinition","Label","PropertyDefinition","PropertyName","PrivatePropertyDefinition","PrivatePropertyName","JSXText","JSXAttributeValue","JSXOpenTag","JSXCloseTag","JSXSelfClosingTag",".","?."];function h1(i){let e=B(i.state).resolveInner(i.pos,-1);if(Wp.indexOf(e.name)>-1)return null;let t=e.name=="VariableName"||e.to-e.from<20&&qp.test(i.state.sliceDoc(e.from,e.to));if(!t&&!i.explicit)return null;let n=[];for(let r=e;r;r=r.parent)Lp.has(r.name)&&(n=n.concat(Mp(i.state.doc,r)));return{options:n,from:t?e.from:i.pos,validFor:qp}}var wt=ve.define({name:"javascript",parser:Ap.configure({props:[we.add({IfStatement:Yt({except:/^\s*({|else\b)/}),TryStatement:Yt({except:/^\s*({|catch\b|finally\b)/}),LabeledStatement:sO,SwitchBody:i=>{let e=i.textAfter,t=/^\s*\}/.test(e),n=/^\s*(case|default)\b/.test(e);return i.baseIndent+(t?0:n?1:2)*i.unit},Block:St({closing:"}"}),ArrowFunction:i=>i.baseIndent+i.unit,"TemplateString BlockComment":()=>null,"Statement Property":Yt({except:/^\s*{/}),JSXElement(i){let e=/^\s*<\//.test(i.textAfter);return i.lineIndent(i.node.from)+(e?0:i.unit)},JSXEscape(i){let e=/\s*\}/.test(i.textAfter);return i.lineIndent(i.node.from)+(e?0:i.unit)},"JSXOpenTag JSXSelfClosingTag"(i){return i.column(i.node.from)+i.unit}}),$e.add({"Block ClassBody SwitchBody EnumBody ObjectExpression ArrayExpression ObjectType":ct,BlockComment(i){return{from:i.from+2,to:i.to-2}},JSXElement(i){let e=i.firstChild;if(!e||e.name=="JSXSelfClosingTag")return null;let t=i.lastChild;return{from:e.to,to:t.type.isError?i.to:t.from}},"JSXSelfClosingTag JSXOpenTag"(i){var e;let t=(e=i.firstChild)===null||e===void 0?void 0:e.nextSibling,n=i.lastChild;return!t||t.type.isError?null:{from:t.to,to:n.type.isError?i.to:n.from}}})]}),languageData:{closeBrackets:{brackets:["(","[","{","'",'"',"`"]},commentTokens:{line:"//",block:{open:"/*",close:"*/"}},indentOnInput:/^\s*(?:case |default:|\{|\}|<\/)$/,wordChars:"$"}}),jp={test:i=>/^JSX/.test(i.name),facet:kn({commentTokens:{block:{open:"{/*",close:"*/}"}}})},Xc=wt.configure({dialect:"ts"},"typescript"),_c=wt.configure({dialect:"jsx",props:[Es.add(i=>i.isTop?[jp]:void 0)]}),Rc=wt.configure({dialect:"jsx ts",props:[Es.add(i=>i.isTop?[jp]:void 0)]},"typescript"),Vp=i=>({label:i,type:"keyword"}),Dp="break case const continue default delete export extends false finally in instanceof let new return static super switch this throw true typeof var yield".split(" ").map(Vp),f1=Dp.concat(["declare","implements","private","protected","public"].map(Vp));function so(i={}){let e=i.jsx?i.typescript?Rc:_c:i.typescript?Xc:wt,t=i.typescript?a1.concat(f1):zp.concat(Dp);return new pe(e,[wt.data.of({autocomplete:Bs(Wp,Is(t))}),wt.data.of({autocomplete:h1}),i.jsx?d1:[]])}function u1(i){for(;;){if(i.name=="JSXOpenTag"||i.name=="JSXSelfClosingTag"||i.name=="JSXFragmentTag")return i;if(i.name=="JSXEscape"||!i.parent)return null;i=i.parent}}function Ep(i,e,t=i.length){for(let n=e?.firstChild;n;n=n.nextSibling)if(n.name=="JSXIdentifier"||n.name=="JSXBuiltin"||n.name=="JSXNamespacedName"||n.name=="JSXMemberExpression")return i.sliceString(n.from,Math.min(n.to,t));return""}var O1=typeof navigator=="object"&&/Android\b/.test(navigator.userAgent),d1=E.inputHandler.of((i,e,t,n,r)=>{if((O1?i.composing:i.compositionStarted)||i.state.readOnly||e!=t||n!=">"&&n!="/"||!wt.isActiveAt(i.state,e,-1))return!1;let s=r(),{state:o}=s,a=o.changeByRange(l=>{var c;let{head:h}=l,f=B(o).resolveInner(h-1,-1),u;if(f.name=="JSXStartTag"&&(f=f.parent),!(o.doc.sliceString(h-1,h)!=n||f.name=="JSXAttributeValue"&&f.to>h)){if(n==">"&&f.name=="JSXFragmentTag")return{range:l,changes:{from:h,insert:""}};if(n=="/"&&f.name=="JSXStartCloseTag"){let O=f.parent,p=O.parent;if(p&&O.from==h-2&&((u=Ep(o.doc,p.firstChild,h))||((c=p.firstChild)===null||c===void 0?void 0:c.name)=="JSXFragmentTag")){let m=`${u}>`;return{range:v.cursor(h+m.length,-1),changes:{from:h,insert:m}}}}else if(n==">"){let O=u1(f);if(O&&O.name=="JSXOpenTag"&&!/^\/?>|^<\//.test(o.doc.sliceString(h,h+2))&&(u=Ep(o.doc,O,h)))return{range:l,changes:{from:h,insert:``}}}}return{range:l}});return a.changes.empty?!1:(i.dispatch([s,o.update(a,{userEvent:"input.complete",scrollIntoView:!0})]),!0)});var $r=["_blank","_self","_top","_parent"],Ac=["ascii","utf-8","utf-16","latin1","latin1"],Zc=["get","post","put","delete"],qc=["application/x-www-form-urlencoded","multipart/form-data","text/plain"],et=["true","false"],D={},p1={a:{attrs:{href:null,ping:null,type:null,media:null,target:$r,hreflang:null}},abbr:D,address:D,area:{attrs:{alt:null,coords:null,href:null,target:null,ping:null,media:null,hreflang:null,type:null,shape:["default","rect","circle","poly"]}},article:D,aside:D,audio:{attrs:{src:null,mediagroup:null,crossorigin:["anonymous","use-credentials"],preload:["none","metadata","auto"],autoplay:["autoplay"],loop:["loop"],controls:["controls"]}},b:D,base:{attrs:{href:null,target:$r}},bdi:D,bdo:D,blockquote:{attrs:{cite:null}},body:D,br:D,button:{attrs:{form:null,formaction:null,name:null,value:null,autofocus:["autofocus"],disabled:["autofocus"],formenctype:qc,formmethod:Zc,formnovalidate:["novalidate"],formtarget:$r,type:["submit","reset","button"]}},canvas:{attrs:{width:null,height:null}},caption:D,center:D,cite:D,code:D,col:{attrs:{span:null}},colgroup:{attrs:{span:null}},command:{attrs:{type:["command","checkbox","radio"],label:null,icon:null,radiogroup:null,command:null,title:null,disabled:["disabled"],checked:["checked"]}},data:{attrs:{value:null}},datagrid:{attrs:{disabled:["disabled"],multiple:["multiple"]}},datalist:{attrs:{data:null}},dd:D,del:{attrs:{cite:null,datetime:null}},details:{attrs:{open:["open"]}},dfn:D,div:D,dl:D,dt:D,em:D,embed:{attrs:{src:null,type:null,width:null,height:null}},eventsource:{attrs:{src:null}},fieldset:{attrs:{disabled:["disabled"],form:null,name:null}},figcaption:D,figure:D,footer:D,form:{attrs:{action:null,name:null,"accept-charset":Ac,autocomplete:["on","off"],enctype:qc,method:Zc,novalidate:["novalidate"],target:$r}},h1:D,h2:D,h3:D,h4:D,h5:D,h6:D,head:{children:["title","base","link","style","meta","script","noscript","command"]},header:D,hgroup:D,hr:D,html:{attrs:{manifest:null}},i:D,iframe:{attrs:{src:null,srcdoc:null,name:null,width:null,height:null,sandbox:["allow-top-navigation","allow-same-origin","allow-forms","allow-scripts"],seamless:["seamless"]}},img:{attrs:{alt:null,src:null,ismap:null,usemap:null,width:null,height:null,crossorigin:["anonymous","use-credentials"]}},input:{attrs:{alt:null,dirname:null,form:null,formaction:null,height:null,list:null,max:null,maxlength:null,min:null,name:null,pattern:null,placeholder:null,size:null,src:null,step:null,value:null,width:null,accept:["audio/*","video/*","image/*"],autocomplete:["on","off"],autofocus:["autofocus"],checked:["checked"],disabled:["disabled"],formenctype:qc,formmethod:Zc,formnovalidate:["novalidate"],formtarget:$r,multiple:["multiple"],readonly:["readonly"],required:["required"],type:["hidden","text","search","tel","url","email","password","datetime","date","month","week","time","datetime-local","number","range","color","checkbox","radio","file","submit","image","reset","button"]}},ins:{attrs:{cite:null,datetime:null}},kbd:D,keygen:{attrs:{challenge:null,form:null,name:null,autofocus:["autofocus"],disabled:["disabled"],keytype:["RSA"]}},label:{attrs:{for:null,form:null}},legend:D,li:{attrs:{value:null}},link:{attrs:{href:null,type:null,hreflang:null,media:null,sizes:["all","16x16","16x16 32x32","16x16 32x32 64x64"]}},map:{attrs:{name:null}},mark:D,menu:{attrs:{label:null,type:["list","context","toolbar"]}},meta:{attrs:{content:null,charset:Ac,name:["viewport","application-name","author","description","generator","keywords"],"http-equiv":["content-language","content-type","default-style","refresh"]}},meter:{attrs:{value:null,min:null,low:null,high:null,max:null,optimum:null}},nav:D,noscript:D,object:{attrs:{data:null,type:null,name:null,usemap:null,form:null,width:null,height:null,typemustmatch:["typemustmatch"]}},ol:{attrs:{reversed:["reversed"],start:null,type:["1","a","A","i","I"]},children:["li","script","template","ul","ol"]},optgroup:{attrs:{disabled:["disabled"],label:null}},option:{attrs:{disabled:["disabled"],label:null,selected:["selected"],value:null}},output:{attrs:{for:null,form:null,name:null}},p:D,param:{attrs:{name:null,value:null}},pre:D,progress:{attrs:{value:null,max:null}},q:{attrs:{cite:null}},rp:D,rt:D,ruby:D,samp:D,script:{attrs:{type:["text/javascript"],src:null,async:["async"],defer:["defer"],charset:Ac}},section:D,select:{attrs:{form:null,name:null,size:null,autofocus:["autofocus"],disabled:["disabled"],multiple:["multiple"]}},slot:{attrs:{name:null}},small:D,source:{attrs:{src:null,type:null,media:null}},span:D,strong:D,style:{attrs:{type:["text/css"],media:null,scoped:null}},sub:D,summary:D,sup:D,table:D,tbody:D,td:{attrs:{colspan:null,rowspan:null,headers:null}},template:D,textarea:{attrs:{dirname:null,form:null,maxlength:null,name:null,placeholder:null,rows:null,cols:null,autofocus:["autofocus"],disabled:["disabled"],readonly:["readonly"],required:["required"],wrap:["soft","hard"]}},tfoot:D,th:{attrs:{colspan:null,rowspan:null,headers:null,scope:["row","col","rowgroup","colgroup"]}},thead:D,time:{attrs:{datetime:null}},title:D,tr:D,track:{attrs:{src:null,label:null,default:null,kind:["subtitles","captions","descriptions","chapters","metadata"],srclang:null}},ul:{children:["li","script","template","ul","ol"]},var:D,video:{attrs:{src:null,poster:null,width:null,height:null,crossorigin:["anonymous","use-credentials"],preload:["auto","metadata","none"],autoplay:["autoplay"],mediagroup:["movie"],muted:["muted"],controls:["controls"]}},wbr:D},Up={accesskey:null,class:null,contenteditable:et,contextmenu:null,dir:["ltr","rtl","auto"],draggable:["true","false","auto"],dropzone:["copy","move","link","string:","file:"],hidden:["hidden"],id:null,inert:["inert"],itemid:null,itemprop:null,itemref:null,itemscope:["itemscope"],itemtype:null,lang:["ar","bn","de","en-GB","en-US","es","fr","hi","id","ja","pa","pt","ru","tr","zh"],spellcheck:et,autocorrect:et,autocapitalize:et,style:null,tabindex:null,title:null,translate:["yes","no"],rel:["stylesheet","alternate","author","bookmark","help","license","next","nofollow","noreferrer","prefetch","prev","search","tag"],role:"alert application article banner button cell checkbox complementary contentinfo dialog document feed figure form grid gridcell heading img list listbox listitem main navigation region row rowgroup search switch tab table tabpanel textbox timer".split(" "),"aria-activedescendant":null,"aria-atomic":et,"aria-autocomplete":["inline","list","both","none"],"aria-busy":et,"aria-checked":["true","false","mixed","undefined"],"aria-controls":null,"aria-describedby":null,"aria-disabled":et,"aria-dropeffect":null,"aria-expanded":["true","false","undefined"],"aria-flowto":null,"aria-grabbed":["true","false","undefined"],"aria-haspopup":et,"aria-hidden":et,"aria-invalid":["true","false","grammar","spelling"],"aria-label":null,"aria-labelledby":null,"aria-level":null,"aria-live":["off","polite","assertive"],"aria-multiline":et,"aria-multiselectable":et,"aria-owns":null,"aria-posinset":null,"aria-pressed":["true","false","mixed","undefined"],"aria-readonly":et,"aria-relevant":null,"aria-required":et,"aria-selected":["true","false","undefined"],"aria-setsize":null,"aria-sort":["ascending","descending","none","other"],"aria-valuemax":null,"aria-valuemin":null,"aria-valuenow":null,"aria-valuetext":null},Gp="beforeunload copy cut dragstart dragover dragleave dragenter dragend drag paste focus blur change click load mousedown mouseenter mouseleave mouseup keydown keyup resize scroll unload".split(" ").map(i=>"on"+i);for(let i of Gp)Up[i]=null;var Bi=class{constructor(e,t){this.tags={...p1,...e},this.globalAttrs={...Up,...t},this.allTags=Object.keys(this.tags),this.globalAttrNames=Object.keys(this.globalAttrs)}};Bi.default=new Bi;function $n(i,e,t=i.length){if(!e)return"";let n=e.firstChild,r=n&&n.getChild("TagName");return r?i.sliceString(r.from,Math.min(r.to,t)):""}function Tn(i,e=!1){for(;i;i=i.parent)if(i.name=="Element")if(e)e=!1;else return i;return null}function Np(i,e,t){let n=t.tags[$n(i,Tn(e))];return n?.children||t.allTags}function Ec(i,e){let t=[];for(let n=Tn(e);n&&!n.type.isTop;n=Tn(n.parent)){let r=$n(i,n);if(r&&n.lastChild.name=="CloseTag")break;r&&t.indexOf(r)<0&&(e.name=="EndTag"||e.from>=n.firstChild.to)&&t.push(r)}return t}var Fp=/^[:\-\.\w\u00b7-\uffff]*$/;function Yp(i,e,t,n,r){let s=/\s*>/.test(i.sliceDoc(r,r+5))?"":">",o=Tn(t,t.name=="StartTag"||t.name=="TagName");return{from:n,to:r,options:Np(i.doc,o,e).map(a=>({label:a,type:"type"})).concat(Ec(i.doc,t).map((a,l)=>({label:"/"+a,apply:"/"+a+s,type:"type",boost:99-l}))),validFor:/^\/?[:\-\.\w\u00b7-\uffff]*$/}}function Ip(i,e,t,n){let r=/\s*>/.test(i.sliceDoc(n,n+5))?"":">";return{from:t,to:n,options:Ec(i.doc,e).map((s,o)=>({label:s,apply:s+r,type:"type",boost:99-o})),validFor:Fp}}function m1(i,e,t,n){let r=[],s=0;for(let o of Np(i.doc,t,e))r.push({label:"<"+o,type:"type"});for(let o of Ec(i.doc,t))r.push({label:"",type:"type",boost:99-s++});return{from:n,to:n,options:r,validFor:/^<\/?[:\-\.\w\u00b7-\uffff]*$/}}function g1(i,e,t,n,r){let s=Tn(t),o=s?e.tags[$n(i.doc,s)]:null,a=o&&o.attrs?Object.keys(o.attrs):[],l=o&&o.globalAttrs===!1?a:a.length?a.concat(e.globalAttrNames):e.globalAttrNames;return{from:n,to:r,options:l.map(c=>({label:c,type:"property"})),validFor:Fp}}function Q1(i,e,t,n,r){var s;let o=(s=t.parent)===null||s===void 0?void 0:s.getChild("AttributeName"),a=[],l;if(o){let c=i.sliceDoc(o.from,o.to),h=e.globalAttrs[c];if(!h){let f=Tn(t),u=f?e.tags[$n(i.doc,f)]:null;h=u?.attrs&&u.attrs[c]}if(h){let f=i.sliceDoc(n,r).toLowerCase(),u='"',O='"';/^['"]/.test(f)?(l=f[0]=='"'?/^[^"]*$/:/^[^']*$/,u="",O=i.sliceDoc(r,r+1)==f[0]?"":f[0],f=f.slice(1),n++):l=/^[^\s<>='"]*$/;for(let p of h)a.push({label:p,apply:u+p+O,type:"constant"})}}return{from:n,to:r,options:a,validFor:l}}function Hp(i,e){let{state:t,pos:n}=e,r=B(t).resolveInner(n,-1),s=r.resolve(n);for(let o=n,a;s==r&&(a=r.childBefore(o));){let l=a.lastChild;if(!l||!l.type.isError||l.fromHp(n,r)}var S1=wt.parser.configure({top:"SingleExpression"}),Jp=[{tag:"script",attrs:i=>i.type=="text/typescript"||i.lang=="ts",parser:Xc.parser},{tag:"script",attrs:i=>i.type=="text/babel"||i.type=="text/jsx",parser:_c.parser},{tag:"script",attrs:i=>i.type=="text/typescript-jsx",parser:Rc.parser},{tag:"script",attrs(i){return/^(importmap|speculationrules|application\/(.+\+)?json)$/i.test(i.type)},parser:S1},{tag:"script",attrs(i){return!i.type||/^(?:text|application)\/(?:x-)?(?:java|ecma)script$|^module$|^$/i.test(i.type)},parser:wt.parser},{tag:"style",attrs(i){return(!i.lang||i.lang=="css")&&(!i.type||/^(text\/)?(x-)?(stylesheet|css)$/i.test(i.type))},parser:Pr.parser}],em=[{name:"style",parser:Pr.parser.configure({top:"Styles"})}].concat(Gp.map(i=>({name:i,parser:wt.parser}))),tm=ve.define({name:"html",parser:Qp.configure({props:[we.add({Element(i){let e=/^(\s*)(<\/)?/.exec(i.textAfter);return i.node.to<=i.pos+e[0].length?i.continue():i.lineIndent(i.node.from)+(e[2]?0:i.unit)},"OpenTag CloseTag SelfClosingTag"(i){return i.column(i.node.from)+i.unit},Document(i){if(i.pos+/\s*/.exec(i.textAfter)[0].lengthi.getChild("TagName")})]}),languageData:{commentTokens:{block:{open:""}},indentOnInput:/^\s*<\/\w+\W$/,wordChars:"-_"}}),oo=tm.configure({wrap:xc(Jp,em)});function ao(i={}){let e="",t;i.matchClosingTags===!1&&(e="noMatch"),i.selfClosingTags===!0&&(e=(e?e+" ":"")+"selfClosing"),(i.nestedLanguages&&i.nestedLanguages.length||i.nestedAttributes&&i.nestedAttributes.length)&&(t=xc((i.nestedLanguages||[]).concat(Jp),(i.nestedAttributes||[]).concat(em)));let n=t?tm.configure({wrap:t,dialect:e}):e?oo.configure({dialect:e}):oo;return new pe(n,[oo.data.of({autocomplete:b1(i)}),i.autoCloseTags!==!1?y1:[],so().support,ro().support])}var Bp=new Set("area base br col command embed frame hr img input keygen link meta param source track wbr menuitem".split(" ")),y1=E.inputHandler.of((i,e,t,n,r)=>{if(i.composing||i.state.readOnly||e!=t||n!=">"&&n!="/"||!oo.isActiveAt(i.state,e,-1))return!1;let s=r(),{state:o}=s,a=o.changeByRange(l=>{var c,h,f;let u=o.doc.sliceString(l.from-1,l.to)==n,{head:O}=l,p=B(o).resolveInner(O,-1),m;if(u&&n==">"&&p.name=="EndTag"){let b=p.parent;if(((h=(c=b.parent)===null||c===void 0?void 0:c.lastChild)===null||h===void 0?void 0:h.name)!="CloseTag"&&(m=$n(o.doc,b.parent,O))&&!Bp.has(m)){let g=O+(o.doc.sliceString(O,O+1)===">"?1:0),Q=``;return{range:l,changes:{from:O,to:g,insert:Q}}}}else if(u&&n=="/"&&p.name=="IncompleteCloseTag"){let b=p.parent;if(p.from==O-2&&((f=b.lastChild)===null||f===void 0?void 0:f.name)!="CloseTag"&&(m=$n(o.doc,b,O))&&!Bp.has(m)){let g=O+(o.doc.sliceString(O,O+1)===">"?1:0),Q=`${m}>`;return{range:v.cursor(O+Q.length,-1),changes:{from:O,to:g,insert:Q}}}}return{range:l}});return a.changes.empty?!1:(i.dispatch([s,o.update(a,{userEvent:"input.complete",scrollIntoView:!0})]),!0)});var rm=kn({commentTokens:{block:{open:""}}}),sm=new I,om=Vd.configure({props:[$e.add(i=>!i.is("Block")||i.is("Document")||Mc(i)!=null||k1(i)?void 0:(e,t)=>({from:t.doc.lineAt(e.from).to,to:e.to})),sm.add(Mc),we.add({Document:()=>null}),bt.add({Document:rm})]});function Mc(i){let e=/^(?:ATX|Setext)Heading(\d)$/.exec(i.name);return e?+e[1]:void 0}function k1(i){return i.name=="OrderedList"||i.name=="BulletList"}function x1(i,e){let t=i;for(;;){let n=t.nextSibling,r;if(!n||(r=Mc(n.type))!=null&&r<=e)break;t=n}return t.to}var w1=oO.of((i,e,t)=>{for(let n=B(i).resolveInner(t,-1);n&&!(n.fromt)return{from:t,to:s}}return null});function Wc(i){return new xe(rm,i,[],"markdown")}var P1=Wc(om),v1=om.configure([Id,Gd,Ud,Nd,{props:[$e.add({Table:(i,e)=>({from:e.doc.lineAt(i.from).to,to:i.to})})]}]),bi=Wc(v1);function $1(i,e){return t=>{if(t&&i){let n=null;if(t=/\S*/.exec(t)[0],typeof i=="function"?n=i(t):n=Be.matchLanguageName(i,t,!0),n instanceof Be)return n.support?n.support.language.parser:Mi.getSkippingParser(n.load());if(n)return n.parser}return e?e.parser:null}}var Tr=class{constructor(e,t,n,r,s,o,a){this.node=e,this.from=t,this.to=n,this.spaceBefore=r,this.spaceAfter=s,this.type=o,this.item=a}blank(e,t=!0){let n=this.spaceBefore+(this.node.name=="Blockquote"?">":"");if(e!=null){for(;n.length0;r--)n+=" ";return n+(t?this.spaceAfter:"")}}marker(e,t){let n=this.node.name=="OrderedList"?String(+lm(this.item,e)[2]+t):"";return this.spaceBefore+n+this.type+this.spaceAfter}};function am(i,e){let t=[],n=[];for(let r=i;r;r=r.parent){if(r.name=="FencedCode")return n;(r.name=="ListItem"||r.name=="Blockquote")&&t.push(r)}for(let r=t.length-1;r>=0;r--){let s=t[r],o,a=e.lineAt(s.from),l=s.from-a.from;if(s.name=="Blockquote"&&(o=/^ *>( ?)/.exec(a.text.slice(l))))n.push(new Tr(s,l,l+o[0].length,"",o[1],">",null));else if(s.name=="ListItem"&&s.parent.name=="OrderedList"&&(o=/^( *)\d+([.)])( *)/.exec(a.text.slice(l)))){let c=o[3],h=o[0].length;c.length>=4&&(c=c.slice(0,c.length-4),h-=4),n.push(new Tr(s.parent,l,l+h,o[1],c,o[2],s))}else if(s.name=="ListItem"&&s.parent.name=="BulletList"&&(o=/^( *)([-+*])( {1,4}\[[ xX]\])?( +)/.exec(a.text.slice(l)))){let c=o[4],h=o[0].length;c.length>4&&(c=c.slice(0,c.length-4),h-=4);let f=o[2];o[3]&&(f+=o[3].replace(/[xX]/," ")),n.push(new Tr(s.parent,l,l+h,o[1],c,f,s))}}return n}function lm(i,e){return/^(\s*)(\d+)(?=[.)])/.exec(e.sliceString(i.from,i.from+10))}function zc(i,e,t,n=0){for(let r=-1,s=i;;){if(s.name=="ListItem"){let a=lm(s,e),l=+a[2];if(r>=0){if(l!=r+1)return;t.push({from:s.from+a[1].length,to:s.from+a[0].length,insert:String(r+2+n)})}r=l}let o=s.nextSibling;if(!o)break;s=o}}function jc(i,e){let t=/^[ \t]*/.exec(i)[0].length;if(!t||e.facet(Rt)!=" ")return i;let n=Fe(i,4,t),r="";for(let s=n;s>0;)s>=4?(r+=" ",s-=4):(r+=" ",s--);return r+i.slice(t)}var T1=(i={})=>({state:e,dispatch:t})=>{let n=B(e),{doc:r}=e,s=null,o=e.changeByRange(a=>{if(!a.empty||!bi.isActiveAt(e,a.from,-1)&&!bi.isActiveAt(e,a.from,1))return s={range:a};let l=a.from,c=r.lineAt(l),h=am(n.resolveInner(l,-1),r);for(;h.length&&h[h.length-1].from>l-c.from;)h.pop();if(!h.length)return s={range:a};let f=h[h.length-1];if(f.to-f.spaceAfter.length>l-c.from)return s={range:a};let u=l>=f.to-f.spaceAfter.length&&!/\S/.test(c.text.slice(f.to));if(f.item&&u){let g=f.node.firstChild,Q=f.node.getChild("ListItem","ListItem");if(g.to>=l||Q&&Q.to0&&!/[^\s>]/.test(r.lineAt(c.from-1).text)||i.nonTightLists===!1){let S=h.length>1?h[h.length-2]:null,x,P="";S&&S.item?(x=c.from+S.from,P=S.marker(r,1)):x=c.from+(S?S.to:0);let $=[{from:x,to:l,insert:P}];return f.node.name=="OrderedList"&&zc(f.item,r,$,-2),S&&S.node.name=="OrderedList"&&zc(S.item,r,$),{range:v.cursor(x+P.length),changes:$}}else{let S=nm(h,e,c);return{range:v.cursor(l+S.length+1),changes:{from:c.from,insert:S+e.lineBreak}}}}if(f.node.name=="Blockquote"&&u&&c.from){let g=r.lineAt(c.from-1),Q=/>\s*$/.exec(g.text);if(Q&&Q.index==f.from){let S=e.changes([{from:g.from+Q.index,to:g.to},{from:c.from+f.from,to:c.to}]);return{range:a.map(S),changes:S}}}let O=[];f.node.name=="OrderedList"&&zc(f.item,r,O);let p=f.item&&f.item.from]*/.exec(c.text)[0].length>=f.to)for(let g=0,Q=h.length-1;g<=Q;g++)m+=g==Q&&!p?h[g].marker(r,1):h[g].blank(gc.from&&/\s/.test(c.text.charAt(b-c.from-1));)b--;return m=jc(m,e),X1(f.node,e.doc)&&(m=nm(h,e,c)+e.lineBreak+m),O.push({from:b,to:l,insert:e.lineBreak+m}),{range:v.cursor(b+m.length+1),changes:O}});return s?!1:(t(e.update(o,{scrollIntoView:!0,userEvent:"input"})),!0)},C1=T1();function im(i){return i.name=="QuoteMark"||i.name=="ListMark"}function X1(i,e){if(i.name!="OrderedList"&&i.name!="BulletList")return!1;let t=i.firstChild,n=i.getChild("ListItem","ListItem");if(!n)return!1;let r=e.lineAt(t.to),s=e.lineAt(n.from),o=/^[\s>]*$/.test(r.text);return r.number+(o?0:1){let t=B(i),n=null,r=i.changeByRange(s=>{let o=s.from,{doc:a}=i;if(s.empty&&bi.isActiveAt(i,s.from)){let l=a.lineAt(o),c=am(_1(t,o),a);if(c.length){let h=c[c.length-1],f=h.to-h.spaceAfter.length+(h.spaceAfter?1:0);if(o-l.from>f&&!/\S/.test(l.text.slice(f,o-l.from)))return{range:v.cursor(l.from+f),changes:{from:l.from+f,to:o}};if(o-l.from==f&&(!h.item||l.from<=h.item.from||!/\S/.test(l.text.slice(0,h.to)))){let u=l.from+h.from;if(h.item&&h.node.from{var t;let{main:n}=e.state.selection;if(n.empty)return!1;let r=(t=i.clipboardData)===null||t===void 0?void 0:t.getData("text/plain");if(!r||!/^(https?:\/\/|mailto:|xmpp:|www\.)/.test(r)||(/^www\./.test(r)&&(r="https://"+r),!bi.isActiveAt(e.state,n.from,1)))return!1;let s=B(e.state),o=!1;return s.iterate({from:n.from,to:n.to,enter:a=>{(a.from>n.from||q1.test(a.name))&&(o=!0)},leave:a=>{a.to{if(i.next==-1&&e.canShift(hm))return i.acceptToken(hm);let t=i.peek(-1);if((Gt(t)||t<0)&&e.context.type!=Xr){if(Xn(i,45))if(e.canShift(Cn))i.acceptToken(Cn);else return i.acceptToken(z1,3);if(Xn(i,46))if(e.canShift(Cn))i.acceptToken(Cn);else return i.acceptToken(L1,3);let n=0;for(;i.next==32;)n++,i.advance();(n{if(e.context.type==Xr){i.next==63&&(i.advance(),Ui(i.next)&&i.acceptToken(j1));return}if(i.next==45)i.advance(),Ui(i.next)&&i.acceptToken(e.context.type==Nc&&e.context.depth==Cr(i,i.pos-1)?M1:Om);else if(i.next==63)i.advance(),Ui(i.next)&&i.acceptToken(e.context.type==Ic&&e.context.depth==Cr(i,i.pos-1)?W1:dm);else{let t=i.pos;for(;;)if(Uc(i.next)){if(i.pos==t)return;i.advance()}else if(i.next==33)Qm(i);else if(i.next==38)Gc(i);else if(i.next==42){Gc(i);break}else if(i.next==39||i.next==34){if(Fc(i,!0))break;return}else if(i.next==91||i.next==123){if(!sx(i))return;break}else{bm(i,!0,!1,0);break}for(;Uc(i.next);)i.advance();if(i.next==58){if(i.pos==t&&e.canShift(F1))return;let n=i.peek(1);Ui(n)&&i.acceptTokenTo(e.context.type==Ic&&e.context.depth==Cr(i,t)?V1:pm,t)}}},{contextual:!0});function rx(i){return i>32&&i<127&&i!=34&&i!=37&&i!=44&&i!=60&&i!=62&&i!=92&&i!=94&&i!=96&&i!=123&&i!=124&&i!=125}function fm(i){return i>=48&&i<=57||i>=97&&i<=102||i>=65&&i<=70}function um(i,e){return i.next==37?(i.advance(),fm(i.next)&&i.advance(),fm(i.next)&&i.advance(),!0):rx(i.next)||e&&i.next==44?(i.advance(),!0):!1}function Qm(i){if(i.advance(),i.next==60){for(i.advance();;)if(!um(i,!0)){i.next==62&&i.advance();break}}else for(;um(i,!1););}function Gc(i){for(i.advance();!Ui(i.next)&&lo(i.next)!="f";)i.advance()}function Fc(i,e){let t=i.next,n=!1,r=i.pos;for(i.advance();;){let s=i.next;if(s<0)break;if(i.advance(),s==t)if(s==39)if(i.next==39)i.advance();else break;else break;else if(s==92&&t==34)i.next>=0&&i.advance();else if(Gt(s)){if(e)return!1;n=!0}else if(e&&i.pos>=r+1024)return!1}return!n}function sx(i){for(let e=[],t=i.pos+1024;;)if(i.next==91||i.next==123)e.push(i.next),i.advance();else if(i.next==39||i.next==34){if(!Fc(i,!0))return!1}else if(i.next==93||i.next==125){if(e[e.length-1]!=i.next-2)return!1;if(e.pop(),i.advance(),!e.length)return!0}else{if(i.next<0||i.pos>t||Gt(i.next))return!1;i.advance()}}var ox="iiisiiissisfissssssssssssisssiiissssssssssssssssssssssssssfsfssissssssssssssssssssssssssssfif";function lo(i){return i<33?"u":i>125?"s":ox[i-33]}function Yc(i,e){let t=lo(i);return t!="u"&&!(e&&t=="f")}function bm(i,e,t,n){if(lo(i.next)=="s"||(i.next==63||i.next==58||i.next==45)&&Yc(i.peek(1),t))i.advance();else return!1;let r=i.pos;for(;;){let s=i.next,o=0,a=n+1;for(;gm(s);){if(Gt(s)){if(e)return!1;a=0}else a++;s=i.peek(++o)}if(!(s>=0&&(s==58?Yc(i.peek(o+1),t):s==35?i.peek(o-1)!=32:Yc(s,t)))||!t&&a<=n||a==0&&!t&&(Xn(i,45,o)||Xn(i,46,o)))break;if(e&&lo(s)=="f")return!1;for(let c=o;c>=0;c--)i.advance();if(e&&i.pos>r+1024)return!1}return!0}var ax=new K((i,e)=>{if(i.next==33)Qm(i),i.acceptToken(U1);else if(i.next==38||i.next==42){let t=i.next==38?I1:B1;Gc(i),i.acceptToken(t)}else i.next==39||i.next==34?(Fc(i,!1),i.acceptToken(Y1)):bm(i,!1,e.context.type==Xr,e.context.depth)&&i.acceptToken(D1)}),lx=new K((i,e)=>{let t=e.context.type==Bc?e.context.depth:-1,n=i.pos;e:for(;;){let r=0,s=i.next;for(;s==32;)s=i.peek(++r);if(!r&&(Xn(i,45,r)||Xn(i,46,r))||!Gt(s)&&(t<0&&(t=Math.max(e.context.depth+1,r)),rYAN>Y",stateData:";S~O!fOS!gOS^OS~OP_OQbORSOTUOWROXROYYOZZO[XOcPOqQO!PVO!V[O!cTO~O`cO~P]OVkOWROXROYeOZfO[dOcPOmhOqQO~OboO~P!bOVtOWROXROYeOZfO[dOcPOmrOqQO~OpwO~P#WORSOTUOWROXROYYOZZO[XOcPOqQO!PVO!cTO~OSvP!avP!bvP~P#|OWROXROYeOZfO[dOcPOqQO~OmzO~P%OOm!OOUzP!azP!bzP!dzP~P#|O^!SO!b!QO!f!TO!g!RO~ORSOTUOWROXROcPOqQO!PVO!cTO~OY!UOP!QXQ!QX!V!QX!`!QXS!QX!a!QX!b!QXU!QXm!QX!d!QX~P&aO[!WOP!SXQ!SX!V!SX!`!SXS!SX!a!SX!b!SXU!SXm!SX!d!SX~P&aO^!ZO!W![O!b!YO!f!]O!g!YO~OP!_O!V[OQaX!`aX~OPaXQaX!VaX!`aX~P#|OP!bOQ!cO!V[O~OP_O!V[O~P#|OWROXROY!fOcPOqQObfXmfXofXpfX~OWROXRO[!hOcPOqQObhXmhXohXphX~ObeXmlXoeX~ObkXokX~P%OOm!kO~Om!lObnPonP~P%OOb!pOo!oO~Ob!pO~P!bOm!sOosXpsX~OosXpsX~P%OOm!uOotPptP~P%OOo!xOp!yO~Op!yO~P#WOS!|O!a#OO!b#OO~OUyX!ayX!byX!dyX~P#|Om#QO~OU#SO!a#UO!b#UO!d#RO~Om#WOUzX!azX!bzX!dzX~O]#XO~O!b#XO!g#YO~O^#ZO!b#XO!g#YO~OP!RXQ!RX!V!RX!`!RXS!RX!a!RX!b!RXU!RXm!RX!d!RX~P&aOP!TXQ!TX!V!TX!`!TXS!TX!a!TX!b!TXU!TXm!TX!d!TX~P&aO!b#^O!g#^O~O^#_O!b#^O!f#`O!g#^O~O^#_O!W#aO!b#^O!g#^O~OPaaQaa!Vaa!`aa~P#|OP#cO!V[OQ!XX!`!XX~OP!XXQ!XX!V!XX!`!XX~P#|OP_O!V[OQ!_X!`!_X~P#|OWROXROcPOqQObgXmgXogXpgX~OWROXROcPOqQObiXmiXoiXpiX~Obkaoka~P%OObnXonX~P%OOm#kO~Ob#lOo!oO~Oosapsa~P%OOotXptX~P%OOm#pO~Oo!xOp#qO~OSwP!awP!bwP~P#|OS!|O!a#vO!b#vO~OUya!aya!bya!dya~P#|Om#xO~P%OOm#{OU}P!a}P!b}P!d}P~P#|OU#SO!a$OO!b$OO!d#RO~O]$QO~O!b$QO!g$RO~O!b$SO!g$SO~O^$TO!b$SO!g$SO~O^$TO!b$SO!f$UO!g$SO~OP!XaQ!Xa!V!Xa!`!Xa~P#|Obnaona~P%OOotapta~P%OOo!xO~OU|X!a|X!b|X!d|X~P#|Om$ZO~Om$]OU}X!a}X!b}X!d}X~O]$^O~O!b$_O!g$_O~O^$`O!b$_O!g$_O~OU|a!a|a!b|a!d|a~P#|O!b$cO!g$cO~O",goto:",]!mPPPPPPPPPPPPPPPPP!nPP!v#v#|$`#|$c$f$j$nP%VPPP!v%Y%^%a%{&O%a&R&U&X&_&b%aP&e&{&e'O'RPP']'a'g'm's'y(XPPPPPPPP(_)e*X+c,VUaObcR#e!c!{ROPQSTUXY_bcdehknrtvz!O!U!W!_!b!c!f!h!k!l!s!u!|#Q#R#S#W#c#k#p#x#{$Z$]QmPR!qnqfPQThknrtv!k!l!s!u#R#k#pR!gdR!ieTlPnTjPnSiPnSqQvQ{TQ!mkQ!trQ!vtR#y#RR!nkTsQvR!wt!RWOSUXY_bcz!O!U!W!_!b!c!|#Q#S#W#c#x#{$Z$]RySR#t!|R|TR|UQ!PUR#|#SR#z#RR#z#SyZOSU_bcz!O!_!b!c!|#Q#S#W#c#x#{$Z$]R!VXR!XYa]O^abc!a!c!eT!da!eQnPR!rnQvQR!{vQ!}yR#u!}Q#T|R#}#TW^Obc!cS!^^!aT!aa!eQ!eaR#f!eW`Obc!cQxSS}U#SQ!`_Q#PzQ#V!OQ#b!_Q#d!bQ#s!|Q#w#QQ$P#WQ$V#cQ$Y#xQ$[#{Q$a$ZR$b$]xZOSU_bcz!O!_!b!c!|#Q#S#W#c#x#{$Z$]Q!VXQ!XYQ#[!UR#]!W!QWOSUXY_bcz!O!U!W!_!b!c!|#Q#S#W#c#x#{$Z$]pfPQThknrtv!k!l!s!u#R#k#pQ!gdQ!ieQ#g!fR#h!hSgPn^pQTkrtv#RQ!jhQ#i!kQ#j!lQ#n!sQ#o!uQ$W#kR$X#pQuQR!zv",nodeNames:"\u26A0 DirectiveEnd DocEnd - - ? ? ? Literal QuotedLiteral Anchor Alias Tag BlockLiteralContent Comment Stream BOM Document ] [ FlowSequence Item Tagged Anchored Anchored Tagged FlowMapping Pair Key : Pair , } { FlowMapping Pair Pair BlockSequence Item Item BlockMapping Pair Pair Key Pair Pair BlockLiteral BlockLiteralHeader Tagged Anchored Anchored Tagged Directive DirectiveName DirectiveContent Document",maxTerm:74,context:tx,nodeProps:[["isolate",-3,8,9,14,""],["openedBy",18,"[",32,"{"],["closedBy",19,"]",33,"}"]],propSources:[cx],skippedNodes:[0],repeatNodeCount:6,tokenData:"-Y~RnOX#PXY$QYZ$]Z]#P]^$]^p#Ppq$Qqs#Pst$btu#Puv$yv|#P|}&e}![#P![!]'O!]!`#P!`!a'i!a!}#P!}#O*g#O#P#P#P#Q+Q#Q#o#P#o#p+k#p#q'i#q#r,U#r;'S#P;'S;=`#z<%l?HT#P?HT?HU,o?HUO#PQ#UU!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PQ#kTOY#PZs#Pt;'S#P;'S;=`#z<%lO#PQ#}P;=`<%l#P~$VQ!f~XY$Qpq$Q~$bO!g~~$gS^~OY$bZ;'S$b;'S;=`$s<%lO$b~$vP;=`<%l$bR%OX!WQOX%kXY#PZ]%k]^#P^p%kpq#hq;'S%k;'S;=`&_<%lO%kR%rX!WQ!VPOX%kXY#PZ]%k]^#P^p%kpq#hq;'S%k;'S;=`&_<%lO%kR&bP;=`<%l%kR&lUoP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR'VUmP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR'p[!PP!WQOY#PZp#Ppq#hq{#P{|(f|}#P}!O(f!O!R#P!R![)p![;'S#P;'S;=`#z<%lO#PR(mW!PP!WQOY#PZp#Ppq#hq!R#P!R![)V![;'S#P;'S;=`#z<%lO#PR)^U!PP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR)wY!PP!WQOY#PZp#Ppq#hq{#P{|)V|}#P}!O)V!O;'S#P;'S;=`#z<%lO#PR*nUcP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR+XUbP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR+rUqP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR,]UpP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR,vU`P!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#P",tokenizers:[ix,nx,ax,lx,0,1],topRules:{Stream:[0,15]},tokenPrec:0});var hx=Pe.deserialize({version:14,states:"!vOQOPOOO]OPO'#C_OhOPO'#C^OOOO'#Cc'#CcOpOPO'#CaQOOOOOO{OPOOOOOO'#Cb'#CbO!WOPO'#C`O!`OPO,58xOOOO-E6a-E6aOOOO-E6`-E6`OOOO'#C_'#C_OOOO1G.d1G.d",stateData:"!h~OXPOYROWTP~OWVXXRXYRX~OYVOXSP~OXROYROWTX~OXROYROWTP~OYVOXSX~OX[O~OXY~",goto:"vWPPX[beioRUOQQOR]XRXQTTOUQWQRZWSSOURYS",nodeNames:"\u26A0 Document Frontmatter DashLine FrontmatterContent Body",maxTerm:10,skippedNodes:[0],repeatNodeCount:2,tokenData:"$z~RXOYnYZ!^Z]n]^!^^}n}!O!i!O;'Sn;'S;=`!c<%lOn~qXOYnYZ!^Z]n]^!^^;'Sn;'S;=`!c<%l~n~On~~!^~!cOY~~!fP;=`<%ln~!lZOYnYZ!^Z]n]^!^^}n}!O#_!O;'Sn;'S;=`!c<%l~n~On~~!^~#bZOYnYZ!^Z]n]^!^^}n}!O$T!O;'Sn;'S;=`!c<%l~n~On~~!^~$WXOYnYZ$sZ]n]^$s^;'Sn;'S;=`!c<%l~n~On~~$s~$zOX~Y~",tokenizers:[0],topRules:{Document:[0,1]},tokenPrec:67}),fx=ve.define({name:"yaml",parser:Sm.configure({props:[we.add({Stream:i=>{for(let e=i.node.resolve(i.pos,-1);e&&e.to>=i.pos;e=e.parent){if(e.name=="BlockLiteralContent"&&e.fromi.pos)return null}}return null},FlowMapping:St({closing:"}"}),FlowSequence:St({closing:"]"})}),$e.add({"FlowMapping FlowSequence":ct,"Item Pair BlockLiteral":(i,e)=>({from:e.doc.lineAt(i.from).to,to:i.to})})]}),languageData:{commentTokens:{line:"#"},indentOnInput:/^\s*[\]\}]$/}});var ux=ve.define({name:"yaml-frontmatter",parser:hx.configure({props:[ge({DashLine:d.meta})]})});function ym(i){let{language:e,support:t}=i.content instanceof pe?i.content:{language:i.content,support:[]};return new pe(ux.configure({wrap:bn(n=>n.name=="FrontmatterContent"?{parser:fx.parser}:n.name=="Body"?{parser:e.parser}:null)}),t)}var Ox=1,$m=194,Tm=195,dx=196,km=197,px=198,mx=199,gx=200,Qx=2,Cm=3,xm=201,bx=24,Sx=25,yx=49,kx=50,xx=55,wx=56,Px=57,vx=59,$x=60,Tx=61,Cx=62,Xx=63,_x=65,Rx=238,Ax=71,Zx=241,qx=242,Ex=243,zx=244,Lx=245,Mx=246,Wx=247,jx=248,Xm=72,Vx=249,Dx=250,Yx=251,Ix=252,Bx=253,Ux=254,Gx=255,Nx=256,Fx=73,Hx=77,Kx=263,Jx=112,ew=130,tw=151,iw=152,nw=155,Gi=10,_r=13,eh=32,fo=9,th=35,rw=40,sw=46,Jc=123,wm=125,_m=39,Rm=34,Pm=92,ow=111,aw=120,lw=78,cw=117,hw=85,fw=new Set([Sx,yx,kx,Kx,_x,ew,wx,Px,Rx,Cx,Xx,Xm,Fx,Hx,$x,Tx,tw,iw,nw,Jx]);function Hc(i){return i==Gi||i==_r}function Kc(i){return i>=48&&i<=57||i>=65&&i<=70||i>=97&&i<=102}var uw=new K((i,e)=>{let t;if(i.next<0)i.acceptToken(mx);else if(e.context.flags&co)Hc(i.next)&&i.acceptToken(px,1);else if(((t=i.peek(-1))<0||Hc(t))&&e.canShift(km)){let n=0;for(;i.next==eh||i.next==fo;)i.advance(),n++;(i.next==Gi||i.next==_r||i.next==th)&&i.acceptToken(km,-n)}else Hc(i.next)&&i.acceptToken(dx,1)},{contextual:!0}),Ow=new K((i,e)=>{let t=e.context;if(t.flags)return;let n=i.peek(-1);if(n==Gi||n==_r){let r=0,s=0;for(;;){if(i.next==eh)r++;else if(i.next==fo)r+=8-r%8;else break;i.advance(),s++}r!=t.indent&&i.next!=Gi&&i.next!=_r&&i.next!=th&&(r[i,e|Am])),mw=new Ot({start:dw,reduce(i,e,t,n){return i.flags&co&&fw.has(e)||(e==Ax||e==Xm)&&i.flags&Am?i.parent:i},shift(i,e,t,n){return e==$m?new ho(i,pw(n.read(n.pos,t.pos)),0):e==Tm?i.parent:e==bx||e==xx||e==vx||e==Cm?new ho(i,0,co):vm.has(e)?new ho(i,0,vm.get(e)|i.flags&co):i},hash(i){return i.hash}}),gw=new K(i=>{for(let e=0;e<5;e++){if(i.next!="print".charCodeAt(e))return;i.advance()}if(!/\w/.test(String.fromCharCode(i.next)))for(let e=0;;e++){let t=i.peek(e);if(!(t==eh||t==fo)){t!=rw&&t!=sw&&t!=Gi&&t!=_r&&t!=th&&i.acceptToken(Ox);return}}}),Qw=new K((i,e)=>{let{flags:t}=e.context,n=t&Nt?Rm:_m,r=(t&Ft)>0,s=!(t&Ht),o=(t&Kt)>0,a=i.pos;for(;!(i.next<0);)if(o&&i.next==Jc)if(i.peek(1)==Jc)i.advance(2);else{if(i.pos==a){i.acceptToken(Cm,1);return}break}else if(s&&i.next==Pm){if(i.pos==a){i.advance();let l=i.next;l>=0&&(i.advance(),bw(i,l)),i.acceptToken(Qx);return}break}else if(i.next==Pm&&!s&&i.peek(1)>-1)i.advance(2);else if(i.next==n&&(!r||i.peek(1)==n&&i.peek(2)==n)){if(i.pos==a){i.acceptToken(xm,r?3:1);return}break}else if(i.next==Gi){if(r)i.advance();else if(i.pos==a){i.acceptToken(xm);return}break}else i.advance();i.pos>a&&i.acceptToken(gx)});function bw(i,e){if(e==ow)for(let t=0;t<2&&i.next>=48&&i.next<=55;t++)i.advance();else if(e==aw)for(let t=0;t<2&&Kc(i.next);t++)i.advance();else if(e==cw)for(let t=0;t<4&&Kc(i.next);t++)i.advance();else if(e==hw)for(let t=0;t<8&&Kc(i.next);t++)i.advance();else if(e==lw&&i.next==Jc){for(i.advance();i.next>=0&&i.next!=wm&&i.next!=_m&&i.next!=Rm&&i.next!=Gi;)i.advance();i.next==wm&&i.advance()}}var Sw=ge({'async "*" "**" FormatConversion FormatSpec':d.modifier,"for while if elif else try except finally return raise break continue with pass assert await yield match case":d.controlKeyword,"in not and or is del":d.operatorKeyword,"from def class global nonlocal lambda":d.definitionKeyword,import:d.moduleKeyword,"with as print":d.keyword,Boolean:d.bool,None:d.null,VariableName:d.variableName,"CallExpression/VariableName":d.function(d.variableName),"FunctionDefinition/VariableName":d.function(d.definition(d.variableName)),"ClassDefinition/VariableName":d.definition(d.className),PropertyName:d.propertyName,"CallExpression/MemberExpression/PropertyName":d.function(d.propertyName),Comment:d.lineComment,Number:d.number,String:d.string,FormatString:d.special(d.string),Escape:d.escape,UpdateOp:d.updateOperator,"ArithOp!":d.arithmeticOperator,BitOp:d.bitwiseOperator,CompareOp:d.compareOperator,AssignOp:d.definitionOperator,Ellipsis:d.punctuation,At:d.meta,"( )":d.paren,"[ ]":d.squareBracket,"{ }":d.brace,".":d.derefOperator,", ;":d.separator}),yw={__proto__:null,await:44,or:54,and:56,in:60,not:62,is:64,if:70,else:72,lambda:76,yield:94,from:96,async:102,for:104,None:162,True:164,False:164,del:178,pass:182,break:186,continue:190,return:194,raise:202,import:206,as:208,global:212,nonlocal:214,assert:218,type:223,elif:236,while:240,try:246,except:248,finally:250,with:254,def:258,class:268,match:279,case:285},Zm=Pe.deserialize({version:14,states:"##jQ`QeOOP$}OSOOO&WQtO'#HUOOQS'#Co'#CoOOQS'#Cp'#CpO'vQdO'#CnO*UQtO'#HTOOQS'#HU'#HUOOQS'#DU'#DUOOQS'#HT'#HTO*rQdO'#D_O+VQdO'#DfO+gQdO'#DjO+zOWO'#DuO,VOWO'#DvO.[QtO'#GuOOQS'#Gu'#GuO'vQdO'#GtO0ZQtO'#GtOOQS'#Eb'#EbO0rQdO'#EcOOQS'#Gs'#GsO0|QdO'#GrOOQV'#Gr'#GrO1XQdO'#FYOOQS'#G^'#G^O1^QdO'#FXOOQV'#IS'#ISOOQV'#Gq'#GqOOQV'#Fq'#FqQ`QeOOO'vQdO'#CqO1lQdO'#C}O1sQdO'#DRO2RQdO'#HYO2cQtO'#EVO'vQdO'#EWOOQS'#EY'#EYOOQS'#E['#E[OOQS'#E^'#E^O2wQdO'#E`O3_QdO'#EdO3rQdO'#EfO3zQtO'#EfO1XQdO'#EiO0rQdO'#ElO1XQdO'#EnO0rQdO'#EtO0rQdO'#EwO4VQdO'#EyO4^QdO'#FOO4iQdO'#EzO0rQdO'#FOO1XQdO'#FQO1XQdO'#FVO4nQdO'#F[P4uOdO'#GpPOOO)CBd)CBdOOQS'#Ce'#CeOOQS'#Cf'#CfOOQS'#Cg'#CgOOQS'#Ch'#ChOOQS'#Ci'#CiOOQS'#Cj'#CjOOQS'#Cl'#ClO'vQdO,59OO'vQdO,59OO'vQdO,59OO'vQdO,59OO'vQdO,59OO'vQdO,59OO5TQdO'#DoOOQS,5:Y,5:YO5hQdO'#HdOOQS,5:],5:]O5uQ!fO,5:]O5zQtO,59YO1lQdO,59bO1lQdO,59bO1lQdO,59bO8jQdO,59bO8oQdO,59bO8vQdO,59jO8}QdO'#HTO:TQdO'#HSOOQS'#HS'#HSOOQS'#D['#D[O:lQdO,59aO'vQdO,59aO:zQdO,59aOOQS,59y,59yO;PQdO,5:RO'vQdO,5:ROOQS,5:Q,5:QO;_QdO,5:QO;dQdO,5:XO'vQdO,5:XO'vQdO,5:VOOQS,5:U,5:UO;uQdO,5:UO;zQdO,5:WOOOW'#Fy'#FyOOOOQS'#Ds'#DsOOQS1G/w1G/wOOQS1G.|1G.|O!/[QtO1G.|O!/cQtO1G.|O1lQdO1G.|O!0OQdO1G/UOOQS'#DZ'#DZO0rQdO,59tOOQS1G.{1G.{O!0VQdO1G/eO!0gQdO1G/eO!0oQdO1G/fO'vQdO'#H[O!0tQdO'#H[O!0yQtO1G.{O!1ZQdO,59iO!2aQdO,5=zO!2qQdO,5=zO!2yQdO1G/mO!3OQtO1G/mOOQS1G/l1G/lO!3`QdO,5=uO!4VQdO,5=uO0rQdO1G/qO!4tQdO1G/sO!4yQtO1G/sO!5ZQtO1G/qOOQS1G/p1G/pOOQS1G/r1G/rOOOW-E9w-E9wOOQS1G/{1G/{O!5kQdO'#HxO0rQdO'#HxO!5|QdO,5>cOOOW-E9x-E9xOOQS1G/|1G/|OOQS-E9{-E9{O!6[Q#xO1G2zO!6{QtO1G2zO'vQdO,5kOOQS1G1`1G1`O!8RQdO1G1`OOQS'#DV'#DVO0rQdO,5=qOOQS,5=q,5=qO!8WQdO'#FrO!8cQdO,59oO!8kQdO1G/XO!8uQtO,5=uOOQS1G3`1G3`OOQS,5:m,5:mO!9fQdO'#GtOOQS,5jO!;ZQdO,5>jO1XQdO,5>jO!;lQdO,5>iOOQS-E:R-E:RO!;qQdO1G0lO!;|QdO1G0lO!lO!lO!hO!=VQdO,5>hO!=hQdO'#EpO0rQdO1G0tO!=sQdO1G0tO!=xQgO1G0zO!AvQgO1G0}O!EqQdO,5>oO!E{QdO,5>oO!FTQtO,5>oO0rQdO1G1PO!F_QdO1G1PO4iQdO1G1UO!!vQdO1G1WOOQV,5;a,5;aO!FdQfO,5;aO!FiQgO1G1QO!JjQdO'#GZO4iQdO1G1QO4iQdO1G1QO!JzQdO,5>pO!KXQdO,5>pO1XQdO,5>pOOQV1G1U1G1UO!KaQdO'#FSO!KrQ!fO1G1WO!KzQdO1G1WOOQV1G1]1G1]O4iQdO1G1]O!LPQdO1G1]O!LXQdO'#F^OOQV1G1b1G1bO!#ZQtO1G1bPOOO1G2v1G2vP!L^OSO1G2vOOQS,5=},5=}OOQS'#Dp'#DpO0rQdO,5=}O!LfQdO,5=|O!LyQdO,5=|OOQS1G/u1G/uO!MRQdO,5>PO!McQdO,5>PO!MkQdO,5>PO!NOQdO,5>PO!N`QdO,5>POOQS1G3j1G3jOOQS7+$h7+$hO!8kQdO7+$pO#!RQdO1G.|O#!YQdO1G.|OOQS1G/`1G/`OOQS,5<`,5<`O'vQdO,5<`OOQS7+%P7+%PO#!aQdO7+%POOQS-E9r-E9rOOQS7+%Q7+%QO#!qQdO,5=vO'vQdO,5=vOOQS7+$g7+$gO#!vQdO7+%PO##OQdO7+%QO##TQdO1G3fOOQS7+%X7+%XO##eQdO1G3fO##mQdO7+%XOOQS,5<_,5<_O'vQdO,5<_O##rQdO1G3aOOQS-E9q-E9qO#$iQdO7+%]OOQS7+%_7+%_O#$wQdO1G3aO#%fQdO7+%_O#%kQdO1G3gO#%{QdO1G3gO#&TQdO7+%]O#&YQdO,5>dO#&sQdO,5>dO#&sQdO,5>dOOQS'#Dx'#DxO#'UO&jO'#DzO#'aO`O'#HyOOOW1G3}1G3}O#'fQdO1G3}O#'nQdO1G3}O#'yQ#xO7+(fO#(jQtO1G2UP#)TQdO'#GOOOQS,5nQdO,5sQdO1G4OOOQS-E9y-E9yO#?^QdO1G4OO<[QdO'#H{OOOO'#D{'#D{OOOO'#F|'#F|O#?oO&jO,5:fOOOW,5>e,5>eOOOW7+)i7+)iO#?zQdO7+)iO#@SQdO1G2zO#@mQdO1G2zP'vQdO'#FuO0rQdO<mO#BQQdO,5>mOOQS1G0v1G0vOOQS<rO#KgQdO,5>rO#KrQdO,5>rO#K}QdO,5>qO#L`QdO,5>qOOQS1G1Y1G1YOOQS,5;p,5;pOOQV<VAN>VO$ oQdO<cAN>cO0rQdO1G1|O$!PQtO1G1|P$!ZQdO'#FvOOQS1G2R1G2RP$!hQdO'#F{O$!uQdO7+)jO$#`QdO,5>gOOOO-E9z-E9zOOOW<tO$4{QdO,5>tO1XQdO,5vO$)nQdO,5>vOOQS1G1p1G1pOOQS,5<[,5<[OOQU7+'P7+'PO$+zQdO1G/iO$)nQdO,5wO$8zQdO,5>wOOQS1G1s1G1sOOQS7+'S7+'SP$)nQdO'#GdO$9SQdO1G4bO$9^QdO1G4bO$9fQdO1G4bOOQS7+%T7+%TO$9tQdO1G1tO$:SQtO'#FaO$:ZQdO,5<}OOQS,5<},5<}O$:iQdO1G4cOOQS-E:a-E:aO$)nQdO,5<|O$:pQdO,5<|O$:uQdO7+)|OOQS-E:`-E:`O$;PQdO7+)|O$)nQdO,5S~O%cOS%^OSSOS%]PQ~OPdOVaOfoOhYOopOs!POvqO!PrO!Q{O!T!SO!U!RO!XZO!][O!h`O!r`O!s`O!t`O!{tO!}uO#PvO#RwO#TxO#XyO#ZzO#^|O#_|O#a}O#c!OO#l!QO#o!TO#s!UO#u!VO#z!WO#}hO$P!XO%oRO%pRO%tSO%uWO&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O&c^O&d^O&e^O&f^O&g^O&h^O&i^O&j^O~O%]!YO~OV!aO_!aOa!bOh!iO!X!kO!f!mO%j![O%k!]O%l!^O%m!_O%n!_O%o!`O%p!`O%q!aO%r!aO%s!aO~Ok%xXl%xXm%xXn%xXo%xXp%xXs%xXz%xX{%xX!x%xX#g%xX%[%xX%_%xX%z%xXg%xX!T%xX!U%xX%{%xX!W%xX![%xX!Q%xX#[%xXt%xX!m%xX~P%SOfoOhYO!XZO!][O!h`O!r`O!s`O!t`O%oRO%pRO%tSO%uWO&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O&c^O&d^O&e^O&f^O&g^O&h^O&i^O&j^O~Oz%wX{%wX#g%wX%[%wX%_%wX%z%wX~Ok!pOl!qOm!oOn!oOo!rOp!sOs!tO!x%wX~P)pOV!zOg!|Oo0cOv0qO!PrO~P'vOV#OOo0cOv0qO!W#PO~P'vOV#SOa#TOo0cOv0qO![#UO~P'vOQ#XO%`#XO%a#ZO~OQ#^OR#[O%`#^O%a#`O~OV%iX_%iXa%iXh%iXk%iXl%iXm%iXn%iXo%iXp%iXs%iXz%iX!X%iX!f%iX%j%iX%k%iX%l%iX%m%iX%n%iX%o%iX%p%iX%q%iX%r%iX%s%iXg%iX!T%iX!U%iX~O&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O&c^O&d^O&e^O&f^O&g^O&h^O&i^O&j^O{%iX!x%iX#g%iX%[%iX%_%iX%z%iX%{%iX!W%iX![%iX!Q%iX#[%iXt%iX!m%iX~P,eOz#dO{%hX!x%hX#g%hX%[%hX%_%hX%z%hX~Oo0cOv0qO~P'vO#g#gO%[#iO%_#iO~O%uWO~O!T#nO#u!VO#z!WO#}hO~OopO~P'vOV#sOa#tO%uWO{wP~OV#xOo0cOv0qO!Q#yO~P'vO{#{O!x$QO%z#|O#g!yX%[!yX%_!yX~OV#xOo0cOv0qO#g#SX%[#SX%_#SX~P'vOo0cOv0qO#g#WX%[#WX%_#WX~P'vOh$WO%uWO~O!f$YO!r$YO%uWO~OV$eO~P'vO!U$gO#s$hO#u$iO~O{$jO~OV$qO~P'vOS$sO%[$rO%_$rO%c$tO~OV$}Oa$}Og%POo0cOv0qO~P'vOo0cOv0qO{%SO~P'vO&Y%UO~Oa!bOh!iO!X!kO!f!mOVba_bakbalbambanbaobapbasbazba{ba!xba#gba%[ba%_ba%jba%kba%lba%mba%nba%oba%pba%qba%rba%sba%zbagba!Tba!Uba%{ba!Wba![ba!Qba#[batba!mba~On%ZO~Oo%ZO~P'vOo0cO~P'vOk0eOl0fOm0dOn0dOo0mOp0nOs0rOg%wX!T%wX!U%wX%{%wX!W%wX![%wX!Q%wX#[%wX!m%wX~P)pO%{%]Og%vXz%vX!T%vX!U%vX!W%vX{%vX~Og%_Oz%`O!T%dO!U%cO~Og%_O~Oz%gO!T%dO!U%cO!W&SX~O!W%kO~Oz%lO{%nO!T%dO!U%cO![%}X~O![%rO~O![%sO~OQ#XO%`#XO%a%uO~OV%wOo0cOv0qO!PrO~P'vOQ#^OR#[O%`#^O%a%zO~OV!qa_!qaa!qah!qak!qal!qam!qan!qao!qap!qas!qaz!qa{!qa!X!qa!f!qa!x!qa#g!qa%[!qa%_!qa%j!qa%k!qa%l!qa%m!qa%n!qa%o!qa%p!qa%q!qa%r!qa%s!qa%z!qag!qa!T!qa!U!qa%{!qa!W!qa![!qa!Q!qa#[!qat!qa!m!qa~P#yOz%|O{%ha!x%ha#g%ha%[%ha%_%ha%z%ha~P%SOV&OOopOvqO{%ha!x%ha#g%ha%[%ha%_%ha%z%ha~P'vOz%|O{%ha!x%ha#g%ha%[%ha%_%ha%z%ha~OPdOVaOopOvqO!PrO!Q{O!{tO!}uO#PvO#RwO#TxO#XyO#ZzO#^|O#_|O#a}O#c!OO#g$zX%[$zX%_$zX~P'vO#g#gO%[&TO%_&TO~O!f&UOh&sX%[&sXz&sX#[&sX#g&sX%_&sX#Z&sXg&sX~Oh!iO%[&WO~Okealeameaneaoeapeaseazea{ea!xea#gea%[ea%_ea%zeagea!Tea!Uea%{ea!Wea![ea!Qea#[eatea!mea~P%SOsqazqa{qa#gqa%[qa%_qa%zqa~Ok!pOl!qOm!oOn!oOo!rOp!sO!xqa~PEcO%z&YOz%yX{%yX~O%uWOz%yX{%yX~Oz&]O{wX~O{&_O~Oz%lO#g%}X%[%}X%_%}Xg%}X{%}X![%}X!m%}X%z%}X~OV0lOo0cOv0qO!PrO~P'vO%z#|O#gUa%[Ua%_Ua~Oz&hO#g&PX%[&PX%_&PXn&PX~P%SOz&kO!Q&jO#g#Wa%[#Wa%_#Wa~Oz&lO#[&nO#g&rX%[&rX%_&rXg&rX~O!f$YO!r$YO#Z&qO%uWO~O#Z&qO~Oz&sO#g&tX%[&tX%_&tX~Oz&uO#g&pX%[&pX%_&pX{&pX~O!X&wO%z&xO~Oz&|On&wX~P%SOn'PO~OPdOVaOopOvqO!PrO!Q{O!{tO!}uO#PvO#RwO#TxO#XyO#ZzO#^|O#_|O#a}O#c!OO%['UO~P'vOt'YO#p'WO#q'XOP#naV#naf#nah#nao#nas#nav#na!P#na!Q#na!T#na!U#na!X#na!]#na!h#na!r#na!s#na!t#na!{#na!}#na#P#na#R#na#T#na#X#na#Z#na#^#na#_#na#a#na#c#na#l#na#o#na#s#na#u#na#z#na#}#na$P#na%X#na%o#na%p#na%t#na%u#na&Z#na&[#na&]#na&^#na&_#na&`#na&a#na&b#na&c#na&d#na&e#na&f#na&g#na&h#na&i#na&j#na%Z#na%_#na~Oz'ZO#[']O{&xX~Oh'_O!X&wO~Oh!iO{$jO!X&wO~O{'eO~P%SO%['hO%_'hO~OS'iO%['hO%_'hO~OV!aO_!aOa!bOh!iO!X!kO!f!mO%l!^O%m!_O%n!_O%o!`O%p!`O%q!aO%r!aO%s!aOkWilWimWinWioWipWisWizWi{Wi!xWi#gWi%[Wi%_Wi%jWi%zWigWi!TWi!UWi%{Wi!WWi![Wi!QWi#[WitWi!mWi~O%k!]O~P!#uO%kWi~P!#uOV!aO_!aOa!bOh!iO!X!kO!f!mO%o!`O%p!`O%q!aO%r!aO%s!aOkWilWimWinWioWipWisWizWi{Wi!xWi#gWi%[Wi%_Wi%jWi%kWi%lWi%zWigWi!TWi!UWi%{Wi!WWi![Wi!QWi#[WitWi!mWi~O%m!_O%n!_O~P!&pO%mWi%nWi~P!&pOa!bOh!iO!X!kO!f!mOkWilWimWinWioWipWisWizWi{Wi!xWi#gWi%[Wi%_Wi%jWi%kWi%lWi%mWi%nWi%oWi%pWi%zWigWi!TWi!UWi%{Wi!WWi![Wi!QWi#[WitWi!mWi~OV!aO_!aO%q!aO%r!aO%s!aO~P!)nOVWi_Wi%qWi%rWi%sWi~P!)nO!T%dO!U%cOg&VXz&VX~O%z'kO%{'kO~P,eOz'mOg&UX~Og'oO~Oz'pO{'rO!W&XX~Oo0cOv0qOz'pO{'sO!W&XX~P'vO!W'uO~Om!oOn!oOo!rOp!sOkjisjizji{ji!xji#gji%[ji%_ji%zji~Ol!qO~P!.aOlji~P!.aOk0eOl0fOm0dOn0dOo0mOp0nO~Ot'wO~P!/jOV'|Og'}Oo0cOv0qO~P'vOg'}Oz(OO~Og(QO~O!U(SO~Og(TOz(OO!T%dO!U%cO~P%SOk0eOl0fOm0dOn0dOo0mOp0nOgqa!Tqa!Uqa%{qa!Wqa![qa!Qqa#[qatqa!mqa~PEcOV'|Oo0cOv0qO!W&Sa~P'vOz(WO!W&Sa~O!W(XO~Oz(WO!T%dO!U%cO!W&Sa~P%SOV(]Oo0cOv0qO![%}a#g%}a%[%}a%_%}ag%}a{%}a!m%}a%z%}a~P'vOz(^O![%}a#g%}a%[%}a%_%}ag%}a{%}a!m%}a%z%}a~O![(aO~Oz(^O!T%dO!U%cO![%}a~P%SOz(dO!T%dO!U%cO![&Ta~P%SOz(gO{&lX![&lX!m&lX%z&lX~O{(kO![(mO!m(nO%z(jO~OV&OOopOvqO{%hi!x%hi#g%hi%[%hi%_%hi%z%hi~P'vOz(pO{%hi!x%hi#g%hi%[%hi%_%hi%z%hi~O!f&UOh&sa%[&saz&sa#[&sa#g&sa%_&sa#Z&sag&sa~O%[(uO~OV#sOa#tO%uWO~Oz&]O{wa~OopOvqO~P'vOz(^O#g%}a%[%}a%_%}ag%}a{%}a![%}a!m%}a%z%}a~P%SOz(zO#g%hX%[%hX%_%hX%z%hX~O%z#|O#gUi%[Ui%_Ui~O#g&Pa%[&Pa%_&Pan&Pa~P'vOz(}O#g&Pa%[&Pa%_&Pan&Pa~O%uWO#g&ra%[&ra%_&rag&ra~Oz)SO#g&ra%[&ra%_&rag&ra~Og)VO~OV)WOh$WO%uWO~O#Z)XO~O%uWO#g&ta%[&ta%_&ta~Oz)ZO#g&ta%[&ta%_&ta~Oo0cOv0qO#g&pa%[&pa%_&pa{&pa~P'vOz)^O#g&pa%[&pa%_&pa{&pa~OV)`Oa)`O%uWO~O%z)eO~Ot)hO#j)gOP#hiV#hif#hih#hio#his#hiv#hi!P#hi!Q#hi!T#hi!U#hi!X#hi!]#hi!h#hi!r#hi!s#hi!t#hi!{#hi!}#hi#P#hi#R#hi#T#hi#X#hi#Z#hi#^#hi#_#hi#a#hi#c#hi#l#hi#o#hi#s#hi#u#hi#z#hi#}#hi$P#hi%X#hi%o#hi%p#hi%t#hi%u#hi&Z#hi&[#hi&]#hi&^#hi&_#hi&`#hi&a#hi&b#hi&c#hi&d#hi&e#hi&f#hi&g#hi&h#hi&i#hi&j#hi%Z#hi%_#hi~Ot)iOP#kiV#kif#kih#kio#kis#kiv#ki!P#ki!Q#ki!T#ki!U#ki!X#ki!]#ki!h#ki!r#ki!s#ki!t#ki!{#ki!}#ki#P#ki#R#ki#T#ki#X#ki#Z#ki#^#ki#_#ki#a#ki#c#ki#l#ki#o#ki#s#ki#u#ki#z#ki#}#ki$P#ki%X#ki%o#ki%p#ki%t#ki%u#ki&Z#ki&[#ki&]#ki&^#ki&_#ki&`#ki&a#ki&b#ki&c#ki&d#ki&e#ki&f#ki&g#ki&h#ki&i#ki&j#ki%Z#ki%_#ki~OV)kOn&wa~P'vOz)lOn&wa~Oz)lOn&wa~P%SOn)pO~O%Y)tO~Ot)wO#p'WO#q)vOP#niV#nif#nih#nio#nis#niv#ni!P#ni!Q#ni!T#ni!U#ni!X#ni!]#ni!h#ni!r#ni!s#ni!t#ni!{#ni!}#ni#P#ni#R#ni#T#ni#X#ni#Z#ni#^#ni#_#ni#a#ni#c#ni#l#ni#o#ni#s#ni#u#ni#z#ni#}#ni$P#ni%X#ni%o#ni%p#ni%t#ni%u#ni&Z#ni&[#ni&]#ni&^#ni&_#ni&`#ni&a#ni&b#ni&c#ni&d#ni&e#ni&f#ni&g#ni&h#ni&i#ni&j#ni%Z#ni%_#ni~OV)zOo0cOv0qO{$jO~P'vOo0cOv0qO{&xa~P'vOz*OO{&xa~OV*SOa*TOg*WO%q*UO%uWO~O{$jO&{*YO~Oh'_O~Oh!iO{$jO~O%[*_O~O%[*aO%_*aO~OV$}Oa$}Oo0cOv0qOg&Ua~P'vOz*dOg&Ua~Oo0cOv0qO{*gO!W&Xa~P'vOz*hO!W&Xa~Oo0cOv0qOz*hO{*kO!W&Xa~P'vOo0cOv0qOz*hO!W&Xa~P'vOz*hO{*kO!W&Xa~Om0dOn0dOo0mOp0nOgjikjisjizji!Tji!Uji%{ji!Wji{ji![ji#gji%[ji%_ji!Qji#[jitji!mji%zji~Ol0fO~P!NkOlji~P!NkOV'|Og*pOo0cOv0qO~P'vOn*rO~Og*pOz*tO~Og*uO~OV'|Oo0cOv0qO!W&Si~P'vOz*vO!W&Si~O!W*wO~OV(]Oo0cOv0qO![%}i#g%}i%[%}i%_%}ig%}i{%}i!m%}i%z%}i~P'vOz*zO!T%dO!U%cO![&Ti~Oz*}O![%}i#g%}i%[%}i%_%}ig%}i{%}i!m%}i%z%}i~O![+OO~Oa+QOo0cOv0qO![&Ti~P'vOz*zO![&Ti~O![+SO~OV+UOo0cOv0qO{&la![&la!m&la%z&la~P'vOz+VO{&la![&la!m&la%z&la~O!]+YO&n+[O![!nX~O![+^O~O{(kO![+_O~O{(kO![+_O!m+`O~OV&OOopOvqO{%hq!x%hq#g%hq%[%hq%_%hq%z%hq~P'vOz$ri{$ri!x$ri#g$ri%[$ri%_$ri%z$ri~P%SOV&OOopOvqO~P'vOV&OOo0cOv0qO#g%ha%[%ha%_%ha%z%ha~P'vOz+aO#g%ha%[%ha%_%ha%z%ha~Oz$ia#g$ia%[$ia%_$ian$ia~P%SO#g&Pi%[&Pi%_&Pin&Pi~P'vOz+dO#g#Wq%[#Wq%_#Wq~O#[+eOz$va#g$va%[$va%_$vag$va~O%uWO#g&ri%[&ri%_&rig&ri~Oz+gO#g&ri%[&ri%_&rig&ri~OV+iOh$WO%uWO~O%uWO#g&ti%[&ti%_&ti~Oo0cOv0qO#g&pi%[&pi%_&pi{&pi~P'vO{#{Oz#eX!W#eX~Oz+mO!W&uX~O!W+oO~Ot+rO#j)gOP#hqV#hqf#hqh#hqo#hqs#hqv#hq!P#hq!Q#hq!T#hq!U#hq!X#hq!]#hq!h#hq!r#hq!s#hq!t#hq!{#hq!}#hq#P#hq#R#hq#T#hq#X#hq#Z#hq#^#hq#_#hq#a#hq#c#hq#l#hq#o#hq#s#hq#u#hq#z#hq#}#hq$P#hq%X#hq%o#hq%p#hq%t#hq%u#hq&Z#hq&[#hq&]#hq&^#hq&_#hq&`#hq&a#hq&b#hq&c#hq&d#hq&e#hq&f#hq&g#hq&h#hq&i#hq&j#hq%Z#hq%_#hq~On$|az$|a~P%SOV)kOn&wi~P'vOz+yOn&wi~Oz,TO{$jO#[,TO~O#q,VOP#nqV#nqf#nqh#nqo#nqs#nqv#nq!P#nq!Q#nq!T#nq!U#nq!X#nq!]#nq!h#nq!r#nq!s#nq!t#nq!{#nq!}#nq#P#nq#R#nq#T#nq#X#nq#Z#nq#^#nq#_#nq#a#nq#c#nq#l#nq#o#nq#s#nq#u#nq#z#nq#}#nq$P#nq%X#nq%o#nq%p#nq%t#nq%u#nq&Z#nq&[#nq&]#nq&^#nq&_#nq&`#nq&a#nq&b#nq&c#nq&d#nq&e#nq&f#nq&g#nq&h#nq&i#nq&j#nq%Z#nq%_#nq~O#[,WOz%Oa{%Oa~Oo0cOv0qO{&xi~P'vOz,YO{&xi~O{#{O%z,[Og&zXz&zX~O%uWOg&zXz&zX~Oz,`Og&yX~Og,bO~O%Y,eO~O!T%dO!U%cOg&Viz&Vi~OV$}Oa$}Oo0cOv0qOg&Ui~P'vO{,hOz$la!W$la~Oo0cOv0qO{,iOz$la!W$la~P'vOo0cOv0qO{*gO!W&Xi~P'vOz,lO!W&Xi~Oo0cOv0qOz,lO!W&Xi~P'vOz,lO{,oO!W&Xi~Og$hiz$hi!W$hi~P%SOV'|Oo0cOv0qO~P'vOn,qO~OV'|Og,rOo0cOv0qO~P'vOV'|Oo0cOv0qO!W&Sq~P'vOz$gi![$gi#g$gi%[$gi%_$gig$gi{$gi!m$gi%z$gi~P%SOV(]Oo0cOv0qO~P'vOa+QOo0cOv0qO![&Tq~P'vOz,sO![&Tq~O![,tO~OV(]Oo0cOv0qO![%}q#g%}q%[%}q%_%}qg%}q{%}q!m%}q%z%}q~P'vO{,uO~OV+UOo0cOv0qO{&li![&li!m&li%z&li~P'vOz,zO{&li![&li!m&li%z&li~O!]+YO&n+[O![!na~O{(kO![,}O~OV&OOo0cOv0qO#g%hi%[%hi%_%hi%z%hi~P'vOz-OO#g%hi%[%hi%_%hi%z%hi~O%uWO#g&rq%[&rq%_&rqg&rq~Oz-RO#g&rq%[&rq%_&rqg&rq~OV)`Oa)`O%uWO!W&ua~Oz-TO!W&ua~On$|iz$|i~P%SOV)kO~P'vOV)kOn&wq~P'vOt-XOP#myV#myf#myh#myo#mys#myv#my!P#my!Q#my!T#my!U#my!X#my!]#my!h#my!r#my!s#my!t#my!{#my!}#my#P#my#R#my#T#my#X#my#Z#my#^#my#_#my#a#my#c#my#l#my#o#my#s#my#u#my#z#my#}#my$P#my%X#my%o#my%p#my%t#my%u#my&Z#my&[#my&]#my&^#my&_#my&`#my&a#my&b#my&c#my&d#my&e#my&f#my&g#my&h#my&i#my&j#my%Z#my%_#my~O%Z-]O%_-]O~P`O#q-^OP#nyV#nyf#nyh#nyo#nys#nyv#ny!P#ny!Q#ny!T#ny!U#ny!X#ny!]#ny!h#ny!r#ny!s#ny!t#ny!{#ny!}#ny#P#ny#R#ny#T#ny#X#ny#Z#ny#^#ny#_#ny#a#ny#c#ny#l#ny#o#ny#s#ny#u#ny#z#ny#}#ny$P#ny%X#ny%o#ny%p#ny%t#ny%u#ny&Z#ny&[#ny&]#ny&^#ny&_#ny&`#ny&a#ny&b#ny&c#ny&d#ny&e#ny&f#ny&g#ny&h#ny&i#ny&j#ny%Z#ny%_#ny~Oz-aO{$jO#[-aO~Oo0cOv0qO{&xq~P'vOz-dO{&xq~O%z,[Og&zaz&za~O{#{Og&zaz&za~OV*SOa*TO%q*UO%uWOg&ya~Oz-hOg&ya~O$S-lO~OV$}Oa$}Oo0cOv0qO~P'vOo0cOv0qO{-mOz$li!W$li~P'vOo0cOv0qOz$li!W$li~P'vO{-mOz$li!W$li~Oo0cOv0qO{*gO~P'vOo0cOv0qO{*gO!W&Xq~P'vOz-pO!W&Xq~Oo0cOv0qOz-pO!W&Xq~P'vOs-sO!T%dO!U%cOg&Oq!W&Oq![&Oqz&Oq~P!/jOa+QOo0cOv0qO![&Ty~P'vOz$ji![$ji~P%SOa+QOo0cOv0qO~P'vOV+UOo0cOv0qO~P'vOV+UOo0cOv0qO{&lq![&lq!m&lq%z&lq~P'vO{(kO![-xO!m-yO%z-wO~OV&OOo0cOv0qO#g%hq%[%hq%_%hq%z%hq~P'vO%uWO#g&ry%[&ry%_&ryg&ry~OV)`Oa)`O%uWO!W&ui~Ot-}OP#m!RV#m!Rf#m!Rh#m!Ro#m!Rs#m!Rv#m!R!P#m!R!Q#m!R!T#m!R!U#m!R!X#m!R!]#m!R!h#m!R!r#m!R!s#m!R!t#m!R!{#m!R!}#m!R#P#m!R#R#m!R#T#m!R#X#m!R#Z#m!R#^#m!R#_#m!R#a#m!R#c#m!R#l#m!R#o#m!R#s#m!R#u#m!R#z#m!R#}#m!R$P#m!R%X#m!R%o#m!R%p#m!R%t#m!R%u#m!R&Z#m!R&[#m!R&]#m!R&^#m!R&_#m!R&`#m!R&a#m!R&b#m!R&c#m!R&d#m!R&e#m!R&f#m!R&g#m!R&h#m!R&i#m!R&j#m!R%Z#m!R%_#m!R~Oo0cOv0qO{&xy~P'vOV*SOa*TO%q*UO%uWOg&yi~O$S-lO%Z.VO%_.VO~OV.aOh._O!X.^O!].`O!h.YO!s.[O!t.[O%p.XO%uWO&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O~Oo0cOv0qOz$lq!W$lq~P'vO{.fOz$lq!W$lq~Oo0cOv0qO{*gO!W&Xy~P'vOz.gO!W&Xy~Oo0cOv.kO~P'vOs-sO!T%dO!U%cOg&Oy!W&Oy![&Oyz&Oy~P!/jO{(kO![.nO~O{(kO![.nO!m.oO~OV*SOa*TO%q*UO%uWO~Oh.tO!f.rOz$TX#[$TX%j$TXg$TX~Os$TX{$TX!W$TX![$TX~P$-bO%o.vO%p.vOs$UXz$UX{$UX#[$UX%j$UX!W$UXg$UX![$UX~O!h.xO~Oz.|O#[/OO%j.yOs&|X{&|X!W&|Xg&|X~Oa/RO~P$)zOh.tOs&}Xz&}X{&}X#[&}X%j&}X!W&}Xg&}X![&}X~Os/VO{$jO~Oo0cOv0qOz$ly!W$ly~P'vOo0cOv0qO{*gO!W&X!R~P'vOz/ZO!W&X!R~Og&RXs&RX!T&RX!U&RX!W&RX![&RXz&RX~P!/jOs-sO!T%dO!U%cOg&Qa!W&Qa![&Qaz&Qa~O{(kO![/^O~O!f.rOh$[as$[az$[a{$[a#[$[a%j$[a!W$[ag$[a![$[a~O!h/eO~O%o.vO%p.vOs$Uaz$Ua{$Ua#[$Ua%j$Ua!W$Uag$Ua![$Ua~O%j.yOs$Yaz$Ya{$Ya#[$Ya!W$Yag$Ya![$Ya~Os&|a{&|a!W&|ag&|a~P$)nOz/jOs&|a{&|a!W&|ag&|a~O!W/mO~Og/mO~O{/oO~O![/pO~Oo0cOv0qO{*gO!W&X!Z~P'vO{/sO~O%z/tO~P$-bOz/uO#[/OO%j.yOg'PX~Oz/uOg'PX~Og/wO~O!h/xO~O#[/OOs%Saz%Sa{%Sa%j%Sa!W%Sag%Sa![%Sa~O#[/OO%j.yOs%Waz%Wa{%Wa!W%Wag%Wa~Os&|i{&|i!W&|ig&|i~P$)nOz/zO#[/OO%j.yO!['Oa~Og'Pa~P$)nOz0SOg'Pa~Oa0UO!['Oi~P$)zOz0WO!['Oi~Oz0WO#[/OO%j.yO!['Oi~O#[/OO%j.yOg$biz$bi~O%z0ZO~P$-bO#[/OO%j.yOg%Vaz%Va~Og'Pi~P$)nO{0^O~Oa0UO!['Oq~P$)zOz0`O!['Oq~O#[/OO%j.yOz%Ui![%Ui~Oa0UO~P$)zOa0UO!['Oy~P$)zO#[/OO%j.yOg$ciz$ci~O#[/OO%j.yOz%Uq![%Uq~Oz+aO#g%ha%[%ha%_%ha%z%ha~P%SOV&OOo0cOv0qO~P'vOn0hO~Oo0hO~P'vO{0iO~Ot0jO~P!/jO&]&Z&j&h&i&g&f&d&e&c&b&`&a&_&^&[%u~",goto:"!=j'QPPPPPP'RP'Z*s+[+t,_,y-fP.SP'Z.r.r'ZPPP'Z2[PPPPPP2[5PPP5PP7b7k=sPP=v>h>kPP'Z'ZPP>zPP'Z'ZPP'Z'Z'Z'Z'Z?O?w'ZP?zP@QDXGuGyPG|HWH['ZPPPH_Hk'RP'R'RP'RP'RP'RP'RP'R'R'RP'RPP'RPP'RP'RPHqH}IVPI^IdPI^PI^I^PPPI^PKrPK{LVL]KrPI^LfPI^PLmLsPLwM]MzNeLwLwNkNxLwLwLwLw! ^! d! g! l! o! y!!P!!]!!o!!u!#P!#V!#s!#y!$P!$Z!$a!$g!$y!%T!%Z!%a!%k!%q!%w!%}!&T!&Z!&e!&k!&u!&{!'U!'[!'k!'s!'}!(UPPPPPPPPPPP!([!(_!(e!(n!(x!)TPPPPPPPPPPPP!-u!/Z!3^!6oPP!6w!7W!7a!8Y!8P!8c!8i!8l!8o!8r!8z!9jPPPPPPPPPPPPPPPPP!9m!9q!9wP!:]!:a!:m!:v!;S!;j!;m!;p!;v!;|!_![!]Do!]!^Es!^!_FZ!_!`Gk!`!aHX!a!b%T!b!cIf!c!dJU!d!eK^!e!hJU!h!i!#f!i!tJU!t!u!,|!u!wJU!w!x!.t!x!}JU!}#O!0S#O#P&o#P#Q!0j#Q#R!1Q#R#SJU#S#T%T#T#UJU#U#VK^#V#YJU#Y#Z!#f#Z#fJU#f#g!,|#g#iJU#i#j!.t#j#oJU#o#p!1n#p#q!1s#q#r!2a#r#s!2f#s$g%T$g;'SJU;'S;=`KW<%lOJU`%YT&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T`%lP;=`<%l%To%v]&n`%c_OX%TXY%oY[%T[]%o]p%Tpq%oq#O%T#O#P&o#P#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To&tX&n`OY%TYZ%oZ]%T]^%o^#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc'f[&n`O!_%T!_!`([!`#T%T#T#U(r#U#f%T#f#g(r#g#h(r#h#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc(cTmR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc(yT!mR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk)aV&n`&[ZOr%Trs)vs#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk){V&n`Or%Trs*bs#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk*iT&n`&^ZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To+PZS_&n`OY*xYZ%TZ]*x]^%T^#o*x#o#p+r#p#q*x#q#r+r#r;'S*x;'S;=`,^<%lO*x_+wTS_OY+rZ]+r^;'S+r;'S;=`,W<%lO+r_,ZP;=`<%l+ro,aP;=`<%l*xj,kV%rQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj-XT!xY&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj-oV%lQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk.]V&n`&ZZOw%Twx.rx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk.wV&n`Ow%Twx/^x#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk/eT&n`&]ZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk/{ThZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc0cTgR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk0yXVZ&n`Oz%Tz{1f{!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk1mVaR&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk2ZV%oZ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc2wTzR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To3_W%pZ&n`O!_%T!_!`-Q!`!a3w!a#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Td4OT&{S&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk4fX!fQ&n`O!O%T!O!P5R!P!Q%T!Q![6T![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk5WV&n`O!O%T!O!P5m!P#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk5tT!rZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti6[a!hX&n`O!Q%T!Q![6T![!g%T!g!h7a!h!l%T!l!m9s!m#R%T#R#S6T#S#X%T#X#Y7a#Y#^%T#^#_9s#_#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti7fZ&n`O{%T{|8X|}%T}!O8X!O!Q%T!Q![8s![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti8^V&n`O!Q%T!Q![8s![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti8z]!hX&n`O!Q%T!Q![8s![!l%T!l!m9s!m#R%T#R#S8s#S#^%T#^#_9s#_#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti9zT!hX&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk:bX%qR&n`O!P%T!P!Q:}!Q!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj;UV%sQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti;ro!hX&n`O!O%T!O!P=s!P!Q%T!Q![>_![!d%T!d!e?q!e!g%T!g!h7a!h!l%T!l!m9s!m!q%T!q!rA]!r!z%T!z!{Bq!{#R%T#R#S>_#S#U%T#U#V?q#V#X%T#X#Y7a#Y#^%T#^#_9s#_#c%T#c#dA]#d#l%T#l#mBq#m#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti=xV&n`O!Q%T!Q![6T![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti>fc!hX&n`O!O%T!O!P=s!P!Q%T!Q![>_![!g%T!g!h7a!h!l%T!l!m9s!m#R%T#R#S>_#S#X%T#X#Y7a#Y#^%T#^#_9s#_#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti?vY&n`O!Q%T!Q!R@f!R!S@f!S#R%T#R#S@f#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti@mY!hX&n`O!Q%T!Q!R@f!R!S@f!S#R%T#R#S@f#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiAbX&n`O!Q%T!Q!YA}!Y#R%T#R#SA}#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiBUX!hX&n`O!Q%T!Q!YA}!Y#R%T#R#SA}#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiBv]&n`O!Q%T!Q![Co![!c%T!c!iCo!i#R%T#R#SCo#S#T%T#T#ZCo#Z#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiCv]!hX&n`O!Q%T!Q![Co![!c%T!c!iCo!i#R%T#R#SCo#S#T%T#T#ZCo#Z#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%ToDvV{_&n`O!_%T!_!`E]!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TcEdT%{R&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkEzT#gZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkFbXmR&n`O!^%T!^!_F}!_!`([!`!a([!a#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TjGUV%mQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkGrV%zZ&n`O!_%T!_!`([!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkH`WmR&n`O!_%T!_!`([!`!aHx!a#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TjIPV%nQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkIoV_Q#}P&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%ToJ_]&n`&YS%uZO!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUoKZP;=`<%lJUoKge&n`&YS%uZOr%Trs)Ysw%Twx.Ux!Q%T!Q![JU![!c%T!c!tJU!t!uLx!u!}JU!}#R%T#R#SJU#S#T%T#T#fJU#f#gLx#g#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUoMRa&n`&YS%uZOr%TrsNWsw%Twx! vx!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUkN_V&n`&`ZOr%TrsNts#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkNyV&n`Or%Trs! `s#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk! gT&n`&bZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk! }V&n`&_ZOw%Twx!!dx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!!iV&n`Ow%Twx!#Ox#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!#VT&n`&aZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To!#oe&n`&YS%uZOr%Trs!%Qsw%Twx!&px!Q%T!Q![JU![!c%T!c!tJU!t!u!(`!u!}JU!}#R%T#R#SJU#S#T%T#T#fJU#f#g!(`#g#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUk!%XV&n`&dZOr%Trs!%ns#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!%sV&n`Or%Trs!&Ys#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!&aT&n`&fZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!&wV&n`&cZOw%Twx!'^x#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!'cV&n`Ow%Twx!'xx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!(PT&n`&eZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To!(ia&n`&YS%uZOr%Trs!)nsw%Twx!+^x!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUk!)uV&n`&hZOr%Trs!*[s#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!*aV&n`Or%Trs!*vs#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!*}T&n`&jZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!+eV&n`&gZOw%Twx!+zx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!,PV&n`Ow%Twx!,fx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!,mT&n`&iZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To!-Vi&n`&YS%uZOr%TrsNWsw%Twx! vx!Q%T!Q![JU![!c%T!c!dJU!d!eLx!e!hJU!h!i!(`!i!}JU!}#R%T#R#SJU#S#T%T#T#UJU#U#VLx#V#YJU#Y#Z!(`#Z#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUo!.}a&n`&YS%uZOr%Trs)Ysw%Twx.Ux!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUk!0ZT!XZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc!0qT!WR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj!1XV%kQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T~!1sO!]~k!1zV%jR&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T~!2fO![~i!2mT%tX&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T",tokenizers:[gw,Ow,uw,Qw,0,1,2,3,4],topRules:{Script:[0,5]},specialized:[{term:221,get:i=>yw[i]||-1}],tokenPrec:7668});var qm=new fi,zm=new Set(["Script","Body","FunctionDefinition","ClassDefinition","LambdaExpression","ForStatement","MatchClause"]);function uo(i){return(e,t,n)=>{if(n)return!1;let r=e.node.getChild("VariableName");return r&&t(r,i),!0}}var kw={FunctionDefinition:uo("function"),ClassDefinition:uo("class"),ForStatement(i,e,t){if(t){for(let n=i.node.firstChild;n;n=n.nextSibling)if(n.name=="VariableName")e(n,"variable");else if(n.name=="in")break}},ImportStatement(i,e){var t,n;let{node:r}=i,s=((t=r.firstChild)===null||t===void 0?void 0:t.name)=="from";for(let o=r.getChild("import");o;o=o.nextSibling)o.name=="VariableName"&&((n=o.nextSibling)===null||n===void 0?void 0:n.name)!="as"&&e(o,s?"variable":"namespace")},AssignStatement(i,e){for(let t=i.node.firstChild;t;t=t.nextSibling)if(t.name=="VariableName")e(t,"variable");else if(t.name==":"||t.name=="AssignOp")break},ParamList(i,e){for(let t=null,n=i.node.firstChild;n;n=n.nextSibling)n.name=="VariableName"&&(!t||!/\*|AssignOp/.test(t.name))&&e(n,"variable"),t=n},CapturePattern:uo("variable"),AsPattern:uo("variable"),__proto__:null};function Lm(i,e){let t=qm.get(e);if(t)return t;let n=[],r=!0;function s(o,a){let l=i.sliceString(o.from,o.to);n.push({label:l,type:a})}return e.cursor(ee.IncludeAnonymous).iterate(o=>{if(o.name){let a=kw[o.name];if(a&&a(o,s,r)||!r&&zm.has(o.name))return!1;r=!1}else if(o.to-o.from>8192){for(let a of Lm(i,o.node))n.push(a);return!1}}),qm.set(e,n),n}var Em=/^[\w\xa1-\uffff][\w\d\xa1-\uffff]*$/,Mm=["String","FormatString","Comment","PropertyName"];function xw(i){let e=B(i.state).resolveInner(i.pos,-1);if(Mm.indexOf(e.name)>-1)return null;let t=e.name=="VariableName"||e.to-e.from<20&&Em.test(i.state.sliceDoc(e.from,e.to));if(!t&&!i.explicit)return null;let n=[];for(let r=e;r;r=r.parent)zm.has(r.name)&&(n=n.concat(Lm(i.state.doc,r)));return{options:n,from:t?e.from:i.pos,validFor:Em}}var ww=["__annotations__","__builtins__","__debug__","__doc__","__import__","__name__","__loader__","__package__","__spec__","False","None","True"].map(i=>({label:i,type:"constant"})).concat(["ArithmeticError","AssertionError","AttributeError","BaseException","BlockingIOError","BrokenPipeError","BufferError","BytesWarning","ChildProcessError","ConnectionAbortedError","ConnectionError","ConnectionRefusedError","ConnectionResetError","DeprecationWarning","EOFError","Ellipsis","EncodingWarning","EnvironmentError","Exception","FileExistsError","FileNotFoundError","FloatingPointError","FutureWarning","GeneratorExit","IOError","ImportError","ImportWarning","IndentationError","IndexError","InterruptedError","IsADirectoryError","KeyError","KeyboardInterrupt","LookupError","MemoryError","ModuleNotFoundError","NameError","NotADirectoryError","NotImplemented","NotImplementedError","OSError","OverflowError","PendingDeprecationWarning","PermissionError","ProcessLookupError","RecursionError","ReferenceError","ResourceWarning","RuntimeError","RuntimeWarning","StopAsyncIteration","StopIteration","SyntaxError","SyntaxWarning","SystemError","SystemExit","TabError","TimeoutError","TypeError","UnboundLocalError","UnicodeDecodeError","UnicodeEncodeError","UnicodeError","UnicodeTranslateError","UnicodeWarning","UserWarning","ValueError","Warning","ZeroDivisionError"].map(i=>({label:i,type:"type"}))).concat(["bool","bytearray","bytes","classmethod","complex","float","frozenset","int","list","map","memoryview","object","range","set","staticmethod","str","super","tuple","type"].map(i=>({label:i,type:"class"}))).concat(["abs","aiter","all","anext","any","ascii","bin","breakpoint","callable","chr","compile","delattr","dict","dir","divmod","enumerate","eval","exec","exit","filter","format","getattr","globals","hasattr","hash","help","hex","id","input","isinstance","issubclass","iter","len","license","locals","max","min","next","oct","open","ord","pow","print","property","quit","repr","reversed","round","setattr","slice","sorted","sum","vars","zip"].map(i=>({label:i,type:"function"}))),Pw=[ce("def ${name}(${params}):\n ${}",{label:"def",detail:"function",type:"keyword"}),ce("for ${name} in ${collection}:\n ${}",{label:"for",detail:"loop",type:"keyword"}),ce("while ${}:\n ${}",{label:"while",detail:"loop",type:"keyword"}),ce("try:\n ${}\nexcept ${error}:\n ${}",{label:"try",detail:"/ except block",type:"keyword"}),ce(`if \${}: +}`,{label:"class",detail:"definition",type:"keyword"}),ce('import {${names}} from "${module}"\n${}',{label:"import",detail:"named",type:"keyword"}),ce('import ${name} from "${module}"\n${}',{label:"import",detail:"default",type:"keyword"})],l1=Lp.concat([ce("interface ${name} {\n ${}\n}",{label:"interface",detail:"definition",type:"keyword"}),ce("type ${name} = ${type}",{label:"type",detail:"definition",type:"keyword"}),ce("enum ${name} {\n ${}\n}",{label:"enum",detail:"definition",type:"keyword"})]),qp=new fi,Mp=new Set(["Script","Block","FunctionExpression","FunctionDeclaration","ArrowFunction","MethodDeclaration","ForStatement"]);function vr(i){return(e,t)=>{let n=e.node.getChild("VariableDefinition");return n&&t(n,i),!0}}var c1=["FunctionDeclaration"],h1={FunctionDeclaration:vr("function"),ClassDeclaration:vr("class"),ClassExpression:()=>!0,EnumDeclaration:vr("constant"),TypeAliasDeclaration:vr("type"),NamespaceDeclaration:vr("namespace"),VariableDefinition(i,e){i.matchContext(c1)||e(i,"variable")},TypeDefinition(i,e){e(i,"type")},__proto__:null};function Wp(i,e){let t=qp.get(e);if(t)return t;let n=[],r=!0;function s(o,a){let l=i.sliceString(o.from,o.to);n.push({label:l,type:a})}return e.cursor(ee.IncludeAnonymous).iterate(o=>{if(r)r=!1;else if(o.name){let a=h1[o.name];if(a&&a(o,s)||Mp.has(o.name))return!1}else if(o.to-o.from>8192){for(let a of Wp(i,o.node))n.push(a);return!1}}),qp.set(e,n),n}var Ep=/^[\w$\xa1-\uffff][\w$\d\xa1-\uffff]*$/,jp=["TemplateString","String","RegExp","LineComment","BlockComment","VariableDefinition","TypeDefinition","Label","PropertyDefinition","PropertyName","PrivatePropertyDefinition","PrivatePropertyName","JSXText","JSXAttributeValue","JSXOpenTag","JSXCloseTag","JSXSelfClosingTag",".","?."];function f1(i){let e=B(i.state).resolveInner(i.pos,-1);if(jp.indexOf(e.name)>-1)return null;let t=e.name=="VariableName"||e.to-e.from<20&&Ep.test(i.state.sliceDoc(e.from,e.to));if(!t&&!i.explicit)return null;let n=[];for(let r=e;r;r=r.parent)Mp.has(r.name)&&(n=n.concat(Wp(i.state.doc,r)));return{options:n,from:t?e.from:i.pos,validFor:Ep}}var wt=Te.define({name:"javascript",parser:Zp.configure({props:[Pe.add({IfStatement:Yt({except:/^\s*({|else\b)/}),TryStatement:Yt({except:/^\s*({|catch\b|finally\b)/}),LabeledStatement:oO,SwitchBody:i=>{let e=i.textAfter,t=/^\s*\}/.test(e),n=/^\s*(case|default)\b/.test(e);return i.baseIndent+(t?0:n?1:2)*i.unit},Block:St({closing:"}"}),ArrowFunction:i=>i.baseIndent+i.unit,"TemplateString BlockComment":()=>null,"Statement Property":Yt({except:/^\s*{/}),JSXElement(i){let e=/^\s*<\//.test(i.textAfter);return i.lineIndent(i.node.from)+(e?0:i.unit)},JSXEscape(i){let e=/\s*\}/.test(i.textAfter);return i.lineIndent(i.node.from)+(e?0:i.unit)},"JSXOpenTag JSXSelfClosingTag"(i){return i.column(i.node.from)+i.unit}}),Ce.add({"Block ClassBody SwitchBody EnumBody ObjectExpression ArrayExpression ObjectType":ct,BlockComment(i){return{from:i.from+2,to:i.to-2}},JSXElement(i){let e=i.firstChild;if(!e||e.name=="JSXSelfClosingTag")return null;let t=i.lastChild;return{from:e.to,to:t.type.isError?i.to:t.from}},"JSXSelfClosingTag JSXOpenTag"(i){var e;let t=(e=i.firstChild)===null||e===void 0?void 0:e.nextSibling,n=i.lastChild;return!t||t.type.isError?null:{from:t.to,to:n.type.isError?i.to:n.from}}})]}),languageData:{closeBrackets:{brackets:["(","[","{","'",'"',"`"]},commentTokens:{line:"//",block:{open:"/*",close:"*/"}},indentOnInput:/^\s*(?:case |default:|\{|\}|<\/)$/,wordChars:"$"}}),Vp={test:i=>/^JSX/.test(i.name),facet:kn({commentTokens:{block:{open:"{/*",close:"*/}"}}})},_c=wt.configure({dialect:"ts"},"typescript"),Rc=wt.configure({dialect:"jsx",props:[Es.add(i=>i.isTop?[Vp]:void 0)]}),Ac=wt.configure({dialect:"jsx ts",props:[Es.add(i=>i.isTop?[Vp]:void 0)]},"typescript"),Dp=i=>({label:i,type:"keyword"}),Yp="break case const continue default delete export extends false finally in instanceof let new return static super switch this throw true typeof var yield".split(" ").map(Dp),u1=Yp.concat(["declare","implements","private","protected","public"].map(Dp));function so(i={}){let e=i.jsx?i.typescript?Ac:Rc:i.typescript?_c:wt,t=i.typescript?l1.concat(u1):Lp.concat(Yp);return new pe(e,[wt.data.of({autocomplete:Bs(jp,Is(t))}),wt.data.of({autocomplete:f1}),i.jsx?p1:[]])}function O1(i){for(;;){if(i.name=="JSXOpenTag"||i.name=="JSXSelfClosingTag"||i.name=="JSXFragmentTag")return i;if(i.name=="JSXEscape"||!i.parent)return null;i=i.parent}}function zp(i,e,t=i.length){for(let n=e?.firstChild;n;n=n.nextSibling)if(n.name=="JSXIdentifier"||n.name=="JSXBuiltin"||n.name=="JSXNamespacedName"||n.name=="JSXMemberExpression")return i.sliceString(n.from,Math.min(n.to,t));return""}var d1=typeof navigator=="object"&&/Android\b/.test(navigator.userAgent),p1=E.inputHandler.of((i,e,t,n,r)=>{if((d1?i.composing:i.compositionStarted)||i.state.readOnly||e!=t||n!=">"&&n!="/"||!wt.isActiveAt(i.state,e,-1))return!1;let s=r(),{state:o}=s,a=o.changeByRange(l=>{var c;let{head:h}=l,f=B(o).resolveInner(h-1,-1),u;if(f.name=="JSXStartTag"&&(f=f.parent),!(o.doc.sliceString(h-1,h)!=n||f.name=="JSXAttributeValue"&&f.to>h)){if(n==">"&&f.name=="JSXFragmentTag")return{range:l,changes:{from:h,insert:""}};if(n=="/"&&f.name=="JSXStartCloseTag"){let O=f.parent,p=O.parent;if(p&&O.from==h-2&&((u=zp(o.doc,p.firstChild,h))||((c=p.firstChild)===null||c===void 0?void 0:c.name)=="JSXFragmentTag")){let m=`${u}>`;return{range:v.cursor(h+m.length,-1),changes:{from:h,insert:m}}}}else if(n==">"){let O=O1(f);if(O&&O.name=="JSXOpenTag"&&!/^\/?>|^<\//.test(o.doc.sliceString(h,h+2))&&(u=zp(o.doc,O,h)))return{range:l,changes:{from:h,insert:``}}}}return{range:l}});return a.changes.empty?!1:(i.dispatch([s,o.update(a,{userEvent:"input.complete",scrollIntoView:!0})]),!0)});var $r=["_blank","_self","_top","_parent"],Zc=["ascii","utf-8","utf-16","latin1","latin1"],qc=["get","post","put","delete"],Ec=["application/x-www-form-urlencoded","multipart/form-data","text/plain"],et=["true","false"],D={},m1={a:{attrs:{href:null,ping:null,type:null,media:null,target:$r,hreflang:null}},abbr:D,address:D,area:{attrs:{alt:null,coords:null,href:null,target:null,ping:null,media:null,hreflang:null,type:null,shape:["default","rect","circle","poly"]}},article:D,aside:D,audio:{attrs:{src:null,mediagroup:null,crossorigin:["anonymous","use-credentials"],preload:["none","metadata","auto"],autoplay:["autoplay"],loop:["loop"],controls:["controls"]}},b:D,base:{attrs:{href:null,target:$r}},bdi:D,bdo:D,blockquote:{attrs:{cite:null}},body:D,br:D,button:{attrs:{form:null,formaction:null,name:null,value:null,autofocus:["autofocus"],disabled:["autofocus"],formenctype:Ec,formmethod:qc,formnovalidate:["novalidate"],formtarget:$r,type:["submit","reset","button"]}},canvas:{attrs:{width:null,height:null}},caption:D,center:D,cite:D,code:D,col:{attrs:{span:null}},colgroup:{attrs:{span:null}},command:{attrs:{type:["command","checkbox","radio"],label:null,icon:null,radiogroup:null,command:null,title:null,disabled:["disabled"],checked:["checked"]}},data:{attrs:{value:null}},datagrid:{attrs:{disabled:["disabled"],multiple:["multiple"]}},datalist:{attrs:{data:null}},dd:D,del:{attrs:{cite:null,datetime:null}},details:{attrs:{open:["open"]}},dfn:D,div:D,dl:D,dt:D,em:D,embed:{attrs:{src:null,type:null,width:null,height:null}},eventsource:{attrs:{src:null}},fieldset:{attrs:{disabled:["disabled"],form:null,name:null}},figcaption:D,figure:D,footer:D,form:{attrs:{action:null,name:null,"accept-charset":Zc,autocomplete:["on","off"],enctype:Ec,method:qc,novalidate:["novalidate"],target:$r}},h1:D,h2:D,h3:D,h4:D,h5:D,h6:D,head:{children:["title","base","link","style","meta","script","noscript","command"]},header:D,hgroup:D,hr:D,html:{attrs:{manifest:null}},i:D,iframe:{attrs:{src:null,srcdoc:null,name:null,width:null,height:null,sandbox:["allow-top-navigation","allow-same-origin","allow-forms","allow-scripts"],seamless:["seamless"]}},img:{attrs:{alt:null,src:null,ismap:null,usemap:null,width:null,height:null,crossorigin:["anonymous","use-credentials"]}},input:{attrs:{alt:null,dirname:null,form:null,formaction:null,height:null,list:null,max:null,maxlength:null,min:null,name:null,pattern:null,placeholder:null,size:null,src:null,step:null,value:null,width:null,accept:["audio/*","video/*","image/*"],autocomplete:["on","off"],autofocus:["autofocus"],checked:["checked"],disabled:["disabled"],formenctype:Ec,formmethod:qc,formnovalidate:["novalidate"],formtarget:$r,multiple:["multiple"],readonly:["readonly"],required:["required"],type:["hidden","text","search","tel","url","email","password","datetime","date","month","week","time","datetime-local","number","range","color","checkbox","radio","file","submit","image","reset","button"]}},ins:{attrs:{cite:null,datetime:null}},kbd:D,keygen:{attrs:{challenge:null,form:null,name:null,autofocus:["autofocus"],disabled:["disabled"],keytype:["RSA"]}},label:{attrs:{for:null,form:null}},legend:D,li:{attrs:{value:null}},link:{attrs:{href:null,type:null,hreflang:null,media:null,sizes:["all","16x16","16x16 32x32","16x16 32x32 64x64"]}},map:{attrs:{name:null}},mark:D,menu:{attrs:{label:null,type:["list","context","toolbar"]}},meta:{attrs:{content:null,charset:Zc,name:["viewport","application-name","author","description","generator","keywords"],"http-equiv":["content-language","content-type","default-style","refresh"]}},meter:{attrs:{value:null,min:null,low:null,high:null,max:null,optimum:null}},nav:D,noscript:D,object:{attrs:{data:null,type:null,name:null,usemap:null,form:null,width:null,height:null,typemustmatch:["typemustmatch"]}},ol:{attrs:{reversed:["reversed"],start:null,type:["1","a","A","i","I"]},children:["li","script","template","ul","ol"]},optgroup:{attrs:{disabled:["disabled"],label:null}},option:{attrs:{disabled:["disabled"],label:null,selected:["selected"],value:null}},output:{attrs:{for:null,form:null,name:null}},p:D,param:{attrs:{name:null,value:null}},pre:D,progress:{attrs:{value:null,max:null}},q:{attrs:{cite:null}},rp:D,rt:D,ruby:D,samp:D,script:{attrs:{type:["text/javascript"],src:null,async:["async"],defer:["defer"],charset:Zc}},section:D,select:{attrs:{form:null,name:null,size:null,autofocus:["autofocus"],disabled:["disabled"],multiple:["multiple"]}},slot:{attrs:{name:null}},small:D,source:{attrs:{src:null,type:null,media:null}},span:D,strong:D,style:{attrs:{type:["text/css"],media:null,scoped:null}},sub:D,summary:D,sup:D,table:D,tbody:D,td:{attrs:{colspan:null,rowspan:null,headers:null}},template:D,textarea:{attrs:{dirname:null,form:null,maxlength:null,name:null,placeholder:null,rows:null,cols:null,autofocus:["autofocus"],disabled:["disabled"],readonly:["readonly"],required:["required"],wrap:["soft","hard"]}},tfoot:D,th:{attrs:{colspan:null,rowspan:null,headers:null,scope:["row","col","rowgroup","colgroup"]}},thead:D,time:{attrs:{datetime:null}},title:D,tr:D,track:{attrs:{src:null,label:null,default:null,kind:["subtitles","captions","descriptions","chapters","metadata"],srclang:null}},ul:{children:["li","script","template","ul","ol"]},var:D,video:{attrs:{src:null,poster:null,width:null,height:null,crossorigin:["anonymous","use-credentials"],preload:["auto","metadata","none"],autoplay:["autoplay"],mediagroup:["movie"],muted:["muted"],controls:["controls"]}},wbr:D},Gp={accesskey:null,class:null,contenteditable:et,contextmenu:null,dir:["ltr","rtl","auto"],draggable:["true","false","auto"],dropzone:["copy","move","link","string:","file:"],hidden:["hidden"],id:null,inert:["inert"],itemid:null,itemprop:null,itemref:null,itemscope:["itemscope"],itemtype:null,lang:["ar","bn","de","en-GB","en-US","es","fr","hi","id","ja","pa","pt","ru","tr","zh"],spellcheck:et,autocorrect:et,autocapitalize:et,style:null,tabindex:null,title:null,translate:["yes","no"],rel:["stylesheet","alternate","author","bookmark","help","license","next","nofollow","noreferrer","prefetch","prev","search","tag"],role:"alert application article banner button cell checkbox complementary contentinfo dialog document feed figure form grid gridcell heading img list listbox listitem main navigation region row rowgroup search switch tab table tabpanel textbox timer".split(" "),"aria-activedescendant":null,"aria-atomic":et,"aria-autocomplete":["inline","list","both","none"],"aria-busy":et,"aria-checked":["true","false","mixed","undefined"],"aria-controls":null,"aria-describedby":null,"aria-disabled":et,"aria-dropeffect":null,"aria-expanded":["true","false","undefined"],"aria-flowto":null,"aria-grabbed":["true","false","undefined"],"aria-haspopup":et,"aria-hidden":et,"aria-invalid":["true","false","grammar","spelling"],"aria-label":null,"aria-labelledby":null,"aria-level":null,"aria-live":["off","polite","assertive"],"aria-multiline":et,"aria-multiselectable":et,"aria-owns":null,"aria-posinset":null,"aria-pressed":["true","false","mixed","undefined"],"aria-readonly":et,"aria-relevant":null,"aria-required":et,"aria-selected":["true","false","undefined"],"aria-setsize":null,"aria-sort":["ascending","descending","none","other"],"aria-valuemax":null,"aria-valuemin":null,"aria-valuenow":null,"aria-valuetext":null},Np="beforeunload copy cut dragstart dragover dragleave dragenter dragend drag paste focus blur change click load mousedown mouseenter mouseleave mouseup keydown keyup resize scroll unload".split(" ").map(i=>"on"+i);for(let i of Np)Gp[i]=null;var Bi=class{constructor(e,t){this.tags={...m1,...e},this.globalAttrs={...Gp,...t},this.allTags=Object.keys(this.tags),this.globalAttrNames=Object.keys(this.globalAttrs)}};Bi.default=new Bi;function $n(i,e,t=i.length){if(!e)return"";let n=e.firstChild,r=n&&n.getChild("TagName");return r?i.sliceString(r.from,Math.min(r.to,t)):""}function Tn(i,e=!1){for(;i;i=i.parent)if(i.name=="Element")if(e)e=!1;else return i;return null}function Fp(i,e,t){let n=t.tags[$n(i,Tn(e))];return n?.children||t.allTags}function zc(i,e){let t=[];for(let n=Tn(e);n&&!n.type.isTop;n=Tn(n.parent)){let r=$n(i,n);if(r&&n.lastChild.name=="CloseTag")break;r&&t.indexOf(r)<0&&(e.name=="EndTag"||e.from>=n.firstChild.to)&&t.push(r)}return t}var Hp=/^[:\-\.\w\u00b7-\uffff]*$/;function Ip(i,e,t,n,r){let s=/\s*>/.test(i.sliceDoc(r,r+5))?"":">",o=Tn(t,t.name=="StartTag"||t.name=="TagName");return{from:n,to:r,options:Fp(i.doc,o,e).map(a=>({label:a,type:"type"})).concat(zc(i.doc,t).map((a,l)=>({label:"/"+a,apply:"/"+a+s,type:"type",boost:99-l}))),validFor:/^\/?[:\-\.\w\u00b7-\uffff]*$/}}function Bp(i,e,t,n){let r=/\s*>/.test(i.sliceDoc(n,n+5))?"":">";return{from:t,to:n,options:zc(i.doc,e).map((s,o)=>({label:s,apply:s+r,type:"type",boost:99-o})),validFor:Hp}}function g1(i,e,t,n){let r=[],s=0;for(let o of Fp(i.doc,t,e))r.push({label:"<"+o,type:"type"});for(let o of zc(i.doc,t))r.push({label:"",type:"type",boost:99-s++});return{from:n,to:n,options:r,validFor:/^<\/?[:\-\.\w\u00b7-\uffff]*$/}}function Q1(i,e,t,n,r){let s=Tn(t),o=s?e.tags[$n(i.doc,s)]:null,a=o&&o.attrs?Object.keys(o.attrs):[],l=o&&o.globalAttrs===!1?a:a.length?a.concat(e.globalAttrNames):e.globalAttrNames;return{from:n,to:r,options:l.map(c=>({label:c,type:"property"})),validFor:Hp}}function b1(i,e,t,n,r){var s;let o=(s=t.parent)===null||s===void 0?void 0:s.getChild("AttributeName"),a=[],l;if(o){let c=i.sliceDoc(o.from,o.to),h=e.globalAttrs[c];if(!h){let f=Tn(t),u=f?e.tags[$n(i.doc,f)]:null;h=u?.attrs&&u.attrs[c]}if(h){let f=i.sliceDoc(n,r).toLowerCase(),u='"',O='"';/^['"]/.test(f)?(l=f[0]=='"'?/^[^"]*$/:/^[^']*$/,u="",O=i.sliceDoc(r,r+1)==f[0]?"":f[0],f=f.slice(1),n++):l=/^[^\s<>='"]*$/;for(let p of h)a.push({label:p,apply:u+p+O,type:"constant"})}}return{from:n,to:r,options:a,validFor:l}}function Kp(i,e){let{state:t,pos:n}=e,r=B(t).resolveInner(n,-1),s=r.resolve(n);for(let o=n,a;s==r&&(a=r.childBefore(o));){let l=a.lastChild;if(!l||!l.type.isError||l.fromKp(n,r)}var y1=wt.parser.configure({top:"SingleExpression"}),em=[{tag:"script",attrs:i=>i.type=="text/typescript"||i.lang=="ts",parser:_c.parser},{tag:"script",attrs:i=>i.type=="text/babel"||i.type=="text/jsx",parser:Rc.parser},{tag:"script",attrs:i=>i.type=="text/typescript-jsx",parser:Ac.parser},{tag:"script",attrs(i){return/^(importmap|speculationrules|application\/(.+\+)?json)$/i.test(i.type)},parser:y1},{tag:"script",attrs(i){return!i.type||/^(?:text|application)\/(?:x-)?(?:java|ecma)script$|^module$|^$/i.test(i.type)},parser:wt.parser},{tag:"style",attrs(i){return(!i.lang||i.lang=="css")&&(!i.type||/^(text\/)?(x-)?(stylesheet|css)$/i.test(i.type))},parser:Pr.parser}],tm=[{name:"style",parser:Pr.parser.configure({top:"Styles"})}].concat(Np.map(i=>({name:i,parser:wt.parser}))),im=Te.define({name:"html",parser:bp.configure({props:[Pe.add({Element(i){let e=/^(\s*)(<\/)?/.exec(i.textAfter);return i.node.to<=i.pos+e[0].length?i.continue():i.lineIndent(i.node.from)+(e[2]?0:i.unit)},"OpenTag CloseTag SelfClosingTag"(i){return i.column(i.node.from)+i.unit},Document(i){if(i.pos+/\s*/.exec(i.textAfter)[0].lengthi.getChild("TagName")})]}),languageData:{commentTokens:{block:{open:""}},indentOnInput:/^\s*<\/\w+\W$/,wordChars:"-_"}}),oo=im.configure({wrap:wc(em,tm)});function ao(i={}){let e="",t;i.matchClosingTags===!1&&(e="noMatch"),i.selfClosingTags===!0&&(e=(e?e+" ":"")+"selfClosing"),(i.nestedLanguages&&i.nestedLanguages.length||i.nestedAttributes&&i.nestedAttributes.length)&&(t=wc((i.nestedLanguages||[]).concat(em),(i.nestedAttributes||[]).concat(tm)));let n=t?im.configure({wrap:t,dialect:e}):e?oo.configure({dialect:e}):oo;return new pe(n,[oo.data.of({autocomplete:S1(i)}),i.autoCloseTags!==!1?k1:[],so().support,ro().support])}var Up=new Set("area base br col command embed frame hr img input keygen link meta param source track wbr menuitem".split(" ")),k1=E.inputHandler.of((i,e,t,n,r)=>{if(i.composing||i.state.readOnly||e!=t||n!=">"&&n!="/"||!oo.isActiveAt(i.state,e,-1))return!1;let s=r(),{state:o}=s,a=o.changeByRange(l=>{var c,h,f;let u=o.doc.sliceString(l.from-1,l.to)==n,{head:O}=l,p=B(o).resolveInner(O,-1),m;if(u&&n==">"&&p.name=="EndTag"){let b=p.parent;if(((h=(c=b.parent)===null||c===void 0?void 0:c.lastChild)===null||h===void 0?void 0:h.name)!="CloseTag"&&(m=$n(o.doc,b.parent,O))&&!Up.has(m)){let g=O+(o.doc.sliceString(O,O+1)===">"?1:0),Q=``;return{range:l,changes:{from:O,to:g,insert:Q}}}}else if(u&&n=="/"&&p.name=="IncompleteCloseTag"){let b=p.parent;if(p.from==O-2&&((f=b.lastChild)===null||f===void 0?void 0:f.name)!="CloseTag"&&(m=$n(o.doc,b,O))&&!Up.has(m)){let g=O+(o.doc.sliceString(O,O+1)===">"?1:0),Q=`${m}>`;return{range:v.cursor(O+Q.length,-1),changes:{from:O,to:g,insert:Q}}}}return{range:l}});return a.changes.empty?!1:(i.dispatch([s,o.update(a,{userEvent:"input.complete",scrollIntoView:!0})]),!0)});var sm=kn({commentTokens:{block:{open:""}}}),om=new I,am=Dd.configure({props:[Ce.add(i=>!i.is("Block")||i.is("Document")||Wc(i)!=null||x1(i)?void 0:(e,t)=>({from:t.doc.lineAt(e.from).to,to:e.to})),om.add(Wc),Pe.add({Document:()=>null}),bt.add({Document:sm})]});function Wc(i){let e=/^(?:ATX|Setext)Heading(\d)$/.exec(i.name);return e?+e[1]:void 0}function x1(i){return i.name=="OrderedList"||i.name=="BulletList"}function w1(i,e){let t=i;for(;;){let n=t.nextSibling,r;if(!n||(r=Wc(n.type))!=null&&r<=e)break;t=n}return t.to}var P1=aO.of((i,e,t)=>{for(let n=B(i).resolveInner(t,-1);n&&!(n.fromt)return{from:t,to:s}}return null});function jc(i){return new we(sm,i,[],"markdown")}var v1=jc(am),$1=am.configure([Bd,Nd,Gd,Fd,{props:[Ce.add({Table:(i,e)=>({from:e.doc.lineAt(i.from).to,to:i.to})})]}]),bi=jc($1);function T1(i,e){return t=>{if(t&&i){let n=null;if(t=/\S*/.exec(t)[0],typeof i=="function"?n=i(t):n=Be.matchLanguageName(i,t,!0),n instanceof Be)return n.support?n.support.language.parser:Mi.getSkippingParser(n.load());if(n)return n.parser}return e?e.parser:null}}var Tr=class{constructor(e,t,n,r,s,o,a){this.node=e,this.from=t,this.to=n,this.spaceBefore=r,this.spaceAfter=s,this.type=o,this.item=a}blank(e,t=!0){let n=this.spaceBefore+(this.node.name=="Blockquote"?">":"");if(e!=null){for(;n.length0;r--)n+=" ";return n+(t?this.spaceAfter:"")}}marker(e,t){let n=this.node.name=="OrderedList"?String(+cm(this.item,e)[2]+t):"";return this.spaceBefore+n+this.type+this.spaceAfter}};function lm(i,e){let t=[],n=[];for(let r=i;r;r=r.parent){if(r.name=="FencedCode")return n;(r.name=="ListItem"||r.name=="Blockquote")&&t.push(r)}for(let r=t.length-1;r>=0;r--){let s=t[r],o,a=e.lineAt(s.from),l=s.from-a.from;if(s.name=="Blockquote"&&(o=/^ *>( ?)/.exec(a.text.slice(l))))n.push(new Tr(s,l,l+o[0].length,"",o[1],">",null));else if(s.name=="ListItem"&&s.parent.name=="OrderedList"&&(o=/^( *)\d+([.)])( *)/.exec(a.text.slice(l)))){let c=o[3],h=o[0].length;c.length>=4&&(c=c.slice(0,c.length-4),h-=4),n.push(new Tr(s.parent,l,l+h,o[1],c,o[2],s))}else if(s.name=="ListItem"&&s.parent.name=="BulletList"&&(o=/^( *)([-+*])( {1,4}\[[ xX]\])?( +)/.exec(a.text.slice(l)))){let c=o[4],h=o[0].length;c.length>4&&(c=c.slice(0,c.length-4),h-=4);let f=o[2];o[3]&&(f+=o[3].replace(/[xX]/," ")),n.push(new Tr(s.parent,l,l+h,o[1],c,f,s))}}return n}function cm(i,e){return/^(\s*)(\d+)(?=[.)])/.exec(e.sliceString(i.from,i.from+10))}function Lc(i,e,t,n=0){for(let r=-1,s=i;;){if(s.name=="ListItem"){let a=cm(s,e),l=+a[2];if(r>=0){if(l!=r+1)return;t.push({from:s.from+a[1].length,to:s.from+a[0].length,insert:String(r+2+n)})}r=l}let o=s.nextSibling;if(!o)break;s=o}}function Vc(i,e){let t=/^[ \t]*/.exec(i)[0].length;if(!t||e.facet(Rt)!=" ")return i;let n=Fe(i,4,t),r="";for(let s=n;s>0;)s>=4?(r+=" ",s-=4):(r+=" ",s--);return r+i.slice(t)}var C1=(i={})=>({state:e,dispatch:t})=>{let n=B(e),{doc:r}=e,s=null,o=e.changeByRange(a=>{if(!a.empty||!bi.isActiveAt(e,a.from,-1)&&!bi.isActiveAt(e,a.from,1))return s={range:a};let l=a.from,c=r.lineAt(l),h=lm(n.resolveInner(l,-1),r);for(;h.length&&h[h.length-1].from>l-c.from;)h.pop();if(!h.length)return s={range:a};let f=h[h.length-1];if(f.to-f.spaceAfter.length>l-c.from)return s={range:a};let u=l>=f.to-f.spaceAfter.length&&!/\S/.test(c.text.slice(f.to));if(f.item&&u){let g=f.node.firstChild,Q=f.node.getChild("ListItem","ListItem");if(g.to>=l||Q&&Q.to0&&!/[^\s>]/.test(r.lineAt(c.from-1).text)||i.nonTightLists===!1){let S=h.length>1?h[h.length-2]:null,x,P="";S&&S.item?(x=c.from+S.from,P=S.marker(r,1)):x=c.from+(S?S.to:0);let $=[{from:x,to:l,insert:P}];return f.node.name=="OrderedList"&&Lc(f.item,r,$,-2),S&&S.node.name=="OrderedList"&&Lc(S.item,r,$),{range:v.cursor(x+P.length),changes:$}}else{let S=rm(h,e,c);return{range:v.cursor(l+S.length+1),changes:{from:c.from,insert:S+e.lineBreak}}}}if(f.node.name=="Blockquote"&&u&&c.from){let g=r.lineAt(c.from-1),Q=/>\s*$/.exec(g.text);if(Q&&Q.index==f.from){let S=e.changes([{from:g.from+Q.index,to:g.to},{from:c.from+f.from,to:c.to}]);return{range:a.map(S),changes:S}}}let O=[];f.node.name=="OrderedList"&&Lc(f.item,r,O);let p=f.item&&f.item.from]*/.exec(c.text)[0].length>=f.to)for(let g=0,Q=h.length-1;g<=Q;g++)m+=g==Q&&!p?h[g].marker(r,1):h[g].blank(gc.from&&/\s/.test(c.text.charAt(b-c.from-1));)b--;return m=Vc(m,e),_1(f.node,e.doc)&&(m=rm(h,e,c)+e.lineBreak+m),O.push({from:b,to:l,insert:e.lineBreak+m}),{range:v.cursor(b+m.length+1),changes:O}});return s?!1:(t(e.update(o,{scrollIntoView:!0,userEvent:"input"})),!0)},X1=C1();function nm(i){return i.name=="QuoteMark"||i.name=="ListMark"}function _1(i,e){if(i.name!="OrderedList"&&i.name!="BulletList")return!1;let t=i.firstChild,n=i.getChild("ListItem","ListItem");if(!n)return!1;let r=e.lineAt(t.to),s=e.lineAt(n.from),o=/^[\s>]*$/.test(r.text);return r.number+(o?0:1){let t=B(i),n=null,r=i.changeByRange(s=>{let o=s.from,{doc:a}=i;if(s.empty&&bi.isActiveAt(i,s.from)){let l=a.lineAt(o),c=lm(R1(t,o),a);if(c.length){let h=c[c.length-1],f=h.to-h.spaceAfter.length+(h.spaceAfter?1:0);if(o-l.from>f&&!/\S/.test(l.text.slice(f,o-l.from)))return{range:v.cursor(l.from+f),changes:{from:l.from+f,to:o}};if(o-l.from==f&&(!h.item||l.from<=h.item.from||!/\S/.test(l.text.slice(0,h.to)))){let u=l.from+h.from;if(h.item&&h.node.from{var t;let{main:n}=e.state.selection;if(n.empty)return!1;let r=(t=i.clipboardData)===null||t===void 0?void 0:t.getData("text/plain");if(!r||!/^(https?:\/\/|mailto:|xmpp:|www\.)/.test(r)||(/^www\./.test(r)&&(r="https://"+r),!bi.isActiveAt(e.state,n.from,1)))return!1;let s=B(e.state),o=!1;return s.iterate({from:n.from,to:n.to,enter:a=>{(a.from>n.from||E1.test(a.name))&&(o=!0)},leave:a=>{a.to{if(i.next==-1&&e.canShift(fm))return i.acceptToken(fm);let t=i.peek(-1);if((Gt(t)||t<0)&&e.context.type!=Xr){if(Xn(i,45))if(e.canShift(Cn))i.acceptToken(Cn);else return i.acceptToken(L1,3);if(Xn(i,46))if(e.canShift(Cn))i.acceptToken(Cn);else return i.acceptToken(M1,3);let n=0;for(;i.next==32;)n++,i.advance();(n{if(e.context.type==Xr){i.next==63&&(i.advance(),Ui(i.next)&&i.acceptToken(V1));return}if(i.next==45)i.advance(),Ui(i.next)&&i.acceptToken(e.context.type==Fc&&e.context.depth==Cr(i,i.pos-1)?W1:dm);else if(i.next==63)i.advance(),Ui(i.next)&&i.acceptToken(e.context.type==Bc&&e.context.depth==Cr(i,i.pos-1)?j1:pm);else{let t=i.pos;for(;;)if(Gc(i.next)){if(i.pos==t)return;i.advance()}else if(i.next==33)bm(i);else if(i.next==38)Nc(i);else if(i.next==42){Nc(i);break}else if(i.next==39||i.next==34){if(Hc(i,!0))break;return}else if(i.next==91||i.next==123){if(!ox(i))return;break}else{Sm(i,!0,!1,0);break}for(;Gc(i.next);)i.advance();if(i.next==58){if(i.pos==t&&e.canShift(H1))return;let n=i.peek(1);Ui(n)&&i.acceptTokenTo(e.context.type==Bc&&e.context.depth==Cr(i,t)?D1:mm,t)}}},{contextual:!0});function sx(i){return i>32&&i<127&&i!=34&&i!=37&&i!=44&&i!=60&&i!=62&&i!=92&&i!=94&&i!=96&&i!=123&&i!=124&&i!=125}function um(i){return i>=48&&i<=57||i>=97&&i<=102||i>=65&&i<=70}function Om(i,e){return i.next==37?(i.advance(),um(i.next)&&i.advance(),um(i.next)&&i.advance(),!0):sx(i.next)||e&&i.next==44?(i.advance(),!0):!1}function bm(i){if(i.advance(),i.next==60){for(i.advance();;)if(!Om(i,!0)){i.next==62&&i.advance();break}}else for(;Om(i,!1););}function Nc(i){for(i.advance();!Ui(i.next)&&lo(i.next)!="f";)i.advance()}function Hc(i,e){let t=i.next,n=!1,r=i.pos;for(i.advance();;){let s=i.next;if(s<0)break;if(i.advance(),s==t)if(s==39)if(i.next==39)i.advance();else break;else break;else if(s==92&&t==34)i.next>=0&&i.advance();else if(Gt(s)){if(e)return!1;n=!0}else if(e&&i.pos>=r+1024)return!1}return!n}function ox(i){for(let e=[],t=i.pos+1024;;)if(i.next==91||i.next==123)e.push(i.next),i.advance();else if(i.next==39||i.next==34){if(!Hc(i,!0))return!1}else if(i.next==93||i.next==125){if(e[e.length-1]!=i.next-2)return!1;if(e.pop(),i.advance(),!e.length)return!0}else{if(i.next<0||i.pos>t||Gt(i.next))return!1;i.advance()}}var ax="iiisiiissisfissssssssssssisssiiissssssssssssssssssssssssssfsfssissssssssssssssssssssssssssfif";function lo(i){return i<33?"u":i>125?"s":ax[i-33]}function Ic(i,e){let t=lo(i);return t!="u"&&!(e&&t=="f")}function Sm(i,e,t,n){if(lo(i.next)=="s"||(i.next==63||i.next==58||i.next==45)&&Ic(i.peek(1),t))i.advance();else return!1;let r=i.pos;for(;;){let s=i.next,o=0,a=n+1;for(;Qm(s);){if(Gt(s)){if(e)return!1;a=0}else a++;s=i.peek(++o)}if(!(s>=0&&(s==58?Ic(i.peek(o+1),t):s==35?i.peek(o-1)!=32:Ic(s,t)))||!t&&a<=n||a==0&&!t&&(Xn(i,45,o)||Xn(i,46,o)))break;if(e&&lo(s)=="f")return!1;for(let c=o;c>=0;c--)i.advance();if(e&&i.pos>r+1024)return!1}return!0}var lx=new K((i,e)=>{if(i.next==33)bm(i),i.acceptToken(G1);else if(i.next==38||i.next==42){let t=i.next==38?B1:U1;Nc(i),i.acceptToken(t)}else i.next==39||i.next==34?(Hc(i,!1),i.acceptToken(I1)):Sm(i,!1,e.context.type==Xr,e.context.depth)&&i.acceptToken(Y1)}),cx=new K((i,e)=>{let t=e.context.type==Uc?e.context.depth:-1,n=i.pos;e:for(;;){let r=0,s=i.next;for(;s==32;)s=i.peek(++r);if(!r&&(Xn(i,45,r)||Xn(i,46,r))||!Gt(s)&&(t<0&&(t=Math.max(e.context.depth+1,r)),rYAN>Y",stateData:";S~O!fOS!gOS^OS~OP_OQbORSOTUOWROXROYYOZZO[XOcPOqQO!PVO!V[O!cTO~O`cO~P]OVkOWROXROYeOZfO[dOcPOmhOqQO~OboO~P!bOVtOWROXROYeOZfO[dOcPOmrOqQO~OpwO~P#WORSOTUOWROXROYYOZZO[XOcPOqQO!PVO!cTO~OSvP!avP!bvP~P#|OWROXROYeOZfO[dOcPOqQO~OmzO~P%OOm!OOUzP!azP!bzP!dzP~P#|O^!SO!b!QO!f!TO!g!RO~ORSOTUOWROXROcPOqQO!PVO!cTO~OY!UOP!QXQ!QX!V!QX!`!QXS!QX!a!QX!b!QXU!QXm!QX!d!QX~P&aO[!WOP!SXQ!SX!V!SX!`!SXS!SX!a!SX!b!SXU!SXm!SX!d!SX~P&aO^!ZO!W![O!b!YO!f!]O!g!YO~OP!_O!V[OQaX!`aX~OPaXQaX!VaX!`aX~P#|OP!bOQ!cO!V[O~OP_O!V[O~P#|OWROXROY!fOcPOqQObfXmfXofXpfX~OWROXRO[!hOcPOqQObhXmhXohXphX~ObeXmlXoeX~ObkXokX~P%OOm!kO~Om!lObnPonP~P%OOb!pOo!oO~Ob!pO~P!bOm!sOosXpsX~OosXpsX~P%OOm!uOotPptP~P%OOo!xOp!yO~Op!yO~P#WOS!|O!a#OO!b#OO~OUyX!ayX!byX!dyX~P#|Om#QO~OU#SO!a#UO!b#UO!d#RO~Om#WOUzX!azX!bzX!dzX~O]#XO~O!b#XO!g#YO~O^#ZO!b#XO!g#YO~OP!RXQ!RX!V!RX!`!RXS!RX!a!RX!b!RXU!RXm!RX!d!RX~P&aOP!TXQ!TX!V!TX!`!TXS!TX!a!TX!b!TXU!TXm!TX!d!TX~P&aO!b#^O!g#^O~O^#_O!b#^O!f#`O!g#^O~O^#_O!W#aO!b#^O!g#^O~OPaaQaa!Vaa!`aa~P#|OP#cO!V[OQ!XX!`!XX~OP!XXQ!XX!V!XX!`!XX~P#|OP_O!V[OQ!_X!`!_X~P#|OWROXROcPOqQObgXmgXogXpgX~OWROXROcPOqQObiXmiXoiXpiX~Obkaoka~P%OObnXonX~P%OOm#kO~Ob#lOo!oO~Oosapsa~P%OOotXptX~P%OOm#pO~Oo!xOp#qO~OSwP!awP!bwP~P#|OS!|O!a#vO!b#vO~OUya!aya!bya!dya~P#|Om#xO~P%OOm#{OU}P!a}P!b}P!d}P~P#|OU#SO!a$OO!b$OO!d#RO~O]$QO~O!b$QO!g$RO~O!b$SO!g$SO~O^$TO!b$SO!g$SO~O^$TO!b$SO!f$UO!g$SO~OP!XaQ!Xa!V!Xa!`!Xa~P#|Obnaona~P%OOotapta~P%OOo!xO~OU|X!a|X!b|X!d|X~P#|Om$ZO~Om$]OU}X!a}X!b}X!d}X~O]$^O~O!b$_O!g$_O~O^$`O!b$_O!g$_O~OU|a!a|a!b|a!d|a~P#|O!b$cO!g$cO~O",goto:",]!mPPPPPPPPPPPPPPPPP!nPP!v#v#|$`#|$c$f$j$nP%VPPP!v%Y%^%a%{&O%a&R&U&X&_&b%aP&e&{&e'O'RPP']'a'g'm's'y(XPPPPPPPP(_)e*X+c,VUaObcR#e!c!{ROPQSTUXY_bcdehknrtvz!O!U!W!_!b!c!f!h!k!l!s!u!|#Q#R#S#W#c#k#p#x#{$Z$]QmPR!qnqfPQThknrtv!k!l!s!u#R#k#pR!gdR!ieTlPnTjPnSiPnSqQvQ{TQ!mkQ!trQ!vtR#y#RR!nkTsQvR!wt!RWOSUXY_bcz!O!U!W!_!b!c!|#Q#S#W#c#x#{$Z$]RySR#t!|R|TR|UQ!PUR#|#SR#z#RR#z#SyZOSU_bcz!O!_!b!c!|#Q#S#W#c#x#{$Z$]R!VXR!XYa]O^abc!a!c!eT!da!eQnPR!rnQvQR!{vQ!}yR#u!}Q#T|R#}#TW^Obc!cS!^^!aT!aa!eQ!eaR#f!eW`Obc!cQxSS}U#SQ!`_Q#PzQ#V!OQ#b!_Q#d!bQ#s!|Q#w#QQ$P#WQ$V#cQ$Y#xQ$[#{Q$a$ZR$b$]xZOSU_bcz!O!_!b!c!|#Q#S#W#c#x#{$Z$]Q!VXQ!XYQ#[!UR#]!W!QWOSUXY_bcz!O!U!W!_!b!c!|#Q#S#W#c#x#{$Z$]pfPQThknrtv!k!l!s!u#R#k#pQ!gdQ!ieQ#g!fR#h!hSgPn^pQTkrtv#RQ!jhQ#i!kQ#j!lQ#n!sQ#o!uQ$W#kR$X#pQuQR!zv",nodeNames:"\u26A0 DirectiveEnd DocEnd - - ? ? ? Literal QuotedLiteral Anchor Alias Tag BlockLiteralContent Comment Stream BOM Document ] [ FlowSequence Item Tagged Anchored Anchored Tagged FlowMapping Pair Key : Pair , } { FlowMapping Pair Pair BlockSequence Item Item BlockMapping Pair Pair Key Pair Pair BlockLiteral BlockLiteralHeader Tagged Anchored Anchored Tagged Directive DirectiveName DirectiveContent Document",maxTerm:74,context:ix,nodeProps:[["isolate",-3,8,9,14,""],["openedBy",18,"[",32,"{"],["closedBy",19,"]",33,"}"]],propSources:[hx],skippedNodes:[0],repeatNodeCount:6,tokenData:"-Y~RnOX#PXY$QYZ$]Z]#P]^$]^p#Ppq$Qqs#Pst$btu#Puv$yv|#P|}&e}![#P![!]'O!]!`#P!`!a'i!a!}#P!}#O*g#O#P#P#P#Q+Q#Q#o#P#o#p+k#p#q'i#q#r,U#r;'S#P;'S;=`#z<%l?HT#P?HT?HU,o?HUO#PQ#UU!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PQ#kTOY#PZs#Pt;'S#P;'S;=`#z<%lO#PQ#}P;=`<%l#P~$VQ!f~XY$Qpq$Q~$bO!g~~$gS^~OY$bZ;'S$b;'S;=`$s<%lO$b~$vP;=`<%l$bR%OX!WQOX%kXY#PZ]%k]^#P^p%kpq#hq;'S%k;'S;=`&_<%lO%kR%rX!WQ!VPOX%kXY#PZ]%k]^#P^p%kpq#hq;'S%k;'S;=`&_<%lO%kR&bP;=`<%l%kR&lUoP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR'VUmP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR'p[!PP!WQOY#PZp#Ppq#hq{#P{|(f|}#P}!O(f!O!R#P!R![)p![;'S#P;'S;=`#z<%lO#PR(mW!PP!WQOY#PZp#Ppq#hq!R#P!R![)V![;'S#P;'S;=`#z<%lO#PR)^U!PP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR)wY!PP!WQOY#PZp#Ppq#hq{#P{|)V|}#P}!O)V!O;'S#P;'S;=`#z<%lO#PR*nUcP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR+XUbP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR+rUqP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR,]UpP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR,vU`P!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#P",tokenizers:[nx,rx,lx,cx,0,1],topRules:{Stream:[0,15]},tokenPrec:0});var fx=ve.deserialize({version:14,states:"!vOQOPOOO]OPO'#C_OhOPO'#C^OOOO'#Cc'#CcOpOPO'#CaQOOOOOO{OPOOOOOO'#Cb'#CbO!WOPO'#C`O!`OPO,58xOOOO-E6a-E6aOOOO-E6`-E6`OOOO'#C_'#C_OOOO1G.d1G.d",stateData:"!h~OXPOYROWTP~OWVXXRXYRX~OYVOXSP~OXROYROWTX~OXROYROWTP~OYVOXSX~OX[O~OXY~",goto:"vWPPX[beioRUOQQOR]XRXQTTOUQWQRZWSSOURYS",nodeNames:"\u26A0 Document Frontmatter DashLine FrontmatterContent Body",maxTerm:10,skippedNodes:[0],repeatNodeCount:2,tokenData:"$z~RXOYnYZ!^Z]n]^!^^}n}!O!i!O;'Sn;'S;=`!c<%lOn~qXOYnYZ!^Z]n]^!^^;'Sn;'S;=`!c<%l~n~On~~!^~!cOY~~!fP;=`<%ln~!lZOYnYZ!^Z]n]^!^^}n}!O#_!O;'Sn;'S;=`!c<%l~n~On~~!^~#bZOYnYZ!^Z]n]^!^^}n}!O$T!O;'Sn;'S;=`!c<%l~n~On~~!^~$WXOYnYZ$sZ]n]^$s^;'Sn;'S;=`!c<%l~n~On~~$s~$zOX~Y~",tokenizers:[0],topRules:{Document:[0,1]},tokenPrec:67}),ux=Te.define({name:"yaml",parser:ym.configure({props:[Pe.add({Stream:i=>{for(let e=i.node.resolve(i.pos,-1);e&&e.to>=i.pos;e=e.parent){if(e.name=="BlockLiteralContent"&&e.fromi.pos)return null}}return null},FlowMapping:St({closing:"}"}),FlowSequence:St({closing:"]"})}),Ce.add({"FlowMapping FlowSequence":ct,"Item Pair BlockLiteral":(i,e)=>({from:e.doc.lineAt(i.from).to,to:i.to})})]}),languageData:{commentTokens:{line:"#"},indentOnInput:/^\s*[\]\}]$/}});var Ox=Te.define({name:"yaml-frontmatter",parser:fx.configure({props:[ge({DashLine:d.meta})]})});function km(i){let{language:e,support:t}=i.content instanceof pe?i.content:{language:i.content,support:[]};return new pe(Ox.configure({wrap:bn(n=>n.name=="FrontmatterContent"?{parser:ux.parser}:n.name=="Body"?{parser:e.parser}:null)}),t)}var dx=1,Tm=194,Cm=195,px=196,xm=197,mx=198,gx=199,Qx=200,bx=2,Xm=3,wm=201,Sx=24,yx=25,kx=49,xx=50,wx=55,Px=56,vx=57,$x=59,Tx=60,Cx=61,Xx=62,_x=63,Rx=65,Ax=238,Zx=71,qx=241,Ex=242,zx=243,Lx=244,Mx=245,Wx=246,jx=247,Vx=248,_m=72,Dx=249,Yx=250,Ix=251,Bx=252,Ux=253,Gx=254,Nx=255,Fx=256,Hx=73,Kx=77,Jx=263,ew=112,tw=130,iw=151,nw=152,rw=155,Gi=10,_r=13,th=32,fo=9,ih=35,sw=40,ow=46,eh=123,Pm=125,Rm=39,Am=34,vm=92,aw=111,lw=120,cw=78,hw=117,fw=85,uw=new Set([yx,kx,xx,Jx,Rx,tw,Px,vx,Ax,Xx,_x,_m,Hx,Kx,Tx,Cx,iw,nw,rw,ew]);function Kc(i){return i==Gi||i==_r}function Jc(i){return i>=48&&i<=57||i>=65&&i<=70||i>=97&&i<=102}var Ow=new K((i,e)=>{let t;if(i.next<0)i.acceptToken(gx);else if(e.context.flags&co)Kc(i.next)&&i.acceptToken(mx,1);else if(((t=i.peek(-1))<0||Kc(t))&&e.canShift(xm)){let n=0;for(;i.next==th||i.next==fo;)i.advance(),n++;(i.next==Gi||i.next==_r||i.next==ih)&&i.acceptToken(xm,-n)}else Kc(i.next)&&i.acceptToken(px,1)},{contextual:!0}),dw=new K((i,e)=>{let t=e.context;if(t.flags)return;let n=i.peek(-1);if(n==Gi||n==_r){let r=0,s=0;for(;;){if(i.next==th)r++;else if(i.next==fo)r+=8-r%8;else break;i.advance(),s++}r!=t.indent&&i.next!=Gi&&i.next!=_r&&i.next!=ih&&(r[i,e|Zm])),gw=new Ot({start:pw,reduce(i,e,t,n){return i.flags&co&&uw.has(e)||(e==Zx||e==_m)&&i.flags&Zm?i.parent:i},shift(i,e,t,n){return e==Tm?new ho(i,mw(n.read(n.pos,t.pos)),0):e==Cm?i.parent:e==Sx||e==wx||e==$x||e==Xm?new ho(i,0,co):$m.has(e)?new ho(i,0,$m.get(e)|i.flags&co):i},hash(i){return i.hash}}),Qw=new K(i=>{for(let e=0;e<5;e++){if(i.next!="print".charCodeAt(e))return;i.advance()}if(!/\w/.test(String.fromCharCode(i.next)))for(let e=0;;e++){let t=i.peek(e);if(!(t==th||t==fo)){t!=sw&&t!=ow&&t!=Gi&&t!=_r&&t!=ih&&i.acceptToken(dx);return}}}),bw=new K((i,e)=>{let{flags:t}=e.context,n=t&Nt?Am:Rm,r=(t&Ft)>0,s=!(t&Ht),o=(t&Kt)>0,a=i.pos;for(;!(i.next<0);)if(o&&i.next==eh)if(i.peek(1)==eh)i.advance(2);else{if(i.pos==a){i.acceptToken(Xm,1);return}break}else if(s&&i.next==vm){if(i.pos==a){i.advance();let l=i.next;l>=0&&(i.advance(),Sw(i,l)),i.acceptToken(bx);return}break}else if(i.next==vm&&!s&&i.peek(1)>-1)i.advance(2);else if(i.next==n&&(!r||i.peek(1)==n&&i.peek(2)==n)){if(i.pos==a){i.acceptToken(wm,r?3:1);return}break}else if(i.next==Gi){if(r)i.advance();else if(i.pos==a){i.acceptToken(wm);return}break}else i.advance();i.pos>a&&i.acceptToken(Qx)});function Sw(i,e){if(e==aw)for(let t=0;t<2&&i.next>=48&&i.next<=55;t++)i.advance();else if(e==lw)for(let t=0;t<2&&Jc(i.next);t++)i.advance();else if(e==hw)for(let t=0;t<4&&Jc(i.next);t++)i.advance();else if(e==fw)for(let t=0;t<8&&Jc(i.next);t++)i.advance();else if(e==cw&&i.next==eh){for(i.advance();i.next>=0&&i.next!=Pm&&i.next!=Rm&&i.next!=Am&&i.next!=Gi;)i.advance();i.next==Pm&&i.advance()}}var yw=ge({'async "*" "**" FormatConversion FormatSpec':d.modifier,"for while if elif else try except finally return raise break continue with pass assert await yield match case":d.controlKeyword,"in not and or is del":d.operatorKeyword,"from def class global nonlocal lambda":d.definitionKeyword,import:d.moduleKeyword,"with as print":d.keyword,Boolean:d.bool,None:d.null,VariableName:d.variableName,"CallExpression/VariableName":d.function(d.variableName),"FunctionDefinition/VariableName":d.function(d.definition(d.variableName)),"ClassDefinition/VariableName":d.definition(d.className),PropertyName:d.propertyName,"CallExpression/MemberExpression/PropertyName":d.function(d.propertyName),Comment:d.lineComment,Number:d.number,String:d.string,FormatString:d.special(d.string),Escape:d.escape,UpdateOp:d.updateOperator,"ArithOp!":d.arithmeticOperator,BitOp:d.bitwiseOperator,CompareOp:d.compareOperator,AssignOp:d.definitionOperator,Ellipsis:d.punctuation,At:d.meta,"( )":d.paren,"[ ]":d.squareBracket,"{ }":d.brace,".":d.derefOperator,", ;":d.separator}),kw={__proto__:null,await:44,or:54,and:56,in:60,not:62,is:64,if:70,else:72,lambda:76,yield:94,from:96,async:102,for:104,None:162,True:164,False:164,del:178,pass:182,break:186,continue:190,return:194,raise:202,import:206,as:208,global:212,nonlocal:214,assert:218,type:223,elif:236,while:240,try:246,except:248,finally:250,with:254,def:258,class:268,match:279,case:285},qm=ve.deserialize({version:14,states:"##jQ`QeOOP$}OSOOO&WQtO'#HUOOQS'#Co'#CoOOQS'#Cp'#CpO'vQdO'#CnO*UQtO'#HTOOQS'#HU'#HUOOQS'#DU'#DUOOQS'#HT'#HTO*rQdO'#D_O+VQdO'#DfO+gQdO'#DjO+zOWO'#DuO,VOWO'#DvO.[QtO'#GuOOQS'#Gu'#GuO'vQdO'#GtO0ZQtO'#GtOOQS'#Eb'#EbO0rQdO'#EcOOQS'#Gs'#GsO0|QdO'#GrOOQV'#Gr'#GrO1XQdO'#FYOOQS'#G^'#G^O1^QdO'#FXOOQV'#IS'#ISOOQV'#Gq'#GqOOQV'#Fq'#FqQ`QeOOO'vQdO'#CqO1lQdO'#C}O1sQdO'#DRO2RQdO'#HYO2cQtO'#EVO'vQdO'#EWOOQS'#EY'#EYOOQS'#E['#E[OOQS'#E^'#E^O2wQdO'#E`O3_QdO'#EdO3rQdO'#EfO3zQtO'#EfO1XQdO'#EiO0rQdO'#ElO1XQdO'#EnO0rQdO'#EtO0rQdO'#EwO4VQdO'#EyO4^QdO'#FOO4iQdO'#EzO0rQdO'#FOO1XQdO'#FQO1XQdO'#FVO4nQdO'#F[P4uOdO'#GpPOOO)CBd)CBdOOQS'#Ce'#CeOOQS'#Cf'#CfOOQS'#Cg'#CgOOQS'#Ch'#ChOOQS'#Ci'#CiOOQS'#Cj'#CjOOQS'#Cl'#ClO'vQdO,59OO'vQdO,59OO'vQdO,59OO'vQdO,59OO'vQdO,59OO'vQdO,59OO5TQdO'#DoOOQS,5:Y,5:YO5hQdO'#HdOOQS,5:],5:]O5uQ!fO,5:]O5zQtO,59YO1lQdO,59bO1lQdO,59bO1lQdO,59bO8jQdO,59bO8oQdO,59bO8vQdO,59jO8}QdO'#HTO:TQdO'#HSOOQS'#HS'#HSOOQS'#D['#D[O:lQdO,59aO'vQdO,59aO:zQdO,59aOOQS,59y,59yO;PQdO,5:RO'vQdO,5:ROOQS,5:Q,5:QO;_QdO,5:QO;dQdO,5:XO'vQdO,5:XO'vQdO,5:VOOQS,5:U,5:UO;uQdO,5:UO;zQdO,5:WOOOW'#Fy'#FyOOOOQS'#Ds'#DsOOQS1G/w1G/wOOQS1G.|1G.|O!/[QtO1G.|O!/cQtO1G.|O1lQdO1G.|O!0OQdO1G/UOOQS'#DZ'#DZO0rQdO,59tOOQS1G.{1G.{O!0VQdO1G/eO!0gQdO1G/eO!0oQdO1G/fO'vQdO'#H[O!0tQdO'#H[O!0yQtO1G.{O!1ZQdO,59iO!2aQdO,5=zO!2qQdO,5=zO!2yQdO1G/mO!3OQtO1G/mOOQS1G/l1G/lO!3`QdO,5=uO!4VQdO,5=uO0rQdO1G/qO!4tQdO1G/sO!4yQtO1G/sO!5ZQtO1G/qOOQS1G/p1G/pOOQS1G/r1G/rOOOW-E9w-E9wOOQS1G/{1G/{O!5kQdO'#HxO0rQdO'#HxO!5|QdO,5>cOOOW-E9x-E9xOOQS1G/|1G/|OOQS-E9{-E9{O!6[Q#xO1G2zO!6{QtO1G2zO'vQdO,5kOOQS1G1`1G1`O!8RQdO1G1`OOQS'#DV'#DVO0rQdO,5=qOOQS,5=q,5=qO!8WQdO'#FrO!8cQdO,59oO!8kQdO1G/XO!8uQtO,5=uOOQS1G3`1G3`OOQS,5:m,5:mO!9fQdO'#GtOOQS,5jO!;ZQdO,5>jO1XQdO,5>jO!;lQdO,5>iOOQS-E:R-E:RO!;qQdO1G0lO!;|QdO1G0lO!lO!lO!hO!=VQdO,5>hO!=hQdO'#EpO0rQdO1G0tO!=sQdO1G0tO!=xQgO1G0zO!AvQgO1G0}O!EqQdO,5>oO!E{QdO,5>oO!FTQtO,5>oO0rQdO1G1PO!F_QdO1G1PO4iQdO1G1UO!!vQdO1G1WOOQV,5;a,5;aO!FdQfO,5;aO!FiQgO1G1QO!JjQdO'#GZO4iQdO1G1QO4iQdO1G1QO!JzQdO,5>pO!KXQdO,5>pO1XQdO,5>pOOQV1G1U1G1UO!KaQdO'#FSO!KrQ!fO1G1WO!KzQdO1G1WOOQV1G1]1G1]O4iQdO1G1]O!LPQdO1G1]O!LXQdO'#F^OOQV1G1b1G1bO!#ZQtO1G1bPOOO1G2v1G2vP!L^OSO1G2vOOQS,5=},5=}OOQS'#Dp'#DpO0rQdO,5=}O!LfQdO,5=|O!LyQdO,5=|OOQS1G/u1G/uO!MRQdO,5>PO!McQdO,5>PO!MkQdO,5>PO!NOQdO,5>PO!N`QdO,5>POOQS1G3j1G3jOOQS7+$h7+$hO!8kQdO7+$pO#!RQdO1G.|O#!YQdO1G.|OOQS1G/`1G/`OOQS,5<`,5<`O'vQdO,5<`OOQS7+%P7+%PO#!aQdO7+%POOQS-E9r-E9rOOQS7+%Q7+%QO#!qQdO,5=vO'vQdO,5=vOOQS7+$g7+$gO#!vQdO7+%PO##OQdO7+%QO##TQdO1G3fOOQS7+%X7+%XO##eQdO1G3fO##mQdO7+%XOOQS,5<_,5<_O'vQdO,5<_O##rQdO1G3aOOQS-E9q-E9qO#$iQdO7+%]OOQS7+%_7+%_O#$wQdO1G3aO#%fQdO7+%_O#%kQdO1G3gO#%{QdO1G3gO#&TQdO7+%]O#&YQdO,5>dO#&sQdO,5>dO#&sQdO,5>dOOQS'#Dx'#DxO#'UO&jO'#DzO#'aO`O'#HyOOOW1G3}1G3}O#'fQdO1G3}O#'nQdO1G3}O#'yQ#xO7+(fO#(jQtO1G2UP#)TQdO'#GOOOQS,5nQdO,5sQdO1G4OOOQS-E9y-E9yO#?^QdO1G4OO<[QdO'#H{OOOO'#D{'#D{OOOO'#F|'#F|O#?oO&jO,5:fOOOW,5>e,5>eOOOW7+)i7+)iO#?zQdO7+)iO#@SQdO1G2zO#@mQdO1G2zP'vQdO'#FuO0rQdO<mO#BQQdO,5>mOOQS1G0v1G0vOOQS<rO#KgQdO,5>rO#KrQdO,5>rO#K}QdO,5>qO#L`QdO,5>qOOQS1G1Y1G1YOOQS,5;p,5;pOOQV<VAN>VO$ oQdO<cAN>cO0rQdO1G1|O$!PQtO1G1|P$!ZQdO'#FvOOQS1G2R1G2RP$!hQdO'#F{O$!uQdO7+)jO$#`QdO,5>gOOOO-E9z-E9zOOOW<tO$4{QdO,5>tO1XQdO,5vO$)nQdO,5>vOOQS1G1p1G1pOOQS,5<[,5<[OOQU7+'P7+'PO$+zQdO1G/iO$)nQdO,5wO$8zQdO,5>wOOQS1G1s1G1sOOQS7+'S7+'SP$)nQdO'#GdO$9SQdO1G4bO$9^QdO1G4bO$9fQdO1G4bOOQS7+%T7+%TO$9tQdO1G1tO$:SQtO'#FaO$:ZQdO,5<}OOQS,5<},5<}O$:iQdO1G4cOOQS-E:a-E:aO$)nQdO,5<|O$:pQdO,5<|O$:uQdO7+)|OOQS-E:`-E:`O$;PQdO7+)|O$)nQdO,5S~O%cOS%^OSSOS%]PQ~OPdOVaOfoOhYOopOs!POvqO!PrO!Q{O!T!SO!U!RO!XZO!][O!h`O!r`O!s`O!t`O!{tO!}uO#PvO#RwO#TxO#XyO#ZzO#^|O#_|O#a}O#c!OO#l!QO#o!TO#s!UO#u!VO#z!WO#}hO$P!XO%oRO%pRO%tSO%uWO&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O&c^O&d^O&e^O&f^O&g^O&h^O&i^O&j^O~O%]!YO~OV!aO_!aOa!bOh!iO!X!kO!f!mO%j![O%k!]O%l!^O%m!_O%n!_O%o!`O%p!`O%q!aO%r!aO%s!aO~Ok%xXl%xXm%xXn%xXo%xXp%xXs%xXz%xX{%xX!x%xX#g%xX%[%xX%_%xX%z%xXg%xX!T%xX!U%xX%{%xX!W%xX![%xX!Q%xX#[%xXt%xX!m%xX~P%SOfoOhYO!XZO!][O!h`O!r`O!s`O!t`O%oRO%pRO%tSO%uWO&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O&c^O&d^O&e^O&f^O&g^O&h^O&i^O&j^O~Oz%wX{%wX#g%wX%[%wX%_%wX%z%wX~Ok!pOl!qOm!oOn!oOo!rOp!sOs!tO!x%wX~P)pOV!zOg!|Oo0cOv0qO!PrO~P'vOV#OOo0cOv0qO!W#PO~P'vOV#SOa#TOo0cOv0qO![#UO~P'vOQ#XO%`#XO%a#ZO~OQ#^OR#[O%`#^O%a#`O~OV%iX_%iXa%iXh%iXk%iXl%iXm%iXn%iXo%iXp%iXs%iXz%iX!X%iX!f%iX%j%iX%k%iX%l%iX%m%iX%n%iX%o%iX%p%iX%q%iX%r%iX%s%iXg%iX!T%iX!U%iX~O&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O&c^O&d^O&e^O&f^O&g^O&h^O&i^O&j^O{%iX!x%iX#g%iX%[%iX%_%iX%z%iX%{%iX!W%iX![%iX!Q%iX#[%iXt%iX!m%iX~P,eOz#dO{%hX!x%hX#g%hX%[%hX%_%hX%z%hX~Oo0cOv0qO~P'vO#g#gO%[#iO%_#iO~O%uWO~O!T#nO#u!VO#z!WO#}hO~OopO~P'vOV#sOa#tO%uWO{wP~OV#xOo0cOv0qO!Q#yO~P'vO{#{O!x$QO%z#|O#g!yX%[!yX%_!yX~OV#xOo0cOv0qO#g#SX%[#SX%_#SX~P'vOo0cOv0qO#g#WX%[#WX%_#WX~P'vOh$WO%uWO~O!f$YO!r$YO%uWO~OV$eO~P'vO!U$gO#s$hO#u$iO~O{$jO~OV$qO~P'vOS$sO%[$rO%_$rO%c$tO~OV$}Oa$}Og%POo0cOv0qO~P'vOo0cOv0qO{%SO~P'vO&Y%UO~Oa!bOh!iO!X!kO!f!mOVba_bakbalbambanbaobapbasbazba{ba!xba#gba%[ba%_ba%jba%kba%lba%mba%nba%oba%pba%qba%rba%sba%zbagba!Tba!Uba%{ba!Wba![ba!Qba#[batba!mba~On%ZO~Oo%ZO~P'vOo0cO~P'vOk0eOl0fOm0dOn0dOo0mOp0nOs0rOg%wX!T%wX!U%wX%{%wX!W%wX![%wX!Q%wX#[%wX!m%wX~P)pO%{%]Og%vXz%vX!T%vX!U%vX!W%vX{%vX~Og%_Oz%`O!T%dO!U%cO~Og%_O~Oz%gO!T%dO!U%cO!W&SX~O!W%kO~Oz%lO{%nO!T%dO!U%cO![%}X~O![%rO~O![%sO~OQ#XO%`#XO%a%uO~OV%wOo0cOv0qO!PrO~P'vOQ#^OR#[O%`#^O%a%zO~OV!qa_!qaa!qah!qak!qal!qam!qan!qao!qap!qas!qaz!qa{!qa!X!qa!f!qa!x!qa#g!qa%[!qa%_!qa%j!qa%k!qa%l!qa%m!qa%n!qa%o!qa%p!qa%q!qa%r!qa%s!qa%z!qag!qa!T!qa!U!qa%{!qa!W!qa![!qa!Q!qa#[!qat!qa!m!qa~P#yOz%|O{%ha!x%ha#g%ha%[%ha%_%ha%z%ha~P%SOV&OOopOvqO{%ha!x%ha#g%ha%[%ha%_%ha%z%ha~P'vOz%|O{%ha!x%ha#g%ha%[%ha%_%ha%z%ha~OPdOVaOopOvqO!PrO!Q{O!{tO!}uO#PvO#RwO#TxO#XyO#ZzO#^|O#_|O#a}O#c!OO#g$zX%[$zX%_$zX~P'vO#g#gO%[&TO%_&TO~O!f&UOh&sX%[&sXz&sX#[&sX#g&sX%_&sX#Z&sXg&sX~Oh!iO%[&WO~Okealeameaneaoeapeaseazea{ea!xea#gea%[ea%_ea%zeagea!Tea!Uea%{ea!Wea![ea!Qea#[eatea!mea~P%SOsqazqa{qa#gqa%[qa%_qa%zqa~Ok!pOl!qOm!oOn!oOo!rOp!sO!xqa~PEcO%z&YOz%yX{%yX~O%uWOz%yX{%yX~Oz&]O{wX~O{&_O~Oz%lO#g%}X%[%}X%_%}Xg%}X{%}X![%}X!m%}X%z%}X~OV0lOo0cOv0qO!PrO~P'vO%z#|O#gUa%[Ua%_Ua~Oz&hO#g&PX%[&PX%_&PXn&PX~P%SOz&kO!Q&jO#g#Wa%[#Wa%_#Wa~Oz&lO#[&nO#g&rX%[&rX%_&rXg&rX~O!f$YO!r$YO#Z&qO%uWO~O#Z&qO~Oz&sO#g&tX%[&tX%_&tX~Oz&uO#g&pX%[&pX%_&pX{&pX~O!X&wO%z&xO~Oz&|On&wX~P%SOn'PO~OPdOVaOopOvqO!PrO!Q{O!{tO!}uO#PvO#RwO#TxO#XyO#ZzO#^|O#_|O#a}O#c!OO%['UO~P'vOt'YO#p'WO#q'XOP#naV#naf#nah#nao#nas#nav#na!P#na!Q#na!T#na!U#na!X#na!]#na!h#na!r#na!s#na!t#na!{#na!}#na#P#na#R#na#T#na#X#na#Z#na#^#na#_#na#a#na#c#na#l#na#o#na#s#na#u#na#z#na#}#na$P#na%X#na%o#na%p#na%t#na%u#na&Z#na&[#na&]#na&^#na&_#na&`#na&a#na&b#na&c#na&d#na&e#na&f#na&g#na&h#na&i#na&j#na%Z#na%_#na~Oz'ZO#[']O{&xX~Oh'_O!X&wO~Oh!iO{$jO!X&wO~O{'eO~P%SO%['hO%_'hO~OS'iO%['hO%_'hO~OV!aO_!aOa!bOh!iO!X!kO!f!mO%l!^O%m!_O%n!_O%o!`O%p!`O%q!aO%r!aO%s!aOkWilWimWinWioWipWisWizWi{Wi!xWi#gWi%[Wi%_Wi%jWi%zWigWi!TWi!UWi%{Wi!WWi![Wi!QWi#[WitWi!mWi~O%k!]O~P!#uO%kWi~P!#uOV!aO_!aOa!bOh!iO!X!kO!f!mO%o!`O%p!`O%q!aO%r!aO%s!aOkWilWimWinWioWipWisWizWi{Wi!xWi#gWi%[Wi%_Wi%jWi%kWi%lWi%zWigWi!TWi!UWi%{Wi!WWi![Wi!QWi#[WitWi!mWi~O%m!_O%n!_O~P!&pO%mWi%nWi~P!&pOa!bOh!iO!X!kO!f!mOkWilWimWinWioWipWisWizWi{Wi!xWi#gWi%[Wi%_Wi%jWi%kWi%lWi%mWi%nWi%oWi%pWi%zWigWi!TWi!UWi%{Wi!WWi![Wi!QWi#[WitWi!mWi~OV!aO_!aO%q!aO%r!aO%s!aO~P!)nOVWi_Wi%qWi%rWi%sWi~P!)nO!T%dO!U%cOg&VXz&VX~O%z'kO%{'kO~P,eOz'mOg&UX~Og'oO~Oz'pO{'rO!W&XX~Oo0cOv0qOz'pO{'sO!W&XX~P'vO!W'uO~Om!oOn!oOo!rOp!sOkjisjizji{ji!xji#gji%[ji%_ji%zji~Ol!qO~P!.aOlji~P!.aOk0eOl0fOm0dOn0dOo0mOp0nO~Ot'wO~P!/jOV'|Og'}Oo0cOv0qO~P'vOg'}Oz(OO~Og(QO~O!U(SO~Og(TOz(OO!T%dO!U%cO~P%SOk0eOl0fOm0dOn0dOo0mOp0nOgqa!Tqa!Uqa%{qa!Wqa![qa!Qqa#[qatqa!mqa~PEcOV'|Oo0cOv0qO!W&Sa~P'vOz(WO!W&Sa~O!W(XO~Oz(WO!T%dO!U%cO!W&Sa~P%SOV(]Oo0cOv0qO![%}a#g%}a%[%}a%_%}ag%}a{%}a!m%}a%z%}a~P'vOz(^O![%}a#g%}a%[%}a%_%}ag%}a{%}a!m%}a%z%}a~O![(aO~Oz(^O!T%dO!U%cO![%}a~P%SOz(dO!T%dO!U%cO![&Ta~P%SOz(gO{&lX![&lX!m&lX%z&lX~O{(kO![(mO!m(nO%z(jO~OV&OOopOvqO{%hi!x%hi#g%hi%[%hi%_%hi%z%hi~P'vOz(pO{%hi!x%hi#g%hi%[%hi%_%hi%z%hi~O!f&UOh&sa%[&saz&sa#[&sa#g&sa%_&sa#Z&sag&sa~O%[(uO~OV#sOa#tO%uWO~Oz&]O{wa~OopOvqO~P'vOz(^O#g%}a%[%}a%_%}ag%}a{%}a![%}a!m%}a%z%}a~P%SOz(zO#g%hX%[%hX%_%hX%z%hX~O%z#|O#gUi%[Ui%_Ui~O#g&Pa%[&Pa%_&Pan&Pa~P'vOz(}O#g&Pa%[&Pa%_&Pan&Pa~O%uWO#g&ra%[&ra%_&rag&ra~Oz)SO#g&ra%[&ra%_&rag&ra~Og)VO~OV)WOh$WO%uWO~O#Z)XO~O%uWO#g&ta%[&ta%_&ta~Oz)ZO#g&ta%[&ta%_&ta~Oo0cOv0qO#g&pa%[&pa%_&pa{&pa~P'vOz)^O#g&pa%[&pa%_&pa{&pa~OV)`Oa)`O%uWO~O%z)eO~Ot)hO#j)gOP#hiV#hif#hih#hio#his#hiv#hi!P#hi!Q#hi!T#hi!U#hi!X#hi!]#hi!h#hi!r#hi!s#hi!t#hi!{#hi!}#hi#P#hi#R#hi#T#hi#X#hi#Z#hi#^#hi#_#hi#a#hi#c#hi#l#hi#o#hi#s#hi#u#hi#z#hi#}#hi$P#hi%X#hi%o#hi%p#hi%t#hi%u#hi&Z#hi&[#hi&]#hi&^#hi&_#hi&`#hi&a#hi&b#hi&c#hi&d#hi&e#hi&f#hi&g#hi&h#hi&i#hi&j#hi%Z#hi%_#hi~Ot)iOP#kiV#kif#kih#kio#kis#kiv#ki!P#ki!Q#ki!T#ki!U#ki!X#ki!]#ki!h#ki!r#ki!s#ki!t#ki!{#ki!}#ki#P#ki#R#ki#T#ki#X#ki#Z#ki#^#ki#_#ki#a#ki#c#ki#l#ki#o#ki#s#ki#u#ki#z#ki#}#ki$P#ki%X#ki%o#ki%p#ki%t#ki%u#ki&Z#ki&[#ki&]#ki&^#ki&_#ki&`#ki&a#ki&b#ki&c#ki&d#ki&e#ki&f#ki&g#ki&h#ki&i#ki&j#ki%Z#ki%_#ki~OV)kOn&wa~P'vOz)lOn&wa~Oz)lOn&wa~P%SOn)pO~O%Y)tO~Ot)wO#p'WO#q)vOP#niV#nif#nih#nio#nis#niv#ni!P#ni!Q#ni!T#ni!U#ni!X#ni!]#ni!h#ni!r#ni!s#ni!t#ni!{#ni!}#ni#P#ni#R#ni#T#ni#X#ni#Z#ni#^#ni#_#ni#a#ni#c#ni#l#ni#o#ni#s#ni#u#ni#z#ni#}#ni$P#ni%X#ni%o#ni%p#ni%t#ni%u#ni&Z#ni&[#ni&]#ni&^#ni&_#ni&`#ni&a#ni&b#ni&c#ni&d#ni&e#ni&f#ni&g#ni&h#ni&i#ni&j#ni%Z#ni%_#ni~OV)zOo0cOv0qO{$jO~P'vOo0cOv0qO{&xa~P'vOz*OO{&xa~OV*SOa*TOg*WO%q*UO%uWO~O{$jO&{*YO~Oh'_O~Oh!iO{$jO~O%[*_O~O%[*aO%_*aO~OV$}Oa$}Oo0cOv0qOg&Ua~P'vOz*dOg&Ua~Oo0cOv0qO{*gO!W&Xa~P'vOz*hO!W&Xa~Oo0cOv0qOz*hO{*kO!W&Xa~P'vOo0cOv0qOz*hO!W&Xa~P'vOz*hO{*kO!W&Xa~Om0dOn0dOo0mOp0nOgjikjisjizji!Tji!Uji%{ji!Wji{ji![ji#gji%[ji%_ji!Qji#[jitji!mji%zji~Ol0fO~P!NkOlji~P!NkOV'|Og*pOo0cOv0qO~P'vOn*rO~Og*pOz*tO~Og*uO~OV'|Oo0cOv0qO!W&Si~P'vOz*vO!W&Si~O!W*wO~OV(]Oo0cOv0qO![%}i#g%}i%[%}i%_%}ig%}i{%}i!m%}i%z%}i~P'vOz*zO!T%dO!U%cO![&Ti~Oz*}O![%}i#g%}i%[%}i%_%}ig%}i{%}i!m%}i%z%}i~O![+OO~Oa+QOo0cOv0qO![&Ti~P'vOz*zO![&Ti~O![+SO~OV+UOo0cOv0qO{&la![&la!m&la%z&la~P'vOz+VO{&la![&la!m&la%z&la~O!]+YO&n+[O![!nX~O![+^O~O{(kO![+_O~O{(kO![+_O!m+`O~OV&OOopOvqO{%hq!x%hq#g%hq%[%hq%_%hq%z%hq~P'vOz$ri{$ri!x$ri#g$ri%[$ri%_$ri%z$ri~P%SOV&OOopOvqO~P'vOV&OOo0cOv0qO#g%ha%[%ha%_%ha%z%ha~P'vOz+aO#g%ha%[%ha%_%ha%z%ha~Oz$ia#g$ia%[$ia%_$ian$ia~P%SO#g&Pi%[&Pi%_&Pin&Pi~P'vOz+dO#g#Wq%[#Wq%_#Wq~O#[+eOz$va#g$va%[$va%_$vag$va~O%uWO#g&ri%[&ri%_&rig&ri~Oz+gO#g&ri%[&ri%_&rig&ri~OV+iOh$WO%uWO~O%uWO#g&ti%[&ti%_&ti~Oo0cOv0qO#g&pi%[&pi%_&pi{&pi~P'vO{#{Oz#eX!W#eX~Oz+mO!W&uX~O!W+oO~Ot+rO#j)gOP#hqV#hqf#hqh#hqo#hqs#hqv#hq!P#hq!Q#hq!T#hq!U#hq!X#hq!]#hq!h#hq!r#hq!s#hq!t#hq!{#hq!}#hq#P#hq#R#hq#T#hq#X#hq#Z#hq#^#hq#_#hq#a#hq#c#hq#l#hq#o#hq#s#hq#u#hq#z#hq#}#hq$P#hq%X#hq%o#hq%p#hq%t#hq%u#hq&Z#hq&[#hq&]#hq&^#hq&_#hq&`#hq&a#hq&b#hq&c#hq&d#hq&e#hq&f#hq&g#hq&h#hq&i#hq&j#hq%Z#hq%_#hq~On$|az$|a~P%SOV)kOn&wi~P'vOz+yOn&wi~Oz,TO{$jO#[,TO~O#q,VOP#nqV#nqf#nqh#nqo#nqs#nqv#nq!P#nq!Q#nq!T#nq!U#nq!X#nq!]#nq!h#nq!r#nq!s#nq!t#nq!{#nq!}#nq#P#nq#R#nq#T#nq#X#nq#Z#nq#^#nq#_#nq#a#nq#c#nq#l#nq#o#nq#s#nq#u#nq#z#nq#}#nq$P#nq%X#nq%o#nq%p#nq%t#nq%u#nq&Z#nq&[#nq&]#nq&^#nq&_#nq&`#nq&a#nq&b#nq&c#nq&d#nq&e#nq&f#nq&g#nq&h#nq&i#nq&j#nq%Z#nq%_#nq~O#[,WOz%Oa{%Oa~Oo0cOv0qO{&xi~P'vOz,YO{&xi~O{#{O%z,[Og&zXz&zX~O%uWOg&zXz&zX~Oz,`Og&yX~Og,bO~O%Y,eO~O!T%dO!U%cOg&Viz&Vi~OV$}Oa$}Oo0cOv0qOg&Ui~P'vO{,hOz$la!W$la~Oo0cOv0qO{,iOz$la!W$la~P'vOo0cOv0qO{*gO!W&Xi~P'vOz,lO!W&Xi~Oo0cOv0qOz,lO!W&Xi~P'vOz,lO{,oO!W&Xi~Og$hiz$hi!W$hi~P%SOV'|Oo0cOv0qO~P'vOn,qO~OV'|Og,rOo0cOv0qO~P'vOV'|Oo0cOv0qO!W&Sq~P'vOz$gi![$gi#g$gi%[$gi%_$gig$gi{$gi!m$gi%z$gi~P%SOV(]Oo0cOv0qO~P'vOa+QOo0cOv0qO![&Tq~P'vOz,sO![&Tq~O![,tO~OV(]Oo0cOv0qO![%}q#g%}q%[%}q%_%}qg%}q{%}q!m%}q%z%}q~P'vO{,uO~OV+UOo0cOv0qO{&li![&li!m&li%z&li~P'vOz,zO{&li![&li!m&li%z&li~O!]+YO&n+[O![!na~O{(kO![,}O~OV&OOo0cOv0qO#g%hi%[%hi%_%hi%z%hi~P'vOz-OO#g%hi%[%hi%_%hi%z%hi~O%uWO#g&rq%[&rq%_&rqg&rq~Oz-RO#g&rq%[&rq%_&rqg&rq~OV)`Oa)`O%uWO!W&ua~Oz-TO!W&ua~On$|iz$|i~P%SOV)kO~P'vOV)kOn&wq~P'vOt-XOP#myV#myf#myh#myo#mys#myv#my!P#my!Q#my!T#my!U#my!X#my!]#my!h#my!r#my!s#my!t#my!{#my!}#my#P#my#R#my#T#my#X#my#Z#my#^#my#_#my#a#my#c#my#l#my#o#my#s#my#u#my#z#my#}#my$P#my%X#my%o#my%p#my%t#my%u#my&Z#my&[#my&]#my&^#my&_#my&`#my&a#my&b#my&c#my&d#my&e#my&f#my&g#my&h#my&i#my&j#my%Z#my%_#my~O%Z-]O%_-]O~P`O#q-^OP#nyV#nyf#nyh#nyo#nys#nyv#ny!P#ny!Q#ny!T#ny!U#ny!X#ny!]#ny!h#ny!r#ny!s#ny!t#ny!{#ny!}#ny#P#ny#R#ny#T#ny#X#ny#Z#ny#^#ny#_#ny#a#ny#c#ny#l#ny#o#ny#s#ny#u#ny#z#ny#}#ny$P#ny%X#ny%o#ny%p#ny%t#ny%u#ny&Z#ny&[#ny&]#ny&^#ny&_#ny&`#ny&a#ny&b#ny&c#ny&d#ny&e#ny&f#ny&g#ny&h#ny&i#ny&j#ny%Z#ny%_#ny~Oz-aO{$jO#[-aO~Oo0cOv0qO{&xq~P'vOz-dO{&xq~O%z,[Og&zaz&za~O{#{Og&zaz&za~OV*SOa*TO%q*UO%uWOg&ya~Oz-hOg&ya~O$S-lO~OV$}Oa$}Oo0cOv0qO~P'vOo0cOv0qO{-mOz$li!W$li~P'vOo0cOv0qOz$li!W$li~P'vO{-mOz$li!W$li~Oo0cOv0qO{*gO~P'vOo0cOv0qO{*gO!W&Xq~P'vOz-pO!W&Xq~Oo0cOv0qOz-pO!W&Xq~P'vOs-sO!T%dO!U%cOg&Oq!W&Oq![&Oqz&Oq~P!/jOa+QOo0cOv0qO![&Ty~P'vOz$ji![$ji~P%SOa+QOo0cOv0qO~P'vOV+UOo0cOv0qO~P'vOV+UOo0cOv0qO{&lq![&lq!m&lq%z&lq~P'vO{(kO![-xO!m-yO%z-wO~OV&OOo0cOv0qO#g%hq%[%hq%_%hq%z%hq~P'vO%uWO#g&ry%[&ry%_&ryg&ry~OV)`Oa)`O%uWO!W&ui~Ot-}OP#m!RV#m!Rf#m!Rh#m!Ro#m!Rs#m!Rv#m!R!P#m!R!Q#m!R!T#m!R!U#m!R!X#m!R!]#m!R!h#m!R!r#m!R!s#m!R!t#m!R!{#m!R!}#m!R#P#m!R#R#m!R#T#m!R#X#m!R#Z#m!R#^#m!R#_#m!R#a#m!R#c#m!R#l#m!R#o#m!R#s#m!R#u#m!R#z#m!R#}#m!R$P#m!R%X#m!R%o#m!R%p#m!R%t#m!R%u#m!R&Z#m!R&[#m!R&]#m!R&^#m!R&_#m!R&`#m!R&a#m!R&b#m!R&c#m!R&d#m!R&e#m!R&f#m!R&g#m!R&h#m!R&i#m!R&j#m!R%Z#m!R%_#m!R~Oo0cOv0qO{&xy~P'vOV*SOa*TO%q*UO%uWOg&yi~O$S-lO%Z.VO%_.VO~OV.aOh._O!X.^O!].`O!h.YO!s.[O!t.[O%p.XO%uWO&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O~Oo0cOv0qOz$lq!W$lq~P'vO{.fOz$lq!W$lq~Oo0cOv0qO{*gO!W&Xy~P'vOz.gO!W&Xy~Oo0cOv.kO~P'vOs-sO!T%dO!U%cOg&Oy!W&Oy![&Oyz&Oy~P!/jO{(kO![.nO~O{(kO![.nO!m.oO~OV*SOa*TO%q*UO%uWO~Oh.tO!f.rOz$TX#[$TX%j$TXg$TX~Os$TX{$TX!W$TX![$TX~P$-bO%o.vO%p.vOs$UXz$UX{$UX#[$UX%j$UX!W$UXg$UX![$UX~O!h.xO~Oz.|O#[/OO%j.yOs&|X{&|X!W&|Xg&|X~Oa/RO~P$)zOh.tOs&}Xz&}X{&}X#[&}X%j&}X!W&}Xg&}X![&}X~Os/VO{$jO~Oo0cOv0qOz$ly!W$ly~P'vOo0cOv0qO{*gO!W&X!R~P'vOz/ZO!W&X!R~Og&RXs&RX!T&RX!U&RX!W&RX![&RXz&RX~P!/jOs-sO!T%dO!U%cOg&Qa!W&Qa![&Qaz&Qa~O{(kO![/^O~O!f.rOh$[as$[az$[a{$[a#[$[a%j$[a!W$[ag$[a![$[a~O!h/eO~O%o.vO%p.vOs$Uaz$Ua{$Ua#[$Ua%j$Ua!W$Uag$Ua![$Ua~O%j.yOs$Yaz$Ya{$Ya#[$Ya!W$Yag$Ya![$Ya~Os&|a{&|a!W&|ag&|a~P$)nOz/jOs&|a{&|a!W&|ag&|a~O!W/mO~Og/mO~O{/oO~O![/pO~Oo0cOv0qO{*gO!W&X!Z~P'vO{/sO~O%z/tO~P$-bOz/uO#[/OO%j.yOg'PX~Oz/uOg'PX~Og/wO~O!h/xO~O#[/OOs%Saz%Sa{%Sa%j%Sa!W%Sag%Sa![%Sa~O#[/OO%j.yOs%Waz%Wa{%Wa!W%Wag%Wa~Os&|i{&|i!W&|ig&|i~P$)nOz/zO#[/OO%j.yO!['Oa~Og'Pa~P$)nOz0SOg'Pa~Oa0UO!['Oi~P$)zOz0WO!['Oi~Oz0WO#[/OO%j.yO!['Oi~O#[/OO%j.yOg$biz$bi~O%z0ZO~P$-bO#[/OO%j.yOg%Vaz%Va~Og'Pi~P$)nO{0^O~Oa0UO!['Oq~P$)zOz0`O!['Oq~O#[/OO%j.yOz%Ui![%Ui~Oa0UO~P$)zOa0UO!['Oy~P$)zO#[/OO%j.yOg$ciz$ci~O#[/OO%j.yOz%Uq![%Uq~Oz+aO#g%ha%[%ha%_%ha%z%ha~P%SOV&OOo0cOv0qO~P'vOn0hO~Oo0hO~P'vO{0iO~Ot0jO~P!/jO&]&Z&j&h&i&g&f&d&e&c&b&`&a&_&^&[%u~",goto:"!=j'QPPPPPP'RP'Z*s+[+t,_,y-fP.SP'Z.r.r'ZPPP'Z2[PPPPPP2[5PPP5PP7b7k=sPP=v>h>kPP'Z'ZPP>zPP'Z'ZPP'Z'Z'Z'Z'Z?O?w'ZP?zP@QDXGuGyPG|HWH['ZPPPH_Hk'RP'R'RP'RP'RP'RP'RP'R'R'RP'RPP'RPP'RP'RPHqH}IVPI^IdPI^PI^I^PPPI^PKrPK{LVL]KrPI^LfPI^PLmLsPLwM]MzNeLwLwNkNxLwLwLwLw! ^! d! g! l! o! y!!P!!]!!o!!u!#P!#V!#s!#y!$P!$Z!$a!$g!$y!%T!%Z!%a!%k!%q!%w!%}!&T!&Z!&e!&k!&u!&{!'U!'[!'k!'s!'}!(UPPPPPPPPPPP!([!(_!(e!(n!(x!)TPPPPPPPPPPPP!-u!/Z!3^!6oPP!6w!7W!7a!8Y!8P!8c!8i!8l!8o!8r!8z!9jPPPPPPPPPPPPPPPPP!9m!9q!9wP!:]!:a!:m!:v!;S!;j!;m!;p!;v!;|!_![!]Do!]!^Es!^!_FZ!_!`Gk!`!aHX!a!b%T!b!cIf!c!dJU!d!eK^!e!hJU!h!i!#f!i!tJU!t!u!,|!u!wJU!w!x!.t!x!}JU!}#O!0S#O#P&o#P#Q!0j#Q#R!1Q#R#SJU#S#T%T#T#UJU#U#VK^#V#YJU#Y#Z!#f#Z#fJU#f#g!,|#g#iJU#i#j!.t#j#oJU#o#p!1n#p#q!1s#q#r!2a#r#s!2f#s$g%T$g;'SJU;'S;=`KW<%lOJU`%YT&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T`%lP;=`<%l%To%v]&n`%c_OX%TXY%oY[%T[]%o]p%Tpq%oq#O%T#O#P&o#P#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To&tX&n`OY%TYZ%oZ]%T]^%o^#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc'f[&n`O!_%T!_!`([!`#T%T#T#U(r#U#f%T#f#g(r#g#h(r#h#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc(cTmR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc(yT!mR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk)aV&n`&[ZOr%Trs)vs#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk){V&n`Or%Trs*bs#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk*iT&n`&^ZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To+PZS_&n`OY*xYZ%TZ]*x]^%T^#o*x#o#p+r#p#q*x#q#r+r#r;'S*x;'S;=`,^<%lO*x_+wTS_OY+rZ]+r^;'S+r;'S;=`,W<%lO+r_,ZP;=`<%l+ro,aP;=`<%l*xj,kV%rQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj-XT!xY&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj-oV%lQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk.]V&n`&ZZOw%Twx.rx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk.wV&n`Ow%Twx/^x#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk/eT&n`&]ZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk/{ThZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc0cTgR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk0yXVZ&n`Oz%Tz{1f{!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk1mVaR&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk2ZV%oZ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc2wTzR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To3_W%pZ&n`O!_%T!_!`-Q!`!a3w!a#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Td4OT&{S&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk4fX!fQ&n`O!O%T!O!P5R!P!Q%T!Q![6T![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk5WV&n`O!O%T!O!P5m!P#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk5tT!rZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti6[a!hX&n`O!Q%T!Q![6T![!g%T!g!h7a!h!l%T!l!m9s!m#R%T#R#S6T#S#X%T#X#Y7a#Y#^%T#^#_9s#_#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti7fZ&n`O{%T{|8X|}%T}!O8X!O!Q%T!Q![8s![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti8^V&n`O!Q%T!Q![8s![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti8z]!hX&n`O!Q%T!Q![8s![!l%T!l!m9s!m#R%T#R#S8s#S#^%T#^#_9s#_#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti9zT!hX&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk:bX%qR&n`O!P%T!P!Q:}!Q!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj;UV%sQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti;ro!hX&n`O!O%T!O!P=s!P!Q%T!Q![>_![!d%T!d!e?q!e!g%T!g!h7a!h!l%T!l!m9s!m!q%T!q!rA]!r!z%T!z!{Bq!{#R%T#R#S>_#S#U%T#U#V?q#V#X%T#X#Y7a#Y#^%T#^#_9s#_#c%T#c#dA]#d#l%T#l#mBq#m#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti=xV&n`O!Q%T!Q![6T![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti>fc!hX&n`O!O%T!O!P=s!P!Q%T!Q![>_![!g%T!g!h7a!h!l%T!l!m9s!m#R%T#R#S>_#S#X%T#X#Y7a#Y#^%T#^#_9s#_#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti?vY&n`O!Q%T!Q!R@f!R!S@f!S#R%T#R#S@f#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti@mY!hX&n`O!Q%T!Q!R@f!R!S@f!S#R%T#R#S@f#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiAbX&n`O!Q%T!Q!YA}!Y#R%T#R#SA}#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiBUX!hX&n`O!Q%T!Q!YA}!Y#R%T#R#SA}#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiBv]&n`O!Q%T!Q![Co![!c%T!c!iCo!i#R%T#R#SCo#S#T%T#T#ZCo#Z#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiCv]!hX&n`O!Q%T!Q![Co![!c%T!c!iCo!i#R%T#R#SCo#S#T%T#T#ZCo#Z#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%ToDvV{_&n`O!_%T!_!`E]!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TcEdT%{R&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkEzT#gZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkFbXmR&n`O!^%T!^!_F}!_!`([!`!a([!a#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TjGUV%mQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkGrV%zZ&n`O!_%T!_!`([!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkH`WmR&n`O!_%T!_!`([!`!aHx!a#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TjIPV%nQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkIoV_Q#}P&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%ToJ_]&n`&YS%uZO!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUoKZP;=`<%lJUoKge&n`&YS%uZOr%Trs)Ysw%Twx.Ux!Q%T!Q![JU![!c%T!c!tJU!t!uLx!u!}JU!}#R%T#R#SJU#S#T%T#T#fJU#f#gLx#g#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUoMRa&n`&YS%uZOr%TrsNWsw%Twx! vx!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUkN_V&n`&`ZOr%TrsNts#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkNyV&n`Or%Trs! `s#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk! gT&n`&bZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk! }V&n`&_ZOw%Twx!!dx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!!iV&n`Ow%Twx!#Ox#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!#VT&n`&aZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To!#oe&n`&YS%uZOr%Trs!%Qsw%Twx!&px!Q%T!Q![JU![!c%T!c!tJU!t!u!(`!u!}JU!}#R%T#R#SJU#S#T%T#T#fJU#f#g!(`#g#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUk!%XV&n`&dZOr%Trs!%ns#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!%sV&n`Or%Trs!&Ys#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!&aT&n`&fZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!&wV&n`&cZOw%Twx!'^x#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!'cV&n`Ow%Twx!'xx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!(PT&n`&eZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To!(ia&n`&YS%uZOr%Trs!)nsw%Twx!+^x!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUk!)uV&n`&hZOr%Trs!*[s#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!*aV&n`Or%Trs!*vs#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!*}T&n`&jZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!+eV&n`&gZOw%Twx!+zx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!,PV&n`Ow%Twx!,fx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!,mT&n`&iZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To!-Vi&n`&YS%uZOr%TrsNWsw%Twx! vx!Q%T!Q![JU![!c%T!c!dJU!d!eLx!e!hJU!h!i!(`!i!}JU!}#R%T#R#SJU#S#T%T#T#UJU#U#VLx#V#YJU#Y#Z!(`#Z#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUo!.}a&n`&YS%uZOr%Trs)Ysw%Twx.Ux!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUk!0ZT!XZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc!0qT!WR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj!1XV%kQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T~!1sO!]~k!1zV%jR&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T~!2fO![~i!2mT%tX&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T",tokenizers:[Qw,dw,Ow,bw,0,1,2,3,4],topRules:{Script:[0,5]},specialized:[{term:221,get:i=>kw[i]||-1}],tokenPrec:7668});var Em=new fi,Lm=new Set(["Script","Body","FunctionDefinition","ClassDefinition","LambdaExpression","ForStatement","MatchClause"]);function uo(i){return(e,t,n)=>{if(n)return!1;let r=e.node.getChild("VariableName");return r&&t(r,i),!0}}var xw={FunctionDefinition:uo("function"),ClassDefinition:uo("class"),ForStatement(i,e,t){if(t){for(let n=i.node.firstChild;n;n=n.nextSibling)if(n.name=="VariableName")e(n,"variable");else if(n.name=="in")break}},ImportStatement(i,e){var t,n;let{node:r}=i,s=((t=r.firstChild)===null||t===void 0?void 0:t.name)=="from";for(let o=r.getChild("import");o;o=o.nextSibling)o.name=="VariableName"&&((n=o.nextSibling)===null||n===void 0?void 0:n.name)!="as"&&e(o,s?"variable":"namespace")},AssignStatement(i,e){for(let t=i.node.firstChild;t;t=t.nextSibling)if(t.name=="VariableName")e(t,"variable");else if(t.name==":"||t.name=="AssignOp")break},ParamList(i,e){for(let t=null,n=i.node.firstChild;n;n=n.nextSibling)n.name=="VariableName"&&(!t||!/\*|AssignOp/.test(t.name))&&e(n,"variable"),t=n},CapturePattern:uo("variable"),AsPattern:uo("variable"),__proto__:null};function Mm(i,e){let t=Em.get(e);if(t)return t;let n=[],r=!0;function s(o,a){let l=i.sliceString(o.from,o.to);n.push({label:l,type:a})}return e.cursor(ee.IncludeAnonymous).iterate(o=>{if(o.name){let a=xw[o.name];if(a&&a(o,s,r)||!r&&Lm.has(o.name))return!1;r=!1}else if(o.to-o.from>8192){for(let a of Mm(i,o.node))n.push(a);return!1}}),Em.set(e,n),n}var zm=/^[\w\xa1-\uffff][\w\d\xa1-\uffff]*$/,Wm=["String","FormatString","Comment","PropertyName"];function ww(i){let e=B(i.state).resolveInner(i.pos,-1);if(Wm.indexOf(e.name)>-1)return null;let t=e.name=="VariableName"||e.to-e.from<20&&zm.test(i.state.sliceDoc(e.from,e.to));if(!t&&!i.explicit)return null;let n=[];for(let r=e;r;r=r.parent)Lm.has(r.name)&&(n=n.concat(Mm(i.state.doc,r)));return{options:n,from:t?e.from:i.pos,validFor:zm}}var Pw=["__annotations__","__builtins__","__debug__","__doc__","__import__","__name__","__loader__","__package__","__spec__","False","None","True"].map(i=>({label:i,type:"constant"})).concat(["ArithmeticError","AssertionError","AttributeError","BaseException","BlockingIOError","BrokenPipeError","BufferError","BytesWarning","ChildProcessError","ConnectionAbortedError","ConnectionError","ConnectionRefusedError","ConnectionResetError","DeprecationWarning","EOFError","Ellipsis","EncodingWarning","EnvironmentError","Exception","FileExistsError","FileNotFoundError","FloatingPointError","FutureWarning","GeneratorExit","IOError","ImportError","ImportWarning","IndentationError","IndexError","InterruptedError","IsADirectoryError","KeyError","KeyboardInterrupt","LookupError","MemoryError","ModuleNotFoundError","NameError","NotADirectoryError","NotImplemented","NotImplementedError","OSError","OverflowError","PendingDeprecationWarning","PermissionError","ProcessLookupError","RecursionError","ReferenceError","ResourceWarning","RuntimeError","RuntimeWarning","StopAsyncIteration","StopIteration","SyntaxError","SyntaxWarning","SystemError","SystemExit","TabError","TimeoutError","TypeError","UnboundLocalError","UnicodeDecodeError","UnicodeEncodeError","UnicodeError","UnicodeTranslateError","UnicodeWarning","UserWarning","ValueError","Warning","ZeroDivisionError"].map(i=>({label:i,type:"type"}))).concat(["bool","bytearray","bytes","classmethod","complex","float","frozenset","int","list","map","memoryview","object","range","set","staticmethod","str","super","tuple","type"].map(i=>({label:i,type:"class"}))).concat(["abs","aiter","all","anext","any","ascii","bin","breakpoint","callable","chr","compile","delattr","dict","dir","divmod","enumerate","eval","exec","exit","filter","format","getattr","globals","hasattr","hash","help","hex","id","input","isinstance","issubclass","iter","len","license","locals","max","min","next","oct","open","ord","pow","print","property","quit","repr","reversed","round","setattr","slice","sorted","sum","vars","zip"].map(i=>({label:i,type:"function"}))),vw=[ce("def ${name}(${params}):\n ${}",{label:"def",detail:"function",type:"keyword"}),ce("for ${name} in ${collection}:\n ${}",{label:"for",detail:"loop",type:"keyword"}),ce("while ${}:\n ${}",{label:"while",detail:"loop",type:"keyword"}),ce("try:\n ${}\nexcept ${error}:\n ${}",{label:"try",detail:"/ except block",type:"keyword"}),ce(`if \${}: -`,{label:"if",detail:"block",type:"keyword"}),ce("if ${}:\n ${}\nelse:\n ${}",{label:"if",detail:"/ else block",type:"keyword"}),ce("class ${name}:\n def __init__(self, ${params}):\n ${}",{label:"class",detail:"definition",type:"keyword"}),ce("import ${module}",{label:"import",detail:"statement",type:"keyword"}),ce("from ${module} import ${names}",{label:"from",detail:"import",type:"keyword"})],vw=Bs(Mm,Is(ww.concat(Pw)));function ih(i){let{node:e,pos:t}=i,n=i.lineIndent(t,-1),r=null;for(;;){let s=e.childBefore(t);if(s)if(s.name=="Comment")t=s.from;else if(s.name=="Body"||s.name=="MatchBody")i.baseIndentFor(s)+i.unit<=n&&(r=s),e=s;else if(s.name=="MatchClause")e=s;else if(s.type.is("Statement"))e=s;else break;else break}return r}function nh(i,e){let t=i.baseIndentFor(e),n=i.lineAt(i.pos,-1),r=n.from+n.text.length;return/^\s*($|#)/.test(n.text)&&i.node.tot?null:t+i.unit}var rh=ve.define({name:"python",parser:Zm.configure({props:[we.add({Body:i=>{var e;let t=/^\s*(#|$)/.test(i.textAfter)&&ih(i)||i.node;return(e=nh(i,t))!==null&&e!==void 0?e:i.continue()},MatchBody:i=>{var e;let t=ih(i);return(e=nh(i,t||i.node))!==null&&e!==void 0?e:i.continue()},IfStatement:i=>/^\s*(else:|elif )/.test(i.textAfter)?i.baseIndent:i.continue(),"ForStatement WhileStatement":i=>/^\s*else:/.test(i.textAfter)?i.baseIndent:i.continue(),TryStatement:i=>/^\s*(except[ :]|finally:|else:)/.test(i.textAfter)?i.baseIndent:i.continue(),MatchStatement:i=>/^\s*case /.test(i.textAfter)?i.baseIndent+i.unit:i.continue(),"TupleExpression ComprehensionExpression ParamList ArgList ParenthesizedExpression":St({closing:")"}),"DictionaryExpression DictionaryComprehensionExpression SetExpression SetComprehensionExpression":St({closing:"}"}),"ArrayExpression ArrayComprehensionExpression":St({closing:"]"}),MemberExpression:i=>i.baseIndent+i.unit,"String FormatString":()=>null,Script:i=>{var e;let t=ih(i);return(e=t&&nh(i,t))!==null&&e!==void 0?e:i.continue()}}),$e.add({"ArrayExpression DictionaryExpression SetExpression TupleExpression":ct,Body:(i,e)=>({from:i.from+1,to:i.to-(i.to==e.doc.length?0:1)}),"String FormatString":(i,e)=>({from:e.doc.lineAt(i.from).to,to:i.to})})]}),languageData:{closeBrackets:{brackets:["(","[","{","'",'"',"'''",'"""'],stringPrefixes:["f","fr","rf","r","u","b","br","rb","F","FR","RF","R","U","B","BR","RB"]},commentTokens:{line:"#"},indentOnInput:/^\s*([\}\]\)]|else:|elif |except |finally:|case\s+[^:]*:?)$/}});function Wm(){return new pe(rh,[rh.data.of({autocomplete:xw}),rh.data.of({autocomplete:vw})])}var $w=ge({String:d.string,Number:d.number,"True False":d.bool,PropertyName:d.propertyName,Null:d.null,", :":d.separator,"[ ]":d.squareBracket,"{ }":d.brace}),jm=Pe.deserialize({version:14,states:"$bOVQPOOOOQO'#Cb'#CbOnQPO'#CeOvQPO'#ClOOQO'#Cr'#CrQOQPOOOOQO'#Cg'#CgO}QPO'#CfO!SQPO'#CtOOQO,59P,59PO![QPO,59PO!aQPO'#CuOOQO,59W,59WO!iQPO,59WOVQPO,59QOqQPO'#CmO!nQPO,59`OOQO1G.k1G.kOVQPO'#CnO!vQPO,59aOOQO1G.r1G.rOOQO1G.l1G.lOOQO,59X,59XOOQO-E6k-E6kOOQO,59Y,59YOOQO-E6l-E6l",stateData:"#O~OeOS~OQSORSOSSOTSOWQO_ROgPO~OVXOgUO~O^[O~PVO[^O~O]_OVhX~OVaO~O]bO^iX~O^dO~O]_OVha~O]bO^ia~O",goto:"!kjPPPPPPkPPkqwPPPPk{!RPPP!XP!e!hXSOR^bQWQRf_TVQ_Q`WRg`QcZRicQTOQZRQe^RhbRYQR]R",nodeNames:"\u26A0 JsonText True False Null Number String } { Object Property PropertyName : , ] [ Array",maxTerm:25,nodeProps:[["isolate",-2,6,11,""],["openedBy",7,"{",14,"["],["closedBy",8,"}",15,"]"]],propSources:[$w],skippedNodes:[0],repeatNodeCount:2,tokenData:"(|~RaXY!WYZ!W]^!Wpq!Wrs!]|}$u}!O$z!Q!R%T!R![&c![!]&t!}#O&y#P#Q'O#Y#Z'T#b#c'r#h#i(Z#o#p(r#q#r(w~!]Oe~~!`Wpq!]qr!]rs!xs#O!]#O#P!}#P;'S!];'S;=`$o<%lO!]~!}Og~~#QXrs!]!P!Q!]#O#P!]#U#V!]#Y#Z!]#b#c!]#f#g!]#h#i!]#i#j#m~#pR!Q![#y!c!i#y#T#Z#y~#|R!Q![$V!c!i$V#T#Z$V~$YR!Q![$c!c!i$c#T#Z$c~$fR!Q![!]!c!i!]#T#Z!]~$rP;=`<%l!]~$zO]~~$}Q!Q!R%T!R![&c~%YRT~!O!P%c!g!h%w#X#Y%w~%fP!Q![%i~%nRT~!Q![%i!g!h%w#X#Y%w~%zR{|&T}!O&T!Q![&Z~&WP!Q![&Z~&`PT~!Q![&Z~&hST~!O!P%c!Q![&c!g!h%w#X#Y%w~&yO[~~'OO_~~'TO^~~'WP#T#U'Z~'^P#`#a'a~'dP#g#h'g~'jP#X#Y'm~'rOR~~'uP#i#j'x~'{P#`#a(O~(RP#`#a(U~(ZOS~~(^P#f#g(a~(dP#i#j(g~(jP#X#Y(m~(rOQ~~(wOW~~(|OV~",tokenizers:[0],topRules:{JsonText:[0,1]},tokenPrec:0});var Tw=ve.define({name:"json",parser:jm.configure({props:[we.add({Object:Yt({except:/^\s*\}/}),Array:Yt({except:/^\s*\]/})}),$e.add({"Object Array":ct})]}),languageData:{closeBrackets:{brackets:["[","{",'"']},indentOnInput:/^\s*[\}\]]$/}});function Vm(){return new pe(Tw)}function Oo(i){for(var e={},t=0;t~^?!",Zw=":;,.(){}[]",qw=/^\-?0b[01][01_]*/,Ew=/^\-?0o[0-7][0-7_]*/,zw=/^\-?0x[\dA-Fa-f][\dA-Fa-f_]*(?:(?:\.[\dA-Fa-f][\dA-Fa-f_]*)?[Pp]\-?\d[\d_]*)?/,Lw=/^\-?\d[\d_]*(?:\.\d[\d_]*)?(?:[Ee]\-?\d[\d_]*)?/,Mw=/^\$\d+|(`?)[_A-Za-z][_A-Za-z$0-9]*\1/,Ww=/^\.(?:\$\d+|(`?)[_A-Za-z][_A-Za-z$0-9]*\1)/,jw=/^\#[A-Za-z]+/,Vw=/^@(?:\$\d+|(`?)[_A-Za-z][_A-Za-z$0-9]*\1)/;function Dm(i,e,t){if(i.sol()&&(e.indented=i.indentation()),i.eatSpace())return null;var n=i.peek();if(n=="/"){if(i.match("//"))return i.skipToEnd(),"comment";if(i.match("/*"))return e.tokenize.push(sh),sh(i,e)}if(i.match(jw))return"builtin";if(i.match(Vw))return"attribute";if(i.match(qw)||i.match(Ew)||i.match(zw)||i.match(Lw))return"number";if(i.match(Ww))return"property";if(Aw.indexOf(n)>-1)return i.next(),"operator";if(Zw.indexOf(n)>-1)return i.next(),i.match(".."),"punctuation";var r;if(r=i.match(/("""|"|')/)){var s=Yw.bind(null,r[0]);return e.tokenize.push(s),s(i,e)}if(i.match(Mw)){var o=i.current();return Rw.hasOwnProperty(o)?"type":_w.hasOwnProperty(o)?"atom":Cw.hasOwnProperty(o)?(Xw.hasOwnProperty(o)&&(e.prev="define"),"keyword"):t=="define"?"def":"variable"}return i.next(),null}function Dw(){var i=0;return function(e,t,n){var r=Dm(e,t,n);if(r=="punctuation"){if(e.current()=="(")++i;else if(e.current()==")"){if(i==0)return e.backUp(1),t.tokenize.pop(),t.tokenize[t.tokenize.length-1](e,t);--i}}return r}}function Yw(i,e,t){for(var n=i.length==1,r,s=!1;r=e.peek();)if(s){if(e.next(),r=="(")return t.tokenize.push(Dw()),"string";s=!1}else{if(e.match(i))return t.tokenize.pop(),"string";e.next(),s=r=="\\"}return n&&t.tokenize.pop(),"string"}function sh(i,e){for(var t;t=i.next();)if(t==="/"&&i.eat("*"))e.tokenize.push(sh);else if(t==="*"&&i.eat("/")){e.tokenize.pop();break}return"comment"}function Iw(i,e,t){this.prev=i,this.align=e,this.indented=t}function Bw(i,e){var t=e.match(/^\s*($|\/[\/\*]|[)}\]])/,!1)?null:e.column()+1;i.context=new Iw(i.context,t,i.indented)}function Uw(i){i.context&&(i.indented=i.context.indented,i.context=i.context.prev)}var Ym={name:"swift",startState:function(){return{prev:null,context:null,indented:0,tokenize:[]}},token:function(i,e){var t=e.prev;e.prev=null;var n=e.tokenize[e.tokenize.length-1]||Dm,r=n(i,e,t);if(!r||r=="comment"?e.prev=t:e.prev||(e.prev=r),r=="punctuation"){var s=/[\(\[\{]|([\]\)\}])/.exec(i.current());s&&(s[1]?Uw:Bw)(e,i)}return r},indent:function(i,e,t){var n=i.context;if(!n)return 0;var r=/^[\]\}\)]/.test(e);return n.align!=null?n.align-(r?1:0):n.indented+(r?0:t.unit)},languageData:{indentOnInput:/^\s*[\)\}\]]$/,commentTokens:{line:"//",block:{open:"/*",close:"*/"}},closeBrackets:{brackets:["(","[","{","'",'"',"`"]}}};var oh={};function ah(i,e){for(var t=0;t1&&i.eat("$");var t=i.next();return/['"({]/.test(t)?(e.tokens[0]=po(t,t=="("?"quote":t=="{"?"def":"string"),_n(i,e)):(/\d/.test(t)||i.eatWhile(/\w/),e.tokens.shift(),"def")};function Fw(i){return function(e,t){return e.sol()&&e.string==i&&t.tokens.shift(),e.skipToEnd(),"string.special"}}function _n(i,e){return(e.tokens[0]||Gw)(i,e)}var Nm={name:"shell",startState:function(){return{tokens:[]}},token:function(i,e){return _n(i,e)},languageData:{autocomplete:Im.concat(Bm,Um),closeBrackets:{brackets:["(","[","{","'",'"',"`"]},commentTokens:{line:"#"}}};var Hw=["true","false","on","off","yes","no"],Kw=new RegExp("\\b(("+Hw.join(")|(")+"))$","i"),Fm={name:"yaml",token:function(i,e){var t=i.peek(),n=e.escaped;if(e.escaped=!1,t=="#"&&(i.pos==0||/\s/.test(i.string.charAt(i.pos-1))))return i.skipToEnd(),"comment";if(i.match(/^('([^']|\\.)*'?|"([^"]|\\.)*"?)/))return"string";if(e.literal&&i.indentation()>e.keyCol)return i.skipToEnd(),"string";if(e.literal&&(e.literal=!1),i.sol()){if(e.keyCol=0,e.pair=!1,e.pairStart=!1,i.match("---")||i.match("..."))return"def";if(i.match(/^\s*-\s+/))return"meta"}if(i.match(/^(\{|\}|\[|\])/))return t=="{"?e.inlinePairs++:t=="}"?e.inlinePairs--:t=="["?e.inlineList++:e.inlineList--,"meta";if(e.inlineList>0&&!n&&t==",")return i.next(),"meta";if(e.inlinePairs>0&&!n&&t==",")return e.keyCol=0,e.pair=!1,e.pairStart=!1,i.next(),"meta";if(e.pairStart){if(i.match(/^\s*(\||\>)\s*/))return e.literal=!0,"meta";if(i.match(/^\s*(\&|\*)[a-z0-9\._-]+\b/i))return"variable";if(e.inlinePairs==0&&i.match(/^\s*-?[0-9\.\,]+\s?$/)||e.inlinePairs>0&&i.match(/^\s*-?[0-9\.\,]+\s?(?=(,|}))/))return"number";if(i.match(Kw))return"keyword"}return!e.pair&&i.match(/^\s*(?:[,\[\]{}&*!|>'"%@`][^\s'":]|[^,\[\]{}#&*!|>'"%@`])[^#]*?(?=\s*:($|\s))/)?(e.pair=!0,e.keyCol=i.indentation(),"atom"):e.pair&&i.match(/^:\s*/)?(e.pairStart=!0,"meta"):(e.pairStart=!1,e.escaped=t=="\\",i.next(),null)},startState:function(){return{pair:!1,pairStart:!1,keyCol:0,inlinePairs:0,inlineList:0,literal:!1,escaped:!1}},languageData:{commentTokens:{line:"#"}}};var Jw={break:!0,case:!0,chan:!0,const:!0,continue:!0,default:!0,defer:!0,else:!0,fallthrough:!0,for:!0,func:!0,go:!0,goto:!0,if:!0,import:!0,interface:!0,map:!0,package:!0,range:!0,return:!0,select:!0,struct:!0,switch:!0,type:!0,var:!0,bool:!0,byte:!0,complex64:!0,complex128:!0,float32:!0,float64:!0,int8:!0,int16:!0,int32:!0,int64:!0,string:!0,uint8:!0,uint16:!0,uint32:!0,uint64:!0,int:!0,uint:!0,uintptr:!0,error:!0,rune:!0,any:!0,comparable:!0},eP={true:!0,false:!0,iota:!0,nil:!0,append:!0,cap:!0,close:!0,complex:!0,copy:!0,delete:!0,imag:!0,len:!0,make:!0,new:!0,panic:!0,print:!0,println:!0,real:!0,recover:!0},Hm=/[+\-*&^%:=<>!|\/]/,Jt;function mo(i,e){var t=i.next();if(t=='"'||t=="'"||t=="`")return e.tokenize=tP(t),e.tokenize(i,e);if(/[\d\.]/.test(t))return t=="."?i.match(/^[0-9]+([eE][\-+]?[0-9]+)?/):t=="0"?i.match(/^[xX][0-9a-fA-F]+/)||i.match(/^0[0-7]+/):i.match(/^[0-9]*\.?[0-9]*([eE][\-+]?[0-9]+)?/),"number";if(/[\[\]{}\(\),;\:\.]/.test(t))return Jt=t,null;if(t=="/"){if(i.eat("*"))return e.tokenize=Km,Km(i,e);if(i.eat("/"))return i.skipToEnd(),"comment"}if(Hm.test(t))return i.eatWhile(Hm),"operator";i.eatWhile(/[\w\$_\xa1-\uffff]/);var n=i.current();return Jw.propertyIsEnumerable(n)?((n=="case"||n=="default")&&(Jt="case"),"keyword"):eP.propertyIsEnumerable(n)?"atom":"variable"}function tP(i){return function(e,t){for(var n=!1,r,s=!1;(r=e.next())!=null;){if(r==i&&!n){s=!0;break}n=!n&&i!="`"&&r=="\\"}return(s||!(n||i=="`"))&&(t.tokenize=mo),"string"}}function Km(i,e){for(var t=!1,n;n=i.next();){if(n=="/"&&t){e.tokenize=mo;break}t=n=="*"}return"comment"}function eg(i,e,t,n,r){this.indented=i,this.column=e,this.type=t,this.align=n,this.prev=r}function lh(i,e,t){return i.context=new eg(i.indented,e,t,null,i.context)}function Jm(i){if(i.context.prev){var e=i.context.type;return(e==")"||e=="]"||e=="}")&&(i.indented=i.context.indented),i.context=i.context.prev}}var tg={name:"go",startState:function(i){return{tokenize:null,context:new eg(-i,0,"top",!1),indented:0,startOfLine:!0}},token:function(i,e){var t=e.context;if(i.sol()&&(t.align==null&&(t.align=!1),e.indented=i.indentation(),e.startOfLine=!0,t.type=="case"&&(t.type="}")),i.eatSpace())return null;Jt=null;var n=(e.tokenize||mo)(i,e);return n=="comment"||(t.align==null&&(t.align=!0),Jt=="{"?lh(e,i.column(),"}"):Jt=="["?lh(e,i.column(),"]"):Jt=="("?lh(e,i.column(),")"):Jt=="case"?t.type="case":(Jt=="}"&&t.type=="}"||Jt==t.type)&&Jm(e),e.startOfLine=!1),n},indent:function(i,e,t){if(i.tokenize!=mo&&i.tokenize!=null)return null;var n=i.context,r=e&&e.charAt(0);if(n.type=="case"&&/^(?:case|default)\b/.test(e))return n.indented;var s=r==n.type;return n.align?n.column+(s?0:1):n.indented+(s?0:t.unit)},languageData:{indentOnInput:/^\s([{}]|case |default\s*:)$/,commentTokens:{line:"//",block:{open:"/*",close:"*/"}}}};function hh(i){for(var e={},t=0,n=i.length;t]/)?(i.eat(/[\<\>]/),"atom"):i.eat(/[\+\-\*\/\&\|\:\!]/)?"atom":i.eat(/[a-zA-Z$@_\xa1-\uffff]/)?(i.eatWhile(/[\w$\xa1-\uffff]/),i.eat(/[\?\!\=]/),"atom"):"operator";if(t=="@"&&i.match(/^@?[a-zA-Z_\xa1-\uffff]/))return i.eat("@"),i.eatWhile(/[\w\xa1-\uffff]/),"propertyName";if(t=="$")return i.eat(/[a-zA-Z_]/)?i.eatWhile(/[\w]/):i.eat(/\d/)?i.eat(/\d/):i.next(),"variableName.special";if(/[a-zA-Z_\xa1-\uffff]/.test(t))return i.eatWhile(/[\w\xa1-\uffff]/),i.eat(/[\?\!]/),i.eat(":")?"atom":"variable";if(t=="|"&&(e.varList||e.lastTok=="{"||e.lastTok=="do"))return Pt="|",null;if(/[\(\)\[\]{}\\;]/.test(t))return Pt=t,null;if(t=="-"&&i.eat(">"))return"operator";if(/[=+\-\/*:\.^%<>~|]/.test(t)){var a=i.eatWhile(/[=+\-\/*:\.^%<>~|]/);return t=="."&&!a&&(Pt="."),"operator"}else return null}}}function oP(i){for(var e=i.pos,t=0,n,r=!1,s=!1;(n=i.next())!=null;)if(s)s=!1;else{if("[{(".indexOf(n)>-1)t++;else if("]})".indexOf(n)>-1){if(t--,t<0)break}else if(n=="/"&&t==0){r=!0;break}s=n=="\\"}return i.backUp(i.pos-e),r}function ch(i){return i||(i=1),function(e,t){if(e.peek()=="}"){if(i==1)return t.tokenize.pop(),t.tokenize[t.tokenize.length-1](e,t);t.tokenize[t.tokenize.length-1]=ch(i-1)}else e.peek()=="{"&&(t.tokenize[t.tokenize.length-1]=ch(i+1));return go(e,t)}}function aP(){var i=!1;return function(e,t){return i?(t.tokenize.pop(),t.tokenize[t.tokenize.length-1](e,t)):(i=!0,go(e,t))}}function Rr(i,e,t,n){return function(r,s){var o=!1,a;for(s.context.type==="read-quoted-paused"&&(s.context=s.context.prev,r.eat("}"));(a=r.next())!=null;){if(a==i&&(n||!o)){s.tokenize.pop();break}if(t&&a=="#"&&!o){if(r.eat("{")){i=="}"&&(s.context={prev:s.context,type:"read-quoted-paused"}),s.tokenize.push(ch());break}else if(/[@\$]/.test(r.peek())){s.tokenize.push(aP());break}}o=!o&&a=="\\"}return e}}function lP(i,e){return function(t,n){return e&&t.eatSpace(),t.match(i)?n.tokenize.pop():t.skipToEnd(),"string"}}function cP(i,e){return i.sol()&&i.match("=end")&&i.eol()&&e.tokenize.pop(),i.skipToEnd(),"comment"}var rg={name:"ruby",startState:function(i){return{tokenize:[go],indented:0,context:{type:"top",indented:-i},continuedLine:!1,lastTok:null,varList:!1}},token:function(i,e){Pt=null,i.sol()&&(e.indented=i.indentation());var t=e.tokenize[e.tokenize.length-1](i,e),n,r=Pt;if(t=="variable"){var s=i.current();t=e.lastTok=="."?"property":iP.propertyIsEnumerable(i.current())?"keyword":/^[A-Z]/.test(s)?"tag":e.lastTok=="def"||e.lastTok=="class"||e.varList?"def":"variable",t=="keyword"&&(r=s,nP.propertyIsEnumerable(s)?n="indent":rP.propertyIsEnumerable(s)?n="dedent":((s=="if"||s=="unless")&&i.column()==i.indentation()||s=="do"&&e.context.indented2&&o.token&&typeof o.token!="string"){t.pending=[];for(var c=2;c-1)return null;var r=t.indent.length-1,s=i[t.state];e:for(;;){for(var o=0;o!]+/,token:"operator"},{regex:/[a-zA-Z_]\w*!/,token:"macroName"},{regex:/[a-zA-Z_]\w*/,token:"variable"},{regex:/[\{\[\(]/,indent:!0},{regex:/[\}\]\)]/,dedent:!0}],string:[{regex:/"/,token:"string",next:"start"},{regex:/(?:[^\\"]|\\(?:.|$))*/,token:"string"}],string_raw:[{regex:/"/,token:"string",next:"start"},{regex:/[^"]*/,token:"string"}],string_raw_hash:[{regex:/"#+/,token:"string",next:"start"},{regex:/(?:[^"]|"(?!#))*/,token:"string"}],comment:[{regex:/.*?\*\//,token:"comment",next:"start"},{regex:/.*/,token:"comment"}],languageData:{name:"rust",dontIndentStates:["comment"],indentOnInput:/^\s*\}$/,commentTokens:{line:"//",block:{open:"/*",close:"*/"}}}});function Oh(i,e,t,n,r,s){this.indented=i,this.column=e,this.type=t,this.info=n,this.align=r,this.prev=s}function Qo(i,e,t,n){var r=i.indented;return i.context&&i.context.type=="statement"&&t!="statement"&&(r=i.context.indented),i.context=new Oh(r,e,t,n,null,i.context)}function Ar(i){var e=i.context.type;return(e==")"||e=="]"||e=="}")&&(i.indented=i.context.indented),i.context=i.context.prev}function lg(i,e,t){if(e.prevToken=="variable"||e.prevToken=="type"||/\S(?:[^- ]>|[*\]])\s*$|\*$/.test(i.string.slice(0,t))||e.typeAtEndOfLine&&i.column()==i.indentation())return!0}function fh(i){for(;;){if(!i||i.type=="top")return!0;if(i.type=="}"&&i.prev.info!="namespace")return!1;i=i.prev}}function tt(i){var e=i.statementIndentUnit,t=i.dontAlignCalls,n=i.keywords||{},r=i.types||{},s=i.builtin||{},o=i.blockKeywords||{},a=i.defKeywords||{},l=i.atoms||{},c=i.hooks||{},h=i.multiLineStrings,f=i.indentStatements!==!1,u=i.indentSwitch!==!1,O=i.namespaceSeparator,p=i.isPunctuationChar||/[\[\]{}\(\),;\:\.]/,m=i.numberStart||/[\d\.]/,b=i.number||/^(?:0x[a-f\d]+|0b[01]+|(?:\d+\.?\d*|\.\d+)(?:e[-+]?\d+)?)(u|ll?|l|f)?/i,g=i.isOperatorChar||/[+\-*&%=<>!?|\/]/,Q=i.isIdentifierChar||/[\w\$_\xa1-\uffff]/,S=i.isReservedIdentifier||!1,x,P;function $(T,k){var w=T.next();if(c[w]){var C=c[w](T,k);if(C!==!1)return C}if(w=='"'||w=="'")return k.tokenize=R(w),k.tokenize(T,k);if(m.test(w)){if(T.backUp(1),T.match(b))return"number";T.next()}if(p.test(w))return x=w,null;if(w=="/"){if(T.eat("*"))return k.tokenize=_,_(T,k);if(T.eat("/"))return T.skipToEnd(),"comment"}if(g.test(w)){for(;!T.match(/^\/[\/*]/,!1)&&T.eat(g););return"operator"}if(T.eatWhile(Q),O)for(;T.match(O);)T.eatWhile(Q);var j=T.current();return ei(n,j)?(ei(o,j)&&(x="newstatement"),ei(a,j)&&(P=!0),"keyword"):ei(r,j)?"type":ei(s,j)||S&&S(j)?(ei(o,j)&&(x="newstatement"),"builtin"):ei(l,j)?"atom":"variable"}function R(T){return function(k,w){for(var C=!1,j,y=!1;(j=k.next())!=null;){if(j==T&&!C){y=!0;break}C=!C&&j=="\\"}return(y||!(C||h))&&(w.tokenize=null),"string"}}function _(T,k){for(var w=!1,C;C=T.next();){if(C=="/"&&w){k.tokenize=null;break}w=C=="*"}return"comment"}function W(T,k){i.typeFirstDefinitions&&T.eol()&&fh(k.context)&&(k.typeAtEndOfLine=lg(T,k,T.pos))}return{name:i.name,startState:function(T){return{tokenize:null,context:new Oh(-T,0,"top",null,!1),indented:0,startOfLine:!0,prevToken:null}},token:function(T,k){var w=k.context;if(T.sol()&&(w.align==null&&(w.align=!1),k.indented=T.indentation(),k.startOfLine=!0),T.eatSpace())return W(T,k),null;x=P=null;var C=(k.tokenize||$)(T,k);if(C=="comment"||C=="meta")return C;if(w.align==null&&(w.align=!0),x==";"||x==":"||x==","&&T.match(/^\s*(?:\/\/.*)?$/,!1))for(;k.context.type=="statement";)Ar(k);else if(x=="{")Qo(k,T.column(),"}");else if(x=="[")Qo(k,T.column(),"]");else if(x=="(")Qo(k,T.column(),")");else if(x=="}"){for(;w.type=="statement";)w=Ar(k);for(w.type=="}"&&(w=Ar(k));w.type=="statement";)w=Ar(k)}else x==w.type?Ar(k):f&&((w.type=="}"||w.type=="top")&&x!=";"||w.type=="statement"&&x=="newstatement")&&Qo(k,T.column(),"statement",T.current());if(C=="variable"&&(k.prevToken=="def"||i.typeFirstDefinitions&&lg(T,k,T.start)&&fh(k.context)&&T.match(/^\s*\(/,!1))&&(C="def"),c.token){var j=c.token(T,k,C);j!==void 0&&(C=j)}return C=="def"&&i.styleDefs===!1&&(C="variable"),k.startOfLine=!1,k.prevToken=P?"def":C||x,W(T,k),C},indent:function(T,k,w){if(T.tokenize!=$&&T.tokenize!=null||T.typeAtEndOfLine&&fh(T.context))return null;var C=T.context,j=k&&k.charAt(0),y=j==C.type;if(C.type=="statement"&&j=="}"&&(C=C.prev),i.dontIndentStatements)for(;C.type=="statement"&&i.dontIndentStatements.test(C.info);)C=C.prev;if(c.indent){var z=c.indent(T,C,k,w.unit);if(typeof z=="number")return z}var ye=C.prev&&C.prev.info=="switch";if(i.allmanIndentation&&/[{(]/.test(j)){for(;C.type!="top"&&C.type!="}";)C=C.prev;return C.indented}return C.type=="statement"?C.indented+(j=="{"?0:e||w.unit):C.align&&(!t||C.type!=")")?C.column+(y?0:1):C.type==")"&&!y?C.indented+(e||w.unit):C.indented+(y?0:w.unit)+(!y&&ye&&!/^(?:case|default)\b/.test(k)?w.unit:0)},languageData:{indentOnInput:u?/^\s*(?:case .*?:|default:|\{\}?|\})$/:/^\s*[{}]$/,commentTokens:{line:"//",block:{open:"/*",close:"*/"}},autocomplete:Object.keys(n).concat(Object.keys(r)).concat(Object.keys(s)).concat(Object.keys(l)),...i.languageData}}}function V(i){for(var e={},t=i.split(" "),n=0;n!?|\/#:@]/,hooks:{"@":function(i){return i.eatWhile(/[\w\$_]/),"meta"},'"':function(i,e){return i.match('""')?(e.tokenize=Sg,e.tokenize(i,e)):!1},"'":function(i){return i.match(/^(\\[^'\s]+|[^\\'])'/)?"character":(i.eatWhile(/[\w\$_\xa1-\uffff]/),"atom")},"=":function(i,e){var t=e.context;return t.type=="}"&&t.align&&i.eat(">")?(e.context=new Oh(t.indented,t.column,t.type,t.info,null,t.prev),"operator"):!1},"/":function(i,e){return i.eat("*")?(e.tokenize=Zr(1),e.tokenize(i,e)):!1}},languageData:{closeBrackets:{brackets:["(","[","{","'",'"','"""']}}});function gP(i){return function(e,t){for(var n=!1,r,s=!1;!e.eol();){if(!i&&!n&&e.match('"')){s=!0;break}if(i&&e.match('"""')){s=!0;break}r=e.next(),!n&&r=="$"&&e.match("{")&&e.skipTo("}"),n=!n&&r=="\\"&&!i}return(s||!i)&&(t.tokenize=null),"string"}}var yg=tt({name:"kotlin",keywords:V("package as typealias class interface this super val operator var fun for is in This throw return annotation break continue object if else while do try when !in !is as? file import where by get set abstract enum open inner override private public internal protected catch finally out final vararg reified dynamic companion constructor init sealed field property receiver param sparam lateinit data inline noinline tailrec external annotation crossinline const operator infix suspend actual expect setparam"),types:V("Boolean Byte Character CharSequence Class ClassLoader Cloneable Comparable Compiler Double Exception Float Integer Long Math Number Object Package Pair Process Runtime Runnable SecurityManager Short StackTraceElement StrictMath String StringBuffer System Thread ThreadGroup ThreadLocal Throwable Triple Void Annotation Any BooleanArray ByteArray Char CharArray DeprecationLevel DoubleArray Enum FloatArray Function Int IntArray Lazy LazyThreadSafetyMode LongArray Nothing ShortArray Unit"),intendSwitch:!1,indentStatements:!1,multiLineStrings:!0,number:/^(?:0x[a-f\d_]+|0b[01_]+|(?:[\d_]+(\.\d+)?|\.\d+)(?:e[-+]?[\d_]+)?)(ul?|l|f)?/i,blockKeywords:V("catch class do else finally for if where try while enum"),defKeywords:V("class val var object interface fun"),atoms:V("true false null this"),hooks:{"@":function(i){return i.eatWhile(/[\w\$_]/),"meta"},"*":function(i,e){return e.prevToken=="."?"variable":"operator"},'"':function(i,e){return e.tokenize=gP(i.match('""')),e.tokenize(i,e)},"/":function(i,e){return i.eat("*")?(e.tokenize=Zr(1),e.tokenize(i,e)):!1},indent:function(i,e,t,n){var r=t&&t.charAt(0);if((i.prevToken=="}"||i.prevToken==")")&&t=="")return i.indented;if(i.prevToken=="operator"&&t!="}"&&i.context.type!="}"||i.prevToken=="variable"&&r=="."||(i.prevToken=="}"||i.prevToken==")")&&r==".")return n*2+e.indented;if(e.align&&e.type=="}")return e.indented+(i.context.type==(t||"").charAt(0)?0:n)}},languageData:{closeBrackets:{brackets:["(","[","{","'",'"','"""']}}}),nC=tt({name:"shader",keywords:V("sampler1D sampler2D sampler3D samplerCube sampler1DShadow sampler2DShadow const attribute uniform varying break continue discard return for while do if else struct in out inout"),types:V("float int bool void vec2 vec3 vec4 ivec2 ivec3 ivec4 bvec2 bvec3 bvec4 mat2 mat3 mat4"),blockKeywords:V("for while do if else struct"),builtin:V("radians degrees sin cos tan asin acos atan pow exp log exp2 sqrt inversesqrt abs sign floor ceil fract mod min max clamp mix step smoothstep length distance dot cross normalize ftransform faceforward reflect refract matrixCompMult lessThan lessThanEqual greaterThan greaterThanEqual equal notEqual any all not texture1D texture1DProj texture1DLod texture1DProjLod texture2D texture2DProj texture2DLod texture2DProjLod texture3D texture3DProj texture3DLod texture3DProjLod textureCube textureCubeLod shadow1D shadow2D shadow1DProj shadow2DProj shadow1DLod shadow2DLod shadow1DProjLod shadow2DProjLod dFdx dFdy fwidth noise1 noise2 noise3 noise4"),atoms:V("true false gl_FragColor gl_SecondaryColor gl_Normal gl_Vertex gl_MultiTexCoord0 gl_MultiTexCoord1 gl_MultiTexCoord2 gl_MultiTexCoord3 gl_MultiTexCoord4 gl_MultiTexCoord5 gl_MultiTexCoord6 gl_MultiTexCoord7 gl_FogCoord gl_PointCoord gl_Position gl_PointSize gl_ClipVertex gl_FrontColor gl_BackColor gl_FrontSecondaryColor gl_BackSecondaryColor gl_TexCoord gl_FogFragCoord gl_FragCoord gl_FrontFacing gl_FragData gl_FragDepth gl_ModelViewMatrix gl_ProjectionMatrix gl_ModelViewProjectionMatrix gl_TextureMatrix gl_NormalMatrix gl_ModelViewMatrixInverse gl_ProjectionMatrixInverse gl_ModelViewProjectionMatrixInverse gl_TextureMatrixTranspose gl_ModelViewMatrixInverseTranspose gl_ProjectionMatrixInverseTranspose gl_ModelViewProjectionMatrixInverseTranspose gl_TextureMatrixInverseTranspose gl_NormalScale gl_DepthRange gl_ClipPlane gl_Point gl_FrontMaterial gl_BackMaterial gl_LightSource gl_LightModel gl_FrontLightModelProduct gl_BackLightModelProduct gl_TextureColor gl_EyePlaneS gl_EyePlaneT gl_EyePlaneR gl_EyePlaneQ gl_FogParameters gl_MaxLights gl_MaxClipPlanes gl_MaxTextureUnits gl_MaxTextureCoords gl_MaxVertexAttribs gl_MaxVertexUniformComponents gl_MaxVaryingFloats gl_MaxVertexTextureImageUnits gl_MaxTextureImageUnits gl_MaxFragmentUniformComponents gl_MaxCombineTextureImageUnits gl_MaxDrawBuffers"),indentSwitch:!1,hooks:{"#":yi}}),rC=tt({name:"nesc",keywords:V(qr+" as atomic async call command component components configuration event generic implementation includes interface module new norace nx_struct nx_union post provides signal task uses abstract extends"),types:Er,blockKeywords:V(zr),atoms:V("null true false"),hooks:{"#":yi}}),kg=tt({name:"objectivec",keywords:V(qr+" "+ug),types:dg,builtin:V(Og),blockKeywords:V(zr+" @synthesize @try @catch @finally @autoreleasepool @synchronized"),defKeywords:V(So+" @interface @implementation @protocol @class"),dontIndentStatements:/^@.*$/,typeFirstDefinitions:!0,atoms:V("YES NO NULL Nil nil true false nullptr"),isReservedIdentifier:ko,hooks:{"#":yi,"*":yo}}),sC=tt({name:"objectivecpp",keywords:V(qr+" "+ug+" "+fg),types:dg,builtin:V(Og),blockKeywords:V(zr+" @synthesize @try @catch @finally @autoreleasepool @synchronized class try catch"),defKeywords:V(So+" @interface @implementation @protocol @class class namespace"),dontIndentStatements:/^@.*$|^template$/,typeFirstDefinitions:!0,atoms:V("YES NO NULL Nil nil true false nullptr"),isReservedIdentifier:ko,hooks:{"#":yi,"*":yo,u:Si,U:Si,L:Si,R:Si,0:Se,1:Se,2:Se,3:Se,4:Se,5:Se,6:Se,7:Se,8:Se,9:Se,token:function(i,e,t){if(t=="variable"&&i.peek()=="("&&(e.prevToken==";"||e.prevToken==null||e.prevToken=="}")&&pg(i.current()))return"def"}},namespaceSeparator:"::"}),oC=tt({name:"squirrel",keywords:V("base break clone continue const default delete enum extends function in class foreach local resume return this throw typeof yield constructor instanceof static"),types:Er,blockKeywords:V("case catch class else for foreach if switch try while"),defKeywords:V("function local class"),typeFirstDefinitions:!0,atoms:V("true false null"),hooks:{"#":yi}}),bo=null;function xg(i){return function(e,t){for(var n=!1,r,s=!1;!e.eol();){if(!n&&e.match('"')&&(i=="single"||e.match('""'))){s=!0;break}if(!n&&e.match("``")){bo=xg(i),s=!0;break}r=e.next(),n=i=="single"&&!n&&r=="\\"}return s&&(t.tokenize=null),"string"}}var aC=tt({name:"ceylon",keywords:V("abstracts alias assembly assert assign break case catch class continue dynamic else exists extends finally for function given if import in interface is let module new nonempty object of out outer package return satisfies super switch then this throw try value void while"),types:function(i){var e=i.charAt(0);return e===e.toUpperCase()&&e!==e.toLowerCase()},blockKeywords:V("case catch class dynamic else finally for function if interface module new object switch try while"),defKeywords:V("class dynamic function interface module object package value"),builtin:V("abstract actual aliased annotation by default deprecated doc final formal late license native optional sealed see serializable shared suppressWarnings tagged throws variable"),isPunctuationChar:/[\[\]{}\(\),;\:\.`]/,isOperatorChar:/[+\-*&%=<>!?|^~:\/]/,numberStart:/[\d#$]/,number:/^(?:#[\da-fA-F_]+|\$[01_]+|[\d_]+[kMGTPmunpf]?|[\d_]+\.[\d_]+(?:[eE][-+]?\d+|[kMGTPmunpf]|)|)/i,multiLineStrings:!0,typeFirstDefinitions:!0,atoms:V("true false null larger smaller equal empty finished"),indentSwitch:!1,styleDefs:!1,hooks:{"@":function(i){return i.eatWhile(/[\w\$_]/),"meta"},'"':function(i,e){return e.tokenize=xg(i.match('""')?"triple":"single"),e.tokenize(i,e)},"`":function(i,e){return!bo||!i.match("`")?!1:(e.tokenize=bo,bo=null,e.tokenize(i,e))},"'":function(i){return i.match(/^(\\[^'\s]+|[^\\'])'/)?"string.special":(i.eatWhile(/[\w\$_\xa1-\uffff]/),"atom")},token:function(i,e,t){if((t=="variable"||t=="type")&&e.prevToken==".")return"variableName.special"}},languageData:{closeBrackets:{brackets:["(","[","{","'",'"','"""']}}});function QP(i){(i.interpolationStack||(i.interpolationStack=[])).push(i.tokenize)}function wg(i){return(i.interpolationStack||(i.interpolationStack=[])).pop()}function bP(i){return i.interpolationStack?i.interpolationStack.length:0}function uh(i,e,t,n){var r=!1;if(e.eat(i))if(e.eat(i))r=!0;else return"string";function s(o,a){for(var l=!1;!o.eol();){if(!n&&!l&&o.peek()=="$")return QP(a),a.tokenize=SP,"string";var c=o.next();if(c==i&&!l&&(!r||o.match(i+i))){a.tokenize=null;break}l=!n&&!l&&c=="\\"}return"string"}return t.tokenize=s,s(e,t)}function SP(i,e){return i.eat("$"),i.eat("{")?e.tokenize=null:e.tokenize=yP,null}function yP(i,e){return i.eatWhile(/[\w_]/),e.tokenize=wg(e),"variable"}var lC=tt({name:"dart",keywords:V("this super static final const abstract class extends external factory implements mixin get native set typedef with enum throw rethrow assert break case continue default in return new deferred async await covariant try catch finally do else for if switch while import library export part of show hide is as extension on yield late required sealed base interface when inline"),blockKeywords:V("try catch finally do else for if switch while"),builtin:V("void bool num int double dynamic var String Null Never"),atoms:V("true false null"),number:/^(?:0x[a-f\d_]+|(?:[\d_]+\.?[\d_]*|\.[\d_]+)(?:e[-+]?[\d_]+)?)/i,hooks:{"@":function(i){return i.eatWhile(/[\w\$_\.]/),"meta"},"'":function(i,e){return uh("'",i,e,!1)},'"':function(i,e){return uh('"',i,e,!1)},r:function(i,e){var t=i.peek();return t=="'"||t=='"'?uh(i.next(),i,e,!0):!1},"}":function(i,e){return bP(e)>0?(e.tokenize=wg(e),null):!1},"/":function(i,e){return i.eat("*")?(e.tokenize=Zr(1),e.tokenize(i,e)):!1},token:function(i,e,t){if(t=="variable"){var n=RegExp("^[_$]*[A-Z][a-zA-Z0-9_$]*$","g");if(n.test(i.current()))return"type"}}}});function je(i){var e=i.client||{},t=i.atoms||{false:!0,true:!0,null:!0},n=i.builtin||M(vg),r=i.keywords||M(Fi),s=i.operatorChars||/^[*+\-%<>!=&|~^\/]/,o=i.support||{},a=i.hooks||{},l=i.dateSQL||{date:!0,time:!0,timestamp:!0},c=i.backslashStringEscapes!==!1,h=i.brackets||/^[\{}\(\)\[\]]/,f=i.punctuation||/^[;.,:]/;function u(g,Q){var S=g.next();if(a[S]){var x=a[S](g,Q);if(x!==!1)return x}if(o.hexNumber&&(S=="0"&&g.match(/^[xX][0-9a-fA-F]+/)||(S=="x"||S=="X")&&g.match(/^'[0-9a-fA-F]*'/)))return"number";if(o.binaryNumber&&((S=="b"||S=="B")&&g.match(/^'[01]+'/)||S=="0"&&g.match(/^b[01]*/)))return"number";if(S.charCodeAt(0)>47&&S.charCodeAt(0)<58)return g.match(/^[0-9]*(\.[0-9]+)?([eE][-+]?[0-9]+)?/),o.decimallessFloat&&g.match(/^\.(?!\.)/),"number";if(S=="?"&&(g.eatSpace()||g.eol()||g.eat(";")))return"macroName";if(S=="'"||S=='"'&&o.doubleQuote)return Q.tokenize=O(S),Q.tokenize(g,Q);if((o.nCharCast&&(S=="n"||S=="N")||o.charsetCast&&S=="_"&&g.match(/[a-z][a-z0-9]*/i))&&(g.peek()=="'"||g.peek()=='"'))return"keyword";if(o.escapeConstant&&(S=="e"||S=="E")&&(g.peek()=="'"||g.peek()=='"'&&o.doubleQuote))return Q.tokenize=function($,R){return(R.tokenize=O($.next(),!0))($,R)},"keyword";if(o.commentSlashSlash&&S=="/"&&g.eat("/"))return g.skipToEnd(),"comment";if(o.commentHash&&S=="#"||S=="-"&&g.eat("-")&&(!o.commentSpaceRequired||g.eat(" ")))return g.skipToEnd(),"comment";if(S=="/"&&g.eat("*"))return Q.tokenize=p(1),Q.tokenize(g,Q);if(S=="."){if(o.zerolessFloat&&g.match(/^(?:\d+(?:e[+-]?\d+)?)/i))return"number";if(g.match(/^\.+/))return null;if(o.ODBCdotTable&&g.match(/^[\w\d_$#]+/))return"type"}else{if(s.test(S))return g.eatWhile(s),"operator";if(h.test(S))return"bracket";if(f.test(S))return g.eatWhile(f),"punctuation";if(S=="{"&&(g.match(/^( )*(d|D|t|T|ts|TS)( )*'[^']*'( )*}/)||g.match(/^( )*(d|D|t|T|ts|TS)( )*"[^"]*"( )*}/)))return"number";g.eatWhile(/^[_\w\d]/);var P=g.current().toLowerCase();return l.hasOwnProperty(P)&&(g.match(/^( )+'[^']*'/)||g.match(/^( )+"[^"]*"/))?"number":t.hasOwnProperty(P)?"atom":n.hasOwnProperty(P)?"type":r.hasOwnProperty(P)?"keyword":e.hasOwnProperty(P)?"builtin":null}}function O(g,Q){return function(S,x){for(var P=!1,$;($=S.next())!=null;){if($==g&&!P){x.tokenize=u;break}P=(c||Q)&&!P&&$=="\\"}return"string"}}function p(g){return function(Q,S){var x=Q.match(/^.*?(\/\*|\*\/)/);return x?x[1]=="/*"?S.tokenize=p(g+1):g>1?S.tokenize=p(g-1):S.tokenize=u:Q.skipToEnd(),"comment"}}function m(g,Q,S){Q.context={prev:Q.context,indent:g.indentation(),col:g.column(),type:S}}function b(g){g.indent=g.context.indent,g.context=g.context.prev}return{name:"sql",startState:function(){return{tokenize:u,context:null}},token:function(g,Q){if(g.sol()&&Q.context&&Q.context.align==null&&(Q.context.align=!1),Q.tokenize==u&&g.eatSpace())return null;var S=Q.tokenize(g,Q);if(S=="comment")return S;Q.context&&Q.context.align==null&&(Q.context.align=!0);var x=g.current();return x=="("?m(g,Q,")"):x=="["?m(g,Q,"]"):Q.context&&Q.context.type==x&&b(Q),S},indent:function(g,Q,S){var x=g.context;if(!x)return null;var P=Q.charAt(0)==x.type;return x.align?x.col+(P?0:1):x.indent+(P?0:S.unit)},languageData:{commentTokens:{line:o.commentSlashSlash?"//":o.commentHash?"#":"--",block:{open:"/*",close:"*/"}},closeBrackets:{brackets:["(","[","{","'",'"',"`"]}}}}function dh(i){for(var e;(e=i.next())!=null;)if(e=="`"&&!i.eat("`"))return"string.special";return i.backUp(i.current().length-1),i.eatWhile(/\w/)?"string.special":null}function kP(i){for(var e;(e=i.next())!=null;)if(e=='"'&&!i.eat('"'))return"string.special";return i.backUp(i.current().length-1),i.eatWhile(/\w/)?"string.special":null}function Ni(i){return i.eat("@")&&(i.match("session."),i.match("local."),i.match("global.")),i.eat("'")?(i.match(/^.*'/),"string.special"):i.eat('"')?(i.match(/^.*"/),"string.special"):i.eat("`")?(i.match(/^.*`/),"string.special"):i.match(/^[0-9a-zA-Z$\.\_]+/)?"string.special":null}function Pg(i){return i.eat("N")?"atom":i.match(/^[a-zA-Z.#!?]/)?"string.special":null}var Fi="alter and as asc between by count create delete desc distinct drop from group having in insert into is join like not on or order select set table union update values where limit ";function M(i){for(var e={},t=i.split(" "),n=0;n!=^\&|\/]/,brackets:/^[\{}\(\)]/,punctuation:/^[;.,:/]/,backslashStringEscapes:!1,dateSQL:M("date datetimeoffset datetime2 smalldatetime datetime time"),hooks:{"@":Ni}}),uC=je({client:M("charset clear connect edit ego exit go help nopager notee nowarning pager print prompt quit rehash source status system tee"),keywords:M(Fi+"accessible action add after algorithm all analyze asensitive at authors auto_increment autocommit avg avg_row_length before binary binlog both btree cache call cascade cascaded case catalog_name chain change changed character check checkpoint checksum class_origin client_statistics close coalesce code collate collation collations column columns comment commit committed completion concurrent condition connection consistent constraint contains continue contributors convert cross current current_date current_time current_timestamp current_user cursor data database databases day_hour day_microsecond day_minute day_second deallocate dec declare default delay_key_write delayed delimiter des_key_file describe deterministic dev_pop dev_samp deviance diagnostics directory disable discard distinctrow div dual dumpfile each elseif enable enclosed end ends engine engines enum errors escape escaped even event events every execute exists exit explain extended fast fetch field fields first flush for force foreign found_rows full fulltext function general get global grant grants group group_concat handler hash help high_priority hosts hour_microsecond hour_minute hour_second if ignore ignore_server_ids import index index_statistics infile inner innodb inout insensitive insert_method install interval invoker isolation iterate key keys kill language last leading leave left level limit linear lines list load local localtime localtimestamp lock logs low_priority master master_heartbeat_period master_ssl_verify_server_cert masters match max max_rows maxvalue message_text middleint migrate min min_rows minute_microsecond minute_second mod mode modifies modify mutex mysql_errno natural next no no_write_to_binlog offline offset one online open optimize option optionally out outer outfile pack_keys parser partition partitions password phase plugin plugins prepare preserve prev primary privileges procedure processlist profile profiles purge query quick range read read_write reads real rebuild recover references regexp relaylog release remove rename reorganize repair repeatable replace require resignal restrict resume return returns revoke right rlike rollback rollup row row_format rtree savepoint schedule schema schema_name schemas second_microsecond security sensitive separator serializable server session share show signal slave slow smallint snapshot soname spatial specific sql sql_big_result sql_buffer_result sql_cache sql_calc_found_rows sql_no_cache sql_small_result sqlexception sqlstate sqlwarning ssl start starting starts status std stddev stddev_pop stddev_samp storage straight_join subclass_origin sum suspend table_name table_statistics tables tablespace temporary terminated to trailing transaction trigger triggers truncate uncommitted undo uninstall unique unlock upgrade usage use use_frm user user_resources user_statistics using utc_date utc_time utc_timestamp value variables varying view views warnings when while with work write xa xor year_month zerofill begin do then else loop repeat"),builtin:M("bool boolean bit blob decimal double float long longblob longtext medium mediumblob mediumint mediumtext time timestamp tinyblob tinyint tinytext text bigint int int1 int2 int3 int4 int8 integer float float4 float8 double char varbinary varchar varcharacter precision date datetime year unsigned signed numeric"),atoms:M("false true null unknown"),operatorChars:/^[*+\-%<>!=&|^]/,dateSQL:M("date time timestamp"),support:M("ODBCdotTable decimallessFloat zerolessFloat binaryNumber hexNumber doubleQuote nCharCast charsetCast commentHash commentSpaceRequired"),hooks:{"@":Ni,"`":dh,"\\":Pg}}),OC=je({client:M("charset clear connect edit ego exit go help nopager notee nowarning pager print prompt quit rehash source status system tee"),keywords:M(Fi+"accessible action add after algorithm all always analyze asensitive at authors auto_increment autocommit avg avg_row_length before binary binlog both btree cache call cascade cascaded case catalog_name chain change changed character check checkpoint checksum class_origin client_statistics close coalesce code collate collation collations column columns comment commit committed completion concurrent condition connection consistent constraint contains continue contributors convert cross current current_date current_time current_timestamp current_user cursor data database databases day_hour day_microsecond day_minute day_second deallocate dec declare default delay_key_write delayed delimiter des_key_file describe deterministic dev_pop dev_samp deviance diagnostics directory disable discard distinctrow div dual dumpfile each elseif enable enclosed end ends engine engines enum errors escape escaped even event events every execute exists exit explain extended fast fetch field fields first flush for force foreign found_rows full fulltext function general generated get global grant grants group group_concat handler hard hash help high_priority hosts hour_microsecond hour_minute hour_second if ignore ignore_server_ids import index index_statistics infile inner innodb inout insensitive insert_method install interval invoker isolation iterate key keys kill language last leading leave left level limit linear lines list load local localtime localtimestamp lock logs low_priority master master_heartbeat_period master_ssl_verify_server_cert masters match max max_rows maxvalue message_text middleint migrate min min_rows minute_microsecond minute_second mod mode modifies modify mutex mysql_errno natural next no no_write_to_binlog offline offset one online open optimize option optionally out outer outfile pack_keys parser partition partitions password persistent phase plugin plugins prepare preserve prev primary privileges procedure processlist profile profiles purge query quick range read read_write reads real rebuild recover references regexp relaylog release remove rename reorganize repair repeatable replace require resignal restrict resume return returns revoke right rlike rollback rollup row row_format rtree savepoint schedule schema schema_name schemas second_microsecond security sensitive separator serializable server session share show shutdown signal slave slow smallint snapshot soft soname spatial specific sql sql_big_result sql_buffer_result sql_cache sql_calc_found_rows sql_no_cache sql_small_result sqlexception sqlstate sqlwarning ssl start starting starts status std stddev stddev_pop stddev_samp storage straight_join subclass_origin sum suspend table_name table_statistics tables tablespace temporary terminated to trailing transaction trigger triggers truncate uncommitted undo uninstall unique unlock upgrade usage use use_frm user user_resources user_statistics using utc_date utc_time utc_timestamp value variables varying view views virtual warnings when while with work write xa xor year_month zerofill begin do then else loop repeat"),builtin:M("bool boolean bit blob decimal double float long longblob longtext medium mediumblob mediumint mediumtext time timestamp tinyblob tinyint tinytext text bigint int int1 int2 int3 int4 int8 integer float float4 float8 double char varbinary varchar varcharacter precision date datetime year unsigned signed numeric"),atoms:M("false true null unknown"),operatorChars:/^[*+\-%<>!=&|^]/,dateSQL:M("date time timestamp"),support:M("ODBCdotTable decimallessFloat zerolessFloat binaryNumber hexNumber doubleQuote nCharCast charsetCast commentHash commentSpaceRequired"),hooks:{"@":Ni,"`":dh,"\\":Pg}}),dC=je({client:M("auth backup bail binary changes check clone databases dbinfo dump echo eqp exit explain fullschema headers help import imposter indexes iotrace limit lint load log mode nullvalue once open output print prompt quit read restore save scanstats schema separator session shell show stats system tables testcase timeout timer trace vfsinfo vfslist vfsname width"),keywords:M(Fi+"abort action add after all analyze attach autoincrement before begin cascade case cast check collate column commit conflict constraint cross current_date current_time current_timestamp database default deferrable deferred detach each else end escape except exclusive exists explain fail for foreign full glob if ignore immediate index indexed initially inner instead intersect isnull key left limit match natural no notnull null of offset outer plan pragma primary query raise recursive references regexp reindex release rename replace restrict right rollback row savepoint temp temporary then to transaction trigger unique using vacuum view virtual when with without"),builtin:M("bool boolean bit blob decimal double float long longblob longtext medium mediumblob mediumint mediumtext time timestamp tinyblob tinyint tinytext text clob bigint int int2 int8 integer float double char varchar date datetime year unsigned signed numeric real"),atoms:M("null current_date current_time current_timestamp"),operatorChars:/^[*+\-%<>!=&|/~]/,dateSQL:M("date time timestamp datetime"),support:M("decimallessFloat zerolessFloat"),identifierQuote:'"',hooks:{"@":Ni,":":Ni,"?":Ni,$:Ni,'"':kP,"`":dh}}),pC=je({client:{},keywords:M("add all allow alter and any apply as asc authorize batch begin by clustering columnfamily compact consistency count create custom delete desc distinct drop each_quorum exists filtering from grant if in index insert into key keyspace keyspaces level limit local_one local_quorum modify nan norecursive nosuperuser not of on one order password permission permissions primary quorum rename revoke schema select set storage superuser table three to token truncate ttl two type unlogged update use user users using values where with writetime"),builtin:M("ascii bigint blob boolean counter decimal double float frozen inet int list map static text timestamp timeuuid tuple uuid varchar varint"),atoms:M("false true infinity NaN"),operatorChars:/^[<>=]/,dateSQL:{},support:M("commentSlashSlash decimallessFloat"),hooks:{}}),mC=je({client:M("appinfo arraysize autocommit autoprint autorecovery autotrace blockterminator break btitle cmdsep colsep compatibility compute concat copycommit copytypecheck define describe echo editfile embedded escape exec execute feedback flagger flush heading headsep instance linesize lno loboffset logsource long longchunksize markup native newpage numformat numwidth pagesize pause pno recsep recsepchar release repfooter repheader serveroutput shiftinout show showmode size spool sqlblanklines sqlcase sqlcode sqlcontinue sqlnumber sqlpluscompatibility sqlprefix sqlprompt sqlterminator suffix tab term termout time timing trimout trimspool ttitle underline verify version wrap"),keywords:M("abort accept access add all alter and any array arraylen as asc assert assign at attributes audit authorization avg base_table begin between binary_integer body boolean by case cast char char_base check close cluster clusters colauth column comment commit compress connect connected constant constraint crash create current currval cursor data_base database date dba deallocate debugoff debugon decimal declare default definition delay delete desc digits dispose distinct do drop else elseif elsif enable end entry escape exception exception_init exchange exclusive exists exit external fast fetch file for force form from function generic goto grant group having identified if immediate in increment index indexes indicator initial initrans insert interface intersect into is key level library like limited local lock log logging long loop master maxextents maxtrans member minextents minus mislabel mode modify multiset new next no noaudit nocompress nologging noparallel not nowait number_base object of off offline on online only open option or order out package parallel partition pctfree pctincrease pctused pls_integer positive positiven pragma primary prior private privileges procedure public raise range raw read rebuild record ref references refresh release rename replace resource restrict return returning returns reverse revoke rollback row rowid rowlabel rownum rows run savepoint schema segment select separate session set share snapshot some space split sql start statement storage subtype successful synonym tabauth table tables tablespace task terminate then to trigger truncate type union unique unlimited unrecoverable unusable update use using validate value values variable view views when whenever where while with work"),builtin:M("abs acos add_months ascii asin atan atan2 average bfile bfilename bigserial bit blob ceil character chartorowid chr clob concat convert cos cosh count dec decode deref dual dump dup_val_on_index empty error exp false float floor found glb greatest hextoraw initcap instr instrb int integer isopen last_day least length lengthb ln lower lpad ltrim lub make_ref max min mlslabel mod months_between natural naturaln nchar nclob new_time next_day nextval nls_charset_decl_len nls_charset_id nls_charset_name nls_initcap nls_lower nls_sort nls_upper nlssort no_data_found notfound null number numeric nvarchar2 nvl others power rawtohex real reftohex round rowcount rowidtochar rowtype rpad rtrim serial sign signtype sin sinh smallint soundex sqlcode sqlerrm sqrt stddev string substr substrb sum sysdate tan tanh to_char text to_date to_label to_multi_byte to_number to_single_byte translate true trunc uid unlogged upper user userenv varchar varchar2 variance varying vsize xml"),operatorChars:/^[*\/+\-%<>!=~]/,dateSQL:M("date time timestamp"),support:M("doubleQuote nCharCast zerolessFloat binaryNumber hexNumber")}),gC=je({keywords:M("select alter $elem$ $key$ $value$ add after all analyze and archive as asc before between binary both bucket buckets by cascade case cast change cluster clustered clusterstatus collection column columns comment compute concatenate continue create cross cursor data database databases dbproperties deferred delete delimited desc describe directory disable distinct distribute drop else enable end escaped exclusive exists explain export extended external fetch fields fileformat first format formatted from full function functions grant group having hold_ddltime idxproperties if import in index indexes inpath inputdriver inputformat insert intersect into is items join keys lateral left like limit lines load local location lock locks mapjoin materialized minus msck no_drop nocompress not of offline on option or order out outer outputdriver outputformat overwrite partition partitioned partitions percent plus preserve procedure purge range rcfile read readonly reads rebuild recordreader recordwriter recover reduce regexp rename repair replace restrict revoke right rlike row schema schemas semi sequencefile serde serdeproperties set shared show show_database sort sorted ssl statistics stored streamtable table tables tablesample tblproperties temporary terminated textfile then tmp to touch transform trigger unarchive undo union uniquejoin unlock update use using utc utc_tmestamp view when where while with admin authorization char compact compactions conf cube current current_date current_timestamp day decimal defined dependency directories elem_type exchange file following for grouping hour ignore inner interval jar less logical macro minute month more none noscan over owner partialscan preceding pretty principals protection reload rewrite role roles rollup rows second server sets skewed transactions truncate unbounded unset uri user values window year"),builtin:M("bool boolean long timestamp tinyint smallint bigint int float double date datetime unsigned string array struct map uniontype key_type utctimestamp value_type varchar"),atoms:M("false true null unknown"),operatorChars:/^[*+\-%<>!=]/,dateSQL:M("date timestamp"),support:M("ODBCdotTable doubleQuote binaryNumber hexNumber")}),QC=je({client:M("source"),keywords:M(Fi+"a abort abs absent absolute access according action ada add admin after aggregate alias all allocate also alter always analyse analyze and any are array array_agg array_max_cardinality as asc asensitive assert assertion assignment asymmetric at atomic attach attribute attributes authorization avg backward base64 before begin begin_frame begin_partition bernoulli between bigint binary bit bit_length blob blocked bom boolean both breadth by c cache call called cardinality cascade cascaded case cast catalog catalog_name ceil ceiling chain char char_length character character_length character_set_catalog character_set_name character_set_schema characteristics characters check checkpoint class class_origin clob close cluster coalesce cobol collate collation collation_catalog collation_name collation_schema collect column column_name columns command_function command_function_code comment comments commit committed concurrently condition condition_number configuration conflict connect connection connection_name constant constraint constraint_catalog constraint_name constraint_schema constraints constructor contains content continue control conversion convert copy corr corresponding cost count covar_pop covar_samp create cross csv cube cume_dist current current_catalog current_date current_default_transform_group current_path current_role current_row current_schema current_time current_timestamp current_transform_group_for_type current_user cursor cursor_name cycle data database datalink datatype date datetime_interval_code datetime_interval_precision day db deallocate debug dec decimal declare default defaults deferrable deferred defined definer degree delete delimiter delimiters dense_rank depends depth deref derived desc describe descriptor detach detail deterministic diagnostics dictionary disable discard disconnect dispatch distinct dlnewcopy dlpreviouscopy dlurlcomplete dlurlcompleteonly dlurlcompletewrite dlurlpath dlurlpathonly dlurlpathwrite dlurlscheme dlurlserver dlvalue do document domain double drop dump dynamic dynamic_function dynamic_function_code each element else elseif elsif empty enable encoding encrypted end end_frame end_partition endexec enforced enum equals errcode error escape event every except exception exclude excluding exclusive exec execute exists exit exp explain expression extension external extract false family fetch file filter final first first_value flag float floor following for force foreach foreign fortran forward found frame_row free freeze from fs full function functions fusion g general generated get global go goto grant granted greatest group grouping groups handler having header hex hierarchy hint hold hour id identity if ignore ilike immediate immediately immutable implementation implicit import in include including increment indent index indexes indicator info inherit inherits initially inline inner inout input insensitive insert instance instantiable instead int integer integrity intersect intersection interval into invoker is isnull isolation join k key key_member key_type label lag language large last last_value lateral lead leading leakproof least left length level library like like_regex limit link listen ln load local localtime localtimestamp location locator lock locked log logged loop lower m map mapping match matched materialized max max_cardinality maxvalue member merge message message_length message_octet_length message_text method min minute minvalue mod mode modifies module month more move multiset mumps name names namespace national natural nchar nclob nesting new next nfc nfd nfkc nfkd nil no none normalize normalized not nothing notice notify notnull nowait nth_value ntile null nullable nullif nulls number numeric object occurrences_regex octet_length octets of off offset oids old on only open operator option options or order ordering ordinality others out outer output over overlaps overlay overriding owned owner p pad parallel parameter parameter_mode parameter_name parameter_ordinal_position parameter_specific_catalog parameter_specific_name parameter_specific_schema parser partial partition pascal passing passthrough password path percent percent_rank percentile_cont percentile_disc perform period permission pg_context pg_datatype_name pg_exception_context pg_exception_detail pg_exception_hint placing plans pli policy portion position position_regex power precedes preceding precision prepare prepared preserve primary print_strict_params prior privileges procedural procedure procedures program public publication query quote raise range rank read reads real reassign recheck recovery recursive ref references referencing refresh regr_avgx regr_avgy regr_count regr_intercept regr_r2 regr_slope regr_sxx regr_sxy regr_syy reindex relative release rename repeatable replace replica requiring reset respect restart restore restrict result result_oid return returned_cardinality returned_length returned_octet_length returned_sqlstate returning returns reverse revoke right role rollback rollup routine routine_catalog routine_name routine_schema routines row row_count row_number rows rowtype rule savepoint scale schema schema_name schemas scope scope_catalog scope_name scope_schema scroll search second section security select selective self sensitive sequence sequences serializable server server_name session session_user set setof sets share show similar simple size skip slice smallint snapshot some source space specific specific_name specifictype sql sqlcode sqlerror sqlexception sqlstate sqlwarning sqrt stable stacked standalone start state statement static statistics stddev_pop stddev_samp stdin stdout storage strict strip structure style subclass_origin submultiset subscription substring substring_regex succeeds sum symmetric sysid system system_time system_user t table table_name tables tablesample tablespace temp template temporary text then ties time timestamp timezone_hour timezone_minute to token top_level_count trailing transaction transaction_active transactions_committed transactions_rolled_back transform transforms translate translate_regex translation treat trigger trigger_catalog trigger_name trigger_schema trim trim_array true truncate trusted type types uescape unbounded uncommitted under unencrypted union unique unknown unlink unlisten unlogged unnamed unnest until untyped update upper uri usage use_column use_variable user user_defined_type_catalog user_defined_type_code user_defined_type_name user_defined_type_schema using vacuum valid validate validator value value_of values var_pop var_samp varbinary varchar variable_conflict variadic varying verbose version versioning view views volatile warning when whenever where while whitespace width_bucket window with within without work wrapper write xml xmlagg xmlattributes xmlbinary xmlcast xmlcomment xmlconcat xmldeclaration xmldocument xmlelement xmlexists xmlforest xmliterate xmlnamespaces xmlparse xmlpi xmlquery xmlroot xmlschema xmlserialize xmltable xmltext xmlvalidate year yes zone"),builtin:M("bigint int8 bigserial serial8 bit varying varbit boolean bool box bytea character char varchar cidr circle date double precision float8 inet integer int int4 interval json jsonb line lseg macaddr macaddr8 money numeric decimal path pg_lsn point polygon real float4 smallint int2 smallserial serial2 serial serial4 text time without zone with timetz timestamp timestamptz tsquery tsvector txid_snapshot uuid xml"),atoms:M("false true null unknown"),operatorChars:/^[*\/+\-%<>!=&|^\/#@?~]/,backslashStringEscapes:!1,dateSQL:M("date time timestamp"),support:M("ODBCdotTable decimallessFloat zerolessFloat binaryNumber hexNumber nCharCast charsetCast escapeConstant")}),bC=je({keywords:M("ancestor and asc by contains desc descendant distinct from group has in is limit offset on order select superset where"),atoms:M("false true"),builtin:M("blob datetime first key __key__ string integer double boolean null"),operatorChars:/^[*+\-%<>!=]/}),SC=je({client:M("source"),keywords:M("abort absolute access action active add admin after aggregate all also alter always analyse analyze and any array as asc assertion assignment asymmetric at authorization backward before begin between bigint binary bit boolean both by cache called cascade cascaded case cast chain char character characteristics check checkpoint class close cluster coalesce codegen collate column comment commit committed concurrency concurrently configuration connection constraint constraints contains content continue conversion copy cost cpu_rate_limit create createdb createexttable createrole createuser cross csv cube current current_catalog current_date current_role current_schema current_time current_timestamp current_user cursor cycle data database day deallocate dec decimal declare decode default defaults deferrable deferred definer delete delimiter delimiters deny desc dictionary disable discard distinct distributed do document domain double drop dxl each else enable encoding encrypted end enum errors escape every except exchange exclude excluding exclusive execute exists explain extension external extract false family fetch fields filespace fill filter first float following for force foreign format forward freeze from full function global grant granted greatest group group_id grouping handler hash having header hold host hour identity if ignore ilike immediate immutable implicit in including inclusive increment index indexes inherit inherits initially inline inner inout input insensitive insert instead int integer intersect interval into invoker is isnull isolation join key language large last leading least left level like limit list listen load local localtime localtimestamp location lock log login mapping master match maxvalue median merge minute minvalue missing mode modifies modify month move name names national natural nchar new newline next no nocreatedb nocreateexttable nocreaterole nocreateuser noinherit nologin none noovercommit nosuperuser not nothing notify notnull nowait null nullif nulls numeric object of off offset oids old on only operator option options or order ordered others out outer over overcommit overlaps overlay owned owner parser partial partition partitions passing password percent percentile_cont percentile_disc placing plans position preceding precision prepare prepared preserve primary prior privileges procedural procedure protocol queue quote randomly range read readable reads real reassign recheck recursive ref references reindex reject relative release rename repeatable replace replica reset resource restart restrict returning returns revoke right role rollback rollup rootpartition row rows rule savepoint scatter schema scroll search second security segment select sequence serializable session session_user set setof sets share show similar simple smallint some split sql stable standalone start statement statistics stdin stdout storage strict strip subpartition subpartitions substring superuser symmetric sysid system table tablespace temp template temporary text then threshold ties time timestamp to trailing transaction treat trigger trim true truncate trusted type unbounded uncommitted unencrypted union unique unknown unlisten until update user using vacuum valid validation validator value values varchar variadic varying verbose version view volatile web when where whitespace window with within without work writable write xml xmlattributes xmlconcat xmlelement xmlexists xmlforest xmlparse xmlpi xmlroot xmlserialize year yes zone"),builtin:M("bigint int8 bigserial serial8 bit varying varbit boolean bool box bytea character char varchar cidr circle date double precision float float8 inet integer int int4 interval json jsonb line lseg macaddr macaddr8 money numeric decimal path pg_lsn point polygon real float4 smallint int2 smallserial serial2 serial serial4 text time without zone with timetz timestamp timestamptz tsquery tsvector txid_snapshot uuid xml"),atoms:M("false true null unknown"),operatorChars:/^[*+\-%<>!=&|^\/#@?~]/,dateSQL:M("date time timestamp"),support:M("ODBCdotTable decimallessFloat zerolessFloat binaryNumber hexNumber nCharCast charsetCast")}),yC=je({keywords:M("add after all alter analyze and anti archive array as asc at between bucket buckets by cache cascade case cast change clear cluster clustered codegen collection column columns comment commit compact compactions compute concatenate cost create cross cube current current_date current_timestamp database databases data dbproperties defined delete delimited deny desc describe dfs directories distinct distribute drop else end escaped except exchange exists explain export extended external false fields fileformat first following for format formatted from full function functions global grant group grouping having if ignore import in index indexes inner inpath inputformat insert intersect interval into is items join keys last lateral lazy left like limit lines list load local location lock locks logical macro map minus msck natural no not null nulls of on optimize option options or order out outer outputformat over overwrite partition partitioned partitions percent preceding principals purge range recordreader recordwriter recover reduce refresh regexp rename repair replace reset restrict revoke right rlike role roles rollback rollup row rows schema schemas select semi separated serde serdeproperties set sets show skewed sort sorted start statistics stored stratify struct table tables tablesample tblproperties temp temporary terminated then to touch transaction transactions transform true truncate unarchive unbounded uncache union unlock unset use using values view when where window with"),builtin:M("tinyint smallint int bigint boolean float double string binary timestamp decimal array map struct uniontype delimited serde sequencefile textfile rcfile inputformat outputformat"),atoms:M("false true null"),operatorChars:/^[*\/+\-%<>!=~&|^]/,dateSQL:M("date time timestamp"),support:M("ODBCdotTable doubleQuote zerolessFloat")}),kC=je({client:M("source"),keywords:M("alter and as asc between by count create delete desc distinct drop from group having in insert into is join like not on or order select set table union update values where limit after all and as at asc avedev avg between by case cast coalesce count create current_timestamp day days delete define desc distinct else end escape events every exists false first from full group having hour hours in inner insert instanceof into irstream is istream join last lastweekday left limit like max match_recognize matches median measures metadatasql min minute minutes msec millisecond milliseconds not null offset on or order outer output partition pattern prev prior regexp retain-union retain-intersection right rstream sec second seconds select set some snapshot sql stddev sum then true unidirectional until update variable weekday when where window"),builtin:{},atoms:M("false true null"),operatorChars:/^[*+\-%<>!=&|^\/#@?~]/,dateSQL:M("time"),support:M("decimallessFloat zerolessFloat binaryNumber hexNumber")});var $g={name:"toml",startState:function(){return{inString:!1,stringType:"",lhs:!0,inArray:0}},token:function(i,e){let t;if(!e.inString&&(t=i.match(/^('''|"""|'|")/))&&(e.stringType=t[0],e.inString=!0),i.sol()&&!e.inString&&e.inArray===0&&(e.lhs=!0),e.inString){for(;e.inString;)if(i.match(e.stringType))e.inString=!1;else if(i.peek()==="\\")i.next(),i.next();else{if(i.eol())break;i.match(/^.[^\\\"\']*/)}return e.lhs?"property":"string"}else{if(e.inArray&&i.peek()==="]")return i.next(),e.inArray--,"bracket";if(e.lhs&&i.peek()==="["&&i.skipTo("]"))return i.next(),i.peek()==="]"&&i.next(),"atom";if(i.peek()==="#")return i.skipToEnd(),"comment";if(i.eatSpace())return null;if(e.lhs&&i.eatWhile(function(n){return n!="="&&n!=" "}))return"property";if(e.lhs&&i.peek()==="=")return i.next(),e.lhs=!1,null;if(!e.lhs&&i.match(/^\d\d\d\d[\d\-\:\.T]*Z/))return"atom";if(!e.lhs&&(i.match("true")||i.match("false")))return"atom";if(!e.lhs&&i.peek()==="[")return e.inArray++,i.next(),"bracket";if(!e.lhs&&i.match(/^\-?\d+(?:\.\d+)?/))return"number";i.eatSpace()||i.next()}return null},languageData:{commentTokens:{line:"#"}}};var xP=ge({"for in if else endfor endif":d.controlKeyword,"Attribute/Identifier":d.definition(d.propertyName),"ForIntro/Identifier":d.definition(d.propertyName),"Block/Identifier":d.definitionKeyword,"FunctionCall/Identifier":d.function(d.variableName),"Attribute/Expression":d.attributeValue,"VariableExpr/Identifier":d.variableName,"GetAttr/Identifier":d.variableName,Identifier:d.name,"LiteralValue/...":d.literal,"StringLit/... TemplateLiteral":d.string,NumericLit:d.number,BoolLit:d.bool,NullLit:d.null,Comment:d.comment,LineComment:d.lineComment,BlockComment:d.blockComment,"( )":d.paren,"{ }":d.bracket,"[ ]":d.squareBracket,ArithOp:d.arithmeticOperator,LogicOp:d.logicOperator,CompareOp:d.compareOperator,ControlOp:d.controlOperator,HeredocIdentifier:d.special(d.controlKeyword),HeredocStart:d.special(d.brace),"TemplateInterpolationStart TemplateInterpolationEnd":d.special(d.brace),"TemplateDirectiveStart TemplateDirectiveEnd":d.special(d.brace),StripMarker:d.special(d.brace),Ellipsis:d.punctuation,": =>":d.punctuation,",":d.separator}),ph=1,mh=2,gh=3,Qh=4,bh=5,Sh=6,An=7,Ze=93,Te={QUOTED_TEMPLATE:1,TEMPLATE_INTERPOLATION:2,TEMPLATE_DIRECTIVE:4,HEREDOC_TEMPLATE:8},wP=function(i){var e=0,t,n;if(i.length===0)return e;for(t=0;t{if(e.canShift(ph)&&!(e.context&&e.context.type===Te.QUOTED_TEMPLATE)&&String.fromCharCode(i.next)==='"')return i.advance(),i.acceptToken(ph)},{contextual:!0,fallback:!0}),TP=new K((i,e)=>{if(e.canShift(mh)&&e.context&&e.context.type===Te.QUOTED_TEMPLATE&&String.fromCharCode(i.next)==='"')return i.advance(),i.acceptToken(mh)},{contextual:!0,fallback:!0}),CP=new K((i,e)=>{if(e.canShift(Ze)&&e.context&&e.context.type===Te.QUOTED_TEMPLATE)switch(String.fromCharCode(i.next)){case"\\":switch(i.advance(),String.fromCharCode(i.next)){case'"':case"n":case"r":case"t":case"\\":return i.advance(),i.acceptToken(Ze);case"u":for(let t=0;t<4;t++)if(i.advance(),!/[0-9a-fA-F]/.test(String.fromCharCode(i.next)))return;return i.advance(),i.acceptToken(Ze);case"U":for(let t=0;t<8;t++)if(i.advance(),!/[0-9a-fA-F]/.test(String.fromCharCode(i.next)))return;return i.advance(),i.acceptToken(Ze);default:return}}if(e.canShift(Ze)&&e.context&&(e.context.type===Te.QUOTED_TEMPLATE||e.context.type===Te.HEREDOC_TEMPLATE)&&i.next!==-1)return i.advance(),i.acceptToken(Ze)},{contextual:!0,fallback:!0}),XP=new K((i,e)=>{if(e.canShift(gh)&&e.canShift(Ze)&&!(e.context&&e.context.type===Te.TEMPLATE_INTERPOLATION)&&String.fromCharCode(i.next)==="$")return i.advance(),String.fromCharCode(i.next)==="{"?(i.advance(),i.acceptToken(gh)):(String.fromCharCode(i.next)==="$"&&(i.advance(),String.fromCharCode(i.next)==="{")&&i.advance(),i.acceptToken(Ze))},{contextual:!0,fallback:!0}),_P=new K((i,e)=>{if(e.canShift(Qh)&&e.context&&e.context.type===Te.TEMPLATE_INTERPOLATION&&String.fromCharCode(i.next)==="}")return i.advance(),i.acceptToken(Qh)},{contextual:!0,fallback:!0}),RP=new K((i,e)=>{if(e.canShift(bh)&&e.canShift(Ze)&&!(e.context&&e.context.type===Te.TEMPLATE_DIRECTIVE)&&String.fromCharCode(i.next)==="%")return i.advance(),String.fromCharCode(i.next)==="{"?(i.advance(),i.acceptToken(bh)):(String.fromCharCode(i.next)==="%"&&(i.advance(),String.fromCharCode(i.next)==="{")&&i.advance(),i.acceptToken(Ze))},{contextual:!0,fallback:!0}),AP=new K((i,e)=>{if(e.canShift(Sh)&&e.context&&e.context.type===Te.TEMPLATE_DIRECTIVE&&String.fromCharCode(i.next)==="}")return i.advance(),i.acceptToken(Sh)},{contextual:!0,fallback:!0}),ZP=new K((i,e)=>{if(e.canShift(An)&&!(e.context&&e.context.type===Te.HEREDOC_TEMPLATE)&&i.next!==-1){let t=String.fromCharCode(i.next);for(;/[0-9a-zA-Z]/.test(t)||t==="_"||t==="-";)i.advance(),t=String.fromCharCode(i.next);return i.acceptToken(An)}if(e.canShift(An)&&e.canShift(Ze)&&e.context&&e.context.type===Te.HEREDOC_TEMPLATE&&i.next!=-1){let t=e.context.heredoc_identifier,n=!1,r=!1,s=String.fromCharCode(i.next);for(;/\s/.test(s);)r=!0,s===` -`&&(n=!0),i.advance(),s=String.fromCharCode(i.next);if(r&&i.acceptToken(Ze),!n)return;let o=0;for(let l=0;lbQ&jO,5:fOOQy,5:h,5:hPOQy'#EY'#EYPOQy,5:j,5:jPOQy,5:k,5:kOOQy1G0g1G0gOOQO7+%u7+%uO>jQ&jO7+%uOOQ%n,5:|,5:|OOQ%n1G.}1G.}O>oQ&rO1G.}O>tQ&rO1G.}OOQ%n1G/Q1G/QO?PQ&jO,59jO?[Q'[O,59jOOQ%n1G/W1G/WO1tQ)tO1G/WO?dQ&jO'#DVO1tQ)tO1G/WO?rQ&jO,59oO@QQ'[O,59oO@YQ'[O,59qO@bQ&jO1G/RO@jQ&jO1G/RO$yQ&kO1G/XO@oQ'[O1G/XOOQy7+$y7+$yO@zQ&jO,5:rOA]Q&kO1G0lOOQO-E8U-E8UOOQy7+%[7+%[OAdQ&jO7+%[O$yQ&kO'#DlO$yQ&kO1G/qOAiQ&jO1G/qOOQP'#ES'#ESO$yQ&kO7+%rP$yQ&kO'#EXO$yQ&kO7+%_OAnQ&kO,5:ROAuQ&jO,5:ROOQO,5:R,5:ROOQy7+%V7+%VOOQy1G0Q1G0QPOQy-E8W-E8WOOQO<eAN>eOKmQ&jOAN>eOKrQ&jOAN>eOOQ%n<cOOQyG24PG24POLiQ&jOG24POOQ$YG23_G23_OLnQ'[OG23_OLyQ'[OG23_O$yQ&kOG23_OOQPG23}G23}OOQyLD)kLD)kOOQ$YLD(yLD(yOMOQ'[OLD(yOMTQ'[OLD(yOOQ$Y!$'Le!$'LeOM`Q'[O!$'LeOOQ$Y!)9BP!)9BPO-wQ&kO'#DoO/TQ&kO'#DoOMeQ&kO'#CkO-wQ&kO,5:^O/TQ&kO,5:^O-wQ&kO,5:^O/TQ&kO,5:^O-wQ&kO,5:^O/TQ&kO,5:^O-wQ&kO,5:^O/TQ&kO,5:^O-wQ&kO,5:^O/TQ&kO,5:^O-wQ&kO,5:^O/TQ&kO,5:^ON[Q&kO1G/xO! XQ&kO1G/xO!!UQ&kO1G/xO!%UQ&kO1G/xO!%]Q&kO1G/xO-wQ&kO7+%rO/TQ&kO7+%rO4uQ&jO1G0WO4uQ&jO1G0WO$yQ&kO,5:lO$yQ&kO,5:l",stateData:"!%l~O#ROSXPQYPQ~O^RO!SQO~OXVOYVO~OPZO^gOa[OcXOdXOfYO!P`O!RdO!ScO!YoO#W]O#X]O#^iO#_jO~OPqO^sO!SuO#SrO~O^RO#O[X!R[X~OQ!PORyOT!QO#PwO~OV!RO~OPZO^gOa[OcXOdXOfYOp!WO!P`O!ScO!YoO#W]O#X]O#^iO#_jO~O!O!TO~P#iO#S!XO#[!XO#o!YO~OPZO^gOa[OcXOdXOfYO!P`O!ScO!YoO#W]O#X]O#^iO#_jO~O#V!]O!R#ZX~P$yOp!WO~PmO!R!`O~O!Y!aO!P!VX!o!VX#^!VX#`!VX#a!VX#b!VX#c!VX#d!VX#e!VX#f!VX#g!VX#h!VX#i!VX#j!VX#k!VX#l!VX#m!VX#n!VX#o!VX~O#S!VX#[!VX!O!VX#V!VX!W!VX^!VX#O!VXS!VXl!VXv!VX![!VXU!VX!R!VX~P&[O!o!pO#^!dO#`!cO#a!cO#b!cO#c!dO#d!eO#e!eO#f!eO#g!eO#h!fO#i!fO#j!gO#k!hO#l!qO#m!rO#n!sO#o_X#V_X^_X!R_X~O!P!oO#S_X#[_X!O_X!W_X#O_XS_Xl_Xv_X![_XU_X~P(iOPqO^sO!S!zO~O^RO!R!{O~O#P!}OQ#UPR#UPT#UPV#UP~OQ#POR!yXT!yX#P!yX~OS#QOl#RO~P$yORyOT#VO#PwO~ORyOT#ZO#PwO~OQ#]ORyOT!QO#PwO~Ol#_Op#^Ov#`O~ORyOT!QOV#bO#PwO~O#V#cO#o!YO!O#YX~O!O#eO~O^#gO~OPZO^#iOa[OcXOdXOfYO!P`O!ScO!YoO#W]O#X]O#^iO#_jO~O!R#Za~P$yO#V#lO!R#Za~P$yOPZO^#nOa[OcXOdXOfYO!P`O!ScO!YoO#W]O#X]O#^iO#_jO~O!W#rO~P$yO^#{O~O!W$PO#o!YO~OQ#PO~O#o!YO^]i#O]i!R]i~O^RO!R$QO~OS$TOl$UO~P$yOS$TOl$UO#o!YO~Ol$XOp#^Os$YOv#`O~ORyOT$]O#PwO~Ol$_Op#^Ov#`Ox$`Oz$aO~O^$bO~Op$cOv$dO~ORyOT!QOV$fO#PwO~O!O#Ya~P$yO#V$hO!O#Ya~Ov$lO!O$jO#o!YO~Oq$mO#V$nO~O#o!YOP!Ui^!Uia!Uic!Uid!Uif!Ui!P!Ui!R!Ui!S!Ui!Y!Ui#V!Ui#W!Ui#X!Ui#^!Ui#_!Ui~O#[$oO#o!YO~O!R#Zi~P$yO#]!VX~P&[O#]$rO#o!YO~O!o!pO#^!dO#`!cO#a!cO#b!cO#c!dO#d!eO#e!eO#f!eO#g!eO#h!fO#i!fO#j!gO#k!hO#l!qO#m!rO#n!sO#o_X~O!P!oO#]_X~P5eO![$uO#V$sO#o!YO!W!ZX~O!W$vO~O#`!cO#a!cO#b!cO!P!fi!o!fi#S!fi#[!fi#d!fi#e!fi#f!fi#g!fi#h!fi#i!fi#j!fi#k!fi#l!fi#m!fi#n!fi#o!fi!O!fi#V!fi!W!fi^!fi#O!fiS!fil!fiv!fi![!fiU!fi!R!fi~O#^!fi#c!fi~P7^O#^!dO#c!dO~P7^O#^!dO#`!cO#a!cO#b!cO#c!dO#d!eO#e!eO#f!eO#g!eO!P!fi!o!fi#S!fi#[!fi#j!fi#k!fi#l!fi#m!fi#n!fi#o!fi!O!fi#V!fi!W!fi^!fi#O!fiS!fil!fiv!fi![!fiU!fi!R!fi~O#h!fi#i!fi~P9rO#h!fO#i!fO~P9rO#^!dO#`!cO#a!cO#b!cO#c!dO#d!eO#e!eO#f!eO#g!eO#h!fO#i!fO#j!gO!P!fi!o!fi#k!fi#l!fi#m!fi#n!fi#o!fi#V!fi^!fi!R!fi~O#S!fi#[!fi!O!fi!W!fi#O!fiS!fil!fiv!fi![!fiU!fi~PqP[i]||-1}],tokenPrec:2320}),zP=ve.define({parser:EP.configure({props:[we.add({Block:St({closing:"}",align:!1})}),$e.add({"Object Tuple TemplateFor TemplateIf":ct,BlockComment:i=>({from:i.from+2,to:i.to-2}),HeredocTemplate(i){let e=i.getChild("HeredocIdentifier");return e?{from:e.to,to:i.to}:null},FunctionCall(i){let e=i.getChild("("),t=i.getChild(")");return!e||!t?null:{from:e.from+1,to:t.to-1}},Block(i){let e=i.getChild("{"),t=i.getChild("}");return!e||!t?null:{from:e.from+1,to:t.to-1}}}),xP]}),languageData:{commentTokens:{line:"#",block:{open:"/*",close:"*/"}}}});function Tg(){return new pe(zP)}function LP(i){let e=i.trim();if(!e)return"";if(/^#!.*\b(?:ba)?sh\b|^\s*\$\s+/.test(e))return"bash";if(e.startsWith("{")&&e.endsWith("}")||e.startsWith("[")&&e.endsWith("]"))try{return JSON.parse(e),"json"}catch{}return/^\s*(?:|(?:using\s+namespace\s+std|std::\w+|(?:cout|cin)\s*(?:<<|>>))\b)/m.test(e)?"cpp":/^\s*(?:#\s*include\s*[<"](?:assert|ctype|errno|float|inttypes|limits|math|setjmp|signal|stdarg|stdbool|stddef|stdint|stdio|stdlib|string|time)\.h[>"]|(?:int|void)\s+main\s*\([^)]*\)\s*\{)/m.test(e)?"c":/^\s*(?:async\s+)?def\s+\w+\s*\(|^\s*from\s+\w+[\w.]*\s+import\b|^\s*class\s+\w+\s*[:(]/m.test(e)?"python":/\b(?:SELECT|INSERT|UPDATE|DELETE|CREATE\s+(?:TABLE|VIEW|INDEX)|WITH)\b[\s\S]*\b(?:FROM|INTO|WHERE|AS)\b/i.test(e)?"sql":/(?:^|\n)\s*(?:[#.]?[A-Za-z][\w-]*)\s*\{[\s\S]*:[\s\S]*\}/.test(e)||/@(?:media|keyframes|supports)\b/.test(e)?"css":/^\s*(?:const|let|var)\s+[A-Za-z_$][\w$]*\s*(?::[^=\n]+)?\s*=/m.test(e)||/\b(?:function\s+\w+\s*\(|console\.(?:log|error|warn)|=>)/.test(e)?"javascript":/^\s*(?:[-A-Za-z_][\w-]*):\s*(?:[^:#\n]|$)/m.test(e)&&!/[{};]/.test(e)?"yaml":/^\s*(?:echo|printf|export|source|cd|mkdir|rm|cp|mv)\s+/m.test(e)?"bash":""}var Ue=(i,e,t)=>Be.of({name:i,alias:e,support:new pe(Zs.define(t))}),Ug=[Be.of({name:"javascript",alias:["js","jsx","ts","tsx","typescript","node"],support:so({jsx:!0,typescript:!0})}),Be.of({name:"python",alias:["py"],support:Wm()}),Be.of({name:"json",alias:["jsonc"],support:Vm()}),Be.of({name:"css",alias:["scss"],support:ro()}),Be.of({name:"html",alias:["htm","xml"],support:ao()}),Be.of({name:"hcl",alias:["terraform","tf"],support:Tg()}),Ue("swift",[],Ym),Ue("shell",["sh","bash","zsh","console"],Nm),Ue("yaml",["yml"],Fm),Ue("go",["golang"],tg),Ue("ruby",["rb"],rg),Ue("rust",["rs"],ag),Ue("c",["h"],mg),Ue("cpp",["c++","cc","hpp"],gg),Ue("java",[],Qg),Ue("kotlin",["kt"],yg),Ue("objective-c",["objc","objectivec"],kg),Ue("csharp",["cs","c#"],bg),Ue("sql",[],je({})),Ue("toml",[],$g)],MP={resolve:"Highlight",mark:"HighlightMark"},WP=/[\p{S}\p{P}]/u;function Cg(i){return!i||/\s/.test(i)}function Xg(i){return!!i&&WP.test(i)}var qh={defineNodes:["Highlight","HighlightMark"],parseInline:[{name:"Highlight",parse(i,e,t){if(e!==61||i.char(t+1)!==61)return-1;let n=t;for(;n>i.offset&&i.char(n-1)===61;)n--;let r=t+2;for(;i.char(r)===61;)r++;let s=n+(r-n)%2;if(t=i.offset&&i.char(m)===92;m--)o++;if(o%2!==0)return-1;let a=i.slice(n-1,n),l=i.slice(r,r+1),c=Cg(a),h=Cg(l),f=Xg(a),u=Xg(l),O=!h&&(!u||c||f),p=!c&&(!f||h||u);return i.addDelimiter(MP,t,t+2,O,p)},after:"Emphasis"}]},Mr=class extends Re{constructor(e,t){super(),this.text=e,this.className=t}eq(e){return e.text===this.text&&e.className===this.className}toDOM(){let e=document.createElement("span");return e.textContent=this.text,e.className=this.className,e}ignoreEvent(){return!1}},vh=class extends Re{constructor(e,t,n,r,s){super(),this.source=e,this.alt=t,this.raw=n,this.from=r,this.to=s}eq(e){return e.source===this.source&&e.alt===this.alt&&e.raw===this.raw&&e.from===this.from&&e.to===this.to}toDOM(e){let t=document.createElement("span");t.className="cm-md-image-preview",t.setAttribute("role","figure");let n=document.createElement("img");n.src=this.source,n.alt=this.alt,n.draggable=!1,n.addEventListener("error",()=>t.classList.add("cm-md-image-error"),{once:!0});let r=document.createElement("code");r.className="cm-md-image-source",r.textContent=this.raw,r.title="Click to edit image source";let s=o=>{o.preventDefault(),o.stopPropagation(),e.focus(),e.dispatch({selection:{anchor:Math.min(this.from+2,this.to)},userEvent:"select.pointer"})};return r.addEventListener("mousedown",s),r.addEventListener("click",s),n.addEventListener("mousedown",o=>{o.preventDefault(),o.stopPropagation()}),n.addEventListener("click",o=>{o.preventDefault(),o.stopPropagation();let a=n.currentSrc||n.src;a.startsWith("md-asset:")?window.__mdRequestImageRename?.(a):s(o)}),t.append(n,r),t}ignoreEvent(){return!0}},$h=class extends Re{eq(){return!0}toDOM(){let e=document.createElement("span");return e.className="cm-md-hr",e}ignoreEvent(){return!1}},jP=0,Th=class extends Re{constructor(e){super(),this.source=e}eq(e){return e.source===this.source}toDOM(e){let t=document.createElement("figure");t.className="cm-md-mermaid-preview",t.setAttribute("role","img"),t.setAttribute("aria-label","Mermaid diagram. Click to edit source.");let n=document.createElement("div");n.className="cm-md-mermaid-stage",n.textContent="Rendering diagram\u2026",t.appendChild(n),t.addEventListener("mousedown",o=>{o.preventDefault(),e.focus();let a=e.posAtDOM(t);e.dispatch({selection:{anchor:a+1},userEvent:"select.pointer"})});let r=window.mermaid;if(!r||typeof r.render!="function")return n.textContent="Mermaid preview unavailable. Click to edit source.",t;let s=`md-editor-mermaid-${++jP}`;return Promise.resolve(r.render(s,this.source)).then(({svg:o})=>{n.innerHTML=o;let a=n.querySelector("svg"),l=a?.viewBox?.baseVal;a&&l?.width>0&&l?.height>0&&(t.style.setProperty("--mm-aspect",`${l.width} / ${l.height}`),a.removeAttribute("width"),a.removeAttribute("height"),a.setAttribute("preserveAspectRatio","xMidYMid meet"),a.style.width="100%",a.style.height="100%"),e.requestMeasure()}).catch(()=>{n.textContent="Unable to render Mermaid diagram. Click to edit source.",t.classList.add("cm-md-mermaid-error"),e.requestMeasure()}),t}ignoreEvent(){return!0}},Gg=new WeakMap,Ch=ie.define({map:(i,e)=>e.mapPos(i,1,me.TrackAfter)??void 0}),qn=he.define({create:()=>new Set,update(i,e){if(!e.docChanged&&!e.effects.some(n=>n.is(Ch)))return i;let t=new Set([...i].map(n=>e.changes.mapPos(n,1,me.TrackAfter)).filter(n=>n!=null));for(let n of e.effects)n.is(Ch)&&(t.has(n.value)?t.delete(n.value):t.add(n.value));return t}}),yh=i=>'",Xo=class extends Re{constructor(e){super(),Object.assign(this,e)}eq(e){return e.fenceFrom===this.fenceFrom&&e.infoFrom===this.infoFrom&&e.infoTo===this.infoTo&&e.rawInfo===this.rawInfo&&e.detectedLanguage===this.detectedLanguage&&e.wrapped===this.wrapped&&e.plain===this.plain}toDOM(e){let t=document.createElement("span");t.className="cm-md-code-language",t.contentEditable="false";let n=document.createElement("input");n.type="text",n.className="cm-md-code-language-input",n.autocomplete="off",n.spellcheck=!1,n.value=this.language,n.readOnly=!!this.plain,n.placeholder="language",n.setAttribute("aria-label","Code block language"),n.dataset.fenceFrom=String(this.fenceFrom);let r=this.rawInfo.match(/^\S+([\s\S]*)$/)?.[1]||"",s=n.value,o=!0,a=!1,l=()=>{if(this.plain)return;let f=n.value.trim().split(/\s+/,1)[0].toLowerCase(),u=f?f+r:"";u!==this.rawInfo&&n.value!==s&&(a=!0,e.dispatch({changes:{from:this.infoFrom,to:this.infoTo,insert:u},userEvent:"input"}))};n.addEventListener("change",l),n.addEventListener("keydown",f=>{f.stopPropagation(),f.key==="Enter"?(f.preventDefault(),l(),n.blur(),e.focus()):f.key==="Escape"&&(f.preventDefault(),o=!1,n.value=this.language,n.blur(),e.focus())}),n.addEventListener("mousedown",f=>f.stopPropagation()),n.addEventListener("click",f=>f.stopPropagation()),n.addEventListener("blur",()=>{o&&!a&&l(),a=!1,o=!0}),t.appendChild(n);let c=(f,u,O,p)=>{let m=document.createElement("button");return m.type="button",m.className=`cm-md-code-action ${O}`,m.title=f,m.setAttribute("aria-label",f),m.innerHTML=yh(u),m.addEventListener("mousedown",b=>{b.preventDefault(),b.stopPropagation()}),m.addEventListener("click",b=>{b.preventDefault(),b.stopPropagation(),p(m)}),t.appendChild(m),m};return c(this.wrapped?"Unwrap code":"Wrap code",this.wrapped?"unwrap":"wrap","cm-md-code-toggle-wrap",()=>e.dispatch({effects:Ch.of(e.state.doc.lineAt(this.fenceFrom).from)})).setAttribute("aria-pressed",String(this.wrapped)),c("Copy code","copy","cm-md-code-copy",async f=>{let u=e.state.doc.lineAt(this.fenceFrom),O=B(e.state).resolve(this.plain?u.to:this.fenceFrom+1,-1);for(;O&&O.name!==(this.plain?"CodeBlock":"FencedCode");)O=O.parent;if(!O)return;let p=this.plain?O.getChildren("CodeText").map(m=>e.state.sliceDoc(m.from,m.to)).join(""):Ro(e.state,O).source;try{let m=Gg.get(e);m?m(p):await navigator.clipboard.writeText(p),f.innerHTML=yh("check"),f.title="Code copied",f.setAttribute("aria-label",f.title),clearTimeout(f.copyTimer),f.copyTimer=setTimeout(()=>{f.innerHTML=yh("copy"),f.title="Copy code",f.setAttribute("aria-label",f.title)},1100)}catch{}}),t}ignoreEvent(){return!0}};function vo(i,e=!1){let t=[],n="",r=0,s=()=>t.push({text:n.trim(),from:r+n.length-n.trimStart().length,to:r+n.trimEnd().length}),o=0,a=0;for(let c=0;cc.text)}function VP(i){let e=i.trim(),t=e.startsWith(":"),n=e.endsWith(":"),r=e.replace(/^:/,"").replace(/:$/,"");return/^-{3,}$/.test(r)?t&&n?"center":t?"left":n?"right":"none":null}function Eh(i){let e=i.endsWith(` +`,{label:"if",detail:"block",type:"keyword"}),ce("if ${}:\n ${}\nelse:\n ${}",{label:"if",detail:"/ else block",type:"keyword"}),ce("class ${name}:\n def __init__(self, ${params}):\n ${}",{label:"class",detail:"definition",type:"keyword"}),ce("import ${module}",{label:"import",detail:"statement",type:"keyword"}),ce("from ${module} import ${names}",{label:"from",detail:"import",type:"keyword"})],$w=Bs(Wm,Is(Pw.concat(vw)));function nh(i){let{node:e,pos:t}=i,n=i.lineIndent(t,-1),r=null;for(;;){let s=e.childBefore(t);if(s)if(s.name=="Comment")t=s.from;else if(s.name=="Body"||s.name=="MatchBody")i.baseIndentFor(s)+i.unit<=n&&(r=s),e=s;else if(s.name=="MatchClause")e=s;else if(s.type.is("Statement"))e=s;else break;else break}return r}function rh(i,e){let t=i.baseIndentFor(e),n=i.lineAt(i.pos,-1),r=n.from+n.text.length;return/^\s*($|#)/.test(n.text)&&i.node.tot?null:t+i.unit}var sh=Te.define({name:"python",parser:qm.configure({props:[Pe.add({Body:i=>{var e;let t=/^\s*(#|$)/.test(i.textAfter)&&nh(i)||i.node;return(e=rh(i,t))!==null&&e!==void 0?e:i.continue()},MatchBody:i=>{var e;let t=nh(i);return(e=rh(i,t||i.node))!==null&&e!==void 0?e:i.continue()},IfStatement:i=>/^\s*(else:|elif )/.test(i.textAfter)?i.baseIndent:i.continue(),"ForStatement WhileStatement":i=>/^\s*else:/.test(i.textAfter)?i.baseIndent:i.continue(),TryStatement:i=>/^\s*(except[ :]|finally:|else:)/.test(i.textAfter)?i.baseIndent:i.continue(),MatchStatement:i=>/^\s*case /.test(i.textAfter)?i.baseIndent+i.unit:i.continue(),"TupleExpression ComprehensionExpression ParamList ArgList ParenthesizedExpression":St({closing:")"}),"DictionaryExpression DictionaryComprehensionExpression SetExpression SetComprehensionExpression":St({closing:"}"}),"ArrayExpression ArrayComprehensionExpression":St({closing:"]"}),MemberExpression:i=>i.baseIndent+i.unit,"String FormatString":()=>null,Script:i=>{var e;let t=nh(i);return(e=t&&rh(i,t))!==null&&e!==void 0?e:i.continue()}}),Ce.add({"ArrayExpression DictionaryExpression SetExpression TupleExpression":ct,Body:(i,e)=>({from:i.from+1,to:i.to-(i.to==e.doc.length?0:1)}),"String FormatString":(i,e)=>({from:e.doc.lineAt(i.from).to,to:i.to})})]}),languageData:{closeBrackets:{brackets:["(","[","{","'",'"',"'''",'"""'],stringPrefixes:["f","fr","rf","r","u","b","br","rb","F","FR","RF","R","U","B","BR","RB"]},commentTokens:{line:"#"},indentOnInput:/^\s*([\}\]\)]|else:|elif |except |finally:|case\s+[^:]*:?)$/}});function jm(){return new pe(sh,[sh.data.of({autocomplete:ww}),sh.data.of({autocomplete:$w})])}var Tw=ge({String:d.string,Number:d.number,"True False":d.bool,PropertyName:d.propertyName,Null:d.null,", :":d.separator,"[ ]":d.squareBracket,"{ }":d.brace}),Vm=ve.deserialize({version:14,states:"$bOVQPOOOOQO'#Cb'#CbOnQPO'#CeOvQPO'#ClOOQO'#Cr'#CrQOQPOOOOQO'#Cg'#CgO}QPO'#CfO!SQPO'#CtOOQO,59P,59PO![QPO,59PO!aQPO'#CuOOQO,59W,59WO!iQPO,59WOVQPO,59QOqQPO'#CmO!nQPO,59`OOQO1G.k1G.kOVQPO'#CnO!vQPO,59aOOQO1G.r1G.rOOQO1G.l1G.lOOQO,59X,59XOOQO-E6k-E6kOOQO,59Y,59YOOQO-E6l-E6l",stateData:"#O~OeOS~OQSORSOSSOTSOWQO_ROgPO~OVXOgUO~O^[O~PVO[^O~O]_OVhX~OVaO~O]bO^iX~O^dO~O]_OVha~O]bO^ia~O",goto:"!kjPPPPPPkPPkqwPPPPk{!RPPP!XP!e!hXSOR^bQWQRf_TVQ_Q`WRg`QcZRicQTOQZRQe^RhbRYQR]R",nodeNames:"\u26A0 JsonText True False Null Number String } { Object Property PropertyName : , ] [ Array",maxTerm:25,nodeProps:[["isolate",-2,6,11,""],["openedBy",7,"{",14,"["],["closedBy",8,"}",15,"]"]],propSources:[Tw],skippedNodes:[0],repeatNodeCount:2,tokenData:"(|~RaXY!WYZ!W]^!Wpq!Wrs!]|}$u}!O$z!Q!R%T!R![&c![!]&t!}#O&y#P#Q'O#Y#Z'T#b#c'r#h#i(Z#o#p(r#q#r(w~!]Oe~~!`Wpq!]qr!]rs!xs#O!]#O#P!}#P;'S!];'S;=`$o<%lO!]~!}Og~~#QXrs!]!P!Q!]#O#P!]#U#V!]#Y#Z!]#b#c!]#f#g!]#h#i!]#i#j#m~#pR!Q![#y!c!i#y#T#Z#y~#|R!Q![$V!c!i$V#T#Z$V~$YR!Q![$c!c!i$c#T#Z$c~$fR!Q![!]!c!i!]#T#Z!]~$rP;=`<%l!]~$zO]~~$}Q!Q!R%T!R![&c~%YRT~!O!P%c!g!h%w#X#Y%w~%fP!Q![%i~%nRT~!Q![%i!g!h%w#X#Y%w~%zR{|&T}!O&T!Q![&Z~&WP!Q![&Z~&`PT~!Q![&Z~&hST~!O!P%c!Q![&c!g!h%w#X#Y%w~&yO[~~'OO_~~'TO^~~'WP#T#U'Z~'^P#`#a'a~'dP#g#h'g~'jP#X#Y'm~'rOR~~'uP#i#j'x~'{P#`#a(O~(RP#`#a(U~(ZOS~~(^P#f#g(a~(dP#i#j(g~(jP#X#Y(m~(rOQ~~(wOW~~(|OV~",tokenizers:[0],topRules:{JsonText:[0,1]},tokenPrec:0});var Cw=Te.define({name:"json",parser:Vm.configure({props:[Pe.add({Object:Yt({except:/^\s*\}/}),Array:Yt({except:/^\s*\]/})}),Ce.add({"Object Array":ct})]}),languageData:{closeBrackets:{brackets:["[","{",'"']},indentOnInput:/^\s*[\}\]]$/}});function Dm(){return new pe(Cw)}function Oo(i){for(var e={},t=0;t~^?!",qw=":;,.(){}[]",Ew=/^\-?0b[01][01_]*/,zw=/^\-?0o[0-7][0-7_]*/,Lw=/^\-?0x[\dA-Fa-f][\dA-Fa-f_]*(?:(?:\.[\dA-Fa-f][\dA-Fa-f_]*)?[Pp]\-?\d[\d_]*)?/,Mw=/^\-?\d[\d_]*(?:\.\d[\d_]*)?(?:[Ee]\-?\d[\d_]*)?/,Ww=/^\$\d+|(`?)[_A-Za-z][_A-Za-z$0-9]*\1/,jw=/^\.(?:\$\d+|(`?)[_A-Za-z][_A-Za-z$0-9]*\1)/,Vw=/^\#[A-Za-z]+/,Dw=/^@(?:\$\d+|(`?)[_A-Za-z][_A-Za-z$0-9]*\1)/;function Ym(i,e,t){if(i.sol()&&(e.indented=i.indentation()),i.eatSpace())return null;var n=i.peek();if(n=="/"){if(i.match("//"))return i.skipToEnd(),"comment";if(i.match("/*"))return e.tokenize.push(oh),oh(i,e)}if(i.match(Vw))return"builtin";if(i.match(Dw))return"attribute";if(i.match(Ew)||i.match(zw)||i.match(Lw)||i.match(Mw))return"number";if(i.match(jw))return"property";if(Zw.indexOf(n)>-1)return i.next(),"operator";if(qw.indexOf(n)>-1)return i.next(),i.match(".."),"punctuation";var r;if(r=i.match(/("""|"|')/)){var s=Iw.bind(null,r[0]);return e.tokenize.push(s),s(i,e)}if(i.match(Ww)){var o=i.current();return Aw.hasOwnProperty(o)?"type":Rw.hasOwnProperty(o)?"atom":Xw.hasOwnProperty(o)?(_w.hasOwnProperty(o)&&(e.prev="define"),"keyword"):t=="define"?"def":"variable"}return i.next(),null}function Yw(){var i=0;return function(e,t,n){var r=Ym(e,t,n);if(r=="punctuation"){if(e.current()=="(")++i;else if(e.current()==")"){if(i==0)return e.backUp(1),t.tokenize.pop(),t.tokenize[t.tokenize.length-1](e,t);--i}}return r}}function Iw(i,e,t){for(var n=i.length==1,r,s=!1;r=e.peek();)if(s){if(e.next(),r=="(")return t.tokenize.push(Yw()),"string";s=!1}else{if(e.match(i))return t.tokenize.pop(),"string";e.next(),s=r=="\\"}return n&&t.tokenize.pop(),"string"}function oh(i,e){for(var t;t=i.next();)if(t==="/"&&i.eat("*"))e.tokenize.push(oh);else if(t==="*"&&i.eat("/")){e.tokenize.pop();break}return"comment"}function Bw(i,e,t){this.prev=i,this.align=e,this.indented=t}function Uw(i,e){var t=e.match(/^\s*($|\/[\/\*]|[)}\]])/,!1)?null:e.column()+1;i.context=new Bw(i.context,t,i.indented)}function Gw(i){i.context&&(i.indented=i.context.indented,i.context=i.context.prev)}var Im={name:"swift",startState:function(){return{prev:null,context:null,indented:0,tokenize:[]}},token:function(i,e){var t=e.prev;e.prev=null;var n=e.tokenize[e.tokenize.length-1]||Ym,r=n(i,e,t);if(!r||r=="comment"?e.prev=t:e.prev||(e.prev=r),r=="punctuation"){var s=/[\(\[\{]|([\]\)\}])/.exec(i.current());s&&(s[1]?Gw:Uw)(e,i)}return r},indent:function(i,e,t){var n=i.context;if(!n)return 0;var r=/^[\]\}\)]/.test(e);return n.align!=null?n.align-(r?1:0):n.indented+(r?0:t.unit)},languageData:{indentOnInput:/^\s*[\)\}\]]$/,commentTokens:{line:"//",block:{open:"/*",close:"*/"}},closeBrackets:{brackets:["(","[","{","'",'"',"`"]}}};var ah={};function lh(i,e){for(var t=0;t1&&i.eat("$");var t=i.next();return/['"({]/.test(t)?(e.tokens[0]=po(t,t=="("?"quote":t=="{"?"def":"string"),_n(i,e)):(/\d/.test(t)||i.eatWhile(/\w/),e.tokens.shift(),"def")};function Hw(i){return function(e,t){return e.sol()&&e.string==i&&t.tokens.shift(),e.skipToEnd(),"string.special"}}function _n(i,e){return(e.tokens[0]||Nw)(i,e)}var Fm={name:"shell",startState:function(){return{tokens:[]}},token:function(i,e){return _n(i,e)},languageData:{autocomplete:Bm.concat(Um,Gm),closeBrackets:{brackets:["(","[","{","'",'"',"`"]},commentTokens:{line:"#"}}};var Kw=["true","false","on","off","yes","no"],Jw=new RegExp("\\b(("+Kw.join(")|(")+"))$","i"),Hm={name:"yaml",token:function(i,e){var t=i.peek(),n=e.escaped;if(e.escaped=!1,t=="#"&&(i.pos==0||/\s/.test(i.string.charAt(i.pos-1))))return i.skipToEnd(),"comment";if(i.match(/^('([^']|\\.)*'?|"([^"]|\\.)*"?)/))return"string";if(e.literal&&i.indentation()>e.keyCol)return i.skipToEnd(),"string";if(e.literal&&(e.literal=!1),i.sol()){if(e.keyCol=0,e.pair=!1,e.pairStart=!1,i.match("---")||i.match("..."))return"def";if(i.match(/^\s*-\s+/))return"meta"}if(i.match(/^(\{|\}|\[|\])/))return t=="{"?e.inlinePairs++:t=="}"?e.inlinePairs--:t=="["?e.inlineList++:e.inlineList--,"meta";if(e.inlineList>0&&!n&&t==",")return i.next(),"meta";if(e.inlinePairs>0&&!n&&t==",")return e.keyCol=0,e.pair=!1,e.pairStart=!1,i.next(),"meta";if(e.pairStart){if(i.match(/^\s*(\||\>)\s*/))return e.literal=!0,"meta";if(i.match(/^\s*(\&|\*)[a-z0-9\._-]+\b/i))return"variable";if(e.inlinePairs==0&&i.match(/^\s*-?[0-9\.\,]+\s?$/)||e.inlinePairs>0&&i.match(/^\s*-?[0-9\.\,]+\s?(?=(,|}))/))return"number";if(i.match(Jw))return"keyword"}return!e.pair&&i.match(/^\s*(?:[,\[\]{}&*!|>'"%@`][^\s'":]|[^,\[\]{}#&*!|>'"%@`])[^#]*?(?=\s*:($|\s))/)?(e.pair=!0,e.keyCol=i.indentation(),"atom"):e.pair&&i.match(/^:\s*/)?(e.pairStart=!0,"meta"):(e.pairStart=!1,e.escaped=t=="\\",i.next(),null)},startState:function(){return{pair:!1,pairStart:!1,keyCol:0,inlinePairs:0,inlineList:0,literal:!1,escaped:!1}},languageData:{commentTokens:{line:"#"}}};var eP={break:!0,case:!0,chan:!0,const:!0,continue:!0,default:!0,defer:!0,else:!0,fallthrough:!0,for:!0,func:!0,go:!0,goto:!0,if:!0,import:!0,interface:!0,map:!0,package:!0,range:!0,return:!0,select:!0,struct:!0,switch:!0,type:!0,var:!0,bool:!0,byte:!0,complex64:!0,complex128:!0,float32:!0,float64:!0,int8:!0,int16:!0,int32:!0,int64:!0,string:!0,uint8:!0,uint16:!0,uint32:!0,uint64:!0,int:!0,uint:!0,uintptr:!0,error:!0,rune:!0,any:!0,comparable:!0},tP={true:!0,false:!0,iota:!0,nil:!0,append:!0,cap:!0,close:!0,complex:!0,copy:!0,delete:!0,imag:!0,len:!0,make:!0,new:!0,panic:!0,print:!0,println:!0,real:!0,recover:!0},Km=/[+\-*&^%:=<>!|\/]/,Jt;function mo(i,e){var t=i.next();if(t=='"'||t=="'"||t=="`")return e.tokenize=iP(t),e.tokenize(i,e);if(/[\d\.]/.test(t))return t=="."?i.match(/^[0-9]+([eE][\-+]?[0-9]+)?/):t=="0"?i.match(/^[xX][0-9a-fA-F]+/)||i.match(/^0[0-7]+/):i.match(/^[0-9]*\.?[0-9]*([eE][\-+]?[0-9]+)?/),"number";if(/[\[\]{}\(\),;\:\.]/.test(t))return Jt=t,null;if(t=="/"){if(i.eat("*"))return e.tokenize=Jm,Jm(i,e);if(i.eat("/"))return i.skipToEnd(),"comment"}if(Km.test(t))return i.eatWhile(Km),"operator";i.eatWhile(/[\w\$_\xa1-\uffff]/);var n=i.current();return eP.propertyIsEnumerable(n)?((n=="case"||n=="default")&&(Jt="case"),"keyword"):tP.propertyIsEnumerable(n)?"atom":"variable"}function iP(i){return function(e,t){for(var n=!1,r,s=!1;(r=e.next())!=null;){if(r==i&&!n){s=!0;break}n=!n&&i!="`"&&r=="\\"}return(s||!(n||i=="`"))&&(t.tokenize=mo),"string"}}function Jm(i,e){for(var t=!1,n;n=i.next();){if(n=="/"&&t){e.tokenize=mo;break}t=n=="*"}return"comment"}function tg(i,e,t,n,r){this.indented=i,this.column=e,this.type=t,this.align=n,this.prev=r}function ch(i,e,t){return i.context=new tg(i.indented,e,t,null,i.context)}function eg(i){if(i.context.prev){var e=i.context.type;return(e==")"||e=="]"||e=="}")&&(i.indented=i.context.indented),i.context=i.context.prev}}var ig={name:"go",startState:function(i){return{tokenize:null,context:new tg(-i,0,"top",!1),indented:0,startOfLine:!0}},token:function(i,e){var t=e.context;if(i.sol()&&(t.align==null&&(t.align=!1),e.indented=i.indentation(),e.startOfLine=!0,t.type=="case"&&(t.type="}")),i.eatSpace())return null;Jt=null;var n=(e.tokenize||mo)(i,e);return n=="comment"||(t.align==null&&(t.align=!0),Jt=="{"?ch(e,i.column(),"}"):Jt=="["?ch(e,i.column(),"]"):Jt=="("?ch(e,i.column(),")"):Jt=="case"?t.type="case":(Jt=="}"&&t.type=="}"||Jt==t.type)&&eg(e),e.startOfLine=!1),n},indent:function(i,e,t){if(i.tokenize!=mo&&i.tokenize!=null)return null;var n=i.context,r=e&&e.charAt(0);if(n.type=="case"&&/^(?:case|default)\b/.test(e))return n.indented;var s=r==n.type;return n.align?n.column+(s?0:1):n.indented+(s?0:t.unit)},languageData:{indentOnInput:/^\s([{}]|case |default\s*:)$/,commentTokens:{line:"//",block:{open:"/*",close:"*/"}}}};function fh(i){for(var e={},t=0,n=i.length;t]/)?(i.eat(/[\<\>]/),"atom"):i.eat(/[\+\-\*\/\&\|\:\!]/)?"atom":i.eat(/[a-zA-Z$@_\xa1-\uffff]/)?(i.eatWhile(/[\w$\xa1-\uffff]/),i.eat(/[\?\!\=]/),"atom"):"operator";if(t=="@"&&i.match(/^@?[a-zA-Z_\xa1-\uffff]/))return i.eat("@"),i.eatWhile(/[\w\xa1-\uffff]/),"propertyName";if(t=="$")return i.eat(/[a-zA-Z_]/)?i.eatWhile(/[\w]/):i.eat(/\d/)?i.eat(/\d/):i.next(),"variableName.special";if(/[a-zA-Z_\xa1-\uffff]/.test(t))return i.eatWhile(/[\w\xa1-\uffff]/),i.eat(/[\?\!]/),i.eat(":")?"atom":"variable";if(t=="|"&&(e.varList||e.lastTok=="{"||e.lastTok=="do"))return Pt="|",null;if(/[\(\)\[\]{}\\;]/.test(t))return Pt=t,null;if(t=="-"&&i.eat(">"))return"operator";if(/[=+\-\/*:\.^%<>~|]/.test(t)){var a=i.eatWhile(/[=+\-\/*:\.^%<>~|]/);return t=="."&&!a&&(Pt="."),"operator"}else return null}}}function aP(i){for(var e=i.pos,t=0,n,r=!1,s=!1;(n=i.next())!=null;)if(s)s=!1;else{if("[{(".indexOf(n)>-1)t++;else if("]})".indexOf(n)>-1){if(t--,t<0)break}else if(n=="/"&&t==0){r=!0;break}s=n=="\\"}return i.backUp(i.pos-e),r}function hh(i){return i||(i=1),function(e,t){if(e.peek()=="}"){if(i==1)return t.tokenize.pop(),t.tokenize[t.tokenize.length-1](e,t);t.tokenize[t.tokenize.length-1]=hh(i-1)}else e.peek()=="{"&&(t.tokenize[t.tokenize.length-1]=hh(i+1));return go(e,t)}}function lP(){var i=!1;return function(e,t){return i?(t.tokenize.pop(),t.tokenize[t.tokenize.length-1](e,t)):(i=!0,go(e,t))}}function Rr(i,e,t,n){return function(r,s){var o=!1,a;for(s.context.type==="read-quoted-paused"&&(s.context=s.context.prev,r.eat("}"));(a=r.next())!=null;){if(a==i&&(n||!o)){s.tokenize.pop();break}if(t&&a=="#"&&!o){if(r.eat("{")){i=="}"&&(s.context={prev:s.context,type:"read-quoted-paused"}),s.tokenize.push(hh());break}else if(/[@\$]/.test(r.peek())){s.tokenize.push(lP());break}}o=!o&&a=="\\"}return e}}function cP(i,e){return function(t,n){return e&&t.eatSpace(),t.match(i)?n.tokenize.pop():t.skipToEnd(),"string"}}function hP(i,e){return i.sol()&&i.match("=end")&&i.eol()&&e.tokenize.pop(),i.skipToEnd(),"comment"}var sg={name:"ruby",startState:function(i){return{tokenize:[go],indented:0,context:{type:"top",indented:-i},continuedLine:!1,lastTok:null,varList:!1}},token:function(i,e){Pt=null,i.sol()&&(e.indented=i.indentation());var t=e.tokenize[e.tokenize.length-1](i,e),n,r=Pt;if(t=="variable"){var s=i.current();t=e.lastTok=="."?"property":nP.propertyIsEnumerable(i.current())?"keyword":/^[A-Z]/.test(s)?"tag":e.lastTok=="def"||e.lastTok=="class"||e.varList?"def":"variable",t=="keyword"&&(r=s,rP.propertyIsEnumerable(s)?n="indent":sP.propertyIsEnumerable(s)?n="dedent":((s=="if"||s=="unless")&&i.column()==i.indentation()||s=="do"&&e.context.indented2&&o.token&&typeof o.token!="string"){t.pending=[];for(var c=2;c-1)return null;var r=t.indent.length-1,s=i[t.state];e:for(;;){for(var o=0;o!]+/,token:"operator"},{regex:/[a-zA-Z_]\w*!/,token:"macroName"},{regex:/[a-zA-Z_]\w*/,token:"variable"},{regex:/[\{\[\(]/,indent:!0},{regex:/[\}\]\)]/,dedent:!0}],string:[{regex:/"/,token:"string",next:"start"},{regex:/(?:[^\\"]|\\(?:.|$))*/,token:"string"}],string_raw:[{regex:/"/,token:"string",next:"start"},{regex:/[^"]*/,token:"string"}],string_raw_hash:[{regex:/"#+/,token:"string",next:"start"},{regex:/(?:[^"]|"(?!#))*/,token:"string"}],comment:[{regex:/.*?\*\//,token:"comment",next:"start"},{regex:/.*/,token:"comment"}],languageData:{name:"rust",dontIndentStates:["comment"],indentOnInput:/^\s*\}$/,commentTokens:{line:"//",block:{open:"/*",close:"*/"}}}});function dh(i,e,t,n,r,s){this.indented=i,this.column=e,this.type=t,this.info=n,this.align=r,this.prev=s}function Qo(i,e,t,n){var r=i.indented;return i.context&&i.context.type=="statement"&&t!="statement"&&(r=i.context.indented),i.context=new dh(r,e,t,n,null,i.context)}function Ar(i){var e=i.context.type;return(e==")"||e=="]"||e=="}")&&(i.indented=i.context.indented),i.context=i.context.prev}function cg(i,e,t){if(e.prevToken=="variable"||e.prevToken=="type"||/\S(?:[^- ]>|[*\]])\s*$|\*$/.test(i.string.slice(0,t))||e.typeAtEndOfLine&&i.column()==i.indentation())return!0}function uh(i){for(;;){if(!i||i.type=="top")return!0;if(i.type=="}"&&i.prev.info!="namespace")return!1;i=i.prev}}function tt(i){var e=i.statementIndentUnit,t=i.dontAlignCalls,n=i.keywords||{},r=i.types||{},s=i.builtin||{},o=i.blockKeywords||{},a=i.defKeywords||{},l=i.atoms||{},c=i.hooks||{},h=i.multiLineStrings,f=i.indentStatements!==!1,u=i.indentSwitch!==!1,O=i.namespaceSeparator,p=i.isPunctuationChar||/[\[\]{}\(\),;\:\.]/,m=i.numberStart||/[\d\.]/,b=i.number||/^(?:0x[a-f\d]+|0b[01]+|(?:\d+\.?\d*|\.\d+)(?:e[-+]?\d+)?)(u|ll?|l|f)?/i,g=i.isOperatorChar||/[+\-*&%=<>!?|\/]/,Q=i.isIdentifierChar||/[\w\$_\xa1-\uffff]/,S=i.isReservedIdentifier||!1,x,P;function $(T,k){var w=T.next();if(c[w]){var C=c[w](T,k);if(C!==!1)return C}if(w=='"'||w=="'")return k.tokenize=R(w),k.tokenize(T,k);if(m.test(w)){if(T.backUp(1),T.match(b))return"number";T.next()}if(p.test(w))return x=w,null;if(w=="/"){if(T.eat("*"))return k.tokenize=_,_(T,k);if(T.eat("/"))return T.skipToEnd(),"comment"}if(g.test(w)){for(;!T.match(/^\/[\/*]/,!1)&&T.eat(g););return"operator"}if(T.eatWhile(Q),O)for(;T.match(O);)T.eatWhile(Q);var j=T.current();return ei(n,j)?(ei(o,j)&&(x="newstatement"),ei(a,j)&&(P=!0),"keyword"):ei(r,j)?"type":ei(s,j)||S&&S(j)?(ei(o,j)&&(x="newstatement"),"builtin"):ei(l,j)?"atom":"variable"}function R(T){return function(k,w){for(var C=!1,j,y=!1;(j=k.next())!=null;){if(j==T&&!C){y=!0;break}C=!C&&j=="\\"}return(y||!(C||h))&&(w.tokenize=null),"string"}}function _(T,k){for(var w=!1,C;C=T.next();){if(C=="/"&&w){k.tokenize=null;break}w=C=="*"}return"comment"}function W(T,k){i.typeFirstDefinitions&&T.eol()&&uh(k.context)&&(k.typeAtEndOfLine=cg(T,k,T.pos))}return{name:i.name,startState:function(T){return{tokenize:null,context:new dh(-T,0,"top",null,!1),indented:0,startOfLine:!0,prevToken:null}},token:function(T,k){var w=k.context;if(T.sol()&&(w.align==null&&(w.align=!1),k.indented=T.indentation(),k.startOfLine=!0),T.eatSpace())return W(T,k),null;x=P=null;var C=(k.tokenize||$)(T,k);if(C=="comment"||C=="meta")return C;if(w.align==null&&(w.align=!0),x==";"||x==":"||x==","&&T.match(/^\s*(?:\/\/.*)?$/,!1))for(;k.context.type=="statement";)Ar(k);else if(x=="{")Qo(k,T.column(),"}");else if(x=="[")Qo(k,T.column(),"]");else if(x=="(")Qo(k,T.column(),")");else if(x=="}"){for(;w.type=="statement";)w=Ar(k);for(w.type=="}"&&(w=Ar(k));w.type=="statement";)w=Ar(k)}else x==w.type?Ar(k):f&&((w.type=="}"||w.type=="top")&&x!=";"||w.type=="statement"&&x=="newstatement")&&Qo(k,T.column(),"statement",T.current());if(C=="variable"&&(k.prevToken=="def"||i.typeFirstDefinitions&&cg(T,k,T.start)&&uh(k.context)&&T.match(/^\s*\(/,!1))&&(C="def"),c.token){var j=c.token(T,k,C);j!==void 0&&(C=j)}return C=="def"&&i.styleDefs===!1&&(C="variable"),k.startOfLine=!1,k.prevToken=P?"def":C||x,W(T,k),C},indent:function(T,k,w){if(T.tokenize!=$&&T.tokenize!=null||T.typeAtEndOfLine&&uh(T.context))return null;var C=T.context,j=k&&k.charAt(0),y=j==C.type;if(C.type=="statement"&&j=="}"&&(C=C.prev),i.dontIndentStatements)for(;C.type=="statement"&&i.dontIndentStatements.test(C.info);)C=C.prev;if(c.indent){var z=c.indent(T,C,k,w.unit);if(typeof z=="number")return z}var ye=C.prev&&C.prev.info=="switch";if(i.allmanIndentation&&/[{(]/.test(j)){for(;C.type!="top"&&C.type!="}";)C=C.prev;return C.indented}return C.type=="statement"?C.indented+(j=="{"?0:e||w.unit):C.align&&(!t||C.type!=")")?C.column+(y?0:1):C.type==")"&&!y?C.indented+(e||w.unit):C.indented+(y?0:w.unit)+(!y&&ye&&!/^(?:case|default)\b/.test(k)?w.unit:0)},languageData:{indentOnInput:u?/^\s*(?:case .*?:|default:|\{\}?|\})$/:/^\s*[{}]$/,commentTokens:{line:"//",block:{open:"/*",close:"*/"}},autocomplete:Object.keys(n).concat(Object.keys(r)).concat(Object.keys(s)).concat(Object.keys(l)),...i.languageData}}}function V(i){for(var e={},t=i.split(" "),n=0;n!?|\/#:@]/,hooks:{"@":function(i){return i.eatWhile(/[\w\$_]/),"meta"},'"':function(i,e){return i.match('""')?(e.tokenize=yg,e.tokenize(i,e)):!1},"'":function(i){return i.match(/^(\\[^'\s]+|[^\\'])'/)?"character":(i.eatWhile(/[\w\$_\xa1-\uffff]/),"atom")},"=":function(i,e){var t=e.context;return t.type=="}"&&t.align&&i.eat(">")?(e.context=new dh(t.indented,t.column,t.type,t.info,null,t.prev),"operator"):!1},"/":function(i,e){return i.eat("*")?(e.tokenize=Zr(1),e.tokenize(i,e)):!1}},languageData:{closeBrackets:{brackets:["(","[","{","'",'"','"""']}}});function QP(i){return function(e,t){for(var n=!1,r,s=!1;!e.eol();){if(!i&&!n&&e.match('"')){s=!0;break}if(i&&e.match('"""')){s=!0;break}r=e.next(),!n&&r=="$"&&e.match("{")&&e.skipTo("}"),n=!n&&r=="\\"&&!i}return(s||!i)&&(t.tokenize=null),"string"}}var kg=tt({name:"kotlin",keywords:V("package as typealias class interface this super val operator var fun for is in This throw return annotation break continue object if else while do try when !in !is as? file import where by get set abstract enum open inner override private public internal protected catch finally out final vararg reified dynamic companion constructor init sealed field property receiver param sparam lateinit data inline noinline tailrec external annotation crossinline const operator infix suspend actual expect setparam"),types:V("Boolean Byte Character CharSequence Class ClassLoader Cloneable Comparable Compiler Double Exception Float Integer Long Math Number Object Package Pair Process Runtime Runnable SecurityManager Short StackTraceElement StrictMath String StringBuffer System Thread ThreadGroup ThreadLocal Throwable Triple Void Annotation Any BooleanArray ByteArray Char CharArray DeprecationLevel DoubleArray Enum FloatArray Function Int IntArray Lazy LazyThreadSafetyMode LongArray Nothing ShortArray Unit"),intendSwitch:!1,indentStatements:!1,multiLineStrings:!0,number:/^(?:0x[a-f\d_]+|0b[01_]+|(?:[\d_]+(\.\d+)?|\.\d+)(?:e[-+]?[\d_]+)?)(ul?|l|f)?/i,blockKeywords:V("catch class do else finally for if where try while enum"),defKeywords:V("class val var object interface fun"),atoms:V("true false null this"),hooks:{"@":function(i){return i.eatWhile(/[\w\$_]/),"meta"},"*":function(i,e){return e.prevToken=="."?"variable":"operator"},'"':function(i,e){return e.tokenize=QP(i.match('""')),e.tokenize(i,e)},"/":function(i,e){return i.eat("*")?(e.tokenize=Zr(1),e.tokenize(i,e)):!1},indent:function(i,e,t,n){var r=t&&t.charAt(0);if((i.prevToken=="}"||i.prevToken==")")&&t=="")return i.indented;if(i.prevToken=="operator"&&t!="}"&&i.context.type!="}"||i.prevToken=="variable"&&r=="."||(i.prevToken=="}"||i.prevToken==")")&&r==".")return n*2+e.indented;if(e.align&&e.type=="}")return e.indented+(i.context.type==(t||"").charAt(0)?0:n)}},languageData:{closeBrackets:{brackets:["(","[","{","'",'"','"""']}}}),rC=tt({name:"shader",keywords:V("sampler1D sampler2D sampler3D samplerCube sampler1DShadow sampler2DShadow const attribute uniform varying break continue discard return for while do if else struct in out inout"),types:V("float int bool void vec2 vec3 vec4 ivec2 ivec3 ivec4 bvec2 bvec3 bvec4 mat2 mat3 mat4"),blockKeywords:V("for while do if else struct"),builtin:V("radians degrees sin cos tan asin acos atan pow exp log exp2 sqrt inversesqrt abs sign floor ceil fract mod min max clamp mix step smoothstep length distance dot cross normalize ftransform faceforward reflect refract matrixCompMult lessThan lessThanEqual greaterThan greaterThanEqual equal notEqual any all not texture1D texture1DProj texture1DLod texture1DProjLod texture2D texture2DProj texture2DLod texture2DProjLod texture3D texture3DProj texture3DLod texture3DProjLod textureCube textureCubeLod shadow1D shadow2D shadow1DProj shadow2DProj shadow1DLod shadow2DLod shadow1DProjLod shadow2DProjLod dFdx dFdy fwidth noise1 noise2 noise3 noise4"),atoms:V("true false gl_FragColor gl_SecondaryColor gl_Normal gl_Vertex gl_MultiTexCoord0 gl_MultiTexCoord1 gl_MultiTexCoord2 gl_MultiTexCoord3 gl_MultiTexCoord4 gl_MultiTexCoord5 gl_MultiTexCoord6 gl_MultiTexCoord7 gl_FogCoord gl_PointCoord gl_Position gl_PointSize gl_ClipVertex gl_FrontColor gl_BackColor gl_FrontSecondaryColor gl_BackSecondaryColor gl_TexCoord gl_FogFragCoord gl_FragCoord gl_FrontFacing gl_FragData gl_FragDepth gl_ModelViewMatrix gl_ProjectionMatrix gl_ModelViewProjectionMatrix gl_TextureMatrix gl_NormalMatrix gl_ModelViewMatrixInverse gl_ProjectionMatrixInverse gl_ModelViewProjectionMatrixInverse gl_TextureMatrixTranspose gl_ModelViewMatrixInverseTranspose gl_ProjectionMatrixInverseTranspose gl_ModelViewProjectionMatrixInverseTranspose gl_TextureMatrixInverseTranspose gl_NormalScale gl_DepthRange gl_ClipPlane gl_Point gl_FrontMaterial gl_BackMaterial gl_LightSource gl_LightModel gl_FrontLightModelProduct gl_BackLightModelProduct gl_TextureColor gl_EyePlaneS gl_EyePlaneT gl_EyePlaneR gl_EyePlaneQ gl_FogParameters gl_MaxLights gl_MaxClipPlanes gl_MaxTextureUnits gl_MaxTextureCoords gl_MaxVertexAttribs gl_MaxVertexUniformComponents gl_MaxVaryingFloats gl_MaxVertexTextureImageUnits gl_MaxTextureImageUnits gl_MaxFragmentUniformComponents gl_MaxCombineTextureImageUnits gl_MaxDrawBuffers"),indentSwitch:!1,hooks:{"#":yi}}),sC=tt({name:"nesc",keywords:V(qr+" as atomic async call command component components configuration event generic implementation includes interface module new norace nx_struct nx_union post provides signal task uses abstract extends"),types:Er,blockKeywords:V(zr),atoms:V("null true false"),hooks:{"#":yi}}),xg=tt({name:"objectivec",keywords:V(qr+" "+Og),types:pg,builtin:V(dg),blockKeywords:V(zr+" @synthesize @try @catch @finally @autoreleasepool @synchronized"),defKeywords:V(So+" @interface @implementation @protocol @class"),dontIndentStatements:/^@.*$/,typeFirstDefinitions:!0,atoms:V("YES NO NULL Nil nil true false nullptr"),isReservedIdentifier:ko,hooks:{"#":yi,"*":yo}}),oC=tt({name:"objectivecpp",keywords:V(qr+" "+Og+" "+ug),types:pg,builtin:V(dg),blockKeywords:V(zr+" @synthesize @try @catch @finally @autoreleasepool @synchronized class try catch"),defKeywords:V(So+" @interface @implementation @protocol @class class namespace"),dontIndentStatements:/^@.*$|^template$/,typeFirstDefinitions:!0,atoms:V("YES NO NULL Nil nil true false nullptr"),isReservedIdentifier:ko,hooks:{"#":yi,"*":yo,u:Si,U:Si,L:Si,R:Si,0:Se,1:Se,2:Se,3:Se,4:Se,5:Se,6:Se,7:Se,8:Se,9:Se,token:function(i,e,t){if(t=="variable"&&i.peek()=="("&&(e.prevToken==";"||e.prevToken==null||e.prevToken=="}")&&mg(i.current()))return"def"}},namespaceSeparator:"::"}),aC=tt({name:"squirrel",keywords:V("base break clone continue const default delete enum extends function in class foreach local resume return this throw typeof yield constructor instanceof static"),types:Er,blockKeywords:V("case catch class else for foreach if switch try while"),defKeywords:V("function local class"),typeFirstDefinitions:!0,atoms:V("true false null"),hooks:{"#":yi}}),bo=null;function wg(i){return function(e,t){for(var n=!1,r,s=!1;!e.eol();){if(!n&&e.match('"')&&(i=="single"||e.match('""'))){s=!0;break}if(!n&&e.match("``")){bo=wg(i),s=!0;break}r=e.next(),n=i=="single"&&!n&&r=="\\"}return s&&(t.tokenize=null),"string"}}var lC=tt({name:"ceylon",keywords:V("abstracts alias assembly assert assign break case catch class continue dynamic else exists extends finally for function given if import in interface is let module new nonempty object of out outer package return satisfies super switch then this throw try value void while"),types:function(i){var e=i.charAt(0);return e===e.toUpperCase()&&e!==e.toLowerCase()},blockKeywords:V("case catch class dynamic else finally for function if interface module new object switch try while"),defKeywords:V("class dynamic function interface module object package value"),builtin:V("abstract actual aliased annotation by default deprecated doc final formal late license native optional sealed see serializable shared suppressWarnings tagged throws variable"),isPunctuationChar:/[\[\]{}\(\),;\:\.`]/,isOperatorChar:/[+\-*&%=<>!?|^~:\/]/,numberStart:/[\d#$]/,number:/^(?:#[\da-fA-F_]+|\$[01_]+|[\d_]+[kMGTPmunpf]?|[\d_]+\.[\d_]+(?:[eE][-+]?\d+|[kMGTPmunpf]|)|)/i,multiLineStrings:!0,typeFirstDefinitions:!0,atoms:V("true false null larger smaller equal empty finished"),indentSwitch:!1,styleDefs:!1,hooks:{"@":function(i){return i.eatWhile(/[\w\$_]/),"meta"},'"':function(i,e){return e.tokenize=wg(i.match('""')?"triple":"single"),e.tokenize(i,e)},"`":function(i,e){return!bo||!i.match("`")?!1:(e.tokenize=bo,bo=null,e.tokenize(i,e))},"'":function(i){return i.match(/^(\\[^'\s]+|[^\\'])'/)?"string.special":(i.eatWhile(/[\w\$_\xa1-\uffff]/),"atom")},token:function(i,e,t){if((t=="variable"||t=="type")&&e.prevToken==".")return"variableName.special"}},languageData:{closeBrackets:{brackets:["(","[","{","'",'"','"""']}}});function bP(i){(i.interpolationStack||(i.interpolationStack=[])).push(i.tokenize)}function Pg(i){return(i.interpolationStack||(i.interpolationStack=[])).pop()}function SP(i){return i.interpolationStack?i.interpolationStack.length:0}function Oh(i,e,t,n){var r=!1;if(e.eat(i))if(e.eat(i))r=!0;else return"string";function s(o,a){for(var l=!1;!o.eol();){if(!n&&!l&&o.peek()=="$")return bP(a),a.tokenize=yP,"string";var c=o.next();if(c==i&&!l&&(!r||o.match(i+i))){a.tokenize=null;break}l=!n&&!l&&c=="\\"}return"string"}return t.tokenize=s,s(e,t)}function yP(i,e){return i.eat("$"),i.eat("{")?e.tokenize=null:e.tokenize=kP,null}function kP(i,e){return i.eatWhile(/[\w_]/),e.tokenize=Pg(e),"variable"}var cC=tt({name:"dart",keywords:V("this super static final const abstract class extends external factory implements mixin get native set typedef with enum throw rethrow assert break case continue default in return new deferred async await covariant try catch finally do else for if switch while import library export part of show hide is as extension on yield late required sealed base interface when inline"),blockKeywords:V("try catch finally do else for if switch while"),builtin:V("void bool num int double dynamic var String Null Never"),atoms:V("true false null"),number:/^(?:0x[a-f\d_]+|(?:[\d_]+\.?[\d_]*|\.[\d_]+)(?:e[-+]?[\d_]+)?)/i,hooks:{"@":function(i){return i.eatWhile(/[\w\$_\.]/),"meta"},"'":function(i,e){return Oh("'",i,e,!1)},'"':function(i,e){return Oh('"',i,e,!1)},r:function(i,e){var t=i.peek();return t=="'"||t=='"'?Oh(i.next(),i,e,!0):!1},"}":function(i,e){return SP(e)>0?(e.tokenize=Pg(e),null):!1},"/":function(i,e){return i.eat("*")?(e.tokenize=Zr(1),e.tokenize(i,e)):!1},token:function(i,e,t){if(t=="variable"){var n=RegExp("^[_$]*[A-Z][a-zA-Z0-9_$]*$","g");if(n.test(i.current()))return"type"}}}});function je(i){var e=i.client||{},t=i.atoms||{false:!0,true:!0,null:!0},n=i.builtin||M($g),r=i.keywords||M(Fi),s=i.operatorChars||/^[*+\-%<>!=&|~^\/]/,o=i.support||{},a=i.hooks||{},l=i.dateSQL||{date:!0,time:!0,timestamp:!0},c=i.backslashStringEscapes!==!1,h=i.brackets||/^[\{}\(\)\[\]]/,f=i.punctuation||/^[;.,:]/;function u(g,Q){var S=g.next();if(a[S]){var x=a[S](g,Q);if(x!==!1)return x}if(o.hexNumber&&(S=="0"&&g.match(/^[xX][0-9a-fA-F]+/)||(S=="x"||S=="X")&&g.match(/^'[0-9a-fA-F]*'/)))return"number";if(o.binaryNumber&&((S=="b"||S=="B")&&g.match(/^'[01]+'/)||S=="0"&&g.match(/^b[01]*/)))return"number";if(S.charCodeAt(0)>47&&S.charCodeAt(0)<58)return g.match(/^[0-9]*(\.[0-9]+)?([eE][-+]?[0-9]+)?/),o.decimallessFloat&&g.match(/^\.(?!\.)/),"number";if(S=="?"&&(g.eatSpace()||g.eol()||g.eat(";")))return"macroName";if(S=="'"||S=='"'&&o.doubleQuote)return Q.tokenize=O(S),Q.tokenize(g,Q);if((o.nCharCast&&(S=="n"||S=="N")||o.charsetCast&&S=="_"&&g.match(/[a-z][a-z0-9]*/i))&&(g.peek()=="'"||g.peek()=='"'))return"keyword";if(o.escapeConstant&&(S=="e"||S=="E")&&(g.peek()=="'"||g.peek()=='"'&&o.doubleQuote))return Q.tokenize=function($,R){return(R.tokenize=O($.next(),!0))($,R)},"keyword";if(o.commentSlashSlash&&S=="/"&&g.eat("/"))return g.skipToEnd(),"comment";if(o.commentHash&&S=="#"||S=="-"&&g.eat("-")&&(!o.commentSpaceRequired||g.eat(" ")))return g.skipToEnd(),"comment";if(S=="/"&&g.eat("*"))return Q.tokenize=p(1),Q.tokenize(g,Q);if(S=="."){if(o.zerolessFloat&&g.match(/^(?:\d+(?:e[+-]?\d+)?)/i))return"number";if(g.match(/^\.+/))return null;if(o.ODBCdotTable&&g.match(/^[\w\d_$#]+/))return"type"}else{if(s.test(S))return g.eatWhile(s),"operator";if(h.test(S))return"bracket";if(f.test(S))return g.eatWhile(f),"punctuation";if(S=="{"&&(g.match(/^( )*(d|D|t|T|ts|TS)( )*'[^']*'( )*}/)||g.match(/^( )*(d|D|t|T|ts|TS)( )*"[^"]*"( )*}/)))return"number";g.eatWhile(/^[_\w\d]/);var P=g.current().toLowerCase();return l.hasOwnProperty(P)&&(g.match(/^( )+'[^']*'/)||g.match(/^( )+"[^"]*"/))?"number":t.hasOwnProperty(P)?"atom":n.hasOwnProperty(P)?"type":r.hasOwnProperty(P)?"keyword":e.hasOwnProperty(P)?"builtin":null}}function O(g,Q){return function(S,x){for(var P=!1,$;($=S.next())!=null;){if($==g&&!P){x.tokenize=u;break}P=(c||Q)&&!P&&$=="\\"}return"string"}}function p(g){return function(Q,S){var x=Q.match(/^.*?(\/\*|\*\/)/);return x?x[1]=="/*"?S.tokenize=p(g+1):g>1?S.tokenize=p(g-1):S.tokenize=u:Q.skipToEnd(),"comment"}}function m(g,Q,S){Q.context={prev:Q.context,indent:g.indentation(),col:g.column(),type:S}}function b(g){g.indent=g.context.indent,g.context=g.context.prev}return{name:"sql",startState:function(){return{tokenize:u,context:null}},token:function(g,Q){if(g.sol()&&Q.context&&Q.context.align==null&&(Q.context.align=!1),Q.tokenize==u&&g.eatSpace())return null;var S=Q.tokenize(g,Q);if(S=="comment")return S;Q.context&&Q.context.align==null&&(Q.context.align=!0);var x=g.current();return x=="("?m(g,Q,")"):x=="["?m(g,Q,"]"):Q.context&&Q.context.type==x&&b(Q),S},indent:function(g,Q,S){var x=g.context;if(!x)return null;var P=Q.charAt(0)==x.type;return x.align?x.col+(P?0:1):x.indent+(P?0:S.unit)},languageData:{commentTokens:{line:o.commentSlashSlash?"//":o.commentHash?"#":"--",block:{open:"/*",close:"*/"}},closeBrackets:{brackets:["(","[","{","'",'"',"`"]}}}}function ph(i){for(var e;(e=i.next())!=null;)if(e=="`"&&!i.eat("`"))return"string.special";return i.backUp(i.current().length-1),i.eatWhile(/\w/)?"string.special":null}function xP(i){for(var e;(e=i.next())!=null;)if(e=='"'&&!i.eat('"'))return"string.special";return i.backUp(i.current().length-1),i.eatWhile(/\w/)?"string.special":null}function Ni(i){return i.eat("@")&&(i.match("session."),i.match("local."),i.match("global.")),i.eat("'")?(i.match(/^.*'/),"string.special"):i.eat('"')?(i.match(/^.*"/),"string.special"):i.eat("`")?(i.match(/^.*`/),"string.special"):i.match(/^[0-9a-zA-Z$\.\_]+/)?"string.special":null}function vg(i){return i.eat("N")?"atom":i.match(/^[a-zA-Z.#!?]/)?"string.special":null}var Fi="alter and as asc between by count create delete desc distinct drop from group having in insert into is join like not on or order select set table union update values where limit ";function M(i){for(var e={},t=i.split(" "),n=0;n!=^\&|\/]/,brackets:/^[\{}\(\)]/,punctuation:/^[;.,:/]/,backslashStringEscapes:!1,dateSQL:M("date datetimeoffset datetime2 smalldatetime datetime time"),hooks:{"@":Ni}}),OC=je({client:M("charset clear connect edit ego exit go help nopager notee nowarning pager print prompt quit rehash source status system tee"),keywords:M(Fi+"accessible action add after algorithm all analyze asensitive at authors auto_increment autocommit avg avg_row_length before binary binlog both btree cache call cascade cascaded case catalog_name chain change changed character check checkpoint checksum class_origin client_statistics close coalesce code collate collation collations column columns comment commit committed completion concurrent condition connection consistent constraint contains continue contributors convert cross current current_date current_time current_timestamp current_user cursor data database databases day_hour day_microsecond day_minute day_second deallocate dec declare default delay_key_write delayed delimiter des_key_file describe deterministic dev_pop dev_samp deviance diagnostics directory disable discard distinctrow div dual dumpfile each elseif enable enclosed end ends engine engines enum errors escape escaped even event events every execute exists exit explain extended fast fetch field fields first flush for force foreign found_rows full fulltext function general get global grant grants group group_concat handler hash help high_priority hosts hour_microsecond hour_minute hour_second if ignore ignore_server_ids import index index_statistics infile inner innodb inout insensitive insert_method install interval invoker isolation iterate key keys kill language last leading leave left level limit linear lines list load local localtime localtimestamp lock logs low_priority master master_heartbeat_period master_ssl_verify_server_cert masters match max max_rows maxvalue message_text middleint migrate min min_rows minute_microsecond minute_second mod mode modifies modify mutex mysql_errno natural next no no_write_to_binlog offline offset one online open optimize option optionally out outer outfile pack_keys parser partition partitions password phase plugin plugins prepare preserve prev primary privileges procedure processlist profile profiles purge query quick range read read_write reads real rebuild recover references regexp relaylog release remove rename reorganize repair repeatable replace require resignal restrict resume return returns revoke right rlike rollback rollup row row_format rtree savepoint schedule schema schema_name schemas second_microsecond security sensitive separator serializable server session share show signal slave slow smallint snapshot soname spatial specific sql sql_big_result sql_buffer_result sql_cache sql_calc_found_rows sql_no_cache sql_small_result sqlexception sqlstate sqlwarning ssl start starting starts status std stddev stddev_pop stddev_samp storage straight_join subclass_origin sum suspend table_name table_statistics tables tablespace temporary terminated to trailing transaction trigger triggers truncate uncommitted undo uninstall unique unlock upgrade usage use use_frm user user_resources user_statistics using utc_date utc_time utc_timestamp value variables varying view views warnings when while with work write xa xor year_month zerofill begin do then else loop repeat"),builtin:M("bool boolean bit blob decimal double float long longblob longtext medium mediumblob mediumint mediumtext time timestamp tinyblob tinyint tinytext text bigint int int1 int2 int3 int4 int8 integer float float4 float8 double char varbinary varchar varcharacter precision date datetime year unsigned signed numeric"),atoms:M("false true null unknown"),operatorChars:/^[*+\-%<>!=&|^]/,dateSQL:M("date time timestamp"),support:M("ODBCdotTable decimallessFloat zerolessFloat binaryNumber hexNumber doubleQuote nCharCast charsetCast commentHash commentSpaceRequired"),hooks:{"@":Ni,"`":ph,"\\":vg}}),dC=je({client:M("charset clear connect edit ego exit go help nopager notee nowarning pager print prompt quit rehash source status system tee"),keywords:M(Fi+"accessible action add after algorithm all always analyze asensitive at authors auto_increment autocommit avg avg_row_length before binary binlog both btree cache call cascade cascaded case catalog_name chain change changed character check checkpoint checksum class_origin client_statistics close coalesce code collate collation collations column columns comment commit committed completion concurrent condition connection consistent constraint contains continue contributors convert cross current current_date current_time current_timestamp current_user cursor data database databases day_hour day_microsecond day_minute day_second deallocate dec declare default delay_key_write delayed delimiter des_key_file describe deterministic dev_pop dev_samp deviance diagnostics directory disable discard distinctrow div dual dumpfile each elseif enable enclosed end ends engine engines enum errors escape escaped even event events every execute exists exit explain extended fast fetch field fields first flush for force foreign found_rows full fulltext function general generated get global grant grants group group_concat handler hard hash help high_priority hosts hour_microsecond hour_minute hour_second if ignore ignore_server_ids import index index_statistics infile inner innodb inout insensitive insert_method install interval invoker isolation iterate key keys kill language last leading leave left level limit linear lines list load local localtime localtimestamp lock logs low_priority master master_heartbeat_period master_ssl_verify_server_cert masters match max max_rows maxvalue message_text middleint migrate min min_rows minute_microsecond minute_second mod mode modifies modify mutex mysql_errno natural next no no_write_to_binlog offline offset one online open optimize option optionally out outer outfile pack_keys parser partition partitions password persistent phase plugin plugins prepare preserve prev primary privileges procedure processlist profile profiles purge query quick range read read_write reads real rebuild recover references regexp relaylog release remove rename reorganize repair repeatable replace require resignal restrict resume return returns revoke right rlike rollback rollup row row_format rtree savepoint schedule schema schema_name schemas second_microsecond security sensitive separator serializable server session share show shutdown signal slave slow smallint snapshot soft soname spatial specific sql sql_big_result sql_buffer_result sql_cache sql_calc_found_rows sql_no_cache sql_small_result sqlexception sqlstate sqlwarning ssl start starting starts status std stddev stddev_pop stddev_samp storage straight_join subclass_origin sum suspend table_name table_statistics tables tablespace temporary terminated to trailing transaction trigger triggers truncate uncommitted undo uninstall unique unlock upgrade usage use use_frm user user_resources user_statistics using utc_date utc_time utc_timestamp value variables varying view views virtual warnings when while with work write xa xor year_month zerofill begin do then else loop repeat"),builtin:M("bool boolean bit blob decimal double float long longblob longtext medium mediumblob mediumint mediumtext time timestamp tinyblob tinyint tinytext text bigint int int1 int2 int3 int4 int8 integer float float4 float8 double char varbinary varchar varcharacter precision date datetime year unsigned signed numeric"),atoms:M("false true null unknown"),operatorChars:/^[*+\-%<>!=&|^]/,dateSQL:M("date time timestamp"),support:M("ODBCdotTable decimallessFloat zerolessFloat binaryNumber hexNumber doubleQuote nCharCast charsetCast commentHash commentSpaceRequired"),hooks:{"@":Ni,"`":ph,"\\":vg}}),pC=je({client:M("auth backup bail binary changes check clone databases dbinfo dump echo eqp exit explain fullschema headers help import imposter indexes iotrace limit lint load log mode nullvalue once open output print prompt quit read restore save scanstats schema separator session shell show stats system tables testcase timeout timer trace vfsinfo vfslist vfsname width"),keywords:M(Fi+"abort action add after all analyze attach autoincrement before begin cascade case cast check collate column commit conflict constraint cross current_date current_time current_timestamp database default deferrable deferred detach each else end escape except exclusive exists explain fail for foreign full glob if ignore immediate index indexed initially inner instead intersect isnull key left limit match natural no notnull null of offset outer plan pragma primary query raise recursive references regexp reindex release rename replace restrict right rollback row savepoint temp temporary then to transaction trigger unique using vacuum view virtual when with without"),builtin:M("bool boolean bit blob decimal double float long longblob longtext medium mediumblob mediumint mediumtext time timestamp tinyblob tinyint tinytext text clob bigint int int2 int8 integer float double char varchar date datetime year unsigned signed numeric real"),atoms:M("null current_date current_time current_timestamp"),operatorChars:/^[*+\-%<>!=&|/~]/,dateSQL:M("date time timestamp datetime"),support:M("decimallessFloat zerolessFloat"),identifierQuote:'"',hooks:{"@":Ni,":":Ni,"?":Ni,$:Ni,'"':xP,"`":ph}}),mC=je({client:{},keywords:M("add all allow alter and any apply as asc authorize batch begin by clustering columnfamily compact consistency count create custom delete desc distinct drop each_quorum exists filtering from grant if in index insert into key keyspace keyspaces level limit local_one local_quorum modify nan norecursive nosuperuser not of on one order password permission permissions primary quorum rename revoke schema select set storage superuser table three to token truncate ttl two type unlogged update use user users using values where with writetime"),builtin:M("ascii bigint blob boolean counter decimal double float frozen inet int list map static text timestamp timeuuid tuple uuid varchar varint"),atoms:M("false true infinity NaN"),operatorChars:/^[<>=]/,dateSQL:{},support:M("commentSlashSlash decimallessFloat"),hooks:{}}),gC=je({client:M("appinfo arraysize autocommit autoprint autorecovery autotrace blockterminator break btitle cmdsep colsep compatibility compute concat copycommit copytypecheck define describe echo editfile embedded escape exec execute feedback flagger flush heading headsep instance linesize lno loboffset logsource long longchunksize markup native newpage numformat numwidth pagesize pause pno recsep recsepchar release repfooter repheader serveroutput shiftinout show showmode size spool sqlblanklines sqlcase sqlcode sqlcontinue sqlnumber sqlpluscompatibility sqlprefix sqlprompt sqlterminator suffix tab term termout time timing trimout trimspool ttitle underline verify version wrap"),keywords:M("abort accept access add all alter and any array arraylen as asc assert assign at attributes audit authorization avg base_table begin between binary_integer body boolean by case cast char char_base check close cluster clusters colauth column comment commit compress connect connected constant constraint crash create current currval cursor data_base database date dba deallocate debugoff debugon decimal declare default definition delay delete desc digits dispose distinct do drop else elseif elsif enable end entry escape exception exception_init exchange exclusive exists exit external fast fetch file for force form from function generic goto grant group having identified if immediate in increment index indexes indicator initial initrans insert interface intersect into is key level library like limited local lock log logging long loop master maxextents maxtrans member minextents minus mislabel mode modify multiset new next no noaudit nocompress nologging noparallel not nowait number_base object of off offline on online only open option or order out package parallel partition pctfree pctincrease pctused pls_integer positive positiven pragma primary prior private privileges procedure public raise range raw read rebuild record ref references refresh release rename replace resource restrict return returning returns reverse revoke rollback row rowid rowlabel rownum rows run savepoint schema segment select separate session set share snapshot some space split sql start statement storage subtype successful synonym tabauth table tables tablespace task terminate then to trigger truncate type union unique unlimited unrecoverable unusable update use using validate value values variable view views when whenever where while with work"),builtin:M("abs acos add_months ascii asin atan atan2 average bfile bfilename bigserial bit blob ceil character chartorowid chr clob concat convert cos cosh count dec decode deref dual dump dup_val_on_index empty error exp false float floor found glb greatest hextoraw initcap instr instrb int integer isopen last_day least length lengthb ln lower lpad ltrim lub make_ref max min mlslabel mod months_between natural naturaln nchar nclob new_time next_day nextval nls_charset_decl_len nls_charset_id nls_charset_name nls_initcap nls_lower nls_sort nls_upper nlssort no_data_found notfound null number numeric nvarchar2 nvl others power rawtohex real reftohex round rowcount rowidtochar rowtype rpad rtrim serial sign signtype sin sinh smallint soundex sqlcode sqlerrm sqrt stddev string substr substrb sum sysdate tan tanh to_char text to_date to_label to_multi_byte to_number to_single_byte translate true trunc uid unlogged upper user userenv varchar varchar2 variance varying vsize xml"),operatorChars:/^[*\/+\-%<>!=~]/,dateSQL:M("date time timestamp"),support:M("doubleQuote nCharCast zerolessFloat binaryNumber hexNumber")}),QC=je({keywords:M("select alter $elem$ $key$ $value$ add after all analyze and archive as asc before between binary both bucket buckets by cascade case cast change cluster clustered clusterstatus collection column columns comment compute concatenate continue create cross cursor data database databases dbproperties deferred delete delimited desc describe directory disable distinct distribute drop else enable end escaped exclusive exists explain export extended external fetch fields fileformat first format formatted from full function functions grant group having hold_ddltime idxproperties if import in index indexes inpath inputdriver inputformat insert intersect into is items join keys lateral left like limit lines load local location lock locks mapjoin materialized minus msck no_drop nocompress not of offline on option or order out outer outputdriver outputformat overwrite partition partitioned partitions percent plus preserve procedure purge range rcfile read readonly reads rebuild recordreader recordwriter recover reduce regexp rename repair replace restrict revoke right rlike row schema schemas semi sequencefile serde serdeproperties set shared show show_database sort sorted ssl statistics stored streamtable table tables tablesample tblproperties temporary terminated textfile then tmp to touch transform trigger unarchive undo union uniquejoin unlock update use using utc utc_tmestamp view when where while with admin authorization char compact compactions conf cube current current_date current_timestamp day decimal defined dependency directories elem_type exchange file following for grouping hour ignore inner interval jar less logical macro minute month more none noscan over owner partialscan preceding pretty principals protection reload rewrite role roles rollup rows second server sets skewed transactions truncate unbounded unset uri user values window year"),builtin:M("bool boolean long timestamp tinyint smallint bigint int float double date datetime unsigned string array struct map uniontype key_type utctimestamp value_type varchar"),atoms:M("false true null unknown"),operatorChars:/^[*+\-%<>!=]/,dateSQL:M("date timestamp"),support:M("ODBCdotTable doubleQuote binaryNumber hexNumber")}),bC=je({client:M("source"),keywords:M(Fi+"a abort abs absent absolute access according action ada add admin after aggregate alias all allocate also alter always analyse analyze and any are array array_agg array_max_cardinality as asc asensitive assert assertion assignment asymmetric at atomic attach attribute attributes authorization avg backward base64 before begin begin_frame begin_partition bernoulli between bigint binary bit bit_length blob blocked bom boolean both breadth by c cache call called cardinality cascade cascaded case cast catalog catalog_name ceil ceiling chain char char_length character character_length character_set_catalog character_set_name character_set_schema characteristics characters check checkpoint class class_origin clob close cluster coalesce cobol collate collation collation_catalog collation_name collation_schema collect column column_name columns command_function command_function_code comment comments commit committed concurrently condition condition_number configuration conflict connect connection connection_name constant constraint constraint_catalog constraint_name constraint_schema constraints constructor contains content continue control conversion convert copy corr corresponding cost count covar_pop covar_samp create cross csv cube cume_dist current current_catalog current_date current_default_transform_group current_path current_role current_row current_schema current_time current_timestamp current_transform_group_for_type current_user cursor cursor_name cycle data database datalink datatype date datetime_interval_code datetime_interval_precision day db deallocate debug dec decimal declare default defaults deferrable deferred defined definer degree delete delimiter delimiters dense_rank depends depth deref derived desc describe descriptor detach detail deterministic diagnostics dictionary disable discard disconnect dispatch distinct dlnewcopy dlpreviouscopy dlurlcomplete dlurlcompleteonly dlurlcompletewrite dlurlpath dlurlpathonly dlurlpathwrite dlurlscheme dlurlserver dlvalue do document domain double drop dump dynamic dynamic_function dynamic_function_code each element else elseif elsif empty enable encoding encrypted end end_frame end_partition endexec enforced enum equals errcode error escape event every except exception exclude excluding exclusive exec execute exists exit exp explain expression extension external extract false family fetch file filter final first first_value flag float floor following for force foreach foreign fortran forward found frame_row free freeze from fs full function functions fusion g general generated get global go goto grant granted greatest group grouping groups handler having header hex hierarchy hint hold hour id identity if ignore ilike immediate immediately immutable implementation implicit import in include including increment indent index indexes indicator info inherit inherits initially inline inner inout input insensitive insert instance instantiable instead int integer integrity intersect intersection interval into invoker is isnull isolation join k key key_member key_type label lag language large last last_value lateral lead leading leakproof least left length level library like like_regex limit link listen ln load local localtime localtimestamp location locator lock locked log logged loop lower m map mapping match matched materialized max max_cardinality maxvalue member merge message message_length message_octet_length message_text method min minute minvalue mod mode modifies module month more move multiset mumps name names namespace national natural nchar nclob nesting new next nfc nfd nfkc nfkd nil no none normalize normalized not nothing notice notify notnull nowait nth_value ntile null nullable nullif nulls number numeric object occurrences_regex octet_length octets of off offset oids old on only open operator option options or order ordering ordinality others out outer output over overlaps overlay overriding owned owner p pad parallel parameter parameter_mode parameter_name parameter_ordinal_position parameter_specific_catalog parameter_specific_name parameter_specific_schema parser partial partition pascal passing passthrough password path percent percent_rank percentile_cont percentile_disc perform period permission pg_context pg_datatype_name pg_exception_context pg_exception_detail pg_exception_hint placing plans pli policy portion position position_regex power precedes preceding precision prepare prepared preserve primary print_strict_params prior privileges procedural procedure procedures program public publication query quote raise range rank read reads real reassign recheck recovery recursive ref references referencing refresh regr_avgx regr_avgy regr_count regr_intercept regr_r2 regr_slope regr_sxx regr_sxy regr_syy reindex relative release rename repeatable replace replica requiring reset respect restart restore restrict result result_oid return returned_cardinality returned_length returned_octet_length returned_sqlstate returning returns reverse revoke right role rollback rollup routine routine_catalog routine_name routine_schema routines row row_count row_number rows rowtype rule savepoint scale schema schema_name schemas scope scope_catalog scope_name scope_schema scroll search second section security select selective self sensitive sequence sequences serializable server server_name session session_user set setof sets share show similar simple size skip slice smallint snapshot some source space specific specific_name specifictype sql sqlcode sqlerror sqlexception sqlstate sqlwarning sqrt stable stacked standalone start state statement static statistics stddev_pop stddev_samp stdin stdout storage strict strip structure style subclass_origin submultiset subscription substring substring_regex succeeds sum symmetric sysid system system_time system_user t table table_name tables tablesample tablespace temp template temporary text then ties time timestamp timezone_hour timezone_minute to token top_level_count trailing transaction transaction_active transactions_committed transactions_rolled_back transform transforms translate translate_regex translation treat trigger trigger_catalog trigger_name trigger_schema trim trim_array true truncate trusted type types uescape unbounded uncommitted under unencrypted union unique unknown unlink unlisten unlogged unnamed unnest until untyped update upper uri usage use_column use_variable user user_defined_type_catalog user_defined_type_code user_defined_type_name user_defined_type_schema using vacuum valid validate validator value value_of values var_pop var_samp varbinary varchar variable_conflict variadic varying verbose version versioning view views volatile warning when whenever where while whitespace width_bucket window with within without work wrapper write xml xmlagg xmlattributes xmlbinary xmlcast xmlcomment xmlconcat xmldeclaration xmldocument xmlelement xmlexists xmlforest xmliterate xmlnamespaces xmlparse xmlpi xmlquery xmlroot xmlschema xmlserialize xmltable xmltext xmlvalidate year yes zone"),builtin:M("bigint int8 bigserial serial8 bit varying varbit boolean bool box bytea character char varchar cidr circle date double precision float8 inet integer int int4 interval json jsonb line lseg macaddr macaddr8 money numeric decimal path pg_lsn point polygon real float4 smallint int2 smallserial serial2 serial serial4 text time without zone with timetz timestamp timestamptz tsquery tsvector txid_snapshot uuid xml"),atoms:M("false true null unknown"),operatorChars:/^[*\/+\-%<>!=&|^\/#@?~]/,backslashStringEscapes:!1,dateSQL:M("date time timestamp"),support:M("ODBCdotTable decimallessFloat zerolessFloat binaryNumber hexNumber nCharCast charsetCast escapeConstant")}),SC=je({keywords:M("ancestor and asc by contains desc descendant distinct from group has in is limit offset on order select superset where"),atoms:M("false true"),builtin:M("blob datetime first key __key__ string integer double boolean null"),operatorChars:/^[*+\-%<>!=]/}),yC=je({client:M("source"),keywords:M("abort absolute access action active add admin after aggregate all also alter always analyse analyze and any array as asc assertion assignment asymmetric at authorization backward before begin between bigint binary bit boolean both by cache called cascade cascaded case cast chain char character characteristics check checkpoint class close cluster coalesce codegen collate column comment commit committed concurrency concurrently configuration connection constraint constraints contains content continue conversion copy cost cpu_rate_limit create createdb createexttable createrole createuser cross csv cube current current_catalog current_date current_role current_schema current_time current_timestamp current_user cursor cycle data database day deallocate dec decimal declare decode default defaults deferrable deferred definer delete delimiter delimiters deny desc dictionary disable discard distinct distributed do document domain double drop dxl each else enable encoding encrypted end enum errors escape every except exchange exclude excluding exclusive execute exists explain extension external extract false family fetch fields filespace fill filter first float following for force foreign format forward freeze from full function global grant granted greatest group group_id grouping handler hash having header hold host hour identity if ignore ilike immediate immutable implicit in including inclusive increment index indexes inherit inherits initially inline inner inout input insensitive insert instead int integer intersect interval into invoker is isnull isolation join key language large last leading least left level like limit list listen load local localtime localtimestamp location lock log login mapping master match maxvalue median merge minute minvalue missing mode modifies modify month move name names national natural nchar new newline next no nocreatedb nocreateexttable nocreaterole nocreateuser noinherit nologin none noovercommit nosuperuser not nothing notify notnull nowait null nullif nulls numeric object of off offset oids old on only operator option options or order ordered others out outer over overcommit overlaps overlay owned owner parser partial partition partitions passing password percent percentile_cont percentile_disc placing plans position preceding precision prepare prepared preserve primary prior privileges procedural procedure protocol queue quote randomly range read readable reads real reassign recheck recursive ref references reindex reject relative release rename repeatable replace replica reset resource restart restrict returning returns revoke right role rollback rollup rootpartition row rows rule savepoint scatter schema scroll search second security segment select sequence serializable session session_user set setof sets share show similar simple smallint some split sql stable standalone start statement statistics stdin stdout storage strict strip subpartition subpartitions substring superuser symmetric sysid system table tablespace temp template temporary text then threshold ties time timestamp to trailing transaction treat trigger trim true truncate trusted type unbounded uncommitted unencrypted union unique unknown unlisten until update user using vacuum valid validation validator value values varchar variadic varying verbose version view volatile web when where whitespace window with within without work writable write xml xmlattributes xmlconcat xmlelement xmlexists xmlforest xmlparse xmlpi xmlroot xmlserialize year yes zone"),builtin:M("bigint int8 bigserial serial8 bit varying varbit boolean bool box bytea character char varchar cidr circle date double precision float float8 inet integer int int4 interval json jsonb line lseg macaddr macaddr8 money numeric decimal path pg_lsn point polygon real float4 smallint int2 smallserial serial2 serial serial4 text time without zone with timetz timestamp timestamptz tsquery tsvector txid_snapshot uuid xml"),atoms:M("false true null unknown"),operatorChars:/^[*+\-%<>!=&|^\/#@?~]/,dateSQL:M("date time timestamp"),support:M("ODBCdotTable decimallessFloat zerolessFloat binaryNumber hexNumber nCharCast charsetCast")}),kC=je({keywords:M("add after all alter analyze and anti archive array as asc at between bucket buckets by cache cascade case cast change clear cluster clustered codegen collection column columns comment commit compact compactions compute concatenate cost create cross cube current current_date current_timestamp database databases data dbproperties defined delete delimited deny desc describe dfs directories distinct distribute drop else end escaped except exchange exists explain export extended external false fields fileformat first following for format formatted from full function functions global grant group grouping having if ignore import in index indexes inner inpath inputformat insert intersect interval into is items join keys last lateral lazy left like limit lines list load local location lock locks logical macro map minus msck natural no not null nulls of on optimize option options or order out outer outputformat over overwrite partition partitioned partitions percent preceding principals purge range recordreader recordwriter recover reduce refresh regexp rename repair replace reset restrict revoke right rlike role roles rollback rollup row rows schema schemas select semi separated serde serdeproperties set sets show skewed sort sorted start statistics stored stratify struct table tables tablesample tblproperties temp temporary terminated then to touch transaction transactions transform true truncate unarchive unbounded uncache union unlock unset use using values view when where window with"),builtin:M("tinyint smallint int bigint boolean float double string binary timestamp decimal array map struct uniontype delimited serde sequencefile textfile rcfile inputformat outputformat"),atoms:M("false true null"),operatorChars:/^[*\/+\-%<>!=~&|^]/,dateSQL:M("date time timestamp"),support:M("ODBCdotTable doubleQuote zerolessFloat")}),xC=je({client:M("source"),keywords:M("alter and as asc between by count create delete desc distinct drop from group having in insert into is join like not on or order select set table union update values where limit after all and as at asc avedev avg between by case cast coalesce count create current_timestamp day days delete define desc distinct else end escape events every exists false first from full group having hour hours in inner insert instanceof into irstream is istream join last lastweekday left limit like max match_recognize matches median measures metadatasql min minute minutes msec millisecond milliseconds not null offset on or order outer output partition pattern prev prior regexp retain-union retain-intersection right rstream sec second seconds select set some snapshot sql stddev sum then true unidirectional until update variable weekday when where window"),builtin:{},atoms:M("false true null"),operatorChars:/^[*+\-%<>!=&|^\/#@?~]/,dateSQL:M("time"),support:M("decimallessFloat zerolessFloat binaryNumber hexNumber")});var Tg={name:"toml",startState:function(){return{inString:!1,stringType:"",lhs:!0,inArray:0}},token:function(i,e){let t;if(!e.inString&&(t=i.match(/^('''|"""|'|")/))&&(e.stringType=t[0],e.inString=!0),i.sol()&&!e.inString&&e.inArray===0&&(e.lhs=!0),e.inString){for(;e.inString;)if(i.match(e.stringType))e.inString=!1;else if(i.peek()==="\\")i.next(),i.next();else{if(i.eol())break;i.match(/^.[^\\\"\']*/)}return e.lhs?"property":"string"}else{if(e.inArray&&i.peek()==="]")return i.next(),e.inArray--,"bracket";if(e.lhs&&i.peek()==="["&&i.skipTo("]"))return i.next(),i.peek()==="]"&&i.next(),"atom";if(i.peek()==="#")return i.skipToEnd(),"comment";if(i.eatSpace())return null;if(e.lhs&&i.eatWhile(function(n){return n!="="&&n!=" "}))return"property";if(e.lhs&&i.peek()==="=")return i.next(),e.lhs=!1,null;if(!e.lhs&&i.match(/^\d\d\d\d[\d\-\:\.T]*Z/))return"atom";if(!e.lhs&&(i.match("true")||i.match("false")))return"atom";if(!e.lhs&&i.peek()==="[")return e.inArray++,i.next(),"bracket";if(!e.lhs&&i.match(/^\-?\d+(?:\.\d+)?/))return"number";i.eatSpace()||i.next()}return null},languageData:{commentTokens:{line:"#"}}};var wP=ge({"for in if else endfor endif":d.controlKeyword,"Attribute/Identifier":d.definition(d.propertyName),"ForIntro/Identifier":d.definition(d.propertyName),"Block/Identifier":d.definitionKeyword,"FunctionCall/Identifier":d.function(d.variableName),"Attribute/Expression":d.attributeValue,"VariableExpr/Identifier":d.variableName,"GetAttr/Identifier":d.variableName,Identifier:d.name,"LiteralValue/...":d.literal,"StringLit/... TemplateLiteral":d.string,NumericLit:d.number,BoolLit:d.bool,NullLit:d.null,Comment:d.comment,LineComment:d.lineComment,BlockComment:d.blockComment,"( )":d.paren,"{ }":d.bracket,"[ ]":d.squareBracket,ArithOp:d.arithmeticOperator,LogicOp:d.logicOperator,CompareOp:d.compareOperator,ControlOp:d.controlOperator,HeredocIdentifier:d.special(d.controlKeyword),HeredocStart:d.special(d.brace),"TemplateInterpolationStart TemplateInterpolationEnd":d.special(d.brace),"TemplateDirectiveStart TemplateDirectiveEnd":d.special(d.brace),StripMarker:d.special(d.brace),Ellipsis:d.punctuation,": =>":d.punctuation,",":d.separator}),mh=1,gh=2,Qh=3,bh=4,Sh=5,yh=6,An=7,qe=93,Xe={QUOTED_TEMPLATE:1,TEMPLATE_INTERPOLATION:2,TEMPLATE_DIRECTIVE:4,HEREDOC_TEMPLATE:8},PP=function(i){var e=0,t,n;if(i.length===0)return e;for(t=0;t{if(e.canShift(mh)&&!(e.context&&e.context.type===Xe.QUOTED_TEMPLATE)&&String.fromCharCode(i.next)==='"')return i.advance(),i.acceptToken(mh)},{contextual:!0,fallback:!0}),CP=new K((i,e)=>{if(e.canShift(gh)&&e.context&&e.context.type===Xe.QUOTED_TEMPLATE&&String.fromCharCode(i.next)==='"')return i.advance(),i.acceptToken(gh)},{contextual:!0,fallback:!0}),XP=new K((i,e)=>{if(e.canShift(qe)&&e.context&&e.context.type===Xe.QUOTED_TEMPLATE)switch(String.fromCharCode(i.next)){case"\\":switch(i.advance(),String.fromCharCode(i.next)){case'"':case"n":case"r":case"t":case"\\":return i.advance(),i.acceptToken(qe);case"u":for(let t=0;t<4;t++)if(i.advance(),!/[0-9a-fA-F]/.test(String.fromCharCode(i.next)))return;return i.advance(),i.acceptToken(qe);case"U":for(let t=0;t<8;t++)if(i.advance(),!/[0-9a-fA-F]/.test(String.fromCharCode(i.next)))return;return i.advance(),i.acceptToken(qe);default:return}}if(e.canShift(qe)&&e.context&&(e.context.type===Xe.QUOTED_TEMPLATE||e.context.type===Xe.HEREDOC_TEMPLATE)&&i.next!==-1)return i.advance(),i.acceptToken(qe)},{contextual:!0,fallback:!0}),_P=new K((i,e)=>{if(e.canShift(Qh)&&e.canShift(qe)&&!(e.context&&e.context.type===Xe.TEMPLATE_INTERPOLATION)&&String.fromCharCode(i.next)==="$")return i.advance(),String.fromCharCode(i.next)==="{"?(i.advance(),i.acceptToken(Qh)):(String.fromCharCode(i.next)==="$"&&(i.advance(),String.fromCharCode(i.next)==="{")&&i.advance(),i.acceptToken(qe))},{contextual:!0,fallback:!0}),RP=new K((i,e)=>{if(e.canShift(bh)&&e.context&&e.context.type===Xe.TEMPLATE_INTERPOLATION&&String.fromCharCode(i.next)==="}")return i.advance(),i.acceptToken(bh)},{contextual:!0,fallback:!0}),AP=new K((i,e)=>{if(e.canShift(Sh)&&e.canShift(qe)&&!(e.context&&e.context.type===Xe.TEMPLATE_DIRECTIVE)&&String.fromCharCode(i.next)==="%")return i.advance(),String.fromCharCode(i.next)==="{"?(i.advance(),i.acceptToken(Sh)):(String.fromCharCode(i.next)==="%"&&(i.advance(),String.fromCharCode(i.next)==="{")&&i.advance(),i.acceptToken(qe))},{contextual:!0,fallback:!0}),ZP=new K((i,e)=>{if(e.canShift(yh)&&e.context&&e.context.type===Xe.TEMPLATE_DIRECTIVE&&String.fromCharCode(i.next)==="}")return i.advance(),i.acceptToken(yh)},{contextual:!0,fallback:!0}),qP=new K((i,e)=>{if(e.canShift(An)&&!(e.context&&e.context.type===Xe.HEREDOC_TEMPLATE)&&i.next!==-1){let t=String.fromCharCode(i.next);for(;/[0-9a-zA-Z]/.test(t)||t==="_"||t==="-";)i.advance(),t=String.fromCharCode(i.next);return i.acceptToken(An)}if(e.canShift(An)&&e.canShift(qe)&&e.context&&e.context.type===Xe.HEREDOC_TEMPLATE&&i.next!=-1){let t=e.context.heredoc_identifier,n=!1,r=!1,s=String.fromCharCode(i.next);for(;/\s/.test(s);)r=!0,s===` +`&&(n=!0),i.advance(),s=String.fromCharCode(i.next);if(r&&i.acceptToken(qe),!n)return;let o=0;for(let l=0;lbQ&jO,5:fOOQy,5:h,5:hPOQy'#EY'#EYPOQy,5:j,5:jPOQy,5:k,5:kOOQy1G0g1G0gOOQO7+%u7+%uO>jQ&jO7+%uOOQ%n,5:|,5:|OOQ%n1G.}1G.}O>oQ&rO1G.}O>tQ&rO1G.}OOQ%n1G/Q1G/QO?PQ&jO,59jO?[Q'[O,59jOOQ%n1G/W1G/WO1tQ)tO1G/WO?dQ&jO'#DVO1tQ)tO1G/WO?rQ&jO,59oO@QQ'[O,59oO@YQ'[O,59qO@bQ&jO1G/RO@jQ&jO1G/RO$yQ&kO1G/XO@oQ'[O1G/XOOQy7+$y7+$yO@zQ&jO,5:rOA]Q&kO1G0lOOQO-E8U-E8UOOQy7+%[7+%[OAdQ&jO7+%[O$yQ&kO'#DlO$yQ&kO1G/qOAiQ&jO1G/qOOQP'#ES'#ESO$yQ&kO7+%rP$yQ&kO'#EXO$yQ&kO7+%_OAnQ&kO,5:ROAuQ&jO,5:ROOQO,5:R,5:ROOQy7+%V7+%VOOQy1G0Q1G0QPOQy-E8W-E8WOOQO<eAN>eOKmQ&jOAN>eOKrQ&jOAN>eOOQ%n<cOOQyG24PG24POLiQ&jOG24POOQ$YG23_G23_OLnQ'[OG23_OLyQ'[OG23_O$yQ&kOG23_OOQPG23}G23}OOQyLD)kLD)kOOQ$YLD(yLD(yOMOQ'[OLD(yOMTQ'[OLD(yOOQ$Y!$'Le!$'LeOM`Q'[O!$'LeOOQ$Y!)9BP!)9BPO-wQ&kO'#DoO/TQ&kO'#DoOMeQ&kO'#CkO-wQ&kO,5:^O/TQ&kO,5:^O-wQ&kO,5:^O/TQ&kO,5:^O-wQ&kO,5:^O/TQ&kO,5:^O-wQ&kO,5:^O/TQ&kO,5:^O-wQ&kO,5:^O/TQ&kO,5:^O-wQ&kO,5:^O/TQ&kO,5:^ON[Q&kO1G/xO! XQ&kO1G/xO!!UQ&kO1G/xO!%UQ&kO1G/xO!%]Q&kO1G/xO-wQ&kO7+%rO/TQ&kO7+%rO4uQ&jO1G0WO4uQ&jO1G0WO$yQ&kO,5:lO$yQ&kO,5:l",stateData:"!%l~O#ROSXPQYPQ~O^RO!SQO~OXVOYVO~OPZO^gOa[OcXOdXOfYO!P`O!RdO!ScO!YoO#W]O#X]O#^iO#_jO~OPqO^sO!SuO#SrO~O^RO#O[X!R[X~OQ!PORyOT!QO#PwO~OV!RO~OPZO^gOa[OcXOdXOfYOp!WO!P`O!ScO!YoO#W]O#X]O#^iO#_jO~O!O!TO~P#iO#S!XO#[!XO#o!YO~OPZO^gOa[OcXOdXOfYO!P`O!ScO!YoO#W]O#X]O#^iO#_jO~O#V!]O!R#ZX~P$yOp!WO~PmO!R!`O~O!Y!aO!P!VX!o!VX#^!VX#`!VX#a!VX#b!VX#c!VX#d!VX#e!VX#f!VX#g!VX#h!VX#i!VX#j!VX#k!VX#l!VX#m!VX#n!VX#o!VX~O#S!VX#[!VX!O!VX#V!VX!W!VX^!VX#O!VXS!VXl!VXv!VX![!VXU!VX!R!VX~P&[O!o!pO#^!dO#`!cO#a!cO#b!cO#c!dO#d!eO#e!eO#f!eO#g!eO#h!fO#i!fO#j!gO#k!hO#l!qO#m!rO#n!sO#o_X#V_X^_X!R_X~O!P!oO#S_X#[_X!O_X!W_X#O_XS_Xl_Xv_X![_XU_X~P(iOPqO^sO!S!zO~O^RO!R!{O~O#P!}OQ#UPR#UPT#UPV#UP~OQ#POR!yXT!yX#P!yX~OS#QOl#RO~P$yORyOT#VO#PwO~ORyOT#ZO#PwO~OQ#]ORyOT!QO#PwO~Ol#_Op#^Ov#`O~ORyOT!QOV#bO#PwO~O#V#cO#o!YO!O#YX~O!O#eO~O^#gO~OPZO^#iOa[OcXOdXOfYO!P`O!ScO!YoO#W]O#X]O#^iO#_jO~O!R#Za~P$yO#V#lO!R#Za~P$yOPZO^#nOa[OcXOdXOfYO!P`O!ScO!YoO#W]O#X]O#^iO#_jO~O!W#rO~P$yO^#{O~O!W$PO#o!YO~OQ#PO~O#o!YO^]i#O]i!R]i~O^RO!R$QO~OS$TOl$UO~P$yOS$TOl$UO#o!YO~Ol$XOp#^Os$YOv#`O~ORyOT$]O#PwO~Ol$_Op#^Ov#`Ox$`Oz$aO~O^$bO~Op$cOv$dO~ORyOT!QOV$fO#PwO~O!O#Ya~P$yO#V$hO!O#Ya~Ov$lO!O$jO#o!YO~Oq$mO#V$nO~O#o!YOP!Ui^!Uia!Uic!Uid!Uif!Ui!P!Ui!R!Ui!S!Ui!Y!Ui#V!Ui#W!Ui#X!Ui#^!Ui#_!Ui~O#[$oO#o!YO~O!R#Zi~P$yO#]!VX~P&[O#]$rO#o!YO~O!o!pO#^!dO#`!cO#a!cO#b!cO#c!dO#d!eO#e!eO#f!eO#g!eO#h!fO#i!fO#j!gO#k!hO#l!qO#m!rO#n!sO#o_X~O!P!oO#]_X~P5eO![$uO#V$sO#o!YO!W!ZX~O!W$vO~O#`!cO#a!cO#b!cO!P!fi!o!fi#S!fi#[!fi#d!fi#e!fi#f!fi#g!fi#h!fi#i!fi#j!fi#k!fi#l!fi#m!fi#n!fi#o!fi!O!fi#V!fi!W!fi^!fi#O!fiS!fil!fiv!fi![!fiU!fi!R!fi~O#^!fi#c!fi~P7^O#^!dO#c!dO~P7^O#^!dO#`!cO#a!cO#b!cO#c!dO#d!eO#e!eO#f!eO#g!eO!P!fi!o!fi#S!fi#[!fi#j!fi#k!fi#l!fi#m!fi#n!fi#o!fi!O!fi#V!fi!W!fi^!fi#O!fiS!fil!fiv!fi![!fiU!fi!R!fi~O#h!fi#i!fi~P9rO#h!fO#i!fO~P9rO#^!dO#`!cO#a!cO#b!cO#c!dO#d!eO#e!eO#f!eO#g!eO#h!fO#i!fO#j!gO!P!fi!o!fi#k!fi#l!fi#m!fi#n!fi#o!fi#V!fi^!fi!R!fi~O#S!fi#[!fi!O!fi!W!fi#O!fiS!fil!fiv!fi![!fiU!fi~PEP[i]||-1}],tokenPrec:2320}),LP=Te.define({parser:zP.configure({props:[Pe.add({Block:St({closing:"}",align:!1})}),Ce.add({"Object Tuple TemplateFor TemplateIf":ct,BlockComment:i=>({from:i.from+2,to:i.to-2}),HeredocTemplate(i){let e=i.getChild("HeredocIdentifier");return e?{from:e.to,to:i.to}:null},FunctionCall(i){let e=i.getChild("("),t=i.getChild(")");return!e||!t?null:{from:e.from+1,to:t.to-1}},Block(i){let e=i.getChild("{"),t=i.getChild("}");return!e||!t?null:{from:e.from+1,to:t.to-1}}}),wP]}),languageData:{commentTokens:{line:"#",block:{open:"/*",close:"*/"}}}});function Cg(){return new pe(LP)}function MP(i){let e=i.trim();if(!e)return"";if(/^#!.*\b(?:ba)?sh\b|^\s*\$\s+/.test(e))return"bash";if(e.startsWith("{")&&e.endsWith("}")||e.startsWith("[")&&e.endsWith("]"))try{return JSON.parse(e),"json"}catch{}return/^\s*(?:|(?:using\s+namespace\s+std|std::\w+|(?:cout|cin)\s*(?:<<|>>))\b)/m.test(e)?"cpp":/^\s*(?:#\s*include\s*[<"](?:assert|ctype|errno|float|inttypes|limits|math|setjmp|signal|stdarg|stdbool|stddef|stdint|stdio|stdlib|string|time)\.h[>"]|(?:int|void)\s+main\s*\([^)]*\)\s*\{)/m.test(e)?"c":/^\s*(?:async\s+)?def\s+\w+\s*\(|^\s*from\s+\w+[\w.]*\s+import\b|^\s*class\s+\w+\s*[:(]/m.test(e)?"python":/\b(?:SELECT|INSERT|UPDATE|DELETE|CREATE\s+(?:TABLE|VIEW|INDEX)|WITH)\b[\s\S]*\b(?:FROM|INTO|WHERE|AS)\b/i.test(e)?"sql":/(?:^|\n)\s*(?:[#.]?[A-Za-z][\w-]*)\s*\{[\s\S]*:[\s\S]*\}/.test(e)||/@(?:media|keyframes|supports)\b/.test(e)?"css":/^\s*(?:const|let|var)\s+[A-Za-z_$][\w$]*\s*(?::[^=\n]+)?\s*=/m.test(e)||/\b(?:function\s+\w+\s*\(|console\.(?:log|error|warn)|=>)/.test(e)?"javascript":/^\s*(?:[-A-Za-z_][\w-]*):\s*(?:[^:#\n]|$)/m.test(e)&&!/[{};]/.test(e)?"yaml":/^\s*(?:echo|printf|export|source|cd|mkdir|rm|cp|mv)\s+/m.test(e)?"bash":""}var Ue=(i,e,t)=>Be.of({name:i,alias:e,support:new pe(Zs.define(t))}),Gg=[Be.of({name:"javascript",alias:["js","jsx","ts","tsx","typescript","node"],support:so({jsx:!0,typescript:!0})}),Be.of({name:"python",alias:["py"],support:jm()}),Be.of({name:"json",alias:["jsonc"],support:Dm()}),Be.of({name:"css",alias:["scss"],support:ro()}),Be.of({name:"html",alias:["htm","xml"],support:ao()}),Be.of({name:"hcl",alias:["terraform","tf"],support:Cg()}),Ue("swift",[],Im),Ue("shell",["sh","bash","zsh","console"],Fm),Ue("yaml",["yml"],Hm),Ue("go",["golang"],ig),Ue("ruby",["rb"],sg),Ue("rust",["rs"],lg),Ue("c",["h"],gg),Ue("cpp",["c++","cc","hpp"],Qg),Ue("java",[],bg),Ue("kotlin",["kt"],kg),Ue("objective-c",["objc","objectivec"],xg),Ue("csharp",["cs","c#"],Sg),Ue("sql",[],je({})),Ue("toml",[],Tg)],WP={resolve:"Highlight",mark:"HighlightMark"},jP=/[\p{S}\p{P}]/u;function Xg(i){return!i||/\s/.test(i)}function _g(i){return!!i&&jP.test(i)}var Eh={defineNodes:["Highlight","HighlightMark"],parseInline:[{name:"Highlight",parse(i,e,t){if(e!==61||i.char(t+1)!==61)return-1;let n=t;for(;n>i.offset&&i.char(n-1)===61;)n--;let r=t+2;for(;i.char(r)===61;)r++;let s=n+(r-n)%2;if(t=i.offset&&i.char(m)===92;m--)o++;if(o%2!==0)return-1;let a=i.slice(n-1,n),l=i.slice(r,r+1),c=Xg(a),h=Xg(l),f=_g(a),u=_g(l),O=!h&&(!u||c||f),p=!c&&(!f||h||u);return i.addDelimiter(WP,t,t+2,O,p)},after:"Emphasis"}]},Mr=class extends Ae{constructor(e,t){super(),this.text=e,this.className=t}eq(e){return e.text===this.text&&e.className===this.className}toDOM(){let e=document.createElement("span");return e.textContent=this.text,e.className=this.className,e}ignoreEvent(){return!1}},$h=class extends Ae{constructor(e,t,n,r,s){super(),this.source=e,this.alt=t,this.raw=n,this.from=r,this.to=s}eq(e){return e.source===this.source&&e.alt===this.alt&&e.raw===this.raw&&e.from===this.from&&e.to===this.to}toDOM(e){let t=document.createElement("span");t.className="cm-md-image-preview",t.setAttribute("role","figure");let n=document.createElement("img");n.src=this.source,n.alt=this.alt,n.draggable=!1,n.addEventListener("error",()=>t.classList.add("cm-md-image-error"),{once:!0});let r=document.createElement("code");r.className="cm-md-image-source",r.textContent=this.raw,r.title="Click to edit image source";let s=o=>{o.preventDefault(),o.stopPropagation(),e.focus(),e.dispatch({selection:{anchor:Math.min(this.from+2,this.to)},userEvent:"select.pointer"})};return r.addEventListener("mousedown",s),r.addEventListener("click",s),n.addEventListener("mousedown",o=>{o.preventDefault(),o.stopPropagation()}),n.addEventListener("click",o=>{o.preventDefault(),o.stopPropagation();let a=n.currentSrc||n.src;a.startsWith("md-asset:")?window.__mdRequestImageRename?.(a):s(o)}),t.append(n,r),t}ignoreEvent(){return!0}},Th=class extends Ae{eq(){return!0}toDOM(){let e=document.createElement("span");return e.className="cm-md-hr",e}ignoreEvent(){return!1}},VP=0,Ch=class extends Ae{constructor(e){super(),this.source=e}eq(e){return e.source===this.source}toDOM(e){let t=document.createElement("figure");t.className="cm-md-mermaid-preview",t.setAttribute("role","img"),t.setAttribute("aria-label","Mermaid diagram. Click to edit source.");let n=document.createElement("div");n.className="cm-md-mermaid-stage",n.textContent="Rendering diagram\u2026",t.appendChild(n),t.addEventListener("mousedown",o=>{o.preventDefault(),e.focus();let a=e.posAtDOM(t);e.dispatch({selection:{anchor:a+1},userEvent:"select.pointer"})});let r=window.mermaid;if(!r||typeof r.render!="function")return n.textContent="Mermaid preview unavailable. Click to edit source.",t;let s=`md-editor-mermaid-${++VP}`;return Promise.resolve(r.render(s,this.source)).then(({svg:o})=>{n.innerHTML=o;let a=n.querySelector("svg"),l=a?.viewBox?.baseVal;a&&l?.width>0&&l?.height>0&&(t.style.setProperty("--mm-aspect",`${l.width} / ${l.height}`),a.removeAttribute("width"),a.removeAttribute("height"),a.setAttribute("preserveAspectRatio","xMidYMid meet"),a.style.width="100%",a.style.height="100%"),e.requestMeasure()}).catch(()=>{n.textContent="Unable to render Mermaid diagram. Click to edit source.",t.classList.add("cm-md-mermaid-error"),e.requestMeasure()}),t}ignoreEvent(){return!0}},Ng=new WeakMap,Xh=ie.define({map:(i,e)=>e.mapPos(i,1,me.TrackAfter)??void 0}),qn=he.define({create:()=>new Set,update(i,e){if(!e.docChanged&&!e.effects.some(n=>n.is(Xh)))return i;let t=new Set([...i].map(n=>e.changes.mapPos(n,1,me.TrackAfter)).filter(n=>n!=null));for(let n of e.effects)n.is(Xh)&&(t.has(n.value)?t.delete(n.value):t.add(n.value));return t}}),kh=i=>'",Xo=class extends Ae{constructor(e){super(),Object.assign(this,e)}eq(e){return e.fenceFrom===this.fenceFrom&&e.infoFrom===this.infoFrom&&e.infoTo===this.infoTo&&e.rawInfo===this.rawInfo&&e.detectedLanguage===this.detectedLanguage&&e.wrapped===this.wrapped&&e.plain===this.plain}toDOM(e){let t=document.createElement("span");t.className="cm-md-code-language",t.contentEditable="false";let n=document.createElement("input");n.type="text",n.className="cm-md-code-language-input",n.autocomplete="off",n.spellcheck=!1,n.value=this.language,n.readOnly=!!this.plain,n.placeholder="language",n.setAttribute("aria-label","Code block language"),n.dataset.fenceFrom=String(this.fenceFrom);let r=this.rawInfo.match(/^\S+([\s\S]*)$/)?.[1]||"",s=n.value,o=!0,a=!1,l=()=>{if(this.plain)return;let f=n.value.trim().split(/\s+/,1)[0].toLowerCase(),u=f?f+r:"";u!==this.rawInfo&&n.value!==s&&(a=!0,e.dispatch({changes:{from:this.infoFrom,to:this.infoTo,insert:u},userEvent:"input"}))};n.addEventListener("change",l),n.addEventListener("keydown",f=>{f.stopPropagation(),f.key==="Enter"?(f.preventDefault(),l(),n.blur(),e.focus()):f.key==="Escape"&&(f.preventDefault(),o=!1,n.value=this.language,n.blur(),e.focus())}),n.addEventListener("mousedown",f=>f.stopPropagation()),n.addEventListener("click",f=>f.stopPropagation()),n.addEventListener("blur",()=>{o&&!a&&l(),a=!1,o=!0}),t.appendChild(n);let c=(f,u,O,p)=>{let m=document.createElement("button");return m.type="button",m.className=`cm-md-code-action ${O}`,m.title=f,m.setAttribute("aria-label",f),m.innerHTML=kh(u),m.addEventListener("mousedown",b=>{b.preventDefault(),b.stopPropagation()}),m.addEventListener("click",b=>{b.preventDefault(),b.stopPropagation(),p(m)}),t.appendChild(m),m};return c(this.wrapped?"Unwrap code":"Wrap code",this.wrapped?"unwrap":"wrap","cm-md-code-toggle-wrap",()=>e.dispatch({effects:Xh.of(e.state.doc.lineAt(this.fenceFrom).from)})).setAttribute("aria-pressed",String(this.wrapped)),c("Copy code","copy","cm-md-code-copy",async f=>{let u=e.state.doc.lineAt(this.fenceFrom),O=B(e.state).resolve(this.plain?u.to:this.fenceFrom+1,-1);for(;O&&O.name!==(this.plain?"CodeBlock":"FencedCode");)O=O.parent;if(!O)return;let p=this.plain?O.getChildren("CodeText").map(m=>e.state.sliceDoc(m.from,m.to)).join(""):Ro(e.state,O).source;try{let m=Ng.get(e);m?m(p):await navigator.clipboard.writeText(p),f.innerHTML=kh("check"),f.title="Code copied",f.setAttribute("aria-label",f.title),clearTimeout(f.copyTimer),f.copyTimer=setTimeout(()=>{f.innerHTML=kh("copy"),f.title="Copy code",f.setAttribute("aria-label",f.title)},1100)}catch{}}),t}ignoreEvent(){return!0}};function vo(i,e=!1){let t=[],n="",r=0,s=()=>t.push({text:n.trim(),from:r+n.length-n.trimStart().length,to:r+n.trimEnd().length}),o=0,a=0;for(let c=0;cc.text)}function DP(i){let e=i.trim(),t=e.startsWith(":"),n=e.endsWith(":"),r=e.replace(/^:/,"").replace(/:$/,"");return/^-{3,}$/.test(r)?t&&n?"center":t?"left":n?"right":"none":null}function zh(i){let e=i.endsWith(` `),t=i.replace(/\n$/,"").split(` -`);if(t.length<2)return null;let n=vo(t[0]),r=vo(t[1]).map(VP);if(!n.length||!r.length||r.some(a=>a==null))return null;let s=[n,...t.slice(2).map(a=>vo(a))],o=Math.max(r.length,...s.map(a=>a.length));for(;r.length{let f=i.slice(0,c).replace(/\n+/g," ").length-l;e[h]=r[Math.max(0,Math.min(f,n.length))]})}return s}function DP(i){let e=i.alignments.map((s,o)=>Math.max(3,...i.rows.map(a=>Array.from(a[o]||"").length))),t=s=>"| "+s.map((o,a)=>{let l=zh(o);return l+" ".repeat(Math.max(0,e[a]-Array.from(l).length))}).join(" | ")+" |",n="| "+i.alignments.map((s,o)=>{let a=e[o];return s==="left"?":"+"-".repeat(Math.max(3,a-1)):s==="right"?"-".repeat(Math.max(3,a-1))+":":s==="center"?":"+"-".repeat(Math.max(3,a-2))+":":"-".repeat(a)}).join(" | ")+" |";return[t(i.rows[0]),n,...i.rows.slice(1).map(t)].join(` +`);if(t.length<2)return null;let n=vo(t[0]),r=vo(t[1]).map(DP);if(!n.length||!r.length||r.some(a=>a==null))return null;let s=[n,...t.slice(2).map(a=>vo(a))],o=Math.max(r.length,...s.map(a=>a.length));for(;r.length{let f=i.slice(0,c).replace(/\n+/g," ").length-l;e[h]=r[Math.max(0,Math.min(f,n.length))]})}return s}function YP(i){let e=i.alignments.map((s,o)=>Math.max(3,...i.rows.map(a=>Array.from(a[o]||"").length))),t=s=>"| "+s.map((o,a)=>{let l=Lh(o);return l+" ".repeat(Math.max(0,e[a]-Array.from(l).length))}).join(" | ")+" |",n="| "+i.alignments.map((s,o)=>{let a=e[o];return s==="left"?":"+"-".repeat(Math.max(3,a-1)):s==="right"?"-".repeat(Math.max(3,a-1))+":":s==="center"?":"+"-".repeat(Math.max(3,a-2))+":":"-".repeat(a)}).join(" | ")+" |";return[t(i.rows[0]),n,...i.rows.slice(1).map(t)].join(` `)+(i.trailingNewline?` -`:"")}var YP=1,Lr=null,IP=bi.parser.configure(qh),Ng=new WeakMap;function kh(i,e){let t={StrongEmphasis:"cm-md-strong",Emphasis:"cm-md-emphasis",Strikethrough:"cm-md-strikethrough",Highlight:"cm-md-highlight"},n=(o,a,l)=>{if(!a)return;let c=document.createTextNode(a);Ng.set(c,l),o.append(c)},r=(o,a,l,c)=>{let h=l;for(let f=a.firstChild;f;f=f.nextSibling)f.fromc||(n(o,e.slice(h,f.from),h),s(o,f),h=f.to);n(o,e.slice(h,c),h)},s=(o,a)=>{if(a.name==="InlineCode"){let l=document.createElement("code");l.className="cm-md-inline-code";let c=e.slice(a.firstChild.to,a.lastChild.from).replace(/\n/g," "),h=c.startsWith(" ")&&c.endsWith(" ")&&/[^ ]/.test(c);h&&(c=c.slice(1,-1)),n(l,c,a.firstChild.to+(h?1:0)),o.append(l)}else if(t[a.name]){let l=document.createElement("span");l.className=t[a.name],r(l,a,a.firstChild.to,a.lastChild.from),o.append(l)}else if(a.name==="Link"&&a.getChild("URL")){let l=a.getChildren("LinkMark"),c=document.createElement("span");c.className="cm-md-link",r(c,a,l[0].to,l[1].from),o.append(c)}else a.name==="Escape"?n(o,e.slice(a.from+1,a.to),a.from+1):a.name==="Image"?n(o,e.slice(a.from,a.to),a.from):r(o,a,a.from,a.to)};i.replaceChildren(),s(i,IP.parse(e).topNode)}var qe=new WeakMap,Lh=new WeakMap,BP=new Set(["bold","italic","strikethrough","highlight","code","link"]);function Fg(i,e){let n=i.state.doc.lineAt(e.tableFrom).number+(e.row===0?0:e.row+1);if(n>i.state.doc.lines)return null;let r=i.state.doc.line(n),s=vo(r.text,!0)[e.column];return s?{from:r.from+s.from,to:r.from+Math.max(s.from,s.to)}:null}function zn(i){let e=qe.get(i);if(!e||e.element.dataset.tableEditing!=="true")return;let t=window.getSelection();if(!t?.anchorNode||!t.focusNode||!e.element.contains(t.anchorNode)||!e.element.contains(t.focusNode))return;let n=(a,l)=>{let c=document.createRange();return c.selectNodeContents(e.element),c.setEnd(a,l),c.toString().length};e.anchor=n(t.anchorNode,t.anchorOffset),e.head=n(t.focusNode,t.focusOffset);let r=e.element.innerText||"",s=[e.anchor,e.head];zh(r,s),e.sourceAnchor=s[0],e.sourceHead=s[1];let o=re.create({doc:r,selection:v.single(e.anchor,e.head),extensions:[Dc({extensions:qh})]});Lh.get(i)?.(Ah(o))}function $o(i){let e=qe.get(i);if(!e)return null;zn(i),e.element.dataset.tableEditing==="true"&&e.element.blur();let t=Fg(i,e);if(!t)return null;let n=t.to-t.from;return i.dispatch({selection:v.single(t.from+Math.max(0,Math.min(e.sourceAnchor??e.anchor,n)),t.from+Math.max(0,Math.min(e.sourceHead??e.head,n)))}),e}function To(i,e){let t=Fg(i,e);if(!t)return;let n=i.state.selection.main,r=Math.max(0,Math.min(n.anchor-t.from,t.to-t.from)),s=Math.max(0,Math.min(n.head-t.from,t.to-t.from)),o=i.dom.querySelector(`.cm-md-table-widget[data-table-from="${e.tableFrom}"] [data-table-row="${e.row}"][data-table-column="${e.column}"]`);if(!o)return;o.focus({preventScroll:!0});let a=o.firstChild||o.appendChild(document.createTextNode(""));window.getSelection()?.setBaseAndExtent(a,r,a,s),zn(i)}var UP=De.fromClass(class{constructor(i){this.view=i,this.capture=()=>zn(i),this.clear=e=>{e.target.closest?.(".cm-md-table-cell")||qe.delete(i)},document.addEventListener("selectionchange",this.capture),i.dom.addEventListener("mousedown",this.clear,!0)}destroy(){document.removeEventListener("selectionchange",this.capture),this.view.dom.removeEventListener("mousedown",this.clear,!0),qe.delete(this.view),Lh.delete(this.view)}}),Xh=class extends Re{constructor(e,t){super(),this.source=e,this.from=t}eq(e){return e.source===this.source&&e.from===this.from}toDOM(e){let t=Eh(this.source),n=document.createElement("div");if(n.className="cm-md-table-widget",n.dataset.tableFrom=String(this.from),!t)return n.textContent=this.source,n;let r=null,s=null,o=null,a=!1,l=document.createElement("div");l.className="cm-md-table-scroll",n.appendChild(l);let c=document.createElement("table");c.className="cm-md-table-grid",l.appendChild(c);let h=(Q,S)=>{requestAnimationFrame(()=>requestAnimationFrame(()=>{let x=e.dom.querySelector(`.cm-md-table-widget[data-table-from="${this.from}"]`);(x&&x.querySelector(`[data-table-row="${Q}"][data-table-column="${S}"]`))?.focus()}))},f=(Q=null)=>{let S=DP(t);if(S===this.source){Q&&n.querySelector(`[data-table-row="${Q.row}"][data-table-column="${Q.column}"]`)?.focus();return}r=null,e.dispatch({changes:{from:this.from,to:this.from+this.source.length,insert:S},userEvent:"input"}),Q&&h(Q.row,Q.column)},u=()=>{!r||r.element.dataset.tableEditing!=="true"||(t.rows[r.row][r.column]=r.element.innerText||"")},O=()=>{n.querySelectorAll(".is-table-part-selected").forEach(Q=>{Q.classList.remove("is-table-part-selected")}),n.classList.remove("is-table-row-selected","is-table-column-selected","is-table-range-selected"),n.removeAttribute("aria-label"),s=null},p=(Q,S,x)=>{if(u(),O(),Array.from(n.querySelectorAll(".cm-md-table-cell")).filter($=>{let R=Number($.dataset.tableRow),_=Number($.dataset.tableColumn);return R>=S.top&&R<=S.bottom&&_>=S.left&&_<=S.right}).forEach($=>{$.classList.add("is-table-part-selected")}),n.classList.add(Q==="row"?"is-table-row-selected":Q==="column"?"is-table-column-selected":"is-table-range-selected"),window.getSelection()?.removeAllRanges(),s={kind:Q,row:x.row,column:x.column,bounds:S},qe.delete(e),n.tabIndex=0,Q==="range"){let $=S.bottom-S.top+1,R=S.right-S.left+1;n.setAttribute("aria-label",`Selected ${$} rows by ${R} columns.`)}else{let $=Q==="row"?x.row:x.column+1;n.setAttribute("aria-label",`Selected ${Q} ${$}. Press Delete to remove it.`)}n.focus()},m=(Q,S,x)=>{let P=Q==="row"?{top:S,right:t.alignments.length-1,bottom:S,left:0}:{top:0,right:x,bottom:t.rows.length-1,left:x};p(Q,P,{row:S,column:x})},b=(Q,S,x,P)=>{p("range",{top:Math.min(Q,x),right:Math.max(S,P),bottom:Math.max(Q,x),left:Math.min(S,P)},{row:Q,column:S})},g=(Q,S,x)=>{if(u(),Q==="selectRow"&&S>0)m("row",S,x);else if(Q==="selectColumn"&&t.alignments.length>1)m("column",S,x);else if(Q==="insertRowBefore"&&S>0)t.rows.splice(S,0,Array(t.alignments.length).fill("")),f({row:S,column:x});else if(Q==="insertRowAfter")t.rows.splice(S+1,0,Array(t.alignments.length).fill("")),f({row:S+1,column:x});else if(Q==="duplicateRow"&&S>0)t.rows.splice(S+1,0,[...t.rows[S]]),f({row:S+1,column:x});else if(Q==="deleteRow"&&S>0)t.rows.splice(S,1),f({row:Math.min(S,t.rows.length-1),column:x});else if(Q==="insertColumnBefore"){for(let P of t.rows)P.splice(x,0,"");t.alignments.splice(x,0,"none"),f({row:S,column:x})}else if(Q==="insertColumnAfter"){for(let P of t.rows)P.splice(x+1,0,"");t.alignments.splice(x+1,0,"none"),f({row:S,column:x+1})}else if(Q==="deleteColumn"&&t.alignments.length>1){for(let P of t.rows)P.splice(x,1);t.alignments.splice(x,1),f({row:S,column:Math.min(x,t.alignments.length-1)})}};return t.rows.forEach((Q,S)=>{let x=document.createElement("tr");c.appendChild(x),Q.forEach((P,$)=>{let R=document.createElement(S===0?"th":"td"),_=document.createElement("div");if(_.className="cm-md-table-cell",_.contentEditable="plaintext-only",_.spellcheck=!0,kh(_,P),_.dataset.tableRow=String(S),_.dataset.tableColumn=String($),S===0){let W=`Column ${$+1}`;_.dataset.placeholder=W;let T=()=>{(_.innerText||"").trim()?_.removeAttribute("aria-label"):_.setAttribute("aria-label",W)};T(),_.addEventListener("input",T)}t.alignments[$]!=="none"&&(_.style.textAlign=t.alignments[$]),_.addEventListener("focus",()=>{O(),(_.textContent!==t.rows[S][$]||_.childElementCount)&&(_.textContent=t.rows[S][$]),_.dataset.tableEditing="true",qe.set(e,{tableFrom:this.from,row:S,column:$,element:_,anchor:0,head:0}),r={row:S,column:$,element:_}}),_.addEventListener("contextmenu",W=>{W.preventDefault(),_.focus(),r={row:S,column:$,element:_};let T=String(YP++);Lr={token:T,perform:k=>g(k,S,$)},window.__mdRequestTableContextMenu?.({token:T,canInsertRowAbove:S>0,canDuplicateRow:S>0,canDeleteRow:S>0,canDeleteColumn:t.alignments.length>1,showsDuplicateRow:!0})}),_.addEventListener("blur",()=>{if(zn(e),!r||r.element!==_)return;let W=_.innerText||"",T=W!==t.rows[S][$];t.rows[S][$]=W,r=null,delete _.dataset.tableEditing,kh(_,t.rows[S][$]),T&&f()}),_.addEventListener("keydown",W=>{if((W.metaKey||W.ctrlKey)&&["b","i"].includes(W.key.toLowerCase())){W.preventDefault();let C=$o(e);At(W.key.toLowerCase()==="b"?"**":"*")(e),C&&To(e,C);return}if(W.key==="Escape"){W.preventDefault(),r=null,_.blur(),delete _.dataset.tableEditing,kh(_,t.rows[S][$]),qe.delete(e),e.focus();return}if(W.key!=="Tab"&&W.key!=="Enter")return;W.preventDefault(),t.rows[S][$]=_.innerText||"";let T=W.key==="Tab"&&W.shiftKey,k=S,w=$+(T?-1:1);w<0?(k--,w=t.alignments.length-1):w>=t.alignments.length&&(k++,w=0),k<0?(k=0,w=0):k>=t.rows.length&&t.rows.push(Array(t.alignments.length).fill("")),f({row:k,column:w})}),R.appendChild(_),x.appendChild(R)})}),n.addEventListener("mousedown",Q=>{if(Q.button!==0)return;let S=Q.target.closest?.(".cm-md-table-cell");if(!S)return;let x=Number(S.dataset.tableRow),P=Number(S.dataset.tableColumn);if(!Number.isInteger(x)||x<0||!Number.isInteger(P))return;Q.stopPropagation();let $=null;if(S.dataset.tableEditing!=="true"&&Q.detail===1&&!Q.shiftKey&&!Q.metaKey&&!Q.ctrlKey&&!Q.altKey&&S.textContent!==t.rows[x][P]){let T=document.caretRangeFromPoint?.(Q.clientX,Q.clientY),k=T&&Ng.get(T.startContainer);k!=null&&S.contains(T.startContainer)&&($=k+T.startOffset,Q.preventDefault())}S.focus({preventScroll:!0});let R=T=>{let k=S.firstChild;k&&window.getSelection()?.setBaseAndExtent(k,$,k,T)};$!=null&&R($),o={cell:S,row:x,column:P,head:S,active:!1,dragged:!1};let _=T=>{document.removeEventListener("mousemove",W,!0),document.removeEventListener("mouseup",_,!0),o?.active?(T.preventDefault(),window.getSelection()?.removeAllRanges(),a=!0):zn(e),o=null},W=T=>{if(!o)return;let w=document.elementFromPoint?.(T.clientX,T.clientY)?.closest?.(".cm-md-table-cell")||T.target.closest?.(".cm-md-table-cell");if(!(!w||!n.contains(w))){if(w===o.cell&&!o.active){if($!=null&&(T.preventDefault(),o.dragged||=Math.hypot(T.clientX-Q.clientX,T.clientY-Q.clientY)>3,o.dragged)){let C=document.caretRangeFromPoint?.(T.clientX,T.clientY);C?.startContainer===S.firstChild&&R(C.startOffset)}return}w!==o.head&&(T.preventDefault(),o.active=!0,o.head=w,b(o.row,o.column,Number(w.dataset.tableRow),Number(w.dataset.tableColumn)))}};document.addEventListener("mousemove",W,!0),document.addEventListener("mouseup",_,!0)},!0),n.addEventListener("click",Q=>{a&&(a=!1,Q.preventDefault(),Q.stopPropagation())},!0),n.addEventListener("keydown",Q=>{if(!s)return;if(Q.key==="Escape"){Q.preventDefault(),O(),e.focus();return}if(Q.key!=="Backspace"&&Q.key!=="Delete")return;if(s.kind==="range"){Q.preventDefault();return}Q.preventDefault();let S=s;O(),g(S.kind==="row"?"deleteRow":"deleteColumn",S.row,S.column)}),n}ignoreEvent(){return!0}},Ao=ie.define();function xh(i,e,t,n=0){let r=[];if(e){let o=new RegExp(e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),"giu"),a=i.toString();for(let l of a.matchAll(o)){let c=l.index;(!t||c===0||!/[A-Za-z0-9_]/.test(a[c-1]))&&r.push({from:c,to:c+l[0].length})}}n=r.length?Math.min(Math.max(n,0),r.length-1):-1;let s=Z.set(r.map((o,a)=>Z.mark({class:a===n?"cm-find-match cm-find-current":"cm-find-match"}).range(o.from,o.to)));return{query:e,beginsWith:t,matches:r,index:n,decorations:s}}var ki=he.define({create:i=>xh(i.doc,"",!1),update(i,e){for(let t of e.effects)if(t.is(Ao)){let{query:n,beginsWith:r,index:s}=t.value;return xh(e.state.doc,n,r,s)}return e.docChanged?xh(e.state.doc,i.query,i.beginsWith,i.index):i},provide:i=>E.decorations.from(i,e=>e.decorations)});function _o(i,e,t){let n=i.field(ki),r=n.matches[n.index];return!!r&&r.frome}var GP=E.baseTheme({".cm-find-match":{backgroundColor:"#ffe58a",color:"#201800",borderRadius:"2px"},".cm-find-current":{backgroundColor:"#ffad33",outline:"1px solid #9b5700"}});function _g(i){let e=[];return(zs(i,i.doc.length,80)||B(i)).iterate({enter(n){if(n.name!=="Table")return;if(_o(i,n.from,n.to))return!1;let r=i.doc.sliceString(n.from,n.to);if(Eh(r))return e.push(Z.replace({block:!0,widget:new Xh(r,n.from)}).range(n.from,n.to)),!1}}),Z.set(e,!0)}var NP=he.define({create:_g,update:(i,e)=>e.docChanged||e.effects.some(t=>t.is(Ao))?_g(e.state):i,provide:i=>E.decorations.from(i)}),Ge=Z.replace({}),Rg=Z.replace({widget:new Mr("\u2022","cm-md-bullet")}),Ag=Z.mark({class:"cm-md-bullet-source"}),Zg=new Map,FP=i=>{let e=Zg.get(i);return e||(e=Z.replace({widget:new Mr(i,"cm-md-ordered")}),Zg.set(i,e)),e},HP=Z.mark({class:"cm-md-ordered-source"}),KP=Z.replace({widget:new $h}),JP=Z.line({class:"cm-md-rule-line"}),Zn=/^([ \t]*)([-+*]|\d+[.)])([ \t]+|$)/,ev=Z.replace({widget:new Mr(" ","cm-md-join")}),_h={},tv=i=>Z.line({class:"cm-md-h"+i});for(let i=1;i<=6;i++)_h[i]=tv(i);var iv=Z.line({class:"cm-md-heading-inactive"}),qg=Z.line({class:"cm-md-heading-after-blank"}),nv=Z.line({class:"cm-md-image-line"}),Eg=Z.line({class:"cm-md-line-collapsed"}),dt={line:22.8,blankGap:4,paragraph:12,quote:18,alert:24,table:24,hr:12},rv=new Set(["Paragraph","FencedCode","CodeBlock","Blockquote","BulletList","OrderedList","Table","HorizontalRule","HTMLBlock"]),zg=new Map,xo=i=>{let e=zg.get(i);return e||(e=Z.line({class:"cm-md-block-separator",attributes:{style:`height:${i}px;min-height:0;line-height:${i}px;overflow:hidden;`}}),zg.set(i,e)),e},Lg=new Map,sv=i=>{let e=Lg.get(i);return e||(e=Z.line({class:"cm-md-block-gap",attributes:{style:`padding-bottom:${i}px;--cm-md-block-gap:${i}px;`}}),Lg.set(i,e)),e},Mg=new Map,ov=(i,e,t,n)=>{let r=`${i}:${e}:${t}:${n}`,s=Mg.get(r);if(!s){let o=[],a=[];for(let l=0;loi.create({tagName:"div",attributes:{class:`cm-md-code-card${s?" cm-md-code-card-wrapped":""}`}}).range(n,r)),!0)}var uv=Z.line({class:"cm-md-table"}),jg=Z.line({class:"cm-md-list-item-gap"}),wo=Z.line({class:"cm-md-list-item"}),Vg=new Map,wh=i=>{let e=Vg.get(i);return e||(e=Z.line({class:`cm-md-list-depth-${i}`,attributes:{style:`padding-inline-start:${i*2.1}em;text-indent:-2.1em;`}}),Vg.set(i,e)),e},Ov=Z.mark({class:"cm-md-fence-info"}),dv=Z.mark({class:"cm-md-code-fence-source-hidden"}),pv=Z.mark({class:"cm-md-heading-source-hidden"}),mv=Z.mark({class:"cm-md-heading-prefix"}),gv=Z.mark({class:"cm-md-heading-marker"}),Qv=Z.line({class:"cm-md-setext-marker-line"}),bv=Z.mark({class:"cm-md-setext-source"}),Sv=Z.mark({class:"cm-md-link"}),yv=Z.mark({class:"cm-md-url"}),kv=Z.mark({class:"cm-md-strong"}),xv=Z.mark({class:"cm-md-emphasis"}),wv=Z.mark({class:"cm-md-strikethrough"}),Pv=Z.mark({class:"cm-md-highlight"}),vv=Z.line({class:"cm-md-frontmatter"}),$v=Z.line({class:"cm-md-frontmatter-first"}),Tv=Z.line({class:"cm-md-frontmatter-last"}),Cv=Z.mark({class:"cm-md-frontmatter-delim"}),Xv=Z.line({attributes:{dir:"auto"}});function Dg(i){let e=[];for(let t=1;t<=i.doc.lines;t++)e.push(Xv.range(i.doc.line(t).from));return Z.set(e)}var _v=he.define({create:Dg,update(i,e){return e.docChanged?Dg(e.state):i},provide:i=>E.decorations.from(i)});function Ro(i,e){let t="",n=null,r=[];for(let g=e.node.firstChild;g;g=g.nextSibling)g.name==="CodeInfo"&&(n=g,t=i.doc.sliceString(g.from,g.to)),g.name==="CodeMark"&&r.push(g);let s=t.trim().split(/\s+/,1)[0].toLowerCase(),o=i.doc.lineAt(e.from),a=r[0],l=o.to1&&(c=i.doc.lineAt(r[r.length-1].from).from);let h=i.sliceDoc(o.from,e.from),f=/^ {0,3}$/.test(h)?h.length:0,u=e.node.getChildren("CodeText"),O=u.map((g,Q)=>{let S=Q?i.doc.lineAt(g.from).number-i.doc.lineAt(u[Q-1].to).number:0;return` -`.repeat(S)+i.sliceDoc(g.from,g.to)}).join("").replace(new RegExp("^ {0,"+f+"}","gm"),""),p=s?"":LP(O),m=n?.from??a?.to??o.to,b=n?.to??m;return{explicitLanguage:s,language:s||p,detectedLanguage:p,metadata:t.trim().split(/\s+/).slice(1).join(" "),rawInfo:t,infoFrom:m,infoTo:b,sourceFrom:l,source:O}}function Co(i,e){let t=B(i).resolve(e,-1);for(;t;){if(t.name==="FencedCode")return{from:t.from,to:t.to,closed:t.node.lastChild?.name==="CodeMark"};t=t.parent}return null}var Rh=ie.define(),vt=he.define({create:()=>null,update(i,e){if(e.docChanged)return null;for(let t of e.effects)if(t.is(Rh))return t.value;return i?.activateOnSelection&&e.isUserEvent("select.pointer")?{selection:e.state.selection.main,focused:!0,fence:e.state.field(Ji),activateOnSelection:!1}:i}}),Rv=De.fromClass(class{constructor(i){this.view=i,this.releaseTimer=null,this.down=e=>{e.button!==0||e.target.closest("input, textarea, button, select, .cm-md-table-cell")||(clearTimeout(this.releaseTimer),!i.state.field(vt)&&i.dispatch({effects:Rh.of({selection:i.state.selection.main,focused:i.hasFocus,fence:i.state.field(Ji),activateOnSelection:e.detail===1&&!e.shiftKey&&!e.metaKey&&!e.ctrlKey&&!e.altKey})}))},this.finish=()=>{i.state.field(vt)&&(clearTimeout(this.releaseTimer),this.releaseTimer=setTimeout(()=>this.release(),0))},this.release=()=>{clearTimeout(this.releaseTimer),i.state.field(vt)&&i.dispatch({effects:Rh.of(null)})},this.move=e=>{e.buttons===0&&this.finish()},i.contentDOM.addEventListener("mousedown",this.down,!0),i.contentDOM.addEventListener("keydown",this.release,!0),i.dom.ownerDocument.addEventListener("mouseup",this.finish),i.dom.ownerDocument.addEventListener("mousemove",this.move),i.dom.ownerDocument.addEventListener("dragend",this.finish),i.win.addEventListener("blur",this.finish)}destroy(){clearTimeout(this.releaseTimer);let i=this.view;i.contentDOM.removeEventListener("mousedown",this.down,!0),i.contentDOM.removeEventListener("keydown",this.release,!0),i.dom.ownerDocument.removeEventListener("mouseup",this.finish),i.dom.ownerDocument.removeEventListener("mousemove",this.move),i.dom.ownerDocument.removeEventListener("dragend",this.finish),i.win.removeEventListener("blur",this.finish)}}),Av=E.mouseSelectionStyle.of((i,e)=>{if(e.button!==0||e.detail!==1||e.shiftKey||e.metaKey||e.ctrlKey||e.altKey)return null;let t=i.posAtCoords({x:e.clientX,y:e.clientY});if(t==null)return null;let n=!1;return{update(r){t=r.changes.mapPos(t)},get(r){n||=Math.hypot(r.clientX-e.clientX,r.clientY-e.clientY)>3;let s=n?i.posAtCoords({x:r.clientX,y:r.clientY},!1)??t:t;return v.single(t,s)}}}),Ji=he.define({create:()=>null,update(i,e){i&&e.docChanged&&(i={from:e.changes.mapPos(i.from,1),to:e.changes.mapPos(i.to,-1)});let t=e.state.selection.main;if(!t.empty)return null;let n=t.head;return e.isUserEvent("select.pointer")||!i&&e.docChanged&&e.isUserEvent("input")?Co(e.state,n):!i||ni.to?null:e.docChanged&&Co(e.state,n)||i}});function Po(i){let e=[],t=i.field(Ji);return(zs(i,i.doc.length,80)||B(i)).iterate({enter(r){if(r.name!=="FencedCode")return;let s=Ro(i,r),o=t!=null&&r.from<=t.from&&r.to>=t.to;if(s.language==="mermaid"&&!o&&!_o(i,r.from,r.to))return e.push(Z.replace({block:!0,widget:new Th(s.source)}).range(r.from,r.to)),!1}}),Z.set(e,!0)}var Zv=he.define({create:i=>Po(i),update:(i,e)=>{if(e.state.field(vt))return e.startState.field(vt)?.activateOnSelection&&!e.state.field(vt).activateOnSelection?Po(e.state):i;if(e.startState.field(vt))return Po(e.state);let t=e.startState.field(Ji),n=e.state.field(Ji),r=t?.from!==n?.from||t?.to!==n?.to,s=!1;return e.docChanged&&e.changes.iterChanges((o,a,l,c,h)=>{if(s)return;let u=e.startState.doc.sliceString(o,a)+h.toString();s=/[`~]|mermaid/i.test(u)}),r||s||e.effects.some(o=>o.is(Ao))||e.docChanged&&e.state.field(ki).query?Po(e.state):e.docChanged?i.map(e.changes):i},provide:i=>E.decorations.from(i)});function qv(i,e){let t=e.get(i.sourceFrom);if(t?.language===i.detectedLanguage&&t.source===i.source)return t.tokens;let n=[],r=Be.matchLanguageName(Ug,i.detectedLanguage,!1)?.support?.language;return r&&Rs(r.parser.parse(i.source),Hg,(s,o,a)=>{n.push({from:s,to:o,mark:Z.mark({class:a})})}),e.set(i.sourceFrom,{language:i.detectedLanguage,source:i.source,tokens:n}),n}function Yg(i,e){let t=[],{state:n}=i,r=n.field(vt),s=r?.selection??n.selection.main,o=r?r.fence:n.field(Ji),l=(r?r.focused:i.hasFocus)&&(s.empty||i.compositionStarted)?s.head:null,c=(k,w)=>_o(n,k,w)||l!=null&&l>=k&&l<=w,h=k=>{let w=n.doc.lineAt(k);return c(w.from,w.to)},f=k=>_o(n,k.from,k.to)||o!=null&&k.from<=o.from&&k.to>=o.to,u=new Set,O=new Set,p=(k,w)=>{let C=n.doc.lineAt(k),j=w.spec.class+"@"+C.from;u.has(j)||(u.add(j),t.push(w.range(C.from)))},m=(k,w,C)=>{let j=k;for(;j<=w;){let y=n.doc.lineAt(j);if(p(y.from,C),y.to>=w)break;j=y.to+1}},b=k=>{let w=0;for(let C of k)w=C===" "?w+(4-w%4):w+1;return w},g=(k,w)=>{let C=w[1],j=w[2],y=w[3],z=k.from+C.length,ye=z+j.length,Zt=Math.floor(b(C)/4)+1;p(k.from,wo),p(k.from,wh(Zt)),O.add(k.from),k.number>1&&Zn.test(n.doc.line(k.number-1).text)&&p(k.from,jg),C.length>0&&t.push(Ge.range(k.from,z));let X=/^[-+*]$/.test(j)&&/^\s*\[[ xX]\](\s|$)/.test(k.text.slice(ye-k.from));/^[-+*]$/.test(j)&&!X&&(h(z)?(t.push(Ag.range(z,ye)),y.length>0&&t.push(Ge.range(ye,ye+y.length))):t.push(Rg.range(z,ye+y.length)))},Q=k=>{let w=n.doc.lineAt(k),C=w.number,j=Math.max(C-64,1);for(;C>j&&n.doc.line(C-1).text.length===0;)C--;return{line:w,first:C,count:w.number-C}},S=k=>{switch(k.name){case"Blockquote":{let w=n.doc.lineAt(k.from);return/^ {0,3}> ?\[!(note|tip|important|warning|caution)\]/i.test(w.text)?dt.alert:dt.quote}case"Table":return dt.table;case"HorizontalRule":return dt.hr;case"FencedCode":return Ro(n,k).language==="mermaid"?dt.table:dt.paragraph;default:return dt.paragraph}},x=-1,P=k=>{let w=n.doc.lineAt(k.from);w.number===1||w.from<=x||Q(k.from).count===0&&p(n.doc.line(w.number-1).from,sv(S(k)))},$=k=>{let w=Q(k.from);if(w.count===0)return;let C=n.doc.line(w.line.number-1);if(w.first===1){p(C.from,xo(dt.blankGap+S(k)));return}let j=S(k),y=dt.blankGap+j;p(C.from,xo(y))},R=0,_=[],W=[],T=new Map;for(let{from:k,to:w}of i.visibleRanges){let C=null;B(n).iterate({from:k,to:w,enter:y=>{R++;let z=y.name;if(R===2&&z==="Document"&&(C=R),C!=null&&R===C+1&&rv.has(z)&&($(y),P(y)),z==="Frontmatter"){let X=y.to>y.from&&n.doc.lineAt(y.to).from===y.to?y.to-1:y.to;x=X,m(y.from,X,vv),p(y.from,$v),p(n.doc.lineAt(X).from,Tv);return}if(z==="DashLine"){t.push(Cv.range(y.from,y.to));return}let ye=z.match(/^ATXHeading(\d)$/);if(ye){p(y.from,_h[+ye[1]]),Q(y.from).count>0&&p(y.from,qg),h(y.from)||p(y.from,iv);return}let Zt=z.match(/^SetextHeading(\d)$/);if(Zt){p(y.from,_h[+Zt[1]]),Q(y.from).count>0&&p(y.from,qg);return}if(z==="HeaderMark"){let X=y.node.parent;if(X&&/^ATXHeading/.test(X.name)){t.push(gv.range(y.from,y.to));let te=n.doc.sliceString(y.to,y.to+1),N=y.to+(te===" "?1:0),U=y.from===X.from,le=n.doc.lineAt(y.from),F=U&&/^ {0,3}$/.test(n.doc.sliceString(le.from,y.from))?le.from:y.from;U&&t.push(mv.range(F,N)),h(y.from)||t.push(pv.range(F,N))}else X&&/^SetextHeading/.test(X.name)&&(p(y.from,Qv),t.push(bv.range(y.from,y.to)));return}if(z==="Blockquote"){W.push(y.from);let X=n.doc.lineAt(y.from),te=y.node.parent?.name==="Blockquote",N=y.node.prevSibling;for(;N?.name==="QuoteMark";)N=N.prevSibling;let U=te&&N?dt.quote:0,le=y.from;for(;le<=y.to;){let F=n.doc.lineAt(le),Qe=T.get(F.from)||{depth:0,starts:0,ends:0,gap:0};if(Qe.depth=Math.max(Qe.depth,W.length),F.from===X.from&&(Qe.starts++,Qe.gap+=U),F.to>=y.to&&Qe.ends++,T.set(F.from,Qe),F.to>=y.to)break;le=F.to+1}return}if(z==="QuoteMark"){if(!h(y.from)){let X=n.doc.sliceString(y.to,y.to+1);t.push(Ge.range(y.from,y.to+(X===" "?1:0)))}return}if(z==="Paragraph"&&/^(Blockquote|ListItem)$/.test(y.node.parent?.name||"")){let X=n.doc.lineAt(y.from);if(X.number>n.doc.lineAt(y.node.parent.from).number){let te=n.doc.line(X.number-1);/^(?:[ >]*)$/.test(te.text)&&p(te.from,xo(dt.paragraph))}}if(z==="Escape"&&!c(y.from,y.to)){t.push(Ge.range(y.from,y.from+1));return}if(z==="StrongEmphasis"){t.push(kv.range(y.from,y.to));return}if(z==="Emphasis"){t.push(xv.range(y.from,y.to));return}if(z==="Strikethrough"){t.push(wv.range(y.from,y.to));return}if(z==="Highlight"){let X=[];for(let U=y.node.firstChild;U;U=U.nextSibling)U.name==="HighlightMark"&&X.push(U);let te=X.length?X[0].to:y.from,N=X.length>1?X[X.length-1].from:y.to;te1?X[X.length-1].from:y.to;te")?te.slice(1,-1):te;if(!N||N.startsWith("//"))return!1;let U=y.from+2;for(let F=y.node.firstChild;F;F=F.nextSibling)if(F.name==="LinkMark"&&n.doc.sliceString(F.from,F.to)==="]"){U=F.from;break}let le=n.doc.sliceString(y.from+2,U);if(!c(y.from,y.to)){let F=n.doc.lineAt(y.from);F.text.trim()===n.doc.sliceString(y.from,y.to)&&p(F.from,nv),t.push(Z.replace({widget:new vh(N,le,n.doc.sliceString(y.from,y.to),y.from,y.to)}).range(y.from,y.to))}return!1}if(z==="Link"){y.node.getChild("URL")&&t.push(Sv.range(y.from,y.to));return}if(z==="LinkMark"){let X=y.node.parent;X&&X.name==="Link"&&X.getChild("URL")&&!c(X.from,X.to)&&t.push(Ge.range(y.from,y.to));return}if(z==="URL"){let X=y.node.parent;X&&X.name==="Link"&&(c(X.from,X.to)?t.push(yv.range(y.from,y.to)):t.push(Ge.range(y.from,y.to)));return}if(z==="BulletList"||z==="OrderedList"){_.push(y.from);return}if(z==="ListItem"){let X=y.from===_[_.length-1],te=_.length>1;if(!X){let F=n.doc.lineAt(y.from).number-1;for(;F>0&&n.doc.line(F).text.trim()==="";)p(n.doc.line(F).from,xo(0)),F--}(!X||te)&&p(y.from,jg),m(y.from,y.to,wo),p(y.from,wh(_.length)),O.add(n.doc.lineAt(y.from).from);{let Qe=n.doc.lineAt(y.from).to+1;for(;Qe<=y.to;){let Ce=n.doc.lineAt(Qe),ti=Ce.text;if(ti.length>0&&!Zn.test(ti)){p(Ce.from,av),p(Ce.from,wh(_.length));let xi=ti.match(/^[ \t]+/);xi&&t.push(Ge.range(Ce.from,Ce.from+xi[0].length))}if(Ce.to>=y.to)break;Qe=Ce.to+1}}let N=n.doc.lineAt(y.from),le=N.text.match(Zn)?.[1]??"";le.length>0&&t.push(Ge.range(N.from,N.from+le.length));return}if(z==="ListMark"){let X=n.doc.sliceString(y.from,y.to),te=n.doc.lineAt(y.from),N=/^\s*\[[ xX]\](\s|$)/.test(te.text.slice(y.to-te.from));if((X==="-"||X==="*"||X==="+")&&!N){let U=n.doc.sliceString(y.to,y.to+1);h(y.from)?(t.push(Ag.range(y.from,y.to)),U===" "&&t.push(Ge.range(y.to,y.to+1))):t.push(Rg.range(y.from,y.to+(U===" "?1:0)))}else if(/^\d+[.)]$/.test(X)&&!N){let U=n.doc.sliceString(y.to,y.to+1);h(y.from)?(t.push(HP.range(y.from,y.to)),U===" "&&t.push(Ge.range(y.to,y.to+1))):t.push(FP(X).range(y.from,y.to+(U===" "?1:0)))}return}if(z==="FencedCode"||z==="CodeBlock"){let X=n.doc.lineAt(y.from),te=n.doc.lineAt(y.to),N=z==="FencedCode"&&y.node.lastChild?.name==="CodeMark",U=te.number-X.number>=(N?2:1),le=z==="FencedCode"&&!h(X.from),F=N&&!h(te.from),Qe=le&&U?n.doc.line(X.number+1):X,Ce=U?Qe:X,ti=!U&&z==="FencedCode"?X:F?n.doc.line(te.number-1):te;if(z==="FencedCode"){let J=Ro(n,y);if(J.detectedLanguage)for(let en of qv(J,e))t.push(en.mark.range(J.sourceFrom+en.from,J.sourceFrom+en.to));t.push(Z.widget({widget:new Xo({wrapped:n.field(qn).has(X.from),fenceFrom:y.from,language:J.language,detectedLanguage:J.detectedLanguage,rawInfo:J.rawInfo,infoFrom:J.infoFrom,infoTo:J.infoTo}),side:-1}).range(Ce.from))}else t.push(Z.widget({widget:new Xo({fenceFrom:X.from,language:"text",rawInfo:"",plain:!0,wrapped:n.field(qn).has(X.from)}),side:-1}).range(Ce.from));let xi=y.from;for(;xi<=y.to;){let J=n.doc.lineAt(xi),en=z==="CodeBlock"&&u.has(`${wo.spec.class}@${J.from}`)?J.text.match(Zn):null;if(en){if(g(J,en),J.to>=y.to)break;xi=J.to+1;continue}let Wh=z==="FencedCode"&&J.from===Ce.from;if((le&&J.from===X.from||F&&J.from===te.from)&&!Wh)p(J.from,Eg);else if(z==="FencedCode"&&!U&&J.from!==X.from&&!Wh)p(J.from,Eg);else{let Ln=J.from===Qe.from,jh=J.from===ti.from;Ln&&p(J.from,cv),jh&&p(J.from,hv),!Ln&&!jh&&p(J.from,lv),t.push(Z.line({attributes:{"data-code-scroll-group":String(X.from),class:n.field(qn).has(X.from)?"cm-md-code-wrapped":""}}).range(J.from)),J.length&&t.push(fv.range(J.from,J.to))}if(z==="CodeBlock"&&!h(J.from)){let Ln=J.text.match(/^(?: {4}|\t)/)?.[0];Ln&&t.push(Ge.range(J.from,J.from+Ln.length))}if(J.to>=y.to)break;xi=J.to+1}return}if(z==="CodeInfo"){let X=y.node.parent;if(!X)return;h(X.from)&&t.push(Ov.range(y.from,y.to));return}if(z==="Table"){m(y.from,y.to,uv);return}if(z==="HorizontalRule"){h(y.from)||(p(y.from,JP),t.push(KP.range(y.from,y.to)));return}},leave:y=>{R--;let z=y.name;(z==="BulletList"||z==="OrderedList")&&_.pop(),z==="Blockquote"&&W.pop()}});for(let[y,z]of T)p(y,ov(z.depth,z.starts,z.ends,z.gap));T.clear();let j=k;for(;j<=w;){let y=n.doc.lineAt(j);if(u.has(`${wo.spec.class}@${y.from}`)&&!O.has(y.from)){let ye=y.text.match(Zn);ye&&g(y,ye)}if(y.to>=w)break;j=y.to+1}}return Z.set(t,!0)}function Ah(i){let e=i.selection.main,t=new Set,n=0;for(let r=B(i).resolveInner(e.from,1);r;r=r.parent){if(r.toi.decorations,provide:i=>E.blockWrappers.of(e=>e.plugin(i)?.codeWrappers??oi.set([]))}),zv=De.fromClass(class{constructor(i){this.schedule(i)}update(i){(i.docChanged||i.selectionSet||i.viewportChanged||i.geometryChanged||i.focusChanged)&&this.schedule(i.view)}docViewUpdate(i){this.schedule(i)}schedule(i){i.requestMeasure({key:this,read(e){return Array.from(e.dom.querySelectorAll(".cm-md-heading-prefix")).map(t=>{let n=t.closest(".cm-line");return n?{line:n,width:t.getBoundingClientRect().width}:null}).filter(Boolean)},write(e){for(let{line:t,width:n}of e){let r=`${n}px`;t.style.getPropertyValue("--cm-md-heading-prefix-width")!==r&&t.style.setProperty("--cm-md-heading-prefix-width",r)}}})}});function Ig(i){let e=[],t=i.selection.main,n=(s,o)=>t.from<=o&&t.to>=s;return(zs(i,i.doc.length,80)||B(i)).iterate({enter:s=>{let o=s.name;if(o==="FencedCode"||o==="CodeBlock"||o==="HTMLBlock")return!1;if(o!=="Paragraph")return;if(n(s.from,s.to))return!1;let a=i.doc.lineAt(s.from);for(;a.toIg(i),update:(i,e)=>e.docChanged||e.selection?Ig(e.state):i,provide:i=>E.decorations.from(i)}),Hg=yn.define([{tag:[d.keyword,d.modifier,d.operatorKeyword,d.controlKeyword,d.definitionKeyword,d.moduleKeyword],class:"hl-keyword"},{tag:[d.string,d.special(d.string),d.regexp],class:"hl-string"},{tag:[d.comment,d.blockComment,d.lineComment],class:"hl-comment"},{tag:[d.number,d.integer,d.float,d.character],class:"hl-number"},{tag:[d.bool,d.atom,d.null],class:"hl-keyword"},{tag:[d.typeName,d.namespace],class:"hl-type"},{tag:[d.className,d.definition(d.typeName)],class:"hl-declaration"},{tag:[d.function(d.variableName),d.function(d.propertyName),d.macroName],class:"hl-function"},{tag:[d.propertyName,d.labelName],class:"hl-property"},{tag:d.attributeName,class:"hl-attribute"},{tag:[d.standard(d.variableName),d.standard(d.typeName)],class:"hl-builtin"},{tag:[d.meta,d.processingInstruction],class:"hl-meta"},{tag:[d.punctuation,d.operator],class:"hl-plain"}]);function At(i){return e=>{let t=e.state.changeByRange(n=>{let{from:r,to:s}=n;for(;rr&&/\s/.test(e.state.sliceDoc(s-1,s));)s--;let o=i.length,a=e.state.sliceDoc(Math.max(0,r-o),r),l=e.state.sliceDoc(s,s+o);if(a===i&&l===i)return{changes:[{from:r-o,to:r,insert:""},{from:s,to:s+o,insert:""}],range:v.range(r-o,s-o)};let c=e.state.sliceDoc(r,s);return c.startsWith(i)&&c.endsWith(i)&&c.length>=o*2?{changes:{from:r,to:s,insert:c.slice(o,c.length-o)},range:v.range(r,s-o*2)}:{changes:{from:r,to:s,insert:i+c+i},range:v.range(r+o,s+o)}});return e.dispatch(t,{scrollIntoView:!0,userEvent:"input"}),!0}}function Mh(i,e){let t=i.selection.main,n=i.doc.lineAt(t.from).number,r=i.doc.lineAt(t.to).number,s=[];for(let o=n;o<=r;o++)s.push(i.doc.line(o));return e(s)}function Ph(i,e){return t=>{let n=Mh(t.state,r=>{let s=r.every(o=>e.test(o.text));return r.map(o=>{if(s){let a=o.text.match(e);return{from:o.from,to:o.from+a[0].length,insert:""}}return e.test(o.text)?null:{from:o.from,insert:i}}).filter(Boolean)});return n.length&&Wr(t,n),!0}}function Wr(i,e){let t=i.state.changes(e),n=i.state.selection.main;i.dispatch({changes:e,selection:v.range(t.mapPos(n.anchor,1),t.mapPos(n.head,1)),userEvent:"input"})}function Lv(i){let e=/^\d+\.\s/,t=Mh(i.state,n=>{let r=n.every(o=>e.test(o.text)),s=1;return n.map(o=>{if(r){let a=o.text.match(e);return{from:o.from,to:o.from+a[0].length,insert:""}}return e.test(o.text)?null:{from:o.from,insert:`${s++}. `}}).filter(Boolean)});return t.length&&Wr(i,t),!0}function Zh(i){let e=i.selection.main,t=i.doc.lineAt(e.from).number,n=i.doc.lineAt(e.empty?e.to:e.to-1).number;return Array.from({length:n-t+1},(r,s)=>i.doc.line(t+s))}function Kg(i){let e=/^([ \t]*(?:>[ \t]*)*)(?:([-+*]|\d+[.)])([ \t]+)(\[[ xX]\][ \t]+)?)?/.exec(i);return{prefix:e[0],indent:e[1],style:e[2]?e[4]?"task":/^\d/.test(e[2])?"ordered":"bullet":"none"}}function En(i,e,t){for(let n=B(i).resolve(e,1);n;n=n.parent)if(t.includes(n.name))return n;return null}function Jg(i){return Zh(i).filter(e=>!/^[ \t>]*$/.test(e.text)&&!En(i,e.from+e.text.search(/\S/),["FencedCode","CodeBlock"]))}function Mv(i,e){if(!["none","bullet","ordered","task"].includes(e))return!1;let t=Jg(i.state).map((n,r)=>{let s=Kg(n.text);if(s.style===e)return null;let o=e==="none"?"":e==="bullet"?"- ":e==="task"?"- [ ] ":`${r+1}. `;return{from:n.from,to:n.from+s.prefix.length,insert:s.indent+o}}).filter(Boolean);return t.length&&Wr(i,t),i.focus(),!0}function Ki(i){return e=>{let t=Mh(e.state,n=>n.map(r=>{let s=r.text.match(/^(#{1,6})\s+/),a=(s?s[1].length:0)===i||i===0?"":"#".repeat(i)+" ";return{from:r.from,to:r.from+(s?s[0].length:0),insert:a}}));return e.dispatch({changes:t,userEvent:"input"}),!0}}function e0(i){let e={InlineCode:"code",FencedCode:"fenced",CodeBlock:"plain",Blockquote:"quote",Table:"table"};for(let t=B(i).resolve(i.selection.main.head,i.selection.main.empty?1:-1);t;t=t.parent)if(e[t.name])return{style:e[t.name],node:t};return{style:"none",node:null}}function Wv(i,e,t=""){if(!["none","quote","code","plain","fenced","table"].includes(e))return!1;let n=i.state,r=n.selection.main,s=e0(n),o=s.node&&r.from>=s.node.from&&r.to<=s.node.to;if(e==="code"&&(!o||s.style==="code"))return s.style!=="code"&&At("`")(i),i.focus(),!0;if(e==="table"){let p=En(n,r.to,["FencedCode"]),m=p?p.to:n.doc.lineAt(r.to).to,g=(p&&p.lastChild?.name!=="CodeMark"?` +`:"")}var IP=1,Lr=null,BP=bi.parser.configure(Eh),Fg=new WeakMap;function xh(i,e){let t={StrongEmphasis:"cm-md-strong",Emphasis:"cm-md-emphasis",Strikethrough:"cm-md-strikethrough",Highlight:"cm-md-highlight"},n=(o,a,l)=>{if(!a)return;let c=document.createTextNode(a);Fg.set(c,l),o.append(c)},r=(o,a,l,c)=>{let h=l;for(let f=a.firstChild;f;f=f.nextSibling)f.fromc||(n(o,e.slice(h,f.from),h),s(o,f),h=f.to);n(o,e.slice(h,c),h)},s=(o,a)=>{if(a.name==="InlineCode"){let l=document.createElement("code");l.className="cm-md-inline-code";let c=e.slice(a.firstChild.to,a.lastChild.from).replace(/\n/g," "),h=c.startsWith(" ")&&c.endsWith(" ")&&/[^ ]/.test(c);h&&(c=c.slice(1,-1)),n(l,c,a.firstChild.to+(h?1:0)),o.append(l)}else if(t[a.name]){let l=document.createElement("span");l.className=t[a.name],r(l,a,a.firstChild.to,a.lastChild.from),o.append(l)}else if(a.name==="Link"&&a.getChild("URL")){let l=a.getChildren("LinkMark"),c=document.createElement("span");c.className="cm-md-link",r(c,a,l[0].to,l[1].from),o.append(c)}else a.name==="Escape"?n(o,e.slice(a.from+1,a.to),a.from+1):a.name==="Image"?n(o,e.slice(a.from,a.to),a.from):r(o,a,a.from,a.to)};i.replaceChildren(),s(i,BP.parse(e).topNode)}var ke=new WeakMap,Hg=$e.define(),Mh=new WeakMap,UP=new Set(["bold","italic","strikethrough","highlight","code","link"]);function Ao(i,e){if(e.invalid||e.tableFrom<0||e.tableFrom>=i.state.doc.length)return null;let n=i.state.doc.lineAt(e.tableFrom).number+(e.row===0?0:e.row+1);if(n>i.state.doc.lines)return null;let r=i.state.doc.line(n),s=vo(r.text,!0)[e.column];return s?{from:r.from+s.from,to:r.from+Math.max(s.from,s.to)}:null}function zn(i){let e=ke.get(i);if(!e||e.invalid||e.element.dataset.tableEditing!=="true")return;let t=window.getSelection();if(!t?.anchorNode||!t.focusNode||!e.element.contains(t.anchorNode)||!e.element.contains(t.focusNode))return;let n=(a,l)=>{let c=document.createRange();return c.selectNodeContents(e.element),c.setEnd(a,l),c.toString().length};e.anchor=n(t.anchorNode,t.anchorOffset),e.head=n(t.focusNode,t.focusOffset);let r=e.element.innerText||"",s=[e.anchor,e.head];Lh(r,s),e.sourceAnchor=s[0],e.sourceHead=s[1];let o=re.create({doc:r,selection:v.single(e.anchor,e.head),extensions:[Yc({extensions:Eh})]});Mh.get(i)?.(Zh(o))}function $o(i){let e=ke.get(i);if(!e||e.invalid)return null;zn(i),e.element.dataset.tableEditing==="true"&&e.element.blur();let t=Ao(i,e);if(!t)return null;let n=t.to-t.from;return i.dispatch({selection:v.single(t.from+Math.max(0,Math.min(e.sourceAnchor??e.anchor,n)),t.from+Math.max(0,Math.min(e.sourceHead??e.head,n)))}),e}function To(i,e){let t=Ao(i,e);if(!t)return;let n=i.state.selection.main,r=Math.max(0,Math.min(n.anchor-t.from,t.to-t.from)),s=Math.max(0,Math.min(n.head-t.from,t.to-t.from)),o=i.dom.querySelector(`.cm-md-table-widget[data-table-from="${e.tableFrom}"] [data-table-row="${e.row}"][data-table-column="${e.column}"]`);if(!o)return;o.focus({preventScroll:!0});let a=o.firstChild||o.appendChild(document.createTextNode(""));window.getSelection()?.setBaseAndExtent(a,r,a,s),zn(i)}var GP=De.fromClass(class{constructor(i){this.view=i,this.capture=()=>zn(i),this.clear=e=>{e.target.closest?.(".cm-md-table-cell")||ke.delete(i)},document.addEventListener("selectionchange",this.capture),i.dom.addEventListener("mousedown",this.clear,!0)}update(i){let e=ke.get(this.view);e&&i.docChanged&&i.transactions.some(t=>t.docChanged&&!t.annotation(Hg))&&ke.set(this.view,{...e,invalid:!0})}destroy(){document.removeEventListener("selectionchange",this.capture),this.view.dom.removeEventListener("mousedown",this.clear,!0),ke.delete(this.view),Mh.delete(this.view)}}),_h=class extends Ae{constructor(e,t){super(),this.source=e,this.from=t}eq(e){return e.source===this.source&&e.from===this.from}toDOM(e){let t=zh(this.source),n=document.createElement("div");if(n.className="cm-md-table-widget",n.dataset.tableFrom=String(this.from),!t)return n.textContent=this.source,n;let r=null,s=null,o=null,a=!1,l=document.createElement("div");l.className="cm-md-table-scroll",n.appendChild(l);let c=document.createElement("table");c.className="cm-md-table-grid",l.appendChild(c);let h=(Q,S)=>{requestAnimationFrame(()=>requestAnimationFrame(()=>{let x=e.dom.querySelector(`.cm-md-table-widget[data-table-from="${this.from}"]`);(x&&x.querySelector(`[data-table-row="${Q}"][data-table-column="${S}"]`))?.focus()}))},f=(Q=null,S=!1)=>{let x=YP(t);if(x===this.source){Q&&n.querySelector(`[data-table-row="${Q.row}"][data-table-column="${Q.column}"]`)?.focus();return}r=null,e.dispatch({changes:{from:this.from,to:this.from+this.source.length,insert:x},annotations:S?Hg.of(!0):[],userEvent:"input"}),Q&&h(Q.row,Q.column)},u=()=>{!r||r.element.dataset.tableEditing!=="true"||(t.rows[r.row][r.column]=r.element.innerText||"")},O=()=>{n.querySelectorAll(".is-table-part-selected").forEach(Q=>{Q.classList.remove("is-table-part-selected")}),n.classList.remove("is-table-row-selected","is-table-column-selected","is-table-range-selected"),n.removeAttribute("aria-label"),s=null},p=(Q,S,x)=>{if(u(),O(),Array.from(n.querySelectorAll(".cm-md-table-cell")).filter($=>{let R=Number($.dataset.tableRow),_=Number($.dataset.tableColumn);return R>=S.top&&R<=S.bottom&&_>=S.left&&_<=S.right}).forEach($=>{$.classList.add("is-table-part-selected")}),n.classList.add(Q==="row"?"is-table-row-selected":Q==="column"?"is-table-column-selected":"is-table-range-selected"),window.getSelection()?.removeAllRanges(),s={kind:Q,row:x.row,column:x.column,bounds:S},ke.delete(e),n.tabIndex=0,Q==="range"){let $=S.bottom-S.top+1,R=S.right-S.left+1;n.setAttribute("aria-label",`Selected ${$} rows by ${R} columns.`)}else{let $=Q==="row"?x.row:x.column+1;n.setAttribute("aria-label",`Selected ${Q} ${$}. Press Delete to remove it.`)}n.focus()},m=(Q,S,x)=>{let P=Q==="row"?{top:S,right:t.alignments.length-1,bottom:S,left:0}:{top:0,right:x,bottom:t.rows.length-1,left:x};p(Q,P,{row:S,column:x})},b=(Q,S,x,P)=>{p("range",{top:Math.min(Q,x),right:Math.max(S,P),bottom:Math.max(Q,x),left:Math.min(S,P)},{row:Q,column:S})},g=(Q,S,x)=>{if(u(),Q==="selectRow"&&S>0)m("row",S,x);else if(Q==="selectColumn"&&t.alignments.length>1)m("column",S,x);else if(Q==="insertRowBefore"&&S>0)t.rows.splice(S,0,Array(t.alignments.length).fill("")),f({row:S,column:x});else if(Q==="insertRowAfter")t.rows.splice(S+1,0,Array(t.alignments.length).fill("")),f({row:S+1,column:x});else if(Q==="duplicateRow"&&S>0)t.rows.splice(S+1,0,[...t.rows[S]]),f({row:S+1,column:x});else if(Q==="deleteRow"&&S>0)t.rows.splice(S,1),f({row:Math.min(S,t.rows.length-1),column:x});else if(Q==="insertColumnBefore"){for(let P of t.rows)P.splice(x,0,"");t.alignments.splice(x,0,"none"),f({row:S,column:x})}else if(Q==="insertColumnAfter"){for(let P of t.rows)P.splice(x+1,0,"");t.alignments.splice(x+1,0,"none"),f({row:S,column:x+1})}else if(Q==="deleteColumn"&&t.alignments.length>1){for(let P of t.rows)P.splice(x,1);t.alignments.splice(x,1),f({row:S,column:Math.min(x,t.alignments.length-1)})}};return t.rows.forEach((Q,S)=>{let x=document.createElement("tr");c.appendChild(x),Q.forEach((P,$)=>{let R=document.createElement(S===0?"th":"td"),_=document.createElement("div");if(_.className="cm-md-table-cell",_.contentEditable="plaintext-only",_.spellcheck=!0,xh(_,P),_.dataset.tableRow=String(S),_.dataset.tableColumn=String($),S===0){let W=`Column ${$+1}`;_.dataset.placeholder=W;let T=()=>{(_.innerText||"").trim()?_.removeAttribute("aria-label"):_.setAttribute("aria-label",W)};T(),_.addEventListener("input",T)}t.alignments[$]!=="none"&&(_.style.textAlign=t.alignments[$]),_.addEventListener("focus",()=>{O(),(_.textContent!==t.rows[S][$]||_.childElementCount)&&(_.textContent=t.rows[S][$]),_.dataset.tableEditing="true",ke.set(e,{tableFrom:this.from,row:S,column:$,element:_,anchor:0,head:0}),r={row:S,column:$,element:_}}),_.addEventListener("contextmenu",W=>{W.preventDefault(),_.focus(),r={row:S,column:$,element:_};let T=String(IP++);Lr={token:T,perform:k=>g(k,S,$)},window.__mdRequestTableContextMenu?.({token:T,canInsertRowAbove:S>0,canDuplicateRow:S>0,canDeleteRow:S>0,canDeleteColumn:t.alignments.length>1,showsDuplicateRow:!0})}),_.addEventListener("blur",()=>{if(zn(e),!r||r.element!==_)return;let W=_.innerText||"",T=W!==t.rows[S][$]||!Ao(e,{tableFrom:this.from,row:S,column:$});t.rows[S][$]=W,r=null,delete _.dataset.tableEditing,xh(_,t.rows[S][$]),T&&f(null,!0)}),_.addEventListener("keydown",W=>{if((W.metaKey||W.ctrlKey)&&["b","i"].includes(W.key.toLowerCase())){W.preventDefault();let C=$o(e);if(!C)return;At(W.key.toLowerCase()==="b"?"**":"*")(e),C&&To(e,C);return}if(W.key==="Escape"){W.preventDefault(),r=null,_.blur(),delete _.dataset.tableEditing,xh(_,t.rows[S][$]),ke.delete(e),e.focus();return}if(W.key!=="Tab"&&W.key!=="Enter")return;W.preventDefault(),t.rows[S][$]=_.innerText||"";let T=W.key==="Tab"&&W.shiftKey,k=S,w=$+(T?-1:1);w<0?(k--,w=t.alignments.length-1):w>=t.alignments.length&&(k++,w=0),k<0?(k=0,w=0):k>=t.rows.length&&t.rows.push(Array(t.alignments.length).fill("")),f({row:k,column:w})}),R.appendChild(_),x.appendChild(R)})}),n.addEventListener("mousedown",Q=>{if(Q.button!==0)return;let S=Q.target.closest?.(".cm-md-table-cell");if(!S)return;let x=Number(S.dataset.tableRow),P=Number(S.dataset.tableColumn);if(!Number.isInteger(x)||x<0||!Number.isInteger(P))return;Q.stopPropagation();let $=null;if(S.dataset.tableEditing!=="true"&&Q.detail===1&&!Q.shiftKey&&!Q.metaKey&&!Q.ctrlKey&&!Q.altKey&&S.textContent!==t.rows[x][P]){let T=document.caretRangeFromPoint?.(Q.clientX,Q.clientY),k=T&&Fg.get(T.startContainer);k!=null&&S.contains(T.startContainer)&&($=k+T.startOffset,Q.preventDefault())}S.focus({preventScroll:!0});let R=T=>{let k=S.firstChild;k&&window.getSelection()?.setBaseAndExtent(k,$,k,T)};$!=null&&R($),o={cell:S,row:x,column:P,head:S,active:!1,dragged:!1};let _=T=>{document.removeEventListener("mousemove",W,!0),document.removeEventListener("mouseup",_,!0),o?.active?(T.preventDefault(),window.getSelection()?.removeAllRanges(),a=!0):zn(e),o=null},W=T=>{if(!o)return;let w=document.elementFromPoint?.(T.clientX,T.clientY)?.closest?.(".cm-md-table-cell")||T.target.closest?.(".cm-md-table-cell");if(!(!w||!n.contains(w))){if(w===o.cell&&!o.active){if($!=null&&(T.preventDefault(),o.dragged||=Math.hypot(T.clientX-Q.clientX,T.clientY-Q.clientY)>3,o.dragged)){let C=document.caretRangeFromPoint?.(T.clientX,T.clientY);C?.startContainer===S.firstChild&&R(C.startOffset)}return}w!==o.head&&(T.preventDefault(),o.active=!0,o.head=w,b(o.row,o.column,Number(w.dataset.tableRow),Number(w.dataset.tableColumn)))}};document.addEventListener("mousemove",W,!0),document.addEventListener("mouseup",_,!0)},!0),n.addEventListener("click",Q=>{a&&(a=!1,Q.preventDefault(),Q.stopPropagation())},!0),n.addEventListener("keydown",Q=>{if(!s)return;if(Q.key==="Escape"){Q.preventDefault(),O(),e.focus();return}if(Q.key!=="Backspace"&&Q.key!=="Delete")return;if(s.kind==="range"){Q.preventDefault();return}Q.preventDefault();let S=s;O(),g(S.kind==="row"?"deleteRow":"deleteColumn",S.row,S.column)}),n}ignoreEvent(){return!0}},Zo=ie.define();function wh(i,e,t,n=0){let r=[];if(e){let o=new RegExp(e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),"giu"),a=i.toString();for(let l of a.matchAll(o)){let c=l.index;(!t||c===0||!/[A-Za-z0-9_]/.test(a[c-1]))&&r.push({from:c,to:c+l[0].length})}}n=r.length?Math.min(Math.max(n,0),r.length-1):-1;let s=Z.set(r.map((o,a)=>Z.mark({class:a===n?"cm-find-match cm-find-current":"cm-find-match"}).range(o.from,o.to)));return{query:e,beginsWith:t,matches:r,index:n,decorations:s}}var ki=he.define({create:i=>wh(i.doc,"",!1),update(i,e){for(let t of e.effects)if(t.is(Zo)){let{query:n,beginsWith:r,index:s}=t.value;return wh(e.state.doc,n,r,s)}return e.docChanged?wh(e.state.doc,i.query,i.beginsWith,i.index):i},provide:i=>E.decorations.from(i,e=>e.decorations)});function _o(i,e,t){let n=i.field(ki),r=n.matches[n.index];return!!r&&r.frome}var NP=E.baseTheme({".cm-find-match":{backgroundColor:"#ffe58a",color:"#201800",borderRadius:"2px"},".cm-find-current":{backgroundColor:"#ffad33",outline:"1px solid #9b5700"}});function Rg(i){let e=[];return(zs(i,i.doc.length,80)||B(i)).iterate({enter(n){if(n.name!=="Table")return;if(_o(i,n.from,n.to))return!1;let r=i.doc.sliceString(n.from,n.to);if(zh(r))return e.push(Z.replace({block:!0,widget:new _h(r,n.from)}).range(n.from,n.to)),!1}}),Z.set(e,!0)}var FP=he.define({create:Rg,update:(i,e)=>e.docChanged||e.effects.some(t=>t.is(Zo))?Rg(e.state):i,provide:i=>E.decorations.from(i)}),Ge=Z.replace({}),Ag=Z.replace({widget:new Mr("\u2022","cm-md-bullet")}),Zg=Z.mark({class:"cm-md-bullet-source"}),qg=new Map,HP=i=>{let e=qg.get(i);return e||(e=Z.replace({widget:new Mr(i,"cm-md-ordered")}),qg.set(i,e)),e},KP=Z.mark({class:"cm-md-ordered-source"}),JP=Z.replace({widget:new Th}),ev=Z.line({class:"cm-md-rule-line"}),Zn=/^([ \t]*)([-+*]|\d+[.)])([ \t]+|$)/,tv=Z.replace({widget:new Mr(" ","cm-md-join")}),Rh={},iv=i=>Z.line({class:"cm-md-h"+i});for(let i=1;i<=6;i++)Rh[i]=iv(i);var nv=Z.line({class:"cm-md-heading-inactive"}),Eg=Z.line({class:"cm-md-heading-after-blank"}),rv=Z.line({class:"cm-md-image-line"}),zg=Z.line({class:"cm-md-line-collapsed"}),dt={line:22.8,blankGap:4,paragraph:12,quote:18,alert:24,table:24,hr:12},sv=new Set(["Paragraph","FencedCode","CodeBlock","Blockquote","BulletList","OrderedList","Table","HorizontalRule","HTMLBlock"]),Lg=new Map,xo=i=>{let e=Lg.get(i);return e||(e=Z.line({class:"cm-md-block-separator",attributes:{style:`height:${i}px;min-height:0;line-height:${i}px;overflow:hidden;`}}),Lg.set(i,e)),e},Mg=new Map,ov=i=>{let e=Mg.get(i);return e||(e=Z.line({class:"cm-md-block-gap",attributes:{style:`padding-bottom:${i}px;--cm-md-block-gap:${i}px;`}}),Mg.set(i,e)),e},Wg=new Map,av=(i,e,t,n)=>{let r=`${i}:${e}:${t}:${n}`,s=Wg.get(r);if(!s){let o=[],a=[];for(let l=0;loi.create({tagName:"div",attributes:{class:`cm-md-code-card${s?" cm-md-code-card-wrapped":""}`}}).range(n,r)),!0)}var Ov=Z.line({class:"cm-md-table"}),Vg=Z.line({class:"cm-md-list-item-gap"}),wo=Z.line({class:"cm-md-list-item"}),Dg=new Map,Ph=i=>{let e=Dg.get(i);return e||(e=Z.line({class:`cm-md-list-depth-${i}`,attributes:{style:`padding-inline-start:${i*2.1}em;text-indent:-2.1em;`}}),Dg.set(i,e)),e},dv=Z.mark({class:"cm-md-fence-info"}),pv=Z.mark({class:"cm-md-code-fence-source-hidden"}),mv=Z.mark({class:"cm-md-heading-source-hidden"}),gv=Z.mark({class:"cm-md-heading-prefix"}),Qv=Z.mark({class:"cm-md-heading-marker"}),bv=Z.line({class:"cm-md-setext-marker-line"}),Sv=Z.mark({class:"cm-md-setext-source"}),yv=Z.mark({class:"cm-md-link"}),kv=Z.mark({class:"cm-md-url"}),xv=Z.mark({class:"cm-md-strong"}),wv=Z.mark({class:"cm-md-emphasis"}),Pv=Z.mark({class:"cm-md-strikethrough"}),vv=Z.mark({class:"cm-md-highlight"}),$v=Z.line({class:"cm-md-frontmatter"}),Tv=Z.line({class:"cm-md-frontmatter-first"}),Cv=Z.line({class:"cm-md-frontmatter-last"}),Xv=Z.mark({class:"cm-md-frontmatter-delim"}),_v=Z.line({attributes:{dir:"auto"}});function Yg(i){let e=[];for(let t=1;t<=i.doc.lines;t++)e.push(_v.range(i.doc.line(t).from));return Z.set(e)}var Rv=he.define({create:Yg,update(i,e){return e.docChanged?Yg(e.state):i},provide:i=>E.decorations.from(i)});function Ro(i,e){let t="",n=null,r=[];for(let g=e.node.firstChild;g;g=g.nextSibling)g.name==="CodeInfo"&&(n=g,t=i.doc.sliceString(g.from,g.to)),g.name==="CodeMark"&&r.push(g);let s=t.trim().split(/\s+/,1)[0].toLowerCase(),o=i.doc.lineAt(e.from),a=r[0],l=o.to1&&(c=i.doc.lineAt(r[r.length-1].from).from);let h=i.sliceDoc(o.from,e.from),f=/^ {0,3}$/.test(h)?h.length:0,u=e.node.getChildren("CodeText"),O=u.map((g,Q)=>{let S=Q?i.doc.lineAt(g.from).number-i.doc.lineAt(u[Q-1].to).number:0;return` +`.repeat(S)+i.sliceDoc(g.from,g.to)}).join("").replace(new RegExp("^ {0,"+f+"}","gm"),""),p=s?"":MP(O),m=n?.from??a?.to??o.to,b=n?.to??m;return{explicitLanguage:s,language:s||p,detectedLanguage:p,metadata:t.trim().split(/\s+/).slice(1).join(" "),rawInfo:t,infoFrom:m,infoTo:b,sourceFrom:l,source:O}}function Co(i,e){let t=B(i).resolve(e,-1);for(;t;){if(t.name==="FencedCode")return{from:t.from,to:t.to,closed:t.node.lastChild?.name==="CodeMark"};t=t.parent}return null}var Ah=ie.define(),vt=he.define({create:()=>null,update(i,e){if(e.docChanged)return null;for(let t of e.effects)if(t.is(Ah))return t.value;return i?.activateOnSelection&&e.isUserEvent("select.pointer")?{selection:e.state.selection.main,focused:!0,fence:e.state.field(Ji),activateOnSelection:!1}:i}}),Av=De.fromClass(class{constructor(i){this.view=i,this.releaseTimer=null,this.down=e=>{e.button!==0||e.target.closest("input, textarea, button, select, .cm-md-table-cell")||(clearTimeout(this.releaseTimer),!i.state.field(vt)&&i.dispatch({effects:Ah.of({selection:i.state.selection.main,focused:i.hasFocus,fence:i.state.field(Ji),activateOnSelection:e.detail===1&&!e.shiftKey&&!e.metaKey&&!e.ctrlKey&&!e.altKey})}))},this.finish=()=>{i.state.field(vt)&&(clearTimeout(this.releaseTimer),this.releaseTimer=setTimeout(()=>this.release(),0))},this.release=()=>{clearTimeout(this.releaseTimer),i.state.field(vt)&&i.dispatch({effects:Ah.of(null)})},this.move=e=>{e.buttons===0&&this.finish()},i.contentDOM.addEventListener("mousedown",this.down,!0),i.contentDOM.addEventListener("keydown",this.release,!0),i.dom.ownerDocument.addEventListener("mouseup",this.finish),i.dom.ownerDocument.addEventListener("mousemove",this.move),i.dom.ownerDocument.addEventListener("dragend",this.finish),i.win.addEventListener("blur",this.finish)}destroy(){clearTimeout(this.releaseTimer);let i=this.view;i.contentDOM.removeEventListener("mousedown",this.down,!0),i.contentDOM.removeEventListener("keydown",this.release,!0),i.dom.ownerDocument.removeEventListener("mouseup",this.finish),i.dom.ownerDocument.removeEventListener("mousemove",this.move),i.dom.ownerDocument.removeEventListener("dragend",this.finish),i.win.removeEventListener("blur",this.finish)}}),Zv=E.mouseSelectionStyle.of((i,e)=>{if(e.button!==0||e.detail!==1||e.shiftKey||e.metaKey||e.ctrlKey||e.altKey)return null;let t=i.posAtCoords({x:e.clientX,y:e.clientY});if(t==null)return null;let n=!1;return{update(r){t=r.changes.mapPos(t)},get(r){n||=Math.hypot(r.clientX-e.clientX,r.clientY-e.clientY)>3;let s=n?i.posAtCoords({x:r.clientX,y:r.clientY},!1)??t:t;return v.single(t,s)}}}),Ji=he.define({create:()=>null,update(i,e){i&&e.docChanged&&(i={from:e.changes.mapPos(i.from,1),to:e.changes.mapPos(i.to,-1)});let t=e.state.selection.main;if(!t.empty)return null;let n=t.head;return e.isUserEvent("select.pointer")||!i&&e.docChanged&&e.isUserEvent("input")?Co(e.state,n):!i||ni.to?null:e.docChanged&&Co(e.state,n)||i}});function Po(i){let e=[],t=i.field(Ji);return(zs(i,i.doc.length,80)||B(i)).iterate({enter(r){if(r.name!=="FencedCode")return;let s=Ro(i,r),o=t!=null&&r.from<=t.from&&r.to>=t.to;if(s.language==="mermaid"&&!o&&!_o(i,r.from,r.to))return e.push(Z.replace({block:!0,widget:new Ch(s.source)}).range(r.from,r.to)),!1}}),Z.set(e,!0)}var qv=he.define({create:i=>Po(i),update:(i,e)=>{if(e.state.field(vt))return e.startState.field(vt)?.activateOnSelection&&!e.state.field(vt).activateOnSelection?Po(e.state):i;if(e.startState.field(vt))return Po(e.state);let t=e.startState.field(Ji),n=e.state.field(Ji),r=t?.from!==n?.from||t?.to!==n?.to,s=!1;return e.docChanged&&e.changes.iterChanges((o,a,l,c,h)=>{if(s)return;let u=e.startState.doc.sliceString(o,a)+h.toString();s=/[`~]|mermaid/i.test(u)}),r||s||e.effects.some(o=>o.is(Zo))||e.docChanged&&e.state.field(ki).query?Po(e.state):e.docChanged?i.map(e.changes):i},provide:i=>E.decorations.from(i)});function Ev(i,e){let t=e.get(i.sourceFrom);if(t?.language===i.detectedLanguage&&t.source===i.source)return t.tokens;let n=[],r=Be.matchLanguageName(Gg,i.detectedLanguage,!1)?.support?.language;return r&&Rs(r.parser.parse(i.source),Kg,(s,o,a)=>{n.push({from:s,to:o,mark:Z.mark({class:a})})}),e.set(i.sourceFrom,{language:i.detectedLanguage,source:i.source,tokens:n}),n}function Ig(i,e){let t=[],{state:n}=i,r=n.field(vt),s=r?.selection??n.selection.main,o=r?r.fence:n.field(Ji),l=(r?r.focused:i.hasFocus)&&(s.empty||i.compositionStarted)?s.head:null,c=(k,w)=>_o(n,k,w)||l!=null&&l>=k&&l<=w,h=k=>{let w=n.doc.lineAt(k);return c(w.from,w.to)},f=k=>_o(n,k.from,k.to)||o!=null&&k.from<=o.from&&k.to>=o.to,u=new Set,O=new Set,p=(k,w)=>{let C=n.doc.lineAt(k),j=w.spec.class+"@"+C.from;u.has(j)||(u.add(j),t.push(w.range(C.from)))},m=(k,w,C)=>{let j=k;for(;j<=w;){let y=n.doc.lineAt(j);if(p(y.from,C),y.to>=w)break;j=y.to+1}},b=k=>{let w=0;for(let C of k)w=C===" "?w+(4-w%4):w+1;return w},g=(k,w)=>{let C=w[1],j=w[2],y=w[3],z=k.from+C.length,ye=z+j.length,Zt=Math.floor(b(C)/4)+1;p(k.from,wo),p(k.from,Ph(Zt)),O.add(k.from),k.number>1&&Zn.test(n.doc.line(k.number-1).text)&&p(k.from,Vg),C.length>0&&t.push(Ge.range(k.from,z));let X=/^[-+*]$/.test(j)&&/^\s*\[[ xX]\](\s|$)/.test(k.text.slice(ye-k.from));/^[-+*]$/.test(j)&&!X&&(h(z)?(t.push(Zg.range(z,ye)),y.length>0&&t.push(Ge.range(ye,ye+y.length))):t.push(Ag.range(z,ye+y.length)))},Q=k=>{let w=n.doc.lineAt(k),C=w.number,j=Math.max(C-64,1);for(;C>j&&n.doc.line(C-1).text.length===0;)C--;return{line:w,first:C,count:w.number-C}},S=k=>{switch(k.name){case"Blockquote":{let w=n.doc.lineAt(k.from);return/^ {0,3}> ?\[!(note|tip|important|warning|caution)\]/i.test(w.text)?dt.alert:dt.quote}case"Table":return dt.table;case"HorizontalRule":return dt.hr;case"FencedCode":return Ro(n,k).language==="mermaid"?dt.table:dt.paragraph;default:return dt.paragraph}},x=-1,P=k=>{let w=n.doc.lineAt(k.from);w.number===1||w.from<=x||Q(k.from).count===0&&p(n.doc.line(w.number-1).from,ov(S(k)))},$=k=>{let w=Q(k.from);if(w.count===0)return;let C=n.doc.line(w.line.number-1);if(w.first===1){p(C.from,xo(dt.blankGap+S(k)));return}let j=S(k),y=dt.blankGap+j;p(C.from,xo(y))},R=0,_=[],W=[],T=new Map;for(let{from:k,to:w}of i.visibleRanges){let C=null;B(n).iterate({from:k,to:w,enter:y=>{R++;let z=y.name;if(R===2&&z==="Document"&&(C=R),C!=null&&R===C+1&&sv.has(z)&&($(y),P(y)),z==="Frontmatter"){let X=y.to>y.from&&n.doc.lineAt(y.to).from===y.to?y.to-1:y.to;x=X,m(y.from,X,$v),p(y.from,Tv),p(n.doc.lineAt(X).from,Cv);return}if(z==="DashLine"){t.push(Xv.range(y.from,y.to));return}let ye=z.match(/^ATXHeading(\d)$/);if(ye){p(y.from,Rh[+ye[1]]),Q(y.from).count>0&&p(y.from,Eg),h(y.from)||p(y.from,nv);return}let Zt=z.match(/^SetextHeading(\d)$/);if(Zt){p(y.from,Rh[+Zt[1]]),Q(y.from).count>0&&p(y.from,Eg);return}if(z==="HeaderMark"){let X=y.node.parent;if(X&&/^ATXHeading/.test(X.name)){t.push(Qv.range(y.from,y.to));let te=n.doc.sliceString(y.to,y.to+1),N=y.to+(te===" "?1:0),U=y.from===X.from,le=n.doc.lineAt(y.from),F=U&&/^ {0,3}$/.test(n.doc.sliceString(le.from,y.from))?le.from:y.from;U&&t.push(gv.range(F,N)),h(y.from)||t.push(mv.range(F,N))}else X&&/^SetextHeading/.test(X.name)&&(p(y.from,bv),t.push(Sv.range(y.from,y.to)));return}if(z==="Blockquote"){W.push(y.from);let X=n.doc.lineAt(y.from),te=y.node.parent?.name==="Blockquote",N=y.node.prevSibling;for(;N?.name==="QuoteMark";)N=N.prevSibling;let U=te&&N?dt.quote:0,le=y.from;for(;le<=y.to;){let F=n.doc.lineAt(le),Qe=T.get(F.from)||{depth:0,starts:0,ends:0,gap:0};if(Qe.depth=Math.max(Qe.depth,W.length),F.from===X.from&&(Qe.starts++,Qe.gap+=U),F.to>=y.to&&Qe.ends++,T.set(F.from,Qe),F.to>=y.to)break;le=F.to+1}return}if(z==="QuoteMark"){if(!h(y.from)){let X=n.doc.sliceString(y.to,y.to+1);t.push(Ge.range(y.from,y.to+(X===" "?1:0)))}return}if(z==="Paragraph"&&/^(Blockquote|ListItem)$/.test(y.node.parent?.name||"")){let X=n.doc.lineAt(y.from);if(X.number>n.doc.lineAt(y.node.parent.from).number){let te=n.doc.line(X.number-1);/^(?:[ >]*)$/.test(te.text)&&p(te.from,xo(dt.paragraph))}}if(z==="Escape"&&!c(y.from,y.to)){t.push(Ge.range(y.from,y.from+1));return}if(z==="StrongEmphasis"){t.push(xv.range(y.from,y.to));return}if(z==="Emphasis"){t.push(wv.range(y.from,y.to));return}if(z==="Strikethrough"){t.push(Pv.range(y.from,y.to));return}if(z==="Highlight"){let X=[];for(let U=y.node.firstChild;U;U=U.nextSibling)U.name==="HighlightMark"&&X.push(U);let te=X.length?X[0].to:y.from,N=X.length>1?X[X.length-1].from:y.to;te1?X[X.length-1].from:y.to;te")?te.slice(1,-1):te;if(!N||N.startsWith("//"))return!1;let U=y.from+2;for(let F=y.node.firstChild;F;F=F.nextSibling)if(F.name==="LinkMark"&&n.doc.sliceString(F.from,F.to)==="]"){U=F.from;break}let le=n.doc.sliceString(y.from+2,U);if(!c(y.from,y.to)){let F=n.doc.lineAt(y.from);F.text.trim()===n.doc.sliceString(y.from,y.to)&&p(F.from,rv),t.push(Z.replace({widget:new $h(N,le,n.doc.sliceString(y.from,y.to),y.from,y.to)}).range(y.from,y.to))}return!1}if(z==="Link"){y.node.getChild("URL")&&t.push(yv.range(y.from,y.to));return}if(z==="LinkMark"){let X=y.node.parent;X&&X.name==="Link"&&X.getChild("URL")&&!c(X.from,X.to)&&t.push(Ge.range(y.from,y.to));return}if(z==="URL"){let X=y.node.parent;X&&X.name==="Link"&&(c(X.from,X.to)?t.push(kv.range(y.from,y.to)):t.push(Ge.range(y.from,y.to)));return}if(z==="BulletList"||z==="OrderedList"){_.push(y.from);return}if(z==="ListItem"){let X=y.from===_[_.length-1],te=_.length>1;if(!X){let F=n.doc.lineAt(y.from).number-1;for(;F>0&&n.doc.line(F).text.trim()==="";)p(n.doc.line(F).from,xo(0)),F--}(!X||te)&&p(y.from,Vg),m(y.from,y.to,wo),p(y.from,Ph(_.length)),O.add(n.doc.lineAt(y.from).from);{let Qe=n.doc.lineAt(y.from).to+1;for(;Qe<=y.to;){let _e=n.doc.lineAt(Qe),ti=_e.text;if(ti.length>0&&!Zn.test(ti)){p(_e.from,lv),p(_e.from,Ph(_.length));let xi=ti.match(/^[ \t]+/);xi&&t.push(Ge.range(_e.from,_e.from+xi[0].length))}if(_e.to>=y.to)break;Qe=_e.to+1}}let N=n.doc.lineAt(y.from),le=N.text.match(Zn)?.[1]??"";le.length>0&&t.push(Ge.range(N.from,N.from+le.length));return}if(z==="ListMark"){let X=n.doc.sliceString(y.from,y.to),te=n.doc.lineAt(y.from),N=/^\s*\[[ xX]\](\s|$)/.test(te.text.slice(y.to-te.from));if((X==="-"||X==="*"||X==="+")&&!N){let U=n.doc.sliceString(y.to,y.to+1);h(y.from)?(t.push(Zg.range(y.from,y.to)),U===" "&&t.push(Ge.range(y.to,y.to+1))):t.push(Ag.range(y.from,y.to+(U===" "?1:0)))}else if(/^\d+[.)]$/.test(X)&&!N){let U=n.doc.sliceString(y.to,y.to+1);h(y.from)?(t.push(KP.range(y.from,y.to)),U===" "&&t.push(Ge.range(y.to,y.to+1))):t.push(HP(X).range(y.from,y.to+(U===" "?1:0)))}return}if(z==="FencedCode"||z==="CodeBlock"){let X=n.doc.lineAt(y.from),te=n.doc.lineAt(y.to),N=z==="FencedCode"&&y.node.lastChild?.name==="CodeMark",U=te.number-X.number>=(N?2:1),le=z==="FencedCode"&&!h(X.from),F=N&&!h(te.from),Qe=le&&U?n.doc.line(X.number+1):X,_e=U?Qe:X,ti=!U&&z==="FencedCode"?X:F?n.doc.line(te.number-1):te;if(z==="FencedCode"){let J=Ro(n,y);if(J.detectedLanguage)for(let en of Ev(J,e))t.push(en.mark.range(J.sourceFrom+en.from,J.sourceFrom+en.to));t.push(Z.widget({widget:new Xo({wrapped:n.field(qn).has(X.from),fenceFrom:y.from,language:J.language,detectedLanguage:J.detectedLanguage,rawInfo:J.rawInfo,infoFrom:J.infoFrom,infoTo:J.infoTo}),side:-1}).range(_e.from))}else t.push(Z.widget({widget:new Xo({fenceFrom:X.from,language:"text",rawInfo:"",plain:!0,wrapped:n.field(qn).has(X.from)}),side:-1}).range(_e.from));let xi=y.from;for(;xi<=y.to;){let J=n.doc.lineAt(xi),en=z==="CodeBlock"&&u.has(`${wo.spec.class}@${J.from}`)?J.text.match(Zn):null;if(en){if(g(J,en),J.to>=y.to)break;xi=J.to+1;continue}let jh=z==="FencedCode"&&J.from===_e.from;if((le&&J.from===X.from||F&&J.from===te.from)&&!jh)p(J.from,zg);else if(z==="FencedCode"&&!U&&J.from!==X.from&&!jh)p(J.from,zg);else{let Ln=J.from===Qe.from,Vh=J.from===ti.from;Ln&&p(J.from,hv),Vh&&p(J.from,fv),!Ln&&!Vh&&p(J.from,cv),t.push(Z.line({attributes:{"data-code-scroll-group":String(X.from),class:n.field(qn).has(X.from)?"cm-md-code-wrapped":""}}).range(J.from)),J.length&&t.push(uv.range(J.from,J.to))}if(z==="CodeBlock"&&!h(J.from)){let Ln=J.text.match(/^(?: {4}|\t)/)?.[0];Ln&&t.push(Ge.range(J.from,J.from+Ln.length))}if(J.to>=y.to)break;xi=J.to+1}return}if(z==="CodeInfo"){let X=y.node.parent;if(!X)return;h(X.from)&&t.push(dv.range(y.from,y.to));return}if(z==="Table"){m(y.from,y.to,Ov);return}if(z==="HorizontalRule"){h(y.from)||(p(y.from,ev),t.push(JP.range(y.from,y.to)));return}},leave:y=>{R--;let z=y.name;(z==="BulletList"||z==="OrderedList")&&_.pop(),z==="Blockquote"&&W.pop()}});for(let[y,z]of T)p(y,av(z.depth,z.starts,z.ends,z.gap));T.clear();let j=k;for(;j<=w;){let y=n.doc.lineAt(j);if(u.has(`${wo.spec.class}@${y.from}`)&&!O.has(y.from)){let ye=y.text.match(Zn);ye&&g(y,ye)}if(y.to>=w)break;j=y.to+1}}return Z.set(t,!0)}function Zh(i){let e=i.selection.main,t=new Set,n=0;for(let r=B(i).resolveInner(e.from,1);r;r=r.parent){if(r.toi.decorations,provide:i=>E.blockWrappers.of(e=>e.plugin(i)?.codeWrappers??oi.set([]))}),Lv=De.fromClass(class{constructor(i){this.schedule(i)}update(i){(i.docChanged||i.selectionSet||i.viewportChanged||i.geometryChanged||i.focusChanged)&&this.schedule(i.view)}docViewUpdate(i){this.schedule(i)}schedule(i){i.requestMeasure({key:this,read(e){return Array.from(e.dom.querySelectorAll(".cm-md-heading-prefix")).map(t=>{let n=t.closest(".cm-line");return n?{line:n,width:t.getBoundingClientRect().width}:null}).filter(Boolean)},write(e){for(let{line:t,width:n}of e){let r=`${n}px`;t.style.getPropertyValue("--cm-md-heading-prefix-width")!==r&&t.style.setProperty("--cm-md-heading-prefix-width",r)}}})}});function Bg(i){let e=[],t=i.selection.main,n=(s,o)=>t.from<=o&&t.to>=s;return(zs(i,i.doc.length,80)||B(i)).iterate({enter:s=>{let o=s.name;if(o==="FencedCode"||o==="CodeBlock"||o==="HTMLBlock")return!1;if(o!=="Paragraph")return;if(n(s.from,s.to))return!1;let a=i.doc.lineAt(s.from);for(;a.toBg(i),update:(i,e)=>e.docChanged||e.selection?Bg(e.state):i,provide:i=>E.decorations.from(i)}),Kg=yn.define([{tag:[d.keyword,d.modifier,d.operatorKeyword,d.controlKeyword,d.definitionKeyword,d.moduleKeyword],class:"hl-keyword"},{tag:[d.string,d.special(d.string),d.regexp],class:"hl-string"},{tag:[d.comment,d.blockComment,d.lineComment],class:"hl-comment"},{tag:[d.number,d.integer,d.float,d.character],class:"hl-number"},{tag:[d.bool,d.atom,d.null],class:"hl-keyword"},{tag:[d.typeName,d.namespace],class:"hl-type"},{tag:[d.className,d.definition(d.typeName)],class:"hl-declaration"},{tag:[d.function(d.variableName),d.function(d.propertyName),d.macroName],class:"hl-function"},{tag:[d.propertyName,d.labelName],class:"hl-property"},{tag:d.attributeName,class:"hl-attribute"},{tag:[d.standard(d.variableName),d.standard(d.typeName)],class:"hl-builtin"},{tag:[d.meta,d.processingInstruction],class:"hl-meta"},{tag:[d.punctuation,d.operator],class:"hl-plain"}]);function At(i){return e=>{let t=e.state.changeByRange(n=>{let{from:r,to:s}=n;for(;rr&&/\s/.test(e.state.sliceDoc(s-1,s));)s--;let o=i.length,a=e.state.sliceDoc(Math.max(0,r-o),r),l=e.state.sliceDoc(s,s+o);if(a===i&&l===i)return{changes:[{from:r-o,to:r,insert:""},{from:s,to:s+o,insert:""}],range:v.range(r-o,s-o)};let c=e.state.sliceDoc(r,s);return c.startsWith(i)&&c.endsWith(i)&&c.length>=o*2?{changes:{from:r,to:s,insert:c.slice(o,c.length-o)},range:v.range(r,s-o*2)}:{changes:{from:r,to:s,insert:i+c+i},range:v.range(r+o,s+o)}});return e.dispatch(t,{scrollIntoView:!0,userEvent:"input"}),!0}}function Wh(i,e){let t=i.selection.main,n=i.doc.lineAt(t.from).number,r=i.doc.lineAt(t.to).number,s=[];for(let o=n;o<=r;o++)s.push(i.doc.line(o));return e(s)}function vh(i,e){return t=>{let n=Wh(t.state,r=>{let s=r.every(o=>e.test(o.text));return r.map(o=>{if(s){let a=o.text.match(e);return{from:o.from,to:o.from+a[0].length,insert:""}}return e.test(o.text)?null:{from:o.from,insert:i}}).filter(Boolean)});return n.length&&Wr(t,n),!0}}function Wr(i,e){let t=i.state.changes(e),n=i.state.selection.main;i.dispatch({changes:e,selection:v.range(t.mapPos(n.anchor,1),t.mapPos(n.head,1)),userEvent:"input"})}function Mv(i){let e=/^\d+\.\s/,t=Wh(i.state,n=>{let r=n.every(o=>e.test(o.text)),s=1;return n.map(o=>{if(r){let a=o.text.match(e);return{from:o.from,to:o.from+a[0].length,insert:""}}return e.test(o.text)?null:{from:o.from,insert:`${s++}. `}}).filter(Boolean)});return t.length&&Wr(i,t),!0}function qh(i){let e=i.selection.main,t=i.doc.lineAt(e.from).number,n=i.doc.lineAt(e.empty?e.to:e.to-1).number;return Array.from({length:n-t+1},(r,s)=>i.doc.line(t+s))}function Jg(i){let e=/^([ \t]*(?:>[ \t]*)*)(?:([-+*]|\d+[.)])([ \t]+)(\[[ xX]\][ \t]+)?)?/.exec(i);return{prefix:e[0],indent:e[1],style:e[2]?e[4]?"task":/^\d/.test(e[2])?"ordered":"bullet":"none"}}function En(i,e,t){for(let n=B(i).resolve(e,1);n;n=n.parent)if(t.includes(n.name))return n;return null}function e0(i){return qh(i).filter(e=>!/^[ \t>]*$/.test(e.text)&&!En(i,e.from+e.text.search(/\S/),["FencedCode","CodeBlock"]))}function Wv(i,e){if(!["none","bullet","ordered","task"].includes(e))return!1;let t=e0(i.state).map((n,r)=>{let s=Jg(n.text);if(s.style===e)return null;let o=e==="none"?"":e==="bullet"?"- ":e==="task"?"- [ ] ":`${r+1}. `;return{from:n.from,to:n.from+s.prefix.length,insert:s.indent+o}}).filter(Boolean);return t.length&&Wr(i,t),i.focus(),!0}function Ki(i){return e=>{let t=Wh(e.state,n=>n.map(r=>{let s=r.text.match(/^(#{1,6})\s+/),a=(s?s[1].length:0)===i||i===0?"":"#".repeat(i)+" ";return{from:r.from,to:r.from+(s?s[0].length:0),insert:a}}));return e.dispatch({changes:t,userEvent:"input"}),!0}}function t0(i){let e={InlineCode:"code",FencedCode:"fenced",CodeBlock:"plain",Blockquote:"quote",Table:"table"};for(let t=B(i).resolve(i.selection.main.head,i.selection.main.empty?1:-1);t;t=t.parent)if(e[t.name])return{style:e[t.name],node:t};return{style:"none",node:null}}function jv(i,e,t=""){if(!["none","quote","code","plain","fenced","table"].includes(e))return!1;let n=i.state,r=n.selection.main,s=t0(n),o=s.node&&r.from>=s.node.from&&r.to<=s.node.to;if(e==="code"&&(!o||s.style==="code"))return s.style!=="code"&&At("`")(i),i.focus(),!0;if(e==="table"){let p=En(n,r.to,["FencedCode"]),m=p?p.to:n.doc.lineAt(r.to).to,g=(p&&p.lastChild?.name!=="CodeMark"?` `+n.sliceDoc(p.firstChild.from,p.firstChild.to):"")+` | Column 1 | Column 2 | | --- | --- | | | | -`;return i.dispatch({changes:{from:m,insert:g},selection:{anchor:m+g.length},userEvent:"input"}),i.focus(),!0}if(e===s.style&&o&&e!=="fenced")return!0;if(e==="quote"&&!o){let p=Zh(n).filter(m=>!En(n,m.from+Math.max(0,m.text.search(/\S/)),["Blockquote"])).map(m=>({from:m.from,insert:"> "}));return p.length&&Wr(i,p),i.focus(),!0}let a=Zh(n),l=a[0].from,c=a[a.length-1].to,h=n.sliceDoc(l,c),f=s.node;if(f&&r.from>=f.from&&r.to<=f.to&&(s.style!=="code"||e==="none")){if(l=s.style==="code"?f.from:n.doc.lineAt(f.from).from,c=f.to,h=n.sliceDoc(l,c),s.style==="fenced"){let p=n.doc.lineAt(f.from),m=n.doc.lineAt(f.to),b=f.lastChild?.name==="CodeMark";h=n.sliceDoc(Math.min(p.to+1,f.to),b?m.from:f.to).replace(/\n$/,"")}else if(s.style==="plain")h=h.replace(/^(?: {4}|\t)/gm,"");else if(s.style==="quote")h=h.replace(/^ {0,3}> ?/gm,"");else if(s.style==="code")h=n.sliceDoc(f.firstChild.to,f.lastChild.from);else if(s.style==="table"){let p=Eh(h);p&&(h=p.rows.map(m=>m.join(" ")).join(` +`;return i.dispatch({changes:{from:m,insert:g},selection:{anchor:m+g.length},userEvent:"input"}),i.focus(),!0}if(e===s.style&&o&&e!=="fenced")return!0;if(e==="quote"&&!o){let p=qh(n).filter(m=>!En(n,m.from+Math.max(0,m.text.search(/\S/)),["Blockquote"])).map(m=>({from:m.from,insert:"> "}));return p.length&&Wr(i,p),i.focus(),!0}let a=qh(n),l=a[0].from,c=a[a.length-1].to,h=n.sliceDoc(l,c),f=s.node;if(f&&r.from>=f.from&&r.to<=f.to&&(s.style!=="code"||e==="none")){if(l=s.style==="code"?f.from:n.doc.lineAt(f.from).from,c=f.to,h=n.sliceDoc(l,c),s.style==="fenced"){let p=n.doc.lineAt(f.from),m=n.doc.lineAt(f.to),b=f.lastChild?.name==="CodeMark";h=n.sliceDoc(Math.min(p.to+1,f.to),b?m.from:f.to).replace(/\n$/,"")}else if(s.style==="plain")h=h.replace(/^(?: {4}|\t)/gm,"");else if(s.style==="quote")h=h.replace(/^ {0,3}> ?/gm,"");else if(s.style==="code")h=n.sliceDoc(f.firstChild.to,f.lastChild.from);else if(s.style==="table"){let p=zh(h);p&&(h=p.rows.map(m=>m.join(" ")).join(` `))}}let u=h,O=0;if(e==="code"){h=h.replace(/\n/g," ");let p="`".repeat(Math.max(1,...(h.match(/`+/g)||[]).map(b=>b.length+1))),m=/^`|`$/.test(h)||/^ .* $/.test(h)&&/\S/.test(h)?" ":"";u=p+m+h+m+p,O=p.length+m.length}if(e==="quote"&&(u=h.split(` `).map(p=>"> "+p).join(` `),O=2),e==="plain"&&(u=h.split(` @@ -49,4 +49,4 @@ `),O=4),e==="fenced"){let p=h.match(/`+/g)||[],m="`".repeat(Math.max(3,...p.map(Q=>Q.length+1))),b=String(t).replace(/[^\w+-]/g,""),g=m+b+` `;u=g+h+` `+m,O=g.length}return e==="plain"&&l>0&&n.doc.lineAt(l-1).text.trim()&&(u=` -`+u,O++),i.dispatch({changes:{from:l,to:c,insert:u},selection:{anchor:l+O},userEvent:"input"}),i.focus(),!0}function jv(i){let e=i.state.selection.main,t=i.state.sliceDoc(e.from,e.to)||"text",n=`[${t}](url)`,r=e.from+t.length+3;return i.dispatch({changes:{from:e.from,to:e.to,insert:n},selection:v.range(r,r+3),userEvent:"input",scrollIntoView:!0}),!0}var Bg=_e.define();function Vv(i,e){let t=B(i).resolve(e,-1);for(;t;){if(t.name==="FencedCode")return t.from;t=t.parent}return null}var Dv=re.transactionFilter.of(i=>{if(!i.docChanged||!i.isUserEvent("input")||i.annotation(Bg))return i;let e=i.newSelection.main;if(!e.empty)return i;let t=i.newDoc.lineAt(e.head),n=e.head-t.from;if(t.text.slice(0,n)!=="```"||t.text.slice(n)!=="")return i;let r=!1,s=null;if(i.changes.iterChanges((l,c,h,f,u)=>{if(r||h>e.head||f=t.from+3,r&&(s=l)}),!r)return i;let o=i.startState.doc.lineAt(s),a=Vv(i.startState,s);return a!=null&&at.number&&(n=i.state.doc.line(n.number-1)),e.empty){let o=Co(i.state,e.head);if(o){let a=i.state.doc.lineAt(o.from),l=i.state.doc.lineAt(o.to);if(t.number>a.number&&(!o.closed||t.numbera)return zl(i)}return!0}let s=[];for(let o=t.number;o<=n.number;o++)s.push({from:i.state.doc.line(o).from,insert:" "});return Wr(i,s),!0}window.MDEditor={create(i,e,t){let n=t&&t.onDirty,r=t&&t.onPasteImage;Object.assign(dt,t&&t.spacing||{});let s=new E({parent:i,state:re.create({doc:e,extensions:[wO(),ki,GP,Eu(),E.lineWrapping,E.perLineTextDirection.of(!0),Rt.of(" "),_v,ym({content:Dc({base:bi,codeLanguages:Ug,extensions:qh})}),Ji,qn,vt,Rv,Av,Zv,NP,UP,lO({style:Hg.style,scope:m=>m.prop(bt)!==bi.data}),pt.lowest(Ev),zv,Dv,ld(),qi.of([{key:"Mod-b",run:At("**")},{key:"Mod-i",run:At("*")},{key:"Tab",run:Yv,shift:El},...fd,...Vc,...td,...TO]),E.updateListener.of(m=>{if(t?.onFormattingChange&&(m.selectionSet||m.docChanged||m.focusChanged||B(m.startState)!==B(m.state))&&(qe.has(s)?zn(s):t.onFormattingChange(Ah(m.state))),m.docChanged&&t?.onSearchChange){let b=m.state.field(ki);t.onSearchChange({index:b.index+1,total:b.matches.length})}m.docChanged&&n&&!m.transactions.some(b=>b.isUserEvent("rename"))&&n()}),E.domEventHandlers({paste(m,b){if(m.target instanceof Element&&m.target.closest(".cm-md-table-cell")||!Array.from(m.clipboardData?.items||[]).some(S=>String(S.type||"").toLowerCase().startsWith("image/"))||typeof r!="function")return!1;m.preventDefault();let Q=b.state.selection.main;return r(Q.from,Q.to),!0}})]})}),o=!!(t&&t.pageScrolling),a=o?document.scrollingElement:s.scrollDOM,l=o?window:a,c=null,h=0,f=null,u=()=>s.documentTop+a.scrollTop-(o?0:a.getBoundingClientRect().top),O=m=>{let b=s.lineBlockAt(m),g=0,Q=0;try{let S=s.domAtPos(m).node,x=S.nodeType===Node.ELEMENT_NODE?S:S.parentElement,P=x&&x.closest(".cm-line");if(P){let $=getComputedStyle(P);g=parseFloat($.paddingTop)||0,Q=parseFloat($.paddingBottom)||0}}catch{}return{top:b.top+g,height:Math.max(b.height-g-Q,1),sourceStart:s.state.doc.lineAt(b.from).number,sourceEnd:s.state.doc.lineAt(b.to).number+1}},p={bold:At("**"),italic:At("*"),strikethrough:At("~~"),highlight:At("=="),code:At("`"),h0:Ki(0),h1:Ki(1),h2:Ki(2),h3:Ki(3),h4:Ki(4),h5:Ki(5),h6:Ki(6),quote:Ph("> ",/^>\s?/),bulletList:Ph("- ",/^\s*[-*+]\s/),orderedList:Lv,taskList:Ph("- [ ] ",/^\s*[-*+]\s+\[[ xX]\]\s/),link:jv};return t?.onCopyCode&&Gg.set(s,t.onCopyCode),t?.onFormattingChange&&Lh.set(s,t.onFormattingChange),t?.onFormattingChange?.(Ah(s.state)),{getMarkdown:()=>s.state.doc.toString(),getBlockStyle:()=>qe.has(s)?"table":e0(s.state).style,setBlockStyle:(m,b)=>{if(qe.has(s)){if(m!=="code")return!1;let g=$o(s);return g?(At("`")(s),To(s,g),!0):!1}return Wv(s,m,b)},getListStyle:()=>{if(qe.has(s))return"none";let m=Jg(s.state).map(b=>Kg(b.text).style);return m.length?m.every(b=>b===m[0])?m[0]:"mixed":"none"},setListStyle:m=>!qe.has(s)&&Mv(s,m),getLinkSelection:(m=!1)=>{$o(s);let{from:b,to:g}=s.state.selection.main,Q=En(s.state,b,["Link"]);if(m&&Q&&g<=Q.to){let S=Q.getChildren("LinkMark");return{from:Q.from,to:Q.to,text:s.state.sliceDoc(S[0].to,S[1].from)}}return{from:b,to:g,text:s.state.sliceDoc(b,g)}},insertLinkFromPopover:(m,b,g,Q)=>{let S=String(b).trim();if(!S||/[\r\n]/.test(S)||g<0||Qs.state.doc.length)return!1;let x=En(s.state,g,["Link"]);if(x&&(g>x.from||Qg?En(s.state,Q-1,["Link"]):null;if(P&&(g>P.from||Q\\()]/g,k=>/[()]/.test(k)?"%"+k.charCodeAt(0).toString(16).toUpperCase():encodeURIComponent(k)),_=qe.get(s),W=`[${$}](${R})`,T=_?zh(W):W;return s.dispatch({changes:{from:g,to:Q,insert:T},selection:{anchor:g+T.length},userEvent:"input"}),_?To(s,_):s.focus(),!0},getHeadingLevel:()=>{if(qe.has(s))return 0;for(let m=B(s.state).resolveInner(s.state.selection.main.head,1);m;m=m.parent){let b=/^(?:ATX|Setext)Heading([1-6])$/.exec(m.name);if(b)return Number(b[1])}return 0},find:(m,b=!1,g=!1)=>{let Q=s.state.field(ki),S=Q.query===m&&Q.beginsWith===g,x=0;S&&Q.matches.length?x=(Q.index+(b?-1:1)+Q.matches.length)%Q.matches.length:b&&(x=Number.MAX_SAFE_INTEGER),s.dispatch({effects:Ao.of({query:m,beginsWith:g,index:x})});let P=s.state.field(ki),$=P.matches[P.index];return $&&(c=null,didUserScroll=!0,s.dispatch({effects:E.scrollIntoView($.from,{y:"center"})})),{index:P.index+1,total:P.matches.length}},isSyntaxReady:()=>tO(s.state,s.state.doc.length),replaceMarkdown:m=>{let b=String(m||""),g=b.length,Q=s.state.selection.main,S=Math.min(Q.anchor,g),x=Math.min(Q.head,g),P=a.scrollTop;s.dispatch({changes:{from:0,to:s.state.doc.length,insert:b},selection:{anchor:S,head:x},userEvent:"rename",annotations:de.addToHistory.of(!1)}),requestAnimationFrame(()=>{a.scrollTop=P,s.requestMeasure()})},insertTextAt:(m,b,g)=>{let Q=s.state.doc.length,S=Math.max(0,Math.min(Number(b)||0,Q)),x=Math.max(S,Math.min(Number(g)||S,Q));s.dispatch({changes:{from:S,to:x,insert:String(m||"")},selection:{anchor:S+String(m||"").length},userEvent:"input",scrollIntoView:!0}),s.focus()},focus:()=>s.focus(),getScrollAnchor:()=>{if(Number.isFinite(c)&&Math.abs(a.scrollTop-f)<=.5)return{position:c,gap:h||0};let m=a.scrollTop-u(),b=s.lineBlockAtHeight(m),g=s.state.doc.lineAt(b.from),Q=O(g.from),S=Q.height>0?Math.min(Math.max((m-Q.top)/Q.height,0),1):0,x=Math.max(Q.top-m,0);return{position:Q.sourceStart+S*(Q.sourceEnd-Q.sourceStart),gap:x}},setScrollPosition:(m,b,g)=>new Promise(Q=>{let x=Math.max(a.scrollHeight-a.clientHeight,0)*Math.min(Math.max(Number(m)||0,0),1),P=null,$=Number.isFinite(g)?Math.max(g,0):0;if(Number.isFinite(b)&&b>=1){let R=Math.min(Math.floor(b),s.state.doc.lines);if(P=s.state.doc.line(R).from,P!=null){let _=O(P),W=(b-_.sourceStart)/(_.sourceEnd-_.sourceStart);x=u()+_.top+_.height*W-$,s.dispatch({effects:E.scrollIntoView(P,{y:"start"})})}}requestAnimationFrame(()=>{let R=Math.max(a.scrollHeight-a.clientHeight,0);if(P!=null){let _=O(P),W=(b-_.sourceStart)/(_.sourceEnd-_.sourceStart);x=u()+_.top+_.height*W-$}else x=R*Math.min(Math.max(Number(m)||0,0),1);a.scrollTop=Math.min(Math.max(x,0),R),l.dispatchEvent(new Event("scroll")),s.requestMeasure(),requestAnimationFrame(()=>{c=Number.isFinite(b)?b:null,h=Number.isFinite(b)?$:0,f=a.scrollTop,Q(!0)})})}),select:(m,b=m)=>{qe.delete(s),s.dispatch({selection:{anchor:m,head:b},userEvent:"select.pointer"})},insert:m=>{let b=s.state.selection.main;s.state.facet(E.inputHandler).some(Q=>Q(s,b.from,b.to,m))||s.dispatch({changes:{from:b.from,to:b.to,insert:m},selection:{anchor:b.from+m.length},userEvent:"input"})},exec:m=>{let b=p[m];if(!b)return!1;if(qe.has(s)){if(!BP.has(m))return!1;let g=$o(s);return g?(b(s),To(s,g),!0):!1}return b(s),s.focus(),!0},performTableContextAction:(m,b)=>{if(!Lr||Lr.token!==m)return!1;let g=Lr;return Lr=null,g.perform(b),!0},destroy:()=>{s.destroy()}}}};})(); +`+u,O++),i.dispatch({changes:{from:l,to:c,insert:u},selection:{anchor:l+O},userEvent:"input"}),i.focus(),!0}function Vv(i){let e=i.state.selection.main,t=i.state.sliceDoc(e.from,e.to)||"text",n=`[${t}](url)`,r=e.from+t.length+3;return i.dispatch({changes:{from:e.from,to:e.to,insert:n},selection:v.range(r,r+3),userEvent:"input",scrollIntoView:!0}),!0}var Ug=$e.define();function Dv(i,e){let t=B(i).resolve(e,-1);for(;t;){if(t.name==="FencedCode")return t.from;t=t.parent}return null}var Yv=re.transactionFilter.of(i=>{if(!i.docChanged||!i.isUserEvent("input")||i.annotation(Ug))return i;let e=i.newSelection.main;if(!e.empty)return i;let t=i.newDoc.lineAt(e.head),n=e.head-t.from;if(t.text.slice(0,n)!=="```"||t.text.slice(n)!=="")return i;let r=!1,s=null;if(i.changes.iterChanges((l,c,h,f,u)=>{if(r||h>e.head||f=t.from+3,r&&(s=l)}),!r)return i;let o=i.startState.doc.lineAt(s),a=Dv(i.startState,s);return a!=null&&at.number&&(n=i.state.doc.line(n.number-1)),e.empty){let o=Co(i.state,e.head);if(o){let a=i.state.doc.lineAt(o.from),l=i.state.doc.lineAt(o.to);if(t.number>a.number&&(!o.closed||t.numbera)return Ll(i)}return!0}let s=[];for(let o=t.number;o<=n.number;o++)s.push({from:i.state.doc.line(o).from,insert:" "});return Wr(i,s),!0}window.MDEditor={create(i,e,t){let n=t&&t.onDirty,r=t&&t.onPasteImage;Object.assign(dt,t&&t.spacing||{});let s=new E({parent:i,state:re.create({doc:e,extensions:[PO(),ki,NP,zu(),E.lineWrapping,E.perLineTextDirection.of(!0),Rt.of(" "),Rv,km({content:Yc({base:bi,codeLanguages:Gg,extensions:Eh})}),Ji,qn,vt,Av,Zv,qv,FP,GP,cO({style:Kg.style,scope:m=>m.prop(bt)!==bi.data}),pt.lowest(zv),Lv,Yv,cd(),qi.of([{key:"Mod-b",run:At("**")},{key:"Mod-i",run:At("*")},{key:"Tab",run:Iv,shift:zl},...ud,...Dc,...id,...CO]),E.updateListener.of(m=>{if(t?.onFormattingChange&&(m.selectionSet||m.docChanged||m.focusChanged||B(m.startState)!==B(m.state))&&(ke.has(s)?zn(s):t.onFormattingChange(Zh(m.state))),m.docChanged&&t?.onSearchChange){let b=m.state.field(ki);t.onSearchChange({index:b.index+1,total:b.matches.length})}m.docChanged&&n&&!m.transactions.some(b=>b.isUserEvent("rename"))&&n()}),E.domEventHandlers({paste(m,b){if(m.target instanceof Element&&m.target.closest(".cm-md-table-cell")||!Array.from(m.clipboardData?.items||[]).some(S=>String(S.type||"").toLowerCase().startsWith("image/"))||typeof r!="function")return!1;m.preventDefault();let Q=b.state.selection.main;return r(Q.from,Q.to),!0}})]})}),o=!!(t&&t.pageScrolling),a=o?document.scrollingElement:s.scrollDOM,l=o?window:a,c=null,h=0,f=null,u=()=>s.documentTop+a.scrollTop-(o?0:a.getBoundingClientRect().top),O=m=>{let b=s.lineBlockAt(m),g=0,Q=0;try{let S=s.domAtPos(m).node,x=S.nodeType===Node.ELEMENT_NODE?S:S.parentElement,P=x&&x.closest(".cm-line");if(P){let $=getComputedStyle(P);g=parseFloat($.paddingTop)||0,Q=parseFloat($.paddingBottom)||0}}catch{}return{top:b.top+g,height:Math.max(b.height-g-Q,1),sourceStart:s.state.doc.lineAt(b.from).number,sourceEnd:s.state.doc.lineAt(b.to).number+1}},p={bold:At("**"),italic:At("*"),strikethrough:At("~~"),highlight:At("=="),code:At("`"),h0:Ki(0),h1:Ki(1),h2:Ki(2),h3:Ki(3),h4:Ki(4),h5:Ki(5),h6:Ki(6),quote:vh("> ",/^>\s?/),bulletList:vh("- ",/^\s*[-*+]\s/),orderedList:Mv,taskList:vh("- [ ] ",/^\s*[-*+]\s+\[[ xX]\]\s/),link:Vv};return t?.onCopyCode&&Ng.set(s,t.onCopyCode),t?.onFormattingChange&&Mh.set(s,t.onFormattingChange),t?.onFormattingChange?.(Zh(s.state)),{getMarkdown:()=>s.state.doc.toString(),getBlockStyle:()=>ke.has(s)?"table":t0(s.state).style,setBlockStyle:(m,b)=>{if(ke.has(s)){if(m!=="code")return!1;let g=$o(s);return g?(At("`")(s),To(s,g),!0):!1}return jv(s,m,b)},getListStyle:()=>{if(ke.has(s))return"none";let m=e0(s.state).map(b=>Jg(b.text).style);return m.length?m.every(b=>b===m[0])?m[0]:"mixed":"none"},setListStyle:m=>!ke.has(s)&&Wv(s,m),getLinkSelection:(m=!1)=>{if(ke.has(s)&&!$o(s))return null;let{from:b,to:g}=s.state.selection.main,Q=En(s.state,b,["Link"]);if(m&&Q&&g<=Q.to){let S=Q.getChildren("LinkMark");return{from:Q.from,to:Q.to,text:s.state.sliceDoc(S[0].to,S[1].from)}}return{from:b,to:g,text:s.state.sliceDoc(b,g)}},insertLinkFromPopover:(m,b,g,Q)=>{let S=String(b).trim();if(!S||/[\r\n]/.test(S)||g<0||Qs.state.doc.length)return!1;let x=En(s.state,g,["Link"]);if(x&&(g>x.from||Qg?En(s.state,Q-1,["Link"]):null;if(P&&(g>P.from||Q\\()]/g,k=>/[()]/.test(k)?"%"+k.charCodeAt(0).toString(16).toUpperCase():encodeURIComponent(k)),_=ke.get(s);if(_){let k=Ao(s,_);if(!k||gk.to)return!1}let W=`[${$}](${R})`,T=_?Lh(W):W;return s.dispatch({changes:{from:g,to:Q,insert:T},selection:{anchor:g+T.length},userEvent:"input"}),_?To(s,_):s.focus(),!0},getHeadingLevel:()=>{if(ke.has(s))return 0;for(let m=B(s.state).resolveInner(s.state.selection.main.head,1);m;m=m.parent){let b=/^(?:ATX|Setext)Heading([1-6])$/.exec(m.name);if(b)return Number(b[1])}return 0},find:(m,b=!1,g=!1)=>{let Q=s.state.field(ki),S=Q.query===m&&Q.beginsWith===g,x=0;S&&Q.matches.length?x=(Q.index+(b?-1:1)+Q.matches.length)%Q.matches.length:b&&(x=Number.MAX_SAFE_INTEGER),s.dispatch({effects:Zo.of({query:m,beginsWith:g,index:x})});let P=s.state.field(ki),$=P.matches[P.index];return $&&(c=null,didUserScroll=!0,s.dispatch({effects:E.scrollIntoView($.from,{y:"center"})})),{index:P.index+1,total:P.matches.length}},isSyntaxReady:()=>iO(s.state,s.state.doc.length),replaceMarkdown:m=>{let b=String(m||""),g=b.length,Q=s.state.selection.main,S=Math.min(Q.anchor,g),x=Math.min(Q.head,g),P=a.scrollTop;s.dispatch({changes:{from:0,to:s.state.doc.length,insert:b},selection:{anchor:S,head:x},userEvent:"rename",annotations:de.addToHistory.of(!1)}),requestAnimationFrame(()=>{a.scrollTop=P,s.requestMeasure()})},insertTextAt:(m,b,g)=>{let Q=s.state.doc.length,S=Math.max(0,Math.min(Number(b)||0,Q)),x=Math.max(S,Math.min(Number(g)||S,Q));s.dispatch({changes:{from:S,to:x,insert:String(m||"")},selection:{anchor:S+String(m||"").length},userEvent:"input",scrollIntoView:!0}),s.focus()},focus:()=>s.focus(),getScrollAnchor:()=>{if(Number.isFinite(c)&&Math.abs(a.scrollTop-f)<=.5)return{position:c,gap:h||0};let m=a.scrollTop-u(),b=s.lineBlockAtHeight(m),g=s.state.doc.lineAt(b.from),Q=O(g.from),S=Q.height>0?Math.min(Math.max((m-Q.top)/Q.height,0),1):0,x=Math.max(Q.top-m,0);return{position:Q.sourceStart+S*(Q.sourceEnd-Q.sourceStart),gap:x}},setScrollPosition:(m,b,g)=>new Promise(Q=>{let x=Math.max(a.scrollHeight-a.clientHeight,0)*Math.min(Math.max(Number(m)||0,0),1),P=null,$=Number.isFinite(g)?Math.max(g,0):0;if(Number.isFinite(b)&&b>=1){let R=Math.min(Math.floor(b),s.state.doc.lines);if(P=s.state.doc.line(R).from,P!=null){let _=O(P),W=(b-_.sourceStart)/(_.sourceEnd-_.sourceStart);x=u()+_.top+_.height*W-$,s.dispatch({effects:E.scrollIntoView(P,{y:"start"})})}}requestAnimationFrame(()=>{let R=Math.max(a.scrollHeight-a.clientHeight,0);if(P!=null){let _=O(P),W=(b-_.sourceStart)/(_.sourceEnd-_.sourceStart);x=u()+_.top+_.height*W-$}else x=R*Math.min(Math.max(Number(m)||0,0),1);a.scrollTop=Math.min(Math.max(x,0),R),l.dispatchEvent(new Event("scroll")),s.requestMeasure(),requestAnimationFrame(()=>{c=Number.isFinite(b)?b:null,h=Number.isFinite(b)?$:0,f=a.scrollTop,Q(!0)})})}),select:(m,b=m)=>{ke.delete(s),s.dispatch({selection:{anchor:m,head:b},userEvent:"select.pointer"})},insert:m=>{let b=s.state.selection.main;s.state.facet(E.inputHandler).some(Q=>Q(s,b.from,b.to,m))||s.dispatch({changes:{from:b.from,to:b.to,insert:m},selection:{anchor:b.from+m.length},userEvent:"input"})},exec:m=>{let b=p[m];if(!b)return!1;if(ke.has(s)){if(!UP.has(m))return!1;let g=$o(s);return g?(b(s),To(s,g),!0):!1}return b(s),s.focus(),!0},performTableContextAction:(m,b)=>{if(!Lr||Lr.token!==m)return!1;let g=Lr;return Lr=null,g.perform(b),!0},destroy:()=>{s.destroy()}}}};})(); diff --git a/scripts/editor-bundle/entry-cm.js b/scripts/editor-bundle/entry-cm.js index 48368d8b..cf45cd48 100644 --- a/scripts/editor-bundle/entry-cm.js +++ b/scripts/editor-bundle/entry-cm.js @@ -663,10 +663,12 @@ function renderTableCell(element, source) { // A table cell owns a native DOM selection, separate from CodeMirror's. // Remember it when the native formatting toolbar or link popover takes focus. const tableFormattingTargets = new WeakMap() +const tableCellCommit = Annotation.define() const tableFormattingCallbacks = new WeakMap() const tableInlineCommands = new Set(['bold', 'italic', 'strikethrough', 'highlight', 'code', 'link']) function tableCellSourceRange(view, target) { + if (target.invalid || target.tableFrom < 0 || target.tableFrom >= view.state.doc.length) return null const first = view.state.doc.lineAt(target.tableFrom) const lineNumber = first.number + (target.row === 0 ? 0 : target.row + 1) if (lineNumber > view.state.doc.lines) return null @@ -678,7 +680,7 @@ function tableCellSourceRange(view, target) { function captureTableSelection(view) { const target = tableFormattingTargets.get(view) - if (!target || target.element.dataset.tableEditing !== 'true') return + if (!target || target.invalid || target.element.dataset.tableEditing !== 'true') return const selection = window.getSelection() if (!selection?.anchorNode || !selection.focusNode || !target.element.contains(selection.anchorNode) || !target.element.contains(selection.focusNode)) return @@ -705,7 +707,7 @@ function captureTableSelection(view) { function prepareTableFormatting(view) { const target = tableFormattingTargets.get(view) - if (!target) return null + if (!target || target.invalid) return null captureTableSelection(view) // Blur commits any pending typing through the table's existing save path. if (target.element.dataset.tableEditing === 'true') target.element.blur() @@ -745,6 +747,15 @@ const tableFormattingSelection = ViewPlugin.fromClass(class { document.addEventListener('selectionchange', this.capture) view.dom.addEventListener('mousedown', this.clear, true) } + update(update) { + const target = tableFormattingTargets.get(this.view) + if (target && update.docChanged + && update.transactions.some(transaction => transaction.docChanged && !transaction.annotation(tableCellCommit))) { + // Keep a blocked target until the user explicitly selects a live cell or + // body position, rather than formatting CodeMirror's previous selection. + tableFormattingTargets.set(this.view, { ...target, invalid: true }) + } + } destroy() { document.removeEventListener('selectionchange', this.capture) this.view.dom.removeEventListener('mousedown', this.clear, true) @@ -795,7 +806,7 @@ class TableEditorWidget extends WidgetType { })) } - const applyModel = (focusTarget = null) => { + const applyModel = (focusTarget = null, commitsCell = false) => { const source = serializeTable(model) if (source === this.source) { if (focusTarget) { @@ -808,6 +819,7 @@ class TableEditorWidget extends WidgetType { active = null view.dispatch({ changes: { from: this.from, to: this.from + this.source.length, insert: source }, + annotations: commitsCell ? tableCellCommit.of(true) : [], userEvent: "input", }) if (focusTarget) focusCellAfterUpdate(focusTarget.row, focusTarget.column) @@ -972,16 +984,18 @@ class TableEditorWidget extends WidgetType { if (!active || active.element !== editor) return const value = editor.innerText || "" const changed = value !== model.rows[row][column] + || !tableCellSourceRange(view, { tableFrom: this.from, row, column }) model.rows[row][column] = value active = null delete editor.dataset.tableEditing renderTableCell(editor, model.rows[row][column]) - if (changed) applyModel() + if (changed) applyModel(null, true) }) editor.addEventListener("keydown", (event) => { if ((event.metaKey || event.ctrlKey) && ['b', 'i'].includes(event.key.toLowerCase())) { event.preventDefault() const target = prepareTableFormatting(view) + if (!target) return toggleInlineMark(event.key.toLowerCase() === 'b' ? '**' : '*')(view) if (target) restoreTableFormatting(view, target) return @@ -3024,7 +3038,9 @@ window.MDEditor = { }, setListStyle: style => !tableFormattingTargets.has(view) && applyListStyle(view, style), getLinkSelection: (expandLink = false) => { - prepareTableFormatting(view) + if (tableFormattingTargets.has(view) && !prepareTableFormatting(view)) { + return null + } const { from, to } = view.state.selection.main const link = enclosingNode(view.state, from, ['Link']) if (expandLink && link && to <= link.to) { @@ -3046,6 +3062,10 @@ window.MDEditor = { const target = destination.replace(/[\s<>\\()]/g, character => /[()]/.test(character) ? '%' + character.charCodeAt(0).toString(16).toUpperCase() : encodeURIComponent(character)) const tableTarget = tableFormattingTargets.get(view) + if (tableTarget) { + const range = tableCellSourceRange(view, tableTarget) + if (!range || from < range.from || to > range.to) return false + } const linkMarkdown = `[${label}](${target})` const insert = tableTarget ? escapedTableCell(linkMarkdown) : linkMarkdown view.dispatch({ changes: { from, to, insert }, selection: { anchor: from + insert.length }, userEvent: 'input' }) diff --git a/tests/swift-tests/Tests/MarkdownHelpersTests/EditorFormattingTests.swift b/tests/swift-tests/Tests/MarkdownHelpersTests/EditorFormattingTests.swift index 2a49b92d..0454f284 100644 --- a/tests/swift-tests/Tests/MarkdownHelpersTests/EditorFormattingTests.swift +++ b/tests/swift-tests/Tests/MarkdownHelpersTests/EditorFormattingTests.swift @@ -4,6 +4,73 @@ import XCTest @MainActor final class EditorFormattingTests: XCTestCase { + func testFormattingMissingTableCellsDoesNotTargetBodySelection() async throws { + let script = try TestVendor.script("md-preview/Vendor/CodeMirror/mdedit.min.js") + for command in ["bold", "keyboard", "link"] { + let source = "Before\n\n| First | Second |\n| --- | --- |\n| One |" + let editor = WebViewLayoutHarness(html: EditorHTML.render(markdown: source, editorJavaScript: script), + width: 650, isEditor: true, height: 400) + defer { editor.close() } + _ = try await editor.layout(texts: [], imageCount: 0) + let result = try await editor.webView.callAsyncJavaScript(""" + const api = window.__mdEditor; + api.select(0, 6); + const selector = '[data-table-row="1"][data-table-column="1"]'; + const cell = document.querySelector(selector); + cell.focus(); + cell.replaceChildren(document.createTextNode('')); + window.getSelection().setBaseAndExtent(cell.firstChild, 0, cell.firstChild, 0); + if (command === 'keyboard') { + cell.dispatchEvent(new KeyboardEvent('keydown', {key: 'b', metaKey: true, + bubbles: true, cancelable: true})); + } else if (command === 'link') { + const selected = api.getLinkSelection(); + api.insertLinkFromPopover('Link', 'https://example.com', selected.from, selected.to); + } else { + cell.blur(); + api.exec(command); + } + return {source: api.getMarkdown(), value: document.querySelector(selector).textContent}; + """, arguments: ["command": command], in: nil, contentWorld: .page) as? [String: Any] + XCTAssertTrue((result?["source"] as? String)?.hasPrefix("Before\n\n") == true, command) + XCTAssertEqual(result?["value"] as? String, + command == "link" ? "[Link](https://example.com)" : "****", command) + } + } + + func testTableFormattingRejectsTargetAfterDocumentReplacement() async throws { + let script = try TestVendor.script("md-preview/Vendor/CodeMirror/mdedit.min.js") + let source = "Before\n\n| Name |\n| --- |\n| Ada |" + let editor = WebViewLayoutHarness(html: EditorHTML.render(markdown: source, editorJavaScript: script), + width: 650, isEditor: true, height: 400) + defer { editor.close() } + _ = try await editor.layout(texts: [], imageCount: 0) + let result = try await editor.webView.evaluateJavaScript(""" + (() => { + const api = window.__mdEditor; + api.select(0, 6); + const cell = document.querySelector('[data-table-row="1"]'); + cell.focus(); + window.getSelection().setBaseAndExtent(cell.firstChild, 0, cell.firstChild, 3); + const oldLink = api.getLinkSelection(); + const replacement = 'Updated before\\n\\n| Name |\\n| --- |\\n| Grace |'; + api.replaceMarkdown(replacement); + api.exec('bold'); + const rejectedBold = api.getMarkdown() === replacement; + const rejectedLink = api.insertLinkFromPopover('Ada', 'https://example.com', oldLink.from, oldLink.to) === false; + const selected = api.getLinkSelection(); + const untouched = api.getMarkdown() === replacement; + api.select(0, 7); + api.exec('italic'); + const resumed = api.getMarkdown().startsWith('*Updated* before'); + return {rejectedBold, rejectedLink, invalidSelection: selected === null, untouched, resumed}; + })() + """) as? [String: Any] + for key in ["rejectedBold", "rejectedLink", "invalidSelection", "untouched", "resumed"] { + XCTAssertEqual(result?[key] as? Bool, true, key) + } + } + func testTableClickAnchorsBeforeRevealingSyntax() async throws { let script = try TestVendor.script("md-preview/Vendor/CodeMirror/mdedit.min.js") for cell in ["**target words**", "*target words*", "~~target words~~", diff --git a/tests/swift-tests/Tests/MarkdownHelpersTests/MdPreviewUpdateTests.swift b/tests/swift-tests/Tests/MarkdownHelpersTests/MdPreviewUpdateTests.swift index e34e5b2d..6d9b2e46 100644 --- a/tests/swift-tests/Tests/MarkdownHelpersTests/MdPreviewUpdateTests.swift +++ b/tests/swift-tests/Tests/MarkdownHelpersTests/MdPreviewUpdateTests.swift @@ -260,6 +260,21 @@ final class MdPreviewUpdateTests: XCTestCase { @MainActor func testReaderTablesAndTasksStayReadOnlyAcrossUpdates() async throws { let webView = try await loadHarness(articleAttributes: "", stubsWebKitMessageHandler: true) + let pasteboard = NSPasteboard.general + let savedItems = (pasteboard.pasteboardItems ?? []).map { item in + let copy = NSPasteboardItem() + for type in item.types { + if let data = item.data(forType: type) { copy.setData(data, forType: type) } + } + return copy + } + var copiedChangeCount: Int? + defer { + if pasteboard.changeCount == copiedChangeCount { + pasteboard.clearContents() + pasteboard.writeObjects(savedItems) + } + } let article = MarkdownHTML.render(markdown: """ | Name | Value | | --- | --- | @@ -301,12 +316,6 @@ final class MdPreviewUpdateTests: XCTestCase { selection.removeAllRanges(); selection.addRange(range); const selectedText = selection.toString(); - const copied = {}; - const copy = new Event('copy', { bubbles: true, cancelable: true }); - Object.defineProperty(copy, 'clipboardData', { - value: { setData(type, value) { copied[type] = value; } } - }); - cell.dispatchEvent(copy); return JSON.stringify({ unchanged: table.outerHTML === before, stableHeight: table.getBoundingClientRect().height === height, @@ -317,7 +326,6 @@ final class MdPreviewUpdateTests: XCTestCase { contextPrevented: context.defaultPrevented, pastePrevented: paste.defaultPrevented, selectedText, - copiedText: copied['text/plain'] || selectedText, link: table.querySelector('a').getAttribute('href'), mutations: window.__hostMessages.filter(message => ['tableEdit', 'tableContextMenu', 'taskCheckbox'].includes(message.kind)).length @@ -335,7 +343,16 @@ final class MdPreviewUpdateTests: XCTestCase { XCTAssertEqual(state["editorCount"] as? Int, 0, json) XCTAssertEqual(state["mutations"] as? Int, 0, json) XCTAssertEqual(state["selectedText"] as? String, "Ada", json) - XCTAssertEqual(state["copiedText"] as? String, "Ada", json) + pasteboard.clearContents() + copiedChangeCount = pasteboard.changeCount + XCTAssertTrue(webView.responds(to: NSSelectorFromString("copy:"))) + webView.perform(NSSelectorFromString("copy:"), with: nil) + for _ in 0..<100 { + if pasteboard.changeCount != copiedChangeCount { break } + try await Task.sleep(for: .milliseconds(10)) + } + copiedChangeCount = pasteboard.changeCount + XCTAssertEqual(pasteboard.string(forType: .string), "Ada", "\(path): native clipboard") XCTAssertEqual(state["link"] as? String, "https://example.com", json) } } From 4cc486fa2d20c80be4c0cab225b2c17f209fa695 Mon Sep 17 00:00:00 2001 From: Fauzaan Date: Mon, 28 Sep 2026 12:21:14 +0000 Subject: [PATCH 08/16] Wait for native clipboard text before asserting copy output --- .../Tests/MarkdownHelpersTests/MdPreviewUpdateTests.swift | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tests/swift-tests/Tests/MarkdownHelpersTests/MdPreviewUpdateTests.swift b/tests/swift-tests/Tests/MarkdownHelpersTests/MdPreviewUpdateTests.swift index 6d9b2e46..a0b52201 100644 --- a/tests/swift-tests/Tests/MarkdownHelpersTests/MdPreviewUpdateTests.swift +++ b/tests/swift-tests/Tests/MarkdownHelpersTests/MdPreviewUpdateTests.swift @@ -347,8 +347,9 @@ final class MdPreviewUpdateTests: XCTestCase { copiedChangeCount = pasteboard.changeCount XCTAssertTrue(webView.responds(to: NSSelectorFromString("copy:"))) webView.perform(NSSelectorFromString("copy:"), with: nil) + // WebKit can change pasteboard ownership before its text arrives. for _ in 0..<100 { - if pasteboard.changeCount != copiedChangeCount { break } + if pasteboard.string(forType: .string) != nil { break } try await Task.sleep(for: .milliseconds(10)) } copiedChangeCount = pasteboard.changeCount From bfc58bc147344d3ad931943fe8205c9e26e33419 Mon Sep 17 00:00:00 2001 From: Fauzaan Date: Mon, 28 Sep 2026 12:27:30 +0000 Subject: [PATCH 09/16] Keep task marker editable until its closing bracket is typed --- README.md | 2 +- md-preview/Vendor/CodeMirror/mdedit.min.js | 64 +++++++++---------- scripts/editor-bundle/entry-cm.js | 12 +++- .../EditorFormattingTests.swift | 41 ++++++++++++ 4 files changed, 83 insertions(+), 36 deletions(-) diff --git a/README.md b/README.md index 9d99ed37..7f662ccf 100644 --- a/README.md +++ b/README.md @@ -70,7 +70,7 @@ Or grab the latest signed and notarized DMG from the [Releases](https://github.c - **Native rendering** — `WKWebView` pipeline backed by [swift-markdown](https://github.com/swiftlang/swift-markdown), with heading anchors and link handling. Bare `http://` and `https://` URLs are clickable in the app and Quick Look previews. - **Read Mode** — select and copy text, follow links, and browse tables without changing the document. Switch to Edit Mode to edit tables or toggle task checkboxes. -- **Edit Mode** — edit Markdown in place with a formatting toolbar for headings, emphasis, lists, quotes, code, and links. Table cells show inline formatting until focused, then reveal their Markdown syntax for editing. Task markers become checkboxes as you type; Enter continues a task list, and Enter on an empty task exits it. Toggle it from the toolbar or with ⌘E, then save with ⌘S. +- **Edit Mode** — edit Markdown in place with a formatting toolbar for headings, emphasis, lists, quotes, code, and links. Table cells show inline formatting until focused, then reveal their Markdown syntax for editing. Task markers become checkboxes once you finish typing the closing bracket; Enter continues a task list, and Enter on an empty task exits it. Toggle it from the toolbar or with ⌘E, then save with ⌘S. - **Mermaid diagrams** — fenced `mermaid` code blocks render as diagrams in both the app and Quick Look previews, using a bundled renderer so previews work offline without a CDN request. - **Math equations** — LaTeX inline (`$x_1 + x_2$`), display (`$$\int_0^1 x^2\,dx$$`), and fenced `math` blocks render with a bundled KaTeX. Selecting a rendered formula and copying yields the original LaTeX source (via the official `copy-tex` extension). - **Document outline** — sidebar TOC that mirrors your headings; click to jump. diff --git a/md-preview/Vendor/CodeMirror/mdedit.min.js b/md-preview/Vendor/CodeMirror/mdedit.min.js index 907b6a32..6b64aedb 100644 --- a/md-preview/Vendor/CodeMirror/mdedit.min.js +++ b/md-preview/Vendor/CodeMirror/mdedit.min.js @@ -1,52 +1,52 @@ -(()=>{var qo=[],Gh=[];(()=>{let i="lc,34,7n,7,7b,19,,,,2,,2,,,20,b,1c,l,g,,2t,7,2,6,2,2,,4,z,,u,r,2j,b,1m,9,9,,o,4,,9,,3,,5,17,3,3b,f,,w,1j,,,,4,8,4,,3,7,a,2,t,,1m,,,,2,4,8,,9,,a,2,q,,2,2,1l,,4,2,4,2,2,3,3,,u,2,3,,b,2,1l,,4,5,,2,4,,k,2,m,6,,,1m,,,2,,4,8,,7,3,a,2,u,,1n,,,,c,,9,,14,,3,,1l,3,5,3,,4,7,2,b,2,t,,1m,,2,,2,,3,,5,2,7,2,b,2,s,2,1l,2,,,2,4,8,,9,,a,2,t,,20,,4,,2,3,,,8,,29,,2,7,c,8,2q,,2,9,b,6,22,2,r,,,,,,1j,e,,5,,2,5,b,,10,9,,2u,4,,6,,2,2,2,p,2,4,3,g,4,d,,2,2,6,,f,,jj,3,qa,3,t,3,t,2,u,2,1s,2,,7,8,,2,b,9,,19,3,3b,2,y,,3a,3,4,2,9,,6,3,63,2,2,,1m,,,7,,,,,2,8,6,a,2,,1c,h,1r,4,1c,7,,,5,,14,9,c,2,w,4,2,2,,3,1k,,,2,3,,,3,1m,8,2,2,48,3,,d,,7,4,,6,,3,2,5i,1m,,5,ek,,5f,x,2da,3,3x,,2o,w,fe,6,2x,2,n9w,4,,a,w,2,28,2,7k,,3,,4,,p,2,5,,47,2,q,i,d,,12,8,p,b,1a,3,1c,,2,4,2,2,13,,1v,6,2,2,2,2,c,,8,,1b,,1f,,,3,2,2,5,2,,,16,2,8,,6m,,2,,4,,fn4,,kh,g,g,g,a6,2,gt,,6a,,45,5,1ae,3,,2,5,4,14,3,4,,4l,2,fx,4,ar,2,49,b,4w,,1i,f,1k,3,1d,4,2,2,1x,3,10,5,,8,1q,,c,2,1g,9,a,4,2,,2n,3,2,,,2,6,,4g,,3,8,l,2,1l,2,,,,,m,,e,7,3,5,5f,8,2,3,,,n,,29,,2,6,,,2,,,2,,2,6j,,2,4,6,2,,2,r,2,2d,8,2,,,2,2y,,,,2,6,,,2t,3,2,4,,5,77,9,,2,6t,,a,2,,,4,,40,4,2,2,4,,w,a,14,6,2,4,8,,9,6,2,3,1a,d,,2,ba,7,,6,,,2a,m,2,7,,2,,2,3e,6,3,,,2,,7,,,20,2,3,,,,9n,2,f0b,5,1n,7,t4,,1r,4,29,,f5k,2,43q,,,3,4,5,8,8,2,7,u,4,44,3,1iz,1j,4,1e,8,,e,,m,5,,f,11s,7,,h,2,7,,2,,5,79,7,c5,4,15s,7,31,7,240,5,gx7k,2o,3k,6o".split(",").map(e=>e?parseInt(e,36):1);for(let e=0,t=0;e>1;if(i=Gh[n])e=n+1;else return!0;if(e==t)return!1}}function Ih(i){return i>=127462&&i<=127487}var Bh=8205;function Nh(i,e,t=!0,n=!0){return(t?Fh:a0)(i,e,n)}function Fh(i,e,t){if(e==i.length)return e;e&&Hh(i.charCodeAt(e))&&Kh(i.charCodeAt(e-1))&&e--;let n=Eo(i,e);for(e+=Uh(n);e=0&&Ih(Eo(i,o));)s++,o-=2;if(s%2==0)break;e+=2}else break}return e}function a0(i,e,t){for(;e>1;){let n=Fh(i,e-2,t);if(n=56320&&i<57344}function Kh(i){return i>=55296&&i<56320}function Uh(i){return i<65536?1:2}var K=class i{lineAt(e){if(e<0||e>this.length)throw new RangeError(`Invalid position ${e} in document of length ${this.length}`);return this.lineInner(e,!1,1,0)}line(e){if(e<1||e>this.lines)throw new RangeError(`Invalid line number ${e} in ${this.lines}-line document`);return this.lineInner(e,!0,1,0)}replace(e,t,n){[e,t]=sn(this,e,t);let r=[];return this.decompose(0,e,r,2),n.length&&n.decompose(0,n.length,r,3),this.decompose(t,this.length,r,1),tn.from(r,this.length-(t-e)+n.length)}append(e){return this.replace(this.length,this.length,e)}slice(e,t=this.length){[e,t]=sn(this,e,t);let n=[];return this.decompose(e,t,n,0),tn.from(n,t-e)}eq(e){if(e==this)return!0;if(e.length!=this.length||e.lines!=this.lines)return!1;let t=this.scanIdentical(e,1),n=this.length-this.scanIdentical(e,-1),r=new Ci(this),s=new Ci(e);for(let o=t,a=t;;){if(r.next(o),s.next(o),o=0,r.lineBreak!=s.lineBreak||r.done!=s.done||r.value!=s.value)return!1;if(a+=r.value.length,r.done||a>=n)return!0}}iter(e=1){return new Ci(this,e)}iterRange(e,t=this.length){return new Ir(this,e,t)}iterLines(e,t){let n;if(e==null)n=this.iter();else{t==null&&(t=this.lines+1);let r=this.line(e).from;n=this.iterRange(r,Math.max(r,t==this.lines+1?this.length:t<=1?0:this.line(t-1).to))}return new Br(n)}toString(){return this.sliceString(0)}toJSON(){let e=[];return this.flatten(e),e}constructor(){}static of(e){if(e.length==0)throw new RangeError("A document must have at least one line");return e.length==1&&!e[0]?i.empty:e.length<=32?new Ge(e):tn.from(Ge.split(e,[]))}},Ge=class i extends K{constructor(e,t=l0(e)){super(),this.text=e,this.length=t}get lines(){return this.text.length}get children(){return null}lineInner(e,t,n,r){for(let s=0;;s++){let o=this.text[s],a=r+o.length;if((t?n:a)>=e)return new Lo(r,a,n,o);r=a+1,n++}}decompose(e,t,n,r){let s=e<=0&&t>=this.length?this:new i(Jh(this.text,e,t),Math.min(t,this.length)-Math.max(0,e));if(r&1){let o=n.pop(),a=Yr(s.text,o.text.slice(),0,s.length);if(a.length<=32)n.push(new i(a,o.length+s.length));else{let l=a.length>>1;n.push(new i(a.slice(0,l)),new i(a.slice(l)))}}else n.push(s)}replace(e,t,n){if(!(n instanceof i))return super.replace(e,t,n);[e,t]=sn(this,e,t);let r=Yr(this.text,Yr(n.text,Jh(this.text,0,e)),t),s=this.length+n.length-(t-e);return r.length<=32?new i(r,s):tn.from(i.split(r,[]),s)}sliceString(e,t=this.length,n=` -`){[e,t]=sn(this,e,t);let r="";for(let s=0,o=0;s<=t&&oe&&o&&(r+=n),es&&(r+=a.slice(Math.max(0,e-s),t-s)),s=l+1}return r}flatten(e){for(let t of this.text)e.push(t)}scanIdentical(){return 0}static split(e,t){let n=[],r=-1;for(let s of e)n.push(s),r+=s.length+1,n.length==32&&(t.push(new i(n,r)),n=[],r=-1);return r>-1&&t.push(new i(n,r)),t}},tn=class i extends K{constructor(e,t){super(),this.children=e,this.length=t,this.lines=0;for(let n of e)this.lines+=n.lines}lineInner(e,t,n,r){for(let s=0;;s++){let o=this.children[s],a=r+o.length,l=n+o.lines-1;if((t?l:a)>=e)return o.lineInner(e,t,n,r);r=a+1,n=l+1}}decompose(e,t,n,r){for(let s=0,o=0;o<=t&&s=o){let c=r&((o<=e?1:0)|(l>=t?2:0));o>=e&&l<=t&&!c?n.push(a):a.decompose(e-o,t-o,n,c)}o=l+1}}replace(e,t,n){if([e,t]=sn(this,e,t),n.lines=s&&t<=a){let l=o.replace(e-s,t-s,n),c=this.lines-o.lines+l.lines;if(l.lines>4&&l.lines>c>>6){let h=this.children.slice();return h[r]=l,new i(h,this.length-(t-e)+n.length)}return super.replace(s,a,l)}s=a+1}return super.replace(e,t,n)}sliceString(e,t=this.length,n=` -`){[e,t]=sn(this,e,t);let r="";for(let s=0,o=0;se&&s&&(r+=n),eo&&(r+=a.sliceString(e-o,t-o,n)),o=l+1}return r}flatten(e){for(let t of this.children)t.flatten(e)}scanIdentical(e,t){if(!(e instanceof i))return 0;let n=0,[r,s,o,a]=t>0?[0,0,this.children.length,e.children.length]:[this.children.length-1,e.children.length-1,-1,-1];for(;;r+=t,s+=t){if(r==o||s==a)return n;let l=this.children[r],c=e.children[s];if(l!=c)return n+l.scanIdentical(c,t);n+=l.length+1}}static from(e,t=e.reduce((n,r)=>n+r.length+1,-1)){let n=0;for(let O of e)n+=O.lines;if(n<32){let O=[];for(let p of e)p.flatten(O);return new Ge(O,t)}let r=Math.max(32,n>>5),s=r<<1,o=r>>1,a=[],l=0,c=-1,h=[];function f(O){let p;if(O.lines>s&&O instanceof i)for(let m of O.children)f(m);else O.lines>o&&(l>o||!l)?(u(),a.push(O)):O instanceof Ge&&l&&(p=h[h.length-1])instanceof Ge&&O.lines+p.lines<=32?(l+=O.lines,c+=O.length+1,h[h.length-1]=new Ge(p.text.concat(O.text),p.length+1+O.length)):(l+O.lines>r&&u(),l+=O.lines,c+=O.length+1,h.push(O))}function u(){l!=0&&(a.push(h.length==1?h[0]:i.from(h,c)),c=-1,l=h.length=0)}for(let O of e)f(O);return u(),a.length==1?a[0]:new i(a,t)}};K.empty=new Ge([""],0);function l0(i){let e=-1;for(let t of i)e+=t.length+1;return e}function Yr(i,e,t=0,n=1e9){for(let r=0,s=0,o=!0;s=t&&(l>n&&(a=a.slice(0,n-r)),r0?1:(e instanceof Ge?e.text.length:e.children.length)<<1]}nextInner(e,t){for(this.done=this.lineBreak=!1;;){let n=this.nodes.length-1,r=this.nodes[n],s=this.offsets[n],o=s>>1,a=r instanceof Ge?r.text.length:r.children.length;if(o==(t>0?a:0)){if(n==0)return this.done=!0,this.value="",this;t>0&&this.offsets[n-1]++,this.nodes.pop(),this.offsets.pop()}else if((s&1)==(t>0?0:1)){if(this.offsets[n]+=t,e==0)return this.lineBreak=!0,this.value=` -`,this;e--}else if(r instanceof Ge){let l=r.text[o+(t<0?-1:0)];if(this.offsets[n]+=t,l.length>Math.max(0,e))return this.value=e==0?l:t>0?l.slice(e):l.slice(0,l.length-e),this;e-=l.length}else{let l=r.children[o+(t<0?-1:0)];e>l.length?(e-=l.length,this.offsets[n]+=t):(t<0&&this.offsets[n]--,this.nodes.push(l),this.offsets.push(t>0?1:(l instanceof Ge?l.text.length:l.children.length)<<1))}}}next(e=0){return e<0&&(this.nextInner(-e,-this.dir),e=this.value.length),this.nextInner(e,this.dir)}},Ir=class{constructor(e,t,n){this.value="",this.done=!1,this.cursor=new Ci(e,t>n?-1:1),this.pos=t>n?e.length:0,this.from=Math.min(t,n),this.to=Math.max(t,n)}nextInner(e,t){if(t<0?this.pos<=this.from:this.pos>=this.to)return this.value="",this.done=!0,this;e+=Math.max(0,t<0?this.pos-this.to:this.from-this.pos);let n=t<0?this.pos-this.from:this.to-this.pos;e>n&&(e=n),n-=e;let{value:r}=this.cursor.next(e);return this.pos+=(r.length+e)*t,this.value=r.length<=n?r:t<0?r.slice(r.length-n):r.slice(0,n),this.done=!this.value,this}next(e=0){return e<0?e=Math.max(e,this.from-this.pos):e>0&&(e=Math.min(e,this.to-this.pos)),this.nextInner(e,this.cursor.dir)}get lineBreak(){return this.cursor.lineBreak&&this.value!=""}},Br=class{constructor(e){this.inner=e,this.afterBreak=!0,this.value="",this.done=!1}next(e=0){let{done:t,lineBreak:n,value:r}=this.inner.next(e);return t&&this.afterBreak?(this.value="",this.afterBreak=!1):t?(this.done=!0,this.value=""):n?this.afterBreak?this.value="":(this.afterBreak=!0,this.next()):(this.value=r,this.afterBreak=!1),this}get lineBreak(){return!1}};typeof Symbol<"u"&&(K.prototype[Symbol.iterator]=function(){return this.iter()},Ci.prototype[Symbol.iterator]=Ir.prototype[Symbol.iterator]=Br.prototype[Symbol.iterator]=function(){return this});var Lo=class{constructor(e,t,n,r){this.from=e,this.to=t,this.number=n,this.text=r}get length(){return this.to-this.from}};function sn(i,e,t){return e=Math.max(0,Math.min(i.length,e)),[e,Math.max(e,Math.min(i.length,t))]}function xe(i,e,t=!0,n=!0){return Nh(i,e,t,n)}function c0(i){return i>=56320&&i<57344}function h0(i){return i>=55296&&i<56320}function si(i,e){let t=i.charCodeAt(e);if(!h0(t)||e+1==i.length)return t;let n=i.charCodeAt(e+1);return c0(n)?(t-55296<<10)+(n-56320)+65536:t}function sf(i){return i<=65535?String.fromCharCode(i):(i-=65536,String.fromCharCode((i>>10)+55296,(i&1023)+56320))}function on(i){return i<65536?1:2}var Mo=/\r\n?|\n/,ge=(function(i){return i[i.Simple=0]="Simple",i[i.TrackDel=1]="TrackDel",i[i.TrackBefore=2]="TrackBefore",i[i.TrackAfter=3]="TrackAfter",i})(ge||(ge={})),zt=class i{constructor(e){this.sections=e}get length(){let e=0;for(let t=0;te)return s+(e-r);s+=a}else{if(n!=ge.Simple&&c>=e&&(n==ge.TrackDel&&re||n==ge.TrackBefore&&re))return null;if(c>e||c==e&&t<0&&!a)return e==r||t<0?s:s+l;s+=l}r=c}if(e>r)throw new RangeError(`Position ${e} is out of range for changeset of length ${r}`);return s}touchesRange(e,t=e){for(let n=0,r=0;n=0&&r<=t&&a>=e)return rt?"cover":!0;r=a}return!1}toString(){let e="";for(let t=0;t=0?":"+r:"")}return e}toJSON(){return this.sections}static fromJSON(e){if(!Array.isArray(e)||e.length%2||e.some(t=>typeof t!="number"))throw new RangeError("Invalid JSON representation of ChangeDesc");return new i(e)}static create(e){return new i(e)}},qe=class i extends zt{constructor(e,t){super(e),this.inserted=t}apply(e){if(this.length!=e.length)throw new RangeError("Applying change set to a document with the wrong length");return Wo(this,(t,n,r,s,o)=>e=e.replace(r,r+(n-t),o),!1),e}mapDesc(e,t=!1){return jo(this,e,t,!0)}invert(e){let t=this.sections.slice(),n=[];for(let r=0,s=0;r=0){t[r]=a,t[r+1]=o;let l=r>>1;for(;n.length0&&ri(n,t,s.text),s.forward(h),a+=h}let c=e[o++];for(;a>1].toJSON()))}return e}static of(e,t,n){let r=[],s=[],o=0,a=null;function l(h=!1){if(!h&&!r.length)return;ou||f<0||u>t)throw new RangeError(`Invalid change range ${f} to ${u} (in doc of length ${t})`);let p=O?typeof O=="string"?K.of(O.split(n||Mo)):O:K.empty,m=p.length;if(f==u&&m==0)return;fo&&Re(r,f-o,-1),Re(r,u-f,m),ri(s,r,p),o=u}}return c(e),l(!a),a}static empty(e){return new i(e?[e,-1]:[],[])}static fromJSON(e){if(!Array.isArray(e))throw new RangeError("Invalid JSON representation of ChangeSet");let t=[],n=[];for(let r=0;ra&&typeof o!="string"))throw new RangeError("Invalid JSON representation of ChangeSet");if(s.length==1)t.push(s[0],0);else{for(;n.length=0&&t<=0&&t==i[r+1]?i[r]+=e:r>=0&&e==0&&i[r]==0?i[r+1]+=t:n?(i[r]+=e,i[r+1]+=t):i.push(e,t)}function ri(i,e,t){if(t.length==0)return;let n=e.length-2>>1;if(n>1])),!(t||o==i.sections.length||i.sections[o+1]<0);)a=i.sections[o++],l=i.sections[o++];e(r,c,s,h,f),r=c,s=h}}}function jo(i,e,t,n=!1){let r=[],s=n?[]:null,o=new Xi(i),a=new Xi(e);for(let l=-1;;){if(o.done&&a.len||a.done&&o.len)throw new Error("Mismatched change set lengths");if(o.ins==-1&&a.ins==-1){let c=Math.min(o.len,a.len);Re(r,c,-1),o.forward(c),a.forward(c)}else if(a.ins>=0&&(o.ins<0||l==o.i||o.off==0&&(a.len=0&&l=0){let c=0,h=o.len;for(;h;)if(a.ins==-1){let f=Math.min(h,a.len);c+=f,h-=f,a.forward(f)}else if(a.ins==0&&a.lenl||o.ins>=0&&o.len>l)&&(a||n.length>c),s.forward2(l),o.forward(l)}}}}var Xi=class{constructor(e){this.set=e,this.i=0,this.next()}next(){let{sections:e}=this.set;this.i>1;return t>=e.length?K.empty:e[t]}textBit(e){let{inserted:t}=this.set,n=this.i-2>>1;return n>=t.length&&!e?K.empty:t[n].slice(this.off,e==null?void 0:this.off+e)}forward(e){e==this.len?this.next():(this.len-=e,this.off+=e)}forward2(e){this.ins==-1?this.forward(e):e==this.ins?this.next():(this.ins-=e,this.off+=e)}},vi=class i{constructor(e,t,n,r){this.from=e,this.to=t,this.flags=n,this.goalColumn=r}get anchor(){return this.flags&32?this.to:this.from}get head(){return this.flags&32?this.from:this.to}get empty(){return this.from==this.to}get assoc(){return this.flags&8?-1:this.flags&16?1:0}get undirectional(){return(this.flags&64)>0}get bidiLevel(){let e=this.flags&7;return e==7?null:e}map(e,t=-1){let n,r;return this.empty?n=r=e.mapPos(this.from,t):(n=e.mapPos(this.from,1),r=e.mapPos(this.to,-1)),n==this.from&&r==this.to?this:new i(n,r,this.flags,this.goalColumn)}extend(e,t=e,n=0){if(e<=this.anchor&&t>=this.anchor)return P.range(e,t,void 0,void 0,n);let r=Math.abs(e-this.anchor)>Math.abs(t-this.anchor)?e:t;return P.range(this.anchor,r,void 0,void 0,n)}eq(e,t=!1){return this.anchor==e.anchor&&this.head==e.head&&this.goalColumn==e.goalColumn&&(!t||!this.empty||this.assoc==e.assoc)}toJSON(){return{anchor:this.anchor,head:this.head}}static fromJSON(e){if(!e||typeof e.anchor!="number"||typeof e.head!="number")throw new RangeError("Invalid JSON representation for SelectionRange");return P.range(e.anchor,e.head)}static create(e,t,n,r){return new i(e,t,n,r)}},P=class i{constructor(e,t){this.ranges=e,this.mainIndex=t}map(e,t=-1){return e.empty?this:i.create(this.ranges.map(n=>n.map(e,t)),this.mainIndex)}eq(e,t=!1){if(this.ranges.length!=e.ranges.length||this.mainIndex!=e.mainIndex)return!1;for(let n=0;ne.toJSON()),main:this.mainIndex}}static fromJSON(e){if(!e||!Array.isArray(e.ranges)||typeof e.main!="number"||e.main>=e.ranges.length)throw new RangeError("Invalid JSON representation for EditorSelection");return new i(e.ranges.map(t=>vi.fromJSON(t)),e.main)}static single(e,t=e){return new i([i.range(e,t)],0)}static create(e,t=0){if(e.length==0)throw new RangeError("A selection needs at least one range");for(let n=0,r=0;rr.from-s.from),t=e.indexOf(n);for(let r=1;rs.head?i.range(l,a):i.range(a,l))}}return new i(e,t)}};function af(i,e){for(let t of i.ranges)if(t.to>e)throw new RangeError("Selection points outside of document")}var Ho=0,Y=class i{constructor(e,t,n,r,s){this.combine=e,this.compareInput=t,this.compare=n,this.isStatic=r,this.id=Ho++,this.default=e([]),this.extensions=typeof s=="function"?s(this):s}get reader(){return this}static define(e={}){return new i(e.combine||(t=>t),e.compareInput||((t,n)=>t===n),e.compare||(e.combine?(t,n)=>t===n:Ko),!!e.static,e.enables)}of(e){return new nn([],this,0,e)}compute(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new nn(e,this,1,t)}computeN(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new nn(e,this,2,t)}from(e,t){return t||(t=n=>n),this.compute([e],n=>t(n.field(e)))}};function Ko(i,e){return i==e||i.length==e.length&&i.every((t,n)=>t===e[n])}var nn=class{constructor(e,t,n,r){this.dependencies=e,this.facet=t,this.type=n,this.value=r,this.id=Ho++}dynamicSlot(e){var t;let n=this.value,r=this.facet.compareInput,s=this.id,o=e[s]>>1,a=this.type==2,l=!1,c=!1,h=[];for(let f of this.dependencies)f=="doc"?l=!0:f=="selection"?c=!0:(((t=e[f.id])!==null&&t!==void 0?t:1)&1)==0&&h.push(e[f.id]);return{create(f){return f.values[o]=n(f),1},update(f,u){if(l&&u.docChanged||c&&(u.docChanged||u.selection)||Vo(f,h)){let O=n(f);if(a?!ef(O,f.values[o],r):!r(O,f.values[o]))return f.values[o]=O,1}return 0},reconfigure:(f,u)=>{let O,p=u.config.address[s];if(p!=null){let m=Fr(u,p);if(this.dependencies.every(b=>b instanceof Y?u.facet(b)===f.facet(b):b instanceof he?u.field(b,!1)==f.field(b,!1):!0)||(a?ef(O=n(f),m,r):r(O=n(f),m)))return f.values[o]=m,0}else O=n(f);return f.values[o]=O,1}}}get extension(){return this}};function ef(i,e,t){if(i.length!=e.length)return!1;for(let n=0;ni[l.id]),r=t.map(l=>l.type),s=n.filter(l=>!(l&1)),o=i[e.id]>>1;function a(l){let c=[];for(let h=0;hn===r),e);return e.provide&&(t.provides=e.provide(t)),t}create(e){let t=e.facet(jr).find(n=>n.field==this);return(t?.create||this.createF)(e)}slot(e){let t=e[this.id]>>1;return{create:n=>(n.values[t]=this.create(n),1),update:(n,r)=>{let s=n.values[t],o=this.updateF(s,r);return this.compareF(s,o)?0:(n.values[t]=o,1)},reconfigure:(n,r)=>{let s=n.facet(jr),o=r.facet(jr),a;return(a=s.find(l=>l.field==this))&&a!=o.find(l=>l.field==this)?(n.values[t]=a.create(n),1):r.config.address[this.id]!=null?(n.values[t]=r.field(this),0):(n.values[t]=this.create(n),1)}}}init(e){return[this,jr.of({field:this,create:e})]}get extension(){return this}},$i={lowest:4,low:3,default:2,high:1,highest:0};function Mn(i){return e=>new Ur(e,i)}var nt={highest:Mn($i.highest),high:Mn($i.high),default:Mn($i.default),low:Mn($i.low),lowest:Mn($i.lowest)},Ur=class{constructor(e,t){this.inner=e,this.prec=t}get extension(){return this}},Gr=class i{of(e){return new jn(this,e)}reconfigure(e){return i.reconfigure.of({compartment:this,extension:e})}get(e){return e.config.compartments.get(this)}},jn=class{constructor(e,t){this.compartment=e,this.inner=t}get extension(){return this}},Nr=class i{constructor(e,t,n,r,s,o){for(this.base=e,this.compartments=t,this.dynamicSlots=n,this.address=r,this.staticValues=s,this.facets=o,this.statusTemplate=[];this.statusTemplate.length>1]}static resolve(e,t,n){let r=[],s=Object.create(null),o=new Map;for(let u of u0(e,t,o))u instanceof he?r.push(u):(s[u.facet.id]||(s[u.facet.id]=[])).push(u);let a=Object.create(null),l=[],c=[];for(let u of r)a[u.id]=c.length<<1,c.push(O=>u.slot(O));let h=n?.config.facets;for(let u in s){let O=s[u],p=O[0].facet,m=h&&h[u]||[];if(O.every(b=>b.type==0))if(a[p.id]=l.length<<1|1,Ko(m,O))l.push(n.facet(p));else{let b=p.combine(O.map(g=>g.value));l.push(n&&p.compare(b,n.facet(p))?n.facet(p):b)}else{for(let b of O)b.type==0?(a[b.id]=l.length<<1|1,l.push(b.value)):(a[b.id]=c.length<<1,c.push(g=>b.dynamicSlot(g)));a[p.id]=c.length<<1,c.push(b=>f0(b,p,O))}}let f=c.map(u=>u(a));return new i(e,o,f,a,l,s)}};function u0(i,e,t){let n=[[],[],[],[],[]],r=new Map;function s(o,a){let l=r.get(o);if(l!=null){if(l<=a)return;let c=n[l].indexOf(o);c>-1&&n[l].splice(c,1),o instanceof jn&&t.delete(o.compartment)}if(r.set(o,a),Array.isArray(o))for(let c of o)s(c,a);else if(o instanceof jn){if(t.has(o.compartment))throw new RangeError("Duplicate use of compartment in extensions");let c=e.get(o.compartment)||o.inner;t.set(o.compartment,c),s(c,a)}else if(o instanceof Ur)s(o.inner,o.prec);else if(o instanceof he)n[a].push(o),o.provides&&s(o.provides,a);else if(o instanceof nn)n[a].push(o),o.facet.extensions&&s(o.facet.extensions,$i.default);else{let c=o.extension;if(!c)throw new Error(`Unrecognized extension value in extension set (${o}).`);if(c==o)throw new Error(`Unrecognized extension value in extension set (${o}). This sometimes happens because multiple instances of @codemirror/state are loaded, breaking instanceof checks.`);s(c,a)}}return s(i,$i.default),n.reduce((o,a)=>o.concat(a))}function Wn(i,e){if(e&1)return 2;let t=e>>1,n=i.status[t];if(n==4)throw new Error("Cyclic dependency between fields and/or facets");if(n&2)return n;i.status[t]=4;let r=i.computeSlot(i,i.config.dynamicSlots[t]);return i.status[t]=2|r}function Fr(i,e){return e&1?i.config.staticValues[e>>1]:i.values[e>>1]}var lf=Y.define(),Do=Y.define({combine:i=>i.some(e=>e),static:!0}),cf=Y.define({combine:i=>i.length?i[0]:void 0,static:!0}),hf=Y.define(),ff=Y.define(),uf=Y.define(),Of=Y.define({combine:i=>i.length?i[0]:!1}),$e=class{constructor(e,t){this.type=e,this.value=t}static define(){return new Yo}},Yo=class{of(e){return new $e(this,e)}},Io=class{constructor(e){this.map=e}of(e){return new te(this,e)}},te=class i{constructor(e,t){this.type=e,this.value=t}map(e){let t=this.type.map(this.value,e);return t===void 0?void 0:t==this.value?this:new i(this.type,t)}is(e){return this.type==e}static define(e={}){return new Io(e.map||(t=>t))}static mapEffects(e,t){if(!e.length)return e;let n=[];for(let r of e){let s=r.map(t);s&&n.push(s)}return n}};te.reconfigure=te.define();te.appendConfig=te.define();var pe=class i{constructor(e,t,n,r,s,o){this.startState=e,this.changes=t,this.selection=n,this.effects=r,this.annotations=s,this.scrollIntoView=o,this._doc=null,this._state=null,n&&af(n,t.newLength),s.some(a=>a.type==i.time)||(this.annotations=s.concat(i.time.of(Date.now())))}static create(e,t,n,r,s,o){return new i(e,t,n,r,s,o)}get newDoc(){return this._doc||(this._doc=this.changes.apply(this.startState.doc))}get newSelection(){return this.selection||this.startState.selection.map(this.changes)}get state(){return this._state||this.startState.applyTransaction(this),this._state}annotation(e){for(let t of this.annotations)if(t.type==e)return t.value}get docChanged(){return!this.changes.empty}get reconfigured(){return this.startState.config!=this.state.config}isUserEvent(e){let t=this.annotation(i.userEvent);return!!(t&&(t==e||t.length>e.length&&t.slice(0,e.length)==e&&t[e.length]=="."))}};pe.time=$e.define();pe.userEvent=$e.define();pe.addToHistory=$e.define();pe.remote=$e.define();function O0(i,e){let t=[];for(let n=0,r=0;;){let s,o;if(n=i[n]))s=i[n++],o=i[n++];else if(r=0;r--){let s=n[r](i);s instanceof pe?i=s:Array.isArray(s)&&s.length==1&&s[0]instanceof pe?i=s[0]:i=pf(e,rn(s),!1)}return i}function p0(i){let e=i.startState,t=e.facet(uf),n=i;for(let r=t.length-1;r>=0;r--){let s=t[r](i);s&&Object.keys(s).length&&(n=df(n,Bo(e,s,i.changes.newLength),!0))}return n==i?i:pe.create(e,i.changes,i.selection,n.effects,n.annotations,n.scrollIntoView)}var m0=[];function rn(i){return i==null?m0:Array.isArray(i)?i:[i]}var Ee=(function(i){return i[i.Word=0]="Word",i[i.Space=1]="Space",i[i.Other=2]="Other",i})(Ee||(Ee={})),g0=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/,Uo;try{Uo=new RegExp("[\\p{Alphabetic}\\p{Number}_]","u")}catch{}function Q0(i){if(Uo)return Uo.test(i);for(let e=0;e"\x80"&&(t.toUpperCase()!=t.toLowerCase()||g0.test(t)))return!0}return!1}function b0(i){return e=>{if(!/\S/.test(e))return Ee.Space;if(Q0(e))return Ee.Word;for(let t=0;t-1)return Ee.Word;return Ee.Other}}var se=class i{constructor(e,t,n,r,s,o){this.config=e,this.doc=t,this.selection=n,this.values=r,this.status=e.statusTemplate.slice(),this.computeSlot=s,o&&(o._state=this);for(let a=0;ar.set(c,l)),t=null),r.set(a.value.compartment,a.value.extension)):a.is(te.reconfigure)?(t=null,n=a.value):a.is(te.appendConfig)&&(t=null,n=rn(n).concat(a.value));let s;t?s=e.startState.values.slice():(t=Nr.resolve(n,r,this),s=new i(t,this.doc,this.selection,t.dynamicSlots.map(()=>null),(l,c)=>c.reconfigure(l,this),null).values);let o=e.startState.facet(Do)?e.newSelection:e.newSelection.asSingle();new i(t,e.newDoc,o,s,(a,l)=>l.update(a,e),e)}replaceSelection(e){return typeof e=="string"&&(e=this.toText(e)),this.changeByRange(t=>({changes:{from:t.from,to:t.to,insert:e},range:P.cursor(t.from+e.length)}))}changeByRange(e){let t=this.selection,n=e(t.ranges[0]),r=this.changes(n.changes),s=[n.range],o=rn(n.effects);for(let a=1;ao.spec.fromJSON(a,l)))}}return i.create({doc:e.doc,selection:P.fromJSON(e.selection),extensions:t.extensions?r.concat([t.extensions]):r})}static create(e={}){let t=Nr.resolve(e.extensions||[],new Map),n=e.doc instanceof K?e.doc:K.of((e.doc||"").split(t.staticFacet(i.lineSeparator)||Mo)),r=e.selection?e.selection instanceof P?e.selection:P.single(e.selection.anchor,e.selection.head):P.single(0);return af(r,n.length),t.staticFacet(Do)||(r=r.asSingle()),new i(t,n,r,t.dynamicSlots.map(()=>null),(s,o)=>o.create(s),null)}get tabSize(){return this.facet(i.tabSize)}get lineBreak(){return this.facet(i.lineSeparator)||` -`}get readOnly(){return this.facet(Of)}phrase(e,...t){for(let n of this.facet(i.phrases))if(Object.prototype.hasOwnProperty.call(n,e)){e=n[e];break}return t.length&&(e=e.replace(/\$(\$|\d*)/g,(n,r)=>{if(r=="$")return"$";let s=+(r||1);return!s||s>t.length?n:t[s-1]})),e}languageDataAt(e,t,n=-1){let r=[];for(let s of this.facet(lf))for(let o of s(this,t,n))Object.prototype.hasOwnProperty.call(o,e)&&r.push(o[e]);return r}charCategorizer(e){let t=this.languageDataAt("wordChars",e);return b0(t.length?t[0]:"")}wordAt(e){let{text:t,from:n,length:r}=this.doc.lineAt(e),s=this.charCategorizer(e),o=e-n,a=e-n;for(;o>0;){let l=xe(t,o,!1);if(s(t.slice(l,o))!=Ee.Word)break;o=l}for(;ai.length?i[0]:4});se.lineSeparator=cf;se.readOnly=Of;se.phrases=Y.define({compare(i,e){let t=Object.keys(i),n=Object.keys(e);return t.length==n.length&&t.every(r=>i[r]==e[r])}});se.languageData=lf;se.changeFilter=hf;se.transactionFilter=ff;se.transactionExtender=uf;Gr.reconfigure=te.define();function Yn(i,e,t={}){let n={};for(let r of i)for(let s of Object.keys(r)){let o=r[s],a=n[s];if(a===void 0)n[s]=o;else if(!(a===o||o===void 0))if(Object.hasOwnProperty.call(t,s))n[s]=t[s](a,o);else throw new Error("Config merge conflict for field "+s)}for(let r in e)n[r]===void 0&&(n[r]=e[r]);return n}var it=class{eq(e){return this==e}range(e,t=e){return Vn.create(e,t,this)}};it.prototype.startSide=it.prototype.endSide=0;it.prototype.point=!1;it.prototype.mapMode=ge.TrackDel;function Jo(i,e){return i==e||i.constructor==e.constructor&&i.eq(e)}var Vn=class i{constructor(e,t,n){this.from=e,this.to=t,this.value=n}static create(e,t,n){return new i(e,t,n)}};function Go(i,e){return i.from-e.from||i.value.startSide-e.value.startSide}var No=class i{constructor(e,t,n,r){this.from=e,this.to=t,this.value=n,this.maxPoint=r}get length(){return this.to[this.to.length-1]}findIndex(e,t,n,r=0){let s=n?this.to:this.from;for(let o=r,a=s.length;;){if(o==a)return o;let l=o+a>>1,c=s[l]-e||(n?this.value[l].endSide:this.value[l].startSide)-t;if(l==o)return c>=0?o:a;c>=0?a=l:o=l+1}}between(e,t,n,r){for(let s=this.findIndex(t,-1e9,!0),o=this.findIndex(n,1e9,!1,s);sO||u==O&&c.startSide>0&&c.endSide<=0)continue;(O-u||c.endSide-c.startSide)<0||(o<0&&(o=u),c.point&&(a=Math.max(a,O-u)),n.push(c),r.push(u-o),s.push(O-o))}return{mapped:n.length?new i(r,s,n,a):null,pos:o}}},ae=class i{constructor(e,t,n,r){this.chunkPos=e,this.chunk=t,this.nextLayer=n,this.maxPoint=r}static create(e,t,n,r){return new i(e,t,n,r)}get length(){let e=this.chunk.length-1;return e<0?0:Math.max(this.chunkEnd(e),this.nextLayer.length)}get size(){if(this.isEmpty)return 0;let e=this.nextLayer.size;for(let t of this.chunk)e+=t.value.length;return e}chunkEnd(e){return this.chunkPos[e]+this.chunk[e].length}update(e){let{add:t=[],sort:n=!1,filterFrom:r=0,filterTo:s=this.length}=e,o=e.filter;if(t.length==0&&!o)return this;if(n&&(t=t.slice().sort(Go)),this.isEmpty)return t.length?i.of(t):this;let a=new Hr(this,null,-1).goto(0),l=0,c=[],h=new _i;for(;a.value||l=0){let f=t[l++];h.addInner(f.from,f.to,f.value)||c.push(f)}else a.rangeIndex==1&&a.chunkIndexthis.chunkEnd(a.chunkIndex)||sa.to||s=s&&e<=s+o.length&&o.between(s,e-s,t-s,n)===!1)return}this.nextLayer.between(e,t,n)}}iter(e=0){return Dn.from([this]).goto(e)}get isEmpty(){return this.nextLayer==this}static iter(e,t=0){return Dn.from(e).goto(t)}static compare(e,t,n,r,s=-1){let o=e.filter(f=>f.maxPoint>0||!f.isEmpty&&f.maxPoint>=s),a=t.filter(f=>f.maxPoint>0||!f.isEmpty&&f.maxPoint>=s),l=tf(o,a,n),c=new Ti(o,l,s),h=new Ti(a,l,s);n.iterGaps((f,u,O)=>nf(c,f,h,u,O,r)),n.empty&&n.length==0&&nf(c,0,h,0,0,r)}static eq(e,t,n=0,r){r==null&&(r=999999999);let s=e.filter(h=>!h.isEmpty&&t.indexOf(h)<0),o=t.filter(h=>!h.isEmpty&&e.indexOf(h)<0);if(s.length!=o.length)return!1;if(!s.length)return!0;let a=tf(s,o),l=new Ti(s,a,0).goto(n),c=new Ti(o,a,0).goto(n);for(;;){if(l.to!=c.to||!Fo(l.active,c.active)||l.point&&(!c.point||!Jo(l.point,c.point)))return!1;if(l.to>r)return!0;l.next(),c.next()}}static spans(e,t,n,r,s=-1){let o=new Ti(e,null,s).goto(t),a=t,l=o.openStart;for(;;){let c=Math.min(o.to,n);if(o.point){let h=o.activeForPoint(o.to),f=o.pointFroma&&(r.span(a,c,o.active,l),l=o.openEnd(c));if(o.to>n)return l+(o.point&&o.to>n?1:0);a=o.to,o.next()}}static of(e,t=!1){let n=new _i;for(let r of e instanceof Vn?[e]:t?S0(e):e)n.add(r.from,r.to,r.value);return n.finish()}static join(e){if(!e.length)return i.empty;let t=e[e.length-1];for(let n=e.length-2;n>=0;n--)for(let r=e[n];r!=i.empty;r=r.nextLayer)t=new i(r.chunkPos,r.chunk,t,Math.max(r.maxPoint,t.maxPoint));return t}};ae.empty=new ae([],[],null,-1);function S0(i){if(i.length>1)for(let e=i[0],t=1;t0)return i.slice().sort(Go);e=n}return i}ae.empty.nextLayer=ae.empty;var _i=class i{finishChunk(e){this.chunks.push(new No(this.from,this.to,this.value,this.maxPoint)),this.chunkPos.push(this.chunkStart),this.chunkStart=-1,this.setMaxPoint=Math.max(this.setMaxPoint,this.maxPoint),this.maxPoint=-1,e&&(this.from=[],this.to=[],this.value=[])}constructor(){this.chunks=[],this.chunkPos=[],this.chunkStart=-1,this.last=null,this.lastFrom=-1e9,this.lastTo=-1e9,this.from=[],this.to=[],this.value=[],this.maxPoint=-1,this.setMaxPoint=-1,this.nextLayer=null}add(e,t,n){this.addInner(e,t,n)||(this.nextLayer||(this.nextLayer=new i)).add(e,t,n)}addInner(e,t,n){let r=e-this.lastTo||n.startSide-this.last.endSide;if(r<=0&&(e-this.lastFrom||n.startSide-this.last.startSide)<0)throw new Error("Ranges must be added sorted by `from` position and `startSide`");return r<0?!1:(this.from.length==250&&this.finishChunk(!0),this.chunkStart<0&&(this.chunkStart=e),this.from.push(e-this.chunkStart),this.to.push(t-this.chunkStart),this.last=n,this.lastFrom=e,this.lastTo=t,this.value.push(n),n.point&&(this.maxPoint=Math.max(this.maxPoint,t-e)),!0)}addChunk(e,t){if((e-this.lastTo||t.value[0].startSide-this.last.endSide)<0)return!1;this.from.length&&this.finishChunk(!0),this.setMaxPoint=Math.max(this.setMaxPoint,t.maxPoint),this.chunks.push(t),this.chunkPos.push(e);let n=t.value.length-1;return this.last=t.value[n],this.lastFrom=t.from[n]+e,this.lastTo=t.to[n]+e,!0}finish(){return this.finishInner(ae.empty)}finishInner(e){if(this.from.length&&this.finishChunk(!1),this.chunks.length==0)return e;let t=ae.create(this.chunkPos,this.chunks,this.nextLayer?this.nextLayer.finishInner(e):e,this.setMaxPoint);return this.from=null,t}};function tf(i,e,t){let n=new Map;for(let s of i)for(let o=0;o=this.minPoint)break}}setRangeIndex(e){if(e==this.layer.chunk[this.chunkIndex].value.length){if(this.chunkIndex++,this.skip)for(;this.chunkIndex=n&&r.push(new Hr(o,t,n,s));return r.length==1?r[0]:new i(r)}get startSide(){return this.value?this.value.startSide:0}goto(e,t=-1e9){for(let n of this.heap)n.goto(e,t);for(let n=this.heap.length>>1;n>=0;n--)zo(this.heap,n);return this.next(),this}forward(e,t){for(let n of this.heap)n.forward(e,t);for(let n=this.heap.length>>1;n>=0;n--)zo(this.heap,n);(this.to-e||this.value.endSide-t)<0&&this.next()}next(){if(this.heap.length==0)this.from=this.to=1e9,this.value=null,this.rank=-1;else{let e=this.heap[0];this.from=e.from,this.to=e.to,this.value=e.value,this.rank=e.rank,e.value&&e.next(),zo(this.heap,0)}}};function zo(i,e){for(let t=i[e];;){let n=(e<<1)+1;if(n>=i.length)break;let r=i[n];if(n+1=0&&(r=i[n+1],n++),t.compare(r)<0)break;i[n]=t,i[e]=r,e=n}}var Ti=class{constructor(e,t,n){this.minPoint=n,this.active=[],this.activeTo=[],this.activeRank=[],this.minActive=-1,this.point=null,this.pointFrom=0,this.pointRank=0,this.to=-1e9,this.endSide=0,this.openStart=-1,this.cursor=Dn.from(e,t,n)}goto(e,t=-1e9){return this.cursor.goto(e,t),this.active.length=this.activeTo.length=this.activeRank.length=0,this.minActive=-1,this.to=e,this.endSide=t,this.openStart=-1,this.next(),this}forward(e,t){for(;this.minActive>-1&&(this.activeTo[this.minActive]-e||this.active[this.minActive].endSide-t)<0;)this.removeActive(this.minActive);this.cursor.forward(e,t)}removeActive(e){Vr(this.active,e),Vr(this.activeTo,e),Vr(this.activeRank,e),this.minActive=rf(this.active,this.activeTo)}addActive(e){let t=0,{value:n,to:r,rank:s}=this.cursor;for(;t0;)t++;Dr(this.active,t,n),Dr(this.activeTo,t,r),Dr(this.activeRank,t,s),e&&Dr(e,t,this.cursor.from),this.minActive=rf(this.active,this.activeTo)}next(){let e=this.to,t=this.point;this.point=null;let n=this.openStart<0?[]:null;for(;;){let r=this.minActive;if(r>-1&&(this.activeTo[r]-this.cursor.from||this.active[r].endSide-this.cursor.startSide)<0){if(this.activeTo[r]>e){this.to=this.activeTo[r],this.endSide=this.active[r].endSide;break}this.removeActive(r),n&&Vr(n,r)}else if(this.cursor.value)if(this.cursor.from>e){this.to=this.cursor.from,this.endSide=this.cursor.startSide;break}else{let s=this.cursor.value;if(!s.point)this.addActive(n),this.cursor.next();else if(t&&this.cursor.to==this.to&&this.cursor.from=0&&n[r]=0&&!(this.activeRank[n]e||this.activeTo[n]==e&&this.active[n].endSide>=this.point.endSide)&&t.push(this.active[n]);return t.reverse()}openEnd(e){let t=0;for(let n=this.activeTo.length-1;n>=0&&this.activeTo[n]>e;n--)t++;return t}};function nf(i,e,t,n,r,s){i.goto(e),t.goto(n);let o=n+r,a=n,l=n-e,c=!!s.boundChange;for(let h=!1;;){let f=i.to+l-t.to,u=f||i.endSide-t.endSide,O=u<0?i.to+l:t.to,p=Math.min(O,o);if(i.point||t.point?(i.point&&t.point&&Jo(i.point,t.point)&&Fo(i.activeForPoint(i.to),t.activeForPoint(t.to))||s.comparePoint(a,p,i.point,t.point),h=!1):(h&&s.boundChange(a),p>a&&!Fo(i.active,t.active)&&s.compareRange(a,p,i.active,t.active),c&&po)break;a=O,u<=0&&i.next(),u>=0&&t.next()}}function Fo(i,e){if(i.length!=e.length)return!1;for(let t=0;t=e;n--)i[n+1]=i[n];i[e]=t}function rf(i,e){let t=-1,n=1e9;for(let r=0;r=e)return r;if(r==i.length)break;s+=i.charCodeAt(r)==9?t-s%t:1,r=xe(i,r)}return n===!0?-1:i.length}var gf=typeof Symbol>"u"?"__\u037C":Symbol.for("\u037C"),ea=typeof Symbol>"u"?"__styleSet"+Math.floor(Math.random()*1e8):Symbol("styleSet"),Qf=typeof globalThis<"u"?globalThis:typeof window<"u"?window:{},rt=class{constructor(e,t){this.rules=[];let{finish:n}=t||{};function r(o){return/^@/.test(o)?[o]:o.split(/,\s*/)}function s(o,a,l,c){let h=[],f=/^@(\w+)\b/.exec(o[0]),u=f&&f[1]=="keyframes";if(f&&a==null)return l.push(o[0]+";");for(let O in a){let p=a[O];if(/&/.test(O))s(O.split(/,\s*/).map(m=>o.map(b=>m.replace(/&/,b))).reduce((m,b)=>m.concat(b)),p,l);else if(p&&typeof p=="object"){if(!f)throw new RangeError("The value of a property ("+O+") should be a primitive value.");s(r(O),p,h,u)}else p!=null&&h.push(O.replace(/_.*/,"").replace(/[A-Z]/g,m=>"-"+m.toLowerCase())+": "+p+";")}(h.length||u)&&l.push((n&&!f&&!c?o.map(n):o).join(", ")+" {"+h.join(" ")+"}")}for(let o in e)s(r(o),e[o],this.rules)}getRules(){return this.rules.join(` -`)}static newName(){let e=Qf[gf]||1;return Qf[gf]=e+1,"\u037C"+e.toString(36)}static mount(e,t,n){let r=e[ea],s=n&&n.nonce;r?s&&r.setNonce(s):r=new ta(e,s),r.mount(Array.isArray(t)?t:[t],e)}},bf=new Map,ta=class{constructor(e,t){let n=e.ownerDocument||e,r=n.defaultView;if(!e.head&&e.adoptedStyleSheets&&r.CSSStyleSheet){let s=bf.get(n);if(s)return e[ea]=s;this.sheet=new r.CSSStyleSheet,bf.set(n,this)}else this.styleTag=n.createElement("style"),t&&this.styleTag.setAttribute("nonce",t);this.modules=[],e[ea]=this}mount(e,t){let n=this.sheet,r=0,s=0;for(let o=0;o-1&&(this.modules.splice(l,1),s--,l=-1),l==-1){if(this.modules.splice(s++,0,a),n)for(let c=0;c",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},y0=typeof navigator<"u"&&/Mac/.test(navigator.platform),k0=typeof navigator<"u"&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent);for(be=0;be<10;be++)Lt[48+be]=Lt[96+be]=String(be);var be;for(be=1;be<=24;be++)Lt[be+111]="F"+be;var be;for(be=65;be<=90;be++)Lt[be]=String.fromCharCode(be+32),an[be]=String.fromCharCode(be);var be;for(Kr in Lt)an.hasOwnProperty(Kr)||(an[Kr]=Lt[Kr]);var Kr;function Sf(i){var e=y0&&i.metaKey&&i.shiftKey&&!i.ctrlKey&&!i.altKey||k0&&i.shiftKey&&i.key&&i.key.length==1||i.key=="Unidentified",t=!e&&i.key||(i.shiftKey?an:Lt)[i.keyCode]||i.key||"Unidentified";return t=="Esc"&&(t="Escape"),t=="Del"&&(t="Delete"),t=="Left"&&(t="ArrowLeft"),t=="Up"&&(t="ArrowUp"),t=="Right"&&(t="ArrowRight"),t=="Down"&&(t="ArrowDown"),t}var ze=typeof navigator<"u"?navigator:{userAgent:"",vendor:"",platform:""},aa=typeof document<"u"?document:{documentElement:{style:{}}},la=/Edge\/(\d+)/.exec(ze.userAgent),Gf=/MSIE \d/.test(ze.userAgent),ca=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(ze.userAgent),Ss=!!(Gf||ca||la),yf=!Ss&&/gecko\/(\d+)/i.test(ze.userAgent),ia=!Ss&&/Chrome\/(\d+)/.exec(ze.userAgent),kf="webkitFontSmoothing"in aa.documentElement.style,ha=!Ss&&/Apple Computer/.test(ze.vendor),xf=ha&&(/Mobile\/\w+/.test(ze.userAgent)||ze.maxTouchPoints>2),L={mac:xf||/Mac/.test(ze.platform),windows:/Win/.test(ze.platform),linux:/Linux|X11/.test(ze.platform),ie:Ss,ie_version:Gf?aa.documentMode||6:ca?+ca[1]:la?+la[1]:0,gecko:yf,gecko_version:yf?+(/Firefox\/(\d+)/.exec(ze.userAgent)||[0,0])[1]:0,chrome:!!ia,chrome_version:ia?+ia[1]:0,ios:xf,android:/Android\b/.test(ze.userAgent),webkit:kf,webkit_version:kf?+(/\bAppleWebKit\/(\d+)/.exec(ze.userAgent)||[0,0])[1]:0,safari:ha,safari_version:ha?+(/\bVersion\/(\d+(\.\d+)?)/.exec(ze.userAgent)||[0,0])[1]:0,tabSize:aa.documentElement.style.tabSize!=null?"tab-size":"-moz-tab-size"};function Ia(i,e){for(let t in i)t=="class"&&e.class?e.class+=" "+i.class:t=="style"&&e.style?e.style+=";"+i.style:e[t]=i[t];return e}var ls=Object.create(null);function Ba(i,e,t){if(i==e)return!0;i||(i=ls),e||(e=ls);let n=Object.keys(i),r=Object.keys(e);if(n.length-(t&&n.indexOf(t)>-1?1:0)!=r.length-(t&&r.indexOf(t)>-1?1:0))return!1;for(let s of n)if(s!=t&&(r.indexOf(s)==-1||i[s]!==e[s]))return!1;return!0}function x0(i,e){for(let t=i.attributes.length-1;t>=0;t--){let n=i.attributes[t].name;e[n]==null&&i.removeAttribute(n)}for(let t in e){let n=e[t];t=="style"?i.style.cssText=n:i.getAttribute(t)!=n&&i.setAttribute(t,n)}}function wf(i,e,t){let n=!1;if(e)for(let r in e)t&&r in t||(n=!0,r=="style"?i.style.cssText="":i.removeAttribute(r));if(t)for(let r in t)e&&e[r]==t[r]||(n=!0,r=="style"?i.style.cssText=t[r]:i.setAttribute(r,t[r]));return n}function w0(i){let e=Object.create(null);for(let t=0;t0?3e8:-4e8:t>0?1e8:-1e8,new Zi(e,t,t,n,e.widget||null,!1)}static replace(e){let t=!!e.block,n,r;if(e.isBlockGap)n=-5e8,r=4e8;else{let{start:s,end:o}=Nf(e,t);n=(s?t?-3e8:-1:5e8)-1,r=(o?t?2e8:1:-6e8)+1}return new Zi(e,n,r,t,e.widget||null,!0)}static line(e){return new ir(e)}static set(e,t=!1){return ae.of(e,t)}hasHeight(){return this.widget?this.widget.estimatedHeight>-1:!1}};R.none=ae.empty;var tr=class i extends R{constructor(e){let{start:t,end:n}=Nf(e);super(t?-1:5e8,n?1:-6e8,null,e),this.tagName=e.tagName||"span",this.attrs=e.class&&e.attributes?Ia(e.attributes,{class:e.class}):e.class?{class:e.class}:e.attributes||ls}eq(e){return this==e||e instanceof i&&this.tagName==e.tagName&&Ba(this.attrs,e.attrs)}range(e,t=e){if(e>=t)throw new RangeError("Mark decorations may not be empty");return super.range(e,t)}};tr.prototype.point=!1;var ir=class i extends R{constructor(e){super(-2e8,-2e8,null,e)}eq(e){return e instanceof i&&this.spec.class==e.spec.class&&Ba(this.spec.attributes,e.spec.attributes)}range(e,t=e){if(t!=e)throw new RangeError("Line decoration ranges must be zero-length");return super.range(e,t)}};ir.prototype.mapMode=ge.TrackBefore;ir.prototype.point=!0;var Zi=class i extends R{constructor(e,t,n,r,s,o){super(t,n,s,e),this.block=r,this.isReplace=o,this.mapMode=r?t<=0?ge.TrackBefore:ge.TrackAfter:ge.TrackDel}get type(){return this.startSide!=this.endSide?ct.WidgetRange:this.startSide<=0?ct.WidgetBefore:ct.WidgetAfter}get heightRelevant(){return this.block||!!this.widget&&(this.widget.estimatedHeight>=5||this.widget.lineBreaks>0)}eq(e){return e instanceof i&&P0(this.widget,e.widget)&&this.block==e.block&&this.startSide==e.startSide&&this.endSide==e.endSide}range(e,t=e){if(this.isReplace&&(e>t||e==t&&this.startSide>0&&this.endSide<=0))throw new RangeError("Invalid range for replacement decoration");if(!this.isReplace&&t!=e)throw new RangeError("Widget decorations can only have zero-length ranges");return super.range(e,t)}};Zi.prototype.point=!0;function Nf(i,e=!1){let{inclusiveStart:t,inclusiveEnd:n}=i;return t==null&&(t=i.inclusive),n==null&&(n=i.inclusive),{start:t??e,end:n??e}}function P0(i,e){return i==e||!!(i&&e&&i.compare(e))}function fn(i,e,t,n=0){let r=t.length-1;r>=0&&t[r]+n>=i?t[r]=Math.max(t[r],e):t.push(i,e)}var li=class i extends it{constructor(e,t,n){super(),this.tagName=e,this.attributes=t,this.rank=n}eq(e){return e==this||e instanceof i&&this.tagName==e.tagName&&Ba(this.attributes,e.attributes)}static create(e){return new i(e.tagName,e.attributes||ls,e.rank==null?50:Math.max(0,Math.min(e.rank,100)))}static set(e,t=!1){return ae.of(e,t)}};li.prototype.startSide=li.prototype.endSide=-1;function nr(i){let e;return i.nodeType==11?e=i.getSelection?i:i.ownerDocument:e=i,e.getSelection()}function fa(i,e){return e?i==e||i.contains(e.nodeType!=1?e.parentNode:e):!1}function Gn(i,e){if(!e.anchorNode)return!1;try{return fa(i,e.anchorNode)}catch{return!1}}function os(i){return i.nodeType==3?rr(i,0,i.nodeValue.length).getClientRects():i.nodeType==1?i.getClientRects():[]}function Nn(i,e,t,n){return t?Pf(i,e,t,n,-1)||Pf(i,e,t,n,1):!1}function ci(i){for(var e=0;;e++)if(i=i.previousSibling,!i)return e}function cs(i){return i.nodeType==1&&/^(DIV|P|LI|UL|OL|BLOCKQUOTE|DD|DT|H\d|SECTION|PRE)$/.test(i.nodeName)}function Pf(i,e,t,n,r){for(;;){if(i==t&&e==n)return!0;if(e==(r<0?0:jt(i))){if(i.nodeName=="DIV")return!1;let s=i.parentNode;if(!s||s.nodeType!=1)return!1;e=ci(i)+(r<0?0:1),i=s}else if(i.nodeType==1){if(i=i.childNodes[e+(r<0?-1:0)],i.nodeType==1&&i.contentEditable=="false")return!1;e=r<0?jt(i):0}else return!1}}function jt(i){return i.nodeType==3?i.nodeValue.length:i.childNodes.length}function hs(i,e){let{left:t,right:n}=i;if(t==n)return i;let r=e?t:n;return{left:r,right:r,top:i.top,bottom:i.bottom}}function v0(i){let e=i.visualViewport;return e?{left:0,right:e.width,top:0,bottom:e.height}:{left:0,right:i.innerWidth,top:0,bottom:i.innerHeight}}function Ff(i,e){let t=e.width/i.offsetWidth,n=e.height/i.offsetHeight;return(t>.995&&t<1.005||!isFinite(t)||Math.abs(e.width-i.offsetWidth)<1)&&(t=1),(n>.995&&n<1.005||!isFinite(n)||Math.abs(e.height-i.offsetHeight)<1)&&(n=1),{scaleX:t,scaleY:n}}function $0(i,e,t,n,r,s,o,a){let l=i.ownerDocument,c=l.defaultView||window;for(let h=i,f=!1;h&&!f;)if(h.nodeType==1){let u,O=h==l.body,p=1,m=1;if(O)u=v0(c);else{if(/^(fixed|sticky)$/.test(getComputedStyle(h).position)&&(f=!0),h.scrollHeight<=h.clientHeight&&h.scrollWidth<=h.clientWidth){h=h.assignedSlot||h.parentNode;continue}let Q=h.getBoundingClientRect();({scaleX:p,scaleY:m}=Ff(h,Q)),u={left:Q.left,right:Q.left+h.clientWidth*p,top:Q.top,bottom:Q.top+h.clientHeight*m}}let b=0,g=0;if(r=="nearest")e.top0&&e.bottom>u.bottom+g&&(g=e.bottom-u.bottom+o)):e.bottom>u.bottom-o&&(g=e.bottom-u.bottom+o,t<0&&e.top-g0&&e.right>u.right+b&&(b=e.right-u.right+s)):e.right>u.right-s&&(b=e.right-u.right+s,t<0&&e.leftu.bottom||e.leftu.right)&&(e={left:Math.max(e.left,u.left),right:Math.min(e.right,u.right),top:Math.max(e.top,u.top),bottom:Math.min(e.bottom,u.bottom)}),h=h.assignedSlot||h.parentNode}else if(h.nodeType==11)h=h.host;else break}function Hf(i,e=!0){let t=i.ownerDocument,n=null,r=null;for(let s=i.parentNode;s&&!(s==t.body||(!e||n)&&r);)if(s.nodeType==1)!r&&s.scrollHeight>s.clientHeight&&(r=s),e&&!n&&s.scrollWidth>s.clientWidth&&(n=s),s=s.assignedSlot||s.parentNode;else if(s.nodeType==11)s=s.host;else break;return{x:n,y:r}}var ua=class{constructor(){this.anchorNode=null,this.anchorOffset=0,this.focusNode=null,this.focusOffset=0}eq(e){return this.anchorNode==e.anchorNode&&this.anchorOffset==e.anchorOffset&&this.focusNode==e.focusNode&&this.focusOffset==e.focusOffset}setRange(e){let{anchorNode:t,focusNode:n}=e;this.set(t,Math.min(e.anchorOffset,t?jt(t):0),n,Math.min(e.focusOffset,n?jt(n):0))}set(e,t,n,r){this.anchorNode=e,this.anchorOffset=t,this.focusNode=n,this.focusOffset=r}},Ri=null;L.safari&&L.safari_version>=26&&(Ri=!1);function Kf(i){if(i.setActive)return i.setActive();if(Ri)return i.focus(Ri);let e=[];for(let t=i;t&&(e.push(t,t.scrollTop,t.scrollLeft),t!=t.ownerDocument);t=t.parentNode);if(i.focus(Ri==null?{get preventScroll(){return Ri={preventScroll:!0},!0}}:void 0),!Ri){Ri=!1;for(let t=0;tMath.max(0,i.document.documentElement.scrollHeight-i.innerHeight-4):i.scrollTop>Math.max(1,i.scrollHeight-i.clientHeight-4)}function eu(i,e){for(let t=i,n=e;;){if(t.nodeType==3&&n>0)return{node:t,offset:n};if(t.nodeType==1&&n>0){if(t.contentEditable=="false")return null;t=t.childNodes[n-1],n=jt(t)}else if(t.parentNode&&!cs(t))n=ci(t),t=t.parentNode;else return null}}function tu(i,e){for(let t=i,n=e;;){if(t.nodeType==3&&n=t){if(a.level==n)return o;(s<0||(r!=0?r<0?a.fromt:e[s].level>a.level))&&(s=o)}}if(s<0)throw new RangeError("Index out of range");return s}};function ru(i,e){if(i.length!=e.length)return!1;for(let t=0;t=0;m-=3)if($t[m+1]==-O){let b=$t[m+2],g=b&2?r:b&4?b&1?s:r:0;g&&(oe[f]=oe[$t[m]]=g),a=m;break}}else{if($t.length==189)break;$t[a++]=f,$t[a++]=u,$t[a++]=l}else if((p=oe[f])==2||p==1){let m=p==r;l=m?0:1;for(let b=a-3;b>=0;b-=3){let g=$t[b+2];if(g&2)break;if(m)$t[b+2]|=2;else{if(g&4)break;$t[b+2]|=4}}}}}function E0(i,e,t,n){for(let r=0,s=n;r<=t.length;r++){let o=r?t[r-1].to:i,a=rl;)p==b&&(p=t[--m].from,b=m?t[m-1].to:i),oe[--p]=O;l=h}else s=c,l++}}}function da(i,e,t,n,r,s,o){let a=n%2?2:1;if(n%2==r%2)for(let l=e,c=0;ll&&o.push(new at(l,m.from,O));let b=m.direction==Ei!=!(O%2);pa(i,b?n+1:n,r,m.inner,m.from,m.to,o),l=m.to}p=m.to}else{if(p==t||(h?oe[p]!=a:oe[p]==a))break;p++}u?da(i,l,p,n+1,r,u,o):le;){let h=!0,f=!1;if(!c||l>s[c-1].to){let m=oe[l-1];m!=a&&(h=!1,f=m==16)}let u=!h&&a==1?[]:null,O=h?n:n+1,p=l;e:for(;;)if(c&&p==s[c-1].to){if(f)break e;let m=s[--c];if(!h)for(let b=m.from,g=c;;){if(b==e)break e;if(g&&s[g-1].to==b)b=s[--g].from;else{if(oe[b-1]==a)break e;break}}if(u)u.push(m);else{m.tooe.length;)oe[oe.length]=256;let n=[],r=e==Ei?0:1;return pa(i,r,r,t,0,i.length,n),n}function su(i){return[new at(0,i,0)]}var ou="";function z0(i,e,t,n,r){var s;let o=n.head-i.from,a=at.find(e,o,(s=n.bidiLevel)!==null&&s!==void 0?s:-1,n.assoc),l=e[a],c=l.side(r,t);if(o==c){let u=a+=r?1:-1;if(u<0||u>=e.length)return null;l=e[a=u],o=l.side(!r,t),c=l.side(r,t)}let h=xe(i.text,o,l.forward(r,t));(hl.to)&&(h=c),ou=i.text.slice(Math.min(o,h),Math.max(o,h));let f=a==(r?e.length-1:0)?null:e[a+(r?1:-1)];return f&&h==c&&f.level+(r?0:1)i.some(e=>e)}),M0=Y.define({combine:i=>i.some(e=>e)}),du=Y.define(),Fn=class i{constructor(e,t,n,r,s,o=!1){this.range=e,this.y=t,this.x=n,this.yMargin=r,this.xMargin=s,this.isSnapshot=o}map(e){return e.empty?this:new i(this.range.map(e),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}clip(e){return this.range.to<=e.doc.length?this:new i(P.cursor(e.doc.length),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}},Jr=te.define({map:(i,e)=>i.map(e)}),pu=te.define();function lt(i,e,t){let n=i.facet(hu);n.length?n[0](e):window.onerror&&window.onerror(String(e),t,void 0,void 0,e)||(t?console.error(t+":",e):console.error(e))}var Mt=Y.define({combine:i=>i.length?i[0]:!0}),W0=0,cn=Y.define({combine(i){return i.filter((e,t)=>{for(let n=0;n{let l=[];return o&&l.push(ys.of(c=>{let h=c.plugin(a);return h?o(h):R.none})),s&&l.push(s(a)),l})}static fromClass(e,t){return i.define((n,r)=>new e(n,r),t)}},Hn=class{constructor(e){this.spec=e,this.mustUpdate=null,this.value=null}get plugin(){return this.spec&&this.spec.plugin}update(e){if(this.value){if(this.mustUpdate){let t=this.mustUpdate;if(this.mustUpdate=null,this.value.update)try{this.value.update(t)}catch(n){if(lt(t.state,n,"CodeMirror plugin crashed"),this.value.destroy)try{this.value.destroy()}catch{}this.deactivate()}}}else if(this.spec)try{this.value=this.spec.plugin.create(e,this.spec.arg)}catch(t){lt(e.state,t,"CodeMirror plugin crashed"),this.deactivate()}return this}destroy(e){var t;if(!((t=this.value)===null||t===void 0)&&t.destroy)try{this.value.destroy()}catch(n){lt(e.state,n,"CodeMirror plugin crashed")}}deactivate(){this.spec=this.value=null}},mu=Y.define(),Fa=Y.define(),ys=Y.define(),gu=Y.define(),Ha=Y.define(),sr=Y.define(),Qu=Y.define();function $f(i,e){let t=i.state.facet(Qu);if(!t.length)return t;let n=t.map(s=>s instanceof Function?s(i):s),r=[];return ae.spans(n,e.from,e.to,{point(){},span(s,o,a,l){let c=s-e.from,h=o-e.from,f=r;for(let u=a.length-1;u>=0;u--,l--){let O=a[u].spec.bidiIsolate,p;if(O==null&&(O=L0(e.text,c,h)),l>0&&f.length&&(p=f[f.length-1]).to==c&&p.direction==O)p.to=h,f=p.inner;else{let m={from:c,to:h,direction:O,inner:[]};f.push(m),f=m.inner}}}}),r}var bu=Y.define();function Su(i){let e=0,t=0,n=0,r=0;for(let s of i.state.facet(bu)){let o=s(i);o&&(o.left!=null&&(e=Math.max(e,o.left)),o.right!=null&&(t=Math.max(t,o.right)),o.top!=null&&(n=Math.max(n,o.top)),o.bottom!=null&&(r=Math.max(r,o.bottom)))}return{left:e,right:t,top:n,bottom:r}}var In=Y.define(),gt=class i{constructor(e,t,n,r){this.fromA=e,this.toA=t,this.fromB=n,this.toB=r}join(e){return new i(Math.min(this.fromA,e.fromA),Math.max(this.toA,e.toA),Math.min(this.fromB,e.fromB),Math.max(this.toB,e.toB))}addToSet(e){let t=e.length,n=this;for(;t>0;t--){let r=e[t-1];if(!(r.fromA>n.toA)){if(r.toAr.push(new gt(s,o,a,l))),this.changedRanges=r}static create(e,t,n){return new i(e,t,n)}get viewportChanged(){return(this.flags&4)>0}get viewportMoved(){return(this.flags&8)>0}get heightChanged(){return(this.flags&2)>0}get geometryChanged(){return this.docChanged||(this.flags&18)>0}get focusChanged(){return(this.flags&1)>0}get docChanged(){return!this.changes.empty}get selectionSet(){return this.transactions.some(e=>e.selection)}get empty(){return this.flags==0&&this.transactions.length==0}},j0=[],fe=class{constructor(e,t,n=0){this.dom=e,this.length=t,this.flags=n,this.parent=null,e.cmTile=this}get breakAfter(){return this.flags&1}get children(){return j0}isWidget(){return!1}get isHidden(){return!1}isComposite(){return!1}isLine(){return!1}isText(){return!1}isBlock(){return!1}get domAttrs(){return null}sync(e){if(this.flags|=2,this.flags&4){this.flags&=-5;let t=this.domAttrs;t&&x0(this.dom,t)}}toString(){return this.constructor.name+(this.children.length?`(${this.children})`:"")+(this.breakAfter?"#":"")}destroy(){this.parent=null}setDOM(e){this.dom=e,e.cmTile=this}get posAtStart(){return this.parent?this.parent.posBefore(this):0}get posAtEnd(){return this.posAtStart+this.length}posBefore(e,t=this.posAtStart){let n=t;for(let r of this.children){if(r==e)return n;n+=r.length+r.breakAfter}throw new RangeError("Invalid child in posBefore")}posAfter(e){return this.posBefore(e)+e.length}covers(e){return!0}coordsIn(e,t,n){return null}domPosFor(e,t){let n=ci(this.dom),r=this.length?e>0:t>0;return new Tt(this.parent.dom,n+(r?1:0),e==0||e==this.length)}markDirty(e){this.flags&=-3,e&&(this.flags|=4),this.parent&&this.parent.flags&2&&this.parent.markDirty(!1)}get overrideDOMText(){return null}get root(){for(let e=this;e;e=e.parent)if(e instanceof dn)return e;return null}static get(e){return e.cmTile}},On=class extends fe{constructor(e){super(e,0),this._children=[]}isComposite(){return!0}get children(){return this._children}get lastChild(){return this.children.length?this.children[this.children.length-1]:null}append(e){this.children.push(e),e.parent=this}sync(e){if(this.flags&2)return;super.sync(e);let t=this.dom,n=null,r,s=e?.node==t?e:null,o=0;for(let a of this.children){if(a.sync(e),o+=a.length+a.breakAfter,r=n?n.nextSibling:t.firstChild,s&&r!=a.dom&&(s.written=!0),a.dom.parentNode==t)for(;r&&r!=a.dom;)r=Tf(r);else t.insertBefore(a.dom,r);n=a.dom}for(r=n?n.nextSibling:t.firstChild,s&&r&&(s.written=!0);r;)r=Tf(r);this.length=o}};function Tf(i){let e=i.nextSibling;return i.parentNode.removeChild(i),e}var dn=class extends On{constructor(e,t){super(t),this.view=e}owns(e){for(;e;e=e.parent)if(e==this)return!0;return!1}isBlock(){return!0}nearest(e){for(;;){if(!e)return null;let t=fe.get(e);if(t&&this.owns(t))return t;e=e.parentNode}}blockTiles(e){for(let t=[],n=this,r=0,s=0;;)if(r==n.children.length){if(!t.length)return;n=n.parent,n.breakAfter&&s++,r=t.pop()}else{let o=n.children[r++];if(o instanceof Wt)t.push(r),n=o,r=0;else{let a=s+o.length,l=e(o,s);if(l!==void 0)return l;s=a+o.breakAfter}}}resolveBlock(e,t){let n,r=-1,s,o=-1;if(this.blockTiles((a,l)=>{let c=l+a.length;if(e>=l&&e<=c){if(a.isWidget()&&t>=-1&&t<=1){if(a.flags&32)return!0;a.flags&16&&(n=void 0)}(le||e==l&&(t>1?a.length:a.covers(-1)))&&(!s||!a.isWidget()&&s.isWidget())&&(s=a,o=e-l)}}),!n&&!s)throw new Error("No tile at position "+e);return n&&t<0||!s?{tile:n,offset:r}:{tile:s,offset:o}}},Wt=class i extends On{constructor(e,t){super(e),this.wrapper=t}isBlock(){return!0}covers(e){return this.children.length?e<0?this.children[0].covers(-1):this.lastChild.covers(1):!1}get domAttrs(){return this.wrapper.attributes}static of(e,t){let n=new i(t||document.createElement(e.tagName),e);return t||(n.flags|=4),n}},pn=class i extends On{constructor(e,t){super(e),this.attrs=t}isLine(){return!0}static start(e,t,n){let r=new i(t||document.createElement("div"),e);return(!t||!n)&&(r.flags|=4),r}get domAttrs(){return this.attrs}resolveInline(e,t,n){let r=null,s=-1,o=null,a=-1;function l(h,f){for(let u=0,O=0;u=f&&(p.isComposite()?l(p,f-O):(!o||o.isHidden&&(t>0&&!(o.flags&32)||n&&D0(o,p)))&&(m>f||p.flags&32)?(o=p,a=f-O):(Or&&(e=r);let s=e,o=e,a=0;e==0&&t<0||e==r&&t>=0?L.chrome||L.gecko||(e?(s--,a=1):o=0)?0:l.length-1];return L.safari&&!a&&c.width==0&&(c=Array.prototype.find.call(l,h=>h.width)||c),n==null?c:hs(c,(a?a>0:t<0)==n)}static of(e,t){let n=new i(t||document.createTextNode(e),e);return t||(n.flags|=2),n}},qi=class i extends fe{constructor(e,t,n,r){super(e,t,r),this.widget=n}isWidget(){return!0}get isHidden(){return this.widget.isHidden}covers(e){return this.flags&48?!1:(this.flags&(e<0?64:128))>0}coordsIn(e,t){return this.coordsInWidget(e,t,!1)}coordsInWidget(e,t,n){let r=this.widget.coordsAt(this.dom,e,t);if(r)return r;if(n)return hs(this.dom.getBoundingClientRect(),this.length?e==0:t<=0);{let s=this.dom.getClientRects(),o=null;if(!s.length)return null;let a=this.flags&16?!0:this.flags&32?!1:e>0;for(let l=a?s.length-1:0;o=s[l],!(e>0?l==0:l==s.length-1||o.top0==n)}},ga=class{constructor(e){this.index=0,this.beforeBreak=!1,this.parents=[],this.tile=e}advance(e,t,n){let{tile:r,index:s,beforeBreak:o,parents:a}=this;for(;e||t>0;)if(r.isComposite())if(o){if(!e)break;n&&n.break(),e--,o=!1}else if(s==r.children.length){if(!e&&!a.length)break;n&&n.leave(r),o=!!r.breakAfter,{tile:r,index:s}=a.pop(),s++}else{let l=r.children[s],c=l.breakAfter;(t>0?l.length<=e:l.length=0;a--){let l=t.marks[a],c=r.lastChild;if(c instanceof je&&c.mark.eq(l.mark))c.dom!=l.dom&&c.setDOM(na(l.dom)),r=c;else{if(this.cache.reused.get(l)){let f=fe.get(l.dom);f&&f.setDOM(na(l.dom))}let h=je.of(l.mark,l.dom);r.append(h),r=h}this.cache.reused.set(l,2)}let s=fe.get(e.text);s&&this.cache.reused.set(s,2);let o=new Ai(e.text,e.text.nodeValue);o.flags|=8,this.pos=e.range.toB,r.append(o)}addInlineWidget(e,t,n){let r=this.afterWidget&&e.flags&48&&(this.afterWidget.flags&48)==(e.flags&48);r||this.flushBuffer();let s=this.ensureMarks(t,n);!r&&!(e.flags&16)&&s.append(this.getBuffer(1)),s.append(e),this.pos+=e.length,this.afterWidget=e}addMark(e,t,n){this.flushBuffer(),this.ensureMarks(t,n).append(e),this.pos+=e.length,this.afterWidget=null}addBlockWidget(e){this.getBlockPos().append(e),this.pos+=e.length,this.lastBlock=e,this.endLine()}continueWidget(e){let t=this.afterWidget||this.lastBlock;t.length+=e,this.pos+=e}addLineStart(e,t){var n;e||(e=yu);let r=pn.start(e,t||((n=this.cache.find(pn))===null||n===void 0?void 0:n.dom),!!t);this.getBlockPos().append(this.lastBlock=this.curLine=r)}addLine(e){this.getBlockPos().append(e),this.pos+=e.length,this.lastBlock=e,this.endLine()}addBreak(){this.lastBlock.flags|=1,this.endLine(),this.pos++}addLineStartIfNotCovered(e){this.blockPosCovered()||this.addLineStart(e)}ensureLine(e){this.curLine||this.addLineStart(e)}ensureMarks(e,t){var n;let r=this.curLine;for(let s=e.length-1;s>=0;s--){let o=e[s],a;if(t>0&&(a=r.lastChild)&&a instanceof je&&a.mark.eq(o))r=a,t--;else{let l=je.of(o,(n=this.cache.find(je,c=>c.mark.eq(o)))===null||n===void 0?void 0:n.dom);r.append(l),r=l,t=0}}return r}endLine(){if(this.curLine){this.flushBuffer();let e=this.curLine.lastChild;(!e||!Cf(this.curLine,!1)||e.dom.nodeName!="BR"&&e.isWidget()&&!(L.ios&&Cf(this.curLine,!0)))&&this.curLine.append(this.cache.findWidget(ra,0,32)||new qi(ra.toDOM(),0,ra,32)),this.curLine=this.afterWidget=null}}updateBlockWrappers(){this.wrapperPos>this.pos+1e4&&(this.blockWrappers.goto(this.pos),this.wrappers.length=0);for(let e=this.wrappers.length-1;e>=0;e--)this.wrappers[e].to=this.pos){let t=e.rank*102+e.value.rank,n=new Qa(e.from,e.to,e.value,t),r=this.wrappers.length;for(;r>0&&(this.wrappers[r-1].rank-n.rank||this.wrappers[r-1].to-n.to)<0;)r--;this.wrappers.splice(r,0,n)}this.wrapperPos=this.pos}getBlockPos(){var e;this.updateBlockWrappers();let t=this.root;for(let n of this.wrappers){let r=t.lastChild;if(n.fromo.wrapper.eq(n.wrapper)))===null||e===void 0?void 0:e.dom);t.append(s),t=s}}return t}blockPosCovered(){let e=this.lastBlock;return e!=null&&!e.breakAfter&&(!e.isWidget()||(e.flags&160)>0)}getBuffer(e){let t=2|(e<0?16:32),n=this.cache.find(mn,void 0,1);return n&&(n.flags=t),n||new mn(t)}flushBuffer(){this.afterWidget&&!(this.afterWidget.flags&32)&&(this.afterWidget.parent.append(this.getBuffer(-1)),this.afterWidget=null)}},Sa=class{constructor(e){this.skipCount=0,this.text="",this.textOff=0,this.cursor=e.iter()}skip(e){this.textOff+e<=this.text.length?this.textOff+=e:(this.skipCount+=e-(this.text.length-this.textOff),this.text="",this.textOff=0)}next(e){if(this.textOff==this.text.length){let{value:r,lineBreak:s,done:o}=this.cursor.next(this.skipCount);if(this.skipCount=0,o)throw new Error("Ran out of text content when drawing inline views");this.text=r;let a=this.textOff=Math.min(e,r.length);return s?null:r.slice(0,a)}let t=Math.min(this.text.length,this.textOff+e),n=this.text.slice(this.textOff,t);return this.textOff=t,n}},us=[qi,pn,Ai,je,mn,Wt,dn];for(let i=0;i[]),this.index=us.map(()=>0),this.reused=new Map}add(e){let t=e.constructor.bucket,n=this.buckets[t];n.length<6?n.push(e):n[this.index[t]=(this.index[t]+1)%6]=e}find(e,t,n=2){let r=e.bucket,s=this.buckets[r],o=this.index[r];for(let a=0;a{if(this.cache.add(o),o.isComposite())return!1},enter:o=>this.cache.add(o),leave:()=>{},break:()=>{}}}run(e,t){let n=t&&this.getCompositionContext(t.text);for(let r=0,s=0,o=0;;){let a=or){let c=l-r;this.preserve(c,!o,!a),r=l,s+=c}if(!a)break;t&&a.fromA<=t.range.fromA&&a.toA>=t.range.toA?(this.forward(a.fromA,t.range.fromA,t.range.fromA{if(o.isWidget())if(this.openWidget)this.builder.continueWidget(l-a);else{let c=l>0||a{o.isLine()?this.builder.addLineStart(o.attrs,this.cache.maybeReuse(o)):(this.cache.add(o),o instanceof je&&r.unshift(o.mark)),this.openWidget=!1},leave:o=>{o.isLine()?r.length&&(r.length=s=0):o instanceof je&&(r.shift(),s=Math.min(s,r.length))},break:()=>{this.builder.addBreak(),this.openWidget=!1}}),this.text.skip(e)}emit(e,t){let n=null,r=this.builder,s=-1,o=ae.spans(this.decorations,e,t,{point:(a,l,c,h,f,u)=>{if(c instanceof Zi){if(this.disallowBlockEffectsFor[u]){if(c.block)throw new RangeError("Block decorations may not be specified via plugins");if(l>this.view.state.doc.lineAt(a).to)throw new RangeError("Decorations that replace line breaks may not be specified via plugins")}if(s=h.length,f>h.length)r.continueWidget(l-a);else{let O=c.widget||(c.block?hi.block:hi.inline),p=Y0(c),m=this.cache.findWidget(O,l-a,p)||qi.of(O,this.view,l-a,p);c.block?(c.startSide>0&&r.addLineStartIfNotCovered(n),r.addBlockWidget(m)):(r.ensureLine(n),r.addInlineWidget(m,h,f))}n=null}else n=I0(n,c);l>a&&this.text.skip(l-a)},span:(a,l,c,h)=>{for(let f=a;f-1&&(this.openWidget=o>s),this.openWidget||r.addLineStartIfNotCovered(n),this.openMarks=o}forward(e,t,n=1){t-e<=10?this.old.advance(t-e,n,this.reuseWalker):(this.old.advance(5,-1,this.reuseWalker),this.old.advance(t-e-10,-1),this.old.advance(5,n,this.reuseWalker))}getCompositionContext(e){let t=[],n=null;for(let r=e.parentNode;;r=r.parentNode){let s=fe.get(r);if(r==this.view.contentDOM)break;s instanceof je?t.push(s):s?.isLine()?n=s:s instanceof Wt||(r.nodeName=="DIV"&&!n&&r!=this.view.contentDOM?n=new pn(r,yu):n||t.push(je.of(new tr({tagName:r.nodeName.toLowerCase(),attributes:w0(r)}),r)))}return{line:n,marks:t}}};function Cf(i,e){let t=n=>{for(let r of n.children)if((e?r.isText():r.length)||t(r))return!0;return!1};return t(i)}function Y0(i){let e=i.isReplace?(i.startSide<0?64:0)|(i.endSide>0?128:0):i.startSide>0?32:16;return i.block&&(e|=256),e}var yu={class:"cm-line"};function I0(i,e){let t=e.spec.attributes,n=e.spec.class;return!t&&!n||(i||(i={class:"cm-line"}),t&&Ia(t,i),n&&(i.class+=" "+n)),i}function B0(i){let e=[];for(let t=i.parents.length;t>1;t--){let n=t==i.parents.length?i.tile:i.parents[t].tile;n instanceof je&&e.push(n.mark)}return e}function na(i){let e=fe.get(i);return e&&e.setDOM(i.cloneNode()),i}var hi=class extends Te{constructor(e){super(),this.tag=e}eq(e){return e.tag==this.tag}toDOM(){return document.createElement(this.tag)}updateDOM(e){return e.nodeName.toLowerCase()==this.tag}get isHidden(){return!0}};hi.inline=new hi("span");hi.block=new hi("div");var ra=new class extends Te{toDOM(){return document.createElement("br")}get isHidden(){return!0}get editable(){return!0}},Os=class{constructor(e){this.view=e,this.decorations=[],this.blockWrappers=[],this.dynamicDecorationMap=[!1],this.domChanged=null,this.hasComposition=null,this.editContextFormatting=R.none,this.lastCompositionAfterCursor=!1,this.minWidth=0,this.minWidthFrom=0,this.minWidthTo=0,this.impreciseAnchor=null,this.impreciseHead=null,this.forceSelection=!1,this.lastUpdate=Date.now(),this.updateDeco(),this.tile=new dn(e,e.contentDOM),this.updateInner([new gt(0,0,0,e.state.doc.length)],null)}update(e){var t;let n=e.changedRanges;this.minWidth>0&&n.length&&(n.every(({fromA:h,toA:f})=>fthis.minWidthTo)?(this.minWidthFrom=e.changes.mapPos(this.minWidthFrom,1),this.minWidthTo=e.changes.mapPos(this.minWidthTo,1)):this.minWidth=this.minWidthFrom=this.minWidthTo=0),this.updateEditContextFormatting(e);let r=-1;this.view.inputState.composing>=0&&!this.view.observer.editContext&&(!((t=this.domChanged)===null||t===void 0)&&t.newSel?r=this.domChanged.newSel.head:!eQ(e.changes,this.hasComposition)&&!e.selectionSet&&(r=e.state.selection.main.head));let s=r>-1?G0(this.view,e.changes,r):null;if(this.domChanged=null,this.hasComposition){let{from:h,to:f}=this.hasComposition;n=new gt(h,f,e.changes.mapPos(h,-1),e.changes.mapPos(f,1)).addToSet(n.slice())}this.hasComposition=s?{from:s.range.fromB,to:s.range.toB}:null,(L.ie||L.chrome)&&!s&&e&&e.state.doc.lines!=e.startState.doc.lines&&(this.forceSelection=!0);let o=this.decorations,a=this.blockWrappers;this.updateDeco();let l=H0(o,this.decorations,e.changes);l.length&&(n=gt.extendWithRanges(n,l));let c=K0(a,this.blockWrappers,e.changes);return c.length&&(n=gt.extendWithRanges(n,c)),s&&!n.some(h=>h.fromA<=s.range.fromA&&h.toA>=s.range.toA)&&(n=s.range.addToSet(n.slice())),this.tile.flags&2&&n.length==0?!1:(this.updateInner(n,s),e.transactions.length&&(this.lastUpdate=Date.now()),!0)}updateInner(e,t){this.view.viewState.mustMeasureContent=!0;let{observer:n}=this.view;n.ignore(()=>{if(t||e.length){let o=this.tile,a=new ka(this.view,o,this.blockWrappers,this.decorations,this.dynamicDecorationMap);t&&fe.get(t.text)&&a.cache.reused.set(fe.get(t.text),2),this.tile=a.run(e,t),xa(o,a.cache.reused)}this.tile.dom.style.height=this.view.viewState.contentHeight/this.view.scaleY+"px",this.tile.dom.style.flexBasis=this.minWidth?this.minWidth+"px":"";let s=L.chrome||L.ios?{node:n.selectionRange.focusNode,written:!1}:void 0;this.tile.sync(s),s&&(s.written||n.selectionRange.focusNode!=s.node||!this.tile.dom.contains(s.node))&&(this.forceSelection=!0),this.tile.dom.style.height=""});let r=[];if(this.view.viewport.from||this.view.viewport.to-1)&&Gn(n,this.view.observer.selectionRange)&&!(r&&n.contains(r));if(!(s||t||o))return;let a=this.forceSelection;this.forceSelection=!1;let l=this.view.state.selection.main,c,h;if(l.empty?h=c=this.inlineDOMNearPos(l.anchor,l.assoc||1):(h=this.inlineDOMNearPos(l.head,l.head==l.from?1:-1),c=this.inlineDOMNearPos(l.anchor,l.anchor==l.from?1:-1)),L.gecko&&l.empty&&!this.hasComposition&&U0(c)){let u=document.createTextNode("");this.view.observer.ignore(()=>c.node.insertBefore(u,c.node.childNodes[c.offset]||null)),c=h=new Tt(u,0),a=!0}let f=this.view.observer.selectionRange;(a||!f.focusNode||(!Nn(c.node,c.offset,f.anchorNode,f.anchorOffset)||!Nn(h.node,h.offset,f.focusNode,f.focusOffset))&&!this.suppressWidgetCursorChange(f,l))&&(this.view.observer.ignore(()=>{L.android&&L.chrome&&n.contains(f.focusNode)&&J0(f.focusNode,n)&&(n.blur(),n.focus({preventScroll:!0}));let u=nr(this.view.root);if(u)if(l.empty){if(L.gecko){let O=N0(c.node,c.offset);if(O&&O!=3){let p=(O==1?eu:tu)(c.node,c.offset);p&&(c=new Tt(p.node,p.offset))}}u.collapse(c.node,c.offset),l.bidiLevel!=null&&u.caretBidiLevel!==void 0&&(u.caretBidiLevel=l.bidiLevel)}else if(u.extend){u.collapse(c.node,c.offset);try{u.extend(h.node,h.offset)}catch{}}else{let O=document.createRange();l.anchor>l.head&&([c,h]=[h,c]),O.setEnd(h.node,h.offset),O.setStart(c.node,c.offset),u.removeAllRanges(),u.addRange(O)}o&&this.view.root.activeElement==n&&(n.blur(),r&&r.focus())}),this.view.observer.setSelectionRange(c,h)),this.impreciseAnchor=c.precise?null:new Tt(f.anchorNode,f.anchorOffset),this.impreciseHead=h.precise?null:new Tt(f.focusNode,f.focusOffset)}suppressWidgetCursorChange(e,t){return this.hasComposition&&t.empty&&Nn(e.focusNode,e.focusOffset,e.anchorNode,e.anchorOffset)&&this.posFromDOM(e.focusNode,e.focusOffset)==t.head}enforceCursorAssoc(){if(this.hasComposition)return;let{view:e}=this,t=e.state.selection.main,n=nr(e.root),{anchorNode:r,anchorOffset:s}=e.observer.selectionRange;if(!n||!t.empty||!t.assoc||!n.modify)return;let o=this.lineAt(t.head,t.assoc);if(!o)return;let a=o.posAtStart;if(t.head==a||t.head==a+o.length)return;let l=this.coordsAt(t.head,-1),c=this.coordsAt(t.head,1);if(!l||!c||l.bottom>c.top)return;let h=this.domAtPos(t.head+t.assoc,t.assoc);n.collapse(h.node,h.offset),n.modify("move",t.assoc<0?"forward":"backward","lineboundary"),e.observer.readSelectionRange();let f=e.observer.selectionRange;e.docView.posFromDOM(f.anchorNode,f.anchorOffset)!=t.from&&n.collapse(r,s)}posFromDOM(e,t){let n=this.tile.nearest(e);if(!n)return this.tile.dom.compareDocumentPosition(e)&2?0:this.view.state.doc.length;let r=n.posAtStart;if(n.isComposite()){let s;if(e==n.dom)s=n.dom.childNodes[t];else{let o=jt(e)==0?0:t==0?-1:1;for(;;){let a=e.parentNode;if(a==n.dom)break;o==0&&a.firstChild!=a.lastChild&&(e==a.firstChild?o=-1:o=1),e=a}o<0?s=e:s=e.nextSibling}if(s==n.dom.firstChild)return r;for(;s&&!fe.get(s);)s=s.nextSibling;if(!s)return r+n.length;for(let o=0,a=r;;o++){let l=n.children[o];if(l.dom==s)return a;a+=l.length+l.breakAfter}}else return n.isText()?e==n.dom?r+t:r+(t?n.length:0):r}domAtPos(e,t){let{tile:n,offset:r}=this.tile.resolveBlock(e,t);return n.isWidget()?n.domPosFor(r,t):n.domIn(r,t)}inlineDOMNearPos(e,t){let n,r=-1,s=!1,o,a=-1,l=!1;return this.tile.blockTiles((c,h)=>{if(c.isWidget()){if(c.flags&32&&h>=e)return!0;c.flags&16&&(s=!0)}else{let f=h+c.length;if(h<=e&&(n=c,r=e-h,s=f=e&&!o&&(o=c,a=e-h,l=h>e),h>e&&o)return!0}}),!n&&!o?this.domAtPos(e,t):(s&&o?n=null:l&&n&&(o=null),n&&t<0||!o?n.domIn(r,t):o.domIn(a,t))}coordsAt(e,t,n){let{tile:r,offset:s}=this.tile.resolveBlock(e,t);return r.isWidget()?r.widget instanceof Kn?null:r.coordsInWidget(s,t,!0):r.coordsIn(s,t,n)}lineAt(e,t){let{tile:n}=this.tile.resolveBlock(e,t);return n.isLine()?n:null}coordsForChar(e){let{tile:t,offset:n}=this.tile.resolveBlock(e,1);if(!t.isLine())return null;function r(s,o){if(s.isComposite())for(let a of s.children){if(a.length>=o){let l=r(a,o);if(l)return l}if(o-=a.length,o<0)break}else if(s.isText()&&oMath.max(this.view.scrollDOM.clientWidth,this.minWidth)+1,a=-1,l=this.view.textDirection==ue.LTR,c=0,h=(f,u,O)=>{for(let p=0;pr);p++){let m=f.children[p],b=u+m.length,g=m.dom.getBoundingClientRect(),{height:Q}=g;if(O&&!p&&(c+=g.top-O.top),m instanceof Wt)b>n&&h(m,u,g);else if(u>=n&&(c>0&&t.push(-c),t.push(Q+c),c=0,o)){let S=m.dom.lastChild,x=S?os(S):[];if(x.length){let v=x[x.length-1],$=l?v.right-g.left:g.right-v.left;$>a&&(a=$,this.minWidth=s,this.minWidthFrom=u,this.minWidthTo=b)}}O&&p==f.children.length-1&&(c+=O.bottom-g.bottom),u=b+m.breakAfter}};return h(this.tile,0,null),t}textDirectionAt(e){let{tile:t}=this.tile.resolveBlock(e,1);return getComputedStyle(t.dom).direction=="rtl"?ue.RTL:ue.LTR}measureTextSize(){let e=this.tile.blockTiles(o=>{if(o.isLine()&&o.children.length&&o.length<=20){let a=0,l;for(let c of o.children){if(!c.isText()||/[^ -~]/.test(c.text))return;let h=os(c.dom);if(h.length!=1)return;a+=h[0].width,l=h[0].height}if(a)return{lineHeight:o.dom.getBoundingClientRect().height,charWidth:a/o.length,textHeight:l}}});if(e)return e;let t=document.createElement("div"),n,r,s;return t.className="cm-line",t.style.width="99999px",t.style.position="absolute",t.textContent="abc def ghi jkl mno pqr stu",this.view.observer.ignore(()=>{this.tile.dom.appendChild(t);let o=os(t.firstChild)[0];n=t.getBoundingClientRect().height,r=o&&o.width?o.width/27:7,s=o&&o.height?o.height:n,t.remove()}),{lineHeight:n,charWidth:r,textHeight:s}}computeBlockGapDeco(){let e=[],t=this.view.viewState;for(let n=0,r=0;;r++){let s=r==t.viewports.length?null:t.viewports[r],o=s?s.from-1:this.view.state.doc.length;if(o>n){let a=(t.lineBlockAt(o).bottom-t.lineBlockAt(n).top)/this.view.scaleY;e.push(R.replace({widget:new Kn(a),block:!0,inclusive:!0,isBlockGap:!0}).range(n,o))}if(!s)break;n=s.to+1}return R.set(e)}updateDeco(){let e=1,t=this.view.state.facet(ys).map(s=>(this.dynamicDecorationMap[e++]=typeof s=="function")?s(this.view):s),n=!1,r=this.view.state.facet(Ha).map((s,o)=>{let a=typeof s=="function";return a&&(n=!0),a?s(this.view):s});for(r.length&&(this.dynamicDecorationMap[e++]=n,t.push(ae.join(r))),this.decorations=[this.editContextFormatting,...t,this.computeBlockGapDeco(),this.view.viewState.lineGapDeco];etypeof s=="function"?s(this.view):s)}scrollIntoView(e){if(e.isSnapshot){let c=this.view.viewState.lineBlockAt(e.range.head);this.view.scrollDOM.scrollTop=c.top-e.yMargin,this.view.scrollDOM.scrollLeft=e.xMargin;return}for(let c of this.view.state.facet(du))try{if(c(this.view,e.range,e))return!0}catch(h){lt(this.view.state,h,"scroll handler")}let{range:t}=e,n=this.coordsAt(t.head,t.assoc||(t.head>t.anchor?-1:1)),r;if(!n)return;!t.empty&&(r=this.coordsAt(t.anchor,t.anchor>t.head?-1:1))&&(n={left:Math.min(n.left,r.left),top:Math.min(n.top,r.top),right:Math.max(n.right,r.right),bottom:Math.max(n.bottom,r.bottom)});let s=Su(this.view),o={left:n.left-s.left,top:n.top-s.top,right:n.right+s.right,bottom:n.bottom+s.bottom},{offsetWidth:a,offsetHeight:l}=this.view.scrollDOM;if($0(this.view.scrollDOM,o,t.head1&&(n.top>window.pageYOffset+window.visualViewport.offsetTop+window.visualViewport.height||n.bottomn.isWidget()||n.children.some(t);return t(this.tile.resolveBlock(e,1).tile)}destroy(){xa(this.tile)}};function xa(i,e){let t=e?.get(i);if(t!=1){t==null&&i.destroy();for(let n of i.children)xa(n,e)}}function U0(i){return i.node.nodeType==1&&i.node.firstChild&&(i.offset==0||i.node.childNodes[i.offset-1].contentEditable=="false")&&(i.offset==i.node.childNodes.length||i.node.childNodes[i.offset].contentEditable=="false")}function ku(i,e){let t=i.observer.selectionRange;if(!t.focusNode)return null;let n=eu(t.focusNode,t.focusOffset),r=tu(t.focusNode,t.focusOffset),s=n||r;if(r&&n&&r.node!=n.node){let a=fe.get(r.node);if(!a||a.isText()&&a.text!=r.node.nodeValue)s=r;else if(i.docView.lastCompositionAfterCursor){let l=fe.get(n.node);!l||l.isText()&&l.text!=n.node.nodeValue||(s=r)}}if(i.docView.lastCompositionAfterCursor=s!=n,!s)return null;let o=e-s.offset;return{from:o,to:o+s.node.nodeValue.length,node:s.node}}function G0(i,e,t){let n=ku(i,t);if(!n)return null;let{node:r,from:s,to:o}=n,a=r.nodeValue;if(/[\n\r]/.test(a)||i.state.doc.sliceString(n.from,n.to)!=a)return null;let l=e.invertedDesc;return{range:new gt(l.mapPos(s),l.mapPos(o),s,o),text:r}}function N0(i,e){return i.nodeType!=1?0:(e&&i.childNodes[e-1].contentEditable=="false"?1:0)|(e{ne.from&&(t=!0)}),t}var Kn=class extends Te{constructor(e){super(),this.height=e}toDOM(){let e=document.createElement("div");return e.className="cm-gap",this.updateDOM(e),e}eq(e){return e.height==this.height}updateDOM(e){return e.style.height=this.height+"px",!0}get editable(){return!0}get estimatedHeight(){return this.height}ignoreEvent(){return!1}};function tQ(i,e,t=1){let n=i.charCategorizer(e),r=i.doc.lineAt(e),s=e-r.from;if(r.length==0)return P.cursor(e);s==0?t=1:s==r.length&&(t=-1);let o=s,a=s;t<0?o=xe(r.text,s,!1):a=xe(r.text,s);let l=n(r.text.slice(o,a));for(;o>0;){let c=xe(r.text,o,!1);if(n(r.text.slice(c,o))!=l)break;o=c}for(;ai.defaultLineHeight*1.5){let a=i.viewState.heightOracle.textHeight,l=Math.floor((r-t.top-(i.defaultLineHeight-a)*.5)/a);s+=l*i.viewState.heightOracle.lineLength}let o=i.state.sliceDoc(t.from,t.to);return t.from+mf(o,s,i.state.tabSize)}function nQ(i,e,t){let n=i.lineBlockAt(e);if(Array.isArray(n.type)){let r;for(let s of n.type){if(s.from>e)break;if(!(s.toe)return s;(!r||s.type==ct.Text&&(r.type!=s.type||(t<0?s.frome)))&&(r=s)}}return r||n}return n}function rQ(i,e,t,n){let r=nQ(i,e.head,e.assoc||-1),s=!n||r.type!=ct.Text||!(i.lineWrapping||r.widgetLineBreaks)?null:i.coordsAtPos(e.assoc<0&&e.head>r.from?e.head-1:e.head);if(s){let o=i.dom.getBoundingClientRect(),a=i.textDirectionAt(r.from),l=i.posAtCoords({x:t==(a==ue.LTR)?o.right-1:o.left+1,y:(s.top+s.bottom)/2});if(l!=null)return P.cursor(l,t?-1:1)}return P.cursor(t?r.to:r.from,t?-1:1)}function Xf(i,e,t,n){let r=i.state.doc.lineAt(e.head),s=i.bidiSpans(r),o=i.textDirectionAt(r.from);for(let a=e,l=null;;){let c=z0(r,s,o,a,t),h=ou;if(!c){if(r.number==(t?i.state.doc.lines:1))return a;h=` -`,r=i.state.doc.line(r.number+(t?1:-1)),s=i.bidiSpans(r),c=i.visualLineSide(r,!t)}if(l){if(!l(h))return a}else{if(!n)return c;l=n(h)}a=c}}function sQ(i,e,t){let n=i.state.charCategorizer(e),r=n(t);return s=>{let o=n(s);return r==Ee.Space&&(r=o),r==o}}function oQ(i,e,t,n){let r=e.head,s=t?1:-1;if(r==(t?i.state.doc.length:0))return P.cursor(r,e.assoc);let o=e.goalColumn,a,l=i.contentDOM.getBoundingClientRect(),c=i.coordsAtPos(r,e.assoc||((e.empty?t:e.head==e.from)?1:-1)),h=i.documentTop;if(c)o==null&&(o=c.left-l.left),a=s<0?c.top:c.bottom;else{let p=i.viewState.lineBlockAt(r);o==null&&(o=Math.min(l.right-l.left,i.defaultCharacterWidth*(r-p.from))),a=(s<0?p.top:p.bottom)+h}let f=l.left+o,u=i.viewState.heightOracle.textHeight>>1,O=n??u;for(let p=0;;p+=u){let m=a+(O+p)*s,b=Pa(i,{x:f,y:m},!1,s);if(t?m>l.bottom:ma:Q{if(e>s&&er(i)),t.from,e.head>t.from?-1:1);return n==t.from?t:P.cursor(n,ni.viewState.docHeight)return new ot(i.state.doc.length,-1);if(c=i.elementAtHeight(l),n==null)break;if(c.type==ct.Text){if(n<0?c.toi.viewport.to)break;let u=i.docView.coordsAt(n<0?c.from:c.to,n>0?-1:1);if(u&&(n<0?u.top<=l+s:u.bottom>=l+s))break}let f=i.viewState.heightOracle.textHeight/2;l=n>0?c.bottom+f:c.top-f}if(i.viewport.from>=c.to||i.viewport.to<=c.from){if(t)return null;if(c.type==ct.Text){let f=iQ(i,r,c,o,a);return new ot(f,f==c.from?1:-1)}}if(c.type!=ct.Text)return l<(c.top+c.bottom)/2?new ot(c.from,1):new ot(c.to,-1);let h=i.docView.lineAt(c.from,2);return(!h||h.length!=c.length)&&(h=i.docView.lineAt(c.from,-2)),new va(i,o,a,i.textDirectionAt(c.from)).scanTile(h,c.from)}var va=class{constructor(e,t,n,r){this.view=e,this.x=t,this.y=n,this.baseDir=r,this.line=null,this.spans=null}bidiSpansAt(e){return(!this.line||this.line.from>e||this.line.to1||n.length&&(n[0].level!=this.baseDir||n[0].to+r.from>1;t:if(o.has(m)){let g=r+Math.floor(Math.random()*p);for(let Q=0;Q1)){if(Q.bottomthis.y)(!c||c.top>Q.top)&&(c=Q),S=-1;else{let x=Q.left>this.x?this.x-Q.left:Q.right(p+p+m)/3)return this.y=l.bottom-1,this.scan(e,t,!0);if(c&&c.top<(p+m+m)/3)return this.y=c.top+1,this.scan(e,t,!0)}let O=(a?this.dirAt(e[h],1):this.baseDir)==ue.LTR;return{i:h,after:this.x>(u.left+u.right)/2==O}}scanText(e,t){let n=[];for(let s=0;s{let o=n[s]-t,a=n[s+1]-t;return rr(e.dom,o,a).getClientRects()});return r.after?new ot(n[r.i+1],-1):new ot(n[r.i],1)}scanTile(e,t){if(!e.length)return new ot(t,1);if(e.children.length==1){let a=e.children[0];if(a.isText())return this.scanText(a,t);if(a.isComposite())return this.scanTile(a,t)}let n=[t];for(let a=0,l=t;a{let l=e.children[a];return l.flags&48?null:(l.dom.nodeType==1?l.dom:rr(l.dom,0,l.length)).getClientRects()}),s=e.children[r.i],o=n[r.i];return s.isText()?this.scanText(s,o):s.isComposite()?this.scanTile(s,o):r.after?new ot(n[r.i+1],-1):new ot(o,1)}},ln="\uFFFF",$a=class{constructor(e,t){this.points=e,this.view=t,this.text="",this.lineSeparator=t.state.facet(se.lineSeparator)}append(e){this.text+=e}lineBreak(){this.text+=ln}readRange(e,t){if(!e)return this;let n=e.parentNode;for(let r=e;;){this.findPointBefore(n,r);let s=this.text.length;this.readNode(r);let o=fe.get(r),a=r.nextSibling;if(a==t){o?.breakAfter&&!a&&n!=this.view.contentDOM&&this.lineBreak();break}let l=fe.get(a);(o&&l?o.breakAfter:(o?o.breakAfter:cs(r))||cs(a)&&(r.nodeName!="BR"||o?.isWidget())&&this.text.length>s)&&!lQ(a,t)&&this.lineBreak(),r=a}return this.findPointBefore(n,t),this}readTextNode(e){let t=e.nodeValue;for(let n of this.points)n.node==e&&(n.pos=this.text.length+Math.min(n.offset,t.length));for(let n=0,r=this.lineSeparator?null:/\r\n?|\n/g;;){let s=-1,o=1,a;if(this.lineSeparator?(s=t.indexOf(this.lineSeparator,n),o=this.lineSeparator.length):(a=r.exec(t))&&(s=a.index,o=a[0].length),this.append(t.slice(n,s<0?t.length:s)),s<0)break;if(this.lineBreak(),o>1)for(let l of this.points)l.node==e&&l.pos>this.text.length&&(l.pos-=o-1);n=s+o}}readNode(e){let t=fe.get(e),n=t&&t.overrideDOMText;if(n!=null){this.findPointInside(e,n.length);for(let r=n.iter();!r.next().done;)r.lineBreak?this.lineBreak():this.append(r.value)}else e.nodeType==3?this.readTextNode(e):e.nodeName=="BR"?e.nextSibling&&this.lineBreak():e.nodeType==1&&this.readRange(e.firstChild,null)}findPointBefore(e,t){for(let n of this.points)n.node==e&&e.childNodes[n.offset]==t&&(n.pos=this.text.length)}findPointInside(e,t){for(let n of this.points)(e.nodeType==3?n.node==e:e.contains(n.node))&&(n.pos=this.text.length+(aQ(e,n.node,n.offset)?t:0))}};function aQ(i,e,t){for(;;){if(!e||t-1;let{impreciseHead:s,impreciseAnchor:o}=e.docView,a=e.state.selection;if(e.state.readOnly&&t>-1)this.newSel=null;else if(t>-1&&(this.bounds=wu(e.docView.tile,t,n,0))){let l=s||o?[]:hQ(e),c=new $a(l,e);c.readRange(this.bounds.startDOM,this.bounds.endDOM),this.text=c.text,this.newSel=fQ(l,this.bounds.from)}else{let l=e.observer.selectionRange,c=s&&s.node==l.focusNode&&s.offset==l.focusOffset||!fa(e.contentDOM,l.focusNode)?a.main.head:e.docView.posFromDOM(l.focusNode,l.focusOffset),h=o&&o.node==l.anchorNode&&o.offset==l.anchorOffset||!fa(e.contentDOM,l.anchorNode)?a.main.anchor:e.docView.posFromDOM(l.anchorNode,l.anchorOffset),f=e.viewport;if((L.ios||L.chrome)&&c!=h&&Math.min(c,h)<=a.main.from&&Math.max(c,h)>=a.main.to&&(f.from>0||f.to-1&&a.ranges.length>1)this.newSel=a.replaceRange(P.range(h,c));else if(e.lineWrapping&&h==c&&!(a.main.empty&&a.main.head==c)&&e.inputState.lastTouchTime>Date.now()-100){let u=e.coordsAtPos(c,-1),O=0;u&&(O=e.inputState.lastTouchY<=u.bottom?-1:1),this.newSel=P.create([P.cursor(c,O)])}else this.newSel=P.single(h,c)}}};function wu(i,e,t,n){if(i.isComposite()){let r=-1,s=-1,o=-1,a=-1;for(let l=0,c=n,h=n;lt)return wu(f,e,t,c);if(u>=e&&r==-1&&(r=l,s=c),c>t&&f.dom.parentNode==i.dom){o=l,a=h;break}h=u,c=u+f.breakAfter}return{from:s,to:a<0?n+i.length:a,startDOM:(r?i.children[r-1].dom.nextSibling:null)||i.dom.firstChild,endDOM:o=0?i.children[o].dom:null}}else return i.isText()?{from:n,to:n+i.length,startDOM:i.dom,endDOM:i.dom.nextSibling}:null}function Pu(i,e){let t,{newSel:n}=e,{state:r}=i,s=r.selection.main,o=i.inputState.lastKeyTime>Date.now()-100?i.inputState.lastKeyCode:-1;if(e.bounds){let{from:a,to:l}=e.bounds,c=s.from,h=null;(o===8||L.android&&e.text.length=a&&s.to<=l&&(e.typeOver||f!=e.text)&&f.slice(0,s.from-a)==e.text.slice(0,s.from-a)&&f.slice(s.to-a)==e.text.slice(u=e.text.length-(f.length-(s.to-a)))?t={from:s.from,to:s.to,insert:K.of(e.text.slice(s.from-a,u).split(ln))}:(O=vu(f,e.text,c-a,h))&&(L.chrome&&o==13&&O.toB==O.from+2&&e.text.slice(O.from,O.toB)==ln+ln&&O.toB--,t={from:a+O.from,to:a+O.toA,insert:K.of(e.text.slice(O.from,O.toB).split(ln))})}else n&&(!i.hasFocus&&r.facet(Mt)||ps(n,s))&&(n=null);if(!t&&!n)return!1;if((L.mac||L.android)&&t&&t.from==t.to&&t.from==s.head-1&&/^\. ?$/.test(t.insert.toString())&&i.contentDOM.getAttribute("autocorrect")=="off"?(n&&t.insert.length==2&&(n=P.single(n.main.anchor-1,n.main.head-1)),t={from:t.from,to:t.to,insert:K.of([t.insert.toString().replace("."," ")])}):r.doc.lineAt(s.from).toDate.now()-50?t={from:s.from,to:s.to,insert:r.toText(i.inputState.insertingText)}:L.chrome&&t&&t.from==t.to&&t.from==s.head&&t.insert.toString()==` - `&&i.lineWrapping&&(n&&(n=P.single(n.main.anchor-1,n.main.head-1)),t={from:s.from,to:s.to,insert:K.of([" "])}),t)return Ka(i,t,n,o);if(n&&!ps(n,s)){let a=!1,l="select";return i.inputState.lastSelectionTime>Date.now()-50&&(i.inputState.lastSelectionOrigin=="select"&&(a=!0),l=i.inputState.lastSelectionOrigin,l=="select.pointer"&&(n=xu(r.facet(sr).map(c=>c(i)),n))),i.dispatch({selection:n,scrollIntoView:a,userEvent:l}),!0}else return!1}function Ka(i,e,t,n=-1){if(L.ios&&i.inputState.flushIOSKey(e))return!0;let r=i.state.selection.main;if(L.android&&(e.to==r.to&&(e.from==r.from||e.from==r.from-1&&i.state.sliceDoc(e.from,r.from)==" ")&&e.insert.length==1&&e.insert.lines==2&&un(i.contentDOM,"Enter",13)||(e.from==r.from-1&&e.to==r.to&&e.insert.length==0||n==8&&e.insert.lengthr.head)&&un(i.contentDOM,"Backspace",8)||e.from==r.from&&e.to==r.to+1&&e.insert.length==0&&un(i.contentDOM,"Delete",46)))return!0;let s=e.insert.toString();i.inputState.composing>=0&&i.inputState.composing++;let o,a=()=>o||(o=cQ(i,e,t));return i.state.facet(fu).some(l=>l(i,e.from,e.to,s,a))||i.dispatch(a()),!0}function cQ(i,e,t){let n,r=i.state,s=r.selection.main,o=-1;if(e.from==e.to&&e.froms.to){let l=e.fromf(i)),c,l);e.from==h&&(o=h)}if(o>-1)n={changes:e,selection:P.cursor(e.from+e.insert.length,-1)};else if(e.from>=s.from&&e.to<=s.to&&e.to-e.from>=(s.to-s.from)/3&&(!t||t.main.empty&&t.main.from==e.from+e.insert.length)&&i.inputState.composing<0){let l=s.frome.to?r.sliceDoc(e.to,s.to):"";n=r.replaceSelection(i.state.toText(l+e.insert.sliceString(0,void 0,i.state.lineBreak)+c))}else{let l=r.changes(e),c=t&&t.main.to<=l.newLength?t.main:void 0;if(r.selection.ranges.length>1&&(i.inputState.composing>=0||i.inputState.compositionPendingChange)&&e.to<=s.to+10&&e.to>=s.to-10){let h=i.state.sliceDoc(e.from,e.to),f,u=t&&ku(i,t.main.head);if(u){let p=e.insert.length-(e.to-e.from);f={from:u.from,to:u.to-p}}else f=i.state.doc.lineAt(s.head);let O=s.to-e.to;n=r.changeByRange(p=>{if(p.from==s.from&&p.to==s.to)return{changes:l,range:c||p.map(l)};let m=p.to-O,b=m-h.length;if(i.state.sliceDoc(b,m)!=h||m>=f.from&&b<=f.to)return{range:p};let g=r.changes({from:b,to:m,insert:e.insert}),Q=p.to-s.to;return{changes:g,range:c?P.range(Math.max(0,c.anchor+Q),Math.max(0,c.head+Q)):p.map(g)}})}else n={changes:l,selection:c&&r.selection.replaceRange(c)}}let a="input.type";return(i.composing||i.inputState.compositionPendingChange&&i.inputState.compositionEndedAt>Date.now()-50)&&(i.inputState.compositionPendingChange=!1,a+=".compose",i.inputState.compositionFirstChange&&(a+=".start",i.inputState.compositionFirstChange=!1)),r.update(n,{userEvent:a,scrollIntoView:!0})}function vu(i,e,t,n){let r=Math.min(i.length,e.length),s=0;for(;s0&&a>0&&i.charCodeAt(o-1)==e.charCodeAt(a-1);)o--,a--;if(n=="end"){let l=Math.max(0,s-Math.min(o,a));t-=o+l-s}if(o=o?s-t:0;s-=l,a=s+(a-o),o=s}else if(a=a?s-t:0;s-=l,o=s+(o-a),a=s}return{from:s,toA:o,toB:a}}function hQ(i){let e=[];if(i.root.activeElement!=i.contentDOM)return e;let{anchorNode:t,anchorOffset:n,focusNode:r,focusOffset:s}=i.observer.selectionRange;return t&&(e.push(new ds(t,n)),(r!=t||s!=n)&&e.push(new ds(r,s))),e}function fQ(i,e){if(i.length==0)return null;let t=i[0].pos,n=i.length==2?i[1].pos:t;return t>-1&&n>-1?P.single(t+e,n+e):null}function ps(i,e){return e.head==i.main.head&&e.anchor==i.main.anchor}var Ca=class{setSelectionOrigin(e){this.lastSelectionOrigin=e,this.lastSelectionTime=Date.now()}constructor(e){this.view=e,this.lastKeyCode=0,this.lastKeyTime=0,this.touchActive=!1,this.lastTouchTime=0,this.lastTouchX=0,this.lastTouchY=0,this.lastFocusTime=0,this.lastScrollTop=0,this.lastScrollLeft=0,this.lastWheelEvent=0,this.pendingIOSKey=void 0,this.lastIOSMomentumScroll=0,this.tabFocusMode=-1,this.lastSelectionOrigin=null,this.lastSelectionTime=0,this.lastContextMenu=0,this.scrollHandlers=[],this.handlers=Object.create(null),this.composing=-1,this.compositionFirstChange=null,this.compositionEndedAt=0,this.compositionPendingKey=!1,this.compositionPendingChange=!1,this.insertingText="",this.insertingTextAt=0,this.mouseSelection=null,this.draggedContent=null,this.handleEvent=this.handleEvent.bind(this),this.notifiedFocused=e.hasFocus,L.safari&&e.contentDOM.addEventListener("input",()=>null),L.gecko&&vQ(e.contentDOM.ownerDocument)}handleEvent(e){!bQ(this.view,e)||this.ignoreDuringComposition(e)||e.type=="keydown"&&this.keydown(e)||(this.view.updateState!=0?Promise.resolve().then(()=>this.runHandlers(e.type,e)):this.runHandlers(e.type,e))}runHandlers(e,t){let n=this.handlers[e];if(n){for(let r of n.observers)r(this.view,t);for(let r of n.handlers){if(t.defaultPrevented)break;if(r(this.view,t)){t.preventDefault();break}}}}ensureHandlers(e){let t=OQ(e),n=this.handlers,r=this.view.contentDOM;for(let s in t)if(s!="scroll"){let o=!t[s].handlers.length,a=n[s];a&&o!=!a.handlers.length&&(r.removeEventListener(s,this.handleEvent),a=null),a||r.addEventListener(s,this.handleEvent,{passive:o})}for(let s in n)s!="scroll"&&!t[s]&&r.removeEventListener(s,this.handleEvent);this.handlers=t}keydown(e){if(this.lastKeyCode=e.keyCode,this.lastKeyTime=Date.now(),e.keyCode==9&&this.tabFocusMode>-1&&(!this.tabFocusMode||Date.now()<=this.tabFocusMode))return!0;if(this.tabFocusMode>0&&e.keyCode!=27&&Tu.indexOf(e.keyCode)<0&&(this.tabFocusMode=-1),L.android&&L.chrome&&!e.synthetic&&(e.keyCode==13||e.keyCode==8))return this.view.observer.delayAndroidKey(e.key,e.keyCode),!0;if(L.ios&&!e.synthetic&&!e.altKey&&!e.metaKey&&($u.some(t=>t.keyCode==e.keyCode)&&!e.ctrlKey||dQ.indexOf(e.key)>-1&&e.ctrlKey)){let t={ctrlKey:e.ctrlKey,altKey:e.altKey,metaKey:e.metaKey,shiftKey:e.shiftKey};return t.shiftKey&&L.ios&&!/^(off|none)$/.test(this.view.contentDOM.autocapitalize)&&uQ(this.view.win)&&(t.shiftKey=!1),this.pendingIOSKey={key:e.key,keyCode:e.keyCode,mods:t},setTimeout(()=>this.flushIOSKey(),250),!0}return e.keyCode!=229&&this.view.observer.forceFlush(),!1}flushIOSKey(e){let t=this.pendingIOSKey;return!t||t.key=="Enter"&&e&&e.from0?!0:L.safari&&!L.ios&&this.compositionPendingKey&&Date.now()-this.compositionEndedAt<100?(this.compositionPendingKey=!1,!0):!1}startMouseSelection(e){this.mouseSelection&&this.mouseSelection.destroy(),this.mouseSelection=e}update(e){this.view.observer.update(e),this.mouseSelection&&this.mouseSelection.update(e),this.draggedContent&&e.docChanged&&(this.draggedContent=this.draggedContent.map(e.changes)),e.transactions.length&&(this.lastKeyCode=this.lastSelectionTime=0)}destroy(){this.mouseSelection&&this.mouseSelection.destroy()}};function uQ(i){return i.visualViewport?i.visualViewport.height*i.visualViewport.scale/i.document.documentElement.clientHeight<.85:!1}function _f(i,e){return(t,n)=>{try{return e.call(i,n,t)}catch(r){lt(t.state,r)}}}function OQ(i){let e=Object.create(null);function t(n){return e[n]||(e[n]={observers:[],handlers:[]})}for(let n of i){let r=n.spec,s=r&&r.plugin.domEventHandlers,o=r&&r.plugin.domEventObservers;if(s)for(let a in s){let l=s[a];l&&t(a).handlers.push(_f(n.value,l))}if(o)for(let a in o){let l=o[a];l&&t(a).observers.push(_f(n.value,l))}}for(let n in Qt)t(n).handlers.push(Qt[n]);for(let n in Le)t(n).observers.push(Le[n]);return e}var $u=[{key:"Backspace",keyCode:8,inputType:"deleteContentBackward"},{key:"Enter",keyCode:13,inputType:"insertParagraph"},{key:"Enter",keyCode:13,inputType:"insertLineBreak"},{key:"Delete",keyCode:46,inputType:"deleteContentForward"}],dQ="dthko",Tu=[16,17,18,20,91,92,224,225],es=6;function ts(i){return Math.max(0,i)*.7+8}function pQ(i,e){return Math.max(Math.abs(i.clientX-e.clientX),Math.abs(i.clientY-e.clientY))}var Xa=class{constructor(e,t,n,r){this.view=e,this.startEvent=t,this.style=n,this.mustSelect=r,this.scrollSpeed={x:0,y:0},this.scrolling=-1,this.lastEvent=t,this.scrollParents=Hf(e.contentDOM),this.atoms=e.state.facet(sr).map(o=>o(e));let s=e.contentDOM.ownerDocument;s.addEventListener("mousemove",this.move=this.move.bind(this)),s.addEventListener("mouseup",this.up=this.up.bind(this)),this.extend=t.shiftKey,this.multiple=e.state.facet(se.allowMultipleSelections)&&mQ(e,t),this.dragging=QQ(e,t)&&_u(t)==1?null:!1}start(e){this.dragging===!1&&this.select(e)}move(e){if(e.buttons==0)return this.destroy();if(this.dragging||this.dragging==null&&pQ(this.startEvent,e)<10)return;this.select(this.lastEvent=e);let t=0,n=0,r=0,s=0,o=this.view.win.innerWidth,a=this.view.win.innerHeight;this.scrollParents.x&&({left:r,right:o}=this.scrollParents.x.getBoundingClientRect()),this.scrollParents.y&&({top:s,bottom:a}=this.scrollParents.y.getBoundingClientRect());let l=Su(this.view);e.clientX-l.left<=r+es?t=-ts(r-e.clientX):e.clientX+l.right>=o-es&&(t=ts(e.clientX-o)),e.clientY-l.top<=s+es?n=-ts(s-e.clientY):e.clientY+l.bottom>=a-es&&(n=ts(e.clientY-a)),this.setScrollSpeed(t,n)}up(e){this.dragging==null&&this.select(this.lastEvent),this.dragging||e.preventDefault(),this.destroy()}destroy(){this.setScrollSpeed(0,0);let e=this.view.contentDOM.ownerDocument;e.removeEventListener("mousemove",this.move),e.removeEventListener("mouseup",this.up),this.view.inputState.mouseSelection=this.view.inputState.draggedContent=null}setScrollSpeed(e,t){this.scrollSpeed={x:e,y:t},e||t?this.scrolling<0&&(this.scrolling=setInterval(()=>this.scroll(),50)):this.scrolling>-1&&(clearInterval(this.scrolling),this.scrolling=-1)}scroll(){let{x:e,y:t}=this.scrollSpeed;e&&this.scrollParents.x&&(this.scrollParents.x.scrollLeft+=e,e=0),t&&this.scrollParents.y&&(this.scrollParents.y.scrollTop+=t,t=0),(e||t)&&this.view.win.scrollBy(e,t),this.dragging===!1&&this.select(this.lastEvent)}select(e){let{view:t}=this,n=xu(this.atoms,this.style.get(e,this.extend,this.multiple));(this.mustSelect||!n.eq(t.state.selection,this.dragging===!1))&&this.view.dispatch({selection:n,userEvent:"select.pointer"}),this.mustSelect=!1}update(e){e.transactions.some(t=>t.isUserEvent("input.type"))?this.destroy():this.style.update(e)&&setTimeout(()=>this.select(this.lastEvent),20)}};function mQ(i,e){let t=i.state.facet(au);return t.length?t[0](e):L.mac?e.metaKey:e.ctrlKey}function gQ(i,e){let t=i.state.facet(lu);return t.length?t[0](e):L.mac?!e.altKey:!e.ctrlKey}function QQ(i,e){let{main:t}=i.state.selection;if(t.empty)return!1;let n=nr(i.root);if(!n||n.rangeCount==0)return!0;let r=n.getRangeAt(0).getClientRects();for(let s=0;s=e.clientX&&o.top<=e.clientY&&o.bottom>=e.clientY)return!0}return!1}function bQ(i,e){if(!e.bubbles)return!0;if(e.defaultPrevented)return!1;for(let t=e.target,n;t!=i.contentDOM;t=t.parentNode)if(!t||t.nodeType==11||(n=fe.get(t))&&n.isWidget()&&!n.isHidden&&n.widget.ignoreEvent(e))return!1;return!0}var Qt=Object.create(null),Le=Object.create(null),Cu=L.ie&&L.ie_version<15||L.ios&&L.webkit_version<604;function SQ(i){let e=i.dom.parentNode;if(!e)return;let t=e.appendChild(document.createElement("textarea"));t.style.cssText="position: fixed; left: -10000px; top: 10px",t.focus(),setTimeout(()=>{i.focus(),t.remove(),Xu(i,t.value)},50)}function ks(i,e,t){for(let n of i.facet(e))t=n(t,i);return t}function Xu(i,e){e=ks(i.state,Ga,e);let{state:t}=i,n,r=1,s=t.toText(e),o=s.lines==t.selection.ranges.length;if(_a!=null&&t.selection.ranges.every(l=>l.empty)&&_a==s.toString()){let l=-1;n=t.changeByRange(c=>{let h=t.doc.lineAt(c.from);if(h.from==l)return{range:c};l=h.from;let f=t.toText((o?s.line(r++).text:e)+t.lineBreak);return{changes:{from:h.from,insert:f},range:P.cursor(c.from+f.length)}})}else o?n=t.changeByRange(l=>{let c=s.line(r++);return{changes:{from:l.from,to:l.to,insert:c.text},range:P.cursor(l.from+c.length)}}):n=t.replaceSelection(s);i.dispatch(n,{userEvent:"input.paste",scrollIntoView:!0})}Le.scroll=i=>{let e=i.inputState;e.lastScrollTop=i.scrollDOM.scrollTop,e.lastScrollLeft=i.scrollDOM.scrollLeft,L.ios&&!e.touchActive&&(e.lastIOSMomentumScroll=Date.now())};Le.wheel=Le.mousewheel=i=>{i.inputState.lastWheelEvent=Date.now()};Qt.keydown=(i,e)=>(i.inputState.setSelectionOrigin("select"),e.keyCode==27&&i.inputState.tabFocusMode!=0&&(i.inputState.tabFocusMode=Date.now()+2e3),!1);Le.touchstart=(i,e)=>{let t=i.inputState,n=e.targetTouches[0];t.touchActive=!0,t.lastTouchTime=Date.now(),n&&(t.lastTouchX=n.clientX,t.lastTouchY=n.clientY),t.setSelectionOrigin("select.pointer")};Le.touchmove=i=>{i.inputState.setSelectionOrigin("select.pointer")};Le.touchend=(i,e)=>{i.inputState.touchActive=!1};Qt.mousedown=(i,e)=>{if(i.observer.flush(),i.inputState.lastTouchTime>Date.now()-2e3)return!1;let t=null;for(let n of i.state.facet(cu))if(t=n(i,e),t)break;if(!t&&e.button==0&&(t=kQ(i,e)),t){let n=!i.hasFocus;i.inputState.startMouseSelection(new Xa(i,e,t,n)),n&&i.observer.ignore(()=>{Kf(i.contentDOM);let s=i.root.activeElement;s&&!s.contains(i.contentDOM)&&s.blur()});let r=i.inputState.mouseSelection;if(r)return r.start(e),r.dragging===!1}else i.inputState.setSelectionOrigin("select.pointer");return!1};function Rf(i,e,t,n){if(n==1)return P.cursor(e,t);if(n==2)return tQ(i.state,e,t);{let r=i.docView.lineAt(e,t),s=i.state.doc.lineAt(r?r.posAtEnd:e),o=r?r.posAtStart:s.from,a=r?r.posAtEnd:s.to;return aDate.now()-400&&Math.abs(e.clientX-i.clientX)<2&&Math.abs(e.clientY-i.clientY)<2?(Zf+1)%3:1}function kQ(i,e){let t=i.posAndSideAtCoords({x:e.clientX,y:e.clientY},!1),n=_u(e),r=i.state.selection;return{update(s){s.docChanged&&(t.pos=s.changes.mapPos(t.pos),r=r.map(s.changes))},get(s,o,a){let l=i.posAndSideAtCoords({x:s.clientX,y:s.clientY},!1),c,h=Rf(i,l.pos,l.assoc,n);if(t.pos!=l.pos&&!o){let f=Rf(i,t.pos,t.assoc,n),u=Math.min(f.from,h.from),O=Math.max(f.to,h.to);h=u1&&(c=xQ(r,l.pos))?c:a?r.addRange(h):P.create([h])}}}function xQ(i,e){for(let t=0;t=e)return P.create(i.ranges.slice(0,t).concat(i.ranges.slice(t+1)),i.mainIndex==t?0:i.mainIndex-(i.mainIndex>t?1:0))}return null}Qt.dragstart=(i,e)=>{let{selection:{main:t}}=i.state;if(e.target.draggable){let r=i.docView.tile.nearest(e.target);if(r&&r.isWidget()){let s=r.posAtStart,o=s+r.length;(s>=t.to||o<=t.from)&&(t=P.undirectionalRange(s,o))}}let{inputState:n}=i;return n.mouseSelection&&(n.mouseSelection.dragging=!0),n.draggedContent=t,e.dataTransfer&&(e.dataTransfer.setData("Text",ks(i.state,Na,i.state.sliceDoc(t.from,t.to))),e.dataTransfer.effectAllowed="copyMove"),!1};Qt.dragend=i=>(i.inputState.draggedContent=null,!1);function qf(i,e,t,n){if(t=ks(i.state,Ga,t),!t)return;let r=i.posAtCoords({x:e.clientX,y:e.clientY},!1),{draggedContent:s}=i.inputState,o=n&&s&&gQ(i,e)?{from:s.from,to:s.to}:null,a={from:r,insert:t},l=i.state.changes(o?[o,a]:a);i.focus(),i.dispatch({changes:l,selection:{anchor:l.mapPos(r,-1),head:l.mapPos(r,1)},userEvent:o?"move.drop":"input.drop"}),i.inputState.draggedContent=null}Qt.drop=(i,e)=>{if(!e.dataTransfer)return!1;if(i.state.readOnly)return!0;let t=e.dataTransfer.files;if(t&&t.length){let n=Array(t.length),r=0,s=()=>{++r==t.length&&qf(i,e,n.filter(o=>o!=null).join(i.state.lineBreak),!1)};for(let o=0;o{/[\x00-\x08\x0e-\x1f]{2}/.test(a.result)||(n[o]=a.result),s()},a.readAsText(t[o])}return!0}else{let n=e.dataTransfer.getData("Text");if(n)return qf(i,e,n,!0),!0}return!1};Qt.paste=(i,e)=>{if(i.state.readOnly)return!0;i.observer.flush();let t=Cu?null:e.clipboardData;return t?(Xu(i,t.getData("text/plain")||t.getData("text/uri-list")),!0):(SQ(i),!1)};function wQ(i,e){let t=i.dom.parentNode;if(!t)return;let n=t.appendChild(document.createElement("textarea"));n.style.cssText="position: fixed; left: -10000px; top: 10px",n.value=e,n.focus(),n.selectionEnd=e.length,n.selectionStart=0,setTimeout(()=>{n.remove(),i.focus()},50)}function PQ(i){let e=[],t=[],n=!1;for(let r of i.selection.ranges)r.empty||(e.push(i.sliceDoc(r.from,r.to)),t.push(r));if(!e.length){let r=-1;for(let{from:s}of i.selection.ranges){let o=i.doc.lineAt(s);o.number>r&&(e.push(o.text),t.push({from:o.from,to:Math.min(i.doc.length,o.to+1)})),r=o.number}n=!0}return{text:ks(i,Na,e.join(i.lineBreak)),ranges:t,linewise:n}}var _a=null;Qt.copy=Qt.cut=(i,e)=>{if(!Gn(i.contentDOM,i.observer.selectionRange))return!1;let{text:t,ranges:n,linewise:r}=PQ(i.state);if(!t&&!r)return!1;_a=r?t:null,e.type=="cut"&&!i.state.readOnly&&i.dispatch({changes:n,scrollIntoView:!0,userEvent:"delete.cut"});let s=Cu?null:e.clipboardData;return s?(s.clearData(),s.setData("text/plain",t),!0):(wQ(i,t),!1)};var Ru=$e.define();function Au(i,e){let t=[];for(let n of i.facet(uu)){let r=n(i,e);r&&t.push(r)}return t.length?i.update({effects:t,annotations:Ru.of(!0)}):null}function Zu(i){setTimeout(()=>{let e=i.hasFocus;if(e!=i.inputState.notifiedFocused){let t=Au(i.state,e);t?i.dispatch(t):i.update([])}},10)}Le.focus=i=>{i.inputState.lastFocusTime=Date.now(),!i.scrollDOM.scrollTop&&(i.inputState.lastScrollTop||i.inputState.lastScrollLeft)&&(i.scrollDOM.scrollTop=i.inputState.lastScrollTop,i.scrollDOM.scrollLeft=i.inputState.lastScrollLeft),Zu(i)};Le.blur=i=>{i.observer.clearSelectionRange(),Zu(i)};Le.compositionstart=Le.compositionupdate=i=>{i.observer.editContext||(i.inputState.compositionFirstChange==null&&(i.inputState.compositionFirstChange=!0),i.inputState.composing<0&&(i.inputState.composing=0))};Le.compositionend=i=>{i.observer.editContext||(i.inputState.composing=-1,i.inputState.compositionEndedAt=Date.now(),i.inputState.compositionPendingKey=!0,i.inputState.compositionPendingChange=i.observer.pendingRecords().length>0,i.inputState.compositionFirstChange=null,L.chrome&&L.android?i.observer.flushSoon():i.inputState.compositionPendingChange?Promise.resolve().then(()=>i.observer.flush()):setTimeout(()=>{i.inputState.composing<0&&i.docView.hasComposition&&i.update([])},50))};Le.contextmenu=i=>{i.inputState.lastContextMenu=Date.now()};Qt.beforeinput=(i,e)=>{var t,n;if((e.inputType=="insertText"||e.inputType=="insertCompositionText")&&(i.inputState.insertingText=e.data,i.inputState.insertingTextAt=Date.now()),e.inputType=="insertReplacementText"&&i.observer.editContext){let s=(t=e.dataTransfer)===null||t===void 0?void 0:t.getData("text/plain"),o=e.getTargetRanges();if(s&&o.length){let a=o[0],l=i.posAtDOM(a.startContainer,a.startOffset),c=i.posAtDOM(a.endContainer,a.endOffset);return Ka(i,{from:l,to:c,insert:i.state.toText(s)},null),!0}}let r;if(L.chrome&&L.android&&(r=$u.find(s=>s.inputType==e.inputType))&&(i.observer.delayAndroidKey(r.key,r.keyCode),r.key=="Backspace"||r.key=="Delete")){let s=((n=window.visualViewport)===null||n===void 0?void 0:n.height)||0;setTimeout(()=>{var o;(((o=window.visualViewport)===null||o===void 0?void 0:o.height)||0)>s+10&&i.hasFocus&&(i.contentDOM.blur(),i.focus())},100)}return L.ios&&e.inputType=="deleteContentForward"&&i.observer.flushSoon(),L.safari&&e.inputType=="insertText"&&i.inputState.composing>=0&&setTimeout(()=>Le.compositionend(i,e),20),!1};var zf=new Set;function vQ(i){zf.has(i)||(zf.add(i),i.addEventListener("copy",()=>{}),i.addEventListener("cut",()=>{}))}var Lf=["pre-wrap","normal","pre-line","break-spaces"],gn=!1;function Mf(){gn=!1}var Ra=class{constructor(e){this.lineWrapping=e,this.doc=K.empty,this.heightSamples={},this.lineHeight=14,this.charWidth=7,this.textHeight=14,this.lineLength=30}heightForGap(e,t){let n=this.doc.lineAt(t).number-this.doc.lineAt(e).number+1;return this.lineWrapping&&(n+=Math.max(0,Math.ceil((t-e-n*this.lineLength*.5)/this.lineLength))),this.lineHeight*n}heightForLine(e){return this.lineWrapping?(1+Math.max(0,Math.ceil((e-this.lineLength)/Math.max(1,this.lineLength-5))))*this.lineHeight:this.lineHeight}setDoc(e){return this.doc=e,this}mustRefreshForWrapping(e){return Lf.indexOf(e)>-1!=this.lineWrapping}mustRefreshForHeights(e){let t=!1;for(let n=0;n-1,l=Math.abs(t-this.lineHeight)>.3||this.lineWrapping!=a;if(this.lineWrapping=a,this.lineHeight=t,this.charWidth=n,this.textHeight=r,this.lineLength=s,l){this.heightSamples={};for(let c=0;c0}set outdated(e){this.flags=(e?2:0)|this.flags&-3}setHeight(e){this.height!=e&&(Math.abs(this.height-e)>as&&(gn=!0),this.height=e)}replace(e,t,n){return i.of(n)}decomposeLeft(e,t){t.push(this)}decomposeRight(e,t){t.push(this)}applyChanges(e,t,n,r){let s=this,o=n.doc;for(let a=r.length-1;a>=0;a--){let{fromA:l,toA:c,fromB:h,toB:f}=r[a],u=s.lineAt(l,le.ByPosNoHeight,n.setDoc(t),0,0),O=u.to>=c?u:s.lineAt(c,le.ByPosNoHeight,n,0,0);for(f+=O.to-c,c=O.to;a>0&&u.from<=r[a-1].toA;)l=r[a-1].fromA,h=r[a-1].fromB,a--,ls*2){let a=e[t-1];a.break?e.splice(--t,1,a.left,null,a.right):e.splice(--t,1,a.left,a.right),n+=1+a.break,r-=a.size}else if(s>r*2){let a=e[n];a.break?e.splice(n,1,a.left,null,a.right):e.splice(n,1,a.left,a.right),n+=2+a.break,s-=a.size}else break;else if(r=s&&o(this.lineAt(0,le.ByPos,n,r,s))}setMeasuredHeight(e){let t=e.heights[e.index++];t<0?(this.spaceAbove=-t,t=e.heights[e.index++]):this.spaceAbove=0,this.setHeight(t)}updateHeight(e,t=0,n=!1,r){return r&&r.from<=t&&r.more&&this.setMeasuredHeight(r),this.outdated=!1,this}toString(){return`block(${this.length})`}},st=class i extends gs{constructor(e,t,n){super(e,t,null),this.collapsed=0,this.widgetHeight=0,this.breaks=0,this.spaceAbove=n}mainBlock(e,t){return new mt(t,this.length,e+this.spaceAbove,this.height-this.spaceAbove,this.breaks)}replace(e,t,n){let r=n[0];return n.length==1&&(r instanceof i||r instanceof ai&&r.flags&4)&&Math.abs(this.length-r.length)<10?(r instanceof ai?r=new i(r.length,this.height,this.spaceAbove):r.height=this.height,this.outdated||(r.outdated=!1),r):Fe.of(n)}updateHeight(e,t=0,n=!1,r){return r&&r.from<=t&&r.more?this.setMeasuredHeight(r):(n||this.outdated)&&(this.spaceAbove=0,this.setHeight(Math.max(this.widgetHeight,e.heightForLine(this.length-this.collapsed))+this.breaks*e.lineHeight)),this.outdated=!1,this}toString(){return`line(${this.length}${this.collapsed?-this.collapsed:""}${this.widgetHeight?":"+this.widgetHeight:""})`}},ai=class i extends Fe{constructor(e){super(e,0)}heightMetrics(e,t){let n=e.doc.lineAt(t).number,r=e.doc.lineAt(t+this.length).number,s=r-n+1,o,a=0;if(e.lineWrapping){let l=Math.min(this.height,e.lineHeight*s);o=l/s,this.length>s+1&&(a=(this.height-l)/(this.length-s-1))}else o=this.height/s;return{firstLine:n,lastLine:r,perLine:o,perChar:a}}blockAt(e,t,n,r){let{firstLine:s,lastLine:o,perLine:a,perChar:l}=this.heightMetrics(t,r);if(t.lineWrapping){let c=r+(e0){let s=n[n.length-1];s instanceof i?n[n.length-1]=new i(s.length+r):n.push(null,new i(r-1))}if(e>0){let s=n[0];s instanceof i?n[0]=new i(e+s.length):n.unshift(new i(e-1),null)}return Fe.of(n)}decomposeLeft(e,t){t.push(new i(e-1),null)}decomposeRight(e,t){t.push(null,new i(this.length-e-1))}updateHeight(e,t=0,n=!1,r){let s=t+this.length;if(r&&r.from<=t+this.length&&r.more){let o=[],a=Math.max(t,r.from),l=-1;for(r.from>t&&o.push(new i(r.from-t-1).updateHeight(e,t));a<=s&&r.more;){let h=e.doc.lineAt(a).length;o.length&&o.push(null);let f=r.heights[r.index++],u=0;f<0&&(u=-f,f=r.heights[r.index++]),l==-1?l=f:Math.abs(f-l)>=as&&(l=-2);let O=new st(h,f,u);O.outdated=!1,o.push(O),a+=h+1}a<=s&&o.push(null,new i(s-a).updateHeight(e,a));let c=Fe.of(o);return(l<0||Math.abs(c.height-this.height)>=as||Math.abs(l-this.heightMetrics(e,t).perLine)>=as)&&(gn=!0),ms(this,c)}else(n||this.outdated)&&(this.setHeight(e.heightForGap(t,t+this.length)),this.outdated=!1);return this}toString(){return`gap(${this.length})`}},Za=class extends Fe{constructor(e,t,n){super(e.length+t+n.length,e.height+n.height,t|(e.outdated||n.outdated?2:0)),this.left=e,this.right=n,this.size=e.size+n.size}get break(){return this.flags&1}blockAt(e,t,n,r){let s=n+this.left.height;return ea))return c;let h=t==le.ByPosNoHeight?le.ByPosNoHeight:le.ByPos;return l?c.join(this.right.lineAt(a,h,n,o,a)):this.left.lineAt(a,h,n,r,s).join(c)}forEachLine(e,t,n,r,s,o){let a=r+this.left.height,l=s+this.left.length+this.break;if(this.break)e=l&&this.right.forEachLine(e,t,n,a,l,o);else{let c=this.lineAt(l,le.ByPos,n,r,s);e=e&&c.from<=t&&o(c),t>c.to&&this.right.forEachLine(c.to+1,t,n,a,l,o)}}replace(e,t,n){let r=this.left.length+this.break;if(tthis.left.length)return this.balanced(this.left,this.right.replace(e-r,t-r,n));let s=[];e>0&&this.decomposeLeft(e,s);let o=s.length;for(let a of n)s.push(a);if(e>0&&Wf(s,o-1),t=n&&t.push(null)),e>n&&this.right.decomposeLeft(e-n,t)}decomposeRight(e,t){let n=this.left.length,r=n+this.break;if(e>=r)return this.right.decomposeRight(e-r,t);e2*t.size||t.size>2*e.size?Fe.of(this.break?[e,null,t]:[e,t]):(this.left=ms(this.left,e),this.right=ms(this.right,t),this.setHeight(e.height+t.height),this.outdated=e.outdated||t.outdated,this.size=e.size+t.size,this.length=e.length+this.break+t.length,this)}updateHeight(e,t=0,n=!1,r){let{left:s,right:o}=this,a=t+s.length+this.break,l=null;return r&&r.from<=t+s.length&&r.more?l=s=s.updateHeight(e,t,n,r):s.updateHeight(e,t,n),r&&r.from<=a+o.length&&r.more?l=o=o.updateHeight(e,a,n,r):o.updateHeight(e,a,n),l?this.balanced(s,o):(this.height=this.left.height+this.right.height,this.outdated=!1,this)}toString(){return this.left+(this.break?" ":"-")+this.right}};function Wf(i,e){let t,n;i[e]==null&&(t=i[e-1])instanceof ai&&(n=i[e+1])instanceof ai&&i.splice(e-1,3,new ai(t.length+1+n.length))}var TQ=5,Ea=class i{constructor(e,t){this.pos=e,this.oracle=t,this.nodes=[],this.lineStart=-1,this.lineEnd=-1,this.covering=null,this.writtenTo=e}get isCovered(){return this.covering&&this.nodes[this.nodes.length-1]==this.covering}span(e,t){if(this.lineStart>-1){let n=Math.min(t,this.lineEnd),r=this.nodes[this.nodes.length-1];r instanceof st?r.length+=n-this.pos:(n>this.pos||!this.isCovered)&&this.nodes.push(new st(n-this.pos,-1,0)),this.writtenTo=n,t>n&&(this.nodes.push(null),this.writtenTo++,this.lineStart=-1)}this.pos=t}point(e,t,n){if(e=TQ)&&this.addLineDeco(r,s,o)}else t>e&&this.span(e,t);this.lineEnd>-1&&this.lineEnd-1)return;let{from:e,to:t}=this.oracle.doc.lineAt(this.pos);this.lineStart=e,this.lineEnd=t,this.writtenToe&&this.nodes.push(new st(this.pos-e,-1,0)),this.writtenTo=this.pos}blankContent(e,t){let n=new ai(t-e);return this.oracle.doc.lineAt(e).to==t&&(n.flags|=4),n}ensureLine(){this.enterLine();let e=this.nodes.length?this.nodes[this.nodes.length-1]:null;if(e instanceof st)return e;let t=new st(0,-1,0);return this.nodes.push(t),t}addBlock(e){this.enterLine();let t=e.deco;t&&t.startSide>0&&!this.isCovered&&this.ensureLine(),this.nodes.push(e),this.writtenTo=this.pos=this.pos+e.length,t&&t.endSide>0&&(this.covering=e)}addLineDeco(e,t,n){let r=this.ensureLine();r.length+=n,r.collapsed+=n,r.widgetHeight=Math.max(r.widgetHeight,e),r.breaks+=t,this.writtenTo=this.pos=this.pos+n}finish(e){let t=this.nodes.length==0?null:this.nodes[this.nodes.length-1];this.lineStart>-1&&!(t instanceof st)&&!this.isCovered?this.nodes.push(new st(0,-1,0)):(this.writtenToh.clientHeight||h.scrollWidth>h.clientWidth)&&f.overflow!="visible"){let u=h.getBoundingClientRect();s=Math.max(s,u.left),o=Math.min(o,u.right),a=Math.max(a,u.top),l=Math.min(c==i.parentNode?r.innerHeight:l,u.bottom)}c=f.position=="absolute"||f.position=="fixed"?h.offsetParent:h.parentNode}else if(c.nodeType==11)c=c.host;else break;return{left:s-t.left,right:Math.max(s,o)-t.left,top:a-(t.top+e),bottom:Math.max(a,l)-(t.top+e)}}function _Q(i){let e=i.getBoundingClientRect(),t=i.ownerDocument.defaultView||window;return e.left0&&e.top0}function RQ(i,e){let t=i.getBoundingClientRect();return{left:0,right:t.right-t.left,top:e,bottom:t.bottom-(t.top+e)}}var er=class{constructor(e,t,n,r){this.from=e,this.to=t,this.size=n,this.displaySize=r}static same(e,t){if(e.length!=t.length)return!1;for(let n=0;ntypeof r!="function"&&r.class=="cm-lineWrapping");this.heightOracle=new Ra(n),this.stateDeco=Vf(t),this.heightMap=Fe.empty().applyChanges(this.stateDeco,K.empty,this.heightOracle.setDoc(t.doc),[new gt(0,0,0,t.doc.length)]);for(let r=0;r<2&&(this.viewport=this.getViewport(0,null),!!this.updateForViewport());r++);this.updateViewportLines(),this.lineGaps=this.ensureLineGaps([]),this.lineGapDeco=R.set(this.lineGaps.map(r=>r.draw(this,!1))),this.scrollParent=e.scrollDOM,this.computeVisibleRanges()}updateForViewport(){let e=[this.viewport],{main:t}=this.state.selection;for(let n=0;n<=1;n++){let r=n?t.head:t.anchor;if(!e.some(({from:s,to:o})=>r>=s&&r<=o)){let{from:s,to:o}=this.lineBlockAt(r);e.push(new hn(s,o))}}return this.viewports=e.sort((n,r)=>n.from-r.from),this.updateScaler()}updateScaler(){let e=this.scaler;return this.scaler=this.heightMap.height<=7e6?jf:new La(this.heightOracle,this.heightMap,this.viewports),e.eq(this.scaler)?0:2}updateViewportLines(){this.viewportLines=[],this.heightMap.forEachLine(this.viewport.from,this.viewport.to,this.heightOracle.setDoc(this.state.doc),0,0,e=>{this.viewportLines.push(Bn(e,this.scaler))})}update(e,t=null){this.state=e.state;let n=this.stateDeco;this.stateDeco=Vf(this.state);let r=e.changedRanges,s=gt.extendWithRanges(r,CQ(n,this.stateDeco,e?e.changes:qe.empty(this.state.doc.length))),o=this.heightMap.height,a=this.scrolledToBottom?null:this.scrollAnchorAt(this.scrollOffset);Mf(),this.heightMap=this.heightMap.applyChanges(this.stateDeco,e.startState.doc,this.heightOracle.setDoc(this.state.doc),s),(this.heightMap.height!=o||gn)&&(e.flags|=2),a?(this.scrollAnchorPos=e.changes.mapPos(a.from,-1),this.scrollAnchorHeight=a.top):(this.scrollAnchorPos=-1,this.scrollAnchorHeight=o);let l=s.length?this.mapViewport(this.viewport,e.changes):this.viewport;(t&&(t.range.headl.to)||!this.viewportIsAppropriate(l))&&(l=this.getViewport(0,t));let c=l.from!=this.viewport.from||l.to!=this.viewport.to;this.viewport=l,e.flags|=this.updateForViewport(),(c||!e.changes.empty||e.flags&2)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(this.mapLineGaps(this.lineGaps,e.changes))),e.flags|=this.computeVisibleRanges(e.changes),t&&(this.scrollTarget=t),!this.mustEnforceCursorAssoc&&(e.selectionSet||e.focusChanged)&&e.view.lineWrapping&&e.state.selection.main.empty&&e.state.selection.main.assoc&&!e.state.facet(M0)&&(this.mustEnforceCursorAssoc=!0)}measure(){let{view:e}=this,t=e.contentDOM,n=window.getComputedStyle(t),r=this.heightOracle,s=n.whiteSpace;this.defaultTextDirection=n.direction=="rtl"?ue.RTL:ue.LTR;let o=this.heightOracle.mustRefreshForWrapping(s)||this.mustMeasureContent==="refresh",a=t.getBoundingClientRect(),l=o||this.mustMeasureContent||this.contentDOMHeight!=a.height;this.contentDOMHeight=a.height,this.mustMeasureContent=!1;let c=0,h=0;if(a.width&&a.height){let{scaleX:v,scaleY:$}=Ff(t,a);(v>.005&&Math.abs(this.scaleX-v)>.005||$>.005&&Math.abs(this.scaleY-$)>.005)&&(this.scaleX=v,this.scaleY=$,c|=16,o=l=!0)}let f=(parseInt(n.paddingTop)||0)*this.scaleY,u=(parseInt(n.paddingBottom)||0)*this.scaleY;(this.paddingTop!=f||this.paddingBottom!=u)&&(this.paddingTop=f,this.paddingBottom=u,c|=18),this.editorWidth!=e.scrollDOM.clientWidth&&(r.lineWrapping&&(l=!0),this.editorWidth=e.scrollDOM.clientWidth,c|=16);let O=Hf(this.view.contentDOM,!1).y;O!=this.scrollParent&&(this.scrollParent=O,this.scrollAnchorHeight=-1,this.scrollOffset=0);let p=this.getScrollOffset();this.scrollOffset!=p&&(this.scrollAnchorHeight=-1,this.scrollOffset=p),this.scrolledToBottom=Jf(this.scrollParent||e.win);let m=(this.printing?RQ:XQ)(t,this.paddingTop),b=m.top-this.pixelViewport.top,g=m.bottom-this.pixelViewport.bottom;this.pixelViewport=m;let Q=this.pixelViewport.bottom>this.pixelViewport.top&&this.pixelViewport.right>this.pixelViewport.left;if(Q!=this.inView&&(this.inView=Q,Q&&(l=!0)),!this.inView&&!this.scrollTarget&&!_Q(e.dom))return 0;let S=a.width;if((this.contentDOMWidth!=S||this.editorHeight!=e.scrollDOM.clientHeight)&&(this.contentDOMWidth=a.width,this.editorHeight=e.scrollDOM.clientHeight,c|=16),l){let v=e.docView.measureVisibleLineHeights(this.viewport);if(r.mustRefreshForHeights(v)&&(o=!0),o||r.lineWrapping&&Math.abs(S-this.contentDOMWidth)>r.charWidth){let{lineHeight:$,charWidth:A,textHeight:_}=e.docView.measureTextSize();o=$>0&&r.refresh(s,$,A,_,Math.max(5,S/A),v),o&&(e.docView.minWidth=0,c|=16)}b>0&&g>0?h=Math.max(b,g):b<0&&g<0&&(h=Math.min(b,g)),Mf();for(let $ of this.viewports){let A=$.from==this.viewport.from?v:e.docView.measureVisibleLineHeights($);this.heightMap=(o?Fe.empty().applyChanges(this.stateDeco,K.empty,this.heightOracle,[new gt(0,0,0,e.state.doc.length)]):this.heightMap).updateHeight(r,0,o,new Aa($.from,A))}gn&&(c|=2)}let x=!this.viewportIsAppropriate(this.viewport,h)||this.scrollTarget&&(this.scrollTarget.range.headthis.viewport.to);return x&&(c&2&&(c|=this.updateScaler()),this.viewport=this.getViewport(h,this.scrollTarget),c|=this.updateForViewport()),(c&2||x)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(o?[]:this.lineGaps,e)),c|=this.computeVisibleRanges(),this.mustEnforceCursorAssoc&&(this.mustEnforceCursorAssoc=!1,e.docView.enforceCursorAssoc()),c}get visibleTop(){return this.scaler.fromDOM(this.pixelViewport.top)}get visibleBottom(){return this.scaler.fromDOM(this.pixelViewport.bottom)}getViewport(e,t){let n=.5-Math.max(-.5,Math.min(.5,e/1e3/2)),r=this.heightMap,s=this.heightOracle,{visibleTop:o,visibleBottom:a}=this,l=new hn(r.lineAt(o-n*1e3,le.ByHeight,s,0,0).from,r.lineAt(a+(1-n)*1e3,le.ByHeight,s,0,0).to);if(t){let{head:c}=t.range;if(cl.to){let h=Math.min(this.editorHeight,this.pixelViewport.bottom-this.pixelViewport.top),f=r.lineAt(c,le.ByPos,s,0,0),u;t.y=="center"?u=(f.top+f.bottom)/2-h/2:t.y=="start"||t.y=="nearest"&&c=a+Math.max(10,Math.min(n,250)))&&r>o-2*1e3&&s>1,o=r<<1;if(this.defaultTextDirection!=ue.LTR&&!n)return[];let a=[],l=(h,f,u,O)=>{if(f-hh&&gg.from>=u.from&&g.to<=u.to&&Math.abs(g.from-h)g.fromQ));if(!b){if(fS.from<=f&&S.to>=f)){let S=t.moveToLineBoundary(P.cursor(f),!1,!0).head;S>h&&(f=S)}let g=this.gapSize(u,h,f,O),Q=n||g<2e6?g:2e6;b=new er(h,f,g,Q)}a.push(b)},c=h=>{if(h.length2e6)for(let $ of e)$.from>=h.from&&$.fromh.from&&l(h.from,O,h,f),pt.draw(this,this.heightOracle.lineWrapping))))}computeVisibleRanges(e){let t=this.stateDeco;this.lineGaps.length&&(t=t.concat(this.lineGapDeco));let n=[];ae.spans(t,this.viewport.from,this.viewport.to,{span(s,o){n.push({from:s,to:o})},point(){}},20);let r=0;if(n.length!=this.visibleRanges.length)r=12;else for(let s=0;s=this.viewport.from&&e<=this.viewport.to&&this.viewportLines.find(t=>t.from<=e&&t.to>=e)||Bn(this.heightMap.lineAt(e,le.ByPos,this.heightOracle,0,0),this.scaler)}lineBlockAtHeight(e){return e>=this.viewportLines[0].top&&e<=this.viewportLines[this.viewportLines.length-1].bottom&&this.viewportLines.find(t=>t.top<=e&&t.bottom>=e)||Bn(this.heightMap.lineAt(this.scaler.fromDOM(e),le.ByHeight,this.heightOracle,0,0),this.scaler)}getScrollOffset(){return(this.scrollParent==this.view.scrollDOM?this.scrollParent.scrollTop:(this.scrollParent?this.scrollParent.getBoundingClientRect().top:0)-this.view.contentDOM.getBoundingClientRect().top)*this.scaleY}scrollAnchorAt(e){let t=this.lineBlockAtHeight(e+8);return t.from>=this.viewport.from||this.viewportLines[0].top-e>200?t:this.viewportLines[0]}elementAtHeight(e){return Bn(this.heightMap.blockAt(this.scaler.fromDOM(e),this.heightOracle,0,0),this.scaler)}get docHeight(){return this.scaler.toDOM(this.heightMap.height)}get contentHeight(){return this.docHeight+this.paddingTop+this.paddingBottom}},hn=class{constructor(e,t){this.from=e,this.to=t}};function AQ(i,e,t){let n=[],r=i,s=0;return ae.spans(t,i,e,{span(){},point(o,a){o>r&&(n.push({from:r,to:o}),s+=o-r),r=a}},20),r=1)return e[e.length-1].to;let n=Math.floor(i*t);for(let r=0;;r++){let{from:s,to:o}=e[r],a=o-s;if(n<=a)return s+n;n-=a}}function ns(i,e){let t=0;for(let{from:n,to:r}of i.ranges){if(e<=r){t+=e-n;break}t+=r-n}return t/i.total}function ZQ(i,e){for(let t of i)if(e(t))return t}var jf={toDOM(i){return i},fromDOM(i){return i},scale:1,eq(i){return i==this}};function Vf(i){let e=i.facet(ys).filter(n=>typeof n!="function"),t=i.facet(Ha).filter(n=>typeof n!="function");return t.length&&e.push(ae.join(t)),e}var La=class i{constructor(e,t,n){let r=0,s=0,o=0;this.viewports=n.map(({from:a,to:l})=>{let c=t.lineAt(a,le.ByPos,e,0,0).top,h=t.lineAt(l,le.ByPos,e,0,0).bottom;return r+=h-c,{from:a,to:l,top:c,bottom:h,domTop:0,domBottom:0}}),this.scale=(7e6-r)/(t.height-r);for(let a of this.viewports)a.domTop=o+(a.top-s)*this.scale,o=a.domBottom=a.domTop+(a.bottom-a.top),s=a.bottom}toDOM(e){for(let t=0,n=0,r=0;;t++){let s=tt.from==e.viewports[n].from&&t.to==e.viewports[n].to):!1}};function Bn(i,e){if(e.scale==1)return i;let t=e.toDOM(i.top),n=e.toDOM(i.bottom);return new mt(i.from,i.length,t,n-t,Array.isArray(i._content)?i._content.map(r=>Bn(r,e)):i._content)}var rs=Y.define({combine:i=>i.join(" ")}),Ma=Y.define({combine:i=>i.indexOf(!0)>-1}),Wa=rt.newName(),Eu=rt.newName(),qu=rt.newName(),zu={"&light":"."+Eu,"&dark":"."+qu};function ja(i,e,t){return new rt(e,{finish(n){return/&/.test(n)?n.replace(/&\w*/,r=>{if(r=="&")return i;if(!t||!t[r])throw new RangeError(`Unsupported selector: ${r}`);return t[r]}):i+" "+n}})}var EQ=ja("."+Wa,{"&":{position:"relative !important",boxSizing:"border-box","&.cm-focused":{outline:"1px dotted #212121"},display:"flex !important",flexDirection:"column"},".cm-scroller":{display:"flex !important",alignItems:"flex-start !important",fontFamily:"monospace",lineHeight:1.4,height:"100%",overflowX:"auto",position:"relative",zIndex:0,overflowAnchor:"none"},".cm-content":{margin:0,flexGrow:2,flexShrink:0,display:"block",whiteSpace:"pre",wordWrap:"normal",boxSizing:"border-box",minHeight:"100%",padding:"4px 0",outline:"none","&[contenteditable=true]":{WebkitUserModify:"read-write-plaintext-only"}},".cm-lineWrapping":{whiteSpace_fallback:"pre-wrap",whiteSpace:"break-spaces",wordBreak:"break-word",overflowWrap:"anywhere",flexShrink:1},"&light .cm-content":{caretColor:"black"},"&dark .cm-content":{caretColor:"white"},".cm-line":{display:"block",padding:"0 2px 0 6px"},".cm-layer":{userSelect:"none",position:"absolute",left:0,top:0,contain:"size style","& > *":{position:"absolute"}},"&light .cm-selectionBackground":{background:"#d9d9d9"},"&dark .cm-selectionBackground":{background:"#222"},"&light.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#d7d4f0"},"&dark.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#233"},".cm-cursorLayer":{pointerEvents:"none"},"&.cm-focused > .cm-scroller > .cm-cursorLayer":{animation:"steps(1) cm-blink 1.2s infinite"},"@keyframes cm-blink":{"0%":{},"50%":{opacity:0},"100%":{}},"@keyframes cm-blink2":{"0%":{},"50%":{opacity:0},"100%":{}},".cm-cursor, .cm-dropCursor":{borderLeft:"1.2px solid black",marginLeft:"-0.6px",pointerEvents:"none"},".cm-cursor":{display:"none"},"&dark .cm-cursor":{borderLeftColor:"#ddd"},".cm-selectionHandle":{backgroundColor:"currentColor",width:"1.5px"},".cm-selectionHandle-start::before, .cm-selectionHandle-end::before":{content:'""',backgroundColor:"inherit",borderRadius:"50%",width:"8px",height:"8px",position:"absolute",left:"-3.25px"},".cm-selectionHandle-start::before":{top:"-8px"},".cm-selectionHandle-end::before":{bottom:"-8px"},".cm-dropCursor":{position:"absolute"},"&.cm-focused > .cm-scroller > .cm-cursorLayer .cm-cursor":{display:"block"},".cm-iso":{unicodeBidi:"isolate"},".cm-announced":{position:"fixed",top:"-10000px"},"@media print":{".cm-announced":{display:"none"}},"&light .cm-activeLine":{backgroundColor:"#cceeff44"},"&dark .cm-activeLine":{backgroundColor:"#99eeff33"},"&light .cm-specialChar":{color:"red"},"&dark .cm-specialChar":{color:"#f78"},".cm-gutters":{flexShrink:0,display:"flex",height:"100%",boxSizing:"border-box",zIndex:200},".cm-gutters-before":{insetInlineStart:0},".cm-gutters-after":{insetInlineEnd:0},"&light .cm-gutters":{backgroundColor:"#f5f5f5",color:"#6c6c6c",border:"0px solid #ddd","&.cm-gutters-before":{borderRightWidth:"1px"},"&.cm-gutters-after":{borderLeftWidth:"1px"}},"&dark .cm-gutters":{backgroundColor:"#333338",color:"#ccc"},".cm-gutter":{display:"flex !important",flexDirection:"column",flexShrink:0,boxSizing:"border-box",minHeight:"100%",overflow:"hidden"},".cm-gutterElement":{boxSizing:"border-box"},".cm-lineNumbers .cm-gutterElement":{padding:"0 3px 0 5px",minWidth:"20px",textAlign:"right",whiteSpace:"nowrap"},"&light .cm-activeLineGutter":{backgroundColor:"#e2f2ff"},"&dark .cm-activeLineGutter":{backgroundColor:"#222227"},".cm-panels":{boxSizing:"border-box",position:"sticky",left:0,right:0,zIndex:300},"&light .cm-panels":{backgroundColor:"#f5f5f5",color:"black"},"&light .cm-panels-top":{borderBottom:"1px solid #ddd"},"&light .cm-panels-bottom":{borderTop:"1px solid #ddd"},"&dark .cm-panels":{backgroundColor:"#333338",color:"white"},".cm-dialog":{padding:"2px 19px 4px 6px",position:"relative","& label":{fontSize:"80%"}},".cm-dialog-close":{position:"absolute",top:"3px",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",fontSize:"14px",padding:"0"},".cm-tab":{display:"inline-block",overflow:"hidden",verticalAlign:"bottom"},".cm-widgetBuffer":{verticalAlign:"text-top",height:"1em",width:0,display:"inline"},".cm-placeholder":{color:"#888",display:"inline-block",verticalAlign:"top",userSelect:"none"},".cm-highlightSpace":{backgroundImage:"radial-gradient(circle at 50% 55%, #aaa 20%, transparent 5%)",backgroundPosition:"center"},".cm-highlightTab":{backgroundImage:`url('data:image/svg+xml,')`,backgroundSize:"auto 100%",backgroundPosition:"right 90%",backgroundRepeat:"no-repeat"},".cm-trailingSpace":{backgroundColor:"#ff332255"},".cm-button":{verticalAlign:"middle",color:"inherit",fontSize:"70%",padding:".2em 1em",borderRadius:"1px"},"&light .cm-button":{backgroundImage:"linear-gradient(#eff1f5, #d9d9df)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#b4b4b4, #d0d3d6)"}},"&dark .cm-button":{backgroundImage:"linear-gradient(#393939, #111)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#111, #333)"}},".cm-textfield":{verticalAlign:"middle",color:"inherit",fontSize:"70%",border:"1px solid silver",padding:".2em .5em"},"&light .cm-textfield":{backgroundColor:"white"},"&dark .cm-textfield":{border:"1px solid #555",backgroundColor:"inherit"}},zu),qQ={childList:!0,characterData:!0,subtree:!0,attributes:!0,characterDataOldValue:!0},oa=L.ie&&L.ie_version<=11,Va=class{constructor(e){this.view=e,this.active=!1,this.editContext=null,this.selectionRange=new ua,this.selectionChanged=!1,this.delayedFlush=-1,this.resizeTimeout=-1,this.queue=[],this.delayedAndroidKey=null,this.flushingAndroidKey=-1,this.lastChange=0,this.scrollTargets=[],this.intersection=null,this.resizeScroll=null,this.intersecting=!1,this.gapIntersection=null,this.gaps=[],this.printQuery=null,this.parentCheck=-1,this.dom=e.contentDOM,this.observer=new MutationObserver(t=>{for(let n of t)this.queue.push(n);(L.ie&&L.ie_version<=11||L.ios&&e.composing)&&t.some(n=>n.type=="childList"&&n.removedNodes.length||n.type=="characterData"&&n.oldValue.length>n.target.nodeValue.length)?this.flushSoon():this.flush()}),window.EditContext&&L.android&&e.constructor.EDIT_CONTEXT!==!1&&!(L.chrome&&L.chrome_version<126)&&(this.editContext=new Da(e),e.state.facet(Mt)&&(e.contentDOM.editContext=this.editContext.editContext)),oa&&(this.onCharData=t=>{this.queue.push({target:t.target,type:"characterData",oldValue:t.prevValue}),this.flushSoon()}),this.onSelectionChange=this.onSelectionChange.bind(this),this.onResize=this.onResize.bind(this),this.onPrint=this.onPrint.bind(this),this.onScroll=this.onScroll.bind(this),window.matchMedia&&(this.printQuery=window.matchMedia("print")),typeof ResizeObserver=="function"&&(this.resizeScroll=new ResizeObserver(()=>{var t;((t=this.view.docView)===null||t===void 0?void 0:t.lastUpdate){this.parentCheck<0&&(this.parentCheck=setTimeout(this.listenForScroll.bind(this),1e3)),t.length>0&&t[t.length-1].intersectionRatio>0!=this.intersecting&&(this.intersecting=!this.intersecting,this.intersecting!=this.view.inView&&this.onScrollChanged(document.createEvent("Event")))},{threshold:[0,.001]}),this.intersection.observe(this.dom),this.gapIntersection=new IntersectionObserver(t=>{t.length>0&&t[t.length-1].intersectionRatio>0&&this.onScrollChanged(document.createEvent("Event"))},{})),this.listenForScroll(),this.readSelectionRange()}onScrollChanged(e){this.view.inputState.runHandlers("scroll",e),this.intersecting&&this.view.measure()}onScroll(e){this.intersecting&&this.flush(!1),this.editContext&&this.view.requestMeasure(this.editContext.measureReq),this.onScrollChanged(e)}onResize(){this.resizeTimeout<0&&(this.resizeTimeout=setTimeout(()=>{this.resizeTimeout=-1,this.view.requestMeasure()},50))}onPrint(e){(e.type=="change"||!e.type)&&!e.matches||(this.view.viewState.printing=!0,this.view.measure(),setTimeout(()=>{this.view.viewState.printing=!1,this.view.requestMeasure()},500))}updateGaps(e){if(this.gapIntersection&&(e.length!=this.gaps.length||this.gaps.some((t,n)=>t!=e[n]))){this.gapIntersection.disconnect();for(let t of e)this.gapIntersection.observe(t);this.gaps=e}}onSelectionChange(e){let t=this.selectionChanged;if(!this.readSelectionRange()||this.delayedAndroidKey)return;let{view:n}=this,r=this.selectionRange;if(n.state.facet(Mt)?n.root.activeElement!=this.dom:!Gn(this.dom,r))return;let s=r.anchorNode&&n.docView.tile.nearest(r.anchorNode);if(s&&s.isWidget()&&s.widget.ignoreEvent(e)){t||(this.selectionChanged=!1);return}(L.ie&&L.ie_version<=11||L.android&&L.chrome)&&!n.state.selection.main.empty&&r.focusNode&&Nn(r.focusNode,r.focusOffset,r.anchorNode,r.anchorOffset)?this.flushSoon():this.flush(!1)}readSelectionRange(){let{view:e}=this,t=nr(e.root);if(!t)return!1;let n=L.safari&&e.root.nodeType==11&&e.root.activeElement==this.dom&&zQ(this.view,t)||t;if(!n||this.selectionRange.eq(n))return!1;let r=Gn(this.dom,n);return r&&!this.selectionChanged&&e.inputState.lastFocusTime>Date.now()-200&&e.inputState.lastTouchTime{let s=this.delayedAndroidKey;s&&(this.clearDelayedAndroidKey(),this.view.inputState.lastKeyCode=s.keyCode,this.view.inputState.lastKeyTime=Date.now(),!this.flush()&&s.force&&un(this.dom,s.key,s.keyCode))};this.flushingAndroidKey=this.view.win.requestAnimationFrame(r)}(!this.delayedAndroidKey||e=="Enter")&&(this.delayedAndroidKey={key:e,keyCode:t,force:this.lastChange{this.delayedFlush=-1,this.flush()}))}forceFlush(){this.delayedFlush>=0&&(this.view.win.cancelAnimationFrame(this.delayedFlush),this.delayedFlush=-1),this.flush()}pendingRecords(){for(let e of this.observer.takeRecords())this.queue.push(e);return this.queue}processRecords(){let e=this.pendingRecords();e.length&&(this.queue=[]);let t=-1,n=-1,r=!1;for(let s of e){let o=this.readMutation(s);o&&(o.typeOver&&(r=!0),t==-1?{from:t,to:n}=o:(t=Math.min(o.from,t),n=Math.max(o.to,n)))}return{from:t,to:n,typeOver:r}}readChange(){let{from:e,to:t,typeOver:n}=this.processRecords(),r=this.selectionChanged&&Gn(this.dom,this.selectionRange);if(e<0&&!r)return null;e>-1&&(this.lastChange=Date.now()),this.view.inputState.lastFocusTime=0,this.selectionChanged=!1;let s=new Ta(this.view,e,t,n);return this.view.docView.domChanged={newSel:s.newSel?s.newSel.main:null},s}flush(e=!0){if(this.delayedFlush>=0||this.delayedAndroidKey)return!1;e&&this.readSelectionRange();let t=this.readChange();if(!t)return this.view.requestMeasure(),!1;let n=this.view.state,r=Pu(this.view,t);return this.view.state==n&&(t.domChanged||t.newSel&&!ps(this.view.state.selection,t.newSel.main))&&this.view.update([]),r}readMutation(e){let t=this.view.docView.tile.nearest(e.target);if(!t||t.isWidget())return null;if(t.markDirty(e.type=="attributes"),e.type=="childList"){let n=Df(t,e.previousSibling||e.target.previousSibling,-1),r=Df(t,e.nextSibling||e.target.nextSibling,1);return{from:n?t.posAfter(n):t.posAtStart,to:r?t.posBefore(r):t.posAtEnd,typeOver:!1}}else return e.type=="characterData"?{from:t.posAtStart,to:t.posAtEnd,typeOver:e.target.nodeValue==e.oldValue}:null}setWindow(e){e!=this.win&&(this.removeWindowListeners(this.win),this.win=e,this.addWindowListeners(this.win))}addWindowListeners(e){e.addEventListener("resize",this.onResize),this.printQuery?this.printQuery.addEventListener?this.printQuery.addEventListener("change",this.onPrint):this.printQuery.addListener(this.onPrint):e.addEventListener("beforeprint",this.onPrint),e.addEventListener("scroll",this.onScroll),e.document.addEventListener("selectionchange",this.onSelectionChange)}removeWindowListeners(e){e.removeEventListener("scroll",this.onScroll),e.removeEventListener("resize",this.onResize),this.printQuery?this.printQuery.removeEventListener?this.printQuery.removeEventListener("change",this.onPrint):this.printQuery.removeListener(this.onPrint):e.removeEventListener("beforeprint",this.onPrint),e.document.removeEventListener("selectionchange",this.onSelectionChange)}update(e){this.editContext&&(this.editContext.update(e),e.startState.facet(Mt)!=e.state.facet(Mt)&&(e.view.contentDOM.editContext=e.state.facet(Mt)?this.editContext.editContext:null))}destroy(){var e,t,n;this.stop(),(e=this.intersection)===null||e===void 0||e.disconnect(),(t=this.gapIntersection)===null||t===void 0||t.disconnect(),(n=this.resizeScroll)===null||n===void 0||n.disconnect();for(let r of this.scrollTargets)r.removeEventListener("scroll",this.onScroll);this.removeWindowListeners(this.win),clearTimeout(this.parentCheck),clearTimeout(this.resizeTimeout),this.win.cancelAnimationFrame(this.delayedFlush),this.win.cancelAnimationFrame(this.flushingAndroidKey),this.editContext&&(this.view.contentDOM.editContext=null,this.editContext.destroy())}};function Df(i,e,t){for(;e;){let n=fe.get(e);if(n&&n.parent==i)return n;let r=e.parentNode;e=r!=i.dom?r:t>0?e.nextSibling:e.previousSibling}return null}function Yf(i,e){let t=e.startContainer,n=e.startOffset,r=e.endContainer,s=e.endOffset,o=i.docView.domAtPos(i.state.selection.main.anchor,1);return Nn(o.node,o.offset,r,s)&&([t,n,r,s]=[r,s,t,n]),{anchorNode:t,anchorOffset:n,focusNode:r,focusOffset:s}}function zQ(i,e){if(e.getComposedRanges){let r=e.getComposedRanges(i.root)[0];if(r)return Yf(i,r)}let t=null;function n(r){r.preventDefault(),r.stopImmediatePropagation(),t=r.getTargetRanges()[0]}return i.contentDOM.addEventListener("beforeinput",n,!0),i.dom.ownerDocument.execCommand("indent"),i.contentDOM.removeEventListener("beforeinput",n,!0),t?Yf(i,t):null}var Da=class{constructor(e){this.from=0,this.to=0,this.pendingContextChange=null,this.handlers=Object.create(null),this.composing=null,this.resetRange(e.state);let t=this.editContext=new window.EditContext({text:e.state.doc.sliceString(this.from,this.to),selectionStart:this.toContextPos(Math.max(this.from,Math.min(this.to,e.state.selection.main.anchor))),selectionEnd:this.toContextPos(e.state.selection.main.head)});this.handlers.textupdate=n=>{let r=e.state.selection.main,{anchor:s,head:o}=r,a=this.toEditorPos(n.updateRangeStart),l=this.toEditorPos(n.updateRangeEnd);e.inputState.composing>=0&&!this.composing&&(this.composing={contextBase:n.updateRangeStart,editorBase:a,drifted:!1});let c=l-a>n.text.length;a==this.from&&sthis.to&&(l=s);let h=vu(e.state.sliceDoc(a,l),n.text,(c?r.from:r.to)-a,c?"end":null);if(!h){let u=P.single(this.toEditorPos(n.selectionStart),this.toEditorPos(n.selectionEnd));ps(u,r)||e.dispatch({selection:u,userEvent:"select"});return}let f={from:h.from+a,to:h.toA+a,insert:K.of(n.text.slice(h.from,h.toB).split(` -`))};if((L.mac||L.android)&&f.from==o-1&&/^\. ?$/.test(n.text)&&e.contentDOM.getAttribute("autocorrect")=="off"&&(f={from:a,to:l,insert:K.of([n.text.replace("."," ")])}),this.pendingContextChange=f,!e.state.readOnly){let u=this.to-this.from+(f.to-f.from+f.insert.length);Ka(e,f,P.single(this.toEditorPos(n.selectionStart,u),this.toEditorPos(n.selectionEnd,u)))}this.pendingContextChange&&(this.revertPending(e.state),this.setSelection(e.state)),f.from=0&&!/[\\p{Alphabetic}\\p{Number}_]/.test(t.text.slice(Math.max(0,n.updateRangeStart-1),Math.min(t.text.length,n.updateRangeStart+1)))&&this.handlers.compositionend(n)},this.handlers.characterboundsupdate=n=>{let r=[],s=null;for(let o=this.toEditorPos(n.rangeStart),a=this.toEditorPos(n.rangeEnd);o{let r=[];for(let s of n.getTextFormats()){let o=s.underlineStyle,a=s.underlineThickness;if(!/none/i.test(o)&&!/none/i.test(a)){let l=this.toEditorPos(s.rangeStart),c=this.toEditorPos(s.rangeEnd);if(l{e.inputState.composing<0&&(e.inputState.composing=0,e.inputState.compositionFirstChange=!0)},this.handlers.compositionend=()=>{if(e.inputState.composing=-1,e.inputState.compositionFirstChange=null,this.composing){let{drifted:n}=this.composing;this.composing=null,n&&this.reset(e.state)}};for(let n in this.handlers)t.addEventListener(n,this.handlers[n]);this.measureReq={read:n=>{let r=nr(n.root);r&&r.rangeCount&&this.editContext.updateSelectionBounds(r.getRangeAt(0).getBoundingClientRect())}}}applyEdits(e){let t=0,n=!1,r=this.pendingContextChange;return e.changes.iterChanges((s,o,a,l,c)=>{if(n)return;let h=c.length-(o-s);if(r&&o>=r.to)if(r.from==s&&r.to==o&&r.insert.eq(c)){r=this.pendingContextChange=null,t+=h,this.to+=h;return}else r=null,this.revertPending(e.state);if(s+=t,o+=t,o<=this.from)this.from+=h,this.to+=h;else if(sthis.to||this.to-this.from+c.length>3e4){n=!0;return}this.editContext.updateText(this.toContextPos(s),this.toContextPos(o),c.toString()),this.to+=h}t+=h}),r&&!n&&this.revertPending(e.state),!n}update(e){let t=this.pendingContextChange,n=e.startState.selection.main;this.composing&&(this.composing.drifted||!e.changes.touchesRange(n.from,n.to)&&e.transactions.some(r=>!r.isUserEvent("input.type")&&r.changes.touchesRange(this.from,this.to)))?(this.composing.drifted=!0,this.composing.editorBase=e.changes.mapPos(this.composing.editorBase)):!this.applyEdits(e)||!this.rangeIsValid(e.state)?(this.pendingContextChange=null,this.reset(e.state)):(e.docChanged||e.selectionSet||t)&&this.setSelection(e.state),(e.geometryChanged||e.docChanged||e.selectionSet)&&e.view.requestMeasure(this.measureReq)}resetRange(e){let{head:t}=e.selection.main;this.from=Math.max(0,t-1e4),this.to=Math.min(e.doc.length,t+1e4)}reset(e){this.resetRange(e),this.editContext.updateText(0,this.editContext.text.length,e.doc.sliceString(this.from,this.to)),this.setSelection(e)}revertPending(e){let t=this.pendingContextChange;this.pendingContextChange=null,this.editContext.updateText(this.toContextPos(t.from),this.toContextPos(t.from+t.insert.length),e.doc.sliceString(t.from,t.to))}setSelection(e){let{main:t}=e.selection,n=this.toContextPos(Math.max(this.from,Math.min(this.to,t.anchor))),r=this.toContextPos(t.head);(this.editContext.selectionStart!=n||this.editContext.selectionEnd!=r)&&this.editContext.updateSelection(n,r)}rangeIsValid(e){let{head:t}=e.selection.main;return!(this.from>0&&t-this.from<500||this.to1e4*3)}toEditorPos(e,t=this.to-this.from){e=Math.min(e,t);let n=this.composing;return n&&n.drifted?n.editorBase+(e-n.contextBase):e+this.from}toContextPos(e){let t=this.composing;return t&&t.drifted?t.contextBase+(e-t.editorBase):e-this.from}destroy(){for(let e in this.handlers)this.editContext.removeEventListener(e,this.handlers[e])}},z=class i{get state(){return this.viewState.state}get viewport(){return this.viewState.viewport}get visibleRanges(){return this.viewState.visibleRanges}get inView(){return this.viewState.inView}get composing(){return!!this.inputState&&this.inputState.composing>0}get compositionStarted(){return!!this.inputState&&this.inputState.composing>=0}get root(){return this._root}get win(){return this.dom.ownerDocument.defaultView||window}constructor(e={}){var t;this.plugins=[],this.pluginMap=new Map,this.editorAttrs={},this.contentAttrs={},this.bidiCache=[],this.destroyed=!1,this.updateState=2,this.measureScheduled=-1,this.measureRequests=[],this.contentDOM=document.createElement("div"),this.scrollDOM=document.createElement("div"),this.scrollDOM.tabIndex=-1,this.scrollDOM.className="cm-scroller",this.scrollDOM.appendChild(this.contentDOM),this.announceDOM=document.createElement("div"),this.announceDOM.className="cm-announced",this.announceDOM.setAttribute("aria-live","polite"),this.dom=document.createElement("div"),this.dom.appendChild(this.announceDOM),this.dom.appendChild(this.scrollDOM),e.parent&&e.parent.appendChild(this.dom);let{dispatch:n}=e;this.dispatchTransactions=e.dispatchTransactions||n&&(r=>r.forEach(s=>n(s,this)))||(r=>this.update(r)),this.dispatch=this.dispatch.bind(this),this._root=e.root||T0(e.parent)||document,this.viewState=new Qs(this,e.state||se.create(e)),e.scrollTo&&e.scrollTo.is(Jr)&&(this.viewState.scrollTarget=e.scrollTo.value.clip(this.viewState.state)),this.plugins=this.state.facet(cn).map(r=>new Hn(r));for(let r of this.plugins)r.update(this);this.observer=new Va(this),this.inputState=new Ca(this),this.inputState.ensureHandlers(this.plugins),this.docView=new Os(this),this.mountStyles(),this.updateAttrs(),this.updateState=0,this.requestMeasure(),!((t=document.fonts)===null||t===void 0)&&t.ready&&document.fonts.ready.then(()=>{this.viewState.mustMeasureContent="refresh",this.requestMeasure()})}dispatch(...e){let t=e.length==1&&e[0]instanceof pe?e:e.length==1&&Array.isArray(e[0])?e[0]:[this.state.update(...e)];this.dispatchTransactions(t,this)}update(e){if(this.updateState!=0)throw new Error("Calls to EditorView.update are not allowed while an update is in progress");let t=!1,n=!1,r,s=this.state;for(let u of e){if(u.startState!=s)throw new RangeError("Trying to update state with a transaction that doesn't start from the previous state.");s=u.state}if(this.destroyed){this.viewState.state=s;return}let o=this.hasFocus,a=0,l=null;e.some(u=>u.annotation(Ru))?(this.inputState.notifiedFocused=o,a=1):o!=this.inputState.notifiedFocused&&(this.inputState.notifiedFocused=o,l=Au(s,o),l||(a=1));let c=this.observer.delayedAndroidKey,h=null;if(c?(this.observer.clearDelayedAndroidKey(),h=this.observer.readChange(),(h&&!this.state.doc.eq(s.doc)||!this.state.selection.eq(s.selection))&&(h=null)):this.observer.clear(),s.facet(se.phrases)!=this.state.facet(se.phrases))return this.setState(s);r=fs.create(this,s,e),r.flags|=a;let f=this.viewState.scrollTarget;try{this.updateState=2;for(let u of e){if(f&&(f=f.map(u.changes)),u.scrollIntoView){let{main:O}=u.state.selection,{x:p,y:m}=this.state.facet(i.cursorScrollMargin);f=new Fn(O.empty?O:P.cursor(O.head,O.head>O.anchor?-1:1),"nearest","nearest",m,p)}for(let O of u.effects)O.is(Jr)&&(f=O.value.clip(this.state))}this.viewState.update(r,f),this.bidiCache=bs.update(this.bidiCache,r.changes),r.empty||(this.updatePlugins(r),this.inputState.update(r)),t=this.docView.update(r),this.state.facet(In)!=this.styleModules&&this.mountStyles(),n=this.updateAttrs(),this.showAnnouncements(e),this.docView.updateSelection(t,e.some(u=>u.isUserEvent("select.pointer")))}finally{this.updateState=0}if(r.startState.facet(rs)!=r.state.facet(rs)&&(this.viewState.mustMeasureContent=!0),(t||n||f||this.viewState.mustEnforceCursorAssoc||this.viewState.mustMeasureContent)&&this.requestMeasure(),t&&this.docViewUpdate(),!r.empty)for(let u of this.state.facet(ma))try{u(r)}catch(O){lt(this.state,O,"update listener")}(l||h)&&Promise.resolve().then(()=>{l&&this.state==l.startState&&this.dispatch(l),h&&!Pu(this,h)&&c.force&&un(this.contentDOM,c.key,c.keyCode)})}setState(e){if(this.updateState!=0)throw new Error("Calls to EditorView.setState are not allowed while an update is in progress");if(this.destroyed){this.viewState.state=e;return}this.updateState=2;let t=this.hasFocus;try{for(let n of this.plugins)n.destroy(this);this.viewState=new Qs(this,e),this.plugins=e.facet(cn).map(n=>new Hn(n)),this.pluginMap.clear();for(let n of this.plugins)n.update(this);this.docView.destroy(),this.docView=new Os(this),this.inputState.ensureHandlers(this.plugins),this.mountStyles(),this.updateAttrs(),this.bidiCache=[]}finally{this.updateState=0}t&&this.focus(),this.requestMeasure()}updatePlugins(e){let t=e.startState.facet(cn),n=e.state.facet(cn);if(t!=n){let r=[];for(let s of n){let o=t.indexOf(s);if(o<0)r.push(new Hn(s));else{let a=this.plugins[o];a.mustUpdate=e,r.push(a)}}for(let s of this.plugins)s.mustUpdate!=e&&s.destroy(this);this.plugins=r,this.pluginMap.clear()}else for(let r of this.plugins)r.mustUpdate=e;for(let r=0;r-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.observer.delayedAndroidKey){this.measureScheduled=-1,this.requestMeasure();return}this.measureScheduled=0,e&&this.observer.forceFlush();let t=null,n=this.viewState.scrollParent,r=this.viewState.getScrollOffset(),{scrollAnchorPos:s,scrollAnchorHeight:o}=this.viewState;Math.abs(r-this.viewState.scrollOffset)>1&&(o=-1),this.viewState.scrollAnchorHeight=-1;try{for(let a=0;;a++){if(o<0)if(Jf(n||this.win))s=-1,o=this.viewState.heightMap.height;else{let O=this.viewState.scrollAnchorAt(r);s=O.from,o=O.top}this.updateState=1;let l=this.viewState.measure();if(!l&&!this.measureRequests.length&&this.viewState.scrollTarget==null)break;if(a>5){console.warn(this.measureRequests.length?"Measure loop restarted more than 5 times":"Viewport failed to stabilize");break}let c=[];l&4||([this.measureRequests,c]=[c,this.measureRequests]);let h=c.map(O=>{try{return O.read(this)}catch(p){return lt(this.state,p),If}}),f=fs.create(this,this.state,[]),u=!1;f.flags|=l,t?t.flags|=l:t=f,this.updateState=2,f.empty||(this.updatePlugins(f),this.inputState.update(f),this.updateAttrs(),u=this.docView.update(f),u&&this.docViewUpdate());for(let O=0;O1||p<-1)&&!(L.ios&&this.inputState.lastIOSMomentumScroll>Date.now()-100)&&(n==this.scrollDOM||this.hasFocus||Math.max(this.inputState.lastWheelEvent,this.inputState.lastTouchTime)>Date.now()-100)){r=r+p,n?n.scrollTop+=p:this.win.scrollBy(0,p),o=-1;continue}}break}}}finally{this.updateState=0,this.measureScheduled=-1}if(t&&!t.empty)for(let a of this.state.facet(ma))a(t)}get themeClasses(){return Wa+" "+(this.state.facet(Ma)?qu:Eu)+" "+this.state.facet(rs)}updateAttrs(){let e=Bf(this,mu,{class:"cm-editor"+(this.hasFocus?" cm-focused ":" ")+this.themeClasses}),t={spellcheck:"false",autocorrect:"off",autocapitalize:"off",writingsuggestions:"false",translate:"no",contenteditable:this.state.facet(Mt)?"true":"false",class:"cm-content",style:`${L.tabSize}: ${this.state.tabSize}`,role:"textbox","aria-multiline":"true"};this.state.readOnly&&(t["aria-readonly"]="true"),Bf(this,Fa,t);let n=this.observer.ignore(()=>{let r=wf(this.contentDOM,this.contentAttrs,t),s=wf(this.dom,this.editorAttrs,e);return r||s});return this.editorAttrs=e,this.contentAttrs=t,n}showAnnouncements(e){let t=!0;for(let n of e)for(let r of n.effects)if(r.is(i.announce)){t&&(this.announceDOM.textContent=""),t=!1;let s=this.announceDOM.appendChild(document.createElement("div"));s.textContent=r.value}}mountStyles(){this.styleModules=this.state.facet(In);let e=this.state.facet(i.cspNonce);rt.mount(this.root,this.styleModules.concat(EQ).reverse(),e?{nonce:e}:void 0)}readMeasured(){if(this.updateState==2)throw new Error("Reading the editor layout isn't allowed during an update");this.updateState==0&&this.measureScheduled>-1&&this.measure(!1)}requestMeasure(e){if(this.measureScheduled<0&&(this.measureScheduled=this.win.requestAnimationFrame(()=>this.measure())),e){if(this.measureRequests.indexOf(e)>-1)return;if(e.key!=null){for(let t=0;tn.plugin==e)||null),t&&t.update(this).value}get documentTop(){return this.contentDOM.getBoundingClientRect().top+this.viewState.paddingTop}get documentPadding(){return{top:this.viewState.paddingTop,bottom:this.viewState.paddingBottom}}get scaleX(){return this.viewState.scaleX}get scaleY(){return this.viewState.scaleY}elementAtHeight(e){return this.readMeasured(),this.viewState.elementAtHeight(e)}lineBlockAtHeight(e){return this.readMeasured(),this.viewState.lineBlockAtHeight(e)}get viewportLineBlocks(){return this.viewState.viewportLines}lineBlockAt(e){return this.viewState.lineBlockAt(e)}get contentHeight(){return this.viewState.contentHeight}moveByChar(e,t,n){return sa(this,e,Xf(this,e,t,n))}moveByGroup(e,t){return sa(this,e,Xf(this,e,t,n=>sQ(this,e.head,n)))}visualLineSide(e,t){let n=this.bidiSpans(e),r=this.textDirectionAt(e.from),s=n[t?n.length-1:0];return P.cursor(s.side(t,r)+e.from,s.forward(!t,r)?1:-1)}moveToLineBoundary(e,t,n=!0){return rQ(this,e,t,n)}moveVertically(e,t,n){return sa(this,e,oQ(this,e,t,n))}domAtPos(e,t=1){return this.docView.domAtPos(e,t)}posAtDOM(e,t=0){return this.docView.posFromDOM(e,t)}posAtCoords(e,t=!0){this.readMeasured();let n=Pa(this,e,t);return n&&n.pos}posAndSideAtCoords(e,t=!0){return this.readMeasured(),Pa(this,e,t)}coordsAtPos(e,t=1){this.readMeasured();let n=this.state.doc.lineAt(e),r=this.bidiSpans(n),s=r[at.find(r,e-n.from,-1,t)];return this.docView.coordsAt(e,t,s.dir==ue.RTL)}coordsForChar(e){return this.readMeasured(),this.docView.coordsForChar(e)}get defaultCharacterWidth(){return this.viewState.heightOracle.charWidth}get defaultLineHeight(){return this.viewState.heightOracle.lineHeight}get textDirection(){return this.viewState.defaultTextDirection}textDirectionAt(e){return!this.state.facet(Ou)||ethis.viewport.to?this.textDirection:(this.readMeasured(),this.docView.textDirectionAt(e))}get lineWrapping(){return this.viewState.heightOracle.lineWrapping}bidiSpans(e){if(e.length>LQ)return su(e.length);let t=this.textDirectionAt(e.from),n;for(let s of this.bidiCache)if(s.from==e.from&&s.dir==t&&(s.fresh||ru(s.isolates,n=$f(this,e))))return s.order;n||(n=$f(this,e));let r=q0(e.text,t,n);return this.bidiCache.push(new bs(e.from,e.to,t,n,!0,r)),r}get hasFocus(){var e;return(this.dom.ownerDocument.hasFocus()||L.safari&&((e=this.inputState)===null||e===void 0?void 0:e.lastContextMenu)>Date.now()-3e4)&&this.root.activeElement==this.contentDOM}focus(){this.observer.ignore(()=>{Kf(this.contentDOM),this.docView.updateSelection()})}setRoot(e){this._root!=e&&(this._root=e,this.observer.setWindow((e.nodeType==9?e:e.ownerDocument).defaultView||window),this.mountStyles())}destroy(){this.root.activeElement==this.contentDOM&&this.contentDOM.blur();for(let e of this.plugins)e.destroy(this);this.plugins=[],this.inputState.destroy(),this.docView.destroy(),this.dom.remove(),this.observer.destroy(),this.measureScheduled>-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.destroyed=!0}static scrollIntoView(e,t={}){var n,r,s,o;return Jr.of(new Fn(typeof e=="number"?P.cursor(e):e,(n=t.y)!==null&&n!==void 0?n:"nearest",(r=t.x)!==null&&r!==void 0?r:"nearest",(s=t.yMargin)!==null&&s!==void 0?s:5,(o=t.xMargin)!==null&&o!==void 0?o:5))}scrollSnapshot(){let{scrollTop:e,scrollLeft:t}=this.scrollDOM,n=this.viewState.scrollAnchorAt(e);return Jr.of(new Fn(P.cursor(n.from),"start","start",n.top-e,t,!0))}setTabFocusMode(e){e==null?this.inputState.tabFocusMode=this.inputState.tabFocusMode<0?0:-1:typeof e=="boolean"?this.inputState.tabFocusMode=e?0:-1:this.inputState.tabFocusMode!=0&&(this.inputState.tabFocusMode=Date.now()+e)}static domEventHandlers(e){return Ve.define(()=>({}),{eventHandlers:e})}static domEventObservers(e){return Ve.define(()=>({}),{eventObservers:e})}static theme(e,t){let n=rt.newName(),r=[rs.of(n),In.of(ja(`.${n}`,e))];return t&&t.dark&&r.push(Ma.of(!0)),r}static baseTheme(e){return nt.lowest(In.of(ja("."+Wa,e,zu)))}static findFromDOM(e){var t;let n=e.querySelector(".cm-content"),r=n&&fe.get(n)||fe.get(e);return((t=r?.root)===null||t===void 0?void 0:t.view)||null}};z.styleModule=In;z.inputHandler=fu;z.clipboardInputFilter=Ga;z.clipboardOutputFilter=Na;z.scrollHandler=du;z.focusChangeEffect=uu;z.perLineTextDirection=Ou;z.exceptionSink=hu;z.updateListener=ma;z.editable=Mt;z.mouseSelectionStyle=cu;z.dragMovesSelection=lu;z.clickAddsSelectionRange=au;z.decorations=ys;z.blockWrappers=gu;z.outerDecorations=Ha;z.atomicRanges=sr;z.bidiIsolatedRanges=Qu;z.cursorScrollMargin=Y.define({combine:i=>{let e=5,t=5;for(let n of i)typeof n=="number"?e=t=n:{x:e,y:t}=n;return{x:e,y:t}}});z.scrollMargins=bu;z.darkTheme=Ma;z.cspNonce=Y.define({combine:i=>i.length?i[0]:""});z.contentAttributes=Fa;z.editorAttributes=mu;z.lineWrapping=z.contentAttributes.of({class:"cm-lineWrapping"});z.announce=te.define();var LQ=4096,If={},bs=class i{constructor(e,t,n,r,s,o){this.from=e,this.to=t,this.dir=n,this.isolates=r,this.fresh=s,this.order=o}static update(e,t){if(t.empty&&!e.some(s=>s.fresh))return e;let n=[],r=e.length?e[e.length-1].dir:ue.LTR;for(let s=Math.max(0,e.length-10);s=0;r--){let s=n[r],o=typeof s=="function"?s(i):s;o&&Ia(o,t)}return t}var MQ=L.mac?"mac":L.windows?"win":L.linux?"linux":"key";function WQ(i,e){let t=i.split(/-(?!$)/),n=t[t.length-1];n=="Space"&&(n=" ");let r,s,o,a;for(let l=0;ln.concat(r),[]))),t}var oi=null,DQ=4e3;function YQ(i,e=MQ){let t=Object.create(null),n=Object.create(null),r=(o,a)=>{let l=n[o];if(l==null)n[o]=a;else if(l!=a)throw new Error("Key binding "+o+" is used both as a regular binding and as a multi-stroke prefix")},s=(o,a,l,c,h)=>{var f,u;let O=t[o]||(t[o]=Object.create(null)),p=a.split(/ (?!$)/).map(g=>WQ(g,e));for(let g=1;g{let x=oi={view:S,prefix:Q,scope:o};return setTimeout(()=>{oi==x&&(oi=null)},DQ),!0}]})}let m=p.join(" ");r(m,!1);let b=O[m]||(O[m]={preventDefault:!1,stopPropagation:!1,run:((u=(f=O._any)===null||f===void 0?void 0:f.run)===null||u===void 0?void 0:u.slice())||[]});l&&b.run.push(l),c&&(b.preventDefault=!0),h&&(b.stopPropagation=!0)};for(let o of i){let a=o.scope?o.scope.split(" "):["editor"];if(o.any)for(let c of a){let h=t[c]||(t[c]=Object.create(null));h._any||(h._any={preventDefault:!1,stopPropagation:!1,run:[]});let{any:f}=o;for(let u in h)h[u].run.push(O=>f(O,Ya))}let l=o[e]||o.key;if(l)for(let c of a)s(c,l,o.run,o.preventDefault,o.stopPropagation),o.shift&&s(c,"Shift-"+l,o.shift,o.preventDefault,o.stopPropagation)}return t}var Ya=null;function IQ(i,e,t,n){Ya=e;let r=Sf(e),s=si(r,0),o=on(s)==r.length&&r!=" ",a="",l=!1,c=!1,h=!1;oi&&oi.view==t&&oi.scope==n&&(a=oi.prefix+" ",Tu.indexOf(e.keyCode)<0&&(c=!0,oi=null));let f=new Set,u=b=>{if(b){for(let g of b.run)if(!f.has(g)&&(f.add(g),g(t)))return b.stopPropagation&&(h=!0),!0;b.preventDefault&&(b.stopPropagation&&(h=!0),c=!0)}return!1},O=i[n],p,m;return O&&(u(O[a+ss(r,e,!o)])?l=!0:o&&(e.altKey||e.metaKey||e.ctrlKey)&&!(L.windows&&e.ctrlKey&&e.altKey)&&!(L.mac&&e.altKey&&!(e.ctrlKey||e.metaKey))&&(p=Lt[e.keyCode])&&p!=r?(u(O[a+ss(p,e,!0)])||e.shiftKey&&(m=an[e.keyCode])!=r&&m!=p&&u(O[a+ss(m,e,!1)]))&&(l=!0):o&&e.shiftKey&&u(O[a+ss(r,e,!0)])&&(l=!0),!l&&u(O._any)&&(l=!0)),c&&(l=!0),l&&h&&e.stopPropagation(),Ya=null,l}var Lu=te.define({map(i,e){return i==null?null:e.mapPos(i)}}),Un=he.define({create(){return null},update(i,e){return i!=null&&(i=e.changes.mapPos(i)),e.effects.reduce((t,n)=>n.is(Lu)?n.value:t,i)}}),BQ=Ve.fromClass(class{constructor(i){this.view=i,this.cursor=null,this.measureReq={read:this.readPos.bind(this),write:this.drawCursor.bind(this)}}update(i){var e;let t=i.state.field(Un);t==null?this.cursor!=null&&((e=this.cursor)===null||e===void 0||e.remove(),this.cursor=null):(this.cursor||(this.cursor=this.view.scrollDOM.appendChild(document.createElement("div")),this.cursor.className="cm-dropCursor"),(i.startState.field(Un)!=t||i.docChanged||i.geometryChanged)&&this.view.requestMeasure(this.measureReq))}readPos(){let{view:i}=this,e=i.state.field(Un),t=e!=null&&i.coordsAtPos(e);if(!t)return null;let n=i.scrollDOM.getBoundingClientRect();return{left:t.left-n.left+i.scrollDOM.scrollLeft*i.scaleX,top:t.top-n.top+i.scrollDOM.scrollTop*i.scaleY,height:t.bottom-t.top}}drawCursor(i){if(this.cursor){let{scaleX:e,scaleY:t}=this.view;i?(this.cursor.style.left=i.left/e+"px",this.cursor.style.top=i.top/t+"px",this.cursor.style.height=i.height/t+"px"):this.cursor.style.left="-100000px"}}destroy(){this.cursor&&this.cursor.remove()}setDropPos(i){this.view.state.field(Un)!=i&&this.view.dispatch({effects:Lu.of(i)})}},{eventObservers:{dragover(i){this.setDropPos(this.view.posAtCoords({x:i.clientX,y:i.clientY}))},dragleave(i){(i.target==this.view.contentDOM||!this.view.contentDOM.contains(i.relatedTarget))&&this.setDropPos(null)},dragend(){this.setDropPos(null)},drop(){this.setDropPos(null)}}});function Mu(){return[Un,BQ]}var c$=/x/.unicode!=null?"gu":"g";var Vt=class extends it{compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}eq(e){return!1}destroy(e){}};Vt.prototype.elementClass="";Vt.prototype.toDOM=void 0;Vt.prototype.mapMode=ge.TrackBefore;Vt.prototype.startSide=Vt.prototype.endSide=-1;Vt.prototype.point=!0;var UQ=0,De=class{constructor(e,t){this.from=e,this.to=t}},I=class{constructor(e={}){this.id=UQ++,this.perNode=!!e.perNode,this.deserialize=e.deserialize||(()=>{throw new Error("This node type doesn't define a deserialize function")}),this.combine=e.combine||null}add(e){if(this.perNode)throw new RangeError("Can't add per-node props to node types");return typeof e!="function"&&(e=Oe.match(e)),t=>{let n=e(t);return n===void 0?null:[this,n]}}};I.closedBy=new I({deserialize:i=>i.split(" ")});I.openedBy=new I({deserialize:i=>i.split(" ")});I.group=new I({deserialize:i=>i.split(" ")});I.isolate=new I({deserialize:i=>{if(i&&i!="rtl"&&i!="ltr"&&i!="auto")throw new RangeError("Invalid value for isolate: "+i);return i||"auto"}});I.contextHash=new I({perNode:!0});I.lookAhead=new I({perNode:!0});I.mounted=new I({perNode:!0});var ui=class{constructor(e,t,n,r=!1){this.tree=e,this.overlay=t,this.parser=n,this.bracketed=r}static get(e){return e&&e.props&&e.props[I.mounted.id]}},GQ=Object.create(null),Oe=class i{constructor(e,t,n,r=0){this.name=e,this.props=t,this.id=n,this.flags=r}static define(e){let t=e.props&&e.props.length?Object.create(null):GQ,n=(e.top?1:0)|(e.skipped?2:0)|(e.error?4:0)|(e.name==null?8:0),r=new i(e.name||"",t,e.id,n);if(e.props){for(let s of e.props)if(Array.isArray(s)||(s=s(r)),s){if(s[0].perNode)throw new RangeError("Can't store a per-node prop on a node type");t[s[0].id]=s[1]}}return r}prop(e){return this.props[e.id]}get isTop(){return(this.flags&1)>0}get isSkipped(){return(this.flags&2)>0}get isError(){return(this.flags&4)>0}get isAnonymous(){return(this.flags&8)>0}is(e){if(typeof e=="string"){if(this.name==e)return!0;let t=this.prop(I.group);return t?t.indexOf(e)>-1:!1}return this.id==e}static match(e){let t=Object.create(null);for(let n in e)for(let r of n.split(" "))t[r]=e[n];return n=>{for(let r=n.prop(I.group),s=-1;s<(r?r.length:0);s++){let o=t[s<0?n.name:r[s]];if(o)return o}}}};Oe.none=new Oe("",Object.create(null),0,8);var Dt=class i{constructor(e){this.types=e;for(let t=0;t0;for(let l=this.cursor(o|ee.IncludeAnonymous);;){let c=!1;if(l.from<=s&&l.to>=r&&(!a&&l.type.isAnonymous||t(l)!==!1)){if(l.firstChild())continue;c=!0}for(;c&&n&&(a||!l.type.isAnonymous)&&n(l),!l.nextSibling();){if(!l.parent())return;c=!0}}}prop(e){return e.perNode?this.props?this.props[e.id]:void 0:this.type.prop(e)}get propValues(){let e=[];if(this.props)for(let t in this.props)e.push([+t,this.props[t]]);return e}balance(e={}){return this.children.length<=8?this:cl(Oe.none,this.children,this.positions,0,this.children.length,0,this.length,(t,n,r)=>new i(this.type,t,n,r,this.propValues),e.makeTree||((t,n,r)=>new i(Oe.none,t,n,r)))}static build(e){return FQ(e)}};H.empty=new H(Oe.none,[],[],0);var Ja=class i{constructor(e,t){this.buffer=e,this.index=t}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}get pos(){return this.index}next(){this.index-=4}fork(){return new i(this.buffer,this.index)}},Oi=class i{constructor(e,t,n){this.buffer=e,this.length=t,this.set=n}get type(){return Oe.none}toString(){let e=[];for(let t=0;t0));l=o[l+3]);return a}slice(e,t,n){let r=this.buffer,s=new Uint16Array(t-e),o=0;for(let a=e,l=0;a=e&&te;case 1:return t<=e&&n>e;case 2:return n>e;case 4:return!0}}function or(i,e,t,n){for(var r;i.from==i.to||(t<1?i.from>=e:i.from>e)||(t>-1?i.to<=e:i.to0?a.length:-1;e!=c;e+=t){let h=a[e],f=l[e]+o.from,u;if(!(!(s&ee.EnterBracketed&&h instanceof H&&(u=ui.get(h))&&!u.overlay&&u.bracketed&&n>=f&&n<=f+h.length)&&!Uu(r,n,f,f+h.length))){if(h instanceof Oi){if(s&ee.ExcludeBuffers)continue;let O=h.findChild(0,h.buffer.length,t,n-f,r);if(O>-1)return new zi(new tl(o,h,e,f),null,O)}else if(s&ee.IncludeAnonymous||!h.type.isAnonymous||ll(h)){let O;if(!(s&ee.IgnoreMounts)&&(O=ui.get(h))&&!O.overlay)return new i(O.tree,f,e,o);let p=new i(h,f,e,o);return s&ee.IncludeAnonymous||!p.type.isAnonymous?p:p.nextChild(t<0?h.children.length-1:0,t,n,r,s)}}}if(s&ee.IncludeAnonymous||!o.type.isAnonymous||(o.index>=0?e=o.index+t:e=t<0?-1:o._parent._tree.children.length,o=o._parent,!o))return null}}get firstChild(){return this.nextChild(0,1,0,4)}get lastChild(){return this.nextChild(this._tree.children.length-1,-1,0,4)}childAfter(e){return this.nextChild(0,1,e,2)}childBefore(e){return this.nextChild(this._tree.children.length-1,-1,e,-2)}prop(e){return this._tree.prop(e)}enter(e,t,n=0){let r;if(!(n&ee.IgnoreOverlays)&&(r=ui.get(this._tree))&&r.overlay){let s=e-this.from,o=n&ee.EnterBracketed&&r.bracketed;for(let{from:a,to:l}of r.overlay)if((t>0||o?a<=s:a=s:l>s))return new i(r.tree,r.overlay[0].from+this.from,-1,this)}return this.nextChild(0,1,e,t,n)}nextSignificantParent(){let e=this;for(;e.type.isAnonymous&&e._parent;)e=e._parent;return e}get parent(){return this._parent?this._parent.nextSignificantParent():null}get nextSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index+1,1,0,4):null}get prevSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index-1,-1,0,4):null}get tree(){return this._tree}toTree(){return this._tree}toString(){return this._tree.toString()}};function ju(i,e,t,n){let r=i.cursor(),s=[];if(!r.firstChild())return s;if(t!=null){for(let o=!1;!o;)if(o=r.type.is(t),!r.nextSibling())return s}for(;;){if(n!=null&&r.type.is(n))return s;if(r.type.is(e)&&s.push(r.node),!r.nextSibling())return n==null?s:[]}}function el(i,e,t=e.length-1){for(let n=i;t>=0;n=n.parent){if(!n)return!1;if(!n.type.isAnonymous){if(e[t]&&e[t]!=n.name)return!1;t--}}return!0}var tl=class{constructor(e,t,n,r){this.parent=e,this.buffer=t,this.index=n,this.start=r}},zi=class i extends Ps{get name(){return this.type.name}get from(){return this.context.start+this.context.buffer.buffer[this.index+1]}get to(){return this.context.start+this.context.buffer.buffer[this.index+2]}constructor(e,t,n){super(),this.context=e,this._parent=t,this.index=n,this.type=e.buffer.set.types[e.buffer.buffer[n]]}child(e,t,n){let{buffer:r}=this.context,s=r.findChild(this.index+4,r.buffer[this.index+3],e,t-this.context.start,n);return s<0?null:new i(this.context,this,s)}get firstChild(){return this.child(1,0,4)}get lastChild(){return this.child(-1,0,4)}childAfter(e){return this.child(1,e,2)}childBefore(e){return this.child(-1,e,-2)}prop(e){return this.type.prop(e)}enter(e,t,n=0){if(n&ee.ExcludeBuffers)return null;let{buffer:r}=this.context,s=r.findChild(this.index+4,r.buffer[this.index+3],t>0?1:-1,e-this.context.start,t);return s<0?null:new i(this.context,this,s)}get parent(){return this._parent||this.context.parent.nextSignificantParent()}externalSibling(e){return this._parent?null:this.context.parent.nextChild(this.context.index+e,e,0,4)}get nextSibling(){let{buffer:e}=this.context,t=e.buffer[this.index+3];return t<(this._parent?e.buffer[this._parent.index+3]:e.buffer.length)?new i(this.context,this._parent,t):this.externalSibling(1)}get prevSibling(){let{buffer:e}=this.context,t=this._parent?this._parent.index+4:0;return this.index==t?this.externalSibling(-1):new i(this.context,this._parent,e.findChild(t,this.index,-1,0,4))}get tree(){return null}toTree(){let e=[],t=[],{buffer:n}=this.context,r=this.index+4,s=n.buffer[this.index+3];if(s>r){let o=n.buffer[this.index+1];e.push(n.slice(r,s,o)),t.push(0)}return new H(this.type,e,t,this.to-this.from)}toString(){return this.context.buffer.childString(this.index)}};function Gu(i){if(!i.length)return null;let e=0,t=i[0];for(let s=1;st.from||o.to=e){let a=new Ye(o.tree,o.overlay[0].from+s.from,-1,s);(r||(r=[n])).push(or(a,e,t,!1))}}return r?Gu(r):n}var Qn=class{get name(){return this.type.name}constructor(e,t=0){if(this.buffer=null,this.stack=[],this.index=0,this.bufferNode=null,this.mode=t&~ee.EnterBracketed,e instanceof Ye)this.yieldNode(e);else{this._tree=e.context.parent,this.buffer=e.context;for(let n=e._parent;n;n=n._parent)this.stack.unshift(n.index);this.bufferNode=e,this.yieldBuf(e.index)}}yieldNode(e){return e?(this._tree=e,this.type=e.type,this.from=e.from,this.to=e.to,!0):!1}yieldBuf(e,t){this.index=e;let{start:n,buffer:r}=this.buffer;return this.type=t||r.set.types[r.buffer[e]],this.from=n+r.buffer[e+1],this.to=n+r.buffer[e+2],!0}yield(e){return e?e instanceof Ye?(this.buffer=null,this.yieldNode(e)):(this.buffer=e.context,this.yieldBuf(e.index,e.type)):!1}toString(){return this.buffer?this.buffer.buffer.childString(this.index):this._tree.toString()}enterChild(e,t,n){if(!this.buffer)return this.yield(this._tree.nextChild(e<0?this._tree._tree.children.length-1:0,e,t,n,this.mode));let{buffer:r}=this.buffer,s=r.findChild(this.index+4,r.buffer[this.index+3],e,t-this.buffer.start,n);return s<0?!1:(this.stack.push(this.index),this.yieldBuf(s))}firstChild(){return this.enterChild(1,0,4)}lastChild(){return this.enterChild(-1,0,4)}childAfter(e){return this.enterChild(1,e,2)}childBefore(e){return this.enterChild(-1,e,-2)}enter(e,t,n=this.mode){return this.buffer?n&ee.ExcludeBuffers?!1:this.enterChild(1,e,t):this.yield(this._tree.enter(e,t,n))}parent(){if(!this.buffer)return this.yieldNode(this.mode&ee.IncludeAnonymous?this._tree._parent:this._tree.parent);if(this.stack.length)return this.yieldBuf(this.stack.pop());let e=this.mode&ee.IncludeAnonymous?this.buffer.parent:this.buffer.parent.nextSignificantParent();return this.buffer=null,this.yieldNode(e)}sibling(e){if(!this.buffer)return this._tree._parent?this.yield(this._tree.index<0?null:this._tree._parent.nextChild(this._tree.index+e,e,0,4,this.mode)):!1;let{buffer:t}=this.buffer,n=this.stack.length-1;if(e<0){let r=n<0?0:this.stack[n]+4;if(this.index!=r)return this.yieldBuf(t.findChild(r,this.index,-1,0,4))}else{let r=t.buffer[this.index+3];if(r<(n<0?t.buffer.length:t.buffer[this.stack[n]+3]))return this.yieldBuf(r)}return n<0?this.yield(this.buffer.parent.nextChild(this.buffer.index+e,e,0,4,this.mode)):!1}nextSibling(){return this.sibling(1)}prevSibling(){return this.sibling(-1)}atLastNode(e){let t,n,{buffer:r}=this;if(r){if(e>0){if(this.index-1)for(let s=t+e,o=e<0?-1:n._tree.children.length;s!=o;s+=e){let a=n._tree.children[s];if(this.mode&ee.IncludeAnonymous||a instanceof Oi||!a.type.isAnonymous||ll(a))return!1}return!0}move(e,t){if(t&&this.enterChild(e,0,4))return!0;for(;;){if(this.sibling(e))return!0;if(this.atLastNode(e)||!this.parent())return!1}}next(e=!0){return this.move(1,e)}prev(e=!0){return this.move(-1,e)}moveTo(e,t=0){for(;(this.from==this.to||(t<1?this.from>=e:this.from>e)||(t>-1?this.to<=e:this.to=0;){for(let o=e;o;o=o._parent)if(o.index==r){if(r==this.index)return o;t=o,n=s+1;break e}r=this.stack[--s]}for(let r=n;r=0;s--){if(s<0)return el(this._tree,e,r);let o=n[t.buffer[this.stack[s]]];if(!o.isAnonymous){if(e[r]&&e[r]!=o.name)return!1;r--}}return!0}};function ll(i){return i.children.some(e=>e instanceof Oi||!e.type.isAnonymous||ll(e))}function FQ(i){var e;let{buffer:t,nodeSet:n,maxBufferLength:r=1024,reused:s=[],minRepeatType:o=n.types.length}=i,a=Array.isArray(t)?new Ja(t,t.length):t,l=n.types,c=0,h=0;function f(v,$,A,_,W,T){let{id:k,start:w,end:C,size:j}=a,y=h,q=c;if(j<0)if(a.next(),j==-1){let N=s[k];A.push(N),_.push(w-v);return}else if(j==-3){c=k;return}else if(j==-4){h=k;return}else throw new RangeError(`Unrecognized record size: ${j}`);let de=l[k],Zt,X,G=w-v;if(C-w<=r&&(X=b(a.pos-$,W))){let N=new Uint16Array(X.size-X.skip),B=a.pos-X.size,re=N.length;for(;a.pos>B;)re=g(X.start,N,re);Zt=new Oi(N,C-X.start,n),G=X.start-v}else{let N=a.pos-j;a.next();let B=[],re=[],ne=k>=o?k:-1,ye=0,Et=C;for(;a.pos>N;)ne>=0&&a.id==ne&&a.size>=0?(a.end<=Et-r&&(p(B,re,w,ye,a.end,Et,ne,y,q),ye=B.length,Et=a.end),a.next()):T>2500?u(w,N,B,re):f(w,N,B,re,ne,T+1);if(ne>=0&&ye>0&&ye-1&&ye>0){let ni=O(de,q);Zt=cl(de,B,re,0,B.length,0,C-w,ni,ni)}else Zt=m(de,B,re,C-w,y-C,q)}A.push(Zt),_.push(G)}function u(v,$,A,_){let W=[],T=0,k=-1;for(;a.pos>$;){let{id:w,start:C,end:j,size:y}=a;if(y>4)a.next();else{if(k>-1&&C=0;j-=3)w[y++]=W[j],w[y++]=W[j+1]-C,w[y++]=W[j+2]-C,w[y++]=y;A.push(new Oi(w,W[2]-C,n)),_.push(C-v)}}function O(v,$){return(A,_,W)=>{let T=0,k=A.length-1,w,C;if(k>=0&&(w=A[k])instanceof H){if(!k&&w.type==v&&w.length==W)return w;(C=w.prop(I.lookAhead))&&(T=_[k]+w.length+C)}return m(v,A,_,W,T,$)}}function p(v,$,A,_,W,T,k,w,C){let j=[],y=[];for(;v.length>_;)j.push(v.pop()),y.push($.pop()+A-W);v.push(m(n.types[k],j,y,T-W,w-T,C)),$.push(W-A)}function m(v,$,A,_,W,T,k){if(T){let w=[I.contextHash,T];k=k?[w].concat(k):[w]}if(W>25){let w=[I.lookAhead,W];k=k?[w].concat(k):[w]}return new H(v,$,A,_,k)}function b(v,$){let A=a.fork(),_=0,W=0,T=0,k=A.end-r,w={size:0,start:0,skip:0};e:for(let C=A.pos-v;A.pos>C;){let j=A.size;if(A.id==$&&j>=0){w.size=_,w.start=W,w.skip=T,T+=4,_+=4,A.next();continue}let y=A.pos-j;if(j<0||y=o?4:0,de=A.start;for(A.next();A.pos>y;){if(A.size<0)if(A.size==-3||A.size==-4)q+=4;else break e;else A.id>=o&&(q+=4);A.next()}W=de,_+=j,T+=q}return($<0||_==v)&&(w.size=_,w.start=W,w.skip=T),w.size>4?w:void 0}function g(v,$,A){let{id:_,start:W,end:T,size:k}=a;if(a.next(),k>=0&&_4){let C=a.pos-(k-4);for(;a.pos>C;)A=g(v,$,A)}$[--A]=w,$[--A]=T-v,$[--A]=W-v,$[--A]=_}else k==-3?c=_:k==-4&&(h=_);return A}let Q=[],S=[];for(;a.pos>0;)f(i.start||0,i.bufferStart||0,Q,S,-1,0);let x=(e=i.length)!==null&&e!==void 0?e:Q.length?S[0]+Q[0].length:0;return new H(l[i.topID],Q.reverse(),S.reverse(),x)}var Vu=new WeakMap;function ws(i,e){if(!i.isAnonymous||e instanceof Oi||e.type!=i)return 1;let t=Vu.get(e);if(t==null){t=1;for(let n of e.children){if(n.type!=i||!(n instanceof H)){t=1;break}t+=ws(i,n)}Vu.set(e,t)}return t}function cl(i,e,t,n,r,s,o,a,l){let c=0;for(let p=n;p=h)break;$+=A}if(S==x+1){if($>h){let A=p[x];O(A.children,A.positions,0,A.children.length,m[x]+Q);continue}f.push(p[x])}else{let A=m[S-1]+p[S-1].length-v;f.push(cl(i,p,m,x,S,v,A,null,l))}u.push(v+Q-s)}}return O(e,t,n,r,0),(a||l)(f,u,o)}var di=class{constructor(){this.map=new WeakMap}setBuffer(e,t,n){let r=this.map.get(e);r||this.map.set(e,r=new Map),r.set(t,n)}getBuffer(e,t){let n=this.map.get(e);return n&&n.get(t)}set(e,t){e instanceof zi?this.setBuffer(e.context.buffer,e.index,t):e instanceof Ye&&this.map.set(e.tree,t)}get(e){return e instanceof zi?this.getBuffer(e.context.buffer,e.index):e instanceof Ye?this.map.get(e.tree):void 0}cursorSet(e,t){e.buffer?this.setBuffer(e.buffer.buffer,e.index,t):this.map.set(e.tree,t)}cursorGet(e){return e.buffer?this.getBuffer(e.buffer.buffer,e.index):this.map.get(e.tree)}},Yt=class i{constructor(e,t,n,r,s=!1,o=!1){this.from=e,this.to=t,this.tree=n,this.offset=r,this.open=(s?1:0)|(o?2:0)}get openStart(){return(this.open&1)>0}get openEnd(){return(this.open&2)>0}static addTree(e,t=[],n=!1){let r=[new i(0,e.length,e,0,!1,n)];for(let s of t)s.to>e.length&&r.push(s);return r}static applyChanges(e,t,n=128){if(!t.length)return e;let r=[],s=1,o=e.length?e[0]:null;for(let a=0,l=0,c=0;;a++){let h=a=n)for(;o&&o.from=u.from||f<=u.to||c){let O=Math.max(u.from,l)-c,p=Math.min(u.to,f)-c;u=O>=p?null:new i(O,p,u.tree,u.offset+c,a>0,!!h)}if(u&&r.push(u),o.to>f)break;o=snew De(r.from,r.to)):[new De(0,0)]:[new De(0,e.length)],this.createParse(e,t||[],n)}parse(e,t,n){let r=this.startParse(e,t,n);for(;;){let s=r.advance();if(s)return s}}},nl=class{constructor(e){this.string=e}get length(){return this.string.length}chunk(e){return this.string.slice(e)}get lineChunks(){return!1}read(e,t){return this.string.slice(e,t)}};function bn(i){return(e,t,n,r)=>new ol(e,i,t,n,r)}var vs=class{constructor(e,t,n,r,s,o){this.parser=e,this.parse=t,this.overlay=n,this.bracketed=r,this.target=s,this.from=o}};function Du(i){if(!i.length||i.some(e=>e.from>=e.to))throw new RangeError("Invalid inner parse ranges given: "+JSON.stringify(i))}var rl=class{constructor(e,t,n,r,s,o,a,l){this.parser=e,this.predicate=t,this.mounts=n,this.index=r,this.start=s,this.bracketed=o,this.target=a,this.prev=l,this.depth=0,this.ranges=[]}},sl=new I({perNode:!0}),ol=class{constructor(e,t,n,r,s){this.nest=t,this.input=n,this.fragments=r,this.ranges=s,this.inner=[],this.innerDone=0,this.baseTree=null,this.stoppedAt=null,this.baseParse=e}advance(){if(this.baseParse){let n=this.baseParse.advance();if(!n)return null;if(this.baseParse=null,this.baseTree=n,this.startInner(),this.stoppedAt!=null)for(let r of this.inner)r.parse.stopAt(this.stoppedAt)}if(this.innerDone==this.inner.length){let n=this.baseTree;return this.stoppedAt!=null&&(n=new H(n.type,n.children,n.positions,n.length,n.propValues.concat([[sl,this.stoppedAt]]))),n}let e=this.inner[this.innerDone],t=e.parse.advance();if(t){this.innerDone++;let n=Object.assign(Object.create(null),e.target.props);n[I.mounted.id]=new ui(t,e.overlay,e.parser,e.bracketed),e.target.props=n}return null}get parsedPos(){if(this.baseParse)return 0;let e=this.input.length;for(let t=this.innerDone;t=this.stoppedAt)a=!1;else if(e.hasNode(r)){if(t){let c=t.mounts.find(h=>h.frag.from<=r.from&&h.frag.to>=r.to&&h.mount.overlay);if(c)for(let h of c.mount.overlay){let f=h.from+c.pos,u=h.to+c.pos;f>=r.from&&u<=r.to&&!t.ranges.some(O=>O.fromf)&&t.ranges.push({from:f,to:u})}}a=!1}else if(n&&(o=HQ(n.ranges,r.from,r.to)))a=o!=2;else if(!r.type.isAnonymous&&(s=this.nest(r,this.input))&&(r.fromnew De(f.from-r.from,f.to-r.from)):null,!!s.bracketed,r.tree,h.length?h[0].from:r.from)),s.overlay?h.length&&(n={ranges:h,depth:0,prev:n}):a=!1}}else if(t&&(l=t.predicate(r))&&(l===!0&&(l=new De(r.from,r.to)),l.from=0&&t.ranges[c].to==l.from?t.ranges[c]={from:t.ranges[c].from,to:l.to}:t.ranges.push(l)}if(a&&r.firstChild())t&&t.depth++,n&&n.depth++;else for(;!r.nextSibling();){if(!r.parent())break e;if(t&&!--t.depth){let c=Iu(this.ranges,t.ranges);c.length&&(Du(c),this.inner.splice(t.index,0,new vs(t.parser,t.parser.startParse(this.input,Bu(t.mounts,c),c),t.ranges.map(h=>new De(h.from-t.start,h.to-t.start)),t.bracketed,t.target,c[0].from))),t=t.prev}n&&!--n.depth&&(n=n.prev)}}}};function HQ(i,e,t){for(let n of i){if(n.from>=t)break;if(n.to>e)return n.from<=e&&n.to>=t?2:1}return 0}function Yu(i,e,t,n,r,s){if(e=e&&t.enter(n,1,ee.IgnoreOverlays|ee.ExcludeBuffers)))if(t.to<=e)t.next(!1)||(this.done=!0);else break}hasNode(e){if(this.moveTo(e.from),!this.done&&this.cursor.from+this.offset==e.from&&this.cursor.tree)for(let t=this.cursor.tree;;){if(t==e.tree)return!0;if(t.children.length&&t.positions[0]==0&&t.children[0]instanceof H)t=t.children[0];else break}return!1}},al=class{constructor(e){var t;if(this.fragments=e,this.curTo=0,this.fragI=0,e.length){let n=this.curFrag=e[0];this.curTo=(t=n.tree.prop(sl))!==null&&t!==void 0?t:n.to,this.inner=new $s(n.tree,-n.offset)}else this.curFrag=this.inner=null}hasNode(e){for(;this.curFrag&&e.from>=this.curTo;)this.nextFrag();return this.curFrag&&this.curFrag.from<=e.from&&this.curTo>=e.to&&this.inner.hasNode(e)}nextFrag(){var e;if(this.fragI++,this.fragI==this.fragments.length)this.curFrag=this.inner=null;else{let t=this.curFrag=this.fragments[this.fragI];this.curTo=(e=t.tree.prop(sl))!==null&&e!==void 0?e:t.to,this.inner=new $s(t.tree,-t.offset)}}findMounts(e,t){var n;let r=[];if(this.inner){this.inner.cursor.moveTo(e,1);for(let s=this.inner.cursor.node;s;s=s.parent){let o=(n=s.tree)===null||n===void 0?void 0:n.prop(I.mounted);if(o&&o.parser==t)for(let a=this.fragI;a=s.to)break;l.tree==this.curFrag.tree&&r.push({frag:l,pos:s.from-l.offset,mount:o})}}}return r}};function Iu(i,e){let t=null,n=e;for(let r=1,s=0;r=a)break;l.to<=o||(t||(n=t=e.slice()),l.froma&&t.splice(s+1,0,new De(a,l.to))):l.to>a?t[s--]=new De(a,l.to):t.splice(s--,1))}}return n}function JQ(i,e,t,n){let r=0,s=0,o=!1,a=!1,l=-1e9,c=[];for(;;){let h=r==i.length?1e9:o?i[r].to:i[r].from,f=s==e.length?1e9:a?e[s].to:e[s].from;if(o!=a){let u=Math.max(l,t),O=Math.min(h,f,n);unew De(u.from+n,u.to+n)),f=JQ(e,h,l,c);for(let u=0,O=l;;u++){let p=u==f.length,m=p?c:f[u].from;if(m>O&&t.push(new Yt(O,m,r.tree,-o,s.from>=O||s.openStart,s.to<=m||s.openEnd)),p)break;O=f[u].to}}else t.push(new Yt(l,c,r.tree,-o,s.from>=o||s.openStart,s.to<=a||s.openEnd))}return t}var eb=0,He=class i{constructor(e,t,n,r){this.name=e,this.set=t,this.base=n,this.modified=r,this.id=eb++}toString(){let{name:e}=this;for(let t of this.modified)t.name&&(e=`${t.name}(${e})`);return e}static define(e,t){let n=typeof e=="string"?e:"?";if(e instanceof i&&(t=e),t?.base)throw new Error("Can not derive from a modified tag");let r=new i(n,[],null,[]);if(r.set.push(r),t)for(let s of t.set)r.set.push(s);return r}static defineModifier(e){let t=new _s(e);return n=>n.modified.indexOf(t)>-1?n:_s.get(n.base||n,n.modified.concat(t).sort((r,s)=>r.id-s.id))}},tb=0,_s=class i{constructor(e){this.name=e,this.instances=[],this.id=tb++}static get(e,t){if(!t.length)return e;let n=t[0].instances.find(a=>a.base==e&&ib(t,a.modified));if(n)return n;let r=[],s=new He(e.name,r,e,t);for(let a of t)a.instances.push(s);let o=nb(t);for(let a of e.set)if(!a.modified.length)for(let l of o)r.push(i.get(a,l));return s}};function ib(i,e){return i.length==e.length&&i.every((t,n)=>t==e[n])}function nb(i){let e=[[]];for(let t=0;tn.length-t.length)}function Qe(i){let e=Object.create(null);for(let t in i){let n=i[t];Array.isArray(n)||(n=[n]);for(let r of t.split(" "))if(r){let s=[],o=2,a=r;for(let f=0;;){if(a=="..."&&f>0&&f+3==r.length){o=1;break}let u=/^"(?:[^"\\]|\\.)*?"|[^\/!]+/.exec(a);if(!u)throw new RangeError("Invalid path: "+r);if(s.push(u[0]=="*"?"":u[0][0]=='"'?JSON.parse(u[0]):u[0]),f+=u[0].length,f==r.length)break;let O=r[f++];if(f==r.length&&O=="!"){o=0;break}if(O!="/")throw new RangeError("Invalid path: "+r);a=r.slice(f)}let l=s.length-1,c=s[l];if(!c)throw new RangeError("Invalid path: "+r);let h=new Mi(n,o,l>0?s.slice(0,l):null);e[c]=h.sort(e[c])}}return Hu.add(e)}var Hu=new I({combine(i,e){let t,n,r;for(;i||e;){if(!i||e&&i.depth>=e.depth?(r=e,e=e.next):(r=i,i=i.next),t&&t.mode==r.mode&&!r.context&&!t.context)continue;let s=new Mi(r.tags,r.mode,r.context);t?t.next=s:n=s,t=s}return n}}),Mi=class{constructor(e,t,n,r){this.tags=e,this.mode=t,this.context=n,this.next=r}get opaque(){return this.mode==0}get inherit(){return this.mode==1}sort(e){return!e||e.depth{let o=r;for(let a of s)for(let l of a.set){let c=t[l.id];if(c){o=o?o+" "+c:c;break}}return o},scope:n}}function rb(i,e){let t=null;for(let n of i){let r=n.style(e);r&&(t=t?t+" "+r:r)}return t}function Rs(i,e,t,n=0,r=i.length){let s=new fl(n,Array.isArray(e)?e:[e],t);s.highlightRange(i.cursor(),n,r,"",s.highlighters),s.flush(r)}var fl=class{constructor(e,t,n){this.at=e,this.highlighters=t,this.span=n,this.class=""}startSpan(e,t){t!=this.class&&(this.flush(e),e>this.at&&(this.at=e),this.class=t)}flush(e){e>this.at&&this.class&&this.span(this.at,e,this.class)}highlightRange(e,t,n,r,s){let{type:o,from:a,to:l}=e;if(a>=n||l<=t)return;o.isTop&&(s=this.highlighters.filter(O=>!O.scope||O.scope(o)));let c=r,h=sb(e)||Mi.empty,f=rb(s,h.tags);if(f&&(c&&(c+=" "),c+=f,h.mode==1&&(r+=(r?" ":"")+f)),this.startSpan(Math.max(t,a),c),h.opaque)return;let u=e.tree&&e.tree.prop(I.mounted);if(u&&u.overlay){let O=e.node.enter(u.overlay[0].from+a,1),p=this.highlighters.filter(b=>!b.scope||b.scope(u.tree.type)),m=e.firstChild();for(let b=0,g=a;;b++){let Q=b=S||!e.nextSibling())););if(!Q||S>n)break;g=Q.to+a,g>t&&(this.highlightRange(O.cursor(),Math.max(t,Q.from+a),Math.min(n,g),"",p),this.startSpan(Math.min(n,g),c))}m&&e.parent()}else if(e.firstChild()){u&&(r="");do if(!(e.to<=t)){if(e.from>=n)break;this.highlightRange(e,t,n,r,s),this.startSpan(Math.min(n,e.to),c)}while(e.nextSibling());e.parent()}}};function sb(i){let e=i.type.prop(Hu);for(;e&&e.context&&!i.matchContext(e.context);)e=e.next;return e||null}var E=He.define,Ts=E(),pi=E(),Nu=E(pi),Fu=E(pi),mi=E(),Cs=E(mi),hl=E(mi),_t=E(),Li=E(_t),Ct=E(),Xt=E(),ul=E(),ar=E(ul),Xs=E(),d={comment:Ts,lineComment:E(Ts),blockComment:E(Ts),docComment:E(Ts),name:pi,variableName:E(pi),typeName:Nu,tagName:E(Nu),propertyName:Fu,attributeName:E(Fu),className:E(pi),labelName:E(pi),namespace:E(pi),macroName:E(pi),literal:mi,string:Cs,docString:E(Cs),character:E(Cs),attributeValue:E(Cs),number:hl,integer:E(hl),float:E(hl),bool:E(mi),regexp:E(mi),escape:E(mi),color:E(mi),url:E(mi),keyword:Ct,self:E(Ct),null:E(Ct),atom:E(Ct),unit:E(Ct),modifier:E(Ct),operatorKeyword:E(Ct),controlKeyword:E(Ct),definitionKeyword:E(Ct),moduleKeyword:E(Ct),operator:Xt,derefOperator:E(Xt),arithmeticOperator:E(Xt),logicOperator:E(Xt),bitwiseOperator:E(Xt),compareOperator:E(Xt),updateOperator:E(Xt),definitionOperator:E(Xt),typeOperator:E(Xt),controlOperator:E(Xt),punctuation:ul,separator:E(ul),bracket:ar,angleBracket:E(ar),squareBracket:E(ar),paren:E(ar),brace:E(ar),content:_t,heading:Li,heading1:E(Li),heading2:E(Li),heading3:E(Li),heading4:E(Li),heading5:E(Li),heading6:E(Li),contentSeparator:E(_t),list:E(_t),quote:E(_t),emphasis:E(_t),strong:E(_t),link:E(_t),monospace:E(_t),strikethrough:E(_t),inserted:E(),deleted:E(),changed:E(),invalid:E(),meta:Xs,documentMeta:E(Xs),annotation:E(Xs),processingInstruction:E(Xs),definition:He.defineModifier("definition"),constant:He.defineModifier("constant"),function:He.defineModifier("function"),standard:He.defineModifier("standard"),local:He.defineModifier("local"),special:He.defineModifier("special")};for(let i in d){let e=d[i];e instanceof He&&(e.name=i)}var p$=Ol([{tag:d.link,class:"tok-link"},{tag:d.heading,class:"tok-heading"},{tag:d.emphasis,class:"tok-emphasis"},{tag:d.strong,class:"tok-strong"},{tag:d.keyword,class:"tok-keyword"},{tag:d.atom,class:"tok-atom"},{tag:d.bool,class:"tok-bool"},{tag:d.url,class:"tok-url"},{tag:d.labelName,class:"tok-labelName"},{tag:d.inserted,class:"tok-inserted"},{tag:d.deleted,class:"tok-deleted"},{tag:d.literal,class:"tok-literal"},{tag:d.string,class:"tok-string"},{tag:d.number,class:"tok-number"},{tag:[d.regexp,d.escape,d.special(d.string)],class:"tok-string2"},{tag:d.variableName,class:"tok-variableName"},{tag:d.local(d.variableName),class:"tok-variableName tok-local"},{tag:d.definition(d.variableName),class:"tok-variableName tok-definition"},{tag:d.special(d.variableName),class:"tok-variableName2"},{tag:d.definition(d.propertyName),class:"tok-propertyName tok-definition"},{tag:d.typeName,class:"tok-typeName"},{tag:d.namespace,class:"tok-namespace"},{tag:d.className,class:"tok-className"},{tag:d.macroName,class:"tok-macroName"},{tag:d.propertyName,class:"tok-propertyName"},{tag:d.operator,class:"tok-operator"},{tag:d.comment,class:"tok-comment"},{tag:d.meta,class:"tok-meta"},{tag:d.invalid,class:"tok-invalid"},{tag:d.punctuation,class:"tok-punctuation"}]);var dl,bt=new I;function kn(i){return Y.define({combine:i?e=>e.concat(i):void 0})}var qs=new I,we=class{constructor(e,t,n=[],r=""){this.data=e,this.name=r,se.prototype.hasOwnProperty("tree")||Object.defineProperty(se.prototype,"tree",{get(){return U(this)}}),this.parser=t,this.extension=[Sn.of(this),se.languageData.of((s,o,a)=>{let l=Ku(s,o,a),c=l.type.prop(bt);if(!c)return[];let h=s.facet(c),f=l.type.prop(qs);if(f){let u=l.resolve(o-l.from,a);for(let O of f)if(O.test(u,s)){let p=s.facet(O.facet);return O.type=="replace"?p:p.concat(h)}}return h})].concat(n)}isActiveAt(e,t,n=-1){return Ku(e,t,n).type.prop(bt)==this.data}findRegions(e){let t=e.facet(Sn);if(t?.data==this.data)return[{from:0,to:e.doc.length}];if(!t||!t.allowsNesting)return[];let n=[],r=(s,o)=>{if(s.prop(bt)==this.data){n.push({from:o,to:o+s.length});return}let a=s.prop(I.mounted);if(a){if(a.tree.prop(bt)==this.data){if(a.overlay)for(let l of a.overlay)n.push({from:l.from+o,to:l.to+o});else n.push({from:o,to:o+s.length});return}else if(a.overlay){let l=n.length;if(r(a.tree,a.overlay[0].from+o),n.length>l)return}}for(let l=0;ln.isTop?t:void 0)]}),e.name)}configure(e,t){return new i(this.data,this.parser.configure(e),t||this.name)}get allowsNesting(){return this.parser.hasWrappers()}};function U(i){let e=i.field(we.state,!1);return e?e.tree:H.empty}function zs(i,e,t=50){var n;let r=(n=i.field(we.state,!1))===null||n===void 0?void 0:n.context;if(!r)return null;let s=r.viewport;r.updateViewport({from:0,to:e});let o=r.isDone(e)||r.work(t,e)?r.tree:null;return r.updateViewport(s),o}function rO(i,e=i.doc.length){var t;return((t=i.field(we.state,!1))===null||t===void 0?void 0:t.context.isDone(e))||!1}var Ql=class{constructor(e){this.doc=e,this.cursorPos=0,this.string="",this.cursor=e.iter()}get length(){return this.doc.length}syncTo(e){return this.string=this.cursor.next(e-this.cursorPos).value,this.cursorPos=e+this.string.length,this.cursorPos-this.string.length}chunk(e){return this.syncTo(e),this.string}get lineChunks(){return!0}read(e,t){let n=this.cursorPos-this.string.length;return e=this.cursorPos?this.doc.sliceString(e,t):this.string.slice(e-n,t-n)}},lr=null,Wi=class i{constructor(e,t,n=[],r,s,o,a,l){this.parser=e,this.state=t,this.fragments=n,this.tree=r,this.treeLen=s,this.viewport=o,this.skipped=a,this.scheduleOn=l,this.parse=null,this.tempSkipped=[]}static create(e,t,n){return new i(e,t,[],H.empty,0,n,[],null)}startParse(){return this.parser.startParse(new Ql(this.state.doc),this.fragments)}work(e,t){return t!=null&&t>=this.state.doc.length&&(t=void 0),this.tree!=H.empty&&this.isDone(t??this.state.doc.length)?(this.takeTree(),!0):this.withContext(()=>{var n;if(typeof e=="number"){let r=Date.now()+e;e=()=>Date.now()>r}for(this.parse||(this.parse=this.startParse()),t!=null&&(this.parse.stoppedAt==null||this.parse.stoppedAt>t)&&t=this.treeLen&&((this.parse.stoppedAt==null||this.parse.stoppedAt>e)&&this.parse.stopAt(e),this.withContext(()=>{for(;!(t=this.parse.advance()););}),this.treeLen=e,this.tree=t,this.fragments=this.withoutTempSkipped(Yt.addTree(this.tree,this.fragments,!0)),this.parse=null)}withContext(e){let t=lr;lr=this;try{return e()}finally{lr=t}}withoutTempSkipped(e){for(let t;t=this.tempSkipped.pop();)e=Ju(e,t.from,t.to);return e}changes(e,t){let{fragments:n,tree:r,treeLen:s,viewport:o,skipped:a}=this;if(this.takeTree(),!e.empty){let l=[];if(e.iterChangedRanges((c,h,f,u)=>l.push({fromA:c,toA:h,fromB:f,toB:u})),n=Yt.applyChanges(n,l),r=H.empty,s=0,o={from:e.mapPos(o.from,-1),to:e.mapPos(o.to,1)},this.skipped.length){a=[];for(let c of this.skipped){let h=e.mapPos(c.from,1),f=e.mapPos(c.to,-1);he.from&&(this.fragments=Ju(this.fragments,r,s),this.skipped.splice(n--,1))}return this.skipped.length>=t?!1:(this.reset(),!0)}reset(){this.parse&&(this.takeTree(),this.parse=null)}skipUntilInView(e,t){this.skipped.push({from:e,to:t})}static getSkippingParser(e){return new class extends It{createParse(t,n,r){let s=r[0].from,o=r[r.length-1].to;return{parsedPos:s,advance(){let l=lr;if(l){for(let c of r)l.tempSkipped.push(c);e&&(l.scheduleOn=l.scheduleOn?Promise.all([l.scheduleOn,e]):e)}return this.parsedPos=o,new H(Oe.none,[],[],o-s)},stoppedAt:null,stopAt(){}}}}}isDone(e){e=Math.min(e,this.state.doc.length);let t=this.fragments;return this.treeLen>=e&&t.length&&t[0].from==0&&t[0].to>=e}static get(){return lr}};function Ju(i,e,t){return Yt.applyChanges(i,[{fromA:e,toA:t,fromB:e,toB:t}])}var cr=class i{constructor(e){this.context=e,this.tree=e.tree}apply(e){if(!e.docChanged&&this.tree==this.context.tree)return this;let t=this.context.changes(e.changes,e.state),n=this.context.treeLen==e.startState.doc.length?void 0:Math.max(e.changes.mapPos(this.context.treeLen),t.viewport.to);return t.work(20,n)||t.takeTree(),new i(t)}static init(e){let t=Math.min(3e3,e.doc.length),n=Wi.create(e.facet(Sn).parser,e,{from:0,to:t});return n.work(20,t)||n.takeTree(),new i(n)}};we.state=he.define({create:cr.init,update(i,e){for(let t of e.effects)if(t.is(we.setState))return t.value;return e.startState.facet(Sn)!=e.state.facet(Sn)?cr.init(e.state):i.apply(e)}});var sO=i=>{let e=setTimeout(()=>i(),500);return()=>clearTimeout(e)};typeof requestIdleCallback<"u"&&(sO=i=>{let e=-1,t=setTimeout(()=>{e=requestIdleCallback(i,{timeout:400})},100);return()=>e<0?clearTimeout(t):cancelIdleCallback(e)});var pl=typeof navigator<"u"&&(!((dl=navigator.scheduling)===null||dl===void 0)&&dl.isInputPending)?()=>navigator.scheduling.isInputPending():null,ob=Ve.fromClass(class{constructor(e){this.view=e,this.working=null,this.workScheduled=0,this.chunkEnd=-1,this.chunkBudget=-1,this.work=this.work.bind(this),this.scheduleWork()}update(e){let t=this.view.state.field(we.state).context;(t.updateViewport(e.view.viewport)||this.view.viewport.to>t.treeLen)&&this.scheduleWork(),(e.docChanged||e.selectionSet)&&(this.view.hasFocus&&(this.chunkBudget+=50),this.scheduleWork()),this.checkAsyncSchedule(t)}scheduleWork(){if(this.working)return;let{state:e}=this.view,t=e.field(we.state);(t.tree!=t.context.tree||!t.context.isDone(e.doc.length))&&(this.working=sO(this.work))}work(e){this.working=null;let t=Date.now();if(this.chunkEndr+1e3,l=s.context.work(()=>pl&&pl()||Date.now()>o,r+(a?0:1e5));this.chunkBudget-=Date.now()-t,(l||this.chunkBudget<=0)&&(s.context.takeTree(),this.view.dispatch({effects:we.setState.of(new cr(s.context))})),this.chunkBudget>0&&!(l&&!a)&&this.scheduleWork(),this.checkAsyncSchedule(s.context)}checkAsyncSchedule(e){e.scheduleOn&&(this.workScheduled++,e.scheduleOn.then(()=>this.scheduleWork()).catch(t=>lt(this.view.state,t)).then(()=>this.workScheduled--),e.scheduleOn=null)}destroy(){this.working&&this.working()}isWorking(){return!!(this.working||this.workScheduled>0)}},{eventHandlers:{focus(){this.scheduleWork()}}}),Sn=Y.define({combine(i){return i.length?i[0]:null},enables:i=>[we.state,ob,z.contentAttributes.compute([i],e=>{let t=e.facet(i);return t&&t.name?{"data-language":t.name}:{}})]}),me=class{constructor(e,t=[]){this.language=e,this.support=t,this.extension=[e,t]}},Ie=class i{constructor(e,t,n,r,s,o=void 0){this.name=e,this.alias=t,this.extensions=n,this.filename=r,this.loadFunc=s,this.support=o,this.loading=null}load(){return this.loading||(this.loading=this.loadFunc().then(e=>this.support=e,e=>{throw this.loading=null,e}))}static of(e){let{load:t,support:n}=e;if(!t){if(!n)throw new RangeError("Must pass either 'load' or 'support' to LanguageDescription.of");t=()=>Promise.resolve(n)}return new i(e.name,(e.alias||[]).concat(e.name).map(r=>r.toLowerCase()),e.extensions||[],e.filename,t,n)}static matchFilename(e,t){for(let r of e)if(r.filename&&r.filename.test(t))return r;let n=/\.([^.]+)$/.exec(t);if(n){for(let r of e)if(r.extensions.indexOf(n[1])>-1)return r}return null}static matchLanguageName(e,t,n=!0){t=t.toLowerCase();for(let r of e)if(r.alias.some(s=>s==t))return r;if(n)for(let r of e)for(let s of r.alias){let o=t.indexOf(s);if(o>-1&&(s.length>2||!/\w/.test(t[o-1])&&!/\w/.test(t[o+s.length])))return r}return null}},ab=Y.define(),Rt=Y.define({combine:i=>{if(!i.length)return" ";let e=i[0];if(!e||/\S/.test(e)||Array.from(e).some(t=>t!=e[0]))throw new Error("Invalid indent unit: "+JSON.stringify(i[0]));return e}});function gi(i){let e=i.facet(Rt);return e.charCodeAt(0)==9?i.tabSize*e.length:e.length}function fr(i,e){let t="",n=i.tabSize,r=i.facet(Rt)[0];if(r==" "){for(;e>=n;)t+=" ",e-=n;r=" "}for(let s=0;s=e?lb(i,t,e):null}var ji=class{constructor(e,t={}){this.state=e,this.options=t,this.unit=gi(e)}lineAt(e,t=1){let n=this.state.doc.lineAt(e),{simulateBreak:r,simulateDoubleBreak:s}=this.options;return r!=null&&r>=n.from&&r<=n.to?s&&r==e?{text:"",from:e}:(t<0?r-1&&(s+=o-this.countColumn(n,n.search(/\S|$/))),s}countColumn(e,t=e.length){return Ne(e,this.state.tabSize,t)}lineIndent(e,t=1){let{text:n,from:r}=this.lineAt(e,t),s=this.options.overrideIndentation;if(s){let o=s(r);if(o>-1)return o}return this.countColumn(n,n.search(/\S|$/))}get simulatedBreak(){return this.options.simulateBreak||null}},Pe=new I;function lb(i,e,t){let n=e.resolveStack(t),r=e.resolveInner(t,-1).resolve(t,0).enterUnfinishedNodesBefore(t);if(r!=n.node){let s=[];for(let o=r;o&&!(o.fromn.node.to||o.from==n.node.from&&o.type==n.node.type);o=o.parent)s.push(o);for(let o=s.length-1;o>=0;o--)n={node:s[o],next:n}}return oO(n,i,t)}function oO(i,e,t){for(let n=i;n;n=n.next){let r=hb(n.node);if(r)return r(bl.create(e,t,n))}return 0}function cb(i){return i.pos==i.options.simulateBreak&&i.options.simulateDoubleBreak}function hb(i){let e=i.type.prop(Pe);if(e)return e;let t=i.firstChild,n;if(t&&(n=t.type.prop(I.closedBy))){let r=i.lastChild,s=r&&n.indexOf(r.name)>-1;return o=>aO(o,!0,1,void 0,s&&!cb(o)?r.from:void 0)}return i.parent==null?fb:null}function fb(){return 0}var bl=class i extends ji{constructor(e,t,n){super(e.state,e.options),this.base=e,this.pos=t,this.context=n}get node(){return this.context.node}static create(e,t,n){return new i(e,t,n)}get textAfter(){return this.textAfterPos(this.pos)}get baseIndent(){return this.baseIndentFor(this.node)}baseIndentFor(e){let t=this.state.doc.lineAt(e.from);for(;;){let n=e.resolve(t.from);for(;n.parent&&n.parent.from==n.from;)n=n.parent;if(ub(n,e))break;t=this.state.doc.lineAt(n.from)}return this.lineIndent(t.from)}continue(){return oO(this.context.next,this.base,this.pos)}};function ub(i,e){for(let t=e;t;t=t.parent)if(i==t)return!0;return!1}function Ob(i){let e=i.node,t=e.childAfter(e.from),n=e.lastChild;if(!t)return null;let r=i.options.simulateBreak,s=i.state.doc.lineAt(t.from),o=r==null||r<=s.from?s.to:Math.min(s.to,r);for(let a=t.to;;){let l=e.childAfter(a);if(!l||l==n)return null;if(!l.type.isSkipped){if(l.from>=o)return null;let c=/^ */.exec(s.text.slice(t.to-s.from))[0].length;return{from:t.from,to:t.to+c}}a=l.to}}function St({closing:i,align:e=!0,units:t=1}){return n=>aO(n,e,t,i)}function aO(i,e,t,n,r){let s=i.textAfter,o=s.match(/^\s*/)[0].length,a=n&&s.slice(o,o+n.length)==n||r==i.pos+o,l=e?Ob(i):null;return l?a?i.column(l.from):i.column(l.to):i.baseIndent+(a?0:i.unit*t)}var lO=i=>i.baseIndent;function Bt({except:i,units:e=1}={}){return t=>{let n=i&&i.test(t.textAfter);return t.baseIndent+(n?0:e*t.unit)}}var cO=Y.define(),Xe=new I;function ht(i){let e=i.firstChild,t=i.lastChild;return e&&e.toa.prop(bt)==o.data:o?a=>a==o:void 0,this.style=Ol(e.map(a=>({tag:a.tag,class:a.class||r(Object.assign({},a,{tag:null}))})),{all:s}).style,this.module=n?new rt(n):null,this.themeType=t.themeType}static define(e,t){return new i(e,t||{})}},Sl=Y.define(),hO=Y.define({combine(i){return i.length?[i[0]]:null}});function ml(i){let e=i.facet(Sl);return e.length?e:i.facet(hO)}function fO(i,e){let t=[db],n;return i instanceof yn&&(i.module&&t.push(z.styleModule.of(i.module)),n=i.themeType),e?.fallback?t.push(hO.of(i)):n?t.push(Sl.computeN([z.darkTheme],r=>r.facet(z.darkTheme)==(n=="dark")?[i]:[])):t.push(Sl.of(i)),t}var yl=class{constructor(e){this.markCache=Object.create(null),this.tree=U(e.state),this.decorations=this.buildDeco(e,ml(e.state)),this.decoratedTo=e.viewport.to}update(e){let t=U(e.state),n=ml(e.state),r=n!=ml(e.startState),{viewport:s}=e.view,o=e.changes.mapPos(this.decoratedTo,1);t.length=s.to?(this.decorations=this.decorations.map(e.changes),this.decoratedTo=o):(t!=this.tree||e.viewportChanged||r)&&(this.tree=t,this.decorations=this.buildDeco(e.view,n),this.decoratedTo=s.to)}buildDeco(e,t){if(!t||!this.tree.length)return R.none;let n=new _i;for(let{from:r,to:s}of e.visibleRanges)Rs(this.tree,t,(o,a,l)=>{n.add(o,a,this.markCache[l]||(this.markCache[l]=R.mark({class:l})))},r,s);return n.finish()}},db=nt.high(Ve.fromClass(yl,{decorations:i=>i.decorations})),w$=yn.define([{tag:d.meta,color:"#404740"},{tag:d.link,textDecoration:"underline"},{tag:d.heading,textDecoration:"underline",fontWeight:"bold"},{tag:d.emphasis,fontStyle:"italic"},{tag:d.strong,fontWeight:"bold"},{tag:d.strikethrough,textDecoration:"line-through"},{tag:d.keyword,color:"#708"},{tag:[d.atom,d.bool,d.url,d.contentSeparator,d.labelName],color:"#219"},{tag:[d.literal,d.inserted],color:"#164"},{tag:[d.string,d.deleted],color:"#a11"},{tag:[d.regexp,d.escape,d.special(d.string)],color:"#e40"},{tag:d.definition(d.variableName),color:"#00f"},{tag:d.local(d.variableName),color:"#30a"},{tag:[d.typeName,d.namespace],color:"#085"},{tag:d.className,color:"#167"},{tag:[d.special(d.variableName),d.macroName],color:"#256"},{tag:d.definition(d.propertyName),color:"#00c"},{tag:d.comment,color:"#940"},{tag:d.invalid,color:"#f00"}]);var pb=1e4,mb="()[]{}";var vl=new I;function kl(i,e,t){let n=i.prop(e<0?I.openedBy:I.closedBy);if(n)return n;if(i.name.length==1){let r=t.indexOf(i.name);if(r>-1&&r%2==(e<0?1:0))return[t[r+e]]}return null}function xl(i){let e=i.type.prop(vl);return e?e(i.node):i}function Vi(i,e,t,n={}){let r=n.maxScanDistance||pb,s=n.brackets||mb,o=U(i),a=o.resolveInner(e,t);for(let l=a;l;l=l.parent){let c=kl(l.type,t,s);if(c&&l.from0?e>=h.from&&eh.from&&e<=h.to))return gb(i,e,t,l,h,c,s)}}return Qb(i,e,t,o,a.type,r,s)}function gb(i,e,t,n,r,s,o){let a=n.parent,l={from:r.from,to:r.to},c=0,h=a?.cursor();if(h&&(t<0?h.childBefore(n.from):h.childAfter(n.to)))do if(t<0?h.to<=n.from:h.from>=n.to){if(c==0&&s.indexOf(h.type.name)>-1&&h.from0)return null;let c={from:t<0?e-1:e,to:t>0?e+1:e},h=i.doc.iterRange(e,t>0?i.doc.length:0),f=0;for(let u=0;!h.next().done&&u<=s;){let O=h.value;t<0&&(u+=O.length);let p=e+u*t;for(let m=t>0?0:O.length-1,b=t>0?O.length:-1;m!=b;m+=t){let g=o.indexOf(O[m]);if(!(g<0||n.resolveInner(p+m,1).type!=r))if(g%2==0==t>0)f++;else{if(f==1)return{start:c,end:{from:p+m,to:p+m+1},matched:g>>1==l>>1};f--}}t>0&&(u+=O.length)}return h.done?{start:c,matched:!1}:null}function eO(i,e,t,n=0,r=0){e==null&&(e=i.search(/[^\s\u00a0]/),e==-1&&(e=i.length));let s=r;for(let o=n;o=this.string.length}sol(){return this.pos==0}peek(){return this.string.charAt(this.pos)||void 0}next(){if(this.post}eatSpace(){let e=this.pos;for(;/[\s\u00a0]/.test(this.string.charAt(this.pos));)++this.pos;return this.pos>e}skipToEnd(){this.pos=this.string.length}skipTo(e){let t=this.string.indexOf(e,this.pos);if(t>-1)return this.pos=t,!0}backUp(e){this.pos-=e}column(){return this.lastColumnPosn?o.toLowerCase():o,s=this.string.substr(this.pos,e.length);return r(s)==r(e)?(t!==!1&&(this.pos+=e.length),!0):null}else{let r=this.string.slice(this.pos).match(e);return r&&r.index>0?null:(r&&t!==!1&&(this.pos+=r[0].length),r)}}current(){return this.string.slice(this.start,this.pos)}};function bb(i){return{name:i.name||"",token:i.token,blankLine:i.blankLine||(()=>{}),startState:i.startState||(()=>!0),copyState:i.copyState||Sb,indent:i.indent||(()=>null),languageData:i.languageData||{},tokenTable:i.tokenTable||Tl,mergeTokens:i.mergeTokens!==!1}}function Sb(i){if(typeof i!="object")return i;let e={};for(let t in i){let n=i[t];e[t]=n instanceof Array?n.slice():n}return e}var tO=new WeakMap,Zs=class i extends we{constructor(e){let t=kn(e.languageData),n=bb(e),r,s=new class extends It{createParse(o,a,l){return new wl(r,o,a,l)}};super(t,s,[],e.name),this.topNode=wb(t,this),r=this,this.streamParser=n,this.stateAfter=new I({perNode:!0}),this.tokenTable=e.tokenTable?new Es(n.tokenTable):xb}static define(e){return new i(e)}getIndent(e){let t,{overrideIndentation:n}=e.options;n&&(t=tO.get(e.state),t!=null&&t1e4)return null;for(;s=n&&t+e.length<=r&&e.prop(i.stateAfter);if(s)return{state:i.streamParser.copyState(s),pos:t+e.length};for(let o=e.children.length-1;o>=0;o--){let a=e.children[o],l=t+e.positions[o],c=a instanceof H&&l=e.length)return e;!r&&t==0&&e.type==i.topNode&&(r=!0);for(let s=e.children.length-1;s>=0;s--){let o=e.positions[s],a=e.children[s],l;if(ot&&$l(i,s.tree,0-s.offset,t,a),c;if(l&&l.pos<=n&&(c=uO(i,s.tree,t+s.offset,l.pos+s.offset,!1)))return{state:l.state,tree:c}}return{state:i.streamParser.startState(r?gi(r):4),tree:H.empty}}var wl=class{constructor(e,t,n,r){this.lang=e,this.input=t,this.fragments=n,this.ranges=r,this.stoppedAt=null,this.chunks=[],this.chunkPos=[],this.chunk=[],this.chunkReused=void 0,this.rangeIndex=0,this.to=r[r.length-1].to;let s=Wi.get(),o=r[0].from,{state:a,tree:l}=yb(e,n,o,this.to,s?.state);this.state=a,this.parsedPos=this.chunkStart=o+l.length;for(let c=0;cc.from<=s.viewport.from&&c.to>=s.viewport.from)&&(this.state=this.lang.streamParser.startState(gi(s.state)),s.skipUntilInView(this.parsedPos,s.viewport.from),this.parsedPos=s.viewport.from),this.moveRangeIndex()}advance(){let e=Wi.get(),t=this.stoppedAt==null?this.to:Math.min(this.to,this.stoppedAt),n=Math.min(t,this.chunkStart+512);for(e&&(n=Math.min(n,e.viewport.to));this.parsedPos=t?this.finish():e&&this.parsedPos>=e.viewport.to?(e.skipUntilInView(this.parsedPos,t),this.finish()):null}stopAt(e){this.stoppedAt=e}lineAfter(e){let t=this.input.chunk(e);if(this.input.lineChunks)t==` +(()=>{var zo=[],Nh=[];(()=>{let i="lc,34,7n,7,7b,19,,,,2,,2,,,20,b,1c,l,g,,2t,7,2,6,2,2,,4,z,,u,r,2j,b,1m,9,9,,o,4,,9,,3,,5,17,3,3b,f,,w,1j,,,,4,8,4,,3,7,a,2,t,,1m,,,,2,4,8,,9,,a,2,q,,2,2,1l,,4,2,4,2,2,3,3,,u,2,3,,b,2,1l,,4,5,,2,4,,k,2,m,6,,,1m,,,2,,4,8,,7,3,a,2,u,,1n,,,,c,,9,,14,,3,,1l,3,5,3,,4,7,2,b,2,t,,1m,,2,,2,,3,,5,2,7,2,b,2,s,2,1l,2,,,2,4,8,,9,,a,2,t,,20,,4,,2,3,,,8,,29,,2,7,c,8,2q,,2,9,b,6,22,2,r,,,,,,1j,e,,5,,2,5,b,,10,9,,2u,4,,6,,2,2,2,p,2,4,3,g,4,d,,2,2,6,,f,,jj,3,qa,3,t,3,t,2,u,2,1s,2,,7,8,,2,b,9,,19,3,3b,2,y,,3a,3,4,2,9,,6,3,63,2,2,,1m,,,7,,,,,2,8,6,a,2,,1c,h,1r,4,1c,7,,,5,,14,9,c,2,w,4,2,2,,3,1k,,,2,3,,,3,1m,8,2,2,48,3,,d,,7,4,,6,,3,2,5i,1m,,5,ek,,5f,x,2da,3,3x,,2o,w,fe,6,2x,2,n9w,4,,a,w,2,28,2,7k,,3,,4,,p,2,5,,47,2,q,i,d,,12,8,p,b,1a,3,1c,,2,4,2,2,13,,1v,6,2,2,2,2,c,,8,,1b,,1f,,,3,2,2,5,2,,,16,2,8,,6m,,2,,4,,fn4,,kh,g,g,g,a6,2,gt,,6a,,45,5,1ae,3,,2,5,4,14,3,4,,4l,2,fx,4,ar,2,49,b,4w,,1i,f,1k,3,1d,4,2,2,1x,3,10,5,,8,1q,,c,2,1g,9,a,4,2,,2n,3,2,,,2,6,,4g,,3,8,l,2,1l,2,,,,,m,,e,7,3,5,5f,8,2,3,,,n,,29,,2,6,,,2,,,2,,2,6j,,2,4,6,2,,2,r,2,2d,8,2,,,2,2y,,,,2,6,,,2t,3,2,4,,5,77,9,,2,6t,,a,2,,,4,,40,4,2,2,4,,w,a,14,6,2,4,8,,9,6,2,3,1a,d,,2,ba,7,,6,,,2a,m,2,7,,2,,2,3e,6,3,,,2,,7,,,20,2,3,,,,9n,2,f0b,5,1n,7,t4,,1r,4,29,,f5k,2,43q,,,3,4,5,8,8,2,7,u,4,44,3,1iz,1j,4,1e,8,,e,,m,5,,f,11s,7,,h,2,7,,2,,5,79,7,c5,4,15s,7,31,7,240,5,gx7k,2o,3k,6o".split(",").map(e=>e?parseInt(e,36):1);for(let e=0,t=0;e>1;if(i=Nh[n])e=n+1;else return!0;if(e==t)return!1}}function Bh(i){return i>=127462&&i<=127487}var Uh=8205;function Fh(i,e,t=!0,n=!0){return(t?Hh:l0)(i,e,n)}function Hh(i,e,t){if(e==i.length)return e;e&&Kh(i.charCodeAt(e))&&Jh(i.charCodeAt(e-1))&&e--;let n=qo(i,e);for(e+=Gh(n);e=0&&Bh(qo(i,o));)s++,o-=2;if(s%2==0)break;e+=2}else break}return e}function l0(i,e,t){for(;e>1;){let n=Hh(i,e-2,t);if(n=56320&&i<57344}function Jh(i){return i>=55296&&i<56320}function Gh(i){return i<65536?1:2}var J=class i{lineAt(e){if(e<0||e>this.length)throw new RangeError(`Invalid position ${e} in document of length ${this.length}`);return this.lineInner(e,!1,1,0)}line(e){if(e<1||e>this.lines)throw new RangeError(`Invalid line number ${e} in ${this.lines}-line document`);return this.lineInner(e,!0,1,0)}replace(e,t,n){[e,t]=sn(this,e,t);let r=[];return this.decompose(0,e,r,2),n.length&&n.decompose(0,n.length,r,3),this.decompose(t,this.length,r,1),tn.from(r,this.length-(t-e)+n.length)}append(e){return this.replace(this.length,this.length,e)}slice(e,t=this.length){[e,t]=sn(this,e,t);let n=[];return this.decompose(e,t,n,0),tn.from(n,t-e)}eq(e){if(e==this)return!0;if(e.length!=this.length||e.lines!=this.lines)return!1;let t=this.scanIdentical(e,1),n=this.length-this.scanIdentical(e,-1),r=new Ci(this),s=new Ci(e);for(let o=t,a=t;;){if(r.next(o),s.next(o),o=0,r.lineBreak!=s.lineBreak||r.done!=s.done||r.value!=s.value)return!1;if(a+=r.value.length,r.done||a>=n)return!0}}iter(e=1){return new Ci(this,e)}iterRange(e,t=this.length){return new Br(this,e,t)}iterLines(e,t){let n;if(e==null)n=this.iter();else{t==null&&(t=this.lines+1);let r=this.line(e).from;n=this.iterRange(r,Math.max(r,t==this.lines+1?this.length:t<=1?0:this.line(t-1).to))}return new Ur(n)}toString(){return this.sliceString(0)}toJSON(){let e=[];return this.flatten(e),e}constructor(){}static of(e){if(e.length==0)throw new RangeError("A document must have at least one line");return e.length==1&&!e[0]?i.empty:e.length<=32?new Ne(e):tn.from(Ne.split(e,[]))}},Ne=class i extends J{constructor(e,t=c0(e)){super(),this.text=e,this.length=t}get lines(){return this.text.length}get children(){return null}lineInner(e,t,n,r){for(let s=0;;s++){let o=this.text[s],a=r+o.length;if((t?n:a)>=e)return new Mo(r,a,n,o);r=a+1,n++}}decompose(e,t,n,r){let s=e<=0&&t>=this.length?this:new i(ef(this.text,e,t),Math.min(t,this.length)-Math.max(0,e));if(r&1){let o=n.pop(),a=Ir(s.text,o.text.slice(),0,s.length);if(a.length<=32)n.push(new i(a,o.length+s.length));else{let l=a.length>>1;n.push(new i(a.slice(0,l)),new i(a.slice(l)))}}else n.push(s)}replace(e,t,n){if(!(n instanceof i))return super.replace(e,t,n);[e,t]=sn(this,e,t);let r=Ir(this.text,Ir(n.text,ef(this.text,0,e)),t),s=this.length+n.length-(t-e);return r.length<=32?new i(r,s):tn.from(i.split(r,[]),s)}sliceString(e,t=this.length,n=` +`){[e,t]=sn(this,e,t);let r="";for(let s=0,o=0;s<=t&&oe&&o&&(r+=n),es&&(r+=a.slice(Math.max(0,e-s),t-s)),s=l+1}return r}flatten(e){for(let t of this.text)e.push(t)}scanIdentical(){return 0}static split(e,t){let n=[],r=-1;for(let s of e)n.push(s),r+=s.length+1,n.length==32&&(t.push(new i(n,r)),n=[],r=-1);return r>-1&&t.push(new i(n,r)),t}},tn=class i extends J{constructor(e,t){super(),this.children=e,this.length=t,this.lines=0;for(let n of e)this.lines+=n.lines}lineInner(e,t,n,r){for(let s=0;;s++){let o=this.children[s],a=r+o.length,l=n+o.lines-1;if((t?l:a)>=e)return o.lineInner(e,t,n,r);r=a+1,n=l+1}}decompose(e,t,n,r){for(let s=0,o=0;o<=t&&s=o){let c=r&((o<=e?1:0)|(l>=t?2:0));o>=e&&l<=t&&!c?n.push(a):a.decompose(e-o,t-o,n,c)}o=l+1}}replace(e,t,n){if([e,t]=sn(this,e,t),n.lines=s&&t<=a){let l=o.replace(e-s,t-s,n),c=this.lines-o.lines+l.lines;if(l.lines>4&&l.lines>c>>6){let h=this.children.slice();return h[r]=l,new i(h,this.length-(t-e)+n.length)}return super.replace(s,a,l)}s=a+1}return super.replace(e,t,n)}sliceString(e,t=this.length,n=` +`){[e,t]=sn(this,e,t);let r="";for(let s=0,o=0;se&&s&&(r+=n),eo&&(r+=a.sliceString(e-o,t-o,n)),o=l+1}return r}flatten(e){for(let t of this.children)t.flatten(e)}scanIdentical(e,t){if(!(e instanceof i))return 0;let n=0,[r,s,o,a]=t>0?[0,0,this.children.length,e.children.length]:[this.children.length-1,e.children.length-1,-1,-1];for(;;r+=t,s+=t){if(r==o||s==a)return n;let l=this.children[r],c=e.children[s];if(l!=c)return n+l.scanIdentical(c,t);n+=l.length+1}}static from(e,t=e.reduce((n,r)=>n+r.length+1,-1)){let n=0;for(let O of e)n+=O.lines;if(n<32){let O=[];for(let m of e)m.flatten(O);return new Ne(O,t)}let r=Math.max(32,n>>5),s=r<<1,o=r>>1,a=[],l=0,c=-1,h=[];function f(O){let m;if(O.lines>s&&O instanceof i)for(let p of O.children)f(p);else O.lines>o&&(l>o||!l)?(u(),a.push(O)):O instanceof Ne&&l&&(m=h[h.length-1])instanceof Ne&&O.lines+m.lines<=32?(l+=O.lines,c+=O.length+1,h[h.length-1]=new Ne(m.text.concat(O.text),m.length+1+O.length)):(l+O.lines>r&&u(),l+=O.lines,c+=O.length+1,h.push(O))}function u(){l!=0&&(a.push(h.length==1?h[0]:i.from(h,c)),c=-1,l=h.length=0)}for(let O of e)f(O);return u(),a.length==1?a[0]:new i(a,t)}};J.empty=new Ne([""],0);function c0(i){let e=-1;for(let t of i)e+=t.length+1;return e}function Ir(i,e,t=0,n=1e9){for(let r=0,s=0,o=!0;s=t&&(l>n&&(a=a.slice(0,n-r)),r0?1:(e instanceof Ne?e.text.length:e.children.length)<<1]}nextInner(e,t){for(this.done=this.lineBreak=!1;;){let n=this.nodes.length-1,r=this.nodes[n],s=this.offsets[n],o=s>>1,a=r instanceof Ne?r.text.length:r.children.length;if(o==(t>0?a:0)){if(n==0)return this.done=!0,this.value="",this;t>0&&this.offsets[n-1]++,this.nodes.pop(),this.offsets.pop()}else if((s&1)==(t>0?0:1)){if(this.offsets[n]+=t,e==0)return this.lineBreak=!0,this.value=` +`,this;e--}else if(r instanceof Ne){let l=r.text[o+(t<0?-1:0)];if(this.offsets[n]+=t,l.length>Math.max(0,e))return this.value=e==0?l:t>0?l.slice(e):l.slice(0,l.length-e),this;e-=l.length}else{let l=r.children[o+(t<0?-1:0)];e>l.length?(e-=l.length,this.offsets[n]+=t):(t<0&&this.offsets[n]--,this.nodes.push(l),this.offsets.push(t>0?1:(l instanceof Ne?l.text.length:l.children.length)<<1))}}}next(e=0){return e<0&&(this.nextInner(-e,-this.dir),e=this.value.length),this.nextInner(e,this.dir)}},Br=class{constructor(e,t,n){this.value="",this.done=!1,this.cursor=new Ci(e,t>n?-1:1),this.pos=t>n?e.length:0,this.from=Math.min(t,n),this.to=Math.max(t,n)}nextInner(e,t){if(t<0?this.pos<=this.from:this.pos>=this.to)return this.value="",this.done=!0,this;e+=Math.max(0,t<0?this.pos-this.to:this.from-this.pos);let n=t<0?this.pos-this.from:this.to-this.pos;e>n&&(e=n),n-=e;let{value:r}=this.cursor.next(e);return this.pos+=(r.length+e)*t,this.value=r.length<=n?r:t<0?r.slice(r.length-n):r.slice(0,n),this.done=!this.value,this}next(e=0){return e<0?e=Math.max(e,this.from-this.pos):e>0&&(e=Math.min(e,this.to-this.pos)),this.nextInner(e,this.cursor.dir)}get lineBreak(){return this.cursor.lineBreak&&this.value!=""}},Ur=class{constructor(e){this.inner=e,this.afterBreak=!0,this.value="",this.done=!1}next(e=0){let{done:t,lineBreak:n,value:r}=this.inner.next(e);return t&&this.afterBreak?(this.value="",this.afterBreak=!1):t?(this.done=!0,this.value=""):n?this.afterBreak?this.value="":(this.afterBreak=!0,this.next()):(this.value=r,this.afterBreak=!1),this}get lineBreak(){return!1}};typeof Symbol<"u"&&(J.prototype[Symbol.iterator]=function(){return this.iter()},Ci.prototype[Symbol.iterator]=Br.prototype[Symbol.iterator]=Ur.prototype[Symbol.iterator]=function(){return this});var Mo=class{constructor(e,t,n,r){this.from=e,this.to=t,this.number=n,this.text=r}get length(){return this.to-this.from}};function sn(i,e,t){return e=Math.max(0,Math.min(i.length,e)),[e,Math.max(e,Math.min(i.length,t))]}function xe(i,e,t=!0,n=!0){return Fh(i,e,t,n)}function h0(i){return i>=56320&&i<57344}function f0(i){return i>=55296&&i<56320}function ri(i,e){let t=i.charCodeAt(e);if(!f0(t)||e+1==i.length)return t;let n=i.charCodeAt(e+1);return h0(n)?(t-55296<<10)+(n-56320)+65536:t}function of(i){return i<=65535?String.fromCharCode(i):(i-=65536,String.fromCharCode((i>>10)+55296,(i&1023)+56320))}function on(i){return i<65536?1:2}var Wo=/\r\n?|\n/,ge=(function(i){return i[i.Simple=0]="Simple",i[i.TrackDel=1]="TrackDel",i[i.TrackBefore=2]="TrackBefore",i[i.TrackAfter=3]="TrackAfter",i})(ge||(ge={})),zt=class i{constructor(e){this.sections=e}get length(){let e=0;for(let t=0;te)return s+(e-r);s+=a}else{if(n!=ge.Simple&&c>=e&&(n==ge.TrackDel&&re||n==ge.TrackBefore&&re))return null;if(c>e||c==e&&t<0&&!a)return e==r||t<0?s:s+l;s+=l}r=c}if(e>r)throw new RangeError(`Position ${e} is out of range for changeset of length ${r}`);return s}touchesRange(e,t=e){for(let n=0,r=0;n=0&&r<=t&&a>=e)return rt?"cover":!0;r=a}return!1}toString(){let e="";for(let t=0;t=0?":"+r:"")}return e}toJSON(){return this.sections}static fromJSON(e){if(!Array.isArray(e)||e.length%2||e.some(t=>typeof t!="number"))throw new RangeError("Invalid JSON representation of ChangeDesc");return new i(e)}static create(e){return new i(e)}},ze=class i extends zt{constructor(e,t){super(e),this.inserted=t}apply(e){if(this.length!=e.length)throw new RangeError("Applying change set to a document with the wrong length");return jo(this,(t,n,r,s,o)=>e=e.replace(r,r+(n-t),o),!1),e}mapDesc(e,t=!1){return Vo(this,e,t,!0)}invert(e){let t=this.sections.slice(),n=[];for(let r=0,s=0;r=0){t[r]=a,t[r+1]=o;let l=r>>1;for(;n.length0&&ni(n,t,s.text),s.forward(h),a+=h}let c=e[o++];for(;a>1].toJSON()))}return e}static of(e,t,n){let r=[],s=[],o=0,a=null;function l(h=!1){if(!h&&!r.length)return;ou||f<0||u>t)throw new RangeError(`Invalid change range ${f} to ${u} (in doc of length ${t})`);let m=O?typeof O=="string"?J.of(O.split(n||Wo)):O:J.empty,p=m.length;if(f==u&&p==0)return;fo&&Ae(r,f-o,-1),Ae(r,u-f,p),ni(s,r,m),o=u}}return c(e),l(!a),a}static empty(e){return new i(e?[e,-1]:[],[])}static fromJSON(e){if(!Array.isArray(e))throw new RangeError("Invalid JSON representation of ChangeSet");let t=[],n=[];for(let r=0;ra&&typeof o!="string"))throw new RangeError("Invalid JSON representation of ChangeSet");if(s.length==1)t.push(s[0],0);else{for(;n.length=0&&t<=0&&t==i[r+1]?i[r]+=e:r>=0&&e==0&&i[r]==0?i[r+1]+=t:n?(i[r]+=e,i[r+1]+=t):i.push(e,t)}function ni(i,e,t){if(t.length==0)return;let n=e.length-2>>1;if(n>1])),!(t||o==i.sections.length||i.sections[o+1]<0);)a=i.sections[o++],l=i.sections[o++];e(r,c,s,h,f),r=c,s=h}}}function Vo(i,e,t,n=!1){let r=[],s=n?[]:null,o=new Xi(i),a=new Xi(e);for(let l=-1;;){if(o.done&&a.len||a.done&&o.len)throw new Error("Mismatched change set lengths");if(o.ins==-1&&a.ins==-1){let c=Math.min(o.len,a.len);Ae(r,c,-1),o.forward(c),a.forward(c)}else if(a.ins>=0&&(o.ins<0||l==o.i||o.off==0&&(a.len=0&&l=0){let c=0,h=o.len;for(;h;)if(a.ins==-1){let f=Math.min(h,a.len);c+=f,h-=f,a.forward(f)}else if(a.ins==0&&a.lenl||o.ins>=0&&o.len>l)&&(a||n.length>c),s.forward2(l),o.forward(l)}}}}var Xi=class{constructor(e){this.set=e,this.i=0,this.next()}next(){let{sections:e}=this.set;this.i>1;return t>=e.length?J.empty:e[t]}textBit(e){let{inserted:t}=this.set,n=this.i-2>>1;return n>=t.length&&!e?J.empty:t[n].slice(this.off,e==null?void 0:this.off+e)}forward(e){e==this.len?this.next():(this.len-=e,this.off+=e)}forward2(e){this.ins==-1?this.forward(e):e==this.ins?this.next():(this.ins-=e,this.off+=e)}},vi=class i{constructor(e,t,n,r){this.from=e,this.to=t,this.flags=n,this.goalColumn=r}get anchor(){return this.flags&32?this.to:this.from}get head(){return this.flags&32?this.from:this.to}get empty(){return this.from==this.to}get assoc(){return this.flags&8?-1:this.flags&16?1:0}get undirectional(){return(this.flags&64)>0}get bidiLevel(){let e=this.flags&7;return e==7?null:e}map(e,t=-1){let n,r;return this.empty?n=r=e.mapPos(this.from,t):(n=e.mapPos(this.from,1),r=e.mapPos(this.to,-1)),n==this.from&&r==this.to?this:new i(n,r,this.flags,this.goalColumn)}extend(e,t=e,n=0){if(e<=this.anchor&&t>=this.anchor)return v.range(e,t,void 0,void 0,n);let r=Math.abs(e-this.anchor)>Math.abs(t-this.anchor)?e:t;return v.range(this.anchor,r,void 0,void 0,n)}eq(e,t=!1){return this.anchor==e.anchor&&this.head==e.head&&this.goalColumn==e.goalColumn&&(!t||!this.empty||this.assoc==e.assoc)}toJSON(){return{anchor:this.anchor,head:this.head}}static fromJSON(e){if(!e||typeof e.anchor!="number"||typeof e.head!="number")throw new RangeError("Invalid JSON representation for SelectionRange");return v.range(e.anchor,e.head)}static create(e,t,n,r){return new i(e,t,n,r)}},v=class i{constructor(e,t){this.ranges=e,this.mainIndex=t}map(e,t=-1){return e.empty?this:i.create(this.ranges.map(n=>n.map(e,t)),this.mainIndex)}eq(e,t=!1){if(this.ranges.length!=e.ranges.length||this.mainIndex!=e.mainIndex)return!1;for(let n=0;ne.toJSON()),main:this.mainIndex}}static fromJSON(e){if(!e||!Array.isArray(e.ranges)||typeof e.main!="number"||e.main>=e.ranges.length)throw new RangeError("Invalid JSON representation for EditorSelection");return new i(e.ranges.map(t=>vi.fromJSON(t)),e.main)}static single(e,t=e){return new i([i.range(e,t)],0)}static create(e,t=0){if(e.length==0)throw new RangeError("A selection needs at least one range");for(let n=0,r=0;rr.from-s.from),t=e.indexOf(n);for(let r=1;rs.head?i.range(l,a):i.range(a,l))}}return new i(e,t)}};function lf(i,e){for(let t of i.ranges)if(t.to>e)throw new RangeError("Selection points outside of document")}var Ko=0,Y=class i{constructor(e,t,n,r,s){this.combine=e,this.compareInput=t,this.compare=n,this.isStatic=r,this.id=Ko++,this.default=e([]),this.extensions=typeof s=="function"?s(this):s}get reader(){return this}static define(e={}){return new i(e.combine||(t=>t),e.compareInput||((t,n)=>t===n),e.compare||(e.combine?(t,n)=>t===n:Jo),!!e.static,e.enables)}of(e){return new nn([],this,0,e)}compute(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new nn(e,this,1,t)}computeN(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new nn(e,this,2,t)}from(e,t){return t||(t=n=>n),this.compute([e],n=>t(n.field(e)))}};function Jo(i,e){return i==e||i.length==e.length&&i.every((t,n)=>t===e[n])}var nn=class{constructor(e,t,n,r){this.dependencies=e,this.facet=t,this.type=n,this.value=r,this.id=Ko++}dynamicSlot(e){var t;let n=this.value,r=this.facet.compareInput,s=this.id,o=e[s]>>1,a=this.type==2,l=!1,c=!1,h=[];for(let f of this.dependencies)f=="doc"?l=!0:f=="selection"?c=!0:(((t=e[f.id])!==null&&t!==void 0?t:1)&1)==0&&h.push(e[f.id]);return{create(f){return f.values[o]=n(f),1},update(f,u){if(l&&u.docChanged||c&&(u.docChanged||u.selection)||Do(f,h)){let O=n(f);if(a?!tf(O,f.values[o],r):!r(O,f.values[o]))return f.values[o]=O,1}return 0},reconfigure:(f,u)=>{let O,m=u.config.address[s];if(m!=null){let p=Hr(u,m);if(this.dependencies.every(b=>b instanceof Y?u.facet(b)===f.facet(b):b instanceof fe?u.field(b,!1)==f.field(b,!1):!0)||(a?tf(O=n(f),p,r):r(O=n(f),p)))return f.values[o]=p,0}else O=n(f);return f.values[o]=O,1}}}get extension(){return this}};function tf(i,e,t){if(i.length!=e.length)return!1;for(let n=0;ni[l.id]),r=t.map(l=>l.type),s=n.filter(l=>!(l&1)),o=i[e.id]>>1;function a(l){let c=[];for(let h=0;hn===r),e);return e.provide&&(t.provides=e.provide(t)),t}create(e){let t=e.facet(Vr).find(n=>n.field==this);return(t?.create||this.createF)(e)}slot(e){let t=e[this.id]>>1;return{create:n=>(n.values[t]=this.create(n),1),update:(n,r)=>{let s=n.values[t],o=this.updateF(s,r);return this.compareF(s,o)?0:(n.values[t]=o,1)},reconfigure:(n,r)=>{let s=n.facet(Vr),o=r.facet(Vr),a;return(a=s.find(l=>l.field==this))&&a!=o.find(l=>l.field==this)?(n.values[t]=a.create(n),1):r.config.address[this.id]!=null?(n.values[t]=r.field(this),0):(n.values[t]=this.create(n),1)}}}init(e){return[this,Vr.of({field:this,create:e})]}get extension(){return this}},$i={lowest:4,low:3,default:2,high:1,highest:0};function Wn(i){return e=>new Gr(e,i)}var st={highest:Wn($i.highest),high:Wn($i.high),default:Wn($i.default),low:Wn($i.low),lowest:Wn($i.lowest)},Gr=class{constructor(e,t){this.inner=e,this.prec=t}get extension(){return this}},Nr=class i{of(e){return new Vn(this,e)}reconfigure(e){return i.reconfigure.of({compartment:this,extension:e})}get(e){return e.config.compartments.get(this)}},Vn=class{constructor(e,t){this.compartment=e,this.inner=t}get extension(){return this}},Fr=class i{constructor(e,t,n,r,s,o){for(this.base=e,this.compartments=t,this.dynamicSlots=n,this.address=r,this.staticValues=s,this.facets=o,this.statusTemplate=[];this.statusTemplate.length>1]}static resolve(e,t,n){let r=[],s=Object.create(null),o=new Map;for(let u of O0(e,t,o))u instanceof fe?r.push(u):(s[u.facet.id]||(s[u.facet.id]=[])).push(u);let a=Object.create(null),l=[],c=[];for(let u of r)a[u.id]=c.length<<1,c.push(O=>u.slot(O));let h=n?.config.facets;for(let u in s){let O=s[u],m=O[0].facet,p=h&&h[u]||[];if(O.every(b=>b.type==0))if(a[m.id]=l.length<<1|1,Jo(p,O))l.push(n.facet(m));else{let b=m.combine(O.map(g=>g.value));l.push(n&&m.compare(b,n.facet(m))?n.facet(m):b)}else{for(let b of O)b.type==0?(a[b.id]=l.length<<1|1,l.push(b.value)):(a[b.id]=c.length<<1,c.push(g=>b.dynamicSlot(g)));a[m.id]=c.length<<1,c.push(b=>u0(b,m,O))}}let f=c.map(u=>u(a));return new i(e,o,f,a,l,s)}};function O0(i,e,t){let n=[[],[],[],[],[]],r=new Map;function s(o,a){let l=r.get(o);if(l!=null){if(l<=a)return;let c=n[l].indexOf(o);c>-1&&n[l].splice(c,1),o instanceof Vn&&t.delete(o.compartment)}if(r.set(o,a),Array.isArray(o))for(let c of o)s(c,a);else if(o instanceof Vn){if(t.has(o.compartment))throw new RangeError("Duplicate use of compartment in extensions");let c=e.get(o.compartment)||o.inner;t.set(o.compartment,c),s(c,a)}else if(o instanceof Gr)s(o.inner,o.prec);else if(o instanceof fe)n[a].push(o),o.provides&&s(o.provides,a);else if(o instanceof nn)n[a].push(o),o.facet.extensions&&s(o.facet.extensions,$i.default);else{let c=o.extension;if(!c)throw new Error(`Unrecognized extension value in extension set (${o}).`);if(c==o)throw new Error(`Unrecognized extension value in extension set (${o}). This sometimes happens because multiple instances of @codemirror/state are loaded, breaking instanceof checks.`);s(c,a)}}return s(i,$i.default),n.reduce((o,a)=>o.concat(a))}function jn(i,e){if(e&1)return 2;let t=e>>1,n=i.status[t];if(n==4)throw new Error("Cyclic dependency between fields and/or facets");if(n&2)return n;i.status[t]=4;let r=i.computeSlot(i,i.config.dynamicSlots[t]);return i.status[t]=2|r}function Hr(i,e){return e&1?i.config.staticValues[e>>1]:i.values[e>>1]}var cf=Y.define(),Yo=Y.define({combine:i=>i.some(e=>e),static:!0}),hf=Y.define({combine:i=>i.length?i[0]:void 0,static:!0}),ff=Y.define(),uf=Y.define(),Of=Y.define(),df=Y.define({combine:i=>i.length?i[0]:!1}),Te=class{constructor(e,t){this.type=e,this.value=t}static define(){return new Io}},Io=class{of(e){return new Te(this,e)}},Bo=class{constructor(e){this.map=e}of(e){return new ie(this,e)}},ie=class i{constructor(e,t){this.type=e,this.value=t}map(e){let t=this.type.map(this.value,e);return t===void 0?void 0:t==this.value?this:new i(this.type,t)}is(e){return this.type==e}static define(e={}){return new Bo(e.map||(t=>t))}static mapEffects(e,t){if(!e.length)return e;let n=[];for(let r of e){let s=r.map(t);s&&n.push(s)}return n}};ie.reconfigure=ie.define();ie.appendConfig=ie.define();var pe=class i{constructor(e,t,n,r,s,o){this.startState=e,this.changes=t,this.selection=n,this.effects=r,this.annotations=s,this.scrollIntoView=o,this._doc=null,this._state=null,n&&lf(n,t.newLength),s.some(a=>a.type==i.time)||(this.annotations=s.concat(i.time.of(Date.now())))}static create(e,t,n,r,s,o){return new i(e,t,n,r,s,o)}get newDoc(){return this._doc||(this._doc=this.changes.apply(this.startState.doc))}get newSelection(){return this.selection||this.startState.selection.map(this.changes)}get state(){return this._state||this.startState.applyTransaction(this),this._state}annotation(e){for(let t of this.annotations)if(t.type==e)return t.value}get docChanged(){return!this.changes.empty}get reconfigured(){return this.startState.config!=this.state.config}isUserEvent(e){let t=this.annotation(i.userEvent);return!!(t&&(t==e||t.length>e.length&&t.slice(0,e.length)==e&&t[e.length]=="."))}};pe.time=Te.define();pe.userEvent=Te.define();pe.addToHistory=Te.define();pe.remote=Te.define();function d0(i,e){let t=[];for(let n=0,r=0;;){let s,o;if(n=i[n]))s=i[n++],o=i[n++];else if(r=0;r--){let s=n[r](i);s instanceof pe?i=s:Array.isArray(s)&&s.length==1&&s[0]instanceof pe?i=s[0]:i=mf(e,rn(s),!1)}return i}function m0(i){let e=i.startState,t=e.facet(Of),n=i;for(let r=t.length-1;r>=0;r--){let s=t[r](i);s&&Object.keys(s).length&&(n=pf(n,Uo(e,s,i.changes.newLength),!0))}return n==i?i:pe.create(e,i.changes,i.selection,n.effects,n.annotations,n.scrollIntoView)}var g0=[];function rn(i){return i==null?g0:Array.isArray(i)?i:[i]}var qe=(function(i){return i[i.Word=0]="Word",i[i.Space=1]="Space",i[i.Other=2]="Other",i})(qe||(qe={})),Q0=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/,Go;try{Go=new RegExp("[\\p{Alphabetic}\\p{Number}_]","u")}catch{}function b0(i){if(Go)return Go.test(i);for(let e=0;e"\x80"&&(t.toUpperCase()!=t.toLowerCase()||Q0.test(t)))return!0}return!1}function S0(i){return e=>{if(!/\S/.test(e))return qe.Space;if(b0(e))return qe.Word;for(let t=0;t-1)return qe.Word;return qe.Other}}var se=class i{constructor(e,t,n,r,s,o){this.config=e,this.doc=t,this.selection=n,this.values=r,this.status=e.statusTemplate.slice(),this.computeSlot=s,o&&(o._state=this);for(let a=0;ar.set(c,l)),t=null),r.set(a.value.compartment,a.value.extension)):a.is(ie.reconfigure)?(t=null,n=a.value):a.is(ie.appendConfig)&&(t=null,n=rn(n).concat(a.value));let s;t?s=e.startState.values.slice():(t=Fr.resolve(n,r,this),s=new i(t,this.doc,this.selection,t.dynamicSlots.map(()=>null),(l,c)=>c.reconfigure(l,this),null).values);let o=e.startState.facet(Yo)?e.newSelection:e.newSelection.asSingle();new i(t,e.newDoc,o,s,(a,l)=>l.update(a,e),e)}replaceSelection(e){return typeof e=="string"&&(e=this.toText(e)),this.changeByRange(t=>({changes:{from:t.from,to:t.to,insert:e},range:v.cursor(t.from+e.length)}))}changeByRange(e){let t=this.selection,n=e(t.ranges[0]),r=this.changes(n.changes),s=[n.range],o=rn(n.effects);for(let a=1;ao.spec.fromJSON(a,l)))}}return i.create({doc:e.doc,selection:v.fromJSON(e.selection),extensions:t.extensions?r.concat([t.extensions]):r})}static create(e={}){let t=Fr.resolve(e.extensions||[],new Map),n=e.doc instanceof J?e.doc:J.of((e.doc||"").split(t.staticFacet(i.lineSeparator)||Wo)),r=e.selection?e.selection instanceof v?e.selection:v.single(e.selection.anchor,e.selection.head):v.single(0);return lf(r,n.length),t.staticFacet(Yo)||(r=r.asSingle()),new i(t,n,r,t.dynamicSlots.map(()=>null),(s,o)=>o.create(s),null)}get tabSize(){return this.facet(i.tabSize)}get lineBreak(){return this.facet(i.lineSeparator)||` +`}get readOnly(){return this.facet(df)}phrase(e,...t){for(let n of this.facet(i.phrases))if(Object.prototype.hasOwnProperty.call(n,e)){e=n[e];break}return t.length&&(e=e.replace(/\$(\$|\d*)/g,(n,r)=>{if(r=="$")return"$";let s=+(r||1);return!s||s>t.length?n:t[s-1]})),e}languageDataAt(e,t,n=-1){let r=[];for(let s of this.facet(cf))for(let o of s(this,t,n))Object.prototype.hasOwnProperty.call(o,e)&&r.push(o[e]);return r}charCategorizer(e){let t=this.languageDataAt("wordChars",e);return S0(t.length?t[0]:"")}wordAt(e){let{text:t,from:n,length:r}=this.doc.lineAt(e),s=this.charCategorizer(e),o=e-n,a=e-n;for(;o>0;){let l=xe(t,o,!1);if(s(t.slice(l,o))!=qe.Word)break;o=l}for(;ai.length?i[0]:4});se.lineSeparator=hf;se.readOnly=df;se.phrases=Y.define({compare(i,e){let t=Object.keys(i),n=Object.keys(e);return t.length==n.length&&t.every(r=>i[r]==e[r])}});se.languageData=cf;se.changeFilter=ff;se.transactionFilter=uf;se.transactionExtender=Of;Nr.reconfigure=ie.define();function In(i,e,t={}){let n={};for(let r of i)for(let s of Object.keys(r)){let o=r[s],a=n[s];if(a===void 0)n[s]=o;else if(!(a===o||o===void 0))if(Object.hasOwnProperty.call(t,s))n[s]=t[s](a,o);else throw new Error("Config merge conflict for field "+s)}for(let r in e)n[r]===void 0&&(n[r]=e[r]);return n}var rt=class{eq(e){return this==e}range(e,t=e){return Dn.create(e,t,this)}};rt.prototype.startSide=rt.prototype.endSide=0;rt.prototype.point=!1;rt.prototype.mapMode=ge.TrackDel;function ea(i,e){return i==e||i.constructor==e.constructor&&i.eq(e)}var Dn=class i{constructor(e,t,n){this.from=e,this.to=t,this.value=n}static create(e,t,n){return new i(e,t,n)}};function No(i,e){return i.from-e.from||i.value.startSide-e.value.startSide}var Fo=class i{constructor(e,t,n,r){this.from=e,this.to=t,this.value=n,this.maxPoint=r}get length(){return this.to[this.to.length-1]}findIndex(e,t,n,r=0){let s=n?this.to:this.from;for(let o=r,a=s.length;;){if(o==a)return o;let l=o+a>>1,c=s[l]-e||(n?this.value[l].endSide:this.value[l].startSide)-t;if(l==o)return c>=0?o:a;c>=0?a=l:o=l+1}}between(e,t,n,r){for(let s=this.findIndex(t,-1e9,!0),o=this.findIndex(n,1e9,!1,s);sO||u==O&&c.startSide>0&&c.endSide<=0)continue;(O-u||c.endSide-c.startSide)<0||(o<0&&(o=u),c.point&&(a=Math.max(a,O-u)),n.push(c),r.push(u-o),s.push(O-o))}return{mapped:n.length?new i(r,s,n,a):null,pos:o}}},le=class i{constructor(e,t,n,r){this.chunkPos=e,this.chunk=t,this.nextLayer=n,this.maxPoint=r}static create(e,t,n,r){return new i(e,t,n,r)}get length(){let e=this.chunk.length-1;return e<0?0:Math.max(this.chunkEnd(e),this.nextLayer.length)}get size(){if(this.isEmpty)return 0;let e=this.nextLayer.size;for(let t of this.chunk)e+=t.value.length;return e}chunkEnd(e){return this.chunkPos[e]+this.chunk[e].length}update(e){let{add:t=[],sort:n=!1,filterFrom:r=0,filterTo:s=this.length}=e,o=e.filter;if(t.length==0&&!o)return this;if(n&&(t=t.slice().sort(No)),this.isEmpty)return t.length?i.of(t):this;let a=new Kr(this,null,-1).goto(0),l=0,c=[],h=new _i;for(;a.value||l=0){let f=t[l++];h.addInner(f.from,f.to,f.value)||c.push(f)}else a.rangeIndex==1&&a.chunkIndexthis.chunkEnd(a.chunkIndex)||sa.to||s=s&&e<=s+o.length&&o.between(s,e-s,t-s,n)===!1)return}this.nextLayer.between(e,t,n)}}iter(e=0){return Yn.from([this]).goto(e)}get isEmpty(){return this.nextLayer==this}static iter(e,t=0){return Yn.from(e).goto(t)}static compare(e,t,n,r,s=-1){let o=e.filter(f=>f.maxPoint>0||!f.isEmpty&&f.maxPoint>=s),a=t.filter(f=>f.maxPoint>0||!f.isEmpty&&f.maxPoint>=s),l=nf(o,a,n),c=new Ti(o,l,s),h=new Ti(a,l,s);n.iterGaps((f,u,O)=>rf(c,f,h,u,O,r)),n.empty&&n.length==0&&rf(c,0,h,0,0,r)}static eq(e,t,n=0,r){r==null&&(r=999999999);let s=e.filter(h=>!h.isEmpty&&t.indexOf(h)<0),o=t.filter(h=>!h.isEmpty&&e.indexOf(h)<0);if(s.length!=o.length)return!1;if(!s.length)return!0;let a=nf(s,o),l=new Ti(s,a,0).goto(n),c=new Ti(o,a,0).goto(n);for(;;){if(l.to!=c.to||!Ho(l.active,c.active)||l.point&&(!c.point||!ea(l.point,c.point)))return!1;if(l.to>r)return!0;l.next(),c.next()}}static spans(e,t,n,r,s=-1){let o=new Ti(e,null,s).goto(t),a=t,l=o.openStart;for(;;){let c=Math.min(o.to,n);if(o.point){let h=o.activeForPoint(o.to),f=o.pointFroma&&(r.span(a,c,o.active,l),l=o.openEnd(c));if(o.to>n)return l+(o.point&&o.to>n?1:0);a=o.to,o.next()}}static of(e,t=!1){let n=new _i;for(let r of e instanceof Dn?[e]:t?y0(e):e)n.add(r.from,r.to,r.value);return n.finish()}static join(e){if(!e.length)return i.empty;let t=e[e.length-1];for(let n=e.length-2;n>=0;n--)for(let r=e[n];r!=i.empty;r=r.nextLayer)t=new i(r.chunkPos,r.chunk,t,Math.max(r.maxPoint,t.maxPoint));return t}};le.empty=new le([],[],null,-1);function y0(i){if(i.length>1)for(let e=i[0],t=1;t0)return i.slice().sort(No);e=n}return i}le.empty.nextLayer=le.empty;var _i=class i{finishChunk(e){this.chunks.push(new Fo(this.from,this.to,this.value,this.maxPoint)),this.chunkPos.push(this.chunkStart),this.chunkStart=-1,this.setMaxPoint=Math.max(this.setMaxPoint,this.maxPoint),this.maxPoint=-1,e&&(this.from=[],this.to=[],this.value=[])}constructor(){this.chunks=[],this.chunkPos=[],this.chunkStart=-1,this.last=null,this.lastFrom=-1e9,this.lastTo=-1e9,this.from=[],this.to=[],this.value=[],this.maxPoint=-1,this.setMaxPoint=-1,this.nextLayer=null}add(e,t,n){this.addInner(e,t,n)||(this.nextLayer||(this.nextLayer=new i)).add(e,t,n)}addInner(e,t,n){let r=e-this.lastTo||n.startSide-this.last.endSide;if(r<=0&&(e-this.lastFrom||n.startSide-this.last.startSide)<0)throw new Error("Ranges must be added sorted by `from` position and `startSide`");return r<0?!1:(this.from.length==250&&this.finishChunk(!0),this.chunkStart<0&&(this.chunkStart=e),this.from.push(e-this.chunkStart),this.to.push(t-this.chunkStart),this.last=n,this.lastFrom=e,this.lastTo=t,this.value.push(n),n.point&&(this.maxPoint=Math.max(this.maxPoint,t-e)),!0)}addChunk(e,t){if((e-this.lastTo||t.value[0].startSide-this.last.endSide)<0)return!1;this.from.length&&this.finishChunk(!0),this.setMaxPoint=Math.max(this.setMaxPoint,t.maxPoint),this.chunks.push(t),this.chunkPos.push(e);let n=t.value.length-1;return this.last=t.value[n],this.lastFrom=t.from[n]+e,this.lastTo=t.to[n]+e,!0}finish(){return this.finishInner(le.empty)}finishInner(e){if(this.from.length&&this.finishChunk(!1),this.chunks.length==0)return e;let t=le.create(this.chunkPos,this.chunks,this.nextLayer?this.nextLayer.finishInner(e):e,this.setMaxPoint);return this.from=null,t}};function nf(i,e,t){let n=new Map;for(let s of i)for(let o=0;o=this.minPoint)break}}setRangeIndex(e){if(e==this.layer.chunk[this.chunkIndex].value.length){if(this.chunkIndex++,this.skip)for(;this.chunkIndex=n&&r.push(new Kr(o,t,n,s));return r.length==1?r[0]:new i(r)}get startSide(){return this.value?this.value.startSide:0}goto(e,t=-1e9){for(let n of this.heap)n.goto(e,t);for(let n=this.heap.length>>1;n>=0;n--)Lo(this.heap,n);return this.next(),this}forward(e,t){for(let n of this.heap)n.forward(e,t);for(let n=this.heap.length>>1;n>=0;n--)Lo(this.heap,n);(this.to-e||this.value.endSide-t)<0&&this.next()}next(){if(this.heap.length==0)this.from=this.to=1e9,this.value=null,this.rank=-1;else{let e=this.heap[0];this.from=e.from,this.to=e.to,this.value=e.value,this.rank=e.rank,e.value&&e.next(),Lo(this.heap,0)}}};function Lo(i,e){for(let t=i[e];;){let n=(e<<1)+1;if(n>=i.length)break;let r=i[n];if(n+1=0&&(r=i[n+1],n++),t.compare(r)<0)break;i[n]=t,i[e]=r,e=n}}var Ti=class{constructor(e,t,n){this.minPoint=n,this.active=[],this.activeTo=[],this.activeRank=[],this.minActive=-1,this.point=null,this.pointFrom=0,this.pointRank=0,this.to=-1e9,this.endSide=0,this.openStart=-1,this.cursor=Yn.from(e,t,n)}goto(e,t=-1e9){return this.cursor.goto(e,t),this.active.length=this.activeTo.length=this.activeRank.length=0,this.minActive=-1,this.to=e,this.endSide=t,this.openStart=-1,this.next(),this}forward(e,t){for(;this.minActive>-1&&(this.activeTo[this.minActive]-e||this.active[this.minActive].endSide-t)<0;)this.removeActive(this.minActive);this.cursor.forward(e,t)}removeActive(e){Dr(this.active,e),Dr(this.activeTo,e),Dr(this.activeRank,e),this.minActive=sf(this.active,this.activeTo)}addActive(e){let t=0,{value:n,to:r,rank:s}=this.cursor;for(;t0;)t++;Yr(this.active,t,n),Yr(this.activeTo,t,r),Yr(this.activeRank,t,s),e&&Yr(e,t,this.cursor.from),this.minActive=sf(this.active,this.activeTo)}next(){let e=this.to,t=this.point;this.point=null;let n=this.openStart<0?[]:null;for(;;){let r=this.minActive;if(r>-1&&(this.activeTo[r]-this.cursor.from||this.active[r].endSide-this.cursor.startSide)<0){if(this.activeTo[r]>e){this.to=this.activeTo[r],this.endSide=this.active[r].endSide;break}this.removeActive(r),n&&Dr(n,r)}else if(this.cursor.value)if(this.cursor.from>e){this.to=this.cursor.from,this.endSide=this.cursor.startSide;break}else{let s=this.cursor.value;if(!s.point)this.addActive(n),this.cursor.next();else if(t&&this.cursor.to==this.to&&this.cursor.from=0&&n[r]=0&&!(this.activeRank[n]e||this.activeTo[n]==e&&this.active[n].endSide>=this.point.endSide)&&t.push(this.active[n]);return t.reverse()}openEnd(e){let t=0;for(let n=this.activeTo.length-1;n>=0&&this.activeTo[n]>e;n--)t++;return t}};function rf(i,e,t,n,r,s){i.goto(e),t.goto(n);let o=n+r,a=n,l=n-e,c=!!s.boundChange;for(let h=!1;;){let f=i.to+l-t.to,u=f||i.endSide-t.endSide,O=u<0?i.to+l:t.to,m=Math.min(O,o);if(i.point||t.point?(i.point&&t.point&&ea(i.point,t.point)&&Ho(i.activeForPoint(i.to),t.activeForPoint(t.to))||s.comparePoint(a,m,i.point,t.point),h=!1):(h&&s.boundChange(a),m>a&&!Ho(i.active,t.active)&&s.compareRange(a,m,i.active,t.active),c&&mo)break;a=O,u<=0&&i.next(),u>=0&&t.next()}}function Ho(i,e){if(i.length!=e.length)return!1;for(let t=0;t=e;n--)i[n+1]=i[n];i[e]=t}function sf(i,e){let t=-1,n=1e9;for(let r=0;r=e)return r;if(r==i.length)break;s+=i.charCodeAt(r)==9?t-s%t:1,r=xe(i,r)}return n===!0?-1:i.length}var Qf=typeof Symbol>"u"?"__\u037C":Symbol.for("\u037C"),ta=typeof Symbol>"u"?"__styleSet"+Math.floor(Math.random()*1e8):Symbol("styleSet"),bf=typeof globalThis<"u"?globalThis:typeof window<"u"?window:{},ot=class{constructor(e,t){this.rules=[];let{finish:n}=t||{};function r(o){return/^@/.test(o)?[o]:o.split(/,\s*/)}function s(o,a,l,c){let h=[],f=/^@(\w+)\b/.exec(o[0]),u=f&&f[1]=="keyframes";if(f&&a==null)return l.push(o[0]+";");for(let O in a){let m=a[O];if(/&/.test(O))s(O.split(/,\s*/).map(p=>o.map(b=>p.replace(/&/,b))).reduce((p,b)=>p.concat(b)),m,l);else if(m&&typeof m=="object"){if(!f)throw new RangeError("The value of a property ("+O+") should be a primitive value.");s(r(O),m,h,u)}else m!=null&&h.push(O.replace(/_.*/,"").replace(/[A-Z]/g,p=>"-"+p.toLowerCase())+": "+m+";")}(h.length||u)&&l.push((n&&!f&&!c?o.map(n):o).join(", ")+" {"+h.join(" ")+"}")}for(let o in e)s(r(o),e[o],this.rules)}getRules(){return this.rules.join(` +`)}static newName(){let e=bf[Qf]||1;return bf[Qf]=e+1,"\u037C"+e.toString(36)}static mount(e,t,n){let r=e[ta],s=n&&n.nonce;r?s&&r.setNonce(s):r=new ia(e,s),r.mount(Array.isArray(t)?t:[t],e)}},Sf=new Map,ia=class{constructor(e,t){let n=e.ownerDocument||e,r=n.defaultView;if(!e.head&&e.adoptedStyleSheets&&r.CSSStyleSheet){let s=Sf.get(n);if(s)return e[ta]=s;this.sheet=new r.CSSStyleSheet,Sf.set(n,this)}else this.styleTag=n.createElement("style"),t&&this.styleTag.setAttribute("nonce",t);this.modules=[],e[ta]=this}mount(e,t){let n=this.sheet,r=0,s=0;for(let o=0;o-1&&(this.modules.splice(l,1),s--,l=-1),l==-1){if(this.modules.splice(s++,0,a),n)for(let c=0;c",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},k0=typeof navigator<"u"&&/Mac/.test(navigator.platform),x0=typeof navigator<"u"&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent);for(be=0;be<10;be++)Lt[48+be]=Lt[96+be]=String(be);var be;for(be=1;be<=24;be++)Lt[be+111]="F"+be;var be;for(be=65;be<=90;be++)Lt[be]=String.fromCharCode(be+32),an[be]=String.fromCharCode(be);var be;for(Jr in Lt)an.hasOwnProperty(Jr)||(an[Jr]=Lt[Jr]);var Jr;function yf(i){var e=k0&&i.metaKey&&i.shiftKey&&!i.ctrlKey&&!i.altKey||x0&&i.shiftKey&&i.key&&i.key.length==1||i.key=="Unidentified",t=!e&&i.key||(i.shiftKey?an:Lt)[i.keyCode]||i.key||"Unidentified";return t=="Esc"&&(t="Escape"),t=="Del"&&(t="Delete"),t=="Left"&&(t="ArrowLeft"),t=="Up"&&(t="ArrowUp"),t=="Right"&&(t="ArrowRight"),t=="Down"&&(t="ArrowDown"),t}var Le=typeof navigator<"u"?navigator:{userAgent:"",vendor:"",platform:""},la=typeof document<"u"?document:{documentElement:{style:{}}},ca=/Edge\/(\d+)/.exec(Le.userAgent),Nf=/MSIE \d/.test(Le.userAgent),ha=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(Le.userAgent),ys=!!(Nf||ha||ca),kf=!ys&&/gecko\/(\d+)/i.test(Le.userAgent),na=!ys&&/Chrome\/(\d+)/.exec(Le.userAgent),xf="webkitFontSmoothing"in la.documentElement.style,fa=!ys&&/Apple Computer/.test(Le.vendor),wf=fa&&(/Mobile\/\w+/.test(Le.userAgent)||Le.maxTouchPoints>2),L={mac:wf||/Mac/.test(Le.platform),windows:/Win/.test(Le.platform),linux:/Linux|X11/.test(Le.platform),ie:ys,ie_version:Nf?la.documentMode||6:ha?+ha[1]:ca?+ca[1]:0,gecko:kf,gecko_version:kf?+(/Firefox\/(\d+)/.exec(Le.userAgent)||[0,0])[1]:0,chrome:!!na,chrome_version:na?+na[1]:0,ios:wf,android:/Android\b/.test(Le.userAgent),webkit:xf,webkit_version:xf?+(/\bAppleWebKit\/(\d+)/.exec(Le.userAgent)||[0,0])[1]:0,safari:fa,safari_version:fa?+(/\bVersion\/(\d+(\.\d+)?)/.exec(Le.userAgent)||[0,0])[1]:0,tabSize:la.documentElement.style.tabSize!=null?"tab-size":"-moz-tab-size"};function Ba(i,e){for(let t in i)t=="class"&&e.class?e.class+=" "+i.class:t=="style"&&e.style?e.style+=";"+i.style:e[t]=i[t];return e}var cs=Object.create(null);function Ua(i,e,t){if(i==e)return!0;i||(i=cs),e||(e=cs);let n=Object.keys(i),r=Object.keys(e);if(n.length-(t&&n.indexOf(t)>-1?1:0)!=r.length-(t&&r.indexOf(t)>-1?1:0))return!1;for(let s of n)if(s!=t&&(r.indexOf(s)==-1||i[s]!==e[s]))return!1;return!0}function w0(i,e){for(let t=i.attributes.length-1;t>=0;t--){let n=i.attributes[t].name;e[n]==null&&i.removeAttribute(n)}for(let t in e){let n=e[t];t=="style"?i.style.cssText=n:i.getAttribute(t)!=n&&i.setAttribute(t,n)}}function Pf(i,e,t){let n=!1;if(e)for(let r in e)t&&r in t||(n=!0,r=="style"?i.style.cssText="":i.removeAttribute(r));if(t)for(let r in t)e&&e[r]==t[r]||(n=!0,r=="style"?i.style.cssText=t[r]:i.setAttribute(r,t[r]));return n}function P0(i){let e=Object.create(null);for(let t=0;t0?3e8:-4e8:t>0?1e8:-1e8,new Zi(e,t,t,n,e.widget||null,!1)}static replace(e){let t=!!e.block,n,r;if(e.isBlockGap)n=-5e8,r=4e8;else{let{start:s,end:o}=Ff(e,t);n=(s?t?-3e8:-1:5e8)-1,r=(o?t?2e8:1:-6e8)+1}return new Zi(e,n,r,t,e.widget||null,!0)}static line(e){return new nr(e)}static set(e,t=!1){return le.of(e,t)}hasHeight(){return this.widget?this.widget.estimatedHeight>-1:!1}};R.none=le.empty;var ir=class i extends R{constructor(e){let{start:t,end:n}=Ff(e);super(t?-1:5e8,n?1:-6e8,null,e),this.tagName=e.tagName||"span",this.attrs=e.class&&e.attributes?Ba(e.attributes,{class:e.class}):e.class?{class:e.class}:e.attributes||cs}eq(e){return this==e||e instanceof i&&this.tagName==e.tagName&&Ua(this.attrs,e.attrs)}range(e,t=e){if(e>=t)throw new RangeError("Mark decorations may not be empty");return super.range(e,t)}};ir.prototype.point=!1;var nr=class i extends R{constructor(e){super(-2e8,-2e8,null,e)}eq(e){return e instanceof i&&this.spec.class==e.spec.class&&Ua(this.spec.attributes,e.spec.attributes)}range(e,t=e){if(t!=e)throw new RangeError("Line decoration ranges must be zero-length");return super.range(e,t)}};nr.prototype.mapMode=ge.TrackBefore;nr.prototype.point=!0;var Zi=class i extends R{constructor(e,t,n,r,s,o){super(t,n,s,e),this.block=r,this.isReplace=o,this.mapMode=r?t<=0?ge.TrackBefore:ge.TrackAfter:ge.TrackDel}get type(){return this.startSide!=this.endSide?ft.WidgetRange:this.startSide<=0?ft.WidgetBefore:ft.WidgetAfter}get heightRelevant(){return this.block||!!this.widget&&(this.widget.estimatedHeight>=5||this.widget.lineBreaks>0)}eq(e){return e instanceof i&&v0(this.widget,e.widget)&&this.block==e.block&&this.startSide==e.startSide&&this.endSide==e.endSide}range(e,t=e){if(this.isReplace&&(e>t||e==t&&this.startSide>0&&this.endSide<=0))throw new RangeError("Invalid range for replacement decoration");if(!this.isReplace&&t!=e)throw new RangeError("Widget decorations can only have zero-length ranges");return super.range(e,t)}};Zi.prototype.point=!0;function Ff(i,e=!1){let{inclusiveStart:t,inclusiveEnd:n}=i;return t==null&&(t=i.inclusive),n==null&&(n=i.inclusive),{start:t??e,end:n??e}}function v0(i,e){return i==e||!!(i&&e&&i.compare(e))}function fn(i,e,t,n=0){let r=t.length-1;r>=0&&t[r]+n>=i?t[r]=Math.max(t[r],e):t.push(i,e)}var ai=class i extends rt{constructor(e,t,n){super(),this.tagName=e,this.attributes=t,this.rank=n}eq(e){return e==this||e instanceof i&&this.tagName==e.tagName&&Ua(this.attributes,e.attributes)}static create(e){return new i(e.tagName,e.attributes||cs,e.rank==null?50:Math.max(0,Math.min(e.rank,100)))}static set(e,t=!1){return le.of(e,t)}};ai.prototype.startSide=ai.prototype.endSide=-1;function rr(i){let e;return i.nodeType==11?e=i.getSelection?i:i.ownerDocument:e=i,e.getSelection()}function ua(i,e){return e?i==e||i.contains(e.nodeType!=1?e.parentNode:e):!1}function Nn(i,e){if(!e.anchorNode)return!1;try{return ua(i,e.anchorNode)}catch{return!1}}function as(i){return i.nodeType==3?sr(i,0,i.nodeValue.length).getClientRects():i.nodeType==1?i.getClientRects():[]}function Fn(i,e,t,n){return t?vf(i,e,t,n,-1)||vf(i,e,t,n,1):!1}function li(i){for(var e=0;;e++)if(i=i.previousSibling,!i)return e}function hs(i){return i.nodeType==1&&/^(DIV|P|LI|UL|OL|BLOCKQUOTE|DD|DT|H\d|SECTION|PRE)$/.test(i.nodeName)}function vf(i,e,t,n,r){for(;;){if(i==t&&e==n)return!0;if(e==(r<0?0:jt(i))){if(i.nodeName=="DIV")return!1;let s=i.parentNode;if(!s||s.nodeType!=1)return!1;e=li(i)+(r<0?0:1),i=s}else if(i.nodeType==1){if(i=i.childNodes[e+(r<0?-1:0)],i.nodeType==1&&i.contentEditable=="false")return!1;e=r<0?jt(i):0}else return!1}}function jt(i){return i.nodeType==3?i.nodeValue.length:i.childNodes.length}function fs(i,e){let{left:t,right:n}=i;if(t==n)return i;let r=e?t:n;return{left:r,right:r,top:i.top,bottom:i.bottom}}function $0(i){let e=i.visualViewport;return e?{left:0,right:e.width,top:0,bottom:e.height}:{left:0,right:i.innerWidth,top:0,bottom:i.innerHeight}}function Hf(i,e){let t=e.width/i.offsetWidth,n=e.height/i.offsetHeight;return(t>.995&&t<1.005||!isFinite(t)||Math.abs(e.width-i.offsetWidth)<1)&&(t=1),(n>.995&&n<1.005||!isFinite(n)||Math.abs(e.height-i.offsetHeight)<1)&&(n=1),{scaleX:t,scaleY:n}}function T0(i,e,t,n,r,s,o,a){let l=i.ownerDocument,c=l.defaultView||window;for(let h=i,f=!1;h&&!f;)if(h.nodeType==1){let u,O=h==l.body,m=1,p=1;if(O)u=$0(c);else{if(/^(fixed|sticky)$/.test(getComputedStyle(h).position)&&(f=!0),h.scrollHeight<=h.clientHeight&&h.scrollWidth<=h.clientWidth){h=h.assignedSlot||h.parentNode;continue}let Q=h.getBoundingClientRect();({scaleX:m,scaleY:p}=Hf(h,Q)),u={left:Q.left,right:Q.left+h.clientWidth*m,top:Q.top,bottom:Q.top+h.clientHeight*p}}let b=0,g=0;if(r=="nearest")e.top0&&e.bottom>u.bottom+g&&(g=e.bottom-u.bottom+o)):e.bottom>u.bottom-o&&(g=e.bottom-u.bottom+o,t<0&&e.top-g0&&e.right>u.right+b&&(b=e.right-u.right+s)):e.right>u.right-s&&(b=e.right-u.right+s,t<0&&e.leftu.bottom||e.leftu.right)&&(e={left:Math.max(e.left,u.left),right:Math.min(e.right,u.right),top:Math.max(e.top,u.top),bottom:Math.min(e.bottom,u.bottom)}),h=h.assignedSlot||h.parentNode}else if(h.nodeType==11)h=h.host;else break}function Kf(i,e=!0){let t=i.ownerDocument,n=null,r=null;for(let s=i.parentNode;s&&!(s==t.body||(!e||n)&&r);)if(s.nodeType==1)!r&&s.scrollHeight>s.clientHeight&&(r=s),e&&!n&&s.scrollWidth>s.clientWidth&&(n=s),s=s.assignedSlot||s.parentNode;else if(s.nodeType==11)s=s.host;else break;return{x:n,y:r}}var Oa=class{constructor(){this.anchorNode=null,this.anchorOffset=0,this.focusNode=null,this.focusOffset=0}eq(e){return this.anchorNode==e.anchorNode&&this.anchorOffset==e.anchorOffset&&this.focusNode==e.focusNode&&this.focusOffset==e.focusOffset}setRange(e){let{anchorNode:t,focusNode:n}=e;this.set(t,Math.min(e.anchorOffset,t?jt(t):0),n,Math.min(e.focusOffset,n?jt(n):0))}set(e,t,n,r){this.anchorNode=e,this.anchorOffset=t,this.focusNode=n,this.focusOffset=r}},Ri=null;L.safari&&L.safari_version>=26&&(Ri=!1);function Jf(i){if(i.setActive)return i.setActive();if(Ri)return i.focus(Ri);let e=[];for(let t=i;t&&(e.push(t,t.scrollTop,t.scrollLeft),t!=t.ownerDocument);t=t.parentNode);if(i.focus(Ri==null?{get preventScroll(){return Ri={preventScroll:!0},!0}}:void 0),!Ri){Ri=!1;for(let t=0;tMath.max(0,i.document.documentElement.scrollHeight-i.innerHeight-4):i.scrollTop>Math.max(1,i.scrollHeight-i.clientHeight-4)}function tu(i,e){for(let t=i,n=e;;){if(t.nodeType==3&&n>0)return{node:t,offset:n};if(t.nodeType==1&&n>0){if(t.contentEditable=="false")return null;t=t.childNodes[n-1],n=jt(t)}else if(t.parentNode&&!hs(t))n=li(t),t=t.parentNode;else return null}}function iu(i,e){for(let t=i,n=e;;){if(t.nodeType==3&&n=t){if(a.level==n)return o;(s<0||(r!=0?r<0?a.fromt:e[s].level>a.level))&&(s=o)}}if(s<0)throw new RangeError("Index out of range");return s}};function su(i,e){if(i.length!=e.length)return!1;for(let t=0;t=0;p-=3)if(Ct[p+1]==-O){let b=Ct[p+2],g=b&2?r:b&4?b&1?s:r:0;g&&(oe[f]=oe[Ct[p]]=g),a=p;break}}else{if(Ct.length==189)break;Ct[a++]=f,Ct[a++]=u,Ct[a++]=l}else if((m=oe[f])==2||m==1){let p=m==r;l=p?0:1;for(let b=a-3;b>=0;b-=3){let g=Ct[b+2];if(g&2)break;if(p)Ct[b+2]|=2;else{if(g&4)break;Ct[b+2]|=4}}}}}function q0(i,e,t,n){for(let r=0,s=n;r<=t.length;r++){let o=r?t[r-1].to:i,a=rl;)m==b&&(m=t[--p].from,b=p?t[p-1].to:i),oe[--m]=O;l=h}else s=c,l++}}}function pa(i,e,t,n,r,s,o){let a=n%2?2:1;if(n%2==r%2)for(let l=e,c=0;ll&&o.push(new ct(l,p.from,O));let b=p.direction==Ei!=!(O%2);ma(i,b?n+1:n,r,p.inner,p.from,p.to,o),l=p.to}m=p.to}else{if(m==t||(h?oe[m]!=a:oe[m]==a))break;m++}u?pa(i,l,m,n+1,r,u,o):le;){let h=!0,f=!1;if(!c||l>s[c-1].to){let p=oe[l-1];p!=a&&(h=!1,f=p==16)}let u=!h&&a==1?[]:null,O=h?n:n+1,m=l;e:for(;;)if(c&&m==s[c-1].to){if(f)break e;let p=s[--c];if(!h)for(let b=p.from,g=c;;){if(b==e)break e;if(g&&s[g-1].to==b)b=s[--g].from;else{if(oe[b-1]==a)break e;break}}if(u)u.push(p);else{p.tooe.length;)oe[oe.length]=256;let n=[],r=e==Ei?0:1;return ma(i,r,r,t,0,i.length,n),n}function ou(i){return[new ct(0,i,0)]}var au="";function L0(i,e,t,n,r){var s;let o=n.head-i.from,a=ct.find(e,o,(s=n.bidiLevel)!==null&&s!==void 0?s:-1,n.assoc),l=e[a],c=l.side(r,t);if(o==c){let u=a+=r?1:-1;if(u<0||u>=e.length)return null;l=e[a=u],o=l.side(!r,t),c=l.side(r,t)}let h=xe(i.text,o,l.forward(r,t));(hl.to)&&(h=c),au=i.text.slice(Math.min(o,h),Math.max(o,h));let f=a==(r?e.length-1:0)?null:e[a+(r?1:-1)];return f&&h==c&&f.level+(r?0:1)i.some(e=>e)}),W0=Y.define({combine:i=>i.some(e=>e)}),pu=Y.define(),Hn=class i{constructor(e,t,n,r,s,o=!1){this.range=e,this.y=t,this.x=n,this.yMargin=r,this.xMargin=s,this.isSnapshot=o}map(e){return e.empty?this:new i(this.range.map(e),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}clip(e){return this.range.to<=e.doc.length?this:new i(v.cursor(e.doc.length),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}},es=ie.define({map:(i,e)=>i.map(e)}),mu=ie.define();function ht(i,e,t){let n=i.facet(fu);n.length?n[0](e):window.onerror&&window.onerror(String(e),t,void 0,void 0,e)||(t?console.error(t+":",e):console.error(e))}var Mt=Y.define({combine:i=>i.length?i[0]:!0}),j0=0,cn=Y.define({combine(i){return i.filter((e,t)=>{for(let n=0;n{let l=[];return o&&l.push(ks.of(c=>{let h=c.plugin(a);return h?o(h):R.none})),s&&l.push(s(a)),l})}static fromClass(e,t){return i.define((n,r)=>new e(n,r),t)}},Kn=class{constructor(e){this.spec=e,this.mustUpdate=null,this.value=null}get plugin(){return this.spec&&this.spec.plugin}update(e){if(this.value){if(this.mustUpdate){let t=this.mustUpdate;if(this.mustUpdate=null,this.value.update)try{this.value.update(t)}catch(n){if(ht(t.state,n,"CodeMirror plugin crashed"),this.value.destroy)try{this.value.destroy()}catch{}this.deactivate()}}}else if(this.spec)try{this.value=this.spec.plugin.create(e,this.spec.arg)}catch(t){ht(e.state,t,"CodeMirror plugin crashed"),this.deactivate()}return this}destroy(e){var t;if(!((t=this.value)===null||t===void 0)&&t.destroy)try{this.value.destroy()}catch(n){ht(e.state,n,"CodeMirror plugin crashed")}}deactivate(){this.spec=this.value=null}},gu=Y.define(),Ha=Y.define(),ks=Y.define(),Qu=Y.define(),Ka=Y.define(),or=Y.define(),bu=Y.define();function Tf(i,e){let t=i.state.facet(bu);if(!t.length)return t;let n=t.map(s=>s instanceof Function?s(i):s),r=[];return le.spans(n,e.from,e.to,{point(){},span(s,o,a,l){let c=s-e.from,h=o-e.from,f=r;for(let u=a.length-1;u>=0;u--,l--){let O=a[u].spec.bidiIsolate,m;if(O==null&&(O=M0(e.text,c,h)),l>0&&f.length&&(m=f[f.length-1]).to==c&&m.direction==O)m.to=h,f=m.inner;else{let p={from:c,to:h,direction:O,inner:[]};f.push(p),f=p.inner}}}}),r}var Su=Y.define();function yu(i){let e=0,t=0,n=0,r=0;for(let s of i.state.facet(Su)){let o=s(i);o&&(o.left!=null&&(e=Math.max(e,o.left)),o.right!=null&&(t=Math.max(t,o.right)),o.top!=null&&(n=Math.max(n,o.top)),o.bottom!=null&&(r=Math.max(r,o.bottom)))}return{left:e,right:t,top:n,bottom:r}}var Bn=Y.define(),bt=class i{constructor(e,t,n,r){this.fromA=e,this.toA=t,this.fromB=n,this.toB=r}join(e){return new i(Math.min(this.fromA,e.fromA),Math.max(this.toA,e.toA),Math.min(this.fromB,e.fromB),Math.max(this.toB,e.toB))}addToSet(e){let t=e.length,n=this;for(;t>0;t--){let r=e[t-1];if(!(r.fromA>n.toA)){if(r.toAr.push(new bt(s,o,a,l))),this.changedRanges=r}static create(e,t,n){return new i(e,t,n)}get viewportChanged(){return(this.flags&4)>0}get viewportMoved(){return(this.flags&8)>0}get heightChanged(){return(this.flags&2)>0}get geometryChanged(){return this.docChanged||(this.flags&18)>0}get focusChanged(){return(this.flags&1)>0}get docChanged(){return!this.changes.empty}get selectionSet(){return this.transactions.some(e=>e.selection)}get empty(){return this.flags==0&&this.transactions.length==0}},V0=[],ue=class{constructor(e,t,n=0){this.dom=e,this.length=t,this.flags=n,this.parent=null,e.cmTile=this}get breakAfter(){return this.flags&1}get children(){return V0}isWidget(){return!1}get isHidden(){return!1}isComposite(){return!1}isLine(){return!1}isText(){return!1}isBlock(){return!1}get domAttrs(){return null}sync(e){if(this.flags|=2,this.flags&4){this.flags&=-5;let t=this.domAttrs;t&&w0(this.dom,t)}}toString(){return this.constructor.name+(this.children.length?`(${this.children})`:"")+(this.breakAfter?"#":"")}destroy(){this.parent=null}setDOM(e){this.dom=e,e.cmTile=this}get posAtStart(){return this.parent?this.parent.posBefore(this):0}get posAtEnd(){return this.posAtStart+this.length}posBefore(e,t=this.posAtStart){let n=t;for(let r of this.children){if(r==e)return n;n+=r.length+r.breakAfter}throw new RangeError("Invalid child in posBefore")}posAfter(e){return this.posBefore(e)+e.length}covers(e){return!0}coordsIn(e,t,n){return null}domPosFor(e,t){let n=li(this.dom),r=this.length?e>0:t>0;return new Xt(this.parent.dom,n+(r?1:0),e==0||e==this.length)}markDirty(e){this.flags&=-3,e&&(this.flags|=4),this.parent&&this.parent.flags&2&&this.parent.markDirty(!1)}get overrideDOMText(){return null}get root(){for(let e=this;e;e=e.parent)if(e instanceof dn)return e;return null}static get(e){return e.cmTile}},On=class extends ue{constructor(e){super(e,0),this._children=[]}isComposite(){return!0}get children(){return this._children}get lastChild(){return this.children.length?this.children[this.children.length-1]:null}append(e){this.children.push(e),e.parent=this}sync(e){if(this.flags&2)return;super.sync(e);let t=this.dom,n=null,r,s=e?.node==t?e:null,o=0;for(let a of this.children){if(a.sync(e),o+=a.length+a.breakAfter,r=n?n.nextSibling:t.firstChild,s&&r!=a.dom&&(s.written=!0),a.dom.parentNode==t)for(;r&&r!=a.dom;)r=Cf(r);else t.insertBefore(a.dom,r);n=a.dom}for(r=n?n.nextSibling:t.firstChild,s&&r&&(s.written=!0);r;)r=Cf(r);this.length=o}};function Cf(i){let e=i.nextSibling;return i.parentNode.removeChild(i),e}var dn=class extends On{constructor(e,t){super(t),this.view=e}owns(e){for(;e;e=e.parent)if(e==this)return!0;return!1}isBlock(){return!0}nearest(e){for(;;){if(!e)return null;let t=ue.get(e);if(t&&this.owns(t))return t;e=e.parentNode}}blockTiles(e){for(let t=[],n=this,r=0,s=0;;)if(r==n.children.length){if(!t.length)return;n=n.parent,n.breakAfter&&s++,r=t.pop()}else{let o=n.children[r++];if(o instanceof Wt)t.push(r),n=o,r=0;else{let a=s+o.length,l=e(o,s);if(l!==void 0)return l;s=a+o.breakAfter}}}resolveBlock(e,t){let n,r=-1,s,o=-1;if(this.blockTiles((a,l)=>{let c=l+a.length;if(e>=l&&e<=c){if(a.isWidget()&&t>=-1&&t<=1){if(a.flags&32)return!0;a.flags&16&&(n=void 0)}(le||e==l&&(t>1?a.length:a.covers(-1)))&&(!s||!a.isWidget()&&s.isWidget())&&(s=a,o=e-l)}}),!n&&!s)throw new Error("No tile at position "+e);return n&&t<0||!s?{tile:n,offset:r}:{tile:s,offset:o}}},Wt=class i extends On{constructor(e,t){super(e),this.wrapper=t}isBlock(){return!0}covers(e){return this.children.length?e<0?this.children[0].covers(-1):this.lastChild.covers(1):!1}get domAttrs(){return this.wrapper.attributes}static of(e,t){let n=new i(t||document.createElement(e.tagName),e);return t||(n.flags|=4),n}},pn=class i extends On{constructor(e,t){super(e),this.attrs=t}isLine(){return!0}static start(e,t,n){let r=new i(t||document.createElement("div"),e);return(!t||!n)&&(r.flags|=4),r}get domAttrs(){return this.attrs}resolveInline(e,t,n){let r=null,s=-1,o=null,a=-1;function l(h,f){for(let u=0,O=0;u=f&&(m.isComposite()?l(m,f-O):(!o||o.isHidden&&(t>0&&!(o.flags&32)||n&&Y0(o,m)))&&(p>f||m.flags&32)?(o=m,a=f-O):(Or&&(e=r);let s=e,o=e,a=0;e==0&&t<0||e==r&&t>=0?L.chrome||L.gecko||(e?(s--,a=1):o=0)?0:l.length-1];return L.safari&&!a&&c.width==0&&(c=Array.prototype.find.call(l,h=>h.width)||c),n==null?c:fs(c,(a?a>0:t<0)==n)}static of(e,t){let n=new i(t||document.createTextNode(e),e);return t||(n.flags|=2),n}},qi=class i extends ue{constructor(e,t,n,r){super(e,t,r),this.widget=n}isWidget(){return!0}get isHidden(){return this.widget.isHidden}covers(e){return this.flags&48?!1:(this.flags&(e<0?64:128))>0}coordsIn(e,t){return this.coordsInWidget(e,t,!1)}coordsInWidget(e,t,n){let r=this.widget.coordsAt(this.dom,e,t);if(r)return r;if(n)return fs(this.dom.getBoundingClientRect(),this.length?e==0:t<=0);{let s=this.dom.getClientRects(),o=null;if(!s.length)return null;let a=this.flags&16?!0:this.flags&32?!1:e>0;for(let l=a?s.length-1:0;o=s[l],!(e>0?l==0:l==s.length-1||o.top0==n)}},Qa=class{constructor(e){this.index=0,this.beforeBreak=!1,this.parents=[],this.tile=e}advance(e,t,n){let{tile:r,index:s,beforeBreak:o,parents:a}=this;for(;e||t>0;)if(r.isComposite())if(o){if(!e)break;n&&n.break(),e--,o=!1}else if(s==r.children.length){if(!e&&!a.length)break;n&&n.leave(r),o=!!r.breakAfter,{tile:r,index:s}=a.pop(),s++}else{let l=r.children[s],c=l.breakAfter;(t>0?l.length<=e:l.length=0;a--){let l=t.marks[a],c=r.lastChild;if(c instanceof Ve&&c.mark.eq(l.mark))c.dom!=l.dom&&c.setDOM(ra(l.dom)),r=c;else{if(this.cache.reused.get(l)){let f=ue.get(l.dom);f&&f.setDOM(ra(l.dom))}let h=Ve.of(l.mark,l.dom);r.append(h),r=h}this.cache.reused.set(l,2)}let s=ue.get(e.text);s&&this.cache.reused.set(s,2);let o=new Ai(e.text,e.text.nodeValue);o.flags|=8,this.pos=e.range.toB,r.append(o)}addInlineWidget(e,t,n){let r=this.afterWidget&&e.flags&48&&(this.afterWidget.flags&48)==(e.flags&48);r||this.flushBuffer();let s=this.ensureMarks(t,n);!r&&!(e.flags&16)&&s.append(this.getBuffer(1)),s.append(e),this.pos+=e.length,this.afterWidget=e}addMark(e,t,n){this.flushBuffer(),this.ensureMarks(t,n).append(e),this.pos+=e.length,this.afterWidget=null}addBlockWidget(e){this.getBlockPos().append(e),this.pos+=e.length,this.lastBlock=e,this.endLine()}continueWidget(e){let t=this.afterWidget||this.lastBlock;t.length+=e,this.pos+=e}addLineStart(e,t){var n;e||(e=ku);let r=pn.start(e,t||((n=this.cache.find(pn))===null||n===void 0?void 0:n.dom),!!t);this.getBlockPos().append(this.lastBlock=this.curLine=r)}addLine(e){this.getBlockPos().append(e),this.pos+=e.length,this.lastBlock=e,this.endLine()}addBreak(){this.lastBlock.flags|=1,this.endLine(),this.pos++}addLineStartIfNotCovered(e){this.blockPosCovered()||this.addLineStart(e)}ensureLine(e){this.curLine||this.addLineStart(e)}ensureMarks(e,t){var n;let r=this.curLine;for(let s=e.length-1;s>=0;s--){let o=e[s],a;if(t>0&&(a=r.lastChild)&&a instanceof Ve&&a.mark.eq(o))r=a,t--;else{let l=Ve.of(o,(n=this.cache.find(Ve,c=>c.mark.eq(o)))===null||n===void 0?void 0:n.dom);r.append(l),r=l,t=0}}return r}endLine(){if(this.curLine){this.flushBuffer();let e=this.curLine.lastChild;(!e||!Xf(this.curLine,!1)||e.dom.nodeName!="BR"&&e.isWidget()&&!(L.ios&&Xf(this.curLine,!0)))&&this.curLine.append(this.cache.findWidget(sa,0,32)||new qi(sa.toDOM(),0,sa,32)),this.curLine=this.afterWidget=null}}updateBlockWrappers(){this.wrapperPos>this.pos+1e4&&(this.blockWrappers.goto(this.pos),this.wrappers.length=0);for(let e=this.wrappers.length-1;e>=0;e--)this.wrappers[e].to=this.pos){let t=e.rank*102+e.value.rank,n=new ba(e.from,e.to,e.value,t),r=this.wrappers.length;for(;r>0&&(this.wrappers[r-1].rank-n.rank||this.wrappers[r-1].to-n.to)<0;)r--;this.wrappers.splice(r,0,n)}this.wrapperPos=this.pos}getBlockPos(){var e;this.updateBlockWrappers();let t=this.root;for(let n of this.wrappers){let r=t.lastChild;if(n.fromo.wrapper.eq(n.wrapper)))===null||e===void 0?void 0:e.dom);t.append(s),t=s}}return t}blockPosCovered(){let e=this.lastBlock;return e!=null&&!e.breakAfter&&(!e.isWidget()||(e.flags&160)>0)}getBuffer(e){let t=2|(e<0?16:32),n=this.cache.find(mn,void 0,1);return n&&(n.flags=t),n||new mn(t)}flushBuffer(){this.afterWidget&&!(this.afterWidget.flags&32)&&(this.afterWidget.parent.append(this.getBuffer(-1)),this.afterWidget=null)}},ya=class{constructor(e){this.skipCount=0,this.text="",this.textOff=0,this.cursor=e.iter()}skip(e){this.textOff+e<=this.text.length?this.textOff+=e:(this.skipCount+=e-(this.text.length-this.textOff),this.text="",this.textOff=0)}next(e){if(this.textOff==this.text.length){let{value:r,lineBreak:s,done:o}=this.cursor.next(this.skipCount);if(this.skipCount=0,o)throw new Error("Ran out of text content when drawing inline views");this.text=r;let a=this.textOff=Math.min(e,r.length);return s?null:r.slice(0,a)}let t=Math.min(this.text.length,this.textOff+e),n=this.text.slice(this.textOff,t);return this.textOff=t,n}},Os=[qi,pn,Ai,Ve,mn,Wt,dn];for(let i=0;i[]),this.index=Os.map(()=>0),this.reused=new Map}add(e){let t=e.constructor.bucket,n=this.buckets[t];n.length<6?n.push(e):n[this.index[t]=(this.index[t]+1)%6]=e}find(e,t,n=2){let r=e.bucket,s=this.buckets[r],o=this.index[r];for(let a=0;a{if(this.cache.add(o),o.isComposite())return!1},enter:o=>this.cache.add(o),leave:()=>{},break:()=>{}}}run(e,t){let n=t&&this.getCompositionContext(t.text);for(let r=0,s=0,o=0;;){let a=or){let c=l-r;this.preserve(c,!o,!a),r=l,s+=c}if(!a)break;t&&a.fromA<=t.range.fromA&&a.toA>=t.range.toA?(this.forward(a.fromA,t.range.fromA,t.range.fromA{if(o.isWidget())if(this.openWidget)this.builder.continueWidget(l-a);else{let c=l>0||a{o.isLine()?this.builder.addLineStart(o.attrs,this.cache.maybeReuse(o)):(this.cache.add(o),o instanceof Ve&&r.unshift(o.mark)),this.openWidget=!1},leave:o=>{o.isLine()?r.length&&(r.length=s=0):o instanceof Ve&&(r.shift(),s=Math.min(s,r.length))},break:()=>{this.builder.addBreak(),this.openWidget=!1}}),this.text.skip(e)}emit(e,t){let n=null,r=this.builder,s=-1,o=le.spans(this.decorations,e,t,{point:(a,l,c,h,f,u)=>{if(c instanceof Zi){if(this.disallowBlockEffectsFor[u]){if(c.block)throw new RangeError("Block decorations may not be specified via plugins");if(l>this.view.state.doc.lineAt(a).to)throw new RangeError("Decorations that replace line breaks may not be specified via plugins")}if(s=h.length,f>h.length)r.continueWidget(l-a);else{let O=c.widget||(c.block?ci.block:ci.inline),m=I0(c),p=this.cache.findWidget(O,l-a,m)||qi.of(O,this.view,l-a,m);c.block?(c.startSide>0&&r.addLineStartIfNotCovered(n),r.addBlockWidget(p)):(r.ensureLine(n),r.addInlineWidget(p,h,f))}n=null}else n=B0(n,c);l>a&&this.text.skip(l-a)},span:(a,l,c,h)=>{for(let f=a;f-1&&(this.openWidget=o>s),this.openWidget||r.addLineStartIfNotCovered(n),this.openMarks=o}forward(e,t,n=1){t-e<=10?this.old.advance(t-e,n,this.reuseWalker):(this.old.advance(5,-1,this.reuseWalker),this.old.advance(t-e-10,-1),this.old.advance(5,n,this.reuseWalker))}getCompositionContext(e){let t=[],n=null;for(let r=e.parentNode;;r=r.parentNode){let s=ue.get(r);if(r==this.view.contentDOM)break;s instanceof Ve?t.push(s):s?.isLine()?n=s:s instanceof Wt||(r.nodeName=="DIV"&&!n&&r!=this.view.contentDOM?n=new pn(r,ku):n||t.push(Ve.of(new ir({tagName:r.nodeName.toLowerCase(),attributes:P0(r)}),r)))}return{line:n,marks:t}}};function Xf(i,e){let t=n=>{for(let r of n.children)if((e?r.isText():r.length)||t(r))return!0;return!1};return t(i)}function I0(i){let e=i.isReplace?(i.startSide<0?64:0)|(i.endSide>0?128:0):i.startSide>0?32:16;return i.block&&(e|=256),e}var ku={class:"cm-line"};function B0(i,e){let t=e.spec.attributes,n=e.spec.class;return!t&&!n||(i||(i={class:"cm-line"}),t&&Ba(t,i),n&&(i.class+=" "+n)),i}function U0(i){let e=[];for(let t=i.parents.length;t>1;t--){let n=t==i.parents.length?i.tile:i.parents[t].tile;n instanceof Ve&&e.push(n.mark)}return e}function ra(i){let e=ue.get(i);return e&&e.setDOM(i.cloneNode()),i}var ci=class extends Ce{constructor(e){super(),this.tag=e}eq(e){return e.tag==this.tag}toDOM(){return document.createElement(this.tag)}updateDOM(e){return e.nodeName.toLowerCase()==this.tag}get isHidden(){return!0}};ci.inline=new ci("span");ci.block=new ci("div");var sa=new class extends Ce{toDOM(){return document.createElement("br")}get isHidden(){return!0}get editable(){return!0}},ds=class{constructor(e){this.view=e,this.decorations=[],this.blockWrappers=[],this.dynamicDecorationMap=[!1],this.domChanged=null,this.hasComposition=null,this.editContextFormatting=R.none,this.lastCompositionAfterCursor=!1,this.minWidth=0,this.minWidthFrom=0,this.minWidthTo=0,this.impreciseAnchor=null,this.impreciseHead=null,this.forceSelection=!1,this.lastUpdate=Date.now(),this.updateDeco(),this.tile=new dn(e,e.contentDOM),this.updateInner([new bt(0,0,0,e.state.doc.length)],null)}update(e){var t;let n=e.changedRanges;this.minWidth>0&&n.length&&(n.every(({fromA:h,toA:f})=>fthis.minWidthTo)?(this.minWidthFrom=e.changes.mapPos(this.minWidthFrom,1),this.minWidthTo=e.changes.mapPos(this.minWidthTo,1)):this.minWidth=this.minWidthFrom=this.minWidthTo=0),this.updateEditContextFormatting(e);let r=-1;this.view.inputState.composing>=0&&!this.view.observer.editContext&&(!((t=this.domChanged)===null||t===void 0)&&t.newSel?r=this.domChanged.newSel.head:!tQ(e.changes,this.hasComposition)&&!e.selectionSet&&(r=e.state.selection.main.head));let s=r>-1?N0(this.view,e.changes,r):null;if(this.domChanged=null,this.hasComposition){let{from:h,to:f}=this.hasComposition;n=new bt(h,f,e.changes.mapPos(h,-1),e.changes.mapPos(f,1)).addToSet(n.slice())}this.hasComposition=s?{from:s.range.fromB,to:s.range.toB}:null,(L.ie||L.chrome)&&!s&&e&&e.state.doc.lines!=e.startState.doc.lines&&(this.forceSelection=!0);let o=this.decorations,a=this.blockWrappers;this.updateDeco();let l=K0(o,this.decorations,e.changes);l.length&&(n=bt.extendWithRanges(n,l));let c=J0(a,this.blockWrappers,e.changes);return c.length&&(n=bt.extendWithRanges(n,c)),s&&!n.some(h=>h.fromA<=s.range.fromA&&h.toA>=s.range.toA)&&(n=s.range.addToSet(n.slice())),this.tile.flags&2&&n.length==0?!1:(this.updateInner(n,s),e.transactions.length&&(this.lastUpdate=Date.now()),!0)}updateInner(e,t){this.view.viewState.mustMeasureContent=!0;let{observer:n}=this.view;n.ignore(()=>{if(t||e.length){let o=this.tile,a=new xa(this.view,o,this.blockWrappers,this.decorations,this.dynamicDecorationMap);t&&ue.get(t.text)&&a.cache.reused.set(ue.get(t.text),2),this.tile=a.run(e,t),wa(o,a.cache.reused)}this.tile.dom.style.height=this.view.viewState.contentHeight/this.view.scaleY+"px",this.tile.dom.style.flexBasis=this.minWidth?this.minWidth+"px":"";let s=L.chrome||L.ios?{node:n.selectionRange.focusNode,written:!1}:void 0;this.tile.sync(s),s&&(s.written||n.selectionRange.focusNode!=s.node||!this.tile.dom.contains(s.node))&&(this.forceSelection=!0),this.tile.dom.style.height=""});let r=[];if(this.view.viewport.from||this.view.viewport.to-1)&&Nn(n,this.view.observer.selectionRange)&&!(r&&n.contains(r));if(!(s||t||o))return;let a=this.forceSelection;this.forceSelection=!1;let l=this.view.state.selection.main,c,h;if(l.empty?h=c=this.inlineDOMNearPos(l.anchor,l.assoc||1):(h=this.inlineDOMNearPos(l.head,l.head==l.from?1:-1),c=this.inlineDOMNearPos(l.anchor,l.anchor==l.from?1:-1)),L.gecko&&l.empty&&!this.hasComposition&&G0(c)){let u=document.createTextNode("");this.view.observer.ignore(()=>c.node.insertBefore(u,c.node.childNodes[c.offset]||null)),c=h=new Xt(u,0),a=!0}let f=this.view.observer.selectionRange;(a||!f.focusNode||(!Fn(c.node,c.offset,f.anchorNode,f.anchorOffset)||!Fn(h.node,h.offset,f.focusNode,f.focusOffset))&&!this.suppressWidgetCursorChange(f,l))&&(this.view.observer.ignore(()=>{L.android&&L.chrome&&n.contains(f.focusNode)&&eQ(f.focusNode,n)&&(n.blur(),n.focus({preventScroll:!0}));let u=rr(this.view.root);if(u)if(l.empty){if(L.gecko){let O=F0(c.node,c.offset);if(O&&O!=3){let m=(O==1?tu:iu)(c.node,c.offset);m&&(c=new Xt(m.node,m.offset))}}u.collapse(c.node,c.offset),l.bidiLevel!=null&&u.caretBidiLevel!==void 0&&(u.caretBidiLevel=l.bidiLevel)}else if(u.extend){u.collapse(c.node,c.offset);try{u.extend(h.node,h.offset)}catch{}}else{let O=document.createRange();l.anchor>l.head&&([c,h]=[h,c]),O.setEnd(h.node,h.offset),O.setStart(c.node,c.offset),u.removeAllRanges(),u.addRange(O)}o&&this.view.root.activeElement==n&&(n.blur(),r&&r.focus())}),this.view.observer.setSelectionRange(c,h)),this.impreciseAnchor=c.precise?null:new Xt(f.anchorNode,f.anchorOffset),this.impreciseHead=h.precise?null:new Xt(f.focusNode,f.focusOffset)}suppressWidgetCursorChange(e,t){return this.hasComposition&&t.empty&&Fn(e.focusNode,e.focusOffset,e.anchorNode,e.anchorOffset)&&this.posFromDOM(e.focusNode,e.focusOffset)==t.head}enforceCursorAssoc(){if(this.hasComposition)return;let{view:e}=this,t=e.state.selection.main,n=rr(e.root),{anchorNode:r,anchorOffset:s}=e.observer.selectionRange;if(!n||!t.empty||!t.assoc||!n.modify)return;let o=this.lineAt(t.head,t.assoc);if(!o)return;let a=o.posAtStart;if(t.head==a||t.head==a+o.length)return;let l=this.coordsAt(t.head,-1),c=this.coordsAt(t.head,1);if(!l||!c||l.bottom>c.top)return;let h=this.domAtPos(t.head+t.assoc,t.assoc);n.collapse(h.node,h.offset),n.modify("move",t.assoc<0?"forward":"backward","lineboundary"),e.observer.readSelectionRange();let f=e.observer.selectionRange;e.docView.posFromDOM(f.anchorNode,f.anchorOffset)!=t.from&&n.collapse(r,s)}posFromDOM(e,t){let n=this.tile.nearest(e);if(!n)return this.tile.dom.compareDocumentPosition(e)&2?0:this.view.state.doc.length;let r=n.posAtStart;if(n.isComposite()){let s;if(e==n.dom)s=n.dom.childNodes[t];else{let o=jt(e)==0?0:t==0?-1:1;for(;;){let a=e.parentNode;if(a==n.dom)break;o==0&&a.firstChild!=a.lastChild&&(e==a.firstChild?o=-1:o=1),e=a}o<0?s=e:s=e.nextSibling}if(s==n.dom.firstChild)return r;for(;s&&!ue.get(s);)s=s.nextSibling;if(!s)return r+n.length;for(let o=0,a=r;;o++){let l=n.children[o];if(l.dom==s)return a;a+=l.length+l.breakAfter}}else return n.isText()?e==n.dom?r+t:r+(t?n.length:0):r}domAtPos(e,t){let{tile:n,offset:r}=this.tile.resolveBlock(e,t);return n.isWidget()?n.domPosFor(r,t):n.domIn(r,t)}inlineDOMNearPos(e,t){let n,r=-1,s=!1,o,a=-1,l=!1;return this.tile.blockTiles((c,h)=>{if(c.isWidget()){if(c.flags&32&&h>=e)return!0;c.flags&16&&(s=!0)}else{let f=h+c.length;if(h<=e&&(n=c,r=e-h,s=f=e&&!o&&(o=c,a=e-h,l=h>e),h>e&&o)return!0}}),!n&&!o?this.domAtPos(e,t):(s&&o?n=null:l&&n&&(o=null),n&&t<0||!o?n.domIn(r,t):o.domIn(a,t))}coordsAt(e,t,n){let{tile:r,offset:s}=this.tile.resolveBlock(e,t);return r.isWidget()?r.widget instanceof Jn?null:r.coordsInWidget(s,t,!0):r.coordsIn(s,t,n)}lineAt(e,t){let{tile:n}=this.tile.resolveBlock(e,t);return n.isLine()?n:null}coordsForChar(e){let{tile:t,offset:n}=this.tile.resolveBlock(e,1);if(!t.isLine())return null;function r(s,o){if(s.isComposite())for(let a of s.children){if(a.length>=o){let l=r(a,o);if(l)return l}if(o-=a.length,o<0)break}else if(s.isText()&&oMath.max(this.view.scrollDOM.clientWidth,this.minWidth)+1,a=-1,l=this.view.textDirection==Oe.LTR,c=0,h=(f,u,O)=>{for(let m=0;mr);m++){let p=f.children[m],b=u+p.length,g=p.dom.getBoundingClientRect(),{height:Q}=g;if(O&&!m&&(c+=g.top-O.top),p instanceof Wt)b>n&&h(p,u,g);else if(u>=n&&(c>0&&t.push(-c),t.push(Q+c),c=0,o)){let S=p.dom.lastChild,x=S?as(S):[];if(x.length){let P=x[x.length-1],$=l?P.right-g.left:g.right-P.left;$>a&&(a=$,this.minWidth=s,this.minWidthFrom=u,this.minWidthTo=b)}}O&&m==f.children.length-1&&(c+=O.bottom-g.bottom),u=b+p.breakAfter}};return h(this.tile,0,null),t}textDirectionAt(e){let{tile:t}=this.tile.resolveBlock(e,1);return getComputedStyle(t.dom).direction=="rtl"?Oe.RTL:Oe.LTR}measureTextSize(){let e=this.tile.blockTiles(o=>{if(o.isLine()&&o.children.length&&o.length<=20){let a=0,l;for(let c of o.children){if(!c.isText()||/[^ -~]/.test(c.text))return;let h=as(c.dom);if(h.length!=1)return;a+=h[0].width,l=h[0].height}if(a)return{lineHeight:o.dom.getBoundingClientRect().height,charWidth:a/o.length,textHeight:l}}});if(e)return e;let t=document.createElement("div"),n,r,s;return t.className="cm-line",t.style.width="99999px",t.style.position="absolute",t.textContent="abc def ghi jkl mno pqr stu",this.view.observer.ignore(()=>{this.tile.dom.appendChild(t);let o=as(t.firstChild)[0];n=t.getBoundingClientRect().height,r=o&&o.width?o.width/27:7,s=o&&o.height?o.height:n,t.remove()}),{lineHeight:n,charWidth:r,textHeight:s}}computeBlockGapDeco(){let e=[],t=this.view.viewState;for(let n=0,r=0;;r++){let s=r==t.viewports.length?null:t.viewports[r],o=s?s.from-1:this.view.state.doc.length;if(o>n){let a=(t.lineBlockAt(o).bottom-t.lineBlockAt(n).top)/this.view.scaleY;e.push(R.replace({widget:new Jn(a),block:!0,inclusive:!0,isBlockGap:!0}).range(n,o))}if(!s)break;n=s.to+1}return R.set(e)}updateDeco(){let e=1,t=this.view.state.facet(ks).map(s=>(this.dynamicDecorationMap[e++]=typeof s=="function")?s(this.view):s),n=!1,r=this.view.state.facet(Ka).map((s,o)=>{let a=typeof s=="function";return a&&(n=!0),a?s(this.view):s});for(r.length&&(this.dynamicDecorationMap[e++]=n,t.push(le.join(r))),this.decorations=[this.editContextFormatting,...t,this.computeBlockGapDeco(),this.view.viewState.lineGapDeco];etypeof s=="function"?s(this.view):s)}scrollIntoView(e){if(e.isSnapshot){let c=this.view.viewState.lineBlockAt(e.range.head);this.view.scrollDOM.scrollTop=c.top-e.yMargin,this.view.scrollDOM.scrollLeft=e.xMargin;return}for(let c of this.view.state.facet(pu))try{if(c(this.view,e.range,e))return!0}catch(h){ht(this.view.state,h,"scroll handler")}let{range:t}=e,n=this.coordsAt(t.head,t.assoc||(t.head>t.anchor?-1:1)),r;if(!n)return;!t.empty&&(r=this.coordsAt(t.anchor,t.anchor>t.head?-1:1))&&(n={left:Math.min(n.left,r.left),top:Math.min(n.top,r.top),right:Math.max(n.right,r.right),bottom:Math.max(n.bottom,r.bottom)});let s=yu(this.view),o={left:n.left-s.left,top:n.top-s.top,right:n.right+s.right,bottom:n.bottom+s.bottom},{offsetWidth:a,offsetHeight:l}=this.view.scrollDOM;if(T0(this.view.scrollDOM,o,t.head1&&(n.top>window.pageYOffset+window.visualViewport.offsetTop+window.visualViewport.height||n.bottomn.isWidget()||n.children.some(t);return t(this.tile.resolveBlock(e,1).tile)}destroy(){wa(this.tile)}};function wa(i,e){let t=e?.get(i);if(t!=1){t==null&&i.destroy();for(let n of i.children)wa(n,e)}}function G0(i){return i.node.nodeType==1&&i.node.firstChild&&(i.offset==0||i.node.childNodes[i.offset-1].contentEditable=="false")&&(i.offset==i.node.childNodes.length||i.node.childNodes[i.offset].contentEditable=="false")}function xu(i,e){let t=i.observer.selectionRange;if(!t.focusNode)return null;let n=tu(t.focusNode,t.focusOffset),r=iu(t.focusNode,t.focusOffset),s=n||r;if(r&&n&&r.node!=n.node){let a=ue.get(r.node);if(!a||a.isText()&&a.text!=r.node.nodeValue)s=r;else if(i.docView.lastCompositionAfterCursor){let l=ue.get(n.node);!l||l.isText()&&l.text!=n.node.nodeValue||(s=r)}}if(i.docView.lastCompositionAfterCursor=s!=n,!s)return null;let o=e-s.offset;return{from:o,to:o+s.node.nodeValue.length,node:s.node}}function N0(i,e,t){let n=xu(i,t);if(!n)return null;let{node:r,from:s,to:o}=n,a=r.nodeValue;if(/[\n\r]/.test(a)||i.state.doc.sliceString(n.from,n.to)!=a)return null;let l=e.invertedDesc;return{range:new bt(l.mapPos(s),l.mapPos(o),s,o),text:r}}function F0(i,e){return i.nodeType!=1?0:(e&&i.childNodes[e-1].contentEditable=="false"?1:0)|(e{ne.from&&(t=!0)}),t}var Jn=class extends Ce{constructor(e){super(),this.height=e}toDOM(){let e=document.createElement("div");return e.className="cm-gap",this.updateDOM(e),e}eq(e){return e.height==this.height}updateDOM(e){return e.style.height=this.height+"px",!0}get editable(){return!0}get estimatedHeight(){return this.height}ignoreEvent(){return!1}};function iQ(i,e,t=1){let n=i.charCategorizer(e),r=i.doc.lineAt(e),s=e-r.from;if(r.length==0)return v.cursor(e);s==0?t=1:s==r.length&&(t=-1);let o=s,a=s;t<0?o=xe(r.text,s,!1):a=xe(r.text,s);let l=n(r.text.slice(o,a));for(;o>0;){let c=xe(r.text,o,!1);if(n(r.text.slice(c,o))!=l)break;o=c}for(;ai.defaultLineHeight*1.5){let a=i.viewState.heightOracle.textHeight,l=Math.floor((r-t.top-(i.defaultLineHeight-a)*.5)/a);s+=l*i.viewState.heightOracle.lineLength}let o=i.state.sliceDoc(t.from,t.to);return t.from+gf(o,s,i.state.tabSize)}function rQ(i,e,t){let n=i.lineBlockAt(e);if(Array.isArray(n.type)){let r;for(let s of n.type){if(s.from>e)break;if(!(s.toe)return s;(!r||s.type==ft.Text&&(r.type!=s.type||(t<0?s.frome)))&&(r=s)}}return r||n}return n}function sQ(i,e,t,n){let r=rQ(i,e.head,e.assoc||-1),s=!n||r.type!=ft.Text||!(i.lineWrapping||r.widgetLineBreaks)?null:i.coordsAtPos(e.assoc<0&&e.head>r.from?e.head-1:e.head);if(s){let o=i.dom.getBoundingClientRect(),a=i.textDirectionAt(r.from),l=i.posAtCoords({x:t==(a==Oe.LTR)?o.right-1:o.left+1,y:(s.top+s.bottom)/2});if(l!=null)return v.cursor(l,t?-1:1)}return v.cursor(t?r.to:r.from,t?-1:1)}function _f(i,e,t,n){let r=i.state.doc.lineAt(e.head),s=i.bidiSpans(r),o=i.textDirectionAt(r.from);for(let a=e,l=null;;){let c=L0(r,s,o,a,t),h=au;if(!c){if(r.number==(t?i.state.doc.lines:1))return a;h=` +`,r=i.state.doc.line(r.number+(t?1:-1)),s=i.bidiSpans(r),c=i.visualLineSide(r,!t)}if(l){if(!l(h))return a}else{if(!n)return c;l=n(h)}a=c}}function oQ(i,e,t){let n=i.state.charCategorizer(e),r=n(t);return s=>{let o=n(s);return r==qe.Space&&(r=o),r==o}}function aQ(i,e,t,n){let r=e.head,s=t?1:-1;if(r==(t?i.state.doc.length:0))return v.cursor(r,e.assoc);let o=e.goalColumn,a,l=i.contentDOM.getBoundingClientRect(),c=i.coordsAtPos(r,e.assoc||((e.empty?t:e.head==e.from)?1:-1)),h=i.documentTop;if(c)o==null&&(o=c.left-l.left),a=s<0?c.top:c.bottom;else{let m=i.viewState.lineBlockAt(r);o==null&&(o=Math.min(l.right-l.left,i.defaultCharacterWidth*(r-m.from))),a=(s<0?m.top:m.bottom)+h}let f=l.left+o,u=i.viewState.heightOracle.textHeight>>1,O=n??u;for(let m=0;;m+=u){let p=a+(O+m)*s,b=va(i,{x:f,y:p},!1,s);if(t?p>l.bottom:pa:Q{if(e>s&&er(i)),t.from,e.head>t.from?-1:1);return n==t.from?t:v.cursor(n,ni.viewState.docHeight)return new lt(i.state.doc.length,-1);if(c=i.elementAtHeight(l),n==null)break;if(c.type==ft.Text){if(n<0?c.toi.viewport.to)break;let u=i.docView.coordsAt(n<0?c.from:c.to,n>0?-1:1);if(u&&(n<0?u.top<=l+s:u.bottom>=l+s))break}let f=i.viewState.heightOracle.textHeight/2;l=n>0?c.bottom+f:c.top-f}if(i.viewport.from>=c.to||i.viewport.to<=c.from){if(t)return null;if(c.type==ft.Text){let f=nQ(i,r,c,o,a);return new lt(f,f==c.from?1:-1)}}if(c.type!=ft.Text)return l<(c.top+c.bottom)/2?new lt(c.from,1):new lt(c.to,-1);let h=i.docView.lineAt(c.from,2);return(!h||h.length!=c.length)&&(h=i.docView.lineAt(c.from,-2)),new $a(i,o,a,i.textDirectionAt(c.from)).scanTile(h,c.from)}var $a=class{constructor(e,t,n,r){this.view=e,this.x=t,this.y=n,this.baseDir=r,this.line=null,this.spans=null}bidiSpansAt(e){return(!this.line||this.line.from>e||this.line.to1||n.length&&(n[0].level!=this.baseDir||n[0].to+r.from>1;t:if(o.has(p)){let g=r+Math.floor(Math.random()*m);for(let Q=0;Q1)){if(Q.bottomthis.y)(!c||c.top>Q.top)&&(c=Q),S=-1;else{let x=Q.left>this.x?this.x-Q.left:Q.right(m+m+p)/3)return this.y=l.bottom-1,this.scan(e,t,!0);if(c&&c.top<(m+p+p)/3)return this.y=c.top+1,this.scan(e,t,!0)}let O=(a?this.dirAt(e[h],1):this.baseDir)==Oe.LTR;return{i:h,after:this.x>(u.left+u.right)/2==O}}scanText(e,t){let n=[];for(let s=0;s{let o=n[s]-t,a=n[s+1]-t;return sr(e.dom,o,a).getClientRects()});return r.after?new lt(n[r.i+1],-1):new lt(n[r.i],1)}scanTile(e,t){if(!e.length)return new lt(t,1);if(e.children.length==1){let a=e.children[0];if(a.isText())return this.scanText(a,t);if(a.isComposite())return this.scanTile(a,t)}let n=[t];for(let a=0,l=t;a{let l=e.children[a];return l.flags&48?null:(l.dom.nodeType==1?l.dom:sr(l.dom,0,l.length)).getClientRects()}),s=e.children[r.i],o=n[r.i];return s.isText()?this.scanText(s,o):s.isComposite()?this.scanTile(s,o):r.after?new lt(n[r.i+1],-1):new lt(o,1)}},ln="\uFFFF",Ta=class{constructor(e,t){this.points=e,this.view=t,this.text="",this.lineSeparator=t.state.facet(se.lineSeparator)}append(e){this.text+=e}lineBreak(){this.text+=ln}readRange(e,t){if(!e)return this;let n=e.parentNode;for(let r=e;;){this.findPointBefore(n,r);let s=this.text.length;this.readNode(r);let o=ue.get(r),a=r.nextSibling;if(a==t){o?.breakAfter&&!a&&n!=this.view.contentDOM&&this.lineBreak();break}let l=ue.get(a);(o&&l?o.breakAfter:(o?o.breakAfter:hs(r))||hs(a)&&(r.nodeName!="BR"||o?.isWidget())&&this.text.length>s)&&!cQ(a,t)&&this.lineBreak(),r=a}return this.findPointBefore(n,t),this}readTextNode(e){let t=e.nodeValue;for(let n of this.points)n.node==e&&(n.pos=this.text.length+Math.min(n.offset,t.length));for(let n=0,r=this.lineSeparator?null:/\r\n?|\n/g;;){let s=-1,o=1,a;if(this.lineSeparator?(s=t.indexOf(this.lineSeparator,n),o=this.lineSeparator.length):(a=r.exec(t))&&(s=a.index,o=a[0].length),this.append(t.slice(n,s<0?t.length:s)),s<0)break;if(this.lineBreak(),o>1)for(let l of this.points)l.node==e&&l.pos>this.text.length&&(l.pos-=o-1);n=s+o}}readNode(e){let t=ue.get(e),n=t&&t.overrideDOMText;if(n!=null){this.findPointInside(e,n.length);for(let r=n.iter();!r.next().done;)r.lineBreak?this.lineBreak():this.append(r.value)}else e.nodeType==3?this.readTextNode(e):e.nodeName=="BR"?e.nextSibling&&this.lineBreak():e.nodeType==1&&this.readRange(e.firstChild,null)}findPointBefore(e,t){for(let n of this.points)n.node==e&&e.childNodes[n.offset]==t&&(n.pos=this.text.length)}findPointInside(e,t){for(let n of this.points)(e.nodeType==3?n.node==e:e.contains(n.node))&&(n.pos=this.text.length+(lQ(e,n.node,n.offset)?t:0))}};function lQ(i,e,t){for(;;){if(!e||t-1;let{impreciseHead:s,impreciseAnchor:o}=e.docView,a=e.state.selection;if(e.state.readOnly&&t>-1)this.newSel=null;else if(t>-1&&(this.bounds=Pu(e.docView.tile,t,n,0))){let l=s||o?[]:fQ(e),c=new Ta(l,e);c.readRange(this.bounds.startDOM,this.bounds.endDOM),this.text=c.text,this.newSel=uQ(l,this.bounds.from)}else{let l=e.observer.selectionRange,c=s&&s.node==l.focusNode&&s.offset==l.focusOffset||!ua(e.contentDOM,l.focusNode)?a.main.head:e.docView.posFromDOM(l.focusNode,l.focusOffset),h=o&&o.node==l.anchorNode&&o.offset==l.anchorOffset||!ua(e.contentDOM,l.anchorNode)?a.main.anchor:e.docView.posFromDOM(l.anchorNode,l.anchorOffset),f=e.viewport;if((L.ios||L.chrome)&&c!=h&&Math.min(c,h)<=a.main.from&&Math.max(c,h)>=a.main.to&&(f.from>0||f.to-1&&a.ranges.length>1)this.newSel=a.replaceRange(v.range(h,c));else if(e.lineWrapping&&h==c&&!(a.main.empty&&a.main.head==c)&&e.inputState.lastTouchTime>Date.now()-100){let u=e.coordsAtPos(c,-1),O=0;u&&(O=e.inputState.lastTouchY<=u.bottom?-1:1),this.newSel=v.create([v.cursor(c,O)])}else this.newSel=v.single(h,c)}}};function Pu(i,e,t,n){if(i.isComposite()){let r=-1,s=-1,o=-1,a=-1;for(let l=0,c=n,h=n;lt)return Pu(f,e,t,c);if(u>=e&&r==-1&&(r=l,s=c),c>t&&f.dom.parentNode==i.dom){o=l,a=h;break}h=u,c=u+f.breakAfter}return{from:s,to:a<0?n+i.length:a,startDOM:(r?i.children[r-1].dom.nextSibling:null)||i.dom.firstChild,endDOM:o=0?i.children[o].dom:null}}else return i.isText()?{from:n,to:n+i.length,startDOM:i.dom,endDOM:i.dom.nextSibling}:null}function vu(i,e){let t,{newSel:n}=e,{state:r}=i,s=r.selection.main,o=i.inputState.lastKeyTime>Date.now()-100?i.inputState.lastKeyCode:-1;if(e.bounds){let{from:a,to:l}=e.bounds,c=s.from,h=null;(o===8||L.android&&e.text.length=a&&s.to<=l&&(e.typeOver||f!=e.text)&&f.slice(0,s.from-a)==e.text.slice(0,s.from-a)&&f.slice(s.to-a)==e.text.slice(u=e.text.length-(f.length-(s.to-a)))?t={from:s.from,to:s.to,insert:J.of(e.text.slice(s.from-a,u).split(ln))}:(O=$u(f,e.text,c-a,h))&&(L.chrome&&o==13&&O.toB==O.from+2&&e.text.slice(O.from,O.toB)==ln+ln&&O.toB--,t={from:a+O.from,to:a+O.toA,insert:J.of(e.text.slice(O.from,O.toB).split(ln))})}else n&&(!i.hasFocus&&r.facet(Mt)||ms(n,s))&&(n=null);if(!t&&!n)return!1;if((L.mac||L.android)&&t&&t.from==t.to&&t.from==s.head-1&&/^\. ?$/.test(t.insert.toString())&&i.contentDOM.getAttribute("autocorrect")=="off"?(n&&t.insert.length==2&&(n=v.single(n.main.anchor-1,n.main.head-1)),t={from:t.from,to:t.to,insert:J.of([t.insert.toString().replace("."," ")])}):r.doc.lineAt(s.from).toDate.now()-50?t={from:s.from,to:s.to,insert:r.toText(i.inputState.insertingText)}:L.chrome&&t&&t.from==t.to&&t.from==s.head&&t.insert.toString()==` + `&&i.lineWrapping&&(n&&(n=v.single(n.main.anchor-1,n.main.head-1)),t={from:s.from,to:s.to,insert:J.of([" "])}),t)return Ja(i,t,n,o);if(n&&!ms(n,s)){let a=!1,l="select";return i.inputState.lastSelectionTime>Date.now()-50&&(i.inputState.lastSelectionOrigin=="select"&&(a=!0),l=i.inputState.lastSelectionOrigin,l=="select.pointer"&&(n=wu(r.facet(or).map(c=>c(i)),n))),i.dispatch({selection:n,scrollIntoView:a,userEvent:l}),!0}else return!1}function Ja(i,e,t,n=-1){if(L.ios&&i.inputState.flushIOSKey(e))return!0;let r=i.state.selection.main;if(L.android&&(e.to==r.to&&(e.from==r.from||e.from==r.from-1&&i.state.sliceDoc(e.from,r.from)==" ")&&e.insert.length==1&&e.insert.lines==2&&un(i.contentDOM,"Enter",13)||(e.from==r.from-1&&e.to==r.to&&e.insert.length==0||n==8&&e.insert.lengthr.head)&&un(i.contentDOM,"Backspace",8)||e.from==r.from&&e.to==r.to+1&&e.insert.length==0&&un(i.contentDOM,"Delete",46)))return!0;let s=e.insert.toString();i.inputState.composing>=0&&i.inputState.composing++;let o,a=()=>o||(o=hQ(i,e,t));return i.state.facet(uu).some(l=>l(i,e.from,e.to,s,a))||i.dispatch(a()),!0}function hQ(i,e,t){let n,r=i.state,s=r.selection.main,o=-1;if(e.from==e.to&&e.froms.to){let l=e.fromf(i)),c,l);e.from==h&&(o=h)}if(o>-1)n={changes:e,selection:v.cursor(e.from+e.insert.length,-1)};else if(e.from>=s.from&&e.to<=s.to&&e.to-e.from>=(s.to-s.from)/3&&(!t||t.main.empty&&t.main.from==e.from+e.insert.length)&&i.inputState.composing<0){let l=s.frome.to?r.sliceDoc(e.to,s.to):"";n=r.replaceSelection(i.state.toText(l+e.insert.sliceString(0,void 0,i.state.lineBreak)+c))}else{let l=r.changes(e),c=t&&t.main.to<=l.newLength?t.main:void 0;if(r.selection.ranges.length>1&&(i.inputState.composing>=0||i.inputState.compositionPendingChange)&&e.to<=s.to+10&&e.to>=s.to-10){let h=i.state.sliceDoc(e.from,e.to),f,u=t&&xu(i,t.main.head);if(u){let m=e.insert.length-(e.to-e.from);f={from:u.from,to:u.to-m}}else f=i.state.doc.lineAt(s.head);let O=s.to-e.to;n=r.changeByRange(m=>{if(m.from==s.from&&m.to==s.to)return{changes:l,range:c||m.map(l)};let p=m.to-O,b=p-h.length;if(i.state.sliceDoc(b,p)!=h||p>=f.from&&b<=f.to)return{range:m};let g=r.changes({from:b,to:p,insert:e.insert}),Q=m.to-s.to;return{changes:g,range:c?v.range(Math.max(0,c.anchor+Q),Math.max(0,c.head+Q)):m.map(g)}})}else n={changes:l,selection:c&&r.selection.replaceRange(c)}}let a="input.type";return(i.composing||i.inputState.compositionPendingChange&&i.inputState.compositionEndedAt>Date.now()-50)&&(i.inputState.compositionPendingChange=!1,a+=".compose",i.inputState.compositionFirstChange&&(a+=".start",i.inputState.compositionFirstChange=!1)),r.update(n,{userEvent:a,scrollIntoView:!0})}function $u(i,e,t,n){let r=Math.min(i.length,e.length),s=0;for(;s0&&a>0&&i.charCodeAt(o-1)==e.charCodeAt(a-1);)o--,a--;if(n=="end"){let l=Math.max(0,s-Math.min(o,a));t-=o+l-s}if(o=o?s-t:0;s-=l,a=s+(a-o),o=s}else if(a=a?s-t:0;s-=l,o=s+(o-a),a=s}return{from:s,toA:o,toB:a}}function fQ(i){let e=[];if(i.root.activeElement!=i.contentDOM)return e;let{anchorNode:t,anchorOffset:n,focusNode:r,focusOffset:s}=i.observer.selectionRange;return t&&(e.push(new ps(t,n)),(r!=t||s!=n)&&e.push(new ps(r,s))),e}function uQ(i,e){if(i.length==0)return null;let t=i[0].pos,n=i.length==2?i[1].pos:t;return t>-1&&n>-1?v.single(t+e,n+e):null}function ms(i,e){return e.head==i.main.head&&e.anchor==i.main.anchor}var Xa=class{setSelectionOrigin(e){this.lastSelectionOrigin=e,this.lastSelectionTime=Date.now()}constructor(e){this.view=e,this.lastKeyCode=0,this.lastKeyTime=0,this.touchActive=!1,this.lastTouchTime=0,this.lastTouchX=0,this.lastTouchY=0,this.lastFocusTime=0,this.lastScrollTop=0,this.lastScrollLeft=0,this.lastWheelEvent=0,this.pendingIOSKey=void 0,this.lastIOSMomentumScroll=0,this.tabFocusMode=-1,this.lastSelectionOrigin=null,this.lastSelectionTime=0,this.lastContextMenu=0,this.scrollHandlers=[],this.handlers=Object.create(null),this.composing=-1,this.compositionFirstChange=null,this.compositionEndedAt=0,this.compositionPendingKey=!1,this.compositionPendingChange=!1,this.insertingText="",this.insertingTextAt=0,this.mouseSelection=null,this.draggedContent=null,this.handleEvent=this.handleEvent.bind(this),this.notifiedFocused=e.hasFocus,L.safari&&e.contentDOM.addEventListener("input",()=>null),L.gecko&&$Q(e.contentDOM.ownerDocument)}handleEvent(e){!SQ(this.view,e)||this.ignoreDuringComposition(e)||e.type=="keydown"&&this.keydown(e)||(this.view.updateState!=0?Promise.resolve().then(()=>this.runHandlers(e.type,e)):this.runHandlers(e.type,e))}runHandlers(e,t){let n=this.handlers[e];if(n){for(let r of n.observers)r(this.view,t);for(let r of n.handlers){if(t.defaultPrevented)break;if(r(this.view,t)){t.preventDefault();break}}}}ensureHandlers(e){let t=dQ(e),n=this.handlers,r=this.view.contentDOM;for(let s in t)if(s!="scroll"){let o=!t[s].handlers.length,a=n[s];a&&o!=!a.handlers.length&&(r.removeEventListener(s,this.handleEvent),a=null),a||r.addEventListener(s,this.handleEvent,{passive:o})}for(let s in n)s!="scroll"&&!t[s]&&r.removeEventListener(s,this.handleEvent);this.handlers=t}keydown(e){if(this.lastKeyCode=e.keyCode,this.lastKeyTime=Date.now(),e.keyCode==9&&this.tabFocusMode>-1&&(!this.tabFocusMode||Date.now()<=this.tabFocusMode))return!0;if(this.tabFocusMode>0&&e.keyCode!=27&&Cu.indexOf(e.keyCode)<0&&(this.tabFocusMode=-1),L.android&&L.chrome&&!e.synthetic&&(e.keyCode==13||e.keyCode==8))return this.view.observer.delayAndroidKey(e.key,e.keyCode),!0;if(L.ios&&!e.synthetic&&!e.altKey&&!e.metaKey&&(Tu.some(t=>t.keyCode==e.keyCode)&&!e.ctrlKey||pQ.indexOf(e.key)>-1&&e.ctrlKey)){let t={ctrlKey:e.ctrlKey,altKey:e.altKey,metaKey:e.metaKey,shiftKey:e.shiftKey};return t.shiftKey&&L.ios&&!/^(off|none)$/.test(this.view.contentDOM.autocapitalize)&&OQ(this.view.win)&&(t.shiftKey=!1),this.pendingIOSKey={key:e.key,keyCode:e.keyCode,mods:t},setTimeout(()=>this.flushIOSKey(),250),!0}return e.keyCode!=229&&this.view.observer.forceFlush(),!1}flushIOSKey(e){let t=this.pendingIOSKey;return!t||t.key=="Enter"&&e&&e.from0?!0:L.safari&&!L.ios&&this.compositionPendingKey&&Date.now()-this.compositionEndedAt<100?(this.compositionPendingKey=!1,!0):!1}startMouseSelection(e){this.mouseSelection&&this.mouseSelection.destroy(),this.mouseSelection=e}update(e){this.view.observer.update(e),this.mouseSelection&&this.mouseSelection.update(e),this.draggedContent&&e.docChanged&&(this.draggedContent=this.draggedContent.map(e.changes)),e.transactions.length&&(this.lastKeyCode=this.lastSelectionTime=0)}destroy(){this.mouseSelection&&this.mouseSelection.destroy()}};function OQ(i){return i.visualViewport?i.visualViewport.height*i.visualViewport.scale/i.document.documentElement.clientHeight<.85:!1}function Rf(i,e){return(t,n)=>{try{return e.call(i,n,t)}catch(r){ht(t.state,r)}}}function dQ(i){let e=Object.create(null);function t(n){return e[n]||(e[n]={observers:[],handlers:[]})}for(let n of i){let r=n.spec,s=r&&r.plugin.domEventHandlers,o=r&&r.plugin.domEventObservers;if(s)for(let a in s){let l=s[a];l&&t(a).handlers.push(Rf(n.value,l))}if(o)for(let a in o){let l=o[a];l&&t(a).observers.push(Rf(n.value,l))}}for(let n in St)t(n).handlers.push(St[n]);for(let n in Me)t(n).observers.push(Me[n]);return e}var Tu=[{key:"Backspace",keyCode:8,inputType:"deleteContentBackward"},{key:"Enter",keyCode:13,inputType:"insertParagraph"},{key:"Enter",keyCode:13,inputType:"insertLineBreak"},{key:"Delete",keyCode:46,inputType:"deleteContentForward"}],pQ="dthko",Cu=[16,17,18,20,91,92,224,225],ts=6;function is(i){return Math.max(0,i)*.7+8}function mQ(i,e){return Math.max(Math.abs(i.clientX-e.clientX),Math.abs(i.clientY-e.clientY))}var _a=class{constructor(e,t,n,r){this.view=e,this.startEvent=t,this.style=n,this.mustSelect=r,this.scrollSpeed={x:0,y:0},this.scrolling=-1,this.lastEvent=t,this.scrollParents=Kf(e.contentDOM),this.atoms=e.state.facet(or).map(o=>o(e));let s=e.contentDOM.ownerDocument;s.addEventListener("mousemove",this.move=this.move.bind(this)),s.addEventListener("mouseup",this.up=this.up.bind(this)),this.extend=t.shiftKey,this.multiple=e.state.facet(se.allowMultipleSelections)&&gQ(e,t),this.dragging=bQ(e,t)&&Ru(t)==1?null:!1}start(e){this.dragging===!1&&this.select(e)}move(e){if(e.buttons==0)return this.destroy();if(this.dragging||this.dragging==null&&mQ(this.startEvent,e)<10)return;this.select(this.lastEvent=e);let t=0,n=0,r=0,s=0,o=this.view.win.innerWidth,a=this.view.win.innerHeight;this.scrollParents.x&&({left:r,right:o}=this.scrollParents.x.getBoundingClientRect()),this.scrollParents.y&&({top:s,bottom:a}=this.scrollParents.y.getBoundingClientRect());let l=yu(this.view);e.clientX-l.left<=r+ts?t=-is(r-e.clientX):e.clientX+l.right>=o-ts&&(t=is(e.clientX-o)),e.clientY-l.top<=s+ts?n=-is(s-e.clientY):e.clientY+l.bottom>=a-ts&&(n=is(e.clientY-a)),this.setScrollSpeed(t,n)}up(e){this.dragging==null&&this.select(this.lastEvent),this.dragging||e.preventDefault(),this.destroy()}destroy(){this.setScrollSpeed(0,0);let e=this.view.contentDOM.ownerDocument;e.removeEventListener("mousemove",this.move),e.removeEventListener("mouseup",this.up),this.view.inputState.mouseSelection=this.view.inputState.draggedContent=null}setScrollSpeed(e,t){this.scrollSpeed={x:e,y:t},e||t?this.scrolling<0&&(this.scrolling=setInterval(()=>this.scroll(),50)):this.scrolling>-1&&(clearInterval(this.scrolling),this.scrolling=-1)}scroll(){let{x:e,y:t}=this.scrollSpeed;e&&this.scrollParents.x&&(this.scrollParents.x.scrollLeft+=e,e=0),t&&this.scrollParents.y&&(this.scrollParents.y.scrollTop+=t,t=0),(e||t)&&this.view.win.scrollBy(e,t),this.dragging===!1&&this.select(this.lastEvent)}select(e){let{view:t}=this,n=wu(this.atoms,this.style.get(e,this.extend,this.multiple));(this.mustSelect||!n.eq(t.state.selection,this.dragging===!1))&&this.view.dispatch({selection:n,userEvent:"select.pointer"}),this.mustSelect=!1}update(e){e.transactions.some(t=>t.isUserEvent("input.type"))?this.destroy():this.style.update(e)&&setTimeout(()=>this.select(this.lastEvent),20)}};function gQ(i,e){let t=i.state.facet(lu);return t.length?t[0](e):L.mac?e.metaKey:e.ctrlKey}function QQ(i,e){let t=i.state.facet(cu);return t.length?t[0](e):L.mac?!e.altKey:!e.ctrlKey}function bQ(i,e){let{main:t}=i.state.selection;if(t.empty)return!1;let n=rr(i.root);if(!n||n.rangeCount==0)return!0;let r=n.getRangeAt(0).getClientRects();for(let s=0;s=e.clientX&&o.top<=e.clientY&&o.bottom>=e.clientY)return!0}return!1}function SQ(i,e){if(!e.bubbles)return!0;if(e.defaultPrevented)return!1;for(let t=e.target,n;t!=i.contentDOM;t=t.parentNode)if(!t||t.nodeType==11||(n=ue.get(t))&&n.isWidget()&&!n.isHidden&&n.widget.ignoreEvent(e))return!1;return!0}var St=Object.create(null),Me=Object.create(null),Xu=L.ie&&L.ie_version<15||L.ios&&L.webkit_version<604;function yQ(i){let e=i.dom.parentNode;if(!e)return;let t=e.appendChild(document.createElement("textarea"));t.style.cssText="position: fixed; left: -10000px; top: 10px",t.focus(),setTimeout(()=>{i.focus(),t.remove(),_u(i,t.value)},50)}function xs(i,e,t){for(let n of i.facet(e))t=n(t,i);return t}function _u(i,e){e=xs(i.state,Na,e);let{state:t}=i,n,r=1,s=t.toText(e),o=s.lines==t.selection.ranges.length;if(Ra!=null&&t.selection.ranges.every(l=>l.empty)&&Ra==s.toString()){let l=-1;n=t.changeByRange(c=>{let h=t.doc.lineAt(c.from);if(h.from==l)return{range:c};l=h.from;let f=t.toText((o?s.line(r++).text:e)+t.lineBreak);return{changes:{from:h.from,insert:f},range:v.cursor(c.from+f.length)}})}else o?n=t.changeByRange(l=>{let c=s.line(r++);return{changes:{from:l.from,to:l.to,insert:c.text},range:v.cursor(l.from+c.length)}}):n=t.replaceSelection(s);i.dispatch(n,{userEvent:"input.paste",scrollIntoView:!0})}Me.scroll=i=>{let e=i.inputState;e.lastScrollTop=i.scrollDOM.scrollTop,e.lastScrollLeft=i.scrollDOM.scrollLeft,L.ios&&!e.touchActive&&(e.lastIOSMomentumScroll=Date.now())};Me.wheel=Me.mousewheel=i=>{i.inputState.lastWheelEvent=Date.now()};St.keydown=(i,e)=>(i.inputState.setSelectionOrigin("select"),e.keyCode==27&&i.inputState.tabFocusMode!=0&&(i.inputState.tabFocusMode=Date.now()+2e3),!1);Me.touchstart=(i,e)=>{let t=i.inputState,n=e.targetTouches[0];t.touchActive=!0,t.lastTouchTime=Date.now(),n&&(t.lastTouchX=n.clientX,t.lastTouchY=n.clientY),t.setSelectionOrigin("select.pointer")};Me.touchmove=i=>{i.inputState.setSelectionOrigin("select.pointer")};Me.touchend=(i,e)=>{i.inputState.touchActive=!1};St.mousedown=(i,e)=>{if(i.observer.flush(),i.inputState.lastTouchTime>Date.now()-2e3)return!1;let t=null;for(let n of i.state.facet(hu))if(t=n(i,e),t)break;if(!t&&e.button==0&&(t=xQ(i,e)),t){let n=!i.hasFocus;i.inputState.startMouseSelection(new _a(i,e,t,n)),n&&i.observer.ignore(()=>{Jf(i.contentDOM);let s=i.root.activeElement;s&&!s.contains(i.contentDOM)&&s.blur()});let r=i.inputState.mouseSelection;if(r)return r.start(e),r.dragging===!1}else i.inputState.setSelectionOrigin("select.pointer");return!1};function Af(i,e,t,n){if(n==1)return v.cursor(e,t);if(n==2)return iQ(i.state,e,t);{let r=i.docView.lineAt(e,t),s=i.state.doc.lineAt(r?r.posAtEnd:e),o=r?r.posAtStart:s.from,a=r?r.posAtEnd:s.to;return aDate.now()-400&&Math.abs(e.clientX-i.clientX)<2&&Math.abs(e.clientY-i.clientY)<2?(Ef+1)%3:1}function xQ(i,e){let t=i.posAndSideAtCoords({x:e.clientX,y:e.clientY},!1),n=Ru(e),r=i.state.selection;return{update(s){s.docChanged&&(t.pos=s.changes.mapPos(t.pos),r=r.map(s.changes))},get(s,o,a){let l=i.posAndSideAtCoords({x:s.clientX,y:s.clientY},!1),c,h=Af(i,l.pos,l.assoc,n);if(t.pos!=l.pos&&!o){let f=Af(i,t.pos,t.assoc,n),u=Math.min(f.from,h.from),O=Math.max(f.to,h.to);h=u1&&(c=wQ(r,l.pos))?c:a?r.addRange(h):v.create([h])}}}function wQ(i,e){for(let t=0;t=e)return v.create(i.ranges.slice(0,t).concat(i.ranges.slice(t+1)),i.mainIndex==t?0:i.mainIndex-(i.mainIndex>t?1:0))}return null}St.dragstart=(i,e)=>{let{selection:{main:t}}=i.state;if(e.target.draggable){let r=i.docView.tile.nearest(e.target);if(r&&r.isWidget()){let s=r.posAtStart,o=s+r.length;(s>=t.to||o<=t.from)&&(t=v.undirectionalRange(s,o))}}let{inputState:n}=i;return n.mouseSelection&&(n.mouseSelection.dragging=!0),n.draggedContent=t,e.dataTransfer&&(e.dataTransfer.setData("Text",xs(i.state,Fa,i.state.sliceDoc(t.from,t.to))),e.dataTransfer.effectAllowed="copyMove"),!1};St.dragend=i=>(i.inputState.draggedContent=null,!1);function zf(i,e,t,n){if(t=xs(i.state,Na,t),!t)return;let r=i.posAtCoords({x:e.clientX,y:e.clientY},!1),{draggedContent:s}=i.inputState,o=n&&s&&QQ(i,e)?{from:s.from,to:s.to}:null,a={from:r,insert:t},l=i.state.changes(o?[o,a]:a);i.focus(),i.dispatch({changes:l,selection:{anchor:l.mapPos(r,-1),head:l.mapPos(r,1)},userEvent:o?"move.drop":"input.drop"}),i.inputState.draggedContent=null}St.drop=(i,e)=>{if(!e.dataTransfer)return!1;if(i.state.readOnly)return!0;let t=e.dataTransfer.files;if(t&&t.length){let n=Array(t.length),r=0,s=()=>{++r==t.length&&zf(i,e,n.filter(o=>o!=null).join(i.state.lineBreak),!1)};for(let o=0;o{/[\x00-\x08\x0e-\x1f]{2}/.test(a.result)||(n[o]=a.result),s()},a.readAsText(t[o])}return!0}else{let n=e.dataTransfer.getData("Text");if(n)return zf(i,e,n,!0),!0}return!1};St.paste=(i,e)=>{if(i.state.readOnly)return!0;i.observer.flush();let t=Xu?null:e.clipboardData;return t?(_u(i,t.getData("text/plain")||t.getData("text/uri-list")),!0):(yQ(i),!1)};function PQ(i,e){let t=i.dom.parentNode;if(!t)return;let n=t.appendChild(document.createElement("textarea"));n.style.cssText="position: fixed; left: -10000px; top: 10px",n.value=e,n.focus(),n.selectionEnd=e.length,n.selectionStart=0,setTimeout(()=>{n.remove(),i.focus()},50)}function vQ(i){let e=[],t=[],n=!1;for(let r of i.selection.ranges)r.empty||(e.push(i.sliceDoc(r.from,r.to)),t.push(r));if(!e.length){let r=-1;for(let{from:s}of i.selection.ranges){let o=i.doc.lineAt(s);o.number>r&&(e.push(o.text),t.push({from:o.from,to:Math.min(i.doc.length,o.to+1)})),r=o.number}n=!0}return{text:xs(i,Fa,e.join(i.lineBreak)),ranges:t,linewise:n}}var Ra=null;St.copy=St.cut=(i,e)=>{if(!Nn(i.contentDOM,i.observer.selectionRange))return!1;let{text:t,ranges:n,linewise:r}=vQ(i.state);if(!t&&!r)return!1;Ra=r?t:null,e.type=="cut"&&!i.state.readOnly&&i.dispatch({changes:n,scrollIntoView:!0,userEvent:"delete.cut"});let s=Xu?null:e.clipboardData;return s?(s.clearData(),s.setData("text/plain",t),!0):(PQ(i,t),!1)};var Au=Te.define();function Zu(i,e){let t=[];for(let n of i.facet(Ou)){let r=n(i,e);r&&t.push(r)}return t.length?i.update({effects:t,annotations:Au.of(!0)}):null}function Eu(i){setTimeout(()=>{let e=i.hasFocus;if(e!=i.inputState.notifiedFocused){let t=Zu(i.state,e);t?i.dispatch(t):i.update([])}},10)}Me.focus=i=>{i.inputState.lastFocusTime=Date.now(),!i.scrollDOM.scrollTop&&(i.inputState.lastScrollTop||i.inputState.lastScrollLeft)&&(i.scrollDOM.scrollTop=i.inputState.lastScrollTop,i.scrollDOM.scrollLeft=i.inputState.lastScrollLeft),Eu(i)};Me.blur=i=>{i.observer.clearSelectionRange(),Eu(i)};Me.compositionstart=Me.compositionupdate=i=>{i.observer.editContext||(i.inputState.compositionFirstChange==null&&(i.inputState.compositionFirstChange=!0),i.inputState.composing<0&&(i.inputState.composing=0))};Me.compositionend=i=>{i.observer.editContext||(i.inputState.composing=-1,i.inputState.compositionEndedAt=Date.now(),i.inputState.compositionPendingKey=!0,i.inputState.compositionPendingChange=i.observer.pendingRecords().length>0,i.inputState.compositionFirstChange=null,L.chrome&&L.android?i.observer.flushSoon():i.inputState.compositionPendingChange?Promise.resolve().then(()=>i.observer.flush()):setTimeout(()=>{i.inputState.composing<0&&i.docView.hasComposition&&i.update([])},50))};Me.contextmenu=i=>{i.inputState.lastContextMenu=Date.now()};St.beforeinput=(i,e)=>{var t,n;if((e.inputType=="insertText"||e.inputType=="insertCompositionText")&&(i.inputState.insertingText=e.data,i.inputState.insertingTextAt=Date.now()),e.inputType=="insertReplacementText"&&i.observer.editContext){let s=(t=e.dataTransfer)===null||t===void 0?void 0:t.getData("text/plain"),o=e.getTargetRanges();if(s&&o.length){let a=o[0],l=i.posAtDOM(a.startContainer,a.startOffset),c=i.posAtDOM(a.endContainer,a.endOffset);return Ja(i,{from:l,to:c,insert:i.state.toText(s)},null),!0}}let r;if(L.chrome&&L.android&&(r=Tu.find(s=>s.inputType==e.inputType))&&(i.observer.delayAndroidKey(r.key,r.keyCode),r.key=="Backspace"||r.key=="Delete")){let s=((n=window.visualViewport)===null||n===void 0?void 0:n.height)||0;setTimeout(()=>{var o;(((o=window.visualViewport)===null||o===void 0?void 0:o.height)||0)>s+10&&i.hasFocus&&(i.contentDOM.blur(),i.focus())},100)}return L.ios&&e.inputType=="deleteContentForward"&&i.observer.flushSoon(),L.safari&&e.inputType=="insertText"&&i.inputState.composing>=0&&setTimeout(()=>Me.compositionend(i,e),20),!1};var Lf=new Set;function $Q(i){Lf.has(i)||(Lf.add(i),i.addEventListener("copy",()=>{}),i.addEventListener("cut",()=>{}))}var Mf=["pre-wrap","normal","pre-line","break-spaces"],gn=!1;function Wf(){gn=!1}var Aa=class{constructor(e){this.lineWrapping=e,this.doc=J.empty,this.heightSamples={},this.lineHeight=14,this.charWidth=7,this.textHeight=14,this.lineLength=30}heightForGap(e,t){let n=this.doc.lineAt(t).number-this.doc.lineAt(e).number+1;return this.lineWrapping&&(n+=Math.max(0,Math.ceil((t-e-n*this.lineLength*.5)/this.lineLength))),this.lineHeight*n}heightForLine(e){return this.lineWrapping?(1+Math.max(0,Math.ceil((e-this.lineLength)/Math.max(1,this.lineLength-5))))*this.lineHeight:this.lineHeight}setDoc(e){return this.doc=e,this}mustRefreshForWrapping(e){return Mf.indexOf(e)>-1!=this.lineWrapping}mustRefreshForHeights(e){let t=!1;for(let n=0;n-1,l=Math.abs(t-this.lineHeight)>.3||this.lineWrapping!=a;if(this.lineWrapping=a,this.lineHeight=t,this.charWidth=n,this.textHeight=r,this.lineLength=s,l){this.heightSamples={};for(let c=0;c0}set outdated(e){this.flags=(e?2:0)|this.flags&-3}setHeight(e){this.height!=e&&(Math.abs(this.height-e)>ls&&(gn=!0),this.height=e)}replace(e,t,n){return i.of(n)}decomposeLeft(e,t){t.push(this)}decomposeRight(e,t){t.push(this)}applyChanges(e,t,n,r){let s=this,o=n.doc;for(let a=r.length-1;a>=0;a--){let{fromA:l,toA:c,fromB:h,toB:f}=r[a],u=s.lineAt(l,ce.ByPosNoHeight,n.setDoc(t),0,0),O=u.to>=c?u:s.lineAt(c,ce.ByPosNoHeight,n,0,0);for(f+=O.to-c,c=O.to;a>0&&u.from<=r[a-1].toA;)l=r[a-1].fromA,h=r[a-1].fromB,a--,ls*2){let a=e[t-1];a.break?e.splice(--t,1,a.left,null,a.right):e.splice(--t,1,a.left,a.right),n+=1+a.break,r-=a.size}else if(s>r*2){let a=e[n];a.break?e.splice(n,1,a.left,null,a.right):e.splice(n,1,a.left,a.right),n+=2+a.break,s-=a.size}else break;else if(r=s&&o(this.lineAt(0,ce.ByPos,n,r,s))}setMeasuredHeight(e){let t=e.heights[e.index++];t<0?(this.spaceAbove=-t,t=e.heights[e.index++]):this.spaceAbove=0,this.setHeight(t)}updateHeight(e,t=0,n=!1,r){return r&&r.from<=t&&r.more&&this.setMeasuredHeight(r),this.outdated=!1,this}toString(){return`block(${this.length})`}},at=class i extends Qs{constructor(e,t,n){super(e,t,null),this.collapsed=0,this.widgetHeight=0,this.breaks=0,this.spaceAbove=n}mainBlock(e,t){return new Qt(t,this.length,e+this.spaceAbove,this.height-this.spaceAbove,this.breaks)}replace(e,t,n){let r=n[0];return n.length==1&&(r instanceof i||r instanceof oi&&r.flags&4)&&Math.abs(this.length-r.length)<10?(r instanceof oi?r=new i(r.length,this.height,this.spaceAbove):r.height=this.height,this.outdated||(r.outdated=!1),r):He.of(n)}updateHeight(e,t=0,n=!1,r){return r&&r.from<=t&&r.more?this.setMeasuredHeight(r):(n||this.outdated)&&(this.spaceAbove=0,this.setHeight(Math.max(this.widgetHeight,e.heightForLine(this.length-this.collapsed))+this.breaks*e.lineHeight)),this.outdated=!1,this}toString(){return`line(${this.length}${this.collapsed?-this.collapsed:""}${this.widgetHeight?":"+this.widgetHeight:""})`}},oi=class i extends He{constructor(e){super(e,0)}heightMetrics(e,t){let n=e.doc.lineAt(t).number,r=e.doc.lineAt(t+this.length).number,s=r-n+1,o,a=0;if(e.lineWrapping){let l=Math.min(this.height,e.lineHeight*s);o=l/s,this.length>s+1&&(a=(this.height-l)/(this.length-s-1))}else o=this.height/s;return{firstLine:n,lastLine:r,perLine:o,perChar:a}}blockAt(e,t,n,r){let{firstLine:s,lastLine:o,perLine:a,perChar:l}=this.heightMetrics(t,r);if(t.lineWrapping){let c=r+(e0){let s=n[n.length-1];s instanceof i?n[n.length-1]=new i(s.length+r):n.push(null,new i(r-1))}if(e>0){let s=n[0];s instanceof i?n[0]=new i(e+s.length):n.unshift(new i(e-1),null)}return He.of(n)}decomposeLeft(e,t){t.push(new i(e-1),null)}decomposeRight(e,t){t.push(null,new i(this.length-e-1))}updateHeight(e,t=0,n=!1,r){let s=t+this.length;if(r&&r.from<=t+this.length&&r.more){let o=[],a=Math.max(t,r.from),l=-1;for(r.from>t&&o.push(new i(r.from-t-1).updateHeight(e,t));a<=s&&r.more;){let h=e.doc.lineAt(a).length;o.length&&o.push(null);let f=r.heights[r.index++],u=0;f<0&&(u=-f,f=r.heights[r.index++]),l==-1?l=f:Math.abs(f-l)>=ls&&(l=-2);let O=new at(h,f,u);O.outdated=!1,o.push(O),a+=h+1}a<=s&&o.push(null,new i(s-a).updateHeight(e,a));let c=He.of(o);return(l<0||Math.abs(c.height-this.height)>=ls||Math.abs(l-this.heightMetrics(e,t).perLine)>=ls)&&(gn=!0),gs(this,c)}else(n||this.outdated)&&(this.setHeight(e.heightForGap(t,t+this.length)),this.outdated=!1);return this}toString(){return`gap(${this.length})`}},Ea=class extends He{constructor(e,t,n){super(e.length+t+n.length,e.height+n.height,t|(e.outdated||n.outdated?2:0)),this.left=e,this.right=n,this.size=e.size+n.size}get break(){return this.flags&1}blockAt(e,t,n,r){let s=n+this.left.height;return ea))return c;let h=t==ce.ByPosNoHeight?ce.ByPosNoHeight:ce.ByPos;return l?c.join(this.right.lineAt(a,h,n,o,a)):this.left.lineAt(a,h,n,r,s).join(c)}forEachLine(e,t,n,r,s,o){let a=r+this.left.height,l=s+this.left.length+this.break;if(this.break)e=l&&this.right.forEachLine(e,t,n,a,l,o);else{let c=this.lineAt(l,ce.ByPos,n,r,s);e=e&&c.from<=t&&o(c),t>c.to&&this.right.forEachLine(c.to+1,t,n,a,l,o)}}replace(e,t,n){let r=this.left.length+this.break;if(tthis.left.length)return this.balanced(this.left,this.right.replace(e-r,t-r,n));let s=[];e>0&&this.decomposeLeft(e,s);let o=s.length;for(let a of n)s.push(a);if(e>0&&jf(s,o-1),t=n&&t.push(null)),e>n&&this.right.decomposeLeft(e-n,t)}decomposeRight(e,t){let n=this.left.length,r=n+this.break;if(e>=r)return this.right.decomposeRight(e-r,t);e2*t.size||t.size>2*e.size?He.of(this.break?[e,null,t]:[e,t]):(this.left=gs(this.left,e),this.right=gs(this.right,t),this.setHeight(e.height+t.height),this.outdated=e.outdated||t.outdated,this.size=e.size+t.size,this.length=e.length+this.break+t.length,this)}updateHeight(e,t=0,n=!1,r){let{left:s,right:o}=this,a=t+s.length+this.break,l=null;return r&&r.from<=t+s.length&&r.more?l=s=s.updateHeight(e,t,n,r):s.updateHeight(e,t,n),r&&r.from<=a+o.length&&r.more?l=o=o.updateHeight(e,a,n,r):o.updateHeight(e,a,n),l?this.balanced(s,o):(this.height=this.left.height+this.right.height,this.outdated=!1,this)}toString(){return this.left+(this.break?" ":"-")+this.right}};function jf(i,e){let t,n;i[e]==null&&(t=i[e-1])instanceof oi&&(n=i[e+1])instanceof oi&&i.splice(e-1,3,new oi(t.length+1+n.length))}var CQ=5,qa=class i{constructor(e,t){this.pos=e,this.oracle=t,this.nodes=[],this.lineStart=-1,this.lineEnd=-1,this.covering=null,this.writtenTo=e}get isCovered(){return this.covering&&this.nodes[this.nodes.length-1]==this.covering}span(e,t){if(this.lineStart>-1){let n=Math.min(t,this.lineEnd),r=this.nodes[this.nodes.length-1];r instanceof at?r.length+=n-this.pos:(n>this.pos||!this.isCovered)&&this.nodes.push(new at(n-this.pos,-1,0)),this.writtenTo=n,t>n&&(this.nodes.push(null),this.writtenTo++,this.lineStart=-1)}this.pos=t}point(e,t,n){if(e=CQ)&&this.addLineDeco(r,s,o)}else t>e&&this.span(e,t);this.lineEnd>-1&&this.lineEnd-1)return;let{from:e,to:t}=this.oracle.doc.lineAt(this.pos);this.lineStart=e,this.lineEnd=t,this.writtenToe&&this.nodes.push(new at(this.pos-e,-1,0)),this.writtenTo=this.pos}blankContent(e,t){let n=new oi(t-e);return this.oracle.doc.lineAt(e).to==t&&(n.flags|=4),n}ensureLine(){this.enterLine();let e=this.nodes.length?this.nodes[this.nodes.length-1]:null;if(e instanceof at)return e;let t=new at(0,-1,0);return this.nodes.push(t),t}addBlock(e){this.enterLine();let t=e.deco;t&&t.startSide>0&&!this.isCovered&&this.ensureLine(),this.nodes.push(e),this.writtenTo=this.pos=this.pos+e.length,t&&t.endSide>0&&(this.covering=e)}addLineDeco(e,t,n){let r=this.ensureLine();r.length+=n,r.collapsed+=n,r.widgetHeight=Math.max(r.widgetHeight,e),r.breaks+=t,this.writtenTo=this.pos=this.pos+n}finish(e){let t=this.nodes.length==0?null:this.nodes[this.nodes.length-1];this.lineStart>-1&&!(t instanceof at)&&!this.isCovered?this.nodes.push(new at(0,-1,0)):(this.writtenToh.clientHeight||h.scrollWidth>h.clientWidth)&&f.overflow!="visible"){let u=h.getBoundingClientRect();s=Math.max(s,u.left),o=Math.min(o,u.right),a=Math.max(a,u.top),l=Math.min(c==i.parentNode?r.innerHeight:l,u.bottom)}c=f.position=="absolute"||f.position=="fixed"?h.offsetParent:h.parentNode}else if(c.nodeType==11)c=c.host;else break;return{left:s-t.left,right:Math.max(s,o)-t.left,top:a-(t.top+e),bottom:Math.max(a,l)-(t.top+e)}}function RQ(i){let e=i.getBoundingClientRect(),t=i.ownerDocument.defaultView||window;return e.left0&&e.top0}function AQ(i,e){let t=i.getBoundingClientRect();return{left:0,right:t.right-t.left,top:e,bottom:t.bottom-(t.top+e)}}var tr=class{constructor(e,t,n,r){this.from=e,this.to=t,this.size=n,this.displaySize=r}static same(e,t){if(e.length!=t.length)return!1;for(let n=0;ntypeof r!="function"&&r.class=="cm-lineWrapping");this.heightOracle=new Aa(n),this.stateDeco=Df(t),this.heightMap=He.empty().applyChanges(this.stateDeco,J.empty,this.heightOracle.setDoc(t.doc),[new bt(0,0,0,t.doc.length)]);for(let r=0;r<2&&(this.viewport=this.getViewport(0,null),!!this.updateForViewport());r++);this.updateViewportLines(),this.lineGaps=this.ensureLineGaps([]),this.lineGapDeco=R.set(this.lineGaps.map(r=>r.draw(this,!1))),this.scrollParent=e.scrollDOM,this.computeVisibleRanges()}updateForViewport(){let e=[this.viewport],{main:t}=this.state.selection;for(let n=0;n<=1;n++){let r=n?t.head:t.anchor;if(!e.some(({from:s,to:o})=>r>=s&&r<=o)){let{from:s,to:o}=this.lineBlockAt(r);e.push(new hn(s,o))}}return this.viewports=e.sort((n,r)=>n.from-r.from),this.updateScaler()}updateScaler(){let e=this.scaler;return this.scaler=this.heightMap.height<=7e6?Vf:new Ma(this.heightOracle,this.heightMap,this.viewports),e.eq(this.scaler)?0:2}updateViewportLines(){this.viewportLines=[],this.heightMap.forEachLine(this.viewport.from,this.viewport.to,this.heightOracle.setDoc(this.state.doc),0,0,e=>{this.viewportLines.push(Un(e,this.scaler))})}update(e,t=null){this.state=e.state;let n=this.stateDeco;this.stateDeco=Df(this.state);let r=e.changedRanges,s=bt.extendWithRanges(r,XQ(n,this.stateDeco,e?e.changes:ze.empty(this.state.doc.length))),o=this.heightMap.height,a=this.scrolledToBottom?null:this.scrollAnchorAt(this.scrollOffset);Wf(),this.heightMap=this.heightMap.applyChanges(this.stateDeco,e.startState.doc,this.heightOracle.setDoc(this.state.doc),s),(this.heightMap.height!=o||gn)&&(e.flags|=2),a?(this.scrollAnchorPos=e.changes.mapPos(a.from,-1),this.scrollAnchorHeight=a.top):(this.scrollAnchorPos=-1,this.scrollAnchorHeight=o);let l=s.length?this.mapViewport(this.viewport,e.changes):this.viewport;(t&&(t.range.headl.to)||!this.viewportIsAppropriate(l))&&(l=this.getViewport(0,t));let c=l.from!=this.viewport.from||l.to!=this.viewport.to;this.viewport=l,e.flags|=this.updateForViewport(),(c||!e.changes.empty||e.flags&2)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(this.mapLineGaps(this.lineGaps,e.changes))),e.flags|=this.computeVisibleRanges(e.changes),t&&(this.scrollTarget=t),!this.mustEnforceCursorAssoc&&(e.selectionSet||e.focusChanged)&&e.view.lineWrapping&&e.state.selection.main.empty&&e.state.selection.main.assoc&&!e.state.facet(W0)&&(this.mustEnforceCursorAssoc=!0)}measure(){let{view:e}=this,t=e.contentDOM,n=window.getComputedStyle(t),r=this.heightOracle,s=n.whiteSpace;this.defaultTextDirection=n.direction=="rtl"?Oe.RTL:Oe.LTR;let o=this.heightOracle.mustRefreshForWrapping(s)||this.mustMeasureContent==="refresh",a=t.getBoundingClientRect(),l=o||this.mustMeasureContent||this.contentDOMHeight!=a.height;this.contentDOMHeight=a.height,this.mustMeasureContent=!1;let c=0,h=0;if(a.width&&a.height){let{scaleX:P,scaleY:$}=Hf(t,a);(P>.005&&Math.abs(this.scaleX-P)>.005||$>.005&&Math.abs(this.scaleY-$)>.005)&&(this.scaleX=P,this.scaleY=$,c|=16,o=l=!0)}let f=(parseInt(n.paddingTop)||0)*this.scaleY,u=(parseInt(n.paddingBottom)||0)*this.scaleY;(this.paddingTop!=f||this.paddingBottom!=u)&&(this.paddingTop=f,this.paddingBottom=u,c|=18),this.editorWidth!=e.scrollDOM.clientWidth&&(r.lineWrapping&&(l=!0),this.editorWidth=e.scrollDOM.clientWidth,c|=16);let O=Kf(this.view.contentDOM,!1).y;O!=this.scrollParent&&(this.scrollParent=O,this.scrollAnchorHeight=-1,this.scrollOffset=0);let m=this.getScrollOffset();this.scrollOffset!=m&&(this.scrollAnchorHeight=-1,this.scrollOffset=m),this.scrolledToBottom=eu(this.scrollParent||e.win);let p=(this.printing?AQ:_Q)(t,this.paddingTop),b=p.top-this.pixelViewport.top,g=p.bottom-this.pixelViewport.bottom;this.pixelViewport=p;let Q=this.pixelViewport.bottom>this.pixelViewport.top&&this.pixelViewport.right>this.pixelViewport.left;if(Q!=this.inView&&(this.inView=Q,Q&&(l=!0)),!this.inView&&!this.scrollTarget&&!RQ(e.dom))return 0;let S=a.width;if((this.contentDOMWidth!=S||this.editorHeight!=e.scrollDOM.clientHeight)&&(this.contentDOMWidth=a.width,this.editorHeight=e.scrollDOM.clientHeight,c|=16),l){let P=e.docView.measureVisibleLineHeights(this.viewport);if(r.mustRefreshForHeights(P)&&(o=!0),o||r.lineWrapping&&Math.abs(S-this.contentDOMWidth)>r.charWidth){let{lineHeight:$,charWidth:Z,textHeight:X}=e.docView.measureTextSize();o=$>0&&r.refresh(s,$,Z,X,Math.max(5,S/Z),P),o&&(e.docView.minWidth=0,c|=16)}b>0&&g>0?h=Math.max(b,g):b<0&&g<0&&(h=Math.min(b,g)),Wf();for(let $ of this.viewports){let Z=$.from==this.viewport.from?P:e.docView.measureVisibleLineHeights($);this.heightMap=(o?He.empty().applyChanges(this.stateDeco,J.empty,this.heightOracle,[new bt(0,0,0,e.state.doc.length)]):this.heightMap).updateHeight(r,0,o,new Za($.from,Z))}gn&&(c|=2)}let x=!this.viewportIsAppropriate(this.viewport,h)||this.scrollTarget&&(this.scrollTarget.range.headthis.viewport.to);return x&&(c&2&&(c|=this.updateScaler()),this.viewport=this.getViewport(h,this.scrollTarget),c|=this.updateForViewport()),(c&2||x)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(o?[]:this.lineGaps,e)),c|=this.computeVisibleRanges(),this.mustEnforceCursorAssoc&&(this.mustEnforceCursorAssoc=!1,e.docView.enforceCursorAssoc()),c}get visibleTop(){return this.scaler.fromDOM(this.pixelViewport.top)}get visibleBottom(){return this.scaler.fromDOM(this.pixelViewport.bottom)}getViewport(e,t){let n=.5-Math.max(-.5,Math.min(.5,e/1e3/2)),r=this.heightMap,s=this.heightOracle,{visibleTop:o,visibleBottom:a}=this,l=new hn(r.lineAt(o-n*1e3,ce.ByHeight,s,0,0).from,r.lineAt(a+(1-n)*1e3,ce.ByHeight,s,0,0).to);if(t){let{head:c}=t.range;if(cl.to){let h=Math.min(this.editorHeight,this.pixelViewport.bottom-this.pixelViewport.top),f=r.lineAt(c,ce.ByPos,s,0,0),u;t.y=="center"?u=(f.top+f.bottom)/2-h/2:t.y=="start"||t.y=="nearest"&&c=a+Math.max(10,Math.min(n,250)))&&r>o-2*1e3&&s>1,o=r<<1;if(this.defaultTextDirection!=Oe.LTR&&!n)return[];let a=[],l=(h,f,u,O)=>{if(f-hh&&gg.from>=u.from&&g.to<=u.to&&Math.abs(g.from-h)g.fromQ));if(!b){if(fS.from<=f&&S.to>=f)){let S=t.moveToLineBoundary(v.cursor(f),!1,!0).head;S>h&&(f=S)}let g=this.gapSize(u,h,f,O),Q=n||g<2e6?g:2e6;b=new tr(h,f,g,Q)}a.push(b)},c=h=>{if(h.length2e6)for(let $ of e)$.from>=h.from&&$.fromh.from&&l(h.from,O,h,f),mt.draw(this,this.heightOracle.lineWrapping))))}computeVisibleRanges(e){let t=this.stateDeco;this.lineGaps.length&&(t=t.concat(this.lineGapDeco));let n=[];le.spans(t,this.viewport.from,this.viewport.to,{span(s,o){n.push({from:s,to:o})},point(){}},20);let r=0;if(n.length!=this.visibleRanges.length)r=12;else for(let s=0;s=this.viewport.from&&e<=this.viewport.to&&this.viewportLines.find(t=>t.from<=e&&t.to>=e)||Un(this.heightMap.lineAt(e,ce.ByPos,this.heightOracle,0,0),this.scaler)}lineBlockAtHeight(e){return e>=this.viewportLines[0].top&&e<=this.viewportLines[this.viewportLines.length-1].bottom&&this.viewportLines.find(t=>t.top<=e&&t.bottom>=e)||Un(this.heightMap.lineAt(this.scaler.fromDOM(e),ce.ByHeight,this.heightOracle,0,0),this.scaler)}getScrollOffset(){return(this.scrollParent==this.view.scrollDOM?this.scrollParent.scrollTop:(this.scrollParent?this.scrollParent.getBoundingClientRect().top:0)-this.view.contentDOM.getBoundingClientRect().top)*this.scaleY}scrollAnchorAt(e){let t=this.lineBlockAtHeight(e+8);return t.from>=this.viewport.from||this.viewportLines[0].top-e>200?t:this.viewportLines[0]}elementAtHeight(e){return Un(this.heightMap.blockAt(this.scaler.fromDOM(e),this.heightOracle,0,0),this.scaler)}get docHeight(){return this.scaler.toDOM(this.heightMap.height)}get contentHeight(){return this.docHeight+this.paddingTop+this.paddingBottom}},hn=class{constructor(e,t){this.from=e,this.to=t}};function ZQ(i,e,t){let n=[],r=i,s=0;return le.spans(t,i,e,{span(){},point(o,a){o>r&&(n.push({from:r,to:o}),s+=o-r),r=a}},20),r=1)return e[e.length-1].to;let n=Math.floor(i*t);for(let r=0;;r++){let{from:s,to:o}=e[r],a=o-s;if(n<=a)return s+n;n-=a}}function rs(i,e){let t=0;for(let{from:n,to:r}of i.ranges){if(e<=r){t+=e-n;break}t+=r-n}return t/i.total}function EQ(i,e){for(let t of i)if(e(t))return t}var Vf={toDOM(i){return i},fromDOM(i){return i},scale:1,eq(i){return i==this}};function Df(i){let e=i.facet(ks).filter(n=>typeof n!="function"),t=i.facet(Ka).filter(n=>typeof n!="function");return t.length&&e.push(le.join(t)),e}var Ma=class i{constructor(e,t,n){let r=0,s=0,o=0;this.viewports=n.map(({from:a,to:l})=>{let c=t.lineAt(a,ce.ByPos,e,0,0).top,h=t.lineAt(l,ce.ByPos,e,0,0).bottom;return r+=h-c,{from:a,to:l,top:c,bottom:h,domTop:0,domBottom:0}}),this.scale=(7e6-r)/(t.height-r);for(let a of this.viewports)a.domTop=o+(a.top-s)*this.scale,o=a.domBottom=a.domTop+(a.bottom-a.top),s=a.bottom}toDOM(e){for(let t=0,n=0,r=0;;t++){let s=tt.from==e.viewports[n].from&&t.to==e.viewports[n].to):!1}};function Un(i,e){if(e.scale==1)return i;let t=e.toDOM(i.top),n=e.toDOM(i.bottom);return new Qt(i.from,i.length,t,n-t,Array.isArray(i._content)?i._content.map(r=>Un(r,e)):i._content)}var ss=Y.define({combine:i=>i.join(" ")}),Wa=Y.define({combine:i=>i.indexOf(!0)>-1}),ja=ot.newName(),qu=ot.newName(),zu=ot.newName(),Lu={"&light":"."+qu,"&dark":"."+zu};function Va(i,e,t){return new ot(e,{finish(n){return/&/.test(n)?n.replace(/&\w*/,r=>{if(r=="&")return i;if(!t||!t[r])throw new RangeError(`Unsupported selector: ${r}`);return t[r]}):i+" "+n}})}var qQ=Va("."+ja,{"&":{position:"relative !important",boxSizing:"border-box","&.cm-focused":{outline:"1px dotted #212121"},display:"flex !important",flexDirection:"column"},".cm-scroller":{display:"flex !important",alignItems:"flex-start !important",fontFamily:"monospace",lineHeight:1.4,height:"100%",overflowX:"auto",position:"relative",zIndex:0,overflowAnchor:"none"},".cm-content":{margin:0,flexGrow:2,flexShrink:0,display:"block",whiteSpace:"pre",wordWrap:"normal",boxSizing:"border-box",minHeight:"100%",padding:"4px 0",outline:"none","&[contenteditable=true]":{WebkitUserModify:"read-write-plaintext-only"}},".cm-lineWrapping":{whiteSpace_fallback:"pre-wrap",whiteSpace:"break-spaces",wordBreak:"break-word",overflowWrap:"anywhere",flexShrink:1},"&light .cm-content":{caretColor:"black"},"&dark .cm-content":{caretColor:"white"},".cm-line":{display:"block",padding:"0 2px 0 6px"},".cm-layer":{userSelect:"none",position:"absolute",left:0,top:0,contain:"size style","& > *":{position:"absolute"}},"&light .cm-selectionBackground":{background:"#d9d9d9"},"&dark .cm-selectionBackground":{background:"#222"},"&light.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#d7d4f0"},"&dark.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#233"},".cm-cursorLayer":{pointerEvents:"none"},"&.cm-focused > .cm-scroller > .cm-cursorLayer":{animation:"steps(1) cm-blink 1.2s infinite"},"@keyframes cm-blink":{"0%":{},"50%":{opacity:0},"100%":{}},"@keyframes cm-blink2":{"0%":{},"50%":{opacity:0},"100%":{}},".cm-cursor, .cm-dropCursor":{borderLeft:"1.2px solid black",marginLeft:"-0.6px",pointerEvents:"none"},".cm-cursor":{display:"none"},"&dark .cm-cursor":{borderLeftColor:"#ddd"},".cm-selectionHandle":{backgroundColor:"currentColor",width:"1.5px"},".cm-selectionHandle-start::before, .cm-selectionHandle-end::before":{content:'""',backgroundColor:"inherit",borderRadius:"50%",width:"8px",height:"8px",position:"absolute",left:"-3.25px"},".cm-selectionHandle-start::before":{top:"-8px"},".cm-selectionHandle-end::before":{bottom:"-8px"},".cm-dropCursor":{position:"absolute"},"&.cm-focused > .cm-scroller > .cm-cursorLayer .cm-cursor":{display:"block"},".cm-iso":{unicodeBidi:"isolate"},".cm-announced":{position:"fixed",top:"-10000px"},"@media print":{".cm-announced":{display:"none"}},"&light .cm-activeLine":{backgroundColor:"#cceeff44"},"&dark .cm-activeLine":{backgroundColor:"#99eeff33"},"&light .cm-specialChar":{color:"red"},"&dark .cm-specialChar":{color:"#f78"},".cm-gutters":{flexShrink:0,display:"flex",height:"100%",boxSizing:"border-box",zIndex:200},".cm-gutters-before":{insetInlineStart:0},".cm-gutters-after":{insetInlineEnd:0},"&light .cm-gutters":{backgroundColor:"#f5f5f5",color:"#6c6c6c",border:"0px solid #ddd","&.cm-gutters-before":{borderRightWidth:"1px"},"&.cm-gutters-after":{borderLeftWidth:"1px"}},"&dark .cm-gutters":{backgroundColor:"#333338",color:"#ccc"},".cm-gutter":{display:"flex !important",flexDirection:"column",flexShrink:0,boxSizing:"border-box",minHeight:"100%",overflow:"hidden"},".cm-gutterElement":{boxSizing:"border-box"},".cm-lineNumbers .cm-gutterElement":{padding:"0 3px 0 5px",minWidth:"20px",textAlign:"right",whiteSpace:"nowrap"},"&light .cm-activeLineGutter":{backgroundColor:"#e2f2ff"},"&dark .cm-activeLineGutter":{backgroundColor:"#222227"},".cm-panels":{boxSizing:"border-box",position:"sticky",left:0,right:0,zIndex:300},"&light .cm-panels":{backgroundColor:"#f5f5f5",color:"black"},"&light .cm-panels-top":{borderBottom:"1px solid #ddd"},"&light .cm-panels-bottom":{borderTop:"1px solid #ddd"},"&dark .cm-panels":{backgroundColor:"#333338",color:"white"},".cm-dialog":{padding:"2px 19px 4px 6px",position:"relative","& label":{fontSize:"80%"}},".cm-dialog-close":{position:"absolute",top:"3px",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",fontSize:"14px",padding:"0"},".cm-tab":{display:"inline-block",overflow:"hidden",verticalAlign:"bottom"},".cm-widgetBuffer":{verticalAlign:"text-top",height:"1em",width:0,display:"inline"},".cm-placeholder":{color:"#888",display:"inline-block",verticalAlign:"top",userSelect:"none"},".cm-highlightSpace":{backgroundImage:"radial-gradient(circle at 50% 55%, #aaa 20%, transparent 5%)",backgroundPosition:"center"},".cm-highlightTab":{backgroundImage:`url('data:image/svg+xml,')`,backgroundSize:"auto 100%",backgroundPosition:"right 90%",backgroundRepeat:"no-repeat"},".cm-trailingSpace":{backgroundColor:"#ff332255"},".cm-button":{verticalAlign:"middle",color:"inherit",fontSize:"70%",padding:".2em 1em",borderRadius:"1px"},"&light .cm-button":{backgroundImage:"linear-gradient(#eff1f5, #d9d9df)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#b4b4b4, #d0d3d6)"}},"&dark .cm-button":{backgroundImage:"linear-gradient(#393939, #111)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#111, #333)"}},".cm-textfield":{verticalAlign:"middle",color:"inherit",fontSize:"70%",border:"1px solid silver",padding:".2em .5em"},"&light .cm-textfield":{backgroundColor:"white"},"&dark .cm-textfield":{border:"1px solid #555",backgroundColor:"inherit"}},Lu),zQ={childList:!0,characterData:!0,subtree:!0,attributes:!0,characterDataOldValue:!0},aa=L.ie&&L.ie_version<=11,Da=class{constructor(e){this.view=e,this.active=!1,this.editContext=null,this.selectionRange=new Oa,this.selectionChanged=!1,this.delayedFlush=-1,this.resizeTimeout=-1,this.queue=[],this.delayedAndroidKey=null,this.flushingAndroidKey=-1,this.lastChange=0,this.scrollTargets=[],this.intersection=null,this.resizeScroll=null,this.intersecting=!1,this.gapIntersection=null,this.gaps=[],this.printQuery=null,this.parentCheck=-1,this.dom=e.contentDOM,this.observer=new MutationObserver(t=>{for(let n of t)this.queue.push(n);(L.ie&&L.ie_version<=11||L.ios&&e.composing)&&t.some(n=>n.type=="childList"&&n.removedNodes.length||n.type=="characterData"&&n.oldValue.length>n.target.nodeValue.length)?this.flushSoon():this.flush()}),window.EditContext&&L.android&&e.constructor.EDIT_CONTEXT!==!1&&!(L.chrome&&L.chrome_version<126)&&(this.editContext=new Ya(e),e.state.facet(Mt)&&(e.contentDOM.editContext=this.editContext.editContext)),aa&&(this.onCharData=t=>{this.queue.push({target:t.target,type:"characterData",oldValue:t.prevValue}),this.flushSoon()}),this.onSelectionChange=this.onSelectionChange.bind(this),this.onResize=this.onResize.bind(this),this.onPrint=this.onPrint.bind(this),this.onScroll=this.onScroll.bind(this),window.matchMedia&&(this.printQuery=window.matchMedia("print")),typeof ResizeObserver=="function"&&(this.resizeScroll=new ResizeObserver(()=>{var t;((t=this.view.docView)===null||t===void 0?void 0:t.lastUpdate){this.parentCheck<0&&(this.parentCheck=setTimeout(this.listenForScroll.bind(this),1e3)),t.length>0&&t[t.length-1].intersectionRatio>0!=this.intersecting&&(this.intersecting=!this.intersecting,this.intersecting!=this.view.inView&&this.onScrollChanged(document.createEvent("Event")))},{threshold:[0,.001]}),this.intersection.observe(this.dom),this.gapIntersection=new IntersectionObserver(t=>{t.length>0&&t[t.length-1].intersectionRatio>0&&this.onScrollChanged(document.createEvent("Event"))},{})),this.listenForScroll(),this.readSelectionRange()}onScrollChanged(e){this.view.inputState.runHandlers("scroll",e),this.intersecting&&this.view.measure()}onScroll(e){this.intersecting&&this.flush(!1),this.editContext&&this.view.requestMeasure(this.editContext.measureReq),this.onScrollChanged(e)}onResize(){this.resizeTimeout<0&&(this.resizeTimeout=setTimeout(()=>{this.resizeTimeout=-1,this.view.requestMeasure()},50))}onPrint(e){(e.type=="change"||!e.type)&&!e.matches||(this.view.viewState.printing=!0,this.view.measure(),setTimeout(()=>{this.view.viewState.printing=!1,this.view.requestMeasure()},500))}updateGaps(e){if(this.gapIntersection&&(e.length!=this.gaps.length||this.gaps.some((t,n)=>t!=e[n]))){this.gapIntersection.disconnect();for(let t of e)this.gapIntersection.observe(t);this.gaps=e}}onSelectionChange(e){let t=this.selectionChanged;if(!this.readSelectionRange()||this.delayedAndroidKey)return;let{view:n}=this,r=this.selectionRange;if(n.state.facet(Mt)?n.root.activeElement!=this.dom:!Nn(this.dom,r))return;let s=r.anchorNode&&n.docView.tile.nearest(r.anchorNode);if(s&&s.isWidget()&&s.widget.ignoreEvent(e)){t||(this.selectionChanged=!1);return}(L.ie&&L.ie_version<=11||L.android&&L.chrome)&&!n.state.selection.main.empty&&r.focusNode&&Fn(r.focusNode,r.focusOffset,r.anchorNode,r.anchorOffset)?this.flushSoon():this.flush(!1)}readSelectionRange(){let{view:e}=this,t=rr(e.root);if(!t)return!1;let n=L.safari&&e.root.nodeType==11&&e.root.activeElement==this.dom&&LQ(this.view,t)||t;if(!n||this.selectionRange.eq(n))return!1;let r=Nn(this.dom,n);return r&&!this.selectionChanged&&e.inputState.lastFocusTime>Date.now()-200&&e.inputState.lastTouchTime{let s=this.delayedAndroidKey;s&&(this.clearDelayedAndroidKey(),this.view.inputState.lastKeyCode=s.keyCode,this.view.inputState.lastKeyTime=Date.now(),!this.flush()&&s.force&&un(this.dom,s.key,s.keyCode))};this.flushingAndroidKey=this.view.win.requestAnimationFrame(r)}(!this.delayedAndroidKey||e=="Enter")&&(this.delayedAndroidKey={key:e,keyCode:t,force:this.lastChange{this.delayedFlush=-1,this.flush()}))}forceFlush(){this.delayedFlush>=0&&(this.view.win.cancelAnimationFrame(this.delayedFlush),this.delayedFlush=-1),this.flush()}pendingRecords(){for(let e of this.observer.takeRecords())this.queue.push(e);return this.queue}processRecords(){let e=this.pendingRecords();e.length&&(this.queue=[]);let t=-1,n=-1,r=!1;for(let s of e){let o=this.readMutation(s);o&&(o.typeOver&&(r=!0),t==-1?{from:t,to:n}=o:(t=Math.min(o.from,t),n=Math.max(o.to,n)))}return{from:t,to:n,typeOver:r}}readChange(){let{from:e,to:t,typeOver:n}=this.processRecords(),r=this.selectionChanged&&Nn(this.dom,this.selectionRange);if(e<0&&!r)return null;e>-1&&(this.lastChange=Date.now()),this.view.inputState.lastFocusTime=0,this.selectionChanged=!1;let s=new Ca(this.view,e,t,n);return this.view.docView.domChanged={newSel:s.newSel?s.newSel.main:null},s}flush(e=!0){if(this.delayedFlush>=0||this.delayedAndroidKey)return!1;e&&this.readSelectionRange();let t=this.readChange();if(!t)return this.view.requestMeasure(),!1;let n=this.view.state,r=vu(this.view,t);return this.view.state==n&&(t.domChanged||t.newSel&&!ms(this.view.state.selection,t.newSel.main))&&this.view.update([]),r}readMutation(e){let t=this.view.docView.tile.nearest(e.target);if(!t||t.isWidget())return null;if(t.markDirty(e.type=="attributes"),e.type=="childList"){let n=Yf(t,e.previousSibling||e.target.previousSibling,-1),r=Yf(t,e.nextSibling||e.target.nextSibling,1);return{from:n?t.posAfter(n):t.posAtStart,to:r?t.posBefore(r):t.posAtEnd,typeOver:!1}}else return e.type=="characterData"?{from:t.posAtStart,to:t.posAtEnd,typeOver:e.target.nodeValue==e.oldValue}:null}setWindow(e){e!=this.win&&(this.removeWindowListeners(this.win),this.win=e,this.addWindowListeners(this.win))}addWindowListeners(e){e.addEventListener("resize",this.onResize),this.printQuery?this.printQuery.addEventListener?this.printQuery.addEventListener("change",this.onPrint):this.printQuery.addListener(this.onPrint):e.addEventListener("beforeprint",this.onPrint),e.addEventListener("scroll",this.onScroll),e.document.addEventListener("selectionchange",this.onSelectionChange)}removeWindowListeners(e){e.removeEventListener("scroll",this.onScroll),e.removeEventListener("resize",this.onResize),this.printQuery?this.printQuery.removeEventListener?this.printQuery.removeEventListener("change",this.onPrint):this.printQuery.removeListener(this.onPrint):e.removeEventListener("beforeprint",this.onPrint),e.document.removeEventListener("selectionchange",this.onSelectionChange)}update(e){this.editContext&&(this.editContext.update(e),e.startState.facet(Mt)!=e.state.facet(Mt)&&(e.view.contentDOM.editContext=e.state.facet(Mt)?this.editContext.editContext:null))}destroy(){var e,t,n;this.stop(),(e=this.intersection)===null||e===void 0||e.disconnect(),(t=this.gapIntersection)===null||t===void 0||t.disconnect(),(n=this.resizeScroll)===null||n===void 0||n.disconnect();for(let r of this.scrollTargets)r.removeEventListener("scroll",this.onScroll);this.removeWindowListeners(this.win),clearTimeout(this.parentCheck),clearTimeout(this.resizeTimeout),this.win.cancelAnimationFrame(this.delayedFlush),this.win.cancelAnimationFrame(this.flushingAndroidKey),this.editContext&&(this.view.contentDOM.editContext=null,this.editContext.destroy())}};function Yf(i,e,t){for(;e;){let n=ue.get(e);if(n&&n.parent==i)return n;let r=e.parentNode;e=r!=i.dom?r:t>0?e.nextSibling:e.previousSibling}return null}function If(i,e){let t=e.startContainer,n=e.startOffset,r=e.endContainer,s=e.endOffset,o=i.docView.domAtPos(i.state.selection.main.anchor,1);return Fn(o.node,o.offset,r,s)&&([t,n,r,s]=[r,s,t,n]),{anchorNode:t,anchorOffset:n,focusNode:r,focusOffset:s}}function LQ(i,e){if(e.getComposedRanges){let r=e.getComposedRanges(i.root)[0];if(r)return If(i,r)}let t=null;function n(r){r.preventDefault(),r.stopImmediatePropagation(),t=r.getTargetRanges()[0]}return i.contentDOM.addEventListener("beforeinput",n,!0),i.dom.ownerDocument.execCommand("indent"),i.contentDOM.removeEventListener("beforeinput",n,!0),t?If(i,t):null}var Ya=class{constructor(e){this.from=0,this.to=0,this.pendingContextChange=null,this.handlers=Object.create(null),this.composing=null,this.resetRange(e.state);let t=this.editContext=new window.EditContext({text:e.state.doc.sliceString(this.from,this.to),selectionStart:this.toContextPos(Math.max(this.from,Math.min(this.to,e.state.selection.main.anchor))),selectionEnd:this.toContextPos(e.state.selection.main.head)});this.handlers.textupdate=n=>{let r=e.state.selection.main,{anchor:s,head:o}=r,a=this.toEditorPos(n.updateRangeStart),l=this.toEditorPos(n.updateRangeEnd);e.inputState.composing>=0&&!this.composing&&(this.composing={contextBase:n.updateRangeStart,editorBase:a,drifted:!1});let c=l-a>n.text.length;a==this.from&&sthis.to&&(l=s);let h=$u(e.state.sliceDoc(a,l),n.text,(c?r.from:r.to)-a,c?"end":null);if(!h){let u=v.single(this.toEditorPos(n.selectionStart),this.toEditorPos(n.selectionEnd));ms(u,r)||e.dispatch({selection:u,userEvent:"select"});return}let f={from:h.from+a,to:h.toA+a,insert:J.of(n.text.slice(h.from,h.toB).split(` +`))};if((L.mac||L.android)&&f.from==o-1&&/^\. ?$/.test(n.text)&&e.contentDOM.getAttribute("autocorrect")=="off"&&(f={from:a,to:l,insert:J.of([n.text.replace("."," ")])}),this.pendingContextChange=f,!e.state.readOnly){let u=this.to-this.from+(f.to-f.from+f.insert.length);Ja(e,f,v.single(this.toEditorPos(n.selectionStart,u),this.toEditorPos(n.selectionEnd,u)))}this.pendingContextChange&&(this.revertPending(e.state),this.setSelection(e.state)),f.from=0&&!/[\\p{Alphabetic}\\p{Number}_]/.test(t.text.slice(Math.max(0,n.updateRangeStart-1),Math.min(t.text.length,n.updateRangeStart+1)))&&this.handlers.compositionend(n)},this.handlers.characterboundsupdate=n=>{let r=[],s=null;for(let o=this.toEditorPos(n.rangeStart),a=this.toEditorPos(n.rangeEnd);o{let r=[];for(let s of n.getTextFormats()){let o=s.underlineStyle,a=s.underlineThickness;if(!/none/i.test(o)&&!/none/i.test(a)){let l=this.toEditorPos(s.rangeStart),c=this.toEditorPos(s.rangeEnd);if(l{e.inputState.composing<0&&(e.inputState.composing=0,e.inputState.compositionFirstChange=!0)},this.handlers.compositionend=()=>{if(e.inputState.composing=-1,e.inputState.compositionFirstChange=null,this.composing){let{drifted:n}=this.composing;this.composing=null,n&&this.reset(e.state)}};for(let n in this.handlers)t.addEventListener(n,this.handlers[n]);this.measureReq={read:n=>{let r=rr(n.root);r&&r.rangeCount&&this.editContext.updateSelectionBounds(r.getRangeAt(0).getBoundingClientRect())}}}applyEdits(e){let t=0,n=!1,r=this.pendingContextChange;return e.changes.iterChanges((s,o,a,l,c)=>{if(n)return;let h=c.length-(o-s);if(r&&o>=r.to)if(r.from==s&&r.to==o&&r.insert.eq(c)){r=this.pendingContextChange=null,t+=h,this.to+=h;return}else r=null,this.revertPending(e.state);if(s+=t,o+=t,o<=this.from)this.from+=h,this.to+=h;else if(sthis.to||this.to-this.from+c.length>3e4){n=!0;return}this.editContext.updateText(this.toContextPos(s),this.toContextPos(o),c.toString()),this.to+=h}t+=h}),r&&!n&&this.revertPending(e.state),!n}update(e){let t=this.pendingContextChange,n=e.startState.selection.main;this.composing&&(this.composing.drifted||!e.changes.touchesRange(n.from,n.to)&&e.transactions.some(r=>!r.isUserEvent("input.type")&&r.changes.touchesRange(this.from,this.to)))?(this.composing.drifted=!0,this.composing.editorBase=e.changes.mapPos(this.composing.editorBase)):!this.applyEdits(e)||!this.rangeIsValid(e.state)?(this.pendingContextChange=null,this.reset(e.state)):(e.docChanged||e.selectionSet||t)&&this.setSelection(e.state),(e.geometryChanged||e.docChanged||e.selectionSet)&&e.view.requestMeasure(this.measureReq)}resetRange(e){let{head:t}=e.selection.main;this.from=Math.max(0,t-1e4),this.to=Math.min(e.doc.length,t+1e4)}reset(e){this.resetRange(e),this.editContext.updateText(0,this.editContext.text.length,e.doc.sliceString(this.from,this.to)),this.setSelection(e)}revertPending(e){let t=this.pendingContextChange;this.pendingContextChange=null,this.editContext.updateText(this.toContextPos(t.from),this.toContextPos(t.from+t.insert.length),e.doc.sliceString(t.from,t.to))}setSelection(e){let{main:t}=e.selection,n=this.toContextPos(Math.max(this.from,Math.min(this.to,t.anchor))),r=this.toContextPos(t.head);(this.editContext.selectionStart!=n||this.editContext.selectionEnd!=r)&&this.editContext.updateSelection(n,r)}rangeIsValid(e){let{head:t}=e.selection.main;return!(this.from>0&&t-this.from<500||this.to1e4*3)}toEditorPos(e,t=this.to-this.from){e=Math.min(e,t);let n=this.composing;return n&&n.drifted?n.editorBase+(e-n.contextBase):e+this.from}toContextPos(e){let t=this.composing;return t&&t.drifted?t.contextBase+(e-t.editorBase):e-this.from}destroy(){for(let e in this.handlers)this.editContext.removeEventListener(e,this.handlers[e])}},q=class i{get state(){return this.viewState.state}get viewport(){return this.viewState.viewport}get visibleRanges(){return this.viewState.visibleRanges}get inView(){return this.viewState.inView}get composing(){return!!this.inputState&&this.inputState.composing>0}get compositionStarted(){return!!this.inputState&&this.inputState.composing>=0}get root(){return this._root}get win(){return this.dom.ownerDocument.defaultView||window}constructor(e={}){var t;this.plugins=[],this.pluginMap=new Map,this.editorAttrs={},this.contentAttrs={},this.bidiCache=[],this.destroyed=!1,this.updateState=2,this.measureScheduled=-1,this.measureRequests=[],this.contentDOM=document.createElement("div"),this.scrollDOM=document.createElement("div"),this.scrollDOM.tabIndex=-1,this.scrollDOM.className="cm-scroller",this.scrollDOM.appendChild(this.contentDOM),this.announceDOM=document.createElement("div"),this.announceDOM.className="cm-announced",this.announceDOM.setAttribute("aria-live","polite"),this.dom=document.createElement("div"),this.dom.appendChild(this.announceDOM),this.dom.appendChild(this.scrollDOM),e.parent&&e.parent.appendChild(this.dom);let{dispatch:n}=e;this.dispatchTransactions=e.dispatchTransactions||n&&(r=>r.forEach(s=>n(s,this)))||(r=>this.update(r)),this.dispatch=this.dispatch.bind(this),this._root=e.root||C0(e.parent)||document,this.viewState=new bs(this,e.state||se.create(e)),e.scrollTo&&e.scrollTo.is(es)&&(this.viewState.scrollTarget=e.scrollTo.value.clip(this.viewState.state)),this.plugins=this.state.facet(cn).map(r=>new Kn(r));for(let r of this.plugins)r.update(this);this.observer=new Da(this),this.inputState=new Xa(this),this.inputState.ensureHandlers(this.plugins),this.docView=new ds(this),this.mountStyles(),this.updateAttrs(),this.updateState=0,this.requestMeasure(),!((t=document.fonts)===null||t===void 0)&&t.ready&&document.fonts.ready.then(()=>{this.viewState.mustMeasureContent="refresh",this.requestMeasure()})}dispatch(...e){let t=e.length==1&&e[0]instanceof pe?e:e.length==1&&Array.isArray(e[0])?e[0]:[this.state.update(...e)];this.dispatchTransactions(t,this)}update(e){if(this.updateState!=0)throw new Error("Calls to EditorView.update are not allowed while an update is in progress");let t=!1,n=!1,r,s=this.state;for(let u of e){if(u.startState!=s)throw new RangeError("Trying to update state with a transaction that doesn't start from the previous state.");s=u.state}if(this.destroyed){this.viewState.state=s;return}let o=this.hasFocus,a=0,l=null;e.some(u=>u.annotation(Au))?(this.inputState.notifiedFocused=o,a=1):o!=this.inputState.notifiedFocused&&(this.inputState.notifiedFocused=o,l=Zu(s,o),l||(a=1));let c=this.observer.delayedAndroidKey,h=null;if(c?(this.observer.clearDelayedAndroidKey(),h=this.observer.readChange(),(h&&!this.state.doc.eq(s.doc)||!this.state.selection.eq(s.selection))&&(h=null)):this.observer.clear(),s.facet(se.phrases)!=this.state.facet(se.phrases))return this.setState(s);r=us.create(this,s,e),r.flags|=a;let f=this.viewState.scrollTarget;try{this.updateState=2;for(let u of e){if(f&&(f=f.map(u.changes)),u.scrollIntoView){let{main:O}=u.state.selection,{x:m,y:p}=this.state.facet(i.cursorScrollMargin);f=new Hn(O.empty?O:v.cursor(O.head,O.head>O.anchor?-1:1),"nearest","nearest",p,m)}for(let O of u.effects)O.is(es)&&(f=O.value.clip(this.state))}this.viewState.update(r,f),this.bidiCache=Ss.update(this.bidiCache,r.changes),r.empty||(this.updatePlugins(r),this.inputState.update(r)),t=this.docView.update(r),this.state.facet(Bn)!=this.styleModules&&this.mountStyles(),n=this.updateAttrs(),this.showAnnouncements(e),this.docView.updateSelection(t,e.some(u=>u.isUserEvent("select.pointer")))}finally{this.updateState=0}if(r.startState.facet(ss)!=r.state.facet(ss)&&(this.viewState.mustMeasureContent=!0),(t||n||f||this.viewState.mustEnforceCursorAssoc||this.viewState.mustMeasureContent)&&this.requestMeasure(),t&&this.docViewUpdate(),!r.empty)for(let u of this.state.facet(ga))try{u(r)}catch(O){ht(this.state,O,"update listener")}(l||h)&&Promise.resolve().then(()=>{l&&this.state==l.startState&&this.dispatch(l),h&&!vu(this,h)&&c.force&&un(this.contentDOM,c.key,c.keyCode)})}setState(e){if(this.updateState!=0)throw new Error("Calls to EditorView.setState are not allowed while an update is in progress");if(this.destroyed){this.viewState.state=e;return}this.updateState=2;let t=this.hasFocus;try{for(let n of this.plugins)n.destroy(this);this.viewState=new bs(this,e),this.plugins=e.facet(cn).map(n=>new Kn(n)),this.pluginMap.clear();for(let n of this.plugins)n.update(this);this.docView.destroy(),this.docView=new ds(this),this.inputState.ensureHandlers(this.plugins),this.mountStyles(),this.updateAttrs(),this.bidiCache=[]}finally{this.updateState=0}t&&this.focus(),this.requestMeasure()}updatePlugins(e){let t=e.startState.facet(cn),n=e.state.facet(cn);if(t!=n){let r=[];for(let s of n){let o=t.indexOf(s);if(o<0)r.push(new Kn(s));else{let a=this.plugins[o];a.mustUpdate=e,r.push(a)}}for(let s of this.plugins)s.mustUpdate!=e&&s.destroy(this);this.plugins=r,this.pluginMap.clear()}else for(let r of this.plugins)r.mustUpdate=e;for(let r=0;r-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.observer.delayedAndroidKey){this.measureScheduled=-1,this.requestMeasure();return}this.measureScheduled=0,e&&this.observer.forceFlush();let t=null,n=this.viewState.scrollParent,r=this.viewState.getScrollOffset(),{scrollAnchorPos:s,scrollAnchorHeight:o}=this.viewState;Math.abs(r-this.viewState.scrollOffset)>1&&(o=-1),this.viewState.scrollAnchorHeight=-1;try{for(let a=0;;a++){if(o<0)if(eu(n||this.win))s=-1,o=this.viewState.heightMap.height;else{let O=this.viewState.scrollAnchorAt(r);s=O.from,o=O.top}this.updateState=1;let l=this.viewState.measure();if(!l&&!this.measureRequests.length&&this.viewState.scrollTarget==null)break;if(a>5){console.warn(this.measureRequests.length?"Measure loop restarted more than 5 times":"Viewport failed to stabilize");break}let c=[];l&4||([this.measureRequests,c]=[c,this.measureRequests]);let h=c.map(O=>{try{return O.read(this)}catch(m){return ht(this.state,m),Bf}}),f=us.create(this,this.state,[]),u=!1;f.flags|=l,t?t.flags|=l:t=f,this.updateState=2,f.empty||(this.updatePlugins(f),this.inputState.update(f),this.updateAttrs(),u=this.docView.update(f),u&&this.docViewUpdate());for(let O=0;O1||m<-1)&&!(L.ios&&this.inputState.lastIOSMomentumScroll>Date.now()-100)&&(n==this.scrollDOM||this.hasFocus||Math.max(this.inputState.lastWheelEvent,this.inputState.lastTouchTime)>Date.now()-100)){r=r+m,n?n.scrollTop+=m:this.win.scrollBy(0,m),o=-1;continue}}break}}}finally{this.updateState=0,this.measureScheduled=-1}if(t&&!t.empty)for(let a of this.state.facet(ga))a(t)}get themeClasses(){return ja+" "+(this.state.facet(Wa)?zu:qu)+" "+this.state.facet(ss)}updateAttrs(){let e=Uf(this,gu,{class:"cm-editor"+(this.hasFocus?" cm-focused ":" ")+this.themeClasses}),t={spellcheck:"false",autocorrect:"off",autocapitalize:"off",writingsuggestions:"false",translate:"no",contenteditable:this.state.facet(Mt)?"true":"false",class:"cm-content",style:`${L.tabSize}: ${this.state.tabSize}`,role:"textbox","aria-multiline":"true"};this.state.readOnly&&(t["aria-readonly"]="true"),Uf(this,Ha,t);let n=this.observer.ignore(()=>{let r=Pf(this.contentDOM,this.contentAttrs,t),s=Pf(this.dom,this.editorAttrs,e);return r||s});return this.editorAttrs=e,this.contentAttrs=t,n}showAnnouncements(e){let t=!0;for(let n of e)for(let r of n.effects)if(r.is(i.announce)){t&&(this.announceDOM.textContent=""),t=!1;let s=this.announceDOM.appendChild(document.createElement("div"));s.textContent=r.value}}mountStyles(){this.styleModules=this.state.facet(Bn);let e=this.state.facet(i.cspNonce);ot.mount(this.root,this.styleModules.concat(qQ).reverse(),e?{nonce:e}:void 0)}readMeasured(){if(this.updateState==2)throw new Error("Reading the editor layout isn't allowed during an update");this.updateState==0&&this.measureScheduled>-1&&this.measure(!1)}requestMeasure(e){if(this.measureScheduled<0&&(this.measureScheduled=this.win.requestAnimationFrame(()=>this.measure())),e){if(this.measureRequests.indexOf(e)>-1)return;if(e.key!=null){for(let t=0;tn.plugin==e)||null),t&&t.update(this).value}get documentTop(){return this.contentDOM.getBoundingClientRect().top+this.viewState.paddingTop}get documentPadding(){return{top:this.viewState.paddingTop,bottom:this.viewState.paddingBottom}}get scaleX(){return this.viewState.scaleX}get scaleY(){return this.viewState.scaleY}elementAtHeight(e){return this.readMeasured(),this.viewState.elementAtHeight(e)}lineBlockAtHeight(e){return this.readMeasured(),this.viewState.lineBlockAtHeight(e)}get viewportLineBlocks(){return this.viewState.viewportLines}lineBlockAt(e){return this.viewState.lineBlockAt(e)}get contentHeight(){return this.viewState.contentHeight}moveByChar(e,t,n){return oa(this,e,_f(this,e,t,n))}moveByGroup(e,t){return oa(this,e,_f(this,e,t,n=>oQ(this,e.head,n)))}visualLineSide(e,t){let n=this.bidiSpans(e),r=this.textDirectionAt(e.from),s=n[t?n.length-1:0];return v.cursor(s.side(t,r)+e.from,s.forward(!t,r)?1:-1)}moveToLineBoundary(e,t,n=!0){return sQ(this,e,t,n)}moveVertically(e,t,n){return oa(this,e,aQ(this,e,t,n))}domAtPos(e,t=1){return this.docView.domAtPos(e,t)}posAtDOM(e,t=0){return this.docView.posFromDOM(e,t)}posAtCoords(e,t=!0){this.readMeasured();let n=va(this,e,t);return n&&n.pos}posAndSideAtCoords(e,t=!0){return this.readMeasured(),va(this,e,t)}coordsAtPos(e,t=1){this.readMeasured();let n=this.state.doc.lineAt(e),r=this.bidiSpans(n),s=r[ct.find(r,e-n.from,-1,t)];return this.docView.coordsAt(e,t,s.dir==Oe.RTL)}coordsForChar(e){return this.readMeasured(),this.docView.coordsForChar(e)}get defaultCharacterWidth(){return this.viewState.heightOracle.charWidth}get defaultLineHeight(){return this.viewState.heightOracle.lineHeight}get textDirection(){return this.viewState.defaultTextDirection}textDirectionAt(e){return!this.state.facet(du)||ethis.viewport.to?this.textDirection:(this.readMeasured(),this.docView.textDirectionAt(e))}get lineWrapping(){return this.viewState.heightOracle.lineWrapping}bidiSpans(e){if(e.length>MQ)return ou(e.length);let t=this.textDirectionAt(e.from),n;for(let s of this.bidiCache)if(s.from==e.from&&s.dir==t&&(s.fresh||su(s.isolates,n=Tf(this,e))))return s.order;n||(n=Tf(this,e));let r=z0(e.text,t,n);return this.bidiCache.push(new Ss(e.from,e.to,t,n,!0,r)),r}get hasFocus(){var e;return(this.dom.ownerDocument.hasFocus()||L.safari&&((e=this.inputState)===null||e===void 0?void 0:e.lastContextMenu)>Date.now()-3e4)&&this.root.activeElement==this.contentDOM}focus(){this.observer.ignore(()=>{Jf(this.contentDOM),this.docView.updateSelection()})}setRoot(e){this._root!=e&&(this._root=e,this.observer.setWindow((e.nodeType==9?e:e.ownerDocument).defaultView||window),this.mountStyles())}destroy(){this.root.activeElement==this.contentDOM&&this.contentDOM.blur();for(let e of this.plugins)e.destroy(this);this.plugins=[],this.inputState.destroy(),this.docView.destroy(),this.dom.remove(),this.observer.destroy(),this.measureScheduled>-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.destroyed=!0}static scrollIntoView(e,t={}){var n,r,s,o;return es.of(new Hn(typeof e=="number"?v.cursor(e):e,(n=t.y)!==null&&n!==void 0?n:"nearest",(r=t.x)!==null&&r!==void 0?r:"nearest",(s=t.yMargin)!==null&&s!==void 0?s:5,(o=t.xMargin)!==null&&o!==void 0?o:5))}scrollSnapshot(){let{scrollTop:e,scrollLeft:t}=this.scrollDOM,n=this.viewState.scrollAnchorAt(e);return es.of(new Hn(v.cursor(n.from),"start","start",n.top-e,t,!0))}setTabFocusMode(e){e==null?this.inputState.tabFocusMode=this.inputState.tabFocusMode<0?0:-1:typeof e=="boolean"?this.inputState.tabFocusMode=e?0:-1:this.inputState.tabFocusMode!=0&&(this.inputState.tabFocusMode=Date.now()+e)}static domEventHandlers(e){return De.define(()=>({}),{eventHandlers:e})}static domEventObservers(e){return De.define(()=>({}),{eventObservers:e})}static theme(e,t){let n=ot.newName(),r=[ss.of(n),Bn.of(Va(`.${n}`,e))];return t&&t.dark&&r.push(Wa.of(!0)),r}static baseTheme(e){return st.lowest(Bn.of(Va("."+ja,e,Lu)))}static findFromDOM(e){var t;let n=e.querySelector(".cm-content"),r=n&&ue.get(n)||ue.get(e);return((t=r?.root)===null||t===void 0?void 0:t.view)||null}};q.styleModule=Bn;q.inputHandler=uu;q.clipboardInputFilter=Na;q.clipboardOutputFilter=Fa;q.scrollHandler=pu;q.focusChangeEffect=Ou;q.perLineTextDirection=du;q.exceptionSink=fu;q.updateListener=ga;q.editable=Mt;q.mouseSelectionStyle=hu;q.dragMovesSelection=cu;q.clickAddsSelectionRange=lu;q.decorations=ks;q.blockWrappers=Qu;q.outerDecorations=Ka;q.atomicRanges=or;q.bidiIsolatedRanges=bu;q.cursorScrollMargin=Y.define({combine:i=>{let e=5,t=5;for(let n of i)typeof n=="number"?e=t=n:{x:e,y:t}=n;return{x:e,y:t}}});q.scrollMargins=Su;q.darkTheme=Wa;q.cspNonce=Y.define({combine:i=>i.length?i[0]:""});q.contentAttributes=Ha;q.editorAttributes=gu;q.lineWrapping=q.contentAttributes.of({class:"cm-lineWrapping"});q.announce=ie.define();var MQ=4096,Bf={},Ss=class i{constructor(e,t,n,r,s,o){this.from=e,this.to=t,this.dir=n,this.isolates=r,this.fresh=s,this.order=o}static update(e,t){if(t.empty&&!e.some(s=>s.fresh))return e;let n=[],r=e.length?e[e.length-1].dir:Oe.LTR;for(let s=Math.max(0,e.length-10);s=0;r--){let s=n[r],o=typeof s=="function"?s(i):s;o&&Ba(o,t)}return t}var WQ=L.mac?"mac":L.windows?"win":L.linux?"linux":"key";function jQ(i,e){let t=i.split(/-(?!$)/),n=t[t.length-1];n=="Space"&&(n=" ");let r,s,o,a;for(let l=0;ln.concat(r),[]))),t}var si=null,YQ=4e3;function IQ(i,e=WQ){let t=Object.create(null),n=Object.create(null),r=(o,a)=>{let l=n[o];if(l==null)n[o]=a;else if(l!=a)throw new Error("Key binding "+o+" is used both as a regular binding and as a multi-stroke prefix")},s=(o,a,l,c,h)=>{var f,u;let O=t[o]||(t[o]=Object.create(null)),m=a.split(/ (?!$)/).map(g=>jQ(g,e));for(let g=1;g{let x=si={view:S,prefix:Q,scope:o};return setTimeout(()=>{si==x&&(si=null)},YQ),!0}]})}let p=m.join(" ");r(p,!1);let b=O[p]||(O[p]={preventDefault:!1,stopPropagation:!1,run:((u=(f=O._any)===null||f===void 0?void 0:f.run)===null||u===void 0?void 0:u.slice())||[]});l&&b.run.push(l),c&&(b.preventDefault=!0),h&&(b.stopPropagation=!0)};for(let o of i){let a=o.scope?o.scope.split(" "):["editor"];if(o.any)for(let c of a){let h=t[c]||(t[c]=Object.create(null));h._any||(h._any={preventDefault:!1,stopPropagation:!1,run:[]});let{any:f}=o;for(let u in h)h[u].run.push(O=>f(O,Ia))}let l=o[e]||o.key;if(l)for(let c of a)s(c,l,o.run,o.preventDefault,o.stopPropagation),o.shift&&s(c,"Shift-"+l,o.shift,o.preventDefault,o.stopPropagation)}return t}var Ia=null;function BQ(i,e,t,n){Ia=e;let r=yf(e),s=ri(r,0),o=on(s)==r.length&&r!=" ",a="",l=!1,c=!1,h=!1;si&&si.view==t&&si.scope==n&&(a=si.prefix+" ",Cu.indexOf(e.keyCode)<0&&(c=!0,si=null));let f=new Set,u=b=>{if(b){for(let g of b.run)if(!f.has(g)&&(f.add(g),g(t)))return b.stopPropagation&&(h=!0),!0;b.preventDefault&&(b.stopPropagation&&(h=!0),c=!0)}return!1},O=i[n],m,p;return O&&(u(O[a+os(r,e,!o)])?l=!0:o&&(e.altKey||e.metaKey||e.ctrlKey)&&!(L.windows&&e.ctrlKey&&e.altKey)&&!(L.mac&&e.altKey&&!(e.ctrlKey||e.metaKey))&&(m=Lt[e.keyCode])&&m!=r?(u(O[a+os(m,e,!0)])||e.shiftKey&&(p=an[e.keyCode])!=r&&p!=m&&u(O[a+os(p,e,!1)]))&&(l=!0):o&&e.shiftKey&&u(O[a+os(r,e,!0)])&&(l=!0),!l&&u(O._any)&&(l=!0)),c&&(l=!0),l&&h&&e.stopPropagation(),Ia=null,l}var Mu=ie.define({map(i,e){return i==null?null:e.mapPos(i)}}),Gn=fe.define({create(){return null},update(i,e){return i!=null&&(i=e.changes.mapPos(i)),e.effects.reduce((t,n)=>n.is(Mu)?n.value:t,i)}}),UQ=De.fromClass(class{constructor(i){this.view=i,this.cursor=null,this.measureReq={read:this.readPos.bind(this),write:this.drawCursor.bind(this)}}update(i){var e;let t=i.state.field(Gn);t==null?this.cursor!=null&&((e=this.cursor)===null||e===void 0||e.remove(),this.cursor=null):(this.cursor||(this.cursor=this.view.scrollDOM.appendChild(document.createElement("div")),this.cursor.className="cm-dropCursor"),(i.startState.field(Gn)!=t||i.docChanged||i.geometryChanged)&&this.view.requestMeasure(this.measureReq))}readPos(){let{view:i}=this,e=i.state.field(Gn),t=e!=null&&i.coordsAtPos(e);if(!t)return null;let n=i.scrollDOM.getBoundingClientRect();return{left:t.left-n.left+i.scrollDOM.scrollLeft*i.scaleX,top:t.top-n.top+i.scrollDOM.scrollTop*i.scaleY,height:t.bottom-t.top}}drawCursor(i){if(this.cursor){let{scaleX:e,scaleY:t}=this.view;i?(this.cursor.style.left=i.left/e+"px",this.cursor.style.top=i.top/t+"px",this.cursor.style.height=i.height/t+"px"):this.cursor.style.left="-100000px"}}destroy(){this.cursor&&this.cursor.remove()}setDropPos(i){this.view.state.field(Gn)!=i&&this.view.dispatch({effects:Mu.of(i)})}},{eventObservers:{dragover(i){this.setDropPos(this.view.posAtCoords({x:i.clientX,y:i.clientY}))},dragleave(i){(i.target==this.view.contentDOM||!this.view.contentDOM.contains(i.relatedTarget))&&this.setDropPos(null)},dragend(){this.setDropPos(null)},drop(){this.setDropPos(null)}}});function Wu(){return[Gn,UQ]}var h$=/x/.unicode!=null?"gu":"g";var Vt=class extends rt{compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}eq(e){return!1}destroy(e){}};Vt.prototype.elementClass="";Vt.prototype.toDOM=void 0;Vt.prototype.mapMode=ge.TrackBefore;Vt.prototype.startSide=Vt.prototype.endSide=-1;Vt.prototype.point=!0;var GQ=0,Ye=class{constructor(e,t){this.from=e,this.to=t}},I=class{constructor(e={}){this.id=GQ++,this.perNode=!!e.perNode,this.deserialize=e.deserialize||(()=>{throw new Error("This node type doesn't define a deserialize function")}),this.combine=e.combine||null}add(e){if(this.perNode)throw new RangeError("Can't add per-node props to node types");return typeof e!="function"&&(e=de.match(e)),t=>{let n=e(t);return n===void 0?null:[this,n]}}};I.closedBy=new I({deserialize:i=>i.split(" ")});I.openedBy=new I({deserialize:i=>i.split(" ")});I.group=new I({deserialize:i=>i.split(" ")});I.isolate=new I({deserialize:i=>{if(i&&i!="rtl"&&i!="ltr"&&i!="auto")throw new RangeError("Invalid value for isolate: "+i);return i||"auto"}});I.contextHash=new I({perNode:!0});I.lookAhead=new I({perNode:!0});I.mounted=new I({perNode:!0});var fi=class{constructor(e,t,n,r=!1){this.tree=e,this.overlay=t,this.parser=n,this.bracketed=r}static get(e){return e&&e.props&&e.props[I.mounted.id]}},NQ=Object.create(null),de=class i{constructor(e,t,n,r=0){this.name=e,this.props=t,this.id=n,this.flags=r}static define(e){let t=e.props&&e.props.length?Object.create(null):NQ,n=(e.top?1:0)|(e.skipped?2:0)|(e.error?4:0)|(e.name==null?8:0),r=new i(e.name||"",t,e.id,n);if(e.props){for(let s of e.props)if(Array.isArray(s)||(s=s(r)),s){if(s[0].perNode)throw new RangeError("Can't store a per-node prop on a node type");t[s[0].id]=s[1]}}return r}prop(e){return this.props[e.id]}get isTop(){return(this.flags&1)>0}get isSkipped(){return(this.flags&2)>0}get isError(){return(this.flags&4)>0}get isAnonymous(){return(this.flags&8)>0}is(e){if(typeof e=="string"){if(this.name==e)return!0;let t=this.prop(I.group);return t?t.indexOf(e)>-1:!1}return this.id==e}static match(e){let t=Object.create(null);for(let n in e)for(let r of n.split(" "))t[r]=e[n];return n=>{for(let r=n.prop(I.group),s=-1;s<(r?r.length:0);s++){let o=t[s<0?n.name:r[s]];if(o)return o}}}};de.none=new de("",Object.create(null),0,8);var Dt=class i{constructor(e){this.types=e;for(let t=0;t0;for(let l=this.cursor(o|te.IncludeAnonymous);;){let c=!1;if(l.from<=s&&l.to>=r&&(!a&&l.type.isAnonymous||t(l)!==!1)){if(l.firstChild())continue;c=!0}for(;c&&n&&(a||!l.type.isAnonymous)&&n(l),!l.nextSibling();){if(!l.parent())return;c=!0}}}prop(e){return e.perNode?this.props?this.props[e.id]:void 0:this.type.prop(e)}get propValues(){let e=[];if(this.props)for(let t in this.props)e.push([+t,this.props[t]]);return e}balance(e={}){return this.children.length<=8?this:hl(de.none,this.children,this.positions,0,this.children.length,0,this.length,(t,n,r)=>new i(this.type,t,n,r,this.propValues),e.makeTree||((t,n,r)=>new i(de.none,t,n,r)))}static build(e){return HQ(e)}};K.empty=new K(de.none,[],[],0);var el=class i{constructor(e,t){this.buffer=e,this.index=t}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}get pos(){return this.index}next(){this.index-=4}fork(){return new i(this.buffer,this.index)}},ui=class i{constructor(e,t,n){this.buffer=e,this.length=t,this.set=n}get type(){return de.none}toString(){let e=[];for(let t=0;t0));l=o[l+3]);return a}slice(e,t,n){let r=this.buffer,s=new Uint16Array(t-e),o=0;for(let a=e,l=0;a=e&&te;case 1:return t<=e&&n>e;case 2:return n>e;case 4:return!0}}function ar(i,e,t,n){for(var r;i.from==i.to||(t<1?i.from>=e:i.from>e)||(t>-1?i.to<=e:i.to0?a.length:-1;e!=c;e+=t){let h=a[e],f=l[e]+o.from,u;if(!(!(s&te.EnterBracketed&&h instanceof K&&(u=fi.get(h))&&!u.overlay&&u.bracketed&&n>=f&&n<=f+h.length)&&!Gu(r,n,f,f+h.length))){if(h instanceof ui){if(s&te.ExcludeBuffers)continue;let O=h.findChild(0,h.buffer.length,t,n-f,r);if(O>-1)return new zi(new il(o,h,e,f),null,O)}else if(s&te.IncludeAnonymous||!h.type.isAnonymous||cl(h)){let O;if(!(s&te.IgnoreMounts)&&(O=fi.get(h))&&!O.overlay)return new i(O.tree,f,e,o);let m=new i(h,f,e,o);return s&te.IncludeAnonymous||!m.type.isAnonymous?m:m.nextChild(t<0?h.children.length-1:0,t,n,r,s)}}}if(s&te.IncludeAnonymous||!o.type.isAnonymous||(o.index>=0?e=o.index+t:e=t<0?-1:o._parent._tree.children.length,o=o._parent,!o))return null}}get firstChild(){return this.nextChild(0,1,0,4)}get lastChild(){return this.nextChild(this._tree.children.length-1,-1,0,4)}childAfter(e){return this.nextChild(0,1,e,2)}childBefore(e){return this.nextChild(this._tree.children.length-1,-1,e,-2)}prop(e){return this._tree.prop(e)}enter(e,t,n=0){let r;if(!(n&te.IgnoreOverlays)&&(r=fi.get(this._tree))&&r.overlay){let s=e-this.from,o=n&te.EnterBracketed&&r.bracketed;for(let{from:a,to:l}of r.overlay)if((t>0||o?a<=s:a=s:l>s))return new i(r.tree,r.overlay[0].from+this.from,-1,this)}return this.nextChild(0,1,e,t,n)}nextSignificantParent(){let e=this;for(;e.type.isAnonymous&&e._parent;)e=e._parent;return e}get parent(){return this._parent?this._parent.nextSignificantParent():null}get nextSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index+1,1,0,4):null}get prevSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index-1,-1,0,4):null}get tree(){return this._tree}toTree(){return this._tree}toString(){return this._tree.toString()}};function Vu(i,e,t,n){let r=i.cursor(),s=[];if(!r.firstChild())return s;if(t!=null){for(let o=!1;!o;)if(o=r.type.is(t),!r.nextSibling())return s}for(;;){if(n!=null&&r.type.is(n))return s;if(r.type.is(e)&&s.push(r.node),!r.nextSibling())return n==null?s:[]}}function tl(i,e,t=e.length-1){for(let n=i;t>=0;n=n.parent){if(!n)return!1;if(!n.type.isAnonymous){if(e[t]&&e[t]!=n.name)return!1;t--}}return!0}var il=class{constructor(e,t,n,r){this.parent=e,this.buffer=t,this.index=n,this.start=r}},zi=class i extends vs{get name(){return this.type.name}get from(){return this.context.start+this.context.buffer.buffer[this.index+1]}get to(){return this.context.start+this.context.buffer.buffer[this.index+2]}constructor(e,t,n){super(),this.context=e,this._parent=t,this.index=n,this.type=e.buffer.set.types[e.buffer.buffer[n]]}child(e,t,n){let{buffer:r}=this.context,s=r.findChild(this.index+4,r.buffer[this.index+3],e,t-this.context.start,n);return s<0?null:new i(this.context,this,s)}get firstChild(){return this.child(1,0,4)}get lastChild(){return this.child(-1,0,4)}childAfter(e){return this.child(1,e,2)}childBefore(e){return this.child(-1,e,-2)}prop(e){return this.type.prop(e)}enter(e,t,n=0){if(n&te.ExcludeBuffers)return null;let{buffer:r}=this.context,s=r.findChild(this.index+4,r.buffer[this.index+3],t>0?1:-1,e-this.context.start,t);return s<0?null:new i(this.context,this,s)}get parent(){return this._parent||this.context.parent.nextSignificantParent()}externalSibling(e){return this._parent?null:this.context.parent.nextChild(this.context.index+e,e,0,4)}get nextSibling(){let{buffer:e}=this.context,t=e.buffer[this.index+3];return t<(this._parent?e.buffer[this._parent.index+3]:e.buffer.length)?new i(this.context,this._parent,t):this.externalSibling(1)}get prevSibling(){let{buffer:e}=this.context,t=this._parent?this._parent.index+4:0;return this.index==t?this.externalSibling(-1):new i(this.context,this._parent,e.findChild(t,this.index,-1,0,4))}get tree(){return null}toTree(){let e=[],t=[],{buffer:n}=this.context,r=this.index+4,s=n.buffer[this.index+3];if(s>r){let o=n.buffer[this.index+1];e.push(n.slice(r,s,o)),t.push(0)}return new K(this.type,e,t,this.to-this.from)}toString(){return this.context.buffer.childString(this.index)}};function Nu(i){if(!i.length)return null;let e=0,t=i[0];for(let s=1;st.from||o.to=e){let a=new Ie(o.tree,o.overlay[0].from+s.from,-1,s);(r||(r=[n])).push(ar(a,e,t,!1))}}return r?Nu(r):n}var Qn=class{get name(){return this.type.name}constructor(e,t=0){if(this.buffer=null,this.stack=[],this.index=0,this.bufferNode=null,this.mode=t&~te.EnterBracketed,e instanceof Ie)this.yieldNode(e);else{this._tree=e.context.parent,this.buffer=e.context;for(let n=e._parent;n;n=n._parent)this.stack.unshift(n.index);this.bufferNode=e,this.yieldBuf(e.index)}}yieldNode(e){return e?(this._tree=e,this.type=e.type,this.from=e.from,this.to=e.to,!0):!1}yieldBuf(e,t){this.index=e;let{start:n,buffer:r}=this.buffer;return this.type=t||r.set.types[r.buffer[e]],this.from=n+r.buffer[e+1],this.to=n+r.buffer[e+2],!0}yield(e){return e?e instanceof Ie?(this.buffer=null,this.yieldNode(e)):(this.buffer=e.context,this.yieldBuf(e.index,e.type)):!1}toString(){return this.buffer?this.buffer.buffer.childString(this.index):this._tree.toString()}enterChild(e,t,n){if(!this.buffer)return this.yield(this._tree.nextChild(e<0?this._tree._tree.children.length-1:0,e,t,n,this.mode));let{buffer:r}=this.buffer,s=r.findChild(this.index+4,r.buffer[this.index+3],e,t-this.buffer.start,n);return s<0?!1:(this.stack.push(this.index),this.yieldBuf(s))}firstChild(){return this.enterChild(1,0,4)}lastChild(){return this.enterChild(-1,0,4)}childAfter(e){return this.enterChild(1,e,2)}childBefore(e){return this.enterChild(-1,e,-2)}enter(e,t,n=this.mode){return this.buffer?n&te.ExcludeBuffers?!1:this.enterChild(1,e,t):this.yield(this._tree.enter(e,t,n))}parent(){if(!this.buffer)return this.yieldNode(this.mode&te.IncludeAnonymous?this._tree._parent:this._tree.parent);if(this.stack.length)return this.yieldBuf(this.stack.pop());let e=this.mode&te.IncludeAnonymous?this.buffer.parent:this.buffer.parent.nextSignificantParent();return this.buffer=null,this.yieldNode(e)}sibling(e){if(!this.buffer)return this._tree._parent?this.yield(this._tree.index<0?null:this._tree._parent.nextChild(this._tree.index+e,e,0,4,this.mode)):!1;let{buffer:t}=this.buffer,n=this.stack.length-1;if(e<0){let r=n<0?0:this.stack[n]+4;if(this.index!=r)return this.yieldBuf(t.findChild(r,this.index,-1,0,4))}else{let r=t.buffer[this.index+3];if(r<(n<0?t.buffer.length:t.buffer[this.stack[n]+3]))return this.yieldBuf(r)}return n<0?this.yield(this.buffer.parent.nextChild(this.buffer.index+e,e,0,4,this.mode)):!1}nextSibling(){return this.sibling(1)}prevSibling(){return this.sibling(-1)}atLastNode(e){let t,n,{buffer:r}=this;if(r){if(e>0){if(this.index-1)for(let s=t+e,o=e<0?-1:n._tree.children.length;s!=o;s+=e){let a=n._tree.children[s];if(this.mode&te.IncludeAnonymous||a instanceof ui||!a.type.isAnonymous||cl(a))return!1}return!0}move(e,t){if(t&&this.enterChild(e,0,4))return!0;for(;;){if(this.sibling(e))return!0;if(this.atLastNode(e)||!this.parent())return!1}}next(e=!0){return this.move(1,e)}prev(e=!0){return this.move(-1,e)}moveTo(e,t=0){for(;(this.from==this.to||(t<1?this.from>=e:this.from>e)||(t>-1?this.to<=e:this.to=0;){for(let o=e;o;o=o._parent)if(o.index==r){if(r==this.index)return o;t=o,n=s+1;break e}r=this.stack[--s]}for(let r=n;r=0;s--){if(s<0)return tl(this._tree,e,r);let o=n[t.buffer[this.stack[s]]];if(!o.isAnonymous){if(e[r]&&e[r]!=o.name)return!1;r--}}return!0}};function cl(i){return i.children.some(e=>e instanceof ui||!e.type.isAnonymous||cl(e))}function HQ(i){var e;let{buffer:t,nodeSet:n,maxBufferLength:r=1024,reused:s=[],minRepeatType:o=n.types.length}=i,a=Array.isArray(t)?new el(t,t.length):t,l=n.types,c=0,h=0;function f(P,$,Z,X,W,T){let{id:C,start:k,end:w,size:z}=a,N=h,y=c;if(z<0)if(a.next(),z==-1){let B=s[C];Z.push(B),X.push(k-P);return}else if(z==-3){c=C;return}else if(z==-4){h=C;return}else throw new RangeError(`Unrecognized record size: ${z}`);let j=l[C],ye,it,_=k-P;if(w-k<=r&&(it=b(a.pos-$,W))){let B=new Uint16Array(it.size-it.skip),F=a.pos-it.size,G=B.length;for(;a.pos>F;)G=g(it.start,B,G);ye=new ui(B,w-it.start,n),_=it.start-P}else{let B=a.pos-z;a.next();let F=[],G=[],ae=C>=o?C:-1,re=0,$e=w;for(;a.pos>B;)ae>=0&&a.id==ae&&a.size>=0?(a.end<=$e-r&&(m(F,G,k,re,a.end,$e,ae,N,y),re=F.length,$e=a.end),a.next()):T>2500?u(k,B,F,G):f(k,B,F,G,ae,T+1);if(ae>=0&&re>0&&re-1&&re>0){let Pi=O(j,y);ye=hl(j,F,G,0,F.length,0,w-k,Pi,Pi)}else ye=p(j,F,G,w-k,N-w,y)}Z.push(ye),X.push(_)}function u(P,$,Z,X){let W=[],T=0,C=-1;for(;a.pos>$;){let{id:k,start:w,end:z,size:N}=a;if(N>4)a.next();else{if(C>-1&&w=0;z-=3)k[N++]=W[z],k[N++]=W[z+1]-w,k[N++]=W[z+2]-w,k[N++]=N;Z.push(new ui(k,W[2]-w,n)),X.push(w-P)}}function O(P,$){return(Z,X,W)=>{let T=0,C=Z.length-1,k,w;if(C>=0&&(k=Z[C])instanceof K){if(!C&&k.type==P&&k.length==W)return k;(w=k.prop(I.lookAhead))&&(T=X[C]+k.length+w)}return p(P,Z,X,W,T,$)}}function m(P,$,Z,X,W,T,C,k,w){let z=[],N=[];for(;P.length>X;)z.push(P.pop()),N.push($.pop()+Z-W);P.push(p(n.types[C],z,N,T-W,k-T,w)),$.push(W-Z)}function p(P,$,Z,X,W,T,C){if(T){let k=[I.contextHash,T];C=C?[k].concat(C):[k]}if(W>25){let k=[I.lookAhead,W];C=C?[k].concat(C):[k]}return new K(P,$,Z,X,C)}function b(P,$){let Z=a.fork(),X=0,W=0,T=0,C=Z.end-r,k={size:0,start:0,skip:0};e:for(let w=Z.pos-P;Z.pos>w;){let z=Z.size;if(Z.id==$&&z>=0){k.size=X,k.start=W,k.skip=T,T+=4,X+=4,Z.next();continue}let N=Z.pos-z;if(z<0||N=o?4:0,j=Z.start;for(Z.next();Z.pos>N;){if(Z.size<0)if(Z.size==-3||Z.size==-4)y+=4;else break e;else Z.id>=o&&(y+=4);Z.next()}W=j,X+=z,T+=y}return($<0||X==P)&&(k.size=X,k.start=W,k.skip=T),k.size>4?k:void 0}function g(P,$,Z){let{id:X,start:W,end:T,size:C}=a;if(a.next(),C>=0&&X4){let w=a.pos-(C-4);for(;a.pos>w;)Z=g(P,$,Z)}$[--Z]=k,$[--Z]=T-P,$[--Z]=W-P,$[--Z]=X}else C==-3?c=X:C==-4&&(h=X);return Z}let Q=[],S=[];for(;a.pos>0;)f(i.start||0,i.bufferStart||0,Q,S,-1,0);let x=(e=i.length)!==null&&e!==void 0?e:Q.length?S[0]+Q[0].length:0;return new K(l[i.topID],Q.reverse(),S.reverse(),x)}var Du=new WeakMap;function Ps(i,e){if(!i.isAnonymous||e instanceof ui||e.type!=i)return 1;let t=Du.get(e);if(t==null){t=1;for(let n of e.children){if(n.type!=i||!(n instanceof K)){t=1;break}t+=Ps(i,n)}Du.set(e,t)}return t}function hl(i,e,t,n,r,s,o,a,l){let c=0;for(let m=n;m=h)break;$+=Z}if(S==x+1){if($>h){let Z=m[x];O(Z.children,Z.positions,0,Z.children.length,p[x]+Q);continue}f.push(m[x])}else{let Z=p[S-1]+m[S-1].length-P;f.push(hl(i,m,p,x,S,P,Z,null,l))}u.push(P+Q-s)}}return O(e,t,n,r,0),(a||l)(f,u,o)}var Oi=class{constructor(){this.map=new WeakMap}setBuffer(e,t,n){let r=this.map.get(e);r||this.map.set(e,r=new Map),r.set(t,n)}getBuffer(e,t){let n=this.map.get(e);return n&&n.get(t)}set(e,t){e instanceof zi?this.setBuffer(e.context.buffer,e.index,t):e instanceof Ie&&this.map.set(e.tree,t)}get(e){return e instanceof zi?this.getBuffer(e.context.buffer,e.index):e instanceof Ie?this.map.get(e.tree):void 0}cursorSet(e,t){e.buffer?this.setBuffer(e.buffer.buffer,e.index,t):this.map.set(e.tree,t)}cursorGet(e){return e.buffer?this.getBuffer(e.buffer.buffer,e.index):this.map.get(e.tree)}},Yt=class i{constructor(e,t,n,r,s=!1,o=!1){this.from=e,this.to=t,this.tree=n,this.offset=r,this.open=(s?1:0)|(o?2:0)}get openStart(){return(this.open&1)>0}get openEnd(){return(this.open&2)>0}static addTree(e,t=[],n=!1){let r=[new i(0,e.length,e,0,!1,n)];for(let s of t)s.to>e.length&&r.push(s);return r}static applyChanges(e,t,n=128){if(!t.length)return e;let r=[],s=1,o=e.length?e[0]:null;for(let a=0,l=0,c=0;;a++){let h=a=n)for(;o&&o.from=u.from||f<=u.to||c){let O=Math.max(u.from,l)-c,m=Math.min(u.to,f)-c;u=O>=m?null:new i(O,m,u.tree,u.offset+c,a>0,!!h)}if(u&&r.push(u),o.to>f)break;o=snew Ye(r.from,r.to)):[new Ye(0,0)]:[new Ye(0,e.length)],this.createParse(e,t||[],n)}parse(e,t,n){let r=this.startParse(e,t,n);for(;;){let s=r.advance();if(s)return s}}},rl=class{constructor(e){this.string=e}get length(){return this.string.length}chunk(e){return this.string.slice(e)}get lineChunks(){return!1}read(e,t){return this.string.slice(e,t)}};function bn(i){return(e,t,n,r)=>new al(e,i,t,n,r)}var $s=class{constructor(e,t,n,r,s,o){this.parser=e,this.parse=t,this.overlay=n,this.bracketed=r,this.target=s,this.from=o}};function Yu(i){if(!i.length||i.some(e=>e.from>=e.to))throw new RangeError("Invalid inner parse ranges given: "+JSON.stringify(i))}var sl=class{constructor(e,t,n,r,s,o,a,l){this.parser=e,this.predicate=t,this.mounts=n,this.index=r,this.start=s,this.bracketed=o,this.target=a,this.prev=l,this.depth=0,this.ranges=[]}},ol=new I({perNode:!0}),al=class{constructor(e,t,n,r,s){this.nest=t,this.input=n,this.fragments=r,this.ranges=s,this.inner=[],this.innerDone=0,this.baseTree=null,this.stoppedAt=null,this.baseParse=e}advance(){if(this.baseParse){let n=this.baseParse.advance();if(!n)return null;if(this.baseParse=null,this.baseTree=n,this.startInner(),this.stoppedAt!=null)for(let r of this.inner)r.parse.stopAt(this.stoppedAt)}if(this.innerDone==this.inner.length){let n=this.baseTree;return this.stoppedAt!=null&&(n=new K(n.type,n.children,n.positions,n.length,n.propValues.concat([[ol,this.stoppedAt]]))),n}let e=this.inner[this.innerDone],t=e.parse.advance();if(t){this.innerDone++;let n=Object.assign(Object.create(null),e.target.props);n[I.mounted.id]=new fi(t,e.overlay,e.parser,e.bracketed),e.target.props=n}return null}get parsedPos(){if(this.baseParse)return 0;let e=this.input.length;for(let t=this.innerDone;t=this.stoppedAt)a=!1;else if(e.hasNode(r)){if(t){let c=t.mounts.find(h=>h.frag.from<=r.from&&h.frag.to>=r.to&&h.mount.overlay);if(c)for(let h of c.mount.overlay){let f=h.from+c.pos,u=h.to+c.pos;f>=r.from&&u<=r.to&&!t.ranges.some(O=>O.fromf)&&t.ranges.push({from:f,to:u})}}a=!1}else if(n&&(o=KQ(n.ranges,r.from,r.to)))a=o!=2;else if(!r.type.isAnonymous&&(s=this.nest(r,this.input))&&(r.fromnew Ye(f.from-r.from,f.to-r.from)):null,!!s.bracketed,r.tree,h.length?h[0].from:r.from)),s.overlay?h.length&&(n={ranges:h,depth:0,prev:n}):a=!1}}else if(t&&(l=t.predicate(r))&&(l===!0&&(l=new Ye(r.from,r.to)),l.from=0&&t.ranges[c].to==l.from?t.ranges[c]={from:t.ranges[c].from,to:l.to}:t.ranges.push(l)}if(a&&r.firstChild())t&&t.depth++,n&&n.depth++;else for(;!r.nextSibling();){if(!r.parent())break e;if(t&&!--t.depth){let c=Bu(this.ranges,t.ranges);c.length&&(Yu(c),this.inner.splice(t.index,0,new $s(t.parser,t.parser.startParse(this.input,Uu(t.mounts,c),c),t.ranges.map(h=>new Ye(h.from-t.start,h.to-t.start)),t.bracketed,t.target,c[0].from))),t=t.prev}n&&!--n.depth&&(n=n.prev)}}}};function KQ(i,e,t){for(let n of i){if(n.from>=t)break;if(n.to>e)return n.from<=e&&n.to>=t?2:1}return 0}function Iu(i,e,t,n,r,s){if(e=e&&t.enter(n,1,te.IgnoreOverlays|te.ExcludeBuffers)))if(t.to<=e)t.next(!1)||(this.done=!0);else break}hasNode(e){if(this.moveTo(e.from),!this.done&&this.cursor.from+this.offset==e.from&&this.cursor.tree)for(let t=this.cursor.tree;;){if(t==e.tree)return!0;if(t.children.length&&t.positions[0]==0&&t.children[0]instanceof K)t=t.children[0];else break}return!1}},ll=class{constructor(e){var t;if(this.fragments=e,this.curTo=0,this.fragI=0,e.length){let n=this.curFrag=e[0];this.curTo=(t=n.tree.prop(ol))!==null&&t!==void 0?t:n.to,this.inner=new Ts(n.tree,-n.offset)}else this.curFrag=this.inner=null}hasNode(e){for(;this.curFrag&&e.from>=this.curTo;)this.nextFrag();return this.curFrag&&this.curFrag.from<=e.from&&this.curTo>=e.to&&this.inner.hasNode(e)}nextFrag(){var e;if(this.fragI++,this.fragI==this.fragments.length)this.curFrag=this.inner=null;else{let t=this.curFrag=this.fragments[this.fragI];this.curTo=(e=t.tree.prop(ol))!==null&&e!==void 0?e:t.to,this.inner=new Ts(t.tree,-t.offset)}}findMounts(e,t){var n;let r=[];if(this.inner){this.inner.cursor.moveTo(e,1);for(let s=this.inner.cursor.node;s;s=s.parent){let o=(n=s.tree)===null||n===void 0?void 0:n.prop(I.mounted);if(o&&o.parser==t)for(let a=this.fragI;a=s.to)break;l.tree==this.curFrag.tree&&r.push({frag:l,pos:s.from-l.offset,mount:o})}}}return r}};function Bu(i,e){let t=null,n=e;for(let r=1,s=0;r=a)break;l.to<=o||(t||(n=t=e.slice()),l.froma&&t.splice(s+1,0,new Ye(a,l.to))):l.to>a?t[s--]=new Ye(a,l.to):t.splice(s--,1))}}return n}function eb(i,e,t,n){let r=0,s=0,o=!1,a=!1,l=-1e9,c=[];for(;;){let h=r==i.length?1e9:o?i[r].to:i[r].from,f=s==e.length?1e9:a?e[s].to:e[s].from;if(o!=a){let u=Math.max(l,t),O=Math.min(h,f,n);unew Ye(u.from+n,u.to+n)),f=eb(e,h,l,c);for(let u=0,O=l;;u++){let m=u==f.length,p=m?c:f[u].from;if(p>O&&t.push(new Yt(O,p,r.tree,-o,s.from>=O||s.openStart,s.to<=p||s.openEnd)),m)break;O=f[u].to}}else t.push(new Yt(l,c,r.tree,-o,s.from>=o||s.openStart,s.to<=a||s.openEnd))}return t}var tb=0,Ke=class i{constructor(e,t,n,r){this.name=e,this.set=t,this.base=n,this.modified=r,this.id=tb++}toString(){let{name:e}=this;for(let t of this.modified)t.name&&(e=`${t.name}(${e})`);return e}static define(e,t){let n=typeof e=="string"?e:"?";if(e instanceof i&&(t=e),t?.base)throw new Error("Can not derive from a modified tag");let r=new i(n,[],null,[]);if(r.set.push(r),t)for(let s of t.set)r.set.push(s);return r}static defineModifier(e){let t=new Rs(e);return n=>n.modified.indexOf(t)>-1?n:Rs.get(n.base||n,n.modified.concat(t).sort((r,s)=>r.id-s.id))}},ib=0,Rs=class i{constructor(e){this.name=e,this.instances=[],this.id=ib++}static get(e,t){if(!t.length)return e;let n=t[0].instances.find(a=>a.base==e&&nb(t,a.modified));if(n)return n;let r=[],s=new Ke(e.name,r,e,t);for(let a of t)a.instances.push(s);let o=rb(t);for(let a of e.set)if(!a.modified.length)for(let l of o)r.push(i.get(a,l));return s}};function nb(i,e){return i.length==e.length&&i.every((t,n)=>t==e[n])}function rb(i){let e=[[]];for(let t=0;tn.length-t.length)}function Qe(i){let e=Object.create(null);for(let t in i){let n=i[t];Array.isArray(n)||(n=[n]);for(let r of t.split(" "))if(r){let s=[],o=2,a=r;for(let f=0;;){if(a=="..."&&f>0&&f+3==r.length){o=1;break}let u=/^"(?:[^"\\]|\\.)*?"|[^\/!]+/.exec(a);if(!u)throw new RangeError("Invalid path: "+r);if(s.push(u[0]=="*"?"":u[0][0]=='"'?JSON.parse(u[0]):u[0]),f+=u[0].length,f==r.length)break;let O=r[f++];if(f==r.length&&O=="!"){o=0;break}if(O!="/")throw new RangeError("Invalid path: "+r);a=r.slice(f)}let l=s.length-1,c=s[l];if(!c)throw new RangeError("Invalid path: "+r);let h=new Mi(n,o,l>0?s.slice(0,l):null);e[c]=h.sort(e[c])}}return Ku.add(e)}var Ku=new I({combine(i,e){let t,n,r;for(;i||e;){if(!i||e&&i.depth>=e.depth?(r=e,e=e.next):(r=i,i=i.next),t&&t.mode==r.mode&&!r.context&&!t.context)continue;let s=new Mi(r.tags,r.mode,r.context);t?t.next=s:n=s,t=s}return n}}),Mi=class{constructor(e,t,n,r){this.tags=e,this.mode=t,this.context=n,this.next=r}get opaque(){return this.mode==0}get inherit(){return this.mode==1}sort(e){return!e||e.depth{let o=r;for(let a of s)for(let l of a.set){let c=t[l.id];if(c){o=o?o+" "+c:c;break}}return o},scope:n}}function sb(i,e){let t=null;for(let n of i){let r=n.style(e);r&&(t=t?t+" "+r:r)}return t}function As(i,e,t,n=0,r=i.length){let s=new ul(n,Array.isArray(e)?e:[e],t);s.highlightRange(i.cursor(),n,r,"",s.highlighters),s.flush(r)}var ul=class{constructor(e,t,n){this.at=e,this.highlighters=t,this.span=n,this.class=""}startSpan(e,t){t!=this.class&&(this.flush(e),e>this.at&&(this.at=e),this.class=t)}flush(e){e>this.at&&this.class&&this.span(this.at,e,this.class)}highlightRange(e,t,n,r,s){let{type:o,from:a,to:l}=e;if(a>=n||l<=t)return;o.isTop&&(s=this.highlighters.filter(O=>!O.scope||O.scope(o)));let c=r,h=ob(e)||Mi.empty,f=sb(s,h.tags);if(f&&(c&&(c+=" "),c+=f,h.mode==1&&(r+=(r?" ":"")+f)),this.startSpan(Math.max(t,a),c),h.opaque)return;let u=e.tree&&e.tree.prop(I.mounted);if(u&&u.overlay){let O=e.node.enter(u.overlay[0].from+a,1),m=this.highlighters.filter(b=>!b.scope||b.scope(u.tree.type)),p=e.firstChild();for(let b=0,g=a;;b++){let Q=b=S||!e.nextSibling())););if(!Q||S>n)break;g=Q.to+a,g>t&&(this.highlightRange(O.cursor(),Math.max(t,Q.from+a),Math.min(n,g),"",m),this.startSpan(Math.min(n,g),c))}p&&e.parent()}else if(e.firstChild()){u&&(r="");do if(!(e.to<=t)){if(e.from>=n)break;this.highlightRange(e,t,n,r,s),this.startSpan(Math.min(n,e.to),c)}while(e.nextSibling());e.parent()}}};function ob(i){let e=i.type.prop(Ku);for(;e&&e.context&&!i.matchContext(e.context);)e=e.next;return e||null}var E=Ke.define,Cs=E(),di=E(),Fu=E(di),Hu=E(di),pi=E(),Xs=E(pi),fl=E(pi),At=E(),Li=E(At),_t=E(),Rt=E(),Ol=E(),lr=E(Ol),_s=E(),d={comment:Cs,lineComment:E(Cs),blockComment:E(Cs),docComment:E(Cs),name:di,variableName:E(di),typeName:Fu,tagName:E(Fu),propertyName:Hu,attributeName:E(Hu),className:E(di),labelName:E(di),namespace:E(di),macroName:E(di),literal:pi,string:Xs,docString:E(Xs),character:E(Xs),attributeValue:E(Xs),number:fl,integer:E(fl),float:E(fl),bool:E(pi),regexp:E(pi),escape:E(pi),color:E(pi),url:E(pi),keyword:_t,self:E(_t),null:E(_t),atom:E(_t),unit:E(_t),modifier:E(_t),operatorKeyword:E(_t),controlKeyword:E(_t),definitionKeyword:E(_t),moduleKeyword:E(_t),operator:Rt,derefOperator:E(Rt),arithmeticOperator:E(Rt),logicOperator:E(Rt),bitwiseOperator:E(Rt),compareOperator:E(Rt),updateOperator:E(Rt),definitionOperator:E(Rt),typeOperator:E(Rt),controlOperator:E(Rt),punctuation:Ol,separator:E(Ol),bracket:lr,angleBracket:E(lr),squareBracket:E(lr),paren:E(lr),brace:E(lr),content:At,heading:Li,heading1:E(Li),heading2:E(Li),heading3:E(Li),heading4:E(Li),heading5:E(Li),heading6:E(Li),contentSeparator:E(At),list:E(At),quote:E(At),emphasis:E(At),strong:E(At),link:E(At),monospace:E(At),strikethrough:E(At),inserted:E(),deleted:E(),changed:E(),invalid:E(),meta:_s,documentMeta:E(_s),annotation:E(_s),processingInstruction:E(_s),definition:Ke.defineModifier("definition"),constant:Ke.defineModifier("constant"),function:Ke.defineModifier("function"),standard:Ke.defineModifier("standard"),local:Ke.defineModifier("local"),special:Ke.defineModifier("special")};for(let i in d){let e=d[i];e instanceof Ke&&(e.name=i)}var m$=dl([{tag:d.link,class:"tok-link"},{tag:d.heading,class:"tok-heading"},{tag:d.emphasis,class:"tok-emphasis"},{tag:d.strong,class:"tok-strong"},{tag:d.keyword,class:"tok-keyword"},{tag:d.atom,class:"tok-atom"},{tag:d.bool,class:"tok-bool"},{tag:d.url,class:"tok-url"},{tag:d.labelName,class:"tok-labelName"},{tag:d.inserted,class:"tok-inserted"},{tag:d.deleted,class:"tok-deleted"},{tag:d.literal,class:"tok-literal"},{tag:d.string,class:"tok-string"},{tag:d.number,class:"tok-number"},{tag:[d.regexp,d.escape,d.special(d.string)],class:"tok-string2"},{tag:d.variableName,class:"tok-variableName"},{tag:d.local(d.variableName),class:"tok-variableName tok-local"},{tag:d.definition(d.variableName),class:"tok-variableName tok-definition"},{tag:d.special(d.variableName),class:"tok-variableName2"},{tag:d.definition(d.propertyName),class:"tok-propertyName tok-definition"},{tag:d.typeName,class:"tok-typeName"},{tag:d.namespace,class:"tok-namespace"},{tag:d.className,class:"tok-className"},{tag:d.macroName,class:"tok-macroName"},{tag:d.propertyName,class:"tok-propertyName"},{tag:d.operator,class:"tok-operator"},{tag:d.comment,class:"tok-comment"},{tag:d.meta,class:"tok-meta"},{tag:d.invalid,class:"tok-invalid"},{tag:d.punctuation,class:"tok-punctuation"}]);var pl,yt=new I;function kn(i){return Y.define({combine:i?e=>e.concat(i):void 0})}var zs=new I,we=class{constructor(e,t,n=[],r=""){this.data=e,this.name=r,se.prototype.hasOwnProperty("tree")||Object.defineProperty(se.prototype,"tree",{get(){return U(this)}}),this.parser=t,this.extension=[Sn.of(this),se.languageData.of((s,o,a)=>{let l=Ju(s,o,a),c=l.type.prop(yt);if(!c)return[];let h=s.facet(c),f=l.type.prop(zs);if(f){let u=l.resolve(o-l.from,a);for(let O of f)if(O.test(u,s)){let m=s.facet(O.facet);return O.type=="replace"?m:m.concat(h)}}return h})].concat(n)}isActiveAt(e,t,n=-1){return Ju(e,t,n).type.prop(yt)==this.data}findRegions(e){let t=e.facet(Sn);if(t?.data==this.data)return[{from:0,to:e.doc.length}];if(!t||!t.allowsNesting)return[];let n=[],r=(s,o)=>{if(s.prop(yt)==this.data){n.push({from:o,to:o+s.length});return}let a=s.prop(I.mounted);if(a){if(a.tree.prop(yt)==this.data){if(a.overlay)for(let l of a.overlay)n.push({from:l.from+o,to:l.to+o});else n.push({from:o,to:o+s.length});return}else if(a.overlay){let l=n.length;if(r(a.tree,a.overlay[0].from+o),n.length>l)return}}for(let l=0;ln.isTop?t:void 0)]}),e.name)}configure(e,t){return new i(this.data,this.parser.configure(e),t||this.name)}get allowsNesting(){return this.parser.hasWrappers()}};function U(i){let e=i.field(we.state,!1);return e?e.tree:K.empty}function Ls(i,e,t=50){var n;let r=(n=i.field(we.state,!1))===null||n===void 0?void 0:n.context;if(!r)return null;let s=r.viewport;r.updateViewport({from:0,to:e});let o=r.isDone(e)||r.work(t,e)?r.tree:null;return r.updateViewport(s),o}function sO(i,e=i.doc.length){var t;return((t=i.field(we.state,!1))===null||t===void 0?void 0:t.context.isDone(e))||!1}var bl=class{constructor(e){this.doc=e,this.cursorPos=0,this.string="",this.cursor=e.iter()}get length(){return this.doc.length}syncTo(e){return this.string=this.cursor.next(e-this.cursorPos).value,this.cursorPos=e+this.string.length,this.cursorPos-this.string.length}chunk(e){return this.syncTo(e),this.string}get lineChunks(){return!0}read(e,t){let n=this.cursorPos-this.string.length;return e=this.cursorPos?this.doc.sliceString(e,t):this.string.slice(e-n,t-n)}},cr=null,Wi=class i{constructor(e,t,n=[],r,s,o,a,l){this.parser=e,this.state=t,this.fragments=n,this.tree=r,this.treeLen=s,this.viewport=o,this.skipped=a,this.scheduleOn=l,this.parse=null,this.tempSkipped=[]}static create(e,t,n){return new i(e,t,[],K.empty,0,n,[],null)}startParse(){return this.parser.startParse(new bl(this.state.doc),this.fragments)}work(e,t){return t!=null&&t>=this.state.doc.length&&(t=void 0),this.tree!=K.empty&&this.isDone(t??this.state.doc.length)?(this.takeTree(),!0):this.withContext(()=>{var n;if(typeof e=="number"){let r=Date.now()+e;e=()=>Date.now()>r}for(this.parse||(this.parse=this.startParse()),t!=null&&(this.parse.stoppedAt==null||this.parse.stoppedAt>t)&&t=this.treeLen&&((this.parse.stoppedAt==null||this.parse.stoppedAt>e)&&this.parse.stopAt(e),this.withContext(()=>{for(;!(t=this.parse.advance()););}),this.treeLen=e,this.tree=t,this.fragments=this.withoutTempSkipped(Yt.addTree(this.tree,this.fragments,!0)),this.parse=null)}withContext(e){let t=cr;cr=this;try{return e()}finally{cr=t}}withoutTempSkipped(e){for(let t;t=this.tempSkipped.pop();)e=eO(e,t.from,t.to);return e}changes(e,t){let{fragments:n,tree:r,treeLen:s,viewport:o,skipped:a}=this;if(this.takeTree(),!e.empty){let l=[];if(e.iterChangedRanges((c,h,f,u)=>l.push({fromA:c,toA:h,fromB:f,toB:u})),n=Yt.applyChanges(n,l),r=K.empty,s=0,o={from:e.mapPos(o.from,-1),to:e.mapPos(o.to,1)},this.skipped.length){a=[];for(let c of this.skipped){let h=e.mapPos(c.from,1),f=e.mapPos(c.to,-1);he.from&&(this.fragments=eO(this.fragments,r,s),this.skipped.splice(n--,1))}return this.skipped.length>=t?!1:(this.reset(),!0)}reset(){this.parse&&(this.takeTree(),this.parse=null)}skipUntilInView(e,t){this.skipped.push({from:e,to:t})}static getSkippingParser(e){return new class extends It{createParse(t,n,r){let s=r[0].from,o=r[r.length-1].to;return{parsedPos:s,advance(){let l=cr;if(l){for(let c of r)l.tempSkipped.push(c);e&&(l.scheduleOn=l.scheduleOn?Promise.all([l.scheduleOn,e]):e)}return this.parsedPos=o,new K(de.none,[],[],o-s)},stoppedAt:null,stopAt(){}}}}}isDone(e){e=Math.min(e,this.state.doc.length);let t=this.fragments;return this.treeLen>=e&&t.length&&t[0].from==0&&t[0].to>=e}static get(){return cr}};function eO(i,e,t){return Yt.applyChanges(i,[{fromA:e,toA:t,fromB:e,toB:t}])}var hr=class i{constructor(e){this.context=e,this.tree=e.tree}apply(e){if(!e.docChanged&&this.tree==this.context.tree)return this;let t=this.context.changes(e.changes,e.state),n=this.context.treeLen==e.startState.doc.length?void 0:Math.max(e.changes.mapPos(this.context.treeLen),t.viewport.to);return t.work(20,n)||t.takeTree(),new i(t)}static init(e){let t=Math.min(3e3,e.doc.length),n=Wi.create(e.facet(Sn).parser,e,{from:0,to:t});return n.work(20,t)||n.takeTree(),new i(n)}};we.state=fe.define({create:hr.init,update(i,e){for(let t of e.effects)if(t.is(we.setState))return t.value;return e.startState.facet(Sn)!=e.state.facet(Sn)?hr.init(e.state):i.apply(e)}});var oO=i=>{let e=setTimeout(()=>i(),500);return()=>clearTimeout(e)};typeof requestIdleCallback<"u"&&(oO=i=>{let e=-1,t=setTimeout(()=>{e=requestIdleCallback(i,{timeout:400})},100);return()=>e<0?clearTimeout(t):cancelIdleCallback(e)});var ml=typeof navigator<"u"&&(!((pl=navigator.scheduling)===null||pl===void 0)&&pl.isInputPending)?()=>navigator.scheduling.isInputPending():null,ab=De.fromClass(class{constructor(e){this.view=e,this.working=null,this.workScheduled=0,this.chunkEnd=-1,this.chunkBudget=-1,this.work=this.work.bind(this),this.scheduleWork()}update(e){let t=this.view.state.field(we.state).context;(t.updateViewport(e.view.viewport)||this.view.viewport.to>t.treeLen)&&this.scheduleWork(),(e.docChanged||e.selectionSet)&&(this.view.hasFocus&&(this.chunkBudget+=50),this.scheduleWork()),this.checkAsyncSchedule(t)}scheduleWork(){if(this.working)return;let{state:e}=this.view,t=e.field(we.state);(t.tree!=t.context.tree||!t.context.isDone(e.doc.length))&&(this.working=oO(this.work))}work(e){this.working=null;let t=Date.now();if(this.chunkEndr+1e3,l=s.context.work(()=>ml&&ml()||Date.now()>o,r+(a?0:1e5));this.chunkBudget-=Date.now()-t,(l||this.chunkBudget<=0)&&(s.context.takeTree(),this.view.dispatch({effects:we.setState.of(new hr(s.context))})),this.chunkBudget>0&&!(l&&!a)&&this.scheduleWork(),this.checkAsyncSchedule(s.context)}checkAsyncSchedule(e){e.scheduleOn&&(this.workScheduled++,e.scheduleOn.then(()=>this.scheduleWork()).catch(t=>ht(this.view.state,t)).then(()=>this.workScheduled--),e.scheduleOn=null)}destroy(){this.working&&this.working()}isWorking(){return!!(this.working||this.workScheduled>0)}},{eventHandlers:{focus(){this.scheduleWork()}}}),Sn=Y.define({combine(i){return i.length?i[0]:null},enables:i=>[we.state,ab,q.contentAttributes.compute([i],e=>{let t=e.facet(i);return t&&t.name?{"data-language":t.name}:{}})]}),me=class{constructor(e,t=[]){this.language=e,this.support=t,this.extension=[e,t]}},Be=class i{constructor(e,t,n,r,s,o=void 0){this.name=e,this.alias=t,this.extensions=n,this.filename=r,this.loadFunc=s,this.support=o,this.loading=null}load(){return this.loading||(this.loading=this.loadFunc().then(e=>this.support=e,e=>{throw this.loading=null,e}))}static of(e){let{load:t,support:n}=e;if(!t){if(!n)throw new RangeError("Must pass either 'load' or 'support' to LanguageDescription.of");t=()=>Promise.resolve(n)}return new i(e.name,(e.alias||[]).concat(e.name).map(r=>r.toLowerCase()),e.extensions||[],e.filename,t,n)}static matchFilename(e,t){for(let r of e)if(r.filename&&r.filename.test(t))return r;let n=/\.([^.]+)$/.exec(t);if(n){for(let r of e)if(r.extensions.indexOf(n[1])>-1)return r}return null}static matchLanguageName(e,t,n=!0){t=t.toLowerCase();for(let r of e)if(r.alias.some(s=>s==t))return r;if(n)for(let r of e)for(let s of r.alias){let o=t.indexOf(s);if(o>-1&&(s.length>2||!/\w/.test(t[o-1])&&!/\w/.test(t[o+s.length])))return r}return null}},lb=Y.define(),Zt=Y.define({combine:i=>{if(!i.length)return" ";let e=i[0];if(!e||/\S/.test(e)||Array.from(e).some(t=>t!=e[0]))throw new Error("Invalid indent unit: "+JSON.stringify(i[0]));return e}});function mi(i){let e=i.facet(Zt);return e.charCodeAt(0)==9?i.tabSize*e.length:e.length}function ur(i,e){let t="",n=i.tabSize,r=i.facet(Zt)[0];if(r==" "){for(;e>=n;)t+=" ",e-=n;r=" "}for(let s=0;s=e?cb(i,t,e):null}var ji=class{constructor(e,t={}){this.state=e,this.options=t,this.unit=mi(e)}lineAt(e,t=1){let n=this.state.doc.lineAt(e),{simulateBreak:r,simulateDoubleBreak:s}=this.options;return r!=null&&r>=n.from&&r<=n.to?s&&r==e?{text:"",from:e}:(t<0?r-1&&(s+=o-this.countColumn(n,n.search(/\S|$/))),s}countColumn(e,t=e.length){return Fe(e,this.state.tabSize,t)}lineIndent(e,t=1){let{text:n,from:r}=this.lineAt(e,t),s=this.options.overrideIndentation;if(s){let o=s(r);if(o>-1)return o}return this.countColumn(n,n.search(/\S|$/))}get simulatedBreak(){return this.options.simulateBreak||null}},Pe=new I;function cb(i,e,t){let n=e.resolveStack(t),r=e.resolveInner(t,-1).resolve(t,0).enterUnfinishedNodesBefore(t);if(r!=n.node){let s=[];for(let o=r;o&&!(o.fromn.node.to||o.from==n.node.from&&o.type==n.node.type);o=o.parent)s.push(o);for(let o=s.length-1;o>=0;o--)n={node:s[o],next:n}}return aO(n,i,t)}function aO(i,e,t){for(let n=i;n;n=n.next){let r=fb(n.node);if(r)return r(Sl.create(e,t,n))}return 0}function hb(i){return i.pos==i.options.simulateBreak&&i.options.simulateDoubleBreak}function fb(i){let e=i.type.prop(Pe);if(e)return e;let t=i.firstChild,n;if(t&&(n=t.type.prop(I.closedBy))){let r=i.lastChild,s=r&&n.indexOf(r.name)>-1;return o=>lO(o,!0,1,void 0,s&&!hb(o)?r.from:void 0)}return i.parent==null?ub:null}function ub(){return 0}var Sl=class i extends ji{constructor(e,t,n){super(e.state,e.options),this.base=e,this.pos=t,this.context=n}get node(){return this.context.node}static create(e,t,n){return new i(e,t,n)}get textAfter(){return this.textAfterPos(this.pos)}get baseIndent(){return this.baseIndentFor(this.node)}baseIndentFor(e){let t=this.state.doc.lineAt(e.from);for(;;){let n=e.resolve(t.from);for(;n.parent&&n.parent.from==n.from;)n=n.parent;if(Ob(n,e))break;t=this.state.doc.lineAt(n.from)}return this.lineIndent(t.from)}continue(){return aO(this.context.next,this.base,this.pos)}};function Ob(i,e){for(let t=e;t;t=t.parent)if(i==t)return!0;return!1}function db(i){let e=i.node,t=e.childAfter(e.from),n=e.lastChild;if(!t)return null;let r=i.options.simulateBreak,s=i.state.doc.lineAt(t.from),o=r==null||r<=s.from?s.to:Math.min(s.to,r);for(let a=t.to;;){let l=e.childAfter(a);if(!l||l==n)return null;if(!l.type.isSkipped){if(l.from>=o)return null;let c=/^ */.exec(s.text.slice(t.to-s.from))[0].length;return{from:t.from,to:t.to+c}}a=l.to}}function kt({closing:i,align:e=!0,units:t=1}){return n=>lO(n,e,t,i)}function lO(i,e,t,n,r){let s=i.textAfter,o=s.match(/^\s*/)[0].length,a=n&&s.slice(o,o+n.length)==n||r==i.pos+o,l=e?db(i):null;return l?a?i.column(l.from):i.column(l.to):i.baseIndent+(a?0:i.unit*t)}var cO=i=>i.baseIndent;function Bt({except:i,units:e=1}={}){return t=>{let n=i&&i.test(t.textAfter);return t.baseIndent+(n?0:e*t.unit)}}var hO=Y.define(),_e=new I;function ut(i){let e=i.firstChild,t=i.lastChild;return e&&e.toa.prop(yt)==o.data:o?a=>a==o:void 0,this.style=dl(e.map(a=>({tag:a.tag,class:a.class||r(Object.assign({},a,{tag:null}))})),{all:s}).style,this.module=n?new ot(n):null,this.themeType=t.themeType}static define(e,t){return new i(e,t||{})}},yl=Y.define(),fO=Y.define({combine(i){return i.length?[i[0]]:null}});function gl(i){let e=i.facet(yl);return e.length?e:i.facet(fO)}function uO(i,e){let t=[pb],n;return i instanceof yn&&(i.module&&t.push(q.styleModule.of(i.module)),n=i.themeType),e?.fallback?t.push(fO.of(i)):n?t.push(yl.computeN([q.darkTheme],r=>r.facet(q.darkTheme)==(n=="dark")?[i]:[])):t.push(yl.of(i)),t}var kl=class{constructor(e){this.markCache=Object.create(null),this.tree=U(e.state),this.decorations=this.buildDeco(e,gl(e.state)),this.decoratedTo=e.viewport.to}update(e){let t=U(e.state),n=gl(e.state),r=n!=gl(e.startState),{viewport:s}=e.view,o=e.changes.mapPos(this.decoratedTo,1);t.length=s.to?(this.decorations=this.decorations.map(e.changes),this.decoratedTo=o):(t!=this.tree||e.viewportChanged||r)&&(this.tree=t,this.decorations=this.buildDeco(e.view,n),this.decoratedTo=s.to)}buildDeco(e,t){if(!t||!this.tree.length)return R.none;let n=new _i;for(let{from:r,to:s}of e.visibleRanges)As(this.tree,t,(o,a,l)=>{n.add(o,a,this.markCache[l]||(this.markCache[l]=R.mark({class:l})))},r,s);return n.finish()}},pb=st.high(De.fromClass(kl,{decorations:i=>i.decorations})),P$=yn.define([{tag:d.meta,color:"#404740"},{tag:d.link,textDecoration:"underline"},{tag:d.heading,textDecoration:"underline",fontWeight:"bold"},{tag:d.emphasis,fontStyle:"italic"},{tag:d.strong,fontWeight:"bold"},{tag:d.strikethrough,textDecoration:"line-through"},{tag:d.keyword,color:"#708"},{tag:[d.atom,d.bool,d.url,d.contentSeparator,d.labelName],color:"#219"},{tag:[d.literal,d.inserted],color:"#164"},{tag:[d.string,d.deleted],color:"#a11"},{tag:[d.regexp,d.escape,d.special(d.string)],color:"#e40"},{tag:d.definition(d.variableName),color:"#00f"},{tag:d.local(d.variableName),color:"#30a"},{tag:[d.typeName,d.namespace],color:"#085"},{tag:d.className,color:"#167"},{tag:[d.special(d.variableName),d.macroName],color:"#256"},{tag:d.definition(d.propertyName),color:"#00c"},{tag:d.comment,color:"#940"},{tag:d.invalid,color:"#f00"}]);var mb=1e4,gb="()[]{}";var $l=new I;function xl(i,e,t){let n=i.prop(e<0?I.openedBy:I.closedBy);if(n)return n;if(i.name.length==1){let r=t.indexOf(i.name);if(r>-1&&r%2==(e<0?1:0))return[t[r+e]]}return null}function wl(i){let e=i.type.prop($l);return e?e(i.node):i}function Vi(i,e,t,n={}){let r=n.maxScanDistance||mb,s=n.brackets||gb,o=U(i),a=o.resolveInner(e,t);for(let l=a;l;l=l.parent){let c=xl(l.type,t,s);if(c&&l.from0?e>=h.from&&eh.from&&e<=h.to))return Qb(i,e,t,l,h,c,s)}}return bb(i,e,t,o,a.type,r,s)}function Qb(i,e,t,n,r,s,o){let a=n.parent,l={from:r.from,to:r.to},c=0,h=a?.cursor();if(h&&(t<0?h.childBefore(n.from):h.childAfter(n.to)))do if(t<0?h.to<=n.from:h.from>=n.to){if(c==0&&s.indexOf(h.type.name)>-1&&h.from0)return null;let c={from:t<0?e-1:e,to:t>0?e+1:e},h=i.doc.iterRange(e,t>0?i.doc.length:0),f=0;for(let u=0;!h.next().done&&u<=s;){let O=h.value;t<0&&(u+=O.length);let m=e+u*t;for(let p=t>0?0:O.length-1,b=t>0?O.length:-1;p!=b;p+=t){let g=o.indexOf(O[p]);if(!(g<0||n.resolveInner(m+p,1).type!=r))if(g%2==0==t>0)f++;else{if(f==1)return{start:c,end:{from:m+p,to:m+p+1},matched:g>>1==l>>1};f--}}t>0&&(u+=O.length)}return h.done?{start:c,matched:!1}:null}function tO(i,e,t,n=0,r=0){e==null&&(e=i.search(/[^\s\u00a0]/),e==-1&&(e=i.length));let s=r;for(let o=n;o=this.string.length}sol(){return this.pos==0}peek(){return this.string.charAt(this.pos)||void 0}next(){if(this.post}eatSpace(){let e=this.pos;for(;/[\s\u00a0]/.test(this.string.charAt(this.pos));)++this.pos;return this.pos>e}skipToEnd(){this.pos=this.string.length}skipTo(e){let t=this.string.indexOf(e,this.pos);if(t>-1)return this.pos=t,!0}backUp(e){this.pos-=e}column(){return this.lastColumnPosn?o.toLowerCase():o,s=this.string.substr(this.pos,e.length);return r(s)==r(e)?(t!==!1&&(this.pos+=e.length),!0):null}else{let r=this.string.slice(this.pos).match(e);return r&&r.index>0?null:(r&&t!==!1&&(this.pos+=r[0].length),r)}}current(){return this.string.slice(this.start,this.pos)}};function Sb(i){return{name:i.name||"",token:i.token,blankLine:i.blankLine||(()=>{}),startState:i.startState||(()=>!0),copyState:i.copyState||yb,indent:i.indent||(()=>null),languageData:i.languageData||{},tokenTable:i.tokenTable||Cl,mergeTokens:i.mergeTokens!==!1}}function yb(i){if(typeof i!="object")return i;let e={};for(let t in i){let n=i[t];e[t]=n instanceof Array?n.slice():n}return e}var iO=new WeakMap,Es=class i extends we{constructor(e){let t=kn(e.languageData),n=Sb(e),r,s=new class extends It{createParse(o,a,l){return new Pl(r,o,a,l)}};super(t,s,[],e.name),this.topNode=Pb(t,this),r=this,this.streamParser=n,this.stateAfter=new I({perNode:!0}),this.tokenTable=e.tokenTable?new qs(n.tokenTable):wb}static define(e){return new i(e)}getIndent(e){let t,{overrideIndentation:n}=e.options;n&&(t=iO.get(e.state),t!=null&&t1e4)return null;for(;s=n&&t+e.length<=r&&e.prop(i.stateAfter);if(s)return{state:i.streamParser.copyState(s),pos:t+e.length};for(let o=e.children.length-1;o>=0;o--){let a=e.children[o],l=t+e.positions[o],c=a instanceof K&&l=e.length)return e;!r&&t==0&&e.type==i.topNode&&(r=!0);for(let s=e.children.length-1;s>=0;s--){let o=e.positions[s],a=e.children[s],l;if(ot&&Tl(i,s.tree,0-s.offset,t,a),c;if(l&&l.pos<=n&&(c=OO(i,s.tree,t+s.offset,l.pos+s.offset,!1)))return{state:l.state,tree:c}}return{state:i.streamParser.startState(r?mi(r):4),tree:K.empty}}var Pl=class{constructor(e,t,n,r){this.lang=e,this.input=t,this.fragments=n,this.ranges=r,this.stoppedAt=null,this.chunks=[],this.chunkPos=[],this.chunk=[],this.chunkReused=void 0,this.rangeIndex=0,this.to=r[r.length-1].to;let s=Wi.get(),o=r[0].from,{state:a,tree:l}=kb(e,n,o,this.to,s?.state);this.state=a,this.parsedPos=this.chunkStart=o+l.length;for(let c=0;cc.from<=s.viewport.from&&c.to>=s.viewport.from)&&(this.state=this.lang.streamParser.startState(mi(s.state)),s.skipUntilInView(this.parsedPos,s.viewport.from),this.parsedPos=s.viewport.from),this.moveRangeIndex()}advance(){let e=Wi.get(),t=this.stoppedAt==null?this.to:Math.min(this.to,this.stoppedAt),n=Math.min(t,this.chunkStart+512);for(e&&(n=Math.min(n,e.viewport.to));this.parsedPos=t?this.finish():e&&this.parsedPos>=e.viewport.to?(e.skipUntilInView(this.parsedPos,t),this.finish()):null}stopAt(e){this.stoppedAt=e}lineAfter(e){let t=this.input.chunk(e);if(this.input.lineChunks)t==` `&&(t="");else{let n=t.indexOf(` -`);n>-1&&(t=t.slice(0,n))}return e+t.length<=this.to?t:t.slice(0,this.to-e)}nextLine(){let e=this.parsedPos,t=this.lineAfter(e),n=e+t.length;for(let r=this.rangeIndex;;){let s=this.ranges[r].to;if(s>=n||(t=t.slice(0,s-(n-t.length)),r++,r==this.ranges.length))break;let o=this.ranges[r].from,a=this.lineAfter(o);t+=a,n=o+a.length}return{line:t,end:n}}skipGapsTo(e,t,n){for(;;){let r=this.ranges[this.rangeIndex].to,s=e+t;if(n>0?r>s:r>=s)break;let o=this.ranges[++this.rangeIndex].from;t+=o-r}return t}moveRangeIndex(){for(;this.ranges[this.rangeIndex].to1){r=this.skipGapsTo(t,r,1),t+=r;let a=this.chunk.length;r=this.skipGapsTo(n,r,-1),n+=r,s+=this.chunk.length-a}let o=this.chunk.length-4;return this.lang.streamParser.mergeTokens&&s==4&&o>=0&&this.chunk[o]==e&&this.chunk[o+2]==t?this.chunk[o+2]=n:this.chunk.push(e,t,n,s),r}parseLine(e){let{line:t,end:n}=this.nextLine(),r=0,{streamParser:s}=this.lang,o=new As(t,e?e.state.tabSize:4,e?gi(e.state):2);if(o.eol())s.blankLine(this.state,o.indentUnit);else for(;!o.eol();){let a=OO(s.token,o,this.state);if(a&&(r=this.emitToken(this.lang.tokenTable.resolve(a),this.parsedPos+o.start,this.parsedPos+o.pos,r)),o.start>1e4)break}this.parsedPos=n,this.moveRangeIndex(),this.parsedPose.start)return r}throw new Error("Stream parser failed to advance stream.")}var Tl=Object.create(null),hr=[Oe.none],kb=new Dt(hr),iO=[],nO=Object.create(null),dO=Object.create(null);for(let[i,e]of[["variable","variableName"],["variable-2","variableName.special"],["string-2","string.special"],["def","variableName.definition"],["tag","tagName"],["attribute","attributeName"],["type","typeName"],["builtin","variableName.standard"],["qualifier","modifier"],["error","invalid"],["header","heading"],["property","propertyName"]])dO[i]=pO(Tl,e);var Es=class{constructor(e){this.extra=e,this.table=Object.assign(Object.create(null),dO)}resolve(e){return e?this.table[e]||(this.table[e]=pO(this.extra,e)):0}},xb=new Es(Tl);function gl(i,e){iO.indexOf(i)>-1||(iO.push(i),console.warn(e))}function pO(i,e){let t=[];for(let a of e.split(" ")){let l=[];for(let c of a.split(".")){let h=i[c]||d[c];h?typeof h=="function"?l.length?l=l.map(h):gl(c,`Modifier ${c} used at start of tag`):l.length?gl(c,`Tag ${c} used as modifier`):l=Array.isArray(h)?h:[h]:gl(c,`Unknown highlighting tag ${c}`)}for(let c of l)t.push(c)}if(!t.length)return 0;let n=e.replace(/ /g,"_"),r=n+" "+t.map(a=>a.id),s=nO[r];if(s)return s.id;let o=nO[r]=Oe.define({id:hr.length,name:n,props:[Qe({[n]:t})]});return hr.push(o),o.id}function wb(i,e){let t=Oe.define({id:hr.length,name:"Document",props:[bt.add(()=>i),Pe.add(()=>n=>e.getIndent(n))],top:!0});return hr.push(t),t}var P$={rtl:R.mark({class:"cm-iso",inclusive:!0,attributes:{dir:"rtl"},bidiIsolate:ue.RTL}),ltr:R.mark({class:"cm-iso",inclusive:!0,attributes:{dir:"ltr"},bidiIsolate:ue.LTR}),auto:R.mark({class:"cm-iso",inclusive:!0,attributes:{dir:"auto"},bidiIsolate:null})};var Pb=i=>{let{state:e}=i,t=e.doc.lineAt(e.selection.main.from),n=El(i.state,t.from);return n.line?vb(i):n.block?Tb(i):!1};function Zl(i,e){return({state:t,dispatch:n})=>{if(t.readOnly)return!1;let r=i(e,t);return r?(n(t.update(r)),!0):!1}}var vb=Zl(_b,0);var $b=Zl(wO,0);var Tb=Zl((i,e)=>wO(i,e,Xb(e)),0);function El(i,e){let t=i.languageDataAt("commentTokens",e,1);return t.length?t[0]:{}}var ur=50;function Cb(i,{open:e,close:t},n,r){let s=i.sliceDoc(n-ur,n),o=i.sliceDoc(r,r+ur),a=/\s*$/.exec(s)[0].length,l=/^\s*/.exec(o)[0].length,c=s.length-a;if(s.slice(c-e.length,c)==e&&o.slice(l,l+t.length)==t)return{open:{pos:n-a,margin:a&&1},close:{pos:r+l,margin:l&&1}};let h,f;r-n<=2*ur?h=f=i.sliceDoc(n,r):(h=i.sliceDoc(n,n+ur),f=i.sliceDoc(r-ur,r));let u=/^\s*/.exec(h)[0].length,O=/\s*$/.exec(f)[0].length,p=f.length-O-t.length;return h.slice(u,u+e.length)==e&&f.slice(p,p+t.length)==t?{open:{pos:n+u+e.length,margin:/\s/.test(h.charAt(u+e.length))?1:0},close:{pos:r-O-t.length,margin:/\s/.test(f.charAt(p-1))?1:0}}:null}function Xb(i){let e=[];for(let t of i.selection.ranges){let n=i.doc.lineAt(t.from),r=t.to<=n.to?n:i.doc.lineAt(t.to);r.from>n.from&&r.from==t.to&&(r=t.to==n.to+1?n:i.doc.lineAt(t.to-1));let s=e.length-1;s>=0&&e[s].to>n.from?e[s].to=r.to:e.push({from:n.from+/^\s*/.exec(n.text)[0].length,to:r.to})}return e}function wO(i,e,t=e.selection.ranges){let n=t.map(s=>El(e,s.from).block);if(!n.every(s=>s))return null;let r=t.map((s,o)=>Cb(e,n[o],s.from,s.to));if(i!=2&&!r.every(s=>s))return{changes:e.changes(t.map((s,o)=>r[o]?[]:[{from:s.from,insert:n[o].open+" "},{from:s.to,insert:" "+n[o].close}]))};if(i!=1&&r.some(s=>s)){let s=[];for(let o=0,a;or&&(s==o||o>f.from)){r=f.from;let u=/^\s*/.exec(f.text)[0].length,O=u==f.length,p=f.text.slice(u,u+c.length)==c?u:-1;us.comment<0&&(!s.empty||s.single))){let s=[];for(let{line:a,token:l,indent:c,empty:h,single:f}of n)(f||!h)&&s.push({from:a.from+c,insert:l+" "});let o=e.changes(s);return{changes:o,selection:e.selection.map(o,1)}}else if(i!=1&&n.some(s=>s.comment>=0)){let s=[];for(let{line:o,comment:a,token:l}of n)if(a>=0){let c=o.from+a,h=c+l.length;o.text[h-o.from]==" "&&h++,s.push({from:c,to:h})}return{changes:s}}return null}var Xl=$e.define(),Rb=$e.define(),Ab=Y.define(),PO=Y.define({combine(i){return Yn(i,{minDepth:100,newGroupDelay:500,joinToEvent:(e,t)=>t},{minDepth:Math.max,newGroupDelay:Math.min,joinToEvent:(e,t)=>(n,r)=>e(n,r)||t(n,r)})}}),vO=he.define({create(){return Di.empty},update(i,e){let t=e.state.facet(PO),n=e.annotation(Xl);if(n){let l=yt.fromTransaction(e,n.selection),c=n.side,h=c==0?i.undone:i.done;return l?h=Ms(h,h.length,t.minDepth,l):h=XO(h,e.startState.selection),new Di(c==0?n.rest:h,c==0?h:n.rest)}let r=e.annotation(Rb);if((r=="full"||r=="before")&&(i=i.isolate()),e.annotation(pe.addToHistory)===!1)return e.changes.empty?i:i.addMapping(e.changes.desc);let s=yt.fromTransaction(e),o=e.annotation(pe.time),a=e.annotation(pe.userEvent);return s?i=i.addChanges(s,o,a,t,e):e.selection&&(i=i.addSelection(e.startState.selection,o,a,t.newGroupDelay)),(r=="full"||r=="after")&&(i=i.isolate()),i},toJSON(i){return{done:i.done.map(e=>e.toJSON()),undone:i.undone.map(e=>e.toJSON())}},fromJSON(i){return new Di(i.done.map(yt.fromJSON),i.undone.map(yt.fromJSON))}});function $O(i={}){return[vO,PO.of(i),z.domEventHandlers({beforeinput(e,t){let n=e.inputType=="historyUndo"?TO:e.inputType=="historyRedo"?_l:null;return n?(e.preventDefault(),n(t)):!1}})]}function Ws(i,e){return function({state:t,dispatch:n}){if(!e&&t.readOnly)return!1;let r=t.field(vO,!1);if(!r)return!1;let s=r.pop(i,t,e);return s?(n(s),!0):!1}}var TO=Ws(0,!1),_l=Ws(1,!1),Zb=Ws(0,!0),Eb=Ws(1,!0);var yt=class i{constructor(e,t,n,r,s){this.changes=e,this.effects=t,this.mapped=n,this.startSelection=r,this.selectionsAfter=s}setSelAfter(e){return new i(this.changes,this.effects,this.mapped,this.startSelection,e)}toJSON(){var e,t,n;return{changes:(e=this.changes)===null||e===void 0?void 0:e.toJSON(),mapped:(t=this.mapped)===null||t===void 0?void 0:t.toJSON(),startSelection:(n=this.startSelection)===null||n===void 0?void 0:n.toJSON(),selectionsAfter:this.selectionsAfter.map(r=>r.toJSON())}}static fromJSON(e){return new i(e.changes&&qe.fromJSON(e.changes),[],e.mapped&&zt.fromJSON(e.mapped),e.startSelection&&P.fromJSON(e.startSelection),e.selectionsAfter.map(P.fromJSON))}static fromTransaction(e,t){let n=ft;for(let r of e.startState.facet(Ab)){let s=r(e);s.length&&(n=n.concat(s))}return!n.length&&e.changes.empty?null:new i(e.changes.invert(e.startState.doc),n,void 0,t||e.startState.selection,ft)}static selection(e){return new i(void 0,ft,void 0,void 0,e)}};function Ms(i,e,t,n){let r=e+1>t+20?e-t-1:0,s=i.slice(r,e);return s.push(n),s}function qb(i,e){let t=[],n=!1;return i.iterChangedRanges((r,s)=>t.push(r,s)),e.iterChangedRanges((r,s,o,a)=>{for(let l=0;l=c&&o<=h&&(n=!0)}}),n}function zb(i,e){return i.ranges.length==e.ranges.length&&i.ranges.filter((t,n)=>t.empty!=e.ranges[n].empty).length===0}function CO(i,e){return i.length?e.length?i.concat(e):i:e}var ft=[],Lb=200;function XO(i,e){if(i.length){let t=i[i.length-1],n=t.selectionsAfter.slice(Math.max(0,t.selectionsAfter.length-Lb));return n.length&&n[n.length-1].eq(e)?i:(n.push(e),Ms(i,i.length-1,1e9,t.setSelAfter(n)))}else return[yt.selection([e])]}function Mb(i){let e=i[i.length-1],t=i.slice();return t[i.length-1]=e.setSelAfter(e.selectionsAfter.slice(0,e.selectionsAfter.length-1)),t}function Cl(i,e){if(!i.length)return i;let t=i.length,n=ft;for(;t;){let r=Wb(i[t-1],e,n);if(r.changes&&!r.changes.empty||r.effects.length){let s=i.slice(0,t);return s[t-1]=r,s}else e=r.mapped,t--,n=r.selectionsAfter}return n.length?[yt.selection(n)]:ft}function Wb(i,e,t){let n=CO(i.selectionsAfter.length?i.selectionsAfter.map(a=>a.map(e)):ft,t);if(!i.changes)return yt.selection(n);let r=i.changes.map(e),s=e.mapDesc(i.changes,!0),o=i.mapped?i.mapped.composeDesc(s):s;return new yt(r,te.mapEffects(i.effects,e),o,i.startSelection.map(s),n)}var jb=/^(input\.type|delete)($|\.)/,Di=class i{constructor(e,t,n=0,r=void 0){this.done=e,this.undone=t,this.prevTime=n,this.prevUserEvent=r}isolate(){return this.prevTime?new i(this.done,this.undone):this}addChanges(e,t,n,r,s){let o=this.done,a=o[o.length-1];return a&&a.changes&&!a.changes.empty&&e.changes&&(!n||jb.test(n))&&(!a.selectionsAfter.length&&t-this.prevTime0&&t-this.prevTimet.empty?i.moveByChar(t,e):js(t,e))}function Ae(i){return i.textDirectionAt(i.state.selection.main.head)==ue.LTR}var AO=i=>RO(i,!Ae(i)),ZO=i=>RO(i,Ae(i));function EO(i,e){return xt(i,t=>t.empty?i.moveByGroup(t,e):js(t,e))}var Vb=i=>EO(i,!Ae(i)),Db=i=>EO(i,Ae(i));var A$=typeof Intl<"u"&&Intl.Segmenter?new Intl.Segmenter(void 0,{granularity:"word"}):null;function Yb(i,e,t){if(e.type.prop(t))return!0;let n=e.to-e.from;return n&&(n>2||/[^\s,.;:]/.test(i.sliceDoc(e.from,e.to)))||e.firstChild}function Vs(i,e,t){let n=U(i).resolveInner(e.head),r=t?I.closedBy:I.openedBy;for(let l=e.head;;){let c=t?n.childAfter(l):n.childBefore(l);if(!c)break;Yb(i,c,r)?n=c:l=t?c.to:c.from}let s=n.type.prop(r),o,a;return s&&(o=t?Vi(i,n.from,1):Vi(i,n.to,-1))&&o.matched?a=t?o.end.to:o.end.from:a=t?n.to:n.from,P.cursor(a,t?-1:1)}var Ib=i=>xt(i,e=>Vs(i.state,e,!Ae(i))),Bb=i=>xt(i,e=>Vs(i.state,e,Ae(i)));function qO(i,e){return xt(i,t=>{if(!t.empty)return js(t,e);let n=i.moveVertically(t,e);return n.head!=t.head?n:i.moveToLineBoundary(t,e)})}var zO=i=>qO(i,!1),LO=i=>qO(i,!0);function MO(i){let e=i.scrollDOM.clientHeighto.empty?i.moveVertically(o,e,t.height):js(o,e));if(r.eq(n.selection))return!1;let s;if(t.selfScroll){let o=i.coordsAtPos(n.selection.main.head),a=i.scrollDOM.getBoundingClientRect(),l=a.top+t.marginTop,c=a.bottom-t.marginBottom;o&&o.top>l&&o.bottomWO(i,!1),Rl=i=>WO(i,!0);function Qi(i,e,t){let n=i.lineBlockAt(e.head),r=i.moveToLineBoundary(e,t);if(r.head==e.head&&r.head!=(t?n.to:n.from)&&(r=i.moveToLineBoundary(e,t,!1)),!t&&r.head==n.from&&n.length){let s=/^\s*/.exec(i.state.sliceDoc(n.from,Math.min(n.from+100,n.to)))[0].length;s&&e.head!=n.from+s&&(r=P.cursor(n.from+s))}return r}var Ub=i=>xt(i,e=>Qi(i,e,!0)),Gb=i=>xt(i,e=>Qi(i,e,!1)),Nb=i=>xt(i,e=>Qi(i,e,!Ae(i))),Fb=i=>xt(i,e=>Qi(i,e,Ae(i))),Hb=i=>xt(i,e=>P.cursor(i.lineBlockAt(e.head).from,1)),Kb=i=>xt(i,e=>P.cursor(i.lineBlockAt(e.head).to,-1));function Jb(i,e,t){let n=!1,r=xn(i.selection,s=>{let o=Vi(i,s.head,-1)||Vi(i,s.head,1)||s.head>0&&Vi(i,s.head-1,1)||s.headJb(i,e,!1);function ut(i,e,t){let n=xn(i.state.selection,r=>{r.undirectional&&r.head>=r.anchor!=e&&(r=P.range(r.head,r.anchor));let s=t(r);return P.range(r.anchor,s.head,s.goalColumn,s.bidiLevel||void 0,s.assoc)});return n.eq(i.state.selection)?!1:(i.dispatch(kt(i.state,n)),!0)}function jO(i,e){return ut(i,e,t=>i.moveByChar(t,e))}var VO=i=>jO(i,!Ae(i)),DO=i=>jO(i,Ae(i));function YO(i,e){return ut(i,e,t=>i.moveByGroup(t,e))}var tS=i=>YO(i,!Ae(i)),iS=i=>YO(i,Ae(i));var nS=i=>{let e=!Ae(i);return ut(i,e,t=>Vs(i.state,t,e))},rS=i=>{let e=Ae(i);return ut(i,e,t=>Vs(i.state,t,e))};function IO(i,e){return ut(i,e,t=>i.moveVertically(t,e))}var BO=i=>IO(i,!1),UO=i=>IO(i,!0);function GO(i,e){return ut(i,e,t=>i.moveVertically(t,e,MO(i).height))}var gO=i=>GO(i,!1),QO=i=>GO(i,!0),sS=i=>ut(i,!0,e=>Qi(i,e,!0)),oS=i=>ut(i,!1,e=>Qi(i,e,!1)),aS=i=>{let e=!Ae(i);return ut(i,e,t=>Qi(i,t,e))},lS=i=>{let e=Ae(i);return ut(i,e,t=>Qi(i,t,e))},cS=i=>ut(i,!1,e=>P.cursor(i.lineBlockAt(e.head).from)),hS=i=>ut(i,!0,e=>P.cursor(i.lineBlockAt(e.head).to)),bO=({state:i,dispatch:e})=>(e(kt(i,{anchor:0})),!0),SO=({state:i,dispatch:e})=>(e(kt(i,{anchor:i.doc.length})),!0),yO=({state:i,dispatch:e})=>(e(kt(i,{anchor:i.selection.main.anchor,head:0})),!0),kO=({state:i,dispatch:e})=>(e(kt(i,{anchor:i.selection.main.anchor,head:i.doc.length})),!0),fS=({state:i,dispatch:e})=>(e(i.update({selection:{anchor:0,head:i.doc.length},userEvent:"select"})),!0),uS=({state:i,dispatch:e})=>{let t=Ds(i).map(({from:n,to:r})=>P.range(n,Math.min(r+1,i.doc.length)));return e(i.update({selection:P.create(t),userEvent:"select"})),!0},OS=({state:i,dispatch:e})=>{let t=xn(i.selection,n=>{let r=U(i),s=r.resolveStack(n.from,1);if(n.empty){let o=r.resolveStack(n.from,-1);o.node.from>=s.node.from&&o.node.to<=s.node.to&&(s=o)}for(let o=s;o;o=o.next){let{node:a}=o;if((a.from=n.to||a.to>n.to&&a.from<=n.from)&&o.next)return P.range(a.to,a.from)}return n});return t.eq(i.selection)?!1:(e(kt(i,t)),!0)};function NO(i,e){let{state:t}=i,n=t.selection,r=t.selection.ranges.slice();for(let s of t.selection.ranges){let o=t.doc.lineAt(s.head);if(e?o.to0)for(let a=s;;){let l=i.moveVertically(a,e);if(l.heado.to){r.some(c=>c.head==l.head)||r.push(l);break}else{if(l.head==a.head)break;a=l}}}return r.length==n.ranges.length?!1:(i.dispatch(kt(t,P.create(r,r.length-1))),!0)}var dS=i=>NO(i,!1),pS=i=>NO(i,!0),mS=({state:i,dispatch:e})=>{let t=i.selection,n=null;return t.ranges.length>1?n=P.create([t.main]):t.main.empty||(n=P.create([P.cursor(t.main.head)])),n?(e(kt(i,n)),!0):!1};function Or(i,e){if(i.state.readOnly)return!1;let t="delete.selection",{state:n}=i,r=n.changeByRange(s=>{let{from:o,to:a}=s;if(o==a){let l=e(s);lo&&(t="delete.forward",l=Ls(i,l,!0)),o=Math.min(o,l),a=Math.max(a,l)}else o=Ls(i,o,!1),a=Ls(i,a,!0);return o==a?{range:s}:{changes:{from:o,to:a},range:P.cursor(o,or(i)))n.between(e,e,(r,s)=>{re&&(e=t?s:r)});return e}var FO=(i,e,t)=>Or(i,n=>{let r=n.from,{state:s}=i,o=s.doc.lineAt(r),a,l;if(t&&!e&&r>o.from&&rFO(i,!1,!0);var HO=i=>FO(i,!0,!1),KO=(i,e)=>Or(i,t=>{let n=t.head,{state:r}=i,s=r.doc.lineAt(n),o=r.charCategorizer(n);for(let a=null;;){if(n==(e?s.to:s.from)){n==t.head&&s.number!=(e?r.doc.lines:1)&&(n+=e?1:-1);break}let l=xe(s.text,n-s.from,e)+s.from,c=s.text.slice(Math.min(n,l)-s.from,Math.max(n,l)-s.from),h=o(c);if(a!=null&&h!=a)break;(c!=" "||n!=t.head)&&(a=h),n=l}return n}),JO=i=>KO(i,!1),gS=i=>KO(i,!0);var QS=i=>Or(i,e=>{let t=i.lineBlockAt(e.head).to;return e.headOr(i,e=>{let t=i.moveToLineBoundary(e,!1).head;return e.head>t?t:Math.max(0,e.head-1)}),SS=i=>Or(i,e=>{let t=i.moveToLineBoundary(e,!0).head;return e.head{if(i.readOnly)return!1;let t=i.changeByRange(n=>({changes:{from:n.from,to:n.to,insert:K.of(["",""])},range:P.cursor(n.from)}));return e(i.update(t,{scrollIntoView:!0,userEvent:"input"})),!0},kS=({state:i,dispatch:e})=>{if(i.readOnly)return!1;let t=i.changeByRange(n=>{if(!n.empty||n.from==0||n.from==i.doc.length)return{range:n};let r=n.from,s=i.doc.lineAt(r),o=r==s.from?r-1:xe(s.text,r-s.from,!1)+s.from,a=r==s.to?r+1:xe(s.text,r-s.from,!0)+s.from;return{changes:{from:o,to:a,insert:i.doc.slice(r,a).append(i.doc.slice(o,r))},range:P.cursor(a)}});return t.changes.empty?!1:(e(i.update(t,{scrollIntoView:!0,userEvent:"move.character"})),!0)};function Ds(i){let e=[],t=-1;for(let n of i.selection.ranges){let r=i.doc.lineAt(n.from),s=i.doc.lineAt(n.to);if(!n.empty&&n.to==s.from&&(s=i.doc.lineAt(n.to-1)),t>=r.number){let o=e[e.length-1];o.to=s.to,o.ranges.push(n)}else e.push({from:r.from,to:s.to,ranges:[n]});t=s.number+1}return e}function ed(i,e,t){if(i.readOnly)return!1;let n=[],r=[];for(let s of Ds(i)){if(t?s.to==i.doc.length:s.from==0)continue;let o=i.doc.lineAt(t?s.to+1:s.from-1),a=o.length+1;if(t){n.push({from:s.to,to:o.to},{from:s.from,insert:o.text+i.lineBreak});for(let l of s.ranges)r.push(P.range(Math.min(i.doc.length,l.anchor+a),Math.min(i.doc.length,l.head+a)))}else{n.push({from:o.from,to:s.from},{from:s.to,insert:i.lineBreak+o.text});for(let l of s.ranges)r.push(P.range(l.anchor-a,l.head-a))}}return n.length?(e(i.update({changes:n,scrollIntoView:!0,selection:P.create(r,i.selection.mainIndex),userEvent:"move.line"})),!0):!1}var xS=({state:i,dispatch:e})=>ed(i,e,!1),wS=({state:i,dispatch:e})=>ed(i,e,!0);function td(i,e,t){if(i.readOnly)return!1;let n=[];for(let s of Ds(i))t?n.push({from:s.from,insert:i.doc.slice(s.from,s.to)+i.lineBreak}):n.push({from:s.to,insert:i.lineBreak+i.doc.slice(s.from,s.to)});let r=i.changes(n);return e(i.update({changes:r,selection:i.selection.map(r,t?1:-1),scrollIntoView:!0,userEvent:"input.copyline"})),!0}var PS=({state:i,dispatch:e})=>td(i,e,!1),vS=({state:i,dispatch:e})=>td(i,e,!0),$S=i=>{if(i.state.readOnly)return!1;let{state:e}=i,t=e.changes(Ds(e).map(({from:r,to:s})=>(r>0?r--:s{let s;if(i.lineWrapping){let o=i.lineBlockAt(r.head),a=i.coordsAtPos(r.head,r.assoc||1);a&&(s=o.bottom+i.documentTop-a.bottom+i.defaultLineHeight/2)}return i.moveVertically(r,!0,s)}).map(t);return i.dispatch({changes:t,selection:n,scrollIntoView:!0,userEvent:"delete.line"}),!0};function TS(i,e){if(/\(\)|\[\]|\{\}/.test(i.sliceDoc(e-1,e+1)))return{from:e,to:e};let t=U(i).resolveInner(e),n=t.childBefore(e),r=t.childAfter(e),s;return n&&r&&n.to<=e&&r.from>=e&&(s=n.type.prop(I.closedBy))&&s.indexOf(r.name)>-1&&i.doc.lineAt(n.to).from==i.doc.lineAt(r.from).from&&!/\S/.test(i.sliceDoc(n.to,r.from))?{from:n.to,to:r.from}:null}var xO=id(!1),CS=id(!0);function id(i){return({state:e,dispatch:t})=>{if(e.readOnly)return!1;let n=e.changeByRange(r=>{let{from:s,to:o}=r,a=e.doc.lineAt(s),l=!i&&s==o&&TS(e,s);i&&(s=o=(o<=a.to?a:e.doc.lineAt(o)).to);let c=new ji(e,{simulateBreak:s,simulateDoubleBreak:!!l}),h=Pl(c,s);for(h==null&&(h=Ne(/^\s*/.exec(e.doc.lineAt(s).text)[0],e.tabSize));oa.from&&s{let r=[];for(let o=n.from;o<=n.to;){let a=i.doc.lineAt(o);a.number>t&&(n.empty||n.to>a.from)&&(e(a,r,n),t=a.number),o=a.to+1}let s=i.changes(r);return{changes:r,range:P.range(s.mapPos(n.anchor,1),s.mapPos(n.head,1))}})}var XS=({state:i,dispatch:e})=>{if(i.readOnly)return!1;let t=Object.create(null),n=new ji(i,{overrideIndentation:s=>{let o=t[s];return o??-1}}),r=ql(i,(s,o,a)=>{let l=Pl(n,s.from);if(l==null)return;/\S/.test(s.text)||(l=0);let c=/^\s*/.exec(s.text)[0],h=fr(i,l);(c!=h||a.fromi.readOnly?!1:(e(i.update(ql(i,(t,n)=>{n.push({from:t.from,insert:i.facet(Rt)})}),{userEvent:"input.indent"})),!0),zl=({state:i,dispatch:e})=>i.readOnly?!1:(e(i.update(ql(i,(t,n)=>{let r=/^\s*/.exec(t.text)[0];if(!r)return;let s=Ne(r,i.tabSize),o=0,a=fr(i,Math.max(0,s-gi(i)));for(;o(i.setTabFocusMode(),!0);var Ll=({state:i,dispatch:e})=>i.selection.ranges.some(t=>!t.empty)?nd({state:i,dispatch:e}):(e(i.update(i.replaceSelection(" "),{scrollIntoView:!0,userEvent:"input"})),!0),RS=[{key:"Ctrl-b",run:AO,shift:VO,preventDefault:!0},{key:"Ctrl-f",run:ZO,shift:DO},{key:"Ctrl-p",run:zO,shift:BO},{key:"Ctrl-n",run:LO,shift:UO},{key:"Ctrl-a",run:Hb,shift:cS},{key:"Ctrl-e",run:Kb,shift:hS},{key:"Ctrl-d",run:HO},{key:"Ctrl-h",run:Al},{key:"Ctrl-k",run:QS},{key:"Ctrl-Alt-h",run:JO},{key:"Ctrl-o",run:yS},{key:"Ctrl-t",run:kS},{key:"Ctrl-v",run:Rl}],AS=[{key:"ArrowLeft",run:AO,shift:VO,preventDefault:!0},{key:"Mod-ArrowLeft",mac:"Alt-ArrowLeft",run:Vb,shift:tS,preventDefault:!0},{mac:"Cmd-ArrowLeft",run:Nb,shift:aS,preventDefault:!0},{key:"ArrowRight",run:ZO,shift:DO,preventDefault:!0},{key:"Mod-ArrowRight",mac:"Alt-ArrowRight",run:Db,shift:iS,preventDefault:!0},{mac:"Cmd-ArrowRight",run:Fb,shift:lS,preventDefault:!0},{key:"ArrowUp",run:zO,shift:BO,preventDefault:!0},{mac:"Cmd-ArrowUp",run:bO,shift:yO},{mac:"Ctrl-ArrowUp",run:mO,shift:gO},{key:"ArrowDown",run:LO,shift:UO,preventDefault:!0},{mac:"Cmd-ArrowDown",run:SO,shift:kO},{mac:"Ctrl-ArrowDown",run:Rl,shift:QO},{key:"PageUp",run:mO,shift:gO},{key:"PageDown",run:Rl,shift:QO},{key:"Home",run:Gb,shift:oS,preventDefault:!0},{key:"Mod-Home",run:bO,shift:yO},{key:"End",run:Ub,shift:sS,preventDefault:!0},{key:"Mod-End",run:SO,shift:kO},{key:"Enter",run:xO,shift:xO},{key:"Mod-a",run:fS},{key:"Backspace",run:Al,shift:Al,preventDefault:!0},{key:"Delete",run:HO,preventDefault:!0},{key:"Mod-Backspace",mac:"Alt-Backspace",run:JO,preventDefault:!0},{key:"Mod-Delete",mac:"Alt-Delete",run:gS,preventDefault:!0},{mac:"Mod-Backspace",run:bS,preventDefault:!0},{mac:"Mod-Delete",run:SS,preventDefault:!0}].concat(RS.map(i=>({mac:i.key,run:i.run,shift:i.shift}))),rd=[{key:"Alt-ArrowLeft",mac:"Ctrl-ArrowLeft",run:Ib,shift:nS},{key:"Alt-ArrowRight",mac:"Ctrl-ArrowRight",run:Bb,shift:rS},{key:"Alt-ArrowUp",run:xS},{key:"Shift-Alt-ArrowUp",run:PS},{key:"Alt-ArrowDown",run:wS},{key:"Shift-Alt-ArrowDown",run:vS},{key:"Mod-Alt-ArrowUp",run:dS},{key:"Mod-Alt-ArrowDown",run:pS},{key:"Escape",run:mS},{key:"Mod-Enter",run:CS},{key:"Alt-l",mac:"Ctrl-l",run:uS},{key:"Mod-i",run:OS,preventDefault:!0},{key:"Mod-[",run:zl},{key:"Mod-]",run:nd},{key:"Mod-Alt-\\",run:XS},{key:"Shift-Mod-k",run:$S},{key:"Shift-Mod-\\",run:eS},{key:"Mod-/",run:Pb},{key:"Alt-A",run:$b},{key:"Ctrl-m",mac:"Shift-Alt-m",run:_S}].concat(AS);var Ys=class{constructor(e,t,n,r){this.state=e,this.pos=t,this.explicit=n,this.view=r,this.abortListeners=[],this.abortOnDocChange=!1}tokenBefore(e){let t=U(this.state).resolveInner(this.pos,-1);for(;t&&e.indexOf(t.name)<0;)t=t.parent;return t?{from:t.from,to:this.pos,text:this.state.sliceDoc(t.from,this.pos),type:t.type}:null}matchBefore(e){let t=this.state.doc.lineAt(this.pos),n=Math.max(t.from,this.pos-250),r=t.text.slice(n-t.from,this.pos-t.from),s=r.search(ES(e,!1));return s<0?null:{from:n+s,to:this.pos,text:r.slice(s)}}get aborted(){return this.abortListeners==null}addEventListener(e,t,n){e=="abort"&&this.abortListeners&&(this.abortListeners.push(t),n&&n.onDocChange&&(this.abortOnDocChange=!0))}};function sd(i){let e=Object.keys(i).join(""),t=/\w/.test(e);return t&&(e=e.replace(/\w/g,"")),`[${t?"\\w":""}${e.replace(/[^\w\s]/g,"\\$&")}]`}function ZS(i){let e=Object.create(null),t=Object.create(null);for(let{label:r}of i){e[r[0]]=!0;for(let s=1;stypeof r=="string"?{label:r}:r),[t,n]=e.every(r=>/^\w+$/.test(r.label))?[/\w*$/,/\w+$/]:ZS(e);return r=>{let s=r.matchBefore(n);return s||r.explicit?{from:s?s.from:r.pos,options:e,validFor:t}:null}}function Bs(i,e){return t=>{for(let n=U(t.state).resolveInner(t.pos,-1);n;n=n.parent){if(i.indexOf(n.name)>-1)return null;if(n.type.isTop)break}return e(t)}}function ES(i,e){var t;let{source:n}=i,r=e&&n[0]!="^",s=n[n.length-1]!="$";return!r&&!s?i:new RegExp(`${r?"^":""}(?:${n})${s?"$":""}`,(t=i.flags)!==null&&t!==void 0?t:i.ignoreCase?"i":"")}var qS=$e.define();var W$=typeof navigator=="object"&&/Win/.test(navigator.platform);var zS=z.baseTheme({".cm-tooltip.cm-tooltip-autocomplete":{"& > ul":{fontFamily:"monospace",whiteSpace:"nowrap",overflow:"hidden auto",maxWidth_fallback:"700px",maxWidth:"min(700px, 95vw)",minWidth:"250px",maxHeight:"10em",height:"100%",listStyle:"none",margin:0,padding:0,"& > li, & > completion-section":{padding:"1px 3px",lineHeight:1.2},"& > li":{overflowX:"hidden",textOverflow:"ellipsis",cursor:"pointer"},"& > completion-section":{display:"list-item",borderBottom:"1px solid silver",paddingLeft:"0.5em",opacity:.7}}},"&light .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#17c",color:"white"},"&light .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#777"},"&dark .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#347",color:"white"},"&dark .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#444"},".cm-completionListIncompleteTop:before, .cm-completionListIncompleteBottom:after":{content:'"\xB7\xB7\xB7"',opacity:.5,display:"block",textAlign:"center",cursor:"pointer"},".cm-tooltip.cm-completionInfo":{position:"absolute",padding:"3px 9px",width:"max-content",maxWidth:"400px",boxSizing:"border-box",whiteSpace:"pre-line"},".cm-completionInfo.cm-completionInfo-left":{right:"100%"},".cm-completionInfo.cm-completionInfo-right":{left:"100%"},".cm-completionInfo.cm-completionInfo-left-narrow":{right:"30px"},".cm-completionInfo.cm-completionInfo-right-narrow":{left:"30px"},"&light .cm-snippetField":{backgroundColor:"#00000022"},"&dark .cm-snippetField":{backgroundColor:"#ffffff22"},".cm-snippetFieldPosition":{verticalAlign:"text-top",width:0,height:"1.15em",display:"inline-block",margin:"0 -0.7px -.7em",borderLeft:"1.4px dotted #888"},".cm-completionMatchedText":{textDecoration:"underline"},".cm-completionDetail":{marginLeft:"0.5em",fontStyle:"italic"},".cm-completionIcon":{fontSize:"90%",width:".8em",display:"inline-block",textAlign:"center",paddingRight:".6em",opacity:"0.6",boxSizing:"content-box"},".cm-completionIcon-function, .cm-completionIcon-method":{"&:after":{content:"'\u0192'"}},".cm-completionIcon-class":{"&:after":{content:"'\u25CB'"}},".cm-completionIcon-interface":{"&:after":{content:"'\u25CC'"}},".cm-completionIcon-variable":{"&:after":{content:"'\u{1D465}'"}},".cm-completionIcon-constant":{"&:after":{content:"'\u{1D436}'"}},".cm-completionIcon-type":{"&:after":{content:"'\u{1D461}'"}},".cm-completionIcon-enum":{"&:after":{content:"'\u222A'"}},".cm-completionIcon-property":{"&:after":{content:"'\u25A1'"}},".cm-completionIcon-keyword":{"&:after":{content:"'\u{1F511}\uFE0E'"}},".cm-completionIcon-namespace":{"&:after":{content:"'\u25A2'"}},".cm-completionIcon-text":{"&:after":{content:"'abc'",fontSize:"50%",verticalAlign:"middle"}}}),Wl=class{constructor(e,t,n,r){this.field=e,this.line=t,this.from=n,this.to=r}},jl=class i{constructor(e,t,n){this.field=e,this.from=t,this.to=n}map(e){let t=e.mapPos(this.from,-1,ge.TrackDel),n=e.mapPos(this.to,1,ge.TrackDel);return t==null||n==null?null:new i(this.field,t,n)}},Vl=class i{constructor(e,t){this.lines=e,this.fieldPositions=t}instantiate(e,t){let n=[],r=[t],s=e.doc.lineAt(t),o=/^\s*/.exec(s.text)[0];for(let l of this.lines){if(n.length){let c=o,h=/^\t*/.exec(l)[0].length;for(let f=0;fnew jl(l.field,r[l.line]+l.from,r[l.line]+l.to));return{text:n,ranges:a}}static parse(e){let t=[],n=[],r=[],s;for(let o of e.split(/\r\n?|\n/)){for(;s=/[#$]\{(?:(\d+)(?::([^{}]*))?|((?:\\[{}]|[^{}])*))\}/.exec(o);){let a=s[1]?+s[1]:null,l=s[2]||s[3]||"",c=-1;a===0&&(a=1e9);let h=l.replace(/\\[{}]/g,f=>f[1]);for(let f=0;f=c&&u.field++}for(let f of r)if(f.line==n.length&&f.from>s.index){let u=s[2]?3+(s[1]||"").length:2;f.from-=u,f.to-=u}r.push(new Wl(c,n.length,s.index,s.index+h.length)),o=o.slice(0,s.index)+l+o.slice(s.index+s[0].length)}o=o.replace(/\\([{}])/g,(a,l,c)=>{for(let h of r)h.line==n.length&&h.from>c&&(h.from--,h.to--);return l}),n.push(o)}return new i(n,r)}},LS=R.widget({widget:new class extends Te{toDOM(){let i=document.createElement("span");return i.className="cm-snippetFieldPosition",i}ignoreEvent(){return!1}}}),MS=R.mark({class:"cm-snippetField"}),wn=class i{constructor(e,t){this.ranges=e,this.active=t,this.deco=R.set(e.map(n=>(n.from==n.to?LS:MS).range(n.from,n.to)),!0)}map(e){let t=[];for(let n of this.ranges){let r=n.map(e);if(!r)return null;t.push(r)}return new i(t,this.active)}selectionInsideField(e){return e.ranges.every(t=>this.ranges.some(n=>n.field==this.active&&n.from<=t.from&&n.to>=t.to))}},mr=te.define({map(i,e){return i&&i.map(e)}}),WS=te.define(),dr=he.define({create(){return null},update(i,e){for(let t of e.effects){if(t.is(mr))return t.value;if(t.is(WS)&&i)return new wn(i.ranges,t.value)}return i&&e.docChanged&&(i=i.map(e.changes)),i&&e.selection&&!i.selectionInsideField(e.selection)&&(i=null),i},provide:i=>z.decorations.from(i,e=>e?e.deco:R.none)});function Dl(i,e){return P.create(i.filter(t=>t.field==e).map(t=>P.range(t.from,t.to)))}function jS(i){let e=Vl.parse(i);return(t,n,r,s)=>{let{text:o,ranges:a}=e.instantiate(t.state,r),{main:l}=t.state.selection,c={changes:{from:r,to:s==l.from?l.to:s,insert:K.of(o)},scrollIntoView:!0,annotations:n?[qS.of(n),pe.userEvent.of("input.complete")]:void 0};if(a.length&&(c.selection=Dl(a,0)),a.some(h=>h.field>0)){let h=new wn(a,0),f=c.effects=[mr.of(h)];t.state.field(dr,!1)===void 0&&f.push(te.appendConfig.of([dr,BS,US,zS]))}t.dispatch(t.state.update(c))}}function cd(i){return({state:e,dispatch:t})=>{let n=e.field(dr,!1);if(!n||i<0&&n.active==0)return!1;let r=n.active+i,s=i>0&&!n.ranges.some(o=>o.field==r+i);return t(e.update({selection:Dl(n.ranges,r),effects:mr.of(s?null:new wn(n.ranges,r)),scrollIntoView:!0})),!0}}var VS=({state:i,dispatch:e})=>i.field(dr,!1)?(e(i.update({effects:mr.of(null)})),!0):!1,DS=cd(1),YS=cd(-1);var IS=[{key:"Tab",run:DS,shift:YS},{key:"Escape",run:VS}],od=Y.define({combine(i){return i.length?i[0]:IS}}),BS=nt.highest(fi.compute([od],i=>i.facet(od)));function ce(i,e){return{...e,apply:jS(i)}}var US=z.domEventHandlers({mousedown(i,e){let t=e.state.field(dr,!1),n;if(!t||(n=e.posAtCoords({x:i.clientX,y:i.clientY}))==null)return!1;let r=t.ranges.find(s=>s.from<=n&&s.to>=n);return!r||r.field==t.active?!1:(e.dispatch({selection:Dl(t.ranges,r.field),effects:mr.of(t.ranges.some(s=>s.field>r.field)?new wn(t.ranges,r.field):null),scrollIntoView:!0}),!0)}});var pr={brackets:["(","[","{","'",'"'],before:")]}:;>",stringPrefixes:[]},Yi=te.define({map(i,e){let t=e.mapPos(i,-1,ge.TrackAfter);return t??void 0}}),Yl=new class extends it{};Yl.startSide=1;Yl.endSide=-1;var hd=he.define({create(){return ae.empty},update(i,e){if(i=i.map(e.changes),e.selection){let t=e.state.doc.lineAt(e.selection.main.head);i=i.update({filter:n=>n>=t.from&&n<=t.to})}for(let t of e.effects)t.is(Yi)&&(i=i.update({add:[Yl.range(t.value,t.value+1)]}));return i}});function fd(){return[NS,hd]}var Ml="()[]{}<>\xAB\xBB\xBB\xAB\uFF3B\uFF3D\uFF5B\uFF5D";function ud(i){for(let e=0;e{if((GS?i.composing:i.compositionStarted)||i.state.readOnly)return!1;let r=i.state.selection.main;if(n.length>2||n.length==2&&on(si(n,0))==1||e!=r.from||t!=r.to)return!1;let s=HS(i.state,n);return s?(i.dispatch(s),!0):!1}),FS=({state:i,dispatch:e})=>{if(i.readOnly)return!1;let n=Od(i,i.selection.main.head).brackets||pr.brackets,r=null,s=i.changeByRange(o=>{if(o.empty){let a=KS(i.doc,o.head);for(let l of n)if(l==a&&Us(i.doc,o.head)==ud(si(l,0)))return{changes:{from:o.head-l.length,to:o.head+l.length},range:P.cursor(o.head-l.length)}}return{range:r=o}});return r||e(i.update(s,{scrollIntoView:!0,userEvent:"delete.backward"})),!r},dd=[{key:"Backspace",run:FS}];function HS(i,e){let t=Od(i,i.selection.main.head),n=t.brackets||pr.brackets;for(let r of n){let s=ud(si(r,0));if(e==r)return s==r?ty(i,r,n.indexOf(r+r+r)>-1,t):JS(i,r,s,t.before||pr.before);if(e==s&&pd(i,i.selection.main.from))return ey(i,r,s)}return null}function pd(i,e){let t=!1;return i.field(hd).between(0,i.doc.length,n=>{n==e&&(t=!0)}),t}function Us(i,e){let t=i.sliceString(e,e+2);return t.slice(0,on(si(t,0)))}function KS(i,e){let t=i.sliceString(e-2,e);return on(si(t,0))==t.length?t:t.slice(1)}function JS(i,e,t,n){let r=null,s=i.changeByRange(o=>{if(!o.empty)return{changes:[{insert:e,from:o.from},{insert:t,from:o.to}],effects:Yi.of(o.to+e.length),range:P.range(o.anchor+e.length,o.head+e.length)};let a=Us(i.doc,o.head);return!a||/\s/.test(a)||n.indexOf(a)>-1?{changes:{insert:e+t,from:o.head},effects:Yi.of(o.head+e.length),range:P.cursor(o.head+e.length)}:{range:r=o}});return r?null:i.update(s,{scrollIntoView:!0,userEvent:"input.type"})}function ey(i,e,t){let n=null,r=i.changeByRange(s=>s.empty&&Us(i.doc,s.head)==t?{changes:{from:s.head,to:s.head+t.length,insert:t},range:P.cursor(s.head+t.length)}:n={range:s});return n?null:i.update(r,{scrollIntoView:!0,userEvent:"input.type"})}function ty(i,e,t,n){let r=n.stringPrefixes||pr.stringPrefixes,s=null,o=i.changeByRange(a=>{if(!a.empty)return{changes:[{insert:e,from:a.from},{insert:e,from:a.to}],effects:Yi.of(a.to+e.length),range:P.range(a.anchor+e.length,a.head+e.length)};let l=a.head,c=Us(i.doc,l),h;if(c==e){if(ad(i,l))return{changes:{insert:e+e,from:l},effects:Yi.of(l+e.length),range:P.cursor(l+e.length)};if(pd(i,l)){let u=t&&i.sliceDoc(l,l+e.length*3)==e+e+e?e+e+e:e;return{changes:{from:l,to:l+u.length,insert:u},range:P.cursor(l+u.length)}}}else{if(t&&i.sliceDoc(l-2*e.length,l)==e+e&&(h=ld(i,l-2*e.length,r))>-1&&ad(i,h))return{changes:{insert:e+e+e+e,from:l},effects:Yi.of(l+e.length),range:P.cursor(l+e.length)};if(i.charCategorizer(l)(c)!=Ee.Word&&ld(i,l,r)>-1&&!iy(i,l,e,r))return{changes:{insert:e+e,from:l},effects:Yi.of(l+e.length),range:P.cursor(l+e.length)}}return{range:s=a}});return s?null:i.update(o,{scrollIntoView:!0,userEvent:"input.type"})}function ad(i,e){let t=U(i).resolveInner(e+1);return t.parent&&t.from==e}function iy(i,e,t,n){let r=U(i).resolveInner(e,-1),s=n.reduce((o,a)=>Math.max(o,a.length),0);for(let o=0;o<5;o++){let a=i.sliceDoc(r.from,Math.min(r.to,r.from+t.length+s)),l=a.indexOf(t);if(!l||l>-1&&n.indexOf(a.slice(0,l))>-1){let h=r.firstChild;for(;h&&h.from==r.from&&h.to-h.from>t.length+l;){if(i.sliceDoc(h.to-t.length,h.to)==t)return!1;h=h.firstChild}return!0}let c=r.to==e&&r.parent;if(!c)break;r=c}return!1}function ld(i,e,t){let n=i.charCategorizer(e);if(n(i.sliceDoc(e-1,e))!=Ee.Word)return e;for(let r of t){let s=e-r.length;if(i.sliceDoc(s,e)==r&&n(i.sliceDoc(s-1,s))!=Ee.Word)return s}return-1}var Fs=class i{static create(e,t,n,r,s){let o=r+(r<<8)+e+(t<<4)|0;return new i(e,t,n,o,s,[],[])}constructor(e,t,n,r,s,o,a){this.type=e,this.value=t,this.from=n,this.hash=r,this.end=s,this.children=o,this.positions=a,this.hashProp=[[I.contextHash,r]]}addChild(e,t){e.prop(I.contextHash)!=this.hash&&(e=new H(e.type,e.children,e.positions,e.length,this.hashProp)),this.children.push(e),this.positions.push(t)}toTree(e,t=this.end){let n=this.children.length-1;return n>=0&&(t=Math.max(t,this.positions[n]+this.children[n].length+this.from)),new H(e.types[this.type],this.children,this.positions,t-this.from).balance({makeTree:(r,s,o)=>new H(Oe.none,r,s,o,this.hashProp)})}},Z;(function(i){i[i.Document=1]="Document",i[i.CodeBlock=2]="CodeBlock",i[i.FencedCode=3]="FencedCode",i[i.Blockquote=4]="Blockquote",i[i.HorizontalRule=5]="HorizontalRule",i[i.BulletList=6]="BulletList",i[i.OrderedList=7]="OrderedList",i[i.ListItem=8]="ListItem",i[i.ATXHeading1=9]="ATXHeading1",i[i.ATXHeading2=10]="ATXHeading2",i[i.ATXHeading3=11]="ATXHeading3",i[i.ATXHeading4=12]="ATXHeading4",i[i.ATXHeading5=13]="ATXHeading5",i[i.ATXHeading6=14]="ATXHeading6",i[i.SetextHeading1=15]="SetextHeading1",i[i.SetextHeading2=16]="SetextHeading2",i[i.HTMLBlock=17]="HTMLBlock",i[i.LinkReference=18]="LinkReference",i[i.Paragraph=19]="Paragraph",i[i.CommentBlock=20]="CommentBlock",i[i.ProcessingInstructionBlock=21]="ProcessingInstructionBlock",i[i.Escape=22]="Escape",i[i.Entity=23]="Entity",i[i.HardBreak=24]="HardBreak",i[i.Emphasis=25]="Emphasis",i[i.StrongEmphasis=26]="StrongEmphasis",i[i.Link=27]="Link",i[i.Image=28]="Image",i[i.InlineCode=29]="InlineCode",i[i.HTMLTag=30]="HTMLTag",i[i.Comment=31]="Comment",i[i.ProcessingInstruction=32]="ProcessingInstruction",i[i.Autolink=33]="Autolink",i[i.HeaderMark=34]="HeaderMark",i[i.QuoteMark=35]="QuoteMark",i[i.ListMark=36]="ListMark",i[i.LinkMark=37]="LinkMark",i[i.EmphasisMark=38]="EmphasisMark",i[i.CodeMark=39]="CodeMark",i[i.CodeText=40]="CodeText",i[i.CodeInfo=41]="CodeInfo",i[i.LinkTitle=42]="LinkTitle",i[i.LinkLabel=43]="LinkLabel",i[i.URL=44]="URL"})(Z||(Z={}));var Ul=class{constructor(e,t){this.start=e,this.content=t,this.marks=[],this.parsers=[]}},Gl=class{constructor(){this.text="",this.baseIndent=0,this.basePos=0,this.depth=0,this.markers=[],this.pos=0,this.indent=0,this.next=-1}forward(){this.basePos>this.pos&&this.forwardInner()}forwardInner(){let e=this.skipSpace(this.basePos);this.indent=this.countIndent(e,this.pos,this.indent),this.pos=e,this.next=e==this.text.length?-1:this.text.charCodeAt(e)}skipSpace(e){return Qr(this.text,e)}reset(e){for(this.text=e,this.baseIndent=this.basePos=this.pos=this.indent=0,this.forwardInner(),this.depth=1;this.markers.length;)this.markers.pop()}moveBase(e){this.basePos=e,this.baseIndent=this.countIndent(e,this.pos,this.indent)}moveBaseColumn(e){this.baseIndent=e,this.basePos=this.findColumn(e)}addMarker(e){this.markers.push(e)}countIndent(e,t=0,n=0){for(let r=t;r=e.stack[t.depth+1].value+t.baseIndent)return!0;if(t.indent>=t.baseIndent+4)return!1;let n=(i.type==Z.OrderedList?oc:sc)(t,e,!1);return n>0&&(i.type!=Z.BulletList||rc(t,e,!1)<0)&&t.text.charCodeAt(t.pos+n-1)==i.value}var $d={[Z.Blockquote](i,e,t){return t.next!=62?!1:(t.markers.push(ie(Z.QuoteMark,e.lineStart+t.pos,e.lineStart+t.pos+1)),t.moveBase(t.pos+(Ot(t.text.charCodeAt(t.pos+1))?2:1)),i.end=e.lineStart+t.text.length,!0)},[Z.ListItem](i,e,t){return t.indent-1?!1:(t.moveBaseColumn(t.baseIndent+i.value),!0)},[Z.OrderedList]:md,[Z.BulletList]:md,[Z.Document](){return!0}};function Ot(i){return i==32||i==9||i==10||i==13}function Qr(i,e=0){for(;et&&Ot(i.charCodeAt(e-1));)e--;return e}function Td(i){if(i.next!=96&&i.next!=126)return-1;let e=i.pos+1;for(;e-1&&i.depth==e.stack.length&&e.parser.leafBlockParsers.indexOf(qd.SetextHeading)>-1||n<3?-1:1}function Xd(i,e){for(let t=i.stack.length-1;t>=0;t--)if(i.stack[t].type==e)return!0;return!1}function sc(i,e,t){return(i.next==45||i.next==43||i.next==42)&&(i.pos==i.text.length-1||Ot(i.text.charCodeAt(i.pos+1)))&&(!t||Xd(e,Z.BulletList)||i.skipSpace(i.pos+2)=48&&r<=57;){n++;if(n==i.text.length)return-1;r=i.text.charCodeAt(n)}return n==i.pos||n>i.pos+9||r!=46&&r!=41||ni.pos+1||i.next!=49)?-1:n+1-i.pos}function _d(i){if(i.next!=35)return-1;let e=i.pos+1;for(;e6?-1:t}function Rd(i){if(i.next!=45&&i.next!=61||i.indent>=i.baseIndent+4)return-1;let e=i.pos+1;for(;e/,Zd=/\?>/,Fl=[[/^<(?:script|pre|style)(?:\s|>|$)/i,/<\/(?:script|pre|style)>/i],[/^\s*/,Ed=/\?>/,Hl=[[/^<(?:script|pre|style)(?:\s|>|$)/i,/<\/(?:script|pre|style)>/i],[/^\s*/i.exec(n);if(s)return i.append(ie(Z.Comment,t,t+1+s[0].length));let o=/^\?[^]*?\?>/.exec(n);if(o)return i.append(ie(Z.ProcessingInstruction,t,t+1+o[0].length));let a=/^(?:![A-Z][^]*?>|!\[CDATA\[[^]*?\]\]>|\/\s*[a-zA-Z][\w-]*\s*>|\s*[a-zA-Z][\w-]*(\s+[a-zA-Z:_][\w-.:]*(?:\s*=\s*(?:[^\s"'=<>`]+|'[^']*'|"[^"]*"))?)*\s*(\/\s*)?>)/.exec(n);return a?i.append(ie(Z.HTMLTag,t,t+1+a[0].length)):-1},Emphasis(i,e,t){if(e!=95&&e!=42)return-1;let n=t+1;for(;i.char(n)==e;)n++;let r=i.slice(t-1,t),s=i.slice(n,n+1),o=yr.test(r),a=yr.test(s),l=/\s|^$/.test(r),c=/\s|^$/.test(s),h=!c&&(!a||l||o),f=!l&&(!o||c||a),u=h&&(e==42||!f||o),O=f&&(e==42||!h||a);return i.append(new Me(e==95?Md:Wd,t,n,(u?1:0)|(O?2:0)))},HardBreak(i,e,t){if(e==92&&i.char(t+1)==10)return i.append(ie(Z.HardBreak,t,t+2));if(e==32){let n=t+1;for(;i.char(n)==32;)n++;if(i.char(n)==10&&n>=t+2)return i.append(ie(Z.HardBreak,t,n+1))}return-1},Link(i,e,t){return e==91?i.append(new Me(Ii,t,t+1,1)):-1},Image(i,e,t){return e==33&&i.char(t+1)==91?i.append(new Me(Js,t,t+2,1)):-1},LinkEnd(i,e,t){if(e!=93)return-1;for(let n=i.parts.length-1;n>=0;n--){let r=i.parts[n];if(r instanceof Me&&(r.type==Ii||r.type==Js)){if(!r.side||i.skipSpace(r.to)==t&&!/[(\[]/.test(i.slice(t+1,t+2)))return i.parts[n]=null,-1;let s=i.takeContent(n),o=i.parts[n]=sy(i,s,r.type==Ii?Z.Link:Z.Image,r.from,t+1);if(r.type==Ii)for(let a=0;ae?ie(Z.URL,e+t,s+t):s==i.length?null:!1}}function Vd(i,e,t){let n=i.charCodeAt(e);if(n!=39&&n!=34&&n!=40)return!1;let r=n==40?41:n;for(let s=e+1,o=!1;s=this.end?-1:this.text.charCodeAt(e-this.offset)}get end(){return this.offset+this.text.length}slice(e,t){return this.text.slice(e-this.offset,t-this.offset)}append(e){return this.parts.push(e),e.to}addDelimiter(e,t,n,r,s){return this.append(new Me(e,t,n,(r?1:0)|(s?2:0)))}get hasOpenLink(){for(let e=this.parts.length-1;e>=0;e--){let t=this.parts[e];if(t instanceof Me&&(t.type==Ii||t.type==Js))return!0}return!1}addElement(e){return this.append(e)}resolveMarkers(e){for(let n=e;n=e;l--){let m=this.parts[l];if(m instanceof Me&&m.side&1&&m.type==r.type&&!(s&&(r.side&1||m.side&2)&&(m.to-m.from+o)%3==0&&((m.to-m.from)%3||o%3))){a=m;break}}if(!a)continue;let c=r.type.resolve,h=[],f=a.from,u=r.to;if(s){let m=Math.min(2,a.to-a.from,o);f=a.to-m,u=r.from+m,c=m==1?"Emphasis":"StrongEmphasis"}a.type.mark&&h.push(this.elt(a.type.mark,f,a.to));for(let m=l+1;m=0;t--){let n=this.parts[t];if(n instanceof Me&&n.type==e&&n.side&1)return t}return null}takeContent(e){let t=this.resolveMarkers(e);return this.parts.length=e,t}getDelimiterAt(e){let t=this.parts[e];return t instanceof Me?t:null}skipSpace(e){return Qr(this.text,e-this.offset)+this.offset}elt(e,t,n,r){return typeof e=="string"?ie(this.parser.getNodeType(e),t,n,r):new Ks(e,t)}};kr.linkStart=Ii;kr.imageStart=Js;function tc(i,e){if(!e.length)return i;if(!i.length)return e;let t=i.slice(),n=0;for(let r of e){for(;n(e?e-1:0))return!1;if(this.fragmentEnd<0){let s=this.fragment.to;for(;s>0&&this.input.read(s-1,s)!=` -`;)s--;this.fragmentEnd=s?s-1:0}let n=this.cursor;n||(n=this.cursor=this.fragment.tree.cursor(),n.firstChild());let r=e+this.fragment.offset;for(;n.to<=r;)if(!n.parent())return!1;for(;;){if(n.from>=r)return this.fragment.from<=t;if(!n.childAfter(r))return!1}}matches(e){let t=this.cursor.tree;return t&&t.prop(I.contextHash)==e}takeNodes(e){let t=this.cursor,n=this.fragment.offset,r=this.fragmentEnd-(this.fragment.openEnd?1:0),s=e.absoluteLineStart,o=s,a=e.block.children.length,l=o,c=a;for(;;){if(t.to-n>r){if(t.type.isAnonymous&&t.firstChild())continue;break}let h=Yd(t.from-n,e.ranges);if(t.to-n<=e.ranges[e.rangeI].to)e.addNode(t.tree,h);else{let f=new H(e.parser.nodeSet.types[Z.Paragraph],[],[],0,e.block.hashProp);e.reusePlaceholders.set(f,t.tree),e.addNode(f,h)}if(t.type.is("Block")&&(oy.indexOf(t.type.id)<0?(o=t.to-n,a=e.block.children.length):(o=l,a=c),l=t.to-n,c=e.block.children.length),!t.nextSibling())break}for(;e.block.children.length>a;)e.block.children.pop(),e.block.positions.pop();return o-s}};function Yd(i,e){let t=i;for(let n=1;nGs[i]),Object.keys(Gs).map(i=>qd[i]),Object.keys(Gs),ny,$d,Object.keys(Bl).map(i=>Bl[i]),Object.keys(Bl),[]);function ly(i,e,t){let n=[];for(let r=i.firstChild,s=e;;r=r.nextSibling){let o=r?r.from:t;if(o>s&&n.push({from:s,to:o}),!r)break;s=r.to}return n}function Bd(i){let{codeParser:e,htmlParser:t}=i;return{wrap:bn((r,s)=>{let o=r.type.id;if(e&&(o==Z.CodeBlock||o==Z.FencedCode)){let a="";if(o==Z.FencedCode){let c=r.node.getChild(Z.CodeInfo);c&&(a=s.read(c.from,c.to))}let l=e(a);if(l)return{parser:l,overlay:c=>c.type.id==Z.CodeText,bracketed:o==Z.FencedCode}}else if(t&&(o==Z.HTMLBlock||o==Z.HTMLTag||o==Z.CommentBlock))return{parser:t,overlay:ly(r.node,r.from,r.to)};return null})}}var cy={resolve:"Strikethrough",mark:"StrikethroughMark"},hy={defineNodes:[{name:"Strikethrough",style:{"Strikethrough/...":d.strikethrough}},{name:"StrikethroughMark",style:d.processingInstruction}],parseInline:[{name:"Strikethrough",parse(i,e,t){if(e!=126||i.char(t+1)!=126||i.char(t+2)==126)return-1;let n=i.slice(t-1,t),r=i.slice(t+2,t+3),s=/\s|^$/.test(n),o=/\s|^$/.test(r),a=yr.test(n),l=yr.test(r);return i.addDelimiter(cy,t,t+2,!o&&(!l||s||a),!s&&(!a||o||l))},after:"Emphasis"}]};function br(i,e,t=0,n,r=0){let s=0,o=!0,a=-1,l=-1,c=!1,h=()=>{n.push(i.elt("TableCell",r+a,r+l,i.parser.parseInline(e.slice(a,l),r+a)))};for(let f=t;f-1)&&s++,o=!1,n&&(a>-1&&h(),n.push(i.elt("TableDelimiter",f+r,f+r+1))),a=l=-1):(c||u!=32&&u!=9)&&(a<0&&(a=f),l=f+1),c=!c&&u==92}return a>-1&&(s++,n&&h()),s}function Sd(i,e){for(let t=e;t\s]*\|?(\s*:?-+:?\s*\|)+(\s*:?-+:?\s*)?$/,eo=class{constructor(){this.rows=null}nextLine(e,t,n){if(this.rows==null){this.rows=!1;let r;if((t.next==45||t.next==58||t.next==124)&&Ud.test(r=t.text.slice(t.pos))){let s=[];br(e,n.content,0,s,n.start)==br(e,r,0)&&(this.rows=[e.elt("TableHeader",n.start,n.start+n.content.length,s),e.elt("TableDelimiter",e.lineStart+t.pos,e.lineStart+t.text.length)])}}else if(this.rows){let r=[];br(e,t.text,t.pos,r,e.lineStart),this.rows.push(e.elt("TableRow",e.lineStart+t.pos,e.lineStart+t.text.length,r))}return!1}finish(e,t){return this.rows?(e.addLeafElement(t,e.elt("Table",t.start,t.start+t.content.length,this.rows)),!0):!1}},fy={defineNodes:[{name:"Table",block:!0},{name:"TableHeader",style:{"TableHeader/...":d.heading}},"TableRow",{name:"TableCell",style:d.content},{name:"TableDelimiter",style:d.processingInstruction}],parseBlock:[{name:"Table",leaf(i,e){return Sd(e.content,0)?new eo:null},endLeaf(i,e,t){if(t.parsers.some(r=>r instanceof eo)||!Sd(e.text,e.basePos))return!1;let n=i.peekLine();return Ud.test(n)&&br(i,e.text,e.basePos)==br(i,n,e.basePos)},before:"SetextHeading"}]},nc=class{nextLine(){return!1}finish(e,t){return e.addLeafElement(t,e.elt("Task",t.start,t.start+t.content.length,[e.elt("TaskMarker",t.start,t.start+3),...e.parser.parseInline(t.content.slice(3),t.start+3)])),!0}},uy={defineNodes:[{name:"Task",block:!0,style:d.list},{name:"TaskMarker",style:d.atom}],parseBlock:[{name:"TaskList",leaf(i,e){return/^\[[ xX]\][ \t]/.test(e.content)&&i.parentType().name=="ListItem"?new nc:null},after:"SetextHeading"}]},yd=/(www\.)|(https?:\/\/)|([\w.+-]{1,100}@)|(mailto:|xmpp:)/gy,kd=/[\w-]+(\.[\w-]+)+(:\d+)?(\/[^\s<]*)?/gy,Oy=/[\w-]+\.[\w-]+($|[/:])/,xd=/[\w.+-]+@[\w-]+(\.[\w.-]+)+/gy,wd=/\/[a-zA-Z\d@.]+/gy;function Pd(i,e,t,n){let r=0;for(let s=e;s-1)return-1;let n=e+t[0].length;for(;;){let r=i[n-1],s;if(/[?!.,:*_~]/.test(r)||r==")"&&Pd(i,e,n,")")>Pd(i,e,n,"("))n--;else if(r==";"&&(s=/&(?:#\d+|#x[a-f\d]+|\w+);$/.exec(i.slice(e,n))))n=e+s.index;else break}return n}function vd(i,e){xd.lastIndex=e;let t=xd.exec(i);if(!t)return-1;let n=t[0][t[0].length-1];return n=="_"||n=="-"?-1:e+t[0].length-(n=="."?1:0)}var py={parseInline:[{name:"Autolink",parse(i,e,t){let n=t-i.offset;if(n&&/\w/.test(i.text[n-1]))return-1;yd.lastIndex=n;let r=yd.exec(i.text),s=-1;if(!r)return-1;if(r[1]||r[2]){if(s=dy(i.text,n+r[0].length),s>-1&&i.hasOpenLink){let o=/([^\[\]]|\[[^\]]*\])*/.exec(i.text.slice(n,s));s=n+o[0].length}}else r[3]?s=vd(i.text,n):(s=vd(i.text,n+r[0].length),s>-1&&r[0]=="xmpp:"&&(wd.lastIndex=s,r=wd.exec(i.text),r&&(s=r.index+r[0].length)));return s<0?-1:(i.addElement(i.elt("URL",t,s+i.offset)),s+i.offset)}}]},Gd=[fy,uy,hy,py];function Nd(i,e,t){return(n,r,s)=>{if(r!=i||n.char(s+1)==i)return-1;let o=[n.elt(t,s,s+1)];for(let a=s+1;at%3==0).concat(this.state)}]@${this.pos}${this.score?"!"+this.score:""}`}static start(e,t,n=0){let r=e.parser.context;return new i(e,[],t,n,n,0,[],0,r?new to(r,r.start):null,0,null)}get context(){return this.curContext?this.curContext.context:null}pushState(e,t){this.stack.push(this.state,t,this.bufferBase+this.buffer.length),this.state=e}reduce(e){var t;let n=e>>19,r=e&65535,{parser:s}=this.p,o=this.reducePos=2e3&&!(!((t=this.p.parser.nodeSet.types[r])===null||t===void 0)&&t.isAnonymous)&&(c==this.p.lastBigReductionStart?(this.p.bigReductionCount++,this.p.lastBigReductionSize=h):this.p.lastBigReductionSizel;)this.stack.pop();this.reduceContext(r,c)}storeNode(e,t,n,r=4,s=!1){if(e==0&&(!this.stack.length||this.stack[this.stack.length-1]0&&this.buffer[o-4]==0&&this.buffer[o-1]>-1){if(t==n)return;if(this.buffer[o-2]>=t){this.buffer[o-2]=n;return}}}if(!s||this.pos==n)this.buffer.push(e,t,n,r);else{let o=this.buffer.length;if(o>0&&(this.buffer[o-4]!=0||this.buffer[o-1]<0)){let a=!1;for(let l=o;l>0&&this.buffer[l-2]>n;l-=4)if(this.buffer[l-1]>=0){a=!0;break}if(a)for(;o>0&&this.buffer[o-2]>n;)this.buffer[o]=this.buffer[o-4],this.buffer[o+1]=this.buffer[o-3],this.buffer[o+2]=this.buffer[o-2],this.buffer[o+3]=this.buffer[o-1],o-=4,r>4&&(r-=4)}this.buffer[o]=e,this.buffer[o+1]=t,this.buffer[o+2]=n,this.buffer[o+3]=r}}shift(e,t,n,r){if(e&131072)this.pushState(e&65535,this.pos);else if((e&262144)==0){let s=e,{parser:o}=this.p;this.pos=r;let a=o.stateFlag(s,1);!a&&(r>n||t<=o.maxNode)&&(this.reducePos=r),this.pushState(s,a?n:Math.min(n,this.reducePos)),this.shiftContext(t,n),t<=o.maxNode&&this.buffer.push(t,n,r,4)}else this.pos=r,this.shiftContext(t,n),t<=this.p.parser.maxNode&&this.buffer.push(t,n,r,4)}apply(e,t,n,r){e&65536?this.reduce(e):this.shift(e,t,n,r)}useNode(e,t){let n=this.p.reused.length-1;(n<0||this.p.reused[n]!=e)&&(this.p.reused.push(e),n++);let r=this.pos;this.reducePos=this.pos=r+e.length,this.pushState(t,r),this.buffer.push(n,r,this.reducePos,-1),this.curContext&&this.updateContext(this.curContext.tracker.reuse(this.curContext.context,e,this,this.p.stream.reset(this.pos-e.length)))}split(){let e=this,t=e.buffer.length;for(t&&e.buffer[t-4]==0&&(t-=4);t>0&&e.buffer[t-2]>e.reducePos;)t-=4;let n=e.buffer.slice(t),r=e.bufferBase+t;for(;e&&r==e.bufferBase;)e=e.parent;return new i(this.p,this.stack.slice(),this.state,this.reducePos,this.pos,this.score,n,r,this.curContext,this.lookAhead,e)}recoverByDelete(e,t){let n=e<=this.p.parser.maxNode;n&&this.storeNode(e,this.pos,t,4),this.storeNode(0,this.pos,t,n?8:4),this.pos=this.reducePos=t,this.score-=190}canShift(e){for(let t=new hc(this);;){let n=this.p.parser.stateSlot(t.state,4)||this.p.parser.hasAction(t.state,e);if(n==0)return!1;if((n&65536)==0)return!0;t.reduce(n)}}recoverByInsert(e){if(this.stack.length>=300)return[];let t=this.p.parser.nextStates(this.state);if(t.length>8||this.stack.length>=120){let r=[];for(let s=0,o;sl&1&&a==o)||r.push(t[s],o)}t=r}let n=[];for(let r=0;r>19,r=t&65535,s=this.stack.length-n*3;if(s<0||e.getGoto(this.stack[s],r,!1)<0){let o=this.findForcedReduction();if(o==null)return!1;t=o}this.storeNode(0,this.pos,this.pos,4,!0),this.score-=100}return this.reducePos=this.pos,this.reduce(t),!0}findForcedReduction(){let{parser:e}=this.p,t=[],n=(r,s)=>{if(!t.includes(r))return t.push(r),e.allActions(r,o=>{if(!(o&393216))if(o&65536){let a=(o>>19)-s;if(a>1){let l=o&65535,c=this.stack.length-a*3;if(c>=0&&e.getGoto(this.stack[c],l,!1)>=0)return a<<19|65536|l}}else{let a=n(o,s+1);if(a!=null)return a}})};return n(this.state,0)}forceAll(){for(;!this.p.parser.stateFlag(this.state,2);)if(!this.forceReduce()){this.storeNode(0,this.pos,this.pos,4,!0);break}return this}get deadEnd(){if(this.stack.length!=3)return!1;let{parser:e}=this.p;return e.data[e.stateSlot(this.state,1)]==65535&&!e.stateSlot(this.state,4)}restart(){this.storeNode(0,this.pos,this.pos,4,!0),this.state=this.stack[0],this.stack.length=0}sameState(e){if(this.state!=e.state||this.stack.length!=e.stack.length)return!1;for(let t=0;t0&&this.emitLookAhead()}},to=class{constructor(e,t){this.tracker=e,this.context=t,this.hash=e.strict?e.hash(t):0}},hc=class{constructor(e){this.start=e,this.state=e.state,this.stack=e.stack,this.base=this.stack.length}reduce(e){let t=e&65535,n=e>>19;n==0?(this.stack==this.start.stack&&(this.stack=this.stack.slice()),this.stack.push(this.state,0,0),this.base+=3):this.base-=(n-1)*3;let r=this.start.p.parser.getGoto(this.stack[this.base-3],t,!0);this.state=r}},fc=class i{constructor(e,t,n){this.stack=e,this.pos=t,this.index=n,this.buffer=e.buffer,this.index==0&&this.maybeNext()}static create(e,t=e.bufferBase+e.buffer.length){return new i(e,t,t-e.bufferBase)}maybeNext(){let e=this.stack.parent;e!=null&&(this.index=this.stack.bufferBase-e.bufferBase,this.stack=e,this.buffer=e.buffer)}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}next(){this.index-=4,this.pos-=4,this.index==0&&this.maybeNext()}fork(){return new i(this.stack,this.pos,this.index)}};function xr(i,e=Uint16Array){if(typeof i!="string")return i;let t=null;for(let n=0,r=0;n=92&&o--,o>=34&&o--;let l=o-32;if(l>=46&&(l-=46,a=!0),s+=l,a)break;s*=46}t?t[r++]=s:t=new e(s)}return t}var vn=class{constructor(){this.start=-1,this.value=-1,this.end=-1,this.extended=-1,this.lookAhead=0,this.mask=0,this.context=0}},Jd=new vn,uc=class{constructor(e,t){this.input=e,this.ranges=t,this.chunk="",this.chunkOff=0,this.chunk2="",this.chunk2Pos=0,this.next=-1,this.token=Jd,this.rangeIndex=0,this.pos=this.chunkPos=t[0].from,this.range=t[0],this.end=t[t.length-1].to,this.readNext()}resolveOffset(e,t){let n=this.range,r=this.rangeIndex,s=this.pos+e;for(;sn.to:s>=n.to;){if(r==this.ranges.length-1)return null;let o=this.ranges[++r];s+=o.from-n.to,n=o}return s}clipPos(e){if(e>=this.range.from&&ee)return Math.max(e,t.from);return this.end}peek(e){let t=this.chunkOff+e,n,r;if(t>=0&&t=this.chunk2Pos&&na.to&&(this.chunk2=this.chunk2.slice(0,a.to-n)),r=this.chunk2.charCodeAt(0)}}return n>=this.token.lookAhead&&(this.token.lookAhead=n+1),r}acceptToken(e,t=0){let n=t?this.resolveOffset(t,-1):this.pos;if(n==null||n=this.chunk2Pos&&this.posthis.range.to?e.slice(0,this.range.to-this.pos):e,this.chunkPos=this.pos,this.chunkOff=0}}readNext(){return this.chunkOff>=this.chunk.length&&(this.getChunk(),this.chunkOff==this.chunk.length)?this.next=-1:this.next=this.chunk.charCodeAt(this.chunkOff)}advance(e=1){for(this.chunkOff+=e;this.pos+e>=this.range.to;){if(this.rangeIndex==this.ranges.length-1)return this.setDone();e-=this.range.to-this.pos,this.range=this.ranges[++this.rangeIndex],this.pos=this.range.from}return this.pos+=e,this.pos>=this.token.lookAhead&&(this.token.lookAhead=this.pos+1),this.readNext()}setDone(){return this.pos=this.chunkPos=this.end,this.range=this.ranges[this.rangeIndex=this.ranges.length-1],this.chunk="",this.next=-1}reset(e,t){if(t?(this.token=t,t.start=e,t.lookAhead=e+1,t.value=t.extended=-1):this.token=Jd,this.pos!=e){if(this.pos=e,e==this.end)return this.setDone(),this;for(;e=this.range.to;)this.range=this.ranges[++this.rangeIndex];e>=this.chunkPos&&e=this.chunkPos&&t<=this.chunkPos+this.chunk.length)return this.chunk.slice(e-this.chunkPos,t-this.chunkPos);if(e>=this.chunk2Pos&&t<=this.chunk2Pos+this.chunk2.length)return this.chunk2.slice(e-this.chunk2Pos,t-this.chunk2Pos);if(e>=this.range.from&&t<=this.range.to)return this.input.read(e,t);let n="";for(let r of this.ranges){if(r.from>=t)break;r.to>e&&(n+=this.input.read(Math.max(r.from,e),Math.min(r.to,t)))}return n}},Si=class{constructor(e,t){this.data=e,this.id=t}token(e,t){let{parser:n}=t.p;rp(this.data,e,t,this.id,n.data,n.tokenPrecTable)}};Si.prototype.contextual=Si.prototype.fallback=Si.prototype.extend=!1;var yi=class{constructor(e,t,n){this.precTable=t,this.elseToken=n,this.data=typeof e=="string"?xr(e):e}token(e,t){let n=e.pos,r=0;for(;;){let s=e.next<0,o=e.resolveOffset(1,1);if(rp(this.data,e,t,0,this.data,this.precTable),e.token.value>-1)break;if(this.elseToken==null)return;if(s||r++,o==null)break;e.reset(o,e.token)}r&&(e.reset(n,e.token),e.acceptToken(this.elseToken,r))}};yi.prototype.contextual=Si.prototype.fallback=Si.prototype.extend=!1;var J=class{constructor(e,t={}){this.token=e,this.contextual=!!t.contextual,this.fallback=!!t.fallback,this.extend=!!t.extend}};function rp(i,e,t,n,r,s){let o=0,a=1<0){let p=i[O];if(l.allows(p)&&(e.token.value==-1||e.token.value==p||gy(p,e.token.value,r,s))){e.acceptToken(p);break}}let h=e.next,f=0,u=i[o+2];if(e.next<0&&u>f&&i[c+u*3-3]==65535){o=i[c+u*3-1];continue e}for(;f>1,p=c+O+(O<<1),m=i[p],b=i[p+1]||65536;if(h=b)f=O+1;else{o=i[p+2],e.advance();continue e}}break}}function ep(i,e,t){for(let n=e,r;(r=i[n])!=65535;n++)if(r==t)return n-e;return-1}function gy(i,e,t,n){let r=ep(t,n,e);return r<0||ep(t,n,i)e)&&!n.type.isError)return t<0?Math.max(0,Math.min(n.to-1,e-25)):Math.min(i.length,Math.max(n.from+1,e+25));if(t<0?n.prevSibling():n.nextSibling())break;if(!n.parent())return t<0?0:i.length}}var Oc=class{constructor(e,t){this.fragments=e,this.nodeSet=t,this.i=0,this.fragment=null,this.safeFrom=-1,this.safeTo=-1,this.trees=[],this.start=[],this.index=[],this.nextFragment()}nextFragment(){let e=this.fragment=this.i==this.fragments.length?null:this.fragments[this.i++];if(e){for(this.safeFrom=e.openStart?tp(e.tree,e.from+e.offset,1)-e.offset:e.from,this.safeTo=e.openEnd?tp(e.tree,e.to+e.offset,-1)-e.offset:e.to;this.trees.length;)this.trees.pop(),this.start.pop(),this.index.pop();this.trees.push(e.tree),this.start.push(-e.offset),this.index.push(0),this.nextStart=this.safeFrom}else this.nextStart=1e9}nodeAt(e){if(ee)return this.nextStart=o,null;if(s instanceof H){if(o==e){if(o=Math.max(this.safeFrom,e)&&(this.trees.push(s),this.start.push(o),this.index.push(0))}else this.index[t]++,this.nextStart=o+s.length}}},dc=class{constructor(e,t){this.stream=t,this.tokens=[],this.mainToken=null,this.actions=[],this.tokens=e.tokenizers.map(n=>new vn)}getActions(e){let t=0,n=null,{parser:r}=e.p,{tokenizers:s}=r,o=r.stateSlot(e.state,3),a=e.curContext?e.curContext.hash:0,l=0;for(let c=0;cf.end+25&&(l=Math.max(f.lookAhead,l)),f.value!=0)){let u=t;if(f.extended>-1&&(t=this.addActions(e,f.extended,f.end,t)),t=this.addActions(e,f.value,f.end,t),!h.extend&&(n=f,t>u))break}}for(;this.actions.length>t;)this.actions.pop();return l&&e.setLookAhead(l),!n&&e.pos==this.stream.end&&(n=new vn,n.value=e.p.parser.eofTerm,n.start=n.end=e.pos,t=this.addActions(e,n.value,n.end,t)),this.mainToken=n,this.actions}getMainToken(e){if(this.mainToken)return this.mainToken;let t=new vn,{pos:n,p:r}=e;return t.start=n,t.end=Math.min(n+1,r.stream.end),t.value=n==r.stream.end?r.parser.eofTerm:0,t}updateCachedToken(e,t,n){let r=this.stream.clipPos(n.pos);if(t.token(this.stream.reset(r,e),n),e.value>-1){let{parser:s}=n.p;for(let o=0;o=0&&n.p.parser.dialect.allows(a>>1)){(a&1)==0?e.value=a>>1:e.extended=a>>1;break}}}else e.value=0,e.end=this.stream.clipPos(r+1)}putAction(e,t,n,r){for(let s=0;se.bufferLength*4?new Oc(n,e.nodeSet):null}get parsedPos(){return this.minStackPos}advance(){let e=this.stacks,t=this.minStackPos,n=this.stacks=[],r,s;if(this.bigReductionCount>300&&e.length==1){let[o]=e;for(;o.forceReduce()&&o.stack.length&&o.stack[o.stack.length-2]>=this.lastBigReductionStart;);this.bigReductionCount=this.lastBigReductionSize=0}for(let o=0;ot)n.push(a);else{if(this.advanceStack(a,n,e))continue;{r||(r=[],s=[]),r.push(a);let l=this.tokens.getMainToken(a);s.push(l.value,l.end)}}break}}if(!n.length){let o=r&&Qy(r);if(o)return Ke&&console.log("Finish with "+this.stackID(o)),this.stackToTree(o);if(this.parser.strict)throw Ke&&r&&console.log("Stuck with token "+(this.tokens.mainToken?this.parser.getName(this.tokens.mainToken.value):"none")),new SyntaxError("No parse at "+t);this.recovering||(this.recovering=5)}if(this.recovering&&r){let o=this.stoppedAt!=null&&r[0].pos>this.stoppedAt?r[0]:this.runRecovery(r,s,n);if(o)return Ke&&console.log("Force-finish "+this.stackID(o)),this.stackToTree(o.forceAll())}if(this.recovering){let o=this.recovering==1?1:this.recovering*3;if(n.length>o)for(n.sort((a,l)=>l.score-a.score);n.length>o;)n.pop();n.some(a=>a.reducePos>t)&&this.recovering--}else if(n.length>1){e:for(let o=0;o500&&c.buffer.length>500)if((a.score-c.score||a.buffer.length-c.buffer.length)>0)n.splice(l--,1);else{n.splice(o--,1);continue e}}}n.length>12&&(n.sort((o,a)=>a.score-o.score),n.splice(12,n.length-12))}this.minStackPos=n[0].pos;for(let o=1;o ":"";if(this.stoppedAt!=null&&r>this.stoppedAt)return e.forceReduce()?e:null;if(this.fragments){let c=e.curContext&&e.curContext.tracker.strict,h=c?e.curContext.hash:0;for(let f=this.fragments.nodeAt(r);f;){let u=this.parser.nodeSet.types[f.type.id]==f.type?s.getGoto(e.state,f.type.id):-1;if(u>-1&&f.length&&(!c||(f.prop(I.contextHash)||0)==h))return e.useNode(f,u),Ke&&console.log(o+this.stackID(e)+` (via reuse of ${s.getName(f.type.id)})`),!0;if(!(f instanceof H)||f.children.length==0||f.positions[0]>0)break;let O=f.children[0];if(O instanceof H&&f.positions[0]==0)f=O;else break}}let a=s.stateSlot(e.state,4);if(a>0)return e.reduce(a),Ke&&console.log(o+this.stackID(e)+` (via always-reduce ${s.getName(a&65535)})`),!0;if(e.stack.length>=8400)for(;e.stack.length>6e3&&e.forceReduce(););let l=this.tokens.getActions(e);for(let c=0;cr?t.push(p):n.push(p)}return!1}advanceFully(e,t){let n=e.pos;for(;;){if(!this.advanceStack(e,null,null))return!1;if(e.pos>n)return ip(e,t),!0}}runRecovery(e,t,n){let r=null,s=!1;for(let o=0;o ":"";if(a.deadEnd&&(s||(s=!0,a.restart(),Ke&&console.log(h+this.stackID(a)+" (restarted)"),this.advanceFully(a,n))))continue;let f=a.split(),u=h;for(let O=0;O<10&&f.forceReduce()&&(Ke&&console.log(u+this.stackID(f)+" (via force-reduce)"),!this.advanceFully(f,n));O++)Ke&&(u=this.stackID(f)+" -> ");for(let O of a.recoverByInsert(l))Ke&&console.log(h+this.stackID(O)+" (via recover-insert)"),this.advanceFully(O,n);this.stream.end>a.pos?(c==a.pos&&(c++,l=0),a.recoverByDelete(l,c),Ke&&console.log(h+this.stackID(a)+` (via recover-delete ${this.parser.getName(l)})`),ip(a,n)):(!r||r.scorei,dt=class{constructor(e){this.start=e.start,this.shift=e.shift||lc,this.reduce=e.reduce||lc,this.reuse=e.reuse||lc,this.hash=e.hash||(()=>0),this.strict=e.strict!==!1}},ve=class i extends It{constructor(e){if(super(),this.wrappers=[],e.version!=14)throw new RangeError(`Parser version (${e.version}) doesn't match runtime version (14)`);let t=e.nodeNames.split(" ");this.minRepeatTerm=t.length;for(let a=0;ae.topRules[a][1]),r=[];for(let a=0;a=0)s(h,l,a[c++]);else{let f=a[c+-h];for(let u=-h;u>0;u--)s(a[c++],l,f);c++}}}this.nodeSet=new Dt(t.map((a,l)=>Oe.define({name:l>=this.minRepeatTerm?void 0:a,id:l,props:r[l],top:n.indexOf(l)>-1,error:l==0,skipped:e.skippedNodes&&e.skippedNodes.indexOf(l)>-1}))),e.propSources&&(this.nodeSet=this.nodeSet.extend(...e.propSources)),this.strict=!1,this.bufferLength=1024;let o=xr(e.tokenData);this.context=e.context,this.specializerSpecs=e.specialized||[],this.specialized=new Uint16Array(this.specializerSpecs.length);for(let a=0;atypeof a=="number"?new Si(o,a):a),this.topRules=e.topRules,this.dialects=e.dialects||{},this.dynamicPrecedences=e.dynamicPrecedences||null,this.tokenPrecTable=e.tokenPrec,this.termNames=e.termNames||null,this.maxNode=this.nodeSet.types.length-1,this.dialect=this.parseDialect(),this.top=this.topRules[Object.keys(this.topRules)[0]]}createParse(e,t,n){let r=new pc(this,e,t,n);for(let s of this.wrappers)r=s(r,e,t,n);return r}getGoto(e,t,n=!1){let r=this.goto;if(t>=r[0])return-1;for(let s=r[t+1];;){let o=r[s++],a=o&1,l=r[s++];if(a&&n)return l;for(let c=s+(o>>1);s0}validAction(e,t){return!!this.allActions(e,n=>n==t?!0:null)}allActions(e,t){let n=this.stateSlot(e,4),r=n?t(n):void 0;for(let s=this.stateSlot(e,1);r==null;s+=3){if(this.data[s]==65535)if(this.data[s+1]==1)s=Ut(this.data,s+2);else break;r=t(Ut(this.data,s+1))}return r}nextStates(e){let t=[];for(let n=this.stateSlot(e,1);;n+=3){if(this.data[n]==65535)if(this.data[n+1]==1)n=Ut(this.data,n+2);else break;if((this.data[n+2]&1)==0){let r=this.data[n+1];t.some((s,o)=>o&1&&s==r)||t.push(this.data[n],r)}}return t}configure(e){let t=Object.assign(Object.create(i.prototype),this);if(e.props&&(t.nodeSet=this.nodeSet.extend(...e.props)),e.top){let n=this.topRules[e.top];if(!n)throw new RangeError(`Invalid top rule name ${e.top}`);t.top=n}return e.tokenizers&&(t.tokenizers=this.tokenizers.map(n=>{let r=e.tokenizers.find(s=>s.from==n);return r?r.to:n})),e.specializers&&(t.specializers=this.specializers.slice(),t.specializerSpecs=this.specializerSpecs.map((n,r)=>{let s=e.specializers.find(a=>a.from==n.external);if(!s)return n;let o=Object.assign(Object.assign({},n),{external:s.to});return t.specializers[r]=np(o),o})),e.contextTracker&&(t.context=e.contextTracker),e.dialect&&(t.dialect=this.parseDialect(e.dialect)),e.strict!=null&&(t.strict=e.strict),e.wrap&&(t.wrappers=t.wrappers.concat(e.wrap)),e.bufferLength!=null&&(t.bufferLength=e.bufferLength),t}hasWrappers(){return this.wrappers.length>0}getName(e){return this.termNames?this.termNames[e]:String(e<=this.maxNode&&this.nodeSet.types[e].name||e)}get eofTerm(){return this.maxNode+1}get topNode(){return this.nodeSet.types[this.top[1]]}dynamicPrecedence(e){let t=this.dynamicPrecedences;return t==null?0:t[e]||0}parseDialect(e){let t=Object.keys(this.dialects),n=t.map(()=>!1);if(e)for(let s of e.split(" ")){let o=t.indexOf(s);o>=0&&(n[o]=!0)}let r=null;for(let s=0;sn)&&t.p.parser.stateFlag(t.state,2)&&(!e||e.scorei.external(t,n)<<1|e}return i.get}var by=55,Sy=1,yy=56,ky=2,xy=57,wy=3,sp=4,Py=5,yc=6,Op=7,dp=8,pp=9,mp=10,vy=11,$y=12,Ty=13,gc=58,Cy=14,Xy=15,op=59,gp=21,_y=23,Qp=24,Ry=25,bc=27,bp=28,Ay=29,Zy=32,Ey=35,qy=37,zy=38,Ly=0,My=1,Wy={area:!0,base:!0,br:!0,col:!0,command:!0,embed:!0,frame:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0,menuitem:!0},jy={dd:!0,li:!0,optgroup:!0,option:!0,p:!0,rp:!0,rt:!0,tbody:!0,td:!0,tfoot:!0,th:!0,tr:!0},ap={dd:{dd:!0,dt:!0},dt:{dd:!0,dt:!0},li:{li:!0},option:{option:!0,optgroup:!0},optgroup:{optgroup:!0},p:{address:!0,article:!0,aside:!0,blockquote:!0,dir:!0,div:!0,dl:!0,fieldset:!0,footer:!0,form:!0,h1:!0,h2:!0,h3:!0,h4:!0,h5:!0,h6:!0,header:!0,hgroup:!0,hr:!0,menu:!0,nav:!0,ol:!0,p:!0,pre:!0,section:!0,table:!0,ul:!0},rp:{rp:!0,rt:!0},rt:{rp:!0,rt:!0},tbody:{tbody:!0,tfoot:!0},td:{td:!0,th:!0},tfoot:{tbody:!0},th:{td:!0,th:!0},thead:{tbody:!0,tfoot:!0},tr:{tr:!0}};function Vy(i){return i==45||i==46||i==58||i>=65&&i<=90||i==95||i>=97&&i<=122||i>=161}var lp=null,cp=null,hp=0;function Sc(i,e){let t=i.pos+e;if(hp==t&&cp==i)return lp;let n=i.peek(e),r="";for(;Vy(n);)r+=String.fromCharCode(n),n=i.peek(++e);return cp=i,hp=t,lp=r?r.toLowerCase():n==Dy||n==Yy?void 0:null}var Sp=60,io=62,kc=47,Dy=63,Yy=33,Iy=45;function fp(i,e){this.name=i,this.parent=e}var By=[yc,mp,Op,dp,pp],Uy=new dt({start:null,shift(i,e,t,n){return By.indexOf(e)>-1?new fp(Sc(n,1)||"",i):i},reduce(i,e){return e==gp&&i?i.parent:i},reuse(i,e,t,n){let r=e.type.id;return r==yc||r==qy?new fp(Sc(n,1)||"",i):i},strict:!1}),Gy=new J((i,e)=>{if(i.next!=Sp){i.next<0&&e.context&&i.acceptToken(gc);return}i.advance();let t=i.next==kc;t&&i.advance();let n=Sc(i,0);if(n===void 0)return;if(!n)return i.acceptToken(t?Xy:Cy);let r=e.context?e.context.name:null;if(t){if(n==r)return i.acceptToken(vy);if(r&&jy[r])return i.acceptToken(gc,-2);if(e.dialectEnabled(Ly))return i.acceptToken($y);for(let s=e.context;s;s=s.parent)if(s.name==n)return;i.acceptToken(Ty)}else{if(n=="script")return i.acceptToken(Op);if(n=="style")return i.acceptToken(dp);if(n=="textarea")return i.acceptToken(pp);if(Wy.hasOwnProperty(n))return i.acceptToken(mp);r&&ap[r]&&ap[r][n]?i.acceptToken(gc,-1):i.acceptToken(yc)}},{contextual:!0}),Ny=new J(i=>{for(let e=0,t=0;;t++){if(i.next<0){t&&i.acceptToken(op);break}if(i.next==Iy)e++;else if(i.next==io&&e>=2){t>=3&&i.acceptToken(op,-2);break}else e=0;i.advance()}});function Fy(i){for(;i;i=i.parent)if(i.name=="svg"||i.name=="math")return!0;return!1}var Hy=new J((i,e)=>{if(i.next==kc&&i.peek(1)==io){let t=e.dialectEnabled(My)||Fy(e.context);i.acceptToken(t?Py:sp,2)}else i.next==io&&i.acceptToken(sp,1)});function xc(i,e,t){let n=2+i.length;return new J(r=>{for(let s=0,o=0,a=0;;a++){if(r.next<0){a&&r.acceptToken(e);break}if(s==0&&r.next==Sp||s==1&&r.next==kc||s>=2&&so?r.acceptToken(e,-o):r.acceptToken(t,-(o-2));break}else if((r.next==10||r.next==13)&&a){r.acceptToken(e,1);break}else s=o=0;r.advance()}})}var Ky=xc("script",by,Sy),Jy=xc("style",yy,ky),ek=xc("textarea",xy,wy),tk=Qe({"Text RawText IncompleteTag IncompleteCloseTag":d.content,"StartTag StartCloseTag SelfClosingEndTag EndTag":d.angleBracket,TagName:d.tagName,"MismatchedCloseTag/TagName":[d.tagName,d.invalid],AttributeName:d.attributeName,"AttributeValue UnquotedAttributeValue":d.attributeValue,Is:d.definitionOperator,"EntityReference CharacterReference":d.character,Comment:d.blockComment,ProcessingInst:d.processingInstruction,DoctypeDecl:d.documentMeta}),yp=ve.deserialize({version:14,states:",xOVO!rOOO!ZQ#tO'#CrO!`Q#tO'#C{O!eQ#tO'#DOO!jQ#tO'#DRO!oQ#tO'#DTO!tOaO'#CqO#PObO'#CqO#[OdO'#CqO$kO!rO'#CqOOO`'#Cq'#CqO$rO$fO'#DUO$zQ#tO'#DWO%PQ#tO'#DXOOO`'#Dl'#DlOOO`'#DZ'#DZQVO!rOOO%UQ&rO,59^O%aQ&rO,59gO%lQ&rO,59jO%wQ&rO,59mO&SQ&rO,59oOOOa'#D_'#D_O&_OaO'#CyO&jOaO,59]OOOb'#D`'#D`O&rObO'#C|O&}ObO,59]OOOd'#Da'#DaO'VOdO'#DPO'bOdO,59]OOO`'#Db'#DbO'jO!rO,59]O'qQ#tO'#DSOOO`,59],59]OOOp'#Dc'#DcO'vO$fO,59pOOO`,59p,59pO(OQ#|O,59rO(TQ#|O,59sOOO`-E7X-E7XO(YQ&rO'#CtOOQW'#D['#D[O(hQ&rO1G.xOOOa1G.x1G.xOOO`1G/Z1G/ZO(sQ&rO1G/ROOOb1G/R1G/RO)OQ&rO1G/UOOOd1G/U1G/UO)ZQ&rO1G/XOOO`1G/X1G/XO)fQ&rO1G/ZOOOa-E7]-E7]O)qQ#tO'#CzOOO`1G.w1G.wOOOb-E7^-E7^O)vQ#tO'#C}OOOd-E7_-E7_O){Q#tO'#DQOOO`-E7`-E7`O*QQ#|O,59nOOOp-E7a-E7aOOO`1G/[1G/[OOO`1G/^1G/^OOO`1G/_1G/_O*VQ,UO,59`OOQW-E7Y-E7YOOOa7+$d7+$dOOO`7+$u7+$uOOOb7+$m7+$mOOOd7+$p7+$pOOO`7+$s7+$sO*bQ#|O,59fO*gQ#|O,59iO*lQ#|O,59lOOO`1G/Y1G/YO*qO7[O'#CwO+SOMhO'#CwOOQW1G.z1G.zOOO`1G/Q1G/QOOO`1G/T1G/TOOO`1G/W1G/WOOOO'#D]'#D]O+eO7[O,59cOOQW,59c,59cOOOO'#D^'#D^O+vOMhO,59cOOOO-E7Z-E7ZOOQW1G.}1G.}OOOO-E7[-E7[",stateData:",c~O!_OS~OUSOVPOWQOXROYTO[]O][O^^O_^Oa^Ob^Oc^Od^Oy^O|_O!eZO~OgaO~OgbO~OgcO~OgdO~OgeO~O!XfOPmP![mP~O!YiOQpP![pP~O!ZlORsP![sP~OUSOVPOWQOXROYTOZqO[]O][O^^O_^Oa^Ob^Oc^Od^Oy^O!eZO~O![rO~P#gO!]sO!fuO~OgvO~OgwO~OS|OT}OiyO~OS!POT}OiyO~OS!ROT}OiyO~OS!TOT}OiyO~OS}OT}OiyO~O!XfOPmX![mX~OP!WO![!XO~O!YiOQpX![pX~OQ!ZO![!XO~O!ZlORsX![sX~OR!]O![!XO~O![!XO~P#gOg!_O~O!]sO!f!aO~OS!bO~OS!cO~Oj!dOShXThXihX~OS!fOT!gOiyO~OS!hOT!gOiyO~OS!iOT!gOiyO~OS!jOT!gOiyO~OS!gOT!gOiyO~Og!kO~Og!lO~Og!mO~OS!nO~Ol!qO!a!oO!c!pO~OS!rO~OS!sO~OS!tO~Ob!uOc!uOd!uO!a!wO!b!uO~Ob!xOc!xOd!xO!c!wO!d!xO~Ob!uOc!uOd!uO!a!{O!b!uO~Ob!xOc!xOd!xO!c!{O!d!xO~OT~cbd!ey|!e~",goto:"%q!aPPPPPPPPPPPPPPPPPPPPP!b!hP!nPP!zP!}#Q#T#Z#^#a#g#j#m#s#y!bP!b!bP$P$V$m$s$y%P%V%]%cPPPPPPPP%iX^OX`pXUOX`pezabcde{!O!Q!S!UR!q!dRhUR!XhXVOX`pRkVR!XkXWOX`pRnWR!XnXXOX`pQrXR!XpXYOX`pQ`ORx`Q{aQ!ObQ!QcQ!SdQ!UeZ!e{!O!Q!S!UQ!v!oR!z!vQ!y!pR!|!yQgUR!VgQjVR!YjQmWR![mQpXR!^pQtZR!`tS_O`ToXp",nodeNames:"\u26A0 StartCloseTag StartCloseTag StartCloseTag EndTag SelfClosingEndTag StartTag StartTag StartTag StartTag StartTag StartCloseTag StartCloseTag StartCloseTag IncompleteTag IncompleteCloseTag Document Text EntityReference CharacterReference InvalidEntity Element OpenTag TagName Attribute AttributeName Is AttributeValue UnquotedAttributeValue ScriptText CloseTag OpenTag StyleText CloseTag OpenTag TextareaText CloseTag OpenTag CloseTag SelfClosingTag Comment ProcessingInst MismatchedCloseTag CloseTag DoctypeDecl",maxTerm:68,context:Uy,nodeProps:[["closedBy",-10,1,2,3,7,8,9,10,11,12,13,"EndTag",6,"EndTag SelfClosingEndTag",-4,22,31,34,37,"CloseTag"],["openedBy",4,"StartTag StartCloseTag",5,"StartTag",-4,30,33,36,38,"OpenTag"],["group",-10,14,15,18,19,20,21,40,41,42,43,"Entity",17,"Entity TextContent",-3,29,32,35,"TextContent Entity"],["isolate",-11,22,30,31,33,34,36,37,38,39,42,43,"ltr",-3,27,28,40,""]],propSources:[tk],skippedNodes:[0],repeatNodeCount:9,tokenData:"!]tw8twx7Sx!P8t!P!Q5u!Q!]8t!]!^/^!^!a7S!a#S8t#S#T;{#T#s8t#s$f5u$f;'S8t;'S;=`>V<%l?Ah8t?Ah?BY5u?BY?Mn8t?MnO5u!Z5zblWOX5uXZ7SZ[5u[^7S^p5uqr5urs7Sst+Ptw5uwx7Sx!]5u!]!^7w!^!a7S!a#S5u#S#T7S#T;'S5u;'S;=`8n<%lO5u!R7VVOp7Sqs7St!]7S!]!^7l!^;'S7S;'S;=`7q<%lO7S!R7qOb!R!R7tP;=`<%l7S!Z8OYlWb!ROX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+P!Z8qP;=`<%l5u!_8{iiSlWOX5uXZ7SZ[5u[^7S^p5uqr8trs7Sst/^tw8twx7Sx!P8t!P!Q5u!Q!]8t!]!^:j!^!a7S!a#S8t#S#T;{#T#s8t#s$f5u$f;'S8t;'S;=`>V<%l?Ah8t?Ah?BY5u?BY?Mn8t?MnO5u!_:sbiSlWb!ROX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+P!VP<%l?Ah;{?Ah?BY7S?BY?Mn;{?MnO7S!V=dXiSb!Rqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0m!V>SP;=`<%l;{!_>YP;=`<%l8t!_>dhiSlWOX@OXZAYZ[@O[^AY^p@OqrBwrsAYswBwwxAYx!PBw!P!Q@O!Q!]Bw!]!^/^!^!aAY!a#SBw#S#TE{#T#sBw#s$f@O$f;'SBw;'S;=`HS<%l?AhBw?Ah?BY@O?BY?MnBw?MnO@O!Z@TalWOX@OXZAYZ[@O[^AY^p@Oqr@OrsAYsw@OwxAYx!]@O!]!^Az!^!aAY!a#S@O#S#TAY#T;'S@O;'S;=`Bq<%lO@O!RA]UOpAYq!]AY!]!^Ao!^;'SAY;'S;=`At<%lOAY!RAtOc!R!RAwP;=`<%lAY!ZBRYlWc!ROX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+P!ZBtP;=`<%l@O!_COhiSlWOX@OXZAYZ[@O[^AY^p@OqrBwrsAYswBwwxAYx!PBw!P!Q@O!Q!]Bw!]!^Dj!^!aAY!a#SBw#S#TE{#T#sBw#s$f@O$f;'SBw;'S;=`HS<%l?AhBw?Ah?BY@O?BY?MnBw?MnO@O!_DsbiSlWc!ROX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+P!VFQbiSOpAYqrE{rsAYswE{wxAYx!PE{!P!QAY!Q!]E{!]!^GY!^!aAY!a#sE{#s$fAY$f;'SE{;'S;=`G|<%l?AhE{?Ah?BYAY?BY?MnE{?MnOAY!VGaXiSc!Rqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0m!VHPP;=`<%lE{!_HVP;=`<%lBw!ZHcW!cxaP!b`Or(trs'ksv(tw!^(t!^!_)e!_;'S(t;'S;=`*P<%lO(t!aIYliSaPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx}-_}!OKQ!O!P-_!P!Q$q!Q!^-_!^!_*V!_!a&X!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q!aK_kiSaPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx!P-_!P!Q$q!Q!^-_!^!_*V!_!`&X!`!aMS!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q!TM_XaP!b`!dp!fQOr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&X!aNZ!ZiSgQaPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx}-_}!OMz!O!PMz!P!Q$q!Q![Mz![!]Mz!]!^-_!^!_*V!_!a&X!a!c-_!c!}Mz!}#R-_#R#SMz#S#T1k#T#oMz#o#s-_#s$f$q$f$}-_$}%OMz%O%W-_%W%oMz%o%p-_%p&aMz&a&b-_&b1pMz1p4UMz4U4dMz4d4e-_4e$ISMz$IS$I`-_$I`$IbMz$Ib$Je-_$Je$JgMz$Jg$Kh-_$Kh%#tMz%#t&/x-_&/x&EtMz&Et&FV-_&FV;'SMz;'S;:j!#|;:j;=`3X<%l?&r-_?&r?AhMz?Ah?BY$q?BY?MnMz?MnO$q!a!$PP;=`<%lMz!R!$ZY!b`!dpOq*Vqr!$yrs(Vsv*Vwx)ex!a*V!a!b!4t!b;'S*V;'S;=`*s<%lO*V!R!%Q]!b`!dpOr*Vrs(Vsv*Vwx)ex}*V}!O!%y!O!f*V!f!g!']!g#W*V#W#X!0`#X;'S*V;'S;=`*s<%lO*V!R!&QX!b`!dpOr*Vrs(Vsv*Vwx)ex}*V}!O!&m!O;'S*V;'S;=`*s<%lO*V!R!&vV!b`!dp!ePOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!'dX!b`!dpOr*Vrs(Vsv*Vwx)ex!q*V!q!r!(P!r;'S*V;'S;=`*s<%lO*V!R!(WX!b`!dpOr*Vrs(Vsv*Vwx)ex!e*V!e!f!(s!f;'S*V;'S;=`*s<%lO*V!R!(zX!b`!dpOr*Vrs(Vsv*Vwx)ex!v*V!v!w!)g!w;'S*V;'S;=`*s<%lO*V!R!)nX!b`!dpOr*Vrs(Vsv*Vwx)ex!{*V!{!|!*Z!|;'S*V;'S;=`*s<%lO*V!R!*bX!b`!dpOr*Vrs(Vsv*Vwx)ex!r*V!r!s!*}!s;'S*V;'S;=`*s<%lO*V!R!+UX!b`!dpOr*Vrs(Vsv*Vwx)ex!g*V!g!h!+q!h;'S*V;'S;=`*s<%lO*V!R!+xY!b`!dpOr!+qrs!,hsv!+qvw!-Swx!.[x!`!+q!`!a!/j!a;'S!+q;'S;=`!0Y<%lO!+qq!,mV!dpOv!,hvx!-Sx!`!,h!`!a!-q!a;'S!,h;'S;=`!.U<%lO!,hP!-VTO!`!-S!`!a!-f!a;'S!-S;'S;=`!-k<%lO!-SP!-kO|PP!-nP;=`<%l!-Sq!-xS!dp|POv(Vx;'S(V;'S;=`(h<%lO(Vq!.XP;=`<%l!,ha!.aX!b`Or!.[rs!-Ssv!.[vw!-Sw!`!.[!`!a!.|!a;'S!.[;'S;=`!/d<%lO!.[a!/TT!b`|POr)esv)ew;'S)e;'S;=`)y<%lO)ea!/gP;=`<%l!.[!R!/sV!b`!dp|POr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!0]P;=`<%l!+q!R!0gX!b`!dpOr*Vrs(Vsv*Vwx)ex#c*V#c#d!1S#d;'S*V;'S;=`*s<%lO*V!R!1ZX!b`!dpOr*Vrs(Vsv*Vwx)ex#V*V#V#W!1v#W;'S*V;'S;=`*s<%lO*V!R!1}X!b`!dpOr*Vrs(Vsv*Vwx)ex#h*V#h#i!2j#i;'S*V;'S;=`*s<%lO*V!R!2qX!b`!dpOr*Vrs(Vsv*Vwx)ex#m*V#m#n!3^#n;'S*V;'S;=`*s<%lO*V!R!3eX!b`!dpOr*Vrs(Vsv*Vwx)ex#d*V#d#e!4Q#e;'S*V;'S;=`*s<%lO*V!R!4XX!b`!dpOr*Vrs(Vsv*Vwx)ex#X*V#X#Y!+q#Y;'S*V;'S;=`*s<%lO*V!R!4{Y!b`!dpOr!4trs!5ksv!4tvw!6Vwx!8]x!a!4t!a!b!:]!b;'S!4t;'S;=`!;r<%lO!4tq!5pV!dpOv!5kvx!6Vx!a!5k!a!b!7W!b;'S!5k;'S;=`!8V<%lO!5kP!6YTO!a!6V!a!b!6i!b;'S!6V;'S;=`!7Q<%lO!6VP!6lTO!`!6V!`!a!6{!a;'S!6V;'S;=`!7Q<%lO!6VP!7QOyPP!7TP;=`<%l!6Vq!7]V!dpOv!5kvx!6Vx!`!5k!`!a!7r!a;'S!5k;'S;=`!8V<%lO!5kq!7yS!dpyPOv(Vx;'S(V;'S;=`(h<%lO(Vq!8YP;=`<%l!5ka!8bX!b`Or!8]rs!6Vsv!8]vw!6Vw!a!8]!a!b!8}!b;'S!8];'S;=`!:V<%lO!8]a!9SX!b`Or!8]rs!6Vsv!8]vw!6Vw!`!8]!`!a!9o!a;'S!8];'S;=`!:V<%lO!8]a!9vT!b`yPOr)esv)ew;'S)e;'S;=`)y<%lO)ea!:YP;=`<%l!8]!R!:dY!b`!dpOr!4trs!5ksv!4tvw!6Vwx!8]x!`!4t!`!a!;S!a;'S!4t;'S;=`!;r<%lO!4t!R!;]V!b`!dpyPOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!;uP;=`<%l!4t!V!{let c=a.type.id;if(c==Ay)return Qc(a,l,t);if(c==Zy)return Qc(a,l,n);if(c==Ey)return Qc(a,l,r);if(c==gp&&s.length){let h=a.node,f=h.firstChild,u=f&&up(f,l),O;if(u){for(let p of s)if(p.tag==u&&(!p.attrs||p.attrs(O||(O=kp(f,l))))){let m=h.lastChild,b=m.type.id==zy?m.from:h.to;if(b>f.to)return{parser:p.parser,overlay:[{from:f.to,to:b}]}}}}if(o&&c==Qp){let h=a.node,f;if(f=h.firstChild){let u=o[l.read(f.from,f.to)];if(u)for(let O of u){if(O.tagName&&O.tagName!=up(h.parent,l))continue;let p=h.lastChild;if(p.type.id==bc){let m=p.from+1,b=p.lastChild,g=p.to-(b&&b.isError?0:1);if(g>m)return{parser:O.parser,overlay:[{from:m,to:g}],bracketed:!0}}else if(p.type.id==bp)return{parser:O.parser,overlay:[{from:p.from,to:p.to}]}}}}return null})}var ik=145,xp=1,nk=146,rk=147,Pp=2,sk=148,ok=3,ak=4,vp=[9,10,11,12,13,32,133,160,5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8232,8233,8239,8287,12288],lk=58,ck=40,$p=95,hk=91,no=45,fk=46,uk=35,Ok=37,dk=38,pk=92,mk=10,gk=42;function wr(i){return i>=65&&i<=90||i>=97&&i<=122||i>=161}function Pc(i){return i>=48&&i<=57}function wp(i){return Pc(i)||i>=97&&i<=102||i>=65&&i<=70}var Tp=(i,e,t)=>(n,r)=>{for(let s=!1,o=0,a=0;;a++){let{next:l}=n;if(wr(l)||l==no||l==$p||s&&Pc(l))!s&&(l!=no||a>0)&&(s=!0),o===a&&l==no&&o++,n.advance();else if(l==pk&&n.peek(1)!=mk){if(n.advance(),wp(n.next)){do n.advance();while(wp(n.next));n.next==32&&n.advance()}else n.next>-1&&n.advance();s=!0}else{s&&n.acceptToken(o==2&&r.canShift(Pp)?e:l==ck?t:i);break}}},Qk=new J(Tp(nk,Pp,rk),{contextual:!0}),bk=new J(Tp(sk,ok,ak),{contextual:!0}),Sk=new J(i=>{if(vp.includes(i.peek(-1))){let{next:e}=i;(wr(e)||e==$p||e==uk||e==fk||e==gk||e==hk||e==lk&&wr(i.peek(1))||e==no||e==dk)&&i.acceptToken(ik)}}),yk=new J(i=>{if(!vp.includes(i.peek(-1))){let{next:e}=i;if(e==Ok&&(i.advance(),i.acceptToken(xp)),wr(e)){do i.advance();while(wr(i.next)||Pc(i.next));i.acceptToken(xp)}}}),kk=Qe({"AtKeyword import charset namespace keyframes media supports font-feature-values":d.definitionKeyword,"from to selector scope MatchFlag":d.keyword,NamespaceName:d.namespace,KeyframeName:d.labelName,KeyframeRangeName:d.operatorKeyword,TagName:d.tagName,ClassName:d.className,PseudoClassName:d.constant(d.className),IdName:d.labelName,"FeatureName PropertyName":d.propertyName,AttributeName:d.attributeName,NumberLiteral:d.number,KeywordQuery:d.keyword,UnaryQueryOp:d.operatorKeyword,"CallTag ValueName FontName":d.atom,VariableName:d.variableName,Callee:d.operatorKeyword,Unit:d.unit,"UniversalSelector NestingSelector":d.definitionOperator,"MatchOp CompareOp":d.compareOperator,"ChildOp SiblingOp, LogicOp":d.logicOperator,BinOp:d.arithmeticOperator,Important:d.modifier,Comment:d.blockComment,ColorLiteral:d.color,"ParenthesizedContent StringLiteral":d.string,":":d.punctuation,"PseudoOp #":d.derefOperator,"; , |":d.separator,"( )":d.paren,"[ ]":d.squareBracket,"{ }":d.brace}),xk={__proto__:null,lang:44,"nth-child":44,"nth-last-child":44,"nth-of-type":44,"nth-last-of-type":44,dir:44,"host-context":44,if:90,url:152,"url-prefix":152,domain:152,regexp:152},wk={__proto__:null,or:104,and:104,not:112,only:112,layer:206},Pk={__proto__:null,selector:118,style:124,layer:202},vk={__proto__:null,"@import":198,"@media":210,"@charset":214,"@namespace":218,"@keyframes":224,"@supports":236,"@scope":240,"@font-feature-values":246},$k={__proto__:null,to:243},Cp=ve.deserialize({version:14,states:"MlQYQdOOO#}QdOOP$UO`OOO%OQaO'#CfOOQP'#Ce'#CeO%VQdO'#CgO%[Q`O'#CgO%aQaO'#FnO&XQdO'#CkO&xQaO'#CcO'SQdO'#CnO'_QdO'#EOO'dQdO'#EQO'oQdO'#EXO'oQdO'#E[OOQP'#Fn'#FnO)RQhO'#E}OOQS'#Fm'#FmOOQS'#FQ'#FQQYQdOOO)YQdO'#EbO*iQhO'#EhO)YQdO'#EjO*pQdO'#ElO*{QdO'#EoO)}QhO'#EuO+TQdO'#EwO+`QdO'#EzO+eQaO'#CfO+lQ`O'#E_O+qQ`O'#F{O+|QdO'#F{QOQ`OOP,WO&jO'#CaPOOO)CA])CA]OOQP'#Ci'#CiOOQP,59R,59RO%VQdO,59ROOQP'#Cm'#CmOOQP,59V,59VO&XQdO,59VO,cQdO,59YO'_QdO,5:jO'dQdO,5:lO'oQdO,5:sO'oQdO,5:uO'oQdO,5:vO'oQdO'#FXO,nQ`O,58}O,vQdO'#E^OOQS,58},58}OOQP'#Cq'#CqOOQO'#D|'#D|OOQP,59Y,59YO,}Q`O,59YO-SQ`O,59YOOQP'#EP'#EPOOQP,5:j,5:jO-XQpO'#ERO-dQdO'#ESO-iQ`O'#ESO-nQpO,5:lO.XQaO,5:sO.oQaO,5:vOOQW'#D^'#D^O/nQhO'#DgO0RQhO,5;iO)}QhO'#DeO0`Q`O'#DnO0eQhO'#DxOOQW'#Ft'#FtOOQS,5;i,5;iO0jQ`O'#DhO0oQ`O'#DkOOQS-E9O-E9OOOQ['#Cv'#CvO0tQdO'#CwO1[QdO'#C}O1rQdO'#DQO2YQ!pO'#DSO4fQ!jO,5:|OOQO'#DX'#DXO-SQ`O'#DWO4vQ!nO'#FqO6|Q`O'#DYO7RQ`O'#DyOOQ['#Fq'#FqO7WQhO'#GOO7fQ`O,5;SO7kQ!bO,5;UOOQS'#En'#EnO7sQ`O,5;WO7xQdO,5;WOOQO'#Eq'#EqO8QQ`O,5;ZO8VQhO,5;aO'oQdO'#DjOOQS,5;c,5;cO0jQ`O,5;cO8_QdO,5;cOOQS'#F`'#F`O8gQdO'#E|O7fQ`O,5;fO8oQdO,5:yO9PQdO'#FZO9^Q`O,5lQhO'#DoOOQW,5:Y,5:YOOQW,5:d,5:dOOQW,5:S,5:SO>vQhO,5:VO?bQ!fO'#FrOOQS'#Fr'#FrOOQS'#FS'#FSO@rQdO,59cOOQ[,59c,59cOAYQdO,59iOOQ[,59i,59iOApQdO,59lOOQ[,59l,59lOOQ[,59n,59nO)YQdO,59pOBWQhO'#EdOOQW'#Ed'#EdOBuQ`O1G0hO4oQhO1G0hOOQ[,59r,59rO)}QhO'#D[OOQ[,59t,59tOBzQ#tO,5:eOCVQhO'#F]OCdQ`O,5vQhO'#DmOI_QhO'#DqOIgQhO'#DsOIlQhO'#FwOOQO'#Fw'#FwOItQ!bO'#DwOOQO'#Fy'#FyOOQO'#Fv'#FvOIyQ`O1G/qOOQS-E9Q-E9QOOQ[1G.}1G.}OOQ[1G/T1G/TOOQ[1G/W1G/WOOQ[1G/[1G/[OJOQdO,5;OOOQS7+&S7+&SOJTQ`O7+&SOJYQhO'#D]OJbQ`O,59vO)}QhO,59vOOQ[1G0P1G0POJjQ`O1G0POJoQhO,5;wOOQO-E9Z-E9ZOOQS7+&^7+&^OJ}QbO'#DSOOQO'#Et'#EtOK]Q`O'#EsOOQO'#Es'#EsOKhQ`O'#F^OKpQdO,5;^OOQS,5;^,5;^OOQ[1G/p1G/pOOQS7+&i7+&iO7fQ`O7+&iOK{Q!fO'#FYO)YQdO'#FYOMSQdO7+&POOQO7+&P7+&POOQO,5:{,5:{OOQO1G1a1G1aOMgQ!bO<vQhO'#DrOOQO,5:],5:]O! hQhO,5:_OGUQhO,5:cOOQW7+%]7+%]OOQO'#Ef'#EfO! pQ`O1G0jOOQS<xAN>xO!#zQ`OAN>xO!$PQaO,5;rOOQO-E9U-E9UO!$ZQdO,5;qOOQO-E9T-E9TOOQW<vQhO'#DuOOQO1G/y1G/yO!%vQ!bO1G/}OJOQdO'#F[O!&OQ`O7+&UOOQW7+&U7+&UO!&WQ!bO1G/cOOQ[7+$|7+$|O!&cQhO7+$|P!&jQ`O'#FTOOQO,5;y,5;yOOQO-E9]-E9]OOQS1G1d1G1dOOQPG24dG24dO!&oQ`OAN>ZO)YQdO1G1[O!&tQ`O7+'jOOQO1G/x1G/xO!&|Q`O,5:aO!$eQhO7+%iOOQO,5;v,5;vOOQO-E9Y-E9YOOQW<Q!]!^>|!^!_?_!_!`@Z!`!a@n!a!b%Z!b!cAo!c!k%Z!k!lC|!l!u%Z!u!vC|!v!}%Z!}#OD_#O#P%Z#P#QDp#Q#R2X#R#]%Z#]#^ER#^#g%Z#g#hC|#h#o%Z#o#pIf#p#qIw#q#rJ`#r#sJq#s#y%Z#y#z&R#z$f%Z$f$g&R$g#BY%Z#BY#BZ&R#BZ$IS%Z$IS$I_&R$I_$I|%Z$I|$JO&R$JO$JT%Z$JT$JU&R$JU$KV%Z$KV$KW&R$KW&FU%Z&FU&FV&R&FV;'S%Z;'S;=`KY<%lO%Z`%^SOy%jz;'S%j;'S;=`%{<%lO%j`%oS!o`Oy%jz;'S%j;'S;=`%{<%lO%j`&OP;=`<%l%j~&Wh$[~OX%jX^'r^p%jpq'rqy%jz#y%j#y#z'r#z$f%j$f$g'r$g#BY%j#BY#BZ'r#BZ$IS%j$IS$I_'r$I_$I|%j$I|$JO'r$JO$JT%j$JT$JU'r$JU$KV%j$KV$KW'r$KW&FU%j&FU&FV'r&FV;'S%j;'S;=`%{<%lO%j~'yh$[~!o`OX%jX^'r^p%jpq'rqy%jz#y%j#y#z'r#z$f%j$f$g'r$g#BY%j#BY#BZ'r#BZ$IS%j$IS$I_'r$I_$I|%j$I|$JO'r$JO$JT%j$JT$JU'r$JU$KV%j$KV$KW'r$KW&FU%j&FU&FV'r&FV;'S%j;'S;=`%{<%lO%jj)jS$qYOy%jz;'S%j;'S;=`%{<%lO%j~)yWOY)vZr)vrs*cs#O)v#O#P*h#P;'S)v;'S;=`+d<%lO)v~*hOw~~*kRO;'S)v;'S;=`*t;=`O)v~*wXOY)vZr)vrs*cs#O)v#O#P*h#P;'S)v;'S;=`+d;=`<%l)v<%lO)v~+gP;=`<%l)vj+oYmYOy%jz!Q%j!Q![,_![!c%j!c!i,_!i#T%j#T#Z,_#Z;'S%j;'S;=`%{<%lO%jj,dY!o`Oy%jz!Q%j!Q![-S![!c%j!c!i-S!i#T%j#T#Z-S#Z;'S%j;'S;=`%{<%lO%jj-XY!o`Oy%jz!Q%j!Q![-w![!c%j!c!i-w!i#T%j#T#Z-w#Z;'S%j;'S;=`%{<%lO%jj.OYuY!o`Oy%jz!Q%j!Q![.n![!c%j!c!i.n!i#T%j#T#Z.n#Z;'S%j;'S;=`%{<%lO%jj.uYuY!o`Oy%jz!Q%j!Q![/e![!c%j!c!i/e!i#T%j#T#Z/e#Z;'S%j;'S;=`%{<%lO%jj/jY!o`Oy%jz!Q%j!Q![0Y![!c%j!c!i0Y!i#T%j#T#Z0Y#Z;'S%j;'S;=`%{<%lO%jj0aYuY!o`Oy%jz!Q%j!Q![1P![!c%j!c!i1P!i#T%j#T#Z1P#Z;'S%j;'S;=`%{<%lO%jj1UY!o`Oy%jz!Q%j!Q![1t![!c%j!c!i1t!i#T%j#T#Z1t#Z;'S%j;'S;=`%{<%lO%jj1{SuY!o`Oy%jz;'S%j;'S;=`%{<%lO%jd2[UOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%jd2uS!yS!o`Oy%jz;'S%j;'S;=`%{<%lO%jb3WS^QOy%jz;'S%j;'S;=`%{<%lO%j~3gWOY3dZw3dwx*cx#O3d#O#P4P#P;'S3d;'S;=`4{<%lO3d~4SRO;'S3d;'S;=`4];=`O3d~4`XOY3dZw3dwx*cx#O3d#O#P4P#P;'S3d;'S;=`4{;=`<%l3d<%lO3d~5OP;=`<%l3dj5WShYOy%jz;'S%j;'S;=`%{<%lO%j~5iOg~n5pUWQyWOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%jj6ZWyW#PQOy%jz!O%j!O!P6s!P!Q%j!Q![9x![;'S%j;'S;=`%{<%lO%jj6xU!o`Oy%jz!Q%j!Q![7[![;'S%j;'S;=`%{<%lO%jj7cY!o`$gYOy%jz!Q%j!Q![7[![!g%j!g!h8R!h#X%j#X#Y8R#Y;'S%j;'S;=`%{<%lO%jj8WY!o`Oy%jz{%j{|8v|}%j}!O8v!O!Q%j!Q![9_![;'S%j;'S;=`%{<%lO%jj8{U!o`Oy%jz!Q%j!Q![9_![;'S%j;'S;=`%{<%lO%jj9fU!o`$gYOy%jz!Q%j!Q![9_![;'S%j;'S;=`%{<%lO%jj:P[!o`$gYOy%jz!O%j!O!P7[!P!Q%j!Q![9x![!g%j!g!h8R!h#X%j#X#Y8R#Y;'S%j;'S;=`%{<%lO%jj:zS!dYOy%jz;'S%j;'S;=`%{<%lO%jj;]WyWOy%jz!O%j!O!P6s!P!Q%j!Q![9x![;'S%j;'S;=`%{<%lO%jj;zU`YOy%jz!Q%j!Q![7[![;'S%j;'S;=`%{<%lO%j~VUcYOy%jz![%j![!]>i!];'S%j;'S;=`%{<%lO%jj>pSdY!o`Oy%jz;'S%j;'S;=`%{<%lO%jj?RSnYOy%jz;'S%j;'S;=`%{<%lO%jh?dU!WWOy%jz!_%j!_!`?v!`;'S%j;'S;=`%{<%lO%jh?}S!WW!o`Oy%jz;'S%j;'S;=`%{<%lO%jl@bS!WW!ySOy%jz;'S%j;'S;=`%{<%lO%jj@uV!|Q!WWOy%jz!_%j!_!`?v!`!aA[!a;'S%j;'S;=`%{<%lO%jbAcS!|Q!o`Oy%jz;'S%j;'S;=`%{<%lO%jjArYOy%jz}%j}!OBb!O!c%j!c!}CP!}#T%j#T#oCP#o;'S%j;'S;=`%{<%lO%jjBgW!o`Oy%jz!c%j!c!}CP!}#T%j#T#oCP#o;'S%j;'S;=`%{<%lO%jjCW[lY!o`Oy%jz}%j}!OCP!O!Q%j!Q![CP![!c%j!c!}CP!}#T%j#T#oCP#o;'S%j;'S;=`%{<%lO%jhDRS!zWOy%jz;'S%j;'S;=`%{<%lO%jjDdSpYOy%jz;'S%j;'S;=`%{<%lO%jnDuSo^Oy%jz;'S%j;'S;=`%{<%lO%jjEWU!zWOy%jz#a%j#a#bEj#b;'S%j;'S;=`%{<%lO%jbEoU!o`Oy%jz#d%j#d#eFR#e;'S%j;'S;=`%{<%lO%jbFWU!o`Oy%jz#c%j#c#dFj#d;'S%j;'S;=`%{<%lO%jbFoU!o`Oy%jz#f%j#f#gGR#g;'S%j;'S;=`%{<%lO%jbGWU!o`Oy%jz#h%j#h#iGj#i;'S%j;'S;=`%{<%lO%jbGoU!o`Oy%jz#T%j#T#UHR#U;'S%j;'S;=`%{<%lO%jbHWU!o`Oy%jz#b%j#b#cHj#c;'S%j;'S;=`%{<%lO%jbHoU!o`Oy%jz#h%j#h#iIR#i;'S%j;'S;=`%{<%lO%jbIYS$pQ!o`Oy%jz;'S%j;'S;=`%{<%lO%jjIkSsYOy%jz;'S%j;'S;=`%{<%lO%jfI|U$cUOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%jjJeSrYOy%jz;'S%j;'S;=`%{<%lO%jfJvU#PQOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%j`K]P;=`<%l%Z",tokenizers:[Sk,yk,Qk,bk,1,2,3,4,new yi("m~RRYZ[z{a~~g~aO$_~~dP!P!Qg~lO$`~~",28,152)],topRules:{StyleSheet:[0,6],Styles:[1,126]},dynamicPrecedences:{94:1},specialized:[{term:147,get:i=>xk[i]||-1},{term:148,get:i=>wk[i]||-1},{term:4,get:i=>Pk[i]||-1},{term:28,get:i=>vk[i]||-1},{term:146,get:i=>$k[i]||-1}],tokenPrec:2405});var vc=null;function $c(){if(!vc&&typeof document=="object"&&document.body){let{style:i}=document.body,e=[],t=new Set;for(let n in i)n!="cssText"&&n!="cssFloat"&&typeof i[n]=="string"&&(/[A-Z]/.test(n)&&(n=n.replace(/[A-Z]/g,r=>"-"+r.toLowerCase())),t.has(n)||(e.push(n),t.add(n)));vc=e.sort().map(n=>({type:"property",label:n,apply:n+": "}))}return vc||[]}var Xp=["active","after","any-link","autofill","backdrop","before","checked","cue","default","defined","disabled","empty","enabled","file-selector-button","first","first-child","first-letter","first-line","first-of-type","focus","focus-visible","focus-within","fullscreen","has","host","host-context","hover","in-range","indeterminate","invalid","is","lang","last-child","last-of-type","left","link","marker","modal","not","nth-child","nth-last-child","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","part","placeholder","placeholder-shown","read-only","read-write","required","right","root","scope","selection","slotted","target","target-text","valid","visited","where"].map(i=>({type:"class",label:i})),_p=["above","absolute","activeborder","additive","activecaption","after-white-space","ahead","alias","all","all-scroll","alphabetic","alternate","always","antialiased","appworkspace","asterisks","attr","auto","auto-flow","avoid","avoid-column","avoid-page","avoid-region","axis-pan","background","backwards","baseline","below","bidi-override","blink","block","block-axis","bold","bolder","border","border-box","both","bottom","break","break-all","break-word","bullets","button","button-bevel","buttonface","buttonhighlight","buttonshadow","buttontext","calc","capitalize","caps-lock-indicator","caption","captiontext","caret","cell","center","checkbox","circle","cjk-decimal","clear","clip","close-quote","col-resize","collapse","color","color-burn","color-dodge","column","column-reverse","compact","condensed","contain","content","contents","content-box","context-menu","continuous","copy","counter","counters","cover","crop","cross","crosshair","currentcolor","cursive","cyclic","darken","dashed","decimal","decimal-leading-zero","default","default-button","dense","destination-atop","destination-in","destination-out","destination-over","difference","disc","discard","disclosure-closed","disclosure-open","document","dot-dash","dot-dot-dash","dotted","double","down","e-resize","ease","ease-in","ease-in-out","ease-out","element","ellipse","ellipsis","embed","end","ethiopic-abegede-gez","ethiopic-halehame-aa-er","ethiopic-halehame-gez","ew-resize","exclusion","expanded","extends","extra-condensed","extra-expanded","fantasy","fast","fill","fill-box","fixed","flat","flex","flex-end","flex-start","footnotes","forwards","from","geometricPrecision","graytext","grid","groove","hand","hard-light","help","hidden","hide","higher","highlight","highlighttext","horizontal","hsl","hsla","hue","icon","ignore","inactiveborder","inactivecaption","inactivecaptiontext","infinite","infobackground","infotext","inherit","initial","inline","inline-axis","inline-block","inline-flex","inline-grid","inline-table","inset","inside","intrinsic","invert","italic","justify","keep-all","landscape","large","larger","left","level","lighter","lighten","line-through","linear","linear-gradient","lines","list-item","listbox","listitem","local","logical","loud","lower","lower-hexadecimal","lower-latin","lower-norwegian","lowercase","ltr","luminosity","manipulation","match","matrix","matrix3d","medium","menu","menutext","message-box","middle","min-intrinsic","mix","monospace","move","multiple","multiple_mask_images","multiply","n-resize","narrower","ne-resize","nesw-resize","no-close-quote","no-drop","no-open-quote","no-repeat","none","normal","not-allowed","nowrap","ns-resize","numbers","numeric","nw-resize","nwse-resize","oblique","opacity","open-quote","optimizeLegibility","optimizeSpeed","outset","outside","outside-shape","overlay","overline","padding","padding-box","painted","page","paused","perspective","pinch-zoom","plus-darker","plus-lighter","pointer","polygon","portrait","pre","pre-line","pre-wrap","preserve-3d","progress","push-button","radial-gradient","radio","read-only","read-write","read-write-plaintext-only","rectangle","region","relative","repeat","repeating-linear-gradient","repeating-radial-gradient","repeat-x","repeat-y","reset","reverse","rgb","rgba","ridge","right","rotate","rotate3d","rotateX","rotateY","rotateZ","round","row","row-resize","row-reverse","rtl","run-in","running","s-resize","sans-serif","saturation","scale","scale3d","scaleX","scaleY","scaleZ","screen","scroll","scrollbar","scroll-position","se-resize","self-start","self-end","semi-condensed","semi-expanded","separate","serif","show","single","skew","skewX","skewY","skip-white-space","slide","slider-horizontal","slider-vertical","sliderthumb-horizontal","sliderthumb-vertical","slow","small","small-caps","small-caption","smaller","soft-light","solid","source-atop","source-in","source-out","source-over","space","space-around","space-between","space-evenly","spell-out","square","start","static","status-bar","stretch","stroke","stroke-box","sub","subpixel-antialiased","svg_masks","super","sw-resize","symbolic","symbols","system-ui","table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row","table-row-group","text","text-bottom","text-top","textarea","textfield","thick","thin","threeddarkshadow","threedface","threedhighlight","threedlightshadow","threedshadow","to","top","transform","translate","translate3d","translateX","translateY","translateZ","transparent","ultra-condensed","ultra-expanded","underline","unidirectional-pan","unset","up","upper-latin","uppercase","url","var","vertical","vertical-text","view-box","visible","visibleFill","visiblePainted","visibleStroke","visual","w-resize","wait","wave","wider","window","windowframe","windowtext","words","wrap","wrap-reverse","x-large","x-small","xor","xx-large","xx-small"].map(i=>({type:"keyword",label:i})).concat(["aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","grey","green","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen"].map(i=>({type:"constant",label:i}))),Tk=["a","abbr","address","article","aside","b","bdi","bdo","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","dd","del","details","dfn","dialog","div","dl","dt","em","figcaption","figure","footer","form","header","hgroup","h1","h2","h3","h4","h5","h6","hr","html","i","iframe","img","input","ins","kbd","label","legend","li","main","meter","nav","ol","output","p","pre","ruby","section","select","small","source","span","strong","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","tr","u","ul"].map(i=>({type:"type",label:i})),Ck=["@charset","@color-profile","@container","@counter-style","@font-face","@font-feature-values","@font-palette-values","@import","@keyframes","@layer","@media","@namespace","@page","@position-try","@property","@scope","@starting-style","@supports","@view-transition"].map(i=>({type:"keyword",label:i})),Gt=/^(\w[\w-]*|-\w[\w-]*|)$/,Xk=/^-(-[\w-]*)?$/;function _k(i,e){var t;if((i.name=="("||i.type.isError)&&(i=i.parent||i),i.name!="ArgList")return!1;let n=(t=i.parent)===null||t===void 0?void 0:t.firstChild;return n?.name!="Callee"?!1:e.sliceString(n.from,n.to)=="var"}var Rp=new di,Rk=["Declaration"];function Ak(i){for(let e=i;;){if(e.type.isTop)return e;if(!(e=e.parent))return i}}function Ap(i,e,t){if(e.to-e.from>4096){let n=Rp.get(e);if(n)return n;let r=[],s=new Set,o=e.cursor(ee.IncludeAnonymous);if(o.firstChild())do for(let a of Ap(i,o.node,t))s.has(a.label)||(s.add(a.label),r.push(a));while(o.nextSibling());return Rp.set(e,r),r}else{let n=[],r=new Set;return e.cursor().iterate(s=>{var o;if(t(s)&&s.matchContext(Rk)&&((o=s.node.nextSibling)===null||o===void 0?void 0:o.name)==":"){let a=i.sliceString(s.from,s.to);r.has(a)||(r.add(a),n.push({label:a,type:"variable"}))}}),n}}var Zk=i=>e=>{let{state:t,pos:n}=e,r=U(t).resolveInner(n,-1),s=r.type.isError&&r.from==r.to-1&&t.doc.sliceString(r.from,r.to)=="-";if(r.name=="PropertyName"||(s||r.name=="TagName")&&/^(Block|Styles)$/.test(r.resolve(r.to).name))return{from:r.from,options:$c(),validFor:Gt};if(r.name=="ValueName")return{from:r.from,options:_p,validFor:Gt};if(r.name=="PseudoClassName")return{from:r.from,options:Xp,validFor:Gt};if(i(r)||(e.explicit||s)&&_k(r,t.doc))return{from:i(r)||s?r.from:n,options:Ap(t.doc,Ak(r),i),validFor:Xk};if(r.name=="TagName"){for(let{parent:l}=r;l;l=l.parent)if(l.name=="Block")return{from:r.from,options:$c(),validFor:Gt};return{from:r.from,options:Tk,validFor:Gt}}if(r.name=="AtKeyword")return{from:r.from,options:Ck,validFor:Gt};if(!e.explicit)return null;let o=r.resolve(n),a=o.childBefore(n);return a&&a.name==":"&&o.name=="PseudoClassSelector"?{from:n,options:Xp,validFor:Gt}:a&&a.name==":"&&o.name=="Declaration"||o.name=="ArgList"?{from:n,options:_p,validFor:Gt}:o.name=="Block"||o.name=="Styles"?{from:n,options:$c(),validFor:Gt}:null},Ek=Zk(i=>i.name=="VariableName"),Pr=Ce.define({name:"css",parser:Cp.configure({props:[Pe.add({Declaration:Bt()}),Xe.add({"Block KeyframeList":ht})]}),languageData:{commentTokens:{block:{open:"/*",close:"*/"}},indentOnInput:/^\s*\}$/,wordChars:"-"}});function ro(){return new me(Pr,Pr.data.of({autocomplete:Ek}))}var qk=316,zk=317,Zp=1,Lk=2,Mk=3,Wk=4,jk=318,Vk=320,Dk=321,Yk=5,Ik=6,Bk=0,Cc=[9,10,11,12,13,32,133,160,5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8232,8233,8239,8287,12288],Ep=125,Uk=59,Xc=47,Gk=42,Nk=43,Fk=45,Hk=60,Kk=44,Jk=63,e1=46,t1=91,i1=new dt({start:!1,shift(i,e){return e==Yk||e==Ik||e==Vk?i:e==Dk},strict:!1}),n1=new J((i,e)=>{let{next:t}=i;(t==Ep||t==-1||e.context)&&i.acceptToken(jk)},{contextual:!0,fallback:!0}),r1=new J((i,e)=>{let{next:t}=i,n;Cc.indexOf(t)>-1||t==Xc&&((n=i.peek(1))==Xc||n==Gk)||t!=Ep&&t!=Uk&&t!=-1&&!e.context&&i.acceptToken(qk)},{contextual:!0}),s1=new J((i,e)=>{i.next==t1&&!e.context&&i.acceptToken(zk)},{contextual:!0}),o1=new J((i,e)=>{let{next:t}=i;if(t==Nk||t==Fk){if(i.advance(),t==i.next){i.advance();let n=!e.context&&e.canShift(Zp);i.acceptToken(n?Zp:Lk)}}else t==Jk&&i.peek(1)==e1&&(i.advance(),i.advance(),(i.next<48||i.next>57)&&i.acceptToken(Mk))},{contextual:!0});function Tc(i,e){return i>=65&&i<=90||i>=97&&i<=122||i==95||i>=192||!e&&i>=48&&i<=57}var a1=new J((i,e)=>{if(i.next!=Hk||!e.dialectEnabled(Bk)||(i.advance(),i.next==Xc))return;let t=0;for(;Cc.indexOf(i.next)>-1;)i.advance(),t++;if(Tc(i.next,!0)){for(i.advance(),t++;Tc(i.next,!1);)i.advance(),t++;for(;Cc.indexOf(i.next)>-1;)i.advance(),t++;if(i.next==Kk)return;for(let n=0;;n++){if(n==7){if(!Tc(i.next,!0))return;break}if(i.next!="extends".charCodeAt(n))break;i.advance(),t++}}i.acceptToken(Wk,-t)}),l1=Qe({"get set async static":d.modifier,"for while do if else switch try catch finally return throw break continue default case defer":d.controlKeyword,"in of await yield void typeof delete instanceof as satisfies":d.operatorKeyword,"let var const using function class extends":d.definitionKeyword,"import export from":d.moduleKeyword,"with debugger new":d.keyword,TemplateString:d.special(d.string),super:d.atom,BooleanLiteral:d.bool,this:d.self,null:d.null,Star:d.modifier,VariableName:d.variableName,"CallExpression/VariableName TaggedTemplateExpression/VariableName":d.function(d.variableName),VariableDefinition:d.definition(d.variableName),Label:d.labelName,PropertyName:d.propertyName,PrivatePropertyName:d.special(d.propertyName),"CallExpression/MemberExpression/PropertyName":d.function(d.propertyName),"FunctionDeclaration/VariableDefinition":d.function(d.definition(d.variableName)),"ClassDeclaration/VariableDefinition":d.definition(d.className),"NewExpression/VariableName":d.className,PropertyDefinition:d.definition(d.propertyName),PrivatePropertyDefinition:d.definition(d.special(d.propertyName)),UpdateOp:d.updateOperator,"LineComment Hashbang":d.lineComment,BlockComment:d.blockComment,Number:d.number,String:d.string,Escape:d.escape,ArithOp:d.arithmeticOperator,LogicOp:d.logicOperator,BitOp:d.bitwiseOperator,CompareOp:d.compareOperator,RegExp:d.regexp,Equals:d.definitionOperator,Arrow:d.function(d.punctuation),": Spread":d.punctuation,"( )":d.paren,"[ ]":d.squareBracket,"{ }":d.brace,"InterpolationStart InterpolationEnd":d.special(d.brace),".":d.derefOperator,", ;":d.separator,"@":d.meta,TypeName:d.typeName,TypeDefinition:d.definition(d.typeName),"type enum interface implements namespace module declare":d.definitionKeyword,"abstract global Privacy readonly override":d.modifier,"is keyof unique infer asserts":d.operatorKeyword,JSXAttributeValue:d.attributeValue,JSXText:d.content,"JSXStartTag JSXStartCloseTag JSXSelfCloseEndTag JSXEndTag":d.angleBracket,"JSXIdentifier JSXNameSpacedName":d.tagName,"JSXAttribute/JSXIdentifier JSXAttribute/JSXNameSpacedName":d.attributeName,"JSXBuiltin/JSXIdentifier":d.standard(d.tagName)}),c1={__proto__:null,export:20,as:25,from:33,default:36,async:41,function:42,in:52,out:55,const:56,extends:60,this:64,true:72,false:72,null:84,void:88,typeof:92,super:108,new:142,delete:154,yield:163,await:167,class:172,public:235,private:235,protected:235,readonly:237,instanceof:256,satisfies:259,import:292,keyof:349,unique:353,infer:359,asserts:395,is:397,abstract:417,implements:419,type:421,let:424,var:426,using:429,interface:435,enum:439,namespace:445,module:447,declare:451,global:455,defer:471,for:476,of:485,while:488,with:492,do:496,if:500,else:502,switch:506,case:512,try:518,catch:522,finally:526,return:530,throw:534,break:538,continue:542,debugger:546},h1={__proto__:null,async:129,get:131,set:133,declare:195,public:197,private:197,protected:197,static:199,abstract:201,override:203,readonly:209,accessor:211,new:401},f1={__proto__:null,"<":193},qp=ve.deserialize({version:14,states:"$F|Q%TQlOOO%[QlOOO'_QpOOP(lO`OOO*zQ!0MxO'#CiO+RO#tO'#CjO+aO&jO'#CjO+oO#@ItO'#DaO.QQlO'#DgO.bQlO'#DrO%[QlO'#DzO0fQlO'#ESOOQ!0Lf'#E['#E[O1PQ`O'#EXOOQO'#Ep'#EpOOQO'#Il'#IlO1XQ`O'#GsO1dQ`O'#EoO1iQ`O'#EoO3hQ!0MxO'#JrO6[Q!0MxO'#JsO6uQ`O'#F]O6zQ,UO'#FtOOQ!0Lf'#Ff'#FfO7VO7dO'#FfO9XQMhO'#F|O9`Q`O'#F{OOQ!0Lf'#Js'#JsOOQ!0Lb'#Jr'#JrO9eQ`O'#GwOOQ['#K_'#K_O9pQ`O'#IYO9uQ!0LrO'#IZOOQ['#J`'#J`OOQ['#I_'#I_Q`QlOOQ`QlOOO9}Q!L^O'#DvO:UQlO'#EOO:]QlO'#EQO9kQ`O'#GsO:dQMhO'#CoO:rQ`O'#EnO:}Q`O'#EyO;hQMhO'#FeO;xQ`O'#GsOOQO'#K`'#K`O;}Q`O'#K`O<]Q`O'#G{O<]Q`O'#G|O<]Q`O'#HOO9kQ`O'#HRO=SQ`O'#HUO>kQ`O'#CeO>{Q`O'#HcO?TQ`O'#HiO?TQ`O'#HkO`QlO'#HmO?TQ`O'#HoO?TQ`O'#HrO?YQ`O'#HxO?_Q!0LsO'#IOO%[QlO'#IQO?jQ!0LsO'#ISO?uQ!0LsO'#IUO9uQ!0LrO'#IWO@QQ!0MxO'#CiOASQpO'#DlQOQ`OOO%[QlO'#EQOAjQ`O'#ETO:dQMhO'#EnOAuQ`O'#EnOBQQ!bO'#FeOOQ['#Cg'#CgOOQ!0Lb'#Dq'#DqOOQ!0Lb'#Jv'#JvO%[QlO'#JvOOQO'#Jy'#JyOOQO'#Ih'#IhOCQQpO'#EgOOQ!0Lb'#Ef'#EfOOQ!0Lb'#J}'#J}OC|Q!0MSO'#EgODWQpO'#EWOOQO'#Jx'#JxODlQpO'#JyOEyQpO'#EWODWQpO'#EgPFWO&2DjO'#CbPOOO)CD})CD}OOOO'#I`'#I`OFcO#tO,59UOOQ!0Lh,59U,59UOOOO'#Ia'#IaOFqO&jO,59UOGPQ!L^O'#DcOOOO'#Ic'#IcOGWO#@ItO,59{OOQ!0Lf,59{,59{OGfQlO'#IdOGyQ`O'#JtOIxQ!fO'#JtO+}QlO'#JtOJPQ`O,5:ROJgQ`O'#EpOJtQ`O'#KTOKPQ`O'#KSOKPQ`O'#KSOKXQ`O,5;^OK^Q`O'#KROOQ!0Ln,5:^,5:^OKeQlO,5:^OMcQ!0MxO,5:fONSQ`O,5:nONmQ!0LrO'#KQONtQ`O'#KPO9eQ`O'#KPO! YQ`O'#KPO! bQ`O,5;]O! gQ`O'#KPO!#lQ!fO'#JsOOQ!0Lh'#Ci'#CiO%[QlO'#ESO!$[Q!fO,5:sOOQS'#Jz'#JzOOQO-EtOOQ['#Jh'#JhOOQ[,5>u,5>uOOQ[-E<]-E<]O!TO`QlO,5>VO!LOQ`O,5>XO`QlO,5>ZO!LTQ`O,5>^O!LYQlO,5>dOOQ[,5>j,5>jO%[QlO,5>jO9uQ!0LrO,5>lOOQ[,5>n,5>nO#!dQ`O,5>nOOQ[,5>p,5>pO#!dQ`O,5>pOOQ[,5>r,5>rO##QQpO'#D_O%[QlO'#JvO##sQpO'#JvO##}QpO'#DmO#$`QpO'#DmO#&qQlO'#DmO#&xQ`O'#JuO#'QQ`O,5:WO#'VQ`O'#EtO#'eQ`O'#KUO#'mQ`O,5;_O#'rQpO'#DmO#(PQpO'#EVOOQ!0Lf,5:o,5:oO%[QlO,5:oO#(WQ`O,5:oO?YQ`O,5;YO!CUQpO,5;YO!C^QMhO,5;YO:dQMhO,5;YO#(`Q`O,5@bO#(eQ07dO,5:sOOQO-EPO$6^Q`O,5>POOQ[1G3i1G3iO`QlO1G3iOOQ[1G3o1G3oOOQ[1G3q1G3qO?TQ`O1G3sO$6cQlO1G3uO$:gQlO'#HtOOQ[1G3x1G3xO$:tQ`O'#HzO?YQ`O'#H|OOQ[1G4O1G4OO$:|QlO1G4OO9uQ!0LrO1G4UOOQ[1G4W1G4WOOQ!0Lb'#G_'#G_O9uQ!0LrO1G4YO9uQ!0LrO1G4[O$?TQ`O,5@bO!)[QlO,5;`O9eQ`O,5;`O?YQ`O,5:XO!)[QlO,5:XO!CUQpO,5:XO$?YQ?MtO,5:XOOQO,5;`,5;`O$?dQpO'#IeO$?zQ`O,5@aOOQ!0Lf1G/r1G/rO$@SQpO'#IkO$@^Q`O,5@pOOQ!0Lb1G0y1G0yO#$`QpO,5:XOOQO'#Ig'#IgO$@fQpO,5:qOOQ!0Ln,5:q,5:qO#(ZQ`O1G0ZOOQ!0Lf1G0Z1G0ZO%[QlO1G0ZOOQ!0Lf1G0t1G0tO?YQ`O1G0tO!CUQpO1G0tO!C^QMhO1G0tOOQ!0Lb1G5|1G5|O!ByQ!0LrO1G0^OOQO1G0m1G0mO%[QlO1G0mO$@mQ!0LrO1G0mO$@xQ!0LrO1G0mO!CUQpO1G0^ODWQpO1G0^O$AWQ!0LrO1G0mOOQO1G0^1G0^O$AlQ!0MxO1G0mPOOO-E<[-E<[POOO1G.h1G.hOOOO1G/i1G/iO$AvQ!bO,5QQpO,5@}OOQ!0Lb1G3c1G3cOOQ[7+$V7+$VO@zQ`O7+$VO9uQ!0LrO7+$VO%>]Q`O7+$VO%[QlO1G6lO%[QlO1G6mO%>bQ!0LrO1G6lO%>lQlO1G3kO%>sQ`O1G3kO%>xQlO1G3kOOQ[7+)T7+)TO9uQ!0LrO7+)_O`QlO7+)aOOQ['#Kh'#KhOOQ['#JS'#JSO%?PQlO,5>`OOQ[,5>`,5>`O%[QlO'#HuO%?^Q`O'#HwOOQ[,5>f,5>fO9eQ`O,5>fOOQ[,5>h,5>hOOQ[7+)j7+)jOOQ[7+)p7+)pOOQ[7+)t7+)tOOQ[7+)v7+)vO%?cQpO1G5|O%?}Q?MtO1G0zO%@XQ`O1G0zOOQO1G/s1G/sO%@dQ?MtO1G/sO?YQ`O1G/sO!)[QlO'#DmOOQO,5?P,5?POOQO-ERQ`O7+,WO&>WQ`O7+,XO%[QlO7+,WO%[QlO7+,XOOQ[7+)V7+)VO&>]Q`O7+)VO&>bQlO7+)VO&>iQ`O7+)VOOQ[<nQ`O,5>aOOQ[,5>c,5>cO&>sQ`O1G4QO9eQ`O7+&fO!)[QlO7+&fOOQO7+%_7+%_O&>xQ?MtO1G6ZO?YQ`O7+%_OOQ!0Lf<yQ?MvO,5?aO'@|Q?MvO,5?cO'CPQ?MvO7+'|O'DuQMjOG27TOOQO<VO!l$xO#jROe!iOpkOrPO(T)]O(VTO(YUO(aVO(o[O~O!]$_Oa$qa'z$qa'w$qa!k$qa!Y$qa!_$qa%i$qa!g$qa~Ol)dO~P!&zOh%VOp%WOr%XOs$tOt$tOz%YO|%ZO!O%]O!S${O!_$|O!i%bO!l$xO#j%cO$W%`O$t%^O$v%_O$y%aO(T(vO(VTO(YUO(a$uO(y$}O(z%PO~Og(pP~P!,TO!Q)iO!g)hO!_$^X$Z$^X$]$^X$_$^X$f$^X~O!g)hO!_({X$Z({X$]({X$_({X$f({X~O!Q)iO~P!.^O!Q)iO!_({X$Z({X$]({X$_({X$f({X~O!_)kO$Z)oO$])jO$_)jO$f)pO~O![)sO~P!)[O$]$hO$_$gO$f)wO~On$zX!Q$zX#S$zX'y$zX(y$zX(z$zX~OgmXg$zXnmX!]mX#`mX~P!0SOx)yO(b)zO(c)|O~On*VO!Q*OO'y*PO(y$}O(z%PO~Og)}O~P!1WOg*WO~Oh%VOr%XOs$tOt$tOz%YO|%ZO!OVO!l$xO#jVO!l$xO#jROe!iOpkOrPO(VTO(YUO(aVO(o[O~O(T=QO~P#$qO!]-]O!^(iX~O!^-_O~O!g-VO#`-UO!]#hX!^#hX~O!]-`O!^(xX~O!^-bO~O!c-cO!d-cO(U!lO~P#$`O!^-fO~P'_On-iO!_'`O~O!Y-nO~Os!{a!b!{a!c!{a!d!{a#T!{a#U!{a#V!{a#W!{a#X!{a#[!{a#]!{a(U!{a(V!{a(Y!{a(e!{a(o!{a~P!#vO!p-sO#`-qO~PChO!c-uO!d-uO(U!lO~PDWOa%nO#`-qO'z%nO~Oa%nO!g#vO#`-qO'z%nO~Oa%nO!g#vO!p-sO#`-qO'z%nO(r'pO~O(P'xO(Q'xO(R-zO~Ov-{O~O!Y'Wa!]'Wa~P!:tO![.PO!Y'WX!]'WX~P%[O!](VO!Y(ha~O!Y(ha~PHRO!](^O!Y(va~O!S%hO![.TO!_%iO(T%gO!Y'^X!]'^X~O#`.VO!](ta!k(taa(ta'z(ta~O!g#vO~P#,wO!](jO!k(sa~O!S%hO!_%iO#j.ZO(T%gO~Op.`O!S%hO![.]O!_%iO!|]O#i._O#j.]O(T%gO!]'aX!k'aX~OR.dO!l#xO~Oh%VOn.gO!_'`O%i.fO~Oa#ci!]#ci'z#ci'w#ci!Y#ci!k#civ#ci!_#ci%i#ci!g#ci~P!:tOn>]O!Q*OO'y*PO(y$}O(z%PO~O#k#_aa#_a#`#_a'z#_a!]#_a!k#_a!_#_a!Y#_a~P#/sO#k(`XP(`XR(`X[(`Xa(`Xj(`Xr(`X!S(`X!l(`X!p(`X#R(`X#n(`X#o(`X#p(`X#q(`X#r(`X#s(`X#t(`X#u(`X#v(`X#x(`X#z(`X#{(`X'z(`X(a(`X(r(`X!k(`X!Y(`X'w(`Xv(`X!_(`X%i(`X!g(`X~P!6kO!].tO!k(kX~P!:tO!k.wO~O!Y.yO~OP$[OR#zO!Q#yO!S#{O!l#xO!p$[O(aVO[#mia#mij#mir#mi!]#mi#R#mi#o#mi#p#mi#q#mi#r#mi#s#mi#t#mi#u#mi#v#mi#x#mi#z#mi#{#mi'z#mi(r#mi(y#mi(z#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#n#mi~P#3cO#n$OO~P#3cOP$[OR#zOr$aO!Q#yO!S#{O!l#xO!p$[O#n$OO#o$PO#p$PO#q$PO(aVO[#mia#mij#mi!]#mi#R#mi#s#mi#t#mi#u#mi#v#mi#x#mi#z#mi#{#mi'z#mi(r#mi(y#mi(z#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#r#mi~P#6QO#r$QO~P#6QOP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO(aVOa#mi!]#mi#x#mi#z#mi#{#mi'z#mi(r#mi(y#mi(z#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#v#mi~P#8oOP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO#v$SO(aVO(z#}Oa#mi!]#mi#z#mi#{#mi'z#mi(r#mi(y#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#x$UO~P#;VO#x#mi~P#;VO#v$SO~P#8oOP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO#v$SO#x$UO(aVO(y#|O(z#}Oa#mi!]#mi#{#mi'z#mi(r#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#z#mi~P#={O#z$WO~P#={OP]XR]X[]Xj]Xr]X!Q]X!S]X!l]X!p]X#R]X#S]X#`]X#kfX#n]X#o]X#p]X#q]X#r]X#s]X#t]X#u]X#v]X#x]X#z]X#{]X$Q]X(a]X(r]X(y]X(z]X!]]X!^]X~O$O]X~P#@jOP$[OR#zO[]O!Q*OO'y*PO(y$}O(z%POP#miR#mi!S#mi!l#mi!p#mi#n#mi#o#mi#p#mi#q#mi(a#mi~P#EyO!]/POg(pX~P!1WOg/RO~Oa$Pi!]$Pi'z$Pi'w$Pi!Y$Pi!k$Piv$Pi!_$Pi%i$Pi!g$Pi~P!:tO$]/SO$_/SO~O$]/TO$_/TO~O!g)hO#`/UO!_$cX$Z$cX$]$cX$_$cX$f$cX~O![/VO~O!_)kO$Z/XO$])jO$_)jO$f/YO~O!]VO!l$xO#j^O!Q*OO'y*PO(y$}O(z%POP#miR#mi!S#mi!l#mi!p#mi#n#mi#o#mi#p#mi#q#mi(a#mi~P&,QO#S$dOP(`XR(`X[(`Xj(`Xn(`Xr(`X!Q(`X!S(`X!l(`X!p(`X#R(`X#n(`X#o(`X#p(`X#q(`X#r(`X#s(`X#t(`X#u(`X#v(`X#x(`X#z(`X#{(`X$O(`X'y(`X(a(`X(r(`X(y(`X(z(`X!](`X!^(`X~O$O$Pi!]$Pi!^$Pi~P#BwO$O!ri!^!ri~P$+oOg']a!]']a~P!1WO!^7nO~O!]'da!^'da~P#BwO!Y7oO~P#/sO!g#vO(r'pO!]'ea!k'ea~O!]/pO!k)Oi~O!]/pO!g#vO!k)Oi~Og$|q!]$|q#`$|q$O$|q~P!1WO!Y'ga!]'ga~P#/sO!g7vO~O!]/yO!Y)Pi~P#/sO!]/yO!Y)Pi~O!Y7yO~Oh%VOr8OO!l%eO(r'pO~Oj8QO!g#vO~Or8TO!g#vO(r'pO~O!Q*OO'y*PO(z%POn'ja(y'ja!]'ja#`'ja~Og'ja$O'ja~P&5RO!Q*OO'y*POn'la(y'la(z'la!]'la#`'la~Og'la$O'la~P&5tOg(_q!](_q~P!1WO#`8VOg(_q!](_q~P!1WO!Y8WO~Og%Oq!]%Oq#`%Oq$O%Oq~P!1WOa$oy!]$oy'z$oy'w$oy!Y$oy!k$oyv$oy!_$oy%i$oy!g$oy~P!:tO!g6rO~O!]5[O!_)Qa~O!_'`OP$TaR$Ta[$Taj$Tar$Ta!Q$Ta!S$Ta!]$Ta!l$Ta!p$Ta#R$Ta#n$Ta#o$Ta#p$Ta#q$Ta#r$Ta#s$Ta#t$Ta#u$Ta#v$Ta#x$Ta#z$Ta#{$Ta(a$Ta(r$Ta(y$Ta(z$Ta~O%i7WO~P&8fO%^8[Oa%[i!_%[i'z%[i!]%[i~Oa#cy!]#cy'z#cy'w#cy!Y#cy!k#cyv#cy!_#cy%i#cy!g#cy~P!:tO[8^O~Ob8`O(T+qO(VTO(YUO~O!]1TO!^)Xi~O`8dO~O(e(|O!]'pX!^'pX~O!]5uO!^)Ua~O!^8nO~P%;eO(o!sO~P$&YO#[8oO~O!_1oO~O!_1oO%i8qO~On8tO!_1oO%i8qO~O[8yO!]'sa!^'sa~O!]1zO!^)Vi~O!k8}O~O!k9OO~O!k9RO~O!k9RO~P%[Oa9TO~O!g9UO~O!k9VO~O!](wi!^(wi~P#BwOa%nO#`9_O'z%nO~O!](ty!k(tya(ty'z(ty~P!:tO!](jO!k(sy~O%i9bO~P&8fO!_'`O%i9bO~O#k$|qP$|qR$|q[$|qa$|qj$|qr$|q!S$|q!]$|q!l$|q!p$|q#R$|q#n$|q#o$|q#p$|q#q$|q#r$|q#s$|q#t$|q#u$|q#v$|q#x$|q#z$|q#{$|q'z$|q(a$|q(r$|q!k$|q!Y$|q'w$|q#`$|qv$|q!_$|q%i$|q!g$|q~P#/sO#k'jaP'jaR'ja['jaa'jaj'jar'ja!S'ja!l'ja!p'ja#R'ja#n'ja#o'ja#p'ja#q'ja#r'ja#s'ja#t'ja#u'ja#v'ja#x'ja#z'ja#{'ja'z'ja(a'ja(r'ja!k'ja!Y'ja'w'jav'ja!_'ja%i'ja!g'ja~P&5RO#k'laP'laR'la['laa'laj'lar'la!S'la!l'la!p'la#R'la#n'la#o'la#p'la#q'la#r'la#s'la#t'la#u'la#v'la#x'la#z'la#{'la'z'la(a'la(r'la!k'la!Y'la'w'lav'la!_'la%i'la!g'la~P&5tO#k%OqP%OqR%Oq[%Oqa%Oqj%Oqr%Oq!S%Oq!]%Oq!l%Oq!p%Oq#R%Oq#n%Oq#o%Oq#p%Oq#q%Oq#r%Oq#s%Oq#t%Oq#u%Oq#v%Oq#x%Oq#z%Oq#{%Oq'z%Oq(a%Oq(r%Oq!k%Oq!Y%Oq'w%Oq#`%Oqv%Oq!_%Oq%i%Oq!g%Oq~P#/sO!]'Yi!k'Yi~P!:tO$O#cq!]#cq!^#cq~P#BwO(y$}OP%aaR%aa[%aaj%aar%aa!S%aa!l%aa!p%aa#R%aa#n%aa#o%aa#p%aa#q%aa#r%aa#s%aa#t%aa#u%aa#v%aa#x%aa#z%aa#{%aa$O%aa(a%aa(r%aa!]%aa!^%aa~On%aa!Q%aa'y%aa(z%aa~P&IyO(z%POP%caR%ca[%caj%car%ca!S%ca!l%ca!p%ca#R%ca#n%ca#o%ca#p%ca#q%ca#r%ca#s%ca#t%ca#u%ca#v%ca#x%ca#z%ca#{%ca$O%ca(a%ca(r%ca!]%ca!^%ca~On%ca!Q%ca'y%ca(y%ca~P&LQOn>^O!Q*OO'y*PO(z%PO~P&IyOn>^O!Q*OO'y*PO(y$}O~P&LQOR0kO!Q0kO!S0lO#S$dOP}a[}aj}an}ar}a!l}a!p}a#R}a#n}a#o}a#p}a#q}a#r}a#s}a#t}a#u}a#v}a#x}a#z}a#{}a$O}a'y}a(a}a(r}a(y}a(z}a!]}a!^}a~O!Q*OO'y*POP$saR$sa[$saj$san$sar$sa!S$sa!l$sa!p$sa#R$sa#n$sa#o$sa#p$sa#q$sa#r$sa#s$sa#t$sa#u$sa#v$sa#x$sa#z$sa#{$sa$O$sa(a$sa(r$sa(y$sa(z$sa!]$sa!^$sa~O!Q*OO'y*POP$uaR$ua[$uaj$uan$uar$ua!S$ua!l$ua!p$ua#R$ua#n$ua#o$ua#p$ua#q$ua#r$ua#s$ua#t$ua#u$ua#v$ua#x$ua#z$ua#{$ua$O$ua(a$ua(r$ua(y$ua(z$ua!]$ua!^$ua~On>^O!Q*OO'y*PO(y$}O(z%PO~OP%TaR%Ta[%Taj%Tar%Ta!S%Ta!l%Ta!p%Ta#R%Ta#n%Ta#o%Ta#p%Ta#q%Ta#r%Ta#s%Ta#t%Ta#u%Ta#v%Ta#x%Ta#z%Ta#{%Ta$O%Ta(a%Ta(r%Ta!]%Ta!^%Ta~P''VO$O$mq!]$mq!^$mq~P#BwO$O$oq!]$oq!^$oq~P#BwO!^9oO~O$O9pO~P!1WO!g#vO!]'ei!k'ei~O!g#vO(r'pO!]'ei!k'ei~O!]/pO!k)Oq~O!Y'gi!]'gi~P#/sO!]/yO!Y)Pq~Or9wO!g#vO(r'pO~O[9yO!Y9xO~P#/sO!Y9xO~Oj:PO!g#vO~Og(_y!](_y~P!1WO!]'na!_'na~P#/sOa%[q!_%[q'z%[q!]%[q~P#/sO[:UO~O!]1TO!^)Xq~O`:YO~O#`:ZO!]'pa!^'pa~O!]5uO!^)Ui~P#BwO!S:]O~O!_1oO%i:`O~O(VTO(YUO(e:eO~O!]1zO!^)Vq~O!k:hO~O!k:iO~O!k:jO~O!k:jO~P%[O#`:mO!]#hy!^#hy~O!]#hy!^#hy~P#BwO%i:rO~P&8fO!_'`O%i:rO~O$O#|y!]#|y!^#|y~P#BwOP$|iR$|i[$|ij$|ir$|i!S$|i!l$|i!p$|i#R$|i#n$|i#o$|i#p$|i#q$|i#r$|i#s$|i#t$|i#u$|i#v$|i#x$|i#z$|i#{$|i$O$|i(a$|i(r$|i!]$|i!^$|i~P''VO!Q*OO'y*PO(z%POP'iaR'ia['iaj'ian'iar'ia!S'ia!l'ia!p'ia#R'ia#n'ia#o'ia#p'ia#q'ia#r'ia#s'ia#t'ia#u'ia#v'ia#x'ia#z'ia#{'ia$O'ia(a'ia(r'ia(y'ia!]'ia!^'ia~O!Q*OO'y*POP'kaR'ka['kaj'kan'kar'ka!S'ka!l'ka!p'ka#R'ka#n'ka#o'ka#p'ka#q'ka#r'ka#s'ka#t'ka#u'ka#v'ka#x'ka#z'ka#{'ka$O'ka(a'ka(r'ka(y'ka(z'ka!]'ka!^'ka~O(y$}OP%aiR%ai[%aij%ain%air%ai!Q%ai!S%ai!l%ai!p%ai#R%ai#n%ai#o%ai#p%ai#q%ai#r%ai#s%ai#t%ai#u%ai#v%ai#x%ai#z%ai#{%ai$O%ai'y%ai(a%ai(r%ai(z%ai!]%ai!^%ai~O(z%POP%ciR%ci[%cij%cin%cir%ci!Q%ci!S%ci!l%ci!p%ci#R%ci#n%ci#o%ci#p%ci#q%ci#r%ci#s%ci#t%ci#u%ci#v%ci#x%ci#z%ci#{%ci$O%ci'y%ci(a%ci(r%ci(y%ci!]%ci!^%ci~O$O$oy!]$oy!^$oy~P#BwO$O#cy!]#cy!^#cy~P#BwO!g#vO!]'eq!k'eq~O!]/pO!k)Oy~O!Y'gq!]'gq~P#/sOr:|O!g#vO(r'pO~O[;QO!Y;PO~P#/sO!Y;PO~Og(_!R!](_!R~P!1WOa%[y!_%[y'z%[y!]%[y~P#/sO!]1TO!^)Xy~O!]5uO!^)Uq~O(T;XO~O!_1oO%i;[O~O!k;_O~O%i;dO~P&8fOP$|qR$|q[$|qj$|qr$|q!S$|q!l$|q!p$|q#R$|q#n$|q#o$|q#p$|q#q$|q#r$|q#s$|q#t$|q#u$|q#v$|q#x$|q#z$|q#{$|q$O$|q(a$|q(r$|q!]$|q!^$|q~P''VO!Q*OO'y*PO(z%POP'jaR'ja['jaj'jan'jar'ja!S'ja!l'ja!p'ja#R'ja#n'ja#o'ja#p'ja#q'ja#r'ja#s'ja#t'ja#u'ja#v'ja#x'ja#z'ja#{'ja$O'ja(a'ja(r'ja(y'ja!]'ja!^'ja~O!Q*OO'y*POP'laR'la['laj'lan'lar'la!S'la!l'la!p'la#R'la#n'la#o'la#p'la#q'la#r'la#s'la#t'la#u'la#v'la#x'la#z'la#{'la$O'la(a'la(r'la(y'la(z'la!]'la!^'la~OP%OqR%Oq[%Oqj%Oqr%Oq!S%Oq!l%Oq!p%Oq#R%Oq#n%Oq#o%Oq#p%Oq#q%Oq#r%Oq#s%Oq#t%Oq#u%Oq#v%Oq#x%Oq#z%Oq#{%Oq$O%Oq(a%Oq(r%Oq!]%Oq!^%Oq~P''VOg%e!Z!]%e!Z#`%e!Z$O%e!Z~P!1WO!Y;hO~P#/sOr;iO!g#vO(r'pO~O[;kO!Y;hO~P#/sO!]'pq!^'pq~P#BwO!]#h!Z!^#h!Z~P#BwO#k%e!ZP%e!ZR%e!Z[%e!Za%e!Zj%e!Zr%e!Z!S%e!Z!]%e!Z!l%e!Z!p%e!Z#R%e!Z#n%e!Z#o%e!Z#p%e!Z#q%e!Z#r%e!Z#s%e!Z#t%e!Z#u%e!Z#v%e!Z#x%e!Z#z%e!Z#{%e!Z'z%e!Z(a%e!Z(r%e!Z!k%e!Z!Y%e!Z'w%e!Z#`%e!Zv%e!Z!_%e!Z%i%e!Z!g%e!Z~P#/sOr;tO!g#vO(r'pO~O!Y;uO~P#/sOr;|O!g#vO(r'pO~O!Y;}O~P#/sOP%e!ZR%e!Z[%e!Zj%e!Zr%e!Z!S%e!Z!l%e!Z!p%e!Z#R%e!Z#n%e!Z#o%e!Z#p%e!Z#q%e!Z#r%e!Z#s%e!Z#t%e!Z#u%e!Z#v%e!Z#x%e!Z#z%e!Z#{%e!Z$O%e!Z(a%e!Z(r%e!Z!]%e!Z!^%e!Z~P''VOrROe!iOpkOrPO(T)]O(VTO(YUO(aVO(o[O~O!]WO!l$xO#jgPPP!>oI[PPPPPPPPP!BOP!C]PPI[!DnPI[PI[I[I[I[I[PI[!FQP!I[P!LbP!Lf!Lp!Lt!LtP!IXP!Lx!LxP#!OP#!SI[PI[#!Y#%_CjA^PA^PA^A^P#&lA^A^#)OA^#+vA^#.SA^A^#.r#1W#1W#1]#1f#1W#1qPP#1WPA^#2ZA^#6YA^A^6mPPP#:_PPP#:x#:xP#:xP#;`#:xPP#;fP#;]P#;]#;y#;]#P#>V#>]#>k#>q#>{#?R#?]#?c#?s#?y#@k#@}#AT#AZ#Ai#BO#Cs#DR#DY#Et#FS#Gt#HS#HY#H`#Hf#Hp#Hv#H|#IW#Ij#IpPPPPPPPPPPP#IvPPPPPPP#Jk#Mx$ b$ i$ qPPP$']P$'f$*_$0x$0{$1O$1}$2Q$2X$2aP$2g$2jP$3W$3[$4S$5b$5g$5}PP$6S$6Y$6^$6a$6e$6i$7e$7|$8e$8i$8l$8o$8y$8|$9Q$9UR!|RoqOXst!Z#d%m&r&t&u&w,s,x2[2_Y!vQ'`-e1o5{Q%tvQ%|yQ&T|Q&j!VS'W!e-]Q'f!iS'l!r!yU*k$|*Z*oQ+o%}S+|&V&WQ,d&dQ-c'_Q-m'gQ-u'mQ0[*qQ1b,OQ1y,eR<{SU+P%]S!S!nQ!r!v!y!z$|'W'_'`'l'm'n*k*o*q*r-]-c-e-u0[0_1o5{5}%[$ti#v$b$c$d$x${%O%Q%^%_%c)y*R*T*V*Y*a*g*w*x+f+i,S,V.f/P/d/m/x/y/{0`0b0i0j0o1f1i1q3c4^4_4j4o5Q5[5_6S7W7v8Q8V8[8q9b9p9y:P:`:r;Q;[;d;kP>X>Y>]>^Q&X|Q'U!eS'[%i-`Q+t&PQ,P&WQ,f&gQ0n+SQ1Y+uQ1_+{Q2Q,jQ2R,kQ5f1TQ5o1aQ6[1zQ6_1|Q6`2PQ8`5gQ8c5lQ8|6bQ:X8dQ:f8yQ;V:YR<}*ZrnOXst!V!Z#d%m&i&r&t&u&w,s,x2[2_R,h&k&z^OPXYstuvwz!Z!`!g!j!o#S#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%m%t&R&k&n&o&r&t&u&w&{'T'b'r(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:mR>S[#]WZ#W#Z'X(T!b%jm#h#i#l$x%e%h(^(h(i(j*Y*^*b+Z+[+^,o-V.T.Z.[.]._/m/p2d3[3]4a6r7TQ%wxQ%{yW&Q|&V&W,OQ&_!TQ'c!hQ'e!iQ(q#sS+n%|%}Q+r&PQ,_&bQ,c&dS-l'f'gQ.i(rQ1R+oQ1X+uQ1Z+vQ1^+zQ1t,`S1x,d,eQ2|-mQ5e1TQ5i1WQ5n1`Q6Z1yQ8_5gQ8b5kQ8f5pQ:T8^R;T:U!U$zi$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Y!^%yy!i!u%{%|%}'V'e'f'g'k'u*j+n+o-Y-l-m-t0R0U1R2u2|3T4r4s4v7}9{Q+h%wQ,T&[Q,W&]Q,b&dQ.h(qQ1s,_U1w,c,d,eQ3e.iQ6U1tS6Y1x1yQ8x6Z#f>T#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k]>^o>UPS&[!Q&iQ&]!RQ&^!SU*}%[%d=sR,R&Y%]%Si#v$b$c$d$x${%O%Q%^%_%c)y*R*T*V*Y*a*g*w*x+f+i,S,V.f/P/d/m/x/y/{0`0b0i0j0o1f1i1q3c4^4_4j4o5Q5[5_6S7W7v8Q8V8[8q9b9p9y:P:`:r;Q;[;d;kP>X>Y>]>^T)z$u){V+P%]S$i$^c#Y#e%q%s%u(S(Y(t(y)R)S)T)U)V)W)X)Y)Z)[)^)`)b)g)q+d+x-Z-x-}.S.U.s.v.z.|.}/O/b0p2k2n3O3V3k3p3q3r3s3t3u3v3w3x3y3z3{3|4P4Q4X5X5c6u6{7Q7a7b7k7l8k9X9]9g9m9n:o;W;`SQ'Y!eR2q-]!W!nQ!e!r!v!y!z$|'W'_'`'l'm'n*Z*k*o*q*r-]-c-e-u0[0_1o5{5}R1l,ZnqOXst!Z#d%m&r&t&u&w,s,x2[2_Q&y!^Q'v!xS(s#u<^Q+l%zQ,]&_Q,^&aQ-j'dQ-w'oS.r(x=PS0q+X=ZQ1P+mQ1n,[Q2c,zQ2e,{Q2m-WQ2z-kQ2}-oS5Y0r=eQ5a1QS5d1S=fQ6t2oQ6x2{Q6}3SQ8]5bQ9Y6vQ9Z6yQ9^7OR:l9V$d$]c#Y#e%s%u(S(Y(t(y)R)S)T)U)V)W)X)Y)Z)[)^)`)b)g)q+d+x-Z-x-}.S.U.s.v.z.}/O/b0p2k2n3O3V3k3p3q3r3s3t3u3v3w3x3y3z3{3|4P4Q4X5X5c6u6{7Q7a7b7k7l8k9X9]9g9m9n:o;W;`SS#q]SU$fd)_,mS(p#p'iU*v%R(w4OU0m+O.n7gQ5^0xQ7V3`Q9d7YR:s9em!tQ!r!v!y!z'`'l'm'n-e-u1o5{5}Q't!uS(f#g2US-s'k'wQ/s*]Q0R*jQ3U-vQ4f/tQ4r0TQ4s0UQ4x0^Q7r4`S7}4t4vS8R4y4{Q9r7sQ9v7yQ9{8OQ:Q8TS:{9w9xS;g:|;PS;s;h;iS;{;t;uSSR=o>R%^bOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&o&r&t&u&w&{'T'b'r(T(V(](d(x(z)O)}*i+X+]+g,p,s,x-i-q.P.V.g.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3d3l4z6T6e6f6i6|7[8t9T9_Q%fj!^%xy!i!u%{%|%}'V'e'f'g'k'u*j+n+o-Y-l-m-t0R0U1R2u2|3T4r4s4v7}9{S&Oz!jQ+k%yQ,a&dW1v,b,c,d,eU6X1w1x1yS8w6Y6ZQ:d8x!r=j$Z$n'X)s-U-X/V2p4T5w6s:Z:mSQ=t>QR=u>R%QeOPXYstuvw!Z!`!g!o#S#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&r&t&u&w&{'T'b'r(V(](d(x(z)O)}*i+X+]+g,p,s,x-i-q.P.V.g.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3d3l4z6T6e6f6i6|7[8t9T9_Y#bWZ#W#Z(T!b%jm#h#i#l$x%e%h(^(h(i(j*Y*^*b+Z+[+^,o-V.T.Z.[.]._/m/p2d3[3]4a6r7TQ,n&o!p=k$Z$n)s-U-X/V2p4T5w6s:Z:mSR=n'XU']!e%i*ZR2s-`%SdOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&r&t&u&w&{'T'b'r(T(V(](d(x(z)O)}*i+X+],p,s,x-i-q.P.V.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3l4z6T6e6f6i6|8t9T9_!r)_$Z$n'X)s-U-X/V2p4T5w6s:Z:mSQ,m&oQ0x+gQ3`.gQ7Y3dR9e7[!b$Tc#Y%q(S(Y(t(y)Z)[)`)g+x-x-}.S.U.s.v/b0p3O3V3k3{5X5c6{7Q7a9]:oS)^)q-Z.|2k2n3p4P4X6u7b7k7l8k9X9g9m9n;W;`=vQ>X>ZR>Y>['QkOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%m%t&R&k&n&o&r&t&u&w&{'T'X'b'r(T(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:mSS$oh$pR4U/U'XgOPWXYZhstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n$p%m%t&R&k&n&o&r&t&u&w&{'T'X'b'r(T(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/U/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:mST$kf$qQ$ifS)j$l)nR)v$qT$jf$qT)l$l)n'XhOPWXYZhstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n$p%m%t&R&k&n&o&r&t&u&w&{'T'X'b'r(T(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/U/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:mST$oh$pQ$rhR)u$p%^jOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&o&r&t&u&w&{'T'b'r(T(V(](d(x(z)O)}*i+X+]+g,p,s,x-i-q.P.V.g.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3d3l4z6T6e6f6i6|7[8t9T9_!s>Q$Z$n'X)s-U-X/V2p4T5w6s:Z:mS#glOPXZst!Z!`!o#S#d#o#{$n%m&k&n&o&r&t&u&w&{'T'b)O)s*i+]+g,p,s,x-i.g/V/n0]0l1r2S2T2V2X2[2_2a3d4T4z6T6e6f6i7[8t9T!U%Ri$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Y#f(w#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k]>^Q+T%aQ/c*Oo4OP>X>YQ*c$zU*l$|*Z*oQ+U%bQ0W*m#f=q#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k]>^n=rTQ=x>UQ=y>VR=z>W!U%Ri$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Y#f(w#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k]>^o4OP>X>Y>]>^Q,U&]Q1h,WQ5s1gR8h5tV*n$|*Z*oU*n$|*Z*oT5z1o5{S0P*i/nQ4w0]T8S4z:]Q+j%xQ0V*lQ1O+kQ1u,aQ6W1vQ8v6XQ:c8wR;^:d!U%Oi$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Yx*R$v)e*S*u+V/v0d0e4R4g5R5S5W7p8U:R:x=p=}>OS0`*t0a#f]>^nZ>[`=T3}7c7f7j9h:t:w;yS=_.l3iT=`7e9k!U%Qi$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Y|*T$v)e*U*t+V/g/v0d0e4R4g4|5R5S5W7p8U:R:x=p=}>OS0b*u0c#f]>^nZ>[d=V3}7d7e7j9h9i:t:u:w;yS=a.m3jT=b7f9lrnOXst!V!Z#d%m&i&r&t&u&w,s,x2[2_Q&f!UR,p&ornOXst!V!Z#d%m&i&r&t&u&w,s,x2[2_R&f!UQ,Y&^R1d,RsnOXst!V!Z#d%m&i&r&t&u&w,s,x2[2_Q1p,_S6R1s1tU8p6P6Q6US:_8r8sS;Y:^:aQ;m;ZR;w;nQ&m!VR,i&iR6_1|R:f8yW&Q|&V&W,OR1Z+vQ&r!WR,s&sR,y&xT2],x2_R,}&yQ,|&yR2f,}Q'y!{R-y'ySsOtQ#dXT%ps#dQ#OTR'{#OQ#RUR'}#RQ){$uR/`){Q#UVR(Q#UQ#XWU(W#X(X.QQ(X#YR.Q(YQ-^'YR2r-^Q.u(yS3m.u3nR3n.vQ-e'`R2v-eY!rQ'`-e1o5{R'j!rQ/Q)eR4S/QU#_W%h*YU(_#_(`.RQ(`#`R.R(ZQ-a']R2t-at`OXst!V!Z#d%m&i&k&r&t&u&w,s,x2[2_S#hZ%eU#r`#h.[R.[(jQ(k#jQ.X(gW.a(k.X3X7RQ3X.YR7R3YQ)n$lR/W)nQ$phR)t$pQ$`cU)a$`-|O>Z>[Q/z*eU4k/z4m7xQ4m/|R7x4lS*o$|*ZR0Y*ox*S$v)e*t*u+V/v0d0e4R4g5R5S5W7p8U:R:x=p=}>O!d.j(u)c*[*e.l.m.q/_/k/|0v1e3h4[4h4l5r7]7`7w7z8X8Z9t9|:S:};R;e;j;v>Z>[U/h*S.j7ca7c3}7e7f7j9h:t:w;yQ0a*tQ3i.lU4}0a3i9kR9k7e|*U$v)e*t*u+V/g/v0d0e4R4g4|5R5S5W7p8U:R:x=p=}>O!h.k(u)c*[*e.l.m.q/_/k/|0v1e3f3h4[4h4l5r7]7^7`7w7z8X8Z9t9|:S:};R;e;j;v>Z>[U/j*U.k7de7d3}7e7f7j9h9i:t:u:w;yQ0c*uQ3j.mU5P0c3j9lR9l7fQ*z%UR0g*zQ5]0vR8Y5]Q+_%kR0u+_Q5v1jS8j5v:[R:[8kQ,[&_R1m,[Q5{1oR8m5{Q1{,fS6]1{8zR8z6_Q1U+rW5h1U5j8a:VQ5j1XQ8a5iR:V8bQ+w&QR1[+wQ2_,xR6m2_YrOXst#dQ&v!ZQ+a%mQ,r&rQ,t&tQ,u&uQ,w&wQ2Y,sS2],x2_R6l2[Q%opQ&z!_Q&}!aQ'P!bQ'R!cQ'q!uQ+`%lQ+l%zQ,Q&XQ,h&mQ-P&|W-p'k's't'wQ-w'oQ0X*nQ1P+mQ1c,PS2O,i,lQ2g-OQ2h-RQ2i-SQ2}-oW3P-r-s-v-xQ5a1QQ5m1_Q5q1eQ6V1uQ6a2QQ6k2ZU6z3O3R3UQ6}3SQ8]5bQ8e5oQ8g5rQ8l5zQ8u6WQ8{6`S9[6{7PQ9^7OQ:W8cQ:b8vQ:g8|Q:n9]Q;U:XQ;]:cQ;a:oQ;l;VR;o;^Q%zyQ'd!iQ'o!uU+m%{%|%}Q-W'VU-k'e'f'gS-o'k'uQ0Q*jS1Q+n+oQ2o-YS2{-l-mQ3S-tS4p0R0UQ5b1RQ6v2uQ6y2|Q7O3TU7{4r4s4vQ9z7}R;O9{S$wi>PR*{%VU%Ui%V>PR0f*yQ$viS(u#v+iS)c$b$cQ)e$dQ*[$xS*e${*YQ*t%OQ*u%QQ+Q%^Q+R%_Q+V%cQ.lPQ=}>XQ>O>YQ>Z>]R>[>^Q+O%]Q.nSR#[WR'Z!el!tQ!r!v!y!z'`'l'm'n-e-u1o5{5}S'V!e-]U*j$|*Z*oS-Y'W'_S0U*k*qQ0^*rQ2u-cQ4v0[R4{0_R({#xQ!fQT-d'`-e]!qQ!r'`-e1o5{Q#p]R'i < TypeParamList in out const TypeDefinition extends ThisType this LiteralType ArithOp Number BooleanLiteral TemplateType InterpolationEnd Interpolation InterpolationStart NullType null VoidType void TypeofType typeof MemberExpression . PropertyName [ TemplateString Escape Interpolation super RegExp ] ArrayExpression Spread , } { ObjectExpression Property async get set PropertyDefinition Block : NewTarget new NewExpression ) ( ArgList UnaryExpression delete LogicOp BitOp YieldExpression yield AwaitExpression await ParenthesizedExpression ClassExpression class ClassBody MethodDeclaration Decorator @ MemberExpression PrivatePropertyName CallExpression TypeArgList CompareOp < declare Privacy static abstract override PrivatePropertyDefinition PropertyDeclaration readonly accessor Optional TypeAnnotation Equals StaticBlock FunctionExpression ArrowFunction ParamList ParamList ArrayPattern ObjectPattern PatternProperty Privacy readonly Arrow MemberExpression BinaryExpression ArithOp ArithOp ArithOp ArithOp BitOp CompareOp instanceof satisfies CompareOp BitOp BitOp BitOp LogicOp LogicOp ConditionalExpression LogicOp LogicOp AssignmentExpression UpdateOp PostfixExpression CallExpression InstantiationExpression TaggedTemplateExpression DynamicImport import ImportMeta JSXElement JSXSelfCloseEndTag JSXSelfClosingTag JSXIdentifier JSXBuiltin JSXIdentifier JSXNamespacedName JSXMemberExpression JSXSpreadAttribute JSXAttribute JSXAttributeValue JSXEscape JSXEndTag JSXOpenTag JSXFragmentTag JSXText JSXEscape JSXStartCloseTag JSXCloseTag PrefixCast < ArrowFunction TypeParamList SequenceExpression InstantiationExpression KeyofType keyof UniqueType unique ImportType InferredType infer TypeName ParenthesizedType FunctionSignature ParamList NewSignature IndexedType TupleType Label ArrayType ReadonlyType ObjectType MethodType PropertyType IndexSignature PropertyDefinition CallSignature TypePredicate asserts is NewSignature new UnionType LogicOp IntersectionType LogicOp ConditionalType ParameterizedType ClassDeclaration abstract implements type VariableDeclaration let var using TypeAliasDeclaration InterfaceDeclaration interface EnumDeclaration enum EnumBody NamespaceDeclaration namespace module AmbientDeclaration declare GlobalDeclaration global ClassDeclaration ClassBody AmbientFunctionDeclaration ExportGroup VariableName VariableName ImportDeclaration defer ImportGroup ForStatement for ForSpec ForInSpec ForOfSpec of WhileStatement while WithStatement with DoStatement do IfStatement if else SwitchStatement switch SwitchBody CaseLabel case DefaultLabel TryStatement try CatchClause catch FinallyClause finally ReturnStatement return ThrowStatement throw BreakStatement break ContinueStatement continue DebuggerStatement debugger LabeledStatement ExpressionStatement SingleExpression SingleClassItem",maxTerm:380,context:i1,nodeProps:[["isolate",-8,5,6,14,37,39,51,53,55,""],["group",-26,9,17,19,68,207,211,215,216,218,221,224,234,237,243,245,247,249,252,258,264,266,268,270,272,274,275,"Statement",-34,13,14,32,35,36,42,51,54,55,57,62,70,72,76,80,82,84,85,110,111,120,121,136,139,141,142,143,144,145,147,148,167,169,171,"Expression",-23,31,33,37,41,43,45,173,175,177,178,180,181,182,184,185,186,188,189,190,201,203,205,206,"Type",-3,88,103,109,"ClassItem"],["openedBy",23,"<",38,"InterpolationStart",56,"[",60,"{",73,"(",160,"JSXStartCloseTag"],["closedBy",-2,24,168,">",40,"InterpolationEnd",50,"]",61,"}",74,")",165,"JSXEndTag"]],propSources:[l1],skippedNodes:[0,5,6,278],repeatNodeCount:37,tokenData:"$Fq07[R!bOX%ZXY+gYZ-yZ[+g[]%Z]^.c^p%Zpq+gqr/mrs3cst:_tuEruvJSvwLkwx! Yxy!'iyz!(sz{!)}{|!,q|}!.O}!O!,q!O!P!/Y!P!Q!9j!Q!R#:O!R![#<_![!]#I_!]!^#Jk!^!_#Ku!_!`$![!`!a$$v!a!b$*T!b!c$,r!c!}Er!}#O$-|#O#P$/W#P#Q$4o#Q#R$5y#R#SEr#S#T$7W#T#o$8b#o#p$x#r#s$@U#s$f%Z$f$g+g$g#BYEr#BY#BZ$A`#BZ$ISEr$IS$I_$A`$I_$I|Er$I|$I}$Dk$I}$JO$Dk$JO$JTEr$JT$JU$A`$JU$KVEr$KV$KW$A`$KW&FUEr&FU&FV$A`&FV;'SEr;'S;=`I|<%l?HTEr?HT?HU$A`?HUOEr(n%d_$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z&j&hT$i&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c&j&zP;=`<%l&c'|'U]$i&j(Z!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!b(SU(Z!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}!b(iP;=`<%l'}'|(oP;=`<%l&}'[(y]$i&j(WpOY(rYZ&cZr(rrs&cs!^(r!^!_)r!_#O(r#O#P&c#P#o(r#o#p)r#p;'S(r;'S;=`*a<%lO(rp)wU(WpOY)rZr)rs#O)r#P;'S)r;'S;=`*Z<%lO)rp*^P;=`<%l)r'[*dP;=`<%l(r#S*nX(Wp(Z!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g#S+^P;=`<%l*g(n+dP;=`<%l%Z07[+rq$i&j(Wp(Z!b'|0/lOX%ZXY+gYZ&cZ[+g[p%Zpq+gqr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p$f%Z$f$g+g$g#BY%Z#BY#BZ+g#BZ$IS%Z$IS$I_+g$I_$JT%Z$JT$JU+g$JU$KV%Z$KV$KW+g$KW&FU%Z&FU&FV+g&FV;'S%Z;'S;=`+a<%l?HT%Z?HT?HU+g?HUO%Z07[.ST(X#S$i&j'}0/lO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c07[.n_$i&j(Wp(Z!b'}0/lOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z)3p/x`$i&j!p),Q(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`0z!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW1V`#v(Ch$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`2X!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW2d_#v(Ch$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'At3l_(V':f$i&j(Z!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k(^4r_$i&j(Z!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k&z5vX$i&jOr5qrs6cs!^5q!^!_6y!_#o5q#o#p6y#p;'S5q;'S;=`7h<%lO5q&z6jT$d`$i&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c`6|TOr6yrs7]s;'S6y;'S;=`7b<%lO6y`7bO$d``7eP;=`<%l6y&z7kP;=`<%l5q(^7w]$d`$i&j(Z!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!r8uZ(Z!bOY8pYZ6yZr8prs9hsw8pwx6yx#O8p#O#P6y#P;'S8p;'S;=`:R<%lO8p!r9oU$d`(Z!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}!r:UP;=`<%l8p(^:[P;=`<%l4k%9[:hh$i&j(Wp(Z!bOY%ZYZ&cZq%Zqr`#P#o`x!^=^!^!_?q!_#O=^#O#P>`#P#o=^#o#p?q#p;'S=^;'S;=`@h<%lO=^&n>gXWS$i&jOY>`YZ&cZ!^>`!^!_?S!_#o>`#o#p?S#p;'S>`;'S;=`?k<%lO>`S?XSWSOY?SZ;'S?S;'S;=`?e<%lO?SS?hP;=`<%l?S&n?nP;=`<%l>`!f?xWWS(Z!bOY?qZw?qwx?Sx#O?q#O#P?S#P;'S?q;'S;=`@b<%lO?q!f@eP;=`<%l?q(Q@kP;=`<%l=^'`@w]WS$i&j(WpOY@nYZ&cZr@nrs>`s!^@n!^!_Ap!_#O@n#O#P>`#P#o@n#o#pAp#p;'S@n;'S;=`Bg<%lO@ntAwWWS(WpOYApZrAprs?Ss#OAp#O#P?S#P;'SAp;'S;=`Ba<%lOAptBdP;=`<%lAp'`BjP;=`<%l@n#WBvYWS(Wp(Z!bOYBmZrBmrs?qswBmwxApx#OBm#O#P?S#P;'SBm;'S;=`Cf<%lOBm#WCiP;=`<%lBm(rCoP;=`<%l^!Q^$i&j!X7`OY!=yYZ&cZ!P!=y!P!Q!>|!Q!^!=y!^!_!@c!_!}!=y!}#O!CW#O#P!Dy#P#o!=y#o#p!@c#p;'S!=y;'S;=`!Ek<%lO!=y|#X#Z&c#Z#[!>|#[#]&c#]#^!>|#^#a&c#a#b!>|#b#g&c#g#h!>|#h#i&c#i#j!>|#j#k!>|#k#m&c#m#n!>|#n#o&c#p;'S&c;'S;=`&w<%lO&c7`!@hX!X7`OY!@cZ!P!@c!P!Q!AT!Q!}!@c!}#O!Ar#O#P!Bq#P;'S!@c;'S;=`!CQ<%lO!@c7`!AYW!X7`#W#X!AT#Z#[!AT#]#^!AT#a#b!AT#g#h!AT#i#j!AT#j#k!AT#m#n!AT7`!AuVOY!ArZ#O!Ar#O#P!B[#P#Q!@c#Q;'S!Ar;'S;=`!Bk<%lO!Ar7`!B_SOY!ArZ;'S!Ar;'S;=`!Bk<%lO!Ar7`!BnP;=`<%l!Ar7`!BtSOY!@cZ;'S!@c;'S;=`!CQ<%lO!@c7`!CTP;=`<%l!@c^!Ezl$i&j(Z!b!X7`OY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#W&}#W#X!Eq#X#Z&}#Z#[!Eq#[#]&}#]#^!Eq#^#a&}#a#b!Eq#b#g&}#g#h!Eq#h#i&}#i#j!Eq#j#k!Eq#k#m&}#m#n!Eq#n#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}8r!GyZ(Z!b!X7`OY!GrZw!Grwx!@cx!P!Gr!P!Q!Hl!Q!}!Gr!}#O!JU#O#P!Bq#P;'S!Gr;'S;=`!J|<%lO!Gr8r!Hse(Z!b!X7`OY'}Zw'}x#O'}#P#W'}#W#X!Hl#X#Z'}#Z#[!Hl#[#]'}#]#^!Hl#^#a'}#a#b!Hl#b#g'}#g#h!Hl#h#i'}#i#j!Hl#j#k!Hl#k#m'}#m#n!Hl#n;'S'};'S;=`(f<%lO'}8r!JZX(Z!bOY!JUZw!JUwx!Arx#O!JU#O#P!B[#P#Q!Gr#Q;'S!JU;'S;=`!Jv<%lO!JU8r!JyP;=`<%l!JU8r!KPP;=`<%l!Gr>^!KZ^$i&j(Z!bOY!KSYZ&cZw!KSwx!CWx!^!KS!^!_!JU!_#O!KS#O#P!DR#P#Q!^!LYP;=`<%l!KS>^!L`P;=`<%l!_#c#d#Bq#d#l%Z#l#m#Es#m#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#>j_$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#?rd$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!R#AQ!R!S#AQ!S!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#AQ#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#A]f$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!R#AQ!R!S#AQ!S!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#AQ#S#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#Bzc$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!Y#DV!Y!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#DV#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#Dbe$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!Y#DV!Y!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#DV#S#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#E|g$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![#Ge![!^%Z!^!_*g!_!c%Z!c!i#Ge!i#O%Z#O#P&c#P#R%Z#R#S#Ge#S#T%Z#T#Z#Ge#Z#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#Gpi$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![#Ge![!^%Z!^!_*g!_!c%Z!c!i#Ge!i#O%Z#O#P&c#P#R%Z#R#S#Ge#S#T%Z#T#Z#Ge#Z#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z*)x#Il_!g$b$i&j$O)Lv(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z)[#Jv_al$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z04f#LS^h#)`#R-v$?V_!^(CdvBr$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z?O$@a_!q7`$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z07[$Aq|$i&j(Wp(Z!b'|0/l$]#t(T,2j(e$I[OX%ZXY+gYZ&cZ[+g[p%Zpq+gqr%Zrs&}st%ZtuEruw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Er![!^%Z!^!_*g!_!c%Z!c!}Er!}#O%Z#O#P&c#P#R%Z#R#SEr#S#T%Z#T#oEr#o#p*g#p$f%Z$f$g+g$g#BYEr#BY#BZ$A`#BZ$ISEr$IS$I_$A`$I_$JTEr$JT$JU$A`$JU$KVEr$KV$KW$A`$KW&FUEr&FU&FV$A`&FV;'SEr;'S;=`I|<%l?HTEr?HT?HU$A`?HUOEr07[$D|k$i&j(Wp(Z!b'}0/l$]#t(T,2j(e$I[OY%ZYZ&cZr%Zrs&}st%ZtuEruw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Er![!^%Z!^!_*g!_!c%Z!c!}Er!}#O%Z#O#P&c#P#R%Z#R#SEr#S#T%Z#T#oEr#o#p*g#p$g%Z$g;'SEr;'S;=`I|<%lOEr",tokenizers:[r1,s1,o1,a1,2,3,4,5,6,7,8,9,10,11,12,13,14,n1,new yi("$S~RRtu[#O#Pg#S#T#|~_P#o#pb~gOx~~jVO#i!P#i#j!U#j#l!P#l#m!q#m;'S!P;'S;=`#v<%lO!P~!UO!U~~!XS!Q![!e!c!i!e#T#Z!e#o#p#Z~!hR!Q![!q!c!i!q#T#Z!q~!tR!Q![!}!c!i!}#T#Z!}~#QR!Q![!P!c!i!P#T#Z!P~#^R!Q![#g!c!i#g#T#Z#g~#jS!Q![#g!c!i#g#T#Z#g#q#r!P~#yP;=`<%l!P~$RO(c~~",141,340),new yi("j~RQYZXz{^~^O(Q~~aP!P!Qd~iO(R~~",25,323)],topRules:{Script:[0,7],SingleExpression:[1,276],SingleClassItem:[2,277]},dialects:{jsx:0,ts:15175},dynamicPrecedences:{80:1,82:1,94:1,169:1,199:1},specialized:[{term:327,get:i=>c1[i]||-1},{term:343,get:i=>h1[i]||-1},{term:95,get:i=>f1[i]||-1}],tokenPrec:15201});var Wp=[ce("function ${name}(${params}) {\n ${}\n}",{label:"function",detail:"definition",type:"keyword"}),ce("for (let ${index} = 0; ${index} < ${bound}; ${index}++) {\n ${}\n}",{label:"for",detail:"loop",type:"keyword"}),ce("for (let ${name} of ${collection}) {\n ${}\n}",{label:"for",detail:"of loop",type:"keyword"}),ce("do {\n ${}\n} while (${})",{label:"do",detail:"loop",type:"keyword"}),ce("while (${}) {\n ${}\n}",{label:"while",detail:"loop",type:"keyword"}),ce(`try { +`);n=r<0?t:t.slice(0,r)}return e+n.length>this.to?n.slice(0,this.to-e):n}prevLineEnd(){return this.atEnd?this.lineStart:this.lineStart-1}startContext(e,t,n=0){this.block=Hs.create(e,n,this.lineStart+t,this.block.hash,this.lineStart+this.line.text.length),this.stack.push(this.block)}startComposite(e,t,n=0){this.startContext(this.parser.getNodeType(e),t,n)}addNode(e,t,n){typeof e=="number"&&(e=new K(this.parser.nodeSet.types[e],Pn,Pn,(n??this.prevLineEnd())-t)),this.block.addChild(e,t-this.block.from)}addElement(e){this.block.addChild(e.toTree(this.parser.nodeSet),e.from-this.block.from)}addLeafElement(e,t){this.addNode(this.buffer.writeElements(ic(t.children,e.marks),-t.from).finish(t.type,t.to-t.from),t.from)}finishContext(){let e=this.stack.pop(),t=this.stack[this.stack.length-1];t.addChild(e.toTree(this.parser.nodeSet),e.from-t.from),this.block=t}finish(){for(;this.stack.length>1;)this.finishContext();return this.addGaps(this.block.toTree(this.parser.nodeSet,this.lineStart))}addGaps(e){return this.ranges.length>1?Ld(this.ranges,0,e.topNode,this.ranges[0].from,this.reusePlaceholders):e}finishLeaf(e){for(let n of e.parsers)if(n.finish(this,e))return;let t=ic(this.parser.parseInline(e.content,e.start),e.marks);this.addNode(this.buffer.writeElements(t,-e.start).finish(A.Paragraph,e.content.length),e.start)}elt(e,t,n,r){return typeof e=="string"?ne(this.parser.getNodeType(e),t,n,r):new Js(e,t)}get buffer(){return new Ks(this.parser.nodeSet)}};function Ld(i,e,t,n,r){let s=i[e].to,o=[],a=[],l=t.from+n;function c(h,f){for(;f?h>=s:h>s;){let u=i[e+1].from-s;n+=u,h+=u,e++,s=i[e].to}}for(let h=t.firstChild;h;h=h.nextSibling){c(h.from+n,!0);let f=h.from+n,u,O=r.get(h.tree);O?u=O:h.to+n>s?(u=Ld(i,e,h,n,r),c(h.to+n,!1)):u=h.toTree(),o.push(u),a.push(f-l)}return c(t.to+n,!1),new K(t.type,o,a,t.to+n-l,t.tree?t.tree.propValues:void 0)}var yr=class i extends It{constructor(e,t,n,r,s,o,a,l,c){super(),this.nodeSet=e,this.blockParsers=t,this.leafBlockParsers=n,this.blockNames=r,this.endLeafBlock=s,this.skipContextMarkup=o,this.inlineParsers=a,this.inlineNames=l,this.wrappers=c,this.nodeTypes=Object.create(null);for(let h of e.types)this.nodeTypes[h.name]=h.id}createParse(e,t,n){let r=new ec(this,e,t,n);for(let s of this.wrappers)r=s(r,e,t,n);return r}configure(e){let t=tc(e);if(!t)return this;let{nodeSet:n,skipContextMarkup:r}=this,s=this.blockParsers.slice(),o=this.leafBlockParsers.slice(),a=this.blockNames.slice(),l=this.inlineParsers.slice(),c=this.inlineNames.slice(),h=this.endLeafBlock.slice(),f=this.wrappers;if(Qr(t.defineNodes)){r=Object.assign({},r);let u=n.types.slice(),O;for(let m of t.defineNodes){let{name:p,block:b,composite:g,style:Q}=typeof m=="string"?{name:m}:m;if(u.some(P=>P.name==p))continue;g&&(r[u.length]=(P,$,Z)=>g($,Z,P.value));let S=u.length,x=g?["Block","BlockContext"]:b?S>=A.ATXHeading1&&S<=A.SetextHeading2?["Block","LeafBlock","Heading"]:["Block","LeafBlock"]:void 0;u.push(de.define({id:S,name:p,props:x&&[[I.group,x]]})),Q&&(O||(O={}),Array.isArray(Q)||Q instanceof Ke?O[p]=Q:Object.assign(O,Q))}n=new Dt(u),O&&(n=n.extend(Qe(O)))}if(Qr(t.props)&&(n=n.extend(...t.props)),Qr(t.remove))for(let u of t.remove){let O=this.blockNames.indexOf(u),m=this.inlineNames.indexOf(u);O>-1&&(s[O]=o[O]=void 0),m>-1&&(l[m]=void 0)}if(Qr(t.parseBlock))for(let u of t.parseBlock){let O=a.indexOf(u.name);if(O>-1)s[O]=u.parse,o[O]=u.leaf;else{let m=u.before?Fs(a,u.before):u.after?Fs(a,u.after)+1:a.length-1;s.splice(m,0,u.parse),o.splice(m,0,u.leaf),a.splice(m,0,u.name)}u.endLeaf&&h.push(u.endLeaf)}if(Qr(t.parseInline))for(let u of t.parseInline){let O=c.indexOf(u.name);if(O>-1)l[O]=u.parse;else{let m=u.before?Fs(c,u.before):u.after?Fs(c,u.after)+1:c.length-1;l.splice(m,0,u.parse),c.splice(m,0,u.name)}}return t.wrap&&(f=f.concat(t.wrap)),new i(n,s,o,a,h,r,l,c,f)}getNodeType(e){let t=this.nodeTypes[e];if(t==null)throw new RangeError(`Unknown node type '${e}'`);return t}parseInline(e,t){let n=new xr(this,e,t);e:for(let r=t;r=0){r=a;continue e}}r++}return n.resolveMarkers(0)}};function Qr(i){return i!=null&&i.length>0}function tc(i){if(!Array.isArray(i))return i;if(i.length==0)return null;let e=tc(i[0]);if(i.length==1)return e;let t=tc(i.slice(1));if(!t||!e)return e||t;let n=(o,a)=>(o||Pn).concat(a||Pn),r=e.wrap,s=t.wrap;return{props:n(e.props,t.props),defineNodes:n(e.defineNodes,t.defineNodes),parseBlock:n(e.parseBlock,t.parseBlock),parseInline:n(e.parseInline,t.parseInline),remove:n(e.remove,t.remove),wrap:r?s?(o,a,l,c)=>r(s(o,a,l,c),a,l,c):r:s}}function Fs(i,e){let t=i.indexOf(e);if(t<0)throw new RangeError(`Position specified relative to unknown parser ${e}`);return t}var Md=[de.none];for(let i=1,e;e=A[i];i++)Md[i]=de.define({id:i,name:e,props:i>=A.Escape?[]:[[I.group,i in Td?["Block","BlockContext"]:["Block","LeafBlock"]]],top:e=="Document"});var Pn=[],Ks=class{constructor(e){this.nodeSet=e,this.content=[],this.nodes=[]}write(e,t,n,r=0){return this.content.push(e,t,n,4+r*4),this}writeElements(e,t=0){for(let n of e)n.writeTo(this,t);return this}finish(e,t){return K.build({buffer:this.content,nodeSet:this.nodeSet,reused:this.nodes,topID:e,length:t})}},Bi=class{constructor(e,t,n,r=Pn){this.type=e,this.from=t,this.to=n,this.children=r}writeTo(e,t){let n=e.content.length;e.writeElements(this.children,t),e.content.push(this.type,this.from+t,this.to+t,e.content.length+4-n)}toTree(e){return new Ks(e).writeElements(this.children,-this.from).finish(this.type,this.to-this.from)}},Js=class{constructor(e,t){this.tree=e,this.from=t}get to(){return this.from+this.tree.length}get type(){return this.tree.type.id}get children(){return Pn}writeTo(e,t){e.nodes.push(this.tree),e.content.push(e.nodes.length-1,this.from+t,this.to+t,-1)}toTree(){return this.tree}};function ne(i,e,t,n){return new Bi(i,e,t,n)}var Wd={resolve:"Emphasis",mark:"EmphasisMark"},jd={resolve:"Emphasis",mark:"EmphasisMark"},Ii={},eo={},We=class{constructor(e,t,n,r){this.type=e,this.from=t,this.to=n,this.side=r}},Sd="!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~",kr=/[!"#$%&'()*+,\-.\/:;<=>?@\[\\\]^_`{|}~\xA1\u2010-\u2027]/;try{kr=new RegExp("[\\p{S}|\\p{P}]","u")}catch{}var Ul={Escape(i,e,t){if(e!=92||t==i.end-1)return-1;let n=i.char(t+1);for(let r=0;r]+|[a-z\d.!#$%&'*+/=?^_`{|}~-]+@[a-z\d](?:[a-z\d-]{0,61}[a-z\d])?(?:\.[a-z\d](?:[a-z\d-]{0,61}[a-z\d])?)*)>/i.exec(n);if(r)return i.append(ne(A.Autolink,t,t+1+r[0].length,[ne(A.LinkMark,t,t+1),ne(A.URL,t+1,t+r[0].length),ne(A.LinkMark,t+r[0].length,t+1+r[0].length)]));let s=/^!--[^>](?:-[^-]|[^-])*?-->/i.exec(n);if(s)return i.append(ne(A.Comment,t,t+1+s[0].length));let o=/^\?[^]*?\?>/.exec(n);if(o)return i.append(ne(A.ProcessingInstruction,t,t+1+o[0].length));let a=/^(?:![A-Z][^]*?>|!\[CDATA\[[^]*?\]\]>|\/\s*[a-zA-Z][\w-]*\s*>|\s*[a-zA-Z][\w-]*(\s+[a-zA-Z:_][\w-.:]*(?:\s*=\s*(?:[^\s"'=<>`]+|'[^']*'|"[^"]*"))?)*\s*(\/\s*)?>)/.exec(n);return a?i.append(ne(A.HTMLTag,t,t+1+a[0].length)):-1},Emphasis(i,e,t){if(e!=95&&e!=42)return-1;let n=t+1;for(;i.char(n)==e;)n++;let r=i.slice(t-1,t),s=i.slice(n,n+1),o=kr.test(r),a=kr.test(s),l=/\s|^$/.test(r),c=/\s|^$/.test(s),h=!c&&(!a||l||o),f=!l&&(!o||c||a),u=h&&(e==42||!f||o),O=f&&(e==42||!h||a);return i.append(new We(e==95?Wd:jd,t,n,(u?1:0)|(O?2:0)))},HardBreak(i,e,t){if(e==92&&i.char(t+1)==10)return i.append(ne(A.HardBreak,t,t+2));if(e==32){let n=t+1;for(;i.char(n)==32;)n++;if(i.char(n)==10&&n>=t+2)return i.append(ne(A.HardBreak,t,n+1))}return-1},Link(i,e,t){return e==91?i.append(new We(Ii,t,t+1,1)):-1},Image(i,e,t){return e==33&&i.char(t+1)==91?i.append(new We(eo,t,t+2,1)):-1},LinkEnd(i,e,t){if(e!=93)return-1;for(let n=i.parts.length-1;n>=0;n--){let r=i.parts[n];if(r instanceof We&&(r.type==Ii||r.type==eo)){if(!r.side||i.skipSpace(r.to)==t&&!/[(\[]/.test(i.slice(t+1,t+2)))return i.parts[n]=null,-1;let s=i.takeContent(n),o=i.parts[n]=oy(i,s,r.type==Ii?A.Link:A.Image,r.from,t+1);if(r.type==Ii)for(let a=0;ae?ne(A.URL,e+t,s+t):s==i.length?null:!1}}function Dd(i,e,t){let n=i.charCodeAt(e);if(n!=39&&n!=34&&n!=40)return!1;let r=n==40?41:n;for(let s=e+1,o=!1;s=this.end?-1:this.text.charCodeAt(e-this.offset)}get end(){return this.offset+this.text.length}slice(e,t){return this.text.slice(e-this.offset,t-this.offset)}append(e){return this.parts.push(e),e.to}addDelimiter(e,t,n,r,s){return this.append(new We(e,t,n,(r?1:0)|(s?2:0)))}get hasOpenLink(){for(let e=this.parts.length-1;e>=0;e--){let t=this.parts[e];if(t instanceof We&&(t.type==Ii||t.type==eo))return!0}return!1}addElement(e){return this.append(e)}resolveMarkers(e){for(let n=e;n=e;l--){let p=this.parts[l];if(p instanceof We&&p.side&1&&p.type==r.type&&!(s&&(r.side&1||p.side&2)&&(p.to-p.from+o)%3==0&&((p.to-p.from)%3||o%3))){a=p;break}}if(!a)continue;let c=r.type.resolve,h=[],f=a.from,u=r.to;if(s){let p=Math.min(2,a.to-a.from,o);f=a.to-p,u=r.from+p,c=p==1?"Emphasis":"StrongEmphasis"}a.type.mark&&h.push(this.elt(a.type.mark,f,a.to));for(let p=l+1;p=0;t--){let n=this.parts[t];if(n instanceof We&&n.type==e&&n.side&1)return t}return null}takeContent(e){let t=this.resolveMarkers(e);return this.parts.length=e,t}getDelimiterAt(e){let t=this.parts[e];return t instanceof We?t:null}skipSpace(e){return br(this.text,e-this.offset)+this.offset}elt(e,t,n,r){return typeof e=="string"?ne(this.parser.getNodeType(e),t,n,r):new Js(e,t)}};xr.linkStart=Ii;xr.imageStart=eo;function ic(i,e){if(!e.length)return i;if(!i.length)return e;let t=i.slice(),n=0;for(let r of e){for(;n(e?e-1:0))return!1;if(this.fragmentEnd<0){let s=this.fragment.to;for(;s>0&&this.input.read(s-1,s)!=` +`;)s--;this.fragmentEnd=s?s-1:0}let n=this.cursor;n||(n=this.cursor=this.fragment.tree.cursor(),n.firstChild());let r=e+this.fragment.offset;for(;n.to<=r;)if(!n.parent())return!1;for(;;){if(n.from>=r)return this.fragment.from<=t;if(!n.childAfter(r))return!1}}matches(e){let t=this.cursor.tree;return t&&t.prop(I.contextHash)==e}takeNodes(e){let t=this.cursor,n=this.fragment.offset,r=this.fragmentEnd-(this.fragment.openEnd?1:0),s=e.absoluteLineStart,o=s,a=e.block.children.length,l=o,c=a;for(;;){if(t.to-n>r){if(t.type.isAnonymous&&t.firstChild())continue;break}let h=Id(t.from-n,e.ranges);if(t.to-n<=e.ranges[e.rangeI].to)e.addNode(t.tree,h);else{let f=new K(e.parser.nodeSet.types[A.Paragraph],[],[],0,e.block.hashProp);e.reusePlaceholders.set(f,t.tree),e.addNode(f,h)}if(t.type.is("Block")&&(ay.indexOf(t.type.id)<0?(o=t.to-n,a=e.block.children.length):(o=l,a=c),l=t.to-n,c=e.block.children.length),!t.nextSibling())break}for(;e.block.children.length>a;)e.block.children.pop(),e.block.positions.pop();return o-s}};function Id(i,e){let t=i;for(let n=1;nNs[i]),Object.keys(Ns).map(i=>zd[i]),Object.keys(Ns),ry,Td,Object.keys(Ul).map(i=>Ul[i]),Object.keys(Ul),[]);function cy(i,e,t){let n=[];for(let r=i.firstChild,s=e;;r=r.nextSibling){let o=r?r.from:t;if(o>s&&n.push({from:s,to:o}),!r)break;s=r.to}return n}function Ud(i){let{codeParser:e,htmlParser:t}=i;return{wrap:bn((r,s)=>{let o=r.type.id;if(e&&(o==A.CodeBlock||o==A.FencedCode)){let a="";if(o==A.FencedCode){let c=r.node.getChild(A.CodeInfo);c&&(a=s.read(c.from,c.to))}let l=e(a);if(l)return{parser:l,overlay:c=>c.type.id==A.CodeText,bracketed:o==A.FencedCode}}else if(t&&(o==A.HTMLBlock||o==A.HTMLTag||o==A.CommentBlock))return{parser:t,overlay:cy(r.node,r.from,r.to)};return null})}}var hy={resolve:"Strikethrough",mark:"StrikethroughMark"},fy={defineNodes:[{name:"Strikethrough",style:{"Strikethrough/...":d.strikethrough}},{name:"StrikethroughMark",style:d.processingInstruction}],parseInline:[{name:"Strikethrough",parse(i,e,t){if(e!=126||i.char(t+1)!=126||i.char(t+2)==126)return-1;let n=i.slice(t-1,t),r=i.slice(t+2,t+3),s=/\s|^$/.test(n),o=/\s|^$/.test(r),a=kr.test(n),l=kr.test(r);return i.addDelimiter(hy,t,t+2,!o&&(!l||s||a),!s&&(!a||o||l))},after:"Emphasis"}]};function Sr(i,e,t=0,n,r=0){let s=0,o=!0,a=-1,l=-1,c=!1,h=()=>{n.push(i.elt("TableCell",r+a,r+l,i.parser.parseInline(e.slice(a,l),r+a)))};for(let f=t;f-1)&&s++,o=!1,n&&(a>-1&&h(),n.push(i.elt("TableDelimiter",f+r,f+r+1))),a=l=-1):(c||u!=32&&u!=9)&&(a<0&&(a=f),l=f+1),c=!c&&u==92}return a>-1&&(s++,n&&h()),s}function yd(i,e){for(let t=e;t\s]*\|?(\s*:?-+:?\s*\|)+(\s*:?-+:?\s*)?$/,to=class{constructor(){this.rows=null}nextLine(e,t,n){if(this.rows==null){this.rows=!1;let r;if((t.next==45||t.next==58||t.next==124)&&Gd.test(r=t.text.slice(t.pos))){let s=[];Sr(e,n.content,0,s,n.start)==Sr(e,r,0)&&(this.rows=[e.elt("TableHeader",n.start,n.start+n.content.length,s),e.elt("TableDelimiter",e.lineStart+t.pos,e.lineStart+t.text.length)])}}else if(this.rows){let r=[];Sr(e,t.text,t.pos,r,e.lineStart),this.rows.push(e.elt("TableRow",e.lineStart+t.pos,e.lineStart+t.text.length,r))}return!1}finish(e,t){return this.rows?(e.addLeafElement(t,e.elt("Table",t.start,t.start+t.content.length,this.rows)),!0):!1}},uy={defineNodes:[{name:"Table",block:!0},{name:"TableHeader",style:{"TableHeader/...":d.heading}},"TableRow",{name:"TableCell",style:d.content},{name:"TableDelimiter",style:d.processingInstruction}],parseBlock:[{name:"Table",leaf(i,e){return yd(e.content,0)?new to:null},endLeaf(i,e,t){if(t.parsers.some(r=>r instanceof to)||!yd(e.text,e.basePos))return!1;let n=i.peekLine();return Gd.test(n)&&Sr(i,e.text,e.basePos)==Sr(i,n,e.basePos)},before:"SetextHeading"}]},rc=class{nextLine(){return!1}finish(e,t){return e.addLeafElement(t,e.elt("Task",t.start,t.start+t.content.length,[e.elt("TaskMarker",t.start,t.start+3),...e.parser.parseInline(t.content.slice(3),t.start+3)])),!0}},Oy={defineNodes:[{name:"Task",block:!0,style:d.list},{name:"TaskMarker",style:d.atom}],parseBlock:[{name:"TaskList",leaf(i,e){return/^\[[ xX]\][ \t]/.test(e.content)&&i.parentType().name=="ListItem"?new rc:null},after:"SetextHeading"}]},kd=/(www\.)|(https?:\/\/)|([\w.+-]{1,100}@)|(mailto:|xmpp:)/gy,xd=/[\w-]+(\.[\w-]+)+(:\d+)?(\/[^\s<]*)?/gy,dy=/[\w-]+\.[\w-]+($|[/:])/,wd=/[\w.+-]+@[\w-]+(\.[\w.-]+)+/gy,Pd=/\/[a-zA-Z\d@.]+/gy;function vd(i,e,t,n){let r=0;for(let s=e;s-1)return-1;let n=e+t[0].length;for(;;){let r=i[n-1],s;if(/[?!.,:*_~]/.test(r)||r==")"&&vd(i,e,n,")")>vd(i,e,n,"("))n--;else if(r==";"&&(s=/&(?:#\d+|#x[a-f\d]+|\w+);$/.exec(i.slice(e,n))))n=e+s.index;else break}return n}function $d(i,e){wd.lastIndex=e;let t=wd.exec(i);if(!t)return-1;let n=t[0][t[0].length-1];return n=="_"||n=="-"?-1:e+t[0].length-(n=="."?1:0)}var my={parseInline:[{name:"Autolink",parse(i,e,t){let n=t-i.offset;if(n&&/\w/.test(i.text[n-1]))return-1;kd.lastIndex=n;let r=kd.exec(i.text),s=-1;if(!r)return-1;if(r[1]||r[2]){if(s=py(i.text,n+r[0].length),s>-1&&i.hasOpenLink){let o=/([^\[\]]|\[[^\]]*\])*/.exec(i.text.slice(n,s));s=n+o[0].length}}else r[3]?s=$d(i.text,n):(s=$d(i.text,n+r[0].length),s>-1&&r[0]=="xmpp:"&&(Pd.lastIndex=s,r=Pd.exec(i.text),r&&(s=r.index+r[0].length)));return s<0?-1:(i.addElement(i.elt("URL",t,s+i.offset)),s+i.offset)}}]},Nd=[uy,Oy,fy,my];function Fd(i,e,t){return(n,r,s)=>{if(r!=i||n.char(s+1)==i)return-1;let o=[n.elt(t,s,s+1)];for(let a=s+1;at%3==0).concat(this.state)}]@${this.pos}${this.score?"!"+this.score:""}`}static start(e,t,n=0){let r=e.parser.context;return new i(e,[],t,n,n,0,[],0,r?new io(r,r.start):null,0,null)}get context(){return this.curContext?this.curContext.context:null}pushState(e,t){this.stack.push(this.state,t,this.bufferBase+this.buffer.length),this.state=e}reduce(e){var t;let n=e>>19,r=e&65535,{parser:s}=this.p,o=this.reducePos=2e3&&!(!((t=this.p.parser.nodeSet.types[r])===null||t===void 0)&&t.isAnonymous)&&(c==this.p.lastBigReductionStart?(this.p.bigReductionCount++,this.p.lastBigReductionSize=h):this.p.lastBigReductionSizel;)this.stack.pop();this.reduceContext(r,c)}storeNode(e,t,n,r=4,s=!1){if(e==0&&(!this.stack.length||this.stack[this.stack.length-1]0&&this.buffer[o-4]==0&&this.buffer[o-1]>-1){if(t==n)return;if(this.buffer[o-2]>=t){this.buffer[o-2]=n;return}}}if(!s||this.pos==n)this.buffer.push(e,t,n,r);else{let o=this.buffer.length;if(o>0&&(this.buffer[o-4]!=0||this.buffer[o-1]<0)){let a=!1;for(let l=o;l>0&&this.buffer[l-2]>n;l-=4)if(this.buffer[l-1]>=0){a=!0;break}if(a)for(;o>0&&this.buffer[o-2]>n;)this.buffer[o]=this.buffer[o-4],this.buffer[o+1]=this.buffer[o-3],this.buffer[o+2]=this.buffer[o-2],this.buffer[o+3]=this.buffer[o-1],o-=4,r>4&&(r-=4)}this.buffer[o]=e,this.buffer[o+1]=t,this.buffer[o+2]=n,this.buffer[o+3]=r}}shift(e,t,n,r){if(e&131072)this.pushState(e&65535,this.pos);else if((e&262144)==0){let s=e,{parser:o}=this.p;this.pos=r;let a=o.stateFlag(s,1);!a&&(r>n||t<=o.maxNode)&&(this.reducePos=r),this.pushState(s,a?n:Math.min(n,this.reducePos)),this.shiftContext(t,n),t<=o.maxNode&&this.buffer.push(t,n,r,4)}else this.pos=r,this.shiftContext(t,n),t<=this.p.parser.maxNode&&this.buffer.push(t,n,r,4)}apply(e,t,n,r){e&65536?this.reduce(e):this.shift(e,t,n,r)}useNode(e,t){let n=this.p.reused.length-1;(n<0||this.p.reused[n]!=e)&&(this.p.reused.push(e),n++);let r=this.pos;this.reducePos=this.pos=r+e.length,this.pushState(t,r),this.buffer.push(n,r,this.reducePos,-1),this.curContext&&this.updateContext(this.curContext.tracker.reuse(this.curContext.context,e,this,this.p.stream.reset(this.pos-e.length)))}split(){let e=this,t=e.buffer.length;for(t&&e.buffer[t-4]==0&&(t-=4);t>0&&e.buffer[t-2]>e.reducePos;)t-=4;let n=e.buffer.slice(t),r=e.bufferBase+t;for(;e&&r==e.bufferBase;)e=e.parent;return new i(this.p,this.stack.slice(),this.state,this.reducePos,this.pos,this.score,n,r,this.curContext,this.lookAhead,e)}recoverByDelete(e,t){let n=e<=this.p.parser.maxNode;n&&this.storeNode(e,this.pos,t,4),this.storeNode(0,this.pos,t,n?8:4),this.pos=this.reducePos=t,this.score-=190}canShift(e){for(let t=new fc(this);;){let n=this.p.parser.stateSlot(t.state,4)||this.p.parser.hasAction(t.state,e);if(n==0)return!1;if((n&65536)==0)return!0;t.reduce(n)}}recoverByInsert(e){if(this.stack.length>=300)return[];let t=this.p.parser.nextStates(this.state);if(t.length>8||this.stack.length>=120){let r=[];for(let s=0,o;sl&1&&a==o)||r.push(t[s],o)}t=r}let n=[];for(let r=0;r>19,r=t&65535,s=this.stack.length-n*3;if(s<0||e.getGoto(this.stack[s],r,!1)<0){let o=this.findForcedReduction();if(o==null)return!1;t=o}this.storeNode(0,this.pos,this.pos,4,!0),this.score-=100}return this.reducePos=this.pos,this.reduce(t),!0}findForcedReduction(){let{parser:e}=this.p,t=[],n=(r,s)=>{if(!t.includes(r))return t.push(r),e.allActions(r,o=>{if(!(o&393216))if(o&65536){let a=(o>>19)-s;if(a>1){let l=o&65535,c=this.stack.length-a*3;if(c>=0&&e.getGoto(this.stack[c],l,!1)>=0)return a<<19|65536|l}}else{let a=n(o,s+1);if(a!=null)return a}})};return n(this.state,0)}forceAll(){for(;!this.p.parser.stateFlag(this.state,2);)if(!this.forceReduce()){this.storeNode(0,this.pos,this.pos,4,!0);break}return this}get deadEnd(){if(this.stack.length!=3)return!1;let{parser:e}=this.p;return e.data[e.stateSlot(this.state,1)]==65535&&!e.stateSlot(this.state,4)}restart(){this.storeNode(0,this.pos,this.pos,4,!0),this.state=this.stack[0],this.stack.length=0}sameState(e){if(this.state!=e.state||this.stack.length!=e.stack.length)return!1;for(let t=0;t0&&this.emitLookAhead()}},io=class{constructor(e,t){this.tracker=e,this.context=t,this.hash=e.strict?e.hash(t):0}},fc=class{constructor(e){this.start=e,this.state=e.state,this.stack=e.stack,this.base=this.stack.length}reduce(e){let t=e&65535,n=e>>19;n==0?(this.stack==this.start.stack&&(this.stack=this.stack.slice()),this.stack.push(this.state,0,0),this.base+=3):this.base-=(n-1)*3;let r=this.start.p.parser.getGoto(this.stack[this.base-3],t,!0);this.state=r}},uc=class i{constructor(e,t,n){this.stack=e,this.pos=t,this.index=n,this.buffer=e.buffer,this.index==0&&this.maybeNext()}static create(e,t=e.bufferBase+e.buffer.length){return new i(e,t,t-e.bufferBase)}maybeNext(){let e=this.stack.parent;e!=null&&(this.index=this.stack.bufferBase-e.bufferBase,this.stack=e,this.buffer=e.buffer)}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}next(){this.index-=4,this.pos-=4,this.index==0&&this.maybeNext()}fork(){return new i(this.stack,this.pos,this.index)}};function wr(i,e=Uint16Array){if(typeof i!="string")return i;let t=null;for(let n=0,r=0;n=92&&o--,o>=34&&o--;let l=o-32;if(l>=46&&(l-=46,a=!0),s+=l,a)break;s*=46}t?t[r++]=s:t=new e(s)}return t}var vn=class{constructor(){this.start=-1,this.value=-1,this.end=-1,this.extended=-1,this.lookAhead=0,this.mask=0,this.context=0}},ep=new vn,Oc=class{constructor(e,t){this.input=e,this.ranges=t,this.chunk="",this.chunkOff=0,this.chunk2="",this.chunk2Pos=0,this.next=-1,this.token=ep,this.rangeIndex=0,this.pos=this.chunkPos=t[0].from,this.range=t[0],this.end=t[t.length-1].to,this.readNext()}resolveOffset(e,t){let n=this.range,r=this.rangeIndex,s=this.pos+e;for(;sn.to:s>=n.to;){if(r==this.ranges.length-1)return null;let o=this.ranges[++r];s+=o.from-n.to,n=o}return s}clipPos(e){if(e>=this.range.from&&ee)return Math.max(e,t.from);return this.end}peek(e){let t=this.chunkOff+e,n,r;if(t>=0&&t=this.chunk2Pos&&na.to&&(this.chunk2=this.chunk2.slice(0,a.to-n)),r=this.chunk2.charCodeAt(0)}}return n>=this.token.lookAhead&&(this.token.lookAhead=n+1),r}acceptToken(e,t=0){let n=t?this.resolveOffset(t,-1):this.pos;if(n==null||n=this.chunk2Pos&&this.posthis.range.to?e.slice(0,this.range.to-this.pos):e,this.chunkPos=this.pos,this.chunkOff=0}}readNext(){return this.chunkOff>=this.chunk.length&&(this.getChunk(),this.chunkOff==this.chunk.length)?this.next=-1:this.next=this.chunk.charCodeAt(this.chunkOff)}advance(e=1){for(this.chunkOff+=e;this.pos+e>=this.range.to;){if(this.rangeIndex==this.ranges.length-1)return this.setDone();e-=this.range.to-this.pos,this.range=this.ranges[++this.rangeIndex],this.pos=this.range.from}return this.pos+=e,this.pos>=this.token.lookAhead&&(this.token.lookAhead=this.pos+1),this.readNext()}setDone(){return this.pos=this.chunkPos=this.end,this.range=this.ranges[this.rangeIndex=this.ranges.length-1],this.chunk="",this.next=-1}reset(e,t){if(t?(this.token=t,t.start=e,t.lookAhead=e+1,t.value=t.extended=-1):this.token=ep,this.pos!=e){if(this.pos=e,e==this.end)return this.setDone(),this;for(;e=this.range.to;)this.range=this.ranges[++this.rangeIndex];e>=this.chunkPos&&e=this.chunkPos&&t<=this.chunkPos+this.chunk.length)return this.chunk.slice(e-this.chunkPos,t-this.chunkPos);if(e>=this.chunk2Pos&&t<=this.chunk2Pos+this.chunk2.length)return this.chunk2.slice(e-this.chunk2Pos,t-this.chunk2Pos);if(e>=this.range.from&&t<=this.range.to)return this.input.read(e,t);let n="";for(let r of this.ranges){if(r.from>=t)break;r.to>e&&(n+=this.input.read(Math.max(r.from,e),Math.min(r.to,t)))}return n}},bi=class{constructor(e,t){this.data=e,this.id=t}token(e,t){let{parser:n}=t.p;sp(this.data,e,t,this.id,n.data,n.tokenPrecTable)}};bi.prototype.contextual=bi.prototype.fallback=bi.prototype.extend=!1;var Si=class{constructor(e,t,n){this.precTable=t,this.elseToken=n,this.data=typeof e=="string"?wr(e):e}token(e,t){let n=e.pos,r=0;for(;;){let s=e.next<0,o=e.resolveOffset(1,1);if(sp(this.data,e,t,0,this.data,this.precTable),e.token.value>-1)break;if(this.elseToken==null)return;if(s||r++,o==null)break;e.reset(o,e.token)}r&&(e.reset(n,e.token),e.acceptToken(this.elseToken,r))}};Si.prototype.contextual=bi.prototype.fallback=bi.prototype.extend=!1;var ee=class{constructor(e,t={}){this.token=e,this.contextual=!!t.contextual,this.fallback=!!t.fallback,this.extend=!!t.extend}};function sp(i,e,t,n,r,s){let o=0,a=1<0){let m=i[O];if(l.allows(m)&&(e.token.value==-1||e.token.value==m||Qy(m,e.token.value,r,s))){e.acceptToken(m);break}}let h=e.next,f=0,u=i[o+2];if(e.next<0&&u>f&&i[c+u*3-3]==65535){o=i[c+u*3-1];continue e}for(;f>1,m=c+O+(O<<1),p=i[m],b=i[m+1]||65536;if(h=b)f=O+1;else{o=i[m+2],e.advance();continue e}}break}}function tp(i,e,t){for(let n=e,r;(r=i[n])!=65535;n++)if(r==t)return n-e;return-1}function Qy(i,e,t,n){let r=tp(t,n,e);return r<0||tp(t,n,i)e)&&!n.type.isError)return t<0?Math.max(0,Math.min(n.to-1,e-25)):Math.min(i.length,Math.max(n.from+1,e+25));if(t<0?n.prevSibling():n.nextSibling())break;if(!n.parent())return t<0?0:i.length}}var dc=class{constructor(e,t){this.fragments=e,this.nodeSet=t,this.i=0,this.fragment=null,this.safeFrom=-1,this.safeTo=-1,this.trees=[],this.start=[],this.index=[],this.nextFragment()}nextFragment(){let e=this.fragment=this.i==this.fragments.length?null:this.fragments[this.i++];if(e){for(this.safeFrom=e.openStart?ip(e.tree,e.from+e.offset,1)-e.offset:e.from,this.safeTo=e.openEnd?ip(e.tree,e.to+e.offset,-1)-e.offset:e.to;this.trees.length;)this.trees.pop(),this.start.pop(),this.index.pop();this.trees.push(e.tree),this.start.push(-e.offset),this.index.push(0),this.nextStart=this.safeFrom}else this.nextStart=1e9}nodeAt(e){if(ee)return this.nextStart=o,null;if(s instanceof K){if(o==e){if(o=Math.max(this.safeFrom,e)&&(this.trees.push(s),this.start.push(o),this.index.push(0))}else this.index[t]++,this.nextStart=o+s.length}}},pc=class{constructor(e,t){this.stream=t,this.tokens=[],this.mainToken=null,this.actions=[],this.tokens=e.tokenizers.map(n=>new vn)}getActions(e){let t=0,n=null,{parser:r}=e.p,{tokenizers:s}=r,o=r.stateSlot(e.state,3),a=e.curContext?e.curContext.hash:0,l=0;for(let c=0;cf.end+25&&(l=Math.max(f.lookAhead,l)),f.value!=0)){let u=t;if(f.extended>-1&&(t=this.addActions(e,f.extended,f.end,t)),t=this.addActions(e,f.value,f.end,t),!h.extend&&(n=f,t>u))break}}for(;this.actions.length>t;)this.actions.pop();return l&&e.setLookAhead(l),!n&&e.pos==this.stream.end&&(n=new vn,n.value=e.p.parser.eofTerm,n.start=n.end=e.pos,t=this.addActions(e,n.value,n.end,t)),this.mainToken=n,this.actions}getMainToken(e){if(this.mainToken)return this.mainToken;let t=new vn,{pos:n,p:r}=e;return t.start=n,t.end=Math.min(n+1,r.stream.end),t.value=n==r.stream.end?r.parser.eofTerm:0,t}updateCachedToken(e,t,n){let r=this.stream.clipPos(n.pos);if(t.token(this.stream.reset(r,e),n),e.value>-1){let{parser:s}=n.p;for(let o=0;o=0&&n.p.parser.dialect.allows(a>>1)){(a&1)==0?e.value=a>>1:e.extended=a>>1;break}}}else e.value=0,e.end=this.stream.clipPos(r+1)}putAction(e,t,n,r){for(let s=0;se.bufferLength*4?new dc(n,e.nodeSet):null}get parsedPos(){return this.minStackPos}advance(){let e=this.stacks,t=this.minStackPos,n=this.stacks=[],r,s;if(this.bigReductionCount>300&&e.length==1){let[o]=e;for(;o.forceReduce()&&o.stack.length&&o.stack[o.stack.length-2]>=this.lastBigReductionStart;);this.bigReductionCount=this.lastBigReductionSize=0}for(let o=0;ot)n.push(a);else{if(this.advanceStack(a,n,e))continue;{r||(r=[],s=[]),r.push(a);let l=this.tokens.getMainToken(a);s.push(l.value,l.end)}}break}}if(!n.length){let o=r&&by(r);if(o)return Je&&console.log("Finish with "+this.stackID(o)),this.stackToTree(o);if(this.parser.strict)throw Je&&r&&console.log("Stuck with token "+(this.tokens.mainToken?this.parser.getName(this.tokens.mainToken.value):"none")),new SyntaxError("No parse at "+t);this.recovering||(this.recovering=5)}if(this.recovering&&r){let o=this.stoppedAt!=null&&r[0].pos>this.stoppedAt?r[0]:this.runRecovery(r,s,n);if(o)return Je&&console.log("Force-finish "+this.stackID(o)),this.stackToTree(o.forceAll())}if(this.recovering){let o=this.recovering==1?1:this.recovering*3;if(n.length>o)for(n.sort((a,l)=>l.score-a.score);n.length>o;)n.pop();n.some(a=>a.reducePos>t)&&this.recovering--}else if(n.length>1){e:for(let o=0;o500&&c.buffer.length>500)if((a.score-c.score||a.buffer.length-c.buffer.length)>0)n.splice(l--,1);else{n.splice(o--,1);continue e}}}n.length>12&&(n.sort((o,a)=>a.score-o.score),n.splice(12,n.length-12))}this.minStackPos=n[0].pos;for(let o=1;o ":"";if(this.stoppedAt!=null&&r>this.stoppedAt)return e.forceReduce()?e:null;if(this.fragments){let c=e.curContext&&e.curContext.tracker.strict,h=c?e.curContext.hash:0;for(let f=this.fragments.nodeAt(r);f;){let u=this.parser.nodeSet.types[f.type.id]==f.type?s.getGoto(e.state,f.type.id):-1;if(u>-1&&f.length&&(!c||(f.prop(I.contextHash)||0)==h))return e.useNode(f,u),Je&&console.log(o+this.stackID(e)+` (via reuse of ${s.getName(f.type.id)})`),!0;if(!(f instanceof K)||f.children.length==0||f.positions[0]>0)break;let O=f.children[0];if(O instanceof K&&f.positions[0]==0)f=O;else break}}let a=s.stateSlot(e.state,4);if(a>0)return e.reduce(a),Je&&console.log(o+this.stackID(e)+` (via always-reduce ${s.getName(a&65535)})`),!0;if(e.stack.length>=8400)for(;e.stack.length>6e3&&e.forceReduce(););let l=this.tokens.getActions(e);for(let c=0;cr?t.push(m):n.push(m)}return!1}advanceFully(e,t){let n=e.pos;for(;;){if(!this.advanceStack(e,null,null))return!1;if(e.pos>n)return np(e,t),!0}}runRecovery(e,t,n){let r=null,s=!1;for(let o=0;o ":"";if(a.deadEnd&&(s||(s=!0,a.restart(),Je&&console.log(h+this.stackID(a)+" (restarted)"),this.advanceFully(a,n))))continue;let f=a.split(),u=h;for(let O=0;O<10&&f.forceReduce()&&(Je&&console.log(u+this.stackID(f)+" (via force-reduce)"),!this.advanceFully(f,n));O++)Je&&(u=this.stackID(f)+" -> ");for(let O of a.recoverByInsert(l))Je&&console.log(h+this.stackID(O)+" (via recover-insert)"),this.advanceFully(O,n);this.stream.end>a.pos?(c==a.pos&&(c++,l=0),a.recoverByDelete(l,c),Je&&console.log(h+this.stackID(a)+` (via recover-delete ${this.parser.getName(l)})`),np(a,n)):(!r||r.scorei,mt=class{constructor(e){this.start=e.start,this.shift=e.shift||cc,this.reduce=e.reduce||cc,this.reuse=e.reuse||cc,this.hash=e.hash||(()=>0),this.strict=e.strict!==!1}},ve=class i extends It{constructor(e){if(super(),this.wrappers=[],e.version!=14)throw new RangeError(`Parser version (${e.version}) doesn't match runtime version (14)`);let t=e.nodeNames.split(" ");this.minRepeatTerm=t.length;for(let a=0;ae.topRules[a][1]),r=[];for(let a=0;a=0)s(h,l,a[c++]);else{let f=a[c+-h];for(let u=-h;u>0;u--)s(a[c++],l,f);c++}}}this.nodeSet=new Dt(t.map((a,l)=>de.define({name:l>=this.minRepeatTerm?void 0:a,id:l,props:r[l],top:n.indexOf(l)>-1,error:l==0,skipped:e.skippedNodes&&e.skippedNodes.indexOf(l)>-1}))),e.propSources&&(this.nodeSet=this.nodeSet.extend(...e.propSources)),this.strict=!1,this.bufferLength=1024;let o=wr(e.tokenData);this.context=e.context,this.specializerSpecs=e.specialized||[],this.specialized=new Uint16Array(this.specializerSpecs.length);for(let a=0;atypeof a=="number"?new bi(o,a):a),this.topRules=e.topRules,this.dialects=e.dialects||{},this.dynamicPrecedences=e.dynamicPrecedences||null,this.tokenPrecTable=e.tokenPrec,this.termNames=e.termNames||null,this.maxNode=this.nodeSet.types.length-1,this.dialect=this.parseDialect(),this.top=this.topRules[Object.keys(this.topRules)[0]]}createParse(e,t,n){let r=new mc(this,e,t,n);for(let s of this.wrappers)r=s(r,e,t,n);return r}getGoto(e,t,n=!1){let r=this.goto;if(t>=r[0])return-1;for(let s=r[t+1];;){let o=r[s++],a=o&1,l=r[s++];if(a&&n)return l;for(let c=s+(o>>1);s0}validAction(e,t){return!!this.allActions(e,n=>n==t?!0:null)}allActions(e,t){let n=this.stateSlot(e,4),r=n?t(n):void 0;for(let s=this.stateSlot(e,1);r==null;s+=3){if(this.data[s]==65535)if(this.data[s+1]==1)s=Ut(this.data,s+2);else break;r=t(Ut(this.data,s+1))}return r}nextStates(e){let t=[];for(let n=this.stateSlot(e,1);;n+=3){if(this.data[n]==65535)if(this.data[n+1]==1)n=Ut(this.data,n+2);else break;if((this.data[n+2]&1)==0){let r=this.data[n+1];t.some((s,o)=>o&1&&s==r)||t.push(this.data[n],r)}}return t}configure(e){let t=Object.assign(Object.create(i.prototype),this);if(e.props&&(t.nodeSet=this.nodeSet.extend(...e.props)),e.top){let n=this.topRules[e.top];if(!n)throw new RangeError(`Invalid top rule name ${e.top}`);t.top=n}return e.tokenizers&&(t.tokenizers=this.tokenizers.map(n=>{let r=e.tokenizers.find(s=>s.from==n);return r?r.to:n})),e.specializers&&(t.specializers=this.specializers.slice(),t.specializerSpecs=this.specializerSpecs.map((n,r)=>{let s=e.specializers.find(a=>a.from==n.external);if(!s)return n;let o=Object.assign(Object.assign({},n),{external:s.to});return t.specializers[r]=rp(o),o})),e.contextTracker&&(t.context=e.contextTracker),e.dialect&&(t.dialect=this.parseDialect(e.dialect)),e.strict!=null&&(t.strict=e.strict),e.wrap&&(t.wrappers=t.wrappers.concat(e.wrap)),e.bufferLength!=null&&(t.bufferLength=e.bufferLength),t}hasWrappers(){return this.wrappers.length>0}getName(e){return this.termNames?this.termNames[e]:String(e<=this.maxNode&&this.nodeSet.types[e].name||e)}get eofTerm(){return this.maxNode+1}get topNode(){return this.nodeSet.types[this.top[1]]}dynamicPrecedence(e){let t=this.dynamicPrecedences;return t==null?0:t[e]||0}parseDialect(e){let t=Object.keys(this.dialects),n=t.map(()=>!1);if(e)for(let s of e.split(" ")){let o=t.indexOf(s);o>=0&&(n[o]=!0)}let r=null;for(let s=0;sn)&&t.p.parser.stateFlag(t.state,2)&&(!e||e.scorei.external(t,n)<<1|e}return i.get}var Sy=55,yy=1,ky=56,xy=2,wy=57,Py=3,op=4,vy=5,kc=6,dp=7,pp=8,mp=9,gp=10,$y=11,Ty=12,Cy=13,Qc=58,Xy=14,_y=15,ap=59,Qp=21,Ry=23,bp=24,Ay=25,Sc=27,Sp=28,Zy=29,Ey=32,qy=35,zy=37,Ly=38,My=0,Wy=1,jy={area:!0,base:!0,br:!0,col:!0,command:!0,embed:!0,frame:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0,menuitem:!0},Vy={dd:!0,li:!0,optgroup:!0,option:!0,p:!0,rp:!0,rt:!0,tbody:!0,td:!0,tfoot:!0,th:!0,tr:!0},lp={dd:{dd:!0,dt:!0},dt:{dd:!0,dt:!0},li:{li:!0},option:{option:!0,optgroup:!0},optgroup:{optgroup:!0},p:{address:!0,article:!0,aside:!0,blockquote:!0,dir:!0,div:!0,dl:!0,fieldset:!0,footer:!0,form:!0,h1:!0,h2:!0,h3:!0,h4:!0,h5:!0,h6:!0,header:!0,hgroup:!0,hr:!0,menu:!0,nav:!0,ol:!0,p:!0,pre:!0,section:!0,table:!0,ul:!0},rp:{rp:!0,rt:!0},rt:{rp:!0,rt:!0},tbody:{tbody:!0,tfoot:!0},td:{td:!0,th:!0},tfoot:{tbody:!0},th:{td:!0,th:!0},thead:{tbody:!0,tfoot:!0},tr:{tr:!0}};function Dy(i){return i==45||i==46||i==58||i>=65&&i<=90||i==95||i>=97&&i<=122||i>=161}var cp=null,hp=null,fp=0;function yc(i,e){let t=i.pos+e;if(fp==t&&hp==i)return cp;let n=i.peek(e),r="";for(;Dy(n);)r+=String.fromCharCode(n),n=i.peek(++e);return hp=i,fp=t,cp=r?r.toLowerCase():n==Yy||n==Iy?void 0:null}var yp=60,no=62,xc=47,Yy=63,Iy=33,By=45;function up(i,e){this.name=i,this.parent=e}var Uy=[kc,gp,dp,pp,mp],Gy=new mt({start:null,shift(i,e,t,n){return Uy.indexOf(e)>-1?new up(yc(n,1)||"",i):i},reduce(i,e){return e==Qp&&i?i.parent:i},reuse(i,e,t,n){let r=e.type.id;return r==kc||r==zy?new up(yc(n,1)||"",i):i},strict:!1}),Ny=new ee((i,e)=>{if(i.next!=yp){i.next<0&&e.context&&i.acceptToken(Qc);return}i.advance();let t=i.next==xc;t&&i.advance();let n=yc(i,0);if(n===void 0)return;if(!n)return i.acceptToken(t?_y:Xy);let r=e.context?e.context.name:null;if(t){if(n==r)return i.acceptToken($y);if(r&&Vy[r])return i.acceptToken(Qc,-2);if(e.dialectEnabled(My))return i.acceptToken(Ty);for(let s=e.context;s;s=s.parent)if(s.name==n)return;i.acceptToken(Cy)}else{if(n=="script")return i.acceptToken(dp);if(n=="style")return i.acceptToken(pp);if(n=="textarea")return i.acceptToken(mp);if(jy.hasOwnProperty(n))return i.acceptToken(gp);r&&lp[r]&&lp[r][n]?i.acceptToken(Qc,-1):i.acceptToken(kc)}},{contextual:!0}),Fy=new ee(i=>{for(let e=0,t=0;;t++){if(i.next<0){t&&i.acceptToken(ap);break}if(i.next==By)e++;else if(i.next==no&&e>=2){t>=3&&i.acceptToken(ap,-2);break}else e=0;i.advance()}});function Hy(i){for(;i;i=i.parent)if(i.name=="svg"||i.name=="math")return!0;return!1}var Ky=new ee((i,e)=>{if(i.next==xc&&i.peek(1)==no){let t=e.dialectEnabled(Wy)||Hy(e.context);i.acceptToken(t?vy:op,2)}else i.next==no&&i.acceptToken(op,1)});function wc(i,e,t){let n=2+i.length;return new ee(r=>{for(let s=0,o=0,a=0;;a++){if(r.next<0){a&&r.acceptToken(e);break}if(s==0&&r.next==yp||s==1&&r.next==xc||s>=2&&so?r.acceptToken(e,-o):r.acceptToken(t,-(o-2));break}else if((r.next==10||r.next==13)&&a){r.acceptToken(e,1);break}else s=o=0;r.advance()}})}var Jy=wc("script",Sy,yy),ek=wc("style",ky,xy),tk=wc("textarea",wy,Py),ik=Qe({"Text RawText IncompleteTag IncompleteCloseTag":d.content,"StartTag StartCloseTag SelfClosingEndTag EndTag":d.angleBracket,TagName:d.tagName,"MismatchedCloseTag/TagName":[d.tagName,d.invalid],AttributeName:d.attributeName,"AttributeValue UnquotedAttributeValue":d.attributeValue,Is:d.definitionOperator,"EntityReference CharacterReference":d.character,Comment:d.blockComment,ProcessingInst:d.processingInstruction,DoctypeDecl:d.documentMeta}),kp=ve.deserialize({version:14,states:",xOVO!rOOO!ZQ#tO'#CrO!`Q#tO'#C{O!eQ#tO'#DOO!jQ#tO'#DRO!oQ#tO'#DTO!tOaO'#CqO#PObO'#CqO#[OdO'#CqO$kO!rO'#CqOOO`'#Cq'#CqO$rO$fO'#DUO$zQ#tO'#DWO%PQ#tO'#DXOOO`'#Dl'#DlOOO`'#DZ'#DZQVO!rOOO%UQ&rO,59^O%aQ&rO,59gO%lQ&rO,59jO%wQ&rO,59mO&SQ&rO,59oOOOa'#D_'#D_O&_OaO'#CyO&jOaO,59]OOOb'#D`'#D`O&rObO'#C|O&}ObO,59]OOOd'#Da'#DaO'VOdO'#DPO'bOdO,59]OOO`'#Db'#DbO'jO!rO,59]O'qQ#tO'#DSOOO`,59],59]OOOp'#Dc'#DcO'vO$fO,59pOOO`,59p,59pO(OQ#|O,59rO(TQ#|O,59sOOO`-E7X-E7XO(YQ&rO'#CtOOQW'#D['#D[O(hQ&rO1G.xOOOa1G.x1G.xOOO`1G/Z1G/ZO(sQ&rO1G/ROOOb1G/R1G/RO)OQ&rO1G/UOOOd1G/U1G/UO)ZQ&rO1G/XOOO`1G/X1G/XO)fQ&rO1G/ZOOOa-E7]-E7]O)qQ#tO'#CzOOO`1G.w1G.wOOOb-E7^-E7^O)vQ#tO'#C}OOOd-E7_-E7_O){Q#tO'#DQOOO`-E7`-E7`O*QQ#|O,59nOOOp-E7a-E7aOOO`1G/[1G/[OOO`1G/^1G/^OOO`1G/_1G/_O*VQ,UO,59`OOQW-E7Y-E7YOOOa7+$d7+$dOOO`7+$u7+$uOOOb7+$m7+$mOOOd7+$p7+$pOOO`7+$s7+$sO*bQ#|O,59fO*gQ#|O,59iO*lQ#|O,59lOOO`1G/Y1G/YO*qO7[O'#CwO+SOMhO'#CwOOQW1G.z1G.zOOO`1G/Q1G/QOOO`1G/T1G/TOOO`1G/W1G/WOOOO'#D]'#D]O+eO7[O,59cOOQW,59c,59cOOOO'#D^'#D^O+vOMhO,59cOOOO-E7Z-E7ZOOQW1G.}1G.}OOOO-E7[-E7[",stateData:",c~O!_OS~OUSOVPOWQOXROYTO[]O][O^^O_^Oa^Ob^Oc^Od^Oy^O|_O!eZO~OgaO~OgbO~OgcO~OgdO~OgeO~O!XfOPmP![mP~O!YiOQpP![pP~O!ZlORsP![sP~OUSOVPOWQOXROYTOZqO[]O][O^^O_^Oa^Ob^Oc^Od^Oy^O!eZO~O![rO~P#gO!]sO!fuO~OgvO~OgwO~OS|OT}OiyO~OS!POT}OiyO~OS!ROT}OiyO~OS!TOT}OiyO~OS}OT}OiyO~O!XfOPmX![mX~OP!WO![!XO~O!YiOQpX![pX~OQ!ZO![!XO~O!ZlORsX![sX~OR!]O![!XO~O![!XO~P#gOg!_O~O!]sO!f!aO~OS!bO~OS!cO~Oj!dOShXThXihX~OS!fOT!gOiyO~OS!hOT!gOiyO~OS!iOT!gOiyO~OS!jOT!gOiyO~OS!gOT!gOiyO~Og!kO~Og!lO~Og!mO~OS!nO~Ol!qO!a!oO!c!pO~OS!rO~OS!sO~OS!tO~Ob!uOc!uOd!uO!a!wO!b!uO~Ob!xOc!xOd!xO!c!wO!d!xO~Ob!uOc!uOd!uO!a!{O!b!uO~Ob!xOc!xOd!xO!c!{O!d!xO~OT~cbd!ey|!e~",goto:"%q!aPPPPPPPPPPPPPPPPPPPPP!b!hP!nPP!zP!}#Q#T#Z#^#a#g#j#m#s#y!bP!b!bP$P$V$m$s$y%P%V%]%cPPPPPPPP%iX^OX`pXUOX`pezabcde{!O!Q!S!UR!q!dRhUR!XhXVOX`pRkVR!XkXWOX`pRnWR!XnXXOX`pQrXR!XpXYOX`pQ`ORx`Q{aQ!ObQ!QcQ!SdQ!UeZ!e{!O!Q!S!UQ!v!oR!z!vQ!y!pR!|!yQgUR!VgQjVR!YjQmWR![mQpXR!^pQtZR!`tS_O`ToXp",nodeNames:"\u26A0 StartCloseTag StartCloseTag StartCloseTag EndTag SelfClosingEndTag StartTag StartTag StartTag StartTag StartTag StartCloseTag StartCloseTag StartCloseTag IncompleteTag IncompleteCloseTag Document Text EntityReference CharacterReference InvalidEntity Element OpenTag TagName Attribute AttributeName Is AttributeValue UnquotedAttributeValue ScriptText CloseTag OpenTag StyleText CloseTag OpenTag TextareaText CloseTag OpenTag CloseTag SelfClosingTag Comment ProcessingInst MismatchedCloseTag CloseTag DoctypeDecl",maxTerm:68,context:Gy,nodeProps:[["closedBy",-10,1,2,3,7,8,9,10,11,12,13,"EndTag",6,"EndTag SelfClosingEndTag",-4,22,31,34,37,"CloseTag"],["openedBy",4,"StartTag StartCloseTag",5,"StartTag",-4,30,33,36,38,"OpenTag"],["group",-10,14,15,18,19,20,21,40,41,42,43,"Entity",17,"Entity TextContent",-3,29,32,35,"TextContent Entity"],["isolate",-11,22,30,31,33,34,36,37,38,39,42,43,"ltr",-3,27,28,40,""]],propSources:[ik],skippedNodes:[0],repeatNodeCount:9,tokenData:"!]tw8twx7Sx!P8t!P!Q5u!Q!]8t!]!^/^!^!a7S!a#S8t#S#T;{#T#s8t#s$f5u$f;'S8t;'S;=`>V<%l?Ah8t?Ah?BY5u?BY?Mn8t?MnO5u!Z5zblWOX5uXZ7SZ[5u[^7S^p5uqr5urs7Sst+Ptw5uwx7Sx!]5u!]!^7w!^!a7S!a#S5u#S#T7S#T;'S5u;'S;=`8n<%lO5u!R7VVOp7Sqs7St!]7S!]!^7l!^;'S7S;'S;=`7q<%lO7S!R7qOb!R!R7tP;=`<%l7S!Z8OYlWb!ROX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+P!Z8qP;=`<%l5u!_8{iiSlWOX5uXZ7SZ[5u[^7S^p5uqr8trs7Sst/^tw8twx7Sx!P8t!P!Q5u!Q!]8t!]!^:j!^!a7S!a#S8t#S#T;{#T#s8t#s$f5u$f;'S8t;'S;=`>V<%l?Ah8t?Ah?BY5u?BY?Mn8t?MnO5u!_:sbiSlWb!ROX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+P!VP<%l?Ah;{?Ah?BY7S?BY?Mn;{?MnO7S!V=dXiSb!Rqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0m!V>SP;=`<%l;{!_>YP;=`<%l8t!_>dhiSlWOX@OXZAYZ[@O[^AY^p@OqrBwrsAYswBwwxAYx!PBw!P!Q@O!Q!]Bw!]!^/^!^!aAY!a#SBw#S#TE{#T#sBw#s$f@O$f;'SBw;'S;=`HS<%l?AhBw?Ah?BY@O?BY?MnBw?MnO@O!Z@TalWOX@OXZAYZ[@O[^AY^p@Oqr@OrsAYsw@OwxAYx!]@O!]!^Az!^!aAY!a#S@O#S#TAY#T;'S@O;'S;=`Bq<%lO@O!RA]UOpAYq!]AY!]!^Ao!^;'SAY;'S;=`At<%lOAY!RAtOc!R!RAwP;=`<%lAY!ZBRYlWc!ROX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+P!ZBtP;=`<%l@O!_COhiSlWOX@OXZAYZ[@O[^AY^p@OqrBwrsAYswBwwxAYx!PBw!P!Q@O!Q!]Bw!]!^Dj!^!aAY!a#SBw#S#TE{#T#sBw#s$f@O$f;'SBw;'S;=`HS<%l?AhBw?Ah?BY@O?BY?MnBw?MnO@O!_DsbiSlWc!ROX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+P!VFQbiSOpAYqrE{rsAYswE{wxAYx!PE{!P!QAY!Q!]E{!]!^GY!^!aAY!a#sE{#s$fAY$f;'SE{;'S;=`G|<%l?AhE{?Ah?BYAY?BY?MnE{?MnOAY!VGaXiSc!Rqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0m!VHPP;=`<%lE{!_HVP;=`<%lBw!ZHcW!cxaP!b`Or(trs'ksv(tw!^(t!^!_)e!_;'S(t;'S;=`*P<%lO(t!aIYliSaPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx}-_}!OKQ!O!P-_!P!Q$q!Q!^-_!^!_*V!_!a&X!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q!aK_kiSaPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx!P-_!P!Q$q!Q!^-_!^!_*V!_!`&X!`!aMS!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q!TM_XaP!b`!dp!fQOr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&X!aNZ!ZiSgQaPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx}-_}!OMz!O!PMz!P!Q$q!Q![Mz![!]Mz!]!^-_!^!_*V!_!a&X!a!c-_!c!}Mz!}#R-_#R#SMz#S#T1k#T#oMz#o#s-_#s$f$q$f$}-_$}%OMz%O%W-_%W%oMz%o%p-_%p&aMz&a&b-_&b1pMz1p4UMz4U4dMz4d4e-_4e$ISMz$IS$I`-_$I`$IbMz$Ib$Je-_$Je$JgMz$Jg$Kh-_$Kh%#tMz%#t&/x-_&/x&EtMz&Et&FV-_&FV;'SMz;'S;:j!#|;:j;=`3X<%l?&r-_?&r?AhMz?Ah?BY$q?BY?MnMz?MnO$q!a!$PP;=`<%lMz!R!$ZY!b`!dpOq*Vqr!$yrs(Vsv*Vwx)ex!a*V!a!b!4t!b;'S*V;'S;=`*s<%lO*V!R!%Q]!b`!dpOr*Vrs(Vsv*Vwx)ex}*V}!O!%y!O!f*V!f!g!']!g#W*V#W#X!0`#X;'S*V;'S;=`*s<%lO*V!R!&QX!b`!dpOr*Vrs(Vsv*Vwx)ex}*V}!O!&m!O;'S*V;'S;=`*s<%lO*V!R!&vV!b`!dp!ePOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!'dX!b`!dpOr*Vrs(Vsv*Vwx)ex!q*V!q!r!(P!r;'S*V;'S;=`*s<%lO*V!R!(WX!b`!dpOr*Vrs(Vsv*Vwx)ex!e*V!e!f!(s!f;'S*V;'S;=`*s<%lO*V!R!(zX!b`!dpOr*Vrs(Vsv*Vwx)ex!v*V!v!w!)g!w;'S*V;'S;=`*s<%lO*V!R!)nX!b`!dpOr*Vrs(Vsv*Vwx)ex!{*V!{!|!*Z!|;'S*V;'S;=`*s<%lO*V!R!*bX!b`!dpOr*Vrs(Vsv*Vwx)ex!r*V!r!s!*}!s;'S*V;'S;=`*s<%lO*V!R!+UX!b`!dpOr*Vrs(Vsv*Vwx)ex!g*V!g!h!+q!h;'S*V;'S;=`*s<%lO*V!R!+xY!b`!dpOr!+qrs!,hsv!+qvw!-Swx!.[x!`!+q!`!a!/j!a;'S!+q;'S;=`!0Y<%lO!+qq!,mV!dpOv!,hvx!-Sx!`!,h!`!a!-q!a;'S!,h;'S;=`!.U<%lO!,hP!-VTO!`!-S!`!a!-f!a;'S!-S;'S;=`!-k<%lO!-SP!-kO|PP!-nP;=`<%l!-Sq!-xS!dp|POv(Vx;'S(V;'S;=`(h<%lO(Vq!.XP;=`<%l!,ha!.aX!b`Or!.[rs!-Ssv!.[vw!-Sw!`!.[!`!a!.|!a;'S!.[;'S;=`!/d<%lO!.[a!/TT!b`|POr)esv)ew;'S)e;'S;=`)y<%lO)ea!/gP;=`<%l!.[!R!/sV!b`!dp|POr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!0]P;=`<%l!+q!R!0gX!b`!dpOr*Vrs(Vsv*Vwx)ex#c*V#c#d!1S#d;'S*V;'S;=`*s<%lO*V!R!1ZX!b`!dpOr*Vrs(Vsv*Vwx)ex#V*V#V#W!1v#W;'S*V;'S;=`*s<%lO*V!R!1}X!b`!dpOr*Vrs(Vsv*Vwx)ex#h*V#h#i!2j#i;'S*V;'S;=`*s<%lO*V!R!2qX!b`!dpOr*Vrs(Vsv*Vwx)ex#m*V#m#n!3^#n;'S*V;'S;=`*s<%lO*V!R!3eX!b`!dpOr*Vrs(Vsv*Vwx)ex#d*V#d#e!4Q#e;'S*V;'S;=`*s<%lO*V!R!4XX!b`!dpOr*Vrs(Vsv*Vwx)ex#X*V#X#Y!+q#Y;'S*V;'S;=`*s<%lO*V!R!4{Y!b`!dpOr!4trs!5ksv!4tvw!6Vwx!8]x!a!4t!a!b!:]!b;'S!4t;'S;=`!;r<%lO!4tq!5pV!dpOv!5kvx!6Vx!a!5k!a!b!7W!b;'S!5k;'S;=`!8V<%lO!5kP!6YTO!a!6V!a!b!6i!b;'S!6V;'S;=`!7Q<%lO!6VP!6lTO!`!6V!`!a!6{!a;'S!6V;'S;=`!7Q<%lO!6VP!7QOyPP!7TP;=`<%l!6Vq!7]V!dpOv!5kvx!6Vx!`!5k!`!a!7r!a;'S!5k;'S;=`!8V<%lO!5kq!7yS!dpyPOv(Vx;'S(V;'S;=`(h<%lO(Vq!8YP;=`<%l!5ka!8bX!b`Or!8]rs!6Vsv!8]vw!6Vw!a!8]!a!b!8}!b;'S!8];'S;=`!:V<%lO!8]a!9SX!b`Or!8]rs!6Vsv!8]vw!6Vw!`!8]!`!a!9o!a;'S!8];'S;=`!:V<%lO!8]a!9vT!b`yPOr)esv)ew;'S)e;'S;=`)y<%lO)ea!:YP;=`<%l!8]!R!:dY!b`!dpOr!4trs!5ksv!4tvw!6Vwx!8]x!`!4t!`!a!;S!a;'S!4t;'S;=`!;r<%lO!4t!R!;]V!b`!dpyPOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!;uP;=`<%l!4t!V!{let c=a.type.id;if(c==Zy)return bc(a,l,t);if(c==Ey)return bc(a,l,n);if(c==qy)return bc(a,l,r);if(c==Qp&&s.length){let h=a.node,f=h.firstChild,u=f&&Op(f,l),O;if(u){for(let m of s)if(m.tag==u&&(!m.attrs||m.attrs(O||(O=xp(f,l))))){let p=h.lastChild,b=p.type.id==Ly?p.from:h.to;if(b>f.to)return{parser:m.parser,overlay:[{from:f.to,to:b}]}}}}if(o&&c==bp){let h=a.node,f;if(f=h.firstChild){let u=o[l.read(f.from,f.to)];if(u)for(let O of u){if(O.tagName&&O.tagName!=Op(h.parent,l))continue;let m=h.lastChild;if(m.type.id==Sc){let p=m.from+1,b=m.lastChild,g=m.to-(b&&b.isError?0:1);if(g>p)return{parser:O.parser,overlay:[{from:p,to:g}],bracketed:!0}}else if(m.type.id==Sp)return{parser:O.parser,overlay:[{from:m.from,to:m.to}]}}}}return null})}var nk=145,wp=1,rk=146,sk=147,vp=2,ok=148,ak=3,lk=4,$p=[9,10,11,12,13,32,133,160,5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8232,8233,8239,8287,12288],ck=58,hk=40,Tp=95,fk=91,ro=45,uk=46,Ok=35,dk=37,pk=38,mk=92,gk=10,Qk=42;function Pr(i){return i>=65&&i<=90||i>=97&&i<=122||i>=161}function vc(i){return i>=48&&i<=57}function Pp(i){return vc(i)||i>=97&&i<=102||i>=65&&i<=70}var Cp=(i,e,t)=>(n,r)=>{for(let s=!1,o=0,a=0;;a++){let{next:l}=n;if(Pr(l)||l==ro||l==Tp||s&&vc(l))!s&&(l!=ro||a>0)&&(s=!0),o===a&&l==ro&&o++,n.advance();else if(l==mk&&n.peek(1)!=gk){if(n.advance(),Pp(n.next)){do n.advance();while(Pp(n.next));n.next==32&&n.advance()}else n.next>-1&&n.advance();s=!0}else{s&&n.acceptToken(o==2&&r.canShift(vp)?e:l==hk?t:i);break}}},bk=new ee(Cp(rk,vp,sk),{contextual:!0}),Sk=new ee(Cp(ok,ak,lk),{contextual:!0}),yk=new ee(i=>{if($p.includes(i.peek(-1))){let{next:e}=i;(Pr(e)||e==Tp||e==Ok||e==uk||e==Qk||e==fk||e==ck&&Pr(i.peek(1))||e==ro||e==pk)&&i.acceptToken(nk)}}),kk=new ee(i=>{if(!$p.includes(i.peek(-1))){let{next:e}=i;if(e==dk&&(i.advance(),i.acceptToken(wp)),Pr(e)){do i.advance();while(Pr(i.next)||vc(i.next));i.acceptToken(wp)}}}),xk=Qe({"AtKeyword import charset namespace keyframes media supports font-feature-values":d.definitionKeyword,"from to selector scope MatchFlag":d.keyword,NamespaceName:d.namespace,KeyframeName:d.labelName,KeyframeRangeName:d.operatorKeyword,TagName:d.tagName,ClassName:d.className,PseudoClassName:d.constant(d.className),IdName:d.labelName,"FeatureName PropertyName":d.propertyName,AttributeName:d.attributeName,NumberLiteral:d.number,KeywordQuery:d.keyword,UnaryQueryOp:d.operatorKeyword,"CallTag ValueName FontName":d.atom,VariableName:d.variableName,Callee:d.operatorKeyword,Unit:d.unit,"UniversalSelector NestingSelector":d.definitionOperator,"MatchOp CompareOp":d.compareOperator,"ChildOp SiblingOp, LogicOp":d.logicOperator,BinOp:d.arithmeticOperator,Important:d.modifier,Comment:d.blockComment,ColorLiteral:d.color,"ParenthesizedContent StringLiteral":d.string,":":d.punctuation,"PseudoOp #":d.derefOperator,"; , |":d.separator,"( )":d.paren,"[ ]":d.squareBracket,"{ }":d.brace}),wk={__proto__:null,lang:44,"nth-child":44,"nth-last-child":44,"nth-of-type":44,"nth-last-of-type":44,dir:44,"host-context":44,if:90,url:152,"url-prefix":152,domain:152,regexp:152},Pk={__proto__:null,or:104,and:104,not:112,only:112,layer:206},vk={__proto__:null,selector:118,style:124,layer:202},$k={__proto__:null,"@import":198,"@media":210,"@charset":214,"@namespace":218,"@keyframes":224,"@supports":236,"@scope":240,"@font-feature-values":246},Tk={__proto__:null,to:243},Xp=ve.deserialize({version:14,states:"MlQYQdOOO#}QdOOP$UO`OOO%OQaO'#CfOOQP'#Ce'#CeO%VQdO'#CgO%[Q`O'#CgO%aQaO'#FnO&XQdO'#CkO&xQaO'#CcO'SQdO'#CnO'_QdO'#EOO'dQdO'#EQO'oQdO'#EXO'oQdO'#E[OOQP'#Fn'#FnO)RQhO'#E}OOQS'#Fm'#FmOOQS'#FQ'#FQQYQdOOO)YQdO'#EbO*iQhO'#EhO)YQdO'#EjO*pQdO'#ElO*{QdO'#EoO)}QhO'#EuO+TQdO'#EwO+`QdO'#EzO+eQaO'#CfO+lQ`O'#E_O+qQ`O'#F{O+|QdO'#F{QOQ`OOP,WO&jO'#CaPOOO)CA])CA]OOQP'#Ci'#CiOOQP,59R,59RO%VQdO,59ROOQP'#Cm'#CmOOQP,59V,59VO&XQdO,59VO,cQdO,59YO'_QdO,5:jO'dQdO,5:lO'oQdO,5:sO'oQdO,5:uO'oQdO,5:vO'oQdO'#FXO,nQ`O,58}O,vQdO'#E^OOQS,58},58}OOQP'#Cq'#CqOOQO'#D|'#D|OOQP,59Y,59YO,}Q`O,59YO-SQ`O,59YOOQP'#EP'#EPOOQP,5:j,5:jO-XQpO'#ERO-dQdO'#ESO-iQ`O'#ESO-nQpO,5:lO.XQaO,5:sO.oQaO,5:vOOQW'#D^'#D^O/nQhO'#DgO0RQhO,5;iO)}QhO'#DeO0`Q`O'#DnO0eQhO'#DxOOQW'#Ft'#FtOOQS,5;i,5;iO0jQ`O'#DhO0oQ`O'#DkOOQS-E9O-E9OOOQ['#Cv'#CvO0tQdO'#CwO1[QdO'#C}O1rQdO'#DQO2YQ!pO'#DSO4fQ!jO,5:|OOQO'#DX'#DXO-SQ`O'#DWO4vQ!nO'#FqO6|Q`O'#DYO7RQ`O'#DyOOQ['#Fq'#FqO7WQhO'#GOO7fQ`O,5;SO7kQ!bO,5;UOOQS'#En'#EnO7sQ`O,5;WO7xQdO,5;WOOQO'#Eq'#EqO8QQ`O,5;ZO8VQhO,5;aO'oQdO'#DjOOQS,5;c,5;cO0jQ`O,5;cO8_QdO,5;cOOQS'#F`'#F`O8gQdO'#E|O7fQ`O,5;fO8oQdO,5:yO9PQdO'#FZO9^Q`O,5lQhO'#DoOOQW,5:Y,5:YOOQW,5:d,5:dOOQW,5:S,5:SO>vQhO,5:VO?bQ!fO'#FrOOQS'#Fr'#FrOOQS'#FS'#FSO@rQdO,59cOOQ[,59c,59cOAYQdO,59iOOQ[,59i,59iOApQdO,59lOOQ[,59l,59lOOQ[,59n,59nO)YQdO,59pOBWQhO'#EdOOQW'#Ed'#EdOBuQ`O1G0hO4oQhO1G0hOOQ[,59r,59rO)}QhO'#D[OOQ[,59t,59tOBzQ#tO,5:eOCVQhO'#F]OCdQ`O,5vQhO'#DmOI_QhO'#DqOIgQhO'#DsOIlQhO'#FwOOQO'#Fw'#FwOItQ!bO'#DwOOQO'#Fy'#FyOOQO'#Fv'#FvOIyQ`O1G/qOOQS-E9Q-E9QOOQ[1G.}1G.}OOQ[1G/T1G/TOOQ[1G/W1G/WOOQ[1G/[1G/[OJOQdO,5;OOOQS7+&S7+&SOJTQ`O7+&SOJYQhO'#D]OJbQ`O,59vO)}QhO,59vOOQ[1G0P1G0POJjQ`O1G0POJoQhO,5;wOOQO-E9Z-E9ZOOQS7+&^7+&^OJ}QbO'#DSOOQO'#Et'#EtOK]Q`O'#EsOOQO'#Es'#EsOKhQ`O'#F^OKpQdO,5;^OOQS,5;^,5;^OOQ[1G/p1G/pOOQS7+&i7+&iO7fQ`O7+&iOK{Q!fO'#FYO)YQdO'#FYOMSQdO7+&POOQO7+&P7+&POOQO,5:{,5:{OOQO1G1a1G1aOMgQ!bO<vQhO'#DrOOQO,5:],5:]O! hQhO,5:_OGUQhO,5:cOOQW7+%]7+%]OOQO'#Ef'#EfO! pQ`O1G0jOOQS<xAN>xO!#zQ`OAN>xO!$PQaO,5;rOOQO-E9U-E9UO!$ZQdO,5;qOOQO-E9T-E9TOOQW<vQhO'#DuOOQO1G/y1G/yO!%vQ!bO1G/}OJOQdO'#F[O!&OQ`O7+&UOOQW7+&U7+&UO!&WQ!bO1G/cOOQ[7+$|7+$|O!&cQhO7+$|P!&jQ`O'#FTOOQO,5;y,5;yOOQO-E9]-E9]OOQS1G1d1G1dOOQPG24dG24dO!&oQ`OAN>ZO)YQdO1G1[O!&tQ`O7+'jOOQO1G/x1G/xO!&|Q`O,5:aO!$eQhO7+%iOOQO,5;v,5;vOOQO-E9Y-E9YOOQW<Q!]!^>|!^!_?_!_!`@Z!`!a@n!a!b%Z!b!cAo!c!k%Z!k!lC|!l!u%Z!u!vC|!v!}%Z!}#OD_#O#P%Z#P#QDp#Q#R2X#R#]%Z#]#^ER#^#g%Z#g#hC|#h#o%Z#o#pIf#p#qIw#q#rJ`#r#sJq#s#y%Z#y#z&R#z$f%Z$f$g&R$g#BY%Z#BY#BZ&R#BZ$IS%Z$IS$I_&R$I_$I|%Z$I|$JO&R$JO$JT%Z$JT$JU&R$JU$KV%Z$KV$KW&R$KW&FU%Z&FU&FV&R&FV;'S%Z;'S;=`KY<%lO%Z`%^SOy%jz;'S%j;'S;=`%{<%lO%j`%oS!o`Oy%jz;'S%j;'S;=`%{<%lO%j`&OP;=`<%l%j~&Wh$[~OX%jX^'r^p%jpq'rqy%jz#y%j#y#z'r#z$f%j$f$g'r$g#BY%j#BY#BZ'r#BZ$IS%j$IS$I_'r$I_$I|%j$I|$JO'r$JO$JT%j$JT$JU'r$JU$KV%j$KV$KW'r$KW&FU%j&FU&FV'r&FV;'S%j;'S;=`%{<%lO%j~'yh$[~!o`OX%jX^'r^p%jpq'rqy%jz#y%j#y#z'r#z$f%j$f$g'r$g#BY%j#BY#BZ'r#BZ$IS%j$IS$I_'r$I_$I|%j$I|$JO'r$JO$JT%j$JT$JU'r$JU$KV%j$KV$KW'r$KW&FU%j&FU&FV'r&FV;'S%j;'S;=`%{<%lO%jj)jS$qYOy%jz;'S%j;'S;=`%{<%lO%j~)yWOY)vZr)vrs*cs#O)v#O#P*h#P;'S)v;'S;=`+d<%lO)v~*hOw~~*kRO;'S)v;'S;=`*t;=`O)v~*wXOY)vZr)vrs*cs#O)v#O#P*h#P;'S)v;'S;=`+d;=`<%l)v<%lO)v~+gP;=`<%l)vj+oYmYOy%jz!Q%j!Q![,_![!c%j!c!i,_!i#T%j#T#Z,_#Z;'S%j;'S;=`%{<%lO%jj,dY!o`Oy%jz!Q%j!Q![-S![!c%j!c!i-S!i#T%j#T#Z-S#Z;'S%j;'S;=`%{<%lO%jj-XY!o`Oy%jz!Q%j!Q![-w![!c%j!c!i-w!i#T%j#T#Z-w#Z;'S%j;'S;=`%{<%lO%jj.OYuY!o`Oy%jz!Q%j!Q![.n![!c%j!c!i.n!i#T%j#T#Z.n#Z;'S%j;'S;=`%{<%lO%jj.uYuY!o`Oy%jz!Q%j!Q![/e![!c%j!c!i/e!i#T%j#T#Z/e#Z;'S%j;'S;=`%{<%lO%jj/jY!o`Oy%jz!Q%j!Q![0Y![!c%j!c!i0Y!i#T%j#T#Z0Y#Z;'S%j;'S;=`%{<%lO%jj0aYuY!o`Oy%jz!Q%j!Q![1P![!c%j!c!i1P!i#T%j#T#Z1P#Z;'S%j;'S;=`%{<%lO%jj1UY!o`Oy%jz!Q%j!Q![1t![!c%j!c!i1t!i#T%j#T#Z1t#Z;'S%j;'S;=`%{<%lO%jj1{SuY!o`Oy%jz;'S%j;'S;=`%{<%lO%jd2[UOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%jd2uS!yS!o`Oy%jz;'S%j;'S;=`%{<%lO%jb3WS^QOy%jz;'S%j;'S;=`%{<%lO%j~3gWOY3dZw3dwx*cx#O3d#O#P4P#P;'S3d;'S;=`4{<%lO3d~4SRO;'S3d;'S;=`4];=`O3d~4`XOY3dZw3dwx*cx#O3d#O#P4P#P;'S3d;'S;=`4{;=`<%l3d<%lO3d~5OP;=`<%l3dj5WShYOy%jz;'S%j;'S;=`%{<%lO%j~5iOg~n5pUWQyWOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%jj6ZWyW#PQOy%jz!O%j!O!P6s!P!Q%j!Q![9x![;'S%j;'S;=`%{<%lO%jj6xU!o`Oy%jz!Q%j!Q![7[![;'S%j;'S;=`%{<%lO%jj7cY!o`$gYOy%jz!Q%j!Q![7[![!g%j!g!h8R!h#X%j#X#Y8R#Y;'S%j;'S;=`%{<%lO%jj8WY!o`Oy%jz{%j{|8v|}%j}!O8v!O!Q%j!Q![9_![;'S%j;'S;=`%{<%lO%jj8{U!o`Oy%jz!Q%j!Q![9_![;'S%j;'S;=`%{<%lO%jj9fU!o`$gYOy%jz!Q%j!Q![9_![;'S%j;'S;=`%{<%lO%jj:P[!o`$gYOy%jz!O%j!O!P7[!P!Q%j!Q![9x![!g%j!g!h8R!h#X%j#X#Y8R#Y;'S%j;'S;=`%{<%lO%jj:zS!dYOy%jz;'S%j;'S;=`%{<%lO%jj;]WyWOy%jz!O%j!O!P6s!P!Q%j!Q![9x![;'S%j;'S;=`%{<%lO%jj;zU`YOy%jz!Q%j!Q![7[![;'S%j;'S;=`%{<%lO%j~VUcYOy%jz![%j![!]>i!];'S%j;'S;=`%{<%lO%jj>pSdY!o`Oy%jz;'S%j;'S;=`%{<%lO%jj?RSnYOy%jz;'S%j;'S;=`%{<%lO%jh?dU!WWOy%jz!_%j!_!`?v!`;'S%j;'S;=`%{<%lO%jh?}S!WW!o`Oy%jz;'S%j;'S;=`%{<%lO%jl@bS!WW!ySOy%jz;'S%j;'S;=`%{<%lO%jj@uV!|Q!WWOy%jz!_%j!_!`?v!`!aA[!a;'S%j;'S;=`%{<%lO%jbAcS!|Q!o`Oy%jz;'S%j;'S;=`%{<%lO%jjArYOy%jz}%j}!OBb!O!c%j!c!}CP!}#T%j#T#oCP#o;'S%j;'S;=`%{<%lO%jjBgW!o`Oy%jz!c%j!c!}CP!}#T%j#T#oCP#o;'S%j;'S;=`%{<%lO%jjCW[lY!o`Oy%jz}%j}!OCP!O!Q%j!Q![CP![!c%j!c!}CP!}#T%j#T#oCP#o;'S%j;'S;=`%{<%lO%jhDRS!zWOy%jz;'S%j;'S;=`%{<%lO%jjDdSpYOy%jz;'S%j;'S;=`%{<%lO%jnDuSo^Oy%jz;'S%j;'S;=`%{<%lO%jjEWU!zWOy%jz#a%j#a#bEj#b;'S%j;'S;=`%{<%lO%jbEoU!o`Oy%jz#d%j#d#eFR#e;'S%j;'S;=`%{<%lO%jbFWU!o`Oy%jz#c%j#c#dFj#d;'S%j;'S;=`%{<%lO%jbFoU!o`Oy%jz#f%j#f#gGR#g;'S%j;'S;=`%{<%lO%jbGWU!o`Oy%jz#h%j#h#iGj#i;'S%j;'S;=`%{<%lO%jbGoU!o`Oy%jz#T%j#T#UHR#U;'S%j;'S;=`%{<%lO%jbHWU!o`Oy%jz#b%j#b#cHj#c;'S%j;'S;=`%{<%lO%jbHoU!o`Oy%jz#h%j#h#iIR#i;'S%j;'S;=`%{<%lO%jbIYS$pQ!o`Oy%jz;'S%j;'S;=`%{<%lO%jjIkSsYOy%jz;'S%j;'S;=`%{<%lO%jfI|U$cUOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%jjJeSrYOy%jz;'S%j;'S;=`%{<%lO%jfJvU#PQOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%j`K]P;=`<%l%Z",tokenizers:[yk,kk,bk,Sk,1,2,3,4,new Si("m~RRYZ[z{a~~g~aO$_~~dP!P!Qg~lO$`~~",28,152)],topRules:{StyleSheet:[0,6],Styles:[1,126]},dynamicPrecedences:{94:1},specialized:[{term:147,get:i=>wk[i]||-1},{term:148,get:i=>Pk[i]||-1},{term:4,get:i=>vk[i]||-1},{term:28,get:i=>$k[i]||-1},{term:146,get:i=>Tk[i]||-1}],tokenPrec:2405});var $c=null;function Tc(){if(!$c&&typeof document=="object"&&document.body){let{style:i}=document.body,e=[],t=new Set;for(let n in i)n!="cssText"&&n!="cssFloat"&&typeof i[n]=="string"&&(/[A-Z]/.test(n)&&(n=n.replace(/[A-Z]/g,r=>"-"+r.toLowerCase())),t.has(n)||(e.push(n),t.add(n)));$c=e.sort().map(n=>({type:"property",label:n,apply:n+": "}))}return $c||[]}var _p=["active","after","any-link","autofill","backdrop","before","checked","cue","default","defined","disabled","empty","enabled","file-selector-button","first","first-child","first-letter","first-line","first-of-type","focus","focus-visible","focus-within","fullscreen","has","host","host-context","hover","in-range","indeterminate","invalid","is","lang","last-child","last-of-type","left","link","marker","modal","not","nth-child","nth-last-child","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","part","placeholder","placeholder-shown","read-only","read-write","required","right","root","scope","selection","slotted","target","target-text","valid","visited","where"].map(i=>({type:"class",label:i})),Rp=["above","absolute","activeborder","additive","activecaption","after-white-space","ahead","alias","all","all-scroll","alphabetic","alternate","always","antialiased","appworkspace","asterisks","attr","auto","auto-flow","avoid","avoid-column","avoid-page","avoid-region","axis-pan","background","backwards","baseline","below","bidi-override","blink","block","block-axis","bold","bolder","border","border-box","both","bottom","break","break-all","break-word","bullets","button","button-bevel","buttonface","buttonhighlight","buttonshadow","buttontext","calc","capitalize","caps-lock-indicator","caption","captiontext","caret","cell","center","checkbox","circle","cjk-decimal","clear","clip","close-quote","col-resize","collapse","color","color-burn","color-dodge","column","column-reverse","compact","condensed","contain","content","contents","content-box","context-menu","continuous","copy","counter","counters","cover","crop","cross","crosshair","currentcolor","cursive","cyclic","darken","dashed","decimal","decimal-leading-zero","default","default-button","dense","destination-atop","destination-in","destination-out","destination-over","difference","disc","discard","disclosure-closed","disclosure-open","document","dot-dash","dot-dot-dash","dotted","double","down","e-resize","ease","ease-in","ease-in-out","ease-out","element","ellipse","ellipsis","embed","end","ethiopic-abegede-gez","ethiopic-halehame-aa-er","ethiopic-halehame-gez","ew-resize","exclusion","expanded","extends","extra-condensed","extra-expanded","fantasy","fast","fill","fill-box","fixed","flat","flex","flex-end","flex-start","footnotes","forwards","from","geometricPrecision","graytext","grid","groove","hand","hard-light","help","hidden","hide","higher","highlight","highlighttext","horizontal","hsl","hsla","hue","icon","ignore","inactiveborder","inactivecaption","inactivecaptiontext","infinite","infobackground","infotext","inherit","initial","inline","inline-axis","inline-block","inline-flex","inline-grid","inline-table","inset","inside","intrinsic","invert","italic","justify","keep-all","landscape","large","larger","left","level","lighter","lighten","line-through","linear","linear-gradient","lines","list-item","listbox","listitem","local","logical","loud","lower","lower-hexadecimal","lower-latin","lower-norwegian","lowercase","ltr","luminosity","manipulation","match","matrix","matrix3d","medium","menu","menutext","message-box","middle","min-intrinsic","mix","monospace","move","multiple","multiple_mask_images","multiply","n-resize","narrower","ne-resize","nesw-resize","no-close-quote","no-drop","no-open-quote","no-repeat","none","normal","not-allowed","nowrap","ns-resize","numbers","numeric","nw-resize","nwse-resize","oblique","opacity","open-quote","optimizeLegibility","optimizeSpeed","outset","outside","outside-shape","overlay","overline","padding","padding-box","painted","page","paused","perspective","pinch-zoom","plus-darker","plus-lighter","pointer","polygon","portrait","pre","pre-line","pre-wrap","preserve-3d","progress","push-button","radial-gradient","radio","read-only","read-write","read-write-plaintext-only","rectangle","region","relative","repeat","repeating-linear-gradient","repeating-radial-gradient","repeat-x","repeat-y","reset","reverse","rgb","rgba","ridge","right","rotate","rotate3d","rotateX","rotateY","rotateZ","round","row","row-resize","row-reverse","rtl","run-in","running","s-resize","sans-serif","saturation","scale","scale3d","scaleX","scaleY","scaleZ","screen","scroll","scrollbar","scroll-position","se-resize","self-start","self-end","semi-condensed","semi-expanded","separate","serif","show","single","skew","skewX","skewY","skip-white-space","slide","slider-horizontal","slider-vertical","sliderthumb-horizontal","sliderthumb-vertical","slow","small","small-caps","small-caption","smaller","soft-light","solid","source-atop","source-in","source-out","source-over","space","space-around","space-between","space-evenly","spell-out","square","start","static","status-bar","stretch","stroke","stroke-box","sub","subpixel-antialiased","svg_masks","super","sw-resize","symbolic","symbols","system-ui","table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row","table-row-group","text","text-bottom","text-top","textarea","textfield","thick","thin","threeddarkshadow","threedface","threedhighlight","threedlightshadow","threedshadow","to","top","transform","translate","translate3d","translateX","translateY","translateZ","transparent","ultra-condensed","ultra-expanded","underline","unidirectional-pan","unset","up","upper-latin","uppercase","url","var","vertical","vertical-text","view-box","visible","visibleFill","visiblePainted","visibleStroke","visual","w-resize","wait","wave","wider","window","windowframe","windowtext","words","wrap","wrap-reverse","x-large","x-small","xor","xx-large","xx-small"].map(i=>({type:"keyword",label:i})).concat(["aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","grey","green","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen"].map(i=>({type:"constant",label:i}))),Ck=["a","abbr","address","article","aside","b","bdi","bdo","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","dd","del","details","dfn","dialog","div","dl","dt","em","figcaption","figure","footer","form","header","hgroup","h1","h2","h3","h4","h5","h6","hr","html","i","iframe","img","input","ins","kbd","label","legend","li","main","meter","nav","ol","output","p","pre","ruby","section","select","small","source","span","strong","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","tr","u","ul"].map(i=>({type:"type",label:i})),Xk=["@charset","@color-profile","@container","@counter-style","@font-face","@font-feature-values","@font-palette-values","@import","@keyframes","@layer","@media","@namespace","@page","@position-try","@property","@scope","@starting-style","@supports","@view-transition"].map(i=>({type:"keyword",label:i})),Gt=/^(\w[\w-]*|-\w[\w-]*|)$/,_k=/^-(-[\w-]*)?$/;function Rk(i,e){var t;if((i.name=="("||i.type.isError)&&(i=i.parent||i),i.name!="ArgList")return!1;let n=(t=i.parent)===null||t===void 0?void 0:t.firstChild;return n?.name!="Callee"?!1:e.sliceString(n.from,n.to)=="var"}var Ap=new Oi,Ak=["Declaration"];function Zk(i){for(let e=i;;){if(e.type.isTop)return e;if(!(e=e.parent))return i}}function Zp(i,e,t){if(e.to-e.from>4096){let n=Ap.get(e);if(n)return n;let r=[],s=new Set,o=e.cursor(te.IncludeAnonymous);if(o.firstChild())do for(let a of Zp(i,o.node,t))s.has(a.label)||(s.add(a.label),r.push(a));while(o.nextSibling());return Ap.set(e,r),r}else{let n=[],r=new Set;return e.cursor().iterate(s=>{var o;if(t(s)&&s.matchContext(Ak)&&((o=s.node.nextSibling)===null||o===void 0?void 0:o.name)==":"){let a=i.sliceString(s.from,s.to);r.has(a)||(r.add(a),n.push({label:a,type:"variable"}))}}),n}}var Ek=i=>e=>{let{state:t,pos:n}=e,r=U(t).resolveInner(n,-1),s=r.type.isError&&r.from==r.to-1&&t.doc.sliceString(r.from,r.to)=="-";if(r.name=="PropertyName"||(s||r.name=="TagName")&&/^(Block|Styles)$/.test(r.resolve(r.to).name))return{from:r.from,options:Tc(),validFor:Gt};if(r.name=="ValueName")return{from:r.from,options:Rp,validFor:Gt};if(r.name=="PseudoClassName")return{from:r.from,options:_p,validFor:Gt};if(i(r)||(e.explicit||s)&&Rk(r,t.doc))return{from:i(r)||s?r.from:n,options:Zp(t.doc,Zk(r),i),validFor:_k};if(r.name=="TagName"){for(let{parent:l}=r;l;l=l.parent)if(l.name=="Block")return{from:r.from,options:Tc(),validFor:Gt};return{from:r.from,options:Ck,validFor:Gt}}if(r.name=="AtKeyword")return{from:r.from,options:Xk,validFor:Gt};if(!e.explicit)return null;let o=r.resolve(n),a=o.childBefore(n);return a&&a.name==":"&&o.name=="PseudoClassSelector"?{from:n,options:_p,validFor:Gt}:a&&a.name==":"&&o.name=="Declaration"||o.name=="ArgList"?{from:n,options:Rp,validFor:Gt}:o.name=="Block"||o.name=="Styles"?{from:n,options:Tc(),validFor:Gt}:null},qk=Ek(i=>i.name=="VariableName"),vr=Xe.define({name:"css",parser:Xp.configure({props:[Pe.add({Declaration:Bt()}),_e.add({"Block KeyframeList":ut})]}),languageData:{commentTokens:{block:{open:"/*",close:"*/"}},indentOnInput:/^\s*\}$/,wordChars:"-"}});function so(){return new me(vr,vr.data.of({autocomplete:qk}))}var zk=316,Lk=317,Ep=1,Mk=2,Wk=3,jk=4,Vk=318,Dk=320,Yk=321,Ik=5,Bk=6,Uk=0,Xc=[9,10,11,12,13,32,133,160,5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8232,8233,8239,8287,12288],qp=125,Gk=59,_c=47,Nk=42,Fk=43,Hk=45,Kk=60,Jk=44,e1=63,t1=46,i1=91,n1=new mt({start:!1,shift(i,e){return e==Ik||e==Bk||e==Dk?i:e==Yk},strict:!1}),r1=new ee((i,e)=>{let{next:t}=i;(t==qp||t==-1||e.context)&&i.acceptToken(Vk)},{contextual:!0,fallback:!0}),s1=new ee((i,e)=>{let{next:t}=i,n;Xc.indexOf(t)>-1||t==_c&&((n=i.peek(1))==_c||n==Nk)||t!=qp&&t!=Gk&&t!=-1&&!e.context&&i.acceptToken(zk)},{contextual:!0}),o1=new ee((i,e)=>{i.next==i1&&!e.context&&i.acceptToken(Lk)},{contextual:!0}),a1=new ee((i,e)=>{let{next:t}=i;if(t==Fk||t==Hk){if(i.advance(),t==i.next){i.advance();let n=!e.context&&e.canShift(Ep);i.acceptToken(n?Ep:Mk)}}else t==e1&&i.peek(1)==t1&&(i.advance(),i.advance(),(i.next<48||i.next>57)&&i.acceptToken(Wk))},{contextual:!0});function Cc(i,e){return i>=65&&i<=90||i>=97&&i<=122||i==95||i>=192||!e&&i>=48&&i<=57}var l1=new ee((i,e)=>{if(i.next!=Kk||!e.dialectEnabled(Uk)||(i.advance(),i.next==_c))return;let t=0;for(;Xc.indexOf(i.next)>-1;)i.advance(),t++;if(Cc(i.next,!0)){for(i.advance(),t++;Cc(i.next,!1);)i.advance(),t++;for(;Xc.indexOf(i.next)>-1;)i.advance(),t++;if(i.next==Jk)return;for(let n=0;;n++){if(n==7){if(!Cc(i.next,!0))return;break}if(i.next!="extends".charCodeAt(n))break;i.advance(),t++}}i.acceptToken(jk,-t)}),c1=Qe({"get set async static":d.modifier,"for while do if else switch try catch finally return throw break continue default case defer":d.controlKeyword,"in of await yield void typeof delete instanceof as satisfies":d.operatorKeyword,"let var const using function class extends":d.definitionKeyword,"import export from":d.moduleKeyword,"with debugger new":d.keyword,TemplateString:d.special(d.string),super:d.atom,BooleanLiteral:d.bool,this:d.self,null:d.null,Star:d.modifier,VariableName:d.variableName,"CallExpression/VariableName TaggedTemplateExpression/VariableName":d.function(d.variableName),VariableDefinition:d.definition(d.variableName),Label:d.labelName,PropertyName:d.propertyName,PrivatePropertyName:d.special(d.propertyName),"CallExpression/MemberExpression/PropertyName":d.function(d.propertyName),"FunctionDeclaration/VariableDefinition":d.function(d.definition(d.variableName)),"ClassDeclaration/VariableDefinition":d.definition(d.className),"NewExpression/VariableName":d.className,PropertyDefinition:d.definition(d.propertyName),PrivatePropertyDefinition:d.definition(d.special(d.propertyName)),UpdateOp:d.updateOperator,"LineComment Hashbang":d.lineComment,BlockComment:d.blockComment,Number:d.number,String:d.string,Escape:d.escape,ArithOp:d.arithmeticOperator,LogicOp:d.logicOperator,BitOp:d.bitwiseOperator,CompareOp:d.compareOperator,RegExp:d.regexp,Equals:d.definitionOperator,Arrow:d.function(d.punctuation),": Spread":d.punctuation,"( )":d.paren,"[ ]":d.squareBracket,"{ }":d.brace,"InterpolationStart InterpolationEnd":d.special(d.brace),".":d.derefOperator,", ;":d.separator,"@":d.meta,TypeName:d.typeName,TypeDefinition:d.definition(d.typeName),"type enum interface implements namespace module declare":d.definitionKeyword,"abstract global Privacy readonly override":d.modifier,"is keyof unique infer asserts":d.operatorKeyword,JSXAttributeValue:d.attributeValue,JSXText:d.content,"JSXStartTag JSXStartCloseTag JSXSelfCloseEndTag JSXEndTag":d.angleBracket,"JSXIdentifier JSXNameSpacedName":d.tagName,"JSXAttribute/JSXIdentifier JSXAttribute/JSXNameSpacedName":d.attributeName,"JSXBuiltin/JSXIdentifier":d.standard(d.tagName)}),h1={__proto__:null,export:20,as:25,from:33,default:36,async:41,function:42,in:52,out:55,const:56,extends:60,this:64,true:72,false:72,null:84,void:88,typeof:92,super:108,new:142,delete:154,yield:163,await:167,class:172,public:235,private:235,protected:235,readonly:237,instanceof:256,satisfies:259,import:292,keyof:349,unique:353,infer:359,asserts:395,is:397,abstract:417,implements:419,type:421,let:424,var:426,using:429,interface:435,enum:439,namespace:445,module:447,declare:451,global:455,defer:471,for:476,of:485,while:488,with:492,do:496,if:500,else:502,switch:506,case:512,try:518,catch:522,finally:526,return:530,throw:534,break:538,continue:542,debugger:546},f1={__proto__:null,async:129,get:131,set:133,declare:195,public:197,private:197,protected:197,static:199,abstract:201,override:203,readonly:209,accessor:211,new:401},u1={__proto__:null,"<":193},zp=ve.deserialize({version:14,states:"$F|Q%TQlOOO%[QlOOO'_QpOOP(lO`OOO*zQ!0MxO'#CiO+RO#tO'#CjO+aO&jO'#CjO+oO#@ItO'#DaO.QQlO'#DgO.bQlO'#DrO%[QlO'#DzO0fQlO'#ESOOQ!0Lf'#E['#E[O1PQ`O'#EXOOQO'#Ep'#EpOOQO'#Il'#IlO1XQ`O'#GsO1dQ`O'#EoO1iQ`O'#EoO3hQ!0MxO'#JrO6[Q!0MxO'#JsO6uQ`O'#F]O6zQ,UO'#FtOOQ!0Lf'#Ff'#FfO7VO7dO'#FfO9XQMhO'#F|O9`Q`O'#F{OOQ!0Lf'#Js'#JsOOQ!0Lb'#Jr'#JrO9eQ`O'#GwOOQ['#K_'#K_O9pQ`O'#IYO9uQ!0LrO'#IZOOQ['#J`'#J`OOQ['#I_'#I_Q`QlOOQ`QlOOO9}Q!L^O'#DvO:UQlO'#EOO:]QlO'#EQO9kQ`O'#GsO:dQMhO'#CoO:rQ`O'#EnO:}Q`O'#EyO;hQMhO'#FeO;xQ`O'#GsOOQO'#K`'#K`O;}Q`O'#K`O<]Q`O'#G{O<]Q`O'#G|O<]Q`O'#HOO9kQ`O'#HRO=SQ`O'#HUO>kQ`O'#CeO>{Q`O'#HcO?TQ`O'#HiO?TQ`O'#HkO`QlO'#HmO?TQ`O'#HoO?TQ`O'#HrO?YQ`O'#HxO?_Q!0LsO'#IOO%[QlO'#IQO?jQ!0LsO'#ISO?uQ!0LsO'#IUO9uQ!0LrO'#IWO@QQ!0MxO'#CiOASQpO'#DlQOQ`OOO%[QlO'#EQOAjQ`O'#ETO:dQMhO'#EnOAuQ`O'#EnOBQQ!bO'#FeOOQ['#Cg'#CgOOQ!0Lb'#Dq'#DqOOQ!0Lb'#Jv'#JvO%[QlO'#JvOOQO'#Jy'#JyOOQO'#Ih'#IhOCQQpO'#EgOOQ!0Lb'#Ef'#EfOOQ!0Lb'#J}'#J}OC|Q!0MSO'#EgODWQpO'#EWOOQO'#Jx'#JxODlQpO'#JyOEyQpO'#EWODWQpO'#EgPFWO&2DjO'#CbPOOO)CD})CD}OOOO'#I`'#I`OFcO#tO,59UOOQ!0Lh,59U,59UOOOO'#Ia'#IaOFqO&jO,59UOGPQ!L^O'#DcOOOO'#Ic'#IcOGWO#@ItO,59{OOQ!0Lf,59{,59{OGfQlO'#IdOGyQ`O'#JtOIxQ!fO'#JtO+}QlO'#JtOJPQ`O,5:ROJgQ`O'#EpOJtQ`O'#KTOKPQ`O'#KSOKPQ`O'#KSOKXQ`O,5;^OK^Q`O'#KROOQ!0Ln,5:^,5:^OKeQlO,5:^OMcQ!0MxO,5:fONSQ`O,5:nONmQ!0LrO'#KQONtQ`O'#KPO9eQ`O'#KPO! YQ`O'#KPO! bQ`O,5;]O! gQ`O'#KPO!#lQ!fO'#JsOOQ!0Lh'#Ci'#CiO%[QlO'#ESO!$[Q!fO,5:sOOQS'#Jz'#JzOOQO-EtOOQ['#Jh'#JhOOQ[,5>u,5>uOOQ[-E<]-E<]O!TO`QlO,5>VO!LOQ`O,5>XO`QlO,5>ZO!LTQ`O,5>^O!LYQlO,5>dOOQ[,5>j,5>jO%[QlO,5>jO9uQ!0LrO,5>lOOQ[,5>n,5>nO#!dQ`O,5>nOOQ[,5>p,5>pO#!dQ`O,5>pOOQ[,5>r,5>rO##QQpO'#D_O%[QlO'#JvO##sQpO'#JvO##}QpO'#DmO#$`QpO'#DmO#&qQlO'#DmO#&xQ`O'#JuO#'QQ`O,5:WO#'VQ`O'#EtO#'eQ`O'#KUO#'mQ`O,5;_O#'rQpO'#DmO#(PQpO'#EVOOQ!0Lf,5:o,5:oO%[QlO,5:oO#(WQ`O,5:oO?YQ`O,5;YO!CUQpO,5;YO!C^QMhO,5;YO:dQMhO,5;YO#(`Q`O,5@bO#(eQ07dO,5:sOOQO-EPO$6^Q`O,5>POOQ[1G3i1G3iO`QlO1G3iOOQ[1G3o1G3oOOQ[1G3q1G3qO?TQ`O1G3sO$6cQlO1G3uO$:gQlO'#HtOOQ[1G3x1G3xO$:tQ`O'#HzO?YQ`O'#H|OOQ[1G4O1G4OO$:|QlO1G4OO9uQ!0LrO1G4UOOQ[1G4W1G4WOOQ!0Lb'#G_'#G_O9uQ!0LrO1G4YO9uQ!0LrO1G4[O$?TQ`O,5@bO!)[QlO,5;`O9eQ`O,5;`O?YQ`O,5:XO!)[QlO,5:XO!CUQpO,5:XO$?YQ?MtO,5:XOOQO,5;`,5;`O$?dQpO'#IeO$?zQ`O,5@aOOQ!0Lf1G/r1G/rO$@SQpO'#IkO$@^Q`O,5@pOOQ!0Lb1G0y1G0yO#$`QpO,5:XOOQO'#Ig'#IgO$@fQpO,5:qOOQ!0Ln,5:q,5:qO#(ZQ`O1G0ZOOQ!0Lf1G0Z1G0ZO%[QlO1G0ZOOQ!0Lf1G0t1G0tO?YQ`O1G0tO!CUQpO1G0tO!C^QMhO1G0tOOQ!0Lb1G5|1G5|O!ByQ!0LrO1G0^OOQO1G0m1G0mO%[QlO1G0mO$@mQ!0LrO1G0mO$@xQ!0LrO1G0mO!CUQpO1G0^ODWQpO1G0^O$AWQ!0LrO1G0mOOQO1G0^1G0^O$AlQ!0MxO1G0mPOOO-E<[-E<[POOO1G.h1G.hOOOO1G/i1G/iO$AvQ!bO,5QQpO,5@}OOQ!0Lb1G3c1G3cOOQ[7+$V7+$VO@zQ`O7+$VO9uQ!0LrO7+$VO%>]Q`O7+$VO%[QlO1G6lO%[QlO1G6mO%>bQ!0LrO1G6lO%>lQlO1G3kO%>sQ`O1G3kO%>xQlO1G3kOOQ[7+)T7+)TO9uQ!0LrO7+)_O`QlO7+)aOOQ['#Kh'#KhOOQ['#JS'#JSO%?PQlO,5>`OOQ[,5>`,5>`O%[QlO'#HuO%?^Q`O'#HwOOQ[,5>f,5>fO9eQ`O,5>fOOQ[,5>h,5>hOOQ[7+)j7+)jOOQ[7+)p7+)pOOQ[7+)t7+)tOOQ[7+)v7+)vO%?cQpO1G5|O%?}Q?MtO1G0zO%@XQ`O1G0zOOQO1G/s1G/sO%@dQ?MtO1G/sO?YQ`O1G/sO!)[QlO'#DmOOQO,5?P,5?POOQO-ERQ`O7+,WO&>WQ`O7+,XO%[QlO7+,WO%[QlO7+,XOOQ[7+)V7+)VO&>]Q`O7+)VO&>bQlO7+)VO&>iQ`O7+)VOOQ[<nQ`O,5>aOOQ[,5>c,5>cO&>sQ`O1G4QO9eQ`O7+&fO!)[QlO7+&fOOQO7+%_7+%_O&>xQ?MtO1G6ZO?YQ`O7+%_OOQ!0Lf<yQ?MvO,5?aO'@|Q?MvO,5?cO'CPQ?MvO7+'|O'DuQMjOG27TOOQO<VO!l$xO#jROe!iOpkOrPO(T)]O(VTO(YUO(aVO(o[O~O!]$_Oa$qa'z$qa'w$qa!k$qa!Y$qa!_$qa%i$qa!g$qa~Ol)dO~P!&zOh%VOp%WOr%XOs$tOt$tOz%YO|%ZO!O%]O!S${O!_$|O!i%bO!l$xO#j%cO$W%`O$t%^O$v%_O$y%aO(T(vO(VTO(YUO(a$uO(y$}O(z%PO~Og(pP~P!,TO!Q)iO!g)hO!_$^X$Z$^X$]$^X$_$^X$f$^X~O!g)hO!_({X$Z({X$]({X$_({X$f({X~O!Q)iO~P!.^O!Q)iO!_({X$Z({X$]({X$_({X$f({X~O!_)kO$Z)oO$])jO$_)jO$f)pO~O![)sO~P!)[O$]$hO$_$gO$f)wO~On$zX!Q$zX#S$zX'y$zX(y$zX(z$zX~OgmXg$zXnmX!]mX#`mX~P!0SOx)yO(b)zO(c)|O~On*VO!Q*OO'y*PO(y$}O(z%PO~Og)}O~P!1WOg*WO~Oh%VOr%XOs$tOt$tOz%YO|%ZO!OVO!l$xO#jVO!l$xO#jROe!iOpkOrPO(VTO(YUO(aVO(o[O~O(T=QO~P#$qO!]-]O!^(iX~O!^-_O~O!g-VO#`-UO!]#hX!^#hX~O!]-`O!^(xX~O!^-bO~O!c-cO!d-cO(U!lO~P#$`O!^-fO~P'_On-iO!_'`O~O!Y-nO~Os!{a!b!{a!c!{a!d!{a#T!{a#U!{a#V!{a#W!{a#X!{a#[!{a#]!{a(U!{a(V!{a(Y!{a(e!{a(o!{a~P!#vO!p-sO#`-qO~PChO!c-uO!d-uO(U!lO~PDWOa%nO#`-qO'z%nO~Oa%nO!g#vO#`-qO'z%nO~Oa%nO!g#vO!p-sO#`-qO'z%nO(r'pO~O(P'xO(Q'xO(R-zO~Ov-{O~O!Y'Wa!]'Wa~P!:tO![.PO!Y'WX!]'WX~P%[O!](VO!Y(ha~O!Y(ha~PHRO!](^O!Y(va~O!S%hO![.TO!_%iO(T%gO!Y'^X!]'^X~O#`.VO!](ta!k(taa(ta'z(ta~O!g#vO~P#,wO!](jO!k(sa~O!S%hO!_%iO#j.ZO(T%gO~Op.`O!S%hO![.]O!_%iO!|]O#i._O#j.]O(T%gO!]'aX!k'aX~OR.dO!l#xO~Oh%VOn.gO!_'`O%i.fO~Oa#ci!]#ci'z#ci'w#ci!Y#ci!k#civ#ci!_#ci%i#ci!g#ci~P!:tOn>]O!Q*OO'y*PO(y$}O(z%PO~O#k#_aa#_a#`#_a'z#_a!]#_a!k#_a!_#_a!Y#_a~P#/sO#k(`XP(`XR(`X[(`Xa(`Xj(`Xr(`X!S(`X!l(`X!p(`X#R(`X#n(`X#o(`X#p(`X#q(`X#r(`X#s(`X#t(`X#u(`X#v(`X#x(`X#z(`X#{(`X'z(`X(a(`X(r(`X!k(`X!Y(`X'w(`Xv(`X!_(`X%i(`X!g(`X~P!6kO!].tO!k(kX~P!:tO!k.wO~O!Y.yO~OP$[OR#zO!Q#yO!S#{O!l#xO!p$[O(aVO[#mia#mij#mir#mi!]#mi#R#mi#o#mi#p#mi#q#mi#r#mi#s#mi#t#mi#u#mi#v#mi#x#mi#z#mi#{#mi'z#mi(r#mi(y#mi(z#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#n#mi~P#3cO#n$OO~P#3cOP$[OR#zOr$aO!Q#yO!S#{O!l#xO!p$[O#n$OO#o$PO#p$PO#q$PO(aVO[#mia#mij#mi!]#mi#R#mi#s#mi#t#mi#u#mi#v#mi#x#mi#z#mi#{#mi'z#mi(r#mi(y#mi(z#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#r#mi~P#6QO#r$QO~P#6QOP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO(aVOa#mi!]#mi#x#mi#z#mi#{#mi'z#mi(r#mi(y#mi(z#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#v#mi~P#8oOP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO#v$SO(aVO(z#}Oa#mi!]#mi#z#mi#{#mi'z#mi(r#mi(y#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#x$UO~P#;VO#x#mi~P#;VO#v$SO~P#8oOP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO#v$SO#x$UO(aVO(y#|O(z#}Oa#mi!]#mi#{#mi'z#mi(r#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#z#mi~P#={O#z$WO~P#={OP]XR]X[]Xj]Xr]X!Q]X!S]X!l]X!p]X#R]X#S]X#`]X#kfX#n]X#o]X#p]X#q]X#r]X#s]X#t]X#u]X#v]X#x]X#z]X#{]X$Q]X(a]X(r]X(y]X(z]X!]]X!^]X~O$O]X~P#@jOP$[OR#zO[]O!Q*OO'y*PO(y$}O(z%POP#miR#mi!S#mi!l#mi!p#mi#n#mi#o#mi#p#mi#q#mi(a#mi~P#EyO!]/POg(pX~P!1WOg/RO~Oa$Pi!]$Pi'z$Pi'w$Pi!Y$Pi!k$Piv$Pi!_$Pi%i$Pi!g$Pi~P!:tO$]/SO$_/SO~O$]/TO$_/TO~O!g)hO#`/UO!_$cX$Z$cX$]$cX$_$cX$f$cX~O![/VO~O!_)kO$Z/XO$])jO$_)jO$f/YO~O!]VO!l$xO#j^O!Q*OO'y*PO(y$}O(z%POP#miR#mi!S#mi!l#mi!p#mi#n#mi#o#mi#p#mi#q#mi(a#mi~P&,QO#S$dOP(`XR(`X[(`Xj(`Xn(`Xr(`X!Q(`X!S(`X!l(`X!p(`X#R(`X#n(`X#o(`X#p(`X#q(`X#r(`X#s(`X#t(`X#u(`X#v(`X#x(`X#z(`X#{(`X$O(`X'y(`X(a(`X(r(`X(y(`X(z(`X!](`X!^(`X~O$O$Pi!]$Pi!^$Pi~P#BwO$O!ri!^!ri~P$+oOg']a!]']a~P!1WO!^7nO~O!]'da!^'da~P#BwO!Y7oO~P#/sO!g#vO(r'pO!]'ea!k'ea~O!]/pO!k)Oi~O!]/pO!g#vO!k)Oi~Og$|q!]$|q#`$|q$O$|q~P!1WO!Y'ga!]'ga~P#/sO!g7vO~O!]/yO!Y)Pi~P#/sO!]/yO!Y)Pi~O!Y7yO~Oh%VOr8OO!l%eO(r'pO~Oj8QO!g#vO~Or8TO!g#vO(r'pO~O!Q*OO'y*PO(z%POn'ja(y'ja!]'ja#`'ja~Og'ja$O'ja~P&5RO!Q*OO'y*POn'la(y'la(z'la!]'la#`'la~Og'la$O'la~P&5tOg(_q!](_q~P!1WO#`8VOg(_q!](_q~P!1WO!Y8WO~Og%Oq!]%Oq#`%Oq$O%Oq~P!1WOa$oy!]$oy'z$oy'w$oy!Y$oy!k$oyv$oy!_$oy%i$oy!g$oy~P!:tO!g6rO~O!]5[O!_)Qa~O!_'`OP$TaR$Ta[$Taj$Tar$Ta!Q$Ta!S$Ta!]$Ta!l$Ta!p$Ta#R$Ta#n$Ta#o$Ta#p$Ta#q$Ta#r$Ta#s$Ta#t$Ta#u$Ta#v$Ta#x$Ta#z$Ta#{$Ta(a$Ta(r$Ta(y$Ta(z$Ta~O%i7WO~P&8fO%^8[Oa%[i!_%[i'z%[i!]%[i~Oa#cy!]#cy'z#cy'w#cy!Y#cy!k#cyv#cy!_#cy%i#cy!g#cy~P!:tO[8^O~Ob8`O(T+qO(VTO(YUO~O!]1TO!^)Xi~O`8dO~O(e(|O!]'pX!^'pX~O!]5uO!^)Ua~O!^8nO~P%;eO(o!sO~P$&YO#[8oO~O!_1oO~O!_1oO%i8qO~On8tO!_1oO%i8qO~O[8yO!]'sa!^'sa~O!]1zO!^)Vi~O!k8}O~O!k9OO~O!k9RO~O!k9RO~P%[Oa9TO~O!g9UO~O!k9VO~O!](wi!^(wi~P#BwOa%nO#`9_O'z%nO~O!](ty!k(tya(ty'z(ty~P!:tO!](jO!k(sy~O%i9bO~P&8fO!_'`O%i9bO~O#k$|qP$|qR$|q[$|qa$|qj$|qr$|q!S$|q!]$|q!l$|q!p$|q#R$|q#n$|q#o$|q#p$|q#q$|q#r$|q#s$|q#t$|q#u$|q#v$|q#x$|q#z$|q#{$|q'z$|q(a$|q(r$|q!k$|q!Y$|q'w$|q#`$|qv$|q!_$|q%i$|q!g$|q~P#/sO#k'jaP'jaR'ja['jaa'jaj'jar'ja!S'ja!l'ja!p'ja#R'ja#n'ja#o'ja#p'ja#q'ja#r'ja#s'ja#t'ja#u'ja#v'ja#x'ja#z'ja#{'ja'z'ja(a'ja(r'ja!k'ja!Y'ja'w'jav'ja!_'ja%i'ja!g'ja~P&5RO#k'laP'laR'la['laa'laj'lar'la!S'la!l'la!p'la#R'la#n'la#o'la#p'la#q'la#r'la#s'la#t'la#u'la#v'la#x'la#z'la#{'la'z'la(a'la(r'la!k'la!Y'la'w'lav'la!_'la%i'la!g'la~P&5tO#k%OqP%OqR%Oq[%Oqa%Oqj%Oqr%Oq!S%Oq!]%Oq!l%Oq!p%Oq#R%Oq#n%Oq#o%Oq#p%Oq#q%Oq#r%Oq#s%Oq#t%Oq#u%Oq#v%Oq#x%Oq#z%Oq#{%Oq'z%Oq(a%Oq(r%Oq!k%Oq!Y%Oq'w%Oq#`%Oqv%Oq!_%Oq%i%Oq!g%Oq~P#/sO!]'Yi!k'Yi~P!:tO$O#cq!]#cq!^#cq~P#BwO(y$}OP%aaR%aa[%aaj%aar%aa!S%aa!l%aa!p%aa#R%aa#n%aa#o%aa#p%aa#q%aa#r%aa#s%aa#t%aa#u%aa#v%aa#x%aa#z%aa#{%aa$O%aa(a%aa(r%aa!]%aa!^%aa~On%aa!Q%aa'y%aa(z%aa~P&IyO(z%POP%caR%ca[%caj%car%ca!S%ca!l%ca!p%ca#R%ca#n%ca#o%ca#p%ca#q%ca#r%ca#s%ca#t%ca#u%ca#v%ca#x%ca#z%ca#{%ca$O%ca(a%ca(r%ca!]%ca!^%ca~On%ca!Q%ca'y%ca(y%ca~P&LQOn>^O!Q*OO'y*PO(z%PO~P&IyOn>^O!Q*OO'y*PO(y$}O~P&LQOR0kO!Q0kO!S0lO#S$dOP}a[}aj}an}ar}a!l}a!p}a#R}a#n}a#o}a#p}a#q}a#r}a#s}a#t}a#u}a#v}a#x}a#z}a#{}a$O}a'y}a(a}a(r}a(y}a(z}a!]}a!^}a~O!Q*OO'y*POP$saR$sa[$saj$san$sar$sa!S$sa!l$sa!p$sa#R$sa#n$sa#o$sa#p$sa#q$sa#r$sa#s$sa#t$sa#u$sa#v$sa#x$sa#z$sa#{$sa$O$sa(a$sa(r$sa(y$sa(z$sa!]$sa!^$sa~O!Q*OO'y*POP$uaR$ua[$uaj$uan$uar$ua!S$ua!l$ua!p$ua#R$ua#n$ua#o$ua#p$ua#q$ua#r$ua#s$ua#t$ua#u$ua#v$ua#x$ua#z$ua#{$ua$O$ua(a$ua(r$ua(y$ua(z$ua!]$ua!^$ua~On>^O!Q*OO'y*PO(y$}O(z%PO~OP%TaR%Ta[%Taj%Tar%Ta!S%Ta!l%Ta!p%Ta#R%Ta#n%Ta#o%Ta#p%Ta#q%Ta#r%Ta#s%Ta#t%Ta#u%Ta#v%Ta#x%Ta#z%Ta#{%Ta$O%Ta(a%Ta(r%Ta!]%Ta!^%Ta~P''VO$O$mq!]$mq!^$mq~P#BwO$O$oq!]$oq!^$oq~P#BwO!^9oO~O$O9pO~P!1WO!g#vO!]'ei!k'ei~O!g#vO(r'pO!]'ei!k'ei~O!]/pO!k)Oq~O!Y'gi!]'gi~P#/sO!]/yO!Y)Pq~Or9wO!g#vO(r'pO~O[9yO!Y9xO~P#/sO!Y9xO~Oj:PO!g#vO~Og(_y!](_y~P!1WO!]'na!_'na~P#/sOa%[q!_%[q'z%[q!]%[q~P#/sO[:UO~O!]1TO!^)Xq~O`:YO~O#`:ZO!]'pa!^'pa~O!]5uO!^)Ui~P#BwO!S:]O~O!_1oO%i:`O~O(VTO(YUO(e:eO~O!]1zO!^)Vq~O!k:hO~O!k:iO~O!k:jO~O!k:jO~P%[O#`:mO!]#hy!^#hy~O!]#hy!^#hy~P#BwO%i:rO~P&8fO!_'`O%i:rO~O$O#|y!]#|y!^#|y~P#BwOP$|iR$|i[$|ij$|ir$|i!S$|i!l$|i!p$|i#R$|i#n$|i#o$|i#p$|i#q$|i#r$|i#s$|i#t$|i#u$|i#v$|i#x$|i#z$|i#{$|i$O$|i(a$|i(r$|i!]$|i!^$|i~P''VO!Q*OO'y*PO(z%POP'iaR'ia['iaj'ian'iar'ia!S'ia!l'ia!p'ia#R'ia#n'ia#o'ia#p'ia#q'ia#r'ia#s'ia#t'ia#u'ia#v'ia#x'ia#z'ia#{'ia$O'ia(a'ia(r'ia(y'ia!]'ia!^'ia~O!Q*OO'y*POP'kaR'ka['kaj'kan'kar'ka!S'ka!l'ka!p'ka#R'ka#n'ka#o'ka#p'ka#q'ka#r'ka#s'ka#t'ka#u'ka#v'ka#x'ka#z'ka#{'ka$O'ka(a'ka(r'ka(y'ka(z'ka!]'ka!^'ka~O(y$}OP%aiR%ai[%aij%ain%air%ai!Q%ai!S%ai!l%ai!p%ai#R%ai#n%ai#o%ai#p%ai#q%ai#r%ai#s%ai#t%ai#u%ai#v%ai#x%ai#z%ai#{%ai$O%ai'y%ai(a%ai(r%ai(z%ai!]%ai!^%ai~O(z%POP%ciR%ci[%cij%cin%cir%ci!Q%ci!S%ci!l%ci!p%ci#R%ci#n%ci#o%ci#p%ci#q%ci#r%ci#s%ci#t%ci#u%ci#v%ci#x%ci#z%ci#{%ci$O%ci'y%ci(a%ci(r%ci(y%ci!]%ci!^%ci~O$O$oy!]$oy!^$oy~P#BwO$O#cy!]#cy!^#cy~P#BwO!g#vO!]'eq!k'eq~O!]/pO!k)Oy~O!Y'gq!]'gq~P#/sOr:|O!g#vO(r'pO~O[;QO!Y;PO~P#/sO!Y;PO~Og(_!R!](_!R~P!1WOa%[y!_%[y'z%[y!]%[y~P#/sO!]1TO!^)Xy~O!]5uO!^)Uq~O(T;XO~O!_1oO%i;[O~O!k;_O~O%i;dO~P&8fOP$|qR$|q[$|qj$|qr$|q!S$|q!l$|q!p$|q#R$|q#n$|q#o$|q#p$|q#q$|q#r$|q#s$|q#t$|q#u$|q#v$|q#x$|q#z$|q#{$|q$O$|q(a$|q(r$|q!]$|q!^$|q~P''VO!Q*OO'y*PO(z%POP'jaR'ja['jaj'jan'jar'ja!S'ja!l'ja!p'ja#R'ja#n'ja#o'ja#p'ja#q'ja#r'ja#s'ja#t'ja#u'ja#v'ja#x'ja#z'ja#{'ja$O'ja(a'ja(r'ja(y'ja!]'ja!^'ja~O!Q*OO'y*POP'laR'la['laj'lan'lar'la!S'la!l'la!p'la#R'la#n'la#o'la#p'la#q'la#r'la#s'la#t'la#u'la#v'la#x'la#z'la#{'la$O'la(a'la(r'la(y'la(z'la!]'la!^'la~OP%OqR%Oq[%Oqj%Oqr%Oq!S%Oq!l%Oq!p%Oq#R%Oq#n%Oq#o%Oq#p%Oq#q%Oq#r%Oq#s%Oq#t%Oq#u%Oq#v%Oq#x%Oq#z%Oq#{%Oq$O%Oq(a%Oq(r%Oq!]%Oq!^%Oq~P''VOg%e!Z!]%e!Z#`%e!Z$O%e!Z~P!1WO!Y;hO~P#/sOr;iO!g#vO(r'pO~O[;kO!Y;hO~P#/sO!]'pq!^'pq~P#BwO!]#h!Z!^#h!Z~P#BwO#k%e!ZP%e!ZR%e!Z[%e!Za%e!Zj%e!Zr%e!Z!S%e!Z!]%e!Z!l%e!Z!p%e!Z#R%e!Z#n%e!Z#o%e!Z#p%e!Z#q%e!Z#r%e!Z#s%e!Z#t%e!Z#u%e!Z#v%e!Z#x%e!Z#z%e!Z#{%e!Z'z%e!Z(a%e!Z(r%e!Z!k%e!Z!Y%e!Z'w%e!Z#`%e!Zv%e!Z!_%e!Z%i%e!Z!g%e!Z~P#/sOr;tO!g#vO(r'pO~O!Y;uO~P#/sOr;|O!g#vO(r'pO~O!Y;}O~P#/sOP%e!ZR%e!Z[%e!Zj%e!Zr%e!Z!S%e!Z!l%e!Z!p%e!Z#R%e!Z#n%e!Z#o%e!Z#p%e!Z#q%e!Z#r%e!Z#s%e!Z#t%e!Z#u%e!Z#v%e!Z#x%e!Z#z%e!Z#{%e!Z$O%e!Z(a%e!Z(r%e!Z!]%e!Z!^%e!Z~P''VOrROe!iOpkOrPO(T)]O(VTO(YUO(aVO(o[O~O!]WO!l$xO#jgPPP!>oI[PPPPPPPPP!BOP!C]PPI[!DnPI[PI[I[I[I[I[PI[!FQP!I[P!LbP!Lf!Lp!Lt!LtP!IXP!Lx!LxP#!OP#!SI[PI[#!Y#%_CjA^PA^PA^A^P#&lA^A^#)OA^#+vA^#.SA^A^#.r#1W#1W#1]#1f#1W#1qPP#1WPA^#2ZA^#6YA^A^6mPPP#:_PPP#:x#:xP#:xP#;`#:xPP#;fP#;]P#;]#;y#;]#P#>V#>]#>k#>q#>{#?R#?]#?c#?s#?y#@k#@}#AT#AZ#Ai#BO#Cs#DR#DY#Et#FS#Gt#HS#HY#H`#Hf#Hp#Hv#H|#IW#Ij#IpPPPPPPPPPPP#IvPPPPPPP#Jk#Mx$ b$ i$ qPPP$']P$'f$*_$0x$0{$1O$1}$2Q$2X$2aP$2g$2jP$3W$3[$4S$5b$5g$5}PP$6S$6Y$6^$6a$6e$6i$7e$7|$8e$8i$8l$8o$8y$8|$9Q$9UR!|RoqOXst!Z#d%m&r&t&u&w,s,x2[2_Y!vQ'`-e1o5{Q%tvQ%|yQ&T|Q&j!VS'W!e-]Q'f!iS'l!r!yU*k$|*Z*oQ+o%}S+|&V&WQ,d&dQ-c'_Q-m'gQ-u'mQ0[*qQ1b,OQ1y,eR<{SU+P%]S!S!nQ!r!v!y!z$|'W'_'`'l'm'n*k*o*q*r-]-c-e-u0[0_1o5{5}%[$ti#v$b$c$d$x${%O%Q%^%_%c)y*R*T*V*Y*a*g*w*x+f+i,S,V.f/P/d/m/x/y/{0`0b0i0j0o1f1i1q3c4^4_4j4o5Q5[5_6S7W7v8Q8V8[8q9b9p9y:P:`:r;Q;[;d;kP>X>Y>]>^Q&X|Q'U!eS'[%i-`Q+t&PQ,P&WQ,f&gQ0n+SQ1Y+uQ1_+{Q2Q,jQ2R,kQ5f1TQ5o1aQ6[1zQ6_1|Q6`2PQ8`5gQ8c5lQ8|6bQ:X8dQ:f8yQ;V:YR<}*ZrnOXst!V!Z#d%m&i&r&t&u&w,s,x2[2_R,h&k&z^OPXYstuvwz!Z!`!g!j!o#S#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%m%t&R&k&n&o&r&t&u&w&{'T'b'r(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:mR>S[#]WZ#W#Z'X(T!b%jm#h#i#l$x%e%h(^(h(i(j*Y*^*b+Z+[+^,o-V.T.Z.[.]._/m/p2d3[3]4a6r7TQ%wxQ%{yW&Q|&V&W,OQ&_!TQ'c!hQ'e!iQ(q#sS+n%|%}Q+r&PQ,_&bQ,c&dS-l'f'gQ.i(rQ1R+oQ1X+uQ1Z+vQ1^+zQ1t,`S1x,d,eQ2|-mQ5e1TQ5i1WQ5n1`Q6Z1yQ8_5gQ8b5kQ8f5pQ:T8^R;T:U!U$zi$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Y!^%yy!i!u%{%|%}'V'e'f'g'k'u*j+n+o-Y-l-m-t0R0U1R2u2|3T4r4s4v7}9{Q+h%wQ,T&[Q,W&]Q,b&dQ.h(qQ1s,_U1w,c,d,eQ3e.iQ6U1tS6Y1x1yQ8x6Z#f>T#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k]>^o>UPS&[!Q&iQ&]!RQ&^!SU*}%[%d=sR,R&Y%]%Si#v$b$c$d$x${%O%Q%^%_%c)y*R*T*V*Y*a*g*w*x+f+i,S,V.f/P/d/m/x/y/{0`0b0i0j0o1f1i1q3c4^4_4j4o5Q5[5_6S7W7v8Q8V8[8q9b9p9y:P:`:r;Q;[;d;kP>X>Y>]>^T)z$u){V+P%]S$i$^c#Y#e%q%s%u(S(Y(t(y)R)S)T)U)V)W)X)Y)Z)[)^)`)b)g)q+d+x-Z-x-}.S.U.s.v.z.|.}/O/b0p2k2n3O3V3k3p3q3r3s3t3u3v3w3x3y3z3{3|4P4Q4X5X5c6u6{7Q7a7b7k7l8k9X9]9g9m9n:o;W;`SQ'Y!eR2q-]!W!nQ!e!r!v!y!z$|'W'_'`'l'm'n*Z*k*o*q*r-]-c-e-u0[0_1o5{5}R1l,ZnqOXst!Z#d%m&r&t&u&w,s,x2[2_Q&y!^Q'v!xS(s#u<^Q+l%zQ,]&_Q,^&aQ-j'dQ-w'oS.r(x=PS0q+X=ZQ1P+mQ1n,[Q2c,zQ2e,{Q2m-WQ2z-kQ2}-oS5Y0r=eQ5a1QS5d1S=fQ6t2oQ6x2{Q6}3SQ8]5bQ9Y6vQ9Z6yQ9^7OR:l9V$d$]c#Y#e%s%u(S(Y(t(y)R)S)T)U)V)W)X)Y)Z)[)^)`)b)g)q+d+x-Z-x-}.S.U.s.v.z.}/O/b0p2k2n3O3V3k3p3q3r3s3t3u3v3w3x3y3z3{3|4P4Q4X5X5c6u6{7Q7a7b7k7l8k9X9]9g9m9n:o;W;`SS#q]SU$fd)_,mS(p#p'iU*v%R(w4OU0m+O.n7gQ5^0xQ7V3`Q9d7YR:s9em!tQ!r!v!y!z'`'l'm'n-e-u1o5{5}Q't!uS(f#g2US-s'k'wQ/s*]Q0R*jQ3U-vQ4f/tQ4r0TQ4s0UQ4x0^Q7r4`S7}4t4vS8R4y4{Q9r7sQ9v7yQ9{8OQ:Q8TS:{9w9xS;g:|;PS;s;h;iS;{;t;uSSR=o>R%^bOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&o&r&t&u&w&{'T'b'r(T(V(](d(x(z)O)}*i+X+]+g,p,s,x-i-q.P.V.g.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3d3l4z6T6e6f6i6|7[8t9T9_Q%fj!^%xy!i!u%{%|%}'V'e'f'g'k'u*j+n+o-Y-l-m-t0R0U1R2u2|3T4r4s4v7}9{S&Oz!jQ+k%yQ,a&dW1v,b,c,d,eU6X1w1x1yS8w6Y6ZQ:d8x!r=j$Z$n'X)s-U-X/V2p4T5w6s:Z:mSQ=t>QR=u>R%QeOPXYstuvw!Z!`!g!o#S#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&r&t&u&w&{'T'b'r(V(](d(x(z)O)}*i+X+]+g,p,s,x-i-q.P.V.g.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3d3l4z6T6e6f6i6|7[8t9T9_Y#bWZ#W#Z(T!b%jm#h#i#l$x%e%h(^(h(i(j*Y*^*b+Z+[+^,o-V.T.Z.[.]._/m/p2d3[3]4a6r7TQ,n&o!p=k$Z$n)s-U-X/V2p4T5w6s:Z:mSR=n'XU']!e%i*ZR2s-`%SdOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&r&t&u&w&{'T'b'r(T(V(](d(x(z)O)}*i+X+],p,s,x-i-q.P.V.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3l4z6T6e6f6i6|8t9T9_!r)_$Z$n'X)s-U-X/V2p4T5w6s:Z:mSQ,m&oQ0x+gQ3`.gQ7Y3dR9e7[!b$Tc#Y%q(S(Y(t(y)Z)[)`)g+x-x-}.S.U.s.v/b0p3O3V3k3{5X5c6{7Q7a9]:oS)^)q-Z.|2k2n3p4P4X6u7b7k7l8k9X9g9m9n;W;`=vQ>X>ZR>Y>['QkOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%m%t&R&k&n&o&r&t&u&w&{'T'X'b'r(T(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:mSS$oh$pR4U/U'XgOPWXYZhstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n$p%m%t&R&k&n&o&r&t&u&w&{'T'X'b'r(T(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/U/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:mST$kf$qQ$ifS)j$l)nR)v$qT$jf$qT)l$l)n'XhOPWXYZhstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n$p%m%t&R&k&n&o&r&t&u&w&{'T'X'b'r(T(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/U/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:mST$oh$pQ$rhR)u$p%^jOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&o&r&t&u&w&{'T'b'r(T(V(](d(x(z)O)}*i+X+]+g,p,s,x-i-q.P.V.g.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3d3l4z6T6e6f6i6|7[8t9T9_!s>Q$Z$n'X)s-U-X/V2p4T5w6s:Z:mS#glOPXZst!Z!`!o#S#d#o#{$n%m&k&n&o&r&t&u&w&{'T'b)O)s*i+]+g,p,s,x-i.g/V/n0]0l1r2S2T2V2X2[2_2a3d4T4z6T6e6f6i7[8t9T!U%Ri$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Y#f(w#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k]>^Q+T%aQ/c*Oo4OP>X>YQ*c$zU*l$|*Z*oQ+U%bQ0W*m#f=q#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k]>^n=rTQ=x>UQ=y>VR=z>W!U%Ri$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Y#f(w#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k]>^o4OP>X>Y>]>^Q,U&]Q1h,WQ5s1gR8h5tV*n$|*Z*oU*n$|*Z*oT5z1o5{S0P*i/nQ4w0]T8S4z:]Q+j%xQ0V*lQ1O+kQ1u,aQ6W1vQ8v6XQ:c8wR;^:d!U%Oi$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Yx*R$v)e*S*u+V/v0d0e4R4g5R5S5W7p8U:R:x=p=}>OS0`*t0a#f]>^nZ>[`=T3}7c7f7j9h:t:w;yS=_.l3iT=`7e9k!U%Qi$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Y|*T$v)e*U*t+V/g/v0d0e4R4g4|5R5S5W7p8U:R:x=p=}>OS0b*u0c#f]>^nZ>[d=V3}7d7e7j9h9i:t:u:w;yS=a.m3jT=b7f9lrnOXst!V!Z#d%m&i&r&t&u&w,s,x2[2_Q&f!UR,p&ornOXst!V!Z#d%m&i&r&t&u&w,s,x2[2_R&f!UQ,Y&^R1d,RsnOXst!V!Z#d%m&i&r&t&u&w,s,x2[2_Q1p,_S6R1s1tU8p6P6Q6US:_8r8sS;Y:^:aQ;m;ZR;w;nQ&m!VR,i&iR6_1|R:f8yW&Q|&V&W,OR1Z+vQ&r!WR,s&sR,y&xT2],x2_R,}&yQ,|&yR2f,}Q'y!{R-y'ySsOtQ#dXT%ps#dQ#OTR'{#OQ#RUR'}#RQ){$uR/`){Q#UVR(Q#UQ#XWU(W#X(X.QQ(X#YR.Q(YQ-^'YR2r-^Q.u(yS3m.u3nR3n.vQ-e'`R2v-eY!rQ'`-e1o5{R'j!rQ/Q)eR4S/QU#_W%h*YU(_#_(`.RQ(`#`R.R(ZQ-a']R2t-at`OXst!V!Z#d%m&i&k&r&t&u&w,s,x2[2_S#hZ%eU#r`#h.[R.[(jQ(k#jQ.X(gW.a(k.X3X7RQ3X.YR7R3YQ)n$lR/W)nQ$phR)t$pQ$`cU)a$`-|O>Z>[Q/z*eU4k/z4m7xQ4m/|R7x4lS*o$|*ZR0Y*ox*S$v)e*t*u+V/v0d0e4R4g5R5S5W7p8U:R:x=p=}>O!d.j(u)c*[*e.l.m.q/_/k/|0v1e3h4[4h4l5r7]7`7w7z8X8Z9t9|:S:};R;e;j;v>Z>[U/h*S.j7ca7c3}7e7f7j9h:t:w;yQ0a*tQ3i.lU4}0a3i9kR9k7e|*U$v)e*t*u+V/g/v0d0e4R4g4|5R5S5W7p8U:R:x=p=}>O!h.k(u)c*[*e.l.m.q/_/k/|0v1e3f3h4[4h4l5r7]7^7`7w7z8X8Z9t9|:S:};R;e;j;v>Z>[U/j*U.k7de7d3}7e7f7j9h9i:t:u:w;yQ0c*uQ3j.mU5P0c3j9lR9l7fQ*z%UR0g*zQ5]0vR8Y5]Q+_%kR0u+_Q5v1jS8j5v:[R:[8kQ,[&_R1m,[Q5{1oR8m5{Q1{,fS6]1{8zR8z6_Q1U+rW5h1U5j8a:VQ5j1XQ8a5iR:V8bQ+w&QR1[+wQ2_,xR6m2_YrOXst#dQ&v!ZQ+a%mQ,r&rQ,t&tQ,u&uQ,w&wQ2Y,sS2],x2_R6l2[Q%opQ&z!_Q&}!aQ'P!bQ'R!cQ'q!uQ+`%lQ+l%zQ,Q&XQ,h&mQ-P&|W-p'k's't'wQ-w'oQ0X*nQ1P+mQ1c,PS2O,i,lQ2g-OQ2h-RQ2i-SQ2}-oW3P-r-s-v-xQ5a1QQ5m1_Q5q1eQ6V1uQ6a2QQ6k2ZU6z3O3R3UQ6}3SQ8]5bQ8e5oQ8g5rQ8l5zQ8u6WQ8{6`S9[6{7PQ9^7OQ:W8cQ:b8vQ:g8|Q:n9]Q;U:XQ;]:cQ;a:oQ;l;VR;o;^Q%zyQ'd!iQ'o!uU+m%{%|%}Q-W'VU-k'e'f'gS-o'k'uQ0Q*jS1Q+n+oQ2o-YS2{-l-mQ3S-tS4p0R0UQ5b1RQ6v2uQ6y2|Q7O3TU7{4r4s4vQ9z7}R;O9{S$wi>PR*{%VU%Ui%V>PR0f*yQ$viS(u#v+iS)c$b$cQ)e$dQ*[$xS*e${*YQ*t%OQ*u%QQ+Q%^Q+R%_Q+V%cQ.lPQ=}>XQ>O>YQ>Z>]R>[>^Q+O%]Q.nSR#[WR'Z!el!tQ!r!v!y!z'`'l'm'n-e-u1o5{5}S'V!e-]U*j$|*Z*oS-Y'W'_S0U*k*qQ0^*rQ2u-cQ4v0[R4{0_R({#xQ!fQT-d'`-e]!qQ!r'`-e1o5{Q#p]R'i < TypeParamList in out const TypeDefinition extends ThisType this LiteralType ArithOp Number BooleanLiteral TemplateType InterpolationEnd Interpolation InterpolationStart NullType null VoidType void TypeofType typeof MemberExpression . PropertyName [ TemplateString Escape Interpolation super RegExp ] ArrayExpression Spread , } { ObjectExpression Property async get set PropertyDefinition Block : NewTarget new NewExpression ) ( ArgList UnaryExpression delete LogicOp BitOp YieldExpression yield AwaitExpression await ParenthesizedExpression ClassExpression class ClassBody MethodDeclaration Decorator @ MemberExpression PrivatePropertyName CallExpression TypeArgList CompareOp < declare Privacy static abstract override PrivatePropertyDefinition PropertyDeclaration readonly accessor Optional TypeAnnotation Equals StaticBlock FunctionExpression ArrowFunction ParamList ParamList ArrayPattern ObjectPattern PatternProperty Privacy readonly Arrow MemberExpression BinaryExpression ArithOp ArithOp ArithOp ArithOp BitOp CompareOp instanceof satisfies CompareOp BitOp BitOp BitOp LogicOp LogicOp ConditionalExpression LogicOp LogicOp AssignmentExpression UpdateOp PostfixExpression CallExpression InstantiationExpression TaggedTemplateExpression DynamicImport import ImportMeta JSXElement JSXSelfCloseEndTag JSXSelfClosingTag JSXIdentifier JSXBuiltin JSXIdentifier JSXNamespacedName JSXMemberExpression JSXSpreadAttribute JSXAttribute JSXAttributeValue JSXEscape JSXEndTag JSXOpenTag JSXFragmentTag JSXText JSXEscape JSXStartCloseTag JSXCloseTag PrefixCast < ArrowFunction TypeParamList SequenceExpression InstantiationExpression KeyofType keyof UniqueType unique ImportType InferredType infer TypeName ParenthesizedType FunctionSignature ParamList NewSignature IndexedType TupleType Label ArrayType ReadonlyType ObjectType MethodType PropertyType IndexSignature PropertyDefinition CallSignature TypePredicate asserts is NewSignature new UnionType LogicOp IntersectionType LogicOp ConditionalType ParameterizedType ClassDeclaration abstract implements type VariableDeclaration let var using TypeAliasDeclaration InterfaceDeclaration interface EnumDeclaration enum EnumBody NamespaceDeclaration namespace module AmbientDeclaration declare GlobalDeclaration global ClassDeclaration ClassBody AmbientFunctionDeclaration ExportGroup VariableName VariableName ImportDeclaration defer ImportGroup ForStatement for ForSpec ForInSpec ForOfSpec of WhileStatement while WithStatement with DoStatement do IfStatement if else SwitchStatement switch SwitchBody CaseLabel case DefaultLabel TryStatement try CatchClause catch FinallyClause finally ReturnStatement return ThrowStatement throw BreakStatement break ContinueStatement continue DebuggerStatement debugger LabeledStatement ExpressionStatement SingleExpression SingleClassItem",maxTerm:380,context:n1,nodeProps:[["isolate",-8,5,6,14,37,39,51,53,55,""],["group",-26,9,17,19,68,207,211,215,216,218,221,224,234,237,243,245,247,249,252,258,264,266,268,270,272,274,275,"Statement",-34,13,14,32,35,36,42,51,54,55,57,62,70,72,76,80,82,84,85,110,111,120,121,136,139,141,142,143,144,145,147,148,167,169,171,"Expression",-23,31,33,37,41,43,45,173,175,177,178,180,181,182,184,185,186,188,189,190,201,203,205,206,"Type",-3,88,103,109,"ClassItem"],["openedBy",23,"<",38,"InterpolationStart",56,"[",60,"{",73,"(",160,"JSXStartCloseTag"],["closedBy",-2,24,168,">",40,"InterpolationEnd",50,"]",61,"}",74,")",165,"JSXEndTag"]],propSources:[c1],skippedNodes:[0,5,6,278],repeatNodeCount:37,tokenData:"$Fq07[R!bOX%ZXY+gYZ-yZ[+g[]%Z]^.c^p%Zpq+gqr/mrs3cst:_tuEruvJSvwLkwx! Yxy!'iyz!(sz{!)}{|!,q|}!.O}!O!,q!O!P!/Y!P!Q!9j!Q!R#:O!R![#<_![!]#I_!]!^#Jk!^!_#Ku!_!`$![!`!a$$v!a!b$*T!b!c$,r!c!}Er!}#O$-|#O#P$/W#P#Q$4o#Q#R$5y#R#SEr#S#T$7W#T#o$8b#o#p$x#r#s$@U#s$f%Z$f$g+g$g#BYEr#BY#BZ$A`#BZ$ISEr$IS$I_$A`$I_$I|Er$I|$I}$Dk$I}$JO$Dk$JO$JTEr$JT$JU$A`$JU$KVEr$KV$KW$A`$KW&FUEr&FU&FV$A`&FV;'SEr;'S;=`I|<%l?HTEr?HT?HU$A`?HUOEr(n%d_$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z&j&hT$i&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c&j&zP;=`<%l&c'|'U]$i&j(Z!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!b(SU(Z!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}!b(iP;=`<%l'}'|(oP;=`<%l&}'[(y]$i&j(WpOY(rYZ&cZr(rrs&cs!^(r!^!_)r!_#O(r#O#P&c#P#o(r#o#p)r#p;'S(r;'S;=`*a<%lO(rp)wU(WpOY)rZr)rs#O)r#P;'S)r;'S;=`*Z<%lO)rp*^P;=`<%l)r'[*dP;=`<%l(r#S*nX(Wp(Z!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g#S+^P;=`<%l*g(n+dP;=`<%l%Z07[+rq$i&j(Wp(Z!b'|0/lOX%ZXY+gYZ&cZ[+g[p%Zpq+gqr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p$f%Z$f$g+g$g#BY%Z#BY#BZ+g#BZ$IS%Z$IS$I_+g$I_$JT%Z$JT$JU+g$JU$KV%Z$KV$KW+g$KW&FU%Z&FU&FV+g&FV;'S%Z;'S;=`+a<%l?HT%Z?HT?HU+g?HUO%Z07[.ST(X#S$i&j'}0/lO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c07[.n_$i&j(Wp(Z!b'}0/lOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z)3p/x`$i&j!p),Q(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`0z!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW1V`#v(Ch$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`2X!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW2d_#v(Ch$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'At3l_(V':f$i&j(Z!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k(^4r_$i&j(Z!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k&z5vX$i&jOr5qrs6cs!^5q!^!_6y!_#o5q#o#p6y#p;'S5q;'S;=`7h<%lO5q&z6jT$d`$i&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c`6|TOr6yrs7]s;'S6y;'S;=`7b<%lO6y`7bO$d``7eP;=`<%l6y&z7kP;=`<%l5q(^7w]$d`$i&j(Z!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!r8uZ(Z!bOY8pYZ6yZr8prs9hsw8pwx6yx#O8p#O#P6y#P;'S8p;'S;=`:R<%lO8p!r9oU$d`(Z!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}!r:UP;=`<%l8p(^:[P;=`<%l4k%9[:hh$i&j(Wp(Z!bOY%ZYZ&cZq%Zqr`#P#o`x!^=^!^!_?q!_#O=^#O#P>`#P#o=^#o#p?q#p;'S=^;'S;=`@h<%lO=^&n>gXWS$i&jOY>`YZ&cZ!^>`!^!_?S!_#o>`#o#p?S#p;'S>`;'S;=`?k<%lO>`S?XSWSOY?SZ;'S?S;'S;=`?e<%lO?SS?hP;=`<%l?S&n?nP;=`<%l>`!f?xWWS(Z!bOY?qZw?qwx?Sx#O?q#O#P?S#P;'S?q;'S;=`@b<%lO?q!f@eP;=`<%l?q(Q@kP;=`<%l=^'`@w]WS$i&j(WpOY@nYZ&cZr@nrs>`s!^@n!^!_Ap!_#O@n#O#P>`#P#o@n#o#pAp#p;'S@n;'S;=`Bg<%lO@ntAwWWS(WpOYApZrAprs?Ss#OAp#O#P?S#P;'SAp;'S;=`Ba<%lOAptBdP;=`<%lAp'`BjP;=`<%l@n#WBvYWS(Wp(Z!bOYBmZrBmrs?qswBmwxApx#OBm#O#P?S#P;'SBm;'S;=`Cf<%lOBm#WCiP;=`<%lBm(rCoP;=`<%l^!Q^$i&j!X7`OY!=yYZ&cZ!P!=y!P!Q!>|!Q!^!=y!^!_!@c!_!}!=y!}#O!CW#O#P!Dy#P#o!=y#o#p!@c#p;'S!=y;'S;=`!Ek<%lO!=y|#X#Z&c#Z#[!>|#[#]&c#]#^!>|#^#a&c#a#b!>|#b#g&c#g#h!>|#h#i&c#i#j!>|#j#k!>|#k#m&c#m#n!>|#n#o&c#p;'S&c;'S;=`&w<%lO&c7`!@hX!X7`OY!@cZ!P!@c!P!Q!AT!Q!}!@c!}#O!Ar#O#P!Bq#P;'S!@c;'S;=`!CQ<%lO!@c7`!AYW!X7`#W#X!AT#Z#[!AT#]#^!AT#a#b!AT#g#h!AT#i#j!AT#j#k!AT#m#n!AT7`!AuVOY!ArZ#O!Ar#O#P!B[#P#Q!@c#Q;'S!Ar;'S;=`!Bk<%lO!Ar7`!B_SOY!ArZ;'S!Ar;'S;=`!Bk<%lO!Ar7`!BnP;=`<%l!Ar7`!BtSOY!@cZ;'S!@c;'S;=`!CQ<%lO!@c7`!CTP;=`<%l!@c^!Ezl$i&j(Z!b!X7`OY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#W&}#W#X!Eq#X#Z&}#Z#[!Eq#[#]&}#]#^!Eq#^#a&}#a#b!Eq#b#g&}#g#h!Eq#h#i&}#i#j!Eq#j#k!Eq#k#m&}#m#n!Eq#n#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}8r!GyZ(Z!b!X7`OY!GrZw!Grwx!@cx!P!Gr!P!Q!Hl!Q!}!Gr!}#O!JU#O#P!Bq#P;'S!Gr;'S;=`!J|<%lO!Gr8r!Hse(Z!b!X7`OY'}Zw'}x#O'}#P#W'}#W#X!Hl#X#Z'}#Z#[!Hl#[#]'}#]#^!Hl#^#a'}#a#b!Hl#b#g'}#g#h!Hl#h#i'}#i#j!Hl#j#k!Hl#k#m'}#m#n!Hl#n;'S'};'S;=`(f<%lO'}8r!JZX(Z!bOY!JUZw!JUwx!Arx#O!JU#O#P!B[#P#Q!Gr#Q;'S!JU;'S;=`!Jv<%lO!JU8r!JyP;=`<%l!JU8r!KPP;=`<%l!Gr>^!KZ^$i&j(Z!bOY!KSYZ&cZw!KSwx!CWx!^!KS!^!_!JU!_#O!KS#O#P!DR#P#Q!^!LYP;=`<%l!KS>^!L`P;=`<%l!_#c#d#Bq#d#l%Z#l#m#Es#m#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#>j_$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#?rd$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!R#AQ!R!S#AQ!S!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#AQ#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#A]f$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!R#AQ!R!S#AQ!S!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#AQ#S#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#Bzc$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!Y#DV!Y!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#DV#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#Dbe$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!Y#DV!Y!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#DV#S#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#E|g$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![#Ge![!^%Z!^!_*g!_!c%Z!c!i#Ge!i#O%Z#O#P&c#P#R%Z#R#S#Ge#S#T%Z#T#Z#Ge#Z#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#Gpi$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![#Ge![!^%Z!^!_*g!_!c%Z!c!i#Ge!i#O%Z#O#P&c#P#R%Z#R#S#Ge#S#T%Z#T#Z#Ge#Z#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z*)x#Il_!g$b$i&j$O)Lv(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z)[#Jv_al$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z04f#LS^h#)`#R-v$?V_!^(CdvBr$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z?O$@a_!q7`$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z07[$Aq|$i&j(Wp(Z!b'|0/l$]#t(T,2j(e$I[OX%ZXY+gYZ&cZ[+g[p%Zpq+gqr%Zrs&}st%ZtuEruw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Er![!^%Z!^!_*g!_!c%Z!c!}Er!}#O%Z#O#P&c#P#R%Z#R#SEr#S#T%Z#T#oEr#o#p*g#p$f%Z$f$g+g$g#BYEr#BY#BZ$A`#BZ$ISEr$IS$I_$A`$I_$JTEr$JT$JU$A`$JU$KVEr$KV$KW$A`$KW&FUEr&FU&FV$A`&FV;'SEr;'S;=`I|<%l?HTEr?HT?HU$A`?HUOEr07[$D|k$i&j(Wp(Z!b'}0/l$]#t(T,2j(e$I[OY%ZYZ&cZr%Zrs&}st%ZtuEruw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Er![!^%Z!^!_*g!_!c%Z!c!}Er!}#O%Z#O#P&c#P#R%Z#R#SEr#S#T%Z#T#oEr#o#p*g#p$g%Z$g;'SEr;'S;=`I|<%lOEr",tokenizers:[s1,o1,a1,l1,2,3,4,5,6,7,8,9,10,11,12,13,14,r1,new Si("$S~RRtu[#O#Pg#S#T#|~_P#o#pb~gOx~~jVO#i!P#i#j!U#j#l!P#l#m!q#m;'S!P;'S;=`#v<%lO!P~!UO!U~~!XS!Q![!e!c!i!e#T#Z!e#o#p#Z~!hR!Q![!q!c!i!q#T#Z!q~!tR!Q![!}!c!i!}#T#Z!}~#QR!Q![!P!c!i!P#T#Z!P~#^R!Q![#g!c!i#g#T#Z#g~#jS!Q![#g!c!i#g#T#Z#g#q#r!P~#yP;=`<%l!P~$RO(c~~",141,340),new Si("j~RQYZXz{^~^O(Q~~aP!P!Qd~iO(R~~",25,323)],topRules:{Script:[0,7],SingleExpression:[1,276],SingleClassItem:[2,277]},dialects:{jsx:0,ts:15175},dynamicPrecedences:{80:1,82:1,94:1,169:1,199:1},specialized:[{term:327,get:i=>h1[i]||-1},{term:343,get:i=>f1[i]||-1},{term:95,get:i=>u1[i]||-1}],tokenPrec:15201});var jp=[he("function ${name}(${params}) {\n ${}\n}",{label:"function",detail:"definition",type:"keyword"}),he("for (let ${index} = 0; ${index} < ${bound}; ${index}++) {\n ${}\n}",{label:"for",detail:"loop",type:"keyword"}),he("for (let ${name} of ${collection}) {\n ${}\n}",{label:"for",detail:"of loop",type:"keyword"}),he("do {\n ${}\n} while (${})",{label:"do",detail:"loop",type:"keyword"}),he("while (${}) {\n ${}\n}",{label:"while",detail:"loop",type:"keyword"}),he(`try { \${} } catch (\${error}) { \${} -}`,{label:"try",detail:"/ catch block",type:"keyword"}),ce("if (${}) {\n ${}\n}",{label:"if",detail:"block",type:"keyword"}),ce(`if (\${}) { +}`,{label:"try",detail:"/ catch block",type:"keyword"}),he("if (${}) {\n ${}\n}",{label:"if",detail:"block",type:"keyword"}),he(`if (\${}) { \${} } else { \${} -}`,{label:"if",detail:"/ else block",type:"keyword"}),ce(`class \${name} { +}`,{label:"if",detail:"/ else block",type:"keyword"}),he(`class \${name} { constructor(\${params}) { \${} } -}`,{label:"class",detail:"definition",type:"keyword"}),ce('import {${names}} from "${module}"\n${}',{label:"import",detail:"named",type:"keyword"}),ce('import ${name} from "${module}"\n${}',{label:"import",detail:"default",type:"keyword"})],u1=Wp.concat([ce("interface ${name} {\n ${}\n}",{label:"interface",detail:"definition",type:"keyword"}),ce("type ${name} = ${type}",{label:"type",detail:"definition",type:"keyword"}),ce("enum ${name} {\n ${}\n}",{label:"enum",detail:"definition",type:"keyword"})]),zp=new di,jp=new Set(["Script","Block","FunctionExpression","FunctionDeclaration","ArrowFunction","MethodDeclaration","ForStatement"]);function vr(i){return(e,t)=>{let n=e.node.getChild("VariableDefinition");return n&&t(n,i),!0}}var O1=["FunctionDeclaration"],d1={FunctionDeclaration:vr("function"),ClassDeclaration:vr("class"),ClassExpression:()=>!0,EnumDeclaration:vr("constant"),TypeAliasDeclaration:vr("type"),NamespaceDeclaration:vr("namespace"),VariableDefinition(i,e){i.matchContext(O1)||e(i,"variable")},TypeDefinition(i,e){e(i,"type")},__proto__:null};function Vp(i,e){let t=zp.get(e);if(t)return t;let n=[],r=!0;function s(o,a){let l=i.sliceString(o.from,o.to);n.push({label:l,type:a})}return e.cursor(ee.IncludeAnonymous).iterate(o=>{if(r)r=!1;else if(o.name){let a=d1[o.name];if(a&&a(o,s)||jp.has(o.name))return!1}else if(o.to-o.from>8192){for(let a of Vp(i,o.node))n.push(a);return!1}}),zp.set(e,n),n}var Lp=/^[\w$\xa1-\uffff][\w$\d\xa1-\uffff]*$/,Dp=["TemplateString","String","RegExp","LineComment","BlockComment","VariableDefinition","TypeDefinition","Label","PropertyDefinition","PropertyName","PrivatePropertyDefinition","PrivatePropertyName","JSXText","JSXAttributeValue","JSXOpenTag","JSXCloseTag","JSXSelfClosingTag",".","?."];function p1(i){let e=U(i.state).resolveInner(i.pos,-1);if(Dp.indexOf(e.name)>-1)return null;let t=e.name=="VariableName"||e.to-e.from<20&&Lp.test(i.state.sliceDoc(e.from,e.to));if(!t&&!i.explicit)return null;let n=[];for(let r=e;r;r=r.parent)jp.has(r.name)&&(n=n.concat(Vp(i.state.doc,r)));return{options:n,from:t?e.from:i.pos,validFor:Lp}}var wt=Ce.define({name:"javascript",parser:qp.configure({props:[Pe.add({IfStatement:Bt({except:/^\s*({|else\b)/}),TryStatement:Bt({except:/^\s*({|catch\b|finally\b)/}),LabeledStatement:lO,SwitchBody:i=>{let e=i.textAfter,t=/^\s*\}/.test(e),n=/^\s*(case|default)\b/.test(e);return i.baseIndent+(t?0:n?1:2)*i.unit},Block:St({closing:"}"}),ArrowFunction:i=>i.baseIndent+i.unit,"TemplateString BlockComment":()=>null,"Statement Property":Bt({except:/^\s*{/}),JSXElement(i){let e=/^\s*<\//.test(i.textAfter);return i.lineIndent(i.node.from)+(e?0:i.unit)},JSXEscape(i){let e=/\s*\}/.test(i.textAfter);return i.lineIndent(i.node.from)+(e?0:i.unit)},"JSXOpenTag JSXSelfClosingTag"(i){return i.column(i.node.from)+i.unit}}),Xe.add({"Block ClassBody SwitchBody EnumBody ObjectExpression ArrayExpression ObjectType":ht,BlockComment(i){return{from:i.from+2,to:i.to-2}},JSXElement(i){let e=i.firstChild;if(!e||e.name=="JSXSelfClosingTag")return null;let t=i.lastChild;return{from:e.to,to:t.type.isError?i.to:t.from}},"JSXSelfClosingTag JSXOpenTag"(i){var e;let t=(e=i.firstChild)===null||e===void 0?void 0:e.nextSibling,n=i.lastChild;return!t||t.type.isError?null:{from:t.to,to:n.type.isError?i.to:n.from}}})]}),languageData:{closeBrackets:{brackets:["(","[","{","'",'"',"`"]},commentTokens:{line:"//",block:{open:"/*",close:"*/"}},indentOnInput:/^\s*(?:case |default:|\{|\}|<\/)$/,wordChars:"$"}}),Yp={test:i=>/^JSX/.test(i.name),facet:kn({commentTokens:{block:{open:"{/*",close:"*/}"}}})},_c=wt.configure({dialect:"ts"},"typescript"),Rc=wt.configure({dialect:"jsx",props:[qs.add(i=>i.isTop?[Yp]:void 0)]}),Ac=wt.configure({dialect:"jsx ts",props:[qs.add(i=>i.isTop?[Yp]:void 0)]},"typescript"),Ip=i=>({label:i,type:"keyword"}),Bp="break case const continue default delete export extends false finally in instanceof let new return static super switch this throw true typeof var yield".split(" ").map(Ip),m1=Bp.concat(["declare","implements","private","protected","public"].map(Ip));function so(i={}){let e=i.jsx?i.typescript?Ac:Rc:i.typescript?_c:wt,t=i.typescript?u1.concat(m1):Wp.concat(Bp);return new me(e,[wt.data.of({autocomplete:Bs(Dp,Is(t))}),wt.data.of({autocomplete:p1}),i.jsx?b1:[]])}function g1(i){for(;;){if(i.name=="JSXOpenTag"||i.name=="JSXSelfClosingTag"||i.name=="JSXFragmentTag")return i;if(i.name=="JSXEscape"||!i.parent)return null;i=i.parent}}function Mp(i,e,t=i.length){for(let n=e?.firstChild;n;n=n.nextSibling)if(n.name=="JSXIdentifier"||n.name=="JSXBuiltin"||n.name=="JSXNamespacedName"||n.name=="JSXMemberExpression")return i.sliceString(n.from,Math.min(n.to,t));return""}var Q1=typeof navigator=="object"&&/Android\b/.test(navigator.userAgent),b1=z.inputHandler.of((i,e,t,n,r)=>{if((Q1?i.composing:i.compositionStarted)||i.state.readOnly||e!=t||n!=">"&&n!="/"||!wt.isActiveAt(i.state,e,-1))return!1;let s=r(),{state:o}=s,a=o.changeByRange(l=>{var c;let{head:h}=l,f=U(o).resolveInner(h-1,-1),u;if(f.name=="JSXStartTag"&&(f=f.parent),!(o.doc.sliceString(h-1,h)!=n||f.name=="JSXAttributeValue"&&f.to>h)){if(n==">"&&f.name=="JSXFragmentTag")return{range:l,changes:{from:h,insert:""}};if(n=="/"&&f.name=="JSXStartCloseTag"){let O=f.parent,p=O.parent;if(p&&O.from==h-2&&((u=Mp(o.doc,p.firstChild,h))||((c=p.firstChild)===null||c===void 0?void 0:c.name)=="JSXFragmentTag")){let m=`${u}>`;return{range:P.cursor(h+m.length,-1),changes:{from:h,insert:m}}}}else if(n==">"){let O=g1(f);if(O&&O.name=="JSXOpenTag"&&!/^\/?>|^<\//.test(o.doc.sliceString(h,h+2))&&(u=Mp(o.doc,O,h)))return{range:l,changes:{from:h,insert:``}}}}return{range:l}});return a.changes.empty?!1:(i.dispatch([s,o.update(a,{userEvent:"input.complete",scrollIntoView:!0})]),!0)});var $r=["_blank","_self","_top","_parent"],Zc=["ascii","utf-8","utf-16","latin1","latin1"],Ec=["get","post","put","delete"],qc=["application/x-www-form-urlencoded","multipart/form-data","text/plain"],Je=["true","false"],D={},S1={a:{attrs:{href:null,ping:null,type:null,media:null,target:$r,hreflang:null}},abbr:D,address:D,area:{attrs:{alt:null,coords:null,href:null,target:null,ping:null,media:null,hreflang:null,type:null,shape:["default","rect","circle","poly"]}},article:D,aside:D,audio:{attrs:{src:null,mediagroup:null,crossorigin:["anonymous","use-credentials"],preload:["none","metadata","auto"],autoplay:["autoplay"],loop:["loop"],controls:["controls"]}},b:D,base:{attrs:{href:null,target:$r}},bdi:D,bdo:D,blockquote:{attrs:{cite:null}},body:D,br:D,button:{attrs:{form:null,formaction:null,name:null,value:null,autofocus:["autofocus"],disabled:["autofocus"],formenctype:qc,formmethod:Ec,formnovalidate:["novalidate"],formtarget:$r,type:["submit","reset","button"]}},canvas:{attrs:{width:null,height:null}},caption:D,center:D,cite:D,code:D,col:{attrs:{span:null}},colgroup:{attrs:{span:null}},command:{attrs:{type:["command","checkbox","radio"],label:null,icon:null,radiogroup:null,command:null,title:null,disabled:["disabled"],checked:["checked"]}},data:{attrs:{value:null}},datagrid:{attrs:{disabled:["disabled"],multiple:["multiple"]}},datalist:{attrs:{data:null}},dd:D,del:{attrs:{cite:null,datetime:null}},details:{attrs:{open:["open"]}},dfn:D,div:D,dl:D,dt:D,em:D,embed:{attrs:{src:null,type:null,width:null,height:null}},eventsource:{attrs:{src:null}},fieldset:{attrs:{disabled:["disabled"],form:null,name:null}},figcaption:D,figure:D,footer:D,form:{attrs:{action:null,name:null,"accept-charset":Zc,autocomplete:["on","off"],enctype:qc,method:Ec,novalidate:["novalidate"],target:$r}},h1:D,h2:D,h3:D,h4:D,h5:D,h6:D,head:{children:["title","base","link","style","meta","script","noscript","command"]},header:D,hgroup:D,hr:D,html:{attrs:{manifest:null}},i:D,iframe:{attrs:{src:null,srcdoc:null,name:null,width:null,height:null,sandbox:["allow-top-navigation","allow-same-origin","allow-forms","allow-scripts"],seamless:["seamless"]}},img:{attrs:{alt:null,src:null,ismap:null,usemap:null,width:null,height:null,crossorigin:["anonymous","use-credentials"]}},input:{attrs:{alt:null,dirname:null,form:null,formaction:null,height:null,list:null,max:null,maxlength:null,min:null,name:null,pattern:null,placeholder:null,size:null,src:null,step:null,value:null,width:null,accept:["audio/*","video/*","image/*"],autocomplete:["on","off"],autofocus:["autofocus"],checked:["checked"],disabled:["disabled"],formenctype:qc,formmethod:Ec,formnovalidate:["novalidate"],formtarget:$r,multiple:["multiple"],readonly:["readonly"],required:["required"],type:["hidden","text","search","tel","url","email","password","datetime","date","month","week","time","datetime-local","number","range","color","checkbox","radio","file","submit","image","reset","button"]}},ins:{attrs:{cite:null,datetime:null}},kbd:D,keygen:{attrs:{challenge:null,form:null,name:null,autofocus:["autofocus"],disabled:["disabled"],keytype:["RSA"]}},label:{attrs:{for:null,form:null}},legend:D,li:{attrs:{value:null}},link:{attrs:{href:null,type:null,hreflang:null,media:null,sizes:["all","16x16","16x16 32x32","16x16 32x32 64x64"]}},map:{attrs:{name:null}},mark:D,menu:{attrs:{label:null,type:["list","context","toolbar"]}},meta:{attrs:{content:null,charset:Zc,name:["viewport","application-name","author","description","generator","keywords"],"http-equiv":["content-language","content-type","default-style","refresh"]}},meter:{attrs:{value:null,min:null,low:null,high:null,max:null,optimum:null}},nav:D,noscript:D,object:{attrs:{data:null,type:null,name:null,usemap:null,form:null,width:null,height:null,typemustmatch:["typemustmatch"]}},ol:{attrs:{reversed:["reversed"],start:null,type:["1","a","A","i","I"]},children:["li","script","template","ul","ol"]},optgroup:{attrs:{disabled:["disabled"],label:null}},option:{attrs:{disabled:["disabled"],label:null,selected:["selected"],value:null}},output:{attrs:{for:null,form:null,name:null}},p:D,param:{attrs:{name:null,value:null}},pre:D,progress:{attrs:{value:null,max:null}},q:{attrs:{cite:null}},rp:D,rt:D,ruby:D,samp:D,script:{attrs:{type:["text/javascript"],src:null,async:["async"],defer:["defer"],charset:Zc}},section:D,select:{attrs:{form:null,name:null,size:null,autofocus:["autofocus"],disabled:["disabled"],multiple:["multiple"]}},slot:{attrs:{name:null}},small:D,source:{attrs:{src:null,type:null,media:null}},span:D,strong:D,style:{attrs:{type:["text/css"],media:null,scoped:null}},sub:D,summary:D,sup:D,table:D,tbody:D,td:{attrs:{colspan:null,rowspan:null,headers:null}},template:D,textarea:{attrs:{dirname:null,form:null,maxlength:null,name:null,placeholder:null,rows:null,cols:null,autofocus:["autofocus"],disabled:["disabled"],readonly:["readonly"],required:["required"],wrap:["soft","hard"]}},tfoot:D,th:{attrs:{colspan:null,rowspan:null,headers:null,scope:["row","col","rowgroup","colgroup"]}},thead:D,time:{attrs:{datetime:null}},title:D,tr:D,track:{attrs:{src:null,label:null,default:null,kind:["subtitles","captions","descriptions","chapters","metadata"],srclang:null}},ul:{children:["li","script","template","ul","ol"]},var:D,video:{attrs:{src:null,poster:null,width:null,height:null,crossorigin:["anonymous","use-credentials"],preload:["auto","metadata","none"],autoplay:["autoplay"],mediagroup:["movie"],muted:["muted"],controls:["controls"]}},wbr:D},Fp={accesskey:null,class:null,contenteditable:Je,contextmenu:null,dir:["ltr","rtl","auto"],draggable:["true","false","auto"],dropzone:["copy","move","link","string:","file:"],hidden:["hidden"],id:null,inert:["inert"],itemid:null,itemprop:null,itemref:null,itemscope:["itemscope"],itemtype:null,lang:["ar","bn","de","en-GB","en-US","es","fr","hi","id","ja","pa","pt","ru","tr","zh"],spellcheck:Je,autocorrect:Je,autocapitalize:Je,style:null,tabindex:null,title:null,translate:["yes","no"],rel:["stylesheet","alternate","author","bookmark","help","license","next","nofollow","noreferrer","prefetch","prev","search","tag"],role:"alert application article banner button cell checkbox complementary contentinfo dialog document feed figure form grid gridcell heading img list listbox listitem main navigation region row rowgroup search switch tab table tabpanel textbox timer".split(" "),"aria-activedescendant":null,"aria-atomic":Je,"aria-autocomplete":["inline","list","both","none"],"aria-busy":Je,"aria-checked":["true","false","mixed","undefined"],"aria-controls":null,"aria-describedby":null,"aria-disabled":Je,"aria-dropeffect":null,"aria-expanded":["true","false","undefined"],"aria-flowto":null,"aria-grabbed":["true","false","undefined"],"aria-haspopup":Je,"aria-hidden":Je,"aria-invalid":["true","false","grammar","spelling"],"aria-label":null,"aria-labelledby":null,"aria-level":null,"aria-live":["off","polite","assertive"],"aria-multiline":Je,"aria-multiselectable":Je,"aria-owns":null,"aria-posinset":null,"aria-pressed":["true","false","mixed","undefined"],"aria-readonly":Je,"aria-relevant":null,"aria-required":Je,"aria-selected":["true","false","undefined"],"aria-setsize":null,"aria-sort":["ascending","descending","none","other"],"aria-valuemax":null,"aria-valuemin":null,"aria-valuenow":null,"aria-valuetext":null},Hp="beforeunload copy cut dragstart dragover dragleave dragenter dragend drag paste focus blur change click load mousedown mouseenter mouseleave mouseup keydown keyup resize scroll unload".split(" ").map(i=>"on"+i);for(let i of Hp)Fp[i]=null;var Ui=class{constructor(e,t){this.tags={...S1,...e},this.globalAttrs={...Fp,...t},this.allTags=Object.keys(this.tags),this.globalAttrNames=Object.keys(this.globalAttrs)}};Ui.default=new Ui;function $n(i,e,t=i.length){if(!e)return"";let n=e.firstChild,r=n&&n.getChild("TagName");return r?i.sliceString(r.from,Math.min(r.to,t)):""}function Tn(i,e=!1){for(;i;i=i.parent)if(i.name=="Element")if(e)e=!1;else return i;return null}function Kp(i,e,t){let n=t.tags[$n(i,Tn(e))];return n?.children||t.allTags}function zc(i,e){let t=[];for(let n=Tn(e);n&&!n.type.isTop;n=Tn(n.parent)){let r=$n(i,n);if(r&&n.lastChild.name=="CloseTag")break;r&&t.indexOf(r)<0&&(e.name=="EndTag"||e.from>=n.firstChild.to)&&t.push(r)}return t}var Jp=/^[:\-\.\w\u00b7-\uffff]*$/;function Up(i,e,t,n,r){let s=/\s*>/.test(i.sliceDoc(r,r+5))?"":">",o=Tn(t,t.name=="StartTag"||t.name=="TagName");return{from:n,to:r,options:Kp(i.doc,o,e).map(a=>({label:a,type:"type"})).concat(zc(i.doc,t).map((a,l)=>({label:"/"+a,apply:"/"+a+s,type:"type",boost:99-l}))),validFor:/^\/?[:\-\.\w\u00b7-\uffff]*$/}}function Gp(i,e,t,n){let r=/\s*>/.test(i.sliceDoc(n,n+5))?"":">";return{from:t,to:n,options:zc(i.doc,e).map((s,o)=>({label:s,apply:s+r,type:"type",boost:99-o})),validFor:Jp}}function y1(i,e,t,n){let r=[],s=0;for(let o of Kp(i.doc,t,e))r.push({label:"<"+o,type:"type"});for(let o of zc(i.doc,t))r.push({label:"",type:"type",boost:99-s++});return{from:n,to:n,options:r,validFor:/^<\/?[:\-\.\w\u00b7-\uffff]*$/}}function k1(i,e,t,n,r){let s=Tn(t),o=s?e.tags[$n(i.doc,s)]:null,a=o&&o.attrs?Object.keys(o.attrs):[],l=o&&o.globalAttrs===!1?a:a.length?a.concat(e.globalAttrNames):e.globalAttrNames;return{from:n,to:r,options:l.map(c=>({label:c,type:"property"})),validFor:Jp}}function x1(i,e,t,n,r){var s;let o=(s=t.parent)===null||s===void 0?void 0:s.getChild("AttributeName"),a=[],l;if(o){let c=i.sliceDoc(o.from,o.to),h=e.globalAttrs[c];if(!h){let f=Tn(t),u=f?e.tags[$n(i.doc,f)]:null;h=u?.attrs&&u.attrs[c]}if(h){let f=i.sliceDoc(n,r).toLowerCase(),u='"',O='"';/^['"]/.test(f)?(l=f[0]=='"'?/^[^"]*$/:/^[^']*$/,u="",O=i.sliceDoc(r,r+1)==f[0]?"":f[0],f=f.slice(1),n++):l=/^[^\s<>='"]*$/;for(let p of h)a.push({label:p,apply:u+p+O,type:"constant"})}}return{from:n,to:r,options:a,validFor:l}}function em(i,e){let{state:t,pos:n}=e,r=U(t).resolveInner(n,-1),s=r.resolve(n);for(let o=n,a;s==r&&(a=r.childBefore(o));){let l=a.lastChild;if(!l||!l.type.isError||l.fromem(n,r)}var P1=wt.parser.configure({top:"SingleExpression"}),im=[{tag:"script",attrs:i=>i.type=="text/typescript"||i.lang=="ts",parser:_c.parser},{tag:"script",attrs:i=>i.type=="text/babel"||i.type=="text/jsx",parser:Rc.parser},{tag:"script",attrs:i=>i.type=="text/typescript-jsx",parser:Ac.parser},{tag:"script",attrs(i){return/^(importmap|speculationrules|application\/(.+\+)?json)$/i.test(i.type)},parser:P1},{tag:"script",attrs(i){return!i.type||/^(?:text|application)\/(?:x-)?(?:java|ecma)script$|^module$|^$/i.test(i.type)},parser:wt.parser},{tag:"style",attrs(i){return(!i.lang||i.lang=="css")&&(!i.type||/^(text\/)?(x-)?(stylesheet|css)$/i.test(i.type))},parser:Pr.parser}],nm=[{name:"style",parser:Pr.parser.configure({top:"Styles"})}].concat(Hp.map(i=>({name:i,parser:wt.parser}))),rm=Ce.define({name:"html",parser:yp.configure({props:[Pe.add({Element(i){let e=/^(\s*)(<\/)?/.exec(i.textAfter);return i.node.to<=i.pos+e[0].length?i.continue():i.lineIndent(i.node.from)+(e[2]?0:i.unit)},"OpenTag CloseTag SelfClosingTag"(i){return i.column(i.node.from)+i.unit},Document(i){if(i.pos+/\s*/.exec(i.textAfter)[0].lengthi.getChild("TagName")})]}),languageData:{commentTokens:{block:{open:""}},indentOnInput:/^\s*<\/\w+\W$/,wordChars:"-_"}}),oo=rm.configure({wrap:wc(im,nm)});function ao(i={}){let e="",t;i.matchClosingTags===!1&&(e="noMatch"),i.selfClosingTags===!0&&(e=(e?e+" ":"")+"selfClosing"),(i.nestedLanguages&&i.nestedLanguages.length||i.nestedAttributes&&i.nestedAttributes.length)&&(t=wc((i.nestedLanguages||[]).concat(im),(i.nestedAttributes||[]).concat(nm)));let n=t?rm.configure({wrap:t,dialect:e}):e?oo.configure({dialect:e}):oo;return new me(n,[oo.data.of({autocomplete:w1(i)}),i.autoCloseTags!==!1?v1:[],so().support,ro().support])}var Np=new Set("area base br col command embed frame hr img input keygen link meta param source track wbr menuitem".split(" ")),v1=z.inputHandler.of((i,e,t,n,r)=>{if(i.composing||i.state.readOnly||e!=t||n!=">"&&n!="/"||!oo.isActiveAt(i.state,e,-1))return!1;let s=r(),{state:o}=s,a=o.changeByRange(l=>{var c,h,f;let u=o.doc.sliceString(l.from-1,l.to)==n,{head:O}=l,p=U(o).resolveInner(O,-1),m;if(u&&n==">"&&p.name=="EndTag"){let b=p.parent;if(((h=(c=b.parent)===null||c===void 0?void 0:c.lastChild)===null||h===void 0?void 0:h.name)!="CloseTag"&&(m=$n(o.doc,b.parent,O))&&!Np.has(m)){let g=O+(o.doc.sliceString(O,O+1)===">"?1:0),Q=``;return{range:l,changes:{from:O,to:g,insert:Q}}}}else if(u&&n=="/"&&p.name=="IncompleteCloseTag"){let b=p.parent;if(p.from==O-2&&((f=b.lastChild)===null||f===void 0?void 0:f.name)!="CloseTag"&&(m=$n(o.doc,b,O))&&!Np.has(m)){let g=O+(o.doc.sliceString(O,O+1)===">"?1:0),Q=`${m}>`;return{range:P.cursor(O+Q.length,-1),changes:{from:O,to:g,insert:Q}}}}return{range:l}});return a.changes.empty?!1:(i.dispatch([s,o.update(a,{userEvent:"input.complete",scrollIntoView:!0})]),!0)});var am=kn({commentTokens:{block:{open:""}}}),lm=new I,cm=Id.configure({props:[Xe.add(i=>!i.is("Block")||i.is("Document")||Wc(i)!=null||$1(i)?void 0:(e,t)=>({from:t.doc.lineAt(e.from).to,to:e.to})),lm.add(Wc),Pe.add({Document:()=>null}),bt.add({Document:am})]});function Wc(i){let e=/^(?:ATX|Setext)Heading(\d)$/.exec(i.name);return e?+e[1]:void 0}function $1(i){return i.name=="OrderedList"||i.name=="BulletList"}function T1(i,e){let t=i;for(;;){let n=t.nextSibling,r;if(!n||(r=Wc(n.type))!=null&&r<=e)break;t=n}return t.to}var C1=cO.of((i,e,t)=>{for(let n=U(i).resolveInner(t,-1);n&&!(n.fromt)return{from:t,to:s}}return null});function jc(i){return new we(am,i,[],"markdown")}var X1=jc(cm),_1=cm.configure([Gd,Hd,Fd,Kd,{props:[Xe.add({Table:(i,e)=>({from:e.doc.lineAt(i.from).to,to:i.to})})]}]),ki=jc(_1);function R1(i,e){return t=>{if(t&&i){let n=null;if(t=/\S*/.exec(t)[0],typeof i=="function"?n=i(t):n=Ie.matchLanguageName(i,t,!0),n instanceof Ie)return n.support?n.support.language.parser:Wi.getSkippingParser(n.load());if(n)return n.parser}return e?e.parser:null}}var Tr=class{constructor(e,t,n,r,s,o,a){this.node=e,this.from=t,this.to=n,this.spaceBefore=r,this.spaceAfter=s,this.type=o,this.item=a}blank(e,t=!0){let n=this.spaceBefore+(this.node.name=="Blockquote"?">":"");if(e!=null){for(;n.length0;r--)n+=" ";return n+(t?this.spaceAfter:"")}}marker(e,t){let n=this.node.name=="OrderedList"?String(+fm(this.item,e)[2]+t):"";return this.spaceBefore+n+this.type+this.spaceAfter}};function hm(i,e){let t=[],n=[];for(let r=i;r;r=r.parent){if(r.name=="FencedCode")return n;(r.name=="ListItem"||r.name=="Blockquote")&&t.push(r)}for(let r=t.length-1;r>=0;r--){let s=t[r],o,a=e.lineAt(s.from),l=s.from-a.from;if(s.name=="Blockquote"&&(o=/^ *>( ?)/.exec(a.text.slice(l))))n.push(new Tr(s,l,l+o[0].length,"",o[1],">",null));else if(s.name=="ListItem"&&s.parent.name=="OrderedList"&&(o=/^( *)\d+([.)])( *)/.exec(a.text.slice(l)))){let c=o[3],h=o[0].length;c.length>=4&&(c=c.slice(0,c.length-4),h-=4),n.push(new Tr(s.parent,l,l+h,o[1],c,o[2],s))}else if(s.name=="ListItem"&&s.parent.name=="BulletList"&&(o=/^( *)([-+*])( {1,4}\[[ xX]\])?( +)/.exec(a.text.slice(l)))){let c=o[4],h=o[0].length;c.length>4&&(c=c.slice(0,c.length-4),h-=4);let f=o[2];o[3]&&(f+=o[3].replace(/[xX]/," ")),n.push(new Tr(s.parent,l,l+h,o[1],c,f,s))}}return n}function fm(i,e){return/^(\s*)(\d+)(?=[.)])/.exec(e.sliceString(i.from,i.from+10))}function Lc(i,e,t,n=0){for(let r=-1,s=i;;){if(s.name=="ListItem"){let a=fm(s,e),l=+a[2];if(r>=0){if(l!=r+1)return;t.push({from:s.from+a[1].length,to:s.from+a[0].length,insert:String(r+2+n)})}r=l}let o=s.nextSibling;if(!o)break;s=o}}function Vc(i,e){let t=/^[ \t]*/.exec(i)[0].length;if(!t||e.facet(Rt)!=" ")return i;let n=Ne(i,4,t),r="";for(let s=n;s>0;)s>=4?(r+=" ",s-=4):(r+=" ",s--);return r+i.slice(t)}var Dc=(i={})=>({state:e,dispatch:t})=>{let n=U(e),{doc:r}=e,s=null,o=e.changeByRange(a=>{if(!a.empty||!ki.isActiveAt(e,a.from,-1)&&!ki.isActiveAt(e,a.from,1))return s={range:a};let l=a.from,c=r.lineAt(l),h=hm(n.resolveInner(l,-1),r);for(;h.length&&h[h.length-1].from>l-c.from;)h.pop();if(!h.length)return s={range:a};let f=h[h.length-1];if(f.to-f.spaceAfter.length>l-c.from)return s={range:a};let u=l>=f.to-f.spaceAfter.length&&!/\S/.test(c.text.slice(f.to));if(f.item&&u){let g=f.node.firstChild,Q=f.node.getChild("ListItem","ListItem");if(g.to>=l||Q&&Q.to0&&!/[^\s>]/.test(r.lineAt(c.from-1).text)||i.nonTightLists===!1){let S=h.length>1?h[h.length-2]:null,x,v="";S&&S.item?(x=c.from+S.from,v=S.marker(r,1)):x=c.from+(S?S.to:0);let $=[{from:x,to:l,insert:v}];return f.node.name=="OrderedList"&&Lc(f.item,r,$,-2),S&&S.node.name=="OrderedList"&&Lc(S.item,r,$),{range:P.cursor(x+v.length),changes:$}}else{let S=om(h,e,c);return{range:P.cursor(l+S.length+1),changes:{from:c.from,insert:S+e.lineBreak}}}}if(f.node.name=="Blockquote"&&u&&c.from){let g=r.lineAt(c.from-1),Q=/>\s*$/.exec(g.text);if(Q&&Q.index==f.from){let S=e.changes([{from:g.from+Q.index,to:g.to},{from:c.from+f.from,to:c.to}]);return{range:a.map(S),changes:S}}}let O=[];f.node.name=="OrderedList"&&Lc(f.item,r,O);let p=f.item&&f.item.from]*/.exec(c.text)[0].length>=f.to)for(let g=0,Q=h.length-1;g<=Q;g++)m+=g==Q&&!p?h[g].marker(r,1):h[g].blank(gc.from&&/\s/.test(c.text.charAt(b-c.from-1));)b--;return m=Vc(m,e),Z1(f.node,e.doc)&&(m=om(h,e,c)+e.lineBreak+m),O.push({from:b,to:l,insert:e.lineBreak+m}),{range:P.cursor(b+m.length+1),changes:O}});return s?!1:(t(e.update(o,{scrollIntoView:!0,userEvent:"input"})),!0)},A1=Dc();function sm(i){return i.name=="QuoteMark"||i.name=="ListMark"}function Z1(i,e){if(i.name!="OrderedList"&&i.name!="BulletList")return!1;let t=i.firstChild,n=i.getChild("ListItem","ListItem");if(!n)return!1;let r=e.lineAt(t.to),s=e.lineAt(n.from),o=/^[\s>]*$/.test(r.text);return r.number+(o?0:1){let t=U(i),n=null,r=i.changeByRange(s=>{let o=s.from,{doc:a}=i;if(s.empty&&ki.isActiveAt(i,s.from)){let l=a.lineAt(o),c=hm(E1(t,o),a);if(c.length){let h=c[c.length-1],f=h.to-h.spaceAfter.length+(h.spaceAfter?1:0);if(o-l.from>f&&!/\S/.test(l.text.slice(f,o-l.from)))return{range:P.cursor(l.from+f),changes:{from:l.from+f,to:o}};if(o-l.from==f&&(!h.item||l.from<=h.item.from||!/\S/.test(l.text.slice(0,h.to)))){let u=l.from+h.from;if(h.item&&h.node.from{var t;let{main:n}=e.state.selection;if(n.empty)return!1;let r=(t=i.clipboardData)===null||t===void 0?void 0:t.getData("text/plain");if(!r||!/^(https?:\/\/|mailto:|xmpp:|www\.)/.test(r)||(/^www\./.test(r)&&(r="https://"+r),!ki.isActiveAt(e.state,n.from,1)))return!1;let s=U(e.state),o=!1;return s.iterate({from:n.from,to:n.to,enter:a=>{(a.from>n.from||M1.test(a.name))&&(o=!0)},leave:a=>{a.to{if(i.next==-1&&e.canShift(Om))return i.acceptToken(Om);let t=i.peek(-1);if((Ft(t)||t<0)&&e.context.type!=Xr){if(Xn(i,45))if(e.canShift(Cn))i.acceptToken(Cn);else return i.acceptToken(j1,3);if(Xn(i,46))if(e.canShift(Cn))i.acceptToken(Cn);else return i.acceptToken(V1,3);let n=0;for(;i.next==32;)n++,i.advance();(n{if(e.context.type==Xr){i.next==63&&(i.advance(),Gi(i.next)&&i.acceptToken(I1));return}if(i.next==45)i.advance(),Gi(i.next)&&i.acceptToken(e.context.type==Hc&&e.context.depth==Cr(i,i.pos-1)?D1:mm);else if(i.next==63)i.advance(),Gi(i.next)&&i.acceptToken(e.context.type==Uc&&e.context.depth==Cr(i,i.pos-1)?Y1:gm);else{let t=i.pos;for(;;)if(Nc(i.next)){if(i.pos==t)return;i.advance()}else if(i.next==33)ym(i);else if(i.next==38)Fc(i);else if(i.next==42){Fc(i);break}else if(i.next==39||i.next==34){if(Kc(i,!0))break;return}else if(i.next==91||i.next==123){if(!cx(i))return;break}else{km(i,!0,!1,0);break}for(;Nc(i.next);)i.advance();if(i.next==58){if(i.pos==t&&e.canShift(ex))return;let n=i.peek(1);Gi(n)&&i.acceptTokenTo(e.context.type==Uc&&e.context.depth==Cr(i,t)?B1:Qm,t)}}},{contextual:!0});function lx(i){return i>32&&i<127&&i!=34&&i!=37&&i!=44&&i!=60&&i!=62&&i!=92&&i!=94&&i!=96&&i!=123&&i!=124&&i!=125}function dm(i){return i>=48&&i<=57||i>=97&&i<=102||i>=65&&i<=70}function pm(i,e){return i.next==37?(i.advance(),dm(i.next)&&i.advance(),dm(i.next)&&i.advance(),!0):lx(i.next)||e&&i.next==44?(i.advance(),!0):!1}function ym(i){if(i.advance(),i.next==60){for(i.advance();;)if(!pm(i,!0)){i.next==62&&i.advance();break}}else for(;pm(i,!1););}function Fc(i){for(i.advance();!Gi(i.next)&&lo(i.next)!="f";)i.advance()}function Kc(i,e){let t=i.next,n=!1,r=i.pos;for(i.advance();;){let s=i.next;if(s<0)break;if(i.advance(),s==t)if(s==39)if(i.next==39)i.advance();else break;else break;else if(s==92&&t==34)i.next>=0&&i.advance();else if(Ft(s)){if(e)return!1;n=!0}else if(e&&i.pos>=r+1024)return!1}return!n}function cx(i){for(let e=[],t=i.pos+1024;;)if(i.next==91||i.next==123)e.push(i.next),i.advance();else if(i.next==39||i.next==34){if(!Kc(i,!0))return!1}else if(i.next==93||i.next==125){if(e[e.length-1]!=i.next-2)return!1;if(e.pop(),i.advance(),!e.length)return!0}else{if(i.next<0||i.pos>t||Ft(i.next))return!1;i.advance()}}var hx="iiisiiissisfissssssssssssisssiiissssssssssssssssssssssssssfsfssissssssssssssssssssssssssssfif";function lo(i){return i<33?"u":i>125?"s":hx[i-33]}function Bc(i,e){let t=lo(i);return t!="u"&&!(e&&t=="f")}function km(i,e,t,n){if(lo(i.next)=="s"||(i.next==63||i.next==58||i.next==45)&&Bc(i.peek(1),t))i.advance();else return!1;let r=i.pos;for(;;){let s=i.next,o=0,a=n+1;for(;Sm(s);){if(Ft(s)){if(e)return!1;a=0}else a++;s=i.peek(++o)}if(!(s>=0&&(s==58?Bc(i.peek(o+1),t):s==35?i.peek(o-1)!=32:Bc(s,t)))||!t&&a<=n||a==0&&!t&&(Xn(i,45,o)||Xn(i,46,o)))break;if(e&&lo(s)=="f")return!1;for(let c=o;c>=0;c--)i.advance();if(e&&i.pos>r+1024)return!1}return!0}var fx=new J((i,e)=>{if(i.next==33)ym(i),i.acceptToken(H1);else if(i.next==38||i.next==42){let t=i.next==38?N1:F1;Fc(i),i.acceptToken(t)}else i.next==39||i.next==34?(Kc(i,!1),i.acceptToken(G1)):km(i,!1,e.context.type==Xr,e.context.depth)&&i.acceptToken(U1)}),ux=new J((i,e)=>{let t=e.context.type==Gc?e.context.depth:-1,n=i.pos;e:for(;;){let r=0,s=i.next;for(;s==32;)s=i.peek(++r);if(!r&&(Xn(i,45,r)||Xn(i,46,r))||!Ft(s)&&(t<0&&(t=Math.max(e.context.depth+1,r)),rYAN>Y",stateData:";S~O!fOS!gOS^OS~OP_OQbORSOTUOWROXROYYOZZO[XOcPOqQO!PVO!V[O!cTO~O`cO~P]OVkOWROXROYeOZfO[dOcPOmhOqQO~OboO~P!bOVtOWROXROYeOZfO[dOcPOmrOqQO~OpwO~P#WORSOTUOWROXROYYOZZO[XOcPOqQO!PVO!cTO~OSvP!avP!bvP~P#|OWROXROYeOZfO[dOcPOqQO~OmzO~P%OOm!OOUzP!azP!bzP!dzP~P#|O^!SO!b!QO!f!TO!g!RO~ORSOTUOWROXROcPOqQO!PVO!cTO~OY!UOP!QXQ!QX!V!QX!`!QXS!QX!a!QX!b!QXU!QXm!QX!d!QX~P&aO[!WOP!SXQ!SX!V!SX!`!SXS!SX!a!SX!b!SXU!SXm!SX!d!SX~P&aO^!ZO!W![O!b!YO!f!]O!g!YO~OP!_O!V[OQaX!`aX~OPaXQaX!VaX!`aX~P#|OP!bOQ!cO!V[O~OP_O!V[O~P#|OWROXROY!fOcPOqQObfXmfXofXpfX~OWROXRO[!hOcPOqQObhXmhXohXphX~ObeXmlXoeX~ObkXokX~P%OOm!kO~Om!lObnPonP~P%OOb!pOo!oO~Ob!pO~P!bOm!sOosXpsX~OosXpsX~P%OOm!uOotPptP~P%OOo!xOp!yO~Op!yO~P#WOS!|O!a#OO!b#OO~OUyX!ayX!byX!dyX~P#|Om#QO~OU#SO!a#UO!b#UO!d#RO~Om#WOUzX!azX!bzX!dzX~O]#XO~O!b#XO!g#YO~O^#ZO!b#XO!g#YO~OP!RXQ!RX!V!RX!`!RXS!RX!a!RX!b!RXU!RXm!RX!d!RX~P&aOP!TXQ!TX!V!TX!`!TXS!TX!a!TX!b!TXU!TXm!TX!d!TX~P&aO!b#^O!g#^O~O^#_O!b#^O!f#`O!g#^O~O^#_O!W#aO!b#^O!g#^O~OPaaQaa!Vaa!`aa~P#|OP#cO!V[OQ!XX!`!XX~OP!XXQ!XX!V!XX!`!XX~P#|OP_O!V[OQ!_X!`!_X~P#|OWROXROcPOqQObgXmgXogXpgX~OWROXROcPOqQObiXmiXoiXpiX~Obkaoka~P%OObnXonX~P%OOm#kO~Ob#lOo!oO~Oosapsa~P%OOotXptX~P%OOm#pO~Oo!xOp#qO~OSwP!awP!bwP~P#|OS!|O!a#vO!b#vO~OUya!aya!bya!dya~P#|Om#xO~P%OOm#{OU}P!a}P!b}P!d}P~P#|OU#SO!a$OO!b$OO!d#RO~O]$QO~O!b$QO!g$RO~O!b$SO!g$SO~O^$TO!b$SO!g$SO~O^$TO!b$SO!f$UO!g$SO~OP!XaQ!Xa!V!Xa!`!Xa~P#|Obnaona~P%OOotapta~P%OOo!xO~OU|X!a|X!b|X!d|X~P#|Om$ZO~Om$]OU}X!a}X!b}X!d}X~O]$^O~O!b$_O!g$_O~O^$`O!b$_O!g$_O~OU|a!a|a!b|a!d|a~P#|O!b$cO!g$cO~O",goto:",]!mPPPPPPPPPPPPPPPPP!nPP!v#v#|$`#|$c$f$j$nP%VPPP!v%Y%^%a%{&O%a&R&U&X&_&b%aP&e&{&e'O'RPP']'a'g'm's'y(XPPPPPPPP(_)e*X+c,VUaObcR#e!c!{ROPQSTUXY_bcdehknrtvz!O!U!W!_!b!c!f!h!k!l!s!u!|#Q#R#S#W#c#k#p#x#{$Z$]QmPR!qnqfPQThknrtv!k!l!s!u#R#k#pR!gdR!ieTlPnTjPnSiPnSqQvQ{TQ!mkQ!trQ!vtR#y#RR!nkTsQvR!wt!RWOSUXY_bcz!O!U!W!_!b!c!|#Q#S#W#c#x#{$Z$]RySR#t!|R|TR|UQ!PUR#|#SR#z#RR#z#SyZOSU_bcz!O!_!b!c!|#Q#S#W#c#x#{$Z$]R!VXR!XYa]O^abc!a!c!eT!da!eQnPR!rnQvQR!{vQ!}yR#u!}Q#T|R#}#TW^Obc!cS!^^!aT!aa!eQ!eaR#f!eW`Obc!cQxSS}U#SQ!`_Q#PzQ#V!OQ#b!_Q#d!bQ#s!|Q#w#QQ$P#WQ$V#cQ$Y#xQ$[#{Q$a$ZR$b$]xZOSU_bcz!O!_!b!c!|#Q#S#W#c#x#{$Z$]Q!VXQ!XYQ#[!UR#]!W!QWOSUXY_bcz!O!U!W!_!b!c!|#Q#S#W#c#x#{$Z$]pfPQThknrtv!k!l!s!u#R#k#pQ!gdQ!ieQ#g!fR#h!hSgPn^pQTkrtv#RQ!jhQ#i!kQ#j!lQ#n!sQ#o!uQ$W#kR$X#pQuQR!zv",nodeNames:"\u26A0 DirectiveEnd DocEnd - - ? ? ? Literal QuotedLiteral Anchor Alias Tag BlockLiteralContent Comment Stream BOM Document ] [ FlowSequence Item Tagged Anchored Anchored Tagged FlowMapping Pair Key : Pair , } { FlowMapping Pair Pair BlockSequence Item Item BlockMapping Pair Pair Key Pair Pair BlockLiteral BlockLiteralHeader Tagged Anchored Anchored Tagged Directive DirectiveName DirectiveContent Document",maxTerm:74,context:sx,nodeProps:[["isolate",-3,8,9,14,""],["openedBy",18,"[",32,"{"],["closedBy",19,"]",33,"}"]],propSources:[Ox],skippedNodes:[0],repeatNodeCount:6,tokenData:"-Y~RnOX#PXY$QYZ$]Z]#P]^$]^p#Ppq$Qqs#Pst$btu#Puv$yv|#P|}&e}![#P![!]'O!]!`#P!`!a'i!a!}#P!}#O*g#O#P#P#P#Q+Q#Q#o#P#o#p+k#p#q'i#q#r,U#r;'S#P;'S;=`#z<%l?HT#P?HT?HU,o?HUO#PQ#UU!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PQ#kTOY#PZs#Pt;'S#P;'S;=`#z<%lO#PQ#}P;=`<%l#P~$VQ!f~XY$Qpq$Q~$bO!g~~$gS^~OY$bZ;'S$b;'S;=`$s<%lO$b~$vP;=`<%l$bR%OX!WQOX%kXY#PZ]%k]^#P^p%kpq#hq;'S%k;'S;=`&_<%lO%kR%rX!WQ!VPOX%kXY#PZ]%k]^#P^p%kpq#hq;'S%k;'S;=`&_<%lO%kR&bP;=`<%l%kR&lUoP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR'VUmP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR'p[!PP!WQOY#PZp#Ppq#hq{#P{|(f|}#P}!O(f!O!R#P!R![)p![;'S#P;'S;=`#z<%lO#PR(mW!PP!WQOY#PZp#Ppq#hq!R#P!R![)V![;'S#P;'S;=`#z<%lO#PR)^U!PP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR)wY!PP!WQOY#PZp#Ppq#hq{#P{|)V|}#P}!O)V!O;'S#P;'S;=`#z<%lO#PR*nUcP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR+XUbP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR+rUqP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR,]UpP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR,vU`P!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#P",tokenizers:[ox,ax,fx,ux,0,1],topRules:{Stream:[0,15]},tokenPrec:0});var dx=ve.deserialize({version:14,states:"!vOQOPOOO]OPO'#C_OhOPO'#C^OOOO'#Cc'#CcOpOPO'#CaQOOOOOO{OPOOOOOO'#Cb'#CbO!WOPO'#C`O!`OPO,58xOOOO-E6a-E6aOOOO-E6`-E6`OOOO'#C_'#C_OOOO1G.d1G.d",stateData:"!h~OXPOYROWTP~OWVXXRXYRX~OYVOXSP~OXROYROWTX~OXROYROWTP~OYVOXSX~OX[O~OXY~",goto:"vWPPX[beioRUOQQOR]XRXQTTOUQWQRZWSSOURYS",nodeNames:"\u26A0 Document Frontmatter DashLine FrontmatterContent Body",maxTerm:10,skippedNodes:[0],repeatNodeCount:2,tokenData:"$z~RXOYnYZ!^Z]n]^!^^}n}!O!i!O;'Sn;'S;=`!c<%lOn~qXOYnYZ!^Z]n]^!^^;'Sn;'S;=`!c<%l~n~On~~!^~!cOY~~!fP;=`<%ln~!lZOYnYZ!^Z]n]^!^^}n}!O#_!O;'Sn;'S;=`!c<%l~n~On~~!^~#bZOYnYZ!^Z]n]^!^^}n}!O$T!O;'Sn;'S;=`!c<%l~n~On~~!^~$WXOYnYZ$sZ]n]^$s^;'Sn;'S;=`!c<%l~n~On~~$s~$zOX~Y~",tokenizers:[0],topRules:{Document:[0,1]},tokenPrec:67}),px=Ce.define({name:"yaml",parser:xm.configure({props:[Pe.add({Stream:i=>{for(let e=i.node.resolve(i.pos,-1);e&&e.to>=i.pos;e=e.parent){if(e.name=="BlockLiteralContent"&&e.fromi.pos)return null}}return null},FlowMapping:St({closing:"}"}),FlowSequence:St({closing:"]"})}),Xe.add({"FlowMapping FlowSequence":ht,"Item Pair BlockLiteral":(i,e)=>({from:e.doc.lineAt(i.from).to,to:i.to})})]}),languageData:{commentTokens:{line:"#"},indentOnInput:/^\s*[\]\}]$/}});var mx=Ce.define({name:"yaml-frontmatter",parser:dx.configure({props:[Qe({DashLine:d.meta})]})});function wm(i){let{language:e,support:t}=i.content instanceof me?i.content:{language:i.content,support:[]};return new me(mx.configure({wrap:bn(n=>n.name=="FrontmatterContent"?{parser:px.parser}:n.name=="Body"?{parser:e.parser}:null)}),t)}var gx=1,Xm=194,_m=195,Qx=196,Pm=197,bx=198,Sx=199,yx=200,kx=2,Rm=3,vm=201,xx=24,wx=25,Px=49,vx=50,$x=55,Tx=56,Cx=57,Xx=59,_x=60,Rx=61,Ax=62,Zx=63,Ex=65,qx=238,zx=71,Lx=241,Mx=242,Wx=243,jx=244,Vx=245,Dx=246,Yx=247,Ix=248,Am=72,Bx=249,Ux=250,Gx=251,Nx=252,Fx=253,Hx=254,Kx=255,Jx=256,ew=73,tw=77,iw=263,nw=112,rw=130,sw=151,ow=152,aw=155,Ni=10,_r=13,ih=32,fo=9,nh=35,lw=40,cw=46,th=123,$m=125,Zm=39,Em=34,Tm=92,hw=111,fw=120,uw=78,Ow=117,dw=85,pw=new Set([wx,Px,vx,iw,Ex,rw,Tx,Cx,qx,Ax,Zx,Am,ew,tw,_x,Rx,sw,ow,aw,nw]);function Jc(i){return i==Ni||i==_r}function eh(i){return i>=48&&i<=57||i>=65&&i<=70||i>=97&&i<=102}var mw=new J((i,e)=>{let t;if(i.next<0)i.acceptToken(Sx);else if(e.context.flags&co)Jc(i.next)&&i.acceptToken(bx,1);else if(((t=i.peek(-1))<0||Jc(t))&&e.canShift(Pm)){let n=0;for(;i.next==ih||i.next==fo;)i.advance(),n++;(i.next==Ni||i.next==_r||i.next==nh)&&i.acceptToken(Pm,-n)}else Jc(i.next)&&i.acceptToken(Qx,1)},{contextual:!0}),gw=new J((i,e)=>{let t=e.context;if(t.flags)return;let n=i.peek(-1);if(n==Ni||n==_r){let r=0,s=0;for(;;){if(i.next==ih)r++;else if(i.next==fo)r+=8-r%8;else break;i.advance(),s++}r!=t.indent&&i.next!=Ni&&i.next!=_r&&i.next!=nh&&(r[i,e|qm])),Sw=new dt({start:Qw,reduce(i,e,t,n){return i.flags&co&&pw.has(e)||(e==zx||e==Am)&&i.flags&qm?i.parent:i},shift(i,e,t,n){return e==Xm?new ho(i,bw(n.read(n.pos,t.pos)),0):e==_m?i.parent:e==xx||e==$x||e==Xx||e==Rm?new ho(i,0,co):Cm.has(e)?new ho(i,0,Cm.get(e)|i.flags&co):i},hash(i){return i.hash}}),yw=new J(i=>{for(let e=0;e<5;e++){if(i.next!="print".charCodeAt(e))return;i.advance()}if(!/\w/.test(String.fromCharCode(i.next)))for(let e=0;;e++){let t=i.peek(e);if(!(t==ih||t==fo)){t!=lw&&t!=cw&&t!=Ni&&t!=_r&&t!=nh&&i.acceptToken(gx);return}}}),kw=new J((i,e)=>{let{flags:t}=e.context,n=t&Ht?Em:Zm,r=(t&Kt)>0,s=!(t&Jt),o=(t&ei)>0,a=i.pos;for(;!(i.next<0);)if(o&&i.next==th)if(i.peek(1)==th)i.advance(2);else{if(i.pos==a){i.acceptToken(Rm,1);return}break}else if(s&&i.next==Tm){if(i.pos==a){i.advance();let l=i.next;l>=0&&(i.advance(),xw(i,l)),i.acceptToken(kx);return}break}else if(i.next==Tm&&!s&&i.peek(1)>-1)i.advance(2);else if(i.next==n&&(!r||i.peek(1)==n&&i.peek(2)==n)){if(i.pos==a){i.acceptToken(vm,r?3:1);return}break}else if(i.next==Ni){if(r)i.advance();else if(i.pos==a){i.acceptToken(vm);return}break}else i.advance();i.pos>a&&i.acceptToken(yx)});function xw(i,e){if(e==hw)for(let t=0;t<2&&i.next>=48&&i.next<=55;t++)i.advance();else if(e==fw)for(let t=0;t<2&&eh(i.next);t++)i.advance();else if(e==Ow)for(let t=0;t<4&&eh(i.next);t++)i.advance();else if(e==dw)for(let t=0;t<8&&eh(i.next);t++)i.advance();else if(e==uw&&i.next==th){for(i.advance();i.next>=0&&i.next!=$m&&i.next!=Zm&&i.next!=Em&&i.next!=Ni;)i.advance();i.next==$m&&i.advance()}}var ww=Qe({'async "*" "**" FormatConversion FormatSpec':d.modifier,"for while if elif else try except finally return raise break continue with pass assert await yield match case":d.controlKeyword,"in not and or is del":d.operatorKeyword,"from def class global nonlocal lambda":d.definitionKeyword,import:d.moduleKeyword,"with as print":d.keyword,Boolean:d.bool,None:d.null,VariableName:d.variableName,"CallExpression/VariableName":d.function(d.variableName),"FunctionDefinition/VariableName":d.function(d.definition(d.variableName)),"ClassDefinition/VariableName":d.definition(d.className),PropertyName:d.propertyName,"CallExpression/MemberExpression/PropertyName":d.function(d.propertyName),Comment:d.lineComment,Number:d.number,String:d.string,FormatString:d.special(d.string),Escape:d.escape,UpdateOp:d.updateOperator,"ArithOp!":d.arithmeticOperator,BitOp:d.bitwiseOperator,CompareOp:d.compareOperator,AssignOp:d.definitionOperator,Ellipsis:d.punctuation,At:d.meta,"( )":d.paren,"[ ]":d.squareBracket,"{ }":d.brace,".":d.derefOperator,", ;":d.separator}),Pw={__proto__:null,await:44,or:54,and:56,in:60,not:62,is:64,if:70,else:72,lambda:76,yield:94,from:96,async:102,for:104,None:162,True:164,False:164,del:178,pass:182,break:186,continue:190,return:194,raise:202,import:206,as:208,global:212,nonlocal:214,assert:218,type:223,elif:236,while:240,try:246,except:248,finally:250,with:254,def:258,class:268,match:279,case:285},zm=ve.deserialize({version:14,states:"##jQ`QeOOP$}OSOOO&WQtO'#HUOOQS'#Co'#CoOOQS'#Cp'#CpO'vQdO'#CnO*UQtO'#HTOOQS'#HU'#HUOOQS'#DU'#DUOOQS'#HT'#HTO*rQdO'#D_O+VQdO'#DfO+gQdO'#DjO+zOWO'#DuO,VOWO'#DvO.[QtO'#GuOOQS'#Gu'#GuO'vQdO'#GtO0ZQtO'#GtOOQS'#Eb'#EbO0rQdO'#EcOOQS'#Gs'#GsO0|QdO'#GrOOQV'#Gr'#GrO1XQdO'#FYOOQS'#G^'#G^O1^QdO'#FXOOQV'#IS'#ISOOQV'#Gq'#GqOOQV'#Fq'#FqQ`QeOOO'vQdO'#CqO1lQdO'#C}O1sQdO'#DRO2RQdO'#HYO2cQtO'#EVO'vQdO'#EWOOQS'#EY'#EYOOQS'#E['#E[OOQS'#E^'#E^O2wQdO'#E`O3_QdO'#EdO3rQdO'#EfO3zQtO'#EfO1XQdO'#EiO0rQdO'#ElO1XQdO'#EnO0rQdO'#EtO0rQdO'#EwO4VQdO'#EyO4^QdO'#FOO4iQdO'#EzO0rQdO'#FOO1XQdO'#FQO1XQdO'#FVO4nQdO'#F[P4uOdO'#GpPOOO)CBd)CBdOOQS'#Ce'#CeOOQS'#Cf'#CfOOQS'#Cg'#CgOOQS'#Ch'#ChOOQS'#Ci'#CiOOQS'#Cj'#CjOOQS'#Cl'#ClO'vQdO,59OO'vQdO,59OO'vQdO,59OO'vQdO,59OO'vQdO,59OO'vQdO,59OO5TQdO'#DoOOQS,5:Y,5:YO5hQdO'#HdOOQS,5:],5:]O5uQ!fO,5:]O5zQtO,59YO1lQdO,59bO1lQdO,59bO1lQdO,59bO8jQdO,59bO8oQdO,59bO8vQdO,59jO8}QdO'#HTO:TQdO'#HSOOQS'#HS'#HSOOQS'#D['#D[O:lQdO,59aO'vQdO,59aO:zQdO,59aOOQS,59y,59yO;PQdO,5:RO'vQdO,5:ROOQS,5:Q,5:QO;_QdO,5:QO;dQdO,5:XO'vQdO,5:XO'vQdO,5:VOOQS,5:U,5:UO;uQdO,5:UO;zQdO,5:WOOOW'#Fy'#FyOOOOQS'#Ds'#DsOOQS1G/w1G/wOOQS1G.|1G.|O!/[QtO1G.|O!/cQtO1G.|O1lQdO1G.|O!0OQdO1G/UOOQS'#DZ'#DZO0rQdO,59tOOQS1G.{1G.{O!0VQdO1G/eO!0gQdO1G/eO!0oQdO1G/fO'vQdO'#H[O!0tQdO'#H[O!0yQtO1G.{O!1ZQdO,59iO!2aQdO,5=zO!2qQdO,5=zO!2yQdO1G/mO!3OQtO1G/mOOQS1G/l1G/lO!3`QdO,5=uO!4VQdO,5=uO0rQdO1G/qO!4tQdO1G/sO!4yQtO1G/sO!5ZQtO1G/qOOQS1G/p1G/pOOQS1G/r1G/rOOOW-E9w-E9wOOQS1G/{1G/{O!5kQdO'#HxO0rQdO'#HxO!5|QdO,5>cOOOW-E9x-E9xOOQS1G/|1G/|OOQS-E9{-E9{O!6[Q#xO1G2zO!6{QtO1G2zO'vQdO,5kOOQS1G1`1G1`O!8RQdO1G1`OOQS'#DV'#DVO0rQdO,5=qOOQS,5=q,5=qO!8WQdO'#FrO!8cQdO,59oO!8kQdO1G/XO!8uQtO,5=uOOQS1G3`1G3`OOQS,5:m,5:mO!9fQdO'#GtOOQS,5jO!;ZQdO,5>jO1XQdO,5>jO!;lQdO,5>iOOQS-E:R-E:RO!;qQdO1G0lO!;|QdO1G0lO!lO!lO!hO!=VQdO,5>hO!=hQdO'#EpO0rQdO1G0tO!=sQdO1G0tO!=xQgO1G0zO!AvQgO1G0}O!EqQdO,5>oO!E{QdO,5>oO!FTQtO,5>oO0rQdO1G1PO!F_QdO1G1PO4iQdO1G1UO!!vQdO1G1WOOQV,5;a,5;aO!FdQfO,5;aO!FiQgO1G1QO!JjQdO'#GZO4iQdO1G1QO4iQdO1G1QO!JzQdO,5>pO!KXQdO,5>pO1XQdO,5>pOOQV1G1U1G1UO!KaQdO'#FSO!KrQ!fO1G1WO!KzQdO1G1WOOQV1G1]1G1]O4iQdO1G1]O!LPQdO1G1]O!LXQdO'#F^OOQV1G1b1G1bO!#ZQtO1G1bPOOO1G2v1G2vP!L^OSO1G2vOOQS,5=},5=}OOQS'#Dp'#DpO0rQdO,5=}O!LfQdO,5=|O!LyQdO,5=|OOQS1G/u1G/uO!MRQdO,5>PO!McQdO,5>PO!MkQdO,5>PO!NOQdO,5>PO!N`QdO,5>POOQS1G3j1G3jOOQS7+$h7+$hO!8kQdO7+$pO#!RQdO1G.|O#!YQdO1G.|OOQS1G/`1G/`OOQS,5<`,5<`O'vQdO,5<`OOQS7+%P7+%PO#!aQdO7+%POOQS-E9r-E9rOOQS7+%Q7+%QO#!qQdO,5=vO'vQdO,5=vOOQS7+$g7+$gO#!vQdO7+%PO##OQdO7+%QO##TQdO1G3fOOQS7+%X7+%XO##eQdO1G3fO##mQdO7+%XOOQS,5<_,5<_O'vQdO,5<_O##rQdO1G3aOOQS-E9q-E9qO#$iQdO7+%]OOQS7+%_7+%_O#$wQdO1G3aO#%fQdO7+%_O#%kQdO1G3gO#%{QdO1G3gO#&TQdO7+%]O#&YQdO,5>dO#&sQdO,5>dO#&sQdO,5>dOOQS'#Dx'#DxO#'UO&jO'#DzO#'aO`O'#HyOOOW1G3}1G3}O#'fQdO1G3}O#'nQdO1G3}O#'yQ#xO7+(fO#(jQtO1G2UP#)TQdO'#GOOOQS,5nQdO,5sQdO1G4OOOQS-E9y-E9yO#?^QdO1G4OO<[QdO'#H{OOOO'#D{'#D{OOOO'#F|'#F|O#?oO&jO,5:fOOOW,5>e,5>eOOOW7+)i7+)iO#?zQdO7+)iO#@SQdO1G2zO#@mQdO1G2zP'vQdO'#FuO0rQdO<mO#BQQdO,5>mOOQS1G0v1G0vOOQS<rO#KgQdO,5>rO#KrQdO,5>rO#K}QdO,5>qO#L`QdO,5>qOOQS1G1Y1G1YOOQS,5;p,5;pOOQV<VAN>VO$ oQdO<cAN>cO0rQdO1G1|O$!PQtO1G1|P$!ZQdO'#FvOOQS1G2R1G2RP$!hQdO'#F{O$!uQdO7+)jO$#`QdO,5>gOOOO-E9z-E9zOOOW<tO$4{QdO,5>tO1XQdO,5vO$)nQdO,5>vOOQS1G1p1G1pOOQS,5<[,5<[OOQU7+'P7+'PO$+zQdO1G/iO$)nQdO,5wO$8zQdO,5>wOOQS1G1s1G1sOOQS7+'S7+'SP$)nQdO'#GdO$9SQdO1G4bO$9^QdO1G4bO$9fQdO1G4bOOQS7+%T7+%TO$9tQdO1G1tO$:SQtO'#FaO$:ZQdO,5<}OOQS,5<},5<}O$:iQdO1G4cOOQS-E:a-E:aO$)nQdO,5<|O$:pQdO,5<|O$:uQdO7+)|OOQS-E:`-E:`O$;PQdO7+)|O$)nQdO,5S~O%cOS%^OSSOS%]PQ~OPdOVaOfoOhYOopOs!POvqO!PrO!Q{O!T!SO!U!RO!XZO!][O!h`O!r`O!s`O!t`O!{tO!}uO#PvO#RwO#TxO#XyO#ZzO#^|O#_|O#a}O#c!OO#l!QO#o!TO#s!UO#u!VO#z!WO#}hO$P!XO%oRO%pRO%tSO%uWO&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O&c^O&d^O&e^O&f^O&g^O&h^O&i^O&j^O~O%]!YO~OV!aO_!aOa!bOh!iO!X!kO!f!mO%j![O%k!]O%l!^O%m!_O%n!_O%o!`O%p!`O%q!aO%r!aO%s!aO~Ok%xXl%xXm%xXn%xXo%xXp%xXs%xXz%xX{%xX!x%xX#g%xX%[%xX%_%xX%z%xXg%xX!T%xX!U%xX%{%xX!W%xX![%xX!Q%xX#[%xXt%xX!m%xX~P%SOfoOhYO!XZO!][O!h`O!r`O!s`O!t`O%oRO%pRO%tSO%uWO&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O&c^O&d^O&e^O&f^O&g^O&h^O&i^O&j^O~Oz%wX{%wX#g%wX%[%wX%_%wX%z%wX~Ok!pOl!qOm!oOn!oOo!rOp!sOs!tO!x%wX~P)pOV!zOg!|Oo0cOv0qO!PrO~P'vOV#OOo0cOv0qO!W#PO~P'vOV#SOa#TOo0cOv0qO![#UO~P'vOQ#XO%`#XO%a#ZO~OQ#^OR#[O%`#^O%a#`O~OV%iX_%iXa%iXh%iXk%iXl%iXm%iXn%iXo%iXp%iXs%iXz%iX!X%iX!f%iX%j%iX%k%iX%l%iX%m%iX%n%iX%o%iX%p%iX%q%iX%r%iX%s%iXg%iX!T%iX!U%iX~O&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O&c^O&d^O&e^O&f^O&g^O&h^O&i^O&j^O{%iX!x%iX#g%iX%[%iX%_%iX%z%iX%{%iX!W%iX![%iX!Q%iX#[%iXt%iX!m%iX~P,eOz#dO{%hX!x%hX#g%hX%[%hX%_%hX%z%hX~Oo0cOv0qO~P'vO#g#gO%[#iO%_#iO~O%uWO~O!T#nO#u!VO#z!WO#}hO~OopO~P'vOV#sOa#tO%uWO{wP~OV#xOo0cOv0qO!Q#yO~P'vO{#{O!x$QO%z#|O#g!yX%[!yX%_!yX~OV#xOo0cOv0qO#g#SX%[#SX%_#SX~P'vOo0cOv0qO#g#WX%[#WX%_#WX~P'vOh$WO%uWO~O!f$YO!r$YO%uWO~OV$eO~P'vO!U$gO#s$hO#u$iO~O{$jO~OV$qO~P'vOS$sO%[$rO%_$rO%c$tO~OV$}Oa$}Og%POo0cOv0qO~P'vOo0cOv0qO{%SO~P'vO&Y%UO~Oa!bOh!iO!X!kO!f!mOVba_bakbalbambanbaobapbasbazba{ba!xba#gba%[ba%_ba%jba%kba%lba%mba%nba%oba%pba%qba%rba%sba%zbagba!Tba!Uba%{ba!Wba![ba!Qba#[batba!mba~On%ZO~Oo%ZO~P'vOo0cO~P'vOk0eOl0fOm0dOn0dOo0mOp0nOs0rOg%wX!T%wX!U%wX%{%wX!W%wX![%wX!Q%wX#[%wX!m%wX~P)pO%{%]Og%vXz%vX!T%vX!U%vX!W%vX{%vX~Og%_Oz%`O!T%dO!U%cO~Og%_O~Oz%gO!T%dO!U%cO!W&SX~O!W%kO~Oz%lO{%nO!T%dO!U%cO![%}X~O![%rO~O![%sO~OQ#XO%`#XO%a%uO~OV%wOo0cOv0qO!PrO~P'vOQ#^OR#[O%`#^O%a%zO~OV!qa_!qaa!qah!qak!qal!qam!qan!qao!qap!qas!qaz!qa{!qa!X!qa!f!qa!x!qa#g!qa%[!qa%_!qa%j!qa%k!qa%l!qa%m!qa%n!qa%o!qa%p!qa%q!qa%r!qa%s!qa%z!qag!qa!T!qa!U!qa%{!qa!W!qa![!qa!Q!qa#[!qat!qa!m!qa~P#yOz%|O{%ha!x%ha#g%ha%[%ha%_%ha%z%ha~P%SOV&OOopOvqO{%ha!x%ha#g%ha%[%ha%_%ha%z%ha~P'vOz%|O{%ha!x%ha#g%ha%[%ha%_%ha%z%ha~OPdOVaOopOvqO!PrO!Q{O!{tO!}uO#PvO#RwO#TxO#XyO#ZzO#^|O#_|O#a}O#c!OO#g$zX%[$zX%_$zX~P'vO#g#gO%[&TO%_&TO~O!f&UOh&sX%[&sXz&sX#[&sX#g&sX%_&sX#Z&sXg&sX~Oh!iO%[&WO~Okealeameaneaoeapeaseazea{ea!xea#gea%[ea%_ea%zeagea!Tea!Uea%{ea!Wea![ea!Qea#[eatea!mea~P%SOsqazqa{qa#gqa%[qa%_qa%zqa~Ok!pOl!qOm!oOn!oOo!rOp!sO!xqa~PEcO%z&YOz%yX{%yX~O%uWOz%yX{%yX~Oz&]O{wX~O{&_O~Oz%lO#g%}X%[%}X%_%}Xg%}X{%}X![%}X!m%}X%z%}X~OV0lOo0cOv0qO!PrO~P'vO%z#|O#gUa%[Ua%_Ua~Oz&hO#g&PX%[&PX%_&PXn&PX~P%SOz&kO!Q&jO#g#Wa%[#Wa%_#Wa~Oz&lO#[&nO#g&rX%[&rX%_&rXg&rX~O!f$YO!r$YO#Z&qO%uWO~O#Z&qO~Oz&sO#g&tX%[&tX%_&tX~Oz&uO#g&pX%[&pX%_&pX{&pX~O!X&wO%z&xO~Oz&|On&wX~P%SOn'PO~OPdOVaOopOvqO!PrO!Q{O!{tO!}uO#PvO#RwO#TxO#XyO#ZzO#^|O#_|O#a}O#c!OO%['UO~P'vOt'YO#p'WO#q'XOP#naV#naf#nah#nao#nas#nav#na!P#na!Q#na!T#na!U#na!X#na!]#na!h#na!r#na!s#na!t#na!{#na!}#na#P#na#R#na#T#na#X#na#Z#na#^#na#_#na#a#na#c#na#l#na#o#na#s#na#u#na#z#na#}#na$P#na%X#na%o#na%p#na%t#na%u#na&Z#na&[#na&]#na&^#na&_#na&`#na&a#na&b#na&c#na&d#na&e#na&f#na&g#na&h#na&i#na&j#na%Z#na%_#na~Oz'ZO#[']O{&xX~Oh'_O!X&wO~Oh!iO{$jO!X&wO~O{'eO~P%SO%['hO%_'hO~OS'iO%['hO%_'hO~OV!aO_!aOa!bOh!iO!X!kO!f!mO%l!^O%m!_O%n!_O%o!`O%p!`O%q!aO%r!aO%s!aOkWilWimWinWioWipWisWizWi{Wi!xWi#gWi%[Wi%_Wi%jWi%zWigWi!TWi!UWi%{Wi!WWi![Wi!QWi#[WitWi!mWi~O%k!]O~P!#uO%kWi~P!#uOV!aO_!aOa!bOh!iO!X!kO!f!mO%o!`O%p!`O%q!aO%r!aO%s!aOkWilWimWinWioWipWisWizWi{Wi!xWi#gWi%[Wi%_Wi%jWi%kWi%lWi%zWigWi!TWi!UWi%{Wi!WWi![Wi!QWi#[WitWi!mWi~O%m!_O%n!_O~P!&pO%mWi%nWi~P!&pOa!bOh!iO!X!kO!f!mOkWilWimWinWioWipWisWizWi{Wi!xWi#gWi%[Wi%_Wi%jWi%kWi%lWi%mWi%nWi%oWi%pWi%zWigWi!TWi!UWi%{Wi!WWi![Wi!QWi#[WitWi!mWi~OV!aO_!aO%q!aO%r!aO%s!aO~P!)nOVWi_Wi%qWi%rWi%sWi~P!)nO!T%dO!U%cOg&VXz&VX~O%z'kO%{'kO~P,eOz'mOg&UX~Og'oO~Oz'pO{'rO!W&XX~Oo0cOv0qOz'pO{'sO!W&XX~P'vO!W'uO~Om!oOn!oOo!rOp!sOkjisjizji{ji!xji#gji%[ji%_ji%zji~Ol!qO~P!.aOlji~P!.aOk0eOl0fOm0dOn0dOo0mOp0nO~Ot'wO~P!/jOV'|Og'}Oo0cOv0qO~P'vOg'}Oz(OO~Og(QO~O!U(SO~Og(TOz(OO!T%dO!U%cO~P%SOk0eOl0fOm0dOn0dOo0mOp0nOgqa!Tqa!Uqa%{qa!Wqa![qa!Qqa#[qatqa!mqa~PEcOV'|Oo0cOv0qO!W&Sa~P'vOz(WO!W&Sa~O!W(XO~Oz(WO!T%dO!U%cO!W&Sa~P%SOV(]Oo0cOv0qO![%}a#g%}a%[%}a%_%}ag%}a{%}a!m%}a%z%}a~P'vOz(^O![%}a#g%}a%[%}a%_%}ag%}a{%}a!m%}a%z%}a~O![(aO~Oz(^O!T%dO!U%cO![%}a~P%SOz(dO!T%dO!U%cO![&Ta~P%SOz(gO{&lX![&lX!m&lX%z&lX~O{(kO![(mO!m(nO%z(jO~OV&OOopOvqO{%hi!x%hi#g%hi%[%hi%_%hi%z%hi~P'vOz(pO{%hi!x%hi#g%hi%[%hi%_%hi%z%hi~O!f&UOh&sa%[&saz&sa#[&sa#g&sa%_&sa#Z&sag&sa~O%[(uO~OV#sOa#tO%uWO~Oz&]O{wa~OopOvqO~P'vOz(^O#g%}a%[%}a%_%}ag%}a{%}a![%}a!m%}a%z%}a~P%SOz(zO#g%hX%[%hX%_%hX%z%hX~O%z#|O#gUi%[Ui%_Ui~O#g&Pa%[&Pa%_&Pan&Pa~P'vOz(}O#g&Pa%[&Pa%_&Pan&Pa~O%uWO#g&ra%[&ra%_&rag&ra~Oz)SO#g&ra%[&ra%_&rag&ra~Og)VO~OV)WOh$WO%uWO~O#Z)XO~O%uWO#g&ta%[&ta%_&ta~Oz)ZO#g&ta%[&ta%_&ta~Oo0cOv0qO#g&pa%[&pa%_&pa{&pa~P'vOz)^O#g&pa%[&pa%_&pa{&pa~OV)`Oa)`O%uWO~O%z)eO~Ot)hO#j)gOP#hiV#hif#hih#hio#his#hiv#hi!P#hi!Q#hi!T#hi!U#hi!X#hi!]#hi!h#hi!r#hi!s#hi!t#hi!{#hi!}#hi#P#hi#R#hi#T#hi#X#hi#Z#hi#^#hi#_#hi#a#hi#c#hi#l#hi#o#hi#s#hi#u#hi#z#hi#}#hi$P#hi%X#hi%o#hi%p#hi%t#hi%u#hi&Z#hi&[#hi&]#hi&^#hi&_#hi&`#hi&a#hi&b#hi&c#hi&d#hi&e#hi&f#hi&g#hi&h#hi&i#hi&j#hi%Z#hi%_#hi~Ot)iOP#kiV#kif#kih#kio#kis#kiv#ki!P#ki!Q#ki!T#ki!U#ki!X#ki!]#ki!h#ki!r#ki!s#ki!t#ki!{#ki!}#ki#P#ki#R#ki#T#ki#X#ki#Z#ki#^#ki#_#ki#a#ki#c#ki#l#ki#o#ki#s#ki#u#ki#z#ki#}#ki$P#ki%X#ki%o#ki%p#ki%t#ki%u#ki&Z#ki&[#ki&]#ki&^#ki&_#ki&`#ki&a#ki&b#ki&c#ki&d#ki&e#ki&f#ki&g#ki&h#ki&i#ki&j#ki%Z#ki%_#ki~OV)kOn&wa~P'vOz)lOn&wa~Oz)lOn&wa~P%SOn)pO~O%Y)tO~Ot)wO#p'WO#q)vOP#niV#nif#nih#nio#nis#niv#ni!P#ni!Q#ni!T#ni!U#ni!X#ni!]#ni!h#ni!r#ni!s#ni!t#ni!{#ni!}#ni#P#ni#R#ni#T#ni#X#ni#Z#ni#^#ni#_#ni#a#ni#c#ni#l#ni#o#ni#s#ni#u#ni#z#ni#}#ni$P#ni%X#ni%o#ni%p#ni%t#ni%u#ni&Z#ni&[#ni&]#ni&^#ni&_#ni&`#ni&a#ni&b#ni&c#ni&d#ni&e#ni&f#ni&g#ni&h#ni&i#ni&j#ni%Z#ni%_#ni~OV)zOo0cOv0qO{$jO~P'vOo0cOv0qO{&xa~P'vOz*OO{&xa~OV*SOa*TOg*WO%q*UO%uWO~O{$jO&{*YO~Oh'_O~Oh!iO{$jO~O%[*_O~O%[*aO%_*aO~OV$}Oa$}Oo0cOv0qOg&Ua~P'vOz*dOg&Ua~Oo0cOv0qO{*gO!W&Xa~P'vOz*hO!W&Xa~Oo0cOv0qOz*hO{*kO!W&Xa~P'vOo0cOv0qOz*hO!W&Xa~P'vOz*hO{*kO!W&Xa~Om0dOn0dOo0mOp0nOgjikjisjizji!Tji!Uji%{ji!Wji{ji![ji#gji%[ji%_ji!Qji#[jitji!mji%zji~Ol0fO~P!NkOlji~P!NkOV'|Og*pOo0cOv0qO~P'vOn*rO~Og*pOz*tO~Og*uO~OV'|Oo0cOv0qO!W&Si~P'vOz*vO!W&Si~O!W*wO~OV(]Oo0cOv0qO![%}i#g%}i%[%}i%_%}ig%}i{%}i!m%}i%z%}i~P'vOz*zO!T%dO!U%cO![&Ti~Oz*}O![%}i#g%}i%[%}i%_%}ig%}i{%}i!m%}i%z%}i~O![+OO~Oa+QOo0cOv0qO![&Ti~P'vOz*zO![&Ti~O![+SO~OV+UOo0cOv0qO{&la![&la!m&la%z&la~P'vOz+VO{&la![&la!m&la%z&la~O!]+YO&n+[O![!nX~O![+^O~O{(kO![+_O~O{(kO![+_O!m+`O~OV&OOopOvqO{%hq!x%hq#g%hq%[%hq%_%hq%z%hq~P'vOz$ri{$ri!x$ri#g$ri%[$ri%_$ri%z$ri~P%SOV&OOopOvqO~P'vOV&OOo0cOv0qO#g%ha%[%ha%_%ha%z%ha~P'vOz+aO#g%ha%[%ha%_%ha%z%ha~Oz$ia#g$ia%[$ia%_$ian$ia~P%SO#g&Pi%[&Pi%_&Pin&Pi~P'vOz+dO#g#Wq%[#Wq%_#Wq~O#[+eOz$va#g$va%[$va%_$vag$va~O%uWO#g&ri%[&ri%_&rig&ri~Oz+gO#g&ri%[&ri%_&rig&ri~OV+iOh$WO%uWO~O%uWO#g&ti%[&ti%_&ti~Oo0cOv0qO#g&pi%[&pi%_&pi{&pi~P'vO{#{Oz#eX!W#eX~Oz+mO!W&uX~O!W+oO~Ot+rO#j)gOP#hqV#hqf#hqh#hqo#hqs#hqv#hq!P#hq!Q#hq!T#hq!U#hq!X#hq!]#hq!h#hq!r#hq!s#hq!t#hq!{#hq!}#hq#P#hq#R#hq#T#hq#X#hq#Z#hq#^#hq#_#hq#a#hq#c#hq#l#hq#o#hq#s#hq#u#hq#z#hq#}#hq$P#hq%X#hq%o#hq%p#hq%t#hq%u#hq&Z#hq&[#hq&]#hq&^#hq&_#hq&`#hq&a#hq&b#hq&c#hq&d#hq&e#hq&f#hq&g#hq&h#hq&i#hq&j#hq%Z#hq%_#hq~On$|az$|a~P%SOV)kOn&wi~P'vOz+yOn&wi~Oz,TO{$jO#[,TO~O#q,VOP#nqV#nqf#nqh#nqo#nqs#nqv#nq!P#nq!Q#nq!T#nq!U#nq!X#nq!]#nq!h#nq!r#nq!s#nq!t#nq!{#nq!}#nq#P#nq#R#nq#T#nq#X#nq#Z#nq#^#nq#_#nq#a#nq#c#nq#l#nq#o#nq#s#nq#u#nq#z#nq#}#nq$P#nq%X#nq%o#nq%p#nq%t#nq%u#nq&Z#nq&[#nq&]#nq&^#nq&_#nq&`#nq&a#nq&b#nq&c#nq&d#nq&e#nq&f#nq&g#nq&h#nq&i#nq&j#nq%Z#nq%_#nq~O#[,WOz%Oa{%Oa~Oo0cOv0qO{&xi~P'vOz,YO{&xi~O{#{O%z,[Og&zXz&zX~O%uWOg&zXz&zX~Oz,`Og&yX~Og,bO~O%Y,eO~O!T%dO!U%cOg&Viz&Vi~OV$}Oa$}Oo0cOv0qOg&Ui~P'vO{,hOz$la!W$la~Oo0cOv0qO{,iOz$la!W$la~P'vOo0cOv0qO{*gO!W&Xi~P'vOz,lO!W&Xi~Oo0cOv0qOz,lO!W&Xi~P'vOz,lO{,oO!W&Xi~Og$hiz$hi!W$hi~P%SOV'|Oo0cOv0qO~P'vOn,qO~OV'|Og,rOo0cOv0qO~P'vOV'|Oo0cOv0qO!W&Sq~P'vOz$gi![$gi#g$gi%[$gi%_$gig$gi{$gi!m$gi%z$gi~P%SOV(]Oo0cOv0qO~P'vOa+QOo0cOv0qO![&Tq~P'vOz,sO![&Tq~O![,tO~OV(]Oo0cOv0qO![%}q#g%}q%[%}q%_%}qg%}q{%}q!m%}q%z%}q~P'vO{,uO~OV+UOo0cOv0qO{&li![&li!m&li%z&li~P'vOz,zO{&li![&li!m&li%z&li~O!]+YO&n+[O![!na~O{(kO![,}O~OV&OOo0cOv0qO#g%hi%[%hi%_%hi%z%hi~P'vOz-OO#g%hi%[%hi%_%hi%z%hi~O%uWO#g&rq%[&rq%_&rqg&rq~Oz-RO#g&rq%[&rq%_&rqg&rq~OV)`Oa)`O%uWO!W&ua~Oz-TO!W&ua~On$|iz$|i~P%SOV)kO~P'vOV)kOn&wq~P'vOt-XOP#myV#myf#myh#myo#mys#myv#my!P#my!Q#my!T#my!U#my!X#my!]#my!h#my!r#my!s#my!t#my!{#my!}#my#P#my#R#my#T#my#X#my#Z#my#^#my#_#my#a#my#c#my#l#my#o#my#s#my#u#my#z#my#}#my$P#my%X#my%o#my%p#my%t#my%u#my&Z#my&[#my&]#my&^#my&_#my&`#my&a#my&b#my&c#my&d#my&e#my&f#my&g#my&h#my&i#my&j#my%Z#my%_#my~O%Z-]O%_-]O~P`O#q-^OP#nyV#nyf#nyh#nyo#nys#nyv#ny!P#ny!Q#ny!T#ny!U#ny!X#ny!]#ny!h#ny!r#ny!s#ny!t#ny!{#ny!}#ny#P#ny#R#ny#T#ny#X#ny#Z#ny#^#ny#_#ny#a#ny#c#ny#l#ny#o#ny#s#ny#u#ny#z#ny#}#ny$P#ny%X#ny%o#ny%p#ny%t#ny%u#ny&Z#ny&[#ny&]#ny&^#ny&_#ny&`#ny&a#ny&b#ny&c#ny&d#ny&e#ny&f#ny&g#ny&h#ny&i#ny&j#ny%Z#ny%_#ny~Oz-aO{$jO#[-aO~Oo0cOv0qO{&xq~P'vOz-dO{&xq~O%z,[Og&zaz&za~O{#{Og&zaz&za~OV*SOa*TO%q*UO%uWOg&ya~Oz-hOg&ya~O$S-lO~OV$}Oa$}Oo0cOv0qO~P'vOo0cOv0qO{-mOz$li!W$li~P'vOo0cOv0qOz$li!W$li~P'vO{-mOz$li!W$li~Oo0cOv0qO{*gO~P'vOo0cOv0qO{*gO!W&Xq~P'vOz-pO!W&Xq~Oo0cOv0qOz-pO!W&Xq~P'vOs-sO!T%dO!U%cOg&Oq!W&Oq![&Oqz&Oq~P!/jOa+QOo0cOv0qO![&Ty~P'vOz$ji![$ji~P%SOa+QOo0cOv0qO~P'vOV+UOo0cOv0qO~P'vOV+UOo0cOv0qO{&lq![&lq!m&lq%z&lq~P'vO{(kO![-xO!m-yO%z-wO~OV&OOo0cOv0qO#g%hq%[%hq%_%hq%z%hq~P'vO%uWO#g&ry%[&ry%_&ryg&ry~OV)`Oa)`O%uWO!W&ui~Ot-}OP#m!RV#m!Rf#m!Rh#m!Ro#m!Rs#m!Rv#m!R!P#m!R!Q#m!R!T#m!R!U#m!R!X#m!R!]#m!R!h#m!R!r#m!R!s#m!R!t#m!R!{#m!R!}#m!R#P#m!R#R#m!R#T#m!R#X#m!R#Z#m!R#^#m!R#_#m!R#a#m!R#c#m!R#l#m!R#o#m!R#s#m!R#u#m!R#z#m!R#}#m!R$P#m!R%X#m!R%o#m!R%p#m!R%t#m!R%u#m!R&Z#m!R&[#m!R&]#m!R&^#m!R&_#m!R&`#m!R&a#m!R&b#m!R&c#m!R&d#m!R&e#m!R&f#m!R&g#m!R&h#m!R&i#m!R&j#m!R%Z#m!R%_#m!R~Oo0cOv0qO{&xy~P'vOV*SOa*TO%q*UO%uWOg&yi~O$S-lO%Z.VO%_.VO~OV.aOh._O!X.^O!].`O!h.YO!s.[O!t.[O%p.XO%uWO&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O~Oo0cOv0qOz$lq!W$lq~P'vO{.fOz$lq!W$lq~Oo0cOv0qO{*gO!W&Xy~P'vOz.gO!W&Xy~Oo0cOv.kO~P'vOs-sO!T%dO!U%cOg&Oy!W&Oy![&Oyz&Oy~P!/jO{(kO![.nO~O{(kO![.nO!m.oO~OV*SOa*TO%q*UO%uWO~Oh.tO!f.rOz$TX#[$TX%j$TXg$TX~Os$TX{$TX!W$TX![$TX~P$-bO%o.vO%p.vOs$UXz$UX{$UX#[$UX%j$UX!W$UXg$UX![$UX~O!h.xO~Oz.|O#[/OO%j.yOs&|X{&|X!W&|Xg&|X~Oa/RO~P$)zOh.tOs&}Xz&}X{&}X#[&}X%j&}X!W&}Xg&}X![&}X~Os/VO{$jO~Oo0cOv0qOz$ly!W$ly~P'vOo0cOv0qO{*gO!W&X!R~P'vOz/ZO!W&X!R~Og&RXs&RX!T&RX!U&RX!W&RX![&RXz&RX~P!/jOs-sO!T%dO!U%cOg&Qa!W&Qa![&Qaz&Qa~O{(kO![/^O~O!f.rOh$[as$[az$[a{$[a#[$[a%j$[a!W$[ag$[a![$[a~O!h/eO~O%o.vO%p.vOs$Uaz$Ua{$Ua#[$Ua%j$Ua!W$Uag$Ua![$Ua~O%j.yOs$Yaz$Ya{$Ya#[$Ya!W$Yag$Ya![$Ya~Os&|a{&|a!W&|ag&|a~P$)nOz/jOs&|a{&|a!W&|ag&|a~O!W/mO~Og/mO~O{/oO~O![/pO~Oo0cOv0qO{*gO!W&X!Z~P'vO{/sO~O%z/tO~P$-bOz/uO#[/OO%j.yOg'PX~Oz/uOg'PX~Og/wO~O!h/xO~O#[/OOs%Saz%Sa{%Sa%j%Sa!W%Sag%Sa![%Sa~O#[/OO%j.yOs%Waz%Wa{%Wa!W%Wag%Wa~Os&|i{&|i!W&|ig&|i~P$)nOz/zO#[/OO%j.yO!['Oa~Og'Pa~P$)nOz0SOg'Pa~Oa0UO!['Oi~P$)zOz0WO!['Oi~Oz0WO#[/OO%j.yO!['Oi~O#[/OO%j.yOg$biz$bi~O%z0ZO~P$-bO#[/OO%j.yOg%Vaz%Va~Og'Pi~P$)nO{0^O~Oa0UO!['Oq~P$)zOz0`O!['Oq~O#[/OO%j.yOz%Ui![%Ui~Oa0UO~P$)zOa0UO!['Oy~P$)zO#[/OO%j.yOg$ciz$ci~O#[/OO%j.yOz%Uq![%Uq~Oz+aO#g%ha%[%ha%_%ha%z%ha~P%SOV&OOo0cOv0qO~P'vOn0hO~Oo0hO~P'vO{0iO~Ot0jO~P!/jO&]&Z&j&h&i&g&f&d&e&c&b&`&a&_&^&[%u~",goto:"!=j'QPPPPPP'RP'Z*s+[+t,_,y-fP.SP'Z.r.r'ZPPP'Z2[PPPPPP2[5PPP5PP7b7k=sPP=v>h>kPP'Z'ZPP>zPP'Z'ZPP'Z'Z'Z'Z'Z?O?w'ZP?zP@QDXGuGyPG|HWH['ZPPPH_Hk'RP'R'RP'RP'RP'RP'RP'R'R'RP'RPP'RPP'RP'RPHqH}IVPI^IdPI^PI^I^PPPI^PKrPK{LVL]KrPI^LfPI^PLmLsPLwM]MzNeLwLwNkNxLwLwLwLw! ^! d! g! l! o! y!!P!!]!!o!!u!#P!#V!#s!#y!$P!$Z!$a!$g!$y!%T!%Z!%a!%k!%q!%w!%}!&T!&Z!&e!&k!&u!&{!'U!'[!'k!'s!'}!(UPPPPPPPPPPP!([!(_!(e!(n!(x!)TPPPPPPPPPPPP!-u!/Z!3^!6oPP!6w!7W!7a!8Y!8P!8c!8i!8l!8o!8r!8z!9jPPPPPPPPPPPPPPPPP!9m!9q!9wP!:]!:a!:m!:v!;S!;j!;m!;p!;v!;|!_![!]Do!]!^Es!^!_FZ!_!`Gk!`!aHX!a!b%T!b!cIf!c!dJU!d!eK^!e!hJU!h!i!#f!i!tJU!t!u!,|!u!wJU!w!x!.t!x!}JU!}#O!0S#O#P&o#P#Q!0j#Q#R!1Q#R#SJU#S#T%T#T#UJU#U#VK^#V#YJU#Y#Z!#f#Z#fJU#f#g!,|#g#iJU#i#j!.t#j#oJU#o#p!1n#p#q!1s#q#r!2a#r#s!2f#s$g%T$g;'SJU;'S;=`KW<%lOJU`%YT&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T`%lP;=`<%l%To%v]&n`%c_OX%TXY%oY[%T[]%o]p%Tpq%oq#O%T#O#P&o#P#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To&tX&n`OY%TYZ%oZ]%T]^%o^#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc'f[&n`O!_%T!_!`([!`#T%T#T#U(r#U#f%T#f#g(r#g#h(r#h#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc(cTmR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc(yT!mR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk)aV&n`&[ZOr%Trs)vs#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk){V&n`Or%Trs*bs#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk*iT&n`&^ZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To+PZS_&n`OY*xYZ%TZ]*x]^%T^#o*x#o#p+r#p#q*x#q#r+r#r;'S*x;'S;=`,^<%lO*x_+wTS_OY+rZ]+r^;'S+r;'S;=`,W<%lO+r_,ZP;=`<%l+ro,aP;=`<%l*xj,kV%rQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj-XT!xY&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj-oV%lQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk.]V&n`&ZZOw%Twx.rx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk.wV&n`Ow%Twx/^x#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk/eT&n`&]ZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk/{ThZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc0cTgR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk0yXVZ&n`Oz%Tz{1f{!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk1mVaR&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk2ZV%oZ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc2wTzR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To3_W%pZ&n`O!_%T!_!`-Q!`!a3w!a#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Td4OT&{S&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk4fX!fQ&n`O!O%T!O!P5R!P!Q%T!Q![6T![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk5WV&n`O!O%T!O!P5m!P#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk5tT!rZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti6[a!hX&n`O!Q%T!Q![6T![!g%T!g!h7a!h!l%T!l!m9s!m#R%T#R#S6T#S#X%T#X#Y7a#Y#^%T#^#_9s#_#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti7fZ&n`O{%T{|8X|}%T}!O8X!O!Q%T!Q![8s![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti8^V&n`O!Q%T!Q![8s![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti8z]!hX&n`O!Q%T!Q![8s![!l%T!l!m9s!m#R%T#R#S8s#S#^%T#^#_9s#_#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti9zT!hX&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk:bX%qR&n`O!P%T!P!Q:}!Q!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj;UV%sQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti;ro!hX&n`O!O%T!O!P=s!P!Q%T!Q![>_![!d%T!d!e?q!e!g%T!g!h7a!h!l%T!l!m9s!m!q%T!q!rA]!r!z%T!z!{Bq!{#R%T#R#S>_#S#U%T#U#V?q#V#X%T#X#Y7a#Y#^%T#^#_9s#_#c%T#c#dA]#d#l%T#l#mBq#m#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti=xV&n`O!Q%T!Q![6T![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti>fc!hX&n`O!O%T!O!P=s!P!Q%T!Q![>_![!g%T!g!h7a!h!l%T!l!m9s!m#R%T#R#S>_#S#X%T#X#Y7a#Y#^%T#^#_9s#_#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti?vY&n`O!Q%T!Q!R@f!R!S@f!S#R%T#R#S@f#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti@mY!hX&n`O!Q%T!Q!R@f!R!S@f!S#R%T#R#S@f#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiAbX&n`O!Q%T!Q!YA}!Y#R%T#R#SA}#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiBUX!hX&n`O!Q%T!Q!YA}!Y#R%T#R#SA}#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiBv]&n`O!Q%T!Q![Co![!c%T!c!iCo!i#R%T#R#SCo#S#T%T#T#ZCo#Z#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiCv]!hX&n`O!Q%T!Q![Co![!c%T!c!iCo!i#R%T#R#SCo#S#T%T#T#ZCo#Z#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%ToDvV{_&n`O!_%T!_!`E]!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TcEdT%{R&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkEzT#gZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkFbXmR&n`O!^%T!^!_F}!_!`([!`!a([!a#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TjGUV%mQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkGrV%zZ&n`O!_%T!_!`([!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkH`WmR&n`O!_%T!_!`([!`!aHx!a#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TjIPV%nQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkIoV_Q#}P&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%ToJ_]&n`&YS%uZO!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUoKZP;=`<%lJUoKge&n`&YS%uZOr%Trs)Ysw%Twx.Ux!Q%T!Q![JU![!c%T!c!tJU!t!uLx!u!}JU!}#R%T#R#SJU#S#T%T#T#fJU#f#gLx#g#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUoMRa&n`&YS%uZOr%TrsNWsw%Twx! vx!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUkN_V&n`&`ZOr%TrsNts#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkNyV&n`Or%Trs! `s#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk! gT&n`&bZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk! }V&n`&_ZOw%Twx!!dx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!!iV&n`Ow%Twx!#Ox#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!#VT&n`&aZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To!#oe&n`&YS%uZOr%Trs!%Qsw%Twx!&px!Q%T!Q![JU![!c%T!c!tJU!t!u!(`!u!}JU!}#R%T#R#SJU#S#T%T#T#fJU#f#g!(`#g#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUk!%XV&n`&dZOr%Trs!%ns#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!%sV&n`Or%Trs!&Ys#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!&aT&n`&fZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!&wV&n`&cZOw%Twx!'^x#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!'cV&n`Ow%Twx!'xx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!(PT&n`&eZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To!(ia&n`&YS%uZOr%Trs!)nsw%Twx!+^x!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUk!)uV&n`&hZOr%Trs!*[s#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!*aV&n`Or%Trs!*vs#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!*}T&n`&jZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!+eV&n`&gZOw%Twx!+zx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!,PV&n`Ow%Twx!,fx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!,mT&n`&iZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To!-Vi&n`&YS%uZOr%TrsNWsw%Twx! vx!Q%T!Q![JU![!c%T!c!dJU!d!eLx!e!hJU!h!i!(`!i!}JU!}#R%T#R#SJU#S#T%T#T#UJU#U#VLx#V#YJU#Y#Z!(`#Z#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUo!.}a&n`&YS%uZOr%Trs)Ysw%Twx.Ux!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUk!0ZT!XZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc!0qT!WR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj!1XV%kQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T~!1sO!]~k!1zV%jR&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T~!2fO![~i!2mT%tX&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T",tokenizers:[yw,gw,mw,kw,0,1,2,3,4],topRules:{Script:[0,5]},specialized:[{term:221,get:i=>Pw[i]||-1}],tokenPrec:7668});var Lm=new di,Wm=new Set(["Script","Body","FunctionDefinition","ClassDefinition","LambdaExpression","ForStatement","MatchClause"]);function uo(i){return(e,t,n)=>{if(n)return!1;let r=e.node.getChild("VariableName");return r&&t(r,i),!0}}var vw={FunctionDefinition:uo("function"),ClassDefinition:uo("class"),ForStatement(i,e,t){if(t){for(let n=i.node.firstChild;n;n=n.nextSibling)if(n.name=="VariableName")e(n,"variable");else if(n.name=="in")break}},ImportStatement(i,e){var t,n;let{node:r}=i,s=((t=r.firstChild)===null||t===void 0?void 0:t.name)=="from";for(let o=r.getChild("import");o;o=o.nextSibling)o.name=="VariableName"&&((n=o.nextSibling)===null||n===void 0?void 0:n.name)!="as"&&e(o,s?"variable":"namespace")},AssignStatement(i,e){for(let t=i.node.firstChild;t;t=t.nextSibling)if(t.name=="VariableName")e(t,"variable");else if(t.name==":"||t.name=="AssignOp")break},ParamList(i,e){for(let t=null,n=i.node.firstChild;n;n=n.nextSibling)n.name=="VariableName"&&(!t||!/\*|AssignOp/.test(t.name))&&e(n,"variable"),t=n},CapturePattern:uo("variable"),AsPattern:uo("variable"),__proto__:null};function jm(i,e){let t=Lm.get(e);if(t)return t;let n=[],r=!0;function s(o,a){let l=i.sliceString(o.from,o.to);n.push({label:l,type:a})}return e.cursor(ee.IncludeAnonymous).iterate(o=>{if(o.name){let a=vw[o.name];if(a&&a(o,s,r)||!r&&Wm.has(o.name))return!1;r=!1}else if(o.to-o.from>8192){for(let a of jm(i,o.node))n.push(a);return!1}}),Lm.set(e,n),n}var Mm=/^[\w\xa1-\uffff][\w\d\xa1-\uffff]*$/,Vm=["String","FormatString","Comment","PropertyName"];function $w(i){let e=U(i.state).resolveInner(i.pos,-1);if(Vm.indexOf(e.name)>-1)return null;let t=e.name=="VariableName"||e.to-e.from<20&&Mm.test(i.state.sliceDoc(e.from,e.to));if(!t&&!i.explicit)return null;let n=[];for(let r=e;r;r=r.parent)Wm.has(r.name)&&(n=n.concat(jm(i.state.doc,r)));return{options:n,from:t?e.from:i.pos,validFor:Mm}}var Tw=["__annotations__","__builtins__","__debug__","__doc__","__import__","__name__","__loader__","__package__","__spec__","False","None","True"].map(i=>({label:i,type:"constant"})).concat(["ArithmeticError","AssertionError","AttributeError","BaseException","BlockingIOError","BrokenPipeError","BufferError","BytesWarning","ChildProcessError","ConnectionAbortedError","ConnectionError","ConnectionRefusedError","ConnectionResetError","DeprecationWarning","EOFError","Ellipsis","EncodingWarning","EnvironmentError","Exception","FileExistsError","FileNotFoundError","FloatingPointError","FutureWarning","GeneratorExit","IOError","ImportError","ImportWarning","IndentationError","IndexError","InterruptedError","IsADirectoryError","KeyError","KeyboardInterrupt","LookupError","MemoryError","ModuleNotFoundError","NameError","NotADirectoryError","NotImplemented","NotImplementedError","OSError","OverflowError","PendingDeprecationWarning","PermissionError","ProcessLookupError","RecursionError","ReferenceError","ResourceWarning","RuntimeError","RuntimeWarning","StopAsyncIteration","StopIteration","SyntaxError","SyntaxWarning","SystemError","SystemExit","TabError","TimeoutError","TypeError","UnboundLocalError","UnicodeDecodeError","UnicodeEncodeError","UnicodeError","UnicodeTranslateError","UnicodeWarning","UserWarning","ValueError","Warning","ZeroDivisionError"].map(i=>({label:i,type:"type"}))).concat(["bool","bytearray","bytes","classmethod","complex","float","frozenset","int","list","map","memoryview","object","range","set","staticmethod","str","super","tuple","type"].map(i=>({label:i,type:"class"}))).concat(["abs","aiter","all","anext","any","ascii","bin","breakpoint","callable","chr","compile","delattr","dict","dir","divmod","enumerate","eval","exec","exit","filter","format","getattr","globals","hasattr","hash","help","hex","id","input","isinstance","issubclass","iter","len","license","locals","max","min","next","oct","open","ord","pow","print","property","quit","repr","reversed","round","setattr","slice","sorted","sum","vars","zip"].map(i=>({label:i,type:"function"}))),Cw=[ce("def ${name}(${params}):\n ${}",{label:"def",detail:"function",type:"keyword"}),ce("for ${name} in ${collection}:\n ${}",{label:"for",detail:"loop",type:"keyword"}),ce("while ${}:\n ${}",{label:"while",detail:"loop",type:"keyword"}),ce("try:\n ${}\nexcept ${error}:\n ${}",{label:"try",detail:"/ except block",type:"keyword"}),ce(`if \${}: +}`,{label:"class",detail:"definition",type:"keyword"}),he('import {${names}} from "${module}"\n${}',{label:"import",detail:"named",type:"keyword"}),he('import ${name} from "${module}"\n${}',{label:"import",detail:"default",type:"keyword"})],O1=jp.concat([he("interface ${name} {\n ${}\n}",{label:"interface",detail:"definition",type:"keyword"}),he("type ${name} = ${type}",{label:"type",detail:"definition",type:"keyword"}),he("enum ${name} {\n ${}\n}",{label:"enum",detail:"definition",type:"keyword"})]),Lp=new Oi,Vp=new Set(["Script","Block","FunctionExpression","FunctionDeclaration","ArrowFunction","MethodDeclaration","ForStatement"]);function $r(i){return(e,t)=>{let n=e.node.getChild("VariableDefinition");return n&&t(n,i),!0}}var d1=["FunctionDeclaration"],p1={FunctionDeclaration:$r("function"),ClassDeclaration:$r("class"),ClassExpression:()=>!0,EnumDeclaration:$r("constant"),TypeAliasDeclaration:$r("type"),NamespaceDeclaration:$r("namespace"),VariableDefinition(i,e){i.matchContext(d1)||e(i,"variable")},TypeDefinition(i,e){e(i,"type")},__proto__:null};function Dp(i,e){let t=Lp.get(e);if(t)return t;let n=[],r=!0;function s(o,a){let l=i.sliceString(o.from,o.to);n.push({label:l,type:a})}return e.cursor(te.IncludeAnonymous).iterate(o=>{if(r)r=!1;else if(o.name){let a=p1[o.name];if(a&&a(o,s)||Vp.has(o.name))return!1}else if(o.to-o.from>8192){for(let a of Dp(i,o.node))n.push(a);return!1}}),Lp.set(e,n),n}var Mp=/^[\w$\xa1-\uffff][\w$\d\xa1-\uffff]*$/,Yp=["TemplateString","String","RegExp","LineComment","BlockComment","VariableDefinition","TypeDefinition","Label","PropertyDefinition","PropertyName","PrivatePropertyDefinition","PrivatePropertyName","JSXText","JSXAttributeValue","JSXOpenTag","JSXCloseTag","JSXSelfClosingTag",".","?."];function m1(i){let e=U(i.state).resolveInner(i.pos,-1);if(Yp.indexOf(e.name)>-1)return null;let t=e.name=="VariableName"||e.to-e.from<20&&Mp.test(i.state.sliceDoc(e.from,e.to));if(!t&&!i.explicit)return null;let n=[];for(let r=e;r;r=r.parent)Vp.has(r.name)&&(n=n.concat(Dp(i.state.doc,r)));return{options:n,from:t?e.from:i.pos,validFor:Mp}}var vt=Xe.define({name:"javascript",parser:zp.configure({props:[Pe.add({IfStatement:Bt({except:/^\s*({|else\b)/}),TryStatement:Bt({except:/^\s*({|catch\b|finally\b)/}),LabeledStatement:cO,SwitchBody:i=>{let e=i.textAfter,t=/^\s*\}/.test(e),n=/^\s*(case|default)\b/.test(e);return i.baseIndent+(t?0:n?1:2)*i.unit},Block:kt({closing:"}"}),ArrowFunction:i=>i.baseIndent+i.unit,"TemplateString BlockComment":()=>null,"Statement Property":Bt({except:/^\s*{/}),JSXElement(i){let e=/^\s*<\//.test(i.textAfter);return i.lineIndent(i.node.from)+(e?0:i.unit)},JSXEscape(i){let e=/\s*\}/.test(i.textAfter);return i.lineIndent(i.node.from)+(e?0:i.unit)},"JSXOpenTag JSXSelfClosingTag"(i){return i.column(i.node.from)+i.unit}}),_e.add({"Block ClassBody SwitchBody EnumBody ObjectExpression ArrayExpression ObjectType":ut,BlockComment(i){return{from:i.from+2,to:i.to-2}},JSXElement(i){let e=i.firstChild;if(!e||e.name=="JSXSelfClosingTag")return null;let t=i.lastChild;return{from:e.to,to:t.type.isError?i.to:t.from}},"JSXSelfClosingTag JSXOpenTag"(i){var e;let t=(e=i.firstChild)===null||e===void 0?void 0:e.nextSibling,n=i.lastChild;return!t||t.type.isError?null:{from:t.to,to:n.type.isError?i.to:n.from}}})]}),languageData:{closeBrackets:{brackets:["(","[","{","'",'"',"`"]},commentTokens:{line:"//",block:{open:"/*",close:"*/"}},indentOnInput:/^\s*(?:case |default:|\{|\}|<\/)$/,wordChars:"$"}}),Ip={test:i=>/^JSX/.test(i.name),facet:kn({commentTokens:{block:{open:"{/*",close:"*/}"}}})},Rc=vt.configure({dialect:"ts"},"typescript"),Ac=vt.configure({dialect:"jsx",props:[zs.add(i=>i.isTop?[Ip]:void 0)]}),Zc=vt.configure({dialect:"jsx ts",props:[zs.add(i=>i.isTop?[Ip]:void 0)]},"typescript"),Bp=i=>({label:i,type:"keyword"}),Up="break case const continue default delete export extends false finally in instanceof let new return static super switch this throw true typeof var yield".split(" ").map(Bp),g1=Up.concat(["declare","implements","private","protected","public"].map(Bp));function oo(i={}){let e=i.jsx?i.typescript?Zc:Ac:i.typescript?Rc:vt,t=i.typescript?O1.concat(g1):jp.concat(Up);return new me(e,[vt.data.of({autocomplete:Us(Yp,Bs(t))}),vt.data.of({autocomplete:m1}),i.jsx?S1:[]])}function Q1(i){for(;;){if(i.name=="JSXOpenTag"||i.name=="JSXSelfClosingTag"||i.name=="JSXFragmentTag")return i;if(i.name=="JSXEscape"||!i.parent)return null;i=i.parent}}function Wp(i,e,t=i.length){for(let n=e?.firstChild;n;n=n.nextSibling)if(n.name=="JSXIdentifier"||n.name=="JSXBuiltin"||n.name=="JSXNamespacedName"||n.name=="JSXMemberExpression")return i.sliceString(n.from,Math.min(n.to,t));return""}var b1=typeof navigator=="object"&&/Android\b/.test(navigator.userAgent),S1=q.inputHandler.of((i,e,t,n,r)=>{if((b1?i.composing:i.compositionStarted)||i.state.readOnly||e!=t||n!=">"&&n!="/"||!vt.isActiveAt(i.state,e,-1))return!1;let s=r(),{state:o}=s,a=o.changeByRange(l=>{var c;let{head:h}=l,f=U(o).resolveInner(h-1,-1),u;if(f.name=="JSXStartTag"&&(f=f.parent),!(o.doc.sliceString(h-1,h)!=n||f.name=="JSXAttributeValue"&&f.to>h)){if(n==">"&&f.name=="JSXFragmentTag")return{range:l,changes:{from:h,insert:""}};if(n=="/"&&f.name=="JSXStartCloseTag"){let O=f.parent,m=O.parent;if(m&&O.from==h-2&&((u=Wp(o.doc,m.firstChild,h))||((c=m.firstChild)===null||c===void 0?void 0:c.name)=="JSXFragmentTag")){let p=`${u}>`;return{range:v.cursor(h+p.length,-1),changes:{from:h,insert:p}}}}else if(n==">"){let O=Q1(f);if(O&&O.name=="JSXOpenTag"&&!/^\/?>|^<\//.test(o.doc.sliceString(h,h+2))&&(u=Wp(o.doc,O,h)))return{range:l,changes:{from:h,insert:``}}}}return{range:l}});return a.changes.empty?!1:(i.dispatch([s,o.update(a,{userEvent:"input.complete",scrollIntoView:!0})]),!0)});var Tr=["_blank","_self","_top","_parent"],Ec=["ascii","utf-8","utf-16","latin1","latin1"],qc=["get","post","put","delete"],zc=["application/x-www-form-urlencoded","multipart/form-data","text/plain"],et=["true","false"],D={},y1={a:{attrs:{href:null,ping:null,type:null,media:null,target:Tr,hreflang:null}},abbr:D,address:D,area:{attrs:{alt:null,coords:null,href:null,target:null,ping:null,media:null,hreflang:null,type:null,shape:["default","rect","circle","poly"]}},article:D,aside:D,audio:{attrs:{src:null,mediagroup:null,crossorigin:["anonymous","use-credentials"],preload:["none","metadata","auto"],autoplay:["autoplay"],loop:["loop"],controls:["controls"]}},b:D,base:{attrs:{href:null,target:Tr}},bdi:D,bdo:D,blockquote:{attrs:{cite:null}},body:D,br:D,button:{attrs:{form:null,formaction:null,name:null,value:null,autofocus:["autofocus"],disabled:["autofocus"],formenctype:zc,formmethod:qc,formnovalidate:["novalidate"],formtarget:Tr,type:["submit","reset","button"]}},canvas:{attrs:{width:null,height:null}},caption:D,center:D,cite:D,code:D,col:{attrs:{span:null}},colgroup:{attrs:{span:null}},command:{attrs:{type:["command","checkbox","radio"],label:null,icon:null,radiogroup:null,command:null,title:null,disabled:["disabled"],checked:["checked"]}},data:{attrs:{value:null}},datagrid:{attrs:{disabled:["disabled"],multiple:["multiple"]}},datalist:{attrs:{data:null}},dd:D,del:{attrs:{cite:null,datetime:null}},details:{attrs:{open:["open"]}},dfn:D,div:D,dl:D,dt:D,em:D,embed:{attrs:{src:null,type:null,width:null,height:null}},eventsource:{attrs:{src:null}},fieldset:{attrs:{disabled:["disabled"],form:null,name:null}},figcaption:D,figure:D,footer:D,form:{attrs:{action:null,name:null,"accept-charset":Ec,autocomplete:["on","off"],enctype:zc,method:qc,novalidate:["novalidate"],target:Tr}},h1:D,h2:D,h3:D,h4:D,h5:D,h6:D,head:{children:["title","base","link","style","meta","script","noscript","command"]},header:D,hgroup:D,hr:D,html:{attrs:{manifest:null}},i:D,iframe:{attrs:{src:null,srcdoc:null,name:null,width:null,height:null,sandbox:["allow-top-navigation","allow-same-origin","allow-forms","allow-scripts"],seamless:["seamless"]}},img:{attrs:{alt:null,src:null,ismap:null,usemap:null,width:null,height:null,crossorigin:["anonymous","use-credentials"]}},input:{attrs:{alt:null,dirname:null,form:null,formaction:null,height:null,list:null,max:null,maxlength:null,min:null,name:null,pattern:null,placeholder:null,size:null,src:null,step:null,value:null,width:null,accept:["audio/*","video/*","image/*"],autocomplete:["on","off"],autofocus:["autofocus"],checked:["checked"],disabled:["disabled"],formenctype:zc,formmethod:qc,formnovalidate:["novalidate"],formtarget:Tr,multiple:["multiple"],readonly:["readonly"],required:["required"],type:["hidden","text","search","tel","url","email","password","datetime","date","month","week","time","datetime-local","number","range","color","checkbox","radio","file","submit","image","reset","button"]}},ins:{attrs:{cite:null,datetime:null}},kbd:D,keygen:{attrs:{challenge:null,form:null,name:null,autofocus:["autofocus"],disabled:["disabled"],keytype:["RSA"]}},label:{attrs:{for:null,form:null}},legend:D,li:{attrs:{value:null}},link:{attrs:{href:null,type:null,hreflang:null,media:null,sizes:["all","16x16","16x16 32x32","16x16 32x32 64x64"]}},map:{attrs:{name:null}},mark:D,menu:{attrs:{label:null,type:["list","context","toolbar"]}},meta:{attrs:{content:null,charset:Ec,name:["viewport","application-name","author","description","generator","keywords"],"http-equiv":["content-language","content-type","default-style","refresh"]}},meter:{attrs:{value:null,min:null,low:null,high:null,max:null,optimum:null}},nav:D,noscript:D,object:{attrs:{data:null,type:null,name:null,usemap:null,form:null,width:null,height:null,typemustmatch:["typemustmatch"]}},ol:{attrs:{reversed:["reversed"],start:null,type:["1","a","A","i","I"]},children:["li","script","template","ul","ol"]},optgroup:{attrs:{disabled:["disabled"],label:null}},option:{attrs:{disabled:["disabled"],label:null,selected:["selected"],value:null}},output:{attrs:{for:null,form:null,name:null}},p:D,param:{attrs:{name:null,value:null}},pre:D,progress:{attrs:{value:null,max:null}},q:{attrs:{cite:null}},rp:D,rt:D,ruby:D,samp:D,script:{attrs:{type:["text/javascript"],src:null,async:["async"],defer:["defer"],charset:Ec}},section:D,select:{attrs:{form:null,name:null,size:null,autofocus:["autofocus"],disabled:["disabled"],multiple:["multiple"]}},slot:{attrs:{name:null}},small:D,source:{attrs:{src:null,type:null,media:null}},span:D,strong:D,style:{attrs:{type:["text/css"],media:null,scoped:null}},sub:D,summary:D,sup:D,table:D,tbody:D,td:{attrs:{colspan:null,rowspan:null,headers:null}},template:D,textarea:{attrs:{dirname:null,form:null,maxlength:null,name:null,placeholder:null,rows:null,cols:null,autofocus:["autofocus"],disabled:["disabled"],readonly:["readonly"],required:["required"],wrap:["soft","hard"]}},tfoot:D,th:{attrs:{colspan:null,rowspan:null,headers:null,scope:["row","col","rowgroup","colgroup"]}},thead:D,time:{attrs:{datetime:null}},title:D,tr:D,track:{attrs:{src:null,label:null,default:null,kind:["subtitles","captions","descriptions","chapters","metadata"],srclang:null}},ul:{children:["li","script","template","ul","ol"]},var:D,video:{attrs:{src:null,poster:null,width:null,height:null,crossorigin:["anonymous","use-credentials"],preload:["auto","metadata","none"],autoplay:["autoplay"],mediagroup:["movie"],muted:["muted"],controls:["controls"]}},wbr:D},Hp={accesskey:null,class:null,contenteditable:et,contextmenu:null,dir:["ltr","rtl","auto"],draggable:["true","false","auto"],dropzone:["copy","move","link","string:","file:"],hidden:["hidden"],id:null,inert:["inert"],itemid:null,itemprop:null,itemref:null,itemscope:["itemscope"],itemtype:null,lang:["ar","bn","de","en-GB","en-US","es","fr","hi","id","ja","pa","pt","ru","tr","zh"],spellcheck:et,autocorrect:et,autocapitalize:et,style:null,tabindex:null,title:null,translate:["yes","no"],rel:["stylesheet","alternate","author","bookmark","help","license","next","nofollow","noreferrer","prefetch","prev","search","tag"],role:"alert application article banner button cell checkbox complementary contentinfo dialog document feed figure form grid gridcell heading img list listbox listitem main navigation region row rowgroup search switch tab table tabpanel textbox timer".split(" "),"aria-activedescendant":null,"aria-atomic":et,"aria-autocomplete":["inline","list","both","none"],"aria-busy":et,"aria-checked":["true","false","mixed","undefined"],"aria-controls":null,"aria-describedby":null,"aria-disabled":et,"aria-dropeffect":null,"aria-expanded":["true","false","undefined"],"aria-flowto":null,"aria-grabbed":["true","false","undefined"],"aria-haspopup":et,"aria-hidden":et,"aria-invalid":["true","false","grammar","spelling"],"aria-label":null,"aria-labelledby":null,"aria-level":null,"aria-live":["off","polite","assertive"],"aria-multiline":et,"aria-multiselectable":et,"aria-owns":null,"aria-posinset":null,"aria-pressed":["true","false","mixed","undefined"],"aria-readonly":et,"aria-relevant":null,"aria-required":et,"aria-selected":["true","false","undefined"],"aria-setsize":null,"aria-sort":["ascending","descending","none","other"],"aria-valuemax":null,"aria-valuemin":null,"aria-valuenow":null,"aria-valuetext":null},Kp="beforeunload copy cut dragstart dragover dragleave dragenter dragend drag paste focus blur change click load mousedown mouseenter mouseleave mouseup keydown keyup resize scroll unload".split(" ").map(i=>"on"+i);for(let i of Kp)Hp[i]=null;var Ui=class{constructor(e,t){this.tags={...y1,...e},this.globalAttrs={...Hp,...t},this.allTags=Object.keys(this.tags),this.globalAttrNames=Object.keys(this.globalAttrs)}};Ui.default=new Ui;function $n(i,e,t=i.length){if(!e)return"";let n=e.firstChild,r=n&&n.getChild("TagName");return r?i.sliceString(r.from,Math.min(r.to,t)):""}function Tn(i,e=!1){for(;i;i=i.parent)if(i.name=="Element")if(e)e=!1;else return i;return null}function Jp(i,e,t){let n=t.tags[$n(i,Tn(e))];return n?.children||t.allTags}function Lc(i,e){let t=[];for(let n=Tn(e);n&&!n.type.isTop;n=Tn(n.parent)){let r=$n(i,n);if(r&&n.lastChild.name=="CloseTag")break;r&&t.indexOf(r)<0&&(e.name=="EndTag"||e.from>=n.firstChild.to)&&t.push(r)}return t}var em=/^[:\-\.\w\u00b7-\uffff]*$/;function Gp(i,e,t,n,r){let s=/\s*>/.test(i.sliceDoc(r,r+5))?"":">",o=Tn(t,t.name=="StartTag"||t.name=="TagName");return{from:n,to:r,options:Jp(i.doc,o,e).map(a=>({label:a,type:"type"})).concat(Lc(i.doc,t).map((a,l)=>({label:"/"+a,apply:"/"+a+s,type:"type",boost:99-l}))),validFor:/^\/?[:\-\.\w\u00b7-\uffff]*$/}}function Np(i,e,t,n){let r=/\s*>/.test(i.sliceDoc(n,n+5))?"":">";return{from:t,to:n,options:Lc(i.doc,e).map((s,o)=>({label:s,apply:s+r,type:"type",boost:99-o})),validFor:em}}function k1(i,e,t,n){let r=[],s=0;for(let o of Jp(i.doc,t,e))r.push({label:"<"+o,type:"type"});for(let o of Lc(i.doc,t))r.push({label:"",type:"type",boost:99-s++});return{from:n,to:n,options:r,validFor:/^<\/?[:\-\.\w\u00b7-\uffff]*$/}}function x1(i,e,t,n,r){let s=Tn(t),o=s?e.tags[$n(i.doc,s)]:null,a=o&&o.attrs?Object.keys(o.attrs):[],l=o&&o.globalAttrs===!1?a:a.length?a.concat(e.globalAttrNames):e.globalAttrNames;return{from:n,to:r,options:l.map(c=>({label:c,type:"property"})),validFor:em}}function w1(i,e,t,n,r){var s;let o=(s=t.parent)===null||s===void 0?void 0:s.getChild("AttributeName"),a=[],l;if(o){let c=i.sliceDoc(o.from,o.to),h=e.globalAttrs[c];if(!h){let f=Tn(t),u=f?e.tags[$n(i.doc,f)]:null;h=u?.attrs&&u.attrs[c]}if(h){let f=i.sliceDoc(n,r).toLowerCase(),u='"',O='"';/^['"]/.test(f)?(l=f[0]=='"'?/^[^"]*$/:/^[^']*$/,u="",O=i.sliceDoc(r,r+1)==f[0]?"":f[0],f=f.slice(1),n++):l=/^[^\s<>='"]*$/;for(let m of h)a.push({label:m,apply:u+m+O,type:"constant"})}}return{from:n,to:r,options:a,validFor:l}}function tm(i,e){let{state:t,pos:n}=e,r=U(t).resolveInner(n,-1),s=r.resolve(n);for(let o=n,a;s==r&&(a=r.childBefore(o));){let l=a.lastChild;if(!l||!l.type.isError||l.fromtm(n,r)}var v1=vt.parser.configure({top:"SingleExpression"}),nm=[{tag:"script",attrs:i=>i.type=="text/typescript"||i.lang=="ts",parser:Rc.parser},{tag:"script",attrs:i=>i.type=="text/babel"||i.type=="text/jsx",parser:Ac.parser},{tag:"script",attrs:i=>i.type=="text/typescript-jsx",parser:Zc.parser},{tag:"script",attrs(i){return/^(importmap|speculationrules|application\/(.+\+)?json)$/i.test(i.type)},parser:v1},{tag:"script",attrs(i){return!i.type||/^(?:text|application)\/(?:x-)?(?:java|ecma)script$|^module$|^$/i.test(i.type)},parser:vt.parser},{tag:"style",attrs(i){return(!i.lang||i.lang=="css")&&(!i.type||/^(text\/)?(x-)?(stylesheet|css)$/i.test(i.type))},parser:vr.parser}],rm=[{name:"style",parser:vr.parser.configure({top:"Styles"})}].concat(Kp.map(i=>({name:i,parser:vt.parser}))),sm=Xe.define({name:"html",parser:kp.configure({props:[Pe.add({Element(i){let e=/^(\s*)(<\/)?/.exec(i.textAfter);return i.node.to<=i.pos+e[0].length?i.continue():i.lineIndent(i.node.from)+(e[2]?0:i.unit)},"OpenTag CloseTag SelfClosingTag"(i){return i.column(i.node.from)+i.unit},Document(i){if(i.pos+/\s*/.exec(i.textAfter)[0].lengthi.getChild("TagName")})]}),languageData:{commentTokens:{block:{open:""}},indentOnInput:/^\s*<\/\w+\W$/,wordChars:"-_"}}),ao=sm.configure({wrap:Pc(nm,rm)});function lo(i={}){let e="",t;i.matchClosingTags===!1&&(e="noMatch"),i.selfClosingTags===!0&&(e=(e?e+" ":"")+"selfClosing"),(i.nestedLanguages&&i.nestedLanguages.length||i.nestedAttributes&&i.nestedAttributes.length)&&(t=Pc((i.nestedLanguages||[]).concat(nm),(i.nestedAttributes||[]).concat(rm)));let n=t?sm.configure({wrap:t,dialect:e}):e?ao.configure({dialect:e}):ao;return new me(n,[ao.data.of({autocomplete:P1(i)}),i.autoCloseTags!==!1?$1:[],oo().support,so().support])}var Fp=new Set("area base br col command embed frame hr img input keygen link meta param source track wbr menuitem".split(" ")),$1=q.inputHandler.of((i,e,t,n,r)=>{if(i.composing||i.state.readOnly||e!=t||n!=">"&&n!="/"||!ao.isActiveAt(i.state,e,-1))return!1;let s=r(),{state:o}=s,a=o.changeByRange(l=>{var c,h,f;let u=o.doc.sliceString(l.from-1,l.to)==n,{head:O}=l,m=U(o).resolveInner(O,-1),p;if(u&&n==">"&&m.name=="EndTag"){let b=m.parent;if(((h=(c=b.parent)===null||c===void 0?void 0:c.lastChild)===null||h===void 0?void 0:h.name)!="CloseTag"&&(p=$n(o.doc,b.parent,O))&&!Fp.has(p)){let g=O+(o.doc.sliceString(O,O+1)===">"?1:0),Q=``;return{range:l,changes:{from:O,to:g,insert:Q}}}}else if(u&&n=="/"&&m.name=="IncompleteCloseTag"){let b=m.parent;if(m.from==O-2&&((f=b.lastChild)===null||f===void 0?void 0:f.name)!="CloseTag"&&(p=$n(o.doc,b,O))&&!Fp.has(p)){let g=O+(o.doc.sliceString(O,O+1)===">"?1:0),Q=`${p}>`;return{range:v.cursor(O+Q.length,-1),changes:{from:O,to:g,insert:Q}}}}return{range:l}});return a.changes.empty?!1:(i.dispatch([s,o.update(a,{userEvent:"input.complete",scrollIntoView:!0})]),!0)});var lm=kn({commentTokens:{block:{open:""}}}),cm=new I,hm=Bd.configure({props:[_e.add(i=>!i.is("Block")||i.is("Document")||jc(i)!=null||T1(i)?void 0:(e,t)=>({from:t.doc.lineAt(e.from).to,to:e.to})),cm.add(jc),Pe.add({Document:()=>null}),yt.add({Document:lm})]});function jc(i){let e=/^(?:ATX|Setext)Heading(\d)$/.exec(i.name);return e?+e[1]:void 0}function T1(i){return i.name=="OrderedList"||i.name=="BulletList"}function C1(i,e){let t=i;for(;;){let n=t.nextSibling,r;if(!n||(r=jc(n.type))!=null&&r<=e)break;t=n}return t.to}var X1=hO.of((i,e,t)=>{for(let n=U(i).resolveInner(t,-1);n&&!(n.fromt)return{from:t,to:s}}return null});function Vc(i){return new we(lm,i,[],"markdown")}var _1=Vc(hm),R1=hm.configure([Nd,Kd,Hd,Jd,{props:[_e.add({Table:(i,e)=>({from:e.doc.lineAt(i.from).to,to:i.to})})]}]),yi=Vc(R1);function A1(i,e){return t=>{if(t&&i){let n=null;if(t=/\S*/.exec(t)[0],typeof i=="function"?n=i(t):n=Be.matchLanguageName(i,t,!0),n instanceof Be)return n.support?n.support.language.parser:Wi.getSkippingParser(n.load());if(n)return n.parser}return e?e.parser:null}}var Cr=class{constructor(e,t,n,r,s,o,a){this.node=e,this.from=t,this.to=n,this.spaceBefore=r,this.spaceAfter=s,this.type=o,this.item=a}blank(e,t=!0){let n=this.spaceBefore+(this.node.name=="Blockquote"?">":"");if(e!=null){for(;n.length0;r--)n+=" ";return n+(t?this.spaceAfter:"")}}marker(e,t){let n=this.node.name=="OrderedList"?String(+um(this.item,e)[2]+t):"";return this.spaceBefore+n+this.type+this.spaceAfter}};function fm(i,e){let t=[],n=[];for(let r=i;r;r=r.parent){if(r.name=="FencedCode")return n;(r.name=="ListItem"||r.name=="Blockquote")&&t.push(r)}for(let r=t.length-1;r>=0;r--){let s=t[r],o,a=e.lineAt(s.from),l=s.from-a.from;if(s.name=="Blockquote"&&(o=/^ *>( ?)/.exec(a.text.slice(l))))n.push(new Cr(s,l,l+o[0].length,"",o[1],">",null));else if(s.name=="ListItem"&&s.parent.name=="OrderedList"&&(o=/^( *)\d+([.)])( *)/.exec(a.text.slice(l)))){let c=o[3],h=o[0].length;c.length>=4&&(c=c.slice(0,c.length-4),h-=4),n.push(new Cr(s.parent,l,l+h,o[1],c,o[2],s))}else if(s.name=="ListItem"&&s.parent.name=="BulletList"&&(o=/^( *)([-+*])( {1,4}\[[ xX]\])?( +)/.exec(a.text.slice(l)))){let c=o[4],h=o[0].length;c.length>4&&(c=c.slice(0,c.length-4),h-=4);let f=o[2];o[3]&&(f+=o[3].replace(/[xX]/," ")),n.push(new Cr(s.parent,l,l+h,o[1],c,f,s))}}return n}function um(i,e){return/^(\s*)(\d+)(?=[.)])/.exec(e.sliceString(i.from,i.from+10))}function Mc(i,e,t,n=0){for(let r=-1,s=i;;){if(s.name=="ListItem"){let a=um(s,e),l=+a[2];if(r>=0){if(l!=r+1)return;t.push({from:s.from+a[1].length,to:s.from+a[0].length,insert:String(r+2+n)})}r=l}let o=s.nextSibling;if(!o)break;s=o}}function Dc(i,e){let t=/^[ \t]*/.exec(i)[0].length;if(!t||e.facet(Zt)!=" ")return i;let n=Fe(i,4,t),r="";for(let s=n;s>0;)s>=4?(r+=" ",s-=4):(r+=" ",s--);return r+i.slice(t)}var Yc=(i={})=>({state:e,dispatch:t})=>{let n=U(e),{doc:r}=e,s=null,o=e.changeByRange(a=>{if(!a.empty||!yi.isActiveAt(e,a.from,-1)&&!yi.isActiveAt(e,a.from,1))return s={range:a};let l=a.from,c=r.lineAt(l),h=fm(n.resolveInner(l,-1),r);for(;h.length&&h[h.length-1].from>l-c.from;)h.pop();if(!h.length)return s={range:a};let f=h[h.length-1];if(f.to-f.spaceAfter.length>l-c.from)return s={range:a};let u=l>=f.to-f.spaceAfter.length&&!/\S/.test(c.text.slice(f.to));if(f.item&&u){let g=f.node.firstChild,Q=f.node.getChild("ListItem","ListItem");if(g.to>=l||Q&&Q.to0&&!/[^\s>]/.test(r.lineAt(c.from-1).text)||i.nonTightLists===!1){let S=h.length>1?h[h.length-2]:null,x,P="";S&&S.item?(x=c.from+S.from,P=S.marker(r,1)):x=c.from+(S?S.to:0);let $=[{from:x,to:l,insert:P}];return f.node.name=="OrderedList"&&Mc(f.item,r,$,-2),S&&S.node.name=="OrderedList"&&Mc(S.item,r,$),{range:v.cursor(x+P.length),changes:$}}else{let S=am(h,e,c);return{range:v.cursor(l+S.length+1),changes:{from:c.from,insert:S+e.lineBreak}}}}if(f.node.name=="Blockquote"&&u&&c.from){let g=r.lineAt(c.from-1),Q=/>\s*$/.exec(g.text);if(Q&&Q.index==f.from){let S=e.changes([{from:g.from+Q.index,to:g.to},{from:c.from+f.from,to:c.to}]);return{range:a.map(S),changes:S}}}let O=[];f.node.name=="OrderedList"&&Mc(f.item,r,O);let m=f.item&&f.item.from]*/.exec(c.text)[0].length>=f.to)for(let g=0,Q=h.length-1;g<=Q;g++)p+=g==Q&&!m?h[g].marker(r,1):h[g].blank(gc.from&&/\s/.test(c.text.charAt(b-c.from-1));)b--;return p=Dc(p,e),E1(f.node,e.doc)&&(p=am(h,e,c)+e.lineBreak+p),O.push({from:b,to:l,insert:e.lineBreak+p}),{range:v.cursor(b+p.length+1),changes:O}});return s?!1:(t(e.update(o,{scrollIntoView:!0,userEvent:"input"})),!0)},Z1=Yc();function om(i){return i.name=="QuoteMark"||i.name=="ListMark"}function E1(i,e){if(i.name!="OrderedList"&&i.name!="BulletList")return!1;let t=i.firstChild,n=i.getChild("ListItem","ListItem");if(!n)return!1;let r=e.lineAt(t.to),s=e.lineAt(n.from),o=/^[\s>]*$/.test(r.text);return r.number+(o?0:1){let t=U(i),n=null,r=i.changeByRange(s=>{let o=s.from,{doc:a}=i;if(s.empty&&yi.isActiveAt(i,s.from)){let l=a.lineAt(o),c=fm(q1(t,o),a);if(c.length){let h=c[c.length-1],f=h.to-h.spaceAfter.length+(h.spaceAfter?1:0);if(o-l.from>f&&!/\S/.test(l.text.slice(f,o-l.from)))return{range:v.cursor(l.from+f),changes:{from:l.from+f,to:o}};if(o-l.from==f&&(!h.item||l.from<=h.item.from||!/\S/.test(l.text.slice(0,h.to)))){let u=l.from+h.from;if(h.item&&h.node.from{var t;let{main:n}=e.state.selection;if(n.empty)return!1;let r=(t=i.clipboardData)===null||t===void 0?void 0:t.getData("text/plain");if(!r||!/^(https?:\/\/|mailto:|xmpp:|www\.)/.test(r)||(/^www\./.test(r)&&(r="https://"+r),!yi.isActiveAt(e.state,n.from,1)))return!1;let s=U(e.state),o=!1;return s.iterate({from:n.from,to:n.to,enter:a=>{(a.from>n.from||W1.test(a.name))&&(o=!0)},leave:a=>{a.to{if(i.next==-1&&e.canShift(dm))return i.acceptToken(dm);let t=i.peek(-1);if((Ft(t)||t<0)&&e.context.type!=_r){if(Xn(i,45))if(e.canShift(Cn))i.acceptToken(Cn);else return i.acceptToken(V1,3);if(Xn(i,46))if(e.canShift(Cn))i.acceptToken(Cn);else return i.acceptToken(D1,3);let n=0;for(;i.next==32;)n++,i.advance();(n{if(e.context.type==_r){i.next==63&&(i.advance(),Gi(i.next)&&i.acceptToken(B1));return}if(i.next==45)i.advance(),Gi(i.next)&&i.acceptToken(e.context.type==Kc&&e.context.depth==Xr(i,i.pos-1)?Y1:gm);else if(i.next==63)i.advance(),Gi(i.next)&&i.acceptToken(e.context.type==Gc&&e.context.depth==Xr(i,i.pos-1)?I1:Qm);else{let t=i.pos;for(;;)if(Fc(i.next)){if(i.pos==t)return;i.advance()}else if(i.next==33)km(i);else if(i.next==38)Hc(i);else if(i.next==42){Hc(i);break}else if(i.next==39||i.next==34){if(Jc(i,!0))break;return}else if(i.next==91||i.next==123){if(!hx(i))return;break}else{xm(i,!0,!1,0);break}for(;Fc(i.next);)i.advance();if(i.next==58){if(i.pos==t&&e.canShift(tx))return;let n=i.peek(1);Gi(n)&&i.acceptTokenTo(e.context.type==Gc&&e.context.depth==Xr(i,t)?U1:bm,t)}}},{contextual:!0});function cx(i){return i>32&&i<127&&i!=34&&i!=37&&i!=44&&i!=60&&i!=62&&i!=92&&i!=94&&i!=96&&i!=123&&i!=124&&i!=125}function pm(i){return i>=48&&i<=57||i>=97&&i<=102||i>=65&&i<=70}function mm(i,e){return i.next==37?(i.advance(),pm(i.next)&&i.advance(),pm(i.next)&&i.advance(),!0):cx(i.next)||e&&i.next==44?(i.advance(),!0):!1}function km(i){if(i.advance(),i.next==60){for(i.advance();;)if(!mm(i,!0)){i.next==62&&i.advance();break}}else for(;mm(i,!1););}function Hc(i){for(i.advance();!Gi(i.next)&&co(i.next)!="f";)i.advance()}function Jc(i,e){let t=i.next,n=!1,r=i.pos;for(i.advance();;){let s=i.next;if(s<0)break;if(i.advance(),s==t)if(s==39)if(i.next==39)i.advance();else break;else break;else if(s==92&&t==34)i.next>=0&&i.advance();else if(Ft(s)){if(e)return!1;n=!0}else if(e&&i.pos>=r+1024)return!1}return!n}function hx(i){for(let e=[],t=i.pos+1024;;)if(i.next==91||i.next==123)e.push(i.next),i.advance();else if(i.next==39||i.next==34){if(!Jc(i,!0))return!1}else if(i.next==93||i.next==125){if(e[e.length-1]!=i.next-2)return!1;if(e.pop(),i.advance(),!e.length)return!0}else{if(i.next<0||i.pos>t||Ft(i.next))return!1;i.advance()}}var fx="iiisiiissisfissssssssssssisssiiissssssssssssssssssssssssssfsfssissssssssssssssssssssssssssfif";function co(i){return i<33?"u":i>125?"s":fx[i-33]}function Uc(i,e){let t=co(i);return t!="u"&&!(e&&t=="f")}function xm(i,e,t,n){if(co(i.next)=="s"||(i.next==63||i.next==58||i.next==45)&&Uc(i.peek(1),t))i.advance();else return!1;let r=i.pos;for(;;){let s=i.next,o=0,a=n+1;for(;ym(s);){if(Ft(s)){if(e)return!1;a=0}else a++;s=i.peek(++o)}if(!(s>=0&&(s==58?Uc(i.peek(o+1),t):s==35?i.peek(o-1)!=32:Uc(s,t)))||!t&&a<=n||a==0&&!t&&(Xn(i,45,o)||Xn(i,46,o)))break;if(e&&co(s)=="f")return!1;for(let c=o;c>=0;c--)i.advance();if(e&&i.pos>r+1024)return!1}return!0}var ux=new ee((i,e)=>{if(i.next==33)km(i),i.acceptToken(K1);else if(i.next==38||i.next==42){let t=i.next==38?F1:H1;Hc(i),i.acceptToken(t)}else i.next==39||i.next==34?(Jc(i,!1),i.acceptToken(N1)):xm(i,!1,e.context.type==_r,e.context.depth)&&i.acceptToken(G1)}),Ox=new ee((i,e)=>{let t=e.context.type==Nc?e.context.depth:-1,n=i.pos;e:for(;;){let r=0,s=i.next;for(;s==32;)s=i.peek(++r);if(!r&&(Xn(i,45,r)||Xn(i,46,r))||!Ft(s)&&(t<0&&(t=Math.max(e.context.depth+1,r)),rYAN>Y",stateData:";S~O!fOS!gOS^OS~OP_OQbORSOTUOWROXROYYOZZO[XOcPOqQO!PVO!V[O!cTO~O`cO~P]OVkOWROXROYeOZfO[dOcPOmhOqQO~OboO~P!bOVtOWROXROYeOZfO[dOcPOmrOqQO~OpwO~P#WORSOTUOWROXROYYOZZO[XOcPOqQO!PVO!cTO~OSvP!avP!bvP~P#|OWROXROYeOZfO[dOcPOqQO~OmzO~P%OOm!OOUzP!azP!bzP!dzP~P#|O^!SO!b!QO!f!TO!g!RO~ORSOTUOWROXROcPOqQO!PVO!cTO~OY!UOP!QXQ!QX!V!QX!`!QXS!QX!a!QX!b!QXU!QXm!QX!d!QX~P&aO[!WOP!SXQ!SX!V!SX!`!SXS!SX!a!SX!b!SXU!SXm!SX!d!SX~P&aO^!ZO!W![O!b!YO!f!]O!g!YO~OP!_O!V[OQaX!`aX~OPaXQaX!VaX!`aX~P#|OP!bOQ!cO!V[O~OP_O!V[O~P#|OWROXROY!fOcPOqQObfXmfXofXpfX~OWROXRO[!hOcPOqQObhXmhXohXphX~ObeXmlXoeX~ObkXokX~P%OOm!kO~Om!lObnPonP~P%OOb!pOo!oO~Ob!pO~P!bOm!sOosXpsX~OosXpsX~P%OOm!uOotPptP~P%OOo!xOp!yO~Op!yO~P#WOS!|O!a#OO!b#OO~OUyX!ayX!byX!dyX~P#|Om#QO~OU#SO!a#UO!b#UO!d#RO~Om#WOUzX!azX!bzX!dzX~O]#XO~O!b#XO!g#YO~O^#ZO!b#XO!g#YO~OP!RXQ!RX!V!RX!`!RXS!RX!a!RX!b!RXU!RXm!RX!d!RX~P&aOP!TXQ!TX!V!TX!`!TXS!TX!a!TX!b!TXU!TXm!TX!d!TX~P&aO!b#^O!g#^O~O^#_O!b#^O!f#`O!g#^O~O^#_O!W#aO!b#^O!g#^O~OPaaQaa!Vaa!`aa~P#|OP#cO!V[OQ!XX!`!XX~OP!XXQ!XX!V!XX!`!XX~P#|OP_O!V[OQ!_X!`!_X~P#|OWROXROcPOqQObgXmgXogXpgX~OWROXROcPOqQObiXmiXoiXpiX~Obkaoka~P%OObnXonX~P%OOm#kO~Ob#lOo!oO~Oosapsa~P%OOotXptX~P%OOm#pO~Oo!xOp#qO~OSwP!awP!bwP~P#|OS!|O!a#vO!b#vO~OUya!aya!bya!dya~P#|Om#xO~P%OOm#{OU}P!a}P!b}P!d}P~P#|OU#SO!a$OO!b$OO!d#RO~O]$QO~O!b$QO!g$RO~O!b$SO!g$SO~O^$TO!b$SO!g$SO~O^$TO!b$SO!f$UO!g$SO~OP!XaQ!Xa!V!Xa!`!Xa~P#|Obnaona~P%OOotapta~P%OOo!xO~OU|X!a|X!b|X!d|X~P#|Om$ZO~Om$]OU}X!a}X!b}X!d}X~O]$^O~O!b$_O!g$_O~O^$`O!b$_O!g$_O~OU|a!a|a!b|a!d|a~P#|O!b$cO!g$cO~O",goto:",]!mPPPPPPPPPPPPPPPPP!nPP!v#v#|$`#|$c$f$j$nP%VPPP!v%Y%^%a%{&O%a&R&U&X&_&b%aP&e&{&e'O'RPP']'a'g'm's'y(XPPPPPPPP(_)e*X+c,VUaObcR#e!c!{ROPQSTUXY_bcdehknrtvz!O!U!W!_!b!c!f!h!k!l!s!u!|#Q#R#S#W#c#k#p#x#{$Z$]QmPR!qnqfPQThknrtv!k!l!s!u#R#k#pR!gdR!ieTlPnTjPnSiPnSqQvQ{TQ!mkQ!trQ!vtR#y#RR!nkTsQvR!wt!RWOSUXY_bcz!O!U!W!_!b!c!|#Q#S#W#c#x#{$Z$]RySR#t!|R|TR|UQ!PUR#|#SR#z#RR#z#SyZOSU_bcz!O!_!b!c!|#Q#S#W#c#x#{$Z$]R!VXR!XYa]O^abc!a!c!eT!da!eQnPR!rnQvQR!{vQ!}yR#u!}Q#T|R#}#TW^Obc!cS!^^!aT!aa!eQ!eaR#f!eW`Obc!cQxSS}U#SQ!`_Q#PzQ#V!OQ#b!_Q#d!bQ#s!|Q#w#QQ$P#WQ$V#cQ$Y#xQ$[#{Q$a$ZR$b$]xZOSU_bcz!O!_!b!c!|#Q#S#W#c#x#{$Z$]Q!VXQ!XYQ#[!UR#]!W!QWOSUXY_bcz!O!U!W!_!b!c!|#Q#S#W#c#x#{$Z$]pfPQThknrtv!k!l!s!u#R#k#pQ!gdQ!ieQ#g!fR#h!hSgPn^pQTkrtv#RQ!jhQ#i!kQ#j!lQ#n!sQ#o!uQ$W#kR$X#pQuQR!zv",nodeNames:"\u26A0 DirectiveEnd DocEnd - - ? ? ? Literal QuotedLiteral Anchor Alias Tag BlockLiteralContent Comment Stream BOM Document ] [ FlowSequence Item Tagged Anchored Anchored Tagged FlowMapping Pair Key : Pair , } { FlowMapping Pair Pair BlockSequence Item Item BlockMapping Pair Pair Key Pair Pair BlockLiteral BlockLiteralHeader Tagged Anchored Anchored Tagged Directive DirectiveName DirectiveContent Document",maxTerm:74,context:ox,nodeProps:[["isolate",-3,8,9,14,""],["openedBy",18,"[",32,"{"],["closedBy",19,"]",33,"}"]],propSources:[dx],skippedNodes:[0],repeatNodeCount:6,tokenData:"-Y~RnOX#PXY$QYZ$]Z]#P]^$]^p#Ppq$Qqs#Pst$btu#Puv$yv|#P|}&e}![#P![!]'O!]!`#P!`!a'i!a!}#P!}#O*g#O#P#P#P#Q+Q#Q#o#P#o#p+k#p#q'i#q#r,U#r;'S#P;'S;=`#z<%l?HT#P?HT?HU,o?HUO#PQ#UU!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PQ#kTOY#PZs#Pt;'S#P;'S;=`#z<%lO#PQ#}P;=`<%l#P~$VQ!f~XY$Qpq$Q~$bO!g~~$gS^~OY$bZ;'S$b;'S;=`$s<%lO$b~$vP;=`<%l$bR%OX!WQOX%kXY#PZ]%k]^#P^p%kpq#hq;'S%k;'S;=`&_<%lO%kR%rX!WQ!VPOX%kXY#PZ]%k]^#P^p%kpq#hq;'S%k;'S;=`&_<%lO%kR&bP;=`<%l%kR&lUoP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR'VUmP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR'p[!PP!WQOY#PZp#Ppq#hq{#P{|(f|}#P}!O(f!O!R#P!R![)p![;'S#P;'S;=`#z<%lO#PR(mW!PP!WQOY#PZp#Ppq#hq!R#P!R![)V![;'S#P;'S;=`#z<%lO#PR)^U!PP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR)wY!PP!WQOY#PZp#Ppq#hq{#P{|)V|}#P}!O)V!O;'S#P;'S;=`#z<%lO#PR*nUcP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR+XUbP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR+rUqP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR,]UpP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR,vU`P!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#P",tokenizers:[ax,lx,ux,Ox,0,1],topRules:{Stream:[0,15]},tokenPrec:0});var px=ve.deserialize({version:14,states:"!vOQOPOOO]OPO'#C_OhOPO'#C^OOOO'#Cc'#CcOpOPO'#CaQOOOOOO{OPOOOOOO'#Cb'#CbO!WOPO'#C`O!`OPO,58xOOOO-E6a-E6aOOOO-E6`-E6`OOOO'#C_'#C_OOOO1G.d1G.d",stateData:"!h~OXPOYROWTP~OWVXXRXYRX~OYVOXSP~OXROYROWTX~OXROYROWTP~OYVOXSX~OX[O~OXY~",goto:"vWPPX[beioRUOQQOR]XRXQTTOUQWQRZWSSOURYS",nodeNames:"\u26A0 Document Frontmatter DashLine FrontmatterContent Body",maxTerm:10,skippedNodes:[0],repeatNodeCount:2,tokenData:"$z~RXOYnYZ!^Z]n]^!^^}n}!O!i!O;'Sn;'S;=`!c<%lOn~qXOYnYZ!^Z]n]^!^^;'Sn;'S;=`!c<%l~n~On~~!^~!cOY~~!fP;=`<%ln~!lZOYnYZ!^Z]n]^!^^}n}!O#_!O;'Sn;'S;=`!c<%l~n~On~~!^~#bZOYnYZ!^Z]n]^!^^}n}!O$T!O;'Sn;'S;=`!c<%l~n~On~~!^~$WXOYnYZ$sZ]n]^$s^;'Sn;'S;=`!c<%l~n~On~~$s~$zOX~Y~",tokenizers:[0],topRules:{Document:[0,1]},tokenPrec:67}),mx=Xe.define({name:"yaml",parser:wm.configure({props:[Pe.add({Stream:i=>{for(let e=i.node.resolve(i.pos,-1);e&&e.to>=i.pos;e=e.parent){if(e.name=="BlockLiteralContent"&&e.fromi.pos)return null}}return null},FlowMapping:kt({closing:"}"}),FlowSequence:kt({closing:"]"})}),_e.add({"FlowMapping FlowSequence":ut,"Item Pair BlockLiteral":(i,e)=>({from:e.doc.lineAt(i.from).to,to:i.to})})]}),languageData:{commentTokens:{line:"#"},indentOnInput:/^\s*[\]\}]$/}});var gx=Xe.define({name:"yaml-frontmatter",parser:px.configure({props:[Qe({DashLine:d.meta})]})});function Pm(i){let{language:e,support:t}=i.content instanceof me?i.content:{language:i.content,support:[]};return new me(gx.configure({wrap:bn(n=>n.name=="FrontmatterContent"?{parser:mx.parser}:n.name=="Body"?{parser:e.parser}:null)}),t)}var Qx=1,_m=194,Rm=195,bx=196,vm=197,Sx=198,yx=199,kx=200,xx=2,Am=3,$m=201,wx=24,Px=25,vx=49,$x=50,Tx=55,Cx=56,Xx=57,_x=59,Rx=60,Ax=61,Zx=62,Ex=63,qx=65,zx=238,Lx=71,Mx=241,Wx=242,jx=243,Vx=244,Dx=245,Yx=246,Ix=247,Bx=248,Zm=72,Ux=249,Gx=250,Nx=251,Fx=252,Hx=253,Kx=254,Jx=255,ew=256,tw=73,iw=77,nw=263,rw=112,sw=130,ow=151,aw=152,lw=155,Ni=10,Rr=13,nh=32,uo=9,rh=35,cw=40,hw=46,ih=123,Tm=125,Em=39,qm=34,Cm=92,fw=111,uw=120,Ow=78,dw=117,pw=85,mw=new Set([Px,vx,$x,nw,qx,sw,Cx,Xx,zx,Zx,Ex,Zm,tw,iw,Rx,Ax,ow,aw,lw,rw]);function eh(i){return i==Ni||i==Rr}function th(i){return i>=48&&i<=57||i>=65&&i<=70||i>=97&&i<=102}var gw=new ee((i,e)=>{let t;if(i.next<0)i.acceptToken(yx);else if(e.context.flags&ho)eh(i.next)&&i.acceptToken(Sx,1);else if(((t=i.peek(-1))<0||eh(t))&&e.canShift(vm)){let n=0;for(;i.next==nh||i.next==uo;)i.advance(),n++;(i.next==Ni||i.next==Rr||i.next==rh)&&i.acceptToken(vm,-n)}else eh(i.next)&&i.acceptToken(bx,1)},{contextual:!0}),Qw=new ee((i,e)=>{let t=e.context;if(t.flags)return;let n=i.peek(-1);if(n==Ni||n==Rr){let r=0,s=0;for(;;){if(i.next==nh)r++;else if(i.next==uo)r+=8-r%8;else break;i.advance(),s++}r!=t.indent&&i.next!=Ni&&i.next!=Rr&&i.next!=rh&&(r[i,e|zm])),yw=new mt({start:bw,reduce(i,e,t,n){return i.flags&ho&&mw.has(e)||(e==Lx||e==Zm)&&i.flags&zm?i.parent:i},shift(i,e,t,n){return e==_m?new fo(i,Sw(n.read(n.pos,t.pos)),0):e==Rm?i.parent:e==wx||e==Tx||e==_x||e==Am?new fo(i,0,ho):Xm.has(e)?new fo(i,0,Xm.get(e)|i.flags&ho):i},hash(i){return i.hash}}),kw=new ee(i=>{for(let e=0;e<5;e++){if(i.next!="print".charCodeAt(e))return;i.advance()}if(!/\w/.test(String.fromCharCode(i.next)))for(let e=0;;e++){let t=i.peek(e);if(!(t==nh||t==uo)){t!=cw&&t!=hw&&t!=Ni&&t!=Rr&&t!=rh&&i.acceptToken(Qx);return}}}),xw=new ee((i,e)=>{let{flags:t}=e.context,n=t&Ht?qm:Em,r=(t&Kt)>0,s=!(t&Jt),o=(t&ei)>0,a=i.pos;for(;!(i.next<0);)if(o&&i.next==ih)if(i.peek(1)==ih)i.advance(2);else{if(i.pos==a){i.acceptToken(Am,1);return}break}else if(s&&i.next==Cm){if(i.pos==a){i.advance();let l=i.next;l>=0&&(i.advance(),ww(i,l)),i.acceptToken(xx);return}break}else if(i.next==Cm&&!s&&i.peek(1)>-1)i.advance(2);else if(i.next==n&&(!r||i.peek(1)==n&&i.peek(2)==n)){if(i.pos==a){i.acceptToken($m,r?3:1);return}break}else if(i.next==Ni){if(r)i.advance();else if(i.pos==a){i.acceptToken($m);return}break}else i.advance();i.pos>a&&i.acceptToken(kx)});function ww(i,e){if(e==fw)for(let t=0;t<2&&i.next>=48&&i.next<=55;t++)i.advance();else if(e==uw)for(let t=0;t<2&&th(i.next);t++)i.advance();else if(e==dw)for(let t=0;t<4&&th(i.next);t++)i.advance();else if(e==pw)for(let t=0;t<8&&th(i.next);t++)i.advance();else if(e==Ow&&i.next==ih){for(i.advance();i.next>=0&&i.next!=Tm&&i.next!=Em&&i.next!=qm&&i.next!=Ni;)i.advance();i.next==Tm&&i.advance()}}var Pw=Qe({'async "*" "**" FormatConversion FormatSpec':d.modifier,"for while if elif else try except finally return raise break continue with pass assert await yield match case":d.controlKeyword,"in not and or is del":d.operatorKeyword,"from def class global nonlocal lambda":d.definitionKeyword,import:d.moduleKeyword,"with as print":d.keyword,Boolean:d.bool,None:d.null,VariableName:d.variableName,"CallExpression/VariableName":d.function(d.variableName),"FunctionDefinition/VariableName":d.function(d.definition(d.variableName)),"ClassDefinition/VariableName":d.definition(d.className),PropertyName:d.propertyName,"CallExpression/MemberExpression/PropertyName":d.function(d.propertyName),Comment:d.lineComment,Number:d.number,String:d.string,FormatString:d.special(d.string),Escape:d.escape,UpdateOp:d.updateOperator,"ArithOp!":d.arithmeticOperator,BitOp:d.bitwiseOperator,CompareOp:d.compareOperator,AssignOp:d.definitionOperator,Ellipsis:d.punctuation,At:d.meta,"( )":d.paren,"[ ]":d.squareBracket,"{ }":d.brace,".":d.derefOperator,", ;":d.separator}),vw={__proto__:null,await:44,or:54,and:56,in:60,not:62,is:64,if:70,else:72,lambda:76,yield:94,from:96,async:102,for:104,None:162,True:164,False:164,del:178,pass:182,break:186,continue:190,return:194,raise:202,import:206,as:208,global:212,nonlocal:214,assert:218,type:223,elif:236,while:240,try:246,except:248,finally:250,with:254,def:258,class:268,match:279,case:285},Lm=ve.deserialize({version:14,states:"##jQ`QeOOP$}OSOOO&WQtO'#HUOOQS'#Co'#CoOOQS'#Cp'#CpO'vQdO'#CnO*UQtO'#HTOOQS'#HU'#HUOOQS'#DU'#DUOOQS'#HT'#HTO*rQdO'#D_O+VQdO'#DfO+gQdO'#DjO+zOWO'#DuO,VOWO'#DvO.[QtO'#GuOOQS'#Gu'#GuO'vQdO'#GtO0ZQtO'#GtOOQS'#Eb'#EbO0rQdO'#EcOOQS'#Gs'#GsO0|QdO'#GrOOQV'#Gr'#GrO1XQdO'#FYOOQS'#G^'#G^O1^QdO'#FXOOQV'#IS'#ISOOQV'#Gq'#GqOOQV'#Fq'#FqQ`QeOOO'vQdO'#CqO1lQdO'#C}O1sQdO'#DRO2RQdO'#HYO2cQtO'#EVO'vQdO'#EWOOQS'#EY'#EYOOQS'#E['#E[OOQS'#E^'#E^O2wQdO'#E`O3_QdO'#EdO3rQdO'#EfO3zQtO'#EfO1XQdO'#EiO0rQdO'#ElO1XQdO'#EnO0rQdO'#EtO0rQdO'#EwO4VQdO'#EyO4^QdO'#FOO4iQdO'#EzO0rQdO'#FOO1XQdO'#FQO1XQdO'#FVO4nQdO'#F[P4uOdO'#GpPOOO)CBd)CBdOOQS'#Ce'#CeOOQS'#Cf'#CfOOQS'#Cg'#CgOOQS'#Ch'#ChOOQS'#Ci'#CiOOQS'#Cj'#CjOOQS'#Cl'#ClO'vQdO,59OO'vQdO,59OO'vQdO,59OO'vQdO,59OO'vQdO,59OO'vQdO,59OO5TQdO'#DoOOQS,5:Y,5:YO5hQdO'#HdOOQS,5:],5:]O5uQ!fO,5:]O5zQtO,59YO1lQdO,59bO1lQdO,59bO1lQdO,59bO8jQdO,59bO8oQdO,59bO8vQdO,59jO8}QdO'#HTO:TQdO'#HSOOQS'#HS'#HSOOQS'#D['#D[O:lQdO,59aO'vQdO,59aO:zQdO,59aOOQS,59y,59yO;PQdO,5:RO'vQdO,5:ROOQS,5:Q,5:QO;_QdO,5:QO;dQdO,5:XO'vQdO,5:XO'vQdO,5:VOOQS,5:U,5:UO;uQdO,5:UO;zQdO,5:WOOOW'#Fy'#FyOOOOQS'#Ds'#DsOOQS1G/w1G/wOOQS1G.|1G.|O!/[QtO1G.|O!/cQtO1G.|O1lQdO1G.|O!0OQdO1G/UOOQS'#DZ'#DZO0rQdO,59tOOQS1G.{1G.{O!0VQdO1G/eO!0gQdO1G/eO!0oQdO1G/fO'vQdO'#H[O!0tQdO'#H[O!0yQtO1G.{O!1ZQdO,59iO!2aQdO,5=zO!2qQdO,5=zO!2yQdO1G/mO!3OQtO1G/mOOQS1G/l1G/lO!3`QdO,5=uO!4VQdO,5=uO0rQdO1G/qO!4tQdO1G/sO!4yQtO1G/sO!5ZQtO1G/qOOQS1G/p1G/pOOQS1G/r1G/rOOOW-E9w-E9wOOQS1G/{1G/{O!5kQdO'#HxO0rQdO'#HxO!5|QdO,5>cOOOW-E9x-E9xOOQS1G/|1G/|OOQS-E9{-E9{O!6[Q#xO1G2zO!6{QtO1G2zO'vQdO,5kOOQS1G1`1G1`O!8RQdO1G1`OOQS'#DV'#DVO0rQdO,5=qOOQS,5=q,5=qO!8WQdO'#FrO!8cQdO,59oO!8kQdO1G/XO!8uQtO,5=uOOQS1G3`1G3`OOQS,5:m,5:mO!9fQdO'#GtOOQS,5jO!;ZQdO,5>jO1XQdO,5>jO!;lQdO,5>iOOQS-E:R-E:RO!;qQdO1G0lO!;|QdO1G0lO!lO!lO!hO!=VQdO,5>hO!=hQdO'#EpO0rQdO1G0tO!=sQdO1G0tO!=xQgO1G0zO!AvQgO1G0}O!EqQdO,5>oO!E{QdO,5>oO!FTQtO,5>oO0rQdO1G1PO!F_QdO1G1PO4iQdO1G1UO!!vQdO1G1WOOQV,5;a,5;aO!FdQfO,5;aO!FiQgO1G1QO!JjQdO'#GZO4iQdO1G1QO4iQdO1G1QO!JzQdO,5>pO!KXQdO,5>pO1XQdO,5>pOOQV1G1U1G1UO!KaQdO'#FSO!KrQ!fO1G1WO!KzQdO1G1WOOQV1G1]1G1]O4iQdO1G1]O!LPQdO1G1]O!LXQdO'#F^OOQV1G1b1G1bO!#ZQtO1G1bPOOO1G2v1G2vP!L^OSO1G2vOOQS,5=},5=}OOQS'#Dp'#DpO0rQdO,5=}O!LfQdO,5=|O!LyQdO,5=|OOQS1G/u1G/uO!MRQdO,5>PO!McQdO,5>PO!MkQdO,5>PO!NOQdO,5>PO!N`QdO,5>POOQS1G3j1G3jOOQS7+$h7+$hO!8kQdO7+$pO#!RQdO1G.|O#!YQdO1G.|OOQS1G/`1G/`OOQS,5<`,5<`O'vQdO,5<`OOQS7+%P7+%PO#!aQdO7+%POOQS-E9r-E9rOOQS7+%Q7+%QO#!qQdO,5=vO'vQdO,5=vOOQS7+$g7+$gO#!vQdO7+%PO##OQdO7+%QO##TQdO1G3fOOQS7+%X7+%XO##eQdO1G3fO##mQdO7+%XOOQS,5<_,5<_O'vQdO,5<_O##rQdO1G3aOOQS-E9q-E9qO#$iQdO7+%]OOQS7+%_7+%_O#$wQdO1G3aO#%fQdO7+%_O#%kQdO1G3gO#%{QdO1G3gO#&TQdO7+%]O#&YQdO,5>dO#&sQdO,5>dO#&sQdO,5>dOOQS'#Dx'#DxO#'UO&jO'#DzO#'aO`O'#HyOOOW1G3}1G3}O#'fQdO1G3}O#'nQdO1G3}O#'yQ#xO7+(fO#(jQtO1G2UP#)TQdO'#GOOOQS,5nQdO,5sQdO1G4OOOQS-E9y-E9yO#?^QdO1G4OO<[QdO'#H{OOOO'#D{'#D{OOOO'#F|'#F|O#?oO&jO,5:fOOOW,5>e,5>eOOOW7+)i7+)iO#?zQdO7+)iO#@SQdO1G2zO#@mQdO1G2zP'vQdO'#FuO0rQdO<mO#BQQdO,5>mOOQS1G0v1G0vOOQS<rO#KgQdO,5>rO#KrQdO,5>rO#K}QdO,5>qO#L`QdO,5>qOOQS1G1Y1G1YOOQS,5;p,5;pOOQV<VAN>VO$ oQdO<cAN>cO0rQdO1G1|O$!PQtO1G1|P$!ZQdO'#FvOOQS1G2R1G2RP$!hQdO'#F{O$!uQdO7+)jO$#`QdO,5>gOOOO-E9z-E9zOOOW<tO$4{QdO,5>tO1XQdO,5vO$)nQdO,5>vOOQS1G1p1G1pOOQS,5<[,5<[OOQU7+'P7+'PO$+zQdO1G/iO$)nQdO,5wO$8zQdO,5>wOOQS1G1s1G1sOOQS7+'S7+'SP$)nQdO'#GdO$9SQdO1G4bO$9^QdO1G4bO$9fQdO1G4bOOQS7+%T7+%TO$9tQdO1G1tO$:SQtO'#FaO$:ZQdO,5<}OOQS,5<},5<}O$:iQdO1G4cOOQS-E:a-E:aO$)nQdO,5<|O$:pQdO,5<|O$:uQdO7+)|OOQS-E:`-E:`O$;PQdO7+)|O$)nQdO,5S~O%cOS%^OSSOS%]PQ~OPdOVaOfoOhYOopOs!POvqO!PrO!Q{O!T!SO!U!RO!XZO!][O!h`O!r`O!s`O!t`O!{tO!}uO#PvO#RwO#TxO#XyO#ZzO#^|O#_|O#a}O#c!OO#l!QO#o!TO#s!UO#u!VO#z!WO#}hO$P!XO%oRO%pRO%tSO%uWO&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O&c^O&d^O&e^O&f^O&g^O&h^O&i^O&j^O~O%]!YO~OV!aO_!aOa!bOh!iO!X!kO!f!mO%j![O%k!]O%l!^O%m!_O%n!_O%o!`O%p!`O%q!aO%r!aO%s!aO~Ok%xXl%xXm%xXn%xXo%xXp%xXs%xXz%xX{%xX!x%xX#g%xX%[%xX%_%xX%z%xXg%xX!T%xX!U%xX%{%xX!W%xX![%xX!Q%xX#[%xXt%xX!m%xX~P%SOfoOhYO!XZO!][O!h`O!r`O!s`O!t`O%oRO%pRO%tSO%uWO&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O&c^O&d^O&e^O&f^O&g^O&h^O&i^O&j^O~Oz%wX{%wX#g%wX%[%wX%_%wX%z%wX~Ok!pOl!qOm!oOn!oOo!rOp!sOs!tO!x%wX~P)pOV!zOg!|Oo0cOv0qO!PrO~P'vOV#OOo0cOv0qO!W#PO~P'vOV#SOa#TOo0cOv0qO![#UO~P'vOQ#XO%`#XO%a#ZO~OQ#^OR#[O%`#^O%a#`O~OV%iX_%iXa%iXh%iXk%iXl%iXm%iXn%iXo%iXp%iXs%iXz%iX!X%iX!f%iX%j%iX%k%iX%l%iX%m%iX%n%iX%o%iX%p%iX%q%iX%r%iX%s%iXg%iX!T%iX!U%iX~O&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O&c^O&d^O&e^O&f^O&g^O&h^O&i^O&j^O{%iX!x%iX#g%iX%[%iX%_%iX%z%iX%{%iX!W%iX![%iX!Q%iX#[%iXt%iX!m%iX~P,eOz#dO{%hX!x%hX#g%hX%[%hX%_%hX%z%hX~Oo0cOv0qO~P'vO#g#gO%[#iO%_#iO~O%uWO~O!T#nO#u!VO#z!WO#}hO~OopO~P'vOV#sOa#tO%uWO{wP~OV#xOo0cOv0qO!Q#yO~P'vO{#{O!x$QO%z#|O#g!yX%[!yX%_!yX~OV#xOo0cOv0qO#g#SX%[#SX%_#SX~P'vOo0cOv0qO#g#WX%[#WX%_#WX~P'vOh$WO%uWO~O!f$YO!r$YO%uWO~OV$eO~P'vO!U$gO#s$hO#u$iO~O{$jO~OV$qO~P'vOS$sO%[$rO%_$rO%c$tO~OV$}Oa$}Og%POo0cOv0qO~P'vOo0cOv0qO{%SO~P'vO&Y%UO~Oa!bOh!iO!X!kO!f!mOVba_bakbalbambanbaobapbasbazba{ba!xba#gba%[ba%_ba%jba%kba%lba%mba%nba%oba%pba%qba%rba%sba%zbagba!Tba!Uba%{ba!Wba![ba!Qba#[batba!mba~On%ZO~Oo%ZO~P'vOo0cO~P'vOk0eOl0fOm0dOn0dOo0mOp0nOs0rOg%wX!T%wX!U%wX%{%wX!W%wX![%wX!Q%wX#[%wX!m%wX~P)pO%{%]Og%vXz%vX!T%vX!U%vX!W%vX{%vX~Og%_Oz%`O!T%dO!U%cO~Og%_O~Oz%gO!T%dO!U%cO!W&SX~O!W%kO~Oz%lO{%nO!T%dO!U%cO![%}X~O![%rO~O![%sO~OQ#XO%`#XO%a%uO~OV%wOo0cOv0qO!PrO~P'vOQ#^OR#[O%`#^O%a%zO~OV!qa_!qaa!qah!qak!qal!qam!qan!qao!qap!qas!qaz!qa{!qa!X!qa!f!qa!x!qa#g!qa%[!qa%_!qa%j!qa%k!qa%l!qa%m!qa%n!qa%o!qa%p!qa%q!qa%r!qa%s!qa%z!qag!qa!T!qa!U!qa%{!qa!W!qa![!qa!Q!qa#[!qat!qa!m!qa~P#yOz%|O{%ha!x%ha#g%ha%[%ha%_%ha%z%ha~P%SOV&OOopOvqO{%ha!x%ha#g%ha%[%ha%_%ha%z%ha~P'vOz%|O{%ha!x%ha#g%ha%[%ha%_%ha%z%ha~OPdOVaOopOvqO!PrO!Q{O!{tO!}uO#PvO#RwO#TxO#XyO#ZzO#^|O#_|O#a}O#c!OO#g$zX%[$zX%_$zX~P'vO#g#gO%[&TO%_&TO~O!f&UOh&sX%[&sXz&sX#[&sX#g&sX%_&sX#Z&sXg&sX~Oh!iO%[&WO~Okealeameaneaoeapeaseazea{ea!xea#gea%[ea%_ea%zeagea!Tea!Uea%{ea!Wea![ea!Qea#[eatea!mea~P%SOsqazqa{qa#gqa%[qa%_qa%zqa~Ok!pOl!qOm!oOn!oOo!rOp!sO!xqa~PEcO%z&YOz%yX{%yX~O%uWOz%yX{%yX~Oz&]O{wX~O{&_O~Oz%lO#g%}X%[%}X%_%}Xg%}X{%}X![%}X!m%}X%z%}X~OV0lOo0cOv0qO!PrO~P'vO%z#|O#gUa%[Ua%_Ua~Oz&hO#g&PX%[&PX%_&PXn&PX~P%SOz&kO!Q&jO#g#Wa%[#Wa%_#Wa~Oz&lO#[&nO#g&rX%[&rX%_&rXg&rX~O!f$YO!r$YO#Z&qO%uWO~O#Z&qO~Oz&sO#g&tX%[&tX%_&tX~Oz&uO#g&pX%[&pX%_&pX{&pX~O!X&wO%z&xO~Oz&|On&wX~P%SOn'PO~OPdOVaOopOvqO!PrO!Q{O!{tO!}uO#PvO#RwO#TxO#XyO#ZzO#^|O#_|O#a}O#c!OO%['UO~P'vOt'YO#p'WO#q'XOP#naV#naf#nah#nao#nas#nav#na!P#na!Q#na!T#na!U#na!X#na!]#na!h#na!r#na!s#na!t#na!{#na!}#na#P#na#R#na#T#na#X#na#Z#na#^#na#_#na#a#na#c#na#l#na#o#na#s#na#u#na#z#na#}#na$P#na%X#na%o#na%p#na%t#na%u#na&Z#na&[#na&]#na&^#na&_#na&`#na&a#na&b#na&c#na&d#na&e#na&f#na&g#na&h#na&i#na&j#na%Z#na%_#na~Oz'ZO#[']O{&xX~Oh'_O!X&wO~Oh!iO{$jO!X&wO~O{'eO~P%SO%['hO%_'hO~OS'iO%['hO%_'hO~OV!aO_!aOa!bOh!iO!X!kO!f!mO%l!^O%m!_O%n!_O%o!`O%p!`O%q!aO%r!aO%s!aOkWilWimWinWioWipWisWizWi{Wi!xWi#gWi%[Wi%_Wi%jWi%zWigWi!TWi!UWi%{Wi!WWi![Wi!QWi#[WitWi!mWi~O%k!]O~P!#uO%kWi~P!#uOV!aO_!aOa!bOh!iO!X!kO!f!mO%o!`O%p!`O%q!aO%r!aO%s!aOkWilWimWinWioWipWisWizWi{Wi!xWi#gWi%[Wi%_Wi%jWi%kWi%lWi%zWigWi!TWi!UWi%{Wi!WWi![Wi!QWi#[WitWi!mWi~O%m!_O%n!_O~P!&pO%mWi%nWi~P!&pOa!bOh!iO!X!kO!f!mOkWilWimWinWioWipWisWizWi{Wi!xWi#gWi%[Wi%_Wi%jWi%kWi%lWi%mWi%nWi%oWi%pWi%zWigWi!TWi!UWi%{Wi!WWi![Wi!QWi#[WitWi!mWi~OV!aO_!aO%q!aO%r!aO%s!aO~P!)nOVWi_Wi%qWi%rWi%sWi~P!)nO!T%dO!U%cOg&VXz&VX~O%z'kO%{'kO~P,eOz'mOg&UX~Og'oO~Oz'pO{'rO!W&XX~Oo0cOv0qOz'pO{'sO!W&XX~P'vO!W'uO~Om!oOn!oOo!rOp!sOkjisjizji{ji!xji#gji%[ji%_ji%zji~Ol!qO~P!.aOlji~P!.aOk0eOl0fOm0dOn0dOo0mOp0nO~Ot'wO~P!/jOV'|Og'}Oo0cOv0qO~P'vOg'}Oz(OO~Og(QO~O!U(SO~Og(TOz(OO!T%dO!U%cO~P%SOk0eOl0fOm0dOn0dOo0mOp0nOgqa!Tqa!Uqa%{qa!Wqa![qa!Qqa#[qatqa!mqa~PEcOV'|Oo0cOv0qO!W&Sa~P'vOz(WO!W&Sa~O!W(XO~Oz(WO!T%dO!U%cO!W&Sa~P%SOV(]Oo0cOv0qO![%}a#g%}a%[%}a%_%}ag%}a{%}a!m%}a%z%}a~P'vOz(^O![%}a#g%}a%[%}a%_%}ag%}a{%}a!m%}a%z%}a~O![(aO~Oz(^O!T%dO!U%cO![%}a~P%SOz(dO!T%dO!U%cO![&Ta~P%SOz(gO{&lX![&lX!m&lX%z&lX~O{(kO![(mO!m(nO%z(jO~OV&OOopOvqO{%hi!x%hi#g%hi%[%hi%_%hi%z%hi~P'vOz(pO{%hi!x%hi#g%hi%[%hi%_%hi%z%hi~O!f&UOh&sa%[&saz&sa#[&sa#g&sa%_&sa#Z&sag&sa~O%[(uO~OV#sOa#tO%uWO~Oz&]O{wa~OopOvqO~P'vOz(^O#g%}a%[%}a%_%}ag%}a{%}a![%}a!m%}a%z%}a~P%SOz(zO#g%hX%[%hX%_%hX%z%hX~O%z#|O#gUi%[Ui%_Ui~O#g&Pa%[&Pa%_&Pan&Pa~P'vOz(}O#g&Pa%[&Pa%_&Pan&Pa~O%uWO#g&ra%[&ra%_&rag&ra~Oz)SO#g&ra%[&ra%_&rag&ra~Og)VO~OV)WOh$WO%uWO~O#Z)XO~O%uWO#g&ta%[&ta%_&ta~Oz)ZO#g&ta%[&ta%_&ta~Oo0cOv0qO#g&pa%[&pa%_&pa{&pa~P'vOz)^O#g&pa%[&pa%_&pa{&pa~OV)`Oa)`O%uWO~O%z)eO~Ot)hO#j)gOP#hiV#hif#hih#hio#his#hiv#hi!P#hi!Q#hi!T#hi!U#hi!X#hi!]#hi!h#hi!r#hi!s#hi!t#hi!{#hi!}#hi#P#hi#R#hi#T#hi#X#hi#Z#hi#^#hi#_#hi#a#hi#c#hi#l#hi#o#hi#s#hi#u#hi#z#hi#}#hi$P#hi%X#hi%o#hi%p#hi%t#hi%u#hi&Z#hi&[#hi&]#hi&^#hi&_#hi&`#hi&a#hi&b#hi&c#hi&d#hi&e#hi&f#hi&g#hi&h#hi&i#hi&j#hi%Z#hi%_#hi~Ot)iOP#kiV#kif#kih#kio#kis#kiv#ki!P#ki!Q#ki!T#ki!U#ki!X#ki!]#ki!h#ki!r#ki!s#ki!t#ki!{#ki!}#ki#P#ki#R#ki#T#ki#X#ki#Z#ki#^#ki#_#ki#a#ki#c#ki#l#ki#o#ki#s#ki#u#ki#z#ki#}#ki$P#ki%X#ki%o#ki%p#ki%t#ki%u#ki&Z#ki&[#ki&]#ki&^#ki&_#ki&`#ki&a#ki&b#ki&c#ki&d#ki&e#ki&f#ki&g#ki&h#ki&i#ki&j#ki%Z#ki%_#ki~OV)kOn&wa~P'vOz)lOn&wa~Oz)lOn&wa~P%SOn)pO~O%Y)tO~Ot)wO#p'WO#q)vOP#niV#nif#nih#nio#nis#niv#ni!P#ni!Q#ni!T#ni!U#ni!X#ni!]#ni!h#ni!r#ni!s#ni!t#ni!{#ni!}#ni#P#ni#R#ni#T#ni#X#ni#Z#ni#^#ni#_#ni#a#ni#c#ni#l#ni#o#ni#s#ni#u#ni#z#ni#}#ni$P#ni%X#ni%o#ni%p#ni%t#ni%u#ni&Z#ni&[#ni&]#ni&^#ni&_#ni&`#ni&a#ni&b#ni&c#ni&d#ni&e#ni&f#ni&g#ni&h#ni&i#ni&j#ni%Z#ni%_#ni~OV)zOo0cOv0qO{$jO~P'vOo0cOv0qO{&xa~P'vOz*OO{&xa~OV*SOa*TOg*WO%q*UO%uWO~O{$jO&{*YO~Oh'_O~Oh!iO{$jO~O%[*_O~O%[*aO%_*aO~OV$}Oa$}Oo0cOv0qOg&Ua~P'vOz*dOg&Ua~Oo0cOv0qO{*gO!W&Xa~P'vOz*hO!W&Xa~Oo0cOv0qOz*hO{*kO!W&Xa~P'vOo0cOv0qOz*hO!W&Xa~P'vOz*hO{*kO!W&Xa~Om0dOn0dOo0mOp0nOgjikjisjizji!Tji!Uji%{ji!Wji{ji![ji#gji%[ji%_ji!Qji#[jitji!mji%zji~Ol0fO~P!NkOlji~P!NkOV'|Og*pOo0cOv0qO~P'vOn*rO~Og*pOz*tO~Og*uO~OV'|Oo0cOv0qO!W&Si~P'vOz*vO!W&Si~O!W*wO~OV(]Oo0cOv0qO![%}i#g%}i%[%}i%_%}ig%}i{%}i!m%}i%z%}i~P'vOz*zO!T%dO!U%cO![&Ti~Oz*}O![%}i#g%}i%[%}i%_%}ig%}i{%}i!m%}i%z%}i~O![+OO~Oa+QOo0cOv0qO![&Ti~P'vOz*zO![&Ti~O![+SO~OV+UOo0cOv0qO{&la![&la!m&la%z&la~P'vOz+VO{&la![&la!m&la%z&la~O!]+YO&n+[O![!nX~O![+^O~O{(kO![+_O~O{(kO![+_O!m+`O~OV&OOopOvqO{%hq!x%hq#g%hq%[%hq%_%hq%z%hq~P'vOz$ri{$ri!x$ri#g$ri%[$ri%_$ri%z$ri~P%SOV&OOopOvqO~P'vOV&OOo0cOv0qO#g%ha%[%ha%_%ha%z%ha~P'vOz+aO#g%ha%[%ha%_%ha%z%ha~Oz$ia#g$ia%[$ia%_$ian$ia~P%SO#g&Pi%[&Pi%_&Pin&Pi~P'vOz+dO#g#Wq%[#Wq%_#Wq~O#[+eOz$va#g$va%[$va%_$vag$va~O%uWO#g&ri%[&ri%_&rig&ri~Oz+gO#g&ri%[&ri%_&rig&ri~OV+iOh$WO%uWO~O%uWO#g&ti%[&ti%_&ti~Oo0cOv0qO#g&pi%[&pi%_&pi{&pi~P'vO{#{Oz#eX!W#eX~Oz+mO!W&uX~O!W+oO~Ot+rO#j)gOP#hqV#hqf#hqh#hqo#hqs#hqv#hq!P#hq!Q#hq!T#hq!U#hq!X#hq!]#hq!h#hq!r#hq!s#hq!t#hq!{#hq!}#hq#P#hq#R#hq#T#hq#X#hq#Z#hq#^#hq#_#hq#a#hq#c#hq#l#hq#o#hq#s#hq#u#hq#z#hq#}#hq$P#hq%X#hq%o#hq%p#hq%t#hq%u#hq&Z#hq&[#hq&]#hq&^#hq&_#hq&`#hq&a#hq&b#hq&c#hq&d#hq&e#hq&f#hq&g#hq&h#hq&i#hq&j#hq%Z#hq%_#hq~On$|az$|a~P%SOV)kOn&wi~P'vOz+yOn&wi~Oz,TO{$jO#[,TO~O#q,VOP#nqV#nqf#nqh#nqo#nqs#nqv#nq!P#nq!Q#nq!T#nq!U#nq!X#nq!]#nq!h#nq!r#nq!s#nq!t#nq!{#nq!}#nq#P#nq#R#nq#T#nq#X#nq#Z#nq#^#nq#_#nq#a#nq#c#nq#l#nq#o#nq#s#nq#u#nq#z#nq#}#nq$P#nq%X#nq%o#nq%p#nq%t#nq%u#nq&Z#nq&[#nq&]#nq&^#nq&_#nq&`#nq&a#nq&b#nq&c#nq&d#nq&e#nq&f#nq&g#nq&h#nq&i#nq&j#nq%Z#nq%_#nq~O#[,WOz%Oa{%Oa~Oo0cOv0qO{&xi~P'vOz,YO{&xi~O{#{O%z,[Og&zXz&zX~O%uWOg&zXz&zX~Oz,`Og&yX~Og,bO~O%Y,eO~O!T%dO!U%cOg&Viz&Vi~OV$}Oa$}Oo0cOv0qOg&Ui~P'vO{,hOz$la!W$la~Oo0cOv0qO{,iOz$la!W$la~P'vOo0cOv0qO{*gO!W&Xi~P'vOz,lO!W&Xi~Oo0cOv0qOz,lO!W&Xi~P'vOz,lO{,oO!W&Xi~Og$hiz$hi!W$hi~P%SOV'|Oo0cOv0qO~P'vOn,qO~OV'|Og,rOo0cOv0qO~P'vOV'|Oo0cOv0qO!W&Sq~P'vOz$gi![$gi#g$gi%[$gi%_$gig$gi{$gi!m$gi%z$gi~P%SOV(]Oo0cOv0qO~P'vOa+QOo0cOv0qO![&Tq~P'vOz,sO![&Tq~O![,tO~OV(]Oo0cOv0qO![%}q#g%}q%[%}q%_%}qg%}q{%}q!m%}q%z%}q~P'vO{,uO~OV+UOo0cOv0qO{&li![&li!m&li%z&li~P'vOz,zO{&li![&li!m&li%z&li~O!]+YO&n+[O![!na~O{(kO![,}O~OV&OOo0cOv0qO#g%hi%[%hi%_%hi%z%hi~P'vOz-OO#g%hi%[%hi%_%hi%z%hi~O%uWO#g&rq%[&rq%_&rqg&rq~Oz-RO#g&rq%[&rq%_&rqg&rq~OV)`Oa)`O%uWO!W&ua~Oz-TO!W&ua~On$|iz$|i~P%SOV)kO~P'vOV)kOn&wq~P'vOt-XOP#myV#myf#myh#myo#mys#myv#my!P#my!Q#my!T#my!U#my!X#my!]#my!h#my!r#my!s#my!t#my!{#my!}#my#P#my#R#my#T#my#X#my#Z#my#^#my#_#my#a#my#c#my#l#my#o#my#s#my#u#my#z#my#}#my$P#my%X#my%o#my%p#my%t#my%u#my&Z#my&[#my&]#my&^#my&_#my&`#my&a#my&b#my&c#my&d#my&e#my&f#my&g#my&h#my&i#my&j#my%Z#my%_#my~O%Z-]O%_-]O~P`O#q-^OP#nyV#nyf#nyh#nyo#nys#nyv#ny!P#ny!Q#ny!T#ny!U#ny!X#ny!]#ny!h#ny!r#ny!s#ny!t#ny!{#ny!}#ny#P#ny#R#ny#T#ny#X#ny#Z#ny#^#ny#_#ny#a#ny#c#ny#l#ny#o#ny#s#ny#u#ny#z#ny#}#ny$P#ny%X#ny%o#ny%p#ny%t#ny%u#ny&Z#ny&[#ny&]#ny&^#ny&_#ny&`#ny&a#ny&b#ny&c#ny&d#ny&e#ny&f#ny&g#ny&h#ny&i#ny&j#ny%Z#ny%_#ny~Oz-aO{$jO#[-aO~Oo0cOv0qO{&xq~P'vOz-dO{&xq~O%z,[Og&zaz&za~O{#{Og&zaz&za~OV*SOa*TO%q*UO%uWOg&ya~Oz-hOg&ya~O$S-lO~OV$}Oa$}Oo0cOv0qO~P'vOo0cOv0qO{-mOz$li!W$li~P'vOo0cOv0qOz$li!W$li~P'vO{-mOz$li!W$li~Oo0cOv0qO{*gO~P'vOo0cOv0qO{*gO!W&Xq~P'vOz-pO!W&Xq~Oo0cOv0qOz-pO!W&Xq~P'vOs-sO!T%dO!U%cOg&Oq!W&Oq![&Oqz&Oq~P!/jOa+QOo0cOv0qO![&Ty~P'vOz$ji![$ji~P%SOa+QOo0cOv0qO~P'vOV+UOo0cOv0qO~P'vOV+UOo0cOv0qO{&lq![&lq!m&lq%z&lq~P'vO{(kO![-xO!m-yO%z-wO~OV&OOo0cOv0qO#g%hq%[%hq%_%hq%z%hq~P'vO%uWO#g&ry%[&ry%_&ryg&ry~OV)`Oa)`O%uWO!W&ui~Ot-}OP#m!RV#m!Rf#m!Rh#m!Ro#m!Rs#m!Rv#m!R!P#m!R!Q#m!R!T#m!R!U#m!R!X#m!R!]#m!R!h#m!R!r#m!R!s#m!R!t#m!R!{#m!R!}#m!R#P#m!R#R#m!R#T#m!R#X#m!R#Z#m!R#^#m!R#_#m!R#a#m!R#c#m!R#l#m!R#o#m!R#s#m!R#u#m!R#z#m!R#}#m!R$P#m!R%X#m!R%o#m!R%p#m!R%t#m!R%u#m!R&Z#m!R&[#m!R&]#m!R&^#m!R&_#m!R&`#m!R&a#m!R&b#m!R&c#m!R&d#m!R&e#m!R&f#m!R&g#m!R&h#m!R&i#m!R&j#m!R%Z#m!R%_#m!R~Oo0cOv0qO{&xy~P'vOV*SOa*TO%q*UO%uWOg&yi~O$S-lO%Z.VO%_.VO~OV.aOh._O!X.^O!].`O!h.YO!s.[O!t.[O%p.XO%uWO&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O~Oo0cOv0qOz$lq!W$lq~P'vO{.fOz$lq!W$lq~Oo0cOv0qO{*gO!W&Xy~P'vOz.gO!W&Xy~Oo0cOv.kO~P'vOs-sO!T%dO!U%cOg&Oy!W&Oy![&Oyz&Oy~P!/jO{(kO![.nO~O{(kO![.nO!m.oO~OV*SOa*TO%q*UO%uWO~Oh.tO!f.rOz$TX#[$TX%j$TXg$TX~Os$TX{$TX!W$TX![$TX~P$-bO%o.vO%p.vOs$UXz$UX{$UX#[$UX%j$UX!W$UXg$UX![$UX~O!h.xO~Oz.|O#[/OO%j.yOs&|X{&|X!W&|Xg&|X~Oa/RO~P$)zOh.tOs&}Xz&}X{&}X#[&}X%j&}X!W&}Xg&}X![&}X~Os/VO{$jO~Oo0cOv0qOz$ly!W$ly~P'vOo0cOv0qO{*gO!W&X!R~P'vOz/ZO!W&X!R~Og&RXs&RX!T&RX!U&RX!W&RX![&RXz&RX~P!/jOs-sO!T%dO!U%cOg&Qa!W&Qa![&Qaz&Qa~O{(kO![/^O~O!f.rOh$[as$[az$[a{$[a#[$[a%j$[a!W$[ag$[a![$[a~O!h/eO~O%o.vO%p.vOs$Uaz$Ua{$Ua#[$Ua%j$Ua!W$Uag$Ua![$Ua~O%j.yOs$Yaz$Ya{$Ya#[$Ya!W$Yag$Ya![$Ya~Os&|a{&|a!W&|ag&|a~P$)nOz/jOs&|a{&|a!W&|ag&|a~O!W/mO~Og/mO~O{/oO~O![/pO~Oo0cOv0qO{*gO!W&X!Z~P'vO{/sO~O%z/tO~P$-bOz/uO#[/OO%j.yOg'PX~Oz/uOg'PX~Og/wO~O!h/xO~O#[/OOs%Saz%Sa{%Sa%j%Sa!W%Sag%Sa![%Sa~O#[/OO%j.yOs%Waz%Wa{%Wa!W%Wag%Wa~Os&|i{&|i!W&|ig&|i~P$)nOz/zO#[/OO%j.yO!['Oa~Og'Pa~P$)nOz0SOg'Pa~Oa0UO!['Oi~P$)zOz0WO!['Oi~Oz0WO#[/OO%j.yO!['Oi~O#[/OO%j.yOg$biz$bi~O%z0ZO~P$-bO#[/OO%j.yOg%Vaz%Va~Og'Pi~P$)nO{0^O~Oa0UO!['Oq~P$)zOz0`O!['Oq~O#[/OO%j.yOz%Ui![%Ui~Oa0UO~P$)zOa0UO!['Oy~P$)zO#[/OO%j.yOg$ciz$ci~O#[/OO%j.yOz%Uq![%Uq~Oz+aO#g%ha%[%ha%_%ha%z%ha~P%SOV&OOo0cOv0qO~P'vOn0hO~Oo0hO~P'vO{0iO~Ot0jO~P!/jO&]&Z&j&h&i&g&f&d&e&c&b&`&a&_&^&[%u~",goto:"!=j'QPPPPPP'RP'Z*s+[+t,_,y-fP.SP'Z.r.r'ZPPP'Z2[PPPPPP2[5PPP5PP7b7k=sPP=v>h>kPP'Z'ZPP>zPP'Z'ZPP'Z'Z'Z'Z'Z?O?w'ZP?zP@QDXGuGyPG|HWH['ZPPPH_Hk'RP'R'RP'RP'RP'RP'RP'R'R'RP'RPP'RPP'RP'RPHqH}IVPI^IdPI^PI^I^PPPI^PKrPK{LVL]KrPI^LfPI^PLmLsPLwM]MzNeLwLwNkNxLwLwLwLw! ^! d! g! l! o! y!!P!!]!!o!!u!#P!#V!#s!#y!$P!$Z!$a!$g!$y!%T!%Z!%a!%k!%q!%w!%}!&T!&Z!&e!&k!&u!&{!'U!'[!'k!'s!'}!(UPPPPPPPPPPP!([!(_!(e!(n!(x!)TPPPPPPPPPPPP!-u!/Z!3^!6oPP!6w!7W!7a!8Y!8P!8c!8i!8l!8o!8r!8z!9jPPPPPPPPPPPPPPPPP!9m!9q!9wP!:]!:a!:m!:v!;S!;j!;m!;p!;v!;|!_![!]Do!]!^Es!^!_FZ!_!`Gk!`!aHX!a!b%T!b!cIf!c!dJU!d!eK^!e!hJU!h!i!#f!i!tJU!t!u!,|!u!wJU!w!x!.t!x!}JU!}#O!0S#O#P&o#P#Q!0j#Q#R!1Q#R#SJU#S#T%T#T#UJU#U#VK^#V#YJU#Y#Z!#f#Z#fJU#f#g!,|#g#iJU#i#j!.t#j#oJU#o#p!1n#p#q!1s#q#r!2a#r#s!2f#s$g%T$g;'SJU;'S;=`KW<%lOJU`%YT&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T`%lP;=`<%l%To%v]&n`%c_OX%TXY%oY[%T[]%o]p%Tpq%oq#O%T#O#P&o#P#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To&tX&n`OY%TYZ%oZ]%T]^%o^#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc'f[&n`O!_%T!_!`([!`#T%T#T#U(r#U#f%T#f#g(r#g#h(r#h#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc(cTmR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc(yT!mR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk)aV&n`&[ZOr%Trs)vs#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk){V&n`Or%Trs*bs#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk*iT&n`&^ZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To+PZS_&n`OY*xYZ%TZ]*x]^%T^#o*x#o#p+r#p#q*x#q#r+r#r;'S*x;'S;=`,^<%lO*x_+wTS_OY+rZ]+r^;'S+r;'S;=`,W<%lO+r_,ZP;=`<%l+ro,aP;=`<%l*xj,kV%rQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj-XT!xY&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj-oV%lQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk.]V&n`&ZZOw%Twx.rx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk.wV&n`Ow%Twx/^x#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk/eT&n`&]ZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk/{ThZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc0cTgR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk0yXVZ&n`Oz%Tz{1f{!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk1mVaR&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk2ZV%oZ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc2wTzR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To3_W%pZ&n`O!_%T!_!`-Q!`!a3w!a#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Td4OT&{S&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk4fX!fQ&n`O!O%T!O!P5R!P!Q%T!Q![6T![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk5WV&n`O!O%T!O!P5m!P#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk5tT!rZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti6[a!hX&n`O!Q%T!Q![6T![!g%T!g!h7a!h!l%T!l!m9s!m#R%T#R#S6T#S#X%T#X#Y7a#Y#^%T#^#_9s#_#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti7fZ&n`O{%T{|8X|}%T}!O8X!O!Q%T!Q![8s![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti8^V&n`O!Q%T!Q![8s![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti8z]!hX&n`O!Q%T!Q![8s![!l%T!l!m9s!m#R%T#R#S8s#S#^%T#^#_9s#_#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti9zT!hX&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk:bX%qR&n`O!P%T!P!Q:}!Q!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj;UV%sQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti;ro!hX&n`O!O%T!O!P=s!P!Q%T!Q![>_![!d%T!d!e?q!e!g%T!g!h7a!h!l%T!l!m9s!m!q%T!q!rA]!r!z%T!z!{Bq!{#R%T#R#S>_#S#U%T#U#V?q#V#X%T#X#Y7a#Y#^%T#^#_9s#_#c%T#c#dA]#d#l%T#l#mBq#m#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti=xV&n`O!Q%T!Q![6T![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti>fc!hX&n`O!O%T!O!P=s!P!Q%T!Q![>_![!g%T!g!h7a!h!l%T!l!m9s!m#R%T#R#S>_#S#X%T#X#Y7a#Y#^%T#^#_9s#_#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti?vY&n`O!Q%T!Q!R@f!R!S@f!S#R%T#R#S@f#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti@mY!hX&n`O!Q%T!Q!R@f!R!S@f!S#R%T#R#S@f#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiAbX&n`O!Q%T!Q!YA}!Y#R%T#R#SA}#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiBUX!hX&n`O!Q%T!Q!YA}!Y#R%T#R#SA}#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiBv]&n`O!Q%T!Q![Co![!c%T!c!iCo!i#R%T#R#SCo#S#T%T#T#ZCo#Z#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiCv]!hX&n`O!Q%T!Q![Co![!c%T!c!iCo!i#R%T#R#SCo#S#T%T#T#ZCo#Z#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%ToDvV{_&n`O!_%T!_!`E]!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TcEdT%{R&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkEzT#gZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkFbXmR&n`O!^%T!^!_F}!_!`([!`!a([!a#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TjGUV%mQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkGrV%zZ&n`O!_%T!_!`([!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkH`WmR&n`O!_%T!_!`([!`!aHx!a#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TjIPV%nQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkIoV_Q#}P&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%ToJ_]&n`&YS%uZO!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUoKZP;=`<%lJUoKge&n`&YS%uZOr%Trs)Ysw%Twx.Ux!Q%T!Q![JU![!c%T!c!tJU!t!uLx!u!}JU!}#R%T#R#SJU#S#T%T#T#fJU#f#gLx#g#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUoMRa&n`&YS%uZOr%TrsNWsw%Twx! vx!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUkN_V&n`&`ZOr%TrsNts#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkNyV&n`Or%Trs! `s#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk! gT&n`&bZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk! }V&n`&_ZOw%Twx!!dx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!!iV&n`Ow%Twx!#Ox#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!#VT&n`&aZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To!#oe&n`&YS%uZOr%Trs!%Qsw%Twx!&px!Q%T!Q![JU![!c%T!c!tJU!t!u!(`!u!}JU!}#R%T#R#SJU#S#T%T#T#fJU#f#g!(`#g#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUk!%XV&n`&dZOr%Trs!%ns#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!%sV&n`Or%Trs!&Ys#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!&aT&n`&fZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!&wV&n`&cZOw%Twx!'^x#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!'cV&n`Ow%Twx!'xx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!(PT&n`&eZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To!(ia&n`&YS%uZOr%Trs!)nsw%Twx!+^x!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUk!)uV&n`&hZOr%Trs!*[s#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!*aV&n`Or%Trs!*vs#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!*}T&n`&jZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!+eV&n`&gZOw%Twx!+zx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!,PV&n`Ow%Twx!,fx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!,mT&n`&iZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To!-Vi&n`&YS%uZOr%TrsNWsw%Twx! vx!Q%T!Q![JU![!c%T!c!dJU!d!eLx!e!hJU!h!i!(`!i!}JU!}#R%T#R#SJU#S#T%T#T#UJU#U#VLx#V#YJU#Y#Z!(`#Z#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUo!.}a&n`&YS%uZOr%Trs)Ysw%Twx.Ux!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUk!0ZT!XZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc!0qT!WR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj!1XV%kQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T~!1sO!]~k!1zV%jR&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T~!2fO![~i!2mT%tX&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T",tokenizers:[kw,Qw,gw,xw,0,1,2,3,4],topRules:{Script:[0,5]},specialized:[{term:221,get:i=>vw[i]||-1}],tokenPrec:7668});var Mm=new Oi,jm=new Set(["Script","Body","FunctionDefinition","ClassDefinition","LambdaExpression","ForStatement","MatchClause"]);function Oo(i){return(e,t,n)=>{if(n)return!1;let r=e.node.getChild("VariableName");return r&&t(r,i),!0}}var $w={FunctionDefinition:Oo("function"),ClassDefinition:Oo("class"),ForStatement(i,e,t){if(t){for(let n=i.node.firstChild;n;n=n.nextSibling)if(n.name=="VariableName")e(n,"variable");else if(n.name=="in")break}},ImportStatement(i,e){var t,n;let{node:r}=i,s=((t=r.firstChild)===null||t===void 0?void 0:t.name)=="from";for(let o=r.getChild("import");o;o=o.nextSibling)o.name=="VariableName"&&((n=o.nextSibling)===null||n===void 0?void 0:n.name)!="as"&&e(o,s?"variable":"namespace")},AssignStatement(i,e){for(let t=i.node.firstChild;t;t=t.nextSibling)if(t.name=="VariableName")e(t,"variable");else if(t.name==":"||t.name=="AssignOp")break},ParamList(i,e){for(let t=null,n=i.node.firstChild;n;n=n.nextSibling)n.name=="VariableName"&&(!t||!/\*|AssignOp/.test(t.name))&&e(n,"variable"),t=n},CapturePattern:Oo("variable"),AsPattern:Oo("variable"),__proto__:null};function Vm(i,e){let t=Mm.get(e);if(t)return t;let n=[],r=!0;function s(o,a){let l=i.sliceString(o.from,o.to);n.push({label:l,type:a})}return e.cursor(te.IncludeAnonymous).iterate(o=>{if(o.name){let a=$w[o.name];if(a&&a(o,s,r)||!r&&jm.has(o.name))return!1;r=!1}else if(o.to-o.from>8192){for(let a of Vm(i,o.node))n.push(a);return!1}}),Mm.set(e,n),n}var Wm=/^[\w\xa1-\uffff][\w\d\xa1-\uffff]*$/,Dm=["String","FormatString","Comment","PropertyName"];function Tw(i){let e=U(i.state).resolveInner(i.pos,-1);if(Dm.indexOf(e.name)>-1)return null;let t=e.name=="VariableName"||e.to-e.from<20&&Wm.test(i.state.sliceDoc(e.from,e.to));if(!t&&!i.explicit)return null;let n=[];for(let r=e;r;r=r.parent)jm.has(r.name)&&(n=n.concat(Vm(i.state.doc,r)));return{options:n,from:t?e.from:i.pos,validFor:Wm}}var Cw=["__annotations__","__builtins__","__debug__","__doc__","__import__","__name__","__loader__","__package__","__spec__","False","None","True"].map(i=>({label:i,type:"constant"})).concat(["ArithmeticError","AssertionError","AttributeError","BaseException","BlockingIOError","BrokenPipeError","BufferError","BytesWarning","ChildProcessError","ConnectionAbortedError","ConnectionError","ConnectionRefusedError","ConnectionResetError","DeprecationWarning","EOFError","Ellipsis","EncodingWarning","EnvironmentError","Exception","FileExistsError","FileNotFoundError","FloatingPointError","FutureWarning","GeneratorExit","IOError","ImportError","ImportWarning","IndentationError","IndexError","InterruptedError","IsADirectoryError","KeyError","KeyboardInterrupt","LookupError","MemoryError","ModuleNotFoundError","NameError","NotADirectoryError","NotImplemented","NotImplementedError","OSError","OverflowError","PendingDeprecationWarning","PermissionError","ProcessLookupError","RecursionError","ReferenceError","ResourceWarning","RuntimeError","RuntimeWarning","StopAsyncIteration","StopIteration","SyntaxError","SyntaxWarning","SystemError","SystemExit","TabError","TimeoutError","TypeError","UnboundLocalError","UnicodeDecodeError","UnicodeEncodeError","UnicodeError","UnicodeTranslateError","UnicodeWarning","UserWarning","ValueError","Warning","ZeroDivisionError"].map(i=>({label:i,type:"type"}))).concat(["bool","bytearray","bytes","classmethod","complex","float","frozenset","int","list","map","memoryview","object","range","set","staticmethod","str","super","tuple","type"].map(i=>({label:i,type:"class"}))).concat(["abs","aiter","all","anext","any","ascii","bin","breakpoint","callable","chr","compile","delattr","dict","dir","divmod","enumerate","eval","exec","exit","filter","format","getattr","globals","hasattr","hash","help","hex","id","input","isinstance","issubclass","iter","len","license","locals","max","min","next","oct","open","ord","pow","print","property","quit","repr","reversed","round","setattr","slice","sorted","sum","vars","zip"].map(i=>({label:i,type:"function"}))),Xw=[he("def ${name}(${params}):\n ${}",{label:"def",detail:"function",type:"keyword"}),he("for ${name} in ${collection}:\n ${}",{label:"for",detail:"loop",type:"keyword"}),he("while ${}:\n ${}",{label:"while",detail:"loop",type:"keyword"}),he("try:\n ${}\nexcept ${error}:\n ${}",{label:"try",detail:"/ except block",type:"keyword"}),he(`if \${}: -`,{label:"if",detail:"block",type:"keyword"}),ce("if ${}:\n ${}\nelse:\n ${}",{label:"if",detail:"/ else block",type:"keyword"}),ce("class ${name}:\n def __init__(self, ${params}):\n ${}",{label:"class",detail:"definition",type:"keyword"}),ce("import ${module}",{label:"import",detail:"statement",type:"keyword"}),ce("from ${module} import ${names}",{label:"from",detail:"import",type:"keyword"})],Xw=Bs(Vm,Is(Tw.concat(Cw)));function rh(i){let{node:e,pos:t}=i,n=i.lineIndent(t,-1),r=null;for(;;){let s=e.childBefore(t);if(s)if(s.name=="Comment")t=s.from;else if(s.name=="Body"||s.name=="MatchBody")i.baseIndentFor(s)+i.unit<=n&&(r=s),e=s;else if(s.name=="MatchClause")e=s;else if(s.type.is("Statement"))e=s;else break;else break}return r}function sh(i,e){let t=i.baseIndentFor(e),n=i.lineAt(i.pos,-1),r=n.from+n.text.length;return/^\s*($|#)/.test(n.text)&&i.node.tot?null:t+i.unit}var oh=Ce.define({name:"python",parser:zm.configure({props:[Pe.add({Body:i=>{var e;let t=/^\s*(#|$)/.test(i.textAfter)&&rh(i)||i.node;return(e=sh(i,t))!==null&&e!==void 0?e:i.continue()},MatchBody:i=>{var e;let t=rh(i);return(e=sh(i,t||i.node))!==null&&e!==void 0?e:i.continue()},IfStatement:i=>/^\s*(else:|elif )/.test(i.textAfter)?i.baseIndent:i.continue(),"ForStatement WhileStatement":i=>/^\s*else:/.test(i.textAfter)?i.baseIndent:i.continue(),TryStatement:i=>/^\s*(except[ :]|finally:|else:)/.test(i.textAfter)?i.baseIndent:i.continue(),MatchStatement:i=>/^\s*case /.test(i.textAfter)?i.baseIndent+i.unit:i.continue(),"TupleExpression ComprehensionExpression ParamList ArgList ParenthesizedExpression":St({closing:")"}),"DictionaryExpression DictionaryComprehensionExpression SetExpression SetComprehensionExpression":St({closing:"}"}),"ArrayExpression ArrayComprehensionExpression":St({closing:"]"}),MemberExpression:i=>i.baseIndent+i.unit,"String FormatString":()=>null,Script:i=>{var e;let t=rh(i);return(e=t&&sh(i,t))!==null&&e!==void 0?e:i.continue()}}),Xe.add({"ArrayExpression DictionaryExpression SetExpression TupleExpression":ht,Body:(i,e)=>({from:i.from+1,to:i.to-(i.to==e.doc.length?0:1)}),"String FormatString":(i,e)=>({from:e.doc.lineAt(i.from).to,to:i.to})})]}),languageData:{closeBrackets:{brackets:["(","[","{","'",'"',"'''",'"""'],stringPrefixes:["f","fr","rf","r","u","b","br","rb","F","FR","RF","R","U","B","BR","RB"]},commentTokens:{line:"#"},indentOnInput:/^\s*([\}\]\)]|else:|elif |except |finally:|case\s+[^:]*:?)$/}});function Dm(){return new me(oh,[oh.data.of({autocomplete:$w}),oh.data.of({autocomplete:Xw})])}var _w=Qe({String:d.string,Number:d.number,"True False":d.bool,PropertyName:d.propertyName,Null:d.null,", :":d.separator,"[ ]":d.squareBracket,"{ }":d.brace}),Ym=ve.deserialize({version:14,states:"$bOVQPOOOOQO'#Cb'#CbOnQPO'#CeOvQPO'#ClOOQO'#Cr'#CrQOQPOOOOQO'#Cg'#CgO}QPO'#CfO!SQPO'#CtOOQO,59P,59PO![QPO,59PO!aQPO'#CuOOQO,59W,59WO!iQPO,59WOVQPO,59QOqQPO'#CmO!nQPO,59`OOQO1G.k1G.kOVQPO'#CnO!vQPO,59aOOQO1G.r1G.rOOQO1G.l1G.lOOQO,59X,59XOOQO-E6k-E6kOOQO,59Y,59YOOQO-E6l-E6l",stateData:"#O~OeOS~OQSORSOSSOTSOWQO_ROgPO~OVXOgUO~O^[O~PVO[^O~O]_OVhX~OVaO~O]bO^iX~O^dO~O]_OVha~O]bO^ia~O",goto:"!kjPPPPPPkPPkqwPPPPk{!RPPP!XP!e!hXSOR^bQWQRf_TVQ_Q`WRg`QcZRicQTOQZRQe^RhbRYQR]R",nodeNames:"\u26A0 JsonText True False Null Number String } { Object Property PropertyName : , ] [ Array",maxTerm:25,nodeProps:[["isolate",-2,6,11,""],["openedBy",7,"{",14,"["],["closedBy",8,"}",15,"]"]],propSources:[_w],skippedNodes:[0],repeatNodeCount:2,tokenData:"(|~RaXY!WYZ!W]^!Wpq!Wrs!]|}$u}!O$z!Q!R%T!R![&c![!]&t!}#O&y#P#Q'O#Y#Z'T#b#c'r#h#i(Z#o#p(r#q#r(w~!]Oe~~!`Wpq!]qr!]rs!xs#O!]#O#P!}#P;'S!];'S;=`$o<%lO!]~!}Og~~#QXrs!]!P!Q!]#O#P!]#U#V!]#Y#Z!]#b#c!]#f#g!]#h#i!]#i#j#m~#pR!Q![#y!c!i#y#T#Z#y~#|R!Q![$V!c!i$V#T#Z$V~$YR!Q![$c!c!i$c#T#Z$c~$fR!Q![!]!c!i!]#T#Z!]~$rP;=`<%l!]~$zO]~~$}Q!Q!R%T!R![&c~%YRT~!O!P%c!g!h%w#X#Y%w~%fP!Q![%i~%nRT~!Q![%i!g!h%w#X#Y%w~%zR{|&T}!O&T!Q![&Z~&WP!Q![&Z~&`PT~!Q![&Z~&hST~!O!P%c!Q![&c!g!h%w#X#Y%w~&yO[~~'OO_~~'TO^~~'WP#T#U'Z~'^P#`#a'a~'dP#g#h'g~'jP#X#Y'm~'rOR~~'uP#i#j'x~'{P#`#a(O~(RP#`#a(U~(ZOS~~(^P#f#g(a~(dP#i#j(g~(jP#X#Y(m~(rOQ~~(wOW~~(|OV~",tokenizers:[0],topRules:{JsonText:[0,1]},tokenPrec:0});var Rw=Ce.define({name:"json",parser:Ym.configure({props:[Pe.add({Object:Bt({except:/^\s*\}/}),Array:Bt({except:/^\s*\]/})}),Xe.add({"Object Array":ht})]}),languageData:{closeBrackets:{brackets:["[","{",'"']},indentOnInput:/^\s*[\}\]]$/}});function Im(){return new me(Rw)}function Oo(i){for(var e={},t=0;t~^?!",Lw=":;,.(){}[]",Mw=/^\-?0b[01][01_]*/,Ww=/^\-?0o[0-7][0-7_]*/,jw=/^\-?0x[\dA-Fa-f][\dA-Fa-f_]*(?:(?:\.[\dA-Fa-f][\dA-Fa-f_]*)?[Pp]\-?\d[\d_]*)?/,Vw=/^\-?\d[\d_]*(?:\.\d[\d_]*)?(?:[Ee]\-?\d[\d_]*)?/,Dw=/^\$\d+|(`?)[_A-Za-z][_A-Za-z$0-9]*\1/,Yw=/^\.(?:\$\d+|(`?)[_A-Za-z][_A-Za-z$0-9]*\1)/,Iw=/^\#[A-Za-z]+/,Bw=/^@(?:\$\d+|(`?)[_A-Za-z][_A-Za-z$0-9]*\1)/;function Bm(i,e,t){if(i.sol()&&(e.indented=i.indentation()),i.eatSpace())return null;var n=i.peek();if(n=="/"){if(i.match("//"))return i.skipToEnd(),"comment";if(i.match("/*"))return e.tokenize.push(ah),ah(i,e)}if(i.match(Iw))return"builtin";if(i.match(Bw))return"attribute";if(i.match(Mw)||i.match(Ww)||i.match(jw)||i.match(Vw))return"number";if(i.match(Yw))return"property";if(zw.indexOf(n)>-1)return i.next(),"operator";if(Lw.indexOf(n)>-1)return i.next(),i.match(".."),"punctuation";var r;if(r=i.match(/("""|"|')/)){var s=Gw.bind(null,r[0]);return e.tokenize.push(s),s(i,e)}if(i.match(Dw)){var o=i.current();return qw.hasOwnProperty(o)?"type":Ew.hasOwnProperty(o)?"atom":Aw.hasOwnProperty(o)?(Zw.hasOwnProperty(o)&&(e.prev="define"),"keyword"):t=="define"?"def":"variable"}return i.next(),null}function Uw(){var i=0;return function(e,t,n){var r=Bm(e,t,n);if(r=="punctuation"){if(e.current()=="(")++i;else if(e.current()==")"){if(i==0)return e.backUp(1),t.tokenize.pop(),t.tokenize[t.tokenize.length-1](e,t);--i}}return r}}function Gw(i,e,t){for(var n=i.length==1,r,s=!1;r=e.peek();)if(s){if(e.next(),r=="(")return t.tokenize.push(Uw()),"string";s=!1}else{if(e.match(i))return t.tokenize.pop(),"string";e.next(),s=r=="\\"}return n&&t.tokenize.pop(),"string"}function ah(i,e){for(var t;t=i.next();)if(t==="/"&&i.eat("*"))e.tokenize.push(ah);else if(t==="*"&&i.eat("/")){e.tokenize.pop();break}return"comment"}function Nw(i,e,t){this.prev=i,this.align=e,this.indented=t}function Fw(i,e){var t=e.match(/^\s*($|\/[\/\*]|[)}\]])/,!1)?null:e.column()+1;i.context=new Nw(i.context,t,i.indented)}function Hw(i){i.context&&(i.indented=i.context.indented,i.context=i.context.prev)}var Um={name:"swift",startState:function(){return{prev:null,context:null,indented:0,tokenize:[]}},token:function(i,e){var t=e.prev;e.prev=null;var n=e.tokenize[e.tokenize.length-1]||Bm,r=n(i,e,t);if(!r||r=="comment"?e.prev=t:e.prev||(e.prev=r),r=="punctuation"){var s=/[\(\[\{]|([\]\)\}])/.exec(i.current());s&&(s[1]?Hw:Fw)(e,i)}return r},indent:function(i,e,t){var n=i.context;if(!n)return 0;var r=/^[\]\}\)]/.test(e);return n.align!=null?n.align-(r?1:0):n.indented+(r?0:t.unit)},languageData:{indentOnInput:/^\s*[\)\}\]]$/,commentTokens:{line:"//",block:{open:"/*",close:"*/"}},closeBrackets:{brackets:["(","[","{","'",'"',"`"]}}};var lh={};function ch(i,e){for(var t=0;t1&&i.eat("$");var t=i.next();return/['"({]/.test(t)?(e.tokens[0]=po(t,t=="("?"quote":t=="{"?"def":"string"),_n(i,e)):(/\d/.test(t)||i.eatWhile(/\w/),e.tokens.shift(),"def")};function eP(i){return function(e,t){return e.sol()&&e.string==i&&t.tokens.shift(),e.skipToEnd(),"string.special"}}function _n(i,e){return(e.tokens[0]||Kw)(i,e)}var Km={name:"shell",startState:function(){return{tokens:[]}},token:function(i,e){return _n(i,e)},languageData:{autocomplete:Gm.concat(Nm,Fm),closeBrackets:{brackets:["(","[","{","'",'"',"`"]},commentTokens:{line:"#"}}};var tP=["true","false","on","off","yes","no"],iP=new RegExp("\\b(("+tP.join(")|(")+"))$","i"),Jm={name:"yaml",token:function(i,e){var t=i.peek(),n=e.escaped;if(e.escaped=!1,t=="#"&&(i.pos==0||/\s/.test(i.string.charAt(i.pos-1))))return i.skipToEnd(),"comment";if(i.match(/^('([^']|\\.)*'?|"([^"]|\\.)*"?)/))return"string";if(e.literal&&i.indentation()>e.keyCol)return i.skipToEnd(),"string";if(e.literal&&(e.literal=!1),i.sol()){if(e.keyCol=0,e.pair=!1,e.pairStart=!1,i.match("---")||i.match("..."))return"def";if(i.match(/^\s*-\s+/))return"meta"}if(i.match(/^(\{|\}|\[|\])/))return t=="{"?e.inlinePairs++:t=="}"?e.inlinePairs--:t=="["?e.inlineList++:e.inlineList--,"meta";if(e.inlineList>0&&!n&&t==",")return i.next(),"meta";if(e.inlinePairs>0&&!n&&t==",")return e.keyCol=0,e.pair=!1,e.pairStart=!1,i.next(),"meta";if(e.pairStart){if(i.match(/^\s*(\||\>)\s*/))return e.literal=!0,"meta";if(i.match(/^\s*(\&|\*)[a-z0-9\._-]+\b/i))return"variable";if(e.inlinePairs==0&&i.match(/^\s*-?[0-9\.\,]+\s?$/)||e.inlinePairs>0&&i.match(/^\s*-?[0-9\.\,]+\s?(?=(,|}))/))return"number";if(i.match(iP))return"keyword"}return!e.pair&&i.match(/^\s*(?:[,\[\]{}&*!|>'"%@`][^\s'":]|[^,\[\]{}#&*!|>'"%@`])[^#]*?(?=\s*:($|\s))/)?(e.pair=!0,e.keyCol=i.indentation(),"atom"):e.pair&&i.match(/^:\s*/)?(e.pairStart=!0,"meta"):(e.pairStart=!1,e.escaped=t=="\\",i.next(),null)},startState:function(){return{pair:!1,pairStart:!1,keyCol:0,inlinePairs:0,inlineList:0,literal:!1,escaped:!1}},languageData:{commentTokens:{line:"#"}}};var nP={break:!0,case:!0,chan:!0,const:!0,continue:!0,default:!0,defer:!0,else:!0,fallthrough:!0,for:!0,func:!0,go:!0,goto:!0,if:!0,import:!0,interface:!0,map:!0,package:!0,range:!0,return:!0,select:!0,struct:!0,switch:!0,type:!0,var:!0,bool:!0,byte:!0,complex64:!0,complex128:!0,float32:!0,float64:!0,int8:!0,int16:!0,int32:!0,int64:!0,string:!0,uint8:!0,uint16:!0,uint32:!0,uint64:!0,int:!0,uint:!0,uintptr:!0,error:!0,rune:!0,any:!0,comparable:!0},rP={true:!0,false:!0,iota:!0,nil:!0,append:!0,cap:!0,close:!0,complex:!0,copy:!0,delete:!0,imag:!0,len:!0,make:!0,new:!0,panic:!0,print:!0,println:!0,real:!0,recover:!0},eg=/[+\-*&^%:=<>!|\/]/,ti;function mo(i,e){var t=i.next();if(t=='"'||t=="'"||t=="`")return e.tokenize=sP(t),e.tokenize(i,e);if(/[\d\.]/.test(t))return t=="."?i.match(/^[0-9]+([eE][\-+]?[0-9]+)?/):t=="0"?i.match(/^[xX][0-9a-fA-F]+/)||i.match(/^0[0-7]+/):i.match(/^[0-9]*\.?[0-9]*([eE][\-+]?[0-9]+)?/),"number";if(/[\[\]{}\(\),;\:\.]/.test(t))return ti=t,null;if(t=="/"){if(i.eat("*"))return e.tokenize=tg,tg(i,e);if(i.eat("/"))return i.skipToEnd(),"comment"}if(eg.test(t))return i.eatWhile(eg),"operator";i.eatWhile(/[\w\$_\xa1-\uffff]/);var n=i.current();return nP.propertyIsEnumerable(n)?((n=="case"||n=="default")&&(ti="case"),"keyword"):rP.propertyIsEnumerable(n)?"atom":"variable"}function sP(i){return function(e,t){for(var n=!1,r,s=!1;(r=e.next())!=null;){if(r==i&&!n){s=!0;break}n=!n&&i!="`"&&r=="\\"}return(s||!(n||i=="`"))&&(t.tokenize=mo),"string"}}function tg(i,e){for(var t=!1,n;n=i.next();){if(n=="/"&&t){e.tokenize=mo;break}t=n=="*"}return"comment"}function ng(i,e,t,n,r){this.indented=i,this.column=e,this.type=t,this.align=n,this.prev=r}function hh(i,e,t){return i.context=new ng(i.indented,e,t,null,i.context)}function ig(i){if(i.context.prev){var e=i.context.type;return(e==")"||e=="]"||e=="}")&&(i.indented=i.context.indented),i.context=i.context.prev}}var rg={name:"go",startState:function(i){return{tokenize:null,context:new ng(-i,0,"top",!1),indented:0,startOfLine:!0}},token:function(i,e){var t=e.context;if(i.sol()&&(t.align==null&&(t.align=!1),e.indented=i.indentation(),e.startOfLine=!0,t.type=="case"&&(t.type="}")),i.eatSpace())return null;ti=null;var n=(e.tokenize||mo)(i,e);return n=="comment"||(t.align==null&&(t.align=!0),ti=="{"?hh(e,i.column(),"}"):ti=="["?hh(e,i.column(),"]"):ti=="("?hh(e,i.column(),")"):ti=="case"?t.type="case":(ti=="}"&&t.type=="}"||ti==t.type)&&ig(e),e.startOfLine=!1),n},indent:function(i,e,t){if(i.tokenize!=mo&&i.tokenize!=null)return null;var n=i.context,r=e&&e.charAt(0);if(n.type=="case"&&/^(?:case|default)\b/.test(e))return n.indented;var s=r==n.type;return n.align?n.column+(s?0:1):n.indented+(s?0:t.unit)},languageData:{indentOnInput:/^\s([{}]|case |default\s*:)$/,commentTokens:{line:"//",block:{open:"/*",close:"*/"}}}};function uh(i){for(var e={},t=0,n=i.length;t]/)?(i.eat(/[\<\>]/),"atom"):i.eat(/[\+\-\*\/\&\|\:\!]/)?"atom":i.eat(/[a-zA-Z$@_\xa1-\uffff]/)?(i.eatWhile(/[\w$\xa1-\uffff]/),i.eat(/[\?\!\=]/),"atom"):"operator";if(t=="@"&&i.match(/^@?[a-zA-Z_\xa1-\uffff]/))return i.eat("@"),i.eatWhile(/[\w\xa1-\uffff]/),"propertyName";if(t=="$")return i.eat(/[a-zA-Z_]/)?i.eatWhile(/[\w]/):i.eat(/\d/)?i.eat(/\d/):i.next(),"variableName.special";if(/[a-zA-Z_\xa1-\uffff]/.test(t))return i.eatWhile(/[\w\xa1-\uffff]/),i.eat(/[\?\!]/),i.eat(":")?"atom":"variable";if(t=="|"&&(e.varList||e.lastTok=="{"||e.lastTok=="do"))return Pt="|",null;if(/[\(\)\[\]{}\\;]/.test(t))return Pt=t,null;if(t=="-"&&i.eat(">"))return"operator";if(/[=+\-\/*:\.^%<>~|]/.test(t)){var a=i.eatWhile(/[=+\-\/*:\.^%<>~|]/);return t=="."&&!a&&(Pt="."),"operator"}else return null}}}function hP(i){for(var e=i.pos,t=0,n,r=!1,s=!1;(n=i.next())!=null;)if(s)s=!1;else{if("[{(".indexOf(n)>-1)t++;else if("]})".indexOf(n)>-1){if(t--,t<0)break}else if(n=="/"&&t==0){r=!0;break}s=n=="\\"}return i.backUp(i.pos-e),r}function fh(i){return i||(i=1),function(e,t){if(e.peek()=="}"){if(i==1)return t.tokenize.pop(),t.tokenize[t.tokenize.length-1](e,t);t.tokenize[t.tokenize.length-1]=fh(i-1)}else e.peek()=="{"&&(t.tokenize[t.tokenize.length-1]=fh(i+1));return go(e,t)}}function fP(){var i=!1;return function(e,t){return i?(t.tokenize.pop(),t.tokenize[t.tokenize.length-1](e,t)):(i=!0,go(e,t))}}function Rr(i,e,t,n){return function(r,s){var o=!1,a;for(s.context.type==="read-quoted-paused"&&(s.context=s.context.prev,r.eat("}"));(a=r.next())!=null;){if(a==i&&(n||!o)){s.tokenize.pop();break}if(t&&a=="#"&&!o){if(r.eat("{")){i=="}"&&(s.context={prev:s.context,type:"read-quoted-paused"}),s.tokenize.push(fh());break}else if(/[@\$]/.test(r.peek())){s.tokenize.push(fP());break}}o=!o&&a=="\\"}return e}}function uP(i,e){return function(t,n){return e&&t.eatSpace(),t.match(i)?n.tokenize.pop():t.skipToEnd(),"string"}}function OP(i,e){return i.sol()&&i.match("=end")&&i.eol()&&e.tokenize.pop(),i.skipToEnd(),"comment"}var ag={name:"ruby",startState:function(i){return{tokenize:[go],indented:0,context:{type:"top",indented:-i},continuedLine:!1,lastTok:null,varList:!1}},token:function(i,e){Pt=null,i.sol()&&(e.indented=i.indentation());var t=e.tokenize[e.tokenize.length-1](i,e),n,r=Pt;if(t=="variable"){var s=i.current();t=e.lastTok=="."?"property":oP.propertyIsEnumerable(i.current())?"keyword":/^[A-Z]/.test(s)?"tag":e.lastTok=="def"||e.lastTok=="class"||e.varList?"def":"variable",t=="keyword"&&(r=s,aP.propertyIsEnumerable(s)?n="indent":lP.propertyIsEnumerable(s)?n="dedent":((s=="if"||s=="unless")&&i.column()==i.indentation()||s=="do"&&e.context.indented2&&o.token&&typeof o.token!="string"){t.pending=[];for(var c=2;c-1)return null;var r=t.indent.length-1,s=i[t.state];e:for(;;){for(var o=0;o!]+/,token:"operator"},{regex:/[a-zA-Z_]\w*!/,token:"macroName"},{regex:/[a-zA-Z_]\w*/,token:"variable"},{regex:/[\{\[\(]/,indent:!0},{regex:/[\}\]\)]/,dedent:!0}],string:[{regex:/"/,token:"string",next:"start"},{regex:/(?:[^\\"]|\\(?:.|$))*/,token:"string"}],string_raw:[{regex:/"/,token:"string",next:"start"},{regex:/[^"]*/,token:"string"}],string_raw_hash:[{regex:/"#+/,token:"string",next:"start"},{regex:/(?:[^"]|"(?!#))*/,token:"string"}],comment:[{regex:/.*?\*\//,token:"comment",next:"start"},{regex:/.*/,token:"comment"}],languageData:{name:"rust",dontIndentStates:["comment"],indentOnInput:/^\s*\}$/,commentTokens:{line:"//",block:{open:"/*",close:"*/"}}}});function ph(i,e,t,n,r,s){this.indented=i,this.column=e,this.type=t,this.info=n,this.align=r,this.prev=s}function Qo(i,e,t,n){var r=i.indented;return i.context&&i.context.type=="statement"&&t!="statement"&&(r=i.context.indented),i.context=new ph(r,e,t,n,null,i.context)}function Ar(i){var e=i.context.type;return(e==")"||e=="]"||e=="}")&&(i.indented=i.context.indented),i.context=i.context.prev}function fg(i,e,t){if(e.prevToken=="variable"||e.prevToken=="type"||/\S(?:[^- ]>|[*\]])\s*$|\*$/.test(i.string.slice(0,t))||e.typeAtEndOfLine&&i.column()==i.indentation())return!0}function Oh(i){for(;;){if(!i||i.type=="top")return!0;if(i.type=="}"&&i.prev.info!="namespace")return!1;i=i.prev}}function et(i){var e=i.statementIndentUnit,t=i.dontAlignCalls,n=i.keywords||{},r=i.types||{},s=i.builtin||{},o=i.blockKeywords||{},a=i.defKeywords||{},l=i.atoms||{},c=i.hooks||{},h=i.multiLineStrings,f=i.indentStatements!==!1,u=i.indentSwitch!==!1,O=i.namespaceSeparator,p=i.isPunctuationChar||/[\[\]{}\(\),;\:\.]/,m=i.numberStart||/[\d\.]/,b=i.number||/^(?:0x[a-f\d]+|0b[01]+|(?:\d+\.?\d*|\.\d+)(?:e[-+]?\d+)?)(u|ll?|l|f)?/i,g=i.isOperatorChar||/[+\-*&%=<>!?|\/]/,Q=i.isIdentifierChar||/[\w\$_\xa1-\uffff]/,S=i.isReservedIdentifier||!1,x,v;function $(T,k){var w=T.next();if(c[w]){var C=c[w](T,k);if(C!==!1)return C}if(w=='"'||w=="'")return k.tokenize=A(w),k.tokenize(T,k);if(m.test(w)){if(T.backUp(1),T.match(b))return"number";T.next()}if(p.test(w))return x=w,null;if(w=="/"){if(T.eat("*"))return k.tokenize=_,_(T,k);if(T.eat("/"))return T.skipToEnd(),"comment"}if(g.test(w)){for(;!T.match(/^\/[\/*]/,!1)&&T.eat(g););return"operator"}if(T.eatWhile(Q),O)for(;T.match(O);)T.eatWhile(Q);var j=T.current();return ii(n,j)?(ii(o,j)&&(x="newstatement"),ii(a,j)&&(v=!0),"keyword"):ii(r,j)?"type":ii(s,j)||S&&S(j)?(ii(o,j)&&(x="newstatement"),"builtin"):ii(l,j)?"atom":"variable"}function A(T){return function(k,w){for(var C=!1,j,y=!1;(j=k.next())!=null;){if(j==T&&!C){y=!0;break}C=!C&&j=="\\"}return(y||!(C||h))&&(w.tokenize=null),"string"}}function _(T,k){for(var w=!1,C;C=T.next();){if(C=="/"&&w){k.tokenize=null;break}w=C=="*"}return"comment"}function W(T,k){i.typeFirstDefinitions&&T.eol()&&Oh(k.context)&&(k.typeAtEndOfLine=fg(T,k,T.pos))}return{name:i.name,startState:function(T){return{tokenize:null,context:new ph(-T,0,"top",null,!1),indented:0,startOfLine:!0,prevToken:null}},token:function(T,k){var w=k.context;if(T.sol()&&(w.align==null&&(w.align=!1),k.indented=T.indentation(),k.startOfLine=!0),T.eatSpace())return W(T,k),null;x=v=null;var C=(k.tokenize||$)(T,k);if(C=="comment"||C=="meta")return C;if(w.align==null&&(w.align=!0),x==";"||x==":"||x==","&&T.match(/^\s*(?:\/\/.*)?$/,!1))for(;k.context.type=="statement";)Ar(k);else if(x=="{")Qo(k,T.column(),"}");else if(x=="[")Qo(k,T.column(),"]");else if(x=="(")Qo(k,T.column(),")");else if(x=="}"){for(;w.type=="statement";)w=Ar(k);for(w.type=="}"&&(w=Ar(k));w.type=="statement";)w=Ar(k)}else x==w.type?Ar(k):f&&((w.type=="}"||w.type=="top")&&x!=";"||w.type=="statement"&&x=="newstatement")&&Qo(k,T.column(),"statement",T.current());if(C=="variable"&&(k.prevToken=="def"||i.typeFirstDefinitions&&fg(T,k,T.start)&&Oh(k.context)&&T.match(/^\s*\(/,!1))&&(C="def"),c.token){var j=c.token(T,k,C);j!==void 0&&(C=j)}return C=="def"&&i.styleDefs===!1&&(C="variable"),k.startOfLine=!1,k.prevToken=v?"def":C||x,W(T,k),C},indent:function(T,k,w){if(T.tokenize!=$&&T.tokenize!=null||T.typeAtEndOfLine&&Oh(T.context))return null;var C=T.context,j=k&&k.charAt(0),y=j==C.type;if(C.type=="statement"&&j=="}"&&(C=C.prev),i.dontIndentStatements)for(;C.type=="statement"&&i.dontIndentStatements.test(C.info);)C=C.prev;if(c.indent){var q=c.indent(T,C,k,w.unit);if(typeof q=="number")return q}var de=C.prev&&C.prev.info=="switch";if(i.allmanIndentation&&/[{(]/.test(j)){for(;C.type!="top"&&C.type!="}";)C=C.prev;return C.indented}return C.type=="statement"?C.indented+(j=="{"?0:e||w.unit):C.align&&(!t||C.type!=")")?C.column+(y?0:1):C.type==")"&&!y?C.indented+(e||w.unit):C.indented+(y?0:w.unit)+(!y&&de&&!/^(?:case|default)\b/.test(k)?w.unit:0)},languageData:{indentOnInput:u?/^\s*(?:case .*?:|default:|\{\}?|\})$/:/^\s*[{}]$/,commentTokens:{line:"//",block:{open:"/*",close:"*/"}},autocomplete:Object.keys(n).concat(Object.keys(r)).concat(Object.keys(s)).concat(Object.keys(l)),...i.languageData}}}function V(i){for(var e={},t=i.split(" "),n=0;n!?|\/#:@]/,hooks:{"@":function(i){return i.eatWhile(/[\w\$_]/),"meta"},'"':function(i,e){return i.match('""')?(e.tokenize=xg,e.tokenize(i,e)):!1},"'":function(i){return i.match(/^(\\[^'\s]+|[^\\'])'/)?"character":(i.eatWhile(/[\w\$_\xa1-\uffff]/),"atom")},"=":function(i,e){var t=e.context;return t.type=="}"&&t.align&&i.eat(">")?(e.context=new ph(t.indented,t.column,t.type,t.info,null,t.prev),"operator"):!1},"/":function(i,e){return i.eat("*")?(e.tokenize=Zr(1),e.tokenize(i,e)):!1}},languageData:{closeBrackets:{brackets:["(","[","{","'",'"','"""']}}});function yP(i){return function(e,t){for(var n=!1,r,s=!1;!e.eol();){if(!i&&!n&&e.match('"')){s=!0;break}if(i&&e.match('"""')){s=!0;break}r=e.next(),!n&&r=="$"&&e.match("{")&&e.skipTo("}"),n=!n&&r=="\\"&&!i}return(s||!i)&&(t.tokenize=null),"string"}}var wg=et({name:"kotlin",keywords:V("package as typealias class interface this super val operator var fun for is in This throw return annotation break continue object if else while do try when !in !is as? file import where by get set abstract enum open inner override private public internal protected catch finally out final vararg reified dynamic companion constructor init sealed field property receiver param sparam lateinit data inline noinline tailrec external annotation crossinline const operator infix suspend actual expect setparam"),types:V("Boolean Byte Character CharSequence Class ClassLoader Cloneable Comparable Compiler Double Exception Float Integer Long Math Number Object Package Pair Process Runtime Runnable SecurityManager Short StackTraceElement StrictMath String StringBuffer System Thread ThreadGroup ThreadLocal Throwable Triple Void Annotation Any BooleanArray ByteArray Char CharArray DeprecationLevel DoubleArray Enum FloatArray Function Int IntArray Lazy LazyThreadSafetyMode LongArray Nothing ShortArray Unit"),intendSwitch:!1,indentStatements:!1,multiLineStrings:!0,number:/^(?:0x[a-f\d_]+|0b[01_]+|(?:[\d_]+(\.\d+)?|\.\d+)(?:e[-+]?[\d_]+)?)(ul?|l|f)?/i,blockKeywords:V("catch class do else finally for if where try while enum"),defKeywords:V("class val var object interface fun"),atoms:V("true false null this"),hooks:{"@":function(i){return i.eatWhile(/[\w\$_]/),"meta"},"*":function(i,e){return e.prevToken=="."?"variable":"operator"},'"':function(i,e){return e.tokenize=yP(i.match('""')),e.tokenize(i,e)},"/":function(i,e){return i.eat("*")?(e.tokenize=Zr(1),e.tokenize(i,e)):!1},indent:function(i,e,t,n){var r=t&&t.charAt(0);if((i.prevToken=="}"||i.prevToken==")")&&t=="")return i.indented;if(i.prevToken=="operator"&&t!="}"&&i.context.type!="}"||i.prevToken=="variable"&&r=="."||(i.prevToken=="}"||i.prevToken==")")&&r==".")return n*2+e.indented;if(e.align&&e.type=="}")return e.indented+(i.context.type==(t||"").charAt(0)?0:n)}},languageData:{closeBrackets:{brackets:["(","[","{","'",'"','"""']}}}),cC=et({name:"shader",keywords:V("sampler1D sampler2D sampler3D samplerCube sampler1DShadow sampler2DShadow const attribute uniform varying break continue discard return for while do if else struct in out inout"),types:V("float int bool void vec2 vec3 vec4 ivec2 ivec3 ivec4 bvec2 bvec3 bvec4 mat2 mat3 mat4"),blockKeywords:V("for while do if else struct"),builtin:V("radians degrees sin cos tan asin acos atan pow exp log exp2 sqrt inversesqrt abs sign floor ceil fract mod min max clamp mix step smoothstep length distance dot cross normalize ftransform faceforward reflect refract matrixCompMult lessThan lessThanEqual greaterThan greaterThanEqual equal notEqual any all not texture1D texture1DProj texture1DLod texture1DProjLod texture2D texture2DProj texture2DLod texture2DProjLod texture3D texture3DProj texture3DLod texture3DProjLod textureCube textureCubeLod shadow1D shadow2D shadow1DProj shadow2DProj shadow1DLod shadow2DLod shadow1DProjLod shadow2DProjLod dFdx dFdy fwidth noise1 noise2 noise3 noise4"),atoms:V("true false gl_FragColor gl_SecondaryColor gl_Normal gl_Vertex gl_MultiTexCoord0 gl_MultiTexCoord1 gl_MultiTexCoord2 gl_MultiTexCoord3 gl_MultiTexCoord4 gl_MultiTexCoord5 gl_MultiTexCoord6 gl_MultiTexCoord7 gl_FogCoord gl_PointCoord gl_Position gl_PointSize gl_ClipVertex gl_FrontColor gl_BackColor gl_FrontSecondaryColor gl_BackSecondaryColor gl_TexCoord gl_FogFragCoord gl_FragCoord gl_FrontFacing gl_FragData gl_FragDepth gl_ModelViewMatrix gl_ProjectionMatrix gl_ModelViewProjectionMatrix gl_TextureMatrix gl_NormalMatrix gl_ModelViewMatrixInverse gl_ProjectionMatrixInverse gl_ModelViewProjectionMatrixInverse gl_TextureMatrixTranspose gl_ModelViewMatrixInverseTranspose gl_ProjectionMatrixInverseTranspose gl_ModelViewProjectionMatrixInverseTranspose gl_TextureMatrixInverseTranspose gl_NormalScale gl_DepthRange gl_ClipPlane gl_Point gl_FrontMaterial gl_BackMaterial gl_LightSource gl_LightModel gl_FrontLightModelProduct gl_BackLightModelProduct gl_TextureColor gl_EyePlaneS gl_EyePlaneT gl_EyePlaneR gl_EyePlaneQ gl_FogParameters gl_MaxLights gl_MaxClipPlanes gl_MaxTextureUnits gl_MaxTextureCoords gl_MaxVertexAttribs gl_MaxVertexUniformComponents gl_MaxVaryingFloats gl_MaxVertexTextureImageUnits gl_MaxTextureImageUnits gl_MaxFragmentUniformComponents gl_MaxCombineTextureImageUnits gl_MaxDrawBuffers"),indentSwitch:!1,hooks:{"#":wi}}),hC=et({name:"nesc",keywords:V(Er+" as atomic async call command component components configuration event generic implementation includes interface module new norace nx_struct nx_union post provides signal task uses abstract extends"),types:qr,blockKeywords:V(zr),atoms:V("null true false"),hooks:{"#":wi}}),Pg=et({name:"objectivec",keywords:V(Er+" "+pg),types:gg,builtin:V(mg),blockKeywords:V(zr+" @synthesize @try @catch @finally @autoreleasepool @synchronized"),defKeywords:V(So+" @interface @implementation @protocol @class"),dontIndentStatements:/^@.*$/,typeFirstDefinitions:!0,atoms:V("YES NO NULL Nil nil true false nullptr"),isReservedIdentifier:ko,hooks:{"#":wi,"*":yo}}),fC=et({name:"objectivecpp",keywords:V(Er+" "+pg+" "+dg),types:gg,builtin:V(mg),blockKeywords:V(zr+" @synthesize @try @catch @finally @autoreleasepool @synchronized class try catch"),defKeywords:V(So+" @interface @implementation @protocol @class class namespace"),dontIndentStatements:/^@.*$|^template$/,typeFirstDefinitions:!0,atoms:V("YES NO NULL Nil nil true false nullptr"),isReservedIdentifier:ko,hooks:{"#":wi,"*":yo,u:xi,U:xi,L:xi,R:xi,0:Se,1:Se,2:Se,3:Se,4:Se,5:Se,6:Se,7:Se,8:Se,9:Se,token:function(i,e,t){if(t=="variable"&&i.peek()=="("&&(e.prevToken==";"||e.prevToken==null||e.prevToken=="}")&&Qg(i.current()))return"def"}},namespaceSeparator:"::"}),uC=et({name:"squirrel",keywords:V("base break clone continue const default delete enum extends function in class foreach local resume return this throw typeof yield constructor instanceof static"),types:qr,blockKeywords:V("case catch class else for foreach if switch try while"),defKeywords:V("function local class"),typeFirstDefinitions:!0,atoms:V("true false null"),hooks:{"#":wi}}),bo=null;function vg(i){return function(e,t){for(var n=!1,r,s=!1;!e.eol();){if(!n&&e.match('"')&&(i=="single"||e.match('""'))){s=!0;break}if(!n&&e.match("``")){bo=vg(i),s=!0;break}r=e.next(),n=i=="single"&&!n&&r=="\\"}return s&&(t.tokenize=null),"string"}}var OC=et({name:"ceylon",keywords:V("abstracts alias assembly assert assign break case catch class continue dynamic else exists extends finally for function given if import in interface is let module new nonempty object of out outer package return satisfies super switch then this throw try value void while"),types:function(i){var e=i.charAt(0);return e===e.toUpperCase()&&e!==e.toLowerCase()},blockKeywords:V("case catch class dynamic else finally for function if interface module new object switch try while"),defKeywords:V("class dynamic function interface module object package value"),builtin:V("abstract actual aliased annotation by default deprecated doc final formal late license native optional sealed see serializable shared suppressWarnings tagged throws variable"),isPunctuationChar:/[\[\]{}\(\),;\:\.`]/,isOperatorChar:/[+\-*&%=<>!?|^~:\/]/,numberStart:/[\d#$]/,number:/^(?:#[\da-fA-F_]+|\$[01_]+|[\d_]+[kMGTPmunpf]?|[\d_]+\.[\d_]+(?:[eE][-+]?\d+|[kMGTPmunpf]|)|)/i,multiLineStrings:!0,typeFirstDefinitions:!0,atoms:V("true false null larger smaller equal empty finished"),indentSwitch:!1,styleDefs:!1,hooks:{"@":function(i){return i.eatWhile(/[\w\$_]/),"meta"},'"':function(i,e){return e.tokenize=vg(i.match('""')?"triple":"single"),e.tokenize(i,e)},"`":function(i,e){return!bo||!i.match("`")?!1:(e.tokenize=bo,bo=null,e.tokenize(i,e))},"'":function(i){return i.match(/^(\\[^'\s]+|[^\\'])'/)?"string.special":(i.eatWhile(/[\w\$_\xa1-\uffff]/),"atom")},token:function(i,e,t){if((t=="variable"||t=="type")&&e.prevToken==".")return"variableName.special"}},languageData:{closeBrackets:{brackets:["(","[","{","'",'"','"""']}}});function kP(i){(i.interpolationStack||(i.interpolationStack=[])).push(i.tokenize)}function $g(i){return(i.interpolationStack||(i.interpolationStack=[])).pop()}function xP(i){return i.interpolationStack?i.interpolationStack.length:0}function dh(i,e,t,n){var r=!1;if(e.eat(i))if(e.eat(i))r=!0;else return"string";function s(o,a){for(var l=!1;!o.eol();){if(!n&&!l&&o.peek()=="$")return kP(a),a.tokenize=wP,"string";var c=o.next();if(c==i&&!l&&(!r||o.match(i+i))){a.tokenize=null;break}l=!n&&!l&&c=="\\"}return"string"}return t.tokenize=s,s(e,t)}function wP(i,e){return i.eat("$"),i.eat("{")?e.tokenize=null:e.tokenize=PP,null}function PP(i,e){return i.eatWhile(/[\w_]/),e.tokenize=$g(e),"variable"}var dC=et({name:"dart",keywords:V("this super static final const abstract class extends external factory implements mixin get native set typedef with enum throw rethrow assert break case continue default in return new deferred async await covariant try catch finally do else for if switch while import library export part of show hide is as extension on yield late required sealed base interface when inline"),blockKeywords:V("try catch finally do else for if switch while"),builtin:V("void bool num int double dynamic var String Null Never"),atoms:V("true false null"),number:/^(?:0x[a-f\d_]+|(?:[\d_]+\.?[\d_]*|\.[\d_]+)(?:e[-+]?[\d_]+)?)/i,hooks:{"@":function(i){return i.eatWhile(/[\w\$_\.]/),"meta"},"'":function(i,e){return dh("'",i,e,!1)},'"':function(i,e){return dh('"',i,e,!1)},r:function(i,e){var t=i.peek();return t=="'"||t=='"'?dh(i.next(),i,e,!0):!1},"}":function(i,e){return xP(e)>0?(e.tokenize=$g(e),null):!1},"/":function(i,e){return i.eat("*")?(e.tokenize=Zr(1),e.tokenize(i,e)):!1},token:function(i,e,t){if(t=="variable"){var n=RegExp("^[_$]*[A-Z][a-zA-Z0-9_$]*$","g");if(n.test(i.current()))return"type"}}}});function We(i){var e=i.client||{},t=i.atoms||{false:!0,true:!0,null:!0},n=i.builtin||M(Cg),r=i.keywords||M(Hi),s=i.operatorChars||/^[*+\-%<>!=&|~^\/]/,o=i.support||{},a=i.hooks||{},l=i.dateSQL||{date:!0,time:!0,timestamp:!0},c=i.backslashStringEscapes!==!1,h=i.brackets||/^[\{}\(\)\[\]]/,f=i.punctuation||/^[;.,:]/;function u(g,Q){var S=g.next();if(a[S]){var x=a[S](g,Q);if(x!==!1)return x}if(o.hexNumber&&(S=="0"&&g.match(/^[xX][0-9a-fA-F]+/)||(S=="x"||S=="X")&&g.match(/^'[0-9a-fA-F]*'/)))return"number";if(o.binaryNumber&&((S=="b"||S=="B")&&g.match(/^'[01]+'/)||S=="0"&&g.match(/^b[01]*/)))return"number";if(S.charCodeAt(0)>47&&S.charCodeAt(0)<58)return g.match(/^[0-9]*(\.[0-9]+)?([eE][-+]?[0-9]+)?/),o.decimallessFloat&&g.match(/^\.(?!\.)/),"number";if(S=="?"&&(g.eatSpace()||g.eol()||g.eat(";")))return"macroName";if(S=="'"||S=='"'&&o.doubleQuote)return Q.tokenize=O(S),Q.tokenize(g,Q);if((o.nCharCast&&(S=="n"||S=="N")||o.charsetCast&&S=="_"&&g.match(/[a-z][a-z0-9]*/i))&&(g.peek()=="'"||g.peek()=='"'))return"keyword";if(o.escapeConstant&&(S=="e"||S=="E")&&(g.peek()=="'"||g.peek()=='"'&&o.doubleQuote))return Q.tokenize=function($,A){return(A.tokenize=O($.next(),!0))($,A)},"keyword";if(o.commentSlashSlash&&S=="/"&&g.eat("/"))return g.skipToEnd(),"comment";if(o.commentHash&&S=="#"||S=="-"&&g.eat("-")&&(!o.commentSpaceRequired||g.eat(" ")))return g.skipToEnd(),"comment";if(S=="/"&&g.eat("*"))return Q.tokenize=p(1),Q.tokenize(g,Q);if(S=="."){if(o.zerolessFloat&&g.match(/^(?:\d+(?:e[+-]?\d+)?)/i))return"number";if(g.match(/^\.+/))return null;if(o.ODBCdotTable&&g.match(/^[\w\d_$#]+/))return"type"}else{if(s.test(S))return g.eatWhile(s),"operator";if(h.test(S))return"bracket";if(f.test(S))return g.eatWhile(f),"punctuation";if(S=="{"&&(g.match(/^( )*(d|D|t|T|ts|TS)( )*'[^']*'( )*}/)||g.match(/^( )*(d|D|t|T|ts|TS)( )*"[^"]*"( )*}/)))return"number";g.eatWhile(/^[_\w\d]/);var v=g.current().toLowerCase();return l.hasOwnProperty(v)&&(g.match(/^( )+'[^']*'/)||g.match(/^( )+"[^"]*"/))?"number":t.hasOwnProperty(v)?"atom":n.hasOwnProperty(v)?"type":r.hasOwnProperty(v)?"keyword":e.hasOwnProperty(v)?"builtin":null}}function O(g,Q){return function(S,x){for(var v=!1,$;($=S.next())!=null;){if($==g&&!v){x.tokenize=u;break}v=(c||Q)&&!v&&$=="\\"}return"string"}}function p(g){return function(Q,S){var x=Q.match(/^.*?(\/\*|\*\/)/);return x?x[1]=="/*"?S.tokenize=p(g+1):g>1?S.tokenize=p(g-1):S.tokenize=u:Q.skipToEnd(),"comment"}}function m(g,Q,S){Q.context={prev:Q.context,indent:g.indentation(),col:g.column(),type:S}}function b(g){g.indent=g.context.indent,g.context=g.context.prev}return{name:"sql",startState:function(){return{tokenize:u,context:null}},token:function(g,Q){if(g.sol()&&Q.context&&Q.context.align==null&&(Q.context.align=!1),Q.tokenize==u&&g.eatSpace())return null;var S=Q.tokenize(g,Q);if(S=="comment")return S;Q.context&&Q.context.align==null&&(Q.context.align=!0);var x=g.current();return x=="("?m(g,Q,")"):x=="["?m(g,Q,"]"):Q.context&&Q.context.type==x&&b(Q),S},indent:function(g,Q,S){var x=g.context;if(!x)return null;var v=Q.charAt(0)==x.type;return x.align?x.col+(v?0:1):x.indent+(v?0:S.unit)},languageData:{commentTokens:{line:o.commentSlashSlash?"//":o.commentHash?"#":"--",block:{open:"/*",close:"*/"}},closeBrackets:{brackets:["(","[","{","'",'"',"`"]}}}}function mh(i){for(var e;(e=i.next())!=null;)if(e=="`"&&!i.eat("`"))return"string.special";return i.backUp(i.current().length-1),i.eatWhile(/\w/)?"string.special":null}function vP(i){for(var e;(e=i.next())!=null;)if(e=='"'&&!i.eat('"'))return"string.special";return i.backUp(i.current().length-1),i.eatWhile(/\w/)?"string.special":null}function Fi(i){return i.eat("@")&&(i.match("session."),i.match("local."),i.match("global.")),i.eat("'")?(i.match(/^.*'/),"string.special"):i.eat('"')?(i.match(/^.*"/),"string.special"):i.eat("`")?(i.match(/^.*`/),"string.special"):i.match(/^[0-9a-zA-Z$\.\_]+/)?"string.special":null}function Tg(i){return i.eat("N")?"atom":i.match(/^[a-zA-Z.#!?]/)?"string.special":null}var Hi="alter and as asc between by count create delete desc distinct drop from group having in insert into is join like not on or order select set table union update values where limit ";function M(i){for(var e={},t=i.split(" "),n=0;n!=^\&|\/]/,brackets:/^[\{}\(\)]/,punctuation:/^[;.,:/]/,backslashStringEscapes:!1,dateSQL:M("date datetimeoffset datetime2 smalldatetime datetime time"),hooks:{"@":Fi}}),QC=We({client:M("charset clear connect edit ego exit go help nopager notee nowarning pager print prompt quit rehash source status system tee"),keywords:M(Hi+"accessible action add after algorithm all analyze asensitive at authors auto_increment autocommit avg avg_row_length before binary binlog both btree cache call cascade cascaded case catalog_name chain change changed character check checkpoint checksum class_origin client_statistics close coalesce code collate collation collations column columns comment commit committed completion concurrent condition connection consistent constraint contains continue contributors convert cross current current_date current_time current_timestamp current_user cursor data database databases day_hour day_microsecond day_minute day_second deallocate dec declare default delay_key_write delayed delimiter des_key_file describe deterministic dev_pop dev_samp deviance diagnostics directory disable discard distinctrow div dual dumpfile each elseif enable enclosed end ends engine engines enum errors escape escaped even event events every execute exists exit explain extended fast fetch field fields first flush for force foreign found_rows full fulltext function general get global grant grants group group_concat handler hash help high_priority hosts hour_microsecond hour_minute hour_second if ignore ignore_server_ids import index index_statistics infile inner innodb inout insensitive insert_method install interval invoker isolation iterate key keys kill language last leading leave left level limit linear lines list load local localtime localtimestamp lock logs low_priority master master_heartbeat_period master_ssl_verify_server_cert masters match max max_rows maxvalue message_text middleint migrate min min_rows minute_microsecond minute_second mod mode modifies modify mutex mysql_errno natural next no no_write_to_binlog offline offset one online open optimize option optionally out outer outfile pack_keys parser partition partitions password phase plugin plugins prepare preserve prev primary privileges procedure processlist profile profiles purge query quick range read read_write reads real rebuild recover references regexp relaylog release remove rename reorganize repair repeatable replace require resignal restrict resume return returns revoke right rlike rollback rollup row row_format rtree savepoint schedule schema schema_name schemas second_microsecond security sensitive separator serializable server session share show signal slave slow smallint snapshot soname spatial specific sql sql_big_result sql_buffer_result sql_cache sql_calc_found_rows sql_no_cache sql_small_result sqlexception sqlstate sqlwarning ssl start starting starts status std stddev stddev_pop stddev_samp storage straight_join subclass_origin sum suspend table_name table_statistics tables tablespace temporary terminated to trailing transaction trigger triggers truncate uncommitted undo uninstall unique unlock upgrade usage use use_frm user user_resources user_statistics using utc_date utc_time utc_timestamp value variables varying view views warnings when while with work write xa xor year_month zerofill begin do then else loop repeat"),builtin:M("bool boolean bit blob decimal double float long longblob longtext medium mediumblob mediumint mediumtext time timestamp tinyblob tinyint tinytext text bigint int int1 int2 int3 int4 int8 integer float float4 float8 double char varbinary varchar varcharacter precision date datetime year unsigned signed numeric"),atoms:M("false true null unknown"),operatorChars:/^[*+\-%<>!=&|^]/,dateSQL:M("date time timestamp"),support:M("ODBCdotTable decimallessFloat zerolessFloat binaryNumber hexNumber doubleQuote nCharCast charsetCast commentHash commentSpaceRequired"),hooks:{"@":Fi,"`":mh,"\\":Tg}}),bC=We({client:M("charset clear connect edit ego exit go help nopager notee nowarning pager print prompt quit rehash source status system tee"),keywords:M(Hi+"accessible action add after algorithm all always analyze asensitive at authors auto_increment autocommit avg avg_row_length before binary binlog both btree cache call cascade cascaded case catalog_name chain change changed character check checkpoint checksum class_origin client_statistics close coalesce code collate collation collations column columns comment commit committed completion concurrent condition connection consistent constraint contains continue contributors convert cross current current_date current_time current_timestamp current_user cursor data database databases day_hour day_microsecond day_minute day_second deallocate dec declare default delay_key_write delayed delimiter des_key_file describe deterministic dev_pop dev_samp deviance diagnostics directory disable discard distinctrow div dual dumpfile each elseif enable enclosed end ends engine engines enum errors escape escaped even event events every execute exists exit explain extended fast fetch field fields first flush for force foreign found_rows full fulltext function general generated get global grant grants group group_concat handler hard hash help high_priority hosts hour_microsecond hour_minute hour_second if ignore ignore_server_ids import index index_statistics infile inner innodb inout insensitive insert_method install interval invoker isolation iterate key keys kill language last leading leave left level limit linear lines list load local localtime localtimestamp lock logs low_priority master master_heartbeat_period master_ssl_verify_server_cert masters match max max_rows maxvalue message_text middleint migrate min min_rows minute_microsecond minute_second mod mode modifies modify mutex mysql_errno natural next no no_write_to_binlog offline offset one online open optimize option optionally out outer outfile pack_keys parser partition partitions password persistent phase plugin plugins prepare preserve prev primary privileges procedure processlist profile profiles purge query quick range read read_write reads real rebuild recover references regexp relaylog release remove rename reorganize repair repeatable replace require resignal restrict resume return returns revoke right rlike rollback rollup row row_format rtree savepoint schedule schema schema_name schemas second_microsecond security sensitive separator serializable server session share show shutdown signal slave slow smallint snapshot soft soname spatial specific sql sql_big_result sql_buffer_result sql_cache sql_calc_found_rows sql_no_cache sql_small_result sqlexception sqlstate sqlwarning ssl start starting starts status std stddev stddev_pop stddev_samp storage straight_join subclass_origin sum suspend table_name table_statistics tables tablespace temporary terminated to trailing transaction trigger triggers truncate uncommitted undo uninstall unique unlock upgrade usage use use_frm user user_resources user_statistics using utc_date utc_time utc_timestamp value variables varying view views virtual warnings when while with work write xa xor year_month zerofill begin do then else loop repeat"),builtin:M("bool boolean bit blob decimal double float long longblob longtext medium mediumblob mediumint mediumtext time timestamp tinyblob tinyint tinytext text bigint int int1 int2 int3 int4 int8 integer float float4 float8 double char varbinary varchar varcharacter precision date datetime year unsigned signed numeric"),atoms:M("false true null unknown"),operatorChars:/^[*+\-%<>!=&|^]/,dateSQL:M("date time timestamp"),support:M("ODBCdotTable decimallessFloat zerolessFloat binaryNumber hexNumber doubleQuote nCharCast charsetCast commentHash commentSpaceRequired"),hooks:{"@":Fi,"`":mh,"\\":Tg}}),SC=We({client:M("auth backup bail binary changes check clone databases dbinfo dump echo eqp exit explain fullschema headers help import imposter indexes iotrace limit lint load log mode nullvalue once open output print prompt quit read restore save scanstats schema separator session shell show stats system tables testcase timeout timer trace vfsinfo vfslist vfsname width"),keywords:M(Hi+"abort action add after all analyze attach autoincrement before begin cascade case cast check collate column commit conflict constraint cross current_date current_time current_timestamp database default deferrable deferred detach each else end escape except exclusive exists explain fail for foreign full glob if ignore immediate index indexed initially inner instead intersect isnull key left limit match natural no notnull null of offset outer plan pragma primary query raise recursive references regexp reindex release rename replace restrict right rollback row savepoint temp temporary then to transaction trigger unique using vacuum view virtual when with without"),builtin:M("bool boolean bit blob decimal double float long longblob longtext medium mediumblob mediumint mediumtext time timestamp tinyblob tinyint tinytext text clob bigint int int2 int8 integer float double char varchar date datetime year unsigned signed numeric real"),atoms:M("null current_date current_time current_timestamp"),operatorChars:/^[*+\-%<>!=&|/~]/,dateSQL:M("date time timestamp datetime"),support:M("decimallessFloat zerolessFloat"),identifierQuote:'"',hooks:{"@":Fi,":":Fi,"?":Fi,$:Fi,'"':vP,"`":mh}}),yC=We({client:{},keywords:M("add all allow alter and any apply as asc authorize batch begin by clustering columnfamily compact consistency count create custom delete desc distinct drop each_quorum exists filtering from grant if in index insert into key keyspace keyspaces level limit local_one local_quorum modify nan norecursive nosuperuser not of on one order password permission permissions primary quorum rename revoke schema select set storage superuser table three to token truncate ttl two type unlogged update use user users using values where with writetime"),builtin:M("ascii bigint blob boolean counter decimal double float frozen inet int list map static text timestamp timeuuid tuple uuid varchar varint"),atoms:M("false true infinity NaN"),operatorChars:/^[<>=]/,dateSQL:{},support:M("commentSlashSlash decimallessFloat"),hooks:{}}),kC=We({client:M("appinfo arraysize autocommit autoprint autorecovery autotrace blockterminator break btitle cmdsep colsep compatibility compute concat copycommit copytypecheck define describe echo editfile embedded escape exec execute feedback flagger flush heading headsep instance linesize lno loboffset logsource long longchunksize markup native newpage numformat numwidth pagesize pause pno recsep recsepchar release repfooter repheader serveroutput shiftinout show showmode size spool sqlblanklines sqlcase sqlcode sqlcontinue sqlnumber sqlpluscompatibility sqlprefix sqlprompt sqlterminator suffix tab term termout time timing trimout trimspool ttitle underline verify version wrap"),keywords:M("abort accept access add all alter and any array arraylen as asc assert assign at attributes audit authorization avg base_table begin between binary_integer body boolean by case cast char char_base check close cluster clusters colauth column comment commit compress connect connected constant constraint crash create current currval cursor data_base database date dba deallocate debugoff debugon decimal declare default definition delay delete desc digits dispose distinct do drop else elseif elsif enable end entry escape exception exception_init exchange exclusive exists exit external fast fetch file for force form from function generic goto grant group having identified if immediate in increment index indexes indicator initial initrans insert interface intersect into is key level library like limited local lock log logging long loop master maxextents maxtrans member minextents minus mislabel mode modify multiset new next no noaudit nocompress nologging noparallel not nowait number_base object of off offline on online only open option or order out package parallel partition pctfree pctincrease pctused pls_integer positive positiven pragma primary prior private privileges procedure public raise range raw read rebuild record ref references refresh release rename replace resource restrict return returning returns reverse revoke rollback row rowid rowlabel rownum rows run savepoint schema segment select separate session set share snapshot some space split sql start statement storage subtype successful synonym tabauth table tables tablespace task terminate then to trigger truncate type union unique unlimited unrecoverable unusable update use using validate value values variable view views when whenever where while with work"),builtin:M("abs acos add_months ascii asin atan atan2 average bfile bfilename bigserial bit blob ceil character chartorowid chr clob concat convert cos cosh count dec decode deref dual dump dup_val_on_index empty error exp false float floor found glb greatest hextoraw initcap instr instrb int integer isopen last_day least length lengthb ln lower lpad ltrim lub make_ref max min mlslabel mod months_between natural naturaln nchar nclob new_time next_day nextval nls_charset_decl_len nls_charset_id nls_charset_name nls_initcap nls_lower nls_sort nls_upper nlssort no_data_found notfound null number numeric nvarchar2 nvl others power rawtohex real reftohex round rowcount rowidtochar rowtype rpad rtrim serial sign signtype sin sinh smallint soundex sqlcode sqlerrm sqrt stddev string substr substrb sum sysdate tan tanh to_char text to_date to_label to_multi_byte to_number to_single_byte translate true trunc uid unlogged upper user userenv varchar varchar2 variance varying vsize xml"),operatorChars:/^[*\/+\-%<>!=~]/,dateSQL:M("date time timestamp"),support:M("doubleQuote nCharCast zerolessFloat binaryNumber hexNumber")}),xC=We({keywords:M("select alter $elem$ $key$ $value$ add after all analyze and archive as asc before between binary both bucket buckets by cascade case cast change cluster clustered clusterstatus collection column columns comment compute concatenate continue create cross cursor data database databases dbproperties deferred delete delimited desc describe directory disable distinct distribute drop else enable end escaped exclusive exists explain export extended external fetch fields fileformat first format formatted from full function functions grant group having hold_ddltime idxproperties if import in index indexes inpath inputdriver inputformat insert intersect into is items join keys lateral left like limit lines load local location lock locks mapjoin materialized minus msck no_drop nocompress not of offline on option or order out outer outputdriver outputformat overwrite partition partitioned partitions percent plus preserve procedure purge range rcfile read readonly reads rebuild recordreader recordwriter recover reduce regexp rename repair replace restrict revoke right rlike row schema schemas semi sequencefile serde serdeproperties set shared show show_database sort sorted ssl statistics stored streamtable table tables tablesample tblproperties temporary terminated textfile then tmp to touch transform trigger unarchive undo union uniquejoin unlock update use using utc utc_tmestamp view when where while with admin authorization char compact compactions conf cube current current_date current_timestamp day decimal defined dependency directories elem_type exchange file following for grouping hour ignore inner interval jar less logical macro minute month more none noscan over owner partialscan preceding pretty principals protection reload rewrite role roles rollup rows second server sets skewed transactions truncate unbounded unset uri user values window year"),builtin:M("bool boolean long timestamp tinyint smallint bigint int float double date datetime unsigned string array struct map uniontype key_type utctimestamp value_type varchar"),atoms:M("false true null unknown"),operatorChars:/^[*+\-%<>!=]/,dateSQL:M("date timestamp"),support:M("ODBCdotTable doubleQuote binaryNumber hexNumber")}),wC=We({client:M("source"),keywords:M(Hi+"a abort abs absent absolute access according action ada add admin after aggregate alias all allocate also alter always analyse analyze and any are array array_agg array_max_cardinality as asc asensitive assert assertion assignment asymmetric at atomic attach attribute attributes authorization avg backward base64 before begin begin_frame begin_partition bernoulli between bigint binary bit bit_length blob blocked bom boolean both breadth by c cache call called cardinality cascade cascaded case cast catalog catalog_name ceil ceiling chain char char_length character character_length character_set_catalog character_set_name character_set_schema characteristics characters check checkpoint class class_origin clob close cluster coalesce cobol collate collation collation_catalog collation_name collation_schema collect column column_name columns command_function command_function_code comment comments commit committed concurrently condition condition_number configuration conflict connect connection connection_name constant constraint constraint_catalog constraint_name constraint_schema constraints constructor contains content continue control conversion convert copy corr corresponding cost count covar_pop covar_samp create cross csv cube cume_dist current current_catalog current_date current_default_transform_group current_path current_role current_row current_schema current_time current_timestamp current_transform_group_for_type current_user cursor cursor_name cycle data database datalink datatype date datetime_interval_code datetime_interval_precision day db deallocate debug dec decimal declare default defaults deferrable deferred defined definer degree delete delimiter delimiters dense_rank depends depth deref derived desc describe descriptor detach detail deterministic diagnostics dictionary disable discard disconnect dispatch distinct dlnewcopy dlpreviouscopy dlurlcomplete dlurlcompleteonly dlurlcompletewrite dlurlpath dlurlpathonly dlurlpathwrite dlurlscheme dlurlserver dlvalue do document domain double drop dump dynamic dynamic_function dynamic_function_code each element else elseif elsif empty enable encoding encrypted end end_frame end_partition endexec enforced enum equals errcode error escape event every except exception exclude excluding exclusive exec execute exists exit exp explain expression extension external extract false family fetch file filter final first first_value flag float floor following for force foreach foreign fortran forward found frame_row free freeze from fs full function functions fusion g general generated get global go goto grant granted greatest group grouping groups handler having header hex hierarchy hint hold hour id identity if ignore ilike immediate immediately immutable implementation implicit import in include including increment indent index indexes indicator info inherit inherits initially inline inner inout input insensitive insert instance instantiable instead int integer integrity intersect intersection interval into invoker is isnull isolation join k key key_member key_type label lag language large last last_value lateral lead leading leakproof least left length level library like like_regex limit link listen ln load local localtime localtimestamp location locator lock locked log logged loop lower m map mapping match matched materialized max max_cardinality maxvalue member merge message message_length message_octet_length message_text method min minute minvalue mod mode modifies module month more move multiset mumps name names namespace national natural nchar nclob nesting new next nfc nfd nfkc nfkd nil no none normalize normalized not nothing notice notify notnull nowait nth_value ntile null nullable nullif nulls number numeric object occurrences_regex octet_length octets of off offset oids old on only open operator option options or order ordering ordinality others out outer output over overlaps overlay overriding owned owner p pad parallel parameter parameter_mode parameter_name parameter_ordinal_position parameter_specific_catalog parameter_specific_name parameter_specific_schema parser partial partition pascal passing passthrough password path percent percent_rank percentile_cont percentile_disc perform period permission pg_context pg_datatype_name pg_exception_context pg_exception_detail pg_exception_hint placing plans pli policy portion position position_regex power precedes preceding precision prepare prepared preserve primary print_strict_params prior privileges procedural procedure procedures program public publication query quote raise range rank read reads real reassign recheck recovery recursive ref references referencing refresh regr_avgx regr_avgy regr_count regr_intercept regr_r2 regr_slope regr_sxx regr_sxy regr_syy reindex relative release rename repeatable replace replica requiring reset respect restart restore restrict result result_oid return returned_cardinality returned_length returned_octet_length returned_sqlstate returning returns reverse revoke right role rollback rollup routine routine_catalog routine_name routine_schema routines row row_count row_number rows rowtype rule savepoint scale schema schema_name schemas scope scope_catalog scope_name scope_schema scroll search second section security select selective self sensitive sequence sequences serializable server server_name session session_user set setof sets share show similar simple size skip slice smallint snapshot some source space specific specific_name specifictype sql sqlcode sqlerror sqlexception sqlstate sqlwarning sqrt stable stacked standalone start state statement static statistics stddev_pop stddev_samp stdin stdout storage strict strip structure style subclass_origin submultiset subscription substring substring_regex succeeds sum symmetric sysid system system_time system_user t table table_name tables tablesample tablespace temp template temporary text then ties time timestamp timezone_hour timezone_minute to token top_level_count trailing transaction transaction_active transactions_committed transactions_rolled_back transform transforms translate translate_regex translation treat trigger trigger_catalog trigger_name trigger_schema trim trim_array true truncate trusted type types uescape unbounded uncommitted under unencrypted union unique unknown unlink unlisten unlogged unnamed unnest until untyped update upper uri usage use_column use_variable user user_defined_type_catalog user_defined_type_code user_defined_type_name user_defined_type_schema using vacuum valid validate validator value value_of values var_pop var_samp varbinary varchar variable_conflict variadic varying verbose version versioning view views volatile warning when whenever where while whitespace width_bucket window with within without work wrapper write xml xmlagg xmlattributes xmlbinary xmlcast xmlcomment xmlconcat xmldeclaration xmldocument xmlelement xmlexists xmlforest xmliterate xmlnamespaces xmlparse xmlpi xmlquery xmlroot xmlschema xmlserialize xmltable xmltext xmlvalidate year yes zone"),builtin:M("bigint int8 bigserial serial8 bit varying varbit boolean bool box bytea character char varchar cidr circle date double precision float8 inet integer int int4 interval json jsonb line lseg macaddr macaddr8 money numeric decimal path pg_lsn point polygon real float4 smallint int2 smallserial serial2 serial serial4 text time without zone with timetz timestamp timestamptz tsquery tsvector txid_snapshot uuid xml"),atoms:M("false true null unknown"),operatorChars:/^[*\/+\-%<>!=&|^\/#@?~]/,backslashStringEscapes:!1,dateSQL:M("date time timestamp"),support:M("ODBCdotTable decimallessFloat zerolessFloat binaryNumber hexNumber nCharCast charsetCast escapeConstant")}),PC=We({keywords:M("ancestor and asc by contains desc descendant distinct from group has in is limit offset on order select superset where"),atoms:M("false true"),builtin:M("blob datetime first key __key__ string integer double boolean null"),operatorChars:/^[*+\-%<>!=]/}),vC=We({client:M("source"),keywords:M("abort absolute access action active add admin after aggregate all also alter always analyse analyze and any array as asc assertion assignment asymmetric at authorization backward before begin between bigint binary bit boolean both by cache called cascade cascaded case cast chain char character characteristics check checkpoint class close cluster coalesce codegen collate column comment commit committed concurrency concurrently configuration connection constraint constraints contains content continue conversion copy cost cpu_rate_limit create createdb createexttable createrole createuser cross csv cube current current_catalog current_date current_role current_schema current_time current_timestamp current_user cursor cycle data database day deallocate dec decimal declare decode default defaults deferrable deferred definer delete delimiter delimiters deny desc dictionary disable discard distinct distributed do document domain double drop dxl each else enable encoding encrypted end enum errors escape every except exchange exclude excluding exclusive execute exists explain extension external extract false family fetch fields filespace fill filter first float following for force foreign format forward freeze from full function global grant granted greatest group group_id grouping handler hash having header hold host hour identity if ignore ilike immediate immutable implicit in including inclusive increment index indexes inherit inherits initially inline inner inout input insensitive insert instead int integer intersect interval into invoker is isnull isolation join key language large last leading least left level like limit list listen load local localtime localtimestamp location lock log login mapping master match maxvalue median merge minute minvalue missing mode modifies modify month move name names national natural nchar new newline next no nocreatedb nocreateexttable nocreaterole nocreateuser noinherit nologin none noovercommit nosuperuser not nothing notify notnull nowait null nullif nulls numeric object of off offset oids old on only operator option options or order ordered others out outer over overcommit overlaps overlay owned owner parser partial partition partitions passing password percent percentile_cont percentile_disc placing plans position preceding precision prepare prepared preserve primary prior privileges procedural procedure protocol queue quote randomly range read readable reads real reassign recheck recursive ref references reindex reject relative release rename repeatable replace replica reset resource restart restrict returning returns revoke right role rollback rollup rootpartition row rows rule savepoint scatter schema scroll search second security segment select sequence serializable session session_user set setof sets share show similar simple smallint some split sql stable standalone start statement statistics stdin stdout storage strict strip subpartition subpartitions substring superuser symmetric sysid system table tablespace temp template temporary text then threshold ties time timestamp to trailing transaction treat trigger trim true truncate trusted type unbounded uncommitted unencrypted union unique unknown unlisten until update user using vacuum valid validation validator value values varchar variadic varying verbose version view volatile web when where whitespace window with within without work writable write xml xmlattributes xmlconcat xmlelement xmlexists xmlforest xmlparse xmlpi xmlroot xmlserialize year yes zone"),builtin:M("bigint int8 bigserial serial8 bit varying varbit boolean bool box bytea character char varchar cidr circle date double precision float float8 inet integer int int4 interval json jsonb line lseg macaddr macaddr8 money numeric decimal path pg_lsn point polygon real float4 smallint int2 smallserial serial2 serial serial4 text time without zone with timetz timestamp timestamptz tsquery tsvector txid_snapshot uuid xml"),atoms:M("false true null unknown"),operatorChars:/^[*+\-%<>!=&|^\/#@?~]/,dateSQL:M("date time timestamp"),support:M("ODBCdotTable decimallessFloat zerolessFloat binaryNumber hexNumber nCharCast charsetCast")}),$C=We({keywords:M("add after all alter analyze and anti archive array as asc at between bucket buckets by cache cascade case cast change clear cluster clustered codegen collection column columns comment commit compact compactions compute concatenate cost create cross cube current current_date current_timestamp database databases data dbproperties defined delete delimited deny desc describe dfs directories distinct distribute drop else end escaped except exchange exists explain export extended external false fields fileformat first following for format formatted from full function functions global grant group grouping having if ignore import in index indexes inner inpath inputformat insert intersect interval into is items join keys last lateral lazy left like limit lines list load local location lock locks logical macro map minus msck natural no not null nulls of on optimize option options or order out outer outputformat over overwrite partition partitioned partitions percent preceding principals purge range recordreader recordwriter recover reduce refresh regexp rename repair replace reset restrict revoke right rlike role roles rollback rollup row rows schema schemas select semi separated serde serdeproperties set sets show skewed sort sorted start statistics stored stratify struct table tables tablesample tblproperties temp temporary terminated then to touch transaction transactions transform true truncate unarchive unbounded uncache union unlock unset use using values view when where window with"),builtin:M("tinyint smallint int bigint boolean float double string binary timestamp decimal array map struct uniontype delimited serde sequencefile textfile rcfile inputformat outputformat"),atoms:M("false true null"),operatorChars:/^[*\/+\-%<>!=~&|^]/,dateSQL:M("date time timestamp"),support:M("ODBCdotTable doubleQuote zerolessFloat")}),TC=We({client:M("source"),keywords:M("alter and as asc between by count create delete desc distinct drop from group having in insert into is join like not on or order select set table union update values where limit after all and as at asc avedev avg between by case cast coalesce count create current_timestamp day days delete define desc distinct else end escape events every exists false first from full group having hour hours in inner insert instanceof into irstream is istream join last lastweekday left limit like max match_recognize matches median measures metadatasql min minute minutes msec millisecond milliseconds not null offset on or order outer output partition pattern prev prior regexp retain-union retain-intersection right rstream sec second seconds select set some snapshot sql stddev sum then true unidirectional until update variable weekday when where window"),builtin:{},atoms:M("false true null"),operatorChars:/^[*+\-%<>!=&|^\/#@?~]/,dateSQL:M("time"),support:M("decimallessFloat zerolessFloat binaryNumber hexNumber")});var Xg={name:"toml",startState:function(){return{inString:!1,stringType:"",lhs:!0,inArray:0}},token:function(i,e){let t;if(!e.inString&&(t=i.match(/^('''|"""|'|")/))&&(e.stringType=t[0],e.inString=!0),i.sol()&&!e.inString&&e.inArray===0&&(e.lhs=!0),e.inString){for(;e.inString;)if(i.match(e.stringType))e.inString=!1;else if(i.peek()==="\\")i.next(),i.next();else{if(i.eol())break;i.match(/^.[^\\\"\']*/)}return e.lhs?"property":"string"}else{if(e.inArray&&i.peek()==="]")return i.next(),e.inArray--,"bracket";if(e.lhs&&i.peek()==="["&&i.skipTo("]"))return i.next(),i.peek()==="]"&&i.next(),"atom";if(i.peek()==="#")return i.skipToEnd(),"comment";if(i.eatSpace())return null;if(e.lhs&&i.eatWhile(function(n){return n!="="&&n!=" "}))return"property";if(e.lhs&&i.peek()==="=")return i.next(),e.lhs=!1,null;if(!e.lhs&&i.match(/^\d\d\d\d[\d\-\:\.T]*Z/))return"atom";if(!e.lhs&&(i.match("true")||i.match("false")))return"atom";if(!e.lhs&&i.peek()==="[")return e.inArray++,i.next(),"bracket";if(!e.lhs&&i.match(/^\-?\d+(?:\.\d+)?/))return"number";i.eatSpace()||i.next()}return null},languageData:{commentTokens:{line:"#"}}};var $P=Qe({"for in if else endfor endif":d.controlKeyword,"Attribute/Identifier":d.definition(d.propertyName),"ForIntro/Identifier":d.definition(d.propertyName),"Block/Identifier":d.definitionKeyword,"FunctionCall/Identifier":d.function(d.variableName),"Attribute/Expression":d.attributeValue,"VariableExpr/Identifier":d.variableName,"GetAttr/Identifier":d.variableName,Identifier:d.name,"LiteralValue/...":d.literal,"StringLit/... TemplateLiteral":d.string,NumericLit:d.number,BoolLit:d.bool,NullLit:d.null,Comment:d.comment,LineComment:d.lineComment,BlockComment:d.blockComment,"( )":d.paren,"{ }":d.bracket,"[ ]":d.squareBracket,ArithOp:d.arithmeticOperator,LogicOp:d.logicOperator,CompareOp:d.compareOperator,ControlOp:d.controlOperator,HeredocIdentifier:d.special(d.controlKeyword),HeredocStart:d.special(d.brace),"TemplateInterpolationStart TemplateInterpolationEnd":d.special(d.brace),"TemplateDirectiveStart TemplateDirectiveEnd":d.special(d.brace),StripMarker:d.special(d.brace),Ellipsis:d.punctuation,": =>":d.punctuation,",":d.separator}),gh=1,Qh=2,bh=3,Sh=4,yh=5,kh=6,An=7,Ze=93,_e={QUOTED_TEMPLATE:1,TEMPLATE_INTERPOLATION:2,TEMPLATE_DIRECTIVE:4,HEREDOC_TEMPLATE:8},TP=function(i){var e=0,t,n;if(i.length===0)return e;for(t=0;t{if(e.canShift(gh)&&!(e.context&&e.context.type===_e.QUOTED_TEMPLATE)&&String.fromCharCode(i.next)==='"')return i.advance(),i.acceptToken(gh)},{contextual:!0,fallback:!0}),RP=new J((i,e)=>{if(e.canShift(Qh)&&e.context&&e.context.type===_e.QUOTED_TEMPLATE&&String.fromCharCode(i.next)==='"')return i.advance(),i.acceptToken(Qh)},{contextual:!0,fallback:!0}),AP=new J((i,e)=>{if(e.canShift(Ze)&&e.context&&e.context.type===_e.QUOTED_TEMPLATE)switch(String.fromCharCode(i.next)){case"\\":switch(i.advance(),String.fromCharCode(i.next)){case'"':case"n":case"r":case"t":case"\\":return i.advance(),i.acceptToken(Ze);case"u":for(let t=0;t<4;t++)if(i.advance(),!/[0-9a-fA-F]/.test(String.fromCharCode(i.next)))return;return i.advance(),i.acceptToken(Ze);case"U":for(let t=0;t<8;t++)if(i.advance(),!/[0-9a-fA-F]/.test(String.fromCharCode(i.next)))return;return i.advance(),i.acceptToken(Ze);default:return}}if(e.canShift(Ze)&&e.context&&(e.context.type===_e.QUOTED_TEMPLATE||e.context.type===_e.HEREDOC_TEMPLATE)&&i.next!==-1)return i.advance(),i.acceptToken(Ze)},{contextual:!0,fallback:!0}),ZP=new J((i,e)=>{if(e.canShift(bh)&&e.canShift(Ze)&&!(e.context&&e.context.type===_e.TEMPLATE_INTERPOLATION)&&String.fromCharCode(i.next)==="$")return i.advance(),String.fromCharCode(i.next)==="{"?(i.advance(),i.acceptToken(bh)):(String.fromCharCode(i.next)==="$"&&(i.advance(),String.fromCharCode(i.next)==="{")&&i.advance(),i.acceptToken(Ze))},{contextual:!0,fallback:!0}),EP=new J((i,e)=>{if(e.canShift(Sh)&&e.context&&e.context.type===_e.TEMPLATE_INTERPOLATION&&String.fromCharCode(i.next)==="}")return i.advance(),i.acceptToken(Sh)},{contextual:!0,fallback:!0}),qP=new J((i,e)=>{if(e.canShift(yh)&&e.canShift(Ze)&&!(e.context&&e.context.type===_e.TEMPLATE_DIRECTIVE)&&String.fromCharCode(i.next)==="%")return i.advance(),String.fromCharCode(i.next)==="{"?(i.advance(),i.acceptToken(yh)):(String.fromCharCode(i.next)==="%"&&(i.advance(),String.fromCharCode(i.next)==="{")&&i.advance(),i.acceptToken(Ze))},{contextual:!0,fallback:!0}),zP=new J((i,e)=>{if(e.canShift(kh)&&e.context&&e.context.type===_e.TEMPLATE_DIRECTIVE&&String.fromCharCode(i.next)==="}")return i.advance(),i.acceptToken(kh)},{contextual:!0,fallback:!0}),LP=new J((i,e)=>{if(e.canShift(An)&&!(e.context&&e.context.type===_e.HEREDOC_TEMPLATE)&&i.next!==-1){let t=String.fromCharCode(i.next);for(;/[0-9a-zA-Z]/.test(t)||t==="_"||t==="-";)i.advance(),t=String.fromCharCode(i.next);return i.acceptToken(An)}if(e.canShift(An)&&e.canShift(Ze)&&e.context&&e.context.type===_e.HEREDOC_TEMPLATE&&i.next!=-1){let t=e.context.heredoc_identifier,n=!1,r=!1,s=String.fromCharCode(i.next);for(;/\s/.test(s);)r=!0,s===` -`&&(n=!0),i.advance(),s=String.fromCharCode(i.next);if(r&&i.acceptToken(Ze),!n)return;let o=0;for(let l=0;lbQ&jO,5:fOOQy,5:h,5:hPOQy'#EY'#EYPOQy,5:j,5:jPOQy,5:k,5:kOOQy1G0g1G0gOOQO7+%u7+%uO>jQ&jO7+%uOOQ%n,5:|,5:|OOQ%n1G.}1G.}O>oQ&rO1G.}O>tQ&rO1G.}OOQ%n1G/Q1G/QO?PQ&jO,59jO?[Q'[O,59jOOQ%n1G/W1G/WO1tQ)tO1G/WO?dQ&jO'#DVO1tQ)tO1G/WO?rQ&jO,59oO@QQ'[O,59oO@YQ'[O,59qO@bQ&jO1G/RO@jQ&jO1G/RO$yQ&kO1G/XO@oQ'[O1G/XOOQy7+$y7+$yO@zQ&jO,5:rOA]Q&kO1G0lOOQO-E8U-E8UOOQy7+%[7+%[OAdQ&jO7+%[O$yQ&kO'#DlO$yQ&kO1G/qOAiQ&jO1G/qOOQP'#ES'#ESO$yQ&kO7+%rP$yQ&kO'#EXO$yQ&kO7+%_OAnQ&kO,5:ROAuQ&jO,5:ROOQO,5:R,5:ROOQy7+%V7+%VOOQy1G0Q1G0QPOQy-E8W-E8WOOQO<eAN>eOKmQ&jOAN>eOKrQ&jOAN>eOOQ%n<cOOQyG24PG24POLiQ&jOG24POOQ$YG23_G23_OLnQ'[OG23_OLyQ'[OG23_O$yQ&kOG23_OOQPG23}G23}OOQyLD)kLD)kOOQ$YLD(yLD(yOMOQ'[OLD(yOMTQ'[OLD(yOOQ$Y!$'Le!$'LeOM`Q'[O!$'LeOOQ$Y!)9BP!)9BPO-wQ&kO'#DoO/TQ&kO'#DoOMeQ&kO'#CkO-wQ&kO,5:^O/TQ&kO,5:^O-wQ&kO,5:^O/TQ&kO,5:^O-wQ&kO,5:^O/TQ&kO,5:^O-wQ&kO,5:^O/TQ&kO,5:^O-wQ&kO,5:^O/TQ&kO,5:^O-wQ&kO,5:^O/TQ&kO,5:^ON[Q&kO1G/xO! XQ&kO1G/xO!!UQ&kO1G/xO!%UQ&kO1G/xO!%]Q&kO1G/xO-wQ&kO7+%rO/TQ&kO7+%rO4uQ&jO1G0WO4uQ&jO1G0WO$yQ&kO,5:lO$yQ&kO,5:l",stateData:"!%l~O#ROSXPQYPQ~O^RO!SQO~OXVOYVO~OPZO^gOa[OcXOdXOfYO!P`O!RdO!ScO!YoO#W]O#X]O#^iO#_jO~OPqO^sO!SuO#SrO~O^RO#O[X!R[X~OQ!PORyOT!QO#PwO~OV!RO~OPZO^gOa[OcXOdXOfYOp!WO!P`O!ScO!YoO#W]O#X]O#^iO#_jO~O!O!TO~P#iO#S!XO#[!XO#o!YO~OPZO^gOa[OcXOdXOfYO!P`O!ScO!YoO#W]O#X]O#^iO#_jO~O#V!]O!R#ZX~P$yOp!WO~PmO!R!`O~O!Y!aO!P!VX!o!VX#^!VX#`!VX#a!VX#b!VX#c!VX#d!VX#e!VX#f!VX#g!VX#h!VX#i!VX#j!VX#k!VX#l!VX#m!VX#n!VX#o!VX~O#S!VX#[!VX!O!VX#V!VX!W!VX^!VX#O!VXS!VXl!VXv!VX![!VXU!VX!R!VX~P&[O!o!pO#^!dO#`!cO#a!cO#b!cO#c!dO#d!eO#e!eO#f!eO#g!eO#h!fO#i!fO#j!gO#k!hO#l!qO#m!rO#n!sO#o_X#V_X^_X!R_X~O!P!oO#S_X#[_X!O_X!W_X#O_XS_Xl_Xv_X![_XU_X~P(iOPqO^sO!S!zO~O^RO!R!{O~O#P!}OQ#UPR#UPT#UPV#UP~OQ#POR!yXT!yX#P!yX~OS#QOl#RO~P$yORyOT#VO#PwO~ORyOT#ZO#PwO~OQ#]ORyOT!QO#PwO~Ol#_Op#^Ov#`O~ORyOT!QOV#bO#PwO~O#V#cO#o!YO!O#YX~O!O#eO~O^#gO~OPZO^#iOa[OcXOdXOfYO!P`O!ScO!YoO#W]O#X]O#^iO#_jO~O!R#Za~P$yO#V#lO!R#Za~P$yOPZO^#nOa[OcXOdXOfYO!P`O!ScO!YoO#W]O#X]O#^iO#_jO~O!W#rO~P$yO^#{O~O!W$PO#o!YO~OQ#PO~O#o!YO^]i#O]i!R]i~O^RO!R$QO~OS$TOl$UO~P$yOS$TOl$UO#o!YO~Ol$XOp#^Os$YOv#`O~ORyOT$]O#PwO~Ol$_Op#^Ov#`Ox$`Oz$aO~O^$bO~Op$cOv$dO~ORyOT!QOV$fO#PwO~O!O#Ya~P$yO#V$hO!O#Ya~Ov$lO!O$jO#o!YO~Oq$mO#V$nO~O#o!YOP!Ui^!Uia!Uic!Uid!Uif!Ui!P!Ui!R!Ui!S!Ui!Y!Ui#V!Ui#W!Ui#X!Ui#^!Ui#_!Ui~O#[$oO#o!YO~O!R#Zi~P$yO#]!VX~P&[O#]$rO#o!YO~O!o!pO#^!dO#`!cO#a!cO#b!cO#c!dO#d!eO#e!eO#f!eO#g!eO#h!fO#i!fO#j!gO#k!hO#l!qO#m!rO#n!sO#o_X~O!P!oO#]_X~P5eO![$uO#V$sO#o!YO!W!ZX~O!W$vO~O#`!cO#a!cO#b!cO!P!fi!o!fi#S!fi#[!fi#d!fi#e!fi#f!fi#g!fi#h!fi#i!fi#j!fi#k!fi#l!fi#m!fi#n!fi#o!fi!O!fi#V!fi!W!fi^!fi#O!fiS!fil!fiv!fi![!fiU!fi!R!fi~O#^!fi#c!fi~P7^O#^!dO#c!dO~P7^O#^!dO#`!cO#a!cO#b!cO#c!dO#d!eO#e!eO#f!eO#g!eO!P!fi!o!fi#S!fi#[!fi#j!fi#k!fi#l!fi#m!fi#n!fi#o!fi!O!fi#V!fi!W!fi^!fi#O!fiS!fil!fiv!fi![!fiU!fi!R!fi~O#h!fi#i!fi~P9rO#h!fO#i!fO~P9rO#^!dO#`!cO#a!cO#b!cO#c!dO#d!eO#e!eO#f!eO#g!eO#h!fO#i!fO#j!gO!P!fi!o!fi#k!fi#l!fi#m!fi#n!fi#o!fi#V!fi^!fi!R!fi~O#S!fi#[!fi!O!fi!W!fi#O!fiS!fil!fiv!fi![!fiU!fi~PMP[i]||-1}],tokenPrec:2320}),jP=Ce.define({parser:WP.configure({props:[Pe.add({Block:St({closing:"}",align:!1})}),Xe.add({"Object Tuple TemplateFor TemplateIf":ht,BlockComment:i=>({from:i.from+2,to:i.to-2}),HeredocTemplate(i){let e=i.getChild("HeredocIdentifier");return e?{from:e.to,to:i.to}:null},FunctionCall(i){let e=i.getChild("("),t=i.getChild(")");return!e||!t?null:{from:e.from+1,to:t.to-1}},Block(i){let e=i.getChild("{"),t=i.getChild("}");return!e||!t?null:{from:e.from+1,to:t.to-1}}}),$P]}),languageData:{commentTokens:{line:"#",block:{open:"/*",close:"*/"}}}});function _g(){return new me(jP)}function VP(i){let e=i.trim();if(!e)return"";if(/^#!.*\b(?:ba)?sh\b|^\s*\$\s+/.test(e))return"bash";if(e.startsWith("{")&&e.endsWith("}")||e.startsWith("[")&&e.endsWith("]"))try{return JSON.parse(e),"json"}catch{}return/^\s*(?:|(?:using\s+namespace\s+std|std::\w+|(?:cout|cin)\s*(?:<<|>>))\b)/m.test(e)?"cpp":/^\s*(?:#\s*include\s*[<"](?:assert|ctype|errno|float|inttypes|limits|math|setjmp|signal|stdarg|stdbool|stddef|stdint|stdio|stdlib|string|time)\.h[>"]|(?:int|void)\s+main\s*\([^)]*\)\s*\{)/m.test(e)?"c":/^\s*(?:async\s+)?def\s+\w+\s*\(|^\s*from\s+\w+[\w.]*\s+import\b|^\s*class\s+\w+\s*[:(]/m.test(e)?"python":/\b(?:SELECT|INSERT|UPDATE|DELETE|CREATE\s+(?:TABLE|VIEW|INDEX)|WITH)\b[\s\S]*\b(?:FROM|INTO|WHERE|AS)\b/i.test(e)?"sql":/(?:^|\n)\s*(?:[#.]?[A-Za-z][\w-]*)\s*\{[\s\S]*:[\s\S]*\}/.test(e)||/@(?:media|keyframes|supports)\b/.test(e)?"css":/^\s*(?:const|let|var)\s+[A-Za-z_$][\w$]*\s*(?::[^=\n]+)?\s*=/m.test(e)||/\b(?:function\s+\w+\s*\(|console\.(?:log|error|warn)|=>)/.test(e)?"javascript":/^\s*(?:[-A-Za-z_][\w-]*):\s*(?:[^:#\n]|$)/m.test(e)&&!/[{};]/.test(e)?"yaml":/^\s*(?:echo|printf|export|source|cd|mkdir|rm|cp|mv)\s+/m.test(e)?"bash":""}var Be=(i,e,t)=>Ie.of({name:i,alias:e,support:new me(Zs.define(t))}),Kg=[Ie.of({name:"javascript",alias:["js","jsx","ts","tsx","typescript","node"],support:so({jsx:!0,typescript:!0})}),Ie.of({name:"python",alias:["py"],support:Dm()}),Ie.of({name:"json",alias:["jsonc"],support:Im()}),Ie.of({name:"css",alias:["scss"],support:ro()}),Ie.of({name:"html",alias:["htm","xml"],support:ao()}),Ie.of({name:"hcl",alias:["terraform","tf"],support:_g()}),Be("swift",[],Um),Be("shell",["sh","bash","zsh","console"],Km),Be("yaml",["yml"],Jm),Be("go",["golang"],rg),Be("ruby",["rb"],ag),Be("rust",["rs"],hg),Be("c",["h"],bg),Be("cpp",["c++","cc","hpp"],Sg),Be("java",[],yg),Be("kotlin",["kt"],wg),Be("objective-c",["objc","objectivec"],Pg),Be("csharp",["cs","c#"],kg),Be("sql",[],We({})),Be("toml",[],Xg)],DP={resolve:"Highlight",mark:"HighlightMark"},YP=/[\p{S}\p{P}]/u;function Rg(i){return!i||/\s/.test(i)}function Ag(i){return!!i&&YP.test(i)}var Lh={defineNodes:["Highlight","HighlightMark"],parseInline:[{name:"Highlight",parse(i,e,t){if(e!==61||i.char(t+1)!==61)return-1;let n=t;for(;n>i.offset&&i.char(n-1)===61;)n--;let r=t+2;for(;i.char(r)===61;)r++;let s=n+(r-n)%2;if(t=i.offset&&i.char(m)===92;m--)o++;if(o%2!==0)return-1;let a=i.slice(n-1,n),l=i.slice(r,r+1),c=Rg(a),h=Rg(l),f=Ag(a),u=Ag(l),O=!h&&(!u||c||f),p=!c&&(!f||h||u);return i.addDelimiter(DP,t,t+2,O,p)},after:"Emphasis"}]},Mr=class extends Te{constructor(e,t){super(),this.text=e,this.className=t}eq(e){return e.text===this.text&&e.className===this.className}toDOM(){let e=document.createElement("span");return e.textContent=this.text,e.className=this.className,e}ignoreEvent(){return!1}},Ch=class extends Te{constructor(e,t,n,r,s){super(),this.source=e,this.alt=t,this.raw=n,this.from=r,this.to=s}eq(e){return e.source===this.source&&e.alt===this.alt&&e.raw===this.raw&&e.from===this.from&&e.to===this.to}toDOM(e){let t=document.createElement("span");t.className="cm-md-image-preview",t.setAttribute("role","figure");let n=document.createElement("img");n.src=this.source,n.alt=this.alt,n.draggable=!1,n.addEventListener("error",()=>t.classList.add("cm-md-image-error"),{once:!0});let r=document.createElement("code");r.className="cm-md-image-source",r.textContent=this.raw,r.title="Click to edit image source";let s=o=>{o.preventDefault(),o.stopPropagation(),e.focus(),e.dispatch({selection:{anchor:Math.min(this.from+2,this.to)},userEvent:"select.pointer"})};return r.addEventListener("mousedown",s),r.addEventListener("click",s),n.addEventListener("mousedown",o=>{o.preventDefault(),o.stopPropagation()}),n.addEventListener("click",o=>{o.preventDefault(),o.stopPropagation();let a=n.currentSrc||n.src;a.startsWith("md-asset:")?window.__mdRequestImageRename?.(a):s(o)}),t.append(n,r),t}ignoreEvent(){return!0}},Xh=class extends Te{eq(){return!0}toDOM(){let e=document.createElement("span");return e.className="cm-md-hr",e}ignoreEvent(){return!1}},IP=0,_h=class extends Te{constructor(e){super(),this.source=e}eq(e){return e.source===this.source}toDOM(e){let t=document.createElement("figure");t.className="cm-md-mermaid-preview",t.setAttribute("role","img"),t.setAttribute("aria-label","Mermaid diagram. Click to edit source.");let n=document.createElement("div");n.className="cm-md-mermaid-stage",n.textContent="Rendering diagram\u2026",t.appendChild(n),t.addEventListener("mousedown",o=>{o.preventDefault(),e.focus();let a=e.posAtDOM(t);e.dispatch({selection:{anchor:a+1},userEvent:"select.pointer"})});let r=window.mermaid;if(!r||typeof r.render!="function")return n.textContent="Mermaid preview unavailable. Click to edit source.",t;let s=`md-editor-mermaid-${++IP}`;return Promise.resolve(r.render(s,this.source)).then(({svg:o})=>{n.innerHTML=o;let a=n.querySelector("svg"),l=a?.viewBox?.baseVal;a&&l?.width>0&&l?.height>0&&(t.style.setProperty("--mm-aspect",`${l.width} / ${l.height}`),a.removeAttribute("width"),a.removeAttribute("height"),a.setAttribute("preserveAspectRatio","xMidYMid meet"),a.style.width="100%",a.style.height="100%"),e.requestMeasure()}).catch(()=>{n.textContent="Unable to render Mermaid diagram. Click to edit source.",t.classList.add("cm-md-mermaid-error"),e.requestMeasure()}),t}ignoreEvent(){return!0}},Jg=new WeakMap,Rh=te.define({map:(i,e)=>e.mapPos(i,1,ge.TrackAfter)??void 0}),En=he.define({create:()=>new Set,update(i,e){if(!e.docChanged&&!e.effects.some(n=>n.is(Rh)))return i;let t=new Set([...i].map(n=>e.changes.mapPos(n,1,ge.TrackAfter)).filter(n=>n!=null));for(let n of e.effects)n.is(Rh)&&(t.has(n.value)?t.delete(n.value):t.add(n.value));return t}}),xh=i=>'",Co=class extends Te{constructor(e){super(),Object.assign(this,e)}eq(e){return e.fenceFrom===this.fenceFrom&&e.infoFrom===this.infoFrom&&e.infoTo===this.infoTo&&e.rawInfo===this.rawInfo&&e.detectedLanguage===this.detectedLanguage&&e.wrapped===this.wrapped&&e.plain===this.plain}toDOM(e){let t=document.createElement("span");t.className="cm-md-code-language",t.contentEditable="false";let n=document.createElement("input");n.type="text",n.className="cm-md-code-language-input",n.autocomplete="off",n.spellcheck=!1,n.value=this.language,n.readOnly=!!this.plain,n.placeholder="language",n.setAttribute("aria-label","Code block language"),n.dataset.fenceFrom=String(this.fenceFrom);let r=this.rawInfo.match(/^\S+([\s\S]*)$/)?.[1]||"",s=n.value,o=!0,a=!1,l=()=>{if(this.plain)return;let f=n.value.trim().split(/\s+/,1)[0].toLowerCase(),u=f?f+r:"";u!==this.rawInfo&&n.value!==s&&(a=!0,e.dispatch({changes:{from:this.infoFrom,to:this.infoTo,insert:u},userEvent:"input"}))};n.addEventListener("change",l),n.addEventListener("keydown",f=>{f.stopPropagation(),f.key==="Enter"?(f.preventDefault(),l(),n.blur(),e.focus()):f.key==="Escape"&&(f.preventDefault(),o=!1,n.value=this.language,n.blur(),e.focus())}),n.addEventListener("mousedown",f=>f.stopPropagation()),n.addEventListener("click",f=>f.stopPropagation()),n.addEventListener("blur",()=>{o&&!a&&l(),a=!1,o=!0}),t.appendChild(n);let c=(f,u,O,p)=>{let m=document.createElement("button");return m.type="button",m.className=`cm-md-code-action ${O}`,m.title=f,m.setAttribute("aria-label",f),m.innerHTML=xh(u),m.addEventListener("mousedown",b=>{b.preventDefault(),b.stopPropagation()}),m.addEventListener("click",b=>{b.preventDefault(),b.stopPropagation(),p(m)}),t.appendChild(m),m};return c(this.wrapped?"Unwrap code":"Wrap code",this.wrapped?"unwrap":"wrap","cm-md-code-toggle-wrap",()=>e.dispatch({effects:Rh.of(e.state.doc.lineAt(this.fenceFrom).from)})).setAttribute("aria-pressed",String(this.wrapped)),c("Copy code","copy","cm-md-code-copy",async f=>{let u=e.state.doc.lineAt(this.fenceFrom),O=U(e.state).resolve(this.plain?u.to:this.fenceFrom+1,-1);for(;O&&O.name!==(this.plain?"CodeBlock":"FencedCode");)O=O.parent;if(!O)return;let p=this.plain?O.getChildren("CodeText").map(m=>e.state.sliceDoc(m.from,m.to)).join(""):Ro(e.state,O).source;try{let m=Jg.get(e);m?m(p):await navigator.clipboard.writeText(p),f.innerHTML=xh("check"),f.title="Code copied",f.setAttribute("aria-label",f.title),clearTimeout(f.copyTimer),f.copyTimer=setTimeout(()=>{f.innerHTML=xh("copy"),f.title="Copy code",f.setAttribute("aria-label",f.title)},1100)}catch{}}),t}ignoreEvent(){return!0}};function Po(i,e=!1){let t=[],n="",r=0,s=()=>t.push({text:n.trim(),from:r+n.length-n.trimStart().length,to:r+n.trimEnd().length}),o=0,a=0;for(let c=0;cc.text)}function BP(i){let e=i.trim(),t=e.startsWith(":"),n=e.endsWith(":"),r=e.replace(/^:/,"").replace(/:$/,"");return/^-{3,}$/.test(r)?t&&n?"center":t?"left":n?"right":"none":null}function Mh(i){let e=i.endsWith(` +`,{label:"if",detail:"block",type:"keyword"}),he("if ${}:\n ${}\nelse:\n ${}",{label:"if",detail:"/ else block",type:"keyword"}),he("class ${name}:\n def __init__(self, ${params}):\n ${}",{label:"class",detail:"definition",type:"keyword"}),he("import ${module}",{label:"import",detail:"statement",type:"keyword"}),he("from ${module} import ${names}",{label:"from",detail:"import",type:"keyword"})],_w=Us(Dm,Bs(Cw.concat(Xw)));function sh(i){let{node:e,pos:t}=i,n=i.lineIndent(t,-1),r=null;for(;;){let s=e.childBefore(t);if(s)if(s.name=="Comment")t=s.from;else if(s.name=="Body"||s.name=="MatchBody")i.baseIndentFor(s)+i.unit<=n&&(r=s),e=s;else if(s.name=="MatchClause")e=s;else if(s.type.is("Statement"))e=s;else break;else break}return r}function oh(i,e){let t=i.baseIndentFor(e),n=i.lineAt(i.pos,-1),r=n.from+n.text.length;return/^\s*($|#)/.test(n.text)&&i.node.tot?null:t+i.unit}var ah=Xe.define({name:"python",parser:Lm.configure({props:[Pe.add({Body:i=>{var e;let t=/^\s*(#|$)/.test(i.textAfter)&&sh(i)||i.node;return(e=oh(i,t))!==null&&e!==void 0?e:i.continue()},MatchBody:i=>{var e;let t=sh(i);return(e=oh(i,t||i.node))!==null&&e!==void 0?e:i.continue()},IfStatement:i=>/^\s*(else:|elif )/.test(i.textAfter)?i.baseIndent:i.continue(),"ForStatement WhileStatement":i=>/^\s*else:/.test(i.textAfter)?i.baseIndent:i.continue(),TryStatement:i=>/^\s*(except[ :]|finally:|else:)/.test(i.textAfter)?i.baseIndent:i.continue(),MatchStatement:i=>/^\s*case /.test(i.textAfter)?i.baseIndent+i.unit:i.continue(),"TupleExpression ComprehensionExpression ParamList ArgList ParenthesizedExpression":kt({closing:")"}),"DictionaryExpression DictionaryComprehensionExpression SetExpression SetComprehensionExpression":kt({closing:"}"}),"ArrayExpression ArrayComprehensionExpression":kt({closing:"]"}),MemberExpression:i=>i.baseIndent+i.unit,"String FormatString":()=>null,Script:i=>{var e;let t=sh(i);return(e=t&&oh(i,t))!==null&&e!==void 0?e:i.continue()}}),_e.add({"ArrayExpression DictionaryExpression SetExpression TupleExpression":ut,Body:(i,e)=>({from:i.from+1,to:i.to-(i.to==e.doc.length?0:1)}),"String FormatString":(i,e)=>({from:e.doc.lineAt(i.from).to,to:i.to})})]}),languageData:{closeBrackets:{brackets:["(","[","{","'",'"',"'''",'"""'],stringPrefixes:["f","fr","rf","r","u","b","br","rb","F","FR","RF","R","U","B","BR","RB"]},commentTokens:{line:"#"},indentOnInput:/^\s*([\}\]\)]|else:|elif |except |finally:|case\s+[^:]*:?)$/}});function Ym(){return new me(ah,[ah.data.of({autocomplete:Tw}),ah.data.of({autocomplete:_w})])}var Rw=Qe({String:d.string,Number:d.number,"True False":d.bool,PropertyName:d.propertyName,Null:d.null,", :":d.separator,"[ ]":d.squareBracket,"{ }":d.brace}),Im=ve.deserialize({version:14,states:"$bOVQPOOOOQO'#Cb'#CbOnQPO'#CeOvQPO'#ClOOQO'#Cr'#CrQOQPOOOOQO'#Cg'#CgO}QPO'#CfO!SQPO'#CtOOQO,59P,59PO![QPO,59PO!aQPO'#CuOOQO,59W,59WO!iQPO,59WOVQPO,59QOqQPO'#CmO!nQPO,59`OOQO1G.k1G.kOVQPO'#CnO!vQPO,59aOOQO1G.r1G.rOOQO1G.l1G.lOOQO,59X,59XOOQO-E6k-E6kOOQO,59Y,59YOOQO-E6l-E6l",stateData:"#O~OeOS~OQSORSOSSOTSOWQO_ROgPO~OVXOgUO~O^[O~PVO[^O~O]_OVhX~OVaO~O]bO^iX~O^dO~O]_OVha~O]bO^ia~O",goto:"!kjPPPPPPkPPkqwPPPPk{!RPPP!XP!e!hXSOR^bQWQRf_TVQ_Q`WRg`QcZRicQTOQZRQe^RhbRYQR]R",nodeNames:"\u26A0 JsonText True False Null Number String } { Object Property PropertyName : , ] [ Array",maxTerm:25,nodeProps:[["isolate",-2,6,11,""],["openedBy",7,"{",14,"["],["closedBy",8,"}",15,"]"]],propSources:[Rw],skippedNodes:[0],repeatNodeCount:2,tokenData:"(|~RaXY!WYZ!W]^!Wpq!Wrs!]|}$u}!O$z!Q!R%T!R![&c![!]&t!}#O&y#P#Q'O#Y#Z'T#b#c'r#h#i(Z#o#p(r#q#r(w~!]Oe~~!`Wpq!]qr!]rs!xs#O!]#O#P!}#P;'S!];'S;=`$o<%lO!]~!}Og~~#QXrs!]!P!Q!]#O#P!]#U#V!]#Y#Z!]#b#c!]#f#g!]#h#i!]#i#j#m~#pR!Q![#y!c!i#y#T#Z#y~#|R!Q![$V!c!i$V#T#Z$V~$YR!Q![$c!c!i$c#T#Z$c~$fR!Q![!]!c!i!]#T#Z!]~$rP;=`<%l!]~$zO]~~$}Q!Q!R%T!R![&c~%YRT~!O!P%c!g!h%w#X#Y%w~%fP!Q![%i~%nRT~!Q![%i!g!h%w#X#Y%w~%zR{|&T}!O&T!Q![&Z~&WP!Q![&Z~&`PT~!Q![&Z~&hST~!O!P%c!Q![&c!g!h%w#X#Y%w~&yO[~~'OO_~~'TO^~~'WP#T#U'Z~'^P#`#a'a~'dP#g#h'g~'jP#X#Y'm~'rOR~~'uP#i#j'x~'{P#`#a(O~(RP#`#a(U~(ZOS~~(^P#f#g(a~(dP#i#j(g~(jP#X#Y(m~(rOQ~~(wOW~~(|OV~",tokenizers:[0],topRules:{JsonText:[0,1]},tokenPrec:0});var Aw=Xe.define({name:"json",parser:Im.configure({props:[Pe.add({Object:Bt({except:/^\s*\}/}),Array:Bt({except:/^\s*\]/})}),_e.add({"Object Array":ut})]}),languageData:{closeBrackets:{brackets:["[","{",'"']},indentOnInput:/^\s*[\}\]]$/}});function Bm(){return new me(Aw)}function po(i){for(var e={},t=0;t~^?!",Mw=":;,.(){}[]",Ww=/^\-?0b[01][01_]*/,jw=/^\-?0o[0-7][0-7_]*/,Vw=/^\-?0x[\dA-Fa-f][\dA-Fa-f_]*(?:(?:\.[\dA-Fa-f][\dA-Fa-f_]*)?[Pp]\-?\d[\d_]*)?/,Dw=/^\-?\d[\d_]*(?:\.\d[\d_]*)?(?:[Ee]\-?\d[\d_]*)?/,Yw=/^\$\d+|(`?)[_A-Za-z][_A-Za-z$0-9]*\1/,Iw=/^\.(?:\$\d+|(`?)[_A-Za-z][_A-Za-z$0-9]*\1)/,Bw=/^\#[A-Za-z]+/,Uw=/^@(?:\$\d+|(`?)[_A-Za-z][_A-Za-z$0-9]*\1)/;function Um(i,e,t){if(i.sol()&&(e.indented=i.indentation()),i.eatSpace())return null;var n=i.peek();if(n=="/"){if(i.match("//"))return i.skipToEnd(),"comment";if(i.match("/*"))return e.tokenize.push(lh),lh(i,e)}if(i.match(Bw))return"builtin";if(i.match(Uw))return"attribute";if(i.match(Ww)||i.match(jw)||i.match(Vw)||i.match(Dw))return"number";if(i.match(Iw))return"property";if(Lw.indexOf(n)>-1)return i.next(),"operator";if(Mw.indexOf(n)>-1)return i.next(),i.match(".."),"punctuation";var r;if(r=i.match(/("""|"|')/)){var s=Nw.bind(null,r[0]);return e.tokenize.push(s),s(i,e)}if(i.match(Yw)){var o=i.current();return zw.hasOwnProperty(o)?"type":qw.hasOwnProperty(o)?"atom":Zw.hasOwnProperty(o)?(Ew.hasOwnProperty(o)&&(e.prev="define"),"keyword"):t=="define"?"def":"variable"}return i.next(),null}function Gw(){var i=0;return function(e,t,n){var r=Um(e,t,n);if(r=="punctuation"){if(e.current()=="(")++i;else if(e.current()==")"){if(i==0)return e.backUp(1),t.tokenize.pop(),t.tokenize[t.tokenize.length-1](e,t);--i}}return r}}function Nw(i,e,t){for(var n=i.length==1,r,s=!1;r=e.peek();)if(s){if(e.next(),r=="(")return t.tokenize.push(Gw()),"string";s=!1}else{if(e.match(i))return t.tokenize.pop(),"string";e.next(),s=r=="\\"}return n&&t.tokenize.pop(),"string"}function lh(i,e){for(var t;t=i.next();)if(t==="/"&&i.eat("*"))e.tokenize.push(lh);else if(t==="*"&&i.eat("/")){e.tokenize.pop();break}return"comment"}function Fw(i,e,t){this.prev=i,this.align=e,this.indented=t}function Hw(i,e){var t=e.match(/^\s*($|\/[\/\*]|[)}\]])/,!1)?null:e.column()+1;i.context=new Fw(i.context,t,i.indented)}function Kw(i){i.context&&(i.indented=i.context.indented,i.context=i.context.prev)}var Gm={name:"swift",startState:function(){return{prev:null,context:null,indented:0,tokenize:[]}},token:function(i,e){var t=e.prev;e.prev=null;var n=e.tokenize[e.tokenize.length-1]||Um,r=n(i,e,t);if(!r||r=="comment"?e.prev=t:e.prev||(e.prev=r),r=="punctuation"){var s=/[\(\[\{]|([\]\)\}])/.exec(i.current());s&&(s[1]?Kw:Hw)(e,i)}return r},indent:function(i,e,t){var n=i.context;if(!n)return 0;var r=/^[\]\}\)]/.test(e);return n.align!=null?n.align-(r?1:0):n.indented+(r?0:t.unit)},languageData:{indentOnInput:/^\s*[\)\}\]]$/,commentTokens:{line:"//",block:{open:"/*",close:"*/"}},closeBrackets:{brackets:["(","[","{","'",'"',"`"]}}};var ch={};function hh(i,e){for(var t=0;t1&&i.eat("$");var t=i.next();return/['"({]/.test(t)?(e.tokens[0]=mo(t,t=="("?"quote":t=="{"?"def":"string"),_n(i,e)):(/\d/.test(t)||i.eatWhile(/\w/),e.tokens.shift(),"def")};function tP(i){return function(e,t){return e.sol()&&e.string==i&&t.tokens.shift(),e.skipToEnd(),"string.special"}}function _n(i,e){return(e.tokens[0]||Jw)(i,e)}var Jm={name:"shell",startState:function(){return{tokens:[]}},token:function(i,e){return _n(i,e)},languageData:{autocomplete:Nm.concat(Fm,Hm),closeBrackets:{brackets:["(","[","{","'",'"',"`"]},commentTokens:{line:"#"}}};var iP=["true","false","on","off","yes","no"],nP=new RegExp("\\b(("+iP.join(")|(")+"))$","i"),eg={name:"yaml",token:function(i,e){var t=i.peek(),n=e.escaped;if(e.escaped=!1,t=="#"&&(i.pos==0||/\s/.test(i.string.charAt(i.pos-1))))return i.skipToEnd(),"comment";if(i.match(/^('([^']|\\.)*'?|"([^"]|\\.)*"?)/))return"string";if(e.literal&&i.indentation()>e.keyCol)return i.skipToEnd(),"string";if(e.literal&&(e.literal=!1),i.sol()){if(e.keyCol=0,e.pair=!1,e.pairStart=!1,i.match("---")||i.match("..."))return"def";if(i.match(/^\s*-\s+/))return"meta"}if(i.match(/^(\{|\}|\[|\])/))return t=="{"?e.inlinePairs++:t=="}"?e.inlinePairs--:t=="["?e.inlineList++:e.inlineList--,"meta";if(e.inlineList>0&&!n&&t==",")return i.next(),"meta";if(e.inlinePairs>0&&!n&&t==",")return e.keyCol=0,e.pair=!1,e.pairStart=!1,i.next(),"meta";if(e.pairStart){if(i.match(/^\s*(\||\>)\s*/))return e.literal=!0,"meta";if(i.match(/^\s*(\&|\*)[a-z0-9\._-]+\b/i))return"variable";if(e.inlinePairs==0&&i.match(/^\s*-?[0-9\.\,]+\s?$/)||e.inlinePairs>0&&i.match(/^\s*-?[0-9\.\,]+\s?(?=(,|}))/))return"number";if(i.match(nP))return"keyword"}return!e.pair&&i.match(/^\s*(?:[,\[\]{}&*!|>'"%@`][^\s'":]|[^,\[\]{}#&*!|>'"%@`])[^#]*?(?=\s*:($|\s))/)?(e.pair=!0,e.keyCol=i.indentation(),"atom"):e.pair&&i.match(/^:\s*/)?(e.pairStart=!0,"meta"):(e.pairStart=!1,e.escaped=t=="\\",i.next(),null)},startState:function(){return{pair:!1,pairStart:!1,keyCol:0,inlinePairs:0,inlineList:0,literal:!1,escaped:!1}},languageData:{commentTokens:{line:"#"}}};var rP={break:!0,case:!0,chan:!0,const:!0,continue:!0,default:!0,defer:!0,else:!0,fallthrough:!0,for:!0,func:!0,go:!0,goto:!0,if:!0,import:!0,interface:!0,map:!0,package:!0,range:!0,return:!0,select:!0,struct:!0,switch:!0,type:!0,var:!0,bool:!0,byte:!0,complex64:!0,complex128:!0,float32:!0,float64:!0,int8:!0,int16:!0,int32:!0,int64:!0,string:!0,uint8:!0,uint16:!0,uint32:!0,uint64:!0,int:!0,uint:!0,uintptr:!0,error:!0,rune:!0,any:!0,comparable:!0},sP={true:!0,false:!0,iota:!0,nil:!0,append:!0,cap:!0,close:!0,complex:!0,copy:!0,delete:!0,imag:!0,len:!0,make:!0,new:!0,panic:!0,print:!0,println:!0,real:!0,recover:!0},tg=/[+\-*&^%:=<>!|\/]/,ti;function go(i,e){var t=i.next();if(t=='"'||t=="'"||t=="`")return e.tokenize=oP(t),e.tokenize(i,e);if(/[\d\.]/.test(t))return t=="."?i.match(/^[0-9]+([eE][\-+]?[0-9]+)?/):t=="0"?i.match(/^[xX][0-9a-fA-F]+/)||i.match(/^0[0-7]+/):i.match(/^[0-9]*\.?[0-9]*([eE][\-+]?[0-9]+)?/),"number";if(/[\[\]{}\(\),;\:\.]/.test(t))return ti=t,null;if(t=="/"){if(i.eat("*"))return e.tokenize=ig,ig(i,e);if(i.eat("/"))return i.skipToEnd(),"comment"}if(tg.test(t))return i.eatWhile(tg),"operator";i.eatWhile(/[\w\$_\xa1-\uffff]/);var n=i.current();return rP.propertyIsEnumerable(n)?((n=="case"||n=="default")&&(ti="case"),"keyword"):sP.propertyIsEnumerable(n)?"atom":"variable"}function oP(i){return function(e,t){for(var n=!1,r,s=!1;(r=e.next())!=null;){if(r==i&&!n){s=!0;break}n=!n&&i!="`"&&r=="\\"}return(s||!(n||i=="`"))&&(t.tokenize=go),"string"}}function ig(i,e){for(var t=!1,n;n=i.next();){if(n=="/"&&t){e.tokenize=go;break}t=n=="*"}return"comment"}function rg(i,e,t,n,r){this.indented=i,this.column=e,this.type=t,this.align=n,this.prev=r}function fh(i,e,t){return i.context=new rg(i.indented,e,t,null,i.context)}function ng(i){if(i.context.prev){var e=i.context.type;return(e==")"||e=="]"||e=="}")&&(i.indented=i.context.indented),i.context=i.context.prev}}var sg={name:"go",startState:function(i){return{tokenize:null,context:new rg(-i,0,"top",!1),indented:0,startOfLine:!0}},token:function(i,e){var t=e.context;if(i.sol()&&(t.align==null&&(t.align=!1),e.indented=i.indentation(),e.startOfLine=!0,t.type=="case"&&(t.type="}")),i.eatSpace())return null;ti=null;var n=(e.tokenize||go)(i,e);return n=="comment"||(t.align==null&&(t.align=!0),ti=="{"?fh(e,i.column(),"}"):ti=="["?fh(e,i.column(),"]"):ti=="("?fh(e,i.column(),")"):ti=="case"?t.type="case":(ti=="}"&&t.type=="}"||ti==t.type)&&ng(e),e.startOfLine=!1),n},indent:function(i,e,t){if(i.tokenize!=go&&i.tokenize!=null)return null;var n=i.context,r=e&&e.charAt(0);if(n.type=="case"&&/^(?:case|default)\b/.test(e))return n.indented;var s=r==n.type;return n.align?n.column+(s?0:1):n.indented+(s?0:t.unit)},languageData:{indentOnInput:/^\s([{}]|case |default\s*:)$/,commentTokens:{line:"//",block:{open:"/*",close:"*/"}}}};function Oh(i){for(var e={},t=0,n=i.length;t]/)?(i.eat(/[\<\>]/),"atom"):i.eat(/[\+\-\*\/\&\|\:\!]/)?"atom":i.eat(/[a-zA-Z$@_\xa1-\uffff]/)?(i.eatWhile(/[\w$\xa1-\uffff]/),i.eat(/[\?\!\=]/),"atom"):"operator";if(t=="@"&&i.match(/^@?[a-zA-Z_\xa1-\uffff]/))return i.eat("@"),i.eatWhile(/[\w\xa1-\uffff]/),"propertyName";if(t=="$")return i.eat(/[a-zA-Z_]/)?i.eatWhile(/[\w]/):i.eat(/\d/)?i.eat(/\d/):i.next(),"variableName.special";if(/[a-zA-Z_\xa1-\uffff]/.test(t))return i.eatWhile(/[\w\xa1-\uffff]/),i.eat(/[\?\!]/),i.eat(":")?"atom":"variable";if(t=="|"&&(e.varList||e.lastTok=="{"||e.lastTok=="do"))return $t="|",null;if(/[\(\)\[\]{}\\;]/.test(t))return $t=t,null;if(t=="-"&&i.eat(">"))return"operator";if(/[=+\-\/*:\.^%<>~|]/.test(t)){var a=i.eatWhile(/[=+\-\/*:\.^%<>~|]/);return t=="."&&!a&&($t="."),"operator"}else return null}}}function fP(i){for(var e=i.pos,t=0,n,r=!1,s=!1;(n=i.next())!=null;)if(s)s=!1;else{if("[{(".indexOf(n)>-1)t++;else if("]})".indexOf(n)>-1){if(t--,t<0)break}else if(n=="/"&&t==0){r=!0;break}s=n=="\\"}return i.backUp(i.pos-e),r}function uh(i){return i||(i=1),function(e,t){if(e.peek()=="}"){if(i==1)return t.tokenize.pop(),t.tokenize[t.tokenize.length-1](e,t);t.tokenize[t.tokenize.length-1]=uh(i-1)}else e.peek()=="{"&&(t.tokenize[t.tokenize.length-1]=uh(i+1));return Qo(e,t)}}function uP(){var i=!1;return function(e,t){return i?(t.tokenize.pop(),t.tokenize[t.tokenize.length-1](e,t)):(i=!0,Qo(e,t))}}function Ar(i,e,t,n){return function(r,s){var o=!1,a;for(s.context.type==="read-quoted-paused"&&(s.context=s.context.prev,r.eat("}"));(a=r.next())!=null;){if(a==i&&(n||!o)){s.tokenize.pop();break}if(t&&a=="#"&&!o){if(r.eat("{")){i=="}"&&(s.context={prev:s.context,type:"read-quoted-paused"}),s.tokenize.push(uh());break}else if(/[@\$]/.test(r.peek())){s.tokenize.push(uP());break}}o=!o&&a=="\\"}return e}}function OP(i,e){return function(t,n){return e&&t.eatSpace(),t.match(i)?n.tokenize.pop():t.skipToEnd(),"string"}}function dP(i,e){return i.sol()&&i.match("=end")&&i.eol()&&e.tokenize.pop(),i.skipToEnd(),"comment"}var lg={name:"ruby",startState:function(i){return{tokenize:[Qo],indented:0,context:{type:"top",indented:-i},continuedLine:!1,lastTok:null,varList:!1}},token:function(i,e){$t=null,i.sol()&&(e.indented=i.indentation());var t=e.tokenize[e.tokenize.length-1](i,e),n,r=$t;if(t=="variable"){var s=i.current();t=e.lastTok=="."?"property":aP.propertyIsEnumerable(i.current())?"keyword":/^[A-Z]/.test(s)?"tag":e.lastTok=="def"||e.lastTok=="class"||e.varList?"def":"variable",t=="keyword"&&(r=s,lP.propertyIsEnumerable(s)?n="indent":cP.propertyIsEnumerable(s)?n="dedent":((s=="if"||s=="unless")&&i.column()==i.indentation()||s=="do"&&e.context.indented2&&o.token&&typeof o.token!="string"){t.pending=[];for(var c=2;c-1)return null;var r=t.indent.length-1,s=i[t.state];e:for(;;){for(var o=0;o!]+/,token:"operator"},{regex:/[a-zA-Z_]\w*!/,token:"macroName"},{regex:/[a-zA-Z_]\w*/,token:"variable"},{regex:/[\{\[\(]/,indent:!0},{regex:/[\}\]\)]/,dedent:!0}],string:[{regex:/"/,token:"string",next:"start"},{regex:/(?:[^\\"]|\\(?:.|$))*/,token:"string"}],string_raw:[{regex:/"/,token:"string",next:"start"},{regex:/[^"]*/,token:"string"}],string_raw_hash:[{regex:/"#+/,token:"string",next:"start"},{regex:/(?:[^"]|"(?!#))*/,token:"string"}],comment:[{regex:/.*?\*\//,token:"comment",next:"start"},{regex:/.*/,token:"comment"}],languageData:{name:"rust",dontIndentStates:["comment"],indentOnInput:/^\s*\}$/,commentTokens:{line:"//",block:{open:"/*",close:"*/"}}}});function mh(i,e,t,n,r,s){this.indented=i,this.column=e,this.type=t,this.info=n,this.align=r,this.prev=s}function bo(i,e,t,n){var r=i.indented;return i.context&&i.context.type=="statement"&&t!="statement"&&(r=i.context.indented),i.context=new mh(r,e,t,n,null,i.context)}function Zr(i){var e=i.context.type;return(e==")"||e=="]"||e=="}")&&(i.indented=i.context.indented),i.context=i.context.prev}function ug(i,e,t){if(e.prevToken=="variable"||e.prevToken=="type"||/\S(?:[^- ]>|[*\]])\s*$|\*$/.test(i.string.slice(0,t))||e.typeAtEndOfLine&&i.column()==i.indentation())return!0}function dh(i){for(;;){if(!i||i.type=="top")return!0;if(i.type=="}"&&i.prev.info!="namespace")return!1;i=i.prev}}function tt(i){var e=i.statementIndentUnit,t=i.dontAlignCalls,n=i.keywords||{},r=i.types||{},s=i.builtin||{},o=i.blockKeywords||{},a=i.defKeywords||{},l=i.atoms||{},c=i.hooks||{},h=i.multiLineStrings,f=i.indentStatements!==!1,u=i.indentSwitch!==!1,O=i.namespaceSeparator,m=i.isPunctuationChar||/[\[\]{}\(\),;\:\.]/,p=i.numberStart||/[\d\.]/,b=i.number||/^(?:0x[a-f\d]+|0b[01]+|(?:\d+\.?\d*|\.\d+)(?:e[-+]?\d+)?)(u|ll?|l|f)?/i,g=i.isOperatorChar||/[+\-*&%=<>!?|\/]/,Q=i.isIdentifierChar||/[\w\$_\xa1-\uffff]/,S=i.isReservedIdentifier||!1,x,P;function $(T,C){var k=T.next();if(c[k]){var w=c[k](T,C);if(w!==!1)return w}if(k=='"'||k=="'")return C.tokenize=Z(k),C.tokenize(T,C);if(p.test(k)){if(T.backUp(1),T.match(b))return"number";T.next()}if(m.test(k))return x=k,null;if(k=="/"){if(T.eat("*"))return C.tokenize=X,X(T,C);if(T.eat("/"))return T.skipToEnd(),"comment"}if(g.test(k)){for(;!T.match(/^\/[\/*]/,!1)&&T.eat(g););return"operator"}if(T.eatWhile(Q),O)for(;T.match(O);)T.eatWhile(Q);var z=T.current();return ii(n,z)?(ii(o,z)&&(x="newstatement"),ii(a,z)&&(P=!0),"keyword"):ii(r,z)?"type":ii(s,z)||S&&S(z)?(ii(o,z)&&(x="newstatement"),"builtin"):ii(l,z)?"atom":"variable"}function Z(T){return function(C,k){for(var w=!1,z,N=!1;(z=C.next())!=null;){if(z==T&&!w){N=!0;break}w=!w&&z=="\\"}return(N||!(w||h))&&(k.tokenize=null),"string"}}function X(T,C){for(var k=!1,w;w=T.next();){if(w=="/"&&k){C.tokenize=null;break}k=w=="*"}return"comment"}function W(T,C){i.typeFirstDefinitions&&T.eol()&&dh(C.context)&&(C.typeAtEndOfLine=ug(T,C,T.pos))}return{name:i.name,startState:function(T){return{tokenize:null,context:new mh(-T,0,"top",null,!1),indented:0,startOfLine:!0,prevToken:null}},token:function(T,C){var k=C.context;if(T.sol()&&(k.align==null&&(k.align=!1),C.indented=T.indentation(),C.startOfLine=!0),T.eatSpace())return W(T,C),null;x=P=null;var w=(C.tokenize||$)(T,C);if(w=="comment"||w=="meta")return w;if(k.align==null&&(k.align=!0),x==";"||x==":"||x==","&&T.match(/^\s*(?:\/\/.*)?$/,!1))for(;C.context.type=="statement";)Zr(C);else if(x=="{")bo(C,T.column(),"}");else if(x=="[")bo(C,T.column(),"]");else if(x=="(")bo(C,T.column(),")");else if(x=="}"){for(;k.type=="statement";)k=Zr(C);for(k.type=="}"&&(k=Zr(C));k.type=="statement";)k=Zr(C)}else x==k.type?Zr(C):f&&((k.type=="}"||k.type=="top")&&x!=";"||k.type=="statement"&&x=="newstatement")&&bo(C,T.column(),"statement",T.current());if(w=="variable"&&(C.prevToken=="def"||i.typeFirstDefinitions&&ug(T,C,T.start)&&dh(C.context)&&T.match(/^\s*\(/,!1))&&(w="def"),c.token){var z=c.token(T,C,w);z!==void 0&&(w=z)}return w=="def"&&i.styleDefs===!1&&(w="variable"),C.startOfLine=!1,C.prevToken=P?"def":w||x,W(T,C),w},indent:function(T,C,k){if(T.tokenize!=$&&T.tokenize!=null||T.typeAtEndOfLine&&dh(T.context))return null;var w=T.context,z=C&&C.charAt(0),N=z==w.type;if(w.type=="statement"&&z=="}"&&(w=w.prev),i.dontIndentStatements)for(;w.type=="statement"&&i.dontIndentStatements.test(w.info);)w=w.prev;if(c.indent){var y=c.indent(T,w,C,k.unit);if(typeof y=="number")return y}var j=w.prev&&w.prev.info=="switch";if(i.allmanIndentation&&/[{(]/.test(z)){for(;w.type!="top"&&w.type!="}";)w=w.prev;return w.indented}return w.type=="statement"?w.indented+(z=="{"?0:e||k.unit):w.align&&(!t||w.type!=")")?w.column+(N?0:1):w.type==")"&&!N?w.indented+(e||k.unit):w.indented+(N?0:k.unit)+(!N&&j&&!/^(?:case|default)\b/.test(C)?k.unit:0)},languageData:{indentOnInput:u?/^\s*(?:case .*?:|default:|\{\}?|\})$/:/^\s*[{}]$/,commentTokens:{line:"//",block:{open:"/*",close:"*/"}},autocomplete:Object.keys(n).concat(Object.keys(r)).concat(Object.keys(s)).concat(Object.keys(l)),...i.languageData}}}function V(i){for(var e={},t=i.split(" "),n=0;n!?|\/#:@]/,hooks:{"@":function(i){return i.eatWhile(/[\w\$_]/),"meta"},'"':function(i,e){return i.match('""')?(e.tokenize=wg,e.tokenize(i,e)):!1},"'":function(i){return i.match(/^(\\[^'\s]+|[^\\'])'/)?"character":(i.eatWhile(/[\w\$_\xa1-\uffff]/),"atom")},"=":function(i,e){var t=e.context;return t.type=="}"&&t.align&&i.eat(">")?(e.context=new mh(t.indented,t.column,t.type,t.info,null,t.prev),"operator"):!1},"/":function(i,e){return i.eat("*")?(e.tokenize=Er(1),e.tokenize(i,e)):!1}},languageData:{closeBrackets:{brackets:["(","[","{","'",'"','"""']}}});function kP(i){return function(e,t){for(var n=!1,r,s=!1;!e.eol();){if(!i&&!n&&e.match('"')){s=!0;break}if(i&&e.match('"""')){s=!0;break}r=e.next(),!n&&r=="$"&&e.match("{")&&e.skipTo("}"),n=!n&&r=="\\"&&!i}return(s||!i)&&(t.tokenize=null),"string"}}var Pg=tt({name:"kotlin",keywords:V("package as typealias class interface this super val operator var fun for is in This throw return annotation break continue object if else while do try when !in !is as? file import where by get set abstract enum open inner override private public internal protected catch finally out final vararg reified dynamic companion constructor init sealed field property receiver param sparam lateinit data inline noinline tailrec external annotation crossinline const operator infix suspend actual expect setparam"),types:V("Boolean Byte Character CharSequence Class ClassLoader Cloneable Comparable Compiler Double Exception Float Integer Long Math Number Object Package Pair Process Runtime Runnable SecurityManager Short StackTraceElement StrictMath String StringBuffer System Thread ThreadGroup ThreadLocal Throwable Triple Void Annotation Any BooleanArray ByteArray Char CharArray DeprecationLevel DoubleArray Enum FloatArray Function Int IntArray Lazy LazyThreadSafetyMode LongArray Nothing ShortArray Unit"),intendSwitch:!1,indentStatements:!1,multiLineStrings:!0,number:/^(?:0x[a-f\d_]+|0b[01_]+|(?:[\d_]+(\.\d+)?|\.\d+)(?:e[-+]?[\d_]+)?)(ul?|l|f)?/i,blockKeywords:V("catch class do else finally for if where try while enum"),defKeywords:V("class val var object interface fun"),atoms:V("true false null this"),hooks:{"@":function(i){return i.eatWhile(/[\w\$_]/),"meta"},"*":function(i,e){return e.prevToken=="."?"variable":"operator"},'"':function(i,e){return e.tokenize=kP(i.match('""')),e.tokenize(i,e)},"/":function(i,e){return i.eat("*")?(e.tokenize=Er(1),e.tokenize(i,e)):!1},indent:function(i,e,t,n){var r=t&&t.charAt(0);if((i.prevToken=="}"||i.prevToken==")")&&t=="")return i.indented;if(i.prevToken=="operator"&&t!="}"&&i.context.type!="}"||i.prevToken=="variable"&&r=="."||(i.prevToken=="}"||i.prevToken==")")&&r==".")return n*2+e.indented;if(e.align&&e.type=="}")return e.indented+(i.context.type==(t||"").charAt(0)?0:n)}},languageData:{closeBrackets:{brackets:["(","[","{","'",'"','"""']}}}),hC=tt({name:"shader",keywords:V("sampler1D sampler2D sampler3D samplerCube sampler1DShadow sampler2DShadow const attribute uniform varying break continue discard return for while do if else struct in out inout"),types:V("float int bool void vec2 vec3 vec4 ivec2 ivec3 ivec4 bvec2 bvec3 bvec4 mat2 mat3 mat4"),blockKeywords:V("for while do if else struct"),builtin:V("radians degrees sin cos tan asin acos atan pow exp log exp2 sqrt inversesqrt abs sign floor ceil fract mod min max clamp mix step smoothstep length distance dot cross normalize ftransform faceforward reflect refract matrixCompMult lessThan lessThanEqual greaterThan greaterThanEqual equal notEqual any all not texture1D texture1DProj texture1DLod texture1DProjLod texture2D texture2DProj texture2DLod texture2DProjLod texture3D texture3DProj texture3DLod texture3DProjLod textureCube textureCubeLod shadow1D shadow2D shadow1DProj shadow2DProj shadow1DLod shadow2DLod shadow1DProjLod shadow2DProjLod dFdx dFdy fwidth noise1 noise2 noise3 noise4"),atoms:V("true false gl_FragColor gl_SecondaryColor gl_Normal gl_Vertex gl_MultiTexCoord0 gl_MultiTexCoord1 gl_MultiTexCoord2 gl_MultiTexCoord3 gl_MultiTexCoord4 gl_MultiTexCoord5 gl_MultiTexCoord6 gl_MultiTexCoord7 gl_FogCoord gl_PointCoord gl_Position gl_PointSize gl_ClipVertex gl_FrontColor gl_BackColor gl_FrontSecondaryColor gl_BackSecondaryColor gl_TexCoord gl_FogFragCoord gl_FragCoord gl_FrontFacing gl_FragData gl_FragDepth gl_ModelViewMatrix gl_ProjectionMatrix gl_ModelViewProjectionMatrix gl_TextureMatrix gl_NormalMatrix gl_ModelViewMatrixInverse gl_ProjectionMatrixInverse gl_ModelViewProjectionMatrixInverse gl_TextureMatrixTranspose gl_ModelViewMatrixInverseTranspose gl_ProjectionMatrixInverseTranspose gl_ModelViewProjectionMatrixInverseTranspose gl_TextureMatrixInverseTranspose gl_NormalScale gl_DepthRange gl_ClipPlane gl_Point gl_FrontMaterial gl_BackMaterial gl_LightSource gl_LightModel gl_FrontLightModelProduct gl_BackLightModelProduct gl_TextureColor gl_EyePlaneS gl_EyePlaneT gl_EyePlaneR gl_EyePlaneQ gl_FogParameters gl_MaxLights gl_MaxClipPlanes gl_MaxTextureUnits gl_MaxTextureCoords gl_MaxVertexAttribs gl_MaxVertexUniformComponents gl_MaxVaryingFloats gl_MaxVertexTextureImageUnits gl_MaxTextureImageUnits gl_MaxFragmentUniformComponents gl_MaxCombineTextureImageUnits gl_MaxDrawBuffers"),indentSwitch:!1,hooks:{"#":xi}}),fC=tt({name:"nesc",keywords:V(qr+" as atomic async call command component components configuration event generic implementation includes interface module new norace nx_struct nx_union post provides signal task uses abstract extends"),types:zr,blockKeywords:V(Lr),atoms:V("null true false"),hooks:{"#":xi}}),vg=tt({name:"objectivec",keywords:V(qr+" "+mg),types:Qg,builtin:V(gg),blockKeywords:V(Lr+" @synthesize @try @catch @finally @autoreleasepool @synchronized"),defKeywords:V(yo+" @interface @implementation @protocol @class"),dontIndentStatements:/^@.*$/,typeFirstDefinitions:!0,atoms:V("YES NO NULL Nil nil true false nullptr"),isReservedIdentifier:xo,hooks:{"#":xi,"*":ko}}),uC=tt({name:"objectivecpp",keywords:V(qr+" "+mg+" "+pg),types:Qg,builtin:V(gg),blockKeywords:V(Lr+" @synthesize @try @catch @finally @autoreleasepool @synchronized class try catch"),defKeywords:V(yo+" @interface @implementation @protocol @class class namespace"),dontIndentStatements:/^@.*$|^template$/,typeFirstDefinitions:!0,atoms:V("YES NO NULL Nil nil true false nullptr"),isReservedIdentifier:xo,hooks:{"#":xi,"*":ko,u:ki,U:ki,L:ki,R:ki,0:Se,1:Se,2:Se,3:Se,4:Se,5:Se,6:Se,7:Se,8:Se,9:Se,token:function(i,e,t){if(t=="variable"&&i.peek()=="("&&(e.prevToken==";"||e.prevToken==null||e.prevToken=="}")&&bg(i.current()))return"def"}},namespaceSeparator:"::"}),OC=tt({name:"squirrel",keywords:V("base break clone continue const default delete enum extends function in class foreach local resume return this throw typeof yield constructor instanceof static"),types:zr,blockKeywords:V("case catch class else for foreach if switch try while"),defKeywords:V("function local class"),typeFirstDefinitions:!0,atoms:V("true false null"),hooks:{"#":xi}}),So=null;function $g(i){return function(e,t){for(var n=!1,r,s=!1;!e.eol();){if(!n&&e.match('"')&&(i=="single"||e.match('""'))){s=!0;break}if(!n&&e.match("``")){So=$g(i),s=!0;break}r=e.next(),n=i=="single"&&!n&&r=="\\"}return s&&(t.tokenize=null),"string"}}var dC=tt({name:"ceylon",keywords:V("abstracts alias assembly assert assign break case catch class continue dynamic else exists extends finally for function given if import in interface is let module new nonempty object of out outer package return satisfies super switch then this throw try value void while"),types:function(i){var e=i.charAt(0);return e===e.toUpperCase()&&e!==e.toLowerCase()},blockKeywords:V("case catch class dynamic else finally for function if interface module new object switch try while"),defKeywords:V("class dynamic function interface module object package value"),builtin:V("abstract actual aliased annotation by default deprecated doc final formal late license native optional sealed see serializable shared suppressWarnings tagged throws variable"),isPunctuationChar:/[\[\]{}\(\),;\:\.`]/,isOperatorChar:/[+\-*&%=<>!?|^~:\/]/,numberStart:/[\d#$]/,number:/^(?:#[\da-fA-F_]+|\$[01_]+|[\d_]+[kMGTPmunpf]?|[\d_]+\.[\d_]+(?:[eE][-+]?\d+|[kMGTPmunpf]|)|)/i,multiLineStrings:!0,typeFirstDefinitions:!0,atoms:V("true false null larger smaller equal empty finished"),indentSwitch:!1,styleDefs:!1,hooks:{"@":function(i){return i.eatWhile(/[\w\$_]/),"meta"},'"':function(i,e){return e.tokenize=$g(i.match('""')?"triple":"single"),e.tokenize(i,e)},"`":function(i,e){return!So||!i.match("`")?!1:(e.tokenize=So,So=null,e.tokenize(i,e))},"'":function(i){return i.match(/^(\\[^'\s]+|[^\\'])'/)?"string.special":(i.eatWhile(/[\w\$_\xa1-\uffff]/),"atom")},token:function(i,e,t){if((t=="variable"||t=="type")&&e.prevToken==".")return"variableName.special"}},languageData:{closeBrackets:{brackets:["(","[","{","'",'"','"""']}}});function xP(i){(i.interpolationStack||(i.interpolationStack=[])).push(i.tokenize)}function Tg(i){return(i.interpolationStack||(i.interpolationStack=[])).pop()}function wP(i){return i.interpolationStack?i.interpolationStack.length:0}function ph(i,e,t,n){var r=!1;if(e.eat(i))if(e.eat(i))r=!0;else return"string";function s(o,a){for(var l=!1;!o.eol();){if(!n&&!l&&o.peek()=="$")return xP(a),a.tokenize=PP,"string";var c=o.next();if(c==i&&!l&&(!r||o.match(i+i))){a.tokenize=null;break}l=!n&&!l&&c=="\\"}return"string"}return t.tokenize=s,s(e,t)}function PP(i,e){return i.eat("$"),i.eat("{")?e.tokenize=null:e.tokenize=vP,null}function vP(i,e){return i.eatWhile(/[\w_]/),e.tokenize=Tg(e),"variable"}var pC=tt({name:"dart",keywords:V("this super static final const abstract class extends external factory implements mixin get native set typedef with enum throw rethrow assert break case continue default in return new deferred async await covariant try catch finally do else for if switch while import library export part of show hide is as extension on yield late required sealed base interface when inline"),blockKeywords:V("try catch finally do else for if switch while"),builtin:V("void bool num int double dynamic var String Null Never"),atoms:V("true false null"),number:/^(?:0x[a-f\d_]+|(?:[\d_]+\.?[\d_]*|\.[\d_]+)(?:e[-+]?[\d_]+)?)/i,hooks:{"@":function(i){return i.eatWhile(/[\w\$_\.]/),"meta"},"'":function(i,e){return ph("'",i,e,!1)},'"':function(i,e){return ph('"',i,e,!1)},r:function(i,e){var t=i.peek();return t=="'"||t=='"'?ph(i.next(),i,e,!0):!1},"}":function(i,e){return wP(e)>0?(e.tokenize=Tg(e),null):!1},"/":function(i,e){return i.eat("*")?(e.tokenize=Er(1),e.tokenize(i,e)):!1},token:function(i,e,t){if(t=="variable"){var n=RegExp("^[_$]*[A-Z][a-zA-Z0-9_$]*$","g");if(n.test(i.current()))return"type"}}}});function je(i){var e=i.client||{},t=i.atoms||{false:!0,true:!0,null:!0},n=i.builtin||M(Xg),r=i.keywords||M(Hi),s=i.operatorChars||/^[*+\-%<>!=&|~^\/]/,o=i.support||{},a=i.hooks||{},l=i.dateSQL||{date:!0,time:!0,timestamp:!0},c=i.backslashStringEscapes!==!1,h=i.brackets||/^[\{}\(\)\[\]]/,f=i.punctuation||/^[;.,:]/;function u(g,Q){var S=g.next();if(a[S]){var x=a[S](g,Q);if(x!==!1)return x}if(o.hexNumber&&(S=="0"&&g.match(/^[xX][0-9a-fA-F]+/)||(S=="x"||S=="X")&&g.match(/^'[0-9a-fA-F]*'/)))return"number";if(o.binaryNumber&&((S=="b"||S=="B")&&g.match(/^'[01]+'/)||S=="0"&&g.match(/^b[01]*/)))return"number";if(S.charCodeAt(0)>47&&S.charCodeAt(0)<58)return g.match(/^[0-9]*(\.[0-9]+)?([eE][-+]?[0-9]+)?/),o.decimallessFloat&&g.match(/^\.(?!\.)/),"number";if(S=="?"&&(g.eatSpace()||g.eol()||g.eat(";")))return"macroName";if(S=="'"||S=='"'&&o.doubleQuote)return Q.tokenize=O(S),Q.tokenize(g,Q);if((o.nCharCast&&(S=="n"||S=="N")||o.charsetCast&&S=="_"&&g.match(/[a-z][a-z0-9]*/i))&&(g.peek()=="'"||g.peek()=='"'))return"keyword";if(o.escapeConstant&&(S=="e"||S=="E")&&(g.peek()=="'"||g.peek()=='"'&&o.doubleQuote))return Q.tokenize=function($,Z){return(Z.tokenize=O($.next(),!0))($,Z)},"keyword";if(o.commentSlashSlash&&S=="/"&&g.eat("/"))return g.skipToEnd(),"comment";if(o.commentHash&&S=="#"||S=="-"&&g.eat("-")&&(!o.commentSpaceRequired||g.eat(" ")))return g.skipToEnd(),"comment";if(S=="/"&&g.eat("*"))return Q.tokenize=m(1),Q.tokenize(g,Q);if(S=="."){if(o.zerolessFloat&&g.match(/^(?:\d+(?:e[+-]?\d+)?)/i))return"number";if(g.match(/^\.+/))return null;if(o.ODBCdotTable&&g.match(/^[\w\d_$#]+/))return"type"}else{if(s.test(S))return g.eatWhile(s),"operator";if(h.test(S))return"bracket";if(f.test(S))return g.eatWhile(f),"punctuation";if(S=="{"&&(g.match(/^( )*(d|D|t|T|ts|TS)( )*'[^']*'( )*}/)||g.match(/^( )*(d|D|t|T|ts|TS)( )*"[^"]*"( )*}/)))return"number";g.eatWhile(/^[_\w\d]/);var P=g.current().toLowerCase();return l.hasOwnProperty(P)&&(g.match(/^( )+'[^']*'/)||g.match(/^( )+"[^"]*"/))?"number":t.hasOwnProperty(P)?"atom":n.hasOwnProperty(P)?"type":r.hasOwnProperty(P)?"keyword":e.hasOwnProperty(P)?"builtin":null}}function O(g,Q){return function(S,x){for(var P=!1,$;($=S.next())!=null;){if($==g&&!P){x.tokenize=u;break}P=(c||Q)&&!P&&$=="\\"}return"string"}}function m(g){return function(Q,S){var x=Q.match(/^.*?(\/\*|\*\/)/);return x?x[1]=="/*"?S.tokenize=m(g+1):g>1?S.tokenize=m(g-1):S.tokenize=u:Q.skipToEnd(),"comment"}}function p(g,Q,S){Q.context={prev:Q.context,indent:g.indentation(),col:g.column(),type:S}}function b(g){g.indent=g.context.indent,g.context=g.context.prev}return{name:"sql",startState:function(){return{tokenize:u,context:null}},token:function(g,Q){if(g.sol()&&Q.context&&Q.context.align==null&&(Q.context.align=!1),Q.tokenize==u&&g.eatSpace())return null;var S=Q.tokenize(g,Q);if(S=="comment")return S;Q.context&&Q.context.align==null&&(Q.context.align=!0);var x=g.current();return x=="("?p(g,Q,")"):x=="["?p(g,Q,"]"):Q.context&&Q.context.type==x&&b(Q),S},indent:function(g,Q,S){var x=g.context;if(!x)return null;var P=Q.charAt(0)==x.type;return x.align?x.col+(P?0:1):x.indent+(P?0:S.unit)},languageData:{commentTokens:{line:o.commentSlashSlash?"//":o.commentHash?"#":"--",block:{open:"/*",close:"*/"}},closeBrackets:{brackets:["(","[","{","'",'"',"`"]}}}}function gh(i){for(var e;(e=i.next())!=null;)if(e=="`"&&!i.eat("`"))return"string.special";return i.backUp(i.current().length-1),i.eatWhile(/\w/)?"string.special":null}function $P(i){for(var e;(e=i.next())!=null;)if(e=='"'&&!i.eat('"'))return"string.special";return i.backUp(i.current().length-1),i.eatWhile(/\w/)?"string.special":null}function Fi(i){return i.eat("@")&&(i.match("session."),i.match("local."),i.match("global.")),i.eat("'")?(i.match(/^.*'/),"string.special"):i.eat('"')?(i.match(/^.*"/),"string.special"):i.eat("`")?(i.match(/^.*`/),"string.special"):i.match(/^[0-9a-zA-Z$\.\_]+/)?"string.special":null}function Cg(i){return i.eat("N")?"atom":i.match(/^[a-zA-Z.#!?]/)?"string.special":null}var Hi="alter and as asc between by count create delete desc distinct drop from group having in insert into is join like not on or order select set table union update values where limit ";function M(i){for(var e={},t=i.split(" "),n=0;n!=^\&|\/]/,brackets:/^[\{}\(\)]/,punctuation:/^[;.,:/]/,backslashStringEscapes:!1,dateSQL:M("date datetimeoffset datetime2 smalldatetime datetime time"),hooks:{"@":Fi}}),bC=je({client:M("charset clear connect edit ego exit go help nopager notee nowarning pager print prompt quit rehash source status system tee"),keywords:M(Hi+"accessible action add after algorithm all analyze asensitive at authors auto_increment autocommit avg avg_row_length before binary binlog both btree cache call cascade cascaded case catalog_name chain change changed character check checkpoint checksum class_origin client_statistics close coalesce code collate collation collations column columns comment commit committed completion concurrent condition connection consistent constraint contains continue contributors convert cross current current_date current_time current_timestamp current_user cursor data database databases day_hour day_microsecond day_minute day_second deallocate dec declare default delay_key_write delayed delimiter des_key_file describe deterministic dev_pop dev_samp deviance diagnostics directory disable discard distinctrow div dual dumpfile each elseif enable enclosed end ends engine engines enum errors escape escaped even event events every execute exists exit explain extended fast fetch field fields first flush for force foreign found_rows full fulltext function general get global grant grants group group_concat handler hash help high_priority hosts hour_microsecond hour_minute hour_second if ignore ignore_server_ids import index index_statistics infile inner innodb inout insensitive insert_method install interval invoker isolation iterate key keys kill language last leading leave left level limit linear lines list load local localtime localtimestamp lock logs low_priority master master_heartbeat_period master_ssl_verify_server_cert masters match max max_rows maxvalue message_text middleint migrate min min_rows minute_microsecond minute_second mod mode modifies modify mutex mysql_errno natural next no no_write_to_binlog offline offset one online open optimize option optionally out outer outfile pack_keys parser partition partitions password phase plugin plugins prepare preserve prev primary privileges procedure processlist profile profiles purge query quick range read read_write reads real rebuild recover references regexp relaylog release remove rename reorganize repair repeatable replace require resignal restrict resume return returns revoke right rlike rollback rollup row row_format rtree savepoint schedule schema schema_name schemas second_microsecond security sensitive separator serializable server session share show signal slave slow smallint snapshot soname spatial specific sql sql_big_result sql_buffer_result sql_cache sql_calc_found_rows sql_no_cache sql_small_result sqlexception sqlstate sqlwarning ssl start starting starts status std stddev stddev_pop stddev_samp storage straight_join subclass_origin sum suspend table_name table_statistics tables tablespace temporary terminated to trailing transaction trigger triggers truncate uncommitted undo uninstall unique unlock upgrade usage use use_frm user user_resources user_statistics using utc_date utc_time utc_timestamp value variables varying view views warnings when while with work write xa xor year_month zerofill begin do then else loop repeat"),builtin:M("bool boolean bit blob decimal double float long longblob longtext medium mediumblob mediumint mediumtext time timestamp tinyblob tinyint tinytext text bigint int int1 int2 int3 int4 int8 integer float float4 float8 double char varbinary varchar varcharacter precision date datetime year unsigned signed numeric"),atoms:M("false true null unknown"),operatorChars:/^[*+\-%<>!=&|^]/,dateSQL:M("date time timestamp"),support:M("ODBCdotTable decimallessFloat zerolessFloat binaryNumber hexNumber doubleQuote nCharCast charsetCast commentHash commentSpaceRequired"),hooks:{"@":Fi,"`":gh,"\\":Cg}}),SC=je({client:M("charset clear connect edit ego exit go help nopager notee nowarning pager print prompt quit rehash source status system tee"),keywords:M(Hi+"accessible action add after algorithm all always analyze asensitive at authors auto_increment autocommit avg avg_row_length before binary binlog both btree cache call cascade cascaded case catalog_name chain change changed character check checkpoint checksum class_origin client_statistics close coalesce code collate collation collations column columns comment commit committed completion concurrent condition connection consistent constraint contains continue contributors convert cross current current_date current_time current_timestamp current_user cursor data database databases day_hour day_microsecond day_minute day_second deallocate dec declare default delay_key_write delayed delimiter des_key_file describe deterministic dev_pop dev_samp deviance diagnostics directory disable discard distinctrow div dual dumpfile each elseif enable enclosed end ends engine engines enum errors escape escaped even event events every execute exists exit explain extended fast fetch field fields first flush for force foreign found_rows full fulltext function general generated get global grant grants group group_concat handler hard hash help high_priority hosts hour_microsecond hour_minute hour_second if ignore ignore_server_ids import index index_statistics infile inner innodb inout insensitive insert_method install interval invoker isolation iterate key keys kill language last leading leave left level limit linear lines list load local localtime localtimestamp lock logs low_priority master master_heartbeat_period master_ssl_verify_server_cert masters match max max_rows maxvalue message_text middleint migrate min min_rows minute_microsecond minute_second mod mode modifies modify mutex mysql_errno natural next no no_write_to_binlog offline offset one online open optimize option optionally out outer outfile pack_keys parser partition partitions password persistent phase plugin plugins prepare preserve prev primary privileges procedure processlist profile profiles purge query quick range read read_write reads real rebuild recover references regexp relaylog release remove rename reorganize repair repeatable replace require resignal restrict resume return returns revoke right rlike rollback rollup row row_format rtree savepoint schedule schema schema_name schemas second_microsecond security sensitive separator serializable server session share show shutdown signal slave slow smallint snapshot soft soname spatial specific sql sql_big_result sql_buffer_result sql_cache sql_calc_found_rows sql_no_cache sql_small_result sqlexception sqlstate sqlwarning ssl start starting starts status std stddev stddev_pop stddev_samp storage straight_join subclass_origin sum suspend table_name table_statistics tables tablespace temporary terminated to trailing transaction trigger triggers truncate uncommitted undo uninstall unique unlock upgrade usage use use_frm user user_resources user_statistics using utc_date utc_time utc_timestamp value variables varying view views virtual warnings when while with work write xa xor year_month zerofill begin do then else loop repeat"),builtin:M("bool boolean bit blob decimal double float long longblob longtext medium mediumblob mediumint mediumtext time timestamp tinyblob tinyint tinytext text bigint int int1 int2 int3 int4 int8 integer float float4 float8 double char varbinary varchar varcharacter precision date datetime year unsigned signed numeric"),atoms:M("false true null unknown"),operatorChars:/^[*+\-%<>!=&|^]/,dateSQL:M("date time timestamp"),support:M("ODBCdotTable decimallessFloat zerolessFloat binaryNumber hexNumber doubleQuote nCharCast charsetCast commentHash commentSpaceRequired"),hooks:{"@":Fi,"`":gh,"\\":Cg}}),yC=je({client:M("auth backup bail binary changes check clone databases dbinfo dump echo eqp exit explain fullschema headers help import imposter indexes iotrace limit lint load log mode nullvalue once open output print prompt quit read restore save scanstats schema separator session shell show stats system tables testcase timeout timer trace vfsinfo vfslist vfsname width"),keywords:M(Hi+"abort action add after all analyze attach autoincrement before begin cascade case cast check collate column commit conflict constraint cross current_date current_time current_timestamp database default deferrable deferred detach each else end escape except exclusive exists explain fail for foreign full glob if ignore immediate index indexed initially inner instead intersect isnull key left limit match natural no notnull null of offset outer plan pragma primary query raise recursive references regexp reindex release rename replace restrict right rollback row savepoint temp temporary then to transaction trigger unique using vacuum view virtual when with without"),builtin:M("bool boolean bit blob decimal double float long longblob longtext medium mediumblob mediumint mediumtext time timestamp tinyblob tinyint tinytext text clob bigint int int2 int8 integer float double char varchar date datetime year unsigned signed numeric real"),atoms:M("null current_date current_time current_timestamp"),operatorChars:/^[*+\-%<>!=&|/~]/,dateSQL:M("date time timestamp datetime"),support:M("decimallessFloat zerolessFloat"),identifierQuote:'"',hooks:{"@":Fi,":":Fi,"?":Fi,$:Fi,'"':$P,"`":gh}}),kC=je({client:{},keywords:M("add all allow alter and any apply as asc authorize batch begin by clustering columnfamily compact consistency count create custom delete desc distinct drop each_quorum exists filtering from grant if in index insert into key keyspace keyspaces level limit local_one local_quorum modify nan norecursive nosuperuser not of on one order password permission permissions primary quorum rename revoke schema select set storage superuser table three to token truncate ttl two type unlogged update use user users using values where with writetime"),builtin:M("ascii bigint blob boolean counter decimal double float frozen inet int list map static text timestamp timeuuid tuple uuid varchar varint"),atoms:M("false true infinity NaN"),operatorChars:/^[<>=]/,dateSQL:{},support:M("commentSlashSlash decimallessFloat"),hooks:{}}),xC=je({client:M("appinfo arraysize autocommit autoprint autorecovery autotrace blockterminator break btitle cmdsep colsep compatibility compute concat copycommit copytypecheck define describe echo editfile embedded escape exec execute feedback flagger flush heading headsep instance linesize lno loboffset logsource long longchunksize markup native newpage numformat numwidth pagesize pause pno recsep recsepchar release repfooter repheader serveroutput shiftinout show showmode size spool sqlblanklines sqlcase sqlcode sqlcontinue sqlnumber sqlpluscompatibility sqlprefix sqlprompt sqlterminator suffix tab term termout time timing trimout trimspool ttitle underline verify version wrap"),keywords:M("abort accept access add all alter and any array arraylen as asc assert assign at attributes audit authorization avg base_table begin between binary_integer body boolean by case cast char char_base check close cluster clusters colauth column comment commit compress connect connected constant constraint crash create current currval cursor data_base database date dba deallocate debugoff debugon decimal declare default definition delay delete desc digits dispose distinct do drop else elseif elsif enable end entry escape exception exception_init exchange exclusive exists exit external fast fetch file for force form from function generic goto grant group having identified if immediate in increment index indexes indicator initial initrans insert interface intersect into is key level library like limited local lock log logging long loop master maxextents maxtrans member minextents minus mislabel mode modify multiset new next no noaudit nocompress nologging noparallel not nowait number_base object of off offline on online only open option or order out package parallel partition pctfree pctincrease pctused pls_integer positive positiven pragma primary prior private privileges procedure public raise range raw read rebuild record ref references refresh release rename replace resource restrict return returning returns reverse revoke rollback row rowid rowlabel rownum rows run savepoint schema segment select separate session set share snapshot some space split sql start statement storage subtype successful synonym tabauth table tables tablespace task terminate then to trigger truncate type union unique unlimited unrecoverable unusable update use using validate value values variable view views when whenever where while with work"),builtin:M("abs acos add_months ascii asin atan atan2 average bfile bfilename bigserial bit blob ceil character chartorowid chr clob concat convert cos cosh count dec decode deref dual dump dup_val_on_index empty error exp false float floor found glb greatest hextoraw initcap instr instrb int integer isopen last_day least length lengthb ln lower lpad ltrim lub make_ref max min mlslabel mod months_between natural naturaln nchar nclob new_time next_day nextval nls_charset_decl_len nls_charset_id nls_charset_name nls_initcap nls_lower nls_sort nls_upper nlssort no_data_found notfound null number numeric nvarchar2 nvl others power rawtohex real reftohex round rowcount rowidtochar rowtype rpad rtrim serial sign signtype sin sinh smallint soundex sqlcode sqlerrm sqrt stddev string substr substrb sum sysdate tan tanh to_char text to_date to_label to_multi_byte to_number to_single_byte translate true trunc uid unlogged upper user userenv varchar varchar2 variance varying vsize xml"),operatorChars:/^[*\/+\-%<>!=~]/,dateSQL:M("date time timestamp"),support:M("doubleQuote nCharCast zerolessFloat binaryNumber hexNumber")}),wC=je({keywords:M("select alter $elem$ $key$ $value$ add after all analyze and archive as asc before between binary both bucket buckets by cascade case cast change cluster clustered clusterstatus collection column columns comment compute concatenate continue create cross cursor data database databases dbproperties deferred delete delimited desc describe directory disable distinct distribute drop else enable end escaped exclusive exists explain export extended external fetch fields fileformat first format formatted from full function functions grant group having hold_ddltime idxproperties if import in index indexes inpath inputdriver inputformat insert intersect into is items join keys lateral left like limit lines load local location lock locks mapjoin materialized minus msck no_drop nocompress not of offline on option or order out outer outputdriver outputformat overwrite partition partitioned partitions percent plus preserve procedure purge range rcfile read readonly reads rebuild recordreader recordwriter recover reduce regexp rename repair replace restrict revoke right rlike row schema schemas semi sequencefile serde serdeproperties set shared show show_database sort sorted ssl statistics stored streamtable table tables tablesample tblproperties temporary terminated textfile then tmp to touch transform trigger unarchive undo union uniquejoin unlock update use using utc utc_tmestamp view when where while with admin authorization char compact compactions conf cube current current_date current_timestamp day decimal defined dependency directories elem_type exchange file following for grouping hour ignore inner interval jar less logical macro minute month more none noscan over owner partialscan preceding pretty principals protection reload rewrite role roles rollup rows second server sets skewed transactions truncate unbounded unset uri user values window year"),builtin:M("bool boolean long timestamp tinyint smallint bigint int float double date datetime unsigned string array struct map uniontype key_type utctimestamp value_type varchar"),atoms:M("false true null unknown"),operatorChars:/^[*+\-%<>!=]/,dateSQL:M("date timestamp"),support:M("ODBCdotTable doubleQuote binaryNumber hexNumber")}),PC=je({client:M("source"),keywords:M(Hi+"a abort abs absent absolute access according action ada add admin after aggregate alias all allocate also alter always analyse analyze and any are array array_agg array_max_cardinality as asc asensitive assert assertion assignment asymmetric at atomic attach attribute attributes authorization avg backward base64 before begin begin_frame begin_partition bernoulli between bigint binary bit bit_length blob blocked bom boolean both breadth by c cache call called cardinality cascade cascaded case cast catalog catalog_name ceil ceiling chain char char_length character character_length character_set_catalog character_set_name character_set_schema characteristics characters check checkpoint class class_origin clob close cluster coalesce cobol collate collation collation_catalog collation_name collation_schema collect column column_name columns command_function command_function_code comment comments commit committed concurrently condition condition_number configuration conflict connect connection connection_name constant constraint constraint_catalog constraint_name constraint_schema constraints constructor contains content continue control conversion convert copy corr corresponding cost count covar_pop covar_samp create cross csv cube cume_dist current current_catalog current_date current_default_transform_group current_path current_role current_row current_schema current_time current_timestamp current_transform_group_for_type current_user cursor cursor_name cycle data database datalink datatype date datetime_interval_code datetime_interval_precision day db deallocate debug dec decimal declare default defaults deferrable deferred defined definer degree delete delimiter delimiters dense_rank depends depth deref derived desc describe descriptor detach detail deterministic diagnostics dictionary disable discard disconnect dispatch distinct dlnewcopy dlpreviouscopy dlurlcomplete dlurlcompleteonly dlurlcompletewrite dlurlpath dlurlpathonly dlurlpathwrite dlurlscheme dlurlserver dlvalue do document domain double drop dump dynamic dynamic_function dynamic_function_code each element else elseif elsif empty enable encoding encrypted end end_frame end_partition endexec enforced enum equals errcode error escape event every except exception exclude excluding exclusive exec execute exists exit exp explain expression extension external extract false family fetch file filter final first first_value flag float floor following for force foreach foreign fortran forward found frame_row free freeze from fs full function functions fusion g general generated get global go goto grant granted greatest group grouping groups handler having header hex hierarchy hint hold hour id identity if ignore ilike immediate immediately immutable implementation implicit import in include including increment indent index indexes indicator info inherit inherits initially inline inner inout input insensitive insert instance instantiable instead int integer integrity intersect intersection interval into invoker is isnull isolation join k key key_member key_type label lag language large last last_value lateral lead leading leakproof least left length level library like like_regex limit link listen ln load local localtime localtimestamp location locator lock locked log logged loop lower m map mapping match matched materialized max max_cardinality maxvalue member merge message message_length message_octet_length message_text method min minute minvalue mod mode modifies module month more move multiset mumps name names namespace national natural nchar nclob nesting new next nfc nfd nfkc nfkd nil no none normalize normalized not nothing notice notify notnull nowait nth_value ntile null nullable nullif nulls number numeric object occurrences_regex octet_length octets of off offset oids old on only open operator option options or order ordering ordinality others out outer output over overlaps overlay overriding owned owner p pad parallel parameter parameter_mode parameter_name parameter_ordinal_position parameter_specific_catalog parameter_specific_name parameter_specific_schema parser partial partition pascal passing passthrough password path percent percent_rank percentile_cont percentile_disc perform period permission pg_context pg_datatype_name pg_exception_context pg_exception_detail pg_exception_hint placing plans pli policy portion position position_regex power precedes preceding precision prepare prepared preserve primary print_strict_params prior privileges procedural procedure procedures program public publication query quote raise range rank read reads real reassign recheck recovery recursive ref references referencing refresh regr_avgx regr_avgy regr_count regr_intercept regr_r2 regr_slope regr_sxx regr_sxy regr_syy reindex relative release rename repeatable replace replica requiring reset respect restart restore restrict result result_oid return returned_cardinality returned_length returned_octet_length returned_sqlstate returning returns reverse revoke right role rollback rollup routine routine_catalog routine_name routine_schema routines row row_count row_number rows rowtype rule savepoint scale schema schema_name schemas scope scope_catalog scope_name scope_schema scroll search second section security select selective self sensitive sequence sequences serializable server server_name session session_user set setof sets share show similar simple size skip slice smallint snapshot some source space specific specific_name specifictype sql sqlcode sqlerror sqlexception sqlstate sqlwarning sqrt stable stacked standalone start state statement static statistics stddev_pop stddev_samp stdin stdout storage strict strip structure style subclass_origin submultiset subscription substring substring_regex succeeds sum symmetric sysid system system_time system_user t table table_name tables tablesample tablespace temp template temporary text then ties time timestamp timezone_hour timezone_minute to token top_level_count trailing transaction transaction_active transactions_committed transactions_rolled_back transform transforms translate translate_regex translation treat trigger trigger_catalog trigger_name trigger_schema trim trim_array true truncate trusted type types uescape unbounded uncommitted under unencrypted union unique unknown unlink unlisten unlogged unnamed unnest until untyped update upper uri usage use_column use_variable user user_defined_type_catalog user_defined_type_code user_defined_type_name user_defined_type_schema using vacuum valid validate validator value value_of values var_pop var_samp varbinary varchar variable_conflict variadic varying verbose version versioning view views volatile warning when whenever where while whitespace width_bucket window with within without work wrapper write xml xmlagg xmlattributes xmlbinary xmlcast xmlcomment xmlconcat xmldeclaration xmldocument xmlelement xmlexists xmlforest xmliterate xmlnamespaces xmlparse xmlpi xmlquery xmlroot xmlschema xmlserialize xmltable xmltext xmlvalidate year yes zone"),builtin:M("bigint int8 bigserial serial8 bit varying varbit boolean bool box bytea character char varchar cidr circle date double precision float8 inet integer int int4 interval json jsonb line lseg macaddr macaddr8 money numeric decimal path pg_lsn point polygon real float4 smallint int2 smallserial serial2 serial serial4 text time without zone with timetz timestamp timestamptz tsquery tsvector txid_snapshot uuid xml"),atoms:M("false true null unknown"),operatorChars:/^[*\/+\-%<>!=&|^\/#@?~]/,backslashStringEscapes:!1,dateSQL:M("date time timestamp"),support:M("ODBCdotTable decimallessFloat zerolessFloat binaryNumber hexNumber nCharCast charsetCast escapeConstant")}),vC=je({keywords:M("ancestor and asc by contains desc descendant distinct from group has in is limit offset on order select superset where"),atoms:M("false true"),builtin:M("blob datetime first key __key__ string integer double boolean null"),operatorChars:/^[*+\-%<>!=]/}),$C=je({client:M("source"),keywords:M("abort absolute access action active add admin after aggregate all also alter always analyse analyze and any array as asc assertion assignment asymmetric at authorization backward before begin between bigint binary bit boolean both by cache called cascade cascaded case cast chain char character characteristics check checkpoint class close cluster coalesce codegen collate column comment commit committed concurrency concurrently configuration connection constraint constraints contains content continue conversion copy cost cpu_rate_limit create createdb createexttable createrole createuser cross csv cube current current_catalog current_date current_role current_schema current_time current_timestamp current_user cursor cycle data database day deallocate dec decimal declare decode default defaults deferrable deferred definer delete delimiter delimiters deny desc dictionary disable discard distinct distributed do document domain double drop dxl each else enable encoding encrypted end enum errors escape every except exchange exclude excluding exclusive execute exists explain extension external extract false family fetch fields filespace fill filter first float following for force foreign format forward freeze from full function global grant granted greatest group group_id grouping handler hash having header hold host hour identity if ignore ilike immediate immutable implicit in including inclusive increment index indexes inherit inherits initially inline inner inout input insensitive insert instead int integer intersect interval into invoker is isnull isolation join key language large last leading least left level like limit list listen load local localtime localtimestamp location lock log login mapping master match maxvalue median merge minute minvalue missing mode modifies modify month move name names national natural nchar new newline next no nocreatedb nocreateexttable nocreaterole nocreateuser noinherit nologin none noovercommit nosuperuser not nothing notify notnull nowait null nullif nulls numeric object of off offset oids old on only operator option options or order ordered others out outer over overcommit overlaps overlay owned owner parser partial partition partitions passing password percent percentile_cont percentile_disc placing plans position preceding precision prepare prepared preserve primary prior privileges procedural procedure protocol queue quote randomly range read readable reads real reassign recheck recursive ref references reindex reject relative release rename repeatable replace replica reset resource restart restrict returning returns revoke right role rollback rollup rootpartition row rows rule savepoint scatter schema scroll search second security segment select sequence serializable session session_user set setof sets share show similar simple smallint some split sql stable standalone start statement statistics stdin stdout storage strict strip subpartition subpartitions substring superuser symmetric sysid system table tablespace temp template temporary text then threshold ties time timestamp to trailing transaction treat trigger trim true truncate trusted type unbounded uncommitted unencrypted union unique unknown unlisten until update user using vacuum valid validation validator value values varchar variadic varying verbose version view volatile web when where whitespace window with within without work writable write xml xmlattributes xmlconcat xmlelement xmlexists xmlforest xmlparse xmlpi xmlroot xmlserialize year yes zone"),builtin:M("bigint int8 bigserial serial8 bit varying varbit boolean bool box bytea character char varchar cidr circle date double precision float float8 inet integer int int4 interval json jsonb line lseg macaddr macaddr8 money numeric decimal path pg_lsn point polygon real float4 smallint int2 smallserial serial2 serial serial4 text time without zone with timetz timestamp timestamptz tsquery tsvector txid_snapshot uuid xml"),atoms:M("false true null unknown"),operatorChars:/^[*+\-%<>!=&|^\/#@?~]/,dateSQL:M("date time timestamp"),support:M("ODBCdotTable decimallessFloat zerolessFloat binaryNumber hexNumber nCharCast charsetCast")}),TC=je({keywords:M("add after all alter analyze and anti archive array as asc at between bucket buckets by cache cascade case cast change clear cluster clustered codegen collection column columns comment commit compact compactions compute concatenate cost create cross cube current current_date current_timestamp database databases data dbproperties defined delete delimited deny desc describe dfs directories distinct distribute drop else end escaped except exchange exists explain export extended external false fields fileformat first following for format formatted from full function functions global grant group grouping having if ignore import in index indexes inner inpath inputformat insert intersect interval into is items join keys last lateral lazy left like limit lines list load local location lock locks logical macro map minus msck natural no not null nulls of on optimize option options or order out outer outputformat over overwrite partition partitioned partitions percent preceding principals purge range recordreader recordwriter recover reduce refresh regexp rename repair replace reset restrict revoke right rlike role roles rollback rollup row rows schema schemas select semi separated serde serdeproperties set sets show skewed sort sorted start statistics stored stratify struct table tables tablesample tblproperties temp temporary terminated then to touch transaction transactions transform true truncate unarchive unbounded uncache union unlock unset use using values view when where window with"),builtin:M("tinyint smallint int bigint boolean float double string binary timestamp decimal array map struct uniontype delimited serde sequencefile textfile rcfile inputformat outputformat"),atoms:M("false true null"),operatorChars:/^[*\/+\-%<>!=~&|^]/,dateSQL:M("date time timestamp"),support:M("ODBCdotTable doubleQuote zerolessFloat")}),CC=je({client:M("source"),keywords:M("alter and as asc between by count create delete desc distinct drop from group having in insert into is join like not on or order select set table union update values where limit after all and as at asc avedev avg between by case cast coalesce count create current_timestamp day days delete define desc distinct else end escape events every exists false first from full group having hour hours in inner insert instanceof into irstream is istream join last lastweekday left limit like max match_recognize matches median measures metadatasql min minute minutes msec millisecond milliseconds not null offset on or order outer output partition pattern prev prior regexp retain-union retain-intersection right rstream sec second seconds select set some snapshot sql stddev sum then true unidirectional until update variable weekday when where window"),builtin:{},atoms:M("false true null"),operatorChars:/^[*+\-%<>!=&|^\/#@?~]/,dateSQL:M("time"),support:M("decimallessFloat zerolessFloat binaryNumber hexNumber")});var _g={name:"toml",startState:function(){return{inString:!1,stringType:"",lhs:!0,inArray:0}},token:function(i,e){let t;if(!e.inString&&(t=i.match(/^('''|"""|'|")/))&&(e.stringType=t[0],e.inString=!0),i.sol()&&!e.inString&&e.inArray===0&&(e.lhs=!0),e.inString){for(;e.inString;)if(i.match(e.stringType))e.inString=!1;else if(i.peek()==="\\")i.next(),i.next();else{if(i.eol())break;i.match(/^.[^\\\"\']*/)}return e.lhs?"property":"string"}else{if(e.inArray&&i.peek()==="]")return i.next(),e.inArray--,"bracket";if(e.lhs&&i.peek()==="["&&i.skipTo("]"))return i.next(),i.peek()==="]"&&i.next(),"atom";if(i.peek()==="#")return i.skipToEnd(),"comment";if(i.eatSpace())return null;if(e.lhs&&i.eatWhile(function(n){return n!="="&&n!=" "}))return"property";if(e.lhs&&i.peek()==="=")return i.next(),e.lhs=!1,null;if(!e.lhs&&i.match(/^\d\d\d\d[\d\-\:\.T]*Z/))return"atom";if(!e.lhs&&(i.match("true")||i.match("false")))return"atom";if(!e.lhs&&i.peek()==="[")return e.inArray++,i.next(),"bracket";if(!e.lhs&&i.match(/^\-?\d+(?:\.\d+)?/))return"number";i.eatSpace()||i.next()}return null},languageData:{commentTokens:{line:"#"}}};var TP=Qe({"for in if else endfor endif":d.controlKeyword,"Attribute/Identifier":d.definition(d.propertyName),"ForIntro/Identifier":d.definition(d.propertyName),"Block/Identifier":d.definitionKeyword,"FunctionCall/Identifier":d.function(d.variableName),"Attribute/Expression":d.attributeValue,"VariableExpr/Identifier":d.variableName,"GetAttr/Identifier":d.variableName,Identifier:d.name,"LiteralValue/...":d.literal,"StringLit/... TemplateLiteral":d.string,NumericLit:d.number,BoolLit:d.bool,NullLit:d.null,Comment:d.comment,LineComment:d.lineComment,BlockComment:d.blockComment,"( )":d.paren,"{ }":d.bracket,"[ ]":d.squareBracket,ArithOp:d.arithmeticOperator,LogicOp:d.logicOperator,CompareOp:d.compareOperator,ControlOp:d.controlOperator,HeredocIdentifier:d.special(d.controlKeyword),HeredocStart:d.special(d.brace),"TemplateInterpolationStart TemplateInterpolationEnd":d.special(d.brace),"TemplateDirectiveStart TemplateDirectiveEnd":d.special(d.brace),StripMarker:d.special(d.brace),Ellipsis:d.punctuation,": =>":d.punctuation,",":d.separator}),Qh=1,bh=2,Sh=3,yh=4,kh=5,xh=6,An=7,Ee=93,Re={QUOTED_TEMPLATE:1,TEMPLATE_INTERPOLATION:2,TEMPLATE_DIRECTIVE:4,HEREDOC_TEMPLATE:8},CP=function(i){var e=0,t,n;if(i.length===0)return e;for(t=0;t{if(e.canShift(Qh)&&!(e.context&&e.context.type===Re.QUOTED_TEMPLATE)&&String.fromCharCode(i.next)==='"')return i.advance(),i.acceptToken(Qh)},{contextual:!0,fallback:!0}),AP=new ee((i,e)=>{if(e.canShift(bh)&&e.context&&e.context.type===Re.QUOTED_TEMPLATE&&String.fromCharCode(i.next)==='"')return i.advance(),i.acceptToken(bh)},{contextual:!0,fallback:!0}),ZP=new ee((i,e)=>{if(e.canShift(Ee)&&e.context&&e.context.type===Re.QUOTED_TEMPLATE)switch(String.fromCharCode(i.next)){case"\\":switch(i.advance(),String.fromCharCode(i.next)){case'"':case"n":case"r":case"t":case"\\":return i.advance(),i.acceptToken(Ee);case"u":for(let t=0;t<4;t++)if(i.advance(),!/[0-9a-fA-F]/.test(String.fromCharCode(i.next)))return;return i.advance(),i.acceptToken(Ee);case"U":for(let t=0;t<8;t++)if(i.advance(),!/[0-9a-fA-F]/.test(String.fromCharCode(i.next)))return;return i.advance(),i.acceptToken(Ee);default:return}}if(e.canShift(Ee)&&e.context&&(e.context.type===Re.QUOTED_TEMPLATE||e.context.type===Re.HEREDOC_TEMPLATE)&&i.next!==-1)return i.advance(),i.acceptToken(Ee)},{contextual:!0,fallback:!0}),EP=new ee((i,e)=>{if(e.canShift(Sh)&&e.canShift(Ee)&&!(e.context&&e.context.type===Re.TEMPLATE_INTERPOLATION)&&String.fromCharCode(i.next)==="$")return i.advance(),String.fromCharCode(i.next)==="{"?(i.advance(),i.acceptToken(Sh)):(String.fromCharCode(i.next)==="$"&&(i.advance(),String.fromCharCode(i.next)==="{")&&i.advance(),i.acceptToken(Ee))},{contextual:!0,fallback:!0}),qP=new ee((i,e)=>{if(e.canShift(yh)&&e.context&&e.context.type===Re.TEMPLATE_INTERPOLATION&&String.fromCharCode(i.next)==="}")return i.advance(),i.acceptToken(yh)},{contextual:!0,fallback:!0}),zP=new ee((i,e)=>{if(e.canShift(kh)&&e.canShift(Ee)&&!(e.context&&e.context.type===Re.TEMPLATE_DIRECTIVE)&&String.fromCharCode(i.next)==="%")return i.advance(),String.fromCharCode(i.next)==="{"?(i.advance(),i.acceptToken(kh)):(String.fromCharCode(i.next)==="%"&&(i.advance(),String.fromCharCode(i.next)==="{")&&i.advance(),i.acceptToken(Ee))},{contextual:!0,fallback:!0}),LP=new ee((i,e)=>{if(e.canShift(xh)&&e.context&&e.context.type===Re.TEMPLATE_DIRECTIVE&&String.fromCharCode(i.next)==="}")return i.advance(),i.acceptToken(xh)},{contextual:!0,fallback:!0}),MP=new ee((i,e)=>{if(e.canShift(An)&&!(e.context&&e.context.type===Re.HEREDOC_TEMPLATE)&&i.next!==-1){let t=String.fromCharCode(i.next);for(;/[0-9a-zA-Z]/.test(t)||t==="_"||t==="-";)i.advance(),t=String.fromCharCode(i.next);return i.acceptToken(An)}if(e.canShift(An)&&e.canShift(Ee)&&e.context&&e.context.type===Re.HEREDOC_TEMPLATE&&i.next!=-1){let t=e.context.heredoc_identifier,n=!1,r=!1,s=String.fromCharCode(i.next);for(;/\s/.test(s);)r=!0,s===` +`&&(n=!0),i.advance(),s=String.fromCharCode(i.next);if(r&&i.acceptToken(Ee),!n)return;let o=0;for(let l=0;lbQ&jO,5:fOOQy,5:h,5:hPOQy'#EY'#EYPOQy,5:j,5:jPOQy,5:k,5:kOOQy1G0g1G0gOOQO7+%u7+%uO>jQ&jO7+%uOOQ%n,5:|,5:|OOQ%n1G.}1G.}O>oQ&rO1G.}O>tQ&rO1G.}OOQ%n1G/Q1G/QO?PQ&jO,59jO?[Q'[O,59jOOQ%n1G/W1G/WO1tQ)tO1G/WO?dQ&jO'#DVO1tQ)tO1G/WO?rQ&jO,59oO@QQ'[O,59oO@YQ'[O,59qO@bQ&jO1G/RO@jQ&jO1G/RO$yQ&kO1G/XO@oQ'[O1G/XOOQy7+$y7+$yO@zQ&jO,5:rOA]Q&kO1G0lOOQO-E8U-E8UOOQy7+%[7+%[OAdQ&jO7+%[O$yQ&kO'#DlO$yQ&kO1G/qOAiQ&jO1G/qOOQP'#ES'#ESO$yQ&kO7+%rP$yQ&kO'#EXO$yQ&kO7+%_OAnQ&kO,5:ROAuQ&jO,5:ROOQO,5:R,5:ROOQy7+%V7+%VOOQy1G0Q1G0QPOQy-E8W-E8WOOQO<eAN>eOKmQ&jOAN>eOKrQ&jOAN>eOOQ%n<cOOQyG24PG24POLiQ&jOG24POOQ$YG23_G23_OLnQ'[OG23_OLyQ'[OG23_O$yQ&kOG23_OOQPG23}G23}OOQyLD)kLD)kOOQ$YLD(yLD(yOMOQ'[OLD(yOMTQ'[OLD(yOOQ$Y!$'Le!$'LeOM`Q'[O!$'LeOOQ$Y!)9BP!)9BPO-wQ&kO'#DoO/TQ&kO'#DoOMeQ&kO'#CkO-wQ&kO,5:^O/TQ&kO,5:^O-wQ&kO,5:^O/TQ&kO,5:^O-wQ&kO,5:^O/TQ&kO,5:^O-wQ&kO,5:^O/TQ&kO,5:^O-wQ&kO,5:^O/TQ&kO,5:^O-wQ&kO,5:^O/TQ&kO,5:^ON[Q&kO1G/xO! XQ&kO1G/xO!!UQ&kO1G/xO!%UQ&kO1G/xO!%]Q&kO1G/xO-wQ&kO7+%rO/TQ&kO7+%rO4uQ&jO1G0WO4uQ&jO1G0WO$yQ&kO,5:lO$yQ&kO,5:l",stateData:"!%l~O#ROSXPQYPQ~O^RO!SQO~OXVOYVO~OPZO^gOa[OcXOdXOfYO!P`O!RdO!ScO!YoO#W]O#X]O#^iO#_jO~OPqO^sO!SuO#SrO~O^RO#O[X!R[X~OQ!PORyOT!QO#PwO~OV!RO~OPZO^gOa[OcXOdXOfYOp!WO!P`O!ScO!YoO#W]O#X]O#^iO#_jO~O!O!TO~P#iO#S!XO#[!XO#o!YO~OPZO^gOa[OcXOdXOfYO!P`O!ScO!YoO#W]O#X]O#^iO#_jO~O#V!]O!R#ZX~P$yOp!WO~PmO!R!`O~O!Y!aO!P!VX!o!VX#^!VX#`!VX#a!VX#b!VX#c!VX#d!VX#e!VX#f!VX#g!VX#h!VX#i!VX#j!VX#k!VX#l!VX#m!VX#n!VX#o!VX~O#S!VX#[!VX!O!VX#V!VX!W!VX^!VX#O!VXS!VXl!VXv!VX![!VXU!VX!R!VX~P&[O!o!pO#^!dO#`!cO#a!cO#b!cO#c!dO#d!eO#e!eO#f!eO#g!eO#h!fO#i!fO#j!gO#k!hO#l!qO#m!rO#n!sO#o_X#V_X^_X!R_X~O!P!oO#S_X#[_X!O_X!W_X#O_XS_Xl_Xv_X![_XU_X~P(iOPqO^sO!S!zO~O^RO!R!{O~O#P!}OQ#UPR#UPT#UPV#UP~OQ#POR!yXT!yX#P!yX~OS#QOl#RO~P$yORyOT#VO#PwO~ORyOT#ZO#PwO~OQ#]ORyOT!QO#PwO~Ol#_Op#^Ov#`O~ORyOT!QOV#bO#PwO~O#V#cO#o!YO!O#YX~O!O#eO~O^#gO~OPZO^#iOa[OcXOdXOfYO!P`O!ScO!YoO#W]O#X]O#^iO#_jO~O!R#Za~P$yO#V#lO!R#Za~P$yOPZO^#nOa[OcXOdXOfYO!P`O!ScO!YoO#W]O#X]O#^iO#_jO~O!W#rO~P$yO^#{O~O!W$PO#o!YO~OQ#PO~O#o!YO^]i#O]i!R]i~O^RO!R$QO~OS$TOl$UO~P$yOS$TOl$UO#o!YO~Ol$XOp#^Os$YOv#`O~ORyOT$]O#PwO~Ol$_Op#^Ov#`Ox$`Oz$aO~O^$bO~Op$cOv$dO~ORyOT!QOV$fO#PwO~O!O#Ya~P$yO#V$hO!O#Ya~Ov$lO!O$jO#o!YO~Oq$mO#V$nO~O#o!YOP!Ui^!Uia!Uic!Uid!Uif!Ui!P!Ui!R!Ui!S!Ui!Y!Ui#V!Ui#W!Ui#X!Ui#^!Ui#_!Ui~O#[$oO#o!YO~O!R#Zi~P$yO#]!VX~P&[O#]$rO#o!YO~O!o!pO#^!dO#`!cO#a!cO#b!cO#c!dO#d!eO#e!eO#f!eO#g!eO#h!fO#i!fO#j!gO#k!hO#l!qO#m!rO#n!sO#o_X~O!P!oO#]_X~P5eO![$uO#V$sO#o!YO!W!ZX~O!W$vO~O#`!cO#a!cO#b!cO!P!fi!o!fi#S!fi#[!fi#d!fi#e!fi#f!fi#g!fi#h!fi#i!fi#j!fi#k!fi#l!fi#m!fi#n!fi#o!fi!O!fi#V!fi!W!fi^!fi#O!fiS!fil!fiv!fi![!fiU!fi!R!fi~O#^!fi#c!fi~P7^O#^!dO#c!dO~P7^O#^!dO#`!cO#a!cO#b!cO#c!dO#d!eO#e!eO#f!eO#g!eO!P!fi!o!fi#S!fi#[!fi#j!fi#k!fi#l!fi#m!fi#n!fi#o!fi!O!fi#V!fi!W!fi^!fi#O!fiS!fil!fiv!fi![!fiU!fi!R!fi~O#h!fi#i!fi~P9rO#h!fO#i!fO~P9rO#^!dO#`!cO#a!cO#b!cO#c!dO#d!eO#e!eO#f!eO#g!eO#h!fO#i!fO#j!gO!P!fi!o!fi#k!fi#l!fi#m!fi#n!fi#o!fi#V!fi^!fi!R!fi~O#S!fi#[!fi!O!fi!W!fi#O!fiS!fil!fiv!fi![!fiU!fi~PWP[i]||-1}],tokenPrec:2320}),VP=Xe.define({parser:jP.configure({props:[Pe.add({Block:kt({closing:"}",align:!1})}),_e.add({"Object Tuple TemplateFor TemplateIf":ut,BlockComment:i=>({from:i.from+2,to:i.to-2}),HeredocTemplate(i){let e=i.getChild("HeredocIdentifier");return e?{from:e.to,to:i.to}:null},FunctionCall(i){let e=i.getChild("("),t=i.getChild(")");return!e||!t?null:{from:e.from+1,to:t.to-1}},Block(i){let e=i.getChild("{"),t=i.getChild("}");return!e||!t?null:{from:e.from+1,to:t.to-1}}}),TP]}),languageData:{commentTokens:{line:"#",block:{open:"/*",close:"*/"}}}});function Rg(){return new me(VP)}function DP(i){let e=i.trim();if(!e)return"";if(/^#!.*\b(?:ba)?sh\b|^\s*\$\s+/.test(e))return"bash";if(e.startsWith("{")&&e.endsWith("}")||e.startsWith("[")&&e.endsWith("]"))try{return JSON.parse(e),"json"}catch{}return/^\s*(?:|(?:using\s+namespace\s+std|std::\w+|(?:cout|cin)\s*(?:<<|>>))\b)/m.test(e)?"cpp":/^\s*(?:#\s*include\s*[<"](?:assert|ctype|errno|float|inttypes|limits|math|setjmp|signal|stdarg|stdbool|stddef|stdint|stdio|stdlib|string|time)\.h[>"]|(?:int|void)\s+main\s*\([^)]*\)\s*\{)/m.test(e)?"c":/^\s*(?:async\s+)?def\s+\w+\s*\(|^\s*from\s+\w+[\w.]*\s+import\b|^\s*class\s+\w+\s*[:(]/m.test(e)?"python":/\b(?:SELECT|INSERT|UPDATE|DELETE|CREATE\s+(?:TABLE|VIEW|INDEX)|WITH)\b[\s\S]*\b(?:FROM|INTO|WHERE|AS)\b/i.test(e)?"sql":/(?:^|\n)\s*(?:[#.]?[A-Za-z][\w-]*)\s*\{[\s\S]*:[\s\S]*\}/.test(e)||/@(?:media|keyframes|supports)\b/.test(e)?"css":/^\s*(?:const|let|var)\s+[A-Za-z_$][\w$]*\s*(?::[^=\n]+)?\s*=/m.test(e)||/\b(?:function\s+\w+\s*\(|console\.(?:log|error|warn)|=>)/.test(e)?"javascript":/^\s*(?:[-A-Za-z_][\w-]*):\s*(?:[^:#\n]|$)/m.test(e)&&!/[{};]/.test(e)?"yaml":/^\s*(?:echo|printf|export|source|cd|mkdir|rm|cp|mv)\s+/m.test(e)?"bash":""}var Ue=(i,e,t)=>Be.of({name:i,alias:e,support:new me(Es.define(t))}),Jg=[Be.of({name:"javascript",alias:["js","jsx","ts","tsx","typescript","node"],support:oo({jsx:!0,typescript:!0})}),Be.of({name:"python",alias:["py"],support:Ym()}),Be.of({name:"json",alias:["jsonc"],support:Bm()}),Be.of({name:"css",alias:["scss"],support:so()}),Be.of({name:"html",alias:["htm","xml"],support:lo()}),Be.of({name:"hcl",alias:["terraform","tf"],support:Rg()}),Ue("swift",[],Gm),Ue("shell",["sh","bash","zsh","console"],Jm),Ue("yaml",["yml"],eg),Ue("go",["golang"],sg),Ue("ruby",["rb"],lg),Ue("rust",["rs"],fg),Ue("c",["h"],Sg),Ue("cpp",["c++","cc","hpp"],yg),Ue("java",[],kg),Ue("kotlin",["kt"],Pg),Ue("objective-c",["objc","objectivec"],vg),Ue("csharp",["cs","c#"],xg),Ue("sql",[],je({})),Ue("toml",[],_g)],YP={resolve:"Highlight",mark:"HighlightMark"},IP=/[\p{S}\p{P}]/u;function Ag(i){return!i||/\s/.test(i)}function Zg(i){return!!i&&IP.test(i)}var Mh={defineNodes:["Highlight","HighlightMark"],parseInline:[{name:"Highlight",parse(i,e,t){if(e!==61||i.char(t+1)!==61)return-1;let n=t;for(;n>i.offset&&i.char(n-1)===61;)n--;let r=t+2;for(;i.char(r)===61;)r++;let s=n+(r-n)%2;if(t=i.offset&&i.char(p)===92;p--)o++;if(o%2!==0)return-1;let a=i.slice(n-1,n),l=i.slice(r,r+1),c=Ag(a),h=Ag(l),f=Zg(a),u=Zg(l),O=!h&&(!u||c||f),m=!c&&(!f||h||u);return i.addDelimiter(YP,t,t+2,O,m)},after:"Emphasis"}]},Wr=class extends Ce{constructor(e,t){super(),this.text=e,this.className=t}eq(e){return e.text===this.text&&e.className===this.className}toDOM(){let e=document.createElement("span");return e.textContent=this.text,e.className=this.className,e}ignoreEvent(){return!1}},Xh=class extends Ce{constructor(e,t,n,r,s){super(),this.source=e,this.alt=t,this.raw=n,this.from=r,this.to=s}eq(e){return e.source===this.source&&e.alt===this.alt&&e.raw===this.raw&&e.from===this.from&&e.to===this.to}toDOM(e){let t=document.createElement("span");t.className="cm-md-image-preview",t.setAttribute("role","figure");let n=document.createElement("img");n.src=this.source,n.alt=this.alt,n.draggable=!1,n.addEventListener("error",()=>t.classList.add("cm-md-image-error"),{once:!0});let r=document.createElement("code");r.className="cm-md-image-source",r.textContent=this.raw,r.title="Click to edit image source";let s=o=>{o.preventDefault(),o.stopPropagation(),e.focus(),e.dispatch({selection:{anchor:Math.min(this.from+2,this.to)},userEvent:"select.pointer"})};return r.addEventListener("mousedown",s),r.addEventListener("click",s),n.addEventListener("mousedown",o=>{o.preventDefault(),o.stopPropagation()}),n.addEventListener("click",o=>{o.preventDefault(),o.stopPropagation();let a=n.currentSrc||n.src;a.startsWith("md-asset:")?window.__mdRequestImageRename?.(a):s(o)}),t.append(n,r),t}ignoreEvent(){return!0}},_h=class extends Ce{eq(){return!0}toDOM(){let e=document.createElement("span");return e.className="cm-md-hr",e}ignoreEvent(){return!1}},BP=0,Rh=class extends Ce{constructor(e){super(),this.source=e}eq(e){return e.source===this.source}toDOM(e){let t=document.createElement("figure");t.className="cm-md-mermaid-preview",t.setAttribute("role","img"),t.setAttribute("aria-label","Mermaid diagram. Click to edit source.");let n=document.createElement("div");n.className="cm-md-mermaid-stage",n.textContent="Rendering diagram\u2026",t.appendChild(n),t.addEventListener("mousedown",o=>{o.preventDefault(),e.focus();let a=e.posAtDOM(t);e.dispatch({selection:{anchor:a+1},userEvent:"select.pointer"})});let r=window.mermaid;if(!r||typeof r.render!="function")return n.textContent="Mermaid preview unavailable. Click to edit source.",t;let s=`md-editor-mermaid-${++BP}`;return Promise.resolve(r.render(s,this.source)).then(({svg:o})=>{n.innerHTML=o;let a=n.querySelector("svg"),l=a?.viewBox?.baseVal;a&&l?.width>0&&l?.height>0&&(t.style.setProperty("--mm-aspect",`${l.width} / ${l.height}`),a.removeAttribute("width"),a.removeAttribute("height"),a.setAttribute("preserveAspectRatio","xMidYMid meet"),a.style.width="100%",a.style.height="100%"),e.requestMeasure()}).catch(()=>{n.textContent="Unable to render Mermaid diagram. Click to edit source.",t.classList.add("cm-md-mermaid-error"),e.requestMeasure()}),t}ignoreEvent(){return!0}},e0=new WeakMap,Ah=ie.define({map:(i,e)=>e.mapPos(i,1,ge.TrackAfter)??void 0}),En=fe.define({create:()=>new Set,update(i,e){if(!e.docChanged&&!e.effects.some(n=>n.is(Ah)))return i;let t=new Set([...i].map(n=>e.changes.mapPos(n,1,ge.TrackAfter)).filter(n=>n!=null));for(let n of e.effects)n.is(Ah)&&(t.has(n.value)?t.delete(n.value):t.add(n.value));return t}}),wh=i=>'",Xo=class extends Ce{constructor(e){super(),Object.assign(this,e)}eq(e){return e.fenceFrom===this.fenceFrom&&e.infoFrom===this.infoFrom&&e.infoTo===this.infoTo&&e.rawInfo===this.rawInfo&&e.detectedLanguage===this.detectedLanguage&&e.wrapped===this.wrapped&&e.plain===this.plain}toDOM(e){let t=document.createElement("span");t.className="cm-md-code-language",t.contentEditable="false";let n=document.createElement("input");n.type="text",n.className="cm-md-code-language-input",n.autocomplete="off",n.spellcheck=!1,n.value=this.language,n.readOnly=!!this.plain,n.placeholder="language",n.setAttribute("aria-label","Code block language"),n.dataset.fenceFrom=String(this.fenceFrom);let r=this.rawInfo.match(/^\S+([\s\S]*)$/)?.[1]||"",s=n.value,o=!0,a=!1,l=()=>{if(this.plain)return;let f=n.value.trim().split(/\s+/,1)[0].toLowerCase(),u=f?f+r:"";u!==this.rawInfo&&n.value!==s&&(a=!0,e.dispatch({changes:{from:this.infoFrom,to:this.infoTo,insert:u},userEvent:"input"}))};n.addEventListener("change",l),n.addEventListener("keydown",f=>{f.stopPropagation(),f.key==="Enter"?(f.preventDefault(),l(),n.blur(),e.focus()):f.key==="Escape"&&(f.preventDefault(),o=!1,n.value=this.language,n.blur(),e.focus())}),n.addEventListener("mousedown",f=>f.stopPropagation()),n.addEventListener("click",f=>f.stopPropagation()),n.addEventListener("blur",()=>{o&&!a&&l(),a=!1,o=!0}),t.appendChild(n);let c=(f,u,O,m)=>{let p=document.createElement("button");return p.type="button",p.className=`cm-md-code-action ${O}`,p.title=f,p.setAttribute("aria-label",f),p.innerHTML=wh(u),p.addEventListener("mousedown",b=>{b.preventDefault(),b.stopPropagation()}),p.addEventListener("click",b=>{b.preventDefault(),b.stopPropagation(),m(p)}),t.appendChild(p),p};return c(this.wrapped?"Unwrap code":"Wrap code",this.wrapped?"unwrap":"wrap","cm-md-code-toggle-wrap",()=>e.dispatch({effects:Ah.of(e.state.doc.lineAt(this.fenceFrom).from)})).setAttribute("aria-pressed",String(this.wrapped)),c("Copy code","copy","cm-md-code-copy",async f=>{let u=e.state.doc.lineAt(this.fenceFrom),O=U(e.state).resolve(this.plain?u.to:this.fenceFrom+1,-1);for(;O&&O.name!==(this.plain?"CodeBlock":"FencedCode");)O=O.parent;if(!O)return;let m=this.plain?O.getChildren("CodeText").map(p=>e.state.sliceDoc(p.from,p.to)).join(""):Ao(e.state,O).source;try{let p=e0.get(e);p?p(m):await navigator.clipboard.writeText(m),f.innerHTML=wh("check"),f.title="Code copied",f.setAttribute("aria-label",f.title),clearTimeout(f.copyTimer),f.copyTimer=setTimeout(()=>{f.innerHTML=wh("copy"),f.title="Copy code",f.setAttribute("aria-label",f.title)},1100)}catch{}}),t}ignoreEvent(){return!0}};function vo(i,e=!1){let t=[],n="",r=0,s=()=>t.push({text:n.trim(),from:r+n.length-n.trimStart().length,to:r+n.trimEnd().length}),o=0,a=0;for(let c=0;cc.text)}function UP(i){let e=i.trim(),t=e.startsWith(":"),n=e.endsWith(":"),r=e.replace(/^:/,"").replace(/:$/,"");return/^-{3,}$/.test(r)?t&&n?"center":t?"left":n?"right":"none":null}function Wh(i){let e=i.endsWith(` `),t=i.replace(/\n$/,"").split(` -`);if(t.length<2)return null;let n=Po(t[0]),r=Po(t[1]).map(BP);if(!n.length||!r.length||r.some(a=>a==null))return null;let s=[n,...t.slice(2).map(a=>Po(a))],o=Math.max(r.length,...s.map(a=>a.length));for(;r.length{let f=i.slice(0,c).replace(/\n+/g," ").length-l;e[h]=r[Math.max(0,Math.min(f,n.length))]})}return s}function UP(i){let e=i.alignments.map((s,o)=>Math.max(3,...i.rows.map(a=>Array.from(a[o]||"").length))),t=s=>"| "+s.map((o,a)=>{let l=Wh(o);return l+" ".repeat(Math.max(0,e[a]-Array.from(l).length))}).join(" | ")+" |",n="| "+i.alignments.map((s,o)=>{let a=e[o];return s==="left"?":"+"-".repeat(Math.max(3,a-1)):s==="right"?"-".repeat(Math.max(3,a-1))+":":s==="center"?":"+"-".repeat(Math.max(3,a-2))+":":"-".repeat(a)}).join(" | ")+" |";return[t(i.rows[0]),n,...i.rows.slice(1).map(t)].join(` +`);if(t.length<2)return null;let n=vo(t[0]),r=vo(t[1]).map(UP);if(!n.length||!r.length||r.some(a=>a==null))return null;let s=[n,...t.slice(2).map(a=>vo(a))],o=Math.max(r.length,...s.map(a=>a.length));for(;r.length{let f=i.slice(0,c).replace(/\n+/g," ").length-l;e[h]=r[Math.max(0,Math.min(f,n.length))]})}return s}function GP(i){let e=i.alignments.map((s,o)=>Math.max(3,...i.rows.map(a=>Array.from(a[o]||"").length))),t=s=>"| "+s.map((o,a)=>{let l=jh(o);return l+" ".repeat(Math.max(0,e[a]-Array.from(l).length))}).join(" | ")+" |",n="| "+i.alignments.map((s,o)=>{let a=e[o];return s==="left"?":"+"-".repeat(Math.max(3,a-1)):s==="right"?"-".repeat(Math.max(3,a-1))+":":s==="center"?":"+"-".repeat(Math.max(3,a-2))+":":"-".repeat(a)}).join(" | ")+" |";return[t(i.rows[0]),n,...i.rows.slice(1).map(t)].join(` `)+(i.trailingNewline?` -`:"")}var GP=1,Lr=null,NP=ki.parser.configure(Lh),e0=new WeakMap;function wh(i,e){let t={StrongEmphasis:"cm-md-strong",Emphasis:"cm-md-emphasis",Strikethrough:"cm-md-strikethrough",Highlight:"cm-md-highlight"},n=(o,a,l)=>{if(!a)return;let c=document.createTextNode(a);e0.set(c,l),o.append(c)},r=(o,a,l,c)=>{let h=l;for(let f=a.firstChild;f;f=f.nextSibling)f.fromc||(n(o,e.slice(h,f.from),h),s(o,f),h=f.to);n(o,e.slice(h,c),h)},s=(o,a)=>{if(a.name==="InlineCode"){let l=document.createElement("code");l.className="cm-md-inline-code";let c=e.slice(a.firstChild.to,a.lastChild.from).replace(/\n/g," "),h=c.startsWith(" ")&&c.endsWith(" ")&&/[^ ]/.test(c);h&&(c=c.slice(1,-1)),n(l,c,a.firstChild.to+(h?1:0)),o.append(l)}else if(t[a.name]){let l=document.createElement("span");l.className=t[a.name],r(l,a,a.firstChild.to,a.lastChild.from),o.append(l)}else if(a.name==="Link"&&a.getChild("URL")){let l=a.getChildren("LinkMark"),c=document.createElement("span");c.className="cm-md-link",r(c,a,l[0].to,l[1].from),o.append(c)}else a.name==="Escape"?n(o,e.slice(a.from+1,a.to),a.from+1):a.name==="Image"?n(o,e.slice(a.from,a.to),a.from):r(o,a,a.from,a.to)};i.replaceChildren(),s(i,NP.parse(e).topNode)}var ke=new WeakMap,t0=$e.define(),jh=new WeakMap,FP=new Set(["bold","italic","strikethrough","highlight","code","link"]);function Ao(i,e){if(e.invalid||e.tableFrom<0||e.tableFrom>=i.state.doc.length)return null;let n=i.state.doc.lineAt(e.tableFrom).number+(e.row===0?0:e.row+1);if(n>i.state.doc.lines)return null;let r=i.state.doc.line(n),s=Po(r.text,!0)[e.column];return s?{from:r.from+s.from,to:r.from+Math.max(s.from,s.to)}:null}function zn(i){let e=ke.get(i);if(!e||e.invalid||e.element.dataset.tableEditing!=="true")return;let t=window.getSelection();if(!t?.anchorNode||!t.focusNode||!e.element.contains(t.anchorNode)||!e.element.contains(t.focusNode))return;let n=(a,l)=>{let c=document.createRange();return c.selectNodeContents(e.element),c.setEnd(a,l),c.toString().length};e.anchor=n(t.anchorNode,t.anchorOffset),e.head=n(t.focusNode,t.focusOffset);let r=e.element.innerText||"",s=[e.anchor,e.head];Wh(r,s),e.sourceAnchor=s[0],e.sourceHead=s[1];let o=se.create({doc:r,selection:P.single(e.anchor,e.head),extensions:[Ic({extensions:Lh})]});jh.get(i)?.(qh(o))}function vo(i){let e=ke.get(i);if(!e||e.invalid)return null;zn(i),e.element.dataset.tableEditing==="true"&&e.element.blur();let t=Ao(i,e);if(!t)return null;let n=t.to-t.from;return i.dispatch({selection:P.single(t.from+Math.max(0,Math.min(e.sourceAnchor??e.anchor,n)),t.from+Math.max(0,Math.min(e.sourceHead??e.head,n)))}),e}function $o(i,e){let t=Ao(i,e);if(!t)return;let n=i.state.selection.main,r=Math.max(0,Math.min(n.anchor-t.from,t.to-t.from)),s=Math.max(0,Math.min(n.head-t.from,t.to-t.from)),o=i.dom.querySelector(`.cm-md-table-widget[data-table-from="${e.tableFrom}"] [data-table-row="${e.row}"][data-table-column="${e.column}"]`);if(!o)return;o.focus({preventScroll:!0});let a=o.firstChild||o.appendChild(document.createTextNode(""));window.getSelection()?.setBaseAndExtent(a,r,a,s),zn(i)}var HP=Ve.fromClass(class{constructor(i){this.view=i,this.capture=()=>zn(i),this.clear=e=>{e.target.closest?.(".cm-md-table-cell")||ke.delete(i)},document.addEventListener("selectionchange",this.capture),i.dom.addEventListener("mousedown",this.clear,!0)}update(i){let e=ke.get(this.view);e&&i.docChanged&&i.transactions.some(t=>t.docChanged&&!t.annotation(t0))&&ke.set(this.view,{...e,invalid:!0})}destroy(){document.removeEventListener("selectionchange",this.capture),this.view.dom.removeEventListener("mousedown",this.clear,!0),ke.delete(this.view),jh.delete(this.view)}}),Ah=class extends Te{constructor(e,t){super(),this.source=e,this.from=t}eq(e){return e.source===this.source&&e.from===this.from}toDOM(e){let t=Mh(this.source),n=document.createElement("div");if(n.className="cm-md-table-widget",n.dataset.tableFrom=String(this.from),!t)return n.textContent=this.source,n;let r=null,s=null,o=null,a=!1,l=document.createElement("div");l.className="cm-md-table-scroll",n.appendChild(l);let c=document.createElement("table");c.className="cm-md-table-grid",l.appendChild(c);let h=(Q,S)=>{requestAnimationFrame(()=>requestAnimationFrame(()=>{let x=e.dom.querySelector(`.cm-md-table-widget[data-table-from="${this.from}"]`);(x&&x.querySelector(`[data-table-row="${Q}"][data-table-column="${S}"]`))?.focus()}))},f=(Q=null,S=!1)=>{let x=UP(t);if(x===this.source){Q&&n.querySelector(`[data-table-row="${Q.row}"][data-table-column="${Q.column}"]`)?.focus();return}r=null,e.dispatch({changes:{from:this.from,to:this.from+this.source.length,insert:x},annotations:S?t0.of(!0):[],userEvent:"input"}),Q&&h(Q.row,Q.column)},u=()=>{!r||r.element.dataset.tableEditing!=="true"||(t.rows[r.row][r.column]=r.element.innerText||"")},O=()=>{n.querySelectorAll(".is-table-part-selected").forEach(Q=>{Q.classList.remove("is-table-part-selected")}),n.classList.remove("is-table-row-selected","is-table-column-selected","is-table-range-selected"),n.removeAttribute("aria-label"),s=null},p=(Q,S,x)=>{if(u(),O(),Array.from(n.querySelectorAll(".cm-md-table-cell")).filter($=>{let A=Number($.dataset.tableRow),_=Number($.dataset.tableColumn);return A>=S.top&&A<=S.bottom&&_>=S.left&&_<=S.right}).forEach($=>{$.classList.add("is-table-part-selected")}),n.classList.add(Q==="row"?"is-table-row-selected":Q==="column"?"is-table-column-selected":"is-table-range-selected"),window.getSelection()?.removeAllRanges(),s={kind:Q,row:x.row,column:x.column,bounds:S},ke.delete(e),n.tabIndex=0,Q==="range"){let $=S.bottom-S.top+1,A=S.right-S.left+1;n.setAttribute("aria-label",`Selected ${$} rows by ${A} columns.`)}else{let $=Q==="row"?x.row:x.column+1;n.setAttribute("aria-label",`Selected ${Q} ${$}. Press Delete to remove it.`)}n.focus()},m=(Q,S,x)=>{let v=Q==="row"?{top:S,right:t.alignments.length-1,bottom:S,left:0}:{top:0,right:x,bottom:t.rows.length-1,left:x};p(Q,v,{row:S,column:x})},b=(Q,S,x,v)=>{p("range",{top:Math.min(Q,x),right:Math.max(S,v),bottom:Math.max(Q,x),left:Math.min(S,v)},{row:Q,column:S})},g=(Q,S,x)=>{if(u(),Q==="selectRow"&&S>0)m("row",S,x);else if(Q==="selectColumn"&&t.alignments.length>1)m("column",S,x);else if(Q==="insertRowBefore"&&S>0)t.rows.splice(S,0,Array(t.alignments.length).fill("")),f({row:S,column:x});else if(Q==="insertRowAfter")t.rows.splice(S+1,0,Array(t.alignments.length).fill("")),f({row:S+1,column:x});else if(Q==="duplicateRow"&&S>0)t.rows.splice(S+1,0,[...t.rows[S]]),f({row:S+1,column:x});else if(Q==="deleteRow"&&S>0)t.rows.splice(S,1),f({row:Math.min(S,t.rows.length-1),column:x});else if(Q==="insertColumnBefore"){for(let v of t.rows)v.splice(x,0,"");t.alignments.splice(x,0,"none"),f({row:S,column:x})}else if(Q==="insertColumnAfter"){for(let v of t.rows)v.splice(x+1,0,"");t.alignments.splice(x+1,0,"none"),f({row:S,column:x+1})}else if(Q==="deleteColumn"&&t.alignments.length>1){for(let v of t.rows)v.splice(x,1);t.alignments.splice(x,1),f({row:S,column:Math.min(x,t.alignments.length-1)})}};return t.rows.forEach((Q,S)=>{let x=document.createElement("tr");c.appendChild(x),Q.forEach((v,$)=>{let A=document.createElement(S===0?"th":"td"),_=document.createElement("div");if(_.className="cm-md-table-cell",_.contentEditable="plaintext-only",_.spellcheck=!0,wh(_,v),_.dataset.tableRow=String(S),_.dataset.tableColumn=String($),S===0){let W=`Column ${$+1}`;_.dataset.placeholder=W;let T=()=>{(_.innerText||"").trim()?_.removeAttribute("aria-label"):_.setAttribute("aria-label",W)};T(),_.addEventListener("input",T)}t.alignments[$]!=="none"&&(_.style.textAlign=t.alignments[$]),_.addEventListener("focus",()=>{O(),(_.textContent!==t.rows[S][$]||_.childElementCount)&&(_.textContent=t.rows[S][$]),_.dataset.tableEditing="true",ke.set(e,{tableFrom:this.from,row:S,column:$,element:_,anchor:0,head:0}),r={row:S,column:$,element:_}}),_.addEventListener("contextmenu",W=>{W.preventDefault(),_.focus(),r={row:S,column:$,element:_};let T=String(GP++);Lr={token:T,perform:k=>g(k,S,$)},window.__mdRequestTableContextMenu?.({token:T,canInsertRowAbove:S>0,canDuplicateRow:S>0,canDeleteRow:S>0,canDeleteColumn:t.alignments.length>1,showsDuplicateRow:!0})}),_.addEventListener("blur",()=>{if(zn(e),!r||r.element!==_)return;let W=_.innerText||"",T=W!==t.rows[S][$]||!Ao(e,{tableFrom:this.from,row:S,column:$});t.rows[S][$]=W,r=null,delete _.dataset.tableEditing,wh(_,t.rows[S][$]),T&&f(null,!0)}),_.addEventListener("keydown",W=>{if((W.metaKey||W.ctrlKey)&&["b","i"].includes(W.key.toLowerCase())){W.preventDefault();let C=vo(e);if(!C)return;At(W.key.toLowerCase()==="b"?"**":"*")(e),C&&$o(e,C);return}if(W.key==="Escape"){W.preventDefault(),r=null,_.blur(),delete _.dataset.tableEditing,wh(_,t.rows[S][$]),ke.delete(e),e.focus();return}if(W.key!=="Tab"&&W.key!=="Enter")return;W.preventDefault(),t.rows[S][$]=_.innerText||"";let T=W.key==="Tab"&&W.shiftKey,k=S,w=$+(T?-1:1);w<0?(k--,w=t.alignments.length-1):w>=t.alignments.length&&(k++,w=0),k<0?(k=0,w=0):k>=t.rows.length&&t.rows.push(Array(t.alignments.length).fill("")),f({row:k,column:w})}),A.appendChild(_),x.appendChild(A)})}),n.addEventListener("mousedown",Q=>{if(Q.button!==0)return;let S=Q.target.closest?.(".cm-md-table-cell");if(!S)return;let x=Number(S.dataset.tableRow),v=Number(S.dataset.tableColumn);if(!Number.isInteger(x)||x<0||!Number.isInteger(v))return;Q.stopPropagation();let $=null;if(S.dataset.tableEditing!=="true"&&Q.detail===1&&!Q.shiftKey&&!Q.metaKey&&!Q.ctrlKey&&!Q.altKey&&S.textContent!==t.rows[x][v]){let T=document.caretRangeFromPoint?.(Q.clientX,Q.clientY),k=T&&e0.get(T.startContainer);k!=null&&S.contains(T.startContainer)&&($=k+T.startOffset,Q.preventDefault())}S.focus({preventScroll:!0});let A=T=>{let k=S.firstChild;k&&window.getSelection()?.setBaseAndExtent(k,$,k,T)};$!=null&&A($),o={cell:S,row:x,column:v,head:S,active:!1,dragged:!1};let _=T=>{document.removeEventListener("mousemove",W,!0),document.removeEventListener("mouseup",_,!0),o?.active?(T.preventDefault(),window.getSelection()?.removeAllRanges(),a=!0):zn(e),o=null},W=T=>{if(!o)return;let w=document.elementFromPoint?.(T.clientX,T.clientY)?.closest?.(".cm-md-table-cell")||T.target.closest?.(".cm-md-table-cell");if(!(!w||!n.contains(w))){if(w===o.cell&&!o.active){if($!=null&&(T.preventDefault(),o.dragged||=Math.hypot(T.clientX-Q.clientX,T.clientY-Q.clientY)>3,o.dragged)){let C=document.caretRangeFromPoint?.(T.clientX,T.clientY);C?.startContainer===S.firstChild&&A(C.startOffset)}return}w!==o.head&&(T.preventDefault(),o.active=!0,o.head=w,b(o.row,o.column,Number(w.dataset.tableRow),Number(w.dataset.tableColumn)))}};document.addEventListener("mousemove",W,!0),document.addEventListener("mouseup",_,!0)},!0),n.addEventListener("click",Q=>{a&&(a=!1,Q.preventDefault(),Q.stopPropagation())},!0),n.addEventListener("keydown",Q=>{if(!s)return;if(Q.key==="Escape"){Q.preventDefault(),O(),e.focus();return}if(Q.key!=="Backspace"&&Q.key!=="Delete")return;if(s.kind==="range"){Q.preventDefault();return}Q.preventDefault();let S=s;O(),g(S.kind==="row"?"deleteRow":"deleteColumn",S.row,S.column)}),n}ignoreEvent(){return!0}},Zo=te.define();function Ph(i,e,t,n=0){let r=[];if(e){let o=new RegExp(e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),"giu"),a=i.toString();for(let l of a.matchAll(o)){let c=l.index;(!t||c===0||!/[A-Za-z0-9_]/.test(a[c-1]))&&r.push({from:c,to:c+l[0].length})}}n=r.length?Math.min(Math.max(n,0),r.length-1):-1;let s=R.set(r.map((o,a)=>R.mark({class:a===n?"cm-find-match cm-find-current":"cm-find-match"}).range(o.from,o.to)));return{query:e,beginsWith:t,matches:r,index:n,decorations:s}}var Pi=he.define({create:i=>Ph(i.doc,"",!1),update(i,e){for(let t of e.effects)if(t.is(Zo)){let{query:n,beginsWith:r,index:s}=t.value;return Ph(e.state.doc,n,r,s)}return e.docChanged?Ph(e.state.doc,i.query,i.beginsWith,i.index):i},provide:i=>z.decorations.from(i,e=>e.decorations)});function Xo(i,e,t){let n=i.field(Pi),r=n.matches[n.index];return!!r&&r.frome}var KP=z.baseTheme({".cm-find-match":{backgroundColor:"#ffe58a",color:"#201800",borderRadius:"2px"},".cm-find-current":{backgroundColor:"#ffad33",outline:"1px solid #9b5700"}});function Zg(i){let e=[];return(zs(i,i.doc.length,80)||U(i)).iterate({enter(n){if(n.name!=="Table")return;if(Xo(i,n.from,n.to))return!1;let r=i.doc.sliceString(n.from,n.to);if(Mh(r))return e.push(R.replace({block:!0,widget:new Ah(r,n.from)}).range(n.from,n.to)),!1}}),R.set(e,!0)}var JP=he.define({create:Zg,update:(i,e)=>e.docChanged||e.effects.some(t=>t.is(Zo))?Zg(e.state):i,provide:i=>z.decorations.from(i)}),_o=class extends Te{constructor(e,t){super(),this.from=e,this.checked=t}eq(e){return this.from===e.from&&this.checked===e.checked}toDOM(e){let t=document.createElement("span");t.className="cm-md-task-marker";let n=document.createElement("input");return n.type="checkbox",n.checked=this.checked,n.setAttribute("aria-label",this.checked?"Mark task incomplete":"Mark task complete"),n.addEventListener("mousedown",r=>{r.preventDefault(),r.stopPropagation()}),n.addEventListener("change",()=>{e.dispatch({changes:{from:this.from,to:this.from+1,insert:n.checked?"x":" "},userEvent:"input"}),e.focus()}),t.append(n,document.createTextNode(" ")),t}ignoreEvent(){return!0}},ev=Dc({nonTightLists:!1});function tv(i){return i.state.selection.ranges.every(e=>e.empty&&/^[ \t]*(?:>[ \t]*)*[-+*][ \t]+\[[ xX]\](?:[ \t]|$)/.test(i.state.doc.lineAt(e.head).text))?ev({state:i.state,dispatch:e=>{let t=e.state,n=t.changeByRange(r=>{let s=t.doc.lineAt(r.head);return r.empty&&s.text===""&&s.number>1&&t.doc.line(s.number-1).text.trim()!==""?{changes:{from:r.head,insert:t.lineBreak},range:P.cursor(r.head+t.lineBreak.length)}:{range:r}});i.dispatch([e,t.update(n,{userEvent:"input",scrollIntoView:!0})])}}):!1}var Ue=R.replace({}),Eg=R.replace({widget:new Mr("\u2022","cm-md-bullet")}),qg=R.mark({class:"cm-md-bullet-source"}),zg=new Map,iv=i=>{let e=zg.get(i);return e||(e=R.replace({widget:new Mr(i,"cm-md-ordered")}),zg.set(i,e)),e},nv=R.mark({class:"cm-md-ordered-source"}),rv=R.replace({widget:new Xh}),sv=R.line({class:"cm-md-rule-line"}),Zn=/^([ \t]*)([-+*]|\d+[.)])([ \t]+|$)/,ov=R.replace({widget:new Mr(" ","cm-md-join")}),Zh={},av=i=>R.line({class:"cm-md-h"+i});for(let i=1;i<=6;i++)Zh[i]=av(i);var lv=R.line({class:"cm-md-heading-inactive"}),Lg=R.line({class:"cm-md-heading-after-blank"}),cv=R.line({class:"cm-md-image-line"}),Mg=R.line({class:"cm-md-line-collapsed"}),pt={line:22.8,blankGap:4,paragraph:12,quote:18,alert:24,table:24,hr:12},hv=new Set(["Paragraph","FencedCode","CodeBlock","Blockquote","BulletList","OrderedList","Table","HorizontalRule","HTMLBlock"]),Wg=new Map,vh=i=>{let e=Wg.get(i);return e||(e=R.line({class:"cm-md-block-separator",attributes:{style:`height:${i}px;min-height:0;line-height:${i}px;overflow:hidden;`}}),Wg.set(i,e)),e},jg=new Map,fv=i=>{let e=jg.get(i);return e||(e=R.line({class:"cm-md-block-gap",attributes:{style:`padding-bottom:${i}px;--cm-md-block-gap:${i}px;`}}),jg.set(i,e)),e},Vg=new Map,uv=(i,e,t,n)=>{let r=`${i}:${e}:${t}:${n}`,s=Vg.get(r);if(!s){let o=[],a=[];for(let l=0;lli.create({tagName:"div",attributes:{class:`cm-md-code-card${s?" cm-md-code-card-wrapped":""}`}}).range(n,r)),!0)}var Qv=R.line({class:"cm-md-table"}),Bg=R.line({class:"cm-md-list-item-gap"}),xo=R.line({class:"cm-md-list-item"}),Ug=new Map,$h=i=>{let e=Ug.get(i);return e||(e=R.line({class:`cm-md-list-depth-${i}`,attributes:{style:`padding-inline-start:${i*2.1}em;text-indent:-2.1em;`}}),Ug.set(i,e)),e},bv=R.mark({class:"cm-md-fence-info"}),Sv=R.mark({class:"cm-md-code-fence-source-hidden"}),yv=R.mark({class:"cm-md-heading-source-hidden"}),kv=R.mark({class:"cm-md-heading-prefix"}),xv=R.mark({class:"cm-md-heading-marker"}),wv=R.line({class:"cm-md-setext-marker-line"}),Pv=R.mark({class:"cm-md-setext-source"}),vv=R.mark({class:"cm-md-link"}),$v=R.mark({class:"cm-md-url"}),Tv=R.mark({class:"cm-md-strong"}),Cv=R.mark({class:"cm-md-emphasis"}),Xv=R.mark({class:"cm-md-strikethrough"}),_v=R.mark({class:"cm-md-highlight"}),Rv=R.line({class:"cm-md-frontmatter"}),Av=R.line({class:"cm-md-frontmatter-first"}),Zv=R.line({class:"cm-md-frontmatter-last"}),Ev=R.mark({class:"cm-md-frontmatter-delim"}),qv=R.line({attributes:{dir:"auto"}});function Gg(i){let e=[];for(let t=1;t<=i.doc.lines;t++)e.push(qv.range(i.doc.line(t).from));return R.set(e)}var zv=he.define({create:Gg,update(i,e){return e.docChanged?Gg(e.state):i},provide:i=>z.decorations.from(i)});function Ro(i,e){let t="",n=null,r=[];for(let g=e.node.firstChild;g;g=g.nextSibling)g.name==="CodeInfo"&&(n=g,t=i.doc.sliceString(g.from,g.to)),g.name==="CodeMark"&&r.push(g);let s=t.trim().split(/\s+/,1)[0].toLowerCase(),o=i.doc.lineAt(e.from),a=r[0],l=o.to1&&(c=i.doc.lineAt(r[r.length-1].from).from);let h=i.sliceDoc(o.from,e.from),f=/^ {0,3}$/.test(h)?h.length:0,u=e.node.getChildren("CodeText"),O=u.map((g,Q)=>{let S=Q?i.doc.lineAt(g.from).number-i.doc.lineAt(u[Q-1].to).number:0;return` -`.repeat(S)+i.sliceDoc(g.from,g.to)}).join("").replace(new RegExp("^ {0,"+f+"}","gm"),""),p=s?"":VP(O),m=n?.from??a?.to??o.to,b=n?.to??m;return{explicitLanguage:s,language:s||p,detectedLanguage:p,metadata:t.trim().split(/\s+/).slice(1).join(" "),rawInfo:t,infoFrom:m,infoTo:b,sourceFrom:l,source:O}}function To(i,e){let t=U(i).resolve(e,-1);for(;t;){if(t.name==="FencedCode")return{from:t.from,to:t.to,closed:t.node.lastChild?.name==="CodeMark"};t=t.parent}return null}var Eh=te.define(),vt=he.define({create:()=>null,update(i,e){if(e.docChanged)return null;for(let t of e.effects)if(t.is(Eh))return t.value;return i?.activateOnSelection&&e.isUserEvent("select.pointer")?{selection:e.state.selection.main,focused:!0,fence:e.state.field(en),activateOnSelection:!1}:i}}),Lv=Ve.fromClass(class{constructor(i){this.view=i,this.releaseTimer=null,this.down=e=>{e.button!==0||e.target.closest("input, textarea, button, select, .cm-md-table-cell")||(clearTimeout(this.releaseTimer),!i.state.field(vt)&&i.dispatch({effects:Eh.of({selection:i.state.selection.main,focused:i.hasFocus,fence:i.state.field(en),activateOnSelection:e.detail===1&&!e.shiftKey&&!e.metaKey&&!e.ctrlKey&&!e.altKey})}))},this.finish=()=>{i.state.field(vt)&&(clearTimeout(this.releaseTimer),this.releaseTimer=setTimeout(()=>this.release(),0))},this.release=()=>{clearTimeout(this.releaseTimer),i.state.field(vt)&&i.dispatch({effects:Eh.of(null)})},this.move=e=>{e.buttons===0&&this.finish()},i.contentDOM.addEventListener("mousedown",this.down,!0),i.contentDOM.addEventListener("keydown",this.release,!0),i.dom.ownerDocument.addEventListener("mouseup",this.finish),i.dom.ownerDocument.addEventListener("mousemove",this.move),i.dom.ownerDocument.addEventListener("dragend",this.finish),i.win.addEventListener("blur",this.finish)}destroy(){clearTimeout(this.releaseTimer);let i=this.view;i.contentDOM.removeEventListener("mousedown",this.down,!0),i.contentDOM.removeEventListener("keydown",this.release,!0),i.dom.ownerDocument.removeEventListener("mouseup",this.finish),i.dom.ownerDocument.removeEventListener("mousemove",this.move),i.dom.ownerDocument.removeEventListener("dragend",this.finish),i.win.removeEventListener("blur",this.finish)}}),Mv=z.mouseSelectionStyle.of((i,e)=>{if(e.button!==0||e.detail!==1||e.shiftKey||e.metaKey||e.ctrlKey||e.altKey)return null;let t=i.posAtCoords({x:e.clientX,y:e.clientY});if(t==null)return null;let n=!1;return{update(r){t=r.changes.mapPos(t)},get(r){n||=Math.hypot(r.clientX-e.clientX,r.clientY-e.clientY)>3;let s=n?i.posAtCoords({x:r.clientX,y:r.clientY},!1)??t:t;return P.single(t,s)}}}),en=he.define({create:()=>null,update(i,e){i&&e.docChanged&&(i={from:e.changes.mapPos(i.from,1),to:e.changes.mapPos(i.to,-1)});let t=e.state.selection.main;if(!t.empty)return null;let n=t.head;return e.isUserEvent("select.pointer")||!i&&e.docChanged&&e.isUserEvent("input")?To(e.state,n):!i||ni.to?null:e.docChanged&&To(e.state,n)||i}});function wo(i){let e=[],t=i.field(en);return(zs(i,i.doc.length,80)||U(i)).iterate({enter(r){if(r.name!=="FencedCode")return;let s=Ro(i,r),o=t!=null&&r.from<=t.from&&r.to>=t.to;if(s.language==="mermaid"&&!o&&!Xo(i,r.from,r.to))return e.push(R.replace({block:!0,widget:new _h(s.source)}).range(r.from,r.to)),!1}}),R.set(e,!0)}var Wv=he.define({create:i=>wo(i),update:(i,e)=>{if(e.state.field(vt))return e.startState.field(vt)?.activateOnSelection&&!e.state.field(vt).activateOnSelection?wo(e.state):i;if(e.startState.field(vt))return wo(e.state);let t=e.startState.field(en),n=e.state.field(en),r=t?.from!==n?.from||t?.to!==n?.to,s=!1;return e.docChanged&&e.changes.iterChanges((o,a,l,c,h)=>{if(s)return;let u=e.startState.doc.sliceString(o,a)+h.toString();s=/[`~]|mermaid/i.test(u)}),r||s||e.effects.some(o=>o.is(Zo))||e.docChanged&&e.state.field(Pi).query?wo(e.state):e.docChanged?i.map(e.changes):i},provide:i=>z.decorations.from(i)});function jv(i,e){let t=e.get(i.sourceFrom);if(t?.language===i.detectedLanguage&&t.source===i.source)return t.tokens;let n=[],r=Ie.matchLanguageName(Kg,i.detectedLanguage,!1)?.support?.language;return r&&Rs(r.parser.parse(i.source),i0,(s,o,a)=>{n.push({from:s,to:o,mark:R.mark({class:a})})}),e.set(i.sourceFrom,{language:i.detectedLanguage,source:i.source,tokens:n}),n}function Ng(i,e){let t=[],{state:n}=i,r=n.field(vt),s=r?.selection??n.selection.main,o=r?r.fence:n.field(en),l=(r?r.focused:i.hasFocus)&&(s.empty||i.compositionStarted)?s.head:null,c=(k,w)=>Xo(n,k,w)||l!=null&&l>=k&&l<=w,h=k=>{let w=n.doc.lineAt(k);return c(w.from,w.to)},f=k=>Xo(n,k.from,k.to)||o!=null&&k.from<=o.from&&k.to>=o.to,u=new Set,O=new Set,p=(k,w)=>{let C=n.doc.lineAt(k),j=w.spec.class+"@"+C.from;u.has(j)||(u.add(j),t.push(w.range(C.from)))},m=(k,w,C)=>{let j=k;for(;j<=w;){let y=n.doc.lineAt(j);if(p(y.from,C),y.to>=w)break;j=y.to+1}},b=k=>{let w=0;for(let C of k)w=C===" "?w+(4-w%4):w+1;return w},g=(k,w)=>{let C=w[1],j=w[2],y=w[3],q=k.from+C.length,de=q+j.length,Zt=Math.floor(b(C)/4)+1;if(p(k.from,xo),p(k.from,$h(Zt)),O.add(k.from),k.number>1&&Zn.test(n.doc.line(k.number-1).text)&&p(k.from,Bg),C.length>0&&t.push(Ue.range(k.from,q)),/^[-+*]$/.test(j)&&/^\s*\[[ xX]\](\s|$)/.test(k.text.slice(de-k.from))){let G=k.text.slice(de-k.from).match(/^[ \t]*\[([ xX])\][ \t]?/);p(k.from,Dg),G[1]!==" "&&p(k.from,Yg);let N=de+G[0].indexOf("[");t.push(R.replace({widget:new _o(N+1,G[1]!==" ")}).range(q,de+G[0].length))}else/^[-+*]$/.test(j)&&(h(q)?(t.push(qg.range(q,de)),y.length>0&&t.push(Ue.range(de,de+y.length))):t.push(Eg.range(q,de+y.length)))},Q=k=>{let w=n.doc.lineAt(k),C=w.number,j=Math.max(C-64,1);for(;C>j&&n.doc.line(C-1).text.length===0;)C--;return{line:w,first:C,count:w.number-C}},S=k=>{switch(k.name){case"Blockquote":{let w=n.doc.lineAt(k.from);return/^ {0,3}> ?\[!(note|tip|important|warning|caution)\]/i.test(w.text)?pt.alert:pt.quote}case"Table":return pt.table;case"HorizontalRule":return pt.hr;case"FencedCode":return Ro(n,k).language==="mermaid"?pt.table:pt.paragraph;default:return pt.paragraph}},x=-1,v=k=>{let w=n.doc.lineAt(k.from);w.number===1||w.from<=x||Q(k.from).count===0&&p(n.doc.line(w.number-1).from,fv(S(k)))},$=k=>{let w=Q(k.from);if(w.count===0)return;let C=n.doc.line(w.line.number-1);if(w.first===1){p(C.from,vh(pt.blankGap+S(k)));return}let j=S(k),y=pt.blankGap+j;p(C.from,vh(y))},A=0,_=[],W=[],T=new Map;for(let{from:k,to:w}of i.visibleRanges){let C=null;U(n).iterate({from:k,to:w,enter:y=>{A++;let q=y.name;if(A===2&&q==="Document"&&(C=A),C!=null&&A===C+1&&hv.has(q)&&($(y),v(y)),q==="Frontmatter"){let X=y.to>y.from&&n.doc.lineAt(y.to).from===y.to?y.to-1:y.to;x=X,m(y.from,X,Rv),p(y.from,Av),p(n.doc.lineAt(X).from,Zv);return}if(q==="DashLine"){t.push(Ev.range(y.from,y.to));return}let de=q.match(/^ATXHeading(\d)$/);if(de){p(y.from,Zh[+de[1]]),Q(y.from).count>0&&p(y.from,Lg),h(y.from)||p(y.from,lv);return}let Zt=q.match(/^SetextHeading(\d)$/);if(Zt){p(y.from,Zh[+Zt[1]]),Q(y.from).count>0&&p(y.from,Lg);return}if(q==="HeaderMark"){let X=y.node.parent;if(X&&/^ATXHeading/.test(X.name)){t.push(xv.range(y.from,y.to));let G=n.doc.sliceString(y.to,y.to+1),N=y.to+(G===" "?1:0),B=y.from===X.from,re=n.doc.lineAt(y.from),ne=B&&/^ {0,3}$/.test(n.doc.sliceString(re.from,y.from))?re.from:y.from;B&&t.push(kv.range(ne,N)),h(y.from)||t.push(yv.range(ne,N))}else X&&/^SetextHeading/.test(X.name)&&(p(y.from,wv),t.push(Pv.range(y.from,y.to)));return}if(q==="Blockquote"){W.push(y.from);let X=n.doc.lineAt(y.from),G=y.node.parent?.name==="Blockquote",N=y.node.prevSibling;for(;N?.name==="QuoteMark";)N=N.prevSibling;let B=G&&N?pt.quote:0,re=y.from;for(;re<=y.to;){let ne=n.doc.lineAt(re),ye=T.get(ne.from)||{depth:0,starts:0,ends:0,gap:0};if(ye.depth=Math.max(ye.depth,W.length),ne.from===X.from&&(ye.starts++,ye.gap+=B),ne.to>=y.to&&ye.ends++,T.set(ne.from,ye),ne.to>=y.to)break;re=ne.to+1}return}if(q==="QuoteMark"){if(!h(y.from)){let X=n.doc.sliceString(y.to,y.to+1);t.push(Ue.range(y.from,y.to+(X===" "?1:0)))}return}if(q==="Paragraph"&&/^(Blockquote|ListItem)$/.test(y.node.parent?.name||"")){let X=n.doc.lineAt(y.from);if(X.number>n.doc.lineAt(y.node.parent.from).number){let G=n.doc.line(X.number-1);/^(?:[ >]*)$/.test(G.text)&&p(G.from,vh(pt.paragraph))}}if(q==="Escape"&&!c(y.from,y.to)){t.push(Ue.range(y.from,y.from+1));return}if(q==="StrongEmphasis"){t.push(Tv.range(y.from,y.to));return}if(q==="Emphasis"){t.push(Cv.range(y.from,y.to));return}if(q==="Strikethrough"){t.push(Xv.range(y.from,y.to));return}if(q==="Highlight"){let X=[];for(let B=y.node.firstChild;B;B=B.nextSibling)B.name==="HighlightMark"&&X.push(B);let G=X.length?X[0].to:y.from,N=X.length>1?X[X.length-1].from:y.to;G1?X[X.length-1].from:y.to;G")?G.slice(1,-1):G;if(!N||N.startsWith("//"))return!1;let B=y.from+2;for(let ne=y.node.firstChild;ne;ne=ne.nextSibling)if(ne.name==="LinkMark"&&n.doc.sliceString(ne.from,ne.to)==="]"){B=ne.from;break}let re=n.doc.sliceString(y.from+2,B);if(!c(y.from,y.to)){let ne=n.doc.lineAt(y.from);ne.text.trim()===n.doc.sliceString(y.from,y.to)&&p(ne.from,cv),t.push(R.replace({widget:new Ch(N,re,n.doc.sliceString(y.from,y.to),y.from,y.to)}).range(y.from,y.to))}return!1}if(q==="Link"){y.node.getChild("URL")&&t.push(vv.range(y.from,y.to));return}if(q==="LinkMark"){let X=y.node.parent;X&&X.name==="Link"&&X.getChild("URL")&&!c(X.from,X.to)&&t.push(Ue.range(y.from,y.to));return}if(q==="URL"){let X=y.node.parent;X&&X.name==="Link"&&(c(X.from,X.to)?t.push($v.range(y.from,y.to)):t.push(Ue.range(y.from,y.to)));return}if(q==="BulletList"||q==="OrderedList"){_.push(y.from);return}if(q==="ListItem"){let X=y.from===_[_.length-1],G=_.length>1,N=n.doc.lineAt(y.from),B=N.number>1&&n.doc.line(N.number-1).text.trim()==="";(!X||G)&&!B&&p(y.from,Bg),m(y.from,y.to,xo),/^[-+*][ \t]+\[[xX]\](?:[ \t]|$)/.test(n.doc.sliceString(y.from,N.to))&&m(y.from,y.to,Yg),p(y.from,$h(_.length)),O.add(n.doc.lineAt(y.from).from);{let ni=n.doc.lineAt(y.from).to+1;for(;ni<=y.to;){let tt=n.doc.lineAt(ni),F=tt.text;if(F.length>0&&!Zn.test(F)){p(tt.from,Ov),p(tt.from,$h(_.length));let qt=F.match(/^[ \t]+/);qt&&t.push(Ue.range(tt.from,tt.from+qt[0].length))}if(tt.to>=y.to)break;ni=tt.to+1}}let re=n.doc.lineAt(y.from),ye=re.text.match(Zn)?.[1]??"";ye.length>0&&t.push(Ue.range(re.from,re.from+ye.length));return}if(q==="ListMark"){let X=n.doc.sliceString(y.from,y.to),G=n.doc.lineAt(y.from),N=/^\s*\[[ xX]\](\s|$)/.test(G.text.slice(y.to-G.from));if(N&&/^[-+*]$/.test(X)){p(G.from,Dg);let B=G.text.slice(y.to-G.from).match(/^[ \t]*\[([ xX])\][ \t]?/),re=y.to+B[0].indexOf("[");t.push(R.replace({widget:new _o(re+1,B[1]!==" ")}).range(y.from,y.to+B[0].length))}else if((X==="-"||X==="*"||X==="+")&&!N){let B=n.doc.sliceString(y.to,y.to+1);h(y.from)?(t.push(qg.range(y.from,y.to)),B===" "&&t.push(Ue.range(y.to,y.to+1))):t.push(Eg.range(y.from,y.to+(B===" "?1:0)))}else if(/^\d+[.)]$/.test(X)&&!N){let B=n.doc.sliceString(y.to,y.to+1);h(y.from)?(t.push(nv.range(y.from,y.to)),B===" "&&t.push(Ue.range(y.to,y.to+1))):t.push(iv(X).range(y.from,y.to+(B===" "?1:0)))}return}if(q==="FencedCode"||q==="CodeBlock"){let X=n.doc.lineAt(y.from),G=n.doc.lineAt(y.to),N=q==="FencedCode"&&y.node.lastChild?.name==="CodeMark",B=G.number-X.number>=(N?2:1),re=q==="FencedCode"&&!h(X.from),ne=N&&!h(G.from),ye=re&&B?n.doc.line(X.number+1):X,Et=B?ye:X,ni=!B&&q==="FencedCode"?X:ne?n.doc.line(G.number-1):G;if(q==="FencedCode"){let F=Ro(n,y);if(F.detectedLanguage)for(let qt of jv(F,e))t.push(qt.mark.range(F.sourceFrom+qt.from,F.sourceFrom+qt.to));t.push(R.widget({widget:new Co({wrapped:n.field(En).has(X.from),fenceFrom:y.from,language:F.language,detectedLanguage:F.detectedLanguage,rawInfo:F.rawInfo,infoFrom:F.infoFrom,infoTo:F.infoTo}),side:-1}).range(Et.from))}else t.push(R.widget({widget:new Co({fenceFrom:X.from,language:"text",rawInfo:"",plain:!0,wrapped:n.field(En).has(X.from)}),side:-1}).range(Et.from));let tt=y.from;for(;tt<=y.to;){let F=n.doc.lineAt(tt),qt=q==="CodeBlock"&&u.has(`${xo.spec.class}@${F.from}`)?F.text.match(Zn):null;if(qt){if(g(F,qt),F.to>=y.to)break;tt=F.to+1;continue}let Dh=q==="FencedCode"&&F.from===Et.from;if((re&&F.from===X.from||ne&&F.from===G.from)&&!Dh)p(F.from,Mg);else if(q==="FencedCode"&&!B&&F.from!==X.from&&!Dh)p(F.from,Mg);else{let Ln=F.from===ye.from,Yh=F.from===ni.from;Ln&&p(F.from,pv),Yh&&p(F.from,mv),!Ln&&!Yh&&p(F.from,dv),t.push(R.line({attributes:{"data-code-scroll-group":String(X.from),class:n.field(En).has(X.from)?"cm-md-code-wrapped":""}}).range(F.from)),F.length&&t.push(gv.range(F.from,F.to))}if(q==="CodeBlock"&&!h(F.from)){let Ln=F.text.match(/^(?: {4}|\t)/)?.[0];Ln&&t.push(Ue.range(F.from,F.from+Ln.length))}if(F.to>=y.to)break;tt=F.to+1}return}if(q==="CodeInfo"){let X=y.node.parent;if(!X)return;h(X.from)&&t.push(bv.range(y.from,y.to));return}if(q==="Table"){m(y.from,y.to,Qv);return}if(q==="HorizontalRule"){h(y.from)||(p(y.from,sv),t.push(rv.range(y.from,y.to)));return}},leave:y=>{A--;let q=y.name;(q==="BulletList"||q==="OrderedList")&&_.pop(),q==="Blockquote"&&W.pop()}});for(let[y,q]of T)p(y,uv(q.depth,q.starts,q.ends,q.gap));T.clear();let j=k;for(;j<=w;){let y=n.doc.lineAt(j);if(u.has(`${xo.spec.class}@${y.from}`)&&!O.has(y.from)){let de=y.text.match(Zn);de&&g(y,de)}if(y.to>=w)break;j=y.to+1}}return R.set(t,!0)}function qh(i){let e=i.selection.main,t=new Set,n=0;for(let r=U(i).resolveInner(e.from,1);r;r=r.parent){if(r.toi.decorations,provide:i=>z.blockWrappers.of(e=>e.plugin(i)?.codeWrappers??li.set([]))}),Dv=Ve.fromClass(class{constructor(i){this.schedule(i)}update(i){(i.docChanged||i.selectionSet||i.viewportChanged||i.geometryChanged||i.focusChanged)&&this.schedule(i.view)}docViewUpdate(i){this.schedule(i)}schedule(i){i.requestMeasure({key:this,read(e){return Array.from(e.dom.querySelectorAll(".cm-md-heading-prefix")).map(t=>{let n=t.closest(".cm-line");return n?{line:n,width:t.getBoundingClientRect().width}:null}).filter(Boolean)},write(e){for(let{line:t,width:n}of e){let r=`${n}px`;t.style.getPropertyValue("--cm-md-heading-prefix-width")!==r&&t.style.setProperty("--cm-md-heading-prefix-width",r)}}})}});function Fg(i){let e=[],t=i.selection.main,n=(s,o)=>t.from<=o&&t.to>=s;return(zs(i,i.doc.length,80)||U(i)).iterate({enter:s=>{let o=s.name;if(o==="FencedCode"||o==="CodeBlock"||o==="HTMLBlock")return!1;if(o!=="Paragraph")return;if(n(s.from,s.to))return!1;let a=i.doc.lineAt(s.from);for(;a.toFg(i),update:(i,e)=>e.docChanged||e.selection?Fg(e.state):i,provide:i=>z.decorations.from(i)}),i0=yn.define([{tag:[d.keyword,d.modifier,d.operatorKeyword,d.controlKeyword,d.definitionKeyword,d.moduleKeyword],class:"hl-keyword"},{tag:[d.string,d.special(d.string),d.regexp],class:"hl-string"},{tag:[d.comment,d.blockComment,d.lineComment],class:"hl-comment"},{tag:[d.number,d.integer,d.float,d.character],class:"hl-number"},{tag:[d.bool,d.atom,d.null],class:"hl-keyword"},{tag:[d.typeName,d.namespace],class:"hl-type"},{tag:[d.className,d.definition(d.typeName)],class:"hl-declaration"},{tag:[d.function(d.variableName),d.function(d.propertyName),d.macroName],class:"hl-function"},{tag:[d.propertyName,d.labelName],class:"hl-property"},{tag:d.attributeName,class:"hl-attribute"},{tag:[d.standard(d.variableName),d.standard(d.typeName)],class:"hl-builtin"},{tag:[d.meta,d.processingInstruction],class:"hl-meta"},{tag:[d.punctuation,d.operator],class:"hl-plain"}]);function At(i){return e=>{let t=e.state.changeByRange(n=>{let{from:r,to:s}=n;for(;rr&&/\s/.test(e.state.sliceDoc(s-1,s));)s--;let o=i.length,a=e.state.sliceDoc(Math.max(0,r-o),r),l=e.state.sliceDoc(s,s+o);if(a===i&&l===i)return{changes:[{from:r-o,to:r,insert:""},{from:s,to:s+o,insert:""}],range:P.range(r-o,s-o)};let c=e.state.sliceDoc(r,s);return c.startsWith(i)&&c.endsWith(i)&&c.length>=o*2?{changes:{from:r,to:s,insert:c.slice(o,c.length-o)},range:P.range(r,s-o*2)}:{changes:{from:r,to:s,insert:i+c+i},range:P.range(r+o,s+o)}});return e.dispatch(t,{scrollIntoView:!0,userEvent:"input"}),!0}}function Vh(i,e){let t=i.selection.main,n=i.doc.lineAt(t.from).number,r=i.doc.lineAt(t.to).number,s=[];for(let o=n;o<=r;o++)s.push(i.doc.line(o));return e(s)}function Th(i,e){return t=>{let n=Vh(t.state,r=>{let s=r.every(o=>e.test(o.text));return r.map(o=>{if(s){let a=o.text.match(e);return{from:o.from,to:o.from+a[0].length,insert:""}}return e.test(o.text)?null:{from:o.from,insert:i}}).filter(Boolean)});return n.length&&Wr(t,n),!0}}function Wr(i,e){let t=i.state.changes(e),n=i.state.selection.main;i.dispatch({changes:e,selection:P.range(t.mapPos(n.anchor,1),t.mapPos(n.head,1)),userEvent:"input"})}function Yv(i){let e=/^\d+\.\s/,t=Vh(i.state,n=>{let r=n.every(o=>e.test(o.text)),s=1;return n.map(o=>{if(r){let a=o.text.match(e);return{from:o.from,to:o.from+a[0].length,insert:""}}return e.test(o.text)?null:{from:o.from,insert:`${s++}. `}}).filter(Boolean)});return t.length&&Wr(i,t),!0}function zh(i){let e=i.selection.main,t=i.doc.lineAt(e.from).number,n=i.doc.lineAt(e.empty?e.to:e.to-1).number;return Array.from({length:n-t+1},(r,s)=>i.doc.line(t+s))}function n0(i){let e=/^([ \t]*(?:>[ \t]*)*)(?:([-+*]|\d+[.)])([ \t]+)(\[[ xX]\][ \t]+)?)?/.exec(i);return{prefix:e[0],indent:e[1],style:e[2]?e[4]?"task":/^\d/.test(e[2])?"ordered":"bullet":"none"}}function qn(i,e,t){for(let n=U(i).resolve(e,1);n;n=n.parent)if(t.includes(n.name))return n;return null}function r0(i){return zh(i).filter(e=>!/^[ \t>]*$/.test(e.text)&&!qn(i,e.from+e.text.search(/\S/),["FencedCode","CodeBlock"]))}function Iv(i,e){if(!["none","bullet","ordered","task"].includes(e))return!1;let t=r0(i.state).map((n,r)=>{let s=n0(n.text);if(s.style===e)return null;let o=e==="none"?"":e==="bullet"?"- ":e==="task"?"- [ ] ":`${r+1}. `;return{from:n.from,to:n.from+s.prefix.length,insert:s.indent+o}}).filter(Boolean);return t.length&&Wr(i,t),i.focus(),!0}function Ji(i){return e=>{let t=Vh(e.state,n=>n.map(r=>{let s=r.text.match(/^(#{1,6})\s+/),a=(s?s[1].length:0)===i||i===0?"":"#".repeat(i)+" ";return{from:r.from,to:r.from+(s?s[0].length:0),insert:a}}));return e.dispatch({changes:t,userEvent:"input"}),!0}}function s0(i){let e={InlineCode:"code",FencedCode:"fenced",CodeBlock:"plain",Blockquote:"quote",Table:"table"};for(let t=U(i).resolve(i.selection.main.head,i.selection.main.empty?1:-1);t;t=t.parent)if(e[t.name])return{style:e[t.name],node:t};return{style:"none",node:null}}function Bv(i,e,t=""){if(!["none","quote","code","plain","fenced","table"].includes(e))return!1;let n=i.state,r=n.selection.main,s=s0(n),o=s.node&&r.from>=s.node.from&&r.to<=s.node.to;if(e==="code"&&(!o||s.style==="code"))return s.style!=="code"&&At("`")(i),i.focus(),!0;if(e==="table"){let p=qn(n,r.to,["FencedCode"]),m=p?p.to:n.doc.lineAt(r.to).to,g=(p&&p.lastChild?.name!=="CodeMark"?` -`+n.sliceDoc(p.firstChild.from,p.firstChild.to):"")+` +`:"")}var NP=1,Mr=null,FP=yi.parser.configure(Mh),t0=new WeakMap;function Ph(i,e){let t={StrongEmphasis:"cm-md-strong",Emphasis:"cm-md-emphasis",Strikethrough:"cm-md-strikethrough",Highlight:"cm-md-highlight"},n=(o,a,l)=>{if(!a)return;let c=document.createTextNode(a);t0.set(c,l),o.append(c)},r=(o,a,l,c)=>{let h=l;for(let f=a.firstChild;f;f=f.nextSibling)f.fromc||(n(o,e.slice(h,f.from),h),s(o,f),h=f.to);n(o,e.slice(h,c),h)},s=(o,a)=>{if(a.name==="InlineCode"){let l=document.createElement("code");l.className="cm-md-inline-code";let c=e.slice(a.firstChild.to,a.lastChild.from).replace(/\n/g," "),h=c.startsWith(" ")&&c.endsWith(" ")&&/[^ ]/.test(c);h&&(c=c.slice(1,-1)),n(l,c,a.firstChild.to+(h?1:0)),o.append(l)}else if(t[a.name]){let l=document.createElement("span");l.className=t[a.name],r(l,a,a.firstChild.to,a.lastChild.from),o.append(l)}else if(a.name==="Link"&&a.getChild("URL")){let l=a.getChildren("LinkMark"),c=document.createElement("span");c.className="cm-md-link",r(c,a,l[0].to,l[1].from),o.append(c)}else a.name==="Escape"?n(o,e.slice(a.from+1,a.to),a.from+1):a.name==="Image"?n(o,e.slice(a.from,a.to),a.from):r(o,a,a.from,a.to)};i.replaceChildren(),s(i,FP.parse(e).topNode)}var ke=new WeakMap,i0=Te.define(),Vh=new WeakMap,HP=new Set(["bold","italic","strikethrough","highlight","code","link"]);function Zo(i,e){if(e.invalid||e.tableFrom<0||e.tableFrom>=i.state.doc.length)return null;let n=i.state.doc.lineAt(e.tableFrom).number+(e.row===0?0:e.row+1);if(n>i.state.doc.lines)return null;let r=i.state.doc.line(n),s=vo(r.text,!0)[e.column];return s?{from:r.from+s.from,to:r.from+Math.max(s.from,s.to)}:null}function zn(i){let e=ke.get(i);if(!e||e.invalid||e.element.dataset.tableEditing!=="true")return;let t=window.getSelection();if(!t?.anchorNode||!t.focusNode||!e.element.contains(t.anchorNode)||!e.element.contains(t.focusNode))return;let n=(a,l)=>{let c=document.createRange();return c.selectNodeContents(e.element),c.setEnd(a,l),c.toString().length};e.anchor=n(t.anchorNode,t.anchorOffset),e.head=n(t.focusNode,t.focusOffset);let r=e.element.innerText||"",s=[e.anchor,e.head];jh(r,s),e.sourceAnchor=s[0],e.sourceHead=s[1];let o=se.create({doc:r,selection:v.single(e.anchor,e.head),extensions:[Bc({extensions:Mh})]});Vh.get(i)?.(zh(o))}function $o(i){let e=ke.get(i);if(!e||e.invalid)return null;zn(i),e.element.dataset.tableEditing==="true"&&e.element.blur();let t=Zo(i,e);if(!t)return null;let n=t.to-t.from;return i.dispatch({selection:v.single(t.from+Math.max(0,Math.min(e.sourceAnchor??e.anchor,n)),t.from+Math.max(0,Math.min(e.sourceHead??e.head,n)))}),e}function To(i,e){let t=Zo(i,e);if(!t)return;let n=i.state.selection.main,r=Math.max(0,Math.min(n.anchor-t.from,t.to-t.from)),s=Math.max(0,Math.min(n.head-t.from,t.to-t.from)),o=i.dom.querySelector(`.cm-md-table-widget[data-table-from="${e.tableFrom}"] [data-table-row="${e.row}"][data-table-column="${e.column}"]`);if(!o)return;o.focus({preventScroll:!0});let a=o.firstChild||o.appendChild(document.createTextNode(""));window.getSelection()?.setBaseAndExtent(a,r,a,s),zn(i)}var KP=De.fromClass(class{constructor(i){this.view=i,this.capture=()=>zn(i),this.clear=e=>{e.target.closest?.(".cm-md-table-cell")||ke.delete(i)},document.addEventListener("selectionchange",this.capture),i.dom.addEventListener("mousedown",this.clear,!0)}update(i){let e=ke.get(this.view);e&&i.docChanged&&i.transactions.some(t=>t.docChanged&&!t.annotation(i0))&&ke.set(this.view,{...e,invalid:!0})}destroy(){document.removeEventListener("selectionchange",this.capture),this.view.dom.removeEventListener("mousedown",this.clear,!0),ke.delete(this.view),Vh.delete(this.view)}}),Zh=class extends Ce{constructor(e,t){super(),this.source=e,this.from=t}eq(e){return e.source===this.source&&e.from===this.from}toDOM(e){let t=Wh(this.source),n=document.createElement("div");if(n.className="cm-md-table-widget",n.dataset.tableFrom=String(this.from),!t)return n.textContent=this.source,n;let r=null,s=null,o=null,a=!1,l=document.createElement("div");l.className="cm-md-table-scroll",n.appendChild(l);let c=document.createElement("table");c.className="cm-md-table-grid",l.appendChild(c);let h=(Q,S)=>{requestAnimationFrame(()=>requestAnimationFrame(()=>{let x=e.dom.querySelector(`.cm-md-table-widget[data-table-from="${this.from}"]`);(x&&x.querySelector(`[data-table-row="${Q}"][data-table-column="${S}"]`))?.focus()}))},f=(Q=null,S=!1)=>{let x=GP(t);if(x===this.source){Q&&n.querySelector(`[data-table-row="${Q.row}"][data-table-column="${Q.column}"]`)?.focus();return}r=null,e.dispatch({changes:{from:this.from,to:this.from+this.source.length,insert:x},annotations:S?i0.of(!0):[],userEvent:"input"}),Q&&h(Q.row,Q.column)},u=()=>{!r||r.element.dataset.tableEditing!=="true"||(t.rows[r.row][r.column]=r.element.innerText||"")},O=()=>{n.querySelectorAll(".is-table-part-selected").forEach(Q=>{Q.classList.remove("is-table-part-selected")}),n.classList.remove("is-table-row-selected","is-table-column-selected","is-table-range-selected"),n.removeAttribute("aria-label"),s=null},m=(Q,S,x)=>{if(u(),O(),Array.from(n.querySelectorAll(".cm-md-table-cell")).filter($=>{let Z=Number($.dataset.tableRow),X=Number($.dataset.tableColumn);return Z>=S.top&&Z<=S.bottom&&X>=S.left&&X<=S.right}).forEach($=>{$.classList.add("is-table-part-selected")}),n.classList.add(Q==="row"?"is-table-row-selected":Q==="column"?"is-table-column-selected":"is-table-range-selected"),window.getSelection()?.removeAllRanges(),s={kind:Q,row:x.row,column:x.column,bounds:S},ke.delete(e),n.tabIndex=0,Q==="range"){let $=S.bottom-S.top+1,Z=S.right-S.left+1;n.setAttribute("aria-label",`Selected ${$} rows by ${Z} columns.`)}else{let $=Q==="row"?x.row:x.column+1;n.setAttribute("aria-label",`Selected ${Q} ${$}. Press Delete to remove it.`)}n.focus()},p=(Q,S,x)=>{let P=Q==="row"?{top:S,right:t.alignments.length-1,bottom:S,left:0}:{top:0,right:x,bottom:t.rows.length-1,left:x};m(Q,P,{row:S,column:x})},b=(Q,S,x,P)=>{m("range",{top:Math.min(Q,x),right:Math.max(S,P),bottom:Math.max(Q,x),left:Math.min(S,P)},{row:Q,column:S})},g=(Q,S,x)=>{if(u(),Q==="selectRow"&&S>0)p("row",S,x);else if(Q==="selectColumn"&&t.alignments.length>1)p("column",S,x);else if(Q==="insertRowBefore"&&S>0)t.rows.splice(S,0,Array(t.alignments.length).fill("")),f({row:S,column:x});else if(Q==="insertRowAfter")t.rows.splice(S+1,0,Array(t.alignments.length).fill("")),f({row:S+1,column:x});else if(Q==="duplicateRow"&&S>0)t.rows.splice(S+1,0,[...t.rows[S]]),f({row:S+1,column:x});else if(Q==="deleteRow"&&S>0)t.rows.splice(S,1),f({row:Math.min(S,t.rows.length-1),column:x});else if(Q==="insertColumnBefore"){for(let P of t.rows)P.splice(x,0,"");t.alignments.splice(x,0,"none"),f({row:S,column:x})}else if(Q==="insertColumnAfter"){for(let P of t.rows)P.splice(x+1,0,"");t.alignments.splice(x+1,0,"none"),f({row:S,column:x+1})}else if(Q==="deleteColumn"&&t.alignments.length>1){for(let P of t.rows)P.splice(x,1);t.alignments.splice(x,1),f({row:S,column:Math.min(x,t.alignments.length-1)})}};return t.rows.forEach((Q,S)=>{let x=document.createElement("tr");c.appendChild(x),Q.forEach((P,$)=>{let Z=document.createElement(S===0?"th":"td"),X=document.createElement("div");if(X.className="cm-md-table-cell",X.contentEditable="plaintext-only",X.spellcheck=!0,Ph(X,P),X.dataset.tableRow=String(S),X.dataset.tableColumn=String($),S===0){let W=`Column ${$+1}`;X.dataset.placeholder=W;let T=()=>{(X.innerText||"").trim()?X.removeAttribute("aria-label"):X.setAttribute("aria-label",W)};T(),X.addEventListener("input",T)}t.alignments[$]!=="none"&&(X.style.textAlign=t.alignments[$]),X.addEventListener("focus",()=>{O(),(X.textContent!==t.rows[S][$]||X.childElementCount)&&(X.textContent=t.rows[S][$]),X.dataset.tableEditing="true",ke.set(e,{tableFrom:this.from,row:S,column:$,element:X,anchor:0,head:0}),r={row:S,column:$,element:X}}),X.addEventListener("contextmenu",W=>{W.preventDefault(),X.focus(),r={row:S,column:$,element:X};let T=String(NP++);Mr={token:T,perform:C=>g(C,S,$)},window.__mdRequestTableContextMenu?.({token:T,canInsertRowAbove:S>0,canDuplicateRow:S>0,canDeleteRow:S>0,canDeleteColumn:t.alignments.length>1,showsDuplicateRow:!0})}),X.addEventListener("blur",()=>{if(zn(e),!r||r.element!==X)return;let W=X.innerText||"",T=W!==t.rows[S][$]||!Zo(e,{tableFrom:this.from,row:S,column:$});t.rows[S][$]=W,r=null,delete X.dataset.tableEditing,Ph(X,t.rows[S][$]),T&&f(null,!0)}),X.addEventListener("keydown",W=>{if((W.metaKey||W.ctrlKey)&&["b","i"].includes(W.key.toLowerCase())){W.preventDefault();let w=$o(e);if(!w)return;Et(W.key.toLowerCase()==="b"?"**":"*")(e),w&&To(e,w);return}if(W.key==="Escape"){W.preventDefault(),r=null,X.blur(),delete X.dataset.tableEditing,Ph(X,t.rows[S][$]),ke.delete(e),e.focus();return}if(W.key!=="Tab"&&W.key!=="Enter")return;W.preventDefault(),t.rows[S][$]=X.innerText||"";let T=W.key==="Tab"&&W.shiftKey,C=S,k=$+(T?-1:1);k<0?(C--,k=t.alignments.length-1):k>=t.alignments.length&&(C++,k=0),C<0?(C=0,k=0):C>=t.rows.length&&t.rows.push(Array(t.alignments.length).fill("")),f({row:C,column:k})}),Z.appendChild(X),x.appendChild(Z)})}),n.addEventListener("mousedown",Q=>{if(Q.button!==0)return;let S=Q.target.closest?.(".cm-md-table-cell");if(!S)return;let x=Number(S.dataset.tableRow),P=Number(S.dataset.tableColumn);if(!Number.isInteger(x)||x<0||!Number.isInteger(P))return;Q.stopPropagation();let $=null;if(S.dataset.tableEditing!=="true"&&Q.detail===1&&!Q.shiftKey&&!Q.metaKey&&!Q.ctrlKey&&!Q.altKey&&S.textContent!==t.rows[x][P]){let T=document.caretRangeFromPoint?.(Q.clientX,Q.clientY),C=T&&t0.get(T.startContainer);C!=null&&S.contains(T.startContainer)&&($=C+T.startOffset,Q.preventDefault())}S.focus({preventScroll:!0});let Z=T=>{let C=S.firstChild;C&&window.getSelection()?.setBaseAndExtent(C,$,C,T)};$!=null&&Z($),o={cell:S,row:x,column:P,head:S,active:!1,dragged:!1};let X=T=>{document.removeEventListener("mousemove",W,!0),document.removeEventListener("mouseup",X,!0),o?.active?(T.preventDefault(),window.getSelection()?.removeAllRanges(),a=!0):zn(e),o=null},W=T=>{if(!o)return;let k=document.elementFromPoint?.(T.clientX,T.clientY)?.closest?.(".cm-md-table-cell")||T.target.closest?.(".cm-md-table-cell");if(!(!k||!n.contains(k))){if(k===o.cell&&!o.active){if($!=null&&(T.preventDefault(),o.dragged||=Math.hypot(T.clientX-Q.clientX,T.clientY-Q.clientY)>3,o.dragged)){let w=document.caretRangeFromPoint?.(T.clientX,T.clientY);w?.startContainer===S.firstChild&&Z(w.startOffset)}return}k!==o.head&&(T.preventDefault(),o.active=!0,o.head=k,b(o.row,o.column,Number(k.dataset.tableRow),Number(k.dataset.tableColumn)))}};document.addEventListener("mousemove",W,!0),document.addEventListener("mouseup",X,!0)},!0),n.addEventListener("click",Q=>{a&&(a=!1,Q.preventDefault(),Q.stopPropagation())},!0),n.addEventListener("keydown",Q=>{if(!s)return;if(Q.key==="Escape"){Q.preventDefault(),O(),e.focus();return}if(Q.key!=="Backspace"&&Q.key!=="Delete")return;if(s.kind==="range"){Q.preventDefault();return}Q.preventDefault();let S=s;O(),g(S.kind==="row"?"deleteRow":"deleteColumn",S.row,S.column)}),n}ignoreEvent(){return!0}},Eo=ie.define();function vh(i,e,t,n=0){let r=[];if(e){let o=new RegExp(e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),"giu"),a=i.toString();for(let l of a.matchAll(o)){let c=l.index;(!t||c===0||!/[A-Za-z0-9_]/.test(a[c-1]))&&r.push({from:c,to:c+l[0].length})}}n=r.length?Math.min(Math.max(n,0),r.length-1):-1;let s=R.set(r.map((o,a)=>R.mark({class:a===n?"cm-find-match cm-find-current":"cm-find-match"}).range(o.from,o.to)));return{query:e,beginsWith:t,matches:r,index:n,decorations:s}}var wi=fe.define({create:i=>vh(i.doc,"",!1),update(i,e){for(let t of e.effects)if(t.is(Eo)){let{query:n,beginsWith:r,index:s}=t.value;return vh(e.state.doc,n,r,s)}return e.docChanged?vh(e.state.doc,i.query,i.beginsWith,i.index):i},provide:i=>q.decorations.from(i,e=>e.decorations)});function _o(i,e,t){let n=i.field(wi),r=n.matches[n.index];return!!r&&r.frome}var JP=q.baseTheme({".cm-find-match":{backgroundColor:"#ffe58a",color:"#201800",borderRadius:"2px"},".cm-find-current":{backgroundColor:"#ffad33",outline:"1px solid #9b5700"}});function Eg(i){let e=[];return(Ls(i,i.doc.length,80)||U(i)).iterate({enter(n){if(n.name!=="Table")return;if(_o(i,n.from,n.to))return!1;let r=i.doc.sliceString(n.from,n.to);if(Wh(r))return e.push(R.replace({block:!0,widget:new Zh(r,n.from)}).range(n.from,n.to)),!1}}),R.set(e,!0)}var ev=fe.define({create:Eg,update:(i,e)=>e.docChanged||e.effects.some(t=>t.is(Eo))?Eg(e.state):i,provide:i=>q.decorations.from(i)}),Ro=class extends Ce{constructor(e,t){super(),this.from=e,this.checked=t}eq(e){return this.from===e.from&&this.checked===e.checked}toDOM(e){let t=document.createElement("span");t.className="cm-md-task-marker";let n=document.createElement("input");return n.type="checkbox",n.checked=this.checked,n.setAttribute("aria-label",this.checked?"Mark task incomplete":"Mark task complete"),n.addEventListener("mousedown",r=>{r.preventDefault(),r.stopPropagation()}),n.addEventListener("change",()=>{e.dispatch({changes:{from:this.from,to:this.from+1,insert:n.checked?"x":" "},userEvent:"input"}),e.focus()}),t.append(n,document.createTextNode(" ")),t}ignoreEvent(){return!0}},tv=Yc({nonTightLists:!1});function iv(i){return i.state.selection.ranges.every(e=>e.empty&&/^[ \t]*(?:>[ \t]*)*[-+*][ \t]+\[[ xX]\](?:[ \t]|$)/.test(i.state.doc.lineAt(e.head).text))?tv({state:i.state,dispatch:e=>{let t=e.state,n=t.changeByRange(r=>{let s=t.doc.lineAt(r.head);return r.empty&&s.text===""&&s.number>1&&t.doc.line(s.number-1).text.trim()!==""?{changes:{from:r.head,insert:t.lineBreak},range:v.cursor(r.head+t.lineBreak.length)}:{range:r}});i.dispatch([e,t.update(n,{userEvent:"input",scrollIntoView:!0})])}}):!1}var Ge=R.replace({}),qg=R.replace({widget:new Wr("\u2022","cm-md-bullet")}),zg=R.mark({class:"cm-md-bullet-source"}),Lg=new Map,nv=i=>{let e=Lg.get(i);return e||(e=R.replace({widget:new Wr(i,"cm-md-ordered")}),Lg.set(i,e)),e},rv=R.mark({class:"cm-md-ordered-source"}),sv=R.replace({widget:new _h}),ov=R.line({class:"cm-md-rule-line"}),Zn=/^([ \t]*)([-+*]|\d+[.)])([ \t]+|$)/,av=R.replace({widget:new Wr(" ","cm-md-join")}),Eh={},lv=i=>R.line({class:"cm-md-h"+i});for(let i=1;i<=6;i++)Eh[i]=lv(i);var cv=R.line({class:"cm-md-heading-inactive"}),Mg=R.line({class:"cm-md-heading-after-blank"}),hv=R.line({class:"cm-md-image-line"}),Wg=R.line({class:"cm-md-line-collapsed"}),gt={line:22.8,blankGap:4,paragraph:12,quote:18,alert:24,table:24,hr:12},fv=new Set(["Paragraph","FencedCode","CodeBlock","Blockquote","BulletList","OrderedList","Table","HorizontalRule","HTMLBlock"]),jg=new Map,$h=i=>{let e=jg.get(i);return e||(e=R.line({class:"cm-md-block-separator",attributes:{style:`height:${i}px;min-height:0;line-height:${i}px;overflow:hidden;`}}),jg.set(i,e)),e},Vg=new Map,uv=i=>{let e=Vg.get(i);return e||(e=R.line({class:"cm-md-block-gap",attributes:{style:`padding-bottom:${i}px;--cm-md-block-gap:${i}px;`}}),Vg.set(i,e)),e},Dg=new Map,Ov=(i,e,t,n)=>{let r=`${i}:${e}:${t}:${n}`,s=Dg.get(r);if(!s){let o=[],a=[];for(let l=0;lai.create({tagName:"div",attributes:{class:`cm-md-code-card${s?" cm-md-code-card-wrapped":""}`}}).range(n,r)),!0)}var bv=R.line({class:"cm-md-table"}),Ug=R.line({class:"cm-md-list-item-gap"}),wo=R.line({class:"cm-md-list-item"}),Gg=new Map,Th=i=>{let e=Gg.get(i);return e||(e=R.line({class:`cm-md-list-depth-${i}`,attributes:{style:`padding-inline-start:${i*2.1}em;text-indent:-2.1em;`}}),Gg.set(i,e)),e},Sv=R.mark({class:"cm-md-fence-info"}),yv=R.mark({class:"cm-md-code-fence-source-hidden"}),kv=R.mark({class:"cm-md-heading-source-hidden"}),xv=R.mark({class:"cm-md-heading-prefix"}),wv=R.mark({class:"cm-md-heading-marker"}),Pv=R.line({class:"cm-md-setext-marker-line"}),vv=R.mark({class:"cm-md-setext-source"}),$v=R.mark({class:"cm-md-link"}),Tv=R.mark({class:"cm-md-url"}),Cv=R.mark({class:"cm-md-strong"}),Xv=R.mark({class:"cm-md-emphasis"}),_v=R.mark({class:"cm-md-strikethrough"}),Rv=R.mark({class:"cm-md-highlight"}),Av=R.line({class:"cm-md-frontmatter"}),Zv=R.line({class:"cm-md-frontmatter-first"}),Ev=R.line({class:"cm-md-frontmatter-last"}),qv=R.mark({class:"cm-md-frontmatter-delim"}),zv=R.line({attributes:{dir:"auto"}});function Ng(i){let e=[];for(let t=1;t<=i.doc.lines;t++)e.push(zv.range(i.doc.line(t).from));return R.set(e)}var Lv=fe.define({create:Ng,update(i,e){return e.docChanged?Ng(e.state):i},provide:i=>q.decorations.from(i)});function Ao(i,e){let t="",n=null,r=[];for(let g=e.node.firstChild;g;g=g.nextSibling)g.name==="CodeInfo"&&(n=g,t=i.doc.sliceString(g.from,g.to)),g.name==="CodeMark"&&r.push(g);let s=t.trim().split(/\s+/,1)[0].toLowerCase(),o=i.doc.lineAt(e.from),a=r[0],l=o.to1&&(c=i.doc.lineAt(r[r.length-1].from).from);let h=i.sliceDoc(o.from,e.from),f=/^ {0,3}$/.test(h)?h.length:0,u=e.node.getChildren("CodeText"),O=u.map((g,Q)=>{let S=Q?i.doc.lineAt(g.from).number-i.doc.lineAt(u[Q-1].to).number:0;return` +`.repeat(S)+i.sliceDoc(g.from,g.to)}).join("").replace(new RegExp("^ {0,"+f+"}","gm"),""),m=s?"":DP(O),p=n?.from??a?.to??o.to,b=n?.to??p;return{explicitLanguage:s,language:s||m,detectedLanguage:m,metadata:t.trim().split(/\s+/).slice(1).join(" "),rawInfo:t,infoFrom:p,infoTo:b,sourceFrom:l,source:O}}function Co(i,e){let t=U(i).resolve(e,-1);for(;t;){if(t.name==="FencedCode")return{from:t.from,to:t.to,closed:t.node.lastChild?.name==="CodeMark"};t=t.parent}return null}var qh=ie.define(),Tt=fe.define({create:()=>null,update(i,e){if(e.docChanged)return null;for(let t of e.effects)if(t.is(qh))return t.value;return i?.activateOnSelection&&e.isUserEvent("select.pointer")?{selection:e.state.selection.main,focused:!0,fence:e.state.field(en),activateOnSelection:!1}:i}}),Mv=De.fromClass(class{constructor(i){this.view=i,this.releaseTimer=null,this.down=e=>{e.button!==0||e.target.closest("input, textarea, button, select, .cm-md-table-cell")||(clearTimeout(this.releaseTimer),!i.state.field(Tt)&&i.dispatch({effects:qh.of({selection:i.state.selection.main,focused:i.hasFocus,fence:i.state.field(en),activateOnSelection:e.detail===1&&!e.shiftKey&&!e.metaKey&&!e.ctrlKey&&!e.altKey})}))},this.finish=()=>{i.state.field(Tt)&&(clearTimeout(this.releaseTimer),this.releaseTimer=setTimeout(()=>this.release(),0))},this.release=()=>{clearTimeout(this.releaseTimer),i.state.field(Tt)&&i.dispatch({effects:qh.of(null)})},this.move=e=>{e.buttons===0&&this.finish()},i.contentDOM.addEventListener("mousedown",this.down,!0),i.contentDOM.addEventListener("keydown",this.release,!0),i.dom.ownerDocument.addEventListener("mouseup",this.finish),i.dom.ownerDocument.addEventListener("mousemove",this.move),i.dom.ownerDocument.addEventListener("dragend",this.finish),i.win.addEventListener("blur",this.finish)}destroy(){clearTimeout(this.releaseTimer);let i=this.view;i.contentDOM.removeEventListener("mousedown",this.down,!0),i.contentDOM.removeEventListener("keydown",this.release,!0),i.dom.ownerDocument.removeEventListener("mouseup",this.finish),i.dom.ownerDocument.removeEventListener("mousemove",this.move),i.dom.ownerDocument.removeEventListener("dragend",this.finish),i.win.removeEventListener("blur",this.finish)}}),Wv=q.mouseSelectionStyle.of((i,e)=>{if(e.button!==0||e.detail!==1||e.shiftKey||e.metaKey||e.ctrlKey||e.altKey)return null;let t=i.posAtCoords({x:e.clientX,y:e.clientY});if(t==null)return null;let n=!1;return{update(r){t=r.changes.mapPos(t)},get(r){n||=Math.hypot(r.clientX-e.clientX,r.clientY-e.clientY)>3;let s=n?i.posAtCoords({x:r.clientX,y:r.clientY},!1)??t:t;return v.single(t,s)}}}),en=fe.define({create:()=>null,update(i,e){i&&e.docChanged&&(i={from:e.changes.mapPos(i.from,1),to:e.changes.mapPos(i.to,-1)});let t=e.state.selection.main;if(!t.empty)return null;let n=t.head;return e.isUserEvent("select.pointer")||!i&&e.docChanged&&e.isUserEvent("input")?Co(e.state,n):!i||ni.to?null:e.docChanged&&Co(e.state,n)||i}});function Po(i){let e=[],t=i.field(en);return(Ls(i,i.doc.length,80)||U(i)).iterate({enter(r){if(r.name!=="FencedCode")return;let s=Ao(i,r),o=t!=null&&r.from<=t.from&&r.to>=t.to;if(s.language==="mermaid"&&!o&&!_o(i,r.from,r.to))return e.push(R.replace({block:!0,widget:new Rh(s.source)}).range(r.from,r.to)),!1}}),R.set(e,!0)}var jv=fe.define({create:i=>Po(i),update:(i,e)=>{if(e.state.field(Tt))return e.startState.field(Tt)?.activateOnSelection&&!e.state.field(Tt).activateOnSelection?Po(e.state):i;if(e.startState.field(Tt))return Po(e.state);let t=e.startState.field(en),n=e.state.field(en),r=t?.from!==n?.from||t?.to!==n?.to,s=!1;return e.docChanged&&e.changes.iterChanges((o,a,l,c,h)=>{if(s)return;let u=e.startState.doc.sliceString(o,a)+h.toString();s=/[`~]|mermaid/i.test(u)}),r||s||e.effects.some(o=>o.is(Eo))||e.docChanged&&e.state.field(wi).query?Po(e.state):e.docChanged?i.map(e.changes):i},provide:i=>q.decorations.from(i)});function Vv(i,e){let t=e.get(i.sourceFrom);if(t?.language===i.detectedLanguage&&t.source===i.source)return t.tokens;let n=[],r=Be.matchLanguageName(Jg,i.detectedLanguage,!1)?.support?.language;return r&&As(r.parser.parse(i.source),n0,(s,o,a)=>{n.push({from:s,to:o,mark:R.mark({class:a})})}),e.set(i.sourceFrom,{language:i.detectedLanguage,source:i.source,tokens:n}),n}function Fg(i,e){let t=[],{state:n}=i,r=n.field(Tt),s=r?.selection??n.selection.main,o=r?r.fence:n.field(en),l=(r?r.focused:i.hasFocus)&&(s.empty||i.compositionStarted)?s.head:null,c=(k,w)=>_o(n,k,w)||l!=null&&l>=k&&l<=w,h=k=>{let w=n.doc.lineAt(k);return c(w.from,w.to)},f=k=>_o(n,k.from,k.to)||o!=null&&k.from<=o.from&&k.to>=o.to,u=k=>l!=null&&l>k&&l{let z=n.doc.lineAt(k),N=w.spec.class+"@"+z.from;O.has(N)||(O.add(N),t.push(w.range(z.from)))},b=(k,w,z)=>{let N=k;for(;N<=w;){let y=n.doc.lineAt(N);if(p(y.from,z),y.to>=w)break;N=y.to+1}},g=k=>{let w=0;for(let z of k)w=z===" "?w+(4-w%4):w+1;return w},Q=(k,w)=>{let z=w[1],N=w[2],y=w[3],j=k.from+z.length,ye=j+N.length,it=Math.floor(g(z)/4)+1;if(p(k.from,wo),p(k.from,Th(it)),m.add(k.from),k.number>1&&Zn.test(n.doc.line(k.number-1).text)&&p(k.from,Ug),z.length>0&&t.push(Ge.range(k.from,j)),/^[-+*]$/.test(N)&&/^\s*\[[ xX]\](\s|$)/.test(k.text.slice(ye-k.from))){let B=k.text.slice(ye-k.from).match(/^[ \t]*\[([ xX])\][ \t]?/),F=ye+B[0].indexOf("[");if(u(F))return;p(k.from,Yg),B[1]!==" "&&p(k.from,Ig),t.push(R.replace({widget:new Ro(F+1,B[1]!==" ")}).range(j,ye+B[0].length))}else/^[-+*]$/.test(N)&&(h(j)?(t.push(zg.range(j,ye)),y.length>0&&t.push(Ge.range(ye,ye+y.length))):t.push(qg.range(j,ye+y.length)))},S=k=>{let w=n.doc.lineAt(k),z=w.number,N=Math.max(z-64,1);for(;z>N&&n.doc.line(z-1).text.length===0;)z--;return{line:w,first:z,count:w.number-z}},x=k=>{switch(k.name){case"Blockquote":{let w=n.doc.lineAt(k.from);return/^ {0,3}> ?\[!(note|tip|important|warning|caution)\]/i.test(w.text)?gt.alert:gt.quote}case"Table":return gt.table;case"HorizontalRule":return gt.hr;case"FencedCode":return Ao(n,k).language==="mermaid"?gt.table:gt.paragraph;default:return gt.paragraph}},P=-1,$=k=>{let w=n.doc.lineAt(k.from);w.number===1||w.from<=P||S(k.from).count===0&&p(n.doc.line(w.number-1).from,uv(x(k)))},Z=k=>{let w=S(k.from);if(w.count===0)return;let z=n.doc.line(w.line.number-1);if(w.first===1){p(z.from,$h(gt.blankGap+x(k)));return}let N=x(k),y=gt.blankGap+N;p(z.from,$h(y))},X=0,W=[],T=[],C=new Map;for(let{from:k,to:w}of i.visibleRanges){let z=null;U(n).iterate({from:k,to:w,enter:y=>{X++;let j=y.name;if(X===2&&j==="Document"&&(z=X),z!=null&&X===z+1&&fv.has(j)&&(Z(y),$(y)),j==="Frontmatter"){let _=y.to>y.from&&n.doc.lineAt(y.to).from===y.to?y.to-1:y.to;P=_,b(y.from,_,Av),p(y.from,Zv),p(n.doc.lineAt(_).from,Ev);return}if(j==="DashLine"){t.push(qv.range(y.from,y.to));return}let ye=j.match(/^ATXHeading(\d)$/);if(ye){p(y.from,Eh[+ye[1]]),S(y.from).count>0&&p(y.from,Mg),h(y.from)||p(y.from,cv);return}let it=j.match(/^SetextHeading(\d)$/);if(it){p(y.from,Eh[+it[1]]),S(y.from).count>0&&p(y.from,Mg);return}if(j==="HeaderMark"){let _=y.node.parent;if(_&&/^ATXHeading/.test(_.name)){t.push(wv.range(y.from,y.to));let B=n.doc.sliceString(y.to,y.to+1),F=y.to+(B===" "?1:0),G=y.from===_.from,ae=n.doc.lineAt(y.from),re=G&&/^ {0,3}$/.test(n.doc.sliceString(ae.from,y.from))?ae.from:y.from;G&&t.push(xv.range(re,F)),h(y.from)||t.push(kv.range(re,F))}else _&&/^SetextHeading/.test(_.name)&&(p(y.from,Pv),t.push(vv.range(y.from,y.to)));return}if(j==="Blockquote"){T.push(y.from);let _=n.doc.lineAt(y.from),B=y.node.parent?.name==="Blockquote",F=y.node.prevSibling;for(;F?.name==="QuoteMark";)F=F.prevSibling;let G=B&&F?gt.quote:0,ae=y.from;for(;ae<=y.to;){let re=n.doc.lineAt(ae),$e=C.get(re.from)||{depth:0,starts:0,ends:0,gap:0};if($e.depth=Math.max($e.depth,T.length),re.from===_.from&&($e.starts++,$e.gap+=G),re.to>=y.to&&$e.ends++,C.set(re.from,$e),re.to>=y.to)break;ae=re.to+1}return}if(j==="QuoteMark"){if(!h(y.from)){let _=n.doc.sliceString(y.to,y.to+1);t.push(Ge.range(y.from,y.to+(_===" "?1:0)))}return}if(j==="Paragraph"&&/^(Blockquote|ListItem)$/.test(y.node.parent?.name||"")){let _=n.doc.lineAt(y.from);if(_.number>n.doc.lineAt(y.node.parent.from).number){let B=n.doc.line(_.number-1);/^(?:[ >]*)$/.test(B.text)&&p(B.from,$h(gt.paragraph))}}if(j==="Escape"&&!c(y.from,y.to)){t.push(Ge.range(y.from,y.from+1));return}if(j==="StrongEmphasis"){t.push(Cv.range(y.from,y.to));return}if(j==="Emphasis"){t.push(Xv.range(y.from,y.to));return}if(j==="Strikethrough"){t.push(_v.range(y.from,y.to));return}if(j==="Highlight"){let _=[];for(let G=y.node.firstChild;G;G=G.nextSibling)G.name==="HighlightMark"&&_.push(G);let B=_.length?_[0].to:y.from,F=_.length>1?_[_.length-1].from:y.to;B1?_[_.length-1].from:y.to;B")?B.slice(1,-1):B;if(!F||F.startsWith("//"))return!1;let G=y.from+2;for(let re=y.node.firstChild;re;re=re.nextSibling)if(re.name==="LinkMark"&&n.doc.sliceString(re.from,re.to)==="]"){G=re.from;break}let ae=n.doc.sliceString(y.from+2,G);if(!c(y.from,y.to)){let re=n.doc.lineAt(y.from);re.text.trim()===n.doc.sliceString(y.from,y.to)&&p(re.from,hv),t.push(R.replace({widget:new Xh(F,ae,n.doc.sliceString(y.from,y.to),y.from,y.to)}).range(y.from,y.to))}return!1}if(j==="Link"){y.node.getChild("URL")&&t.push($v.range(y.from,y.to));return}if(j==="LinkMark"){let _=y.node.parent;_&&_.name==="Link"&&_.getChild("URL")&&!c(_.from,_.to)&&t.push(Ge.range(y.from,y.to));return}if(j==="URL"){let _=y.node.parent;_&&_.name==="Link"&&(c(_.from,_.to)?t.push(Tv.range(y.from,y.to)):t.push(Ge.range(y.from,y.to)));return}if(j==="BulletList"||j==="OrderedList"){W.push(y.from);return}if(j==="ListItem"){let _=y.from===W[W.length-1],B=W.length>1,F=n.doc.lineAt(y.from),G=F.number>1&&n.doc.line(F.number-1).text.trim()==="";(!_||B)&&!G&&p(y.from,Ug),b(y.from,y.to,wo),/^[-+*][ \t]+\[[xX]\](?:[ \t]|$)/.test(n.doc.sliceString(y.from,F.to))&&b(y.from,y.to,Ig),p(y.from,Th(W.length)),m.add(n.doc.lineAt(y.from).from);{let Ln=n.doc.lineAt(y.from).to+1;for(;Ln<=y.to;){let nt=n.doc.lineAt(Ln),H=nt.text;if(H.length>0&&!Zn.test(H)){p(nt.from,dv),p(nt.from,Th(W.length));let qt=H.match(/^[ \t]+/);qt&&t.push(Ge.range(nt.from,nt.from+qt[0].length))}if(nt.to>=y.to)break;Ln=nt.to+1}}let ae=n.doc.lineAt(y.from),$e=ae.text.match(Zn)?.[1]??"";$e.length>0&&t.push(Ge.range(ae.from,ae.from+$e.length));return}if(j==="ListMark"){let _=n.doc.sliceString(y.from,y.to),B=n.doc.lineAt(y.from),F=/^\s*\[[ xX]\](\s|$)/.test(B.text.slice(y.to-B.from));if(F&&/^[-+*]$/.test(_)){let G=B.text.slice(y.to-B.from).match(/^[ \t]*\[([ xX])\][ \t]?/),ae=y.to+G[0].indexOf("[");if(u(ae))return;p(B.from,Yg),t.push(R.replace({widget:new Ro(ae+1,G[1]!==" ")}).range(y.from,y.to+G[0].length))}else if((_==="-"||_==="*"||_==="+")&&!F){let G=n.doc.sliceString(y.to,y.to+1);h(y.from)?(t.push(zg.range(y.from,y.to)),G===" "&&t.push(Ge.range(y.to,y.to+1))):t.push(qg.range(y.from,y.to+(G===" "?1:0)))}else if(/^\d+[.)]$/.test(_)&&!F){let G=n.doc.sliceString(y.to,y.to+1);h(y.from)?(t.push(rv.range(y.from,y.to)),G===" "&&t.push(Ge.range(y.to,y.to+1))):t.push(nv(_).range(y.from,y.to+(G===" "?1:0)))}return}if(j==="FencedCode"||j==="CodeBlock"){let _=n.doc.lineAt(y.from),B=n.doc.lineAt(y.to),F=j==="FencedCode"&&y.node.lastChild?.name==="CodeMark",G=B.number-_.number>=(F?2:1),ae=j==="FencedCode"&&!h(_.from),re=F&&!h(B.from),$e=ae&&G?n.doc.line(_.number+1):_,Pi=G?$e:_,Ln=!G&&j==="FencedCode"?_:re?n.doc.line(B.number-1):B;if(j==="FencedCode"){let H=Ao(n,y);if(H.detectedLanguage)for(let qt of Vv(H,e))t.push(qt.mark.range(H.sourceFrom+qt.from,H.sourceFrom+qt.to));t.push(R.widget({widget:new Xo({wrapped:n.field(En).has(_.from),fenceFrom:y.from,language:H.language,detectedLanguage:H.detectedLanguage,rawInfo:H.rawInfo,infoFrom:H.infoFrom,infoTo:H.infoTo}),side:-1}).range(Pi.from))}else t.push(R.widget({widget:new Xo({fenceFrom:_.from,language:"text",rawInfo:"",plain:!0,wrapped:n.field(En).has(_.from)}),side:-1}).range(Pi.from));let nt=y.from;for(;nt<=y.to;){let H=n.doc.lineAt(nt),qt=j==="CodeBlock"&&O.has(`${wo.spec.class}@${H.from}`)?H.text.match(Zn):null;if(qt){if(Q(H,qt),H.to>=y.to)break;nt=H.to+1;continue}let Yh=j==="FencedCode"&&H.from===Pi.from;if((ae&&H.from===_.from||re&&H.from===B.from)&&!Yh)p(H.from,Wg);else if(j==="FencedCode"&&!G&&H.from!==_.from&&!Yh)p(H.from,Wg);else{let Mn=H.from===$e.from,Ih=H.from===Ln.from;Mn&&p(H.from,mv),Ih&&p(H.from,gv),!Mn&&!Ih&&p(H.from,pv),t.push(R.line({attributes:{"data-code-scroll-group":String(_.from),class:n.field(En).has(_.from)?"cm-md-code-wrapped":""}}).range(H.from)),H.length&&t.push(Qv.range(H.from,H.to))}if(j==="CodeBlock"&&!h(H.from)){let Mn=H.text.match(/^(?: {4}|\t)/)?.[0];Mn&&t.push(Ge.range(H.from,H.from+Mn.length))}if(H.to>=y.to)break;nt=H.to+1}return}if(j==="CodeInfo"){let _=y.node.parent;if(!_)return;h(_.from)&&t.push(Sv.range(y.from,y.to));return}if(j==="Table"){b(y.from,y.to,bv);return}if(j==="HorizontalRule"){h(y.from)||(p(y.from,ov),t.push(sv.range(y.from,y.to)));return}},leave:y=>{X--;let j=y.name;(j==="BulletList"||j==="OrderedList")&&W.pop(),j==="Blockquote"&&T.pop()}});for(let[y,j]of C)p(y,Ov(j.depth,j.starts,j.ends,j.gap));C.clear();let N=k;for(;N<=w;){let y=n.doc.lineAt(N);if(O.has(`${wo.spec.class}@${y.from}`)&&!m.has(y.from)){let ye=y.text.match(Zn);ye&&Q(y,ye)}if(y.to>=w)break;N=y.to+1}}return R.set(t,!0)}function zh(i){let e=i.selection.main,t=new Set,n=0;for(let r=U(i).resolveInner(e.from,1);r;r=r.parent){if(r.toi.decorations,provide:i=>q.blockWrappers.of(e=>e.plugin(i)?.codeWrappers??ai.set([]))}),Yv=De.fromClass(class{constructor(i){this.schedule(i)}update(i){(i.docChanged||i.selectionSet||i.viewportChanged||i.geometryChanged||i.focusChanged)&&this.schedule(i.view)}docViewUpdate(i){this.schedule(i)}schedule(i){i.requestMeasure({key:this,read(e){return Array.from(e.dom.querySelectorAll(".cm-md-heading-prefix")).map(t=>{let n=t.closest(".cm-line");return n?{line:n,width:t.getBoundingClientRect().width}:null}).filter(Boolean)},write(e){for(let{line:t,width:n}of e){let r=`${n}px`;t.style.getPropertyValue("--cm-md-heading-prefix-width")!==r&&t.style.setProperty("--cm-md-heading-prefix-width",r)}}})}});function Hg(i){let e=[],t=i.selection.main,n=(s,o)=>t.from<=o&&t.to>=s;return(Ls(i,i.doc.length,80)||U(i)).iterate({enter:s=>{let o=s.name;if(o==="FencedCode"||o==="CodeBlock"||o==="HTMLBlock")return!1;if(o!=="Paragraph")return;if(n(s.from,s.to))return!1;let a=i.doc.lineAt(s.from);for(;a.toHg(i),update:(i,e)=>e.docChanged||e.selection?Hg(e.state):i,provide:i=>q.decorations.from(i)}),n0=yn.define([{tag:[d.keyword,d.modifier,d.operatorKeyword,d.controlKeyword,d.definitionKeyword,d.moduleKeyword],class:"hl-keyword"},{tag:[d.string,d.special(d.string),d.regexp],class:"hl-string"},{tag:[d.comment,d.blockComment,d.lineComment],class:"hl-comment"},{tag:[d.number,d.integer,d.float,d.character],class:"hl-number"},{tag:[d.bool,d.atom,d.null],class:"hl-keyword"},{tag:[d.typeName,d.namespace],class:"hl-type"},{tag:[d.className,d.definition(d.typeName)],class:"hl-declaration"},{tag:[d.function(d.variableName),d.function(d.propertyName),d.macroName],class:"hl-function"},{tag:[d.propertyName,d.labelName],class:"hl-property"},{tag:d.attributeName,class:"hl-attribute"},{tag:[d.standard(d.variableName),d.standard(d.typeName)],class:"hl-builtin"},{tag:[d.meta,d.processingInstruction],class:"hl-meta"},{tag:[d.punctuation,d.operator],class:"hl-plain"}]);function Et(i){return e=>{let t=e.state.changeByRange(n=>{let{from:r,to:s}=n;for(;rr&&/\s/.test(e.state.sliceDoc(s-1,s));)s--;let o=i.length,a=e.state.sliceDoc(Math.max(0,r-o),r),l=e.state.sliceDoc(s,s+o);if(a===i&&l===i)return{changes:[{from:r-o,to:r,insert:""},{from:s,to:s+o,insert:""}],range:v.range(r-o,s-o)};let c=e.state.sliceDoc(r,s);return c.startsWith(i)&&c.endsWith(i)&&c.length>=o*2?{changes:{from:r,to:s,insert:c.slice(o,c.length-o)},range:v.range(r,s-o*2)}:{changes:{from:r,to:s,insert:i+c+i},range:v.range(r+o,s+o)}});return e.dispatch(t,{scrollIntoView:!0,userEvent:"input"}),!0}}function Dh(i,e){let t=i.selection.main,n=i.doc.lineAt(t.from).number,r=i.doc.lineAt(t.to).number,s=[];for(let o=n;o<=r;o++)s.push(i.doc.line(o));return e(s)}function Ch(i,e){return t=>{let n=Dh(t.state,r=>{let s=r.every(o=>e.test(o.text));return r.map(o=>{if(s){let a=o.text.match(e);return{from:o.from,to:o.from+a[0].length,insert:""}}return e.test(o.text)?null:{from:o.from,insert:i}}).filter(Boolean)});return n.length&&jr(t,n),!0}}function jr(i,e){let t=i.state.changes(e),n=i.state.selection.main;i.dispatch({changes:e,selection:v.range(t.mapPos(n.anchor,1),t.mapPos(n.head,1)),userEvent:"input"})}function Iv(i){let e=/^\d+\.\s/,t=Dh(i.state,n=>{let r=n.every(o=>e.test(o.text)),s=1;return n.map(o=>{if(r){let a=o.text.match(e);return{from:o.from,to:o.from+a[0].length,insert:""}}return e.test(o.text)?null:{from:o.from,insert:`${s++}. `}}).filter(Boolean)});return t.length&&jr(i,t),!0}function Lh(i){let e=i.selection.main,t=i.doc.lineAt(e.from).number,n=i.doc.lineAt(e.empty?e.to:e.to-1).number;return Array.from({length:n-t+1},(r,s)=>i.doc.line(t+s))}function r0(i){let e=/^([ \t]*(?:>[ \t]*)*)(?:([-+*]|\d+[.)])([ \t]+)(\[[ xX]\][ \t]+)?)?/.exec(i);return{prefix:e[0],indent:e[1],style:e[2]?e[4]?"task":/^\d/.test(e[2])?"ordered":"bullet":"none"}}function qn(i,e,t){for(let n=U(i).resolve(e,1);n;n=n.parent)if(t.includes(n.name))return n;return null}function s0(i){return Lh(i).filter(e=>!/^[ \t>]*$/.test(e.text)&&!qn(i,e.from+e.text.search(/\S/),["FencedCode","CodeBlock"]))}function Bv(i,e){if(!["none","bullet","ordered","task"].includes(e))return!1;let t=s0(i.state).map((n,r)=>{let s=r0(n.text);if(s.style===e)return null;let o=e==="none"?"":e==="bullet"?"- ":e==="task"?"- [ ] ":`${r+1}. `;return{from:n.from,to:n.from+s.prefix.length,insert:s.indent+o}}).filter(Boolean);return t.length&&jr(i,t),i.focus(),!0}function Ji(i){return e=>{let t=Dh(e.state,n=>n.map(r=>{let s=r.text.match(/^(#{1,6})\s+/),a=(s?s[1].length:0)===i||i===0?"":"#".repeat(i)+" ";return{from:r.from,to:r.from+(s?s[0].length:0),insert:a}}));return e.dispatch({changes:t,userEvent:"input"}),!0}}function o0(i){let e={InlineCode:"code",FencedCode:"fenced",CodeBlock:"plain",Blockquote:"quote",Table:"table"};for(let t=U(i).resolve(i.selection.main.head,i.selection.main.empty?1:-1);t;t=t.parent)if(e[t.name])return{style:e[t.name],node:t};return{style:"none",node:null}}function Uv(i,e,t=""){if(!["none","quote","code","plain","fenced","table"].includes(e))return!1;let n=i.state,r=n.selection.main,s=o0(n),o=s.node&&r.from>=s.node.from&&r.to<=s.node.to;if(e==="code"&&(!o||s.style==="code"))return s.style!=="code"&&Et("`")(i),i.focus(),!0;if(e==="table"){let m=qn(n,r.to,["FencedCode"]),p=m?m.to:n.doc.lineAt(r.to).to,g=(m&&m.lastChild?.name!=="CodeMark"?` +`+n.sliceDoc(m.firstChild.from,m.firstChild.to):"")+` | Column 1 | Column 2 | | --- | --- | | | | -`;return i.dispatch({changes:{from:m,insert:g},selection:{anchor:m+g.length},userEvent:"input"}),i.focus(),!0}if(e===s.style&&o&&e!=="fenced")return!0;if(e==="quote"&&!o){let p=zh(n).filter(m=>!qn(n,m.from+Math.max(0,m.text.search(/\S/)),["Blockquote"])).map(m=>({from:m.from,insert:"> "}));return p.length&&Wr(i,p),i.focus(),!0}let a=zh(n),l=a[0].from,c=a[a.length-1].to,h=n.sliceDoc(l,c),f=s.node;if(f&&r.from>=f.from&&r.to<=f.to&&(s.style!=="code"||e==="none")){if(l=s.style==="code"?f.from:n.doc.lineAt(f.from).from,c=f.to,h=n.sliceDoc(l,c),s.style==="fenced"){let p=n.doc.lineAt(f.from),m=n.doc.lineAt(f.to),b=f.lastChild?.name==="CodeMark";h=n.sliceDoc(Math.min(p.to+1,f.to),b?m.from:f.to).replace(/\n$/,"")}else if(s.style==="plain")h=h.replace(/^(?: {4}|\t)/gm,"");else if(s.style==="quote")h=h.replace(/^ {0,3}> ?/gm,"");else if(s.style==="code")h=n.sliceDoc(f.firstChild.to,f.lastChild.from);else if(s.style==="table"){let p=Mh(h);p&&(h=p.rows.map(m=>m.join(" ")).join(` -`))}}let u=h,O=0;if(e==="code"){h=h.replace(/\n/g," ");let p="`".repeat(Math.max(1,...(h.match(/`+/g)||[]).map(b=>b.length+1))),m=/^`|`$/.test(h)||/^ .* $/.test(h)&&/\S/.test(h)?" ":"";u=p+m+h+m+p,O=p.length+m.length}if(e==="quote"&&(u=h.split(` -`).map(p=>"> "+p).join(` +`;return i.dispatch({changes:{from:p,insert:g},selection:{anchor:p+g.length},userEvent:"input"}),i.focus(),!0}if(e===s.style&&o&&e!=="fenced")return!0;if(e==="quote"&&!o){let m=Lh(n).filter(p=>!qn(n,p.from+Math.max(0,p.text.search(/\S/)),["Blockquote"])).map(p=>({from:p.from,insert:"> "}));return m.length&&jr(i,m),i.focus(),!0}let a=Lh(n),l=a[0].from,c=a[a.length-1].to,h=n.sliceDoc(l,c),f=s.node;if(f&&r.from>=f.from&&r.to<=f.to&&(s.style!=="code"||e==="none")){if(l=s.style==="code"?f.from:n.doc.lineAt(f.from).from,c=f.to,h=n.sliceDoc(l,c),s.style==="fenced"){let m=n.doc.lineAt(f.from),p=n.doc.lineAt(f.to),b=f.lastChild?.name==="CodeMark";h=n.sliceDoc(Math.min(m.to+1,f.to),b?p.from:f.to).replace(/\n$/,"")}else if(s.style==="plain")h=h.replace(/^(?: {4}|\t)/gm,"");else if(s.style==="quote")h=h.replace(/^ {0,3}> ?/gm,"");else if(s.style==="code")h=n.sliceDoc(f.firstChild.to,f.lastChild.from);else if(s.style==="table"){let m=Wh(h);m&&(h=m.rows.map(p=>p.join(" ")).join(` +`))}}let u=h,O=0;if(e==="code"){h=h.replace(/\n/g," ");let m="`".repeat(Math.max(1,...(h.match(/`+/g)||[]).map(b=>b.length+1))),p=/^`|`$/.test(h)||/^ .* $/.test(h)&&/\S/.test(h)?" ":"";u=m+p+h+p+m,O=m.length+p.length}if(e==="quote"&&(u=h.split(` +`).map(m=>"> "+m).join(` `),O=2),e==="plain"&&(u=h.split(` -`).map(p=>" "+p).join(` -`),O=4),e==="fenced"){let p=h.match(/`+/g)||[],m="`".repeat(Math.max(3,...p.map(Q=>Q.length+1))),b=String(t).replace(/[^\w+-]/g,""),g=m+b+` +`).map(m=>" "+m).join(` +`),O=4),e==="fenced"){let m=h.match(/`+/g)||[],p="`".repeat(Math.max(3,...m.map(Q=>Q.length+1))),b=String(t).replace(/[^\w+-]/g,""),g=p+b+` `;u=g+h+` -`+m,O=g.length}return e==="plain"&&l>0&&n.doc.lineAt(l-1).text.trim()&&(u=` -`+u,O++),i.dispatch({changes:{from:l,to:c,insert:u},selection:{anchor:l+O},userEvent:"input"}),i.focus(),!0}function Uv(i){let e=i.state.selection.main,t=i.state.sliceDoc(e.from,e.to)||"text",n=`[${t}](url)`,r=e.from+t.length+3;return i.dispatch({changes:{from:e.from,to:e.to,insert:n},selection:P.range(r,r+3),userEvent:"input",scrollIntoView:!0}),!0}var Hg=$e.define();function Gv(i,e){let t=U(i).resolve(e,-1);for(;t;){if(t.name==="FencedCode")return t.from;t=t.parent}return null}var Nv=se.transactionFilter.of(i=>{if(!i.docChanged||!i.isUserEvent("input")||i.annotation(Hg))return i;let e=i.newSelection.main;if(!e.empty)return i;let t=i.newDoc.lineAt(e.head),n=e.head-t.from;if(t.text.slice(0,n)!=="```"||t.text.slice(n)!=="")return i;let r=!1,s=null;if(i.changes.iterChanges((l,c,h,f,u)=>{if(r||h>e.head||f=t.from+3,r&&(s=l)}),!r)return i;let o=i.startState.doc.lineAt(s),a=Gv(i.startState,s);return a!=null&&at.number&&(n=i.state.doc.line(n.number-1)),e.empty){let o=To(i.state,e.head);if(o){let a=i.state.doc.lineAt(o.from),l=i.state.doc.lineAt(o.to);if(t.number>a.number&&(!o.closed||t.numbera)return Ll(i)}return!0}let s=[];for(let o=t.number;o<=n.number;o++)s.push({from:i.state.doc.line(o).from,insert:" "});return Wr(i,s),!0}window.MDEditor={create(i,e,t){let n=t&&t.onDirty,r=t&&t.onPasteImage;Object.assign(pt,t&&t.spacing||{});let s=new z({parent:i,state:se.create({doc:e,extensions:[$O(),Pi,KP,Mu(),z.lineWrapping,z.perLineTextDirection.of(!0),Rt.of(" "),zv,wm({content:Ic({base:ki,codeLanguages:Kg,extensions:Lh})}),en,En,vt,Lv,Mv,Wv,JP,HP,fO({style:i0.style,scope:m=>m.prop(bt)!==ki.data}),nt.lowest(Vv),Dv,Nv,fd(),nt.highest(fi.of([{key:"Enter",run:tv}])),fi.of([{key:"Mod-b",run:At("**")},{key:"Mod-i",run:At("*")},{key:"Tab",run:Fv,shift:zl},...dd,...Yc,...rd,..._O]),z.updateListener.of(m=>{if(t?.onFormattingChange&&(m.selectionSet||m.docChanged||m.focusChanged||U(m.startState)!==U(m.state))&&(ke.has(s)?zn(s):t.onFormattingChange(qh(m.state))),m.docChanged&&t?.onSearchChange){let b=m.state.field(Pi);t.onSearchChange({index:b.index+1,total:b.matches.length})}m.docChanged&&n&&!m.transactions.some(b=>b.isUserEvent("rename"))&&n()}),z.domEventHandlers({paste(m,b){if(m.target instanceof Element&&m.target.closest(".cm-md-table-cell")||!Array.from(m.clipboardData?.items||[]).some(S=>String(S.type||"").toLowerCase().startsWith("image/"))||typeof r!="function")return!1;m.preventDefault();let Q=b.state.selection.main;return r(Q.from,Q.to),!0}})]})}),o=!!(t&&t.pageScrolling),a=o?document.scrollingElement:s.scrollDOM,l=o?window:a,c=null,h=0,f=null,u=()=>s.documentTop+a.scrollTop-(o?0:a.getBoundingClientRect().top),O=m=>{let b=s.lineBlockAt(m),g=0,Q=0;try{let S=s.domAtPos(m).node,x=S.nodeType===Node.ELEMENT_NODE?S:S.parentElement,v=x&&x.closest(".cm-line");if(v){let $=getComputedStyle(v);g=parseFloat($.paddingTop)||0,Q=parseFloat($.paddingBottom)||0}}catch{}return{top:b.top+g,height:Math.max(b.height-g-Q,1),sourceStart:s.state.doc.lineAt(b.from).number,sourceEnd:s.state.doc.lineAt(b.to).number+1}},p={bold:At("**"),italic:At("*"),strikethrough:At("~~"),highlight:At("=="),code:At("`"),h0:Ji(0),h1:Ji(1),h2:Ji(2),h3:Ji(3),h4:Ji(4),h5:Ji(5),h6:Ji(6),quote:Th("> ",/^>\s?/),bulletList:Th("- ",/^\s*[-*+]\s/),orderedList:Yv,taskList:Th("- [ ] ",/^\s*[-*+]\s+\[[ xX]\]\s/),link:Uv};return t?.onCopyCode&&Jg.set(s,t.onCopyCode),t?.onFormattingChange&&jh.set(s,t.onFormattingChange),t?.onFormattingChange?.(qh(s.state)),{getMarkdown:()=>s.state.doc.toString(),getBlockStyle:()=>ke.has(s)?"table":s0(s.state).style,setBlockStyle:(m,b)=>{if(ke.has(s)){if(m!=="code")return!1;let g=vo(s);return g?(At("`")(s),$o(s,g),!0):!1}return Bv(s,m,b)},getListStyle:()=>{if(ke.has(s))return"none";let m=r0(s.state).map(b=>n0(b.text).style);return m.length?m.every(b=>b===m[0])?m[0]:"mixed":"none"},setListStyle:m=>!ke.has(s)&&Iv(s,m),getLinkSelection:(m=!1)=>{if(ke.has(s)&&!vo(s))return null;let{from:b,to:g}=s.state.selection.main,Q=qn(s.state,b,["Link"]);if(m&&Q&&g<=Q.to){let S=Q.getChildren("LinkMark");return{from:Q.from,to:Q.to,text:s.state.sliceDoc(S[0].to,S[1].from)}}return{from:b,to:g,text:s.state.sliceDoc(b,g)}},insertLinkFromPopover:(m,b,g,Q)=>{let S=String(b).trim();if(!S||/[\r\n]/.test(S)||g<0||Qs.state.doc.length)return!1;let x=qn(s.state,g,["Link"]);if(x&&(g>x.from||Qg?qn(s.state,Q-1,["Link"]):null;if(v&&(g>v.from||Q\\()]/g,k=>/[()]/.test(k)?"%"+k.charCodeAt(0).toString(16).toUpperCase():encodeURIComponent(k)),_=ke.get(s);if(_){let k=Ao(s,_);if(!k||gk.to)return!1}let W=`[${$}](${A})`,T=_?Wh(W):W;return s.dispatch({changes:{from:g,to:Q,insert:T},selection:{anchor:g+T.length},userEvent:"input"}),_?$o(s,_):s.focus(),!0},getHeadingLevel:()=>{if(ke.has(s))return 0;for(let m=U(s.state).resolveInner(s.state.selection.main.head,1);m;m=m.parent){let b=/^(?:ATX|Setext)Heading([1-6])$/.exec(m.name);if(b)return Number(b[1])}return 0},find:(m,b=!1,g=!1)=>{let Q=s.state.field(Pi),S=Q.query===m&&Q.beginsWith===g,x=0;S&&Q.matches.length?x=(Q.index+(b?-1:1)+Q.matches.length)%Q.matches.length:b&&(x=Number.MAX_SAFE_INTEGER),s.dispatch({effects:Zo.of({query:m,beginsWith:g,index:x})});let v=s.state.field(Pi),$=v.matches[v.index];return $&&(c=null,didUserScroll=!0,s.dispatch({effects:z.scrollIntoView($.from,{y:"center"})})),{index:v.index+1,total:v.matches.length}},isSyntaxReady:()=>rO(s.state,s.state.doc.length),replaceMarkdown:m=>{let b=String(m||""),g=b.length,Q=s.state.selection.main,S=Math.min(Q.anchor,g),x=Math.min(Q.head,g),v=a.scrollTop;s.dispatch({changes:{from:0,to:s.state.doc.length,insert:b},selection:{anchor:S,head:x},userEvent:"rename",annotations:pe.addToHistory.of(!1)}),requestAnimationFrame(()=>{a.scrollTop=v,s.requestMeasure()})},insertTextAt:(m,b,g)=>{let Q=s.state.doc.length,S=Math.max(0,Math.min(Number(b)||0,Q)),x=Math.max(S,Math.min(Number(g)||S,Q));s.dispatch({changes:{from:S,to:x,insert:String(m||"")},selection:{anchor:S+String(m||"").length},userEvent:"input",scrollIntoView:!0}),s.focus()},focus:()=>s.focus(),getScrollAnchor:()=>{if(Number.isFinite(c)&&Math.abs(a.scrollTop-f)<=.5)return{position:c,gap:h||0};let m=a.scrollTop-u(),b=s.lineBlockAtHeight(m),g=s.state.doc.lineAt(b.from),Q=O(g.from),S=Q.height>0?Math.min(Math.max((m-Q.top)/Q.height,0),1):0,x=Math.max(Q.top-m,0);return{position:Q.sourceStart+S*(Q.sourceEnd-Q.sourceStart),gap:x}},setScrollPosition:(m,b,g)=>new Promise(Q=>{let x=Math.max(a.scrollHeight-a.clientHeight,0)*Math.min(Math.max(Number(m)||0,0),1),v=null,$=Number.isFinite(g)?Math.max(g,0):0;if(Number.isFinite(b)&&b>=1){let A=Math.min(Math.floor(b),s.state.doc.lines);if(v=s.state.doc.line(A).from,v!=null){let _=O(v),W=(b-_.sourceStart)/(_.sourceEnd-_.sourceStart);x=u()+_.top+_.height*W-$,s.dispatch({effects:z.scrollIntoView(v,{y:"start"})})}}requestAnimationFrame(()=>{let A=Math.max(a.scrollHeight-a.clientHeight,0);if(v!=null){let _=O(v),W=(b-_.sourceStart)/(_.sourceEnd-_.sourceStart);x=u()+_.top+_.height*W-$}else x=A*Math.min(Math.max(Number(m)||0,0),1);a.scrollTop=Math.min(Math.max(x,0),A),l.dispatchEvent(new Event("scroll")),s.requestMeasure(),requestAnimationFrame(()=>{c=Number.isFinite(b)?b:null,h=Number.isFinite(b)?$:0,f=a.scrollTop,Q(!0)})})}),select:(m,b=m)=>{ke.delete(s),s.dispatch({selection:{anchor:m,head:b},userEvent:"select.pointer"})},insert:m=>{let b=s.state.selection.main;s.state.facet(z.inputHandler).some(Q=>Q(s,b.from,b.to,m))||s.dispatch({changes:{from:b.from,to:b.to,insert:m},selection:{anchor:b.from+m.length},userEvent:"input"})},exec:m=>{let b=p[m];if(!b)return!1;if(ke.has(s)){if(!FP.has(m))return!1;let g=vo(s);return g?(b(s),$o(s,g),!0):!1}return b(s),s.focus(),!0},performTableContextAction:(m,b)=>{if(!Lr||Lr.token!==m)return!1;let g=Lr;return Lr=null,g.perform(b),!0},destroy:()=>{s.destroy()}}}};})(); +`+p,O=g.length}return e==="plain"&&l>0&&n.doc.lineAt(l-1).text.trim()&&(u=` +`+u,O++),i.dispatch({changes:{from:l,to:c,insert:u},selection:{anchor:l+O},userEvent:"input"}),i.focus(),!0}function Gv(i){let e=i.state.selection.main,t=i.state.sliceDoc(e.from,e.to)||"text",n=`[${t}](url)`,r=e.from+t.length+3;return i.dispatch({changes:{from:e.from,to:e.to,insert:n},selection:v.range(r,r+3),userEvent:"input",scrollIntoView:!0}),!0}var Kg=Te.define();function Nv(i,e){let t=U(i).resolve(e,-1);for(;t;){if(t.name==="FencedCode")return t.from;t=t.parent}return null}var Fv=se.transactionFilter.of(i=>{if(!i.docChanged||!i.isUserEvent("input")||i.annotation(Kg))return i;let e=i.newSelection.main;if(!e.empty)return i;let t=i.newDoc.lineAt(e.head),n=e.head-t.from;if(t.text.slice(0,n)!=="```"||t.text.slice(n)!=="")return i;let r=!1,s=null;if(i.changes.iterChanges((l,c,h,f,u)=>{if(r||h>e.head||f=t.from+3,r&&(s=l)}),!r)return i;let o=i.startState.doc.lineAt(s),a=Nv(i.startState,s);return a!=null&&at.number&&(n=i.state.doc.line(n.number-1)),e.empty){let o=Co(i.state,e.head);if(o){let a=i.state.doc.lineAt(o.from),l=i.state.doc.lineAt(o.to);if(t.number>a.number&&(!o.closed||t.numbera)return Ml(i)}return!0}let s=[];for(let o=t.number;o<=n.number;o++)s.push({from:i.state.doc.line(o).from,insert:" "});return jr(i,s),!0}window.MDEditor={create(i,e,t){let n=t&&t.onDirty,r=t&&t.onPasteImage;Object.assign(gt,t&&t.spacing||{});let s=new q({parent:i,state:se.create({doc:e,extensions:[TO(),wi,JP,Wu(),q.lineWrapping,q.perLineTextDirection.of(!0),Zt.of(" "),Lv,Pm({content:Bc({base:yi,codeLanguages:Jg,extensions:Mh})}),en,En,Tt,Mv,Wv,jv,ev,KP,uO({style:n0.style,scope:p=>p.prop(yt)!==yi.data}),st.lowest(Dv),Yv,Fv,ud(),st.highest(hi.of([{key:"Enter",run:iv}])),hi.of([{key:"Mod-b",run:Et("**")},{key:"Mod-i",run:Et("*")},{key:"Tab",run:Hv,shift:Ll},...pd,...Ic,...sd,...RO]),q.updateListener.of(p=>{if(t?.onFormattingChange&&(p.selectionSet||p.docChanged||p.focusChanged||U(p.startState)!==U(p.state))&&(ke.has(s)?zn(s):t.onFormattingChange(zh(p.state))),p.docChanged&&t?.onSearchChange){let b=p.state.field(wi);t.onSearchChange({index:b.index+1,total:b.matches.length})}p.docChanged&&n&&!p.transactions.some(b=>b.isUserEvent("rename"))&&n()}),q.domEventHandlers({paste(p,b){if(p.target instanceof Element&&p.target.closest(".cm-md-table-cell")||!Array.from(p.clipboardData?.items||[]).some(S=>String(S.type||"").toLowerCase().startsWith("image/"))||typeof r!="function")return!1;p.preventDefault();let Q=b.state.selection.main;return r(Q.from,Q.to),!0}})]})}),o=!!(t&&t.pageScrolling),a=o?document.scrollingElement:s.scrollDOM,l=o?window:a,c=null,h=0,f=null,u=()=>s.documentTop+a.scrollTop-(o?0:a.getBoundingClientRect().top),O=p=>{let b=s.lineBlockAt(p),g=0,Q=0;try{let S=s.domAtPos(p).node,x=S.nodeType===Node.ELEMENT_NODE?S:S.parentElement,P=x&&x.closest(".cm-line");if(P){let $=getComputedStyle(P);g=parseFloat($.paddingTop)||0,Q=parseFloat($.paddingBottom)||0}}catch{}return{top:b.top+g,height:Math.max(b.height-g-Q,1),sourceStart:s.state.doc.lineAt(b.from).number,sourceEnd:s.state.doc.lineAt(b.to).number+1}},m={bold:Et("**"),italic:Et("*"),strikethrough:Et("~~"),highlight:Et("=="),code:Et("`"),h0:Ji(0),h1:Ji(1),h2:Ji(2),h3:Ji(3),h4:Ji(4),h5:Ji(5),h6:Ji(6),quote:Ch("> ",/^>\s?/),bulletList:Ch("- ",/^\s*[-*+]\s/),orderedList:Iv,taskList:Ch("- [ ] ",/^\s*[-*+]\s+\[[ xX]\]\s/),link:Gv};return t?.onCopyCode&&e0.set(s,t.onCopyCode),t?.onFormattingChange&&Vh.set(s,t.onFormattingChange),t?.onFormattingChange?.(zh(s.state)),{getMarkdown:()=>s.state.doc.toString(),getBlockStyle:()=>ke.has(s)?"table":o0(s.state).style,setBlockStyle:(p,b)=>{if(ke.has(s)){if(p!=="code")return!1;let g=$o(s);return g?(Et("`")(s),To(s,g),!0):!1}return Uv(s,p,b)},getListStyle:()=>{if(ke.has(s))return"none";let p=s0(s.state).map(b=>r0(b.text).style);return p.length?p.every(b=>b===p[0])?p[0]:"mixed":"none"},setListStyle:p=>!ke.has(s)&&Bv(s,p),getLinkSelection:(p=!1)=>{if(ke.has(s)&&!$o(s))return null;let{from:b,to:g}=s.state.selection.main,Q=qn(s.state,b,["Link"]);if(p&&Q&&g<=Q.to){let S=Q.getChildren("LinkMark");return{from:Q.from,to:Q.to,text:s.state.sliceDoc(S[0].to,S[1].from)}}return{from:b,to:g,text:s.state.sliceDoc(b,g)}},insertLinkFromPopover:(p,b,g,Q)=>{let S=String(b).trim();if(!S||/[\r\n]/.test(S)||g<0||Qs.state.doc.length)return!1;let x=qn(s.state,g,["Link"]);if(x&&(g>x.from||Qg?qn(s.state,Q-1,["Link"]):null;if(P&&(g>P.from||Q\\()]/g,C=>/[()]/.test(C)?"%"+C.charCodeAt(0).toString(16).toUpperCase():encodeURIComponent(C)),X=ke.get(s);if(X){let C=Zo(s,X);if(!C||gC.to)return!1}let W=`[${$}](${Z})`,T=X?jh(W):W;return s.dispatch({changes:{from:g,to:Q,insert:T},selection:{anchor:g+T.length},userEvent:"input"}),X?To(s,X):s.focus(),!0},getHeadingLevel:()=>{if(ke.has(s))return 0;for(let p=U(s.state).resolveInner(s.state.selection.main.head,1);p;p=p.parent){let b=/^(?:ATX|Setext)Heading([1-6])$/.exec(p.name);if(b)return Number(b[1])}return 0},find:(p,b=!1,g=!1)=>{let Q=s.state.field(wi),S=Q.query===p&&Q.beginsWith===g,x=0;S&&Q.matches.length?x=(Q.index+(b?-1:1)+Q.matches.length)%Q.matches.length:b&&(x=Number.MAX_SAFE_INTEGER),s.dispatch({effects:Eo.of({query:p,beginsWith:g,index:x})});let P=s.state.field(wi),$=P.matches[P.index];return $&&(c=null,didUserScroll=!0,s.dispatch({effects:q.scrollIntoView($.from,{y:"center"})})),{index:P.index+1,total:P.matches.length}},isSyntaxReady:()=>sO(s.state,s.state.doc.length),replaceMarkdown:p=>{let b=String(p||""),g=b.length,Q=s.state.selection.main,S=Math.min(Q.anchor,g),x=Math.min(Q.head,g),P=a.scrollTop;s.dispatch({changes:{from:0,to:s.state.doc.length,insert:b},selection:{anchor:S,head:x},userEvent:"rename",annotations:pe.addToHistory.of(!1)}),requestAnimationFrame(()=>{a.scrollTop=P,s.requestMeasure()})},insertTextAt:(p,b,g)=>{let Q=s.state.doc.length,S=Math.max(0,Math.min(Number(b)||0,Q)),x=Math.max(S,Math.min(Number(g)||S,Q));s.dispatch({changes:{from:S,to:x,insert:String(p||"")},selection:{anchor:S+String(p||"").length},userEvent:"input",scrollIntoView:!0}),s.focus()},focus:()=>s.focus(),getScrollAnchor:()=>{if(Number.isFinite(c)&&Math.abs(a.scrollTop-f)<=.5)return{position:c,gap:h||0};let p=a.scrollTop-u(),b=s.lineBlockAtHeight(p),g=s.state.doc.lineAt(b.from),Q=O(g.from),S=Q.height>0?Math.min(Math.max((p-Q.top)/Q.height,0),1):0,x=Math.max(Q.top-p,0);return{position:Q.sourceStart+S*(Q.sourceEnd-Q.sourceStart),gap:x}},setScrollPosition:(p,b,g)=>new Promise(Q=>{let x=Math.max(a.scrollHeight-a.clientHeight,0)*Math.min(Math.max(Number(p)||0,0),1),P=null,$=Number.isFinite(g)?Math.max(g,0):0;if(Number.isFinite(b)&&b>=1){let Z=Math.min(Math.floor(b),s.state.doc.lines);if(P=s.state.doc.line(Z).from,P!=null){let X=O(P),W=(b-X.sourceStart)/(X.sourceEnd-X.sourceStart);x=u()+X.top+X.height*W-$,s.dispatch({effects:q.scrollIntoView(P,{y:"start"})})}}requestAnimationFrame(()=>{let Z=Math.max(a.scrollHeight-a.clientHeight,0);if(P!=null){let X=O(P),W=(b-X.sourceStart)/(X.sourceEnd-X.sourceStart);x=u()+X.top+X.height*W-$}else x=Z*Math.min(Math.max(Number(p)||0,0),1);a.scrollTop=Math.min(Math.max(x,0),Z),l.dispatchEvent(new Event("scroll")),s.requestMeasure(),requestAnimationFrame(()=>{c=Number.isFinite(b)?b:null,h=Number.isFinite(b)?$:0,f=a.scrollTop,Q(!0)})})}),select:(p,b=p)=>{ke.delete(s),s.dispatch({selection:{anchor:p,head:b},userEvent:"select.pointer"})},insert:p=>{let b=s.state.selection.main;s.state.facet(q.inputHandler).some(Q=>Q(s,b.from,b.to,p))||s.dispatch({changes:{from:b.from,to:b.to,insert:p},selection:{anchor:b.from+p.length},userEvent:"input"})},exec:p=>{let b=m[p];if(!b)return!1;if(ke.has(s)){if(!HP.has(p))return!1;let g=$o(s);return g?(b(s),To(s,g),!0):!1}return b(s),s.focus(),!0},performTableContextAction:(p,b)=>{if(!Mr||Mr.token!==p)return!1;let g=Mr;return Mr=null,g.perform(b),!0},destroy:()=>{s.destroy()}}}};})(); diff --git a/scripts/editor-bundle/entry-cm.js b/scripts/editor-bundle/entry-cm.js index 03194f1c..937cb47c 100644 --- a/scripts/editor-bundle/entry-cm.js +++ b/scripts/editor-bundle/entry-cm.js @@ -1220,7 +1220,7 @@ const tableEditors = StateField.define({ provide: (field) => EditorView.decorations.from(field), }) -// Task markers stay rendered while typing, including a newly created empty item. +// Completed task markers stay rendered while typing the label, including an empty item. class TaskCheckboxWidget extends WidgetType { constructor(from, checked) { super(); this.from = from; this.checked = checked } eq(other) { return this.from === other.from && this.checked === other.checked } @@ -1757,6 +1757,10 @@ function buildDecorations(view, detectedCodeCache) { } const isActiveFence = (node) => currentFindTouches(state, node.from, node.to) || (activeFence != null && node.from <= activeFence.from && node.to >= activeFence.to) + // Auto-closing brackets can form a valid task before the user types `]`. + // Keep its source editable until the caret has left the brackets. + const editingTaskMarker = (bracket) => sourceCaret != null + && sourceCaret > bracket && sourceCaret < bracket + 3 const decoratedLines = new Set() const listDepthPositions = new Set() const lineOnce = (pos, deco) => { @@ -1811,9 +1815,10 @@ function buildDecorations(view, detectedCodeCache) { && /^\s*\[[ xX]\](\s|$)/.test(line.text.slice(markerTo - line.from)) if (isTask) { const task = line.text.slice(markerTo - line.from).match(/^[ \t]*\[([ xX])\][ \t]?/) + const bracket = markerTo + task[0].indexOf('[') + if (editingTaskMarker(bracket)) return lineOnce(line.from, taskLine) if (task[1] !== ' ') lineOnce(line.from, completedTaskLine) - const bracket = markerTo + task[0].indexOf('[') ranges.push(Decoration.replace({ widget: new TaskCheckboxWidget(bracket + 1, task[1] !== ' ') }) .range(markerFrom, markerTo + task[0].length)) } else if (/^[-+*]$/.test(marker)) { @@ -2232,9 +2237,10 @@ function buildDecorations(view, detectedCodeCache) { const line = state.doc.lineAt(node.from) const isTask = /^\s*\[[ xX]\](\s|$)/.test(line.text.slice(node.to - line.from)) if (isTask && /^[-+*]$/.test(mark)) { - lineOnce(line.from, taskLine) const task = line.text.slice(node.to - line.from).match(/^[ \t]*\[([ xX])\][ \t]?/) const bracket = node.to + task[0].indexOf('[') + if (editingTaskMarker(bracket)) return + lineOnce(line.from, taskLine) ranges.push(Decoration.replace({ widget: new TaskCheckboxWidget(bracket + 1, task[1] !== ' ') }) .range(node.from, node.to + task[0].length)) } else if ((mark === "-" || mark === "*" || mark === "+") && !isTask) { diff --git a/tests/swift-tests/Tests/MarkdownHelpersTests/EditorFormattingTests.swift b/tests/swift-tests/Tests/MarkdownHelpersTests/EditorFormattingTests.swift index 841da849..a329fc86 100644 --- a/tests/swift-tests/Tests/MarkdownHelpersTests/EditorFormattingTests.swift +++ b/tests/swift-tests/Tests/MarkdownHelpersTests/EditorFormattingTests.swift @@ -325,6 +325,47 @@ final class EditorFormattingTests: XCTestCase { XCTAssertEqual(result?["source"] as? String, source) } + func testFreshTaskTypingWaitsForCaretToLeaveAutoClosedBracket() async throws { + let script = try TestVendor.script("md-preview/Vendor/CodeMirror/mdedit.min.js") + let html = EditorHTML.render(markdown: "", editorJavaScript: script) + .replacingOccurrences(of: "editor = window.MDEditor.create(", + with: "editor = window.__typingEditor = window.MDEditor.create(") + let editor = WebViewLayoutHarness(html: html, width: 650, isEditor: true, height: 400) + defer { editor.close() } + _ = try await editor.layout(texts: [], imageCount: 0) + let result = try await editor.webView.callAsyncJavaScript(""" + document.hasFocus = () => true; + const api = window.__typingEditor; + api.focus(); + const settle = async () => { + for (let i = 0; i < 12; i++) { window.__layoutTestFrame(); await Promise.resolve(); } + }; + const results = []; + for (const marker of ['- [ ]', '- [x]', '- [X]', '- [ x ]']) { + api.replaceMarkdown(''); api.select(0); api.focus(); + let premature = false; + for (const char of marker) { + api.insert(char); await settle(); + const caret = api.getLinkSelection().from; + const closing = api.getMarkdown().indexOf(']'); + if (caret <= closing && document.querySelector('.cm-md-task-marker')) premature = true; + } + const boxes = document.querySelectorAll('.cm-md-task-marker input').length; + for (const char of ' New task') { api.insert(char); await settle(); } + results.push({marker, premature, boxes, source: api.getMarkdown(), caret: api.getLinkSelection().from}); + } + return results; + """, arguments: [:], in: nil, contentWorld: .page) as? [[String: Any]] + XCTAssertEqual(result?.count, 4) + for item in result ?? [] { + let marker = try XCTUnwrap(item["marker"] as? String) + XCTAssertEqual(item["premature"] as? Bool, false, marker) + XCTAssertEqual(item["boxes"] as? Int, marker == "- [ x ]" ? 0 : 1, marker) + XCTAssertEqual(item["source"] as? String, marker + " New task", marker) + XCTAssertEqual(item["caret"] as? Int, (marker + " New task").utf16.count, marker) + } + } + func testTypedTaskCheckboxContinuesAndExitsOnEmptyItem() async throws { let script = try TestVendor.script("md-preview/Vendor/CodeMirror/mdedit.min.js") let editor = WebViewLayoutHarness(html: EditorHTML.render(markdown: "", editorJavaScript: script), From 9236dabbe4eddc30023a27d6346340648dd6fede Mon Sep 17 00:00:00 2001 From: Fauzaan Date: Mon, 28 Sep 2026 12:31:07 +0000 Subject: [PATCH 10/16] Preserve checkbox focus and scope completed task styling --- md-preview/Vendor/CodeMirror/mdedit.min.js | 46 +++++++++--------- scripts/editor-bundle/entry-cm.js | 24 ++++++++-- .../EditorFormattingTests.swift | 47 +++++++++++++++++++ 3 files changed, 91 insertions(+), 26 deletions(-) diff --git a/md-preview/Vendor/CodeMirror/mdedit.min.js b/md-preview/Vendor/CodeMirror/mdedit.min.js index 6b64aedb..58713ccc 100644 --- a/md-preview/Vendor/CodeMirror/mdedit.min.js +++ b/md-preview/Vendor/CodeMirror/mdedit.min.js @@ -1,20 +1,20 @@ -(()=>{var zo=[],Nh=[];(()=>{let i="lc,34,7n,7,7b,19,,,,2,,2,,,20,b,1c,l,g,,2t,7,2,6,2,2,,4,z,,u,r,2j,b,1m,9,9,,o,4,,9,,3,,5,17,3,3b,f,,w,1j,,,,4,8,4,,3,7,a,2,t,,1m,,,,2,4,8,,9,,a,2,q,,2,2,1l,,4,2,4,2,2,3,3,,u,2,3,,b,2,1l,,4,5,,2,4,,k,2,m,6,,,1m,,,2,,4,8,,7,3,a,2,u,,1n,,,,c,,9,,14,,3,,1l,3,5,3,,4,7,2,b,2,t,,1m,,2,,2,,3,,5,2,7,2,b,2,s,2,1l,2,,,2,4,8,,9,,a,2,t,,20,,4,,2,3,,,8,,29,,2,7,c,8,2q,,2,9,b,6,22,2,r,,,,,,1j,e,,5,,2,5,b,,10,9,,2u,4,,6,,2,2,2,p,2,4,3,g,4,d,,2,2,6,,f,,jj,3,qa,3,t,3,t,2,u,2,1s,2,,7,8,,2,b,9,,19,3,3b,2,y,,3a,3,4,2,9,,6,3,63,2,2,,1m,,,7,,,,,2,8,6,a,2,,1c,h,1r,4,1c,7,,,5,,14,9,c,2,w,4,2,2,,3,1k,,,2,3,,,3,1m,8,2,2,48,3,,d,,7,4,,6,,3,2,5i,1m,,5,ek,,5f,x,2da,3,3x,,2o,w,fe,6,2x,2,n9w,4,,a,w,2,28,2,7k,,3,,4,,p,2,5,,47,2,q,i,d,,12,8,p,b,1a,3,1c,,2,4,2,2,13,,1v,6,2,2,2,2,c,,8,,1b,,1f,,,3,2,2,5,2,,,16,2,8,,6m,,2,,4,,fn4,,kh,g,g,g,a6,2,gt,,6a,,45,5,1ae,3,,2,5,4,14,3,4,,4l,2,fx,4,ar,2,49,b,4w,,1i,f,1k,3,1d,4,2,2,1x,3,10,5,,8,1q,,c,2,1g,9,a,4,2,,2n,3,2,,,2,6,,4g,,3,8,l,2,1l,2,,,,,m,,e,7,3,5,5f,8,2,3,,,n,,29,,2,6,,,2,,,2,,2,6j,,2,4,6,2,,2,r,2,2d,8,2,,,2,2y,,,,2,6,,,2t,3,2,4,,5,77,9,,2,6t,,a,2,,,4,,40,4,2,2,4,,w,a,14,6,2,4,8,,9,6,2,3,1a,d,,2,ba,7,,6,,,2a,m,2,7,,2,,2,3e,6,3,,,2,,7,,,20,2,3,,,,9n,2,f0b,5,1n,7,t4,,1r,4,29,,f5k,2,43q,,,3,4,5,8,8,2,7,u,4,44,3,1iz,1j,4,1e,8,,e,,m,5,,f,11s,7,,h,2,7,,2,,5,79,7,c5,4,15s,7,31,7,240,5,gx7k,2o,3k,6o".split(",").map(e=>e?parseInt(e,36):1);for(let e=0,t=0;e>1;if(i=Nh[n])e=n+1;else return!0;if(e==t)return!1}}function Bh(i){return i>=127462&&i<=127487}var Uh=8205;function Fh(i,e,t=!0,n=!0){return(t?Hh:l0)(i,e,n)}function Hh(i,e,t){if(e==i.length)return e;e&&Kh(i.charCodeAt(e))&&Jh(i.charCodeAt(e-1))&&e--;let n=qo(i,e);for(e+=Gh(n);e=0&&Bh(qo(i,o));)s++,o-=2;if(s%2==0)break;e+=2}else break}return e}function l0(i,e,t){for(;e>1;){let n=Hh(i,e-2,t);if(n=56320&&i<57344}function Jh(i){return i>=55296&&i<56320}function Gh(i){return i<65536?1:2}var J=class i{lineAt(e){if(e<0||e>this.length)throw new RangeError(`Invalid position ${e} in document of length ${this.length}`);return this.lineInner(e,!1,1,0)}line(e){if(e<1||e>this.lines)throw new RangeError(`Invalid line number ${e} in ${this.lines}-line document`);return this.lineInner(e,!0,1,0)}replace(e,t,n){[e,t]=sn(this,e,t);let r=[];return this.decompose(0,e,r,2),n.length&&n.decompose(0,n.length,r,3),this.decompose(t,this.length,r,1),tn.from(r,this.length-(t-e)+n.length)}append(e){return this.replace(this.length,this.length,e)}slice(e,t=this.length){[e,t]=sn(this,e,t);let n=[];return this.decompose(e,t,n,0),tn.from(n,t-e)}eq(e){if(e==this)return!0;if(e.length!=this.length||e.lines!=this.lines)return!1;let t=this.scanIdentical(e,1),n=this.length-this.scanIdentical(e,-1),r=new Ci(this),s=new Ci(e);for(let o=t,a=t;;){if(r.next(o),s.next(o),o=0,r.lineBreak!=s.lineBreak||r.done!=s.done||r.value!=s.value)return!1;if(a+=r.value.length,r.done||a>=n)return!0}}iter(e=1){return new Ci(this,e)}iterRange(e,t=this.length){return new Br(this,e,t)}iterLines(e,t){let n;if(e==null)n=this.iter();else{t==null&&(t=this.lines+1);let r=this.line(e).from;n=this.iterRange(r,Math.max(r,t==this.lines+1?this.length:t<=1?0:this.line(t-1).to))}return new Ur(n)}toString(){return this.sliceString(0)}toJSON(){let e=[];return this.flatten(e),e}constructor(){}static of(e){if(e.length==0)throw new RangeError("A document must have at least one line");return e.length==1&&!e[0]?i.empty:e.length<=32?new Ne(e):tn.from(Ne.split(e,[]))}},Ne=class i extends J{constructor(e,t=c0(e)){super(),this.text=e,this.length=t}get lines(){return this.text.length}get children(){return null}lineInner(e,t,n,r){for(let s=0;;s++){let o=this.text[s],a=r+o.length;if((t?n:a)>=e)return new Mo(r,a,n,o);r=a+1,n++}}decompose(e,t,n,r){let s=e<=0&&t>=this.length?this:new i(ef(this.text,e,t),Math.min(t,this.length)-Math.max(0,e));if(r&1){let o=n.pop(),a=Ir(s.text,o.text.slice(),0,s.length);if(a.length<=32)n.push(new i(a,o.length+s.length));else{let l=a.length>>1;n.push(new i(a.slice(0,l)),new i(a.slice(l)))}}else n.push(s)}replace(e,t,n){if(!(n instanceof i))return super.replace(e,t,n);[e,t]=sn(this,e,t);let r=Ir(this.text,Ir(n.text,ef(this.text,0,e)),t),s=this.length+n.length-(t-e);return r.length<=32?new i(r,s):tn.from(i.split(r,[]),s)}sliceString(e,t=this.length,n=` -`){[e,t]=sn(this,e,t);let r="";for(let s=0,o=0;s<=t&&oe&&o&&(r+=n),es&&(r+=a.slice(Math.max(0,e-s),t-s)),s=l+1}return r}flatten(e){for(let t of this.text)e.push(t)}scanIdentical(){return 0}static split(e,t){let n=[],r=-1;for(let s of e)n.push(s),r+=s.length+1,n.length==32&&(t.push(new i(n,r)),n=[],r=-1);return r>-1&&t.push(new i(n,r)),t}},tn=class i extends J{constructor(e,t){super(),this.children=e,this.length=t,this.lines=0;for(let n of e)this.lines+=n.lines}lineInner(e,t,n,r){for(let s=0;;s++){let o=this.children[s],a=r+o.length,l=n+o.lines-1;if((t?l:a)>=e)return o.lineInner(e,t,n,r);r=a+1,n=l+1}}decompose(e,t,n,r){for(let s=0,o=0;o<=t&&s=o){let c=r&((o<=e?1:0)|(l>=t?2:0));o>=e&&l<=t&&!c?n.push(a):a.decompose(e-o,t-o,n,c)}o=l+1}}replace(e,t,n){if([e,t]=sn(this,e,t),n.lines=s&&t<=a){let l=o.replace(e-s,t-s,n),c=this.lines-o.lines+l.lines;if(l.lines>4&&l.lines>c>>6){let h=this.children.slice();return h[r]=l,new i(h,this.length-(t-e)+n.length)}return super.replace(s,a,l)}s=a+1}return super.replace(e,t,n)}sliceString(e,t=this.length,n=` -`){[e,t]=sn(this,e,t);let r="";for(let s=0,o=0;se&&s&&(r+=n),eo&&(r+=a.sliceString(e-o,t-o,n)),o=l+1}return r}flatten(e){for(let t of this.children)t.flatten(e)}scanIdentical(e,t){if(!(e instanceof i))return 0;let n=0,[r,s,o,a]=t>0?[0,0,this.children.length,e.children.length]:[this.children.length-1,e.children.length-1,-1,-1];for(;;r+=t,s+=t){if(r==o||s==a)return n;let l=this.children[r],c=e.children[s];if(l!=c)return n+l.scanIdentical(c,t);n+=l.length+1}}static from(e,t=e.reduce((n,r)=>n+r.length+1,-1)){let n=0;for(let O of e)n+=O.lines;if(n<32){let O=[];for(let m of e)m.flatten(O);return new Ne(O,t)}let r=Math.max(32,n>>5),s=r<<1,o=r>>1,a=[],l=0,c=-1,h=[];function f(O){let m;if(O.lines>s&&O instanceof i)for(let p of O.children)f(p);else O.lines>o&&(l>o||!l)?(u(),a.push(O)):O instanceof Ne&&l&&(m=h[h.length-1])instanceof Ne&&O.lines+m.lines<=32?(l+=O.lines,c+=O.length+1,h[h.length-1]=new Ne(m.text.concat(O.text),m.length+1+O.length)):(l+O.lines>r&&u(),l+=O.lines,c+=O.length+1,h.push(O))}function u(){l!=0&&(a.push(h.length==1?h[0]:i.from(h,c)),c=-1,l=h.length=0)}for(let O of e)f(O);return u(),a.length==1?a[0]:new i(a,t)}};J.empty=new Ne([""],0);function c0(i){let e=-1;for(let t of i)e+=t.length+1;return e}function Ir(i,e,t=0,n=1e9){for(let r=0,s=0,o=!0;s=t&&(l>n&&(a=a.slice(0,n-r)),r0?1:(e instanceof Ne?e.text.length:e.children.length)<<1]}nextInner(e,t){for(this.done=this.lineBreak=!1;;){let n=this.nodes.length-1,r=this.nodes[n],s=this.offsets[n],o=s>>1,a=r instanceof Ne?r.text.length:r.children.length;if(o==(t>0?a:0)){if(n==0)return this.done=!0,this.value="",this;t>0&&this.offsets[n-1]++,this.nodes.pop(),this.offsets.pop()}else if((s&1)==(t>0?0:1)){if(this.offsets[n]+=t,e==0)return this.lineBreak=!0,this.value=` -`,this;e--}else if(r instanceof Ne){let l=r.text[o+(t<0?-1:0)];if(this.offsets[n]+=t,l.length>Math.max(0,e))return this.value=e==0?l:t>0?l.slice(e):l.slice(0,l.length-e),this;e-=l.length}else{let l=r.children[o+(t<0?-1:0)];e>l.length?(e-=l.length,this.offsets[n]+=t):(t<0&&this.offsets[n]--,this.nodes.push(l),this.offsets.push(t>0?1:(l instanceof Ne?l.text.length:l.children.length)<<1))}}}next(e=0){return e<0&&(this.nextInner(-e,-this.dir),e=this.value.length),this.nextInner(e,this.dir)}},Br=class{constructor(e,t,n){this.value="",this.done=!1,this.cursor=new Ci(e,t>n?-1:1),this.pos=t>n?e.length:0,this.from=Math.min(t,n),this.to=Math.max(t,n)}nextInner(e,t){if(t<0?this.pos<=this.from:this.pos>=this.to)return this.value="",this.done=!0,this;e+=Math.max(0,t<0?this.pos-this.to:this.from-this.pos);let n=t<0?this.pos-this.from:this.to-this.pos;e>n&&(e=n),n-=e;let{value:r}=this.cursor.next(e);return this.pos+=(r.length+e)*t,this.value=r.length<=n?r:t<0?r.slice(r.length-n):r.slice(0,n),this.done=!this.value,this}next(e=0){return e<0?e=Math.max(e,this.from-this.pos):e>0&&(e=Math.min(e,this.to-this.pos)),this.nextInner(e,this.cursor.dir)}get lineBreak(){return this.cursor.lineBreak&&this.value!=""}},Ur=class{constructor(e){this.inner=e,this.afterBreak=!0,this.value="",this.done=!1}next(e=0){let{done:t,lineBreak:n,value:r}=this.inner.next(e);return t&&this.afterBreak?(this.value="",this.afterBreak=!1):t?(this.done=!0,this.value=""):n?this.afterBreak?this.value="":(this.afterBreak=!0,this.next()):(this.value=r,this.afterBreak=!1),this}get lineBreak(){return!1}};typeof Symbol<"u"&&(J.prototype[Symbol.iterator]=function(){return this.iter()},Ci.prototype[Symbol.iterator]=Br.prototype[Symbol.iterator]=Ur.prototype[Symbol.iterator]=function(){return this});var Mo=class{constructor(e,t,n,r){this.from=e,this.to=t,this.number=n,this.text=r}get length(){return this.to-this.from}};function sn(i,e,t){return e=Math.max(0,Math.min(i.length,e)),[e,Math.max(e,Math.min(i.length,t))]}function xe(i,e,t=!0,n=!0){return Fh(i,e,t,n)}function h0(i){return i>=56320&&i<57344}function f0(i){return i>=55296&&i<56320}function ri(i,e){let t=i.charCodeAt(e);if(!f0(t)||e+1==i.length)return t;let n=i.charCodeAt(e+1);return h0(n)?(t-55296<<10)+(n-56320)+65536:t}function of(i){return i<=65535?String.fromCharCode(i):(i-=65536,String.fromCharCode((i>>10)+55296,(i&1023)+56320))}function on(i){return i<65536?1:2}var Wo=/\r\n?|\n/,ge=(function(i){return i[i.Simple=0]="Simple",i[i.TrackDel=1]="TrackDel",i[i.TrackBefore=2]="TrackBefore",i[i.TrackAfter=3]="TrackAfter",i})(ge||(ge={})),zt=class i{constructor(e){this.sections=e}get length(){let e=0;for(let t=0;te)return s+(e-r);s+=a}else{if(n!=ge.Simple&&c>=e&&(n==ge.TrackDel&&re||n==ge.TrackBefore&&re))return null;if(c>e||c==e&&t<0&&!a)return e==r||t<0?s:s+l;s+=l}r=c}if(e>r)throw new RangeError(`Position ${e} is out of range for changeset of length ${r}`);return s}touchesRange(e,t=e){for(let n=0,r=0;n=0&&r<=t&&a>=e)return rt?"cover":!0;r=a}return!1}toString(){let e="";for(let t=0;t=0?":"+r:"")}return e}toJSON(){return this.sections}static fromJSON(e){if(!Array.isArray(e)||e.length%2||e.some(t=>typeof t!="number"))throw new RangeError("Invalid JSON representation of ChangeDesc");return new i(e)}static create(e){return new i(e)}},ze=class i extends zt{constructor(e,t){super(e),this.inserted=t}apply(e){if(this.length!=e.length)throw new RangeError("Applying change set to a document with the wrong length");return jo(this,(t,n,r,s,o)=>e=e.replace(r,r+(n-t),o),!1),e}mapDesc(e,t=!1){return Vo(this,e,t,!0)}invert(e){let t=this.sections.slice(),n=[];for(let r=0,s=0;r=0){t[r]=a,t[r+1]=o;let l=r>>1;for(;n.length0&&ni(n,t,s.text),s.forward(h),a+=h}let c=e[o++];for(;a>1].toJSON()))}return e}static of(e,t,n){let r=[],s=[],o=0,a=null;function l(h=!1){if(!h&&!r.length)return;ou||f<0||u>t)throw new RangeError(`Invalid change range ${f} to ${u} (in doc of length ${t})`);let m=O?typeof O=="string"?J.of(O.split(n||Wo)):O:J.empty,p=m.length;if(f==u&&p==0)return;fo&&Ae(r,f-o,-1),Ae(r,u-f,p),ni(s,r,m),o=u}}return c(e),l(!a),a}static empty(e){return new i(e?[e,-1]:[],[])}static fromJSON(e){if(!Array.isArray(e))throw new RangeError("Invalid JSON representation of ChangeSet");let t=[],n=[];for(let r=0;ra&&typeof o!="string"))throw new RangeError("Invalid JSON representation of ChangeSet");if(s.length==1)t.push(s[0],0);else{for(;n.length=0&&t<=0&&t==i[r+1]?i[r]+=e:r>=0&&e==0&&i[r]==0?i[r+1]+=t:n?(i[r]+=e,i[r+1]+=t):i.push(e,t)}function ni(i,e,t){if(t.length==0)return;let n=e.length-2>>1;if(n>1])),!(t||o==i.sections.length||i.sections[o+1]<0);)a=i.sections[o++],l=i.sections[o++];e(r,c,s,h,f),r=c,s=h}}}function Vo(i,e,t,n=!1){let r=[],s=n?[]:null,o=new Xi(i),a=new Xi(e);for(let l=-1;;){if(o.done&&a.len||a.done&&o.len)throw new Error("Mismatched change set lengths");if(o.ins==-1&&a.ins==-1){let c=Math.min(o.len,a.len);Ae(r,c,-1),o.forward(c),a.forward(c)}else if(a.ins>=0&&(o.ins<0||l==o.i||o.off==0&&(a.len=0&&l=0){let c=0,h=o.len;for(;h;)if(a.ins==-1){let f=Math.min(h,a.len);c+=f,h-=f,a.forward(f)}else if(a.ins==0&&a.lenl||o.ins>=0&&o.len>l)&&(a||n.length>c),s.forward2(l),o.forward(l)}}}}var Xi=class{constructor(e){this.set=e,this.i=0,this.next()}next(){let{sections:e}=this.set;this.i>1;return t>=e.length?J.empty:e[t]}textBit(e){let{inserted:t}=this.set,n=this.i-2>>1;return n>=t.length&&!e?J.empty:t[n].slice(this.off,e==null?void 0:this.off+e)}forward(e){e==this.len?this.next():(this.len-=e,this.off+=e)}forward2(e){this.ins==-1?this.forward(e):e==this.ins?this.next():(this.ins-=e,this.off+=e)}},vi=class i{constructor(e,t,n,r){this.from=e,this.to=t,this.flags=n,this.goalColumn=r}get anchor(){return this.flags&32?this.to:this.from}get head(){return this.flags&32?this.from:this.to}get empty(){return this.from==this.to}get assoc(){return this.flags&8?-1:this.flags&16?1:0}get undirectional(){return(this.flags&64)>0}get bidiLevel(){let e=this.flags&7;return e==7?null:e}map(e,t=-1){let n,r;return this.empty?n=r=e.mapPos(this.from,t):(n=e.mapPos(this.from,1),r=e.mapPos(this.to,-1)),n==this.from&&r==this.to?this:new i(n,r,this.flags,this.goalColumn)}extend(e,t=e,n=0){if(e<=this.anchor&&t>=this.anchor)return v.range(e,t,void 0,void 0,n);let r=Math.abs(e-this.anchor)>Math.abs(t-this.anchor)?e:t;return v.range(this.anchor,r,void 0,void 0,n)}eq(e,t=!1){return this.anchor==e.anchor&&this.head==e.head&&this.goalColumn==e.goalColumn&&(!t||!this.empty||this.assoc==e.assoc)}toJSON(){return{anchor:this.anchor,head:this.head}}static fromJSON(e){if(!e||typeof e.anchor!="number"||typeof e.head!="number")throw new RangeError("Invalid JSON representation for SelectionRange");return v.range(e.anchor,e.head)}static create(e,t,n,r){return new i(e,t,n,r)}},v=class i{constructor(e,t){this.ranges=e,this.mainIndex=t}map(e,t=-1){return e.empty?this:i.create(this.ranges.map(n=>n.map(e,t)),this.mainIndex)}eq(e,t=!1){if(this.ranges.length!=e.ranges.length||this.mainIndex!=e.mainIndex)return!1;for(let n=0;ne.toJSON()),main:this.mainIndex}}static fromJSON(e){if(!e||!Array.isArray(e.ranges)||typeof e.main!="number"||e.main>=e.ranges.length)throw new RangeError("Invalid JSON representation for EditorSelection");return new i(e.ranges.map(t=>vi.fromJSON(t)),e.main)}static single(e,t=e){return new i([i.range(e,t)],0)}static create(e,t=0){if(e.length==0)throw new RangeError("A selection needs at least one range");for(let n=0,r=0;rr.from-s.from),t=e.indexOf(n);for(let r=1;rs.head?i.range(l,a):i.range(a,l))}}return new i(e,t)}};function lf(i,e){for(let t of i.ranges)if(t.to>e)throw new RangeError("Selection points outside of document")}var Ko=0,Y=class i{constructor(e,t,n,r,s){this.combine=e,this.compareInput=t,this.compare=n,this.isStatic=r,this.id=Ko++,this.default=e([]),this.extensions=typeof s=="function"?s(this):s}get reader(){return this}static define(e={}){return new i(e.combine||(t=>t),e.compareInput||((t,n)=>t===n),e.compare||(e.combine?(t,n)=>t===n:Jo),!!e.static,e.enables)}of(e){return new nn([],this,0,e)}compute(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new nn(e,this,1,t)}computeN(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new nn(e,this,2,t)}from(e,t){return t||(t=n=>n),this.compute([e],n=>t(n.field(e)))}};function Jo(i,e){return i==e||i.length==e.length&&i.every((t,n)=>t===e[n])}var nn=class{constructor(e,t,n,r){this.dependencies=e,this.facet=t,this.type=n,this.value=r,this.id=Ko++}dynamicSlot(e){var t;let n=this.value,r=this.facet.compareInput,s=this.id,o=e[s]>>1,a=this.type==2,l=!1,c=!1,h=[];for(let f of this.dependencies)f=="doc"?l=!0:f=="selection"?c=!0:(((t=e[f.id])!==null&&t!==void 0?t:1)&1)==0&&h.push(e[f.id]);return{create(f){return f.values[o]=n(f),1},update(f,u){if(l&&u.docChanged||c&&(u.docChanged||u.selection)||Do(f,h)){let O=n(f);if(a?!tf(O,f.values[o],r):!r(O,f.values[o]))return f.values[o]=O,1}return 0},reconfigure:(f,u)=>{let O,m=u.config.address[s];if(m!=null){let p=Hr(u,m);if(this.dependencies.every(b=>b instanceof Y?u.facet(b)===f.facet(b):b instanceof fe?u.field(b,!1)==f.field(b,!1):!0)||(a?tf(O=n(f),p,r):r(O=n(f),p)))return f.values[o]=p,0}else O=n(f);return f.values[o]=O,1}}}get extension(){return this}};function tf(i,e,t){if(i.length!=e.length)return!1;for(let n=0;ni[l.id]),r=t.map(l=>l.type),s=n.filter(l=>!(l&1)),o=i[e.id]>>1;function a(l){let c=[];for(let h=0;hn===r),e);return e.provide&&(t.provides=e.provide(t)),t}create(e){let t=e.facet(Vr).find(n=>n.field==this);return(t?.create||this.createF)(e)}slot(e){let t=e[this.id]>>1;return{create:n=>(n.values[t]=this.create(n),1),update:(n,r)=>{let s=n.values[t],o=this.updateF(s,r);return this.compareF(s,o)?0:(n.values[t]=o,1)},reconfigure:(n,r)=>{let s=n.facet(Vr),o=r.facet(Vr),a;return(a=s.find(l=>l.field==this))&&a!=o.find(l=>l.field==this)?(n.values[t]=a.create(n),1):r.config.address[this.id]!=null?(n.values[t]=r.field(this),0):(n.values[t]=this.create(n),1)}}}init(e){return[this,Vr.of({field:this,create:e})]}get extension(){return this}},$i={lowest:4,low:3,default:2,high:1,highest:0};function Wn(i){return e=>new Gr(e,i)}var st={highest:Wn($i.highest),high:Wn($i.high),default:Wn($i.default),low:Wn($i.low),lowest:Wn($i.lowest)},Gr=class{constructor(e,t){this.inner=e,this.prec=t}get extension(){return this}},Nr=class i{of(e){return new Vn(this,e)}reconfigure(e){return i.reconfigure.of({compartment:this,extension:e})}get(e){return e.config.compartments.get(this)}},Vn=class{constructor(e,t){this.compartment=e,this.inner=t}get extension(){return this}},Fr=class i{constructor(e,t,n,r,s,o){for(this.base=e,this.compartments=t,this.dynamicSlots=n,this.address=r,this.staticValues=s,this.facets=o,this.statusTemplate=[];this.statusTemplate.length>1]}static resolve(e,t,n){let r=[],s=Object.create(null),o=new Map;for(let u of O0(e,t,o))u instanceof fe?r.push(u):(s[u.facet.id]||(s[u.facet.id]=[])).push(u);let a=Object.create(null),l=[],c=[];for(let u of r)a[u.id]=c.length<<1,c.push(O=>u.slot(O));let h=n?.config.facets;for(let u in s){let O=s[u],m=O[0].facet,p=h&&h[u]||[];if(O.every(b=>b.type==0))if(a[m.id]=l.length<<1|1,Jo(p,O))l.push(n.facet(m));else{let b=m.combine(O.map(g=>g.value));l.push(n&&m.compare(b,n.facet(m))?n.facet(m):b)}else{for(let b of O)b.type==0?(a[b.id]=l.length<<1|1,l.push(b.value)):(a[b.id]=c.length<<1,c.push(g=>b.dynamicSlot(g)));a[m.id]=c.length<<1,c.push(b=>u0(b,m,O))}}let f=c.map(u=>u(a));return new i(e,o,f,a,l,s)}};function O0(i,e,t){let n=[[],[],[],[],[]],r=new Map;function s(o,a){let l=r.get(o);if(l!=null){if(l<=a)return;let c=n[l].indexOf(o);c>-1&&n[l].splice(c,1),o instanceof Vn&&t.delete(o.compartment)}if(r.set(o,a),Array.isArray(o))for(let c of o)s(c,a);else if(o instanceof Vn){if(t.has(o.compartment))throw new RangeError("Duplicate use of compartment in extensions");let c=e.get(o.compartment)||o.inner;t.set(o.compartment,c),s(c,a)}else if(o instanceof Gr)s(o.inner,o.prec);else if(o instanceof fe)n[a].push(o),o.provides&&s(o.provides,a);else if(o instanceof nn)n[a].push(o),o.facet.extensions&&s(o.facet.extensions,$i.default);else{let c=o.extension;if(!c)throw new Error(`Unrecognized extension value in extension set (${o}).`);if(c==o)throw new Error(`Unrecognized extension value in extension set (${o}). This sometimes happens because multiple instances of @codemirror/state are loaded, breaking instanceof checks.`);s(c,a)}}return s(i,$i.default),n.reduce((o,a)=>o.concat(a))}function jn(i,e){if(e&1)return 2;let t=e>>1,n=i.status[t];if(n==4)throw new Error("Cyclic dependency between fields and/or facets");if(n&2)return n;i.status[t]=4;let r=i.computeSlot(i,i.config.dynamicSlots[t]);return i.status[t]=2|r}function Hr(i,e){return e&1?i.config.staticValues[e>>1]:i.values[e>>1]}var cf=Y.define(),Yo=Y.define({combine:i=>i.some(e=>e),static:!0}),hf=Y.define({combine:i=>i.length?i[0]:void 0,static:!0}),ff=Y.define(),uf=Y.define(),Of=Y.define(),df=Y.define({combine:i=>i.length?i[0]:!1}),Te=class{constructor(e,t){this.type=e,this.value=t}static define(){return new Io}},Io=class{of(e){return new Te(this,e)}},Bo=class{constructor(e){this.map=e}of(e){return new ie(this,e)}},ie=class i{constructor(e,t){this.type=e,this.value=t}map(e){let t=this.type.map(this.value,e);return t===void 0?void 0:t==this.value?this:new i(this.type,t)}is(e){return this.type==e}static define(e={}){return new Bo(e.map||(t=>t))}static mapEffects(e,t){if(!e.length)return e;let n=[];for(let r of e){let s=r.map(t);s&&n.push(s)}return n}};ie.reconfigure=ie.define();ie.appendConfig=ie.define();var pe=class i{constructor(e,t,n,r,s,o){this.startState=e,this.changes=t,this.selection=n,this.effects=r,this.annotations=s,this.scrollIntoView=o,this._doc=null,this._state=null,n&&lf(n,t.newLength),s.some(a=>a.type==i.time)||(this.annotations=s.concat(i.time.of(Date.now())))}static create(e,t,n,r,s,o){return new i(e,t,n,r,s,o)}get newDoc(){return this._doc||(this._doc=this.changes.apply(this.startState.doc))}get newSelection(){return this.selection||this.startState.selection.map(this.changes)}get state(){return this._state||this.startState.applyTransaction(this),this._state}annotation(e){for(let t of this.annotations)if(t.type==e)return t.value}get docChanged(){return!this.changes.empty}get reconfigured(){return this.startState.config!=this.state.config}isUserEvent(e){let t=this.annotation(i.userEvent);return!!(t&&(t==e||t.length>e.length&&t.slice(0,e.length)==e&&t[e.length]=="."))}};pe.time=Te.define();pe.userEvent=Te.define();pe.addToHistory=Te.define();pe.remote=Te.define();function d0(i,e){let t=[];for(let n=0,r=0;;){let s,o;if(n=i[n]))s=i[n++],o=i[n++];else if(r=0;r--){let s=n[r](i);s instanceof pe?i=s:Array.isArray(s)&&s.length==1&&s[0]instanceof pe?i=s[0]:i=mf(e,rn(s),!1)}return i}function m0(i){let e=i.startState,t=e.facet(Of),n=i;for(let r=t.length-1;r>=0;r--){let s=t[r](i);s&&Object.keys(s).length&&(n=pf(n,Uo(e,s,i.changes.newLength),!0))}return n==i?i:pe.create(e,i.changes,i.selection,n.effects,n.annotations,n.scrollIntoView)}var g0=[];function rn(i){return i==null?g0:Array.isArray(i)?i:[i]}var qe=(function(i){return i[i.Word=0]="Word",i[i.Space=1]="Space",i[i.Other=2]="Other",i})(qe||(qe={})),Q0=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/,Go;try{Go=new RegExp("[\\p{Alphabetic}\\p{Number}_]","u")}catch{}function b0(i){if(Go)return Go.test(i);for(let e=0;e"\x80"&&(t.toUpperCase()!=t.toLowerCase()||Q0.test(t)))return!0}return!1}function S0(i){return e=>{if(!/\S/.test(e))return qe.Space;if(b0(e))return qe.Word;for(let t=0;t-1)return qe.Word;return qe.Other}}var se=class i{constructor(e,t,n,r,s,o){this.config=e,this.doc=t,this.selection=n,this.values=r,this.status=e.statusTemplate.slice(),this.computeSlot=s,o&&(o._state=this);for(let a=0;ar.set(c,l)),t=null),r.set(a.value.compartment,a.value.extension)):a.is(ie.reconfigure)?(t=null,n=a.value):a.is(ie.appendConfig)&&(t=null,n=rn(n).concat(a.value));let s;t?s=e.startState.values.slice():(t=Fr.resolve(n,r,this),s=new i(t,this.doc,this.selection,t.dynamicSlots.map(()=>null),(l,c)=>c.reconfigure(l,this),null).values);let o=e.startState.facet(Yo)?e.newSelection:e.newSelection.asSingle();new i(t,e.newDoc,o,s,(a,l)=>l.update(a,e),e)}replaceSelection(e){return typeof e=="string"&&(e=this.toText(e)),this.changeByRange(t=>({changes:{from:t.from,to:t.to,insert:e},range:v.cursor(t.from+e.length)}))}changeByRange(e){let t=this.selection,n=e(t.ranges[0]),r=this.changes(n.changes),s=[n.range],o=rn(n.effects);for(let a=1;ao.spec.fromJSON(a,l)))}}return i.create({doc:e.doc,selection:v.fromJSON(e.selection),extensions:t.extensions?r.concat([t.extensions]):r})}static create(e={}){let t=Fr.resolve(e.extensions||[],new Map),n=e.doc instanceof J?e.doc:J.of((e.doc||"").split(t.staticFacet(i.lineSeparator)||Wo)),r=e.selection?e.selection instanceof v?e.selection:v.single(e.selection.anchor,e.selection.head):v.single(0);return lf(r,n.length),t.staticFacet(Yo)||(r=r.asSingle()),new i(t,n,r,t.dynamicSlots.map(()=>null),(s,o)=>o.create(s),null)}get tabSize(){return this.facet(i.tabSize)}get lineBreak(){return this.facet(i.lineSeparator)||` -`}get readOnly(){return this.facet(df)}phrase(e,...t){for(let n of this.facet(i.phrases))if(Object.prototype.hasOwnProperty.call(n,e)){e=n[e];break}return t.length&&(e=e.replace(/\$(\$|\d*)/g,(n,r)=>{if(r=="$")return"$";let s=+(r||1);return!s||s>t.length?n:t[s-1]})),e}languageDataAt(e,t,n=-1){let r=[];for(let s of this.facet(cf))for(let o of s(this,t,n))Object.prototype.hasOwnProperty.call(o,e)&&r.push(o[e]);return r}charCategorizer(e){let t=this.languageDataAt("wordChars",e);return S0(t.length?t[0]:"")}wordAt(e){let{text:t,from:n,length:r}=this.doc.lineAt(e),s=this.charCategorizer(e),o=e-n,a=e-n;for(;o>0;){let l=xe(t,o,!1);if(s(t.slice(l,o))!=qe.Word)break;o=l}for(;ai.length?i[0]:4});se.lineSeparator=hf;se.readOnly=df;se.phrases=Y.define({compare(i,e){let t=Object.keys(i),n=Object.keys(e);return t.length==n.length&&t.every(r=>i[r]==e[r])}});se.languageData=cf;se.changeFilter=ff;se.transactionFilter=uf;se.transactionExtender=Of;Nr.reconfigure=ie.define();function In(i,e,t={}){let n={};for(let r of i)for(let s of Object.keys(r)){let o=r[s],a=n[s];if(a===void 0)n[s]=o;else if(!(a===o||o===void 0))if(Object.hasOwnProperty.call(t,s))n[s]=t[s](a,o);else throw new Error("Config merge conflict for field "+s)}for(let r in e)n[r]===void 0&&(n[r]=e[r]);return n}var rt=class{eq(e){return this==e}range(e,t=e){return Dn.create(e,t,this)}};rt.prototype.startSide=rt.prototype.endSide=0;rt.prototype.point=!1;rt.prototype.mapMode=ge.TrackDel;function ea(i,e){return i==e||i.constructor==e.constructor&&i.eq(e)}var Dn=class i{constructor(e,t,n){this.from=e,this.to=t,this.value=n}static create(e,t,n){return new i(e,t,n)}};function No(i,e){return i.from-e.from||i.value.startSide-e.value.startSide}var Fo=class i{constructor(e,t,n,r){this.from=e,this.to=t,this.value=n,this.maxPoint=r}get length(){return this.to[this.to.length-1]}findIndex(e,t,n,r=0){let s=n?this.to:this.from;for(let o=r,a=s.length;;){if(o==a)return o;let l=o+a>>1,c=s[l]-e||(n?this.value[l].endSide:this.value[l].startSide)-t;if(l==o)return c>=0?o:a;c>=0?a=l:o=l+1}}between(e,t,n,r){for(let s=this.findIndex(t,-1e9,!0),o=this.findIndex(n,1e9,!1,s);sO||u==O&&c.startSide>0&&c.endSide<=0)continue;(O-u||c.endSide-c.startSide)<0||(o<0&&(o=u),c.point&&(a=Math.max(a,O-u)),n.push(c),r.push(u-o),s.push(O-o))}return{mapped:n.length?new i(r,s,n,a):null,pos:o}}},le=class i{constructor(e,t,n,r){this.chunkPos=e,this.chunk=t,this.nextLayer=n,this.maxPoint=r}static create(e,t,n,r){return new i(e,t,n,r)}get length(){let e=this.chunk.length-1;return e<0?0:Math.max(this.chunkEnd(e),this.nextLayer.length)}get size(){if(this.isEmpty)return 0;let e=this.nextLayer.size;for(let t of this.chunk)e+=t.value.length;return e}chunkEnd(e){return this.chunkPos[e]+this.chunk[e].length}update(e){let{add:t=[],sort:n=!1,filterFrom:r=0,filterTo:s=this.length}=e,o=e.filter;if(t.length==0&&!o)return this;if(n&&(t=t.slice().sort(No)),this.isEmpty)return t.length?i.of(t):this;let a=new Kr(this,null,-1).goto(0),l=0,c=[],h=new _i;for(;a.value||l=0){let f=t[l++];h.addInner(f.from,f.to,f.value)||c.push(f)}else a.rangeIndex==1&&a.chunkIndexthis.chunkEnd(a.chunkIndex)||sa.to||s=s&&e<=s+o.length&&o.between(s,e-s,t-s,n)===!1)return}this.nextLayer.between(e,t,n)}}iter(e=0){return Yn.from([this]).goto(e)}get isEmpty(){return this.nextLayer==this}static iter(e,t=0){return Yn.from(e).goto(t)}static compare(e,t,n,r,s=-1){let o=e.filter(f=>f.maxPoint>0||!f.isEmpty&&f.maxPoint>=s),a=t.filter(f=>f.maxPoint>0||!f.isEmpty&&f.maxPoint>=s),l=nf(o,a,n),c=new Ti(o,l,s),h=new Ti(a,l,s);n.iterGaps((f,u,O)=>rf(c,f,h,u,O,r)),n.empty&&n.length==0&&rf(c,0,h,0,0,r)}static eq(e,t,n=0,r){r==null&&(r=999999999);let s=e.filter(h=>!h.isEmpty&&t.indexOf(h)<0),o=t.filter(h=>!h.isEmpty&&e.indexOf(h)<0);if(s.length!=o.length)return!1;if(!s.length)return!0;let a=nf(s,o),l=new Ti(s,a,0).goto(n),c=new Ti(o,a,0).goto(n);for(;;){if(l.to!=c.to||!Ho(l.active,c.active)||l.point&&(!c.point||!ea(l.point,c.point)))return!1;if(l.to>r)return!0;l.next(),c.next()}}static spans(e,t,n,r,s=-1){let o=new Ti(e,null,s).goto(t),a=t,l=o.openStart;for(;;){let c=Math.min(o.to,n);if(o.point){let h=o.activeForPoint(o.to),f=o.pointFroma&&(r.span(a,c,o.active,l),l=o.openEnd(c));if(o.to>n)return l+(o.point&&o.to>n?1:0);a=o.to,o.next()}}static of(e,t=!1){let n=new _i;for(let r of e instanceof Dn?[e]:t?y0(e):e)n.add(r.from,r.to,r.value);return n.finish()}static join(e){if(!e.length)return i.empty;let t=e[e.length-1];for(let n=e.length-2;n>=0;n--)for(let r=e[n];r!=i.empty;r=r.nextLayer)t=new i(r.chunkPos,r.chunk,t,Math.max(r.maxPoint,t.maxPoint));return t}};le.empty=new le([],[],null,-1);function y0(i){if(i.length>1)for(let e=i[0],t=1;t0)return i.slice().sort(No);e=n}return i}le.empty.nextLayer=le.empty;var _i=class i{finishChunk(e){this.chunks.push(new Fo(this.from,this.to,this.value,this.maxPoint)),this.chunkPos.push(this.chunkStart),this.chunkStart=-1,this.setMaxPoint=Math.max(this.setMaxPoint,this.maxPoint),this.maxPoint=-1,e&&(this.from=[],this.to=[],this.value=[])}constructor(){this.chunks=[],this.chunkPos=[],this.chunkStart=-1,this.last=null,this.lastFrom=-1e9,this.lastTo=-1e9,this.from=[],this.to=[],this.value=[],this.maxPoint=-1,this.setMaxPoint=-1,this.nextLayer=null}add(e,t,n){this.addInner(e,t,n)||(this.nextLayer||(this.nextLayer=new i)).add(e,t,n)}addInner(e,t,n){let r=e-this.lastTo||n.startSide-this.last.endSide;if(r<=0&&(e-this.lastFrom||n.startSide-this.last.startSide)<0)throw new Error("Ranges must be added sorted by `from` position and `startSide`");return r<0?!1:(this.from.length==250&&this.finishChunk(!0),this.chunkStart<0&&(this.chunkStart=e),this.from.push(e-this.chunkStart),this.to.push(t-this.chunkStart),this.last=n,this.lastFrom=e,this.lastTo=t,this.value.push(n),n.point&&(this.maxPoint=Math.max(this.maxPoint,t-e)),!0)}addChunk(e,t){if((e-this.lastTo||t.value[0].startSide-this.last.endSide)<0)return!1;this.from.length&&this.finishChunk(!0),this.setMaxPoint=Math.max(this.setMaxPoint,t.maxPoint),this.chunks.push(t),this.chunkPos.push(e);let n=t.value.length-1;return this.last=t.value[n],this.lastFrom=t.from[n]+e,this.lastTo=t.to[n]+e,!0}finish(){return this.finishInner(le.empty)}finishInner(e){if(this.from.length&&this.finishChunk(!1),this.chunks.length==0)return e;let t=le.create(this.chunkPos,this.chunks,this.nextLayer?this.nextLayer.finishInner(e):e,this.setMaxPoint);return this.from=null,t}};function nf(i,e,t){let n=new Map;for(let s of i)for(let o=0;o=this.minPoint)break}}setRangeIndex(e){if(e==this.layer.chunk[this.chunkIndex].value.length){if(this.chunkIndex++,this.skip)for(;this.chunkIndex=n&&r.push(new Kr(o,t,n,s));return r.length==1?r[0]:new i(r)}get startSide(){return this.value?this.value.startSide:0}goto(e,t=-1e9){for(let n of this.heap)n.goto(e,t);for(let n=this.heap.length>>1;n>=0;n--)Lo(this.heap,n);return this.next(),this}forward(e,t){for(let n of this.heap)n.forward(e,t);for(let n=this.heap.length>>1;n>=0;n--)Lo(this.heap,n);(this.to-e||this.value.endSide-t)<0&&this.next()}next(){if(this.heap.length==0)this.from=this.to=1e9,this.value=null,this.rank=-1;else{let e=this.heap[0];this.from=e.from,this.to=e.to,this.value=e.value,this.rank=e.rank,e.value&&e.next(),Lo(this.heap,0)}}};function Lo(i,e){for(let t=i[e];;){let n=(e<<1)+1;if(n>=i.length)break;let r=i[n];if(n+1=0&&(r=i[n+1],n++),t.compare(r)<0)break;i[n]=t,i[e]=r,e=n}}var Ti=class{constructor(e,t,n){this.minPoint=n,this.active=[],this.activeTo=[],this.activeRank=[],this.minActive=-1,this.point=null,this.pointFrom=0,this.pointRank=0,this.to=-1e9,this.endSide=0,this.openStart=-1,this.cursor=Yn.from(e,t,n)}goto(e,t=-1e9){return this.cursor.goto(e,t),this.active.length=this.activeTo.length=this.activeRank.length=0,this.minActive=-1,this.to=e,this.endSide=t,this.openStart=-1,this.next(),this}forward(e,t){for(;this.minActive>-1&&(this.activeTo[this.minActive]-e||this.active[this.minActive].endSide-t)<0;)this.removeActive(this.minActive);this.cursor.forward(e,t)}removeActive(e){Dr(this.active,e),Dr(this.activeTo,e),Dr(this.activeRank,e),this.minActive=sf(this.active,this.activeTo)}addActive(e){let t=0,{value:n,to:r,rank:s}=this.cursor;for(;t0;)t++;Yr(this.active,t,n),Yr(this.activeTo,t,r),Yr(this.activeRank,t,s),e&&Yr(e,t,this.cursor.from),this.minActive=sf(this.active,this.activeTo)}next(){let e=this.to,t=this.point;this.point=null;let n=this.openStart<0?[]:null;for(;;){let r=this.minActive;if(r>-1&&(this.activeTo[r]-this.cursor.from||this.active[r].endSide-this.cursor.startSide)<0){if(this.activeTo[r]>e){this.to=this.activeTo[r],this.endSide=this.active[r].endSide;break}this.removeActive(r),n&&Dr(n,r)}else if(this.cursor.value)if(this.cursor.from>e){this.to=this.cursor.from,this.endSide=this.cursor.startSide;break}else{let s=this.cursor.value;if(!s.point)this.addActive(n),this.cursor.next();else if(t&&this.cursor.to==this.to&&this.cursor.from=0&&n[r]=0&&!(this.activeRank[n]e||this.activeTo[n]==e&&this.active[n].endSide>=this.point.endSide)&&t.push(this.active[n]);return t.reverse()}openEnd(e){let t=0;for(let n=this.activeTo.length-1;n>=0&&this.activeTo[n]>e;n--)t++;return t}};function rf(i,e,t,n,r,s){i.goto(e),t.goto(n);let o=n+r,a=n,l=n-e,c=!!s.boundChange;for(let h=!1;;){let f=i.to+l-t.to,u=f||i.endSide-t.endSide,O=u<0?i.to+l:t.to,m=Math.min(O,o);if(i.point||t.point?(i.point&&t.point&&ea(i.point,t.point)&&Ho(i.activeForPoint(i.to),t.activeForPoint(t.to))||s.comparePoint(a,m,i.point,t.point),h=!1):(h&&s.boundChange(a),m>a&&!Ho(i.active,t.active)&&s.compareRange(a,m,i.active,t.active),c&&mo)break;a=O,u<=0&&i.next(),u>=0&&t.next()}}function Ho(i,e){if(i.length!=e.length)return!1;for(let t=0;t=e;n--)i[n+1]=i[n];i[e]=t}function sf(i,e){let t=-1,n=1e9;for(let r=0;r=e)return r;if(r==i.length)break;s+=i.charCodeAt(r)==9?t-s%t:1,r=xe(i,r)}return n===!0?-1:i.length}var Qf=typeof Symbol>"u"?"__\u037C":Symbol.for("\u037C"),ta=typeof Symbol>"u"?"__styleSet"+Math.floor(Math.random()*1e8):Symbol("styleSet"),bf=typeof globalThis<"u"?globalThis:typeof window<"u"?window:{},ot=class{constructor(e,t){this.rules=[];let{finish:n}=t||{};function r(o){return/^@/.test(o)?[o]:o.split(/,\s*/)}function s(o,a,l,c){let h=[],f=/^@(\w+)\b/.exec(o[0]),u=f&&f[1]=="keyframes";if(f&&a==null)return l.push(o[0]+";");for(let O in a){let m=a[O];if(/&/.test(O))s(O.split(/,\s*/).map(p=>o.map(b=>p.replace(/&/,b))).reduce((p,b)=>p.concat(b)),m,l);else if(m&&typeof m=="object"){if(!f)throw new RangeError("The value of a property ("+O+") should be a primitive value.");s(r(O),m,h,u)}else m!=null&&h.push(O.replace(/_.*/,"").replace(/[A-Z]/g,p=>"-"+p.toLowerCase())+": "+m+";")}(h.length||u)&&l.push((n&&!f&&!c?o.map(n):o).join(", ")+" {"+h.join(" ")+"}")}for(let o in e)s(r(o),e[o],this.rules)}getRules(){return this.rules.join(` -`)}static newName(){let e=bf[Qf]||1;return bf[Qf]=e+1,"\u037C"+e.toString(36)}static mount(e,t,n){let r=e[ta],s=n&&n.nonce;r?s&&r.setNonce(s):r=new ia(e,s),r.mount(Array.isArray(t)?t:[t],e)}},Sf=new Map,ia=class{constructor(e,t){let n=e.ownerDocument||e,r=n.defaultView;if(!e.head&&e.adoptedStyleSheets&&r.CSSStyleSheet){let s=Sf.get(n);if(s)return e[ta]=s;this.sheet=new r.CSSStyleSheet,Sf.set(n,this)}else this.styleTag=n.createElement("style"),t&&this.styleTag.setAttribute("nonce",t);this.modules=[],e[ta]=this}mount(e,t){let n=this.sheet,r=0,s=0;for(let o=0;o-1&&(this.modules.splice(l,1),s--,l=-1),l==-1){if(this.modules.splice(s++,0,a),n)for(let c=0;c",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},k0=typeof navigator<"u"&&/Mac/.test(navigator.platform),x0=typeof navigator<"u"&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent);for(be=0;be<10;be++)Lt[48+be]=Lt[96+be]=String(be);var be;for(be=1;be<=24;be++)Lt[be+111]="F"+be;var be;for(be=65;be<=90;be++)Lt[be]=String.fromCharCode(be+32),an[be]=String.fromCharCode(be);var be;for(Jr in Lt)an.hasOwnProperty(Jr)||(an[Jr]=Lt[Jr]);var Jr;function yf(i){var e=k0&&i.metaKey&&i.shiftKey&&!i.ctrlKey&&!i.altKey||x0&&i.shiftKey&&i.key&&i.key.length==1||i.key=="Unidentified",t=!e&&i.key||(i.shiftKey?an:Lt)[i.keyCode]||i.key||"Unidentified";return t=="Esc"&&(t="Escape"),t=="Del"&&(t="Delete"),t=="Left"&&(t="ArrowLeft"),t=="Up"&&(t="ArrowUp"),t=="Right"&&(t="ArrowRight"),t=="Down"&&(t="ArrowDown"),t}var Le=typeof navigator<"u"?navigator:{userAgent:"",vendor:"",platform:""},la=typeof document<"u"?document:{documentElement:{style:{}}},ca=/Edge\/(\d+)/.exec(Le.userAgent),Nf=/MSIE \d/.test(Le.userAgent),ha=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(Le.userAgent),ys=!!(Nf||ha||ca),kf=!ys&&/gecko\/(\d+)/i.test(Le.userAgent),na=!ys&&/Chrome\/(\d+)/.exec(Le.userAgent),xf="webkitFontSmoothing"in la.documentElement.style,fa=!ys&&/Apple Computer/.test(Le.vendor),wf=fa&&(/Mobile\/\w+/.test(Le.userAgent)||Le.maxTouchPoints>2),L={mac:wf||/Mac/.test(Le.platform),windows:/Win/.test(Le.platform),linux:/Linux|X11/.test(Le.platform),ie:ys,ie_version:Nf?la.documentMode||6:ha?+ha[1]:ca?+ca[1]:0,gecko:kf,gecko_version:kf?+(/Firefox\/(\d+)/.exec(Le.userAgent)||[0,0])[1]:0,chrome:!!na,chrome_version:na?+na[1]:0,ios:wf,android:/Android\b/.test(Le.userAgent),webkit:xf,webkit_version:xf?+(/\bAppleWebKit\/(\d+)/.exec(Le.userAgent)||[0,0])[1]:0,safari:fa,safari_version:fa?+(/\bVersion\/(\d+(\.\d+)?)/.exec(Le.userAgent)||[0,0])[1]:0,tabSize:la.documentElement.style.tabSize!=null?"tab-size":"-moz-tab-size"};function Ba(i,e){for(let t in i)t=="class"&&e.class?e.class+=" "+i.class:t=="style"&&e.style?e.style+=";"+i.style:e[t]=i[t];return e}var cs=Object.create(null);function Ua(i,e,t){if(i==e)return!0;i||(i=cs),e||(e=cs);let n=Object.keys(i),r=Object.keys(e);if(n.length-(t&&n.indexOf(t)>-1?1:0)!=r.length-(t&&r.indexOf(t)>-1?1:0))return!1;for(let s of n)if(s!=t&&(r.indexOf(s)==-1||i[s]!==e[s]))return!1;return!0}function w0(i,e){for(let t=i.attributes.length-1;t>=0;t--){let n=i.attributes[t].name;e[n]==null&&i.removeAttribute(n)}for(let t in e){let n=e[t];t=="style"?i.style.cssText=n:i.getAttribute(t)!=n&&i.setAttribute(t,n)}}function Pf(i,e,t){let n=!1;if(e)for(let r in e)t&&r in t||(n=!0,r=="style"?i.style.cssText="":i.removeAttribute(r));if(t)for(let r in t)e&&e[r]==t[r]||(n=!0,r=="style"?i.style.cssText=t[r]:i.setAttribute(r,t[r]));return n}function P0(i){let e=Object.create(null);for(let t=0;t0?3e8:-4e8:t>0?1e8:-1e8,new Zi(e,t,t,n,e.widget||null,!1)}static replace(e){let t=!!e.block,n,r;if(e.isBlockGap)n=-5e8,r=4e8;else{let{start:s,end:o}=Ff(e,t);n=(s?t?-3e8:-1:5e8)-1,r=(o?t?2e8:1:-6e8)+1}return new Zi(e,n,r,t,e.widget||null,!0)}static line(e){return new nr(e)}static set(e,t=!1){return le.of(e,t)}hasHeight(){return this.widget?this.widget.estimatedHeight>-1:!1}};R.none=le.empty;var ir=class i extends R{constructor(e){let{start:t,end:n}=Ff(e);super(t?-1:5e8,n?1:-6e8,null,e),this.tagName=e.tagName||"span",this.attrs=e.class&&e.attributes?Ba(e.attributes,{class:e.class}):e.class?{class:e.class}:e.attributes||cs}eq(e){return this==e||e instanceof i&&this.tagName==e.tagName&&Ua(this.attrs,e.attrs)}range(e,t=e){if(e>=t)throw new RangeError("Mark decorations may not be empty");return super.range(e,t)}};ir.prototype.point=!1;var nr=class i extends R{constructor(e){super(-2e8,-2e8,null,e)}eq(e){return e instanceof i&&this.spec.class==e.spec.class&&Ua(this.spec.attributes,e.spec.attributes)}range(e,t=e){if(t!=e)throw new RangeError("Line decoration ranges must be zero-length");return super.range(e,t)}};nr.prototype.mapMode=ge.TrackBefore;nr.prototype.point=!0;var Zi=class i extends R{constructor(e,t,n,r,s,o){super(t,n,s,e),this.block=r,this.isReplace=o,this.mapMode=r?t<=0?ge.TrackBefore:ge.TrackAfter:ge.TrackDel}get type(){return this.startSide!=this.endSide?ft.WidgetRange:this.startSide<=0?ft.WidgetBefore:ft.WidgetAfter}get heightRelevant(){return this.block||!!this.widget&&(this.widget.estimatedHeight>=5||this.widget.lineBreaks>0)}eq(e){return e instanceof i&&v0(this.widget,e.widget)&&this.block==e.block&&this.startSide==e.startSide&&this.endSide==e.endSide}range(e,t=e){if(this.isReplace&&(e>t||e==t&&this.startSide>0&&this.endSide<=0))throw new RangeError("Invalid range for replacement decoration");if(!this.isReplace&&t!=e)throw new RangeError("Widget decorations can only have zero-length ranges");return super.range(e,t)}};Zi.prototype.point=!0;function Ff(i,e=!1){let{inclusiveStart:t,inclusiveEnd:n}=i;return t==null&&(t=i.inclusive),n==null&&(n=i.inclusive),{start:t??e,end:n??e}}function v0(i,e){return i==e||!!(i&&e&&i.compare(e))}function fn(i,e,t,n=0){let r=t.length-1;r>=0&&t[r]+n>=i?t[r]=Math.max(t[r],e):t.push(i,e)}var ai=class i extends rt{constructor(e,t,n){super(),this.tagName=e,this.attributes=t,this.rank=n}eq(e){return e==this||e instanceof i&&this.tagName==e.tagName&&Ua(this.attributes,e.attributes)}static create(e){return new i(e.tagName,e.attributes||cs,e.rank==null?50:Math.max(0,Math.min(e.rank,100)))}static set(e,t=!1){return le.of(e,t)}};ai.prototype.startSide=ai.prototype.endSide=-1;function rr(i){let e;return i.nodeType==11?e=i.getSelection?i:i.ownerDocument:e=i,e.getSelection()}function ua(i,e){return e?i==e||i.contains(e.nodeType!=1?e.parentNode:e):!1}function Nn(i,e){if(!e.anchorNode)return!1;try{return ua(i,e.anchorNode)}catch{return!1}}function as(i){return i.nodeType==3?sr(i,0,i.nodeValue.length).getClientRects():i.nodeType==1?i.getClientRects():[]}function Fn(i,e,t,n){return t?vf(i,e,t,n,-1)||vf(i,e,t,n,1):!1}function li(i){for(var e=0;;e++)if(i=i.previousSibling,!i)return e}function hs(i){return i.nodeType==1&&/^(DIV|P|LI|UL|OL|BLOCKQUOTE|DD|DT|H\d|SECTION|PRE)$/.test(i.nodeName)}function vf(i,e,t,n,r){for(;;){if(i==t&&e==n)return!0;if(e==(r<0?0:jt(i))){if(i.nodeName=="DIV")return!1;let s=i.parentNode;if(!s||s.nodeType!=1)return!1;e=li(i)+(r<0?0:1),i=s}else if(i.nodeType==1){if(i=i.childNodes[e+(r<0?-1:0)],i.nodeType==1&&i.contentEditable=="false")return!1;e=r<0?jt(i):0}else return!1}}function jt(i){return i.nodeType==3?i.nodeValue.length:i.childNodes.length}function fs(i,e){let{left:t,right:n}=i;if(t==n)return i;let r=e?t:n;return{left:r,right:r,top:i.top,bottom:i.bottom}}function $0(i){let e=i.visualViewport;return e?{left:0,right:e.width,top:0,bottom:e.height}:{left:0,right:i.innerWidth,top:0,bottom:i.innerHeight}}function Hf(i,e){let t=e.width/i.offsetWidth,n=e.height/i.offsetHeight;return(t>.995&&t<1.005||!isFinite(t)||Math.abs(e.width-i.offsetWidth)<1)&&(t=1),(n>.995&&n<1.005||!isFinite(n)||Math.abs(e.height-i.offsetHeight)<1)&&(n=1),{scaleX:t,scaleY:n}}function T0(i,e,t,n,r,s,o,a){let l=i.ownerDocument,c=l.defaultView||window;for(let h=i,f=!1;h&&!f;)if(h.nodeType==1){let u,O=h==l.body,m=1,p=1;if(O)u=$0(c);else{if(/^(fixed|sticky)$/.test(getComputedStyle(h).position)&&(f=!0),h.scrollHeight<=h.clientHeight&&h.scrollWidth<=h.clientWidth){h=h.assignedSlot||h.parentNode;continue}let Q=h.getBoundingClientRect();({scaleX:m,scaleY:p}=Hf(h,Q)),u={left:Q.left,right:Q.left+h.clientWidth*m,top:Q.top,bottom:Q.top+h.clientHeight*p}}let b=0,g=0;if(r=="nearest")e.top0&&e.bottom>u.bottom+g&&(g=e.bottom-u.bottom+o)):e.bottom>u.bottom-o&&(g=e.bottom-u.bottom+o,t<0&&e.top-g0&&e.right>u.right+b&&(b=e.right-u.right+s)):e.right>u.right-s&&(b=e.right-u.right+s,t<0&&e.leftu.bottom||e.leftu.right)&&(e={left:Math.max(e.left,u.left),right:Math.min(e.right,u.right),top:Math.max(e.top,u.top),bottom:Math.min(e.bottom,u.bottom)}),h=h.assignedSlot||h.parentNode}else if(h.nodeType==11)h=h.host;else break}function Kf(i,e=!0){let t=i.ownerDocument,n=null,r=null;for(let s=i.parentNode;s&&!(s==t.body||(!e||n)&&r);)if(s.nodeType==1)!r&&s.scrollHeight>s.clientHeight&&(r=s),e&&!n&&s.scrollWidth>s.clientWidth&&(n=s),s=s.assignedSlot||s.parentNode;else if(s.nodeType==11)s=s.host;else break;return{x:n,y:r}}var Oa=class{constructor(){this.anchorNode=null,this.anchorOffset=0,this.focusNode=null,this.focusOffset=0}eq(e){return this.anchorNode==e.anchorNode&&this.anchorOffset==e.anchorOffset&&this.focusNode==e.focusNode&&this.focusOffset==e.focusOffset}setRange(e){let{anchorNode:t,focusNode:n}=e;this.set(t,Math.min(e.anchorOffset,t?jt(t):0),n,Math.min(e.focusOffset,n?jt(n):0))}set(e,t,n,r){this.anchorNode=e,this.anchorOffset=t,this.focusNode=n,this.focusOffset=r}},Ri=null;L.safari&&L.safari_version>=26&&(Ri=!1);function Jf(i){if(i.setActive)return i.setActive();if(Ri)return i.focus(Ri);let e=[];for(let t=i;t&&(e.push(t,t.scrollTop,t.scrollLeft),t!=t.ownerDocument);t=t.parentNode);if(i.focus(Ri==null?{get preventScroll(){return Ri={preventScroll:!0},!0}}:void 0),!Ri){Ri=!1;for(let t=0;tMath.max(0,i.document.documentElement.scrollHeight-i.innerHeight-4):i.scrollTop>Math.max(1,i.scrollHeight-i.clientHeight-4)}function tu(i,e){for(let t=i,n=e;;){if(t.nodeType==3&&n>0)return{node:t,offset:n};if(t.nodeType==1&&n>0){if(t.contentEditable=="false")return null;t=t.childNodes[n-1],n=jt(t)}else if(t.parentNode&&!hs(t))n=li(t),t=t.parentNode;else return null}}function iu(i,e){for(let t=i,n=e;;){if(t.nodeType==3&&n=t){if(a.level==n)return o;(s<0||(r!=0?r<0?a.fromt:e[s].level>a.level))&&(s=o)}}if(s<0)throw new RangeError("Index out of range");return s}};function su(i,e){if(i.length!=e.length)return!1;for(let t=0;t=0;p-=3)if(Ct[p+1]==-O){let b=Ct[p+2],g=b&2?r:b&4?b&1?s:r:0;g&&(oe[f]=oe[Ct[p]]=g),a=p;break}}else{if(Ct.length==189)break;Ct[a++]=f,Ct[a++]=u,Ct[a++]=l}else if((m=oe[f])==2||m==1){let p=m==r;l=p?0:1;for(let b=a-3;b>=0;b-=3){let g=Ct[b+2];if(g&2)break;if(p)Ct[b+2]|=2;else{if(g&4)break;Ct[b+2]|=4}}}}}function q0(i,e,t,n){for(let r=0,s=n;r<=t.length;r++){let o=r?t[r-1].to:i,a=rl;)m==b&&(m=t[--p].from,b=p?t[p-1].to:i),oe[--m]=O;l=h}else s=c,l++}}}function pa(i,e,t,n,r,s,o){let a=n%2?2:1;if(n%2==r%2)for(let l=e,c=0;ll&&o.push(new ct(l,p.from,O));let b=p.direction==Ei!=!(O%2);ma(i,b?n+1:n,r,p.inner,p.from,p.to,o),l=p.to}m=p.to}else{if(m==t||(h?oe[m]!=a:oe[m]==a))break;m++}u?pa(i,l,m,n+1,r,u,o):le;){let h=!0,f=!1;if(!c||l>s[c-1].to){let p=oe[l-1];p!=a&&(h=!1,f=p==16)}let u=!h&&a==1?[]:null,O=h?n:n+1,m=l;e:for(;;)if(c&&m==s[c-1].to){if(f)break e;let p=s[--c];if(!h)for(let b=p.from,g=c;;){if(b==e)break e;if(g&&s[g-1].to==b)b=s[--g].from;else{if(oe[b-1]==a)break e;break}}if(u)u.push(p);else{p.tooe.length;)oe[oe.length]=256;let n=[],r=e==Ei?0:1;return ma(i,r,r,t,0,i.length,n),n}function ou(i){return[new ct(0,i,0)]}var au="";function L0(i,e,t,n,r){var s;let o=n.head-i.from,a=ct.find(e,o,(s=n.bidiLevel)!==null&&s!==void 0?s:-1,n.assoc),l=e[a],c=l.side(r,t);if(o==c){let u=a+=r?1:-1;if(u<0||u>=e.length)return null;l=e[a=u],o=l.side(!r,t),c=l.side(r,t)}let h=xe(i.text,o,l.forward(r,t));(hl.to)&&(h=c),au=i.text.slice(Math.min(o,h),Math.max(o,h));let f=a==(r?e.length-1:0)?null:e[a+(r?1:-1)];return f&&h==c&&f.level+(r?0:1)i.some(e=>e)}),W0=Y.define({combine:i=>i.some(e=>e)}),pu=Y.define(),Hn=class i{constructor(e,t,n,r,s,o=!1){this.range=e,this.y=t,this.x=n,this.yMargin=r,this.xMargin=s,this.isSnapshot=o}map(e){return e.empty?this:new i(this.range.map(e),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}clip(e){return this.range.to<=e.doc.length?this:new i(v.cursor(e.doc.length),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}},es=ie.define({map:(i,e)=>i.map(e)}),mu=ie.define();function ht(i,e,t){let n=i.facet(fu);n.length?n[0](e):window.onerror&&window.onerror(String(e),t,void 0,void 0,e)||(t?console.error(t+":",e):console.error(e))}var Mt=Y.define({combine:i=>i.length?i[0]:!0}),j0=0,cn=Y.define({combine(i){return i.filter((e,t)=>{for(let n=0;n{let l=[];return o&&l.push(ks.of(c=>{let h=c.plugin(a);return h?o(h):R.none})),s&&l.push(s(a)),l})}static fromClass(e,t){return i.define((n,r)=>new e(n,r),t)}},Kn=class{constructor(e){this.spec=e,this.mustUpdate=null,this.value=null}get plugin(){return this.spec&&this.spec.plugin}update(e){if(this.value){if(this.mustUpdate){let t=this.mustUpdate;if(this.mustUpdate=null,this.value.update)try{this.value.update(t)}catch(n){if(ht(t.state,n,"CodeMirror plugin crashed"),this.value.destroy)try{this.value.destroy()}catch{}this.deactivate()}}}else if(this.spec)try{this.value=this.spec.plugin.create(e,this.spec.arg)}catch(t){ht(e.state,t,"CodeMirror plugin crashed"),this.deactivate()}return this}destroy(e){var t;if(!((t=this.value)===null||t===void 0)&&t.destroy)try{this.value.destroy()}catch(n){ht(e.state,n,"CodeMirror plugin crashed")}}deactivate(){this.spec=this.value=null}},gu=Y.define(),Ha=Y.define(),ks=Y.define(),Qu=Y.define(),Ka=Y.define(),or=Y.define(),bu=Y.define();function Tf(i,e){let t=i.state.facet(bu);if(!t.length)return t;let n=t.map(s=>s instanceof Function?s(i):s),r=[];return le.spans(n,e.from,e.to,{point(){},span(s,o,a,l){let c=s-e.from,h=o-e.from,f=r;for(let u=a.length-1;u>=0;u--,l--){let O=a[u].spec.bidiIsolate,m;if(O==null&&(O=M0(e.text,c,h)),l>0&&f.length&&(m=f[f.length-1]).to==c&&m.direction==O)m.to=h,f=m.inner;else{let p={from:c,to:h,direction:O,inner:[]};f.push(p),f=p.inner}}}}),r}var Su=Y.define();function yu(i){let e=0,t=0,n=0,r=0;for(let s of i.state.facet(Su)){let o=s(i);o&&(o.left!=null&&(e=Math.max(e,o.left)),o.right!=null&&(t=Math.max(t,o.right)),o.top!=null&&(n=Math.max(n,o.top)),o.bottom!=null&&(r=Math.max(r,o.bottom)))}return{left:e,right:t,top:n,bottom:r}}var Bn=Y.define(),bt=class i{constructor(e,t,n,r){this.fromA=e,this.toA=t,this.fromB=n,this.toB=r}join(e){return new i(Math.min(this.fromA,e.fromA),Math.max(this.toA,e.toA),Math.min(this.fromB,e.fromB),Math.max(this.toB,e.toB))}addToSet(e){let t=e.length,n=this;for(;t>0;t--){let r=e[t-1];if(!(r.fromA>n.toA)){if(r.toAr.push(new bt(s,o,a,l))),this.changedRanges=r}static create(e,t,n){return new i(e,t,n)}get viewportChanged(){return(this.flags&4)>0}get viewportMoved(){return(this.flags&8)>0}get heightChanged(){return(this.flags&2)>0}get geometryChanged(){return this.docChanged||(this.flags&18)>0}get focusChanged(){return(this.flags&1)>0}get docChanged(){return!this.changes.empty}get selectionSet(){return this.transactions.some(e=>e.selection)}get empty(){return this.flags==0&&this.transactions.length==0}},V0=[],ue=class{constructor(e,t,n=0){this.dom=e,this.length=t,this.flags=n,this.parent=null,e.cmTile=this}get breakAfter(){return this.flags&1}get children(){return V0}isWidget(){return!1}get isHidden(){return!1}isComposite(){return!1}isLine(){return!1}isText(){return!1}isBlock(){return!1}get domAttrs(){return null}sync(e){if(this.flags|=2,this.flags&4){this.flags&=-5;let t=this.domAttrs;t&&w0(this.dom,t)}}toString(){return this.constructor.name+(this.children.length?`(${this.children})`:"")+(this.breakAfter?"#":"")}destroy(){this.parent=null}setDOM(e){this.dom=e,e.cmTile=this}get posAtStart(){return this.parent?this.parent.posBefore(this):0}get posAtEnd(){return this.posAtStart+this.length}posBefore(e,t=this.posAtStart){let n=t;for(let r of this.children){if(r==e)return n;n+=r.length+r.breakAfter}throw new RangeError("Invalid child in posBefore")}posAfter(e){return this.posBefore(e)+e.length}covers(e){return!0}coordsIn(e,t,n){return null}domPosFor(e,t){let n=li(this.dom),r=this.length?e>0:t>0;return new Xt(this.parent.dom,n+(r?1:0),e==0||e==this.length)}markDirty(e){this.flags&=-3,e&&(this.flags|=4),this.parent&&this.parent.flags&2&&this.parent.markDirty(!1)}get overrideDOMText(){return null}get root(){for(let e=this;e;e=e.parent)if(e instanceof dn)return e;return null}static get(e){return e.cmTile}},On=class extends ue{constructor(e){super(e,0),this._children=[]}isComposite(){return!0}get children(){return this._children}get lastChild(){return this.children.length?this.children[this.children.length-1]:null}append(e){this.children.push(e),e.parent=this}sync(e){if(this.flags&2)return;super.sync(e);let t=this.dom,n=null,r,s=e?.node==t?e:null,o=0;for(let a of this.children){if(a.sync(e),o+=a.length+a.breakAfter,r=n?n.nextSibling:t.firstChild,s&&r!=a.dom&&(s.written=!0),a.dom.parentNode==t)for(;r&&r!=a.dom;)r=Cf(r);else t.insertBefore(a.dom,r);n=a.dom}for(r=n?n.nextSibling:t.firstChild,s&&r&&(s.written=!0);r;)r=Cf(r);this.length=o}};function Cf(i){let e=i.nextSibling;return i.parentNode.removeChild(i),e}var dn=class extends On{constructor(e,t){super(t),this.view=e}owns(e){for(;e;e=e.parent)if(e==this)return!0;return!1}isBlock(){return!0}nearest(e){for(;;){if(!e)return null;let t=ue.get(e);if(t&&this.owns(t))return t;e=e.parentNode}}blockTiles(e){for(let t=[],n=this,r=0,s=0;;)if(r==n.children.length){if(!t.length)return;n=n.parent,n.breakAfter&&s++,r=t.pop()}else{let o=n.children[r++];if(o instanceof Wt)t.push(r),n=o,r=0;else{let a=s+o.length,l=e(o,s);if(l!==void 0)return l;s=a+o.breakAfter}}}resolveBlock(e,t){let n,r=-1,s,o=-1;if(this.blockTiles((a,l)=>{let c=l+a.length;if(e>=l&&e<=c){if(a.isWidget()&&t>=-1&&t<=1){if(a.flags&32)return!0;a.flags&16&&(n=void 0)}(le||e==l&&(t>1?a.length:a.covers(-1)))&&(!s||!a.isWidget()&&s.isWidget())&&(s=a,o=e-l)}}),!n&&!s)throw new Error("No tile at position "+e);return n&&t<0||!s?{tile:n,offset:r}:{tile:s,offset:o}}},Wt=class i extends On{constructor(e,t){super(e),this.wrapper=t}isBlock(){return!0}covers(e){return this.children.length?e<0?this.children[0].covers(-1):this.lastChild.covers(1):!1}get domAttrs(){return this.wrapper.attributes}static of(e,t){let n=new i(t||document.createElement(e.tagName),e);return t||(n.flags|=4),n}},pn=class i extends On{constructor(e,t){super(e),this.attrs=t}isLine(){return!0}static start(e,t,n){let r=new i(t||document.createElement("div"),e);return(!t||!n)&&(r.flags|=4),r}get domAttrs(){return this.attrs}resolveInline(e,t,n){let r=null,s=-1,o=null,a=-1;function l(h,f){for(let u=0,O=0;u=f&&(m.isComposite()?l(m,f-O):(!o||o.isHidden&&(t>0&&!(o.flags&32)||n&&Y0(o,m)))&&(p>f||m.flags&32)?(o=m,a=f-O):(Or&&(e=r);let s=e,o=e,a=0;e==0&&t<0||e==r&&t>=0?L.chrome||L.gecko||(e?(s--,a=1):o=0)?0:l.length-1];return L.safari&&!a&&c.width==0&&(c=Array.prototype.find.call(l,h=>h.width)||c),n==null?c:fs(c,(a?a>0:t<0)==n)}static of(e,t){let n=new i(t||document.createTextNode(e),e);return t||(n.flags|=2),n}},qi=class i extends ue{constructor(e,t,n,r){super(e,t,r),this.widget=n}isWidget(){return!0}get isHidden(){return this.widget.isHidden}covers(e){return this.flags&48?!1:(this.flags&(e<0?64:128))>0}coordsIn(e,t){return this.coordsInWidget(e,t,!1)}coordsInWidget(e,t,n){let r=this.widget.coordsAt(this.dom,e,t);if(r)return r;if(n)return fs(this.dom.getBoundingClientRect(),this.length?e==0:t<=0);{let s=this.dom.getClientRects(),o=null;if(!s.length)return null;let a=this.flags&16?!0:this.flags&32?!1:e>0;for(let l=a?s.length-1:0;o=s[l],!(e>0?l==0:l==s.length-1||o.top0==n)}},Qa=class{constructor(e){this.index=0,this.beforeBreak=!1,this.parents=[],this.tile=e}advance(e,t,n){let{tile:r,index:s,beforeBreak:o,parents:a}=this;for(;e||t>0;)if(r.isComposite())if(o){if(!e)break;n&&n.break(),e--,o=!1}else if(s==r.children.length){if(!e&&!a.length)break;n&&n.leave(r),o=!!r.breakAfter,{tile:r,index:s}=a.pop(),s++}else{let l=r.children[s],c=l.breakAfter;(t>0?l.length<=e:l.length=0;a--){let l=t.marks[a],c=r.lastChild;if(c instanceof Ve&&c.mark.eq(l.mark))c.dom!=l.dom&&c.setDOM(ra(l.dom)),r=c;else{if(this.cache.reused.get(l)){let f=ue.get(l.dom);f&&f.setDOM(ra(l.dom))}let h=Ve.of(l.mark,l.dom);r.append(h),r=h}this.cache.reused.set(l,2)}let s=ue.get(e.text);s&&this.cache.reused.set(s,2);let o=new Ai(e.text,e.text.nodeValue);o.flags|=8,this.pos=e.range.toB,r.append(o)}addInlineWidget(e,t,n){let r=this.afterWidget&&e.flags&48&&(this.afterWidget.flags&48)==(e.flags&48);r||this.flushBuffer();let s=this.ensureMarks(t,n);!r&&!(e.flags&16)&&s.append(this.getBuffer(1)),s.append(e),this.pos+=e.length,this.afterWidget=e}addMark(e,t,n){this.flushBuffer(),this.ensureMarks(t,n).append(e),this.pos+=e.length,this.afterWidget=null}addBlockWidget(e){this.getBlockPos().append(e),this.pos+=e.length,this.lastBlock=e,this.endLine()}continueWidget(e){let t=this.afterWidget||this.lastBlock;t.length+=e,this.pos+=e}addLineStart(e,t){var n;e||(e=ku);let r=pn.start(e,t||((n=this.cache.find(pn))===null||n===void 0?void 0:n.dom),!!t);this.getBlockPos().append(this.lastBlock=this.curLine=r)}addLine(e){this.getBlockPos().append(e),this.pos+=e.length,this.lastBlock=e,this.endLine()}addBreak(){this.lastBlock.flags|=1,this.endLine(),this.pos++}addLineStartIfNotCovered(e){this.blockPosCovered()||this.addLineStart(e)}ensureLine(e){this.curLine||this.addLineStart(e)}ensureMarks(e,t){var n;let r=this.curLine;for(let s=e.length-1;s>=0;s--){let o=e[s],a;if(t>0&&(a=r.lastChild)&&a instanceof Ve&&a.mark.eq(o))r=a,t--;else{let l=Ve.of(o,(n=this.cache.find(Ve,c=>c.mark.eq(o)))===null||n===void 0?void 0:n.dom);r.append(l),r=l,t=0}}return r}endLine(){if(this.curLine){this.flushBuffer();let e=this.curLine.lastChild;(!e||!Xf(this.curLine,!1)||e.dom.nodeName!="BR"&&e.isWidget()&&!(L.ios&&Xf(this.curLine,!0)))&&this.curLine.append(this.cache.findWidget(sa,0,32)||new qi(sa.toDOM(),0,sa,32)),this.curLine=this.afterWidget=null}}updateBlockWrappers(){this.wrapperPos>this.pos+1e4&&(this.blockWrappers.goto(this.pos),this.wrappers.length=0);for(let e=this.wrappers.length-1;e>=0;e--)this.wrappers[e].to=this.pos){let t=e.rank*102+e.value.rank,n=new ba(e.from,e.to,e.value,t),r=this.wrappers.length;for(;r>0&&(this.wrappers[r-1].rank-n.rank||this.wrappers[r-1].to-n.to)<0;)r--;this.wrappers.splice(r,0,n)}this.wrapperPos=this.pos}getBlockPos(){var e;this.updateBlockWrappers();let t=this.root;for(let n of this.wrappers){let r=t.lastChild;if(n.fromo.wrapper.eq(n.wrapper)))===null||e===void 0?void 0:e.dom);t.append(s),t=s}}return t}blockPosCovered(){let e=this.lastBlock;return e!=null&&!e.breakAfter&&(!e.isWidget()||(e.flags&160)>0)}getBuffer(e){let t=2|(e<0?16:32),n=this.cache.find(mn,void 0,1);return n&&(n.flags=t),n||new mn(t)}flushBuffer(){this.afterWidget&&!(this.afterWidget.flags&32)&&(this.afterWidget.parent.append(this.getBuffer(-1)),this.afterWidget=null)}},ya=class{constructor(e){this.skipCount=0,this.text="",this.textOff=0,this.cursor=e.iter()}skip(e){this.textOff+e<=this.text.length?this.textOff+=e:(this.skipCount+=e-(this.text.length-this.textOff),this.text="",this.textOff=0)}next(e){if(this.textOff==this.text.length){let{value:r,lineBreak:s,done:o}=this.cursor.next(this.skipCount);if(this.skipCount=0,o)throw new Error("Ran out of text content when drawing inline views");this.text=r;let a=this.textOff=Math.min(e,r.length);return s?null:r.slice(0,a)}let t=Math.min(this.text.length,this.textOff+e),n=this.text.slice(this.textOff,t);return this.textOff=t,n}},Os=[qi,pn,Ai,Ve,mn,Wt,dn];for(let i=0;i[]),this.index=Os.map(()=>0),this.reused=new Map}add(e){let t=e.constructor.bucket,n=this.buckets[t];n.length<6?n.push(e):n[this.index[t]=(this.index[t]+1)%6]=e}find(e,t,n=2){let r=e.bucket,s=this.buckets[r],o=this.index[r];for(let a=0;a{if(this.cache.add(o),o.isComposite())return!1},enter:o=>this.cache.add(o),leave:()=>{},break:()=>{}}}run(e,t){let n=t&&this.getCompositionContext(t.text);for(let r=0,s=0,o=0;;){let a=or){let c=l-r;this.preserve(c,!o,!a),r=l,s+=c}if(!a)break;t&&a.fromA<=t.range.fromA&&a.toA>=t.range.toA?(this.forward(a.fromA,t.range.fromA,t.range.fromA{if(o.isWidget())if(this.openWidget)this.builder.continueWidget(l-a);else{let c=l>0||a{o.isLine()?this.builder.addLineStart(o.attrs,this.cache.maybeReuse(o)):(this.cache.add(o),o instanceof Ve&&r.unshift(o.mark)),this.openWidget=!1},leave:o=>{o.isLine()?r.length&&(r.length=s=0):o instanceof Ve&&(r.shift(),s=Math.min(s,r.length))},break:()=>{this.builder.addBreak(),this.openWidget=!1}}),this.text.skip(e)}emit(e,t){let n=null,r=this.builder,s=-1,o=le.spans(this.decorations,e,t,{point:(a,l,c,h,f,u)=>{if(c instanceof Zi){if(this.disallowBlockEffectsFor[u]){if(c.block)throw new RangeError("Block decorations may not be specified via plugins");if(l>this.view.state.doc.lineAt(a).to)throw new RangeError("Decorations that replace line breaks may not be specified via plugins")}if(s=h.length,f>h.length)r.continueWidget(l-a);else{let O=c.widget||(c.block?ci.block:ci.inline),m=I0(c),p=this.cache.findWidget(O,l-a,m)||qi.of(O,this.view,l-a,m);c.block?(c.startSide>0&&r.addLineStartIfNotCovered(n),r.addBlockWidget(p)):(r.ensureLine(n),r.addInlineWidget(p,h,f))}n=null}else n=B0(n,c);l>a&&this.text.skip(l-a)},span:(a,l,c,h)=>{for(let f=a;f-1&&(this.openWidget=o>s),this.openWidget||r.addLineStartIfNotCovered(n),this.openMarks=o}forward(e,t,n=1){t-e<=10?this.old.advance(t-e,n,this.reuseWalker):(this.old.advance(5,-1,this.reuseWalker),this.old.advance(t-e-10,-1),this.old.advance(5,n,this.reuseWalker))}getCompositionContext(e){let t=[],n=null;for(let r=e.parentNode;;r=r.parentNode){let s=ue.get(r);if(r==this.view.contentDOM)break;s instanceof Ve?t.push(s):s?.isLine()?n=s:s instanceof Wt||(r.nodeName=="DIV"&&!n&&r!=this.view.contentDOM?n=new pn(r,ku):n||t.push(Ve.of(new ir({tagName:r.nodeName.toLowerCase(),attributes:P0(r)}),r)))}return{line:n,marks:t}}};function Xf(i,e){let t=n=>{for(let r of n.children)if((e?r.isText():r.length)||t(r))return!0;return!1};return t(i)}function I0(i){let e=i.isReplace?(i.startSide<0?64:0)|(i.endSide>0?128:0):i.startSide>0?32:16;return i.block&&(e|=256),e}var ku={class:"cm-line"};function B0(i,e){let t=e.spec.attributes,n=e.spec.class;return!t&&!n||(i||(i={class:"cm-line"}),t&&Ba(t,i),n&&(i.class+=" "+n)),i}function U0(i){let e=[];for(let t=i.parents.length;t>1;t--){let n=t==i.parents.length?i.tile:i.parents[t].tile;n instanceof Ve&&e.push(n.mark)}return e}function ra(i){let e=ue.get(i);return e&&e.setDOM(i.cloneNode()),i}var ci=class extends Ce{constructor(e){super(),this.tag=e}eq(e){return e.tag==this.tag}toDOM(){return document.createElement(this.tag)}updateDOM(e){return e.nodeName.toLowerCase()==this.tag}get isHidden(){return!0}};ci.inline=new ci("span");ci.block=new ci("div");var sa=new class extends Ce{toDOM(){return document.createElement("br")}get isHidden(){return!0}get editable(){return!0}},ds=class{constructor(e){this.view=e,this.decorations=[],this.blockWrappers=[],this.dynamicDecorationMap=[!1],this.domChanged=null,this.hasComposition=null,this.editContextFormatting=R.none,this.lastCompositionAfterCursor=!1,this.minWidth=0,this.minWidthFrom=0,this.minWidthTo=0,this.impreciseAnchor=null,this.impreciseHead=null,this.forceSelection=!1,this.lastUpdate=Date.now(),this.updateDeco(),this.tile=new dn(e,e.contentDOM),this.updateInner([new bt(0,0,0,e.state.doc.length)],null)}update(e){var t;let n=e.changedRanges;this.minWidth>0&&n.length&&(n.every(({fromA:h,toA:f})=>fthis.minWidthTo)?(this.minWidthFrom=e.changes.mapPos(this.minWidthFrom,1),this.minWidthTo=e.changes.mapPos(this.minWidthTo,1)):this.minWidth=this.minWidthFrom=this.minWidthTo=0),this.updateEditContextFormatting(e);let r=-1;this.view.inputState.composing>=0&&!this.view.observer.editContext&&(!((t=this.domChanged)===null||t===void 0)&&t.newSel?r=this.domChanged.newSel.head:!tQ(e.changes,this.hasComposition)&&!e.selectionSet&&(r=e.state.selection.main.head));let s=r>-1?N0(this.view,e.changes,r):null;if(this.domChanged=null,this.hasComposition){let{from:h,to:f}=this.hasComposition;n=new bt(h,f,e.changes.mapPos(h,-1),e.changes.mapPos(f,1)).addToSet(n.slice())}this.hasComposition=s?{from:s.range.fromB,to:s.range.toB}:null,(L.ie||L.chrome)&&!s&&e&&e.state.doc.lines!=e.startState.doc.lines&&(this.forceSelection=!0);let o=this.decorations,a=this.blockWrappers;this.updateDeco();let l=K0(o,this.decorations,e.changes);l.length&&(n=bt.extendWithRanges(n,l));let c=J0(a,this.blockWrappers,e.changes);return c.length&&(n=bt.extendWithRanges(n,c)),s&&!n.some(h=>h.fromA<=s.range.fromA&&h.toA>=s.range.toA)&&(n=s.range.addToSet(n.slice())),this.tile.flags&2&&n.length==0?!1:(this.updateInner(n,s),e.transactions.length&&(this.lastUpdate=Date.now()),!0)}updateInner(e,t){this.view.viewState.mustMeasureContent=!0;let{observer:n}=this.view;n.ignore(()=>{if(t||e.length){let o=this.tile,a=new xa(this.view,o,this.blockWrappers,this.decorations,this.dynamicDecorationMap);t&&ue.get(t.text)&&a.cache.reused.set(ue.get(t.text),2),this.tile=a.run(e,t),wa(o,a.cache.reused)}this.tile.dom.style.height=this.view.viewState.contentHeight/this.view.scaleY+"px",this.tile.dom.style.flexBasis=this.minWidth?this.minWidth+"px":"";let s=L.chrome||L.ios?{node:n.selectionRange.focusNode,written:!1}:void 0;this.tile.sync(s),s&&(s.written||n.selectionRange.focusNode!=s.node||!this.tile.dom.contains(s.node))&&(this.forceSelection=!0),this.tile.dom.style.height=""});let r=[];if(this.view.viewport.from||this.view.viewport.to-1)&&Nn(n,this.view.observer.selectionRange)&&!(r&&n.contains(r));if(!(s||t||o))return;let a=this.forceSelection;this.forceSelection=!1;let l=this.view.state.selection.main,c,h;if(l.empty?h=c=this.inlineDOMNearPos(l.anchor,l.assoc||1):(h=this.inlineDOMNearPos(l.head,l.head==l.from?1:-1),c=this.inlineDOMNearPos(l.anchor,l.anchor==l.from?1:-1)),L.gecko&&l.empty&&!this.hasComposition&&G0(c)){let u=document.createTextNode("");this.view.observer.ignore(()=>c.node.insertBefore(u,c.node.childNodes[c.offset]||null)),c=h=new Xt(u,0),a=!0}let f=this.view.observer.selectionRange;(a||!f.focusNode||(!Fn(c.node,c.offset,f.anchorNode,f.anchorOffset)||!Fn(h.node,h.offset,f.focusNode,f.focusOffset))&&!this.suppressWidgetCursorChange(f,l))&&(this.view.observer.ignore(()=>{L.android&&L.chrome&&n.contains(f.focusNode)&&eQ(f.focusNode,n)&&(n.blur(),n.focus({preventScroll:!0}));let u=rr(this.view.root);if(u)if(l.empty){if(L.gecko){let O=F0(c.node,c.offset);if(O&&O!=3){let m=(O==1?tu:iu)(c.node,c.offset);m&&(c=new Xt(m.node,m.offset))}}u.collapse(c.node,c.offset),l.bidiLevel!=null&&u.caretBidiLevel!==void 0&&(u.caretBidiLevel=l.bidiLevel)}else if(u.extend){u.collapse(c.node,c.offset);try{u.extend(h.node,h.offset)}catch{}}else{let O=document.createRange();l.anchor>l.head&&([c,h]=[h,c]),O.setEnd(h.node,h.offset),O.setStart(c.node,c.offset),u.removeAllRanges(),u.addRange(O)}o&&this.view.root.activeElement==n&&(n.blur(),r&&r.focus())}),this.view.observer.setSelectionRange(c,h)),this.impreciseAnchor=c.precise?null:new Xt(f.anchorNode,f.anchorOffset),this.impreciseHead=h.precise?null:new Xt(f.focusNode,f.focusOffset)}suppressWidgetCursorChange(e,t){return this.hasComposition&&t.empty&&Fn(e.focusNode,e.focusOffset,e.anchorNode,e.anchorOffset)&&this.posFromDOM(e.focusNode,e.focusOffset)==t.head}enforceCursorAssoc(){if(this.hasComposition)return;let{view:e}=this,t=e.state.selection.main,n=rr(e.root),{anchorNode:r,anchorOffset:s}=e.observer.selectionRange;if(!n||!t.empty||!t.assoc||!n.modify)return;let o=this.lineAt(t.head,t.assoc);if(!o)return;let a=o.posAtStart;if(t.head==a||t.head==a+o.length)return;let l=this.coordsAt(t.head,-1),c=this.coordsAt(t.head,1);if(!l||!c||l.bottom>c.top)return;let h=this.domAtPos(t.head+t.assoc,t.assoc);n.collapse(h.node,h.offset),n.modify("move",t.assoc<0?"forward":"backward","lineboundary"),e.observer.readSelectionRange();let f=e.observer.selectionRange;e.docView.posFromDOM(f.anchorNode,f.anchorOffset)!=t.from&&n.collapse(r,s)}posFromDOM(e,t){let n=this.tile.nearest(e);if(!n)return this.tile.dom.compareDocumentPosition(e)&2?0:this.view.state.doc.length;let r=n.posAtStart;if(n.isComposite()){let s;if(e==n.dom)s=n.dom.childNodes[t];else{let o=jt(e)==0?0:t==0?-1:1;for(;;){let a=e.parentNode;if(a==n.dom)break;o==0&&a.firstChild!=a.lastChild&&(e==a.firstChild?o=-1:o=1),e=a}o<0?s=e:s=e.nextSibling}if(s==n.dom.firstChild)return r;for(;s&&!ue.get(s);)s=s.nextSibling;if(!s)return r+n.length;for(let o=0,a=r;;o++){let l=n.children[o];if(l.dom==s)return a;a+=l.length+l.breakAfter}}else return n.isText()?e==n.dom?r+t:r+(t?n.length:0):r}domAtPos(e,t){let{tile:n,offset:r}=this.tile.resolveBlock(e,t);return n.isWidget()?n.domPosFor(r,t):n.domIn(r,t)}inlineDOMNearPos(e,t){let n,r=-1,s=!1,o,a=-1,l=!1;return this.tile.blockTiles((c,h)=>{if(c.isWidget()){if(c.flags&32&&h>=e)return!0;c.flags&16&&(s=!0)}else{let f=h+c.length;if(h<=e&&(n=c,r=e-h,s=f=e&&!o&&(o=c,a=e-h,l=h>e),h>e&&o)return!0}}),!n&&!o?this.domAtPos(e,t):(s&&o?n=null:l&&n&&(o=null),n&&t<0||!o?n.domIn(r,t):o.domIn(a,t))}coordsAt(e,t,n){let{tile:r,offset:s}=this.tile.resolveBlock(e,t);return r.isWidget()?r.widget instanceof Jn?null:r.coordsInWidget(s,t,!0):r.coordsIn(s,t,n)}lineAt(e,t){let{tile:n}=this.tile.resolveBlock(e,t);return n.isLine()?n:null}coordsForChar(e){let{tile:t,offset:n}=this.tile.resolveBlock(e,1);if(!t.isLine())return null;function r(s,o){if(s.isComposite())for(let a of s.children){if(a.length>=o){let l=r(a,o);if(l)return l}if(o-=a.length,o<0)break}else if(s.isText()&&oMath.max(this.view.scrollDOM.clientWidth,this.minWidth)+1,a=-1,l=this.view.textDirection==Oe.LTR,c=0,h=(f,u,O)=>{for(let m=0;mr);m++){let p=f.children[m],b=u+p.length,g=p.dom.getBoundingClientRect(),{height:Q}=g;if(O&&!m&&(c+=g.top-O.top),p instanceof Wt)b>n&&h(p,u,g);else if(u>=n&&(c>0&&t.push(-c),t.push(Q+c),c=0,o)){let S=p.dom.lastChild,x=S?as(S):[];if(x.length){let P=x[x.length-1],$=l?P.right-g.left:g.right-P.left;$>a&&(a=$,this.minWidth=s,this.minWidthFrom=u,this.minWidthTo=b)}}O&&m==f.children.length-1&&(c+=O.bottom-g.bottom),u=b+p.breakAfter}};return h(this.tile,0,null),t}textDirectionAt(e){let{tile:t}=this.tile.resolveBlock(e,1);return getComputedStyle(t.dom).direction=="rtl"?Oe.RTL:Oe.LTR}measureTextSize(){let e=this.tile.blockTiles(o=>{if(o.isLine()&&o.children.length&&o.length<=20){let a=0,l;for(let c of o.children){if(!c.isText()||/[^ -~]/.test(c.text))return;let h=as(c.dom);if(h.length!=1)return;a+=h[0].width,l=h[0].height}if(a)return{lineHeight:o.dom.getBoundingClientRect().height,charWidth:a/o.length,textHeight:l}}});if(e)return e;let t=document.createElement("div"),n,r,s;return t.className="cm-line",t.style.width="99999px",t.style.position="absolute",t.textContent="abc def ghi jkl mno pqr stu",this.view.observer.ignore(()=>{this.tile.dom.appendChild(t);let o=as(t.firstChild)[0];n=t.getBoundingClientRect().height,r=o&&o.width?o.width/27:7,s=o&&o.height?o.height:n,t.remove()}),{lineHeight:n,charWidth:r,textHeight:s}}computeBlockGapDeco(){let e=[],t=this.view.viewState;for(let n=0,r=0;;r++){let s=r==t.viewports.length?null:t.viewports[r],o=s?s.from-1:this.view.state.doc.length;if(o>n){let a=(t.lineBlockAt(o).bottom-t.lineBlockAt(n).top)/this.view.scaleY;e.push(R.replace({widget:new Jn(a),block:!0,inclusive:!0,isBlockGap:!0}).range(n,o))}if(!s)break;n=s.to+1}return R.set(e)}updateDeco(){let e=1,t=this.view.state.facet(ks).map(s=>(this.dynamicDecorationMap[e++]=typeof s=="function")?s(this.view):s),n=!1,r=this.view.state.facet(Ka).map((s,o)=>{let a=typeof s=="function";return a&&(n=!0),a?s(this.view):s});for(r.length&&(this.dynamicDecorationMap[e++]=n,t.push(le.join(r))),this.decorations=[this.editContextFormatting,...t,this.computeBlockGapDeco(),this.view.viewState.lineGapDeco];etypeof s=="function"?s(this.view):s)}scrollIntoView(e){if(e.isSnapshot){let c=this.view.viewState.lineBlockAt(e.range.head);this.view.scrollDOM.scrollTop=c.top-e.yMargin,this.view.scrollDOM.scrollLeft=e.xMargin;return}for(let c of this.view.state.facet(pu))try{if(c(this.view,e.range,e))return!0}catch(h){ht(this.view.state,h,"scroll handler")}let{range:t}=e,n=this.coordsAt(t.head,t.assoc||(t.head>t.anchor?-1:1)),r;if(!n)return;!t.empty&&(r=this.coordsAt(t.anchor,t.anchor>t.head?-1:1))&&(n={left:Math.min(n.left,r.left),top:Math.min(n.top,r.top),right:Math.max(n.right,r.right),bottom:Math.max(n.bottom,r.bottom)});let s=yu(this.view),o={left:n.left-s.left,top:n.top-s.top,right:n.right+s.right,bottom:n.bottom+s.bottom},{offsetWidth:a,offsetHeight:l}=this.view.scrollDOM;if(T0(this.view.scrollDOM,o,t.head1&&(n.top>window.pageYOffset+window.visualViewport.offsetTop+window.visualViewport.height||n.bottomn.isWidget()||n.children.some(t);return t(this.tile.resolveBlock(e,1).tile)}destroy(){wa(this.tile)}};function wa(i,e){let t=e?.get(i);if(t!=1){t==null&&i.destroy();for(let n of i.children)wa(n,e)}}function G0(i){return i.node.nodeType==1&&i.node.firstChild&&(i.offset==0||i.node.childNodes[i.offset-1].contentEditable=="false")&&(i.offset==i.node.childNodes.length||i.node.childNodes[i.offset].contentEditable=="false")}function xu(i,e){let t=i.observer.selectionRange;if(!t.focusNode)return null;let n=tu(t.focusNode,t.focusOffset),r=iu(t.focusNode,t.focusOffset),s=n||r;if(r&&n&&r.node!=n.node){let a=ue.get(r.node);if(!a||a.isText()&&a.text!=r.node.nodeValue)s=r;else if(i.docView.lastCompositionAfterCursor){let l=ue.get(n.node);!l||l.isText()&&l.text!=n.node.nodeValue||(s=r)}}if(i.docView.lastCompositionAfterCursor=s!=n,!s)return null;let o=e-s.offset;return{from:o,to:o+s.node.nodeValue.length,node:s.node}}function N0(i,e,t){let n=xu(i,t);if(!n)return null;let{node:r,from:s,to:o}=n,a=r.nodeValue;if(/[\n\r]/.test(a)||i.state.doc.sliceString(n.from,n.to)!=a)return null;let l=e.invertedDesc;return{range:new bt(l.mapPos(s),l.mapPos(o),s,o),text:r}}function F0(i,e){return i.nodeType!=1?0:(e&&i.childNodes[e-1].contentEditable=="false"?1:0)|(e{ne.from&&(t=!0)}),t}var Jn=class extends Ce{constructor(e){super(),this.height=e}toDOM(){let e=document.createElement("div");return e.className="cm-gap",this.updateDOM(e),e}eq(e){return e.height==this.height}updateDOM(e){return e.style.height=this.height+"px",!0}get editable(){return!0}get estimatedHeight(){return this.height}ignoreEvent(){return!1}};function iQ(i,e,t=1){let n=i.charCategorizer(e),r=i.doc.lineAt(e),s=e-r.from;if(r.length==0)return v.cursor(e);s==0?t=1:s==r.length&&(t=-1);let o=s,a=s;t<0?o=xe(r.text,s,!1):a=xe(r.text,s);let l=n(r.text.slice(o,a));for(;o>0;){let c=xe(r.text,o,!1);if(n(r.text.slice(c,o))!=l)break;o=c}for(;ai.defaultLineHeight*1.5){let a=i.viewState.heightOracle.textHeight,l=Math.floor((r-t.top-(i.defaultLineHeight-a)*.5)/a);s+=l*i.viewState.heightOracle.lineLength}let o=i.state.sliceDoc(t.from,t.to);return t.from+gf(o,s,i.state.tabSize)}function rQ(i,e,t){let n=i.lineBlockAt(e);if(Array.isArray(n.type)){let r;for(let s of n.type){if(s.from>e)break;if(!(s.toe)return s;(!r||s.type==ft.Text&&(r.type!=s.type||(t<0?s.frome)))&&(r=s)}}return r||n}return n}function sQ(i,e,t,n){let r=rQ(i,e.head,e.assoc||-1),s=!n||r.type!=ft.Text||!(i.lineWrapping||r.widgetLineBreaks)?null:i.coordsAtPos(e.assoc<0&&e.head>r.from?e.head-1:e.head);if(s){let o=i.dom.getBoundingClientRect(),a=i.textDirectionAt(r.from),l=i.posAtCoords({x:t==(a==Oe.LTR)?o.right-1:o.left+1,y:(s.top+s.bottom)/2});if(l!=null)return v.cursor(l,t?-1:1)}return v.cursor(t?r.to:r.from,t?-1:1)}function _f(i,e,t,n){let r=i.state.doc.lineAt(e.head),s=i.bidiSpans(r),o=i.textDirectionAt(r.from);for(let a=e,l=null;;){let c=L0(r,s,o,a,t),h=au;if(!c){if(r.number==(t?i.state.doc.lines:1))return a;h=` -`,r=i.state.doc.line(r.number+(t?1:-1)),s=i.bidiSpans(r),c=i.visualLineSide(r,!t)}if(l){if(!l(h))return a}else{if(!n)return c;l=n(h)}a=c}}function oQ(i,e,t){let n=i.state.charCategorizer(e),r=n(t);return s=>{let o=n(s);return r==qe.Space&&(r=o),r==o}}function aQ(i,e,t,n){let r=e.head,s=t?1:-1;if(r==(t?i.state.doc.length:0))return v.cursor(r,e.assoc);let o=e.goalColumn,a,l=i.contentDOM.getBoundingClientRect(),c=i.coordsAtPos(r,e.assoc||((e.empty?t:e.head==e.from)?1:-1)),h=i.documentTop;if(c)o==null&&(o=c.left-l.left),a=s<0?c.top:c.bottom;else{let m=i.viewState.lineBlockAt(r);o==null&&(o=Math.min(l.right-l.left,i.defaultCharacterWidth*(r-m.from))),a=(s<0?m.top:m.bottom)+h}let f=l.left+o,u=i.viewState.heightOracle.textHeight>>1,O=n??u;for(let m=0;;m+=u){let p=a+(O+m)*s,b=va(i,{x:f,y:p},!1,s);if(t?p>l.bottom:pa:Q{if(e>s&&er(i)),t.from,e.head>t.from?-1:1);return n==t.from?t:v.cursor(n,ni.viewState.docHeight)return new lt(i.state.doc.length,-1);if(c=i.elementAtHeight(l),n==null)break;if(c.type==ft.Text){if(n<0?c.toi.viewport.to)break;let u=i.docView.coordsAt(n<0?c.from:c.to,n>0?-1:1);if(u&&(n<0?u.top<=l+s:u.bottom>=l+s))break}let f=i.viewState.heightOracle.textHeight/2;l=n>0?c.bottom+f:c.top-f}if(i.viewport.from>=c.to||i.viewport.to<=c.from){if(t)return null;if(c.type==ft.Text){let f=nQ(i,r,c,o,a);return new lt(f,f==c.from?1:-1)}}if(c.type!=ft.Text)return l<(c.top+c.bottom)/2?new lt(c.from,1):new lt(c.to,-1);let h=i.docView.lineAt(c.from,2);return(!h||h.length!=c.length)&&(h=i.docView.lineAt(c.from,-2)),new $a(i,o,a,i.textDirectionAt(c.from)).scanTile(h,c.from)}var $a=class{constructor(e,t,n,r){this.view=e,this.x=t,this.y=n,this.baseDir=r,this.line=null,this.spans=null}bidiSpansAt(e){return(!this.line||this.line.from>e||this.line.to1||n.length&&(n[0].level!=this.baseDir||n[0].to+r.from>1;t:if(o.has(p)){let g=r+Math.floor(Math.random()*m);for(let Q=0;Q1)){if(Q.bottomthis.y)(!c||c.top>Q.top)&&(c=Q),S=-1;else{let x=Q.left>this.x?this.x-Q.left:Q.right(m+m+p)/3)return this.y=l.bottom-1,this.scan(e,t,!0);if(c&&c.top<(m+p+p)/3)return this.y=c.top+1,this.scan(e,t,!0)}let O=(a?this.dirAt(e[h],1):this.baseDir)==Oe.LTR;return{i:h,after:this.x>(u.left+u.right)/2==O}}scanText(e,t){let n=[];for(let s=0;s{let o=n[s]-t,a=n[s+1]-t;return sr(e.dom,o,a).getClientRects()});return r.after?new lt(n[r.i+1],-1):new lt(n[r.i],1)}scanTile(e,t){if(!e.length)return new lt(t,1);if(e.children.length==1){let a=e.children[0];if(a.isText())return this.scanText(a,t);if(a.isComposite())return this.scanTile(a,t)}let n=[t];for(let a=0,l=t;a{let l=e.children[a];return l.flags&48?null:(l.dom.nodeType==1?l.dom:sr(l.dom,0,l.length)).getClientRects()}),s=e.children[r.i],o=n[r.i];return s.isText()?this.scanText(s,o):s.isComposite()?this.scanTile(s,o):r.after?new lt(n[r.i+1],-1):new lt(o,1)}},ln="\uFFFF",Ta=class{constructor(e,t){this.points=e,this.view=t,this.text="",this.lineSeparator=t.state.facet(se.lineSeparator)}append(e){this.text+=e}lineBreak(){this.text+=ln}readRange(e,t){if(!e)return this;let n=e.parentNode;for(let r=e;;){this.findPointBefore(n,r);let s=this.text.length;this.readNode(r);let o=ue.get(r),a=r.nextSibling;if(a==t){o?.breakAfter&&!a&&n!=this.view.contentDOM&&this.lineBreak();break}let l=ue.get(a);(o&&l?o.breakAfter:(o?o.breakAfter:hs(r))||hs(a)&&(r.nodeName!="BR"||o?.isWidget())&&this.text.length>s)&&!cQ(a,t)&&this.lineBreak(),r=a}return this.findPointBefore(n,t),this}readTextNode(e){let t=e.nodeValue;for(let n of this.points)n.node==e&&(n.pos=this.text.length+Math.min(n.offset,t.length));for(let n=0,r=this.lineSeparator?null:/\r\n?|\n/g;;){let s=-1,o=1,a;if(this.lineSeparator?(s=t.indexOf(this.lineSeparator,n),o=this.lineSeparator.length):(a=r.exec(t))&&(s=a.index,o=a[0].length),this.append(t.slice(n,s<0?t.length:s)),s<0)break;if(this.lineBreak(),o>1)for(let l of this.points)l.node==e&&l.pos>this.text.length&&(l.pos-=o-1);n=s+o}}readNode(e){let t=ue.get(e),n=t&&t.overrideDOMText;if(n!=null){this.findPointInside(e,n.length);for(let r=n.iter();!r.next().done;)r.lineBreak?this.lineBreak():this.append(r.value)}else e.nodeType==3?this.readTextNode(e):e.nodeName=="BR"?e.nextSibling&&this.lineBreak():e.nodeType==1&&this.readRange(e.firstChild,null)}findPointBefore(e,t){for(let n of this.points)n.node==e&&e.childNodes[n.offset]==t&&(n.pos=this.text.length)}findPointInside(e,t){for(let n of this.points)(e.nodeType==3?n.node==e:e.contains(n.node))&&(n.pos=this.text.length+(lQ(e,n.node,n.offset)?t:0))}};function lQ(i,e,t){for(;;){if(!e||t-1;let{impreciseHead:s,impreciseAnchor:o}=e.docView,a=e.state.selection;if(e.state.readOnly&&t>-1)this.newSel=null;else if(t>-1&&(this.bounds=Pu(e.docView.tile,t,n,0))){let l=s||o?[]:fQ(e),c=new Ta(l,e);c.readRange(this.bounds.startDOM,this.bounds.endDOM),this.text=c.text,this.newSel=uQ(l,this.bounds.from)}else{let l=e.observer.selectionRange,c=s&&s.node==l.focusNode&&s.offset==l.focusOffset||!ua(e.contentDOM,l.focusNode)?a.main.head:e.docView.posFromDOM(l.focusNode,l.focusOffset),h=o&&o.node==l.anchorNode&&o.offset==l.anchorOffset||!ua(e.contentDOM,l.anchorNode)?a.main.anchor:e.docView.posFromDOM(l.anchorNode,l.anchorOffset),f=e.viewport;if((L.ios||L.chrome)&&c!=h&&Math.min(c,h)<=a.main.from&&Math.max(c,h)>=a.main.to&&(f.from>0||f.to-1&&a.ranges.length>1)this.newSel=a.replaceRange(v.range(h,c));else if(e.lineWrapping&&h==c&&!(a.main.empty&&a.main.head==c)&&e.inputState.lastTouchTime>Date.now()-100){let u=e.coordsAtPos(c,-1),O=0;u&&(O=e.inputState.lastTouchY<=u.bottom?-1:1),this.newSel=v.create([v.cursor(c,O)])}else this.newSel=v.single(h,c)}}};function Pu(i,e,t,n){if(i.isComposite()){let r=-1,s=-1,o=-1,a=-1;for(let l=0,c=n,h=n;lt)return Pu(f,e,t,c);if(u>=e&&r==-1&&(r=l,s=c),c>t&&f.dom.parentNode==i.dom){o=l,a=h;break}h=u,c=u+f.breakAfter}return{from:s,to:a<0?n+i.length:a,startDOM:(r?i.children[r-1].dom.nextSibling:null)||i.dom.firstChild,endDOM:o=0?i.children[o].dom:null}}else return i.isText()?{from:n,to:n+i.length,startDOM:i.dom,endDOM:i.dom.nextSibling}:null}function vu(i,e){let t,{newSel:n}=e,{state:r}=i,s=r.selection.main,o=i.inputState.lastKeyTime>Date.now()-100?i.inputState.lastKeyCode:-1;if(e.bounds){let{from:a,to:l}=e.bounds,c=s.from,h=null;(o===8||L.android&&e.text.length=a&&s.to<=l&&(e.typeOver||f!=e.text)&&f.slice(0,s.from-a)==e.text.slice(0,s.from-a)&&f.slice(s.to-a)==e.text.slice(u=e.text.length-(f.length-(s.to-a)))?t={from:s.from,to:s.to,insert:J.of(e.text.slice(s.from-a,u).split(ln))}:(O=$u(f,e.text,c-a,h))&&(L.chrome&&o==13&&O.toB==O.from+2&&e.text.slice(O.from,O.toB)==ln+ln&&O.toB--,t={from:a+O.from,to:a+O.toA,insert:J.of(e.text.slice(O.from,O.toB).split(ln))})}else n&&(!i.hasFocus&&r.facet(Mt)||ms(n,s))&&(n=null);if(!t&&!n)return!1;if((L.mac||L.android)&&t&&t.from==t.to&&t.from==s.head-1&&/^\. ?$/.test(t.insert.toString())&&i.contentDOM.getAttribute("autocorrect")=="off"?(n&&t.insert.length==2&&(n=v.single(n.main.anchor-1,n.main.head-1)),t={from:t.from,to:t.to,insert:J.of([t.insert.toString().replace("."," ")])}):r.doc.lineAt(s.from).toDate.now()-50?t={from:s.from,to:s.to,insert:r.toText(i.inputState.insertingText)}:L.chrome&&t&&t.from==t.to&&t.from==s.head&&t.insert.toString()==` - `&&i.lineWrapping&&(n&&(n=v.single(n.main.anchor-1,n.main.head-1)),t={from:s.from,to:s.to,insert:J.of([" "])}),t)return Ja(i,t,n,o);if(n&&!ms(n,s)){let a=!1,l="select";return i.inputState.lastSelectionTime>Date.now()-50&&(i.inputState.lastSelectionOrigin=="select"&&(a=!0),l=i.inputState.lastSelectionOrigin,l=="select.pointer"&&(n=wu(r.facet(or).map(c=>c(i)),n))),i.dispatch({selection:n,scrollIntoView:a,userEvent:l}),!0}else return!1}function Ja(i,e,t,n=-1){if(L.ios&&i.inputState.flushIOSKey(e))return!0;let r=i.state.selection.main;if(L.android&&(e.to==r.to&&(e.from==r.from||e.from==r.from-1&&i.state.sliceDoc(e.from,r.from)==" ")&&e.insert.length==1&&e.insert.lines==2&&un(i.contentDOM,"Enter",13)||(e.from==r.from-1&&e.to==r.to&&e.insert.length==0||n==8&&e.insert.lengthr.head)&&un(i.contentDOM,"Backspace",8)||e.from==r.from&&e.to==r.to+1&&e.insert.length==0&&un(i.contentDOM,"Delete",46)))return!0;let s=e.insert.toString();i.inputState.composing>=0&&i.inputState.composing++;let o,a=()=>o||(o=hQ(i,e,t));return i.state.facet(uu).some(l=>l(i,e.from,e.to,s,a))||i.dispatch(a()),!0}function hQ(i,e,t){let n,r=i.state,s=r.selection.main,o=-1;if(e.from==e.to&&e.froms.to){let l=e.fromf(i)),c,l);e.from==h&&(o=h)}if(o>-1)n={changes:e,selection:v.cursor(e.from+e.insert.length,-1)};else if(e.from>=s.from&&e.to<=s.to&&e.to-e.from>=(s.to-s.from)/3&&(!t||t.main.empty&&t.main.from==e.from+e.insert.length)&&i.inputState.composing<0){let l=s.frome.to?r.sliceDoc(e.to,s.to):"";n=r.replaceSelection(i.state.toText(l+e.insert.sliceString(0,void 0,i.state.lineBreak)+c))}else{let l=r.changes(e),c=t&&t.main.to<=l.newLength?t.main:void 0;if(r.selection.ranges.length>1&&(i.inputState.composing>=0||i.inputState.compositionPendingChange)&&e.to<=s.to+10&&e.to>=s.to-10){let h=i.state.sliceDoc(e.from,e.to),f,u=t&&xu(i,t.main.head);if(u){let m=e.insert.length-(e.to-e.from);f={from:u.from,to:u.to-m}}else f=i.state.doc.lineAt(s.head);let O=s.to-e.to;n=r.changeByRange(m=>{if(m.from==s.from&&m.to==s.to)return{changes:l,range:c||m.map(l)};let p=m.to-O,b=p-h.length;if(i.state.sliceDoc(b,p)!=h||p>=f.from&&b<=f.to)return{range:m};let g=r.changes({from:b,to:p,insert:e.insert}),Q=m.to-s.to;return{changes:g,range:c?v.range(Math.max(0,c.anchor+Q),Math.max(0,c.head+Q)):m.map(g)}})}else n={changes:l,selection:c&&r.selection.replaceRange(c)}}let a="input.type";return(i.composing||i.inputState.compositionPendingChange&&i.inputState.compositionEndedAt>Date.now()-50)&&(i.inputState.compositionPendingChange=!1,a+=".compose",i.inputState.compositionFirstChange&&(a+=".start",i.inputState.compositionFirstChange=!1)),r.update(n,{userEvent:a,scrollIntoView:!0})}function $u(i,e,t,n){let r=Math.min(i.length,e.length),s=0;for(;s0&&a>0&&i.charCodeAt(o-1)==e.charCodeAt(a-1);)o--,a--;if(n=="end"){let l=Math.max(0,s-Math.min(o,a));t-=o+l-s}if(o=o?s-t:0;s-=l,a=s+(a-o),o=s}else if(a=a?s-t:0;s-=l,o=s+(o-a),a=s}return{from:s,toA:o,toB:a}}function fQ(i){let e=[];if(i.root.activeElement!=i.contentDOM)return e;let{anchorNode:t,anchorOffset:n,focusNode:r,focusOffset:s}=i.observer.selectionRange;return t&&(e.push(new ps(t,n)),(r!=t||s!=n)&&e.push(new ps(r,s))),e}function uQ(i,e){if(i.length==0)return null;let t=i[0].pos,n=i.length==2?i[1].pos:t;return t>-1&&n>-1?v.single(t+e,n+e):null}function ms(i,e){return e.head==i.main.head&&e.anchor==i.main.anchor}var Xa=class{setSelectionOrigin(e){this.lastSelectionOrigin=e,this.lastSelectionTime=Date.now()}constructor(e){this.view=e,this.lastKeyCode=0,this.lastKeyTime=0,this.touchActive=!1,this.lastTouchTime=0,this.lastTouchX=0,this.lastTouchY=0,this.lastFocusTime=0,this.lastScrollTop=0,this.lastScrollLeft=0,this.lastWheelEvent=0,this.pendingIOSKey=void 0,this.lastIOSMomentumScroll=0,this.tabFocusMode=-1,this.lastSelectionOrigin=null,this.lastSelectionTime=0,this.lastContextMenu=0,this.scrollHandlers=[],this.handlers=Object.create(null),this.composing=-1,this.compositionFirstChange=null,this.compositionEndedAt=0,this.compositionPendingKey=!1,this.compositionPendingChange=!1,this.insertingText="",this.insertingTextAt=0,this.mouseSelection=null,this.draggedContent=null,this.handleEvent=this.handleEvent.bind(this),this.notifiedFocused=e.hasFocus,L.safari&&e.contentDOM.addEventListener("input",()=>null),L.gecko&&$Q(e.contentDOM.ownerDocument)}handleEvent(e){!SQ(this.view,e)||this.ignoreDuringComposition(e)||e.type=="keydown"&&this.keydown(e)||(this.view.updateState!=0?Promise.resolve().then(()=>this.runHandlers(e.type,e)):this.runHandlers(e.type,e))}runHandlers(e,t){let n=this.handlers[e];if(n){for(let r of n.observers)r(this.view,t);for(let r of n.handlers){if(t.defaultPrevented)break;if(r(this.view,t)){t.preventDefault();break}}}}ensureHandlers(e){let t=dQ(e),n=this.handlers,r=this.view.contentDOM;for(let s in t)if(s!="scroll"){let o=!t[s].handlers.length,a=n[s];a&&o!=!a.handlers.length&&(r.removeEventListener(s,this.handleEvent),a=null),a||r.addEventListener(s,this.handleEvent,{passive:o})}for(let s in n)s!="scroll"&&!t[s]&&r.removeEventListener(s,this.handleEvent);this.handlers=t}keydown(e){if(this.lastKeyCode=e.keyCode,this.lastKeyTime=Date.now(),e.keyCode==9&&this.tabFocusMode>-1&&(!this.tabFocusMode||Date.now()<=this.tabFocusMode))return!0;if(this.tabFocusMode>0&&e.keyCode!=27&&Cu.indexOf(e.keyCode)<0&&(this.tabFocusMode=-1),L.android&&L.chrome&&!e.synthetic&&(e.keyCode==13||e.keyCode==8))return this.view.observer.delayAndroidKey(e.key,e.keyCode),!0;if(L.ios&&!e.synthetic&&!e.altKey&&!e.metaKey&&(Tu.some(t=>t.keyCode==e.keyCode)&&!e.ctrlKey||pQ.indexOf(e.key)>-1&&e.ctrlKey)){let t={ctrlKey:e.ctrlKey,altKey:e.altKey,metaKey:e.metaKey,shiftKey:e.shiftKey};return t.shiftKey&&L.ios&&!/^(off|none)$/.test(this.view.contentDOM.autocapitalize)&&OQ(this.view.win)&&(t.shiftKey=!1),this.pendingIOSKey={key:e.key,keyCode:e.keyCode,mods:t},setTimeout(()=>this.flushIOSKey(),250),!0}return e.keyCode!=229&&this.view.observer.forceFlush(),!1}flushIOSKey(e){let t=this.pendingIOSKey;return!t||t.key=="Enter"&&e&&e.from0?!0:L.safari&&!L.ios&&this.compositionPendingKey&&Date.now()-this.compositionEndedAt<100?(this.compositionPendingKey=!1,!0):!1}startMouseSelection(e){this.mouseSelection&&this.mouseSelection.destroy(),this.mouseSelection=e}update(e){this.view.observer.update(e),this.mouseSelection&&this.mouseSelection.update(e),this.draggedContent&&e.docChanged&&(this.draggedContent=this.draggedContent.map(e.changes)),e.transactions.length&&(this.lastKeyCode=this.lastSelectionTime=0)}destroy(){this.mouseSelection&&this.mouseSelection.destroy()}};function OQ(i){return i.visualViewport?i.visualViewport.height*i.visualViewport.scale/i.document.documentElement.clientHeight<.85:!1}function Rf(i,e){return(t,n)=>{try{return e.call(i,n,t)}catch(r){ht(t.state,r)}}}function dQ(i){let e=Object.create(null);function t(n){return e[n]||(e[n]={observers:[],handlers:[]})}for(let n of i){let r=n.spec,s=r&&r.plugin.domEventHandlers,o=r&&r.plugin.domEventObservers;if(s)for(let a in s){let l=s[a];l&&t(a).handlers.push(Rf(n.value,l))}if(o)for(let a in o){let l=o[a];l&&t(a).observers.push(Rf(n.value,l))}}for(let n in St)t(n).handlers.push(St[n]);for(let n in Me)t(n).observers.push(Me[n]);return e}var Tu=[{key:"Backspace",keyCode:8,inputType:"deleteContentBackward"},{key:"Enter",keyCode:13,inputType:"insertParagraph"},{key:"Enter",keyCode:13,inputType:"insertLineBreak"},{key:"Delete",keyCode:46,inputType:"deleteContentForward"}],pQ="dthko",Cu=[16,17,18,20,91,92,224,225],ts=6;function is(i){return Math.max(0,i)*.7+8}function mQ(i,e){return Math.max(Math.abs(i.clientX-e.clientX),Math.abs(i.clientY-e.clientY))}var _a=class{constructor(e,t,n,r){this.view=e,this.startEvent=t,this.style=n,this.mustSelect=r,this.scrollSpeed={x:0,y:0},this.scrolling=-1,this.lastEvent=t,this.scrollParents=Kf(e.contentDOM),this.atoms=e.state.facet(or).map(o=>o(e));let s=e.contentDOM.ownerDocument;s.addEventListener("mousemove",this.move=this.move.bind(this)),s.addEventListener("mouseup",this.up=this.up.bind(this)),this.extend=t.shiftKey,this.multiple=e.state.facet(se.allowMultipleSelections)&&gQ(e,t),this.dragging=bQ(e,t)&&Ru(t)==1?null:!1}start(e){this.dragging===!1&&this.select(e)}move(e){if(e.buttons==0)return this.destroy();if(this.dragging||this.dragging==null&&mQ(this.startEvent,e)<10)return;this.select(this.lastEvent=e);let t=0,n=0,r=0,s=0,o=this.view.win.innerWidth,a=this.view.win.innerHeight;this.scrollParents.x&&({left:r,right:o}=this.scrollParents.x.getBoundingClientRect()),this.scrollParents.y&&({top:s,bottom:a}=this.scrollParents.y.getBoundingClientRect());let l=yu(this.view);e.clientX-l.left<=r+ts?t=-is(r-e.clientX):e.clientX+l.right>=o-ts&&(t=is(e.clientX-o)),e.clientY-l.top<=s+ts?n=-is(s-e.clientY):e.clientY+l.bottom>=a-ts&&(n=is(e.clientY-a)),this.setScrollSpeed(t,n)}up(e){this.dragging==null&&this.select(this.lastEvent),this.dragging||e.preventDefault(),this.destroy()}destroy(){this.setScrollSpeed(0,0);let e=this.view.contentDOM.ownerDocument;e.removeEventListener("mousemove",this.move),e.removeEventListener("mouseup",this.up),this.view.inputState.mouseSelection=this.view.inputState.draggedContent=null}setScrollSpeed(e,t){this.scrollSpeed={x:e,y:t},e||t?this.scrolling<0&&(this.scrolling=setInterval(()=>this.scroll(),50)):this.scrolling>-1&&(clearInterval(this.scrolling),this.scrolling=-1)}scroll(){let{x:e,y:t}=this.scrollSpeed;e&&this.scrollParents.x&&(this.scrollParents.x.scrollLeft+=e,e=0),t&&this.scrollParents.y&&(this.scrollParents.y.scrollTop+=t,t=0),(e||t)&&this.view.win.scrollBy(e,t),this.dragging===!1&&this.select(this.lastEvent)}select(e){let{view:t}=this,n=wu(this.atoms,this.style.get(e,this.extend,this.multiple));(this.mustSelect||!n.eq(t.state.selection,this.dragging===!1))&&this.view.dispatch({selection:n,userEvent:"select.pointer"}),this.mustSelect=!1}update(e){e.transactions.some(t=>t.isUserEvent("input.type"))?this.destroy():this.style.update(e)&&setTimeout(()=>this.select(this.lastEvent),20)}};function gQ(i,e){let t=i.state.facet(lu);return t.length?t[0](e):L.mac?e.metaKey:e.ctrlKey}function QQ(i,e){let t=i.state.facet(cu);return t.length?t[0](e):L.mac?!e.altKey:!e.ctrlKey}function bQ(i,e){let{main:t}=i.state.selection;if(t.empty)return!1;let n=rr(i.root);if(!n||n.rangeCount==0)return!0;let r=n.getRangeAt(0).getClientRects();for(let s=0;s=e.clientX&&o.top<=e.clientY&&o.bottom>=e.clientY)return!0}return!1}function SQ(i,e){if(!e.bubbles)return!0;if(e.defaultPrevented)return!1;for(let t=e.target,n;t!=i.contentDOM;t=t.parentNode)if(!t||t.nodeType==11||(n=ue.get(t))&&n.isWidget()&&!n.isHidden&&n.widget.ignoreEvent(e))return!1;return!0}var St=Object.create(null),Me=Object.create(null),Xu=L.ie&&L.ie_version<15||L.ios&&L.webkit_version<604;function yQ(i){let e=i.dom.parentNode;if(!e)return;let t=e.appendChild(document.createElement("textarea"));t.style.cssText="position: fixed; left: -10000px; top: 10px",t.focus(),setTimeout(()=>{i.focus(),t.remove(),_u(i,t.value)},50)}function xs(i,e,t){for(let n of i.facet(e))t=n(t,i);return t}function _u(i,e){e=xs(i.state,Na,e);let{state:t}=i,n,r=1,s=t.toText(e),o=s.lines==t.selection.ranges.length;if(Ra!=null&&t.selection.ranges.every(l=>l.empty)&&Ra==s.toString()){let l=-1;n=t.changeByRange(c=>{let h=t.doc.lineAt(c.from);if(h.from==l)return{range:c};l=h.from;let f=t.toText((o?s.line(r++).text:e)+t.lineBreak);return{changes:{from:h.from,insert:f},range:v.cursor(c.from+f.length)}})}else o?n=t.changeByRange(l=>{let c=s.line(r++);return{changes:{from:l.from,to:l.to,insert:c.text},range:v.cursor(l.from+c.length)}}):n=t.replaceSelection(s);i.dispatch(n,{userEvent:"input.paste",scrollIntoView:!0})}Me.scroll=i=>{let e=i.inputState;e.lastScrollTop=i.scrollDOM.scrollTop,e.lastScrollLeft=i.scrollDOM.scrollLeft,L.ios&&!e.touchActive&&(e.lastIOSMomentumScroll=Date.now())};Me.wheel=Me.mousewheel=i=>{i.inputState.lastWheelEvent=Date.now()};St.keydown=(i,e)=>(i.inputState.setSelectionOrigin("select"),e.keyCode==27&&i.inputState.tabFocusMode!=0&&(i.inputState.tabFocusMode=Date.now()+2e3),!1);Me.touchstart=(i,e)=>{let t=i.inputState,n=e.targetTouches[0];t.touchActive=!0,t.lastTouchTime=Date.now(),n&&(t.lastTouchX=n.clientX,t.lastTouchY=n.clientY),t.setSelectionOrigin("select.pointer")};Me.touchmove=i=>{i.inputState.setSelectionOrigin("select.pointer")};Me.touchend=(i,e)=>{i.inputState.touchActive=!1};St.mousedown=(i,e)=>{if(i.observer.flush(),i.inputState.lastTouchTime>Date.now()-2e3)return!1;let t=null;for(let n of i.state.facet(hu))if(t=n(i,e),t)break;if(!t&&e.button==0&&(t=xQ(i,e)),t){let n=!i.hasFocus;i.inputState.startMouseSelection(new _a(i,e,t,n)),n&&i.observer.ignore(()=>{Jf(i.contentDOM);let s=i.root.activeElement;s&&!s.contains(i.contentDOM)&&s.blur()});let r=i.inputState.mouseSelection;if(r)return r.start(e),r.dragging===!1}else i.inputState.setSelectionOrigin("select.pointer");return!1};function Af(i,e,t,n){if(n==1)return v.cursor(e,t);if(n==2)return iQ(i.state,e,t);{let r=i.docView.lineAt(e,t),s=i.state.doc.lineAt(r?r.posAtEnd:e),o=r?r.posAtStart:s.from,a=r?r.posAtEnd:s.to;return aDate.now()-400&&Math.abs(e.clientX-i.clientX)<2&&Math.abs(e.clientY-i.clientY)<2?(Ef+1)%3:1}function xQ(i,e){let t=i.posAndSideAtCoords({x:e.clientX,y:e.clientY},!1),n=Ru(e),r=i.state.selection;return{update(s){s.docChanged&&(t.pos=s.changes.mapPos(t.pos),r=r.map(s.changes))},get(s,o,a){let l=i.posAndSideAtCoords({x:s.clientX,y:s.clientY},!1),c,h=Af(i,l.pos,l.assoc,n);if(t.pos!=l.pos&&!o){let f=Af(i,t.pos,t.assoc,n),u=Math.min(f.from,h.from),O=Math.max(f.to,h.to);h=u1&&(c=wQ(r,l.pos))?c:a?r.addRange(h):v.create([h])}}}function wQ(i,e){for(let t=0;t=e)return v.create(i.ranges.slice(0,t).concat(i.ranges.slice(t+1)),i.mainIndex==t?0:i.mainIndex-(i.mainIndex>t?1:0))}return null}St.dragstart=(i,e)=>{let{selection:{main:t}}=i.state;if(e.target.draggable){let r=i.docView.tile.nearest(e.target);if(r&&r.isWidget()){let s=r.posAtStart,o=s+r.length;(s>=t.to||o<=t.from)&&(t=v.undirectionalRange(s,o))}}let{inputState:n}=i;return n.mouseSelection&&(n.mouseSelection.dragging=!0),n.draggedContent=t,e.dataTransfer&&(e.dataTransfer.setData("Text",xs(i.state,Fa,i.state.sliceDoc(t.from,t.to))),e.dataTransfer.effectAllowed="copyMove"),!1};St.dragend=i=>(i.inputState.draggedContent=null,!1);function zf(i,e,t,n){if(t=xs(i.state,Na,t),!t)return;let r=i.posAtCoords({x:e.clientX,y:e.clientY},!1),{draggedContent:s}=i.inputState,o=n&&s&&QQ(i,e)?{from:s.from,to:s.to}:null,a={from:r,insert:t},l=i.state.changes(o?[o,a]:a);i.focus(),i.dispatch({changes:l,selection:{anchor:l.mapPos(r,-1),head:l.mapPos(r,1)},userEvent:o?"move.drop":"input.drop"}),i.inputState.draggedContent=null}St.drop=(i,e)=>{if(!e.dataTransfer)return!1;if(i.state.readOnly)return!0;let t=e.dataTransfer.files;if(t&&t.length){let n=Array(t.length),r=0,s=()=>{++r==t.length&&zf(i,e,n.filter(o=>o!=null).join(i.state.lineBreak),!1)};for(let o=0;o{/[\x00-\x08\x0e-\x1f]{2}/.test(a.result)||(n[o]=a.result),s()},a.readAsText(t[o])}return!0}else{let n=e.dataTransfer.getData("Text");if(n)return zf(i,e,n,!0),!0}return!1};St.paste=(i,e)=>{if(i.state.readOnly)return!0;i.observer.flush();let t=Xu?null:e.clipboardData;return t?(_u(i,t.getData("text/plain")||t.getData("text/uri-list")),!0):(yQ(i),!1)};function PQ(i,e){let t=i.dom.parentNode;if(!t)return;let n=t.appendChild(document.createElement("textarea"));n.style.cssText="position: fixed; left: -10000px; top: 10px",n.value=e,n.focus(),n.selectionEnd=e.length,n.selectionStart=0,setTimeout(()=>{n.remove(),i.focus()},50)}function vQ(i){let e=[],t=[],n=!1;for(let r of i.selection.ranges)r.empty||(e.push(i.sliceDoc(r.from,r.to)),t.push(r));if(!e.length){let r=-1;for(let{from:s}of i.selection.ranges){let o=i.doc.lineAt(s);o.number>r&&(e.push(o.text),t.push({from:o.from,to:Math.min(i.doc.length,o.to+1)})),r=o.number}n=!0}return{text:xs(i,Fa,e.join(i.lineBreak)),ranges:t,linewise:n}}var Ra=null;St.copy=St.cut=(i,e)=>{if(!Nn(i.contentDOM,i.observer.selectionRange))return!1;let{text:t,ranges:n,linewise:r}=vQ(i.state);if(!t&&!r)return!1;Ra=r?t:null,e.type=="cut"&&!i.state.readOnly&&i.dispatch({changes:n,scrollIntoView:!0,userEvent:"delete.cut"});let s=Xu?null:e.clipboardData;return s?(s.clearData(),s.setData("text/plain",t),!0):(PQ(i,t),!1)};var Au=Te.define();function Zu(i,e){let t=[];for(let n of i.facet(Ou)){let r=n(i,e);r&&t.push(r)}return t.length?i.update({effects:t,annotations:Au.of(!0)}):null}function Eu(i){setTimeout(()=>{let e=i.hasFocus;if(e!=i.inputState.notifiedFocused){let t=Zu(i.state,e);t?i.dispatch(t):i.update([])}},10)}Me.focus=i=>{i.inputState.lastFocusTime=Date.now(),!i.scrollDOM.scrollTop&&(i.inputState.lastScrollTop||i.inputState.lastScrollLeft)&&(i.scrollDOM.scrollTop=i.inputState.lastScrollTop,i.scrollDOM.scrollLeft=i.inputState.lastScrollLeft),Eu(i)};Me.blur=i=>{i.observer.clearSelectionRange(),Eu(i)};Me.compositionstart=Me.compositionupdate=i=>{i.observer.editContext||(i.inputState.compositionFirstChange==null&&(i.inputState.compositionFirstChange=!0),i.inputState.composing<0&&(i.inputState.composing=0))};Me.compositionend=i=>{i.observer.editContext||(i.inputState.composing=-1,i.inputState.compositionEndedAt=Date.now(),i.inputState.compositionPendingKey=!0,i.inputState.compositionPendingChange=i.observer.pendingRecords().length>0,i.inputState.compositionFirstChange=null,L.chrome&&L.android?i.observer.flushSoon():i.inputState.compositionPendingChange?Promise.resolve().then(()=>i.observer.flush()):setTimeout(()=>{i.inputState.composing<0&&i.docView.hasComposition&&i.update([])},50))};Me.contextmenu=i=>{i.inputState.lastContextMenu=Date.now()};St.beforeinput=(i,e)=>{var t,n;if((e.inputType=="insertText"||e.inputType=="insertCompositionText")&&(i.inputState.insertingText=e.data,i.inputState.insertingTextAt=Date.now()),e.inputType=="insertReplacementText"&&i.observer.editContext){let s=(t=e.dataTransfer)===null||t===void 0?void 0:t.getData("text/plain"),o=e.getTargetRanges();if(s&&o.length){let a=o[0],l=i.posAtDOM(a.startContainer,a.startOffset),c=i.posAtDOM(a.endContainer,a.endOffset);return Ja(i,{from:l,to:c,insert:i.state.toText(s)},null),!0}}let r;if(L.chrome&&L.android&&(r=Tu.find(s=>s.inputType==e.inputType))&&(i.observer.delayAndroidKey(r.key,r.keyCode),r.key=="Backspace"||r.key=="Delete")){let s=((n=window.visualViewport)===null||n===void 0?void 0:n.height)||0;setTimeout(()=>{var o;(((o=window.visualViewport)===null||o===void 0?void 0:o.height)||0)>s+10&&i.hasFocus&&(i.contentDOM.blur(),i.focus())},100)}return L.ios&&e.inputType=="deleteContentForward"&&i.observer.flushSoon(),L.safari&&e.inputType=="insertText"&&i.inputState.composing>=0&&setTimeout(()=>Me.compositionend(i,e),20),!1};var Lf=new Set;function $Q(i){Lf.has(i)||(Lf.add(i),i.addEventListener("copy",()=>{}),i.addEventListener("cut",()=>{}))}var Mf=["pre-wrap","normal","pre-line","break-spaces"],gn=!1;function Wf(){gn=!1}var Aa=class{constructor(e){this.lineWrapping=e,this.doc=J.empty,this.heightSamples={},this.lineHeight=14,this.charWidth=7,this.textHeight=14,this.lineLength=30}heightForGap(e,t){let n=this.doc.lineAt(t).number-this.doc.lineAt(e).number+1;return this.lineWrapping&&(n+=Math.max(0,Math.ceil((t-e-n*this.lineLength*.5)/this.lineLength))),this.lineHeight*n}heightForLine(e){return this.lineWrapping?(1+Math.max(0,Math.ceil((e-this.lineLength)/Math.max(1,this.lineLength-5))))*this.lineHeight:this.lineHeight}setDoc(e){return this.doc=e,this}mustRefreshForWrapping(e){return Mf.indexOf(e)>-1!=this.lineWrapping}mustRefreshForHeights(e){let t=!1;for(let n=0;n-1,l=Math.abs(t-this.lineHeight)>.3||this.lineWrapping!=a;if(this.lineWrapping=a,this.lineHeight=t,this.charWidth=n,this.textHeight=r,this.lineLength=s,l){this.heightSamples={};for(let c=0;c0}set outdated(e){this.flags=(e?2:0)|this.flags&-3}setHeight(e){this.height!=e&&(Math.abs(this.height-e)>ls&&(gn=!0),this.height=e)}replace(e,t,n){return i.of(n)}decomposeLeft(e,t){t.push(this)}decomposeRight(e,t){t.push(this)}applyChanges(e,t,n,r){let s=this,o=n.doc;for(let a=r.length-1;a>=0;a--){let{fromA:l,toA:c,fromB:h,toB:f}=r[a],u=s.lineAt(l,ce.ByPosNoHeight,n.setDoc(t),0,0),O=u.to>=c?u:s.lineAt(c,ce.ByPosNoHeight,n,0,0);for(f+=O.to-c,c=O.to;a>0&&u.from<=r[a-1].toA;)l=r[a-1].fromA,h=r[a-1].fromB,a--,ls*2){let a=e[t-1];a.break?e.splice(--t,1,a.left,null,a.right):e.splice(--t,1,a.left,a.right),n+=1+a.break,r-=a.size}else if(s>r*2){let a=e[n];a.break?e.splice(n,1,a.left,null,a.right):e.splice(n,1,a.left,a.right),n+=2+a.break,s-=a.size}else break;else if(r=s&&o(this.lineAt(0,ce.ByPos,n,r,s))}setMeasuredHeight(e){let t=e.heights[e.index++];t<0?(this.spaceAbove=-t,t=e.heights[e.index++]):this.spaceAbove=0,this.setHeight(t)}updateHeight(e,t=0,n=!1,r){return r&&r.from<=t&&r.more&&this.setMeasuredHeight(r),this.outdated=!1,this}toString(){return`block(${this.length})`}},at=class i extends Qs{constructor(e,t,n){super(e,t,null),this.collapsed=0,this.widgetHeight=0,this.breaks=0,this.spaceAbove=n}mainBlock(e,t){return new Qt(t,this.length,e+this.spaceAbove,this.height-this.spaceAbove,this.breaks)}replace(e,t,n){let r=n[0];return n.length==1&&(r instanceof i||r instanceof oi&&r.flags&4)&&Math.abs(this.length-r.length)<10?(r instanceof oi?r=new i(r.length,this.height,this.spaceAbove):r.height=this.height,this.outdated||(r.outdated=!1),r):He.of(n)}updateHeight(e,t=0,n=!1,r){return r&&r.from<=t&&r.more?this.setMeasuredHeight(r):(n||this.outdated)&&(this.spaceAbove=0,this.setHeight(Math.max(this.widgetHeight,e.heightForLine(this.length-this.collapsed))+this.breaks*e.lineHeight)),this.outdated=!1,this}toString(){return`line(${this.length}${this.collapsed?-this.collapsed:""}${this.widgetHeight?":"+this.widgetHeight:""})`}},oi=class i extends He{constructor(e){super(e,0)}heightMetrics(e,t){let n=e.doc.lineAt(t).number,r=e.doc.lineAt(t+this.length).number,s=r-n+1,o,a=0;if(e.lineWrapping){let l=Math.min(this.height,e.lineHeight*s);o=l/s,this.length>s+1&&(a=(this.height-l)/(this.length-s-1))}else o=this.height/s;return{firstLine:n,lastLine:r,perLine:o,perChar:a}}blockAt(e,t,n,r){let{firstLine:s,lastLine:o,perLine:a,perChar:l}=this.heightMetrics(t,r);if(t.lineWrapping){let c=r+(e0){let s=n[n.length-1];s instanceof i?n[n.length-1]=new i(s.length+r):n.push(null,new i(r-1))}if(e>0){let s=n[0];s instanceof i?n[0]=new i(e+s.length):n.unshift(new i(e-1),null)}return He.of(n)}decomposeLeft(e,t){t.push(new i(e-1),null)}decomposeRight(e,t){t.push(null,new i(this.length-e-1))}updateHeight(e,t=0,n=!1,r){let s=t+this.length;if(r&&r.from<=t+this.length&&r.more){let o=[],a=Math.max(t,r.from),l=-1;for(r.from>t&&o.push(new i(r.from-t-1).updateHeight(e,t));a<=s&&r.more;){let h=e.doc.lineAt(a).length;o.length&&o.push(null);let f=r.heights[r.index++],u=0;f<0&&(u=-f,f=r.heights[r.index++]),l==-1?l=f:Math.abs(f-l)>=ls&&(l=-2);let O=new at(h,f,u);O.outdated=!1,o.push(O),a+=h+1}a<=s&&o.push(null,new i(s-a).updateHeight(e,a));let c=He.of(o);return(l<0||Math.abs(c.height-this.height)>=ls||Math.abs(l-this.heightMetrics(e,t).perLine)>=ls)&&(gn=!0),gs(this,c)}else(n||this.outdated)&&(this.setHeight(e.heightForGap(t,t+this.length)),this.outdated=!1);return this}toString(){return`gap(${this.length})`}},Ea=class extends He{constructor(e,t,n){super(e.length+t+n.length,e.height+n.height,t|(e.outdated||n.outdated?2:0)),this.left=e,this.right=n,this.size=e.size+n.size}get break(){return this.flags&1}blockAt(e,t,n,r){let s=n+this.left.height;return ea))return c;let h=t==ce.ByPosNoHeight?ce.ByPosNoHeight:ce.ByPos;return l?c.join(this.right.lineAt(a,h,n,o,a)):this.left.lineAt(a,h,n,r,s).join(c)}forEachLine(e,t,n,r,s,o){let a=r+this.left.height,l=s+this.left.length+this.break;if(this.break)e=l&&this.right.forEachLine(e,t,n,a,l,o);else{let c=this.lineAt(l,ce.ByPos,n,r,s);e=e&&c.from<=t&&o(c),t>c.to&&this.right.forEachLine(c.to+1,t,n,a,l,o)}}replace(e,t,n){let r=this.left.length+this.break;if(tthis.left.length)return this.balanced(this.left,this.right.replace(e-r,t-r,n));let s=[];e>0&&this.decomposeLeft(e,s);let o=s.length;for(let a of n)s.push(a);if(e>0&&jf(s,o-1),t=n&&t.push(null)),e>n&&this.right.decomposeLeft(e-n,t)}decomposeRight(e,t){let n=this.left.length,r=n+this.break;if(e>=r)return this.right.decomposeRight(e-r,t);e2*t.size||t.size>2*e.size?He.of(this.break?[e,null,t]:[e,t]):(this.left=gs(this.left,e),this.right=gs(this.right,t),this.setHeight(e.height+t.height),this.outdated=e.outdated||t.outdated,this.size=e.size+t.size,this.length=e.length+this.break+t.length,this)}updateHeight(e,t=0,n=!1,r){let{left:s,right:o}=this,a=t+s.length+this.break,l=null;return r&&r.from<=t+s.length&&r.more?l=s=s.updateHeight(e,t,n,r):s.updateHeight(e,t,n),r&&r.from<=a+o.length&&r.more?l=o=o.updateHeight(e,a,n,r):o.updateHeight(e,a,n),l?this.balanced(s,o):(this.height=this.left.height+this.right.height,this.outdated=!1,this)}toString(){return this.left+(this.break?" ":"-")+this.right}};function jf(i,e){let t,n;i[e]==null&&(t=i[e-1])instanceof oi&&(n=i[e+1])instanceof oi&&i.splice(e-1,3,new oi(t.length+1+n.length))}var CQ=5,qa=class i{constructor(e,t){this.pos=e,this.oracle=t,this.nodes=[],this.lineStart=-1,this.lineEnd=-1,this.covering=null,this.writtenTo=e}get isCovered(){return this.covering&&this.nodes[this.nodes.length-1]==this.covering}span(e,t){if(this.lineStart>-1){let n=Math.min(t,this.lineEnd),r=this.nodes[this.nodes.length-1];r instanceof at?r.length+=n-this.pos:(n>this.pos||!this.isCovered)&&this.nodes.push(new at(n-this.pos,-1,0)),this.writtenTo=n,t>n&&(this.nodes.push(null),this.writtenTo++,this.lineStart=-1)}this.pos=t}point(e,t,n){if(e=CQ)&&this.addLineDeco(r,s,o)}else t>e&&this.span(e,t);this.lineEnd>-1&&this.lineEnd-1)return;let{from:e,to:t}=this.oracle.doc.lineAt(this.pos);this.lineStart=e,this.lineEnd=t,this.writtenToe&&this.nodes.push(new at(this.pos-e,-1,0)),this.writtenTo=this.pos}blankContent(e,t){let n=new oi(t-e);return this.oracle.doc.lineAt(e).to==t&&(n.flags|=4),n}ensureLine(){this.enterLine();let e=this.nodes.length?this.nodes[this.nodes.length-1]:null;if(e instanceof at)return e;let t=new at(0,-1,0);return this.nodes.push(t),t}addBlock(e){this.enterLine();let t=e.deco;t&&t.startSide>0&&!this.isCovered&&this.ensureLine(),this.nodes.push(e),this.writtenTo=this.pos=this.pos+e.length,t&&t.endSide>0&&(this.covering=e)}addLineDeco(e,t,n){let r=this.ensureLine();r.length+=n,r.collapsed+=n,r.widgetHeight=Math.max(r.widgetHeight,e),r.breaks+=t,this.writtenTo=this.pos=this.pos+n}finish(e){let t=this.nodes.length==0?null:this.nodes[this.nodes.length-1];this.lineStart>-1&&!(t instanceof at)&&!this.isCovered?this.nodes.push(new at(0,-1,0)):(this.writtenToh.clientHeight||h.scrollWidth>h.clientWidth)&&f.overflow!="visible"){let u=h.getBoundingClientRect();s=Math.max(s,u.left),o=Math.min(o,u.right),a=Math.max(a,u.top),l=Math.min(c==i.parentNode?r.innerHeight:l,u.bottom)}c=f.position=="absolute"||f.position=="fixed"?h.offsetParent:h.parentNode}else if(c.nodeType==11)c=c.host;else break;return{left:s-t.left,right:Math.max(s,o)-t.left,top:a-(t.top+e),bottom:Math.max(a,l)-(t.top+e)}}function RQ(i){let e=i.getBoundingClientRect(),t=i.ownerDocument.defaultView||window;return e.left0&&e.top0}function AQ(i,e){let t=i.getBoundingClientRect();return{left:0,right:t.right-t.left,top:e,bottom:t.bottom-(t.top+e)}}var tr=class{constructor(e,t,n,r){this.from=e,this.to=t,this.size=n,this.displaySize=r}static same(e,t){if(e.length!=t.length)return!1;for(let n=0;ntypeof r!="function"&&r.class=="cm-lineWrapping");this.heightOracle=new Aa(n),this.stateDeco=Df(t),this.heightMap=He.empty().applyChanges(this.stateDeco,J.empty,this.heightOracle.setDoc(t.doc),[new bt(0,0,0,t.doc.length)]);for(let r=0;r<2&&(this.viewport=this.getViewport(0,null),!!this.updateForViewport());r++);this.updateViewportLines(),this.lineGaps=this.ensureLineGaps([]),this.lineGapDeco=R.set(this.lineGaps.map(r=>r.draw(this,!1))),this.scrollParent=e.scrollDOM,this.computeVisibleRanges()}updateForViewport(){let e=[this.viewport],{main:t}=this.state.selection;for(let n=0;n<=1;n++){let r=n?t.head:t.anchor;if(!e.some(({from:s,to:o})=>r>=s&&r<=o)){let{from:s,to:o}=this.lineBlockAt(r);e.push(new hn(s,o))}}return this.viewports=e.sort((n,r)=>n.from-r.from),this.updateScaler()}updateScaler(){let e=this.scaler;return this.scaler=this.heightMap.height<=7e6?Vf:new Ma(this.heightOracle,this.heightMap,this.viewports),e.eq(this.scaler)?0:2}updateViewportLines(){this.viewportLines=[],this.heightMap.forEachLine(this.viewport.from,this.viewport.to,this.heightOracle.setDoc(this.state.doc),0,0,e=>{this.viewportLines.push(Un(e,this.scaler))})}update(e,t=null){this.state=e.state;let n=this.stateDeco;this.stateDeco=Df(this.state);let r=e.changedRanges,s=bt.extendWithRanges(r,XQ(n,this.stateDeco,e?e.changes:ze.empty(this.state.doc.length))),o=this.heightMap.height,a=this.scrolledToBottom?null:this.scrollAnchorAt(this.scrollOffset);Wf(),this.heightMap=this.heightMap.applyChanges(this.stateDeco,e.startState.doc,this.heightOracle.setDoc(this.state.doc),s),(this.heightMap.height!=o||gn)&&(e.flags|=2),a?(this.scrollAnchorPos=e.changes.mapPos(a.from,-1),this.scrollAnchorHeight=a.top):(this.scrollAnchorPos=-1,this.scrollAnchorHeight=o);let l=s.length?this.mapViewport(this.viewport,e.changes):this.viewport;(t&&(t.range.headl.to)||!this.viewportIsAppropriate(l))&&(l=this.getViewport(0,t));let c=l.from!=this.viewport.from||l.to!=this.viewport.to;this.viewport=l,e.flags|=this.updateForViewport(),(c||!e.changes.empty||e.flags&2)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(this.mapLineGaps(this.lineGaps,e.changes))),e.flags|=this.computeVisibleRanges(e.changes),t&&(this.scrollTarget=t),!this.mustEnforceCursorAssoc&&(e.selectionSet||e.focusChanged)&&e.view.lineWrapping&&e.state.selection.main.empty&&e.state.selection.main.assoc&&!e.state.facet(W0)&&(this.mustEnforceCursorAssoc=!0)}measure(){let{view:e}=this,t=e.contentDOM,n=window.getComputedStyle(t),r=this.heightOracle,s=n.whiteSpace;this.defaultTextDirection=n.direction=="rtl"?Oe.RTL:Oe.LTR;let o=this.heightOracle.mustRefreshForWrapping(s)||this.mustMeasureContent==="refresh",a=t.getBoundingClientRect(),l=o||this.mustMeasureContent||this.contentDOMHeight!=a.height;this.contentDOMHeight=a.height,this.mustMeasureContent=!1;let c=0,h=0;if(a.width&&a.height){let{scaleX:P,scaleY:$}=Hf(t,a);(P>.005&&Math.abs(this.scaleX-P)>.005||$>.005&&Math.abs(this.scaleY-$)>.005)&&(this.scaleX=P,this.scaleY=$,c|=16,o=l=!0)}let f=(parseInt(n.paddingTop)||0)*this.scaleY,u=(parseInt(n.paddingBottom)||0)*this.scaleY;(this.paddingTop!=f||this.paddingBottom!=u)&&(this.paddingTop=f,this.paddingBottom=u,c|=18),this.editorWidth!=e.scrollDOM.clientWidth&&(r.lineWrapping&&(l=!0),this.editorWidth=e.scrollDOM.clientWidth,c|=16);let O=Kf(this.view.contentDOM,!1).y;O!=this.scrollParent&&(this.scrollParent=O,this.scrollAnchorHeight=-1,this.scrollOffset=0);let m=this.getScrollOffset();this.scrollOffset!=m&&(this.scrollAnchorHeight=-1,this.scrollOffset=m),this.scrolledToBottom=eu(this.scrollParent||e.win);let p=(this.printing?AQ:_Q)(t,this.paddingTop),b=p.top-this.pixelViewport.top,g=p.bottom-this.pixelViewport.bottom;this.pixelViewport=p;let Q=this.pixelViewport.bottom>this.pixelViewport.top&&this.pixelViewport.right>this.pixelViewport.left;if(Q!=this.inView&&(this.inView=Q,Q&&(l=!0)),!this.inView&&!this.scrollTarget&&!RQ(e.dom))return 0;let S=a.width;if((this.contentDOMWidth!=S||this.editorHeight!=e.scrollDOM.clientHeight)&&(this.contentDOMWidth=a.width,this.editorHeight=e.scrollDOM.clientHeight,c|=16),l){let P=e.docView.measureVisibleLineHeights(this.viewport);if(r.mustRefreshForHeights(P)&&(o=!0),o||r.lineWrapping&&Math.abs(S-this.contentDOMWidth)>r.charWidth){let{lineHeight:$,charWidth:Z,textHeight:X}=e.docView.measureTextSize();o=$>0&&r.refresh(s,$,Z,X,Math.max(5,S/Z),P),o&&(e.docView.minWidth=0,c|=16)}b>0&&g>0?h=Math.max(b,g):b<0&&g<0&&(h=Math.min(b,g)),Wf();for(let $ of this.viewports){let Z=$.from==this.viewport.from?P:e.docView.measureVisibleLineHeights($);this.heightMap=(o?He.empty().applyChanges(this.stateDeco,J.empty,this.heightOracle,[new bt(0,0,0,e.state.doc.length)]):this.heightMap).updateHeight(r,0,o,new Za($.from,Z))}gn&&(c|=2)}let x=!this.viewportIsAppropriate(this.viewport,h)||this.scrollTarget&&(this.scrollTarget.range.headthis.viewport.to);return x&&(c&2&&(c|=this.updateScaler()),this.viewport=this.getViewport(h,this.scrollTarget),c|=this.updateForViewport()),(c&2||x)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(o?[]:this.lineGaps,e)),c|=this.computeVisibleRanges(),this.mustEnforceCursorAssoc&&(this.mustEnforceCursorAssoc=!1,e.docView.enforceCursorAssoc()),c}get visibleTop(){return this.scaler.fromDOM(this.pixelViewport.top)}get visibleBottom(){return this.scaler.fromDOM(this.pixelViewport.bottom)}getViewport(e,t){let n=.5-Math.max(-.5,Math.min(.5,e/1e3/2)),r=this.heightMap,s=this.heightOracle,{visibleTop:o,visibleBottom:a}=this,l=new hn(r.lineAt(o-n*1e3,ce.ByHeight,s,0,0).from,r.lineAt(a+(1-n)*1e3,ce.ByHeight,s,0,0).to);if(t){let{head:c}=t.range;if(cl.to){let h=Math.min(this.editorHeight,this.pixelViewport.bottom-this.pixelViewport.top),f=r.lineAt(c,ce.ByPos,s,0,0),u;t.y=="center"?u=(f.top+f.bottom)/2-h/2:t.y=="start"||t.y=="nearest"&&c=a+Math.max(10,Math.min(n,250)))&&r>o-2*1e3&&s>1,o=r<<1;if(this.defaultTextDirection!=Oe.LTR&&!n)return[];let a=[],l=(h,f,u,O)=>{if(f-hh&&gg.from>=u.from&&g.to<=u.to&&Math.abs(g.from-h)g.fromQ));if(!b){if(fS.from<=f&&S.to>=f)){let S=t.moveToLineBoundary(v.cursor(f),!1,!0).head;S>h&&(f=S)}let g=this.gapSize(u,h,f,O),Q=n||g<2e6?g:2e6;b=new tr(h,f,g,Q)}a.push(b)},c=h=>{if(h.length2e6)for(let $ of e)$.from>=h.from&&$.fromh.from&&l(h.from,O,h,f),mt.draw(this,this.heightOracle.lineWrapping))))}computeVisibleRanges(e){let t=this.stateDeco;this.lineGaps.length&&(t=t.concat(this.lineGapDeco));let n=[];le.spans(t,this.viewport.from,this.viewport.to,{span(s,o){n.push({from:s,to:o})},point(){}},20);let r=0;if(n.length!=this.visibleRanges.length)r=12;else for(let s=0;s=this.viewport.from&&e<=this.viewport.to&&this.viewportLines.find(t=>t.from<=e&&t.to>=e)||Un(this.heightMap.lineAt(e,ce.ByPos,this.heightOracle,0,0),this.scaler)}lineBlockAtHeight(e){return e>=this.viewportLines[0].top&&e<=this.viewportLines[this.viewportLines.length-1].bottom&&this.viewportLines.find(t=>t.top<=e&&t.bottom>=e)||Un(this.heightMap.lineAt(this.scaler.fromDOM(e),ce.ByHeight,this.heightOracle,0,0),this.scaler)}getScrollOffset(){return(this.scrollParent==this.view.scrollDOM?this.scrollParent.scrollTop:(this.scrollParent?this.scrollParent.getBoundingClientRect().top:0)-this.view.contentDOM.getBoundingClientRect().top)*this.scaleY}scrollAnchorAt(e){let t=this.lineBlockAtHeight(e+8);return t.from>=this.viewport.from||this.viewportLines[0].top-e>200?t:this.viewportLines[0]}elementAtHeight(e){return Un(this.heightMap.blockAt(this.scaler.fromDOM(e),this.heightOracle,0,0),this.scaler)}get docHeight(){return this.scaler.toDOM(this.heightMap.height)}get contentHeight(){return this.docHeight+this.paddingTop+this.paddingBottom}},hn=class{constructor(e,t){this.from=e,this.to=t}};function ZQ(i,e,t){let n=[],r=i,s=0;return le.spans(t,i,e,{span(){},point(o,a){o>r&&(n.push({from:r,to:o}),s+=o-r),r=a}},20),r=1)return e[e.length-1].to;let n=Math.floor(i*t);for(let r=0;;r++){let{from:s,to:o}=e[r],a=o-s;if(n<=a)return s+n;n-=a}}function rs(i,e){let t=0;for(let{from:n,to:r}of i.ranges){if(e<=r){t+=e-n;break}t+=r-n}return t/i.total}function EQ(i,e){for(let t of i)if(e(t))return t}var Vf={toDOM(i){return i},fromDOM(i){return i},scale:1,eq(i){return i==this}};function Df(i){let e=i.facet(ks).filter(n=>typeof n!="function"),t=i.facet(Ka).filter(n=>typeof n!="function");return t.length&&e.push(le.join(t)),e}var Ma=class i{constructor(e,t,n){let r=0,s=0,o=0;this.viewports=n.map(({from:a,to:l})=>{let c=t.lineAt(a,ce.ByPos,e,0,0).top,h=t.lineAt(l,ce.ByPos,e,0,0).bottom;return r+=h-c,{from:a,to:l,top:c,bottom:h,domTop:0,domBottom:0}}),this.scale=(7e6-r)/(t.height-r);for(let a of this.viewports)a.domTop=o+(a.top-s)*this.scale,o=a.domBottom=a.domTop+(a.bottom-a.top),s=a.bottom}toDOM(e){for(let t=0,n=0,r=0;;t++){let s=tt.from==e.viewports[n].from&&t.to==e.viewports[n].to):!1}};function Un(i,e){if(e.scale==1)return i;let t=e.toDOM(i.top),n=e.toDOM(i.bottom);return new Qt(i.from,i.length,t,n-t,Array.isArray(i._content)?i._content.map(r=>Un(r,e)):i._content)}var ss=Y.define({combine:i=>i.join(" ")}),Wa=Y.define({combine:i=>i.indexOf(!0)>-1}),ja=ot.newName(),qu=ot.newName(),zu=ot.newName(),Lu={"&light":"."+qu,"&dark":"."+zu};function Va(i,e,t){return new ot(e,{finish(n){return/&/.test(n)?n.replace(/&\w*/,r=>{if(r=="&")return i;if(!t||!t[r])throw new RangeError(`Unsupported selector: ${r}`);return t[r]}):i+" "+n}})}var qQ=Va("."+ja,{"&":{position:"relative !important",boxSizing:"border-box","&.cm-focused":{outline:"1px dotted #212121"},display:"flex !important",flexDirection:"column"},".cm-scroller":{display:"flex !important",alignItems:"flex-start !important",fontFamily:"monospace",lineHeight:1.4,height:"100%",overflowX:"auto",position:"relative",zIndex:0,overflowAnchor:"none"},".cm-content":{margin:0,flexGrow:2,flexShrink:0,display:"block",whiteSpace:"pre",wordWrap:"normal",boxSizing:"border-box",minHeight:"100%",padding:"4px 0",outline:"none","&[contenteditable=true]":{WebkitUserModify:"read-write-plaintext-only"}},".cm-lineWrapping":{whiteSpace_fallback:"pre-wrap",whiteSpace:"break-spaces",wordBreak:"break-word",overflowWrap:"anywhere",flexShrink:1},"&light .cm-content":{caretColor:"black"},"&dark .cm-content":{caretColor:"white"},".cm-line":{display:"block",padding:"0 2px 0 6px"},".cm-layer":{userSelect:"none",position:"absolute",left:0,top:0,contain:"size style","& > *":{position:"absolute"}},"&light .cm-selectionBackground":{background:"#d9d9d9"},"&dark .cm-selectionBackground":{background:"#222"},"&light.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#d7d4f0"},"&dark.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#233"},".cm-cursorLayer":{pointerEvents:"none"},"&.cm-focused > .cm-scroller > .cm-cursorLayer":{animation:"steps(1) cm-blink 1.2s infinite"},"@keyframes cm-blink":{"0%":{},"50%":{opacity:0},"100%":{}},"@keyframes cm-blink2":{"0%":{},"50%":{opacity:0},"100%":{}},".cm-cursor, .cm-dropCursor":{borderLeft:"1.2px solid black",marginLeft:"-0.6px",pointerEvents:"none"},".cm-cursor":{display:"none"},"&dark .cm-cursor":{borderLeftColor:"#ddd"},".cm-selectionHandle":{backgroundColor:"currentColor",width:"1.5px"},".cm-selectionHandle-start::before, .cm-selectionHandle-end::before":{content:'""',backgroundColor:"inherit",borderRadius:"50%",width:"8px",height:"8px",position:"absolute",left:"-3.25px"},".cm-selectionHandle-start::before":{top:"-8px"},".cm-selectionHandle-end::before":{bottom:"-8px"},".cm-dropCursor":{position:"absolute"},"&.cm-focused > .cm-scroller > .cm-cursorLayer .cm-cursor":{display:"block"},".cm-iso":{unicodeBidi:"isolate"},".cm-announced":{position:"fixed",top:"-10000px"},"@media print":{".cm-announced":{display:"none"}},"&light .cm-activeLine":{backgroundColor:"#cceeff44"},"&dark .cm-activeLine":{backgroundColor:"#99eeff33"},"&light .cm-specialChar":{color:"red"},"&dark .cm-specialChar":{color:"#f78"},".cm-gutters":{flexShrink:0,display:"flex",height:"100%",boxSizing:"border-box",zIndex:200},".cm-gutters-before":{insetInlineStart:0},".cm-gutters-after":{insetInlineEnd:0},"&light .cm-gutters":{backgroundColor:"#f5f5f5",color:"#6c6c6c",border:"0px solid #ddd","&.cm-gutters-before":{borderRightWidth:"1px"},"&.cm-gutters-after":{borderLeftWidth:"1px"}},"&dark .cm-gutters":{backgroundColor:"#333338",color:"#ccc"},".cm-gutter":{display:"flex !important",flexDirection:"column",flexShrink:0,boxSizing:"border-box",minHeight:"100%",overflow:"hidden"},".cm-gutterElement":{boxSizing:"border-box"},".cm-lineNumbers .cm-gutterElement":{padding:"0 3px 0 5px",minWidth:"20px",textAlign:"right",whiteSpace:"nowrap"},"&light .cm-activeLineGutter":{backgroundColor:"#e2f2ff"},"&dark .cm-activeLineGutter":{backgroundColor:"#222227"},".cm-panels":{boxSizing:"border-box",position:"sticky",left:0,right:0,zIndex:300},"&light .cm-panels":{backgroundColor:"#f5f5f5",color:"black"},"&light .cm-panels-top":{borderBottom:"1px solid #ddd"},"&light .cm-panels-bottom":{borderTop:"1px solid #ddd"},"&dark .cm-panels":{backgroundColor:"#333338",color:"white"},".cm-dialog":{padding:"2px 19px 4px 6px",position:"relative","& label":{fontSize:"80%"}},".cm-dialog-close":{position:"absolute",top:"3px",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",fontSize:"14px",padding:"0"},".cm-tab":{display:"inline-block",overflow:"hidden",verticalAlign:"bottom"},".cm-widgetBuffer":{verticalAlign:"text-top",height:"1em",width:0,display:"inline"},".cm-placeholder":{color:"#888",display:"inline-block",verticalAlign:"top",userSelect:"none"},".cm-highlightSpace":{backgroundImage:"radial-gradient(circle at 50% 55%, #aaa 20%, transparent 5%)",backgroundPosition:"center"},".cm-highlightTab":{backgroundImage:`url('data:image/svg+xml,')`,backgroundSize:"auto 100%",backgroundPosition:"right 90%",backgroundRepeat:"no-repeat"},".cm-trailingSpace":{backgroundColor:"#ff332255"},".cm-button":{verticalAlign:"middle",color:"inherit",fontSize:"70%",padding:".2em 1em",borderRadius:"1px"},"&light .cm-button":{backgroundImage:"linear-gradient(#eff1f5, #d9d9df)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#b4b4b4, #d0d3d6)"}},"&dark .cm-button":{backgroundImage:"linear-gradient(#393939, #111)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#111, #333)"}},".cm-textfield":{verticalAlign:"middle",color:"inherit",fontSize:"70%",border:"1px solid silver",padding:".2em .5em"},"&light .cm-textfield":{backgroundColor:"white"},"&dark .cm-textfield":{border:"1px solid #555",backgroundColor:"inherit"}},Lu),zQ={childList:!0,characterData:!0,subtree:!0,attributes:!0,characterDataOldValue:!0},aa=L.ie&&L.ie_version<=11,Da=class{constructor(e){this.view=e,this.active=!1,this.editContext=null,this.selectionRange=new Oa,this.selectionChanged=!1,this.delayedFlush=-1,this.resizeTimeout=-1,this.queue=[],this.delayedAndroidKey=null,this.flushingAndroidKey=-1,this.lastChange=0,this.scrollTargets=[],this.intersection=null,this.resizeScroll=null,this.intersecting=!1,this.gapIntersection=null,this.gaps=[],this.printQuery=null,this.parentCheck=-1,this.dom=e.contentDOM,this.observer=new MutationObserver(t=>{for(let n of t)this.queue.push(n);(L.ie&&L.ie_version<=11||L.ios&&e.composing)&&t.some(n=>n.type=="childList"&&n.removedNodes.length||n.type=="characterData"&&n.oldValue.length>n.target.nodeValue.length)?this.flushSoon():this.flush()}),window.EditContext&&L.android&&e.constructor.EDIT_CONTEXT!==!1&&!(L.chrome&&L.chrome_version<126)&&(this.editContext=new Ya(e),e.state.facet(Mt)&&(e.contentDOM.editContext=this.editContext.editContext)),aa&&(this.onCharData=t=>{this.queue.push({target:t.target,type:"characterData",oldValue:t.prevValue}),this.flushSoon()}),this.onSelectionChange=this.onSelectionChange.bind(this),this.onResize=this.onResize.bind(this),this.onPrint=this.onPrint.bind(this),this.onScroll=this.onScroll.bind(this),window.matchMedia&&(this.printQuery=window.matchMedia("print")),typeof ResizeObserver=="function"&&(this.resizeScroll=new ResizeObserver(()=>{var t;((t=this.view.docView)===null||t===void 0?void 0:t.lastUpdate){this.parentCheck<0&&(this.parentCheck=setTimeout(this.listenForScroll.bind(this),1e3)),t.length>0&&t[t.length-1].intersectionRatio>0!=this.intersecting&&(this.intersecting=!this.intersecting,this.intersecting!=this.view.inView&&this.onScrollChanged(document.createEvent("Event")))},{threshold:[0,.001]}),this.intersection.observe(this.dom),this.gapIntersection=new IntersectionObserver(t=>{t.length>0&&t[t.length-1].intersectionRatio>0&&this.onScrollChanged(document.createEvent("Event"))},{})),this.listenForScroll(),this.readSelectionRange()}onScrollChanged(e){this.view.inputState.runHandlers("scroll",e),this.intersecting&&this.view.measure()}onScroll(e){this.intersecting&&this.flush(!1),this.editContext&&this.view.requestMeasure(this.editContext.measureReq),this.onScrollChanged(e)}onResize(){this.resizeTimeout<0&&(this.resizeTimeout=setTimeout(()=>{this.resizeTimeout=-1,this.view.requestMeasure()},50))}onPrint(e){(e.type=="change"||!e.type)&&!e.matches||(this.view.viewState.printing=!0,this.view.measure(),setTimeout(()=>{this.view.viewState.printing=!1,this.view.requestMeasure()},500))}updateGaps(e){if(this.gapIntersection&&(e.length!=this.gaps.length||this.gaps.some((t,n)=>t!=e[n]))){this.gapIntersection.disconnect();for(let t of e)this.gapIntersection.observe(t);this.gaps=e}}onSelectionChange(e){let t=this.selectionChanged;if(!this.readSelectionRange()||this.delayedAndroidKey)return;let{view:n}=this,r=this.selectionRange;if(n.state.facet(Mt)?n.root.activeElement!=this.dom:!Nn(this.dom,r))return;let s=r.anchorNode&&n.docView.tile.nearest(r.anchorNode);if(s&&s.isWidget()&&s.widget.ignoreEvent(e)){t||(this.selectionChanged=!1);return}(L.ie&&L.ie_version<=11||L.android&&L.chrome)&&!n.state.selection.main.empty&&r.focusNode&&Fn(r.focusNode,r.focusOffset,r.anchorNode,r.anchorOffset)?this.flushSoon():this.flush(!1)}readSelectionRange(){let{view:e}=this,t=rr(e.root);if(!t)return!1;let n=L.safari&&e.root.nodeType==11&&e.root.activeElement==this.dom&&LQ(this.view,t)||t;if(!n||this.selectionRange.eq(n))return!1;let r=Nn(this.dom,n);return r&&!this.selectionChanged&&e.inputState.lastFocusTime>Date.now()-200&&e.inputState.lastTouchTime{let s=this.delayedAndroidKey;s&&(this.clearDelayedAndroidKey(),this.view.inputState.lastKeyCode=s.keyCode,this.view.inputState.lastKeyTime=Date.now(),!this.flush()&&s.force&&un(this.dom,s.key,s.keyCode))};this.flushingAndroidKey=this.view.win.requestAnimationFrame(r)}(!this.delayedAndroidKey||e=="Enter")&&(this.delayedAndroidKey={key:e,keyCode:t,force:this.lastChange{this.delayedFlush=-1,this.flush()}))}forceFlush(){this.delayedFlush>=0&&(this.view.win.cancelAnimationFrame(this.delayedFlush),this.delayedFlush=-1),this.flush()}pendingRecords(){for(let e of this.observer.takeRecords())this.queue.push(e);return this.queue}processRecords(){let e=this.pendingRecords();e.length&&(this.queue=[]);let t=-1,n=-1,r=!1;for(let s of e){let o=this.readMutation(s);o&&(o.typeOver&&(r=!0),t==-1?{from:t,to:n}=o:(t=Math.min(o.from,t),n=Math.max(o.to,n)))}return{from:t,to:n,typeOver:r}}readChange(){let{from:e,to:t,typeOver:n}=this.processRecords(),r=this.selectionChanged&&Nn(this.dom,this.selectionRange);if(e<0&&!r)return null;e>-1&&(this.lastChange=Date.now()),this.view.inputState.lastFocusTime=0,this.selectionChanged=!1;let s=new Ca(this.view,e,t,n);return this.view.docView.domChanged={newSel:s.newSel?s.newSel.main:null},s}flush(e=!0){if(this.delayedFlush>=0||this.delayedAndroidKey)return!1;e&&this.readSelectionRange();let t=this.readChange();if(!t)return this.view.requestMeasure(),!1;let n=this.view.state,r=vu(this.view,t);return this.view.state==n&&(t.domChanged||t.newSel&&!ms(this.view.state.selection,t.newSel.main))&&this.view.update([]),r}readMutation(e){let t=this.view.docView.tile.nearest(e.target);if(!t||t.isWidget())return null;if(t.markDirty(e.type=="attributes"),e.type=="childList"){let n=Yf(t,e.previousSibling||e.target.previousSibling,-1),r=Yf(t,e.nextSibling||e.target.nextSibling,1);return{from:n?t.posAfter(n):t.posAtStart,to:r?t.posBefore(r):t.posAtEnd,typeOver:!1}}else return e.type=="characterData"?{from:t.posAtStart,to:t.posAtEnd,typeOver:e.target.nodeValue==e.oldValue}:null}setWindow(e){e!=this.win&&(this.removeWindowListeners(this.win),this.win=e,this.addWindowListeners(this.win))}addWindowListeners(e){e.addEventListener("resize",this.onResize),this.printQuery?this.printQuery.addEventListener?this.printQuery.addEventListener("change",this.onPrint):this.printQuery.addListener(this.onPrint):e.addEventListener("beforeprint",this.onPrint),e.addEventListener("scroll",this.onScroll),e.document.addEventListener("selectionchange",this.onSelectionChange)}removeWindowListeners(e){e.removeEventListener("scroll",this.onScroll),e.removeEventListener("resize",this.onResize),this.printQuery?this.printQuery.removeEventListener?this.printQuery.removeEventListener("change",this.onPrint):this.printQuery.removeListener(this.onPrint):e.removeEventListener("beforeprint",this.onPrint),e.document.removeEventListener("selectionchange",this.onSelectionChange)}update(e){this.editContext&&(this.editContext.update(e),e.startState.facet(Mt)!=e.state.facet(Mt)&&(e.view.contentDOM.editContext=e.state.facet(Mt)?this.editContext.editContext:null))}destroy(){var e,t,n;this.stop(),(e=this.intersection)===null||e===void 0||e.disconnect(),(t=this.gapIntersection)===null||t===void 0||t.disconnect(),(n=this.resizeScroll)===null||n===void 0||n.disconnect();for(let r of this.scrollTargets)r.removeEventListener("scroll",this.onScroll);this.removeWindowListeners(this.win),clearTimeout(this.parentCheck),clearTimeout(this.resizeTimeout),this.win.cancelAnimationFrame(this.delayedFlush),this.win.cancelAnimationFrame(this.flushingAndroidKey),this.editContext&&(this.view.contentDOM.editContext=null,this.editContext.destroy())}};function Yf(i,e,t){for(;e;){let n=ue.get(e);if(n&&n.parent==i)return n;let r=e.parentNode;e=r!=i.dom?r:t>0?e.nextSibling:e.previousSibling}return null}function If(i,e){let t=e.startContainer,n=e.startOffset,r=e.endContainer,s=e.endOffset,o=i.docView.domAtPos(i.state.selection.main.anchor,1);return Fn(o.node,o.offset,r,s)&&([t,n,r,s]=[r,s,t,n]),{anchorNode:t,anchorOffset:n,focusNode:r,focusOffset:s}}function LQ(i,e){if(e.getComposedRanges){let r=e.getComposedRanges(i.root)[0];if(r)return If(i,r)}let t=null;function n(r){r.preventDefault(),r.stopImmediatePropagation(),t=r.getTargetRanges()[0]}return i.contentDOM.addEventListener("beforeinput",n,!0),i.dom.ownerDocument.execCommand("indent"),i.contentDOM.removeEventListener("beforeinput",n,!0),t?If(i,t):null}var Ya=class{constructor(e){this.from=0,this.to=0,this.pendingContextChange=null,this.handlers=Object.create(null),this.composing=null,this.resetRange(e.state);let t=this.editContext=new window.EditContext({text:e.state.doc.sliceString(this.from,this.to),selectionStart:this.toContextPos(Math.max(this.from,Math.min(this.to,e.state.selection.main.anchor))),selectionEnd:this.toContextPos(e.state.selection.main.head)});this.handlers.textupdate=n=>{let r=e.state.selection.main,{anchor:s,head:o}=r,a=this.toEditorPos(n.updateRangeStart),l=this.toEditorPos(n.updateRangeEnd);e.inputState.composing>=0&&!this.composing&&(this.composing={contextBase:n.updateRangeStart,editorBase:a,drifted:!1});let c=l-a>n.text.length;a==this.from&&sthis.to&&(l=s);let h=$u(e.state.sliceDoc(a,l),n.text,(c?r.from:r.to)-a,c?"end":null);if(!h){let u=v.single(this.toEditorPos(n.selectionStart),this.toEditorPos(n.selectionEnd));ms(u,r)||e.dispatch({selection:u,userEvent:"select"});return}let f={from:h.from+a,to:h.toA+a,insert:J.of(n.text.slice(h.from,h.toB).split(` -`))};if((L.mac||L.android)&&f.from==o-1&&/^\. ?$/.test(n.text)&&e.contentDOM.getAttribute("autocorrect")=="off"&&(f={from:a,to:l,insert:J.of([n.text.replace("."," ")])}),this.pendingContextChange=f,!e.state.readOnly){let u=this.to-this.from+(f.to-f.from+f.insert.length);Ja(e,f,v.single(this.toEditorPos(n.selectionStart,u),this.toEditorPos(n.selectionEnd,u)))}this.pendingContextChange&&(this.revertPending(e.state),this.setSelection(e.state)),f.from=0&&!/[\\p{Alphabetic}\\p{Number}_]/.test(t.text.slice(Math.max(0,n.updateRangeStart-1),Math.min(t.text.length,n.updateRangeStart+1)))&&this.handlers.compositionend(n)},this.handlers.characterboundsupdate=n=>{let r=[],s=null;for(let o=this.toEditorPos(n.rangeStart),a=this.toEditorPos(n.rangeEnd);o{let r=[];for(let s of n.getTextFormats()){let o=s.underlineStyle,a=s.underlineThickness;if(!/none/i.test(o)&&!/none/i.test(a)){let l=this.toEditorPos(s.rangeStart),c=this.toEditorPos(s.rangeEnd);if(l{e.inputState.composing<0&&(e.inputState.composing=0,e.inputState.compositionFirstChange=!0)},this.handlers.compositionend=()=>{if(e.inputState.composing=-1,e.inputState.compositionFirstChange=null,this.composing){let{drifted:n}=this.composing;this.composing=null,n&&this.reset(e.state)}};for(let n in this.handlers)t.addEventListener(n,this.handlers[n]);this.measureReq={read:n=>{let r=rr(n.root);r&&r.rangeCount&&this.editContext.updateSelectionBounds(r.getRangeAt(0).getBoundingClientRect())}}}applyEdits(e){let t=0,n=!1,r=this.pendingContextChange;return e.changes.iterChanges((s,o,a,l,c)=>{if(n)return;let h=c.length-(o-s);if(r&&o>=r.to)if(r.from==s&&r.to==o&&r.insert.eq(c)){r=this.pendingContextChange=null,t+=h,this.to+=h;return}else r=null,this.revertPending(e.state);if(s+=t,o+=t,o<=this.from)this.from+=h,this.to+=h;else if(sthis.to||this.to-this.from+c.length>3e4){n=!0;return}this.editContext.updateText(this.toContextPos(s),this.toContextPos(o),c.toString()),this.to+=h}t+=h}),r&&!n&&this.revertPending(e.state),!n}update(e){let t=this.pendingContextChange,n=e.startState.selection.main;this.composing&&(this.composing.drifted||!e.changes.touchesRange(n.from,n.to)&&e.transactions.some(r=>!r.isUserEvent("input.type")&&r.changes.touchesRange(this.from,this.to)))?(this.composing.drifted=!0,this.composing.editorBase=e.changes.mapPos(this.composing.editorBase)):!this.applyEdits(e)||!this.rangeIsValid(e.state)?(this.pendingContextChange=null,this.reset(e.state)):(e.docChanged||e.selectionSet||t)&&this.setSelection(e.state),(e.geometryChanged||e.docChanged||e.selectionSet)&&e.view.requestMeasure(this.measureReq)}resetRange(e){let{head:t}=e.selection.main;this.from=Math.max(0,t-1e4),this.to=Math.min(e.doc.length,t+1e4)}reset(e){this.resetRange(e),this.editContext.updateText(0,this.editContext.text.length,e.doc.sliceString(this.from,this.to)),this.setSelection(e)}revertPending(e){let t=this.pendingContextChange;this.pendingContextChange=null,this.editContext.updateText(this.toContextPos(t.from),this.toContextPos(t.from+t.insert.length),e.doc.sliceString(t.from,t.to))}setSelection(e){let{main:t}=e.selection,n=this.toContextPos(Math.max(this.from,Math.min(this.to,t.anchor))),r=this.toContextPos(t.head);(this.editContext.selectionStart!=n||this.editContext.selectionEnd!=r)&&this.editContext.updateSelection(n,r)}rangeIsValid(e){let{head:t}=e.selection.main;return!(this.from>0&&t-this.from<500||this.to1e4*3)}toEditorPos(e,t=this.to-this.from){e=Math.min(e,t);let n=this.composing;return n&&n.drifted?n.editorBase+(e-n.contextBase):e+this.from}toContextPos(e){let t=this.composing;return t&&t.drifted?t.contextBase+(e-t.editorBase):e-this.from}destroy(){for(let e in this.handlers)this.editContext.removeEventListener(e,this.handlers[e])}},q=class i{get state(){return this.viewState.state}get viewport(){return this.viewState.viewport}get visibleRanges(){return this.viewState.visibleRanges}get inView(){return this.viewState.inView}get composing(){return!!this.inputState&&this.inputState.composing>0}get compositionStarted(){return!!this.inputState&&this.inputState.composing>=0}get root(){return this._root}get win(){return this.dom.ownerDocument.defaultView||window}constructor(e={}){var t;this.plugins=[],this.pluginMap=new Map,this.editorAttrs={},this.contentAttrs={},this.bidiCache=[],this.destroyed=!1,this.updateState=2,this.measureScheduled=-1,this.measureRequests=[],this.contentDOM=document.createElement("div"),this.scrollDOM=document.createElement("div"),this.scrollDOM.tabIndex=-1,this.scrollDOM.className="cm-scroller",this.scrollDOM.appendChild(this.contentDOM),this.announceDOM=document.createElement("div"),this.announceDOM.className="cm-announced",this.announceDOM.setAttribute("aria-live","polite"),this.dom=document.createElement("div"),this.dom.appendChild(this.announceDOM),this.dom.appendChild(this.scrollDOM),e.parent&&e.parent.appendChild(this.dom);let{dispatch:n}=e;this.dispatchTransactions=e.dispatchTransactions||n&&(r=>r.forEach(s=>n(s,this)))||(r=>this.update(r)),this.dispatch=this.dispatch.bind(this),this._root=e.root||C0(e.parent)||document,this.viewState=new bs(this,e.state||se.create(e)),e.scrollTo&&e.scrollTo.is(es)&&(this.viewState.scrollTarget=e.scrollTo.value.clip(this.viewState.state)),this.plugins=this.state.facet(cn).map(r=>new Kn(r));for(let r of this.plugins)r.update(this);this.observer=new Da(this),this.inputState=new Xa(this),this.inputState.ensureHandlers(this.plugins),this.docView=new ds(this),this.mountStyles(),this.updateAttrs(),this.updateState=0,this.requestMeasure(),!((t=document.fonts)===null||t===void 0)&&t.ready&&document.fonts.ready.then(()=>{this.viewState.mustMeasureContent="refresh",this.requestMeasure()})}dispatch(...e){let t=e.length==1&&e[0]instanceof pe?e:e.length==1&&Array.isArray(e[0])?e[0]:[this.state.update(...e)];this.dispatchTransactions(t,this)}update(e){if(this.updateState!=0)throw new Error("Calls to EditorView.update are not allowed while an update is in progress");let t=!1,n=!1,r,s=this.state;for(let u of e){if(u.startState!=s)throw new RangeError("Trying to update state with a transaction that doesn't start from the previous state.");s=u.state}if(this.destroyed){this.viewState.state=s;return}let o=this.hasFocus,a=0,l=null;e.some(u=>u.annotation(Au))?(this.inputState.notifiedFocused=o,a=1):o!=this.inputState.notifiedFocused&&(this.inputState.notifiedFocused=o,l=Zu(s,o),l||(a=1));let c=this.observer.delayedAndroidKey,h=null;if(c?(this.observer.clearDelayedAndroidKey(),h=this.observer.readChange(),(h&&!this.state.doc.eq(s.doc)||!this.state.selection.eq(s.selection))&&(h=null)):this.observer.clear(),s.facet(se.phrases)!=this.state.facet(se.phrases))return this.setState(s);r=us.create(this,s,e),r.flags|=a;let f=this.viewState.scrollTarget;try{this.updateState=2;for(let u of e){if(f&&(f=f.map(u.changes)),u.scrollIntoView){let{main:O}=u.state.selection,{x:m,y:p}=this.state.facet(i.cursorScrollMargin);f=new Hn(O.empty?O:v.cursor(O.head,O.head>O.anchor?-1:1),"nearest","nearest",p,m)}for(let O of u.effects)O.is(es)&&(f=O.value.clip(this.state))}this.viewState.update(r,f),this.bidiCache=Ss.update(this.bidiCache,r.changes),r.empty||(this.updatePlugins(r),this.inputState.update(r)),t=this.docView.update(r),this.state.facet(Bn)!=this.styleModules&&this.mountStyles(),n=this.updateAttrs(),this.showAnnouncements(e),this.docView.updateSelection(t,e.some(u=>u.isUserEvent("select.pointer")))}finally{this.updateState=0}if(r.startState.facet(ss)!=r.state.facet(ss)&&(this.viewState.mustMeasureContent=!0),(t||n||f||this.viewState.mustEnforceCursorAssoc||this.viewState.mustMeasureContent)&&this.requestMeasure(),t&&this.docViewUpdate(),!r.empty)for(let u of this.state.facet(ga))try{u(r)}catch(O){ht(this.state,O,"update listener")}(l||h)&&Promise.resolve().then(()=>{l&&this.state==l.startState&&this.dispatch(l),h&&!vu(this,h)&&c.force&&un(this.contentDOM,c.key,c.keyCode)})}setState(e){if(this.updateState!=0)throw new Error("Calls to EditorView.setState are not allowed while an update is in progress");if(this.destroyed){this.viewState.state=e;return}this.updateState=2;let t=this.hasFocus;try{for(let n of this.plugins)n.destroy(this);this.viewState=new bs(this,e),this.plugins=e.facet(cn).map(n=>new Kn(n)),this.pluginMap.clear();for(let n of this.plugins)n.update(this);this.docView.destroy(),this.docView=new ds(this),this.inputState.ensureHandlers(this.plugins),this.mountStyles(),this.updateAttrs(),this.bidiCache=[]}finally{this.updateState=0}t&&this.focus(),this.requestMeasure()}updatePlugins(e){let t=e.startState.facet(cn),n=e.state.facet(cn);if(t!=n){let r=[];for(let s of n){let o=t.indexOf(s);if(o<0)r.push(new Kn(s));else{let a=this.plugins[o];a.mustUpdate=e,r.push(a)}}for(let s of this.plugins)s.mustUpdate!=e&&s.destroy(this);this.plugins=r,this.pluginMap.clear()}else for(let r of this.plugins)r.mustUpdate=e;for(let r=0;r-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.observer.delayedAndroidKey){this.measureScheduled=-1,this.requestMeasure();return}this.measureScheduled=0,e&&this.observer.forceFlush();let t=null,n=this.viewState.scrollParent,r=this.viewState.getScrollOffset(),{scrollAnchorPos:s,scrollAnchorHeight:o}=this.viewState;Math.abs(r-this.viewState.scrollOffset)>1&&(o=-1),this.viewState.scrollAnchorHeight=-1;try{for(let a=0;;a++){if(o<0)if(eu(n||this.win))s=-1,o=this.viewState.heightMap.height;else{let O=this.viewState.scrollAnchorAt(r);s=O.from,o=O.top}this.updateState=1;let l=this.viewState.measure();if(!l&&!this.measureRequests.length&&this.viewState.scrollTarget==null)break;if(a>5){console.warn(this.measureRequests.length?"Measure loop restarted more than 5 times":"Viewport failed to stabilize");break}let c=[];l&4||([this.measureRequests,c]=[c,this.measureRequests]);let h=c.map(O=>{try{return O.read(this)}catch(m){return ht(this.state,m),Bf}}),f=us.create(this,this.state,[]),u=!1;f.flags|=l,t?t.flags|=l:t=f,this.updateState=2,f.empty||(this.updatePlugins(f),this.inputState.update(f),this.updateAttrs(),u=this.docView.update(f),u&&this.docViewUpdate());for(let O=0;O1||m<-1)&&!(L.ios&&this.inputState.lastIOSMomentumScroll>Date.now()-100)&&(n==this.scrollDOM||this.hasFocus||Math.max(this.inputState.lastWheelEvent,this.inputState.lastTouchTime)>Date.now()-100)){r=r+m,n?n.scrollTop+=m:this.win.scrollBy(0,m),o=-1;continue}}break}}}finally{this.updateState=0,this.measureScheduled=-1}if(t&&!t.empty)for(let a of this.state.facet(ga))a(t)}get themeClasses(){return ja+" "+(this.state.facet(Wa)?zu:qu)+" "+this.state.facet(ss)}updateAttrs(){let e=Uf(this,gu,{class:"cm-editor"+(this.hasFocus?" cm-focused ":" ")+this.themeClasses}),t={spellcheck:"false",autocorrect:"off",autocapitalize:"off",writingsuggestions:"false",translate:"no",contenteditable:this.state.facet(Mt)?"true":"false",class:"cm-content",style:`${L.tabSize}: ${this.state.tabSize}`,role:"textbox","aria-multiline":"true"};this.state.readOnly&&(t["aria-readonly"]="true"),Uf(this,Ha,t);let n=this.observer.ignore(()=>{let r=Pf(this.contentDOM,this.contentAttrs,t),s=Pf(this.dom,this.editorAttrs,e);return r||s});return this.editorAttrs=e,this.contentAttrs=t,n}showAnnouncements(e){let t=!0;for(let n of e)for(let r of n.effects)if(r.is(i.announce)){t&&(this.announceDOM.textContent=""),t=!1;let s=this.announceDOM.appendChild(document.createElement("div"));s.textContent=r.value}}mountStyles(){this.styleModules=this.state.facet(Bn);let e=this.state.facet(i.cspNonce);ot.mount(this.root,this.styleModules.concat(qQ).reverse(),e?{nonce:e}:void 0)}readMeasured(){if(this.updateState==2)throw new Error("Reading the editor layout isn't allowed during an update");this.updateState==0&&this.measureScheduled>-1&&this.measure(!1)}requestMeasure(e){if(this.measureScheduled<0&&(this.measureScheduled=this.win.requestAnimationFrame(()=>this.measure())),e){if(this.measureRequests.indexOf(e)>-1)return;if(e.key!=null){for(let t=0;tn.plugin==e)||null),t&&t.update(this).value}get documentTop(){return this.contentDOM.getBoundingClientRect().top+this.viewState.paddingTop}get documentPadding(){return{top:this.viewState.paddingTop,bottom:this.viewState.paddingBottom}}get scaleX(){return this.viewState.scaleX}get scaleY(){return this.viewState.scaleY}elementAtHeight(e){return this.readMeasured(),this.viewState.elementAtHeight(e)}lineBlockAtHeight(e){return this.readMeasured(),this.viewState.lineBlockAtHeight(e)}get viewportLineBlocks(){return this.viewState.viewportLines}lineBlockAt(e){return this.viewState.lineBlockAt(e)}get contentHeight(){return this.viewState.contentHeight}moveByChar(e,t,n){return oa(this,e,_f(this,e,t,n))}moveByGroup(e,t){return oa(this,e,_f(this,e,t,n=>oQ(this,e.head,n)))}visualLineSide(e,t){let n=this.bidiSpans(e),r=this.textDirectionAt(e.from),s=n[t?n.length-1:0];return v.cursor(s.side(t,r)+e.from,s.forward(!t,r)?1:-1)}moveToLineBoundary(e,t,n=!0){return sQ(this,e,t,n)}moveVertically(e,t,n){return oa(this,e,aQ(this,e,t,n))}domAtPos(e,t=1){return this.docView.domAtPos(e,t)}posAtDOM(e,t=0){return this.docView.posFromDOM(e,t)}posAtCoords(e,t=!0){this.readMeasured();let n=va(this,e,t);return n&&n.pos}posAndSideAtCoords(e,t=!0){return this.readMeasured(),va(this,e,t)}coordsAtPos(e,t=1){this.readMeasured();let n=this.state.doc.lineAt(e),r=this.bidiSpans(n),s=r[ct.find(r,e-n.from,-1,t)];return this.docView.coordsAt(e,t,s.dir==Oe.RTL)}coordsForChar(e){return this.readMeasured(),this.docView.coordsForChar(e)}get defaultCharacterWidth(){return this.viewState.heightOracle.charWidth}get defaultLineHeight(){return this.viewState.heightOracle.lineHeight}get textDirection(){return this.viewState.defaultTextDirection}textDirectionAt(e){return!this.state.facet(du)||ethis.viewport.to?this.textDirection:(this.readMeasured(),this.docView.textDirectionAt(e))}get lineWrapping(){return this.viewState.heightOracle.lineWrapping}bidiSpans(e){if(e.length>MQ)return ou(e.length);let t=this.textDirectionAt(e.from),n;for(let s of this.bidiCache)if(s.from==e.from&&s.dir==t&&(s.fresh||su(s.isolates,n=Tf(this,e))))return s.order;n||(n=Tf(this,e));let r=z0(e.text,t,n);return this.bidiCache.push(new Ss(e.from,e.to,t,n,!0,r)),r}get hasFocus(){var e;return(this.dom.ownerDocument.hasFocus()||L.safari&&((e=this.inputState)===null||e===void 0?void 0:e.lastContextMenu)>Date.now()-3e4)&&this.root.activeElement==this.contentDOM}focus(){this.observer.ignore(()=>{Jf(this.contentDOM),this.docView.updateSelection()})}setRoot(e){this._root!=e&&(this._root=e,this.observer.setWindow((e.nodeType==9?e:e.ownerDocument).defaultView||window),this.mountStyles())}destroy(){this.root.activeElement==this.contentDOM&&this.contentDOM.blur();for(let e of this.plugins)e.destroy(this);this.plugins=[],this.inputState.destroy(),this.docView.destroy(),this.dom.remove(),this.observer.destroy(),this.measureScheduled>-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.destroyed=!0}static scrollIntoView(e,t={}){var n,r,s,o;return es.of(new Hn(typeof e=="number"?v.cursor(e):e,(n=t.y)!==null&&n!==void 0?n:"nearest",(r=t.x)!==null&&r!==void 0?r:"nearest",(s=t.yMargin)!==null&&s!==void 0?s:5,(o=t.xMargin)!==null&&o!==void 0?o:5))}scrollSnapshot(){let{scrollTop:e,scrollLeft:t}=this.scrollDOM,n=this.viewState.scrollAnchorAt(e);return es.of(new Hn(v.cursor(n.from),"start","start",n.top-e,t,!0))}setTabFocusMode(e){e==null?this.inputState.tabFocusMode=this.inputState.tabFocusMode<0?0:-1:typeof e=="boolean"?this.inputState.tabFocusMode=e?0:-1:this.inputState.tabFocusMode!=0&&(this.inputState.tabFocusMode=Date.now()+e)}static domEventHandlers(e){return De.define(()=>({}),{eventHandlers:e})}static domEventObservers(e){return De.define(()=>({}),{eventObservers:e})}static theme(e,t){let n=ot.newName(),r=[ss.of(n),Bn.of(Va(`.${n}`,e))];return t&&t.dark&&r.push(Wa.of(!0)),r}static baseTheme(e){return st.lowest(Bn.of(Va("."+ja,e,Lu)))}static findFromDOM(e){var t;let n=e.querySelector(".cm-content"),r=n&&ue.get(n)||ue.get(e);return((t=r?.root)===null||t===void 0?void 0:t.view)||null}};q.styleModule=Bn;q.inputHandler=uu;q.clipboardInputFilter=Na;q.clipboardOutputFilter=Fa;q.scrollHandler=pu;q.focusChangeEffect=Ou;q.perLineTextDirection=du;q.exceptionSink=fu;q.updateListener=ga;q.editable=Mt;q.mouseSelectionStyle=hu;q.dragMovesSelection=cu;q.clickAddsSelectionRange=lu;q.decorations=ks;q.blockWrappers=Qu;q.outerDecorations=Ka;q.atomicRanges=or;q.bidiIsolatedRanges=bu;q.cursorScrollMargin=Y.define({combine:i=>{let e=5,t=5;for(let n of i)typeof n=="number"?e=t=n:{x:e,y:t}=n;return{x:e,y:t}}});q.scrollMargins=Su;q.darkTheme=Wa;q.cspNonce=Y.define({combine:i=>i.length?i[0]:""});q.contentAttributes=Ha;q.editorAttributes=gu;q.lineWrapping=q.contentAttributes.of({class:"cm-lineWrapping"});q.announce=ie.define();var MQ=4096,Bf={},Ss=class i{constructor(e,t,n,r,s,o){this.from=e,this.to=t,this.dir=n,this.isolates=r,this.fresh=s,this.order=o}static update(e,t){if(t.empty&&!e.some(s=>s.fresh))return e;let n=[],r=e.length?e[e.length-1].dir:Oe.LTR;for(let s=Math.max(0,e.length-10);s=0;r--){let s=n[r],o=typeof s=="function"?s(i):s;o&&Ba(o,t)}return t}var WQ=L.mac?"mac":L.windows?"win":L.linux?"linux":"key";function jQ(i,e){let t=i.split(/-(?!$)/),n=t[t.length-1];n=="Space"&&(n=" ");let r,s,o,a;for(let l=0;ln.concat(r),[]))),t}var si=null,YQ=4e3;function IQ(i,e=WQ){let t=Object.create(null),n=Object.create(null),r=(o,a)=>{let l=n[o];if(l==null)n[o]=a;else if(l!=a)throw new Error("Key binding "+o+" is used both as a regular binding and as a multi-stroke prefix")},s=(o,a,l,c,h)=>{var f,u;let O=t[o]||(t[o]=Object.create(null)),m=a.split(/ (?!$)/).map(g=>jQ(g,e));for(let g=1;g{let x=si={view:S,prefix:Q,scope:o};return setTimeout(()=>{si==x&&(si=null)},YQ),!0}]})}let p=m.join(" ");r(p,!1);let b=O[p]||(O[p]={preventDefault:!1,stopPropagation:!1,run:((u=(f=O._any)===null||f===void 0?void 0:f.run)===null||u===void 0?void 0:u.slice())||[]});l&&b.run.push(l),c&&(b.preventDefault=!0),h&&(b.stopPropagation=!0)};for(let o of i){let a=o.scope?o.scope.split(" "):["editor"];if(o.any)for(let c of a){let h=t[c]||(t[c]=Object.create(null));h._any||(h._any={preventDefault:!1,stopPropagation:!1,run:[]});let{any:f}=o;for(let u in h)h[u].run.push(O=>f(O,Ia))}let l=o[e]||o.key;if(l)for(let c of a)s(c,l,o.run,o.preventDefault,o.stopPropagation),o.shift&&s(c,"Shift-"+l,o.shift,o.preventDefault,o.stopPropagation)}return t}var Ia=null;function BQ(i,e,t,n){Ia=e;let r=yf(e),s=ri(r,0),o=on(s)==r.length&&r!=" ",a="",l=!1,c=!1,h=!1;si&&si.view==t&&si.scope==n&&(a=si.prefix+" ",Cu.indexOf(e.keyCode)<0&&(c=!0,si=null));let f=new Set,u=b=>{if(b){for(let g of b.run)if(!f.has(g)&&(f.add(g),g(t)))return b.stopPropagation&&(h=!0),!0;b.preventDefault&&(b.stopPropagation&&(h=!0),c=!0)}return!1},O=i[n],m,p;return O&&(u(O[a+os(r,e,!o)])?l=!0:o&&(e.altKey||e.metaKey||e.ctrlKey)&&!(L.windows&&e.ctrlKey&&e.altKey)&&!(L.mac&&e.altKey&&!(e.ctrlKey||e.metaKey))&&(m=Lt[e.keyCode])&&m!=r?(u(O[a+os(m,e,!0)])||e.shiftKey&&(p=an[e.keyCode])!=r&&p!=m&&u(O[a+os(p,e,!1)]))&&(l=!0):o&&e.shiftKey&&u(O[a+os(r,e,!0)])&&(l=!0),!l&&u(O._any)&&(l=!0)),c&&(l=!0),l&&h&&e.stopPropagation(),Ia=null,l}var Mu=ie.define({map(i,e){return i==null?null:e.mapPos(i)}}),Gn=fe.define({create(){return null},update(i,e){return i!=null&&(i=e.changes.mapPos(i)),e.effects.reduce((t,n)=>n.is(Mu)?n.value:t,i)}}),UQ=De.fromClass(class{constructor(i){this.view=i,this.cursor=null,this.measureReq={read:this.readPos.bind(this),write:this.drawCursor.bind(this)}}update(i){var e;let t=i.state.field(Gn);t==null?this.cursor!=null&&((e=this.cursor)===null||e===void 0||e.remove(),this.cursor=null):(this.cursor||(this.cursor=this.view.scrollDOM.appendChild(document.createElement("div")),this.cursor.className="cm-dropCursor"),(i.startState.field(Gn)!=t||i.docChanged||i.geometryChanged)&&this.view.requestMeasure(this.measureReq))}readPos(){let{view:i}=this,e=i.state.field(Gn),t=e!=null&&i.coordsAtPos(e);if(!t)return null;let n=i.scrollDOM.getBoundingClientRect();return{left:t.left-n.left+i.scrollDOM.scrollLeft*i.scaleX,top:t.top-n.top+i.scrollDOM.scrollTop*i.scaleY,height:t.bottom-t.top}}drawCursor(i){if(this.cursor){let{scaleX:e,scaleY:t}=this.view;i?(this.cursor.style.left=i.left/e+"px",this.cursor.style.top=i.top/t+"px",this.cursor.style.height=i.height/t+"px"):this.cursor.style.left="-100000px"}}destroy(){this.cursor&&this.cursor.remove()}setDropPos(i){this.view.state.field(Gn)!=i&&this.view.dispatch({effects:Mu.of(i)})}},{eventObservers:{dragover(i){this.setDropPos(this.view.posAtCoords({x:i.clientX,y:i.clientY}))},dragleave(i){(i.target==this.view.contentDOM||!this.view.contentDOM.contains(i.relatedTarget))&&this.setDropPos(null)},dragend(){this.setDropPos(null)},drop(){this.setDropPos(null)}}});function Wu(){return[Gn,UQ]}var h$=/x/.unicode!=null?"gu":"g";var Vt=class extends rt{compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}eq(e){return!1}destroy(e){}};Vt.prototype.elementClass="";Vt.prototype.toDOM=void 0;Vt.prototype.mapMode=ge.TrackBefore;Vt.prototype.startSide=Vt.prototype.endSide=-1;Vt.prototype.point=!0;var GQ=0,Ye=class{constructor(e,t){this.from=e,this.to=t}},I=class{constructor(e={}){this.id=GQ++,this.perNode=!!e.perNode,this.deserialize=e.deserialize||(()=>{throw new Error("This node type doesn't define a deserialize function")}),this.combine=e.combine||null}add(e){if(this.perNode)throw new RangeError("Can't add per-node props to node types");return typeof e!="function"&&(e=de.match(e)),t=>{let n=e(t);return n===void 0?null:[this,n]}}};I.closedBy=new I({deserialize:i=>i.split(" ")});I.openedBy=new I({deserialize:i=>i.split(" ")});I.group=new I({deserialize:i=>i.split(" ")});I.isolate=new I({deserialize:i=>{if(i&&i!="rtl"&&i!="ltr"&&i!="auto")throw new RangeError("Invalid value for isolate: "+i);return i||"auto"}});I.contextHash=new I({perNode:!0});I.lookAhead=new I({perNode:!0});I.mounted=new I({perNode:!0});var fi=class{constructor(e,t,n,r=!1){this.tree=e,this.overlay=t,this.parser=n,this.bracketed=r}static get(e){return e&&e.props&&e.props[I.mounted.id]}},NQ=Object.create(null),de=class i{constructor(e,t,n,r=0){this.name=e,this.props=t,this.id=n,this.flags=r}static define(e){let t=e.props&&e.props.length?Object.create(null):NQ,n=(e.top?1:0)|(e.skipped?2:0)|(e.error?4:0)|(e.name==null?8:0),r=new i(e.name||"",t,e.id,n);if(e.props){for(let s of e.props)if(Array.isArray(s)||(s=s(r)),s){if(s[0].perNode)throw new RangeError("Can't store a per-node prop on a node type");t[s[0].id]=s[1]}}return r}prop(e){return this.props[e.id]}get isTop(){return(this.flags&1)>0}get isSkipped(){return(this.flags&2)>0}get isError(){return(this.flags&4)>0}get isAnonymous(){return(this.flags&8)>0}is(e){if(typeof e=="string"){if(this.name==e)return!0;let t=this.prop(I.group);return t?t.indexOf(e)>-1:!1}return this.id==e}static match(e){let t=Object.create(null);for(let n in e)for(let r of n.split(" "))t[r]=e[n];return n=>{for(let r=n.prop(I.group),s=-1;s<(r?r.length:0);s++){let o=t[s<0?n.name:r[s]];if(o)return o}}}};de.none=new de("",Object.create(null),0,8);var Dt=class i{constructor(e){this.types=e;for(let t=0;t0;for(let l=this.cursor(o|te.IncludeAnonymous);;){let c=!1;if(l.from<=s&&l.to>=r&&(!a&&l.type.isAnonymous||t(l)!==!1)){if(l.firstChild())continue;c=!0}for(;c&&n&&(a||!l.type.isAnonymous)&&n(l),!l.nextSibling();){if(!l.parent())return;c=!0}}}prop(e){return e.perNode?this.props?this.props[e.id]:void 0:this.type.prop(e)}get propValues(){let e=[];if(this.props)for(let t in this.props)e.push([+t,this.props[t]]);return e}balance(e={}){return this.children.length<=8?this:hl(de.none,this.children,this.positions,0,this.children.length,0,this.length,(t,n,r)=>new i(this.type,t,n,r,this.propValues),e.makeTree||((t,n,r)=>new i(de.none,t,n,r)))}static build(e){return HQ(e)}};K.empty=new K(de.none,[],[],0);var el=class i{constructor(e,t){this.buffer=e,this.index=t}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}get pos(){return this.index}next(){this.index-=4}fork(){return new i(this.buffer,this.index)}},ui=class i{constructor(e,t,n){this.buffer=e,this.length=t,this.set=n}get type(){return de.none}toString(){let e=[];for(let t=0;t0));l=o[l+3]);return a}slice(e,t,n){let r=this.buffer,s=new Uint16Array(t-e),o=0;for(let a=e,l=0;a=e&&te;case 1:return t<=e&&n>e;case 2:return n>e;case 4:return!0}}function ar(i,e,t,n){for(var r;i.from==i.to||(t<1?i.from>=e:i.from>e)||(t>-1?i.to<=e:i.to0?a.length:-1;e!=c;e+=t){let h=a[e],f=l[e]+o.from,u;if(!(!(s&te.EnterBracketed&&h instanceof K&&(u=fi.get(h))&&!u.overlay&&u.bracketed&&n>=f&&n<=f+h.length)&&!Gu(r,n,f,f+h.length))){if(h instanceof ui){if(s&te.ExcludeBuffers)continue;let O=h.findChild(0,h.buffer.length,t,n-f,r);if(O>-1)return new zi(new il(o,h,e,f),null,O)}else if(s&te.IncludeAnonymous||!h.type.isAnonymous||cl(h)){let O;if(!(s&te.IgnoreMounts)&&(O=fi.get(h))&&!O.overlay)return new i(O.tree,f,e,o);let m=new i(h,f,e,o);return s&te.IncludeAnonymous||!m.type.isAnonymous?m:m.nextChild(t<0?h.children.length-1:0,t,n,r,s)}}}if(s&te.IncludeAnonymous||!o.type.isAnonymous||(o.index>=0?e=o.index+t:e=t<0?-1:o._parent._tree.children.length,o=o._parent,!o))return null}}get firstChild(){return this.nextChild(0,1,0,4)}get lastChild(){return this.nextChild(this._tree.children.length-1,-1,0,4)}childAfter(e){return this.nextChild(0,1,e,2)}childBefore(e){return this.nextChild(this._tree.children.length-1,-1,e,-2)}prop(e){return this._tree.prop(e)}enter(e,t,n=0){let r;if(!(n&te.IgnoreOverlays)&&(r=fi.get(this._tree))&&r.overlay){let s=e-this.from,o=n&te.EnterBracketed&&r.bracketed;for(let{from:a,to:l}of r.overlay)if((t>0||o?a<=s:a=s:l>s))return new i(r.tree,r.overlay[0].from+this.from,-1,this)}return this.nextChild(0,1,e,t,n)}nextSignificantParent(){let e=this;for(;e.type.isAnonymous&&e._parent;)e=e._parent;return e}get parent(){return this._parent?this._parent.nextSignificantParent():null}get nextSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index+1,1,0,4):null}get prevSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index-1,-1,0,4):null}get tree(){return this._tree}toTree(){return this._tree}toString(){return this._tree.toString()}};function Vu(i,e,t,n){let r=i.cursor(),s=[];if(!r.firstChild())return s;if(t!=null){for(let o=!1;!o;)if(o=r.type.is(t),!r.nextSibling())return s}for(;;){if(n!=null&&r.type.is(n))return s;if(r.type.is(e)&&s.push(r.node),!r.nextSibling())return n==null?s:[]}}function tl(i,e,t=e.length-1){for(let n=i;t>=0;n=n.parent){if(!n)return!1;if(!n.type.isAnonymous){if(e[t]&&e[t]!=n.name)return!1;t--}}return!0}var il=class{constructor(e,t,n,r){this.parent=e,this.buffer=t,this.index=n,this.start=r}},zi=class i extends vs{get name(){return this.type.name}get from(){return this.context.start+this.context.buffer.buffer[this.index+1]}get to(){return this.context.start+this.context.buffer.buffer[this.index+2]}constructor(e,t,n){super(),this.context=e,this._parent=t,this.index=n,this.type=e.buffer.set.types[e.buffer.buffer[n]]}child(e,t,n){let{buffer:r}=this.context,s=r.findChild(this.index+4,r.buffer[this.index+3],e,t-this.context.start,n);return s<0?null:new i(this.context,this,s)}get firstChild(){return this.child(1,0,4)}get lastChild(){return this.child(-1,0,4)}childAfter(e){return this.child(1,e,2)}childBefore(e){return this.child(-1,e,-2)}prop(e){return this.type.prop(e)}enter(e,t,n=0){if(n&te.ExcludeBuffers)return null;let{buffer:r}=this.context,s=r.findChild(this.index+4,r.buffer[this.index+3],t>0?1:-1,e-this.context.start,t);return s<0?null:new i(this.context,this,s)}get parent(){return this._parent||this.context.parent.nextSignificantParent()}externalSibling(e){return this._parent?null:this.context.parent.nextChild(this.context.index+e,e,0,4)}get nextSibling(){let{buffer:e}=this.context,t=e.buffer[this.index+3];return t<(this._parent?e.buffer[this._parent.index+3]:e.buffer.length)?new i(this.context,this._parent,t):this.externalSibling(1)}get prevSibling(){let{buffer:e}=this.context,t=this._parent?this._parent.index+4:0;return this.index==t?this.externalSibling(-1):new i(this.context,this._parent,e.findChild(t,this.index,-1,0,4))}get tree(){return null}toTree(){let e=[],t=[],{buffer:n}=this.context,r=this.index+4,s=n.buffer[this.index+3];if(s>r){let o=n.buffer[this.index+1];e.push(n.slice(r,s,o)),t.push(0)}return new K(this.type,e,t,this.to-this.from)}toString(){return this.context.buffer.childString(this.index)}};function Nu(i){if(!i.length)return null;let e=0,t=i[0];for(let s=1;st.from||o.to=e){let a=new Ie(o.tree,o.overlay[0].from+s.from,-1,s);(r||(r=[n])).push(ar(a,e,t,!1))}}return r?Nu(r):n}var Qn=class{get name(){return this.type.name}constructor(e,t=0){if(this.buffer=null,this.stack=[],this.index=0,this.bufferNode=null,this.mode=t&~te.EnterBracketed,e instanceof Ie)this.yieldNode(e);else{this._tree=e.context.parent,this.buffer=e.context;for(let n=e._parent;n;n=n._parent)this.stack.unshift(n.index);this.bufferNode=e,this.yieldBuf(e.index)}}yieldNode(e){return e?(this._tree=e,this.type=e.type,this.from=e.from,this.to=e.to,!0):!1}yieldBuf(e,t){this.index=e;let{start:n,buffer:r}=this.buffer;return this.type=t||r.set.types[r.buffer[e]],this.from=n+r.buffer[e+1],this.to=n+r.buffer[e+2],!0}yield(e){return e?e instanceof Ie?(this.buffer=null,this.yieldNode(e)):(this.buffer=e.context,this.yieldBuf(e.index,e.type)):!1}toString(){return this.buffer?this.buffer.buffer.childString(this.index):this._tree.toString()}enterChild(e,t,n){if(!this.buffer)return this.yield(this._tree.nextChild(e<0?this._tree._tree.children.length-1:0,e,t,n,this.mode));let{buffer:r}=this.buffer,s=r.findChild(this.index+4,r.buffer[this.index+3],e,t-this.buffer.start,n);return s<0?!1:(this.stack.push(this.index),this.yieldBuf(s))}firstChild(){return this.enterChild(1,0,4)}lastChild(){return this.enterChild(-1,0,4)}childAfter(e){return this.enterChild(1,e,2)}childBefore(e){return this.enterChild(-1,e,-2)}enter(e,t,n=this.mode){return this.buffer?n&te.ExcludeBuffers?!1:this.enterChild(1,e,t):this.yield(this._tree.enter(e,t,n))}parent(){if(!this.buffer)return this.yieldNode(this.mode&te.IncludeAnonymous?this._tree._parent:this._tree.parent);if(this.stack.length)return this.yieldBuf(this.stack.pop());let e=this.mode&te.IncludeAnonymous?this.buffer.parent:this.buffer.parent.nextSignificantParent();return this.buffer=null,this.yieldNode(e)}sibling(e){if(!this.buffer)return this._tree._parent?this.yield(this._tree.index<0?null:this._tree._parent.nextChild(this._tree.index+e,e,0,4,this.mode)):!1;let{buffer:t}=this.buffer,n=this.stack.length-1;if(e<0){let r=n<0?0:this.stack[n]+4;if(this.index!=r)return this.yieldBuf(t.findChild(r,this.index,-1,0,4))}else{let r=t.buffer[this.index+3];if(r<(n<0?t.buffer.length:t.buffer[this.stack[n]+3]))return this.yieldBuf(r)}return n<0?this.yield(this.buffer.parent.nextChild(this.buffer.index+e,e,0,4,this.mode)):!1}nextSibling(){return this.sibling(1)}prevSibling(){return this.sibling(-1)}atLastNode(e){let t,n,{buffer:r}=this;if(r){if(e>0){if(this.index-1)for(let s=t+e,o=e<0?-1:n._tree.children.length;s!=o;s+=e){let a=n._tree.children[s];if(this.mode&te.IncludeAnonymous||a instanceof ui||!a.type.isAnonymous||cl(a))return!1}return!0}move(e,t){if(t&&this.enterChild(e,0,4))return!0;for(;;){if(this.sibling(e))return!0;if(this.atLastNode(e)||!this.parent())return!1}}next(e=!0){return this.move(1,e)}prev(e=!0){return this.move(-1,e)}moveTo(e,t=0){for(;(this.from==this.to||(t<1?this.from>=e:this.from>e)||(t>-1?this.to<=e:this.to=0;){for(let o=e;o;o=o._parent)if(o.index==r){if(r==this.index)return o;t=o,n=s+1;break e}r=this.stack[--s]}for(let r=n;r=0;s--){if(s<0)return tl(this._tree,e,r);let o=n[t.buffer[this.stack[s]]];if(!o.isAnonymous){if(e[r]&&e[r]!=o.name)return!1;r--}}return!0}};function cl(i){return i.children.some(e=>e instanceof ui||!e.type.isAnonymous||cl(e))}function HQ(i){var e;let{buffer:t,nodeSet:n,maxBufferLength:r=1024,reused:s=[],minRepeatType:o=n.types.length}=i,a=Array.isArray(t)?new el(t,t.length):t,l=n.types,c=0,h=0;function f(P,$,Z,X,W,T){let{id:C,start:k,end:w,size:z}=a,N=h,y=c;if(z<0)if(a.next(),z==-1){let B=s[C];Z.push(B),X.push(k-P);return}else if(z==-3){c=C;return}else if(z==-4){h=C;return}else throw new RangeError(`Unrecognized record size: ${z}`);let j=l[C],ye,it,_=k-P;if(w-k<=r&&(it=b(a.pos-$,W))){let B=new Uint16Array(it.size-it.skip),F=a.pos-it.size,G=B.length;for(;a.pos>F;)G=g(it.start,B,G);ye=new ui(B,w-it.start,n),_=it.start-P}else{let B=a.pos-z;a.next();let F=[],G=[],ae=C>=o?C:-1,re=0,$e=w;for(;a.pos>B;)ae>=0&&a.id==ae&&a.size>=0?(a.end<=$e-r&&(m(F,G,k,re,a.end,$e,ae,N,y),re=F.length,$e=a.end),a.next()):T>2500?u(k,B,F,G):f(k,B,F,G,ae,T+1);if(ae>=0&&re>0&&re-1&&re>0){let Pi=O(j,y);ye=hl(j,F,G,0,F.length,0,w-k,Pi,Pi)}else ye=p(j,F,G,w-k,N-w,y)}Z.push(ye),X.push(_)}function u(P,$,Z,X){let W=[],T=0,C=-1;for(;a.pos>$;){let{id:k,start:w,end:z,size:N}=a;if(N>4)a.next();else{if(C>-1&&w=0;z-=3)k[N++]=W[z],k[N++]=W[z+1]-w,k[N++]=W[z+2]-w,k[N++]=N;Z.push(new ui(k,W[2]-w,n)),X.push(w-P)}}function O(P,$){return(Z,X,W)=>{let T=0,C=Z.length-1,k,w;if(C>=0&&(k=Z[C])instanceof K){if(!C&&k.type==P&&k.length==W)return k;(w=k.prop(I.lookAhead))&&(T=X[C]+k.length+w)}return p(P,Z,X,W,T,$)}}function m(P,$,Z,X,W,T,C,k,w){let z=[],N=[];for(;P.length>X;)z.push(P.pop()),N.push($.pop()+Z-W);P.push(p(n.types[C],z,N,T-W,k-T,w)),$.push(W-Z)}function p(P,$,Z,X,W,T,C){if(T){let k=[I.contextHash,T];C=C?[k].concat(C):[k]}if(W>25){let k=[I.lookAhead,W];C=C?[k].concat(C):[k]}return new K(P,$,Z,X,C)}function b(P,$){let Z=a.fork(),X=0,W=0,T=0,C=Z.end-r,k={size:0,start:0,skip:0};e:for(let w=Z.pos-P;Z.pos>w;){let z=Z.size;if(Z.id==$&&z>=0){k.size=X,k.start=W,k.skip=T,T+=4,X+=4,Z.next();continue}let N=Z.pos-z;if(z<0||N=o?4:0,j=Z.start;for(Z.next();Z.pos>N;){if(Z.size<0)if(Z.size==-3||Z.size==-4)y+=4;else break e;else Z.id>=o&&(y+=4);Z.next()}W=j,X+=z,T+=y}return($<0||X==P)&&(k.size=X,k.start=W,k.skip=T),k.size>4?k:void 0}function g(P,$,Z){let{id:X,start:W,end:T,size:C}=a;if(a.next(),C>=0&&X4){let w=a.pos-(C-4);for(;a.pos>w;)Z=g(P,$,Z)}$[--Z]=k,$[--Z]=T-P,$[--Z]=W-P,$[--Z]=X}else C==-3?c=X:C==-4&&(h=X);return Z}let Q=[],S=[];for(;a.pos>0;)f(i.start||0,i.bufferStart||0,Q,S,-1,0);let x=(e=i.length)!==null&&e!==void 0?e:Q.length?S[0]+Q[0].length:0;return new K(l[i.topID],Q.reverse(),S.reverse(),x)}var Du=new WeakMap;function Ps(i,e){if(!i.isAnonymous||e instanceof ui||e.type!=i)return 1;let t=Du.get(e);if(t==null){t=1;for(let n of e.children){if(n.type!=i||!(n instanceof K)){t=1;break}t+=Ps(i,n)}Du.set(e,t)}return t}function hl(i,e,t,n,r,s,o,a,l){let c=0;for(let m=n;m=h)break;$+=Z}if(S==x+1){if($>h){let Z=m[x];O(Z.children,Z.positions,0,Z.children.length,p[x]+Q);continue}f.push(m[x])}else{let Z=p[S-1]+m[S-1].length-P;f.push(hl(i,m,p,x,S,P,Z,null,l))}u.push(P+Q-s)}}return O(e,t,n,r,0),(a||l)(f,u,o)}var Oi=class{constructor(){this.map=new WeakMap}setBuffer(e,t,n){let r=this.map.get(e);r||this.map.set(e,r=new Map),r.set(t,n)}getBuffer(e,t){let n=this.map.get(e);return n&&n.get(t)}set(e,t){e instanceof zi?this.setBuffer(e.context.buffer,e.index,t):e instanceof Ie&&this.map.set(e.tree,t)}get(e){return e instanceof zi?this.getBuffer(e.context.buffer,e.index):e instanceof Ie?this.map.get(e.tree):void 0}cursorSet(e,t){e.buffer?this.setBuffer(e.buffer.buffer,e.index,t):this.map.set(e.tree,t)}cursorGet(e){return e.buffer?this.getBuffer(e.buffer.buffer,e.index):this.map.get(e.tree)}},Yt=class i{constructor(e,t,n,r,s=!1,o=!1){this.from=e,this.to=t,this.tree=n,this.offset=r,this.open=(s?1:0)|(o?2:0)}get openStart(){return(this.open&1)>0}get openEnd(){return(this.open&2)>0}static addTree(e,t=[],n=!1){let r=[new i(0,e.length,e,0,!1,n)];for(let s of t)s.to>e.length&&r.push(s);return r}static applyChanges(e,t,n=128){if(!t.length)return e;let r=[],s=1,o=e.length?e[0]:null;for(let a=0,l=0,c=0;;a++){let h=a=n)for(;o&&o.from=u.from||f<=u.to||c){let O=Math.max(u.from,l)-c,m=Math.min(u.to,f)-c;u=O>=m?null:new i(O,m,u.tree,u.offset+c,a>0,!!h)}if(u&&r.push(u),o.to>f)break;o=snew Ye(r.from,r.to)):[new Ye(0,0)]:[new Ye(0,e.length)],this.createParse(e,t||[],n)}parse(e,t,n){let r=this.startParse(e,t,n);for(;;){let s=r.advance();if(s)return s}}},rl=class{constructor(e){this.string=e}get length(){return this.string.length}chunk(e){return this.string.slice(e)}get lineChunks(){return!1}read(e,t){return this.string.slice(e,t)}};function bn(i){return(e,t,n,r)=>new al(e,i,t,n,r)}var $s=class{constructor(e,t,n,r,s,o){this.parser=e,this.parse=t,this.overlay=n,this.bracketed=r,this.target=s,this.from=o}};function Yu(i){if(!i.length||i.some(e=>e.from>=e.to))throw new RangeError("Invalid inner parse ranges given: "+JSON.stringify(i))}var sl=class{constructor(e,t,n,r,s,o,a,l){this.parser=e,this.predicate=t,this.mounts=n,this.index=r,this.start=s,this.bracketed=o,this.target=a,this.prev=l,this.depth=0,this.ranges=[]}},ol=new I({perNode:!0}),al=class{constructor(e,t,n,r,s){this.nest=t,this.input=n,this.fragments=r,this.ranges=s,this.inner=[],this.innerDone=0,this.baseTree=null,this.stoppedAt=null,this.baseParse=e}advance(){if(this.baseParse){let n=this.baseParse.advance();if(!n)return null;if(this.baseParse=null,this.baseTree=n,this.startInner(),this.stoppedAt!=null)for(let r of this.inner)r.parse.stopAt(this.stoppedAt)}if(this.innerDone==this.inner.length){let n=this.baseTree;return this.stoppedAt!=null&&(n=new K(n.type,n.children,n.positions,n.length,n.propValues.concat([[ol,this.stoppedAt]]))),n}let e=this.inner[this.innerDone],t=e.parse.advance();if(t){this.innerDone++;let n=Object.assign(Object.create(null),e.target.props);n[I.mounted.id]=new fi(t,e.overlay,e.parser,e.bracketed),e.target.props=n}return null}get parsedPos(){if(this.baseParse)return 0;let e=this.input.length;for(let t=this.innerDone;t=this.stoppedAt)a=!1;else if(e.hasNode(r)){if(t){let c=t.mounts.find(h=>h.frag.from<=r.from&&h.frag.to>=r.to&&h.mount.overlay);if(c)for(let h of c.mount.overlay){let f=h.from+c.pos,u=h.to+c.pos;f>=r.from&&u<=r.to&&!t.ranges.some(O=>O.fromf)&&t.ranges.push({from:f,to:u})}}a=!1}else if(n&&(o=KQ(n.ranges,r.from,r.to)))a=o!=2;else if(!r.type.isAnonymous&&(s=this.nest(r,this.input))&&(r.fromnew Ye(f.from-r.from,f.to-r.from)):null,!!s.bracketed,r.tree,h.length?h[0].from:r.from)),s.overlay?h.length&&(n={ranges:h,depth:0,prev:n}):a=!1}}else if(t&&(l=t.predicate(r))&&(l===!0&&(l=new Ye(r.from,r.to)),l.from=0&&t.ranges[c].to==l.from?t.ranges[c]={from:t.ranges[c].from,to:l.to}:t.ranges.push(l)}if(a&&r.firstChild())t&&t.depth++,n&&n.depth++;else for(;!r.nextSibling();){if(!r.parent())break e;if(t&&!--t.depth){let c=Bu(this.ranges,t.ranges);c.length&&(Yu(c),this.inner.splice(t.index,0,new $s(t.parser,t.parser.startParse(this.input,Uu(t.mounts,c),c),t.ranges.map(h=>new Ye(h.from-t.start,h.to-t.start)),t.bracketed,t.target,c[0].from))),t=t.prev}n&&!--n.depth&&(n=n.prev)}}}};function KQ(i,e,t){for(let n of i){if(n.from>=t)break;if(n.to>e)return n.from<=e&&n.to>=t?2:1}return 0}function Iu(i,e,t,n,r,s){if(e=e&&t.enter(n,1,te.IgnoreOverlays|te.ExcludeBuffers)))if(t.to<=e)t.next(!1)||(this.done=!0);else break}hasNode(e){if(this.moveTo(e.from),!this.done&&this.cursor.from+this.offset==e.from&&this.cursor.tree)for(let t=this.cursor.tree;;){if(t==e.tree)return!0;if(t.children.length&&t.positions[0]==0&&t.children[0]instanceof K)t=t.children[0];else break}return!1}},ll=class{constructor(e){var t;if(this.fragments=e,this.curTo=0,this.fragI=0,e.length){let n=this.curFrag=e[0];this.curTo=(t=n.tree.prop(ol))!==null&&t!==void 0?t:n.to,this.inner=new Ts(n.tree,-n.offset)}else this.curFrag=this.inner=null}hasNode(e){for(;this.curFrag&&e.from>=this.curTo;)this.nextFrag();return this.curFrag&&this.curFrag.from<=e.from&&this.curTo>=e.to&&this.inner.hasNode(e)}nextFrag(){var e;if(this.fragI++,this.fragI==this.fragments.length)this.curFrag=this.inner=null;else{let t=this.curFrag=this.fragments[this.fragI];this.curTo=(e=t.tree.prop(ol))!==null&&e!==void 0?e:t.to,this.inner=new Ts(t.tree,-t.offset)}}findMounts(e,t){var n;let r=[];if(this.inner){this.inner.cursor.moveTo(e,1);for(let s=this.inner.cursor.node;s;s=s.parent){let o=(n=s.tree)===null||n===void 0?void 0:n.prop(I.mounted);if(o&&o.parser==t)for(let a=this.fragI;a=s.to)break;l.tree==this.curFrag.tree&&r.push({frag:l,pos:s.from-l.offset,mount:o})}}}return r}};function Bu(i,e){let t=null,n=e;for(let r=1,s=0;r=a)break;l.to<=o||(t||(n=t=e.slice()),l.froma&&t.splice(s+1,0,new Ye(a,l.to))):l.to>a?t[s--]=new Ye(a,l.to):t.splice(s--,1))}}return n}function eb(i,e,t,n){let r=0,s=0,o=!1,a=!1,l=-1e9,c=[];for(;;){let h=r==i.length?1e9:o?i[r].to:i[r].from,f=s==e.length?1e9:a?e[s].to:e[s].from;if(o!=a){let u=Math.max(l,t),O=Math.min(h,f,n);unew Ye(u.from+n,u.to+n)),f=eb(e,h,l,c);for(let u=0,O=l;;u++){let m=u==f.length,p=m?c:f[u].from;if(p>O&&t.push(new Yt(O,p,r.tree,-o,s.from>=O||s.openStart,s.to<=p||s.openEnd)),m)break;O=f[u].to}}else t.push(new Yt(l,c,r.tree,-o,s.from>=o||s.openStart,s.to<=a||s.openEnd))}return t}var tb=0,Ke=class i{constructor(e,t,n,r){this.name=e,this.set=t,this.base=n,this.modified=r,this.id=tb++}toString(){let{name:e}=this;for(let t of this.modified)t.name&&(e=`${t.name}(${e})`);return e}static define(e,t){let n=typeof e=="string"?e:"?";if(e instanceof i&&(t=e),t?.base)throw new Error("Can not derive from a modified tag");let r=new i(n,[],null,[]);if(r.set.push(r),t)for(let s of t.set)r.set.push(s);return r}static defineModifier(e){let t=new Rs(e);return n=>n.modified.indexOf(t)>-1?n:Rs.get(n.base||n,n.modified.concat(t).sort((r,s)=>r.id-s.id))}},ib=0,Rs=class i{constructor(e){this.name=e,this.instances=[],this.id=ib++}static get(e,t){if(!t.length)return e;let n=t[0].instances.find(a=>a.base==e&&nb(t,a.modified));if(n)return n;let r=[],s=new Ke(e.name,r,e,t);for(let a of t)a.instances.push(s);let o=rb(t);for(let a of e.set)if(!a.modified.length)for(let l of o)r.push(i.get(a,l));return s}};function nb(i,e){return i.length==e.length&&i.every((t,n)=>t==e[n])}function rb(i){let e=[[]];for(let t=0;tn.length-t.length)}function Qe(i){let e=Object.create(null);for(let t in i){let n=i[t];Array.isArray(n)||(n=[n]);for(let r of t.split(" "))if(r){let s=[],o=2,a=r;for(let f=0;;){if(a=="..."&&f>0&&f+3==r.length){o=1;break}let u=/^"(?:[^"\\]|\\.)*?"|[^\/!]+/.exec(a);if(!u)throw new RangeError("Invalid path: "+r);if(s.push(u[0]=="*"?"":u[0][0]=='"'?JSON.parse(u[0]):u[0]),f+=u[0].length,f==r.length)break;let O=r[f++];if(f==r.length&&O=="!"){o=0;break}if(O!="/")throw new RangeError("Invalid path: "+r);a=r.slice(f)}let l=s.length-1,c=s[l];if(!c)throw new RangeError("Invalid path: "+r);let h=new Mi(n,o,l>0?s.slice(0,l):null);e[c]=h.sort(e[c])}}return Ku.add(e)}var Ku=new I({combine(i,e){let t,n,r;for(;i||e;){if(!i||e&&i.depth>=e.depth?(r=e,e=e.next):(r=i,i=i.next),t&&t.mode==r.mode&&!r.context&&!t.context)continue;let s=new Mi(r.tags,r.mode,r.context);t?t.next=s:n=s,t=s}return n}}),Mi=class{constructor(e,t,n,r){this.tags=e,this.mode=t,this.context=n,this.next=r}get opaque(){return this.mode==0}get inherit(){return this.mode==1}sort(e){return!e||e.depth{let o=r;for(let a of s)for(let l of a.set){let c=t[l.id];if(c){o=o?o+" "+c:c;break}}return o},scope:n}}function sb(i,e){let t=null;for(let n of i){let r=n.style(e);r&&(t=t?t+" "+r:r)}return t}function As(i,e,t,n=0,r=i.length){let s=new ul(n,Array.isArray(e)?e:[e],t);s.highlightRange(i.cursor(),n,r,"",s.highlighters),s.flush(r)}var ul=class{constructor(e,t,n){this.at=e,this.highlighters=t,this.span=n,this.class=""}startSpan(e,t){t!=this.class&&(this.flush(e),e>this.at&&(this.at=e),this.class=t)}flush(e){e>this.at&&this.class&&this.span(this.at,e,this.class)}highlightRange(e,t,n,r,s){let{type:o,from:a,to:l}=e;if(a>=n||l<=t)return;o.isTop&&(s=this.highlighters.filter(O=>!O.scope||O.scope(o)));let c=r,h=ob(e)||Mi.empty,f=sb(s,h.tags);if(f&&(c&&(c+=" "),c+=f,h.mode==1&&(r+=(r?" ":"")+f)),this.startSpan(Math.max(t,a),c),h.opaque)return;let u=e.tree&&e.tree.prop(I.mounted);if(u&&u.overlay){let O=e.node.enter(u.overlay[0].from+a,1),m=this.highlighters.filter(b=>!b.scope||b.scope(u.tree.type)),p=e.firstChild();for(let b=0,g=a;;b++){let Q=b=S||!e.nextSibling())););if(!Q||S>n)break;g=Q.to+a,g>t&&(this.highlightRange(O.cursor(),Math.max(t,Q.from+a),Math.min(n,g),"",m),this.startSpan(Math.min(n,g),c))}p&&e.parent()}else if(e.firstChild()){u&&(r="");do if(!(e.to<=t)){if(e.from>=n)break;this.highlightRange(e,t,n,r,s),this.startSpan(Math.min(n,e.to),c)}while(e.nextSibling());e.parent()}}};function ob(i){let e=i.type.prop(Ku);for(;e&&e.context&&!i.matchContext(e.context);)e=e.next;return e||null}var E=Ke.define,Cs=E(),di=E(),Fu=E(di),Hu=E(di),pi=E(),Xs=E(pi),fl=E(pi),At=E(),Li=E(At),_t=E(),Rt=E(),Ol=E(),lr=E(Ol),_s=E(),d={comment:Cs,lineComment:E(Cs),blockComment:E(Cs),docComment:E(Cs),name:di,variableName:E(di),typeName:Fu,tagName:E(Fu),propertyName:Hu,attributeName:E(Hu),className:E(di),labelName:E(di),namespace:E(di),macroName:E(di),literal:pi,string:Xs,docString:E(Xs),character:E(Xs),attributeValue:E(Xs),number:fl,integer:E(fl),float:E(fl),bool:E(pi),regexp:E(pi),escape:E(pi),color:E(pi),url:E(pi),keyword:_t,self:E(_t),null:E(_t),atom:E(_t),unit:E(_t),modifier:E(_t),operatorKeyword:E(_t),controlKeyword:E(_t),definitionKeyword:E(_t),moduleKeyword:E(_t),operator:Rt,derefOperator:E(Rt),arithmeticOperator:E(Rt),logicOperator:E(Rt),bitwiseOperator:E(Rt),compareOperator:E(Rt),updateOperator:E(Rt),definitionOperator:E(Rt),typeOperator:E(Rt),controlOperator:E(Rt),punctuation:Ol,separator:E(Ol),bracket:lr,angleBracket:E(lr),squareBracket:E(lr),paren:E(lr),brace:E(lr),content:At,heading:Li,heading1:E(Li),heading2:E(Li),heading3:E(Li),heading4:E(Li),heading5:E(Li),heading6:E(Li),contentSeparator:E(At),list:E(At),quote:E(At),emphasis:E(At),strong:E(At),link:E(At),monospace:E(At),strikethrough:E(At),inserted:E(),deleted:E(),changed:E(),invalid:E(),meta:_s,documentMeta:E(_s),annotation:E(_s),processingInstruction:E(_s),definition:Ke.defineModifier("definition"),constant:Ke.defineModifier("constant"),function:Ke.defineModifier("function"),standard:Ke.defineModifier("standard"),local:Ke.defineModifier("local"),special:Ke.defineModifier("special")};for(let i in d){let e=d[i];e instanceof Ke&&(e.name=i)}var m$=dl([{tag:d.link,class:"tok-link"},{tag:d.heading,class:"tok-heading"},{tag:d.emphasis,class:"tok-emphasis"},{tag:d.strong,class:"tok-strong"},{tag:d.keyword,class:"tok-keyword"},{tag:d.atom,class:"tok-atom"},{tag:d.bool,class:"tok-bool"},{tag:d.url,class:"tok-url"},{tag:d.labelName,class:"tok-labelName"},{tag:d.inserted,class:"tok-inserted"},{tag:d.deleted,class:"tok-deleted"},{tag:d.literal,class:"tok-literal"},{tag:d.string,class:"tok-string"},{tag:d.number,class:"tok-number"},{tag:[d.regexp,d.escape,d.special(d.string)],class:"tok-string2"},{tag:d.variableName,class:"tok-variableName"},{tag:d.local(d.variableName),class:"tok-variableName tok-local"},{tag:d.definition(d.variableName),class:"tok-variableName tok-definition"},{tag:d.special(d.variableName),class:"tok-variableName2"},{tag:d.definition(d.propertyName),class:"tok-propertyName tok-definition"},{tag:d.typeName,class:"tok-typeName"},{tag:d.namespace,class:"tok-namespace"},{tag:d.className,class:"tok-className"},{tag:d.macroName,class:"tok-macroName"},{tag:d.propertyName,class:"tok-propertyName"},{tag:d.operator,class:"tok-operator"},{tag:d.comment,class:"tok-comment"},{tag:d.meta,class:"tok-meta"},{tag:d.invalid,class:"tok-invalid"},{tag:d.punctuation,class:"tok-punctuation"}]);var pl,yt=new I;function kn(i){return Y.define({combine:i?e=>e.concat(i):void 0})}var zs=new I,we=class{constructor(e,t,n=[],r=""){this.data=e,this.name=r,se.prototype.hasOwnProperty("tree")||Object.defineProperty(se.prototype,"tree",{get(){return U(this)}}),this.parser=t,this.extension=[Sn.of(this),se.languageData.of((s,o,a)=>{let l=Ju(s,o,a),c=l.type.prop(yt);if(!c)return[];let h=s.facet(c),f=l.type.prop(zs);if(f){let u=l.resolve(o-l.from,a);for(let O of f)if(O.test(u,s)){let m=s.facet(O.facet);return O.type=="replace"?m:m.concat(h)}}return h})].concat(n)}isActiveAt(e,t,n=-1){return Ju(e,t,n).type.prop(yt)==this.data}findRegions(e){let t=e.facet(Sn);if(t?.data==this.data)return[{from:0,to:e.doc.length}];if(!t||!t.allowsNesting)return[];let n=[],r=(s,o)=>{if(s.prop(yt)==this.data){n.push({from:o,to:o+s.length});return}let a=s.prop(I.mounted);if(a){if(a.tree.prop(yt)==this.data){if(a.overlay)for(let l of a.overlay)n.push({from:l.from+o,to:l.to+o});else n.push({from:o,to:o+s.length});return}else if(a.overlay){let l=n.length;if(r(a.tree,a.overlay[0].from+o),n.length>l)return}}for(let l=0;ln.isTop?t:void 0)]}),e.name)}configure(e,t){return new i(this.data,this.parser.configure(e),t||this.name)}get allowsNesting(){return this.parser.hasWrappers()}};function U(i){let e=i.field(we.state,!1);return e?e.tree:K.empty}function Ls(i,e,t=50){var n;let r=(n=i.field(we.state,!1))===null||n===void 0?void 0:n.context;if(!r)return null;let s=r.viewport;r.updateViewport({from:0,to:e});let o=r.isDone(e)||r.work(t,e)?r.tree:null;return r.updateViewport(s),o}function sO(i,e=i.doc.length){var t;return((t=i.field(we.state,!1))===null||t===void 0?void 0:t.context.isDone(e))||!1}var bl=class{constructor(e){this.doc=e,this.cursorPos=0,this.string="",this.cursor=e.iter()}get length(){return this.doc.length}syncTo(e){return this.string=this.cursor.next(e-this.cursorPos).value,this.cursorPos=e+this.string.length,this.cursorPos-this.string.length}chunk(e){return this.syncTo(e),this.string}get lineChunks(){return!0}read(e,t){let n=this.cursorPos-this.string.length;return e=this.cursorPos?this.doc.sliceString(e,t):this.string.slice(e-n,t-n)}},cr=null,Wi=class i{constructor(e,t,n=[],r,s,o,a,l){this.parser=e,this.state=t,this.fragments=n,this.tree=r,this.treeLen=s,this.viewport=o,this.skipped=a,this.scheduleOn=l,this.parse=null,this.tempSkipped=[]}static create(e,t,n){return new i(e,t,[],K.empty,0,n,[],null)}startParse(){return this.parser.startParse(new bl(this.state.doc),this.fragments)}work(e,t){return t!=null&&t>=this.state.doc.length&&(t=void 0),this.tree!=K.empty&&this.isDone(t??this.state.doc.length)?(this.takeTree(),!0):this.withContext(()=>{var n;if(typeof e=="number"){let r=Date.now()+e;e=()=>Date.now()>r}for(this.parse||(this.parse=this.startParse()),t!=null&&(this.parse.stoppedAt==null||this.parse.stoppedAt>t)&&t=this.treeLen&&((this.parse.stoppedAt==null||this.parse.stoppedAt>e)&&this.parse.stopAt(e),this.withContext(()=>{for(;!(t=this.parse.advance()););}),this.treeLen=e,this.tree=t,this.fragments=this.withoutTempSkipped(Yt.addTree(this.tree,this.fragments,!0)),this.parse=null)}withContext(e){let t=cr;cr=this;try{return e()}finally{cr=t}}withoutTempSkipped(e){for(let t;t=this.tempSkipped.pop();)e=eO(e,t.from,t.to);return e}changes(e,t){let{fragments:n,tree:r,treeLen:s,viewport:o,skipped:a}=this;if(this.takeTree(),!e.empty){let l=[];if(e.iterChangedRanges((c,h,f,u)=>l.push({fromA:c,toA:h,fromB:f,toB:u})),n=Yt.applyChanges(n,l),r=K.empty,s=0,o={from:e.mapPos(o.from,-1),to:e.mapPos(o.to,1)},this.skipped.length){a=[];for(let c of this.skipped){let h=e.mapPos(c.from,1),f=e.mapPos(c.to,-1);he.from&&(this.fragments=eO(this.fragments,r,s),this.skipped.splice(n--,1))}return this.skipped.length>=t?!1:(this.reset(),!0)}reset(){this.parse&&(this.takeTree(),this.parse=null)}skipUntilInView(e,t){this.skipped.push({from:e,to:t})}static getSkippingParser(e){return new class extends It{createParse(t,n,r){let s=r[0].from,o=r[r.length-1].to;return{parsedPos:s,advance(){let l=cr;if(l){for(let c of r)l.tempSkipped.push(c);e&&(l.scheduleOn=l.scheduleOn?Promise.all([l.scheduleOn,e]):e)}return this.parsedPos=o,new K(de.none,[],[],o-s)},stoppedAt:null,stopAt(){}}}}}isDone(e){e=Math.min(e,this.state.doc.length);let t=this.fragments;return this.treeLen>=e&&t.length&&t[0].from==0&&t[0].to>=e}static get(){return cr}};function eO(i,e,t){return Yt.applyChanges(i,[{fromA:e,toA:t,fromB:e,toB:t}])}var hr=class i{constructor(e){this.context=e,this.tree=e.tree}apply(e){if(!e.docChanged&&this.tree==this.context.tree)return this;let t=this.context.changes(e.changes,e.state),n=this.context.treeLen==e.startState.doc.length?void 0:Math.max(e.changes.mapPos(this.context.treeLen),t.viewport.to);return t.work(20,n)||t.takeTree(),new i(t)}static init(e){let t=Math.min(3e3,e.doc.length),n=Wi.create(e.facet(Sn).parser,e,{from:0,to:t});return n.work(20,t)||n.takeTree(),new i(n)}};we.state=fe.define({create:hr.init,update(i,e){for(let t of e.effects)if(t.is(we.setState))return t.value;return e.startState.facet(Sn)!=e.state.facet(Sn)?hr.init(e.state):i.apply(e)}});var oO=i=>{let e=setTimeout(()=>i(),500);return()=>clearTimeout(e)};typeof requestIdleCallback<"u"&&(oO=i=>{let e=-1,t=setTimeout(()=>{e=requestIdleCallback(i,{timeout:400})},100);return()=>e<0?clearTimeout(t):cancelIdleCallback(e)});var ml=typeof navigator<"u"&&(!((pl=navigator.scheduling)===null||pl===void 0)&&pl.isInputPending)?()=>navigator.scheduling.isInputPending():null,ab=De.fromClass(class{constructor(e){this.view=e,this.working=null,this.workScheduled=0,this.chunkEnd=-1,this.chunkBudget=-1,this.work=this.work.bind(this),this.scheduleWork()}update(e){let t=this.view.state.field(we.state).context;(t.updateViewport(e.view.viewport)||this.view.viewport.to>t.treeLen)&&this.scheduleWork(),(e.docChanged||e.selectionSet)&&(this.view.hasFocus&&(this.chunkBudget+=50),this.scheduleWork()),this.checkAsyncSchedule(t)}scheduleWork(){if(this.working)return;let{state:e}=this.view,t=e.field(we.state);(t.tree!=t.context.tree||!t.context.isDone(e.doc.length))&&(this.working=oO(this.work))}work(e){this.working=null;let t=Date.now();if(this.chunkEndr+1e3,l=s.context.work(()=>ml&&ml()||Date.now()>o,r+(a?0:1e5));this.chunkBudget-=Date.now()-t,(l||this.chunkBudget<=0)&&(s.context.takeTree(),this.view.dispatch({effects:we.setState.of(new hr(s.context))})),this.chunkBudget>0&&!(l&&!a)&&this.scheduleWork(),this.checkAsyncSchedule(s.context)}checkAsyncSchedule(e){e.scheduleOn&&(this.workScheduled++,e.scheduleOn.then(()=>this.scheduleWork()).catch(t=>ht(this.view.state,t)).then(()=>this.workScheduled--),e.scheduleOn=null)}destroy(){this.working&&this.working()}isWorking(){return!!(this.working||this.workScheduled>0)}},{eventHandlers:{focus(){this.scheduleWork()}}}),Sn=Y.define({combine(i){return i.length?i[0]:null},enables:i=>[we.state,ab,q.contentAttributes.compute([i],e=>{let t=e.facet(i);return t&&t.name?{"data-language":t.name}:{}})]}),me=class{constructor(e,t=[]){this.language=e,this.support=t,this.extension=[e,t]}},Be=class i{constructor(e,t,n,r,s,o=void 0){this.name=e,this.alias=t,this.extensions=n,this.filename=r,this.loadFunc=s,this.support=o,this.loading=null}load(){return this.loading||(this.loading=this.loadFunc().then(e=>this.support=e,e=>{throw this.loading=null,e}))}static of(e){let{load:t,support:n}=e;if(!t){if(!n)throw new RangeError("Must pass either 'load' or 'support' to LanguageDescription.of");t=()=>Promise.resolve(n)}return new i(e.name,(e.alias||[]).concat(e.name).map(r=>r.toLowerCase()),e.extensions||[],e.filename,t,n)}static matchFilename(e,t){for(let r of e)if(r.filename&&r.filename.test(t))return r;let n=/\.([^.]+)$/.exec(t);if(n){for(let r of e)if(r.extensions.indexOf(n[1])>-1)return r}return null}static matchLanguageName(e,t,n=!0){t=t.toLowerCase();for(let r of e)if(r.alias.some(s=>s==t))return r;if(n)for(let r of e)for(let s of r.alias){let o=t.indexOf(s);if(o>-1&&(s.length>2||!/\w/.test(t[o-1])&&!/\w/.test(t[o+s.length])))return r}return null}},lb=Y.define(),Zt=Y.define({combine:i=>{if(!i.length)return" ";let e=i[0];if(!e||/\S/.test(e)||Array.from(e).some(t=>t!=e[0]))throw new Error("Invalid indent unit: "+JSON.stringify(i[0]));return e}});function mi(i){let e=i.facet(Zt);return e.charCodeAt(0)==9?i.tabSize*e.length:e.length}function ur(i,e){let t="",n=i.tabSize,r=i.facet(Zt)[0];if(r==" "){for(;e>=n;)t+=" ",e-=n;r=" "}for(let s=0;s=e?cb(i,t,e):null}var ji=class{constructor(e,t={}){this.state=e,this.options=t,this.unit=mi(e)}lineAt(e,t=1){let n=this.state.doc.lineAt(e),{simulateBreak:r,simulateDoubleBreak:s}=this.options;return r!=null&&r>=n.from&&r<=n.to?s&&r==e?{text:"",from:e}:(t<0?r-1&&(s+=o-this.countColumn(n,n.search(/\S|$/))),s}countColumn(e,t=e.length){return Fe(e,this.state.tabSize,t)}lineIndent(e,t=1){let{text:n,from:r}=this.lineAt(e,t),s=this.options.overrideIndentation;if(s){let o=s(r);if(o>-1)return o}return this.countColumn(n,n.search(/\S|$/))}get simulatedBreak(){return this.options.simulateBreak||null}},Pe=new I;function cb(i,e,t){let n=e.resolveStack(t),r=e.resolveInner(t,-1).resolve(t,0).enterUnfinishedNodesBefore(t);if(r!=n.node){let s=[];for(let o=r;o&&!(o.fromn.node.to||o.from==n.node.from&&o.type==n.node.type);o=o.parent)s.push(o);for(let o=s.length-1;o>=0;o--)n={node:s[o],next:n}}return aO(n,i,t)}function aO(i,e,t){for(let n=i;n;n=n.next){let r=fb(n.node);if(r)return r(Sl.create(e,t,n))}return 0}function hb(i){return i.pos==i.options.simulateBreak&&i.options.simulateDoubleBreak}function fb(i){let e=i.type.prop(Pe);if(e)return e;let t=i.firstChild,n;if(t&&(n=t.type.prop(I.closedBy))){let r=i.lastChild,s=r&&n.indexOf(r.name)>-1;return o=>lO(o,!0,1,void 0,s&&!hb(o)?r.from:void 0)}return i.parent==null?ub:null}function ub(){return 0}var Sl=class i extends ji{constructor(e,t,n){super(e.state,e.options),this.base=e,this.pos=t,this.context=n}get node(){return this.context.node}static create(e,t,n){return new i(e,t,n)}get textAfter(){return this.textAfterPos(this.pos)}get baseIndent(){return this.baseIndentFor(this.node)}baseIndentFor(e){let t=this.state.doc.lineAt(e.from);for(;;){let n=e.resolve(t.from);for(;n.parent&&n.parent.from==n.from;)n=n.parent;if(Ob(n,e))break;t=this.state.doc.lineAt(n.from)}return this.lineIndent(t.from)}continue(){return aO(this.context.next,this.base,this.pos)}};function Ob(i,e){for(let t=e;t;t=t.parent)if(i==t)return!0;return!1}function db(i){let e=i.node,t=e.childAfter(e.from),n=e.lastChild;if(!t)return null;let r=i.options.simulateBreak,s=i.state.doc.lineAt(t.from),o=r==null||r<=s.from?s.to:Math.min(s.to,r);for(let a=t.to;;){let l=e.childAfter(a);if(!l||l==n)return null;if(!l.type.isSkipped){if(l.from>=o)return null;let c=/^ */.exec(s.text.slice(t.to-s.from))[0].length;return{from:t.from,to:t.to+c}}a=l.to}}function kt({closing:i,align:e=!0,units:t=1}){return n=>lO(n,e,t,i)}function lO(i,e,t,n,r){let s=i.textAfter,o=s.match(/^\s*/)[0].length,a=n&&s.slice(o,o+n.length)==n||r==i.pos+o,l=e?db(i):null;return l?a?i.column(l.from):i.column(l.to):i.baseIndent+(a?0:i.unit*t)}var cO=i=>i.baseIndent;function Bt({except:i,units:e=1}={}){return t=>{let n=i&&i.test(t.textAfter);return t.baseIndent+(n?0:e*t.unit)}}var hO=Y.define(),_e=new I;function ut(i){let e=i.firstChild,t=i.lastChild;return e&&e.toa.prop(yt)==o.data:o?a=>a==o:void 0,this.style=dl(e.map(a=>({tag:a.tag,class:a.class||r(Object.assign({},a,{tag:null}))})),{all:s}).style,this.module=n?new ot(n):null,this.themeType=t.themeType}static define(e,t){return new i(e,t||{})}},yl=Y.define(),fO=Y.define({combine(i){return i.length?[i[0]]:null}});function gl(i){let e=i.facet(yl);return e.length?e:i.facet(fO)}function uO(i,e){let t=[pb],n;return i instanceof yn&&(i.module&&t.push(q.styleModule.of(i.module)),n=i.themeType),e?.fallback?t.push(fO.of(i)):n?t.push(yl.computeN([q.darkTheme],r=>r.facet(q.darkTheme)==(n=="dark")?[i]:[])):t.push(yl.of(i)),t}var kl=class{constructor(e){this.markCache=Object.create(null),this.tree=U(e.state),this.decorations=this.buildDeco(e,gl(e.state)),this.decoratedTo=e.viewport.to}update(e){let t=U(e.state),n=gl(e.state),r=n!=gl(e.startState),{viewport:s}=e.view,o=e.changes.mapPos(this.decoratedTo,1);t.length=s.to?(this.decorations=this.decorations.map(e.changes),this.decoratedTo=o):(t!=this.tree||e.viewportChanged||r)&&(this.tree=t,this.decorations=this.buildDeco(e.view,n),this.decoratedTo=s.to)}buildDeco(e,t){if(!t||!this.tree.length)return R.none;let n=new _i;for(let{from:r,to:s}of e.visibleRanges)As(this.tree,t,(o,a,l)=>{n.add(o,a,this.markCache[l]||(this.markCache[l]=R.mark({class:l})))},r,s);return n.finish()}},pb=st.high(De.fromClass(kl,{decorations:i=>i.decorations})),P$=yn.define([{tag:d.meta,color:"#404740"},{tag:d.link,textDecoration:"underline"},{tag:d.heading,textDecoration:"underline",fontWeight:"bold"},{tag:d.emphasis,fontStyle:"italic"},{tag:d.strong,fontWeight:"bold"},{tag:d.strikethrough,textDecoration:"line-through"},{tag:d.keyword,color:"#708"},{tag:[d.atom,d.bool,d.url,d.contentSeparator,d.labelName],color:"#219"},{tag:[d.literal,d.inserted],color:"#164"},{tag:[d.string,d.deleted],color:"#a11"},{tag:[d.regexp,d.escape,d.special(d.string)],color:"#e40"},{tag:d.definition(d.variableName),color:"#00f"},{tag:d.local(d.variableName),color:"#30a"},{tag:[d.typeName,d.namespace],color:"#085"},{tag:d.className,color:"#167"},{tag:[d.special(d.variableName),d.macroName],color:"#256"},{tag:d.definition(d.propertyName),color:"#00c"},{tag:d.comment,color:"#940"},{tag:d.invalid,color:"#f00"}]);var mb=1e4,gb="()[]{}";var $l=new I;function xl(i,e,t){let n=i.prop(e<0?I.openedBy:I.closedBy);if(n)return n;if(i.name.length==1){let r=t.indexOf(i.name);if(r>-1&&r%2==(e<0?1:0))return[t[r+e]]}return null}function wl(i){let e=i.type.prop($l);return e?e(i.node):i}function Vi(i,e,t,n={}){let r=n.maxScanDistance||mb,s=n.brackets||gb,o=U(i),a=o.resolveInner(e,t);for(let l=a;l;l=l.parent){let c=xl(l.type,t,s);if(c&&l.from0?e>=h.from&&eh.from&&e<=h.to))return Qb(i,e,t,l,h,c,s)}}return bb(i,e,t,o,a.type,r,s)}function Qb(i,e,t,n,r,s,o){let a=n.parent,l={from:r.from,to:r.to},c=0,h=a?.cursor();if(h&&(t<0?h.childBefore(n.from):h.childAfter(n.to)))do if(t<0?h.to<=n.from:h.from>=n.to){if(c==0&&s.indexOf(h.type.name)>-1&&h.from0)return null;let c={from:t<0?e-1:e,to:t>0?e+1:e},h=i.doc.iterRange(e,t>0?i.doc.length:0),f=0;for(let u=0;!h.next().done&&u<=s;){let O=h.value;t<0&&(u+=O.length);let m=e+u*t;for(let p=t>0?0:O.length-1,b=t>0?O.length:-1;p!=b;p+=t){let g=o.indexOf(O[p]);if(!(g<0||n.resolveInner(m+p,1).type!=r))if(g%2==0==t>0)f++;else{if(f==1)return{start:c,end:{from:m+p,to:m+p+1},matched:g>>1==l>>1};f--}}t>0&&(u+=O.length)}return h.done?{start:c,matched:!1}:null}function tO(i,e,t,n=0,r=0){e==null&&(e=i.search(/[^\s\u00a0]/),e==-1&&(e=i.length));let s=r;for(let o=n;o=this.string.length}sol(){return this.pos==0}peek(){return this.string.charAt(this.pos)||void 0}next(){if(this.post}eatSpace(){let e=this.pos;for(;/[\s\u00a0]/.test(this.string.charAt(this.pos));)++this.pos;return this.pos>e}skipToEnd(){this.pos=this.string.length}skipTo(e){let t=this.string.indexOf(e,this.pos);if(t>-1)return this.pos=t,!0}backUp(e){this.pos-=e}column(){return this.lastColumnPosn?o.toLowerCase():o,s=this.string.substr(this.pos,e.length);return r(s)==r(e)?(t!==!1&&(this.pos+=e.length),!0):null}else{let r=this.string.slice(this.pos).match(e);return r&&r.index>0?null:(r&&t!==!1&&(this.pos+=r[0].length),r)}}current(){return this.string.slice(this.start,this.pos)}};function Sb(i){return{name:i.name||"",token:i.token,blankLine:i.blankLine||(()=>{}),startState:i.startState||(()=>!0),copyState:i.copyState||yb,indent:i.indent||(()=>null),languageData:i.languageData||{},tokenTable:i.tokenTable||Cl,mergeTokens:i.mergeTokens!==!1}}function yb(i){if(typeof i!="object")return i;let e={};for(let t in i){let n=i[t];e[t]=n instanceof Array?n.slice():n}return e}var iO=new WeakMap,Es=class i extends we{constructor(e){let t=kn(e.languageData),n=Sb(e),r,s=new class extends It{createParse(o,a,l){return new Pl(r,o,a,l)}};super(t,s,[],e.name),this.topNode=Pb(t,this),r=this,this.streamParser=n,this.stateAfter=new I({perNode:!0}),this.tokenTable=e.tokenTable?new qs(n.tokenTable):wb}static define(e){return new i(e)}getIndent(e){let t,{overrideIndentation:n}=e.options;n&&(t=iO.get(e.state),t!=null&&t1e4)return null;for(;s=n&&t+e.length<=r&&e.prop(i.stateAfter);if(s)return{state:i.streamParser.copyState(s),pos:t+e.length};for(let o=e.children.length-1;o>=0;o--){let a=e.children[o],l=t+e.positions[o],c=a instanceof K&&l=e.length)return e;!r&&t==0&&e.type==i.topNode&&(r=!0);for(let s=e.children.length-1;s>=0;s--){let o=e.positions[s],a=e.children[s],l;if(ot&&Tl(i,s.tree,0-s.offset,t,a),c;if(l&&l.pos<=n&&(c=OO(i,s.tree,t+s.offset,l.pos+s.offset,!1)))return{state:l.state,tree:c}}return{state:i.streamParser.startState(r?mi(r):4),tree:K.empty}}var Pl=class{constructor(e,t,n,r){this.lang=e,this.input=t,this.fragments=n,this.ranges=r,this.stoppedAt=null,this.chunks=[],this.chunkPos=[],this.chunk=[],this.chunkReused=void 0,this.rangeIndex=0,this.to=r[r.length-1].to;let s=Wi.get(),o=r[0].from,{state:a,tree:l}=kb(e,n,o,this.to,s?.state);this.state=a,this.parsedPos=this.chunkStart=o+l.length;for(let c=0;cc.from<=s.viewport.from&&c.to>=s.viewport.from)&&(this.state=this.lang.streamParser.startState(mi(s.state)),s.skipUntilInView(this.parsedPos,s.viewport.from),this.parsedPos=s.viewport.from),this.moveRangeIndex()}advance(){let e=Wi.get(),t=this.stoppedAt==null?this.to:Math.min(this.to,this.stoppedAt),n=Math.min(t,this.chunkStart+512);for(e&&(n=Math.min(n,e.viewport.to));this.parsedPos=t?this.finish():e&&this.parsedPos>=e.viewport.to?(e.skipUntilInView(this.parsedPos,t),this.finish()):null}stopAt(e){this.stoppedAt=e}lineAfter(e){let t=this.input.chunk(e);if(this.input.lineChunks)t==` +(()=>{var zo=[],Fh=[];(()=>{let i="lc,34,7n,7,7b,19,,,,2,,2,,,20,b,1c,l,g,,2t,7,2,6,2,2,,4,z,,u,r,2j,b,1m,9,9,,o,4,,9,,3,,5,17,3,3b,f,,w,1j,,,,4,8,4,,3,7,a,2,t,,1m,,,,2,4,8,,9,,a,2,q,,2,2,1l,,4,2,4,2,2,3,3,,u,2,3,,b,2,1l,,4,5,,2,4,,k,2,m,6,,,1m,,,2,,4,8,,7,3,a,2,u,,1n,,,,c,,9,,14,,3,,1l,3,5,3,,4,7,2,b,2,t,,1m,,2,,2,,3,,5,2,7,2,b,2,s,2,1l,2,,,2,4,8,,9,,a,2,t,,20,,4,,2,3,,,8,,29,,2,7,c,8,2q,,2,9,b,6,22,2,r,,,,,,1j,e,,5,,2,5,b,,10,9,,2u,4,,6,,2,2,2,p,2,4,3,g,4,d,,2,2,6,,f,,jj,3,qa,3,t,3,t,2,u,2,1s,2,,7,8,,2,b,9,,19,3,3b,2,y,,3a,3,4,2,9,,6,3,63,2,2,,1m,,,7,,,,,2,8,6,a,2,,1c,h,1r,4,1c,7,,,5,,14,9,c,2,w,4,2,2,,3,1k,,,2,3,,,3,1m,8,2,2,48,3,,d,,7,4,,6,,3,2,5i,1m,,5,ek,,5f,x,2da,3,3x,,2o,w,fe,6,2x,2,n9w,4,,a,w,2,28,2,7k,,3,,4,,p,2,5,,47,2,q,i,d,,12,8,p,b,1a,3,1c,,2,4,2,2,13,,1v,6,2,2,2,2,c,,8,,1b,,1f,,,3,2,2,5,2,,,16,2,8,,6m,,2,,4,,fn4,,kh,g,g,g,a6,2,gt,,6a,,45,5,1ae,3,,2,5,4,14,3,4,,4l,2,fx,4,ar,2,49,b,4w,,1i,f,1k,3,1d,4,2,2,1x,3,10,5,,8,1q,,c,2,1g,9,a,4,2,,2n,3,2,,,2,6,,4g,,3,8,l,2,1l,2,,,,,m,,e,7,3,5,5f,8,2,3,,,n,,29,,2,6,,,2,,,2,,2,6j,,2,4,6,2,,2,r,2,2d,8,2,,,2,2y,,,,2,6,,,2t,3,2,4,,5,77,9,,2,6t,,a,2,,,4,,40,4,2,2,4,,w,a,14,6,2,4,8,,9,6,2,3,1a,d,,2,ba,7,,6,,,2a,m,2,7,,2,,2,3e,6,3,,,2,,7,,,20,2,3,,,,9n,2,f0b,5,1n,7,t4,,1r,4,29,,f5k,2,43q,,,3,4,5,8,8,2,7,u,4,44,3,1iz,1j,4,1e,8,,e,,m,5,,f,11s,7,,h,2,7,,2,,5,79,7,c5,4,15s,7,31,7,240,5,gx7k,2o,3k,6o".split(",").map(e=>e?parseInt(e,36):1);for(let e=0,t=0;e>1;if(i=Fh[n])e=n+1;else return!0;if(e==t)return!1}}function Uh(i){return i>=127462&&i<=127487}var Gh=8205;function Hh(i,e,t=!0,n=!0){return(t?Kh:l0)(i,e,n)}function Kh(i,e,t){if(e==i.length)return e;e&&Jh(i.charCodeAt(e))&&ef(i.charCodeAt(e-1))&&e--;let n=qo(i,e);for(e+=Nh(n);e=0&&Uh(qo(i,o));)s++,o-=2;if(s%2==0)break;e+=2}else break}return e}function l0(i,e,t){for(;e>1;){let n=Kh(i,e-2,t);if(n=56320&&i<57344}function ef(i){return i>=55296&&i<56320}function Nh(i){return i<65536?1:2}var J=class i{lineAt(e){if(e<0||e>this.length)throw new RangeError(`Invalid position ${e} in document of length ${this.length}`);return this.lineInner(e,!1,1,0)}line(e){if(e<1||e>this.lines)throw new RangeError(`Invalid line number ${e} in ${this.lines}-line document`);return this.lineInner(e,!0,1,0)}replace(e,t,n){[e,t]=on(this,e,t);let r=[];return this.decompose(0,e,r,2),n.length&&n.decompose(0,n.length,r,3),this.decompose(t,this.length,r,1),nn.from(r,this.length-(t-e)+n.length)}append(e){return this.replace(this.length,this.length,e)}slice(e,t=this.length){[e,t]=on(this,e,t);let n=[];return this.decompose(e,t,n,0),nn.from(n,t-e)}eq(e){if(e==this)return!0;if(e.length!=this.length||e.lines!=this.lines)return!1;let t=this.scanIdentical(e,1),n=this.length-this.scanIdentical(e,-1),r=new Xi(this),s=new Xi(e);for(let o=t,a=t;;){if(r.next(o),s.next(o),o=0,r.lineBreak!=s.lineBreak||r.done!=s.done||r.value!=s.value)return!1;if(a+=r.value.length,r.done||a>=n)return!0}}iter(e=1){return new Xi(this,e)}iterRange(e,t=this.length){return new Br(this,e,t)}iterLines(e,t){let n;if(e==null)n=this.iter();else{t==null&&(t=this.lines+1);let r=this.line(e).from;n=this.iterRange(r,Math.max(r,t==this.lines+1?this.length:t<=1?0:this.line(t-1).to))}return new Ur(n)}toString(){return this.sliceString(0)}toJSON(){let e=[];return this.flatten(e),e}constructor(){}static of(e){if(e.length==0)throw new RangeError("A document must have at least one line");return e.length==1&&!e[0]?i.empty:e.length<=32?new Fe(e):nn.from(Fe.split(e,[]))}},Fe=class i extends J{constructor(e,t=c0(e)){super(),this.text=e,this.length=t}get lines(){return this.text.length}get children(){return null}lineInner(e,t,n,r){for(let s=0;;s++){let o=this.text[s],a=r+o.length;if((t?n:a)>=e)return new Mo(r,a,n,o);r=a+1,n++}}decompose(e,t,n,r){let s=e<=0&&t>=this.length?this:new i(tf(this.text,e,t),Math.min(t,this.length)-Math.max(0,e));if(r&1){let o=n.pop(),a=Ir(s.text,o.text.slice(),0,s.length);if(a.length<=32)n.push(new i(a,o.length+s.length));else{let l=a.length>>1;n.push(new i(a.slice(0,l)),new i(a.slice(l)))}}else n.push(s)}replace(e,t,n){if(!(n instanceof i))return super.replace(e,t,n);[e,t]=on(this,e,t);let r=Ir(this.text,Ir(n.text,tf(this.text,0,e)),t),s=this.length+n.length-(t-e);return r.length<=32?new i(r,s):nn.from(i.split(r,[]),s)}sliceString(e,t=this.length,n=` +`){[e,t]=on(this,e,t);let r="";for(let s=0,o=0;s<=t&&oe&&o&&(r+=n),es&&(r+=a.slice(Math.max(0,e-s),t-s)),s=l+1}return r}flatten(e){for(let t of this.text)e.push(t)}scanIdentical(){return 0}static split(e,t){let n=[],r=-1;for(let s of e)n.push(s),r+=s.length+1,n.length==32&&(t.push(new i(n,r)),n=[],r=-1);return r>-1&&t.push(new i(n,r)),t}},nn=class i extends J{constructor(e,t){super(),this.children=e,this.length=t,this.lines=0;for(let n of e)this.lines+=n.lines}lineInner(e,t,n,r){for(let s=0;;s++){let o=this.children[s],a=r+o.length,l=n+o.lines-1;if((t?l:a)>=e)return o.lineInner(e,t,n,r);r=a+1,n=l+1}}decompose(e,t,n,r){for(let s=0,o=0;o<=t&&s=o){let c=r&((o<=e?1:0)|(l>=t?2:0));o>=e&&l<=t&&!c?n.push(a):a.decompose(e-o,t-o,n,c)}o=l+1}}replace(e,t,n){if([e,t]=on(this,e,t),n.lines=s&&t<=a){let l=o.replace(e-s,t-s,n),c=this.lines-o.lines+l.lines;if(l.lines>4&&l.lines>c>>6){let h=this.children.slice();return h[r]=l,new i(h,this.length-(t-e)+n.length)}return super.replace(s,a,l)}s=a+1}return super.replace(e,t,n)}sliceString(e,t=this.length,n=` +`){[e,t]=on(this,e,t);let r="";for(let s=0,o=0;se&&s&&(r+=n),eo&&(r+=a.sliceString(e-o,t-o,n)),o=l+1}return r}flatten(e){for(let t of this.children)t.flatten(e)}scanIdentical(e,t){if(!(e instanceof i))return 0;let n=0,[r,s,o,a]=t>0?[0,0,this.children.length,e.children.length]:[this.children.length-1,e.children.length-1,-1,-1];for(;;r+=t,s+=t){if(r==o||s==a)return n;let l=this.children[r],c=e.children[s];if(l!=c)return n+l.scanIdentical(c,t);n+=l.length+1}}static from(e,t=e.reduce((n,r)=>n+r.length+1,-1)){let n=0;for(let O of e)n+=O.lines;if(n<32){let O=[];for(let m of e)m.flatten(O);return new Fe(O,t)}let r=Math.max(32,n>>5),s=r<<1,o=r>>1,a=[],l=0,c=-1,h=[];function f(O){let m;if(O.lines>s&&O instanceof i)for(let p of O.children)f(p);else O.lines>o&&(l>o||!l)?(u(),a.push(O)):O instanceof Fe&&l&&(m=h[h.length-1])instanceof Fe&&O.lines+m.lines<=32?(l+=O.lines,c+=O.length+1,h[h.length-1]=new Fe(m.text.concat(O.text),m.length+1+O.length)):(l+O.lines>r&&u(),l+=O.lines,c+=O.length+1,h.push(O))}function u(){l!=0&&(a.push(h.length==1?h[0]:i.from(h,c)),c=-1,l=h.length=0)}for(let O of e)f(O);return u(),a.length==1?a[0]:new i(a,t)}};J.empty=new Fe([""],0);function c0(i){let e=-1;for(let t of i)e+=t.length+1;return e}function Ir(i,e,t=0,n=1e9){for(let r=0,s=0,o=!0;s=t&&(l>n&&(a=a.slice(0,n-r)),r0?1:(e instanceof Fe?e.text.length:e.children.length)<<1]}nextInner(e,t){for(this.done=this.lineBreak=!1;;){let n=this.nodes.length-1,r=this.nodes[n],s=this.offsets[n],o=s>>1,a=r instanceof Fe?r.text.length:r.children.length;if(o==(t>0?a:0)){if(n==0)return this.done=!0,this.value="",this;t>0&&this.offsets[n-1]++,this.nodes.pop(),this.offsets.pop()}else if((s&1)==(t>0?0:1)){if(this.offsets[n]+=t,e==0)return this.lineBreak=!0,this.value=` +`,this;e--}else if(r instanceof Fe){let l=r.text[o+(t<0?-1:0)];if(this.offsets[n]+=t,l.length>Math.max(0,e))return this.value=e==0?l:t>0?l.slice(e):l.slice(0,l.length-e),this;e-=l.length}else{let l=r.children[o+(t<0?-1:0)];e>l.length?(e-=l.length,this.offsets[n]+=t):(t<0&&this.offsets[n]--,this.nodes.push(l),this.offsets.push(t>0?1:(l instanceof Fe?l.text.length:l.children.length)<<1))}}}next(e=0){return e<0&&(this.nextInner(-e,-this.dir),e=this.value.length),this.nextInner(e,this.dir)}},Br=class{constructor(e,t,n){this.value="",this.done=!1,this.cursor=new Xi(e,t>n?-1:1),this.pos=t>n?e.length:0,this.from=Math.min(t,n),this.to=Math.max(t,n)}nextInner(e,t){if(t<0?this.pos<=this.from:this.pos>=this.to)return this.value="",this.done=!0,this;e+=Math.max(0,t<0?this.pos-this.to:this.from-this.pos);let n=t<0?this.pos-this.from:this.to-this.pos;e>n&&(e=n),n-=e;let{value:r}=this.cursor.next(e);return this.pos+=(r.length+e)*t,this.value=r.length<=n?r:t<0?r.slice(r.length-n):r.slice(0,n),this.done=!this.value,this}next(e=0){return e<0?e=Math.max(e,this.from-this.pos):e>0&&(e=Math.min(e,this.to-this.pos)),this.nextInner(e,this.cursor.dir)}get lineBreak(){return this.cursor.lineBreak&&this.value!=""}},Ur=class{constructor(e){this.inner=e,this.afterBreak=!0,this.value="",this.done=!1}next(e=0){let{done:t,lineBreak:n,value:r}=this.inner.next(e);return t&&this.afterBreak?(this.value="",this.afterBreak=!1):t?(this.done=!0,this.value=""):n?this.afterBreak?this.value="":(this.afterBreak=!0,this.next()):(this.value=r,this.afterBreak=!1),this}get lineBreak(){return!1}};typeof Symbol<"u"&&(J.prototype[Symbol.iterator]=function(){return this.iter()},Xi.prototype[Symbol.iterator]=Br.prototype[Symbol.iterator]=Ur.prototype[Symbol.iterator]=function(){return this});var Mo=class{constructor(e,t,n,r){this.from=e,this.to=t,this.number=n,this.text=r}get length(){return this.to-this.from}};function on(i,e,t){return e=Math.max(0,Math.min(i.length,e)),[e,Math.max(e,Math.min(i.length,t))]}function xe(i,e,t=!0,n=!0){return Hh(i,e,t,n)}function h0(i){return i>=56320&&i<57344}function f0(i){return i>=55296&&i<56320}function oi(i,e){let t=i.charCodeAt(e);if(!f0(t)||e+1==i.length)return t;let n=i.charCodeAt(e+1);return h0(n)?(t-55296<<10)+(n-56320)+65536:t}function af(i){return i<=65535?String.fromCharCode(i):(i-=65536,String.fromCharCode((i>>10)+55296,(i&1023)+56320))}function an(i){return i<65536?1:2}var Wo=/\r\n?|\n/,ge=(function(i){return i[i.Simple=0]="Simple",i[i.TrackDel=1]="TrackDel",i[i.TrackBefore=2]="TrackBefore",i[i.TrackAfter=3]="TrackAfter",i})(ge||(ge={})),Mt=class i{constructor(e){this.sections=e}get length(){let e=0;for(let t=0;te)return s+(e-r);s+=a}else{if(n!=ge.Simple&&c>=e&&(n==ge.TrackDel&&re||n==ge.TrackBefore&&re))return null;if(c>e||c==e&&t<0&&!a)return e==r||t<0?s:s+l;s+=l}r=c}if(e>r)throw new RangeError(`Position ${e} is out of range for changeset of length ${r}`);return s}touchesRange(e,t=e){for(let n=0,r=0;n=0&&r<=t&&a>=e)return rt?"cover":!0;r=a}return!1}toString(){let e="";for(let t=0;t=0?":"+r:"")}return e}toJSON(){return this.sections}static fromJSON(e){if(!Array.isArray(e)||e.length%2||e.some(t=>typeof t!="number"))throw new RangeError("Invalid JSON representation of ChangeDesc");return new i(e)}static create(e){return new i(e)}},ze=class i extends Mt{constructor(e,t){super(e),this.inserted=t}apply(e){if(this.length!=e.length)throw new RangeError("Applying change set to a document with the wrong length");return jo(this,(t,n,r,s,o)=>e=e.replace(r,r+(n-t),o),!1),e}mapDesc(e,t=!1){return Vo(this,e,t,!0)}invert(e){let t=this.sections.slice(),n=[];for(let r=0,s=0;r=0){t[r]=a,t[r+1]=o;let l=r>>1;for(;n.length0&&si(n,t,s.text),s.forward(h),a+=h}let c=e[o++];for(;a>1].toJSON()))}return e}static of(e,t,n){let r=[],s=[],o=0,a=null;function l(h=!1){if(!h&&!r.length)return;ou||f<0||u>t)throw new RangeError(`Invalid change range ${f} to ${u} (in doc of length ${t})`);let m=O?typeof O=="string"?J.of(O.split(n||Wo)):O:J.empty,p=m.length;if(f==u&&p==0)return;fo&&Ae(r,f-o,-1),Ae(r,u-f,p),si(s,r,m),o=u}}return c(e),l(!a),a}static empty(e){return new i(e?[e,-1]:[],[])}static fromJSON(e){if(!Array.isArray(e))throw new RangeError("Invalid JSON representation of ChangeSet");let t=[],n=[];for(let r=0;ra&&typeof o!="string"))throw new RangeError("Invalid JSON representation of ChangeSet");if(s.length==1)t.push(s[0],0);else{for(;n.length=0&&t<=0&&t==i[r+1]?i[r]+=e:r>=0&&e==0&&i[r]==0?i[r+1]+=t:n?(i[r]+=e,i[r+1]+=t):i.push(e,t)}function si(i,e,t){if(t.length==0)return;let n=e.length-2>>1;if(n>1])),!(t||o==i.sections.length||i.sections[o+1]<0);)a=i.sections[o++],l=i.sections[o++];e(r,c,s,h,f),r=c,s=h}}}function Vo(i,e,t,n=!1){let r=[],s=n?[]:null,o=new _i(i),a=new _i(e);for(let l=-1;;){if(o.done&&a.len||a.done&&o.len)throw new Error("Mismatched change set lengths");if(o.ins==-1&&a.ins==-1){let c=Math.min(o.len,a.len);Ae(r,c,-1),o.forward(c),a.forward(c)}else if(a.ins>=0&&(o.ins<0||l==o.i||o.off==0&&(a.len=0&&l=0){let c=0,h=o.len;for(;h;)if(a.ins==-1){let f=Math.min(h,a.len);c+=f,h-=f,a.forward(f)}else if(a.ins==0&&a.lenl||o.ins>=0&&o.len>l)&&(a||n.length>c),s.forward2(l),o.forward(l)}}}}var _i=class{constructor(e){this.set=e,this.i=0,this.next()}next(){let{sections:e}=this.set;this.i>1;return t>=e.length?J.empty:e[t]}textBit(e){let{inserted:t}=this.set,n=this.i-2>>1;return n>=t.length&&!e?J.empty:t[n].slice(this.off,e==null?void 0:this.off+e)}forward(e){e==this.len?this.next():(this.len-=e,this.off+=e)}forward2(e){this.ins==-1?this.forward(e):e==this.ins?this.next():(this.ins-=e,this.off+=e)}},$i=class i{constructor(e,t,n,r){this.from=e,this.to=t,this.flags=n,this.goalColumn=r}get anchor(){return this.flags&32?this.to:this.from}get head(){return this.flags&32?this.from:this.to}get empty(){return this.from==this.to}get assoc(){return this.flags&8?-1:this.flags&16?1:0}get undirectional(){return(this.flags&64)>0}get bidiLevel(){let e=this.flags&7;return e==7?null:e}map(e,t=-1){let n,r;return this.empty?n=r=e.mapPos(this.from,t):(n=e.mapPos(this.from,1),r=e.mapPos(this.to,-1)),n==this.from&&r==this.to?this:new i(n,r,this.flags,this.goalColumn)}extend(e,t=e,n=0){if(e<=this.anchor&&t>=this.anchor)return v.range(e,t,void 0,void 0,n);let r=Math.abs(e-this.anchor)>Math.abs(t-this.anchor)?e:t;return v.range(this.anchor,r,void 0,void 0,n)}eq(e,t=!1){return this.anchor==e.anchor&&this.head==e.head&&this.goalColumn==e.goalColumn&&(!t||!this.empty||this.assoc==e.assoc)}toJSON(){return{anchor:this.anchor,head:this.head}}static fromJSON(e){if(!e||typeof e.anchor!="number"||typeof e.head!="number")throw new RangeError("Invalid JSON representation for SelectionRange");return v.range(e.anchor,e.head)}static create(e,t,n,r){return new i(e,t,n,r)}},v=class i{constructor(e,t){this.ranges=e,this.mainIndex=t}map(e,t=-1){return e.empty?this:i.create(this.ranges.map(n=>n.map(e,t)),this.mainIndex)}eq(e,t=!1){if(this.ranges.length!=e.ranges.length||this.mainIndex!=e.mainIndex)return!1;for(let n=0;ne.toJSON()),main:this.mainIndex}}static fromJSON(e){if(!e||!Array.isArray(e.ranges)||typeof e.main!="number"||e.main>=e.ranges.length)throw new RangeError("Invalid JSON representation for EditorSelection");return new i(e.ranges.map(t=>$i.fromJSON(t)),e.main)}static single(e,t=e){return new i([i.range(e,t)],0)}static create(e,t=0){if(e.length==0)throw new RangeError("A selection needs at least one range");for(let n=0,r=0;rr.from-s.from),t=e.indexOf(n);for(let r=1;rs.head?i.range(l,a):i.range(a,l))}}return new i(e,t)}};function cf(i,e){for(let t of i.ranges)if(t.to>e)throw new RangeError("Selection points outside of document")}var Ko=0,Y=class i{constructor(e,t,n,r,s){this.combine=e,this.compareInput=t,this.compare=n,this.isStatic=r,this.id=Ko++,this.default=e([]),this.extensions=typeof s=="function"?s(this):s}get reader(){return this}static define(e={}){return new i(e.combine||(t=>t),e.compareInput||((t,n)=>t===n),e.compare||(e.combine?(t,n)=>t===n:Jo),!!e.static,e.enables)}of(e){return new rn([],this,0,e)}compute(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new rn(e,this,1,t)}computeN(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new rn(e,this,2,t)}from(e,t){return t||(t=n=>n),this.compute([e],n=>t(n.field(e)))}};function Jo(i,e){return i==e||i.length==e.length&&i.every((t,n)=>t===e[n])}var rn=class{constructor(e,t,n,r){this.dependencies=e,this.facet=t,this.type=n,this.value=r,this.id=Ko++}dynamicSlot(e){var t;let n=this.value,r=this.facet.compareInput,s=this.id,o=e[s]>>1,a=this.type==2,l=!1,c=!1,h=[];for(let f of this.dependencies)f=="doc"?l=!0:f=="selection"?c=!0:(((t=e[f.id])!==null&&t!==void 0?t:1)&1)==0&&h.push(e[f.id]);return{create(f){return f.values[o]=n(f),1},update(f,u){if(l&&u.docChanged||c&&(u.docChanged||u.selection)||Do(f,h)){let O=n(f);if(a?!nf(O,f.values[o],r):!r(O,f.values[o]))return f.values[o]=O,1}return 0},reconfigure:(f,u)=>{let O,m=u.config.address[s];if(m!=null){let p=Hr(u,m);if(this.dependencies.every(b=>b instanceof Y?u.facet(b)===f.facet(b):b instanceof fe?u.field(b,!1)==f.field(b,!1):!0)||(a?nf(O=n(f),p,r):r(O=n(f),p)))return f.values[o]=p,0}else O=n(f);return f.values[o]=O,1}}}get extension(){return this}};function nf(i,e,t){if(i.length!=e.length)return!1;for(let n=0;ni[l.id]),r=t.map(l=>l.type),s=n.filter(l=>!(l&1)),o=i[e.id]>>1;function a(l){let c=[];for(let h=0;hn===r),e);return e.provide&&(t.provides=e.provide(t)),t}create(e){let t=e.facet(Vr).find(n=>n.field==this);return(t?.create||this.createF)(e)}slot(e){let t=e[this.id]>>1;return{create:n=>(n.values[t]=this.create(n),1),update:(n,r)=>{let s=n.values[t],o=this.updateF(s,r);return this.compareF(s,o)?0:(n.values[t]=o,1)},reconfigure:(n,r)=>{let s=n.facet(Vr),o=r.facet(Vr),a;return(a=s.find(l=>l.field==this))&&a!=o.find(l=>l.field==this)?(n.values[t]=a.create(n),1):r.config.address[this.id]!=null?(n.values[t]=r.field(this),0):(n.values[t]=this.create(n),1)}}}init(e){return[this,Vr.of({field:this,create:e})]}get extension(){return this}},Ti={lowest:4,low:3,default:2,high:1,highest:0};function Wn(i){return e=>new Gr(e,i)}var ot={highest:Wn(Ti.highest),high:Wn(Ti.high),default:Wn(Ti.default),low:Wn(Ti.low),lowest:Wn(Ti.lowest)},Gr=class{constructor(e,t){this.inner=e,this.prec=t}get extension(){return this}},Nr=class i{of(e){return new Vn(this,e)}reconfigure(e){return i.reconfigure.of({compartment:this,extension:e})}get(e){return e.config.compartments.get(this)}},Vn=class{constructor(e,t){this.compartment=e,this.inner=t}get extension(){return this}},Fr=class i{constructor(e,t,n,r,s,o){for(this.base=e,this.compartments=t,this.dynamicSlots=n,this.address=r,this.staticValues=s,this.facets=o,this.statusTemplate=[];this.statusTemplate.length>1]}static resolve(e,t,n){let r=[],s=Object.create(null),o=new Map;for(let u of O0(e,t,o))u instanceof fe?r.push(u):(s[u.facet.id]||(s[u.facet.id]=[])).push(u);let a=Object.create(null),l=[],c=[];for(let u of r)a[u.id]=c.length<<1,c.push(O=>u.slot(O));let h=n?.config.facets;for(let u in s){let O=s[u],m=O[0].facet,p=h&&h[u]||[];if(O.every(b=>b.type==0))if(a[m.id]=l.length<<1|1,Jo(p,O))l.push(n.facet(m));else{let b=m.combine(O.map(g=>g.value));l.push(n&&m.compare(b,n.facet(m))?n.facet(m):b)}else{for(let b of O)b.type==0?(a[b.id]=l.length<<1|1,l.push(b.value)):(a[b.id]=c.length<<1,c.push(g=>b.dynamicSlot(g)));a[m.id]=c.length<<1,c.push(b=>u0(b,m,O))}}let f=c.map(u=>u(a));return new i(e,o,f,a,l,s)}};function O0(i,e,t){let n=[[],[],[],[],[]],r=new Map;function s(o,a){let l=r.get(o);if(l!=null){if(l<=a)return;let c=n[l].indexOf(o);c>-1&&n[l].splice(c,1),o instanceof Vn&&t.delete(o.compartment)}if(r.set(o,a),Array.isArray(o))for(let c of o)s(c,a);else if(o instanceof Vn){if(t.has(o.compartment))throw new RangeError("Duplicate use of compartment in extensions");let c=e.get(o.compartment)||o.inner;t.set(o.compartment,c),s(c,a)}else if(o instanceof Gr)s(o.inner,o.prec);else if(o instanceof fe)n[a].push(o),o.provides&&s(o.provides,a);else if(o instanceof rn)n[a].push(o),o.facet.extensions&&s(o.facet.extensions,Ti.default);else{let c=o.extension;if(!c)throw new Error(`Unrecognized extension value in extension set (${o}).`);if(c==o)throw new Error(`Unrecognized extension value in extension set (${o}). This sometimes happens because multiple instances of @codemirror/state are loaded, breaking instanceof checks.`);s(c,a)}}return s(i,Ti.default),n.reduce((o,a)=>o.concat(a))}function jn(i,e){if(e&1)return 2;let t=e>>1,n=i.status[t];if(n==4)throw new Error("Cyclic dependency between fields and/or facets");if(n&2)return n;i.status[t]=4;let r=i.computeSlot(i,i.config.dynamicSlots[t]);return i.status[t]=2|r}function Hr(i,e){return e&1?i.config.staticValues[e>>1]:i.values[e>>1]}var hf=Y.define(),Yo=Y.define({combine:i=>i.some(e=>e),static:!0}),ff=Y.define({combine:i=>i.length?i[0]:void 0,static:!0}),uf=Y.define(),Of=Y.define(),df=Y.define(),pf=Y.define({combine:i=>i.length?i[0]:!1}),Te=class{constructor(e,t){this.type=e,this.value=t}static define(){return new Io}},Io=class{of(e){return new Te(this,e)}},Bo=class{constructor(e){this.map=e}of(e){return new ie(this,e)}},ie=class i{constructor(e,t){this.type=e,this.value=t}map(e){let t=this.type.map(this.value,e);return t===void 0?void 0:t==this.value?this:new i(this.type,t)}is(e){return this.type==e}static define(e={}){return new Bo(e.map||(t=>t))}static mapEffects(e,t){if(!e.length)return e;let n=[];for(let r of e){let s=r.map(t);s&&n.push(s)}return n}};ie.reconfigure=ie.define();ie.appendConfig=ie.define();var pe=class i{constructor(e,t,n,r,s,o){this.startState=e,this.changes=t,this.selection=n,this.effects=r,this.annotations=s,this.scrollIntoView=o,this._doc=null,this._state=null,n&&cf(n,t.newLength),s.some(a=>a.type==i.time)||(this.annotations=s.concat(i.time.of(Date.now())))}static create(e,t,n,r,s,o){return new i(e,t,n,r,s,o)}get newDoc(){return this._doc||(this._doc=this.changes.apply(this.startState.doc))}get newSelection(){return this.selection||this.startState.selection.map(this.changes)}get state(){return this._state||this.startState.applyTransaction(this),this._state}annotation(e){for(let t of this.annotations)if(t.type==e)return t.value}get docChanged(){return!this.changes.empty}get reconfigured(){return this.startState.config!=this.state.config}isUserEvent(e){let t=this.annotation(i.userEvent);return!!(t&&(t==e||t.length>e.length&&t.slice(0,e.length)==e&&t[e.length]=="."))}};pe.time=Te.define();pe.userEvent=Te.define();pe.addToHistory=Te.define();pe.remote=Te.define();function d0(i,e){let t=[];for(let n=0,r=0;;){let s,o;if(n=i[n]))s=i[n++],o=i[n++];else if(r=0;r--){let s=n[r](i);s instanceof pe?i=s:Array.isArray(s)&&s.length==1&&s[0]instanceof pe?i=s[0]:i=gf(e,sn(s),!1)}return i}function m0(i){let e=i.startState,t=e.facet(df),n=i;for(let r=t.length-1;r>=0;r--){let s=t[r](i);s&&Object.keys(s).length&&(n=mf(n,Uo(e,s,i.changes.newLength),!0))}return n==i?i:pe.create(e,i.changes,i.selection,n.effects,n.annotations,n.scrollIntoView)}var g0=[];function sn(i){return i==null?g0:Array.isArray(i)?i:[i]}var qe=(function(i){return i[i.Word=0]="Word",i[i.Space=1]="Space",i[i.Other=2]="Other",i})(qe||(qe={})),Q0=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/,Go;try{Go=new RegExp("[\\p{Alphabetic}\\p{Number}_]","u")}catch{}function b0(i){if(Go)return Go.test(i);for(let e=0;e"\x80"&&(t.toUpperCase()!=t.toLowerCase()||Q0.test(t)))return!0}return!1}function S0(i){return e=>{if(!/\S/.test(e))return qe.Space;if(b0(e))return qe.Word;for(let t=0;t-1)return qe.Word;return qe.Other}}var se=class i{constructor(e,t,n,r,s,o){this.config=e,this.doc=t,this.selection=n,this.values=r,this.status=e.statusTemplate.slice(),this.computeSlot=s,o&&(o._state=this);for(let a=0;ar.set(c,l)),t=null),r.set(a.value.compartment,a.value.extension)):a.is(ie.reconfigure)?(t=null,n=a.value):a.is(ie.appendConfig)&&(t=null,n=sn(n).concat(a.value));let s;t?s=e.startState.values.slice():(t=Fr.resolve(n,r,this),s=new i(t,this.doc,this.selection,t.dynamicSlots.map(()=>null),(l,c)=>c.reconfigure(l,this),null).values);let o=e.startState.facet(Yo)?e.newSelection:e.newSelection.asSingle();new i(t,e.newDoc,o,s,(a,l)=>l.update(a,e),e)}replaceSelection(e){return typeof e=="string"&&(e=this.toText(e)),this.changeByRange(t=>({changes:{from:t.from,to:t.to,insert:e},range:v.cursor(t.from+e.length)}))}changeByRange(e){let t=this.selection,n=e(t.ranges[0]),r=this.changes(n.changes),s=[n.range],o=sn(n.effects);for(let a=1;ao.spec.fromJSON(a,l)))}}return i.create({doc:e.doc,selection:v.fromJSON(e.selection),extensions:t.extensions?r.concat([t.extensions]):r})}static create(e={}){let t=Fr.resolve(e.extensions||[],new Map),n=e.doc instanceof J?e.doc:J.of((e.doc||"").split(t.staticFacet(i.lineSeparator)||Wo)),r=e.selection?e.selection instanceof v?e.selection:v.single(e.selection.anchor,e.selection.head):v.single(0);return cf(r,n.length),t.staticFacet(Yo)||(r=r.asSingle()),new i(t,n,r,t.dynamicSlots.map(()=>null),(s,o)=>o.create(s),null)}get tabSize(){return this.facet(i.tabSize)}get lineBreak(){return this.facet(i.lineSeparator)||` +`}get readOnly(){return this.facet(pf)}phrase(e,...t){for(let n of this.facet(i.phrases))if(Object.prototype.hasOwnProperty.call(n,e)){e=n[e];break}return t.length&&(e=e.replace(/\$(\$|\d*)/g,(n,r)=>{if(r=="$")return"$";let s=+(r||1);return!s||s>t.length?n:t[s-1]})),e}languageDataAt(e,t,n=-1){let r=[];for(let s of this.facet(hf))for(let o of s(this,t,n))Object.prototype.hasOwnProperty.call(o,e)&&r.push(o[e]);return r}charCategorizer(e){let t=this.languageDataAt("wordChars",e);return S0(t.length?t[0]:"")}wordAt(e){let{text:t,from:n,length:r}=this.doc.lineAt(e),s=this.charCategorizer(e),o=e-n,a=e-n;for(;o>0;){let l=xe(t,o,!1);if(s(t.slice(l,o))!=qe.Word)break;o=l}for(;ai.length?i[0]:4});se.lineSeparator=ff;se.readOnly=pf;se.phrases=Y.define({compare(i,e){let t=Object.keys(i),n=Object.keys(e);return t.length==n.length&&t.every(r=>i[r]==e[r])}});se.languageData=hf;se.changeFilter=uf;se.transactionFilter=Of;se.transactionExtender=df;Nr.reconfigure=ie.define();function In(i,e,t={}){let n={};for(let r of i)for(let s of Object.keys(r)){let o=r[s],a=n[s];if(a===void 0)n[s]=o;else if(!(a===o||o===void 0))if(Object.hasOwnProperty.call(t,s))n[s]=t[s](a,o);else throw new Error("Config merge conflict for field "+s)}for(let r in e)n[r]===void 0&&(n[r]=e[r]);return n}var st=class{eq(e){return this==e}range(e,t=e){return Dn.create(e,t,this)}};st.prototype.startSide=st.prototype.endSide=0;st.prototype.point=!1;st.prototype.mapMode=ge.TrackDel;function ea(i,e){return i==e||i.constructor==e.constructor&&i.eq(e)}var Dn=class i{constructor(e,t,n){this.from=e,this.to=t,this.value=n}static create(e,t,n){return new i(e,t,n)}};function No(i,e){return i.from-e.from||i.value.startSide-e.value.startSide}var Fo=class i{constructor(e,t,n,r){this.from=e,this.to=t,this.value=n,this.maxPoint=r}get length(){return this.to[this.to.length-1]}findIndex(e,t,n,r=0){let s=n?this.to:this.from;for(let o=r,a=s.length;;){if(o==a)return o;let l=o+a>>1,c=s[l]-e||(n?this.value[l].endSide:this.value[l].startSide)-t;if(l==o)return c>=0?o:a;c>=0?a=l:o=l+1}}between(e,t,n,r){for(let s=this.findIndex(t,-1e9,!0),o=this.findIndex(n,1e9,!1,s);sO||u==O&&c.startSide>0&&c.endSide<=0)continue;(O-u||c.endSide-c.startSide)<0||(o<0&&(o=u),c.point&&(a=Math.max(a,O-u)),n.push(c),r.push(u-o),s.push(O-o))}return{mapped:n.length?new i(r,s,n,a):null,pos:o}}},le=class i{constructor(e,t,n,r){this.chunkPos=e,this.chunk=t,this.nextLayer=n,this.maxPoint=r}static create(e,t,n,r){return new i(e,t,n,r)}get length(){let e=this.chunk.length-1;return e<0?0:Math.max(this.chunkEnd(e),this.nextLayer.length)}get size(){if(this.isEmpty)return 0;let e=this.nextLayer.size;for(let t of this.chunk)e+=t.value.length;return e}chunkEnd(e){return this.chunkPos[e]+this.chunk[e].length}update(e){let{add:t=[],sort:n=!1,filterFrom:r=0,filterTo:s=this.length}=e,o=e.filter;if(t.length==0&&!o)return this;if(n&&(t=t.slice().sort(No)),this.isEmpty)return t.length?i.of(t):this;let a=new Kr(this,null,-1).goto(0),l=0,c=[],h=new Ri;for(;a.value||l=0){let f=t[l++];h.addInner(f.from,f.to,f.value)||c.push(f)}else a.rangeIndex==1&&a.chunkIndexthis.chunkEnd(a.chunkIndex)||sa.to||s=s&&e<=s+o.length&&o.between(s,e-s,t-s,n)===!1)return}this.nextLayer.between(e,t,n)}}iter(e=0){return Yn.from([this]).goto(e)}get isEmpty(){return this.nextLayer==this}static iter(e,t=0){return Yn.from(e).goto(t)}static compare(e,t,n,r,s=-1){let o=e.filter(f=>f.maxPoint>0||!f.isEmpty&&f.maxPoint>=s),a=t.filter(f=>f.maxPoint>0||!f.isEmpty&&f.maxPoint>=s),l=rf(o,a,n),c=new Ci(o,l,s),h=new Ci(a,l,s);n.iterGaps((f,u,O)=>sf(c,f,h,u,O,r)),n.empty&&n.length==0&&sf(c,0,h,0,0,r)}static eq(e,t,n=0,r){r==null&&(r=999999999);let s=e.filter(h=>!h.isEmpty&&t.indexOf(h)<0),o=t.filter(h=>!h.isEmpty&&e.indexOf(h)<0);if(s.length!=o.length)return!1;if(!s.length)return!0;let a=rf(s,o),l=new Ci(s,a,0).goto(n),c=new Ci(o,a,0).goto(n);for(;;){if(l.to!=c.to||!Ho(l.active,c.active)||l.point&&(!c.point||!ea(l.point,c.point)))return!1;if(l.to>r)return!0;l.next(),c.next()}}static spans(e,t,n,r,s=-1){let o=new Ci(e,null,s).goto(t),a=t,l=o.openStart;for(;;){let c=Math.min(o.to,n);if(o.point){let h=o.activeForPoint(o.to),f=o.pointFroma&&(r.span(a,c,o.active,l),l=o.openEnd(c));if(o.to>n)return l+(o.point&&o.to>n?1:0);a=o.to,o.next()}}static of(e,t=!1){let n=new Ri;for(let r of e instanceof Dn?[e]:t?y0(e):e)n.add(r.from,r.to,r.value);return n.finish()}static join(e){if(!e.length)return i.empty;let t=e[e.length-1];for(let n=e.length-2;n>=0;n--)for(let r=e[n];r!=i.empty;r=r.nextLayer)t=new i(r.chunkPos,r.chunk,t,Math.max(r.maxPoint,t.maxPoint));return t}};le.empty=new le([],[],null,-1);function y0(i){if(i.length>1)for(let e=i[0],t=1;t0)return i.slice().sort(No);e=n}return i}le.empty.nextLayer=le.empty;var Ri=class i{finishChunk(e){this.chunks.push(new Fo(this.from,this.to,this.value,this.maxPoint)),this.chunkPos.push(this.chunkStart),this.chunkStart=-1,this.setMaxPoint=Math.max(this.setMaxPoint,this.maxPoint),this.maxPoint=-1,e&&(this.from=[],this.to=[],this.value=[])}constructor(){this.chunks=[],this.chunkPos=[],this.chunkStart=-1,this.last=null,this.lastFrom=-1e9,this.lastTo=-1e9,this.from=[],this.to=[],this.value=[],this.maxPoint=-1,this.setMaxPoint=-1,this.nextLayer=null}add(e,t,n){this.addInner(e,t,n)||(this.nextLayer||(this.nextLayer=new i)).add(e,t,n)}addInner(e,t,n){let r=e-this.lastTo||n.startSide-this.last.endSide;if(r<=0&&(e-this.lastFrom||n.startSide-this.last.startSide)<0)throw new Error("Ranges must be added sorted by `from` position and `startSide`");return r<0?!1:(this.from.length==250&&this.finishChunk(!0),this.chunkStart<0&&(this.chunkStart=e),this.from.push(e-this.chunkStart),this.to.push(t-this.chunkStart),this.last=n,this.lastFrom=e,this.lastTo=t,this.value.push(n),n.point&&(this.maxPoint=Math.max(this.maxPoint,t-e)),!0)}addChunk(e,t){if((e-this.lastTo||t.value[0].startSide-this.last.endSide)<0)return!1;this.from.length&&this.finishChunk(!0),this.setMaxPoint=Math.max(this.setMaxPoint,t.maxPoint),this.chunks.push(t),this.chunkPos.push(e);let n=t.value.length-1;return this.last=t.value[n],this.lastFrom=t.from[n]+e,this.lastTo=t.to[n]+e,!0}finish(){return this.finishInner(le.empty)}finishInner(e){if(this.from.length&&this.finishChunk(!1),this.chunks.length==0)return e;let t=le.create(this.chunkPos,this.chunks,this.nextLayer?this.nextLayer.finishInner(e):e,this.setMaxPoint);return this.from=null,t}};function rf(i,e,t){let n=new Map;for(let s of i)for(let o=0;o=this.minPoint)break}}setRangeIndex(e){if(e==this.layer.chunk[this.chunkIndex].value.length){if(this.chunkIndex++,this.skip)for(;this.chunkIndex=n&&r.push(new Kr(o,t,n,s));return r.length==1?r[0]:new i(r)}get startSide(){return this.value?this.value.startSide:0}goto(e,t=-1e9){for(let n of this.heap)n.goto(e,t);for(let n=this.heap.length>>1;n>=0;n--)Lo(this.heap,n);return this.next(),this}forward(e,t){for(let n of this.heap)n.forward(e,t);for(let n=this.heap.length>>1;n>=0;n--)Lo(this.heap,n);(this.to-e||this.value.endSide-t)<0&&this.next()}next(){if(this.heap.length==0)this.from=this.to=1e9,this.value=null,this.rank=-1;else{let e=this.heap[0];this.from=e.from,this.to=e.to,this.value=e.value,this.rank=e.rank,e.value&&e.next(),Lo(this.heap,0)}}};function Lo(i,e){for(let t=i[e];;){let n=(e<<1)+1;if(n>=i.length)break;let r=i[n];if(n+1=0&&(r=i[n+1],n++),t.compare(r)<0)break;i[n]=t,i[e]=r,e=n}}var Ci=class{constructor(e,t,n){this.minPoint=n,this.active=[],this.activeTo=[],this.activeRank=[],this.minActive=-1,this.point=null,this.pointFrom=0,this.pointRank=0,this.to=-1e9,this.endSide=0,this.openStart=-1,this.cursor=Yn.from(e,t,n)}goto(e,t=-1e9){return this.cursor.goto(e,t),this.active.length=this.activeTo.length=this.activeRank.length=0,this.minActive=-1,this.to=e,this.endSide=t,this.openStart=-1,this.next(),this}forward(e,t){for(;this.minActive>-1&&(this.activeTo[this.minActive]-e||this.active[this.minActive].endSide-t)<0;)this.removeActive(this.minActive);this.cursor.forward(e,t)}removeActive(e){Dr(this.active,e),Dr(this.activeTo,e),Dr(this.activeRank,e),this.minActive=of(this.active,this.activeTo)}addActive(e){let t=0,{value:n,to:r,rank:s}=this.cursor;for(;t0;)t++;Yr(this.active,t,n),Yr(this.activeTo,t,r),Yr(this.activeRank,t,s),e&&Yr(e,t,this.cursor.from),this.minActive=of(this.active,this.activeTo)}next(){let e=this.to,t=this.point;this.point=null;let n=this.openStart<0?[]:null;for(;;){let r=this.minActive;if(r>-1&&(this.activeTo[r]-this.cursor.from||this.active[r].endSide-this.cursor.startSide)<0){if(this.activeTo[r]>e){this.to=this.activeTo[r],this.endSide=this.active[r].endSide;break}this.removeActive(r),n&&Dr(n,r)}else if(this.cursor.value)if(this.cursor.from>e){this.to=this.cursor.from,this.endSide=this.cursor.startSide;break}else{let s=this.cursor.value;if(!s.point)this.addActive(n),this.cursor.next();else if(t&&this.cursor.to==this.to&&this.cursor.from=0&&n[r]=0&&!(this.activeRank[n]e||this.activeTo[n]==e&&this.active[n].endSide>=this.point.endSide)&&t.push(this.active[n]);return t.reverse()}openEnd(e){let t=0;for(let n=this.activeTo.length-1;n>=0&&this.activeTo[n]>e;n--)t++;return t}};function sf(i,e,t,n,r,s){i.goto(e),t.goto(n);let o=n+r,a=n,l=n-e,c=!!s.boundChange;for(let h=!1;;){let f=i.to+l-t.to,u=f||i.endSide-t.endSide,O=u<0?i.to+l:t.to,m=Math.min(O,o);if(i.point||t.point?(i.point&&t.point&&ea(i.point,t.point)&&Ho(i.activeForPoint(i.to),t.activeForPoint(t.to))||s.comparePoint(a,m,i.point,t.point),h=!1):(h&&s.boundChange(a),m>a&&!Ho(i.active,t.active)&&s.compareRange(a,m,i.active,t.active),c&&mo)break;a=O,u<=0&&i.next(),u>=0&&t.next()}}function Ho(i,e){if(i.length!=e.length)return!1;for(let t=0;t=e;n--)i[n+1]=i[n];i[e]=t}function of(i,e){let t=-1,n=1e9;for(let r=0;r=e)return r;if(r==i.length)break;s+=i.charCodeAt(r)==9?t-s%t:1,r=xe(i,r)}return n===!0?-1:i.length}var bf=typeof Symbol>"u"?"__\u037C":Symbol.for("\u037C"),ta=typeof Symbol>"u"?"__styleSet"+Math.floor(Math.random()*1e8):Symbol("styleSet"),Sf=typeof globalThis<"u"?globalThis:typeof window<"u"?window:{},at=class{constructor(e,t){this.rules=[];let{finish:n}=t||{};function r(o){return/^@/.test(o)?[o]:o.split(/,\s*/)}function s(o,a,l,c){let h=[],f=/^@(\w+)\b/.exec(o[0]),u=f&&f[1]=="keyframes";if(f&&a==null)return l.push(o[0]+";");for(let O in a){let m=a[O];if(/&/.test(O))s(O.split(/,\s*/).map(p=>o.map(b=>p.replace(/&/,b))).reduce((p,b)=>p.concat(b)),m,l);else if(m&&typeof m=="object"){if(!f)throw new RangeError("The value of a property ("+O+") should be a primitive value.");s(r(O),m,h,u)}else m!=null&&h.push(O.replace(/_.*/,"").replace(/[A-Z]/g,p=>"-"+p.toLowerCase())+": "+m+";")}(h.length||u)&&l.push((n&&!f&&!c?o.map(n):o).join(", ")+" {"+h.join(" ")+"}")}for(let o in e)s(r(o),e[o],this.rules)}getRules(){return this.rules.join(` +`)}static newName(){let e=Sf[bf]||1;return Sf[bf]=e+1,"\u037C"+e.toString(36)}static mount(e,t,n){let r=e[ta],s=n&&n.nonce;r?s&&r.setNonce(s):r=new ia(e,s),r.mount(Array.isArray(t)?t:[t],e)}},yf=new Map,ia=class{constructor(e,t){let n=e.ownerDocument||e,r=n.defaultView;if(!e.head&&e.adoptedStyleSheets&&r.CSSStyleSheet){let s=yf.get(n);if(s)return e[ta]=s;this.sheet=new r.CSSStyleSheet,yf.set(n,this)}else this.styleTag=n.createElement("style"),t&&this.styleTag.setAttribute("nonce",t);this.modules=[],e[ta]=this}mount(e,t){let n=this.sheet,r=0,s=0;for(let o=0;o-1&&(this.modules.splice(l,1),s--,l=-1),l==-1){if(this.modules.splice(s++,0,a),n)for(let c=0;c",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},k0=typeof navigator<"u"&&/Mac/.test(navigator.platform),x0=typeof navigator<"u"&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent);for(be=0;be<10;be++)Wt[48+be]=Wt[96+be]=String(be);var be;for(be=1;be<=24;be++)Wt[be+111]="F"+be;var be;for(be=65;be<=90;be++)Wt[be]=String.fromCharCode(be+32),ln[be]=String.fromCharCode(be);var be;for(Jr in Wt)ln.hasOwnProperty(Jr)||(ln[Jr]=Wt[Jr]);var Jr;function kf(i){var e=k0&&i.metaKey&&i.shiftKey&&!i.ctrlKey&&!i.altKey||x0&&i.shiftKey&&i.key&&i.key.length==1||i.key=="Unidentified",t=!e&&i.key||(i.shiftKey?ln:Wt)[i.keyCode]||i.key||"Unidentified";return t=="Esc"&&(t="Escape"),t=="Del"&&(t="Delete"),t=="Left"&&(t="ArrowLeft"),t=="Up"&&(t="ArrowUp"),t=="Right"&&(t="ArrowRight"),t=="Down"&&(t="ArrowDown"),t}var Le=typeof navigator<"u"?navigator:{userAgent:"",vendor:"",platform:""},la=typeof document<"u"?document:{documentElement:{style:{}}},ca=/Edge\/(\d+)/.exec(Le.userAgent),Ff=/MSIE \d/.test(Le.userAgent),ha=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(Le.userAgent),ys=!!(Ff||ha||ca),xf=!ys&&/gecko\/(\d+)/i.test(Le.userAgent),na=!ys&&/Chrome\/(\d+)/.exec(Le.userAgent),wf="webkitFontSmoothing"in la.documentElement.style,fa=!ys&&/Apple Computer/.test(Le.vendor),Pf=fa&&(/Mobile\/\w+/.test(Le.userAgent)||Le.maxTouchPoints>2),L={mac:Pf||/Mac/.test(Le.platform),windows:/Win/.test(Le.platform),linux:/Linux|X11/.test(Le.platform),ie:ys,ie_version:Ff?la.documentMode||6:ha?+ha[1]:ca?+ca[1]:0,gecko:xf,gecko_version:xf?+(/Firefox\/(\d+)/.exec(Le.userAgent)||[0,0])[1]:0,chrome:!!na,chrome_version:na?+na[1]:0,ios:Pf,android:/Android\b/.test(Le.userAgent),webkit:wf,webkit_version:wf?+(/\bAppleWebKit\/(\d+)/.exec(Le.userAgent)||[0,0])[1]:0,safari:fa,safari_version:fa?+(/\bVersion\/(\d+(\.\d+)?)/.exec(Le.userAgent)||[0,0])[1]:0,tabSize:la.documentElement.style.tabSize!=null?"tab-size":"-moz-tab-size"};function Ba(i,e){for(let t in i)t=="class"&&e.class?e.class+=" "+i.class:t=="style"&&e.style?e.style+=";"+i.style:e[t]=i[t];return e}var cs=Object.create(null);function Ua(i,e,t){if(i==e)return!0;i||(i=cs),e||(e=cs);let n=Object.keys(i),r=Object.keys(e);if(n.length-(t&&n.indexOf(t)>-1?1:0)!=r.length-(t&&r.indexOf(t)>-1?1:0))return!1;for(let s of n)if(s!=t&&(r.indexOf(s)==-1||i[s]!==e[s]))return!1;return!0}function w0(i,e){for(let t=i.attributes.length-1;t>=0;t--){let n=i.attributes[t].name;e[n]==null&&i.removeAttribute(n)}for(let t in e){let n=e[t];t=="style"?i.style.cssText=n:i.getAttribute(t)!=n&&i.setAttribute(t,n)}}function vf(i,e,t){let n=!1;if(e)for(let r in e)t&&r in t||(n=!0,r=="style"?i.style.cssText="":i.removeAttribute(r));if(t)for(let r in t)e&&e[r]==t[r]||(n=!0,r=="style"?i.style.cssText=t[r]:i.setAttribute(r,t[r]));return n}function P0(i){let e=Object.create(null);for(let t=0;t0?3e8:-4e8:t>0?1e8:-1e8,new Ei(e,t,t,n,e.widget||null,!1)}static replace(e){let t=!!e.block,n,r;if(e.isBlockGap)n=-5e8,r=4e8;else{let{start:s,end:o}=Hf(e,t);n=(s?t?-3e8:-1:5e8)-1,r=(o?t?2e8:1:-6e8)+1}return new Ei(e,n,r,t,e.widget||null,!0)}static line(e){return new nr(e)}static set(e,t=!1){return le.of(e,t)}hasHeight(){return this.widget?this.widget.estimatedHeight>-1:!1}};R.none=le.empty;var ir=class i extends R{constructor(e){let{start:t,end:n}=Hf(e);super(t?-1:5e8,n?1:-6e8,null,e),this.tagName=e.tagName||"span",this.attrs=e.class&&e.attributes?Ba(e.attributes,{class:e.class}):e.class?{class:e.class}:e.attributes||cs}eq(e){return this==e||e instanceof i&&this.tagName==e.tagName&&Ua(this.attrs,e.attrs)}range(e,t=e){if(e>=t)throw new RangeError("Mark decorations may not be empty");return super.range(e,t)}};ir.prototype.point=!1;var nr=class i extends R{constructor(e){super(-2e8,-2e8,null,e)}eq(e){return e instanceof i&&this.spec.class==e.spec.class&&Ua(this.spec.attributes,e.spec.attributes)}range(e,t=e){if(t!=e)throw new RangeError("Line decoration ranges must be zero-length");return super.range(e,t)}};nr.prototype.mapMode=ge.TrackBefore;nr.prototype.point=!0;var Ei=class i extends R{constructor(e,t,n,r,s,o){super(t,n,s,e),this.block=r,this.isReplace=o,this.mapMode=r?t<=0?ge.TrackBefore:ge.TrackAfter:ge.TrackDel}get type(){return this.startSide!=this.endSide?ut.WidgetRange:this.startSide<=0?ut.WidgetBefore:ut.WidgetAfter}get heightRelevant(){return this.block||!!this.widget&&(this.widget.estimatedHeight>=5||this.widget.lineBreaks>0)}eq(e){return e instanceof i&&v0(this.widget,e.widget)&&this.block==e.block&&this.startSide==e.startSide&&this.endSide==e.endSide}range(e,t=e){if(this.isReplace&&(e>t||e==t&&this.startSide>0&&this.endSide<=0))throw new RangeError("Invalid range for replacement decoration");if(!this.isReplace&&t!=e)throw new RangeError("Widget decorations can only have zero-length ranges");return super.range(e,t)}};Ei.prototype.point=!0;function Hf(i,e=!1){let{inclusiveStart:t,inclusiveEnd:n}=i;return t==null&&(t=i.inclusive),n==null&&(n=i.inclusive),{start:t??e,end:n??e}}function v0(i,e){return i==e||!!(i&&e&&i.compare(e))}function un(i,e,t,n=0){let r=t.length-1;r>=0&&t[r]+n>=i?t[r]=Math.max(t[r],e):t.push(i,e)}var ci=class i extends st{constructor(e,t,n){super(),this.tagName=e,this.attributes=t,this.rank=n}eq(e){return e==this||e instanceof i&&this.tagName==e.tagName&&Ua(this.attributes,e.attributes)}static create(e){return new i(e.tagName,e.attributes||cs,e.rank==null?50:Math.max(0,Math.min(e.rank,100)))}static set(e,t=!1){return le.of(e,t)}};ci.prototype.startSide=ci.prototype.endSide=-1;function rr(i){let e;return i.nodeType==11?e=i.getSelection?i:i.ownerDocument:e=i,e.getSelection()}function ua(i,e){return e?i==e||i.contains(e.nodeType!=1?e.parentNode:e):!1}function Nn(i,e){if(!e.anchorNode)return!1;try{return ua(i,e.anchorNode)}catch{return!1}}function as(i){return i.nodeType==3?sr(i,0,i.nodeValue.length).getClientRects():i.nodeType==1?i.getClientRects():[]}function Fn(i,e,t,n){return t?$f(i,e,t,n,-1)||$f(i,e,t,n,1):!1}function hi(i){for(var e=0;;e++)if(i=i.previousSibling,!i)return e}function hs(i){return i.nodeType==1&&/^(DIV|P|LI|UL|OL|BLOCKQUOTE|DD|DT|H\d|SECTION|PRE)$/.test(i.nodeName)}function $f(i,e,t,n,r){for(;;){if(i==t&&e==n)return!0;if(e==(r<0?0:Dt(i))){if(i.nodeName=="DIV")return!1;let s=i.parentNode;if(!s||s.nodeType!=1)return!1;e=hi(i)+(r<0?0:1),i=s}else if(i.nodeType==1){if(i=i.childNodes[e+(r<0?-1:0)],i.nodeType==1&&i.contentEditable=="false")return!1;e=r<0?Dt(i):0}else return!1}}function Dt(i){return i.nodeType==3?i.nodeValue.length:i.childNodes.length}function fs(i,e){let{left:t,right:n}=i;if(t==n)return i;let r=e?t:n;return{left:r,right:r,top:i.top,bottom:i.bottom}}function $0(i){let e=i.visualViewport;return e?{left:0,right:e.width,top:0,bottom:e.height}:{left:0,right:i.innerWidth,top:0,bottom:i.innerHeight}}function Kf(i,e){let t=e.width/i.offsetWidth,n=e.height/i.offsetHeight;return(t>.995&&t<1.005||!isFinite(t)||Math.abs(e.width-i.offsetWidth)<1)&&(t=1),(n>.995&&n<1.005||!isFinite(n)||Math.abs(e.height-i.offsetHeight)<1)&&(n=1),{scaleX:t,scaleY:n}}function T0(i,e,t,n,r,s,o,a){let l=i.ownerDocument,c=l.defaultView||window;for(let h=i,f=!1;h&&!f;)if(h.nodeType==1){let u,O=h==l.body,m=1,p=1;if(O)u=$0(c);else{if(/^(fixed|sticky)$/.test(getComputedStyle(h).position)&&(f=!0),h.scrollHeight<=h.clientHeight&&h.scrollWidth<=h.clientWidth){h=h.assignedSlot||h.parentNode;continue}let Q=h.getBoundingClientRect();({scaleX:m,scaleY:p}=Kf(h,Q)),u={left:Q.left,right:Q.left+h.clientWidth*m,top:Q.top,bottom:Q.top+h.clientHeight*p}}let b=0,g=0;if(r=="nearest")e.top0&&e.bottom>u.bottom+g&&(g=e.bottom-u.bottom+o)):e.bottom>u.bottom-o&&(g=e.bottom-u.bottom+o,t<0&&e.top-g0&&e.right>u.right+b&&(b=e.right-u.right+s)):e.right>u.right-s&&(b=e.right-u.right+s,t<0&&e.leftu.bottom||e.leftu.right)&&(e={left:Math.max(e.left,u.left),right:Math.min(e.right,u.right),top:Math.max(e.top,u.top),bottom:Math.min(e.bottom,u.bottom)}),h=h.assignedSlot||h.parentNode}else if(h.nodeType==11)h=h.host;else break}function Jf(i,e=!0){let t=i.ownerDocument,n=null,r=null;for(let s=i.parentNode;s&&!(s==t.body||(!e||n)&&r);)if(s.nodeType==1)!r&&s.scrollHeight>s.clientHeight&&(r=s),e&&!n&&s.scrollWidth>s.clientWidth&&(n=s),s=s.assignedSlot||s.parentNode;else if(s.nodeType==11)s=s.host;else break;return{x:n,y:r}}var Oa=class{constructor(){this.anchorNode=null,this.anchorOffset=0,this.focusNode=null,this.focusOffset=0}eq(e){return this.anchorNode==e.anchorNode&&this.anchorOffset==e.anchorOffset&&this.focusNode==e.focusNode&&this.focusOffset==e.focusOffset}setRange(e){let{anchorNode:t,focusNode:n}=e;this.set(t,Math.min(e.anchorOffset,t?Dt(t):0),n,Math.min(e.focusOffset,n?Dt(n):0))}set(e,t,n,r){this.anchorNode=e,this.anchorOffset=t,this.focusNode=n,this.focusOffset=r}},Ai=null;L.safari&&L.safari_version>=26&&(Ai=!1);function eu(i){if(i.setActive)return i.setActive();if(Ai)return i.focus(Ai);let e=[];for(let t=i;t&&(e.push(t,t.scrollTop,t.scrollLeft),t!=t.ownerDocument);t=t.parentNode);if(i.focus(Ai==null?{get preventScroll(){return Ai={preventScroll:!0},!0}}:void 0),!Ai){Ai=!1;for(let t=0;tMath.max(0,i.document.documentElement.scrollHeight-i.innerHeight-4):i.scrollTop>Math.max(1,i.scrollHeight-i.clientHeight-4)}function iu(i,e){for(let t=i,n=e;;){if(t.nodeType==3&&n>0)return{node:t,offset:n};if(t.nodeType==1&&n>0){if(t.contentEditable=="false")return null;t=t.childNodes[n-1],n=Dt(t)}else if(t.parentNode&&!hs(t))n=hi(t),t=t.parentNode;else return null}}function nu(i,e){for(let t=i,n=e;;){if(t.nodeType==3&&n=t){if(a.level==n)return o;(s<0||(r!=0?r<0?a.fromt:e[s].level>a.level))&&(s=o)}}if(s<0)throw new RangeError("Index out of range");return s}};function ou(i,e){if(i.length!=e.length)return!1;for(let t=0;t=0;p-=3)if(_t[p+1]==-O){let b=_t[p+2],g=b&2?r:b&4?b&1?s:r:0;g&&(oe[f]=oe[_t[p]]=g),a=p;break}}else{if(_t.length==189)break;_t[a++]=f,_t[a++]=u,_t[a++]=l}else if((m=oe[f])==2||m==1){let p=m==r;l=p?0:1;for(let b=a-3;b>=0;b-=3){let g=_t[b+2];if(g&2)break;if(p)_t[b+2]|=2;else{if(g&4)break;_t[b+2]|=4}}}}}function q0(i,e,t,n){for(let r=0,s=n;r<=t.length;r++){let o=r?t[r-1].to:i,a=rl;)m==b&&(m=t[--p].from,b=p?t[p-1].to:i),oe[--m]=O;l=h}else s=c,l++}}}function pa(i,e,t,n,r,s,o){let a=n%2?2:1;if(n%2==r%2)for(let l=e,c=0;ll&&o.push(new ht(l,p.from,O));let b=p.direction==qi!=!(O%2);ma(i,b?n+1:n,r,p.inner,p.from,p.to,o),l=p.to}m=p.to}else{if(m==t||(h?oe[m]!=a:oe[m]==a))break;m++}u?pa(i,l,m,n+1,r,u,o):le;){let h=!0,f=!1;if(!c||l>s[c-1].to){let p=oe[l-1];p!=a&&(h=!1,f=p==16)}let u=!h&&a==1?[]:null,O=h?n:n+1,m=l;e:for(;;)if(c&&m==s[c-1].to){if(f)break e;let p=s[--c];if(!h)for(let b=p.from,g=c;;){if(b==e)break e;if(g&&s[g-1].to==b)b=s[--g].from;else{if(oe[b-1]==a)break e;break}}if(u)u.push(p);else{p.tooe.length;)oe[oe.length]=256;let n=[],r=e==qi?0:1;return ma(i,r,r,t,0,i.length,n),n}function au(i){return[new ht(0,i,0)]}var lu="";function L0(i,e,t,n,r){var s;let o=n.head-i.from,a=ht.find(e,o,(s=n.bidiLevel)!==null&&s!==void 0?s:-1,n.assoc),l=e[a],c=l.side(r,t);if(o==c){let u=a+=r?1:-1;if(u<0||u>=e.length)return null;l=e[a=u],o=l.side(!r,t),c=l.side(r,t)}let h=xe(i.text,o,l.forward(r,t));(hl.to)&&(h=c),lu=i.text.slice(Math.min(o,h),Math.max(o,h));let f=a==(r?e.length-1:0)?null:e[a+(r?1:-1)];return f&&h==c&&f.level+(r?0:1)i.some(e=>e)}),W0=Y.define({combine:i=>i.some(e=>e)}),mu=Y.define(),Hn=class i{constructor(e,t,n,r,s,o=!1){this.range=e,this.y=t,this.x=n,this.yMargin=r,this.xMargin=s,this.isSnapshot=o}map(e){return e.empty?this:new i(this.range.map(e),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}clip(e){return this.range.to<=e.doc.length?this:new i(v.cursor(e.doc.length),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}},es=ie.define({map:(i,e)=>i.map(e)}),gu=ie.define();function ft(i,e,t){let n=i.facet(uu);n.length?n[0](e):window.onerror&&window.onerror(String(e),t,void 0,void 0,e)||(t?console.error(t+":",e):console.error(e))}var jt=Y.define({combine:i=>i.length?i[0]:!0}),j0=0,hn=Y.define({combine(i){return i.filter((e,t)=>{for(let n=0;n{let l=[];return o&&l.push(ks.of(c=>{let h=c.plugin(a);return h?o(h):R.none})),s&&l.push(s(a)),l})}static fromClass(e,t){return i.define((n,r)=>new e(n,r),t)}},Kn=class{constructor(e){this.spec=e,this.mustUpdate=null,this.value=null}get plugin(){return this.spec&&this.spec.plugin}update(e){if(this.value){if(this.mustUpdate){let t=this.mustUpdate;if(this.mustUpdate=null,this.value.update)try{this.value.update(t)}catch(n){if(ft(t.state,n,"CodeMirror plugin crashed"),this.value.destroy)try{this.value.destroy()}catch{}this.deactivate()}}}else if(this.spec)try{this.value=this.spec.plugin.create(e,this.spec.arg)}catch(t){ft(e.state,t,"CodeMirror plugin crashed"),this.deactivate()}return this}destroy(e){var t;if(!((t=this.value)===null||t===void 0)&&t.destroy)try{this.value.destroy()}catch(n){ft(e.state,n,"CodeMirror plugin crashed")}}deactivate(){this.spec=this.value=null}},Qu=Y.define(),Ha=Y.define(),ks=Y.define(),bu=Y.define(),Ka=Y.define(),or=Y.define(),Su=Y.define();function Cf(i,e){let t=i.state.facet(Su);if(!t.length)return t;let n=t.map(s=>s instanceof Function?s(i):s),r=[];return le.spans(n,e.from,e.to,{point(){},span(s,o,a,l){let c=s-e.from,h=o-e.from,f=r;for(let u=a.length-1;u>=0;u--,l--){let O=a[u].spec.bidiIsolate,m;if(O==null&&(O=M0(e.text,c,h)),l>0&&f.length&&(m=f[f.length-1]).to==c&&m.direction==O)m.to=h,f=m.inner;else{let p={from:c,to:h,direction:O,inner:[]};f.push(p),f=p.inner}}}}),r}var yu=Y.define();function ku(i){let e=0,t=0,n=0,r=0;for(let s of i.state.facet(yu)){let o=s(i);o&&(o.left!=null&&(e=Math.max(e,o.left)),o.right!=null&&(t=Math.max(t,o.right)),o.top!=null&&(n=Math.max(n,o.top)),o.bottom!=null&&(r=Math.max(r,o.bottom)))}return{left:e,right:t,top:n,bottom:r}}var Bn=Y.define(),yt=class i{constructor(e,t,n,r){this.fromA=e,this.toA=t,this.fromB=n,this.toB=r}join(e){return new i(Math.min(this.fromA,e.fromA),Math.max(this.toA,e.toA),Math.min(this.fromB,e.fromB),Math.max(this.toB,e.toB))}addToSet(e){let t=e.length,n=this;for(;t>0;t--){let r=e[t-1];if(!(r.fromA>n.toA)){if(r.toAr.push(new yt(s,o,a,l))),this.changedRanges=r}static create(e,t,n){return new i(e,t,n)}get viewportChanged(){return(this.flags&4)>0}get viewportMoved(){return(this.flags&8)>0}get heightChanged(){return(this.flags&2)>0}get geometryChanged(){return this.docChanged||(this.flags&18)>0}get focusChanged(){return(this.flags&1)>0}get docChanged(){return!this.changes.empty}get selectionSet(){return this.transactions.some(e=>e.selection)}get empty(){return this.flags==0&&this.transactions.length==0}},V0=[],ue=class{constructor(e,t,n=0){this.dom=e,this.length=t,this.flags=n,this.parent=null,e.cmTile=this}get breakAfter(){return this.flags&1}get children(){return V0}isWidget(){return!1}get isHidden(){return!1}isComposite(){return!1}isLine(){return!1}isText(){return!1}isBlock(){return!1}get domAttrs(){return null}sync(e){if(this.flags|=2,this.flags&4){this.flags&=-5;let t=this.domAttrs;t&&w0(this.dom,t)}}toString(){return this.constructor.name+(this.children.length?`(${this.children})`:"")+(this.breakAfter?"#":"")}destroy(){this.parent=null}setDOM(e){this.dom=e,e.cmTile=this}get posAtStart(){return this.parent?this.parent.posBefore(this):0}get posAtEnd(){return this.posAtStart+this.length}posBefore(e,t=this.posAtStart){let n=t;for(let r of this.children){if(r==e)return n;n+=r.length+r.breakAfter}throw new RangeError("Invalid child in posBefore")}posAfter(e){return this.posBefore(e)+e.length}covers(e){return!0}coordsIn(e,t,n){return null}domPosFor(e,t){let n=hi(this.dom),r=this.length?e>0:t>0;return new Rt(this.parent.dom,n+(r?1:0),e==0||e==this.length)}markDirty(e){this.flags&=-3,e&&(this.flags|=4),this.parent&&this.parent.flags&2&&this.parent.markDirty(!1)}get overrideDOMText(){return null}get root(){for(let e=this;e;e=e.parent)if(e instanceof pn)return e;return null}static get(e){return e.cmTile}},dn=class extends ue{constructor(e){super(e,0),this._children=[]}isComposite(){return!0}get children(){return this._children}get lastChild(){return this.children.length?this.children[this.children.length-1]:null}append(e){this.children.push(e),e.parent=this}sync(e){if(this.flags&2)return;super.sync(e);let t=this.dom,n=null,r,s=e?.node==t?e:null,o=0;for(let a of this.children){if(a.sync(e),o+=a.length+a.breakAfter,r=n?n.nextSibling:t.firstChild,s&&r!=a.dom&&(s.written=!0),a.dom.parentNode==t)for(;r&&r!=a.dom;)r=Xf(r);else t.insertBefore(a.dom,r);n=a.dom}for(r=n?n.nextSibling:t.firstChild,s&&r&&(s.written=!0);r;)r=Xf(r);this.length=o}};function Xf(i){let e=i.nextSibling;return i.parentNode.removeChild(i),e}var pn=class extends dn{constructor(e,t){super(t),this.view=e}owns(e){for(;e;e=e.parent)if(e==this)return!0;return!1}isBlock(){return!0}nearest(e){for(;;){if(!e)return null;let t=ue.get(e);if(t&&this.owns(t))return t;e=e.parentNode}}blockTiles(e){for(let t=[],n=this,r=0,s=0;;)if(r==n.children.length){if(!t.length)return;n=n.parent,n.breakAfter&&s++,r=t.pop()}else{let o=n.children[r++];if(o instanceof Vt)t.push(r),n=o,r=0;else{let a=s+o.length,l=e(o,s);if(l!==void 0)return l;s=a+o.breakAfter}}}resolveBlock(e,t){let n,r=-1,s,o=-1;if(this.blockTiles((a,l)=>{let c=l+a.length;if(e>=l&&e<=c){if(a.isWidget()&&t>=-1&&t<=1){if(a.flags&32)return!0;a.flags&16&&(n=void 0)}(le||e==l&&(t>1?a.length:a.covers(-1)))&&(!s||!a.isWidget()&&s.isWidget())&&(s=a,o=e-l)}}),!n&&!s)throw new Error("No tile at position "+e);return n&&t<0||!s?{tile:n,offset:r}:{tile:s,offset:o}}},Vt=class i extends dn{constructor(e,t){super(e),this.wrapper=t}isBlock(){return!0}covers(e){return this.children.length?e<0?this.children[0].covers(-1):this.lastChild.covers(1):!1}get domAttrs(){return this.wrapper.attributes}static of(e,t){let n=new i(t||document.createElement(e.tagName),e);return t||(n.flags|=4),n}},mn=class i extends dn{constructor(e,t){super(e),this.attrs=t}isLine(){return!0}static start(e,t,n){let r=new i(t||document.createElement("div"),e);return(!t||!n)&&(r.flags|=4),r}get domAttrs(){return this.attrs}resolveInline(e,t,n){let r=null,s=-1,o=null,a=-1;function l(h,f){for(let u=0,O=0;u=f&&(m.isComposite()?l(m,f-O):(!o||o.isHidden&&(t>0&&!(o.flags&32)||n&&Y0(o,m)))&&(p>f||m.flags&32)?(o=m,a=f-O):(Or&&(e=r);let s=e,o=e,a=0;e==0&&t<0||e==r&&t>=0?L.chrome||L.gecko||(e?(s--,a=1):o=0)?0:l.length-1];return L.safari&&!a&&c.width==0&&(c=Array.prototype.find.call(l,h=>h.width)||c),n==null?c:fs(c,(a?a>0:t<0)==n)}static of(e,t){let n=new i(t||document.createTextNode(e),e);return t||(n.flags|=2),n}},zi=class i extends ue{constructor(e,t,n,r){super(e,t,r),this.widget=n}isWidget(){return!0}get isHidden(){return this.widget.isHidden}covers(e){return this.flags&48?!1:(this.flags&(e<0?64:128))>0}coordsIn(e,t){return this.coordsInWidget(e,t,!1)}coordsInWidget(e,t,n){let r=this.widget.coordsAt(this.dom,e,t);if(r)return r;if(n)return fs(this.dom.getBoundingClientRect(),this.length?e==0:t<=0);{let s=this.dom.getClientRects(),o=null;if(!s.length)return null;let a=this.flags&16?!0:this.flags&32?!1:e>0;for(let l=a?s.length-1:0;o=s[l],!(e>0?l==0:l==s.length-1||o.top0==n)}},Qa=class{constructor(e){this.index=0,this.beforeBreak=!1,this.parents=[],this.tile=e}advance(e,t,n){let{tile:r,index:s,beforeBreak:o,parents:a}=this;for(;e||t>0;)if(r.isComposite())if(o){if(!e)break;n&&n.break(),e--,o=!1}else if(s==r.children.length){if(!e&&!a.length)break;n&&n.leave(r),o=!!r.breakAfter,{tile:r,index:s}=a.pop(),s++}else{let l=r.children[s],c=l.breakAfter;(t>0?l.length<=e:l.length=0;a--){let l=t.marks[a],c=r.lastChild;if(c instanceof Ve&&c.mark.eq(l.mark))c.dom!=l.dom&&c.setDOM(ra(l.dom)),r=c;else{if(this.cache.reused.get(l)){let f=ue.get(l.dom);f&&f.setDOM(ra(l.dom))}let h=Ve.of(l.mark,l.dom);r.append(h),r=h}this.cache.reused.set(l,2)}let s=ue.get(e.text);s&&this.cache.reused.set(s,2);let o=new Zi(e.text,e.text.nodeValue);o.flags|=8,this.pos=e.range.toB,r.append(o)}addInlineWidget(e,t,n){let r=this.afterWidget&&e.flags&48&&(this.afterWidget.flags&48)==(e.flags&48);r||this.flushBuffer();let s=this.ensureMarks(t,n);!r&&!(e.flags&16)&&s.append(this.getBuffer(1)),s.append(e),this.pos+=e.length,this.afterWidget=e}addMark(e,t,n){this.flushBuffer(),this.ensureMarks(t,n).append(e),this.pos+=e.length,this.afterWidget=null}addBlockWidget(e){this.getBlockPos().append(e),this.pos+=e.length,this.lastBlock=e,this.endLine()}continueWidget(e){let t=this.afterWidget||this.lastBlock;t.length+=e,this.pos+=e}addLineStart(e,t){var n;e||(e=xu);let r=mn.start(e,t||((n=this.cache.find(mn))===null||n===void 0?void 0:n.dom),!!t);this.getBlockPos().append(this.lastBlock=this.curLine=r)}addLine(e){this.getBlockPos().append(e),this.pos+=e.length,this.lastBlock=e,this.endLine()}addBreak(){this.lastBlock.flags|=1,this.endLine(),this.pos++}addLineStartIfNotCovered(e){this.blockPosCovered()||this.addLineStart(e)}ensureLine(e){this.curLine||this.addLineStart(e)}ensureMarks(e,t){var n;let r=this.curLine;for(let s=e.length-1;s>=0;s--){let o=e[s],a;if(t>0&&(a=r.lastChild)&&a instanceof Ve&&a.mark.eq(o))r=a,t--;else{let l=Ve.of(o,(n=this.cache.find(Ve,c=>c.mark.eq(o)))===null||n===void 0?void 0:n.dom);r.append(l),r=l,t=0}}return r}endLine(){if(this.curLine){this.flushBuffer();let e=this.curLine.lastChild;(!e||!_f(this.curLine,!1)||e.dom.nodeName!="BR"&&e.isWidget()&&!(L.ios&&_f(this.curLine,!0)))&&this.curLine.append(this.cache.findWidget(sa,0,32)||new zi(sa.toDOM(),0,sa,32)),this.curLine=this.afterWidget=null}}updateBlockWrappers(){this.wrapperPos>this.pos+1e4&&(this.blockWrappers.goto(this.pos),this.wrappers.length=0);for(let e=this.wrappers.length-1;e>=0;e--)this.wrappers[e].to=this.pos){let t=e.rank*102+e.value.rank,n=new ba(e.from,e.to,e.value,t),r=this.wrappers.length;for(;r>0&&(this.wrappers[r-1].rank-n.rank||this.wrappers[r-1].to-n.to)<0;)r--;this.wrappers.splice(r,0,n)}this.wrapperPos=this.pos}getBlockPos(){var e;this.updateBlockWrappers();let t=this.root;for(let n of this.wrappers){let r=t.lastChild;if(n.fromo.wrapper.eq(n.wrapper)))===null||e===void 0?void 0:e.dom);t.append(s),t=s}}return t}blockPosCovered(){let e=this.lastBlock;return e!=null&&!e.breakAfter&&(!e.isWidget()||(e.flags&160)>0)}getBuffer(e){let t=2|(e<0?16:32),n=this.cache.find(gn,void 0,1);return n&&(n.flags=t),n||new gn(t)}flushBuffer(){this.afterWidget&&!(this.afterWidget.flags&32)&&(this.afterWidget.parent.append(this.getBuffer(-1)),this.afterWidget=null)}},ya=class{constructor(e){this.skipCount=0,this.text="",this.textOff=0,this.cursor=e.iter()}skip(e){this.textOff+e<=this.text.length?this.textOff+=e:(this.skipCount+=e-(this.text.length-this.textOff),this.text="",this.textOff=0)}next(e){if(this.textOff==this.text.length){let{value:r,lineBreak:s,done:o}=this.cursor.next(this.skipCount);if(this.skipCount=0,o)throw new Error("Ran out of text content when drawing inline views");this.text=r;let a=this.textOff=Math.min(e,r.length);return s?null:r.slice(0,a)}let t=Math.min(this.text.length,this.textOff+e),n=this.text.slice(this.textOff,t);return this.textOff=t,n}},Os=[zi,mn,Zi,Ve,gn,Vt,pn];for(let i=0;i[]),this.index=Os.map(()=>0),this.reused=new Map}add(e){let t=e.constructor.bucket,n=this.buckets[t];n.length<6?n.push(e):n[this.index[t]=(this.index[t]+1)%6]=e}find(e,t,n=2){let r=e.bucket,s=this.buckets[r],o=this.index[r];for(let a=0;a{if(this.cache.add(o),o.isComposite())return!1},enter:o=>this.cache.add(o),leave:()=>{},break:()=>{}}}run(e,t){let n=t&&this.getCompositionContext(t.text);for(let r=0,s=0,o=0;;){let a=or){let c=l-r;this.preserve(c,!o,!a),r=l,s+=c}if(!a)break;t&&a.fromA<=t.range.fromA&&a.toA>=t.range.toA?(this.forward(a.fromA,t.range.fromA,t.range.fromA{if(o.isWidget())if(this.openWidget)this.builder.continueWidget(l-a);else{let c=l>0||a{o.isLine()?this.builder.addLineStart(o.attrs,this.cache.maybeReuse(o)):(this.cache.add(o),o instanceof Ve&&r.unshift(o.mark)),this.openWidget=!1},leave:o=>{o.isLine()?r.length&&(r.length=s=0):o instanceof Ve&&(r.shift(),s=Math.min(s,r.length))},break:()=>{this.builder.addBreak(),this.openWidget=!1}}),this.text.skip(e)}emit(e,t){let n=null,r=this.builder,s=-1,o=le.spans(this.decorations,e,t,{point:(a,l,c,h,f,u)=>{if(c instanceof Ei){if(this.disallowBlockEffectsFor[u]){if(c.block)throw new RangeError("Block decorations may not be specified via plugins");if(l>this.view.state.doc.lineAt(a).to)throw new RangeError("Decorations that replace line breaks may not be specified via plugins")}if(s=h.length,f>h.length)r.continueWidget(l-a);else{let O=c.widget||(c.block?fi.block:fi.inline),m=I0(c),p=this.cache.findWidget(O,l-a,m)||zi.of(O,this.view,l-a,m);c.block?(c.startSide>0&&r.addLineStartIfNotCovered(n),r.addBlockWidget(p)):(r.ensureLine(n),r.addInlineWidget(p,h,f))}n=null}else n=B0(n,c);l>a&&this.text.skip(l-a)},span:(a,l,c,h)=>{for(let f=a;f-1&&(this.openWidget=o>s),this.openWidget||r.addLineStartIfNotCovered(n),this.openMarks=o}forward(e,t,n=1){t-e<=10?this.old.advance(t-e,n,this.reuseWalker):(this.old.advance(5,-1,this.reuseWalker),this.old.advance(t-e-10,-1),this.old.advance(5,n,this.reuseWalker))}getCompositionContext(e){let t=[],n=null;for(let r=e.parentNode;;r=r.parentNode){let s=ue.get(r);if(r==this.view.contentDOM)break;s instanceof Ve?t.push(s):s?.isLine()?n=s:s instanceof Vt||(r.nodeName=="DIV"&&!n&&r!=this.view.contentDOM?n=new mn(r,xu):n||t.push(Ve.of(new ir({tagName:r.nodeName.toLowerCase(),attributes:P0(r)}),r)))}return{line:n,marks:t}}};function _f(i,e){let t=n=>{for(let r of n.children)if((e?r.isText():r.length)||t(r))return!0;return!1};return t(i)}function I0(i){let e=i.isReplace?(i.startSide<0?64:0)|(i.endSide>0?128:0):i.startSide>0?32:16;return i.block&&(e|=256),e}var xu={class:"cm-line"};function B0(i,e){let t=e.spec.attributes,n=e.spec.class;return!t&&!n||(i||(i={class:"cm-line"}),t&&Ba(t,i),n&&(i.class+=" "+n)),i}function U0(i){let e=[];for(let t=i.parents.length;t>1;t--){let n=t==i.parents.length?i.tile:i.parents[t].tile;n instanceof Ve&&e.push(n.mark)}return e}function ra(i){let e=ue.get(i);return e&&e.setDOM(i.cloneNode()),i}var fi=class extends Ce{constructor(e){super(),this.tag=e}eq(e){return e.tag==this.tag}toDOM(){return document.createElement(this.tag)}updateDOM(e){return e.nodeName.toLowerCase()==this.tag}get isHidden(){return!0}};fi.inline=new fi("span");fi.block=new fi("div");var sa=new class extends Ce{toDOM(){return document.createElement("br")}get isHidden(){return!0}get editable(){return!0}},ds=class{constructor(e){this.view=e,this.decorations=[],this.blockWrappers=[],this.dynamicDecorationMap=[!1],this.domChanged=null,this.hasComposition=null,this.editContextFormatting=R.none,this.lastCompositionAfterCursor=!1,this.minWidth=0,this.minWidthFrom=0,this.minWidthTo=0,this.impreciseAnchor=null,this.impreciseHead=null,this.forceSelection=!1,this.lastUpdate=Date.now(),this.updateDeco(),this.tile=new pn(e,e.contentDOM),this.updateInner([new yt(0,0,0,e.state.doc.length)],null)}update(e){var t;let n=e.changedRanges;this.minWidth>0&&n.length&&(n.every(({fromA:h,toA:f})=>fthis.minWidthTo)?(this.minWidthFrom=e.changes.mapPos(this.minWidthFrom,1),this.minWidthTo=e.changes.mapPos(this.minWidthTo,1)):this.minWidth=this.minWidthFrom=this.minWidthTo=0),this.updateEditContextFormatting(e);let r=-1;this.view.inputState.composing>=0&&!this.view.observer.editContext&&(!((t=this.domChanged)===null||t===void 0)&&t.newSel?r=this.domChanged.newSel.head:!tQ(e.changes,this.hasComposition)&&!e.selectionSet&&(r=e.state.selection.main.head));let s=r>-1?N0(this.view,e.changes,r):null;if(this.domChanged=null,this.hasComposition){let{from:h,to:f}=this.hasComposition;n=new yt(h,f,e.changes.mapPos(h,-1),e.changes.mapPos(f,1)).addToSet(n.slice())}this.hasComposition=s?{from:s.range.fromB,to:s.range.toB}:null,(L.ie||L.chrome)&&!s&&e&&e.state.doc.lines!=e.startState.doc.lines&&(this.forceSelection=!0);let o=this.decorations,a=this.blockWrappers;this.updateDeco();let l=K0(o,this.decorations,e.changes);l.length&&(n=yt.extendWithRanges(n,l));let c=J0(a,this.blockWrappers,e.changes);return c.length&&(n=yt.extendWithRanges(n,c)),s&&!n.some(h=>h.fromA<=s.range.fromA&&h.toA>=s.range.toA)&&(n=s.range.addToSet(n.slice())),this.tile.flags&2&&n.length==0?!1:(this.updateInner(n,s),e.transactions.length&&(this.lastUpdate=Date.now()),!0)}updateInner(e,t){this.view.viewState.mustMeasureContent=!0;let{observer:n}=this.view;n.ignore(()=>{if(t||e.length){let o=this.tile,a=new xa(this.view,o,this.blockWrappers,this.decorations,this.dynamicDecorationMap);t&&ue.get(t.text)&&a.cache.reused.set(ue.get(t.text),2),this.tile=a.run(e,t),wa(o,a.cache.reused)}this.tile.dom.style.height=this.view.viewState.contentHeight/this.view.scaleY+"px",this.tile.dom.style.flexBasis=this.minWidth?this.minWidth+"px":"";let s=L.chrome||L.ios?{node:n.selectionRange.focusNode,written:!1}:void 0;this.tile.sync(s),s&&(s.written||n.selectionRange.focusNode!=s.node||!this.tile.dom.contains(s.node))&&(this.forceSelection=!0),this.tile.dom.style.height=""});let r=[];if(this.view.viewport.from||this.view.viewport.to-1)&&Nn(n,this.view.observer.selectionRange)&&!(r&&n.contains(r));if(!(s||t||o))return;let a=this.forceSelection;this.forceSelection=!1;let l=this.view.state.selection.main,c,h;if(l.empty?h=c=this.inlineDOMNearPos(l.anchor,l.assoc||1):(h=this.inlineDOMNearPos(l.head,l.head==l.from?1:-1),c=this.inlineDOMNearPos(l.anchor,l.anchor==l.from?1:-1)),L.gecko&&l.empty&&!this.hasComposition&&G0(c)){let u=document.createTextNode("");this.view.observer.ignore(()=>c.node.insertBefore(u,c.node.childNodes[c.offset]||null)),c=h=new Rt(u,0),a=!0}let f=this.view.observer.selectionRange;(a||!f.focusNode||(!Fn(c.node,c.offset,f.anchorNode,f.anchorOffset)||!Fn(h.node,h.offset,f.focusNode,f.focusOffset))&&!this.suppressWidgetCursorChange(f,l))&&(this.view.observer.ignore(()=>{L.android&&L.chrome&&n.contains(f.focusNode)&&eQ(f.focusNode,n)&&(n.blur(),n.focus({preventScroll:!0}));let u=rr(this.view.root);if(u)if(l.empty){if(L.gecko){let O=F0(c.node,c.offset);if(O&&O!=3){let m=(O==1?iu:nu)(c.node,c.offset);m&&(c=new Rt(m.node,m.offset))}}u.collapse(c.node,c.offset),l.bidiLevel!=null&&u.caretBidiLevel!==void 0&&(u.caretBidiLevel=l.bidiLevel)}else if(u.extend){u.collapse(c.node,c.offset);try{u.extend(h.node,h.offset)}catch{}}else{let O=document.createRange();l.anchor>l.head&&([c,h]=[h,c]),O.setEnd(h.node,h.offset),O.setStart(c.node,c.offset),u.removeAllRanges(),u.addRange(O)}o&&this.view.root.activeElement==n&&(n.blur(),r&&r.focus())}),this.view.observer.setSelectionRange(c,h)),this.impreciseAnchor=c.precise?null:new Rt(f.anchorNode,f.anchorOffset),this.impreciseHead=h.precise?null:new Rt(f.focusNode,f.focusOffset)}suppressWidgetCursorChange(e,t){return this.hasComposition&&t.empty&&Fn(e.focusNode,e.focusOffset,e.anchorNode,e.anchorOffset)&&this.posFromDOM(e.focusNode,e.focusOffset)==t.head}enforceCursorAssoc(){if(this.hasComposition)return;let{view:e}=this,t=e.state.selection.main,n=rr(e.root),{anchorNode:r,anchorOffset:s}=e.observer.selectionRange;if(!n||!t.empty||!t.assoc||!n.modify)return;let o=this.lineAt(t.head,t.assoc);if(!o)return;let a=o.posAtStart;if(t.head==a||t.head==a+o.length)return;let l=this.coordsAt(t.head,-1),c=this.coordsAt(t.head,1);if(!l||!c||l.bottom>c.top)return;let h=this.domAtPos(t.head+t.assoc,t.assoc);n.collapse(h.node,h.offset),n.modify("move",t.assoc<0?"forward":"backward","lineboundary"),e.observer.readSelectionRange();let f=e.observer.selectionRange;e.docView.posFromDOM(f.anchorNode,f.anchorOffset)!=t.from&&n.collapse(r,s)}posFromDOM(e,t){let n=this.tile.nearest(e);if(!n)return this.tile.dom.compareDocumentPosition(e)&2?0:this.view.state.doc.length;let r=n.posAtStart;if(n.isComposite()){let s;if(e==n.dom)s=n.dom.childNodes[t];else{let o=Dt(e)==0?0:t==0?-1:1;for(;;){let a=e.parentNode;if(a==n.dom)break;o==0&&a.firstChild!=a.lastChild&&(e==a.firstChild?o=-1:o=1),e=a}o<0?s=e:s=e.nextSibling}if(s==n.dom.firstChild)return r;for(;s&&!ue.get(s);)s=s.nextSibling;if(!s)return r+n.length;for(let o=0,a=r;;o++){let l=n.children[o];if(l.dom==s)return a;a+=l.length+l.breakAfter}}else return n.isText()?e==n.dom?r+t:r+(t?n.length:0):r}domAtPos(e,t){let{tile:n,offset:r}=this.tile.resolveBlock(e,t);return n.isWidget()?n.domPosFor(r,t):n.domIn(r,t)}inlineDOMNearPos(e,t){let n,r=-1,s=!1,o,a=-1,l=!1;return this.tile.blockTiles((c,h)=>{if(c.isWidget()){if(c.flags&32&&h>=e)return!0;c.flags&16&&(s=!0)}else{let f=h+c.length;if(h<=e&&(n=c,r=e-h,s=f=e&&!o&&(o=c,a=e-h,l=h>e),h>e&&o)return!0}}),!n&&!o?this.domAtPos(e,t):(s&&o?n=null:l&&n&&(o=null),n&&t<0||!o?n.domIn(r,t):o.domIn(a,t))}coordsAt(e,t,n){let{tile:r,offset:s}=this.tile.resolveBlock(e,t);return r.isWidget()?r.widget instanceof Jn?null:r.coordsInWidget(s,t,!0):r.coordsIn(s,t,n)}lineAt(e,t){let{tile:n}=this.tile.resolveBlock(e,t);return n.isLine()?n:null}coordsForChar(e){let{tile:t,offset:n}=this.tile.resolveBlock(e,1);if(!t.isLine())return null;function r(s,o){if(s.isComposite())for(let a of s.children){if(a.length>=o){let l=r(a,o);if(l)return l}if(o-=a.length,o<0)break}else if(s.isText()&&oMath.max(this.view.scrollDOM.clientWidth,this.minWidth)+1,a=-1,l=this.view.textDirection==Oe.LTR,c=0,h=(f,u,O)=>{for(let m=0;mr);m++){let p=f.children[m],b=u+p.length,g=p.dom.getBoundingClientRect(),{height:Q}=g;if(O&&!m&&(c+=g.top-O.top),p instanceof Vt)b>n&&h(p,u,g);else if(u>=n&&(c>0&&t.push(-c),t.push(Q+c),c=0,o)){let S=p.dom.lastChild,x=S?as(S):[];if(x.length){let P=x[x.length-1],$=l?P.right-g.left:g.right-P.left;$>a&&(a=$,this.minWidth=s,this.minWidthFrom=u,this.minWidthTo=b)}}O&&m==f.children.length-1&&(c+=O.bottom-g.bottom),u=b+p.breakAfter}};return h(this.tile,0,null),t}textDirectionAt(e){let{tile:t}=this.tile.resolveBlock(e,1);return getComputedStyle(t.dom).direction=="rtl"?Oe.RTL:Oe.LTR}measureTextSize(){let e=this.tile.blockTiles(o=>{if(o.isLine()&&o.children.length&&o.length<=20){let a=0,l;for(let c of o.children){if(!c.isText()||/[^ -~]/.test(c.text))return;let h=as(c.dom);if(h.length!=1)return;a+=h[0].width,l=h[0].height}if(a)return{lineHeight:o.dom.getBoundingClientRect().height,charWidth:a/o.length,textHeight:l}}});if(e)return e;let t=document.createElement("div"),n,r,s;return t.className="cm-line",t.style.width="99999px",t.style.position="absolute",t.textContent="abc def ghi jkl mno pqr stu",this.view.observer.ignore(()=>{this.tile.dom.appendChild(t);let o=as(t.firstChild)[0];n=t.getBoundingClientRect().height,r=o&&o.width?o.width/27:7,s=o&&o.height?o.height:n,t.remove()}),{lineHeight:n,charWidth:r,textHeight:s}}computeBlockGapDeco(){let e=[],t=this.view.viewState;for(let n=0,r=0;;r++){let s=r==t.viewports.length?null:t.viewports[r],o=s?s.from-1:this.view.state.doc.length;if(o>n){let a=(t.lineBlockAt(o).bottom-t.lineBlockAt(n).top)/this.view.scaleY;e.push(R.replace({widget:new Jn(a),block:!0,inclusive:!0,isBlockGap:!0}).range(n,o))}if(!s)break;n=s.to+1}return R.set(e)}updateDeco(){let e=1,t=this.view.state.facet(ks).map(s=>(this.dynamicDecorationMap[e++]=typeof s=="function")?s(this.view):s),n=!1,r=this.view.state.facet(Ka).map((s,o)=>{let a=typeof s=="function";return a&&(n=!0),a?s(this.view):s});for(r.length&&(this.dynamicDecorationMap[e++]=n,t.push(le.join(r))),this.decorations=[this.editContextFormatting,...t,this.computeBlockGapDeco(),this.view.viewState.lineGapDeco];etypeof s=="function"?s(this.view):s)}scrollIntoView(e){if(e.isSnapshot){let c=this.view.viewState.lineBlockAt(e.range.head);this.view.scrollDOM.scrollTop=c.top-e.yMargin,this.view.scrollDOM.scrollLeft=e.xMargin;return}for(let c of this.view.state.facet(mu))try{if(c(this.view,e.range,e))return!0}catch(h){ft(this.view.state,h,"scroll handler")}let{range:t}=e,n=this.coordsAt(t.head,t.assoc||(t.head>t.anchor?-1:1)),r;if(!n)return;!t.empty&&(r=this.coordsAt(t.anchor,t.anchor>t.head?-1:1))&&(n={left:Math.min(n.left,r.left),top:Math.min(n.top,r.top),right:Math.max(n.right,r.right),bottom:Math.max(n.bottom,r.bottom)});let s=ku(this.view),o={left:n.left-s.left,top:n.top-s.top,right:n.right+s.right,bottom:n.bottom+s.bottom},{offsetWidth:a,offsetHeight:l}=this.view.scrollDOM;if(T0(this.view.scrollDOM,o,t.head1&&(n.top>window.pageYOffset+window.visualViewport.offsetTop+window.visualViewport.height||n.bottomn.isWidget()||n.children.some(t);return t(this.tile.resolveBlock(e,1).tile)}destroy(){wa(this.tile)}};function wa(i,e){let t=e?.get(i);if(t!=1){t==null&&i.destroy();for(let n of i.children)wa(n,e)}}function G0(i){return i.node.nodeType==1&&i.node.firstChild&&(i.offset==0||i.node.childNodes[i.offset-1].contentEditable=="false")&&(i.offset==i.node.childNodes.length||i.node.childNodes[i.offset].contentEditable=="false")}function wu(i,e){let t=i.observer.selectionRange;if(!t.focusNode)return null;let n=iu(t.focusNode,t.focusOffset),r=nu(t.focusNode,t.focusOffset),s=n||r;if(r&&n&&r.node!=n.node){let a=ue.get(r.node);if(!a||a.isText()&&a.text!=r.node.nodeValue)s=r;else if(i.docView.lastCompositionAfterCursor){let l=ue.get(n.node);!l||l.isText()&&l.text!=n.node.nodeValue||(s=r)}}if(i.docView.lastCompositionAfterCursor=s!=n,!s)return null;let o=e-s.offset;return{from:o,to:o+s.node.nodeValue.length,node:s.node}}function N0(i,e,t){let n=wu(i,t);if(!n)return null;let{node:r,from:s,to:o}=n,a=r.nodeValue;if(/[\n\r]/.test(a)||i.state.doc.sliceString(n.from,n.to)!=a)return null;let l=e.invertedDesc;return{range:new yt(l.mapPos(s),l.mapPos(o),s,o),text:r}}function F0(i,e){return i.nodeType!=1?0:(e&&i.childNodes[e-1].contentEditable=="false"?1:0)|(e{ne.from&&(t=!0)}),t}var Jn=class extends Ce{constructor(e){super(),this.height=e}toDOM(){let e=document.createElement("div");return e.className="cm-gap",this.updateDOM(e),e}eq(e){return e.height==this.height}updateDOM(e){return e.style.height=this.height+"px",!0}get editable(){return!0}get estimatedHeight(){return this.height}ignoreEvent(){return!1}};function iQ(i,e,t=1){let n=i.charCategorizer(e),r=i.doc.lineAt(e),s=e-r.from;if(r.length==0)return v.cursor(e);s==0?t=1:s==r.length&&(t=-1);let o=s,a=s;t<0?o=xe(r.text,s,!1):a=xe(r.text,s);let l=n(r.text.slice(o,a));for(;o>0;){let c=xe(r.text,o,!1);if(n(r.text.slice(c,o))!=l)break;o=c}for(;ai.defaultLineHeight*1.5){let a=i.viewState.heightOracle.textHeight,l=Math.floor((r-t.top-(i.defaultLineHeight-a)*.5)/a);s+=l*i.viewState.heightOracle.lineLength}let o=i.state.sliceDoc(t.from,t.to);return t.from+Qf(o,s,i.state.tabSize)}function rQ(i,e,t){let n=i.lineBlockAt(e);if(Array.isArray(n.type)){let r;for(let s of n.type){if(s.from>e)break;if(!(s.toe)return s;(!r||s.type==ut.Text&&(r.type!=s.type||(t<0?s.frome)))&&(r=s)}}return r||n}return n}function sQ(i,e,t,n){let r=rQ(i,e.head,e.assoc||-1),s=!n||r.type!=ut.Text||!(i.lineWrapping||r.widgetLineBreaks)?null:i.coordsAtPos(e.assoc<0&&e.head>r.from?e.head-1:e.head);if(s){let o=i.dom.getBoundingClientRect(),a=i.textDirectionAt(r.from),l=i.posAtCoords({x:t==(a==Oe.LTR)?o.right-1:o.left+1,y:(s.top+s.bottom)/2});if(l!=null)return v.cursor(l,t?-1:1)}return v.cursor(t?r.to:r.from,t?-1:1)}function Rf(i,e,t,n){let r=i.state.doc.lineAt(e.head),s=i.bidiSpans(r),o=i.textDirectionAt(r.from);for(let a=e,l=null;;){let c=L0(r,s,o,a,t),h=lu;if(!c){if(r.number==(t?i.state.doc.lines:1))return a;h=` +`,r=i.state.doc.line(r.number+(t?1:-1)),s=i.bidiSpans(r),c=i.visualLineSide(r,!t)}if(l){if(!l(h))return a}else{if(!n)return c;l=n(h)}a=c}}function oQ(i,e,t){let n=i.state.charCategorizer(e),r=n(t);return s=>{let o=n(s);return r==qe.Space&&(r=o),r==o}}function aQ(i,e,t,n){let r=e.head,s=t?1:-1;if(r==(t?i.state.doc.length:0))return v.cursor(r,e.assoc);let o=e.goalColumn,a,l=i.contentDOM.getBoundingClientRect(),c=i.coordsAtPos(r,e.assoc||((e.empty?t:e.head==e.from)?1:-1)),h=i.documentTop;if(c)o==null&&(o=c.left-l.left),a=s<0?c.top:c.bottom;else{let m=i.viewState.lineBlockAt(r);o==null&&(o=Math.min(l.right-l.left,i.defaultCharacterWidth*(r-m.from))),a=(s<0?m.top:m.bottom)+h}let f=l.left+o,u=i.viewState.heightOracle.textHeight>>1,O=n??u;for(let m=0;;m+=u){let p=a+(O+m)*s,b=va(i,{x:f,y:p},!1,s);if(t?p>l.bottom:pa:Q{if(e>s&&er(i)),t.from,e.head>t.from?-1:1);return n==t.from?t:v.cursor(n,ni.viewState.docHeight)return new ct(i.state.doc.length,-1);if(c=i.elementAtHeight(l),n==null)break;if(c.type==ut.Text){if(n<0?c.toi.viewport.to)break;let u=i.docView.coordsAt(n<0?c.from:c.to,n>0?-1:1);if(u&&(n<0?u.top<=l+s:u.bottom>=l+s))break}let f=i.viewState.heightOracle.textHeight/2;l=n>0?c.bottom+f:c.top-f}if(i.viewport.from>=c.to||i.viewport.to<=c.from){if(t)return null;if(c.type==ut.Text){let f=nQ(i,r,c,o,a);return new ct(f,f==c.from?1:-1)}}if(c.type!=ut.Text)return l<(c.top+c.bottom)/2?new ct(c.from,1):new ct(c.to,-1);let h=i.docView.lineAt(c.from,2);return(!h||h.length!=c.length)&&(h=i.docView.lineAt(c.from,-2)),new $a(i,o,a,i.textDirectionAt(c.from)).scanTile(h,c.from)}var $a=class{constructor(e,t,n,r){this.view=e,this.x=t,this.y=n,this.baseDir=r,this.line=null,this.spans=null}bidiSpansAt(e){return(!this.line||this.line.from>e||this.line.to1||n.length&&(n[0].level!=this.baseDir||n[0].to+r.from>1;t:if(o.has(p)){let g=r+Math.floor(Math.random()*m);for(let Q=0;Q1)){if(Q.bottomthis.y)(!c||c.top>Q.top)&&(c=Q),S=-1;else{let x=Q.left>this.x?this.x-Q.left:Q.right(m+m+p)/3)return this.y=l.bottom-1,this.scan(e,t,!0);if(c&&c.top<(m+p+p)/3)return this.y=c.top+1,this.scan(e,t,!0)}let O=(a?this.dirAt(e[h],1):this.baseDir)==Oe.LTR;return{i:h,after:this.x>(u.left+u.right)/2==O}}scanText(e,t){let n=[];for(let s=0;s{let o=n[s]-t,a=n[s+1]-t;return sr(e.dom,o,a).getClientRects()});return r.after?new ct(n[r.i+1],-1):new ct(n[r.i],1)}scanTile(e,t){if(!e.length)return new ct(t,1);if(e.children.length==1){let a=e.children[0];if(a.isText())return this.scanText(a,t);if(a.isComposite())return this.scanTile(a,t)}let n=[t];for(let a=0,l=t;a{let l=e.children[a];return l.flags&48?null:(l.dom.nodeType==1?l.dom:sr(l.dom,0,l.length)).getClientRects()}),s=e.children[r.i],o=n[r.i];return s.isText()?this.scanText(s,o):s.isComposite()?this.scanTile(s,o):r.after?new ct(n[r.i+1],-1):new ct(o,1)}},cn="\uFFFF",Ta=class{constructor(e,t){this.points=e,this.view=t,this.text="",this.lineSeparator=t.state.facet(se.lineSeparator)}append(e){this.text+=e}lineBreak(){this.text+=cn}readRange(e,t){if(!e)return this;let n=e.parentNode;for(let r=e;;){this.findPointBefore(n,r);let s=this.text.length;this.readNode(r);let o=ue.get(r),a=r.nextSibling;if(a==t){o?.breakAfter&&!a&&n!=this.view.contentDOM&&this.lineBreak();break}let l=ue.get(a);(o&&l?o.breakAfter:(o?o.breakAfter:hs(r))||hs(a)&&(r.nodeName!="BR"||o?.isWidget())&&this.text.length>s)&&!cQ(a,t)&&this.lineBreak(),r=a}return this.findPointBefore(n,t),this}readTextNode(e){let t=e.nodeValue;for(let n of this.points)n.node==e&&(n.pos=this.text.length+Math.min(n.offset,t.length));for(let n=0,r=this.lineSeparator?null:/\r\n?|\n/g;;){let s=-1,o=1,a;if(this.lineSeparator?(s=t.indexOf(this.lineSeparator,n),o=this.lineSeparator.length):(a=r.exec(t))&&(s=a.index,o=a[0].length),this.append(t.slice(n,s<0?t.length:s)),s<0)break;if(this.lineBreak(),o>1)for(let l of this.points)l.node==e&&l.pos>this.text.length&&(l.pos-=o-1);n=s+o}}readNode(e){let t=ue.get(e),n=t&&t.overrideDOMText;if(n!=null){this.findPointInside(e,n.length);for(let r=n.iter();!r.next().done;)r.lineBreak?this.lineBreak():this.append(r.value)}else e.nodeType==3?this.readTextNode(e):e.nodeName=="BR"?e.nextSibling&&this.lineBreak():e.nodeType==1&&this.readRange(e.firstChild,null)}findPointBefore(e,t){for(let n of this.points)n.node==e&&e.childNodes[n.offset]==t&&(n.pos=this.text.length)}findPointInside(e,t){for(let n of this.points)(e.nodeType==3?n.node==e:e.contains(n.node))&&(n.pos=this.text.length+(lQ(e,n.node,n.offset)?t:0))}};function lQ(i,e,t){for(;;){if(!e||t-1;let{impreciseHead:s,impreciseAnchor:o}=e.docView,a=e.state.selection;if(e.state.readOnly&&t>-1)this.newSel=null;else if(t>-1&&(this.bounds=vu(e.docView.tile,t,n,0))){let l=s||o?[]:fQ(e),c=new Ta(l,e);c.readRange(this.bounds.startDOM,this.bounds.endDOM),this.text=c.text,this.newSel=uQ(l,this.bounds.from)}else{let l=e.observer.selectionRange,c=s&&s.node==l.focusNode&&s.offset==l.focusOffset||!ua(e.contentDOM,l.focusNode)?a.main.head:e.docView.posFromDOM(l.focusNode,l.focusOffset),h=o&&o.node==l.anchorNode&&o.offset==l.anchorOffset||!ua(e.contentDOM,l.anchorNode)?a.main.anchor:e.docView.posFromDOM(l.anchorNode,l.anchorOffset),f=e.viewport;if((L.ios||L.chrome)&&c!=h&&Math.min(c,h)<=a.main.from&&Math.max(c,h)>=a.main.to&&(f.from>0||f.to-1&&a.ranges.length>1)this.newSel=a.replaceRange(v.range(h,c));else if(e.lineWrapping&&h==c&&!(a.main.empty&&a.main.head==c)&&e.inputState.lastTouchTime>Date.now()-100){let u=e.coordsAtPos(c,-1),O=0;u&&(O=e.inputState.lastTouchY<=u.bottom?-1:1),this.newSel=v.create([v.cursor(c,O)])}else this.newSel=v.single(h,c)}}};function vu(i,e,t,n){if(i.isComposite()){let r=-1,s=-1,o=-1,a=-1;for(let l=0,c=n,h=n;lt)return vu(f,e,t,c);if(u>=e&&r==-1&&(r=l,s=c),c>t&&f.dom.parentNode==i.dom){o=l,a=h;break}h=u,c=u+f.breakAfter}return{from:s,to:a<0?n+i.length:a,startDOM:(r?i.children[r-1].dom.nextSibling:null)||i.dom.firstChild,endDOM:o=0?i.children[o].dom:null}}else return i.isText()?{from:n,to:n+i.length,startDOM:i.dom,endDOM:i.dom.nextSibling}:null}function $u(i,e){let t,{newSel:n}=e,{state:r}=i,s=r.selection.main,o=i.inputState.lastKeyTime>Date.now()-100?i.inputState.lastKeyCode:-1;if(e.bounds){let{from:a,to:l}=e.bounds,c=s.from,h=null;(o===8||L.android&&e.text.length=a&&s.to<=l&&(e.typeOver||f!=e.text)&&f.slice(0,s.from-a)==e.text.slice(0,s.from-a)&&f.slice(s.to-a)==e.text.slice(u=e.text.length-(f.length-(s.to-a)))?t={from:s.from,to:s.to,insert:J.of(e.text.slice(s.from-a,u).split(cn))}:(O=Tu(f,e.text,c-a,h))&&(L.chrome&&o==13&&O.toB==O.from+2&&e.text.slice(O.from,O.toB)==cn+cn&&O.toB--,t={from:a+O.from,to:a+O.toA,insert:J.of(e.text.slice(O.from,O.toB).split(cn))})}else n&&(!i.hasFocus&&r.facet(jt)||ms(n,s))&&(n=null);if(!t&&!n)return!1;if((L.mac||L.android)&&t&&t.from==t.to&&t.from==s.head-1&&/^\. ?$/.test(t.insert.toString())&&i.contentDOM.getAttribute("autocorrect")=="off"?(n&&t.insert.length==2&&(n=v.single(n.main.anchor-1,n.main.head-1)),t={from:t.from,to:t.to,insert:J.of([t.insert.toString().replace("."," ")])}):r.doc.lineAt(s.from).toDate.now()-50?t={from:s.from,to:s.to,insert:r.toText(i.inputState.insertingText)}:L.chrome&&t&&t.from==t.to&&t.from==s.head&&t.insert.toString()==` + `&&i.lineWrapping&&(n&&(n=v.single(n.main.anchor-1,n.main.head-1)),t={from:s.from,to:s.to,insert:J.of([" "])}),t)return Ja(i,t,n,o);if(n&&!ms(n,s)){let a=!1,l="select";return i.inputState.lastSelectionTime>Date.now()-50&&(i.inputState.lastSelectionOrigin=="select"&&(a=!0),l=i.inputState.lastSelectionOrigin,l=="select.pointer"&&(n=Pu(r.facet(or).map(c=>c(i)),n))),i.dispatch({selection:n,scrollIntoView:a,userEvent:l}),!0}else return!1}function Ja(i,e,t,n=-1){if(L.ios&&i.inputState.flushIOSKey(e))return!0;let r=i.state.selection.main;if(L.android&&(e.to==r.to&&(e.from==r.from||e.from==r.from-1&&i.state.sliceDoc(e.from,r.from)==" ")&&e.insert.length==1&&e.insert.lines==2&&On(i.contentDOM,"Enter",13)||(e.from==r.from-1&&e.to==r.to&&e.insert.length==0||n==8&&e.insert.lengthr.head)&&On(i.contentDOM,"Backspace",8)||e.from==r.from&&e.to==r.to+1&&e.insert.length==0&&On(i.contentDOM,"Delete",46)))return!0;let s=e.insert.toString();i.inputState.composing>=0&&i.inputState.composing++;let o,a=()=>o||(o=hQ(i,e,t));return i.state.facet(Ou).some(l=>l(i,e.from,e.to,s,a))||i.dispatch(a()),!0}function hQ(i,e,t){let n,r=i.state,s=r.selection.main,o=-1;if(e.from==e.to&&e.froms.to){let l=e.fromf(i)),c,l);e.from==h&&(o=h)}if(o>-1)n={changes:e,selection:v.cursor(e.from+e.insert.length,-1)};else if(e.from>=s.from&&e.to<=s.to&&e.to-e.from>=(s.to-s.from)/3&&(!t||t.main.empty&&t.main.from==e.from+e.insert.length)&&i.inputState.composing<0){let l=s.frome.to?r.sliceDoc(e.to,s.to):"";n=r.replaceSelection(i.state.toText(l+e.insert.sliceString(0,void 0,i.state.lineBreak)+c))}else{let l=r.changes(e),c=t&&t.main.to<=l.newLength?t.main:void 0;if(r.selection.ranges.length>1&&(i.inputState.composing>=0||i.inputState.compositionPendingChange)&&e.to<=s.to+10&&e.to>=s.to-10){let h=i.state.sliceDoc(e.from,e.to),f,u=t&&wu(i,t.main.head);if(u){let m=e.insert.length-(e.to-e.from);f={from:u.from,to:u.to-m}}else f=i.state.doc.lineAt(s.head);let O=s.to-e.to;n=r.changeByRange(m=>{if(m.from==s.from&&m.to==s.to)return{changes:l,range:c||m.map(l)};let p=m.to-O,b=p-h.length;if(i.state.sliceDoc(b,p)!=h||p>=f.from&&b<=f.to)return{range:m};let g=r.changes({from:b,to:p,insert:e.insert}),Q=m.to-s.to;return{changes:g,range:c?v.range(Math.max(0,c.anchor+Q),Math.max(0,c.head+Q)):m.map(g)}})}else n={changes:l,selection:c&&r.selection.replaceRange(c)}}let a="input.type";return(i.composing||i.inputState.compositionPendingChange&&i.inputState.compositionEndedAt>Date.now()-50)&&(i.inputState.compositionPendingChange=!1,a+=".compose",i.inputState.compositionFirstChange&&(a+=".start",i.inputState.compositionFirstChange=!1)),r.update(n,{userEvent:a,scrollIntoView:!0})}function Tu(i,e,t,n){let r=Math.min(i.length,e.length),s=0;for(;s0&&a>0&&i.charCodeAt(o-1)==e.charCodeAt(a-1);)o--,a--;if(n=="end"){let l=Math.max(0,s-Math.min(o,a));t-=o+l-s}if(o=o?s-t:0;s-=l,a=s+(a-o),o=s}else if(a=a?s-t:0;s-=l,o=s+(o-a),a=s}return{from:s,toA:o,toB:a}}function fQ(i){let e=[];if(i.root.activeElement!=i.contentDOM)return e;let{anchorNode:t,anchorOffset:n,focusNode:r,focusOffset:s}=i.observer.selectionRange;return t&&(e.push(new ps(t,n)),(r!=t||s!=n)&&e.push(new ps(r,s))),e}function uQ(i,e){if(i.length==0)return null;let t=i[0].pos,n=i.length==2?i[1].pos:t;return t>-1&&n>-1?v.single(t+e,n+e):null}function ms(i,e){return e.head==i.main.head&&e.anchor==i.main.anchor}var Xa=class{setSelectionOrigin(e){this.lastSelectionOrigin=e,this.lastSelectionTime=Date.now()}constructor(e){this.view=e,this.lastKeyCode=0,this.lastKeyTime=0,this.touchActive=!1,this.lastTouchTime=0,this.lastTouchX=0,this.lastTouchY=0,this.lastFocusTime=0,this.lastScrollTop=0,this.lastScrollLeft=0,this.lastWheelEvent=0,this.pendingIOSKey=void 0,this.lastIOSMomentumScroll=0,this.tabFocusMode=-1,this.lastSelectionOrigin=null,this.lastSelectionTime=0,this.lastContextMenu=0,this.scrollHandlers=[],this.handlers=Object.create(null),this.composing=-1,this.compositionFirstChange=null,this.compositionEndedAt=0,this.compositionPendingKey=!1,this.compositionPendingChange=!1,this.insertingText="",this.insertingTextAt=0,this.mouseSelection=null,this.draggedContent=null,this.handleEvent=this.handleEvent.bind(this),this.notifiedFocused=e.hasFocus,L.safari&&e.contentDOM.addEventListener("input",()=>null),L.gecko&&$Q(e.contentDOM.ownerDocument)}handleEvent(e){!SQ(this.view,e)||this.ignoreDuringComposition(e)||e.type=="keydown"&&this.keydown(e)||(this.view.updateState!=0?Promise.resolve().then(()=>this.runHandlers(e.type,e)):this.runHandlers(e.type,e))}runHandlers(e,t){let n=this.handlers[e];if(n){for(let r of n.observers)r(this.view,t);for(let r of n.handlers){if(t.defaultPrevented)break;if(r(this.view,t)){t.preventDefault();break}}}}ensureHandlers(e){let t=dQ(e),n=this.handlers,r=this.view.contentDOM;for(let s in t)if(s!="scroll"){let o=!t[s].handlers.length,a=n[s];a&&o!=!a.handlers.length&&(r.removeEventListener(s,this.handleEvent),a=null),a||r.addEventListener(s,this.handleEvent,{passive:o})}for(let s in n)s!="scroll"&&!t[s]&&r.removeEventListener(s,this.handleEvent);this.handlers=t}keydown(e){if(this.lastKeyCode=e.keyCode,this.lastKeyTime=Date.now(),e.keyCode==9&&this.tabFocusMode>-1&&(!this.tabFocusMode||Date.now()<=this.tabFocusMode))return!0;if(this.tabFocusMode>0&&e.keyCode!=27&&Xu.indexOf(e.keyCode)<0&&(this.tabFocusMode=-1),L.android&&L.chrome&&!e.synthetic&&(e.keyCode==13||e.keyCode==8))return this.view.observer.delayAndroidKey(e.key,e.keyCode),!0;if(L.ios&&!e.synthetic&&!e.altKey&&!e.metaKey&&(Cu.some(t=>t.keyCode==e.keyCode)&&!e.ctrlKey||pQ.indexOf(e.key)>-1&&e.ctrlKey)){let t={ctrlKey:e.ctrlKey,altKey:e.altKey,metaKey:e.metaKey,shiftKey:e.shiftKey};return t.shiftKey&&L.ios&&!/^(off|none)$/.test(this.view.contentDOM.autocapitalize)&&OQ(this.view.win)&&(t.shiftKey=!1),this.pendingIOSKey={key:e.key,keyCode:e.keyCode,mods:t},setTimeout(()=>this.flushIOSKey(),250),!0}return e.keyCode!=229&&this.view.observer.forceFlush(),!1}flushIOSKey(e){let t=this.pendingIOSKey;return!t||t.key=="Enter"&&e&&e.from0?!0:L.safari&&!L.ios&&this.compositionPendingKey&&Date.now()-this.compositionEndedAt<100?(this.compositionPendingKey=!1,!0):!1}startMouseSelection(e){this.mouseSelection&&this.mouseSelection.destroy(),this.mouseSelection=e}update(e){this.view.observer.update(e),this.mouseSelection&&this.mouseSelection.update(e),this.draggedContent&&e.docChanged&&(this.draggedContent=this.draggedContent.map(e.changes)),e.transactions.length&&(this.lastKeyCode=this.lastSelectionTime=0)}destroy(){this.mouseSelection&&this.mouseSelection.destroy()}};function OQ(i){return i.visualViewport?i.visualViewport.height*i.visualViewport.scale/i.document.documentElement.clientHeight<.85:!1}function Af(i,e){return(t,n)=>{try{return e.call(i,n,t)}catch(r){ft(t.state,r)}}}function dQ(i){let e=Object.create(null);function t(n){return e[n]||(e[n]={observers:[],handlers:[]})}for(let n of i){let r=n.spec,s=r&&r.plugin.domEventHandlers,o=r&&r.plugin.domEventObservers;if(s)for(let a in s){let l=s[a];l&&t(a).handlers.push(Af(n.value,l))}if(o)for(let a in o){let l=o[a];l&&t(a).observers.push(Af(n.value,l))}}for(let n in kt)t(n).handlers.push(kt[n]);for(let n in Me)t(n).observers.push(Me[n]);return e}var Cu=[{key:"Backspace",keyCode:8,inputType:"deleteContentBackward"},{key:"Enter",keyCode:13,inputType:"insertParagraph"},{key:"Enter",keyCode:13,inputType:"insertLineBreak"},{key:"Delete",keyCode:46,inputType:"deleteContentForward"}],pQ="dthko",Xu=[16,17,18,20,91,92,224,225],ts=6;function is(i){return Math.max(0,i)*.7+8}function mQ(i,e){return Math.max(Math.abs(i.clientX-e.clientX),Math.abs(i.clientY-e.clientY))}var _a=class{constructor(e,t,n,r){this.view=e,this.startEvent=t,this.style=n,this.mustSelect=r,this.scrollSpeed={x:0,y:0},this.scrolling=-1,this.lastEvent=t,this.scrollParents=Jf(e.contentDOM),this.atoms=e.state.facet(or).map(o=>o(e));let s=e.contentDOM.ownerDocument;s.addEventListener("mousemove",this.move=this.move.bind(this)),s.addEventListener("mouseup",this.up=this.up.bind(this)),this.extend=t.shiftKey,this.multiple=e.state.facet(se.allowMultipleSelections)&&gQ(e,t),this.dragging=bQ(e,t)&&Au(t)==1?null:!1}start(e){this.dragging===!1&&this.select(e)}move(e){if(e.buttons==0)return this.destroy();if(this.dragging||this.dragging==null&&mQ(this.startEvent,e)<10)return;this.select(this.lastEvent=e);let t=0,n=0,r=0,s=0,o=this.view.win.innerWidth,a=this.view.win.innerHeight;this.scrollParents.x&&({left:r,right:o}=this.scrollParents.x.getBoundingClientRect()),this.scrollParents.y&&({top:s,bottom:a}=this.scrollParents.y.getBoundingClientRect());let l=ku(this.view);e.clientX-l.left<=r+ts?t=-is(r-e.clientX):e.clientX+l.right>=o-ts&&(t=is(e.clientX-o)),e.clientY-l.top<=s+ts?n=-is(s-e.clientY):e.clientY+l.bottom>=a-ts&&(n=is(e.clientY-a)),this.setScrollSpeed(t,n)}up(e){this.dragging==null&&this.select(this.lastEvent),this.dragging||e.preventDefault(),this.destroy()}destroy(){this.setScrollSpeed(0,0);let e=this.view.contentDOM.ownerDocument;e.removeEventListener("mousemove",this.move),e.removeEventListener("mouseup",this.up),this.view.inputState.mouseSelection=this.view.inputState.draggedContent=null}setScrollSpeed(e,t){this.scrollSpeed={x:e,y:t},e||t?this.scrolling<0&&(this.scrolling=setInterval(()=>this.scroll(),50)):this.scrolling>-1&&(clearInterval(this.scrolling),this.scrolling=-1)}scroll(){let{x:e,y:t}=this.scrollSpeed;e&&this.scrollParents.x&&(this.scrollParents.x.scrollLeft+=e,e=0),t&&this.scrollParents.y&&(this.scrollParents.y.scrollTop+=t,t=0),(e||t)&&this.view.win.scrollBy(e,t),this.dragging===!1&&this.select(this.lastEvent)}select(e){let{view:t}=this,n=Pu(this.atoms,this.style.get(e,this.extend,this.multiple));(this.mustSelect||!n.eq(t.state.selection,this.dragging===!1))&&this.view.dispatch({selection:n,userEvent:"select.pointer"}),this.mustSelect=!1}update(e){e.transactions.some(t=>t.isUserEvent("input.type"))?this.destroy():this.style.update(e)&&setTimeout(()=>this.select(this.lastEvent),20)}};function gQ(i,e){let t=i.state.facet(cu);return t.length?t[0](e):L.mac?e.metaKey:e.ctrlKey}function QQ(i,e){let t=i.state.facet(hu);return t.length?t[0](e):L.mac?!e.altKey:!e.ctrlKey}function bQ(i,e){let{main:t}=i.state.selection;if(t.empty)return!1;let n=rr(i.root);if(!n||n.rangeCount==0)return!0;let r=n.getRangeAt(0).getClientRects();for(let s=0;s=e.clientX&&o.top<=e.clientY&&o.bottom>=e.clientY)return!0}return!1}function SQ(i,e){if(!e.bubbles)return!0;if(e.defaultPrevented)return!1;for(let t=e.target,n;t!=i.contentDOM;t=t.parentNode)if(!t||t.nodeType==11||(n=ue.get(t))&&n.isWidget()&&!n.isHidden&&n.widget.ignoreEvent(e))return!1;return!0}var kt=Object.create(null),Me=Object.create(null),_u=L.ie&&L.ie_version<15||L.ios&&L.webkit_version<604;function yQ(i){let e=i.dom.parentNode;if(!e)return;let t=e.appendChild(document.createElement("textarea"));t.style.cssText="position: fixed; left: -10000px; top: 10px",t.focus(),setTimeout(()=>{i.focus(),t.remove(),Ru(i,t.value)},50)}function xs(i,e,t){for(let n of i.facet(e))t=n(t,i);return t}function Ru(i,e){e=xs(i.state,Na,e);let{state:t}=i,n,r=1,s=t.toText(e),o=s.lines==t.selection.ranges.length;if(Ra!=null&&t.selection.ranges.every(l=>l.empty)&&Ra==s.toString()){let l=-1;n=t.changeByRange(c=>{let h=t.doc.lineAt(c.from);if(h.from==l)return{range:c};l=h.from;let f=t.toText((o?s.line(r++).text:e)+t.lineBreak);return{changes:{from:h.from,insert:f},range:v.cursor(c.from+f.length)}})}else o?n=t.changeByRange(l=>{let c=s.line(r++);return{changes:{from:l.from,to:l.to,insert:c.text},range:v.cursor(l.from+c.length)}}):n=t.replaceSelection(s);i.dispatch(n,{userEvent:"input.paste",scrollIntoView:!0})}Me.scroll=i=>{let e=i.inputState;e.lastScrollTop=i.scrollDOM.scrollTop,e.lastScrollLeft=i.scrollDOM.scrollLeft,L.ios&&!e.touchActive&&(e.lastIOSMomentumScroll=Date.now())};Me.wheel=Me.mousewheel=i=>{i.inputState.lastWheelEvent=Date.now()};kt.keydown=(i,e)=>(i.inputState.setSelectionOrigin("select"),e.keyCode==27&&i.inputState.tabFocusMode!=0&&(i.inputState.tabFocusMode=Date.now()+2e3),!1);Me.touchstart=(i,e)=>{let t=i.inputState,n=e.targetTouches[0];t.touchActive=!0,t.lastTouchTime=Date.now(),n&&(t.lastTouchX=n.clientX,t.lastTouchY=n.clientY),t.setSelectionOrigin("select.pointer")};Me.touchmove=i=>{i.inputState.setSelectionOrigin("select.pointer")};Me.touchend=(i,e)=>{i.inputState.touchActive=!1};kt.mousedown=(i,e)=>{if(i.observer.flush(),i.inputState.lastTouchTime>Date.now()-2e3)return!1;let t=null;for(let n of i.state.facet(fu))if(t=n(i,e),t)break;if(!t&&e.button==0&&(t=xQ(i,e)),t){let n=!i.hasFocus;i.inputState.startMouseSelection(new _a(i,e,t,n)),n&&i.observer.ignore(()=>{eu(i.contentDOM);let s=i.root.activeElement;s&&!s.contains(i.contentDOM)&&s.blur()});let r=i.inputState.mouseSelection;if(r)return r.start(e),r.dragging===!1}else i.inputState.setSelectionOrigin("select.pointer");return!1};function Zf(i,e,t,n){if(n==1)return v.cursor(e,t);if(n==2)return iQ(i.state,e,t);{let r=i.docView.lineAt(e,t),s=i.state.doc.lineAt(r?r.posAtEnd:e),o=r?r.posAtStart:s.from,a=r?r.posAtEnd:s.to;return aDate.now()-400&&Math.abs(e.clientX-i.clientX)<2&&Math.abs(e.clientY-i.clientY)<2?(qf+1)%3:1}function xQ(i,e){let t=i.posAndSideAtCoords({x:e.clientX,y:e.clientY},!1),n=Au(e),r=i.state.selection;return{update(s){s.docChanged&&(t.pos=s.changes.mapPos(t.pos),r=r.map(s.changes))},get(s,o,a){let l=i.posAndSideAtCoords({x:s.clientX,y:s.clientY},!1),c,h=Zf(i,l.pos,l.assoc,n);if(t.pos!=l.pos&&!o){let f=Zf(i,t.pos,t.assoc,n),u=Math.min(f.from,h.from),O=Math.max(f.to,h.to);h=u1&&(c=wQ(r,l.pos))?c:a?r.addRange(h):v.create([h])}}}function wQ(i,e){for(let t=0;t=e)return v.create(i.ranges.slice(0,t).concat(i.ranges.slice(t+1)),i.mainIndex==t?0:i.mainIndex-(i.mainIndex>t?1:0))}return null}kt.dragstart=(i,e)=>{let{selection:{main:t}}=i.state;if(e.target.draggable){let r=i.docView.tile.nearest(e.target);if(r&&r.isWidget()){let s=r.posAtStart,o=s+r.length;(s>=t.to||o<=t.from)&&(t=v.undirectionalRange(s,o))}}let{inputState:n}=i;return n.mouseSelection&&(n.mouseSelection.dragging=!0),n.draggedContent=t,e.dataTransfer&&(e.dataTransfer.setData("Text",xs(i.state,Fa,i.state.sliceDoc(t.from,t.to))),e.dataTransfer.effectAllowed="copyMove"),!1};kt.dragend=i=>(i.inputState.draggedContent=null,!1);function Lf(i,e,t,n){if(t=xs(i.state,Na,t),!t)return;let r=i.posAtCoords({x:e.clientX,y:e.clientY},!1),{draggedContent:s}=i.inputState,o=n&&s&&QQ(i,e)?{from:s.from,to:s.to}:null,a={from:r,insert:t},l=i.state.changes(o?[o,a]:a);i.focus(),i.dispatch({changes:l,selection:{anchor:l.mapPos(r,-1),head:l.mapPos(r,1)},userEvent:o?"move.drop":"input.drop"}),i.inputState.draggedContent=null}kt.drop=(i,e)=>{if(!e.dataTransfer)return!1;if(i.state.readOnly)return!0;let t=e.dataTransfer.files;if(t&&t.length){let n=Array(t.length),r=0,s=()=>{++r==t.length&&Lf(i,e,n.filter(o=>o!=null).join(i.state.lineBreak),!1)};for(let o=0;o{/[\x00-\x08\x0e-\x1f]{2}/.test(a.result)||(n[o]=a.result),s()},a.readAsText(t[o])}return!0}else{let n=e.dataTransfer.getData("Text");if(n)return Lf(i,e,n,!0),!0}return!1};kt.paste=(i,e)=>{if(i.state.readOnly)return!0;i.observer.flush();let t=_u?null:e.clipboardData;return t?(Ru(i,t.getData("text/plain")||t.getData("text/uri-list")),!0):(yQ(i),!1)};function PQ(i,e){let t=i.dom.parentNode;if(!t)return;let n=t.appendChild(document.createElement("textarea"));n.style.cssText="position: fixed; left: -10000px; top: 10px",n.value=e,n.focus(),n.selectionEnd=e.length,n.selectionStart=0,setTimeout(()=>{n.remove(),i.focus()},50)}function vQ(i){let e=[],t=[],n=!1;for(let r of i.selection.ranges)r.empty||(e.push(i.sliceDoc(r.from,r.to)),t.push(r));if(!e.length){let r=-1;for(let{from:s}of i.selection.ranges){let o=i.doc.lineAt(s);o.number>r&&(e.push(o.text),t.push({from:o.from,to:Math.min(i.doc.length,o.to+1)})),r=o.number}n=!0}return{text:xs(i,Fa,e.join(i.lineBreak)),ranges:t,linewise:n}}var Ra=null;kt.copy=kt.cut=(i,e)=>{if(!Nn(i.contentDOM,i.observer.selectionRange))return!1;let{text:t,ranges:n,linewise:r}=vQ(i.state);if(!t&&!r)return!1;Ra=r?t:null,e.type=="cut"&&!i.state.readOnly&&i.dispatch({changes:n,scrollIntoView:!0,userEvent:"delete.cut"});let s=_u?null:e.clipboardData;return s?(s.clearData(),s.setData("text/plain",t),!0):(PQ(i,t),!1)};var Zu=Te.define();function Eu(i,e){let t=[];for(let n of i.facet(du)){let r=n(i,e);r&&t.push(r)}return t.length?i.update({effects:t,annotations:Zu.of(!0)}):null}function qu(i){setTimeout(()=>{let e=i.hasFocus;if(e!=i.inputState.notifiedFocused){let t=Eu(i.state,e);t?i.dispatch(t):i.update([])}},10)}Me.focus=i=>{i.inputState.lastFocusTime=Date.now(),!i.scrollDOM.scrollTop&&(i.inputState.lastScrollTop||i.inputState.lastScrollLeft)&&(i.scrollDOM.scrollTop=i.inputState.lastScrollTop,i.scrollDOM.scrollLeft=i.inputState.lastScrollLeft),qu(i)};Me.blur=i=>{i.observer.clearSelectionRange(),qu(i)};Me.compositionstart=Me.compositionupdate=i=>{i.observer.editContext||(i.inputState.compositionFirstChange==null&&(i.inputState.compositionFirstChange=!0),i.inputState.composing<0&&(i.inputState.composing=0))};Me.compositionend=i=>{i.observer.editContext||(i.inputState.composing=-1,i.inputState.compositionEndedAt=Date.now(),i.inputState.compositionPendingKey=!0,i.inputState.compositionPendingChange=i.observer.pendingRecords().length>0,i.inputState.compositionFirstChange=null,L.chrome&&L.android?i.observer.flushSoon():i.inputState.compositionPendingChange?Promise.resolve().then(()=>i.observer.flush()):setTimeout(()=>{i.inputState.composing<0&&i.docView.hasComposition&&i.update([])},50))};Me.contextmenu=i=>{i.inputState.lastContextMenu=Date.now()};kt.beforeinput=(i,e)=>{var t,n;if((e.inputType=="insertText"||e.inputType=="insertCompositionText")&&(i.inputState.insertingText=e.data,i.inputState.insertingTextAt=Date.now()),e.inputType=="insertReplacementText"&&i.observer.editContext){let s=(t=e.dataTransfer)===null||t===void 0?void 0:t.getData("text/plain"),o=e.getTargetRanges();if(s&&o.length){let a=o[0],l=i.posAtDOM(a.startContainer,a.startOffset),c=i.posAtDOM(a.endContainer,a.endOffset);return Ja(i,{from:l,to:c,insert:i.state.toText(s)},null),!0}}let r;if(L.chrome&&L.android&&(r=Cu.find(s=>s.inputType==e.inputType))&&(i.observer.delayAndroidKey(r.key,r.keyCode),r.key=="Backspace"||r.key=="Delete")){let s=((n=window.visualViewport)===null||n===void 0?void 0:n.height)||0;setTimeout(()=>{var o;(((o=window.visualViewport)===null||o===void 0?void 0:o.height)||0)>s+10&&i.hasFocus&&(i.contentDOM.blur(),i.focus())},100)}return L.ios&&e.inputType=="deleteContentForward"&&i.observer.flushSoon(),L.safari&&e.inputType=="insertText"&&i.inputState.composing>=0&&setTimeout(()=>Me.compositionend(i,e),20),!1};var Mf=new Set;function $Q(i){Mf.has(i)||(Mf.add(i),i.addEventListener("copy",()=>{}),i.addEventListener("cut",()=>{}))}var Wf=["pre-wrap","normal","pre-line","break-spaces"],Qn=!1;function jf(){Qn=!1}var Aa=class{constructor(e){this.lineWrapping=e,this.doc=J.empty,this.heightSamples={},this.lineHeight=14,this.charWidth=7,this.textHeight=14,this.lineLength=30}heightForGap(e,t){let n=this.doc.lineAt(t).number-this.doc.lineAt(e).number+1;return this.lineWrapping&&(n+=Math.max(0,Math.ceil((t-e-n*this.lineLength*.5)/this.lineLength))),this.lineHeight*n}heightForLine(e){return this.lineWrapping?(1+Math.max(0,Math.ceil((e-this.lineLength)/Math.max(1,this.lineLength-5))))*this.lineHeight:this.lineHeight}setDoc(e){return this.doc=e,this}mustRefreshForWrapping(e){return Wf.indexOf(e)>-1!=this.lineWrapping}mustRefreshForHeights(e){let t=!1;for(let n=0;n-1,l=Math.abs(t-this.lineHeight)>.3||this.lineWrapping!=a;if(this.lineWrapping=a,this.lineHeight=t,this.charWidth=n,this.textHeight=r,this.lineLength=s,l){this.heightSamples={};for(let c=0;c0}set outdated(e){this.flags=(e?2:0)|this.flags&-3}setHeight(e){this.height!=e&&(Math.abs(this.height-e)>ls&&(Qn=!0),this.height=e)}replace(e,t,n){return i.of(n)}decomposeLeft(e,t){t.push(this)}decomposeRight(e,t){t.push(this)}applyChanges(e,t,n,r){let s=this,o=n.doc;for(let a=r.length-1;a>=0;a--){let{fromA:l,toA:c,fromB:h,toB:f}=r[a],u=s.lineAt(l,ce.ByPosNoHeight,n.setDoc(t),0,0),O=u.to>=c?u:s.lineAt(c,ce.ByPosNoHeight,n,0,0);for(f+=O.to-c,c=O.to;a>0&&u.from<=r[a-1].toA;)l=r[a-1].fromA,h=r[a-1].fromB,a--,ls*2){let a=e[t-1];a.break?e.splice(--t,1,a.left,null,a.right):e.splice(--t,1,a.left,a.right),n+=1+a.break,r-=a.size}else if(s>r*2){let a=e[n];a.break?e.splice(n,1,a.left,null,a.right):e.splice(n,1,a.left,a.right),n+=2+a.break,s-=a.size}else break;else if(r=s&&o(this.lineAt(0,ce.ByPos,n,r,s))}setMeasuredHeight(e){let t=e.heights[e.index++];t<0?(this.spaceAbove=-t,t=e.heights[e.index++]):this.spaceAbove=0,this.setHeight(t)}updateHeight(e,t=0,n=!1,r){return r&&r.from<=t&&r.more&&this.setMeasuredHeight(r),this.outdated=!1,this}toString(){return`block(${this.length})`}},lt=class i extends Qs{constructor(e,t,n){super(e,t,null),this.collapsed=0,this.widgetHeight=0,this.breaks=0,this.spaceAbove=n}mainBlock(e,t){return new St(t,this.length,e+this.spaceAbove,this.height-this.spaceAbove,this.breaks)}replace(e,t,n){let r=n[0];return n.length==1&&(r instanceof i||r instanceof li&&r.flags&4)&&Math.abs(this.length-r.length)<10?(r instanceof li?r=new i(r.length,this.height,this.spaceAbove):r.height=this.height,this.outdated||(r.outdated=!1),r):Ke.of(n)}updateHeight(e,t=0,n=!1,r){return r&&r.from<=t&&r.more?this.setMeasuredHeight(r):(n||this.outdated)&&(this.spaceAbove=0,this.setHeight(Math.max(this.widgetHeight,e.heightForLine(this.length-this.collapsed))+this.breaks*e.lineHeight)),this.outdated=!1,this}toString(){return`line(${this.length}${this.collapsed?-this.collapsed:""}${this.widgetHeight?":"+this.widgetHeight:""})`}},li=class i extends Ke{constructor(e){super(e,0)}heightMetrics(e,t){let n=e.doc.lineAt(t).number,r=e.doc.lineAt(t+this.length).number,s=r-n+1,o,a=0;if(e.lineWrapping){let l=Math.min(this.height,e.lineHeight*s);o=l/s,this.length>s+1&&(a=(this.height-l)/(this.length-s-1))}else o=this.height/s;return{firstLine:n,lastLine:r,perLine:o,perChar:a}}blockAt(e,t,n,r){let{firstLine:s,lastLine:o,perLine:a,perChar:l}=this.heightMetrics(t,r);if(t.lineWrapping){let c=r+(e0){let s=n[n.length-1];s instanceof i?n[n.length-1]=new i(s.length+r):n.push(null,new i(r-1))}if(e>0){let s=n[0];s instanceof i?n[0]=new i(e+s.length):n.unshift(new i(e-1),null)}return Ke.of(n)}decomposeLeft(e,t){t.push(new i(e-1),null)}decomposeRight(e,t){t.push(null,new i(this.length-e-1))}updateHeight(e,t=0,n=!1,r){let s=t+this.length;if(r&&r.from<=t+this.length&&r.more){let o=[],a=Math.max(t,r.from),l=-1;for(r.from>t&&o.push(new i(r.from-t-1).updateHeight(e,t));a<=s&&r.more;){let h=e.doc.lineAt(a).length;o.length&&o.push(null);let f=r.heights[r.index++],u=0;f<0&&(u=-f,f=r.heights[r.index++]),l==-1?l=f:Math.abs(f-l)>=ls&&(l=-2);let O=new lt(h,f,u);O.outdated=!1,o.push(O),a+=h+1}a<=s&&o.push(null,new i(s-a).updateHeight(e,a));let c=Ke.of(o);return(l<0||Math.abs(c.height-this.height)>=ls||Math.abs(l-this.heightMetrics(e,t).perLine)>=ls)&&(Qn=!0),gs(this,c)}else(n||this.outdated)&&(this.setHeight(e.heightForGap(t,t+this.length)),this.outdated=!1);return this}toString(){return`gap(${this.length})`}},Ea=class extends Ke{constructor(e,t,n){super(e.length+t+n.length,e.height+n.height,t|(e.outdated||n.outdated?2:0)),this.left=e,this.right=n,this.size=e.size+n.size}get break(){return this.flags&1}blockAt(e,t,n,r){let s=n+this.left.height;return ea))return c;let h=t==ce.ByPosNoHeight?ce.ByPosNoHeight:ce.ByPos;return l?c.join(this.right.lineAt(a,h,n,o,a)):this.left.lineAt(a,h,n,r,s).join(c)}forEachLine(e,t,n,r,s,o){let a=r+this.left.height,l=s+this.left.length+this.break;if(this.break)e=l&&this.right.forEachLine(e,t,n,a,l,o);else{let c=this.lineAt(l,ce.ByPos,n,r,s);e=e&&c.from<=t&&o(c),t>c.to&&this.right.forEachLine(c.to+1,t,n,a,l,o)}}replace(e,t,n){let r=this.left.length+this.break;if(tthis.left.length)return this.balanced(this.left,this.right.replace(e-r,t-r,n));let s=[];e>0&&this.decomposeLeft(e,s);let o=s.length;for(let a of n)s.push(a);if(e>0&&Vf(s,o-1),t=n&&t.push(null)),e>n&&this.right.decomposeLeft(e-n,t)}decomposeRight(e,t){let n=this.left.length,r=n+this.break;if(e>=r)return this.right.decomposeRight(e-r,t);e2*t.size||t.size>2*e.size?Ke.of(this.break?[e,null,t]:[e,t]):(this.left=gs(this.left,e),this.right=gs(this.right,t),this.setHeight(e.height+t.height),this.outdated=e.outdated||t.outdated,this.size=e.size+t.size,this.length=e.length+this.break+t.length,this)}updateHeight(e,t=0,n=!1,r){let{left:s,right:o}=this,a=t+s.length+this.break,l=null;return r&&r.from<=t+s.length&&r.more?l=s=s.updateHeight(e,t,n,r):s.updateHeight(e,t,n),r&&r.from<=a+o.length&&r.more?l=o=o.updateHeight(e,a,n,r):o.updateHeight(e,a,n),l?this.balanced(s,o):(this.height=this.left.height+this.right.height,this.outdated=!1,this)}toString(){return this.left+(this.break?" ":"-")+this.right}};function Vf(i,e){let t,n;i[e]==null&&(t=i[e-1])instanceof li&&(n=i[e+1])instanceof li&&i.splice(e-1,3,new li(t.length+1+n.length))}var CQ=5,qa=class i{constructor(e,t){this.pos=e,this.oracle=t,this.nodes=[],this.lineStart=-1,this.lineEnd=-1,this.covering=null,this.writtenTo=e}get isCovered(){return this.covering&&this.nodes[this.nodes.length-1]==this.covering}span(e,t){if(this.lineStart>-1){let n=Math.min(t,this.lineEnd),r=this.nodes[this.nodes.length-1];r instanceof lt?r.length+=n-this.pos:(n>this.pos||!this.isCovered)&&this.nodes.push(new lt(n-this.pos,-1,0)),this.writtenTo=n,t>n&&(this.nodes.push(null),this.writtenTo++,this.lineStart=-1)}this.pos=t}point(e,t,n){if(e=CQ)&&this.addLineDeco(r,s,o)}else t>e&&this.span(e,t);this.lineEnd>-1&&this.lineEnd-1)return;let{from:e,to:t}=this.oracle.doc.lineAt(this.pos);this.lineStart=e,this.lineEnd=t,this.writtenToe&&this.nodes.push(new lt(this.pos-e,-1,0)),this.writtenTo=this.pos}blankContent(e,t){let n=new li(t-e);return this.oracle.doc.lineAt(e).to==t&&(n.flags|=4),n}ensureLine(){this.enterLine();let e=this.nodes.length?this.nodes[this.nodes.length-1]:null;if(e instanceof lt)return e;let t=new lt(0,-1,0);return this.nodes.push(t),t}addBlock(e){this.enterLine();let t=e.deco;t&&t.startSide>0&&!this.isCovered&&this.ensureLine(),this.nodes.push(e),this.writtenTo=this.pos=this.pos+e.length,t&&t.endSide>0&&(this.covering=e)}addLineDeco(e,t,n){let r=this.ensureLine();r.length+=n,r.collapsed+=n,r.widgetHeight=Math.max(r.widgetHeight,e),r.breaks+=t,this.writtenTo=this.pos=this.pos+n}finish(e){let t=this.nodes.length==0?null:this.nodes[this.nodes.length-1];this.lineStart>-1&&!(t instanceof lt)&&!this.isCovered?this.nodes.push(new lt(0,-1,0)):(this.writtenToh.clientHeight||h.scrollWidth>h.clientWidth)&&f.overflow!="visible"){let u=h.getBoundingClientRect();s=Math.max(s,u.left),o=Math.min(o,u.right),a=Math.max(a,u.top),l=Math.min(c==i.parentNode?r.innerHeight:l,u.bottom)}c=f.position=="absolute"||f.position=="fixed"?h.offsetParent:h.parentNode}else if(c.nodeType==11)c=c.host;else break;return{left:s-t.left,right:Math.max(s,o)-t.left,top:a-(t.top+e),bottom:Math.max(a,l)-(t.top+e)}}function RQ(i){let e=i.getBoundingClientRect(),t=i.ownerDocument.defaultView||window;return e.left0&&e.top0}function AQ(i,e){let t=i.getBoundingClientRect();return{left:0,right:t.right-t.left,top:e,bottom:t.bottom-(t.top+e)}}var tr=class{constructor(e,t,n,r){this.from=e,this.to=t,this.size=n,this.displaySize=r}static same(e,t){if(e.length!=t.length)return!1;for(let n=0;ntypeof r!="function"&&r.class=="cm-lineWrapping");this.heightOracle=new Aa(n),this.stateDeco=Yf(t),this.heightMap=Ke.empty().applyChanges(this.stateDeco,J.empty,this.heightOracle.setDoc(t.doc),[new yt(0,0,0,t.doc.length)]);for(let r=0;r<2&&(this.viewport=this.getViewport(0,null),!!this.updateForViewport());r++);this.updateViewportLines(),this.lineGaps=this.ensureLineGaps([]),this.lineGapDeco=R.set(this.lineGaps.map(r=>r.draw(this,!1))),this.scrollParent=e.scrollDOM,this.computeVisibleRanges()}updateForViewport(){let e=[this.viewport],{main:t}=this.state.selection;for(let n=0;n<=1;n++){let r=n?t.head:t.anchor;if(!e.some(({from:s,to:o})=>r>=s&&r<=o)){let{from:s,to:o}=this.lineBlockAt(r);e.push(new fn(s,o))}}return this.viewports=e.sort((n,r)=>n.from-r.from),this.updateScaler()}updateScaler(){let e=this.scaler;return this.scaler=this.heightMap.height<=7e6?Df:new Ma(this.heightOracle,this.heightMap,this.viewports),e.eq(this.scaler)?0:2}updateViewportLines(){this.viewportLines=[],this.heightMap.forEachLine(this.viewport.from,this.viewport.to,this.heightOracle.setDoc(this.state.doc),0,0,e=>{this.viewportLines.push(Un(e,this.scaler))})}update(e,t=null){this.state=e.state;let n=this.stateDeco;this.stateDeco=Yf(this.state);let r=e.changedRanges,s=yt.extendWithRanges(r,XQ(n,this.stateDeco,e?e.changes:ze.empty(this.state.doc.length))),o=this.heightMap.height,a=this.scrolledToBottom?null:this.scrollAnchorAt(this.scrollOffset);jf(),this.heightMap=this.heightMap.applyChanges(this.stateDeco,e.startState.doc,this.heightOracle.setDoc(this.state.doc),s),(this.heightMap.height!=o||Qn)&&(e.flags|=2),a?(this.scrollAnchorPos=e.changes.mapPos(a.from,-1),this.scrollAnchorHeight=a.top):(this.scrollAnchorPos=-1,this.scrollAnchorHeight=o);let l=s.length?this.mapViewport(this.viewport,e.changes):this.viewport;(t&&(t.range.headl.to)||!this.viewportIsAppropriate(l))&&(l=this.getViewport(0,t));let c=l.from!=this.viewport.from||l.to!=this.viewport.to;this.viewport=l,e.flags|=this.updateForViewport(),(c||!e.changes.empty||e.flags&2)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(this.mapLineGaps(this.lineGaps,e.changes))),e.flags|=this.computeVisibleRanges(e.changes),t&&(this.scrollTarget=t),!this.mustEnforceCursorAssoc&&(e.selectionSet||e.focusChanged)&&e.view.lineWrapping&&e.state.selection.main.empty&&e.state.selection.main.assoc&&!e.state.facet(W0)&&(this.mustEnforceCursorAssoc=!0)}measure(){let{view:e}=this,t=e.contentDOM,n=window.getComputedStyle(t),r=this.heightOracle,s=n.whiteSpace;this.defaultTextDirection=n.direction=="rtl"?Oe.RTL:Oe.LTR;let o=this.heightOracle.mustRefreshForWrapping(s)||this.mustMeasureContent==="refresh",a=t.getBoundingClientRect(),l=o||this.mustMeasureContent||this.contentDOMHeight!=a.height;this.contentDOMHeight=a.height,this.mustMeasureContent=!1;let c=0,h=0;if(a.width&&a.height){let{scaleX:P,scaleY:$}=Kf(t,a);(P>.005&&Math.abs(this.scaleX-P)>.005||$>.005&&Math.abs(this.scaleY-$)>.005)&&(this.scaleX=P,this.scaleY=$,c|=16,o=l=!0)}let f=(parseInt(n.paddingTop)||0)*this.scaleY,u=(parseInt(n.paddingBottom)||0)*this.scaleY;(this.paddingTop!=f||this.paddingBottom!=u)&&(this.paddingTop=f,this.paddingBottom=u,c|=18),this.editorWidth!=e.scrollDOM.clientWidth&&(r.lineWrapping&&(l=!0),this.editorWidth=e.scrollDOM.clientWidth,c|=16);let O=Jf(this.view.contentDOM,!1).y;O!=this.scrollParent&&(this.scrollParent=O,this.scrollAnchorHeight=-1,this.scrollOffset=0);let m=this.getScrollOffset();this.scrollOffset!=m&&(this.scrollAnchorHeight=-1,this.scrollOffset=m),this.scrolledToBottom=tu(this.scrollParent||e.win);let p=(this.printing?AQ:_Q)(t,this.paddingTop),b=p.top-this.pixelViewport.top,g=p.bottom-this.pixelViewport.bottom;this.pixelViewport=p;let Q=this.pixelViewport.bottom>this.pixelViewport.top&&this.pixelViewport.right>this.pixelViewport.left;if(Q!=this.inView&&(this.inView=Q,Q&&(l=!0)),!this.inView&&!this.scrollTarget&&!RQ(e.dom))return 0;let S=a.width;if((this.contentDOMWidth!=S||this.editorHeight!=e.scrollDOM.clientHeight)&&(this.contentDOMWidth=a.width,this.editorHeight=e.scrollDOM.clientHeight,c|=16),l){let P=e.docView.measureVisibleLineHeights(this.viewport);if(r.mustRefreshForHeights(P)&&(o=!0),o||r.lineWrapping&&Math.abs(S-this.contentDOMWidth)>r.charWidth){let{lineHeight:$,charWidth:Z,textHeight:X}=e.docView.measureTextSize();o=$>0&&r.refresh(s,$,Z,X,Math.max(5,S/Z),P),o&&(e.docView.minWidth=0,c|=16)}b>0&&g>0?h=Math.max(b,g):b<0&&g<0&&(h=Math.min(b,g)),jf();for(let $ of this.viewports){let Z=$.from==this.viewport.from?P:e.docView.measureVisibleLineHeights($);this.heightMap=(o?Ke.empty().applyChanges(this.stateDeco,J.empty,this.heightOracle,[new yt(0,0,0,e.state.doc.length)]):this.heightMap).updateHeight(r,0,o,new Za($.from,Z))}Qn&&(c|=2)}let x=!this.viewportIsAppropriate(this.viewport,h)||this.scrollTarget&&(this.scrollTarget.range.headthis.viewport.to);return x&&(c&2&&(c|=this.updateScaler()),this.viewport=this.getViewport(h,this.scrollTarget),c|=this.updateForViewport()),(c&2||x)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(o?[]:this.lineGaps,e)),c|=this.computeVisibleRanges(),this.mustEnforceCursorAssoc&&(this.mustEnforceCursorAssoc=!1,e.docView.enforceCursorAssoc()),c}get visibleTop(){return this.scaler.fromDOM(this.pixelViewport.top)}get visibleBottom(){return this.scaler.fromDOM(this.pixelViewport.bottom)}getViewport(e,t){let n=.5-Math.max(-.5,Math.min(.5,e/1e3/2)),r=this.heightMap,s=this.heightOracle,{visibleTop:o,visibleBottom:a}=this,l=new fn(r.lineAt(o-n*1e3,ce.ByHeight,s,0,0).from,r.lineAt(a+(1-n)*1e3,ce.ByHeight,s,0,0).to);if(t){let{head:c}=t.range;if(cl.to){let h=Math.min(this.editorHeight,this.pixelViewport.bottom-this.pixelViewport.top),f=r.lineAt(c,ce.ByPos,s,0,0),u;t.y=="center"?u=(f.top+f.bottom)/2-h/2:t.y=="start"||t.y=="nearest"&&c=a+Math.max(10,Math.min(n,250)))&&r>o-2*1e3&&s>1,o=r<<1;if(this.defaultTextDirection!=Oe.LTR&&!n)return[];let a=[],l=(h,f,u,O)=>{if(f-hh&&gg.from>=u.from&&g.to<=u.to&&Math.abs(g.from-h)g.fromQ));if(!b){if(fS.from<=f&&S.to>=f)){let S=t.moveToLineBoundary(v.cursor(f),!1,!0).head;S>h&&(f=S)}let g=this.gapSize(u,h,f,O),Q=n||g<2e6?g:2e6;b=new tr(h,f,g,Q)}a.push(b)},c=h=>{if(h.length2e6)for(let $ of e)$.from>=h.from&&$.fromh.from&&l(h.from,O,h,f),mt.draw(this,this.heightOracle.lineWrapping))))}computeVisibleRanges(e){let t=this.stateDeco;this.lineGaps.length&&(t=t.concat(this.lineGapDeco));let n=[];le.spans(t,this.viewport.from,this.viewport.to,{span(s,o){n.push({from:s,to:o})},point(){}},20);let r=0;if(n.length!=this.visibleRanges.length)r=12;else for(let s=0;s=this.viewport.from&&e<=this.viewport.to&&this.viewportLines.find(t=>t.from<=e&&t.to>=e)||Un(this.heightMap.lineAt(e,ce.ByPos,this.heightOracle,0,0),this.scaler)}lineBlockAtHeight(e){return e>=this.viewportLines[0].top&&e<=this.viewportLines[this.viewportLines.length-1].bottom&&this.viewportLines.find(t=>t.top<=e&&t.bottom>=e)||Un(this.heightMap.lineAt(this.scaler.fromDOM(e),ce.ByHeight,this.heightOracle,0,0),this.scaler)}getScrollOffset(){return(this.scrollParent==this.view.scrollDOM?this.scrollParent.scrollTop:(this.scrollParent?this.scrollParent.getBoundingClientRect().top:0)-this.view.contentDOM.getBoundingClientRect().top)*this.scaleY}scrollAnchorAt(e){let t=this.lineBlockAtHeight(e+8);return t.from>=this.viewport.from||this.viewportLines[0].top-e>200?t:this.viewportLines[0]}elementAtHeight(e){return Un(this.heightMap.blockAt(this.scaler.fromDOM(e),this.heightOracle,0,0),this.scaler)}get docHeight(){return this.scaler.toDOM(this.heightMap.height)}get contentHeight(){return this.docHeight+this.paddingTop+this.paddingBottom}},fn=class{constructor(e,t){this.from=e,this.to=t}};function ZQ(i,e,t){let n=[],r=i,s=0;return le.spans(t,i,e,{span(){},point(o,a){o>r&&(n.push({from:r,to:o}),s+=o-r),r=a}},20),r=1)return e[e.length-1].to;let n=Math.floor(i*t);for(let r=0;;r++){let{from:s,to:o}=e[r],a=o-s;if(n<=a)return s+n;n-=a}}function rs(i,e){let t=0;for(let{from:n,to:r}of i.ranges){if(e<=r){t+=e-n;break}t+=r-n}return t/i.total}function EQ(i,e){for(let t of i)if(e(t))return t}var Df={toDOM(i){return i},fromDOM(i){return i},scale:1,eq(i){return i==this}};function Yf(i){let e=i.facet(ks).filter(n=>typeof n!="function"),t=i.facet(Ka).filter(n=>typeof n!="function");return t.length&&e.push(le.join(t)),e}var Ma=class i{constructor(e,t,n){let r=0,s=0,o=0;this.viewports=n.map(({from:a,to:l})=>{let c=t.lineAt(a,ce.ByPos,e,0,0).top,h=t.lineAt(l,ce.ByPos,e,0,0).bottom;return r+=h-c,{from:a,to:l,top:c,bottom:h,domTop:0,domBottom:0}}),this.scale=(7e6-r)/(t.height-r);for(let a of this.viewports)a.domTop=o+(a.top-s)*this.scale,o=a.domBottom=a.domTop+(a.bottom-a.top),s=a.bottom}toDOM(e){for(let t=0,n=0,r=0;;t++){let s=tt.from==e.viewports[n].from&&t.to==e.viewports[n].to):!1}};function Un(i,e){if(e.scale==1)return i;let t=e.toDOM(i.top),n=e.toDOM(i.bottom);return new St(i.from,i.length,t,n-t,Array.isArray(i._content)?i._content.map(r=>Un(r,e)):i._content)}var ss=Y.define({combine:i=>i.join(" ")}),Wa=Y.define({combine:i=>i.indexOf(!0)>-1}),ja=at.newName(),zu=at.newName(),Lu=at.newName(),Mu={"&light":"."+zu,"&dark":"."+Lu};function Va(i,e,t){return new at(e,{finish(n){return/&/.test(n)?n.replace(/&\w*/,r=>{if(r=="&")return i;if(!t||!t[r])throw new RangeError(`Unsupported selector: ${r}`);return t[r]}):i+" "+n}})}var qQ=Va("."+ja,{"&":{position:"relative !important",boxSizing:"border-box","&.cm-focused":{outline:"1px dotted #212121"},display:"flex !important",flexDirection:"column"},".cm-scroller":{display:"flex !important",alignItems:"flex-start !important",fontFamily:"monospace",lineHeight:1.4,height:"100%",overflowX:"auto",position:"relative",zIndex:0,overflowAnchor:"none"},".cm-content":{margin:0,flexGrow:2,flexShrink:0,display:"block",whiteSpace:"pre",wordWrap:"normal",boxSizing:"border-box",minHeight:"100%",padding:"4px 0",outline:"none","&[contenteditable=true]":{WebkitUserModify:"read-write-plaintext-only"}},".cm-lineWrapping":{whiteSpace_fallback:"pre-wrap",whiteSpace:"break-spaces",wordBreak:"break-word",overflowWrap:"anywhere",flexShrink:1},"&light .cm-content":{caretColor:"black"},"&dark .cm-content":{caretColor:"white"},".cm-line":{display:"block",padding:"0 2px 0 6px"},".cm-layer":{userSelect:"none",position:"absolute",left:0,top:0,contain:"size style","& > *":{position:"absolute"}},"&light .cm-selectionBackground":{background:"#d9d9d9"},"&dark .cm-selectionBackground":{background:"#222"},"&light.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#d7d4f0"},"&dark.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#233"},".cm-cursorLayer":{pointerEvents:"none"},"&.cm-focused > .cm-scroller > .cm-cursorLayer":{animation:"steps(1) cm-blink 1.2s infinite"},"@keyframes cm-blink":{"0%":{},"50%":{opacity:0},"100%":{}},"@keyframes cm-blink2":{"0%":{},"50%":{opacity:0},"100%":{}},".cm-cursor, .cm-dropCursor":{borderLeft:"1.2px solid black",marginLeft:"-0.6px",pointerEvents:"none"},".cm-cursor":{display:"none"},"&dark .cm-cursor":{borderLeftColor:"#ddd"},".cm-selectionHandle":{backgroundColor:"currentColor",width:"1.5px"},".cm-selectionHandle-start::before, .cm-selectionHandle-end::before":{content:'""',backgroundColor:"inherit",borderRadius:"50%",width:"8px",height:"8px",position:"absolute",left:"-3.25px"},".cm-selectionHandle-start::before":{top:"-8px"},".cm-selectionHandle-end::before":{bottom:"-8px"},".cm-dropCursor":{position:"absolute"},"&.cm-focused > .cm-scroller > .cm-cursorLayer .cm-cursor":{display:"block"},".cm-iso":{unicodeBidi:"isolate"},".cm-announced":{position:"fixed",top:"-10000px"},"@media print":{".cm-announced":{display:"none"}},"&light .cm-activeLine":{backgroundColor:"#cceeff44"},"&dark .cm-activeLine":{backgroundColor:"#99eeff33"},"&light .cm-specialChar":{color:"red"},"&dark .cm-specialChar":{color:"#f78"},".cm-gutters":{flexShrink:0,display:"flex",height:"100%",boxSizing:"border-box",zIndex:200},".cm-gutters-before":{insetInlineStart:0},".cm-gutters-after":{insetInlineEnd:0},"&light .cm-gutters":{backgroundColor:"#f5f5f5",color:"#6c6c6c",border:"0px solid #ddd","&.cm-gutters-before":{borderRightWidth:"1px"},"&.cm-gutters-after":{borderLeftWidth:"1px"}},"&dark .cm-gutters":{backgroundColor:"#333338",color:"#ccc"},".cm-gutter":{display:"flex !important",flexDirection:"column",flexShrink:0,boxSizing:"border-box",minHeight:"100%",overflow:"hidden"},".cm-gutterElement":{boxSizing:"border-box"},".cm-lineNumbers .cm-gutterElement":{padding:"0 3px 0 5px",minWidth:"20px",textAlign:"right",whiteSpace:"nowrap"},"&light .cm-activeLineGutter":{backgroundColor:"#e2f2ff"},"&dark .cm-activeLineGutter":{backgroundColor:"#222227"},".cm-panels":{boxSizing:"border-box",position:"sticky",left:0,right:0,zIndex:300},"&light .cm-panels":{backgroundColor:"#f5f5f5",color:"black"},"&light .cm-panels-top":{borderBottom:"1px solid #ddd"},"&light .cm-panels-bottom":{borderTop:"1px solid #ddd"},"&dark .cm-panels":{backgroundColor:"#333338",color:"white"},".cm-dialog":{padding:"2px 19px 4px 6px",position:"relative","& label":{fontSize:"80%"}},".cm-dialog-close":{position:"absolute",top:"3px",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",fontSize:"14px",padding:"0"},".cm-tab":{display:"inline-block",overflow:"hidden",verticalAlign:"bottom"},".cm-widgetBuffer":{verticalAlign:"text-top",height:"1em",width:0,display:"inline"},".cm-placeholder":{color:"#888",display:"inline-block",verticalAlign:"top",userSelect:"none"},".cm-highlightSpace":{backgroundImage:"radial-gradient(circle at 50% 55%, #aaa 20%, transparent 5%)",backgroundPosition:"center"},".cm-highlightTab":{backgroundImage:`url('data:image/svg+xml,')`,backgroundSize:"auto 100%",backgroundPosition:"right 90%",backgroundRepeat:"no-repeat"},".cm-trailingSpace":{backgroundColor:"#ff332255"},".cm-button":{verticalAlign:"middle",color:"inherit",fontSize:"70%",padding:".2em 1em",borderRadius:"1px"},"&light .cm-button":{backgroundImage:"linear-gradient(#eff1f5, #d9d9df)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#b4b4b4, #d0d3d6)"}},"&dark .cm-button":{backgroundImage:"linear-gradient(#393939, #111)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#111, #333)"}},".cm-textfield":{verticalAlign:"middle",color:"inherit",fontSize:"70%",border:"1px solid silver",padding:".2em .5em"},"&light .cm-textfield":{backgroundColor:"white"},"&dark .cm-textfield":{border:"1px solid #555",backgroundColor:"inherit"}},Mu),zQ={childList:!0,characterData:!0,subtree:!0,attributes:!0,characterDataOldValue:!0},aa=L.ie&&L.ie_version<=11,Da=class{constructor(e){this.view=e,this.active=!1,this.editContext=null,this.selectionRange=new Oa,this.selectionChanged=!1,this.delayedFlush=-1,this.resizeTimeout=-1,this.queue=[],this.delayedAndroidKey=null,this.flushingAndroidKey=-1,this.lastChange=0,this.scrollTargets=[],this.intersection=null,this.resizeScroll=null,this.intersecting=!1,this.gapIntersection=null,this.gaps=[],this.printQuery=null,this.parentCheck=-1,this.dom=e.contentDOM,this.observer=new MutationObserver(t=>{for(let n of t)this.queue.push(n);(L.ie&&L.ie_version<=11||L.ios&&e.composing)&&t.some(n=>n.type=="childList"&&n.removedNodes.length||n.type=="characterData"&&n.oldValue.length>n.target.nodeValue.length)?this.flushSoon():this.flush()}),window.EditContext&&L.android&&e.constructor.EDIT_CONTEXT!==!1&&!(L.chrome&&L.chrome_version<126)&&(this.editContext=new Ya(e),e.state.facet(jt)&&(e.contentDOM.editContext=this.editContext.editContext)),aa&&(this.onCharData=t=>{this.queue.push({target:t.target,type:"characterData",oldValue:t.prevValue}),this.flushSoon()}),this.onSelectionChange=this.onSelectionChange.bind(this),this.onResize=this.onResize.bind(this),this.onPrint=this.onPrint.bind(this),this.onScroll=this.onScroll.bind(this),window.matchMedia&&(this.printQuery=window.matchMedia("print")),typeof ResizeObserver=="function"&&(this.resizeScroll=new ResizeObserver(()=>{var t;((t=this.view.docView)===null||t===void 0?void 0:t.lastUpdate){this.parentCheck<0&&(this.parentCheck=setTimeout(this.listenForScroll.bind(this),1e3)),t.length>0&&t[t.length-1].intersectionRatio>0!=this.intersecting&&(this.intersecting=!this.intersecting,this.intersecting!=this.view.inView&&this.onScrollChanged(document.createEvent("Event")))},{threshold:[0,.001]}),this.intersection.observe(this.dom),this.gapIntersection=new IntersectionObserver(t=>{t.length>0&&t[t.length-1].intersectionRatio>0&&this.onScrollChanged(document.createEvent("Event"))},{})),this.listenForScroll(),this.readSelectionRange()}onScrollChanged(e){this.view.inputState.runHandlers("scroll",e),this.intersecting&&this.view.measure()}onScroll(e){this.intersecting&&this.flush(!1),this.editContext&&this.view.requestMeasure(this.editContext.measureReq),this.onScrollChanged(e)}onResize(){this.resizeTimeout<0&&(this.resizeTimeout=setTimeout(()=>{this.resizeTimeout=-1,this.view.requestMeasure()},50))}onPrint(e){(e.type=="change"||!e.type)&&!e.matches||(this.view.viewState.printing=!0,this.view.measure(),setTimeout(()=>{this.view.viewState.printing=!1,this.view.requestMeasure()},500))}updateGaps(e){if(this.gapIntersection&&(e.length!=this.gaps.length||this.gaps.some((t,n)=>t!=e[n]))){this.gapIntersection.disconnect();for(let t of e)this.gapIntersection.observe(t);this.gaps=e}}onSelectionChange(e){let t=this.selectionChanged;if(!this.readSelectionRange()||this.delayedAndroidKey)return;let{view:n}=this,r=this.selectionRange;if(n.state.facet(jt)?n.root.activeElement!=this.dom:!Nn(this.dom,r))return;let s=r.anchorNode&&n.docView.tile.nearest(r.anchorNode);if(s&&s.isWidget()&&s.widget.ignoreEvent(e)){t||(this.selectionChanged=!1);return}(L.ie&&L.ie_version<=11||L.android&&L.chrome)&&!n.state.selection.main.empty&&r.focusNode&&Fn(r.focusNode,r.focusOffset,r.anchorNode,r.anchorOffset)?this.flushSoon():this.flush(!1)}readSelectionRange(){let{view:e}=this,t=rr(e.root);if(!t)return!1;let n=L.safari&&e.root.nodeType==11&&e.root.activeElement==this.dom&&LQ(this.view,t)||t;if(!n||this.selectionRange.eq(n))return!1;let r=Nn(this.dom,n);return r&&!this.selectionChanged&&e.inputState.lastFocusTime>Date.now()-200&&e.inputState.lastTouchTime{let s=this.delayedAndroidKey;s&&(this.clearDelayedAndroidKey(),this.view.inputState.lastKeyCode=s.keyCode,this.view.inputState.lastKeyTime=Date.now(),!this.flush()&&s.force&&On(this.dom,s.key,s.keyCode))};this.flushingAndroidKey=this.view.win.requestAnimationFrame(r)}(!this.delayedAndroidKey||e=="Enter")&&(this.delayedAndroidKey={key:e,keyCode:t,force:this.lastChange{this.delayedFlush=-1,this.flush()}))}forceFlush(){this.delayedFlush>=0&&(this.view.win.cancelAnimationFrame(this.delayedFlush),this.delayedFlush=-1),this.flush()}pendingRecords(){for(let e of this.observer.takeRecords())this.queue.push(e);return this.queue}processRecords(){let e=this.pendingRecords();e.length&&(this.queue=[]);let t=-1,n=-1,r=!1;for(let s of e){let o=this.readMutation(s);o&&(o.typeOver&&(r=!0),t==-1?{from:t,to:n}=o:(t=Math.min(o.from,t),n=Math.max(o.to,n)))}return{from:t,to:n,typeOver:r}}readChange(){let{from:e,to:t,typeOver:n}=this.processRecords(),r=this.selectionChanged&&Nn(this.dom,this.selectionRange);if(e<0&&!r)return null;e>-1&&(this.lastChange=Date.now()),this.view.inputState.lastFocusTime=0,this.selectionChanged=!1;let s=new Ca(this.view,e,t,n);return this.view.docView.domChanged={newSel:s.newSel?s.newSel.main:null},s}flush(e=!0){if(this.delayedFlush>=0||this.delayedAndroidKey)return!1;e&&this.readSelectionRange();let t=this.readChange();if(!t)return this.view.requestMeasure(),!1;let n=this.view.state,r=$u(this.view,t);return this.view.state==n&&(t.domChanged||t.newSel&&!ms(this.view.state.selection,t.newSel.main))&&this.view.update([]),r}readMutation(e){let t=this.view.docView.tile.nearest(e.target);if(!t||t.isWidget())return null;if(t.markDirty(e.type=="attributes"),e.type=="childList"){let n=If(t,e.previousSibling||e.target.previousSibling,-1),r=If(t,e.nextSibling||e.target.nextSibling,1);return{from:n?t.posAfter(n):t.posAtStart,to:r?t.posBefore(r):t.posAtEnd,typeOver:!1}}else return e.type=="characterData"?{from:t.posAtStart,to:t.posAtEnd,typeOver:e.target.nodeValue==e.oldValue}:null}setWindow(e){e!=this.win&&(this.removeWindowListeners(this.win),this.win=e,this.addWindowListeners(this.win))}addWindowListeners(e){e.addEventListener("resize",this.onResize),this.printQuery?this.printQuery.addEventListener?this.printQuery.addEventListener("change",this.onPrint):this.printQuery.addListener(this.onPrint):e.addEventListener("beforeprint",this.onPrint),e.addEventListener("scroll",this.onScroll),e.document.addEventListener("selectionchange",this.onSelectionChange)}removeWindowListeners(e){e.removeEventListener("scroll",this.onScroll),e.removeEventListener("resize",this.onResize),this.printQuery?this.printQuery.removeEventListener?this.printQuery.removeEventListener("change",this.onPrint):this.printQuery.removeListener(this.onPrint):e.removeEventListener("beforeprint",this.onPrint),e.document.removeEventListener("selectionchange",this.onSelectionChange)}update(e){this.editContext&&(this.editContext.update(e),e.startState.facet(jt)!=e.state.facet(jt)&&(e.view.contentDOM.editContext=e.state.facet(jt)?this.editContext.editContext:null))}destroy(){var e,t,n;this.stop(),(e=this.intersection)===null||e===void 0||e.disconnect(),(t=this.gapIntersection)===null||t===void 0||t.disconnect(),(n=this.resizeScroll)===null||n===void 0||n.disconnect();for(let r of this.scrollTargets)r.removeEventListener("scroll",this.onScroll);this.removeWindowListeners(this.win),clearTimeout(this.parentCheck),clearTimeout(this.resizeTimeout),this.win.cancelAnimationFrame(this.delayedFlush),this.win.cancelAnimationFrame(this.flushingAndroidKey),this.editContext&&(this.view.contentDOM.editContext=null,this.editContext.destroy())}};function If(i,e,t){for(;e;){let n=ue.get(e);if(n&&n.parent==i)return n;let r=e.parentNode;e=r!=i.dom?r:t>0?e.nextSibling:e.previousSibling}return null}function Bf(i,e){let t=e.startContainer,n=e.startOffset,r=e.endContainer,s=e.endOffset,o=i.docView.domAtPos(i.state.selection.main.anchor,1);return Fn(o.node,o.offset,r,s)&&([t,n,r,s]=[r,s,t,n]),{anchorNode:t,anchorOffset:n,focusNode:r,focusOffset:s}}function LQ(i,e){if(e.getComposedRanges){let r=e.getComposedRanges(i.root)[0];if(r)return Bf(i,r)}let t=null;function n(r){r.preventDefault(),r.stopImmediatePropagation(),t=r.getTargetRanges()[0]}return i.contentDOM.addEventListener("beforeinput",n,!0),i.dom.ownerDocument.execCommand("indent"),i.contentDOM.removeEventListener("beforeinput",n,!0),t?Bf(i,t):null}var Ya=class{constructor(e){this.from=0,this.to=0,this.pendingContextChange=null,this.handlers=Object.create(null),this.composing=null,this.resetRange(e.state);let t=this.editContext=new window.EditContext({text:e.state.doc.sliceString(this.from,this.to),selectionStart:this.toContextPos(Math.max(this.from,Math.min(this.to,e.state.selection.main.anchor))),selectionEnd:this.toContextPos(e.state.selection.main.head)});this.handlers.textupdate=n=>{let r=e.state.selection.main,{anchor:s,head:o}=r,a=this.toEditorPos(n.updateRangeStart),l=this.toEditorPos(n.updateRangeEnd);e.inputState.composing>=0&&!this.composing&&(this.composing={contextBase:n.updateRangeStart,editorBase:a,drifted:!1});let c=l-a>n.text.length;a==this.from&&sthis.to&&(l=s);let h=Tu(e.state.sliceDoc(a,l),n.text,(c?r.from:r.to)-a,c?"end":null);if(!h){let u=v.single(this.toEditorPos(n.selectionStart),this.toEditorPos(n.selectionEnd));ms(u,r)||e.dispatch({selection:u,userEvent:"select"});return}let f={from:h.from+a,to:h.toA+a,insert:J.of(n.text.slice(h.from,h.toB).split(` +`))};if((L.mac||L.android)&&f.from==o-1&&/^\. ?$/.test(n.text)&&e.contentDOM.getAttribute("autocorrect")=="off"&&(f={from:a,to:l,insert:J.of([n.text.replace("."," ")])}),this.pendingContextChange=f,!e.state.readOnly){let u=this.to-this.from+(f.to-f.from+f.insert.length);Ja(e,f,v.single(this.toEditorPos(n.selectionStart,u),this.toEditorPos(n.selectionEnd,u)))}this.pendingContextChange&&(this.revertPending(e.state),this.setSelection(e.state)),f.from=0&&!/[\\p{Alphabetic}\\p{Number}_]/.test(t.text.slice(Math.max(0,n.updateRangeStart-1),Math.min(t.text.length,n.updateRangeStart+1)))&&this.handlers.compositionend(n)},this.handlers.characterboundsupdate=n=>{let r=[],s=null;for(let o=this.toEditorPos(n.rangeStart),a=this.toEditorPos(n.rangeEnd);o{let r=[];for(let s of n.getTextFormats()){let o=s.underlineStyle,a=s.underlineThickness;if(!/none/i.test(o)&&!/none/i.test(a)){let l=this.toEditorPos(s.rangeStart),c=this.toEditorPos(s.rangeEnd);if(l{e.inputState.composing<0&&(e.inputState.composing=0,e.inputState.compositionFirstChange=!0)},this.handlers.compositionend=()=>{if(e.inputState.composing=-1,e.inputState.compositionFirstChange=null,this.composing){let{drifted:n}=this.composing;this.composing=null,n&&this.reset(e.state)}};for(let n in this.handlers)t.addEventListener(n,this.handlers[n]);this.measureReq={read:n=>{let r=rr(n.root);r&&r.rangeCount&&this.editContext.updateSelectionBounds(r.getRangeAt(0).getBoundingClientRect())}}}applyEdits(e){let t=0,n=!1,r=this.pendingContextChange;return e.changes.iterChanges((s,o,a,l,c)=>{if(n)return;let h=c.length-(o-s);if(r&&o>=r.to)if(r.from==s&&r.to==o&&r.insert.eq(c)){r=this.pendingContextChange=null,t+=h,this.to+=h;return}else r=null,this.revertPending(e.state);if(s+=t,o+=t,o<=this.from)this.from+=h,this.to+=h;else if(sthis.to||this.to-this.from+c.length>3e4){n=!0;return}this.editContext.updateText(this.toContextPos(s),this.toContextPos(o),c.toString()),this.to+=h}t+=h}),r&&!n&&this.revertPending(e.state),!n}update(e){let t=this.pendingContextChange,n=e.startState.selection.main;this.composing&&(this.composing.drifted||!e.changes.touchesRange(n.from,n.to)&&e.transactions.some(r=>!r.isUserEvent("input.type")&&r.changes.touchesRange(this.from,this.to)))?(this.composing.drifted=!0,this.composing.editorBase=e.changes.mapPos(this.composing.editorBase)):!this.applyEdits(e)||!this.rangeIsValid(e.state)?(this.pendingContextChange=null,this.reset(e.state)):(e.docChanged||e.selectionSet||t)&&this.setSelection(e.state),(e.geometryChanged||e.docChanged||e.selectionSet)&&e.view.requestMeasure(this.measureReq)}resetRange(e){let{head:t}=e.selection.main;this.from=Math.max(0,t-1e4),this.to=Math.min(e.doc.length,t+1e4)}reset(e){this.resetRange(e),this.editContext.updateText(0,this.editContext.text.length,e.doc.sliceString(this.from,this.to)),this.setSelection(e)}revertPending(e){let t=this.pendingContextChange;this.pendingContextChange=null,this.editContext.updateText(this.toContextPos(t.from),this.toContextPos(t.from+t.insert.length),e.doc.sliceString(t.from,t.to))}setSelection(e){let{main:t}=e.selection,n=this.toContextPos(Math.max(this.from,Math.min(this.to,t.anchor))),r=this.toContextPos(t.head);(this.editContext.selectionStart!=n||this.editContext.selectionEnd!=r)&&this.editContext.updateSelection(n,r)}rangeIsValid(e){let{head:t}=e.selection.main;return!(this.from>0&&t-this.from<500||this.to1e4*3)}toEditorPos(e,t=this.to-this.from){e=Math.min(e,t);let n=this.composing;return n&&n.drifted?n.editorBase+(e-n.contextBase):e+this.from}toContextPos(e){let t=this.composing;return t&&t.drifted?t.contextBase+(e-t.editorBase):e-this.from}destroy(){for(let e in this.handlers)this.editContext.removeEventListener(e,this.handlers[e])}},q=class i{get state(){return this.viewState.state}get viewport(){return this.viewState.viewport}get visibleRanges(){return this.viewState.visibleRanges}get inView(){return this.viewState.inView}get composing(){return!!this.inputState&&this.inputState.composing>0}get compositionStarted(){return!!this.inputState&&this.inputState.composing>=0}get root(){return this._root}get win(){return this.dom.ownerDocument.defaultView||window}constructor(e={}){var t;this.plugins=[],this.pluginMap=new Map,this.editorAttrs={},this.contentAttrs={},this.bidiCache=[],this.destroyed=!1,this.updateState=2,this.measureScheduled=-1,this.measureRequests=[],this.contentDOM=document.createElement("div"),this.scrollDOM=document.createElement("div"),this.scrollDOM.tabIndex=-1,this.scrollDOM.className="cm-scroller",this.scrollDOM.appendChild(this.contentDOM),this.announceDOM=document.createElement("div"),this.announceDOM.className="cm-announced",this.announceDOM.setAttribute("aria-live","polite"),this.dom=document.createElement("div"),this.dom.appendChild(this.announceDOM),this.dom.appendChild(this.scrollDOM),e.parent&&e.parent.appendChild(this.dom);let{dispatch:n}=e;this.dispatchTransactions=e.dispatchTransactions||n&&(r=>r.forEach(s=>n(s,this)))||(r=>this.update(r)),this.dispatch=this.dispatch.bind(this),this._root=e.root||C0(e.parent)||document,this.viewState=new bs(this,e.state||se.create(e)),e.scrollTo&&e.scrollTo.is(es)&&(this.viewState.scrollTarget=e.scrollTo.value.clip(this.viewState.state)),this.plugins=this.state.facet(hn).map(r=>new Kn(r));for(let r of this.plugins)r.update(this);this.observer=new Da(this),this.inputState=new Xa(this),this.inputState.ensureHandlers(this.plugins),this.docView=new ds(this),this.mountStyles(),this.updateAttrs(),this.updateState=0,this.requestMeasure(),!((t=document.fonts)===null||t===void 0)&&t.ready&&document.fonts.ready.then(()=>{this.viewState.mustMeasureContent="refresh",this.requestMeasure()})}dispatch(...e){let t=e.length==1&&e[0]instanceof pe?e:e.length==1&&Array.isArray(e[0])?e[0]:[this.state.update(...e)];this.dispatchTransactions(t,this)}update(e){if(this.updateState!=0)throw new Error("Calls to EditorView.update are not allowed while an update is in progress");let t=!1,n=!1,r,s=this.state;for(let u of e){if(u.startState!=s)throw new RangeError("Trying to update state with a transaction that doesn't start from the previous state.");s=u.state}if(this.destroyed){this.viewState.state=s;return}let o=this.hasFocus,a=0,l=null;e.some(u=>u.annotation(Zu))?(this.inputState.notifiedFocused=o,a=1):o!=this.inputState.notifiedFocused&&(this.inputState.notifiedFocused=o,l=Eu(s,o),l||(a=1));let c=this.observer.delayedAndroidKey,h=null;if(c?(this.observer.clearDelayedAndroidKey(),h=this.observer.readChange(),(h&&!this.state.doc.eq(s.doc)||!this.state.selection.eq(s.selection))&&(h=null)):this.observer.clear(),s.facet(se.phrases)!=this.state.facet(se.phrases))return this.setState(s);r=us.create(this,s,e),r.flags|=a;let f=this.viewState.scrollTarget;try{this.updateState=2;for(let u of e){if(f&&(f=f.map(u.changes)),u.scrollIntoView){let{main:O}=u.state.selection,{x:m,y:p}=this.state.facet(i.cursorScrollMargin);f=new Hn(O.empty?O:v.cursor(O.head,O.head>O.anchor?-1:1),"nearest","nearest",p,m)}for(let O of u.effects)O.is(es)&&(f=O.value.clip(this.state))}this.viewState.update(r,f),this.bidiCache=Ss.update(this.bidiCache,r.changes),r.empty||(this.updatePlugins(r),this.inputState.update(r)),t=this.docView.update(r),this.state.facet(Bn)!=this.styleModules&&this.mountStyles(),n=this.updateAttrs(),this.showAnnouncements(e),this.docView.updateSelection(t,e.some(u=>u.isUserEvent("select.pointer")))}finally{this.updateState=0}if(r.startState.facet(ss)!=r.state.facet(ss)&&(this.viewState.mustMeasureContent=!0),(t||n||f||this.viewState.mustEnforceCursorAssoc||this.viewState.mustMeasureContent)&&this.requestMeasure(),t&&this.docViewUpdate(),!r.empty)for(let u of this.state.facet(ga))try{u(r)}catch(O){ft(this.state,O,"update listener")}(l||h)&&Promise.resolve().then(()=>{l&&this.state==l.startState&&this.dispatch(l),h&&!$u(this,h)&&c.force&&On(this.contentDOM,c.key,c.keyCode)})}setState(e){if(this.updateState!=0)throw new Error("Calls to EditorView.setState are not allowed while an update is in progress");if(this.destroyed){this.viewState.state=e;return}this.updateState=2;let t=this.hasFocus;try{for(let n of this.plugins)n.destroy(this);this.viewState=new bs(this,e),this.plugins=e.facet(hn).map(n=>new Kn(n)),this.pluginMap.clear();for(let n of this.plugins)n.update(this);this.docView.destroy(),this.docView=new ds(this),this.inputState.ensureHandlers(this.plugins),this.mountStyles(),this.updateAttrs(),this.bidiCache=[]}finally{this.updateState=0}t&&this.focus(),this.requestMeasure()}updatePlugins(e){let t=e.startState.facet(hn),n=e.state.facet(hn);if(t!=n){let r=[];for(let s of n){let o=t.indexOf(s);if(o<0)r.push(new Kn(s));else{let a=this.plugins[o];a.mustUpdate=e,r.push(a)}}for(let s of this.plugins)s.mustUpdate!=e&&s.destroy(this);this.plugins=r,this.pluginMap.clear()}else for(let r of this.plugins)r.mustUpdate=e;for(let r=0;r-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.observer.delayedAndroidKey){this.measureScheduled=-1,this.requestMeasure();return}this.measureScheduled=0,e&&this.observer.forceFlush();let t=null,n=this.viewState.scrollParent,r=this.viewState.getScrollOffset(),{scrollAnchorPos:s,scrollAnchorHeight:o}=this.viewState;Math.abs(r-this.viewState.scrollOffset)>1&&(o=-1),this.viewState.scrollAnchorHeight=-1;try{for(let a=0;;a++){if(o<0)if(tu(n||this.win))s=-1,o=this.viewState.heightMap.height;else{let O=this.viewState.scrollAnchorAt(r);s=O.from,o=O.top}this.updateState=1;let l=this.viewState.measure();if(!l&&!this.measureRequests.length&&this.viewState.scrollTarget==null)break;if(a>5){console.warn(this.measureRequests.length?"Measure loop restarted more than 5 times":"Viewport failed to stabilize");break}let c=[];l&4||([this.measureRequests,c]=[c,this.measureRequests]);let h=c.map(O=>{try{return O.read(this)}catch(m){return ft(this.state,m),Uf}}),f=us.create(this,this.state,[]),u=!1;f.flags|=l,t?t.flags|=l:t=f,this.updateState=2,f.empty||(this.updatePlugins(f),this.inputState.update(f),this.updateAttrs(),u=this.docView.update(f),u&&this.docViewUpdate());for(let O=0;O1||m<-1)&&!(L.ios&&this.inputState.lastIOSMomentumScroll>Date.now()-100)&&(n==this.scrollDOM||this.hasFocus||Math.max(this.inputState.lastWheelEvent,this.inputState.lastTouchTime)>Date.now()-100)){r=r+m,n?n.scrollTop+=m:this.win.scrollBy(0,m),o=-1;continue}}break}}}finally{this.updateState=0,this.measureScheduled=-1}if(t&&!t.empty)for(let a of this.state.facet(ga))a(t)}get themeClasses(){return ja+" "+(this.state.facet(Wa)?Lu:zu)+" "+this.state.facet(ss)}updateAttrs(){let e=Gf(this,Qu,{class:"cm-editor"+(this.hasFocus?" cm-focused ":" ")+this.themeClasses}),t={spellcheck:"false",autocorrect:"off",autocapitalize:"off",writingsuggestions:"false",translate:"no",contenteditable:this.state.facet(jt)?"true":"false",class:"cm-content",style:`${L.tabSize}: ${this.state.tabSize}`,role:"textbox","aria-multiline":"true"};this.state.readOnly&&(t["aria-readonly"]="true"),Gf(this,Ha,t);let n=this.observer.ignore(()=>{let r=vf(this.contentDOM,this.contentAttrs,t),s=vf(this.dom,this.editorAttrs,e);return r||s});return this.editorAttrs=e,this.contentAttrs=t,n}showAnnouncements(e){let t=!0;for(let n of e)for(let r of n.effects)if(r.is(i.announce)){t&&(this.announceDOM.textContent=""),t=!1;let s=this.announceDOM.appendChild(document.createElement("div"));s.textContent=r.value}}mountStyles(){this.styleModules=this.state.facet(Bn);let e=this.state.facet(i.cspNonce);at.mount(this.root,this.styleModules.concat(qQ).reverse(),e?{nonce:e}:void 0)}readMeasured(){if(this.updateState==2)throw new Error("Reading the editor layout isn't allowed during an update");this.updateState==0&&this.measureScheduled>-1&&this.measure(!1)}requestMeasure(e){if(this.measureScheduled<0&&(this.measureScheduled=this.win.requestAnimationFrame(()=>this.measure())),e){if(this.measureRequests.indexOf(e)>-1)return;if(e.key!=null){for(let t=0;tn.plugin==e)||null),t&&t.update(this).value}get documentTop(){return this.contentDOM.getBoundingClientRect().top+this.viewState.paddingTop}get documentPadding(){return{top:this.viewState.paddingTop,bottom:this.viewState.paddingBottom}}get scaleX(){return this.viewState.scaleX}get scaleY(){return this.viewState.scaleY}elementAtHeight(e){return this.readMeasured(),this.viewState.elementAtHeight(e)}lineBlockAtHeight(e){return this.readMeasured(),this.viewState.lineBlockAtHeight(e)}get viewportLineBlocks(){return this.viewState.viewportLines}lineBlockAt(e){return this.viewState.lineBlockAt(e)}get contentHeight(){return this.viewState.contentHeight}moveByChar(e,t,n){return oa(this,e,Rf(this,e,t,n))}moveByGroup(e,t){return oa(this,e,Rf(this,e,t,n=>oQ(this,e.head,n)))}visualLineSide(e,t){let n=this.bidiSpans(e),r=this.textDirectionAt(e.from),s=n[t?n.length-1:0];return v.cursor(s.side(t,r)+e.from,s.forward(!t,r)?1:-1)}moveToLineBoundary(e,t,n=!0){return sQ(this,e,t,n)}moveVertically(e,t,n){return oa(this,e,aQ(this,e,t,n))}domAtPos(e,t=1){return this.docView.domAtPos(e,t)}posAtDOM(e,t=0){return this.docView.posFromDOM(e,t)}posAtCoords(e,t=!0){this.readMeasured();let n=va(this,e,t);return n&&n.pos}posAndSideAtCoords(e,t=!0){return this.readMeasured(),va(this,e,t)}coordsAtPos(e,t=1){this.readMeasured();let n=this.state.doc.lineAt(e),r=this.bidiSpans(n),s=r[ht.find(r,e-n.from,-1,t)];return this.docView.coordsAt(e,t,s.dir==Oe.RTL)}coordsForChar(e){return this.readMeasured(),this.docView.coordsForChar(e)}get defaultCharacterWidth(){return this.viewState.heightOracle.charWidth}get defaultLineHeight(){return this.viewState.heightOracle.lineHeight}get textDirection(){return this.viewState.defaultTextDirection}textDirectionAt(e){return!this.state.facet(pu)||ethis.viewport.to?this.textDirection:(this.readMeasured(),this.docView.textDirectionAt(e))}get lineWrapping(){return this.viewState.heightOracle.lineWrapping}bidiSpans(e){if(e.length>MQ)return au(e.length);let t=this.textDirectionAt(e.from),n;for(let s of this.bidiCache)if(s.from==e.from&&s.dir==t&&(s.fresh||ou(s.isolates,n=Cf(this,e))))return s.order;n||(n=Cf(this,e));let r=z0(e.text,t,n);return this.bidiCache.push(new Ss(e.from,e.to,t,n,!0,r)),r}get hasFocus(){var e;return(this.dom.ownerDocument.hasFocus()||L.safari&&((e=this.inputState)===null||e===void 0?void 0:e.lastContextMenu)>Date.now()-3e4)&&this.root.activeElement==this.contentDOM}focus(){this.observer.ignore(()=>{eu(this.contentDOM),this.docView.updateSelection()})}setRoot(e){this._root!=e&&(this._root=e,this.observer.setWindow((e.nodeType==9?e:e.ownerDocument).defaultView||window),this.mountStyles())}destroy(){this.root.activeElement==this.contentDOM&&this.contentDOM.blur();for(let e of this.plugins)e.destroy(this);this.plugins=[],this.inputState.destroy(),this.docView.destroy(),this.dom.remove(),this.observer.destroy(),this.measureScheduled>-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.destroyed=!0}static scrollIntoView(e,t={}){var n,r,s,o;return es.of(new Hn(typeof e=="number"?v.cursor(e):e,(n=t.y)!==null&&n!==void 0?n:"nearest",(r=t.x)!==null&&r!==void 0?r:"nearest",(s=t.yMargin)!==null&&s!==void 0?s:5,(o=t.xMargin)!==null&&o!==void 0?o:5))}scrollSnapshot(){let{scrollTop:e,scrollLeft:t}=this.scrollDOM,n=this.viewState.scrollAnchorAt(e);return es.of(new Hn(v.cursor(n.from),"start","start",n.top-e,t,!0))}setTabFocusMode(e){e==null?this.inputState.tabFocusMode=this.inputState.tabFocusMode<0?0:-1:typeof e=="boolean"?this.inputState.tabFocusMode=e?0:-1:this.inputState.tabFocusMode!=0&&(this.inputState.tabFocusMode=Date.now()+e)}static domEventHandlers(e){return De.define(()=>({}),{eventHandlers:e})}static domEventObservers(e){return De.define(()=>({}),{eventObservers:e})}static theme(e,t){let n=at.newName(),r=[ss.of(n),Bn.of(Va(`.${n}`,e))];return t&&t.dark&&r.push(Wa.of(!0)),r}static baseTheme(e){return ot.lowest(Bn.of(Va("."+ja,e,Mu)))}static findFromDOM(e){var t;let n=e.querySelector(".cm-content"),r=n&&ue.get(n)||ue.get(e);return((t=r?.root)===null||t===void 0?void 0:t.view)||null}};q.styleModule=Bn;q.inputHandler=Ou;q.clipboardInputFilter=Na;q.clipboardOutputFilter=Fa;q.scrollHandler=mu;q.focusChangeEffect=du;q.perLineTextDirection=pu;q.exceptionSink=uu;q.updateListener=ga;q.editable=jt;q.mouseSelectionStyle=fu;q.dragMovesSelection=hu;q.clickAddsSelectionRange=cu;q.decorations=ks;q.blockWrappers=bu;q.outerDecorations=Ka;q.atomicRanges=or;q.bidiIsolatedRanges=Su;q.cursorScrollMargin=Y.define({combine:i=>{let e=5,t=5;for(let n of i)typeof n=="number"?e=t=n:{x:e,y:t}=n;return{x:e,y:t}}});q.scrollMargins=yu;q.darkTheme=Wa;q.cspNonce=Y.define({combine:i=>i.length?i[0]:""});q.contentAttributes=Ha;q.editorAttributes=Qu;q.lineWrapping=q.contentAttributes.of({class:"cm-lineWrapping"});q.announce=ie.define();var MQ=4096,Uf={},Ss=class i{constructor(e,t,n,r,s,o){this.from=e,this.to=t,this.dir=n,this.isolates=r,this.fresh=s,this.order=o}static update(e,t){if(t.empty&&!e.some(s=>s.fresh))return e;let n=[],r=e.length?e[e.length-1].dir:Oe.LTR;for(let s=Math.max(0,e.length-10);s=0;r--){let s=n[r],o=typeof s=="function"?s(i):s;o&&Ba(o,t)}return t}var WQ=L.mac?"mac":L.windows?"win":L.linux?"linux":"key";function jQ(i,e){let t=i.split(/-(?!$)/),n=t[t.length-1];n=="Space"&&(n=" ");let r,s,o,a;for(let l=0;ln.concat(r),[]))),t}var ai=null,YQ=4e3;function IQ(i,e=WQ){let t=Object.create(null),n=Object.create(null),r=(o,a)=>{let l=n[o];if(l==null)n[o]=a;else if(l!=a)throw new Error("Key binding "+o+" is used both as a regular binding and as a multi-stroke prefix")},s=(o,a,l,c,h)=>{var f,u;let O=t[o]||(t[o]=Object.create(null)),m=a.split(/ (?!$)/).map(g=>jQ(g,e));for(let g=1;g{let x=ai={view:S,prefix:Q,scope:o};return setTimeout(()=>{ai==x&&(ai=null)},YQ),!0}]})}let p=m.join(" ");r(p,!1);let b=O[p]||(O[p]={preventDefault:!1,stopPropagation:!1,run:((u=(f=O._any)===null||f===void 0?void 0:f.run)===null||u===void 0?void 0:u.slice())||[]});l&&b.run.push(l),c&&(b.preventDefault=!0),h&&(b.stopPropagation=!0)};for(let o of i){let a=o.scope?o.scope.split(" "):["editor"];if(o.any)for(let c of a){let h=t[c]||(t[c]=Object.create(null));h._any||(h._any={preventDefault:!1,stopPropagation:!1,run:[]});let{any:f}=o;for(let u in h)h[u].run.push(O=>f(O,Ia))}let l=o[e]||o.key;if(l)for(let c of a)s(c,l,o.run,o.preventDefault,o.stopPropagation),o.shift&&s(c,"Shift-"+l,o.shift,o.preventDefault,o.stopPropagation)}return t}var Ia=null;function BQ(i,e,t,n){Ia=e;let r=kf(e),s=oi(r,0),o=an(s)==r.length&&r!=" ",a="",l=!1,c=!1,h=!1;ai&&ai.view==t&&ai.scope==n&&(a=ai.prefix+" ",Xu.indexOf(e.keyCode)<0&&(c=!0,ai=null));let f=new Set,u=b=>{if(b){for(let g of b.run)if(!f.has(g)&&(f.add(g),g(t)))return b.stopPropagation&&(h=!0),!0;b.preventDefault&&(b.stopPropagation&&(h=!0),c=!0)}return!1},O=i[n],m,p;return O&&(u(O[a+os(r,e,!o)])?l=!0:o&&(e.altKey||e.metaKey||e.ctrlKey)&&!(L.windows&&e.ctrlKey&&e.altKey)&&!(L.mac&&e.altKey&&!(e.ctrlKey||e.metaKey))&&(m=Wt[e.keyCode])&&m!=r?(u(O[a+os(m,e,!0)])||e.shiftKey&&(p=ln[e.keyCode])!=r&&p!=m&&u(O[a+os(p,e,!1)]))&&(l=!0):o&&e.shiftKey&&u(O[a+os(r,e,!0)])&&(l=!0),!l&&u(O._any)&&(l=!0)),c&&(l=!0),l&&h&&e.stopPropagation(),Ia=null,l}var Wu=ie.define({map(i,e){return i==null?null:e.mapPos(i)}}),Gn=fe.define({create(){return null},update(i,e){return i!=null&&(i=e.changes.mapPos(i)),e.effects.reduce((t,n)=>n.is(Wu)?n.value:t,i)}}),UQ=De.fromClass(class{constructor(i){this.view=i,this.cursor=null,this.measureReq={read:this.readPos.bind(this),write:this.drawCursor.bind(this)}}update(i){var e;let t=i.state.field(Gn);t==null?this.cursor!=null&&((e=this.cursor)===null||e===void 0||e.remove(),this.cursor=null):(this.cursor||(this.cursor=this.view.scrollDOM.appendChild(document.createElement("div")),this.cursor.className="cm-dropCursor"),(i.startState.field(Gn)!=t||i.docChanged||i.geometryChanged)&&this.view.requestMeasure(this.measureReq))}readPos(){let{view:i}=this,e=i.state.field(Gn),t=e!=null&&i.coordsAtPos(e);if(!t)return null;let n=i.scrollDOM.getBoundingClientRect();return{left:t.left-n.left+i.scrollDOM.scrollLeft*i.scaleX,top:t.top-n.top+i.scrollDOM.scrollTop*i.scaleY,height:t.bottom-t.top}}drawCursor(i){if(this.cursor){let{scaleX:e,scaleY:t}=this.view;i?(this.cursor.style.left=i.left/e+"px",this.cursor.style.top=i.top/t+"px",this.cursor.style.height=i.height/t+"px"):this.cursor.style.left="-100000px"}}destroy(){this.cursor&&this.cursor.remove()}setDropPos(i){this.view.state.field(Gn)!=i&&this.view.dispatch({effects:Wu.of(i)})}},{eventObservers:{dragover(i){this.setDropPos(this.view.posAtCoords({x:i.clientX,y:i.clientY}))},dragleave(i){(i.target==this.view.contentDOM||!this.view.contentDOM.contains(i.relatedTarget))&&this.setDropPos(null)},dragend(){this.setDropPos(null)},drop(){this.setDropPos(null)}}});function ju(){return[Gn,UQ]}var h$=/x/.unicode!=null?"gu":"g";var Yt=class extends st{compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}eq(e){return!1}destroy(e){}};Yt.prototype.elementClass="";Yt.prototype.toDOM=void 0;Yt.prototype.mapMode=ge.TrackBefore;Yt.prototype.startSide=Yt.prototype.endSide=-1;Yt.prototype.point=!0;var GQ=0,Ye=class{constructor(e,t){this.from=e,this.to=t}},I=class{constructor(e={}){this.id=GQ++,this.perNode=!!e.perNode,this.deserialize=e.deserialize||(()=>{throw new Error("This node type doesn't define a deserialize function")}),this.combine=e.combine||null}add(e){if(this.perNode)throw new RangeError("Can't add per-node props to node types");return typeof e!="function"&&(e=de.match(e)),t=>{let n=e(t);return n===void 0?null:[this,n]}}};I.closedBy=new I({deserialize:i=>i.split(" ")});I.openedBy=new I({deserialize:i=>i.split(" ")});I.group=new I({deserialize:i=>i.split(" ")});I.isolate=new I({deserialize:i=>{if(i&&i!="rtl"&&i!="ltr"&&i!="auto")throw new RangeError("Invalid value for isolate: "+i);return i||"auto"}});I.contextHash=new I({perNode:!0});I.lookAhead=new I({perNode:!0});I.mounted=new I({perNode:!0});var Oi=class{constructor(e,t,n,r=!1){this.tree=e,this.overlay=t,this.parser=n,this.bracketed=r}static get(e){return e&&e.props&&e.props[I.mounted.id]}},NQ=Object.create(null),de=class i{constructor(e,t,n,r=0){this.name=e,this.props=t,this.id=n,this.flags=r}static define(e){let t=e.props&&e.props.length?Object.create(null):NQ,n=(e.top?1:0)|(e.skipped?2:0)|(e.error?4:0)|(e.name==null?8:0),r=new i(e.name||"",t,e.id,n);if(e.props){for(let s of e.props)if(Array.isArray(s)||(s=s(r)),s){if(s[0].perNode)throw new RangeError("Can't store a per-node prop on a node type");t[s[0].id]=s[1]}}return r}prop(e){return this.props[e.id]}get isTop(){return(this.flags&1)>0}get isSkipped(){return(this.flags&2)>0}get isError(){return(this.flags&4)>0}get isAnonymous(){return(this.flags&8)>0}is(e){if(typeof e=="string"){if(this.name==e)return!0;let t=this.prop(I.group);return t?t.indexOf(e)>-1:!1}return this.id==e}static match(e){let t=Object.create(null);for(let n in e)for(let r of n.split(" "))t[r]=e[n];return n=>{for(let r=n.prop(I.group),s=-1;s<(r?r.length:0);s++){let o=t[s<0?n.name:r[s]];if(o)return o}}}};de.none=new de("",Object.create(null),0,8);var It=class i{constructor(e){this.types=e;for(let t=0;t0;for(let l=this.cursor(o|te.IncludeAnonymous);;){let c=!1;if(l.from<=s&&l.to>=r&&(!a&&l.type.isAnonymous||t(l)!==!1)){if(l.firstChild())continue;c=!0}for(;c&&n&&(a||!l.type.isAnonymous)&&n(l),!l.nextSibling();){if(!l.parent())return;c=!0}}}prop(e){return e.perNode?this.props?this.props[e.id]:void 0:this.type.prop(e)}get propValues(){let e=[];if(this.props)for(let t in this.props)e.push([+t,this.props[t]]);return e}balance(e={}){return this.children.length<=8?this:hl(de.none,this.children,this.positions,0,this.children.length,0,this.length,(t,n,r)=>new i(this.type,t,n,r,this.propValues),e.makeTree||((t,n,r)=>new i(de.none,t,n,r)))}static build(e){return HQ(e)}};K.empty=new K(de.none,[],[],0);var el=class i{constructor(e,t){this.buffer=e,this.index=t}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}get pos(){return this.index}next(){this.index-=4}fork(){return new i(this.buffer,this.index)}},di=class i{constructor(e,t,n){this.buffer=e,this.length=t,this.set=n}get type(){return de.none}toString(){let e=[];for(let t=0;t0));l=o[l+3]);return a}slice(e,t,n){let r=this.buffer,s=new Uint16Array(t-e),o=0;for(let a=e,l=0;a=e&&te;case 1:return t<=e&&n>e;case 2:return n>e;case 4:return!0}}function ar(i,e,t,n){for(var r;i.from==i.to||(t<1?i.from>=e:i.from>e)||(t>-1?i.to<=e:i.to0?a.length:-1;e!=c;e+=t){let h=a[e],f=l[e]+o.from,u;if(!(!(s&te.EnterBracketed&&h instanceof K&&(u=Oi.get(h))&&!u.overlay&&u.bracketed&&n>=f&&n<=f+h.length)&&!Nu(r,n,f,f+h.length))){if(h instanceof di){if(s&te.ExcludeBuffers)continue;let O=h.findChild(0,h.buffer.length,t,n-f,r);if(O>-1)return new Li(new il(o,h,e,f),null,O)}else if(s&te.IncludeAnonymous||!h.type.isAnonymous||cl(h)){let O;if(!(s&te.IgnoreMounts)&&(O=Oi.get(h))&&!O.overlay)return new i(O.tree,f,e,o);let m=new i(h,f,e,o);return s&te.IncludeAnonymous||!m.type.isAnonymous?m:m.nextChild(t<0?h.children.length-1:0,t,n,r,s)}}}if(s&te.IncludeAnonymous||!o.type.isAnonymous||(o.index>=0?e=o.index+t:e=t<0?-1:o._parent._tree.children.length,o=o._parent,!o))return null}}get firstChild(){return this.nextChild(0,1,0,4)}get lastChild(){return this.nextChild(this._tree.children.length-1,-1,0,4)}childAfter(e){return this.nextChild(0,1,e,2)}childBefore(e){return this.nextChild(this._tree.children.length-1,-1,e,-2)}prop(e){return this._tree.prop(e)}enter(e,t,n=0){let r;if(!(n&te.IgnoreOverlays)&&(r=Oi.get(this._tree))&&r.overlay){let s=e-this.from,o=n&te.EnterBracketed&&r.bracketed;for(let{from:a,to:l}of r.overlay)if((t>0||o?a<=s:a=s:l>s))return new i(r.tree,r.overlay[0].from+this.from,-1,this)}return this.nextChild(0,1,e,t,n)}nextSignificantParent(){let e=this;for(;e.type.isAnonymous&&e._parent;)e=e._parent;return e}get parent(){return this._parent?this._parent.nextSignificantParent():null}get nextSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index+1,1,0,4):null}get prevSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index-1,-1,0,4):null}get tree(){return this._tree}toTree(){return this._tree}toString(){return this._tree.toString()}};function Du(i,e,t,n){let r=i.cursor(),s=[];if(!r.firstChild())return s;if(t!=null){for(let o=!1;!o;)if(o=r.type.is(t),!r.nextSibling())return s}for(;;){if(n!=null&&r.type.is(n))return s;if(r.type.is(e)&&s.push(r.node),!r.nextSibling())return n==null?s:[]}}function tl(i,e,t=e.length-1){for(let n=i;t>=0;n=n.parent){if(!n)return!1;if(!n.type.isAnonymous){if(e[t]&&e[t]!=n.name)return!1;t--}}return!0}var il=class{constructor(e,t,n,r){this.parent=e,this.buffer=t,this.index=n,this.start=r}},Li=class i extends vs{get name(){return this.type.name}get from(){return this.context.start+this.context.buffer.buffer[this.index+1]}get to(){return this.context.start+this.context.buffer.buffer[this.index+2]}constructor(e,t,n){super(),this.context=e,this._parent=t,this.index=n,this.type=e.buffer.set.types[e.buffer.buffer[n]]}child(e,t,n){let{buffer:r}=this.context,s=r.findChild(this.index+4,r.buffer[this.index+3],e,t-this.context.start,n);return s<0?null:new i(this.context,this,s)}get firstChild(){return this.child(1,0,4)}get lastChild(){return this.child(-1,0,4)}childAfter(e){return this.child(1,e,2)}childBefore(e){return this.child(-1,e,-2)}prop(e){return this.type.prop(e)}enter(e,t,n=0){if(n&te.ExcludeBuffers)return null;let{buffer:r}=this.context,s=r.findChild(this.index+4,r.buffer[this.index+3],t>0?1:-1,e-this.context.start,t);return s<0?null:new i(this.context,this,s)}get parent(){return this._parent||this.context.parent.nextSignificantParent()}externalSibling(e){return this._parent?null:this.context.parent.nextChild(this.context.index+e,e,0,4)}get nextSibling(){let{buffer:e}=this.context,t=e.buffer[this.index+3];return t<(this._parent?e.buffer[this._parent.index+3]:e.buffer.length)?new i(this.context,this._parent,t):this.externalSibling(1)}get prevSibling(){let{buffer:e}=this.context,t=this._parent?this._parent.index+4:0;return this.index==t?this.externalSibling(-1):new i(this.context,this._parent,e.findChild(t,this.index,-1,0,4))}get tree(){return null}toTree(){let e=[],t=[],{buffer:n}=this.context,r=this.index+4,s=n.buffer[this.index+3];if(s>r){let o=n.buffer[this.index+1];e.push(n.slice(r,s,o)),t.push(0)}return new K(this.type,e,t,this.to-this.from)}toString(){return this.context.buffer.childString(this.index)}};function Fu(i){if(!i.length)return null;let e=0,t=i[0];for(let s=1;st.from||o.to=e){let a=new Ie(o.tree,o.overlay[0].from+s.from,-1,s);(r||(r=[n])).push(ar(a,e,t,!1))}}return r?Fu(r):n}var bn=class{get name(){return this.type.name}constructor(e,t=0){if(this.buffer=null,this.stack=[],this.index=0,this.bufferNode=null,this.mode=t&~te.EnterBracketed,e instanceof Ie)this.yieldNode(e);else{this._tree=e.context.parent,this.buffer=e.context;for(let n=e._parent;n;n=n._parent)this.stack.unshift(n.index);this.bufferNode=e,this.yieldBuf(e.index)}}yieldNode(e){return e?(this._tree=e,this.type=e.type,this.from=e.from,this.to=e.to,!0):!1}yieldBuf(e,t){this.index=e;let{start:n,buffer:r}=this.buffer;return this.type=t||r.set.types[r.buffer[e]],this.from=n+r.buffer[e+1],this.to=n+r.buffer[e+2],!0}yield(e){return e?e instanceof Ie?(this.buffer=null,this.yieldNode(e)):(this.buffer=e.context,this.yieldBuf(e.index,e.type)):!1}toString(){return this.buffer?this.buffer.buffer.childString(this.index):this._tree.toString()}enterChild(e,t,n){if(!this.buffer)return this.yield(this._tree.nextChild(e<0?this._tree._tree.children.length-1:0,e,t,n,this.mode));let{buffer:r}=this.buffer,s=r.findChild(this.index+4,r.buffer[this.index+3],e,t-this.buffer.start,n);return s<0?!1:(this.stack.push(this.index),this.yieldBuf(s))}firstChild(){return this.enterChild(1,0,4)}lastChild(){return this.enterChild(-1,0,4)}childAfter(e){return this.enterChild(1,e,2)}childBefore(e){return this.enterChild(-1,e,-2)}enter(e,t,n=this.mode){return this.buffer?n&te.ExcludeBuffers?!1:this.enterChild(1,e,t):this.yield(this._tree.enter(e,t,n))}parent(){if(!this.buffer)return this.yieldNode(this.mode&te.IncludeAnonymous?this._tree._parent:this._tree.parent);if(this.stack.length)return this.yieldBuf(this.stack.pop());let e=this.mode&te.IncludeAnonymous?this.buffer.parent:this.buffer.parent.nextSignificantParent();return this.buffer=null,this.yieldNode(e)}sibling(e){if(!this.buffer)return this._tree._parent?this.yield(this._tree.index<0?null:this._tree._parent.nextChild(this._tree.index+e,e,0,4,this.mode)):!1;let{buffer:t}=this.buffer,n=this.stack.length-1;if(e<0){let r=n<0?0:this.stack[n]+4;if(this.index!=r)return this.yieldBuf(t.findChild(r,this.index,-1,0,4))}else{let r=t.buffer[this.index+3];if(r<(n<0?t.buffer.length:t.buffer[this.stack[n]+3]))return this.yieldBuf(r)}return n<0?this.yield(this.buffer.parent.nextChild(this.buffer.index+e,e,0,4,this.mode)):!1}nextSibling(){return this.sibling(1)}prevSibling(){return this.sibling(-1)}atLastNode(e){let t,n,{buffer:r}=this;if(r){if(e>0){if(this.index-1)for(let s=t+e,o=e<0?-1:n._tree.children.length;s!=o;s+=e){let a=n._tree.children[s];if(this.mode&te.IncludeAnonymous||a instanceof di||!a.type.isAnonymous||cl(a))return!1}return!0}move(e,t){if(t&&this.enterChild(e,0,4))return!0;for(;;){if(this.sibling(e))return!0;if(this.atLastNode(e)||!this.parent())return!1}}next(e=!0){return this.move(1,e)}prev(e=!0){return this.move(-1,e)}moveTo(e,t=0){for(;(this.from==this.to||(t<1?this.from>=e:this.from>e)||(t>-1?this.to<=e:this.to=0;){for(let o=e;o;o=o._parent)if(o.index==r){if(r==this.index)return o;t=o,n=s+1;break e}r=this.stack[--s]}for(let r=n;r=0;s--){if(s<0)return tl(this._tree,e,r);let o=n[t.buffer[this.stack[s]]];if(!o.isAnonymous){if(e[r]&&e[r]!=o.name)return!1;r--}}return!0}};function cl(i){return i.children.some(e=>e instanceof di||!e.type.isAnonymous||cl(e))}function HQ(i){var e;let{buffer:t,nodeSet:n,maxBufferLength:r=1024,reused:s=[],minRepeatType:o=n.types.length}=i,a=Array.isArray(t)?new el(t,t.length):t,l=n.types,c=0,h=0;function f(P,$,Z,X,W,T){let{id:C,start:k,end:w,size:z}=a,N=h,y=c;if(z<0)if(a.next(),z==-1){let B=s[C];Z.push(B),X.push(k-P);return}else if(z==-3){c=C;return}else if(z==-4){h=C;return}else throw new RangeError(`Unrecognized record size: ${z}`);let j=l[C],ye,nt,_=k-P;if(w-k<=r&&(nt=b(a.pos-$,W))){let B=new Uint16Array(nt.size-nt.skip),F=a.pos-nt.size,G=B.length;for(;a.pos>F;)G=g(nt.start,B,G);ye=new di(B,w-nt.start,n),_=nt.start-P}else{let B=a.pos-z;a.next();let F=[],G=[],ae=C>=o?C:-1,re=0,$e=w;for(;a.pos>B;)ae>=0&&a.id==ae&&a.size>=0?(a.end<=$e-r&&(m(F,G,k,re,a.end,$e,ae,N,y),re=F.length,$e=a.end),a.next()):T>2500?u(k,B,F,G):f(k,B,F,G,ae,T+1);if(ae>=0&&re>0&&re-1&&re>0){let bt=O(j,y);ye=hl(j,F,G,0,F.length,0,w-k,bt,bt)}else ye=p(j,F,G,w-k,N-w,y)}Z.push(ye),X.push(_)}function u(P,$,Z,X){let W=[],T=0,C=-1;for(;a.pos>$;){let{id:k,start:w,end:z,size:N}=a;if(N>4)a.next();else{if(C>-1&&w=0;z-=3)k[N++]=W[z],k[N++]=W[z+1]-w,k[N++]=W[z+2]-w,k[N++]=N;Z.push(new di(k,W[2]-w,n)),X.push(w-P)}}function O(P,$){return(Z,X,W)=>{let T=0,C=Z.length-1,k,w;if(C>=0&&(k=Z[C])instanceof K){if(!C&&k.type==P&&k.length==W)return k;(w=k.prop(I.lookAhead))&&(T=X[C]+k.length+w)}return p(P,Z,X,W,T,$)}}function m(P,$,Z,X,W,T,C,k,w){let z=[],N=[];for(;P.length>X;)z.push(P.pop()),N.push($.pop()+Z-W);P.push(p(n.types[C],z,N,T-W,k-T,w)),$.push(W-Z)}function p(P,$,Z,X,W,T,C){if(T){let k=[I.contextHash,T];C=C?[k].concat(C):[k]}if(W>25){let k=[I.lookAhead,W];C=C?[k].concat(C):[k]}return new K(P,$,Z,X,C)}function b(P,$){let Z=a.fork(),X=0,W=0,T=0,C=Z.end-r,k={size:0,start:0,skip:0};e:for(let w=Z.pos-P;Z.pos>w;){let z=Z.size;if(Z.id==$&&z>=0){k.size=X,k.start=W,k.skip=T,T+=4,X+=4,Z.next();continue}let N=Z.pos-z;if(z<0||N=o?4:0,j=Z.start;for(Z.next();Z.pos>N;){if(Z.size<0)if(Z.size==-3||Z.size==-4)y+=4;else break e;else Z.id>=o&&(y+=4);Z.next()}W=j,X+=z,T+=y}return($<0||X==P)&&(k.size=X,k.start=W,k.skip=T),k.size>4?k:void 0}function g(P,$,Z){let{id:X,start:W,end:T,size:C}=a;if(a.next(),C>=0&&X4){let w=a.pos-(C-4);for(;a.pos>w;)Z=g(P,$,Z)}$[--Z]=k,$[--Z]=T-P,$[--Z]=W-P,$[--Z]=X}else C==-3?c=X:C==-4&&(h=X);return Z}let Q=[],S=[];for(;a.pos>0;)f(i.start||0,i.bufferStart||0,Q,S,-1,0);let x=(e=i.length)!==null&&e!==void 0?e:Q.length?S[0]+Q[0].length:0;return new K(l[i.topID],Q.reverse(),S.reverse(),x)}var Yu=new WeakMap;function Ps(i,e){if(!i.isAnonymous||e instanceof di||e.type!=i)return 1;let t=Yu.get(e);if(t==null){t=1;for(let n of e.children){if(n.type!=i||!(n instanceof K)){t=1;break}t+=Ps(i,n)}Yu.set(e,t)}return t}function hl(i,e,t,n,r,s,o,a,l){let c=0;for(let m=n;m=h)break;$+=Z}if(S==x+1){if($>h){let Z=m[x];O(Z.children,Z.positions,0,Z.children.length,p[x]+Q);continue}f.push(m[x])}else{let Z=p[S-1]+m[S-1].length-P;f.push(hl(i,m,p,x,S,P,Z,null,l))}u.push(P+Q-s)}}return O(e,t,n,r,0),(a||l)(f,u,o)}var pi=class{constructor(){this.map=new WeakMap}setBuffer(e,t,n){let r=this.map.get(e);r||this.map.set(e,r=new Map),r.set(t,n)}getBuffer(e,t){let n=this.map.get(e);return n&&n.get(t)}set(e,t){e instanceof Li?this.setBuffer(e.context.buffer,e.index,t):e instanceof Ie&&this.map.set(e.tree,t)}get(e){return e instanceof Li?this.getBuffer(e.context.buffer,e.index):e instanceof Ie?this.map.get(e.tree):void 0}cursorSet(e,t){e.buffer?this.setBuffer(e.buffer.buffer,e.index,t):this.map.set(e.tree,t)}cursorGet(e){return e.buffer?this.getBuffer(e.buffer.buffer,e.index):this.map.get(e.tree)}},Bt=class i{constructor(e,t,n,r,s=!1,o=!1){this.from=e,this.to=t,this.tree=n,this.offset=r,this.open=(s?1:0)|(o?2:0)}get openStart(){return(this.open&1)>0}get openEnd(){return(this.open&2)>0}static addTree(e,t=[],n=!1){let r=[new i(0,e.length,e,0,!1,n)];for(let s of t)s.to>e.length&&r.push(s);return r}static applyChanges(e,t,n=128){if(!t.length)return e;let r=[],s=1,o=e.length?e[0]:null;for(let a=0,l=0,c=0;;a++){let h=a=n)for(;o&&o.from=u.from||f<=u.to||c){let O=Math.max(u.from,l)-c,m=Math.min(u.to,f)-c;u=O>=m?null:new i(O,m,u.tree,u.offset+c,a>0,!!h)}if(u&&r.push(u),o.to>f)break;o=snew Ye(r.from,r.to)):[new Ye(0,0)]:[new Ye(0,e.length)],this.createParse(e,t||[],n)}parse(e,t,n){let r=this.startParse(e,t,n);for(;;){let s=r.advance();if(s)return s}}},rl=class{constructor(e){this.string=e}get length(){return this.string.length}chunk(e){return this.string.slice(e)}get lineChunks(){return!1}read(e,t){return this.string.slice(e,t)}};function Sn(i){return(e,t,n,r)=>new al(e,i,t,n,r)}var $s=class{constructor(e,t,n,r,s,o){this.parser=e,this.parse=t,this.overlay=n,this.bracketed=r,this.target=s,this.from=o}};function Iu(i){if(!i.length||i.some(e=>e.from>=e.to))throw new RangeError("Invalid inner parse ranges given: "+JSON.stringify(i))}var sl=class{constructor(e,t,n,r,s,o,a,l){this.parser=e,this.predicate=t,this.mounts=n,this.index=r,this.start=s,this.bracketed=o,this.target=a,this.prev=l,this.depth=0,this.ranges=[]}},ol=new I({perNode:!0}),al=class{constructor(e,t,n,r,s){this.nest=t,this.input=n,this.fragments=r,this.ranges=s,this.inner=[],this.innerDone=0,this.baseTree=null,this.stoppedAt=null,this.baseParse=e}advance(){if(this.baseParse){let n=this.baseParse.advance();if(!n)return null;if(this.baseParse=null,this.baseTree=n,this.startInner(),this.stoppedAt!=null)for(let r of this.inner)r.parse.stopAt(this.stoppedAt)}if(this.innerDone==this.inner.length){let n=this.baseTree;return this.stoppedAt!=null&&(n=new K(n.type,n.children,n.positions,n.length,n.propValues.concat([[ol,this.stoppedAt]]))),n}let e=this.inner[this.innerDone],t=e.parse.advance();if(t){this.innerDone++;let n=Object.assign(Object.create(null),e.target.props);n[I.mounted.id]=new Oi(t,e.overlay,e.parser,e.bracketed),e.target.props=n}return null}get parsedPos(){if(this.baseParse)return 0;let e=this.input.length;for(let t=this.innerDone;t=this.stoppedAt)a=!1;else if(e.hasNode(r)){if(t){let c=t.mounts.find(h=>h.frag.from<=r.from&&h.frag.to>=r.to&&h.mount.overlay);if(c)for(let h of c.mount.overlay){let f=h.from+c.pos,u=h.to+c.pos;f>=r.from&&u<=r.to&&!t.ranges.some(O=>O.fromf)&&t.ranges.push({from:f,to:u})}}a=!1}else if(n&&(o=KQ(n.ranges,r.from,r.to)))a=o!=2;else if(!r.type.isAnonymous&&(s=this.nest(r,this.input))&&(r.fromnew Ye(f.from-r.from,f.to-r.from)):null,!!s.bracketed,r.tree,h.length?h[0].from:r.from)),s.overlay?h.length&&(n={ranges:h,depth:0,prev:n}):a=!1}}else if(t&&(l=t.predicate(r))&&(l===!0&&(l=new Ye(r.from,r.to)),l.from=0&&t.ranges[c].to==l.from?t.ranges[c]={from:t.ranges[c].from,to:l.to}:t.ranges.push(l)}if(a&&r.firstChild())t&&t.depth++,n&&n.depth++;else for(;!r.nextSibling();){if(!r.parent())break e;if(t&&!--t.depth){let c=Uu(this.ranges,t.ranges);c.length&&(Iu(c),this.inner.splice(t.index,0,new $s(t.parser,t.parser.startParse(this.input,Gu(t.mounts,c),c),t.ranges.map(h=>new Ye(h.from-t.start,h.to-t.start)),t.bracketed,t.target,c[0].from))),t=t.prev}n&&!--n.depth&&(n=n.prev)}}}};function KQ(i,e,t){for(let n of i){if(n.from>=t)break;if(n.to>e)return n.from<=e&&n.to>=t?2:1}return 0}function Bu(i,e,t,n,r,s){if(e=e&&t.enter(n,1,te.IgnoreOverlays|te.ExcludeBuffers)))if(t.to<=e)t.next(!1)||(this.done=!0);else break}hasNode(e){if(this.moveTo(e.from),!this.done&&this.cursor.from+this.offset==e.from&&this.cursor.tree)for(let t=this.cursor.tree;;){if(t==e.tree)return!0;if(t.children.length&&t.positions[0]==0&&t.children[0]instanceof K)t=t.children[0];else break}return!1}},ll=class{constructor(e){var t;if(this.fragments=e,this.curTo=0,this.fragI=0,e.length){let n=this.curFrag=e[0];this.curTo=(t=n.tree.prop(ol))!==null&&t!==void 0?t:n.to,this.inner=new Ts(n.tree,-n.offset)}else this.curFrag=this.inner=null}hasNode(e){for(;this.curFrag&&e.from>=this.curTo;)this.nextFrag();return this.curFrag&&this.curFrag.from<=e.from&&this.curTo>=e.to&&this.inner.hasNode(e)}nextFrag(){var e;if(this.fragI++,this.fragI==this.fragments.length)this.curFrag=this.inner=null;else{let t=this.curFrag=this.fragments[this.fragI];this.curTo=(e=t.tree.prop(ol))!==null&&e!==void 0?e:t.to,this.inner=new Ts(t.tree,-t.offset)}}findMounts(e,t){var n;let r=[];if(this.inner){this.inner.cursor.moveTo(e,1);for(let s=this.inner.cursor.node;s;s=s.parent){let o=(n=s.tree)===null||n===void 0?void 0:n.prop(I.mounted);if(o&&o.parser==t)for(let a=this.fragI;a=s.to)break;l.tree==this.curFrag.tree&&r.push({frag:l,pos:s.from-l.offset,mount:o})}}}return r}};function Uu(i,e){let t=null,n=e;for(let r=1,s=0;r=a)break;l.to<=o||(t||(n=t=e.slice()),l.froma&&t.splice(s+1,0,new Ye(a,l.to))):l.to>a?t[s--]=new Ye(a,l.to):t.splice(s--,1))}}return n}function eb(i,e,t,n){let r=0,s=0,o=!1,a=!1,l=-1e9,c=[];for(;;){let h=r==i.length?1e9:o?i[r].to:i[r].from,f=s==e.length?1e9:a?e[s].to:e[s].from;if(o!=a){let u=Math.max(l,t),O=Math.min(h,f,n);unew Ye(u.from+n,u.to+n)),f=eb(e,h,l,c);for(let u=0,O=l;;u++){let m=u==f.length,p=m?c:f[u].from;if(p>O&&t.push(new Bt(O,p,r.tree,-o,s.from>=O||s.openStart,s.to<=p||s.openEnd)),m)break;O=f[u].to}}else t.push(new Bt(l,c,r.tree,-o,s.from>=o||s.openStart,s.to<=a||s.openEnd))}return t}var tb=0,Je=class i{constructor(e,t,n,r){this.name=e,this.set=t,this.base=n,this.modified=r,this.id=tb++}toString(){let{name:e}=this;for(let t of this.modified)t.name&&(e=`${t.name}(${e})`);return e}static define(e,t){let n=typeof e=="string"?e:"?";if(e instanceof i&&(t=e),t?.base)throw new Error("Can not derive from a modified tag");let r=new i(n,[],null,[]);if(r.set.push(r),t)for(let s of t.set)r.set.push(s);return r}static defineModifier(e){let t=new Rs(e);return n=>n.modified.indexOf(t)>-1?n:Rs.get(n.base||n,n.modified.concat(t).sort((r,s)=>r.id-s.id))}},ib=0,Rs=class i{constructor(e){this.name=e,this.instances=[],this.id=ib++}static get(e,t){if(!t.length)return e;let n=t[0].instances.find(a=>a.base==e&&nb(t,a.modified));if(n)return n;let r=[],s=new Je(e.name,r,e,t);for(let a of t)a.instances.push(s);let o=rb(t);for(let a of e.set)if(!a.modified.length)for(let l of o)r.push(i.get(a,l));return s}};function nb(i,e){return i.length==e.length&&i.every((t,n)=>t==e[n])}function rb(i){let e=[[]];for(let t=0;tn.length-t.length)}function Qe(i){let e=Object.create(null);for(let t in i){let n=i[t];Array.isArray(n)||(n=[n]);for(let r of t.split(" "))if(r){let s=[],o=2,a=r;for(let f=0;;){if(a=="..."&&f>0&&f+3==r.length){o=1;break}let u=/^"(?:[^"\\]|\\.)*?"|[^\/!]+/.exec(a);if(!u)throw new RangeError("Invalid path: "+r);if(s.push(u[0]=="*"?"":u[0][0]=='"'?JSON.parse(u[0]):u[0]),f+=u[0].length,f==r.length)break;let O=r[f++];if(f==r.length&&O=="!"){o=0;break}if(O!="/")throw new RangeError("Invalid path: "+r);a=r.slice(f)}let l=s.length-1,c=s[l];if(!c)throw new RangeError("Invalid path: "+r);let h=new Wi(n,o,l>0?s.slice(0,l):null);e[c]=h.sort(e[c])}}return Ju.add(e)}var Ju=new I({combine(i,e){let t,n,r;for(;i||e;){if(!i||e&&i.depth>=e.depth?(r=e,e=e.next):(r=i,i=i.next),t&&t.mode==r.mode&&!r.context&&!t.context)continue;let s=new Wi(r.tags,r.mode,r.context);t?t.next=s:n=s,t=s}return n}}),Wi=class{constructor(e,t,n,r){this.tags=e,this.mode=t,this.context=n,this.next=r}get opaque(){return this.mode==0}get inherit(){return this.mode==1}sort(e){return!e||e.depth{let o=r;for(let a of s)for(let l of a.set){let c=t[l.id];if(c){o=o?o+" "+c:c;break}}return o},scope:n}}function sb(i,e){let t=null;for(let n of i){let r=n.style(e);r&&(t=t?t+" "+r:r)}return t}function As(i,e,t,n=0,r=i.length){let s=new ul(n,Array.isArray(e)?e:[e],t);s.highlightRange(i.cursor(),n,r,"",s.highlighters),s.flush(r)}var ul=class{constructor(e,t,n){this.at=e,this.highlighters=t,this.span=n,this.class=""}startSpan(e,t){t!=this.class&&(this.flush(e),e>this.at&&(this.at=e),this.class=t)}flush(e){e>this.at&&this.class&&this.span(this.at,e,this.class)}highlightRange(e,t,n,r,s){let{type:o,from:a,to:l}=e;if(a>=n||l<=t)return;o.isTop&&(s=this.highlighters.filter(O=>!O.scope||O.scope(o)));let c=r,h=ob(e)||Wi.empty,f=sb(s,h.tags);if(f&&(c&&(c+=" "),c+=f,h.mode==1&&(r+=(r?" ":"")+f)),this.startSpan(Math.max(t,a),c),h.opaque)return;let u=e.tree&&e.tree.prop(I.mounted);if(u&&u.overlay){let O=e.node.enter(u.overlay[0].from+a,1),m=this.highlighters.filter(b=>!b.scope||b.scope(u.tree.type)),p=e.firstChild();for(let b=0,g=a;;b++){let Q=b=S||!e.nextSibling())););if(!Q||S>n)break;g=Q.to+a,g>t&&(this.highlightRange(O.cursor(),Math.max(t,Q.from+a),Math.min(n,g),"",m),this.startSpan(Math.min(n,g),c))}p&&e.parent()}else if(e.firstChild()){u&&(r="");do if(!(e.to<=t)){if(e.from>=n)break;this.highlightRange(e,t,n,r,s),this.startSpan(Math.min(n,e.to),c)}while(e.nextSibling());e.parent()}}};function ob(i){let e=i.type.prop(Ju);for(;e&&e.context&&!i.matchContext(e.context);)e=e.next;return e||null}var E=Je.define,Cs=E(),mi=E(),Hu=E(mi),Ku=E(mi),gi=E(),Xs=E(gi),fl=E(gi),Et=E(),Mi=E(Et),At=E(),Zt=E(),Ol=E(),lr=E(Ol),_s=E(),d={comment:Cs,lineComment:E(Cs),blockComment:E(Cs),docComment:E(Cs),name:mi,variableName:E(mi),typeName:Hu,tagName:E(Hu),propertyName:Ku,attributeName:E(Ku),className:E(mi),labelName:E(mi),namespace:E(mi),macroName:E(mi),literal:gi,string:Xs,docString:E(Xs),character:E(Xs),attributeValue:E(Xs),number:fl,integer:E(fl),float:E(fl),bool:E(gi),regexp:E(gi),escape:E(gi),color:E(gi),url:E(gi),keyword:At,self:E(At),null:E(At),atom:E(At),unit:E(At),modifier:E(At),operatorKeyword:E(At),controlKeyword:E(At),definitionKeyword:E(At),moduleKeyword:E(At),operator:Zt,derefOperator:E(Zt),arithmeticOperator:E(Zt),logicOperator:E(Zt),bitwiseOperator:E(Zt),compareOperator:E(Zt),updateOperator:E(Zt),definitionOperator:E(Zt),typeOperator:E(Zt),controlOperator:E(Zt),punctuation:Ol,separator:E(Ol),bracket:lr,angleBracket:E(lr),squareBracket:E(lr),paren:E(lr),brace:E(lr),content:Et,heading:Mi,heading1:E(Mi),heading2:E(Mi),heading3:E(Mi),heading4:E(Mi),heading5:E(Mi),heading6:E(Mi),contentSeparator:E(Et),list:E(Et),quote:E(Et),emphasis:E(Et),strong:E(Et),link:E(Et),monospace:E(Et),strikethrough:E(Et),inserted:E(),deleted:E(),changed:E(),invalid:E(),meta:_s,documentMeta:E(_s),annotation:E(_s),processingInstruction:E(_s),definition:Je.defineModifier("definition"),constant:Je.defineModifier("constant"),function:Je.defineModifier("function"),standard:Je.defineModifier("standard"),local:Je.defineModifier("local"),special:Je.defineModifier("special")};for(let i in d){let e=d[i];e instanceof Je&&(e.name=i)}var m$=dl([{tag:d.link,class:"tok-link"},{tag:d.heading,class:"tok-heading"},{tag:d.emphasis,class:"tok-emphasis"},{tag:d.strong,class:"tok-strong"},{tag:d.keyword,class:"tok-keyword"},{tag:d.atom,class:"tok-atom"},{tag:d.bool,class:"tok-bool"},{tag:d.url,class:"tok-url"},{tag:d.labelName,class:"tok-labelName"},{tag:d.inserted,class:"tok-inserted"},{tag:d.deleted,class:"tok-deleted"},{tag:d.literal,class:"tok-literal"},{tag:d.string,class:"tok-string"},{tag:d.number,class:"tok-number"},{tag:[d.regexp,d.escape,d.special(d.string)],class:"tok-string2"},{tag:d.variableName,class:"tok-variableName"},{tag:d.local(d.variableName),class:"tok-variableName tok-local"},{tag:d.definition(d.variableName),class:"tok-variableName tok-definition"},{tag:d.special(d.variableName),class:"tok-variableName2"},{tag:d.definition(d.propertyName),class:"tok-propertyName tok-definition"},{tag:d.typeName,class:"tok-typeName"},{tag:d.namespace,class:"tok-namespace"},{tag:d.className,class:"tok-className"},{tag:d.macroName,class:"tok-macroName"},{tag:d.propertyName,class:"tok-propertyName"},{tag:d.operator,class:"tok-operator"},{tag:d.comment,class:"tok-comment"},{tag:d.meta,class:"tok-meta"},{tag:d.invalid,class:"tok-invalid"},{tag:d.punctuation,class:"tok-punctuation"}]);var pl,xt=new I;function xn(i){return Y.define({combine:i?e=>e.concat(i):void 0})}var zs=new I,we=class{constructor(e,t,n=[],r=""){this.data=e,this.name=r,se.prototype.hasOwnProperty("tree")||Object.defineProperty(se.prototype,"tree",{get(){return U(this)}}),this.parser=t,this.extension=[yn.of(this),se.languageData.of((s,o,a)=>{let l=eO(s,o,a),c=l.type.prop(xt);if(!c)return[];let h=s.facet(c),f=l.type.prop(zs);if(f){let u=l.resolve(o-l.from,a);for(let O of f)if(O.test(u,s)){let m=s.facet(O.facet);return O.type=="replace"?m:m.concat(h)}}return h})].concat(n)}isActiveAt(e,t,n=-1){return eO(e,t,n).type.prop(xt)==this.data}findRegions(e){let t=e.facet(yn);if(t?.data==this.data)return[{from:0,to:e.doc.length}];if(!t||!t.allowsNesting)return[];let n=[],r=(s,o)=>{if(s.prop(xt)==this.data){n.push({from:o,to:o+s.length});return}let a=s.prop(I.mounted);if(a){if(a.tree.prop(xt)==this.data){if(a.overlay)for(let l of a.overlay)n.push({from:l.from+o,to:l.to+o});else n.push({from:o,to:o+s.length});return}else if(a.overlay){let l=n.length;if(r(a.tree,a.overlay[0].from+o),n.length>l)return}}for(let l=0;ln.isTop?t:void 0)]}),e.name)}configure(e,t){return new i(this.data,this.parser.configure(e),t||this.name)}get allowsNesting(){return this.parser.hasWrappers()}};function U(i){let e=i.field(we.state,!1);return e?e.tree:K.empty}function Ls(i,e,t=50){var n;let r=(n=i.field(we.state,!1))===null||n===void 0?void 0:n.context;if(!r)return null;let s=r.viewport;r.updateViewport({from:0,to:e});let o=r.isDone(e)||r.work(t,e)?r.tree:null;return r.updateViewport(s),o}function oO(i,e=i.doc.length){var t;return((t=i.field(we.state,!1))===null||t===void 0?void 0:t.context.isDone(e))||!1}var bl=class{constructor(e){this.doc=e,this.cursorPos=0,this.string="",this.cursor=e.iter()}get length(){return this.doc.length}syncTo(e){return this.string=this.cursor.next(e-this.cursorPos).value,this.cursorPos=e+this.string.length,this.cursorPos-this.string.length}chunk(e){return this.syncTo(e),this.string}get lineChunks(){return!0}read(e,t){let n=this.cursorPos-this.string.length;return e=this.cursorPos?this.doc.sliceString(e,t):this.string.slice(e-n,t-n)}},cr=null,ji=class i{constructor(e,t,n=[],r,s,o,a,l){this.parser=e,this.state=t,this.fragments=n,this.tree=r,this.treeLen=s,this.viewport=o,this.skipped=a,this.scheduleOn=l,this.parse=null,this.tempSkipped=[]}static create(e,t,n){return new i(e,t,[],K.empty,0,n,[],null)}startParse(){return this.parser.startParse(new bl(this.state.doc),this.fragments)}work(e,t){return t!=null&&t>=this.state.doc.length&&(t=void 0),this.tree!=K.empty&&this.isDone(t??this.state.doc.length)?(this.takeTree(),!0):this.withContext(()=>{var n;if(typeof e=="number"){let r=Date.now()+e;e=()=>Date.now()>r}for(this.parse||(this.parse=this.startParse()),t!=null&&(this.parse.stoppedAt==null||this.parse.stoppedAt>t)&&t=this.treeLen&&((this.parse.stoppedAt==null||this.parse.stoppedAt>e)&&this.parse.stopAt(e),this.withContext(()=>{for(;!(t=this.parse.advance()););}),this.treeLen=e,this.tree=t,this.fragments=this.withoutTempSkipped(Bt.addTree(this.tree,this.fragments,!0)),this.parse=null)}withContext(e){let t=cr;cr=this;try{return e()}finally{cr=t}}withoutTempSkipped(e){for(let t;t=this.tempSkipped.pop();)e=tO(e,t.from,t.to);return e}changes(e,t){let{fragments:n,tree:r,treeLen:s,viewport:o,skipped:a}=this;if(this.takeTree(),!e.empty){let l=[];if(e.iterChangedRanges((c,h,f,u)=>l.push({fromA:c,toA:h,fromB:f,toB:u})),n=Bt.applyChanges(n,l),r=K.empty,s=0,o={from:e.mapPos(o.from,-1),to:e.mapPos(o.to,1)},this.skipped.length){a=[];for(let c of this.skipped){let h=e.mapPos(c.from,1),f=e.mapPos(c.to,-1);he.from&&(this.fragments=tO(this.fragments,r,s),this.skipped.splice(n--,1))}return this.skipped.length>=t?!1:(this.reset(),!0)}reset(){this.parse&&(this.takeTree(),this.parse=null)}skipUntilInView(e,t){this.skipped.push({from:e,to:t})}static getSkippingParser(e){return new class extends Ut{createParse(t,n,r){let s=r[0].from,o=r[r.length-1].to;return{parsedPos:s,advance(){let l=cr;if(l){for(let c of r)l.tempSkipped.push(c);e&&(l.scheduleOn=l.scheduleOn?Promise.all([l.scheduleOn,e]):e)}return this.parsedPos=o,new K(de.none,[],[],o-s)},stoppedAt:null,stopAt(){}}}}}isDone(e){e=Math.min(e,this.state.doc.length);let t=this.fragments;return this.treeLen>=e&&t.length&&t[0].from==0&&t[0].to>=e}static get(){return cr}};function tO(i,e,t){return Bt.applyChanges(i,[{fromA:e,toA:t,fromB:e,toB:t}])}var hr=class i{constructor(e){this.context=e,this.tree=e.tree}apply(e){if(!e.docChanged&&this.tree==this.context.tree)return this;let t=this.context.changes(e.changes,e.state),n=this.context.treeLen==e.startState.doc.length?void 0:Math.max(e.changes.mapPos(this.context.treeLen),t.viewport.to);return t.work(20,n)||t.takeTree(),new i(t)}static init(e){let t=Math.min(3e3,e.doc.length),n=ji.create(e.facet(yn).parser,e,{from:0,to:t});return n.work(20,t)||n.takeTree(),new i(n)}};we.state=fe.define({create:hr.init,update(i,e){for(let t of e.effects)if(t.is(we.setState))return t.value;return e.startState.facet(yn)!=e.state.facet(yn)?hr.init(e.state):i.apply(e)}});var aO=i=>{let e=setTimeout(()=>i(),500);return()=>clearTimeout(e)};typeof requestIdleCallback<"u"&&(aO=i=>{let e=-1,t=setTimeout(()=>{e=requestIdleCallback(i,{timeout:400})},100);return()=>e<0?clearTimeout(t):cancelIdleCallback(e)});var ml=typeof navigator<"u"&&(!((pl=navigator.scheduling)===null||pl===void 0)&&pl.isInputPending)?()=>navigator.scheduling.isInputPending():null,ab=De.fromClass(class{constructor(e){this.view=e,this.working=null,this.workScheduled=0,this.chunkEnd=-1,this.chunkBudget=-1,this.work=this.work.bind(this),this.scheduleWork()}update(e){let t=this.view.state.field(we.state).context;(t.updateViewport(e.view.viewport)||this.view.viewport.to>t.treeLen)&&this.scheduleWork(),(e.docChanged||e.selectionSet)&&(this.view.hasFocus&&(this.chunkBudget+=50),this.scheduleWork()),this.checkAsyncSchedule(t)}scheduleWork(){if(this.working)return;let{state:e}=this.view,t=e.field(we.state);(t.tree!=t.context.tree||!t.context.isDone(e.doc.length))&&(this.working=aO(this.work))}work(e){this.working=null;let t=Date.now();if(this.chunkEndr+1e3,l=s.context.work(()=>ml&&ml()||Date.now()>o,r+(a?0:1e5));this.chunkBudget-=Date.now()-t,(l||this.chunkBudget<=0)&&(s.context.takeTree(),this.view.dispatch({effects:we.setState.of(new hr(s.context))})),this.chunkBudget>0&&!(l&&!a)&&this.scheduleWork(),this.checkAsyncSchedule(s.context)}checkAsyncSchedule(e){e.scheduleOn&&(this.workScheduled++,e.scheduleOn.then(()=>this.scheduleWork()).catch(t=>ft(this.view.state,t)).then(()=>this.workScheduled--),e.scheduleOn=null)}destroy(){this.working&&this.working()}isWorking(){return!!(this.working||this.workScheduled>0)}},{eventHandlers:{focus(){this.scheduleWork()}}}),yn=Y.define({combine(i){return i.length?i[0]:null},enables:i=>[we.state,ab,q.contentAttributes.compute([i],e=>{let t=e.facet(i);return t&&t.name?{"data-language":t.name}:{}})]}),me=class{constructor(e,t=[]){this.language=e,this.support=t,this.extension=[e,t]}},Be=class i{constructor(e,t,n,r,s,o=void 0){this.name=e,this.alias=t,this.extensions=n,this.filename=r,this.loadFunc=s,this.support=o,this.loading=null}load(){return this.loading||(this.loading=this.loadFunc().then(e=>this.support=e,e=>{throw this.loading=null,e}))}static of(e){let{load:t,support:n}=e;if(!t){if(!n)throw new RangeError("Must pass either 'load' or 'support' to LanguageDescription.of");t=()=>Promise.resolve(n)}return new i(e.name,(e.alias||[]).concat(e.name).map(r=>r.toLowerCase()),e.extensions||[],e.filename,t,n)}static matchFilename(e,t){for(let r of e)if(r.filename&&r.filename.test(t))return r;let n=/\.([^.]+)$/.exec(t);if(n){for(let r of e)if(r.extensions.indexOf(n[1])>-1)return r}return null}static matchLanguageName(e,t,n=!0){t=t.toLowerCase();for(let r of e)if(r.alias.some(s=>s==t))return r;if(n)for(let r of e)for(let s of r.alias){let o=t.indexOf(s);if(o>-1&&(s.length>2||!/\w/.test(t[o-1])&&!/\w/.test(t[o+s.length])))return r}return null}},lb=Y.define(),qt=Y.define({combine:i=>{if(!i.length)return" ";let e=i[0];if(!e||/\S/.test(e)||Array.from(e).some(t=>t!=e[0]))throw new Error("Invalid indent unit: "+JSON.stringify(i[0]));return e}});function Qi(i){let e=i.facet(qt);return e.charCodeAt(0)==9?i.tabSize*e.length:e.length}function ur(i,e){let t="",n=i.tabSize,r=i.facet(qt)[0];if(r==" "){for(;e>=n;)t+=" ",e-=n;r=" "}for(let s=0;s=e?cb(i,t,e):null}var Vi=class{constructor(e,t={}){this.state=e,this.options=t,this.unit=Qi(e)}lineAt(e,t=1){let n=this.state.doc.lineAt(e),{simulateBreak:r,simulateDoubleBreak:s}=this.options;return r!=null&&r>=n.from&&r<=n.to?s&&r==e?{text:"",from:e}:(t<0?r-1&&(s+=o-this.countColumn(n,n.search(/\S|$/))),s}countColumn(e,t=e.length){return He(e,this.state.tabSize,t)}lineIndent(e,t=1){let{text:n,from:r}=this.lineAt(e,t),s=this.options.overrideIndentation;if(s){let o=s(r);if(o>-1)return o}return this.countColumn(n,n.search(/\S|$/))}get simulatedBreak(){return this.options.simulateBreak||null}},Pe=new I;function cb(i,e,t){let n=e.resolveStack(t),r=e.resolveInner(t,-1).resolve(t,0).enterUnfinishedNodesBefore(t);if(r!=n.node){let s=[];for(let o=r;o&&!(o.fromn.node.to||o.from==n.node.from&&o.type==n.node.type);o=o.parent)s.push(o);for(let o=s.length-1;o>=0;o--)n={node:s[o],next:n}}return lO(n,i,t)}function lO(i,e,t){for(let n=i;n;n=n.next){let r=fb(n.node);if(r)return r(Sl.create(e,t,n))}return 0}function hb(i){return i.pos==i.options.simulateBreak&&i.options.simulateDoubleBreak}function fb(i){let e=i.type.prop(Pe);if(e)return e;let t=i.firstChild,n;if(t&&(n=t.type.prop(I.closedBy))){let r=i.lastChild,s=r&&n.indexOf(r.name)>-1;return o=>cO(o,!0,1,void 0,s&&!hb(o)?r.from:void 0)}return i.parent==null?ub:null}function ub(){return 0}var Sl=class i extends Vi{constructor(e,t,n){super(e.state,e.options),this.base=e,this.pos=t,this.context=n}get node(){return this.context.node}static create(e,t,n){return new i(e,t,n)}get textAfter(){return this.textAfterPos(this.pos)}get baseIndent(){return this.baseIndentFor(this.node)}baseIndentFor(e){let t=this.state.doc.lineAt(e.from);for(;;){let n=e.resolve(t.from);for(;n.parent&&n.parent.from==n.from;)n=n.parent;if(Ob(n,e))break;t=this.state.doc.lineAt(n.from)}return this.lineIndent(t.from)}continue(){return lO(this.context.next,this.base,this.pos)}};function Ob(i,e){for(let t=e;t;t=t.parent)if(i==t)return!0;return!1}function db(i){let e=i.node,t=e.childAfter(e.from),n=e.lastChild;if(!t)return null;let r=i.options.simulateBreak,s=i.state.doc.lineAt(t.from),o=r==null||r<=s.from?s.to:Math.min(s.to,r);for(let a=t.to;;){let l=e.childAfter(a);if(!l||l==n)return null;if(!l.type.isSkipped){if(l.from>=o)return null;let c=/^ */.exec(s.text.slice(t.to-s.from))[0].length;return{from:t.from,to:t.to+c}}a=l.to}}function wt({closing:i,align:e=!0,units:t=1}){return n=>cO(n,e,t,i)}function cO(i,e,t,n,r){let s=i.textAfter,o=s.match(/^\s*/)[0].length,a=n&&s.slice(o,o+n.length)==n||r==i.pos+o,l=e?db(i):null;return l?a?i.column(l.from):i.column(l.to):i.baseIndent+(a?0:i.unit*t)}var hO=i=>i.baseIndent;function Gt({except:i,units:e=1}={}){return t=>{let n=i&&i.test(t.textAfter);return t.baseIndent+(n?0:e*t.unit)}}var fO=Y.define(),_e=new I;function Ot(i){let e=i.firstChild,t=i.lastChild;return e&&e.toa.prop(xt)==o.data:o?a=>a==o:void 0,this.style=dl(e.map(a=>({tag:a.tag,class:a.class||r(Object.assign({},a,{tag:null}))})),{all:s}).style,this.module=n?new at(n):null,this.themeType=t.themeType}static define(e,t){return new i(e,t||{})}},yl=Y.define(),uO=Y.define({combine(i){return i.length?[i[0]]:null}});function gl(i){let e=i.facet(yl);return e.length?e:i.facet(uO)}function OO(i,e){let t=[pb],n;return i instanceof kn&&(i.module&&t.push(q.styleModule.of(i.module)),n=i.themeType),e?.fallback?t.push(uO.of(i)):n?t.push(yl.computeN([q.darkTheme],r=>r.facet(q.darkTheme)==(n=="dark")?[i]:[])):t.push(yl.of(i)),t}var kl=class{constructor(e){this.markCache=Object.create(null),this.tree=U(e.state),this.decorations=this.buildDeco(e,gl(e.state)),this.decoratedTo=e.viewport.to}update(e){let t=U(e.state),n=gl(e.state),r=n!=gl(e.startState),{viewport:s}=e.view,o=e.changes.mapPos(this.decoratedTo,1);t.length=s.to?(this.decorations=this.decorations.map(e.changes),this.decoratedTo=o):(t!=this.tree||e.viewportChanged||r)&&(this.tree=t,this.decorations=this.buildDeco(e.view,n),this.decoratedTo=s.to)}buildDeco(e,t){if(!t||!this.tree.length)return R.none;let n=new Ri;for(let{from:r,to:s}of e.visibleRanges)As(this.tree,t,(o,a,l)=>{n.add(o,a,this.markCache[l]||(this.markCache[l]=R.mark({class:l})))},r,s);return n.finish()}},pb=ot.high(De.fromClass(kl,{decorations:i=>i.decorations})),P$=kn.define([{tag:d.meta,color:"#404740"},{tag:d.link,textDecoration:"underline"},{tag:d.heading,textDecoration:"underline",fontWeight:"bold"},{tag:d.emphasis,fontStyle:"italic"},{tag:d.strong,fontWeight:"bold"},{tag:d.strikethrough,textDecoration:"line-through"},{tag:d.keyword,color:"#708"},{tag:[d.atom,d.bool,d.url,d.contentSeparator,d.labelName],color:"#219"},{tag:[d.literal,d.inserted],color:"#164"},{tag:[d.string,d.deleted],color:"#a11"},{tag:[d.regexp,d.escape,d.special(d.string)],color:"#e40"},{tag:d.definition(d.variableName),color:"#00f"},{tag:d.local(d.variableName),color:"#30a"},{tag:[d.typeName,d.namespace],color:"#085"},{tag:d.className,color:"#167"},{tag:[d.special(d.variableName),d.macroName],color:"#256"},{tag:d.definition(d.propertyName),color:"#00c"},{tag:d.comment,color:"#940"},{tag:d.invalid,color:"#f00"}]);var mb=1e4,gb="()[]{}";var $l=new I;function xl(i,e,t){let n=i.prop(e<0?I.openedBy:I.closedBy);if(n)return n;if(i.name.length==1){let r=t.indexOf(i.name);if(r>-1&&r%2==(e<0?1:0))return[t[r+e]]}return null}function wl(i){let e=i.type.prop($l);return e?e(i.node):i}function Di(i,e,t,n={}){let r=n.maxScanDistance||mb,s=n.brackets||gb,o=U(i),a=o.resolveInner(e,t);for(let l=a;l;l=l.parent){let c=xl(l.type,t,s);if(c&&l.from0?e>=h.from&&eh.from&&e<=h.to))return Qb(i,e,t,l,h,c,s)}}return bb(i,e,t,o,a.type,r,s)}function Qb(i,e,t,n,r,s,o){let a=n.parent,l={from:r.from,to:r.to},c=0,h=a?.cursor();if(h&&(t<0?h.childBefore(n.from):h.childAfter(n.to)))do if(t<0?h.to<=n.from:h.from>=n.to){if(c==0&&s.indexOf(h.type.name)>-1&&h.from0)return null;let c={from:t<0?e-1:e,to:t>0?e+1:e},h=i.doc.iterRange(e,t>0?i.doc.length:0),f=0;for(let u=0;!h.next().done&&u<=s;){let O=h.value;t<0&&(u+=O.length);let m=e+u*t;for(let p=t>0?0:O.length-1,b=t>0?O.length:-1;p!=b;p+=t){let g=o.indexOf(O[p]);if(!(g<0||n.resolveInner(m+p,1).type!=r))if(g%2==0==t>0)f++;else{if(f==1)return{start:c,end:{from:m+p,to:m+p+1},matched:g>>1==l>>1};f--}}t>0&&(u+=O.length)}return h.done?{start:c,matched:!1}:null}function iO(i,e,t,n=0,r=0){e==null&&(e=i.search(/[^\s\u00a0]/),e==-1&&(e=i.length));let s=r;for(let o=n;o=this.string.length}sol(){return this.pos==0}peek(){return this.string.charAt(this.pos)||void 0}next(){if(this.post}eatSpace(){let e=this.pos;for(;/[\s\u00a0]/.test(this.string.charAt(this.pos));)++this.pos;return this.pos>e}skipToEnd(){this.pos=this.string.length}skipTo(e){let t=this.string.indexOf(e,this.pos);if(t>-1)return this.pos=t,!0}backUp(e){this.pos-=e}column(){return this.lastColumnPosn?o.toLowerCase():o,s=this.string.substr(this.pos,e.length);return r(s)==r(e)?(t!==!1&&(this.pos+=e.length),!0):null}else{let r=this.string.slice(this.pos).match(e);return r&&r.index>0?null:(r&&t!==!1&&(this.pos+=r[0].length),r)}}current(){return this.string.slice(this.start,this.pos)}};function Sb(i){return{name:i.name||"",token:i.token,blankLine:i.blankLine||(()=>{}),startState:i.startState||(()=>!0),copyState:i.copyState||yb,indent:i.indent||(()=>null),languageData:i.languageData||{},tokenTable:i.tokenTable||Cl,mergeTokens:i.mergeTokens!==!1}}function yb(i){if(typeof i!="object")return i;let e={};for(let t in i){let n=i[t];e[t]=n instanceof Array?n.slice():n}return e}var nO=new WeakMap,Es=class i extends we{constructor(e){let t=xn(e.languageData),n=Sb(e),r,s=new class extends Ut{createParse(o,a,l){return new Pl(r,o,a,l)}};super(t,s,[],e.name),this.topNode=Pb(t,this),r=this,this.streamParser=n,this.stateAfter=new I({perNode:!0}),this.tokenTable=e.tokenTable?new qs(n.tokenTable):wb}static define(e){return new i(e)}getIndent(e){let t,{overrideIndentation:n}=e.options;n&&(t=nO.get(e.state),t!=null&&t1e4)return null;for(;s=n&&t+e.length<=r&&e.prop(i.stateAfter);if(s)return{state:i.streamParser.copyState(s),pos:t+e.length};for(let o=e.children.length-1;o>=0;o--){let a=e.children[o],l=t+e.positions[o],c=a instanceof K&&l=e.length)return e;!r&&t==0&&e.type==i.topNode&&(r=!0);for(let s=e.children.length-1;s>=0;s--){let o=e.positions[s],a=e.children[s],l;if(ot&&Tl(i,s.tree,0-s.offset,t,a),c;if(l&&l.pos<=n&&(c=dO(i,s.tree,t+s.offset,l.pos+s.offset,!1)))return{state:l.state,tree:c}}return{state:i.streamParser.startState(r?Qi(r):4),tree:K.empty}}var Pl=class{constructor(e,t,n,r){this.lang=e,this.input=t,this.fragments=n,this.ranges=r,this.stoppedAt=null,this.chunks=[],this.chunkPos=[],this.chunk=[],this.chunkReused=void 0,this.rangeIndex=0,this.to=r[r.length-1].to;let s=ji.get(),o=r[0].from,{state:a,tree:l}=kb(e,n,o,this.to,s?.state);this.state=a,this.parsedPos=this.chunkStart=o+l.length;for(let c=0;cc.from<=s.viewport.from&&c.to>=s.viewport.from)&&(this.state=this.lang.streamParser.startState(Qi(s.state)),s.skipUntilInView(this.parsedPos,s.viewport.from),this.parsedPos=s.viewport.from),this.moveRangeIndex()}advance(){let e=ji.get(),t=this.stoppedAt==null?this.to:Math.min(this.to,this.stoppedAt),n=Math.min(t,this.chunkStart+512);for(e&&(n=Math.min(n,e.viewport.to));this.parsedPos=t?this.finish():e&&this.parsedPos>=e.viewport.to?(e.skipUntilInView(this.parsedPos,t),this.finish()):null}stopAt(e){this.stoppedAt=e}lineAfter(e){let t=this.input.chunk(e);if(this.input.lineChunks)t==` `&&(t="");else{let n=t.indexOf(` -`);n>-1&&(t=t.slice(0,n))}return e+t.length<=this.to?t:t.slice(0,this.to-e)}nextLine(){let e=this.parsedPos,t=this.lineAfter(e),n=e+t.length;for(let r=this.rangeIndex;;){let s=this.ranges[r].to;if(s>=n||(t=t.slice(0,s-(n-t.length)),r++,r==this.ranges.length))break;let o=this.ranges[r].from,a=this.lineAfter(o);t+=a,n=o+a.length}return{line:t,end:n}}skipGapsTo(e,t,n){for(;;){let r=this.ranges[this.rangeIndex].to,s=e+t;if(n>0?r>s:r>=s)break;let o=this.ranges[++this.rangeIndex].from;t+=o-r}return t}moveRangeIndex(){for(;this.ranges[this.rangeIndex].to1){r=this.skipGapsTo(t,r,1),t+=r;let a=this.chunk.length;r=this.skipGapsTo(n,r,-1),n+=r,s+=this.chunk.length-a}let o=this.chunk.length-4;return this.lang.streamParser.mergeTokens&&s==4&&o>=0&&this.chunk[o]==e&&this.chunk[o+2]==t?this.chunk[o+2]=n:this.chunk.push(e,t,n,s),r}parseLine(e){let{line:t,end:n}=this.nextLine(),r=0,{streamParser:s}=this.lang,o=new Zs(t,e?e.state.tabSize:4,e?mi(e.state):2);if(o.eol())s.blankLine(this.state,o.indentUnit);else for(;!o.eol();){let a=dO(s.token,o,this.state);if(a&&(r=this.emitToken(this.lang.tokenTable.resolve(a),this.parsedPos+o.start,this.parsedPos+o.pos,r)),o.start>1e4)break}this.parsedPos=n,this.moveRangeIndex(),this.parsedPose.start)return r}throw new Error("Stream parser failed to advance stream.")}var Cl=Object.create(null),fr=[de.none],xb=new Dt(fr),nO=[],rO=Object.create(null),pO=Object.create(null);for(let[i,e]of[["variable","variableName"],["variable-2","variableName.special"],["string-2","string.special"],["def","variableName.definition"],["tag","tagName"],["attribute","attributeName"],["type","typeName"],["builtin","variableName.standard"],["qualifier","modifier"],["error","invalid"],["header","heading"],["property","propertyName"]])pO[i]=mO(Cl,e);var qs=class{constructor(e){this.extra=e,this.table=Object.assign(Object.create(null),pO)}resolve(e){return e?this.table[e]||(this.table[e]=mO(this.extra,e)):0}},wb=new qs(Cl);function Ql(i,e){nO.indexOf(i)>-1||(nO.push(i),console.warn(e))}function mO(i,e){let t=[];for(let a of e.split(" ")){let l=[];for(let c of a.split(".")){let h=i[c]||d[c];h?typeof h=="function"?l.length?l=l.map(h):Ql(c,`Modifier ${c} used at start of tag`):l.length?Ql(c,`Tag ${c} used as modifier`):l=Array.isArray(h)?h:[h]:Ql(c,`Unknown highlighting tag ${c}`)}for(let c of l)t.push(c)}if(!t.length)return 0;let n=e.replace(/ /g,"_"),r=n+" "+t.map(a=>a.id),s=rO[r];if(s)return s.id;let o=rO[r]=de.define({id:fr.length,name:n,props:[Qe({[n]:t})]});return fr.push(o),o.id}function Pb(i,e){let t=de.define({id:fr.length,name:"Document",props:[yt.add(()=>i),Pe.add(()=>n=>e.getIndent(n))],top:!0});return fr.push(t),t}var v$={rtl:R.mark({class:"cm-iso",inclusive:!0,attributes:{dir:"rtl"},bidiIsolate:Oe.RTL}),ltr:R.mark({class:"cm-iso",inclusive:!0,attributes:{dir:"ltr"},bidiIsolate:Oe.LTR}),auto:R.mark({class:"cm-iso",inclusive:!0,attributes:{dir:"auto"},bidiIsolate:null})};var vb=i=>{let{state:e}=i,t=e.doc.lineAt(e.selection.main.from),n=ql(i.state,t.from);return n.line?$b(i):n.block?Cb(i):!1};function El(i,e){return({state:t,dispatch:n})=>{if(t.readOnly)return!1;let r=i(e,t);return r?(n(t.update(r)),!0):!1}}var $b=El(Rb,0);var Tb=El(PO,0);var Cb=El((i,e)=>PO(i,e,_b(e)),0);function ql(i,e){let t=i.languageDataAt("commentTokens",e,1);return t.length?t[0]:{}}var Or=50;function Xb(i,{open:e,close:t},n,r){let s=i.sliceDoc(n-Or,n),o=i.sliceDoc(r,r+Or),a=/\s*$/.exec(s)[0].length,l=/^\s*/.exec(o)[0].length,c=s.length-a;if(s.slice(c-e.length,c)==e&&o.slice(l,l+t.length)==t)return{open:{pos:n-a,margin:a&&1},close:{pos:r+l,margin:l&&1}};let h,f;r-n<=2*Or?h=f=i.sliceDoc(n,r):(h=i.sliceDoc(n,n+Or),f=i.sliceDoc(r-Or,r));let u=/^\s*/.exec(h)[0].length,O=/\s*$/.exec(f)[0].length,m=f.length-O-t.length;return h.slice(u,u+e.length)==e&&f.slice(m,m+t.length)==t?{open:{pos:n+u+e.length,margin:/\s/.test(h.charAt(u+e.length))?1:0},close:{pos:r-O-t.length,margin:/\s/.test(f.charAt(m-1))?1:0}}:null}function _b(i){let e=[];for(let t of i.selection.ranges){let n=i.doc.lineAt(t.from),r=t.to<=n.to?n:i.doc.lineAt(t.to);r.from>n.from&&r.from==t.to&&(r=t.to==n.to+1?n:i.doc.lineAt(t.to-1));let s=e.length-1;s>=0&&e[s].to>n.from?e[s].to=r.to:e.push({from:n.from+/^\s*/.exec(n.text)[0].length,to:r.to})}return e}function PO(i,e,t=e.selection.ranges){let n=t.map(s=>ql(e,s.from).block);if(!n.every(s=>s))return null;let r=t.map((s,o)=>Xb(e,n[o],s.from,s.to));if(i!=2&&!r.every(s=>s))return{changes:e.changes(t.map((s,o)=>r[o]?[]:[{from:s.from,insert:n[o].open+" "},{from:s.to,insert:" "+n[o].close}]))};if(i!=1&&r.some(s=>s)){let s=[];for(let o=0,a;or&&(s==o||o>f.from)){r=f.from;let u=/^\s*/.exec(f.text)[0].length,O=u==f.length,m=f.text.slice(u,u+c.length)==c?u:-1;us.comment<0&&(!s.empty||s.single))){let s=[];for(let{line:a,token:l,indent:c,empty:h,single:f}of n)(f||!h)&&s.push({from:a.from+c,insert:l+" "});let o=e.changes(s);return{changes:o,selection:e.selection.map(o,1)}}else if(i!=1&&n.some(s=>s.comment>=0)){let s=[];for(let{line:o,comment:a,token:l}of n)if(a>=0){let c=o.from+a,h=c+l.length;o.text[h-o.from]==" "&&h++,s.push({from:c,to:h})}return{changes:s}}return null}var _l=Te.define(),Ab=Te.define(),Zb=Y.define(),vO=Y.define({combine(i){return In(i,{minDepth:100,newGroupDelay:500,joinToEvent:(e,t)=>t},{minDepth:Math.max,newGroupDelay:Math.min,joinToEvent:(e,t)=>(n,r)=>e(n,r)||t(n,r)})}}),$O=fe.define({create(){return Di.empty},update(i,e){let t=e.state.facet(vO),n=e.annotation(_l);if(n){let l=xt.fromTransaction(e,n.selection),c=n.side,h=c==0?i.undone:i.done;return l?h=Ws(h,h.length,t.minDepth,l):h=_O(h,e.startState.selection),new Di(c==0?n.rest:h,c==0?h:n.rest)}let r=e.annotation(Ab);if((r=="full"||r=="before")&&(i=i.isolate()),e.annotation(pe.addToHistory)===!1)return e.changes.empty?i:i.addMapping(e.changes.desc);let s=xt.fromTransaction(e),o=e.annotation(pe.time),a=e.annotation(pe.userEvent);return s?i=i.addChanges(s,o,a,t,e):e.selection&&(i=i.addSelection(e.startState.selection,o,a,t.newGroupDelay)),(r=="full"||r=="after")&&(i=i.isolate()),i},toJSON(i){return{done:i.done.map(e=>e.toJSON()),undone:i.undone.map(e=>e.toJSON())}},fromJSON(i){return new Di(i.done.map(xt.fromJSON),i.undone.map(xt.fromJSON))}});function TO(i={}){return[$O,vO.of(i),q.domEventHandlers({beforeinput(e,t){let n=e.inputType=="historyUndo"?CO:e.inputType=="historyRedo"?Rl:null;return n?(e.preventDefault(),n(t)):!1}})]}function js(i,e){return function({state:t,dispatch:n}){if(!e&&t.readOnly)return!1;let r=t.field($O,!1);if(!r)return!1;let s=r.pop(i,t,e);return s?(n(s),!0):!1}}var CO=js(0,!1),Rl=js(1,!1),Eb=js(0,!0),qb=js(1,!0);var xt=class i{constructor(e,t,n,r,s){this.changes=e,this.effects=t,this.mapped=n,this.startSelection=r,this.selectionsAfter=s}setSelAfter(e){return new i(this.changes,this.effects,this.mapped,this.startSelection,e)}toJSON(){var e,t,n;return{changes:(e=this.changes)===null||e===void 0?void 0:e.toJSON(),mapped:(t=this.mapped)===null||t===void 0?void 0:t.toJSON(),startSelection:(n=this.startSelection)===null||n===void 0?void 0:n.toJSON(),selectionsAfter:this.selectionsAfter.map(r=>r.toJSON())}}static fromJSON(e){return new i(e.changes&&ze.fromJSON(e.changes),[],e.mapped&&zt.fromJSON(e.mapped),e.startSelection&&v.fromJSON(e.startSelection),e.selectionsAfter.map(v.fromJSON))}static fromTransaction(e,t){let n=Ot;for(let r of e.startState.facet(Zb)){let s=r(e);s.length&&(n=n.concat(s))}return!n.length&&e.changes.empty?null:new i(e.changes.invert(e.startState.doc),n,void 0,t||e.startState.selection,Ot)}static selection(e){return new i(void 0,Ot,void 0,void 0,e)}};function Ws(i,e,t,n){let r=e+1>t+20?e-t-1:0,s=i.slice(r,e);return s.push(n),s}function zb(i,e){let t=[],n=!1;return i.iterChangedRanges((r,s)=>t.push(r,s)),e.iterChangedRanges((r,s,o,a)=>{for(let l=0;l=c&&o<=h&&(n=!0)}}),n}function Lb(i,e){return i.ranges.length==e.ranges.length&&i.ranges.filter((t,n)=>t.empty!=e.ranges[n].empty).length===0}function XO(i,e){return i.length?e.length?i.concat(e):i:e}var Ot=[],Mb=200;function _O(i,e){if(i.length){let t=i[i.length-1],n=t.selectionsAfter.slice(Math.max(0,t.selectionsAfter.length-Mb));return n.length&&n[n.length-1].eq(e)?i:(n.push(e),Ws(i,i.length-1,1e9,t.setSelAfter(n)))}else return[xt.selection([e])]}function Wb(i){let e=i[i.length-1],t=i.slice();return t[i.length-1]=e.setSelAfter(e.selectionsAfter.slice(0,e.selectionsAfter.length-1)),t}function Xl(i,e){if(!i.length)return i;let t=i.length,n=Ot;for(;t;){let r=jb(i[t-1],e,n);if(r.changes&&!r.changes.empty||r.effects.length){let s=i.slice(0,t);return s[t-1]=r,s}else e=r.mapped,t--,n=r.selectionsAfter}return n.length?[xt.selection(n)]:Ot}function jb(i,e,t){let n=XO(i.selectionsAfter.length?i.selectionsAfter.map(a=>a.map(e)):Ot,t);if(!i.changes)return xt.selection(n);let r=i.changes.map(e),s=e.mapDesc(i.changes,!0),o=i.mapped?i.mapped.composeDesc(s):s;return new xt(r,ie.mapEffects(i.effects,e),o,i.startSelection.map(s),n)}var Vb=/^(input\.type|delete)($|\.)/,Di=class i{constructor(e,t,n=0,r=void 0){this.done=e,this.undone=t,this.prevTime=n,this.prevUserEvent=r}isolate(){return this.prevTime?new i(this.done,this.undone):this}addChanges(e,t,n,r,s){let o=this.done,a=o[o.length-1];return a&&a.changes&&!a.changes.empty&&e.changes&&(!n||Vb.test(n))&&(!a.selectionsAfter.length&&t-this.prevTime0&&t-this.prevTimet.empty?i.moveByChar(t,e):Vs(t,e))}function Ze(i){return i.textDirectionAt(i.state.selection.main.head)==Oe.LTR}var ZO=i=>AO(i,!Ze(i)),EO=i=>AO(i,Ze(i));function qO(i,e){return Pt(i,t=>t.empty?i.moveByGroup(t,e):Vs(t,e))}var Db=i=>qO(i,!Ze(i)),Yb=i=>qO(i,Ze(i));var Z$=typeof Intl<"u"&&Intl.Segmenter?new Intl.Segmenter(void 0,{granularity:"word"}):null;function Ib(i,e,t){if(e.type.prop(t))return!0;let n=e.to-e.from;return n&&(n>2||/[^\s,.;:]/.test(i.sliceDoc(e.from,e.to)))||e.firstChild}function Ds(i,e,t){let n=U(i).resolveInner(e.head),r=t?I.closedBy:I.openedBy;for(let l=e.head;;){let c=t?n.childAfter(l):n.childBefore(l);if(!c)break;Ib(i,c,r)?n=c:l=t?c.to:c.from}let s=n.type.prop(r),o,a;return s&&(o=t?Vi(i,n.from,1):Vi(i,n.to,-1))&&o.matched?a=t?o.end.to:o.end.from:a=t?n.to:n.from,v.cursor(a,t?-1:1)}var Bb=i=>Pt(i,e=>Ds(i.state,e,!Ze(i))),Ub=i=>Pt(i,e=>Ds(i.state,e,Ze(i)));function zO(i,e){return Pt(i,t=>{if(!t.empty)return Vs(t,e);let n=i.moveVertically(t,e);return n.head!=t.head?n:i.moveToLineBoundary(t,e)})}var LO=i=>zO(i,!1),MO=i=>zO(i,!0);function WO(i){let e=i.scrollDOM.clientHeighto.empty?i.moveVertically(o,e,t.height):Vs(o,e));if(r.eq(n.selection))return!1;let s;if(t.selfScroll){let o=i.coordsAtPos(n.selection.main.head),a=i.scrollDOM.getBoundingClientRect(),l=a.top+t.marginTop,c=a.bottom-t.marginBottom;o&&o.top>l&&o.bottomjO(i,!1),Al=i=>jO(i,!0);function gi(i,e,t){let n=i.lineBlockAt(e.head),r=i.moveToLineBoundary(e,t);if(r.head==e.head&&r.head!=(t?n.to:n.from)&&(r=i.moveToLineBoundary(e,t,!1)),!t&&r.head==n.from&&n.length){let s=/^\s*/.exec(i.state.sliceDoc(n.from,Math.min(n.from+100,n.to)))[0].length;s&&e.head!=n.from+s&&(r=v.cursor(n.from+s))}return r}var Gb=i=>Pt(i,e=>gi(i,e,!0)),Nb=i=>Pt(i,e=>gi(i,e,!1)),Fb=i=>Pt(i,e=>gi(i,e,!Ze(i))),Hb=i=>Pt(i,e=>gi(i,e,Ze(i))),Kb=i=>Pt(i,e=>v.cursor(i.lineBlockAt(e.head).from,1)),Jb=i=>Pt(i,e=>v.cursor(i.lineBlockAt(e.head).to,-1));function eS(i,e,t){let n=!1,r=xn(i.selection,s=>{let o=Vi(i,s.head,-1)||Vi(i,s.head,1)||s.head>0&&Vi(i,s.head-1,1)||s.headeS(i,e,!1);function dt(i,e,t){let n=xn(i.state.selection,r=>{r.undirectional&&r.head>=r.anchor!=e&&(r=v.range(r.head,r.anchor));let s=t(r);return v.range(r.anchor,s.head,s.goalColumn,s.bidiLevel||void 0,s.assoc)});return n.eq(i.state.selection)?!1:(i.dispatch(wt(i.state,n)),!0)}function VO(i,e){return dt(i,e,t=>i.moveByChar(t,e))}var DO=i=>VO(i,!Ze(i)),YO=i=>VO(i,Ze(i));function IO(i,e){return dt(i,e,t=>i.moveByGroup(t,e))}var iS=i=>IO(i,!Ze(i)),nS=i=>IO(i,Ze(i));var rS=i=>{let e=!Ze(i);return dt(i,e,t=>Ds(i.state,t,e))},sS=i=>{let e=Ze(i);return dt(i,e,t=>Ds(i.state,t,e))};function BO(i,e){return dt(i,e,t=>i.moveVertically(t,e))}var UO=i=>BO(i,!1),GO=i=>BO(i,!0);function NO(i,e){return dt(i,e,t=>i.moveVertically(t,e,WO(i).height))}var QO=i=>NO(i,!1),bO=i=>NO(i,!0),oS=i=>dt(i,!0,e=>gi(i,e,!0)),aS=i=>dt(i,!1,e=>gi(i,e,!1)),lS=i=>{let e=!Ze(i);return dt(i,e,t=>gi(i,t,e))},cS=i=>{let e=Ze(i);return dt(i,e,t=>gi(i,t,e))},hS=i=>dt(i,!1,e=>v.cursor(i.lineBlockAt(e.head).from)),fS=i=>dt(i,!0,e=>v.cursor(i.lineBlockAt(e.head).to)),SO=({state:i,dispatch:e})=>(e(wt(i,{anchor:0})),!0),yO=({state:i,dispatch:e})=>(e(wt(i,{anchor:i.doc.length})),!0),kO=({state:i,dispatch:e})=>(e(wt(i,{anchor:i.selection.main.anchor,head:0})),!0),xO=({state:i,dispatch:e})=>(e(wt(i,{anchor:i.selection.main.anchor,head:i.doc.length})),!0),uS=({state:i,dispatch:e})=>(e(i.update({selection:{anchor:0,head:i.doc.length},userEvent:"select"})),!0),OS=({state:i,dispatch:e})=>{let t=Ys(i).map(({from:n,to:r})=>v.range(n,Math.min(r+1,i.doc.length)));return e(i.update({selection:v.create(t),userEvent:"select"})),!0},dS=({state:i,dispatch:e})=>{let t=xn(i.selection,n=>{let r=U(i),s=r.resolveStack(n.from,1);if(n.empty){let o=r.resolveStack(n.from,-1);o.node.from>=s.node.from&&o.node.to<=s.node.to&&(s=o)}for(let o=s;o;o=o.next){let{node:a}=o;if((a.from=n.to||a.to>n.to&&a.from<=n.from)&&o.next)return v.range(a.to,a.from)}return n});return t.eq(i.selection)?!1:(e(wt(i,t)),!0)};function FO(i,e){let{state:t}=i,n=t.selection,r=t.selection.ranges.slice();for(let s of t.selection.ranges){let o=t.doc.lineAt(s.head);if(e?o.to0)for(let a=s;;){let l=i.moveVertically(a,e);if(l.heado.to){r.some(c=>c.head==l.head)||r.push(l);break}else{if(l.head==a.head)break;a=l}}}return r.length==n.ranges.length?!1:(i.dispatch(wt(t,v.create(r,r.length-1))),!0)}var pS=i=>FO(i,!1),mS=i=>FO(i,!0),gS=({state:i,dispatch:e})=>{let t=i.selection,n=null;return t.ranges.length>1?n=v.create([t.main]):t.main.empty||(n=v.create([v.cursor(t.main.head)])),n?(e(wt(i,n)),!0):!1};function dr(i,e){if(i.state.readOnly)return!1;let t="delete.selection",{state:n}=i,r=n.changeByRange(s=>{let{from:o,to:a}=s;if(o==a){let l=e(s);lo&&(t="delete.forward",l=Ms(i,l,!0)),o=Math.min(o,l),a=Math.max(a,l)}else o=Ms(i,o,!1),a=Ms(i,a,!0);return o==a?{range:s}:{changes:{from:o,to:a},range:v.cursor(o,or(i)))n.between(e,e,(r,s)=>{re&&(e=t?s:r)});return e}var HO=(i,e,t)=>dr(i,n=>{let r=n.from,{state:s}=i,o=s.doc.lineAt(r),a,l;if(t&&!e&&r>o.from&&rHO(i,!1,!0);var KO=i=>HO(i,!0,!1),JO=(i,e)=>dr(i,t=>{let n=t.head,{state:r}=i,s=r.doc.lineAt(n),o=r.charCategorizer(n);for(let a=null;;){if(n==(e?s.to:s.from)){n==t.head&&s.number!=(e?r.doc.lines:1)&&(n+=e?1:-1);break}let l=xe(s.text,n-s.from,e)+s.from,c=s.text.slice(Math.min(n,l)-s.from,Math.max(n,l)-s.from),h=o(c);if(a!=null&&h!=a)break;(c!=" "||n!=t.head)&&(a=h),n=l}return n}),ed=i=>JO(i,!1),QS=i=>JO(i,!0);var bS=i=>dr(i,e=>{let t=i.lineBlockAt(e.head).to;return e.headdr(i,e=>{let t=i.moveToLineBoundary(e,!1).head;return e.head>t?t:Math.max(0,e.head-1)}),yS=i=>dr(i,e=>{let t=i.moveToLineBoundary(e,!0).head;return e.head{if(i.readOnly)return!1;let t=i.changeByRange(n=>({changes:{from:n.from,to:n.to,insert:J.of(["",""])},range:v.cursor(n.from)}));return e(i.update(t,{scrollIntoView:!0,userEvent:"input"})),!0},xS=({state:i,dispatch:e})=>{if(i.readOnly)return!1;let t=i.changeByRange(n=>{if(!n.empty||n.from==0||n.from==i.doc.length)return{range:n};let r=n.from,s=i.doc.lineAt(r),o=r==s.from?r-1:xe(s.text,r-s.from,!1)+s.from,a=r==s.to?r+1:xe(s.text,r-s.from,!0)+s.from;return{changes:{from:o,to:a,insert:i.doc.slice(r,a).append(i.doc.slice(o,r))},range:v.cursor(a)}});return t.changes.empty?!1:(e(i.update(t,{scrollIntoView:!0,userEvent:"move.character"})),!0)};function Ys(i){let e=[],t=-1;for(let n of i.selection.ranges){let r=i.doc.lineAt(n.from),s=i.doc.lineAt(n.to);if(!n.empty&&n.to==s.from&&(s=i.doc.lineAt(n.to-1)),t>=r.number){let o=e[e.length-1];o.to=s.to,o.ranges.push(n)}else e.push({from:r.from,to:s.to,ranges:[n]});t=s.number+1}return e}function td(i,e,t){if(i.readOnly)return!1;let n=[],r=[];for(let s of Ys(i)){if(t?s.to==i.doc.length:s.from==0)continue;let o=i.doc.lineAt(t?s.to+1:s.from-1),a=o.length+1;if(t){n.push({from:s.to,to:o.to},{from:s.from,insert:o.text+i.lineBreak});for(let l of s.ranges)r.push(v.range(Math.min(i.doc.length,l.anchor+a),Math.min(i.doc.length,l.head+a)))}else{n.push({from:o.from,to:s.from},{from:s.to,insert:i.lineBreak+o.text});for(let l of s.ranges)r.push(v.range(l.anchor-a,l.head-a))}}return n.length?(e(i.update({changes:n,scrollIntoView:!0,selection:v.create(r,i.selection.mainIndex),userEvent:"move.line"})),!0):!1}var wS=({state:i,dispatch:e})=>td(i,e,!1),PS=({state:i,dispatch:e})=>td(i,e,!0);function id(i,e,t){if(i.readOnly)return!1;let n=[];for(let s of Ys(i))t?n.push({from:s.from,insert:i.doc.slice(s.from,s.to)+i.lineBreak}):n.push({from:s.to,insert:i.lineBreak+i.doc.slice(s.from,s.to)});let r=i.changes(n);return e(i.update({changes:r,selection:i.selection.map(r,t?1:-1),scrollIntoView:!0,userEvent:"input.copyline"})),!0}var vS=({state:i,dispatch:e})=>id(i,e,!1),$S=({state:i,dispatch:e})=>id(i,e,!0),TS=i=>{if(i.state.readOnly)return!1;let{state:e}=i,t=e.changes(Ys(e).map(({from:r,to:s})=>(r>0?r--:s{let s;if(i.lineWrapping){let o=i.lineBlockAt(r.head),a=i.coordsAtPos(r.head,r.assoc||1);a&&(s=o.bottom+i.documentTop-a.bottom+i.defaultLineHeight/2)}return i.moveVertically(r,!0,s)}).map(t);return i.dispatch({changes:t,selection:n,scrollIntoView:!0,userEvent:"delete.line"}),!0};function CS(i,e){if(/\(\)|\[\]|\{\}/.test(i.sliceDoc(e-1,e+1)))return{from:e,to:e};let t=U(i).resolveInner(e),n=t.childBefore(e),r=t.childAfter(e),s;return n&&r&&n.to<=e&&r.from>=e&&(s=n.type.prop(I.closedBy))&&s.indexOf(r.name)>-1&&i.doc.lineAt(n.to).from==i.doc.lineAt(r.from).from&&!/\S/.test(i.sliceDoc(n.to,r.from))?{from:n.to,to:r.from}:null}var wO=nd(!1),XS=nd(!0);function nd(i){return({state:e,dispatch:t})=>{if(e.readOnly)return!1;let n=e.changeByRange(r=>{let{from:s,to:o}=r,a=e.doc.lineAt(s),l=!i&&s==o&&CS(e,s);i&&(s=o=(o<=a.to?a:e.doc.lineAt(o)).to);let c=new ji(e,{simulateBreak:s,simulateDoubleBreak:!!l}),h=vl(c,s);for(h==null&&(h=Fe(/^\s*/.exec(e.doc.lineAt(s).text)[0],e.tabSize));oa.from&&s{let r=[];for(let o=n.from;o<=n.to;){let a=i.doc.lineAt(o);a.number>t&&(n.empty||n.to>a.from)&&(e(a,r,n),t=a.number),o=a.to+1}let s=i.changes(r);return{changes:r,range:v.range(s.mapPos(n.anchor,1),s.mapPos(n.head,1))}})}var _S=({state:i,dispatch:e})=>{if(i.readOnly)return!1;let t=Object.create(null),n=new ji(i,{overrideIndentation:s=>{let o=t[s];return o??-1}}),r=zl(i,(s,o,a)=>{let l=vl(n,s.from);if(l==null)return;/\S/.test(s.text)||(l=0);let c=/^\s*/.exec(s.text)[0],h=ur(i,l);(c!=h||a.fromi.readOnly?!1:(e(i.update(zl(i,(t,n)=>{n.push({from:t.from,insert:i.facet(Zt)})}),{userEvent:"input.indent"})),!0),Ll=({state:i,dispatch:e})=>i.readOnly?!1:(e(i.update(zl(i,(t,n)=>{let r=/^\s*/.exec(t.text)[0];if(!r)return;let s=Fe(r,i.tabSize),o=0,a=ur(i,Math.max(0,s-mi(i)));for(;o(i.setTabFocusMode(),!0);var Ml=({state:i,dispatch:e})=>i.selection.ranges.some(t=>!t.empty)?rd({state:i,dispatch:e}):(e(i.update(i.replaceSelection(" "),{scrollIntoView:!0,userEvent:"input"})),!0),AS=[{key:"Ctrl-b",run:ZO,shift:DO,preventDefault:!0},{key:"Ctrl-f",run:EO,shift:YO},{key:"Ctrl-p",run:LO,shift:UO},{key:"Ctrl-n",run:MO,shift:GO},{key:"Ctrl-a",run:Kb,shift:hS},{key:"Ctrl-e",run:Jb,shift:fS},{key:"Ctrl-d",run:KO},{key:"Ctrl-h",run:Zl},{key:"Ctrl-k",run:bS},{key:"Ctrl-Alt-h",run:ed},{key:"Ctrl-o",run:kS},{key:"Ctrl-t",run:xS},{key:"Ctrl-v",run:Al}],ZS=[{key:"ArrowLeft",run:ZO,shift:DO,preventDefault:!0},{key:"Mod-ArrowLeft",mac:"Alt-ArrowLeft",run:Db,shift:iS,preventDefault:!0},{mac:"Cmd-ArrowLeft",run:Fb,shift:lS,preventDefault:!0},{key:"ArrowRight",run:EO,shift:YO,preventDefault:!0},{key:"Mod-ArrowRight",mac:"Alt-ArrowRight",run:Yb,shift:nS,preventDefault:!0},{mac:"Cmd-ArrowRight",run:Hb,shift:cS,preventDefault:!0},{key:"ArrowUp",run:LO,shift:UO,preventDefault:!0},{mac:"Cmd-ArrowUp",run:SO,shift:kO},{mac:"Ctrl-ArrowUp",run:gO,shift:QO},{key:"ArrowDown",run:MO,shift:GO,preventDefault:!0},{mac:"Cmd-ArrowDown",run:yO,shift:xO},{mac:"Ctrl-ArrowDown",run:Al,shift:bO},{key:"PageUp",run:gO,shift:QO},{key:"PageDown",run:Al,shift:bO},{key:"Home",run:Nb,shift:aS,preventDefault:!0},{key:"Mod-Home",run:SO,shift:kO},{key:"End",run:Gb,shift:oS,preventDefault:!0},{key:"Mod-End",run:yO,shift:xO},{key:"Enter",run:wO,shift:wO},{key:"Mod-a",run:uS},{key:"Backspace",run:Zl,shift:Zl,preventDefault:!0},{key:"Delete",run:KO,preventDefault:!0},{key:"Mod-Backspace",mac:"Alt-Backspace",run:ed,preventDefault:!0},{key:"Mod-Delete",mac:"Alt-Delete",run:QS,preventDefault:!0},{mac:"Mod-Backspace",run:SS,preventDefault:!0},{mac:"Mod-Delete",run:yS,preventDefault:!0}].concat(AS.map(i=>({mac:i.key,run:i.run,shift:i.shift}))),sd=[{key:"Alt-ArrowLeft",mac:"Ctrl-ArrowLeft",run:Bb,shift:rS},{key:"Alt-ArrowRight",mac:"Ctrl-ArrowRight",run:Ub,shift:sS},{key:"Alt-ArrowUp",run:wS},{key:"Shift-Alt-ArrowUp",run:vS},{key:"Alt-ArrowDown",run:PS},{key:"Shift-Alt-ArrowDown",run:$S},{key:"Mod-Alt-ArrowUp",run:pS},{key:"Mod-Alt-ArrowDown",run:mS},{key:"Escape",run:gS},{key:"Mod-Enter",run:XS},{key:"Alt-l",mac:"Ctrl-l",run:OS},{key:"Mod-i",run:dS,preventDefault:!0},{key:"Mod-[",run:Ll},{key:"Mod-]",run:rd},{key:"Mod-Alt-\\",run:_S},{key:"Shift-Mod-k",run:TS},{key:"Shift-Mod-\\",run:tS},{key:"Mod-/",run:vb},{key:"Alt-A",run:Tb},{key:"Ctrl-m",mac:"Shift-Alt-m",run:RS}].concat(ZS);var Is=class{constructor(e,t,n,r){this.state=e,this.pos=t,this.explicit=n,this.view=r,this.abortListeners=[],this.abortOnDocChange=!1}tokenBefore(e){let t=U(this.state).resolveInner(this.pos,-1);for(;t&&e.indexOf(t.name)<0;)t=t.parent;return t?{from:t.from,to:this.pos,text:this.state.sliceDoc(t.from,this.pos),type:t.type}:null}matchBefore(e){let t=this.state.doc.lineAt(this.pos),n=Math.max(t.from,this.pos-250),r=t.text.slice(n-t.from,this.pos-t.from),s=r.search(qS(e,!1));return s<0?null:{from:n+s,to:this.pos,text:r.slice(s)}}get aborted(){return this.abortListeners==null}addEventListener(e,t,n){e=="abort"&&this.abortListeners&&(this.abortListeners.push(t),n&&n.onDocChange&&(this.abortOnDocChange=!0))}};function od(i){let e=Object.keys(i).join(""),t=/\w/.test(e);return t&&(e=e.replace(/\w/g,"")),`[${t?"\\w":""}${e.replace(/[^\w\s]/g,"\\$&")}]`}function ES(i){let e=Object.create(null),t=Object.create(null);for(let{label:r}of i){e[r[0]]=!0;for(let s=1;stypeof r=="string"?{label:r}:r),[t,n]=e.every(r=>/^\w+$/.test(r.label))?[/\w*$/,/\w+$/]:ES(e);return r=>{let s=r.matchBefore(n);return s||r.explicit?{from:s?s.from:r.pos,options:e,validFor:t}:null}}function Us(i,e){return t=>{for(let n=U(t.state).resolveInner(t.pos,-1);n;n=n.parent){if(i.indexOf(n.name)>-1)return null;if(n.type.isTop)break}return e(t)}}function qS(i,e){var t;let{source:n}=i,r=e&&n[0]!="^",s=n[n.length-1]!="$";return!r&&!s?i:new RegExp(`${r?"^":""}(?:${n})${s?"$":""}`,(t=i.flags)!==null&&t!==void 0?t:i.ignoreCase?"i":"")}var zS=Te.define();var j$=typeof navigator=="object"&&/Win/.test(navigator.platform);var LS=q.baseTheme({".cm-tooltip.cm-tooltip-autocomplete":{"& > ul":{fontFamily:"monospace",whiteSpace:"nowrap",overflow:"hidden auto",maxWidth_fallback:"700px",maxWidth:"min(700px, 95vw)",minWidth:"250px",maxHeight:"10em",height:"100%",listStyle:"none",margin:0,padding:0,"& > li, & > completion-section":{padding:"1px 3px",lineHeight:1.2},"& > li":{overflowX:"hidden",textOverflow:"ellipsis",cursor:"pointer"},"& > completion-section":{display:"list-item",borderBottom:"1px solid silver",paddingLeft:"0.5em",opacity:.7}}},"&light .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#17c",color:"white"},"&light .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#777"},"&dark .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#347",color:"white"},"&dark .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#444"},".cm-completionListIncompleteTop:before, .cm-completionListIncompleteBottom:after":{content:'"\xB7\xB7\xB7"',opacity:.5,display:"block",textAlign:"center",cursor:"pointer"},".cm-tooltip.cm-completionInfo":{position:"absolute",padding:"3px 9px",width:"max-content",maxWidth:"400px",boxSizing:"border-box",whiteSpace:"pre-line"},".cm-completionInfo.cm-completionInfo-left":{right:"100%"},".cm-completionInfo.cm-completionInfo-right":{left:"100%"},".cm-completionInfo.cm-completionInfo-left-narrow":{right:"30px"},".cm-completionInfo.cm-completionInfo-right-narrow":{left:"30px"},"&light .cm-snippetField":{backgroundColor:"#00000022"},"&dark .cm-snippetField":{backgroundColor:"#ffffff22"},".cm-snippetFieldPosition":{verticalAlign:"text-top",width:0,height:"1.15em",display:"inline-block",margin:"0 -0.7px -.7em",borderLeft:"1.4px dotted #888"},".cm-completionMatchedText":{textDecoration:"underline"},".cm-completionDetail":{marginLeft:"0.5em",fontStyle:"italic"},".cm-completionIcon":{fontSize:"90%",width:".8em",display:"inline-block",textAlign:"center",paddingRight:".6em",opacity:"0.6",boxSizing:"content-box"},".cm-completionIcon-function, .cm-completionIcon-method":{"&:after":{content:"'\u0192'"}},".cm-completionIcon-class":{"&:after":{content:"'\u25CB'"}},".cm-completionIcon-interface":{"&:after":{content:"'\u25CC'"}},".cm-completionIcon-variable":{"&:after":{content:"'\u{1D465}'"}},".cm-completionIcon-constant":{"&:after":{content:"'\u{1D436}'"}},".cm-completionIcon-type":{"&:after":{content:"'\u{1D461}'"}},".cm-completionIcon-enum":{"&:after":{content:"'\u222A'"}},".cm-completionIcon-property":{"&:after":{content:"'\u25A1'"}},".cm-completionIcon-keyword":{"&:after":{content:"'\u{1F511}\uFE0E'"}},".cm-completionIcon-namespace":{"&:after":{content:"'\u25A2'"}},".cm-completionIcon-text":{"&:after":{content:"'abc'",fontSize:"50%",verticalAlign:"middle"}}}),jl=class{constructor(e,t,n,r){this.field=e,this.line=t,this.from=n,this.to=r}},Vl=class i{constructor(e,t,n){this.field=e,this.from=t,this.to=n}map(e){let t=e.mapPos(this.from,-1,ge.TrackDel),n=e.mapPos(this.to,1,ge.TrackDel);return t==null||n==null?null:new i(this.field,t,n)}},Dl=class i{constructor(e,t){this.lines=e,this.fieldPositions=t}instantiate(e,t){let n=[],r=[t],s=e.doc.lineAt(t),o=/^\s*/.exec(s.text)[0];for(let l of this.lines){if(n.length){let c=o,h=/^\t*/.exec(l)[0].length;for(let f=0;fnew Vl(l.field,r[l.line]+l.from,r[l.line]+l.to));return{text:n,ranges:a}}static parse(e){let t=[],n=[],r=[],s;for(let o of e.split(/\r\n?|\n/)){for(;s=/[#$]\{(?:(\d+)(?::([^{}]*))?|((?:\\[{}]|[^{}])*))\}/.exec(o);){let a=s[1]?+s[1]:null,l=s[2]||s[3]||"",c=-1;a===0&&(a=1e9);let h=l.replace(/\\[{}]/g,f=>f[1]);for(let f=0;f=c&&u.field++}for(let f of r)if(f.line==n.length&&f.from>s.index){let u=s[2]?3+(s[1]||"").length:2;f.from-=u,f.to-=u}r.push(new jl(c,n.length,s.index,s.index+h.length)),o=o.slice(0,s.index)+l+o.slice(s.index+s[0].length)}o=o.replace(/\\([{}])/g,(a,l,c)=>{for(let h of r)h.line==n.length&&h.from>c&&(h.from--,h.to--);return l}),n.push(o)}return new i(n,r)}},MS=R.widget({widget:new class extends Ce{toDOM(){let i=document.createElement("span");return i.className="cm-snippetFieldPosition",i}ignoreEvent(){return!1}}}),WS=R.mark({class:"cm-snippetField"}),wn=class i{constructor(e,t){this.ranges=e,this.active=t,this.deco=R.set(e.map(n=>(n.from==n.to?MS:WS).range(n.from,n.to)),!0)}map(e){let t=[];for(let n of this.ranges){let r=n.map(e);if(!r)return null;t.push(r)}return new i(t,this.active)}selectionInsideField(e){return e.ranges.every(t=>this.ranges.some(n=>n.field==this.active&&n.from<=t.from&&n.to>=t.to))}},gr=ie.define({map(i,e){return i&&i.map(e)}}),jS=ie.define(),pr=fe.define({create(){return null},update(i,e){for(let t of e.effects){if(t.is(gr))return t.value;if(t.is(jS)&&i)return new wn(i.ranges,t.value)}return i&&e.docChanged&&(i=i.map(e.changes)),i&&e.selection&&!i.selectionInsideField(e.selection)&&(i=null),i},provide:i=>q.decorations.from(i,e=>e?e.deco:R.none)});function Yl(i,e){return v.create(i.filter(t=>t.field==e).map(t=>v.range(t.from,t.to)))}function VS(i){let e=Dl.parse(i);return(t,n,r,s)=>{let{text:o,ranges:a}=e.instantiate(t.state,r),{main:l}=t.state.selection,c={changes:{from:r,to:s==l.from?l.to:s,insert:J.of(o)},scrollIntoView:!0,annotations:n?[zS.of(n),pe.userEvent.of("input.complete")]:void 0};if(a.length&&(c.selection=Yl(a,0)),a.some(h=>h.field>0)){let h=new wn(a,0),f=c.effects=[gr.of(h)];t.state.field(pr,!1)===void 0&&f.push(ie.appendConfig.of([pr,US,GS,LS]))}t.dispatch(t.state.update(c))}}function hd(i){return({state:e,dispatch:t})=>{let n=e.field(pr,!1);if(!n||i<0&&n.active==0)return!1;let r=n.active+i,s=i>0&&!n.ranges.some(o=>o.field==r+i);return t(e.update({selection:Yl(n.ranges,r),effects:gr.of(s?null:new wn(n.ranges,r)),scrollIntoView:!0})),!0}}var DS=({state:i,dispatch:e})=>i.field(pr,!1)?(e(i.update({effects:gr.of(null)})),!0):!1,YS=hd(1),IS=hd(-1);var BS=[{key:"Tab",run:YS,shift:IS},{key:"Escape",run:DS}],ad=Y.define({combine(i){return i.length?i[0]:BS}}),US=st.highest(hi.compute([ad],i=>i.facet(ad)));function he(i,e){return{...e,apply:VS(i)}}var GS=q.domEventHandlers({mousedown(i,e){let t=e.state.field(pr,!1),n;if(!t||(n=e.posAtCoords({x:i.clientX,y:i.clientY}))==null)return!1;let r=t.ranges.find(s=>s.from<=n&&s.to>=n);return!r||r.field==t.active?!1:(e.dispatch({selection:Yl(t.ranges,r.field),effects:gr.of(t.ranges.some(s=>s.field>r.field)?new wn(t.ranges,r.field):null),scrollIntoView:!0}),!0)}});var mr={brackets:["(","[","{","'",'"'],before:")]}:;>",stringPrefixes:[]},Yi=ie.define({map(i,e){let t=e.mapPos(i,-1,ge.TrackAfter);return t??void 0}}),Il=new class extends rt{};Il.startSide=1;Il.endSide=-1;var fd=fe.define({create(){return le.empty},update(i,e){if(i=i.map(e.changes),e.selection){let t=e.state.doc.lineAt(e.selection.main.head);i=i.update({filter:n=>n>=t.from&&n<=t.to})}for(let t of e.effects)t.is(Yi)&&(i=i.update({add:[Il.range(t.value,t.value+1)]}));return i}});function ud(){return[FS,fd]}var Wl="()[]{}<>\xAB\xBB\xBB\xAB\uFF3B\uFF3D\uFF5B\uFF5D";function Od(i){for(let e=0;e{if((NS?i.composing:i.compositionStarted)||i.state.readOnly)return!1;let r=i.state.selection.main;if(n.length>2||n.length==2&&on(ri(n,0))==1||e!=r.from||t!=r.to)return!1;let s=KS(i.state,n);return s?(i.dispatch(s),!0):!1}),HS=({state:i,dispatch:e})=>{if(i.readOnly)return!1;let n=dd(i,i.selection.main.head).brackets||mr.brackets,r=null,s=i.changeByRange(o=>{if(o.empty){let a=JS(i.doc,o.head);for(let l of n)if(l==a&&Gs(i.doc,o.head)==Od(ri(l,0)))return{changes:{from:o.head-l.length,to:o.head+l.length},range:v.cursor(o.head-l.length)}}return{range:r=o}});return r||e(i.update(s,{scrollIntoView:!0,userEvent:"delete.backward"})),!r},pd=[{key:"Backspace",run:HS}];function KS(i,e){let t=dd(i,i.selection.main.head),n=t.brackets||mr.brackets;for(let r of n){let s=Od(ri(r,0));if(e==r)return s==r?iy(i,r,n.indexOf(r+r+r)>-1,t):ey(i,r,s,t.before||mr.before);if(e==s&&md(i,i.selection.main.from))return ty(i,r,s)}return null}function md(i,e){let t=!1;return i.field(fd).between(0,i.doc.length,n=>{n==e&&(t=!0)}),t}function Gs(i,e){let t=i.sliceString(e,e+2);return t.slice(0,on(ri(t,0)))}function JS(i,e){let t=i.sliceString(e-2,e);return on(ri(t,0))==t.length?t:t.slice(1)}function ey(i,e,t,n){let r=null,s=i.changeByRange(o=>{if(!o.empty)return{changes:[{insert:e,from:o.from},{insert:t,from:o.to}],effects:Yi.of(o.to+e.length),range:v.range(o.anchor+e.length,o.head+e.length)};let a=Gs(i.doc,o.head);return!a||/\s/.test(a)||n.indexOf(a)>-1?{changes:{insert:e+t,from:o.head},effects:Yi.of(o.head+e.length),range:v.cursor(o.head+e.length)}:{range:r=o}});return r?null:i.update(s,{scrollIntoView:!0,userEvent:"input.type"})}function ty(i,e,t){let n=null,r=i.changeByRange(s=>s.empty&&Gs(i.doc,s.head)==t?{changes:{from:s.head,to:s.head+t.length,insert:t},range:v.cursor(s.head+t.length)}:n={range:s});return n?null:i.update(r,{scrollIntoView:!0,userEvent:"input.type"})}function iy(i,e,t,n){let r=n.stringPrefixes||mr.stringPrefixes,s=null,o=i.changeByRange(a=>{if(!a.empty)return{changes:[{insert:e,from:a.from},{insert:e,from:a.to}],effects:Yi.of(a.to+e.length),range:v.range(a.anchor+e.length,a.head+e.length)};let l=a.head,c=Gs(i.doc,l),h;if(c==e){if(ld(i,l))return{changes:{insert:e+e,from:l},effects:Yi.of(l+e.length),range:v.cursor(l+e.length)};if(md(i,l)){let u=t&&i.sliceDoc(l,l+e.length*3)==e+e+e?e+e+e:e;return{changes:{from:l,to:l+u.length,insert:u},range:v.cursor(l+u.length)}}}else{if(t&&i.sliceDoc(l-2*e.length,l)==e+e&&(h=cd(i,l-2*e.length,r))>-1&&ld(i,h))return{changes:{insert:e+e+e+e,from:l},effects:Yi.of(l+e.length),range:v.cursor(l+e.length)};if(i.charCategorizer(l)(c)!=qe.Word&&cd(i,l,r)>-1&&!ny(i,l,e,r))return{changes:{insert:e+e,from:l},effects:Yi.of(l+e.length),range:v.cursor(l+e.length)}}return{range:s=a}});return s?null:i.update(o,{scrollIntoView:!0,userEvent:"input.type"})}function ld(i,e){let t=U(i).resolveInner(e+1);return t.parent&&t.from==e}function ny(i,e,t,n){let r=U(i).resolveInner(e,-1),s=n.reduce((o,a)=>Math.max(o,a.length),0);for(let o=0;o<5;o++){let a=i.sliceDoc(r.from,Math.min(r.to,r.from+t.length+s)),l=a.indexOf(t);if(!l||l>-1&&n.indexOf(a.slice(0,l))>-1){let h=r.firstChild;for(;h&&h.from==r.from&&h.to-h.from>t.length+l;){if(i.sliceDoc(h.to-t.length,h.to)==t)return!1;h=h.firstChild}return!0}let c=r.to==e&&r.parent;if(!c)break;r=c}return!1}function cd(i,e,t){let n=i.charCategorizer(e);if(n(i.sliceDoc(e-1,e))!=qe.Word)return e;for(let r of t){let s=e-r.length;if(i.sliceDoc(s,e)==r&&n(i.sliceDoc(s-1,s))!=qe.Word)return s}return-1}var Hs=class i{static create(e,t,n,r,s){let o=r+(r<<8)+e+(t<<4)|0;return new i(e,t,n,o,s,[],[])}constructor(e,t,n,r,s,o,a){this.type=e,this.value=t,this.from=n,this.hash=r,this.end=s,this.children=o,this.positions=a,this.hashProp=[[I.contextHash,r]]}addChild(e,t){e.prop(I.contextHash)!=this.hash&&(e=new K(e.type,e.children,e.positions,e.length,this.hashProp)),this.children.push(e),this.positions.push(t)}toTree(e,t=this.end){let n=this.children.length-1;return n>=0&&(t=Math.max(t,this.positions[n]+this.children[n].length+this.from)),new K(e.types[this.type],this.children,this.positions,t-this.from).balance({makeTree:(r,s,o)=>new K(de.none,r,s,o,this.hashProp)})}},A;(function(i){i[i.Document=1]="Document",i[i.CodeBlock=2]="CodeBlock",i[i.FencedCode=3]="FencedCode",i[i.Blockquote=4]="Blockquote",i[i.HorizontalRule=5]="HorizontalRule",i[i.BulletList=6]="BulletList",i[i.OrderedList=7]="OrderedList",i[i.ListItem=8]="ListItem",i[i.ATXHeading1=9]="ATXHeading1",i[i.ATXHeading2=10]="ATXHeading2",i[i.ATXHeading3=11]="ATXHeading3",i[i.ATXHeading4=12]="ATXHeading4",i[i.ATXHeading5=13]="ATXHeading5",i[i.ATXHeading6=14]="ATXHeading6",i[i.SetextHeading1=15]="SetextHeading1",i[i.SetextHeading2=16]="SetextHeading2",i[i.HTMLBlock=17]="HTMLBlock",i[i.LinkReference=18]="LinkReference",i[i.Paragraph=19]="Paragraph",i[i.CommentBlock=20]="CommentBlock",i[i.ProcessingInstructionBlock=21]="ProcessingInstructionBlock",i[i.Escape=22]="Escape",i[i.Entity=23]="Entity",i[i.HardBreak=24]="HardBreak",i[i.Emphasis=25]="Emphasis",i[i.StrongEmphasis=26]="StrongEmphasis",i[i.Link=27]="Link",i[i.Image=28]="Image",i[i.InlineCode=29]="InlineCode",i[i.HTMLTag=30]="HTMLTag",i[i.Comment=31]="Comment",i[i.ProcessingInstruction=32]="ProcessingInstruction",i[i.Autolink=33]="Autolink",i[i.HeaderMark=34]="HeaderMark",i[i.QuoteMark=35]="QuoteMark",i[i.ListMark=36]="ListMark",i[i.LinkMark=37]="LinkMark",i[i.EmphasisMark=38]="EmphasisMark",i[i.CodeMark=39]="CodeMark",i[i.CodeText=40]="CodeText",i[i.CodeInfo=41]="CodeInfo",i[i.LinkTitle=42]="LinkTitle",i[i.LinkLabel=43]="LinkLabel",i[i.URL=44]="URL"})(A||(A={}));var Gl=class{constructor(e,t){this.start=e,this.content=t,this.marks=[],this.parsers=[]}},Nl=class{constructor(){this.text="",this.baseIndent=0,this.basePos=0,this.depth=0,this.markers=[],this.pos=0,this.indent=0,this.next=-1}forward(){this.basePos>this.pos&&this.forwardInner()}forwardInner(){let e=this.skipSpace(this.basePos);this.indent=this.countIndent(e,this.pos,this.indent),this.pos=e,this.next=e==this.text.length?-1:this.text.charCodeAt(e)}skipSpace(e){return br(this.text,e)}reset(e){for(this.text=e,this.baseIndent=this.basePos=this.pos=this.indent=0,this.forwardInner(),this.depth=1;this.markers.length;)this.markers.pop()}moveBase(e){this.basePos=e,this.baseIndent=this.countIndent(e,this.pos,this.indent)}moveBaseColumn(e){this.baseIndent=e,this.basePos=this.findColumn(e)}addMarker(e){this.markers.push(e)}countIndent(e,t=0,n=0){for(let r=t;r=e.stack[t.depth+1].value+t.baseIndent)return!0;if(t.indent>=t.baseIndent+4)return!1;let n=(i.type==A.OrderedList?ac:oc)(t,e,!1);return n>0&&(i.type!=A.BulletList||sc(t,e,!1)<0)&&t.text.charCodeAt(t.pos+n-1)==i.value}var Td={[A.Blockquote](i,e,t){return t.next!=62?!1:(t.markers.push(ne(A.QuoteMark,e.lineStart+t.pos,e.lineStart+t.pos+1)),t.moveBase(t.pos+(pt(t.text.charCodeAt(t.pos+1))?2:1)),i.end=e.lineStart+t.text.length,!0)},[A.ListItem](i,e,t){return t.indent-1?!1:(t.moveBaseColumn(t.baseIndent+i.value),!0)},[A.OrderedList]:gd,[A.BulletList]:gd,[A.Document](){return!0}};function pt(i){return i==32||i==9||i==10||i==13}function br(i,e=0){for(;et&&pt(i.charCodeAt(e-1));)e--;return e}function Cd(i){if(i.next!=96&&i.next!=126)return-1;let e=i.pos+1;for(;e-1&&i.depth==e.stack.length&&e.parser.leafBlockParsers.indexOf(zd.SetextHeading)>-1||n<3?-1:1}function _d(i,e){for(let t=i.stack.length-1;t>=0;t--)if(i.stack[t].type==e)return!0;return!1}function oc(i,e,t){return(i.next==45||i.next==43||i.next==42)&&(i.pos==i.text.length-1||pt(i.text.charCodeAt(i.pos+1)))&&(!t||_d(e,A.BulletList)||i.skipSpace(i.pos+2)=48&&r<=57;){n++;if(n==i.text.length)return-1;r=i.text.charCodeAt(n)}return n==i.pos||n>i.pos+9||r!=46&&r!=41||ni.pos+1||i.next!=49)?-1:n+1-i.pos}function Rd(i){if(i.next!=35)return-1;let e=i.pos+1;for(;e6?-1:t}function Ad(i){if(i.next!=45&&i.next!=61||i.indent>=i.baseIndent+4)return-1;let e=i.pos+1;for(;e/,Ed=/\?>/,Hl=[[/^<(?:script|pre|style)(?:\s|>|$)/i,/<\/(?:script|pre|style)>/i],[/^\s*/,qd=/\?>/,Hl=[[/^<(?:script|pre|style)(?:\s|>|$)/i,/<\/(?:script|pre|style)>/i],[/^\s*/i.exec(n);if(s)return i.append(ne(A.Comment,t,t+1+s[0].length));let o=/^\?[^]*?\?>/.exec(n);if(o)return i.append(ne(A.ProcessingInstruction,t,t+1+o[0].length));let a=/^(?:![A-Z][^]*?>|!\[CDATA\[[^]*?\]\]>|\/\s*[a-zA-Z][\w-]*\s*>|\s*[a-zA-Z][\w-]*(\s+[a-zA-Z:_][\w-.:]*(?:\s*=\s*(?:[^\s"'=<>`]+|'[^']*'|"[^"]*"))?)*\s*(\/\s*)?>)/.exec(n);return a?i.append(ne(A.HTMLTag,t,t+1+a[0].length)):-1},Emphasis(i,e,t){if(e!=95&&e!=42)return-1;let n=t+1;for(;i.char(n)==e;)n++;let r=i.slice(t-1,t),s=i.slice(n,n+1),o=kr.test(r),a=kr.test(s),l=/\s|^$/.test(r),c=/\s|^$/.test(s),h=!c&&(!a||l||o),f=!l&&(!o||c||a),u=h&&(e==42||!f||o),O=f&&(e==42||!h||a);return i.append(new We(e==95?Wd:jd,t,n,(u?1:0)|(O?2:0)))},HardBreak(i,e,t){if(e==92&&i.char(t+1)==10)return i.append(ne(A.HardBreak,t,t+2));if(e==32){let n=t+1;for(;i.char(n)==32;)n++;if(i.char(n)==10&&n>=t+2)return i.append(ne(A.HardBreak,t,n+1))}return-1},Link(i,e,t){return e==91?i.append(new We(Ii,t,t+1,1)):-1},Image(i,e,t){return e==33&&i.char(t+1)==91?i.append(new We(eo,t,t+2,1)):-1},LinkEnd(i,e,t){if(e!=93)return-1;for(let n=i.parts.length-1;n>=0;n--){let r=i.parts[n];if(r instanceof We&&(r.type==Ii||r.type==eo)){if(!r.side||i.skipSpace(r.to)==t&&!/[(\[]/.test(i.slice(t+1,t+2)))return i.parts[n]=null,-1;let s=i.takeContent(n),o=i.parts[n]=oy(i,s,r.type==Ii?A.Link:A.Image,r.from,t+1);if(r.type==Ii)for(let a=0;ae?ne(A.URL,e+t,s+t):s==i.length?null:!1}}function Dd(i,e,t){let n=i.charCodeAt(e);if(n!=39&&n!=34&&n!=40)return!1;let r=n==40?41:n;for(let s=e+1,o=!1;s=this.end?-1:this.text.charCodeAt(e-this.offset)}get end(){return this.offset+this.text.length}slice(e,t){return this.text.slice(e-this.offset,t-this.offset)}append(e){return this.parts.push(e),e.to}addDelimiter(e,t,n,r,s){return this.append(new We(e,t,n,(r?1:0)|(s?2:0)))}get hasOpenLink(){for(let e=this.parts.length-1;e>=0;e--){let t=this.parts[e];if(t instanceof We&&(t.type==Ii||t.type==eo))return!0}return!1}addElement(e){return this.append(e)}resolveMarkers(e){for(let n=e;n=e;l--){let p=this.parts[l];if(p instanceof We&&p.side&1&&p.type==r.type&&!(s&&(r.side&1||p.side&2)&&(p.to-p.from+o)%3==0&&((p.to-p.from)%3||o%3))){a=p;break}}if(!a)continue;let c=r.type.resolve,h=[],f=a.from,u=r.to;if(s){let p=Math.min(2,a.to-a.from,o);f=a.to-p,u=r.from+p,c=p==1?"Emphasis":"StrongEmphasis"}a.type.mark&&h.push(this.elt(a.type.mark,f,a.to));for(let p=l+1;p=0;t--){let n=this.parts[t];if(n instanceof We&&n.type==e&&n.side&1)return t}return null}takeContent(e){let t=this.resolveMarkers(e);return this.parts.length=e,t}getDelimiterAt(e){let t=this.parts[e];return t instanceof We?t:null}skipSpace(e){return br(this.text,e-this.offset)+this.offset}elt(e,t,n,r){return typeof e=="string"?ne(this.parser.getNodeType(e),t,n,r):new Js(e,t)}};xr.linkStart=Ii;xr.imageStart=eo;function ic(i,e){if(!e.length)return i;if(!i.length)return e;let t=i.slice(),n=0;for(let r of e){for(;n(e?e-1:0))return!1;if(this.fragmentEnd<0){let s=this.fragment.to;for(;s>0&&this.input.read(s-1,s)!=` -`;)s--;this.fragmentEnd=s?s-1:0}let n=this.cursor;n||(n=this.cursor=this.fragment.tree.cursor(),n.firstChild());let r=e+this.fragment.offset;for(;n.to<=r;)if(!n.parent())return!1;for(;;){if(n.from>=r)return this.fragment.from<=t;if(!n.childAfter(r))return!1}}matches(e){let t=this.cursor.tree;return t&&t.prop(I.contextHash)==e}takeNodes(e){let t=this.cursor,n=this.fragment.offset,r=this.fragmentEnd-(this.fragment.openEnd?1:0),s=e.absoluteLineStart,o=s,a=e.block.children.length,l=o,c=a;for(;;){if(t.to-n>r){if(t.type.isAnonymous&&t.firstChild())continue;break}let h=Id(t.from-n,e.ranges);if(t.to-n<=e.ranges[e.rangeI].to)e.addNode(t.tree,h);else{let f=new K(e.parser.nodeSet.types[A.Paragraph],[],[],0,e.block.hashProp);e.reusePlaceholders.set(f,t.tree),e.addNode(f,h)}if(t.type.is("Block")&&(ay.indexOf(t.type.id)<0?(o=t.to-n,a=e.block.children.length):(o=l,a=c),l=t.to-n,c=e.block.children.length),!t.nextSibling())break}for(;e.block.children.length>a;)e.block.children.pop(),e.block.positions.pop();return o-s}};function Id(i,e){let t=i;for(let n=1;nNs[i]),Object.keys(Ns).map(i=>zd[i]),Object.keys(Ns),ry,Td,Object.keys(Ul).map(i=>Ul[i]),Object.keys(Ul),[]);function cy(i,e,t){let n=[];for(let r=i.firstChild,s=e;;r=r.nextSibling){let o=r?r.from:t;if(o>s&&n.push({from:s,to:o}),!r)break;s=r.to}return n}function Ud(i){let{codeParser:e,htmlParser:t}=i;return{wrap:bn((r,s)=>{let o=r.type.id;if(e&&(o==A.CodeBlock||o==A.FencedCode)){let a="";if(o==A.FencedCode){let c=r.node.getChild(A.CodeInfo);c&&(a=s.read(c.from,c.to))}let l=e(a);if(l)return{parser:l,overlay:c=>c.type.id==A.CodeText,bracketed:o==A.FencedCode}}else if(t&&(o==A.HTMLBlock||o==A.HTMLTag||o==A.CommentBlock))return{parser:t,overlay:cy(r.node,r.from,r.to)};return null})}}var hy={resolve:"Strikethrough",mark:"StrikethroughMark"},fy={defineNodes:[{name:"Strikethrough",style:{"Strikethrough/...":d.strikethrough}},{name:"StrikethroughMark",style:d.processingInstruction}],parseInline:[{name:"Strikethrough",parse(i,e,t){if(e!=126||i.char(t+1)!=126||i.char(t+2)==126)return-1;let n=i.slice(t-1,t),r=i.slice(t+2,t+3),s=/\s|^$/.test(n),o=/\s|^$/.test(r),a=kr.test(n),l=kr.test(r);return i.addDelimiter(hy,t,t+2,!o&&(!l||s||a),!s&&(!a||o||l))},after:"Emphasis"}]};function Sr(i,e,t=0,n,r=0){let s=0,o=!0,a=-1,l=-1,c=!1,h=()=>{n.push(i.elt("TableCell",r+a,r+l,i.parser.parseInline(e.slice(a,l),r+a)))};for(let f=t;f-1)&&s++,o=!1,n&&(a>-1&&h(),n.push(i.elt("TableDelimiter",f+r,f+r+1))),a=l=-1):(c||u!=32&&u!=9)&&(a<0&&(a=f),l=f+1),c=!c&&u==92}return a>-1&&(s++,n&&h()),s}function yd(i,e){for(let t=e;t\s]*\|?(\s*:?-+:?\s*\|)+(\s*:?-+:?\s*)?$/,to=class{constructor(){this.rows=null}nextLine(e,t,n){if(this.rows==null){this.rows=!1;let r;if((t.next==45||t.next==58||t.next==124)&&Gd.test(r=t.text.slice(t.pos))){let s=[];Sr(e,n.content,0,s,n.start)==Sr(e,r,0)&&(this.rows=[e.elt("TableHeader",n.start,n.start+n.content.length,s),e.elt("TableDelimiter",e.lineStart+t.pos,e.lineStart+t.text.length)])}}else if(this.rows){let r=[];Sr(e,t.text,t.pos,r,e.lineStart),this.rows.push(e.elt("TableRow",e.lineStart+t.pos,e.lineStart+t.text.length,r))}return!1}finish(e,t){return this.rows?(e.addLeafElement(t,e.elt("Table",t.start,t.start+t.content.length,this.rows)),!0):!1}},uy={defineNodes:[{name:"Table",block:!0},{name:"TableHeader",style:{"TableHeader/...":d.heading}},"TableRow",{name:"TableCell",style:d.content},{name:"TableDelimiter",style:d.processingInstruction}],parseBlock:[{name:"Table",leaf(i,e){return yd(e.content,0)?new to:null},endLeaf(i,e,t){if(t.parsers.some(r=>r instanceof to)||!yd(e.text,e.basePos))return!1;let n=i.peekLine();return Gd.test(n)&&Sr(i,e.text,e.basePos)==Sr(i,n,e.basePos)},before:"SetextHeading"}]},rc=class{nextLine(){return!1}finish(e,t){return e.addLeafElement(t,e.elt("Task",t.start,t.start+t.content.length,[e.elt("TaskMarker",t.start,t.start+3),...e.parser.parseInline(t.content.slice(3),t.start+3)])),!0}},Oy={defineNodes:[{name:"Task",block:!0,style:d.list},{name:"TaskMarker",style:d.atom}],parseBlock:[{name:"TaskList",leaf(i,e){return/^\[[ xX]\][ \t]/.test(e.content)&&i.parentType().name=="ListItem"?new rc:null},after:"SetextHeading"}]},kd=/(www\.)|(https?:\/\/)|([\w.+-]{1,100}@)|(mailto:|xmpp:)/gy,xd=/[\w-]+(\.[\w-]+)+(:\d+)?(\/[^\s<]*)?/gy,dy=/[\w-]+\.[\w-]+($|[/:])/,wd=/[\w.+-]+@[\w-]+(\.[\w.-]+)+/gy,Pd=/\/[a-zA-Z\d@.]+/gy;function vd(i,e,t,n){let r=0;for(let s=e;s-1)return-1;let n=e+t[0].length;for(;;){let r=i[n-1],s;if(/[?!.,:*_~]/.test(r)||r==")"&&vd(i,e,n,")")>vd(i,e,n,"("))n--;else if(r==";"&&(s=/&(?:#\d+|#x[a-f\d]+|\w+);$/.exec(i.slice(e,n))))n=e+s.index;else break}return n}function $d(i,e){wd.lastIndex=e;let t=wd.exec(i);if(!t)return-1;let n=t[0][t[0].length-1];return n=="_"||n=="-"?-1:e+t[0].length-(n=="."?1:0)}var my={parseInline:[{name:"Autolink",parse(i,e,t){let n=t-i.offset;if(n&&/\w/.test(i.text[n-1]))return-1;kd.lastIndex=n;let r=kd.exec(i.text),s=-1;if(!r)return-1;if(r[1]||r[2]){if(s=py(i.text,n+r[0].length),s>-1&&i.hasOpenLink){let o=/([^\[\]]|\[[^\]]*\])*/.exec(i.text.slice(n,s));s=n+o[0].length}}else r[3]?s=$d(i.text,n):(s=$d(i.text,n+r[0].length),s>-1&&r[0]=="xmpp:"&&(Pd.lastIndex=s,r=Pd.exec(i.text),r&&(s=r.index+r[0].length)));return s<0?-1:(i.addElement(i.elt("URL",t,s+i.offset)),s+i.offset)}}]},Nd=[uy,Oy,fy,my];function Fd(i,e,t){return(n,r,s)=>{if(r!=i||n.char(s+1)==i)return-1;let o=[n.elt(t,s,s+1)];for(let a=s+1;at%3==0).concat(this.state)}]@${this.pos}${this.score?"!"+this.score:""}`}static start(e,t,n=0){let r=e.parser.context;return new i(e,[],t,n,n,0,[],0,r?new io(r,r.start):null,0,null)}get context(){return this.curContext?this.curContext.context:null}pushState(e,t){this.stack.push(this.state,t,this.bufferBase+this.buffer.length),this.state=e}reduce(e){var t;let n=e>>19,r=e&65535,{parser:s}=this.p,o=this.reducePos=2e3&&!(!((t=this.p.parser.nodeSet.types[r])===null||t===void 0)&&t.isAnonymous)&&(c==this.p.lastBigReductionStart?(this.p.bigReductionCount++,this.p.lastBigReductionSize=h):this.p.lastBigReductionSizel;)this.stack.pop();this.reduceContext(r,c)}storeNode(e,t,n,r=4,s=!1){if(e==0&&(!this.stack.length||this.stack[this.stack.length-1]0&&this.buffer[o-4]==0&&this.buffer[o-1]>-1){if(t==n)return;if(this.buffer[o-2]>=t){this.buffer[o-2]=n;return}}}if(!s||this.pos==n)this.buffer.push(e,t,n,r);else{let o=this.buffer.length;if(o>0&&(this.buffer[o-4]!=0||this.buffer[o-1]<0)){let a=!1;for(let l=o;l>0&&this.buffer[l-2]>n;l-=4)if(this.buffer[l-1]>=0){a=!0;break}if(a)for(;o>0&&this.buffer[o-2]>n;)this.buffer[o]=this.buffer[o-4],this.buffer[o+1]=this.buffer[o-3],this.buffer[o+2]=this.buffer[o-2],this.buffer[o+3]=this.buffer[o-1],o-=4,r>4&&(r-=4)}this.buffer[o]=e,this.buffer[o+1]=t,this.buffer[o+2]=n,this.buffer[o+3]=r}}shift(e,t,n,r){if(e&131072)this.pushState(e&65535,this.pos);else if((e&262144)==0){let s=e,{parser:o}=this.p;this.pos=r;let a=o.stateFlag(s,1);!a&&(r>n||t<=o.maxNode)&&(this.reducePos=r),this.pushState(s,a?n:Math.min(n,this.reducePos)),this.shiftContext(t,n),t<=o.maxNode&&this.buffer.push(t,n,r,4)}else this.pos=r,this.shiftContext(t,n),t<=this.p.parser.maxNode&&this.buffer.push(t,n,r,4)}apply(e,t,n,r){e&65536?this.reduce(e):this.shift(e,t,n,r)}useNode(e,t){let n=this.p.reused.length-1;(n<0||this.p.reused[n]!=e)&&(this.p.reused.push(e),n++);let r=this.pos;this.reducePos=this.pos=r+e.length,this.pushState(t,r),this.buffer.push(n,r,this.reducePos,-1),this.curContext&&this.updateContext(this.curContext.tracker.reuse(this.curContext.context,e,this,this.p.stream.reset(this.pos-e.length)))}split(){let e=this,t=e.buffer.length;for(t&&e.buffer[t-4]==0&&(t-=4);t>0&&e.buffer[t-2]>e.reducePos;)t-=4;let n=e.buffer.slice(t),r=e.bufferBase+t;for(;e&&r==e.bufferBase;)e=e.parent;return new i(this.p,this.stack.slice(),this.state,this.reducePos,this.pos,this.score,n,r,this.curContext,this.lookAhead,e)}recoverByDelete(e,t){let n=e<=this.p.parser.maxNode;n&&this.storeNode(e,this.pos,t,4),this.storeNode(0,this.pos,t,n?8:4),this.pos=this.reducePos=t,this.score-=190}canShift(e){for(let t=new fc(this);;){let n=this.p.parser.stateSlot(t.state,4)||this.p.parser.hasAction(t.state,e);if(n==0)return!1;if((n&65536)==0)return!0;t.reduce(n)}}recoverByInsert(e){if(this.stack.length>=300)return[];let t=this.p.parser.nextStates(this.state);if(t.length>8||this.stack.length>=120){let r=[];for(let s=0,o;sl&1&&a==o)||r.push(t[s],o)}t=r}let n=[];for(let r=0;r>19,r=t&65535,s=this.stack.length-n*3;if(s<0||e.getGoto(this.stack[s],r,!1)<0){let o=this.findForcedReduction();if(o==null)return!1;t=o}this.storeNode(0,this.pos,this.pos,4,!0),this.score-=100}return this.reducePos=this.pos,this.reduce(t),!0}findForcedReduction(){let{parser:e}=this.p,t=[],n=(r,s)=>{if(!t.includes(r))return t.push(r),e.allActions(r,o=>{if(!(o&393216))if(o&65536){let a=(o>>19)-s;if(a>1){let l=o&65535,c=this.stack.length-a*3;if(c>=0&&e.getGoto(this.stack[c],l,!1)>=0)return a<<19|65536|l}}else{let a=n(o,s+1);if(a!=null)return a}})};return n(this.state,0)}forceAll(){for(;!this.p.parser.stateFlag(this.state,2);)if(!this.forceReduce()){this.storeNode(0,this.pos,this.pos,4,!0);break}return this}get deadEnd(){if(this.stack.length!=3)return!1;let{parser:e}=this.p;return e.data[e.stateSlot(this.state,1)]==65535&&!e.stateSlot(this.state,4)}restart(){this.storeNode(0,this.pos,this.pos,4,!0),this.state=this.stack[0],this.stack.length=0}sameState(e){if(this.state!=e.state||this.stack.length!=e.stack.length)return!1;for(let t=0;t0&&this.emitLookAhead()}},io=class{constructor(e,t){this.tracker=e,this.context=t,this.hash=e.strict?e.hash(t):0}},fc=class{constructor(e){this.start=e,this.state=e.state,this.stack=e.stack,this.base=this.stack.length}reduce(e){let t=e&65535,n=e>>19;n==0?(this.stack==this.start.stack&&(this.stack=this.stack.slice()),this.stack.push(this.state,0,0),this.base+=3):this.base-=(n-1)*3;let r=this.start.p.parser.getGoto(this.stack[this.base-3],t,!0);this.state=r}},uc=class i{constructor(e,t,n){this.stack=e,this.pos=t,this.index=n,this.buffer=e.buffer,this.index==0&&this.maybeNext()}static create(e,t=e.bufferBase+e.buffer.length){return new i(e,t,t-e.bufferBase)}maybeNext(){let e=this.stack.parent;e!=null&&(this.index=this.stack.bufferBase-e.bufferBase,this.stack=e,this.buffer=e.buffer)}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}next(){this.index-=4,this.pos-=4,this.index==0&&this.maybeNext()}fork(){return new i(this.stack,this.pos,this.index)}};function wr(i,e=Uint16Array){if(typeof i!="string")return i;let t=null;for(let n=0,r=0;n=92&&o--,o>=34&&o--;let l=o-32;if(l>=46&&(l-=46,a=!0),s+=l,a)break;s*=46}t?t[r++]=s:t=new e(s)}return t}var vn=class{constructor(){this.start=-1,this.value=-1,this.end=-1,this.extended=-1,this.lookAhead=0,this.mask=0,this.context=0}},ep=new vn,Oc=class{constructor(e,t){this.input=e,this.ranges=t,this.chunk="",this.chunkOff=0,this.chunk2="",this.chunk2Pos=0,this.next=-1,this.token=ep,this.rangeIndex=0,this.pos=this.chunkPos=t[0].from,this.range=t[0],this.end=t[t.length-1].to,this.readNext()}resolveOffset(e,t){let n=this.range,r=this.rangeIndex,s=this.pos+e;for(;sn.to:s>=n.to;){if(r==this.ranges.length-1)return null;let o=this.ranges[++r];s+=o.from-n.to,n=o}return s}clipPos(e){if(e>=this.range.from&&ee)return Math.max(e,t.from);return this.end}peek(e){let t=this.chunkOff+e,n,r;if(t>=0&&t=this.chunk2Pos&&na.to&&(this.chunk2=this.chunk2.slice(0,a.to-n)),r=this.chunk2.charCodeAt(0)}}return n>=this.token.lookAhead&&(this.token.lookAhead=n+1),r}acceptToken(e,t=0){let n=t?this.resolveOffset(t,-1):this.pos;if(n==null||n=this.chunk2Pos&&this.posthis.range.to?e.slice(0,this.range.to-this.pos):e,this.chunkPos=this.pos,this.chunkOff=0}}readNext(){return this.chunkOff>=this.chunk.length&&(this.getChunk(),this.chunkOff==this.chunk.length)?this.next=-1:this.next=this.chunk.charCodeAt(this.chunkOff)}advance(e=1){for(this.chunkOff+=e;this.pos+e>=this.range.to;){if(this.rangeIndex==this.ranges.length-1)return this.setDone();e-=this.range.to-this.pos,this.range=this.ranges[++this.rangeIndex],this.pos=this.range.from}return this.pos+=e,this.pos>=this.token.lookAhead&&(this.token.lookAhead=this.pos+1),this.readNext()}setDone(){return this.pos=this.chunkPos=this.end,this.range=this.ranges[this.rangeIndex=this.ranges.length-1],this.chunk="",this.next=-1}reset(e,t){if(t?(this.token=t,t.start=e,t.lookAhead=e+1,t.value=t.extended=-1):this.token=ep,this.pos!=e){if(this.pos=e,e==this.end)return this.setDone(),this;for(;e=this.range.to;)this.range=this.ranges[++this.rangeIndex];e>=this.chunkPos&&e=this.chunkPos&&t<=this.chunkPos+this.chunk.length)return this.chunk.slice(e-this.chunkPos,t-this.chunkPos);if(e>=this.chunk2Pos&&t<=this.chunk2Pos+this.chunk2.length)return this.chunk2.slice(e-this.chunk2Pos,t-this.chunk2Pos);if(e>=this.range.from&&t<=this.range.to)return this.input.read(e,t);let n="";for(let r of this.ranges){if(r.from>=t)break;r.to>e&&(n+=this.input.read(Math.max(r.from,e),Math.min(r.to,t)))}return n}},bi=class{constructor(e,t){this.data=e,this.id=t}token(e,t){let{parser:n}=t.p;sp(this.data,e,t,this.id,n.data,n.tokenPrecTable)}};bi.prototype.contextual=bi.prototype.fallback=bi.prototype.extend=!1;var Si=class{constructor(e,t,n){this.precTable=t,this.elseToken=n,this.data=typeof e=="string"?wr(e):e}token(e,t){let n=e.pos,r=0;for(;;){let s=e.next<0,o=e.resolveOffset(1,1);if(sp(this.data,e,t,0,this.data,this.precTable),e.token.value>-1)break;if(this.elseToken==null)return;if(s||r++,o==null)break;e.reset(o,e.token)}r&&(e.reset(n,e.token),e.acceptToken(this.elseToken,r))}};Si.prototype.contextual=bi.prototype.fallback=bi.prototype.extend=!1;var ee=class{constructor(e,t={}){this.token=e,this.contextual=!!t.contextual,this.fallback=!!t.fallback,this.extend=!!t.extend}};function sp(i,e,t,n,r,s){let o=0,a=1<0){let m=i[O];if(l.allows(m)&&(e.token.value==-1||e.token.value==m||Qy(m,e.token.value,r,s))){e.acceptToken(m);break}}let h=e.next,f=0,u=i[o+2];if(e.next<0&&u>f&&i[c+u*3-3]==65535){o=i[c+u*3-1];continue e}for(;f>1,m=c+O+(O<<1),p=i[m],b=i[m+1]||65536;if(h=b)f=O+1;else{o=i[m+2],e.advance();continue e}}break}}function tp(i,e,t){for(let n=e,r;(r=i[n])!=65535;n++)if(r==t)return n-e;return-1}function Qy(i,e,t,n){let r=tp(t,n,e);return r<0||tp(t,n,i)e)&&!n.type.isError)return t<0?Math.max(0,Math.min(n.to-1,e-25)):Math.min(i.length,Math.max(n.from+1,e+25));if(t<0?n.prevSibling():n.nextSibling())break;if(!n.parent())return t<0?0:i.length}}var dc=class{constructor(e,t){this.fragments=e,this.nodeSet=t,this.i=0,this.fragment=null,this.safeFrom=-1,this.safeTo=-1,this.trees=[],this.start=[],this.index=[],this.nextFragment()}nextFragment(){let e=this.fragment=this.i==this.fragments.length?null:this.fragments[this.i++];if(e){for(this.safeFrom=e.openStart?ip(e.tree,e.from+e.offset,1)-e.offset:e.from,this.safeTo=e.openEnd?ip(e.tree,e.to+e.offset,-1)-e.offset:e.to;this.trees.length;)this.trees.pop(),this.start.pop(),this.index.pop();this.trees.push(e.tree),this.start.push(-e.offset),this.index.push(0),this.nextStart=this.safeFrom}else this.nextStart=1e9}nodeAt(e){if(ee)return this.nextStart=o,null;if(s instanceof K){if(o==e){if(o=Math.max(this.safeFrom,e)&&(this.trees.push(s),this.start.push(o),this.index.push(0))}else this.index[t]++,this.nextStart=o+s.length}}},pc=class{constructor(e,t){this.stream=t,this.tokens=[],this.mainToken=null,this.actions=[],this.tokens=e.tokenizers.map(n=>new vn)}getActions(e){let t=0,n=null,{parser:r}=e.p,{tokenizers:s}=r,o=r.stateSlot(e.state,3),a=e.curContext?e.curContext.hash:0,l=0;for(let c=0;cf.end+25&&(l=Math.max(f.lookAhead,l)),f.value!=0)){let u=t;if(f.extended>-1&&(t=this.addActions(e,f.extended,f.end,t)),t=this.addActions(e,f.value,f.end,t),!h.extend&&(n=f,t>u))break}}for(;this.actions.length>t;)this.actions.pop();return l&&e.setLookAhead(l),!n&&e.pos==this.stream.end&&(n=new vn,n.value=e.p.parser.eofTerm,n.start=n.end=e.pos,t=this.addActions(e,n.value,n.end,t)),this.mainToken=n,this.actions}getMainToken(e){if(this.mainToken)return this.mainToken;let t=new vn,{pos:n,p:r}=e;return t.start=n,t.end=Math.min(n+1,r.stream.end),t.value=n==r.stream.end?r.parser.eofTerm:0,t}updateCachedToken(e,t,n){let r=this.stream.clipPos(n.pos);if(t.token(this.stream.reset(r,e),n),e.value>-1){let{parser:s}=n.p;for(let o=0;o=0&&n.p.parser.dialect.allows(a>>1)){(a&1)==0?e.value=a>>1:e.extended=a>>1;break}}}else e.value=0,e.end=this.stream.clipPos(r+1)}putAction(e,t,n,r){for(let s=0;se.bufferLength*4?new dc(n,e.nodeSet):null}get parsedPos(){return this.minStackPos}advance(){let e=this.stacks,t=this.minStackPos,n=this.stacks=[],r,s;if(this.bigReductionCount>300&&e.length==1){let[o]=e;for(;o.forceReduce()&&o.stack.length&&o.stack[o.stack.length-2]>=this.lastBigReductionStart;);this.bigReductionCount=this.lastBigReductionSize=0}for(let o=0;ot)n.push(a);else{if(this.advanceStack(a,n,e))continue;{r||(r=[],s=[]),r.push(a);let l=this.tokens.getMainToken(a);s.push(l.value,l.end)}}break}}if(!n.length){let o=r&&by(r);if(o)return Je&&console.log("Finish with "+this.stackID(o)),this.stackToTree(o);if(this.parser.strict)throw Je&&r&&console.log("Stuck with token "+(this.tokens.mainToken?this.parser.getName(this.tokens.mainToken.value):"none")),new SyntaxError("No parse at "+t);this.recovering||(this.recovering=5)}if(this.recovering&&r){let o=this.stoppedAt!=null&&r[0].pos>this.stoppedAt?r[0]:this.runRecovery(r,s,n);if(o)return Je&&console.log("Force-finish "+this.stackID(o)),this.stackToTree(o.forceAll())}if(this.recovering){let o=this.recovering==1?1:this.recovering*3;if(n.length>o)for(n.sort((a,l)=>l.score-a.score);n.length>o;)n.pop();n.some(a=>a.reducePos>t)&&this.recovering--}else if(n.length>1){e:for(let o=0;o500&&c.buffer.length>500)if((a.score-c.score||a.buffer.length-c.buffer.length)>0)n.splice(l--,1);else{n.splice(o--,1);continue e}}}n.length>12&&(n.sort((o,a)=>a.score-o.score),n.splice(12,n.length-12))}this.minStackPos=n[0].pos;for(let o=1;o ":"";if(this.stoppedAt!=null&&r>this.stoppedAt)return e.forceReduce()?e:null;if(this.fragments){let c=e.curContext&&e.curContext.tracker.strict,h=c?e.curContext.hash:0;for(let f=this.fragments.nodeAt(r);f;){let u=this.parser.nodeSet.types[f.type.id]==f.type?s.getGoto(e.state,f.type.id):-1;if(u>-1&&f.length&&(!c||(f.prop(I.contextHash)||0)==h))return e.useNode(f,u),Je&&console.log(o+this.stackID(e)+` (via reuse of ${s.getName(f.type.id)})`),!0;if(!(f instanceof K)||f.children.length==0||f.positions[0]>0)break;let O=f.children[0];if(O instanceof K&&f.positions[0]==0)f=O;else break}}let a=s.stateSlot(e.state,4);if(a>0)return e.reduce(a),Je&&console.log(o+this.stackID(e)+` (via always-reduce ${s.getName(a&65535)})`),!0;if(e.stack.length>=8400)for(;e.stack.length>6e3&&e.forceReduce(););let l=this.tokens.getActions(e);for(let c=0;cr?t.push(m):n.push(m)}return!1}advanceFully(e,t){let n=e.pos;for(;;){if(!this.advanceStack(e,null,null))return!1;if(e.pos>n)return np(e,t),!0}}runRecovery(e,t,n){let r=null,s=!1;for(let o=0;o ":"";if(a.deadEnd&&(s||(s=!0,a.restart(),Je&&console.log(h+this.stackID(a)+" (restarted)"),this.advanceFully(a,n))))continue;let f=a.split(),u=h;for(let O=0;O<10&&f.forceReduce()&&(Je&&console.log(u+this.stackID(f)+" (via force-reduce)"),!this.advanceFully(f,n));O++)Je&&(u=this.stackID(f)+" -> ");for(let O of a.recoverByInsert(l))Je&&console.log(h+this.stackID(O)+" (via recover-insert)"),this.advanceFully(O,n);this.stream.end>a.pos?(c==a.pos&&(c++,l=0),a.recoverByDelete(l,c),Je&&console.log(h+this.stackID(a)+` (via recover-delete ${this.parser.getName(l)})`),np(a,n)):(!r||r.scorei,mt=class{constructor(e){this.start=e.start,this.shift=e.shift||cc,this.reduce=e.reduce||cc,this.reuse=e.reuse||cc,this.hash=e.hash||(()=>0),this.strict=e.strict!==!1}},ve=class i extends It{constructor(e){if(super(),this.wrappers=[],e.version!=14)throw new RangeError(`Parser version (${e.version}) doesn't match runtime version (14)`);let t=e.nodeNames.split(" ");this.minRepeatTerm=t.length;for(let a=0;ae.topRules[a][1]),r=[];for(let a=0;a=0)s(h,l,a[c++]);else{let f=a[c+-h];for(let u=-h;u>0;u--)s(a[c++],l,f);c++}}}this.nodeSet=new Dt(t.map((a,l)=>de.define({name:l>=this.minRepeatTerm?void 0:a,id:l,props:r[l],top:n.indexOf(l)>-1,error:l==0,skipped:e.skippedNodes&&e.skippedNodes.indexOf(l)>-1}))),e.propSources&&(this.nodeSet=this.nodeSet.extend(...e.propSources)),this.strict=!1,this.bufferLength=1024;let o=wr(e.tokenData);this.context=e.context,this.specializerSpecs=e.specialized||[],this.specialized=new Uint16Array(this.specializerSpecs.length);for(let a=0;atypeof a=="number"?new bi(o,a):a),this.topRules=e.topRules,this.dialects=e.dialects||{},this.dynamicPrecedences=e.dynamicPrecedences||null,this.tokenPrecTable=e.tokenPrec,this.termNames=e.termNames||null,this.maxNode=this.nodeSet.types.length-1,this.dialect=this.parseDialect(),this.top=this.topRules[Object.keys(this.topRules)[0]]}createParse(e,t,n){let r=new mc(this,e,t,n);for(let s of this.wrappers)r=s(r,e,t,n);return r}getGoto(e,t,n=!1){let r=this.goto;if(t>=r[0])return-1;for(let s=r[t+1];;){let o=r[s++],a=o&1,l=r[s++];if(a&&n)return l;for(let c=s+(o>>1);s0}validAction(e,t){return!!this.allActions(e,n=>n==t?!0:null)}allActions(e,t){let n=this.stateSlot(e,4),r=n?t(n):void 0;for(let s=this.stateSlot(e,1);r==null;s+=3){if(this.data[s]==65535)if(this.data[s+1]==1)s=Ut(this.data,s+2);else break;r=t(Ut(this.data,s+1))}return r}nextStates(e){let t=[];for(let n=this.stateSlot(e,1);;n+=3){if(this.data[n]==65535)if(this.data[n+1]==1)n=Ut(this.data,n+2);else break;if((this.data[n+2]&1)==0){let r=this.data[n+1];t.some((s,o)=>o&1&&s==r)||t.push(this.data[n],r)}}return t}configure(e){let t=Object.assign(Object.create(i.prototype),this);if(e.props&&(t.nodeSet=this.nodeSet.extend(...e.props)),e.top){let n=this.topRules[e.top];if(!n)throw new RangeError(`Invalid top rule name ${e.top}`);t.top=n}return e.tokenizers&&(t.tokenizers=this.tokenizers.map(n=>{let r=e.tokenizers.find(s=>s.from==n);return r?r.to:n})),e.specializers&&(t.specializers=this.specializers.slice(),t.specializerSpecs=this.specializerSpecs.map((n,r)=>{let s=e.specializers.find(a=>a.from==n.external);if(!s)return n;let o=Object.assign(Object.assign({},n),{external:s.to});return t.specializers[r]=rp(o),o})),e.contextTracker&&(t.context=e.contextTracker),e.dialect&&(t.dialect=this.parseDialect(e.dialect)),e.strict!=null&&(t.strict=e.strict),e.wrap&&(t.wrappers=t.wrappers.concat(e.wrap)),e.bufferLength!=null&&(t.bufferLength=e.bufferLength),t}hasWrappers(){return this.wrappers.length>0}getName(e){return this.termNames?this.termNames[e]:String(e<=this.maxNode&&this.nodeSet.types[e].name||e)}get eofTerm(){return this.maxNode+1}get topNode(){return this.nodeSet.types[this.top[1]]}dynamicPrecedence(e){let t=this.dynamicPrecedences;return t==null?0:t[e]||0}parseDialect(e){let t=Object.keys(this.dialects),n=t.map(()=>!1);if(e)for(let s of e.split(" ")){let o=t.indexOf(s);o>=0&&(n[o]=!0)}let r=null;for(let s=0;sn)&&t.p.parser.stateFlag(t.state,2)&&(!e||e.scorei.external(t,n)<<1|e}return i.get}var Sy=55,yy=1,ky=56,xy=2,wy=57,Py=3,op=4,vy=5,kc=6,dp=7,pp=8,mp=9,gp=10,$y=11,Ty=12,Cy=13,Qc=58,Xy=14,_y=15,ap=59,Qp=21,Ry=23,bp=24,Ay=25,Sc=27,Sp=28,Zy=29,Ey=32,qy=35,zy=37,Ly=38,My=0,Wy=1,jy={area:!0,base:!0,br:!0,col:!0,command:!0,embed:!0,frame:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0,menuitem:!0},Vy={dd:!0,li:!0,optgroup:!0,option:!0,p:!0,rp:!0,rt:!0,tbody:!0,td:!0,tfoot:!0,th:!0,tr:!0},lp={dd:{dd:!0,dt:!0},dt:{dd:!0,dt:!0},li:{li:!0},option:{option:!0,optgroup:!0},optgroup:{optgroup:!0},p:{address:!0,article:!0,aside:!0,blockquote:!0,dir:!0,div:!0,dl:!0,fieldset:!0,footer:!0,form:!0,h1:!0,h2:!0,h3:!0,h4:!0,h5:!0,h6:!0,header:!0,hgroup:!0,hr:!0,menu:!0,nav:!0,ol:!0,p:!0,pre:!0,section:!0,table:!0,ul:!0},rp:{rp:!0,rt:!0},rt:{rp:!0,rt:!0},tbody:{tbody:!0,tfoot:!0},td:{td:!0,th:!0},tfoot:{tbody:!0},th:{td:!0,th:!0},thead:{tbody:!0,tfoot:!0},tr:{tr:!0}};function Dy(i){return i==45||i==46||i==58||i>=65&&i<=90||i==95||i>=97&&i<=122||i>=161}var cp=null,hp=null,fp=0;function yc(i,e){let t=i.pos+e;if(fp==t&&hp==i)return cp;let n=i.peek(e),r="";for(;Dy(n);)r+=String.fromCharCode(n),n=i.peek(++e);return hp=i,fp=t,cp=r?r.toLowerCase():n==Yy||n==Iy?void 0:null}var yp=60,no=62,xc=47,Yy=63,Iy=33,By=45;function up(i,e){this.name=i,this.parent=e}var Uy=[kc,gp,dp,pp,mp],Gy=new mt({start:null,shift(i,e,t,n){return Uy.indexOf(e)>-1?new up(yc(n,1)||"",i):i},reduce(i,e){return e==Qp&&i?i.parent:i},reuse(i,e,t,n){let r=e.type.id;return r==kc||r==zy?new up(yc(n,1)||"",i):i},strict:!1}),Ny=new ee((i,e)=>{if(i.next!=yp){i.next<0&&e.context&&i.acceptToken(Qc);return}i.advance();let t=i.next==xc;t&&i.advance();let n=yc(i,0);if(n===void 0)return;if(!n)return i.acceptToken(t?_y:Xy);let r=e.context?e.context.name:null;if(t){if(n==r)return i.acceptToken($y);if(r&&Vy[r])return i.acceptToken(Qc,-2);if(e.dialectEnabled(My))return i.acceptToken(Ty);for(let s=e.context;s;s=s.parent)if(s.name==n)return;i.acceptToken(Cy)}else{if(n=="script")return i.acceptToken(dp);if(n=="style")return i.acceptToken(pp);if(n=="textarea")return i.acceptToken(mp);if(jy.hasOwnProperty(n))return i.acceptToken(gp);r&&lp[r]&&lp[r][n]?i.acceptToken(Qc,-1):i.acceptToken(kc)}},{contextual:!0}),Fy=new ee(i=>{for(let e=0,t=0;;t++){if(i.next<0){t&&i.acceptToken(ap);break}if(i.next==By)e++;else if(i.next==no&&e>=2){t>=3&&i.acceptToken(ap,-2);break}else e=0;i.advance()}});function Hy(i){for(;i;i=i.parent)if(i.name=="svg"||i.name=="math")return!0;return!1}var Ky=new ee((i,e)=>{if(i.next==xc&&i.peek(1)==no){let t=e.dialectEnabled(Wy)||Hy(e.context);i.acceptToken(t?vy:op,2)}else i.next==no&&i.acceptToken(op,1)});function wc(i,e,t){let n=2+i.length;return new ee(r=>{for(let s=0,o=0,a=0;;a++){if(r.next<0){a&&r.acceptToken(e);break}if(s==0&&r.next==yp||s==1&&r.next==xc||s>=2&&so?r.acceptToken(e,-o):r.acceptToken(t,-(o-2));break}else if((r.next==10||r.next==13)&&a){r.acceptToken(e,1);break}else s=o=0;r.advance()}})}var Jy=wc("script",Sy,yy),ek=wc("style",ky,xy),tk=wc("textarea",wy,Py),ik=Qe({"Text RawText IncompleteTag IncompleteCloseTag":d.content,"StartTag StartCloseTag SelfClosingEndTag EndTag":d.angleBracket,TagName:d.tagName,"MismatchedCloseTag/TagName":[d.tagName,d.invalid],AttributeName:d.attributeName,"AttributeValue UnquotedAttributeValue":d.attributeValue,Is:d.definitionOperator,"EntityReference CharacterReference":d.character,Comment:d.blockComment,ProcessingInst:d.processingInstruction,DoctypeDecl:d.documentMeta}),kp=ve.deserialize({version:14,states:",xOVO!rOOO!ZQ#tO'#CrO!`Q#tO'#C{O!eQ#tO'#DOO!jQ#tO'#DRO!oQ#tO'#DTO!tOaO'#CqO#PObO'#CqO#[OdO'#CqO$kO!rO'#CqOOO`'#Cq'#CqO$rO$fO'#DUO$zQ#tO'#DWO%PQ#tO'#DXOOO`'#Dl'#DlOOO`'#DZ'#DZQVO!rOOO%UQ&rO,59^O%aQ&rO,59gO%lQ&rO,59jO%wQ&rO,59mO&SQ&rO,59oOOOa'#D_'#D_O&_OaO'#CyO&jOaO,59]OOOb'#D`'#D`O&rObO'#C|O&}ObO,59]OOOd'#Da'#DaO'VOdO'#DPO'bOdO,59]OOO`'#Db'#DbO'jO!rO,59]O'qQ#tO'#DSOOO`,59],59]OOOp'#Dc'#DcO'vO$fO,59pOOO`,59p,59pO(OQ#|O,59rO(TQ#|O,59sOOO`-E7X-E7XO(YQ&rO'#CtOOQW'#D['#D[O(hQ&rO1G.xOOOa1G.x1G.xOOO`1G/Z1G/ZO(sQ&rO1G/ROOOb1G/R1G/RO)OQ&rO1G/UOOOd1G/U1G/UO)ZQ&rO1G/XOOO`1G/X1G/XO)fQ&rO1G/ZOOOa-E7]-E7]O)qQ#tO'#CzOOO`1G.w1G.wOOOb-E7^-E7^O)vQ#tO'#C}OOOd-E7_-E7_O){Q#tO'#DQOOO`-E7`-E7`O*QQ#|O,59nOOOp-E7a-E7aOOO`1G/[1G/[OOO`1G/^1G/^OOO`1G/_1G/_O*VQ,UO,59`OOQW-E7Y-E7YOOOa7+$d7+$dOOO`7+$u7+$uOOOb7+$m7+$mOOOd7+$p7+$pOOO`7+$s7+$sO*bQ#|O,59fO*gQ#|O,59iO*lQ#|O,59lOOO`1G/Y1G/YO*qO7[O'#CwO+SOMhO'#CwOOQW1G.z1G.zOOO`1G/Q1G/QOOO`1G/T1G/TOOO`1G/W1G/WOOOO'#D]'#D]O+eO7[O,59cOOQW,59c,59cOOOO'#D^'#D^O+vOMhO,59cOOOO-E7Z-E7ZOOQW1G.}1G.}OOOO-E7[-E7[",stateData:",c~O!_OS~OUSOVPOWQOXROYTO[]O][O^^O_^Oa^Ob^Oc^Od^Oy^O|_O!eZO~OgaO~OgbO~OgcO~OgdO~OgeO~O!XfOPmP![mP~O!YiOQpP![pP~O!ZlORsP![sP~OUSOVPOWQOXROYTOZqO[]O][O^^O_^Oa^Ob^Oc^Od^Oy^O!eZO~O![rO~P#gO!]sO!fuO~OgvO~OgwO~OS|OT}OiyO~OS!POT}OiyO~OS!ROT}OiyO~OS!TOT}OiyO~OS}OT}OiyO~O!XfOPmX![mX~OP!WO![!XO~O!YiOQpX![pX~OQ!ZO![!XO~O!ZlORsX![sX~OR!]O![!XO~O![!XO~P#gOg!_O~O!]sO!f!aO~OS!bO~OS!cO~Oj!dOShXThXihX~OS!fOT!gOiyO~OS!hOT!gOiyO~OS!iOT!gOiyO~OS!jOT!gOiyO~OS!gOT!gOiyO~Og!kO~Og!lO~Og!mO~OS!nO~Ol!qO!a!oO!c!pO~OS!rO~OS!sO~OS!tO~Ob!uOc!uOd!uO!a!wO!b!uO~Ob!xOc!xOd!xO!c!wO!d!xO~Ob!uOc!uOd!uO!a!{O!b!uO~Ob!xOc!xOd!xO!c!{O!d!xO~OT~cbd!ey|!e~",goto:"%q!aPPPPPPPPPPPPPPPPPPPPP!b!hP!nPP!zP!}#Q#T#Z#^#a#g#j#m#s#y!bP!b!bP$P$V$m$s$y%P%V%]%cPPPPPPPP%iX^OX`pXUOX`pezabcde{!O!Q!S!UR!q!dRhUR!XhXVOX`pRkVR!XkXWOX`pRnWR!XnXXOX`pQrXR!XpXYOX`pQ`ORx`Q{aQ!ObQ!QcQ!SdQ!UeZ!e{!O!Q!S!UQ!v!oR!z!vQ!y!pR!|!yQgUR!VgQjVR!YjQmWR![mQpXR!^pQtZR!`tS_O`ToXp",nodeNames:"\u26A0 StartCloseTag StartCloseTag StartCloseTag EndTag SelfClosingEndTag StartTag StartTag StartTag StartTag StartTag StartCloseTag StartCloseTag StartCloseTag IncompleteTag IncompleteCloseTag Document Text EntityReference CharacterReference InvalidEntity Element OpenTag TagName Attribute AttributeName Is AttributeValue UnquotedAttributeValue ScriptText CloseTag OpenTag StyleText CloseTag OpenTag TextareaText CloseTag OpenTag CloseTag SelfClosingTag Comment ProcessingInst MismatchedCloseTag CloseTag DoctypeDecl",maxTerm:68,context:Gy,nodeProps:[["closedBy",-10,1,2,3,7,8,9,10,11,12,13,"EndTag",6,"EndTag SelfClosingEndTag",-4,22,31,34,37,"CloseTag"],["openedBy",4,"StartTag StartCloseTag",5,"StartTag",-4,30,33,36,38,"OpenTag"],["group",-10,14,15,18,19,20,21,40,41,42,43,"Entity",17,"Entity TextContent",-3,29,32,35,"TextContent Entity"],["isolate",-11,22,30,31,33,34,36,37,38,39,42,43,"ltr",-3,27,28,40,""]],propSources:[ik],skippedNodes:[0],repeatNodeCount:9,tokenData:"!]tw8twx7Sx!P8t!P!Q5u!Q!]8t!]!^/^!^!a7S!a#S8t#S#T;{#T#s8t#s$f5u$f;'S8t;'S;=`>V<%l?Ah8t?Ah?BY5u?BY?Mn8t?MnO5u!Z5zblWOX5uXZ7SZ[5u[^7S^p5uqr5urs7Sst+Ptw5uwx7Sx!]5u!]!^7w!^!a7S!a#S5u#S#T7S#T;'S5u;'S;=`8n<%lO5u!R7VVOp7Sqs7St!]7S!]!^7l!^;'S7S;'S;=`7q<%lO7S!R7qOb!R!R7tP;=`<%l7S!Z8OYlWb!ROX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+P!Z8qP;=`<%l5u!_8{iiSlWOX5uXZ7SZ[5u[^7S^p5uqr8trs7Sst/^tw8twx7Sx!P8t!P!Q5u!Q!]8t!]!^:j!^!a7S!a#S8t#S#T;{#T#s8t#s$f5u$f;'S8t;'S;=`>V<%l?Ah8t?Ah?BY5u?BY?Mn8t?MnO5u!_:sbiSlWb!ROX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+P!VP<%l?Ah;{?Ah?BY7S?BY?Mn;{?MnO7S!V=dXiSb!Rqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0m!V>SP;=`<%l;{!_>YP;=`<%l8t!_>dhiSlWOX@OXZAYZ[@O[^AY^p@OqrBwrsAYswBwwxAYx!PBw!P!Q@O!Q!]Bw!]!^/^!^!aAY!a#SBw#S#TE{#T#sBw#s$f@O$f;'SBw;'S;=`HS<%l?AhBw?Ah?BY@O?BY?MnBw?MnO@O!Z@TalWOX@OXZAYZ[@O[^AY^p@Oqr@OrsAYsw@OwxAYx!]@O!]!^Az!^!aAY!a#S@O#S#TAY#T;'S@O;'S;=`Bq<%lO@O!RA]UOpAYq!]AY!]!^Ao!^;'SAY;'S;=`At<%lOAY!RAtOc!R!RAwP;=`<%lAY!ZBRYlWc!ROX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+P!ZBtP;=`<%l@O!_COhiSlWOX@OXZAYZ[@O[^AY^p@OqrBwrsAYswBwwxAYx!PBw!P!Q@O!Q!]Bw!]!^Dj!^!aAY!a#SBw#S#TE{#T#sBw#s$f@O$f;'SBw;'S;=`HS<%l?AhBw?Ah?BY@O?BY?MnBw?MnO@O!_DsbiSlWc!ROX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+P!VFQbiSOpAYqrE{rsAYswE{wxAYx!PE{!P!QAY!Q!]E{!]!^GY!^!aAY!a#sE{#s$fAY$f;'SE{;'S;=`G|<%l?AhE{?Ah?BYAY?BY?MnE{?MnOAY!VGaXiSc!Rqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0m!VHPP;=`<%lE{!_HVP;=`<%lBw!ZHcW!cxaP!b`Or(trs'ksv(tw!^(t!^!_)e!_;'S(t;'S;=`*P<%lO(t!aIYliSaPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx}-_}!OKQ!O!P-_!P!Q$q!Q!^-_!^!_*V!_!a&X!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q!aK_kiSaPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx!P-_!P!Q$q!Q!^-_!^!_*V!_!`&X!`!aMS!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q!TM_XaP!b`!dp!fQOr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&X!aNZ!ZiSgQaPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx}-_}!OMz!O!PMz!P!Q$q!Q![Mz![!]Mz!]!^-_!^!_*V!_!a&X!a!c-_!c!}Mz!}#R-_#R#SMz#S#T1k#T#oMz#o#s-_#s$f$q$f$}-_$}%OMz%O%W-_%W%oMz%o%p-_%p&aMz&a&b-_&b1pMz1p4UMz4U4dMz4d4e-_4e$ISMz$IS$I`-_$I`$IbMz$Ib$Je-_$Je$JgMz$Jg$Kh-_$Kh%#tMz%#t&/x-_&/x&EtMz&Et&FV-_&FV;'SMz;'S;:j!#|;:j;=`3X<%l?&r-_?&r?AhMz?Ah?BY$q?BY?MnMz?MnO$q!a!$PP;=`<%lMz!R!$ZY!b`!dpOq*Vqr!$yrs(Vsv*Vwx)ex!a*V!a!b!4t!b;'S*V;'S;=`*s<%lO*V!R!%Q]!b`!dpOr*Vrs(Vsv*Vwx)ex}*V}!O!%y!O!f*V!f!g!']!g#W*V#W#X!0`#X;'S*V;'S;=`*s<%lO*V!R!&QX!b`!dpOr*Vrs(Vsv*Vwx)ex}*V}!O!&m!O;'S*V;'S;=`*s<%lO*V!R!&vV!b`!dp!ePOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!'dX!b`!dpOr*Vrs(Vsv*Vwx)ex!q*V!q!r!(P!r;'S*V;'S;=`*s<%lO*V!R!(WX!b`!dpOr*Vrs(Vsv*Vwx)ex!e*V!e!f!(s!f;'S*V;'S;=`*s<%lO*V!R!(zX!b`!dpOr*Vrs(Vsv*Vwx)ex!v*V!v!w!)g!w;'S*V;'S;=`*s<%lO*V!R!)nX!b`!dpOr*Vrs(Vsv*Vwx)ex!{*V!{!|!*Z!|;'S*V;'S;=`*s<%lO*V!R!*bX!b`!dpOr*Vrs(Vsv*Vwx)ex!r*V!r!s!*}!s;'S*V;'S;=`*s<%lO*V!R!+UX!b`!dpOr*Vrs(Vsv*Vwx)ex!g*V!g!h!+q!h;'S*V;'S;=`*s<%lO*V!R!+xY!b`!dpOr!+qrs!,hsv!+qvw!-Swx!.[x!`!+q!`!a!/j!a;'S!+q;'S;=`!0Y<%lO!+qq!,mV!dpOv!,hvx!-Sx!`!,h!`!a!-q!a;'S!,h;'S;=`!.U<%lO!,hP!-VTO!`!-S!`!a!-f!a;'S!-S;'S;=`!-k<%lO!-SP!-kO|PP!-nP;=`<%l!-Sq!-xS!dp|POv(Vx;'S(V;'S;=`(h<%lO(Vq!.XP;=`<%l!,ha!.aX!b`Or!.[rs!-Ssv!.[vw!-Sw!`!.[!`!a!.|!a;'S!.[;'S;=`!/d<%lO!.[a!/TT!b`|POr)esv)ew;'S)e;'S;=`)y<%lO)ea!/gP;=`<%l!.[!R!/sV!b`!dp|POr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!0]P;=`<%l!+q!R!0gX!b`!dpOr*Vrs(Vsv*Vwx)ex#c*V#c#d!1S#d;'S*V;'S;=`*s<%lO*V!R!1ZX!b`!dpOr*Vrs(Vsv*Vwx)ex#V*V#V#W!1v#W;'S*V;'S;=`*s<%lO*V!R!1}X!b`!dpOr*Vrs(Vsv*Vwx)ex#h*V#h#i!2j#i;'S*V;'S;=`*s<%lO*V!R!2qX!b`!dpOr*Vrs(Vsv*Vwx)ex#m*V#m#n!3^#n;'S*V;'S;=`*s<%lO*V!R!3eX!b`!dpOr*Vrs(Vsv*Vwx)ex#d*V#d#e!4Q#e;'S*V;'S;=`*s<%lO*V!R!4XX!b`!dpOr*Vrs(Vsv*Vwx)ex#X*V#X#Y!+q#Y;'S*V;'S;=`*s<%lO*V!R!4{Y!b`!dpOr!4trs!5ksv!4tvw!6Vwx!8]x!a!4t!a!b!:]!b;'S!4t;'S;=`!;r<%lO!4tq!5pV!dpOv!5kvx!6Vx!a!5k!a!b!7W!b;'S!5k;'S;=`!8V<%lO!5kP!6YTO!a!6V!a!b!6i!b;'S!6V;'S;=`!7Q<%lO!6VP!6lTO!`!6V!`!a!6{!a;'S!6V;'S;=`!7Q<%lO!6VP!7QOyPP!7TP;=`<%l!6Vq!7]V!dpOv!5kvx!6Vx!`!5k!`!a!7r!a;'S!5k;'S;=`!8V<%lO!5kq!7yS!dpyPOv(Vx;'S(V;'S;=`(h<%lO(Vq!8YP;=`<%l!5ka!8bX!b`Or!8]rs!6Vsv!8]vw!6Vw!a!8]!a!b!8}!b;'S!8];'S;=`!:V<%lO!8]a!9SX!b`Or!8]rs!6Vsv!8]vw!6Vw!`!8]!`!a!9o!a;'S!8];'S;=`!:V<%lO!8]a!9vT!b`yPOr)esv)ew;'S)e;'S;=`)y<%lO)ea!:YP;=`<%l!8]!R!:dY!b`!dpOr!4trs!5ksv!4tvw!6Vwx!8]x!`!4t!`!a!;S!a;'S!4t;'S;=`!;r<%lO!4t!R!;]V!b`!dpyPOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!;uP;=`<%l!4t!V!{let c=a.type.id;if(c==Zy)return bc(a,l,t);if(c==Ey)return bc(a,l,n);if(c==qy)return bc(a,l,r);if(c==Qp&&s.length){let h=a.node,f=h.firstChild,u=f&&Op(f,l),O;if(u){for(let m of s)if(m.tag==u&&(!m.attrs||m.attrs(O||(O=xp(f,l))))){let p=h.lastChild,b=p.type.id==Ly?p.from:h.to;if(b>f.to)return{parser:m.parser,overlay:[{from:f.to,to:b}]}}}}if(o&&c==bp){let h=a.node,f;if(f=h.firstChild){let u=o[l.read(f.from,f.to)];if(u)for(let O of u){if(O.tagName&&O.tagName!=Op(h.parent,l))continue;let m=h.lastChild;if(m.type.id==Sc){let p=m.from+1,b=m.lastChild,g=m.to-(b&&b.isError?0:1);if(g>p)return{parser:O.parser,overlay:[{from:p,to:g}],bracketed:!0}}else if(m.type.id==Sp)return{parser:O.parser,overlay:[{from:m.from,to:m.to}]}}}}return null})}var nk=145,wp=1,rk=146,sk=147,vp=2,ok=148,ak=3,lk=4,$p=[9,10,11,12,13,32,133,160,5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8232,8233,8239,8287,12288],ck=58,hk=40,Tp=95,fk=91,ro=45,uk=46,Ok=35,dk=37,pk=38,mk=92,gk=10,Qk=42;function Pr(i){return i>=65&&i<=90||i>=97&&i<=122||i>=161}function vc(i){return i>=48&&i<=57}function Pp(i){return vc(i)||i>=97&&i<=102||i>=65&&i<=70}var Cp=(i,e,t)=>(n,r)=>{for(let s=!1,o=0,a=0;;a++){let{next:l}=n;if(Pr(l)||l==ro||l==Tp||s&&vc(l))!s&&(l!=ro||a>0)&&(s=!0),o===a&&l==ro&&o++,n.advance();else if(l==mk&&n.peek(1)!=gk){if(n.advance(),Pp(n.next)){do n.advance();while(Pp(n.next));n.next==32&&n.advance()}else n.next>-1&&n.advance();s=!0}else{s&&n.acceptToken(o==2&&r.canShift(vp)?e:l==hk?t:i);break}}},bk=new ee(Cp(rk,vp,sk),{contextual:!0}),Sk=new ee(Cp(ok,ak,lk),{contextual:!0}),yk=new ee(i=>{if($p.includes(i.peek(-1))){let{next:e}=i;(Pr(e)||e==Tp||e==Ok||e==uk||e==Qk||e==fk||e==ck&&Pr(i.peek(1))||e==ro||e==pk)&&i.acceptToken(nk)}}),kk=new ee(i=>{if(!$p.includes(i.peek(-1))){let{next:e}=i;if(e==dk&&(i.advance(),i.acceptToken(wp)),Pr(e)){do i.advance();while(Pr(i.next)||vc(i.next));i.acceptToken(wp)}}}),xk=Qe({"AtKeyword import charset namespace keyframes media supports font-feature-values":d.definitionKeyword,"from to selector scope MatchFlag":d.keyword,NamespaceName:d.namespace,KeyframeName:d.labelName,KeyframeRangeName:d.operatorKeyword,TagName:d.tagName,ClassName:d.className,PseudoClassName:d.constant(d.className),IdName:d.labelName,"FeatureName PropertyName":d.propertyName,AttributeName:d.attributeName,NumberLiteral:d.number,KeywordQuery:d.keyword,UnaryQueryOp:d.operatorKeyword,"CallTag ValueName FontName":d.atom,VariableName:d.variableName,Callee:d.operatorKeyword,Unit:d.unit,"UniversalSelector NestingSelector":d.definitionOperator,"MatchOp CompareOp":d.compareOperator,"ChildOp SiblingOp, LogicOp":d.logicOperator,BinOp:d.arithmeticOperator,Important:d.modifier,Comment:d.blockComment,ColorLiteral:d.color,"ParenthesizedContent StringLiteral":d.string,":":d.punctuation,"PseudoOp #":d.derefOperator,"; , |":d.separator,"( )":d.paren,"[ ]":d.squareBracket,"{ }":d.brace}),wk={__proto__:null,lang:44,"nth-child":44,"nth-last-child":44,"nth-of-type":44,"nth-last-of-type":44,dir:44,"host-context":44,if:90,url:152,"url-prefix":152,domain:152,regexp:152},Pk={__proto__:null,or:104,and:104,not:112,only:112,layer:206},vk={__proto__:null,selector:118,style:124,layer:202},$k={__proto__:null,"@import":198,"@media":210,"@charset":214,"@namespace":218,"@keyframes":224,"@supports":236,"@scope":240,"@font-feature-values":246},Tk={__proto__:null,to:243},Xp=ve.deserialize({version:14,states:"MlQYQdOOO#}QdOOP$UO`OOO%OQaO'#CfOOQP'#Ce'#CeO%VQdO'#CgO%[Q`O'#CgO%aQaO'#FnO&XQdO'#CkO&xQaO'#CcO'SQdO'#CnO'_QdO'#EOO'dQdO'#EQO'oQdO'#EXO'oQdO'#E[OOQP'#Fn'#FnO)RQhO'#E}OOQS'#Fm'#FmOOQS'#FQ'#FQQYQdOOO)YQdO'#EbO*iQhO'#EhO)YQdO'#EjO*pQdO'#ElO*{QdO'#EoO)}QhO'#EuO+TQdO'#EwO+`QdO'#EzO+eQaO'#CfO+lQ`O'#E_O+qQ`O'#F{O+|QdO'#F{QOQ`OOP,WO&jO'#CaPOOO)CA])CA]OOQP'#Ci'#CiOOQP,59R,59RO%VQdO,59ROOQP'#Cm'#CmOOQP,59V,59VO&XQdO,59VO,cQdO,59YO'_QdO,5:jO'dQdO,5:lO'oQdO,5:sO'oQdO,5:uO'oQdO,5:vO'oQdO'#FXO,nQ`O,58}O,vQdO'#E^OOQS,58},58}OOQP'#Cq'#CqOOQO'#D|'#D|OOQP,59Y,59YO,}Q`O,59YO-SQ`O,59YOOQP'#EP'#EPOOQP,5:j,5:jO-XQpO'#ERO-dQdO'#ESO-iQ`O'#ESO-nQpO,5:lO.XQaO,5:sO.oQaO,5:vOOQW'#D^'#D^O/nQhO'#DgO0RQhO,5;iO)}QhO'#DeO0`Q`O'#DnO0eQhO'#DxOOQW'#Ft'#FtOOQS,5;i,5;iO0jQ`O'#DhO0oQ`O'#DkOOQS-E9O-E9OOOQ['#Cv'#CvO0tQdO'#CwO1[QdO'#C}O1rQdO'#DQO2YQ!pO'#DSO4fQ!jO,5:|OOQO'#DX'#DXO-SQ`O'#DWO4vQ!nO'#FqO6|Q`O'#DYO7RQ`O'#DyOOQ['#Fq'#FqO7WQhO'#GOO7fQ`O,5;SO7kQ!bO,5;UOOQS'#En'#EnO7sQ`O,5;WO7xQdO,5;WOOQO'#Eq'#EqO8QQ`O,5;ZO8VQhO,5;aO'oQdO'#DjOOQS,5;c,5;cO0jQ`O,5;cO8_QdO,5;cOOQS'#F`'#F`O8gQdO'#E|O7fQ`O,5;fO8oQdO,5:yO9PQdO'#FZO9^Q`O,5lQhO'#DoOOQW,5:Y,5:YOOQW,5:d,5:dOOQW,5:S,5:SO>vQhO,5:VO?bQ!fO'#FrOOQS'#Fr'#FrOOQS'#FS'#FSO@rQdO,59cOOQ[,59c,59cOAYQdO,59iOOQ[,59i,59iOApQdO,59lOOQ[,59l,59lOOQ[,59n,59nO)YQdO,59pOBWQhO'#EdOOQW'#Ed'#EdOBuQ`O1G0hO4oQhO1G0hOOQ[,59r,59rO)}QhO'#D[OOQ[,59t,59tOBzQ#tO,5:eOCVQhO'#F]OCdQ`O,5vQhO'#DmOI_QhO'#DqOIgQhO'#DsOIlQhO'#FwOOQO'#Fw'#FwOItQ!bO'#DwOOQO'#Fy'#FyOOQO'#Fv'#FvOIyQ`O1G/qOOQS-E9Q-E9QOOQ[1G.}1G.}OOQ[1G/T1G/TOOQ[1G/W1G/WOOQ[1G/[1G/[OJOQdO,5;OOOQS7+&S7+&SOJTQ`O7+&SOJYQhO'#D]OJbQ`O,59vO)}QhO,59vOOQ[1G0P1G0POJjQ`O1G0POJoQhO,5;wOOQO-E9Z-E9ZOOQS7+&^7+&^OJ}QbO'#DSOOQO'#Et'#EtOK]Q`O'#EsOOQO'#Es'#EsOKhQ`O'#F^OKpQdO,5;^OOQS,5;^,5;^OOQ[1G/p1G/pOOQS7+&i7+&iO7fQ`O7+&iOK{Q!fO'#FYO)YQdO'#FYOMSQdO7+&POOQO7+&P7+&POOQO,5:{,5:{OOQO1G1a1G1aOMgQ!bO<vQhO'#DrOOQO,5:],5:]O! hQhO,5:_OGUQhO,5:cOOQW7+%]7+%]OOQO'#Ef'#EfO! pQ`O1G0jOOQS<xAN>xO!#zQ`OAN>xO!$PQaO,5;rOOQO-E9U-E9UO!$ZQdO,5;qOOQO-E9T-E9TOOQW<vQhO'#DuOOQO1G/y1G/yO!%vQ!bO1G/}OJOQdO'#F[O!&OQ`O7+&UOOQW7+&U7+&UO!&WQ!bO1G/cOOQ[7+$|7+$|O!&cQhO7+$|P!&jQ`O'#FTOOQO,5;y,5;yOOQO-E9]-E9]OOQS1G1d1G1dOOQPG24dG24dO!&oQ`OAN>ZO)YQdO1G1[O!&tQ`O7+'jOOQO1G/x1G/xO!&|Q`O,5:aO!$eQhO7+%iOOQO,5;v,5;vOOQO-E9Y-E9YOOQW<Q!]!^>|!^!_?_!_!`@Z!`!a@n!a!b%Z!b!cAo!c!k%Z!k!lC|!l!u%Z!u!vC|!v!}%Z!}#OD_#O#P%Z#P#QDp#Q#R2X#R#]%Z#]#^ER#^#g%Z#g#hC|#h#o%Z#o#pIf#p#qIw#q#rJ`#r#sJq#s#y%Z#y#z&R#z$f%Z$f$g&R$g#BY%Z#BY#BZ&R#BZ$IS%Z$IS$I_&R$I_$I|%Z$I|$JO&R$JO$JT%Z$JT$JU&R$JU$KV%Z$KV$KW&R$KW&FU%Z&FU&FV&R&FV;'S%Z;'S;=`KY<%lO%Z`%^SOy%jz;'S%j;'S;=`%{<%lO%j`%oS!o`Oy%jz;'S%j;'S;=`%{<%lO%j`&OP;=`<%l%j~&Wh$[~OX%jX^'r^p%jpq'rqy%jz#y%j#y#z'r#z$f%j$f$g'r$g#BY%j#BY#BZ'r#BZ$IS%j$IS$I_'r$I_$I|%j$I|$JO'r$JO$JT%j$JT$JU'r$JU$KV%j$KV$KW'r$KW&FU%j&FU&FV'r&FV;'S%j;'S;=`%{<%lO%j~'yh$[~!o`OX%jX^'r^p%jpq'rqy%jz#y%j#y#z'r#z$f%j$f$g'r$g#BY%j#BY#BZ'r#BZ$IS%j$IS$I_'r$I_$I|%j$I|$JO'r$JO$JT%j$JT$JU'r$JU$KV%j$KV$KW'r$KW&FU%j&FU&FV'r&FV;'S%j;'S;=`%{<%lO%jj)jS$qYOy%jz;'S%j;'S;=`%{<%lO%j~)yWOY)vZr)vrs*cs#O)v#O#P*h#P;'S)v;'S;=`+d<%lO)v~*hOw~~*kRO;'S)v;'S;=`*t;=`O)v~*wXOY)vZr)vrs*cs#O)v#O#P*h#P;'S)v;'S;=`+d;=`<%l)v<%lO)v~+gP;=`<%l)vj+oYmYOy%jz!Q%j!Q![,_![!c%j!c!i,_!i#T%j#T#Z,_#Z;'S%j;'S;=`%{<%lO%jj,dY!o`Oy%jz!Q%j!Q![-S![!c%j!c!i-S!i#T%j#T#Z-S#Z;'S%j;'S;=`%{<%lO%jj-XY!o`Oy%jz!Q%j!Q![-w![!c%j!c!i-w!i#T%j#T#Z-w#Z;'S%j;'S;=`%{<%lO%jj.OYuY!o`Oy%jz!Q%j!Q![.n![!c%j!c!i.n!i#T%j#T#Z.n#Z;'S%j;'S;=`%{<%lO%jj.uYuY!o`Oy%jz!Q%j!Q![/e![!c%j!c!i/e!i#T%j#T#Z/e#Z;'S%j;'S;=`%{<%lO%jj/jY!o`Oy%jz!Q%j!Q![0Y![!c%j!c!i0Y!i#T%j#T#Z0Y#Z;'S%j;'S;=`%{<%lO%jj0aYuY!o`Oy%jz!Q%j!Q![1P![!c%j!c!i1P!i#T%j#T#Z1P#Z;'S%j;'S;=`%{<%lO%jj1UY!o`Oy%jz!Q%j!Q![1t![!c%j!c!i1t!i#T%j#T#Z1t#Z;'S%j;'S;=`%{<%lO%jj1{SuY!o`Oy%jz;'S%j;'S;=`%{<%lO%jd2[UOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%jd2uS!yS!o`Oy%jz;'S%j;'S;=`%{<%lO%jb3WS^QOy%jz;'S%j;'S;=`%{<%lO%j~3gWOY3dZw3dwx*cx#O3d#O#P4P#P;'S3d;'S;=`4{<%lO3d~4SRO;'S3d;'S;=`4];=`O3d~4`XOY3dZw3dwx*cx#O3d#O#P4P#P;'S3d;'S;=`4{;=`<%l3d<%lO3d~5OP;=`<%l3dj5WShYOy%jz;'S%j;'S;=`%{<%lO%j~5iOg~n5pUWQyWOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%jj6ZWyW#PQOy%jz!O%j!O!P6s!P!Q%j!Q![9x![;'S%j;'S;=`%{<%lO%jj6xU!o`Oy%jz!Q%j!Q![7[![;'S%j;'S;=`%{<%lO%jj7cY!o`$gYOy%jz!Q%j!Q![7[![!g%j!g!h8R!h#X%j#X#Y8R#Y;'S%j;'S;=`%{<%lO%jj8WY!o`Oy%jz{%j{|8v|}%j}!O8v!O!Q%j!Q![9_![;'S%j;'S;=`%{<%lO%jj8{U!o`Oy%jz!Q%j!Q![9_![;'S%j;'S;=`%{<%lO%jj9fU!o`$gYOy%jz!Q%j!Q![9_![;'S%j;'S;=`%{<%lO%jj:P[!o`$gYOy%jz!O%j!O!P7[!P!Q%j!Q![9x![!g%j!g!h8R!h#X%j#X#Y8R#Y;'S%j;'S;=`%{<%lO%jj:zS!dYOy%jz;'S%j;'S;=`%{<%lO%jj;]WyWOy%jz!O%j!O!P6s!P!Q%j!Q![9x![;'S%j;'S;=`%{<%lO%jj;zU`YOy%jz!Q%j!Q![7[![;'S%j;'S;=`%{<%lO%j~VUcYOy%jz![%j![!]>i!];'S%j;'S;=`%{<%lO%jj>pSdY!o`Oy%jz;'S%j;'S;=`%{<%lO%jj?RSnYOy%jz;'S%j;'S;=`%{<%lO%jh?dU!WWOy%jz!_%j!_!`?v!`;'S%j;'S;=`%{<%lO%jh?}S!WW!o`Oy%jz;'S%j;'S;=`%{<%lO%jl@bS!WW!ySOy%jz;'S%j;'S;=`%{<%lO%jj@uV!|Q!WWOy%jz!_%j!_!`?v!`!aA[!a;'S%j;'S;=`%{<%lO%jbAcS!|Q!o`Oy%jz;'S%j;'S;=`%{<%lO%jjArYOy%jz}%j}!OBb!O!c%j!c!}CP!}#T%j#T#oCP#o;'S%j;'S;=`%{<%lO%jjBgW!o`Oy%jz!c%j!c!}CP!}#T%j#T#oCP#o;'S%j;'S;=`%{<%lO%jjCW[lY!o`Oy%jz}%j}!OCP!O!Q%j!Q![CP![!c%j!c!}CP!}#T%j#T#oCP#o;'S%j;'S;=`%{<%lO%jhDRS!zWOy%jz;'S%j;'S;=`%{<%lO%jjDdSpYOy%jz;'S%j;'S;=`%{<%lO%jnDuSo^Oy%jz;'S%j;'S;=`%{<%lO%jjEWU!zWOy%jz#a%j#a#bEj#b;'S%j;'S;=`%{<%lO%jbEoU!o`Oy%jz#d%j#d#eFR#e;'S%j;'S;=`%{<%lO%jbFWU!o`Oy%jz#c%j#c#dFj#d;'S%j;'S;=`%{<%lO%jbFoU!o`Oy%jz#f%j#f#gGR#g;'S%j;'S;=`%{<%lO%jbGWU!o`Oy%jz#h%j#h#iGj#i;'S%j;'S;=`%{<%lO%jbGoU!o`Oy%jz#T%j#T#UHR#U;'S%j;'S;=`%{<%lO%jbHWU!o`Oy%jz#b%j#b#cHj#c;'S%j;'S;=`%{<%lO%jbHoU!o`Oy%jz#h%j#h#iIR#i;'S%j;'S;=`%{<%lO%jbIYS$pQ!o`Oy%jz;'S%j;'S;=`%{<%lO%jjIkSsYOy%jz;'S%j;'S;=`%{<%lO%jfI|U$cUOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%jjJeSrYOy%jz;'S%j;'S;=`%{<%lO%jfJvU#PQOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%j`K]P;=`<%l%Z",tokenizers:[yk,kk,bk,Sk,1,2,3,4,new Si("m~RRYZ[z{a~~g~aO$_~~dP!P!Qg~lO$`~~",28,152)],topRules:{StyleSheet:[0,6],Styles:[1,126]},dynamicPrecedences:{94:1},specialized:[{term:147,get:i=>wk[i]||-1},{term:148,get:i=>Pk[i]||-1},{term:4,get:i=>vk[i]||-1},{term:28,get:i=>$k[i]||-1},{term:146,get:i=>Tk[i]||-1}],tokenPrec:2405});var $c=null;function Tc(){if(!$c&&typeof document=="object"&&document.body){let{style:i}=document.body,e=[],t=new Set;for(let n in i)n!="cssText"&&n!="cssFloat"&&typeof i[n]=="string"&&(/[A-Z]/.test(n)&&(n=n.replace(/[A-Z]/g,r=>"-"+r.toLowerCase())),t.has(n)||(e.push(n),t.add(n)));$c=e.sort().map(n=>({type:"property",label:n,apply:n+": "}))}return $c||[]}var _p=["active","after","any-link","autofill","backdrop","before","checked","cue","default","defined","disabled","empty","enabled","file-selector-button","first","first-child","first-letter","first-line","first-of-type","focus","focus-visible","focus-within","fullscreen","has","host","host-context","hover","in-range","indeterminate","invalid","is","lang","last-child","last-of-type","left","link","marker","modal","not","nth-child","nth-last-child","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","part","placeholder","placeholder-shown","read-only","read-write","required","right","root","scope","selection","slotted","target","target-text","valid","visited","where"].map(i=>({type:"class",label:i})),Rp=["above","absolute","activeborder","additive","activecaption","after-white-space","ahead","alias","all","all-scroll","alphabetic","alternate","always","antialiased","appworkspace","asterisks","attr","auto","auto-flow","avoid","avoid-column","avoid-page","avoid-region","axis-pan","background","backwards","baseline","below","bidi-override","blink","block","block-axis","bold","bolder","border","border-box","both","bottom","break","break-all","break-word","bullets","button","button-bevel","buttonface","buttonhighlight","buttonshadow","buttontext","calc","capitalize","caps-lock-indicator","caption","captiontext","caret","cell","center","checkbox","circle","cjk-decimal","clear","clip","close-quote","col-resize","collapse","color","color-burn","color-dodge","column","column-reverse","compact","condensed","contain","content","contents","content-box","context-menu","continuous","copy","counter","counters","cover","crop","cross","crosshair","currentcolor","cursive","cyclic","darken","dashed","decimal","decimal-leading-zero","default","default-button","dense","destination-atop","destination-in","destination-out","destination-over","difference","disc","discard","disclosure-closed","disclosure-open","document","dot-dash","dot-dot-dash","dotted","double","down","e-resize","ease","ease-in","ease-in-out","ease-out","element","ellipse","ellipsis","embed","end","ethiopic-abegede-gez","ethiopic-halehame-aa-er","ethiopic-halehame-gez","ew-resize","exclusion","expanded","extends","extra-condensed","extra-expanded","fantasy","fast","fill","fill-box","fixed","flat","flex","flex-end","flex-start","footnotes","forwards","from","geometricPrecision","graytext","grid","groove","hand","hard-light","help","hidden","hide","higher","highlight","highlighttext","horizontal","hsl","hsla","hue","icon","ignore","inactiveborder","inactivecaption","inactivecaptiontext","infinite","infobackground","infotext","inherit","initial","inline","inline-axis","inline-block","inline-flex","inline-grid","inline-table","inset","inside","intrinsic","invert","italic","justify","keep-all","landscape","large","larger","left","level","lighter","lighten","line-through","linear","linear-gradient","lines","list-item","listbox","listitem","local","logical","loud","lower","lower-hexadecimal","lower-latin","lower-norwegian","lowercase","ltr","luminosity","manipulation","match","matrix","matrix3d","medium","menu","menutext","message-box","middle","min-intrinsic","mix","monospace","move","multiple","multiple_mask_images","multiply","n-resize","narrower","ne-resize","nesw-resize","no-close-quote","no-drop","no-open-quote","no-repeat","none","normal","not-allowed","nowrap","ns-resize","numbers","numeric","nw-resize","nwse-resize","oblique","opacity","open-quote","optimizeLegibility","optimizeSpeed","outset","outside","outside-shape","overlay","overline","padding","padding-box","painted","page","paused","perspective","pinch-zoom","plus-darker","plus-lighter","pointer","polygon","portrait","pre","pre-line","pre-wrap","preserve-3d","progress","push-button","radial-gradient","radio","read-only","read-write","read-write-plaintext-only","rectangle","region","relative","repeat","repeating-linear-gradient","repeating-radial-gradient","repeat-x","repeat-y","reset","reverse","rgb","rgba","ridge","right","rotate","rotate3d","rotateX","rotateY","rotateZ","round","row","row-resize","row-reverse","rtl","run-in","running","s-resize","sans-serif","saturation","scale","scale3d","scaleX","scaleY","scaleZ","screen","scroll","scrollbar","scroll-position","se-resize","self-start","self-end","semi-condensed","semi-expanded","separate","serif","show","single","skew","skewX","skewY","skip-white-space","slide","slider-horizontal","slider-vertical","sliderthumb-horizontal","sliderthumb-vertical","slow","small","small-caps","small-caption","smaller","soft-light","solid","source-atop","source-in","source-out","source-over","space","space-around","space-between","space-evenly","spell-out","square","start","static","status-bar","stretch","stroke","stroke-box","sub","subpixel-antialiased","svg_masks","super","sw-resize","symbolic","symbols","system-ui","table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row","table-row-group","text","text-bottom","text-top","textarea","textfield","thick","thin","threeddarkshadow","threedface","threedhighlight","threedlightshadow","threedshadow","to","top","transform","translate","translate3d","translateX","translateY","translateZ","transparent","ultra-condensed","ultra-expanded","underline","unidirectional-pan","unset","up","upper-latin","uppercase","url","var","vertical","vertical-text","view-box","visible","visibleFill","visiblePainted","visibleStroke","visual","w-resize","wait","wave","wider","window","windowframe","windowtext","words","wrap","wrap-reverse","x-large","x-small","xor","xx-large","xx-small"].map(i=>({type:"keyword",label:i})).concat(["aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","grey","green","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen"].map(i=>({type:"constant",label:i}))),Ck=["a","abbr","address","article","aside","b","bdi","bdo","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","dd","del","details","dfn","dialog","div","dl","dt","em","figcaption","figure","footer","form","header","hgroup","h1","h2","h3","h4","h5","h6","hr","html","i","iframe","img","input","ins","kbd","label","legend","li","main","meter","nav","ol","output","p","pre","ruby","section","select","small","source","span","strong","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","tr","u","ul"].map(i=>({type:"type",label:i})),Xk=["@charset","@color-profile","@container","@counter-style","@font-face","@font-feature-values","@font-palette-values","@import","@keyframes","@layer","@media","@namespace","@page","@position-try","@property","@scope","@starting-style","@supports","@view-transition"].map(i=>({type:"keyword",label:i})),Gt=/^(\w[\w-]*|-\w[\w-]*|)$/,_k=/^-(-[\w-]*)?$/;function Rk(i,e){var t;if((i.name=="("||i.type.isError)&&(i=i.parent||i),i.name!="ArgList")return!1;let n=(t=i.parent)===null||t===void 0?void 0:t.firstChild;return n?.name!="Callee"?!1:e.sliceString(n.from,n.to)=="var"}var Ap=new Oi,Ak=["Declaration"];function Zk(i){for(let e=i;;){if(e.type.isTop)return e;if(!(e=e.parent))return i}}function Zp(i,e,t){if(e.to-e.from>4096){let n=Ap.get(e);if(n)return n;let r=[],s=new Set,o=e.cursor(te.IncludeAnonymous);if(o.firstChild())do for(let a of Zp(i,o.node,t))s.has(a.label)||(s.add(a.label),r.push(a));while(o.nextSibling());return Ap.set(e,r),r}else{let n=[],r=new Set;return e.cursor().iterate(s=>{var o;if(t(s)&&s.matchContext(Ak)&&((o=s.node.nextSibling)===null||o===void 0?void 0:o.name)==":"){let a=i.sliceString(s.from,s.to);r.has(a)||(r.add(a),n.push({label:a,type:"variable"}))}}),n}}var Ek=i=>e=>{let{state:t,pos:n}=e,r=U(t).resolveInner(n,-1),s=r.type.isError&&r.from==r.to-1&&t.doc.sliceString(r.from,r.to)=="-";if(r.name=="PropertyName"||(s||r.name=="TagName")&&/^(Block|Styles)$/.test(r.resolve(r.to).name))return{from:r.from,options:Tc(),validFor:Gt};if(r.name=="ValueName")return{from:r.from,options:Rp,validFor:Gt};if(r.name=="PseudoClassName")return{from:r.from,options:_p,validFor:Gt};if(i(r)||(e.explicit||s)&&Rk(r,t.doc))return{from:i(r)||s?r.from:n,options:Zp(t.doc,Zk(r),i),validFor:_k};if(r.name=="TagName"){for(let{parent:l}=r;l;l=l.parent)if(l.name=="Block")return{from:r.from,options:Tc(),validFor:Gt};return{from:r.from,options:Ck,validFor:Gt}}if(r.name=="AtKeyword")return{from:r.from,options:Xk,validFor:Gt};if(!e.explicit)return null;let o=r.resolve(n),a=o.childBefore(n);return a&&a.name==":"&&o.name=="PseudoClassSelector"?{from:n,options:_p,validFor:Gt}:a&&a.name==":"&&o.name=="Declaration"||o.name=="ArgList"?{from:n,options:Rp,validFor:Gt}:o.name=="Block"||o.name=="Styles"?{from:n,options:Tc(),validFor:Gt}:null},qk=Ek(i=>i.name=="VariableName"),vr=Xe.define({name:"css",parser:Xp.configure({props:[Pe.add({Declaration:Bt()}),_e.add({"Block KeyframeList":ut})]}),languageData:{commentTokens:{block:{open:"/*",close:"*/"}},indentOnInput:/^\s*\}$/,wordChars:"-"}});function so(){return new me(vr,vr.data.of({autocomplete:qk}))}var zk=316,Lk=317,Ep=1,Mk=2,Wk=3,jk=4,Vk=318,Dk=320,Yk=321,Ik=5,Bk=6,Uk=0,Xc=[9,10,11,12,13,32,133,160,5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8232,8233,8239,8287,12288],qp=125,Gk=59,_c=47,Nk=42,Fk=43,Hk=45,Kk=60,Jk=44,e1=63,t1=46,i1=91,n1=new mt({start:!1,shift(i,e){return e==Ik||e==Bk||e==Dk?i:e==Yk},strict:!1}),r1=new ee((i,e)=>{let{next:t}=i;(t==qp||t==-1||e.context)&&i.acceptToken(Vk)},{contextual:!0,fallback:!0}),s1=new ee((i,e)=>{let{next:t}=i,n;Xc.indexOf(t)>-1||t==_c&&((n=i.peek(1))==_c||n==Nk)||t!=qp&&t!=Gk&&t!=-1&&!e.context&&i.acceptToken(zk)},{contextual:!0}),o1=new ee((i,e)=>{i.next==i1&&!e.context&&i.acceptToken(Lk)},{contextual:!0}),a1=new ee((i,e)=>{let{next:t}=i;if(t==Fk||t==Hk){if(i.advance(),t==i.next){i.advance();let n=!e.context&&e.canShift(Ep);i.acceptToken(n?Ep:Mk)}}else t==e1&&i.peek(1)==t1&&(i.advance(),i.advance(),(i.next<48||i.next>57)&&i.acceptToken(Wk))},{contextual:!0});function Cc(i,e){return i>=65&&i<=90||i>=97&&i<=122||i==95||i>=192||!e&&i>=48&&i<=57}var l1=new ee((i,e)=>{if(i.next!=Kk||!e.dialectEnabled(Uk)||(i.advance(),i.next==_c))return;let t=0;for(;Xc.indexOf(i.next)>-1;)i.advance(),t++;if(Cc(i.next,!0)){for(i.advance(),t++;Cc(i.next,!1);)i.advance(),t++;for(;Xc.indexOf(i.next)>-1;)i.advance(),t++;if(i.next==Jk)return;for(let n=0;;n++){if(n==7){if(!Cc(i.next,!0))return;break}if(i.next!="extends".charCodeAt(n))break;i.advance(),t++}}i.acceptToken(jk,-t)}),c1=Qe({"get set async static":d.modifier,"for while do if else switch try catch finally return throw break continue default case defer":d.controlKeyword,"in of await yield void typeof delete instanceof as satisfies":d.operatorKeyword,"let var const using function class extends":d.definitionKeyword,"import export from":d.moduleKeyword,"with debugger new":d.keyword,TemplateString:d.special(d.string),super:d.atom,BooleanLiteral:d.bool,this:d.self,null:d.null,Star:d.modifier,VariableName:d.variableName,"CallExpression/VariableName TaggedTemplateExpression/VariableName":d.function(d.variableName),VariableDefinition:d.definition(d.variableName),Label:d.labelName,PropertyName:d.propertyName,PrivatePropertyName:d.special(d.propertyName),"CallExpression/MemberExpression/PropertyName":d.function(d.propertyName),"FunctionDeclaration/VariableDefinition":d.function(d.definition(d.variableName)),"ClassDeclaration/VariableDefinition":d.definition(d.className),"NewExpression/VariableName":d.className,PropertyDefinition:d.definition(d.propertyName),PrivatePropertyDefinition:d.definition(d.special(d.propertyName)),UpdateOp:d.updateOperator,"LineComment Hashbang":d.lineComment,BlockComment:d.blockComment,Number:d.number,String:d.string,Escape:d.escape,ArithOp:d.arithmeticOperator,LogicOp:d.logicOperator,BitOp:d.bitwiseOperator,CompareOp:d.compareOperator,RegExp:d.regexp,Equals:d.definitionOperator,Arrow:d.function(d.punctuation),": Spread":d.punctuation,"( )":d.paren,"[ ]":d.squareBracket,"{ }":d.brace,"InterpolationStart InterpolationEnd":d.special(d.brace),".":d.derefOperator,", ;":d.separator,"@":d.meta,TypeName:d.typeName,TypeDefinition:d.definition(d.typeName),"type enum interface implements namespace module declare":d.definitionKeyword,"abstract global Privacy readonly override":d.modifier,"is keyof unique infer asserts":d.operatorKeyword,JSXAttributeValue:d.attributeValue,JSXText:d.content,"JSXStartTag JSXStartCloseTag JSXSelfCloseEndTag JSXEndTag":d.angleBracket,"JSXIdentifier JSXNameSpacedName":d.tagName,"JSXAttribute/JSXIdentifier JSXAttribute/JSXNameSpacedName":d.attributeName,"JSXBuiltin/JSXIdentifier":d.standard(d.tagName)}),h1={__proto__:null,export:20,as:25,from:33,default:36,async:41,function:42,in:52,out:55,const:56,extends:60,this:64,true:72,false:72,null:84,void:88,typeof:92,super:108,new:142,delete:154,yield:163,await:167,class:172,public:235,private:235,protected:235,readonly:237,instanceof:256,satisfies:259,import:292,keyof:349,unique:353,infer:359,asserts:395,is:397,abstract:417,implements:419,type:421,let:424,var:426,using:429,interface:435,enum:439,namespace:445,module:447,declare:451,global:455,defer:471,for:476,of:485,while:488,with:492,do:496,if:500,else:502,switch:506,case:512,try:518,catch:522,finally:526,return:530,throw:534,break:538,continue:542,debugger:546},f1={__proto__:null,async:129,get:131,set:133,declare:195,public:197,private:197,protected:197,static:199,abstract:201,override:203,readonly:209,accessor:211,new:401},u1={__proto__:null,"<":193},zp=ve.deserialize({version:14,states:"$F|Q%TQlOOO%[QlOOO'_QpOOP(lO`OOO*zQ!0MxO'#CiO+RO#tO'#CjO+aO&jO'#CjO+oO#@ItO'#DaO.QQlO'#DgO.bQlO'#DrO%[QlO'#DzO0fQlO'#ESOOQ!0Lf'#E['#E[O1PQ`O'#EXOOQO'#Ep'#EpOOQO'#Il'#IlO1XQ`O'#GsO1dQ`O'#EoO1iQ`O'#EoO3hQ!0MxO'#JrO6[Q!0MxO'#JsO6uQ`O'#F]O6zQ,UO'#FtOOQ!0Lf'#Ff'#FfO7VO7dO'#FfO9XQMhO'#F|O9`Q`O'#F{OOQ!0Lf'#Js'#JsOOQ!0Lb'#Jr'#JrO9eQ`O'#GwOOQ['#K_'#K_O9pQ`O'#IYO9uQ!0LrO'#IZOOQ['#J`'#J`OOQ['#I_'#I_Q`QlOOQ`QlOOO9}Q!L^O'#DvO:UQlO'#EOO:]QlO'#EQO9kQ`O'#GsO:dQMhO'#CoO:rQ`O'#EnO:}Q`O'#EyO;hQMhO'#FeO;xQ`O'#GsOOQO'#K`'#K`O;}Q`O'#K`O<]Q`O'#G{O<]Q`O'#G|O<]Q`O'#HOO9kQ`O'#HRO=SQ`O'#HUO>kQ`O'#CeO>{Q`O'#HcO?TQ`O'#HiO?TQ`O'#HkO`QlO'#HmO?TQ`O'#HoO?TQ`O'#HrO?YQ`O'#HxO?_Q!0LsO'#IOO%[QlO'#IQO?jQ!0LsO'#ISO?uQ!0LsO'#IUO9uQ!0LrO'#IWO@QQ!0MxO'#CiOASQpO'#DlQOQ`OOO%[QlO'#EQOAjQ`O'#ETO:dQMhO'#EnOAuQ`O'#EnOBQQ!bO'#FeOOQ['#Cg'#CgOOQ!0Lb'#Dq'#DqOOQ!0Lb'#Jv'#JvO%[QlO'#JvOOQO'#Jy'#JyOOQO'#Ih'#IhOCQQpO'#EgOOQ!0Lb'#Ef'#EfOOQ!0Lb'#J}'#J}OC|Q!0MSO'#EgODWQpO'#EWOOQO'#Jx'#JxODlQpO'#JyOEyQpO'#EWODWQpO'#EgPFWO&2DjO'#CbPOOO)CD})CD}OOOO'#I`'#I`OFcO#tO,59UOOQ!0Lh,59U,59UOOOO'#Ia'#IaOFqO&jO,59UOGPQ!L^O'#DcOOOO'#Ic'#IcOGWO#@ItO,59{OOQ!0Lf,59{,59{OGfQlO'#IdOGyQ`O'#JtOIxQ!fO'#JtO+}QlO'#JtOJPQ`O,5:ROJgQ`O'#EpOJtQ`O'#KTOKPQ`O'#KSOKPQ`O'#KSOKXQ`O,5;^OK^Q`O'#KROOQ!0Ln,5:^,5:^OKeQlO,5:^OMcQ!0MxO,5:fONSQ`O,5:nONmQ!0LrO'#KQONtQ`O'#KPO9eQ`O'#KPO! YQ`O'#KPO! bQ`O,5;]O! gQ`O'#KPO!#lQ!fO'#JsOOQ!0Lh'#Ci'#CiO%[QlO'#ESO!$[Q!fO,5:sOOQS'#Jz'#JzOOQO-EtOOQ['#Jh'#JhOOQ[,5>u,5>uOOQ[-E<]-E<]O!TO`QlO,5>VO!LOQ`O,5>XO`QlO,5>ZO!LTQ`O,5>^O!LYQlO,5>dOOQ[,5>j,5>jO%[QlO,5>jO9uQ!0LrO,5>lOOQ[,5>n,5>nO#!dQ`O,5>nOOQ[,5>p,5>pO#!dQ`O,5>pOOQ[,5>r,5>rO##QQpO'#D_O%[QlO'#JvO##sQpO'#JvO##}QpO'#DmO#$`QpO'#DmO#&qQlO'#DmO#&xQ`O'#JuO#'QQ`O,5:WO#'VQ`O'#EtO#'eQ`O'#KUO#'mQ`O,5;_O#'rQpO'#DmO#(PQpO'#EVOOQ!0Lf,5:o,5:oO%[QlO,5:oO#(WQ`O,5:oO?YQ`O,5;YO!CUQpO,5;YO!C^QMhO,5;YO:dQMhO,5;YO#(`Q`O,5@bO#(eQ07dO,5:sOOQO-EPO$6^Q`O,5>POOQ[1G3i1G3iO`QlO1G3iOOQ[1G3o1G3oOOQ[1G3q1G3qO?TQ`O1G3sO$6cQlO1G3uO$:gQlO'#HtOOQ[1G3x1G3xO$:tQ`O'#HzO?YQ`O'#H|OOQ[1G4O1G4OO$:|QlO1G4OO9uQ!0LrO1G4UOOQ[1G4W1G4WOOQ!0Lb'#G_'#G_O9uQ!0LrO1G4YO9uQ!0LrO1G4[O$?TQ`O,5@bO!)[QlO,5;`O9eQ`O,5;`O?YQ`O,5:XO!)[QlO,5:XO!CUQpO,5:XO$?YQ?MtO,5:XOOQO,5;`,5;`O$?dQpO'#IeO$?zQ`O,5@aOOQ!0Lf1G/r1G/rO$@SQpO'#IkO$@^Q`O,5@pOOQ!0Lb1G0y1G0yO#$`QpO,5:XOOQO'#Ig'#IgO$@fQpO,5:qOOQ!0Ln,5:q,5:qO#(ZQ`O1G0ZOOQ!0Lf1G0Z1G0ZO%[QlO1G0ZOOQ!0Lf1G0t1G0tO?YQ`O1G0tO!CUQpO1G0tO!C^QMhO1G0tOOQ!0Lb1G5|1G5|O!ByQ!0LrO1G0^OOQO1G0m1G0mO%[QlO1G0mO$@mQ!0LrO1G0mO$@xQ!0LrO1G0mO!CUQpO1G0^ODWQpO1G0^O$AWQ!0LrO1G0mOOQO1G0^1G0^O$AlQ!0MxO1G0mPOOO-E<[-E<[POOO1G.h1G.hOOOO1G/i1G/iO$AvQ!bO,5QQpO,5@}OOQ!0Lb1G3c1G3cOOQ[7+$V7+$VO@zQ`O7+$VO9uQ!0LrO7+$VO%>]Q`O7+$VO%[QlO1G6lO%[QlO1G6mO%>bQ!0LrO1G6lO%>lQlO1G3kO%>sQ`O1G3kO%>xQlO1G3kOOQ[7+)T7+)TO9uQ!0LrO7+)_O`QlO7+)aOOQ['#Kh'#KhOOQ['#JS'#JSO%?PQlO,5>`OOQ[,5>`,5>`O%[QlO'#HuO%?^Q`O'#HwOOQ[,5>f,5>fO9eQ`O,5>fOOQ[,5>h,5>hOOQ[7+)j7+)jOOQ[7+)p7+)pOOQ[7+)t7+)tOOQ[7+)v7+)vO%?cQpO1G5|O%?}Q?MtO1G0zO%@XQ`O1G0zOOQO1G/s1G/sO%@dQ?MtO1G/sO?YQ`O1G/sO!)[QlO'#DmOOQO,5?P,5?POOQO-ERQ`O7+,WO&>WQ`O7+,XO%[QlO7+,WO%[QlO7+,XOOQ[7+)V7+)VO&>]Q`O7+)VO&>bQlO7+)VO&>iQ`O7+)VOOQ[<nQ`O,5>aOOQ[,5>c,5>cO&>sQ`O1G4QO9eQ`O7+&fO!)[QlO7+&fOOQO7+%_7+%_O&>xQ?MtO1G6ZO?YQ`O7+%_OOQ!0Lf<yQ?MvO,5?aO'@|Q?MvO,5?cO'CPQ?MvO7+'|O'DuQMjOG27TOOQO<VO!l$xO#jROe!iOpkOrPO(T)]O(VTO(YUO(aVO(o[O~O!]$_Oa$qa'z$qa'w$qa!k$qa!Y$qa!_$qa%i$qa!g$qa~Ol)dO~P!&zOh%VOp%WOr%XOs$tOt$tOz%YO|%ZO!O%]O!S${O!_$|O!i%bO!l$xO#j%cO$W%`O$t%^O$v%_O$y%aO(T(vO(VTO(YUO(a$uO(y$}O(z%PO~Og(pP~P!,TO!Q)iO!g)hO!_$^X$Z$^X$]$^X$_$^X$f$^X~O!g)hO!_({X$Z({X$]({X$_({X$f({X~O!Q)iO~P!.^O!Q)iO!_({X$Z({X$]({X$_({X$f({X~O!_)kO$Z)oO$])jO$_)jO$f)pO~O![)sO~P!)[O$]$hO$_$gO$f)wO~On$zX!Q$zX#S$zX'y$zX(y$zX(z$zX~OgmXg$zXnmX!]mX#`mX~P!0SOx)yO(b)zO(c)|O~On*VO!Q*OO'y*PO(y$}O(z%PO~Og)}O~P!1WOg*WO~Oh%VOr%XOs$tOt$tOz%YO|%ZO!OVO!l$xO#jVO!l$xO#jROe!iOpkOrPO(VTO(YUO(aVO(o[O~O(T=QO~P#$qO!]-]O!^(iX~O!^-_O~O!g-VO#`-UO!]#hX!^#hX~O!]-`O!^(xX~O!^-bO~O!c-cO!d-cO(U!lO~P#$`O!^-fO~P'_On-iO!_'`O~O!Y-nO~Os!{a!b!{a!c!{a!d!{a#T!{a#U!{a#V!{a#W!{a#X!{a#[!{a#]!{a(U!{a(V!{a(Y!{a(e!{a(o!{a~P!#vO!p-sO#`-qO~PChO!c-uO!d-uO(U!lO~PDWOa%nO#`-qO'z%nO~Oa%nO!g#vO#`-qO'z%nO~Oa%nO!g#vO!p-sO#`-qO'z%nO(r'pO~O(P'xO(Q'xO(R-zO~Ov-{O~O!Y'Wa!]'Wa~P!:tO![.PO!Y'WX!]'WX~P%[O!](VO!Y(ha~O!Y(ha~PHRO!](^O!Y(va~O!S%hO![.TO!_%iO(T%gO!Y'^X!]'^X~O#`.VO!](ta!k(taa(ta'z(ta~O!g#vO~P#,wO!](jO!k(sa~O!S%hO!_%iO#j.ZO(T%gO~Op.`O!S%hO![.]O!_%iO!|]O#i._O#j.]O(T%gO!]'aX!k'aX~OR.dO!l#xO~Oh%VOn.gO!_'`O%i.fO~Oa#ci!]#ci'z#ci'w#ci!Y#ci!k#civ#ci!_#ci%i#ci!g#ci~P!:tOn>]O!Q*OO'y*PO(y$}O(z%PO~O#k#_aa#_a#`#_a'z#_a!]#_a!k#_a!_#_a!Y#_a~P#/sO#k(`XP(`XR(`X[(`Xa(`Xj(`Xr(`X!S(`X!l(`X!p(`X#R(`X#n(`X#o(`X#p(`X#q(`X#r(`X#s(`X#t(`X#u(`X#v(`X#x(`X#z(`X#{(`X'z(`X(a(`X(r(`X!k(`X!Y(`X'w(`Xv(`X!_(`X%i(`X!g(`X~P!6kO!].tO!k(kX~P!:tO!k.wO~O!Y.yO~OP$[OR#zO!Q#yO!S#{O!l#xO!p$[O(aVO[#mia#mij#mir#mi!]#mi#R#mi#o#mi#p#mi#q#mi#r#mi#s#mi#t#mi#u#mi#v#mi#x#mi#z#mi#{#mi'z#mi(r#mi(y#mi(z#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#n#mi~P#3cO#n$OO~P#3cOP$[OR#zOr$aO!Q#yO!S#{O!l#xO!p$[O#n$OO#o$PO#p$PO#q$PO(aVO[#mia#mij#mi!]#mi#R#mi#s#mi#t#mi#u#mi#v#mi#x#mi#z#mi#{#mi'z#mi(r#mi(y#mi(z#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#r#mi~P#6QO#r$QO~P#6QOP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO(aVOa#mi!]#mi#x#mi#z#mi#{#mi'z#mi(r#mi(y#mi(z#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#v#mi~P#8oOP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO#v$SO(aVO(z#}Oa#mi!]#mi#z#mi#{#mi'z#mi(r#mi(y#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#x$UO~P#;VO#x#mi~P#;VO#v$SO~P#8oOP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO#v$SO#x$UO(aVO(y#|O(z#}Oa#mi!]#mi#{#mi'z#mi(r#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#z#mi~P#={O#z$WO~P#={OP]XR]X[]Xj]Xr]X!Q]X!S]X!l]X!p]X#R]X#S]X#`]X#kfX#n]X#o]X#p]X#q]X#r]X#s]X#t]X#u]X#v]X#x]X#z]X#{]X$Q]X(a]X(r]X(y]X(z]X!]]X!^]X~O$O]X~P#@jOP$[OR#zO[]O!Q*OO'y*PO(y$}O(z%POP#miR#mi!S#mi!l#mi!p#mi#n#mi#o#mi#p#mi#q#mi(a#mi~P#EyO!]/POg(pX~P!1WOg/RO~Oa$Pi!]$Pi'z$Pi'w$Pi!Y$Pi!k$Piv$Pi!_$Pi%i$Pi!g$Pi~P!:tO$]/SO$_/SO~O$]/TO$_/TO~O!g)hO#`/UO!_$cX$Z$cX$]$cX$_$cX$f$cX~O![/VO~O!_)kO$Z/XO$])jO$_)jO$f/YO~O!]VO!l$xO#j^O!Q*OO'y*PO(y$}O(z%POP#miR#mi!S#mi!l#mi!p#mi#n#mi#o#mi#p#mi#q#mi(a#mi~P&,QO#S$dOP(`XR(`X[(`Xj(`Xn(`Xr(`X!Q(`X!S(`X!l(`X!p(`X#R(`X#n(`X#o(`X#p(`X#q(`X#r(`X#s(`X#t(`X#u(`X#v(`X#x(`X#z(`X#{(`X$O(`X'y(`X(a(`X(r(`X(y(`X(z(`X!](`X!^(`X~O$O$Pi!]$Pi!^$Pi~P#BwO$O!ri!^!ri~P$+oOg']a!]']a~P!1WO!^7nO~O!]'da!^'da~P#BwO!Y7oO~P#/sO!g#vO(r'pO!]'ea!k'ea~O!]/pO!k)Oi~O!]/pO!g#vO!k)Oi~Og$|q!]$|q#`$|q$O$|q~P!1WO!Y'ga!]'ga~P#/sO!g7vO~O!]/yO!Y)Pi~P#/sO!]/yO!Y)Pi~O!Y7yO~Oh%VOr8OO!l%eO(r'pO~Oj8QO!g#vO~Or8TO!g#vO(r'pO~O!Q*OO'y*PO(z%POn'ja(y'ja!]'ja#`'ja~Og'ja$O'ja~P&5RO!Q*OO'y*POn'la(y'la(z'la!]'la#`'la~Og'la$O'la~P&5tOg(_q!](_q~P!1WO#`8VOg(_q!](_q~P!1WO!Y8WO~Og%Oq!]%Oq#`%Oq$O%Oq~P!1WOa$oy!]$oy'z$oy'w$oy!Y$oy!k$oyv$oy!_$oy%i$oy!g$oy~P!:tO!g6rO~O!]5[O!_)Qa~O!_'`OP$TaR$Ta[$Taj$Tar$Ta!Q$Ta!S$Ta!]$Ta!l$Ta!p$Ta#R$Ta#n$Ta#o$Ta#p$Ta#q$Ta#r$Ta#s$Ta#t$Ta#u$Ta#v$Ta#x$Ta#z$Ta#{$Ta(a$Ta(r$Ta(y$Ta(z$Ta~O%i7WO~P&8fO%^8[Oa%[i!_%[i'z%[i!]%[i~Oa#cy!]#cy'z#cy'w#cy!Y#cy!k#cyv#cy!_#cy%i#cy!g#cy~P!:tO[8^O~Ob8`O(T+qO(VTO(YUO~O!]1TO!^)Xi~O`8dO~O(e(|O!]'pX!^'pX~O!]5uO!^)Ua~O!^8nO~P%;eO(o!sO~P$&YO#[8oO~O!_1oO~O!_1oO%i8qO~On8tO!_1oO%i8qO~O[8yO!]'sa!^'sa~O!]1zO!^)Vi~O!k8}O~O!k9OO~O!k9RO~O!k9RO~P%[Oa9TO~O!g9UO~O!k9VO~O!](wi!^(wi~P#BwOa%nO#`9_O'z%nO~O!](ty!k(tya(ty'z(ty~P!:tO!](jO!k(sy~O%i9bO~P&8fO!_'`O%i9bO~O#k$|qP$|qR$|q[$|qa$|qj$|qr$|q!S$|q!]$|q!l$|q!p$|q#R$|q#n$|q#o$|q#p$|q#q$|q#r$|q#s$|q#t$|q#u$|q#v$|q#x$|q#z$|q#{$|q'z$|q(a$|q(r$|q!k$|q!Y$|q'w$|q#`$|qv$|q!_$|q%i$|q!g$|q~P#/sO#k'jaP'jaR'ja['jaa'jaj'jar'ja!S'ja!l'ja!p'ja#R'ja#n'ja#o'ja#p'ja#q'ja#r'ja#s'ja#t'ja#u'ja#v'ja#x'ja#z'ja#{'ja'z'ja(a'ja(r'ja!k'ja!Y'ja'w'jav'ja!_'ja%i'ja!g'ja~P&5RO#k'laP'laR'la['laa'laj'lar'la!S'la!l'la!p'la#R'la#n'la#o'la#p'la#q'la#r'la#s'la#t'la#u'la#v'la#x'la#z'la#{'la'z'la(a'la(r'la!k'la!Y'la'w'lav'la!_'la%i'la!g'la~P&5tO#k%OqP%OqR%Oq[%Oqa%Oqj%Oqr%Oq!S%Oq!]%Oq!l%Oq!p%Oq#R%Oq#n%Oq#o%Oq#p%Oq#q%Oq#r%Oq#s%Oq#t%Oq#u%Oq#v%Oq#x%Oq#z%Oq#{%Oq'z%Oq(a%Oq(r%Oq!k%Oq!Y%Oq'w%Oq#`%Oqv%Oq!_%Oq%i%Oq!g%Oq~P#/sO!]'Yi!k'Yi~P!:tO$O#cq!]#cq!^#cq~P#BwO(y$}OP%aaR%aa[%aaj%aar%aa!S%aa!l%aa!p%aa#R%aa#n%aa#o%aa#p%aa#q%aa#r%aa#s%aa#t%aa#u%aa#v%aa#x%aa#z%aa#{%aa$O%aa(a%aa(r%aa!]%aa!^%aa~On%aa!Q%aa'y%aa(z%aa~P&IyO(z%POP%caR%ca[%caj%car%ca!S%ca!l%ca!p%ca#R%ca#n%ca#o%ca#p%ca#q%ca#r%ca#s%ca#t%ca#u%ca#v%ca#x%ca#z%ca#{%ca$O%ca(a%ca(r%ca!]%ca!^%ca~On%ca!Q%ca'y%ca(y%ca~P&LQOn>^O!Q*OO'y*PO(z%PO~P&IyOn>^O!Q*OO'y*PO(y$}O~P&LQOR0kO!Q0kO!S0lO#S$dOP}a[}aj}an}ar}a!l}a!p}a#R}a#n}a#o}a#p}a#q}a#r}a#s}a#t}a#u}a#v}a#x}a#z}a#{}a$O}a'y}a(a}a(r}a(y}a(z}a!]}a!^}a~O!Q*OO'y*POP$saR$sa[$saj$san$sar$sa!S$sa!l$sa!p$sa#R$sa#n$sa#o$sa#p$sa#q$sa#r$sa#s$sa#t$sa#u$sa#v$sa#x$sa#z$sa#{$sa$O$sa(a$sa(r$sa(y$sa(z$sa!]$sa!^$sa~O!Q*OO'y*POP$uaR$ua[$uaj$uan$uar$ua!S$ua!l$ua!p$ua#R$ua#n$ua#o$ua#p$ua#q$ua#r$ua#s$ua#t$ua#u$ua#v$ua#x$ua#z$ua#{$ua$O$ua(a$ua(r$ua(y$ua(z$ua!]$ua!^$ua~On>^O!Q*OO'y*PO(y$}O(z%PO~OP%TaR%Ta[%Taj%Tar%Ta!S%Ta!l%Ta!p%Ta#R%Ta#n%Ta#o%Ta#p%Ta#q%Ta#r%Ta#s%Ta#t%Ta#u%Ta#v%Ta#x%Ta#z%Ta#{%Ta$O%Ta(a%Ta(r%Ta!]%Ta!^%Ta~P''VO$O$mq!]$mq!^$mq~P#BwO$O$oq!]$oq!^$oq~P#BwO!^9oO~O$O9pO~P!1WO!g#vO!]'ei!k'ei~O!g#vO(r'pO!]'ei!k'ei~O!]/pO!k)Oq~O!Y'gi!]'gi~P#/sO!]/yO!Y)Pq~Or9wO!g#vO(r'pO~O[9yO!Y9xO~P#/sO!Y9xO~Oj:PO!g#vO~Og(_y!](_y~P!1WO!]'na!_'na~P#/sOa%[q!_%[q'z%[q!]%[q~P#/sO[:UO~O!]1TO!^)Xq~O`:YO~O#`:ZO!]'pa!^'pa~O!]5uO!^)Ui~P#BwO!S:]O~O!_1oO%i:`O~O(VTO(YUO(e:eO~O!]1zO!^)Vq~O!k:hO~O!k:iO~O!k:jO~O!k:jO~P%[O#`:mO!]#hy!^#hy~O!]#hy!^#hy~P#BwO%i:rO~P&8fO!_'`O%i:rO~O$O#|y!]#|y!^#|y~P#BwOP$|iR$|i[$|ij$|ir$|i!S$|i!l$|i!p$|i#R$|i#n$|i#o$|i#p$|i#q$|i#r$|i#s$|i#t$|i#u$|i#v$|i#x$|i#z$|i#{$|i$O$|i(a$|i(r$|i!]$|i!^$|i~P''VO!Q*OO'y*PO(z%POP'iaR'ia['iaj'ian'iar'ia!S'ia!l'ia!p'ia#R'ia#n'ia#o'ia#p'ia#q'ia#r'ia#s'ia#t'ia#u'ia#v'ia#x'ia#z'ia#{'ia$O'ia(a'ia(r'ia(y'ia!]'ia!^'ia~O!Q*OO'y*POP'kaR'ka['kaj'kan'kar'ka!S'ka!l'ka!p'ka#R'ka#n'ka#o'ka#p'ka#q'ka#r'ka#s'ka#t'ka#u'ka#v'ka#x'ka#z'ka#{'ka$O'ka(a'ka(r'ka(y'ka(z'ka!]'ka!^'ka~O(y$}OP%aiR%ai[%aij%ain%air%ai!Q%ai!S%ai!l%ai!p%ai#R%ai#n%ai#o%ai#p%ai#q%ai#r%ai#s%ai#t%ai#u%ai#v%ai#x%ai#z%ai#{%ai$O%ai'y%ai(a%ai(r%ai(z%ai!]%ai!^%ai~O(z%POP%ciR%ci[%cij%cin%cir%ci!Q%ci!S%ci!l%ci!p%ci#R%ci#n%ci#o%ci#p%ci#q%ci#r%ci#s%ci#t%ci#u%ci#v%ci#x%ci#z%ci#{%ci$O%ci'y%ci(a%ci(r%ci(y%ci!]%ci!^%ci~O$O$oy!]$oy!^$oy~P#BwO$O#cy!]#cy!^#cy~P#BwO!g#vO!]'eq!k'eq~O!]/pO!k)Oy~O!Y'gq!]'gq~P#/sOr:|O!g#vO(r'pO~O[;QO!Y;PO~P#/sO!Y;PO~Og(_!R!](_!R~P!1WOa%[y!_%[y'z%[y!]%[y~P#/sO!]1TO!^)Xy~O!]5uO!^)Uq~O(T;XO~O!_1oO%i;[O~O!k;_O~O%i;dO~P&8fOP$|qR$|q[$|qj$|qr$|q!S$|q!l$|q!p$|q#R$|q#n$|q#o$|q#p$|q#q$|q#r$|q#s$|q#t$|q#u$|q#v$|q#x$|q#z$|q#{$|q$O$|q(a$|q(r$|q!]$|q!^$|q~P''VO!Q*OO'y*PO(z%POP'jaR'ja['jaj'jan'jar'ja!S'ja!l'ja!p'ja#R'ja#n'ja#o'ja#p'ja#q'ja#r'ja#s'ja#t'ja#u'ja#v'ja#x'ja#z'ja#{'ja$O'ja(a'ja(r'ja(y'ja!]'ja!^'ja~O!Q*OO'y*POP'laR'la['laj'lan'lar'la!S'la!l'la!p'la#R'la#n'la#o'la#p'la#q'la#r'la#s'la#t'la#u'la#v'la#x'la#z'la#{'la$O'la(a'la(r'la(y'la(z'la!]'la!^'la~OP%OqR%Oq[%Oqj%Oqr%Oq!S%Oq!l%Oq!p%Oq#R%Oq#n%Oq#o%Oq#p%Oq#q%Oq#r%Oq#s%Oq#t%Oq#u%Oq#v%Oq#x%Oq#z%Oq#{%Oq$O%Oq(a%Oq(r%Oq!]%Oq!^%Oq~P''VOg%e!Z!]%e!Z#`%e!Z$O%e!Z~P!1WO!Y;hO~P#/sOr;iO!g#vO(r'pO~O[;kO!Y;hO~P#/sO!]'pq!^'pq~P#BwO!]#h!Z!^#h!Z~P#BwO#k%e!ZP%e!ZR%e!Z[%e!Za%e!Zj%e!Zr%e!Z!S%e!Z!]%e!Z!l%e!Z!p%e!Z#R%e!Z#n%e!Z#o%e!Z#p%e!Z#q%e!Z#r%e!Z#s%e!Z#t%e!Z#u%e!Z#v%e!Z#x%e!Z#z%e!Z#{%e!Z'z%e!Z(a%e!Z(r%e!Z!k%e!Z!Y%e!Z'w%e!Z#`%e!Zv%e!Z!_%e!Z%i%e!Z!g%e!Z~P#/sOr;tO!g#vO(r'pO~O!Y;uO~P#/sOr;|O!g#vO(r'pO~O!Y;}O~P#/sOP%e!ZR%e!Z[%e!Zj%e!Zr%e!Z!S%e!Z!l%e!Z!p%e!Z#R%e!Z#n%e!Z#o%e!Z#p%e!Z#q%e!Z#r%e!Z#s%e!Z#t%e!Z#u%e!Z#v%e!Z#x%e!Z#z%e!Z#{%e!Z$O%e!Z(a%e!Z(r%e!Z!]%e!Z!^%e!Z~P''VOrROe!iOpkOrPO(T)]O(VTO(YUO(aVO(o[O~O!]WO!l$xO#jgPPP!>oI[PPPPPPPPP!BOP!C]PPI[!DnPI[PI[I[I[I[I[PI[!FQP!I[P!LbP!Lf!Lp!Lt!LtP!IXP!Lx!LxP#!OP#!SI[PI[#!Y#%_CjA^PA^PA^A^P#&lA^A^#)OA^#+vA^#.SA^A^#.r#1W#1W#1]#1f#1W#1qPP#1WPA^#2ZA^#6YA^A^6mPPP#:_PPP#:x#:xP#:xP#;`#:xPP#;fP#;]P#;]#;y#;]#P#>V#>]#>k#>q#>{#?R#?]#?c#?s#?y#@k#@}#AT#AZ#Ai#BO#Cs#DR#DY#Et#FS#Gt#HS#HY#H`#Hf#Hp#Hv#H|#IW#Ij#IpPPPPPPPPPPP#IvPPPPPPP#Jk#Mx$ b$ i$ qPPP$']P$'f$*_$0x$0{$1O$1}$2Q$2X$2aP$2g$2jP$3W$3[$4S$5b$5g$5}PP$6S$6Y$6^$6a$6e$6i$7e$7|$8e$8i$8l$8o$8y$8|$9Q$9UR!|RoqOXst!Z#d%m&r&t&u&w,s,x2[2_Y!vQ'`-e1o5{Q%tvQ%|yQ&T|Q&j!VS'W!e-]Q'f!iS'l!r!yU*k$|*Z*oQ+o%}S+|&V&WQ,d&dQ-c'_Q-m'gQ-u'mQ0[*qQ1b,OQ1y,eR<{SU+P%]S!S!nQ!r!v!y!z$|'W'_'`'l'm'n*k*o*q*r-]-c-e-u0[0_1o5{5}%[$ti#v$b$c$d$x${%O%Q%^%_%c)y*R*T*V*Y*a*g*w*x+f+i,S,V.f/P/d/m/x/y/{0`0b0i0j0o1f1i1q3c4^4_4j4o5Q5[5_6S7W7v8Q8V8[8q9b9p9y:P:`:r;Q;[;d;kP>X>Y>]>^Q&X|Q'U!eS'[%i-`Q+t&PQ,P&WQ,f&gQ0n+SQ1Y+uQ1_+{Q2Q,jQ2R,kQ5f1TQ5o1aQ6[1zQ6_1|Q6`2PQ8`5gQ8c5lQ8|6bQ:X8dQ:f8yQ;V:YR<}*ZrnOXst!V!Z#d%m&i&r&t&u&w,s,x2[2_R,h&k&z^OPXYstuvwz!Z!`!g!j!o#S#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%m%t&R&k&n&o&r&t&u&w&{'T'b'r(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:mR>S[#]WZ#W#Z'X(T!b%jm#h#i#l$x%e%h(^(h(i(j*Y*^*b+Z+[+^,o-V.T.Z.[.]._/m/p2d3[3]4a6r7TQ%wxQ%{yW&Q|&V&W,OQ&_!TQ'c!hQ'e!iQ(q#sS+n%|%}Q+r&PQ,_&bQ,c&dS-l'f'gQ.i(rQ1R+oQ1X+uQ1Z+vQ1^+zQ1t,`S1x,d,eQ2|-mQ5e1TQ5i1WQ5n1`Q6Z1yQ8_5gQ8b5kQ8f5pQ:T8^R;T:U!U$zi$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Y!^%yy!i!u%{%|%}'V'e'f'g'k'u*j+n+o-Y-l-m-t0R0U1R2u2|3T4r4s4v7}9{Q+h%wQ,T&[Q,W&]Q,b&dQ.h(qQ1s,_U1w,c,d,eQ3e.iQ6U1tS6Y1x1yQ8x6Z#f>T#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k]>^o>UPS&[!Q&iQ&]!RQ&^!SU*}%[%d=sR,R&Y%]%Si#v$b$c$d$x${%O%Q%^%_%c)y*R*T*V*Y*a*g*w*x+f+i,S,V.f/P/d/m/x/y/{0`0b0i0j0o1f1i1q3c4^4_4j4o5Q5[5_6S7W7v8Q8V8[8q9b9p9y:P:`:r;Q;[;d;kP>X>Y>]>^T)z$u){V+P%]S$i$^c#Y#e%q%s%u(S(Y(t(y)R)S)T)U)V)W)X)Y)Z)[)^)`)b)g)q+d+x-Z-x-}.S.U.s.v.z.|.}/O/b0p2k2n3O3V3k3p3q3r3s3t3u3v3w3x3y3z3{3|4P4Q4X5X5c6u6{7Q7a7b7k7l8k9X9]9g9m9n:o;W;`SQ'Y!eR2q-]!W!nQ!e!r!v!y!z$|'W'_'`'l'm'n*Z*k*o*q*r-]-c-e-u0[0_1o5{5}R1l,ZnqOXst!Z#d%m&r&t&u&w,s,x2[2_Q&y!^Q'v!xS(s#u<^Q+l%zQ,]&_Q,^&aQ-j'dQ-w'oS.r(x=PS0q+X=ZQ1P+mQ1n,[Q2c,zQ2e,{Q2m-WQ2z-kQ2}-oS5Y0r=eQ5a1QS5d1S=fQ6t2oQ6x2{Q6}3SQ8]5bQ9Y6vQ9Z6yQ9^7OR:l9V$d$]c#Y#e%s%u(S(Y(t(y)R)S)T)U)V)W)X)Y)Z)[)^)`)b)g)q+d+x-Z-x-}.S.U.s.v.z.}/O/b0p2k2n3O3V3k3p3q3r3s3t3u3v3w3x3y3z3{3|4P4Q4X5X5c6u6{7Q7a7b7k7l8k9X9]9g9m9n:o;W;`SS#q]SU$fd)_,mS(p#p'iU*v%R(w4OU0m+O.n7gQ5^0xQ7V3`Q9d7YR:s9em!tQ!r!v!y!z'`'l'm'n-e-u1o5{5}Q't!uS(f#g2US-s'k'wQ/s*]Q0R*jQ3U-vQ4f/tQ4r0TQ4s0UQ4x0^Q7r4`S7}4t4vS8R4y4{Q9r7sQ9v7yQ9{8OQ:Q8TS:{9w9xS;g:|;PS;s;h;iS;{;t;uSSR=o>R%^bOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&o&r&t&u&w&{'T'b'r(T(V(](d(x(z)O)}*i+X+]+g,p,s,x-i-q.P.V.g.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3d3l4z6T6e6f6i6|7[8t9T9_Q%fj!^%xy!i!u%{%|%}'V'e'f'g'k'u*j+n+o-Y-l-m-t0R0U1R2u2|3T4r4s4v7}9{S&Oz!jQ+k%yQ,a&dW1v,b,c,d,eU6X1w1x1yS8w6Y6ZQ:d8x!r=j$Z$n'X)s-U-X/V2p4T5w6s:Z:mSQ=t>QR=u>R%QeOPXYstuvw!Z!`!g!o#S#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&r&t&u&w&{'T'b'r(V(](d(x(z)O)}*i+X+]+g,p,s,x-i-q.P.V.g.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3d3l4z6T6e6f6i6|7[8t9T9_Y#bWZ#W#Z(T!b%jm#h#i#l$x%e%h(^(h(i(j*Y*^*b+Z+[+^,o-V.T.Z.[.]._/m/p2d3[3]4a6r7TQ,n&o!p=k$Z$n)s-U-X/V2p4T5w6s:Z:mSR=n'XU']!e%i*ZR2s-`%SdOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&r&t&u&w&{'T'b'r(T(V(](d(x(z)O)}*i+X+],p,s,x-i-q.P.V.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3l4z6T6e6f6i6|8t9T9_!r)_$Z$n'X)s-U-X/V2p4T5w6s:Z:mSQ,m&oQ0x+gQ3`.gQ7Y3dR9e7[!b$Tc#Y%q(S(Y(t(y)Z)[)`)g+x-x-}.S.U.s.v/b0p3O3V3k3{5X5c6{7Q7a9]:oS)^)q-Z.|2k2n3p4P4X6u7b7k7l8k9X9g9m9n;W;`=vQ>X>ZR>Y>['QkOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%m%t&R&k&n&o&r&t&u&w&{'T'X'b'r(T(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:mSS$oh$pR4U/U'XgOPWXYZhstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n$p%m%t&R&k&n&o&r&t&u&w&{'T'X'b'r(T(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/U/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:mST$kf$qQ$ifS)j$l)nR)v$qT$jf$qT)l$l)n'XhOPWXYZhstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n$p%m%t&R&k&n&o&r&t&u&w&{'T'X'b'r(T(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/U/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:mST$oh$pQ$rhR)u$p%^jOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&o&r&t&u&w&{'T'b'r(T(V(](d(x(z)O)}*i+X+]+g,p,s,x-i-q.P.V.g.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3d3l4z6T6e6f6i6|7[8t9T9_!s>Q$Z$n'X)s-U-X/V2p4T5w6s:Z:mS#glOPXZst!Z!`!o#S#d#o#{$n%m&k&n&o&r&t&u&w&{'T'b)O)s*i+]+g,p,s,x-i.g/V/n0]0l1r2S2T2V2X2[2_2a3d4T4z6T6e6f6i7[8t9T!U%Ri$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Y#f(w#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k]>^Q+T%aQ/c*Oo4OP>X>YQ*c$zU*l$|*Z*oQ+U%bQ0W*m#f=q#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k]>^n=rTQ=x>UQ=y>VR=z>W!U%Ri$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Y#f(w#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k]>^o4OP>X>Y>]>^Q,U&]Q1h,WQ5s1gR8h5tV*n$|*Z*oU*n$|*Z*oT5z1o5{S0P*i/nQ4w0]T8S4z:]Q+j%xQ0V*lQ1O+kQ1u,aQ6W1vQ8v6XQ:c8wR;^:d!U%Oi$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Yx*R$v)e*S*u+V/v0d0e4R4g5R5S5W7p8U:R:x=p=}>OS0`*t0a#f]>^nZ>[`=T3}7c7f7j9h:t:w;yS=_.l3iT=`7e9k!U%Qi$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Y|*T$v)e*U*t+V/g/v0d0e4R4g4|5R5S5W7p8U:R:x=p=}>OS0b*u0c#f]>^nZ>[d=V3}7d7e7j9h9i:t:u:w;yS=a.m3jT=b7f9lrnOXst!V!Z#d%m&i&r&t&u&w,s,x2[2_Q&f!UR,p&ornOXst!V!Z#d%m&i&r&t&u&w,s,x2[2_R&f!UQ,Y&^R1d,RsnOXst!V!Z#d%m&i&r&t&u&w,s,x2[2_Q1p,_S6R1s1tU8p6P6Q6US:_8r8sS;Y:^:aQ;m;ZR;w;nQ&m!VR,i&iR6_1|R:f8yW&Q|&V&W,OR1Z+vQ&r!WR,s&sR,y&xT2],x2_R,}&yQ,|&yR2f,}Q'y!{R-y'ySsOtQ#dXT%ps#dQ#OTR'{#OQ#RUR'}#RQ){$uR/`){Q#UVR(Q#UQ#XWU(W#X(X.QQ(X#YR.Q(YQ-^'YR2r-^Q.u(yS3m.u3nR3n.vQ-e'`R2v-eY!rQ'`-e1o5{R'j!rQ/Q)eR4S/QU#_W%h*YU(_#_(`.RQ(`#`R.R(ZQ-a']R2t-at`OXst!V!Z#d%m&i&k&r&t&u&w,s,x2[2_S#hZ%eU#r`#h.[R.[(jQ(k#jQ.X(gW.a(k.X3X7RQ3X.YR7R3YQ)n$lR/W)nQ$phR)t$pQ$`cU)a$`-|O>Z>[Q/z*eU4k/z4m7xQ4m/|R7x4lS*o$|*ZR0Y*ox*S$v)e*t*u+V/v0d0e4R4g5R5S5W7p8U:R:x=p=}>O!d.j(u)c*[*e.l.m.q/_/k/|0v1e3h4[4h4l5r7]7`7w7z8X8Z9t9|:S:};R;e;j;v>Z>[U/h*S.j7ca7c3}7e7f7j9h:t:w;yQ0a*tQ3i.lU4}0a3i9kR9k7e|*U$v)e*t*u+V/g/v0d0e4R4g4|5R5S5W7p8U:R:x=p=}>O!h.k(u)c*[*e.l.m.q/_/k/|0v1e3f3h4[4h4l5r7]7^7`7w7z8X8Z9t9|:S:};R;e;j;v>Z>[U/j*U.k7de7d3}7e7f7j9h9i:t:u:w;yQ0c*uQ3j.mU5P0c3j9lR9l7fQ*z%UR0g*zQ5]0vR8Y5]Q+_%kR0u+_Q5v1jS8j5v:[R:[8kQ,[&_R1m,[Q5{1oR8m5{Q1{,fS6]1{8zR8z6_Q1U+rW5h1U5j8a:VQ5j1XQ8a5iR:V8bQ+w&QR1[+wQ2_,xR6m2_YrOXst#dQ&v!ZQ+a%mQ,r&rQ,t&tQ,u&uQ,w&wQ2Y,sS2],x2_R6l2[Q%opQ&z!_Q&}!aQ'P!bQ'R!cQ'q!uQ+`%lQ+l%zQ,Q&XQ,h&mQ-P&|W-p'k's't'wQ-w'oQ0X*nQ1P+mQ1c,PS2O,i,lQ2g-OQ2h-RQ2i-SQ2}-oW3P-r-s-v-xQ5a1QQ5m1_Q5q1eQ6V1uQ6a2QQ6k2ZU6z3O3R3UQ6}3SQ8]5bQ8e5oQ8g5rQ8l5zQ8u6WQ8{6`S9[6{7PQ9^7OQ:W8cQ:b8vQ:g8|Q:n9]Q;U:XQ;]:cQ;a:oQ;l;VR;o;^Q%zyQ'd!iQ'o!uU+m%{%|%}Q-W'VU-k'e'f'gS-o'k'uQ0Q*jS1Q+n+oQ2o-YS2{-l-mQ3S-tS4p0R0UQ5b1RQ6v2uQ6y2|Q7O3TU7{4r4s4vQ9z7}R;O9{S$wi>PR*{%VU%Ui%V>PR0f*yQ$viS(u#v+iS)c$b$cQ)e$dQ*[$xS*e${*YQ*t%OQ*u%QQ+Q%^Q+R%_Q+V%cQ.lPQ=}>XQ>O>YQ>Z>]R>[>^Q+O%]Q.nSR#[WR'Z!el!tQ!r!v!y!z'`'l'm'n-e-u1o5{5}S'V!e-]U*j$|*Z*oS-Y'W'_S0U*k*qQ0^*rQ2u-cQ4v0[R4{0_R({#xQ!fQT-d'`-e]!qQ!r'`-e1o5{Q#p]R'i < TypeParamList in out const TypeDefinition extends ThisType this LiteralType ArithOp Number BooleanLiteral TemplateType InterpolationEnd Interpolation InterpolationStart NullType null VoidType void TypeofType typeof MemberExpression . PropertyName [ TemplateString Escape Interpolation super RegExp ] ArrayExpression Spread , } { ObjectExpression Property async get set PropertyDefinition Block : NewTarget new NewExpression ) ( ArgList UnaryExpression delete LogicOp BitOp YieldExpression yield AwaitExpression await ParenthesizedExpression ClassExpression class ClassBody MethodDeclaration Decorator @ MemberExpression PrivatePropertyName CallExpression TypeArgList CompareOp < declare Privacy static abstract override PrivatePropertyDefinition PropertyDeclaration readonly accessor Optional TypeAnnotation Equals StaticBlock FunctionExpression ArrowFunction ParamList ParamList ArrayPattern ObjectPattern PatternProperty Privacy readonly Arrow MemberExpression BinaryExpression ArithOp ArithOp ArithOp ArithOp BitOp CompareOp instanceof satisfies CompareOp BitOp BitOp BitOp LogicOp LogicOp ConditionalExpression LogicOp LogicOp AssignmentExpression UpdateOp PostfixExpression CallExpression InstantiationExpression TaggedTemplateExpression DynamicImport import ImportMeta JSXElement JSXSelfCloseEndTag JSXSelfClosingTag JSXIdentifier JSXBuiltin JSXIdentifier JSXNamespacedName JSXMemberExpression JSXSpreadAttribute JSXAttribute JSXAttributeValue JSXEscape JSXEndTag JSXOpenTag JSXFragmentTag JSXText JSXEscape JSXStartCloseTag JSXCloseTag PrefixCast < ArrowFunction TypeParamList SequenceExpression InstantiationExpression KeyofType keyof UniqueType unique ImportType InferredType infer TypeName ParenthesizedType FunctionSignature ParamList NewSignature IndexedType TupleType Label ArrayType ReadonlyType ObjectType MethodType PropertyType IndexSignature PropertyDefinition CallSignature TypePredicate asserts is NewSignature new UnionType LogicOp IntersectionType LogicOp ConditionalType ParameterizedType ClassDeclaration abstract implements type VariableDeclaration let var using TypeAliasDeclaration InterfaceDeclaration interface EnumDeclaration enum EnumBody NamespaceDeclaration namespace module AmbientDeclaration declare GlobalDeclaration global ClassDeclaration ClassBody AmbientFunctionDeclaration ExportGroup VariableName VariableName ImportDeclaration defer ImportGroup ForStatement for ForSpec ForInSpec ForOfSpec of WhileStatement while WithStatement with DoStatement do IfStatement if else SwitchStatement switch SwitchBody CaseLabel case DefaultLabel TryStatement try CatchClause catch FinallyClause finally ReturnStatement return ThrowStatement throw BreakStatement break ContinueStatement continue DebuggerStatement debugger LabeledStatement ExpressionStatement SingleExpression SingleClassItem",maxTerm:380,context:n1,nodeProps:[["isolate",-8,5,6,14,37,39,51,53,55,""],["group",-26,9,17,19,68,207,211,215,216,218,221,224,234,237,243,245,247,249,252,258,264,266,268,270,272,274,275,"Statement",-34,13,14,32,35,36,42,51,54,55,57,62,70,72,76,80,82,84,85,110,111,120,121,136,139,141,142,143,144,145,147,148,167,169,171,"Expression",-23,31,33,37,41,43,45,173,175,177,178,180,181,182,184,185,186,188,189,190,201,203,205,206,"Type",-3,88,103,109,"ClassItem"],["openedBy",23,"<",38,"InterpolationStart",56,"[",60,"{",73,"(",160,"JSXStartCloseTag"],["closedBy",-2,24,168,">",40,"InterpolationEnd",50,"]",61,"}",74,")",165,"JSXEndTag"]],propSources:[c1],skippedNodes:[0,5,6,278],repeatNodeCount:37,tokenData:"$Fq07[R!bOX%ZXY+gYZ-yZ[+g[]%Z]^.c^p%Zpq+gqr/mrs3cst:_tuEruvJSvwLkwx! Yxy!'iyz!(sz{!)}{|!,q|}!.O}!O!,q!O!P!/Y!P!Q!9j!Q!R#:O!R![#<_![!]#I_!]!^#Jk!^!_#Ku!_!`$![!`!a$$v!a!b$*T!b!c$,r!c!}Er!}#O$-|#O#P$/W#P#Q$4o#Q#R$5y#R#SEr#S#T$7W#T#o$8b#o#p$x#r#s$@U#s$f%Z$f$g+g$g#BYEr#BY#BZ$A`#BZ$ISEr$IS$I_$A`$I_$I|Er$I|$I}$Dk$I}$JO$Dk$JO$JTEr$JT$JU$A`$JU$KVEr$KV$KW$A`$KW&FUEr&FU&FV$A`&FV;'SEr;'S;=`I|<%l?HTEr?HT?HU$A`?HUOEr(n%d_$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z&j&hT$i&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c&j&zP;=`<%l&c'|'U]$i&j(Z!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!b(SU(Z!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}!b(iP;=`<%l'}'|(oP;=`<%l&}'[(y]$i&j(WpOY(rYZ&cZr(rrs&cs!^(r!^!_)r!_#O(r#O#P&c#P#o(r#o#p)r#p;'S(r;'S;=`*a<%lO(rp)wU(WpOY)rZr)rs#O)r#P;'S)r;'S;=`*Z<%lO)rp*^P;=`<%l)r'[*dP;=`<%l(r#S*nX(Wp(Z!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g#S+^P;=`<%l*g(n+dP;=`<%l%Z07[+rq$i&j(Wp(Z!b'|0/lOX%ZXY+gYZ&cZ[+g[p%Zpq+gqr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p$f%Z$f$g+g$g#BY%Z#BY#BZ+g#BZ$IS%Z$IS$I_+g$I_$JT%Z$JT$JU+g$JU$KV%Z$KV$KW+g$KW&FU%Z&FU&FV+g&FV;'S%Z;'S;=`+a<%l?HT%Z?HT?HU+g?HUO%Z07[.ST(X#S$i&j'}0/lO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c07[.n_$i&j(Wp(Z!b'}0/lOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z)3p/x`$i&j!p),Q(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`0z!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW1V`#v(Ch$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`2X!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW2d_#v(Ch$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'At3l_(V':f$i&j(Z!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k(^4r_$i&j(Z!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k&z5vX$i&jOr5qrs6cs!^5q!^!_6y!_#o5q#o#p6y#p;'S5q;'S;=`7h<%lO5q&z6jT$d`$i&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c`6|TOr6yrs7]s;'S6y;'S;=`7b<%lO6y`7bO$d``7eP;=`<%l6y&z7kP;=`<%l5q(^7w]$d`$i&j(Z!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!r8uZ(Z!bOY8pYZ6yZr8prs9hsw8pwx6yx#O8p#O#P6y#P;'S8p;'S;=`:R<%lO8p!r9oU$d`(Z!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}!r:UP;=`<%l8p(^:[P;=`<%l4k%9[:hh$i&j(Wp(Z!bOY%ZYZ&cZq%Zqr`#P#o`x!^=^!^!_?q!_#O=^#O#P>`#P#o=^#o#p?q#p;'S=^;'S;=`@h<%lO=^&n>gXWS$i&jOY>`YZ&cZ!^>`!^!_?S!_#o>`#o#p?S#p;'S>`;'S;=`?k<%lO>`S?XSWSOY?SZ;'S?S;'S;=`?e<%lO?SS?hP;=`<%l?S&n?nP;=`<%l>`!f?xWWS(Z!bOY?qZw?qwx?Sx#O?q#O#P?S#P;'S?q;'S;=`@b<%lO?q!f@eP;=`<%l?q(Q@kP;=`<%l=^'`@w]WS$i&j(WpOY@nYZ&cZr@nrs>`s!^@n!^!_Ap!_#O@n#O#P>`#P#o@n#o#pAp#p;'S@n;'S;=`Bg<%lO@ntAwWWS(WpOYApZrAprs?Ss#OAp#O#P?S#P;'SAp;'S;=`Ba<%lOAptBdP;=`<%lAp'`BjP;=`<%l@n#WBvYWS(Wp(Z!bOYBmZrBmrs?qswBmwxApx#OBm#O#P?S#P;'SBm;'S;=`Cf<%lOBm#WCiP;=`<%lBm(rCoP;=`<%l^!Q^$i&j!X7`OY!=yYZ&cZ!P!=y!P!Q!>|!Q!^!=y!^!_!@c!_!}!=y!}#O!CW#O#P!Dy#P#o!=y#o#p!@c#p;'S!=y;'S;=`!Ek<%lO!=y|#X#Z&c#Z#[!>|#[#]&c#]#^!>|#^#a&c#a#b!>|#b#g&c#g#h!>|#h#i&c#i#j!>|#j#k!>|#k#m&c#m#n!>|#n#o&c#p;'S&c;'S;=`&w<%lO&c7`!@hX!X7`OY!@cZ!P!@c!P!Q!AT!Q!}!@c!}#O!Ar#O#P!Bq#P;'S!@c;'S;=`!CQ<%lO!@c7`!AYW!X7`#W#X!AT#Z#[!AT#]#^!AT#a#b!AT#g#h!AT#i#j!AT#j#k!AT#m#n!AT7`!AuVOY!ArZ#O!Ar#O#P!B[#P#Q!@c#Q;'S!Ar;'S;=`!Bk<%lO!Ar7`!B_SOY!ArZ;'S!Ar;'S;=`!Bk<%lO!Ar7`!BnP;=`<%l!Ar7`!BtSOY!@cZ;'S!@c;'S;=`!CQ<%lO!@c7`!CTP;=`<%l!@c^!Ezl$i&j(Z!b!X7`OY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#W&}#W#X!Eq#X#Z&}#Z#[!Eq#[#]&}#]#^!Eq#^#a&}#a#b!Eq#b#g&}#g#h!Eq#h#i&}#i#j!Eq#j#k!Eq#k#m&}#m#n!Eq#n#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}8r!GyZ(Z!b!X7`OY!GrZw!Grwx!@cx!P!Gr!P!Q!Hl!Q!}!Gr!}#O!JU#O#P!Bq#P;'S!Gr;'S;=`!J|<%lO!Gr8r!Hse(Z!b!X7`OY'}Zw'}x#O'}#P#W'}#W#X!Hl#X#Z'}#Z#[!Hl#[#]'}#]#^!Hl#^#a'}#a#b!Hl#b#g'}#g#h!Hl#h#i'}#i#j!Hl#j#k!Hl#k#m'}#m#n!Hl#n;'S'};'S;=`(f<%lO'}8r!JZX(Z!bOY!JUZw!JUwx!Arx#O!JU#O#P!B[#P#Q!Gr#Q;'S!JU;'S;=`!Jv<%lO!JU8r!JyP;=`<%l!JU8r!KPP;=`<%l!Gr>^!KZ^$i&j(Z!bOY!KSYZ&cZw!KSwx!CWx!^!KS!^!_!JU!_#O!KS#O#P!DR#P#Q!^!LYP;=`<%l!KS>^!L`P;=`<%l!_#c#d#Bq#d#l%Z#l#m#Es#m#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#>j_$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#?rd$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!R#AQ!R!S#AQ!S!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#AQ#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#A]f$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!R#AQ!R!S#AQ!S!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#AQ#S#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#Bzc$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!Y#DV!Y!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#DV#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#Dbe$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!Y#DV!Y!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#DV#S#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#E|g$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![#Ge![!^%Z!^!_*g!_!c%Z!c!i#Ge!i#O%Z#O#P&c#P#R%Z#R#S#Ge#S#T%Z#T#Z#Ge#Z#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#Gpi$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![#Ge![!^%Z!^!_*g!_!c%Z!c!i#Ge!i#O%Z#O#P&c#P#R%Z#R#S#Ge#S#T%Z#T#Z#Ge#Z#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z*)x#Il_!g$b$i&j$O)Lv(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z)[#Jv_al$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z04f#LS^h#)`#R-v$?V_!^(CdvBr$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z?O$@a_!q7`$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z07[$Aq|$i&j(Wp(Z!b'|0/l$]#t(T,2j(e$I[OX%ZXY+gYZ&cZ[+g[p%Zpq+gqr%Zrs&}st%ZtuEruw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Er![!^%Z!^!_*g!_!c%Z!c!}Er!}#O%Z#O#P&c#P#R%Z#R#SEr#S#T%Z#T#oEr#o#p*g#p$f%Z$f$g+g$g#BYEr#BY#BZ$A`#BZ$ISEr$IS$I_$A`$I_$JTEr$JT$JU$A`$JU$KVEr$KV$KW$A`$KW&FUEr&FU&FV$A`&FV;'SEr;'S;=`I|<%l?HTEr?HT?HU$A`?HUOEr07[$D|k$i&j(Wp(Z!b'}0/l$]#t(T,2j(e$I[OY%ZYZ&cZr%Zrs&}st%ZtuEruw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Er![!^%Z!^!_*g!_!c%Z!c!}Er!}#O%Z#O#P&c#P#R%Z#R#SEr#S#T%Z#T#oEr#o#p*g#p$g%Z$g;'SEr;'S;=`I|<%lOEr",tokenizers:[s1,o1,a1,l1,2,3,4,5,6,7,8,9,10,11,12,13,14,r1,new Si("$S~RRtu[#O#Pg#S#T#|~_P#o#pb~gOx~~jVO#i!P#i#j!U#j#l!P#l#m!q#m;'S!P;'S;=`#v<%lO!P~!UO!U~~!XS!Q![!e!c!i!e#T#Z!e#o#p#Z~!hR!Q![!q!c!i!q#T#Z!q~!tR!Q![!}!c!i!}#T#Z!}~#QR!Q![!P!c!i!P#T#Z!P~#^R!Q![#g!c!i#g#T#Z#g~#jS!Q![#g!c!i#g#T#Z#g#q#r!P~#yP;=`<%l!P~$RO(c~~",141,340),new Si("j~RQYZXz{^~^O(Q~~aP!P!Qd~iO(R~~",25,323)],topRules:{Script:[0,7],SingleExpression:[1,276],SingleClassItem:[2,277]},dialects:{jsx:0,ts:15175},dynamicPrecedences:{80:1,82:1,94:1,169:1,199:1},specialized:[{term:327,get:i=>h1[i]||-1},{term:343,get:i=>f1[i]||-1},{term:95,get:i=>u1[i]||-1}],tokenPrec:15201});var jp=[he("function ${name}(${params}) {\n ${}\n}",{label:"function",detail:"definition",type:"keyword"}),he("for (let ${index} = 0; ${index} < ${bound}; ${index}++) {\n ${}\n}",{label:"for",detail:"loop",type:"keyword"}),he("for (let ${name} of ${collection}) {\n ${}\n}",{label:"for",detail:"of loop",type:"keyword"}),he("do {\n ${}\n} while (${})",{label:"do",detail:"loop",type:"keyword"}),he("while (${}) {\n ${}\n}",{label:"while",detail:"loop",type:"keyword"}),he(`try { +`);n=r<0?t:t.slice(0,r)}return e+n.length>this.to?n.slice(0,this.to-e):n}prevLineEnd(){return this.atEnd?this.lineStart:this.lineStart-1}startContext(e,t,n=0){this.block=Hs.create(e,n,this.lineStart+t,this.block.hash,this.lineStart+this.line.text.length),this.stack.push(this.block)}startComposite(e,t,n=0){this.startContext(this.parser.getNodeType(e),t,n)}addNode(e,t,n){typeof e=="number"&&(e=new K(this.parser.nodeSet.types[e],vn,vn,(n??this.prevLineEnd())-t)),this.block.addChild(e,t-this.block.from)}addElement(e){this.block.addChild(e.toTree(this.parser.nodeSet),e.from-this.block.from)}addLeafElement(e,t){this.addNode(this.buffer.writeElements(ic(t.children,e.marks),-t.from).finish(t.type,t.to-t.from),t.from)}finishContext(){let e=this.stack.pop(),t=this.stack[this.stack.length-1];t.addChild(e.toTree(this.parser.nodeSet),e.from-t.from),this.block=t}finish(){for(;this.stack.length>1;)this.finishContext();return this.addGaps(this.block.toTree(this.parser.nodeSet,this.lineStart))}addGaps(e){return this.ranges.length>1?Md(this.ranges,0,e.topNode,this.ranges[0].from,this.reusePlaceholders):e}finishLeaf(e){for(let n of e.parsers)if(n.finish(this,e))return;let t=ic(this.parser.parseInline(e.content,e.start),e.marks);this.addNode(this.buffer.writeElements(t,-e.start).finish(A.Paragraph,e.content.length),e.start)}elt(e,t,n,r){return typeof e=="string"?ne(this.parser.getNodeType(e),t,n,r):new Js(e,t)}get buffer(){return new Ks(this.parser.nodeSet)}};function Md(i,e,t,n,r){let s=i[e].to,o=[],a=[],l=t.from+n;function c(h,f){for(;f?h>=s:h>s;){let u=i[e+1].from-s;n+=u,h+=u,e++,s=i[e].to}}for(let h=t.firstChild;h;h=h.nextSibling){c(h.from+n,!0);let f=h.from+n,u,O=r.get(h.tree);O?u=O:h.to+n>s?(u=Md(i,e,h,n,r),c(h.to+n,!1)):u=h.toTree(),o.push(u),a.push(f-l)}return c(t.to+n,!1),new K(t.type,o,a,t.to+n-l,t.tree?t.tree.propValues:void 0)}var yr=class i extends Ut{constructor(e,t,n,r,s,o,a,l,c){super(),this.nodeSet=e,this.blockParsers=t,this.leafBlockParsers=n,this.blockNames=r,this.endLeafBlock=s,this.skipContextMarkup=o,this.inlineParsers=a,this.inlineNames=l,this.wrappers=c,this.nodeTypes=Object.create(null);for(let h of e.types)this.nodeTypes[h.name]=h.id}createParse(e,t,n){let r=new ec(this,e,t,n);for(let s of this.wrappers)r=s(r,e,t,n);return r}configure(e){let t=tc(e);if(!t)return this;let{nodeSet:n,skipContextMarkup:r}=this,s=this.blockParsers.slice(),o=this.leafBlockParsers.slice(),a=this.blockNames.slice(),l=this.inlineParsers.slice(),c=this.inlineNames.slice(),h=this.endLeafBlock.slice(),f=this.wrappers;if(Qr(t.defineNodes)){r=Object.assign({},r);let u=n.types.slice(),O;for(let m of t.defineNodes){let{name:p,block:b,composite:g,style:Q}=typeof m=="string"?{name:m}:m;if(u.some(P=>P.name==p))continue;g&&(r[u.length]=(P,$,Z)=>g($,Z,P.value));let S=u.length,x=g?["Block","BlockContext"]:b?S>=A.ATXHeading1&&S<=A.SetextHeading2?["Block","LeafBlock","Heading"]:["Block","LeafBlock"]:void 0;u.push(de.define({id:S,name:p,props:x&&[[I.group,x]]})),Q&&(O||(O={}),Array.isArray(Q)||Q instanceof Je?O[p]=Q:Object.assign(O,Q))}n=new It(u),O&&(n=n.extend(Qe(O)))}if(Qr(t.props)&&(n=n.extend(...t.props)),Qr(t.remove))for(let u of t.remove){let O=this.blockNames.indexOf(u),m=this.inlineNames.indexOf(u);O>-1&&(s[O]=o[O]=void 0),m>-1&&(l[m]=void 0)}if(Qr(t.parseBlock))for(let u of t.parseBlock){let O=a.indexOf(u.name);if(O>-1)s[O]=u.parse,o[O]=u.leaf;else{let m=u.before?Fs(a,u.before):u.after?Fs(a,u.after)+1:a.length-1;s.splice(m,0,u.parse),o.splice(m,0,u.leaf),a.splice(m,0,u.name)}u.endLeaf&&h.push(u.endLeaf)}if(Qr(t.parseInline))for(let u of t.parseInline){let O=c.indexOf(u.name);if(O>-1)l[O]=u.parse;else{let m=u.before?Fs(c,u.before):u.after?Fs(c,u.after)+1:c.length-1;l.splice(m,0,u.parse),c.splice(m,0,u.name)}}return t.wrap&&(f=f.concat(t.wrap)),new i(n,s,o,a,h,r,l,c,f)}getNodeType(e){let t=this.nodeTypes[e];if(t==null)throw new RangeError(`Unknown node type '${e}'`);return t}parseInline(e,t){let n=new xr(this,e,t);e:for(let r=t;r=0){r=a;continue e}}r++}return n.resolveMarkers(0)}};function Qr(i){return i!=null&&i.length>0}function tc(i){if(!Array.isArray(i))return i;if(i.length==0)return null;let e=tc(i[0]);if(i.length==1)return e;let t=tc(i.slice(1));if(!t||!e)return e||t;let n=(o,a)=>(o||vn).concat(a||vn),r=e.wrap,s=t.wrap;return{props:n(e.props,t.props),defineNodes:n(e.defineNodes,t.defineNodes),parseBlock:n(e.parseBlock,t.parseBlock),parseInline:n(e.parseInline,t.parseInline),remove:n(e.remove,t.remove),wrap:r?s?(o,a,l,c)=>r(s(o,a,l,c),a,l,c):r:s}}function Fs(i,e){let t=i.indexOf(e);if(t<0)throw new RangeError(`Position specified relative to unknown parser ${e}`);return t}var Wd=[de.none];for(let i=1,e;e=A[i];i++)Wd[i]=de.define({id:i,name:e,props:i>=A.Escape?[]:[[I.group,i in Cd?["Block","BlockContext"]:["Block","LeafBlock"]]],top:e=="Document"});var vn=[],Ks=class{constructor(e){this.nodeSet=e,this.content=[],this.nodes=[]}write(e,t,n,r=0){return this.content.push(e,t,n,4+r*4),this}writeElements(e,t=0){for(let n of e)n.writeTo(this,t);return this}finish(e,t){return K.build({buffer:this.content,nodeSet:this.nodeSet,reused:this.nodes,topID:e,length:t})}},Ui=class{constructor(e,t,n,r=vn){this.type=e,this.from=t,this.to=n,this.children=r}writeTo(e,t){let n=e.content.length;e.writeElements(this.children,t),e.content.push(this.type,this.from+t,this.to+t,e.content.length+4-n)}toTree(e){return new Ks(e).writeElements(this.children,-this.from).finish(this.type,this.to-this.from)}},Js=class{constructor(e,t){this.tree=e,this.from=t}get to(){return this.from+this.tree.length}get type(){return this.tree.type.id}get children(){return vn}writeTo(e,t){e.nodes.push(this.tree),e.content.push(e.nodes.length-1,this.from+t,this.to+t,-1)}toTree(){return this.tree}};function ne(i,e,t,n){return new Ui(i,e,t,n)}var jd={resolve:"Emphasis",mark:"EmphasisMark"},Vd={resolve:"Emphasis",mark:"EmphasisMark"},Bi={},eo={},We=class{constructor(e,t,n,r){this.type=e,this.from=t,this.to=n,this.side=r}},yd="!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~",kr=/[!"#$%&'()*+,\-.\/:;<=>?@\[\\\]^_`{|}~\xA1\u2010-\u2027]/;try{kr=new RegExp("[\\p{S}|\\p{P}]","u")}catch{}var Ul={Escape(i,e,t){if(e!=92||t==i.end-1)return-1;let n=i.char(t+1);for(let r=0;r]+|[a-z\d.!#$%&'*+/=?^_`{|}~-]+@[a-z\d](?:[a-z\d-]{0,61}[a-z\d])?(?:\.[a-z\d](?:[a-z\d-]{0,61}[a-z\d])?)*)>/i.exec(n);if(r)return i.append(ne(A.Autolink,t,t+1+r[0].length,[ne(A.LinkMark,t,t+1),ne(A.URL,t+1,t+r[0].length),ne(A.LinkMark,t+r[0].length,t+1+r[0].length)]));let s=/^!--[^>](?:-[^-]|[^-])*?-->/i.exec(n);if(s)return i.append(ne(A.Comment,t,t+1+s[0].length));let o=/^\?[^]*?\?>/.exec(n);if(o)return i.append(ne(A.ProcessingInstruction,t,t+1+o[0].length));let a=/^(?:![A-Z][^]*?>|!\[CDATA\[[^]*?\]\]>|\/\s*[a-zA-Z][\w-]*\s*>|\s*[a-zA-Z][\w-]*(\s+[a-zA-Z:_][\w-.:]*(?:\s*=\s*(?:[^\s"'=<>`]+|'[^']*'|"[^"]*"))?)*\s*(\/\s*)?>)/.exec(n);return a?i.append(ne(A.HTMLTag,t,t+1+a[0].length)):-1},Emphasis(i,e,t){if(e!=95&&e!=42)return-1;let n=t+1;for(;i.char(n)==e;)n++;let r=i.slice(t-1,t),s=i.slice(n,n+1),o=kr.test(r),a=kr.test(s),l=/\s|^$/.test(r),c=/\s|^$/.test(s),h=!c&&(!a||l||o),f=!l&&(!o||c||a),u=h&&(e==42||!f||o),O=f&&(e==42||!h||a);return i.append(new We(e==95?jd:Vd,t,n,(u?1:0)|(O?2:0)))},HardBreak(i,e,t){if(e==92&&i.char(t+1)==10)return i.append(ne(A.HardBreak,t,t+2));if(e==32){let n=t+1;for(;i.char(n)==32;)n++;if(i.char(n)==10&&n>=t+2)return i.append(ne(A.HardBreak,t,n+1))}return-1},Link(i,e,t){return e==91?i.append(new We(Bi,t,t+1,1)):-1},Image(i,e,t){return e==33&&i.char(t+1)==91?i.append(new We(eo,t,t+2,1)):-1},LinkEnd(i,e,t){if(e!=93)return-1;for(let n=i.parts.length-1;n>=0;n--){let r=i.parts[n];if(r instanceof We&&(r.type==Bi||r.type==eo)){if(!r.side||i.skipSpace(r.to)==t&&!/[(\[]/.test(i.slice(t+1,t+2)))return i.parts[n]=null,-1;let s=i.takeContent(n),o=i.parts[n]=oy(i,s,r.type==Bi?A.Link:A.Image,r.from,t+1);if(r.type==Bi)for(let a=0;ae?ne(A.URL,e+t,s+t):s==i.length?null:!1}}function Yd(i,e,t){let n=i.charCodeAt(e);if(n!=39&&n!=34&&n!=40)return!1;let r=n==40?41:n;for(let s=e+1,o=!1;s=this.end?-1:this.text.charCodeAt(e-this.offset)}get end(){return this.offset+this.text.length}slice(e,t){return this.text.slice(e-this.offset,t-this.offset)}append(e){return this.parts.push(e),e.to}addDelimiter(e,t,n,r,s){return this.append(new We(e,t,n,(r?1:0)|(s?2:0)))}get hasOpenLink(){for(let e=this.parts.length-1;e>=0;e--){let t=this.parts[e];if(t instanceof We&&(t.type==Bi||t.type==eo))return!0}return!1}addElement(e){return this.append(e)}resolveMarkers(e){for(let n=e;n=e;l--){let p=this.parts[l];if(p instanceof We&&p.side&1&&p.type==r.type&&!(s&&(r.side&1||p.side&2)&&(p.to-p.from+o)%3==0&&((p.to-p.from)%3||o%3))){a=p;break}}if(!a)continue;let c=r.type.resolve,h=[],f=a.from,u=r.to;if(s){let p=Math.min(2,a.to-a.from,o);f=a.to-p,u=r.from+p,c=p==1?"Emphasis":"StrongEmphasis"}a.type.mark&&h.push(this.elt(a.type.mark,f,a.to));for(let p=l+1;p=0;t--){let n=this.parts[t];if(n instanceof We&&n.type==e&&n.side&1)return t}return null}takeContent(e){let t=this.resolveMarkers(e);return this.parts.length=e,t}getDelimiterAt(e){let t=this.parts[e];return t instanceof We?t:null}skipSpace(e){return br(this.text,e-this.offset)+this.offset}elt(e,t,n,r){return typeof e=="string"?ne(this.parser.getNodeType(e),t,n,r):new Js(e,t)}};xr.linkStart=Bi;xr.imageStart=eo;function ic(i,e){if(!e.length)return i;if(!i.length)return e;let t=i.slice(),n=0;for(let r of e){for(;n(e?e-1:0))return!1;if(this.fragmentEnd<0){let s=this.fragment.to;for(;s>0&&this.input.read(s-1,s)!=` +`;)s--;this.fragmentEnd=s?s-1:0}let n=this.cursor;n||(n=this.cursor=this.fragment.tree.cursor(),n.firstChild());let r=e+this.fragment.offset;for(;n.to<=r;)if(!n.parent())return!1;for(;;){if(n.from>=r)return this.fragment.from<=t;if(!n.childAfter(r))return!1}}matches(e){let t=this.cursor.tree;return t&&t.prop(I.contextHash)==e}takeNodes(e){let t=this.cursor,n=this.fragment.offset,r=this.fragmentEnd-(this.fragment.openEnd?1:0),s=e.absoluteLineStart,o=s,a=e.block.children.length,l=o,c=a;for(;;){if(t.to-n>r){if(t.type.isAnonymous&&t.firstChild())continue;break}let h=Bd(t.from-n,e.ranges);if(t.to-n<=e.ranges[e.rangeI].to)e.addNode(t.tree,h);else{let f=new K(e.parser.nodeSet.types[A.Paragraph],[],[],0,e.block.hashProp);e.reusePlaceholders.set(f,t.tree),e.addNode(f,h)}if(t.type.is("Block")&&(ay.indexOf(t.type.id)<0?(o=t.to-n,a=e.block.children.length):(o=l,a=c),l=t.to-n,c=e.block.children.length),!t.nextSibling())break}for(;e.block.children.length>a;)e.block.children.pop(),e.block.positions.pop();return o-s}};function Bd(i,e){let t=i;for(let n=1;nNs[i]),Object.keys(Ns).map(i=>Ld[i]),Object.keys(Ns),ry,Cd,Object.keys(Ul).map(i=>Ul[i]),Object.keys(Ul),[]);function cy(i,e,t){let n=[];for(let r=i.firstChild,s=e;;r=r.nextSibling){let o=r?r.from:t;if(o>s&&n.push({from:s,to:o}),!r)break;s=r.to}return n}function Gd(i){let{codeParser:e,htmlParser:t}=i;return{wrap:Sn((r,s)=>{let o=r.type.id;if(e&&(o==A.CodeBlock||o==A.FencedCode)){let a="";if(o==A.FencedCode){let c=r.node.getChild(A.CodeInfo);c&&(a=s.read(c.from,c.to))}let l=e(a);if(l)return{parser:l,overlay:c=>c.type.id==A.CodeText,bracketed:o==A.FencedCode}}else if(t&&(o==A.HTMLBlock||o==A.HTMLTag||o==A.CommentBlock))return{parser:t,overlay:cy(r.node,r.from,r.to)};return null})}}var hy={resolve:"Strikethrough",mark:"StrikethroughMark"},fy={defineNodes:[{name:"Strikethrough",style:{"Strikethrough/...":d.strikethrough}},{name:"StrikethroughMark",style:d.processingInstruction}],parseInline:[{name:"Strikethrough",parse(i,e,t){if(e!=126||i.char(t+1)!=126||i.char(t+2)==126)return-1;let n=i.slice(t-1,t),r=i.slice(t+2,t+3),s=/\s|^$/.test(n),o=/\s|^$/.test(r),a=kr.test(n),l=kr.test(r);return i.addDelimiter(hy,t,t+2,!o&&(!l||s||a),!s&&(!a||o||l))},after:"Emphasis"}]};function Sr(i,e,t=0,n,r=0){let s=0,o=!0,a=-1,l=-1,c=!1,h=()=>{n.push(i.elt("TableCell",r+a,r+l,i.parser.parseInline(e.slice(a,l),r+a)))};for(let f=t;f-1)&&s++,o=!1,n&&(a>-1&&h(),n.push(i.elt("TableDelimiter",f+r,f+r+1))),a=l=-1):(c||u!=32&&u!=9)&&(a<0&&(a=f),l=f+1),c=!c&&u==92}return a>-1&&(s++,n&&h()),s}function kd(i,e){for(let t=e;t\s]*\|?(\s*:?-+:?\s*\|)+(\s*:?-+:?\s*)?$/,to=class{constructor(){this.rows=null}nextLine(e,t,n){if(this.rows==null){this.rows=!1;let r;if((t.next==45||t.next==58||t.next==124)&&Nd.test(r=t.text.slice(t.pos))){let s=[];Sr(e,n.content,0,s,n.start)==Sr(e,r,0)&&(this.rows=[e.elt("TableHeader",n.start,n.start+n.content.length,s),e.elt("TableDelimiter",e.lineStart+t.pos,e.lineStart+t.text.length)])}}else if(this.rows){let r=[];Sr(e,t.text,t.pos,r,e.lineStart),this.rows.push(e.elt("TableRow",e.lineStart+t.pos,e.lineStart+t.text.length,r))}return!1}finish(e,t){return this.rows?(e.addLeafElement(t,e.elt("Table",t.start,t.start+t.content.length,this.rows)),!0):!1}},uy={defineNodes:[{name:"Table",block:!0},{name:"TableHeader",style:{"TableHeader/...":d.heading}},"TableRow",{name:"TableCell",style:d.content},{name:"TableDelimiter",style:d.processingInstruction}],parseBlock:[{name:"Table",leaf(i,e){return kd(e.content,0)?new to:null},endLeaf(i,e,t){if(t.parsers.some(r=>r instanceof to)||!kd(e.text,e.basePos))return!1;let n=i.peekLine();return Nd.test(n)&&Sr(i,e.text,e.basePos)==Sr(i,n,e.basePos)},before:"SetextHeading"}]},rc=class{nextLine(){return!1}finish(e,t){return e.addLeafElement(t,e.elt("Task",t.start,t.start+t.content.length,[e.elt("TaskMarker",t.start,t.start+3),...e.parser.parseInline(t.content.slice(3),t.start+3)])),!0}},Oy={defineNodes:[{name:"Task",block:!0,style:d.list},{name:"TaskMarker",style:d.atom}],parseBlock:[{name:"TaskList",leaf(i,e){return/^\[[ xX]\][ \t]/.test(e.content)&&i.parentType().name=="ListItem"?new rc:null},after:"SetextHeading"}]},xd=/(www\.)|(https?:\/\/)|([\w.+-]{1,100}@)|(mailto:|xmpp:)/gy,wd=/[\w-]+(\.[\w-]+)+(:\d+)?(\/[^\s<]*)?/gy,dy=/[\w-]+\.[\w-]+($|[/:])/,Pd=/[\w.+-]+@[\w-]+(\.[\w.-]+)+/gy,vd=/\/[a-zA-Z\d@.]+/gy;function $d(i,e,t,n){let r=0;for(let s=e;s-1)return-1;let n=e+t[0].length;for(;;){let r=i[n-1],s;if(/[?!.,:*_~]/.test(r)||r==")"&&$d(i,e,n,")")>$d(i,e,n,"("))n--;else if(r==";"&&(s=/&(?:#\d+|#x[a-f\d]+|\w+);$/.exec(i.slice(e,n))))n=e+s.index;else break}return n}function Td(i,e){Pd.lastIndex=e;let t=Pd.exec(i);if(!t)return-1;let n=t[0][t[0].length-1];return n=="_"||n=="-"?-1:e+t[0].length-(n=="."?1:0)}var my={parseInline:[{name:"Autolink",parse(i,e,t){let n=t-i.offset;if(n&&/\w/.test(i.text[n-1]))return-1;xd.lastIndex=n;let r=xd.exec(i.text),s=-1;if(!r)return-1;if(r[1]||r[2]){if(s=py(i.text,n+r[0].length),s>-1&&i.hasOpenLink){let o=/([^\[\]]|\[[^\]]*\])*/.exec(i.text.slice(n,s));s=n+o[0].length}}else r[3]?s=Td(i.text,n):(s=Td(i.text,n+r[0].length),s>-1&&r[0]=="xmpp:"&&(vd.lastIndex=s,r=vd.exec(i.text),r&&(s=r.index+r[0].length)));return s<0?-1:(i.addElement(i.elt("URL",t,s+i.offset)),s+i.offset)}}]},Fd=[uy,Oy,fy,my];function Hd(i,e,t){return(n,r,s)=>{if(r!=i||n.char(s+1)==i)return-1;let o=[n.elt(t,s,s+1)];for(let a=s+1;at%3==0).concat(this.state)}]@${this.pos}${this.score?"!"+this.score:""}`}static start(e,t,n=0){let r=e.parser.context;return new i(e,[],t,n,n,0,[],0,r?new io(r,r.start):null,0,null)}get context(){return this.curContext?this.curContext.context:null}pushState(e,t){this.stack.push(this.state,t,this.bufferBase+this.buffer.length),this.state=e}reduce(e){var t;let n=e>>19,r=e&65535,{parser:s}=this.p,o=this.reducePos=2e3&&!(!((t=this.p.parser.nodeSet.types[r])===null||t===void 0)&&t.isAnonymous)&&(c==this.p.lastBigReductionStart?(this.p.bigReductionCount++,this.p.lastBigReductionSize=h):this.p.lastBigReductionSizel;)this.stack.pop();this.reduceContext(r,c)}storeNode(e,t,n,r=4,s=!1){if(e==0&&(!this.stack.length||this.stack[this.stack.length-1]0&&this.buffer[o-4]==0&&this.buffer[o-1]>-1){if(t==n)return;if(this.buffer[o-2]>=t){this.buffer[o-2]=n;return}}}if(!s||this.pos==n)this.buffer.push(e,t,n,r);else{let o=this.buffer.length;if(o>0&&(this.buffer[o-4]!=0||this.buffer[o-1]<0)){let a=!1;for(let l=o;l>0&&this.buffer[l-2]>n;l-=4)if(this.buffer[l-1]>=0){a=!0;break}if(a)for(;o>0&&this.buffer[o-2]>n;)this.buffer[o]=this.buffer[o-4],this.buffer[o+1]=this.buffer[o-3],this.buffer[o+2]=this.buffer[o-2],this.buffer[o+3]=this.buffer[o-1],o-=4,r>4&&(r-=4)}this.buffer[o]=e,this.buffer[o+1]=t,this.buffer[o+2]=n,this.buffer[o+3]=r}}shift(e,t,n,r){if(e&131072)this.pushState(e&65535,this.pos);else if((e&262144)==0){let s=e,{parser:o}=this.p;this.pos=r;let a=o.stateFlag(s,1);!a&&(r>n||t<=o.maxNode)&&(this.reducePos=r),this.pushState(s,a?n:Math.min(n,this.reducePos)),this.shiftContext(t,n),t<=o.maxNode&&this.buffer.push(t,n,r,4)}else this.pos=r,this.shiftContext(t,n),t<=this.p.parser.maxNode&&this.buffer.push(t,n,r,4)}apply(e,t,n,r){e&65536?this.reduce(e):this.shift(e,t,n,r)}useNode(e,t){let n=this.p.reused.length-1;(n<0||this.p.reused[n]!=e)&&(this.p.reused.push(e),n++);let r=this.pos;this.reducePos=this.pos=r+e.length,this.pushState(t,r),this.buffer.push(n,r,this.reducePos,-1),this.curContext&&this.updateContext(this.curContext.tracker.reuse(this.curContext.context,e,this,this.p.stream.reset(this.pos-e.length)))}split(){let e=this,t=e.buffer.length;for(t&&e.buffer[t-4]==0&&(t-=4);t>0&&e.buffer[t-2]>e.reducePos;)t-=4;let n=e.buffer.slice(t),r=e.bufferBase+t;for(;e&&r==e.bufferBase;)e=e.parent;return new i(this.p,this.stack.slice(),this.state,this.reducePos,this.pos,this.score,n,r,this.curContext,this.lookAhead,e)}recoverByDelete(e,t){let n=e<=this.p.parser.maxNode;n&&this.storeNode(e,this.pos,t,4),this.storeNode(0,this.pos,t,n?8:4),this.pos=this.reducePos=t,this.score-=190}canShift(e){for(let t=new fc(this);;){let n=this.p.parser.stateSlot(t.state,4)||this.p.parser.hasAction(t.state,e);if(n==0)return!1;if((n&65536)==0)return!0;t.reduce(n)}}recoverByInsert(e){if(this.stack.length>=300)return[];let t=this.p.parser.nextStates(this.state);if(t.length>8||this.stack.length>=120){let r=[];for(let s=0,o;sl&1&&a==o)||r.push(t[s],o)}t=r}let n=[];for(let r=0;r>19,r=t&65535,s=this.stack.length-n*3;if(s<0||e.getGoto(this.stack[s],r,!1)<0){let o=this.findForcedReduction();if(o==null)return!1;t=o}this.storeNode(0,this.pos,this.pos,4,!0),this.score-=100}return this.reducePos=this.pos,this.reduce(t),!0}findForcedReduction(){let{parser:e}=this.p,t=[],n=(r,s)=>{if(!t.includes(r))return t.push(r),e.allActions(r,o=>{if(!(o&393216))if(o&65536){let a=(o>>19)-s;if(a>1){let l=o&65535,c=this.stack.length-a*3;if(c>=0&&e.getGoto(this.stack[c],l,!1)>=0)return a<<19|65536|l}}else{let a=n(o,s+1);if(a!=null)return a}})};return n(this.state,0)}forceAll(){for(;!this.p.parser.stateFlag(this.state,2);)if(!this.forceReduce()){this.storeNode(0,this.pos,this.pos,4,!0);break}return this}get deadEnd(){if(this.stack.length!=3)return!1;let{parser:e}=this.p;return e.data[e.stateSlot(this.state,1)]==65535&&!e.stateSlot(this.state,4)}restart(){this.storeNode(0,this.pos,this.pos,4,!0),this.state=this.stack[0],this.stack.length=0}sameState(e){if(this.state!=e.state||this.stack.length!=e.stack.length)return!1;for(let t=0;t0&&this.emitLookAhead()}},io=class{constructor(e,t){this.tracker=e,this.context=t,this.hash=e.strict?e.hash(t):0}},fc=class{constructor(e){this.start=e,this.state=e.state,this.stack=e.stack,this.base=this.stack.length}reduce(e){let t=e&65535,n=e>>19;n==0?(this.stack==this.start.stack&&(this.stack=this.stack.slice()),this.stack.push(this.state,0,0),this.base+=3):this.base-=(n-1)*3;let r=this.start.p.parser.getGoto(this.stack[this.base-3],t,!0);this.state=r}},uc=class i{constructor(e,t,n){this.stack=e,this.pos=t,this.index=n,this.buffer=e.buffer,this.index==0&&this.maybeNext()}static create(e,t=e.bufferBase+e.buffer.length){return new i(e,t,t-e.bufferBase)}maybeNext(){let e=this.stack.parent;e!=null&&(this.index=this.stack.bufferBase-e.bufferBase,this.stack=e,this.buffer=e.buffer)}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}next(){this.index-=4,this.pos-=4,this.index==0&&this.maybeNext()}fork(){return new i(this.stack,this.pos,this.index)}};function wr(i,e=Uint16Array){if(typeof i!="string")return i;let t=null;for(let n=0,r=0;n=92&&o--,o>=34&&o--;let l=o-32;if(l>=46&&(l-=46,a=!0),s+=l,a)break;s*=46}t?t[r++]=s:t=new e(s)}return t}var $n=class{constructor(){this.start=-1,this.value=-1,this.end=-1,this.extended=-1,this.lookAhead=0,this.mask=0,this.context=0}},tp=new $n,Oc=class{constructor(e,t){this.input=e,this.ranges=t,this.chunk="",this.chunkOff=0,this.chunk2="",this.chunk2Pos=0,this.next=-1,this.token=tp,this.rangeIndex=0,this.pos=this.chunkPos=t[0].from,this.range=t[0],this.end=t[t.length-1].to,this.readNext()}resolveOffset(e,t){let n=this.range,r=this.rangeIndex,s=this.pos+e;for(;sn.to:s>=n.to;){if(r==this.ranges.length-1)return null;let o=this.ranges[++r];s+=o.from-n.to,n=o}return s}clipPos(e){if(e>=this.range.from&&ee)return Math.max(e,t.from);return this.end}peek(e){let t=this.chunkOff+e,n,r;if(t>=0&&t=this.chunk2Pos&&na.to&&(this.chunk2=this.chunk2.slice(0,a.to-n)),r=this.chunk2.charCodeAt(0)}}return n>=this.token.lookAhead&&(this.token.lookAhead=n+1),r}acceptToken(e,t=0){let n=t?this.resolveOffset(t,-1):this.pos;if(n==null||n=this.chunk2Pos&&this.posthis.range.to?e.slice(0,this.range.to-this.pos):e,this.chunkPos=this.pos,this.chunkOff=0}}readNext(){return this.chunkOff>=this.chunk.length&&(this.getChunk(),this.chunkOff==this.chunk.length)?this.next=-1:this.next=this.chunk.charCodeAt(this.chunkOff)}advance(e=1){for(this.chunkOff+=e;this.pos+e>=this.range.to;){if(this.rangeIndex==this.ranges.length-1)return this.setDone();e-=this.range.to-this.pos,this.range=this.ranges[++this.rangeIndex],this.pos=this.range.from}return this.pos+=e,this.pos>=this.token.lookAhead&&(this.token.lookAhead=this.pos+1),this.readNext()}setDone(){return this.pos=this.chunkPos=this.end,this.range=this.ranges[this.rangeIndex=this.ranges.length-1],this.chunk="",this.next=-1}reset(e,t){if(t?(this.token=t,t.start=e,t.lookAhead=e+1,t.value=t.extended=-1):this.token=tp,this.pos!=e){if(this.pos=e,e==this.end)return this.setDone(),this;for(;e=this.range.to;)this.range=this.ranges[++this.rangeIndex];e>=this.chunkPos&&e=this.chunkPos&&t<=this.chunkPos+this.chunk.length)return this.chunk.slice(e-this.chunkPos,t-this.chunkPos);if(e>=this.chunk2Pos&&t<=this.chunk2Pos+this.chunk2.length)return this.chunk2.slice(e-this.chunk2Pos,t-this.chunk2Pos);if(e>=this.range.from&&t<=this.range.to)return this.input.read(e,t);let n="";for(let r of this.ranges){if(r.from>=t)break;r.to>e&&(n+=this.input.read(Math.max(r.from,e),Math.min(r.to,t)))}return n}},yi=class{constructor(e,t){this.data=e,this.id=t}token(e,t){let{parser:n}=t.p;op(this.data,e,t,this.id,n.data,n.tokenPrecTable)}};yi.prototype.contextual=yi.prototype.fallback=yi.prototype.extend=!1;var ki=class{constructor(e,t,n){this.precTable=t,this.elseToken=n,this.data=typeof e=="string"?wr(e):e}token(e,t){let n=e.pos,r=0;for(;;){let s=e.next<0,o=e.resolveOffset(1,1);if(op(this.data,e,t,0,this.data,this.precTable),e.token.value>-1)break;if(this.elseToken==null)return;if(s||r++,o==null)break;e.reset(o,e.token)}r&&(e.reset(n,e.token),e.acceptToken(this.elseToken,r))}};ki.prototype.contextual=yi.prototype.fallback=yi.prototype.extend=!1;var ee=class{constructor(e,t={}){this.token=e,this.contextual=!!t.contextual,this.fallback=!!t.fallback,this.extend=!!t.extend}};function op(i,e,t,n,r,s){let o=0,a=1<0){let m=i[O];if(l.allows(m)&&(e.token.value==-1||e.token.value==m||Qy(m,e.token.value,r,s))){e.acceptToken(m);break}}let h=e.next,f=0,u=i[o+2];if(e.next<0&&u>f&&i[c+u*3-3]==65535){o=i[c+u*3-1];continue e}for(;f>1,m=c+O+(O<<1),p=i[m],b=i[m+1]||65536;if(h=b)f=O+1;else{o=i[m+2],e.advance();continue e}}break}}function ip(i,e,t){for(let n=e,r;(r=i[n])!=65535;n++)if(r==t)return n-e;return-1}function Qy(i,e,t,n){let r=ip(t,n,e);return r<0||ip(t,n,i)e)&&!n.type.isError)return t<0?Math.max(0,Math.min(n.to-1,e-25)):Math.min(i.length,Math.max(n.from+1,e+25));if(t<0?n.prevSibling():n.nextSibling())break;if(!n.parent())return t<0?0:i.length}}var dc=class{constructor(e,t){this.fragments=e,this.nodeSet=t,this.i=0,this.fragment=null,this.safeFrom=-1,this.safeTo=-1,this.trees=[],this.start=[],this.index=[],this.nextFragment()}nextFragment(){let e=this.fragment=this.i==this.fragments.length?null:this.fragments[this.i++];if(e){for(this.safeFrom=e.openStart?np(e.tree,e.from+e.offset,1)-e.offset:e.from,this.safeTo=e.openEnd?np(e.tree,e.to+e.offset,-1)-e.offset:e.to;this.trees.length;)this.trees.pop(),this.start.pop(),this.index.pop();this.trees.push(e.tree),this.start.push(-e.offset),this.index.push(0),this.nextStart=this.safeFrom}else this.nextStart=1e9}nodeAt(e){if(ee)return this.nextStart=o,null;if(s instanceof K){if(o==e){if(o=Math.max(this.safeFrom,e)&&(this.trees.push(s),this.start.push(o),this.index.push(0))}else this.index[t]++,this.nextStart=o+s.length}}},pc=class{constructor(e,t){this.stream=t,this.tokens=[],this.mainToken=null,this.actions=[],this.tokens=e.tokenizers.map(n=>new $n)}getActions(e){let t=0,n=null,{parser:r}=e.p,{tokenizers:s}=r,o=r.stateSlot(e.state,3),a=e.curContext?e.curContext.hash:0,l=0;for(let c=0;cf.end+25&&(l=Math.max(f.lookAhead,l)),f.value!=0)){let u=t;if(f.extended>-1&&(t=this.addActions(e,f.extended,f.end,t)),t=this.addActions(e,f.value,f.end,t),!h.extend&&(n=f,t>u))break}}for(;this.actions.length>t;)this.actions.pop();return l&&e.setLookAhead(l),!n&&e.pos==this.stream.end&&(n=new $n,n.value=e.p.parser.eofTerm,n.start=n.end=e.pos,t=this.addActions(e,n.value,n.end,t)),this.mainToken=n,this.actions}getMainToken(e){if(this.mainToken)return this.mainToken;let t=new $n,{pos:n,p:r}=e;return t.start=n,t.end=Math.min(n+1,r.stream.end),t.value=n==r.stream.end?r.parser.eofTerm:0,t}updateCachedToken(e,t,n){let r=this.stream.clipPos(n.pos);if(t.token(this.stream.reset(r,e),n),e.value>-1){let{parser:s}=n.p;for(let o=0;o=0&&n.p.parser.dialect.allows(a>>1)){(a&1)==0?e.value=a>>1:e.extended=a>>1;break}}}else e.value=0,e.end=this.stream.clipPos(r+1)}putAction(e,t,n,r){for(let s=0;se.bufferLength*4?new dc(n,e.nodeSet):null}get parsedPos(){return this.minStackPos}advance(){let e=this.stacks,t=this.minStackPos,n=this.stacks=[],r,s;if(this.bigReductionCount>300&&e.length==1){let[o]=e;for(;o.forceReduce()&&o.stack.length&&o.stack[o.stack.length-2]>=this.lastBigReductionStart;);this.bigReductionCount=this.lastBigReductionSize=0}for(let o=0;ot)n.push(a);else{if(this.advanceStack(a,n,e))continue;{r||(r=[],s=[]),r.push(a);let l=this.tokens.getMainToken(a);s.push(l.value,l.end)}}break}}if(!n.length){let o=r&&by(r);if(o)return et&&console.log("Finish with "+this.stackID(o)),this.stackToTree(o);if(this.parser.strict)throw et&&r&&console.log("Stuck with token "+(this.tokens.mainToken?this.parser.getName(this.tokens.mainToken.value):"none")),new SyntaxError("No parse at "+t);this.recovering||(this.recovering=5)}if(this.recovering&&r){let o=this.stoppedAt!=null&&r[0].pos>this.stoppedAt?r[0]:this.runRecovery(r,s,n);if(o)return et&&console.log("Force-finish "+this.stackID(o)),this.stackToTree(o.forceAll())}if(this.recovering){let o=this.recovering==1?1:this.recovering*3;if(n.length>o)for(n.sort((a,l)=>l.score-a.score);n.length>o;)n.pop();n.some(a=>a.reducePos>t)&&this.recovering--}else if(n.length>1){e:for(let o=0;o500&&c.buffer.length>500)if((a.score-c.score||a.buffer.length-c.buffer.length)>0)n.splice(l--,1);else{n.splice(o--,1);continue e}}}n.length>12&&(n.sort((o,a)=>a.score-o.score),n.splice(12,n.length-12))}this.minStackPos=n[0].pos;for(let o=1;o ":"";if(this.stoppedAt!=null&&r>this.stoppedAt)return e.forceReduce()?e:null;if(this.fragments){let c=e.curContext&&e.curContext.tracker.strict,h=c?e.curContext.hash:0;for(let f=this.fragments.nodeAt(r);f;){let u=this.parser.nodeSet.types[f.type.id]==f.type?s.getGoto(e.state,f.type.id):-1;if(u>-1&&f.length&&(!c||(f.prop(I.contextHash)||0)==h))return e.useNode(f,u),et&&console.log(o+this.stackID(e)+` (via reuse of ${s.getName(f.type.id)})`),!0;if(!(f instanceof K)||f.children.length==0||f.positions[0]>0)break;let O=f.children[0];if(O instanceof K&&f.positions[0]==0)f=O;else break}}let a=s.stateSlot(e.state,4);if(a>0)return e.reduce(a),et&&console.log(o+this.stackID(e)+` (via always-reduce ${s.getName(a&65535)})`),!0;if(e.stack.length>=8400)for(;e.stack.length>6e3&&e.forceReduce(););let l=this.tokens.getActions(e);for(let c=0;cr?t.push(m):n.push(m)}return!1}advanceFully(e,t){let n=e.pos;for(;;){if(!this.advanceStack(e,null,null))return!1;if(e.pos>n)return rp(e,t),!0}}runRecovery(e,t,n){let r=null,s=!1;for(let o=0;o ":"";if(a.deadEnd&&(s||(s=!0,a.restart(),et&&console.log(h+this.stackID(a)+" (restarted)"),this.advanceFully(a,n))))continue;let f=a.split(),u=h;for(let O=0;O<10&&f.forceReduce()&&(et&&console.log(u+this.stackID(f)+" (via force-reduce)"),!this.advanceFully(f,n));O++)et&&(u=this.stackID(f)+" -> ");for(let O of a.recoverByInsert(l))et&&console.log(h+this.stackID(O)+" (via recover-insert)"),this.advanceFully(O,n);this.stream.end>a.pos?(c==a.pos&&(c++,l=0),a.recoverByDelete(l,c),et&&console.log(h+this.stackID(a)+` (via recover-delete ${this.parser.getName(l)})`),rp(a,n)):(!r||r.scorei,gt=class{constructor(e){this.start=e.start,this.shift=e.shift||cc,this.reduce=e.reduce||cc,this.reuse=e.reuse||cc,this.hash=e.hash||(()=>0),this.strict=e.strict!==!1}},ve=class i extends Ut{constructor(e){if(super(),this.wrappers=[],e.version!=14)throw new RangeError(`Parser version (${e.version}) doesn't match runtime version (14)`);let t=e.nodeNames.split(" ");this.minRepeatTerm=t.length;for(let a=0;ae.topRules[a][1]),r=[];for(let a=0;a=0)s(h,l,a[c++]);else{let f=a[c+-h];for(let u=-h;u>0;u--)s(a[c++],l,f);c++}}}this.nodeSet=new It(t.map((a,l)=>de.define({name:l>=this.minRepeatTerm?void 0:a,id:l,props:r[l],top:n.indexOf(l)>-1,error:l==0,skipped:e.skippedNodes&&e.skippedNodes.indexOf(l)>-1}))),e.propSources&&(this.nodeSet=this.nodeSet.extend(...e.propSources)),this.strict=!1,this.bufferLength=1024;let o=wr(e.tokenData);this.context=e.context,this.specializerSpecs=e.specialized||[],this.specialized=new Uint16Array(this.specializerSpecs.length);for(let a=0;atypeof a=="number"?new yi(o,a):a),this.topRules=e.topRules,this.dialects=e.dialects||{},this.dynamicPrecedences=e.dynamicPrecedences||null,this.tokenPrecTable=e.tokenPrec,this.termNames=e.termNames||null,this.maxNode=this.nodeSet.types.length-1,this.dialect=this.parseDialect(),this.top=this.topRules[Object.keys(this.topRules)[0]]}createParse(e,t,n){let r=new mc(this,e,t,n);for(let s of this.wrappers)r=s(r,e,t,n);return r}getGoto(e,t,n=!1){let r=this.goto;if(t>=r[0])return-1;for(let s=r[t+1];;){let o=r[s++],a=o&1,l=r[s++];if(a&&n)return l;for(let c=s+(o>>1);s0}validAction(e,t){return!!this.allActions(e,n=>n==t?!0:null)}allActions(e,t){let n=this.stateSlot(e,4),r=n?t(n):void 0;for(let s=this.stateSlot(e,1);r==null;s+=3){if(this.data[s]==65535)if(this.data[s+1]==1)s=Nt(this.data,s+2);else break;r=t(Nt(this.data,s+1))}return r}nextStates(e){let t=[];for(let n=this.stateSlot(e,1);;n+=3){if(this.data[n]==65535)if(this.data[n+1]==1)n=Nt(this.data,n+2);else break;if((this.data[n+2]&1)==0){let r=this.data[n+1];t.some((s,o)=>o&1&&s==r)||t.push(this.data[n],r)}}return t}configure(e){let t=Object.assign(Object.create(i.prototype),this);if(e.props&&(t.nodeSet=this.nodeSet.extend(...e.props)),e.top){let n=this.topRules[e.top];if(!n)throw new RangeError(`Invalid top rule name ${e.top}`);t.top=n}return e.tokenizers&&(t.tokenizers=this.tokenizers.map(n=>{let r=e.tokenizers.find(s=>s.from==n);return r?r.to:n})),e.specializers&&(t.specializers=this.specializers.slice(),t.specializerSpecs=this.specializerSpecs.map((n,r)=>{let s=e.specializers.find(a=>a.from==n.external);if(!s)return n;let o=Object.assign(Object.assign({},n),{external:s.to});return t.specializers[r]=sp(o),o})),e.contextTracker&&(t.context=e.contextTracker),e.dialect&&(t.dialect=this.parseDialect(e.dialect)),e.strict!=null&&(t.strict=e.strict),e.wrap&&(t.wrappers=t.wrappers.concat(e.wrap)),e.bufferLength!=null&&(t.bufferLength=e.bufferLength),t}hasWrappers(){return this.wrappers.length>0}getName(e){return this.termNames?this.termNames[e]:String(e<=this.maxNode&&this.nodeSet.types[e].name||e)}get eofTerm(){return this.maxNode+1}get topNode(){return this.nodeSet.types[this.top[1]]}dynamicPrecedence(e){let t=this.dynamicPrecedences;return t==null?0:t[e]||0}parseDialect(e){let t=Object.keys(this.dialects),n=t.map(()=>!1);if(e)for(let s of e.split(" ")){let o=t.indexOf(s);o>=0&&(n[o]=!0)}let r=null;for(let s=0;sn)&&t.p.parser.stateFlag(t.state,2)&&(!e||e.scorei.external(t,n)<<1|e}return i.get}var Sy=55,yy=1,ky=56,xy=2,wy=57,Py=3,ap=4,vy=5,kc=6,pp=7,mp=8,gp=9,Qp=10,$y=11,Ty=12,Cy=13,Qc=58,Xy=14,_y=15,lp=59,bp=21,Ry=23,Sp=24,Ay=25,Sc=27,yp=28,Zy=29,Ey=32,qy=35,zy=37,Ly=38,My=0,Wy=1,jy={area:!0,base:!0,br:!0,col:!0,command:!0,embed:!0,frame:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0,menuitem:!0},Vy={dd:!0,li:!0,optgroup:!0,option:!0,p:!0,rp:!0,rt:!0,tbody:!0,td:!0,tfoot:!0,th:!0,tr:!0},cp={dd:{dd:!0,dt:!0},dt:{dd:!0,dt:!0},li:{li:!0},option:{option:!0,optgroup:!0},optgroup:{optgroup:!0},p:{address:!0,article:!0,aside:!0,blockquote:!0,dir:!0,div:!0,dl:!0,fieldset:!0,footer:!0,form:!0,h1:!0,h2:!0,h3:!0,h4:!0,h5:!0,h6:!0,header:!0,hgroup:!0,hr:!0,menu:!0,nav:!0,ol:!0,p:!0,pre:!0,section:!0,table:!0,ul:!0},rp:{rp:!0,rt:!0},rt:{rp:!0,rt:!0},tbody:{tbody:!0,tfoot:!0},td:{td:!0,th:!0},tfoot:{tbody:!0},th:{td:!0,th:!0},thead:{tbody:!0,tfoot:!0},tr:{tr:!0}};function Dy(i){return i==45||i==46||i==58||i>=65&&i<=90||i==95||i>=97&&i<=122||i>=161}var hp=null,fp=null,up=0;function yc(i,e){let t=i.pos+e;if(up==t&&fp==i)return hp;let n=i.peek(e),r="";for(;Dy(n);)r+=String.fromCharCode(n),n=i.peek(++e);return fp=i,up=t,hp=r?r.toLowerCase():n==Yy||n==Iy?void 0:null}var kp=60,no=62,xc=47,Yy=63,Iy=33,By=45;function Op(i,e){this.name=i,this.parent=e}var Uy=[kc,Qp,pp,mp,gp],Gy=new gt({start:null,shift(i,e,t,n){return Uy.indexOf(e)>-1?new Op(yc(n,1)||"",i):i},reduce(i,e){return e==bp&&i?i.parent:i},reuse(i,e,t,n){let r=e.type.id;return r==kc||r==zy?new Op(yc(n,1)||"",i):i},strict:!1}),Ny=new ee((i,e)=>{if(i.next!=kp){i.next<0&&e.context&&i.acceptToken(Qc);return}i.advance();let t=i.next==xc;t&&i.advance();let n=yc(i,0);if(n===void 0)return;if(!n)return i.acceptToken(t?_y:Xy);let r=e.context?e.context.name:null;if(t){if(n==r)return i.acceptToken($y);if(r&&Vy[r])return i.acceptToken(Qc,-2);if(e.dialectEnabled(My))return i.acceptToken(Ty);for(let s=e.context;s;s=s.parent)if(s.name==n)return;i.acceptToken(Cy)}else{if(n=="script")return i.acceptToken(pp);if(n=="style")return i.acceptToken(mp);if(n=="textarea")return i.acceptToken(gp);if(jy.hasOwnProperty(n))return i.acceptToken(Qp);r&&cp[r]&&cp[r][n]?i.acceptToken(Qc,-1):i.acceptToken(kc)}},{contextual:!0}),Fy=new ee(i=>{for(let e=0,t=0;;t++){if(i.next<0){t&&i.acceptToken(lp);break}if(i.next==By)e++;else if(i.next==no&&e>=2){t>=3&&i.acceptToken(lp,-2);break}else e=0;i.advance()}});function Hy(i){for(;i;i=i.parent)if(i.name=="svg"||i.name=="math")return!0;return!1}var Ky=new ee((i,e)=>{if(i.next==xc&&i.peek(1)==no){let t=e.dialectEnabled(Wy)||Hy(e.context);i.acceptToken(t?vy:ap,2)}else i.next==no&&i.acceptToken(ap,1)});function wc(i,e,t){let n=2+i.length;return new ee(r=>{for(let s=0,o=0,a=0;;a++){if(r.next<0){a&&r.acceptToken(e);break}if(s==0&&r.next==kp||s==1&&r.next==xc||s>=2&&so?r.acceptToken(e,-o):r.acceptToken(t,-(o-2));break}else if((r.next==10||r.next==13)&&a){r.acceptToken(e,1);break}else s=o=0;r.advance()}})}var Jy=wc("script",Sy,yy),ek=wc("style",ky,xy),tk=wc("textarea",wy,Py),ik=Qe({"Text RawText IncompleteTag IncompleteCloseTag":d.content,"StartTag StartCloseTag SelfClosingEndTag EndTag":d.angleBracket,TagName:d.tagName,"MismatchedCloseTag/TagName":[d.tagName,d.invalid],AttributeName:d.attributeName,"AttributeValue UnquotedAttributeValue":d.attributeValue,Is:d.definitionOperator,"EntityReference CharacterReference":d.character,Comment:d.blockComment,ProcessingInst:d.processingInstruction,DoctypeDecl:d.documentMeta}),xp=ve.deserialize({version:14,states:",xOVO!rOOO!ZQ#tO'#CrO!`Q#tO'#C{O!eQ#tO'#DOO!jQ#tO'#DRO!oQ#tO'#DTO!tOaO'#CqO#PObO'#CqO#[OdO'#CqO$kO!rO'#CqOOO`'#Cq'#CqO$rO$fO'#DUO$zQ#tO'#DWO%PQ#tO'#DXOOO`'#Dl'#DlOOO`'#DZ'#DZQVO!rOOO%UQ&rO,59^O%aQ&rO,59gO%lQ&rO,59jO%wQ&rO,59mO&SQ&rO,59oOOOa'#D_'#D_O&_OaO'#CyO&jOaO,59]OOOb'#D`'#D`O&rObO'#C|O&}ObO,59]OOOd'#Da'#DaO'VOdO'#DPO'bOdO,59]OOO`'#Db'#DbO'jO!rO,59]O'qQ#tO'#DSOOO`,59],59]OOOp'#Dc'#DcO'vO$fO,59pOOO`,59p,59pO(OQ#|O,59rO(TQ#|O,59sOOO`-E7X-E7XO(YQ&rO'#CtOOQW'#D['#D[O(hQ&rO1G.xOOOa1G.x1G.xOOO`1G/Z1G/ZO(sQ&rO1G/ROOOb1G/R1G/RO)OQ&rO1G/UOOOd1G/U1G/UO)ZQ&rO1G/XOOO`1G/X1G/XO)fQ&rO1G/ZOOOa-E7]-E7]O)qQ#tO'#CzOOO`1G.w1G.wOOOb-E7^-E7^O)vQ#tO'#C}OOOd-E7_-E7_O){Q#tO'#DQOOO`-E7`-E7`O*QQ#|O,59nOOOp-E7a-E7aOOO`1G/[1G/[OOO`1G/^1G/^OOO`1G/_1G/_O*VQ,UO,59`OOQW-E7Y-E7YOOOa7+$d7+$dOOO`7+$u7+$uOOOb7+$m7+$mOOOd7+$p7+$pOOO`7+$s7+$sO*bQ#|O,59fO*gQ#|O,59iO*lQ#|O,59lOOO`1G/Y1G/YO*qO7[O'#CwO+SOMhO'#CwOOQW1G.z1G.zOOO`1G/Q1G/QOOO`1G/T1G/TOOO`1G/W1G/WOOOO'#D]'#D]O+eO7[O,59cOOQW,59c,59cOOOO'#D^'#D^O+vOMhO,59cOOOO-E7Z-E7ZOOQW1G.}1G.}OOOO-E7[-E7[",stateData:",c~O!_OS~OUSOVPOWQOXROYTO[]O][O^^O_^Oa^Ob^Oc^Od^Oy^O|_O!eZO~OgaO~OgbO~OgcO~OgdO~OgeO~O!XfOPmP![mP~O!YiOQpP![pP~O!ZlORsP![sP~OUSOVPOWQOXROYTOZqO[]O][O^^O_^Oa^Ob^Oc^Od^Oy^O!eZO~O![rO~P#gO!]sO!fuO~OgvO~OgwO~OS|OT}OiyO~OS!POT}OiyO~OS!ROT}OiyO~OS!TOT}OiyO~OS}OT}OiyO~O!XfOPmX![mX~OP!WO![!XO~O!YiOQpX![pX~OQ!ZO![!XO~O!ZlORsX![sX~OR!]O![!XO~O![!XO~P#gOg!_O~O!]sO!f!aO~OS!bO~OS!cO~Oj!dOShXThXihX~OS!fOT!gOiyO~OS!hOT!gOiyO~OS!iOT!gOiyO~OS!jOT!gOiyO~OS!gOT!gOiyO~Og!kO~Og!lO~Og!mO~OS!nO~Ol!qO!a!oO!c!pO~OS!rO~OS!sO~OS!tO~Ob!uOc!uOd!uO!a!wO!b!uO~Ob!xOc!xOd!xO!c!wO!d!xO~Ob!uOc!uOd!uO!a!{O!b!uO~Ob!xOc!xOd!xO!c!{O!d!xO~OT~cbd!ey|!e~",goto:"%q!aPPPPPPPPPPPPPPPPPPPPP!b!hP!nPP!zP!}#Q#T#Z#^#a#g#j#m#s#y!bP!b!bP$P$V$m$s$y%P%V%]%cPPPPPPPP%iX^OX`pXUOX`pezabcde{!O!Q!S!UR!q!dRhUR!XhXVOX`pRkVR!XkXWOX`pRnWR!XnXXOX`pQrXR!XpXYOX`pQ`ORx`Q{aQ!ObQ!QcQ!SdQ!UeZ!e{!O!Q!S!UQ!v!oR!z!vQ!y!pR!|!yQgUR!VgQjVR!YjQmWR![mQpXR!^pQtZR!`tS_O`ToXp",nodeNames:"\u26A0 StartCloseTag StartCloseTag StartCloseTag EndTag SelfClosingEndTag StartTag StartTag StartTag StartTag StartTag StartCloseTag StartCloseTag StartCloseTag IncompleteTag IncompleteCloseTag Document Text EntityReference CharacterReference InvalidEntity Element OpenTag TagName Attribute AttributeName Is AttributeValue UnquotedAttributeValue ScriptText CloseTag OpenTag StyleText CloseTag OpenTag TextareaText CloseTag OpenTag CloseTag SelfClosingTag Comment ProcessingInst MismatchedCloseTag CloseTag DoctypeDecl",maxTerm:68,context:Gy,nodeProps:[["closedBy",-10,1,2,3,7,8,9,10,11,12,13,"EndTag",6,"EndTag SelfClosingEndTag",-4,22,31,34,37,"CloseTag"],["openedBy",4,"StartTag StartCloseTag",5,"StartTag",-4,30,33,36,38,"OpenTag"],["group",-10,14,15,18,19,20,21,40,41,42,43,"Entity",17,"Entity TextContent",-3,29,32,35,"TextContent Entity"],["isolate",-11,22,30,31,33,34,36,37,38,39,42,43,"ltr",-3,27,28,40,""]],propSources:[ik],skippedNodes:[0],repeatNodeCount:9,tokenData:"!]tw8twx7Sx!P8t!P!Q5u!Q!]8t!]!^/^!^!a7S!a#S8t#S#T;{#T#s8t#s$f5u$f;'S8t;'S;=`>V<%l?Ah8t?Ah?BY5u?BY?Mn8t?MnO5u!Z5zblWOX5uXZ7SZ[5u[^7S^p5uqr5urs7Sst+Ptw5uwx7Sx!]5u!]!^7w!^!a7S!a#S5u#S#T7S#T;'S5u;'S;=`8n<%lO5u!R7VVOp7Sqs7St!]7S!]!^7l!^;'S7S;'S;=`7q<%lO7S!R7qOb!R!R7tP;=`<%l7S!Z8OYlWb!ROX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+P!Z8qP;=`<%l5u!_8{iiSlWOX5uXZ7SZ[5u[^7S^p5uqr8trs7Sst/^tw8twx7Sx!P8t!P!Q5u!Q!]8t!]!^:j!^!a7S!a#S8t#S#T;{#T#s8t#s$f5u$f;'S8t;'S;=`>V<%l?Ah8t?Ah?BY5u?BY?Mn8t?MnO5u!_:sbiSlWb!ROX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+P!VP<%l?Ah;{?Ah?BY7S?BY?Mn;{?MnO7S!V=dXiSb!Rqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0m!V>SP;=`<%l;{!_>YP;=`<%l8t!_>dhiSlWOX@OXZAYZ[@O[^AY^p@OqrBwrsAYswBwwxAYx!PBw!P!Q@O!Q!]Bw!]!^/^!^!aAY!a#SBw#S#TE{#T#sBw#s$f@O$f;'SBw;'S;=`HS<%l?AhBw?Ah?BY@O?BY?MnBw?MnO@O!Z@TalWOX@OXZAYZ[@O[^AY^p@Oqr@OrsAYsw@OwxAYx!]@O!]!^Az!^!aAY!a#S@O#S#TAY#T;'S@O;'S;=`Bq<%lO@O!RA]UOpAYq!]AY!]!^Ao!^;'SAY;'S;=`At<%lOAY!RAtOc!R!RAwP;=`<%lAY!ZBRYlWc!ROX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+P!ZBtP;=`<%l@O!_COhiSlWOX@OXZAYZ[@O[^AY^p@OqrBwrsAYswBwwxAYx!PBw!P!Q@O!Q!]Bw!]!^Dj!^!aAY!a#SBw#S#TE{#T#sBw#s$f@O$f;'SBw;'S;=`HS<%l?AhBw?Ah?BY@O?BY?MnBw?MnO@O!_DsbiSlWc!ROX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+P!VFQbiSOpAYqrE{rsAYswE{wxAYx!PE{!P!QAY!Q!]E{!]!^GY!^!aAY!a#sE{#s$fAY$f;'SE{;'S;=`G|<%l?AhE{?Ah?BYAY?BY?MnE{?MnOAY!VGaXiSc!Rqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0m!VHPP;=`<%lE{!_HVP;=`<%lBw!ZHcW!cxaP!b`Or(trs'ksv(tw!^(t!^!_)e!_;'S(t;'S;=`*P<%lO(t!aIYliSaPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx}-_}!OKQ!O!P-_!P!Q$q!Q!^-_!^!_*V!_!a&X!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q!aK_kiSaPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx!P-_!P!Q$q!Q!^-_!^!_*V!_!`&X!`!aMS!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q!TM_XaP!b`!dp!fQOr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&X!aNZ!ZiSgQaPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx}-_}!OMz!O!PMz!P!Q$q!Q![Mz![!]Mz!]!^-_!^!_*V!_!a&X!a!c-_!c!}Mz!}#R-_#R#SMz#S#T1k#T#oMz#o#s-_#s$f$q$f$}-_$}%OMz%O%W-_%W%oMz%o%p-_%p&aMz&a&b-_&b1pMz1p4UMz4U4dMz4d4e-_4e$ISMz$IS$I`-_$I`$IbMz$Ib$Je-_$Je$JgMz$Jg$Kh-_$Kh%#tMz%#t&/x-_&/x&EtMz&Et&FV-_&FV;'SMz;'S;:j!#|;:j;=`3X<%l?&r-_?&r?AhMz?Ah?BY$q?BY?MnMz?MnO$q!a!$PP;=`<%lMz!R!$ZY!b`!dpOq*Vqr!$yrs(Vsv*Vwx)ex!a*V!a!b!4t!b;'S*V;'S;=`*s<%lO*V!R!%Q]!b`!dpOr*Vrs(Vsv*Vwx)ex}*V}!O!%y!O!f*V!f!g!']!g#W*V#W#X!0`#X;'S*V;'S;=`*s<%lO*V!R!&QX!b`!dpOr*Vrs(Vsv*Vwx)ex}*V}!O!&m!O;'S*V;'S;=`*s<%lO*V!R!&vV!b`!dp!ePOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!'dX!b`!dpOr*Vrs(Vsv*Vwx)ex!q*V!q!r!(P!r;'S*V;'S;=`*s<%lO*V!R!(WX!b`!dpOr*Vrs(Vsv*Vwx)ex!e*V!e!f!(s!f;'S*V;'S;=`*s<%lO*V!R!(zX!b`!dpOr*Vrs(Vsv*Vwx)ex!v*V!v!w!)g!w;'S*V;'S;=`*s<%lO*V!R!)nX!b`!dpOr*Vrs(Vsv*Vwx)ex!{*V!{!|!*Z!|;'S*V;'S;=`*s<%lO*V!R!*bX!b`!dpOr*Vrs(Vsv*Vwx)ex!r*V!r!s!*}!s;'S*V;'S;=`*s<%lO*V!R!+UX!b`!dpOr*Vrs(Vsv*Vwx)ex!g*V!g!h!+q!h;'S*V;'S;=`*s<%lO*V!R!+xY!b`!dpOr!+qrs!,hsv!+qvw!-Swx!.[x!`!+q!`!a!/j!a;'S!+q;'S;=`!0Y<%lO!+qq!,mV!dpOv!,hvx!-Sx!`!,h!`!a!-q!a;'S!,h;'S;=`!.U<%lO!,hP!-VTO!`!-S!`!a!-f!a;'S!-S;'S;=`!-k<%lO!-SP!-kO|PP!-nP;=`<%l!-Sq!-xS!dp|POv(Vx;'S(V;'S;=`(h<%lO(Vq!.XP;=`<%l!,ha!.aX!b`Or!.[rs!-Ssv!.[vw!-Sw!`!.[!`!a!.|!a;'S!.[;'S;=`!/d<%lO!.[a!/TT!b`|POr)esv)ew;'S)e;'S;=`)y<%lO)ea!/gP;=`<%l!.[!R!/sV!b`!dp|POr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!0]P;=`<%l!+q!R!0gX!b`!dpOr*Vrs(Vsv*Vwx)ex#c*V#c#d!1S#d;'S*V;'S;=`*s<%lO*V!R!1ZX!b`!dpOr*Vrs(Vsv*Vwx)ex#V*V#V#W!1v#W;'S*V;'S;=`*s<%lO*V!R!1}X!b`!dpOr*Vrs(Vsv*Vwx)ex#h*V#h#i!2j#i;'S*V;'S;=`*s<%lO*V!R!2qX!b`!dpOr*Vrs(Vsv*Vwx)ex#m*V#m#n!3^#n;'S*V;'S;=`*s<%lO*V!R!3eX!b`!dpOr*Vrs(Vsv*Vwx)ex#d*V#d#e!4Q#e;'S*V;'S;=`*s<%lO*V!R!4XX!b`!dpOr*Vrs(Vsv*Vwx)ex#X*V#X#Y!+q#Y;'S*V;'S;=`*s<%lO*V!R!4{Y!b`!dpOr!4trs!5ksv!4tvw!6Vwx!8]x!a!4t!a!b!:]!b;'S!4t;'S;=`!;r<%lO!4tq!5pV!dpOv!5kvx!6Vx!a!5k!a!b!7W!b;'S!5k;'S;=`!8V<%lO!5kP!6YTO!a!6V!a!b!6i!b;'S!6V;'S;=`!7Q<%lO!6VP!6lTO!`!6V!`!a!6{!a;'S!6V;'S;=`!7Q<%lO!6VP!7QOyPP!7TP;=`<%l!6Vq!7]V!dpOv!5kvx!6Vx!`!5k!`!a!7r!a;'S!5k;'S;=`!8V<%lO!5kq!7yS!dpyPOv(Vx;'S(V;'S;=`(h<%lO(Vq!8YP;=`<%l!5ka!8bX!b`Or!8]rs!6Vsv!8]vw!6Vw!a!8]!a!b!8}!b;'S!8];'S;=`!:V<%lO!8]a!9SX!b`Or!8]rs!6Vsv!8]vw!6Vw!`!8]!`!a!9o!a;'S!8];'S;=`!:V<%lO!8]a!9vT!b`yPOr)esv)ew;'S)e;'S;=`)y<%lO)ea!:YP;=`<%l!8]!R!:dY!b`!dpOr!4trs!5ksv!4tvw!6Vwx!8]x!`!4t!`!a!;S!a;'S!4t;'S;=`!;r<%lO!4t!R!;]V!b`!dpyPOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!;uP;=`<%l!4t!V!{let c=a.type.id;if(c==Zy)return bc(a,l,t);if(c==Ey)return bc(a,l,n);if(c==qy)return bc(a,l,r);if(c==bp&&s.length){let h=a.node,f=h.firstChild,u=f&&dp(f,l),O;if(u){for(let m of s)if(m.tag==u&&(!m.attrs||m.attrs(O||(O=wp(f,l))))){let p=h.lastChild,b=p.type.id==Ly?p.from:h.to;if(b>f.to)return{parser:m.parser,overlay:[{from:f.to,to:b}]}}}}if(o&&c==Sp){let h=a.node,f;if(f=h.firstChild){let u=o[l.read(f.from,f.to)];if(u)for(let O of u){if(O.tagName&&O.tagName!=dp(h.parent,l))continue;let m=h.lastChild;if(m.type.id==Sc){let p=m.from+1,b=m.lastChild,g=m.to-(b&&b.isError?0:1);if(g>p)return{parser:O.parser,overlay:[{from:p,to:g}],bracketed:!0}}else if(m.type.id==yp)return{parser:O.parser,overlay:[{from:m.from,to:m.to}]}}}}return null})}var nk=145,Pp=1,rk=146,sk=147,$p=2,ok=148,ak=3,lk=4,Tp=[9,10,11,12,13,32,133,160,5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8232,8233,8239,8287,12288],ck=58,hk=40,Cp=95,fk=91,ro=45,uk=46,Ok=35,dk=37,pk=38,mk=92,gk=10,Qk=42;function Pr(i){return i>=65&&i<=90||i>=97&&i<=122||i>=161}function vc(i){return i>=48&&i<=57}function vp(i){return vc(i)||i>=97&&i<=102||i>=65&&i<=70}var Xp=(i,e,t)=>(n,r)=>{for(let s=!1,o=0,a=0;;a++){let{next:l}=n;if(Pr(l)||l==ro||l==Cp||s&&vc(l))!s&&(l!=ro||a>0)&&(s=!0),o===a&&l==ro&&o++,n.advance();else if(l==mk&&n.peek(1)!=gk){if(n.advance(),vp(n.next)){do n.advance();while(vp(n.next));n.next==32&&n.advance()}else n.next>-1&&n.advance();s=!0}else{s&&n.acceptToken(o==2&&r.canShift($p)?e:l==hk?t:i);break}}},bk=new ee(Xp(rk,$p,sk),{contextual:!0}),Sk=new ee(Xp(ok,ak,lk),{contextual:!0}),yk=new ee(i=>{if(Tp.includes(i.peek(-1))){let{next:e}=i;(Pr(e)||e==Cp||e==Ok||e==uk||e==Qk||e==fk||e==ck&&Pr(i.peek(1))||e==ro||e==pk)&&i.acceptToken(nk)}}),kk=new ee(i=>{if(!Tp.includes(i.peek(-1))){let{next:e}=i;if(e==dk&&(i.advance(),i.acceptToken(Pp)),Pr(e)){do i.advance();while(Pr(i.next)||vc(i.next));i.acceptToken(Pp)}}}),xk=Qe({"AtKeyword import charset namespace keyframes media supports font-feature-values":d.definitionKeyword,"from to selector scope MatchFlag":d.keyword,NamespaceName:d.namespace,KeyframeName:d.labelName,KeyframeRangeName:d.operatorKeyword,TagName:d.tagName,ClassName:d.className,PseudoClassName:d.constant(d.className),IdName:d.labelName,"FeatureName PropertyName":d.propertyName,AttributeName:d.attributeName,NumberLiteral:d.number,KeywordQuery:d.keyword,UnaryQueryOp:d.operatorKeyword,"CallTag ValueName FontName":d.atom,VariableName:d.variableName,Callee:d.operatorKeyword,Unit:d.unit,"UniversalSelector NestingSelector":d.definitionOperator,"MatchOp CompareOp":d.compareOperator,"ChildOp SiblingOp, LogicOp":d.logicOperator,BinOp:d.arithmeticOperator,Important:d.modifier,Comment:d.blockComment,ColorLiteral:d.color,"ParenthesizedContent StringLiteral":d.string,":":d.punctuation,"PseudoOp #":d.derefOperator,"; , |":d.separator,"( )":d.paren,"[ ]":d.squareBracket,"{ }":d.brace}),wk={__proto__:null,lang:44,"nth-child":44,"nth-last-child":44,"nth-of-type":44,"nth-last-of-type":44,dir:44,"host-context":44,if:90,url:152,"url-prefix":152,domain:152,regexp:152},Pk={__proto__:null,or:104,and:104,not:112,only:112,layer:206},vk={__proto__:null,selector:118,style:124,layer:202},$k={__proto__:null,"@import":198,"@media":210,"@charset":214,"@namespace":218,"@keyframes":224,"@supports":236,"@scope":240,"@font-feature-values":246},Tk={__proto__:null,to:243},_p=ve.deserialize({version:14,states:"MlQYQdOOO#}QdOOP$UO`OOO%OQaO'#CfOOQP'#Ce'#CeO%VQdO'#CgO%[Q`O'#CgO%aQaO'#FnO&XQdO'#CkO&xQaO'#CcO'SQdO'#CnO'_QdO'#EOO'dQdO'#EQO'oQdO'#EXO'oQdO'#E[OOQP'#Fn'#FnO)RQhO'#E}OOQS'#Fm'#FmOOQS'#FQ'#FQQYQdOOO)YQdO'#EbO*iQhO'#EhO)YQdO'#EjO*pQdO'#ElO*{QdO'#EoO)}QhO'#EuO+TQdO'#EwO+`QdO'#EzO+eQaO'#CfO+lQ`O'#E_O+qQ`O'#F{O+|QdO'#F{QOQ`OOP,WO&jO'#CaPOOO)CA])CA]OOQP'#Ci'#CiOOQP,59R,59RO%VQdO,59ROOQP'#Cm'#CmOOQP,59V,59VO&XQdO,59VO,cQdO,59YO'_QdO,5:jO'dQdO,5:lO'oQdO,5:sO'oQdO,5:uO'oQdO,5:vO'oQdO'#FXO,nQ`O,58}O,vQdO'#E^OOQS,58},58}OOQP'#Cq'#CqOOQO'#D|'#D|OOQP,59Y,59YO,}Q`O,59YO-SQ`O,59YOOQP'#EP'#EPOOQP,5:j,5:jO-XQpO'#ERO-dQdO'#ESO-iQ`O'#ESO-nQpO,5:lO.XQaO,5:sO.oQaO,5:vOOQW'#D^'#D^O/nQhO'#DgO0RQhO,5;iO)}QhO'#DeO0`Q`O'#DnO0eQhO'#DxOOQW'#Ft'#FtOOQS,5;i,5;iO0jQ`O'#DhO0oQ`O'#DkOOQS-E9O-E9OOOQ['#Cv'#CvO0tQdO'#CwO1[QdO'#C}O1rQdO'#DQO2YQ!pO'#DSO4fQ!jO,5:|OOQO'#DX'#DXO-SQ`O'#DWO4vQ!nO'#FqO6|Q`O'#DYO7RQ`O'#DyOOQ['#Fq'#FqO7WQhO'#GOO7fQ`O,5;SO7kQ!bO,5;UOOQS'#En'#EnO7sQ`O,5;WO7xQdO,5;WOOQO'#Eq'#EqO8QQ`O,5;ZO8VQhO,5;aO'oQdO'#DjOOQS,5;c,5;cO0jQ`O,5;cO8_QdO,5;cOOQS'#F`'#F`O8gQdO'#E|O7fQ`O,5;fO8oQdO,5:yO9PQdO'#FZO9^Q`O,5lQhO'#DoOOQW,5:Y,5:YOOQW,5:d,5:dOOQW,5:S,5:SO>vQhO,5:VO?bQ!fO'#FrOOQS'#Fr'#FrOOQS'#FS'#FSO@rQdO,59cOOQ[,59c,59cOAYQdO,59iOOQ[,59i,59iOApQdO,59lOOQ[,59l,59lOOQ[,59n,59nO)YQdO,59pOBWQhO'#EdOOQW'#Ed'#EdOBuQ`O1G0hO4oQhO1G0hOOQ[,59r,59rO)}QhO'#D[OOQ[,59t,59tOBzQ#tO,5:eOCVQhO'#F]OCdQ`O,5vQhO'#DmOI_QhO'#DqOIgQhO'#DsOIlQhO'#FwOOQO'#Fw'#FwOItQ!bO'#DwOOQO'#Fy'#FyOOQO'#Fv'#FvOIyQ`O1G/qOOQS-E9Q-E9QOOQ[1G.}1G.}OOQ[1G/T1G/TOOQ[1G/W1G/WOOQ[1G/[1G/[OJOQdO,5;OOOQS7+&S7+&SOJTQ`O7+&SOJYQhO'#D]OJbQ`O,59vO)}QhO,59vOOQ[1G0P1G0POJjQ`O1G0POJoQhO,5;wOOQO-E9Z-E9ZOOQS7+&^7+&^OJ}QbO'#DSOOQO'#Et'#EtOK]Q`O'#EsOOQO'#Es'#EsOKhQ`O'#F^OKpQdO,5;^OOQS,5;^,5;^OOQ[1G/p1G/pOOQS7+&i7+&iO7fQ`O7+&iOK{Q!fO'#FYO)YQdO'#FYOMSQdO7+&POOQO7+&P7+&POOQO,5:{,5:{OOQO1G1a1G1aOMgQ!bO<vQhO'#DrOOQO,5:],5:]O! hQhO,5:_OGUQhO,5:cOOQW7+%]7+%]OOQO'#Ef'#EfO! pQ`O1G0jOOQS<xAN>xO!#zQ`OAN>xO!$PQaO,5;rOOQO-E9U-E9UO!$ZQdO,5;qOOQO-E9T-E9TOOQW<vQhO'#DuOOQO1G/y1G/yO!%vQ!bO1G/}OJOQdO'#F[O!&OQ`O7+&UOOQW7+&U7+&UO!&WQ!bO1G/cOOQ[7+$|7+$|O!&cQhO7+$|P!&jQ`O'#FTOOQO,5;y,5;yOOQO-E9]-E9]OOQS1G1d1G1dOOQPG24dG24dO!&oQ`OAN>ZO)YQdO1G1[O!&tQ`O7+'jOOQO1G/x1G/xO!&|Q`O,5:aO!$eQhO7+%iOOQO,5;v,5;vOOQO-E9Y-E9YOOQW<Q!]!^>|!^!_?_!_!`@Z!`!a@n!a!b%Z!b!cAo!c!k%Z!k!lC|!l!u%Z!u!vC|!v!}%Z!}#OD_#O#P%Z#P#QDp#Q#R2X#R#]%Z#]#^ER#^#g%Z#g#hC|#h#o%Z#o#pIf#p#qIw#q#rJ`#r#sJq#s#y%Z#y#z&R#z$f%Z$f$g&R$g#BY%Z#BY#BZ&R#BZ$IS%Z$IS$I_&R$I_$I|%Z$I|$JO&R$JO$JT%Z$JT$JU&R$JU$KV%Z$KV$KW&R$KW&FU%Z&FU&FV&R&FV;'S%Z;'S;=`KY<%lO%Z`%^SOy%jz;'S%j;'S;=`%{<%lO%j`%oS!o`Oy%jz;'S%j;'S;=`%{<%lO%j`&OP;=`<%l%j~&Wh$[~OX%jX^'r^p%jpq'rqy%jz#y%j#y#z'r#z$f%j$f$g'r$g#BY%j#BY#BZ'r#BZ$IS%j$IS$I_'r$I_$I|%j$I|$JO'r$JO$JT%j$JT$JU'r$JU$KV%j$KV$KW'r$KW&FU%j&FU&FV'r&FV;'S%j;'S;=`%{<%lO%j~'yh$[~!o`OX%jX^'r^p%jpq'rqy%jz#y%j#y#z'r#z$f%j$f$g'r$g#BY%j#BY#BZ'r#BZ$IS%j$IS$I_'r$I_$I|%j$I|$JO'r$JO$JT%j$JT$JU'r$JU$KV%j$KV$KW'r$KW&FU%j&FU&FV'r&FV;'S%j;'S;=`%{<%lO%jj)jS$qYOy%jz;'S%j;'S;=`%{<%lO%j~)yWOY)vZr)vrs*cs#O)v#O#P*h#P;'S)v;'S;=`+d<%lO)v~*hOw~~*kRO;'S)v;'S;=`*t;=`O)v~*wXOY)vZr)vrs*cs#O)v#O#P*h#P;'S)v;'S;=`+d;=`<%l)v<%lO)v~+gP;=`<%l)vj+oYmYOy%jz!Q%j!Q![,_![!c%j!c!i,_!i#T%j#T#Z,_#Z;'S%j;'S;=`%{<%lO%jj,dY!o`Oy%jz!Q%j!Q![-S![!c%j!c!i-S!i#T%j#T#Z-S#Z;'S%j;'S;=`%{<%lO%jj-XY!o`Oy%jz!Q%j!Q![-w![!c%j!c!i-w!i#T%j#T#Z-w#Z;'S%j;'S;=`%{<%lO%jj.OYuY!o`Oy%jz!Q%j!Q![.n![!c%j!c!i.n!i#T%j#T#Z.n#Z;'S%j;'S;=`%{<%lO%jj.uYuY!o`Oy%jz!Q%j!Q![/e![!c%j!c!i/e!i#T%j#T#Z/e#Z;'S%j;'S;=`%{<%lO%jj/jY!o`Oy%jz!Q%j!Q![0Y![!c%j!c!i0Y!i#T%j#T#Z0Y#Z;'S%j;'S;=`%{<%lO%jj0aYuY!o`Oy%jz!Q%j!Q![1P![!c%j!c!i1P!i#T%j#T#Z1P#Z;'S%j;'S;=`%{<%lO%jj1UY!o`Oy%jz!Q%j!Q![1t![!c%j!c!i1t!i#T%j#T#Z1t#Z;'S%j;'S;=`%{<%lO%jj1{SuY!o`Oy%jz;'S%j;'S;=`%{<%lO%jd2[UOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%jd2uS!yS!o`Oy%jz;'S%j;'S;=`%{<%lO%jb3WS^QOy%jz;'S%j;'S;=`%{<%lO%j~3gWOY3dZw3dwx*cx#O3d#O#P4P#P;'S3d;'S;=`4{<%lO3d~4SRO;'S3d;'S;=`4];=`O3d~4`XOY3dZw3dwx*cx#O3d#O#P4P#P;'S3d;'S;=`4{;=`<%l3d<%lO3d~5OP;=`<%l3dj5WShYOy%jz;'S%j;'S;=`%{<%lO%j~5iOg~n5pUWQyWOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%jj6ZWyW#PQOy%jz!O%j!O!P6s!P!Q%j!Q![9x![;'S%j;'S;=`%{<%lO%jj6xU!o`Oy%jz!Q%j!Q![7[![;'S%j;'S;=`%{<%lO%jj7cY!o`$gYOy%jz!Q%j!Q![7[![!g%j!g!h8R!h#X%j#X#Y8R#Y;'S%j;'S;=`%{<%lO%jj8WY!o`Oy%jz{%j{|8v|}%j}!O8v!O!Q%j!Q![9_![;'S%j;'S;=`%{<%lO%jj8{U!o`Oy%jz!Q%j!Q![9_![;'S%j;'S;=`%{<%lO%jj9fU!o`$gYOy%jz!Q%j!Q![9_![;'S%j;'S;=`%{<%lO%jj:P[!o`$gYOy%jz!O%j!O!P7[!P!Q%j!Q![9x![!g%j!g!h8R!h#X%j#X#Y8R#Y;'S%j;'S;=`%{<%lO%jj:zS!dYOy%jz;'S%j;'S;=`%{<%lO%jj;]WyWOy%jz!O%j!O!P6s!P!Q%j!Q![9x![;'S%j;'S;=`%{<%lO%jj;zU`YOy%jz!Q%j!Q![7[![;'S%j;'S;=`%{<%lO%j~VUcYOy%jz![%j![!]>i!];'S%j;'S;=`%{<%lO%jj>pSdY!o`Oy%jz;'S%j;'S;=`%{<%lO%jj?RSnYOy%jz;'S%j;'S;=`%{<%lO%jh?dU!WWOy%jz!_%j!_!`?v!`;'S%j;'S;=`%{<%lO%jh?}S!WW!o`Oy%jz;'S%j;'S;=`%{<%lO%jl@bS!WW!ySOy%jz;'S%j;'S;=`%{<%lO%jj@uV!|Q!WWOy%jz!_%j!_!`?v!`!aA[!a;'S%j;'S;=`%{<%lO%jbAcS!|Q!o`Oy%jz;'S%j;'S;=`%{<%lO%jjArYOy%jz}%j}!OBb!O!c%j!c!}CP!}#T%j#T#oCP#o;'S%j;'S;=`%{<%lO%jjBgW!o`Oy%jz!c%j!c!}CP!}#T%j#T#oCP#o;'S%j;'S;=`%{<%lO%jjCW[lY!o`Oy%jz}%j}!OCP!O!Q%j!Q![CP![!c%j!c!}CP!}#T%j#T#oCP#o;'S%j;'S;=`%{<%lO%jhDRS!zWOy%jz;'S%j;'S;=`%{<%lO%jjDdSpYOy%jz;'S%j;'S;=`%{<%lO%jnDuSo^Oy%jz;'S%j;'S;=`%{<%lO%jjEWU!zWOy%jz#a%j#a#bEj#b;'S%j;'S;=`%{<%lO%jbEoU!o`Oy%jz#d%j#d#eFR#e;'S%j;'S;=`%{<%lO%jbFWU!o`Oy%jz#c%j#c#dFj#d;'S%j;'S;=`%{<%lO%jbFoU!o`Oy%jz#f%j#f#gGR#g;'S%j;'S;=`%{<%lO%jbGWU!o`Oy%jz#h%j#h#iGj#i;'S%j;'S;=`%{<%lO%jbGoU!o`Oy%jz#T%j#T#UHR#U;'S%j;'S;=`%{<%lO%jbHWU!o`Oy%jz#b%j#b#cHj#c;'S%j;'S;=`%{<%lO%jbHoU!o`Oy%jz#h%j#h#iIR#i;'S%j;'S;=`%{<%lO%jbIYS$pQ!o`Oy%jz;'S%j;'S;=`%{<%lO%jjIkSsYOy%jz;'S%j;'S;=`%{<%lO%jfI|U$cUOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%jjJeSrYOy%jz;'S%j;'S;=`%{<%lO%jfJvU#PQOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%j`K]P;=`<%l%Z",tokenizers:[yk,kk,bk,Sk,1,2,3,4,new ki("m~RRYZ[z{a~~g~aO$_~~dP!P!Qg~lO$`~~",28,152)],topRules:{StyleSheet:[0,6],Styles:[1,126]},dynamicPrecedences:{94:1},specialized:[{term:147,get:i=>wk[i]||-1},{term:148,get:i=>Pk[i]||-1},{term:4,get:i=>vk[i]||-1},{term:28,get:i=>$k[i]||-1},{term:146,get:i=>Tk[i]||-1}],tokenPrec:2405});var $c=null;function Tc(){if(!$c&&typeof document=="object"&&document.body){let{style:i}=document.body,e=[],t=new Set;for(let n in i)n!="cssText"&&n!="cssFloat"&&typeof i[n]=="string"&&(/[A-Z]/.test(n)&&(n=n.replace(/[A-Z]/g,r=>"-"+r.toLowerCase())),t.has(n)||(e.push(n),t.add(n)));$c=e.sort().map(n=>({type:"property",label:n,apply:n+": "}))}return $c||[]}var Rp=["active","after","any-link","autofill","backdrop","before","checked","cue","default","defined","disabled","empty","enabled","file-selector-button","first","first-child","first-letter","first-line","first-of-type","focus","focus-visible","focus-within","fullscreen","has","host","host-context","hover","in-range","indeterminate","invalid","is","lang","last-child","last-of-type","left","link","marker","modal","not","nth-child","nth-last-child","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","part","placeholder","placeholder-shown","read-only","read-write","required","right","root","scope","selection","slotted","target","target-text","valid","visited","where"].map(i=>({type:"class",label:i})),Ap=["above","absolute","activeborder","additive","activecaption","after-white-space","ahead","alias","all","all-scroll","alphabetic","alternate","always","antialiased","appworkspace","asterisks","attr","auto","auto-flow","avoid","avoid-column","avoid-page","avoid-region","axis-pan","background","backwards","baseline","below","bidi-override","blink","block","block-axis","bold","bolder","border","border-box","both","bottom","break","break-all","break-word","bullets","button","button-bevel","buttonface","buttonhighlight","buttonshadow","buttontext","calc","capitalize","caps-lock-indicator","caption","captiontext","caret","cell","center","checkbox","circle","cjk-decimal","clear","clip","close-quote","col-resize","collapse","color","color-burn","color-dodge","column","column-reverse","compact","condensed","contain","content","contents","content-box","context-menu","continuous","copy","counter","counters","cover","crop","cross","crosshair","currentcolor","cursive","cyclic","darken","dashed","decimal","decimal-leading-zero","default","default-button","dense","destination-atop","destination-in","destination-out","destination-over","difference","disc","discard","disclosure-closed","disclosure-open","document","dot-dash","dot-dot-dash","dotted","double","down","e-resize","ease","ease-in","ease-in-out","ease-out","element","ellipse","ellipsis","embed","end","ethiopic-abegede-gez","ethiopic-halehame-aa-er","ethiopic-halehame-gez","ew-resize","exclusion","expanded","extends","extra-condensed","extra-expanded","fantasy","fast","fill","fill-box","fixed","flat","flex","flex-end","flex-start","footnotes","forwards","from","geometricPrecision","graytext","grid","groove","hand","hard-light","help","hidden","hide","higher","highlight","highlighttext","horizontal","hsl","hsla","hue","icon","ignore","inactiveborder","inactivecaption","inactivecaptiontext","infinite","infobackground","infotext","inherit","initial","inline","inline-axis","inline-block","inline-flex","inline-grid","inline-table","inset","inside","intrinsic","invert","italic","justify","keep-all","landscape","large","larger","left","level","lighter","lighten","line-through","linear","linear-gradient","lines","list-item","listbox","listitem","local","logical","loud","lower","lower-hexadecimal","lower-latin","lower-norwegian","lowercase","ltr","luminosity","manipulation","match","matrix","matrix3d","medium","menu","menutext","message-box","middle","min-intrinsic","mix","monospace","move","multiple","multiple_mask_images","multiply","n-resize","narrower","ne-resize","nesw-resize","no-close-quote","no-drop","no-open-quote","no-repeat","none","normal","not-allowed","nowrap","ns-resize","numbers","numeric","nw-resize","nwse-resize","oblique","opacity","open-quote","optimizeLegibility","optimizeSpeed","outset","outside","outside-shape","overlay","overline","padding","padding-box","painted","page","paused","perspective","pinch-zoom","plus-darker","plus-lighter","pointer","polygon","portrait","pre","pre-line","pre-wrap","preserve-3d","progress","push-button","radial-gradient","radio","read-only","read-write","read-write-plaintext-only","rectangle","region","relative","repeat","repeating-linear-gradient","repeating-radial-gradient","repeat-x","repeat-y","reset","reverse","rgb","rgba","ridge","right","rotate","rotate3d","rotateX","rotateY","rotateZ","round","row","row-resize","row-reverse","rtl","run-in","running","s-resize","sans-serif","saturation","scale","scale3d","scaleX","scaleY","scaleZ","screen","scroll","scrollbar","scroll-position","se-resize","self-start","self-end","semi-condensed","semi-expanded","separate","serif","show","single","skew","skewX","skewY","skip-white-space","slide","slider-horizontal","slider-vertical","sliderthumb-horizontal","sliderthumb-vertical","slow","small","small-caps","small-caption","smaller","soft-light","solid","source-atop","source-in","source-out","source-over","space","space-around","space-between","space-evenly","spell-out","square","start","static","status-bar","stretch","stroke","stroke-box","sub","subpixel-antialiased","svg_masks","super","sw-resize","symbolic","symbols","system-ui","table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row","table-row-group","text","text-bottom","text-top","textarea","textfield","thick","thin","threeddarkshadow","threedface","threedhighlight","threedlightshadow","threedshadow","to","top","transform","translate","translate3d","translateX","translateY","translateZ","transparent","ultra-condensed","ultra-expanded","underline","unidirectional-pan","unset","up","upper-latin","uppercase","url","var","vertical","vertical-text","view-box","visible","visibleFill","visiblePainted","visibleStroke","visual","w-resize","wait","wave","wider","window","windowframe","windowtext","words","wrap","wrap-reverse","x-large","x-small","xor","xx-large","xx-small"].map(i=>({type:"keyword",label:i})).concat(["aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","grey","green","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen"].map(i=>({type:"constant",label:i}))),Ck=["a","abbr","address","article","aside","b","bdi","bdo","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","dd","del","details","dfn","dialog","div","dl","dt","em","figcaption","figure","footer","form","header","hgroup","h1","h2","h3","h4","h5","h6","hr","html","i","iframe","img","input","ins","kbd","label","legend","li","main","meter","nav","ol","output","p","pre","ruby","section","select","small","source","span","strong","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","tr","u","ul"].map(i=>({type:"type",label:i})),Xk=["@charset","@color-profile","@container","@counter-style","@font-face","@font-feature-values","@font-palette-values","@import","@keyframes","@layer","@media","@namespace","@page","@position-try","@property","@scope","@starting-style","@supports","@view-transition"].map(i=>({type:"keyword",label:i})),Ft=/^(\w[\w-]*|-\w[\w-]*|)$/,_k=/^-(-[\w-]*)?$/;function Rk(i,e){var t;if((i.name=="("||i.type.isError)&&(i=i.parent||i),i.name!="ArgList")return!1;let n=(t=i.parent)===null||t===void 0?void 0:t.firstChild;return n?.name!="Callee"?!1:e.sliceString(n.from,n.to)=="var"}var Zp=new pi,Ak=["Declaration"];function Zk(i){for(let e=i;;){if(e.type.isTop)return e;if(!(e=e.parent))return i}}function Ep(i,e,t){if(e.to-e.from>4096){let n=Zp.get(e);if(n)return n;let r=[],s=new Set,o=e.cursor(te.IncludeAnonymous);if(o.firstChild())do for(let a of Ep(i,o.node,t))s.has(a.label)||(s.add(a.label),r.push(a));while(o.nextSibling());return Zp.set(e,r),r}else{let n=[],r=new Set;return e.cursor().iterate(s=>{var o;if(t(s)&&s.matchContext(Ak)&&((o=s.node.nextSibling)===null||o===void 0?void 0:o.name)==":"){let a=i.sliceString(s.from,s.to);r.has(a)||(r.add(a),n.push({label:a,type:"variable"}))}}),n}}var Ek=i=>e=>{let{state:t,pos:n}=e,r=U(t).resolveInner(n,-1),s=r.type.isError&&r.from==r.to-1&&t.doc.sliceString(r.from,r.to)=="-";if(r.name=="PropertyName"||(s||r.name=="TagName")&&/^(Block|Styles)$/.test(r.resolve(r.to).name))return{from:r.from,options:Tc(),validFor:Ft};if(r.name=="ValueName")return{from:r.from,options:Ap,validFor:Ft};if(r.name=="PseudoClassName")return{from:r.from,options:Rp,validFor:Ft};if(i(r)||(e.explicit||s)&&Rk(r,t.doc))return{from:i(r)||s?r.from:n,options:Ep(t.doc,Zk(r),i),validFor:_k};if(r.name=="TagName"){for(let{parent:l}=r;l;l=l.parent)if(l.name=="Block")return{from:r.from,options:Tc(),validFor:Ft};return{from:r.from,options:Ck,validFor:Ft}}if(r.name=="AtKeyword")return{from:r.from,options:Xk,validFor:Ft};if(!e.explicit)return null;let o=r.resolve(n),a=o.childBefore(n);return a&&a.name==":"&&o.name=="PseudoClassSelector"?{from:n,options:Rp,validFor:Ft}:a&&a.name==":"&&o.name=="Declaration"||o.name=="ArgList"?{from:n,options:Ap,validFor:Ft}:o.name=="Block"||o.name=="Styles"?{from:n,options:Tc(),validFor:Ft}:null},qk=Ek(i=>i.name=="VariableName"),vr=Xe.define({name:"css",parser:_p.configure({props:[Pe.add({Declaration:Gt()}),_e.add({"Block KeyframeList":Ot})]}),languageData:{commentTokens:{block:{open:"/*",close:"*/"}},indentOnInput:/^\s*\}$/,wordChars:"-"}});function so(){return new me(vr,vr.data.of({autocomplete:qk}))}var zk=316,Lk=317,qp=1,Mk=2,Wk=3,jk=4,Vk=318,Dk=320,Yk=321,Ik=5,Bk=6,Uk=0,Xc=[9,10,11,12,13,32,133,160,5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8232,8233,8239,8287,12288],zp=125,Gk=59,_c=47,Nk=42,Fk=43,Hk=45,Kk=60,Jk=44,e1=63,t1=46,i1=91,n1=new gt({start:!1,shift(i,e){return e==Ik||e==Bk||e==Dk?i:e==Yk},strict:!1}),r1=new ee((i,e)=>{let{next:t}=i;(t==zp||t==-1||e.context)&&i.acceptToken(Vk)},{contextual:!0,fallback:!0}),s1=new ee((i,e)=>{let{next:t}=i,n;Xc.indexOf(t)>-1||t==_c&&((n=i.peek(1))==_c||n==Nk)||t!=zp&&t!=Gk&&t!=-1&&!e.context&&i.acceptToken(zk)},{contextual:!0}),o1=new ee((i,e)=>{i.next==i1&&!e.context&&i.acceptToken(Lk)},{contextual:!0}),a1=new ee((i,e)=>{let{next:t}=i;if(t==Fk||t==Hk){if(i.advance(),t==i.next){i.advance();let n=!e.context&&e.canShift(qp);i.acceptToken(n?qp:Mk)}}else t==e1&&i.peek(1)==t1&&(i.advance(),i.advance(),(i.next<48||i.next>57)&&i.acceptToken(Wk))},{contextual:!0});function Cc(i,e){return i>=65&&i<=90||i>=97&&i<=122||i==95||i>=192||!e&&i>=48&&i<=57}var l1=new ee((i,e)=>{if(i.next!=Kk||!e.dialectEnabled(Uk)||(i.advance(),i.next==_c))return;let t=0;for(;Xc.indexOf(i.next)>-1;)i.advance(),t++;if(Cc(i.next,!0)){for(i.advance(),t++;Cc(i.next,!1);)i.advance(),t++;for(;Xc.indexOf(i.next)>-1;)i.advance(),t++;if(i.next==Jk)return;for(let n=0;;n++){if(n==7){if(!Cc(i.next,!0))return;break}if(i.next!="extends".charCodeAt(n))break;i.advance(),t++}}i.acceptToken(jk,-t)}),c1=Qe({"get set async static":d.modifier,"for while do if else switch try catch finally return throw break continue default case defer":d.controlKeyword,"in of await yield void typeof delete instanceof as satisfies":d.operatorKeyword,"let var const using function class extends":d.definitionKeyword,"import export from":d.moduleKeyword,"with debugger new":d.keyword,TemplateString:d.special(d.string),super:d.atom,BooleanLiteral:d.bool,this:d.self,null:d.null,Star:d.modifier,VariableName:d.variableName,"CallExpression/VariableName TaggedTemplateExpression/VariableName":d.function(d.variableName),VariableDefinition:d.definition(d.variableName),Label:d.labelName,PropertyName:d.propertyName,PrivatePropertyName:d.special(d.propertyName),"CallExpression/MemberExpression/PropertyName":d.function(d.propertyName),"FunctionDeclaration/VariableDefinition":d.function(d.definition(d.variableName)),"ClassDeclaration/VariableDefinition":d.definition(d.className),"NewExpression/VariableName":d.className,PropertyDefinition:d.definition(d.propertyName),PrivatePropertyDefinition:d.definition(d.special(d.propertyName)),UpdateOp:d.updateOperator,"LineComment Hashbang":d.lineComment,BlockComment:d.blockComment,Number:d.number,String:d.string,Escape:d.escape,ArithOp:d.arithmeticOperator,LogicOp:d.logicOperator,BitOp:d.bitwiseOperator,CompareOp:d.compareOperator,RegExp:d.regexp,Equals:d.definitionOperator,Arrow:d.function(d.punctuation),": Spread":d.punctuation,"( )":d.paren,"[ ]":d.squareBracket,"{ }":d.brace,"InterpolationStart InterpolationEnd":d.special(d.brace),".":d.derefOperator,", ;":d.separator,"@":d.meta,TypeName:d.typeName,TypeDefinition:d.definition(d.typeName),"type enum interface implements namespace module declare":d.definitionKeyword,"abstract global Privacy readonly override":d.modifier,"is keyof unique infer asserts":d.operatorKeyword,JSXAttributeValue:d.attributeValue,JSXText:d.content,"JSXStartTag JSXStartCloseTag JSXSelfCloseEndTag JSXEndTag":d.angleBracket,"JSXIdentifier JSXNameSpacedName":d.tagName,"JSXAttribute/JSXIdentifier JSXAttribute/JSXNameSpacedName":d.attributeName,"JSXBuiltin/JSXIdentifier":d.standard(d.tagName)}),h1={__proto__:null,export:20,as:25,from:33,default:36,async:41,function:42,in:52,out:55,const:56,extends:60,this:64,true:72,false:72,null:84,void:88,typeof:92,super:108,new:142,delete:154,yield:163,await:167,class:172,public:235,private:235,protected:235,readonly:237,instanceof:256,satisfies:259,import:292,keyof:349,unique:353,infer:359,asserts:395,is:397,abstract:417,implements:419,type:421,let:424,var:426,using:429,interface:435,enum:439,namespace:445,module:447,declare:451,global:455,defer:471,for:476,of:485,while:488,with:492,do:496,if:500,else:502,switch:506,case:512,try:518,catch:522,finally:526,return:530,throw:534,break:538,continue:542,debugger:546},f1={__proto__:null,async:129,get:131,set:133,declare:195,public:197,private:197,protected:197,static:199,abstract:201,override:203,readonly:209,accessor:211,new:401},u1={__proto__:null,"<":193},Lp=ve.deserialize({version:14,states:"$F|Q%TQlOOO%[QlOOO'_QpOOP(lO`OOO*zQ!0MxO'#CiO+RO#tO'#CjO+aO&jO'#CjO+oO#@ItO'#DaO.QQlO'#DgO.bQlO'#DrO%[QlO'#DzO0fQlO'#ESOOQ!0Lf'#E['#E[O1PQ`O'#EXOOQO'#Ep'#EpOOQO'#Il'#IlO1XQ`O'#GsO1dQ`O'#EoO1iQ`O'#EoO3hQ!0MxO'#JrO6[Q!0MxO'#JsO6uQ`O'#F]O6zQ,UO'#FtOOQ!0Lf'#Ff'#FfO7VO7dO'#FfO9XQMhO'#F|O9`Q`O'#F{OOQ!0Lf'#Js'#JsOOQ!0Lb'#Jr'#JrO9eQ`O'#GwOOQ['#K_'#K_O9pQ`O'#IYO9uQ!0LrO'#IZOOQ['#J`'#J`OOQ['#I_'#I_Q`QlOOQ`QlOOO9}Q!L^O'#DvO:UQlO'#EOO:]QlO'#EQO9kQ`O'#GsO:dQMhO'#CoO:rQ`O'#EnO:}Q`O'#EyO;hQMhO'#FeO;xQ`O'#GsOOQO'#K`'#K`O;}Q`O'#K`O<]Q`O'#G{O<]Q`O'#G|O<]Q`O'#HOO9kQ`O'#HRO=SQ`O'#HUO>kQ`O'#CeO>{Q`O'#HcO?TQ`O'#HiO?TQ`O'#HkO`QlO'#HmO?TQ`O'#HoO?TQ`O'#HrO?YQ`O'#HxO?_Q!0LsO'#IOO%[QlO'#IQO?jQ!0LsO'#ISO?uQ!0LsO'#IUO9uQ!0LrO'#IWO@QQ!0MxO'#CiOASQpO'#DlQOQ`OOO%[QlO'#EQOAjQ`O'#ETO:dQMhO'#EnOAuQ`O'#EnOBQQ!bO'#FeOOQ['#Cg'#CgOOQ!0Lb'#Dq'#DqOOQ!0Lb'#Jv'#JvO%[QlO'#JvOOQO'#Jy'#JyOOQO'#Ih'#IhOCQQpO'#EgOOQ!0Lb'#Ef'#EfOOQ!0Lb'#J}'#J}OC|Q!0MSO'#EgODWQpO'#EWOOQO'#Jx'#JxODlQpO'#JyOEyQpO'#EWODWQpO'#EgPFWO&2DjO'#CbPOOO)CD})CD}OOOO'#I`'#I`OFcO#tO,59UOOQ!0Lh,59U,59UOOOO'#Ia'#IaOFqO&jO,59UOGPQ!L^O'#DcOOOO'#Ic'#IcOGWO#@ItO,59{OOQ!0Lf,59{,59{OGfQlO'#IdOGyQ`O'#JtOIxQ!fO'#JtO+}QlO'#JtOJPQ`O,5:ROJgQ`O'#EpOJtQ`O'#KTOKPQ`O'#KSOKPQ`O'#KSOKXQ`O,5;^OK^Q`O'#KROOQ!0Ln,5:^,5:^OKeQlO,5:^OMcQ!0MxO,5:fONSQ`O,5:nONmQ!0LrO'#KQONtQ`O'#KPO9eQ`O'#KPO! YQ`O'#KPO! bQ`O,5;]O! gQ`O'#KPO!#lQ!fO'#JsOOQ!0Lh'#Ci'#CiO%[QlO'#ESO!$[Q!fO,5:sOOQS'#Jz'#JzOOQO-EtOOQ['#Jh'#JhOOQ[,5>u,5>uOOQ[-E<]-E<]O!TO`QlO,5>VO!LOQ`O,5>XO`QlO,5>ZO!LTQ`O,5>^O!LYQlO,5>dOOQ[,5>j,5>jO%[QlO,5>jO9uQ!0LrO,5>lOOQ[,5>n,5>nO#!dQ`O,5>nOOQ[,5>p,5>pO#!dQ`O,5>pOOQ[,5>r,5>rO##QQpO'#D_O%[QlO'#JvO##sQpO'#JvO##}QpO'#DmO#$`QpO'#DmO#&qQlO'#DmO#&xQ`O'#JuO#'QQ`O,5:WO#'VQ`O'#EtO#'eQ`O'#KUO#'mQ`O,5;_O#'rQpO'#DmO#(PQpO'#EVOOQ!0Lf,5:o,5:oO%[QlO,5:oO#(WQ`O,5:oO?YQ`O,5;YO!CUQpO,5;YO!C^QMhO,5;YO:dQMhO,5;YO#(`Q`O,5@bO#(eQ07dO,5:sOOQO-EPO$6^Q`O,5>POOQ[1G3i1G3iO`QlO1G3iOOQ[1G3o1G3oOOQ[1G3q1G3qO?TQ`O1G3sO$6cQlO1G3uO$:gQlO'#HtOOQ[1G3x1G3xO$:tQ`O'#HzO?YQ`O'#H|OOQ[1G4O1G4OO$:|QlO1G4OO9uQ!0LrO1G4UOOQ[1G4W1G4WOOQ!0Lb'#G_'#G_O9uQ!0LrO1G4YO9uQ!0LrO1G4[O$?TQ`O,5@bO!)[QlO,5;`O9eQ`O,5;`O?YQ`O,5:XO!)[QlO,5:XO!CUQpO,5:XO$?YQ?MtO,5:XOOQO,5;`,5;`O$?dQpO'#IeO$?zQ`O,5@aOOQ!0Lf1G/r1G/rO$@SQpO'#IkO$@^Q`O,5@pOOQ!0Lb1G0y1G0yO#$`QpO,5:XOOQO'#Ig'#IgO$@fQpO,5:qOOQ!0Ln,5:q,5:qO#(ZQ`O1G0ZOOQ!0Lf1G0Z1G0ZO%[QlO1G0ZOOQ!0Lf1G0t1G0tO?YQ`O1G0tO!CUQpO1G0tO!C^QMhO1G0tOOQ!0Lb1G5|1G5|O!ByQ!0LrO1G0^OOQO1G0m1G0mO%[QlO1G0mO$@mQ!0LrO1G0mO$@xQ!0LrO1G0mO!CUQpO1G0^ODWQpO1G0^O$AWQ!0LrO1G0mOOQO1G0^1G0^O$AlQ!0MxO1G0mPOOO-E<[-E<[POOO1G.h1G.hOOOO1G/i1G/iO$AvQ!bO,5QQpO,5@}OOQ!0Lb1G3c1G3cOOQ[7+$V7+$VO@zQ`O7+$VO9uQ!0LrO7+$VO%>]Q`O7+$VO%[QlO1G6lO%[QlO1G6mO%>bQ!0LrO1G6lO%>lQlO1G3kO%>sQ`O1G3kO%>xQlO1G3kOOQ[7+)T7+)TO9uQ!0LrO7+)_O`QlO7+)aOOQ['#Kh'#KhOOQ['#JS'#JSO%?PQlO,5>`OOQ[,5>`,5>`O%[QlO'#HuO%?^Q`O'#HwOOQ[,5>f,5>fO9eQ`O,5>fOOQ[,5>h,5>hOOQ[7+)j7+)jOOQ[7+)p7+)pOOQ[7+)t7+)tOOQ[7+)v7+)vO%?cQpO1G5|O%?}Q?MtO1G0zO%@XQ`O1G0zOOQO1G/s1G/sO%@dQ?MtO1G/sO?YQ`O1G/sO!)[QlO'#DmOOQO,5?P,5?POOQO-ERQ`O7+,WO&>WQ`O7+,XO%[QlO7+,WO%[QlO7+,XOOQ[7+)V7+)VO&>]Q`O7+)VO&>bQlO7+)VO&>iQ`O7+)VOOQ[<nQ`O,5>aOOQ[,5>c,5>cO&>sQ`O1G4QO9eQ`O7+&fO!)[QlO7+&fOOQO7+%_7+%_O&>xQ?MtO1G6ZO?YQ`O7+%_OOQ!0Lf<yQ?MvO,5?aO'@|Q?MvO,5?cO'CPQ?MvO7+'|O'DuQMjOG27TOOQO<VO!l$xO#jROe!iOpkOrPO(T)]O(VTO(YUO(aVO(o[O~O!]$_Oa$qa'z$qa'w$qa!k$qa!Y$qa!_$qa%i$qa!g$qa~Ol)dO~P!&zOh%VOp%WOr%XOs$tOt$tOz%YO|%ZO!O%]O!S${O!_$|O!i%bO!l$xO#j%cO$W%`O$t%^O$v%_O$y%aO(T(vO(VTO(YUO(a$uO(y$}O(z%PO~Og(pP~P!,TO!Q)iO!g)hO!_$^X$Z$^X$]$^X$_$^X$f$^X~O!g)hO!_({X$Z({X$]({X$_({X$f({X~O!Q)iO~P!.^O!Q)iO!_({X$Z({X$]({X$_({X$f({X~O!_)kO$Z)oO$])jO$_)jO$f)pO~O![)sO~P!)[O$]$hO$_$gO$f)wO~On$zX!Q$zX#S$zX'y$zX(y$zX(z$zX~OgmXg$zXnmX!]mX#`mX~P!0SOx)yO(b)zO(c)|O~On*VO!Q*OO'y*PO(y$}O(z%PO~Og)}O~P!1WOg*WO~Oh%VOr%XOs$tOt$tOz%YO|%ZO!OVO!l$xO#jVO!l$xO#jROe!iOpkOrPO(VTO(YUO(aVO(o[O~O(T=QO~P#$qO!]-]O!^(iX~O!^-_O~O!g-VO#`-UO!]#hX!^#hX~O!]-`O!^(xX~O!^-bO~O!c-cO!d-cO(U!lO~P#$`O!^-fO~P'_On-iO!_'`O~O!Y-nO~Os!{a!b!{a!c!{a!d!{a#T!{a#U!{a#V!{a#W!{a#X!{a#[!{a#]!{a(U!{a(V!{a(Y!{a(e!{a(o!{a~P!#vO!p-sO#`-qO~PChO!c-uO!d-uO(U!lO~PDWOa%nO#`-qO'z%nO~Oa%nO!g#vO#`-qO'z%nO~Oa%nO!g#vO!p-sO#`-qO'z%nO(r'pO~O(P'xO(Q'xO(R-zO~Ov-{O~O!Y'Wa!]'Wa~P!:tO![.PO!Y'WX!]'WX~P%[O!](VO!Y(ha~O!Y(ha~PHRO!](^O!Y(va~O!S%hO![.TO!_%iO(T%gO!Y'^X!]'^X~O#`.VO!](ta!k(taa(ta'z(ta~O!g#vO~P#,wO!](jO!k(sa~O!S%hO!_%iO#j.ZO(T%gO~Op.`O!S%hO![.]O!_%iO!|]O#i._O#j.]O(T%gO!]'aX!k'aX~OR.dO!l#xO~Oh%VOn.gO!_'`O%i.fO~Oa#ci!]#ci'z#ci'w#ci!Y#ci!k#civ#ci!_#ci%i#ci!g#ci~P!:tOn>]O!Q*OO'y*PO(y$}O(z%PO~O#k#_aa#_a#`#_a'z#_a!]#_a!k#_a!_#_a!Y#_a~P#/sO#k(`XP(`XR(`X[(`Xa(`Xj(`Xr(`X!S(`X!l(`X!p(`X#R(`X#n(`X#o(`X#p(`X#q(`X#r(`X#s(`X#t(`X#u(`X#v(`X#x(`X#z(`X#{(`X'z(`X(a(`X(r(`X!k(`X!Y(`X'w(`Xv(`X!_(`X%i(`X!g(`X~P!6kO!].tO!k(kX~P!:tO!k.wO~O!Y.yO~OP$[OR#zO!Q#yO!S#{O!l#xO!p$[O(aVO[#mia#mij#mir#mi!]#mi#R#mi#o#mi#p#mi#q#mi#r#mi#s#mi#t#mi#u#mi#v#mi#x#mi#z#mi#{#mi'z#mi(r#mi(y#mi(z#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#n#mi~P#3cO#n$OO~P#3cOP$[OR#zOr$aO!Q#yO!S#{O!l#xO!p$[O#n$OO#o$PO#p$PO#q$PO(aVO[#mia#mij#mi!]#mi#R#mi#s#mi#t#mi#u#mi#v#mi#x#mi#z#mi#{#mi'z#mi(r#mi(y#mi(z#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#r#mi~P#6QO#r$QO~P#6QOP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO(aVOa#mi!]#mi#x#mi#z#mi#{#mi'z#mi(r#mi(y#mi(z#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#v#mi~P#8oOP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO#v$SO(aVO(z#}Oa#mi!]#mi#z#mi#{#mi'z#mi(r#mi(y#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#x$UO~P#;VO#x#mi~P#;VO#v$SO~P#8oOP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO#v$SO#x$UO(aVO(y#|O(z#}Oa#mi!]#mi#{#mi'z#mi(r#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#z#mi~P#={O#z$WO~P#={OP]XR]X[]Xj]Xr]X!Q]X!S]X!l]X!p]X#R]X#S]X#`]X#kfX#n]X#o]X#p]X#q]X#r]X#s]X#t]X#u]X#v]X#x]X#z]X#{]X$Q]X(a]X(r]X(y]X(z]X!]]X!^]X~O$O]X~P#@jOP$[OR#zO[]O!Q*OO'y*PO(y$}O(z%POP#miR#mi!S#mi!l#mi!p#mi#n#mi#o#mi#p#mi#q#mi(a#mi~P#EyO!]/POg(pX~P!1WOg/RO~Oa$Pi!]$Pi'z$Pi'w$Pi!Y$Pi!k$Piv$Pi!_$Pi%i$Pi!g$Pi~P!:tO$]/SO$_/SO~O$]/TO$_/TO~O!g)hO#`/UO!_$cX$Z$cX$]$cX$_$cX$f$cX~O![/VO~O!_)kO$Z/XO$])jO$_)jO$f/YO~O!]VO!l$xO#j^O!Q*OO'y*PO(y$}O(z%POP#miR#mi!S#mi!l#mi!p#mi#n#mi#o#mi#p#mi#q#mi(a#mi~P&,QO#S$dOP(`XR(`X[(`Xj(`Xn(`Xr(`X!Q(`X!S(`X!l(`X!p(`X#R(`X#n(`X#o(`X#p(`X#q(`X#r(`X#s(`X#t(`X#u(`X#v(`X#x(`X#z(`X#{(`X$O(`X'y(`X(a(`X(r(`X(y(`X(z(`X!](`X!^(`X~O$O$Pi!]$Pi!^$Pi~P#BwO$O!ri!^!ri~P$+oOg']a!]']a~P!1WO!^7nO~O!]'da!^'da~P#BwO!Y7oO~P#/sO!g#vO(r'pO!]'ea!k'ea~O!]/pO!k)Oi~O!]/pO!g#vO!k)Oi~Og$|q!]$|q#`$|q$O$|q~P!1WO!Y'ga!]'ga~P#/sO!g7vO~O!]/yO!Y)Pi~P#/sO!]/yO!Y)Pi~O!Y7yO~Oh%VOr8OO!l%eO(r'pO~Oj8QO!g#vO~Or8TO!g#vO(r'pO~O!Q*OO'y*PO(z%POn'ja(y'ja!]'ja#`'ja~Og'ja$O'ja~P&5RO!Q*OO'y*POn'la(y'la(z'la!]'la#`'la~Og'la$O'la~P&5tOg(_q!](_q~P!1WO#`8VOg(_q!](_q~P!1WO!Y8WO~Og%Oq!]%Oq#`%Oq$O%Oq~P!1WOa$oy!]$oy'z$oy'w$oy!Y$oy!k$oyv$oy!_$oy%i$oy!g$oy~P!:tO!g6rO~O!]5[O!_)Qa~O!_'`OP$TaR$Ta[$Taj$Tar$Ta!Q$Ta!S$Ta!]$Ta!l$Ta!p$Ta#R$Ta#n$Ta#o$Ta#p$Ta#q$Ta#r$Ta#s$Ta#t$Ta#u$Ta#v$Ta#x$Ta#z$Ta#{$Ta(a$Ta(r$Ta(y$Ta(z$Ta~O%i7WO~P&8fO%^8[Oa%[i!_%[i'z%[i!]%[i~Oa#cy!]#cy'z#cy'w#cy!Y#cy!k#cyv#cy!_#cy%i#cy!g#cy~P!:tO[8^O~Ob8`O(T+qO(VTO(YUO~O!]1TO!^)Xi~O`8dO~O(e(|O!]'pX!^'pX~O!]5uO!^)Ua~O!^8nO~P%;eO(o!sO~P$&YO#[8oO~O!_1oO~O!_1oO%i8qO~On8tO!_1oO%i8qO~O[8yO!]'sa!^'sa~O!]1zO!^)Vi~O!k8}O~O!k9OO~O!k9RO~O!k9RO~P%[Oa9TO~O!g9UO~O!k9VO~O!](wi!^(wi~P#BwOa%nO#`9_O'z%nO~O!](ty!k(tya(ty'z(ty~P!:tO!](jO!k(sy~O%i9bO~P&8fO!_'`O%i9bO~O#k$|qP$|qR$|q[$|qa$|qj$|qr$|q!S$|q!]$|q!l$|q!p$|q#R$|q#n$|q#o$|q#p$|q#q$|q#r$|q#s$|q#t$|q#u$|q#v$|q#x$|q#z$|q#{$|q'z$|q(a$|q(r$|q!k$|q!Y$|q'w$|q#`$|qv$|q!_$|q%i$|q!g$|q~P#/sO#k'jaP'jaR'ja['jaa'jaj'jar'ja!S'ja!l'ja!p'ja#R'ja#n'ja#o'ja#p'ja#q'ja#r'ja#s'ja#t'ja#u'ja#v'ja#x'ja#z'ja#{'ja'z'ja(a'ja(r'ja!k'ja!Y'ja'w'jav'ja!_'ja%i'ja!g'ja~P&5RO#k'laP'laR'la['laa'laj'lar'la!S'la!l'la!p'la#R'la#n'la#o'la#p'la#q'la#r'la#s'la#t'la#u'la#v'la#x'la#z'la#{'la'z'la(a'la(r'la!k'la!Y'la'w'lav'la!_'la%i'la!g'la~P&5tO#k%OqP%OqR%Oq[%Oqa%Oqj%Oqr%Oq!S%Oq!]%Oq!l%Oq!p%Oq#R%Oq#n%Oq#o%Oq#p%Oq#q%Oq#r%Oq#s%Oq#t%Oq#u%Oq#v%Oq#x%Oq#z%Oq#{%Oq'z%Oq(a%Oq(r%Oq!k%Oq!Y%Oq'w%Oq#`%Oqv%Oq!_%Oq%i%Oq!g%Oq~P#/sO!]'Yi!k'Yi~P!:tO$O#cq!]#cq!^#cq~P#BwO(y$}OP%aaR%aa[%aaj%aar%aa!S%aa!l%aa!p%aa#R%aa#n%aa#o%aa#p%aa#q%aa#r%aa#s%aa#t%aa#u%aa#v%aa#x%aa#z%aa#{%aa$O%aa(a%aa(r%aa!]%aa!^%aa~On%aa!Q%aa'y%aa(z%aa~P&IyO(z%POP%caR%ca[%caj%car%ca!S%ca!l%ca!p%ca#R%ca#n%ca#o%ca#p%ca#q%ca#r%ca#s%ca#t%ca#u%ca#v%ca#x%ca#z%ca#{%ca$O%ca(a%ca(r%ca!]%ca!^%ca~On%ca!Q%ca'y%ca(y%ca~P&LQOn>^O!Q*OO'y*PO(z%PO~P&IyOn>^O!Q*OO'y*PO(y$}O~P&LQOR0kO!Q0kO!S0lO#S$dOP}a[}aj}an}ar}a!l}a!p}a#R}a#n}a#o}a#p}a#q}a#r}a#s}a#t}a#u}a#v}a#x}a#z}a#{}a$O}a'y}a(a}a(r}a(y}a(z}a!]}a!^}a~O!Q*OO'y*POP$saR$sa[$saj$san$sar$sa!S$sa!l$sa!p$sa#R$sa#n$sa#o$sa#p$sa#q$sa#r$sa#s$sa#t$sa#u$sa#v$sa#x$sa#z$sa#{$sa$O$sa(a$sa(r$sa(y$sa(z$sa!]$sa!^$sa~O!Q*OO'y*POP$uaR$ua[$uaj$uan$uar$ua!S$ua!l$ua!p$ua#R$ua#n$ua#o$ua#p$ua#q$ua#r$ua#s$ua#t$ua#u$ua#v$ua#x$ua#z$ua#{$ua$O$ua(a$ua(r$ua(y$ua(z$ua!]$ua!^$ua~On>^O!Q*OO'y*PO(y$}O(z%PO~OP%TaR%Ta[%Taj%Tar%Ta!S%Ta!l%Ta!p%Ta#R%Ta#n%Ta#o%Ta#p%Ta#q%Ta#r%Ta#s%Ta#t%Ta#u%Ta#v%Ta#x%Ta#z%Ta#{%Ta$O%Ta(a%Ta(r%Ta!]%Ta!^%Ta~P''VO$O$mq!]$mq!^$mq~P#BwO$O$oq!]$oq!^$oq~P#BwO!^9oO~O$O9pO~P!1WO!g#vO!]'ei!k'ei~O!g#vO(r'pO!]'ei!k'ei~O!]/pO!k)Oq~O!Y'gi!]'gi~P#/sO!]/yO!Y)Pq~Or9wO!g#vO(r'pO~O[9yO!Y9xO~P#/sO!Y9xO~Oj:PO!g#vO~Og(_y!](_y~P!1WO!]'na!_'na~P#/sOa%[q!_%[q'z%[q!]%[q~P#/sO[:UO~O!]1TO!^)Xq~O`:YO~O#`:ZO!]'pa!^'pa~O!]5uO!^)Ui~P#BwO!S:]O~O!_1oO%i:`O~O(VTO(YUO(e:eO~O!]1zO!^)Vq~O!k:hO~O!k:iO~O!k:jO~O!k:jO~P%[O#`:mO!]#hy!^#hy~O!]#hy!^#hy~P#BwO%i:rO~P&8fO!_'`O%i:rO~O$O#|y!]#|y!^#|y~P#BwOP$|iR$|i[$|ij$|ir$|i!S$|i!l$|i!p$|i#R$|i#n$|i#o$|i#p$|i#q$|i#r$|i#s$|i#t$|i#u$|i#v$|i#x$|i#z$|i#{$|i$O$|i(a$|i(r$|i!]$|i!^$|i~P''VO!Q*OO'y*PO(z%POP'iaR'ia['iaj'ian'iar'ia!S'ia!l'ia!p'ia#R'ia#n'ia#o'ia#p'ia#q'ia#r'ia#s'ia#t'ia#u'ia#v'ia#x'ia#z'ia#{'ia$O'ia(a'ia(r'ia(y'ia!]'ia!^'ia~O!Q*OO'y*POP'kaR'ka['kaj'kan'kar'ka!S'ka!l'ka!p'ka#R'ka#n'ka#o'ka#p'ka#q'ka#r'ka#s'ka#t'ka#u'ka#v'ka#x'ka#z'ka#{'ka$O'ka(a'ka(r'ka(y'ka(z'ka!]'ka!^'ka~O(y$}OP%aiR%ai[%aij%ain%air%ai!Q%ai!S%ai!l%ai!p%ai#R%ai#n%ai#o%ai#p%ai#q%ai#r%ai#s%ai#t%ai#u%ai#v%ai#x%ai#z%ai#{%ai$O%ai'y%ai(a%ai(r%ai(z%ai!]%ai!^%ai~O(z%POP%ciR%ci[%cij%cin%cir%ci!Q%ci!S%ci!l%ci!p%ci#R%ci#n%ci#o%ci#p%ci#q%ci#r%ci#s%ci#t%ci#u%ci#v%ci#x%ci#z%ci#{%ci$O%ci'y%ci(a%ci(r%ci(y%ci!]%ci!^%ci~O$O$oy!]$oy!^$oy~P#BwO$O#cy!]#cy!^#cy~P#BwO!g#vO!]'eq!k'eq~O!]/pO!k)Oy~O!Y'gq!]'gq~P#/sOr:|O!g#vO(r'pO~O[;QO!Y;PO~P#/sO!Y;PO~Og(_!R!](_!R~P!1WOa%[y!_%[y'z%[y!]%[y~P#/sO!]1TO!^)Xy~O!]5uO!^)Uq~O(T;XO~O!_1oO%i;[O~O!k;_O~O%i;dO~P&8fOP$|qR$|q[$|qj$|qr$|q!S$|q!l$|q!p$|q#R$|q#n$|q#o$|q#p$|q#q$|q#r$|q#s$|q#t$|q#u$|q#v$|q#x$|q#z$|q#{$|q$O$|q(a$|q(r$|q!]$|q!^$|q~P''VO!Q*OO'y*PO(z%POP'jaR'ja['jaj'jan'jar'ja!S'ja!l'ja!p'ja#R'ja#n'ja#o'ja#p'ja#q'ja#r'ja#s'ja#t'ja#u'ja#v'ja#x'ja#z'ja#{'ja$O'ja(a'ja(r'ja(y'ja!]'ja!^'ja~O!Q*OO'y*POP'laR'la['laj'lan'lar'la!S'la!l'la!p'la#R'la#n'la#o'la#p'la#q'la#r'la#s'la#t'la#u'la#v'la#x'la#z'la#{'la$O'la(a'la(r'la(y'la(z'la!]'la!^'la~OP%OqR%Oq[%Oqj%Oqr%Oq!S%Oq!l%Oq!p%Oq#R%Oq#n%Oq#o%Oq#p%Oq#q%Oq#r%Oq#s%Oq#t%Oq#u%Oq#v%Oq#x%Oq#z%Oq#{%Oq$O%Oq(a%Oq(r%Oq!]%Oq!^%Oq~P''VOg%e!Z!]%e!Z#`%e!Z$O%e!Z~P!1WO!Y;hO~P#/sOr;iO!g#vO(r'pO~O[;kO!Y;hO~P#/sO!]'pq!^'pq~P#BwO!]#h!Z!^#h!Z~P#BwO#k%e!ZP%e!ZR%e!Z[%e!Za%e!Zj%e!Zr%e!Z!S%e!Z!]%e!Z!l%e!Z!p%e!Z#R%e!Z#n%e!Z#o%e!Z#p%e!Z#q%e!Z#r%e!Z#s%e!Z#t%e!Z#u%e!Z#v%e!Z#x%e!Z#z%e!Z#{%e!Z'z%e!Z(a%e!Z(r%e!Z!k%e!Z!Y%e!Z'w%e!Z#`%e!Zv%e!Z!_%e!Z%i%e!Z!g%e!Z~P#/sOr;tO!g#vO(r'pO~O!Y;uO~P#/sOr;|O!g#vO(r'pO~O!Y;}O~P#/sOP%e!ZR%e!Z[%e!Zj%e!Zr%e!Z!S%e!Z!l%e!Z!p%e!Z#R%e!Z#n%e!Z#o%e!Z#p%e!Z#q%e!Z#r%e!Z#s%e!Z#t%e!Z#u%e!Z#v%e!Z#x%e!Z#z%e!Z#{%e!Z$O%e!Z(a%e!Z(r%e!Z!]%e!Z!^%e!Z~P''VOrROe!iOpkOrPO(T)]O(VTO(YUO(aVO(o[O~O!]WO!l$xO#jgPPP!>oI[PPPPPPPPP!BOP!C]PPI[!DnPI[PI[I[I[I[I[PI[!FQP!I[P!LbP!Lf!Lp!Lt!LtP!IXP!Lx!LxP#!OP#!SI[PI[#!Y#%_CjA^PA^PA^A^P#&lA^A^#)OA^#+vA^#.SA^A^#.r#1W#1W#1]#1f#1W#1qPP#1WPA^#2ZA^#6YA^A^6mPPP#:_PPP#:x#:xP#:xP#;`#:xPP#;fP#;]P#;]#;y#;]#P#>V#>]#>k#>q#>{#?R#?]#?c#?s#?y#@k#@}#AT#AZ#Ai#BO#Cs#DR#DY#Et#FS#Gt#HS#HY#H`#Hf#Hp#Hv#H|#IW#Ij#IpPPPPPPPPPPP#IvPPPPPPP#Jk#Mx$ b$ i$ qPPP$']P$'f$*_$0x$0{$1O$1}$2Q$2X$2aP$2g$2jP$3W$3[$4S$5b$5g$5}PP$6S$6Y$6^$6a$6e$6i$7e$7|$8e$8i$8l$8o$8y$8|$9Q$9UR!|RoqOXst!Z#d%m&r&t&u&w,s,x2[2_Y!vQ'`-e1o5{Q%tvQ%|yQ&T|Q&j!VS'W!e-]Q'f!iS'l!r!yU*k$|*Z*oQ+o%}S+|&V&WQ,d&dQ-c'_Q-m'gQ-u'mQ0[*qQ1b,OQ1y,eR<{SU+P%]S!S!nQ!r!v!y!z$|'W'_'`'l'm'n*k*o*q*r-]-c-e-u0[0_1o5{5}%[$ti#v$b$c$d$x${%O%Q%^%_%c)y*R*T*V*Y*a*g*w*x+f+i,S,V.f/P/d/m/x/y/{0`0b0i0j0o1f1i1q3c4^4_4j4o5Q5[5_6S7W7v8Q8V8[8q9b9p9y:P:`:r;Q;[;d;kP>X>Y>]>^Q&X|Q'U!eS'[%i-`Q+t&PQ,P&WQ,f&gQ0n+SQ1Y+uQ1_+{Q2Q,jQ2R,kQ5f1TQ5o1aQ6[1zQ6_1|Q6`2PQ8`5gQ8c5lQ8|6bQ:X8dQ:f8yQ;V:YR<}*ZrnOXst!V!Z#d%m&i&r&t&u&w,s,x2[2_R,h&k&z^OPXYstuvwz!Z!`!g!j!o#S#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%m%t&R&k&n&o&r&t&u&w&{'T'b'r(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:mR>S[#]WZ#W#Z'X(T!b%jm#h#i#l$x%e%h(^(h(i(j*Y*^*b+Z+[+^,o-V.T.Z.[.]._/m/p2d3[3]4a6r7TQ%wxQ%{yW&Q|&V&W,OQ&_!TQ'c!hQ'e!iQ(q#sS+n%|%}Q+r&PQ,_&bQ,c&dS-l'f'gQ.i(rQ1R+oQ1X+uQ1Z+vQ1^+zQ1t,`S1x,d,eQ2|-mQ5e1TQ5i1WQ5n1`Q6Z1yQ8_5gQ8b5kQ8f5pQ:T8^R;T:U!U$zi$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Y!^%yy!i!u%{%|%}'V'e'f'g'k'u*j+n+o-Y-l-m-t0R0U1R2u2|3T4r4s4v7}9{Q+h%wQ,T&[Q,W&]Q,b&dQ.h(qQ1s,_U1w,c,d,eQ3e.iQ6U1tS6Y1x1yQ8x6Z#f>T#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k]>^o>UPS&[!Q&iQ&]!RQ&^!SU*}%[%d=sR,R&Y%]%Si#v$b$c$d$x${%O%Q%^%_%c)y*R*T*V*Y*a*g*w*x+f+i,S,V.f/P/d/m/x/y/{0`0b0i0j0o1f1i1q3c4^4_4j4o5Q5[5_6S7W7v8Q8V8[8q9b9p9y:P:`:r;Q;[;d;kP>X>Y>]>^T)z$u){V+P%]S$i$^c#Y#e%q%s%u(S(Y(t(y)R)S)T)U)V)W)X)Y)Z)[)^)`)b)g)q+d+x-Z-x-}.S.U.s.v.z.|.}/O/b0p2k2n3O3V3k3p3q3r3s3t3u3v3w3x3y3z3{3|4P4Q4X5X5c6u6{7Q7a7b7k7l8k9X9]9g9m9n:o;W;`SQ'Y!eR2q-]!W!nQ!e!r!v!y!z$|'W'_'`'l'm'n*Z*k*o*q*r-]-c-e-u0[0_1o5{5}R1l,ZnqOXst!Z#d%m&r&t&u&w,s,x2[2_Q&y!^Q'v!xS(s#u<^Q+l%zQ,]&_Q,^&aQ-j'dQ-w'oS.r(x=PS0q+X=ZQ1P+mQ1n,[Q2c,zQ2e,{Q2m-WQ2z-kQ2}-oS5Y0r=eQ5a1QS5d1S=fQ6t2oQ6x2{Q6}3SQ8]5bQ9Y6vQ9Z6yQ9^7OR:l9V$d$]c#Y#e%s%u(S(Y(t(y)R)S)T)U)V)W)X)Y)Z)[)^)`)b)g)q+d+x-Z-x-}.S.U.s.v.z.}/O/b0p2k2n3O3V3k3p3q3r3s3t3u3v3w3x3y3z3{3|4P4Q4X5X5c6u6{7Q7a7b7k7l8k9X9]9g9m9n:o;W;`SS#q]SU$fd)_,mS(p#p'iU*v%R(w4OU0m+O.n7gQ5^0xQ7V3`Q9d7YR:s9em!tQ!r!v!y!z'`'l'm'n-e-u1o5{5}Q't!uS(f#g2US-s'k'wQ/s*]Q0R*jQ3U-vQ4f/tQ4r0TQ4s0UQ4x0^Q7r4`S7}4t4vS8R4y4{Q9r7sQ9v7yQ9{8OQ:Q8TS:{9w9xS;g:|;PS;s;h;iS;{;t;uSSR=o>R%^bOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&o&r&t&u&w&{'T'b'r(T(V(](d(x(z)O)}*i+X+]+g,p,s,x-i-q.P.V.g.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3d3l4z6T6e6f6i6|7[8t9T9_Q%fj!^%xy!i!u%{%|%}'V'e'f'g'k'u*j+n+o-Y-l-m-t0R0U1R2u2|3T4r4s4v7}9{S&Oz!jQ+k%yQ,a&dW1v,b,c,d,eU6X1w1x1yS8w6Y6ZQ:d8x!r=j$Z$n'X)s-U-X/V2p4T5w6s:Z:mSQ=t>QR=u>R%QeOPXYstuvw!Z!`!g!o#S#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&r&t&u&w&{'T'b'r(V(](d(x(z)O)}*i+X+]+g,p,s,x-i-q.P.V.g.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3d3l4z6T6e6f6i6|7[8t9T9_Y#bWZ#W#Z(T!b%jm#h#i#l$x%e%h(^(h(i(j*Y*^*b+Z+[+^,o-V.T.Z.[.]._/m/p2d3[3]4a6r7TQ,n&o!p=k$Z$n)s-U-X/V2p4T5w6s:Z:mSR=n'XU']!e%i*ZR2s-`%SdOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&r&t&u&w&{'T'b'r(T(V(](d(x(z)O)}*i+X+],p,s,x-i-q.P.V.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3l4z6T6e6f6i6|8t9T9_!r)_$Z$n'X)s-U-X/V2p4T5w6s:Z:mSQ,m&oQ0x+gQ3`.gQ7Y3dR9e7[!b$Tc#Y%q(S(Y(t(y)Z)[)`)g+x-x-}.S.U.s.v/b0p3O3V3k3{5X5c6{7Q7a9]:oS)^)q-Z.|2k2n3p4P4X6u7b7k7l8k9X9g9m9n;W;`=vQ>X>ZR>Y>['QkOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%m%t&R&k&n&o&r&t&u&w&{'T'X'b'r(T(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:mSS$oh$pR4U/U'XgOPWXYZhstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n$p%m%t&R&k&n&o&r&t&u&w&{'T'X'b'r(T(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/U/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:mST$kf$qQ$ifS)j$l)nR)v$qT$jf$qT)l$l)n'XhOPWXYZhstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n$p%m%t&R&k&n&o&r&t&u&w&{'T'X'b'r(T(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/U/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:mST$oh$pQ$rhR)u$p%^jOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&o&r&t&u&w&{'T'b'r(T(V(](d(x(z)O)}*i+X+]+g,p,s,x-i-q.P.V.g.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3d3l4z6T6e6f6i6|7[8t9T9_!s>Q$Z$n'X)s-U-X/V2p4T5w6s:Z:mS#glOPXZst!Z!`!o#S#d#o#{$n%m&k&n&o&r&t&u&w&{'T'b)O)s*i+]+g,p,s,x-i.g/V/n0]0l1r2S2T2V2X2[2_2a3d4T4z6T6e6f6i7[8t9T!U%Ri$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Y#f(w#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k]>^Q+T%aQ/c*Oo4OP>X>YQ*c$zU*l$|*Z*oQ+U%bQ0W*m#f=q#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k]>^n=rTQ=x>UQ=y>VR=z>W!U%Ri$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Y#f(w#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k]>^o4OP>X>Y>]>^Q,U&]Q1h,WQ5s1gR8h5tV*n$|*Z*oU*n$|*Z*oT5z1o5{S0P*i/nQ4w0]T8S4z:]Q+j%xQ0V*lQ1O+kQ1u,aQ6W1vQ8v6XQ:c8wR;^:d!U%Oi$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Yx*R$v)e*S*u+V/v0d0e4R4g5R5S5W7p8U:R:x=p=}>OS0`*t0a#f]>^nZ>[`=T3}7c7f7j9h:t:w;yS=_.l3iT=`7e9k!U%Qi$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Y|*T$v)e*U*t+V/g/v0d0e4R4g4|5R5S5W7p8U:R:x=p=}>OS0b*u0c#f]>^nZ>[d=V3}7d7e7j9h9i:t:u:w;yS=a.m3jT=b7f9lrnOXst!V!Z#d%m&i&r&t&u&w,s,x2[2_Q&f!UR,p&ornOXst!V!Z#d%m&i&r&t&u&w,s,x2[2_R&f!UQ,Y&^R1d,RsnOXst!V!Z#d%m&i&r&t&u&w,s,x2[2_Q1p,_S6R1s1tU8p6P6Q6US:_8r8sS;Y:^:aQ;m;ZR;w;nQ&m!VR,i&iR6_1|R:f8yW&Q|&V&W,OR1Z+vQ&r!WR,s&sR,y&xT2],x2_R,}&yQ,|&yR2f,}Q'y!{R-y'ySsOtQ#dXT%ps#dQ#OTR'{#OQ#RUR'}#RQ){$uR/`){Q#UVR(Q#UQ#XWU(W#X(X.QQ(X#YR.Q(YQ-^'YR2r-^Q.u(yS3m.u3nR3n.vQ-e'`R2v-eY!rQ'`-e1o5{R'j!rQ/Q)eR4S/QU#_W%h*YU(_#_(`.RQ(`#`R.R(ZQ-a']R2t-at`OXst!V!Z#d%m&i&k&r&t&u&w,s,x2[2_S#hZ%eU#r`#h.[R.[(jQ(k#jQ.X(gW.a(k.X3X7RQ3X.YR7R3YQ)n$lR/W)nQ$phR)t$pQ$`cU)a$`-|O>Z>[Q/z*eU4k/z4m7xQ4m/|R7x4lS*o$|*ZR0Y*ox*S$v)e*t*u+V/v0d0e4R4g5R5S5W7p8U:R:x=p=}>O!d.j(u)c*[*e.l.m.q/_/k/|0v1e3h4[4h4l5r7]7`7w7z8X8Z9t9|:S:};R;e;j;v>Z>[U/h*S.j7ca7c3}7e7f7j9h:t:w;yQ0a*tQ3i.lU4}0a3i9kR9k7e|*U$v)e*t*u+V/g/v0d0e4R4g4|5R5S5W7p8U:R:x=p=}>O!h.k(u)c*[*e.l.m.q/_/k/|0v1e3f3h4[4h4l5r7]7^7`7w7z8X8Z9t9|:S:};R;e;j;v>Z>[U/j*U.k7de7d3}7e7f7j9h9i:t:u:w;yQ0c*uQ3j.mU5P0c3j9lR9l7fQ*z%UR0g*zQ5]0vR8Y5]Q+_%kR0u+_Q5v1jS8j5v:[R:[8kQ,[&_R1m,[Q5{1oR8m5{Q1{,fS6]1{8zR8z6_Q1U+rW5h1U5j8a:VQ5j1XQ8a5iR:V8bQ+w&QR1[+wQ2_,xR6m2_YrOXst#dQ&v!ZQ+a%mQ,r&rQ,t&tQ,u&uQ,w&wQ2Y,sS2],x2_R6l2[Q%opQ&z!_Q&}!aQ'P!bQ'R!cQ'q!uQ+`%lQ+l%zQ,Q&XQ,h&mQ-P&|W-p'k's't'wQ-w'oQ0X*nQ1P+mQ1c,PS2O,i,lQ2g-OQ2h-RQ2i-SQ2}-oW3P-r-s-v-xQ5a1QQ5m1_Q5q1eQ6V1uQ6a2QQ6k2ZU6z3O3R3UQ6}3SQ8]5bQ8e5oQ8g5rQ8l5zQ8u6WQ8{6`S9[6{7PQ9^7OQ:W8cQ:b8vQ:g8|Q:n9]Q;U:XQ;]:cQ;a:oQ;l;VR;o;^Q%zyQ'd!iQ'o!uU+m%{%|%}Q-W'VU-k'e'f'gS-o'k'uQ0Q*jS1Q+n+oQ2o-YS2{-l-mQ3S-tS4p0R0UQ5b1RQ6v2uQ6y2|Q7O3TU7{4r4s4vQ9z7}R;O9{S$wi>PR*{%VU%Ui%V>PR0f*yQ$viS(u#v+iS)c$b$cQ)e$dQ*[$xS*e${*YQ*t%OQ*u%QQ+Q%^Q+R%_Q+V%cQ.lPQ=}>XQ>O>YQ>Z>]R>[>^Q+O%]Q.nSR#[WR'Z!el!tQ!r!v!y!z'`'l'm'n-e-u1o5{5}S'V!e-]U*j$|*Z*oS-Y'W'_S0U*k*qQ0^*rQ2u-cQ4v0[R4{0_R({#xQ!fQT-d'`-e]!qQ!r'`-e1o5{Q#p]R'i < TypeParamList in out const TypeDefinition extends ThisType this LiteralType ArithOp Number BooleanLiteral TemplateType InterpolationEnd Interpolation InterpolationStart NullType null VoidType void TypeofType typeof MemberExpression . PropertyName [ TemplateString Escape Interpolation super RegExp ] ArrayExpression Spread , } { ObjectExpression Property async get set PropertyDefinition Block : NewTarget new NewExpression ) ( ArgList UnaryExpression delete LogicOp BitOp YieldExpression yield AwaitExpression await ParenthesizedExpression ClassExpression class ClassBody MethodDeclaration Decorator @ MemberExpression PrivatePropertyName CallExpression TypeArgList CompareOp < declare Privacy static abstract override PrivatePropertyDefinition PropertyDeclaration readonly accessor Optional TypeAnnotation Equals StaticBlock FunctionExpression ArrowFunction ParamList ParamList ArrayPattern ObjectPattern PatternProperty Privacy readonly Arrow MemberExpression BinaryExpression ArithOp ArithOp ArithOp ArithOp BitOp CompareOp instanceof satisfies CompareOp BitOp BitOp BitOp LogicOp LogicOp ConditionalExpression LogicOp LogicOp AssignmentExpression UpdateOp PostfixExpression CallExpression InstantiationExpression TaggedTemplateExpression DynamicImport import ImportMeta JSXElement JSXSelfCloseEndTag JSXSelfClosingTag JSXIdentifier JSXBuiltin JSXIdentifier JSXNamespacedName JSXMemberExpression JSXSpreadAttribute JSXAttribute JSXAttributeValue JSXEscape JSXEndTag JSXOpenTag JSXFragmentTag JSXText JSXEscape JSXStartCloseTag JSXCloseTag PrefixCast < ArrowFunction TypeParamList SequenceExpression InstantiationExpression KeyofType keyof UniqueType unique ImportType InferredType infer TypeName ParenthesizedType FunctionSignature ParamList NewSignature IndexedType TupleType Label ArrayType ReadonlyType ObjectType MethodType PropertyType IndexSignature PropertyDefinition CallSignature TypePredicate asserts is NewSignature new UnionType LogicOp IntersectionType LogicOp ConditionalType ParameterizedType ClassDeclaration abstract implements type VariableDeclaration let var using TypeAliasDeclaration InterfaceDeclaration interface EnumDeclaration enum EnumBody NamespaceDeclaration namespace module AmbientDeclaration declare GlobalDeclaration global ClassDeclaration ClassBody AmbientFunctionDeclaration ExportGroup VariableName VariableName ImportDeclaration defer ImportGroup ForStatement for ForSpec ForInSpec ForOfSpec of WhileStatement while WithStatement with DoStatement do IfStatement if else SwitchStatement switch SwitchBody CaseLabel case DefaultLabel TryStatement try CatchClause catch FinallyClause finally ReturnStatement return ThrowStatement throw BreakStatement break ContinueStatement continue DebuggerStatement debugger LabeledStatement ExpressionStatement SingleExpression SingleClassItem",maxTerm:380,context:n1,nodeProps:[["isolate",-8,5,6,14,37,39,51,53,55,""],["group",-26,9,17,19,68,207,211,215,216,218,221,224,234,237,243,245,247,249,252,258,264,266,268,270,272,274,275,"Statement",-34,13,14,32,35,36,42,51,54,55,57,62,70,72,76,80,82,84,85,110,111,120,121,136,139,141,142,143,144,145,147,148,167,169,171,"Expression",-23,31,33,37,41,43,45,173,175,177,178,180,181,182,184,185,186,188,189,190,201,203,205,206,"Type",-3,88,103,109,"ClassItem"],["openedBy",23,"<",38,"InterpolationStart",56,"[",60,"{",73,"(",160,"JSXStartCloseTag"],["closedBy",-2,24,168,">",40,"InterpolationEnd",50,"]",61,"}",74,")",165,"JSXEndTag"]],propSources:[c1],skippedNodes:[0,5,6,278],repeatNodeCount:37,tokenData:"$Fq07[R!bOX%ZXY+gYZ-yZ[+g[]%Z]^.c^p%Zpq+gqr/mrs3cst:_tuEruvJSvwLkwx! Yxy!'iyz!(sz{!)}{|!,q|}!.O}!O!,q!O!P!/Y!P!Q!9j!Q!R#:O!R![#<_![!]#I_!]!^#Jk!^!_#Ku!_!`$![!`!a$$v!a!b$*T!b!c$,r!c!}Er!}#O$-|#O#P$/W#P#Q$4o#Q#R$5y#R#SEr#S#T$7W#T#o$8b#o#p$x#r#s$@U#s$f%Z$f$g+g$g#BYEr#BY#BZ$A`#BZ$ISEr$IS$I_$A`$I_$I|Er$I|$I}$Dk$I}$JO$Dk$JO$JTEr$JT$JU$A`$JU$KVEr$KV$KW$A`$KW&FUEr&FU&FV$A`&FV;'SEr;'S;=`I|<%l?HTEr?HT?HU$A`?HUOEr(n%d_$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z&j&hT$i&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c&j&zP;=`<%l&c'|'U]$i&j(Z!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!b(SU(Z!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}!b(iP;=`<%l'}'|(oP;=`<%l&}'[(y]$i&j(WpOY(rYZ&cZr(rrs&cs!^(r!^!_)r!_#O(r#O#P&c#P#o(r#o#p)r#p;'S(r;'S;=`*a<%lO(rp)wU(WpOY)rZr)rs#O)r#P;'S)r;'S;=`*Z<%lO)rp*^P;=`<%l)r'[*dP;=`<%l(r#S*nX(Wp(Z!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g#S+^P;=`<%l*g(n+dP;=`<%l%Z07[+rq$i&j(Wp(Z!b'|0/lOX%ZXY+gYZ&cZ[+g[p%Zpq+gqr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p$f%Z$f$g+g$g#BY%Z#BY#BZ+g#BZ$IS%Z$IS$I_+g$I_$JT%Z$JT$JU+g$JU$KV%Z$KV$KW+g$KW&FU%Z&FU&FV+g&FV;'S%Z;'S;=`+a<%l?HT%Z?HT?HU+g?HUO%Z07[.ST(X#S$i&j'}0/lO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c07[.n_$i&j(Wp(Z!b'}0/lOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z)3p/x`$i&j!p),Q(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`0z!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW1V`#v(Ch$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`2X!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW2d_#v(Ch$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'At3l_(V':f$i&j(Z!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k(^4r_$i&j(Z!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k&z5vX$i&jOr5qrs6cs!^5q!^!_6y!_#o5q#o#p6y#p;'S5q;'S;=`7h<%lO5q&z6jT$d`$i&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c`6|TOr6yrs7]s;'S6y;'S;=`7b<%lO6y`7bO$d``7eP;=`<%l6y&z7kP;=`<%l5q(^7w]$d`$i&j(Z!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!r8uZ(Z!bOY8pYZ6yZr8prs9hsw8pwx6yx#O8p#O#P6y#P;'S8p;'S;=`:R<%lO8p!r9oU$d`(Z!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}!r:UP;=`<%l8p(^:[P;=`<%l4k%9[:hh$i&j(Wp(Z!bOY%ZYZ&cZq%Zqr`#P#o`x!^=^!^!_?q!_#O=^#O#P>`#P#o=^#o#p?q#p;'S=^;'S;=`@h<%lO=^&n>gXWS$i&jOY>`YZ&cZ!^>`!^!_?S!_#o>`#o#p?S#p;'S>`;'S;=`?k<%lO>`S?XSWSOY?SZ;'S?S;'S;=`?e<%lO?SS?hP;=`<%l?S&n?nP;=`<%l>`!f?xWWS(Z!bOY?qZw?qwx?Sx#O?q#O#P?S#P;'S?q;'S;=`@b<%lO?q!f@eP;=`<%l?q(Q@kP;=`<%l=^'`@w]WS$i&j(WpOY@nYZ&cZr@nrs>`s!^@n!^!_Ap!_#O@n#O#P>`#P#o@n#o#pAp#p;'S@n;'S;=`Bg<%lO@ntAwWWS(WpOYApZrAprs?Ss#OAp#O#P?S#P;'SAp;'S;=`Ba<%lOAptBdP;=`<%lAp'`BjP;=`<%l@n#WBvYWS(Wp(Z!bOYBmZrBmrs?qswBmwxApx#OBm#O#P?S#P;'SBm;'S;=`Cf<%lOBm#WCiP;=`<%lBm(rCoP;=`<%l^!Q^$i&j!X7`OY!=yYZ&cZ!P!=y!P!Q!>|!Q!^!=y!^!_!@c!_!}!=y!}#O!CW#O#P!Dy#P#o!=y#o#p!@c#p;'S!=y;'S;=`!Ek<%lO!=y|#X#Z&c#Z#[!>|#[#]&c#]#^!>|#^#a&c#a#b!>|#b#g&c#g#h!>|#h#i&c#i#j!>|#j#k!>|#k#m&c#m#n!>|#n#o&c#p;'S&c;'S;=`&w<%lO&c7`!@hX!X7`OY!@cZ!P!@c!P!Q!AT!Q!}!@c!}#O!Ar#O#P!Bq#P;'S!@c;'S;=`!CQ<%lO!@c7`!AYW!X7`#W#X!AT#Z#[!AT#]#^!AT#a#b!AT#g#h!AT#i#j!AT#j#k!AT#m#n!AT7`!AuVOY!ArZ#O!Ar#O#P!B[#P#Q!@c#Q;'S!Ar;'S;=`!Bk<%lO!Ar7`!B_SOY!ArZ;'S!Ar;'S;=`!Bk<%lO!Ar7`!BnP;=`<%l!Ar7`!BtSOY!@cZ;'S!@c;'S;=`!CQ<%lO!@c7`!CTP;=`<%l!@c^!Ezl$i&j(Z!b!X7`OY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#W&}#W#X!Eq#X#Z&}#Z#[!Eq#[#]&}#]#^!Eq#^#a&}#a#b!Eq#b#g&}#g#h!Eq#h#i&}#i#j!Eq#j#k!Eq#k#m&}#m#n!Eq#n#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}8r!GyZ(Z!b!X7`OY!GrZw!Grwx!@cx!P!Gr!P!Q!Hl!Q!}!Gr!}#O!JU#O#P!Bq#P;'S!Gr;'S;=`!J|<%lO!Gr8r!Hse(Z!b!X7`OY'}Zw'}x#O'}#P#W'}#W#X!Hl#X#Z'}#Z#[!Hl#[#]'}#]#^!Hl#^#a'}#a#b!Hl#b#g'}#g#h!Hl#h#i'}#i#j!Hl#j#k!Hl#k#m'}#m#n!Hl#n;'S'};'S;=`(f<%lO'}8r!JZX(Z!bOY!JUZw!JUwx!Arx#O!JU#O#P!B[#P#Q!Gr#Q;'S!JU;'S;=`!Jv<%lO!JU8r!JyP;=`<%l!JU8r!KPP;=`<%l!Gr>^!KZ^$i&j(Z!bOY!KSYZ&cZw!KSwx!CWx!^!KS!^!_!JU!_#O!KS#O#P!DR#P#Q!^!LYP;=`<%l!KS>^!L`P;=`<%l!_#c#d#Bq#d#l%Z#l#m#Es#m#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#>j_$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#?rd$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!R#AQ!R!S#AQ!S!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#AQ#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#A]f$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!R#AQ!R!S#AQ!S!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#AQ#S#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#Bzc$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!Y#DV!Y!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#DV#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#Dbe$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!Y#DV!Y!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#DV#S#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#E|g$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![#Ge![!^%Z!^!_*g!_!c%Z!c!i#Ge!i#O%Z#O#P&c#P#R%Z#R#S#Ge#S#T%Z#T#Z#Ge#Z#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#Gpi$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![#Ge![!^%Z!^!_*g!_!c%Z!c!i#Ge!i#O%Z#O#P&c#P#R%Z#R#S#Ge#S#T%Z#T#Z#Ge#Z#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z*)x#Il_!g$b$i&j$O)Lv(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z)[#Jv_al$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z04f#LS^h#)`#R-v$?V_!^(CdvBr$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z?O$@a_!q7`$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z07[$Aq|$i&j(Wp(Z!b'|0/l$]#t(T,2j(e$I[OX%ZXY+gYZ&cZ[+g[p%Zpq+gqr%Zrs&}st%ZtuEruw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Er![!^%Z!^!_*g!_!c%Z!c!}Er!}#O%Z#O#P&c#P#R%Z#R#SEr#S#T%Z#T#oEr#o#p*g#p$f%Z$f$g+g$g#BYEr#BY#BZ$A`#BZ$ISEr$IS$I_$A`$I_$JTEr$JT$JU$A`$JU$KVEr$KV$KW$A`$KW&FUEr&FU&FV$A`&FV;'SEr;'S;=`I|<%l?HTEr?HT?HU$A`?HUOEr07[$D|k$i&j(Wp(Z!b'}0/l$]#t(T,2j(e$I[OY%ZYZ&cZr%Zrs&}st%ZtuEruw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Er![!^%Z!^!_*g!_!c%Z!c!}Er!}#O%Z#O#P&c#P#R%Z#R#SEr#S#T%Z#T#oEr#o#p*g#p$g%Z$g;'SEr;'S;=`I|<%lOEr",tokenizers:[s1,o1,a1,l1,2,3,4,5,6,7,8,9,10,11,12,13,14,r1,new ki("$S~RRtu[#O#Pg#S#T#|~_P#o#pb~gOx~~jVO#i!P#i#j!U#j#l!P#l#m!q#m;'S!P;'S;=`#v<%lO!P~!UO!U~~!XS!Q![!e!c!i!e#T#Z!e#o#p#Z~!hR!Q![!q!c!i!q#T#Z!q~!tR!Q![!}!c!i!}#T#Z!}~#QR!Q![!P!c!i!P#T#Z!P~#^R!Q![#g!c!i#g#T#Z#g~#jS!Q![#g!c!i#g#T#Z#g#q#r!P~#yP;=`<%l!P~$RO(c~~",141,340),new ki("j~RQYZXz{^~^O(Q~~aP!P!Qd~iO(R~~",25,323)],topRules:{Script:[0,7],SingleExpression:[1,276],SingleClassItem:[2,277]},dialects:{jsx:0,ts:15175},dynamicPrecedences:{80:1,82:1,94:1,169:1,199:1},specialized:[{term:327,get:i=>h1[i]||-1},{term:343,get:i=>f1[i]||-1},{term:95,get:i=>u1[i]||-1}],tokenPrec:15201});var Vp=[he("function ${name}(${params}) {\n ${}\n}",{label:"function",detail:"definition",type:"keyword"}),he("for (let ${index} = 0; ${index} < ${bound}; ${index}++) {\n ${}\n}",{label:"for",detail:"loop",type:"keyword"}),he("for (let ${name} of ${collection}) {\n ${}\n}",{label:"for",detail:"of loop",type:"keyword"}),he("do {\n ${}\n} while (${})",{label:"do",detail:"loop",type:"keyword"}),he("while (${}) {\n ${}\n}",{label:"while",detail:"loop",type:"keyword"}),he(`try { \${} } catch (\${error}) { \${} @@ -26,22 +26,22 @@ constructor(\${params}) { \${} } -}`,{label:"class",detail:"definition",type:"keyword"}),he('import {${names}} from "${module}"\n${}',{label:"import",detail:"named",type:"keyword"}),he('import ${name} from "${module}"\n${}',{label:"import",detail:"default",type:"keyword"})],O1=jp.concat([he("interface ${name} {\n ${}\n}",{label:"interface",detail:"definition",type:"keyword"}),he("type ${name} = ${type}",{label:"type",detail:"definition",type:"keyword"}),he("enum ${name} {\n ${}\n}",{label:"enum",detail:"definition",type:"keyword"})]),Lp=new Oi,Vp=new Set(["Script","Block","FunctionExpression","FunctionDeclaration","ArrowFunction","MethodDeclaration","ForStatement"]);function $r(i){return(e,t)=>{let n=e.node.getChild("VariableDefinition");return n&&t(n,i),!0}}var d1=["FunctionDeclaration"],p1={FunctionDeclaration:$r("function"),ClassDeclaration:$r("class"),ClassExpression:()=>!0,EnumDeclaration:$r("constant"),TypeAliasDeclaration:$r("type"),NamespaceDeclaration:$r("namespace"),VariableDefinition(i,e){i.matchContext(d1)||e(i,"variable")},TypeDefinition(i,e){e(i,"type")},__proto__:null};function Dp(i,e){let t=Lp.get(e);if(t)return t;let n=[],r=!0;function s(o,a){let l=i.sliceString(o.from,o.to);n.push({label:l,type:a})}return e.cursor(te.IncludeAnonymous).iterate(o=>{if(r)r=!1;else if(o.name){let a=p1[o.name];if(a&&a(o,s)||Vp.has(o.name))return!1}else if(o.to-o.from>8192){for(let a of Dp(i,o.node))n.push(a);return!1}}),Lp.set(e,n),n}var Mp=/^[\w$\xa1-\uffff][\w$\d\xa1-\uffff]*$/,Yp=["TemplateString","String","RegExp","LineComment","BlockComment","VariableDefinition","TypeDefinition","Label","PropertyDefinition","PropertyName","PrivatePropertyDefinition","PrivatePropertyName","JSXText","JSXAttributeValue","JSXOpenTag","JSXCloseTag","JSXSelfClosingTag",".","?."];function m1(i){let e=U(i.state).resolveInner(i.pos,-1);if(Yp.indexOf(e.name)>-1)return null;let t=e.name=="VariableName"||e.to-e.from<20&&Mp.test(i.state.sliceDoc(e.from,e.to));if(!t&&!i.explicit)return null;let n=[];for(let r=e;r;r=r.parent)Vp.has(r.name)&&(n=n.concat(Dp(i.state.doc,r)));return{options:n,from:t?e.from:i.pos,validFor:Mp}}var vt=Xe.define({name:"javascript",parser:zp.configure({props:[Pe.add({IfStatement:Bt({except:/^\s*({|else\b)/}),TryStatement:Bt({except:/^\s*({|catch\b|finally\b)/}),LabeledStatement:cO,SwitchBody:i=>{let e=i.textAfter,t=/^\s*\}/.test(e),n=/^\s*(case|default)\b/.test(e);return i.baseIndent+(t?0:n?1:2)*i.unit},Block:kt({closing:"}"}),ArrowFunction:i=>i.baseIndent+i.unit,"TemplateString BlockComment":()=>null,"Statement Property":Bt({except:/^\s*{/}),JSXElement(i){let e=/^\s*<\//.test(i.textAfter);return i.lineIndent(i.node.from)+(e?0:i.unit)},JSXEscape(i){let e=/\s*\}/.test(i.textAfter);return i.lineIndent(i.node.from)+(e?0:i.unit)},"JSXOpenTag JSXSelfClosingTag"(i){return i.column(i.node.from)+i.unit}}),_e.add({"Block ClassBody SwitchBody EnumBody ObjectExpression ArrayExpression ObjectType":ut,BlockComment(i){return{from:i.from+2,to:i.to-2}},JSXElement(i){let e=i.firstChild;if(!e||e.name=="JSXSelfClosingTag")return null;let t=i.lastChild;return{from:e.to,to:t.type.isError?i.to:t.from}},"JSXSelfClosingTag JSXOpenTag"(i){var e;let t=(e=i.firstChild)===null||e===void 0?void 0:e.nextSibling,n=i.lastChild;return!t||t.type.isError?null:{from:t.to,to:n.type.isError?i.to:n.from}}})]}),languageData:{closeBrackets:{brackets:["(","[","{","'",'"',"`"]},commentTokens:{line:"//",block:{open:"/*",close:"*/"}},indentOnInput:/^\s*(?:case |default:|\{|\}|<\/)$/,wordChars:"$"}}),Ip={test:i=>/^JSX/.test(i.name),facet:kn({commentTokens:{block:{open:"{/*",close:"*/}"}}})},Rc=vt.configure({dialect:"ts"},"typescript"),Ac=vt.configure({dialect:"jsx",props:[zs.add(i=>i.isTop?[Ip]:void 0)]}),Zc=vt.configure({dialect:"jsx ts",props:[zs.add(i=>i.isTop?[Ip]:void 0)]},"typescript"),Bp=i=>({label:i,type:"keyword"}),Up="break case const continue default delete export extends false finally in instanceof let new return static super switch this throw true typeof var yield".split(" ").map(Bp),g1=Up.concat(["declare","implements","private","protected","public"].map(Bp));function oo(i={}){let e=i.jsx?i.typescript?Zc:Ac:i.typescript?Rc:vt,t=i.typescript?O1.concat(g1):jp.concat(Up);return new me(e,[vt.data.of({autocomplete:Us(Yp,Bs(t))}),vt.data.of({autocomplete:m1}),i.jsx?S1:[]])}function Q1(i){for(;;){if(i.name=="JSXOpenTag"||i.name=="JSXSelfClosingTag"||i.name=="JSXFragmentTag")return i;if(i.name=="JSXEscape"||!i.parent)return null;i=i.parent}}function Wp(i,e,t=i.length){for(let n=e?.firstChild;n;n=n.nextSibling)if(n.name=="JSXIdentifier"||n.name=="JSXBuiltin"||n.name=="JSXNamespacedName"||n.name=="JSXMemberExpression")return i.sliceString(n.from,Math.min(n.to,t));return""}var b1=typeof navigator=="object"&&/Android\b/.test(navigator.userAgent),S1=q.inputHandler.of((i,e,t,n,r)=>{if((b1?i.composing:i.compositionStarted)||i.state.readOnly||e!=t||n!=">"&&n!="/"||!vt.isActiveAt(i.state,e,-1))return!1;let s=r(),{state:o}=s,a=o.changeByRange(l=>{var c;let{head:h}=l,f=U(o).resolveInner(h-1,-1),u;if(f.name=="JSXStartTag"&&(f=f.parent),!(o.doc.sliceString(h-1,h)!=n||f.name=="JSXAttributeValue"&&f.to>h)){if(n==">"&&f.name=="JSXFragmentTag")return{range:l,changes:{from:h,insert:""}};if(n=="/"&&f.name=="JSXStartCloseTag"){let O=f.parent,m=O.parent;if(m&&O.from==h-2&&((u=Wp(o.doc,m.firstChild,h))||((c=m.firstChild)===null||c===void 0?void 0:c.name)=="JSXFragmentTag")){let p=`${u}>`;return{range:v.cursor(h+p.length,-1),changes:{from:h,insert:p}}}}else if(n==">"){let O=Q1(f);if(O&&O.name=="JSXOpenTag"&&!/^\/?>|^<\//.test(o.doc.sliceString(h,h+2))&&(u=Wp(o.doc,O,h)))return{range:l,changes:{from:h,insert:``}}}}return{range:l}});return a.changes.empty?!1:(i.dispatch([s,o.update(a,{userEvent:"input.complete",scrollIntoView:!0})]),!0)});var Tr=["_blank","_self","_top","_parent"],Ec=["ascii","utf-8","utf-16","latin1","latin1"],qc=["get","post","put","delete"],zc=["application/x-www-form-urlencoded","multipart/form-data","text/plain"],et=["true","false"],D={},y1={a:{attrs:{href:null,ping:null,type:null,media:null,target:Tr,hreflang:null}},abbr:D,address:D,area:{attrs:{alt:null,coords:null,href:null,target:null,ping:null,media:null,hreflang:null,type:null,shape:["default","rect","circle","poly"]}},article:D,aside:D,audio:{attrs:{src:null,mediagroup:null,crossorigin:["anonymous","use-credentials"],preload:["none","metadata","auto"],autoplay:["autoplay"],loop:["loop"],controls:["controls"]}},b:D,base:{attrs:{href:null,target:Tr}},bdi:D,bdo:D,blockquote:{attrs:{cite:null}},body:D,br:D,button:{attrs:{form:null,formaction:null,name:null,value:null,autofocus:["autofocus"],disabled:["autofocus"],formenctype:zc,formmethod:qc,formnovalidate:["novalidate"],formtarget:Tr,type:["submit","reset","button"]}},canvas:{attrs:{width:null,height:null}},caption:D,center:D,cite:D,code:D,col:{attrs:{span:null}},colgroup:{attrs:{span:null}},command:{attrs:{type:["command","checkbox","radio"],label:null,icon:null,radiogroup:null,command:null,title:null,disabled:["disabled"],checked:["checked"]}},data:{attrs:{value:null}},datagrid:{attrs:{disabled:["disabled"],multiple:["multiple"]}},datalist:{attrs:{data:null}},dd:D,del:{attrs:{cite:null,datetime:null}},details:{attrs:{open:["open"]}},dfn:D,div:D,dl:D,dt:D,em:D,embed:{attrs:{src:null,type:null,width:null,height:null}},eventsource:{attrs:{src:null}},fieldset:{attrs:{disabled:["disabled"],form:null,name:null}},figcaption:D,figure:D,footer:D,form:{attrs:{action:null,name:null,"accept-charset":Ec,autocomplete:["on","off"],enctype:zc,method:qc,novalidate:["novalidate"],target:Tr}},h1:D,h2:D,h3:D,h4:D,h5:D,h6:D,head:{children:["title","base","link","style","meta","script","noscript","command"]},header:D,hgroup:D,hr:D,html:{attrs:{manifest:null}},i:D,iframe:{attrs:{src:null,srcdoc:null,name:null,width:null,height:null,sandbox:["allow-top-navigation","allow-same-origin","allow-forms","allow-scripts"],seamless:["seamless"]}},img:{attrs:{alt:null,src:null,ismap:null,usemap:null,width:null,height:null,crossorigin:["anonymous","use-credentials"]}},input:{attrs:{alt:null,dirname:null,form:null,formaction:null,height:null,list:null,max:null,maxlength:null,min:null,name:null,pattern:null,placeholder:null,size:null,src:null,step:null,value:null,width:null,accept:["audio/*","video/*","image/*"],autocomplete:["on","off"],autofocus:["autofocus"],checked:["checked"],disabled:["disabled"],formenctype:zc,formmethod:qc,formnovalidate:["novalidate"],formtarget:Tr,multiple:["multiple"],readonly:["readonly"],required:["required"],type:["hidden","text","search","tel","url","email","password","datetime","date","month","week","time","datetime-local","number","range","color","checkbox","radio","file","submit","image","reset","button"]}},ins:{attrs:{cite:null,datetime:null}},kbd:D,keygen:{attrs:{challenge:null,form:null,name:null,autofocus:["autofocus"],disabled:["disabled"],keytype:["RSA"]}},label:{attrs:{for:null,form:null}},legend:D,li:{attrs:{value:null}},link:{attrs:{href:null,type:null,hreflang:null,media:null,sizes:["all","16x16","16x16 32x32","16x16 32x32 64x64"]}},map:{attrs:{name:null}},mark:D,menu:{attrs:{label:null,type:["list","context","toolbar"]}},meta:{attrs:{content:null,charset:Ec,name:["viewport","application-name","author","description","generator","keywords"],"http-equiv":["content-language","content-type","default-style","refresh"]}},meter:{attrs:{value:null,min:null,low:null,high:null,max:null,optimum:null}},nav:D,noscript:D,object:{attrs:{data:null,type:null,name:null,usemap:null,form:null,width:null,height:null,typemustmatch:["typemustmatch"]}},ol:{attrs:{reversed:["reversed"],start:null,type:["1","a","A","i","I"]},children:["li","script","template","ul","ol"]},optgroup:{attrs:{disabled:["disabled"],label:null}},option:{attrs:{disabled:["disabled"],label:null,selected:["selected"],value:null}},output:{attrs:{for:null,form:null,name:null}},p:D,param:{attrs:{name:null,value:null}},pre:D,progress:{attrs:{value:null,max:null}},q:{attrs:{cite:null}},rp:D,rt:D,ruby:D,samp:D,script:{attrs:{type:["text/javascript"],src:null,async:["async"],defer:["defer"],charset:Ec}},section:D,select:{attrs:{form:null,name:null,size:null,autofocus:["autofocus"],disabled:["disabled"],multiple:["multiple"]}},slot:{attrs:{name:null}},small:D,source:{attrs:{src:null,type:null,media:null}},span:D,strong:D,style:{attrs:{type:["text/css"],media:null,scoped:null}},sub:D,summary:D,sup:D,table:D,tbody:D,td:{attrs:{colspan:null,rowspan:null,headers:null}},template:D,textarea:{attrs:{dirname:null,form:null,maxlength:null,name:null,placeholder:null,rows:null,cols:null,autofocus:["autofocus"],disabled:["disabled"],readonly:["readonly"],required:["required"],wrap:["soft","hard"]}},tfoot:D,th:{attrs:{colspan:null,rowspan:null,headers:null,scope:["row","col","rowgroup","colgroup"]}},thead:D,time:{attrs:{datetime:null}},title:D,tr:D,track:{attrs:{src:null,label:null,default:null,kind:["subtitles","captions","descriptions","chapters","metadata"],srclang:null}},ul:{children:["li","script","template","ul","ol"]},var:D,video:{attrs:{src:null,poster:null,width:null,height:null,crossorigin:["anonymous","use-credentials"],preload:["auto","metadata","none"],autoplay:["autoplay"],mediagroup:["movie"],muted:["muted"],controls:["controls"]}},wbr:D},Hp={accesskey:null,class:null,contenteditable:et,contextmenu:null,dir:["ltr","rtl","auto"],draggable:["true","false","auto"],dropzone:["copy","move","link","string:","file:"],hidden:["hidden"],id:null,inert:["inert"],itemid:null,itemprop:null,itemref:null,itemscope:["itemscope"],itemtype:null,lang:["ar","bn","de","en-GB","en-US","es","fr","hi","id","ja","pa","pt","ru","tr","zh"],spellcheck:et,autocorrect:et,autocapitalize:et,style:null,tabindex:null,title:null,translate:["yes","no"],rel:["stylesheet","alternate","author","bookmark","help","license","next","nofollow","noreferrer","prefetch","prev","search","tag"],role:"alert application article banner button cell checkbox complementary contentinfo dialog document feed figure form grid gridcell heading img list listbox listitem main navigation region row rowgroup search switch tab table tabpanel textbox timer".split(" "),"aria-activedescendant":null,"aria-atomic":et,"aria-autocomplete":["inline","list","both","none"],"aria-busy":et,"aria-checked":["true","false","mixed","undefined"],"aria-controls":null,"aria-describedby":null,"aria-disabled":et,"aria-dropeffect":null,"aria-expanded":["true","false","undefined"],"aria-flowto":null,"aria-grabbed":["true","false","undefined"],"aria-haspopup":et,"aria-hidden":et,"aria-invalid":["true","false","grammar","spelling"],"aria-label":null,"aria-labelledby":null,"aria-level":null,"aria-live":["off","polite","assertive"],"aria-multiline":et,"aria-multiselectable":et,"aria-owns":null,"aria-posinset":null,"aria-pressed":["true","false","mixed","undefined"],"aria-readonly":et,"aria-relevant":null,"aria-required":et,"aria-selected":["true","false","undefined"],"aria-setsize":null,"aria-sort":["ascending","descending","none","other"],"aria-valuemax":null,"aria-valuemin":null,"aria-valuenow":null,"aria-valuetext":null},Kp="beforeunload copy cut dragstart dragover dragleave dragenter dragend drag paste focus blur change click load mousedown mouseenter mouseleave mouseup keydown keyup resize scroll unload".split(" ").map(i=>"on"+i);for(let i of Kp)Hp[i]=null;var Ui=class{constructor(e,t){this.tags={...y1,...e},this.globalAttrs={...Hp,...t},this.allTags=Object.keys(this.tags),this.globalAttrNames=Object.keys(this.globalAttrs)}};Ui.default=new Ui;function $n(i,e,t=i.length){if(!e)return"";let n=e.firstChild,r=n&&n.getChild("TagName");return r?i.sliceString(r.from,Math.min(r.to,t)):""}function Tn(i,e=!1){for(;i;i=i.parent)if(i.name=="Element")if(e)e=!1;else return i;return null}function Jp(i,e,t){let n=t.tags[$n(i,Tn(e))];return n?.children||t.allTags}function Lc(i,e){let t=[];for(let n=Tn(e);n&&!n.type.isTop;n=Tn(n.parent)){let r=$n(i,n);if(r&&n.lastChild.name=="CloseTag")break;r&&t.indexOf(r)<0&&(e.name=="EndTag"||e.from>=n.firstChild.to)&&t.push(r)}return t}var em=/^[:\-\.\w\u00b7-\uffff]*$/;function Gp(i,e,t,n,r){let s=/\s*>/.test(i.sliceDoc(r,r+5))?"":">",o=Tn(t,t.name=="StartTag"||t.name=="TagName");return{from:n,to:r,options:Jp(i.doc,o,e).map(a=>({label:a,type:"type"})).concat(Lc(i.doc,t).map((a,l)=>({label:"/"+a,apply:"/"+a+s,type:"type",boost:99-l}))),validFor:/^\/?[:\-\.\w\u00b7-\uffff]*$/}}function Np(i,e,t,n){let r=/\s*>/.test(i.sliceDoc(n,n+5))?"":">";return{from:t,to:n,options:Lc(i.doc,e).map((s,o)=>({label:s,apply:s+r,type:"type",boost:99-o})),validFor:em}}function k1(i,e,t,n){let r=[],s=0;for(let o of Jp(i.doc,t,e))r.push({label:"<"+o,type:"type"});for(let o of Lc(i.doc,t))r.push({label:"",type:"type",boost:99-s++});return{from:n,to:n,options:r,validFor:/^<\/?[:\-\.\w\u00b7-\uffff]*$/}}function x1(i,e,t,n,r){let s=Tn(t),o=s?e.tags[$n(i.doc,s)]:null,a=o&&o.attrs?Object.keys(o.attrs):[],l=o&&o.globalAttrs===!1?a:a.length?a.concat(e.globalAttrNames):e.globalAttrNames;return{from:n,to:r,options:l.map(c=>({label:c,type:"property"})),validFor:em}}function w1(i,e,t,n,r){var s;let o=(s=t.parent)===null||s===void 0?void 0:s.getChild("AttributeName"),a=[],l;if(o){let c=i.sliceDoc(o.from,o.to),h=e.globalAttrs[c];if(!h){let f=Tn(t),u=f?e.tags[$n(i.doc,f)]:null;h=u?.attrs&&u.attrs[c]}if(h){let f=i.sliceDoc(n,r).toLowerCase(),u='"',O='"';/^['"]/.test(f)?(l=f[0]=='"'?/^[^"]*$/:/^[^']*$/,u="",O=i.sliceDoc(r,r+1)==f[0]?"":f[0],f=f.slice(1),n++):l=/^[^\s<>='"]*$/;for(let m of h)a.push({label:m,apply:u+m+O,type:"constant"})}}return{from:n,to:r,options:a,validFor:l}}function tm(i,e){let{state:t,pos:n}=e,r=U(t).resolveInner(n,-1),s=r.resolve(n);for(let o=n,a;s==r&&(a=r.childBefore(o));){let l=a.lastChild;if(!l||!l.type.isError||l.fromtm(n,r)}var v1=vt.parser.configure({top:"SingleExpression"}),nm=[{tag:"script",attrs:i=>i.type=="text/typescript"||i.lang=="ts",parser:Rc.parser},{tag:"script",attrs:i=>i.type=="text/babel"||i.type=="text/jsx",parser:Ac.parser},{tag:"script",attrs:i=>i.type=="text/typescript-jsx",parser:Zc.parser},{tag:"script",attrs(i){return/^(importmap|speculationrules|application\/(.+\+)?json)$/i.test(i.type)},parser:v1},{tag:"script",attrs(i){return!i.type||/^(?:text|application)\/(?:x-)?(?:java|ecma)script$|^module$|^$/i.test(i.type)},parser:vt.parser},{tag:"style",attrs(i){return(!i.lang||i.lang=="css")&&(!i.type||/^(text\/)?(x-)?(stylesheet|css)$/i.test(i.type))},parser:vr.parser}],rm=[{name:"style",parser:vr.parser.configure({top:"Styles"})}].concat(Kp.map(i=>({name:i,parser:vt.parser}))),sm=Xe.define({name:"html",parser:kp.configure({props:[Pe.add({Element(i){let e=/^(\s*)(<\/)?/.exec(i.textAfter);return i.node.to<=i.pos+e[0].length?i.continue():i.lineIndent(i.node.from)+(e[2]?0:i.unit)},"OpenTag CloseTag SelfClosingTag"(i){return i.column(i.node.from)+i.unit},Document(i){if(i.pos+/\s*/.exec(i.textAfter)[0].lengthi.getChild("TagName")})]}),languageData:{commentTokens:{block:{open:""}},indentOnInput:/^\s*<\/\w+\W$/,wordChars:"-_"}}),ao=sm.configure({wrap:Pc(nm,rm)});function lo(i={}){let e="",t;i.matchClosingTags===!1&&(e="noMatch"),i.selfClosingTags===!0&&(e=(e?e+" ":"")+"selfClosing"),(i.nestedLanguages&&i.nestedLanguages.length||i.nestedAttributes&&i.nestedAttributes.length)&&(t=Pc((i.nestedLanguages||[]).concat(nm),(i.nestedAttributes||[]).concat(rm)));let n=t?sm.configure({wrap:t,dialect:e}):e?ao.configure({dialect:e}):ao;return new me(n,[ao.data.of({autocomplete:P1(i)}),i.autoCloseTags!==!1?$1:[],oo().support,so().support])}var Fp=new Set("area base br col command embed frame hr img input keygen link meta param source track wbr menuitem".split(" ")),$1=q.inputHandler.of((i,e,t,n,r)=>{if(i.composing||i.state.readOnly||e!=t||n!=">"&&n!="/"||!ao.isActiveAt(i.state,e,-1))return!1;let s=r(),{state:o}=s,a=o.changeByRange(l=>{var c,h,f;let u=o.doc.sliceString(l.from-1,l.to)==n,{head:O}=l,m=U(o).resolveInner(O,-1),p;if(u&&n==">"&&m.name=="EndTag"){let b=m.parent;if(((h=(c=b.parent)===null||c===void 0?void 0:c.lastChild)===null||h===void 0?void 0:h.name)!="CloseTag"&&(p=$n(o.doc,b.parent,O))&&!Fp.has(p)){let g=O+(o.doc.sliceString(O,O+1)===">"?1:0),Q=``;return{range:l,changes:{from:O,to:g,insert:Q}}}}else if(u&&n=="/"&&m.name=="IncompleteCloseTag"){let b=m.parent;if(m.from==O-2&&((f=b.lastChild)===null||f===void 0?void 0:f.name)!="CloseTag"&&(p=$n(o.doc,b,O))&&!Fp.has(p)){let g=O+(o.doc.sliceString(O,O+1)===">"?1:0),Q=`${p}>`;return{range:v.cursor(O+Q.length,-1),changes:{from:O,to:g,insert:Q}}}}return{range:l}});return a.changes.empty?!1:(i.dispatch([s,o.update(a,{userEvent:"input.complete",scrollIntoView:!0})]),!0)});var lm=kn({commentTokens:{block:{open:""}}}),cm=new I,hm=Bd.configure({props:[_e.add(i=>!i.is("Block")||i.is("Document")||jc(i)!=null||T1(i)?void 0:(e,t)=>({from:t.doc.lineAt(e.from).to,to:e.to})),cm.add(jc),Pe.add({Document:()=>null}),yt.add({Document:lm})]});function jc(i){let e=/^(?:ATX|Setext)Heading(\d)$/.exec(i.name);return e?+e[1]:void 0}function T1(i){return i.name=="OrderedList"||i.name=="BulletList"}function C1(i,e){let t=i;for(;;){let n=t.nextSibling,r;if(!n||(r=jc(n.type))!=null&&r<=e)break;t=n}return t.to}var X1=hO.of((i,e,t)=>{for(let n=U(i).resolveInner(t,-1);n&&!(n.fromt)return{from:t,to:s}}return null});function Vc(i){return new we(lm,i,[],"markdown")}var _1=Vc(hm),R1=hm.configure([Nd,Kd,Hd,Jd,{props:[_e.add({Table:(i,e)=>({from:e.doc.lineAt(i.from).to,to:i.to})})]}]),yi=Vc(R1);function A1(i,e){return t=>{if(t&&i){let n=null;if(t=/\S*/.exec(t)[0],typeof i=="function"?n=i(t):n=Be.matchLanguageName(i,t,!0),n instanceof Be)return n.support?n.support.language.parser:Wi.getSkippingParser(n.load());if(n)return n.parser}return e?e.parser:null}}var Cr=class{constructor(e,t,n,r,s,o,a){this.node=e,this.from=t,this.to=n,this.spaceBefore=r,this.spaceAfter=s,this.type=o,this.item=a}blank(e,t=!0){let n=this.spaceBefore+(this.node.name=="Blockquote"?">":"");if(e!=null){for(;n.length0;r--)n+=" ";return n+(t?this.spaceAfter:"")}}marker(e,t){let n=this.node.name=="OrderedList"?String(+um(this.item,e)[2]+t):"";return this.spaceBefore+n+this.type+this.spaceAfter}};function fm(i,e){let t=[],n=[];for(let r=i;r;r=r.parent){if(r.name=="FencedCode")return n;(r.name=="ListItem"||r.name=="Blockquote")&&t.push(r)}for(let r=t.length-1;r>=0;r--){let s=t[r],o,a=e.lineAt(s.from),l=s.from-a.from;if(s.name=="Blockquote"&&(o=/^ *>( ?)/.exec(a.text.slice(l))))n.push(new Cr(s,l,l+o[0].length,"",o[1],">",null));else if(s.name=="ListItem"&&s.parent.name=="OrderedList"&&(o=/^( *)\d+([.)])( *)/.exec(a.text.slice(l)))){let c=o[3],h=o[0].length;c.length>=4&&(c=c.slice(0,c.length-4),h-=4),n.push(new Cr(s.parent,l,l+h,o[1],c,o[2],s))}else if(s.name=="ListItem"&&s.parent.name=="BulletList"&&(o=/^( *)([-+*])( {1,4}\[[ xX]\])?( +)/.exec(a.text.slice(l)))){let c=o[4],h=o[0].length;c.length>4&&(c=c.slice(0,c.length-4),h-=4);let f=o[2];o[3]&&(f+=o[3].replace(/[xX]/," ")),n.push(new Cr(s.parent,l,l+h,o[1],c,f,s))}}return n}function um(i,e){return/^(\s*)(\d+)(?=[.)])/.exec(e.sliceString(i.from,i.from+10))}function Mc(i,e,t,n=0){for(let r=-1,s=i;;){if(s.name=="ListItem"){let a=um(s,e),l=+a[2];if(r>=0){if(l!=r+1)return;t.push({from:s.from+a[1].length,to:s.from+a[0].length,insert:String(r+2+n)})}r=l}let o=s.nextSibling;if(!o)break;s=o}}function Dc(i,e){let t=/^[ \t]*/.exec(i)[0].length;if(!t||e.facet(Zt)!=" ")return i;let n=Fe(i,4,t),r="";for(let s=n;s>0;)s>=4?(r+=" ",s-=4):(r+=" ",s--);return r+i.slice(t)}var Yc=(i={})=>({state:e,dispatch:t})=>{let n=U(e),{doc:r}=e,s=null,o=e.changeByRange(a=>{if(!a.empty||!yi.isActiveAt(e,a.from,-1)&&!yi.isActiveAt(e,a.from,1))return s={range:a};let l=a.from,c=r.lineAt(l),h=fm(n.resolveInner(l,-1),r);for(;h.length&&h[h.length-1].from>l-c.from;)h.pop();if(!h.length)return s={range:a};let f=h[h.length-1];if(f.to-f.spaceAfter.length>l-c.from)return s={range:a};let u=l>=f.to-f.spaceAfter.length&&!/\S/.test(c.text.slice(f.to));if(f.item&&u){let g=f.node.firstChild,Q=f.node.getChild("ListItem","ListItem");if(g.to>=l||Q&&Q.to0&&!/[^\s>]/.test(r.lineAt(c.from-1).text)||i.nonTightLists===!1){let S=h.length>1?h[h.length-2]:null,x,P="";S&&S.item?(x=c.from+S.from,P=S.marker(r,1)):x=c.from+(S?S.to:0);let $=[{from:x,to:l,insert:P}];return f.node.name=="OrderedList"&&Mc(f.item,r,$,-2),S&&S.node.name=="OrderedList"&&Mc(S.item,r,$),{range:v.cursor(x+P.length),changes:$}}else{let S=am(h,e,c);return{range:v.cursor(l+S.length+1),changes:{from:c.from,insert:S+e.lineBreak}}}}if(f.node.name=="Blockquote"&&u&&c.from){let g=r.lineAt(c.from-1),Q=/>\s*$/.exec(g.text);if(Q&&Q.index==f.from){let S=e.changes([{from:g.from+Q.index,to:g.to},{from:c.from+f.from,to:c.to}]);return{range:a.map(S),changes:S}}}let O=[];f.node.name=="OrderedList"&&Mc(f.item,r,O);let m=f.item&&f.item.from]*/.exec(c.text)[0].length>=f.to)for(let g=0,Q=h.length-1;g<=Q;g++)p+=g==Q&&!m?h[g].marker(r,1):h[g].blank(gc.from&&/\s/.test(c.text.charAt(b-c.from-1));)b--;return p=Dc(p,e),E1(f.node,e.doc)&&(p=am(h,e,c)+e.lineBreak+p),O.push({from:b,to:l,insert:e.lineBreak+p}),{range:v.cursor(b+p.length+1),changes:O}});return s?!1:(t(e.update(o,{scrollIntoView:!0,userEvent:"input"})),!0)},Z1=Yc();function om(i){return i.name=="QuoteMark"||i.name=="ListMark"}function E1(i,e){if(i.name!="OrderedList"&&i.name!="BulletList")return!1;let t=i.firstChild,n=i.getChild("ListItem","ListItem");if(!n)return!1;let r=e.lineAt(t.to),s=e.lineAt(n.from),o=/^[\s>]*$/.test(r.text);return r.number+(o?0:1){let t=U(i),n=null,r=i.changeByRange(s=>{let o=s.from,{doc:a}=i;if(s.empty&&yi.isActiveAt(i,s.from)){let l=a.lineAt(o),c=fm(q1(t,o),a);if(c.length){let h=c[c.length-1],f=h.to-h.spaceAfter.length+(h.spaceAfter?1:0);if(o-l.from>f&&!/\S/.test(l.text.slice(f,o-l.from)))return{range:v.cursor(l.from+f),changes:{from:l.from+f,to:o}};if(o-l.from==f&&(!h.item||l.from<=h.item.from||!/\S/.test(l.text.slice(0,h.to)))){let u=l.from+h.from;if(h.item&&h.node.from{var t;let{main:n}=e.state.selection;if(n.empty)return!1;let r=(t=i.clipboardData)===null||t===void 0?void 0:t.getData("text/plain");if(!r||!/^(https?:\/\/|mailto:|xmpp:|www\.)/.test(r)||(/^www\./.test(r)&&(r="https://"+r),!yi.isActiveAt(e.state,n.from,1)))return!1;let s=U(e.state),o=!1;return s.iterate({from:n.from,to:n.to,enter:a=>{(a.from>n.from||W1.test(a.name))&&(o=!0)},leave:a=>{a.to{if(i.next==-1&&e.canShift(dm))return i.acceptToken(dm);let t=i.peek(-1);if((Ft(t)||t<0)&&e.context.type!=_r){if(Xn(i,45))if(e.canShift(Cn))i.acceptToken(Cn);else return i.acceptToken(V1,3);if(Xn(i,46))if(e.canShift(Cn))i.acceptToken(Cn);else return i.acceptToken(D1,3);let n=0;for(;i.next==32;)n++,i.advance();(n{if(e.context.type==_r){i.next==63&&(i.advance(),Gi(i.next)&&i.acceptToken(B1));return}if(i.next==45)i.advance(),Gi(i.next)&&i.acceptToken(e.context.type==Kc&&e.context.depth==Xr(i,i.pos-1)?Y1:gm);else if(i.next==63)i.advance(),Gi(i.next)&&i.acceptToken(e.context.type==Gc&&e.context.depth==Xr(i,i.pos-1)?I1:Qm);else{let t=i.pos;for(;;)if(Fc(i.next)){if(i.pos==t)return;i.advance()}else if(i.next==33)km(i);else if(i.next==38)Hc(i);else if(i.next==42){Hc(i);break}else if(i.next==39||i.next==34){if(Jc(i,!0))break;return}else if(i.next==91||i.next==123){if(!hx(i))return;break}else{xm(i,!0,!1,0);break}for(;Fc(i.next);)i.advance();if(i.next==58){if(i.pos==t&&e.canShift(tx))return;let n=i.peek(1);Gi(n)&&i.acceptTokenTo(e.context.type==Gc&&e.context.depth==Xr(i,t)?U1:bm,t)}}},{contextual:!0});function cx(i){return i>32&&i<127&&i!=34&&i!=37&&i!=44&&i!=60&&i!=62&&i!=92&&i!=94&&i!=96&&i!=123&&i!=124&&i!=125}function pm(i){return i>=48&&i<=57||i>=97&&i<=102||i>=65&&i<=70}function mm(i,e){return i.next==37?(i.advance(),pm(i.next)&&i.advance(),pm(i.next)&&i.advance(),!0):cx(i.next)||e&&i.next==44?(i.advance(),!0):!1}function km(i){if(i.advance(),i.next==60){for(i.advance();;)if(!mm(i,!0)){i.next==62&&i.advance();break}}else for(;mm(i,!1););}function Hc(i){for(i.advance();!Gi(i.next)&&co(i.next)!="f";)i.advance()}function Jc(i,e){let t=i.next,n=!1,r=i.pos;for(i.advance();;){let s=i.next;if(s<0)break;if(i.advance(),s==t)if(s==39)if(i.next==39)i.advance();else break;else break;else if(s==92&&t==34)i.next>=0&&i.advance();else if(Ft(s)){if(e)return!1;n=!0}else if(e&&i.pos>=r+1024)return!1}return!n}function hx(i){for(let e=[],t=i.pos+1024;;)if(i.next==91||i.next==123)e.push(i.next),i.advance();else if(i.next==39||i.next==34){if(!Jc(i,!0))return!1}else if(i.next==93||i.next==125){if(e[e.length-1]!=i.next-2)return!1;if(e.pop(),i.advance(),!e.length)return!0}else{if(i.next<0||i.pos>t||Ft(i.next))return!1;i.advance()}}var fx="iiisiiissisfissssssssssssisssiiissssssssssssssssssssssssssfsfssissssssssssssssssssssssssssfif";function co(i){return i<33?"u":i>125?"s":fx[i-33]}function Uc(i,e){let t=co(i);return t!="u"&&!(e&&t=="f")}function xm(i,e,t,n){if(co(i.next)=="s"||(i.next==63||i.next==58||i.next==45)&&Uc(i.peek(1),t))i.advance();else return!1;let r=i.pos;for(;;){let s=i.next,o=0,a=n+1;for(;ym(s);){if(Ft(s)){if(e)return!1;a=0}else a++;s=i.peek(++o)}if(!(s>=0&&(s==58?Uc(i.peek(o+1),t):s==35?i.peek(o-1)!=32:Uc(s,t)))||!t&&a<=n||a==0&&!t&&(Xn(i,45,o)||Xn(i,46,o)))break;if(e&&co(s)=="f")return!1;for(let c=o;c>=0;c--)i.advance();if(e&&i.pos>r+1024)return!1}return!0}var ux=new ee((i,e)=>{if(i.next==33)km(i),i.acceptToken(K1);else if(i.next==38||i.next==42){let t=i.next==38?F1:H1;Hc(i),i.acceptToken(t)}else i.next==39||i.next==34?(Jc(i,!1),i.acceptToken(N1)):xm(i,!1,e.context.type==_r,e.context.depth)&&i.acceptToken(G1)}),Ox=new ee((i,e)=>{let t=e.context.type==Nc?e.context.depth:-1,n=i.pos;e:for(;;){let r=0,s=i.next;for(;s==32;)s=i.peek(++r);if(!r&&(Xn(i,45,r)||Xn(i,46,r))||!Ft(s)&&(t<0&&(t=Math.max(e.context.depth+1,r)),rYAN>Y",stateData:";S~O!fOS!gOS^OS~OP_OQbORSOTUOWROXROYYOZZO[XOcPOqQO!PVO!V[O!cTO~O`cO~P]OVkOWROXROYeOZfO[dOcPOmhOqQO~OboO~P!bOVtOWROXROYeOZfO[dOcPOmrOqQO~OpwO~P#WORSOTUOWROXROYYOZZO[XOcPOqQO!PVO!cTO~OSvP!avP!bvP~P#|OWROXROYeOZfO[dOcPOqQO~OmzO~P%OOm!OOUzP!azP!bzP!dzP~P#|O^!SO!b!QO!f!TO!g!RO~ORSOTUOWROXROcPOqQO!PVO!cTO~OY!UOP!QXQ!QX!V!QX!`!QXS!QX!a!QX!b!QXU!QXm!QX!d!QX~P&aO[!WOP!SXQ!SX!V!SX!`!SXS!SX!a!SX!b!SXU!SXm!SX!d!SX~P&aO^!ZO!W![O!b!YO!f!]O!g!YO~OP!_O!V[OQaX!`aX~OPaXQaX!VaX!`aX~P#|OP!bOQ!cO!V[O~OP_O!V[O~P#|OWROXROY!fOcPOqQObfXmfXofXpfX~OWROXRO[!hOcPOqQObhXmhXohXphX~ObeXmlXoeX~ObkXokX~P%OOm!kO~Om!lObnPonP~P%OOb!pOo!oO~Ob!pO~P!bOm!sOosXpsX~OosXpsX~P%OOm!uOotPptP~P%OOo!xOp!yO~Op!yO~P#WOS!|O!a#OO!b#OO~OUyX!ayX!byX!dyX~P#|Om#QO~OU#SO!a#UO!b#UO!d#RO~Om#WOUzX!azX!bzX!dzX~O]#XO~O!b#XO!g#YO~O^#ZO!b#XO!g#YO~OP!RXQ!RX!V!RX!`!RXS!RX!a!RX!b!RXU!RXm!RX!d!RX~P&aOP!TXQ!TX!V!TX!`!TXS!TX!a!TX!b!TXU!TXm!TX!d!TX~P&aO!b#^O!g#^O~O^#_O!b#^O!f#`O!g#^O~O^#_O!W#aO!b#^O!g#^O~OPaaQaa!Vaa!`aa~P#|OP#cO!V[OQ!XX!`!XX~OP!XXQ!XX!V!XX!`!XX~P#|OP_O!V[OQ!_X!`!_X~P#|OWROXROcPOqQObgXmgXogXpgX~OWROXROcPOqQObiXmiXoiXpiX~Obkaoka~P%OObnXonX~P%OOm#kO~Ob#lOo!oO~Oosapsa~P%OOotXptX~P%OOm#pO~Oo!xOp#qO~OSwP!awP!bwP~P#|OS!|O!a#vO!b#vO~OUya!aya!bya!dya~P#|Om#xO~P%OOm#{OU}P!a}P!b}P!d}P~P#|OU#SO!a$OO!b$OO!d#RO~O]$QO~O!b$QO!g$RO~O!b$SO!g$SO~O^$TO!b$SO!g$SO~O^$TO!b$SO!f$UO!g$SO~OP!XaQ!Xa!V!Xa!`!Xa~P#|Obnaona~P%OOotapta~P%OOo!xO~OU|X!a|X!b|X!d|X~P#|Om$ZO~Om$]OU}X!a}X!b}X!d}X~O]$^O~O!b$_O!g$_O~O^$`O!b$_O!g$_O~OU|a!a|a!b|a!d|a~P#|O!b$cO!g$cO~O",goto:",]!mPPPPPPPPPPPPPPPPP!nPP!v#v#|$`#|$c$f$j$nP%VPPP!v%Y%^%a%{&O%a&R&U&X&_&b%aP&e&{&e'O'RPP']'a'g'm's'y(XPPPPPPPP(_)e*X+c,VUaObcR#e!c!{ROPQSTUXY_bcdehknrtvz!O!U!W!_!b!c!f!h!k!l!s!u!|#Q#R#S#W#c#k#p#x#{$Z$]QmPR!qnqfPQThknrtv!k!l!s!u#R#k#pR!gdR!ieTlPnTjPnSiPnSqQvQ{TQ!mkQ!trQ!vtR#y#RR!nkTsQvR!wt!RWOSUXY_bcz!O!U!W!_!b!c!|#Q#S#W#c#x#{$Z$]RySR#t!|R|TR|UQ!PUR#|#SR#z#RR#z#SyZOSU_bcz!O!_!b!c!|#Q#S#W#c#x#{$Z$]R!VXR!XYa]O^abc!a!c!eT!da!eQnPR!rnQvQR!{vQ!}yR#u!}Q#T|R#}#TW^Obc!cS!^^!aT!aa!eQ!eaR#f!eW`Obc!cQxSS}U#SQ!`_Q#PzQ#V!OQ#b!_Q#d!bQ#s!|Q#w#QQ$P#WQ$V#cQ$Y#xQ$[#{Q$a$ZR$b$]xZOSU_bcz!O!_!b!c!|#Q#S#W#c#x#{$Z$]Q!VXQ!XYQ#[!UR#]!W!QWOSUXY_bcz!O!U!W!_!b!c!|#Q#S#W#c#x#{$Z$]pfPQThknrtv!k!l!s!u#R#k#pQ!gdQ!ieQ#g!fR#h!hSgPn^pQTkrtv#RQ!jhQ#i!kQ#j!lQ#n!sQ#o!uQ$W#kR$X#pQuQR!zv",nodeNames:"\u26A0 DirectiveEnd DocEnd - - ? ? ? Literal QuotedLiteral Anchor Alias Tag BlockLiteralContent Comment Stream BOM Document ] [ FlowSequence Item Tagged Anchored Anchored Tagged FlowMapping Pair Key : Pair , } { FlowMapping Pair Pair BlockSequence Item Item BlockMapping Pair Pair Key Pair Pair BlockLiteral BlockLiteralHeader Tagged Anchored Anchored Tagged Directive DirectiveName DirectiveContent Document",maxTerm:74,context:ox,nodeProps:[["isolate",-3,8,9,14,""],["openedBy",18,"[",32,"{"],["closedBy",19,"]",33,"}"]],propSources:[dx],skippedNodes:[0],repeatNodeCount:6,tokenData:"-Y~RnOX#PXY$QYZ$]Z]#P]^$]^p#Ppq$Qqs#Pst$btu#Puv$yv|#P|}&e}![#P![!]'O!]!`#P!`!a'i!a!}#P!}#O*g#O#P#P#P#Q+Q#Q#o#P#o#p+k#p#q'i#q#r,U#r;'S#P;'S;=`#z<%l?HT#P?HT?HU,o?HUO#PQ#UU!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PQ#kTOY#PZs#Pt;'S#P;'S;=`#z<%lO#PQ#}P;=`<%l#P~$VQ!f~XY$Qpq$Q~$bO!g~~$gS^~OY$bZ;'S$b;'S;=`$s<%lO$b~$vP;=`<%l$bR%OX!WQOX%kXY#PZ]%k]^#P^p%kpq#hq;'S%k;'S;=`&_<%lO%kR%rX!WQ!VPOX%kXY#PZ]%k]^#P^p%kpq#hq;'S%k;'S;=`&_<%lO%kR&bP;=`<%l%kR&lUoP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR'VUmP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR'p[!PP!WQOY#PZp#Ppq#hq{#P{|(f|}#P}!O(f!O!R#P!R![)p![;'S#P;'S;=`#z<%lO#PR(mW!PP!WQOY#PZp#Ppq#hq!R#P!R![)V![;'S#P;'S;=`#z<%lO#PR)^U!PP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR)wY!PP!WQOY#PZp#Ppq#hq{#P{|)V|}#P}!O)V!O;'S#P;'S;=`#z<%lO#PR*nUcP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR+XUbP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR+rUqP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR,]UpP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR,vU`P!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#P",tokenizers:[ax,lx,ux,Ox,0,1],topRules:{Stream:[0,15]},tokenPrec:0});var px=ve.deserialize({version:14,states:"!vOQOPOOO]OPO'#C_OhOPO'#C^OOOO'#Cc'#CcOpOPO'#CaQOOOOOO{OPOOOOOO'#Cb'#CbO!WOPO'#C`O!`OPO,58xOOOO-E6a-E6aOOOO-E6`-E6`OOOO'#C_'#C_OOOO1G.d1G.d",stateData:"!h~OXPOYROWTP~OWVXXRXYRX~OYVOXSP~OXROYROWTX~OXROYROWTP~OYVOXSX~OX[O~OXY~",goto:"vWPPX[beioRUOQQOR]XRXQTTOUQWQRZWSSOURYS",nodeNames:"\u26A0 Document Frontmatter DashLine FrontmatterContent Body",maxTerm:10,skippedNodes:[0],repeatNodeCount:2,tokenData:"$z~RXOYnYZ!^Z]n]^!^^}n}!O!i!O;'Sn;'S;=`!c<%lOn~qXOYnYZ!^Z]n]^!^^;'Sn;'S;=`!c<%l~n~On~~!^~!cOY~~!fP;=`<%ln~!lZOYnYZ!^Z]n]^!^^}n}!O#_!O;'Sn;'S;=`!c<%l~n~On~~!^~#bZOYnYZ!^Z]n]^!^^}n}!O$T!O;'Sn;'S;=`!c<%l~n~On~~!^~$WXOYnYZ$sZ]n]^$s^;'Sn;'S;=`!c<%l~n~On~~$s~$zOX~Y~",tokenizers:[0],topRules:{Document:[0,1]},tokenPrec:67}),mx=Xe.define({name:"yaml",parser:wm.configure({props:[Pe.add({Stream:i=>{for(let e=i.node.resolve(i.pos,-1);e&&e.to>=i.pos;e=e.parent){if(e.name=="BlockLiteralContent"&&e.fromi.pos)return null}}return null},FlowMapping:kt({closing:"}"}),FlowSequence:kt({closing:"]"})}),_e.add({"FlowMapping FlowSequence":ut,"Item Pair BlockLiteral":(i,e)=>({from:e.doc.lineAt(i.from).to,to:i.to})})]}),languageData:{commentTokens:{line:"#"},indentOnInput:/^\s*[\]\}]$/}});var gx=Xe.define({name:"yaml-frontmatter",parser:px.configure({props:[Qe({DashLine:d.meta})]})});function Pm(i){let{language:e,support:t}=i.content instanceof me?i.content:{language:i.content,support:[]};return new me(gx.configure({wrap:bn(n=>n.name=="FrontmatterContent"?{parser:mx.parser}:n.name=="Body"?{parser:e.parser}:null)}),t)}var Qx=1,_m=194,Rm=195,bx=196,vm=197,Sx=198,yx=199,kx=200,xx=2,Am=3,$m=201,wx=24,Px=25,vx=49,$x=50,Tx=55,Cx=56,Xx=57,_x=59,Rx=60,Ax=61,Zx=62,Ex=63,qx=65,zx=238,Lx=71,Mx=241,Wx=242,jx=243,Vx=244,Dx=245,Yx=246,Ix=247,Bx=248,Zm=72,Ux=249,Gx=250,Nx=251,Fx=252,Hx=253,Kx=254,Jx=255,ew=256,tw=73,iw=77,nw=263,rw=112,sw=130,ow=151,aw=152,lw=155,Ni=10,Rr=13,nh=32,uo=9,rh=35,cw=40,hw=46,ih=123,Tm=125,Em=39,qm=34,Cm=92,fw=111,uw=120,Ow=78,dw=117,pw=85,mw=new Set([Px,vx,$x,nw,qx,sw,Cx,Xx,zx,Zx,Ex,Zm,tw,iw,Rx,Ax,ow,aw,lw,rw]);function eh(i){return i==Ni||i==Rr}function th(i){return i>=48&&i<=57||i>=65&&i<=70||i>=97&&i<=102}var gw=new ee((i,e)=>{let t;if(i.next<0)i.acceptToken(yx);else if(e.context.flags&ho)eh(i.next)&&i.acceptToken(Sx,1);else if(((t=i.peek(-1))<0||eh(t))&&e.canShift(vm)){let n=0;for(;i.next==nh||i.next==uo;)i.advance(),n++;(i.next==Ni||i.next==Rr||i.next==rh)&&i.acceptToken(vm,-n)}else eh(i.next)&&i.acceptToken(bx,1)},{contextual:!0}),Qw=new ee((i,e)=>{let t=e.context;if(t.flags)return;let n=i.peek(-1);if(n==Ni||n==Rr){let r=0,s=0;for(;;){if(i.next==nh)r++;else if(i.next==uo)r+=8-r%8;else break;i.advance(),s++}r!=t.indent&&i.next!=Ni&&i.next!=Rr&&i.next!=rh&&(r[i,e|zm])),yw=new mt({start:bw,reduce(i,e,t,n){return i.flags&ho&&mw.has(e)||(e==Lx||e==Zm)&&i.flags&zm?i.parent:i},shift(i,e,t,n){return e==_m?new fo(i,Sw(n.read(n.pos,t.pos)),0):e==Rm?i.parent:e==wx||e==Tx||e==_x||e==Am?new fo(i,0,ho):Xm.has(e)?new fo(i,0,Xm.get(e)|i.flags&ho):i},hash(i){return i.hash}}),kw=new ee(i=>{for(let e=0;e<5;e++){if(i.next!="print".charCodeAt(e))return;i.advance()}if(!/\w/.test(String.fromCharCode(i.next)))for(let e=0;;e++){let t=i.peek(e);if(!(t==nh||t==uo)){t!=cw&&t!=hw&&t!=Ni&&t!=Rr&&t!=rh&&i.acceptToken(Qx);return}}}),xw=new ee((i,e)=>{let{flags:t}=e.context,n=t&Ht?qm:Em,r=(t&Kt)>0,s=!(t&Jt),o=(t&ei)>0,a=i.pos;for(;!(i.next<0);)if(o&&i.next==ih)if(i.peek(1)==ih)i.advance(2);else{if(i.pos==a){i.acceptToken(Am,1);return}break}else if(s&&i.next==Cm){if(i.pos==a){i.advance();let l=i.next;l>=0&&(i.advance(),ww(i,l)),i.acceptToken(xx);return}break}else if(i.next==Cm&&!s&&i.peek(1)>-1)i.advance(2);else if(i.next==n&&(!r||i.peek(1)==n&&i.peek(2)==n)){if(i.pos==a){i.acceptToken($m,r?3:1);return}break}else if(i.next==Ni){if(r)i.advance();else if(i.pos==a){i.acceptToken($m);return}break}else i.advance();i.pos>a&&i.acceptToken(kx)});function ww(i,e){if(e==fw)for(let t=0;t<2&&i.next>=48&&i.next<=55;t++)i.advance();else if(e==uw)for(let t=0;t<2&&th(i.next);t++)i.advance();else if(e==dw)for(let t=0;t<4&&th(i.next);t++)i.advance();else if(e==pw)for(let t=0;t<8&&th(i.next);t++)i.advance();else if(e==Ow&&i.next==ih){for(i.advance();i.next>=0&&i.next!=Tm&&i.next!=Em&&i.next!=qm&&i.next!=Ni;)i.advance();i.next==Tm&&i.advance()}}var Pw=Qe({'async "*" "**" FormatConversion FormatSpec':d.modifier,"for while if elif else try except finally return raise break continue with pass assert await yield match case":d.controlKeyword,"in not and or is del":d.operatorKeyword,"from def class global nonlocal lambda":d.definitionKeyword,import:d.moduleKeyword,"with as print":d.keyword,Boolean:d.bool,None:d.null,VariableName:d.variableName,"CallExpression/VariableName":d.function(d.variableName),"FunctionDefinition/VariableName":d.function(d.definition(d.variableName)),"ClassDefinition/VariableName":d.definition(d.className),PropertyName:d.propertyName,"CallExpression/MemberExpression/PropertyName":d.function(d.propertyName),Comment:d.lineComment,Number:d.number,String:d.string,FormatString:d.special(d.string),Escape:d.escape,UpdateOp:d.updateOperator,"ArithOp!":d.arithmeticOperator,BitOp:d.bitwiseOperator,CompareOp:d.compareOperator,AssignOp:d.definitionOperator,Ellipsis:d.punctuation,At:d.meta,"( )":d.paren,"[ ]":d.squareBracket,"{ }":d.brace,".":d.derefOperator,", ;":d.separator}),vw={__proto__:null,await:44,or:54,and:56,in:60,not:62,is:64,if:70,else:72,lambda:76,yield:94,from:96,async:102,for:104,None:162,True:164,False:164,del:178,pass:182,break:186,continue:190,return:194,raise:202,import:206,as:208,global:212,nonlocal:214,assert:218,type:223,elif:236,while:240,try:246,except:248,finally:250,with:254,def:258,class:268,match:279,case:285},Lm=ve.deserialize({version:14,states:"##jQ`QeOOP$}OSOOO&WQtO'#HUOOQS'#Co'#CoOOQS'#Cp'#CpO'vQdO'#CnO*UQtO'#HTOOQS'#HU'#HUOOQS'#DU'#DUOOQS'#HT'#HTO*rQdO'#D_O+VQdO'#DfO+gQdO'#DjO+zOWO'#DuO,VOWO'#DvO.[QtO'#GuOOQS'#Gu'#GuO'vQdO'#GtO0ZQtO'#GtOOQS'#Eb'#EbO0rQdO'#EcOOQS'#Gs'#GsO0|QdO'#GrOOQV'#Gr'#GrO1XQdO'#FYOOQS'#G^'#G^O1^QdO'#FXOOQV'#IS'#ISOOQV'#Gq'#GqOOQV'#Fq'#FqQ`QeOOO'vQdO'#CqO1lQdO'#C}O1sQdO'#DRO2RQdO'#HYO2cQtO'#EVO'vQdO'#EWOOQS'#EY'#EYOOQS'#E['#E[OOQS'#E^'#E^O2wQdO'#E`O3_QdO'#EdO3rQdO'#EfO3zQtO'#EfO1XQdO'#EiO0rQdO'#ElO1XQdO'#EnO0rQdO'#EtO0rQdO'#EwO4VQdO'#EyO4^QdO'#FOO4iQdO'#EzO0rQdO'#FOO1XQdO'#FQO1XQdO'#FVO4nQdO'#F[P4uOdO'#GpPOOO)CBd)CBdOOQS'#Ce'#CeOOQS'#Cf'#CfOOQS'#Cg'#CgOOQS'#Ch'#ChOOQS'#Ci'#CiOOQS'#Cj'#CjOOQS'#Cl'#ClO'vQdO,59OO'vQdO,59OO'vQdO,59OO'vQdO,59OO'vQdO,59OO'vQdO,59OO5TQdO'#DoOOQS,5:Y,5:YO5hQdO'#HdOOQS,5:],5:]O5uQ!fO,5:]O5zQtO,59YO1lQdO,59bO1lQdO,59bO1lQdO,59bO8jQdO,59bO8oQdO,59bO8vQdO,59jO8}QdO'#HTO:TQdO'#HSOOQS'#HS'#HSOOQS'#D['#D[O:lQdO,59aO'vQdO,59aO:zQdO,59aOOQS,59y,59yO;PQdO,5:RO'vQdO,5:ROOQS,5:Q,5:QO;_QdO,5:QO;dQdO,5:XO'vQdO,5:XO'vQdO,5:VOOQS,5:U,5:UO;uQdO,5:UO;zQdO,5:WOOOW'#Fy'#FyOOOOQS'#Ds'#DsOOQS1G/w1G/wOOQS1G.|1G.|O!/[QtO1G.|O!/cQtO1G.|O1lQdO1G.|O!0OQdO1G/UOOQS'#DZ'#DZO0rQdO,59tOOQS1G.{1G.{O!0VQdO1G/eO!0gQdO1G/eO!0oQdO1G/fO'vQdO'#H[O!0tQdO'#H[O!0yQtO1G.{O!1ZQdO,59iO!2aQdO,5=zO!2qQdO,5=zO!2yQdO1G/mO!3OQtO1G/mOOQS1G/l1G/lO!3`QdO,5=uO!4VQdO,5=uO0rQdO1G/qO!4tQdO1G/sO!4yQtO1G/sO!5ZQtO1G/qOOQS1G/p1G/pOOQS1G/r1G/rOOOW-E9w-E9wOOQS1G/{1G/{O!5kQdO'#HxO0rQdO'#HxO!5|QdO,5>cOOOW-E9x-E9xOOQS1G/|1G/|OOQS-E9{-E9{O!6[Q#xO1G2zO!6{QtO1G2zO'vQdO,5kOOQS1G1`1G1`O!8RQdO1G1`OOQS'#DV'#DVO0rQdO,5=qOOQS,5=q,5=qO!8WQdO'#FrO!8cQdO,59oO!8kQdO1G/XO!8uQtO,5=uOOQS1G3`1G3`OOQS,5:m,5:mO!9fQdO'#GtOOQS,5jO!;ZQdO,5>jO1XQdO,5>jO!;lQdO,5>iOOQS-E:R-E:RO!;qQdO1G0lO!;|QdO1G0lO!lO!lO!hO!=VQdO,5>hO!=hQdO'#EpO0rQdO1G0tO!=sQdO1G0tO!=xQgO1G0zO!AvQgO1G0}O!EqQdO,5>oO!E{QdO,5>oO!FTQtO,5>oO0rQdO1G1PO!F_QdO1G1PO4iQdO1G1UO!!vQdO1G1WOOQV,5;a,5;aO!FdQfO,5;aO!FiQgO1G1QO!JjQdO'#GZO4iQdO1G1QO4iQdO1G1QO!JzQdO,5>pO!KXQdO,5>pO1XQdO,5>pOOQV1G1U1G1UO!KaQdO'#FSO!KrQ!fO1G1WO!KzQdO1G1WOOQV1G1]1G1]O4iQdO1G1]O!LPQdO1G1]O!LXQdO'#F^OOQV1G1b1G1bO!#ZQtO1G1bPOOO1G2v1G2vP!L^OSO1G2vOOQS,5=},5=}OOQS'#Dp'#DpO0rQdO,5=}O!LfQdO,5=|O!LyQdO,5=|OOQS1G/u1G/uO!MRQdO,5>PO!McQdO,5>PO!MkQdO,5>PO!NOQdO,5>PO!N`QdO,5>POOQS1G3j1G3jOOQS7+$h7+$hO!8kQdO7+$pO#!RQdO1G.|O#!YQdO1G.|OOQS1G/`1G/`OOQS,5<`,5<`O'vQdO,5<`OOQS7+%P7+%PO#!aQdO7+%POOQS-E9r-E9rOOQS7+%Q7+%QO#!qQdO,5=vO'vQdO,5=vOOQS7+$g7+$gO#!vQdO7+%PO##OQdO7+%QO##TQdO1G3fOOQS7+%X7+%XO##eQdO1G3fO##mQdO7+%XOOQS,5<_,5<_O'vQdO,5<_O##rQdO1G3aOOQS-E9q-E9qO#$iQdO7+%]OOQS7+%_7+%_O#$wQdO1G3aO#%fQdO7+%_O#%kQdO1G3gO#%{QdO1G3gO#&TQdO7+%]O#&YQdO,5>dO#&sQdO,5>dO#&sQdO,5>dOOQS'#Dx'#DxO#'UO&jO'#DzO#'aO`O'#HyOOOW1G3}1G3}O#'fQdO1G3}O#'nQdO1G3}O#'yQ#xO7+(fO#(jQtO1G2UP#)TQdO'#GOOOQS,5nQdO,5sQdO1G4OOOQS-E9y-E9yO#?^QdO1G4OO<[QdO'#H{OOOO'#D{'#D{OOOO'#F|'#F|O#?oO&jO,5:fOOOW,5>e,5>eOOOW7+)i7+)iO#?zQdO7+)iO#@SQdO1G2zO#@mQdO1G2zP'vQdO'#FuO0rQdO<mO#BQQdO,5>mOOQS1G0v1G0vOOQS<rO#KgQdO,5>rO#KrQdO,5>rO#K}QdO,5>qO#L`QdO,5>qOOQS1G1Y1G1YOOQS,5;p,5;pOOQV<VAN>VO$ oQdO<cAN>cO0rQdO1G1|O$!PQtO1G1|P$!ZQdO'#FvOOQS1G2R1G2RP$!hQdO'#F{O$!uQdO7+)jO$#`QdO,5>gOOOO-E9z-E9zOOOW<tO$4{QdO,5>tO1XQdO,5vO$)nQdO,5>vOOQS1G1p1G1pOOQS,5<[,5<[OOQU7+'P7+'PO$+zQdO1G/iO$)nQdO,5wO$8zQdO,5>wOOQS1G1s1G1sOOQS7+'S7+'SP$)nQdO'#GdO$9SQdO1G4bO$9^QdO1G4bO$9fQdO1G4bOOQS7+%T7+%TO$9tQdO1G1tO$:SQtO'#FaO$:ZQdO,5<}OOQS,5<},5<}O$:iQdO1G4cOOQS-E:a-E:aO$)nQdO,5<|O$:pQdO,5<|O$:uQdO7+)|OOQS-E:`-E:`O$;PQdO7+)|O$)nQdO,5S~O%cOS%^OSSOS%]PQ~OPdOVaOfoOhYOopOs!POvqO!PrO!Q{O!T!SO!U!RO!XZO!][O!h`O!r`O!s`O!t`O!{tO!}uO#PvO#RwO#TxO#XyO#ZzO#^|O#_|O#a}O#c!OO#l!QO#o!TO#s!UO#u!VO#z!WO#}hO$P!XO%oRO%pRO%tSO%uWO&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O&c^O&d^O&e^O&f^O&g^O&h^O&i^O&j^O~O%]!YO~OV!aO_!aOa!bOh!iO!X!kO!f!mO%j![O%k!]O%l!^O%m!_O%n!_O%o!`O%p!`O%q!aO%r!aO%s!aO~Ok%xXl%xXm%xXn%xXo%xXp%xXs%xXz%xX{%xX!x%xX#g%xX%[%xX%_%xX%z%xXg%xX!T%xX!U%xX%{%xX!W%xX![%xX!Q%xX#[%xXt%xX!m%xX~P%SOfoOhYO!XZO!][O!h`O!r`O!s`O!t`O%oRO%pRO%tSO%uWO&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O&c^O&d^O&e^O&f^O&g^O&h^O&i^O&j^O~Oz%wX{%wX#g%wX%[%wX%_%wX%z%wX~Ok!pOl!qOm!oOn!oOo!rOp!sOs!tO!x%wX~P)pOV!zOg!|Oo0cOv0qO!PrO~P'vOV#OOo0cOv0qO!W#PO~P'vOV#SOa#TOo0cOv0qO![#UO~P'vOQ#XO%`#XO%a#ZO~OQ#^OR#[O%`#^O%a#`O~OV%iX_%iXa%iXh%iXk%iXl%iXm%iXn%iXo%iXp%iXs%iXz%iX!X%iX!f%iX%j%iX%k%iX%l%iX%m%iX%n%iX%o%iX%p%iX%q%iX%r%iX%s%iXg%iX!T%iX!U%iX~O&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O&c^O&d^O&e^O&f^O&g^O&h^O&i^O&j^O{%iX!x%iX#g%iX%[%iX%_%iX%z%iX%{%iX!W%iX![%iX!Q%iX#[%iXt%iX!m%iX~P,eOz#dO{%hX!x%hX#g%hX%[%hX%_%hX%z%hX~Oo0cOv0qO~P'vO#g#gO%[#iO%_#iO~O%uWO~O!T#nO#u!VO#z!WO#}hO~OopO~P'vOV#sOa#tO%uWO{wP~OV#xOo0cOv0qO!Q#yO~P'vO{#{O!x$QO%z#|O#g!yX%[!yX%_!yX~OV#xOo0cOv0qO#g#SX%[#SX%_#SX~P'vOo0cOv0qO#g#WX%[#WX%_#WX~P'vOh$WO%uWO~O!f$YO!r$YO%uWO~OV$eO~P'vO!U$gO#s$hO#u$iO~O{$jO~OV$qO~P'vOS$sO%[$rO%_$rO%c$tO~OV$}Oa$}Og%POo0cOv0qO~P'vOo0cOv0qO{%SO~P'vO&Y%UO~Oa!bOh!iO!X!kO!f!mOVba_bakbalbambanbaobapbasbazba{ba!xba#gba%[ba%_ba%jba%kba%lba%mba%nba%oba%pba%qba%rba%sba%zbagba!Tba!Uba%{ba!Wba![ba!Qba#[batba!mba~On%ZO~Oo%ZO~P'vOo0cO~P'vOk0eOl0fOm0dOn0dOo0mOp0nOs0rOg%wX!T%wX!U%wX%{%wX!W%wX![%wX!Q%wX#[%wX!m%wX~P)pO%{%]Og%vXz%vX!T%vX!U%vX!W%vX{%vX~Og%_Oz%`O!T%dO!U%cO~Og%_O~Oz%gO!T%dO!U%cO!W&SX~O!W%kO~Oz%lO{%nO!T%dO!U%cO![%}X~O![%rO~O![%sO~OQ#XO%`#XO%a%uO~OV%wOo0cOv0qO!PrO~P'vOQ#^OR#[O%`#^O%a%zO~OV!qa_!qaa!qah!qak!qal!qam!qan!qao!qap!qas!qaz!qa{!qa!X!qa!f!qa!x!qa#g!qa%[!qa%_!qa%j!qa%k!qa%l!qa%m!qa%n!qa%o!qa%p!qa%q!qa%r!qa%s!qa%z!qag!qa!T!qa!U!qa%{!qa!W!qa![!qa!Q!qa#[!qat!qa!m!qa~P#yOz%|O{%ha!x%ha#g%ha%[%ha%_%ha%z%ha~P%SOV&OOopOvqO{%ha!x%ha#g%ha%[%ha%_%ha%z%ha~P'vOz%|O{%ha!x%ha#g%ha%[%ha%_%ha%z%ha~OPdOVaOopOvqO!PrO!Q{O!{tO!}uO#PvO#RwO#TxO#XyO#ZzO#^|O#_|O#a}O#c!OO#g$zX%[$zX%_$zX~P'vO#g#gO%[&TO%_&TO~O!f&UOh&sX%[&sXz&sX#[&sX#g&sX%_&sX#Z&sXg&sX~Oh!iO%[&WO~Okealeameaneaoeapeaseazea{ea!xea#gea%[ea%_ea%zeagea!Tea!Uea%{ea!Wea![ea!Qea#[eatea!mea~P%SOsqazqa{qa#gqa%[qa%_qa%zqa~Ok!pOl!qOm!oOn!oOo!rOp!sO!xqa~PEcO%z&YOz%yX{%yX~O%uWOz%yX{%yX~Oz&]O{wX~O{&_O~Oz%lO#g%}X%[%}X%_%}Xg%}X{%}X![%}X!m%}X%z%}X~OV0lOo0cOv0qO!PrO~P'vO%z#|O#gUa%[Ua%_Ua~Oz&hO#g&PX%[&PX%_&PXn&PX~P%SOz&kO!Q&jO#g#Wa%[#Wa%_#Wa~Oz&lO#[&nO#g&rX%[&rX%_&rXg&rX~O!f$YO!r$YO#Z&qO%uWO~O#Z&qO~Oz&sO#g&tX%[&tX%_&tX~Oz&uO#g&pX%[&pX%_&pX{&pX~O!X&wO%z&xO~Oz&|On&wX~P%SOn'PO~OPdOVaOopOvqO!PrO!Q{O!{tO!}uO#PvO#RwO#TxO#XyO#ZzO#^|O#_|O#a}O#c!OO%['UO~P'vOt'YO#p'WO#q'XOP#naV#naf#nah#nao#nas#nav#na!P#na!Q#na!T#na!U#na!X#na!]#na!h#na!r#na!s#na!t#na!{#na!}#na#P#na#R#na#T#na#X#na#Z#na#^#na#_#na#a#na#c#na#l#na#o#na#s#na#u#na#z#na#}#na$P#na%X#na%o#na%p#na%t#na%u#na&Z#na&[#na&]#na&^#na&_#na&`#na&a#na&b#na&c#na&d#na&e#na&f#na&g#na&h#na&i#na&j#na%Z#na%_#na~Oz'ZO#[']O{&xX~Oh'_O!X&wO~Oh!iO{$jO!X&wO~O{'eO~P%SO%['hO%_'hO~OS'iO%['hO%_'hO~OV!aO_!aOa!bOh!iO!X!kO!f!mO%l!^O%m!_O%n!_O%o!`O%p!`O%q!aO%r!aO%s!aOkWilWimWinWioWipWisWizWi{Wi!xWi#gWi%[Wi%_Wi%jWi%zWigWi!TWi!UWi%{Wi!WWi![Wi!QWi#[WitWi!mWi~O%k!]O~P!#uO%kWi~P!#uOV!aO_!aOa!bOh!iO!X!kO!f!mO%o!`O%p!`O%q!aO%r!aO%s!aOkWilWimWinWioWipWisWizWi{Wi!xWi#gWi%[Wi%_Wi%jWi%kWi%lWi%zWigWi!TWi!UWi%{Wi!WWi![Wi!QWi#[WitWi!mWi~O%m!_O%n!_O~P!&pO%mWi%nWi~P!&pOa!bOh!iO!X!kO!f!mOkWilWimWinWioWipWisWizWi{Wi!xWi#gWi%[Wi%_Wi%jWi%kWi%lWi%mWi%nWi%oWi%pWi%zWigWi!TWi!UWi%{Wi!WWi![Wi!QWi#[WitWi!mWi~OV!aO_!aO%q!aO%r!aO%s!aO~P!)nOVWi_Wi%qWi%rWi%sWi~P!)nO!T%dO!U%cOg&VXz&VX~O%z'kO%{'kO~P,eOz'mOg&UX~Og'oO~Oz'pO{'rO!W&XX~Oo0cOv0qOz'pO{'sO!W&XX~P'vO!W'uO~Om!oOn!oOo!rOp!sOkjisjizji{ji!xji#gji%[ji%_ji%zji~Ol!qO~P!.aOlji~P!.aOk0eOl0fOm0dOn0dOo0mOp0nO~Ot'wO~P!/jOV'|Og'}Oo0cOv0qO~P'vOg'}Oz(OO~Og(QO~O!U(SO~Og(TOz(OO!T%dO!U%cO~P%SOk0eOl0fOm0dOn0dOo0mOp0nOgqa!Tqa!Uqa%{qa!Wqa![qa!Qqa#[qatqa!mqa~PEcOV'|Oo0cOv0qO!W&Sa~P'vOz(WO!W&Sa~O!W(XO~Oz(WO!T%dO!U%cO!W&Sa~P%SOV(]Oo0cOv0qO![%}a#g%}a%[%}a%_%}ag%}a{%}a!m%}a%z%}a~P'vOz(^O![%}a#g%}a%[%}a%_%}ag%}a{%}a!m%}a%z%}a~O![(aO~Oz(^O!T%dO!U%cO![%}a~P%SOz(dO!T%dO!U%cO![&Ta~P%SOz(gO{&lX![&lX!m&lX%z&lX~O{(kO![(mO!m(nO%z(jO~OV&OOopOvqO{%hi!x%hi#g%hi%[%hi%_%hi%z%hi~P'vOz(pO{%hi!x%hi#g%hi%[%hi%_%hi%z%hi~O!f&UOh&sa%[&saz&sa#[&sa#g&sa%_&sa#Z&sag&sa~O%[(uO~OV#sOa#tO%uWO~Oz&]O{wa~OopOvqO~P'vOz(^O#g%}a%[%}a%_%}ag%}a{%}a![%}a!m%}a%z%}a~P%SOz(zO#g%hX%[%hX%_%hX%z%hX~O%z#|O#gUi%[Ui%_Ui~O#g&Pa%[&Pa%_&Pan&Pa~P'vOz(}O#g&Pa%[&Pa%_&Pan&Pa~O%uWO#g&ra%[&ra%_&rag&ra~Oz)SO#g&ra%[&ra%_&rag&ra~Og)VO~OV)WOh$WO%uWO~O#Z)XO~O%uWO#g&ta%[&ta%_&ta~Oz)ZO#g&ta%[&ta%_&ta~Oo0cOv0qO#g&pa%[&pa%_&pa{&pa~P'vOz)^O#g&pa%[&pa%_&pa{&pa~OV)`Oa)`O%uWO~O%z)eO~Ot)hO#j)gOP#hiV#hif#hih#hio#his#hiv#hi!P#hi!Q#hi!T#hi!U#hi!X#hi!]#hi!h#hi!r#hi!s#hi!t#hi!{#hi!}#hi#P#hi#R#hi#T#hi#X#hi#Z#hi#^#hi#_#hi#a#hi#c#hi#l#hi#o#hi#s#hi#u#hi#z#hi#}#hi$P#hi%X#hi%o#hi%p#hi%t#hi%u#hi&Z#hi&[#hi&]#hi&^#hi&_#hi&`#hi&a#hi&b#hi&c#hi&d#hi&e#hi&f#hi&g#hi&h#hi&i#hi&j#hi%Z#hi%_#hi~Ot)iOP#kiV#kif#kih#kio#kis#kiv#ki!P#ki!Q#ki!T#ki!U#ki!X#ki!]#ki!h#ki!r#ki!s#ki!t#ki!{#ki!}#ki#P#ki#R#ki#T#ki#X#ki#Z#ki#^#ki#_#ki#a#ki#c#ki#l#ki#o#ki#s#ki#u#ki#z#ki#}#ki$P#ki%X#ki%o#ki%p#ki%t#ki%u#ki&Z#ki&[#ki&]#ki&^#ki&_#ki&`#ki&a#ki&b#ki&c#ki&d#ki&e#ki&f#ki&g#ki&h#ki&i#ki&j#ki%Z#ki%_#ki~OV)kOn&wa~P'vOz)lOn&wa~Oz)lOn&wa~P%SOn)pO~O%Y)tO~Ot)wO#p'WO#q)vOP#niV#nif#nih#nio#nis#niv#ni!P#ni!Q#ni!T#ni!U#ni!X#ni!]#ni!h#ni!r#ni!s#ni!t#ni!{#ni!}#ni#P#ni#R#ni#T#ni#X#ni#Z#ni#^#ni#_#ni#a#ni#c#ni#l#ni#o#ni#s#ni#u#ni#z#ni#}#ni$P#ni%X#ni%o#ni%p#ni%t#ni%u#ni&Z#ni&[#ni&]#ni&^#ni&_#ni&`#ni&a#ni&b#ni&c#ni&d#ni&e#ni&f#ni&g#ni&h#ni&i#ni&j#ni%Z#ni%_#ni~OV)zOo0cOv0qO{$jO~P'vOo0cOv0qO{&xa~P'vOz*OO{&xa~OV*SOa*TOg*WO%q*UO%uWO~O{$jO&{*YO~Oh'_O~Oh!iO{$jO~O%[*_O~O%[*aO%_*aO~OV$}Oa$}Oo0cOv0qOg&Ua~P'vOz*dOg&Ua~Oo0cOv0qO{*gO!W&Xa~P'vOz*hO!W&Xa~Oo0cOv0qOz*hO{*kO!W&Xa~P'vOo0cOv0qOz*hO!W&Xa~P'vOz*hO{*kO!W&Xa~Om0dOn0dOo0mOp0nOgjikjisjizji!Tji!Uji%{ji!Wji{ji![ji#gji%[ji%_ji!Qji#[jitji!mji%zji~Ol0fO~P!NkOlji~P!NkOV'|Og*pOo0cOv0qO~P'vOn*rO~Og*pOz*tO~Og*uO~OV'|Oo0cOv0qO!W&Si~P'vOz*vO!W&Si~O!W*wO~OV(]Oo0cOv0qO![%}i#g%}i%[%}i%_%}ig%}i{%}i!m%}i%z%}i~P'vOz*zO!T%dO!U%cO![&Ti~Oz*}O![%}i#g%}i%[%}i%_%}ig%}i{%}i!m%}i%z%}i~O![+OO~Oa+QOo0cOv0qO![&Ti~P'vOz*zO![&Ti~O![+SO~OV+UOo0cOv0qO{&la![&la!m&la%z&la~P'vOz+VO{&la![&la!m&la%z&la~O!]+YO&n+[O![!nX~O![+^O~O{(kO![+_O~O{(kO![+_O!m+`O~OV&OOopOvqO{%hq!x%hq#g%hq%[%hq%_%hq%z%hq~P'vOz$ri{$ri!x$ri#g$ri%[$ri%_$ri%z$ri~P%SOV&OOopOvqO~P'vOV&OOo0cOv0qO#g%ha%[%ha%_%ha%z%ha~P'vOz+aO#g%ha%[%ha%_%ha%z%ha~Oz$ia#g$ia%[$ia%_$ian$ia~P%SO#g&Pi%[&Pi%_&Pin&Pi~P'vOz+dO#g#Wq%[#Wq%_#Wq~O#[+eOz$va#g$va%[$va%_$vag$va~O%uWO#g&ri%[&ri%_&rig&ri~Oz+gO#g&ri%[&ri%_&rig&ri~OV+iOh$WO%uWO~O%uWO#g&ti%[&ti%_&ti~Oo0cOv0qO#g&pi%[&pi%_&pi{&pi~P'vO{#{Oz#eX!W#eX~Oz+mO!W&uX~O!W+oO~Ot+rO#j)gOP#hqV#hqf#hqh#hqo#hqs#hqv#hq!P#hq!Q#hq!T#hq!U#hq!X#hq!]#hq!h#hq!r#hq!s#hq!t#hq!{#hq!}#hq#P#hq#R#hq#T#hq#X#hq#Z#hq#^#hq#_#hq#a#hq#c#hq#l#hq#o#hq#s#hq#u#hq#z#hq#}#hq$P#hq%X#hq%o#hq%p#hq%t#hq%u#hq&Z#hq&[#hq&]#hq&^#hq&_#hq&`#hq&a#hq&b#hq&c#hq&d#hq&e#hq&f#hq&g#hq&h#hq&i#hq&j#hq%Z#hq%_#hq~On$|az$|a~P%SOV)kOn&wi~P'vOz+yOn&wi~Oz,TO{$jO#[,TO~O#q,VOP#nqV#nqf#nqh#nqo#nqs#nqv#nq!P#nq!Q#nq!T#nq!U#nq!X#nq!]#nq!h#nq!r#nq!s#nq!t#nq!{#nq!}#nq#P#nq#R#nq#T#nq#X#nq#Z#nq#^#nq#_#nq#a#nq#c#nq#l#nq#o#nq#s#nq#u#nq#z#nq#}#nq$P#nq%X#nq%o#nq%p#nq%t#nq%u#nq&Z#nq&[#nq&]#nq&^#nq&_#nq&`#nq&a#nq&b#nq&c#nq&d#nq&e#nq&f#nq&g#nq&h#nq&i#nq&j#nq%Z#nq%_#nq~O#[,WOz%Oa{%Oa~Oo0cOv0qO{&xi~P'vOz,YO{&xi~O{#{O%z,[Og&zXz&zX~O%uWOg&zXz&zX~Oz,`Og&yX~Og,bO~O%Y,eO~O!T%dO!U%cOg&Viz&Vi~OV$}Oa$}Oo0cOv0qOg&Ui~P'vO{,hOz$la!W$la~Oo0cOv0qO{,iOz$la!W$la~P'vOo0cOv0qO{*gO!W&Xi~P'vOz,lO!W&Xi~Oo0cOv0qOz,lO!W&Xi~P'vOz,lO{,oO!W&Xi~Og$hiz$hi!W$hi~P%SOV'|Oo0cOv0qO~P'vOn,qO~OV'|Og,rOo0cOv0qO~P'vOV'|Oo0cOv0qO!W&Sq~P'vOz$gi![$gi#g$gi%[$gi%_$gig$gi{$gi!m$gi%z$gi~P%SOV(]Oo0cOv0qO~P'vOa+QOo0cOv0qO![&Tq~P'vOz,sO![&Tq~O![,tO~OV(]Oo0cOv0qO![%}q#g%}q%[%}q%_%}qg%}q{%}q!m%}q%z%}q~P'vO{,uO~OV+UOo0cOv0qO{&li![&li!m&li%z&li~P'vOz,zO{&li![&li!m&li%z&li~O!]+YO&n+[O![!na~O{(kO![,}O~OV&OOo0cOv0qO#g%hi%[%hi%_%hi%z%hi~P'vOz-OO#g%hi%[%hi%_%hi%z%hi~O%uWO#g&rq%[&rq%_&rqg&rq~Oz-RO#g&rq%[&rq%_&rqg&rq~OV)`Oa)`O%uWO!W&ua~Oz-TO!W&ua~On$|iz$|i~P%SOV)kO~P'vOV)kOn&wq~P'vOt-XOP#myV#myf#myh#myo#mys#myv#my!P#my!Q#my!T#my!U#my!X#my!]#my!h#my!r#my!s#my!t#my!{#my!}#my#P#my#R#my#T#my#X#my#Z#my#^#my#_#my#a#my#c#my#l#my#o#my#s#my#u#my#z#my#}#my$P#my%X#my%o#my%p#my%t#my%u#my&Z#my&[#my&]#my&^#my&_#my&`#my&a#my&b#my&c#my&d#my&e#my&f#my&g#my&h#my&i#my&j#my%Z#my%_#my~O%Z-]O%_-]O~P`O#q-^OP#nyV#nyf#nyh#nyo#nys#nyv#ny!P#ny!Q#ny!T#ny!U#ny!X#ny!]#ny!h#ny!r#ny!s#ny!t#ny!{#ny!}#ny#P#ny#R#ny#T#ny#X#ny#Z#ny#^#ny#_#ny#a#ny#c#ny#l#ny#o#ny#s#ny#u#ny#z#ny#}#ny$P#ny%X#ny%o#ny%p#ny%t#ny%u#ny&Z#ny&[#ny&]#ny&^#ny&_#ny&`#ny&a#ny&b#ny&c#ny&d#ny&e#ny&f#ny&g#ny&h#ny&i#ny&j#ny%Z#ny%_#ny~Oz-aO{$jO#[-aO~Oo0cOv0qO{&xq~P'vOz-dO{&xq~O%z,[Og&zaz&za~O{#{Og&zaz&za~OV*SOa*TO%q*UO%uWOg&ya~Oz-hOg&ya~O$S-lO~OV$}Oa$}Oo0cOv0qO~P'vOo0cOv0qO{-mOz$li!W$li~P'vOo0cOv0qOz$li!W$li~P'vO{-mOz$li!W$li~Oo0cOv0qO{*gO~P'vOo0cOv0qO{*gO!W&Xq~P'vOz-pO!W&Xq~Oo0cOv0qOz-pO!W&Xq~P'vOs-sO!T%dO!U%cOg&Oq!W&Oq![&Oqz&Oq~P!/jOa+QOo0cOv0qO![&Ty~P'vOz$ji![$ji~P%SOa+QOo0cOv0qO~P'vOV+UOo0cOv0qO~P'vOV+UOo0cOv0qO{&lq![&lq!m&lq%z&lq~P'vO{(kO![-xO!m-yO%z-wO~OV&OOo0cOv0qO#g%hq%[%hq%_%hq%z%hq~P'vO%uWO#g&ry%[&ry%_&ryg&ry~OV)`Oa)`O%uWO!W&ui~Ot-}OP#m!RV#m!Rf#m!Rh#m!Ro#m!Rs#m!Rv#m!R!P#m!R!Q#m!R!T#m!R!U#m!R!X#m!R!]#m!R!h#m!R!r#m!R!s#m!R!t#m!R!{#m!R!}#m!R#P#m!R#R#m!R#T#m!R#X#m!R#Z#m!R#^#m!R#_#m!R#a#m!R#c#m!R#l#m!R#o#m!R#s#m!R#u#m!R#z#m!R#}#m!R$P#m!R%X#m!R%o#m!R%p#m!R%t#m!R%u#m!R&Z#m!R&[#m!R&]#m!R&^#m!R&_#m!R&`#m!R&a#m!R&b#m!R&c#m!R&d#m!R&e#m!R&f#m!R&g#m!R&h#m!R&i#m!R&j#m!R%Z#m!R%_#m!R~Oo0cOv0qO{&xy~P'vOV*SOa*TO%q*UO%uWOg&yi~O$S-lO%Z.VO%_.VO~OV.aOh._O!X.^O!].`O!h.YO!s.[O!t.[O%p.XO%uWO&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O~Oo0cOv0qOz$lq!W$lq~P'vO{.fOz$lq!W$lq~Oo0cOv0qO{*gO!W&Xy~P'vOz.gO!W&Xy~Oo0cOv.kO~P'vOs-sO!T%dO!U%cOg&Oy!W&Oy![&Oyz&Oy~P!/jO{(kO![.nO~O{(kO![.nO!m.oO~OV*SOa*TO%q*UO%uWO~Oh.tO!f.rOz$TX#[$TX%j$TXg$TX~Os$TX{$TX!W$TX![$TX~P$-bO%o.vO%p.vOs$UXz$UX{$UX#[$UX%j$UX!W$UXg$UX![$UX~O!h.xO~Oz.|O#[/OO%j.yOs&|X{&|X!W&|Xg&|X~Oa/RO~P$)zOh.tOs&}Xz&}X{&}X#[&}X%j&}X!W&}Xg&}X![&}X~Os/VO{$jO~Oo0cOv0qOz$ly!W$ly~P'vOo0cOv0qO{*gO!W&X!R~P'vOz/ZO!W&X!R~Og&RXs&RX!T&RX!U&RX!W&RX![&RXz&RX~P!/jOs-sO!T%dO!U%cOg&Qa!W&Qa![&Qaz&Qa~O{(kO![/^O~O!f.rOh$[as$[az$[a{$[a#[$[a%j$[a!W$[ag$[a![$[a~O!h/eO~O%o.vO%p.vOs$Uaz$Ua{$Ua#[$Ua%j$Ua!W$Uag$Ua![$Ua~O%j.yOs$Yaz$Ya{$Ya#[$Ya!W$Yag$Ya![$Ya~Os&|a{&|a!W&|ag&|a~P$)nOz/jOs&|a{&|a!W&|ag&|a~O!W/mO~Og/mO~O{/oO~O![/pO~Oo0cOv0qO{*gO!W&X!Z~P'vO{/sO~O%z/tO~P$-bOz/uO#[/OO%j.yOg'PX~Oz/uOg'PX~Og/wO~O!h/xO~O#[/OOs%Saz%Sa{%Sa%j%Sa!W%Sag%Sa![%Sa~O#[/OO%j.yOs%Waz%Wa{%Wa!W%Wag%Wa~Os&|i{&|i!W&|ig&|i~P$)nOz/zO#[/OO%j.yO!['Oa~Og'Pa~P$)nOz0SOg'Pa~Oa0UO!['Oi~P$)zOz0WO!['Oi~Oz0WO#[/OO%j.yO!['Oi~O#[/OO%j.yOg$biz$bi~O%z0ZO~P$-bO#[/OO%j.yOg%Vaz%Va~Og'Pi~P$)nO{0^O~Oa0UO!['Oq~P$)zOz0`O!['Oq~O#[/OO%j.yOz%Ui![%Ui~Oa0UO~P$)zOa0UO!['Oy~P$)zO#[/OO%j.yOg$ciz$ci~O#[/OO%j.yOz%Uq![%Uq~Oz+aO#g%ha%[%ha%_%ha%z%ha~P%SOV&OOo0cOv0qO~P'vOn0hO~Oo0hO~P'vO{0iO~Ot0jO~P!/jO&]&Z&j&h&i&g&f&d&e&c&b&`&a&_&^&[%u~",goto:"!=j'QPPPPPP'RP'Z*s+[+t,_,y-fP.SP'Z.r.r'ZPPP'Z2[PPPPPP2[5PPP5PP7b7k=sPP=v>h>kPP'Z'ZPP>zPP'Z'ZPP'Z'Z'Z'Z'Z?O?w'ZP?zP@QDXGuGyPG|HWH['ZPPPH_Hk'RP'R'RP'RP'RP'RP'RP'R'R'RP'RPP'RPP'RP'RPHqH}IVPI^IdPI^PI^I^PPPI^PKrPK{LVL]KrPI^LfPI^PLmLsPLwM]MzNeLwLwNkNxLwLwLwLw! ^! d! g! l! o! y!!P!!]!!o!!u!#P!#V!#s!#y!$P!$Z!$a!$g!$y!%T!%Z!%a!%k!%q!%w!%}!&T!&Z!&e!&k!&u!&{!'U!'[!'k!'s!'}!(UPPPPPPPPPPP!([!(_!(e!(n!(x!)TPPPPPPPPPPPP!-u!/Z!3^!6oPP!6w!7W!7a!8Y!8P!8c!8i!8l!8o!8r!8z!9jPPPPPPPPPPPPPPPPP!9m!9q!9wP!:]!:a!:m!:v!;S!;j!;m!;p!;v!;|!_![!]Do!]!^Es!^!_FZ!_!`Gk!`!aHX!a!b%T!b!cIf!c!dJU!d!eK^!e!hJU!h!i!#f!i!tJU!t!u!,|!u!wJU!w!x!.t!x!}JU!}#O!0S#O#P&o#P#Q!0j#Q#R!1Q#R#SJU#S#T%T#T#UJU#U#VK^#V#YJU#Y#Z!#f#Z#fJU#f#g!,|#g#iJU#i#j!.t#j#oJU#o#p!1n#p#q!1s#q#r!2a#r#s!2f#s$g%T$g;'SJU;'S;=`KW<%lOJU`%YT&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T`%lP;=`<%l%To%v]&n`%c_OX%TXY%oY[%T[]%o]p%Tpq%oq#O%T#O#P&o#P#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To&tX&n`OY%TYZ%oZ]%T]^%o^#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc'f[&n`O!_%T!_!`([!`#T%T#T#U(r#U#f%T#f#g(r#g#h(r#h#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc(cTmR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc(yT!mR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk)aV&n`&[ZOr%Trs)vs#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk){V&n`Or%Trs*bs#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk*iT&n`&^ZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To+PZS_&n`OY*xYZ%TZ]*x]^%T^#o*x#o#p+r#p#q*x#q#r+r#r;'S*x;'S;=`,^<%lO*x_+wTS_OY+rZ]+r^;'S+r;'S;=`,W<%lO+r_,ZP;=`<%l+ro,aP;=`<%l*xj,kV%rQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj-XT!xY&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj-oV%lQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk.]V&n`&ZZOw%Twx.rx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk.wV&n`Ow%Twx/^x#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk/eT&n`&]ZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk/{ThZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc0cTgR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk0yXVZ&n`Oz%Tz{1f{!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk1mVaR&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk2ZV%oZ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc2wTzR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To3_W%pZ&n`O!_%T!_!`-Q!`!a3w!a#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Td4OT&{S&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk4fX!fQ&n`O!O%T!O!P5R!P!Q%T!Q![6T![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk5WV&n`O!O%T!O!P5m!P#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk5tT!rZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti6[a!hX&n`O!Q%T!Q![6T![!g%T!g!h7a!h!l%T!l!m9s!m#R%T#R#S6T#S#X%T#X#Y7a#Y#^%T#^#_9s#_#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti7fZ&n`O{%T{|8X|}%T}!O8X!O!Q%T!Q![8s![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti8^V&n`O!Q%T!Q![8s![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti8z]!hX&n`O!Q%T!Q![8s![!l%T!l!m9s!m#R%T#R#S8s#S#^%T#^#_9s#_#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti9zT!hX&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk:bX%qR&n`O!P%T!P!Q:}!Q!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj;UV%sQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti;ro!hX&n`O!O%T!O!P=s!P!Q%T!Q![>_![!d%T!d!e?q!e!g%T!g!h7a!h!l%T!l!m9s!m!q%T!q!rA]!r!z%T!z!{Bq!{#R%T#R#S>_#S#U%T#U#V?q#V#X%T#X#Y7a#Y#^%T#^#_9s#_#c%T#c#dA]#d#l%T#l#mBq#m#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti=xV&n`O!Q%T!Q![6T![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti>fc!hX&n`O!O%T!O!P=s!P!Q%T!Q![>_![!g%T!g!h7a!h!l%T!l!m9s!m#R%T#R#S>_#S#X%T#X#Y7a#Y#^%T#^#_9s#_#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti?vY&n`O!Q%T!Q!R@f!R!S@f!S#R%T#R#S@f#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti@mY!hX&n`O!Q%T!Q!R@f!R!S@f!S#R%T#R#S@f#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiAbX&n`O!Q%T!Q!YA}!Y#R%T#R#SA}#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiBUX!hX&n`O!Q%T!Q!YA}!Y#R%T#R#SA}#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiBv]&n`O!Q%T!Q![Co![!c%T!c!iCo!i#R%T#R#SCo#S#T%T#T#ZCo#Z#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiCv]!hX&n`O!Q%T!Q![Co![!c%T!c!iCo!i#R%T#R#SCo#S#T%T#T#ZCo#Z#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%ToDvV{_&n`O!_%T!_!`E]!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TcEdT%{R&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkEzT#gZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkFbXmR&n`O!^%T!^!_F}!_!`([!`!a([!a#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TjGUV%mQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkGrV%zZ&n`O!_%T!_!`([!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkH`WmR&n`O!_%T!_!`([!`!aHx!a#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TjIPV%nQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkIoV_Q#}P&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%ToJ_]&n`&YS%uZO!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUoKZP;=`<%lJUoKge&n`&YS%uZOr%Trs)Ysw%Twx.Ux!Q%T!Q![JU![!c%T!c!tJU!t!uLx!u!}JU!}#R%T#R#SJU#S#T%T#T#fJU#f#gLx#g#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUoMRa&n`&YS%uZOr%TrsNWsw%Twx! vx!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUkN_V&n`&`ZOr%TrsNts#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkNyV&n`Or%Trs! `s#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk! gT&n`&bZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk! }V&n`&_ZOw%Twx!!dx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!!iV&n`Ow%Twx!#Ox#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!#VT&n`&aZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To!#oe&n`&YS%uZOr%Trs!%Qsw%Twx!&px!Q%T!Q![JU![!c%T!c!tJU!t!u!(`!u!}JU!}#R%T#R#SJU#S#T%T#T#fJU#f#g!(`#g#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUk!%XV&n`&dZOr%Trs!%ns#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!%sV&n`Or%Trs!&Ys#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!&aT&n`&fZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!&wV&n`&cZOw%Twx!'^x#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!'cV&n`Ow%Twx!'xx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!(PT&n`&eZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To!(ia&n`&YS%uZOr%Trs!)nsw%Twx!+^x!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUk!)uV&n`&hZOr%Trs!*[s#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!*aV&n`Or%Trs!*vs#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!*}T&n`&jZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!+eV&n`&gZOw%Twx!+zx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!,PV&n`Ow%Twx!,fx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!,mT&n`&iZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To!-Vi&n`&YS%uZOr%TrsNWsw%Twx! vx!Q%T!Q![JU![!c%T!c!dJU!d!eLx!e!hJU!h!i!(`!i!}JU!}#R%T#R#SJU#S#T%T#T#UJU#U#VLx#V#YJU#Y#Z!(`#Z#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUo!.}a&n`&YS%uZOr%Trs)Ysw%Twx.Ux!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUk!0ZT!XZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc!0qT!WR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj!1XV%kQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T~!1sO!]~k!1zV%jR&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T~!2fO![~i!2mT%tX&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T",tokenizers:[kw,Qw,gw,xw,0,1,2,3,4],topRules:{Script:[0,5]},specialized:[{term:221,get:i=>vw[i]||-1}],tokenPrec:7668});var Mm=new Oi,jm=new Set(["Script","Body","FunctionDefinition","ClassDefinition","LambdaExpression","ForStatement","MatchClause"]);function Oo(i){return(e,t,n)=>{if(n)return!1;let r=e.node.getChild("VariableName");return r&&t(r,i),!0}}var $w={FunctionDefinition:Oo("function"),ClassDefinition:Oo("class"),ForStatement(i,e,t){if(t){for(let n=i.node.firstChild;n;n=n.nextSibling)if(n.name=="VariableName")e(n,"variable");else if(n.name=="in")break}},ImportStatement(i,e){var t,n;let{node:r}=i,s=((t=r.firstChild)===null||t===void 0?void 0:t.name)=="from";for(let o=r.getChild("import");o;o=o.nextSibling)o.name=="VariableName"&&((n=o.nextSibling)===null||n===void 0?void 0:n.name)!="as"&&e(o,s?"variable":"namespace")},AssignStatement(i,e){for(let t=i.node.firstChild;t;t=t.nextSibling)if(t.name=="VariableName")e(t,"variable");else if(t.name==":"||t.name=="AssignOp")break},ParamList(i,e){for(let t=null,n=i.node.firstChild;n;n=n.nextSibling)n.name=="VariableName"&&(!t||!/\*|AssignOp/.test(t.name))&&e(n,"variable"),t=n},CapturePattern:Oo("variable"),AsPattern:Oo("variable"),__proto__:null};function Vm(i,e){let t=Mm.get(e);if(t)return t;let n=[],r=!0;function s(o,a){let l=i.sliceString(o.from,o.to);n.push({label:l,type:a})}return e.cursor(te.IncludeAnonymous).iterate(o=>{if(o.name){let a=$w[o.name];if(a&&a(o,s,r)||!r&&jm.has(o.name))return!1;r=!1}else if(o.to-o.from>8192){for(let a of Vm(i,o.node))n.push(a);return!1}}),Mm.set(e,n),n}var Wm=/^[\w\xa1-\uffff][\w\d\xa1-\uffff]*$/,Dm=["String","FormatString","Comment","PropertyName"];function Tw(i){let e=U(i.state).resolveInner(i.pos,-1);if(Dm.indexOf(e.name)>-1)return null;let t=e.name=="VariableName"||e.to-e.from<20&&Wm.test(i.state.sliceDoc(e.from,e.to));if(!t&&!i.explicit)return null;let n=[];for(let r=e;r;r=r.parent)jm.has(r.name)&&(n=n.concat(Vm(i.state.doc,r)));return{options:n,from:t?e.from:i.pos,validFor:Wm}}var Cw=["__annotations__","__builtins__","__debug__","__doc__","__import__","__name__","__loader__","__package__","__spec__","False","None","True"].map(i=>({label:i,type:"constant"})).concat(["ArithmeticError","AssertionError","AttributeError","BaseException","BlockingIOError","BrokenPipeError","BufferError","BytesWarning","ChildProcessError","ConnectionAbortedError","ConnectionError","ConnectionRefusedError","ConnectionResetError","DeprecationWarning","EOFError","Ellipsis","EncodingWarning","EnvironmentError","Exception","FileExistsError","FileNotFoundError","FloatingPointError","FutureWarning","GeneratorExit","IOError","ImportError","ImportWarning","IndentationError","IndexError","InterruptedError","IsADirectoryError","KeyError","KeyboardInterrupt","LookupError","MemoryError","ModuleNotFoundError","NameError","NotADirectoryError","NotImplemented","NotImplementedError","OSError","OverflowError","PendingDeprecationWarning","PermissionError","ProcessLookupError","RecursionError","ReferenceError","ResourceWarning","RuntimeError","RuntimeWarning","StopAsyncIteration","StopIteration","SyntaxError","SyntaxWarning","SystemError","SystemExit","TabError","TimeoutError","TypeError","UnboundLocalError","UnicodeDecodeError","UnicodeEncodeError","UnicodeError","UnicodeTranslateError","UnicodeWarning","UserWarning","ValueError","Warning","ZeroDivisionError"].map(i=>({label:i,type:"type"}))).concat(["bool","bytearray","bytes","classmethod","complex","float","frozenset","int","list","map","memoryview","object","range","set","staticmethod","str","super","tuple","type"].map(i=>({label:i,type:"class"}))).concat(["abs","aiter","all","anext","any","ascii","bin","breakpoint","callable","chr","compile","delattr","dict","dir","divmod","enumerate","eval","exec","exit","filter","format","getattr","globals","hasattr","hash","help","hex","id","input","isinstance","issubclass","iter","len","license","locals","max","min","next","oct","open","ord","pow","print","property","quit","repr","reversed","round","setattr","slice","sorted","sum","vars","zip"].map(i=>({label:i,type:"function"}))),Xw=[he("def ${name}(${params}):\n ${}",{label:"def",detail:"function",type:"keyword"}),he("for ${name} in ${collection}:\n ${}",{label:"for",detail:"loop",type:"keyword"}),he("while ${}:\n ${}",{label:"while",detail:"loop",type:"keyword"}),he("try:\n ${}\nexcept ${error}:\n ${}",{label:"try",detail:"/ except block",type:"keyword"}),he(`if \${}: +}`,{label:"class",detail:"definition",type:"keyword"}),he('import {${names}} from "${module}"\n${}',{label:"import",detail:"named",type:"keyword"}),he('import ${name} from "${module}"\n${}',{label:"import",detail:"default",type:"keyword"})],O1=Vp.concat([he("interface ${name} {\n ${}\n}",{label:"interface",detail:"definition",type:"keyword"}),he("type ${name} = ${type}",{label:"type",detail:"definition",type:"keyword"}),he("enum ${name} {\n ${}\n}",{label:"enum",detail:"definition",type:"keyword"})]),Mp=new pi,Dp=new Set(["Script","Block","FunctionExpression","FunctionDeclaration","ArrowFunction","MethodDeclaration","ForStatement"]);function $r(i){return(e,t)=>{let n=e.node.getChild("VariableDefinition");return n&&t(n,i),!0}}var d1=["FunctionDeclaration"],p1={FunctionDeclaration:$r("function"),ClassDeclaration:$r("class"),ClassExpression:()=>!0,EnumDeclaration:$r("constant"),TypeAliasDeclaration:$r("type"),NamespaceDeclaration:$r("namespace"),VariableDefinition(i,e){i.matchContext(d1)||e(i,"variable")},TypeDefinition(i,e){e(i,"type")},__proto__:null};function Yp(i,e){let t=Mp.get(e);if(t)return t;let n=[],r=!0;function s(o,a){let l=i.sliceString(o.from,o.to);n.push({label:l,type:a})}return e.cursor(te.IncludeAnonymous).iterate(o=>{if(r)r=!1;else if(o.name){let a=p1[o.name];if(a&&a(o,s)||Dp.has(o.name))return!1}else if(o.to-o.from>8192){for(let a of Yp(i,o.node))n.push(a);return!1}}),Mp.set(e,n),n}var Wp=/^[\w$\xa1-\uffff][\w$\d\xa1-\uffff]*$/,Ip=["TemplateString","String","RegExp","LineComment","BlockComment","VariableDefinition","TypeDefinition","Label","PropertyDefinition","PropertyName","PrivatePropertyDefinition","PrivatePropertyName","JSXText","JSXAttributeValue","JSXOpenTag","JSXCloseTag","JSXSelfClosingTag",".","?."];function m1(i){let e=U(i.state).resolveInner(i.pos,-1);if(Ip.indexOf(e.name)>-1)return null;let t=e.name=="VariableName"||e.to-e.from<20&&Wp.test(i.state.sliceDoc(e.from,e.to));if(!t&&!i.explicit)return null;let n=[];for(let r=e;r;r=r.parent)Dp.has(r.name)&&(n=n.concat(Yp(i.state.doc,r)));return{options:n,from:t?e.from:i.pos,validFor:Wp}}var Tt=Xe.define({name:"javascript",parser:Lp.configure({props:[Pe.add({IfStatement:Gt({except:/^\s*({|else\b)/}),TryStatement:Gt({except:/^\s*({|catch\b|finally\b)/}),LabeledStatement:hO,SwitchBody:i=>{let e=i.textAfter,t=/^\s*\}/.test(e),n=/^\s*(case|default)\b/.test(e);return i.baseIndent+(t?0:n?1:2)*i.unit},Block:wt({closing:"}"}),ArrowFunction:i=>i.baseIndent+i.unit,"TemplateString BlockComment":()=>null,"Statement Property":Gt({except:/^\s*{/}),JSXElement(i){let e=/^\s*<\//.test(i.textAfter);return i.lineIndent(i.node.from)+(e?0:i.unit)},JSXEscape(i){let e=/\s*\}/.test(i.textAfter);return i.lineIndent(i.node.from)+(e?0:i.unit)},"JSXOpenTag JSXSelfClosingTag"(i){return i.column(i.node.from)+i.unit}}),_e.add({"Block ClassBody SwitchBody EnumBody ObjectExpression ArrayExpression ObjectType":Ot,BlockComment(i){return{from:i.from+2,to:i.to-2}},JSXElement(i){let e=i.firstChild;if(!e||e.name=="JSXSelfClosingTag")return null;let t=i.lastChild;return{from:e.to,to:t.type.isError?i.to:t.from}},"JSXSelfClosingTag JSXOpenTag"(i){var e;let t=(e=i.firstChild)===null||e===void 0?void 0:e.nextSibling,n=i.lastChild;return!t||t.type.isError?null:{from:t.to,to:n.type.isError?i.to:n.from}}})]}),languageData:{closeBrackets:{brackets:["(","[","{","'",'"',"`"]},commentTokens:{line:"//",block:{open:"/*",close:"*/"}},indentOnInput:/^\s*(?:case |default:|\{|\}|<\/)$/,wordChars:"$"}}),Bp={test:i=>/^JSX/.test(i.name),facet:xn({commentTokens:{block:{open:"{/*",close:"*/}"}}})},Rc=Tt.configure({dialect:"ts"},"typescript"),Ac=Tt.configure({dialect:"jsx",props:[zs.add(i=>i.isTop?[Bp]:void 0)]}),Zc=Tt.configure({dialect:"jsx ts",props:[zs.add(i=>i.isTop?[Bp]:void 0)]},"typescript"),Up=i=>({label:i,type:"keyword"}),Gp="break case const continue default delete export extends false finally in instanceof let new return static super switch this throw true typeof var yield".split(" ").map(Up),g1=Gp.concat(["declare","implements","private","protected","public"].map(Up));function oo(i={}){let e=i.jsx?i.typescript?Zc:Ac:i.typescript?Rc:Tt,t=i.typescript?O1.concat(g1):Vp.concat(Gp);return new me(e,[Tt.data.of({autocomplete:Us(Ip,Bs(t))}),Tt.data.of({autocomplete:m1}),i.jsx?S1:[]])}function Q1(i){for(;;){if(i.name=="JSXOpenTag"||i.name=="JSXSelfClosingTag"||i.name=="JSXFragmentTag")return i;if(i.name=="JSXEscape"||!i.parent)return null;i=i.parent}}function jp(i,e,t=i.length){for(let n=e?.firstChild;n;n=n.nextSibling)if(n.name=="JSXIdentifier"||n.name=="JSXBuiltin"||n.name=="JSXNamespacedName"||n.name=="JSXMemberExpression")return i.sliceString(n.from,Math.min(n.to,t));return""}var b1=typeof navigator=="object"&&/Android\b/.test(navigator.userAgent),S1=q.inputHandler.of((i,e,t,n,r)=>{if((b1?i.composing:i.compositionStarted)||i.state.readOnly||e!=t||n!=">"&&n!="/"||!Tt.isActiveAt(i.state,e,-1))return!1;let s=r(),{state:o}=s,a=o.changeByRange(l=>{var c;let{head:h}=l,f=U(o).resolveInner(h-1,-1),u;if(f.name=="JSXStartTag"&&(f=f.parent),!(o.doc.sliceString(h-1,h)!=n||f.name=="JSXAttributeValue"&&f.to>h)){if(n==">"&&f.name=="JSXFragmentTag")return{range:l,changes:{from:h,insert:""}};if(n=="/"&&f.name=="JSXStartCloseTag"){let O=f.parent,m=O.parent;if(m&&O.from==h-2&&((u=jp(o.doc,m.firstChild,h))||((c=m.firstChild)===null||c===void 0?void 0:c.name)=="JSXFragmentTag")){let p=`${u}>`;return{range:v.cursor(h+p.length,-1),changes:{from:h,insert:p}}}}else if(n==">"){let O=Q1(f);if(O&&O.name=="JSXOpenTag"&&!/^\/?>|^<\//.test(o.doc.sliceString(h,h+2))&&(u=jp(o.doc,O,h)))return{range:l,changes:{from:h,insert:``}}}}return{range:l}});return a.changes.empty?!1:(i.dispatch([s,o.update(a,{userEvent:"input.complete",scrollIntoView:!0})]),!0)});var Tr=["_blank","_self","_top","_parent"],Ec=["ascii","utf-8","utf-16","latin1","latin1"],qc=["get","post","put","delete"],zc=["application/x-www-form-urlencoded","multipart/form-data","text/plain"],tt=["true","false"],D={},y1={a:{attrs:{href:null,ping:null,type:null,media:null,target:Tr,hreflang:null}},abbr:D,address:D,area:{attrs:{alt:null,coords:null,href:null,target:null,ping:null,media:null,hreflang:null,type:null,shape:["default","rect","circle","poly"]}},article:D,aside:D,audio:{attrs:{src:null,mediagroup:null,crossorigin:["anonymous","use-credentials"],preload:["none","metadata","auto"],autoplay:["autoplay"],loop:["loop"],controls:["controls"]}},b:D,base:{attrs:{href:null,target:Tr}},bdi:D,bdo:D,blockquote:{attrs:{cite:null}},body:D,br:D,button:{attrs:{form:null,formaction:null,name:null,value:null,autofocus:["autofocus"],disabled:["autofocus"],formenctype:zc,formmethod:qc,formnovalidate:["novalidate"],formtarget:Tr,type:["submit","reset","button"]}},canvas:{attrs:{width:null,height:null}},caption:D,center:D,cite:D,code:D,col:{attrs:{span:null}},colgroup:{attrs:{span:null}},command:{attrs:{type:["command","checkbox","radio"],label:null,icon:null,radiogroup:null,command:null,title:null,disabled:["disabled"],checked:["checked"]}},data:{attrs:{value:null}},datagrid:{attrs:{disabled:["disabled"],multiple:["multiple"]}},datalist:{attrs:{data:null}},dd:D,del:{attrs:{cite:null,datetime:null}},details:{attrs:{open:["open"]}},dfn:D,div:D,dl:D,dt:D,em:D,embed:{attrs:{src:null,type:null,width:null,height:null}},eventsource:{attrs:{src:null}},fieldset:{attrs:{disabled:["disabled"],form:null,name:null}},figcaption:D,figure:D,footer:D,form:{attrs:{action:null,name:null,"accept-charset":Ec,autocomplete:["on","off"],enctype:zc,method:qc,novalidate:["novalidate"],target:Tr}},h1:D,h2:D,h3:D,h4:D,h5:D,h6:D,head:{children:["title","base","link","style","meta","script","noscript","command"]},header:D,hgroup:D,hr:D,html:{attrs:{manifest:null}},i:D,iframe:{attrs:{src:null,srcdoc:null,name:null,width:null,height:null,sandbox:["allow-top-navigation","allow-same-origin","allow-forms","allow-scripts"],seamless:["seamless"]}},img:{attrs:{alt:null,src:null,ismap:null,usemap:null,width:null,height:null,crossorigin:["anonymous","use-credentials"]}},input:{attrs:{alt:null,dirname:null,form:null,formaction:null,height:null,list:null,max:null,maxlength:null,min:null,name:null,pattern:null,placeholder:null,size:null,src:null,step:null,value:null,width:null,accept:["audio/*","video/*","image/*"],autocomplete:["on","off"],autofocus:["autofocus"],checked:["checked"],disabled:["disabled"],formenctype:zc,formmethod:qc,formnovalidate:["novalidate"],formtarget:Tr,multiple:["multiple"],readonly:["readonly"],required:["required"],type:["hidden","text","search","tel","url","email","password","datetime","date","month","week","time","datetime-local","number","range","color","checkbox","radio","file","submit","image","reset","button"]}},ins:{attrs:{cite:null,datetime:null}},kbd:D,keygen:{attrs:{challenge:null,form:null,name:null,autofocus:["autofocus"],disabled:["disabled"],keytype:["RSA"]}},label:{attrs:{for:null,form:null}},legend:D,li:{attrs:{value:null}},link:{attrs:{href:null,type:null,hreflang:null,media:null,sizes:["all","16x16","16x16 32x32","16x16 32x32 64x64"]}},map:{attrs:{name:null}},mark:D,menu:{attrs:{label:null,type:["list","context","toolbar"]}},meta:{attrs:{content:null,charset:Ec,name:["viewport","application-name","author","description","generator","keywords"],"http-equiv":["content-language","content-type","default-style","refresh"]}},meter:{attrs:{value:null,min:null,low:null,high:null,max:null,optimum:null}},nav:D,noscript:D,object:{attrs:{data:null,type:null,name:null,usemap:null,form:null,width:null,height:null,typemustmatch:["typemustmatch"]}},ol:{attrs:{reversed:["reversed"],start:null,type:["1","a","A","i","I"]},children:["li","script","template","ul","ol"]},optgroup:{attrs:{disabled:["disabled"],label:null}},option:{attrs:{disabled:["disabled"],label:null,selected:["selected"],value:null}},output:{attrs:{for:null,form:null,name:null}},p:D,param:{attrs:{name:null,value:null}},pre:D,progress:{attrs:{value:null,max:null}},q:{attrs:{cite:null}},rp:D,rt:D,ruby:D,samp:D,script:{attrs:{type:["text/javascript"],src:null,async:["async"],defer:["defer"],charset:Ec}},section:D,select:{attrs:{form:null,name:null,size:null,autofocus:["autofocus"],disabled:["disabled"],multiple:["multiple"]}},slot:{attrs:{name:null}},small:D,source:{attrs:{src:null,type:null,media:null}},span:D,strong:D,style:{attrs:{type:["text/css"],media:null,scoped:null}},sub:D,summary:D,sup:D,table:D,tbody:D,td:{attrs:{colspan:null,rowspan:null,headers:null}},template:D,textarea:{attrs:{dirname:null,form:null,maxlength:null,name:null,placeholder:null,rows:null,cols:null,autofocus:["autofocus"],disabled:["disabled"],readonly:["readonly"],required:["required"],wrap:["soft","hard"]}},tfoot:D,th:{attrs:{colspan:null,rowspan:null,headers:null,scope:["row","col","rowgroup","colgroup"]}},thead:D,time:{attrs:{datetime:null}},title:D,tr:D,track:{attrs:{src:null,label:null,default:null,kind:["subtitles","captions","descriptions","chapters","metadata"],srclang:null}},ul:{children:["li","script","template","ul","ol"]},var:D,video:{attrs:{src:null,poster:null,width:null,height:null,crossorigin:["anonymous","use-credentials"],preload:["auto","metadata","none"],autoplay:["autoplay"],mediagroup:["movie"],muted:["muted"],controls:["controls"]}},wbr:D},Kp={accesskey:null,class:null,contenteditable:tt,contextmenu:null,dir:["ltr","rtl","auto"],draggable:["true","false","auto"],dropzone:["copy","move","link","string:","file:"],hidden:["hidden"],id:null,inert:["inert"],itemid:null,itemprop:null,itemref:null,itemscope:["itemscope"],itemtype:null,lang:["ar","bn","de","en-GB","en-US","es","fr","hi","id","ja","pa","pt","ru","tr","zh"],spellcheck:tt,autocorrect:tt,autocapitalize:tt,style:null,tabindex:null,title:null,translate:["yes","no"],rel:["stylesheet","alternate","author","bookmark","help","license","next","nofollow","noreferrer","prefetch","prev","search","tag"],role:"alert application article banner button cell checkbox complementary contentinfo dialog document feed figure form grid gridcell heading img list listbox listitem main navigation region row rowgroup search switch tab table tabpanel textbox timer".split(" "),"aria-activedescendant":null,"aria-atomic":tt,"aria-autocomplete":["inline","list","both","none"],"aria-busy":tt,"aria-checked":["true","false","mixed","undefined"],"aria-controls":null,"aria-describedby":null,"aria-disabled":tt,"aria-dropeffect":null,"aria-expanded":["true","false","undefined"],"aria-flowto":null,"aria-grabbed":["true","false","undefined"],"aria-haspopup":tt,"aria-hidden":tt,"aria-invalid":["true","false","grammar","spelling"],"aria-label":null,"aria-labelledby":null,"aria-level":null,"aria-live":["off","polite","assertive"],"aria-multiline":tt,"aria-multiselectable":tt,"aria-owns":null,"aria-posinset":null,"aria-pressed":["true","false","mixed","undefined"],"aria-readonly":tt,"aria-relevant":null,"aria-required":tt,"aria-selected":["true","false","undefined"],"aria-setsize":null,"aria-sort":["ascending","descending","none","other"],"aria-valuemax":null,"aria-valuemin":null,"aria-valuenow":null,"aria-valuetext":null},Jp="beforeunload copy cut dragstart dragover dragleave dragenter dragend drag paste focus blur change click load mousedown mouseenter mouseleave mouseup keydown keyup resize scroll unload".split(" ").map(i=>"on"+i);for(let i of Jp)Kp[i]=null;var Gi=class{constructor(e,t){this.tags={...y1,...e},this.globalAttrs={...Kp,...t},this.allTags=Object.keys(this.tags),this.globalAttrNames=Object.keys(this.globalAttrs)}};Gi.default=new Gi;function Tn(i,e,t=i.length){if(!e)return"";let n=e.firstChild,r=n&&n.getChild("TagName");return r?i.sliceString(r.from,Math.min(r.to,t)):""}function Cn(i,e=!1){for(;i;i=i.parent)if(i.name=="Element")if(e)e=!1;else return i;return null}function em(i,e,t){let n=t.tags[Tn(i,Cn(e))];return n?.children||t.allTags}function Lc(i,e){let t=[];for(let n=Cn(e);n&&!n.type.isTop;n=Cn(n.parent)){let r=Tn(i,n);if(r&&n.lastChild.name=="CloseTag")break;r&&t.indexOf(r)<0&&(e.name=="EndTag"||e.from>=n.firstChild.to)&&t.push(r)}return t}var tm=/^[:\-\.\w\u00b7-\uffff]*$/;function Np(i,e,t,n,r){let s=/\s*>/.test(i.sliceDoc(r,r+5))?"":">",o=Cn(t,t.name=="StartTag"||t.name=="TagName");return{from:n,to:r,options:em(i.doc,o,e).map(a=>({label:a,type:"type"})).concat(Lc(i.doc,t).map((a,l)=>({label:"/"+a,apply:"/"+a+s,type:"type",boost:99-l}))),validFor:/^\/?[:\-\.\w\u00b7-\uffff]*$/}}function Fp(i,e,t,n){let r=/\s*>/.test(i.sliceDoc(n,n+5))?"":">";return{from:t,to:n,options:Lc(i.doc,e).map((s,o)=>({label:s,apply:s+r,type:"type",boost:99-o})),validFor:tm}}function k1(i,e,t,n){let r=[],s=0;for(let o of em(i.doc,t,e))r.push({label:"<"+o,type:"type"});for(let o of Lc(i.doc,t))r.push({label:"",type:"type",boost:99-s++});return{from:n,to:n,options:r,validFor:/^<\/?[:\-\.\w\u00b7-\uffff]*$/}}function x1(i,e,t,n,r){let s=Cn(t),o=s?e.tags[Tn(i.doc,s)]:null,a=o&&o.attrs?Object.keys(o.attrs):[],l=o&&o.globalAttrs===!1?a:a.length?a.concat(e.globalAttrNames):e.globalAttrNames;return{from:n,to:r,options:l.map(c=>({label:c,type:"property"})),validFor:tm}}function w1(i,e,t,n,r){var s;let o=(s=t.parent)===null||s===void 0?void 0:s.getChild("AttributeName"),a=[],l;if(o){let c=i.sliceDoc(o.from,o.to),h=e.globalAttrs[c];if(!h){let f=Cn(t),u=f?e.tags[Tn(i.doc,f)]:null;h=u?.attrs&&u.attrs[c]}if(h){let f=i.sliceDoc(n,r).toLowerCase(),u='"',O='"';/^['"]/.test(f)?(l=f[0]=='"'?/^[^"]*$/:/^[^']*$/,u="",O=i.sliceDoc(r,r+1)==f[0]?"":f[0],f=f.slice(1),n++):l=/^[^\s<>='"]*$/;for(let m of h)a.push({label:m,apply:u+m+O,type:"constant"})}}return{from:n,to:r,options:a,validFor:l}}function im(i,e){let{state:t,pos:n}=e,r=U(t).resolveInner(n,-1),s=r.resolve(n);for(let o=n,a;s==r&&(a=r.childBefore(o));){let l=a.lastChild;if(!l||!l.type.isError||l.fromim(n,r)}var v1=Tt.parser.configure({top:"SingleExpression"}),rm=[{tag:"script",attrs:i=>i.type=="text/typescript"||i.lang=="ts",parser:Rc.parser},{tag:"script",attrs:i=>i.type=="text/babel"||i.type=="text/jsx",parser:Ac.parser},{tag:"script",attrs:i=>i.type=="text/typescript-jsx",parser:Zc.parser},{tag:"script",attrs(i){return/^(importmap|speculationrules|application\/(.+\+)?json)$/i.test(i.type)},parser:v1},{tag:"script",attrs(i){return!i.type||/^(?:text|application)\/(?:x-)?(?:java|ecma)script$|^module$|^$/i.test(i.type)},parser:Tt.parser},{tag:"style",attrs(i){return(!i.lang||i.lang=="css")&&(!i.type||/^(text\/)?(x-)?(stylesheet|css)$/i.test(i.type))},parser:vr.parser}],sm=[{name:"style",parser:vr.parser.configure({top:"Styles"})}].concat(Jp.map(i=>({name:i,parser:Tt.parser}))),om=Xe.define({name:"html",parser:xp.configure({props:[Pe.add({Element(i){let e=/^(\s*)(<\/)?/.exec(i.textAfter);return i.node.to<=i.pos+e[0].length?i.continue():i.lineIndent(i.node.from)+(e[2]?0:i.unit)},"OpenTag CloseTag SelfClosingTag"(i){return i.column(i.node.from)+i.unit},Document(i){if(i.pos+/\s*/.exec(i.textAfter)[0].lengthi.getChild("TagName")})]}),languageData:{commentTokens:{block:{open:""}},indentOnInput:/^\s*<\/\w+\W$/,wordChars:"-_"}}),ao=om.configure({wrap:Pc(rm,sm)});function lo(i={}){let e="",t;i.matchClosingTags===!1&&(e="noMatch"),i.selfClosingTags===!0&&(e=(e?e+" ":"")+"selfClosing"),(i.nestedLanguages&&i.nestedLanguages.length||i.nestedAttributes&&i.nestedAttributes.length)&&(t=Pc((i.nestedLanguages||[]).concat(rm),(i.nestedAttributes||[]).concat(sm)));let n=t?om.configure({wrap:t,dialect:e}):e?ao.configure({dialect:e}):ao;return new me(n,[ao.data.of({autocomplete:P1(i)}),i.autoCloseTags!==!1?$1:[],oo().support,so().support])}var Hp=new Set("area base br col command embed frame hr img input keygen link meta param source track wbr menuitem".split(" ")),$1=q.inputHandler.of((i,e,t,n,r)=>{if(i.composing||i.state.readOnly||e!=t||n!=">"&&n!="/"||!ao.isActiveAt(i.state,e,-1))return!1;let s=r(),{state:o}=s,a=o.changeByRange(l=>{var c,h,f;let u=o.doc.sliceString(l.from-1,l.to)==n,{head:O}=l,m=U(o).resolveInner(O,-1),p;if(u&&n==">"&&m.name=="EndTag"){let b=m.parent;if(((h=(c=b.parent)===null||c===void 0?void 0:c.lastChild)===null||h===void 0?void 0:h.name)!="CloseTag"&&(p=Tn(o.doc,b.parent,O))&&!Hp.has(p)){let g=O+(o.doc.sliceString(O,O+1)===">"?1:0),Q=``;return{range:l,changes:{from:O,to:g,insert:Q}}}}else if(u&&n=="/"&&m.name=="IncompleteCloseTag"){let b=m.parent;if(m.from==O-2&&((f=b.lastChild)===null||f===void 0?void 0:f.name)!="CloseTag"&&(p=Tn(o.doc,b,O))&&!Hp.has(p)){let g=O+(o.doc.sliceString(O,O+1)===">"?1:0),Q=`${p}>`;return{range:v.cursor(O+Q.length,-1),changes:{from:O,to:g,insert:Q}}}}return{range:l}});return a.changes.empty?!1:(i.dispatch([s,o.update(a,{userEvent:"input.complete",scrollIntoView:!0})]),!0)});var cm=xn({commentTokens:{block:{open:""}}}),hm=new I,fm=Ud.configure({props:[_e.add(i=>!i.is("Block")||i.is("Document")||jc(i)!=null||T1(i)?void 0:(e,t)=>({from:t.doc.lineAt(e.from).to,to:e.to})),hm.add(jc),Pe.add({Document:()=>null}),xt.add({Document:cm})]});function jc(i){let e=/^(?:ATX|Setext)Heading(\d)$/.exec(i.name);return e?+e[1]:void 0}function T1(i){return i.name=="OrderedList"||i.name=="BulletList"}function C1(i,e){let t=i;for(;;){let n=t.nextSibling,r;if(!n||(r=jc(n.type))!=null&&r<=e)break;t=n}return t.to}var X1=fO.of((i,e,t)=>{for(let n=U(i).resolveInner(t,-1);n&&!(n.fromt)return{from:t,to:s}}return null});function Vc(i){return new we(cm,i,[],"markdown")}var _1=Vc(fm),R1=fm.configure([Fd,Jd,Kd,ep,{props:[_e.add({Table:(i,e)=>({from:e.doc.lineAt(i.from).to,to:i.to})})]}]),xi=Vc(R1);function A1(i,e){return t=>{if(t&&i){let n=null;if(t=/\S*/.exec(t)[0],typeof i=="function"?n=i(t):n=Be.matchLanguageName(i,t,!0),n instanceof Be)return n.support?n.support.language.parser:ji.getSkippingParser(n.load());if(n)return n.parser}return e?e.parser:null}}var Cr=class{constructor(e,t,n,r,s,o,a){this.node=e,this.from=t,this.to=n,this.spaceBefore=r,this.spaceAfter=s,this.type=o,this.item=a}blank(e,t=!0){let n=this.spaceBefore+(this.node.name=="Blockquote"?">":"");if(e!=null){for(;n.length0;r--)n+=" ";return n+(t?this.spaceAfter:"")}}marker(e,t){let n=this.node.name=="OrderedList"?String(+Om(this.item,e)[2]+t):"";return this.spaceBefore+n+this.type+this.spaceAfter}};function um(i,e){let t=[],n=[];for(let r=i;r;r=r.parent){if(r.name=="FencedCode")return n;(r.name=="ListItem"||r.name=="Blockquote")&&t.push(r)}for(let r=t.length-1;r>=0;r--){let s=t[r],o,a=e.lineAt(s.from),l=s.from-a.from;if(s.name=="Blockquote"&&(o=/^ *>( ?)/.exec(a.text.slice(l))))n.push(new Cr(s,l,l+o[0].length,"",o[1],">",null));else if(s.name=="ListItem"&&s.parent.name=="OrderedList"&&(o=/^( *)\d+([.)])( *)/.exec(a.text.slice(l)))){let c=o[3],h=o[0].length;c.length>=4&&(c=c.slice(0,c.length-4),h-=4),n.push(new Cr(s.parent,l,l+h,o[1],c,o[2],s))}else if(s.name=="ListItem"&&s.parent.name=="BulletList"&&(o=/^( *)([-+*])( {1,4}\[[ xX]\])?( +)/.exec(a.text.slice(l)))){let c=o[4],h=o[0].length;c.length>4&&(c=c.slice(0,c.length-4),h-=4);let f=o[2];o[3]&&(f+=o[3].replace(/[xX]/," ")),n.push(new Cr(s.parent,l,l+h,o[1],c,f,s))}}return n}function Om(i,e){return/^(\s*)(\d+)(?=[.)])/.exec(e.sliceString(i.from,i.from+10))}function Mc(i,e,t,n=0){for(let r=-1,s=i;;){if(s.name=="ListItem"){let a=Om(s,e),l=+a[2];if(r>=0){if(l!=r+1)return;t.push({from:s.from+a[1].length,to:s.from+a[0].length,insert:String(r+2+n)})}r=l}let o=s.nextSibling;if(!o)break;s=o}}function Dc(i,e){let t=/^[ \t]*/.exec(i)[0].length;if(!t||e.facet(qt)!=" ")return i;let n=He(i,4,t),r="";for(let s=n;s>0;)s>=4?(r+=" ",s-=4):(r+=" ",s--);return r+i.slice(t)}var Yc=(i={})=>({state:e,dispatch:t})=>{let n=U(e),{doc:r}=e,s=null,o=e.changeByRange(a=>{if(!a.empty||!xi.isActiveAt(e,a.from,-1)&&!xi.isActiveAt(e,a.from,1))return s={range:a};let l=a.from,c=r.lineAt(l),h=um(n.resolveInner(l,-1),r);for(;h.length&&h[h.length-1].from>l-c.from;)h.pop();if(!h.length)return s={range:a};let f=h[h.length-1];if(f.to-f.spaceAfter.length>l-c.from)return s={range:a};let u=l>=f.to-f.spaceAfter.length&&!/\S/.test(c.text.slice(f.to));if(f.item&&u){let g=f.node.firstChild,Q=f.node.getChild("ListItem","ListItem");if(g.to>=l||Q&&Q.to0&&!/[^\s>]/.test(r.lineAt(c.from-1).text)||i.nonTightLists===!1){let S=h.length>1?h[h.length-2]:null,x,P="";S&&S.item?(x=c.from+S.from,P=S.marker(r,1)):x=c.from+(S?S.to:0);let $=[{from:x,to:l,insert:P}];return f.node.name=="OrderedList"&&Mc(f.item,r,$,-2),S&&S.node.name=="OrderedList"&&Mc(S.item,r,$),{range:v.cursor(x+P.length),changes:$}}else{let S=lm(h,e,c);return{range:v.cursor(l+S.length+1),changes:{from:c.from,insert:S+e.lineBreak}}}}if(f.node.name=="Blockquote"&&u&&c.from){let g=r.lineAt(c.from-1),Q=/>\s*$/.exec(g.text);if(Q&&Q.index==f.from){let S=e.changes([{from:g.from+Q.index,to:g.to},{from:c.from+f.from,to:c.to}]);return{range:a.map(S),changes:S}}}let O=[];f.node.name=="OrderedList"&&Mc(f.item,r,O);let m=f.item&&f.item.from]*/.exec(c.text)[0].length>=f.to)for(let g=0,Q=h.length-1;g<=Q;g++)p+=g==Q&&!m?h[g].marker(r,1):h[g].blank(gc.from&&/\s/.test(c.text.charAt(b-c.from-1));)b--;return p=Dc(p,e),E1(f.node,e.doc)&&(p=lm(h,e,c)+e.lineBreak+p),O.push({from:b,to:l,insert:e.lineBreak+p}),{range:v.cursor(b+p.length+1),changes:O}});return s?!1:(t(e.update(o,{scrollIntoView:!0,userEvent:"input"})),!0)},Z1=Yc();function am(i){return i.name=="QuoteMark"||i.name=="ListMark"}function E1(i,e){if(i.name!="OrderedList"&&i.name!="BulletList")return!1;let t=i.firstChild,n=i.getChild("ListItem","ListItem");if(!n)return!1;let r=e.lineAt(t.to),s=e.lineAt(n.from),o=/^[\s>]*$/.test(r.text);return r.number+(o?0:1){let t=U(i),n=null,r=i.changeByRange(s=>{let o=s.from,{doc:a}=i;if(s.empty&&xi.isActiveAt(i,s.from)){let l=a.lineAt(o),c=um(q1(t,o),a);if(c.length){let h=c[c.length-1],f=h.to-h.spaceAfter.length+(h.spaceAfter?1:0);if(o-l.from>f&&!/\S/.test(l.text.slice(f,o-l.from)))return{range:v.cursor(l.from+f),changes:{from:l.from+f,to:o}};if(o-l.from==f&&(!h.item||l.from<=h.item.from||!/\S/.test(l.text.slice(0,h.to)))){let u=l.from+h.from;if(h.item&&h.node.from{var t;let{main:n}=e.state.selection;if(n.empty)return!1;let r=(t=i.clipboardData)===null||t===void 0?void 0:t.getData("text/plain");if(!r||!/^(https?:\/\/|mailto:|xmpp:|www\.)/.test(r)||(/^www\./.test(r)&&(r="https://"+r),!xi.isActiveAt(e.state,n.from,1)))return!1;let s=U(e.state),o=!1;return s.iterate({from:n.from,to:n.to,enter:a=>{(a.from>n.from||W1.test(a.name))&&(o=!0)},leave:a=>{a.to{if(i.next==-1&&e.canShift(pm))return i.acceptToken(pm);let t=i.peek(-1);if((Kt(t)||t<0)&&e.context.type!=_r){if(_n(i,45))if(e.canShift(Xn))i.acceptToken(Xn);else return i.acceptToken(V1,3);if(_n(i,46))if(e.canShift(Xn))i.acceptToken(Xn);else return i.acceptToken(D1,3);let n=0;for(;i.next==32;)n++,i.advance();(n{if(e.context.type==_r){i.next==63&&(i.advance(),Ni(i.next)&&i.acceptToken(B1));return}if(i.next==45)i.advance(),Ni(i.next)&&i.acceptToken(e.context.type==Kc&&e.context.depth==Xr(i,i.pos-1)?Y1:Qm);else if(i.next==63)i.advance(),Ni(i.next)&&i.acceptToken(e.context.type==Gc&&e.context.depth==Xr(i,i.pos-1)?I1:bm);else{let t=i.pos;for(;;)if(Fc(i.next)){if(i.pos==t)return;i.advance()}else if(i.next==33)xm(i);else if(i.next==38)Hc(i);else if(i.next==42){Hc(i);break}else if(i.next==39||i.next==34){if(Jc(i,!0))break;return}else if(i.next==91||i.next==123){if(!hx(i))return;break}else{wm(i,!0,!1,0);break}for(;Fc(i.next);)i.advance();if(i.next==58){if(i.pos==t&&e.canShift(tx))return;let n=i.peek(1);Ni(n)&&i.acceptTokenTo(e.context.type==Gc&&e.context.depth==Xr(i,t)?U1:Sm,t)}}},{contextual:!0});function cx(i){return i>32&&i<127&&i!=34&&i!=37&&i!=44&&i!=60&&i!=62&&i!=92&&i!=94&&i!=96&&i!=123&&i!=124&&i!=125}function mm(i){return i>=48&&i<=57||i>=97&&i<=102||i>=65&&i<=70}function gm(i,e){return i.next==37?(i.advance(),mm(i.next)&&i.advance(),mm(i.next)&&i.advance(),!0):cx(i.next)||e&&i.next==44?(i.advance(),!0):!1}function xm(i){if(i.advance(),i.next==60){for(i.advance();;)if(!gm(i,!0)){i.next==62&&i.advance();break}}else for(;gm(i,!1););}function Hc(i){for(i.advance();!Ni(i.next)&&co(i.next)!="f";)i.advance()}function Jc(i,e){let t=i.next,n=!1,r=i.pos;for(i.advance();;){let s=i.next;if(s<0)break;if(i.advance(),s==t)if(s==39)if(i.next==39)i.advance();else break;else break;else if(s==92&&t==34)i.next>=0&&i.advance();else if(Kt(s)){if(e)return!1;n=!0}else if(e&&i.pos>=r+1024)return!1}return!n}function hx(i){for(let e=[],t=i.pos+1024;;)if(i.next==91||i.next==123)e.push(i.next),i.advance();else if(i.next==39||i.next==34){if(!Jc(i,!0))return!1}else if(i.next==93||i.next==125){if(e[e.length-1]!=i.next-2)return!1;if(e.pop(),i.advance(),!e.length)return!0}else{if(i.next<0||i.pos>t||Kt(i.next))return!1;i.advance()}}var fx="iiisiiissisfissssssssssssisssiiissssssssssssssssssssssssssfsfssissssssssssssssssssssssssssfif";function co(i){return i<33?"u":i>125?"s":fx[i-33]}function Uc(i,e){let t=co(i);return t!="u"&&!(e&&t=="f")}function wm(i,e,t,n){if(co(i.next)=="s"||(i.next==63||i.next==58||i.next==45)&&Uc(i.peek(1),t))i.advance();else return!1;let r=i.pos;for(;;){let s=i.next,o=0,a=n+1;for(;km(s);){if(Kt(s)){if(e)return!1;a=0}else a++;s=i.peek(++o)}if(!(s>=0&&(s==58?Uc(i.peek(o+1),t):s==35?i.peek(o-1)!=32:Uc(s,t)))||!t&&a<=n||a==0&&!t&&(_n(i,45,o)||_n(i,46,o)))break;if(e&&co(s)=="f")return!1;for(let c=o;c>=0;c--)i.advance();if(e&&i.pos>r+1024)return!1}return!0}var ux=new ee((i,e)=>{if(i.next==33)xm(i),i.acceptToken(K1);else if(i.next==38||i.next==42){let t=i.next==38?F1:H1;Hc(i),i.acceptToken(t)}else i.next==39||i.next==34?(Jc(i,!1),i.acceptToken(N1)):wm(i,!1,e.context.type==_r,e.context.depth)&&i.acceptToken(G1)}),Ox=new ee((i,e)=>{let t=e.context.type==Nc?e.context.depth:-1,n=i.pos;e:for(;;){let r=0,s=i.next;for(;s==32;)s=i.peek(++r);if(!r&&(_n(i,45,r)||_n(i,46,r))||!Kt(s)&&(t<0&&(t=Math.max(e.context.depth+1,r)),rYAN>Y",stateData:";S~O!fOS!gOS^OS~OP_OQbORSOTUOWROXROYYOZZO[XOcPOqQO!PVO!V[O!cTO~O`cO~P]OVkOWROXROYeOZfO[dOcPOmhOqQO~OboO~P!bOVtOWROXROYeOZfO[dOcPOmrOqQO~OpwO~P#WORSOTUOWROXROYYOZZO[XOcPOqQO!PVO!cTO~OSvP!avP!bvP~P#|OWROXROYeOZfO[dOcPOqQO~OmzO~P%OOm!OOUzP!azP!bzP!dzP~P#|O^!SO!b!QO!f!TO!g!RO~ORSOTUOWROXROcPOqQO!PVO!cTO~OY!UOP!QXQ!QX!V!QX!`!QXS!QX!a!QX!b!QXU!QXm!QX!d!QX~P&aO[!WOP!SXQ!SX!V!SX!`!SXS!SX!a!SX!b!SXU!SXm!SX!d!SX~P&aO^!ZO!W![O!b!YO!f!]O!g!YO~OP!_O!V[OQaX!`aX~OPaXQaX!VaX!`aX~P#|OP!bOQ!cO!V[O~OP_O!V[O~P#|OWROXROY!fOcPOqQObfXmfXofXpfX~OWROXRO[!hOcPOqQObhXmhXohXphX~ObeXmlXoeX~ObkXokX~P%OOm!kO~Om!lObnPonP~P%OOb!pOo!oO~Ob!pO~P!bOm!sOosXpsX~OosXpsX~P%OOm!uOotPptP~P%OOo!xOp!yO~Op!yO~P#WOS!|O!a#OO!b#OO~OUyX!ayX!byX!dyX~P#|Om#QO~OU#SO!a#UO!b#UO!d#RO~Om#WOUzX!azX!bzX!dzX~O]#XO~O!b#XO!g#YO~O^#ZO!b#XO!g#YO~OP!RXQ!RX!V!RX!`!RXS!RX!a!RX!b!RXU!RXm!RX!d!RX~P&aOP!TXQ!TX!V!TX!`!TXS!TX!a!TX!b!TXU!TXm!TX!d!TX~P&aO!b#^O!g#^O~O^#_O!b#^O!f#`O!g#^O~O^#_O!W#aO!b#^O!g#^O~OPaaQaa!Vaa!`aa~P#|OP#cO!V[OQ!XX!`!XX~OP!XXQ!XX!V!XX!`!XX~P#|OP_O!V[OQ!_X!`!_X~P#|OWROXROcPOqQObgXmgXogXpgX~OWROXROcPOqQObiXmiXoiXpiX~Obkaoka~P%OObnXonX~P%OOm#kO~Ob#lOo!oO~Oosapsa~P%OOotXptX~P%OOm#pO~Oo!xOp#qO~OSwP!awP!bwP~P#|OS!|O!a#vO!b#vO~OUya!aya!bya!dya~P#|Om#xO~P%OOm#{OU}P!a}P!b}P!d}P~P#|OU#SO!a$OO!b$OO!d#RO~O]$QO~O!b$QO!g$RO~O!b$SO!g$SO~O^$TO!b$SO!g$SO~O^$TO!b$SO!f$UO!g$SO~OP!XaQ!Xa!V!Xa!`!Xa~P#|Obnaona~P%OOotapta~P%OOo!xO~OU|X!a|X!b|X!d|X~P#|Om$ZO~Om$]OU}X!a}X!b}X!d}X~O]$^O~O!b$_O!g$_O~O^$`O!b$_O!g$_O~OU|a!a|a!b|a!d|a~P#|O!b$cO!g$cO~O",goto:",]!mPPPPPPPPPPPPPPPPP!nPP!v#v#|$`#|$c$f$j$nP%VPPP!v%Y%^%a%{&O%a&R&U&X&_&b%aP&e&{&e'O'RPP']'a'g'm's'y(XPPPPPPPP(_)e*X+c,VUaObcR#e!c!{ROPQSTUXY_bcdehknrtvz!O!U!W!_!b!c!f!h!k!l!s!u!|#Q#R#S#W#c#k#p#x#{$Z$]QmPR!qnqfPQThknrtv!k!l!s!u#R#k#pR!gdR!ieTlPnTjPnSiPnSqQvQ{TQ!mkQ!trQ!vtR#y#RR!nkTsQvR!wt!RWOSUXY_bcz!O!U!W!_!b!c!|#Q#S#W#c#x#{$Z$]RySR#t!|R|TR|UQ!PUR#|#SR#z#RR#z#SyZOSU_bcz!O!_!b!c!|#Q#S#W#c#x#{$Z$]R!VXR!XYa]O^abc!a!c!eT!da!eQnPR!rnQvQR!{vQ!}yR#u!}Q#T|R#}#TW^Obc!cS!^^!aT!aa!eQ!eaR#f!eW`Obc!cQxSS}U#SQ!`_Q#PzQ#V!OQ#b!_Q#d!bQ#s!|Q#w#QQ$P#WQ$V#cQ$Y#xQ$[#{Q$a$ZR$b$]xZOSU_bcz!O!_!b!c!|#Q#S#W#c#x#{$Z$]Q!VXQ!XYQ#[!UR#]!W!QWOSUXY_bcz!O!U!W!_!b!c!|#Q#S#W#c#x#{$Z$]pfPQThknrtv!k!l!s!u#R#k#pQ!gdQ!ieQ#g!fR#h!hSgPn^pQTkrtv#RQ!jhQ#i!kQ#j!lQ#n!sQ#o!uQ$W#kR$X#pQuQR!zv",nodeNames:"\u26A0 DirectiveEnd DocEnd - - ? ? ? Literal QuotedLiteral Anchor Alias Tag BlockLiteralContent Comment Stream BOM Document ] [ FlowSequence Item Tagged Anchored Anchored Tagged FlowMapping Pair Key : Pair , } { FlowMapping Pair Pair BlockSequence Item Item BlockMapping Pair Pair Key Pair Pair BlockLiteral BlockLiteralHeader Tagged Anchored Anchored Tagged Directive DirectiveName DirectiveContent Document",maxTerm:74,context:ox,nodeProps:[["isolate",-3,8,9,14,""],["openedBy",18,"[",32,"{"],["closedBy",19,"]",33,"}"]],propSources:[dx],skippedNodes:[0],repeatNodeCount:6,tokenData:"-Y~RnOX#PXY$QYZ$]Z]#P]^$]^p#Ppq$Qqs#Pst$btu#Puv$yv|#P|}&e}![#P![!]'O!]!`#P!`!a'i!a!}#P!}#O*g#O#P#P#P#Q+Q#Q#o#P#o#p+k#p#q'i#q#r,U#r;'S#P;'S;=`#z<%l?HT#P?HT?HU,o?HUO#PQ#UU!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PQ#kTOY#PZs#Pt;'S#P;'S;=`#z<%lO#PQ#}P;=`<%l#P~$VQ!f~XY$Qpq$Q~$bO!g~~$gS^~OY$bZ;'S$b;'S;=`$s<%lO$b~$vP;=`<%l$bR%OX!WQOX%kXY#PZ]%k]^#P^p%kpq#hq;'S%k;'S;=`&_<%lO%kR%rX!WQ!VPOX%kXY#PZ]%k]^#P^p%kpq#hq;'S%k;'S;=`&_<%lO%kR&bP;=`<%l%kR&lUoP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR'VUmP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR'p[!PP!WQOY#PZp#Ppq#hq{#P{|(f|}#P}!O(f!O!R#P!R![)p![;'S#P;'S;=`#z<%lO#PR(mW!PP!WQOY#PZp#Ppq#hq!R#P!R![)V![;'S#P;'S;=`#z<%lO#PR)^U!PP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR)wY!PP!WQOY#PZp#Ppq#hq{#P{|)V|}#P}!O)V!O;'S#P;'S;=`#z<%lO#PR*nUcP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR+XUbP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR+rUqP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR,]UpP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR,vU`P!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#P",tokenizers:[ax,lx,ux,Ox,0,1],topRules:{Stream:[0,15]},tokenPrec:0});var px=ve.deserialize({version:14,states:"!vOQOPOOO]OPO'#C_OhOPO'#C^OOOO'#Cc'#CcOpOPO'#CaQOOOOOO{OPOOOOOO'#Cb'#CbO!WOPO'#C`O!`OPO,58xOOOO-E6a-E6aOOOO-E6`-E6`OOOO'#C_'#C_OOOO1G.d1G.d",stateData:"!h~OXPOYROWTP~OWVXXRXYRX~OYVOXSP~OXROYROWTX~OXROYROWTP~OYVOXSX~OX[O~OXY~",goto:"vWPPX[beioRUOQQOR]XRXQTTOUQWQRZWSSOURYS",nodeNames:"\u26A0 Document Frontmatter DashLine FrontmatterContent Body",maxTerm:10,skippedNodes:[0],repeatNodeCount:2,tokenData:"$z~RXOYnYZ!^Z]n]^!^^}n}!O!i!O;'Sn;'S;=`!c<%lOn~qXOYnYZ!^Z]n]^!^^;'Sn;'S;=`!c<%l~n~On~~!^~!cOY~~!fP;=`<%ln~!lZOYnYZ!^Z]n]^!^^}n}!O#_!O;'Sn;'S;=`!c<%l~n~On~~!^~#bZOYnYZ!^Z]n]^!^^}n}!O$T!O;'Sn;'S;=`!c<%l~n~On~~!^~$WXOYnYZ$sZ]n]^$s^;'Sn;'S;=`!c<%l~n~On~~$s~$zOX~Y~",tokenizers:[0],topRules:{Document:[0,1]},tokenPrec:67}),mx=Xe.define({name:"yaml",parser:Pm.configure({props:[Pe.add({Stream:i=>{for(let e=i.node.resolve(i.pos,-1);e&&e.to>=i.pos;e=e.parent){if(e.name=="BlockLiteralContent"&&e.fromi.pos)return null}}return null},FlowMapping:wt({closing:"}"}),FlowSequence:wt({closing:"]"})}),_e.add({"FlowMapping FlowSequence":Ot,"Item Pair BlockLiteral":(i,e)=>({from:e.doc.lineAt(i.from).to,to:i.to})})]}),languageData:{commentTokens:{line:"#"},indentOnInput:/^\s*[\]\}]$/}});var gx=Xe.define({name:"yaml-frontmatter",parser:px.configure({props:[Qe({DashLine:d.meta})]})});function vm(i){let{language:e,support:t}=i.content instanceof me?i.content:{language:i.content,support:[]};return new me(gx.configure({wrap:Sn(n=>n.name=="FrontmatterContent"?{parser:mx.parser}:n.name=="Body"?{parser:e.parser}:null)}),t)}var Qx=1,Rm=194,Am=195,bx=196,$m=197,Sx=198,yx=199,kx=200,xx=2,Zm=3,Tm=201,wx=24,Px=25,vx=49,$x=50,Tx=55,Cx=56,Xx=57,_x=59,Rx=60,Ax=61,Zx=62,Ex=63,qx=65,zx=238,Lx=71,Mx=241,Wx=242,jx=243,Vx=244,Dx=245,Yx=246,Ix=247,Bx=248,Em=72,Ux=249,Gx=250,Nx=251,Fx=252,Hx=253,Kx=254,Jx=255,ew=256,tw=73,iw=77,nw=263,rw=112,sw=130,ow=151,aw=152,lw=155,Fi=10,Rr=13,nh=32,uo=9,rh=35,cw=40,hw=46,ih=123,Cm=125,qm=39,zm=34,Xm=92,fw=111,uw=120,Ow=78,dw=117,pw=85,mw=new Set([Px,vx,$x,nw,qx,sw,Cx,Xx,zx,Zx,Ex,Em,tw,iw,Rx,Ax,ow,aw,lw,rw]);function eh(i){return i==Fi||i==Rr}function th(i){return i>=48&&i<=57||i>=65&&i<=70||i>=97&&i<=102}var gw=new ee((i,e)=>{let t;if(i.next<0)i.acceptToken(yx);else if(e.context.flags&ho)eh(i.next)&&i.acceptToken(Sx,1);else if(((t=i.peek(-1))<0||eh(t))&&e.canShift($m)){let n=0;for(;i.next==nh||i.next==uo;)i.advance(),n++;(i.next==Fi||i.next==Rr||i.next==rh)&&i.acceptToken($m,-n)}else eh(i.next)&&i.acceptToken(bx,1)},{contextual:!0}),Qw=new ee((i,e)=>{let t=e.context;if(t.flags)return;let n=i.peek(-1);if(n==Fi||n==Rr){let r=0,s=0;for(;;){if(i.next==nh)r++;else if(i.next==uo)r+=8-r%8;else break;i.advance(),s++}r!=t.indent&&i.next!=Fi&&i.next!=Rr&&i.next!=rh&&(r[i,e|Lm])),yw=new gt({start:bw,reduce(i,e,t,n){return i.flags&ho&&mw.has(e)||(e==Lx||e==Em)&&i.flags&Lm?i.parent:i},shift(i,e,t,n){return e==Rm?new fo(i,Sw(n.read(n.pos,t.pos)),0):e==Am?i.parent:e==wx||e==Tx||e==_x||e==Zm?new fo(i,0,ho):_m.has(e)?new fo(i,0,_m.get(e)|i.flags&ho):i},hash(i){return i.hash}}),kw=new ee(i=>{for(let e=0;e<5;e++){if(i.next!="print".charCodeAt(e))return;i.advance()}if(!/\w/.test(String.fromCharCode(i.next)))for(let e=0;;e++){let t=i.peek(e);if(!(t==nh||t==uo)){t!=cw&&t!=hw&&t!=Fi&&t!=Rr&&t!=rh&&i.acceptToken(Qx);return}}}),xw=new ee((i,e)=>{let{flags:t}=e.context,n=t&Jt?zm:qm,r=(t&ei)>0,s=!(t&ti),o=(t&ii)>0,a=i.pos;for(;!(i.next<0);)if(o&&i.next==ih)if(i.peek(1)==ih)i.advance(2);else{if(i.pos==a){i.acceptToken(Zm,1);return}break}else if(s&&i.next==Xm){if(i.pos==a){i.advance();let l=i.next;l>=0&&(i.advance(),ww(i,l)),i.acceptToken(xx);return}break}else if(i.next==Xm&&!s&&i.peek(1)>-1)i.advance(2);else if(i.next==n&&(!r||i.peek(1)==n&&i.peek(2)==n)){if(i.pos==a){i.acceptToken(Tm,r?3:1);return}break}else if(i.next==Fi){if(r)i.advance();else if(i.pos==a){i.acceptToken(Tm);return}break}else i.advance();i.pos>a&&i.acceptToken(kx)});function ww(i,e){if(e==fw)for(let t=0;t<2&&i.next>=48&&i.next<=55;t++)i.advance();else if(e==uw)for(let t=0;t<2&&th(i.next);t++)i.advance();else if(e==dw)for(let t=0;t<4&&th(i.next);t++)i.advance();else if(e==pw)for(let t=0;t<8&&th(i.next);t++)i.advance();else if(e==Ow&&i.next==ih){for(i.advance();i.next>=0&&i.next!=Cm&&i.next!=qm&&i.next!=zm&&i.next!=Fi;)i.advance();i.next==Cm&&i.advance()}}var Pw=Qe({'async "*" "**" FormatConversion FormatSpec':d.modifier,"for while if elif else try except finally return raise break continue with pass assert await yield match case":d.controlKeyword,"in not and or is del":d.operatorKeyword,"from def class global nonlocal lambda":d.definitionKeyword,import:d.moduleKeyword,"with as print":d.keyword,Boolean:d.bool,None:d.null,VariableName:d.variableName,"CallExpression/VariableName":d.function(d.variableName),"FunctionDefinition/VariableName":d.function(d.definition(d.variableName)),"ClassDefinition/VariableName":d.definition(d.className),PropertyName:d.propertyName,"CallExpression/MemberExpression/PropertyName":d.function(d.propertyName),Comment:d.lineComment,Number:d.number,String:d.string,FormatString:d.special(d.string),Escape:d.escape,UpdateOp:d.updateOperator,"ArithOp!":d.arithmeticOperator,BitOp:d.bitwiseOperator,CompareOp:d.compareOperator,AssignOp:d.definitionOperator,Ellipsis:d.punctuation,At:d.meta,"( )":d.paren,"[ ]":d.squareBracket,"{ }":d.brace,".":d.derefOperator,", ;":d.separator}),vw={__proto__:null,await:44,or:54,and:56,in:60,not:62,is:64,if:70,else:72,lambda:76,yield:94,from:96,async:102,for:104,None:162,True:164,False:164,del:178,pass:182,break:186,continue:190,return:194,raise:202,import:206,as:208,global:212,nonlocal:214,assert:218,type:223,elif:236,while:240,try:246,except:248,finally:250,with:254,def:258,class:268,match:279,case:285},Mm=ve.deserialize({version:14,states:"##jQ`QeOOP$}OSOOO&WQtO'#HUOOQS'#Co'#CoOOQS'#Cp'#CpO'vQdO'#CnO*UQtO'#HTOOQS'#HU'#HUOOQS'#DU'#DUOOQS'#HT'#HTO*rQdO'#D_O+VQdO'#DfO+gQdO'#DjO+zOWO'#DuO,VOWO'#DvO.[QtO'#GuOOQS'#Gu'#GuO'vQdO'#GtO0ZQtO'#GtOOQS'#Eb'#EbO0rQdO'#EcOOQS'#Gs'#GsO0|QdO'#GrOOQV'#Gr'#GrO1XQdO'#FYOOQS'#G^'#G^O1^QdO'#FXOOQV'#IS'#ISOOQV'#Gq'#GqOOQV'#Fq'#FqQ`QeOOO'vQdO'#CqO1lQdO'#C}O1sQdO'#DRO2RQdO'#HYO2cQtO'#EVO'vQdO'#EWOOQS'#EY'#EYOOQS'#E['#E[OOQS'#E^'#E^O2wQdO'#E`O3_QdO'#EdO3rQdO'#EfO3zQtO'#EfO1XQdO'#EiO0rQdO'#ElO1XQdO'#EnO0rQdO'#EtO0rQdO'#EwO4VQdO'#EyO4^QdO'#FOO4iQdO'#EzO0rQdO'#FOO1XQdO'#FQO1XQdO'#FVO4nQdO'#F[P4uOdO'#GpPOOO)CBd)CBdOOQS'#Ce'#CeOOQS'#Cf'#CfOOQS'#Cg'#CgOOQS'#Ch'#ChOOQS'#Ci'#CiOOQS'#Cj'#CjOOQS'#Cl'#ClO'vQdO,59OO'vQdO,59OO'vQdO,59OO'vQdO,59OO'vQdO,59OO'vQdO,59OO5TQdO'#DoOOQS,5:Y,5:YO5hQdO'#HdOOQS,5:],5:]O5uQ!fO,5:]O5zQtO,59YO1lQdO,59bO1lQdO,59bO1lQdO,59bO8jQdO,59bO8oQdO,59bO8vQdO,59jO8}QdO'#HTO:TQdO'#HSOOQS'#HS'#HSOOQS'#D['#D[O:lQdO,59aO'vQdO,59aO:zQdO,59aOOQS,59y,59yO;PQdO,5:RO'vQdO,5:ROOQS,5:Q,5:QO;_QdO,5:QO;dQdO,5:XO'vQdO,5:XO'vQdO,5:VOOQS,5:U,5:UO;uQdO,5:UO;zQdO,5:WOOOW'#Fy'#FyOOOOQS'#Ds'#DsOOQS1G/w1G/wOOQS1G.|1G.|O!/[QtO1G.|O!/cQtO1G.|O1lQdO1G.|O!0OQdO1G/UOOQS'#DZ'#DZO0rQdO,59tOOQS1G.{1G.{O!0VQdO1G/eO!0gQdO1G/eO!0oQdO1G/fO'vQdO'#H[O!0tQdO'#H[O!0yQtO1G.{O!1ZQdO,59iO!2aQdO,5=zO!2qQdO,5=zO!2yQdO1G/mO!3OQtO1G/mOOQS1G/l1G/lO!3`QdO,5=uO!4VQdO,5=uO0rQdO1G/qO!4tQdO1G/sO!4yQtO1G/sO!5ZQtO1G/qOOQS1G/p1G/pOOQS1G/r1G/rOOOW-E9w-E9wOOQS1G/{1G/{O!5kQdO'#HxO0rQdO'#HxO!5|QdO,5>cOOOW-E9x-E9xOOQS1G/|1G/|OOQS-E9{-E9{O!6[Q#xO1G2zO!6{QtO1G2zO'vQdO,5kOOQS1G1`1G1`O!8RQdO1G1`OOQS'#DV'#DVO0rQdO,5=qOOQS,5=q,5=qO!8WQdO'#FrO!8cQdO,59oO!8kQdO1G/XO!8uQtO,5=uOOQS1G3`1G3`OOQS,5:m,5:mO!9fQdO'#GtOOQS,5jO!;ZQdO,5>jO1XQdO,5>jO!;lQdO,5>iOOQS-E:R-E:RO!;qQdO1G0lO!;|QdO1G0lO!lO!lO!hO!=VQdO,5>hO!=hQdO'#EpO0rQdO1G0tO!=sQdO1G0tO!=xQgO1G0zO!AvQgO1G0}O!EqQdO,5>oO!E{QdO,5>oO!FTQtO,5>oO0rQdO1G1PO!F_QdO1G1PO4iQdO1G1UO!!vQdO1G1WOOQV,5;a,5;aO!FdQfO,5;aO!FiQgO1G1QO!JjQdO'#GZO4iQdO1G1QO4iQdO1G1QO!JzQdO,5>pO!KXQdO,5>pO1XQdO,5>pOOQV1G1U1G1UO!KaQdO'#FSO!KrQ!fO1G1WO!KzQdO1G1WOOQV1G1]1G1]O4iQdO1G1]O!LPQdO1G1]O!LXQdO'#F^OOQV1G1b1G1bO!#ZQtO1G1bPOOO1G2v1G2vP!L^OSO1G2vOOQS,5=},5=}OOQS'#Dp'#DpO0rQdO,5=}O!LfQdO,5=|O!LyQdO,5=|OOQS1G/u1G/uO!MRQdO,5>PO!McQdO,5>PO!MkQdO,5>PO!NOQdO,5>PO!N`QdO,5>POOQS1G3j1G3jOOQS7+$h7+$hO!8kQdO7+$pO#!RQdO1G.|O#!YQdO1G.|OOQS1G/`1G/`OOQS,5<`,5<`O'vQdO,5<`OOQS7+%P7+%PO#!aQdO7+%POOQS-E9r-E9rOOQS7+%Q7+%QO#!qQdO,5=vO'vQdO,5=vOOQS7+$g7+$gO#!vQdO7+%PO##OQdO7+%QO##TQdO1G3fOOQS7+%X7+%XO##eQdO1G3fO##mQdO7+%XOOQS,5<_,5<_O'vQdO,5<_O##rQdO1G3aOOQS-E9q-E9qO#$iQdO7+%]OOQS7+%_7+%_O#$wQdO1G3aO#%fQdO7+%_O#%kQdO1G3gO#%{QdO1G3gO#&TQdO7+%]O#&YQdO,5>dO#&sQdO,5>dO#&sQdO,5>dOOQS'#Dx'#DxO#'UO&jO'#DzO#'aO`O'#HyOOOW1G3}1G3}O#'fQdO1G3}O#'nQdO1G3}O#'yQ#xO7+(fO#(jQtO1G2UP#)TQdO'#GOOOQS,5nQdO,5sQdO1G4OOOQS-E9y-E9yO#?^QdO1G4OO<[QdO'#H{OOOO'#D{'#D{OOOO'#F|'#F|O#?oO&jO,5:fOOOW,5>e,5>eOOOW7+)i7+)iO#?zQdO7+)iO#@SQdO1G2zO#@mQdO1G2zP'vQdO'#FuO0rQdO<mO#BQQdO,5>mOOQS1G0v1G0vOOQS<rO#KgQdO,5>rO#KrQdO,5>rO#K}QdO,5>qO#L`QdO,5>qOOQS1G1Y1G1YOOQS,5;p,5;pOOQV<VAN>VO$ oQdO<cAN>cO0rQdO1G1|O$!PQtO1G1|P$!ZQdO'#FvOOQS1G2R1G2RP$!hQdO'#F{O$!uQdO7+)jO$#`QdO,5>gOOOO-E9z-E9zOOOW<tO$4{QdO,5>tO1XQdO,5vO$)nQdO,5>vOOQS1G1p1G1pOOQS,5<[,5<[OOQU7+'P7+'PO$+zQdO1G/iO$)nQdO,5wO$8zQdO,5>wOOQS1G1s1G1sOOQS7+'S7+'SP$)nQdO'#GdO$9SQdO1G4bO$9^QdO1G4bO$9fQdO1G4bOOQS7+%T7+%TO$9tQdO1G1tO$:SQtO'#FaO$:ZQdO,5<}OOQS,5<},5<}O$:iQdO1G4cOOQS-E:a-E:aO$)nQdO,5<|O$:pQdO,5<|O$:uQdO7+)|OOQS-E:`-E:`O$;PQdO7+)|O$)nQdO,5S~O%cOS%^OSSOS%]PQ~OPdOVaOfoOhYOopOs!POvqO!PrO!Q{O!T!SO!U!RO!XZO!][O!h`O!r`O!s`O!t`O!{tO!}uO#PvO#RwO#TxO#XyO#ZzO#^|O#_|O#a}O#c!OO#l!QO#o!TO#s!UO#u!VO#z!WO#}hO$P!XO%oRO%pRO%tSO%uWO&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O&c^O&d^O&e^O&f^O&g^O&h^O&i^O&j^O~O%]!YO~OV!aO_!aOa!bOh!iO!X!kO!f!mO%j![O%k!]O%l!^O%m!_O%n!_O%o!`O%p!`O%q!aO%r!aO%s!aO~Ok%xXl%xXm%xXn%xXo%xXp%xXs%xXz%xX{%xX!x%xX#g%xX%[%xX%_%xX%z%xXg%xX!T%xX!U%xX%{%xX!W%xX![%xX!Q%xX#[%xXt%xX!m%xX~P%SOfoOhYO!XZO!][O!h`O!r`O!s`O!t`O%oRO%pRO%tSO%uWO&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O&c^O&d^O&e^O&f^O&g^O&h^O&i^O&j^O~Oz%wX{%wX#g%wX%[%wX%_%wX%z%wX~Ok!pOl!qOm!oOn!oOo!rOp!sOs!tO!x%wX~P)pOV!zOg!|Oo0cOv0qO!PrO~P'vOV#OOo0cOv0qO!W#PO~P'vOV#SOa#TOo0cOv0qO![#UO~P'vOQ#XO%`#XO%a#ZO~OQ#^OR#[O%`#^O%a#`O~OV%iX_%iXa%iXh%iXk%iXl%iXm%iXn%iXo%iXp%iXs%iXz%iX!X%iX!f%iX%j%iX%k%iX%l%iX%m%iX%n%iX%o%iX%p%iX%q%iX%r%iX%s%iXg%iX!T%iX!U%iX~O&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O&c^O&d^O&e^O&f^O&g^O&h^O&i^O&j^O{%iX!x%iX#g%iX%[%iX%_%iX%z%iX%{%iX!W%iX![%iX!Q%iX#[%iXt%iX!m%iX~P,eOz#dO{%hX!x%hX#g%hX%[%hX%_%hX%z%hX~Oo0cOv0qO~P'vO#g#gO%[#iO%_#iO~O%uWO~O!T#nO#u!VO#z!WO#}hO~OopO~P'vOV#sOa#tO%uWO{wP~OV#xOo0cOv0qO!Q#yO~P'vO{#{O!x$QO%z#|O#g!yX%[!yX%_!yX~OV#xOo0cOv0qO#g#SX%[#SX%_#SX~P'vOo0cOv0qO#g#WX%[#WX%_#WX~P'vOh$WO%uWO~O!f$YO!r$YO%uWO~OV$eO~P'vO!U$gO#s$hO#u$iO~O{$jO~OV$qO~P'vOS$sO%[$rO%_$rO%c$tO~OV$}Oa$}Og%POo0cOv0qO~P'vOo0cOv0qO{%SO~P'vO&Y%UO~Oa!bOh!iO!X!kO!f!mOVba_bakbalbambanbaobapbasbazba{ba!xba#gba%[ba%_ba%jba%kba%lba%mba%nba%oba%pba%qba%rba%sba%zbagba!Tba!Uba%{ba!Wba![ba!Qba#[batba!mba~On%ZO~Oo%ZO~P'vOo0cO~P'vOk0eOl0fOm0dOn0dOo0mOp0nOs0rOg%wX!T%wX!U%wX%{%wX!W%wX![%wX!Q%wX#[%wX!m%wX~P)pO%{%]Og%vXz%vX!T%vX!U%vX!W%vX{%vX~Og%_Oz%`O!T%dO!U%cO~Og%_O~Oz%gO!T%dO!U%cO!W&SX~O!W%kO~Oz%lO{%nO!T%dO!U%cO![%}X~O![%rO~O![%sO~OQ#XO%`#XO%a%uO~OV%wOo0cOv0qO!PrO~P'vOQ#^OR#[O%`#^O%a%zO~OV!qa_!qaa!qah!qak!qal!qam!qan!qao!qap!qas!qaz!qa{!qa!X!qa!f!qa!x!qa#g!qa%[!qa%_!qa%j!qa%k!qa%l!qa%m!qa%n!qa%o!qa%p!qa%q!qa%r!qa%s!qa%z!qag!qa!T!qa!U!qa%{!qa!W!qa![!qa!Q!qa#[!qat!qa!m!qa~P#yOz%|O{%ha!x%ha#g%ha%[%ha%_%ha%z%ha~P%SOV&OOopOvqO{%ha!x%ha#g%ha%[%ha%_%ha%z%ha~P'vOz%|O{%ha!x%ha#g%ha%[%ha%_%ha%z%ha~OPdOVaOopOvqO!PrO!Q{O!{tO!}uO#PvO#RwO#TxO#XyO#ZzO#^|O#_|O#a}O#c!OO#g$zX%[$zX%_$zX~P'vO#g#gO%[&TO%_&TO~O!f&UOh&sX%[&sXz&sX#[&sX#g&sX%_&sX#Z&sXg&sX~Oh!iO%[&WO~Okealeameaneaoeapeaseazea{ea!xea#gea%[ea%_ea%zeagea!Tea!Uea%{ea!Wea![ea!Qea#[eatea!mea~P%SOsqazqa{qa#gqa%[qa%_qa%zqa~Ok!pOl!qOm!oOn!oOo!rOp!sO!xqa~PEcO%z&YOz%yX{%yX~O%uWOz%yX{%yX~Oz&]O{wX~O{&_O~Oz%lO#g%}X%[%}X%_%}Xg%}X{%}X![%}X!m%}X%z%}X~OV0lOo0cOv0qO!PrO~P'vO%z#|O#gUa%[Ua%_Ua~Oz&hO#g&PX%[&PX%_&PXn&PX~P%SOz&kO!Q&jO#g#Wa%[#Wa%_#Wa~Oz&lO#[&nO#g&rX%[&rX%_&rXg&rX~O!f$YO!r$YO#Z&qO%uWO~O#Z&qO~Oz&sO#g&tX%[&tX%_&tX~Oz&uO#g&pX%[&pX%_&pX{&pX~O!X&wO%z&xO~Oz&|On&wX~P%SOn'PO~OPdOVaOopOvqO!PrO!Q{O!{tO!}uO#PvO#RwO#TxO#XyO#ZzO#^|O#_|O#a}O#c!OO%['UO~P'vOt'YO#p'WO#q'XOP#naV#naf#nah#nao#nas#nav#na!P#na!Q#na!T#na!U#na!X#na!]#na!h#na!r#na!s#na!t#na!{#na!}#na#P#na#R#na#T#na#X#na#Z#na#^#na#_#na#a#na#c#na#l#na#o#na#s#na#u#na#z#na#}#na$P#na%X#na%o#na%p#na%t#na%u#na&Z#na&[#na&]#na&^#na&_#na&`#na&a#na&b#na&c#na&d#na&e#na&f#na&g#na&h#na&i#na&j#na%Z#na%_#na~Oz'ZO#[']O{&xX~Oh'_O!X&wO~Oh!iO{$jO!X&wO~O{'eO~P%SO%['hO%_'hO~OS'iO%['hO%_'hO~OV!aO_!aOa!bOh!iO!X!kO!f!mO%l!^O%m!_O%n!_O%o!`O%p!`O%q!aO%r!aO%s!aOkWilWimWinWioWipWisWizWi{Wi!xWi#gWi%[Wi%_Wi%jWi%zWigWi!TWi!UWi%{Wi!WWi![Wi!QWi#[WitWi!mWi~O%k!]O~P!#uO%kWi~P!#uOV!aO_!aOa!bOh!iO!X!kO!f!mO%o!`O%p!`O%q!aO%r!aO%s!aOkWilWimWinWioWipWisWizWi{Wi!xWi#gWi%[Wi%_Wi%jWi%kWi%lWi%zWigWi!TWi!UWi%{Wi!WWi![Wi!QWi#[WitWi!mWi~O%m!_O%n!_O~P!&pO%mWi%nWi~P!&pOa!bOh!iO!X!kO!f!mOkWilWimWinWioWipWisWizWi{Wi!xWi#gWi%[Wi%_Wi%jWi%kWi%lWi%mWi%nWi%oWi%pWi%zWigWi!TWi!UWi%{Wi!WWi![Wi!QWi#[WitWi!mWi~OV!aO_!aO%q!aO%r!aO%s!aO~P!)nOVWi_Wi%qWi%rWi%sWi~P!)nO!T%dO!U%cOg&VXz&VX~O%z'kO%{'kO~P,eOz'mOg&UX~Og'oO~Oz'pO{'rO!W&XX~Oo0cOv0qOz'pO{'sO!W&XX~P'vO!W'uO~Om!oOn!oOo!rOp!sOkjisjizji{ji!xji#gji%[ji%_ji%zji~Ol!qO~P!.aOlji~P!.aOk0eOl0fOm0dOn0dOo0mOp0nO~Ot'wO~P!/jOV'|Og'}Oo0cOv0qO~P'vOg'}Oz(OO~Og(QO~O!U(SO~Og(TOz(OO!T%dO!U%cO~P%SOk0eOl0fOm0dOn0dOo0mOp0nOgqa!Tqa!Uqa%{qa!Wqa![qa!Qqa#[qatqa!mqa~PEcOV'|Oo0cOv0qO!W&Sa~P'vOz(WO!W&Sa~O!W(XO~Oz(WO!T%dO!U%cO!W&Sa~P%SOV(]Oo0cOv0qO![%}a#g%}a%[%}a%_%}ag%}a{%}a!m%}a%z%}a~P'vOz(^O![%}a#g%}a%[%}a%_%}ag%}a{%}a!m%}a%z%}a~O![(aO~Oz(^O!T%dO!U%cO![%}a~P%SOz(dO!T%dO!U%cO![&Ta~P%SOz(gO{&lX![&lX!m&lX%z&lX~O{(kO![(mO!m(nO%z(jO~OV&OOopOvqO{%hi!x%hi#g%hi%[%hi%_%hi%z%hi~P'vOz(pO{%hi!x%hi#g%hi%[%hi%_%hi%z%hi~O!f&UOh&sa%[&saz&sa#[&sa#g&sa%_&sa#Z&sag&sa~O%[(uO~OV#sOa#tO%uWO~Oz&]O{wa~OopOvqO~P'vOz(^O#g%}a%[%}a%_%}ag%}a{%}a![%}a!m%}a%z%}a~P%SOz(zO#g%hX%[%hX%_%hX%z%hX~O%z#|O#gUi%[Ui%_Ui~O#g&Pa%[&Pa%_&Pan&Pa~P'vOz(}O#g&Pa%[&Pa%_&Pan&Pa~O%uWO#g&ra%[&ra%_&rag&ra~Oz)SO#g&ra%[&ra%_&rag&ra~Og)VO~OV)WOh$WO%uWO~O#Z)XO~O%uWO#g&ta%[&ta%_&ta~Oz)ZO#g&ta%[&ta%_&ta~Oo0cOv0qO#g&pa%[&pa%_&pa{&pa~P'vOz)^O#g&pa%[&pa%_&pa{&pa~OV)`Oa)`O%uWO~O%z)eO~Ot)hO#j)gOP#hiV#hif#hih#hio#his#hiv#hi!P#hi!Q#hi!T#hi!U#hi!X#hi!]#hi!h#hi!r#hi!s#hi!t#hi!{#hi!}#hi#P#hi#R#hi#T#hi#X#hi#Z#hi#^#hi#_#hi#a#hi#c#hi#l#hi#o#hi#s#hi#u#hi#z#hi#}#hi$P#hi%X#hi%o#hi%p#hi%t#hi%u#hi&Z#hi&[#hi&]#hi&^#hi&_#hi&`#hi&a#hi&b#hi&c#hi&d#hi&e#hi&f#hi&g#hi&h#hi&i#hi&j#hi%Z#hi%_#hi~Ot)iOP#kiV#kif#kih#kio#kis#kiv#ki!P#ki!Q#ki!T#ki!U#ki!X#ki!]#ki!h#ki!r#ki!s#ki!t#ki!{#ki!}#ki#P#ki#R#ki#T#ki#X#ki#Z#ki#^#ki#_#ki#a#ki#c#ki#l#ki#o#ki#s#ki#u#ki#z#ki#}#ki$P#ki%X#ki%o#ki%p#ki%t#ki%u#ki&Z#ki&[#ki&]#ki&^#ki&_#ki&`#ki&a#ki&b#ki&c#ki&d#ki&e#ki&f#ki&g#ki&h#ki&i#ki&j#ki%Z#ki%_#ki~OV)kOn&wa~P'vOz)lOn&wa~Oz)lOn&wa~P%SOn)pO~O%Y)tO~Ot)wO#p'WO#q)vOP#niV#nif#nih#nio#nis#niv#ni!P#ni!Q#ni!T#ni!U#ni!X#ni!]#ni!h#ni!r#ni!s#ni!t#ni!{#ni!}#ni#P#ni#R#ni#T#ni#X#ni#Z#ni#^#ni#_#ni#a#ni#c#ni#l#ni#o#ni#s#ni#u#ni#z#ni#}#ni$P#ni%X#ni%o#ni%p#ni%t#ni%u#ni&Z#ni&[#ni&]#ni&^#ni&_#ni&`#ni&a#ni&b#ni&c#ni&d#ni&e#ni&f#ni&g#ni&h#ni&i#ni&j#ni%Z#ni%_#ni~OV)zOo0cOv0qO{$jO~P'vOo0cOv0qO{&xa~P'vOz*OO{&xa~OV*SOa*TOg*WO%q*UO%uWO~O{$jO&{*YO~Oh'_O~Oh!iO{$jO~O%[*_O~O%[*aO%_*aO~OV$}Oa$}Oo0cOv0qOg&Ua~P'vOz*dOg&Ua~Oo0cOv0qO{*gO!W&Xa~P'vOz*hO!W&Xa~Oo0cOv0qOz*hO{*kO!W&Xa~P'vOo0cOv0qOz*hO!W&Xa~P'vOz*hO{*kO!W&Xa~Om0dOn0dOo0mOp0nOgjikjisjizji!Tji!Uji%{ji!Wji{ji![ji#gji%[ji%_ji!Qji#[jitji!mji%zji~Ol0fO~P!NkOlji~P!NkOV'|Og*pOo0cOv0qO~P'vOn*rO~Og*pOz*tO~Og*uO~OV'|Oo0cOv0qO!W&Si~P'vOz*vO!W&Si~O!W*wO~OV(]Oo0cOv0qO![%}i#g%}i%[%}i%_%}ig%}i{%}i!m%}i%z%}i~P'vOz*zO!T%dO!U%cO![&Ti~Oz*}O![%}i#g%}i%[%}i%_%}ig%}i{%}i!m%}i%z%}i~O![+OO~Oa+QOo0cOv0qO![&Ti~P'vOz*zO![&Ti~O![+SO~OV+UOo0cOv0qO{&la![&la!m&la%z&la~P'vOz+VO{&la![&la!m&la%z&la~O!]+YO&n+[O![!nX~O![+^O~O{(kO![+_O~O{(kO![+_O!m+`O~OV&OOopOvqO{%hq!x%hq#g%hq%[%hq%_%hq%z%hq~P'vOz$ri{$ri!x$ri#g$ri%[$ri%_$ri%z$ri~P%SOV&OOopOvqO~P'vOV&OOo0cOv0qO#g%ha%[%ha%_%ha%z%ha~P'vOz+aO#g%ha%[%ha%_%ha%z%ha~Oz$ia#g$ia%[$ia%_$ian$ia~P%SO#g&Pi%[&Pi%_&Pin&Pi~P'vOz+dO#g#Wq%[#Wq%_#Wq~O#[+eOz$va#g$va%[$va%_$vag$va~O%uWO#g&ri%[&ri%_&rig&ri~Oz+gO#g&ri%[&ri%_&rig&ri~OV+iOh$WO%uWO~O%uWO#g&ti%[&ti%_&ti~Oo0cOv0qO#g&pi%[&pi%_&pi{&pi~P'vO{#{Oz#eX!W#eX~Oz+mO!W&uX~O!W+oO~Ot+rO#j)gOP#hqV#hqf#hqh#hqo#hqs#hqv#hq!P#hq!Q#hq!T#hq!U#hq!X#hq!]#hq!h#hq!r#hq!s#hq!t#hq!{#hq!}#hq#P#hq#R#hq#T#hq#X#hq#Z#hq#^#hq#_#hq#a#hq#c#hq#l#hq#o#hq#s#hq#u#hq#z#hq#}#hq$P#hq%X#hq%o#hq%p#hq%t#hq%u#hq&Z#hq&[#hq&]#hq&^#hq&_#hq&`#hq&a#hq&b#hq&c#hq&d#hq&e#hq&f#hq&g#hq&h#hq&i#hq&j#hq%Z#hq%_#hq~On$|az$|a~P%SOV)kOn&wi~P'vOz+yOn&wi~Oz,TO{$jO#[,TO~O#q,VOP#nqV#nqf#nqh#nqo#nqs#nqv#nq!P#nq!Q#nq!T#nq!U#nq!X#nq!]#nq!h#nq!r#nq!s#nq!t#nq!{#nq!}#nq#P#nq#R#nq#T#nq#X#nq#Z#nq#^#nq#_#nq#a#nq#c#nq#l#nq#o#nq#s#nq#u#nq#z#nq#}#nq$P#nq%X#nq%o#nq%p#nq%t#nq%u#nq&Z#nq&[#nq&]#nq&^#nq&_#nq&`#nq&a#nq&b#nq&c#nq&d#nq&e#nq&f#nq&g#nq&h#nq&i#nq&j#nq%Z#nq%_#nq~O#[,WOz%Oa{%Oa~Oo0cOv0qO{&xi~P'vOz,YO{&xi~O{#{O%z,[Og&zXz&zX~O%uWOg&zXz&zX~Oz,`Og&yX~Og,bO~O%Y,eO~O!T%dO!U%cOg&Viz&Vi~OV$}Oa$}Oo0cOv0qOg&Ui~P'vO{,hOz$la!W$la~Oo0cOv0qO{,iOz$la!W$la~P'vOo0cOv0qO{*gO!W&Xi~P'vOz,lO!W&Xi~Oo0cOv0qOz,lO!W&Xi~P'vOz,lO{,oO!W&Xi~Og$hiz$hi!W$hi~P%SOV'|Oo0cOv0qO~P'vOn,qO~OV'|Og,rOo0cOv0qO~P'vOV'|Oo0cOv0qO!W&Sq~P'vOz$gi![$gi#g$gi%[$gi%_$gig$gi{$gi!m$gi%z$gi~P%SOV(]Oo0cOv0qO~P'vOa+QOo0cOv0qO![&Tq~P'vOz,sO![&Tq~O![,tO~OV(]Oo0cOv0qO![%}q#g%}q%[%}q%_%}qg%}q{%}q!m%}q%z%}q~P'vO{,uO~OV+UOo0cOv0qO{&li![&li!m&li%z&li~P'vOz,zO{&li![&li!m&li%z&li~O!]+YO&n+[O![!na~O{(kO![,}O~OV&OOo0cOv0qO#g%hi%[%hi%_%hi%z%hi~P'vOz-OO#g%hi%[%hi%_%hi%z%hi~O%uWO#g&rq%[&rq%_&rqg&rq~Oz-RO#g&rq%[&rq%_&rqg&rq~OV)`Oa)`O%uWO!W&ua~Oz-TO!W&ua~On$|iz$|i~P%SOV)kO~P'vOV)kOn&wq~P'vOt-XOP#myV#myf#myh#myo#mys#myv#my!P#my!Q#my!T#my!U#my!X#my!]#my!h#my!r#my!s#my!t#my!{#my!}#my#P#my#R#my#T#my#X#my#Z#my#^#my#_#my#a#my#c#my#l#my#o#my#s#my#u#my#z#my#}#my$P#my%X#my%o#my%p#my%t#my%u#my&Z#my&[#my&]#my&^#my&_#my&`#my&a#my&b#my&c#my&d#my&e#my&f#my&g#my&h#my&i#my&j#my%Z#my%_#my~O%Z-]O%_-]O~P`O#q-^OP#nyV#nyf#nyh#nyo#nys#nyv#ny!P#ny!Q#ny!T#ny!U#ny!X#ny!]#ny!h#ny!r#ny!s#ny!t#ny!{#ny!}#ny#P#ny#R#ny#T#ny#X#ny#Z#ny#^#ny#_#ny#a#ny#c#ny#l#ny#o#ny#s#ny#u#ny#z#ny#}#ny$P#ny%X#ny%o#ny%p#ny%t#ny%u#ny&Z#ny&[#ny&]#ny&^#ny&_#ny&`#ny&a#ny&b#ny&c#ny&d#ny&e#ny&f#ny&g#ny&h#ny&i#ny&j#ny%Z#ny%_#ny~Oz-aO{$jO#[-aO~Oo0cOv0qO{&xq~P'vOz-dO{&xq~O%z,[Og&zaz&za~O{#{Og&zaz&za~OV*SOa*TO%q*UO%uWOg&ya~Oz-hOg&ya~O$S-lO~OV$}Oa$}Oo0cOv0qO~P'vOo0cOv0qO{-mOz$li!W$li~P'vOo0cOv0qOz$li!W$li~P'vO{-mOz$li!W$li~Oo0cOv0qO{*gO~P'vOo0cOv0qO{*gO!W&Xq~P'vOz-pO!W&Xq~Oo0cOv0qOz-pO!W&Xq~P'vOs-sO!T%dO!U%cOg&Oq!W&Oq![&Oqz&Oq~P!/jOa+QOo0cOv0qO![&Ty~P'vOz$ji![$ji~P%SOa+QOo0cOv0qO~P'vOV+UOo0cOv0qO~P'vOV+UOo0cOv0qO{&lq![&lq!m&lq%z&lq~P'vO{(kO![-xO!m-yO%z-wO~OV&OOo0cOv0qO#g%hq%[%hq%_%hq%z%hq~P'vO%uWO#g&ry%[&ry%_&ryg&ry~OV)`Oa)`O%uWO!W&ui~Ot-}OP#m!RV#m!Rf#m!Rh#m!Ro#m!Rs#m!Rv#m!R!P#m!R!Q#m!R!T#m!R!U#m!R!X#m!R!]#m!R!h#m!R!r#m!R!s#m!R!t#m!R!{#m!R!}#m!R#P#m!R#R#m!R#T#m!R#X#m!R#Z#m!R#^#m!R#_#m!R#a#m!R#c#m!R#l#m!R#o#m!R#s#m!R#u#m!R#z#m!R#}#m!R$P#m!R%X#m!R%o#m!R%p#m!R%t#m!R%u#m!R&Z#m!R&[#m!R&]#m!R&^#m!R&_#m!R&`#m!R&a#m!R&b#m!R&c#m!R&d#m!R&e#m!R&f#m!R&g#m!R&h#m!R&i#m!R&j#m!R%Z#m!R%_#m!R~Oo0cOv0qO{&xy~P'vOV*SOa*TO%q*UO%uWOg&yi~O$S-lO%Z.VO%_.VO~OV.aOh._O!X.^O!].`O!h.YO!s.[O!t.[O%p.XO%uWO&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O~Oo0cOv0qOz$lq!W$lq~P'vO{.fOz$lq!W$lq~Oo0cOv0qO{*gO!W&Xy~P'vOz.gO!W&Xy~Oo0cOv.kO~P'vOs-sO!T%dO!U%cOg&Oy!W&Oy![&Oyz&Oy~P!/jO{(kO![.nO~O{(kO![.nO!m.oO~OV*SOa*TO%q*UO%uWO~Oh.tO!f.rOz$TX#[$TX%j$TXg$TX~Os$TX{$TX!W$TX![$TX~P$-bO%o.vO%p.vOs$UXz$UX{$UX#[$UX%j$UX!W$UXg$UX![$UX~O!h.xO~Oz.|O#[/OO%j.yOs&|X{&|X!W&|Xg&|X~Oa/RO~P$)zOh.tOs&}Xz&}X{&}X#[&}X%j&}X!W&}Xg&}X![&}X~Os/VO{$jO~Oo0cOv0qOz$ly!W$ly~P'vOo0cOv0qO{*gO!W&X!R~P'vOz/ZO!W&X!R~Og&RXs&RX!T&RX!U&RX!W&RX![&RXz&RX~P!/jOs-sO!T%dO!U%cOg&Qa!W&Qa![&Qaz&Qa~O{(kO![/^O~O!f.rOh$[as$[az$[a{$[a#[$[a%j$[a!W$[ag$[a![$[a~O!h/eO~O%o.vO%p.vOs$Uaz$Ua{$Ua#[$Ua%j$Ua!W$Uag$Ua![$Ua~O%j.yOs$Yaz$Ya{$Ya#[$Ya!W$Yag$Ya![$Ya~Os&|a{&|a!W&|ag&|a~P$)nOz/jOs&|a{&|a!W&|ag&|a~O!W/mO~Og/mO~O{/oO~O![/pO~Oo0cOv0qO{*gO!W&X!Z~P'vO{/sO~O%z/tO~P$-bOz/uO#[/OO%j.yOg'PX~Oz/uOg'PX~Og/wO~O!h/xO~O#[/OOs%Saz%Sa{%Sa%j%Sa!W%Sag%Sa![%Sa~O#[/OO%j.yOs%Waz%Wa{%Wa!W%Wag%Wa~Os&|i{&|i!W&|ig&|i~P$)nOz/zO#[/OO%j.yO!['Oa~Og'Pa~P$)nOz0SOg'Pa~Oa0UO!['Oi~P$)zOz0WO!['Oi~Oz0WO#[/OO%j.yO!['Oi~O#[/OO%j.yOg$biz$bi~O%z0ZO~P$-bO#[/OO%j.yOg%Vaz%Va~Og'Pi~P$)nO{0^O~Oa0UO!['Oq~P$)zOz0`O!['Oq~O#[/OO%j.yOz%Ui![%Ui~Oa0UO~P$)zOa0UO!['Oy~P$)zO#[/OO%j.yOg$ciz$ci~O#[/OO%j.yOz%Uq![%Uq~Oz+aO#g%ha%[%ha%_%ha%z%ha~P%SOV&OOo0cOv0qO~P'vOn0hO~Oo0hO~P'vO{0iO~Ot0jO~P!/jO&]&Z&j&h&i&g&f&d&e&c&b&`&a&_&^&[%u~",goto:"!=j'QPPPPPP'RP'Z*s+[+t,_,y-fP.SP'Z.r.r'ZPPP'Z2[PPPPPP2[5PPP5PP7b7k=sPP=v>h>kPP'Z'ZPP>zPP'Z'ZPP'Z'Z'Z'Z'Z?O?w'ZP?zP@QDXGuGyPG|HWH['ZPPPH_Hk'RP'R'RP'RP'RP'RP'RP'R'R'RP'RPP'RPP'RP'RPHqH}IVPI^IdPI^PI^I^PPPI^PKrPK{LVL]KrPI^LfPI^PLmLsPLwM]MzNeLwLwNkNxLwLwLwLw! ^! d! g! l! o! y!!P!!]!!o!!u!#P!#V!#s!#y!$P!$Z!$a!$g!$y!%T!%Z!%a!%k!%q!%w!%}!&T!&Z!&e!&k!&u!&{!'U!'[!'k!'s!'}!(UPPPPPPPPPPP!([!(_!(e!(n!(x!)TPPPPPPPPPPPP!-u!/Z!3^!6oPP!6w!7W!7a!8Y!8P!8c!8i!8l!8o!8r!8z!9jPPPPPPPPPPPPPPPPP!9m!9q!9wP!:]!:a!:m!:v!;S!;j!;m!;p!;v!;|!_![!]Do!]!^Es!^!_FZ!_!`Gk!`!aHX!a!b%T!b!cIf!c!dJU!d!eK^!e!hJU!h!i!#f!i!tJU!t!u!,|!u!wJU!w!x!.t!x!}JU!}#O!0S#O#P&o#P#Q!0j#Q#R!1Q#R#SJU#S#T%T#T#UJU#U#VK^#V#YJU#Y#Z!#f#Z#fJU#f#g!,|#g#iJU#i#j!.t#j#oJU#o#p!1n#p#q!1s#q#r!2a#r#s!2f#s$g%T$g;'SJU;'S;=`KW<%lOJU`%YT&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T`%lP;=`<%l%To%v]&n`%c_OX%TXY%oY[%T[]%o]p%Tpq%oq#O%T#O#P&o#P#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To&tX&n`OY%TYZ%oZ]%T]^%o^#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc'f[&n`O!_%T!_!`([!`#T%T#T#U(r#U#f%T#f#g(r#g#h(r#h#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc(cTmR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc(yT!mR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk)aV&n`&[ZOr%Trs)vs#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk){V&n`Or%Trs*bs#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk*iT&n`&^ZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To+PZS_&n`OY*xYZ%TZ]*x]^%T^#o*x#o#p+r#p#q*x#q#r+r#r;'S*x;'S;=`,^<%lO*x_+wTS_OY+rZ]+r^;'S+r;'S;=`,W<%lO+r_,ZP;=`<%l+ro,aP;=`<%l*xj,kV%rQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj-XT!xY&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj-oV%lQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk.]V&n`&ZZOw%Twx.rx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk.wV&n`Ow%Twx/^x#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk/eT&n`&]ZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk/{ThZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc0cTgR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk0yXVZ&n`Oz%Tz{1f{!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk1mVaR&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk2ZV%oZ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc2wTzR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To3_W%pZ&n`O!_%T!_!`-Q!`!a3w!a#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Td4OT&{S&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk4fX!fQ&n`O!O%T!O!P5R!P!Q%T!Q![6T![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk5WV&n`O!O%T!O!P5m!P#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk5tT!rZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti6[a!hX&n`O!Q%T!Q![6T![!g%T!g!h7a!h!l%T!l!m9s!m#R%T#R#S6T#S#X%T#X#Y7a#Y#^%T#^#_9s#_#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti7fZ&n`O{%T{|8X|}%T}!O8X!O!Q%T!Q![8s![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti8^V&n`O!Q%T!Q![8s![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti8z]!hX&n`O!Q%T!Q![8s![!l%T!l!m9s!m#R%T#R#S8s#S#^%T#^#_9s#_#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti9zT!hX&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk:bX%qR&n`O!P%T!P!Q:}!Q!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj;UV%sQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti;ro!hX&n`O!O%T!O!P=s!P!Q%T!Q![>_![!d%T!d!e?q!e!g%T!g!h7a!h!l%T!l!m9s!m!q%T!q!rA]!r!z%T!z!{Bq!{#R%T#R#S>_#S#U%T#U#V?q#V#X%T#X#Y7a#Y#^%T#^#_9s#_#c%T#c#dA]#d#l%T#l#mBq#m#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti=xV&n`O!Q%T!Q![6T![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti>fc!hX&n`O!O%T!O!P=s!P!Q%T!Q![>_![!g%T!g!h7a!h!l%T!l!m9s!m#R%T#R#S>_#S#X%T#X#Y7a#Y#^%T#^#_9s#_#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti?vY&n`O!Q%T!Q!R@f!R!S@f!S#R%T#R#S@f#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti@mY!hX&n`O!Q%T!Q!R@f!R!S@f!S#R%T#R#S@f#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiAbX&n`O!Q%T!Q!YA}!Y#R%T#R#SA}#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiBUX!hX&n`O!Q%T!Q!YA}!Y#R%T#R#SA}#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiBv]&n`O!Q%T!Q![Co![!c%T!c!iCo!i#R%T#R#SCo#S#T%T#T#ZCo#Z#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiCv]!hX&n`O!Q%T!Q![Co![!c%T!c!iCo!i#R%T#R#SCo#S#T%T#T#ZCo#Z#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%ToDvV{_&n`O!_%T!_!`E]!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TcEdT%{R&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkEzT#gZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkFbXmR&n`O!^%T!^!_F}!_!`([!`!a([!a#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TjGUV%mQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkGrV%zZ&n`O!_%T!_!`([!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkH`WmR&n`O!_%T!_!`([!`!aHx!a#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TjIPV%nQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkIoV_Q#}P&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%ToJ_]&n`&YS%uZO!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUoKZP;=`<%lJUoKge&n`&YS%uZOr%Trs)Ysw%Twx.Ux!Q%T!Q![JU![!c%T!c!tJU!t!uLx!u!}JU!}#R%T#R#SJU#S#T%T#T#fJU#f#gLx#g#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUoMRa&n`&YS%uZOr%TrsNWsw%Twx! vx!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUkN_V&n`&`ZOr%TrsNts#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkNyV&n`Or%Trs! `s#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk! gT&n`&bZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk! }V&n`&_ZOw%Twx!!dx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!!iV&n`Ow%Twx!#Ox#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!#VT&n`&aZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To!#oe&n`&YS%uZOr%Trs!%Qsw%Twx!&px!Q%T!Q![JU![!c%T!c!tJU!t!u!(`!u!}JU!}#R%T#R#SJU#S#T%T#T#fJU#f#g!(`#g#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUk!%XV&n`&dZOr%Trs!%ns#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!%sV&n`Or%Trs!&Ys#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!&aT&n`&fZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!&wV&n`&cZOw%Twx!'^x#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!'cV&n`Ow%Twx!'xx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!(PT&n`&eZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To!(ia&n`&YS%uZOr%Trs!)nsw%Twx!+^x!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUk!)uV&n`&hZOr%Trs!*[s#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!*aV&n`Or%Trs!*vs#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!*}T&n`&jZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!+eV&n`&gZOw%Twx!+zx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!,PV&n`Ow%Twx!,fx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!,mT&n`&iZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To!-Vi&n`&YS%uZOr%TrsNWsw%Twx! vx!Q%T!Q![JU![!c%T!c!dJU!d!eLx!e!hJU!h!i!(`!i!}JU!}#R%T#R#SJU#S#T%T#T#UJU#U#VLx#V#YJU#Y#Z!(`#Z#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUo!.}a&n`&YS%uZOr%Trs)Ysw%Twx.Ux!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUk!0ZT!XZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc!0qT!WR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj!1XV%kQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T~!1sO!]~k!1zV%jR&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T~!2fO![~i!2mT%tX&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T",tokenizers:[kw,Qw,gw,xw,0,1,2,3,4],topRules:{Script:[0,5]},specialized:[{term:221,get:i=>vw[i]||-1}],tokenPrec:7668});var Wm=new pi,Vm=new Set(["Script","Body","FunctionDefinition","ClassDefinition","LambdaExpression","ForStatement","MatchClause"]);function Oo(i){return(e,t,n)=>{if(n)return!1;let r=e.node.getChild("VariableName");return r&&t(r,i),!0}}var $w={FunctionDefinition:Oo("function"),ClassDefinition:Oo("class"),ForStatement(i,e,t){if(t){for(let n=i.node.firstChild;n;n=n.nextSibling)if(n.name=="VariableName")e(n,"variable");else if(n.name=="in")break}},ImportStatement(i,e){var t,n;let{node:r}=i,s=((t=r.firstChild)===null||t===void 0?void 0:t.name)=="from";for(let o=r.getChild("import");o;o=o.nextSibling)o.name=="VariableName"&&((n=o.nextSibling)===null||n===void 0?void 0:n.name)!="as"&&e(o,s?"variable":"namespace")},AssignStatement(i,e){for(let t=i.node.firstChild;t;t=t.nextSibling)if(t.name=="VariableName")e(t,"variable");else if(t.name==":"||t.name=="AssignOp")break},ParamList(i,e){for(let t=null,n=i.node.firstChild;n;n=n.nextSibling)n.name=="VariableName"&&(!t||!/\*|AssignOp/.test(t.name))&&e(n,"variable"),t=n},CapturePattern:Oo("variable"),AsPattern:Oo("variable"),__proto__:null};function Dm(i,e){let t=Wm.get(e);if(t)return t;let n=[],r=!0;function s(o,a){let l=i.sliceString(o.from,o.to);n.push({label:l,type:a})}return e.cursor(te.IncludeAnonymous).iterate(o=>{if(o.name){let a=$w[o.name];if(a&&a(o,s,r)||!r&&Vm.has(o.name))return!1;r=!1}else if(o.to-o.from>8192){for(let a of Dm(i,o.node))n.push(a);return!1}}),Wm.set(e,n),n}var jm=/^[\w\xa1-\uffff][\w\d\xa1-\uffff]*$/,Ym=["String","FormatString","Comment","PropertyName"];function Tw(i){let e=U(i.state).resolveInner(i.pos,-1);if(Ym.indexOf(e.name)>-1)return null;let t=e.name=="VariableName"||e.to-e.from<20&&jm.test(i.state.sliceDoc(e.from,e.to));if(!t&&!i.explicit)return null;let n=[];for(let r=e;r;r=r.parent)Vm.has(r.name)&&(n=n.concat(Dm(i.state.doc,r)));return{options:n,from:t?e.from:i.pos,validFor:jm}}var Cw=["__annotations__","__builtins__","__debug__","__doc__","__import__","__name__","__loader__","__package__","__spec__","False","None","True"].map(i=>({label:i,type:"constant"})).concat(["ArithmeticError","AssertionError","AttributeError","BaseException","BlockingIOError","BrokenPipeError","BufferError","BytesWarning","ChildProcessError","ConnectionAbortedError","ConnectionError","ConnectionRefusedError","ConnectionResetError","DeprecationWarning","EOFError","Ellipsis","EncodingWarning","EnvironmentError","Exception","FileExistsError","FileNotFoundError","FloatingPointError","FutureWarning","GeneratorExit","IOError","ImportError","ImportWarning","IndentationError","IndexError","InterruptedError","IsADirectoryError","KeyError","KeyboardInterrupt","LookupError","MemoryError","ModuleNotFoundError","NameError","NotADirectoryError","NotImplemented","NotImplementedError","OSError","OverflowError","PendingDeprecationWarning","PermissionError","ProcessLookupError","RecursionError","ReferenceError","ResourceWarning","RuntimeError","RuntimeWarning","StopAsyncIteration","StopIteration","SyntaxError","SyntaxWarning","SystemError","SystemExit","TabError","TimeoutError","TypeError","UnboundLocalError","UnicodeDecodeError","UnicodeEncodeError","UnicodeError","UnicodeTranslateError","UnicodeWarning","UserWarning","ValueError","Warning","ZeroDivisionError"].map(i=>({label:i,type:"type"}))).concat(["bool","bytearray","bytes","classmethod","complex","float","frozenset","int","list","map","memoryview","object","range","set","staticmethod","str","super","tuple","type"].map(i=>({label:i,type:"class"}))).concat(["abs","aiter","all","anext","any","ascii","bin","breakpoint","callable","chr","compile","delattr","dict","dir","divmod","enumerate","eval","exec","exit","filter","format","getattr","globals","hasattr","hash","help","hex","id","input","isinstance","issubclass","iter","len","license","locals","max","min","next","oct","open","ord","pow","print","property","quit","repr","reversed","round","setattr","slice","sorted","sum","vars","zip"].map(i=>({label:i,type:"function"}))),Xw=[he("def ${name}(${params}):\n ${}",{label:"def",detail:"function",type:"keyword"}),he("for ${name} in ${collection}:\n ${}",{label:"for",detail:"loop",type:"keyword"}),he("while ${}:\n ${}",{label:"while",detail:"loop",type:"keyword"}),he("try:\n ${}\nexcept ${error}:\n ${}",{label:"try",detail:"/ except block",type:"keyword"}),he(`if \${}: -`,{label:"if",detail:"block",type:"keyword"}),he("if ${}:\n ${}\nelse:\n ${}",{label:"if",detail:"/ else block",type:"keyword"}),he("class ${name}:\n def __init__(self, ${params}):\n ${}",{label:"class",detail:"definition",type:"keyword"}),he("import ${module}",{label:"import",detail:"statement",type:"keyword"}),he("from ${module} import ${names}",{label:"from",detail:"import",type:"keyword"})],_w=Us(Dm,Bs(Cw.concat(Xw)));function sh(i){let{node:e,pos:t}=i,n=i.lineIndent(t,-1),r=null;for(;;){let s=e.childBefore(t);if(s)if(s.name=="Comment")t=s.from;else if(s.name=="Body"||s.name=="MatchBody")i.baseIndentFor(s)+i.unit<=n&&(r=s),e=s;else if(s.name=="MatchClause")e=s;else if(s.type.is("Statement"))e=s;else break;else break}return r}function oh(i,e){let t=i.baseIndentFor(e),n=i.lineAt(i.pos,-1),r=n.from+n.text.length;return/^\s*($|#)/.test(n.text)&&i.node.tot?null:t+i.unit}var ah=Xe.define({name:"python",parser:Lm.configure({props:[Pe.add({Body:i=>{var e;let t=/^\s*(#|$)/.test(i.textAfter)&&sh(i)||i.node;return(e=oh(i,t))!==null&&e!==void 0?e:i.continue()},MatchBody:i=>{var e;let t=sh(i);return(e=oh(i,t||i.node))!==null&&e!==void 0?e:i.continue()},IfStatement:i=>/^\s*(else:|elif )/.test(i.textAfter)?i.baseIndent:i.continue(),"ForStatement WhileStatement":i=>/^\s*else:/.test(i.textAfter)?i.baseIndent:i.continue(),TryStatement:i=>/^\s*(except[ :]|finally:|else:)/.test(i.textAfter)?i.baseIndent:i.continue(),MatchStatement:i=>/^\s*case /.test(i.textAfter)?i.baseIndent+i.unit:i.continue(),"TupleExpression ComprehensionExpression ParamList ArgList ParenthesizedExpression":kt({closing:")"}),"DictionaryExpression DictionaryComprehensionExpression SetExpression SetComprehensionExpression":kt({closing:"}"}),"ArrayExpression ArrayComprehensionExpression":kt({closing:"]"}),MemberExpression:i=>i.baseIndent+i.unit,"String FormatString":()=>null,Script:i=>{var e;let t=sh(i);return(e=t&&oh(i,t))!==null&&e!==void 0?e:i.continue()}}),_e.add({"ArrayExpression DictionaryExpression SetExpression TupleExpression":ut,Body:(i,e)=>({from:i.from+1,to:i.to-(i.to==e.doc.length?0:1)}),"String FormatString":(i,e)=>({from:e.doc.lineAt(i.from).to,to:i.to})})]}),languageData:{closeBrackets:{brackets:["(","[","{","'",'"',"'''",'"""'],stringPrefixes:["f","fr","rf","r","u","b","br","rb","F","FR","RF","R","U","B","BR","RB"]},commentTokens:{line:"#"},indentOnInput:/^\s*([\}\]\)]|else:|elif |except |finally:|case\s+[^:]*:?)$/}});function Ym(){return new me(ah,[ah.data.of({autocomplete:Tw}),ah.data.of({autocomplete:_w})])}var Rw=Qe({String:d.string,Number:d.number,"True False":d.bool,PropertyName:d.propertyName,Null:d.null,", :":d.separator,"[ ]":d.squareBracket,"{ }":d.brace}),Im=ve.deserialize({version:14,states:"$bOVQPOOOOQO'#Cb'#CbOnQPO'#CeOvQPO'#ClOOQO'#Cr'#CrQOQPOOOOQO'#Cg'#CgO}QPO'#CfO!SQPO'#CtOOQO,59P,59PO![QPO,59PO!aQPO'#CuOOQO,59W,59WO!iQPO,59WOVQPO,59QOqQPO'#CmO!nQPO,59`OOQO1G.k1G.kOVQPO'#CnO!vQPO,59aOOQO1G.r1G.rOOQO1G.l1G.lOOQO,59X,59XOOQO-E6k-E6kOOQO,59Y,59YOOQO-E6l-E6l",stateData:"#O~OeOS~OQSORSOSSOTSOWQO_ROgPO~OVXOgUO~O^[O~PVO[^O~O]_OVhX~OVaO~O]bO^iX~O^dO~O]_OVha~O]bO^ia~O",goto:"!kjPPPPPPkPPkqwPPPPk{!RPPP!XP!e!hXSOR^bQWQRf_TVQ_Q`WRg`QcZRicQTOQZRQe^RhbRYQR]R",nodeNames:"\u26A0 JsonText True False Null Number String } { Object Property PropertyName : , ] [ Array",maxTerm:25,nodeProps:[["isolate",-2,6,11,""],["openedBy",7,"{",14,"["],["closedBy",8,"}",15,"]"]],propSources:[Rw],skippedNodes:[0],repeatNodeCount:2,tokenData:"(|~RaXY!WYZ!W]^!Wpq!Wrs!]|}$u}!O$z!Q!R%T!R![&c![!]&t!}#O&y#P#Q'O#Y#Z'T#b#c'r#h#i(Z#o#p(r#q#r(w~!]Oe~~!`Wpq!]qr!]rs!xs#O!]#O#P!}#P;'S!];'S;=`$o<%lO!]~!}Og~~#QXrs!]!P!Q!]#O#P!]#U#V!]#Y#Z!]#b#c!]#f#g!]#h#i!]#i#j#m~#pR!Q![#y!c!i#y#T#Z#y~#|R!Q![$V!c!i$V#T#Z$V~$YR!Q![$c!c!i$c#T#Z$c~$fR!Q![!]!c!i!]#T#Z!]~$rP;=`<%l!]~$zO]~~$}Q!Q!R%T!R![&c~%YRT~!O!P%c!g!h%w#X#Y%w~%fP!Q![%i~%nRT~!Q![%i!g!h%w#X#Y%w~%zR{|&T}!O&T!Q![&Z~&WP!Q![&Z~&`PT~!Q![&Z~&hST~!O!P%c!Q![&c!g!h%w#X#Y%w~&yO[~~'OO_~~'TO^~~'WP#T#U'Z~'^P#`#a'a~'dP#g#h'g~'jP#X#Y'm~'rOR~~'uP#i#j'x~'{P#`#a(O~(RP#`#a(U~(ZOS~~(^P#f#g(a~(dP#i#j(g~(jP#X#Y(m~(rOQ~~(wOW~~(|OV~",tokenizers:[0],topRules:{JsonText:[0,1]},tokenPrec:0});var Aw=Xe.define({name:"json",parser:Im.configure({props:[Pe.add({Object:Bt({except:/^\s*\}/}),Array:Bt({except:/^\s*\]/})}),_e.add({"Object Array":ut})]}),languageData:{closeBrackets:{brackets:["[","{",'"']},indentOnInput:/^\s*[\}\]]$/}});function Bm(){return new me(Aw)}function po(i){for(var e={},t=0;t~^?!",Mw=":;,.(){}[]",Ww=/^\-?0b[01][01_]*/,jw=/^\-?0o[0-7][0-7_]*/,Vw=/^\-?0x[\dA-Fa-f][\dA-Fa-f_]*(?:(?:\.[\dA-Fa-f][\dA-Fa-f_]*)?[Pp]\-?\d[\d_]*)?/,Dw=/^\-?\d[\d_]*(?:\.\d[\d_]*)?(?:[Ee]\-?\d[\d_]*)?/,Yw=/^\$\d+|(`?)[_A-Za-z][_A-Za-z$0-9]*\1/,Iw=/^\.(?:\$\d+|(`?)[_A-Za-z][_A-Za-z$0-9]*\1)/,Bw=/^\#[A-Za-z]+/,Uw=/^@(?:\$\d+|(`?)[_A-Za-z][_A-Za-z$0-9]*\1)/;function Um(i,e,t){if(i.sol()&&(e.indented=i.indentation()),i.eatSpace())return null;var n=i.peek();if(n=="/"){if(i.match("//"))return i.skipToEnd(),"comment";if(i.match("/*"))return e.tokenize.push(lh),lh(i,e)}if(i.match(Bw))return"builtin";if(i.match(Uw))return"attribute";if(i.match(Ww)||i.match(jw)||i.match(Vw)||i.match(Dw))return"number";if(i.match(Iw))return"property";if(Lw.indexOf(n)>-1)return i.next(),"operator";if(Mw.indexOf(n)>-1)return i.next(),i.match(".."),"punctuation";var r;if(r=i.match(/("""|"|')/)){var s=Nw.bind(null,r[0]);return e.tokenize.push(s),s(i,e)}if(i.match(Yw)){var o=i.current();return zw.hasOwnProperty(o)?"type":qw.hasOwnProperty(o)?"atom":Zw.hasOwnProperty(o)?(Ew.hasOwnProperty(o)&&(e.prev="define"),"keyword"):t=="define"?"def":"variable"}return i.next(),null}function Gw(){var i=0;return function(e,t,n){var r=Um(e,t,n);if(r=="punctuation"){if(e.current()=="(")++i;else if(e.current()==")"){if(i==0)return e.backUp(1),t.tokenize.pop(),t.tokenize[t.tokenize.length-1](e,t);--i}}return r}}function Nw(i,e,t){for(var n=i.length==1,r,s=!1;r=e.peek();)if(s){if(e.next(),r=="(")return t.tokenize.push(Gw()),"string";s=!1}else{if(e.match(i))return t.tokenize.pop(),"string";e.next(),s=r=="\\"}return n&&t.tokenize.pop(),"string"}function lh(i,e){for(var t;t=i.next();)if(t==="/"&&i.eat("*"))e.tokenize.push(lh);else if(t==="*"&&i.eat("/")){e.tokenize.pop();break}return"comment"}function Fw(i,e,t){this.prev=i,this.align=e,this.indented=t}function Hw(i,e){var t=e.match(/^\s*($|\/[\/\*]|[)}\]])/,!1)?null:e.column()+1;i.context=new Fw(i.context,t,i.indented)}function Kw(i){i.context&&(i.indented=i.context.indented,i.context=i.context.prev)}var Gm={name:"swift",startState:function(){return{prev:null,context:null,indented:0,tokenize:[]}},token:function(i,e){var t=e.prev;e.prev=null;var n=e.tokenize[e.tokenize.length-1]||Um,r=n(i,e,t);if(!r||r=="comment"?e.prev=t:e.prev||(e.prev=r),r=="punctuation"){var s=/[\(\[\{]|([\]\)\}])/.exec(i.current());s&&(s[1]?Kw:Hw)(e,i)}return r},indent:function(i,e,t){var n=i.context;if(!n)return 0;var r=/^[\]\}\)]/.test(e);return n.align!=null?n.align-(r?1:0):n.indented+(r?0:t.unit)},languageData:{indentOnInput:/^\s*[\)\}\]]$/,commentTokens:{line:"//",block:{open:"/*",close:"*/"}},closeBrackets:{brackets:["(","[","{","'",'"',"`"]}}};var ch={};function hh(i,e){for(var t=0;t1&&i.eat("$");var t=i.next();return/['"({]/.test(t)?(e.tokens[0]=mo(t,t=="("?"quote":t=="{"?"def":"string"),_n(i,e)):(/\d/.test(t)||i.eatWhile(/\w/),e.tokens.shift(),"def")};function tP(i){return function(e,t){return e.sol()&&e.string==i&&t.tokens.shift(),e.skipToEnd(),"string.special"}}function _n(i,e){return(e.tokens[0]||Jw)(i,e)}var Jm={name:"shell",startState:function(){return{tokens:[]}},token:function(i,e){return _n(i,e)},languageData:{autocomplete:Nm.concat(Fm,Hm),closeBrackets:{brackets:["(","[","{","'",'"',"`"]},commentTokens:{line:"#"}}};var iP=["true","false","on","off","yes","no"],nP=new RegExp("\\b(("+iP.join(")|(")+"))$","i"),eg={name:"yaml",token:function(i,e){var t=i.peek(),n=e.escaped;if(e.escaped=!1,t=="#"&&(i.pos==0||/\s/.test(i.string.charAt(i.pos-1))))return i.skipToEnd(),"comment";if(i.match(/^('([^']|\\.)*'?|"([^"]|\\.)*"?)/))return"string";if(e.literal&&i.indentation()>e.keyCol)return i.skipToEnd(),"string";if(e.literal&&(e.literal=!1),i.sol()){if(e.keyCol=0,e.pair=!1,e.pairStart=!1,i.match("---")||i.match("..."))return"def";if(i.match(/^\s*-\s+/))return"meta"}if(i.match(/^(\{|\}|\[|\])/))return t=="{"?e.inlinePairs++:t=="}"?e.inlinePairs--:t=="["?e.inlineList++:e.inlineList--,"meta";if(e.inlineList>0&&!n&&t==",")return i.next(),"meta";if(e.inlinePairs>0&&!n&&t==",")return e.keyCol=0,e.pair=!1,e.pairStart=!1,i.next(),"meta";if(e.pairStart){if(i.match(/^\s*(\||\>)\s*/))return e.literal=!0,"meta";if(i.match(/^\s*(\&|\*)[a-z0-9\._-]+\b/i))return"variable";if(e.inlinePairs==0&&i.match(/^\s*-?[0-9\.\,]+\s?$/)||e.inlinePairs>0&&i.match(/^\s*-?[0-9\.\,]+\s?(?=(,|}))/))return"number";if(i.match(nP))return"keyword"}return!e.pair&&i.match(/^\s*(?:[,\[\]{}&*!|>'"%@`][^\s'":]|[^,\[\]{}#&*!|>'"%@`])[^#]*?(?=\s*:($|\s))/)?(e.pair=!0,e.keyCol=i.indentation(),"atom"):e.pair&&i.match(/^:\s*/)?(e.pairStart=!0,"meta"):(e.pairStart=!1,e.escaped=t=="\\",i.next(),null)},startState:function(){return{pair:!1,pairStart:!1,keyCol:0,inlinePairs:0,inlineList:0,literal:!1,escaped:!1}},languageData:{commentTokens:{line:"#"}}};var rP={break:!0,case:!0,chan:!0,const:!0,continue:!0,default:!0,defer:!0,else:!0,fallthrough:!0,for:!0,func:!0,go:!0,goto:!0,if:!0,import:!0,interface:!0,map:!0,package:!0,range:!0,return:!0,select:!0,struct:!0,switch:!0,type:!0,var:!0,bool:!0,byte:!0,complex64:!0,complex128:!0,float32:!0,float64:!0,int8:!0,int16:!0,int32:!0,int64:!0,string:!0,uint8:!0,uint16:!0,uint32:!0,uint64:!0,int:!0,uint:!0,uintptr:!0,error:!0,rune:!0,any:!0,comparable:!0},sP={true:!0,false:!0,iota:!0,nil:!0,append:!0,cap:!0,close:!0,complex:!0,copy:!0,delete:!0,imag:!0,len:!0,make:!0,new:!0,panic:!0,print:!0,println:!0,real:!0,recover:!0},tg=/[+\-*&^%:=<>!|\/]/,ti;function go(i,e){var t=i.next();if(t=='"'||t=="'"||t=="`")return e.tokenize=oP(t),e.tokenize(i,e);if(/[\d\.]/.test(t))return t=="."?i.match(/^[0-9]+([eE][\-+]?[0-9]+)?/):t=="0"?i.match(/^[xX][0-9a-fA-F]+/)||i.match(/^0[0-7]+/):i.match(/^[0-9]*\.?[0-9]*([eE][\-+]?[0-9]+)?/),"number";if(/[\[\]{}\(\),;\:\.]/.test(t))return ti=t,null;if(t=="/"){if(i.eat("*"))return e.tokenize=ig,ig(i,e);if(i.eat("/"))return i.skipToEnd(),"comment"}if(tg.test(t))return i.eatWhile(tg),"operator";i.eatWhile(/[\w\$_\xa1-\uffff]/);var n=i.current();return rP.propertyIsEnumerable(n)?((n=="case"||n=="default")&&(ti="case"),"keyword"):sP.propertyIsEnumerable(n)?"atom":"variable"}function oP(i){return function(e,t){for(var n=!1,r,s=!1;(r=e.next())!=null;){if(r==i&&!n){s=!0;break}n=!n&&i!="`"&&r=="\\"}return(s||!(n||i=="`"))&&(t.tokenize=go),"string"}}function ig(i,e){for(var t=!1,n;n=i.next();){if(n=="/"&&t){e.tokenize=go;break}t=n=="*"}return"comment"}function rg(i,e,t,n,r){this.indented=i,this.column=e,this.type=t,this.align=n,this.prev=r}function fh(i,e,t){return i.context=new rg(i.indented,e,t,null,i.context)}function ng(i){if(i.context.prev){var e=i.context.type;return(e==")"||e=="]"||e=="}")&&(i.indented=i.context.indented),i.context=i.context.prev}}var sg={name:"go",startState:function(i){return{tokenize:null,context:new rg(-i,0,"top",!1),indented:0,startOfLine:!0}},token:function(i,e){var t=e.context;if(i.sol()&&(t.align==null&&(t.align=!1),e.indented=i.indentation(),e.startOfLine=!0,t.type=="case"&&(t.type="}")),i.eatSpace())return null;ti=null;var n=(e.tokenize||go)(i,e);return n=="comment"||(t.align==null&&(t.align=!0),ti=="{"?fh(e,i.column(),"}"):ti=="["?fh(e,i.column(),"]"):ti=="("?fh(e,i.column(),")"):ti=="case"?t.type="case":(ti=="}"&&t.type=="}"||ti==t.type)&&ng(e),e.startOfLine=!1),n},indent:function(i,e,t){if(i.tokenize!=go&&i.tokenize!=null)return null;var n=i.context,r=e&&e.charAt(0);if(n.type=="case"&&/^(?:case|default)\b/.test(e))return n.indented;var s=r==n.type;return n.align?n.column+(s?0:1):n.indented+(s?0:t.unit)},languageData:{indentOnInput:/^\s([{}]|case |default\s*:)$/,commentTokens:{line:"//",block:{open:"/*",close:"*/"}}}};function Oh(i){for(var e={},t=0,n=i.length;t]/)?(i.eat(/[\<\>]/),"atom"):i.eat(/[\+\-\*\/\&\|\:\!]/)?"atom":i.eat(/[a-zA-Z$@_\xa1-\uffff]/)?(i.eatWhile(/[\w$\xa1-\uffff]/),i.eat(/[\?\!\=]/),"atom"):"operator";if(t=="@"&&i.match(/^@?[a-zA-Z_\xa1-\uffff]/))return i.eat("@"),i.eatWhile(/[\w\xa1-\uffff]/),"propertyName";if(t=="$")return i.eat(/[a-zA-Z_]/)?i.eatWhile(/[\w]/):i.eat(/\d/)?i.eat(/\d/):i.next(),"variableName.special";if(/[a-zA-Z_\xa1-\uffff]/.test(t))return i.eatWhile(/[\w\xa1-\uffff]/),i.eat(/[\?\!]/),i.eat(":")?"atom":"variable";if(t=="|"&&(e.varList||e.lastTok=="{"||e.lastTok=="do"))return $t="|",null;if(/[\(\)\[\]{}\\;]/.test(t))return $t=t,null;if(t=="-"&&i.eat(">"))return"operator";if(/[=+\-\/*:\.^%<>~|]/.test(t)){var a=i.eatWhile(/[=+\-\/*:\.^%<>~|]/);return t=="."&&!a&&($t="."),"operator"}else return null}}}function fP(i){for(var e=i.pos,t=0,n,r=!1,s=!1;(n=i.next())!=null;)if(s)s=!1;else{if("[{(".indexOf(n)>-1)t++;else if("]})".indexOf(n)>-1){if(t--,t<0)break}else if(n=="/"&&t==0){r=!0;break}s=n=="\\"}return i.backUp(i.pos-e),r}function uh(i){return i||(i=1),function(e,t){if(e.peek()=="}"){if(i==1)return t.tokenize.pop(),t.tokenize[t.tokenize.length-1](e,t);t.tokenize[t.tokenize.length-1]=uh(i-1)}else e.peek()=="{"&&(t.tokenize[t.tokenize.length-1]=uh(i+1));return Qo(e,t)}}function uP(){var i=!1;return function(e,t){return i?(t.tokenize.pop(),t.tokenize[t.tokenize.length-1](e,t)):(i=!0,Qo(e,t))}}function Ar(i,e,t,n){return function(r,s){var o=!1,a;for(s.context.type==="read-quoted-paused"&&(s.context=s.context.prev,r.eat("}"));(a=r.next())!=null;){if(a==i&&(n||!o)){s.tokenize.pop();break}if(t&&a=="#"&&!o){if(r.eat("{")){i=="}"&&(s.context={prev:s.context,type:"read-quoted-paused"}),s.tokenize.push(uh());break}else if(/[@\$]/.test(r.peek())){s.tokenize.push(uP());break}}o=!o&&a=="\\"}return e}}function OP(i,e){return function(t,n){return e&&t.eatSpace(),t.match(i)?n.tokenize.pop():t.skipToEnd(),"string"}}function dP(i,e){return i.sol()&&i.match("=end")&&i.eol()&&e.tokenize.pop(),i.skipToEnd(),"comment"}var lg={name:"ruby",startState:function(i){return{tokenize:[Qo],indented:0,context:{type:"top",indented:-i},continuedLine:!1,lastTok:null,varList:!1}},token:function(i,e){$t=null,i.sol()&&(e.indented=i.indentation());var t=e.tokenize[e.tokenize.length-1](i,e),n,r=$t;if(t=="variable"){var s=i.current();t=e.lastTok=="."?"property":aP.propertyIsEnumerable(i.current())?"keyword":/^[A-Z]/.test(s)?"tag":e.lastTok=="def"||e.lastTok=="class"||e.varList?"def":"variable",t=="keyword"&&(r=s,lP.propertyIsEnumerable(s)?n="indent":cP.propertyIsEnumerable(s)?n="dedent":((s=="if"||s=="unless")&&i.column()==i.indentation()||s=="do"&&e.context.indented2&&o.token&&typeof o.token!="string"){t.pending=[];for(var c=2;c-1)return null;var r=t.indent.length-1,s=i[t.state];e:for(;;){for(var o=0;o!]+/,token:"operator"},{regex:/[a-zA-Z_]\w*!/,token:"macroName"},{regex:/[a-zA-Z_]\w*/,token:"variable"},{regex:/[\{\[\(]/,indent:!0},{regex:/[\}\]\)]/,dedent:!0}],string:[{regex:/"/,token:"string",next:"start"},{regex:/(?:[^\\"]|\\(?:.|$))*/,token:"string"}],string_raw:[{regex:/"/,token:"string",next:"start"},{regex:/[^"]*/,token:"string"}],string_raw_hash:[{regex:/"#+/,token:"string",next:"start"},{regex:/(?:[^"]|"(?!#))*/,token:"string"}],comment:[{regex:/.*?\*\//,token:"comment",next:"start"},{regex:/.*/,token:"comment"}],languageData:{name:"rust",dontIndentStates:["comment"],indentOnInput:/^\s*\}$/,commentTokens:{line:"//",block:{open:"/*",close:"*/"}}}});function mh(i,e,t,n,r,s){this.indented=i,this.column=e,this.type=t,this.info=n,this.align=r,this.prev=s}function bo(i,e,t,n){var r=i.indented;return i.context&&i.context.type=="statement"&&t!="statement"&&(r=i.context.indented),i.context=new mh(r,e,t,n,null,i.context)}function Zr(i){var e=i.context.type;return(e==")"||e=="]"||e=="}")&&(i.indented=i.context.indented),i.context=i.context.prev}function ug(i,e,t){if(e.prevToken=="variable"||e.prevToken=="type"||/\S(?:[^- ]>|[*\]])\s*$|\*$/.test(i.string.slice(0,t))||e.typeAtEndOfLine&&i.column()==i.indentation())return!0}function dh(i){for(;;){if(!i||i.type=="top")return!0;if(i.type=="}"&&i.prev.info!="namespace")return!1;i=i.prev}}function tt(i){var e=i.statementIndentUnit,t=i.dontAlignCalls,n=i.keywords||{},r=i.types||{},s=i.builtin||{},o=i.blockKeywords||{},a=i.defKeywords||{},l=i.atoms||{},c=i.hooks||{},h=i.multiLineStrings,f=i.indentStatements!==!1,u=i.indentSwitch!==!1,O=i.namespaceSeparator,m=i.isPunctuationChar||/[\[\]{}\(\),;\:\.]/,p=i.numberStart||/[\d\.]/,b=i.number||/^(?:0x[a-f\d]+|0b[01]+|(?:\d+\.?\d*|\.\d+)(?:e[-+]?\d+)?)(u|ll?|l|f)?/i,g=i.isOperatorChar||/[+\-*&%=<>!?|\/]/,Q=i.isIdentifierChar||/[\w\$_\xa1-\uffff]/,S=i.isReservedIdentifier||!1,x,P;function $(T,C){var k=T.next();if(c[k]){var w=c[k](T,C);if(w!==!1)return w}if(k=='"'||k=="'")return C.tokenize=Z(k),C.tokenize(T,C);if(p.test(k)){if(T.backUp(1),T.match(b))return"number";T.next()}if(m.test(k))return x=k,null;if(k=="/"){if(T.eat("*"))return C.tokenize=X,X(T,C);if(T.eat("/"))return T.skipToEnd(),"comment"}if(g.test(k)){for(;!T.match(/^\/[\/*]/,!1)&&T.eat(g););return"operator"}if(T.eatWhile(Q),O)for(;T.match(O);)T.eatWhile(Q);var z=T.current();return ii(n,z)?(ii(o,z)&&(x="newstatement"),ii(a,z)&&(P=!0),"keyword"):ii(r,z)?"type":ii(s,z)||S&&S(z)?(ii(o,z)&&(x="newstatement"),"builtin"):ii(l,z)?"atom":"variable"}function Z(T){return function(C,k){for(var w=!1,z,N=!1;(z=C.next())!=null;){if(z==T&&!w){N=!0;break}w=!w&&z=="\\"}return(N||!(w||h))&&(k.tokenize=null),"string"}}function X(T,C){for(var k=!1,w;w=T.next();){if(w=="/"&&k){C.tokenize=null;break}k=w=="*"}return"comment"}function W(T,C){i.typeFirstDefinitions&&T.eol()&&dh(C.context)&&(C.typeAtEndOfLine=ug(T,C,T.pos))}return{name:i.name,startState:function(T){return{tokenize:null,context:new mh(-T,0,"top",null,!1),indented:0,startOfLine:!0,prevToken:null}},token:function(T,C){var k=C.context;if(T.sol()&&(k.align==null&&(k.align=!1),C.indented=T.indentation(),C.startOfLine=!0),T.eatSpace())return W(T,C),null;x=P=null;var w=(C.tokenize||$)(T,C);if(w=="comment"||w=="meta")return w;if(k.align==null&&(k.align=!0),x==";"||x==":"||x==","&&T.match(/^\s*(?:\/\/.*)?$/,!1))for(;C.context.type=="statement";)Zr(C);else if(x=="{")bo(C,T.column(),"}");else if(x=="[")bo(C,T.column(),"]");else if(x=="(")bo(C,T.column(),")");else if(x=="}"){for(;k.type=="statement";)k=Zr(C);for(k.type=="}"&&(k=Zr(C));k.type=="statement";)k=Zr(C)}else x==k.type?Zr(C):f&&((k.type=="}"||k.type=="top")&&x!=";"||k.type=="statement"&&x=="newstatement")&&bo(C,T.column(),"statement",T.current());if(w=="variable"&&(C.prevToken=="def"||i.typeFirstDefinitions&&ug(T,C,T.start)&&dh(C.context)&&T.match(/^\s*\(/,!1))&&(w="def"),c.token){var z=c.token(T,C,w);z!==void 0&&(w=z)}return w=="def"&&i.styleDefs===!1&&(w="variable"),C.startOfLine=!1,C.prevToken=P?"def":w||x,W(T,C),w},indent:function(T,C,k){if(T.tokenize!=$&&T.tokenize!=null||T.typeAtEndOfLine&&dh(T.context))return null;var w=T.context,z=C&&C.charAt(0),N=z==w.type;if(w.type=="statement"&&z=="}"&&(w=w.prev),i.dontIndentStatements)for(;w.type=="statement"&&i.dontIndentStatements.test(w.info);)w=w.prev;if(c.indent){var y=c.indent(T,w,C,k.unit);if(typeof y=="number")return y}var j=w.prev&&w.prev.info=="switch";if(i.allmanIndentation&&/[{(]/.test(z)){for(;w.type!="top"&&w.type!="}";)w=w.prev;return w.indented}return w.type=="statement"?w.indented+(z=="{"?0:e||k.unit):w.align&&(!t||w.type!=")")?w.column+(N?0:1):w.type==")"&&!N?w.indented+(e||k.unit):w.indented+(N?0:k.unit)+(!N&&j&&!/^(?:case|default)\b/.test(C)?k.unit:0)},languageData:{indentOnInput:u?/^\s*(?:case .*?:|default:|\{\}?|\})$/:/^\s*[{}]$/,commentTokens:{line:"//",block:{open:"/*",close:"*/"}},autocomplete:Object.keys(n).concat(Object.keys(r)).concat(Object.keys(s)).concat(Object.keys(l)),...i.languageData}}}function V(i){for(var e={},t=i.split(" "),n=0;n!?|\/#:@]/,hooks:{"@":function(i){return i.eatWhile(/[\w\$_]/),"meta"},'"':function(i,e){return i.match('""')?(e.tokenize=wg,e.tokenize(i,e)):!1},"'":function(i){return i.match(/^(\\[^'\s]+|[^\\'])'/)?"character":(i.eatWhile(/[\w\$_\xa1-\uffff]/),"atom")},"=":function(i,e){var t=e.context;return t.type=="}"&&t.align&&i.eat(">")?(e.context=new mh(t.indented,t.column,t.type,t.info,null,t.prev),"operator"):!1},"/":function(i,e){return i.eat("*")?(e.tokenize=Er(1),e.tokenize(i,e)):!1}},languageData:{closeBrackets:{brackets:["(","[","{","'",'"','"""']}}});function kP(i){return function(e,t){for(var n=!1,r,s=!1;!e.eol();){if(!i&&!n&&e.match('"')){s=!0;break}if(i&&e.match('"""')){s=!0;break}r=e.next(),!n&&r=="$"&&e.match("{")&&e.skipTo("}"),n=!n&&r=="\\"&&!i}return(s||!i)&&(t.tokenize=null),"string"}}var Pg=tt({name:"kotlin",keywords:V("package as typealias class interface this super val operator var fun for is in This throw return annotation break continue object if else while do try when !in !is as? file import where by get set abstract enum open inner override private public internal protected catch finally out final vararg reified dynamic companion constructor init sealed field property receiver param sparam lateinit data inline noinline tailrec external annotation crossinline const operator infix suspend actual expect setparam"),types:V("Boolean Byte Character CharSequence Class ClassLoader Cloneable Comparable Compiler Double Exception Float Integer Long Math Number Object Package Pair Process Runtime Runnable SecurityManager Short StackTraceElement StrictMath String StringBuffer System Thread ThreadGroup ThreadLocal Throwable Triple Void Annotation Any BooleanArray ByteArray Char CharArray DeprecationLevel DoubleArray Enum FloatArray Function Int IntArray Lazy LazyThreadSafetyMode LongArray Nothing ShortArray Unit"),intendSwitch:!1,indentStatements:!1,multiLineStrings:!0,number:/^(?:0x[a-f\d_]+|0b[01_]+|(?:[\d_]+(\.\d+)?|\.\d+)(?:e[-+]?[\d_]+)?)(ul?|l|f)?/i,blockKeywords:V("catch class do else finally for if where try while enum"),defKeywords:V("class val var object interface fun"),atoms:V("true false null this"),hooks:{"@":function(i){return i.eatWhile(/[\w\$_]/),"meta"},"*":function(i,e){return e.prevToken=="."?"variable":"operator"},'"':function(i,e){return e.tokenize=kP(i.match('""')),e.tokenize(i,e)},"/":function(i,e){return i.eat("*")?(e.tokenize=Er(1),e.tokenize(i,e)):!1},indent:function(i,e,t,n){var r=t&&t.charAt(0);if((i.prevToken=="}"||i.prevToken==")")&&t=="")return i.indented;if(i.prevToken=="operator"&&t!="}"&&i.context.type!="}"||i.prevToken=="variable"&&r=="."||(i.prevToken=="}"||i.prevToken==")")&&r==".")return n*2+e.indented;if(e.align&&e.type=="}")return e.indented+(i.context.type==(t||"").charAt(0)?0:n)}},languageData:{closeBrackets:{brackets:["(","[","{","'",'"','"""']}}}),hC=tt({name:"shader",keywords:V("sampler1D sampler2D sampler3D samplerCube sampler1DShadow sampler2DShadow const attribute uniform varying break continue discard return for while do if else struct in out inout"),types:V("float int bool void vec2 vec3 vec4 ivec2 ivec3 ivec4 bvec2 bvec3 bvec4 mat2 mat3 mat4"),blockKeywords:V("for while do if else struct"),builtin:V("radians degrees sin cos tan asin acos atan pow exp log exp2 sqrt inversesqrt abs sign floor ceil fract mod min max clamp mix step smoothstep length distance dot cross normalize ftransform faceforward reflect refract matrixCompMult lessThan lessThanEqual greaterThan greaterThanEqual equal notEqual any all not texture1D texture1DProj texture1DLod texture1DProjLod texture2D texture2DProj texture2DLod texture2DProjLod texture3D texture3DProj texture3DLod texture3DProjLod textureCube textureCubeLod shadow1D shadow2D shadow1DProj shadow2DProj shadow1DLod shadow2DLod shadow1DProjLod shadow2DProjLod dFdx dFdy fwidth noise1 noise2 noise3 noise4"),atoms:V("true false gl_FragColor gl_SecondaryColor gl_Normal gl_Vertex gl_MultiTexCoord0 gl_MultiTexCoord1 gl_MultiTexCoord2 gl_MultiTexCoord3 gl_MultiTexCoord4 gl_MultiTexCoord5 gl_MultiTexCoord6 gl_MultiTexCoord7 gl_FogCoord gl_PointCoord gl_Position gl_PointSize gl_ClipVertex gl_FrontColor gl_BackColor gl_FrontSecondaryColor gl_BackSecondaryColor gl_TexCoord gl_FogFragCoord gl_FragCoord gl_FrontFacing gl_FragData gl_FragDepth gl_ModelViewMatrix gl_ProjectionMatrix gl_ModelViewProjectionMatrix gl_TextureMatrix gl_NormalMatrix gl_ModelViewMatrixInverse gl_ProjectionMatrixInverse gl_ModelViewProjectionMatrixInverse gl_TextureMatrixTranspose gl_ModelViewMatrixInverseTranspose gl_ProjectionMatrixInverseTranspose gl_ModelViewProjectionMatrixInverseTranspose gl_TextureMatrixInverseTranspose gl_NormalScale gl_DepthRange gl_ClipPlane gl_Point gl_FrontMaterial gl_BackMaterial gl_LightSource gl_LightModel gl_FrontLightModelProduct gl_BackLightModelProduct gl_TextureColor gl_EyePlaneS gl_EyePlaneT gl_EyePlaneR gl_EyePlaneQ gl_FogParameters gl_MaxLights gl_MaxClipPlanes gl_MaxTextureUnits gl_MaxTextureCoords gl_MaxVertexAttribs gl_MaxVertexUniformComponents gl_MaxVaryingFloats gl_MaxVertexTextureImageUnits gl_MaxTextureImageUnits gl_MaxFragmentUniformComponents gl_MaxCombineTextureImageUnits gl_MaxDrawBuffers"),indentSwitch:!1,hooks:{"#":xi}}),fC=tt({name:"nesc",keywords:V(qr+" as atomic async call command component components configuration event generic implementation includes interface module new norace nx_struct nx_union post provides signal task uses abstract extends"),types:zr,blockKeywords:V(Lr),atoms:V("null true false"),hooks:{"#":xi}}),vg=tt({name:"objectivec",keywords:V(qr+" "+mg),types:Qg,builtin:V(gg),blockKeywords:V(Lr+" @synthesize @try @catch @finally @autoreleasepool @synchronized"),defKeywords:V(yo+" @interface @implementation @protocol @class"),dontIndentStatements:/^@.*$/,typeFirstDefinitions:!0,atoms:V("YES NO NULL Nil nil true false nullptr"),isReservedIdentifier:xo,hooks:{"#":xi,"*":ko}}),uC=tt({name:"objectivecpp",keywords:V(qr+" "+mg+" "+pg),types:Qg,builtin:V(gg),blockKeywords:V(Lr+" @synthesize @try @catch @finally @autoreleasepool @synchronized class try catch"),defKeywords:V(yo+" @interface @implementation @protocol @class class namespace"),dontIndentStatements:/^@.*$|^template$/,typeFirstDefinitions:!0,atoms:V("YES NO NULL Nil nil true false nullptr"),isReservedIdentifier:xo,hooks:{"#":xi,"*":ko,u:ki,U:ki,L:ki,R:ki,0:Se,1:Se,2:Se,3:Se,4:Se,5:Se,6:Se,7:Se,8:Se,9:Se,token:function(i,e,t){if(t=="variable"&&i.peek()=="("&&(e.prevToken==";"||e.prevToken==null||e.prevToken=="}")&&bg(i.current()))return"def"}},namespaceSeparator:"::"}),OC=tt({name:"squirrel",keywords:V("base break clone continue const default delete enum extends function in class foreach local resume return this throw typeof yield constructor instanceof static"),types:zr,blockKeywords:V("case catch class else for foreach if switch try while"),defKeywords:V("function local class"),typeFirstDefinitions:!0,atoms:V("true false null"),hooks:{"#":xi}}),So=null;function $g(i){return function(e,t){for(var n=!1,r,s=!1;!e.eol();){if(!n&&e.match('"')&&(i=="single"||e.match('""'))){s=!0;break}if(!n&&e.match("``")){So=$g(i),s=!0;break}r=e.next(),n=i=="single"&&!n&&r=="\\"}return s&&(t.tokenize=null),"string"}}var dC=tt({name:"ceylon",keywords:V("abstracts alias assembly assert assign break case catch class continue dynamic else exists extends finally for function given if import in interface is let module new nonempty object of out outer package return satisfies super switch then this throw try value void while"),types:function(i){var e=i.charAt(0);return e===e.toUpperCase()&&e!==e.toLowerCase()},blockKeywords:V("case catch class dynamic else finally for function if interface module new object switch try while"),defKeywords:V("class dynamic function interface module object package value"),builtin:V("abstract actual aliased annotation by default deprecated doc final formal late license native optional sealed see serializable shared suppressWarnings tagged throws variable"),isPunctuationChar:/[\[\]{}\(\),;\:\.`]/,isOperatorChar:/[+\-*&%=<>!?|^~:\/]/,numberStart:/[\d#$]/,number:/^(?:#[\da-fA-F_]+|\$[01_]+|[\d_]+[kMGTPmunpf]?|[\d_]+\.[\d_]+(?:[eE][-+]?\d+|[kMGTPmunpf]|)|)/i,multiLineStrings:!0,typeFirstDefinitions:!0,atoms:V("true false null larger smaller equal empty finished"),indentSwitch:!1,styleDefs:!1,hooks:{"@":function(i){return i.eatWhile(/[\w\$_]/),"meta"},'"':function(i,e){return e.tokenize=$g(i.match('""')?"triple":"single"),e.tokenize(i,e)},"`":function(i,e){return!So||!i.match("`")?!1:(e.tokenize=So,So=null,e.tokenize(i,e))},"'":function(i){return i.match(/^(\\[^'\s]+|[^\\'])'/)?"string.special":(i.eatWhile(/[\w\$_\xa1-\uffff]/),"atom")},token:function(i,e,t){if((t=="variable"||t=="type")&&e.prevToken==".")return"variableName.special"}},languageData:{closeBrackets:{brackets:["(","[","{","'",'"','"""']}}});function xP(i){(i.interpolationStack||(i.interpolationStack=[])).push(i.tokenize)}function Tg(i){return(i.interpolationStack||(i.interpolationStack=[])).pop()}function wP(i){return i.interpolationStack?i.interpolationStack.length:0}function ph(i,e,t,n){var r=!1;if(e.eat(i))if(e.eat(i))r=!0;else return"string";function s(o,a){for(var l=!1;!o.eol();){if(!n&&!l&&o.peek()=="$")return xP(a),a.tokenize=PP,"string";var c=o.next();if(c==i&&!l&&(!r||o.match(i+i))){a.tokenize=null;break}l=!n&&!l&&c=="\\"}return"string"}return t.tokenize=s,s(e,t)}function PP(i,e){return i.eat("$"),i.eat("{")?e.tokenize=null:e.tokenize=vP,null}function vP(i,e){return i.eatWhile(/[\w_]/),e.tokenize=Tg(e),"variable"}var pC=tt({name:"dart",keywords:V("this super static final const abstract class extends external factory implements mixin get native set typedef with enum throw rethrow assert break case continue default in return new deferred async await covariant try catch finally do else for if switch while import library export part of show hide is as extension on yield late required sealed base interface when inline"),blockKeywords:V("try catch finally do else for if switch while"),builtin:V("void bool num int double dynamic var String Null Never"),atoms:V("true false null"),number:/^(?:0x[a-f\d_]+|(?:[\d_]+\.?[\d_]*|\.[\d_]+)(?:e[-+]?[\d_]+)?)/i,hooks:{"@":function(i){return i.eatWhile(/[\w\$_\.]/),"meta"},"'":function(i,e){return ph("'",i,e,!1)},'"':function(i,e){return ph('"',i,e,!1)},r:function(i,e){var t=i.peek();return t=="'"||t=='"'?ph(i.next(),i,e,!0):!1},"}":function(i,e){return wP(e)>0?(e.tokenize=Tg(e),null):!1},"/":function(i,e){return i.eat("*")?(e.tokenize=Er(1),e.tokenize(i,e)):!1},token:function(i,e,t){if(t=="variable"){var n=RegExp("^[_$]*[A-Z][a-zA-Z0-9_$]*$","g");if(n.test(i.current()))return"type"}}}});function je(i){var e=i.client||{},t=i.atoms||{false:!0,true:!0,null:!0},n=i.builtin||M(Xg),r=i.keywords||M(Hi),s=i.operatorChars||/^[*+\-%<>!=&|~^\/]/,o=i.support||{},a=i.hooks||{},l=i.dateSQL||{date:!0,time:!0,timestamp:!0},c=i.backslashStringEscapes!==!1,h=i.brackets||/^[\{}\(\)\[\]]/,f=i.punctuation||/^[;.,:]/;function u(g,Q){var S=g.next();if(a[S]){var x=a[S](g,Q);if(x!==!1)return x}if(o.hexNumber&&(S=="0"&&g.match(/^[xX][0-9a-fA-F]+/)||(S=="x"||S=="X")&&g.match(/^'[0-9a-fA-F]*'/)))return"number";if(o.binaryNumber&&((S=="b"||S=="B")&&g.match(/^'[01]+'/)||S=="0"&&g.match(/^b[01]*/)))return"number";if(S.charCodeAt(0)>47&&S.charCodeAt(0)<58)return g.match(/^[0-9]*(\.[0-9]+)?([eE][-+]?[0-9]+)?/),o.decimallessFloat&&g.match(/^\.(?!\.)/),"number";if(S=="?"&&(g.eatSpace()||g.eol()||g.eat(";")))return"macroName";if(S=="'"||S=='"'&&o.doubleQuote)return Q.tokenize=O(S),Q.tokenize(g,Q);if((o.nCharCast&&(S=="n"||S=="N")||o.charsetCast&&S=="_"&&g.match(/[a-z][a-z0-9]*/i))&&(g.peek()=="'"||g.peek()=='"'))return"keyword";if(o.escapeConstant&&(S=="e"||S=="E")&&(g.peek()=="'"||g.peek()=='"'&&o.doubleQuote))return Q.tokenize=function($,Z){return(Z.tokenize=O($.next(),!0))($,Z)},"keyword";if(o.commentSlashSlash&&S=="/"&&g.eat("/"))return g.skipToEnd(),"comment";if(o.commentHash&&S=="#"||S=="-"&&g.eat("-")&&(!o.commentSpaceRequired||g.eat(" ")))return g.skipToEnd(),"comment";if(S=="/"&&g.eat("*"))return Q.tokenize=m(1),Q.tokenize(g,Q);if(S=="."){if(o.zerolessFloat&&g.match(/^(?:\d+(?:e[+-]?\d+)?)/i))return"number";if(g.match(/^\.+/))return null;if(o.ODBCdotTable&&g.match(/^[\w\d_$#]+/))return"type"}else{if(s.test(S))return g.eatWhile(s),"operator";if(h.test(S))return"bracket";if(f.test(S))return g.eatWhile(f),"punctuation";if(S=="{"&&(g.match(/^( )*(d|D|t|T|ts|TS)( )*'[^']*'( )*}/)||g.match(/^( )*(d|D|t|T|ts|TS)( )*"[^"]*"( )*}/)))return"number";g.eatWhile(/^[_\w\d]/);var P=g.current().toLowerCase();return l.hasOwnProperty(P)&&(g.match(/^( )+'[^']*'/)||g.match(/^( )+"[^"]*"/))?"number":t.hasOwnProperty(P)?"atom":n.hasOwnProperty(P)?"type":r.hasOwnProperty(P)?"keyword":e.hasOwnProperty(P)?"builtin":null}}function O(g,Q){return function(S,x){for(var P=!1,$;($=S.next())!=null;){if($==g&&!P){x.tokenize=u;break}P=(c||Q)&&!P&&$=="\\"}return"string"}}function m(g){return function(Q,S){var x=Q.match(/^.*?(\/\*|\*\/)/);return x?x[1]=="/*"?S.tokenize=m(g+1):g>1?S.tokenize=m(g-1):S.tokenize=u:Q.skipToEnd(),"comment"}}function p(g,Q,S){Q.context={prev:Q.context,indent:g.indentation(),col:g.column(),type:S}}function b(g){g.indent=g.context.indent,g.context=g.context.prev}return{name:"sql",startState:function(){return{tokenize:u,context:null}},token:function(g,Q){if(g.sol()&&Q.context&&Q.context.align==null&&(Q.context.align=!1),Q.tokenize==u&&g.eatSpace())return null;var S=Q.tokenize(g,Q);if(S=="comment")return S;Q.context&&Q.context.align==null&&(Q.context.align=!0);var x=g.current();return x=="("?p(g,Q,")"):x=="["?p(g,Q,"]"):Q.context&&Q.context.type==x&&b(Q),S},indent:function(g,Q,S){var x=g.context;if(!x)return null;var P=Q.charAt(0)==x.type;return x.align?x.col+(P?0:1):x.indent+(P?0:S.unit)},languageData:{commentTokens:{line:o.commentSlashSlash?"//":o.commentHash?"#":"--",block:{open:"/*",close:"*/"}},closeBrackets:{brackets:["(","[","{","'",'"',"`"]}}}}function gh(i){for(var e;(e=i.next())!=null;)if(e=="`"&&!i.eat("`"))return"string.special";return i.backUp(i.current().length-1),i.eatWhile(/\w/)?"string.special":null}function $P(i){for(var e;(e=i.next())!=null;)if(e=='"'&&!i.eat('"'))return"string.special";return i.backUp(i.current().length-1),i.eatWhile(/\w/)?"string.special":null}function Fi(i){return i.eat("@")&&(i.match("session."),i.match("local."),i.match("global.")),i.eat("'")?(i.match(/^.*'/),"string.special"):i.eat('"')?(i.match(/^.*"/),"string.special"):i.eat("`")?(i.match(/^.*`/),"string.special"):i.match(/^[0-9a-zA-Z$\.\_]+/)?"string.special":null}function Cg(i){return i.eat("N")?"atom":i.match(/^[a-zA-Z.#!?]/)?"string.special":null}var Hi="alter and as asc between by count create delete desc distinct drop from group having in insert into is join like not on or order select set table union update values where limit ";function M(i){for(var e={},t=i.split(" "),n=0;n!=^\&|\/]/,brackets:/^[\{}\(\)]/,punctuation:/^[;.,:/]/,backslashStringEscapes:!1,dateSQL:M("date datetimeoffset datetime2 smalldatetime datetime time"),hooks:{"@":Fi}}),bC=je({client:M("charset clear connect edit ego exit go help nopager notee nowarning pager print prompt quit rehash source status system tee"),keywords:M(Hi+"accessible action add after algorithm all analyze asensitive at authors auto_increment autocommit avg avg_row_length before binary binlog both btree cache call cascade cascaded case catalog_name chain change changed character check checkpoint checksum class_origin client_statistics close coalesce code collate collation collations column columns comment commit committed completion concurrent condition connection consistent constraint contains continue contributors convert cross current current_date current_time current_timestamp current_user cursor data database databases day_hour day_microsecond day_minute day_second deallocate dec declare default delay_key_write delayed delimiter des_key_file describe deterministic dev_pop dev_samp deviance diagnostics directory disable discard distinctrow div dual dumpfile each elseif enable enclosed end ends engine engines enum errors escape escaped even event events every execute exists exit explain extended fast fetch field fields first flush for force foreign found_rows full fulltext function general get global grant grants group group_concat handler hash help high_priority hosts hour_microsecond hour_minute hour_second if ignore ignore_server_ids import index index_statistics infile inner innodb inout insensitive insert_method install interval invoker isolation iterate key keys kill language last leading leave left level limit linear lines list load local localtime localtimestamp lock logs low_priority master master_heartbeat_period master_ssl_verify_server_cert masters match max max_rows maxvalue message_text middleint migrate min min_rows minute_microsecond minute_second mod mode modifies modify mutex mysql_errno natural next no no_write_to_binlog offline offset one online open optimize option optionally out outer outfile pack_keys parser partition partitions password phase plugin plugins prepare preserve prev primary privileges procedure processlist profile profiles purge query quick range read read_write reads real rebuild recover references regexp relaylog release remove rename reorganize repair repeatable replace require resignal restrict resume return returns revoke right rlike rollback rollup row row_format rtree savepoint schedule schema schema_name schemas second_microsecond security sensitive separator serializable server session share show signal slave slow smallint snapshot soname spatial specific sql sql_big_result sql_buffer_result sql_cache sql_calc_found_rows sql_no_cache sql_small_result sqlexception sqlstate sqlwarning ssl start starting starts status std stddev stddev_pop stddev_samp storage straight_join subclass_origin sum suspend table_name table_statistics tables tablespace temporary terminated to trailing transaction trigger triggers truncate uncommitted undo uninstall unique unlock upgrade usage use use_frm user user_resources user_statistics using utc_date utc_time utc_timestamp value variables varying view views warnings when while with work write xa xor year_month zerofill begin do then else loop repeat"),builtin:M("bool boolean bit blob decimal double float long longblob longtext medium mediumblob mediumint mediumtext time timestamp tinyblob tinyint tinytext text bigint int int1 int2 int3 int4 int8 integer float float4 float8 double char varbinary varchar varcharacter precision date datetime year unsigned signed numeric"),atoms:M("false true null unknown"),operatorChars:/^[*+\-%<>!=&|^]/,dateSQL:M("date time timestamp"),support:M("ODBCdotTable decimallessFloat zerolessFloat binaryNumber hexNumber doubleQuote nCharCast charsetCast commentHash commentSpaceRequired"),hooks:{"@":Fi,"`":gh,"\\":Cg}}),SC=je({client:M("charset clear connect edit ego exit go help nopager notee nowarning pager print prompt quit rehash source status system tee"),keywords:M(Hi+"accessible action add after algorithm all always analyze asensitive at authors auto_increment autocommit avg avg_row_length before binary binlog both btree cache call cascade cascaded case catalog_name chain change changed character check checkpoint checksum class_origin client_statistics close coalesce code collate collation collations column columns comment commit committed completion concurrent condition connection consistent constraint contains continue contributors convert cross current current_date current_time current_timestamp current_user cursor data database databases day_hour day_microsecond day_minute day_second deallocate dec declare default delay_key_write delayed delimiter des_key_file describe deterministic dev_pop dev_samp deviance diagnostics directory disable discard distinctrow div dual dumpfile each elseif enable enclosed end ends engine engines enum errors escape escaped even event events every execute exists exit explain extended fast fetch field fields first flush for force foreign found_rows full fulltext function general generated get global grant grants group group_concat handler hard hash help high_priority hosts hour_microsecond hour_minute hour_second if ignore ignore_server_ids import index index_statistics infile inner innodb inout insensitive insert_method install interval invoker isolation iterate key keys kill language last leading leave left level limit linear lines list load local localtime localtimestamp lock logs low_priority master master_heartbeat_period master_ssl_verify_server_cert masters match max max_rows maxvalue message_text middleint migrate min min_rows minute_microsecond minute_second mod mode modifies modify mutex mysql_errno natural next no no_write_to_binlog offline offset one online open optimize option optionally out outer outfile pack_keys parser partition partitions password persistent phase plugin plugins prepare preserve prev primary privileges procedure processlist profile profiles purge query quick range read read_write reads real rebuild recover references regexp relaylog release remove rename reorganize repair repeatable replace require resignal restrict resume return returns revoke right rlike rollback rollup row row_format rtree savepoint schedule schema schema_name schemas second_microsecond security sensitive separator serializable server session share show shutdown signal slave slow smallint snapshot soft soname spatial specific sql sql_big_result sql_buffer_result sql_cache sql_calc_found_rows sql_no_cache sql_small_result sqlexception sqlstate sqlwarning ssl start starting starts status std stddev stddev_pop stddev_samp storage straight_join subclass_origin sum suspend table_name table_statistics tables tablespace temporary terminated to trailing transaction trigger triggers truncate uncommitted undo uninstall unique unlock upgrade usage use use_frm user user_resources user_statistics using utc_date utc_time utc_timestamp value variables varying view views virtual warnings when while with work write xa xor year_month zerofill begin do then else loop repeat"),builtin:M("bool boolean bit blob decimal double float long longblob longtext medium mediumblob mediumint mediumtext time timestamp tinyblob tinyint tinytext text bigint int int1 int2 int3 int4 int8 integer float float4 float8 double char varbinary varchar varcharacter precision date datetime year unsigned signed numeric"),atoms:M("false true null unknown"),operatorChars:/^[*+\-%<>!=&|^]/,dateSQL:M("date time timestamp"),support:M("ODBCdotTable decimallessFloat zerolessFloat binaryNumber hexNumber doubleQuote nCharCast charsetCast commentHash commentSpaceRequired"),hooks:{"@":Fi,"`":gh,"\\":Cg}}),yC=je({client:M("auth backup bail binary changes check clone databases dbinfo dump echo eqp exit explain fullschema headers help import imposter indexes iotrace limit lint load log mode nullvalue once open output print prompt quit read restore save scanstats schema separator session shell show stats system tables testcase timeout timer trace vfsinfo vfslist vfsname width"),keywords:M(Hi+"abort action add after all analyze attach autoincrement before begin cascade case cast check collate column commit conflict constraint cross current_date current_time current_timestamp database default deferrable deferred detach each else end escape except exclusive exists explain fail for foreign full glob if ignore immediate index indexed initially inner instead intersect isnull key left limit match natural no notnull null of offset outer plan pragma primary query raise recursive references regexp reindex release rename replace restrict right rollback row savepoint temp temporary then to transaction trigger unique using vacuum view virtual when with without"),builtin:M("bool boolean bit blob decimal double float long longblob longtext medium mediumblob mediumint mediumtext time timestamp tinyblob tinyint tinytext text clob bigint int int2 int8 integer float double char varchar date datetime year unsigned signed numeric real"),atoms:M("null current_date current_time current_timestamp"),operatorChars:/^[*+\-%<>!=&|/~]/,dateSQL:M("date time timestamp datetime"),support:M("decimallessFloat zerolessFloat"),identifierQuote:'"',hooks:{"@":Fi,":":Fi,"?":Fi,$:Fi,'"':$P,"`":gh}}),kC=je({client:{},keywords:M("add all allow alter and any apply as asc authorize batch begin by clustering columnfamily compact consistency count create custom delete desc distinct drop each_quorum exists filtering from grant if in index insert into key keyspace keyspaces level limit local_one local_quorum modify nan norecursive nosuperuser not of on one order password permission permissions primary quorum rename revoke schema select set storage superuser table three to token truncate ttl two type unlogged update use user users using values where with writetime"),builtin:M("ascii bigint blob boolean counter decimal double float frozen inet int list map static text timestamp timeuuid tuple uuid varchar varint"),atoms:M("false true infinity NaN"),operatorChars:/^[<>=]/,dateSQL:{},support:M("commentSlashSlash decimallessFloat"),hooks:{}}),xC=je({client:M("appinfo arraysize autocommit autoprint autorecovery autotrace blockterminator break btitle cmdsep colsep compatibility compute concat copycommit copytypecheck define describe echo editfile embedded escape exec execute feedback flagger flush heading headsep instance linesize lno loboffset logsource long longchunksize markup native newpage numformat numwidth pagesize pause pno recsep recsepchar release repfooter repheader serveroutput shiftinout show showmode size spool sqlblanklines sqlcase sqlcode sqlcontinue sqlnumber sqlpluscompatibility sqlprefix sqlprompt sqlterminator suffix tab term termout time timing trimout trimspool ttitle underline verify version wrap"),keywords:M("abort accept access add all alter and any array arraylen as asc assert assign at attributes audit authorization avg base_table begin between binary_integer body boolean by case cast char char_base check close cluster clusters colauth column comment commit compress connect connected constant constraint crash create current currval cursor data_base database date dba deallocate debugoff debugon decimal declare default definition delay delete desc digits dispose distinct do drop else elseif elsif enable end entry escape exception exception_init exchange exclusive exists exit external fast fetch file for force form from function generic goto grant group having identified if immediate in increment index indexes indicator initial initrans insert interface intersect into is key level library like limited local lock log logging long loop master maxextents maxtrans member minextents minus mislabel mode modify multiset new next no noaudit nocompress nologging noparallel not nowait number_base object of off offline on online only open option or order out package parallel partition pctfree pctincrease pctused pls_integer positive positiven pragma primary prior private privileges procedure public raise range raw read rebuild record ref references refresh release rename replace resource restrict return returning returns reverse revoke rollback row rowid rowlabel rownum rows run savepoint schema segment select separate session set share snapshot some space split sql start statement storage subtype successful synonym tabauth table tables tablespace task terminate then to trigger truncate type union unique unlimited unrecoverable unusable update use using validate value values variable view views when whenever where while with work"),builtin:M("abs acos add_months ascii asin atan atan2 average bfile bfilename bigserial bit blob ceil character chartorowid chr clob concat convert cos cosh count dec decode deref dual dump dup_val_on_index empty error exp false float floor found glb greatest hextoraw initcap instr instrb int integer isopen last_day least length lengthb ln lower lpad ltrim lub make_ref max min mlslabel mod months_between natural naturaln nchar nclob new_time next_day nextval nls_charset_decl_len nls_charset_id nls_charset_name nls_initcap nls_lower nls_sort nls_upper nlssort no_data_found notfound null number numeric nvarchar2 nvl others power rawtohex real reftohex round rowcount rowidtochar rowtype rpad rtrim serial sign signtype sin sinh smallint soundex sqlcode sqlerrm sqrt stddev string substr substrb sum sysdate tan tanh to_char text to_date to_label to_multi_byte to_number to_single_byte translate true trunc uid unlogged upper user userenv varchar varchar2 variance varying vsize xml"),operatorChars:/^[*\/+\-%<>!=~]/,dateSQL:M("date time timestamp"),support:M("doubleQuote nCharCast zerolessFloat binaryNumber hexNumber")}),wC=je({keywords:M("select alter $elem$ $key$ $value$ add after all analyze and archive as asc before between binary both bucket buckets by cascade case cast change cluster clustered clusterstatus collection column columns comment compute concatenate continue create cross cursor data database databases dbproperties deferred delete delimited desc describe directory disable distinct distribute drop else enable end escaped exclusive exists explain export extended external fetch fields fileformat first format formatted from full function functions grant group having hold_ddltime idxproperties if import in index indexes inpath inputdriver inputformat insert intersect into is items join keys lateral left like limit lines load local location lock locks mapjoin materialized minus msck no_drop nocompress not of offline on option or order out outer outputdriver outputformat overwrite partition partitioned partitions percent plus preserve procedure purge range rcfile read readonly reads rebuild recordreader recordwriter recover reduce regexp rename repair replace restrict revoke right rlike row schema schemas semi sequencefile serde serdeproperties set shared show show_database sort sorted ssl statistics stored streamtable table tables tablesample tblproperties temporary terminated textfile then tmp to touch transform trigger unarchive undo union uniquejoin unlock update use using utc utc_tmestamp view when where while with admin authorization char compact compactions conf cube current current_date current_timestamp day decimal defined dependency directories elem_type exchange file following for grouping hour ignore inner interval jar less logical macro minute month more none noscan over owner partialscan preceding pretty principals protection reload rewrite role roles rollup rows second server sets skewed transactions truncate unbounded unset uri user values window year"),builtin:M("bool boolean long timestamp tinyint smallint bigint int float double date datetime unsigned string array struct map uniontype key_type utctimestamp value_type varchar"),atoms:M("false true null unknown"),operatorChars:/^[*+\-%<>!=]/,dateSQL:M("date timestamp"),support:M("ODBCdotTable doubleQuote binaryNumber hexNumber")}),PC=je({client:M("source"),keywords:M(Hi+"a abort abs absent absolute access according action ada add admin after aggregate alias all allocate also alter always analyse analyze and any are array array_agg array_max_cardinality as asc asensitive assert assertion assignment asymmetric at atomic attach attribute attributes authorization avg backward base64 before begin begin_frame begin_partition bernoulli between bigint binary bit bit_length blob blocked bom boolean both breadth by c cache call called cardinality cascade cascaded case cast catalog catalog_name ceil ceiling chain char char_length character character_length character_set_catalog character_set_name character_set_schema characteristics characters check checkpoint class class_origin clob close cluster coalesce cobol collate collation collation_catalog collation_name collation_schema collect column column_name columns command_function command_function_code comment comments commit committed concurrently condition condition_number configuration conflict connect connection connection_name constant constraint constraint_catalog constraint_name constraint_schema constraints constructor contains content continue control conversion convert copy corr corresponding cost count covar_pop covar_samp create cross csv cube cume_dist current current_catalog current_date current_default_transform_group current_path current_role current_row current_schema current_time current_timestamp current_transform_group_for_type current_user cursor cursor_name cycle data database datalink datatype date datetime_interval_code datetime_interval_precision day db deallocate debug dec decimal declare default defaults deferrable deferred defined definer degree delete delimiter delimiters dense_rank depends depth deref derived desc describe descriptor detach detail deterministic diagnostics dictionary disable discard disconnect dispatch distinct dlnewcopy dlpreviouscopy dlurlcomplete dlurlcompleteonly dlurlcompletewrite dlurlpath dlurlpathonly dlurlpathwrite dlurlscheme dlurlserver dlvalue do document domain double drop dump dynamic dynamic_function dynamic_function_code each element else elseif elsif empty enable encoding encrypted end end_frame end_partition endexec enforced enum equals errcode error escape event every except exception exclude excluding exclusive exec execute exists exit exp explain expression extension external extract false family fetch file filter final first first_value flag float floor following for force foreach foreign fortran forward found frame_row free freeze from fs full function functions fusion g general generated get global go goto grant granted greatest group grouping groups handler having header hex hierarchy hint hold hour id identity if ignore ilike immediate immediately immutable implementation implicit import in include including increment indent index indexes indicator info inherit inherits initially inline inner inout input insensitive insert instance instantiable instead int integer integrity intersect intersection interval into invoker is isnull isolation join k key key_member key_type label lag language large last last_value lateral lead leading leakproof least left length level library like like_regex limit link listen ln load local localtime localtimestamp location locator lock locked log logged loop lower m map mapping match matched materialized max max_cardinality maxvalue member merge message message_length message_octet_length message_text method min minute minvalue mod mode modifies module month more move multiset mumps name names namespace national natural nchar nclob nesting new next nfc nfd nfkc nfkd nil no none normalize normalized not nothing notice notify notnull nowait nth_value ntile null nullable nullif nulls number numeric object occurrences_regex octet_length octets of off offset oids old on only open operator option options or order ordering ordinality others out outer output over overlaps overlay overriding owned owner p pad parallel parameter parameter_mode parameter_name parameter_ordinal_position parameter_specific_catalog parameter_specific_name parameter_specific_schema parser partial partition pascal passing passthrough password path percent percent_rank percentile_cont percentile_disc perform period permission pg_context pg_datatype_name pg_exception_context pg_exception_detail pg_exception_hint placing plans pli policy portion position position_regex power precedes preceding precision prepare prepared preserve primary print_strict_params prior privileges procedural procedure procedures program public publication query quote raise range rank read reads real reassign recheck recovery recursive ref references referencing refresh regr_avgx regr_avgy regr_count regr_intercept regr_r2 regr_slope regr_sxx regr_sxy regr_syy reindex relative release rename repeatable replace replica requiring reset respect restart restore restrict result result_oid return returned_cardinality returned_length returned_octet_length returned_sqlstate returning returns reverse revoke right role rollback rollup routine routine_catalog routine_name routine_schema routines row row_count row_number rows rowtype rule savepoint scale schema schema_name schemas scope scope_catalog scope_name scope_schema scroll search second section security select selective self sensitive sequence sequences serializable server server_name session session_user set setof sets share show similar simple size skip slice smallint snapshot some source space specific specific_name specifictype sql sqlcode sqlerror sqlexception sqlstate sqlwarning sqrt stable stacked standalone start state statement static statistics stddev_pop stddev_samp stdin stdout storage strict strip structure style subclass_origin submultiset subscription substring substring_regex succeeds sum symmetric sysid system system_time system_user t table table_name tables tablesample tablespace temp template temporary text then ties time timestamp timezone_hour timezone_minute to token top_level_count trailing transaction transaction_active transactions_committed transactions_rolled_back transform transforms translate translate_regex translation treat trigger trigger_catalog trigger_name trigger_schema trim trim_array true truncate trusted type types uescape unbounded uncommitted under unencrypted union unique unknown unlink unlisten unlogged unnamed unnest until untyped update upper uri usage use_column use_variable user user_defined_type_catalog user_defined_type_code user_defined_type_name user_defined_type_schema using vacuum valid validate validator value value_of values var_pop var_samp varbinary varchar variable_conflict variadic varying verbose version versioning view views volatile warning when whenever where while whitespace width_bucket window with within without work wrapper write xml xmlagg xmlattributes xmlbinary xmlcast xmlcomment xmlconcat xmldeclaration xmldocument xmlelement xmlexists xmlforest xmliterate xmlnamespaces xmlparse xmlpi xmlquery xmlroot xmlschema xmlserialize xmltable xmltext xmlvalidate year yes zone"),builtin:M("bigint int8 bigserial serial8 bit varying varbit boolean bool box bytea character char varchar cidr circle date double precision float8 inet integer int int4 interval json jsonb line lseg macaddr macaddr8 money numeric decimal path pg_lsn point polygon real float4 smallint int2 smallserial serial2 serial serial4 text time without zone with timetz timestamp timestamptz tsquery tsvector txid_snapshot uuid xml"),atoms:M("false true null unknown"),operatorChars:/^[*\/+\-%<>!=&|^\/#@?~]/,backslashStringEscapes:!1,dateSQL:M("date time timestamp"),support:M("ODBCdotTable decimallessFloat zerolessFloat binaryNumber hexNumber nCharCast charsetCast escapeConstant")}),vC=je({keywords:M("ancestor and asc by contains desc descendant distinct from group has in is limit offset on order select superset where"),atoms:M("false true"),builtin:M("blob datetime first key __key__ string integer double boolean null"),operatorChars:/^[*+\-%<>!=]/}),$C=je({client:M("source"),keywords:M("abort absolute access action active add admin after aggregate all also alter always analyse analyze and any array as asc assertion assignment asymmetric at authorization backward before begin between bigint binary bit boolean both by cache called cascade cascaded case cast chain char character characteristics check checkpoint class close cluster coalesce codegen collate column comment commit committed concurrency concurrently configuration connection constraint constraints contains content continue conversion copy cost cpu_rate_limit create createdb createexttable createrole createuser cross csv cube current current_catalog current_date current_role current_schema current_time current_timestamp current_user cursor cycle data database day deallocate dec decimal declare decode default defaults deferrable deferred definer delete delimiter delimiters deny desc dictionary disable discard distinct distributed do document domain double drop dxl each else enable encoding encrypted end enum errors escape every except exchange exclude excluding exclusive execute exists explain extension external extract false family fetch fields filespace fill filter first float following for force foreign format forward freeze from full function global grant granted greatest group group_id grouping handler hash having header hold host hour identity if ignore ilike immediate immutable implicit in including inclusive increment index indexes inherit inherits initially inline inner inout input insensitive insert instead int integer intersect interval into invoker is isnull isolation join key language large last leading least left level like limit list listen load local localtime localtimestamp location lock log login mapping master match maxvalue median merge minute minvalue missing mode modifies modify month move name names national natural nchar new newline next no nocreatedb nocreateexttable nocreaterole nocreateuser noinherit nologin none noovercommit nosuperuser not nothing notify notnull nowait null nullif nulls numeric object of off offset oids old on only operator option options or order ordered others out outer over overcommit overlaps overlay owned owner parser partial partition partitions passing password percent percentile_cont percentile_disc placing plans position preceding precision prepare prepared preserve primary prior privileges procedural procedure protocol queue quote randomly range read readable reads real reassign recheck recursive ref references reindex reject relative release rename repeatable replace replica reset resource restart restrict returning returns revoke right role rollback rollup rootpartition row rows rule savepoint scatter schema scroll search second security segment select sequence serializable session session_user set setof sets share show similar simple smallint some split sql stable standalone start statement statistics stdin stdout storage strict strip subpartition subpartitions substring superuser symmetric sysid system table tablespace temp template temporary text then threshold ties time timestamp to trailing transaction treat trigger trim true truncate trusted type unbounded uncommitted unencrypted union unique unknown unlisten until update user using vacuum valid validation validator value values varchar variadic varying verbose version view volatile web when where whitespace window with within without work writable write xml xmlattributes xmlconcat xmlelement xmlexists xmlforest xmlparse xmlpi xmlroot xmlserialize year yes zone"),builtin:M("bigint int8 bigserial serial8 bit varying varbit boolean bool box bytea character char varchar cidr circle date double precision float float8 inet integer int int4 interval json jsonb line lseg macaddr macaddr8 money numeric decimal path pg_lsn point polygon real float4 smallint int2 smallserial serial2 serial serial4 text time without zone with timetz timestamp timestamptz tsquery tsvector txid_snapshot uuid xml"),atoms:M("false true null unknown"),operatorChars:/^[*+\-%<>!=&|^\/#@?~]/,dateSQL:M("date time timestamp"),support:M("ODBCdotTable decimallessFloat zerolessFloat binaryNumber hexNumber nCharCast charsetCast")}),TC=je({keywords:M("add after all alter analyze and anti archive array as asc at between bucket buckets by cache cascade case cast change clear cluster clustered codegen collection column columns comment commit compact compactions compute concatenate cost create cross cube current current_date current_timestamp database databases data dbproperties defined delete delimited deny desc describe dfs directories distinct distribute drop else end escaped except exchange exists explain export extended external false fields fileformat first following for format formatted from full function functions global grant group grouping having if ignore import in index indexes inner inpath inputformat insert intersect interval into is items join keys last lateral lazy left like limit lines list load local location lock locks logical macro map minus msck natural no not null nulls of on optimize option options or order out outer outputformat over overwrite partition partitioned partitions percent preceding principals purge range recordreader recordwriter recover reduce refresh regexp rename repair replace reset restrict revoke right rlike role roles rollback rollup row rows schema schemas select semi separated serde serdeproperties set sets show skewed sort sorted start statistics stored stratify struct table tables tablesample tblproperties temp temporary terminated then to touch transaction transactions transform true truncate unarchive unbounded uncache union unlock unset use using values view when where window with"),builtin:M("tinyint smallint int bigint boolean float double string binary timestamp decimal array map struct uniontype delimited serde sequencefile textfile rcfile inputformat outputformat"),atoms:M("false true null"),operatorChars:/^[*\/+\-%<>!=~&|^]/,dateSQL:M("date time timestamp"),support:M("ODBCdotTable doubleQuote zerolessFloat")}),CC=je({client:M("source"),keywords:M("alter and as asc between by count create delete desc distinct drop from group having in insert into is join like not on or order select set table union update values where limit after all and as at asc avedev avg between by case cast coalesce count create current_timestamp day days delete define desc distinct else end escape events every exists false first from full group having hour hours in inner insert instanceof into irstream is istream join last lastweekday left limit like max match_recognize matches median measures metadatasql min minute minutes msec millisecond milliseconds not null offset on or order outer output partition pattern prev prior regexp retain-union retain-intersection right rstream sec second seconds select set some snapshot sql stddev sum then true unidirectional until update variable weekday when where window"),builtin:{},atoms:M("false true null"),operatorChars:/^[*+\-%<>!=&|^\/#@?~]/,dateSQL:M("time"),support:M("decimallessFloat zerolessFloat binaryNumber hexNumber")});var _g={name:"toml",startState:function(){return{inString:!1,stringType:"",lhs:!0,inArray:0}},token:function(i,e){let t;if(!e.inString&&(t=i.match(/^('''|"""|'|")/))&&(e.stringType=t[0],e.inString=!0),i.sol()&&!e.inString&&e.inArray===0&&(e.lhs=!0),e.inString){for(;e.inString;)if(i.match(e.stringType))e.inString=!1;else if(i.peek()==="\\")i.next(),i.next();else{if(i.eol())break;i.match(/^.[^\\\"\']*/)}return e.lhs?"property":"string"}else{if(e.inArray&&i.peek()==="]")return i.next(),e.inArray--,"bracket";if(e.lhs&&i.peek()==="["&&i.skipTo("]"))return i.next(),i.peek()==="]"&&i.next(),"atom";if(i.peek()==="#")return i.skipToEnd(),"comment";if(i.eatSpace())return null;if(e.lhs&&i.eatWhile(function(n){return n!="="&&n!=" "}))return"property";if(e.lhs&&i.peek()==="=")return i.next(),e.lhs=!1,null;if(!e.lhs&&i.match(/^\d\d\d\d[\d\-\:\.T]*Z/))return"atom";if(!e.lhs&&(i.match("true")||i.match("false")))return"atom";if(!e.lhs&&i.peek()==="[")return e.inArray++,i.next(),"bracket";if(!e.lhs&&i.match(/^\-?\d+(?:\.\d+)?/))return"number";i.eatSpace()||i.next()}return null},languageData:{commentTokens:{line:"#"}}};var TP=Qe({"for in if else endfor endif":d.controlKeyword,"Attribute/Identifier":d.definition(d.propertyName),"ForIntro/Identifier":d.definition(d.propertyName),"Block/Identifier":d.definitionKeyword,"FunctionCall/Identifier":d.function(d.variableName),"Attribute/Expression":d.attributeValue,"VariableExpr/Identifier":d.variableName,"GetAttr/Identifier":d.variableName,Identifier:d.name,"LiteralValue/...":d.literal,"StringLit/... TemplateLiteral":d.string,NumericLit:d.number,BoolLit:d.bool,NullLit:d.null,Comment:d.comment,LineComment:d.lineComment,BlockComment:d.blockComment,"( )":d.paren,"{ }":d.bracket,"[ ]":d.squareBracket,ArithOp:d.arithmeticOperator,LogicOp:d.logicOperator,CompareOp:d.compareOperator,ControlOp:d.controlOperator,HeredocIdentifier:d.special(d.controlKeyword),HeredocStart:d.special(d.brace),"TemplateInterpolationStart TemplateInterpolationEnd":d.special(d.brace),"TemplateDirectiveStart TemplateDirectiveEnd":d.special(d.brace),StripMarker:d.special(d.brace),Ellipsis:d.punctuation,": =>":d.punctuation,",":d.separator}),Qh=1,bh=2,Sh=3,yh=4,kh=5,xh=6,An=7,Ee=93,Re={QUOTED_TEMPLATE:1,TEMPLATE_INTERPOLATION:2,TEMPLATE_DIRECTIVE:4,HEREDOC_TEMPLATE:8},CP=function(i){var e=0,t,n;if(i.length===0)return e;for(t=0;t{if(e.canShift(Qh)&&!(e.context&&e.context.type===Re.QUOTED_TEMPLATE)&&String.fromCharCode(i.next)==='"')return i.advance(),i.acceptToken(Qh)},{contextual:!0,fallback:!0}),AP=new ee((i,e)=>{if(e.canShift(bh)&&e.context&&e.context.type===Re.QUOTED_TEMPLATE&&String.fromCharCode(i.next)==='"')return i.advance(),i.acceptToken(bh)},{contextual:!0,fallback:!0}),ZP=new ee((i,e)=>{if(e.canShift(Ee)&&e.context&&e.context.type===Re.QUOTED_TEMPLATE)switch(String.fromCharCode(i.next)){case"\\":switch(i.advance(),String.fromCharCode(i.next)){case'"':case"n":case"r":case"t":case"\\":return i.advance(),i.acceptToken(Ee);case"u":for(let t=0;t<4;t++)if(i.advance(),!/[0-9a-fA-F]/.test(String.fromCharCode(i.next)))return;return i.advance(),i.acceptToken(Ee);case"U":for(let t=0;t<8;t++)if(i.advance(),!/[0-9a-fA-F]/.test(String.fromCharCode(i.next)))return;return i.advance(),i.acceptToken(Ee);default:return}}if(e.canShift(Ee)&&e.context&&(e.context.type===Re.QUOTED_TEMPLATE||e.context.type===Re.HEREDOC_TEMPLATE)&&i.next!==-1)return i.advance(),i.acceptToken(Ee)},{contextual:!0,fallback:!0}),EP=new ee((i,e)=>{if(e.canShift(Sh)&&e.canShift(Ee)&&!(e.context&&e.context.type===Re.TEMPLATE_INTERPOLATION)&&String.fromCharCode(i.next)==="$")return i.advance(),String.fromCharCode(i.next)==="{"?(i.advance(),i.acceptToken(Sh)):(String.fromCharCode(i.next)==="$"&&(i.advance(),String.fromCharCode(i.next)==="{")&&i.advance(),i.acceptToken(Ee))},{contextual:!0,fallback:!0}),qP=new ee((i,e)=>{if(e.canShift(yh)&&e.context&&e.context.type===Re.TEMPLATE_INTERPOLATION&&String.fromCharCode(i.next)==="}")return i.advance(),i.acceptToken(yh)},{contextual:!0,fallback:!0}),zP=new ee((i,e)=>{if(e.canShift(kh)&&e.canShift(Ee)&&!(e.context&&e.context.type===Re.TEMPLATE_DIRECTIVE)&&String.fromCharCode(i.next)==="%")return i.advance(),String.fromCharCode(i.next)==="{"?(i.advance(),i.acceptToken(kh)):(String.fromCharCode(i.next)==="%"&&(i.advance(),String.fromCharCode(i.next)==="{")&&i.advance(),i.acceptToken(Ee))},{contextual:!0,fallback:!0}),LP=new ee((i,e)=>{if(e.canShift(xh)&&e.context&&e.context.type===Re.TEMPLATE_DIRECTIVE&&String.fromCharCode(i.next)==="}")return i.advance(),i.acceptToken(xh)},{contextual:!0,fallback:!0}),MP=new ee((i,e)=>{if(e.canShift(An)&&!(e.context&&e.context.type===Re.HEREDOC_TEMPLATE)&&i.next!==-1){let t=String.fromCharCode(i.next);for(;/[0-9a-zA-Z]/.test(t)||t==="_"||t==="-";)i.advance(),t=String.fromCharCode(i.next);return i.acceptToken(An)}if(e.canShift(An)&&e.canShift(Ee)&&e.context&&e.context.type===Re.HEREDOC_TEMPLATE&&i.next!=-1){let t=e.context.heredoc_identifier,n=!1,r=!1,s=String.fromCharCode(i.next);for(;/\s/.test(s);)r=!0,s===` +`,{label:"if",detail:"block",type:"keyword"}),he("if ${}:\n ${}\nelse:\n ${}",{label:"if",detail:"/ else block",type:"keyword"}),he("class ${name}:\n def __init__(self, ${params}):\n ${}",{label:"class",detail:"definition",type:"keyword"}),he("import ${module}",{label:"import",detail:"statement",type:"keyword"}),he("from ${module} import ${names}",{label:"from",detail:"import",type:"keyword"})],_w=Us(Ym,Bs(Cw.concat(Xw)));function sh(i){let{node:e,pos:t}=i,n=i.lineIndent(t,-1),r=null;for(;;){let s=e.childBefore(t);if(s)if(s.name=="Comment")t=s.from;else if(s.name=="Body"||s.name=="MatchBody")i.baseIndentFor(s)+i.unit<=n&&(r=s),e=s;else if(s.name=="MatchClause")e=s;else if(s.type.is("Statement"))e=s;else break;else break}return r}function oh(i,e){let t=i.baseIndentFor(e),n=i.lineAt(i.pos,-1),r=n.from+n.text.length;return/^\s*($|#)/.test(n.text)&&i.node.tot?null:t+i.unit}var ah=Xe.define({name:"python",parser:Mm.configure({props:[Pe.add({Body:i=>{var e;let t=/^\s*(#|$)/.test(i.textAfter)&&sh(i)||i.node;return(e=oh(i,t))!==null&&e!==void 0?e:i.continue()},MatchBody:i=>{var e;let t=sh(i);return(e=oh(i,t||i.node))!==null&&e!==void 0?e:i.continue()},IfStatement:i=>/^\s*(else:|elif )/.test(i.textAfter)?i.baseIndent:i.continue(),"ForStatement WhileStatement":i=>/^\s*else:/.test(i.textAfter)?i.baseIndent:i.continue(),TryStatement:i=>/^\s*(except[ :]|finally:|else:)/.test(i.textAfter)?i.baseIndent:i.continue(),MatchStatement:i=>/^\s*case /.test(i.textAfter)?i.baseIndent+i.unit:i.continue(),"TupleExpression ComprehensionExpression ParamList ArgList ParenthesizedExpression":wt({closing:")"}),"DictionaryExpression DictionaryComprehensionExpression SetExpression SetComprehensionExpression":wt({closing:"}"}),"ArrayExpression ArrayComprehensionExpression":wt({closing:"]"}),MemberExpression:i=>i.baseIndent+i.unit,"String FormatString":()=>null,Script:i=>{var e;let t=sh(i);return(e=t&&oh(i,t))!==null&&e!==void 0?e:i.continue()}}),_e.add({"ArrayExpression DictionaryExpression SetExpression TupleExpression":Ot,Body:(i,e)=>({from:i.from+1,to:i.to-(i.to==e.doc.length?0:1)}),"String FormatString":(i,e)=>({from:e.doc.lineAt(i.from).to,to:i.to})})]}),languageData:{closeBrackets:{brackets:["(","[","{","'",'"',"'''",'"""'],stringPrefixes:["f","fr","rf","r","u","b","br","rb","F","FR","RF","R","U","B","BR","RB"]},commentTokens:{line:"#"},indentOnInput:/^\s*([\}\]\)]|else:|elif |except |finally:|case\s+[^:]*:?)$/}});function Im(){return new me(ah,[ah.data.of({autocomplete:Tw}),ah.data.of({autocomplete:_w})])}var Rw=Qe({String:d.string,Number:d.number,"True False":d.bool,PropertyName:d.propertyName,Null:d.null,", :":d.separator,"[ ]":d.squareBracket,"{ }":d.brace}),Bm=ve.deserialize({version:14,states:"$bOVQPOOOOQO'#Cb'#CbOnQPO'#CeOvQPO'#ClOOQO'#Cr'#CrQOQPOOOOQO'#Cg'#CgO}QPO'#CfO!SQPO'#CtOOQO,59P,59PO![QPO,59PO!aQPO'#CuOOQO,59W,59WO!iQPO,59WOVQPO,59QOqQPO'#CmO!nQPO,59`OOQO1G.k1G.kOVQPO'#CnO!vQPO,59aOOQO1G.r1G.rOOQO1G.l1G.lOOQO,59X,59XOOQO-E6k-E6kOOQO,59Y,59YOOQO-E6l-E6l",stateData:"#O~OeOS~OQSORSOSSOTSOWQO_ROgPO~OVXOgUO~O^[O~PVO[^O~O]_OVhX~OVaO~O]bO^iX~O^dO~O]_OVha~O]bO^ia~O",goto:"!kjPPPPPPkPPkqwPPPPk{!RPPP!XP!e!hXSOR^bQWQRf_TVQ_Q`WRg`QcZRicQTOQZRQe^RhbRYQR]R",nodeNames:"\u26A0 JsonText True False Null Number String } { Object Property PropertyName : , ] [ Array",maxTerm:25,nodeProps:[["isolate",-2,6,11,""],["openedBy",7,"{",14,"["],["closedBy",8,"}",15,"]"]],propSources:[Rw],skippedNodes:[0],repeatNodeCount:2,tokenData:"(|~RaXY!WYZ!W]^!Wpq!Wrs!]|}$u}!O$z!Q!R%T!R![&c![!]&t!}#O&y#P#Q'O#Y#Z'T#b#c'r#h#i(Z#o#p(r#q#r(w~!]Oe~~!`Wpq!]qr!]rs!xs#O!]#O#P!}#P;'S!];'S;=`$o<%lO!]~!}Og~~#QXrs!]!P!Q!]#O#P!]#U#V!]#Y#Z!]#b#c!]#f#g!]#h#i!]#i#j#m~#pR!Q![#y!c!i#y#T#Z#y~#|R!Q![$V!c!i$V#T#Z$V~$YR!Q![$c!c!i$c#T#Z$c~$fR!Q![!]!c!i!]#T#Z!]~$rP;=`<%l!]~$zO]~~$}Q!Q!R%T!R![&c~%YRT~!O!P%c!g!h%w#X#Y%w~%fP!Q![%i~%nRT~!Q![%i!g!h%w#X#Y%w~%zR{|&T}!O&T!Q![&Z~&WP!Q![&Z~&`PT~!Q![&Z~&hST~!O!P%c!Q![&c!g!h%w#X#Y%w~&yO[~~'OO_~~'TO^~~'WP#T#U'Z~'^P#`#a'a~'dP#g#h'g~'jP#X#Y'm~'rOR~~'uP#i#j'x~'{P#`#a(O~(RP#`#a(U~(ZOS~~(^P#f#g(a~(dP#i#j(g~(jP#X#Y(m~(rOQ~~(wOW~~(|OV~",tokenizers:[0],topRules:{JsonText:[0,1]},tokenPrec:0});var Aw=Xe.define({name:"json",parser:Bm.configure({props:[Pe.add({Object:Gt({except:/^\s*\}/}),Array:Gt({except:/^\s*\]/})}),_e.add({"Object Array":Ot})]}),languageData:{closeBrackets:{brackets:["[","{",'"']},indentOnInput:/^\s*[\}\]]$/}});function Um(){return new me(Aw)}function po(i){for(var e={},t=0;t~^?!",Mw=":;,.(){}[]",Ww=/^\-?0b[01][01_]*/,jw=/^\-?0o[0-7][0-7_]*/,Vw=/^\-?0x[\dA-Fa-f][\dA-Fa-f_]*(?:(?:\.[\dA-Fa-f][\dA-Fa-f_]*)?[Pp]\-?\d[\d_]*)?/,Dw=/^\-?\d[\d_]*(?:\.\d[\d_]*)?(?:[Ee]\-?\d[\d_]*)?/,Yw=/^\$\d+|(`?)[_A-Za-z][_A-Za-z$0-9]*\1/,Iw=/^\.(?:\$\d+|(`?)[_A-Za-z][_A-Za-z$0-9]*\1)/,Bw=/^\#[A-Za-z]+/,Uw=/^@(?:\$\d+|(`?)[_A-Za-z][_A-Za-z$0-9]*\1)/;function Gm(i,e,t){if(i.sol()&&(e.indented=i.indentation()),i.eatSpace())return null;var n=i.peek();if(n=="/"){if(i.match("//"))return i.skipToEnd(),"comment";if(i.match("/*"))return e.tokenize.push(lh),lh(i,e)}if(i.match(Bw))return"builtin";if(i.match(Uw))return"attribute";if(i.match(Ww)||i.match(jw)||i.match(Vw)||i.match(Dw))return"number";if(i.match(Iw))return"property";if(Lw.indexOf(n)>-1)return i.next(),"operator";if(Mw.indexOf(n)>-1)return i.next(),i.match(".."),"punctuation";var r;if(r=i.match(/("""|"|')/)){var s=Nw.bind(null,r[0]);return e.tokenize.push(s),s(i,e)}if(i.match(Yw)){var o=i.current();return zw.hasOwnProperty(o)?"type":qw.hasOwnProperty(o)?"atom":Zw.hasOwnProperty(o)?(Ew.hasOwnProperty(o)&&(e.prev="define"),"keyword"):t=="define"?"def":"variable"}return i.next(),null}function Gw(){var i=0;return function(e,t,n){var r=Gm(e,t,n);if(r=="punctuation"){if(e.current()=="(")++i;else if(e.current()==")"){if(i==0)return e.backUp(1),t.tokenize.pop(),t.tokenize[t.tokenize.length-1](e,t);--i}}return r}}function Nw(i,e,t){for(var n=i.length==1,r,s=!1;r=e.peek();)if(s){if(e.next(),r=="(")return t.tokenize.push(Gw()),"string";s=!1}else{if(e.match(i))return t.tokenize.pop(),"string";e.next(),s=r=="\\"}return n&&t.tokenize.pop(),"string"}function lh(i,e){for(var t;t=i.next();)if(t==="/"&&i.eat("*"))e.tokenize.push(lh);else if(t==="*"&&i.eat("/")){e.tokenize.pop();break}return"comment"}function Fw(i,e,t){this.prev=i,this.align=e,this.indented=t}function Hw(i,e){var t=e.match(/^\s*($|\/[\/\*]|[)}\]])/,!1)?null:e.column()+1;i.context=new Fw(i.context,t,i.indented)}function Kw(i){i.context&&(i.indented=i.context.indented,i.context=i.context.prev)}var Nm={name:"swift",startState:function(){return{prev:null,context:null,indented:0,tokenize:[]}},token:function(i,e){var t=e.prev;e.prev=null;var n=e.tokenize[e.tokenize.length-1]||Gm,r=n(i,e,t);if(!r||r=="comment"?e.prev=t:e.prev||(e.prev=r),r=="punctuation"){var s=/[\(\[\{]|([\]\)\}])/.exec(i.current());s&&(s[1]?Kw:Hw)(e,i)}return r},indent:function(i,e,t){var n=i.context;if(!n)return 0;var r=/^[\]\}\)]/.test(e);return n.align!=null?n.align-(r?1:0):n.indented+(r?0:t.unit)},languageData:{indentOnInput:/^\s*[\)\}\]]$/,commentTokens:{line:"//",block:{open:"/*",close:"*/"}},closeBrackets:{brackets:["(","[","{","'",'"',"`"]}}};var ch={};function hh(i,e){for(var t=0;t1&&i.eat("$");var t=i.next();return/['"({]/.test(t)?(e.tokens[0]=mo(t,t=="("?"quote":t=="{"?"def":"string"),Rn(i,e)):(/\d/.test(t)||i.eatWhile(/\w/),e.tokens.shift(),"def")};function tP(i){return function(e,t){return e.sol()&&e.string==i&&t.tokens.shift(),e.skipToEnd(),"string.special"}}function Rn(i,e){return(e.tokens[0]||Jw)(i,e)}var eg={name:"shell",startState:function(){return{tokens:[]}},token:function(i,e){return Rn(i,e)},languageData:{autocomplete:Fm.concat(Hm,Km),closeBrackets:{brackets:["(","[","{","'",'"',"`"]},commentTokens:{line:"#"}}};var iP=["true","false","on","off","yes","no"],nP=new RegExp("\\b(("+iP.join(")|(")+"))$","i"),tg={name:"yaml",token:function(i,e){var t=i.peek(),n=e.escaped;if(e.escaped=!1,t=="#"&&(i.pos==0||/\s/.test(i.string.charAt(i.pos-1))))return i.skipToEnd(),"comment";if(i.match(/^('([^']|\\.)*'?|"([^"]|\\.)*"?)/))return"string";if(e.literal&&i.indentation()>e.keyCol)return i.skipToEnd(),"string";if(e.literal&&(e.literal=!1),i.sol()){if(e.keyCol=0,e.pair=!1,e.pairStart=!1,i.match("---")||i.match("..."))return"def";if(i.match(/^\s*-\s+/))return"meta"}if(i.match(/^(\{|\}|\[|\])/))return t=="{"?e.inlinePairs++:t=="}"?e.inlinePairs--:t=="["?e.inlineList++:e.inlineList--,"meta";if(e.inlineList>0&&!n&&t==",")return i.next(),"meta";if(e.inlinePairs>0&&!n&&t==",")return e.keyCol=0,e.pair=!1,e.pairStart=!1,i.next(),"meta";if(e.pairStart){if(i.match(/^\s*(\||\>)\s*/))return e.literal=!0,"meta";if(i.match(/^\s*(\&|\*)[a-z0-9\._-]+\b/i))return"variable";if(e.inlinePairs==0&&i.match(/^\s*-?[0-9\.\,]+\s?$/)||e.inlinePairs>0&&i.match(/^\s*-?[0-9\.\,]+\s?(?=(,|}))/))return"number";if(i.match(nP))return"keyword"}return!e.pair&&i.match(/^\s*(?:[,\[\]{}&*!|>'"%@`][^\s'":]|[^,\[\]{}#&*!|>'"%@`])[^#]*?(?=\s*:($|\s))/)?(e.pair=!0,e.keyCol=i.indentation(),"atom"):e.pair&&i.match(/^:\s*/)?(e.pairStart=!0,"meta"):(e.pairStart=!1,e.escaped=t=="\\",i.next(),null)},startState:function(){return{pair:!1,pairStart:!1,keyCol:0,inlinePairs:0,inlineList:0,literal:!1,escaped:!1}},languageData:{commentTokens:{line:"#"}}};var rP={break:!0,case:!0,chan:!0,const:!0,continue:!0,default:!0,defer:!0,else:!0,fallthrough:!0,for:!0,func:!0,go:!0,goto:!0,if:!0,import:!0,interface:!0,map:!0,package:!0,range:!0,return:!0,select:!0,struct:!0,switch:!0,type:!0,var:!0,bool:!0,byte:!0,complex64:!0,complex128:!0,float32:!0,float64:!0,int8:!0,int16:!0,int32:!0,int64:!0,string:!0,uint8:!0,uint16:!0,uint32:!0,uint64:!0,int:!0,uint:!0,uintptr:!0,error:!0,rune:!0,any:!0,comparable:!0},sP={true:!0,false:!0,iota:!0,nil:!0,append:!0,cap:!0,close:!0,complex:!0,copy:!0,delete:!0,imag:!0,len:!0,make:!0,new:!0,panic:!0,print:!0,println:!0,real:!0,recover:!0},ig=/[+\-*&^%:=<>!|\/]/,ni;function go(i,e){var t=i.next();if(t=='"'||t=="'"||t=="`")return e.tokenize=oP(t),e.tokenize(i,e);if(/[\d\.]/.test(t))return t=="."?i.match(/^[0-9]+([eE][\-+]?[0-9]+)?/):t=="0"?i.match(/^[xX][0-9a-fA-F]+/)||i.match(/^0[0-7]+/):i.match(/^[0-9]*\.?[0-9]*([eE][\-+]?[0-9]+)?/),"number";if(/[\[\]{}\(\),;\:\.]/.test(t))return ni=t,null;if(t=="/"){if(i.eat("*"))return e.tokenize=ng,ng(i,e);if(i.eat("/"))return i.skipToEnd(),"comment"}if(ig.test(t))return i.eatWhile(ig),"operator";i.eatWhile(/[\w\$_\xa1-\uffff]/);var n=i.current();return rP.propertyIsEnumerable(n)?((n=="case"||n=="default")&&(ni="case"),"keyword"):sP.propertyIsEnumerable(n)?"atom":"variable"}function oP(i){return function(e,t){for(var n=!1,r,s=!1;(r=e.next())!=null;){if(r==i&&!n){s=!0;break}n=!n&&i!="`"&&r=="\\"}return(s||!(n||i=="`"))&&(t.tokenize=go),"string"}}function ng(i,e){for(var t=!1,n;n=i.next();){if(n=="/"&&t){e.tokenize=go;break}t=n=="*"}return"comment"}function sg(i,e,t,n,r){this.indented=i,this.column=e,this.type=t,this.align=n,this.prev=r}function fh(i,e,t){return i.context=new sg(i.indented,e,t,null,i.context)}function rg(i){if(i.context.prev){var e=i.context.type;return(e==")"||e=="]"||e=="}")&&(i.indented=i.context.indented),i.context=i.context.prev}}var og={name:"go",startState:function(i){return{tokenize:null,context:new sg(-i,0,"top",!1),indented:0,startOfLine:!0}},token:function(i,e){var t=e.context;if(i.sol()&&(t.align==null&&(t.align=!1),e.indented=i.indentation(),e.startOfLine=!0,t.type=="case"&&(t.type="}")),i.eatSpace())return null;ni=null;var n=(e.tokenize||go)(i,e);return n=="comment"||(t.align==null&&(t.align=!0),ni=="{"?fh(e,i.column(),"}"):ni=="["?fh(e,i.column(),"]"):ni=="("?fh(e,i.column(),")"):ni=="case"?t.type="case":(ni=="}"&&t.type=="}"||ni==t.type)&&rg(e),e.startOfLine=!1),n},indent:function(i,e,t){if(i.tokenize!=go&&i.tokenize!=null)return null;var n=i.context,r=e&&e.charAt(0);if(n.type=="case"&&/^(?:case|default)\b/.test(e))return n.indented;var s=r==n.type;return n.align?n.column+(s?0:1):n.indented+(s?0:t.unit)},languageData:{indentOnInput:/^\s([{}]|case |default\s*:)$/,commentTokens:{line:"//",block:{open:"/*",close:"*/"}}}};function Oh(i){for(var e={},t=0,n=i.length;t]/)?(i.eat(/[\<\>]/),"atom"):i.eat(/[\+\-\*\/\&\|\:\!]/)?"atom":i.eat(/[a-zA-Z$@_\xa1-\uffff]/)?(i.eatWhile(/[\w$\xa1-\uffff]/),i.eat(/[\?\!\=]/),"atom"):"operator";if(t=="@"&&i.match(/^@?[a-zA-Z_\xa1-\uffff]/))return i.eat("@"),i.eatWhile(/[\w\xa1-\uffff]/),"propertyName";if(t=="$")return i.eat(/[a-zA-Z_]/)?i.eatWhile(/[\w]/):i.eat(/\d/)?i.eat(/\d/):i.next(),"variableName.special";if(/[a-zA-Z_\xa1-\uffff]/.test(t))return i.eatWhile(/[\w\xa1-\uffff]/),i.eat(/[\?\!]/),i.eat(":")?"atom":"variable";if(t=="|"&&(e.varList||e.lastTok=="{"||e.lastTok=="do"))return Ct="|",null;if(/[\(\)\[\]{}\\;]/.test(t))return Ct=t,null;if(t=="-"&&i.eat(">"))return"operator";if(/[=+\-\/*:\.^%<>~|]/.test(t)){var a=i.eatWhile(/[=+\-\/*:\.^%<>~|]/);return t=="."&&!a&&(Ct="."),"operator"}else return null}}}function fP(i){for(var e=i.pos,t=0,n,r=!1,s=!1;(n=i.next())!=null;)if(s)s=!1;else{if("[{(".indexOf(n)>-1)t++;else if("]})".indexOf(n)>-1){if(t--,t<0)break}else if(n=="/"&&t==0){r=!0;break}s=n=="\\"}return i.backUp(i.pos-e),r}function uh(i){return i||(i=1),function(e,t){if(e.peek()=="}"){if(i==1)return t.tokenize.pop(),t.tokenize[t.tokenize.length-1](e,t);t.tokenize[t.tokenize.length-1]=uh(i-1)}else e.peek()=="{"&&(t.tokenize[t.tokenize.length-1]=uh(i+1));return Qo(e,t)}}function uP(){var i=!1;return function(e,t){return i?(t.tokenize.pop(),t.tokenize[t.tokenize.length-1](e,t)):(i=!0,Qo(e,t))}}function Ar(i,e,t,n){return function(r,s){var o=!1,a;for(s.context.type==="read-quoted-paused"&&(s.context=s.context.prev,r.eat("}"));(a=r.next())!=null;){if(a==i&&(n||!o)){s.tokenize.pop();break}if(t&&a=="#"&&!o){if(r.eat("{")){i=="}"&&(s.context={prev:s.context,type:"read-quoted-paused"}),s.tokenize.push(uh());break}else if(/[@\$]/.test(r.peek())){s.tokenize.push(uP());break}}o=!o&&a=="\\"}return e}}function OP(i,e){return function(t,n){return e&&t.eatSpace(),t.match(i)?n.tokenize.pop():t.skipToEnd(),"string"}}function dP(i,e){return i.sol()&&i.match("=end")&&i.eol()&&e.tokenize.pop(),i.skipToEnd(),"comment"}var cg={name:"ruby",startState:function(i){return{tokenize:[Qo],indented:0,context:{type:"top",indented:-i},continuedLine:!1,lastTok:null,varList:!1}},token:function(i,e){Ct=null,i.sol()&&(e.indented=i.indentation());var t=e.tokenize[e.tokenize.length-1](i,e),n,r=Ct;if(t=="variable"){var s=i.current();t=e.lastTok=="."?"property":aP.propertyIsEnumerable(i.current())?"keyword":/^[A-Z]/.test(s)?"tag":e.lastTok=="def"||e.lastTok=="class"||e.varList?"def":"variable",t=="keyword"&&(r=s,lP.propertyIsEnumerable(s)?n="indent":cP.propertyIsEnumerable(s)?n="dedent":((s=="if"||s=="unless")&&i.column()==i.indentation()||s=="do"&&e.context.indented2&&o.token&&typeof o.token!="string"){t.pending=[];for(var c=2;c-1)return null;var r=t.indent.length-1,s=i[t.state];e:for(;;){for(var o=0;o!]+/,token:"operator"},{regex:/[a-zA-Z_]\w*!/,token:"macroName"},{regex:/[a-zA-Z_]\w*/,token:"variable"},{regex:/[\{\[\(]/,indent:!0},{regex:/[\}\]\)]/,dedent:!0}],string:[{regex:/"/,token:"string",next:"start"},{regex:/(?:[^\\"]|\\(?:.|$))*/,token:"string"}],string_raw:[{regex:/"/,token:"string",next:"start"},{regex:/[^"]*/,token:"string"}],string_raw_hash:[{regex:/"#+/,token:"string",next:"start"},{regex:/(?:[^"]|"(?!#))*/,token:"string"}],comment:[{regex:/.*?\*\//,token:"comment",next:"start"},{regex:/.*/,token:"comment"}],languageData:{name:"rust",dontIndentStates:["comment"],indentOnInput:/^\s*\}$/,commentTokens:{line:"//",block:{open:"/*",close:"*/"}}}});function mh(i,e,t,n,r,s){this.indented=i,this.column=e,this.type=t,this.info=n,this.align=r,this.prev=s}function bo(i,e,t,n){var r=i.indented;return i.context&&i.context.type=="statement"&&t!="statement"&&(r=i.context.indented),i.context=new mh(r,e,t,n,null,i.context)}function Zr(i){var e=i.context.type;return(e==")"||e=="]"||e=="}")&&(i.indented=i.context.indented),i.context=i.context.prev}function Og(i,e,t){if(e.prevToken=="variable"||e.prevToken=="type"||/\S(?:[^- ]>|[*\]])\s*$|\*$/.test(i.string.slice(0,t))||e.typeAtEndOfLine&&i.column()==i.indentation())return!0}function dh(i){for(;;){if(!i||i.type=="top")return!0;if(i.type=="}"&&i.prev.info!="namespace")return!1;i=i.prev}}function it(i){var e=i.statementIndentUnit,t=i.dontAlignCalls,n=i.keywords||{},r=i.types||{},s=i.builtin||{},o=i.blockKeywords||{},a=i.defKeywords||{},l=i.atoms||{},c=i.hooks||{},h=i.multiLineStrings,f=i.indentStatements!==!1,u=i.indentSwitch!==!1,O=i.namespaceSeparator,m=i.isPunctuationChar||/[\[\]{}\(\),;\:\.]/,p=i.numberStart||/[\d\.]/,b=i.number||/^(?:0x[a-f\d]+|0b[01]+|(?:\d+\.?\d*|\.\d+)(?:e[-+]?\d+)?)(u|ll?|l|f)?/i,g=i.isOperatorChar||/[+\-*&%=<>!?|\/]/,Q=i.isIdentifierChar||/[\w\$_\xa1-\uffff]/,S=i.isReservedIdentifier||!1,x,P;function $(T,C){var k=T.next();if(c[k]){var w=c[k](T,C);if(w!==!1)return w}if(k=='"'||k=="'")return C.tokenize=Z(k),C.tokenize(T,C);if(p.test(k)){if(T.backUp(1),T.match(b))return"number";T.next()}if(m.test(k))return x=k,null;if(k=="/"){if(T.eat("*"))return C.tokenize=X,X(T,C);if(T.eat("/"))return T.skipToEnd(),"comment"}if(g.test(k)){for(;!T.match(/^\/[\/*]/,!1)&&T.eat(g););return"operator"}if(T.eatWhile(Q),O)for(;T.match(O);)T.eatWhile(Q);var z=T.current();return ri(n,z)?(ri(o,z)&&(x="newstatement"),ri(a,z)&&(P=!0),"keyword"):ri(r,z)?"type":ri(s,z)||S&&S(z)?(ri(o,z)&&(x="newstatement"),"builtin"):ri(l,z)?"atom":"variable"}function Z(T){return function(C,k){for(var w=!1,z,N=!1;(z=C.next())!=null;){if(z==T&&!w){N=!0;break}w=!w&&z=="\\"}return(N||!(w||h))&&(k.tokenize=null),"string"}}function X(T,C){for(var k=!1,w;w=T.next();){if(w=="/"&&k){C.tokenize=null;break}k=w=="*"}return"comment"}function W(T,C){i.typeFirstDefinitions&&T.eol()&&dh(C.context)&&(C.typeAtEndOfLine=Og(T,C,T.pos))}return{name:i.name,startState:function(T){return{tokenize:null,context:new mh(-T,0,"top",null,!1),indented:0,startOfLine:!0,prevToken:null}},token:function(T,C){var k=C.context;if(T.sol()&&(k.align==null&&(k.align=!1),C.indented=T.indentation(),C.startOfLine=!0),T.eatSpace())return W(T,C),null;x=P=null;var w=(C.tokenize||$)(T,C);if(w=="comment"||w=="meta")return w;if(k.align==null&&(k.align=!0),x==";"||x==":"||x==","&&T.match(/^\s*(?:\/\/.*)?$/,!1))for(;C.context.type=="statement";)Zr(C);else if(x=="{")bo(C,T.column(),"}");else if(x=="[")bo(C,T.column(),"]");else if(x=="(")bo(C,T.column(),")");else if(x=="}"){for(;k.type=="statement";)k=Zr(C);for(k.type=="}"&&(k=Zr(C));k.type=="statement";)k=Zr(C)}else x==k.type?Zr(C):f&&((k.type=="}"||k.type=="top")&&x!=";"||k.type=="statement"&&x=="newstatement")&&bo(C,T.column(),"statement",T.current());if(w=="variable"&&(C.prevToken=="def"||i.typeFirstDefinitions&&Og(T,C,T.start)&&dh(C.context)&&T.match(/^\s*\(/,!1))&&(w="def"),c.token){var z=c.token(T,C,w);z!==void 0&&(w=z)}return w=="def"&&i.styleDefs===!1&&(w="variable"),C.startOfLine=!1,C.prevToken=P?"def":w||x,W(T,C),w},indent:function(T,C,k){if(T.tokenize!=$&&T.tokenize!=null||T.typeAtEndOfLine&&dh(T.context))return null;var w=T.context,z=C&&C.charAt(0),N=z==w.type;if(w.type=="statement"&&z=="}"&&(w=w.prev),i.dontIndentStatements)for(;w.type=="statement"&&i.dontIndentStatements.test(w.info);)w=w.prev;if(c.indent){var y=c.indent(T,w,C,k.unit);if(typeof y=="number")return y}var j=w.prev&&w.prev.info=="switch";if(i.allmanIndentation&&/[{(]/.test(z)){for(;w.type!="top"&&w.type!="}";)w=w.prev;return w.indented}return w.type=="statement"?w.indented+(z=="{"?0:e||k.unit):w.align&&(!t||w.type!=")")?w.column+(N?0:1):w.type==")"&&!N?w.indented+(e||k.unit):w.indented+(N?0:k.unit)+(!N&&j&&!/^(?:case|default)\b/.test(C)?k.unit:0)},languageData:{indentOnInput:u?/^\s*(?:case .*?:|default:|\{\}?|\})$/:/^\s*[{}]$/,commentTokens:{line:"//",block:{open:"/*",close:"*/"}},autocomplete:Object.keys(n).concat(Object.keys(r)).concat(Object.keys(s)).concat(Object.keys(l)),...i.languageData}}}function V(i){for(var e={},t=i.split(" "),n=0;n!?|\/#:@]/,hooks:{"@":function(i){return i.eatWhile(/[\w\$_]/),"meta"},'"':function(i,e){return i.match('""')?(e.tokenize=Pg,e.tokenize(i,e)):!1},"'":function(i){return i.match(/^(\\[^'\s]+|[^\\'])'/)?"character":(i.eatWhile(/[\w\$_\xa1-\uffff]/),"atom")},"=":function(i,e){var t=e.context;return t.type=="}"&&t.align&&i.eat(">")?(e.context=new mh(t.indented,t.column,t.type,t.info,null,t.prev),"operator"):!1},"/":function(i,e){return i.eat("*")?(e.tokenize=Er(1),e.tokenize(i,e)):!1}},languageData:{closeBrackets:{brackets:["(","[","{","'",'"','"""']}}});function kP(i){return function(e,t){for(var n=!1,r,s=!1;!e.eol();){if(!i&&!n&&e.match('"')){s=!0;break}if(i&&e.match('"""')){s=!0;break}r=e.next(),!n&&r=="$"&&e.match("{")&&e.skipTo("}"),n=!n&&r=="\\"&&!i}return(s||!i)&&(t.tokenize=null),"string"}}var vg=it({name:"kotlin",keywords:V("package as typealias class interface this super val operator var fun for is in This throw return annotation break continue object if else while do try when !in !is as? file import where by get set abstract enum open inner override private public internal protected catch finally out final vararg reified dynamic companion constructor init sealed field property receiver param sparam lateinit data inline noinline tailrec external annotation crossinline const operator infix suspend actual expect setparam"),types:V("Boolean Byte Character CharSequence Class ClassLoader Cloneable Comparable Compiler Double Exception Float Integer Long Math Number Object Package Pair Process Runtime Runnable SecurityManager Short StackTraceElement StrictMath String StringBuffer System Thread ThreadGroup ThreadLocal Throwable Triple Void Annotation Any BooleanArray ByteArray Char CharArray DeprecationLevel DoubleArray Enum FloatArray Function Int IntArray Lazy LazyThreadSafetyMode LongArray Nothing ShortArray Unit"),intendSwitch:!1,indentStatements:!1,multiLineStrings:!0,number:/^(?:0x[a-f\d_]+|0b[01_]+|(?:[\d_]+(\.\d+)?|\.\d+)(?:e[-+]?[\d_]+)?)(ul?|l|f)?/i,blockKeywords:V("catch class do else finally for if where try while enum"),defKeywords:V("class val var object interface fun"),atoms:V("true false null this"),hooks:{"@":function(i){return i.eatWhile(/[\w\$_]/),"meta"},"*":function(i,e){return e.prevToken=="."?"variable":"operator"},'"':function(i,e){return e.tokenize=kP(i.match('""')),e.tokenize(i,e)},"/":function(i,e){return i.eat("*")?(e.tokenize=Er(1),e.tokenize(i,e)):!1},indent:function(i,e,t,n){var r=t&&t.charAt(0);if((i.prevToken=="}"||i.prevToken==")")&&t=="")return i.indented;if(i.prevToken=="operator"&&t!="}"&&i.context.type!="}"||i.prevToken=="variable"&&r=="."||(i.prevToken=="}"||i.prevToken==")")&&r==".")return n*2+e.indented;if(e.align&&e.type=="}")return e.indented+(i.context.type==(t||"").charAt(0)?0:n)}},languageData:{closeBrackets:{brackets:["(","[","{","'",'"','"""']}}}),hC=it({name:"shader",keywords:V("sampler1D sampler2D sampler3D samplerCube sampler1DShadow sampler2DShadow const attribute uniform varying break continue discard return for while do if else struct in out inout"),types:V("float int bool void vec2 vec3 vec4 ivec2 ivec3 ivec4 bvec2 bvec3 bvec4 mat2 mat3 mat4"),blockKeywords:V("for while do if else struct"),builtin:V("radians degrees sin cos tan asin acos atan pow exp log exp2 sqrt inversesqrt abs sign floor ceil fract mod min max clamp mix step smoothstep length distance dot cross normalize ftransform faceforward reflect refract matrixCompMult lessThan lessThanEqual greaterThan greaterThanEqual equal notEqual any all not texture1D texture1DProj texture1DLod texture1DProjLod texture2D texture2DProj texture2DLod texture2DProjLod texture3D texture3DProj texture3DLod texture3DProjLod textureCube textureCubeLod shadow1D shadow2D shadow1DProj shadow2DProj shadow1DLod shadow2DLod shadow1DProjLod shadow2DProjLod dFdx dFdy fwidth noise1 noise2 noise3 noise4"),atoms:V("true false gl_FragColor gl_SecondaryColor gl_Normal gl_Vertex gl_MultiTexCoord0 gl_MultiTexCoord1 gl_MultiTexCoord2 gl_MultiTexCoord3 gl_MultiTexCoord4 gl_MultiTexCoord5 gl_MultiTexCoord6 gl_MultiTexCoord7 gl_FogCoord gl_PointCoord gl_Position gl_PointSize gl_ClipVertex gl_FrontColor gl_BackColor gl_FrontSecondaryColor gl_BackSecondaryColor gl_TexCoord gl_FogFragCoord gl_FragCoord gl_FrontFacing gl_FragData gl_FragDepth gl_ModelViewMatrix gl_ProjectionMatrix gl_ModelViewProjectionMatrix gl_TextureMatrix gl_NormalMatrix gl_ModelViewMatrixInverse gl_ProjectionMatrixInverse gl_ModelViewProjectionMatrixInverse gl_TextureMatrixTranspose gl_ModelViewMatrixInverseTranspose gl_ProjectionMatrixInverseTranspose gl_ModelViewProjectionMatrixInverseTranspose gl_TextureMatrixInverseTranspose gl_NormalScale gl_DepthRange gl_ClipPlane gl_Point gl_FrontMaterial gl_BackMaterial gl_LightSource gl_LightModel gl_FrontLightModelProduct gl_BackLightModelProduct gl_TextureColor gl_EyePlaneS gl_EyePlaneT gl_EyePlaneR gl_EyePlaneQ gl_FogParameters gl_MaxLights gl_MaxClipPlanes gl_MaxTextureUnits gl_MaxTextureCoords gl_MaxVertexAttribs gl_MaxVertexUniformComponents gl_MaxVaryingFloats gl_MaxVertexTextureImageUnits gl_MaxTextureImageUnits gl_MaxFragmentUniformComponents gl_MaxCombineTextureImageUnits gl_MaxDrawBuffers"),indentSwitch:!1,hooks:{"#":Pi}}),fC=it({name:"nesc",keywords:V(qr+" as atomic async call command component components configuration event generic implementation includes interface module new norace nx_struct nx_union post provides signal task uses abstract extends"),types:zr,blockKeywords:V(Lr),atoms:V("null true false"),hooks:{"#":Pi}}),$g=it({name:"objectivec",keywords:V(qr+" "+gg),types:bg,builtin:V(Qg),blockKeywords:V(Lr+" @synthesize @try @catch @finally @autoreleasepool @synchronized"),defKeywords:V(yo+" @interface @implementation @protocol @class"),dontIndentStatements:/^@.*$/,typeFirstDefinitions:!0,atoms:V("YES NO NULL Nil nil true false nullptr"),isReservedIdentifier:xo,hooks:{"#":Pi,"*":ko}}),uC=it({name:"objectivecpp",keywords:V(qr+" "+gg+" "+mg),types:bg,builtin:V(Qg),blockKeywords:V(Lr+" @synthesize @try @catch @finally @autoreleasepool @synchronized class try catch"),defKeywords:V(yo+" @interface @implementation @protocol @class class namespace"),dontIndentStatements:/^@.*$|^template$/,typeFirstDefinitions:!0,atoms:V("YES NO NULL Nil nil true false nullptr"),isReservedIdentifier:xo,hooks:{"#":Pi,"*":ko,u:wi,U:wi,L:wi,R:wi,0:Se,1:Se,2:Se,3:Se,4:Se,5:Se,6:Se,7:Se,8:Se,9:Se,token:function(i,e,t){if(t=="variable"&&i.peek()=="("&&(e.prevToken==";"||e.prevToken==null||e.prevToken=="}")&&Sg(i.current()))return"def"}},namespaceSeparator:"::"}),OC=it({name:"squirrel",keywords:V("base break clone continue const default delete enum extends function in class foreach local resume return this throw typeof yield constructor instanceof static"),types:zr,blockKeywords:V("case catch class else for foreach if switch try while"),defKeywords:V("function local class"),typeFirstDefinitions:!0,atoms:V("true false null"),hooks:{"#":Pi}}),So=null;function Tg(i){return function(e,t){for(var n=!1,r,s=!1;!e.eol();){if(!n&&e.match('"')&&(i=="single"||e.match('""'))){s=!0;break}if(!n&&e.match("``")){So=Tg(i),s=!0;break}r=e.next(),n=i=="single"&&!n&&r=="\\"}return s&&(t.tokenize=null),"string"}}var dC=it({name:"ceylon",keywords:V("abstracts alias assembly assert assign break case catch class continue dynamic else exists extends finally for function given if import in interface is let module new nonempty object of out outer package return satisfies super switch then this throw try value void while"),types:function(i){var e=i.charAt(0);return e===e.toUpperCase()&&e!==e.toLowerCase()},blockKeywords:V("case catch class dynamic else finally for function if interface module new object switch try while"),defKeywords:V("class dynamic function interface module object package value"),builtin:V("abstract actual aliased annotation by default deprecated doc final formal late license native optional sealed see serializable shared suppressWarnings tagged throws variable"),isPunctuationChar:/[\[\]{}\(\),;\:\.`]/,isOperatorChar:/[+\-*&%=<>!?|^~:\/]/,numberStart:/[\d#$]/,number:/^(?:#[\da-fA-F_]+|\$[01_]+|[\d_]+[kMGTPmunpf]?|[\d_]+\.[\d_]+(?:[eE][-+]?\d+|[kMGTPmunpf]|)|)/i,multiLineStrings:!0,typeFirstDefinitions:!0,atoms:V("true false null larger smaller equal empty finished"),indentSwitch:!1,styleDefs:!1,hooks:{"@":function(i){return i.eatWhile(/[\w\$_]/),"meta"},'"':function(i,e){return e.tokenize=Tg(i.match('""')?"triple":"single"),e.tokenize(i,e)},"`":function(i,e){return!So||!i.match("`")?!1:(e.tokenize=So,So=null,e.tokenize(i,e))},"'":function(i){return i.match(/^(\\[^'\s]+|[^\\'])'/)?"string.special":(i.eatWhile(/[\w\$_\xa1-\uffff]/),"atom")},token:function(i,e,t){if((t=="variable"||t=="type")&&e.prevToken==".")return"variableName.special"}},languageData:{closeBrackets:{brackets:["(","[","{","'",'"','"""']}}});function xP(i){(i.interpolationStack||(i.interpolationStack=[])).push(i.tokenize)}function Cg(i){return(i.interpolationStack||(i.interpolationStack=[])).pop()}function wP(i){return i.interpolationStack?i.interpolationStack.length:0}function ph(i,e,t,n){var r=!1;if(e.eat(i))if(e.eat(i))r=!0;else return"string";function s(o,a){for(var l=!1;!o.eol();){if(!n&&!l&&o.peek()=="$")return xP(a),a.tokenize=PP,"string";var c=o.next();if(c==i&&!l&&(!r||o.match(i+i))){a.tokenize=null;break}l=!n&&!l&&c=="\\"}return"string"}return t.tokenize=s,s(e,t)}function PP(i,e){return i.eat("$"),i.eat("{")?e.tokenize=null:e.tokenize=vP,null}function vP(i,e){return i.eatWhile(/[\w_]/),e.tokenize=Cg(e),"variable"}var pC=it({name:"dart",keywords:V("this super static final const abstract class extends external factory implements mixin get native set typedef with enum throw rethrow assert break case continue default in return new deferred async await covariant try catch finally do else for if switch while import library export part of show hide is as extension on yield late required sealed base interface when inline"),blockKeywords:V("try catch finally do else for if switch while"),builtin:V("void bool num int double dynamic var String Null Never"),atoms:V("true false null"),number:/^(?:0x[a-f\d_]+|(?:[\d_]+\.?[\d_]*|\.[\d_]+)(?:e[-+]?[\d_]+)?)/i,hooks:{"@":function(i){return i.eatWhile(/[\w\$_\.]/),"meta"},"'":function(i,e){return ph("'",i,e,!1)},'"':function(i,e){return ph('"',i,e,!1)},r:function(i,e){var t=i.peek();return t=="'"||t=='"'?ph(i.next(),i,e,!0):!1},"}":function(i,e){return wP(e)>0?(e.tokenize=Cg(e),null):!1},"/":function(i,e){return i.eat("*")?(e.tokenize=Er(1),e.tokenize(i,e)):!1},token:function(i,e,t){if(t=="variable"){var n=RegExp("^[_$]*[A-Z][a-zA-Z0-9_$]*$","g");if(n.test(i.current()))return"type"}}}});function je(i){var e=i.client||{},t=i.atoms||{false:!0,true:!0,null:!0},n=i.builtin||M(_g),r=i.keywords||M(Ki),s=i.operatorChars||/^[*+\-%<>!=&|~^\/]/,o=i.support||{},a=i.hooks||{},l=i.dateSQL||{date:!0,time:!0,timestamp:!0},c=i.backslashStringEscapes!==!1,h=i.brackets||/^[\{}\(\)\[\]]/,f=i.punctuation||/^[;.,:]/;function u(g,Q){var S=g.next();if(a[S]){var x=a[S](g,Q);if(x!==!1)return x}if(o.hexNumber&&(S=="0"&&g.match(/^[xX][0-9a-fA-F]+/)||(S=="x"||S=="X")&&g.match(/^'[0-9a-fA-F]*'/)))return"number";if(o.binaryNumber&&((S=="b"||S=="B")&&g.match(/^'[01]+'/)||S=="0"&&g.match(/^b[01]*/)))return"number";if(S.charCodeAt(0)>47&&S.charCodeAt(0)<58)return g.match(/^[0-9]*(\.[0-9]+)?([eE][-+]?[0-9]+)?/),o.decimallessFloat&&g.match(/^\.(?!\.)/),"number";if(S=="?"&&(g.eatSpace()||g.eol()||g.eat(";")))return"macroName";if(S=="'"||S=='"'&&o.doubleQuote)return Q.tokenize=O(S),Q.tokenize(g,Q);if((o.nCharCast&&(S=="n"||S=="N")||o.charsetCast&&S=="_"&&g.match(/[a-z][a-z0-9]*/i))&&(g.peek()=="'"||g.peek()=='"'))return"keyword";if(o.escapeConstant&&(S=="e"||S=="E")&&(g.peek()=="'"||g.peek()=='"'&&o.doubleQuote))return Q.tokenize=function($,Z){return(Z.tokenize=O($.next(),!0))($,Z)},"keyword";if(o.commentSlashSlash&&S=="/"&&g.eat("/"))return g.skipToEnd(),"comment";if(o.commentHash&&S=="#"||S=="-"&&g.eat("-")&&(!o.commentSpaceRequired||g.eat(" ")))return g.skipToEnd(),"comment";if(S=="/"&&g.eat("*"))return Q.tokenize=m(1),Q.tokenize(g,Q);if(S=="."){if(o.zerolessFloat&&g.match(/^(?:\d+(?:e[+-]?\d+)?)/i))return"number";if(g.match(/^\.+/))return null;if(o.ODBCdotTable&&g.match(/^[\w\d_$#]+/))return"type"}else{if(s.test(S))return g.eatWhile(s),"operator";if(h.test(S))return"bracket";if(f.test(S))return g.eatWhile(f),"punctuation";if(S=="{"&&(g.match(/^( )*(d|D|t|T|ts|TS)( )*'[^']*'( )*}/)||g.match(/^( )*(d|D|t|T|ts|TS)( )*"[^"]*"( )*}/)))return"number";g.eatWhile(/^[_\w\d]/);var P=g.current().toLowerCase();return l.hasOwnProperty(P)&&(g.match(/^( )+'[^']*'/)||g.match(/^( )+"[^"]*"/))?"number":t.hasOwnProperty(P)?"atom":n.hasOwnProperty(P)?"type":r.hasOwnProperty(P)?"keyword":e.hasOwnProperty(P)?"builtin":null}}function O(g,Q){return function(S,x){for(var P=!1,$;($=S.next())!=null;){if($==g&&!P){x.tokenize=u;break}P=(c||Q)&&!P&&$=="\\"}return"string"}}function m(g){return function(Q,S){var x=Q.match(/^.*?(\/\*|\*\/)/);return x?x[1]=="/*"?S.tokenize=m(g+1):g>1?S.tokenize=m(g-1):S.tokenize=u:Q.skipToEnd(),"comment"}}function p(g,Q,S){Q.context={prev:Q.context,indent:g.indentation(),col:g.column(),type:S}}function b(g){g.indent=g.context.indent,g.context=g.context.prev}return{name:"sql",startState:function(){return{tokenize:u,context:null}},token:function(g,Q){if(g.sol()&&Q.context&&Q.context.align==null&&(Q.context.align=!1),Q.tokenize==u&&g.eatSpace())return null;var S=Q.tokenize(g,Q);if(S=="comment")return S;Q.context&&Q.context.align==null&&(Q.context.align=!0);var x=g.current();return x=="("?p(g,Q,")"):x=="["?p(g,Q,"]"):Q.context&&Q.context.type==x&&b(Q),S},indent:function(g,Q,S){var x=g.context;if(!x)return null;var P=Q.charAt(0)==x.type;return x.align?x.col+(P?0:1):x.indent+(P?0:S.unit)},languageData:{commentTokens:{line:o.commentSlashSlash?"//":o.commentHash?"#":"--",block:{open:"/*",close:"*/"}},closeBrackets:{brackets:["(","[","{","'",'"',"`"]}}}}function gh(i){for(var e;(e=i.next())!=null;)if(e=="`"&&!i.eat("`"))return"string.special";return i.backUp(i.current().length-1),i.eatWhile(/\w/)?"string.special":null}function $P(i){for(var e;(e=i.next())!=null;)if(e=='"'&&!i.eat('"'))return"string.special";return i.backUp(i.current().length-1),i.eatWhile(/\w/)?"string.special":null}function Hi(i){return i.eat("@")&&(i.match("session."),i.match("local."),i.match("global.")),i.eat("'")?(i.match(/^.*'/),"string.special"):i.eat('"')?(i.match(/^.*"/),"string.special"):i.eat("`")?(i.match(/^.*`/),"string.special"):i.match(/^[0-9a-zA-Z$\.\_]+/)?"string.special":null}function Xg(i){return i.eat("N")?"atom":i.match(/^[a-zA-Z.#!?]/)?"string.special":null}var Ki="alter and as asc between by count create delete desc distinct drop from group having in insert into is join like not on or order select set table union update values where limit ";function M(i){for(var e={},t=i.split(" "),n=0;n!=^\&|\/]/,brackets:/^[\{}\(\)]/,punctuation:/^[;.,:/]/,backslashStringEscapes:!1,dateSQL:M("date datetimeoffset datetime2 smalldatetime datetime time"),hooks:{"@":Hi}}),bC=je({client:M("charset clear connect edit ego exit go help nopager notee nowarning pager print prompt quit rehash source status system tee"),keywords:M(Ki+"accessible action add after algorithm all analyze asensitive at authors auto_increment autocommit avg avg_row_length before binary binlog both btree cache call cascade cascaded case catalog_name chain change changed character check checkpoint checksum class_origin client_statistics close coalesce code collate collation collations column columns comment commit committed completion concurrent condition connection consistent constraint contains continue contributors convert cross current current_date current_time current_timestamp current_user cursor data database databases day_hour day_microsecond day_minute day_second deallocate dec declare default delay_key_write delayed delimiter des_key_file describe deterministic dev_pop dev_samp deviance diagnostics directory disable discard distinctrow div dual dumpfile each elseif enable enclosed end ends engine engines enum errors escape escaped even event events every execute exists exit explain extended fast fetch field fields first flush for force foreign found_rows full fulltext function general get global grant grants group group_concat handler hash help high_priority hosts hour_microsecond hour_minute hour_second if ignore ignore_server_ids import index index_statistics infile inner innodb inout insensitive insert_method install interval invoker isolation iterate key keys kill language last leading leave left level limit linear lines list load local localtime localtimestamp lock logs low_priority master master_heartbeat_period master_ssl_verify_server_cert masters match max max_rows maxvalue message_text middleint migrate min min_rows minute_microsecond minute_second mod mode modifies modify mutex mysql_errno natural next no no_write_to_binlog offline offset one online open optimize option optionally out outer outfile pack_keys parser partition partitions password phase plugin plugins prepare preserve prev primary privileges procedure processlist profile profiles purge query quick range read read_write reads real rebuild recover references regexp relaylog release remove rename reorganize repair repeatable replace require resignal restrict resume return returns revoke right rlike rollback rollup row row_format rtree savepoint schedule schema schema_name schemas second_microsecond security sensitive separator serializable server session share show signal slave slow smallint snapshot soname spatial specific sql sql_big_result sql_buffer_result sql_cache sql_calc_found_rows sql_no_cache sql_small_result sqlexception sqlstate sqlwarning ssl start starting starts status std stddev stddev_pop stddev_samp storage straight_join subclass_origin sum suspend table_name table_statistics tables tablespace temporary terminated to trailing transaction trigger triggers truncate uncommitted undo uninstall unique unlock upgrade usage use use_frm user user_resources user_statistics using utc_date utc_time utc_timestamp value variables varying view views warnings when while with work write xa xor year_month zerofill begin do then else loop repeat"),builtin:M("bool boolean bit blob decimal double float long longblob longtext medium mediumblob mediumint mediumtext time timestamp tinyblob tinyint tinytext text bigint int int1 int2 int3 int4 int8 integer float float4 float8 double char varbinary varchar varcharacter precision date datetime year unsigned signed numeric"),atoms:M("false true null unknown"),operatorChars:/^[*+\-%<>!=&|^]/,dateSQL:M("date time timestamp"),support:M("ODBCdotTable decimallessFloat zerolessFloat binaryNumber hexNumber doubleQuote nCharCast charsetCast commentHash commentSpaceRequired"),hooks:{"@":Hi,"`":gh,"\\":Xg}}),SC=je({client:M("charset clear connect edit ego exit go help nopager notee nowarning pager print prompt quit rehash source status system tee"),keywords:M(Ki+"accessible action add after algorithm all always analyze asensitive at authors auto_increment autocommit avg avg_row_length before binary binlog both btree cache call cascade cascaded case catalog_name chain change changed character check checkpoint checksum class_origin client_statistics close coalesce code collate collation collations column columns comment commit committed completion concurrent condition connection consistent constraint contains continue contributors convert cross current current_date current_time current_timestamp current_user cursor data database databases day_hour day_microsecond day_minute day_second deallocate dec declare default delay_key_write delayed delimiter des_key_file describe deterministic dev_pop dev_samp deviance diagnostics directory disable discard distinctrow div dual dumpfile each elseif enable enclosed end ends engine engines enum errors escape escaped even event events every execute exists exit explain extended fast fetch field fields first flush for force foreign found_rows full fulltext function general generated get global grant grants group group_concat handler hard hash help high_priority hosts hour_microsecond hour_minute hour_second if ignore ignore_server_ids import index index_statistics infile inner innodb inout insensitive insert_method install interval invoker isolation iterate key keys kill language last leading leave left level limit linear lines list load local localtime localtimestamp lock logs low_priority master master_heartbeat_period master_ssl_verify_server_cert masters match max max_rows maxvalue message_text middleint migrate min min_rows minute_microsecond minute_second mod mode modifies modify mutex mysql_errno natural next no no_write_to_binlog offline offset one online open optimize option optionally out outer outfile pack_keys parser partition partitions password persistent phase plugin plugins prepare preserve prev primary privileges procedure processlist profile profiles purge query quick range read read_write reads real rebuild recover references regexp relaylog release remove rename reorganize repair repeatable replace require resignal restrict resume return returns revoke right rlike rollback rollup row row_format rtree savepoint schedule schema schema_name schemas second_microsecond security sensitive separator serializable server session share show shutdown signal slave slow smallint snapshot soft soname spatial specific sql sql_big_result sql_buffer_result sql_cache sql_calc_found_rows sql_no_cache sql_small_result sqlexception sqlstate sqlwarning ssl start starting starts status std stddev stddev_pop stddev_samp storage straight_join subclass_origin sum suspend table_name table_statistics tables tablespace temporary terminated to trailing transaction trigger triggers truncate uncommitted undo uninstall unique unlock upgrade usage use use_frm user user_resources user_statistics using utc_date utc_time utc_timestamp value variables varying view views virtual warnings when while with work write xa xor year_month zerofill begin do then else loop repeat"),builtin:M("bool boolean bit blob decimal double float long longblob longtext medium mediumblob mediumint mediumtext time timestamp tinyblob tinyint tinytext text bigint int int1 int2 int3 int4 int8 integer float float4 float8 double char varbinary varchar varcharacter precision date datetime year unsigned signed numeric"),atoms:M("false true null unknown"),operatorChars:/^[*+\-%<>!=&|^]/,dateSQL:M("date time timestamp"),support:M("ODBCdotTable decimallessFloat zerolessFloat binaryNumber hexNumber doubleQuote nCharCast charsetCast commentHash commentSpaceRequired"),hooks:{"@":Hi,"`":gh,"\\":Xg}}),yC=je({client:M("auth backup bail binary changes check clone databases dbinfo dump echo eqp exit explain fullschema headers help import imposter indexes iotrace limit lint load log mode nullvalue once open output print prompt quit read restore save scanstats schema separator session shell show stats system tables testcase timeout timer trace vfsinfo vfslist vfsname width"),keywords:M(Ki+"abort action add after all analyze attach autoincrement before begin cascade case cast check collate column commit conflict constraint cross current_date current_time current_timestamp database default deferrable deferred detach each else end escape except exclusive exists explain fail for foreign full glob if ignore immediate index indexed initially inner instead intersect isnull key left limit match natural no notnull null of offset outer plan pragma primary query raise recursive references regexp reindex release rename replace restrict right rollback row savepoint temp temporary then to transaction trigger unique using vacuum view virtual when with without"),builtin:M("bool boolean bit blob decimal double float long longblob longtext medium mediumblob mediumint mediumtext time timestamp tinyblob tinyint tinytext text clob bigint int int2 int8 integer float double char varchar date datetime year unsigned signed numeric real"),atoms:M("null current_date current_time current_timestamp"),operatorChars:/^[*+\-%<>!=&|/~]/,dateSQL:M("date time timestamp datetime"),support:M("decimallessFloat zerolessFloat"),identifierQuote:'"',hooks:{"@":Hi,":":Hi,"?":Hi,$:Hi,'"':$P,"`":gh}}),kC=je({client:{},keywords:M("add all allow alter and any apply as asc authorize batch begin by clustering columnfamily compact consistency count create custom delete desc distinct drop each_quorum exists filtering from grant if in index insert into key keyspace keyspaces level limit local_one local_quorum modify nan norecursive nosuperuser not of on one order password permission permissions primary quorum rename revoke schema select set storage superuser table three to token truncate ttl two type unlogged update use user users using values where with writetime"),builtin:M("ascii bigint blob boolean counter decimal double float frozen inet int list map static text timestamp timeuuid tuple uuid varchar varint"),atoms:M("false true infinity NaN"),operatorChars:/^[<>=]/,dateSQL:{},support:M("commentSlashSlash decimallessFloat"),hooks:{}}),xC=je({client:M("appinfo arraysize autocommit autoprint autorecovery autotrace blockterminator break btitle cmdsep colsep compatibility compute concat copycommit copytypecheck define describe echo editfile embedded escape exec execute feedback flagger flush heading headsep instance linesize lno loboffset logsource long longchunksize markup native newpage numformat numwidth pagesize pause pno recsep recsepchar release repfooter repheader serveroutput shiftinout show showmode size spool sqlblanklines sqlcase sqlcode sqlcontinue sqlnumber sqlpluscompatibility sqlprefix sqlprompt sqlterminator suffix tab term termout time timing trimout trimspool ttitle underline verify version wrap"),keywords:M("abort accept access add all alter and any array arraylen as asc assert assign at attributes audit authorization avg base_table begin between binary_integer body boolean by case cast char char_base check close cluster clusters colauth column comment commit compress connect connected constant constraint crash create current currval cursor data_base database date dba deallocate debugoff debugon decimal declare default definition delay delete desc digits dispose distinct do drop else elseif elsif enable end entry escape exception exception_init exchange exclusive exists exit external fast fetch file for force form from function generic goto grant group having identified if immediate in increment index indexes indicator initial initrans insert interface intersect into is key level library like limited local lock log logging long loop master maxextents maxtrans member minextents minus mislabel mode modify multiset new next no noaudit nocompress nologging noparallel not nowait number_base object of off offline on online only open option or order out package parallel partition pctfree pctincrease pctused pls_integer positive positiven pragma primary prior private privileges procedure public raise range raw read rebuild record ref references refresh release rename replace resource restrict return returning returns reverse revoke rollback row rowid rowlabel rownum rows run savepoint schema segment select separate session set share snapshot some space split sql start statement storage subtype successful synonym tabauth table tables tablespace task terminate then to trigger truncate type union unique unlimited unrecoverable unusable update use using validate value values variable view views when whenever where while with work"),builtin:M("abs acos add_months ascii asin atan atan2 average bfile bfilename bigserial bit blob ceil character chartorowid chr clob concat convert cos cosh count dec decode deref dual dump dup_val_on_index empty error exp false float floor found glb greatest hextoraw initcap instr instrb int integer isopen last_day least length lengthb ln lower lpad ltrim lub make_ref max min mlslabel mod months_between natural naturaln nchar nclob new_time next_day nextval nls_charset_decl_len nls_charset_id nls_charset_name nls_initcap nls_lower nls_sort nls_upper nlssort no_data_found notfound null number numeric nvarchar2 nvl others power rawtohex real reftohex round rowcount rowidtochar rowtype rpad rtrim serial sign signtype sin sinh smallint soundex sqlcode sqlerrm sqrt stddev string substr substrb sum sysdate tan tanh to_char text to_date to_label to_multi_byte to_number to_single_byte translate true trunc uid unlogged upper user userenv varchar varchar2 variance varying vsize xml"),operatorChars:/^[*\/+\-%<>!=~]/,dateSQL:M("date time timestamp"),support:M("doubleQuote nCharCast zerolessFloat binaryNumber hexNumber")}),wC=je({keywords:M("select alter $elem$ $key$ $value$ add after all analyze and archive as asc before between binary both bucket buckets by cascade case cast change cluster clustered clusterstatus collection column columns comment compute concatenate continue create cross cursor data database databases dbproperties deferred delete delimited desc describe directory disable distinct distribute drop else enable end escaped exclusive exists explain export extended external fetch fields fileformat first format formatted from full function functions grant group having hold_ddltime idxproperties if import in index indexes inpath inputdriver inputformat insert intersect into is items join keys lateral left like limit lines load local location lock locks mapjoin materialized minus msck no_drop nocompress not of offline on option or order out outer outputdriver outputformat overwrite partition partitioned partitions percent plus preserve procedure purge range rcfile read readonly reads rebuild recordreader recordwriter recover reduce regexp rename repair replace restrict revoke right rlike row schema schemas semi sequencefile serde serdeproperties set shared show show_database sort sorted ssl statistics stored streamtable table tables tablesample tblproperties temporary terminated textfile then tmp to touch transform trigger unarchive undo union uniquejoin unlock update use using utc utc_tmestamp view when where while with admin authorization char compact compactions conf cube current current_date current_timestamp day decimal defined dependency directories elem_type exchange file following for grouping hour ignore inner interval jar less logical macro minute month more none noscan over owner partialscan preceding pretty principals protection reload rewrite role roles rollup rows second server sets skewed transactions truncate unbounded unset uri user values window year"),builtin:M("bool boolean long timestamp tinyint smallint bigint int float double date datetime unsigned string array struct map uniontype key_type utctimestamp value_type varchar"),atoms:M("false true null unknown"),operatorChars:/^[*+\-%<>!=]/,dateSQL:M("date timestamp"),support:M("ODBCdotTable doubleQuote binaryNumber hexNumber")}),PC=je({client:M("source"),keywords:M(Ki+"a abort abs absent absolute access according action ada add admin after aggregate alias all allocate also alter always analyse analyze and any are array array_agg array_max_cardinality as asc asensitive assert assertion assignment asymmetric at atomic attach attribute attributes authorization avg backward base64 before begin begin_frame begin_partition bernoulli between bigint binary bit bit_length blob blocked bom boolean both breadth by c cache call called cardinality cascade cascaded case cast catalog catalog_name ceil ceiling chain char char_length character character_length character_set_catalog character_set_name character_set_schema characteristics characters check checkpoint class class_origin clob close cluster coalesce cobol collate collation collation_catalog collation_name collation_schema collect column column_name columns command_function command_function_code comment comments commit committed concurrently condition condition_number configuration conflict connect connection connection_name constant constraint constraint_catalog constraint_name constraint_schema constraints constructor contains content continue control conversion convert copy corr corresponding cost count covar_pop covar_samp create cross csv cube cume_dist current current_catalog current_date current_default_transform_group current_path current_role current_row current_schema current_time current_timestamp current_transform_group_for_type current_user cursor cursor_name cycle data database datalink datatype date datetime_interval_code datetime_interval_precision day db deallocate debug dec decimal declare default defaults deferrable deferred defined definer degree delete delimiter delimiters dense_rank depends depth deref derived desc describe descriptor detach detail deterministic diagnostics dictionary disable discard disconnect dispatch distinct dlnewcopy dlpreviouscopy dlurlcomplete dlurlcompleteonly dlurlcompletewrite dlurlpath dlurlpathonly dlurlpathwrite dlurlscheme dlurlserver dlvalue do document domain double drop dump dynamic dynamic_function dynamic_function_code each element else elseif elsif empty enable encoding encrypted end end_frame end_partition endexec enforced enum equals errcode error escape event every except exception exclude excluding exclusive exec execute exists exit exp explain expression extension external extract false family fetch file filter final first first_value flag float floor following for force foreach foreign fortran forward found frame_row free freeze from fs full function functions fusion g general generated get global go goto grant granted greatest group grouping groups handler having header hex hierarchy hint hold hour id identity if ignore ilike immediate immediately immutable implementation implicit import in include including increment indent index indexes indicator info inherit inherits initially inline inner inout input insensitive insert instance instantiable instead int integer integrity intersect intersection interval into invoker is isnull isolation join k key key_member key_type label lag language large last last_value lateral lead leading leakproof least left length level library like like_regex limit link listen ln load local localtime localtimestamp location locator lock locked log logged loop lower m map mapping match matched materialized max max_cardinality maxvalue member merge message message_length message_octet_length message_text method min minute minvalue mod mode modifies module month more move multiset mumps name names namespace national natural nchar nclob nesting new next nfc nfd nfkc nfkd nil no none normalize normalized not nothing notice notify notnull nowait nth_value ntile null nullable nullif nulls number numeric object occurrences_regex octet_length octets of off offset oids old on only open operator option options or order ordering ordinality others out outer output over overlaps overlay overriding owned owner p pad parallel parameter parameter_mode parameter_name parameter_ordinal_position parameter_specific_catalog parameter_specific_name parameter_specific_schema parser partial partition pascal passing passthrough password path percent percent_rank percentile_cont percentile_disc perform period permission pg_context pg_datatype_name pg_exception_context pg_exception_detail pg_exception_hint placing plans pli policy portion position position_regex power precedes preceding precision prepare prepared preserve primary print_strict_params prior privileges procedural procedure procedures program public publication query quote raise range rank read reads real reassign recheck recovery recursive ref references referencing refresh regr_avgx regr_avgy regr_count regr_intercept regr_r2 regr_slope regr_sxx regr_sxy regr_syy reindex relative release rename repeatable replace replica requiring reset respect restart restore restrict result result_oid return returned_cardinality returned_length returned_octet_length returned_sqlstate returning returns reverse revoke right role rollback rollup routine routine_catalog routine_name routine_schema routines row row_count row_number rows rowtype rule savepoint scale schema schema_name schemas scope scope_catalog scope_name scope_schema scroll search second section security select selective self sensitive sequence sequences serializable server server_name session session_user set setof sets share show similar simple size skip slice smallint snapshot some source space specific specific_name specifictype sql sqlcode sqlerror sqlexception sqlstate sqlwarning sqrt stable stacked standalone start state statement static statistics stddev_pop stddev_samp stdin stdout storage strict strip structure style subclass_origin submultiset subscription substring substring_regex succeeds sum symmetric sysid system system_time system_user t table table_name tables tablesample tablespace temp template temporary text then ties time timestamp timezone_hour timezone_minute to token top_level_count trailing transaction transaction_active transactions_committed transactions_rolled_back transform transforms translate translate_regex translation treat trigger trigger_catalog trigger_name trigger_schema trim trim_array true truncate trusted type types uescape unbounded uncommitted under unencrypted union unique unknown unlink unlisten unlogged unnamed unnest until untyped update upper uri usage use_column use_variable user user_defined_type_catalog user_defined_type_code user_defined_type_name user_defined_type_schema using vacuum valid validate validator value value_of values var_pop var_samp varbinary varchar variable_conflict variadic varying verbose version versioning view views volatile warning when whenever where while whitespace width_bucket window with within without work wrapper write xml xmlagg xmlattributes xmlbinary xmlcast xmlcomment xmlconcat xmldeclaration xmldocument xmlelement xmlexists xmlforest xmliterate xmlnamespaces xmlparse xmlpi xmlquery xmlroot xmlschema xmlserialize xmltable xmltext xmlvalidate year yes zone"),builtin:M("bigint int8 bigserial serial8 bit varying varbit boolean bool box bytea character char varchar cidr circle date double precision float8 inet integer int int4 interval json jsonb line lseg macaddr macaddr8 money numeric decimal path pg_lsn point polygon real float4 smallint int2 smallserial serial2 serial serial4 text time without zone with timetz timestamp timestamptz tsquery tsvector txid_snapshot uuid xml"),atoms:M("false true null unknown"),operatorChars:/^[*\/+\-%<>!=&|^\/#@?~]/,backslashStringEscapes:!1,dateSQL:M("date time timestamp"),support:M("ODBCdotTable decimallessFloat zerolessFloat binaryNumber hexNumber nCharCast charsetCast escapeConstant")}),vC=je({keywords:M("ancestor and asc by contains desc descendant distinct from group has in is limit offset on order select superset where"),atoms:M("false true"),builtin:M("blob datetime first key __key__ string integer double boolean null"),operatorChars:/^[*+\-%<>!=]/}),$C=je({client:M("source"),keywords:M("abort absolute access action active add admin after aggregate all also alter always analyse analyze and any array as asc assertion assignment asymmetric at authorization backward before begin between bigint binary bit boolean both by cache called cascade cascaded case cast chain char character characteristics check checkpoint class close cluster coalesce codegen collate column comment commit committed concurrency concurrently configuration connection constraint constraints contains content continue conversion copy cost cpu_rate_limit create createdb createexttable createrole createuser cross csv cube current current_catalog current_date current_role current_schema current_time current_timestamp current_user cursor cycle data database day deallocate dec decimal declare decode default defaults deferrable deferred definer delete delimiter delimiters deny desc dictionary disable discard distinct distributed do document domain double drop dxl each else enable encoding encrypted end enum errors escape every except exchange exclude excluding exclusive execute exists explain extension external extract false family fetch fields filespace fill filter first float following for force foreign format forward freeze from full function global grant granted greatest group group_id grouping handler hash having header hold host hour identity if ignore ilike immediate immutable implicit in including inclusive increment index indexes inherit inherits initially inline inner inout input insensitive insert instead int integer intersect interval into invoker is isnull isolation join key language large last leading least left level like limit list listen load local localtime localtimestamp location lock log login mapping master match maxvalue median merge minute minvalue missing mode modifies modify month move name names national natural nchar new newline next no nocreatedb nocreateexttable nocreaterole nocreateuser noinherit nologin none noovercommit nosuperuser not nothing notify notnull nowait null nullif nulls numeric object of off offset oids old on only operator option options or order ordered others out outer over overcommit overlaps overlay owned owner parser partial partition partitions passing password percent percentile_cont percentile_disc placing plans position preceding precision prepare prepared preserve primary prior privileges procedural procedure protocol queue quote randomly range read readable reads real reassign recheck recursive ref references reindex reject relative release rename repeatable replace replica reset resource restart restrict returning returns revoke right role rollback rollup rootpartition row rows rule savepoint scatter schema scroll search second security segment select sequence serializable session session_user set setof sets share show similar simple smallint some split sql stable standalone start statement statistics stdin stdout storage strict strip subpartition subpartitions substring superuser symmetric sysid system table tablespace temp template temporary text then threshold ties time timestamp to trailing transaction treat trigger trim true truncate trusted type unbounded uncommitted unencrypted union unique unknown unlisten until update user using vacuum valid validation validator value values varchar variadic varying verbose version view volatile web when where whitespace window with within without work writable write xml xmlattributes xmlconcat xmlelement xmlexists xmlforest xmlparse xmlpi xmlroot xmlserialize year yes zone"),builtin:M("bigint int8 bigserial serial8 bit varying varbit boolean bool box bytea character char varchar cidr circle date double precision float float8 inet integer int int4 interval json jsonb line lseg macaddr macaddr8 money numeric decimal path pg_lsn point polygon real float4 smallint int2 smallserial serial2 serial serial4 text time without zone with timetz timestamp timestamptz tsquery tsvector txid_snapshot uuid xml"),atoms:M("false true null unknown"),operatorChars:/^[*+\-%<>!=&|^\/#@?~]/,dateSQL:M("date time timestamp"),support:M("ODBCdotTable decimallessFloat zerolessFloat binaryNumber hexNumber nCharCast charsetCast")}),TC=je({keywords:M("add after all alter analyze and anti archive array as asc at between bucket buckets by cache cascade case cast change clear cluster clustered codegen collection column columns comment commit compact compactions compute concatenate cost create cross cube current current_date current_timestamp database databases data dbproperties defined delete delimited deny desc describe dfs directories distinct distribute drop else end escaped except exchange exists explain export extended external false fields fileformat first following for format formatted from full function functions global grant group grouping having if ignore import in index indexes inner inpath inputformat insert intersect interval into is items join keys last lateral lazy left like limit lines list load local location lock locks logical macro map minus msck natural no not null nulls of on optimize option options or order out outer outputformat over overwrite partition partitioned partitions percent preceding principals purge range recordreader recordwriter recover reduce refresh regexp rename repair replace reset restrict revoke right rlike role roles rollback rollup row rows schema schemas select semi separated serde serdeproperties set sets show skewed sort sorted start statistics stored stratify struct table tables tablesample tblproperties temp temporary terminated then to touch transaction transactions transform true truncate unarchive unbounded uncache union unlock unset use using values view when where window with"),builtin:M("tinyint smallint int bigint boolean float double string binary timestamp decimal array map struct uniontype delimited serde sequencefile textfile rcfile inputformat outputformat"),atoms:M("false true null"),operatorChars:/^[*\/+\-%<>!=~&|^]/,dateSQL:M("date time timestamp"),support:M("ODBCdotTable doubleQuote zerolessFloat")}),CC=je({client:M("source"),keywords:M("alter and as asc between by count create delete desc distinct drop from group having in insert into is join like not on or order select set table union update values where limit after all and as at asc avedev avg between by case cast coalesce count create current_timestamp day days delete define desc distinct else end escape events every exists false first from full group having hour hours in inner insert instanceof into irstream is istream join last lastweekday left limit like max match_recognize matches median measures metadatasql min minute minutes msec millisecond milliseconds not null offset on or order outer output partition pattern prev prior regexp retain-union retain-intersection right rstream sec second seconds select set some snapshot sql stddev sum then true unidirectional until update variable weekday when where window"),builtin:{},atoms:M("false true null"),operatorChars:/^[*+\-%<>!=&|^\/#@?~]/,dateSQL:M("time"),support:M("decimallessFloat zerolessFloat binaryNumber hexNumber")});var Rg={name:"toml",startState:function(){return{inString:!1,stringType:"",lhs:!0,inArray:0}},token:function(i,e){let t;if(!e.inString&&(t=i.match(/^('''|"""|'|")/))&&(e.stringType=t[0],e.inString=!0),i.sol()&&!e.inString&&e.inArray===0&&(e.lhs=!0),e.inString){for(;e.inString;)if(i.match(e.stringType))e.inString=!1;else if(i.peek()==="\\")i.next(),i.next();else{if(i.eol())break;i.match(/^.[^\\\"\']*/)}return e.lhs?"property":"string"}else{if(e.inArray&&i.peek()==="]")return i.next(),e.inArray--,"bracket";if(e.lhs&&i.peek()==="["&&i.skipTo("]"))return i.next(),i.peek()==="]"&&i.next(),"atom";if(i.peek()==="#")return i.skipToEnd(),"comment";if(i.eatSpace())return null;if(e.lhs&&i.eatWhile(function(n){return n!="="&&n!=" "}))return"property";if(e.lhs&&i.peek()==="=")return i.next(),e.lhs=!1,null;if(!e.lhs&&i.match(/^\d\d\d\d[\d\-\:\.T]*Z/))return"atom";if(!e.lhs&&(i.match("true")||i.match("false")))return"atom";if(!e.lhs&&i.peek()==="[")return e.inArray++,i.next(),"bracket";if(!e.lhs&&i.match(/^\-?\d+(?:\.\d+)?/))return"number";i.eatSpace()||i.next()}return null},languageData:{commentTokens:{line:"#"}}};var TP=Qe({"for in if else endfor endif":d.controlKeyword,"Attribute/Identifier":d.definition(d.propertyName),"ForIntro/Identifier":d.definition(d.propertyName),"Block/Identifier":d.definitionKeyword,"FunctionCall/Identifier":d.function(d.variableName),"Attribute/Expression":d.attributeValue,"VariableExpr/Identifier":d.variableName,"GetAttr/Identifier":d.variableName,Identifier:d.name,"LiteralValue/...":d.literal,"StringLit/... TemplateLiteral":d.string,NumericLit:d.number,BoolLit:d.bool,NullLit:d.null,Comment:d.comment,LineComment:d.lineComment,BlockComment:d.blockComment,"( )":d.paren,"{ }":d.bracket,"[ ]":d.squareBracket,ArithOp:d.arithmeticOperator,LogicOp:d.logicOperator,CompareOp:d.compareOperator,ControlOp:d.controlOperator,HeredocIdentifier:d.special(d.controlKeyword),HeredocStart:d.special(d.brace),"TemplateInterpolationStart TemplateInterpolationEnd":d.special(d.brace),"TemplateDirectiveStart TemplateDirectiveEnd":d.special(d.brace),StripMarker:d.special(d.brace),Ellipsis:d.punctuation,": =>":d.punctuation,",":d.separator}),Qh=1,bh=2,Sh=3,yh=4,kh=5,xh=6,Zn=7,Ee=93,Re={QUOTED_TEMPLATE:1,TEMPLATE_INTERPOLATION:2,TEMPLATE_DIRECTIVE:4,HEREDOC_TEMPLATE:8},CP=function(i){var e=0,t,n;if(i.length===0)return e;for(t=0;t{if(e.canShift(Qh)&&!(e.context&&e.context.type===Re.QUOTED_TEMPLATE)&&String.fromCharCode(i.next)==='"')return i.advance(),i.acceptToken(Qh)},{contextual:!0,fallback:!0}),AP=new ee((i,e)=>{if(e.canShift(bh)&&e.context&&e.context.type===Re.QUOTED_TEMPLATE&&String.fromCharCode(i.next)==='"')return i.advance(),i.acceptToken(bh)},{contextual:!0,fallback:!0}),ZP=new ee((i,e)=>{if(e.canShift(Ee)&&e.context&&e.context.type===Re.QUOTED_TEMPLATE)switch(String.fromCharCode(i.next)){case"\\":switch(i.advance(),String.fromCharCode(i.next)){case'"':case"n":case"r":case"t":case"\\":return i.advance(),i.acceptToken(Ee);case"u":for(let t=0;t<4;t++)if(i.advance(),!/[0-9a-fA-F]/.test(String.fromCharCode(i.next)))return;return i.advance(),i.acceptToken(Ee);case"U":for(let t=0;t<8;t++)if(i.advance(),!/[0-9a-fA-F]/.test(String.fromCharCode(i.next)))return;return i.advance(),i.acceptToken(Ee);default:return}}if(e.canShift(Ee)&&e.context&&(e.context.type===Re.QUOTED_TEMPLATE||e.context.type===Re.HEREDOC_TEMPLATE)&&i.next!==-1)return i.advance(),i.acceptToken(Ee)},{contextual:!0,fallback:!0}),EP=new ee((i,e)=>{if(e.canShift(Sh)&&e.canShift(Ee)&&!(e.context&&e.context.type===Re.TEMPLATE_INTERPOLATION)&&String.fromCharCode(i.next)==="$")return i.advance(),String.fromCharCode(i.next)==="{"?(i.advance(),i.acceptToken(Sh)):(String.fromCharCode(i.next)==="$"&&(i.advance(),String.fromCharCode(i.next)==="{")&&i.advance(),i.acceptToken(Ee))},{contextual:!0,fallback:!0}),qP=new ee((i,e)=>{if(e.canShift(yh)&&e.context&&e.context.type===Re.TEMPLATE_INTERPOLATION&&String.fromCharCode(i.next)==="}")return i.advance(),i.acceptToken(yh)},{contextual:!0,fallback:!0}),zP=new ee((i,e)=>{if(e.canShift(kh)&&e.canShift(Ee)&&!(e.context&&e.context.type===Re.TEMPLATE_DIRECTIVE)&&String.fromCharCode(i.next)==="%")return i.advance(),String.fromCharCode(i.next)==="{"?(i.advance(),i.acceptToken(kh)):(String.fromCharCode(i.next)==="%"&&(i.advance(),String.fromCharCode(i.next)==="{")&&i.advance(),i.acceptToken(Ee))},{contextual:!0,fallback:!0}),LP=new ee((i,e)=>{if(e.canShift(xh)&&e.context&&e.context.type===Re.TEMPLATE_DIRECTIVE&&String.fromCharCode(i.next)==="}")return i.advance(),i.acceptToken(xh)},{contextual:!0,fallback:!0}),MP=new ee((i,e)=>{if(e.canShift(Zn)&&!(e.context&&e.context.type===Re.HEREDOC_TEMPLATE)&&i.next!==-1){let t=String.fromCharCode(i.next);for(;/[0-9a-zA-Z]/.test(t)||t==="_"||t==="-";)i.advance(),t=String.fromCharCode(i.next);return i.acceptToken(Zn)}if(e.canShift(Zn)&&e.canShift(Ee)&&e.context&&e.context.type===Re.HEREDOC_TEMPLATE&&i.next!=-1){let t=e.context.heredoc_identifier,n=!1,r=!1,s=String.fromCharCode(i.next);for(;/\s/.test(s);)r=!0,s===` `&&(n=!0),i.advance(),s=String.fromCharCode(i.next);if(r&&i.acceptToken(Ee),!n)return;let o=0;for(let l=0;lbQ&jO,5:fOOQy,5:h,5:hPOQy'#EY'#EYPOQy,5:j,5:jPOQy,5:k,5:kOOQy1G0g1G0gOOQO7+%u7+%uO>jQ&jO7+%uOOQ%n,5:|,5:|OOQ%n1G.}1G.}O>oQ&rO1G.}O>tQ&rO1G.}OOQ%n1G/Q1G/QO?PQ&jO,59jO?[Q'[O,59jOOQ%n1G/W1G/WO1tQ)tO1G/WO?dQ&jO'#DVO1tQ)tO1G/WO?rQ&jO,59oO@QQ'[O,59oO@YQ'[O,59qO@bQ&jO1G/RO@jQ&jO1G/RO$yQ&kO1G/XO@oQ'[O1G/XOOQy7+$y7+$yO@zQ&jO,5:rOA]Q&kO1G0lOOQO-E8U-E8UOOQy7+%[7+%[OAdQ&jO7+%[O$yQ&kO'#DlO$yQ&kO1G/qOAiQ&jO1G/qOOQP'#ES'#ESO$yQ&kO7+%rP$yQ&kO'#EXO$yQ&kO7+%_OAnQ&kO,5:ROAuQ&jO,5:ROOQO,5:R,5:ROOQy7+%V7+%VOOQy1G0Q1G0QPOQy-E8W-E8WOOQO<eAN>eOKmQ&jOAN>eOKrQ&jOAN>eOOQ%n<cOOQyG24PG24POLiQ&jOG24POOQ$YG23_G23_OLnQ'[OG23_OLyQ'[OG23_O$yQ&kOG23_OOQPG23}G23}OOQyLD)kLD)kOOQ$YLD(yLD(yOMOQ'[OLD(yOMTQ'[OLD(yOOQ$Y!$'Le!$'LeOM`Q'[O!$'LeOOQ$Y!)9BP!)9BPO-wQ&kO'#DoO/TQ&kO'#DoOMeQ&kO'#CkO-wQ&kO,5:^O/TQ&kO,5:^O-wQ&kO,5:^O/TQ&kO,5:^O-wQ&kO,5:^O/TQ&kO,5:^O-wQ&kO,5:^O/TQ&kO,5:^O-wQ&kO,5:^O/TQ&kO,5:^O-wQ&kO,5:^O/TQ&kO,5:^ON[Q&kO1G/xO! XQ&kO1G/xO!!UQ&kO1G/xO!%UQ&kO1G/xO!%]Q&kO1G/xO-wQ&kO7+%rO/TQ&kO7+%rO4uQ&jO1G0WO4uQ&jO1G0WO$yQ&kO,5:lO$yQ&kO,5:l",stateData:"!%l~O#ROSXPQYPQ~O^RO!SQO~OXVOYVO~OPZO^gOa[OcXOdXOfYO!P`O!RdO!ScO!YoO#W]O#X]O#^iO#_jO~OPqO^sO!SuO#SrO~O^RO#O[X!R[X~OQ!PORyOT!QO#PwO~OV!RO~OPZO^gOa[OcXOdXOfYOp!WO!P`O!ScO!YoO#W]O#X]O#^iO#_jO~O!O!TO~P#iO#S!XO#[!XO#o!YO~OPZO^gOa[OcXOdXOfYO!P`O!ScO!YoO#W]O#X]O#^iO#_jO~O#V!]O!R#ZX~P$yOp!WO~PmO!R!`O~O!Y!aO!P!VX!o!VX#^!VX#`!VX#a!VX#b!VX#c!VX#d!VX#e!VX#f!VX#g!VX#h!VX#i!VX#j!VX#k!VX#l!VX#m!VX#n!VX#o!VX~O#S!VX#[!VX!O!VX#V!VX!W!VX^!VX#O!VXS!VXl!VXv!VX![!VXU!VX!R!VX~P&[O!o!pO#^!dO#`!cO#a!cO#b!cO#c!dO#d!eO#e!eO#f!eO#g!eO#h!fO#i!fO#j!gO#k!hO#l!qO#m!rO#n!sO#o_X#V_X^_X!R_X~O!P!oO#S_X#[_X!O_X!W_X#O_XS_Xl_Xv_X![_XU_X~P(iOPqO^sO!S!zO~O^RO!R!{O~O#P!}OQ#UPR#UPT#UPV#UP~OQ#POR!yXT!yX#P!yX~OS#QOl#RO~P$yORyOT#VO#PwO~ORyOT#ZO#PwO~OQ#]ORyOT!QO#PwO~Ol#_Op#^Ov#`O~ORyOT!QOV#bO#PwO~O#V#cO#o!YO!O#YX~O!O#eO~O^#gO~OPZO^#iOa[OcXOdXOfYO!P`O!ScO!YoO#W]O#X]O#^iO#_jO~O!R#Za~P$yO#V#lO!R#Za~P$yOPZO^#nOa[OcXOdXOfYO!P`O!ScO!YoO#W]O#X]O#^iO#_jO~O!W#rO~P$yO^#{O~O!W$PO#o!YO~OQ#PO~O#o!YO^]i#O]i!R]i~O^RO!R$QO~OS$TOl$UO~P$yOS$TOl$UO#o!YO~Ol$XOp#^Os$YOv#`O~ORyOT$]O#PwO~Ol$_Op#^Ov#`Ox$`Oz$aO~O^$bO~Op$cOv$dO~ORyOT!QOV$fO#PwO~O!O#Ya~P$yO#V$hO!O#Ya~Ov$lO!O$jO#o!YO~Oq$mO#V$nO~O#o!YOP!Ui^!Uia!Uic!Uid!Uif!Ui!P!Ui!R!Ui!S!Ui!Y!Ui#V!Ui#W!Ui#X!Ui#^!Ui#_!Ui~O#[$oO#o!YO~O!R#Zi~P$yO#]!VX~P&[O#]$rO#o!YO~O!o!pO#^!dO#`!cO#a!cO#b!cO#c!dO#d!eO#e!eO#f!eO#g!eO#h!fO#i!fO#j!gO#k!hO#l!qO#m!rO#n!sO#o_X~O!P!oO#]_X~P5eO![$uO#V$sO#o!YO!W!ZX~O!W$vO~O#`!cO#a!cO#b!cO!P!fi!o!fi#S!fi#[!fi#d!fi#e!fi#f!fi#g!fi#h!fi#i!fi#j!fi#k!fi#l!fi#m!fi#n!fi#o!fi!O!fi#V!fi!W!fi^!fi#O!fiS!fil!fiv!fi![!fiU!fi!R!fi~O#^!fi#c!fi~P7^O#^!dO#c!dO~P7^O#^!dO#`!cO#a!cO#b!cO#c!dO#d!eO#e!eO#f!eO#g!eO!P!fi!o!fi#S!fi#[!fi#j!fi#k!fi#l!fi#m!fi#n!fi#o!fi!O!fi#V!fi!W!fi^!fi#O!fiS!fil!fiv!fi![!fiU!fi!R!fi~O#h!fi#i!fi~P9rO#h!fO#i!fO~P9rO#^!dO#`!cO#a!cO#b!cO#c!dO#d!eO#e!eO#f!eO#g!eO#h!fO#i!fO#j!gO!P!fi!o!fi#k!fi#l!fi#m!fi#n!fi#o!fi#V!fi^!fi!R!fi~O#S!fi#[!fi!O!fi!W!fi#O!fiS!fil!fiv!fi![!fiU!fi~PWP[i]||-1}],tokenPrec:2320}),VP=Xe.define({parser:jP.configure({props:[Pe.add({Block:kt({closing:"}",align:!1})}),_e.add({"Object Tuple TemplateFor TemplateIf":ut,BlockComment:i=>({from:i.from+2,to:i.to-2}),HeredocTemplate(i){let e=i.getChild("HeredocIdentifier");return e?{from:e.to,to:i.to}:null},FunctionCall(i){let e=i.getChild("("),t=i.getChild(")");return!e||!t?null:{from:e.from+1,to:t.to-1}},Block(i){let e=i.getChild("{"),t=i.getChild("}");return!e||!t?null:{from:e.from+1,to:t.to-1}}}),TP]}),languageData:{commentTokens:{line:"#",block:{open:"/*",close:"*/"}}}});function Rg(){return new me(VP)}function DP(i){let e=i.trim();if(!e)return"";if(/^#!.*\b(?:ba)?sh\b|^\s*\$\s+/.test(e))return"bash";if(e.startsWith("{")&&e.endsWith("}")||e.startsWith("[")&&e.endsWith("]"))try{return JSON.parse(e),"json"}catch{}return/^\s*(?:|(?:using\s+namespace\s+std|std::\w+|(?:cout|cin)\s*(?:<<|>>))\b)/m.test(e)?"cpp":/^\s*(?:#\s*include\s*[<"](?:assert|ctype|errno|float|inttypes|limits|math|setjmp|signal|stdarg|stdbool|stddef|stdint|stdio|stdlib|string|time)\.h[>"]|(?:int|void)\s+main\s*\([^)]*\)\s*\{)/m.test(e)?"c":/^\s*(?:async\s+)?def\s+\w+\s*\(|^\s*from\s+\w+[\w.]*\s+import\b|^\s*class\s+\w+\s*[:(]/m.test(e)?"python":/\b(?:SELECT|INSERT|UPDATE|DELETE|CREATE\s+(?:TABLE|VIEW|INDEX)|WITH)\b[\s\S]*\b(?:FROM|INTO|WHERE|AS)\b/i.test(e)?"sql":/(?:^|\n)\s*(?:[#.]?[A-Za-z][\w-]*)\s*\{[\s\S]*:[\s\S]*\}/.test(e)||/@(?:media|keyframes|supports)\b/.test(e)?"css":/^\s*(?:const|let|var)\s+[A-Za-z_$][\w$]*\s*(?::[^=\n]+)?\s*=/m.test(e)||/\b(?:function\s+\w+\s*\(|console\.(?:log|error|warn)|=>)/.test(e)?"javascript":/^\s*(?:[-A-Za-z_][\w-]*):\s*(?:[^:#\n]|$)/m.test(e)&&!/[{};]/.test(e)?"yaml":/^\s*(?:echo|printf|export|source|cd|mkdir|rm|cp|mv)\s+/m.test(e)?"bash":""}var Ue=(i,e,t)=>Be.of({name:i,alias:e,support:new me(Es.define(t))}),Jg=[Be.of({name:"javascript",alias:["js","jsx","ts","tsx","typescript","node"],support:oo({jsx:!0,typescript:!0})}),Be.of({name:"python",alias:["py"],support:Ym()}),Be.of({name:"json",alias:["jsonc"],support:Bm()}),Be.of({name:"css",alias:["scss"],support:so()}),Be.of({name:"html",alias:["htm","xml"],support:lo()}),Be.of({name:"hcl",alias:["terraform","tf"],support:Rg()}),Ue("swift",[],Gm),Ue("shell",["sh","bash","zsh","console"],Jm),Ue("yaml",["yml"],eg),Ue("go",["golang"],sg),Ue("ruby",["rb"],lg),Ue("rust",["rs"],fg),Ue("c",["h"],Sg),Ue("cpp",["c++","cc","hpp"],yg),Ue("java",[],kg),Ue("kotlin",["kt"],Pg),Ue("objective-c",["objc","objectivec"],vg),Ue("csharp",["cs","c#"],xg),Ue("sql",[],je({})),Ue("toml",[],_g)],YP={resolve:"Highlight",mark:"HighlightMark"},IP=/[\p{S}\p{P}]/u;function Ag(i){return!i||/\s/.test(i)}function Zg(i){return!!i&&IP.test(i)}var Mh={defineNodes:["Highlight","HighlightMark"],parseInline:[{name:"Highlight",parse(i,e,t){if(e!==61||i.char(t+1)!==61)return-1;let n=t;for(;n>i.offset&&i.char(n-1)===61;)n--;let r=t+2;for(;i.char(r)===61;)r++;let s=n+(r-n)%2;if(t=i.offset&&i.char(p)===92;p--)o++;if(o%2!==0)return-1;let a=i.slice(n-1,n),l=i.slice(r,r+1),c=Ag(a),h=Ag(l),f=Zg(a),u=Zg(l),O=!h&&(!u||c||f),m=!c&&(!f||h||u);return i.addDelimiter(YP,t,t+2,O,m)},after:"Emphasis"}]},Wr=class extends Ce{constructor(e,t){super(),this.text=e,this.className=t}eq(e){return e.text===this.text&&e.className===this.className}toDOM(){let e=document.createElement("span");return e.textContent=this.text,e.className=this.className,e}ignoreEvent(){return!1}},Xh=class extends Ce{constructor(e,t,n,r,s){super(),this.source=e,this.alt=t,this.raw=n,this.from=r,this.to=s}eq(e){return e.source===this.source&&e.alt===this.alt&&e.raw===this.raw&&e.from===this.from&&e.to===this.to}toDOM(e){let t=document.createElement("span");t.className="cm-md-image-preview",t.setAttribute("role","figure");let n=document.createElement("img");n.src=this.source,n.alt=this.alt,n.draggable=!1,n.addEventListener("error",()=>t.classList.add("cm-md-image-error"),{once:!0});let r=document.createElement("code");r.className="cm-md-image-source",r.textContent=this.raw,r.title="Click to edit image source";let s=o=>{o.preventDefault(),o.stopPropagation(),e.focus(),e.dispatch({selection:{anchor:Math.min(this.from+2,this.to)},userEvent:"select.pointer"})};return r.addEventListener("mousedown",s),r.addEventListener("click",s),n.addEventListener("mousedown",o=>{o.preventDefault(),o.stopPropagation()}),n.addEventListener("click",o=>{o.preventDefault(),o.stopPropagation();let a=n.currentSrc||n.src;a.startsWith("md-asset:")?window.__mdRequestImageRename?.(a):s(o)}),t.append(n,r),t}ignoreEvent(){return!0}},_h=class extends Ce{eq(){return!0}toDOM(){let e=document.createElement("span");return e.className="cm-md-hr",e}ignoreEvent(){return!1}},BP=0,Rh=class extends Ce{constructor(e){super(),this.source=e}eq(e){return e.source===this.source}toDOM(e){let t=document.createElement("figure");t.className="cm-md-mermaid-preview",t.setAttribute("role","img"),t.setAttribute("aria-label","Mermaid diagram. Click to edit source.");let n=document.createElement("div");n.className="cm-md-mermaid-stage",n.textContent="Rendering diagram\u2026",t.appendChild(n),t.addEventListener("mousedown",o=>{o.preventDefault(),e.focus();let a=e.posAtDOM(t);e.dispatch({selection:{anchor:a+1},userEvent:"select.pointer"})});let r=window.mermaid;if(!r||typeof r.render!="function")return n.textContent="Mermaid preview unavailable. Click to edit source.",t;let s=`md-editor-mermaid-${++BP}`;return Promise.resolve(r.render(s,this.source)).then(({svg:o})=>{n.innerHTML=o;let a=n.querySelector("svg"),l=a?.viewBox?.baseVal;a&&l?.width>0&&l?.height>0&&(t.style.setProperty("--mm-aspect",`${l.width} / ${l.height}`),a.removeAttribute("width"),a.removeAttribute("height"),a.setAttribute("preserveAspectRatio","xMidYMid meet"),a.style.width="100%",a.style.height="100%"),e.requestMeasure()}).catch(()=>{n.textContent="Unable to render Mermaid diagram. Click to edit source.",t.classList.add("cm-md-mermaid-error"),e.requestMeasure()}),t}ignoreEvent(){return!0}},e0=new WeakMap,Ah=ie.define({map:(i,e)=>e.mapPos(i,1,ge.TrackAfter)??void 0}),En=fe.define({create:()=>new Set,update(i,e){if(!e.docChanged&&!e.effects.some(n=>n.is(Ah)))return i;let t=new Set([...i].map(n=>e.changes.mapPos(n,1,ge.TrackAfter)).filter(n=>n!=null));for(let n of e.effects)n.is(Ah)&&(t.has(n.value)?t.delete(n.value):t.add(n.value));return t}}),wh=i=>'",Xo=class extends Ce{constructor(e){super(),Object.assign(this,e)}eq(e){return e.fenceFrom===this.fenceFrom&&e.infoFrom===this.infoFrom&&e.infoTo===this.infoTo&&e.rawInfo===this.rawInfo&&e.detectedLanguage===this.detectedLanguage&&e.wrapped===this.wrapped&&e.plain===this.plain}toDOM(e){let t=document.createElement("span");t.className="cm-md-code-language",t.contentEditable="false";let n=document.createElement("input");n.type="text",n.className="cm-md-code-language-input",n.autocomplete="off",n.spellcheck=!1,n.value=this.language,n.readOnly=!!this.plain,n.placeholder="language",n.setAttribute("aria-label","Code block language"),n.dataset.fenceFrom=String(this.fenceFrom);let r=this.rawInfo.match(/^\S+([\s\S]*)$/)?.[1]||"",s=n.value,o=!0,a=!1,l=()=>{if(this.plain)return;let f=n.value.trim().split(/\s+/,1)[0].toLowerCase(),u=f?f+r:"";u!==this.rawInfo&&n.value!==s&&(a=!0,e.dispatch({changes:{from:this.infoFrom,to:this.infoTo,insert:u},userEvent:"input"}))};n.addEventListener("change",l),n.addEventListener("keydown",f=>{f.stopPropagation(),f.key==="Enter"?(f.preventDefault(),l(),n.blur(),e.focus()):f.key==="Escape"&&(f.preventDefault(),o=!1,n.value=this.language,n.blur(),e.focus())}),n.addEventListener("mousedown",f=>f.stopPropagation()),n.addEventListener("click",f=>f.stopPropagation()),n.addEventListener("blur",()=>{o&&!a&&l(),a=!1,o=!0}),t.appendChild(n);let c=(f,u,O,m)=>{let p=document.createElement("button");return p.type="button",p.className=`cm-md-code-action ${O}`,p.title=f,p.setAttribute("aria-label",f),p.innerHTML=wh(u),p.addEventListener("mousedown",b=>{b.preventDefault(),b.stopPropagation()}),p.addEventListener("click",b=>{b.preventDefault(),b.stopPropagation(),m(p)}),t.appendChild(p),p};return c(this.wrapped?"Unwrap code":"Wrap code",this.wrapped?"unwrap":"wrap","cm-md-code-toggle-wrap",()=>e.dispatch({effects:Ah.of(e.state.doc.lineAt(this.fenceFrom).from)})).setAttribute("aria-pressed",String(this.wrapped)),c("Copy code","copy","cm-md-code-copy",async f=>{let u=e.state.doc.lineAt(this.fenceFrom),O=U(e.state).resolve(this.plain?u.to:this.fenceFrom+1,-1);for(;O&&O.name!==(this.plain?"CodeBlock":"FencedCode");)O=O.parent;if(!O)return;let m=this.plain?O.getChildren("CodeText").map(p=>e.state.sliceDoc(p.from,p.to)).join(""):Ao(e.state,O).source;try{let p=e0.get(e);p?p(m):await navigator.clipboard.writeText(m),f.innerHTML=wh("check"),f.title="Code copied",f.setAttribute("aria-label",f.title),clearTimeout(f.copyTimer),f.copyTimer=setTimeout(()=>{f.innerHTML=wh("copy"),f.title="Copy code",f.setAttribute("aria-label",f.title)},1100)}catch{}}),t}ignoreEvent(){return!0}};function vo(i,e=!1){let t=[],n="",r=0,s=()=>t.push({text:n.trim(),from:r+n.length-n.trimStart().length,to:r+n.trimEnd().length}),o=0,a=0;for(let c=0;cc.text)}function UP(i){let e=i.trim(),t=e.startsWith(":"),n=e.endsWith(":"),r=e.replace(/^:/,"").replace(/:$/,"");return/^-{3,}$/.test(r)?t&&n?"center":t?"left":n?"right":"none":null}function Wh(i){let e=i.endsWith(` +`)return i.acceptToken(Zn);if(!/\s/.test(String.fromCharCode(l)))return i.acceptToken(Ee);a++}}},{contextual:!0,fallback:!0}),WP={__proto__:null,true:39,false:41,null:45,for:64,in:66,endfor:70,if:76,else:80,endif:84},jP=ve.deserialize({version:14,states:"EzQ]Q&jOOPeO&jOOOmQ&kO'#DaO!kQ&kO'#CiOOQO'#EU'#EUO!yQ&jO'#ChQOQ&jOOPOOO'#Cd'#CdPOOO)C@S)C@SOOQy'#Cn'#CnOOQy'#Cq'#CqO#UQ)vO'#CvOOQy'#Cl'#ClOOQ!b'#DY'#DYO#dQ'|O'#DXOOQy'#Cu'#CuO$gQ&kO'#D^O$nQ&jO'#DbO%tQ&kO'#EgO&OQ&kO'#DaOOQy,59{,59{O&VQ&jO,59{OOQy'#DZ'#DZO'lQ'dO'#DcOOQy'#Di'#DiOOQP'#Dp'#DpOOQP'#Dq'#DqO$yQ&kO'#DoO)|Q'dO'#CkOOQy'#Dn'#DnOOQy'#Ea'#EaO$yQ&kO'#EaOOQy'#Ck'#CkO#_Q)`O'#CsO$yQ&kO,59TOOQP'#EZ'#EZO*sQ&kO,5:oO+OQ&jO,5:oOOQO-E8S-E8SO+WQ+YO'#CtO+iQ)vO,59_O+wQ&sO'#CwO,RQ)tO'#CzO,^Q)tO'#DQOOQ%n'#Cy'#CyOOQ%n'#EV'#EVO,iQ)vO,59bOOQy,59b,59bO,wQ&jO'#DRO-SQ+WO,59sO-bQ&jO'#EfOOQy,59x,59xO-mQ&jO,59xO$yQ&kO,5:UO-rQ&jO'#DkO-wQ&kO,59|OOQP'#ER'#ERO$yQ&kO,5:lOOQP'#EX'#EXO.rQ&kO,5;RO.yQ&kO,5;RO/TQ&kO,5:XOOQy1G/g1G/gO0OQ&kO,5:POOQy,5:Z,5:ZOOQP'#Ds'#DsOOQP'#Dt'#DtOOQP'#Du'#DuOOQP'#Dv'#DvOOQP'#Dw'#DwOOQP'#Dx'#DxO$yQ&kO,5:^O$yQ&kO,5:^O$yQ&kO,5:^O$yQ&kO,5:^O$yQ&kO,5:^O$yQ&kO,5:^O$yQ&kO'#DzOOQy'#Dy'#DyO0VQ&jO'#D|OOQy'#EO'#EOOOQy'#EP'#EPOOQy'#D}'#D}OOQy,5:{,5:{O0[Q&jO,5:{O0dQ&lO,59_O0iQ&jO1G.oOOQP-E8X-E8XO0wQ&jO1G0ZOOQO1G0Z1G0ZO0zQ&jO1G0ZO+WQ+YO'#EbOOQ%n,59`,59`OOQy1G.y1G.yOOQ%n,59c,59cO1PQ&sO,59cO1ZQ&rO,59cOOQ%n,59f,59fO,RQ)tO,59fO1fQ&jO'#DOOOQ%n,59l,59lO1tQ)tO,59lO,^Q)tO,59lO2PQ&jO'#DTOOQ%n-E8T-E8TOOQy1G.|1G.|O2bQ&jO,59gO2gQ&jO,59mO$yQ&kO,59mO2oQ+WO1G/_OOQy1G/_1G/_O2}Q&kO,5;QO3UQ&jO,5;QOOQy1G/d1G/dO3^Q&jO1G/pO3iQ&jO,5:VO3qQ&kO1G/hOOQP'#Dc'#DcO4uQ&jO1G0WOOQP,5:s,5:sO4}Q&kO1G0mOOQP-E8V-E8VO5UQ,UO'#DcO5]Q,UO1G/sO6oQ,UO'#CkO6yQ&jO'#DgOOQy1G/k1G/kO7XQ&jO1G/kOOQy1G/x1G/xO9^Q'dO1G/xO9hQ'dO1G/xO;rQ'dO1G/xO;|Q'dO1G/xO=nQ'dO1G/xO>bQ&jO,5:fOOQy,5:h,5:hPOQy'#EY'#EYPOQy,5:j,5:jPOQy,5:k,5:kOOQy1G0g1G0gOOQO7+%u7+%uO>jQ&jO7+%uOOQ%n,5:|,5:|OOQ%n1G.}1G.}O>oQ&rO1G.}O>tQ&rO1G.}OOQ%n1G/Q1G/QO?PQ&jO,59jO?[Q'[O,59jOOQ%n1G/W1G/WO1tQ)tO1G/WO?dQ&jO'#DVO1tQ)tO1G/WO?rQ&jO,59oO@QQ'[O,59oO@YQ'[O,59qO@bQ&jO1G/RO@jQ&jO1G/RO$yQ&kO1G/XO@oQ'[O1G/XOOQy7+$y7+$yO@zQ&jO,5:rOA]Q&kO1G0lOOQO-E8U-E8UOOQy7+%[7+%[OAdQ&jO7+%[O$yQ&kO'#DlO$yQ&kO1G/qOAiQ&jO1G/qOOQP'#ES'#ESO$yQ&kO7+%rP$yQ&kO'#EXO$yQ&kO7+%_OAnQ&kO,5:ROAuQ&jO,5:ROOQO,5:R,5:ROOQy7+%V7+%VOOQy1G0Q1G0QPOQy-E8W-E8WOOQO<eAN>eOKmQ&jOAN>eOKrQ&jOAN>eOOQ%n<cOOQyG24PG24POLiQ&jOG24POOQ$YG23_G23_OLnQ'[OG23_OLyQ'[OG23_O$yQ&kOG23_OOQPG23}G23}OOQyLD)kLD)kOOQ$YLD(yLD(yOMOQ'[OLD(yOMTQ'[OLD(yOOQ$Y!$'Le!$'LeOM`Q'[O!$'LeOOQ$Y!)9BP!)9BPO-wQ&kO'#DoO/TQ&kO'#DoOMeQ&kO'#CkO-wQ&kO,5:^O/TQ&kO,5:^O-wQ&kO,5:^O/TQ&kO,5:^O-wQ&kO,5:^O/TQ&kO,5:^O-wQ&kO,5:^O/TQ&kO,5:^O-wQ&kO,5:^O/TQ&kO,5:^O-wQ&kO,5:^O/TQ&kO,5:^ON[Q&kO1G/xO! XQ&kO1G/xO!!UQ&kO1G/xO!%UQ&kO1G/xO!%]Q&kO1G/xO-wQ&kO7+%rO/TQ&kO7+%rO4uQ&jO1G0WO4uQ&jO1G0WO$yQ&kO,5:lO$yQ&kO,5:l",stateData:"!%l~O#ROSXPQYPQ~O^RO!SQO~OXVOYVO~OPZO^gOa[OcXOdXOfYO!P`O!RdO!ScO!YoO#W]O#X]O#^iO#_jO~OPqO^sO!SuO#SrO~O^RO#O[X!R[X~OQ!PORyOT!QO#PwO~OV!RO~OPZO^gOa[OcXOdXOfYOp!WO!P`O!ScO!YoO#W]O#X]O#^iO#_jO~O!O!TO~P#iO#S!XO#[!XO#o!YO~OPZO^gOa[OcXOdXOfYO!P`O!ScO!YoO#W]O#X]O#^iO#_jO~O#V!]O!R#ZX~P$yOp!WO~PmO!R!`O~O!Y!aO!P!VX!o!VX#^!VX#`!VX#a!VX#b!VX#c!VX#d!VX#e!VX#f!VX#g!VX#h!VX#i!VX#j!VX#k!VX#l!VX#m!VX#n!VX#o!VX~O#S!VX#[!VX!O!VX#V!VX!W!VX^!VX#O!VXS!VXl!VXv!VX![!VXU!VX!R!VX~P&[O!o!pO#^!dO#`!cO#a!cO#b!cO#c!dO#d!eO#e!eO#f!eO#g!eO#h!fO#i!fO#j!gO#k!hO#l!qO#m!rO#n!sO#o_X#V_X^_X!R_X~O!P!oO#S_X#[_X!O_X!W_X#O_XS_Xl_Xv_X![_XU_X~P(iOPqO^sO!S!zO~O^RO!R!{O~O#P!}OQ#UPR#UPT#UPV#UP~OQ#POR!yXT!yX#P!yX~OS#QOl#RO~P$yORyOT#VO#PwO~ORyOT#ZO#PwO~OQ#]ORyOT!QO#PwO~Ol#_Op#^Ov#`O~ORyOT!QOV#bO#PwO~O#V#cO#o!YO!O#YX~O!O#eO~O^#gO~OPZO^#iOa[OcXOdXOfYO!P`O!ScO!YoO#W]O#X]O#^iO#_jO~O!R#Za~P$yO#V#lO!R#Za~P$yOPZO^#nOa[OcXOdXOfYO!P`O!ScO!YoO#W]O#X]O#^iO#_jO~O!W#rO~P$yO^#{O~O!W$PO#o!YO~OQ#PO~O#o!YO^]i#O]i!R]i~O^RO!R$QO~OS$TOl$UO~P$yOS$TOl$UO#o!YO~Ol$XOp#^Os$YOv#`O~ORyOT$]O#PwO~Ol$_Op#^Ov#`Ox$`Oz$aO~O^$bO~Op$cOv$dO~ORyOT!QOV$fO#PwO~O!O#Ya~P$yO#V$hO!O#Ya~Ov$lO!O$jO#o!YO~Oq$mO#V$nO~O#o!YOP!Ui^!Uia!Uic!Uid!Uif!Ui!P!Ui!R!Ui!S!Ui!Y!Ui#V!Ui#W!Ui#X!Ui#^!Ui#_!Ui~O#[$oO#o!YO~O!R#Zi~P$yO#]!VX~P&[O#]$rO#o!YO~O!o!pO#^!dO#`!cO#a!cO#b!cO#c!dO#d!eO#e!eO#f!eO#g!eO#h!fO#i!fO#j!gO#k!hO#l!qO#m!rO#n!sO#o_X~O!P!oO#]_X~P5eO![$uO#V$sO#o!YO!W!ZX~O!W$vO~O#`!cO#a!cO#b!cO!P!fi!o!fi#S!fi#[!fi#d!fi#e!fi#f!fi#g!fi#h!fi#i!fi#j!fi#k!fi#l!fi#m!fi#n!fi#o!fi!O!fi#V!fi!W!fi^!fi#O!fiS!fil!fiv!fi![!fiU!fi!R!fi~O#^!fi#c!fi~P7^O#^!dO#c!dO~P7^O#^!dO#`!cO#a!cO#b!cO#c!dO#d!eO#e!eO#f!eO#g!eO!P!fi!o!fi#S!fi#[!fi#j!fi#k!fi#l!fi#m!fi#n!fi#o!fi!O!fi#V!fi!W!fi^!fi#O!fiS!fil!fiv!fi![!fiU!fi!R!fi~O#h!fi#i!fi~P9rO#h!fO#i!fO~P9rO#^!dO#`!cO#a!cO#b!cO#c!dO#d!eO#e!eO#f!eO#g!eO#h!fO#i!fO#j!gO!P!fi!o!fi#k!fi#l!fi#m!fi#n!fi#o!fi#V!fi^!fi!R!fi~O#S!fi#[!fi!O!fi!W!fi#O!fiS!fil!fiv!fi![!fiU!fi~PWP[i]||-1}],tokenPrec:2320}),VP=Xe.define({parser:jP.configure({props:[Pe.add({Block:wt({closing:"}",align:!1})}),_e.add({"Object Tuple TemplateFor TemplateIf":Ot,BlockComment:i=>({from:i.from+2,to:i.to-2}),HeredocTemplate(i){let e=i.getChild("HeredocIdentifier");return e?{from:e.to,to:i.to}:null},FunctionCall(i){let e=i.getChild("("),t=i.getChild(")");return!e||!t?null:{from:e.from+1,to:t.to-1}},Block(i){let e=i.getChild("{"),t=i.getChild("}");return!e||!t?null:{from:e.from+1,to:t.to-1}}}),TP]}),languageData:{commentTokens:{line:"#",block:{open:"/*",close:"*/"}}}});function Ag(){return new me(VP)}function DP(i){let e=i.trim();if(!e)return"";if(/^#!.*\b(?:ba)?sh\b|^\s*\$\s+/.test(e))return"bash";if(e.startsWith("{")&&e.endsWith("}")||e.startsWith("[")&&e.endsWith("]"))try{return JSON.parse(e),"json"}catch{}return/^\s*(?:|(?:using\s+namespace\s+std|std::\w+|(?:cout|cin)\s*(?:<<|>>))\b)/m.test(e)?"cpp":/^\s*(?:#\s*include\s*[<"](?:assert|ctype|errno|float|inttypes|limits|math|setjmp|signal|stdarg|stdbool|stddef|stdint|stdio|stdlib|string|time)\.h[>"]|(?:int|void)\s+main\s*\([^)]*\)\s*\{)/m.test(e)?"c":/^\s*(?:async\s+)?def\s+\w+\s*\(|^\s*from\s+\w+[\w.]*\s+import\b|^\s*class\s+\w+\s*[:(]/m.test(e)?"python":/\b(?:SELECT|INSERT|UPDATE|DELETE|CREATE\s+(?:TABLE|VIEW|INDEX)|WITH)\b[\s\S]*\b(?:FROM|INTO|WHERE|AS)\b/i.test(e)?"sql":/(?:^|\n)\s*(?:[#.]?[A-Za-z][\w-]*)\s*\{[\s\S]*:[\s\S]*\}/.test(e)||/@(?:media|keyframes|supports)\b/.test(e)?"css":/^\s*(?:const|let|var)\s+[A-Za-z_$][\w$]*\s*(?::[^=\n]+)?\s*=/m.test(e)||/\b(?:function\s+\w+\s*\(|console\.(?:log|error|warn)|=>)/.test(e)?"javascript":/^\s*(?:[-A-Za-z_][\w-]*):\s*(?:[^:#\n]|$)/m.test(e)&&!/[{};]/.test(e)?"yaml":/^\s*(?:echo|printf|export|source|cd|mkdir|rm|cp|mv)\s+/m.test(e)?"bash":""}var Ue=(i,e,t)=>Be.of({name:i,alias:e,support:new me(Es.define(t))}),Jg=[Be.of({name:"javascript",alias:["js","jsx","ts","tsx","typescript","node"],support:oo({jsx:!0,typescript:!0})}),Be.of({name:"python",alias:["py"],support:Im()}),Be.of({name:"json",alias:["jsonc"],support:Um()}),Be.of({name:"css",alias:["scss"],support:so()}),Be.of({name:"html",alias:["htm","xml"],support:lo()}),Be.of({name:"hcl",alias:["terraform","tf"],support:Ag()}),Ue("swift",[],Nm),Ue("shell",["sh","bash","zsh","console"],eg),Ue("yaml",["yml"],tg),Ue("go",["golang"],og),Ue("ruby",["rb"],cg),Ue("rust",["rs"],ug),Ue("c",["h"],yg),Ue("cpp",["c++","cc","hpp"],kg),Ue("java",[],xg),Ue("kotlin",["kt"],vg),Ue("objective-c",["objc","objectivec"],$g),Ue("csharp",["cs","c#"],wg),Ue("sql",[],je({})),Ue("toml",[],Rg)],YP={resolve:"Highlight",mark:"HighlightMark"},IP=/[\p{S}\p{P}]/u;function Zg(i){return!i||/\s/.test(i)}function Eg(i){return!!i&&IP.test(i)}var Wh={defineNodes:["Highlight","HighlightMark"],parseInline:[{name:"Highlight",parse(i,e,t){if(e!==61||i.char(t+1)!==61)return-1;let n=t;for(;n>i.offset&&i.char(n-1)===61;)n--;let r=t+2;for(;i.char(r)===61;)r++;let s=n+(r-n)%2;if(t=i.offset&&i.char(p)===92;p--)o++;if(o%2!==0)return-1;let a=i.slice(n-1,n),l=i.slice(r,r+1),c=Zg(a),h=Zg(l),f=Eg(a),u=Eg(l),O=!h&&(!u||c||f),m=!c&&(!f||h||u);return i.addDelimiter(YP,t,t+2,O,m)},after:"Emphasis"}]},Wr=class extends Ce{constructor(e,t){super(),this.text=e,this.className=t}eq(e){return e.text===this.text&&e.className===this.className}toDOM(){let e=document.createElement("span");return e.textContent=this.text,e.className=this.className,e}ignoreEvent(){return!1}},_h=class extends Ce{constructor(e,t,n,r,s){super(),this.source=e,this.alt=t,this.raw=n,this.from=r,this.to=s}eq(e){return e.source===this.source&&e.alt===this.alt&&e.raw===this.raw&&e.from===this.from&&e.to===this.to}toDOM(e){let t=document.createElement("span");t.className="cm-md-image-preview",t.setAttribute("role","figure");let n=document.createElement("img");n.src=this.source,n.alt=this.alt,n.draggable=!1,n.addEventListener("error",()=>t.classList.add("cm-md-image-error"),{once:!0});let r=document.createElement("code");r.className="cm-md-image-source",r.textContent=this.raw,r.title="Click to edit image source";let s=o=>{o.preventDefault(),o.stopPropagation(),e.focus(),e.dispatch({selection:{anchor:Math.min(this.from+2,this.to)},userEvent:"select.pointer"})};return r.addEventListener("mousedown",s),r.addEventListener("click",s),n.addEventListener("mousedown",o=>{o.preventDefault(),o.stopPropagation()}),n.addEventListener("click",o=>{o.preventDefault(),o.stopPropagation();let a=n.currentSrc||n.src;a.startsWith("md-asset:")?window.__mdRequestImageRename?.(a):s(o)}),t.append(n,r),t}ignoreEvent(){return!0}},Rh=class extends Ce{eq(){return!0}toDOM(){let e=document.createElement("span");return e.className="cm-md-hr",e}ignoreEvent(){return!1}},BP=0,Ah=class extends Ce{constructor(e){super(),this.source=e}eq(e){return e.source===this.source}toDOM(e){let t=document.createElement("figure");t.className="cm-md-mermaid-preview",t.setAttribute("role","img"),t.setAttribute("aria-label","Mermaid diagram. Click to edit source.");let n=document.createElement("div");n.className="cm-md-mermaid-stage",n.textContent="Rendering diagram\u2026",t.appendChild(n),t.addEventListener("mousedown",o=>{o.preventDefault(),e.focus();let a=e.posAtDOM(t);e.dispatch({selection:{anchor:a+1},userEvent:"select.pointer"})});let r=window.mermaid;if(!r||typeof r.render!="function")return n.textContent="Mermaid preview unavailable. Click to edit source.",t;let s=`md-editor-mermaid-${++BP}`;return Promise.resolve(r.render(s,this.source)).then(({svg:o})=>{n.innerHTML=o;let a=n.querySelector("svg"),l=a?.viewBox?.baseVal;a&&l?.width>0&&l?.height>0&&(t.style.setProperty("--mm-aspect",`${l.width} / ${l.height}`),a.removeAttribute("width"),a.removeAttribute("height"),a.setAttribute("preserveAspectRatio","xMidYMid meet"),a.style.width="100%",a.style.height="100%"),e.requestMeasure()}).catch(()=>{n.textContent="Unable to render Mermaid diagram. Click to edit source.",t.classList.add("cm-md-mermaid-error"),e.requestMeasure()}),t}ignoreEvent(){return!0}},e0=new WeakMap,Zh=ie.define({map:(i,e)=>e.mapPos(i,1,ge.TrackAfter)??void 0}),qn=fe.define({create:()=>new Set,update(i,e){if(!e.docChanged&&!e.effects.some(n=>n.is(Zh)))return i;let t=new Set([...i].map(n=>e.changes.mapPos(n,1,ge.TrackAfter)).filter(n=>n!=null));for(let n of e.effects)n.is(Zh)&&(t.has(n.value)?t.delete(n.value):t.add(n.value));return t}}),wh=i=>'",Xo=class extends Ce{constructor(e){super(),Object.assign(this,e)}eq(e){return e.fenceFrom===this.fenceFrom&&e.infoFrom===this.infoFrom&&e.infoTo===this.infoTo&&e.rawInfo===this.rawInfo&&e.detectedLanguage===this.detectedLanguage&&e.wrapped===this.wrapped&&e.plain===this.plain}toDOM(e){let t=document.createElement("span");t.className="cm-md-code-language",t.contentEditable="false";let n=document.createElement("input");n.type="text",n.className="cm-md-code-language-input",n.autocomplete="off",n.spellcheck=!1,n.value=this.language,n.readOnly=!!this.plain,n.placeholder="language",n.setAttribute("aria-label","Code block language"),n.dataset.fenceFrom=String(this.fenceFrom);let r=this.rawInfo.match(/^\S+([\s\S]*)$/)?.[1]||"",s=n.value,o=!0,a=!1,l=()=>{if(this.plain)return;let f=n.value.trim().split(/\s+/,1)[0].toLowerCase(),u=f?f+r:"";u!==this.rawInfo&&n.value!==s&&(a=!0,e.dispatch({changes:{from:this.infoFrom,to:this.infoTo,insert:u},userEvent:"input"}))};n.addEventListener("change",l),n.addEventListener("keydown",f=>{f.stopPropagation(),f.key==="Enter"?(f.preventDefault(),l(),n.blur(),e.focus()):f.key==="Escape"&&(f.preventDefault(),o=!1,n.value=this.language,n.blur(),e.focus())}),n.addEventListener("mousedown",f=>f.stopPropagation()),n.addEventListener("click",f=>f.stopPropagation()),n.addEventListener("blur",()=>{o&&!a&&l(),a=!1,o=!0}),t.appendChild(n);let c=(f,u,O,m)=>{let p=document.createElement("button");return p.type="button",p.className=`cm-md-code-action ${O}`,p.title=f,p.setAttribute("aria-label",f),p.innerHTML=wh(u),p.addEventListener("mousedown",b=>{b.preventDefault(),b.stopPropagation()}),p.addEventListener("click",b=>{b.preventDefault(),b.stopPropagation(),m(p)}),t.appendChild(p),p};return c(this.wrapped?"Unwrap code":"Wrap code",this.wrapped?"unwrap":"wrap","cm-md-code-toggle-wrap",()=>e.dispatch({effects:Zh.of(e.state.doc.lineAt(this.fenceFrom).from)})).setAttribute("aria-pressed",String(this.wrapped)),c("Copy code","copy","cm-md-code-copy",async f=>{let u=e.state.doc.lineAt(this.fenceFrom),O=U(e.state).resolve(this.plain?u.to:this.fenceFrom+1,-1);for(;O&&O.name!==(this.plain?"CodeBlock":"FencedCode");)O=O.parent;if(!O)return;let m=this.plain?O.getChildren("CodeText").map(p=>e.state.sliceDoc(p.from,p.to)).join(""):Ao(e.state,O).source;try{let p=e0.get(e);p?p(m):await navigator.clipboard.writeText(m),f.innerHTML=wh("check"),f.title="Code copied",f.setAttribute("aria-label",f.title),clearTimeout(f.copyTimer),f.copyTimer=setTimeout(()=>{f.innerHTML=wh("copy"),f.title="Copy code",f.setAttribute("aria-label",f.title)},1100)}catch{}}),t}ignoreEvent(){return!0}};function vo(i,e=!1){let t=[],n="",r=0,s=()=>t.push({text:n.trim(),from:r+n.length-n.trimStart().length,to:r+n.trimEnd().length}),o=0,a=0;for(let c=0;cc.text)}function UP(i){let e=i.trim(),t=e.startsWith(":"),n=e.endsWith(":"),r=e.replace(/^:/,"").replace(/:$/,"");return/^-{3,}$/.test(r)?t&&n?"center":t?"left":n?"right":"none":null}function jh(i){let e=i.endsWith(` `),t=i.replace(/\n$/,"").split(` -`);if(t.length<2)return null;let n=vo(t[0]),r=vo(t[1]).map(UP);if(!n.length||!r.length||r.some(a=>a==null))return null;let s=[n,...t.slice(2).map(a=>vo(a))],o=Math.max(r.length,...s.map(a=>a.length));for(;r.length{let f=i.slice(0,c).replace(/\n+/g," ").length-l;e[h]=r[Math.max(0,Math.min(f,n.length))]})}return s}function GP(i){let e=i.alignments.map((s,o)=>Math.max(3,...i.rows.map(a=>Array.from(a[o]||"").length))),t=s=>"| "+s.map((o,a)=>{let l=jh(o);return l+" ".repeat(Math.max(0,e[a]-Array.from(l).length))}).join(" | ")+" |",n="| "+i.alignments.map((s,o)=>{let a=e[o];return s==="left"?":"+"-".repeat(Math.max(3,a-1)):s==="right"?"-".repeat(Math.max(3,a-1))+":":s==="center"?":"+"-".repeat(Math.max(3,a-2))+":":"-".repeat(a)}).join(" | ")+" |";return[t(i.rows[0]),n,...i.rows.slice(1).map(t)].join(` +`);if(t.length<2)return null;let n=vo(t[0]),r=vo(t[1]).map(UP);if(!n.length||!r.length||r.some(a=>a==null))return null;let s=[n,...t.slice(2).map(a=>vo(a))],o=Math.max(r.length,...s.map(a=>a.length));for(;r.length{let f=i.slice(0,c).replace(/\n+/g," ").length-l;e[h]=r[Math.max(0,Math.min(f,n.length))]})}return s}function GP(i){let e=i.alignments.map((s,o)=>Math.max(3,...i.rows.map(a=>Array.from(a[o]||"").length))),t=s=>"| "+s.map((o,a)=>{let l=Vh(o);return l+" ".repeat(Math.max(0,e[a]-Array.from(l).length))}).join(" | ")+" |",n="| "+i.alignments.map((s,o)=>{let a=e[o];return s==="left"?":"+"-".repeat(Math.max(3,a-1)):s==="right"?"-".repeat(Math.max(3,a-1))+":":s==="center"?":"+"-".repeat(Math.max(3,a-2))+":":"-".repeat(a)}).join(" | ")+" |";return[t(i.rows[0]),n,...i.rows.slice(1).map(t)].join(` `)+(i.trailingNewline?` -`:"")}var NP=1,Mr=null,FP=yi.parser.configure(Mh),t0=new WeakMap;function Ph(i,e){let t={StrongEmphasis:"cm-md-strong",Emphasis:"cm-md-emphasis",Strikethrough:"cm-md-strikethrough",Highlight:"cm-md-highlight"},n=(o,a,l)=>{if(!a)return;let c=document.createTextNode(a);t0.set(c,l),o.append(c)},r=(o,a,l,c)=>{let h=l;for(let f=a.firstChild;f;f=f.nextSibling)f.fromc||(n(o,e.slice(h,f.from),h),s(o,f),h=f.to);n(o,e.slice(h,c),h)},s=(o,a)=>{if(a.name==="InlineCode"){let l=document.createElement("code");l.className="cm-md-inline-code";let c=e.slice(a.firstChild.to,a.lastChild.from).replace(/\n/g," "),h=c.startsWith(" ")&&c.endsWith(" ")&&/[^ ]/.test(c);h&&(c=c.slice(1,-1)),n(l,c,a.firstChild.to+(h?1:0)),o.append(l)}else if(t[a.name]){let l=document.createElement("span");l.className=t[a.name],r(l,a,a.firstChild.to,a.lastChild.from),o.append(l)}else if(a.name==="Link"&&a.getChild("URL")){let l=a.getChildren("LinkMark"),c=document.createElement("span");c.className="cm-md-link",r(c,a,l[0].to,l[1].from),o.append(c)}else a.name==="Escape"?n(o,e.slice(a.from+1,a.to),a.from+1):a.name==="Image"?n(o,e.slice(a.from,a.to),a.from):r(o,a,a.from,a.to)};i.replaceChildren(),s(i,FP.parse(e).topNode)}var ke=new WeakMap,i0=Te.define(),Vh=new WeakMap,HP=new Set(["bold","italic","strikethrough","highlight","code","link"]);function Zo(i,e){if(e.invalid||e.tableFrom<0||e.tableFrom>=i.state.doc.length)return null;let n=i.state.doc.lineAt(e.tableFrom).number+(e.row===0?0:e.row+1);if(n>i.state.doc.lines)return null;let r=i.state.doc.line(n),s=vo(r.text,!0)[e.column];return s?{from:r.from+s.from,to:r.from+Math.max(s.from,s.to)}:null}function zn(i){let e=ke.get(i);if(!e||e.invalid||e.element.dataset.tableEditing!=="true")return;let t=window.getSelection();if(!t?.anchorNode||!t.focusNode||!e.element.contains(t.anchorNode)||!e.element.contains(t.focusNode))return;let n=(a,l)=>{let c=document.createRange();return c.selectNodeContents(e.element),c.setEnd(a,l),c.toString().length};e.anchor=n(t.anchorNode,t.anchorOffset),e.head=n(t.focusNode,t.focusOffset);let r=e.element.innerText||"",s=[e.anchor,e.head];jh(r,s),e.sourceAnchor=s[0],e.sourceHead=s[1];let o=se.create({doc:r,selection:v.single(e.anchor,e.head),extensions:[Bc({extensions:Mh})]});Vh.get(i)?.(zh(o))}function $o(i){let e=ke.get(i);if(!e||e.invalid)return null;zn(i),e.element.dataset.tableEditing==="true"&&e.element.blur();let t=Zo(i,e);if(!t)return null;let n=t.to-t.from;return i.dispatch({selection:v.single(t.from+Math.max(0,Math.min(e.sourceAnchor??e.anchor,n)),t.from+Math.max(0,Math.min(e.sourceHead??e.head,n)))}),e}function To(i,e){let t=Zo(i,e);if(!t)return;let n=i.state.selection.main,r=Math.max(0,Math.min(n.anchor-t.from,t.to-t.from)),s=Math.max(0,Math.min(n.head-t.from,t.to-t.from)),o=i.dom.querySelector(`.cm-md-table-widget[data-table-from="${e.tableFrom}"] [data-table-row="${e.row}"][data-table-column="${e.column}"]`);if(!o)return;o.focus({preventScroll:!0});let a=o.firstChild||o.appendChild(document.createTextNode(""));window.getSelection()?.setBaseAndExtent(a,r,a,s),zn(i)}var KP=De.fromClass(class{constructor(i){this.view=i,this.capture=()=>zn(i),this.clear=e=>{e.target.closest?.(".cm-md-table-cell")||ke.delete(i)},document.addEventListener("selectionchange",this.capture),i.dom.addEventListener("mousedown",this.clear,!0)}update(i){let e=ke.get(this.view);e&&i.docChanged&&i.transactions.some(t=>t.docChanged&&!t.annotation(i0))&&ke.set(this.view,{...e,invalid:!0})}destroy(){document.removeEventListener("selectionchange",this.capture),this.view.dom.removeEventListener("mousedown",this.clear,!0),ke.delete(this.view),Vh.delete(this.view)}}),Zh=class extends Ce{constructor(e,t){super(),this.source=e,this.from=t}eq(e){return e.source===this.source&&e.from===this.from}toDOM(e){let t=Wh(this.source),n=document.createElement("div");if(n.className="cm-md-table-widget",n.dataset.tableFrom=String(this.from),!t)return n.textContent=this.source,n;let r=null,s=null,o=null,a=!1,l=document.createElement("div");l.className="cm-md-table-scroll",n.appendChild(l);let c=document.createElement("table");c.className="cm-md-table-grid",l.appendChild(c);let h=(Q,S)=>{requestAnimationFrame(()=>requestAnimationFrame(()=>{let x=e.dom.querySelector(`.cm-md-table-widget[data-table-from="${this.from}"]`);(x&&x.querySelector(`[data-table-row="${Q}"][data-table-column="${S}"]`))?.focus()}))},f=(Q=null,S=!1)=>{let x=GP(t);if(x===this.source){Q&&n.querySelector(`[data-table-row="${Q.row}"][data-table-column="${Q.column}"]`)?.focus();return}r=null,e.dispatch({changes:{from:this.from,to:this.from+this.source.length,insert:x},annotations:S?i0.of(!0):[],userEvent:"input"}),Q&&h(Q.row,Q.column)},u=()=>{!r||r.element.dataset.tableEditing!=="true"||(t.rows[r.row][r.column]=r.element.innerText||"")},O=()=>{n.querySelectorAll(".is-table-part-selected").forEach(Q=>{Q.classList.remove("is-table-part-selected")}),n.classList.remove("is-table-row-selected","is-table-column-selected","is-table-range-selected"),n.removeAttribute("aria-label"),s=null},m=(Q,S,x)=>{if(u(),O(),Array.from(n.querySelectorAll(".cm-md-table-cell")).filter($=>{let Z=Number($.dataset.tableRow),X=Number($.dataset.tableColumn);return Z>=S.top&&Z<=S.bottom&&X>=S.left&&X<=S.right}).forEach($=>{$.classList.add("is-table-part-selected")}),n.classList.add(Q==="row"?"is-table-row-selected":Q==="column"?"is-table-column-selected":"is-table-range-selected"),window.getSelection()?.removeAllRanges(),s={kind:Q,row:x.row,column:x.column,bounds:S},ke.delete(e),n.tabIndex=0,Q==="range"){let $=S.bottom-S.top+1,Z=S.right-S.left+1;n.setAttribute("aria-label",`Selected ${$} rows by ${Z} columns.`)}else{let $=Q==="row"?x.row:x.column+1;n.setAttribute("aria-label",`Selected ${Q} ${$}. Press Delete to remove it.`)}n.focus()},p=(Q,S,x)=>{let P=Q==="row"?{top:S,right:t.alignments.length-1,bottom:S,left:0}:{top:0,right:x,bottom:t.rows.length-1,left:x};m(Q,P,{row:S,column:x})},b=(Q,S,x,P)=>{m("range",{top:Math.min(Q,x),right:Math.max(S,P),bottom:Math.max(Q,x),left:Math.min(S,P)},{row:Q,column:S})},g=(Q,S,x)=>{if(u(),Q==="selectRow"&&S>0)p("row",S,x);else if(Q==="selectColumn"&&t.alignments.length>1)p("column",S,x);else if(Q==="insertRowBefore"&&S>0)t.rows.splice(S,0,Array(t.alignments.length).fill("")),f({row:S,column:x});else if(Q==="insertRowAfter")t.rows.splice(S+1,0,Array(t.alignments.length).fill("")),f({row:S+1,column:x});else if(Q==="duplicateRow"&&S>0)t.rows.splice(S+1,0,[...t.rows[S]]),f({row:S+1,column:x});else if(Q==="deleteRow"&&S>0)t.rows.splice(S,1),f({row:Math.min(S,t.rows.length-1),column:x});else if(Q==="insertColumnBefore"){for(let P of t.rows)P.splice(x,0,"");t.alignments.splice(x,0,"none"),f({row:S,column:x})}else if(Q==="insertColumnAfter"){for(let P of t.rows)P.splice(x+1,0,"");t.alignments.splice(x+1,0,"none"),f({row:S,column:x+1})}else if(Q==="deleteColumn"&&t.alignments.length>1){for(let P of t.rows)P.splice(x,1);t.alignments.splice(x,1),f({row:S,column:Math.min(x,t.alignments.length-1)})}};return t.rows.forEach((Q,S)=>{let x=document.createElement("tr");c.appendChild(x),Q.forEach((P,$)=>{let Z=document.createElement(S===0?"th":"td"),X=document.createElement("div");if(X.className="cm-md-table-cell",X.contentEditable="plaintext-only",X.spellcheck=!0,Ph(X,P),X.dataset.tableRow=String(S),X.dataset.tableColumn=String($),S===0){let W=`Column ${$+1}`;X.dataset.placeholder=W;let T=()=>{(X.innerText||"").trim()?X.removeAttribute("aria-label"):X.setAttribute("aria-label",W)};T(),X.addEventListener("input",T)}t.alignments[$]!=="none"&&(X.style.textAlign=t.alignments[$]),X.addEventListener("focus",()=>{O(),(X.textContent!==t.rows[S][$]||X.childElementCount)&&(X.textContent=t.rows[S][$]),X.dataset.tableEditing="true",ke.set(e,{tableFrom:this.from,row:S,column:$,element:X,anchor:0,head:0}),r={row:S,column:$,element:X}}),X.addEventListener("contextmenu",W=>{W.preventDefault(),X.focus(),r={row:S,column:$,element:X};let T=String(NP++);Mr={token:T,perform:C=>g(C,S,$)},window.__mdRequestTableContextMenu?.({token:T,canInsertRowAbove:S>0,canDuplicateRow:S>0,canDeleteRow:S>0,canDeleteColumn:t.alignments.length>1,showsDuplicateRow:!0})}),X.addEventListener("blur",()=>{if(zn(e),!r||r.element!==X)return;let W=X.innerText||"",T=W!==t.rows[S][$]||!Zo(e,{tableFrom:this.from,row:S,column:$});t.rows[S][$]=W,r=null,delete X.dataset.tableEditing,Ph(X,t.rows[S][$]),T&&f(null,!0)}),X.addEventListener("keydown",W=>{if((W.metaKey||W.ctrlKey)&&["b","i"].includes(W.key.toLowerCase())){W.preventDefault();let w=$o(e);if(!w)return;Et(W.key.toLowerCase()==="b"?"**":"*")(e),w&&To(e,w);return}if(W.key==="Escape"){W.preventDefault(),r=null,X.blur(),delete X.dataset.tableEditing,Ph(X,t.rows[S][$]),ke.delete(e),e.focus();return}if(W.key!=="Tab"&&W.key!=="Enter")return;W.preventDefault(),t.rows[S][$]=X.innerText||"";let T=W.key==="Tab"&&W.shiftKey,C=S,k=$+(T?-1:1);k<0?(C--,k=t.alignments.length-1):k>=t.alignments.length&&(C++,k=0),C<0?(C=0,k=0):C>=t.rows.length&&t.rows.push(Array(t.alignments.length).fill("")),f({row:C,column:k})}),Z.appendChild(X),x.appendChild(Z)})}),n.addEventListener("mousedown",Q=>{if(Q.button!==0)return;let S=Q.target.closest?.(".cm-md-table-cell");if(!S)return;let x=Number(S.dataset.tableRow),P=Number(S.dataset.tableColumn);if(!Number.isInteger(x)||x<0||!Number.isInteger(P))return;Q.stopPropagation();let $=null;if(S.dataset.tableEditing!=="true"&&Q.detail===1&&!Q.shiftKey&&!Q.metaKey&&!Q.ctrlKey&&!Q.altKey&&S.textContent!==t.rows[x][P]){let T=document.caretRangeFromPoint?.(Q.clientX,Q.clientY),C=T&&t0.get(T.startContainer);C!=null&&S.contains(T.startContainer)&&($=C+T.startOffset,Q.preventDefault())}S.focus({preventScroll:!0});let Z=T=>{let C=S.firstChild;C&&window.getSelection()?.setBaseAndExtent(C,$,C,T)};$!=null&&Z($),o={cell:S,row:x,column:P,head:S,active:!1,dragged:!1};let X=T=>{document.removeEventListener("mousemove",W,!0),document.removeEventListener("mouseup",X,!0),o?.active?(T.preventDefault(),window.getSelection()?.removeAllRanges(),a=!0):zn(e),o=null},W=T=>{if(!o)return;let k=document.elementFromPoint?.(T.clientX,T.clientY)?.closest?.(".cm-md-table-cell")||T.target.closest?.(".cm-md-table-cell");if(!(!k||!n.contains(k))){if(k===o.cell&&!o.active){if($!=null&&(T.preventDefault(),o.dragged||=Math.hypot(T.clientX-Q.clientX,T.clientY-Q.clientY)>3,o.dragged)){let w=document.caretRangeFromPoint?.(T.clientX,T.clientY);w?.startContainer===S.firstChild&&Z(w.startOffset)}return}k!==o.head&&(T.preventDefault(),o.active=!0,o.head=k,b(o.row,o.column,Number(k.dataset.tableRow),Number(k.dataset.tableColumn)))}};document.addEventListener("mousemove",W,!0),document.addEventListener("mouseup",X,!0)},!0),n.addEventListener("click",Q=>{a&&(a=!1,Q.preventDefault(),Q.stopPropagation())},!0),n.addEventListener("keydown",Q=>{if(!s)return;if(Q.key==="Escape"){Q.preventDefault(),O(),e.focus();return}if(Q.key!=="Backspace"&&Q.key!=="Delete")return;if(s.kind==="range"){Q.preventDefault();return}Q.preventDefault();let S=s;O(),g(S.kind==="row"?"deleteRow":"deleteColumn",S.row,S.column)}),n}ignoreEvent(){return!0}},Eo=ie.define();function vh(i,e,t,n=0){let r=[];if(e){let o=new RegExp(e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),"giu"),a=i.toString();for(let l of a.matchAll(o)){let c=l.index;(!t||c===0||!/[A-Za-z0-9_]/.test(a[c-1]))&&r.push({from:c,to:c+l[0].length})}}n=r.length?Math.min(Math.max(n,0),r.length-1):-1;let s=R.set(r.map((o,a)=>R.mark({class:a===n?"cm-find-match cm-find-current":"cm-find-match"}).range(o.from,o.to)));return{query:e,beginsWith:t,matches:r,index:n,decorations:s}}var wi=fe.define({create:i=>vh(i.doc,"",!1),update(i,e){for(let t of e.effects)if(t.is(Eo)){let{query:n,beginsWith:r,index:s}=t.value;return vh(e.state.doc,n,r,s)}return e.docChanged?vh(e.state.doc,i.query,i.beginsWith,i.index):i},provide:i=>q.decorations.from(i,e=>e.decorations)});function _o(i,e,t){let n=i.field(wi),r=n.matches[n.index];return!!r&&r.frome}var JP=q.baseTheme({".cm-find-match":{backgroundColor:"#ffe58a",color:"#201800",borderRadius:"2px"},".cm-find-current":{backgroundColor:"#ffad33",outline:"1px solid #9b5700"}});function Eg(i){let e=[];return(Ls(i,i.doc.length,80)||U(i)).iterate({enter(n){if(n.name!=="Table")return;if(_o(i,n.from,n.to))return!1;let r=i.doc.sliceString(n.from,n.to);if(Wh(r))return e.push(R.replace({block:!0,widget:new Zh(r,n.from)}).range(n.from,n.to)),!1}}),R.set(e,!0)}var ev=fe.define({create:Eg,update:(i,e)=>e.docChanged||e.effects.some(t=>t.is(Eo))?Eg(e.state):i,provide:i=>q.decorations.from(i)}),Ro=class extends Ce{constructor(e,t){super(),this.from=e,this.checked=t}eq(e){return this.from===e.from&&this.checked===e.checked}toDOM(e){let t=document.createElement("span");t.className="cm-md-task-marker";let n=document.createElement("input");return n.type="checkbox",n.checked=this.checked,n.setAttribute("aria-label",this.checked?"Mark task incomplete":"Mark task complete"),n.addEventListener("mousedown",r=>{r.preventDefault(),r.stopPropagation()}),n.addEventListener("change",()=>{e.dispatch({changes:{from:this.from,to:this.from+1,insert:n.checked?"x":" "},userEvent:"input"}),e.focus()}),t.append(n,document.createTextNode(" ")),t}ignoreEvent(){return!0}},tv=Yc({nonTightLists:!1});function iv(i){return i.state.selection.ranges.every(e=>e.empty&&/^[ \t]*(?:>[ \t]*)*[-+*][ \t]+\[[ xX]\](?:[ \t]|$)/.test(i.state.doc.lineAt(e.head).text))?tv({state:i.state,dispatch:e=>{let t=e.state,n=t.changeByRange(r=>{let s=t.doc.lineAt(r.head);return r.empty&&s.text===""&&s.number>1&&t.doc.line(s.number-1).text.trim()!==""?{changes:{from:r.head,insert:t.lineBreak},range:v.cursor(r.head+t.lineBreak.length)}:{range:r}});i.dispatch([e,t.update(n,{userEvent:"input",scrollIntoView:!0})])}}):!1}var Ge=R.replace({}),qg=R.replace({widget:new Wr("\u2022","cm-md-bullet")}),zg=R.mark({class:"cm-md-bullet-source"}),Lg=new Map,nv=i=>{let e=Lg.get(i);return e||(e=R.replace({widget:new Wr(i,"cm-md-ordered")}),Lg.set(i,e)),e},rv=R.mark({class:"cm-md-ordered-source"}),sv=R.replace({widget:new _h}),ov=R.line({class:"cm-md-rule-line"}),Zn=/^([ \t]*)([-+*]|\d+[.)])([ \t]+|$)/,av=R.replace({widget:new Wr(" ","cm-md-join")}),Eh={},lv=i=>R.line({class:"cm-md-h"+i});for(let i=1;i<=6;i++)Eh[i]=lv(i);var cv=R.line({class:"cm-md-heading-inactive"}),Mg=R.line({class:"cm-md-heading-after-blank"}),hv=R.line({class:"cm-md-image-line"}),Wg=R.line({class:"cm-md-line-collapsed"}),gt={line:22.8,blankGap:4,paragraph:12,quote:18,alert:24,table:24,hr:12},fv=new Set(["Paragraph","FencedCode","CodeBlock","Blockquote","BulletList","OrderedList","Table","HorizontalRule","HTMLBlock"]),jg=new Map,$h=i=>{let e=jg.get(i);return e||(e=R.line({class:"cm-md-block-separator",attributes:{style:`height:${i}px;min-height:0;line-height:${i}px;overflow:hidden;`}}),jg.set(i,e)),e},Vg=new Map,uv=i=>{let e=Vg.get(i);return e||(e=R.line({class:"cm-md-block-gap",attributes:{style:`padding-bottom:${i}px;--cm-md-block-gap:${i}px;`}}),Vg.set(i,e)),e},Dg=new Map,Ov=(i,e,t,n)=>{let r=`${i}:${e}:${t}:${n}`,s=Dg.get(r);if(!s){let o=[],a=[];for(let l=0;lai.create({tagName:"div",attributes:{class:`cm-md-code-card${s?" cm-md-code-card-wrapped":""}`}}).range(n,r)),!0)}var bv=R.line({class:"cm-md-table"}),Ug=R.line({class:"cm-md-list-item-gap"}),wo=R.line({class:"cm-md-list-item"}),Gg=new Map,Th=i=>{let e=Gg.get(i);return e||(e=R.line({class:`cm-md-list-depth-${i}`,attributes:{style:`padding-inline-start:${i*2.1}em;text-indent:-2.1em;`}}),Gg.set(i,e)),e},Sv=R.mark({class:"cm-md-fence-info"}),yv=R.mark({class:"cm-md-code-fence-source-hidden"}),kv=R.mark({class:"cm-md-heading-source-hidden"}),xv=R.mark({class:"cm-md-heading-prefix"}),wv=R.mark({class:"cm-md-heading-marker"}),Pv=R.line({class:"cm-md-setext-marker-line"}),vv=R.mark({class:"cm-md-setext-source"}),$v=R.mark({class:"cm-md-link"}),Tv=R.mark({class:"cm-md-url"}),Cv=R.mark({class:"cm-md-strong"}),Xv=R.mark({class:"cm-md-emphasis"}),_v=R.mark({class:"cm-md-strikethrough"}),Rv=R.mark({class:"cm-md-highlight"}),Av=R.line({class:"cm-md-frontmatter"}),Zv=R.line({class:"cm-md-frontmatter-first"}),Ev=R.line({class:"cm-md-frontmatter-last"}),qv=R.mark({class:"cm-md-frontmatter-delim"}),zv=R.line({attributes:{dir:"auto"}});function Ng(i){let e=[];for(let t=1;t<=i.doc.lines;t++)e.push(zv.range(i.doc.line(t).from));return R.set(e)}var Lv=fe.define({create:Ng,update(i,e){return e.docChanged?Ng(e.state):i},provide:i=>q.decorations.from(i)});function Ao(i,e){let t="",n=null,r=[];for(let g=e.node.firstChild;g;g=g.nextSibling)g.name==="CodeInfo"&&(n=g,t=i.doc.sliceString(g.from,g.to)),g.name==="CodeMark"&&r.push(g);let s=t.trim().split(/\s+/,1)[0].toLowerCase(),o=i.doc.lineAt(e.from),a=r[0],l=o.to1&&(c=i.doc.lineAt(r[r.length-1].from).from);let h=i.sliceDoc(o.from,e.from),f=/^ {0,3}$/.test(h)?h.length:0,u=e.node.getChildren("CodeText"),O=u.map((g,Q)=>{let S=Q?i.doc.lineAt(g.from).number-i.doc.lineAt(u[Q-1].to).number:0;return` -`.repeat(S)+i.sliceDoc(g.from,g.to)}).join("").replace(new RegExp("^ {0,"+f+"}","gm"),""),m=s?"":DP(O),p=n?.from??a?.to??o.to,b=n?.to??p;return{explicitLanguage:s,language:s||m,detectedLanguage:m,metadata:t.trim().split(/\s+/).slice(1).join(" "),rawInfo:t,infoFrom:p,infoTo:b,sourceFrom:l,source:O}}function Co(i,e){let t=U(i).resolve(e,-1);for(;t;){if(t.name==="FencedCode")return{from:t.from,to:t.to,closed:t.node.lastChild?.name==="CodeMark"};t=t.parent}return null}var qh=ie.define(),Tt=fe.define({create:()=>null,update(i,e){if(e.docChanged)return null;for(let t of e.effects)if(t.is(qh))return t.value;return i?.activateOnSelection&&e.isUserEvent("select.pointer")?{selection:e.state.selection.main,focused:!0,fence:e.state.field(en),activateOnSelection:!1}:i}}),Mv=De.fromClass(class{constructor(i){this.view=i,this.releaseTimer=null,this.down=e=>{e.button!==0||e.target.closest("input, textarea, button, select, .cm-md-table-cell")||(clearTimeout(this.releaseTimer),!i.state.field(Tt)&&i.dispatch({effects:qh.of({selection:i.state.selection.main,focused:i.hasFocus,fence:i.state.field(en),activateOnSelection:e.detail===1&&!e.shiftKey&&!e.metaKey&&!e.ctrlKey&&!e.altKey})}))},this.finish=()=>{i.state.field(Tt)&&(clearTimeout(this.releaseTimer),this.releaseTimer=setTimeout(()=>this.release(),0))},this.release=()=>{clearTimeout(this.releaseTimer),i.state.field(Tt)&&i.dispatch({effects:qh.of(null)})},this.move=e=>{e.buttons===0&&this.finish()},i.contentDOM.addEventListener("mousedown",this.down,!0),i.contentDOM.addEventListener("keydown",this.release,!0),i.dom.ownerDocument.addEventListener("mouseup",this.finish),i.dom.ownerDocument.addEventListener("mousemove",this.move),i.dom.ownerDocument.addEventListener("dragend",this.finish),i.win.addEventListener("blur",this.finish)}destroy(){clearTimeout(this.releaseTimer);let i=this.view;i.contentDOM.removeEventListener("mousedown",this.down,!0),i.contentDOM.removeEventListener("keydown",this.release,!0),i.dom.ownerDocument.removeEventListener("mouseup",this.finish),i.dom.ownerDocument.removeEventListener("mousemove",this.move),i.dom.ownerDocument.removeEventListener("dragend",this.finish),i.win.removeEventListener("blur",this.finish)}}),Wv=q.mouseSelectionStyle.of((i,e)=>{if(e.button!==0||e.detail!==1||e.shiftKey||e.metaKey||e.ctrlKey||e.altKey)return null;let t=i.posAtCoords({x:e.clientX,y:e.clientY});if(t==null)return null;let n=!1;return{update(r){t=r.changes.mapPos(t)},get(r){n||=Math.hypot(r.clientX-e.clientX,r.clientY-e.clientY)>3;let s=n?i.posAtCoords({x:r.clientX,y:r.clientY},!1)??t:t;return v.single(t,s)}}}),en=fe.define({create:()=>null,update(i,e){i&&e.docChanged&&(i={from:e.changes.mapPos(i.from,1),to:e.changes.mapPos(i.to,-1)});let t=e.state.selection.main;if(!t.empty)return null;let n=t.head;return e.isUserEvent("select.pointer")||!i&&e.docChanged&&e.isUserEvent("input")?Co(e.state,n):!i||ni.to?null:e.docChanged&&Co(e.state,n)||i}});function Po(i){let e=[],t=i.field(en);return(Ls(i,i.doc.length,80)||U(i)).iterate({enter(r){if(r.name!=="FencedCode")return;let s=Ao(i,r),o=t!=null&&r.from<=t.from&&r.to>=t.to;if(s.language==="mermaid"&&!o&&!_o(i,r.from,r.to))return e.push(R.replace({block:!0,widget:new Rh(s.source)}).range(r.from,r.to)),!1}}),R.set(e,!0)}var jv=fe.define({create:i=>Po(i),update:(i,e)=>{if(e.state.field(Tt))return e.startState.field(Tt)?.activateOnSelection&&!e.state.field(Tt).activateOnSelection?Po(e.state):i;if(e.startState.field(Tt))return Po(e.state);let t=e.startState.field(en),n=e.state.field(en),r=t?.from!==n?.from||t?.to!==n?.to,s=!1;return e.docChanged&&e.changes.iterChanges((o,a,l,c,h)=>{if(s)return;let u=e.startState.doc.sliceString(o,a)+h.toString();s=/[`~]|mermaid/i.test(u)}),r||s||e.effects.some(o=>o.is(Eo))||e.docChanged&&e.state.field(wi).query?Po(e.state):e.docChanged?i.map(e.changes):i},provide:i=>q.decorations.from(i)});function Vv(i,e){let t=e.get(i.sourceFrom);if(t?.language===i.detectedLanguage&&t.source===i.source)return t.tokens;let n=[],r=Be.matchLanguageName(Jg,i.detectedLanguage,!1)?.support?.language;return r&&As(r.parser.parse(i.source),n0,(s,o,a)=>{n.push({from:s,to:o,mark:R.mark({class:a})})}),e.set(i.sourceFrom,{language:i.detectedLanguage,source:i.source,tokens:n}),n}function Fg(i,e){let t=[],{state:n}=i,r=n.field(Tt),s=r?.selection??n.selection.main,o=r?r.fence:n.field(en),l=(r?r.focused:i.hasFocus)&&(s.empty||i.compositionStarted)?s.head:null,c=(k,w)=>_o(n,k,w)||l!=null&&l>=k&&l<=w,h=k=>{let w=n.doc.lineAt(k);return c(w.from,w.to)},f=k=>_o(n,k.from,k.to)||o!=null&&k.from<=o.from&&k.to>=o.to,u=k=>l!=null&&l>k&&l{let z=n.doc.lineAt(k),N=w.spec.class+"@"+z.from;O.has(N)||(O.add(N),t.push(w.range(z.from)))},b=(k,w,z)=>{let N=k;for(;N<=w;){let y=n.doc.lineAt(N);if(p(y.from,z),y.to>=w)break;N=y.to+1}},g=k=>{let w=0;for(let z of k)w=z===" "?w+(4-w%4):w+1;return w},Q=(k,w)=>{let z=w[1],N=w[2],y=w[3],j=k.from+z.length,ye=j+N.length,it=Math.floor(g(z)/4)+1;if(p(k.from,wo),p(k.from,Th(it)),m.add(k.from),k.number>1&&Zn.test(n.doc.line(k.number-1).text)&&p(k.from,Ug),z.length>0&&t.push(Ge.range(k.from,j)),/^[-+*]$/.test(N)&&/^\s*\[[ xX]\](\s|$)/.test(k.text.slice(ye-k.from))){let B=k.text.slice(ye-k.from).match(/^[ \t]*\[([ xX])\][ \t]?/),F=ye+B[0].indexOf("[");if(u(F))return;p(k.from,Yg),B[1]!==" "&&p(k.from,Ig),t.push(R.replace({widget:new Ro(F+1,B[1]!==" ")}).range(j,ye+B[0].length))}else/^[-+*]$/.test(N)&&(h(j)?(t.push(zg.range(j,ye)),y.length>0&&t.push(Ge.range(ye,ye+y.length))):t.push(qg.range(j,ye+y.length)))},S=k=>{let w=n.doc.lineAt(k),z=w.number,N=Math.max(z-64,1);for(;z>N&&n.doc.line(z-1).text.length===0;)z--;return{line:w,first:z,count:w.number-z}},x=k=>{switch(k.name){case"Blockquote":{let w=n.doc.lineAt(k.from);return/^ {0,3}> ?\[!(note|tip|important|warning|caution)\]/i.test(w.text)?gt.alert:gt.quote}case"Table":return gt.table;case"HorizontalRule":return gt.hr;case"FencedCode":return Ao(n,k).language==="mermaid"?gt.table:gt.paragraph;default:return gt.paragraph}},P=-1,$=k=>{let w=n.doc.lineAt(k.from);w.number===1||w.from<=P||S(k.from).count===0&&p(n.doc.line(w.number-1).from,uv(x(k)))},Z=k=>{let w=S(k.from);if(w.count===0)return;let z=n.doc.line(w.line.number-1);if(w.first===1){p(z.from,$h(gt.blankGap+x(k)));return}let N=x(k),y=gt.blankGap+N;p(z.from,$h(y))},X=0,W=[],T=[],C=new Map;for(let{from:k,to:w}of i.visibleRanges){let z=null;U(n).iterate({from:k,to:w,enter:y=>{X++;let j=y.name;if(X===2&&j==="Document"&&(z=X),z!=null&&X===z+1&&fv.has(j)&&(Z(y),$(y)),j==="Frontmatter"){let _=y.to>y.from&&n.doc.lineAt(y.to).from===y.to?y.to-1:y.to;P=_,b(y.from,_,Av),p(y.from,Zv),p(n.doc.lineAt(_).from,Ev);return}if(j==="DashLine"){t.push(qv.range(y.from,y.to));return}let ye=j.match(/^ATXHeading(\d)$/);if(ye){p(y.from,Eh[+ye[1]]),S(y.from).count>0&&p(y.from,Mg),h(y.from)||p(y.from,cv);return}let it=j.match(/^SetextHeading(\d)$/);if(it){p(y.from,Eh[+it[1]]),S(y.from).count>0&&p(y.from,Mg);return}if(j==="HeaderMark"){let _=y.node.parent;if(_&&/^ATXHeading/.test(_.name)){t.push(wv.range(y.from,y.to));let B=n.doc.sliceString(y.to,y.to+1),F=y.to+(B===" "?1:0),G=y.from===_.from,ae=n.doc.lineAt(y.from),re=G&&/^ {0,3}$/.test(n.doc.sliceString(ae.from,y.from))?ae.from:y.from;G&&t.push(xv.range(re,F)),h(y.from)||t.push(kv.range(re,F))}else _&&/^SetextHeading/.test(_.name)&&(p(y.from,Pv),t.push(vv.range(y.from,y.to)));return}if(j==="Blockquote"){T.push(y.from);let _=n.doc.lineAt(y.from),B=y.node.parent?.name==="Blockquote",F=y.node.prevSibling;for(;F?.name==="QuoteMark";)F=F.prevSibling;let G=B&&F?gt.quote:0,ae=y.from;for(;ae<=y.to;){let re=n.doc.lineAt(ae),$e=C.get(re.from)||{depth:0,starts:0,ends:0,gap:0};if($e.depth=Math.max($e.depth,T.length),re.from===_.from&&($e.starts++,$e.gap+=G),re.to>=y.to&&$e.ends++,C.set(re.from,$e),re.to>=y.to)break;ae=re.to+1}return}if(j==="QuoteMark"){if(!h(y.from)){let _=n.doc.sliceString(y.to,y.to+1);t.push(Ge.range(y.from,y.to+(_===" "?1:0)))}return}if(j==="Paragraph"&&/^(Blockquote|ListItem)$/.test(y.node.parent?.name||"")){let _=n.doc.lineAt(y.from);if(_.number>n.doc.lineAt(y.node.parent.from).number){let B=n.doc.line(_.number-1);/^(?:[ >]*)$/.test(B.text)&&p(B.from,$h(gt.paragraph))}}if(j==="Escape"&&!c(y.from,y.to)){t.push(Ge.range(y.from,y.from+1));return}if(j==="StrongEmphasis"){t.push(Cv.range(y.from,y.to));return}if(j==="Emphasis"){t.push(Xv.range(y.from,y.to));return}if(j==="Strikethrough"){t.push(_v.range(y.from,y.to));return}if(j==="Highlight"){let _=[];for(let G=y.node.firstChild;G;G=G.nextSibling)G.name==="HighlightMark"&&_.push(G);let B=_.length?_[0].to:y.from,F=_.length>1?_[_.length-1].from:y.to;B1?_[_.length-1].from:y.to;B")?B.slice(1,-1):B;if(!F||F.startsWith("//"))return!1;let G=y.from+2;for(let re=y.node.firstChild;re;re=re.nextSibling)if(re.name==="LinkMark"&&n.doc.sliceString(re.from,re.to)==="]"){G=re.from;break}let ae=n.doc.sliceString(y.from+2,G);if(!c(y.from,y.to)){let re=n.doc.lineAt(y.from);re.text.trim()===n.doc.sliceString(y.from,y.to)&&p(re.from,hv),t.push(R.replace({widget:new Xh(F,ae,n.doc.sliceString(y.from,y.to),y.from,y.to)}).range(y.from,y.to))}return!1}if(j==="Link"){y.node.getChild("URL")&&t.push($v.range(y.from,y.to));return}if(j==="LinkMark"){let _=y.node.parent;_&&_.name==="Link"&&_.getChild("URL")&&!c(_.from,_.to)&&t.push(Ge.range(y.from,y.to));return}if(j==="URL"){let _=y.node.parent;_&&_.name==="Link"&&(c(_.from,_.to)?t.push(Tv.range(y.from,y.to)):t.push(Ge.range(y.from,y.to)));return}if(j==="BulletList"||j==="OrderedList"){W.push(y.from);return}if(j==="ListItem"){let _=y.from===W[W.length-1],B=W.length>1,F=n.doc.lineAt(y.from),G=F.number>1&&n.doc.line(F.number-1).text.trim()==="";(!_||B)&&!G&&p(y.from,Ug),b(y.from,y.to,wo),/^[-+*][ \t]+\[[xX]\](?:[ \t]|$)/.test(n.doc.sliceString(y.from,F.to))&&b(y.from,y.to,Ig),p(y.from,Th(W.length)),m.add(n.doc.lineAt(y.from).from);{let Ln=n.doc.lineAt(y.from).to+1;for(;Ln<=y.to;){let nt=n.doc.lineAt(Ln),H=nt.text;if(H.length>0&&!Zn.test(H)){p(nt.from,dv),p(nt.from,Th(W.length));let qt=H.match(/^[ \t]+/);qt&&t.push(Ge.range(nt.from,nt.from+qt[0].length))}if(nt.to>=y.to)break;Ln=nt.to+1}}let ae=n.doc.lineAt(y.from),$e=ae.text.match(Zn)?.[1]??"";$e.length>0&&t.push(Ge.range(ae.from,ae.from+$e.length));return}if(j==="ListMark"){let _=n.doc.sliceString(y.from,y.to),B=n.doc.lineAt(y.from),F=/^\s*\[[ xX]\](\s|$)/.test(B.text.slice(y.to-B.from));if(F&&/^[-+*]$/.test(_)){let G=B.text.slice(y.to-B.from).match(/^[ \t]*\[([ xX])\][ \t]?/),ae=y.to+G[0].indexOf("[");if(u(ae))return;p(B.from,Yg),t.push(R.replace({widget:new Ro(ae+1,G[1]!==" ")}).range(y.from,y.to+G[0].length))}else if((_==="-"||_==="*"||_==="+")&&!F){let G=n.doc.sliceString(y.to,y.to+1);h(y.from)?(t.push(zg.range(y.from,y.to)),G===" "&&t.push(Ge.range(y.to,y.to+1))):t.push(qg.range(y.from,y.to+(G===" "?1:0)))}else if(/^\d+[.)]$/.test(_)&&!F){let G=n.doc.sliceString(y.to,y.to+1);h(y.from)?(t.push(rv.range(y.from,y.to)),G===" "&&t.push(Ge.range(y.to,y.to+1))):t.push(nv(_).range(y.from,y.to+(G===" "?1:0)))}return}if(j==="FencedCode"||j==="CodeBlock"){let _=n.doc.lineAt(y.from),B=n.doc.lineAt(y.to),F=j==="FencedCode"&&y.node.lastChild?.name==="CodeMark",G=B.number-_.number>=(F?2:1),ae=j==="FencedCode"&&!h(_.from),re=F&&!h(B.from),$e=ae&&G?n.doc.line(_.number+1):_,Pi=G?$e:_,Ln=!G&&j==="FencedCode"?_:re?n.doc.line(B.number-1):B;if(j==="FencedCode"){let H=Ao(n,y);if(H.detectedLanguage)for(let qt of Vv(H,e))t.push(qt.mark.range(H.sourceFrom+qt.from,H.sourceFrom+qt.to));t.push(R.widget({widget:new Xo({wrapped:n.field(En).has(_.from),fenceFrom:y.from,language:H.language,detectedLanguage:H.detectedLanguage,rawInfo:H.rawInfo,infoFrom:H.infoFrom,infoTo:H.infoTo}),side:-1}).range(Pi.from))}else t.push(R.widget({widget:new Xo({fenceFrom:_.from,language:"text",rawInfo:"",plain:!0,wrapped:n.field(En).has(_.from)}),side:-1}).range(Pi.from));let nt=y.from;for(;nt<=y.to;){let H=n.doc.lineAt(nt),qt=j==="CodeBlock"&&O.has(`${wo.spec.class}@${H.from}`)?H.text.match(Zn):null;if(qt){if(Q(H,qt),H.to>=y.to)break;nt=H.to+1;continue}let Yh=j==="FencedCode"&&H.from===Pi.from;if((ae&&H.from===_.from||re&&H.from===B.from)&&!Yh)p(H.from,Wg);else if(j==="FencedCode"&&!G&&H.from!==_.from&&!Yh)p(H.from,Wg);else{let Mn=H.from===$e.from,Ih=H.from===Ln.from;Mn&&p(H.from,mv),Ih&&p(H.from,gv),!Mn&&!Ih&&p(H.from,pv),t.push(R.line({attributes:{"data-code-scroll-group":String(_.from),class:n.field(En).has(_.from)?"cm-md-code-wrapped":""}}).range(H.from)),H.length&&t.push(Qv.range(H.from,H.to))}if(j==="CodeBlock"&&!h(H.from)){let Mn=H.text.match(/^(?: {4}|\t)/)?.[0];Mn&&t.push(Ge.range(H.from,H.from+Mn.length))}if(H.to>=y.to)break;nt=H.to+1}return}if(j==="CodeInfo"){let _=y.node.parent;if(!_)return;h(_.from)&&t.push(Sv.range(y.from,y.to));return}if(j==="Table"){b(y.from,y.to,bv);return}if(j==="HorizontalRule"){h(y.from)||(p(y.from,ov),t.push(sv.range(y.from,y.to)));return}},leave:y=>{X--;let j=y.name;(j==="BulletList"||j==="OrderedList")&&W.pop(),j==="Blockquote"&&T.pop()}});for(let[y,j]of C)p(y,Ov(j.depth,j.starts,j.ends,j.gap));C.clear();let N=k;for(;N<=w;){let y=n.doc.lineAt(N);if(O.has(`${wo.spec.class}@${y.from}`)&&!m.has(y.from)){let ye=y.text.match(Zn);ye&&Q(y,ye)}if(y.to>=w)break;N=y.to+1}}return R.set(t,!0)}function zh(i){let e=i.selection.main,t=new Set,n=0;for(let r=U(i).resolveInner(e.from,1);r;r=r.parent){if(r.toi.decorations,provide:i=>q.blockWrappers.of(e=>e.plugin(i)?.codeWrappers??ai.set([]))}),Yv=De.fromClass(class{constructor(i){this.schedule(i)}update(i){(i.docChanged||i.selectionSet||i.viewportChanged||i.geometryChanged||i.focusChanged)&&this.schedule(i.view)}docViewUpdate(i){this.schedule(i)}schedule(i){i.requestMeasure({key:this,read(e){return Array.from(e.dom.querySelectorAll(".cm-md-heading-prefix")).map(t=>{let n=t.closest(".cm-line");return n?{line:n,width:t.getBoundingClientRect().width}:null}).filter(Boolean)},write(e){for(let{line:t,width:n}of e){let r=`${n}px`;t.style.getPropertyValue("--cm-md-heading-prefix-width")!==r&&t.style.setProperty("--cm-md-heading-prefix-width",r)}}})}});function Hg(i){let e=[],t=i.selection.main,n=(s,o)=>t.from<=o&&t.to>=s;return(Ls(i,i.doc.length,80)||U(i)).iterate({enter:s=>{let o=s.name;if(o==="FencedCode"||o==="CodeBlock"||o==="HTMLBlock")return!1;if(o!=="Paragraph")return;if(n(s.from,s.to))return!1;let a=i.doc.lineAt(s.from);for(;a.toHg(i),update:(i,e)=>e.docChanged||e.selection?Hg(e.state):i,provide:i=>q.decorations.from(i)}),n0=yn.define([{tag:[d.keyword,d.modifier,d.operatorKeyword,d.controlKeyword,d.definitionKeyword,d.moduleKeyword],class:"hl-keyword"},{tag:[d.string,d.special(d.string),d.regexp],class:"hl-string"},{tag:[d.comment,d.blockComment,d.lineComment],class:"hl-comment"},{tag:[d.number,d.integer,d.float,d.character],class:"hl-number"},{tag:[d.bool,d.atom,d.null],class:"hl-keyword"},{tag:[d.typeName,d.namespace],class:"hl-type"},{tag:[d.className,d.definition(d.typeName)],class:"hl-declaration"},{tag:[d.function(d.variableName),d.function(d.propertyName),d.macroName],class:"hl-function"},{tag:[d.propertyName,d.labelName],class:"hl-property"},{tag:d.attributeName,class:"hl-attribute"},{tag:[d.standard(d.variableName),d.standard(d.typeName)],class:"hl-builtin"},{tag:[d.meta,d.processingInstruction],class:"hl-meta"},{tag:[d.punctuation,d.operator],class:"hl-plain"}]);function Et(i){return e=>{let t=e.state.changeByRange(n=>{let{from:r,to:s}=n;for(;rr&&/\s/.test(e.state.sliceDoc(s-1,s));)s--;let o=i.length,a=e.state.sliceDoc(Math.max(0,r-o),r),l=e.state.sliceDoc(s,s+o);if(a===i&&l===i)return{changes:[{from:r-o,to:r,insert:""},{from:s,to:s+o,insert:""}],range:v.range(r-o,s-o)};let c=e.state.sliceDoc(r,s);return c.startsWith(i)&&c.endsWith(i)&&c.length>=o*2?{changes:{from:r,to:s,insert:c.slice(o,c.length-o)},range:v.range(r,s-o*2)}:{changes:{from:r,to:s,insert:i+c+i},range:v.range(r+o,s+o)}});return e.dispatch(t,{scrollIntoView:!0,userEvent:"input"}),!0}}function Dh(i,e){let t=i.selection.main,n=i.doc.lineAt(t.from).number,r=i.doc.lineAt(t.to).number,s=[];for(let o=n;o<=r;o++)s.push(i.doc.line(o));return e(s)}function Ch(i,e){return t=>{let n=Dh(t.state,r=>{let s=r.every(o=>e.test(o.text));return r.map(o=>{if(s){let a=o.text.match(e);return{from:o.from,to:o.from+a[0].length,insert:""}}return e.test(o.text)?null:{from:o.from,insert:i}}).filter(Boolean)});return n.length&&jr(t,n),!0}}function jr(i,e){let t=i.state.changes(e),n=i.state.selection.main;i.dispatch({changes:e,selection:v.range(t.mapPos(n.anchor,1),t.mapPos(n.head,1)),userEvent:"input"})}function Iv(i){let e=/^\d+\.\s/,t=Dh(i.state,n=>{let r=n.every(o=>e.test(o.text)),s=1;return n.map(o=>{if(r){let a=o.text.match(e);return{from:o.from,to:o.from+a[0].length,insert:""}}return e.test(o.text)?null:{from:o.from,insert:`${s++}. `}}).filter(Boolean)});return t.length&&jr(i,t),!0}function Lh(i){let e=i.selection.main,t=i.doc.lineAt(e.from).number,n=i.doc.lineAt(e.empty?e.to:e.to-1).number;return Array.from({length:n-t+1},(r,s)=>i.doc.line(t+s))}function r0(i){let e=/^([ \t]*(?:>[ \t]*)*)(?:([-+*]|\d+[.)])([ \t]+)(\[[ xX]\][ \t]+)?)?/.exec(i);return{prefix:e[0],indent:e[1],style:e[2]?e[4]?"task":/^\d/.test(e[2])?"ordered":"bullet":"none"}}function qn(i,e,t){for(let n=U(i).resolve(e,1);n;n=n.parent)if(t.includes(n.name))return n;return null}function s0(i){return Lh(i).filter(e=>!/^[ \t>]*$/.test(e.text)&&!qn(i,e.from+e.text.search(/\S/),["FencedCode","CodeBlock"]))}function Bv(i,e){if(!["none","bullet","ordered","task"].includes(e))return!1;let t=s0(i.state).map((n,r)=>{let s=r0(n.text);if(s.style===e)return null;let o=e==="none"?"":e==="bullet"?"- ":e==="task"?"- [ ] ":`${r+1}. `;return{from:n.from,to:n.from+s.prefix.length,insert:s.indent+o}}).filter(Boolean);return t.length&&jr(i,t),i.focus(),!0}function Ji(i){return e=>{let t=Dh(e.state,n=>n.map(r=>{let s=r.text.match(/^(#{1,6})\s+/),a=(s?s[1].length:0)===i||i===0?"":"#".repeat(i)+" ";return{from:r.from,to:r.from+(s?s[0].length:0),insert:a}}));return e.dispatch({changes:t,userEvent:"input"}),!0}}function o0(i){let e={InlineCode:"code",FencedCode:"fenced",CodeBlock:"plain",Blockquote:"quote",Table:"table"};for(let t=U(i).resolve(i.selection.main.head,i.selection.main.empty?1:-1);t;t=t.parent)if(e[t.name])return{style:e[t.name],node:t};return{style:"none",node:null}}function Uv(i,e,t=""){if(!["none","quote","code","plain","fenced","table"].includes(e))return!1;let n=i.state,r=n.selection.main,s=o0(n),o=s.node&&r.from>=s.node.from&&r.to<=s.node.to;if(e==="code"&&(!o||s.style==="code"))return s.style!=="code"&&Et("`")(i),i.focus(),!0;if(e==="table"){let m=qn(n,r.to,["FencedCode"]),p=m?m.to:n.doc.lineAt(r.to).to,g=(m&&m.lastChild?.name!=="CodeMark"?` +`:"")}var NP=1,Mr=null,FP=xi.parser.configure(Wh),t0=new WeakMap;function Ph(i,e){let t={StrongEmphasis:"cm-md-strong",Emphasis:"cm-md-emphasis",Strikethrough:"cm-md-strikethrough",Highlight:"cm-md-highlight"},n=(o,a,l)=>{if(!a)return;let c=document.createTextNode(a);t0.set(c,l),o.append(c)},r=(o,a,l,c)=>{let h=l;for(let f=a.firstChild;f;f=f.nextSibling)f.fromc||(n(o,e.slice(h,f.from),h),s(o,f),h=f.to);n(o,e.slice(h,c),h)},s=(o,a)=>{if(a.name==="InlineCode"){let l=document.createElement("code");l.className="cm-md-inline-code";let c=e.slice(a.firstChild.to,a.lastChild.from).replace(/\n/g," "),h=c.startsWith(" ")&&c.endsWith(" ")&&/[^ ]/.test(c);h&&(c=c.slice(1,-1)),n(l,c,a.firstChild.to+(h?1:0)),o.append(l)}else if(t[a.name]){let l=document.createElement("span");l.className=t[a.name],r(l,a,a.firstChild.to,a.lastChild.from),o.append(l)}else if(a.name==="Link"&&a.getChild("URL")){let l=a.getChildren("LinkMark"),c=document.createElement("span");c.className="cm-md-link",r(c,a,l[0].to,l[1].from),o.append(c)}else a.name==="Escape"?n(o,e.slice(a.from+1,a.to),a.from+1):a.name==="Image"?n(o,e.slice(a.from,a.to),a.from):r(o,a,a.from,a.to)};i.replaceChildren(),s(i,FP.parse(e).topNode)}var ke=new WeakMap,i0=Te.define(),Dh=new WeakMap,HP=new Set(["bold","italic","strikethrough","highlight","code","link"]);function Zo(i,e){if(e.invalid||e.tableFrom<0||e.tableFrom>=i.state.doc.length)return null;let n=i.state.doc.lineAt(e.tableFrom).number+(e.row===0?0:e.row+1);if(n>i.state.doc.lines)return null;let r=i.state.doc.line(n),s=vo(r.text,!0)[e.column];return s?{from:r.from+s.from,to:r.from+Math.max(s.from,s.to)}:null}function Ln(i){let e=ke.get(i);if(!e||e.invalid||e.element.dataset.tableEditing!=="true")return;let t=window.getSelection();if(!t?.anchorNode||!t.focusNode||!e.element.contains(t.anchorNode)||!e.element.contains(t.focusNode))return;let n=(a,l)=>{let c=document.createRange();return c.selectNodeContents(e.element),c.setEnd(a,l),c.toString().length};e.anchor=n(t.anchorNode,t.anchorOffset),e.head=n(t.focusNode,t.focusOffset);let r=e.element.innerText||"",s=[e.anchor,e.head];Vh(r,s),e.sourceAnchor=s[0],e.sourceHead=s[1];let o=se.create({doc:r,selection:v.single(e.anchor,e.head),extensions:[Bc({extensions:Wh})]});Dh.get(i)?.(Lh(o))}function $o(i){let e=ke.get(i);if(!e||e.invalid)return null;Ln(i),e.element.dataset.tableEditing==="true"&&e.element.blur();let t=Zo(i,e);if(!t)return null;let n=t.to-t.from;return i.dispatch({selection:v.single(t.from+Math.max(0,Math.min(e.sourceAnchor??e.anchor,n)),t.from+Math.max(0,Math.min(e.sourceHead??e.head,n)))}),e}function To(i,e){let t=Zo(i,e);if(!t)return;let n=i.state.selection.main,r=Math.max(0,Math.min(n.anchor-t.from,t.to-t.from)),s=Math.max(0,Math.min(n.head-t.from,t.to-t.from)),o=i.dom.querySelector(`.cm-md-table-widget[data-table-from="${e.tableFrom}"] [data-table-row="${e.row}"][data-table-column="${e.column}"]`);if(!o)return;o.focus({preventScroll:!0});let a=o.firstChild||o.appendChild(document.createTextNode(""));window.getSelection()?.setBaseAndExtent(a,r,a,s),Ln(i)}var KP=De.fromClass(class{constructor(i){this.view=i,this.capture=()=>Ln(i),this.clear=e=>{e.target.closest?.(".cm-md-table-cell")||ke.delete(i)},document.addEventListener("selectionchange",this.capture),i.dom.addEventListener("mousedown",this.clear,!0)}update(i){let e=ke.get(this.view);e&&i.docChanged&&i.transactions.some(t=>t.docChanged&&!t.annotation(i0))&&ke.set(this.view,{...e,invalid:!0})}destroy(){document.removeEventListener("selectionchange",this.capture),this.view.dom.removeEventListener("mousedown",this.clear,!0),ke.delete(this.view),Dh.delete(this.view)}}),Eh=class extends Ce{constructor(e,t){super(),this.source=e,this.from=t}eq(e){return e.source===this.source&&e.from===this.from}toDOM(e){let t=jh(this.source),n=document.createElement("div");if(n.className="cm-md-table-widget",n.dataset.tableFrom=String(this.from),!t)return n.textContent=this.source,n;let r=null,s=null,o=null,a=!1,l=document.createElement("div");l.className="cm-md-table-scroll",n.appendChild(l);let c=document.createElement("table");c.className="cm-md-table-grid",l.appendChild(c);let h=(Q,S)=>{requestAnimationFrame(()=>requestAnimationFrame(()=>{let x=e.dom.querySelector(`.cm-md-table-widget[data-table-from="${this.from}"]`);(x&&x.querySelector(`[data-table-row="${Q}"][data-table-column="${S}"]`))?.focus()}))},f=(Q=null,S=!1)=>{let x=GP(t);if(x===this.source){Q&&n.querySelector(`[data-table-row="${Q.row}"][data-table-column="${Q.column}"]`)?.focus();return}r=null,e.dispatch({changes:{from:this.from,to:this.from+this.source.length,insert:x},annotations:S?i0.of(!0):[],userEvent:"input"}),Q&&h(Q.row,Q.column)},u=()=>{!r||r.element.dataset.tableEditing!=="true"||(t.rows[r.row][r.column]=r.element.innerText||"")},O=()=>{n.querySelectorAll(".is-table-part-selected").forEach(Q=>{Q.classList.remove("is-table-part-selected")}),n.classList.remove("is-table-row-selected","is-table-column-selected","is-table-range-selected"),n.removeAttribute("aria-label"),s=null},m=(Q,S,x)=>{if(u(),O(),Array.from(n.querySelectorAll(".cm-md-table-cell")).filter($=>{let Z=Number($.dataset.tableRow),X=Number($.dataset.tableColumn);return Z>=S.top&&Z<=S.bottom&&X>=S.left&&X<=S.right}).forEach($=>{$.classList.add("is-table-part-selected")}),n.classList.add(Q==="row"?"is-table-row-selected":Q==="column"?"is-table-column-selected":"is-table-range-selected"),window.getSelection()?.removeAllRanges(),s={kind:Q,row:x.row,column:x.column,bounds:S},ke.delete(e),n.tabIndex=0,Q==="range"){let $=S.bottom-S.top+1,Z=S.right-S.left+1;n.setAttribute("aria-label",`Selected ${$} rows by ${Z} columns.`)}else{let $=Q==="row"?x.row:x.column+1;n.setAttribute("aria-label",`Selected ${Q} ${$}. Press Delete to remove it.`)}n.focus()},p=(Q,S,x)=>{let P=Q==="row"?{top:S,right:t.alignments.length-1,bottom:S,left:0}:{top:0,right:x,bottom:t.rows.length-1,left:x};m(Q,P,{row:S,column:x})},b=(Q,S,x,P)=>{m("range",{top:Math.min(Q,x),right:Math.max(S,P),bottom:Math.max(Q,x),left:Math.min(S,P)},{row:Q,column:S})},g=(Q,S,x)=>{if(u(),Q==="selectRow"&&S>0)p("row",S,x);else if(Q==="selectColumn"&&t.alignments.length>1)p("column",S,x);else if(Q==="insertRowBefore"&&S>0)t.rows.splice(S,0,Array(t.alignments.length).fill("")),f({row:S,column:x});else if(Q==="insertRowAfter")t.rows.splice(S+1,0,Array(t.alignments.length).fill("")),f({row:S+1,column:x});else if(Q==="duplicateRow"&&S>0)t.rows.splice(S+1,0,[...t.rows[S]]),f({row:S+1,column:x});else if(Q==="deleteRow"&&S>0)t.rows.splice(S,1),f({row:Math.min(S,t.rows.length-1),column:x});else if(Q==="insertColumnBefore"){for(let P of t.rows)P.splice(x,0,"");t.alignments.splice(x,0,"none"),f({row:S,column:x})}else if(Q==="insertColumnAfter"){for(let P of t.rows)P.splice(x+1,0,"");t.alignments.splice(x+1,0,"none"),f({row:S,column:x+1})}else if(Q==="deleteColumn"&&t.alignments.length>1){for(let P of t.rows)P.splice(x,1);t.alignments.splice(x,1),f({row:S,column:Math.min(x,t.alignments.length-1)})}};return t.rows.forEach((Q,S)=>{let x=document.createElement("tr");c.appendChild(x),Q.forEach((P,$)=>{let Z=document.createElement(S===0?"th":"td"),X=document.createElement("div");if(X.className="cm-md-table-cell",X.contentEditable="plaintext-only",X.spellcheck=!0,Ph(X,P),X.dataset.tableRow=String(S),X.dataset.tableColumn=String($),S===0){let W=`Column ${$+1}`;X.dataset.placeholder=W;let T=()=>{(X.innerText||"").trim()?X.removeAttribute("aria-label"):X.setAttribute("aria-label",W)};T(),X.addEventListener("input",T)}t.alignments[$]!=="none"&&(X.style.textAlign=t.alignments[$]),X.addEventListener("focus",()=>{O(),(X.textContent!==t.rows[S][$]||X.childElementCount)&&(X.textContent=t.rows[S][$]),X.dataset.tableEditing="true",ke.set(e,{tableFrom:this.from,row:S,column:$,element:X,anchor:0,head:0}),r={row:S,column:$,element:X}}),X.addEventListener("contextmenu",W=>{W.preventDefault(),X.focus(),r={row:S,column:$,element:X};let T=String(NP++);Mr={token:T,perform:C=>g(C,S,$)},window.__mdRequestTableContextMenu?.({token:T,canInsertRowAbove:S>0,canDuplicateRow:S>0,canDeleteRow:S>0,canDeleteColumn:t.alignments.length>1,showsDuplicateRow:!0})}),X.addEventListener("blur",()=>{if(Ln(e),!r||r.element!==X)return;let W=X.innerText||"",T=W!==t.rows[S][$]||!Zo(e,{tableFrom:this.from,row:S,column:$});t.rows[S][$]=W,r=null,delete X.dataset.tableEditing,Ph(X,t.rows[S][$]),T&&f(null,!0)}),X.addEventListener("keydown",W=>{if((W.metaKey||W.ctrlKey)&&["b","i"].includes(W.key.toLowerCase())){W.preventDefault();let w=$o(e);if(!w)return;zt(W.key.toLowerCase()==="b"?"**":"*")(e),w&&To(e,w);return}if(W.key==="Escape"){W.preventDefault(),r=null,X.blur(),delete X.dataset.tableEditing,Ph(X,t.rows[S][$]),ke.delete(e),e.focus();return}if(W.key!=="Tab"&&W.key!=="Enter")return;W.preventDefault(),t.rows[S][$]=X.innerText||"";let T=W.key==="Tab"&&W.shiftKey,C=S,k=$+(T?-1:1);k<0?(C--,k=t.alignments.length-1):k>=t.alignments.length&&(C++,k=0),C<0?(C=0,k=0):C>=t.rows.length&&t.rows.push(Array(t.alignments.length).fill("")),f({row:C,column:k})}),Z.appendChild(X),x.appendChild(Z)})}),n.addEventListener("mousedown",Q=>{if(Q.button!==0)return;let S=Q.target.closest?.(".cm-md-table-cell");if(!S)return;let x=Number(S.dataset.tableRow),P=Number(S.dataset.tableColumn);if(!Number.isInteger(x)||x<0||!Number.isInteger(P))return;Q.stopPropagation();let $=null;if(S.dataset.tableEditing!=="true"&&Q.detail===1&&!Q.shiftKey&&!Q.metaKey&&!Q.ctrlKey&&!Q.altKey&&S.textContent!==t.rows[x][P]){let T=document.caretRangeFromPoint?.(Q.clientX,Q.clientY),C=T&&t0.get(T.startContainer);C!=null&&S.contains(T.startContainer)&&($=C+T.startOffset,Q.preventDefault())}S.focus({preventScroll:!0});let Z=T=>{let C=S.firstChild;C&&window.getSelection()?.setBaseAndExtent(C,$,C,T)};$!=null&&Z($),o={cell:S,row:x,column:P,head:S,active:!1,dragged:!1};let X=T=>{document.removeEventListener("mousemove",W,!0),document.removeEventListener("mouseup",X,!0),o?.active?(T.preventDefault(),window.getSelection()?.removeAllRanges(),a=!0):Ln(e),o=null},W=T=>{if(!o)return;let k=document.elementFromPoint?.(T.clientX,T.clientY)?.closest?.(".cm-md-table-cell")||T.target.closest?.(".cm-md-table-cell");if(!(!k||!n.contains(k))){if(k===o.cell&&!o.active){if($!=null&&(T.preventDefault(),o.dragged||=Math.hypot(T.clientX-Q.clientX,T.clientY-Q.clientY)>3,o.dragged)){let w=document.caretRangeFromPoint?.(T.clientX,T.clientY);w?.startContainer===S.firstChild&&Z(w.startOffset)}return}k!==o.head&&(T.preventDefault(),o.active=!0,o.head=k,b(o.row,o.column,Number(k.dataset.tableRow),Number(k.dataset.tableColumn)))}};document.addEventListener("mousemove",W,!0),document.addEventListener("mouseup",X,!0)},!0),n.addEventListener("click",Q=>{a&&(a=!1,Q.preventDefault(),Q.stopPropagation())},!0),n.addEventListener("keydown",Q=>{if(!s)return;if(Q.key==="Escape"){Q.preventDefault(),O(),e.focus();return}if(Q.key!=="Backspace"&&Q.key!=="Delete")return;if(s.kind==="range"){Q.preventDefault();return}Q.preventDefault();let S=s;O(),g(S.kind==="row"?"deleteRow":"deleteColumn",S.row,S.column)}),n}ignoreEvent(){return!0}},Eo=ie.define();function vh(i,e,t,n=0){let r=[];if(e){let o=new RegExp(e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),"giu"),a=i.toString();for(let l of a.matchAll(o)){let c=l.index;(!t||c===0||!/[A-Za-z0-9_]/.test(a[c-1]))&&r.push({from:c,to:c+l[0].length})}}n=r.length?Math.min(Math.max(n,0),r.length-1):-1;let s=R.set(r.map((o,a)=>R.mark({class:a===n?"cm-find-match cm-find-current":"cm-find-match"}).range(o.from,o.to)));return{query:e,beginsWith:t,matches:r,index:n,decorations:s}}var vi=fe.define({create:i=>vh(i.doc,"",!1),update(i,e){for(let t of e.effects)if(t.is(Eo)){let{query:n,beginsWith:r,index:s}=t.value;return vh(e.state.doc,n,r,s)}return e.docChanged?vh(e.state.doc,i.query,i.beginsWith,i.index):i},provide:i=>q.decorations.from(i,e=>e.decorations)});function _o(i,e,t){let n=i.field(vi),r=n.matches[n.index];return!!r&&r.frome}var JP=q.baseTheme({".cm-find-match":{backgroundColor:"#ffe58a",color:"#201800",borderRadius:"2px"},".cm-find-current":{backgroundColor:"#ffad33",outline:"1px solid #9b5700"}});function qg(i){let e=[];return(Ls(i,i.doc.length,80)||U(i)).iterate({enter(n){if(n.name!=="Table")return;if(_o(i,n.from,n.to))return!1;let r=i.doc.sliceString(n.from,n.to);if(jh(r))return e.push(R.replace({block:!0,widget:new Eh(r,n.from)}).range(n.from,n.to)),!1}}),R.set(e,!0)}var ev=fe.define({create:qg,update:(i,e)=>e.docChanged||e.effects.some(t=>t.is(Eo))?qg(e.state):i,provide:i=>q.decorations.from(i)}),Ro=class extends Ce{constructor(e,t){super(),this.from=e,this.checked=t}eq(e){return this.from===e.from&&this.checked===e.checked}toDOM(e){let t=document.createElement("span");t.className="cm-md-task-marker",t.dataset.sourceFrom=String(this.from);let n=document.createElement("input");return n.type="checkbox",n.checked=this.checked,n.setAttribute("aria-label",this.checked?"Mark task incomplete":"Mark task complete"),n.addEventListener("mousedown",r=>{r.preventDefault(),r.stopPropagation()}),n.addEventListener("change",()=>{let r=document.activeElement===n;e.dispatch({changes:{from:this.from,to:this.from+1,insert:n.checked?"x":" "},userEvent:"input"}),r||e.focus()}),t.append(n,document.createTextNode(" ")),t}updateDOM(e){if(Number(e.dataset.sourceFrom)!==this.from)return!1;let t=e.querySelector("input");return t.checked=this.checked,t.setAttribute("aria-label",this.checked?"Mark task incomplete":"Mark task complete"),!0}ignoreEvent(){return!0}},tv=Yc({nonTightLists:!1});function iv(i){return i.state.selection.ranges.every(e=>e.empty&&/^[ \t]*(?:>[ \t]*)*[-+*][ \t]+\[[ xX]\](?:[ \t]|$)/.test(i.state.doc.lineAt(e.head).text))?tv({state:i.state,dispatch:e=>{let t=e.state,n=t.changeByRange(r=>{let s=t.doc.lineAt(r.head);return r.empty&&s.text===""&&s.number>1&&t.doc.line(s.number-1).text.trim()!==""?{changes:{from:r.head,insert:t.lineBreak},range:v.cursor(r.head+t.lineBreak.length)}:{range:r}});i.dispatch([e,t.update(n,{userEvent:"input",scrollIntoView:!0})])}}):!1}var Ge=R.replace({}),zg=R.replace({widget:new Wr("\u2022","cm-md-bullet")}),Lg=R.mark({class:"cm-md-bullet-source"}),Mg=new Map,nv=i=>{let e=Mg.get(i);return e||(e=R.replace({widget:new Wr(i,"cm-md-ordered")}),Mg.set(i,e)),e},rv=R.mark({class:"cm-md-ordered-source"}),sv=R.replace({widget:new Rh}),ov=R.line({class:"cm-md-rule-line"}),En=/^([ \t]*)([-+*]|\d+[.)])([ \t]+|$)/,av=R.replace({widget:new Wr(" ","cm-md-join")}),qh={},lv=i=>R.line({class:"cm-md-h"+i});for(let i=1;i<=6;i++)qh[i]=lv(i);var cv=R.line({class:"cm-md-heading-inactive"}),Wg=R.line({class:"cm-md-heading-after-blank"}),hv=R.line({class:"cm-md-image-line"}),jg=R.line({class:"cm-md-line-collapsed"}),Qt={line:22.8,blankGap:4,paragraph:12,quote:18,alert:24,table:24,hr:12},fv=new Set(["Paragraph","FencedCode","CodeBlock","Blockquote","BulletList","OrderedList","Table","HorizontalRule","HTMLBlock"]),Vg=new Map,$h=i=>{let e=Vg.get(i);return e||(e=R.line({class:"cm-md-block-separator",attributes:{style:`height:${i}px;min-height:0;line-height:${i}px;overflow:hidden;`}}),Vg.set(i,e)),e},Dg=new Map,uv=i=>{let e=Dg.get(i);return e||(e=R.line({class:"cm-md-block-gap",attributes:{style:`padding-bottom:${i}px;--cm-md-block-gap:${i}px;`}}),Dg.set(i,e)),e},Yg=new Map,Ov=(i,e,t,n)=>{let r=`${i}:${e}:${t}:${n}`,s=Yg.get(r);if(!s){let o=[],a=[];for(let l=0;lci.create({tagName:"div",attributes:{class:`cm-md-code-card${s?" cm-md-code-card-wrapped":""}`}}).range(n,r)),!0)}var bv=R.line({class:"cm-md-table"}),Ug=R.line({class:"cm-md-list-item-gap"}),wo=R.line({class:"cm-md-list-item"}),Gg=new Map,Ch=i=>{let e=Gg.get(i);return e||(e=R.line({class:`cm-md-list-depth-${i}`,attributes:{style:`padding-inline-start:${i*2.1}em;text-indent:-2.1em;`}}),Gg.set(i,e)),e},Sv=R.mark({class:"cm-md-fence-info"}),yv=R.mark({class:"cm-md-code-fence-source-hidden"}),kv=R.mark({class:"cm-md-heading-source-hidden"}),xv=R.mark({class:"cm-md-heading-prefix"}),wv=R.mark({class:"cm-md-heading-marker"}),Pv=R.line({class:"cm-md-setext-marker-line"}),vv=R.mark({class:"cm-md-setext-source"}),$v=R.mark({class:"cm-md-link"}),Tv=R.mark({class:"cm-md-url"}),Cv=R.mark({class:"cm-md-strong"}),Xv=R.mark({class:"cm-md-emphasis"}),_v=R.mark({class:"cm-md-strikethrough"}),Rv=R.mark({class:"cm-md-highlight"}),Av=R.line({class:"cm-md-frontmatter"}),Zv=R.line({class:"cm-md-frontmatter-first"}),Ev=R.line({class:"cm-md-frontmatter-last"}),qv=R.mark({class:"cm-md-frontmatter-delim"}),zv=R.line({attributes:{dir:"auto"}});function Ng(i){let e=[];for(let t=1;t<=i.doc.lines;t++)e.push(zv.range(i.doc.line(t).from));return R.set(e)}var Lv=fe.define({create:Ng,update(i,e){return e.docChanged?Ng(e.state):i},provide:i=>q.decorations.from(i)});function Ao(i,e){let t="",n=null,r=[];for(let g=e.node.firstChild;g;g=g.nextSibling)g.name==="CodeInfo"&&(n=g,t=i.doc.sliceString(g.from,g.to)),g.name==="CodeMark"&&r.push(g);let s=t.trim().split(/\s+/,1)[0].toLowerCase(),o=i.doc.lineAt(e.from),a=r[0],l=o.to1&&(c=i.doc.lineAt(r[r.length-1].from).from);let h=i.sliceDoc(o.from,e.from),f=/^ {0,3}$/.test(h)?h.length:0,u=e.node.getChildren("CodeText"),O=u.map((g,Q)=>{let S=Q?i.doc.lineAt(g.from).number-i.doc.lineAt(u[Q-1].to).number:0;return` +`.repeat(S)+i.sliceDoc(g.from,g.to)}).join("").replace(new RegExp("^ {0,"+f+"}","gm"),""),m=s?"":DP(O),p=n?.from??a?.to??o.to,b=n?.to??p;return{explicitLanguage:s,language:s||m,detectedLanguage:m,metadata:t.trim().split(/\s+/).slice(1).join(" "),rawInfo:t,infoFrom:p,infoTo:b,sourceFrom:l,source:O}}function Co(i,e){let t=U(i).resolve(e,-1);for(;t;){if(t.name==="FencedCode")return{from:t.from,to:t.to,closed:t.node.lastChild?.name==="CodeMark"};t=t.parent}return null}var zh=ie.define(),Xt=fe.define({create:()=>null,update(i,e){if(e.docChanged)return null;for(let t of e.effects)if(t.is(zh))return t.value;return i?.activateOnSelection&&e.isUserEvent("select.pointer")?{selection:e.state.selection.main,focused:!0,fence:e.state.field(tn),activateOnSelection:!1}:i}}),Mv=De.fromClass(class{constructor(i){this.view=i,this.releaseTimer=null,this.down=e=>{e.button!==0||e.target.closest("input, textarea, button, select, .cm-md-table-cell")||(clearTimeout(this.releaseTimer),!i.state.field(Xt)&&i.dispatch({effects:zh.of({selection:i.state.selection.main,focused:i.hasFocus,fence:i.state.field(tn),activateOnSelection:e.detail===1&&!e.shiftKey&&!e.metaKey&&!e.ctrlKey&&!e.altKey})}))},this.finish=()=>{i.state.field(Xt)&&(clearTimeout(this.releaseTimer),this.releaseTimer=setTimeout(()=>this.release(),0))},this.release=()=>{clearTimeout(this.releaseTimer),i.state.field(Xt)&&i.dispatch({effects:zh.of(null)})},this.move=e=>{e.buttons===0&&this.finish()},i.contentDOM.addEventListener("mousedown",this.down,!0),i.contentDOM.addEventListener("keydown",this.release,!0),i.dom.ownerDocument.addEventListener("mouseup",this.finish),i.dom.ownerDocument.addEventListener("mousemove",this.move),i.dom.ownerDocument.addEventListener("dragend",this.finish),i.win.addEventListener("blur",this.finish)}destroy(){clearTimeout(this.releaseTimer);let i=this.view;i.contentDOM.removeEventListener("mousedown",this.down,!0),i.contentDOM.removeEventListener("keydown",this.release,!0),i.dom.ownerDocument.removeEventListener("mouseup",this.finish),i.dom.ownerDocument.removeEventListener("mousemove",this.move),i.dom.ownerDocument.removeEventListener("dragend",this.finish),i.win.removeEventListener("blur",this.finish)}}),Wv=q.mouseSelectionStyle.of((i,e)=>{if(e.button!==0||e.detail!==1||e.shiftKey||e.metaKey||e.ctrlKey||e.altKey)return null;let t=i.posAtCoords({x:e.clientX,y:e.clientY});if(t==null)return null;let n=!1;return{update(r){t=r.changes.mapPos(t)},get(r){n||=Math.hypot(r.clientX-e.clientX,r.clientY-e.clientY)>3;let s=n?i.posAtCoords({x:r.clientX,y:r.clientY},!1)??t:t;return v.single(t,s)}}}),tn=fe.define({create:()=>null,update(i,e){i&&e.docChanged&&(i={from:e.changes.mapPos(i.from,1),to:e.changes.mapPos(i.to,-1)});let t=e.state.selection.main;if(!t.empty)return null;let n=t.head;return e.isUserEvent("select.pointer")||!i&&e.docChanged&&e.isUserEvent("input")?Co(e.state,n):!i||ni.to?null:e.docChanged&&Co(e.state,n)||i}});function Po(i){let e=[],t=i.field(tn);return(Ls(i,i.doc.length,80)||U(i)).iterate({enter(r){if(r.name!=="FencedCode")return;let s=Ao(i,r),o=t!=null&&r.from<=t.from&&r.to>=t.to;if(s.language==="mermaid"&&!o&&!_o(i,r.from,r.to))return e.push(R.replace({block:!0,widget:new Ah(s.source)}).range(r.from,r.to)),!1}}),R.set(e,!0)}var jv=fe.define({create:i=>Po(i),update:(i,e)=>{if(e.state.field(Xt))return e.startState.field(Xt)?.activateOnSelection&&!e.state.field(Xt).activateOnSelection?Po(e.state):i;if(e.startState.field(Xt))return Po(e.state);let t=e.startState.field(tn),n=e.state.field(tn),r=t?.from!==n?.from||t?.to!==n?.to,s=!1;return e.docChanged&&e.changes.iterChanges((o,a,l,c,h)=>{if(s)return;let u=e.startState.doc.sliceString(o,a)+h.toString();s=/[`~]|mermaid/i.test(u)}),r||s||e.effects.some(o=>o.is(Eo))||e.docChanged&&e.state.field(vi).query?Po(e.state):e.docChanged?i.map(e.changes):i},provide:i=>q.decorations.from(i)});function Vv(i,e){let t=e.get(i.sourceFrom);if(t?.language===i.detectedLanguage&&t.source===i.source)return t.tokens;let n=[],r=Be.matchLanguageName(Jg,i.detectedLanguage,!1)?.support?.language;return r&&As(r.parser.parse(i.source),n0,(s,o,a)=>{n.push({from:s,to:o,mark:R.mark({class:a})})}),e.set(i.sourceFrom,{language:i.detectedLanguage,source:i.source,tokens:n}),n}function Fg(i,e){let t=[],{state:n}=i,r=n.field(Xt),s=r?.selection??n.selection.main,o=r?r.fence:n.field(tn),l=(r?r.focused:i.hasFocus)&&(s.empty||i.compositionStarted)?s.head:null,c=(k,w)=>_o(n,k,w)||l!=null&&l>=k&&l<=w,h=k=>{let w=n.doc.lineAt(k);return c(w.from,w.to)},f=k=>_o(n,k.from,k.to)||o!=null&&k.from<=o.from&&k.to>=o.to,u=k=>l!=null&&l>k&&l{let z=n.doc.lineAt(k),N=w.spec.class+"@"+z.from;O.has(N)||(O.add(N),t.push(w.range(z.from)))},b=(k,w,z)=>{let N=k;for(;N<=w;){let y=n.doc.lineAt(N);if(p(y.from,z),y.to>=w)break;N=y.to+1}},g=k=>{let w=0;for(let z of k)w=z===" "?w+(4-w%4):w+1;return w},Q=(k,w)=>{let z=w[1],N=w[2],y=w[3],j=k.from+z.length,ye=j+N.length,nt=Math.floor(g(z)/4)+1;if(p(k.from,wo),p(k.from,Ch(nt)),m.add(k.from),k.number>1&&En.test(n.doc.line(k.number-1).text)&&p(k.from,Ug),z.length>0&&t.push(Ge.range(k.from,j)),/^[-+*]$/.test(N)&&/^\s*\[[ xX]\](\s|$)/.test(k.text.slice(ye-k.from))){let B=k.text.slice(ye-k.from).match(/^[ \t]*\[([ xX])\][ \t]?/),F=ye+B[0].indexOf("[");if(u(F))return;p(k.from,Ig),B[1]!==" "&&p(k.from,Th),t.push(R.replace({widget:new Ro(F+1,B[1]!==" ")}).range(j,ye+B[0].length))}else/^[-+*]$/.test(N)&&(h(j)?(t.push(Lg.range(j,ye)),y.length>0&&t.push(Ge.range(ye,ye+y.length))):t.push(zg.range(j,ye+y.length)))},S=k=>{let w=n.doc.lineAt(k),z=w.number,N=Math.max(z-64,1);for(;z>N&&n.doc.line(z-1).text.length===0;)z--;return{line:w,first:z,count:w.number-z}},x=k=>{switch(k.name){case"Blockquote":{let w=n.doc.lineAt(k.from);return/^ {0,3}> ?\[!(note|tip|important|warning|caution)\]/i.test(w.text)?Qt.alert:Qt.quote}case"Table":return Qt.table;case"HorizontalRule":return Qt.hr;case"FencedCode":return Ao(n,k).language==="mermaid"?Qt.table:Qt.paragraph;default:return Qt.paragraph}},P=-1,$=k=>{let w=n.doc.lineAt(k.from);w.number===1||w.from<=P||S(k.from).count===0&&p(n.doc.line(w.number-1).from,uv(x(k)))},Z=k=>{let w=S(k.from);if(w.count===0)return;let z=n.doc.line(w.line.number-1);if(w.first===1){p(z.from,$h(Qt.blankGap+x(k)));return}let N=x(k),y=Qt.blankGap+N;p(z.from,$h(y))},X=0,W=[],T=[],C=new Map;for(let{from:k,to:w}of i.visibleRanges){let z=null;U(n).iterate({from:k,to:w,enter:y=>{X++;let j=y.name;if(X===2&&j==="Document"&&(z=X),z!=null&&X===z+1&&fv.has(j)&&(Z(y),$(y)),j==="Frontmatter"){let _=y.to>y.from&&n.doc.lineAt(y.to).from===y.to?y.to-1:y.to;P=_,b(y.from,_,Av),p(y.from,Zv),p(n.doc.lineAt(_).from,Ev);return}if(j==="DashLine"){t.push(qv.range(y.from,y.to));return}let ye=j.match(/^ATXHeading(\d)$/);if(ye){p(y.from,qh[+ye[1]]),S(y.from).count>0&&p(y.from,Wg),h(y.from)||p(y.from,cv);return}let nt=j.match(/^SetextHeading(\d)$/);if(nt){p(y.from,qh[+nt[1]]),S(y.from).count>0&&p(y.from,Wg);return}if(j==="HeaderMark"){let _=y.node.parent;if(_&&/^ATXHeading/.test(_.name)){t.push(wv.range(y.from,y.to));let B=n.doc.sliceString(y.to,y.to+1),F=y.to+(B===" "?1:0),G=y.from===_.from,ae=n.doc.lineAt(y.from),re=G&&/^ {0,3}$/.test(n.doc.sliceString(ae.from,y.from))?ae.from:y.from;G&&t.push(xv.range(re,F)),h(y.from)||t.push(kv.range(re,F))}else _&&/^SetextHeading/.test(_.name)&&(p(y.from,Pv),t.push(vv.range(y.from,y.to)));return}if(j==="Blockquote"){T.push(y.from);let _=n.doc.lineAt(y.from),B=y.node.parent?.name==="Blockquote",F=y.node.prevSibling;for(;F?.name==="QuoteMark";)F=F.prevSibling;let G=B&&F?Qt.quote:0,ae=y.from;for(;ae<=y.to;){let re=n.doc.lineAt(ae),$e=C.get(re.from)||{depth:0,starts:0,ends:0,gap:0};if($e.depth=Math.max($e.depth,T.length),re.from===_.from&&($e.starts++,$e.gap+=G),re.to>=y.to&&$e.ends++,C.set(re.from,$e),re.to>=y.to)break;ae=re.to+1}return}if(j==="QuoteMark"){if(!h(y.from)){let _=n.doc.sliceString(y.to,y.to+1);t.push(Ge.range(y.from,y.to+(_===" "?1:0)))}return}if(j==="Paragraph"&&/^(Blockquote|ListItem)$/.test(y.node.parent?.name||"")){let _=n.doc.lineAt(y.from);if(_.number>n.doc.lineAt(y.node.parent.from).number){let B=n.doc.line(_.number-1);/^(?:[ >]*)$/.test(B.text)&&p(B.from,$h(Qt.paragraph))}}if(j==="Escape"&&!c(y.from,y.to)){t.push(Ge.range(y.from,y.from+1));return}if(j==="StrongEmphasis"){t.push(Cv.range(y.from,y.to));return}if(j==="Emphasis"){t.push(Xv.range(y.from,y.to));return}if(j==="Strikethrough"){t.push(_v.range(y.from,y.to));return}if(j==="Highlight"){let _=[];for(let G=y.node.firstChild;G;G=G.nextSibling)G.name==="HighlightMark"&&_.push(G);let B=_.length?_[0].to:y.from,F=_.length>1?_[_.length-1].from:y.to;B1?_[_.length-1].from:y.to;B")?B.slice(1,-1):B;if(!F||F.startsWith("//"))return!1;let G=y.from+2;for(let re=y.node.firstChild;re;re=re.nextSibling)if(re.name==="LinkMark"&&n.doc.sliceString(re.from,re.to)==="]"){G=re.from;break}let ae=n.doc.sliceString(y.from+2,G);if(!c(y.from,y.to)){let re=n.doc.lineAt(y.from);re.text.trim()===n.doc.sliceString(y.from,y.to)&&p(re.from,hv),t.push(R.replace({widget:new _h(F,ae,n.doc.sliceString(y.from,y.to),y.from,y.to)}).range(y.from,y.to))}return!1}if(j==="Link"){y.node.getChild("URL")&&t.push($v.range(y.from,y.to));return}if(j==="LinkMark"){let _=y.node.parent;_&&_.name==="Link"&&_.getChild("URL")&&!c(_.from,_.to)&&t.push(Ge.range(y.from,y.to));return}if(j==="URL"){let _=y.node.parent;_&&_.name==="Link"&&(c(_.from,_.to)?t.push(Tv.range(y.from,y.to)):t.push(Ge.range(y.from,y.to)));return}if(j==="BulletList"||j==="OrderedList"){W.push(y.from);return}if(j==="ListItem"){let _=y.from===W[W.length-1],B=W.length>1,F=n.doc.lineAt(y.from),G=F.number>1&&n.doc.line(F.number-1).text.trim()==="";if((!_||B)&&!G&&p(y.from,Ug),b(y.from,y.to,wo),/^[ \t]*[-+*][ \t]+\[[xX]\](?:[ \t]|$)/.test(n.doc.sliceString(y.from,F.to))){let bt=y.from;for(let Ne=y.node.firstChild;Ne;Ne=Ne.nextSibling)Ne.name!=="BulletList"&&Ne.name!=="OrderedList"||(b(bt,n.doc.lineAt(Ne.from).from-1,Th),bt=n.doc.lineAt(Ne.to).to+1);b(bt,y.to,Th)}p(y.from,Ch(W.length)),m.add(n.doc.lineAt(y.from).from);{let Ne=n.doc.lineAt(y.from).to+1;for(;Ne<=y.to;){let rt=n.doc.lineAt(Ne),H=rt.text;if(H.length>0&&!En.test(H)){p(rt.from,dv),p(rt.from,Ch(W.length));let Lt=H.match(/^[ \t]+/);Lt&&t.push(Ge.range(rt.from,rt.from+Lt[0].length))}if(rt.to>=y.to)break;Ne=rt.to+1}}let ae=n.doc.lineAt(y.from),$e=ae.text.match(En)?.[1]??"";$e.length>0&&t.push(Ge.range(ae.from,ae.from+$e.length));return}if(j==="ListMark"){let _=n.doc.sliceString(y.from,y.to),B=n.doc.lineAt(y.from),F=/^\s*\[[ xX]\](\s|$)/.test(B.text.slice(y.to-B.from));if(F&&/^[-+*]$/.test(_)){let G=B.text.slice(y.to-B.from).match(/^[ \t]*\[([ xX])\][ \t]?/),ae=y.to+G[0].indexOf("[");if(u(ae))return;p(B.from,Ig),t.push(R.replace({widget:new Ro(ae+1,G[1]!==" ")}).range(y.from,y.to+G[0].length))}else if((_==="-"||_==="*"||_==="+")&&!F){let G=n.doc.sliceString(y.to,y.to+1);h(y.from)?(t.push(Lg.range(y.from,y.to)),G===" "&&t.push(Ge.range(y.to,y.to+1))):t.push(zg.range(y.from,y.to+(G===" "?1:0)))}else if(/^\d+[.)]$/.test(_)&&!F){let G=n.doc.sliceString(y.to,y.to+1);h(y.from)?(t.push(rv.range(y.from,y.to)),G===" "&&t.push(Ge.range(y.to,y.to+1))):t.push(nv(_).range(y.from,y.to+(G===" "?1:0)))}return}if(j==="FencedCode"||j==="CodeBlock"){let _=n.doc.lineAt(y.from),B=n.doc.lineAt(y.to),F=j==="FencedCode"&&y.node.lastChild?.name==="CodeMark",G=B.number-_.number>=(F?2:1),ae=j==="FencedCode"&&!h(_.from),re=F&&!h(B.from),$e=ae&&G?n.doc.line(_.number+1):_,bt=G?$e:_,Ne=!G&&j==="FencedCode"?_:re?n.doc.line(B.number-1):B;if(j==="FencedCode"){let H=Ao(n,y);if(H.detectedLanguage)for(let Lt of Vv(H,e))t.push(Lt.mark.range(H.sourceFrom+Lt.from,H.sourceFrom+Lt.to));t.push(R.widget({widget:new Xo({wrapped:n.field(qn).has(_.from),fenceFrom:y.from,language:H.language,detectedLanguage:H.detectedLanguage,rawInfo:H.rawInfo,infoFrom:H.infoFrom,infoTo:H.infoTo}),side:-1}).range(bt.from))}else t.push(R.widget({widget:new Xo({fenceFrom:_.from,language:"text",rawInfo:"",plain:!0,wrapped:n.field(qn).has(_.from)}),side:-1}).range(bt.from));let rt=y.from;for(;rt<=y.to;){let H=n.doc.lineAt(rt),Lt=j==="CodeBlock"&&O.has(`${wo.spec.class}@${H.from}`)?H.text.match(En):null;if(Lt){if(Q(H,Lt),H.to>=y.to)break;rt=H.to+1;continue}let Ih=j==="FencedCode"&&H.from===bt.from;if((ae&&H.from===_.from||re&&H.from===B.from)&&!Ih)p(H.from,jg);else if(j==="FencedCode"&&!G&&H.from!==_.from&&!Ih)p(H.from,jg);else{let Mn=H.from===$e.from,Bh=H.from===Ne.from;Mn&&p(H.from,mv),Bh&&p(H.from,gv),!Mn&&!Bh&&p(H.from,pv),t.push(R.line({attributes:{"data-code-scroll-group":String(_.from),class:n.field(qn).has(_.from)?"cm-md-code-wrapped":""}}).range(H.from)),H.length&&t.push(Qv.range(H.from,H.to))}if(j==="CodeBlock"&&!h(H.from)){let Mn=H.text.match(/^(?: {4}|\t)/)?.[0];Mn&&t.push(Ge.range(H.from,H.from+Mn.length))}if(H.to>=y.to)break;rt=H.to+1}return}if(j==="CodeInfo"){let _=y.node.parent;if(!_)return;h(_.from)&&t.push(Sv.range(y.from,y.to));return}if(j==="Table"){b(y.from,y.to,bv);return}if(j==="HorizontalRule"){h(y.from)||(p(y.from,ov),t.push(sv.range(y.from,y.to)));return}},leave:y=>{X--;let j=y.name;(j==="BulletList"||j==="OrderedList")&&W.pop(),j==="Blockquote"&&T.pop()}});for(let[y,j]of C)p(y,Ov(j.depth,j.starts,j.ends,j.gap));C.clear();let N=k;for(;N<=w;){let y=n.doc.lineAt(N);if(O.has(`${wo.spec.class}@${y.from}`)&&!m.has(y.from)){let ye=y.text.match(En);ye&&Q(y,ye)}if(y.to>=w)break;N=y.to+1}}return R.set(t,!0)}function Lh(i){let e=i.selection.main,t=new Set,n=0;for(let r=U(i).resolveInner(e.from,1);r;r=r.parent){if(r.toi.decorations,provide:i=>q.blockWrappers.of(e=>e.plugin(i)?.codeWrappers??ci.set([]))}),Yv=De.fromClass(class{constructor(i){this.schedule(i)}update(i){(i.docChanged||i.selectionSet||i.viewportChanged||i.geometryChanged||i.focusChanged)&&this.schedule(i.view)}docViewUpdate(i){this.schedule(i)}schedule(i){i.requestMeasure({key:this,read(e){return Array.from(e.dom.querySelectorAll(".cm-md-heading-prefix")).map(t=>{let n=t.closest(".cm-line");return n?{line:n,width:t.getBoundingClientRect().width}:null}).filter(Boolean)},write(e){for(let{line:t,width:n}of e){let r=`${n}px`;t.style.getPropertyValue("--cm-md-heading-prefix-width")!==r&&t.style.setProperty("--cm-md-heading-prefix-width",r)}}})}});function Hg(i){let e=[],t=i.selection.main,n=(s,o)=>t.from<=o&&t.to>=s;return(Ls(i,i.doc.length,80)||U(i)).iterate({enter:s=>{let o=s.name;if(o==="FencedCode"||o==="CodeBlock"||o==="HTMLBlock")return!1;if(o!=="Paragraph")return;if(n(s.from,s.to))return!1;let a=i.doc.lineAt(s.from);for(;a.toHg(i),update:(i,e)=>e.docChanged||e.selection?Hg(e.state):i,provide:i=>q.decorations.from(i)}),n0=kn.define([{tag:[d.keyword,d.modifier,d.operatorKeyword,d.controlKeyword,d.definitionKeyword,d.moduleKeyword],class:"hl-keyword"},{tag:[d.string,d.special(d.string),d.regexp],class:"hl-string"},{tag:[d.comment,d.blockComment,d.lineComment],class:"hl-comment"},{tag:[d.number,d.integer,d.float,d.character],class:"hl-number"},{tag:[d.bool,d.atom,d.null],class:"hl-keyword"},{tag:[d.typeName,d.namespace],class:"hl-type"},{tag:[d.className,d.definition(d.typeName)],class:"hl-declaration"},{tag:[d.function(d.variableName),d.function(d.propertyName),d.macroName],class:"hl-function"},{tag:[d.propertyName,d.labelName],class:"hl-property"},{tag:d.attributeName,class:"hl-attribute"},{tag:[d.standard(d.variableName),d.standard(d.typeName)],class:"hl-builtin"},{tag:[d.meta,d.processingInstruction],class:"hl-meta"},{tag:[d.punctuation,d.operator],class:"hl-plain"}]);function zt(i){return e=>{let t=e.state.changeByRange(n=>{let{from:r,to:s}=n;for(;rr&&/\s/.test(e.state.sliceDoc(s-1,s));)s--;let o=i.length,a=e.state.sliceDoc(Math.max(0,r-o),r),l=e.state.sliceDoc(s,s+o);if(a===i&&l===i)return{changes:[{from:r-o,to:r,insert:""},{from:s,to:s+o,insert:""}],range:v.range(r-o,s-o)};let c=e.state.sliceDoc(r,s);return c.startsWith(i)&&c.endsWith(i)&&c.length>=o*2?{changes:{from:r,to:s,insert:c.slice(o,c.length-o)},range:v.range(r,s-o*2)}:{changes:{from:r,to:s,insert:i+c+i},range:v.range(r+o,s+o)}});return e.dispatch(t,{scrollIntoView:!0,userEvent:"input"}),!0}}function Yh(i,e){let t=i.selection.main,n=i.doc.lineAt(t.from).number,r=i.doc.lineAt(t.to).number,s=[];for(let o=n;o<=r;o++)s.push(i.doc.line(o));return e(s)}function Xh(i,e){return t=>{let n=Yh(t.state,r=>{let s=r.every(o=>e.test(o.text));return r.map(o=>{if(s){let a=o.text.match(e);return{from:o.from,to:o.from+a[0].length,insert:""}}return e.test(o.text)?null:{from:o.from,insert:i}}).filter(Boolean)});return n.length&&jr(t,n),!0}}function jr(i,e){let t=i.state.changes(e),n=i.state.selection.main;i.dispatch({changes:e,selection:v.range(t.mapPos(n.anchor,1),t.mapPos(n.head,1)),userEvent:"input"})}function Iv(i){let e=/^\d+\.\s/,t=Yh(i.state,n=>{let r=n.every(o=>e.test(o.text)),s=1;return n.map(o=>{if(r){let a=o.text.match(e);return{from:o.from,to:o.from+a[0].length,insert:""}}return e.test(o.text)?null:{from:o.from,insert:`${s++}. `}}).filter(Boolean)});return t.length&&jr(i,t),!0}function Mh(i){let e=i.selection.main,t=i.doc.lineAt(e.from).number,n=i.doc.lineAt(e.empty?e.to:e.to-1).number;return Array.from({length:n-t+1},(r,s)=>i.doc.line(t+s))}function r0(i){let e=/^([ \t]*(?:>[ \t]*)*)(?:([-+*]|\d+[.)])([ \t]+)(\[[ xX]\][ \t]+)?)?/.exec(i);return{prefix:e[0],indent:e[1],style:e[2]?e[4]?"task":/^\d/.test(e[2])?"ordered":"bullet":"none"}}function zn(i,e,t){for(let n=U(i).resolve(e,1);n;n=n.parent)if(t.includes(n.name))return n;return null}function s0(i){return Mh(i).filter(e=>!/^[ \t>]*$/.test(e.text)&&!zn(i,e.from+e.text.search(/\S/),["FencedCode","CodeBlock"]))}function Bv(i,e){if(!["none","bullet","ordered","task"].includes(e))return!1;let t=s0(i.state).map((n,r)=>{let s=r0(n.text);if(s.style===e)return null;let o=e==="none"?"":e==="bullet"?"- ":e==="task"?"- [ ] ":`${r+1}. `;return{from:n.from,to:n.from+s.prefix.length,insert:s.indent+o}}).filter(Boolean);return t.length&&jr(i,t),i.focus(),!0}function en(i){return e=>{let t=Yh(e.state,n=>n.map(r=>{let s=r.text.match(/^(#{1,6})\s+/),a=(s?s[1].length:0)===i||i===0?"":"#".repeat(i)+" ";return{from:r.from,to:r.from+(s?s[0].length:0),insert:a}}));return e.dispatch({changes:t,userEvent:"input"}),!0}}function o0(i){let e={InlineCode:"code",FencedCode:"fenced",CodeBlock:"plain",Blockquote:"quote",Table:"table"};for(let t=U(i).resolve(i.selection.main.head,i.selection.main.empty?1:-1);t;t=t.parent)if(e[t.name])return{style:e[t.name],node:t};return{style:"none",node:null}}function Uv(i,e,t=""){if(!["none","quote","code","plain","fenced","table"].includes(e))return!1;let n=i.state,r=n.selection.main,s=o0(n),o=s.node&&r.from>=s.node.from&&r.to<=s.node.to;if(e==="code"&&(!o||s.style==="code"))return s.style!=="code"&&zt("`")(i),i.focus(),!0;if(e==="table"){let m=zn(n,r.to,["FencedCode"]),p=m?m.to:n.doc.lineAt(r.to).to,g=(m&&m.lastChild?.name!=="CodeMark"?` `+n.sliceDoc(m.firstChild.from,m.firstChild.to):"")+` | Column 1 | Column 2 | | --- | --- | | | | -`;return i.dispatch({changes:{from:p,insert:g},selection:{anchor:p+g.length},userEvent:"input"}),i.focus(),!0}if(e===s.style&&o&&e!=="fenced")return!0;if(e==="quote"&&!o){let m=Lh(n).filter(p=>!qn(n,p.from+Math.max(0,p.text.search(/\S/)),["Blockquote"])).map(p=>({from:p.from,insert:"> "}));return m.length&&jr(i,m),i.focus(),!0}let a=Lh(n),l=a[0].from,c=a[a.length-1].to,h=n.sliceDoc(l,c),f=s.node;if(f&&r.from>=f.from&&r.to<=f.to&&(s.style!=="code"||e==="none")){if(l=s.style==="code"?f.from:n.doc.lineAt(f.from).from,c=f.to,h=n.sliceDoc(l,c),s.style==="fenced"){let m=n.doc.lineAt(f.from),p=n.doc.lineAt(f.to),b=f.lastChild?.name==="CodeMark";h=n.sliceDoc(Math.min(m.to+1,f.to),b?p.from:f.to).replace(/\n$/,"")}else if(s.style==="plain")h=h.replace(/^(?: {4}|\t)/gm,"");else if(s.style==="quote")h=h.replace(/^ {0,3}> ?/gm,"");else if(s.style==="code")h=n.sliceDoc(f.firstChild.to,f.lastChild.from);else if(s.style==="table"){let m=Wh(h);m&&(h=m.rows.map(p=>p.join(" ")).join(` +`;return i.dispatch({changes:{from:p,insert:g},selection:{anchor:p+g.length},userEvent:"input"}),i.focus(),!0}if(e===s.style&&o&&e!=="fenced")return!0;if(e==="quote"&&!o){let m=Mh(n).filter(p=>!zn(n,p.from+Math.max(0,p.text.search(/\S/)),["Blockquote"])).map(p=>({from:p.from,insert:"> "}));return m.length&&jr(i,m),i.focus(),!0}let a=Mh(n),l=a[0].from,c=a[a.length-1].to,h=n.sliceDoc(l,c),f=s.node;if(f&&r.from>=f.from&&r.to<=f.to&&(s.style!=="code"||e==="none")){if(l=s.style==="code"?f.from:n.doc.lineAt(f.from).from,c=f.to,h=n.sliceDoc(l,c),s.style==="fenced"){let m=n.doc.lineAt(f.from),p=n.doc.lineAt(f.to),b=f.lastChild?.name==="CodeMark";h=n.sliceDoc(Math.min(m.to+1,f.to),b?p.from:f.to).replace(/\n$/,"")}else if(s.style==="plain")h=h.replace(/^(?: {4}|\t)/gm,"");else if(s.style==="quote")h=h.replace(/^ {0,3}> ?/gm,"");else if(s.style==="code")h=n.sliceDoc(f.firstChild.to,f.lastChild.from);else if(s.style==="table"){let m=jh(h);m&&(h=m.rows.map(p=>p.join(" ")).join(` `))}}let u=h,O=0;if(e==="code"){h=h.replace(/\n/g," ");let m="`".repeat(Math.max(1,...(h.match(/`+/g)||[]).map(b=>b.length+1))),p=/^`|`$/.test(h)||/^ .* $/.test(h)&&/\S/.test(h)?" ":"";u=m+p+h+p+m,O=m.length+p.length}if(e==="quote"&&(u=h.split(` `).map(m=>"> "+m).join(` `),O=2),e==="plain"&&(u=h.split(` @@ -49,4 +49,4 @@ `),O=4),e==="fenced"){let m=h.match(/`+/g)||[],p="`".repeat(Math.max(3,...m.map(Q=>Q.length+1))),b=String(t).replace(/[^\w+-]/g,""),g=p+b+` `;u=g+h+` `+p,O=g.length}return e==="plain"&&l>0&&n.doc.lineAt(l-1).text.trim()&&(u=` -`+u,O++),i.dispatch({changes:{from:l,to:c,insert:u},selection:{anchor:l+O},userEvent:"input"}),i.focus(),!0}function Gv(i){let e=i.state.selection.main,t=i.state.sliceDoc(e.from,e.to)||"text",n=`[${t}](url)`,r=e.from+t.length+3;return i.dispatch({changes:{from:e.from,to:e.to,insert:n},selection:v.range(r,r+3),userEvent:"input",scrollIntoView:!0}),!0}var Kg=Te.define();function Nv(i,e){let t=U(i).resolve(e,-1);for(;t;){if(t.name==="FencedCode")return t.from;t=t.parent}return null}var Fv=se.transactionFilter.of(i=>{if(!i.docChanged||!i.isUserEvent("input")||i.annotation(Kg))return i;let e=i.newSelection.main;if(!e.empty)return i;let t=i.newDoc.lineAt(e.head),n=e.head-t.from;if(t.text.slice(0,n)!=="```"||t.text.slice(n)!=="")return i;let r=!1,s=null;if(i.changes.iterChanges((l,c,h,f,u)=>{if(r||h>e.head||f=t.from+3,r&&(s=l)}),!r)return i;let o=i.startState.doc.lineAt(s),a=Nv(i.startState,s);return a!=null&&at.number&&(n=i.state.doc.line(n.number-1)),e.empty){let o=Co(i.state,e.head);if(o){let a=i.state.doc.lineAt(o.from),l=i.state.doc.lineAt(o.to);if(t.number>a.number&&(!o.closed||t.numbera)return Ml(i)}return!0}let s=[];for(let o=t.number;o<=n.number;o++)s.push({from:i.state.doc.line(o).from,insert:" "});return jr(i,s),!0}window.MDEditor={create(i,e,t){let n=t&&t.onDirty,r=t&&t.onPasteImage;Object.assign(gt,t&&t.spacing||{});let s=new q({parent:i,state:se.create({doc:e,extensions:[TO(),wi,JP,Wu(),q.lineWrapping,q.perLineTextDirection.of(!0),Zt.of(" "),Lv,Pm({content:Bc({base:yi,codeLanguages:Jg,extensions:Mh})}),en,En,Tt,Mv,Wv,jv,ev,KP,uO({style:n0.style,scope:p=>p.prop(yt)!==yi.data}),st.lowest(Dv),Yv,Fv,ud(),st.highest(hi.of([{key:"Enter",run:iv}])),hi.of([{key:"Mod-b",run:Et("**")},{key:"Mod-i",run:Et("*")},{key:"Tab",run:Hv,shift:Ll},...pd,...Ic,...sd,...RO]),q.updateListener.of(p=>{if(t?.onFormattingChange&&(p.selectionSet||p.docChanged||p.focusChanged||U(p.startState)!==U(p.state))&&(ke.has(s)?zn(s):t.onFormattingChange(zh(p.state))),p.docChanged&&t?.onSearchChange){let b=p.state.field(wi);t.onSearchChange({index:b.index+1,total:b.matches.length})}p.docChanged&&n&&!p.transactions.some(b=>b.isUserEvent("rename"))&&n()}),q.domEventHandlers({paste(p,b){if(p.target instanceof Element&&p.target.closest(".cm-md-table-cell")||!Array.from(p.clipboardData?.items||[]).some(S=>String(S.type||"").toLowerCase().startsWith("image/"))||typeof r!="function")return!1;p.preventDefault();let Q=b.state.selection.main;return r(Q.from,Q.to),!0}})]})}),o=!!(t&&t.pageScrolling),a=o?document.scrollingElement:s.scrollDOM,l=o?window:a,c=null,h=0,f=null,u=()=>s.documentTop+a.scrollTop-(o?0:a.getBoundingClientRect().top),O=p=>{let b=s.lineBlockAt(p),g=0,Q=0;try{let S=s.domAtPos(p).node,x=S.nodeType===Node.ELEMENT_NODE?S:S.parentElement,P=x&&x.closest(".cm-line");if(P){let $=getComputedStyle(P);g=parseFloat($.paddingTop)||0,Q=parseFloat($.paddingBottom)||0}}catch{}return{top:b.top+g,height:Math.max(b.height-g-Q,1),sourceStart:s.state.doc.lineAt(b.from).number,sourceEnd:s.state.doc.lineAt(b.to).number+1}},m={bold:Et("**"),italic:Et("*"),strikethrough:Et("~~"),highlight:Et("=="),code:Et("`"),h0:Ji(0),h1:Ji(1),h2:Ji(2),h3:Ji(3),h4:Ji(4),h5:Ji(5),h6:Ji(6),quote:Ch("> ",/^>\s?/),bulletList:Ch("- ",/^\s*[-*+]\s/),orderedList:Iv,taskList:Ch("- [ ] ",/^\s*[-*+]\s+\[[ xX]\]\s/),link:Gv};return t?.onCopyCode&&e0.set(s,t.onCopyCode),t?.onFormattingChange&&Vh.set(s,t.onFormattingChange),t?.onFormattingChange?.(zh(s.state)),{getMarkdown:()=>s.state.doc.toString(),getBlockStyle:()=>ke.has(s)?"table":o0(s.state).style,setBlockStyle:(p,b)=>{if(ke.has(s)){if(p!=="code")return!1;let g=$o(s);return g?(Et("`")(s),To(s,g),!0):!1}return Uv(s,p,b)},getListStyle:()=>{if(ke.has(s))return"none";let p=s0(s.state).map(b=>r0(b.text).style);return p.length?p.every(b=>b===p[0])?p[0]:"mixed":"none"},setListStyle:p=>!ke.has(s)&&Bv(s,p),getLinkSelection:(p=!1)=>{if(ke.has(s)&&!$o(s))return null;let{from:b,to:g}=s.state.selection.main,Q=qn(s.state,b,["Link"]);if(p&&Q&&g<=Q.to){let S=Q.getChildren("LinkMark");return{from:Q.from,to:Q.to,text:s.state.sliceDoc(S[0].to,S[1].from)}}return{from:b,to:g,text:s.state.sliceDoc(b,g)}},insertLinkFromPopover:(p,b,g,Q)=>{let S=String(b).trim();if(!S||/[\r\n]/.test(S)||g<0||Qs.state.doc.length)return!1;let x=qn(s.state,g,["Link"]);if(x&&(g>x.from||Qg?qn(s.state,Q-1,["Link"]):null;if(P&&(g>P.from||Q\\()]/g,C=>/[()]/.test(C)?"%"+C.charCodeAt(0).toString(16).toUpperCase():encodeURIComponent(C)),X=ke.get(s);if(X){let C=Zo(s,X);if(!C||gC.to)return!1}let W=`[${$}](${Z})`,T=X?jh(W):W;return s.dispatch({changes:{from:g,to:Q,insert:T},selection:{anchor:g+T.length},userEvent:"input"}),X?To(s,X):s.focus(),!0},getHeadingLevel:()=>{if(ke.has(s))return 0;for(let p=U(s.state).resolveInner(s.state.selection.main.head,1);p;p=p.parent){let b=/^(?:ATX|Setext)Heading([1-6])$/.exec(p.name);if(b)return Number(b[1])}return 0},find:(p,b=!1,g=!1)=>{let Q=s.state.field(wi),S=Q.query===p&&Q.beginsWith===g,x=0;S&&Q.matches.length?x=(Q.index+(b?-1:1)+Q.matches.length)%Q.matches.length:b&&(x=Number.MAX_SAFE_INTEGER),s.dispatch({effects:Eo.of({query:p,beginsWith:g,index:x})});let P=s.state.field(wi),$=P.matches[P.index];return $&&(c=null,didUserScroll=!0,s.dispatch({effects:q.scrollIntoView($.from,{y:"center"})})),{index:P.index+1,total:P.matches.length}},isSyntaxReady:()=>sO(s.state,s.state.doc.length),replaceMarkdown:p=>{let b=String(p||""),g=b.length,Q=s.state.selection.main,S=Math.min(Q.anchor,g),x=Math.min(Q.head,g),P=a.scrollTop;s.dispatch({changes:{from:0,to:s.state.doc.length,insert:b},selection:{anchor:S,head:x},userEvent:"rename",annotations:pe.addToHistory.of(!1)}),requestAnimationFrame(()=>{a.scrollTop=P,s.requestMeasure()})},insertTextAt:(p,b,g)=>{let Q=s.state.doc.length,S=Math.max(0,Math.min(Number(b)||0,Q)),x=Math.max(S,Math.min(Number(g)||S,Q));s.dispatch({changes:{from:S,to:x,insert:String(p||"")},selection:{anchor:S+String(p||"").length},userEvent:"input",scrollIntoView:!0}),s.focus()},focus:()=>s.focus(),getScrollAnchor:()=>{if(Number.isFinite(c)&&Math.abs(a.scrollTop-f)<=.5)return{position:c,gap:h||0};let p=a.scrollTop-u(),b=s.lineBlockAtHeight(p),g=s.state.doc.lineAt(b.from),Q=O(g.from),S=Q.height>0?Math.min(Math.max((p-Q.top)/Q.height,0),1):0,x=Math.max(Q.top-p,0);return{position:Q.sourceStart+S*(Q.sourceEnd-Q.sourceStart),gap:x}},setScrollPosition:(p,b,g)=>new Promise(Q=>{let x=Math.max(a.scrollHeight-a.clientHeight,0)*Math.min(Math.max(Number(p)||0,0),1),P=null,$=Number.isFinite(g)?Math.max(g,0):0;if(Number.isFinite(b)&&b>=1){let Z=Math.min(Math.floor(b),s.state.doc.lines);if(P=s.state.doc.line(Z).from,P!=null){let X=O(P),W=(b-X.sourceStart)/(X.sourceEnd-X.sourceStart);x=u()+X.top+X.height*W-$,s.dispatch({effects:q.scrollIntoView(P,{y:"start"})})}}requestAnimationFrame(()=>{let Z=Math.max(a.scrollHeight-a.clientHeight,0);if(P!=null){let X=O(P),W=(b-X.sourceStart)/(X.sourceEnd-X.sourceStart);x=u()+X.top+X.height*W-$}else x=Z*Math.min(Math.max(Number(p)||0,0),1);a.scrollTop=Math.min(Math.max(x,0),Z),l.dispatchEvent(new Event("scroll")),s.requestMeasure(),requestAnimationFrame(()=>{c=Number.isFinite(b)?b:null,h=Number.isFinite(b)?$:0,f=a.scrollTop,Q(!0)})})}),select:(p,b=p)=>{ke.delete(s),s.dispatch({selection:{anchor:p,head:b},userEvent:"select.pointer"})},insert:p=>{let b=s.state.selection.main;s.state.facet(q.inputHandler).some(Q=>Q(s,b.from,b.to,p))||s.dispatch({changes:{from:b.from,to:b.to,insert:p},selection:{anchor:b.from+p.length},userEvent:"input"})},exec:p=>{let b=m[p];if(!b)return!1;if(ke.has(s)){if(!HP.has(p))return!1;let g=$o(s);return g?(b(s),To(s,g),!0):!1}return b(s),s.focus(),!0},performTableContextAction:(p,b)=>{if(!Mr||Mr.token!==p)return!1;let g=Mr;return Mr=null,g.perform(b),!0},destroy:()=>{s.destroy()}}}};})(); +`+u,O++),i.dispatch({changes:{from:l,to:c,insert:u},selection:{anchor:l+O},userEvent:"input"}),i.focus(),!0}function Gv(i){let e=i.state.selection.main,t=i.state.sliceDoc(e.from,e.to)||"text",n=`[${t}](url)`,r=e.from+t.length+3;return i.dispatch({changes:{from:e.from,to:e.to,insert:n},selection:v.range(r,r+3),userEvent:"input",scrollIntoView:!0}),!0}var Kg=Te.define();function Nv(i,e){let t=U(i).resolve(e,-1);for(;t;){if(t.name==="FencedCode")return t.from;t=t.parent}return null}var Fv=se.transactionFilter.of(i=>{if(!i.docChanged||!i.isUserEvent("input")||i.annotation(Kg))return i;let e=i.newSelection.main;if(!e.empty)return i;let t=i.newDoc.lineAt(e.head),n=e.head-t.from;if(t.text.slice(0,n)!=="```"||t.text.slice(n)!=="")return i;let r=!1,s=null;if(i.changes.iterChanges((l,c,h,f,u)=>{if(r||h>e.head||f=t.from+3,r&&(s=l)}),!r)return i;let o=i.startState.doc.lineAt(s),a=Nv(i.startState,s);return a!=null&&at.number&&(n=i.state.doc.line(n.number-1)),e.empty){let o=Co(i.state,e.head);if(o){let a=i.state.doc.lineAt(o.from),l=i.state.doc.lineAt(o.to);if(t.number>a.number&&(!o.closed||t.numbera)return Ml(i)}return!0}let s=[];for(let o=t.number;o<=n.number;o++)s.push({from:i.state.doc.line(o).from,insert:" "});return jr(i,s),!0}window.MDEditor={create(i,e,t){let n=t&&t.onDirty,r=t&&t.onPasteImage;Object.assign(Qt,t&&t.spacing||{});let s=new q({parent:i,state:se.create({doc:e,extensions:[CO(),vi,JP,ju(),q.lineWrapping,q.perLineTextDirection.of(!0),qt.of(" "),Lv,vm({content:Bc({base:xi,codeLanguages:Jg,extensions:Wh})}),tn,qn,Xt,Mv,Wv,jv,ev,KP,OO({style:n0.style,scope:p=>p.prop(xt)!==xi.data}),ot.lowest(Dv),Yv,Fv,Od(),ot.highest(ui.of([{key:"Enter",run:iv}])),ui.of([{key:"Mod-b",run:zt("**")},{key:"Mod-i",run:zt("*")},{key:"Tab",run:Hv,shift:Ll},...md,...Ic,...od,...AO]),q.updateListener.of(p=>{if(t?.onFormattingChange&&(p.selectionSet||p.docChanged||p.focusChanged||U(p.startState)!==U(p.state))&&(ke.has(s)?Ln(s):t.onFormattingChange(Lh(p.state))),p.docChanged&&t?.onSearchChange){let b=p.state.field(vi);t.onSearchChange({index:b.index+1,total:b.matches.length})}p.docChanged&&n&&!p.transactions.some(b=>b.isUserEvent("rename"))&&n()}),q.domEventHandlers({paste(p,b){if(p.target instanceof Element&&p.target.closest(".cm-md-table-cell")||!Array.from(p.clipboardData?.items||[]).some(S=>String(S.type||"").toLowerCase().startsWith("image/"))||typeof r!="function")return!1;p.preventDefault();let Q=b.state.selection.main;return r(Q.from,Q.to),!0}})]})}),o=!!(t&&t.pageScrolling),a=o?document.scrollingElement:s.scrollDOM,l=o?window:a,c=null,h=0,f=null,u=()=>s.documentTop+a.scrollTop-(o?0:a.getBoundingClientRect().top),O=p=>{let b=s.lineBlockAt(p),g=0,Q=0;try{let S=s.domAtPos(p).node,x=S.nodeType===Node.ELEMENT_NODE?S:S.parentElement,P=x&&x.closest(".cm-line");if(P){let $=getComputedStyle(P);g=parseFloat($.paddingTop)||0,Q=parseFloat($.paddingBottom)||0}}catch{}return{top:b.top+g,height:Math.max(b.height-g-Q,1),sourceStart:s.state.doc.lineAt(b.from).number,sourceEnd:s.state.doc.lineAt(b.to).number+1}},m={bold:zt("**"),italic:zt("*"),strikethrough:zt("~~"),highlight:zt("=="),code:zt("`"),h0:en(0),h1:en(1),h2:en(2),h3:en(3),h4:en(4),h5:en(5),h6:en(6),quote:Xh("> ",/^>\s?/),bulletList:Xh("- ",/^\s*[-*+]\s/),orderedList:Iv,taskList:Xh("- [ ] ",/^\s*[-*+]\s+\[[ xX]\]\s/),link:Gv};return t?.onCopyCode&&e0.set(s,t.onCopyCode),t?.onFormattingChange&&Dh.set(s,t.onFormattingChange),t?.onFormattingChange?.(Lh(s.state)),{getMarkdown:()=>s.state.doc.toString(),getBlockStyle:()=>ke.has(s)?"table":o0(s.state).style,setBlockStyle:(p,b)=>{if(ke.has(s)){if(p!=="code")return!1;let g=$o(s);return g?(zt("`")(s),To(s,g),!0):!1}return Uv(s,p,b)},getListStyle:()=>{if(ke.has(s))return"none";let p=s0(s.state).map(b=>r0(b.text).style);return p.length?p.every(b=>b===p[0])?p[0]:"mixed":"none"},setListStyle:p=>!ke.has(s)&&Bv(s,p),getLinkSelection:(p=!1)=>{if(ke.has(s)&&!$o(s))return null;let{from:b,to:g}=s.state.selection.main,Q=zn(s.state,b,["Link"]);if(p&&Q&&g<=Q.to){let S=Q.getChildren("LinkMark");return{from:Q.from,to:Q.to,text:s.state.sliceDoc(S[0].to,S[1].from)}}return{from:b,to:g,text:s.state.sliceDoc(b,g)}},insertLinkFromPopover:(p,b,g,Q)=>{let S=String(b).trim();if(!S||/[\r\n]/.test(S)||g<0||Qs.state.doc.length)return!1;let x=zn(s.state,g,["Link"]);if(x&&(g>x.from||Qg?zn(s.state,Q-1,["Link"]):null;if(P&&(g>P.from||Q\\()]/g,C=>/[()]/.test(C)?"%"+C.charCodeAt(0).toString(16).toUpperCase():encodeURIComponent(C)),X=ke.get(s);if(X){let C=Zo(s,X);if(!C||gC.to)return!1}let W=`[${$}](${Z})`,T=X?Vh(W):W;return s.dispatch({changes:{from:g,to:Q,insert:T},selection:{anchor:g+T.length},userEvent:"input"}),X?To(s,X):s.focus(),!0},getHeadingLevel:()=>{if(ke.has(s))return 0;for(let p=U(s.state).resolveInner(s.state.selection.main.head,1);p;p=p.parent){let b=/^(?:ATX|Setext)Heading([1-6])$/.exec(p.name);if(b)return Number(b[1])}return 0},find:(p,b=!1,g=!1)=>{let Q=s.state.field(vi),S=Q.query===p&&Q.beginsWith===g,x=0;S&&Q.matches.length?x=(Q.index+(b?-1:1)+Q.matches.length)%Q.matches.length:b&&(x=Number.MAX_SAFE_INTEGER),s.dispatch({effects:Eo.of({query:p,beginsWith:g,index:x})});let P=s.state.field(vi),$=P.matches[P.index];return $&&(c=null,didUserScroll=!0,s.dispatch({effects:q.scrollIntoView($.from,{y:"center"})})),{index:P.index+1,total:P.matches.length}},isSyntaxReady:()=>oO(s.state,s.state.doc.length),replaceMarkdown:p=>{let b=String(p||""),g=b.length,Q=s.state.selection.main,S=Math.min(Q.anchor,g),x=Math.min(Q.head,g),P=a.scrollTop;s.dispatch({changes:{from:0,to:s.state.doc.length,insert:b},selection:{anchor:S,head:x},userEvent:"rename",annotations:pe.addToHistory.of(!1)}),requestAnimationFrame(()=>{a.scrollTop=P,s.requestMeasure()})},insertTextAt:(p,b,g)=>{let Q=s.state.doc.length,S=Math.max(0,Math.min(Number(b)||0,Q)),x=Math.max(S,Math.min(Number(g)||S,Q));s.dispatch({changes:{from:S,to:x,insert:String(p||"")},selection:{anchor:S+String(p||"").length},userEvent:"input",scrollIntoView:!0}),s.focus()},focus:()=>s.focus(),getScrollAnchor:()=>{if(Number.isFinite(c)&&Math.abs(a.scrollTop-f)<=.5)return{position:c,gap:h||0};let p=a.scrollTop-u(),b=s.lineBlockAtHeight(p),g=s.state.doc.lineAt(b.from),Q=O(g.from),S=Q.height>0?Math.min(Math.max((p-Q.top)/Q.height,0),1):0,x=Math.max(Q.top-p,0);return{position:Q.sourceStart+S*(Q.sourceEnd-Q.sourceStart),gap:x}},setScrollPosition:(p,b,g)=>new Promise(Q=>{let x=Math.max(a.scrollHeight-a.clientHeight,0)*Math.min(Math.max(Number(p)||0,0),1),P=null,$=Number.isFinite(g)?Math.max(g,0):0;if(Number.isFinite(b)&&b>=1){let Z=Math.min(Math.floor(b),s.state.doc.lines);if(P=s.state.doc.line(Z).from,P!=null){let X=O(P),W=(b-X.sourceStart)/(X.sourceEnd-X.sourceStart);x=u()+X.top+X.height*W-$,s.dispatch({effects:q.scrollIntoView(P,{y:"start"})})}}requestAnimationFrame(()=>{let Z=Math.max(a.scrollHeight-a.clientHeight,0);if(P!=null){let X=O(P),W=(b-X.sourceStart)/(X.sourceEnd-X.sourceStart);x=u()+X.top+X.height*W-$}else x=Z*Math.min(Math.max(Number(p)||0,0),1);a.scrollTop=Math.min(Math.max(x,0),Z),l.dispatchEvent(new Event("scroll")),s.requestMeasure(),requestAnimationFrame(()=>{c=Number.isFinite(b)?b:null,h=Number.isFinite(b)?$:0,f=a.scrollTop,Q(!0)})})}),select:(p,b=p)=>{ke.delete(s),s.dispatch({selection:{anchor:p,head:b},userEvent:"select.pointer"})},insert:p=>{let b=s.state.selection.main;s.state.facet(q.inputHandler).some(Q=>Q(s,b.from,b.to,p))||s.dispatch({changes:{from:b.from,to:b.to,insert:p},selection:{anchor:b.from+p.length},userEvent:"input"})},exec:p=>{let b=m[p];if(!b)return!1;if(ke.has(s)){if(!HP.has(p))return!1;let g=$o(s);return g?(b(s),To(s,g),!0):!1}return b(s),s.focus(),!0},performTableContextAction:(p,b)=>{if(!Mr||Mr.token!==p)return!1;let g=Mr;return Mr=null,g.perform(b),!0},destroy:()=>{s.destroy()}}}};})(); diff --git a/scripts/editor-bundle/entry-cm.js b/scripts/editor-bundle/entry-cm.js index 937cb47c..436b52a9 100644 --- a/scripts/editor-bundle/entry-cm.js +++ b/scripts/editor-bundle/entry-cm.js @@ -1227,6 +1227,7 @@ class TaskCheckboxWidget extends WidgetType { toDOM(view) { const wrapper = document.createElement('span') wrapper.className = 'cm-md-task-marker' + wrapper.dataset.sourceFrom = String(this.from) const checkbox = document.createElement('input') checkbox.type = 'checkbox' checkbox.checked = this.checked @@ -1236,13 +1237,22 @@ class TaskCheckboxWidget extends WidgetType { event.stopPropagation() }) checkbox.addEventListener('change', () => { + const keyboardFocused = document.activeElement === checkbox view.dispatch({ changes: { from: this.from, to: this.from + 1, insert: checkbox.checked ? 'x' : ' ' }, userEvent: 'input' }) - view.focus() + if (!keyboardFocused) view.focus() }) wrapper.append(checkbox, document.createTextNode(" ")) return wrapper } + updateDOM(wrapper) { + // Reuse the focused input when toggling; replacing it also loses Tab order. + if (Number(wrapper.dataset.sourceFrom) !== this.from) return false + const checkbox = wrapper.querySelector('input') + checkbox.checked = this.checked + checkbox.setAttribute('aria-label', this.checked ? 'Mark task incomplete' : 'Mark task complete') + return true + } ignoreEvent() { return true } } @@ -2198,8 +2208,16 @@ function buildDecorations(view, detectedCodeCache) { && state.doc.line(itemLine.number - 1).text.trim() === "" if ((!isFirstItem || isNested) && !hasBlankBefore) lineOnce(node.from, listItemGapLine) eachLine(node.from, node.to, listItemLine) - if (/^[-+*][ \t]+\[[xX]\](?:[ \t]|$)/.test(state.doc.sliceString(node.from, itemLine.to))) { - eachLine(node.from, node.to, completedTaskLine) + if (/^[ \t]*[-+*][ \t]+\[[xX]\](?:[ \t]|$)/.test(state.doc.sliceString(node.from, itemLine.to))) { + // Nested lists own their completion state. Keep the parent's + // continuation paragraphs styled, including those after a sublist. + let from = node.from + for (let child = node.node.firstChild; child; child = child.nextSibling) { + if (child.name !== "BulletList" && child.name !== "OrderedList") continue + eachLine(from, state.doc.lineAt(child.from).from - 1, completedTaskLine) + from = state.doc.lineAt(child.to).to + 1 + } + eachLine(from, node.to, completedTaskLine) } lineOnce(node.from, listDepthLine(listStack.length)) listDepthPositions.add(state.doc.lineAt(node.from).from) diff --git a/tests/swift-tests/Tests/MarkdownHelpersTests/EditorFormattingTests.swift b/tests/swift-tests/Tests/MarkdownHelpersTests/EditorFormattingTests.swift index a329fc86..62588fcc 100644 --- a/tests/swift-tests/Tests/MarkdownHelpersTests/EditorFormattingTests.swift +++ b/tests/swift-tests/Tests/MarkdownHelpersTests/EditorFormattingTests.swift @@ -299,6 +299,53 @@ final class EditorFormattingTests: XCTestCase { XCTAssertEqual(result?["caret"] as? Int, source.utf16.count) } + func testCheckboxTogglePreservesKeyboardFocus() async throws { + let script = try TestVendor.script("md-preview/Vendor/CodeMirror/mdedit.min.js") + let editor = WebViewLayoutHarness(html: EditorHTML.render(markdown: "- [ ] First\n- [ ] Second", editorJavaScript: script), + width: 650, isEditor: true, height: 400) + defer { editor.close() } + _ = try await editor.layout(texts: [], imageCount: 0) + let result = try await editor.webView.evaluateJavaScript(""" + (() => { + const checkbox = document.querySelector('.cm-md-task-marker input'); + checkbox.focus(); checkbox.click(); + const retained = document.activeElement === checkbox && checkbox.isConnected; + const label = checkbox.getAttribute('aria-label'); + checkbox.click(); + return {retained, label, unchecked: !checkbox.checked, + retainedAgain: document.activeElement === checkbox && checkbox.isConnected, + source: window.__mdEditor.getMarkdown()}; + })() + """) as? [String: Any] + for key in ["retained", "retainedAgain", "unchecked"] { + XCTAssertEqual(result?[key] as? Bool, true, key) + } + XCTAssertEqual(result?["label"] as? String, "Mark task incomplete") + XCTAssertEqual(result?["source"] as? String, "- [ ] First\n- [ ] Second") + } + + func testCompletedParentDoesNotStrikeNestedUncheckedItems() async throws { + let script = try TestVendor.script("md-preview/Vendor/CodeMirror/mdedit.min.js") + let source = "- [x] Parent\n continuation\n - [ ] Child\n child continuation\n - [x] Done child\n - [ ] Grandchild\n\n Parent after children\n- [ ] Sibling" + let editor = WebViewLayoutHarness(html: EditorHTML.render(markdown: source, editorJavaScript: script), + width: 650, isEditor: true, height: 600) + defer { editor.close() } + _ = try await editor.layout(texts: [], imageCount: 0) + let result = try await editor.webView.evaluateJavaScript(""" + (() => { + const lines = [...document.querySelectorAll('.cm-line')]; + return Object.fromEntries(lines.filter(line => line.textContent.trim()).map(line => + [line.textContent.trim(), getComputedStyle(line).textDecorationLine.includes('line-through')])); + })() + """) as? [String: Bool] + for label in ["Parent", "continuation", "Done child", "Parent after children"] { + XCTAssertEqual(result?[label], true, label) + } + for label in ["Child", "child continuation", "Grandchild", "Sibling"] { + XCTAssertEqual(result?[label], false, label) + } + } + func testCompletedTaskStyleTracksCheckboxToggles() async throws { let script = try TestVendor.script("md-preview/Vendor/CodeMirror/mdedit.min.js") let source = "- [x] Done **bold**\n continuation\n- [ ] Pending" From 718982851e8460b4bddd32fd11ed94f535aa5011 Mon Sep 17 00:00:00 2001 From: Fauzaan Date: Mon, 28 Sep 2026 12:38:54 +0000 Subject: [PATCH 11/16] Update mixed layout tests for rendered table formatting --- .../MixedMarkdownLayoutTests.swift | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/tests/swift-tests/Tests/MarkdownHelpersTests/MixedMarkdownLayoutTests.swift b/tests/swift-tests/Tests/MarkdownHelpersTests/MixedMarkdownLayoutTests.swift index 2a25df56..99ba3a3f 100644 --- a/tests/swift-tests/Tests/MarkdownHelpersTests/MixedMarkdownLayoutTests.swift +++ b/tests/swift-tests/Tests/MarkdownHelpersTests/MixedMarkdownLayoutTests.swift @@ -45,10 +45,10 @@ extension EditorPreviewLayoutTests { "table": 3, "input[type=checkbox]": 2, "input[type=checkbox]:checked": 1, ".mermaid svg": 1, ".katex": 3, ".math-error": 0, ".mermaid-error": 0, ".markdown-alert": 5, ".footnotes": 1, "details summary": 1, "hr": 2], - editorSelectors: [".cm-md-table-grid": 2, ".cm-md-mermaid-stage svg": 1, ".cm-md-frontmatter": 6], + editorSelectors: [".cm-md-table-grid": 2, ".cm-md-mermaid-stage svg": 1, ".cm-md-frontmatter": 6, ".cm-md-table-cell .cm-md-strong": 1], editorSourceSnippets: ["[ ] Unchecked task", "[x] Completed task", "$x_1 + x_2$", "[!NOTE]", "[!TIP]", "[!IMPORTANT]", "[!WARNING]", "[!CAUTION]", "[reference link][destination]", - "![Reference picture][picture]", "[^first]", "
", "**bold cell**"], + "![Reference picture][picture]", "[^first]", "
"], sourceRepresentationReason: "The comprehensive file includes read-rendered features that intentionally remain source in the editor", localParityTexts: ["Mixed formatting document", "bold phrase", "italic phrase", "inlineToken", "Deep bullet", "Nested ordered item", "greeting", "Left cell", "Center cell", @@ -83,10 +83,10 @@ extension EditorPreviewLayoutTests { ], imageCount: 2, editorImageCount: 0, readSelectors: [".katex": 3, ".math-error": 0, ".markdown-alert": 5, ".footnotes": 1, "details summary": 1, "p[align=center] img": 1, "table": 2, "input[type=checkbox]": 2], - editorSelectors: [".cm-md-frontmatter": 6, ".cm-md-table-grid": 1, ".katex": 0, "details": 0], + editorSelectors: [".cm-md-frontmatter": 6, ".cm-md-table-grid": 1, ".katex": 0, "details": 0, ".cm-md-table-cell .cm-md-strong": 1], editorSourceSnippets: ["[ ] Unchecked task", "[x] Completed task", "$x_1 + x_2$", "[!NOTE]", "[!TIP]", "[!IMPORTANT]", "[!WARNING]", "[!CAUTION]", - "[reference link][destination]", "![Reference picture][picture]", "[^first]", "
", "**bold cell**"], - sourceRepresentationReason: "Math, footnotes, alerts, reference syntax, HTML, and formatted table cells remain editable source", + "[reference link][destination]", "![Reference picture][picture]", "[^first]", "
"], + sourceRepresentationReason: "Math, footnotes, alerts, reference syntax, and HTML remain editable source; table cells render inline formatting", localParityTexts: ["Extended mixed document", "bold introduction", "After equations.", "After alerts.", "After reference image.", "After raw HTML.", "Formatting", "Example", "finalValue", "Final extended paragraph."], height: 14000)) From 05cd25ef0af20343f14da9c7429fcdae6fd842c0 Mon Sep 17 00:00:00 2001 From: Fauzaan Date: Mon, 28 Sep 2026 12:39:37 +0000 Subject: [PATCH 12/16] Assert rendered checkboxes in mixed layout fixtures --- .../MixedMarkdownLayoutTests.swift | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/tests/swift-tests/Tests/MarkdownHelpersTests/MixedMarkdownLayoutTests.swift b/tests/swift-tests/Tests/MarkdownHelpersTests/MixedMarkdownLayoutTests.swift index 99ba3a3f..7a6ad1fd 100644 --- a/tests/swift-tests/Tests/MarkdownHelpersTests/MixedMarkdownLayoutTests.swift +++ b/tests/swift-tests/Tests/MarkdownHelpersTests/MixedMarkdownLayoutTests.swift @@ -45,8 +45,9 @@ extension EditorPreviewLayoutTests { "table": 3, "input[type=checkbox]": 2, "input[type=checkbox]:checked": 1, ".mermaid svg": 1, ".katex": 3, ".math-error": 0, ".mermaid-error": 0, ".markdown-alert": 5, ".footnotes": 1, "details summary": 1, "hr": 2], - editorSelectors: [".cm-md-table-grid": 2, ".cm-md-mermaid-stage svg": 1, ".cm-md-frontmatter": 6, ".cm-md-table-cell .cm-md-strong": 1], - editorSourceSnippets: ["[ ] Unchecked task", "[x] Completed task", "$x_1 + x_2$", "[!NOTE]", "[!TIP]", + editorSelectors: [".cm-md-table-grid": 2, ".cm-md-mermaid-stage svg": 1, ".cm-md-frontmatter": 6, ".cm-md-table-cell .cm-md-strong": 1, + ".cm-md-task-marker input": 2, ".cm-md-task-marker input:checked": 1], + editorSourceSnippets: ["$x_1 + x_2$", "[!NOTE]", "[!TIP]", "[!IMPORTANT]", "[!WARNING]", "[!CAUTION]", "[reference link][destination]", "![Reference picture][picture]", "[^first]", "
"], sourceRepresentationReason: "The comprehensive file includes read-rendered features that intentionally remain source in the editor", @@ -83,8 +84,9 @@ extension EditorPreviewLayoutTests { ], imageCount: 2, editorImageCount: 0, readSelectors: [".katex": 3, ".math-error": 0, ".markdown-alert": 5, ".footnotes": 1, "details summary": 1, "p[align=center] img": 1, "table": 2, "input[type=checkbox]": 2], - editorSelectors: [".cm-md-frontmatter": 6, ".cm-md-table-grid": 1, ".katex": 0, "details": 0, ".cm-md-table-cell .cm-md-strong": 1], - editorSourceSnippets: ["[ ] Unchecked task", "[x] Completed task", "$x_1 + x_2$", "[!NOTE]", "[!TIP]", "[!IMPORTANT]", "[!WARNING]", "[!CAUTION]", + editorSelectors: [".cm-md-frontmatter": 6, ".cm-md-table-grid": 1, ".katex": 0, "details": 0, ".cm-md-table-cell .cm-md-strong": 1, + ".cm-md-task-marker input": 2, ".cm-md-task-marker input:checked": 1], + editorSourceSnippets: ["$x_1 + x_2$", "[!NOTE]", "[!TIP]", "[!IMPORTANT]", "[!WARNING]", "[!CAUTION]", "[reference link][destination]", "![Reference picture][picture]", "[^first]", "
"], sourceRepresentationReason: "Math, footnotes, alerts, reference syntax, and HTML remain editable source; table cells render inline formatting", localParityTexts: ["Extended mixed document", "bold introduction", "After equations.", "After alerts.", From 6b89f67e3e903aa4a879e9b68c177c1e23556132 Mon Sep 17 00:00:00 2001 From: Fauzaan Date: Mon, 28 Sep 2026 12:59:56 +0000 Subject: [PATCH 13/16] Describe task marker editing accurately before checkbox support --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index fcf7a1b4..955584ae 100644 --- a/README.md +++ b/README.md @@ -69,7 +69,7 @@ Or grab the latest signed and notarized DMG from the [Releases](https://github.c ## Features - **Native rendering** — `WKWebView` pipeline backed by [swift-markdown](https://github.com/swiftlang/swift-markdown), with heading anchors and link handling. Bare `http://` and `https://` URLs are clickable in the app and Quick Look previews. -- **Read Mode** — select and copy text, follow links, and browse tables without changing the document. Switch to Edit Mode to edit tables or toggle task checkboxes. +- **Read Mode** — select and copy text, follow links, and browse tables without changing the document. Switch to Edit Mode to edit tables or task markers. - **Edit Mode** — edit Markdown in place with a formatting toolbar for headings, emphasis, lists, quotes, code, and links. Table cells show inline formatting until focused, then reveal their Markdown syntax for editing. Toggle it from the toolbar or with ⌘E, then save with ⌘S. - **Mermaid diagrams** — fenced `mermaid` code blocks render as diagrams in both the app and Quick Look previews, using a bundled renderer so previews work offline without a CDN request. - **Math equations** — LaTeX inline (`$x_1 + x_2$`), display (`$$\int_0^1 x^2\,dx$$`), and fenced `math` blocks render with a bundled KaTeX. Selecting a rendered formula and copying yields the original LaTeX source (via the official `copy-tex` extension). From 90b80bdc65ec1cdc4de9853322fa66a92603ef59 Mon Sep 17 00:00:00 2001 From: Fauzaan Date: Mon, 28 Sep 2026 13:01:27 +0000 Subject: [PATCH 14/16] Verify task labels stay visible in mixed layout fixtures --- .../MarkdownHelpersTests/MixedMarkdownLayoutTests.swift | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/tests/swift-tests/Tests/MarkdownHelpersTests/MixedMarkdownLayoutTests.swift b/tests/swift-tests/Tests/MarkdownHelpersTests/MixedMarkdownLayoutTests.swift index 7a6ad1fd..3ece6f0e 100644 --- a/tests/swift-tests/Tests/MarkdownHelpersTests/MixedMarkdownLayoutTests.swift +++ b/tests/swift-tests/Tests/MarkdownHelpersTests/MixedMarkdownLayoutTests.swift @@ -39,7 +39,8 @@ extension EditorPreviewLayoutTests { "Deep bullet", "Nested ordered item", "Nested quotation.", "greeting", "Left cell", "Center cell", "After first mixed image.", "After diagram.", "هذه فقرة عربية لاختبار اتجاه النص والمحاذاة.", "After extra blank lines.", "Final mixed paragraph.", "After equations.", "After alerts.", - "After reference image.", "After raw HTML.", "Final extended paragraph." + "After reference image.", "After raw HTML.", "Final extended paragraph.", + "Unchecked task", "Completed task" ], imageCount: 4, editorImageCount: 2, readSelectors: ["h1": 3, "h2": 4, "h3": 1, "h4": 1, "h5": 1, "h6": 1, "table": 3, "input[type=checkbox]": 2, "input[type=checkbox]:checked": 1, @@ -80,7 +81,7 @@ extension EditorPreviewLayoutTests { "Extended mixed document", "bold introduction", "After equations.", "Note body with", "Tip body.", "Important body.", "Warning body.", "Caution body.", "After alerts.", "After reference image.", "After raw HTML.", "Formatting", "Example", "Inline table styles", "Escaped pipe", "finalValue", - "Final extended paragraph." + "Final extended paragraph.", "Unchecked task", "Completed task" ], imageCount: 2, editorImageCount: 0, readSelectors: [".katex": 3, ".math-error": 0, ".markdown-alert": 5, ".footnotes": 1, "details summary": 1, "p[align=center] img": 1, "table": 2, "input[type=checkbox]": 2], From a24554c082fff9bd1b4d8f37c84996e1d799000a Mon Sep 17 00:00:00 2001 From: Fauzaan Date: Mon, 28 Sep 2026 13:19:16 +0000 Subject: [PATCH 15/16] Preserve active list separators without widening inactive lists --- md-preview/Vendor/CodeMirror/mdedit.min.js | 42 +++++++++++----------- scripts/editor-bundle/entry-cm.js | 17 ++++++--- 2 files changed, 33 insertions(+), 26 deletions(-) diff --git a/md-preview/Vendor/CodeMirror/mdedit.min.js b/md-preview/Vendor/CodeMirror/mdedit.min.js index 58713ccc..5add0f36 100644 --- a/md-preview/Vendor/CodeMirror/mdedit.min.js +++ b/md-preview/Vendor/CodeMirror/mdedit.min.js @@ -1,20 +1,20 @@ -(()=>{var zo=[],Fh=[];(()=>{let i="lc,34,7n,7,7b,19,,,,2,,2,,,20,b,1c,l,g,,2t,7,2,6,2,2,,4,z,,u,r,2j,b,1m,9,9,,o,4,,9,,3,,5,17,3,3b,f,,w,1j,,,,4,8,4,,3,7,a,2,t,,1m,,,,2,4,8,,9,,a,2,q,,2,2,1l,,4,2,4,2,2,3,3,,u,2,3,,b,2,1l,,4,5,,2,4,,k,2,m,6,,,1m,,,2,,4,8,,7,3,a,2,u,,1n,,,,c,,9,,14,,3,,1l,3,5,3,,4,7,2,b,2,t,,1m,,2,,2,,3,,5,2,7,2,b,2,s,2,1l,2,,,2,4,8,,9,,a,2,t,,20,,4,,2,3,,,8,,29,,2,7,c,8,2q,,2,9,b,6,22,2,r,,,,,,1j,e,,5,,2,5,b,,10,9,,2u,4,,6,,2,2,2,p,2,4,3,g,4,d,,2,2,6,,f,,jj,3,qa,3,t,3,t,2,u,2,1s,2,,7,8,,2,b,9,,19,3,3b,2,y,,3a,3,4,2,9,,6,3,63,2,2,,1m,,,7,,,,,2,8,6,a,2,,1c,h,1r,4,1c,7,,,5,,14,9,c,2,w,4,2,2,,3,1k,,,2,3,,,3,1m,8,2,2,48,3,,d,,7,4,,6,,3,2,5i,1m,,5,ek,,5f,x,2da,3,3x,,2o,w,fe,6,2x,2,n9w,4,,a,w,2,28,2,7k,,3,,4,,p,2,5,,47,2,q,i,d,,12,8,p,b,1a,3,1c,,2,4,2,2,13,,1v,6,2,2,2,2,c,,8,,1b,,1f,,,3,2,2,5,2,,,16,2,8,,6m,,2,,4,,fn4,,kh,g,g,g,a6,2,gt,,6a,,45,5,1ae,3,,2,5,4,14,3,4,,4l,2,fx,4,ar,2,49,b,4w,,1i,f,1k,3,1d,4,2,2,1x,3,10,5,,8,1q,,c,2,1g,9,a,4,2,,2n,3,2,,,2,6,,4g,,3,8,l,2,1l,2,,,,,m,,e,7,3,5,5f,8,2,3,,,n,,29,,2,6,,,2,,,2,,2,6j,,2,4,6,2,,2,r,2,2d,8,2,,,2,2y,,,,2,6,,,2t,3,2,4,,5,77,9,,2,6t,,a,2,,,4,,40,4,2,2,4,,w,a,14,6,2,4,8,,9,6,2,3,1a,d,,2,ba,7,,6,,,2a,m,2,7,,2,,2,3e,6,3,,,2,,7,,,20,2,3,,,,9n,2,f0b,5,1n,7,t4,,1r,4,29,,f5k,2,43q,,,3,4,5,8,8,2,7,u,4,44,3,1iz,1j,4,1e,8,,e,,m,5,,f,11s,7,,h,2,7,,2,,5,79,7,c5,4,15s,7,31,7,240,5,gx7k,2o,3k,6o".split(",").map(e=>e?parseInt(e,36):1);for(let e=0,t=0;e>1;if(i=Fh[n])e=n+1;else return!0;if(e==t)return!1}}function Uh(i){return i>=127462&&i<=127487}var Gh=8205;function Hh(i,e,t=!0,n=!0){return(t?Kh:l0)(i,e,n)}function Kh(i,e,t){if(e==i.length)return e;e&&Jh(i.charCodeAt(e))&&ef(i.charCodeAt(e-1))&&e--;let n=qo(i,e);for(e+=Nh(n);e=0&&Uh(qo(i,o));)s++,o-=2;if(s%2==0)break;e+=2}else break}return e}function l0(i,e,t){for(;e>1;){let n=Kh(i,e-2,t);if(n=56320&&i<57344}function ef(i){return i>=55296&&i<56320}function Nh(i){return i<65536?1:2}var J=class i{lineAt(e){if(e<0||e>this.length)throw new RangeError(`Invalid position ${e} in document of length ${this.length}`);return this.lineInner(e,!1,1,0)}line(e){if(e<1||e>this.lines)throw new RangeError(`Invalid line number ${e} in ${this.lines}-line document`);return this.lineInner(e,!0,1,0)}replace(e,t,n){[e,t]=on(this,e,t);let r=[];return this.decompose(0,e,r,2),n.length&&n.decompose(0,n.length,r,3),this.decompose(t,this.length,r,1),nn.from(r,this.length-(t-e)+n.length)}append(e){return this.replace(this.length,this.length,e)}slice(e,t=this.length){[e,t]=on(this,e,t);let n=[];return this.decompose(e,t,n,0),nn.from(n,t-e)}eq(e){if(e==this)return!0;if(e.length!=this.length||e.lines!=this.lines)return!1;let t=this.scanIdentical(e,1),n=this.length-this.scanIdentical(e,-1),r=new Xi(this),s=new Xi(e);for(let o=t,a=t;;){if(r.next(o),s.next(o),o=0,r.lineBreak!=s.lineBreak||r.done!=s.done||r.value!=s.value)return!1;if(a+=r.value.length,r.done||a>=n)return!0}}iter(e=1){return new Xi(this,e)}iterRange(e,t=this.length){return new Br(this,e,t)}iterLines(e,t){let n;if(e==null)n=this.iter();else{t==null&&(t=this.lines+1);let r=this.line(e).from;n=this.iterRange(r,Math.max(r,t==this.lines+1?this.length:t<=1?0:this.line(t-1).to))}return new Ur(n)}toString(){return this.sliceString(0)}toJSON(){let e=[];return this.flatten(e),e}constructor(){}static of(e){if(e.length==0)throw new RangeError("A document must have at least one line");return e.length==1&&!e[0]?i.empty:e.length<=32?new Fe(e):nn.from(Fe.split(e,[]))}},Fe=class i extends J{constructor(e,t=c0(e)){super(),this.text=e,this.length=t}get lines(){return this.text.length}get children(){return null}lineInner(e,t,n,r){for(let s=0;;s++){let o=this.text[s],a=r+o.length;if((t?n:a)>=e)return new Mo(r,a,n,o);r=a+1,n++}}decompose(e,t,n,r){let s=e<=0&&t>=this.length?this:new i(tf(this.text,e,t),Math.min(t,this.length)-Math.max(0,e));if(r&1){let o=n.pop(),a=Ir(s.text,o.text.slice(),0,s.length);if(a.length<=32)n.push(new i(a,o.length+s.length));else{let l=a.length>>1;n.push(new i(a.slice(0,l)),new i(a.slice(l)))}}else n.push(s)}replace(e,t,n){if(!(n instanceof i))return super.replace(e,t,n);[e,t]=on(this,e,t);let r=Ir(this.text,Ir(n.text,tf(this.text,0,e)),t),s=this.length+n.length-(t-e);return r.length<=32?new i(r,s):nn.from(i.split(r,[]),s)}sliceString(e,t=this.length,n=` +(()=>{var Lo=[],Fh=[];(()=>{let i="lc,34,7n,7,7b,19,,,,2,,2,,,20,b,1c,l,g,,2t,7,2,6,2,2,,4,z,,u,r,2j,b,1m,9,9,,o,4,,9,,3,,5,17,3,3b,f,,w,1j,,,,4,8,4,,3,7,a,2,t,,1m,,,,2,4,8,,9,,a,2,q,,2,2,1l,,4,2,4,2,2,3,3,,u,2,3,,b,2,1l,,4,5,,2,4,,k,2,m,6,,,1m,,,2,,4,8,,7,3,a,2,u,,1n,,,,c,,9,,14,,3,,1l,3,5,3,,4,7,2,b,2,t,,1m,,2,,2,,3,,5,2,7,2,b,2,s,2,1l,2,,,2,4,8,,9,,a,2,t,,20,,4,,2,3,,,8,,29,,2,7,c,8,2q,,2,9,b,6,22,2,r,,,,,,1j,e,,5,,2,5,b,,10,9,,2u,4,,6,,2,2,2,p,2,4,3,g,4,d,,2,2,6,,f,,jj,3,qa,3,t,3,t,2,u,2,1s,2,,7,8,,2,b,9,,19,3,3b,2,y,,3a,3,4,2,9,,6,3,63,2,2,,1m,,,7,,,,,2,8,6,a,2,,1c,h,1r,4,1c,7,,,5,,14,9,c,2,w,4,2,2,,3,1k,,,2,3,,,3,1m,8,2,2,48,3,,d,,7,4,,6,,3,2,5i,1m,,5,ek,,5f,x,2da,3,3x,,2o,w,fe,6,2x,2,n9w,4,,a,w,2,28,2,7k,,3,,4,,p,2,5,,47,2,q,i,d,,12,8,p,b,1a,3,1c,,2,4,2,2,13,,1v,6,2,2,2,2,c,,8,,1b,,1f,,,3,2,2,5,2,,,16,2,8,,6m,,2,,4,,fn4,,kh,g,g,g,a6,2,gt,,6a,,45,5,1ae,3,,2,5,4,14,3,4,,4l,2,fx,4,ar,2,49,b,4w,,1i,f,1k,3,1d,4,2,2,1x,3,10,5,,8,1q,,c,2,1g,9,a,4,2,,2n,3,2,,,2,6,,4g,,3,8,l,2,1l,2,,,,,m,,e,7,3,5,5f,8,2,3,,,n,,29,,2,6,,,2,,,2,,2,6j,,2,4,6,2,,2,r,2,2d,8,2,,,2,2y,,,,2,6,,,2t,3,2,4,,5,77,9,,2,6t,,a,2,,,4,,40,4,2,2,4,,w,a,14,6,2,4,8,,9,6,2,3,1a,d,,2,ba,7,,6,,,2a,m,2,7,,2,,2,3e,6,3,,,2,,7,,,20,2,3,,,,9n,2,f0b,5,1n,7,t4,,1r,4,29,,f5k,2,43q,,,3,4,5,8,8,2,7,u,4,44,3,1iz,1j,4,1e,8,,e,,m,5,,f,11s,7,,h,2,7,,2,,5,79,7,c5,4,15s,7,31,7,240,5,gx7k,2o,3k,6o".split(",").map(e=>e?parseInt(e,36):1);for(let e=0,t=0;e>1;if(i=Fh[n])e=n+1;else return!0;if(e==t)return!1}}function Uh(i){return i>=127462&&i<=127487}var Gh=8205;function Hh(i,e,t=!0,n=!0){return(t?Kh:l0)(i,e,n)}function Kh(i,e,t){if(e==i.length)return e;e&&Jh(i.charCodeAt(e))&&ef(i.charCodeAt(e-1))&&e--;let n=zo(i,e);for(e+=Nh(n);e=0&&Uh(zo(i,o));)s++,o-=2;if(s%2==0)break;e+=2}else break}return e}function l0(i,e,t){for(;e>1;){let n=Kh(i,e-2,t);if(n=56320&&i<57344}function ef(i){return i>=55296&&i<56320}function Nh(i){return i<65536?1:2}var J=class i{lineAt(e){if(e<0||e>this.length)throw new RangeError(`Invalid position ${e} in document of length ${this.length}`);return this.lineInner(e,!1,1,0)}line(e){if(e<1||e>this.lines)throw new RangeError(`Invalid line number ${e} in ${this.lines}-line document`);return this.lineInner(e,!0,1,0)}replace(e,t,n){[e,t]=on(this,e,t);let r=[];return this.decompose(0,e,r,2),n.length&&n.decompose(0,n.length,r,3),this.decompose(t,this.length,r,1),nn.from(r,this.length-(t-e)+n.length)}append(e){return this.replace(this.length,this.length,e)}slice(e,t=this.length){[e,t]=on(this,e,t);let n=[];return this.decompose(e,t,n,0),nn.from(n,t-e)}eq(e){if(e==this)return!0;if(e.length!=this.length||e.lines!=this.lines)return!1;let t=this.scanIdentical(e,1),n=this.length-this.scanIdentical(e,-1),r=new Xi(this),s=new Xi(e);for(let o=t,a=t;;){if(r.next(o),s.next(o),o=0,r.lineBreak!=s.lineBreak||r.done!=s.done||r.value!=s.value)return!1;if(a+=r.value.length,r.done||a>=n)return!0}}iter(e=1){return new Xi(this,e)}iterRange(e,t=this.length){return new Br(this,e,t)}iterLines(e,t){let n;if(e==null)n=this.iter();else{t==null&&(t=this.lines+1);let r=this.line(e).from;n=this.iterRange(r,Math.max(r,t==this.lines+1?this.length:t<=1?0:this.line(t-1).to))}return new Ur(n)}toString(){return this.sliceString(0)}toJSON(){let e=[];return this.flatten(e),e}constructor(){}static of(e){if(e.length==0)throw new RangeError("A document must have at least one line");return e.length==1&&!e[0]?i.empty:e.length<=32?new He(e):nn.from(He.split(e,[]))}},He=class i extends J{constructor(e,t=c0(e)){super(),this.text=e,this.length=t}get lines(){return this.text.length}get children(){return null}lineInner(e,t,n,r){for(let s=0;;s++){let o=this.text[s],a=r+o.length;if((t?n:a)>=e)return new Wo(r,a,n,o);r=a+1,n++}}decompose(e,t,n,r){let s=e<=0&&t>=this.length?this:new i(tf(this.text,e,t),Math.min(t,this.length)-Math.max(0,e));if(r&1){let o=n.pop(),a=Ir(s.text,o.text.slice(),0,s.length);if(a.length<=32)n.push(new i(a,o.length+s.length));else{let l=a.length>>1;n.push(new i(a.slice(0,l)),new i(a.slice(l)))}}else n.push(s)}replace(e,t,n){if(!(n instanceof i))return super.replace(e,t,n);[e,t]=on(this,e,t);let r=Ir(this.text,Ir(n.text,tf(this.text,0,e)),t),s=this.length+n.length-(t-e);return r.length<=32?new i(r,s):nn.from(i.split(r,[]),s)}sliceString(e,t=this.length,n=` `){[e,t]=on(this,e,t);let r="";for(let s=0,o=0;s<=t&&oe&&o&&(r+=n),es&&(r+=a.slice(Math.max(0,e-s),t-s)),s=l+1}return r}flatten(e){for(let t of this.text)e.push(t)}scanIdentical(){return 0}static split(e,t){let n=[],r=-1;for(let s of e)n.push(s),r+=s.length+1,n.length==32&&(t.push(new i(n,r)),n=[],r=-1);return r>-1&&t.push(new i(n,r)),t}},nn=class i extends J{constructor(e,t){super(),this.children=e,this.length=t,this.lines=0;for(let n of e)this.lines+=n.lines}lineInner(e,t,n,r){for(let s=0;;s++){let o=this.children[s],a=r+o.length,l=n+o.lines-1;if((t?l:a)>=e)return o.lineInner(e,t,n,r);r=a+1,n=l+1}}decompose(e,t,n,r){for(let s=0,o=0;o<=t&&s=o){let c=r&((o<=e?1:0)|(l>=t?2:0));o>=e&&l<=t&&!c?n.push(a):a.decompose(e-o,t-o,n,c)}o=l+1}}replace(e,t,n){if([e,t]=on(this,e,t),n.lines=s&&t<=a){let l=o.replace(e-s,t-s,n),c=this.lines-o.lines+l.lines;if(l.lines>4&&l.lines>c>>6){let h=this.children.slice();return h[r]=l,new i(h,this.length-(t-e)+n.length)}return super.replace(s,a,l)}s=a+1}return super.replace(e,t,n)}sliceString(e,t=this.length,n=` -`){[e,t]=on(this,e,t);let r="";for(let s=0,o=0;se&&s&&(r+=n),eo&&(r+=a.sliceString(e-o,t-o,n)),o=l+1}return r}flatten(e){for(let t of this.children)t.flatten(e)}scanIdentical(e,t){if(!(e instanceof i))return 0;let n=0,[r,s,o,a]=t>0?[0,0,this.children.length,e.children.length]:[this.children.length-1,e.children.length-1,-1,-1];for(;;r+=t,s+=t){if(r==o||s==a)return n;let l=this.children[r],c=e.children[s];if(l!=c)return n+l.scanIdentical(c,t);n+=l.length+1}}static from(e,t=e.reduce((n,r)=>n+r.length+1,-1)){let n=0;for(let O of e)n+=O.lines;if(n<32){let O=[];for(let m of e)m.flatten(O);return new Fe(O,t)}let r=Math.max(32,n>>5),s=r<<1,o=r>>1,a=[],l=0,c=-1,h=[];function f(O){let m;if(O.lines>s&&O instanceof i)for(let p of O.children)f(p);else O.lines>o&&(l>o||!l)?(u(),a.push(O)):O instanceof Fe&&l&&(m=h[h.length-1])instanceof Fe&&O.lines+m.lines<=32?(l+=O.lines,c+=O.length+1,h[h.length-1]=new Fe(m.text.concat(O.text),m.length+1+O.length)):(l+O.lines>r&&u(),l+=O.lines,c+=O.length+1,h.push(O))}function u(){l!=0&&(a.push(h.length==1?h[0]:i.from(h,c)),c=-1,l=h.length=0)}for(let O of e)f(O);return u(),a.length==1?a[0]:new i(a,t)}};J.empty=new Fe([""],0);function c0(i){let e=-1;for(let t of i)e+=t.length+1;return e}function Ir(i,e,t=0,n=1e9){for(let r=0,s=0,o=!0;s=t&&(l>n&&(a=a.slice(0,n-r)),r0?1:(e instanceof Fe?e.text.length:e.children.length)<<1]}nextInner(e,t){for(this.done=this.lineBreak=!1;;){let n=this.nodes.length-1,r=this.nodes[n],s=this.offsets[n],o=s>>1,a=r instanceof Fe?r.text.length:r.children.length;if(o==(t>0?a:0)){if(n==0)return this.done=!0,this.value="",this;t>0&&this.offsets[n-1]++,this.nodes.pop(),this.offsets.pop()}else if((s&1)==(t>0?0:1)){if(this.offsets[n]+=t,e==0)return this.lineBreak=!0,this.value=` -`,this;e--}else if(r instanceof Fe){let l=r.text[o+(t<0?-1:0)];if(this.offsets[n]+=t,l.length>Math.max(0,e))return this.value=e==0?l:t>0?l.slice(e):l.slice(0,l.length-e),this;e-=l.length}else{let l=r.children[o+(t<0?-1:0)];e>l.length?(e-=l.length,this.offsets[n]+=t):(t<0&&this.offsets[n]--,this.nodes.push(l),this.offsets.push(t>0?1:(l instanceof Fe?l.text.length:l.children.length)<<1))}}}next(e=0){return e<0&&(this.nextInner(-e,-this.dir),e=this.value.length),this.nextInner(e,this.dir)}},Br=class{constructor(e,t,n){this.value="",this.done=!1,this.cursor=new Xi(e,t>n?-1:1),this.pos=t>n?e.length:0,this.from=Math.min(t,n),this.to=Math.max(t,n)}nextInner(e,t){if(t<0?this.pos<=this.from:this.pos>=this.to)return this.value="",this.done=!0,this;e+=Math.max(0,t<0?this.pos-this.to:this.from-this.pos);let n=t<0?this.pos-this.from:this.to-this.pos;e>n&&(e=n),n-=e;let{value:r}=this.cursor.next(e);return this.pos+=(r.length+e)*t,this.value=r.length<=n?r:t<0?r.slice(r.length-n):r.slice(0,n),this.done=!this.value,this}next(e=0){return e<0?e=Math.max(e,this.from-this.pos):e>0&&(e=Math.min(e,this.to-this.pos)),this.nextInner(e,this.cursor.dir)}get lineBreak(){return this.cursor.lineBreak&&this.value!=""}},Ur=class{constructor(e){this.inner=e,this.afterBreak=!0,this.value="",this.done=!1}next(e=0){let{done:t,lineBreak:n,value:r}=this.inner.next(e);return t&&this.afterBreak?(this.value="",this.afterBreak=!1):t?(this.done=!0,this.value=""):n?this.afterBreak?this.value="":(this.afterBreak=!0,this.next()):(this.value=r,this.afterBreak=!1),this}get lineBreak(){return!1}};typeof Symbol<"u"&&(J.prototype[Symbol.iterator]=function(){return this.iter()},Xi.prototype[Symbol.iterator]=Br.prototype[Symbol.iterator]=Ur.prototype[Symbol.iterator]=function(){return this});var Mo=class{constructor(e,t,n,r){this.from=e,this.to=t,this.number=n,this.text=r}get length(){return this.to-this.from}};function on(i,e,t){return e=Math.max(0,Math.min(i.length,e)),[e,Math.max(e,Math.min(i.length,t))]}function xe(i,e,t=!0,n=!0){return Hh(i,e,t,n)}function h0(i){return i>=56320&&i<57344}function f0(i){return i>=55296&&i<56320}function oi(i,e){let t=i.charCodeAt(e);if(!f0(t)||e+1==i.length)return t;let n=i.charCodeAt(e+1);return h0(n)?(t-55296<<10)+(n-56320)+65536:t}function af(i){return i<=65535?String.fromCharCode(i):(i-=65536,String.fromCharCode((i>>10)+55296,(i&1023)+56320))}function an(i){return i<65536?1:2}var Wo=/\r\n?|\n/,ge=(function(i){return i[i.Simple=0]="Simple",i[i.TrackDel=1]="TrackDel",i[i.TrackBefore=2]="TrackBefore",i[i.TrackAfter=3]="TrackAfter",i})(ge||(ge={})),Mt=class i{constructor(e){this.sections=e}get length(){let e=0;for(let t=0;te)return s+(e-r);s+=a}else{if(n!=ge.Simple&&c>=e&&(n==ge.TrackDel&&re||n==ge.TrackBefore&&re))return null;if(c>e||c==e&&t<0&&!a)return e==r||t<0?s:s+l;s+=l}r=c}if(e>r)throw new RangeError(`Position ${e} is out of range for changeset of length ${r}`);return s}touchesRange(e,t=e){for(let n=0,r=0;n=0&&r<=t&&a>=e)return rt?"cover":!0;r=a}return!1}toString(){let e="";for(let t=0;t=0?":"+r:"")}return e}toJSON(){return this.sections}static fromJSON(e){if(!Array.isArray(e)||e.length%2||e.some(t=>typeof t!="number"))throw new RangeError("Invalid JSON representation of ChangeDesc");return new i(e)}static create(e){return new i(e)}},ze=class i extends Mt{constructor(e,t){super(e),this.inserted=t}apply(e){if(this.length!=e.length)throw new RangeError("Applying change set to a document with the wrong length");return jo(this,(t,n,r,s,o)=>e=e.replace(r,r+(n-t),o),!1),e}mapDesc(e,t=!1){return Vo(this,e,t,!0)}invert(e){let t=this.sections.slice(),n=[];for(let r=0,s=0;r=0){t[r]=a,t[r+1]=o;let l=r>>1;for(;n.length0&&si(n,t,s.text),s.forward(h),a+=h}let c=e[o++];for(;a>1].toJSON()))}return e}static of(e,t,n){let r=[],s=[],o=0,a=null;function l(h=!1){if(!h&&!r.length)return;ou||f<0||u>t)throw new RangeError(`Invalid change range ${f} to ${u} (in doc of length ${t})`);let m=O?typeof O=="string"?J.of(O.split(n||Wo)):O:J.empty,p=m.length;if(f==u&&p==0)return;fo&&Ae(r,f-o,-1),Ae(r,u-f,p),si(s,r,m),o=u}}return c(e),l(!a),a}static empty(e){return new i(e?[e,-1]:[],[])}static fromJSON(e){if(!Array.isArray(e))throw new RangeError("Invalid JSON representation of ChangeSet");let t=[],n=[];for(let r=0;ra&&typeof o!="string"))throw new RangeError("Invalid JSON representation of ChangeSet");if(s.length==1)t.push(s[0],0);else{for(;n.length=0&&t<=0&&t==i[r+1]?i[r]+=e:r>=0&&e==0&&i[r]==0?i[r+1]+=t:n?(i[r]+=e,i[r+1]+=t):i.push(e,t)}function si(i,e,t){if(t.length==0)return;let n=e.length-2>>1;if(n>1])),!(t||o==i.sections.length||i.sections[o+1]<0);)a=i.sections[o++],l=i.sections[o++];e(r,c,s,h,f),r=c,s=h}}}function Vo(i,e,t,n=!1){let r=[],s=n?[]:null,o=new _i(i),a=new _i(e);for(let l=-1;;){if(o.done&&a.len||a.done&&o.len)throw new Error("Mismatched change set lengths");if(o.ins==-1&&a.ins==-1){let c=Math.min(o.len,a.len);Ae(r,c,-1),o.forward(c),a.forward(c)}else if(a.ins>=0&&(o.ins<0||l==o.i||o.off==0&&(a.len=0&&l=0){let c=0,h=o.len;for(;h;)if(a.ins==-1){let f=Math.min(h,a.len);c+=f,h-=f,a.forward(f)}else if(a.ins==0&&a.lenl||o.ins>=0&&o.len>l)&&(a||n.length>c),s.forward2(l),o.forward(l)}}}}var _i=class{constructor(e){this.set=e,this.i=0,this.next()}next(){let{sections:e}=this.set;this.i>1;return t>=e.length?J.empty:e[t]}textBit(e){let{inserted:t}=this.set,n=this.i-2>>1;return n>=t.length&&!e?J.empty:t[n].slice(this.off,e==null?void 0:this.off+e)}forward(e){e==this.len?this.next():(this.len-=e,this.off+=e)}forward2(e){this.ins==-1?this.forward(e):e==this.ins?this.next():(this.ins-=e,this.off+=e)}},$i=class i{constructor(e,t,n,r){this.from=e,this.to=t,this.flags=n,this.goalColumn=r}get anchor(){return this.flags&32?this.to:this.from}get head(){return this.flags&32?this.from:this.to}get empty(){return this.from==this.to}get assoc(){return this.flags&8?-1:this.flags&16?1:0}get undirectional(){return(this.flags&64)>0}get bidiLevel(){let e=this.flags&7;return e==7?null:e}map(e,t=-1){let n,r;return this.empty?n=r=e.mapPos(this.from,t):(n=e.mapPos(this.from,1),r=e.mapPos(this.to,-1)),n==this.from&&r==this.to?this:new i(n,r,this.flags,this.goalColumn)}extend(e,t=e,n=0){if(e<=this.anchor&&t>=this.anchor)return v.range(e,t,void 0,void 0,n);let r=Math.abs(e-this.anchor)>Math.abs(t-this.anchor)?e:t;return v.range(this.anchor,r,void 0,void 0,n)}eq(e,t=!1){return this.anchor==e.anchor&&this.head==e.head&&this.goalColumn==e.goalColumn&&(!t||!this.empty||this.assoc==e.assoc)}toJSON(){return{anchor:this.anchor,head:this.head}}static fromJSON(e){if(!e||typeof e.anchor!="number"||typeof e.head!="number")throw new RangeError("Invalid JSON representation for SelectionRange");return v.range(e.anchor,e.head)}static create(e,t,n,r){return new i(e,t,n,r)}},v=class i{constructor(e,t){this.ranges=e,this.mainIndex=t}map(e,t=-1){return e.empty?this:i.create(this.ranges.map(n=>n.map(e,t)),this.mainIndex)}eq(e,t=!1){if(this.ranges.length!=e.ranges.length||this.mainIndex!=e.mainIndex)return!1;for(let n=0;ne.toJSON()),main:this.mainIndex}}static fromJSON(e){if(!e||!Array.isArray(e.ranges)||typeof e.main!="number"||e.main>=e.ranges.length)throw new RangeError("Invalid JSON representation for EditorSelection");return new i(e.ranges.map(t=>$i.fromJSON(t)),e.main)}static single(e,t=e){return new i([i.range(e,t)],0)}static create(e,t=0){if(e.length==0)throw new RangeError("A selection needs at least one range");for(let n=0,r=0;rr.from-s.from),t=e.indexOf(n);for(let r=1;rs.head?i.range(l,a):i.range(a,l))}}return new i(e,t)}};function cf(i,e){for(let t of i.ranges)if(t.to>e)throw new RangeError("Selection points outside of document")}var Ko=0,Y=class i{constructor(e,t,n,r,s){this.combine=e,this.compareInput=t,this.compare=n,this.isStatic=r,this.id=Ko++,this.default=e([]),this.extensions=typeof s=="function"?s(this):s}get reader(){return this}static define(e={}){return new i(e.combine||(t=>t),e.compareInput||((t,n)=>t===n),e.compare||(e.combine?(t,n)=>t===n:Jo),!!e.static,e.enables)}of(e){return new rn([],this,0,e)}compute(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new rn(e,this,1,t)}computeN(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new rn(e,this,2,t)}from(e,t){return t||(t=n=>n),this.compute([e],n=>t(n.field(e)))}};function Jo(i,e){return i==e||i.length==e.length&&i.every((t,n)=>t===e[n])}var rn=class{constructor(e,t,n,r){this.dependencies=e,this.facet=t,this.type=n,this.value=r,this.id=Ko++}dynamicSlot(e){var t;let n=this.value,r=this.facet.compareInput,s=this.id,o=e[s]>>1,a=this.type==2,l=!1,c=!1,h=[];for(let f of this.dependencies)f=="doc"?l=!0:f=="selection"?c=!0:(((t=e[f.id])!==null&&t!==void 0?t:1)&1)==0&&h.push(e[f.id]);return{create(f){return f.values[o]=n(f),1},update(f,u){if(l&&u.docChanged||c&&(u.docChanged||u.selection)||Do(f,h)){let O=n(f);if(a?!nf(O,f.values[o],r):!r(O,f.values[o]))return f.values[o]=O,1}return 0},reconfigure:(f,u)=>{let O,m=u.config.address[s];if(m!=null){let p=Hr(u,m);if(this.dependencies.every(b=>b instanceof Y?u.facet(b)===f.facet(b):b instanceof fe?u.field(b,!1)==f.field(b,!1):!0)||(a?nf(O=n(f),p,r):r(O=n(f),p)))return f.values[o]=p,0}else O=n(f);return f.values[o]=O,1}}}get extension(){return this}};function nf(i,e,t){if(i.length!=e.length)return!1;for(let n=0;ni[l.id]),r=t.map(l=>l.type),s=n.filter(l=>!(l&1)),o=i[e.id]>>1;function a(l){let c=[];for(let h=0;hn===r),e);return e.provide&&(t.provides=e.provide(t)),t}create(e){let t=e.facet(Vr).find(n=>n.field==this);return(t?.create||this.createF)(e)}slot(e){let t=e[this.id]>>1;return{create:n=>(n.values[t]=this.create(n),1),update:(n,r)=>{let s=n.values[t],o=this.updateF(s,r);return this.compareF(s,o)?0:(n.values[t]=o,1)},reconfigure:(n,r)=>{let s=n.facet(Vr),o=r.facet(Vr),a;return(a=s.find(l=>l.field==this))&&a!=o.find(l=>l.field==this)?(n.values[t]=a.create(n),1):r.config.address[this.id]!=null?(n.values[t]=r.field(this),0):(n.values[t]=this.create(n),1)}}}init(e){return[this,Vr.of({field:this,create:e})]}get extension(){return this}},Ti={lowest:4,low:3,default:2,high:1,highest:0};function Wn(i){return e=>new Gr(e,i)}var ot={highest:Wn(Ti.highest),high:Wn(Ti.high),default:Wn(Ti.default),low:Wn(Ti.low),lowest:Wn(Ti.lowest)},Gr=class{constructor(e,t){this.inner=e,this.prec=t}get extension(){return this}},Nr=class i{of(e){return new Vn(this,e)}reconfigure(e){return i.reconfigure.of({compartment:this,extension:e})}get(e){return e.config.compartments.get(this)}},Vn=class{constructor(e,t){this.compartment=e,this.inner=t}get extension(){return this}},Fr=class i{constructor(e,t,n,r,s,o){for(this.base=e,this.compartments=t,this.dynamicSlots=n,this.address=r,this.staticValues=s,this.facets=o,this.statusTemplate=[];this.statusTemplate.length>1]}static resolve(e,t,n){let r=[],s=Object.create(null),o=new Map;for(let u of O0(e,t,o))u instanceof fe?r.push(u):(s[u.facet.id]||(s[u.facet.id]=[])).push(u);let a=Object.create(null),l=[],c=[];for(let u of r)a[u.id]=c.length<<1,c.push(O=>u.slot(O));let h=n?.config.facets;for(let u in s){let O=s[u],m=O[0].facet,p=h&&h[u]||[];if(O.every(b=>b.type==0))if(a[m.id]=l.length<<1|1,Jo(p,O))l.push(n.facet(m));else{let b=m.combine(O.map(g=>g.value));l.push(n&&m.compare(b,n.facet(m))?n.facet(m):b)}else{for(let b of O)b.type==0?(a[b.id]=l.length<<1|1,l.push(b.value)):(a[b.id]=c.length<<1,c.push(g=>b.dynamicSlot(g)));a[m.id]=c.length<<1,c.push(b=>u0(b,m,O))}}let f=c.map(u=>u(a));return new i(e,o,f,a,l,s)}};function O0(i,e,t){let n=[[],[],[],[],[]],r=new Map;function s(o,a){let l=r.get(o);if(l!=null){if(l<=a)return;let c=n[l].indexOf(o);c>-1&&n[l].splice(c,1),o instanceof Vn&&t.delete(o.compartment)}if(r.set(o,a),Array.isArray(o))for(let c of o)s(c,a);else if(o instanceof Vn){if(t.has(o.compartment))throw new RangeError("Duplicate use of compartment in extensions");let c=e.get(o.compartment)||o.inner;t.set(o.compartment,c),s(c,a)}else if(o instanceof Gr)s(o.inner,o.prec);else if(o instanceof fe)n[a].push(o),o.provides&&s(o.provides,a);else if(o instanceof rn)n[a].push(o),o.facet.extensions&&s(o.facet.extensions,Ti.default);else{let c=o.extension;if(!c)throw new Error(`Unrecognized extension value in extension set (${o}).`);if(c==o)throw new Error(`Unrecognized extension value in extension set (${o}). This sometimes happens because multiple instances of @codemirror/state are loaded, breaking instanceof checks.`);s(c,a)}}return s(i,Ti.default),n.reduce((o,a)=>o.concat(a))}function jn(i,e){if(e&1)return 2;let t=e>>1,n=i.status[t];if(n==4)throw new Error("Cyclic dependency between fields and/or facets");if(n&2)return n;i.status[t]=4;let r=i.computeSlot(i,i.config.dynamicSlots[t]);return i.status[t]=2|r}function Hr(i,e){return e&1?i.config.staticValues[e>>1]:i.values[e>>1]}var hf=Y.define(),Yo=Y.define({combine:i=>i.some(e=>e),static:!0}),ff=Y.define({combine:i=>i.length?i[0]:void 0,static:!0}),uf=Y.define(),Of=Y.define(),df=Y.define(),pf=Y.define({combine:i=>i.length?i[0]:!1}),Te=class{constructor(e,t){this.type=e,this.value=t}static define(){return new Io}},Io=class{of(e){return new Te(this,e)}},Bo=class{constructor(e){this.map=e}of(e){return new ie(this,e)}},ie=class i{constructor(e,t){this.type=e,this.value=t}map(e){let t=this.type.map(this.value,e);return t===void 0?void 0:t==this.value?this:new i(this.type,t)}is(e){return this.type==e}static define(e={}){return new Bo(e.map||(t=>t))}static mapEffects(e,t){if(!e.length)return e;let n=[];for(let r of e){let s=r.map(t);s&&n.push(s)}return n}};ie.reconfigure=ie.define();ie.appendConfig=ie.define();var pe=class i{constructor(e,t,n,r,s,o){this.startState=e,this.changes=t,this.selection=n,this.effects=r,this.annotations=s,this.scrollIntoView=o,this._doc=null,this._state=null,n&&cf(n,t.newLength),s.some(a=>a.type==i.time)||(this.annotations=s.concat(i.time.of(Date.now())))}static create(e,t,n,r,s,o){return new i(e,t,n,r,s,o)}get newDoc(){return this._doc||(this._doc=this.changes.apply(this.startState.doc))}get newSelection(){return this.selection||this.startState.selection.map(this.changes)}get state(){return this._state||this.startState.applyTransaction(this),this._state}annotation(e){for(let t of this.annotations)if(t.type==e)return t.value}get docChanged(){return!this.changes.empty}get reconfigured(){return this.startState.config!=this.state.config}isUserEvent(e){let t=this.annotation(i.userEvent);return!!(t&&(t==e||t.length>e.length&&t.slice(0,e.length)==e&&t[e.length]=="."))}};pe.time=Te.define();pe.userEvent=Te.define();pe.addToHistory=Te.define();pe.remote=Te.define();function d0(i,e){let t=[];for(let n=0,r=0;;){let s,o;if(n=i[n]))s=i[n++],o=i[n++];else if(r=0;r--){let s=n[r](i);s instanceof pe?i=s:Array.isArray(s)&&s.length==1&&s[0]instanceof pe?i=s[0]:i=gf(e,sn(s),!1)}return i}function m0(i){let e=i.startState,t=e.facet(df),n=i;for(let r=t.length-1;r>=0;r--){let s=t[r](i);s&&Object.keys(s).length&&(n=mf(n,Uo(e,s,i.changes.newLength),!0))}return n==i?i:pe.create(e,i.changes,i.selection,n.effects,n.annotations,n.scrollIntoView)}var g0=[];function sn(i){return i==null?g0:Array.isArray(i)?i:[i]}var qe=(function(i){return i[i.Word=0]="Word",i[i.Space=1]="Space",i[i.Other=2]="Other",i})(qe||(qe={})),Q0=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/,Go;try{Go=new RegExp("[\\p{Alphabetic}\\p{Number}_]","u")}catch{}function b0(i){if(Go)return Go.test(i);for(let e=0;e"\x80"&&(t.toUpperCase()!=t.toLowerCase()||Q0.test(t)))return!0}return!1}function S0(i){return e=>{if(!/\S/.test(e))return qe.Space;if(b0(e))return qe.Word;for(let t=0;t-1)return qe.Word;return qe.Other}}var se=class i{constructor(e,t,n,r,s,o){this.config=e,this.doc=t,this.selection=n,this.values=r,this.status=e.statusTemplate.slice(),this.computeSlot=s,o&&(o._state=this);for(let a=0;ar.set(c,l)),t=null),r.set(a.value.compartment,a.value.extension)):a.is(ie.reconfigure)?(t=null,n=a.value):a.is(ie.appendConfig)&&(t=null,n=sn(n).concat(a.value));let s;t?s=e.startState.values.slice():(t=Fr.resolve(n,r,this),s=new i(t,this.doc,this.selection,t.dynamicSlots.map(()=>null),(l,c)=>c.reconfigure(l,this),null).values);let o=e.startState.facet(Yo)?e.newSelection:e.newSelection.asSingle();new i(t,e.newDoc,o,s,(a,l)=>l.update(a,e),e)}replaceSelection(e){return typeof e=="string"&&(e=this.toText(e)),this.changeByRange(t=>({changes:{from:t.from,to:t.to,insert:e},range:v.cursor(t.from+e.length)}))}changeByRange(e){let t=this.selection,n=e(t.ranges[0]),r=this.changes(n.changes),s=[n.range],o=sn(n.effects);for(let a=1;ao.spec.fromJSON(a,l)))}}return i.create({doc:e.doc,selection:v.fromJSON(e.selection),extensions:t.extensions?r.concat([t.extensions]):r})}static create(e={}){let t=Fr.resolve(e.extensions||[],new Map),n=e.doc instanceof J?e.doc:J.of((e.doc||"").split(t.staticFacet(i.lineSeparator)||Wo)),r=e.selection?e.selection instanceof v?e.selection:v.single(e.selection.anchor,e.selection.head):v.single(0);return cf(r,n.length),t.staticFacet(Yo)||(r=r.asSingle()),new i(t,n,r,t.dynamicSlots.map(()=>null),(s,o)=>o.create(s),null)}get tabSize(){return this.facet(i.tabSize)}get lineBreak(){return this.facet(i.lineSeparator)||` -`}get readOnly(){return this.facet(pf)}phrase(e,...t){for(let n of this.facet(i.phrases))if(Object.prototype.hasOwnProperty.call(n,e)){e=n[e];break}return t.length&&(e=e.replace(/\$(\$|\d*)/g,(n,r)=>{if(r=="$")return"$";let s=+(r||1);return!s||s>t.length?n:t[s-1]})),e}languageDataAt(e,t,n=-1){let r=[];for(let s of this.facet(hf))for(let o of s(this,t,n))Object.prototype.hasOwnProperty.call(o,e)&&r.push(o[e]);return r}charCategorizer(e){let t=this.languageDataAt("wordChars",e);return S0(t.length?t[0]:"")}wordAt(e){let{text:t,from:n,length:r}=this.doc.lineAt(e),s=this.charCategorizer(e),o=e-n,a=e-n;for(;o>0;){let l=xe(t,o,!1);if(s(t.slice(l,o))!=qe.Word)break;o=l}for(;ai.length?i[0]:4});se.lineSeparator=ff;se.readOnly=pf;se.phrases=Y.define({compare(i,e){let t=Object.keys(i),n=Object.keys(e);return t.length==n.length&&t.every(r=>i[r]==e[r])}});se.languageData=hf;se.changeFilter=uf;se.transactionFilter=Of;se.transactionExtender=df;Nr.reconfigure=ie.define();function In(i,e,t={}){let n={};for(let r of i)for(let s of Object.keys(r)){let o=r[s],a=n[s];if(a===void 0)n[s]=o;else if(!(a===o||o===void 0))if(Object.hasOwnProperty.call(t,s))n[s]=t[s](a,o);else throw new Error("Config merge conflict for field "+s)}for(let r in e)n[r]===void 0&&(n[r]=e[r]);return n}var st=class{eq(e){return this==e}range(e,t=e){return Dn.create(e,t,this)}};st.prototype.startSide=st.prototype.endSide=0;st.prototype.point=!1;st.prototype.mapMode=ge.TrackDel;function ea(i,e){return i==e||i.constructor==e.constructor&&i.eq(e)}var Dn=class i{constructor(e,t,n){this.from=e,this.to=t,this.value=n}static create(e,t,n){return new i(e,t,n)}};function No(i,e){return i.from-e.from||i.value.startSide-e.value.startSide}var Fo=class i{constructor(e,t,n,r){this.from=e,this.to=t,this.value=n,this.maxPoint=r}get length(){return this.to[this.to.length-1]}findIndex(e,t,n,r=0){let s=n?this.to:this.from;for(let o=r,a=s.length;;){if(o==a)return o;let l=o+a>>1,c=s[l]-e||(n?this.value[l].endSide:this.value[l].startSide)-t;if(l==o)return c>=0?o:a;c>=0?a=l:o=l+1}}between(e,t,n,r){for(let s=this.findIndex(t,-1e9,!0),o=this.findIndex(n,1e9,!1,s);sO||u==O&&c.startSide>0&&c.endSide<=0)continue;(O-u||c.endSide-c.startSide)<0||(o<0&&(o=u),c.point&&(a=Math.max(a,O-u)),n.push(c),r.push(u-o),s.push(O-o))}return{mapped:n.length?new i(r,s,n,a):null,pos:o}}},le=class i{constructor(e,t,n,r){this.chunkPos=e,this.chunk=t,this.nextLayer=n,this.maxPoint=r}static create(e,t,n,r){return new i(e,t,n,r)}get length(){let e=this.chunk.length-1;return e<0?0:Math.max(this.chunkEnd(e),this.nextLayer.length)}get size(){if(this.isEmpty)return 0;let e=this.nextLayer.size;for(let t of this.chunk)e+=t.value.length;return e}chunkEnd(e){return this.chunkPos[e]+this.chunk[e].length}update(e){let{add:t=[],sort:n=!1,filterFrom:r=0,filterTo:s=this.length}=e,o=e.filter;if(t.length==0&&!o)return this;if(n&&(t=t.slice().sort(No)),this.isEmpty)return t.length?i.of(t):this;let a=new Kr(this,null,-1).goto(0),l=0,c=[],h=new Ri;for(;a.value||l=0){let f=t[l++];h.addInner(f.from,f.to,f.value)||c.push(f)}else a.rangeIndex==1&&a.chunkIndexthis.chunkEnd(a.chunkIndex)||sa.to||s=s&&e<=s+o.length&&o.between(s,e-s,t-s,n)===!1)return}this.nextLayer.between(e,t,n)}}iter(e=0){return Yn.from([this]).goto(e)}get isEmpty(){return this.nextLayer==this}static iter(e,t=0){return Yn.from(e).goto(t)}static compare(e,t,n,r,s=-1){let o=e.filter(f=>f.maxPoint>0||!f.isEmpty&&f.maxPoint>=s),a=t.filter(f=>f.maxPoint>0||!f.isEmpty&&f.maxPoint>=s),l=rf(o,a,n),c=new Ci(o,l,s),h=new Ci(a,l,s);n.iterGaps((f,u,O)=>sf(c,f,h,u,O,r)),n.empty&&n.length==0&&sf(c,0,h,0,0,r)}static eq(e,t,n=0,r){r==null&&(r=999999999);let s=e.filter(h=>!h.isEmpty&&t.indexOf(h)<0),o=t.filter(h=>!h.isEmpty&&e.indexOf(h)<0);if(s.length!=o.length)return!1;if(!s.length)return!0;let a=rf(s,o),l=new Ci(s,a,0).goto(n),c=new Ci(o,a,0).goto(n);for(;;){if(l.to!=c.to||!Ho(l.active,c.active)||l.point&&(!c.point||!ea(l.point,c.point)))return!1;if(l.to>r)return!0;l.next(),c.next()}}static spans(e,t,n,r,s=-1){let o=new Ci(e,null,s).goto(t),a=t,l=o.openStart;for(;;){let c=Math.min(o.to,n);if(o.point){let h=o.activeForPoint(o.to),f=o.pointFroma&&(r.span(a,c,o.active,l),l=o.openEnd(c));if(o.to>n)return l+(o.point&&o.to>n?1:0);a=o.to,o.next()}}static of(e,t=!1){let n=new Ri;for(let r of e instanceof Dn?[e]:t?y0(e):e)n.add(r.from,r.to,r.value);return n.finish()}static join(e){if(!e.length)return i.empty;let t=e[e.length-1];for(let n=e.length-2;n>=0;n--)for(let r=e[n];r!=i.empty;r=r.nextLayer)t=new i(r.chunkPos,r.chunk,t,Math.max(r.maxPoint,t.maxPoint));return t}};le.empty=new le([],[],null,-1);function y0(i){if(i.length>1)for(let e=i[0],t=1;t0)return i.slice().sort(No);e=n}return i}le.empty.nextLayer=le.empty;var Ri=class i{finishChunk(e){this.chunks.push(new Fo(this.from,this.to,this.value,this.maxPoint)),this.chunkPos.push(this.chunkStart),this.chunkStart=-1,this.setMaxPoint=Math.max(this.setMaxPoint,this.maxPoint),this.maxPoint=-1,e&&(this.from=[],this.to=[],this.value=[])}constructor(){this.chunks=[],this.chunkPos=[],this.chunkStart=-1,this.last=null,this.lastFrom=-1e9,this.lastTo=-1e9,this.from=[],this.to=[],this.value=[],this.maxPoint=-1,this.setMaxPoint=-1,this.nextLayer=null}add(e,t,n){this.addInner(e,t,n)||(this.nextLayer||(this.nextLayer=new i)).add(e,t,n)}addInner(e,t,n){let r=e-this.lastTo||n.startSide-this.last.endSide;if(r<=0&&(e-this.lastFrom||n.startSide-this.last.startSide)<0)throw new Error("Ranges must be added sorted by `from` position and `startSide`");return r<0?!1:(this.from.length==250&&this.finishChunk(!0),this.chunkStart<0&&(this.chunkStart=e),this.from.push(e-this.chunkStart),this.to.push(t-this.chunkStart),this.last=n,this.lastFrom=e,this.lastTo=t,this.value.push(n),n.point&&(this.maxPoint=Math.max(this.maxPoint,t-e)),!0)}addChunk(e,t){if((e-this.lastTo||t.value[0].startSide-this.last.endSide)<0)return!1;this.from.length&&this.finishChunk(!0),this.setMaxPoint=Math.max(this.setMaxPoint,t.maxPoint),this.chunks.push(t),this.chunkPos.push(e);let n=t.value.length-1;return this.last=t.value[n],this.lastFrom=t.from[n]+e,this.lastTo=t.to[n]+e,!0}finish(){return this.finishInner(le.empty)}finishInner(e){if(this.from.length&&this.finishChunk(!1),this.chunks.length==0)return e;let t=le.create(this.chunkPos,this.chunks,this.nextLayer?this.nextLayer.finishInner(e):e,this.setMaxPoint);return this.from=null,t}};function rf(i,e,t){let n=new Map;for(let s of i)for(let o=0;o=this.minPoint)break}}setRangeIndex(e){if(e==this.layer.chunk[this.chunkIndex].value.length){if(this.chunkIndex++,this.skip)for(;this.chunkIndex=n&&r.push(new Kr(o,t,n,s));return r.length==1?r[0]:new i(r)}get startSide(){return this.value?this.value.startSide:0}goto(e,t=-1e9){for(let n of this.heap)n.goto(e,t);for(let n=this.heap.length>>1;n>=0;n--)Lo(this.heap,n);return this.next(),this}forward(e,t){for(let n of this.heap)n.forward(e,t);for(let n=this.heap.length>>1;n>=0;n--)Lo(this.heap,n);(this.to-e||this.value.endSide-t)<0&&this.next()}next(){if(this.heap.length==0)this.from=this.to=1e9,this.value=null,this.rank=-1;else{let e=this.heap[0];this.from=e.from,this.to=e.to,this.value=e.value,this.rank=e.rank,e.value&&e.next(),Lo(this.heap,0)}}};function Lo(i,e){for(let t=i[e];;){let n=(e<<1)+1;if(n>=i.length)break;let r=i[n];if(n+1=0&&(r=i[n+1],n++),t.compare(r)<0)break;i[n]=t,i[e]=r,e=n}}var Ci=class{constructor(e,t,n){this.minPoint=n,this.active=[],this.activeTo=[],this.activeRank=[],this.minActive=-1,this.point=null,this.pointFrom=0,this.pointRank=0,this.to=-1e9,this.endSide=0,this.openStart=-1,this.cursor=Yn.from(e,t,n)}goto(e,t=-1e9){return this.cursor.goto(e,t),this.active.length=this.activeTo.length=this.activeRank.length=0,this.minActive=-1,this.to=e,this.endSide=t,this.openStart=-1,this.next(),this}forward(e,t){for(;this.minActive>-1&&(this.activeTo[this.minActive]-e||this.active[this.minActive].endSide-t)<0;)this.removeActive(this.minActive);this.cursor.forward(e,t)}removeActive(e){Dr(this.active,e),Dr(this.activeTo,e),Dr(this.activeRank,e),this.minActive=of(this.active,this.activeTo)}addActive(e){let t=0,{value:n,to:r,rank:s}=this.cursor;for(;t0;)t++;Yr(this.active,t,n),Yr(this.activeTo,t,r),Yr(this.activeRank,t,s),e&&Yr(e,t,this.cursor.from),this.minActive=of(this.active,this.activeTo)}next(){let e=this.to,t=this.point;this.point=null;let n=this.openStart<0?[]:null;for(;;){let r=this.minActive;if(r>-1&&(this.activeTo[r]-this.cursor.from||this.active[r].endSide-this.cursor.startSide)<0){if(this.activeTo[r]>e){this.to=this.activeTo[r],this.endSide=this.active[r].endSide;break}this.removeActive(r),n&&Dr(n,r)}else if(this.cursor.value)if(this.cursor.from>e){this.to=this.cursor.from,this.endSide=this.cursor.startSide;break}else{let s=this.cursor.value;if(!s.point)this.addActive(n),this.cursor.next();else if(t&&this.cursor.to==this.to&&this.cursor.from=0&&n[r]=0&&!(this.activeRank[n]e||this.activeTo[n]==e&&this.active[n].endSide>=this.point.endSide)&&t.push(this.active[n]);return t.reverse()}openEnd(e){let t=0;for(let n=this.activeTo.length-1;n>=0&&this.activeTo[n]>e;n--)t++;return t}};function sf(i,e,t,n,r,s){i.goto(e),t.goto(n);let o=n+r,a=n,l=n-e,c=!!s.boundChange;for(let h=!1;;){let f=i.to+l-t.to,u=f||i.endSide-t.endSide,O=u<0?i.to+l:t.to,m=Math.min(O,o);if(i.point||t.point?(i.point&&t.point&&ea(i.point,t.point)&&Ho(i.activeForPoint(i.to),t.activeForPoint(t.to))||s.comparePoint(a,m,i.point,t.point),h=!1):(h&&s.boundChange(a),m>a&&!Ho(i.active,t.active)&&s.compareRange(a,m,i.active,t.active),c&&mo)break;a=O,u<=0&&i.next(),u>=0&&t.next()}}function Ho(i,e){if(i.length!=e.length)return!1;for(let t=0;t=e;n--)i[n+1]=i[n];i[e]=t}function of(i,e){let t=-1,n=1e9;for(let r=0;r=e)return r;if(r==i.length)break;s+=i.charCodeAt(r)==9?t-s%t:1,r=xe(i,r)}return n===!0?-1:i.length}var bf=typeof Symbol>"u"?"__\u037C":Symbol.for("\u037C"),ta=typeof Symbol>"u"?"__styleSet"+Math.floor(Math.random()*1e8):Symbol("styleSet"),Sf=typeof globalThis<"u"?globalThis:typeof window<"u"?window:{},at=class{constructor(e,t){this.rules=[];let{finish:n}=t||{};function r(o){return/^@/.test(o)?[o]:o.split(/,\s*/)}function s(o,a,l,c){let h=[],f=/^@(\w+)\b/.exec(o[0]),u=f&&f[1]=="keyframes";if(f&&a==null)return l.push(o[0]+";");for(let O in a){let m=a[O];if(/&/.test(O))s(O.split(/,\s*/).map(p=>o.map(b=>p.replace(/&/,b))).reduce((p,b)=>p.concat(b)),m,l);else if(m&&typeof m=="object"){if(!f)throw new RangeError("The value of a property ("+O+") should be a primitive value.");s(r(O),m,h,u)}else m!=null&&h.push(O.replace(/_.*/,"").replace(/[A-Z]/g,p=>"-"+p.toLowerCase())+": "+m+";")}(h.length||u)&&l.push((n&&!f&&!c?o.map(n):o).join(", ")+" {"+h.join(" ")+"}")}for(let o in e)s(r(o),e[o],this.rules)}getRules(){return this.rules.join(` -`)}static newName(){let e=Sf[bf]||1;return Sf[bf]=e+1,"\u037C"+e.toString(36)}static mount(e,t,n){let r=e[ta],s=n&&n.nonce;r?s&&r.setNonce(s):r=new ia(e,s),r.mount(Array.isArray(t)?t:[t],e)}},yf=new Map,ia=class{constructor(e,t){let n=e.ownerDocument||e,r=n.defaultView;if(!e.head&&e.adoptedStyleSheets&&r.CSSStyleSheet){let s=yf.get(n);if(s)return e[ta]=s;this.sheet=new r.CSSStyleSheet,yf.set(n,this)}else this.styleTag=n.createElement("style"),t&&this.styleTag.setAttribute("nonce",t);this.modules=[],e[ta]=this}mount(e,t){let n=this.sheet,r=0,s=0;for(let o=0;o-1&&(this.modules.splice(l,1),s--,l=-1),l==-1){if(this.modules.splice(s++,0,a),n)for(let c=0;c",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},k0=typeof navigator<"u"&&/Mac/.test(navigator.platform),x0=typeof navigator<"u"&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent);for(be=0;be<10;be++)Wt[48+be]=Wt[96+be]=String(be);var be;for(be=1;be<=24;be++)Wt[be+111]="F"+be;var be;for(be=65;be<=90;be++)Wt[be]=String.fromCharCode(be+32),ln[be]=String.fromCharCode(be);var be;for(Jr in Wt)ln.hasOwnProperty(Jr)||(ln[Jr]=Wt[Jr]);var Jr;function kf(i){var e=k0&&i.metaKey&&i.shiftKey&&!i.ctrlKey&&!i.altKey||x0&&i.shiftKey&&i.key&&i.key.length==1||i.key=="Unidentified",t=!e&&i.key||(i.shiftKey?ln:Wt)[i.keyCode]||i.key||"Unidentified";return t=="Esc"&&(t="Escape"),t=="Del"&&(t="Delete"),t=="Left"&&(t="ArrowLeft"),t=="Up"&&(t="ArrowUp"),t=="Right"&&(t="ArrowRight"),t=="Down"&&(t="ArrowDown"),t}var Le=typeof navigator<"u"?navigator:{userAgent:"",vendor:"",platform:""},la=typeof document<"u"?document:{documentElement:{style:{}}},ca=/Edge\/(\d+)/.exec(Le.userAgent),Ff=/MSIE \d/.test(Le.userAgent),ha=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(Le.userAgent),ys=!!(Ff||ha||ca),xf=!ys&&/gecko\/(\d+)/i.test(Le.userAgent),na=!ys&&/Chrome\/(\d+)/.exec(Le.userAgent),wf="webkitFontSmoothing"in la.documentElement.style,fa=!ys&&/Apple Computer/.test(Le.vendor),Pf=fa&&(/Mobile\/\w+/.test(Le.userAgent)||Le.maxTouchPoints>2),L={mac:Pf||/Mac/.test(Le.platform),windows:/Win/.test(Le.platform),linux:/Linux|X11/.test(Le.platform),ie:ys,ie_version:Ff?la.documentMode||6:ha?+ha[1]:ca?+ca[1]:0,gecko:xf,gecko_version:xf?+(/Firefox\/(\d+)/.exec(Le.userAgent)||[0,0])[1]:0,chrome:!!na,chrome_version:na?+na[1]:0,ios:Pf,android:/Android\b/.test(Le.userAgent),webkit:wf,webkit_version:wf?+(/\bAppleWebKit\/(\d+)/.exec(Le.userAgent)||[0,0])[1]:0,safari:fa,safari_version:fa?+(/\bVersion\/(\d+(\.\d+)?)/.exec(Le.userAgent)||[0,0])[1]:0,tabSize:la.documentElement.style.tabSize!=null?"tab-size":"-moz-tab-size"};function Ba(i,e){for(let t in i)t=="class"&&e.class?e.class+=" "+i.class:t=="style"&&e.style?e.style+=";"+i.style:e[t]=i[t];return e}var cs=Object.create(null);function Ua(i,e,t){if(i==e)return!0;i||(i=cs),e||(e=cs);let n=Object.keys(i),r=Object.keys(e);if(n.length-(t&&n.indexOf(t)>-1?1:0)!=r.length-(t&&r.indexOf(t)>-1?1:0))return!1;for(let s of n)if(s!=t&&(r.indexOf(s)==-1||i[s]!==e[s]))return!1;return!0}function w0(i,e){for(let t=i.attributes.length-1;t>=0;t--){let n=i.attributes[t].name;e[n]==null&&i.removeAttribute(n)}for(let t in e){let n=e[t];t=="style"?i.style.cssText=n:i.getAttribute(t)!=n&&i.setAttribute(t,n)}}function vf(i,e,t){let n=!1;if(e)for(let r in e)t&&r in t||(n=!0,r=="style"?i.style.cssText="":i.removeAttribute(r));if(t)for(let r in t)e&&e[r]==t[r]||(n=!0,r=="style"?i.style.cssText=t[r]:i.setAttribute(r,t[r]));return n}function P0(i){let e=Object.create(null);for(let t=0;t0?3e8:-4e8:t>0?1e8:-1e8,new Ei(e,t,t,n,e.widget||null,!1)}static replace(e){let t=!!e.block,n,r;if(e.isBlockGap)n=-5e8,r=4e8;else{let{start:s,end:o}=Hf(e,t);n=(s?t?-3e8:-1:5e8)-1,r=(o?t?2e8:1:-6e8)+1}return new Ei(e,n,r,t,e.widget||null,!0)}static line(e){return new nr(e)}static set(e,t=!1){return le.of(e,t)}hasHeight(){return this.widget?this.widget.estimatedHeight>-1:!1}};R.none=le.empty;var ir=class i extends R{constructor(e){let{start:t,end:n}=Hf(e);super(t?-1:5e8,n?1:-6e8,null,e),this.tagName=e.tagName||"span",this.attrs=e.class&&e.attributes?Ba(e.attributes,{class:e.class}):e.class?{class:e.class}:e.attributes||cs}eq(e){return this==e||e instanceof i&&this.tagName==e.tagName&&Ua(this.attrs,e.attrs)}range(e,t=e){if(e>=t)throw new RangeError("Mark decorations may not be empty");return super.range(e,t)}};ir.prototype.point=!1;var nr=class i extends R{constructor(e){super(-2e8,-2e8,null,e)}eq(e){return e instanceof i&&this.spec.class==e.spec.class&&Ua(this.spec.attributes,e.spec.attributes)}range(e,t=e){if(t!=e)throw new RangeError("Line decoration ranges must be zero-length");return super.range(e,t)}};nr.prototype.mapMode=ge.TrackBefore;nr.prototype.point=!0;var Ei=class i extends R{constructor(e,t,n,r,s,o){super(t,n,s,e),this.block=r,this.isReplace=o,this.mapMode=r?t<=0?ge.TrackBefore:ge.TrackAfter:ge.TrackDel}get type(){return this.startSide!=this.endSide?ut.WidgetRange:this.startSide<=0?ut.WidgetBefore:ut.WidgetAfter}get heightRelevant(){return this.block||!!this.widget&&(this.widget.estimatedHeight>=5||this.widget.lineBreaks>0)}eq(e){return e instanceof i&&v0(this.widget,e.widget)&&this.block==e.block&&this.startSide==e.startSide&&this.endSide==e.endSide}range(e,t=e){if(this.isReplace&&(e>t||e==t&&this.startSide>0&&this.endSide<=0))throw new RangeError("Invalid range for replacement decoration");if(!this.isReplace&&t!=e)throw new RangeError("Widget decorations can only have zero-length ranges");return super.range(e,t)}};Ei.prototype.point=!0;function Hf(i,e=!1){let{inclusiveStart:t,inclusiveEnd:n}=i;return t==null&&(t=i.inclusive),n==null&&(n=i.inclusive),{start:t??e,end:n??e}}function v0(i,e){return i==e||!!(i&&e&&i.compare(e))}function un(i,e,t,n=0){let r=t.length-1;r>=0&&t[r]+n>=i?t[r]=Math.max(t[r],e):t.push(i,e)}var ci=class i extends st{constructor(e,t,n){super(),this.tagName=e,this.attributes=t,this.rank=n}eq(e){return e==this||e instanceof i&&this.tagName==e.tagName&&Ua(this.attributes,e.attributes)}static create(e){return new i(e.tagName,e.attributes||cs,e.rank==null?50:Math.max(0,Math.min(e.rank,100)))}static set(e,t=!1){return le.of(e,t)}};ci.prototype.startSide=ci.prototype.endSide=-1;function rr(i){let e;return i.nodeType==11?e=i.getSelection?i:i.ownerDocument:e=i,e.getSelection()}function ua(i,e){return e?i==e||i.contains(e.nodeType!=1?e.parentNode:e):!1}function Nn(i,e){if(!e.anchorNode)return!1;try{return ua(i,e.anchorNode)}catch{return!1}}function as(i){return i.nodeType==3?sr(i,0,i.nodeValue.length).getClientRects():i.nodeType==1?i.getClientRects():[]}function Fn(i,e,t,n){return t?$f(i,e,t,n,-1)||$f(i,e,t,n,1):!1}function hi(i){for(var e=0;;e++)if(i=i.previousSibling,!i)return e}function hs(i){return i.nodeType==1&&/^(DIV|P|LI|UL|OL|BLOCKQUOTE|DD|DT|H\d|SECTION|PRE)$/.test(i.nodeName)}function $f(i,e,t,n,r){for(;;){if(i==t&&e==n)return!0;if(e==(r<0?0:Dt(i))){if(i.nodeName=="DIV")return!1;let s=i.parentNode;if(!s||s.nodeType!=1)return!1;e=hi(i)+(r<0?0:1),i=s}else if(i.nodeType==1){if(i=i.childNodes[e+(r<0?-1:0)],i.nodeType==1&&i.contentEditable=="false")return!1;e=r<0?Dt(i):0}else return!1}}function Dt(i){return i.nodeType==3?i.nodeValue.length:i.childNodes.length}function fs(i,e){let{left:t,right:n}=i;if(t==n)return i;let r=e?t:n;return{left:r,right:r,top:i.top,bottom:i.bottom}}function $0(i){let e=i.visualViewport;return e?{left:0,right:e.width,top:0,bottom:e.height}:{left:0,right:i.innerWidth,top:0,bottom:i.innerHeight}}function Kf(i,e){let t=e.width/i.offsetWidth,n=e.height/i.offsetHeight;return(t>.995&&t<1.005||!isFinite(t)||Math.abs(e.width-i.offsetWidth)<1)&&(t=1),(n>.995&&n<1.005||!isFinite(n)||Math.abs(e.height-i.offsetHeight)<1)&&(n=1),{scaleX:t,scaleY:n}}function T0(i,e,t,n,r,s,o,a){let l=i.ownerDocument,c=l.defaultView||window;for(let h=i,f=!1;h&&!f;)if(h.nodeType==1){let u,O=h==l.body,m=1,p=1;if(O)u=$0(c);else{if(/^(fixed|sticky)$/.test(getComputedStyle(h).position)&&(f=!0),h.scrollHeight<=h.clientHeight&&h.scrollWidth<=h.clientWidth){h=h.assignedSlot||h.parentNode;continue}let Q=h.getBoundingClientRect();({scaleX:m,scaleY:p}=Kf(h,Q)),u={left:Q.left,right:Q.left+h.clientWidth*m,top:Q.top,bottom:Q.top+h.clientHeight*p}}let b=0,g=0;if(r=="nearest")e.top0&&e.bottom>u.bottom+g&&(g=e.bottom-u.bottom+o)):e.bottom>u.bottom-o&&(g=e.bottom-u.bottom+o,t<0&&e.top-g0&&e.right>u.right+b&&(b=e.right-u.right+s)):e.right>u.right-s&&(b=e.right-u.right+s,t<0&&e.leftu.bottom||e.leftu.right)&&(e={left:Math.max(e.left,u.left),right:Math.min(e.right,u.right),top:Math.max(e.top,u.top),bottom:Math.min(e.bottom,u.bottom)}),h=h.assignedSlot||h.parentNode}else if(h.nodeType==11)h=h.host;else break}function Jf(i,e=!0){let t=i.ownerDocument,n=null,r=null;for(let s=i.parentNode;s&&!(s==t.body||(!e||n)&&r);)if(s.nodeType==1)!r&&s.scrollHeight>s.clientHeight&&(r=s),e&&!n&&s.scrollWidth>s.clientWidth&&(n=s),s=s.assignedSlot||s.parentNode;else if(s.nodeType==11)s=s.host;else break;return{x:n,y:r}}var Oa=class{constructor(){this.anchorNode=null,this.anchorOffset=0,this.focusNode=null,this.focusOffset=0}eq(e){return this.anchorNode==e.anchorNode&&this.anchorOffset==e.anchorOffset&&this.focusNode==e.focusNode&&this.focusOffset==e.focusOffset}setRange(e){let{anchorNode:t,focusNode:n}=e;this.set(t,Math.min(e.anchorOffset,t?Dt(t):0),n,Math.min(e.focusOffset,n?Dt(n):0))}set(e,t,n,r){this.anchorNode=e,this.anchorOffset=t,this.focusNode=n,this.focusOffset=r}},Ai=null;L.safari&&L.safari_version>=26&&(Ai=!1);function eu(i){if(i.setActive)return i.setActive();if(Ai)return i.focus(Ai);let e=[];for(let t=i;t&&(e.push(t,t.scrollTop,t.scrollLeft),t!=t.ownerDocument);t=t.parentNode);if(i.focus(Ai==null?{get preventScroll(){return Ai={preventScroll:!0},!0}}:void 0),!Ai){Ai=!1;for(let t=0;tMath.max(0,i.document.documentElement.scrollHeight-i.innerHeight-4):i.scrollTop>Math.max(1,i.scrollHeight-i.clientHeight-4)}function iu(i,e){for(let t=i,n=e;;){if(t.nodeType==3&&n>0)return{node:t,offset:n};if(t.nodeType==1&&n>0){if(t.contentEditable=="false")return null;t=t.childNodes[n-1],n=Dt(t)}else if(t.parentNode&&!hs(t))n=hi(t),t=t.parentNode;else return null}}function nu(i,e){for(let t=i,n=e;;){if(t.nodeType==3&&n=t){if(a.level==n)return o;(s<0||(r!=0?r<0?a.fromt:e[s].level>a.level))&&(s=o)}}if(s<0)throw new RangeError("Index out of range");return s}};function ou(i,e){if(i.length!=e.length)return!1;for(let t=0;t=0;p-=3)if(_t[p+1]==-O){let b=_t[p+2],g=b&2?r:b&4?b&1?s:r:0;g&&(oe[f]=oe[_t[p]]=g),a=p;break}}else{if(_t.length==189)break;_t[a++]=f,_t[a++]=u,_t[a++]=l}else if((m=oe[f])==2||m==1){let p=m==r;l=p?0:1;for(let b=a-3;b>=0;b-=3){let g=_t[b+2];if(g&2)break;if(p)_t[b+2]|=2;else{if(g&4)break;_t[b+2]|=4}}}}}function q0(i,e,t,n){for(let r=0,s=n;r<=t.length;r++){let o=r?t[r-1].to:i,a=rl;)m==b&&(m=t[--p].from,b=p?t[p-1].to:i),oe[--m]=O;l=h}else s=c,l++}}}function pa(i,e,t,n,r,s,o){let a=n%2?2:1;if(n%2==r%2)for(let l=e,c=0;ll&&o.push(new ht(l,p.from,O));let b=p.direction==qi!=!(O%2);ma(i,b?n+1:n,r,p.inner,p.from,p.to,o),l=p.to}m=p.to}else{if(m==t||(h?oe[m]!=a:oe[m]==a))break;m++}u?pa(i,l,m,n+1,r,u,o):le;){let h=!0,f=!1;if(!c||l>s[c-1].to){let p=oe[l-1];p!=a&&(h=!1,f=p==16)}let u=!h&&a==1?[]:null,O=h?n:n+1,m=l;e:for(;;)if(c&&m==s[c-1].to){if(f)break e;let p=s[--c];if(!h)for(let b=p.from,g=c;;){if(b==e)break e;if(g&&s[g-1].to==b)b=s[--g].from;else{if(oe[b-1]==a)break e;break}}if(u)u.push(p);else{p.tooe.length;)oe[oe.length]=256;let n=[],r=e==qi?0:1;return ma(i,r,r,t,0,i.length,n),n}function au(i){return[new ht(0,i,0)]}var lu="";function L0(i,e,t,n,r){var s;let o=n.head-i.from,a=ht.find(e,o,(s=n.bidiLevel)!==null&&s!==void 0?s:-1,n.assoc),l=e[a],c=l.side(r,t);if(o==c){let u=a+=r?1:-1;if(u<0||u>=e.length)return null;l=e[a=u],o=l.side(!r,t),c=l.side(r,t)}let h=xe(i.text,o,l.forward(r,t));(hl.to)&&(h=c),lu=i.text.slice(Math.min(o,h),Math.max(o,h));let f=a==(r?e.length-1:0)?null:e[a+(r?1:-1)];return f&&h==c&&f.level+(r?0:1)i.some(e=>e)}),W0=Y.define({combine:i=>i.some(e=>e)}),mu=Y.define(),Hn=class i{constructor(e,t,n,r,s,o=!1){this.range=e,this.y=t,this.x=n,this.yMargin=r,this.xMargin=s,this.isSnapshot=o}map(e){return e.empty?this:new i(this.range.map(e),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}clip(e){return this.range.to<=e.doc.length?this:new i(v.cursor(e.doc.length),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}},es=ie.define({map:(i,e)=>i.map(e)}),gu=ie.define();function ft(i,e,t){let n=i.facet(uu);n.length?n[0](e):window.onerror&&window.onerror(String(e),t,void 0,void 0,e)||(t?console.error(t+":",e):console.error(e))}var jt=Y.define({combine:i=>i.length?i[0]:!0}),j0=0,hn=Y.define({combine(i){return i.filter((e,t)=>{for(let n=0;n{let l=[];return o&&l.push(ks.of(c=>{let h=c.plugin(a);return h?o(h):R.none})),s&&l.push(s(a)),l})}static fromClass(e,t){return i.define((n,r)=>new e(n,r),t)}},Kn=class{constructor(e){this.spec=e,this.mustUpdate=null,this.value=null}get plugin(){return this.spec&&this.spec.plugin}update(e){if(this.value){if(this.mustUpdate){let t=this.mustUpdate;if(this.mustUpdate=null,this.value.update)try{this.value.update(t)}catch(n){if(ft(t.state,n,"CodeMirror plugin crashed"),this.value.destroy)try{this.value.destroy()}catch{}this.deactivate()}}}else if(this.spec)try{this.value=this.spec.plugin.create(e,this.spec.arg)}catch(t){ft(e.state,t,"CodeMirror plugin crashed"),this.deactivate()}return this}destroy(e){var t;if(!((t=this.value)===null||t===void 0)&&t.destroy)try{this.value.destroy()}catch(n){ft(e.state,n,"CodeMirror plugin crashed")}}deactivate(){this.spec=this.value=null}},Qu=Y.define(),Ha=Y.define(),ks=Y.define(),bu=Y.define(),Ka=Y.define(),or=Y.define(),Su=Y.define();function Cf(i,e){let t=i.state.facet(Su);if(!t.length)return t;let n=t.map(s=>s instanceof Function?s(i):s),r=[];return le.spans(n,e.from,e.to,{point(){},span(s,o,a,l){let c=s-e.from,h=o-e.from,f=r;for(let u=a.length-1;u>=0;u--,l--){let O=a[u].spec.bidiIsolate,m;if(O==null&&(O=M0(e.text,c,h)),l>0&&f.length&&(m=f[f.length-1]).to==c&&m.direction==O)m.to=h,f=m.inner;else{let p={from:c,to:h,direction:O,inner:[]};f.push(p),f=p.inner}}}}),r}var yu=Y.define();function ku(i){let e=0,t=0,n=0,r=0;for(let s of i.state.facet(yu)){let o=s(i);o&&(o.left!=null&&(e=Math.max(e,o.left)),o.right!=null&&(t=Math.max(t,o.right)),o.top!=null&&(n=Math.max(n,o.top)),o.bottom!=null&&(r=Math.max(r,o.bottom)))}return{left:e,right:t,top:n,bottom:r}}var Bn=Y.define(),yt=class i{constructor(e,t,n,r){this.fromA=e,this.toA=t,this.fromB=n,this.toB=r}join(e){return new i(Math.min(this.fromA,e.fromA),Math.max(this.toA,e.toA),Math.min(this.fromB,e.fromB),Math.max(this.toB,e.toB))}addToSet(e){let t=e.length,n=this;for(;t>0;t--){let r=e[t-1];if(!(r.fromA>n.toA)){if(r.toAr.push(new yt(s,o,a,l))),this.changedRanges=r}static create(e,t,n){return new i(e,t,n)}get viewportChanged(){return(this.flags&4)>0}get viewportMoved(){return(this.flags&8)>0}get heightChanged(){return(this.flags&2)>0}get geometryChanged(){return this.docChanged||(this.flags&18)>0}get focusChanged(){return(this.flags&1)>0}get docChanged(){return!this.changes.empty}get selectionSet(){return this.transactions.some(e=>e.selection)}get empty(){return this.flags==0&&this.transactions.length==0}},V0=[],ue=class{constructor(e,t,n=0){this.dom=e,this.length=t,this.flags=n,this.parent=null,e.cmTile=this}get breakAfter(){return this.flags&1}get children(){return V0}isWidget(){return!1}get isHidden(){return!1}isComposite(){return!1}isLine(){return!1}isText(){return!1}isBlock(){return!1}get domAttrs(){return null}sync(e){if(this.flags|=2,this.flags&4){this.flags&=-5;let t=this.domAttrs;t&&w0(this.dom,t)}}toString(){return this.constructor.name+(this.children.length?`(${this.children})`:"")+(this.breakAfter?"#":"")}destroy(){this.parent=null}setDOM(e){this.dom=e,e.cmTile=this}get posAtStart(){return this.parent?this.parent.posBefore(this):0}get posAtEnd(){return this.posAtStart+this.length}posBefore(e,t=this.posAtStart){let n=t;for(let r of this.children){if(r==e)return n;n+=r.length+r.breakAfter}throw new RangeError("Invalid child in posBefore")}posAfter(e){return this.posBefore(e)+e.length}covers(e){return!0}coordsIn(e,t,n){return null}domPosFor(e,t){let n=hi(this.dom),r=this.length?e>0:t>0;return new Rt(this.parent.dom,n+(r?1:0),e==0||e==this.length)}markDirty(e){this.flags&=-3,e&&(this.flags|=4),this.parent&&this.parent.flags&2&&this.parent.markDirty(!1)}get overrideDOMText(){return null}get root(){for(let e=this;e;e=e.parent)if(e instanceof pn)return e;return null}static get(e){return e.cmTile}},dn=class extends ue{constructor(e){super(e,0),this._children=[]}isComposite(){return!0}get children(){return this._children}get lastChild(){return this.children.length?this.children[this.children.length-1]:null}append(e){this.children.push(e),e.parent=this}sync(e){if(this.flags&2)return;super.sync(e);let t=this.dom,n=null,r,s=e?.node==t?e:null,o=0;for(let a of this.children){if(a.sync(e),o+=a.length+a.breakAfter,r=n?n.nextSibling:t.firstChild,s&&r!=a.dom&&(s.written=!0),a.dom.parentNode==t)for(;r&&r!=a.dom;)r=Xf(r);else t.insertBefore(a.dom,r);n=a.dom}for(r=n?n.nextSibling:t.firstChild,s&&r&&(s.written=!0);r;)r=Xf(r);this.length=o}};function Xf(i){let e=i.nextSibling;return i.parentNode.removeChild(i),e}var pn=class extends dn{constructor(e,t){super(t),this.view=e}owns(e){for(;e;e=e.parent)if(e==this)return!0;return!1}isBlock(){return!0}nearest(e){for(;;){if(!e)return null;let t=ue.get(e);if(t&&this.owns(t))return t;e=e.parentNode}}blockTiles(e){for(let t=[],n=this,r=0,s=0;;)if(r==n.children.length){if(!t.length)return;n=n.parent,n.breakAfter&&s++,r=t.pop()}else{let o=n.children[r++];if(o instanceof Vt)t.push(r),n=o,r=0;else{let a=s+o.length,l=e(o,s);if(l!==void 0)return l;s=a+o.breakAfter}}}resolveBlock(e,t){let n,r=-1,s,o=-1;if(this.blockTiles((a,l)=>{let c=l+a.length;if(e>=l&&e<=c){if(a.isWidget()&&t>=-1&&t<=1){if(a.flags&32)return!0;a.flags&16&&(n=void 0)}(le||e==l&&(t>1?a.length:a.covers(-1)))&&(!s||!a.isWidget()&&s.isWidget())&&(s=a,o=e-l)}}),!n&&!s)throw new Error("No tile at position "+e);return n&&t<0||!s?{tile:n,offset:r}:{tile:s,offset:o}}},Vt=class i extends dn{constructor(e,t){super(e),this.wrapper=t}isBlock(){return!0}covers(e){return this.children.length?e<0?this.children[0].covers(-1):this.lastChild.covers(1):!1}get domAttrs(){return this.wrapper.attributes}static of(e,t){let n=new i(t||document.createElement(e.tagName),e);return t||(n.flags|=4),n}},mn=class i extends dn{constructor(e,t){super(e),this.attrs=t}isLine(){return!0}static start(e,t,n){let r=new i(t||document.createElement("div"),e);return(!t||!n)&&(r.flags|=4),r}get domAttrs(){return this.attrs}resolveInline(e,t,n){let r=null,s=-1,o=null,a=-1;function l(h,f){for(let u=0,O=0;u=f&&(m.isComposite()?l(m,f-O):(!o||o.isHidden&&(t>0&&!(o.flags&32)||n&&Y0(o,m)))&&(p>f||m.flags&32)?(o=m,a=f-O):(Or&&(e=r);let s=e,o=e,a=0;e==0&&t<0||e==r&&t>=0?L.chrome||L.gecko||(e?(s--,a=1):o=0)?0:l.length-1];return L.safari&&!a&&c.width==0&&(c=Array.prototype.find.call(l,h=>h.width)||c),n==null?c:fs(c,(a?a>0:t<0)==n)}static of(e,t){let n=new i(t||document.createTextNode(e),e);return t||(n.flags|=2),n}},zi=class i extends ue{constructor(e,t,n,r){super(e,t,r),this.widget=n}isWidget(){return!0}get isHidden(){return this.widget.isHidden}covers(e){return this.flags&48?!1:(this.flags&(e<0?64:128))>0}coordsIn(e,t){return this.coordsInWidget(e,t,!1)}coordsInWidget(e,t,n){let r=this.widget.coordsAt(this.dom,e,t);if(r)return r;if(n)return fs(this.dom.getBoundingClientRect(),this.length?e==0:t<=0);{let s=this.dom.getClientRects(),o=null;if(!s.length)return null;let a=this.flags&16?!0:this.flags&32?!1:e>0;for(let l=a?s.length-1:0;o=s[l],!(e>0?l==0:l==s.length-1||o.top0==n)}},Qa=class{constructor(e){this.index=0,this.beforeBreak=!1,this.parents=[],this.tile=e}advance(e,t,n){let{tile:r,index:s,beforeBreak:o,parents:a}=this;for(;e||t>0;)if(r.isComposite())if(o){if(!e)break;n&&n.break(),e--,o=!1}else if(s==r.children.length){if(!e&&!a.length)break;n&&n.leave(r),o=!!r.breakAfter,{tile:r,index:s}=a.pop(),s++}else{let l=r.children[s],c=l.breakAfter;(t>0?l.length<=e:l.length=0;a--){let l=t.marks[a],c=r.lastChild;if(c instanceof Ve&&c.mark.eq(l.mark))c.dom!=l.dom&&c.setDOM(ra(l.dom)),r=c;else{if(this.cache.reused.get(l)){let f=ue.get(l.dom);f&&f.setDOM(ra(l.dom))}let h=Ve.of(l.mark,l.dom);r.append(h),r=h}this.cache.reused.set(l,2)}let s=ue.get(e.text);s&&this.cache.reused.set(s,2);let o=new Zi(e.text,e.text.nodeValue);o.flags|=8,this.pos=e.range.toB,r.append(o)}addInlineWidget(e,t,n){let r=this.afterWidget&&e.flags&48&&(this.afterWidget.flags&48)==(e.flags&48);r||this.flushBuffer();let s=this.ensureMarks(t,n);!r&&!(e.flags&16)&&s.append(this.getBuffer(1)),s.append(e),this.pos+=e.length,this.afterWidget=e}addMark(e,t,n){this.flushBuffer(),this.ensureMarks(t,n).append(e),this.pos+=e.length,this.afterWidget=null}addBlockWidget(e){this.getBlockPos().append(e),this.pos+=e.length,this.lastBlock=e,this.endLine()}continueWidget(e){let t=this.afterWidget||this.lastBlock;t.length+=e,this.pos+=e}addLineStart(e,t){var n;e||(e=xu);let r=mn.start(e,t||((n=this.cache.find(mn))===null||n===void 0?void 0:n.dom),!!t);this.getBlockPos().append(this.lastBlock=this.curLine=r)}addLine(e){this.getBlockPos().append(e),this.pos+=e.length,this.lastBlock=e,this.endLine()}addBreak(){this.lastBlock.flags|=1,this.endLine(),this.pos++}addLineStartIfNotCovered(e){this.blockPosCovered()||this.addLineStart(e)}ensureLine(e){this.curLine||this.addLineStart(e)}ensureMarks(e,t){var n;let r=this.curLine;for(let s=e.length-1;s>=0;s--){let o=e[s],a;if(t>0&&(a=r.lastChild)&&a instanceof Ve&&a.mark.eq(o))r=a,t--;else{let l=Ve.of(o,(n=this.cache.find(Ve,c=>c.mark.eq(o)))===null||n===void 0?void 0:n.dom);r.append(l),r=l,t=0}}return r}endLine(){if(this.curLine){this.flushBuffer();let e=this.curLine.lastChild;(!e||!_f(this.curLine,!1)||e.dom.nodeName!="BR"&&e.isWidget()&&!(L.ios&&_f(this.curLine,!0)))&&this.curLine.append(this.cache.findWidget(sa,0,32)||new zi(sa.toDOM(),0,sa,32)),this.curLine=this.afterWidget=null}}updateBlockWrappers(){this.wrapperPos>this.pos+1e4&&(this.blockWrappers.goto(this.pos),this.wrappers.length=0);for(let e=this.wrappers.length-1;e>=0;e--)this.wrappers[e].to=this.pos){let t=e.rank*102+e.value.rank,n=new ba(e.from,e.to,e.value,t),r=this.wrappers.length;for(;r>0&&(this.wrappers[r-1].rank-n.rank||this.wrappers[r-1].to-n.to)<0;)r--;this.wrappers.splice(r,0,n)}this.wrapperPos=this.pos}getBlockPos(){var e;this.updateBlockWrappers();let t=this.root;for(let n of this.wrappers){let r=t.lastChild;if(n.fromo.wrapper.eq(n.wrapper)))===null||e===void 0?void 0:e.dom);t.append(s),t=s}}return t}blockPosCovered(){let e=this.lastBlock;return e!=null&&!e.breakAfter&&(!e.isWidget()||(e.flags&160)>0)}getBuffer(e){let t=2|(e<0?16:32),n=this.cache.find(gn,void 0,1);return n&&(n.flags=t),n||new gn(t)}flushBuffer(){this.afterWidget&&!(this.afterWidget.flags&32)&&(this.afterWidget.parent.append(this.getBuffer(-1)),this.afterWidget=null)}},ya=class{constructor(e){this.skipCount=0,this.text="",this.textOff=0,this.cursor=e.iter()}skip(e){this.textOff+e<=this.text.length?this.textOff+=e:(this.skipCount+=e-(this.text.length-this.textOff),this.text="",this.textOff=0)}next(e){if(this.textOff==this.text.length){let{value:r,lineBreak:s,done:o}=this.cursor.next(this.skipCount);if(this.skipCount=0,o)throw new Error("Ran out of text content when drawing inline views");this.text=r;let a=this.textOff=Math.min(e,r.length);return s?null:r.slice(0,a)}let t=Math.min(this.text.length,this.textOff+e),n=this.text.slice(this.textOff,t);return this.textOff=t,n}},Os=[zi,mn,Zi,Ve,gn,Vt,pn];for(let i=0;i[]),this.index=Os.map(()=>0),this.reused=new Map}add(e){let t=e.constructor.bucket,n=this.buckets[t];n.length<6?n.push(e):n[this.index[t]=(this.index[t]+1)%6]=e}find(e,t,n=2){let r=e.bucket,s=this.buckets[r],o=this.index[r];for(let a=0;a{if(this.cache.add(o),o.isComposite())return!1},enter:o=>this.cache.add(o),leave:()=>{},break:()=>{}}}run(e,t){let n=t&&this.getCompositionContext(t.text);for(let r=0,s=0,o=0;;){let a=or){let c=l-r;this.preserve(c,!o,!a),r=l,s+=c}if(!a)break;t&&a.fromA<=t.range.fromA&&a.toA>=t.range.toA?(this.forward(a.fromA,t.range.fromA,t.range.fromA{if(o.isWidget())if(this.openWidget)this.builder.continueWidget(l-a);else{let c=l>0||a{o.isLine()?this.builder.addLineStart(o.attrs,this.cache.maybeReuse(o)):(this.cache.add(o),o instanceof Ve&&r.unshift(o.mark)),this.openWidget=!1},leave:o=>{o.isLine()?r.length&&(r.length=s=0):o instanceof Ve&&(r.shift(),s=Math.min(s,r.length))},break:()=>{this.builder.addBreak(),this.openWidget=!1}}),this.text.skip(e)}emit(e,t){let n=null,r=this.builder,s=-1,o=le.spans(this.decorations,e,t,{point:(a,l,c,h,f,u)=>{if(c instanceof Ei){if(this.disallowBlockEffectsFor[u]){if(c.block)throw new RangeError("Block decorations may not be specified via plugins");if(l>this.view.state.doc.lineAt(a).to)throw new RangeError("Decorations that replace line breaks may not be specified via plugins")}if(s=h.length,f>h.length)r.continueWidget(l-a);else{let O=c.widget||(c.block?fi.block:fi.inline),m=I0(c),p=this.cache.findWidget(O,l-a,m)||zi.of(O,this.view,l-a,m);c.block?(c.startSide>0&&r.addLineStartIfNotCovered(n),r.addBlockWidget(p)):(r.ensureLine(n),r.addInlineWidget(p,h,f))}n=null}else n=B0(n,c);l>a&&this.text.skip(l-a)},span:(a,l,c,h)=>{for(let f=a;f-1&&(this.openWidget=o>s),this.openWidget||r.addLineStartIfNotCovered(n),this.openMarks=o}forward(e,t,n=1){t-e<=10?this.old.advance(t-e,n,this.reuseWalker):(this.old.advance(5,-1,this.reuseWalker),this.old.advance(t-e-10,-1),this.old.advance(5,n,this.reuseWalker))}getCompositionContext(e){let t=[],n=null;for(let r=e.parentNode;;r=r.parentNode){let s=ue.get(r);if(r==this.view.contentDOM)break;s instanceof Ve?t.push(s):s?.isLine()?n=s:s instanceof Vt||(r.nodeName=="DIV"&&!n&&r!=this.view.contentDOM?n=new mn(r,xu):n||t.push(Ve.of(new ir({tagName:r.nodeName.toLowerCase(),attributes:P0(r)}),r)))}return{line:n,marks:t}}};function _f(i,e){let t=n=>{for(let r of n.children)if((e?r.isText():r.length)||t(r))return!0;return!1};return t(i)}function I0(i){let e=i.isReplace?(i.startSide<0?64:0)|(i.endSide>0?128:0):i.startSide>0?32:16;return i.block&&(e|=256),e}var xu={class:"cm-line"};function B0(i,e){let t=e.spec.attributes,n=e.spec.class;return!t&&!n||(i||(i={class:"cm-line"}),t&&Ba(t,i),n&&(i.class+=" "+n)),i}function U0(i){let e=[];for(let t=i.parents.length;t>1;t--){let n=t==i.parents.length?i.tile:i.parents[t].tile;n instanceof Ve&&e.push(n.mark)}return e}function ra(i){let e=ue.get(i);return e&&e.setDOM(i.cloneNode()),i}var fi=class extends Ce{constructor(e){super(),this.tag=e}eq(e){return e.tag==this.tag}toDOM(){return document.createElement(this.tag)}updateDOM(e){return e.nodeName.toLowerCase()==this.tag}get isHidden(){return!0}};fi.inline=new fi("span");fi.block=new fi("div");var sa=new class extends Ce{toDOM(){return document.createElement("br")}get isHidden(){return!0}get editable(){return!0}},ds=class{constructor(e){this.view=e,this.decorations=[],this.blockWrappers=[],this.dynamicDecorationMap=[!1],this.domChanged=null,this.hasComposition=null,this.editContextFormatting=R.none,this.lastCompositionAfterCursor=!1,this.minWidth=0,this.minWidthFrom=0,this.minWidthTo=0,this.impreciseAnchor=null,this.impreciseHead=null,this.forceSelection=!1,this.lastUpdate=Date.now(),this.updateDeco(),this.tile=new pn(e,e.contentDOM),this.updateInner([new yt(0,0,0,e.state.doc.length)],null)}update(e){var t;let n=e.changedRanges;this.minWidth>0&&n.length&&(n.every(({fromA:h,toA:f})=>fthis.minWidthTo)?(this.minWidthFrom=e.changes.mapPos(this.minWidthFrom,1),this.minWidthTo=e.changes.mapPos(this.minWidthTo,1)):this.minWidth=this.minWidthFrom=this.minWidthTo=0),this.updateEditContextFormatting(e);let r=-1;this.view.inputState.composing>=0&&!this.view.observer.editContext&&(!((t=this.domChanged)===null||t===void 0)&&t.newSel?r=this.domChanged.newSel.head:!tQ(e.changes,this.hasComposition)&&!e.selectionSet&&(r=e.state.selection.main.head));let s=r>-1?N0(this.view,e.changes,r):null;if(this.domChanged=null,this.hasComposition){let{from:h,to:f}=this.hasComposition;n=new yt(h,f,e.changes.mapPos(h,-1),e.changes.mapPos(f,1)).addToSet(n.slice())}this.hasComposition=s?{from:s.range.fromB,to:s.range.toB}:null,(L.ie||L.chrome)&&!s&&e&&e.state.doc.lines!=e.startState.doc.lines&&(this.forceSelection=!0);let o=this.decorations,a=this.blockWrappers;this.updateDeco();let l=K0(o,this.decorations,e.changes);l.length&&(n=yt.extendWithRanges(n,l));let c=J0(a,this.blockWrappers,e.changes);return c.length&&(n=yt.extendWithRanges(n,c)),s&&!n.some(h=>h.fromA<=s.range.fromA&&h.toA>=s.range.toA)&&(n=s.range.addToSet(n.slice())),this.tile.flags&2&&n.length==0?!1:(this.updateInner(n,s),e.transactions.length&&(this.lastUpdate=Date.now()),!0)}updateInner(e,t){this.view.viewState.mustMeasureContent=!0;let{observer:n}=this.view;n.ignore(()=>{if(t||e.length){let o=this.tile,a=new xa(this.view,o,this.blockWrappers,this.decorations,this.dynamicDecorationMap);t&&ue.get(t.text)&&a.cache.reused.set(ue.get(t.text),2),this.tile=a.run(e,t),wa(o,a.cache.reused)}this.tile.dom.style.height=this.view.viewState.contentHeight/this.view.scaleY+"px",this.tile.dom.style.flexBasis=this.minWidth?this.minWidth+"px":"";let s=L.chrome||L.ios?{node:n.selectionRange.focusNode,written:!1}:void 0;this.tile.sync(s),s&&(s.written||n.selectionRange.focusNode!=s.node||!this.tile.dom.contains(s.node))&&(this.forceSelection=!0),this.tile.dom.style.height=""});let r=[];if(this.view.viewport.from||this.view.viewport.to-1)&&Nn(n,this.view.observer.selectionRange)&&!(r&&n.contains(r));if(!(s||t||o))return;let a=this.forceSelection;this.forceSelection=!1;let l=this.view.state.selection.main,c,h;if(l.empty?h=c=this.inlineDOMNearPos(l.anchor,l.assoc||1):(h=this.inlineDOMNearPos(l.head,l.head==l.from?1:-1),c=this.inlineDOMNearPos(l.anchor,l.anchor==l.from?1:-1)),L.gecko&&l.empty&&!this.hasComposition&&G0(c)){let u=document.createTextNode("");this.view.observer.ignore(()=>c.node.insertBefore(u,c.node.childNodes[c.offset]||null)),c=h=new Rt(u,0),a=!0}let f=this.view.observer.selectionRange;(a||!f.focusNode||(!Fn(c.node,c.offset,f.anchorNode,f.anchorOffset)||!Fn(h.node,h.offset,f.focusNode,f.focusOffset))&&!this.suppressWidgetCursorChange(f,l))&&(this.view.observer.ignore(()=>{L.android&&L.chrome&&n.contains(f.focusNode)&&eQ(f.focusNode,n)&&(n.blur(),n.focus({preventScroll:!0}));let u=rr(this.view.root);if(u)if(l.empty){if(L.gecko){let O=F0(c.node,c.offset);if(O&&O!=3){let m=(O==1?iu:nu)(c.node,c.offset);m&&(c=new Rt(m.node,m.offset))}}u.collapse(c.node,c.offset),l.bidiLevel!=null&&u.caretBidiLevel!==void 0&&(u.caretBidiLevel=l.bidiLevel)}else if(u.extend){u.collapse(c.node,c.offset);try{u.extend(h.node,h.offset)}catch{}}else{let O=document.createRange();l.anchor>l.head&&([c,h]=[h,c]),O.setEnd(h.node,h.offset),O.setStart(c.node,c.offset),u.removeAllRanges(),u.addRange(O)}o&&this.view.root.activeElement==n&&(n.blur(),r&&r.focus())}),this.view.observer.setSelectionRange(c,h)),this.impreciseAnchor=c.precise?null:new Rt(f.anchorNode,f.anchorOffset),this.impreciseHead=h.precise?null:new Rt(f.focusNode,f.focusOffset)}suppressWidgetCursorChange(e,t){return this.hasComposition&&t.empty&&Fn(e.focusNode,e.focusOffset,e.anchorNode,e.anchorOffset)&&this.posFromDOM(e.focusNode,e.focusOffset)==t.head}enforceCursorAssoc(){if(this.hasComposition)return;let{view:e}=this,t=e.state.selection.main,n=rr(e.root),{anchorNode:r,anchorOffset:s}=e.observer.selectionRange;if(!n||!t.empty||!t.assoc||!n.modify)return;let o=this.lineAt(t.head,t.assoc);if(!o)return;let a=o.posAtStart;if(t.head==a||t.head==a+o.length)return;let l=this.coordsAt(t.head,-1),c=this.coordsAt(t.head,1);if(!l||!c||l.bottom>c.top)return;let h=this.domAtPos(t.head+t.assoc,t.assoc);n.collapse(h.node,h.offset),n.modify("move",t.assoc<0?"forward":"backward","lineboundary"),e.observer.readSelectionRange();let f=e.observer.selectionRange;e.docView.posFromDOM(f.anchorNode,f.anchorOffset)!=t.from&&n.collapse(r,s)}posFromDOM(e,t){let n=this.tile.nearest(e);if(!n)return this.tile.dom.compareDocumentPosition(e)&2?0:this.view.state.doc.length;let r=n.posAtStart;if(n.isComposite()){let s;if(e==n.dom)s=n.dom.childNodes[t];else{let o=Dt(e)==0?0:t==0?-1:1;for(;;){let a=e.parentNode;if(a==n.dom)break;o==0&&a.firstChild!=a.lastChild&&(e==a.firstChild?o=-1:o=1),e=a}o<0?s=e:s=e.nextSibling}if(s==n.dom.firstChild)return r;for(;s&&!ue.get(s);)s=s.nextSibling;if(!s)return r+n.length;for(let o=0,a=r;;o++){let l=n.children[o];if(l.dom==s)return a;a+=l.length+l.breakAfter}}else return n.isText()?e==n.dom?r+t:r+(t?n.length:0):r}domAtPos(e,t){let{tile:n,offset:r}=this.tile.resolveBlock(e,t);return n.isWidget()?n.domPosFor(r,t):n.domIn(r,t)}inlineDOMNearPos(e,t){let n,r=-1,s=!1,o,a=-1,l=!1;return this.tile.blockTiles((c,h)=>{if(c.isWidget()){if(c.flags&32&&h>=e)return!0;c.flags&16&&(s=!0)}else{let f=h+c.length;if(h<=e&&(n=c,r=e-h,s=f=e&&!o&&(o=c,a=e-h,l=h>e),h>e&&o)return!0}}),!n&&!o?this.domAtPos(e,t):(s&&o?n=null:l&&n&&(o=null),n&&t<0||!o?n.domIn(r,t):o.domIn(a,t))}coordsAt(e,t,n){let{tile:r,offset:s}=this.tile.resolveBlock(e,t);return r.isWidget()?r.widget instanceof Jn?null:r.coordsInWidget(s,t,!0):r.coordsIn(s,t,n)}lineAt(e,t){let{tile:n}=this.tile.resolveBlock(e,t);return n.isLine()?n:null}coordsForChar(e){let{tile:t,offset:n}=this.tile.resolveBlock(e,1);if(!t.isLine())return null;function r(s,o){if(s.isComposite())for(let a of s.children){if(a.length>=o){let l=r(a,o);if(l)return l}if(o-=a.length,o<0)break}else if(s.isText()&&oMath.max(this.view.scrollDOM.clientWidth,this.minWidth)+1,a=-1,l=this.view.textDirection==Oe.LTR,c=0,h=(f,u,O)=>{for(let m=0;mr);m++){let p=f.children[m],b=u+p.length,g=p.dom.getBoundingClientRect(),{height:Q}=g;if(O&&!m&&(c+=g.top-O.top),p instanceof Vt)b>n&&h(p,u,g);else if(u>=n&&(c>0&&t.push(-c),t.push(Q+c),c=0,o)){let S=p.dom.lastChild,x=S?as(S):[];if(x.length){let P=x[x.length-1],$=l?P.right-g.left:g.right-P.left;$>a&&(a=$,this.minWidth=s,this.minWidthFrom=u,this.minWidthTo=b)}}O&&m==f.children.length-1&&(c+=O.bottom-g.bottom),u=b+p.breakAfter}};return h(this.tile,0,null),t}textDirectionAt(e){let{tile:t}=this.tile.resolveBlock(e,1);return getComputedStyle(t.dom).direction=="rtl"?Oe.RTL:Oe.LTR}measureTextSize(){let e=this.tile.blockTiles(o=>{if(o.isLine()&&o.children.length&&o.length<=20){let a=0,l;for(let c of o.children){if(!c.isText()||/[^ -~]/.test(c.text))return;let h=as(c.dom);if(h.length!=1)return;a+=h[0].width,l=h[0].height}if(a)return{lineHeight:o.dom.getBoundingClientRect().height,charWidth:a/o.length,textHeight:l}}});if(e)return e;let t=document.createElement("div"),n,r,s;return t.className="cm-line",t.style.width="99999px",t.style.position="absolute",t.textContent="abc def ghi jkl mno pqr stu",this.view.observer.ignore(()=>{this.tile.dom.appendChild(t);let o=as(t.firstChild)[0];n=t.getBoundingClientRect().height,r=o&&o.width?o.width/27:7,s=o&&o.height?o.height:n,t.remove()}),{lineHeight:n,charWidth:r,textHeight:s}}computeBlockGapDeco(){let e=[],t=this.view.viewState;for(let n=0,r=0;;r++){let s=r==t.viewports.length?null:t.viewports[r],o=s?s.from-1:this.view.state.doc.length;if(o>n){let a=(t.lineBlockAt(o).bottom-t.lineBlockAt(n).top)/this.view.scaleY;e.push(R.replace({widget:new Jn(a),block:!0,inclusive:!0,isBlockGap:!0}).range(n,o))}if(!s)break;n=s.to+1}return R.set(e)}updateDeco(){let e=1,t=this.view.state.facet(ks).map(s=>(this.dynamicDecorationMap[e++]=typeof s=="function")?s(this.view):s),n=!1,r=this.view.state.facet(Ka).map((s,o)=>{let a=typeof s=="function";return a&&(n=!0),a?s(this.view):s});for(r.length&&(this.dynamicDecorationMap[e++]=n,t.push(le.join(r))),this.decorations=[this.editContextFormatting,...t,this.computeBlockGapDeco(),this.view.viewState.lineGapDeco];etypeof s=="function"?s(this.view):s)}scrollIntoView(e){if(e.isSnapshot){let c=this.view.viewState.lineBlockAt(e.range.head);this.view.scrollDOM.scrollTop=c.top-e.yMargin,this.view.scrollDOM.scrollLeft=e.xMargin;return}for(let c of this.view.state.facet(mu))try{if(c(this.view,e.range,e))return!0}catch(h){ft(this.view.state,h,"scroll handler")}let{range:t}=e,n=this.coordsAt(t.head,t.assoc||(t.head>t.anchor?-1:1)),r;if(!n)return;!t.empty&&(r=this.coordsAt(t.anchor,t.anchor>t.head?-1:1))&&(n={left:Math.min(n.left,r.left),top:Math.min(n.top,r.top),right:Math.max(n.right,r.right),bottom:Math.max(n.bottom,r.bottom)});let s=ku(this.view),o={left:n.left-s.left,top:n.top-s.top,right:n.right+s.right,bottom:n.bottom+s.bottom},{offsetWidth:a,offsetHeight:l}=this.view.scrollDOM;if(T0(this.view.scrollDOM,o,t.head1&&(n.top>window.pageYOffset+window.visualViewport.offsetTop+window.visualViewport.height||n.bottomn.isWidget()||n.children.some(t);return t(this.tile.resolveBlock(e,1).tile)}destroy(){wa(this.tile)}};function wa(i,e){let t=e?.get(i);if(t!=1){t==null&&i.destroy();for(let n of i.children)wa(n,e)}}function G0(i){return i.node.nodeType==1&&i.node.firstChild&&(i.offset==0||i.node.childNodes[i.offset-1].contentEditable=="false")&&(i.offset==i.node.childNodes.length||i.node.childNodes[i.offset].contentEditable=="false")}function wu(i,e){let t=i.observer.selectionRange;if(!t.focusNode)return null;let n=iu(t.focusNode,t.focusOffset),r=nu(t.focusNode,t.focusOffset),s=n||r;if(r&&n&&r.node!=n.node){let a=ue.get(r.node);if(!a||a.isText()&&a.text!=r.node.nodeValue)s=r;else if(i.docView.lastCompositionAfterCursor){let l=ue.get(n.node);!l||l.isText()&&l.text!=n.node.nodeValue||(s=r)}}if(i.docView.lastCompositionAfterCursor=s!=n,!s)return null;let o=e-s.offset;return{from:o,to:o+s.node.nodeValue.length,node:s.node}}function N0(i,e,t){let n=wu(i,t);if(!n)return null;let{node:r,from:s,to:o}=n,a=r.nodeValue;if(/[\n\r]/.test(a)||i.state.doc.sliceString(n.from,n.to)!=a)return null;let l=e.invertedDesc;return{range:new yt(l.mapPos(s),l.mapPos(o),s,o),text:r}}function F0(i,e){return i.nodeType!=1?0:(e&&i.childNodes[e-1].contentEditable=="false"?1:0)|(e{ne.from&&(t=!0)}),t}var Jn=class extends Ce{constructor(e){super(),this.height=e}toDOM(){let e=document.createElement("div");return e.className="cm-gap",this.updateDOM(e),e}eq(e){return e.height==this.height}updateDOM(e){return e.style.height=this.height+"px",!0}get editable(){return!0}get estimatedHeight(){return this.height}ignoreEvent(){return!1}};function iQ(i,e,t=1){let n=i.charCategorizer(e),r=i.doc.lineAt(e),s=e-r.from;if(r.length==0)return v.cursor(e);s==0?t=1:s==r.length&&(t=-1);let o=s,a=s;t<0?o=xe(r.text,s,!1):a=xe(r.text,s);let l=n(r.text.slice(o,a));for(;o>0;){let c=xe(r.text,o,!1);if(n(r.text.slice(c,o))!=l)break;o=c}for(;ai.defaultLineHeight*1.5){let a=i.viewState.heightOracle.textHeight,l=Math.floor((r-t.top-(i.defaultLineHeight-a)*.5)/a);s+=l*i.viewState.heightOracle.lineLength}let o=i.state.sliceDoc(t.from,t.to);return t.from+Qf(o,s,i.state.tabSize)}function rQ(i,e,t){let n=i.lineBlockAt(e);if(Array.isArray(n.type)){let r;for(let s of n.type){if(s.from>e)break;if(!(s.toe)return s;(!r||s.type==ut.Text&&(r.type!=s.type||(t<0?s.frome)))&&(r=s)}}return r||n}return n}function sQ(i,e,t,n){let r=rQ(i,e.head,e.assoc||-1),s=!n||r.type!=ut.Text||!(i.lineWrapping||r.widgetLineBreaks)?null:i.coordsAtPos(e.assoc<0&&e.head>r.from?e.head-1:e.head);if(s){let o=i.dom.getBoundingClientRect(),a=i.textDirectionAt(r.from),l=i.posAtCoords({x:t==(a==Oe.LTR)?o.right-1:o.left+1,y:(s.top+s.bottom)/2});if(l!=null)return v.cursor(l,t?-1:1)}return v.cursor(t?r.to:r.from,t?-1:1)}function Rf(i,e,t,n){let r=i.state.doc.lineAt(e.head),s=i.bidiSpans(r),o=i.textDirectionAt(r.from);for(let a=e,l=null;;){let c=L0(r,s,o,a,t),h=lu;if(!c){if(r.number==(t?i.state.doc.lines:1))return a;h=` -`,r=i.state.doc.line(r.number+(t?1:-1)),s=i.bidiSpans(r),c=i.visualLineSide(r,!t)}if(l){if(!l(h))return a}else{if(!n)return c;l=n(h)}a=c}}function oQ(i,e,t){let n=i.state.charCategorizer(e),r=n(t);return s=>{let o=n(s);return r==qe.Space&&(r=o),r==o}}function aQ(i,e,t,n){let r=e.head,s=t?1:-1;if(r==(t?i.state.doc.length:0))return v.cursor(r,e.assoc);let o=e.goalColumn,a,l=i.contentDOM.getBoundingClientRect(),c=i.coordsAtPos(r,e.assoc||((e.empty?t:e.head==e.from)?1:-1)),h=i.documentTop;if(c)o==null&&(o=c.left-l.left),a=s<0?c.top:c.bottom;else{let m=i.viewState.lineBlockAt(r);o==null&&(o=Math.min(l.right-l.left,i.defaultCharacterWidth*(r-m.from))),a=(s<0?m.top:m.bottom)+h}let f=l.left+o,u=i.viewState.heightOracle.textHeight>>1,O=n??u;for(let m=0;;m+=u){let p=a+(O+m)*s,b=va(i,{x:f,y:p},!1,s);if(t?p>l.bottom:pa:Q{if(e>s&&er(i)),t.from,e.head>t.from?-1:1);return n==t.from?t:v.cursor(n,ni.viewState.docHeight)return new ct(i.state.doc.length,-1);if(c=i.elementAtHeight(l),n==null)break;if(c.type==ut.Text){if(n<0?c.toi.viewport.to)break;let u=i.docView.coordsAt(n<0?c.from:c.to,n>0?-1:1);if(u&&(n<0?u.top<=l+s:u.bottom>=l+s))break}let f=i.viewState.heightOracle.textHeight/2;l=n>0?c.bottom+f:c.top-f}if(i.viewport.from>=c.to||i.viewport.to<=c.from){if(t)return null;if(c.type==ut.Text){let f=nQ(i,r,c,o,a);return new ct(f,f==c.from?1:-1)}}if(c.type!=ut.Text)return l<(c.top+c.bottom)/2?new ct(c.from,1):new ct(c.to,-1);let h=i.docView.lineAt(c.from,2);return(!h||h.length!=c.length)&&(h=i.docView.lineAt(c.from,-2)),new $a(i,o,a,i.textDirectionAt(c.from)).scanTile(h,c.from)}var $a=class{constructor(e,t,n,r){this.view=e,this.x=t,this.y=n,this.baseDir=r,this.line=null,this.spans=null}bidiSpansAt(e){return(!this.line||this.line.from>e||this.line.to1||n.length&&(n[0].level!=this.baseDir||n[0].to+r.from>1;t:if(o.has(p)){let g=r+Math.floor(Math.random()*m);for(let Q=0;Q1)){if(Q.bottomthis.y)(!c||c.top>Q.top)&&(c=Q),S=-1;else{let x=Q.left>this.x?this.x-Q.left:Q.right(m+m+p)/3)return this.y=l.bottom-1,this.scan(e,t,!0);if(c&&c.top<(m+p+p)/3)return this.y=c.top+1,this.scan(e,t,!0)}let O=(a?this.dirAt(e[h],1):this.baseDir)==Oe.LTR;return{i:h,after:this.x>(u.left+u.right)/2==O}}scanText(e,t){let n=[];for(let s=0;s{let o=n[s]-t,a=n[s+1]-t;return sr(e.dom,o,a).getClientRects()});return r.after?new ct(n[r.i+1],-1):new ct(n[r.i],1)}scanTile(e,t){if(!e.length)return new ct(t,1);if(e.children.length==1){let a=e.children[0];if(a.isText())return this.scanText(a,t);if(a.isComposite())return this.scanTile(a,t)}let n=[t];for(let a=0,l=t;a{let l=e.children[a];return l.flags&48?null:(l.dom.nodeType==1?l.dom:sr(l.dom,0,l.length)).getClientRects()}),s=e.children[r.i],o=n[r.i];return s.isText()?this.scanText(s,o):s.isComposite()?this.scanTile(s,o):r.after?new ct(n[r.i+1],-1):new ct(o,1)}},cn="\uFFFF",Ta=class{constructor(e,t){this.points=e,this.view=t,this.text="",this.lineSeparator=t.state.facet(se.lineSeparator)}append(e){this.text+=e}lineBreak(){this.text+=cn}readRange(e,t){if(!e)return this;let n=e.parentNode;for(let r=e;;){this.findPointBefore(n,r);let s=this.text.length;this.readNode(r);let o=ue.get(r),a=r.nextSibling;if(a==t){o?.breakAfter&&!a&&n!=this.view.contentDOM&&this.lineBreak();break}let l=ue.get(a);(o&&l?o.breakAfter:(o?o.breakAfter:hs(r))||hs(a)&&(r.nodeName!="BR"||o?.isWidget())&&this.text.length>s)&&!cQ(a,t)&&this.lineBreak(),r=a}return this.findPointBefore(n,t),this}readTextNode(e){let t=e.nodeValue;for(let n of this.points)n.node==e&&(n.pos=this.text.length+Math.min(n.offset,t.length));for(let n=0,r=this.lineSeparator?null:/\r\n?|\n/g;;){let s=-1,o=1,a;if(this.lineSeparator?(s=t.indexOf(this.lineSeparator,n),o=this.lineSeparator.length):(a=r.exec(t))&&(s=a.index,o=a[0].length),this.append(t.slice(n,s<0?t.length:s)),s<0)break;if(this.lineBreak(),o>1)for(let l of this.points)l.node==e&&l.pos>this.text.length&&(l.pos-=o-1);n=s+o}}readNode(e){let t=ue.get(e),n=t&&t.overrideDOMText;if(n!=null){this.findPointInside(e,n.length);for(let r=n.iter();!r.next().done;)r.lineBreak?this.lineBreak():this.append(r.value)}else e.nodeType==3?this.readTextNode(e):e.nodeName=="BR"?e.nextSibling&&this.lineBreak():e.nodeType==1&&this.readRange(e.firstChild,null)}findPointBefore(e,t){for(let n of this.points)n.node==e&&e.childNodes[n.offset]==t&&(n.pos=this.text.length)}findPointInside(e,t){for(let n of this.points)(e.nodeType==3?n.node==e:e.contains(n.node))&&(n.pos=this.text.length+(lQ(e,n.node,n.offset)?t:0))}};function lQ(i,e,t){for(;;){if(!e||t-1;let{impreciseHead:s,impreciseAnchor:o}=e.docView,a=e.state.selection;if(e.state.readOnly&&t>-1)this.newSel=null;else if(t>-1&&(this.bounds=vu(e.docView.tile,t,n,0))){let l=s||o?[]:fQ(e),c=new Ta(l,e);c.readRange(this.bounds.startDOM,this.bounds.endDOM),this.text=c.text,this.newSel=uQ(l,this.bounds.from)}else{let l=e.observer.selectionRange,c=s&&s.node==l.focusNode&&s.offset==l.focusOffset||!ua(e.contentDOM,l.focusNode)?a.main.head:e.docView.posFromDOM(l.focusNode,l.focusOffset),h=o&&o.node==l.anchorNode&&o.offset==l.anchorOffset||!ua(e.contentDOM,l.anchorNode)?a.main.anchor:e.docView.posFromDOM(l.anchorNode,l.anchorOffset),f=e.viewport;if((L.ios||L.chrome)&&c!=h&&Math.min(c,h)<=a.main.from&&Math.max(c,h)>=a.main.to&&(f.from>0||f.to-1&&a.ranges.length>1)this.newSel=a.replaceRange(v.range(h,c));else if(e.lineWrapping&&h==c&&!(a.main.empty&&a.main.head==c)&&e.inputState.lastTouchTime>Date.now()-100){let u=e.coordsAtPos(c,-1),O=0;u&&(O=e.inputState.lastTouchY<=u.bottom?-1:1),this.newSel=v.create([v.cursor(c,O)])}else this.newSel=v.single(h,c)}}};function vu(i,e,t,n){if(i.isComposite()){let r=-1,s=-1,o=-1,a=-1;for(let l=0,c=n,h=n;lt)return vu(f,e,t,c);if(u>=e&&r==-1&&(r=l,s=c),c>t&&f.dom.parentNode==i.dom){o=l,a=h;break}h=u,c=u+f.breakAfter}return{from:s,to:a<0?n+i.length:a,startDOM:(r?i.children[r-1].dom.nextSibling:null)||i.dom.firstChild,endDOM:o=0?i.children[o].dom:null}}else return i.isText()?{from:n,to:n+i.length,startDOM:i.dom,endDOM:i.dom.nextSibling}:null}function $u(i,e){let t,{newSel:n}=e,{state:r}=i,s=r.selection.main,o=i.inputState.lastKeyTime>Date.now()-100?i.inputState.lastKeyCode:-1;if(e.bounds){let{from:a,to:l}=e.bounds,c=s.from,h=null;(o===8||L.android&&e.text.length=a&&s.to<=l&&(e.typeOver||f!=e.text)&&f.slice(0,s.from-a)==e.text.slice(0,s.from-a)&&f.slice(s.to-a)==e.text.slice(u=e.text.length-(f.length-(s.to-a)))?t={from:s.from,to:s.to,insert:J.of(e.text.slice(s.from-a,u).split(cn))}:(O=Tu(f,e.text,c-a,h))&&(L.chrome&&o==13&&O.toB==O.from+2&&e.text.slice(O.from,O.toB)==cn+cn&&O.toB--,t={from:a+O.from,to:a+O.toA,insert:J.of(e.text.slice(O.from,O.toB).split(cn))})}else n&&(!i.hasFocus&&r.facet(jt)||ms(n,s))&&(n=null);if(!t&&!n)return!1;if((L.mac||L.android)&&t&&t.from==t.to&&t.from==s.head-1&&/^\. ?$/.test(t.insert.toString())&&i.contentDOM.getAttribute("autocorrect")=="off"?(n&&t.insert.length==2&&(n=v.single(n.main.anchor-1,n.main.head-1)),t={from:t.from,to:t.to,insert:J.of([t.insert.toString().replace("."," ")])}):r.doc.lineAt(s.from).toDate.now()-50?t={from:s.from,to:s.to,insert:r.toText(i.inputState.insertingText)}:L.chrome&&t&&t.from==t.to&&t.from==s.head&&t.insert.toString()==` - `&&i.lineWrapping&&(n&&(n=v.single(n.main.anchor-1,n.main.head-1)),t={from:s.from,to:s.to,insert:J.of([" "])}),t)return Ja(i,t,n,o);if(n&&!ms(n,s)){let a=!1,l="select";return i.inputState.lastSelectionTime>Date.now()-50&&(i.inputState.lastSelectionOrigin=="select"&&(a=!0),l=i.inputState.lastSelectionOrigin,l=="select.pointer"&&(n=Pu(r.facet(or).map(c=>c(i)),n))),i.dispatch({selection:n,scrollIntoView:a,userEvent:l}),!0}else return!1}function Ja(i,e,t,n=-1){if(L.ios&&i.inputState.flushIOSKey(e))return!0;let r=i.state.selection.main;if(L.android&&(e.to==r.to&&(e.from==r.from||e.from==r.from-1&&i.state.sliceDoc(e.from,r.from)==" ")&&e.insert.length==1&&e.insert.lines==2&&On(i.contentDOM,"Enter",13)||(e.from==r.from-1&&e.to==r.to&&e.insert.length==0||n==8&&e.insert.lengthr.head)&&On(i.contentDOM,"Backspace",8)||e.from==r.from&&e.to==r.to+1&&e.insert.length==0&&On(i.contentDOM,"Delete",46)))return!0;let s=e.insert.toString();i.inputState.composing>=0&&i.inputState.composing++;let o,a=()=>o||(o=hQ(i,e,t));return i.state.facet(Ou).some(l=>l(i,e.from,e.to,s,a))||i.dispatch(a()),!0}function hQ(i,e,t){let n,r=i.state,s=r.selection.main,o=-1;if(e.from==e.to&&e.froms.to){let l=e.fromf(i)),c,l);e.from==h&&(o=h)}if(o>-1)n={changes:e,selection:v.cursor(e.from+e.insert.length,-1)};else if(e.from>=s.from&&e.to<=s.to&&e.to-e.from>=(s.to-s.from)/3&&(!t||t.main.empty&&t.main.from==e.from+e.insert.length)&&i.inputState.composing<0){let l=s.frome.to?r.sliceDoc(e.to,s.to):"";n=r.replaceSelection(i.state.toText(l+e.insert.sliceString(0,void 0,i.state.lineBreak)+c))}else{let l=r.changes(e),c=t&&t.main.to<=l.newLength?t.main:void 0;if(r.selection.ranges.length>1&&(i.inputState.composing>=0||i.inputState.compositionPendingChange)&&e.to<=s.to+10&&e.to>=s.to-10){let h=i.state.sliceDoc(e.from,e.to),f,u=t&&wu(i,t.main.head);if(u){let m=e.insert.length-(e.to-e.from);f={from:u.from,to:u.to-m}}else f=i.state.doc.lineAt(s.head);let O=s.to-e.to;n=r.changeByRange(m=>{if(m.from==s.from&&m.to==s.to)return{changes:l,range:c||m.map(l)};let p=m.to-O,b=p-h.length;if(i.state.sliceDoc(b,p)!=h||p>=f.from&&b<=f.to)return{range:m};let g=r.changes({from:b,to:p,insert:e.insert}),Q=m.to-s.to;return{changes:g,range:c?v.range(Math.max(0,c.anchor+Q),Math.max(0,c.head+Q)):m.map(g)}})}else n={changes:l,selection:c&&r.selection.replaceRange(c)}}let a="input.type";return(i.composing||i.inputState.compositionPendingChange&&i.inputState.compositionEndedAt>Date.now()-50)&&(i.inputState.compositionPendingChange=!1,a+=".compose",i.inputState.compositionFirstChange&&(a+=".start",i.inputState.compositionFirstChange=!1)),r.update(n,{userEvent:a,scrollIntoView:!0})}function Tu(i,e,t,n){let r=Math.min(i.length,e.length),s=0;for(;s0&&a>0&&i.charCodeAt(o-1)==e.charCodeAt(a-1);)o--,a--;if(n=="end"){let l=Math.max(0,s-Math.min(o,a));t-=o+l-s}if(o=o?s-t:0;s-=l,a=s+(a-o),o=s}else if(a=a?s-t:0;s-=l,o=s+(o-a),a=s}return{from:s,toA:o,toB:a}}function fQ(i){let e=[];if(i.root.activeElement!=i.contentDOM)return e;let{anchorNode:t,anchorOffset:n,focusNode:r,focusOffset:s}=i.observer.selectionRange;return t&&(e.push(new ps(t,n)),(r!=t||s!=n)&&e.push(new ps(r,s))),e}function uQ(i,e){if(i.length==0)return null;let t=i[0].pos,n=i.length==2?i[1].pos:t;return t>-1&&n>-1?v.single(t+e,n+e):null}function ms(i,e){return e.head==i.main.head&&e.anchor==i.main.anchor}var Xa=class{setSelectionOrigin(e){this.lastSelectionOrigin=e,this.lastSelectionTime=Date.now()}constructor(e){this.view=e,this.lastKeyCode=0,this.lastKeyTime=0,this.touchActive=!1,this.lastTouchTime=0,this.lastTouchX=0,this.lastTouchY=0,this.lastFocusTime=0,this.lastScrollTop=0,this.lastScrollLeft=0,this.lastWheelEvent=0,this.pendingIOSKey=void 0,this.lastIOSMomentumScroll=0,this.tabFocusMode=-1,this.lastSelectionOrigin=null,this.lastSelectionTime=0,this.lastContextMenu=0,this.scrollHandlers=[],this.handlers=Object.create(null),this.composing=-1,this.compositionFirstChange=null,this.compositionEndedAt=0,this.compositionPendingKey=!1,this.compositionPendingChange=!1,this.insertingText="",this.insertingTextAt=0,this.mouseSelection=null,this.draggedContent=null,this.handleEvent=this.handleEvent.bind(this),this.notifiedFocused=e.hasFocus,L.safari&&e.contentDOM.addEventListener("input",()=>null),L.gecko&&$Q(e.contentDOM.ownerDocument)}handleEvent(e){!SQ(this.view,e)||this.ignoreDuringComposition(e)||e.type=="keydown"&&this.keydown(e)||(this.view.updateState!=0?Promise.resolve().then(()=>this.runHandlers(e.type,e)):this.runHandlers(e.type,e))}runHandlers(e,t){let n=this.handlers[e];if(n){for(let r of n.observers)r(this.view,t);for(let r of n.handlers){if(t.defaultPrevented)break;if(r(this.view,t)){t.preventDefault();break}}}}ensureHandlers(e){let t=dQ(e),n=this.handlers,r=this.view.contentDOM;for(let s in t)if(s!="scroll"){let o=!t[s].handlers.length,a=n[s];a&&o!=!a.handlers.length&&(r.removeEventListener(s,this.handleEvent),a=null),a||r.addEventListener(s,this.handleEvent,{passive:o})}for(let s in n)s!="scroll"&&!t[s]&&r.removeEventListener(s,this.handleEvent);this.handlers=t}keydown(e){if(this.lastKeyCode=e.keyCode,this.lastKeyTime=Date.now(),e.keyCode==9&&this.tabFocusMode>-1&&(!this.tabFocusMode||Date.now()<=this.tabFocusMode))return!0;if(this.tabFocusMode>0&&e.keyCode!=27&&Xu.indexOf(e.keyCode)<0&&(this.tabFocusMode=-1),L.android&&L.chrome&&!e.synthetic&&(e.keyCode==13||e.keyCode==8))return this.view.observer.delayAndroidKey(e.key,e.keyCode),!0;if(L.ios&&!e.synthetic&&!e.altKey&&!e.metaKey&&(Cu.some(t=>t.keyCode==e.keyCode)&&!e.ctrlKey||pQ.indexOf(e.key)>-1&&e.ctrlKey)){let t={ctrlKey:e.ctrlKey,altKey:e.altKey,metaKey:e.metaKey,shiftKey:e.shiftKey};return t.shiftKey&&L.ios&&!/^(off|none)$/.test(this.view.contentDOM.autocapitalize)&&OQ(this.view.win)&&(t.shiftKey=!1),this.pendingIOSKey={key:e.key,keyCode:e.keyCode,mods:t},setTimeout(()=>this.flushIOSKey(),250),!0}return e.keyCode!=229&&this.view.observer.forceFlush(),!1}flushIOSKey(e){let t=this.pendingIOSKey;return!t||t.key=="Enter"&&e&&e.from0?!0:L.safari&&!L.ios&&this.compositionPendingKey&&Date.now()-this.compositionEndedAt<100?(this.compositionPendingKey=!1,!0):!1}startMouseSelection(e){this.mouseSelection&&this.mouseSelection.destroy(),this.mouseSelection=e}update(e){this.view.observer.update(e),this.mouseSelection&&this.mouseSelection.update(e),this.draggedContent&&e.docChanged&&(this.draggedContent=this.draggedContent.map(e.changes)),e.transactions.length&&(this.lastKeyCode=this.lastSelectionTime=0)}destroy(){this.mouseSelection&&this.mouseSelection.destroy()}};function OQ(i){return i.visualViewport?i.visualViewport.height*i.visualViewport.scale/i.document.documentElement.clientHeight<.85:!1}function Af(i,e){return(t,n)=>{try{return e.call(i,n,t)}catch(r){ft(t.state,r)}}}function dQ(i){let e=Object.create(null);function t(n){return e[n]||(e[n]={observers:[],handlers:[]})}for(let n of i){let r=n.spec,s=r&&r.plugin.domEventHandlers,o=r&&r.plugin.domEventObservers;if(s)for(let a in s){let l=s[a];l&&t(a).handlers.push(Af(n.value,l))}if(o)for(let a in o){let l=o[a];l&&t(a).observers.push(Af(n.value,l))}}for(let n in kt)t(n).handlers.push(kt[n]);for(let n in Me)t(n).observers.push(Me[n]);return e}var Cu=[{key:"Backspace",keyCode:8,inputType:"deleteContentBackward"},{key:"Enter",keyCode:13,inputType:"insertParagraph"},{key:"Enter",keyCode:13,inputType:"insertLineBreak"},{key:"Delete",keyCode:46,inputType:"deleteContentForward"}],pQ="dthko",Xu=[16,17,18,20,91,92,224,225],ts=6;function is(i){return Math.max(0,i)*.7+8}function mQ(i,e){return Math.max(Math.abs(i.clientX-e.clientX),Math.abs(i.clientY-e.clientY))}var _a=class{constructor(e,t,n,r){this.view=e,this.startEvent=t,this.style=n,this.mustSelect=r,this.scrollSpeed={x:0,y:0},this.scrolling=-1,this.lastEvent=t,this.scrollParents=Jf(e.contentDOM),this.atoms=e.state.facet(or).map(o=>o(e));let s=e.contentDOM.ownerDocument;s.addEventListener("mousemove",this.move=this.move.bind(this)),s.addEventListener("mouseup",this.up=this.up.bind(this)),this.extend=t.shiftKey,this.multiple=e.state.facet(se.allowMultipleSelections)&&gQ(e,t),this.dragging=bQ(e,t)&&Au(t)==1?null:!1}start(e){this.dragging===!1&&this.select(e)}move(e){if(e.buttons==0)return this.destroy();if(this.dragging||this.dragging==null&&mQ(this.startEvent,e)<10)return;this.select(this.lastEvent=e);let t=0,n=0,r=0,s=0,o=this.view.win.innerWidth,a=this.view.win.innerHeight;this.scrollParents.x&&({left:r,right:o}=this.scrollParents.x.getBoundingClientRect()),this.scrollParents.y&&({top:s,bottom:a}=this.scrollParents.y.getBoundingClientRect());let l=ku(this.view);e.clientX-l.left<=r+ts?t=-is(r-e.clientX):e.clientX+l.right>=o-ts&&(t=is(e.clientX-o)),e.clientY-l.top<=s+ts?n=-is(s-e.clientY):e.clientY+l.bottom>=a-ts&&(n=is(e.clientY-a)),this.setScrollSpeed(t,n)}up(e){this.dragging==null&&this.select(this.lastEvent),this.dragging||e.preventDefault(),this.destroy()}destroy(){this.setScrollSpeed(0,0);let e=this.view.contentDOM.ownerDocument;e.removeEventListener("mousemove",this.move),e.removeEventListener("mouseup",this.up),this.view.inputState.mouseSelection=this.view.inputState.draggedContent=null}setScrollSpeed(e,t){this.scrollSpeed={x:e,y:t},e||t?this.scrolling<0&&(this.scrolling=setInterval(()=>this.scroll(),50)):this.scrolling>-1&&(clearInterval(this.scrolling),this.scrolling=-1)}scroll(){let{x:e,y:t}=this.scrollSpeed;e&&this.scrollParents.x&&(this.scrollParents.x.scrollLeft+=e,e=0),t&&this.scrollParents.y&&(this.scrollParents.y.scrollTop+=t,t=0),(e||t)&&this.view.win.scrollBy(e,t),this.dragging===!1&&this.select(this.lastEvent)}select(e){let{view:t}=this,n=Pu(this.atoms,this.style.get(e,this.extend,this.multiple));(this.mustSelect||!n.eq(t.state.selection,this.dragging===!1))&&this.view.dispatch({selection:n,userEvent:"select.pointer"}),this.mustSelect=!1}update(e){e.transactions.some(t=>t.isUserEvent("input.type"))?this.destroy():this.style.update(e)&&setTimeout(()=>this.select(this.lastEvent),20)}};function gQ(i,e){let t=i.state.facet(cu);return t.length?t[0](e):L.mac?e.metaKey:e.ctrlKey}function QQ(i,e){let t=i.state.facet(hu);return t.length?t[0](e):L.mac?!e.altKey:!e.ctrlKey}function bQ(i,e){let{main:t}=i.state.selection;if(t.empty)return!1;let n=rr(i.root);if(!n||n.rangeCount==0)return!0;let r=n.getRangeAt(0).getClientRects();for(let s=0;s=e.clientX&&o.top<=e.clientY&&o.bottom>=e.clientY)return!0}return!1}function SQ(i,e){if(!e.bubbles)return!0;if(e.defaultPrevented)return!1;for(let t=e.target,n;t!=i.contentDOM;t=t.parentNode)if(!t||t.nodeType==11||(n=ue.get(t))&&n.isWidget()&&!n.isHidden&&n.widget.ignoreEvent(e))return!1;return!0}var kt=Object.create(null),Me=Object.create(null),_u=L.ie&&L.ie_version<15||L.ios&&L.webkit_version<604;function yQ(i){let e=i.dom.parentNode;if(!e)return;let t=e.appendChild(document.createElement("textarea"));t.style.cssText="position: fixed; left: -10000px; top: 10px",t.focus(),setTimeout(()=>{i.focus(),t.remove(),Ru(i,t.value)},50)}function xs(i,e,t){for(let n of i.facet(e))t=n(t,i);return t}function Ru(i,e){e=xs(i.state,Na,e);let{state:t}=i,n,r=1,s=t.toText(e),o=s.lines==t.selection.ranges.length;if(Ra!=null&&t.selection.ranges.every(l=>l.empty)&&Ra==s.toString()){let l=-1;n=t.changeByRange(c=>{let h=t.doc.lineAt(c.from);if(h.from==l)return{range:c};l=h.from;let f=t.toText((o?s.line(r++).text:e)+t.lineBreak);return{changes:{from:h.from,insert:f},range:v.cursor(c.from+f.length)}})}else o?n=t.changeByRange(l=>{let c=s.line(r++);return{changes:{from:l.from,to:l.to,insert:c.text},range:v.cursor(l.from+c.length)}}):n=t.replaceSelection(s);i.dispatch(n,{userEvent:"input.paste",scrollIntoView:!0})}Me.scroll=i=>{let e=i.inputState;e.lastScrollTop=i.scrollDOM.scrollTop,e.lastScrollLeft=i.scrollDOM.scrollLeft,L.ios&&!e.touchActive&&(e.lastIOSMomentumScroll=Date.now())};Me.wheel=Me.mousewheel=i=>{i.inputState.lastWheelEvent=Date.now()};kt.keydown=(i,e)=>(i.inputState.setSelectionOrigin("select"),e.keyCode==27&&i.inputState.tabFocusMode!=0&&(i.inputState.tabFocusMode=Date.now()+2e3),!1);Me.touchstart=(i,e)=>{let t=i.inputState,n=e.targetTouches[0];t.touchActive=!0,t.lastTouchTime=Date.now(),n&&(t.lastTouchX=n.clientX,t.lastTouchY=n.clientY),t.setSelectionOrigin("select.pointer")};Me.touchmove=i=>{i.inputState.setSelectionOrigin("select.pointer")};Me.touchend=(i,e)=>{i.inputState.touchActive=!1};kt.mousedown=(i,e)=>{if(i.observer.flush(),i.inputState.lastTouchTime>Date.now()-2e3)return!1;let t=null;for(let n of i.state.facet(fu))if(t=n(i,e),t)break;if(!t&&e.button==0&&(t=xQ(i,e)),t){let n=!i.hasFocus;i.inputState.startMouseSelection(new _a(i,e,t,n)),n&&i.observer.ignore(()=>{eu(i.contentDOM);let s=i.root.activeElement;s&&!s.contains(i.contentDOM)&&s.blur()});let r=i.inputState.mouseSelection;if(r)return r.start(e),r.dragging===!1}else i.inputState.setSelectionOrigin("select.pointer");return!1};function Zf(i,e,t,n){if(n==1)return v.cursor(e,t);if(n==2)return iQ(i.state,e,t);{let r=i.docView.lineAt(e,t),s=i.state.doc.lineAt(r?r.posAtEnd:e),o=r?r.posAtStart:s.from,a=r?r.posAtEnd:s.to;return aDate.now()-400&&Math.abs(e.clientX-i.clientX)<2&&Math.abs(e.clientY-i.clientY)<2?(qf+1)%3:1}function xQ(i,e){let t=i.posAndSideAtCoords({x:e.clientX,y:e.clientY},!1),n=Au(e),r=i.state.selection;return{update(s){s.docChanged&&(t.pos=s.changes.mapPos(t.pos),r=r.map(s.changes))},get(s,o,a){let l=i.posAndSideAtCoords({x:s.clientX,y:s.clientY},!1),c,h=Zf(i,l.pos,l.assoc,n);if(t.pos!=l.pos&&!o){let f=Zf(i,t.pos,t.assoc,n),u=Math.min(f.from,h.from),O=Math.max(f.to,h.to);h=u1&&(c=wQ(r,l.pos))?c:a?r.addRange(h):v.create([h])}}}function wQ(i,e){for(let t=0;t=e)return v.create(i.ranges.slice(0,t).concat(i.ranges.slice(t+1)),i.mainIndex==t?0:i.mainIndex-(i.mainIndex>t?1:0))}return null}kt.dragstart=(i,e)=>{let{selection:{main:t}}=i.state;if(e.target.draggable){let r=i.docView.tile.nearest(e.target);if(r&&r.isWidget()){let s=r.posAtStart,o=s+r.length;(s>=t.to||o<=t.from)&&(t=v.undirectionalRange(s,o))}}let{inputState:n}=i;return n.mouseSelection&&(n.mouseSelection.dragging=!0),n.draggedContent=t,e.dataTransfer&&(e.dataTransfer.setData("Text",xs(i.state,Fa,i.state.sliceDoc(t.from,t.to))),e.dataTransfer.effectAllowed="copyMove"),!1};kt.dragend=i=>(i.inputState.draggedContent=null,!1);function Lf(i,e,t,n){if(t=xs(i.state,Na,t),!t)return;let r=i.posAtCoords({x:e.clientX,y:e.clientY},!1),{draggedContent:s}=i.inputState,o=n&&s&&QQ(i,e)?{from:s.from,to:s.to}:null,a={from:r,insert:t},l=i.state.changes(o?[o,a]:a);i.focus(),i.dispatch({changes:l,selection:{anchor:l.mapPos(r,-1),head:l.mapPos(r,1)},userEvent:o?"move.drop":"input.drop"}),i.inputState.draggedContent=null}kt.drop=(i,e)=>{if(!e.dataTransfer)return!1;if(i.state.readOnly)return!0;let t=e.dataTransfer.files;if(t&&t.length){let n=Array(t.length),r=0,s=()=>{++r==t.length&&Lf(i,e,n.filter(o=>o!=null).join(i.state.lineBreak),!1)};for(let o=0;o{/[\x00-\x08\x0e-\x1f]{2}/.test(a.result)||(n[o]=a.result),s()},a.readAsText(t[o])}return!0}else{let n=e.dataTransfer.getData("Text");if(n)return Lf(i,e,n,!0),!0}return!1};kt.paste=(i,e)=>{if(i.state.readOnly)return!0;i.observer.flush();let t=_u?null:e.clipboardData;return t?(Ru(i,t.getData("text/plain")||t.getData("text/uri-list")),!0):(yQ(i),!1)};function PQ(i,e){let t=i.dom.parentNode;if(!t)return;let n=t.appendChild(document.createElement("textarea"));n.style.cssText="position: fixed; left: -10000px; top: 10px",n.value=e,n.focus(),n.selectionEnd=e.length,n.selectionStart=0,setTimeout(()=>{n.remove(),i.focus()},50)}function vQ(i){let e=[],t=[],n=!1;for(let r of i.selection.ranges)r.empty||(e.push(i.sliceDoc(r.from,r.to)),t.push(r));if(!e.length){let r=-1;for(let{from:s}of i.selection.ranges){let o=i.doc.lineAt(s);o.number>r&&(e.push(o.text),t.push({from:o.from,to:Math.min(i.doc.length,o.to+1)})),r=o.number}n=!0}return{text:xs(i,Fa,e.join(i.lineBreak)),ranges:t,linewise:n}}var Ra=null;kt.copy=kt.cut=(i,e)=>{if(!Nn(i.contentDOM,i.observer.selectionRange))return!1;let{text:t,ranges:n,linewise:r}=vQ(i.state);if(!t&&!r)return!1;Ra=r?t:null,e.type=="cut"&&!i.state.readOnly&&i.dispatch({changes:n,scrollIntoView:!0,userEvent:"delete.cut"});let s=_u?null:e.clipboardData;return s?(s.clearData(),s.setData("text/plain",t),!0):(PQ(i,t),!1)};var Zu=Te.define();function Eu(i,e){let t=[];for(let n of i.facet(du)){let r=n(i,e);r&&t.push(r)}return t.length?i.update({effects:t,annotations:Zu.of(!0)}):null}function qu(i){setTimeout(()=>{let e=i.hasFocus;if(e!=i.inputState.notifiedFocused){let t=Eu(i.state,e);t?i.dispatch(t):i.update([])}},10)}Me.focus=i=>{i.inputState.lastFocusTime=Date.now(),!i.scrollDOM.scrollTop&&(i.inputState.lastScrollTop||i.inputState.lastScrollLeft)&&(i.scrollDOM.scrollTop=i.inputState.lastScrollTop,i.scrollDOM.scrollLeft=i.inputState.lastScrollLeft),qu(i)};Me.blur=i=>{i.observer.clearSelectionRange(),qu(i)};Me.compositionstart=Me.compositionupdate=i=>{i.observer.editContext||(i.inputState.compositionFirstChange==null&&(i.inputState.compositionFirstChange=!0),i.inputState.composing<0&&(i.inputState.composing=0))};Me.compositionend=i=>{i.observer.editContext||(i.inputState.composing=-1,i.inputState.compositionEndedAt=Date.now(),i.inputState.compositionPendingKey=!0,i.inputState.compositionPendingChange=i.observer.pendingRecords().length>0,i.inputState.compositionFirstChange=null,L.chrome&&L.android?i.observer.flushSoon():i.inputState.compositionPendingChange?Promise.resolve().then(()=>i.observer.flush()):setTimeout(()=>{i.inputState.composing<0&&i.docView.hasComposition&&i.update([])},50))};Me.contextmenu=i=>{i.inputState.lastContextMenu=Date.now()};kt.beforeinput=(i,e)=>{var t,n;if((e.inputType=="insertText"||e.inputType=="insertCompositionText")&&(i.inputState.insertingText=e.data,i.inputState.insertingTextAt=Date.now()),e.inputType=="insertReplacementText"&&i.observer.editContext){let s=(t=e.dataTransfer)===null||t===void 0?void 0:t.getData("text/plain"),o=e.getTargetRanges();if(s&&o.length){let a=o[0],l=i.posAtDOM(a.startContainer,a.startOffset),c=i.posAtDOM(a.endContainer,a.endOffset);return Ja(i,{from:l,to:c,insert:i.state.toText(s)},null),!0}}let r;if(L.chrome&&L.android&&(r=Cu.find(s=>s.inputType==e.inputType))&&(i.observer.delayAndroidKey(r.key,r.keyCode),r.key=="Backspace"||r.key=="Delete")){let s=((n=window.visualViewport)===null||n===void 0?void 0:n.height)||0;setTimeout(()=>{var o;(((o=window.visualViewport)===null||o===void 0?void 0:o.height)||0)>s+10&&i.hasFocus&&(i.contentDOM.blur(),i.focus())},100)}return L.ios&&e.inputType=="deleteContentForward"&&i.observer.flushSoon(),L.safari&&e.inputType=="insertText"&&i.inputState.composing>=0&&setTimeout(()=>Me.compositionend(i,e),20),!1};var Mf=new Set;function $Q(i){Mf.has(i)||(Mf.add(i),i.addEventListener("copy",()=>{}),i.addEventListener("cut",()=>{}))}var Wf=["pre-wrap","normal","pre-line","break-spaces"],Qn=!1;function jf(){Qn=!1}var Aa=class{constructor(e){this.lineWrapping=e,this.doc=J.empty,this.heightSamples={},this.lineHeight=14,this.charWidth=7,this.textHeight=14,this.lineLength=30}heightForGap(e,t){let n=this.doc.lineAt(t).number-this.doc.lineAt(e).number+1;return this.lineWrapping&&(n+=Math.max(0,Math.ceil((t-e-n*this.lineLength*.5)/this.lineLength))),this.lineHeight*n}heightForLine(e){return this.lineWrapping?(1+Math.max(0,Math.ceil((e-this.lineLength)/Math.max(1,this.lineLength-5))))*this.lineHeight:this.lineHeight}setDoc(e){return this.doc=e,this}mustRefreshForWrapping(e){return Wf.indexOf(e)>-1!=this.lineWrapping}mustRefreshForHeights(e){let t=!1;for(let n=0;n-1,l=Math.abs(t-this.lineHeight)>.3||this.lineWrapping!=a;if(this.lineWrapping=a,this.lineHeight=t,this.charWidth=n,this.textHeight=r,this.lineLength=s,l){this.heightSamples={};for(let c=0;c0}set outdated(e){this.flags=(e?2:0)|this.flags&-3}setHeight(e){this.height!=e&&(Math.abs(this.height-e)>ls&&(Qn=!0),this.height=e)}replace(e,t,n){return i.of(n)}decomposeLeft(e,t){t.push(this)}decomposeRight(e,t){t.push(this)}applyChanges(e,t,n,r){let s=this,o=n.doc;for(let a=r.length-1;a>=0;a--){let{fromA:l,toA:c,fromB:h,toB:f}=r[a],u=s.lineAt(l,ce.ByPosNoHeight,n.setDoc(t),0,0),O=u.to>=c?u:s.lineAt(c,ce.ByPosNoHeight,n,0,0);for(f+=O.to-c,c=O.to;a>0&&u.from<=r[a-1].toA;)l=r[a-1].fromA,h=r[a-1].fromB,a--,ls*2){let a=e[t-1];a.break?e.splice(--t,1,a.left,null,a.right):e.splice(--t,1,a.left,a.right),n+=1+a.break,r-=a.size}else if(s>r*2){let a=e[n];a.break?e.splice(n,1,a.left,null,a.right):e.splice(n,1,a.left,a.right),n+=2+a.break,s-=a.size}else break;else if(r=s&&o(this.lineAt(0,ce.ByPos,n,r,s))}setMeasuredHeight(e){let t=e.heights[e.index++];t<0?(this.spaceAbove=-t,t=e.heights[e.index++]):this.spaceAbove=0,this.setHeight(t)}updateHeight(e,t=0,n=!1,r){return r&&r.from<=t&&r.more&&this.setMeasuredHeight(r),this.outdated=!1,this}toString(){return`block(${this.length})`}},lt=class i extends Qs{constructor(e,t,n){super(e,t,null),this.collapsed=0,this.widgetHeight=0,this.breaks=0,this.spaceAbove=n}mainBlock(e,t){return new St(t,this.length,e+this.spaceAbove,this.height-this.spaceAbove,this.breaks)}replace(e,t,n){let r=n[0];return n.length==1&&(r instanceof i||r instanceof li&&r.flags&4)&&Math.abs(this.length-r.length)<10?(r instanceof li?r=new i(r.length,this.height,this.spaceAbove):r.height=this.height,this.outdated||(r.outdated=!1),r):Ke.of(n)}updateHeight(e,t=0,n=!1,r){return r&&r.from<=t&&r.more?this.setMeasuredHeight(r):(n||this.outdated)&&(this.spaceAbove=0,this.setHeight(Math.max(this.widgetHeight,e.heightForLine(this.length-this.collapsed))+this.breaks*e.lineHeight)),this.outdated=!1,this}toString(){return`line(${this.length}${this.collapsed?-this.collapsed:""}${this.widgetHeight?":"+this.widgetHeight:""})`}},li=class i extends Ke{constructor(e){super(e,0)}heightMetrics(e,t){let n=e.doc.lineAt(t).number,r=e.doc.lineAt(t+this.length).number,s=r-n+1,o,a=0;if(e.lineWrapping){let l=Math.min(this.height,e.lineHeight*s);o=l/s,this.length>s+1&&(a=(this.height-l)/(this.length-s-1))}else o=this.height/s;return{firstLine:n,lastLine:r,perLine:o,perChar:a}}blockAt(e,t,n,r){let{firstLine:s,lastLine:o,perLine:a,perChar:l}=this.heightMetrics(t,r);if(t.lineWrapping){let c=r+(e0){let s=n[n.length-1];s instanceof i?n[n.length-1]=new i(s.length+r):n.push(null,new i(r-1))}if(e>0){let s=n[0];s instanceof i?n[0]=new i(e+s.length):n.unshift(new i(e-1),null)}return Ke.of(n)}decomposeLeft(e,t){t.push(new i(e-1),null)}decomposeRight(e,t){t.push(null,new i(this.length-e-1))}updateHeight(e,t=0,n=!1,r){let s=t+this.length;if(r&&r.from<=t+this.length&&r.more){let o=[],a=Math.max(t,r.from),l=-1;for(r.from>t&&o.push(new i(r.from-t-1).updateHeight(e,t));a<=s&&r.more;){let h=e.doc.lineAt(a).length;o.length&&o.push(null);let f=r.heights[r.index++],u=0;f<0&&(u=-f,f=r.heights[r.index++]),l==-1?l=f:Math.abs(f-l)>=ls&&(l=-2);let O=new lt(h,f,u);O.outdated=!1,o.push(O),a+=h+1}a<=s&&o.push(null,new i(s-a).updateHeight(e,a));let c=Ke.of(o);return(l<0||Math.abs(c.height-this.height)>=ls||Math.abs(l-this.heightMetrics(e,t).perLine)>=ls)&&(Qn=!0),gs(this,c)}else(n||this.outdated)&&(this.setHeight(e.heightForGap(t,t+this.length)),this.outdated=!1);return this}toString(){return`gap(${this.length})`}},Ea=class extends Ke{constructor(e,t,n){super(e.length+t+n.length,e.height+n.height,t|(e.outdated||n.outdated?2:0)),this.left=e,this.right=n,this.size=e.size+n.size}get break(){return this.flags&1}blockAt(e,t,n,r){let s=n+this.left.height;return ea))return c;let h=t==ce.ByPosNoHeight?ce.ByPosNoHeight:ce.ByPos;return l?c.join(this.right.lineAt(a,h,n,o,a)):this.left.lineAt(a,h,n,r,s).join(c)}forEachLine(e,t,n,r,s,o){let a=r+this.left.height,l=s+this.left.length+this.break;if(this.break)e=l&&this.right.forEachLine(e,t,n,a,l,o);else{let c=this.lineAt(l,ce.ByPos,n,r,s);e=e&&c.from<=t&&o(c),t>c.to&&this.right.forEachLine(c.to+1,t,n,a,l,o)}}replace(e,t,n){let r=this.left.length+this.break;if(tthis.left.length)return this.balanced(this.left,this.right.replace(e-r,t-r,n));let s=[];e>0&&this.decomposeLeft(e,s);let o=s.length;for(let a of n)s.push(a);if(e>0&&Vf(s,o-1),t=n&&t.push(null)),e>n&&this.right.decomposeLeft(e-n,t)}decomposeRight(e,t){let n=this.left.length,r=n+this.break;if(e>=r)return this.right.decomposeRight(e-r,t);e2*t.size||t.size>2*e.size?Ke.of(this.break?[e,null,t]:[e,t]):(this.left=gs(this.left,e),this.right=gs(this.right,t),this.setHeight(e.height+t.height),this.outdated=e.outdated||t.outdated,this.size=e.size+t.size,this.length=e.length+this.break+t.length,this)}updateHeight(e,t=0,n=!1,r){let{left:s,right:o}=this,a=t+s.length+this.break,l=null;return r&&r.from<=t+s.length&&r.more?l=s=s.updateHeight(e,t,n,r):s.updateHeight(e,t,n),r&&r.from<=a+o.length&&r.more?l=o=o.updateHeight(e,a,n,r):o.updateHeight(e,a,n),l?this.balanced(s,o):(this.height=this.left.height+this.right.height,this.outdated=!1,this)}toString(){return this.left+(this.break?" ":"-")+this.right}};function Vf(i,e){let t,n;i[e]==null&&(t=i[e-1])instanceof li&&(n=i[e+1])instanceof li&&i.splice(e-1,3,new li(t.length+1+n.length))}var CQ=5,qa=class i{constructor(e,t){this.pos=e,this.oracle=t,this.nodes=[],this.lineStart=-1,this.lineEnd=-1,this.covering=null,this.writtenTo=e}get isCovered(){return this.covering&&this.nodes[this.nodes.length-1]==this.covering}span(e,t){if(this.lineStart>-1){let n=Math.min(t,this.lineEnd),r=this.nodes[this.nodes.length-1];r instanceof lt?r.length+=n-this.pos:(n>this.pos||!this.isCovered)&&this.nodes.push(new lt(n-this.pos,-1,0)),this.writtenTo=n,t>n&&(this.nodes.push(null),this.writtenTo++,this.lineStart=-1)}this.pos=t}point(e,t,n){if(e=CQ)&&this.addLineDeco(r,s,o)}else t>e&&this.span(e,t);this.lineEnd>-1&&this.lineEnd-1)return;let{from:e,to:t}=this.oracle.doc.lineAt(this.pos);this.lineStart=e,this.lineEnd=t,this.writtenToe&&this.nodes.push(new lt(this.pos-e,-1,0)),this.writtenTo=this.pos}blankContent(e,t){let n=new li(t-e);return this.oracle.doc.lineAt(e).to==t&&(n.flags|=4),n}ensureLine(){this.enterLine();let e=this.nodes.length?this.nodes[this.nodes.length-1]:null;if(e instanceof lt)return e;let t=new lt(0,-1,0);return this.nodes.push(t),t}addBlock(e){this.enterLine();let t=e.deco;t&&t.startSide>0&&!this.isCovered&&this.ensureLine(),this.nodes.push(e),this.writtenTo=this.pos=this.pos+e.length,t&&t.endSide>0&&(this.covering=e)}addLineDeco(e,t,n){let r=this.ensureLine();r.length+=n,r.collapsed+=n,r.widgetHeight=Math.max(r.widgetHeight,e),r.breaks+=t,this.writtenTo=this.pos=this.pos+n}finish(e){let t=this.nodes.length==0?null:this.nodes[this.nodes.length-1];this.lineStart>-1&&!(t instanceof lt)&&!this.isCovered?this.nodes.push(new lt(0,-1,0)):(this.writtenToh.clientHeight||h.scrollWidth>h.clientWidth)&&f.overflow!="visible"){let u=h.getBoundingClientRect();s=Math.max(s,u.left),o=Math.min(o,u.right),a=Math.max(a,u.top),l=Math.min(c==i.parentNode?r.innerHeight:l,u.bottom)}c=f.position=="absolute"||f.position=="fixed"?h.offsetParent:h.parentNode}else if(c.nodeType==11)c=c.host;else break;return{left:s-t.left,right:Math.max(s,o)-t.left,top:a-(t.top+e),bottom:Math.max(a,l)-(t.top+e)}}function RQ(i){let e=i.getBoundingClientRect(),t=i.ownerDocument.defaultView||window;return e.left0&&e.top0}function AQ(i,e){let t=i.getBoundingClientRect();return{left:0,right:t.right-t.left,top:e,bottom:t.bottom-(t.top+e)}}var tr=class{constructor(e,t,n,r){this.from=e,this.to=t,this.size=n,this.displaySize=r}static same(e,t){if(e.length!=t.length)return!1;for(let n=0;ntypeof r!="function"&&r.class=="cm-lineWrapping");this.heightOracle=new Aa(n),this.stateDeco=Yf(t),this.heightMap=Ke.empty().applyChanges(this.stateDeco,J.empty,this.heightOracle.setDoc(t.doc),[new yt(0,0,0,t.doc.length)]);for(let r=0;r<2&&(this.viewport=this.getViewport(0,null),!!this.updateForViewport());r++);this.updateViewportLines(),this.lineGaps=this.ensureLineGaps([]),this.lineGapDeco=R.set(this.lineGaps.map(r=>r.draw(this,!1))),this.scrollParent=e.scrollDOM,this.computeVisibleRanges()}updateForViewport(){let e=[this.viewport],{main:t}=this.state.selection;for(let n=0;n<=1;n++){let r=n?t.head:t.anchor;if(!e.some(({from:s,to:o})=>r>=s&&r<=o)){let{from:s,to:o}=this.lineBlockAt(r);e.push(new fn(s,o))}}return this.viewports=e.sort((n,r)=>n.from-r.from),this.updateScaler()}updateScaler(){let e=this.scaler;return this.scaler=this.heightMap.height<=7e6?Df:new Ma(this.heightOracle,this.heightMap,this.viewports),e.eq(this.scaler)?0:2}updateViewportLines(){this.viewportLines=[],this.heightMap.forEachLine(this.viewport.from,this.viewport.to,this.heightOracle.setDoc(this.state.doc),0,0,e=>{this.viewportLines.push(Un(e,this.scaler))})}update(e,t=null){this.state=e.state;let n=this.stateDeco;this.stateDeco=Yf(this.state);let r=e.changedRanges,s=yt.extendWithRanges(r,XQ(n,this.stateDeco,e?e.changes:ze.empty(this.state.doc.length))),o=this.heightMap.height,a=this.scrolledToBottom?null:this.scrollAnchorAt(this.scrollOffset);jf(),this.heightMap=this.heightMap.applyChanges(this.stateDeco,e.startState.doc,this.heightOracle.setDoc(this.state.doc),s),(this.heightMap.height!=o||Qn)&&(e.flags|=2),a?(this.scrollAnchorPos=e.changes.mapPos(a.from,-1),this.scrollAnchorHeight=a.top):(this.scrollAnchorPos=-1,this.scrollAnchorHeight=o);let l=s.length?this.mapViewport(this.viewport,e.changes):this.viewport;(t&&(t.range.headl.to)||!this.viewportIsAppropriate(l))&&(l=this.getViewport(0,t));let c=l.from!=this.viewport.from||l.to!=this.viewport.to;this.viewport=l,e.flags|=this.updateForViewport(),(c||!e.changes.empty||e.flags&2)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(this.mapLineGaps(this.lineGaps,e.changes))),e.flags|=this.computeVisibleRanges(e.changes),t&&(this.scrollTarget=t),!this.mustEnforceCursorAssoc&&(e.selectionSet||e.focusChanged)&&e.view.lineWrapping&&e.state.selection.main.empty&&e.state.selection.main.assoc&&!e.state.facet(W0)&&(this.mustEnforceCursorAssoc=!0)}measure(){let{view:e}=this,t=e.contentDOM,n=window.getComputedStyle(t),r=this.heightOracle,s=n.whiteSpace;this.defaultTextDirection=n.direction=="rtl"?Oe.RTL:Oe.LTR;let o=this.heightOracle.mustRefreshForWrapping(s)||this.mustMeasureContent==="refresh",a=t.getBoundingClientRect(),l=o||this.mustMeasureContent||this.contentDOMHeight!=a.height;this.contentDOMHeight=a.height,this.mustMeasureContent=!1;let c=0,h=0;if(a.width&&a.height){let{scaleX:P,scaleY:$}=Kf(t,a);(P>.005&&Math.abs(this.scaleX-P)>.005||$>.005&&Math.abs(this.scaleY-$)>.005)&&(this.scaleX=P,this.scaleY=$,c|=16,o=l=!0)}let f=(parseInt(n.paddingTop)||0)*this.scaleY,u=(parseInt(n.paddingBottom)||0)*this.scaleY;(this.paddingTop!=f||this.paddingBottom!=u)&&(this.paddingTop=f,this.paddingBottom=u,c|=18),this.editorWidth!=e.scrollDOM.clientWidth&&(r.lineWrapping&&(l=!0),this.editorWidth=e.scrollDOM.clientWidth,c|=16);let O=Jf(this.view.contentDOM,!1).y;O!=this.scrollParent&&(this.scrollParent=O,this.scrollAnchorHeight=-1,this.scrollOffset=0);let m=this.getScrollOffset();this.scrollOffset!=m&&(this.scrollAnchorHeight=-1,this.scrollOffset=m),this.scrolledToBottom=tu(this.scrollParent||e.win);let p=(this.printing?AQ:_Q)(t,this.paddingTop),b=p.top-this.pixelViewport.top,g=p.bottom-this.pixelViewport.bottom;this.pixelViewport=p;let Q=this.pixelViewport.bottom>this.pixelViewport.top&&this.pixelViewport.right>this.pixelViewport.left;if(Q!=this.inView&&(this.inView=Q,Q&&(l=!0)),!this.inView&&!this.scrollTarget&&!RQ(e.dom))return 0;let S=a.width;if((this.contentDOMWidth!=S||this.editorHeight!=e.scrollDOM.clientHeight)&&(this.contentDOMWidth=a.width,this.editorHeight=e.scrollDOM.clientHeight,c|=16),l){let P=e.docView.measureVisibleLineHeights(this.viewport);if(r.mustRefreshForHeights(P)&&(o=!0),o||r.lineWrapping&&Math.abs(S-this.contentDOMWidth)>r.charWidth){let{lineHeight:$,charWidth:Z,textHeight:X}=e.docView.measureTextSize();o=$>0&&r.refresh(s,$,Z,X,Math.max(5,S/Z),P),o&&(e.docView.minWidth=0,c|=16)}b>0&&g>0?h=Math.max(b,g):b<0&&g<0&&(h=Math.min(b,g)),jf();for(let $ of this.viewports){let Z=$.from==this.viewport.from?P:e.docView.measureVisibleLineHeights($);this.heightMap=(o?Ke.empty().applyChanges(this.stateDeco,J.empty,this.heightOracle,[new yt(0,0,0,e.state.doc.length)]):this.heightMap).updateHeight(r,0,o,new Za($.from,Z))}Qn&&(c|=2)}let x=!this.viewportIsAppropriate(this.viewport,h)||this.scrollTarget&&(this.scrollTarget.range.headthis.viewport.to);return x&&(c&2&&(c|=this.updateScaler()),this.viewport=this.getViewport(h,this.scrollTarget),c|=this.updateForViewport()),(c&2||x)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(o?[]:this.lineGaps,e)),c|=this.computeVisibleRanges(),this.mustEnforceCursorAssoc&&(this.mustEnforceCursorAssoc=!1,e.docView.enforceCursorAssoc()),c}get visibleTop(){return this.scaler.fromDOM(this.pixelViewport.top)}get visibleBottom(){return this.scaler.fromDOM(this.pixelViewport.bottom)}getViewport(e,t){let n=.5-Math.max(-.5,Math.min(.5,e/1e3/2)),r=this.heightMap,s=this.heightOracle,{visibleTop:o,visibleBottom:a}=this,l=new fn(r.lineAt(o-n*1e3,ce.ByHeight,s,0,0).from,r.lineAt(a+(1-n)*1e3,ce.ByHeight,s,0,0).to);if(t){let{head:c}=t.range;if(cl.to){let h=Math.min(this.editorHeight,this.pixelViewport.bottom-this.pixelViewport.top),f=r.lineAt(c,ce.ByPos,s,0,0),u;t.y=="center"?u=(f.top+f.bottom)/2-h/2:t.y=="start"||t.y=="nearest"&&c=a+Math.max(10,Math.min(n,250)))&&r>o-2*1e3&&s>1,o=r<<1;if(this.defaultTextDirection!=Oe.LTR&&!n)return[];let a=[],l=(h,f,u,O)=>{if(f-hh&&gg.from>=u.from&&g.to<=u.to&&Math.abs(g.from-h)g.fromQ));if(!b){if(fS.from<=f&&S.to>=f)){let S=t.moveToLineBoundary(v.cursor(f),!1,!0).head;S>h&&(f=S)}let g=this.gapSize(u,h,f,O),Q=n||g<2e6?g:2e6;b=new tr(h,f,g,Q)}a.push(b)},c=h=>{if(h.length2e6)for(let $ of e)$.from>=h.from&&$.fromh.from&&l(h.from,O,h,f),mt.draw(this,this.heightOracle.lineWrapping))))}computeVisibleRanges(e){let t=this.stateDeco;this.lineGaps.length&&(t=t.concat(this.lineGapDeco));let n=[];le.spans(t,this.viewport.from,this.viewport.to,{span(s,o){n.push({from:s,to:o})},point(){}},20);let r=0;if(n.length!=this.visibleRanges.length)r=12;else for(let s=0;s=this.viewport.from&&e<=this.viewport.to&&this.viewportLines.find(t=>t.from<=e&&t.to>=e)||Un(this.heightMap.lineAt(e,ce.ByPos,this.heightOracle,0,0),this.scaler)}lineBlockAtHeight(e){return e>=this.viewportLines[0].top&&e<=this.viewportLines[this.viewportLines.length-1].bottom&&this.viewportLines.find(t=>t.top<=e&&t.bottom>=e)||Un(this.heightMap.lineAt(this.scaler.fromDOM(e),ce.ByHeight,this.heightOracle,0,0),this.scaler)}getScrollOffset(){return(this.scrollParent==this.view.scrollDOM?this.scrollParent.scrollTop:(this.scrollParent?this.scrollParent.getBoundingClientRect().top:0)-this.view.contentDOM.getBoundingClientRect().top)*this.scaleY}scrollAnchorAt(e){let t=this.lineBlockAtHeight(e+8);return t.from>=this.viewport.from||this.viewportLines[0].top-e>200?t:this.viewportLines[0]}elementAtHeight(e){return Un(this.heightMap.blockAt(this.scaler.fromDOM(e),this.heightOracle,0,0),this.scaler)}get docHeight(){return this.scaler.toDOM(this.heightMap.height)}get contentHeight(){return this.docHeight+this.paddingTop+this.paddingBottom}},fn=class{constructor(e,t){this.from=e,this.to=t}};function ZQ(i,e,t){let n=[],r=i,s=0;return le.spans(t,i,e,{span(){},point(o,a){o>r&&(n.push({from:r,to:o}),s+=o-r),r=a}},20),r=1)return e[e.length-1].to;let n=Math.floor(i*t);for(let r=0;;r++){let{from:s,to:o}=e[r],a=o-s;if(n<=a)return s+n;n-=a}}function rs(i,e){let t=0;for(let{from:n,to:r}of i.ranges){if(e<=r){t+=e-n;break}t+=r-n}return t/i.total}function EQ(i,e){for(let t of i)if(e(t))return t}var Df={toDOM(i){return i},fromDOM(i){return i},scale:1,eq(i){return i==this}};function Yf(i){let e=i.facet(ks).filter(n=>typeof n!="function"),t=i.facet(Ka).filter(n=>typeof n!="function");return t.length&&e.push(le.join(t)),e}var Ma=class i{constructor(e,t,n){let r=0,s=0,o=0;this.viewports=n.map(({from:a,to:l})=>{let c=t.lineAt(a,ce.ByPos,e,0,0).top,h=t.lineAt(l,ce.ByPos,e,0,0).bottom;return r+=h-c,{from:a,to:l,top:c,bottom:h,domTop:0,domBottom:0}}),this.scale=(7e6-r)/(t.height-r);for(let a of this.viewports)a.domTop=o+(a.top-s)*this.scale,o=a.domBottom=a.domTop+(a.bottom-a.top),s=a.bottom}toDOM(e){for(let t=0,n=0,r=0;;t++){let s=tt.from==e.viewports[n].from&&t.to==e.viewports[n].to):!1}};function Un(i,e){if(e.scale==1)return i;let t=e.toDOM(i.top),n=e.toDOM(i.bottom);return new St(i.from,i.length,t,n-t,Array.isArray(i._content)?i._content.map(r=>Un(r,e)):i._content)}var ss=Y.define({combine:i=>i.join(" ")}),Wa=Y.define({combine:i=>i.indexOf(!0)>-1}),ja=at.newName(),zu=at.newName(),Lu=at.newName(),Mu={"&light":"."+zu,"&dark":"."+Lu};function Va(i,e,t){return new at(e,{finish(n){return/&/.test(n)?n.replace(/&\w*/,r=>{if(r=="&")return i;if(!t||!t[r])throw new RangeError(`Unsupported selector: ${r}`);return t[r]}):i+" "+n}})}var qQ=Va("."+ja,{"&":{position:"relative !important",boxSizing:"border-box","&.cm-focused":{outline:"1px dotted #212121"},display:"flex !important",flexDirection:"column"},".cm-scroller":{display:"flex !important",alignItems:"flex-start !important",fontFamily:"monospace",lineHeight:1.4,height:"100%",overflowX:"auto",position:"relative",zIndex:0,overflowAnchor:"none"},".cm-content":{margin:0,flexGrow:2,flexShrink:0,display:"block",whiteSpace:"pre",wordWrap:"normal",boxSizing:"border-box",minHeight:"100%",padding:"4px 0",outline:"none","&[contenteditable=true]":{WebkitUserModify:"read-write-plaintext-only"}},".cm-lineWrapping":{whiteSpace_fallback:"pre-wrap",whiteSpace:"break-spaces",wordBreak:"break-word",overflowWrap:"anywhere",flexShrink:1},"&light .cm-content":{caretColor:"black"},"&dark .cm-content":{caretColor:"white"},".cm-line":{display:"block",padding:"0 2px 0 6px"},".cm-layer":{userSelect:"none",position:"absolute",left:0,top:0,contain:"size style","& > *":{position:"absolute"}},"&light .cm-selectionBackground":{background:"#d9d9d9"},"&dark .cm-selectionBackground":{background:"#222"},"&light.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#d7d4f0"},"&dark.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#233"},".cm-cursorLayer":{pointerEvents:"none"},"&.cm-focused > .cm-scroller > .cm-cursorLayer":{animation:"steps(1) cm-blink 1.2s infinite"},"@keyframes cm-blink":{"0%":{},"50%":{opacity:0},"100%":{}},"@keyframes cm-blink2":{"0%":{},"50%":{opacity:0},"100%":{}},".cm-cursor, .cm-dropCursor":{borderLeft:"1.2px solid black",marginLeft:"-0.6px",pointerEvents:"none"},".cm-cursor":{display:"none"},"&dark .cm-cursor":{borderLeftColor:"#ddd"},".cm-selectionHandle":{backgroundColor:"currentColor",width:"1.5px"},".cm-selectionHandle-start::before, .cm-selectionHandle-end::before":{content:'""',backgroundColor:"inherit",borderRadius:"50%",width:"8px",height:"8px",position:"absolute",left:"-3.25px"},".cm-selectionHandle-start::before":{top:"-8px"},".cm-selectionHandle-end::before":{bottom:"-8px"},".cm-dropCursor":{position:"absolute"},"&.cm-focused > .cm-scroller > .cm-cursorLayer .cm-cursor":{display:"block"},".cm-iso":{unicodeBidi:"isolate"},".cm-announced":{position:"fixed",top:"-10000px"},"@media print":{".cm-announced":{display:"none"}},"&light .cm-activeLine":{backgroundColor:"#cceeff44"},"&dark .cm-activeLine":{backgroundColor:"#99eeff33"},"&light .cm-specialChar":{color:"red"},"&dark .cm-specialChar":{color:"#f78"},".cm-gutters":{flexShrink:0,display:"flex",height:"100%",boxSizing:"border-box",zIndex:200},".cm-gutters-before":{insetInlineStart:0},".cm-gutters-after":{insetInlineEnd:0},"&light .cm-gutters":{backgroundColor:"#f5f5f5",color:"#6c6c6c",border:"0px solid #ddd","&.cm-gutters-before":{borderRightWidth:"1px"},"&.cm-gutters-after":{borderLeftWidth:"1px"}},"&dark .cm-gutters":{backgroundColor:"#333338",color:"#ccc"},".cm-gutter":{display:"flex !important",flexDirection:"column",flexShrink:0,boxSizing:"border-box",minHeight:"100%",overflow:"hidden"},".cm-gutterElement":{boxSizing:"border-box"},".cm-lineNumbers .cm-gutterElement":{padding:"0 3px 0 5px",minWidth:"20px",textAlign:"right",whiteSpace:"nowrap"},"&light .cm-activeLineGutter":{backgroundColor:"#e2f2ff"},"&dark .cm-activeLineGutter":{backgroundColor:"#222227"},".cm-panels":{boxSizing:"border-box",position:"sticky",left:0,right:0,zIndex:300},"&light .cm-panels":{backgroundColor:"#f5f5f5",color:"black"},"&light .cm-panels-top":{borderBottom:"1px solid #ddd"},"&light .cm-panels-bottom":{borderTop:"1px solid #ddd"},"&dark .cm-panels":{backgroundColor:"#333338",color:"white"},".cm-dialog":{padding:"2px 19px 4px 6px",position:"relative","& label":{fontSize:"80%"}},".cm-dialog-close":{position:"absolute",top:"3px",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",fontSize:"14px",padding:"0"},".cm-tab":{display:"inline-block",overflow:"hidden",verticalAlign:"bottom"},".cm-widgetBuffer":{verticalAlign:"text-top",height:"1em",width:0,display:"inline"},".cm-placeholder":{color:"#888",display:"inline-block",verticalAlign:"top",userSelect:"none"},".cm-highlightSpace":{backgroundImage:"radial-gradient(circle at 50% 55%, #aaa 20%, transparent 5%)",backgroundPosition:"center"},".cm-highlightTab":{backgroundImage:`url('data:image/svg+xml,')`,backgroundSize:"auto 100%",backgroundPosition:"right 90%",backgroundRepeat:"no-repeat"},".cm-trailingSpace":{backgroundColor:"#ff332255"},".cm-button":{verticalAlign:"middle",color:"inherit",fontSize:"70%",padding:".2em 1em",borderRadius:"1px"},"&light .cm-button":{backgroundImage:"linear-gradient(#eff1f5, #d9d9df)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#b4b4b4, #d0d3d6)"}},"&dark .cm-button":{backgroundImage:"linear-gradient(#393939, #111)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#111, #333)"}},".cm-textfield":{verticalAlign:"middle",color:"inherit",fontSize:"70%",border:"1px solid silver",padding:".2em .5em"},"&light .cm-textfield":{backgroundColor:"white"},"&dark .cm-textfield":{border:"1px solid #555",backgroundColor:"inherit"}},Mu),zQ={childList:!0,characterData:!0,subtree:!0,attributes:!0,characterDataOldValue:!0},aa=L.ie&&L.ie_version<=11,Da=class{constructor(e){this.view=e,this.active=!1,this.editContext=null,this.selectionRange=new Oa,this.selectionChanged=!1,this.delayedFlush=-1,this.resizeTimeout=-1,this.queue=[],this.delayedAndroidKey=null,this.flushingAndroidKey=-1,this.lastChange=0,this.scrollTargets=[],this.intersection=null,this.resizeScroll=null,this.intersecting=!1,this.gapIntersection=null,this.gaps=[],this.printQuery=null,this.parentCheck=-1,this.dom=e.contentDOM,this.observer=new MutationObserver(t=>{for(let n of t)this.queue.push(n);(L.ie&&L.ie_version<=11||L.ios&&e.composing)&&t.some(n=>n.type=="childList"&&n.removedNodes.length||n.type=="characterData"&&n.oldValue.length>n.target.nodeValue.length)?this.flushSoon():this.flush()}),window.EditContext&&L.android&&e.constructor.EDIT_CONTEXT!==!1&&!(L.chrome&&L.chrome_version<126)&&(this.editContext=new Ya(e),e.state.facet(jt)&&(e.contentDOM.editContext=this.editContext.editContext)),aa&&(this.onCharData=t=>{this.queue.push({target:t.target,type:"characterData",oldValue:t.prevValue}),this.flushSoon()}),this.onSelectionChange=this.onSelectionChange.bind(this),this.onResize=this.onResize.bind(this),this.onPrint=this.onPrint.bind(this),this.onScroll=this.onScroll.bind(this),window.matchMedia&&(this.printQuery=window.matchMedia("print")),typeof ResizeObserver=="function"&&(this.resizeScroll=new ResizeObserver(()=>{var t;((t=this.view.docView)===null||t===void 0?void 0:t.lastUpdate){this.parentCheck<0&&(this.parentCheck=setTimeout(this.listenForScroll.bind(this),1e3)),t.length>0&&t[t.length-1].intersectionRatio>0!=this.intersecting&&(this.intersecting=!this.intersecting,this.intersecting!=this.view.inView&&this.onScrollChanged(document.createEvent("Event")))},{threshold:[0,.001]}),this.intersection.observe(this.dom),this.gapIntersection=new IntersectionObserver(t=>{t.length>0&&t[t.length-1].intersectionRatio>0&&this.onScrollChanged(document.createEvent("Event"))},{})),this.listenForScroll(),this.readSelectionRange()}onScrollChanged(e){this.view.inputState.runHandlers("scroll",e),this.intersecting&&this.view.measure()}onScroll(e){this.intersecting&&this.flush(!1),this.editContext&&this.view.requestMeasure(this.editContext.measureReq),this.onScrollChanged(e)}onResize(){this.resizeTimeout<0&&(this.resizeTimeout=setTimeout(()=>{this.resizeTimeout=-1,this.view.requestMeasure()},50))}onPrint(e){(e.type=="change"||!e.type)&&!e.matches||(this.view.viewState.printing=!0,this.view.measure(),setTimeout(()=>{this.view.viewState.printing=!1,this.view.requestMeasure()},500))}updateGaps(e){if(this.gapIntersection&&(e.length!=this.gaps.length||this.gaps.some((t,n)=>t!=e[n]))){this.gapIntersection.disconnect();for(let t of e)this.gapIntersection.observe(t);this.gaps=e}}onSelectionChange(e){let t=this.selectionChanged;if(!this.readSelectionRange()||this.delayedAndroidKey)return;let{view:n}=this,r=this.selectionRange;if(n.state.facet(jt)?n.root.activeElement!=this.dom:!Nn(this.dom,r))return;let s=r.anchorNode&&n.docView.tile.nearest(r.anchorNode);if(s&&s.isWidget()&&s.widget.ignoreEvent(e)){t||(this.selectionChanged=!1);return}(L.ie&&L.ie_version<=11||L.android&&L.chrome)&&!n.state.selection.main.empty&&r.focusNode&&Fn(r.focusNode,r.focusOffset,r.anchorNode,r.anchorOffset)?this.flushSoon():this.flush(!1)}readSelectionRange(){let{view:e}=this,t=rr(e.root);if(!t)return!1;let n=L.safari&&e.root.nodeType==11&&e.root.activeElement==this.dom&&LQ(this.view,t)||t;if(!n||this.selectionRange.eq(n))return!1;let r=Nn(this.dom,n);return r&&!this.selectionChanged&&e.inputState.lastFocusTime>Date.now()-200&&e.inputState.lastTouchTime{let s=this.delayedAndroidKey;s&&(this.clearDelayedAndroidKey(),this.view.inputState.lastKeyCode=s.keyCode,this.view.inputState.lastKeyTime=Date.now(),!this.flush()&&s.force&&On(this.dom,s.key,s.keyCode))};this.flushingAndroidKey=this.view.win.requestAnimationFrame(r)}(!this.delayedAndroidKey||e=="Enter")&&(this.delayedAndroidKey={key:e,keyCode:t,force:this.lastChange{this.delayedFlush=-1,this.flush()}))}forceFlush(){this.delayedFlush>=0&&(this.view.win.cancelAnimationFrame(this.delayedFlush),this.delayedFlush=-1),this.flush()}pendingRecords(){for(let e of this.observer.takeRecords())this.queue.push(e);return this.queue}processRecords(){let e=this.pendingRecords();e.length&&(this.queue=[]);let t=-1,n=-1,r=!1;for(let s of e){let o=this.readMutation(s);o&&(o.typeOver&&(r=!0),t==-1?{from:t,to:n}=o:(t=Math.min(o.from,t),n=Math.max(o.to,n)))}return{from:t,to:n,typeOver:r}}readChange(){let{from:e,to:t,typeOver:n}=this.processRecords(),r=this.selectionChanged&&Nn(this.dom,this.selectionRange);if(e<0&&!r)return null;e>-1&&(this.lastChange=Date.now()),this.view.inputState.lastFocusTime=0,this.selectionChanged=!1;let s=new Ca(this.view,e,t,n);return this.view.docView.domChanged={newSel:s.newSel?s.newSel.main:null},s}flush(e=!0){if(this.delayedFlush>=0||this.delayedAndroidKey)return!1;e&&this.readSelectionRange();let t=this.readChange();if(!t)return this.view.requestMeasure(),!1;let n=this.view.state,r=$u(this.view,t);return this.view.state==n&&(t.domChanged||t.newSel&&!ms(this.view.state.selection,t.newSel.main))&&this.view.update([]),r}readMutation(e){let t=this.view.docView.tile.nearest(e.target);if(!t||t.isWidget())return null;if(t.markDirty(e.type=="attributes"),e.type=="childList"){let n=If(t,e.previousSibling||e.target.previousSibling,-1),r=If(t,e.nextSibling||e.target.nextSibling,1);return{from:n?t.posAfter(n):t.posAtStart,to:r?t.posBefore(r):t.posAtEnd,typeOver:!1}}else return e.type=="characterData"?{from:t.posAtStart,to:t.posAtEnd,typeOver:e.target.nodeValue==e.oldValue}:null}setWindow(e){e!=this.win&&(this.removeWindowListeners(this.win),this.win=e,this.addWindowListeners(this.win))}addWindowListeners(e){e.addEventListener("resize",this.onResize),this.printQuery?this.printQuery.addEventListener?this.printQuery.addEventListener("change",this.onPrint):this.printQuery.addListener(this.onPrint):e.addEventListener("beforeprint",this.onPrint),e.addEventListener("scroll",this.onScroll),e.document.addEventListener("selectionchange",this.onSelectionChange)}removeWindowListeners(e){e.removeEventListener("scroll",this.onScroll),e.removeEventListener("resize",this.onResize),this.printQuery?this.printQuery.removeEventListener?this.printQuery.removeEventListener("change",this.onPrint):this.printQuery.removeListener(this.onPrint):e.removeEventListener("beforeprint",this.onPrint),e.document.removeEventListener("selectionchange",this.onSelectionChange)}update(e){this.editContext&&(this.editContext.update(e),e.startState.facet(jt)!=e.state.facet(jt)&&(e.view.contentDOM.editContext=e.state.facet(jt)?this.editContext.editContext:null))}destroy(){var e,t,n;this.stop(),(e=this.intersection)===null||e===void 0||e.disconnect(),(t=this.gapIntersection)===null||t===void 0||t.disconnect(),(n=this.resizeScroll)===null||n===void 0||n.disconnect();for(let r of this.scrollTargets)r.removeEventListener("scroll",this.onScroll);this.removeWindowListeners(this.win),clearTimeout(this.parentCheck),clearTimeout(this.resizeTimeout),this.win.cancelAnimationFrame(this.delayedFlush),this.win.cancelAnimationFrame(this.flushingAndroidKey),this.editContext&&(this.view.contentDOM.editContext=null,this.editContext.destroy())}};function If(i,e,t){for(;e;){let n=ue.get(e);if(n&&n.parent==i)return n;let r=e.parentNode;e=r!=i.dom?r:t>0?e.nextSibling:e.previousSibling}return null}function Bf(i,e){let t=e.startContainer,n=e.startOffset,r=e.endContainer,s=e.endOffset,o=i.docView.domAtPos(i.state.selection.main.anchor,1);return Fn(o.node,o.offset,r,s)&&([t,n,r,s]=[r,s,t,n]),{anchorNode:t,anchorOffset:n,focusNode:r,focusOffset:s}}function LQ(i,e){if(e.getComposedRanges){let r=e.getComposedRanges(i.root)[0];if(r)return Bf(i,r)}let t=null;function n(r){r.preventDefault(),r.stopImmediatePropagation(),t=r.getTargetRanges()[0]}return i.contentDOM.addEventListener("beforeinput",n,!0),i.dom.ownerDocument.execCommand("indent"),i.contentDOM.removeEventListener("beforeinput",n,!0),t?Bf(i,t):null}var Ya=class{constructor(e){this.from=0,this.to=0,this.pendingContextChange=null,this.handlers=Object.create(null),this.composing=null,this.resetRange(e.state);let t=this.editContext=new window.EditContext({text:e.state.doc.sliceString(this.from,this.to),selectionStart:this.toContextPos(Math.max(this.from,Math.min(this.to,e.state.selection.main.anchor))),selectionEnd:this.toContextPos(e.state.selection.main.head)});this.handlers.textupdate=n=>{let r=e.state.selection.main,{anchor:s,head:o}=r,a=this.toEditorPos(n.updateRangeStart),l=this.toEditorPos(n.updateRangeEnd);e.inputState.composing>=0&&!this.composing&&(this.composing={contextBase:n.updateRangeStart,editorBase:a,drifted:!1});let c=l-a>n.text.length;a==this.from&&sthis.to&&(l=s);let h=Tu(e.state.sliceDoc(a,l),n.text,(c?r.from:r.to)-a,c?"end":null);if(!h){let u=v.single(this.toEditorPos(n.selectionStart),this.toEditorPos(n.selectionEnd));ms(u,r)||e.dispatch({selection:u,userEvent:"select"});return}let f={from:h.from+a,to:h.toA+a,insert:J.of(n.text.slice(h.from,h.toB).split(` -`))};if((L.mac||L.android)&&f.from==o-1&&/^\. ?$/.test(n.text)&&e.contentDOM.getAttribute("autocorrect")=="off"&&(f={from:a,to:l,insert:J.of([n.text.replace("."," ")])}),this.pendingContextChange=f,!e.state.readOnly){let u=this.to-this.from+(f.to-f.from+f.insert.length);Ja(e,f,v.single(this.toEditorPos(n.selectionStart,u),this.toEditorPos(n.selectionEnd,u)))}this.pendingContextChange&&(this.revertPending(e.state),this.setSelection(e.state)),f.from=0&&!/[\\p{Alphabetic}\\p{Number}_]/.test(t.text.slice(Math.max(0,n.updateRangeStart-1),Math.min(t.text.length,n.updateRangeStart+1)))&&this.handlers.compositionend(n)},this.handlers.characterboundsupdate=n=>{let r=[],s=null;for(let o=this.toEditorPos(n.rangeStart),a=this.toEditorPos(n.rangeEnd);o{let r=[];for(let s of n.getTextFormats()){let o=s.underlineStyle,a=s.underlineThickness;if(!/none/i.test(o)&&!/none/i.test(a)){let l=this.toEditorPos(s.rangeStart),c=this.toEditorPos(s.rangeEnd);if(l{e.inputState.composing<0&&(e.inputState.composing=0,e.inputState.compositionFirstChange=!0)},this.handlers.compositionend=()=>{if(e.inputState.composing=-1,e.inputState.compositionFirstChange=null,this.composing){let{drifted:n}=this.composing;this.composing=null,n&&this.reset(e.state)}};for(let n in this.handlers)t.addEventListener(n,this.handlers[n]);this.measureReq={read:n=>{let r=rr(n.root);r&&r.rangeCount&&this.editContext.updateSelectionBounds(r.getRangeAt(0).getBoundingClientRect())}}}applyEdits(e){let t=0,n=!1,r=this.pendingContextChange;return e.changes.iterChanges((s,o,a,l,c)=>{if(n)return;let h=c.length-(o-s);if(r&&o>=r.to)if(r.from==s&&r.to==o&&r.insert.eq(c)){r=this.pendingContextChange=null,t+=h,this.to+=h;return}else r=null,this.revertPending(e.state);if(s+=t,o+=t,o<=this.from)this.from+=h,this.to+=h;else if(sthis.to||this.to-this.from+c.length>3e4){n=!0;return}this.editContext.updateText(this.toContextPos(s),this.toContextPos(o),c.toString()),this.to+=h}t+=h}),r&&!n&&this.revertPending(e.state),!n}update(e){let t=this.pendingContextChange,n=e.startState.selection.main;this.composing&&(this.composing.drifted||!e.changes.touchesRange(n.from,n.to)&&e.transactions.some(r=>!r.isUserEvent("input.type")&&r.changes.touchesRange(this.from,this.to)))?(this.composing.drifted=!0,this.composing.editorBase=e.changes.mapPos(this.composing.editorBase)):!this.applyEdits(e)||!this.rangeIsValid(e.state)?(this.pendingContextChange=null,this.reset(e.state)):(e.docChanged||e.selectionSet||t)&&this.setSelection(e.state),(e.geometryChanged||e.docChanged||e.selectionSet)&&e.view.requestMeasure(this.measureReq)}resetRange(e){let{head:t}=e.selection.main;this.from=Math.max(0,t-1e4),this.to=Math.min(e.doc.length,t+1e4)}reset(e){this.resetRange(e),this.editContext.updateText(0,this.editContext.text.length,e.doc.sliceString(this.from,this.to)),this.setSelection(e)}revertPending(e){let t=this.pendingContextChange;this.pendingContextChange=null,this.editContext.updateText(this.toContextPos(t.from),this.toContextPos(t.from+t.insert.length),e.doc.sliceString(t.from,t.to))}setSelection(e){let{main:t}=e.selection,n=this.toContextPos(Math.max(this.from,Math.min(this.to,t.anchor))),r=this.toContextPos(t.head);(this.editContext.selectionStart!=n||this.editContext.selectionEnd!=r)&&this.editContext.updateSelection(n,r)}rangeIsValid(e){let{head:t}=e.selection.main;return!(this.from>0&&t-this.from<500||this.to1e4*3)}toEditorPos(e,t=this.to-this.from){e=Math.min(e,t);let n=this.composing;return n&&n.drifted?n.editorBase+(e-n.contextBase):e+this.from}toContextPos(e){let t=this.composing;return t&&t.drifted?t.contextBase+(e-t.editorBase):e-this.from}destroy(){for(let e in this.handlers)this.editContext.removeEventListener(e,this.handlers[e])}},q=class i{get state(){return this.viewState.state}get viewport(){return this.viewState.viewport}get visibleRanges(){return this.viewState.visibleRanges}get inView(){return this.viewState.inView}get composing(){return!!this.inputState&&this.inputState.composing>0}get compositionStarted(){return!!this.inputState&&this.inputState.composing>=0}get root(){return this._root}get win(){return this.dom.ownerDocument.defaultView||window}constructor(e={}){var t;this.plugins=[],this.pluginMap=new Map,this.editorAttrs={},this.contentAttrs={},this.bidiCache=[],this.destroyed=!1,this.updateState=2,this.measureScheduled=-1,this.measureRequests=[],this.contentDOM=document.createElement("div"),this.scrollDOM=document.createElement("div"),this.scrollDOM.tabIndex=-1,this.scrollDOM.className="cm-scroller",this.scrollDOM.appendChild(this.contentDOM),this.announceDOM=document.createElement("div"),this.announceDOM.className="cm-announced",this.announceDOM.setAttribute("aria-live","polite"),this.dom=document.createElement("div"),this.dom.appendChild(this.announceDOM),this.dom.appendChild(this.scrollDOM),e.parent&&e.parent.appendChild(this.dom);let{dispatch:n}=e;this.dispatchTransactions=e.dispatchTransactions||n&&(r=>r.forEach(s=>n(s,this)))||(r=>this.update(r)),this.dispatch=this.dispatch.bind(this),this._root=e.root||C0(e.parent)||document,this.viewState=new bs(this,e.state||se.create(e)),e.scrollTo&&e.scrollTo.is(es)&&(this.viewState.scrollTarget=e.scrollTo.value.clip(this.viewState.state)),this.plugins=this.state.facet(hn).map(r=>new Kn(r));for(let r of this.plugins)r.update(this);this.observer=new Da(this),this.inputState=new Xa(this),this.inputState.ensureHandlers(this.plugins),this.docView=new ds(this),this.mountStyles(),this.updateAttrs(),this.updateState=0,this.requestMeasure(),!((t=document.fonts)===null||t===void 0)&&t.ready&&document.fonts.ready.then(()=>{this.viewState.mustMeasureContent="refresh",this.requestMeasure()})}dispatch(...e){let t=e.length==1&&e[0]instanceof pe?e:e.length==1&&Array.isArray(e[0])?e[0]:[this.state.update(...e)];this.dispatchTransactions(t,this)}update(e){if(this.updateState!=0)throw new Error("Calls to EditorView.update are not allowed while an update is in progress");let t=!1,n=!1,r,s=this.state;for(let u of e){if(u.startState!=s)throw new RangeError("Trying to update state with a transaction that doesn't start from the previous state.");s=u.state}if(this.destroyed){this.viewState.state=s;return}let o=this.hasFocus,a=0,l=null;e.some(u=>u.annotation(Zu))?(this.inputState.notifiedFocused=o,a=1):o!=this.inputState.notifiedFocused&&(this.inputState.notifiedFocused=o,l=Eu(s,o),l||(a=1));let c=this.observer.delayedAndroidKey,h=null;if(c?(this.observer.clearDelayedAndroidKey(),h=this.observer.readChange(),(h&&!this.state.doc.eq(s.doc)||!this.state.selection.eq(s.selection))&&(h=null)):this.observer.clear(),s.facet(se.phrases)!=this.state.facet(se.phrases))return this.setState(s);r=us.create(this,s,e),r.flags|=a;let f=this.viewState.scrollTarget;try{this.updateState=2;for(let u of e){if(f&&(f=f.map(u.changes)),u.scrollIntoView){let{main:O}=u.state.selection,{x:m,y:p}=this.state.facet(i.cursorScrollMargin);f=new Hn(O.empty?O:v.cursor(O.head,O.head>O.anchor?-1:1),"nearest","nearest",p,m)}for(let O of u.effects)O.is(es)&&(f=O.value.clip(this.state))}this.viewState.update(r,f),this.bidiCache=Ss.update(this.bidiCache,r.changes),r.empty||(this.updatePlugins(r),this.inputState.update(r)),t=this.docView.update(r),this.state.facet(Bn)!=this.styleModules&&this.mountStyles(),n=this.updateAttrs(),this.showAnnouncements(e),this.docView.updateSelection(t,e.some(u=>u.isUserEvent("select.pointer")))}finally{this.updateState=0}if(r.startState.facet(ss)!=r.state.facet(ss)&&(this.viewState.mustMeasureContent=!0),(t||n||f||this.viewState.mustEnforceCursorAssoc||this.viewState.mustMeasureContent)&&this.requestMeasure(),t&&this.docViewUpdate(),!r.empty)for(let u of this.state.facet(ga))try{u(r)}catch(O){ft(this.state,O,"update listener")}(l||h)&&Promise.resolve().then(()=>{l&&this.state==l.startState&&this.dispatch(l),h&&!$u(this,h)&&c.force&&On(this.contentDOM,c.key,c.keyCode)})}setState(e){if(this.updateState!=0)throw new Error("Calls to EditorView.setState are not allowed while an update is in progress");if(this.destroyed){this.viewState.state=e;return}this.updateState=2;let t=this.hasFocus;try{for(let n of this.plugins)n.destroy(this);this.viewState=new bs(this,e),this.plugins=e.facet(hn).map(n=>new Kn(n)),this.pluginMap.clear();for(let n of this.plugins)n.update(this);this.docView.destroy(),this.docView=new ds(this),this.inputState.ensureHandlers(this.plugins),this.mountStyles(),this.updateAttrs(),this.bidiCache=[]}finally{this.updateState=0}t&&this.focus(),this.requestMeasure()}updatePlugins(e){let t=e.startState.facet(hn),n=e.state.facet(hn);if(t!=n){let r=[];for(let s of n){let o=t.indexOf(s);if(o<0)r.push(new Kn(s));else{let a=this.plugins[o];a.mustUpdate=e,r.push(a)}}for(let s of this.plugins)s.mustUpdate!=e&&s.destroy(this);this.plugins=r,this.pluginMap.clear()}else for(let r of this.plugins)r.mustUpdate=e;for(let r=0;r-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.observer.delayedAndroidKey){this.measureScheduled=-1,this.requestMeasure();return}this.measureScheduled=0,e&&this.observer.forceFlush();let t=null,n=this.viewState.scrollParent,r=this.viewState.getScrollOffset(),{scrollAnchorPos:s,scrollAnchorHeight:o}=this.viewState;Math.abs(r-this.viewState.scrollOffset)>1&&(o=-1),this.viewState.scrollAnchorHeight=-1;try{for(let a=0;;a++){if(o<0)if(tu(n||this.win))s=-1,o=this.viewState.heightMap.height;else{let O=this.viewState.scrollAnchorAt(r);s=O.from,o=O.top}this.updateState=1;let l=this.viewState.measure();if(!l&&!this.measureRequests.length&&this.viewState.scrollTarget==null)break;if(a>5){console.warn(this.measureRequests.length?"Measure loop restarted more than 5 times":"Viewport failed to stabilize");break}let c=[];l&4||([this.measureRequests,c]=[c,this.measureRequests]);let h=c.map(O=>{try{return O.read(this)}catch(m){return ft(this.state,m),Uf}}),f=us.create(this,this.state,[]),u=!1;f.flags|=l,t?t.flags|=l:t=f,this.updateState=2,f.empty||(this.updatePlugins(f),this.inputState.update(f),this.updateAttrs(),u=this.docView.update(f),u&&this.docViewUpdate());for(let O=0;O1||m<-1)&&!(L.ios&&this.inputState.lastIOSMomentumScroll>Date.now()-100)&&(n==this.scrollDOM||this.hasFocus||Math.max(this.inputState.lastWheelEvent,this.inputState.lastTouchTime)>Date.now()-100)){r=r+m,n?n.scrollTop+=m:this.win.scrollBy(0,m),o=-1;continue}}break}}}finally{this.updateState=0,this.measureScheduled=-1}if(t&&!t.empty)for(let a of this.state.facet(ga))a(t)}get themeClasses(){return ja+" "+(this.state.facet(Wa)?Lu:zu)+" "+this.state.facet(ss)}updateAttrs(){let e=Gf(this,Qu,{class:"cm-editor"+(this.hasFocus?" cm-focused ":" ")+this.themeClasses}),t={spellcheck:"false",autocorrect:"off",autocapitalize:"off",writingsuggestions:"false",translate:"no",contenteditable:this.state.facet(jt)?"true":"false",class:"cm-content",style:`${L.tabSize}: ${this.state.tabSize}`,role:"textbox","aria-multiline":"true"};this.state.readOnly&&(t["aria-readonly"]="true"),Gf(this,Ha,t);let n=this.observer.ignore(()=>{let r=vf(this.contentDOM,this.contentAttrs,t),s=vf(this.dom,this.editorAttrs,e);return r||s});return this.editorAttrs=e,this.contentAttrs=t,n}showAnnouncements(e){let t=!0;for(let n of e)for(let r of n.effects)if(r.is(i.announce)){t&&(this.announceDOM.textContent=""),t=!1;let s=this.announceDOM.appendChild(document.createElement("div"));s.textContent=r.value}}mountStyles(){this.styleModules=this.state.facet(Bn);let e=this.state.facet(i.cspNonce);at.mount(this.root,this.styleModules.concat(qQ).reverse(),e?{nonce:e}:void 0)}readMeasured(){if(this.updateState==2)throw new Error("Reading the editor layout isn't allowed during an update");this.updateState==0&&this.measureScheduled>-1&&this.measure(!1)}requestMeasure(e){if(this.measureScheduled<0&&(this.measureScheduled=this.win.requestAnimationFrame(()=>this.measure())),e){if(this.measureRequests.indexOf(e)>-1)return;if(e.key!=null){for(let t=0;tn.plugin==e)||null),t&&t.update(this).value}get documentTop(){return this.contentDOM.getBoundingClientRect().top+this.viewState.paddingTop}get documentPadding(){return{top:this.viewState.paddingTop,bottom:this.viewState.paddingBottom}}get scaleX(){return this.viewState.scaleX}get scaleY(){return this.viewState.scaleY}elementAtHeight(e){return this.readMeasured(),this.viewState.elementAtHeight(e)}lineBlockAtHeight(e){return this.readMeasured(),this.viewState.lineBlockAtHeight(e)}get viewportLineBlocks(){return this.viewState.viewportLines}lineBlockAt(e){return this.viewState.lineBlockAt(e)}get contentHeight(){return this.viewState.contentHeight}moveByChar(e,t,n){return oa(this,e,Rf(this,e,t,n))}moveByGroup(e,t){return oa(this,e,Rf(this,e,t,n=>oQ(this,e.head,n)))}visualLineSide(e,t){let n=this.bidiSpans(e),r=this.textDirectionAt(e.from),s=n[t?n.length-1:0];return v.cursor(s.side(t,r)+e.from,s.forward(!t,r)?1:-1)}moveToLineBoundary(e,t,n=!0){return sQ(this,e,t,n)}moveVertically(e,t,n){return oa(this,e,aQ(this,e,t,n))}domAtPos(e,t=1){return this.docView.domAtPos(e,t)}posAtDOM(e,t=0){return this.docView.posFromDOM(e,t)}posAtCoords(e,t=!0){this.readMeasured();let n=va(this,e,t);return n&&n.pos}posAndSideAtCoords(e,t=!0){return this.readMeasured(),va(this,e,t)}coordsAtPos(e,t=1){this.readMeasured();let n=this.state.doc.lineAt(e),r=this.bidiSpans(n),s=r[ht.find(r,e-n.from,-1,t)];return this.docView.coordsAt(e,t,s.dir==Oe.RTL)}coordsForChar(e){return this.readMeasured(),this.docView.coordsForChar(e)}get defaultCharacterWidth(){return this.viewState.heightOracle.charWidth}get defaultLineHeight(){return this.viewState.heightOracle.lineHeight}get textDirection(){return this.viewState.defaultTextDirection}textDirectionAt(e){return!this.state.facet(pu)||ethis.viewport.to?this.textDirection:(this.readMeasured(),this.docView.textDirectionAt(e))}get lineWrapping(){return this.viewState.heightOracle.lineWrapping}bidiSpans(e){if(e.length>MQ)return au(e.length);let t=this.textDirectionAt(e.from),n;for(let s of this.bidiCache)if(s.from==e.from&&s.dir==t&&(s.fresh||ou(s.isolates,n=Cf(this,e))))return s.order;n||(n=Cf(this,e));let r=z0(e.text,t,n);return this.bidiCache.push(new Ss(e.from,e.to,t,n,!0,r)),r}get hasFocus(){var e;return(this.dom.ownerDocument.hasFocus()||L.safari&&((e=this.inputState)===null||e===void 0?void 0:e.lastContextMenu)>Date.now()-3e4)&&this.root.activeElement==this.contentDOM}focus(){this.observer.ignore(()=>{eu(this.contentDOM),this.docView.updateSelection()})}setRoot(e){this._root!=e&&(this._root=e,this.observer.setWindow((e.nodeType==9?e:e.ownerDocument).defaultView||window),this.mountStyles())}destroy(){this.root.activeElement==this.contentDOM&&this.contentDOM.blur();for(let e of this.plugins)e.destroy(this);this.plugins=[],this.inputState.destroy(),this.docView.destroy(),this.dom.remove(),this.observer.destroy(),this.measureScheduled>-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.destroyed=!0}static scrollIntoView(e,t={}){var n,r,s,o;return es.of(new Hn(typeof e=="number"?v.cursor(e):e,(n=t.y)!==null&&n!==void 0?n:"nearest",(r=t.x)!==null&&r!==void 0?r:"nearest",(s=t.yMargin)!==null&&s!==void 0?s:5,(o=t.xMargin)!==null&&o!==void 0?o:5))}scrollSnapshot(){let{scrollTop:e,scrollLeft:t}=this.scrollDOM,n=this.viewState.scrollAnchorAt(e);return es.of(new Hn(v.cursor(n.from),"start","start",n.top-e,t,!0))}setTabFocusMode(e){e==null?this.inputState.tabFocusMode=this.inputState.tabFocusMode<0?0:-1:typeof e=="boolean"?this.inputState.tabFocusMode=e?0:-1:this.inputState.tabFocusMode!=0&&(this.inputState.tabFocusMode=Date.now()+e)}static domEventHandlers(e){return De.define(()=>({}),{eventHandlers:e})}static domEventObservers(e){return De.define(()=>({}),{eventObservers:e})}static theme(e,t){let n=at.newName(),r=[ss.of(n),Bn.of(Va(`.${n}`,e))];return t&&t.dark&&r.push(Wa.of(!0)),r}static baseTheme(e){return ot.lowest(Bn.of(Va("."+ja,e,Mu)))}static findFromDOM(e){var t;let n=e.querySelector(".cm-content"),r=n&&ue.get(n)||ue.get(e);return((t=r?.root)===null||t===void 0?void 0:t.view)||null}};q.styleModule=Bn;q.inputHandler=Ou;q.clipboardInputFilter=Na;q.clipboardOutputFilter=Fa;q.scrollHandler=mu;q.focusChangeEffect=du;q.perLineTextDirection=pu;q.exceptionSink=uu;q.updateListener=ga;q.editable=jt;q.mouseSelectionStyle=fu;q.dragMovesSelection=hu;q.clickAddsSelectionRange=cu;q.decorations=ks;q.blockWrappers=bu;q.outerDecorations=Ka;q.atomicRanges=or;q.bidiIsolatedRanges=Su;q.cursorScrollMargin=Y.define({combine:i=>{let e=5,t=5;for(let n of i)typeof n=="number"?e=t=n:{x:e,y:t}=n;return{x:e,y:t}}});q.scrollMargins=yu;q.darkTheme=Wa;q.cspNonce=Y.define({combine:i=>i.length?i[0]:""});q.contentAttributes=Ha;q.editorAttributes=Qu;q.lineWrapping=q.contentAttributes.of({class:"cm-lineWrapping"});q.announce=ie.define();var MQ=4096,Uf={},Ss=class i{constructor(e,t,n,r,s,o){this.from=e,this.to=t,this.dir=n,this.isolates=r,this.fresh=s,this.order=o}static update(e,t){if(t.empty&&!e.some(s=>s.fresh))return e;let n=[],r=e.length?e[e.length-1].dir:Oe.LTR;for(let s=Math.max(0,e.length-10);s=0;r--){let s=n[r],o=typeof s=="function"?s(i):s;o&&Ba(o,t)}return t}var WQ=L.mac?"mac":L.windows?"win":L.linux?"linux":"key";function jQ(i,e){let t=i.split(/-(?!$)/),n=t[t.length-1];n=="Space"&&(n=" ");let r,s,o,a;for(let l=0;ln.concat(r),[]))),t}var ai=null,YQ=4e3;function IQ(i,e=WQ){let t=Object.create(null),n=Object.create(null),r=(o,a)=>{let l=n[o];if(l==null)n[o]=a;else if(l!=a)throw new Error("Key binding "+o+" is used both as a regular binding and as a multi-stroke prefix")},s=(o,a,l,c,h)=>{var f,u;let O=t[o]||(t[o]=Object.create(null)),m=a.split(/ (?!$)/).map(g=>jQ(g,e));for(let g=1;g{let x=ai={view:S,prefix:Q,scope:o};return setTimeout(()=>{ai==x&&(ai=null)},YQ),!0}]})}let p=m.join(" ");r(p,!1);let b=O[p]||(O[p]={preventDefault:!1,stopPropagation:!1,run:((u=(f=O._any)===null||f===void 0?void 0:f.run)===null||u===void 0?void 0:u.slice())||[]});l&&b.run.push(l),c&&(b.preventDefault=!0),h&&(b.stopPropagation=!0)};for(let o of i){let a=o.scope?o.scope.split(" "):["editor"];if(o.any)for(let c of a){let h=t[c]||(t[c]=Object.create(null));h._any||(h._any={preventDefault:!1,stopPropagation:!1,run:[]});let{any:f}=o;for(let u in h)h[u].run.push(O=>f(O,Ia))}let l=o[e]||o.key;if(l)for(let c of a)s(c,l,o.run,o.preventDefault,o.stopPropagation),o.shift&&s(c,"Shift-"+l,o.shift,o.preventDefault,o.stopPropagation)}return t}var Ia=null;function BQ(i,e,t,n){Ia=e;let r=kf(e),s=oi(r,0),o=an(s)==r.length&&r!=" ",a="",l=!1,c=!1,h=!1;ai&&ai.view==t&&ai.scope==n&&(a=ai.prefix+" ",Xu.indexOf(e.keyCode)<0&&(c=!0,ai=null));let f=new Set,u=b=>{if(b){for(let g of b.run)if(!f.has(g)&&(f.add(g),g(t)))return b.stopPropagation&&(h=!0),!0;b.preventDefault&&(b.stopPropagation&&(h=!0),c=!0)}return!1},O=i[n],m,p;return O&&(u(O[a+os(r,e,!o)])?l=!0:o&&(e.altKey||e.metaKey||e.ctrlKey)&&!(L.windows&&e.ctrlKey&&e.altKey)&&!(L.mac&&e.altKey&&!(e.ctrlKey||e.metaKey))&&(m=Wt[e.keyCode])&&m!=r?(u(O[a+os(m,e,!0)])||e.shiftKey&&(p=ln[e.keyCode])!=r&&p!=m&&u(O[a+os(p,e,!1)]))&&(l=!0):o&&e.shiftKey&&u(O[a+os(r,e,!0)])&&(l=!0),!l&&u(O._any)&&(l=!0)),c&&(l=!0),l&&h&&e.stopPropagation(),Ia=null,l}var Wu=ie.define({map(i,e){return i==null?null:e.mapPos(i)}}),Gn=fe.define({create(){return null},update(i,e){return i!=null&&(i=e.changes.mapPos(i)),e.effects.reduce((t,n)=>n.is(Wu)?n.value:t,i)}}),UQ=De.fromClass(class{constructor(i){this.view=i,this.cursor=null,this.measureReq={read:this.readPos.bind(this),write:this.drawCursor.bind(this)}}update(i){var e;let t=i.state.field(Gn);t==null?this.cursor!=null&&((e=this.cursor)===null||e===void 0||e.remove(),this.cursor=null):(this.cursor||(this.cursor=this.view.scrollDOM.appendChild(document.createElement("div")),this.cursor.className="cm-dropCursor"),(i.startState.field(Gn)!=t||i.docChanged||i.geometryChanged)&&this.view.requestMeasure(this.measureReq))}readPos(){let{view:i}=this,e=i.state.field(Gn),t=e!=null&&i.coordsAtPos(e);if(!t)return null;let n=i.scrollDOM.getBoundingClientRect();return{left:t.left-n.left+i.scrollDOM.scrollLeft*i.scaleX,top:t.top-n.top+i.scrollDOM.scrollTop*i.scaleY,height:t.bottom-t.top}}drawCursor(i){if(this.cursor){let{scaleX:e,scaleY:t}=this.view;i?(this.cursor.style.left=i.left/e+"px",this.cursor.style.top=i.top/t+"px",this.cursor.style.height=i.height/t+"px"):this.cursor.style.left="-100000px"}}destroy(){this.cursor&&this.cursor.remove()}setDropPos(i){this.view.state.field(Gn)!=i&&this.view.dispatch({effects:Wu.of(i)})}},{eventObservers:{dragover(i){this.setDropPos(this.view.posAtCoords({x:i.clientX,y:i.clientY}))},dragleave(i){(i.target==this.view.contentDOM||!this.view.contentDOM.contains(i.relatedTarget))&&this.setDropPos(null)},dragend(){this.setDropPos(null)},drop(){this.setDropPos(null)}}});function ju(){return[Gn,UQ]}var h$=/x/.unicode!=null?"gu":"g";var Yt=class extends st{compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}eq(e){return!1}destroy(e){}};Yt.prototype.elementClass="";Yt.prototype.toDOM=void 0;Yt.prototype.mapMode=ge.TrackBefore;Yt.prototype.startSide=Yt.prototype.endSide=-1;Yt.prototype.point=!0;var GQ=0,Ye=class{constructor(e,t){this.from=e,this.to=t}},I=class{constructor(e={}){this.id=GQ++,this.perNode=!!e.perNode,this.deserialize=e.deserialize||(()=>{throw new Error("This node type doesn't define a deserialize function")}),this.combine=e.combine||null}add(e){if(this.perNode)throw new RangeError("Can't add per-node props to node types");return typeof e!="function"&&(e=de.match(e)),t=>{let n=e(t);return n===void 0?null:[this,n]}}};I.closedBy=new I({deserialize:i=>i.split(" ")});I.openedBy=new I({deserialize:i=>i.split(" ")});I.group=new I({deserialize:i=>i.split(" ")});I.isolate=new I({deserialize:i=>{if(i&&i!="rtl"&&i!="ltr"&&i!="auto")throw new RangeError("Invalid value for isolate: "+i);return i||"auto"}});I.contextHash=new I({perNode:!0});I.lookAhead=new I({perNode:!0});I.mounted=new I({perNode:!0});var Oi=class{constructor(e,t,n,r=!1){this.tree=e,this.overlay=t,this.parser=n,this.bracketed=r}static get(e){return e&&e.props&&e.props[I.mounted.id]}},NQ=Object.create(null),de=class i{constructor(e,t,n,r=0){this.name=e,this.props=t,this.id=n,this.flags=r}static define(e){let t=e.props&&e.props.length?Object.create(null):NQ,n=(e.top?1:0)|(e.skipped?2:0)|(e.error?4:0)|(e.name==null?8:0),r=new i(e.name||"",t,e.id,n);if(e.props){for(let s of e.props)if(Array.isArray(s)||(s=s(r)),s){if(s[0].perNode)throw new RangeError("Can't store a per-node prop on a node type");t[s[0].id]=s[1]}}return r}prop(e){return this.props[e.id]}get isTop(){return(this.flags&1)>0}get isSkipped(){return(this.flags&2)>0}get isError(){return(this.flags&4)>0}get isAnonymous(){return(this.flags&8)>0}is(e){if(typeof e=="string"){if(this.name==e)return!0;let t=this.prop(I.group);return t?t.indexOf(e)>-1:!1}return this.id==e}static match(e){let t=Object.create(null);for(let n in e)for(let r of n.split(" "))t[r]=e[n];return n=>{for(let r=n.prop(I.group),s=-1;s<(r?r.length:0);s++){let o=t[s<0?n.name:r[s]];if(o)return o}}}};de.none=new de("",Object.create(null),0,8);var It=class i{constructor(e){this.types=e;for(let t=0;t0;for(let l=this.cursor(o|te.IncludeAnonymous);;){let c=!1;if(l.from<=s&&l.to>=r&&(!a&&l.type.isAnonymous||t(l)!==!1)){if(l.firstChild())continue;c=!0}for(;c&&n&&(a||!l.type.isAnonymous)&&n(l),!l.nextSibling();){if(!l.parent())return;c=!0}}}prop(e){return e.perNode?this.props?this.props[e.id]:void 0:this.type.prop(e)}get propValues(){let e=[];if(this.props)for(let t in this.props)e.push([+t,this.props[t]]);return e}balance(e={}){return this.children.length<=8?this:hl(de.none,this.children,this.positions,0,this.children.length,0,this.length,(t,n,r)=>new i(this.type,t,n,r,this.propValues),e.makeTree||((t,n,r)=>new i(de.none,t,n,r)))}static build(e){return HQ(e)}};K.empty=new K(de.none,[],[],0);var el=class i{constructor(e,t){this.buffer=e,this.index=t}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}get pos(){return this.index}next(){this.index-=4}fork(){return new i(this.buffer,this.index)}},di=class i{constructor(e,t,n){this.buffer=e,this.length=t,this.set=n}get type(){return de.none}toString(){let e=[];for(let t=0;t0));l=o[l+3]);return a}slice(e,t,n){let r=this.buffer,s=new Uint16Array(t-e),o=0;for(let a=e,l=0;a=e&&te;case 1:return t<=e&&n>e;case 2:return n>e;case 4:return!0}}function ar(i,e,t,n){for(var r;i.from==i.to||(t<1?i.from>=e:i.from>e)||(t>-1?i.to<=e:i.to0?a.length:-1;e!=c;e+=t){let h=a[e],f=l[e]+o.from,u;if(!(!(s&te.EnterBracketed&&h instanceof K&&(u=Oi.get(h))&&!u.overlay&&u.bracketed&&n>=f&&n<=f+h.length)&&!Nu(r,n,f,f+h.length))){if(h instanceof di){if(s&te.ExcludeBuffers)continue;let O=h.findChild(0,h.buffer.length,t,n-f,r);if(O>-1)return new Li(new il(o,h,e,f),null,O)}else if(s&te.IncludeAnonymous||!h.type.isAnonymous||cl(h)){let O;if(!(s&te.IgnoreMounts)&&(O=Oi.get(h))&&!O.overlay)return new i(O.tree,f,e,o);let m=new i(h,f,e,o);return s&te.IncludeAnonymous||!m.type.isAnonymous?m:m.nextChild(t<0?h.children.length-1:0,t,n,r,s)}}}if(s&te.IncludeAnonymous||!o.type.isAnonymous||(o.index>=0?e=o.index+t:e=t<0?-1:o._parent._tree.children.length,o=o._parent,!o))return null}}get firstChild(){return this.nextChild(0,1,0,4)}get lastChild(){return this.nextChild(this._tree.children.length-1,-1,0,4)}childAfter(e){return this.nextChild(0,1,e,2)}childBefore(e){return this.nextChild(this._tree.children.length-1,-1,e,-2)}prop(e){return this._tree.prop(e)}enter(e,t,n=0){let r;if(!(n&te.IgnoreOverlays)&&(r=Oi.get(this._tree))&&r.overlay){let s=e-this.from,o=n&te.EnterBracketed&&r.bracketed;for(let{from:a,to:l}of r.overlay)if((t>0||o?a<=s:a=s:l>s))return new i(r.tree,r.overlay[0].from+this.from,-1,this)}return this.nextChild(0,1,e,t,n)}nextSignificantParent(){let e=this;for(;e.type.isAnonymous&&e._parent;)e=e._parent;return e}get parent(){return this._parent?this._parent.nextSignificantParent():null}get nextSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index+1,1,0,4):null}get prevSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index-1,-1,0,4):null}get tree(){return this._tree}toTree(){return this._tree}toString(){return this._tree.toString()}};function Du(i,e,t,n){let r=i.cursor(),s=[];if(!r.firstChild())return s;if(t!=null){for(let o=!1;!o;)if(o=r.type.is(t),!r.nextSibling())return s}for(;;){if(n!=null&&r.type.is(n))return s;if(r.type.is(e)&&s.push(r.node),!r.nextSibling())return n==null?s:[]}}function tl(i,e,t=e.length-1){for(let n=i;t>=0;n=n.parent){if(!n)return!1;if(!n.type.isAnonymous){if(e[t]&&e[t]!=n.name)return!1;t--}}return!0}var il=class{constructor(e,t,n,r){this.parent=e,this.buffer=t,this.index=n,this.start=r}},Li=class i extends vs{get name(){return this.type.name}get from(){return this.context.start+this.context.buffer.buffer[this.index+1]}get to(){return this.context.start+this.context.buffer.buffer[this.index+2]}constructor(e,t,n){super(),this.context=e,this._parent=t,this.index=n,this.type=e.buffer.set.types[e.buffer.buffer[n]]}child(e,t,n){let{buffer:r}=this.context,s=r.findChild(this.index+4,r.buffer[this.index+3],e,t-this.context.start,n);return s<0?null:new i(this.context,this,s)}get firstChild(){return this.child(1,0,4)}get lastChild(){return this.child(-1,0,4)}childAfter(e){return this.child(1,e,2)}childBefore(e){return this.child(-1,e,-2)}prop(e){return this.type.prop(e)}enter(e,t,n=0){if(n&te.ExcludeBuffers)return null;let{buffer:r}=this.context,s=r.findChild(this.index+4,r.buffer[this.index+3],t>0?1:-1,e-this.context.start,t);return s<0?null:new i(this.context,this,s)}get parent(){return this._parent||this.context.parent.nextSignificantParent()}externalSibling(e){return this._parent?null:this.context.parent.nextChild(this.context.index+e,e,0,4)}get nextSibling(){let{buffer:e}=this.context,t=e.buffer[this.index+3];return t<(this._parent?e.buffer[this._parent.index+3]:e.buffer.length)?new i(this.context,this._parent,t):this.externalSibling(1)}get prevSibling(){let{buffer:e}=this.context,t=this._parent?this._parent.index+4:0;return this.index==t?this.externalSibling(-1):new i(this.context,this._parent,e.findChild(t,this.index,-1,0,4))}get tree(){return null}toTree(){let e=[],t=[],{buffer:n}=this.context,r=this.index+4,s=n.buffer[this.index+3];if(s>r){let o=n.buffer[this.index+1];e.push(n.slice(r,s,o)),t.push(0)}return new K(this.type,e,t,this.to-this.from)}toString(){return this.context.buffer.childString(this.index)}};function Fu(i){if(!i.length)return null;let e=0,t=i[0];for(let s=1;st.from||o.to=e){let a=new Ie(o.tree,o.overlay[0].from+s.from,-1,s);(r||(r=[n])).push(ar(a,e,t,!1))}}return r?Fu(r):n}var bn=class{get name(){return this.type.name}constructor(e,t=0){if(this.buffer=null,this.stack=[],this.index=0,this.bufferNode=null,this.mode=t&~te.EnterBracketed,e instanceof Ie)this.yieldNode(e);else{this._tree=e.context.parent,this.buffer=e.context;for(let n=e._parent;n;n=n._parent)this.stack.unshift(n.index);this.bufferNode=e,this.yieldBuf(e.index)}}yieldNode(e){return e?(this._tree=e,this.type=e.type,this.from=e.from,this.to=e.to,!0):!1}yieldBuf(e,t){this.index=e;let{start:n,buffer:r}=this.buffer;return this.type=t||r.set.types[r.buffer[e]],this.from=n+r.buffer[e+1],this.to=n+r.buffer[e+2],!0}yield(e){return e?e instanceof Ie?(this.buffer=null,this.yieldNode(e)):(this.buffer=e.context,this.yieldBuf(e.index,e.type)):!1}toString(){return this.buffer?this.buffer.buffer.childString(this.index):this._tree.toString()}enterChild(e,t,n){if(!this.buffer)return this.yield(this._tree.nextChild(e<0?this._tree._tree.children.length-1:0,e,t,n,this.mode));let{buffer:r}=this.buffer,s=r.findChild(this.index+4,r.buffer[this.index+3],e,t-this.buffer.start,n);return s<0?!1:(this.stack.push(this.index),this.yieldBuf(s))}firstChild(){return this.enterChild(1,0,4)}lastChild(){return this.enterChild(-1,0,4)}childAfter(e){return this.enterChild(1,e,2)}childBefore(e){return this.enterChild(-1,e,-2)}enter(e,t,n=this.mode){return this.buffer?n&te.ExcludeBuffers?!1:this.enterChild(1,e,t):this.yield(this._tree.enter(e,t,n))}parent(){if(!this.buffer)return this.yieldNode(this.mode&te.IncludeAnonymous?this._tree._parent:this._tree.parent);if(this.stack.length)return this.yieldBuf(this.stack.pop());let e=this.mode&te.IncludeAnonymous?this.buffer.parent:this.buffer.parent.nextSignificantParent();return this.buffer=null,this.yieldNode(e)}sibling(e){if(!this.buffer)return this._tree._parent?this.yield(this._tree.index<0?null:this._tree._parent.nextChild(this._tree.index+e,e,0,4,this.mode)):!1;let{buffer:t}=this.buffer,n=this.stack.length-1;if(e<0){let r=n<0?0:this.stack[n]+4;if(this.index!=r)return this.yieldBuf(t.findChild(r,this.index,-1,0,4))}else{let r=t.buffer[this.index+3];if(r<(n<0?t.buffer.length:t.buffer[this.stack[n]+3]))return this.yieldBuf(r)}return n<0?this.yield(this.buffer.parent.nextChild(this.buffer.index+e,e,0,4,this.mode)):!1}nextSibling(){return this.sibling(1)}prevSibling(){return this.sibling(-1)}atLastNode(e){let t,n,{buffer:r}=this;if(r){if(e>0){if(this.index-1)for(let s=t+e,o=e<0?-1:n._tree.children.length;s!=o;s+=e){let a=n._tree.children[s];if(this.mode&te.IncludeAnonymous||a instanceof di||!a.type.isAnonymous||cl(a))return!1}return!0}move(e,t){if(t&&this.enterChild(e,0,4))return!0;for(;;){if(this.sibling(e))return!0;if(this.atLastNode(e)||!this.parent())return!1}}next(e=!0){return this.move(1,e)}prev(e=!0){return this.move(-1,e)}moveTo(e,t=0){for(;(this.from==this.to||(t<1?this.from>=e:this.from>e)||(t>-1?this.to<=e:this.to=0;){for(let o=e;o;o=o._parent)if(o.index==r){if(r==this.index)return o;t=o,n=s+1;break e}r=this.stack[--s]}for(let r=n;r=0;s--){if(s<0)return tl(this._tree,e,r);let o=n[t.buffer[this.stack[s]]];if(!o.isAnonymous){if(e[r]&&e[r]!=o.name)return!1;r--}}return!0}};function cl(i){return i.children.some(e=>e instanceof di||!e.type.isAnonymous||cl(e))}function HQ(i){var e;let{buffer:t,nodeSet:n,maxBufferLength:r=1024,reused:s=[],minRepeatType:o=n.types.length}=i,a=Array.isArray(t)?new el(t,t.length):t,l=n.types,c=0,h=0;function f(P,$,Z,X,W,T){let{id:C,start:k,end:w,size:z}=a,N=h,y=c;if(z<0)if(a.next(),z==-1){let B=s[C];Z.push(B),X.push(k-P);return}else if(z==-3){c=C;return}else if(z==-4){h=C;return}else throw new RangeError(`Unrecognized record size: ${z}`);let j=l[C],ye,nt,_=k-P;if(w-k<=r&&(nt=b(a.pos-$,W))){let B=new Uint16Array(nt.size-nt.skip),F=a.pos-nt.size,G=B.length;for(;a.pos>F;)G=g(nt.start,B,G);ye=new di(B,w-nt.start,n),_=nt.start-P}else{let B=a.pos-z;a.next();let F=[],G=[],ae=C>=o?C:-1,re=0,$e=w;for(;a.pos>B;)ae>=0&&a.id==ae&&a.size>=0?(a.end<=$e-r&&(m(F,G,k,re,a.end,$e,ae,N,y),re=F.length,$e=a.end),a.next()):T>2500?u(k,B,F,G):f(k,B,F,G,ae,T+1);if(ae>=0&&re>0&&re-1&&re>0){let bt=O(j,y);ye=hl(j,F,G,0,F.length,0,w-k,bt,bt)}else ye=p(j,F,G,w-k,N-w,y)}Z.push(ye),X.push(_)}function u(P,$,Z,X){let W=[],T=0,C=-1;for(;a.pos>$;){let{id:k,start:w,end:z,size:N}=a;if(N>4)a.next();else{if(C>-1&&w=0;z-=3)k[N++]=W[z],k[N++]=W[z+1]-w,k[N++]=W[z+2]-w,k[N++]=N;Z.push(new di(k,W[2]-w,n)),X.push(w-P)}}function O(P,$){return(Z,X,W)=>{let T=0,C=Z.length-1,k,w;if(C>=0&&(k=Z[C])instanceof K){if(!C&&k.type==P&&k.length==W)return k;(w=k.prop(I.lookAhead))&&(T=X[C]+k.length+w)}return p(P,Z,X,W,T,$)}}function m(P,$,Z,X,W,T,C,k,w){let z=[],N=[];for(;P.length>X;)z.push(P.pop()),N.push($.pop()+Z-W);P.push(p(n.types[C],z,N,T-W,k-T,w)),$.push(W-Z)}function p(P,$,Z,X,W,T,C){if(T){let k=[I.contextHash,T];C=C?[k].concat(C):[k]}if(W>25){let k=[I.lookAhead,W];C=C?[k].concat(C):[k]}return new K(P,$,Z,X,C)}function b(P,$){let Z=a.fork(),X=0,W=0,T=0,C=Z.end-r,k={size:0,start:0,skip:0};e:for(let w=Z.pos-P;Z.pos>w;){let z=Z.size;if(Z.id==$&&z>=0){k.size=X,k.start=W,k.skip=T,T+=4,X+=4,Z.next();continue}let N=Z.pos-z;if(z<0||N=o?4:0,j=Z.start;for(Z.next();Z.pos>N;){if(Z.size<0)if(Z.size==-3||Z.size==-4)y+=4;else break e;else Z.id>=o&&(y+=4);Z.next()}W=j,X+=z,T+=y}return($<0||X==P)&&(k.size=X,k.start=W,k.skip=T),k.size>4?k:void 0}function g(P,$,Z){let{id:X,start:W,end:T,size:C}=a;if(a.next(),C>=0&&X4){let w=a.pos-(C-4);for(;a.pos>w;)Z=g(P,$,Z)}$[--Z]=k,$[--Z]=T-P,$[--Z]=W-P,$[--Z]=X}else C==-3?c=X:C==-4&&(h=X);return Z}let Q=[],S=[];for(;a.pos>0;)f(i.start||0,i.bufferStart||0,Q,S,-1,0);let x=(e=i.length)!==null&&e!==void 0?e:Q.length?S[0]+Q[0].length:0;return new K(l[i.topID],Q.reverse(),S.reverse(),x)}var Yu=new WeakMap;function Ps(i,e){if(!i.isAnonymous||e instanceof di||e.type!=i)return 1;let t=Yu.get(e);if(t==null){t=1;for(let n of e.children){if(n.type!=i||!(n instanceof K)){t=1;break}t+=Ps(i,n)}Yu.set(e,t)}return t}function hl(i,e,t,n,r,s,o,a,l){let c=0;for(let m=n;m=h)break;$+=Z}if(S==x+1){if($>h){let Z=m[x];O(Z.children,Z.positions,0,Z.children.length,p[x]+Q);continue}f.push(m[x])}else{let Z=p[S-1]+m[S-1].length-P;f.push(hl(i,m,p,x,S,P,Z,null,l))}u.push(P+Q-s)}}return O(e,t,n,r,0),(a||l)(f,u,o)}var pi=class{constructor(){this.map=new WeakMap}setBuffer(e,t,n){let r=this.map.get(e);r||this.map.set(e,r=new Map),r.set(t,n)}getBuffer(e,t){let n=this.map.get(e);return n&&n.get(t)}set(e,t){e instanceof Li?this.setBuffer(e.context.buffer,e.index,t):e instanceof Ie&&this.map.set(e.tree,t)}get(e){return e instanceof Li?this.getBuffer(e.context.buffer,e.index):e instanceof Ie?this.map.get(e.tree):void 0}cursorSet(e,t){e.buffer?this.setBuffer(e.buffer.buffer,e.index,t):this.map.set(e.tree,t)}cursorGet(e){return e.buffer?this.getBuffer(e.buffer.buffer,e.index):this.map.get(e.tree)}},Bt=class i{constructor(e,t,n,r,s=!1,o=!1){this.from=e,this.to=t,this.tree=n,this.offset=r,this.open=(s?1:0)|(o?2:0)}get openStart(){return(this.open&1)>0}get openEnd(){return(this.open&2)>0}static addTree(e,t=[],n=!1){let r=[new i(0,e.length,e,0,!1,n)];for(let s of t)s.to>e.length&&r.push(s);return r}static applyChanges(e,t,n=128){if(!t.length)return e;let r=[],s=1,o=e.length?e[0]:null;for(let a=0,l=0,c=0;;a++){let h=a=n)for(;o&&o.from=u.from||f<=u.to||c){let O=Math.max(u.from,l)-c,m=Math.min(u.to,f)-c;u=O>=m?null:new i(O,m,u.tree,u.offset+c,a>0,!!h)}if(u&&r.push(u),o.to>f)break;o=snew Ye(r.from,r.to)):[new Ye(0,0)]:[new Ye(0,e.length)],this.createParse(e,t||[],n)}parse(e,t,n){let r=this.startParse(e,t,n);for(;;){let s=r.advance();if(s)return s}}},rl=class{constructor(e){this.string=e}get length(){return this.string.length}chunk(e){return this.string.slice(e)}get lineChunks(){return!1}read(e,t){return this.string.slice(e,t)}};function Sn(i){return(e,t,n,r)=>new al(e,i,t,n,r)}var $s=class{constructor(e,t,n,r,s,o){this.parser=e,this.parse=t,this.overlay=n,this.bracketed=r,this.target=s,this.from=o}};function Iu(i){if(!i.length||i.some(e=>e.from>=e.to))throw new RangeError("Invalid inner parse ranges given: "+JSON.stringify(i))}var sl=class{constructor(e,t,n,r,s,o,a,l){this.parser=e,this.predicate=t,this.mounts=n,this.index=r,this.start=s,this.bracketed=o,this.target=a,this.prev=l,this.depth=0,this.ranges=[]}},ol=new I({perNode:!0}),al=class{constructor(e,t,n,r,s){this.nest=t,this.input=n,this.fragments=r,this.ranges=s,this.inner=[],this.innerDone=0,this.baseTree=null,this.stoppedAt=null,this.baseParse=e}advance(){if(this.baseParse){let n=this.baseParse.advance();if(!n)return null;if(this.baseParse=null,this.baseTree=n,this.startInner(),this.stoppedAt!=null)for(let r of this.inner)r.parse.stopAt(this.stoppedAt)}if(this.innerDone==this.inner.length){let n=this.baseTree;return this.stoppedAt!=null&&(n=new K(n.type,n.children,n.positions,n.length,n.propValues.concat([[ol,this.stoppedAt]]))),n}let e=this.inner[this.innerDone],t=e.parse.advance();if(t){this.innerDone++;let n=Object.assign(Object.create(null),e.target.props);n[I.mounted.id]=new Oi(t,e.overlay,e.parser,e.bracketed),e.target.props=n}return null}get parsedPos(){if(this.baseParse)return 0;let e=this.input.length;for(let t=this.innerDone;t=this.stoppedAt)a=!1;else if(e.hasNode(r)){if(t){let c=t.mounts.find(h=>h.frag.from<=r.from&&h.frag.to>=r.to&&h.mount.overlay);if(c)for(let h of c.mount.overlay){let f=h.from+c.pos,u=h.to+c.pos;f>=r.from&&u<=r.to&&!t.ranges.some(O=>O.fromf)&&t.ranges.push({from:f,to:u})}}a=!1}else if(n&&(o=KQ(n.ranges,r.from,r.to)))a=o!=2;else if(!r.type.isAnonymous&&(s=this.nest(r,this.input))&&(r.fromnew Ye(f.from-r.from,f.to-r.from)):null,!!s.bracketed,r.tree,h.length?h[0].from:r.from)),s.overlay?h.length&&(n={ranges:h,depth:0,prev:n}):a=!1}}else if(t&&(l=t.predicate(r))&&(l===!0&&(l=new Ye(r.from,r.to)),l.from=0&&t.ranges[c].to==l.from?t.ranges[c]={from:t.ranges[c].from,to:l.to}:t.ranges.push(l)}if(a&&r.firstChild())t&&t.depth++,n&&n.depth++;else for(;!r.nextSibling();){if(!r.parent())break e;if(t&&!--t.depth){let c=Uu(this.ranges,t.ranges);c.length&&(Iu(c),this.inner.splice(t.index,0,new $s(t.parser,t.parser.startParse(this.input,Gu(t.mounts,c),c),t.ranges.map(h=>new Ye(h.from-t.start,h.to-t.start)),t.bracketed,t.target,c[0].from))),t=t.prev}n&&!--n.depth&&(n=n.prev)}}}};function KQ(i,e,t){for(let n of i){if(n.from>=t)break;if(n.to>e)return n.from<=e&&n.to>=t?2:1}return 0}function Bu(i,e,t,n,r,s){if(e=e&&t.enter(n,1,te.IgnoreOverlays|te.ExcludeBuffers)))if(t.to<=e)t.next(!1)||(this.done=!0);else break}hasNode(e){if(this.moveTo(e.from),!this.done&&this.cursor.from+this.offset==e.from&&this.cursor.tree)for(let t=this.cursor.tree;;){if(t==e.tree)return!0;if(t.children.length&&t.positions[0]==0&&t.children[0]instanceof K)t=t.children[0];else break}return!1}},ll=class{constructor(e){var t;if(this.fragments=e,this.curTo=0,this.fragI=0,e.length){let n=this.curFrag=e[0];this.curTo=(t=n.tree.prop(ol))!==null&&t!==void 0?t:n.to,this.inner=new Ts(n.tree,-n.offset)}else this.curFrag=this.inner=null}hasNode(e){for(;this.curFrag&&e.from>=this.curTo;)this.nextFrag();return this.curFrag&&this.curFrag.from<=e.from&&this.curTo>=e.to&&this.inner.hasNode(e)}nextFrag(){var e;if(this.fragI++,this.fragI==this.fragments.length)this.curFrag=this.inner=null;else{let t=this.curFrag=this.fragments[this.fragI];this.curTo=(e=t.tree.prop(ol))!==null&&e!==void 0?e:t.to,this.inner=new Ts(t.tree,-t.offset)}}findMounts(e,t){var n;let r=[];if(this.inner){this.inner.cursor.moveTo(e,1);for(let s=this.inner.cursor.node;s;s=s.parent){let o=(n=s.tree)===null||n===void 0?void 0:n.prop(I.mounted);if(o&&o.parser==t)for(let a=this.fragI;a=s.to)break;l.tree==this.curFrag.tree&&r.push({frag:l,pos:s.from-l.offset,mount:o})}}}return r}};function Uu(i,e){let t=null,n=e;for(let r=1,s=0;r=a)break;l.to<=o||(t||(n=t=e.slice()),l.froma&&t.splice(s+1,0,new Ye(a,l.to))):l.to>a?t[s--]=new Ye(a,l.to):t.splice(s--,1))}}return n}function eb(i,e,t,n){let r=0,s=0,o=!1,a=!1,l=-1e9,c=[];for(;;){let h=r==i.length?1e9:o?i[r].to:i[r].from,f=s==e.length?1e9:a?e[s].to:e[s].from;if(o!=a){let u=Math.max(l,t),O=Math.min(h,f,n);unew Ye(u.from+n,u.to+n)),f=eb(e,h,l,c);for(let u=0,O=l;;u++){let m=u==f.length,p=m?c:f[u].from;if(p>O&&t.push(new Bt(O,p,r.tree,-o,s.from>=O||s.openStart,s.to<=p||s.openEnd)),m)break;O=f[u].to}}else t.push(new Bt(l,c,r.tree,-o,s.from>=o||s.openStart,s.to<=a||s.openEnd))}return t}var tb=0,Je=class i{constructor(e,t,n,r){this.name=e,this.set=t,this.base=n,this.modified=r,this.id=tb++}toString(){let{name:e}=this;for(let t of this.modified)t.name&&(e=`${t.name}(${e})`);return e}static define(e,t){let n=typeof e=="string"?e:"?";if(e instanceof i&&(t=e),t?.base)throw new Error("Can not derive from a modified tag");let r=new i(n,[],null,[]);if(r.set.push(r),t)for(let s of t.set)r.set.push(s);return r}static defineModifier(e){let t=new Rs(e);return n=>n.modified.indexOf(t)>-1?n:Rs.get(n.base||n,n.modified.concat(t).sort((r,s)=>r.id-s.id))}},ib=0,Rs=class i{constructor(e){this.name=e,this.instances=[],this.id=ib++}static get(e,t){if(!t.length)return e;let n=t[0].instances.find(a=>a.base==e&&nb(t,a.modified));if(n)return n;let r=[],s=new Je(e.name,r,e,t);for(let a of t)a.instances.push(s);let o=rb(t);for(let a of e.set)if(!a.modified.length)for(let l of o)r.push(i.get(a,l));return s}};function nb(i,e){return i.length==e.length&&i.every((t,n)=>t==e[n])}function rb(i){let e=[[]];for(let t=0;tn.length-t.length)}function Qe(i){let e=Object.create(null);for(let t in i){let n=i[t];Array.isArray(n)||(n=[n]);for(let r of t.split(" "))if(r){let s=[],o=2,a=r;for(let f=0;;){if(a=="..."&&f>0&&f+3==r.length){o=1;break}let u=/^"(?:[^"\\]|\\.)*?"|[^\/!]+/.exec(a);if(!u)throw new RangeError("Invalid path: "+r);if(s.push(u[0]=="*"?"":u[0][0]=='"'?JSON.parse(u[0]):u[0]),f+=u[0].length,f==r.length)break;let O=r[f++];if(f==r.length&&O=="!"){o=0;break}if(O!="/")throw new RangeError("Invalid path: "+r);a=r.slice(f)}let l=s.length-1,c=s[l];if(!c)throw new RangeError("Invalid path: "+r);let h=new Wi(n,o,l>0?s.slice(0,l):null);e[c]=h.sort(e[c])}}return Ju.add(e)}var Ju=new I({combine(i,e){let t,n,r;for(;i||e;){if(!i||e&&i.depth>=e.depth?(r=e,e=e.next):(r=i,i=i.next),t&&t.mode==r.mode&&!r.context&&!t.context)continue;let s=new Wi(r.tags,r.mode,r.context);t?t.next=s:n=s,t=s}return n}}),Wi=class{constructor(e,t,n,r){this.tags=e,this.mode=t,this.context=n,this.next=r}get opaque(){return this.mode==0}get inherit(){return this.mode==1}sort(e){return!e||e.depth{let o=r;for(let a of s)for(let l of a.set){let c=t[l.id];if(c){o=o?o+" "+c:c;break}}return o},scope:n}}function sb(i,e){let t=null;for(let n of i){let r=n.style(e);r&&(t=t?t+" "+r:r)}return t}function As(i,e,t,n=0,r=i.length){let s=new ul(n,Array.isArray(e)?e:[e],t);s.highlightRange(i.cursor(),n,r,"",s.highlighters),s.flush(r)}var ul=class{constructor(e,t,n){this.at=e,this.highlighters=t,this.span=n,this.class=""}startSpan(e,t){t!=this.class&&(this.flush(e),e>this.at&&(this.at=e),this.class=t)}flush(e){e>this.at&&this.class&&this.span(this.at,e,this.class)}highlightRange(e,t,n,r,s){let{type:o,from:a,to:l}=e;if(a>=n||l<=t)return;o.isTop&&(s=this.highlighters.filter(O=>!O.scope||O.scope(o)));let c=r,h=ob(e)||Wi.empty,f=sb(s,h.tags);if(f&&(c&&(c+=" "),c+=f,h.mode==1&&(r+=(r?" ":"")+f)),this.startSpan(Math.max(t,a),c),h.opaque)return;let u=e.tree&&e.tree.prop(I.mounted);if(u&&u.overlay){let O=e.node.enter(u.overlay[0].from+a,1),m=this.highlighters.filter(b=>!b.scope||b.scope(u.tree.type)),p=e.firstChild();for(let b=0,g=a;;b++){let Q=b=S||!e.nextSibling())););if(!Q||S>n)break;g=Q.to+a,g>t&&(this.highlightRange(O.cursor(),Math.max(t,Q.from+a),Math.min(n,g),"",m),this.startSpan(Math.min(n,g),c))}p&&e.parent()}else if(e.firstChild()){u&&(r="");do if(!(e.to<=t)){if(e.from>=n)break;this.highlightRange(e,t,n,r,s),this.startSpan(Math.min(n,e.to),c)}while(e.nextSibling());e.parent()}}};function ob(i){let e=i.type.prop(Ju);for(;e&&e.context&&!i.matchContext(e.context);)e=e.next;return e||null}var E=Je.define,Cs=E(),mi=E(),Hu=E(mi),Ku=E(mi),gi=E(),Xs=E(gi),fl=E(gi),Et=E(),Mi=E(Et),At=E(),Zt=E(),Ol=E(),lr=E(Ol),_s=E(),d={comment:Cs,lineComment:E(Cs),blockComment:E(Cs),docComment:E(Cs),name:mi,variableName:E(mi),typeName:Hu,tagName:E(Hu),propertyName:Ku,attributeName:E(Ku),className:E(mi),labelName:E(mi),namespace:E(mi),macroName:E(mi),literal:gi,string:Xs,docString:E(Xs),character:E(Xs),attributeValue:E(Xs),number:fl,integer:E(fl),float:E(fl),bool:E(gi),regexp:E(gi),escape:E(gi),color:E(gi),url:E(gi),keyword:At,self:E(At),null:E(At),atom:E(At),unit:E(At),modifier:E(At),operatorKeyword:E(At),controlKeyword:E(At),definitionKeyword:E(At),moduleKeyword:E(At),operator:Zt,derefOperator:E(Zt),arithmeticOperator:E(Zt),logicOperator:E(Zt),bitwiseOperator:E(Zt),compareOperator:E(Zt),updateOperator:E(Zt),definitionOperator:E(Zt),typeOperator:E(Zt),controlOperator:E(Zt),punctuation:Ol,separator:E(Ol),bracket:lr,angleBracket:E(lr),squareBracket:E(lr),paren:E(lr),brace:E(lr),content:Et,heading:Mi,heading1:E(Mi),heading2:E(Mi),heading3:E(Mi),heading4:E(Mi),heading5:E(Mi),heading6:E(Mi),contentSeparator:E(Et),list:E(Et),quote:E(Et),emphasis:E(Et),strong:E(Et),link:E(Et),monospace:E(Et),strikethrough:E(Et),inserted:E(),deleted:E(),changed:E(),invalid:E(),meta:_s,documentMeta:E(_s),annotation:E(_s),processingInstruction:E(_s),definition:Je.defineModifier("definition"),constant:Je.defineModifier("constant"),function:Je.defineModifier("function"),standard:Je.defineModifier("standard"),local:Je.defineModifier("local"),special:Je.defineModifier("special")};for(let i in d){let e=d[i];e instanceof Je&&(e.name=i)}var m$=dl([{tag:d.link,class:"tok-link"},{tag:d.heading,class:"tok-heading"},{tag:d.emphasis,class:"tok-emphasis"},{tag:d.strong,class:"tok-strong"},{tag:d.keyword,class:"tok-keyword"},{tag:d.atom,class:"tok-atom"},{tag:d.bool,class:"tok-bool"},{tag:d.url,class:"tok-url"},{tag:d.labelName,class:"tok-labelName"},{tag:d.inserted,class:"tok-inserted"},{tag:d.deleted,class:"tok-deleted"},{tag:d.literal,class:"tok-literal"},{tag:d.string,class:"tok-string"},{tag:d.number,class:"tok-number"},{tag:[d.regexp,d.escape,d.special(d.string)],class:"tok-string2"},{tag:d.variableName,class:"tok-variableName"},{tag:d.local(d.variableName),class:"tok-variableName tok-local"},{tag:d.definition(d.variableName),class:"tok-variableName tok-definition"},{tag:d.special(d.variableName),class:"tok-variableName2"},{tag:d.definition(d.propertyName),class:"tok-propertyName tok-definition"},{tag:d.typeName,class:"tok-typeName"},{tag:d.namespace,class:"tok-namespace"},{tag:d.className,class:"tok-className"},{tag:d.macroName,class:"tok-macroName"},{tag:d.propertyName,class:"tok-propertyName"},{tag:d.operator,class:"tok-operator"},{tag:d.comment,class:"tok-comment"},{tag:d.meta,class:"tok-meta"},{tag:d.invalid,class:"tok-invalid"},{tag:d.punctuation,class:"tok-punctuation"}]);var pl,xt=new I;function xn(i){return Y.define({combine:i?e=>e.concat(i):void 0})}var zs=new I,we=class{constructor(e,t,n=[],r=""){this.data=e,this.name=r,se.prototype.hasOwnProperty("tree")||Object.defineProperty(se.prototype,"tree",{get(){return U(this)}}),this.parser=t,this.extension=[yn.of(this),se.languageData.of((s,o,a)=>{let l=eO(s,o,a),c=l.type.prop(xt);if(!c)return[];let h=s.facet(c),f=l.type.prop(zs);if(f){let u=l.resolve(o-l.from,a);for(let O of f)if(O.test(u,s)){let m=s.facet(O.facet);return O.type=="replace"?m:m.concat(h)}}return h})].concat(n)}isActiveAt(e,t,n=-1){return eO(e,t,n).type.prop(xt)==this.data}findRegions(e){let t=e.facet(yn);if(t?.data==this.data)return[{from:0,to:e.doc.length}];if(!t||!t.allowsNesting)return[];let n=[],r=(s,o)=>{if(s.prop(xt)==this.data){n.push({from:o,to:o+s.length});return}let a=s.prop(I.mounted);if(a){if(a.tree.prop(xt)==this.data){if(a.overlay)for(let l of a.overlay)n.push({from:l.from+o,to:l.to+o});else n.push({from:o,to:o+s.length});return}else if(a.overlay){let l=n.length;if(r(a.tree,a.overlay[0].from+o),n.length>l)return}}for(let l=0;ln.isTop?t:void 0)]}),e.name)}configure(e,t){return new i(this.data,this.parser.configure(e),t||this.name)}get allowsNesting(){return this.parser.hasWrappers()}};function U(i){let e=i.field(we.state,!1);return e?e.tree:K.empty}function Ls(i,e,t=50){var n;let r=(n=i.field(we.state,!1))===null||n===void 0?void 0:n.context;if(!r)return null;let s=r.viewport;r.updateViewport({from:0,to:e});let o=r.isDone(e)||r.work(t,e)?r.tree:null;return r.updateViewport(s),o}function oO(i,e=i.doc.length){var t;return((t=i.field(we.state,!1))===null||t===void 0?void 0:t.context.isDone(e))||!1}var bl=class{constructor(e){this.doc=e,this.cursorPos=0,this.string="",this.cursor=e.iter()}get length(){return this.doc.length}syncTo(e){return this.string=this.cursor.next(e-this.cursorPos).value,this.cursorPos=e+this.string.length,this.cursorPos-this.string.length}chunk(e){return this.syncTo(e),this.string}get lineChunks(){return!0}read(e,t){let n=this.cursorPos-this.string.length;return e=this.cursorPos?this.doc.sliceString(e,t):this.string.slice(e-n,t-n)}},cr=null,ji=class i{constructor(e,t,n=[],r,s,o,a,l){this.parser=e,this.state=t,this.fragments=n,this.tree=r,this.treeLen=s,this.viewport=o,this.skipped=a,this.scheduleOn=l,this.parse=null,this.tempSkipped=[]}static create(e,t,n){return new i(e,t,[],K.empty,0,n,[],null)}startParse(){return this.parser.startParse(new bl(this.state.doc),this.fragments)}work(e,t){return t!=null&&t>=this.state.doc.length&&(t=void 0),this.tree!=K.empty&&this.isDone(t??this.state.doc.length)?(this.takeTree(),!0):this.withContext(()=>{var n;if(typeof e=="number"){let r=Date.now()+e;e=()=>Date.now()>r}for(this.parse||(this.parse=this.startParse()),t!=null&&(this.parse.stoppedAt==null||this.parse.stoppedAt>t)&&t=this.treeLen&&((this.parse.stoppedAt==null||this.parse.stoppedAt>e)&&this.parse.stopAt(e),this.withContext(()=>{for(;!(t=this.parse.advance()););}),this.treeLen=e,this.tree=t,this.fragments=this.withoutTempSkipped(Bt.addTree(this.tree,this.fragments,!0)),this.parse=null)}withContext(e){let t=cr;cr=this;try{return e()}finally{cr=t}}withoutTempSkipped(e){for(let t;t=this.tempSkipped.pop();)e=tO(e,t.from,t.to);return e}changes(e,t){let{fragments:n,tree:r,treeLen:s,viewport:o,skipped:a}=this;if(this.takeTree(),!e.empty){let l=[];if(e.iterChangedRanges((c,h,f,u)=>l.push({fromA:c,toA:h,fromB:f,toB:u})),n=Bt.applyChanges(n,l),r=K.empty,s=0,o={from:e.mapPos(o.from,-1),to:e.mapPos(o.to,1)},this.skipped.length){a=[];for(let c of this.skipped){let h=e.mapPos(c.from,1),f=e.mapPos(c.to,-1);he.from&&(this.fragments=tO(this.fragments,r,s),this.skipped.splice(n--,1))}return this.skipped.length>=t?!1:(this.reset(),!0)}reset(){this.parse&&(this.takeTree(),this.parse=null)}skipUntilInView(e,t){this.skipped.push({from:e,to:t})}static getSkippingParser(e){return new class extends Ut{createParse(t,n,r){let s=r[0].from,o=r[r.length-1].to;return{parsedPos:s,advance(){let l=cr;if(l){for(let c of r)l.tempSkipped.push(c);e&&(l.scheduleOn=l.scheduleOn?Promise.all([l.scheduleOn,e]):e)}return this.parsedPos=o,new K(de.none,[],[],o-s)},stoppedAt:null,stopAt(){}}}}}isDone(e){e=Math.min(e,this.state.doc.length);let t=this.fragments;return this.treeLen>=e&&t.length&&t[0].from==0&&t[0].to>=e}static get(){return cr}};function tO(i,e,t){return Bt.applyChanges(i,[{fromA:e,toA:t,fromB:e,toB:t}])}var hr=class i{constructor(e){this.context=e,this.tree=e.tree}apply(e){if(!e.docChanged&&this.tree==this.context.tree)return this;let t=this.context.changes(e.changes,e.state),n=this.context.treeLen==e.startState.doc.length?void 0:Math.max(e.changes.mapPos(this.context.treeLen),t.viewport.to);return t.work(20,n)||t.takeTree(),new i(t)}static init(e){let t=Math.min(3e3,e.doc.length),n=ji.create(e.facet(yn).parser,e,{from:0,to:t});return n.work(20,t)||n.takeTree(),new i(n)}};we.state=fe.define({create:hr.init,update(i,e){for(let t of e.effects)if(t.is(we.setState))return t.value;return e.startState.facet(yn)!=e.state.facet(yn)?hr.init(e.state):i.apply(e)}});var aO=i=>{let e=setTimeout(()=>i(),500);return()=>clearTimeout(e)};typeof requestIdleCallback<"u"&&(aO=i=>{let e=-1,t=setTimeout(()=>{e=requestIdleCallback(i,{timeout:400})},100);return()=>e<0?clearTimeout(t):cancelIdleCallback(e)});var ml=typeof navigator<"u"&&(!((pl=navigator.scheduling)===null||pl===void 0)&&pl.isInputPending)?()=>navigator.scheduling.isInputPending():null,ab=De.fromClass(class{constructor(e){this.view=e,this.working=null,this.workScheduled=0,this.chunkEnd=-1,this.chunkBudget=-1,this.work=this.work.bind(this),this.scheduleWork()}update(e){let t=this.view.state.field(we.state).context;(t.updateViewport(e.view.viewport)||this.view.viewport.to>t.treeLen)&&this.scheduleWork(),(e.docChanged||e.selectionSet)&&(this.view.hasFocus&&(this.chunkBudget+=50),this.scheduleWork()),this.checkAsyncSchedule(t)}scheduleWork(){if(this.working)return;let{state:e}=this.view,t=e.field(we.state);(t.tree!=t.context.tree||!t.context.isDone(e.doc.length))&&(this.working=aO(this.work))}work(e){this.working=null;let t=Date.now();if(this.chunkEndr+1e3,l=s.context.work(()=>ml&&ml()||Date.now()>o,r+(a?0:1e5));this.chunkBudget-=Date.now()-t,(l||this.chunkBudget<=0)&&(s.context.takeTree(),this.view.dispatch({effects:we.setState.of(new hr(s.context))})),this.chunkBudget>0&&!(l&&!a)&&this.scheduleWork(),this.checkAsyncSchedule(s.context)}checkAsyncSchedule(e){e.scheduleOn&&(this.workScheduled++,e.scheduleOn.then(()=>this.scheduleWork()).catch(t=>ft(this.view.state,t)).then(()=>this.workScheduled--),e.scheduleOn=null)}destroy(){this.working&&this.working()}isWorking(){return!!(this.working||this.workScheduled>0)}},{eventHandlers:{focus(){this.scheduleWork()}}}),yn=Y.define({combine(i){return i.length?i[0]:null},enables:i=>[we.state,ab,q.contentAttributes.compute([i],e=>{let t=e.facet(i);return t&&t.name?{"data-language":t.name}:{}})]}),me=class{constructor(e,t=[]){this.language=e,this.support=t,this.extension=[e,t]}},Be=class i{constructor(e,t,n,r,s,o=void 0){this.name=e,this.alias=t,this.extensions=n,this.filename=r,this.loadFunc=s,this.support=o,this.loading=null}load(){return this.loading||(this.loading=this.loadFunc().then(e=>this.support=e,e=>{throw this.loading=null,e}))}static of(e){let{load:t,support:n}=e;if(!t){if(!n)throw new RangeError("Must pass either 'load' or 'support' to LanguageDescription.of");t=()=>Promise.resolve(n)}return new i(e.name,(e.alias||[]).concat(e.name).map(r=>r.toLowerCase()),e.extensions||[],e.filename,t,n)}static matchFilename(e,t){for(let r of e)if(r.filename&&r.filename.test(t))return r;let n=/\.([^.]+)$/.exec(t);if(n){for(let r of e)if(r.extensions.indexOf(n[1])>-1)return r}return null}static matchLanguageName(e,t,n=!0){t=t.toLowerCase();for(let r of e)if(r.alias.some(s=>s==t))return r;if(n)for(let r of e)for(let s of r.alias){let o=t.indexOf(s);if(o>-1&&(s.length>2||!/\w/.test(t[o-1])&&!/\w/.test(t[o+s.length])))return r}return null}},lb=Y.define(),qt=Y.define({combine:i=>{if(!i.length)return" ";let e=i[0];if(!e||/\S/.test(e)||Array.from(e).some(t=>t!=e[0]))throw new Error("Invalid indent unit: "+JSON.stringify(i[0]));return e}});function Qi(i){let e=i.facet(qt);return e.charCodeAt(0)==9?i.tabSize*e.length:e.length}function ur(i,e){let t="",n=i.tabSize,r=i.facet(qt)[0];if(r==" "){for(;e>=n;)t+=" ",e-=n;r=" "}for(let s=0;s=e?cb(i,t,e):null}var Vi=class{constructor(e,t={}){this.state=e,this.options=t,this.unit=Qi(e)}lineAt(e,t=1){let n=this.state.doc.lineAt(e),{simulateBreak:r,simulateDoubleBreak:s}=this.options;return r!=null&&r>=n.from&&r<=n.to?s&&r==e?{text:"",from:e}:(t<0?r-1&&(s+=o-this.countColumn(n,n.search(/\S|$/))),s}countColumn(e,t=e.length){return He(e,this.state.tabSize,t)}lineIndent(e,t=1){let{text:n,from:r}=this.lineAt(e,t),s=this.options.overrideIndentation;if(s){let o=s(r);if(o>-1)return o}return this.countColumn(n,n.search(/\S|$/))}get simulatedBreak(){return this.options.simulateBreak||null}},Pe=new I;function cb(i,e,t){let n=e.resolveStack(t),r=e.resolveInner(t,-1).resolve(t,0).enterUnfinishedNodesBefore(t);if(r!=n.node){let s=[];for(let o=r;o&&!(o.fromn.node.to||o.from==n.node.from&&o.type==n.node.type);o=o.parent)s.push(o);for(let o=s.length-1;o>=0;o--)n={node:s[o],next:n}}return lO(n,i,t)}function lO(i,e,t){for(let n=i;n;n=n.next){let r=fb(n.node);if(r)return r(Sl.create(e,t,n))}return 0}function hb(i){return i.pos==i.options.simulateBreak&&i.options.simulateDoubleBreak}function fb(i){let e=i.type.prop(Pe);if(e)return e;let t=i.firstChild,n;if(t&&(n=t.type.prop(I.closedBy))){let r=i.lastChild,s=r&&n.indexOf(r.name)>-1;return o=>cO(o,!0,1,void 0,s&&!hb(o)?r.from:void 0)}return i.parent==null?ub:null}function ub(){return 0}var Sl=class i extends Vi{constructor(e,t,n){super(e.state,e.options),this.base=e,this.pos=t,this.context=n}get node(){return this.context.node}static create(e,t,n){return new i(e,t,n)}get textAfter(){return this.textAfterPos(this.pos)}get baseIndent(){return this.baseIndentFor(this.node)}baseIndentFor(e){let t=this.state.doc.lineAt(e.from);for(;;){let n=e.resolve(t.from);for(;n.parent&&n.parent.from==n.from;)n=n.parent;if(Ob(n,e))break;t=this.state.doc.lineAt(n.from)}return this.lineIndent(t.from)}continue(){return lO(this.context.next,this.base,this.pos)}};function Ob(i,e){for(let t=e;t;t=t.parent)if(i==t)return!0;return!1}function db(i){let e=i.node,t=e.childAfter(e.from),n=e.lastChild;if(!t)return null;let r=i.options.simulateBreak,s=i.state.doc.lineAt(t.from),o=r==null||r<=s.from?s.to:Math.min(s.to,r);for(let a=t.to;;){let l=e.childAfter(a);if(!l||l==n)return null;if(!l.type.isSkipped){if(l.from>=o)return null;let c=/^ */.exec(s.text.slice(t.to-s.from))[0].length;return{from:t.from,to:t.to+c}}a=l.to}}function wt({closing:i,align:e=!0,units:t=1}){return n=>cO(n,e,t,i)}function cO(i,e,t,n,r){let s=i.textAfter,o=s.match(/^\s*/)[0].length,a=n&&s.slice(o,o+n.length)==n||r==i.pos+o,l=e?db(i):null;return l?a?i.column(l.from):i.column(l.to):i.baseIndent+(a?0:i.unit*t)}var hO=i=>i.baseIndent;function Gt({except:i,units:e=1}={}){return t=>{let n=i&&i.test(t.textAfter);return t.baseIndent+(n?0:e*t.unit)}}var fO=Y.define(),_e=new I;function Ot(i){let e=i.firstChild,t=i.lastChild;return e&&e.toa.prop(xt)==o.data:o?a=>a==o:void 0,this.style=dl(e.map(a=>({tag:a.tag,class:a.class||r(Object.assign({},a,{tag:null}))})),{all:s}).style,this.module=n?new at(n):null,this.themeType=t.themeType}static define(e,t){return new i(e,t||{})}},yl=Y.define(),uO=Y.define({combine(i){return i.length?[i[0]]:null}});function gl(i){let e=i.facet(yl);return e.length?e:i.facet(uO)}function OO(i,e){let t=[pb],n;return i instanceof kn&&(i.module&&t.push(q.styleModule.of(i.module)),n=i.themeType),e?.fallback?t.push(uO.of(i)):n?t.push(yl.computeN([q.darkTheme],r=>r.facet(q.darkTheme)==(n=="dark")?[i]:[])):t.push(yl.of(i)),t}var kl=class{constructor(e){this.markCache=Object.create(null),this.tree=U(e.state),this.decorations=this.buildDeco(e,gl(e.state)),this.decoratedTo=e.viewport.to}update(e){let t=U(e.state),n=gl(e.state),r=n!=gl(e.startState),{viewport:s}=e.view,o=e.changes.mapPos(this.decoratedTo,1);t.length=s.to?(this.decorations=this.decorations.map(e.changes),this.decoratedTo=o):(t!=this.tree||e.viewportChanged||r)&&(this.tree=t,this.decorations=this.buildDeco(e.view,n),this.decoratedTo=s.to)}buildDeco(e,t){if(!t||!this.tree.length)return R.none;let n=new Ri;for(let{from:r,to:s}of e.visibleRanges)As(this.tree,t,(o,a,l)=>{n.add(o,a,this.markCache[l]||(this.markCache[l]=R.mark({class:l})))},r,s);return n.finish()}},pb=ot.high(De.fromClass(kl,{decorations:i=>i.decorations})),P$=kn.define([{tag:d.meta,color:"#404740"},{tag:d.link,textDecoration:"underline"},{tag:d.heading,textDecoration:"underline",fontWeight:"bold"},{tag:d.emphasis,fontStyle:"italic"},{tag:d.strong,fontWeight:"bold"},{tag:d.strikethrough,textDecoration:"line-through"},{tag:d.keyword,color:"#708"},{tag:[d.atom,d.bool,d.url,d.contentSeparator,d.labelName],color:"#219"},{tag:[d.literal,d.inserted],color:"#164"},{tag:[d.string,d.deleted],color:"#a11"},{tag:[d.regexp,d.escape,d.special(d.string)],color:"#e40"},{tag:d.definition(d.variableName),color:"#00f"},{tag:d.local(d.variableName),color:"#30a"},{tag:[d.typeName,d.namespace],color:"#085"},{tag:d.className,color:"#167"},{tag:[d.special(d.variableName),d.macroName],color:"#256"},{tag:d.definition(d.propertyName),color:"#00c"},{tag:d.comment,color:"#940"},{tag:d.invalid,color:"#f00"}]);var mb=1e4,gb="()[]{}";var $l=new I;function xl(i,e,t){let n=i.prop(e<0?I.openedBy:I.closedBy);if(n)return n;if(i.name.length==1){let r=t.indexOf(i.name);if(r>-1&&r%2==(e<0?1:0))return[t[r+e]]}return null}function wl(i){let e=i.type.prop($l);return e?e(i.node):i}function Di(i,e,t,n={}){let r=n.maxScanDistance||mb,s=n.brackets||gb,o=U(i),a=o.resolveInner(e,t);for(let l=a;l;l=l.parent){let c=xl(l.type,t,s);if(c&&l.from0?e>=h.from&&eh.from&&e<=h.to))return Qb(i,e,t,l,h,c,s)}}return bb(i,e,t,o,a.type,r,s)}function Qb(i,e,t,n,r,s,o){let a=n.parent,l={from:r.from,to:r.to},c=0,h=a?.cursor();if(h&&(t<0?h.childBefore(n.from):h.childAfter(n.to)))do if(t<0?h.to<=n.from:h.from>=n.to){if(c==0&&s.indexOf(h.type.name)>-1&&h.from0)return null;let c={from:t<0?e-1:e,to:t>0?e+1:e},h=i.doc.iterRange(e,t>0?i.doc.length:0),f=0;for(let u=0;!h.next().done&&u<=s;){let O=h.value;t<0&&(u+=O.length);let m=e+u*t;for(let p=t>0?0:O.length-1,b=t>0?O.length:-1;p!=b;p+=t){let g=o.indexOf(O[p]);if(!(g<0||n.resolveInner(m+p,1).type!=r))if(g%2==0==t>0)f++;else{if(f==1)return{start:c,end:{from:m+p,to:m+p+1},matched:g>>1==l>>1};f--}}t>0&&(u+=O.length)}return h.done?{start:c,matched:!1}:null}function iO(i,e,t,n=0,r=0){e==null&&(e=i.search(/[^\s\u00a0]/),e==-1&&(e=i.length));let s=r;for(let o=n;o=this.string.length}sol(){return this.pos==0}peek(){return this.string.charAt(this.pos)||void 0}next(){if(this.post}eatSpace(){let e=this.pos;for(;/[\s\u00a0]/.test(this.string.charAt(this.pos));)++this.pos;return this.pos>e}skipToEnd(){this.pos=this.string.length}skipTo(e){let t=this.string.indexOf(e,this.pos);if(t>-1)return this.pos=t,!0}backUp(e){this.pos-=e}column(){return this.lastColumnPosn?o.toLowerCase():o,s=this.string.substr(this.pos,e.length);return r(s)==r(e)?(t!==!1&&(this.pos+=e.length),!0):null}else{let r=this.string.slice(this.pos).match(e);return r&&r.index>0?null:(r&&t!==!1&&(this.pos+=r[0].length),r)}}current(){return this.string.slice(this.start,this.pos)}};function Sb(i){return{name:i.name||"",token:i.token,blankLine:i.blankLine||(()=>{}),startState:i.startState||(()=>!0),copyState:i.copyState||yb,indent:i.indent||(()=>null),languageData:i.languageData||{},tokenTable:i.tokenTable||Cl,mergeTokens:i.mergeTokens!==!1}}function yb(i){if(typeof i!="object")return i;let e={};for(let t in i){let n=i[t];e[t]=n instanceof Array?n.slice():n}return e}var nO=new WeakMap,Es=class i extends we{constructor(e){let t=xn(e.languageData),n=Sb(e),r,s=new class extends Ut{createParse(o,a,l){return new Pl(r,o,a,l)}};super(t,s,[],e.name),this.topNode=Pb(t,this),r=this,this.streamParser=n,this.stateAfter=new I({perNode:!0}),this.tokenTable=e.tokenTable?new qs(n.tokenTable):wb}static define(e){return new i(e)}getIndent(e){let t,{overrideIndentation:n}=e.options;n&&(t=nO.get(e.state),t!=null&&t1e4)return null;for(;s=n&&t+e.length<=r&&e.prop(i.stateAfter);if(s)return{state:i.streamParser.copyState(s),pos:t+e.length};for(let o=e.children.length-1;o>=0;o--){let a=e.children[o],l=t+e.positions[o],c=a instanceof K&&l=e.length)return e;!r&&t==0&&e.type==i.topNode&&(r=!0);for(let s=e.children.length-1;s>=0;s--){let o=e.positions[s],a=e.children[s],l;if(ot&&Tl(i,s.tree,0-s.offset,t,a),c;if(l&&l.pos<=n&&(c=dO(i,s.tree,t+s.offset,l.pos+s.offset,!1)))return{state:l.state,tree:c}}return{state:i.streamParser.startState(r?Qi(r):4),tree:K.empty}}var Pl=class{constructor(e,t,n,r){this.lang=e,this.input=t,this.fragments=n,this.ranges=r,this.stoppedAt=null,this.chunks=[],this.chunkPos=[],this.chunk=[],this.chunkReused=void 0,this.rangeIndex=0,this.to=r[r.length-1].to;let s=ji.get(),o=r[0].from,{state:a,tree:l}=kb(e,n,o,this.to,s?.state);this.state=a,this.parsedPos=this.chunkStart=o+l.length;for(let c=0;cc.from<=s.viewport.from&&c.to>=s.viewport.from)&&(this.state=this.lang.streamParser.startState(Qi(s.state)),s.skipUntilInView(this.parsedPos,s.viewport.from),this.parsedPos=s.viewport.from),this.moveRangeIndex()}advance(){let e=ji.get(),t=this.stoppedAt==null?this.to:Math.min(this.to,this.stoppedAt),n=Math.min(t,this.chunkStart+512);for(e&&(n=Math.min(n,e.viewport.to));this.parsedPos=t?this.finish():e&&this.parsedPos>=e.viewport.to?(e.skipUntilInView(this.parsedPos,t),this.finish()):null}stopAt(e){this.stoppedAt=e}lineAfter(e){let t=this.input.chunk(e);if(this.input.lineChunks)t==` +`){[e,t]=on(this,e,t);let r="";for(let s=0,o=0;se&&s&&(r+=n),eo&&(r+=a.sliceString(e-o,t-o,n)),o=l+1}return r}flatten(e){for(let t of this.children)t.flatten(e)}scanIdentical(e,t){if(!(e instanceof i))return 0;let n=0,[r,s,o,a]=t>0?[0,0,this.children.length,e.children.length]:[this.children.length-1,e.children.length-1,-1,-1];for(;;r+=t,s+=t){if(r==o||s==a)return n;let l=this.children[r],c=e.children[s];if(l!=c)return n+l.scanIdentical(c,t);n+=l.length+1}}static from(e,t=e.reduce((n,r)=>n+r.length+1,-1)){let n=0;for(let O of e)n+=O.lines;if(n<32){let O=[];for(let m of e)m.flatten(O);return new He(O,t)}let r=Math.max(32,n>>5),s=r<<1,o=r>>1,a=[],l=0,c=-1,h=[];function f(O){let m;if(O.lines>s&&O instanceof i)for(let p of O.children)f(p);else O.lines>o&&(l>o||!l)?(u(),a.push(O)):O instanceof He&&l&&(m=h[h.length-1])instanceof He&&O.lines+m.lines<=32?(l+=O.lines,c+=O.length+1,h[h.length-1]=new He(m.text.concat(O.text),m.length+1+O.length)):(l+O.lines>r&&u(),l+=O.lines,c+=O.length+1,h.push(O))}function u(){l!=0&&(a.push(h.length==1?h[0]:i.from(h,c)),c=-1,l=h.length=0)}for(let O of e)f(O);return u(),a.length==1?a[0]:new i(a,t)}};J.empty=new He([""],0);function c0(i){let e=-1;for(let t of i)e+=t.length+1;return e}function Ir(i,e,t=0,n=1e9){for(let r=0,s=0,o=!0;s=t&&(l>n&&(a=a.slice(0,n-r)),r0?1:(e instanceof He?e.text.length:e.children.length)<<1]}nextInner(e,t){for(this.done=this.lineBreak=!1;;){let n=this.nodes.length-1,r=this.nodes[n],s=this.offsets[n],o=s>>1,a=r instanceof He?r.text.length:r.children.length;if(o==(t>0?a:0)){if(n==0)return this.done=!0,this.value="",this;t>0&&this.offsets[n-1]++,this.nodes.pop(),this.offsets.pop()}else if((s&1)==(t>0?0:1)){if(this.offsets[n]+=t,e==0)return this.lineBreak=!0,this.value=` +`,this;e--}else if(r instanceof He){let l=r.text[o+(t<0?-1:0)];if(this.offsets[n]+=t,l.length>Math.max(0,e))return this.value=e==0?l:t>0?l.slice(e):l.slice(0,l.length-e),this;e-=l.length}else{let l=r.children[o+(t<0?-1:0)];e>l.length?(e-=l.length,this.offsets[n]+=t):(t<0&&this.offsets[n]--,this.nodes.push(l),this.offsets.push(t>0?1:(l instanceof He?l.text.length:l.children.length)<<1))}}}next(e=0){return e<0&&(this.nextInner(-e,-this.dir),e=this.value.length),this.nextInner(e,this.dir)}},Br=class{constructor(e,t,n){this.value="",this.done=!1,this.cursor=new Xi(e,t>n?-1:1),this.pos=t>n?e.length:0,this.from=Math.min(t,n),this.to=Math.max(t,n)}nextInner(e,t){if(t<0?this.pos<=this.from:this.pos>=this.to)return this.value="",this.done=!0,this;e+=Math.max(0,t<0?this.pos-this.to:this.from-this.pos);let n=t<0?this.pos-this.from:this.to-this.pos;e>n&&(e=n),n-=e;let{value:r}=this.cursor.next(e);return this.pos+=(r.length+e)*t,this.value=r.length<=n?r:t<0?r.slice(r.length-n):r.slice(0,n),this.done=!this.value,this}next(e=0){return e<0?e=Math.max(e,this.from-this.pos):e>0&&(e=Math.min(e,this.to-this.pos)),this.nextInner(e,this.cursor.dir)}get lineBreak(){return this.cursor.lineBreak&&this.value!=""}},Ur=class{constructor(e){this.inner=e,this.afterBreak=!0,this.value="",this.done=!1}next(e=0){let{done:t,lineBreak:n,value:r}=this.inner.next(e);return t&&this.afterBreak?(this.value="",this.afterBreak=!1):t?(this.done=!0,this.value=""):n?this.afterBreak?this.value="":(this.afterBreak=!0,this.next()):(this.value=r,this.afterBreak=!1),this}get lineBreak(){return!1}};typeof Symbol<"u"&&(J.prototype[Symbol.iterator]=function(){return this.iter()},Xi.prototype[Symbol.iterator]=Br.prototype[Symbol.iterator]=Ur.prototype[Symbol.iterator]=function(){return this});var Wo=class{constructor(e,t,n,r){this.from=e,this.to=t,this.number=n,this.text=r}get length(){return this.to-this.from}};function on(i,e,t){return e=Math.max(0,Math.min(i.length,e)),[e,Math.max(e,Math.min(i.length,t))]}function xe(i,e,t=!0,n=!0){return Hh(i,e,t,n)}function h0(i){return i>=56320&&i<57344}function f0(i){return i>=55296&&i<56320}function oi(i,e){let t=i.charCodeAt(e);if(!f0(t)||e+1==i.length)return t;let n=i.charCodeAt(e+1);return h0(n)?(t-55296<<10)+(n-56320)+65536:t}function af(i){return i<=65535?String.fromCharCode(i):(i-=65536,String.fromCharCode((i>>10)+55296,(i&1023)+56320))}function an(i){return i<65536?1:2}var jo=/\r\n?|\n/,ge=(function(i){return i[i.Simple=0]="Simple",i[i.TrackDel=1]="TrackDel",i[i.TrackBefore=2]="TrackBefore",i[i.TrackAfter=3]="TrackAfter",i})(ge||(ge={})),Mt=class i{constructor(e){this.sections=e}get length(){let e=0;for(let t=0;te)return s+(e-r);s+=a}else{if(n!=ge.Simple&&c>=e&&(n==ge.TrackDel&&re||n==ge.TrackBefore&&re))return null;if(c>e||c==e&&t<0&&!a)return e==r||t<0?s:s+l;s+=l}r=c}if(e>r)throw new RangeError(`Position ${e} is out of range for changeset of length ${r}`);return s}touchesRange(e,t=e){for(let n=0,r=0;n=0&&r<=t&&a>=e)return rt?"cover":!0;r=a}return!1}toString(){let e="";for(let t=0;t=0?":"+r:"")}return e}toJSON(){return this.sections}static fromJSON(e){if(!Array.isArray(e)||e.length%2||e.some(t=>typeof t!="number"))throw new RangeError("Invalid JSON representation of ChangeDesc");return new i(e)}static create(e){return new i(e)}},Le=class i extends Mt{constructor(e,t){super(e),this.inserted=t}apply(e){if(this.length!=e.length)throw new RangeError("Applying change set to a document with the wrong length");return Vo(this,(t,n,r,s,o)=>e=e.replace(r,r+(n-t),o),!1),e}mapDesc(e,t=!1){return Do(this,e,t,!0)}invert(e){let t=this.sections.slice(),n=[];for(let r=0,s=0;r=0){t[r]=a,t[r+1]=o;let l=r>>1;for(;n.length0&&si(n,t,s.text),s.forward(h),a+=h}let c=e[o++];for(;a>1].toJSON()))}return e}static of(e,t,n){let r=[],s=[],o=0,a=null;function l(h=!1){if(!h&&!r.length)return;ou||f<0||u>t)throw new RangeError(`Invalid change range ${f} to ${u} (in doc of length ${t})`);let m=O?typeof O=="string"?J.of(O.split(n||jo)):O:J.empty,p=m.length;if(f==u&&p==0)return;fo&&Ze(r,f-o,-1),Ze(r,u-f,p),si(s,r,m),o=u}}return c(e),l(!a),a}static empty(e){return new i(e?[e,-1]:[],[])}static fromJSON(e){if(!Array.isArray(e))throw new RangeError("Invalid JSON representation of ChangeSet");let t=[],n=[];for(let r=0;ra&&typeof o!="string"))throw new RangeError("Invalid JSON representation of ChangeSet");if(s.length==1)t.push(s[0],0);else{for(;n.length=0&&t<=0&&t==i[r+1]?i[r]+=e:r>=0&&e==0&&i[r]==0?i[r+1]+=t:n?(i[r]+=e,i[r+1]+=t):i.push(e,t)}function si(i,e,t){if(t.length==0)return;let n=e.length-2>>1;if(n>1])),!(t||o==i.sections.length||i.sections[o+1]<0);)a=i.sections[o++],l=i.sections[o++];e(r,c,s,h,f),r=c,s=h}}}function Do(i,e,t,n=!1){let r=[],s=n?[]:null,o=new _i(i),a=new _i(e);for(let l=-1;;){if(o.done&&a.len||a.done&&o.len)throw new Error("Mismatched change set lengths");if(o.ins==-1&&a.ins==-1){let c=Math.min(o.len,a.len);Ze(r,c,-1),o.forward(c),a.forward(c)}else if(a.ins>=0&&(o.ins<0||l==o.i||o.off==0&&(a.len=0&&l=0){let c=0,h=o.len;for(;h;)if(a.ins==-1){let f=Math.min(h,a.len);c+=f,h-=f,a.forward(f)}else if(a.ins==0&&a.lenl||o.ins>=0&&o.len>l)&&(a||n.length>c),s.forward2(l),o.forward(l)}}}}var _i=class{constructor(e){this.set=e,this.i=0,this.next()}next(){let{sections:e}=this.set;this.i>1;return t>=e.length?J.empty:e[t]}textBit(e){let{inserted:t}=this.set,n=this.i-2>>1;return n>=t.length&&!e?J.empty:t[n].slice(this.off,e==null?void 0:this.off+e)}forward(e){e==this.len?this.next():(this.len-=e,this.off+=e)}forward2(e){this.ins==-1?this.forward(e):e==this.ins?this.next():(this.ins-=e,this.off+=e)}},$i=class i{constructor(e,t,n,r){this.from=e,this.to=t,this.flags=n,this.goalColumn=r}get anchor(){return this.flags&32?this.to:this.from}get head(){return this.flags&32?this.from:this.to}get empty(){return this.from==this.to}get assoc(){return this.flags&8?-1:this.flags&16?1:0}get undirectional(){return(this.flags&64)>0}get bidiLevel(){let e=this.flags&7;return e==7?null:e}map(e,t=-1){let n,r;return this.empty?n=r=e.mapPos(this.from,t):(n=e.mapPos(this.from,1),r=e.mapPos(this.to,-1)),n==this.from&&r==this.to?this:new i(n,r,this.flags,this.goalColumn)}extend(e,t=e,n=0){if(e<=this.anchor&&t>=this.anchor)return v.range(e,t,void 0,void 0,n);let r=Math.abs(e-this.anchor)>Math.abs(t-this.anchor)?e:t;return v.range(this.anchor,r,void 0,void 0,n)}eq(e,t=!1){return this.anchor==e.anchor&&this.head==e.head&&this.goalColumn==e.goalColumn&&(!t||!this.empty||this.assoc==e.assoc)}toJSON(){return{anchor:this.anchor,head:this.head}}static fromJSON(e){if(!e||typeof e.anchor!="number"||typeof e.head!="number")throw new RangeError("Invalid JSON representation for SelectionRange");return v.range(e.anchor,e.head)}static create(e,t,n,r){return new i(e,t,n,r)}},v=class i{constructor(e,t){this.ranges=e,this.mainIndex=t}map(e,t=-1){return e.empty?this:i.create(this.ranges.map(n=>n.map(e,t)),this.mainIndex)}eq(e,t=!1){if(this.ranges.length!=e.ranges.length||this.mainIndex!=e.mainIndex)return!1;for(let n=0;ne.toJSON()),main:this.mainIndex}}static fromJSON(e){if(!e||!Array.isArray(e.ranges)||typeof e.main!="number"||e.main>=e.ranges.length)throw new RangeError("Invalid JSON representation for EditorSelection");return new i(e.ranges.map(t=>$i.fromJSON(t)),e.main)}static single(e,t=e){return new i([i.range(e,t)],0)}static create(e,t=0){if(e.length==0)throw new RangeError("A selection needs at least one range");for(let n=0,r=0;rr.from-s.from),t=e.indexOf(n);for(let r=1;rs.head?i.range(l,a):i.range(a,l))}}return new i(e,t)}};function cf(i,e){for(let t of i.ranges)if(t.to>e)throw new RangeError("Selection points outside of document")}var Jo=0,Y=class i{constructor(e,t,n,r,s){this.combine=e,this.compareInput=t,this.compare=n,this.isStatic=r,this.id=Jo++,this.default=e([]),this.extensions=typeof s=="function"?s(this):s}get reader(){return this}static define(e={}){return new i(e.combine||(t=>t),e.compareInput||((t,n)=>t===n),e.compare||(e.combine?(t,n)=>t===n:ea),!!e.static,e.enables)}of(e){return new rn([],this,0,e)}compute(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new rn(e,this,1,t)}computeN(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new rn(e,this,2,t)}from(e,t){return t||(t=n=>n),this.compute([e],n=>t(n.field(e)))}};function ea(i,e){return i==e||i.length==e.length&&i.every((t,n)=>t===e[n])}var rn=class{constructor(e,t,n,r){this.dependencies=e,this.facet=t,this.type=n,this.value=r,this.id=Jo++}dynamicSlot(e){var t;let n=this.value,r=this.facet.compareInput,s=this.id,o=e[s]>>1,a=this.type==2,l=!1,c=!1,h=[];for(let f of this.dependencies)f=="doc"?l=!0:f=="selection"?c=!0:(((t=e[f.id])!==null&&t!==void 0?t:1)&1)==0&&h.push(e[f.id]);return{create(f){return f.values[o]=n(f),1},update(f,u){if(l&&u.docChanged||c&&(u.docChanged||u.selection)||Yo(f,h)){let O=n(f);if(a?!nf(O,f.values[o],r):!r(O,f.values[o]))return f.values[o]=O,1}return 0},reconfigure:(f,u)=>{let O,m=u.config.address[s];if(m!=null){let p=Hr(u,m);if(this.dependencies.every(b=>b instanceof Y?u.facet(b)===f.facet(b):b instanceof fe?u.field(b,!1)==f.field(b,!1):!0)||(a?nf(O=n(f),p,r):r(O=n(f),p)))return f.values[o]=p,0}else O=n(f);return f.values[o]=O,1}}}get extension(){return this}};function nf(i,e,t){if(i.length!=e.length)return!1;for(let n=0;ni[l.id]),r=t.map(l=>l.type),s=n.filter(l=>!(l&1)),o=i[e.id]>>1;function a(l){let c=[];for(let h=0;hn===r),e);return e.provide&&(t.provides=e.provide(t)),t}create(e){let t=e.facet(Vr).find(n=>n.field==this);return(t?.create||this.createF)(e)}slot(e){let t=e[this.id]>>1;return{create:n=>(n.values[t]=this.create(n),1),update:(n,r)=>{let s=n.values[t],o=this.updateF(s,r);return this.compareF(s,o)?0:(n.values[t]=o,1)},reconfigure:(n,r)=>{let s=n.facet(Vr),o=r.facet(Vr),a;return(a=s.find(l=>l.field==this))&&a!=o.find(l=>l.field==this)?(n.values[t]=a.create(n),1):r.config.address[this.id]!=null?(n.values[t]=r.field(this),0):(n.values[t]=this.create(n),1)}}}init(e){return[this,Vr.of({field:this,create:e})]}get extension(){return this}},Ti={lowest:4,low:3,default:2,high:1,highest:0};function Wn(i){return e=>new Gr(e,i)}var at={highest:Wn(Ti.highest),high:Wn(Ti.high),default:Wn(Ti.default),low:Wn(Ti.low),lowest:Wn(Ti.lowest)},Gr=class{constructor(e,t){this.inner=e,this.prec=t}get extension(){return this}},Nr=class i{of(e){return new Vn(this,e)}reconfigure(e){return i.reconfigure.of({compartment:this,extension:e})}get(e){return e.config.compartments.get(this)}},Vn=class{constructor(e,t){this.compartment=e,this.inner=t}get extension(){return this}},Fr=class i{constructor(e,t,n,r,s,o){for(this.base=e,this.compartments=t,this.dynamicSlots=n,this.address=r,this.staticValues=s,this.facets=o,this.statusTemplate=[];this.statusTemplate.length>1]}static resolve(e,t,n){let r=[],s=Object.create(null),o=new Map;for(let u of O0(e,t,o))u instanceof fe?r.push(u):(s[u.facet.id]||(s[u.facet.id]=[])).push(u);let a=Object.create(null),l=[],c=[];for(let u of r)a[u.id]=c.length<<1,c.push(O=>u.slot(O));let h=n?.config.facets;for(let u in s){let O=s[u],m=O[0].facet,p=h&&h[u]||[];if(O.every(b=>b.type==0))if(a[m.id]=l.length<<1|1,ea(p,O))l.push(n.facet(m));else{let b=m.combine(O.map(g=>g.value));l.push(n&&m.compare(b,n.facet(m))?n.facet(m):b)}else{for(let b of O)b.type==0?(a[b.id]=l.length<<1|1,l.push(b.value)):(a[b.id]=c.length<<1,c.push(g=>b.dynamicSlot(g)));a[m.id]=c.length<<1,c.push(b=>u0(b,m,O))}}let f=c.map(u=>u(a));return new i(e,o,f,a,l,s)}};function O0(i,e,t){let n=[[],[],[],[],[]],r=new Map;function s(o,a){let l=r.get(o);if(l!=null){if(l<=a)return;let c=n[l].indexOf(o);c>-1&&n[l].splice(c,1),o instanceof Vn&&t.delete(o.compartment)}if(r.set(o,a),Array.isArray(o))for(let c of o)s(c,a);else if(o instanceof Vn){if(t.has(o.compartment))throw new RangeError("Duplicate use of compartment in extensions");let c=e.get(o.compartment)||o.inner;t.set(o.compartment,c),s(c,a)}else if(o instanceof Gr)s(o.inner,o.prec);else if(o instanceof fe)n[a].push(o),o.provides&&s(o.provides,a);else if(o instanceof rn)n[a].push(o),o.facet.extensions&&s(o.facet.extensions,Ti.default);else{let c=o.extension;if(!c)throw new Error(`Unrecognized extension value in extension set (${o}).`);if(c==o)throw new Error(`Unrecognized extension value in extension set (${o}). This sometimes happens because multiple instances of @codemirror/state are loaded, breaking instanceof checks.`);s(c,a)}}return s(i,Ti.default),n.reduce((o,a)=>o.concat(a))}function jn(i,e){if(e&1)return 2;let t=e>>1,n=i.status[t];if(n==4)throw new Error("Cyclic dependency between fields and/or facets");if(n&2)return n;i.status[t]=4;let r=i.computeSlot(i,i.config.dynamicSlots[t]);return i.status[t]=2|r}function Hr(i,e){return e&1?i.config.staticValues[e>>1]:i.values[e>>1]}var hf=Y.define(),Io=Y.define({combine:i=>i.some(e=>e),static:!0}),ff=Y.define({combine:i=>i.length?i[0]:void 0,static:!0}),uf=Y.define(),Of=Y.define(),df=Y.define(),pf=Y.define({combine:i=>i.length?i[0]:!1}),Te=class{constructor(e,t){this.type=e,this.value=t}static define(){return new Bo}},Bo=class{of(e){return new Te(this,e)}},Uo=class{constructor(e){this.map=e}of(e){return new ie(this,e)}},ie=class i{constructor(e,t){this.type=e,this.value=t}map(e){let t=this.type.map(this.value,e);return t===void 0?void 0:t==this.value?this:new i(this.type,t)}is(e){return this.type==e}static define(e={}){return new Uo(e.map||(t=>t))}static mapEffects(e,t){if(!e.length)return e;let n=[];for(let r of e){let s=r.map(t);s&&n.push(s)}return n}};ie.reconfigure=ie.define();ie.appendConfig=ie.define();var pe=class i{constructor(e,t,n,r,s,o){this.startState=e,this.changes=t,this.selection=n,this.effects=r,this.annotations=s,this.scrollIntoView=o,this._doc=null,this._state=null,n&&cf(n,t.newLength),s.some(a=>a.type==i.time)||(this.annotations=s.concat(i.time.of(Date.now())))}static create(e,t,n,r,s,o){return new i(e,t,n,r,s,o)}get newDoc(){return this._doc||(this._doc=this.changes.apply(this.startState.doc))}get newSelection(){return this.selection||this.startState.selection.map(this.changes)}get state(){return this._state||this.startState.applyTransaction(this),this._state}annotation(e){for(let t of this.annotations)if(t.type==e)return t.value}get docChanged(){return!this.changes.empty}get reconfigured(){return this.startState.config!=this.state.config}isUserEvent(e){let t=this.annotation(i.userEvent);return!!(t&&(t==e||t.length>e.length&&t.slice(0,e.length)==e&&t[e.length]=="."))}};pe.time=Te.define();pe.userEvent=Te.define();pe.addToHistory=Te.define();pe.remote=Te.define();function d0(i,e){let t=[];for(let n=0,r=0;;){let s,o;if(n=i[n]))s=i[n++],o=i[n++];else if(r=0;r--){let s=n[r](i);s instanceof pe?i=s:Array.isArray(s)&&s.length==1&&s[0]instanceof pe?i=s[0]:i=gf(e,sn(s),!1)}return i}function m0(i){let e=i.startState,t=e.facet(df),n=i;for(let r=t.length-1;r>=0;r--){let s=t[r](i);s&&Object.keys(s).length&&(n=mf(n,Go(e,s,i.changes.newLength),!0))}return n==i?i:pe.create(e,i.changes,i.selection,n.effects,n.annotations,n.scrollIntoView)}var g0=[];function sn(i){return i==null?g0:Array.isArray(i)?i:[i]}var ze=(function(i){return i[i.Word=0]="Word",i[i.Space=1]="Space",i[i.Other=2]="Other",i})(ze||(ze={})),Q0=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/,No;try{No=new RegExp("[\\p{Alphabetic}\\p{Number}_]","u")}catch{}function b0(i){if(No)return No.test(i);for(let e=0;e"\x80"&&(t.toUpperCase()!=t.toLowerCase()||Q0.test(t)))return!0}return!1}function S0(i){return e=>{if(!/\S/.test(e))return ze.Space;if(b0(e))return ze.Word;for(let t=0;t-1)return ze.Word;return ze.Other}}var se=class i{constructor(e,t,n,r,s,o){this.config=e,this.doc=t,this.selection=n,this.values=r,this.status=e.statusTemplate.slice(),this.computeSlot=s,o&&(o._state=this);for(let a=0;ar.set(c,l)),t=null),r.set(a.value.compartment,a.value.extension)):a.is(ie.reconfigure)?(t=null,n=a.value):a.is(ie.appendConfig)&&(t=null,n=sn(n).concat(a.value));let s;t?s=e.startState.values.slice():(t=Fr.resolve(n,r,this),s=new i(t,this.doc,this.selection,t.dynamicSlots.map(()=>null),(l,c)=>c.reconfigure(l,this),null).values);let o=e.startState.facet(Io)?e.newSelection:e.newSelection.asSingle();new i(t,e.newDoc,o,s,(a,l)=>l.update(a,e),e)}replaceSelection(e){return typeof e=="string"&&(e=this.toText(e)),this.changeByRange(t=>({changes:{from:t.from,to:t.to,insert:e},range:v.cursor(t.from+e.length)}))}changeByRange(e){let t=this.selection,n=e(t.ranges[0]),r=this.changes(n.changes),s=[n.range],o=sn(n.effects);for(let a=1;ao.spec.fromJSON(a,l)))}}return i.create({doc:e.doc,selection:v.fromJSON(e.selection),extensions:t.extensions?r.concat([t.extensions]):r})}static create(e={}){let t=Fr.resolve(e.extensions||[],new Map),n=e.doc instanceof J?e.doc:J.of((e.doc||"").split(t.staticFacet(i.lineSeparator)||jo)),r=e.selection?e.selection instanceof v?e.selection:v.single(e.selection.anchor,e.selection.head):v.single(0);return cf(r,n.length),t.staticFacet(Io)||(r=r.asSingle()),new i(t,n,r,t.dynamicSlots.map(()=>null),(s,o)=>o.create(s),null)}get tabSize(){return this.facet(i.tabSize)}get lineBreak(){return this.facet(i.lineSeparator)||` +`}get readOnly(){return this.facet(pf)}phrase(e,...t){for(let n of this.facet(i.phrases))if(Object.prototype.hasOwnProperty.call(n,e)){e=n[e];break}return t.length&&(e=e.replace(/\$(\$|\d*)/g,(n,r)=>{if(r=="$")return"$";let s=+(r||1);return!s||s>t.length?n:t[s-1]})),e}languageDataAt(e,t,n=-1){let r=[];for(let s of this.facet(hf))for(let o of s(this,t,n))Object.prototype.hasOwnProperty.call(o,e)&&r.push(o[e]);return r}charCategorizer(e){let t=this.languageDataAt("wordChars",e);return S0(t.length?t[0]:"")}wordAt(e){let{text:t,from:n,length:r}=this.doc.lineAt(e),s=this.charCategorizer(e),o=e-n,a=e-n;for(;o>0;){let l=xe(t,o,!1);if(s(t.slice(l,o))!=ze.Word)break;o=l}for(;ai.length?i[0]:4});se.lineSeparator=ff;se.readOnly=pf;se.phrases=Y.define({compare(i,e){let t=Object.keys(i),n=Object.keys(e);return t.length==n.length&&t.every(r=>i[r]==e[r])}});se.languageData=hf;se.changeFilter=uf;se.transactionFilter=Of;se.transactionExtender=df;Nr.reconfigure=ie.define();function In(i,e,t={}){let n={};for(let r of i)for(let s of Object.keys(r)){let o=r[s],a=n[s];if(a===void 0)n[s]=o;else if(!(a===o||o===void 0))if(Object.hasOwnProperty.call(t,s))n[s]=t[s](a,o);else throw new Error("Config merge conflict for field "+s)}for(let r in e)n[r]===void 0&&(n[r]=e[r]);return n}var ot=class{eq(e){return this==e}range(e,t=e){return Dn.create(e,t,this)}};ot.prototype.startSide=ot.prototype.endSide=0;ot.prototype.point=!1;ot.prototype.mapMode=ge.TrackDel;function ta(i,e){return i==e||i.constructor==e.constructor&&i.eq(e)}var Dn=class i{constructor(e,t,n){this.from=e,this.to=t,this.value=n}static create(e,t,n){return new i(e,t,n)}};function Fo(i,e){return i.from-e.from||i.value.startSide-e.value.startSide}var Ho=class i{constructor(e,t,n,r){this.from=e,this.to=t,this.value=n,this.maxPoint=r}get length(){return this.to[this.to.length-1]}findIndex(e,t,n,r=0){let s=n?this.to:this.from;for(let o=r,a=s.length;;){if(o==a)return o;let l=o+a>>1,c=s[l]-e||(n?this.value[l].endSide:this.value[l].startSide)-t;if(l==o)return c>=0?o:a;c>=0?a=l:o=l+1}}between(e,t,n,r){for(let s=this.findIndex(t,-1e9,!0),o=this.findIndex(n,1e9,!1,s);sO||u==O&&c.startSide>0&&c.endSide<=0)continue;(O-u||c.endSide-c.startSide)<0||(o<0&&(o=u),c.point&&(a=Math.max(a,O-u)),n.push(c),r.push(u-o),s.push(O-o))}return{mapped:n.length?new i(r,s,n,a):null,pos:o}}},le=class i{constructor(e,t,n,r){this.chunkPos=e,this.chunk=t,this.nextLayer=n,this.maxPoint=r}static create(e,t,n,r){return new i(e,t,n,r)}get length(){let e=this.chunk.length-1;return e<0?0:Math.max(this.chunkEnd(e),this.nextLayer.length)}get size(){if(this.isEmpty)return 0;let e=this.nextLayer.size;for(let t of this.chunk)e+=t.value.length;return e}chunkEnd(e){return this.chunkPos[e]+this.chunk[e].length}update(e){let{add:t=[],sort:n=!1,filterFrom:r=0,filterTo:s=this.length}=e,o=e.filter;if(t.length==0&&!o)return this;if(n&&(t=t.slice().sort(Fo)),this.isEmpty)return t.length?i.of(t):this;let a=new Kr(this,null,-1).goto(0),l=0,c=[],h=new Ri;for(;a.value||l=0){let f=t[l++];h.addInner(f.from,f.to,f.value)||c.push(f)}else a.rangeIndex==1&&a.chunkIndexthis.chunkEnd(a.chunkIndex)||sa.to||s=s&&e<=s+o.length&&o.between(s,e-s,t-s,n)===!1)return}this.nextLayer.between(e,t,n)}}iter(e=0){return Yn.from([this]).goto(e)}get isEmpty(){return this.nextLayer==this}static iter(e,t=0){return Yn.from(e).goto(t)}static compare(e,t,n,r,s=-1){let o=e.filter(f=>f.maxPoint>0||!f.isEmpty&&f.maxPoint>=s),a=t.filter(f=>f.maxPoint>0||!f.isEmpty&&f.maxPoint>=s),l=rf(o,a,n),c=new Ci(o,l,s),h=new Ci(a,l,s);n.iterGaps((f,u,O)=>sf(c,f,h,u,O,r)),n.empty&&n.length==0&&sf(c,0,h,0,0,r)}static eq(e,t,n=0,r){r==null&&(r=999999999);let s=e.filter(h=>!h.isEmpty&&t.indexOf(h)<0),o=t.filter(h=>!h.isEmpty&&e.indexOf(h)<0);if(s.length!=o.length)return!1;if(!s.length)return!0;let a=rf(s,o),l=new Ci(s,a,0).goto(n),c=new Ci(o,a,0).goto(n);for(;;){if(l.to!=c.to||!Ko(l.active,c.active)||l.point&&(!c.point||!ta(l.point,c.point)))return!1;if(l.to>r)return!0;l.next(),c.next()}}static spans(e,t,n,r,s=-1){let o=new Ci(e,null,s).goto(t),a=t,l=o.openStart;for(;;){let c=Math.min(o.to,n);if(o.point){let h=o.activeForPoint(o.to),f=o.pointFroma&&(r.span(a,c,o.active,l),l=o.openEnd(c));if(o.to>n)return l+(o.point&&o.to>n?1:0);a=o.to,o.next()}}static of(e,t=!1){let n=new Ri;for(let r of e instanceof Dn?[e]:t?y0(e):e)n.add(r.from,r.to,r.value);return n.finish()}static join(e){if(!e.length)return i.empty;let t=e[e.length-1];for(let n=e.length-2;n>=0;n--)for(let r=e[n];r!=i.empty;r=r.nextLayer)t=new i(r.chunkPos,r.chunk,t,Math.max(r.maxPoint,t.maxPoint));return t}};le.empty=new le([],[],null,-1);function y0(i){if(i.length>1)for(let e=i[0],t=1;t0)return i.slice().sort(Fo);e=n}return i}le.empty.nextLayer=le.empty;var Ri=class i{finishChunk(e){this.chunks.push(new Ho(this.from,this.to,this.value,this.maxPoint)),this.chunkPos.push(this.chunkStart),this.chunkStart=-1,this.setMaxPoint=Math.max(this.setMaxPoint,this.maxPoint),this.maxPoint=-1,e&&(this.from=[],this.to=[],this.value=[])}constructor(){this.chunks=[],this.chunkPos=[],this.chunkStart=-1,this.last=null,this.lastFrom=-1e9,this.lastTo=-1e9,this.from=[],this.to=[],this.value=[],this.maxPoint=-1,this.setMaxPoint=-1,this.nextLayer=null}add(e,t,n){this.addInner(e,t,n)||(this.nextLayer||(this.nextLayer=new i)).add(e,t,n)}addInner(e,t,n){let r=e-this.lastTo||n.startSide-this.last.endSide;if(r<=0&&(e-this.lastFrom||n.startSide-this.last.startSide)<0)throw new Error("Ranges must be added sorted by `from` position and `startSide`");return r<0?!1:(this.from.length==250&&this.finishChunk(!0),this.chunkStart<0&&(this.chunkStart=e),this.from.push(e-this.chunkStart),this.to.push(t-this.chunkStart),this.last=n,this.lastFrom=e,this.lastTo=t,this.value.push(n),n.point&&(this.maxPoint=Math.max(this.maxPoint,t-e)),!0)}addChunk(e,t){if((e-this.lastTo||t.value[0].startSide-this.last.endSide)<0)return!1;this.from.length&&this.finishChunk(!0),this.setMaxPoint=Math.max(this.setMaxPoint,t.maxPoint),this.chunks.push(t),this.chunkPos.push(e);let n=t.value.length-1;return this.last=t.value[n],this.lastFrom=t.from[n]+e,this.lastTo=t.to[n]+e,!0}finish(){return this.finishInner(le.empty)}finishInner(e){if(this.from.length&&this.finishChunk(!1),this.chunks.length==0)return e;let t=le.create(this.chunkPos,this.chunks,this.nextLayer?this.nextLayer.finishInner(e):e,this.setMaxPoint);return this.from=null,t}};function rf(i,e,t){let n=new Map;for(let s of i)for(let o=0;o=this.minPoint)break}}setRangeIndex(e){if(e==this.layer.chunk[this.chunkIndex].value.length){if(this.chunkIndex++,this.skip)for(;this.chunkIndex=n&&r.push(new Kr(o,t,n,s));return r.length==1?r[0]:new i(r)}get startSide(){return this.value?this.value.startSide:0}goto(e,t=-1e9){for(let n of this.heap)n.goto(e,t);for(let n=this.heap.length>>1;n>=0;n--)Mo(this.heap,n);return this.next(),this}forward(e,t){for(let n of this.heap)n.forward(e,t);for(let n=this.heap.length>>1;n>=0;n--)Mo(this.heap,n);(this.to-e||this.value.endSide-t)<0&&this.next()}next(){if(this.heap.length==0)this.from=this.to=1e9,this.value=null,this.rank=-1;else{let e=this.heap[0];this.from=e.from,this.to=e.to,this.value=e.value,this.rank=e.rank,e.value&&e.next(),Mo(this.heap,0)}}};function Mo(i,e){for(let t=i[e];;){let n=(e<<1)+1;if(n>=i.length)break;let r=i[n];if(n+1=0&&(r=i[n+1],n++),t.compare(r)<0)break;i[n]=t,i[e]=r,e=n}}var Ci=class{constructor(e,t,n){this.minPoint=n,this.active=[],this.activeTo=[],this.activeRank=[],this.minActive=-1,this.point=null,this.pointFrom=0,this.pointRank=0,this.to=-1e9,this.endSide=0,this.openStart=-1,this.cursor=Yn.from(e,t,n)}goto(e,t=-1e9){return this.cursor.goto(e,t),this.active.length=this.activeTo.length=this.activeRank.length=0,this.minActive=-1,this.to=e,this.endSide=t,this.openStart=-1,this.next(),this}forward(e,t){for(;this.minActive>-1&&(this.activeTo[this.minActive]-e||this.active[this.minActive].endSide-t)<0;)this.removeActive(this.minActive);this.cursor.forward(e,t)}removeActive(e){Dr(this.active,e),Dr(this.activeTo,e),Dr(this.activeRank,e),this.minActive=of(this.active,this.activeTo)}addActive(e){let t=0,{value:n,to:r,rank:s}=this.cursor;for(;t0;)t++;Yr(this.active,t,n),Yr(this.activeTo,t,r),Yr(this.activeRank,t,s),e&&Yr(e,t,this.cursor.from),this.minActive=of(this.active,this.activeTo)}next(){let e=this.to,t=this.point;this.point=null;let n=this.openStart<0?[]:null;for(;;){let r=this.minActive;if(r>-1&&(this.activeTo[r]-this.cursor.from||this.active[r].endSide-this.cursor.startSide)<0){if(this.activeTo[r]>e){this.to=this.activeTo[r],this.endSide=this.active[r].endSide;break}this.removeActive(r),n&&Dr(n,r)}else if(this.cursor.value)if(this.cursor.from>e){this.to=this.cursor.from,this.endSide=this.cursor.startSide;break}else{let s=this.cursor.value;if(!s.point)this.addActive(n),this.cursor.next();else if(t&&this.cursor.to==this.to&&this.cursor.from=0&&n[r]=0&&!(this.activeRank[n]e||this.activeTo[n]==e&&this.active[n].endSide>=this.point.endSide)&&t.push(this.active[n]);return t.reverse()}openEnd(e){let t=0;for(let n=this.activeTo.length-1;n>=0&&this.activeTo[n]>e;n--)t++;return t}};function sf(i,e,t,n,r,s){i.goto(e),t.goto(n);let o=n+r,a=n,l=n-e,c=!!s.boundChange;for(let h=!1;;){let f=i.to+l-t.to,u=f||i.endSide-t.endSide,O=u<0?i.to+l:t.to,m=Math.min(O,o);if(i.point||t.point?(i.point&&t.point&&ta(i.point,t.point)&&Ko(i.activeForPoint(i.to),t.activeForPoint(t.to))||s.comparePoint(a,m,i.point,t.point),h=!1):(h&&s.boundChange(a),m>a&&!Ko(i.active,t.active)&&s.compareRange(a,m,i.active,t.active),c&&mo)break;a=O,u<=0&&i.next(),u>=0&&t.next()}}function Ko(i,e){if(i.length!=e.length)return!1;for(let t=0;t=e;n--)i[n+1]=i[n];i[e]=t}function of(i,e){let t=-1,n=1e9;for(let r=0;r=e)return r;if(r==i.length)break;s+=i.charCodeAt(r)==9?t-s%t:1,r=xe(i,r)}return n===!0?-1:i.length}var bf=typeof Symbol>"u"?"__\u037C":Symbol.for("\u037C"),ia=typeof Symbol>"u"?"__styleSet"+Math.floor(Math.random()*1e8):Symbol("styleSet"),Sf=typeof globalThis<"u"?globalThis:typeof window<"u"?window:{},lt=class{constructor(e,t){this.rules=[];let{finish:n}=t||{};function r(o){return/^@/.test(o)?[o]:o.split(/,\s*/)}function s(o,a,l,c){let h=[],f=/^@(\w+)\b/.exec(o[0]),u=f&&f[1]=="keyframes";if(f&&a==null)return l.push(o[0]+";");for(let O in a){let m=a[O];if(/&/.test(O))s(O.split(/,\s*/).map(p=>o.map(b=>p.replace(/&/,b))).reduce((p,b)=>p.concat(b)),m,l);else if(m&&typeof m=="object"){if(!f)throw new RangeError("The value of a property ("+O+") should be a primitive value.");s(r(O),m,h,u)}else m!=null&&h.push(O.replace(/_.*/,"").replace(/[A-Z]/g,p=>"-"+p.toLowerCase())+": "+m+";")}(h.length||u)&&l.push((n&&!f&&!c?o.map(n):o).join(", ")+" {"+h.join(" ")+"}")}for(let o in e)s(r(o),e[o],this.rules)}getRules(){return this.rules.join(` +`)}static newName(){let e=Sf[bf]||1;return Sf[bf]=e+1,"\u037C"+e.toString(36)}static mount(e,t,n){let r=e[ia],s=n&&n.nonce;r?s&&r.setNonce(s):r=new na(e,s),r.mount(Array.isArray(t)?t:[t],e)}},yf=new Map,na=class{constructor(e,t){let n=e.ownerDocument||e,r=n.defaultView;if(!e.head&&e.adoptedStyleSheets&&r.CSSStyleSheet){let s=yf.get(n);if(s)return e[ia]=s;this.sheet=new r.CSSStyleSheet,yf.set(n,this)}else this.styleTag=n.createElement("style"),t&&this.styleTag.setAttribute("nonce",t);this.modules=[],e[ia]=this}mount(e,t){let n=this.sheet,r=0,s=0;for(let o=0;o-1&&(this.modules.splice(l,1),s--,l=-1),l==-1){if(this.modules.splice(s++,0,a),n)for(let c=0;c",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},k0=typeof navigator<"u"&&/Mac/.test(navigator.platform),x0=typeof navigator<"u"&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent);for(be=0;be<10;be++)Wt[48+be]=Wt[96+be]=String(be);var be;for(be=1;be<=24;be++)Wt[be+111]="F"+be;var be;for(be=65;be<=90;be++)Wt[be]=String.fromCharCode(be+32),ln[be]=String.fromCharCode(be);var be;for(Jr in Wt)ln.hasOwnProperty(Jr)||(ln[Jr]=Wt[Jr]);var Jr;function kf(i){var e=k0&&i.metaKey&&i.shiftKey&&!i.ctrlKey&&!i.altKey||x0&&i.shiftKey&&i.key&&i.key.length==1||i.key=="Unidentified",t=!e&&i.key||(i.shiftKey?ln:Wt)[i.keyCode]||i.key||"Unidentified";return t=="Esc"&&(t="Escape"),t=="Del"&&(t="Delete"),t=="Left"&&(t="ArrowLeft"),t=="Up"&&(t="ArrowUp"),t=="Right"&&(t="ArrowRight"),t=="Down"&&(t="ArrowDown"),t}var Me=typeof navigator<"u"?navigator:{userAgent:"",vendor:"",platform:""},ca=typeof document<"u"?document:{documentElement:{style:{}}},ha=/Edge\/(\d+)/.exec(Me.userAgent),Ff=/MSIE \d/.test(Me.userAgent),fa=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(Me.userAgent),ys=!!(Ff||fa||ha),xf=!ys&&/gecko\/(\d+)/i.test(Me.userAgent),ra=!ys&&/Chrome\/(\d+)/.exec(Me.userAgent),wf="webkitFontSmoothing"in ca.documentElement.style,ua=!ys&&/Apple Computer/.test(Me.vendor),Pf=ua&&(/Mobile\/\w+/.test(Me.userAgent)||Me.maxTouchPoints>2),L={mac:Pf||/Mac/.test(Me.platform),windows:/Win/.test(Me.platform),linux:/Linux|X11/.test(Me.platform),ie:ys,ie_version:Ff?ca.documentMode||6:fa?+fa[1]:ha?+ha[1]:0,gecko:xf,gecko_version:xf?+(/Firefox\/(\d+)/.exec(Me.userAgent)||[0,0])[1]:0,chrome:!!ra,chrome_version:ra?+ra[1]:0,ios:Pf,android:/Android\b/.test(Me.userAgent),webkit:wf,webkit_version:wf?+(/\bAppleWebKit\/(\d+)/.exec(Me.userAgent)||[0,0])[1]:0,safari:ua,safari_version:ua?+(/\bVersion\/(\d+(\.\d+)?)/.exec(Me.userAgent)||[0,0])[1]:0,tabSize:ca.documentElement.style.tabSize!=null?"tab-size":"-moz-tab-size"};function Ua(i,e){for(let t in i)t=="class"&&e.class?e.class+=" "+i.class:t=="style"&&e.style?e.style+=";"+i.style:e[t]=i[t];return e}var cs=Object.create(null);function Ga(i,e,t){if(i==e)return!0;i||(i=cs),e||(e=cs);let n=Object.keys(i),r=Object.keys(e);if(n.length-(t&&n.indexOf(t)>-1?1:0)!=r.length-(t&&r.indexOf(t)>-1?1:0))return!1;for(let s of n)if(s!=t&&(r.indexOf(s)==-1||i[s]!==e[s]))return!1;return!0}function w0(i,e){for(let t=i.attributes.length-1;t>=0;t--){let n=i.attributes[t].name;e[n]==null&&i.removeAttribute(n)}for(let t in e){let n=e[t];t=="style"?i.style.cssText=n:i.getAttribute(t)!=n&&i.setAttribute(t,n)}}function vf(i,e,t){let n=!1;if(e)for(let r in e)t&&r in t||(n=!0,r=="style"?i.style.cssText="":i.removeAttribute(r));if(t)for(let r in t)e&&e[r]==t[r]||(n=!0,r=="style"?i.style.cssText=t[r]:i.setAttribute(r,t[r]));return n}function P0(i){let e=Object.create(null);for(let t=0;t0?3e8:-4e8:t>0?1e8:-1e8,new Ei(e,t,t,n,e.widget||null,!1)}static replace(e){let t=!!e.block,n,r;if(e.isBlockGap)n=-5e8,r=4e8;else{let{start:s,end:o}=Hf(e,t);n=(s?t?-3e8:-1:5e8)-1,r=(o?t?2e8:1:-6e8)+1}return new Ei(e,n,r,t,e.widget||null,!0)}static line(e){return new nr(e)}static set(e,t=!1){return le.of(e,t)}hasHeight(){return this.widget?this.widget.estimatedHeight>-1:!1}};R.none=le.empty;var ir=class i extends R{constructor(e){let{start:t,end:n}=Hf(e);super(t?-1:5e8,n?1:-6e8,null,e),this.tagName=e.tagName||"span",this.attrs=e.class&&e.attributes?Ua(e.attributes,{class:e.class}):e.class?{class:e.class}:e.attributes||cs}eq(e){return this==e||e instanceof i&&this.tagName==e.tagName&&Ga(this.attrs,e.attrs)}range(e,t=e){if(e>=t)throw new RangeError("Mark decorations may not be empty");return super.range(e,t)}};ir.prototype.point=!1;var nr=class i extends R{constructor(e){super(-2e8,-2e8,null,e)}eq(e){return e instanceof i&&this.spec.class==e.spec.class&&Ga(this.spec.attributes,e.spec.attributes)}range(e,t=e){if(t!=e)throw new RangeError("Line decoration ranges must be zero-length");return super.range(e,t)}};nr.prototype.mapMode=ge.TrackBefore;nr.prototype.point=!0;var Ei=class i extends R{constructor(e,t,n,r,s,o){super(t,n,s,e),this.block=r,this.isReplace=o,this.mapMode=r?t<=0?ge.TrackBefore:ge.TrackAfter:ge.TrackDel}get type(){return this.startSide!=this.endSide?Ot.WidgetRange:this.startSide<=0?Ot.WidgetBefore:Ot.WidgetAfter}get heightRelevant(){return this.block||!!this.widget&&(this.widget.estimatedHeight>=5||this.widget.lineBreaks>0)}eq(e){return e instanceof i&&v0(this.widget,e.widget)&&this.block==e.block&&this.startSide==e.startSide&&this.endSide==e.endSide}range(e,t=e){if(this.isReplace&&(e>t||e==t&&this.startSide>0&&this.endSide<=0))throw new RangeError("Invalid range for replacement decoration");if(!this.isReplace&&t!=e)throw new RangeError("Widget decorations can only have zero-length ranges");return super.range(e,t)}};Ei.prototype.point=!0;function Hf(i,e=!1){let{inclusiveStart:t,inclusiveEnd:n}=i;return t==null&&(t=i.inclusive),n==null&&(n=i.inclusive),{start:t??e,end:n??e}}function v0(i,e){return i==e||!!(i&&e&&i.compare(e))}function un(i,e,t,n=0){let r=t.length-1;r>=0&&t[r]+n>=i?t[r]=Math.max(t[r],e):t.push(i,e)}var ci=class i extends ot{constructor(e,t,n){super(),this.tagName=e,this.attributes=t,this.rank=n}eq(e){return e==this||e instanceof i&&this.tagName==e.tagName&&Ga(this.attributes,e.attributes)}static create(e){return new i(e.tagName,e.attributes||cs,e.rank==null?50:Math.max(0,Math.min(e.rank,100)))}static set(e,t=!1){return le.of(e,t)}};ci.prototype.startSide=ci.prototype.endSide=-1;function rr(i){let e;return i.nodeType==11?e=i.getSelection?i:i.ownerDocument:e=i,e.getSelection()}function Oa(i,e){return e?i==e||i.contains(e.nodeType!=1?e.parentNode:e):!1}function Nn(i,e){if(!e.anchorNode)return!1;try{return Oa(i,e.anchorNode)}catch{return!1}}function as(i){return i.nodeType==3?sr(i,0,i.nodeValue.length).getClientRects():i.nodeType==1?i.getClientRects():[]}function Fn(i,e,t,n){return t?$f(i,e,t,n,-1)||$f(i,e,t,n,1):!1}function hi(i){for(var e=0;;e++)if(i=i.previousSibling,!i)return e}function hs(i){return i.nodeType==1&&/^(DIV|P|LI|UL|OL|BLOCKQUOTE|DD|DT|H\d|SECTION|PRE)$/.test(i.nodeName)}function $f(i,e,t,n,r){for(;;){if(i==t&&e==n)return!0;if(e==(r<0?0:Dt(i))){if(i.nodeName=="DIV")return!1;let s=i.parentNode;if(!s||s.nodeType!=1)return!1;e=hi(i)+(r<0?0:1),i=s}else if(i.nodeType==1){if(i=i.childNodes[e+(r<0?-1:0)],i.nodeType==1&&i.contentEditable=="false")return!1;e=r<0?Dt(i):0}else return!1}}function Dt(i){return i.nodeType==3?i.nodeValue.length:i.childNodes.length}function fs(i,e){let{left:t,right:n}=i;if(t==n)return i;let r=e?t:n;return{left:r,right:r,top:i.top,bottom:i.bottom}}function $0(i){let e=i.visualViewport;return e?{left:0,right:e.width,top:0,bottom:e.height}:{left:0,right:i.innerWidth,top:0,bottom:i.innerHeight}}function Kf(i,e){let t=e.width/i.offsetWidth,n=e.height/i.offsetHeight;return(t>.995&&t<1.005||!isFinite(t)||Math.abs(e.width-i.offsetWidth)<1)&&(t=1),(n>.995&&n<1.005||!isFinite(n)||Math.abs(e.height-i.offsetHeight)<1)&&(n=1),{scaleX:t,scaleY:n}}function T0(i,e,t,n,r,s,o,a){let l=i.ownerDocument,c=l.defaultView||window;for(let h=i,f=!1;h&&!f;)if(h.nodeType==1){let u,O=h==l.body,m=1,p=1;if(O)u=$0(c);else{if(/^(fixed|sticky)$/.test(getComputedStyle(h).position)&&(f=!0),h.scrollHeight<=h.clientHeight&&h.scrollWidth<=h.clientWidth){h=h.assignedSlot||h.parentNode;continue}let Q=h.getBoundingClientRect();({scaleX:m,scaleY:p}=Kf(h,Q)),u={left:Q.left,right:Q.left+h.clientWidth*m,top:Q.top,bottom:Q.top+h.clientHeight*p}}let b=0,g=0;if(r=="nearest")e.top0&&e.bottom>u.bottom+g&&(g=e.bottom-u.bottom+o)):e.bottom>u.bottom-o&&(g=e.bottom-u.bottom+o,t<0&&e.top-g0&&e.right>u.right+b&&(b=e.right-u.right+s)):e.right>u.right-s&&(b=e.right-u.right+s,t<0&&e.leftu.bottom||e.leftu.right)&&(e={left:Math.max(e.left,u.left),right:Math.min(e.right,u.right),top:Math.max(e.top,u.top),bottom:Math.min(e.bottom,u.bottom)}),h=h.assignedSlot||h.parentNode}else if(h.nodeType==11)h=h.host;else break}function Jf(i,e=!0){let t=i.ownerDocument,n=null,r=null;for(let s=i.parentNode;s&&!(s==t.body||(!e||n)&&r);)if(s.nodeType==1)!r&&s.scrollHeight>s.clientHeight&&(r=s),e&&!n&&s.scrollWidth>s.clientWidth&&(n=s),s=s.assignedSlot||s.parentNode;else if(s.nodeType==11)s=s.host;else break;return{x:n,y:r}}var da=class{constructor(){this.anchorNode=null,this.anchorOffset=0,this.focusNode=null,this.focusOffset=0}eq(e){return this.anchorNode==e.anchorNode&&this.anchorOffset==e.anchorOffset&&this.focusNode==e.focusNode&&this.focusOffset==e.focusOffset}setRange(e){let{anchorNode:t,focusNode:n}=e;this.set(t,Math.min(e.anchorOffset,t?Dt(t):0),n,Math.min(e.focusOffset,n?Dt(n):0))}set(e,t,n,r){this.anchorNode=e,this.anchorOffset=t,this.focusNode=n,this.focusOffset=r}},Ai=null;L.safari&&L.safari_version>=26&&(Ai=!1);function eu(i){if(i.setActive)return i.setActive();if(Ai)return i.focus(Ai);let e=[];for(let t=i;t&&(e.push(t,t.scrollTop,t.scrollLeft),t!=t.ownerDocument);t=t.parentNode);if(i.focus(Ai==null?{get preventScroll(){return Ai={preventScroll:!0},!0}}:void 0),!Ai){Ai=!1;for(let t=0;tMath.max(0,i.document.documentElement.scrollHeight-i.innerHeight-4):i.scrollTop>Math.max(1,i.scrollHeight-i.clientHeight-4)}function iu(i,e){for(let t=i,n=e;;){if(t.nodeType==3&&n>0)return{node:t,offset:n};if(t.nodeType==1&&n>0){if(t.contentEditable=="false")return null;t=t.childNodes[n-1],n=Dt(t)}else if(t.parentNode&&!hs(t))n=hi(t),t=t.parentNode;else return null}}function nu(i,e){for(let t=i,n=e;;){if(t.nodeType==3&&n=t){if(a.level==n)return o;(s<0||(r!=0?r<0?a.fromt:e[s].level>a.level))&&(s=o)}}if(s<0)throw new RangeError("Index out of range");return s}};function ou(i,e){if(i.length!=e.length)return!1;for(let t=0;t=0;p-=3)if(_t[p+1]==-O){let b=_t[p+2],g=b&2?r:b&4?b&1?s:r:0;g&&(oe[f]=oe[_t[p]]=g),a=p;break}}else{if(_t.length==189)break;_t[a++]=f,_t[a++]=u,_t[a++]=l}else if((m=oe[f])==2||m==1){let p=m==r;l=p?0:1;for(let b=a-3;b>=0;b-=3){let g=_t[b+2];if(g&2)break;if(p)_t[b+2]|=2;else{if(g&4)break;_t[b+2]|=4}}}}}function q0(i,e,t,n){for(let r=0,s=n;r<=t.length;r++){let o=r?t[r-1].to:i,a=rl;)m==b&&(m=t[--p].from,b=p?t[p-1].to:i),oe[--m]=O;l=h}else s=c,l++}}}function ma(i,e,t,n,r,s,o){let a=n%2?2:1;if(n%2==r%2)for(let l=e,c=0;ll&&o.push(new ft(l,p.from,O));let b=p.direction==qi!=!(O%2);ga(i,b?n+1:n,r,p.inner,p.from,p.to,o),l=p.to}m=p.to}else{if(m==t||(h?oe[m]!=a:oe[m]==a))break;m++}u?ma(i,l,m,n+1,r,u,o):le;){let h=!0,f=!1;if(!c||l>s[c-1].to){let p=oe[l-1];p!=a&&(h=!1,f=p==16)}let u=!h&&a==1?[]:null,O=h?n:n+1,m=l;e:for(;;)if(c&&m==s[c-1].to){if(f)break e;let p=s[--c];if(!h)for(let b=p.from,g=c;;){if(b==e)break e;if(g&&s[g-1].to==b)b=s[--g].from;else{if(oe[b-1]==a)break e;break}}if(u)u.push(p);else{p.tooe.length;)oe[oe.length]=256;let n=[],r=e==qi?0:1;return ga(i,r,r,t,0,i.length,n),n}function au(i){return[new ft(0,i,0)]}var lu="";function L0(i,e,t,n,r){var s;let o=n.head-i.from,a=ft.find(e,o,(s=n.bidiLevel)!==null&&s!==void 0?s:-1,n.assoc),l=e[a],c=l.side(r,t);if(o==c){let u=a+=r?1:-1;if(u<0||u>=e.length)return null;l=e[a=u],o=l.side(!r,t),c=l.side(r,t)}let h=xe(i.text,o,l.forward(r,t));(hl.to)&&(h=c),lu=i.text.slice(Math.min(o,h),Math.max(o,h));let f=a==(r?e.length-1:0)?null:e[a+(r?1:-1)];return f&&h==c&&f.level+(r?0:1)i.some(e=>e)}),W0=Y.define({combine:i=>i.some(e=>e)}),mu=Y.define(),Hn=class i{constructor(e,t,n,r,s,o=!1){this.range=e,this.y=t,this.x=n,this.yMargin=r,this.xMargin=s,this.isSnapshot=o}map(e){return e.empty?this:new i(this.range.map(e),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}clip(e){return this.range.to<=e.doc.length?this:new i(v.cursor(e.doc.length),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}},es=ie.define({map:(i,e)=>i.map(e)}),gu=ie.define();function ut(i,e,t){let n=i.facet(uu);n.length?n[0](e):window.onerror&&window.onerror(String(e),t,void 0,void 0,e)||(t?console.error(t+":",e):console.error(e))}var jt=Y.define({combine:i=>i.length?i[0]:!0}),j0=0,hn=Y.define({combine(i){return i.filter((e,t)=>{for(let n=0;n{let l=[];return o&&l.push(ks.of(c=>{let h=c.plugin(a);return h?o(h):R.none})),s&&l.push(s(a)),l})}static fromClass(e,t){return i.define((n,r)=>new e(n,r),t)}},Kn=class{constructor(e){this.spec=e,this.mustUpdate=null,this.value=null}get plugin(){return this.spec&&this.spec.plugin}update(e){if(this.value){if(this.mustUpdate){let t=this.mustUpdate;if(this.mustUpdate=null,this.value.update)try{this.value.update(t)}catch(n){if(ut(t.state,n,"CodeMirror plugin crashed"),this.value.destroy)try{this.value.destroy()}catch{}this.deactivate()}}}else if(this.spec)try{this.value=this.spec.plugin.create(e,this.spec.arg)}catch(t){ut(e.state,t,"CodeMirror plugin crashed"),this.deactivate()}return this}destroy(e){var t;if(!((t=this.value)===null||t===void 0)&&t.destroy)try{this.value.destroy()}catch(n){ut(e.state,n,"CodeMirror plugin crashed")}}deactivate(){this.spec=this.value=null}},Qu=Y.define(),Ka=Y.define(),ks=Y.define(),bu=Y.define(),Ja=Y.define(),or=Y.define(),Su=Y.define();function Cf(i,e){let t=i.state.facet(Su);if(!t.length)return t;let n=t.map(s=>s instanceof Function?s(i):s),r=[];return le.spans(n,e.from,e.to,{point(){},span(s,o,a,l){let c=s-e.from,h=o-e.from,f=r;for(let u=a.length-1;u>=0;u--,l--){let O=a[u].spec.bidiIsolate,m;if(O==null&&(O=M0(e.text,c,h)),l>0&&f.length&&(m=f[f.length-1]).to==c&&m.direction==O)m.to=h,f=m.inner;else{let p={from:c,to:h,direction:O,inner:[]};f.push(p),f=p.inner}}}}),r}var yu=Y.define();function ku(i){let e=0,t=0,n=0,r=0;for(let s of i.state.facet(yu)){let o=s(i);o&&(o.left!=null&&(e=Math.max(e,o.left)),o.right!=null&&(t=Math.max(t,o.right)),o.top!=null&&(n=Math.max(n,o.top)),o.bottom!=null&&(r=Math.max(r,o.bottom)))}return{left:e,right:t,top:n,bottom:r}}var Bn=Y.define(),yt=class i{constructor(e,t,n,r){this.fromA=e,this.toA=t,this.fromB=n,this.toB=r}join(e){return new i(Math.min(this.fromA,e.fromA),Math.max(this.toA,e.toA),Math.min(this.fromB,e.fromB),Math.max(this.toB,e.toB))}addToSet(e){let t=e.length,n=this;for(;t>0;t--){let r=e[t-1];if(!(r.fromA>n.toA)){if(r.toAr.push(new yt(s,o,a,l))),this.changedRanges=r}static create(e,t,n){return new i(e,t,n)}get viewportChanged(){return(this.flags&4)>0}get viewportMoved(){return(this.flags&8)>0}get heightChanged(){return(this.flags&2)>0}get geometryChanged(){return this.docChanged||(this.flags&18)>0}get focusChanged(){return(this.flags&1)>0}get docChanged(){return!this.changes.empty}get selectionSet(){return this.transactions.some(e=>e.selection)}get empty(){return this.flags==0&&this.transactions.length==0}},V0=[],ue=class{constructor(e,t,n=0){this.dom=e,this.length=t,this.flags=n,this.parent=null,e.cmTile=this}get breakAfter(){return this.flags&1}get children(){return V0}isWidget(){return!1}get isHidden(){return!1}isComposite(){return!1}isLine(){return!1}isText(){return!1}isBlock(){return!1}get domAttrs(){return null}sync(e){if(this.flags|=2,this.flags&4){this.flags&=-5;let t=this.domAttrs;t&&w0(this.dom,t)}}toString(){return this.constructor.name+(this.children.length?`(${this.children})`:"")+(this.breakAfter?"#":"")}destroy(){this.parent=null}setDOM(e){this.dom=e,e.cmTile=this}get posAtStart(){return this.parent?this.parent.posBefore(this):0}get posAtEnd(){return this.posAtStart+this.length}posBefore(e,t=this.posAtStart){let n=t;for(let r of this.children){if(r==e)return n;n+=r.length+r.breakAfter}throw new RangeError("Invalid child in posBefore")}posAfter(e){return this.posBefore(e)+e.length}covers(e){return!0}coordsIn(e,t,n){return null}domPosFor(e,t){let n=hi(this.dom),r=this.length?e>0:t>0;return new Rt(this.parent.dom,n+(r?1:0),e==0||e==this.length)}markDirty(e){this.flags&=-3,e&&(this.flags|=4),this.parent&&this.parent.flags&2&&this.parent.markDirty(!1)}get overrideDOMText(){return null}get root(){for(let e=this;e;e=e.parent)if(e instanceof pn)return e;return null}static get(e){return e.cmTile}},dn=class extends ue{constructor(e){super(e,0),this._children=[]}isComposite(){return!0}get children(){return this._children}get lastChild(){return this.children.length?this.children[this.children.length-1]:null}append(e){this.children.push(e),e.parent=this}sync(e){if(this.flags&2)return;super.sync(e);let t=this.dom,n=null,r,s=e?.node==t?e:null,o=0;for(let a of this.children){if(a.sync(e),o+=a.length+a.breakAfter,r=n?n.nextSibling:t.firstChild,s&&r!=a.dom&&(s.written=!0),a.dom.parentNode==t)for(;r&&r!=a.dom;)r=Xf(r);else t.insertBefore(a.dom,r);n=a.dom}for(r=n?n.nextSibling:t.firstChild,s&&r&&(s.written=!0);r;)r=Xf(r);this.length=o}};function Xf(i){let e=i.nextSibling;return i.parentNode.removeChild(i),e}var pn=class extends dn{constructor(e,t){super(t),this.view=e}owns(e){for(;e;e=e.parent)if(e==this)return!0;return!1}isBlock(){return!0}nearest(e){for(;;){if(!e)return null;let t=ue.get(e);if(t&&this.owns(t))return t;e=e.parentNode}}blockTiles(e){for(let t=[],n=this,r=0,s=0;;)if(r==n.children.length){if(!t.length)return;n=n.parent,n.breakAfter&&s++,r=t.pop()}else{let o=n.children[r++];if(o instanceof Vt)t.push(r),n=o,r=0;else{let a=s+o.length,l=e(o,s);if(l!==void 0)return l;s=a+o.breakAfter}}}resolveBlock(e,t){let n,r=-1,s,o=-1;if(this.blockTiles((a,l)=>{let c=l+a.length;if(e>=l&&e<=c){if(a.isWidget()&&t>=-1&&t<=1){if(a.flags&32)return!0;a.flags&16&&(n=void 0)}(le||e==l&&(t>1?a.length:a.covers(-1)))&&(!s||!a.isWidget()&&s.isWidget())&&(s=a,o=e-l)}}),!n&&!s)throw new Error("No tile at position "+e);return n&&t<0||!s?{tile:n,offset:r}:{tile:s,offset:o}}},Vt=class i extends dn{constructor(e,t){super(e),this.wrapper=t}isBlock(){return!0}covers(e){return this.children.length?e<0?this.children[0].covers(-1):this.lastChild.covers(1):!1}get domAttrs(){return this.wrapper.attributes}static of(e,t){let n=new i(t||document.createElement(e.tagName),e);return t||(n.flags|=4),n}},mn=class i extends dn{constructor(e,t){super(e),this.attrs=t}isLine(){return!0}static start(e,t,n){let r=new i(t||document.createElement("div"),e);return(!t||!n)&&(r.flags|=4),r}get domAttrs(){return this.attrs}resolveInline(e,t,n){let r=null,s=-1,o=null,a=-1;function l(h,f){for(let u=0,O=0;u=f&&(m.isComposite()?l(m,f-O):(!o||o.isHidden&&(t>0&&!(o.flags&32)||n&&Y0(o,m)))&&(p>f||m.flags&32)?(o=m,a=f-O):(Or&&(e=r);let s=e,o=e,a=0;e==0&&t<0||e==r&&t>=0?L.chrome||L.gecko||(e?(s--,a=1):o=0)?0:l.length-1];return L.safari&&!a&&c.width==0&&(c=Array.prototype.find.call(l,h=>h.width)||c),n==null?c:fs(c,(a?a>0:t<0)==n)}static of(e,t){let n=new i(t||document.createTextNode(e),e);return t||(n.flags|=2),n}},zi=class i extends ue{constructor(e,t,n,r){super(e,t,r),this.widget=n}isWidget(){return!0}get isHidden(){return this.widget.isHidden}covers(e){return this.flags&48?!1:(this.flags&(e<0?64:128))>0}coordsIn(e,t){return this.coordsInWidget(e,t,!1)}coordsInWidget(e,t,n){let r=this.widget.coordsAt(this.dom,e,t);if(r)return r;if(n)return fs(this.dom.getBoundingClientRect(),this.length?e==0:t<=0);{let s=this.dom.getClientRects(),o=null;if(!s.length)return null;let a=this.flags&16?!0:this.flags&32?!1:e>0;for(let l=a?s.length-1:0;o=s[l],!(e>0?l==0:l==s.length-1||o.top0==n)}},ba=class{constructor(e){this.index=0,this.beforeBreak=!1,this.parents=[],this.tile=e}advance(e,t,n){let{tile:r,index:s,beforeBreak:o,parents:a}=this;for(;e||t>0;)if(r.isComposite())if(o){if(!e)break;n&&n.break(),e--,o=!1}else if(s==r.children.length){if(!e&&!a.length)break;n&&n.leave(r),o=!!r.breakAfter,{tile:r,index:s}=a.pop(),s++}else{let l=r.children[s],c=l.breakAfter;(t>0?l.length<=e:l.length=0;a--){let l=t.marks[a],c=r.lastChild;if(c instanceof De&&c.mark.eq(l.mark))c.dom!=l.dom&&c.setDOM(sa(l.dom)),r=c;else{if(this.cache.reused.get(l)){let f=ue.get(l.dom);f&&f.setDOM(sa(l.dom))}let h=De.of(l.mark,l.dom);r.append(h),r=h}this.cache.reused.set(l,2)}let s=ue.get(e.text);s&&this.cache.reused.set(s,2);let o=new Zi(e.text,e.text.nodeValue);o.flags|=8,this.pos=e.range.toB,r.append(o)}addInlineWidget(e,t,n){let r=this.afterWidget&&e.flags&48&&(this.afterWidget.flags&48)==(e.flags&48);r||this.flushBuffer();let s=this.ensureMarks(t,n);!r&&!(e.flags&16)&&s.append(this.getBuffer(1)),s.append(e),this.pos+=e.length,this.afterWidget=e}addMark(e,t,n){this.flushBuffer(),this.ensureMarks(t,n).append(e),this.pos+=e.length,this.afterWidget=null}addBlockWidget(e){this.getBlockPos().append(e),this.pos+=e.length,this.lastBlock=e,this.endLine()}continueWidget(e){let t=this.afterWidget||this.lastBlock;t.length+=e,this.pos+=e}addLineStart(e,t){var n;e||(e=xu);let r=mn.start(e,t||((n=this.cache.find(mn))===null||n===void 0?void 0:n.dom),!!t);this.getBlockPos().append(this.lastBlock=this.curLine=r)}addLine(e){this.getBlockPos().append(e),this.pos+=e.length,this.lastBlock=e,this.endLine()}addBreak(){this.lastBlock.flags|=1,this.endLine(),this.pos++}addLineStartIfNotCovered(e){this.blockPosCovered()||this.addLineStart(e)}ensureLine(e){this.curLine||this.addLineStart(e)}ensureMarks(e,t){var n;let r=this.curLine;for(let s=e.length-1;s>=0;s--){let o=e[s],a;if(t>0&&(a=r.lastChild)&&a instanceof De&&a.mark.eq(o))r=a,t--;else{let l=De.of(o,(n=this.cache.find(De,c=>c.mark.eq(o)))===null||n===void 0?void 0:n.dom);r.append(l),r=l,t=0}}return r}endLine(){if(this.curLine){this.flushBuffer();let e=this.curLine.lastChild;(!e||!_f(this.curLine,!1)||e.dom.nodeName!="BR"&&e.isWidget()&&!(L.ios&&_f(this.curLine,!0)))&&this.curLine.append(this.cache.findWidget(oa,0,32)||new zi(oa.toDOM(),0,oa,32)),this.curLine=this.afterWidget=null}}updateBlockWrappers(){this.wrapperPos>this.pos+1e4&&(this.blockWrappers.goto(this.pos),this.wrappers.length=0);for(let e=this.wrappers.length-1;e>=0;e--)this.wrappers[e].to=this.pos){let t=e.rank*102+e.value.rank,n=new Sa(e.from,e.to,e.value,t),r=this.wrappers.length;for(;r>0&&(this.wrappers[r-1].rank-n.rank||this.wrappers[r-1].to-n.to)<0;)r--;this.wrappers.splice(r,0,n)}this.wrapperPos=this.pos}getBlockPos(){var e;this.updateBlockWrappers();let t=this.root;for(let n of this.wrappers){let r=t.lastChild;if(n.fromo.wrapper.eq(n.wrapper)))===null||e===void 0?void 0:e.dom);t.append(s),t=s}}return t}blockPosCovered(){let e=this.lastBlock;return e!=null&&!e.breakAfter&&(!e.isWidget()||(e.flags&160)>0)}getBuffer(e){let t=2|(e<0?16:32),n=this.cache.find(gn,void 0,1);return n&&(n.flags=t),n||new gn(t)}flushBuffer(){this.afterWidget&&!(this.afterWidget.flags&32)&&(this.afterWidget.parent.append(this.getBuffer(-1)),this.afterWidget=null)}},ka=class{constructor(e){this.skipCount=0,this.text="",this.textOff=0,this.cursor=e.iter()}skip(e){this.textOff+e<=this.text.length?this.textOff+=e:(this.skipCount+=e-(this.text.length-this.textOff),this.text="",this.textOff=0)}next(e){if(this.textOff==this.text.length){let{value:r,lineBreak:s,done:o}=this.cursor.next(this.skipCount);if(this.skipCount=0,o)throw new Error("Ran out of text content when drawing inline views");this.text=r;let a=this.textOff=Math.min(e,r.length);return s?null:r.slice(0,a)}let t=Math.min(this.text.length,this.textOff+e),n=this.text.slice(this.textOff,t);return this.textOff=t,n}},Os=[zi,mn,Zi,De,gn,Vt,pn];for(let i=0;i[]),this.index=Os.map(()=>0),this.reused=new Map}add(e){let t=e.constructor.bucket,n=this.buckets[t];n.length<6?n.push(e):n[this.index[t]=(this.index[t]+1)%6]=e}find(e,t,n=2){let r=e.bucket,s=this.buckets[r],o=this.index[r];for(let a=0;a{if(this.cache.add(o),o.isComposite())return!1},enter:o=>this.cache.add(o),leave:()=>{},break:()=>{}}}run(e,t){let n=t&&this.getCompositionContext(t.text);for(let r=0,s=0,o=0;;){let a=or){let c=l-r;this.preserve(c,!o,!a),r=l,s+=c}if(!a)break;t&&a.fromA<=t.range.fromA&&a.toA>=t.range.toA?(this.forward(a.fromA,t.range.fromA,t.range.fromA{if(o.isWidget())if(this.openWidget)this.builder.continueWidget(l-a);else{let c=l>0||a{o.isLine()?this.builder.addLineStart(o.attrs,this.cache.maybeReuse(o)):(this.cache.add(o),o instanceof De&&r.unshift(o.mark)),this.openWidget=!1},leave:o=>{o.isLine()?r.length&&(r.length=s=0):o instanceof De&&(r.shift(),s=Math.min(s,r.length))},break:()=>{this.builder.addBreak(),this.openWidget=!1}}),this.text.skip(e)}emit(e,t){let n=null,r=this.builder,s=-1,o=le.spans(this.decorations,e,t,{point:(a,l,c,h,f,u)=>{if(c instanceof Ei){if(this.disallowBlockEffectsFor[u]){if(c.block)throw new RangeError("Block decorations may not be specified via plugins");if(l>this.view.state.doc.lineAt(a).to)throw new RangeError("Decorations that replace line breaks may not be specified via plugins")}if(s=h.length,f>h.length)r.continueWidget(l-a);else{let O=c.widget||(c.block?fi.block:fi.inline),m=I0(c),p=this.cache.findWidget(O,l-a,m)||zi.of(O,this.view,l-a,m);c.block?(c.startSide>0&&r.addLineStartIfNotCovered(n),r.addBlockWidget(p)):(r.ensureLine(n),r.addInlineWidget(p,h,f))}n=null}else n=B0(n,c);l>a&&this.text.skip(l-a)},span:(a,l,c,h)=>{for(let f=a;f-1&&(this.openWidget=o>s),this.openWidget||r.addLineStartIfNotCovered(n),this.openMarks=o}forward(e,t,n=1){t-e<=10?this.old.advance(t-e,n,this.reuseWalker):(this.old.advance(5,-1,this.reuseWalker),this.old.advance(t-e-10,-1),this.old.advance(5,n,this.reuseWalker))}getCompositionContext(e){let t=[],n=null;for(let r=e.parentNode;;r=r.parentNode){let s=ue.get(r);if(r==this.view.contentDOM)break;s instanceof De?t.push(s):s?.isLine()?n=s:s instanceof Vt||(r.nodeName=="DIV"&&!n&&r!=this.view.contentDOM?n=new mn(r,xu):n||t.push(De.of(new ir({tagName:r.nodeName.toLowerCase(),attributes:P0(r)}),r)))}return{line:n,marks:t}}};function _f(i,e){let t=n=>{for(let r of n.children)if((e?r.isText():r.length)||t(r))return!0;return!1};return t(i)}function I0(i){let e=i.isReplace?(i.startSide<0?64:0)|(i.endSide>0?128:0):i.startSide>0?32:16;return i.block&&(e|=256),e}var xu={class:"cm-line"};function B0(i,e){let t=e.spec.attributes,n=e.spec.class;return!t&&!n||(i||(i={class:"cm-line"}),t&&Ua(t,i),n&&(i.class+=" "+n)),i}function U0(i){let e=[];for(let t=i.parents.length;t>1;t--){let n=t==i.parents.length?i.tile:i.parents[t].tile;n instanceof De&&e.push(n.mark)}return e}function sa(i){let e=ue.get(i);return e&&e.setDOM(i.cloneNode()),i}var fi=class extends Ce{constructor(e){super(),this.tag=e}eq(e){return e.tag==this.tag}toDOM(){return document.createElement(this.tag)}updateDOM(e){return e.nodeName.toLowerCase()==this.tag}get isHidden(){return!0}};fi.inline=new fi("span");fi.block=new fi("div");var oa=new class extends Ce{toDOM(){return document.createElement("br")}get isHidden(){return!0}get editable(){return!0}},ds=class{constructor(e){this.view=e,this.decorations=[],this.blockWrappers=[],this.dynamicDecorationMap=[!1],this.domChanged=null,this.hasComposition=null,this.editContextFormatting=R.none,this.lastCompositionAfterCursor=!1,this.minWidth=0,this.minWidthFrom=0,this.minWidthTo=0,this.impreciseAnchor=null,this.impreciseHead=null,this.forceSelection=!1,this.lastUpdate=Date.now(),this.updateDeco(),this.tile=new pn(e,e.contentDOM),this.updateInner([new yt(0,0,0,e.state.doc.length)],null)}update(e){var t;let n=e.changedRanges;this.minWidth>0&&n.length&&(n.every(({fromA:h,toA:f})=>fthis.minWidthTo)?(this.minWidthFrom=e.changes.mapPos(this.minWidthFrom,1),this.minWidthTo=e.changes.mapPos(this.minWidthTo,1)):this.minWidth=this.minWidthFrom=this.minWidthTo=0),this.updateEditContextFormatting(e);let r=-1;this.view.inputState.composing>=0&&!this.view.observer.editContext&&(!((t=this.domChanged)===null||t===void 0)&&t.newSel?r=this.domChanged.newSel.head:!tQ(e.changes,this.hasComposition)&&!e.selectionSet&&(r=e.state.selection.main.head));let s=r>-1?N0(this.view,e.changes,r):null;if(this.domChanged=null,this.hasComposition){let{from:h,to:f}=this.hasComposition;n=new yt(h,f,e.changes.mapPos(h,-1),e.changes.mapPos(f,1)).addToSet(n.slice())}this.hasComposition=s?{from:s.range.fromB,to:s.range.toB}:null,(L.ie||L.chrome)&&!s&&e&&e.state.doc.lines!=e.startState.doc.lines&&(this.forceSelection=!0);let o=this.decorations,a=this.blockWrappers;this.updateDeco();let l=K0(o,this.decorations,e.changes);l.length&&(n=yt.extendWithRanges(n,l));let c=J0(a,this.blockWrappers,e.changes);return c.length&&(n=yt.extendWithRanges(n,c)),s&&!n.some(h=>h.fromA<=s.range.fromA&&h.toA>=s.range.toA)&&(n=s.range.addToSet(n.slice())),this.tile.flags&2&&n.length==0?!1:(this.updateInner(n,s),e.transactions.length&&(this.lastUpdate=Date.now()),!0)}updateInner(e,t){this.view.viewState.mustMeasureContent=!0;let{observer:n}=this.view;n.ignore(()=>{if(t||e.length){let o=this.tile,a=new wa(this.view,o,this.blockWrappers,this.decorations,this.dynamicDecorationMap);t&&ue.get(t.text)&&a.cache.reused.set(ue.get(t.text),2),this.tile=a.run(e,t),Pa(o,a.cache.reused)}this.tile.dom.style.height=this.view.viewState.contentHeight/this.view.scaleY+"px",this.tile.dom.style.flexBasis=this.minWidth?this.minWidth+"px":"";let s=L.chrome||L.ios?{node:n.selectionRange.focusNode,written:!1}:void 0;this.tile.sync(s),s&&(s.written||n.selectionRange.focusNode!=s.node||!this.tile.dom.contains(s.node))&&(this.forceSelection=!0),this.tile.dom.style.height=""});let r=[];if(this.view.viewport.from||this.view.viewport.to-1)&&Nn(n,this.view.observer.selectionRange)&&!(r&&n.contains(r));if(!(s||t||o))return;let a=this.forceSelection;this.forceSelection=!1;let l=this.view.state.selection.main,c,h;if(l.empty?h=c=this.inlineDOMNearPos(l.anchor,l.assoc||1):(h=this.inlineDOMNearPos(l.head,l.head==l.from?1:-1),c=this.inlineDOMNearPos(l.anchor,l.anchor==l.from?1:-1)),L.gecko&&l.empty&&!this.hasComposition&&G0(c)){let u=document.createTextNode("");this.view.observer.ignore(()=>c.node.insertBefore(u,c.node.childNodes[c.offset]||null)),c=h=new Rt(u,0),a=!0}let f=this.view.observer.selectionRange;(a||!f.focusNode||(!Fn(c.node,c.offset,f.anchorNode,f.anchorOffset)||!Fn(h.node,h.offset,f.focusNode,f.focusOffset))&&!this.suppressWidgetCursorChange(f,l))&&(this.view.observer.ignore(()=>{L.android&&L.chrome&&n.contains(f.focusNode)&&eQ(f.focusNode,n)&&(n.blur(),n.focus({preventScroll:!0}));let u=rr(this.view.root);if(u)if(l.empty){if(L.gecko){let O=F0(c.node,c.offset);if(O&&O!=3){let m=(O==1?iu:nu)(c.node,c.offset);m&&(c=new Rt(m.node,m.offset))}}u.collapse(c.node,c.offset),l.bidiLevel!=null&&u.caretBidiLevel!==void 0&&(u.caretBidiLevel=l.bidiLevel)}else if(u.extend){u.collapse(c.node,c.offset);try{u.extend(h.node,h.offset)}catch{}}else{let O=document.createRange();l.anchor>l.head&&([c,h]=[h,c]),O.setEnd(h.node,h.offset),O.setStart(c.node,c.offset),u.removeAllRanges(),u.addRange(O)}o&&this.view.root.activeElement==n&&(n.blur(),r&&r.focus())}),this.view.observer.setSelectionRange(c,h)),this.impreciseAnchor=c.precise?null:new Rt(f.anchorNode,f.anchorOffset),this.impreciseHead=h.precise?null:new Rt(f.focusNode,f.focusOffset)}suppressWidgetCursorChange(e,t){return this.hasComposition&&t.empty&&Fn(e.focusNode,e.focusOffset,e.anchorNode,e.anchorOffset)&&this.posFromDOM(e.focusNode,e.focusOffset)==t.head}enforceCursorAssoc(){if(this.hasComposition)return;let{view:e}=this,t=e.state.selection.main,n=rr(e.root),{anchorNode:r,anchorOffset:s}=e.observer.selectionRange;if(!n||!t.empty||!t.assoc||!n.modify)return;let o=this.lineAt(t.head,t.assoc);if(!o)return;let a=o.posAtStart;if(t.head==a||t.head==a+o.length)return;let l=this.coordsAt(t.head,-1),c=this.coordsAt(t.head,1);if(!l||!c||l.bottom>c.top)return;let h=this.domAtPos(t.head+t.assoc,t.assoc);n.collapse(h.node,h.offset),n.modify("move",t.assoc<0?"forward":"backward","lineboundary"),e.observer.readSelectionRange();let f=e.observer.selectionRange;e.docView.posFromDOM(f.anchorNode,f.anchorOffset)!=t.from&&n.collapse(r,s)}posFromDOM(e,t){let n=this.tile.nearest(e);if(!n)return this.tile.dom.compareDocumentPosition(e)&2?0:this.view.state.doc.length;let r=n.posAtStart;if(n.isComposite()){let s;if(e==n.dom)s=n.dom.childNodes[t];else{let o=Dt(e)==0?0:t==0?-1:1;for(;;){let a=e.parentNode;if(a==n.dom)break;o==0&&a.firstChild!=a.lastChild&&(e==a.firstChild?o=-1:o=1),e=a}o<0?s=e:s=e.nextSibling}if(s==n.dom.firstChild)return r;for(;s&&!ue.get(s);)s=s.nextSibling;if(!s)return r+n.length;for(let o=0,a=r;;o++){let l=n.children[o];if(l.dom==s)return a;a+=l.length+l.breakAfter}}else return n.isText()?e==n.dom?r+t:r+(t?n.length:0):r}domAtPos(e,t){let{tile:n,offset:r}=this.tile.resolveBlock(e,t);return n.isWidget()?n.domPosFor(r,t):n.domIn(r,t)}inlineDOMNearPos(e,t){let n,r=-1,s=!1,o,a=-1,l=!1;return this.tile.blockTiles((c,h)=>{if(c.isWidget()){if(c.flags&32&&h>=e)return!0;c.flags&16&&(s=!0)}else{let f=h+c.length;if(h<=e&&(n=c,r=e-h,s=f=e&&!o&&(o=c,a=e-h,l=h>e),h>e&&o)return!0}}),!n&&!o?this.domAtPos(e,t):(s&&o?n=null:l&&n&&(o=null),n&&t<0||!o?n.domIn(r,t):o.domIn(a,t))}coordsAt(e,t,n){let{tile:r,offset:s}=this.tile.resolveBlock(e,t);return r.isWidget()?r.widget instanceof Jn?null:r.coordsInWidget(s,t,!0):r.coordsIn(s,t,n)}lineAt(e,t){let{tile:n}=this.tile.resolveBlock(e,t);return n.isLine()?n:null}coordsForChar(e){let{tile:t,offset:n}=this.tile.resolveBlock(e,1);if(!t.isLine())return null;function r(s,o){if(s.isComposite())for(let a of s.children){if(a.length>=o){let l=r(a,o);if(l)return l}if(o-=a.length,o<0)break}else if(s.isText()&&oMath.max(this.view.scrollDOM.clientWidth,this.minWidth)+1,a=-1,l=this.view.textDirection==Oe.LTR,c=0,h=(f,u,O)=>{for(let m=0;mr);m++){let p=f.children[m],b=u+p.length,g=p.dom.getBoundingClientRect(),{height:Q}=g;if(O&&!m&&(c+=g.top-O.top),p instanceof Vt)b>n&&h(p,u,g);else if(u>=n&&(c>0&&t.push(-c),t.push(Q+c),c=0,o)){let S=p.dom.lastChild,x=S?as(S):[];if(x.length){let P=x[x.length-1],$=l?P.right-g.left:g.right-P.left;$>a&&(a=$,this.minWidth=s,this.minWidthFrom=u,this.minWidthTo=b)}}O&&m==f.children.length-1&&(c+=O.bottom-g.bottom),u=b+p.breakAfter}};return h(this.tile,0,null),t}textDirectionAt(e){let{tile:t}=this.tile.resolveBlock(e,1);return getComputedStyle(t.dom).direction=="rtl"?Oe.RTL:Oe.LTR}measureTextSize(){let e=this.tile.blockTiles(o=>{if(o.isLine()&&o.children.length&&o.length<=20){let a=0,l;for(let c of o.children){if(!c.isText()||/[^ -~]/.test(c.text))return;let h=as(c.dom);if(h.length!=1)return;a+=h[0].width,l=h[0].height}if(a)return{lineHeight:o.dom.getBoundingClientRect().height,charWidth:a/o.length,textHeight:l}}});if(e)return e;let t=document.createElement("div"),n,r,s;return t.className="cm-line",t.style.width="99999px",t.style.position="absolute",t.textContent="abc def ghi jkl mno pqr stu",this.view.observer.ignore(()=>{this.tile.dom.appendChild(t);let o=as(t.firstChild)[0];n=t.getBoundingClientRect().height,r=o&&o.width?o.width/27:7,s=o&&o.height?o.height:n,t.remove()}),{lineHeight:n,charWidth:r,textHeight:s}}computeBlockGapDeco(){let e=[],t=this.view.viewState;for(let n=0,r=0;;r++){let s=r==t.viewports.length?null:t.viewports[r],o=s?s.from-1:this.view.state.doc.length;if(o>n){let a=(t.lineBlockAt(o).bottom-t.lineBlockAt(n).top)/this.view.scaleY;e.push(R.replace({widget:new Jn(a),block:!0,inclusive:!0,isBlockGap:!0}).range(n,o))}if(!s)break;n=s.to+1}return R.set(e)}updateDeco(){let e=1,t=this.view.state.facet(ks).map(s=>(this.dynamicDecorationMap[e++]=typeof s=="function")?s(this.view):s),n=!1,r=this.view.state.facet(Ja).map((s,o)=>{let a=typeof s=="function";return a&&(n=!0),a?s(this.view):s});for(r.length&&(this.dynamicDecorationMap[e++]=n,t.push(le.join(r))),this.decorations=[this.editContextFormatting,...t,this.computeBlockGapDeco(),this.view.viewState.lineGapDeco];etypeof s=="function"?s(this.view):s)}scrollIntoView(e){if(e.isSnapshot){let c=this.view.viewState.lineBlockAt(e.range.head);this.view.scrollDOM.scrollTop=c.top-e.yMargin,this.view.scrollDOM.scrollLeft=e.xMargin;return}for(let c of this.view.state.facet(mu))try{if(c(this.view,e.range,e))return!0}catch(h){ut(this.view.state,h,"scroll handler")}let{range:t}=e,n=this.coordsAt(t.head,t.assoc||(t.head>t.anchor?-1:1)),r;if(!n)return;!t.empty&&(r=this.coordsAt(t.anchor,t.anchor>t.head?-1:1))&&(n={left:Math.min(n.left,r.left),top:Math.min(n.top,r.top),right:Math.max(n.right,r.right),bottom:Math.max(n.bottom,r.bottom)});let s=ku(this.view),o={left:n.left-s.left,top:n.top-s.top,right:n.right+s.right,bottom:n.bottom+s.bottom},{offsetWidth:a,offsetHeight:l}=this.view.scrollDOM;if(T0(this.view.scrollDOM,o,t.head1&&(n.top>window.pageYOffset+window.visualViewport.offsetTop+window.visualViewport.height||n.bottomn.isWidget()||n.children.some(t);return t(this.tile.resolveBlock(e,1).tile)}destroy(){Pa(this.tile)}};function Pa(i,e){let t=e?.get(i);if(t!=1){t==null&&i.destroy();for(let n of i.children)Pa(n,e)}}function G0(i){return i.node.nodeType==1&&i.node.firstChild&&(i.offset==0||i.node.childNodes[i.offset-1].contentEditable=="false")&&(i.offset==i.node.childNodes.length||i.node.childNodes[i.offset].contentEditable=="false")}function wu(i,e){let t=i.observer.selectionRange;if(!t.focusNode)return null;let n=iu(t.focusNode,t.focusOffset),r=nu(t.focusNode,t.focusOffset),s=n||r;if(r&&n&&r.node!=n.node){let a=ue.get(r.node);if(!a||a.isText()&&a.text!=r.node.nodeValue)s=r;else if(i.docView.lastCompositionAfterCursor){let l=ue.get(n.node);!l||l.isText()&&l.text!=n.node.nodeValue||(s=r)}}if(i.docView.lastCompositionAfterCursor=s!=n,!s)return null;let o=e-s.offset;return{from:o,to:o+s.node.nodeValue.length,node:s.node}}function N0(i,e,t){let n=wu(i,t);if(!n)return null;let{node:r,from:s,to:o}=n,a=r.nodeValue;if(/[\n\r]/.test(a)||i.state.doc.sliceString(n.from,n.to)!=a)return null;let l=e.invertedDesc;return{range:new yt(l.mapPos(s),l.mapPos(o),s,o),text:r}}function F0(i,e){return i.nodeType!=1?0:(e&&i.childNodes[e-1].contentEditable=="false"?1:0)|(e{ne.from&&(t=!0)}),t}var Jn=class extends Ce{constructor(e){super(),this.height=e}toDOM(){let e=document.createElement("div");return e.className="cm-gap",this.updateDOM(e),e}eq(e){return e.height==this.height}updateDOM(e){return e.style.height=this.height+"px",!0}get editable(){return!0}get estimatedHeight(){return this.height}ignoreEvent(){return!1}};function iQ(i,e,t=1){let n=i.charCategorizer(e),r=i.doc.lineAt(e),s=e-r.from;if(r.length==0)return v.cursor(e);s==0?t=1:s==r.length&&(t=-1);let o=s,a=s;t<0?o=xe(r.text,s,!1):a=xe(r.text,s);let l=n(r.text.slice(o,a));for(;o>0;){let c=xe(r.text,o,!1);if(n(r.text.slice(c,o))!=l)break;o=c}for(;ai.defaultLineHeight*1.5){let a=i.viewState.heightOracle.textHeight,l=Math.floor((r-t.top-(i.defaultLineHeight-a)*.5)/a);s+=l*i.viewState.heightOracle.lineLength}let o=i.state.sliceDoc(t.from,t.to);return t.from+Qf(o,s,i.state.tabSize)}function rQ(i,e,t){let n=i.lineBlockAt(e);if(Array.isArray(n.type)){let r;for(let s of n.type){if(s.from>e)break;if(!(s.toe)return s;(!r||s.type==Ot.Text&&(r.type!=s.type||(t<0?s.frome)))&&(r=s)}}return r||n}return n}function sQ(i,e,t,n){let r=rQ(i,e.head,e.assoc||-1),s=!n||r.type!=Ot.Text||!(i.lineWrapping||r.widgetLineBreaks)?null:i.coordsAtPos(e.assoc<0&&e.head>r.from?e.head-1:e.head);if(s){let o=i.dom.getBoundingClientRect(),a=i.textDirectionAt(r.from),l=i.posAtCoords({x:t==(a==Oe.LTR)?o.right-1:o.left+1,y:(s.top+s.bottom)/2});if(l!=null)return v.cursor(l,t?-1:1)}return v.cursor(t?r.to:r.from,t?-1:1)}function Rf(i,e,t,n){let r=i.state.doc.lineAt(e.head),s=i.bidiSpans(r),o=i.textDirectionAt(r.from);for(let a=e,l=null;;){let c=L0(r,s,o,a,t),h=lu;if(!c){if(r.number==(t?i.state.doc.lines:1))return a;h=` +`,r=i.state.doc.line(r.number+(t?1:-1)),s=i.bidiSpans(r),c=i.visualLineSide(r,!t)}if(l){if(!l(h))return a}else{if(!n)return c;l=n(h)}a=c}}function oQ(i,e,t){let n=i.state.charCategorizer(e),r=n(t);return s=>{let o=n(s);return r==ze.Space&&(r=o),r==o}}function aQ(i,e,t,n){let r=e.head,s=t?1:-1;if(r==(t?i.state.doc.length:0))return v.cursor(r,e.assoc);let o=e.goalColumn,a,l=i.contentDOM.getBoundingClientRect(),c=i.coordsAtPos(r,e.assoc||((e.empty?t:e.head==e.from)?1:-1)),h=i.documentTop;if(c)o==null&&(o=c.left-l.left),a=s<0?c.top:c.bottom;else{let m=i.viewState.lineBlockAt(r);o==null&&(o=Math.min(l.right-l.left,i.defaultCharacterWidth*(r-m.from))),a=(s<0?m.top:m.bottom)+h}let f=l.left+o,u=i.viewState.heightOracle.textHeight>>1,O=n??u;for(let m=0;;m+=u){let p=a+(O+m)*s,b=$a(i,{x:f,y:p},!1,s);if(t?p>l.bottom:pa:Q{if(e>s&&er(i)),t.from,e.head>t.from?-1:1);return n==t.from?t:v.cursor(n,ni.viewState.docHeight)return new ht(i.state.doc.length,-1);if(c=i.elementAtHeight(l),n==null)break;if(c.type==Ot.Text){if(n<0?c.toi.viewport.to)break;let u=i.docView.coordsAt(n<0?c.from:c.to,n>0?-1:1);if(u&&(n<0?u.top<=l+s:u.bottom>=l+s))break}let f=i.viewState.heightOracle.textHeight/2;l=n>0?c.bottom+f:c.top-f}if(i.viewport.from>=c.to||i.viewport.to<=c.from){if(t)return null;if(c.type==Ot.Text){let f=nQ(i,r,c,o,a);return new ht(f,f==c.from?1:-1)}}if(c.type!=Ot.Text)return l<(c.top+c.bottom)/2?new ht(c.from,1):new ht(c.to,-1);let h=i.docView.lineAt(c.from,2);return(!h||h.length!=c.length)&&(h=i.docView.lineAt(c.from,-2)),new Ta(i,o,a,i.textDirectionAt(c.from)).scanTile(h,c.from)}var Ta=class{constructor(e,t,n,r){this.view=e,this.x=t,this.y=n,this.baseDir=r,this.line=null,this.spans=null}bidiSpansAt(e){return(!this.line||this.line.from>e||this.line.to1||n.length&&(n[0].level!=this.baseDir||n[0].to+r.from>1;t:if(o.has(p)){let g=r+Math.floor(Math.random()*m);for(let Q=0;Q1)){if(Q.bottomthis.y)(!c||c.top>Q.top)&&(c=Q),S=-1;else{let x=Q.left>this.x?this.x-Q.left:Q.right(m+m+p)/3)return this.y=l.bottom-1,this.scan(e,t,!0);if(c&&c.top<(m+p+p)/3)return this.y=c.top+1,this.scan(e,t,!0)}let O=(a?this.dirAt(e[h],1):this.baseDir)==Oe.LTR;return{i:h,after:this.x>(u.left+u.right)/2==O}}scanText(e,t){let n=[];for(let s=0;s{let o=n[s]-t,a=n[s+1]-t;return sr(e.dom,o,a).getClientRects()});return r.after?new ht(n[r.i+1],-1):new ht(n[r.i],1)}scanTile(e,t){if(!e.length)return new ht(t,1);if(e.children.length==1){let a=e.children[0];if(a.isText())return this.scanText(a,t);if(a.isComposite())return this.scanTile(a,t)}let n=[t];for(let a=0,l=t;a{let l=e.children[a];return l.flags&48?null:(l.dom.nodeType==1?l.dom:sr(l.dom,0,l.length)).getClientRects()}),s=e.children[r.i],o=n[r.i];return s.isText()?this.scanText(s,o):s.isComposite()?this.scanTile(s,o):r.after?new ht(n[r.i+1],-1):new ht(o,1)}},cn="\uFFFF",Ca=class{constructor(e,t){this.points=e,this.view=t,this.text="",this.lineSeparator=t.state.facet(se.lineSeparator)}append(e){this.text+=e}lineBreak(){this.text+=cn}readRange(e,t){if(!e)return this;let n=e.parentNode;for(let r=e;;){this.findPointBefore(n,r);let s=this.text.length;this.readNode(r);let o=ue.get(r),a=r.nextSibling;if(a==t){o?.breakAfter&&!a&&n!=this.view.contentDOM&&this.lineBreak();break}let l=ue.get(a);(o&&l?o.breakAfter:(o?o.breakAfter:hs(r))||hs(a)&&(r.nodeName!="BR"||o?.isWidget())&&this.text.length>s)&&!cQ(a,t)&&this.lineBreak(),r=a}return this.findPointBefore(n,t),this}readTextNode(e){let t=e.nodeValue;for(let n of this.points)n.node==e&&(n.pos=this.text.length+Math.min(n.offset,t.length));for(let n=0,r=this.lineSeparator?null:/\r\n?|\n/g;;){let s=-1,o=1,a;if(this.lineSeparator?(s=t.indexOf(this.lineSeparator,n),o=this.lineSeparator.length):(a=r.exec(t))&&(s=a.index,o=a[0].length),this.append(t.slice(n,s<0?t.length:s)),s<0)break;if(this.lineBreak(),o>1)for(let l of this.points)l.node==e&&l.pos>this.text.length&&(l.pos-=o-1);n=s+o}}readNode(e){let t=ue.get(e),n=t&&t.overrideDOMText;if(n!=null){this.findPointInside(e,n.length);for(let r=n.iter();!r.next().done;)r.lineBreak?this.lineBreak():this.append(r.value)}else e.nodeType==3?this.readTextNode(e):e.nodeName=="BR"?e.nextSibling&&this.lineBreak():e.nodeType==1&&this.readRange(e.firstChild,null)}findPointBefore(e,t){for(let n of this.points)n.node==e&&e.childNodes[n.offset]==t&&(n.pos=this.text.length)}findPointInside(e,t){for(let n of this.points)(e.nodeType==3?n.node==e:e.contains(n.node))&&(n.pos=this.text.length+(lQ(e,n.node,n.offset)?t:0))}};function lQ(i,e,t){for(;;){if(!e||t-1;let{impreciseHead:s,impreciseAnchor:o}=e.docView,a=e.state.selection;if(e.state.readOnly&&t>-1)this.newSel=null;else if(t>-1&&(this.bounds=vu(e.docView.tile,t,n,0))){let l=s||o?[]:fQ(e),c=new Ca(l,e);c.readRange(this.bounds.startDOM,this.bounds.endDOM),this.text=c.text,this.newSel=uQ(l,this.bounds.from)}else{let l=e.observer.selectionRange,c=s&&s.node==l.focusNode&&s.offset==l.focusOffset||!Oa(e.contentDOM,l.focusNode)?a.main.head:e.docView.posFromDOM(l.focusNode,l.focusOffset),h=o&&o.node==l.anchorNode&&o.offset==l.anchorOffset||!Oa(e.contentDOM,l.anchorNode)?a.main.anchor:e.docView.posFromDOM(l.anchorNode,l.anchorOffset),f=e.viewport;if((L.ios||L.chrome)&&c!=h&&Math.min(c,h)<=a.main.from&&Math.max(c,h)>=a.main.to&&(f.from>0||f.to-1&&a.ranges.length>1)this.newSel=a.replaceRange(v.range(h,c));else if(e.lineWrapping&&h==c&&!(a.main.empty&&a.main.head==c)&&e.inputState.lastTouchTime>Date.now()-100){let u=e.coordsAtPos(c,-1),O=0;u&&(O=e.inputState.lastTouchY<=u.bottom?-1:1),this.newSel=v.create([v.cursor(c,O)])}else this.newSel=v.single(h,c)}}};function vu(i,e,t,n){if(i.isComposite()){let r=-1,s=-1,o=-1,a=-1;for(let l=0,c=n,h=n;lt)return vu(f,e,t,c);if(u>=e&&r==-1&&(r=l,s=c),c>t&&f.dom.parentNode==i.dom){o=l,a=h;break}h=u,c=u+f.breakAfter}return{from:s,to:a<0?n+i.length:a,startDOM:(r?i.children[r-1].dom.nextSibling:null)||i.dom.firstChild,endDOM:o=0?i.children[o].dom:null}}else return i.isText()?{from:n,to:n+i.length,startDOM:i.dom,endDOM:i.dom.nextSibling}:null}function $u(i,e){let t,{newSel:n}=e,{state:r}=i,s=r.selection.main,o=i.inputState.lastKeyTime>Date.now()-100?i.inputState.lastKeyCode:-1;if(e.bounds){let{from:a,to:l}=e.bounds,c=s.from,h=null;(o===8||L.android&&e.text.length=a&&s.to<=l&&(e.typeOver||f!=e.text)&&f.slice(0,s.from-a)==e.text.slice(0,s.from-a)&&f.slice(s.to-a)==e.text.slice(u=e.text.length-(f.length-(s.to-a)))?t={from:s.from,to:s.to,insert:J.of(e.text.slice(s.from-a,u).split(cn))}:(O=Tu(f,e.text,c-a,h))&&(L.chrome&&o==13&&O.toB==O.from+2&&e.text.slice(O.from,O.toB)==cn+cn&&O.toB--,t={from:a+O.from,to:a+O.toA,insert:J.of(e.text.slice(O.from,O.toB).split(cn))})}else n&&(!i.hasFocus&&r.facet(jt)||ms(n,s))&&(n=null);if(!t&&!n)return!1;if((L.mac||L.android)&&t&&t.from==t.to&&t.from==s.head-1&&/^\. ?$/.test(t.insert.toString())&&i.contentDOM.getAttribute("autocorrect")=="off"?(n&&t.insert.length==2&&(n=v.single(n.main.anchor-1,n.main.head-1)),t={from:t.from,to:t.to,insert:J.of([t.insert.toString().replace("."," ")])}):r.doc.lineAt(s.from).toDate.now()-50?t={from:s.from,to:s.to,insert:r.toText(i.inputState.insertingText)}:L.chrome&&t&&t.from==t.to&&t.from==s.head&&t.insert.toString()==` + `&&i.lineWrapping&&(n&&(n=v.single(n.main.anchor-1,n.main.head-1)),t={from:s.from,to:s.to,insert:J.of([" "])}),t)return el(i,t,n,o);if(n&&!ms(n,s)){let a=!1,l="select";return i.inputState.lastSelectionTime>Date.now()-50&&(i.inputState.lastSelectionOrigin=="select"&&(a=!0),l=i.inputState.lastSelectionOrigin,l=="select.pointer"&&(n=Pu(r.facet(or).map(c=>c(i)),n))),i.dispatch({selection:n,scrollIntoView:a,userEvent:l}),!0}else return!1}function el(i,e,t,n=-1){if(L.ios&&i.inputState.flushIOSKey(e))return!0;let r=i.state.selection.main;if(L.android&&(e.to==r.to&&(e.from==r.from||e.from==r.from-1&&i.state.sliceDoc(e.from,r.from)==" ")&&e.insert.length==1&&e.insert.lines==2&&On(i.contentDOM,"Enter",13)||(e.from==r.from-1&&e.to==r.to&&e.insert.length==0||n==8&&e.insert.lengthr.head)&&On(i.contentDOM,"Backspace",8)||e.from==r.from&&e.to==r.to+1&&e.insert.length==0&&On(i.contentDOM,"Delete",46)))return!0;let s=e.insert.toString();i.inputState.composing>=0&&i.inputState.composing++;let o,a=()=>o||(o=hQ(i,e,t));return i.state.facet(Ou).some(l=>l(i,e.from,e.to,s,a))||i.dispatch(a()),!0}function hQ(i,e,t){let n,r=i.state,s=r.selection.main,o=-1;if(e.from==e.to&&e.froms.to){let l=e.fromf(i)),c,l);e.from==h&&(o=h)}if(o>-1)n={changes:e,selection:v.cursor(e.from+e.insert.length,-1)};else if(e.from>=s.from&&e.to<=s.to&&e.to-e.from>=(s.to-s.from)/3&&(!t||t.main.empty&&t.main.from==e.from+e.insert.length)&&i.inputState.composing<0){let l=s.frome.to?r.sliceDoc(e.to,s.to):"";n=r.replaceSelection(i.state.toText(l+e.insert.sliceString(0,void 0,i.state.lineBreak)+c))}else{let l=r.changes(e),c=t&&t.main.to<=l.newLength?t.main:void 0;if(r.selection.ranges.length>1&&(i.inputState.composing>=0||i.inputState.compositionPendingChange)&&e.to<=s.to+10&&e.to>=s.to-10){let h=i.state.sliceDoc(e.from,e.to),f,u=t&&wu(i,t.main.head);if(u){let m=e.insert.length-(e.to-e.from);f={from:u.from,to:u.to-m}}else f=i.state.doc.lineAt(s.head);let O=s.to-e.to;n=r.changeByRange(m=>{if(m.from==s.from&&m.to==s.to)return{changes:l,range:c||m.map(l)};let p=m.to-O,b=p-h.length;if(i.state.sliceDoc(b,p)!=h||p>=f.from&&b<=f.to)return{range:m};let g=r.changes({from:b,to:p,insert:e.insert}),Q=m.to-s.to;return{changes:g,range:c?v.range(Math.max(0,c.anchor+Q),Math.max(0,c.head+Q)):m.map(g)}})}else n={changes:l,selection:c&&r.selection.replaceRange(c)}}let a="input.type";return(i.composing||i.inputState.compositionPendingChange&&i.inputState.compositionEndedAt>Date.now()-50)&&(i.inputState.compositionPendingChange=!1,a+=".compose",i.inputState.compositionFirstChange&&(a+=".start",i.inputState.compositionFirstChange=!1)),r.update(n,{userEvent:a,scrollIntoView:!0})}function Tu(i,e,t,n){let r=Math.min(i.length,e.length),s=0;for(;s0&&a>0&&i.charCodeAt(o-1)==e.charCodeAt(a-1);)o--,a--;if(n=="end"){let l=Math.max(0,s-Math.min(o,a));t-=o+l-s}if(o=o?s-t:0;s-=l,a=s+(a-o),o=s}else if(a=a?s-t:0;s-=l,o=s+(o-a),a=s}return{from:s,toA:o,toB:a}}function fQ(i){let e=[];if(i.root.activeElement!=i.contentDOM)return e;let{anchorNode:t,anchorOffset:n,focusNode:r,focusOffset:s}=i.observer.selectionRange;return t&&(e.push(new ps(t,n)),(r!=t||s!=n)&&e.push(new ps(r,s))),e}function uQ(i,e){if(i.length==0)return null;let t=i[0].pos,n=i.length==2?i[1].pos:t;return t>-1&&n>-1?v.single(t+e,n+e):null}function ms(i,e){return e.head==i.main.head&&e.anchor==i.main.anchor}var _a=class{setSelectionOrigin(e){this.lastSelectionOrigin=e,this.lastSelectionTime=Date.now()}constructor(e){this.view=e,this.lastKeyCode=0,this.lastKeyTime=0,this.touchActive=!1,this.lastTouchTime=0,this.lastTouchX=0,this.lastTouchY=0,this.lastFocusTime=0,this.lastScrollTop=0,this.lastScrollLeft=0,this.lastWheelEvent=0,this.pendingIOSKey=void 0,this.lastIOSMomentumScroll=0,this.tabFocusMode=-1,this.lastSelectionOrigin=null,this.lastSelectionTime=0,this.lastContextMenu=0,this.scrollHandlers=[],this.handlers=Object.create(null),this.composing=-1,this.compositionFirstChange=null,this.compositionEndedAt=0,this.compositionPendingKey=!1,this.compositionPendingChange=!1,this.insertingText="",this.insertingTextAt=0,this.mouseSelection=null,this.draggedContent=null,this.handleEvent=this.handleEvent.bind(this),this.notifiedFocused=e.hasFocus,L.safari&&e.contentDOM.addEventListener("input",()=>null),L.gecko&&$Q(e.contentDOM.ownerDocument)}handleEvent(e){!SQ(this.view,e)||this.ignoreDuringComposition(e)||e.type=="keydown"&&this.keydown(e)||(this.view.updateState!=0?Promise.resolve().then(()=>this.runHandlers(e.type,e)):this.runHandlers(e.type,e))}runHandlers(e,t){let n=this.handlers[e];if(n){for(let r of n.observers)r(this.view,t);for(let r of n.handlers){if(t.defaultPrevented)break;if(r(this.view,t)){t.preventDefault();break}}}}ensureHandlers(e){let t=dQ(e),n=this.handlers,r=this.view.contentDOM;for(let s in t)if(s!="scroll"){let o=!t[s].handlers.length,a=n[s];a&&o!=!a.handlers.length&&(r.removeEventListener(s,this.handleEvent),a=null),a||r.addEventListener(s,this.handleEvent,{passive:o})}for(let s in n)s!="scroll"&&!t[s]&&r.removeEventListener(s,this.handleEvent);this.handlers=t}keydown(e){if(this.lastKeyCode=e.keyCode,this.lastKeyTime=Date.now(),e.keyCode==9&&this.tabFocusMode>-1&&(!this.tabFocusMode||Date.now()<=this.tabFocusMode))return!0;if(this.tabFocusMode>0&&e.keyCode!=27&&Xu.indexOf(e.keyCode)<0&&(this.tabFocusMode=-1),L.android&&L.chrome&&!e.synthetic&&(e.keyCode==13||e.keyCode==8))return this.view.observer.delayAndroidKey(e.key,e.keyCode),!0;if(L.ios&&!e.synthetic&&!e.altKey&&!e.metaKey&&(Cu.some(t=>t.keyCode==e.keyCode)&&!e.ctrlKey||pQ.indexOf(e.key)>-1&&e.ctrlKey)){let t={ctrlKey:e.ctrlKey,altKey:e.altKey,metaKey:e.metaKey,shiftKey:e.shiftKey};return t.shiftKey&&L.ios&&!/^(off|none)$/.test(this.view.contentDOM.autocapitalize)&&OQ(this.view.win)&&(t.shiftKey=!1),this.pendingIOSKey={key:e.key,keyCode:e.keyCode,mods:t},setTimeout(()=>this.flushIOSKey(),250),!0}return e.keyCode!=229&&this.view.observer.forceFlush(),!1}flushIOSKey(e){let t=this.pendingIOSKey;return!t||t.key=="Enter"&&e&&e.from0?!0:L.safari&&!L.ios&&this.compositionPendingKey&&Date.now()-this.compositionEndedAt<100?(this.compositionPendingKey=!1,!0):!1}startMouseSelection(e){this.mouseSelection&&this.mouseSelection.destroy(),this.mouseSelection=e}update(e){this.view.observer.update(e),this.mouseSelection&&this.mouseSelection.update(e),this.draggedContent&&e.docChanged&&(this.draggedContent=this.draggedContent.map(e.changes)),e.transactions.length&&(this.lastKeyCode=this.lastSelectionTime=0)}destroy(){this.mouseSelection&&this.mouseSelection.destroy()}};function OQ(i){return i.visualViewport?i.visualViewport.height*i.visualViewport.scale/i.document.documentElement.clientHeight<.85:!1}function Af(i,e){return(t,n)=>{try{return e.call(i,n,t)}catch(r){ut(t.state,r)}}}function dQ(i){let e=Object.create(null);function t(n){return e[n]||(e[n]={observers:[],handlers:[]})}for(let n of i){let r=n.spec,s=r&&r.plugin.domEventHandlers,o=r&&r.plugin.domEventObservers;if(s)for(let a in s){let l=s[a];l&&t(a).handlers.push(Af(n.value,l))}if(o)for(let a in o){let l=o[a];l&&t(a).observers.push(Af(n.value,l))}}for(let n in kt)t(n).handlers.push(kt[n]);for(let n in We)t(n).observers.push(We[n]);return e}var Cu=[{key:"Backspace",keyCode:8,inputType:"deleteContentBackward"},{key:"Enter",keyCode:13,inputType:"insertParagraph"},{key:"Enter",keyCode:13,inputType:"insertLineBreak"},{key:"Delete",keyCode:46,inputType:"deleteContentForward"}],pQ="dthko",Xu=[16,17,18,20,91,92,224,225],ts=6;function is(i){return Math.max(0,i)*.7+8}function mQ(i,e){return Math.max(Math.abs(i.clientX-e.clientX),Math.abs(i.clientY-e.clientY))}var Ra=class{constructor(e,t,n,r){this.view=e,this.startEvent=t,this.style=n,this.mustSelect=r,this.scrollSpeed={x:0,y:0},this.scrolling=-1,this.lastEvent=t,this.scrollParents=Jf(e.contentDOM),this.atoms=e.state.facet(or).map(o=>o(e));let s=e.contentDOM.ownerDocument;s.addEventListener("mousemove",this.move=this.move.bind(this)),s.addEventListener("mouseup",this.up=this.up.bind(this)),this.extend=t.shiftKey,this.multiple=e.state.facet(se.allowMultipleSelections)&&gQ(e,t),this.dragging=bQ(e,t)&&Au(t)==1?null:!1}start(e){this.dragging===!1&&this.select(e)}move(e){if(e.buttons==0)return this.destroy();if(this.dragging||this.dragging==null&&mQ(this.startEvent,e)<10)return;this.select(this.lastEvent=e);let t=0,n=0,r=0,s=0,o=this.view.win.innerWidth,a=this.view.win.innerHeight;this.scrollParents.x&&({left:r,right:o}=this.scrollParents.x.getBoundingClientRect()),this.scrollParents.y&&({top:s,bottom:a}=this.scrollParents.y.getBoundingClientRect());let l=ku(this.view);e.clientX-l.left<=r+ts?t=-is(r-e.clientX):e.clientX+l.right>=o-ts&&(t=is(e.clientX-o)),e.clientY-l.top<=s+ts?n=-is(s-e.clientY):e.clientY+l.bottom>=a-ts&&(n=is(e.clientY-a)),this.setScrollSpeed(t,n)}up(e){this.dragging==null&&this.select(this.lastEvent),this.dragging||e.preventDefault(),this.destroy()}destroy(){this.setScrollSpeed(0,0);let e=this.view.contentDOM.ownerDocument;e.removeEventListener("mousemove",this.move),e.removeEventListener("mouseup",this.up),this.view.inputState.mouseSelection=this.view.inputState.draggedContent=null}setScrollSpeed(e,t){this.scrollSpeed={x:e,y:t},e||t?this.scrolling<0&&(this.scrolling=setInterval(()=>this.scroll(),50)):this.scrolling>-1&&(clearInterval(this.scrolling),this.scrolling=-1)}scroll(){let{x:e,y:t}=this.scrollSpeed;e&&this.scrollParents.x&&(this.scrollParents.x.scrollLeft+=e,e=0),t&&this.scrollParents.y&&(this.scrollParents.y.scrollTop+=t,t=0),(e||t)&&this.view.win.scrollBy(e,t),this.dragging===!1&&this.select(this.lastEvent)}select(e){let{view:t}=this,n=Pu(this.atoms,this.style.get(e,this.extend,this.multiple));(this.mustSelect||!n.eq(t.state.selection,this.dragging===!1))&&this.view.dispatch({selection:n,userEvent:"select.pointer"}),this.mustSelect=!1}update(e){e.transactions.some(t=>t.isUserEvent("input.type"))?this.destroy():this.style.update(e)&&setTimeout(()=>this.select(this.lastEvent),20)}};function gQ(i,e){let t=i.state.facet(cu);return t.length?t[0](e):L.mac?e.metaKey:e.ctrlKey}function QQ(i,e){let t=i.state.facet(hu);return t.length?t[0](e):L.mac?!e.altKey:!e.ctrlKey}function bQ(i,e){let{main:t}=i.state.selection;if(t.empty)return!1;let n=rr(i.root);if(!n||n.rangeCount==0)return!0;let r=n.getRangeAt(0).getClientRects();for(let s=0;s=e.clientX&&o.top<=e.clientY&&o.bottom>=e.clientY)return!0}return!1}function SQ(i,e){if(!e.bubbles)return!0;if(e.defaultPrevented)return!1;for(let t=e.target,n;t!=i.contentDOM;t=t.parentNode)if(!t||t.nodeType==11||(n=ue.get(t))&&n.isWidget()&&!n.isHidden&&n.widget.ignoreEvent(e))return!1;return!0}var kt=Object.create(null),We=Object.create(null),_u=L.ie&&L.ie_version<15||L.ios&&L.webkit_version<604;function yQ(i){let e=i.dom.parentNode;if(!e)return;let t=e.appendChild(document.createElement("textarea"));t.style.cssText="position: fixed; left: -10000px; top: 10px",t.focus(),setTimeout(()=>{i.focus(),t.remove(),Ru(i,t.value)},50)}function xs(i,e,t){for(let n of i.facet(e))t=n(t,i);return t}function Ru(i,e){e=xs(i.state,Fa,e);let{state:t}=i,n,r=1,s=t.toText(e),o=s.lines==t.selection.ranges.length;if(Aa!=null&&t.selection.ranges.every(l=>l.empty)&&Aa==s.toString()){let l=-1;n=t.changeByRange(c=>{let h=t.doc.lineAt(c.from);if(h.from==l)return{range:c};l=h.from;let f=t.toText((o?s.line(r++).text:e)+t.lineBreak);return{changes:{from:h.from,insert:f},range:v.cursor(c.from+f.length)}})}else o?n=t.changeByRange(l=>{let c=s.line(r++);return{changes:{from:l.from,to:l.to,insert:c.text},range:v.cursor(l.from+c.length)}}):n=t.replaceSelection(s);i.dispatch(n,{userEvent:"input.paste",scrollIntoView:!0})}We.scroll=i=>{let e=i.inputState;e.lastScrollTop=i.scrollDOM.scrollTop,e.lastScrollLeft=i.scrollDOM.scrollLeft,L.ios&&!e.touchActive&&(e.lastIOSMomentumScroll=Date.now())};We.wheel=We.mousewheel=i=>{i.inputState.lastWheelEvent=Date.now()};kt.keydown=(i,e)=>(i.inputState.setSelectionOrigin("select"),e.keyCode==27&&i.inputState.tabFocusMode!=0&&(i.inputState.tabFocusMode=Date.now()+2e3),!1);We.touchstart=(i,e)=>{let t=i.inputState,n=e.targetTouches[0];t.touchActive=!0,t.lastTouchTime=Date.now(),n&&(t.lastTouchX=n.clientX,t.lastTouchY=n.clientY),t.setSelectionOrigin("select.pointer")};We.touchmove=i=>{i.inputState.setSelectionOrigin("select.pointer")};We.touchend=(i,e)=>{i.inputState.touchActive=!1};kt.mousedown=(i,e)=>{if(i.observer.flush(),i.inputState.lastTouchTime>Date.now()-2e3)return!1;let t=null;for(let n of i.state.facet(fu))if(t=n(i,e),t)break;if(!t&&e.button==0&&(t=xQ(i,e)),t){let n=!i.hasFocus;i.inputState.startMouseSelection(new Ra(i,e,t,n)),n&&i.observer.ignore(()=>{eu(i.contentDOM);let s=i.root.activeElement;s&&!s.contains(i.contentDOM)&&s.blur()});let r=i.inputState.mouseSelection;if(r)return r.start(e),r.dragging===!1}else i.inputState.setSelectionOrigin("select.pointer");return!1};function Zf(i,e,t,n){if(n==1)return v.cursor(e,t);if(n==2)return iQ(i.state,e,t);{let r=i.docView.lineAt(e,t),s=i.state.doc.lineAt(r?r.posAtEnd:e),o=r?r.posAtStart:s.from,a=r?r.posAtEnd:s.to;return aDate.now()-400&&Math.abs(e.clientX-i.clientX)<2&&Math.abs(e.clientY-i.clientY)<2?(qf+1)%3:1}function xQ(i,e){let t=i.posAndSideAtCoords({x:e.clientX,y:e.clientY},!1),n=Au(e),r=i.state.selection;return{update(s){s.docChanged&&(t.pos=s.changes.mapPos(t.pos),r=r.map(s.changes))},get(s,o,a){let l=i.posAndSideAtCoords({x:s.clientX,y:s.clientY},!1),c,h=Zf(i,l.pos,l.assoc,n);if(t.pos!=l.pos&&!o){let f=Zf(i,t.pos,t.assoc,n),u=Math.min(f.from,h.from),O=Math.max(f.to,h.to);h=u1&&(c=wQ(r,l.pos))?c:a?r.addRange(h):v.create([h])}}}function wQ(i,e){for(let t=0;t=e)return v.create(i.ranges.slice(0,t).concat(i.ranges.slice(t+1)),i.mainIndex==t?0:i.mainIndex-(i.mainIndex>t?1:0))}return null}kt.dragstart=(i,e)=>{let{selection:{main:t}}=i.state;if(e.target.draggable){let r=i.docView.tile.nearest(e.target);if(r&&r.isWidget()){let s=r.posAtStart,o=s+r.length;(s>=t.to||o<=t.from)&&(t=v.undirectionalRange(s,o))}}let{inputState:n}=i;return n.mouseSelection&&(n.mouseSelection.dragging=!0),n.draggedContent=t,e.dataTransfer&&(e.dataTransfer.setData("Text",xs(i.state,Ha,i.state.sliceDoc(t.from,t.to))),e.dataTransfer.effectAllowed="copyMove"),!1};kt.dragend=i=>(i.inputState.draggedContent=null,!1);function Lf(i,e,t,n){if(t=xs(i.state,Fa,t),!t)return;let r=i.posAtCoords({x:e.clientX,y:e.clientY},!1),{draggedContent:s}=i.inputState,o=n&&s&&QQ(i,e)?{from:s.from,to:s.to}:null,a={from:r,insert:t},l=i.state.changes(o?[o,a]:a);i.focus(),i.dispatch({changes:l,selection:{anchor:l.mapPos(r,-1),head:l.mapPos(r,1)},userEvent:o?"move.drop":"input.drop"}),i.inputState.draggedContent=null}kt.drop=(i,e)=>{if(!e.dataTransfer)return!1;if(i.state.readOnly)return!0;let t=e.dataTransfer.files;if(t&&t.length){let n=Array(t.length),r=0,s=()=>{++r==t.length&&Lf(i,e,n.filter(o=>o!=null).join(i.state.lineBreak),!1)};for(let o=0;o{/[\x00-\x08\x0e-\x1f]{2}/.test(a.result)||(n[o]=a.result),s()},a.readAsText(t[o])}return!0}else{let n=e.dataTransfer.getData("Text");if(n)return Lf(i,e,n,!0),!0}return!1};kt.paste=(i,e)=>{if(i.state.readOnly)return!0;i.observer.flush();let t=_u?null:e.clipboardData;return t?(Ru(i,t.getData("text/plain")||t.getData("text/uri-list")),!0):(yQ(i),!1)};function PQ(i,e){let t=i.dom.parentNode;if(!t)return;let n=t.appendChild(document.createElement("textarea"));n.style.cssText="position: fixed; left: -10000px; top: 10px",n.value=e,n.focus(),n.selectionEnd=e.length,n.selectionStart=0,setTimeout(()=>{n.remove(),i.focus()},50)}function vQ(i){let e=[],t=[],n=!1;for(let r of i.selection.ranges)r.empty||(e.push(i.sliceDoc(r.from,r.to)),t.push(r));if(!e.length){let r=-1;for(let{from:s}of i.selection.ranges){let o=i.doc.lineAt(s);o.number>r&&(e.push(o.text),t.push({from:o.from,to:Math.min(i.doc.length,o.to+1)})),r=o.number}n=!0}return{text:xs(i,Ha,e.join(i.lineBreak)),ranges:t,linewise:n}}var Aa=null;kt.copy=kt.cut=(i,e)=>{if(!Nn(i.contentDOM,i.observer.selectionRange))return!1;let{text:t,ranges:n,linewise:r}=vQ(i.state);if(!t&&!r)return!1;Aa=r?t:null,e.type=="cut"&&!i.state.readOnly&&i.dispatch({changes:n,scrollIntoView:!0,userEvent:"delete.cut"});let s=_u?null:e.clipboardData;return s?(s.clearData(),s.setData("text/plain",t),!0):(PQ(i,t),!1)};var Zu=Te.define();function Eu(i,e){let t=[];for(let n of i.facet(du)){let r=n(i,e);r&&t.push(r)}return t.length?i.update({effects:t,annotations:Zu.of(!0)}):null}function qu(i){setTimeout(()=>{let e=i.hasFocus;if(e!=i.inputState.notifiedFocused){let t=Eu(i.state,e);t?i.dispatch(t):i.update([])}},10)}We.focus=i=>{i.inputState.lastFocusTime=Date.now(),!i.scrollDOM.scrollTop&&(i.inputState.lastScrollTop||i.inputState.lastScrollLeft)&&(i.scrollDOM.scrollTop=i.inputState.lastScrollTop,i.scrollDOM.scrollLeft=i.inputState.lastScrollLeft),qu(i)};We.blur=i=>{i.observer.clearSelectionRange(),qu(i)};We.compositionstart=We.compositionupdate=i=>{i.observer.editContext||(i.inputState.compositionFirstChange==null&&(i.inputState.compositionFirstChange=!0),i.inputState.composing<0&&(i.inputState.composing=0))};We.compositionend=i=>{i.observer.editContext||(i.inputState.composing=-1,i.inputState.compositionEndedAt=Date.now(),i.inputState.compositionPendingKey=!0,i.inputState.compositionPendingChange=i.observer.pendingRecords().length>0,i.inputState.compositionFirstChange=null,L.chrome&&L.android?i.observer.flushSoon():i.inputState.compositionPendingChange?Promise.resolve().then(()=>i.observer.flush()):setTimeout(()=>{i.inputState.composing<0&&i.docView.hasComposition&&i.update([])},50))};We.contextmenu=i=>{i.inputState.lastContextMenu=Date.now()};kt.beforeinput=(i,e)=>{var t,n;if((e.inputType=="insertText"||e.inputType=="insertCompositionText")&&(i.inputState.insertingText=e.data,i.inputState.insertingTextAt=Date.now()),e.inputType=="insertReplacementText"&&i.observer.editContext){let s=(t=e.dataTransfer)===null||t===void 0?void 0:t.getData("text/plain"),o=e.getTargetRanges();if(s&&o.length){let a=o[0],l=i.posAtDOM(a.startContainer,a.startOffset),c=i.posAtDOM(a.endContainer,a.endOffset);return el(i,{from:l,to:c,insert:i.state.toText(s)},null),!0}}let r;if(L.chrome&&L.android&&(r=Cu.find(s=>s.inputType==e.inputType))&&(i.observer.delayAndroidKey(r.key,r.keyCode),r.key=="Backspace"||r.key=="Delete")){let s=((n=window.visualViewport)===null||n===void 0?void 0:n.height)||0;setTimeout(()=>{var o;(((o=window.visualViewport)===null||o===void 0?void 0:o.height)||0)>s+10&&i.hasFocus&&(i.contentDOM.blur(),i.focus())},100)}return L.ios&&e.inputType=="deleteContentForward"&&i.observer.flushSoon(),L.safari&&e.inputType=="insertText"&&i.inputState.composing>=0&&setTimeout(()=>We.compositionend(i,e),20),!1};var Mf=new Set;function $Q(i){Mf.has(i)||(Mf.add(i),i.addEventListener("copy",()=>{}),i.addEventListener("cut",()=>{}))}var Wf=["pre-wrap","normal","pre-line","break-spaces"],Qn=!1;function jf(){Qn=!1}var Za=class{constructor(e){this.lineWrapping=e,this.doc=J.empty,this.heightSamples={},this.lineHeight=14,this.charWidth=7,this.textHeight=14,this.lineLength=30}heightForGap(e,t){let n=this.doc.lineAt(t).number-this.doc.lineAt(e).number+1;return this.lineWrapping&&(n+=Math.max(0,Math.ceil((t-e-n*this.lineLength*.5)/this.lineLength))),this.lineHeight*n}heightForLine(e){return this.lineWrapping?(1+Math.max(0,Math.ceil((e-this.lineLength)/Math.max(1,this.lineLength-5))))*this.lineHeight:this.lineHeight}setDoc(e){return this.doc=e,this}mustRefreshForWrapping(e){return Wf.indexOf(e)>-1!=this.lineWrapping}mustRefreshForHeights(e){let t=!1;for(let n=0;n-1,l=Math.abs(t-this.lineHeight)>.3||this.lineWrapping!=a;if(this.lineWrapping=a,this.lineHeight=t,this.charWidth=n,this.textHeight=r,this.lineLength=s,l){this.heightSamples={};for(let c=0;c0}set outdated(e){this.flags=(e?2:0)|this.flags&-3}setHeight(e){this.height!=e&&(Math.abs(this.height-e)>ls&&(Qn=!0),this.height=e)}replace(e,t,n){return i.of(n)}decomposeLeft(e,t){t.push(this)}decomposeRight(e,t){t.push(this)}applyChanges(e,t,n,r){let s=this,o=n.doc;for(let a=r.length-1;a>=0;a--){let{fromA:l,toA:c,fromB:h,toB:f}=r[a],u=s.lineAt(l,ce.ByPosNoHeight,n.setDoc(t),0,0),O=u.to>=c?u:s.lineAt(c,ce.ByPosNoHeight,n,0,0);for(f+=O.to-c,c=O.to;a>0&&u.from<=r[a-1].toA;)l=r[a-1].fromA,h=r[a-1].fromB,a--,ls*2){let a=e[t-1];a.break?e.splice(--t,1,a.left,null,a.right):e.splice(--t,1,a.left,a.right),n+=1+a.break,r-=a.size}else if(s>r*2){let a=e[n];a.break?e.splice(n,1,a.left,null,a.right):e.splice(n,1,a.left,a.right),n+=2+a.break,s-=a.size}else break;else if(r=s&&o(this.lineAt(0,ce.ByPos,n,r,s))}setMeasuredHeight(e){let t=e.heights[e.index++];t<0?(this.spaceAbove=-t,t=e.heights[e.index++]):this.spaceAbove=0,this.setHeight(t)}updateHeight(e,t=0,n=!1,r){return r&&r.from<=t&&r.more&&this.setMeasuredHeight(r),this.outdated=!1,this}toString(){return`block(${this.length})`}},ct=class i extends Qs{constructor(e,t,n){super(e,t,null),this.collapsed=0,this.widgetHeight=0,this.breaks=0,this.spaceAbove=n}mainBlock(e,t){return new St(t,this.length,e+this.spaceAbove,this.height-this.spaceAbove,this.breaks)}replace(e,t,n){let r=n[0];return n.length==1&&(r instanceof i||r instanceof li&&r.flags&4)&&Math.abs(this.length-r.length)<10?(r instanceof li?r=new i(r.length,this.height,this.spaceAbove):r.height=this.height,this.outdated||(r.outdated=!1),r):Je.of(n)}updateHeight(e,t=0,n=!1,r){return r&&r.from<=t&&r.more?this.setMeasuredHeight(r):(n||this.outdated)&&(this.spaceAbove=0,this.setHeight(Math.max(this.widgetHeight,e.heightForLine(this.length-this.collapsed))+this.breaks*e.lineHeight)),this.outdated=!1,this}toString(){return`line(${this.length}${this.collapsed?-this.collapsed:""}${this.widgetHeight?":"+this.widgetHeight:""})`}},li=class i extends Je{constructor(e){super(e,0)}heightMetrics(e,t){let n=e.doc.lineAt(t).number,r=e.doc.lineAt(t+this.length).number,s=r-n+1,o,a=0;if(e.lineWrapping){let l=Math.min(this.height,e.lineHeight*s);o=l/s,this.length>s+1&&(a=(this.height-l)/(this.length-s-1))}else o=this.height/s;return{firstLine:n,lastLine:r,perLine:o,perChar:a}}blockAt(e,t,n,r){let{firstLine:s,lastLine:o,perLine:a,perChar:l}=this.heightMetrics(t,r);if(t.lineWrapping){let c=r+(e0){let s=n[n.length-1];s instanceof i?n[n.length-1]=new i(s.length+r):n.push(null,new i(r-1))}if(e>0){let s=n[0];s instanceof i?n[0]=new i(e+s.length):n.unshift(new i(e-1),null)}return Je.of(n)}decomposeLeft(e,t){t.push(new i(e-1),null)}decomposeRight(e,t){t.push(null,new i(this.length-e-1))}updateHeight(e,t=0,n=!1,r){let s=t+this.length;if(r&&r.from<=t+this.length&&r.more){let o=[],a=Math.max(t,r.from),l=-1;for(r.from>t&&o.push(new i(r.from-t-1).updateHeight(e,t));a<=s&&r.more;){let h=e.doc.lineAt(a).length;o.length&&o.push(null);let f=r.heights[r.index++],u=0;f<0&&(u=-f,f=r.heights[r.index++]),l==-1?l=f:Math.abs(f-l)>=ls&&(l=-2);let O=new ct(h,f,u);O.outdated=!1,o.push(O),a+=h+1}a<=s&&o.push(null,new i(s-a).updateHeight(e,a));let c=Je.of(o);return(l<0||Math.abs(c.height-this.height)>=ls||Math.abs(l-this.heightMetrics(e,t).perLine)>=ls)&&(Qn=!0),gs(this,c)}else(n||this.outdated)&&(this.setHeight(e.heightForGap(t,t+this.length)),this.outdated=!1);return this}toString(){return`gap(${this.length})`}},qa=class extends Je{constructor(e,t,n){super(e.length+t+n.length,e.height+n.height,t|(e.outdated||n.outdated?2:0)),this.left=e,this.right=n,this.size=e.size+n.size}get break(){return this.flags&1}blockAt(e,t,n,r){let s=n+this.left.height;return ea))return c;let h=t==ce.ByPosNoHeight?ce.ByPosNoHeight:ce.ByPos;return l?c.join(this.right.lineAt(a,h,n,o,a)):this.left.lineAt(a,h,n,r,s).join(c)}forEachLine(e,t,n,r,s,o){let a=r+this.left.height,l=s+this.left.length+this.break;if(this.break)e=l&&this.right.forEachLine(e,t,n,a,l,o);else{let c=this.lineAt(l,ce.ByPos,n,r,s);e=e&&c.from<=t&&o(c),t>c.to&&this.right.forEachLine(c.to+1,t,n,a,l,o)}}replace(e,t,n){let r=this.left.length+this.break;if(tthis.left.length)return this.balanced(this.left,this.right.replace(e-r,t-r,n));let s=[];e>0&&this.decomposeLeft(e,s);let o=s.length;for(let a of n)s.push(a);if(e>0&&Vf(s,o-1),t=n&&t.push(null)),e>n&&this.right.decomposeLeft(e-n,t)}decomposeRight(e,t){let n=this.left.length,r=n+this.break;if(e>=r)return this.right.decomposeRight(e-r,t);e2*t.size||t.size>2*e.size?Je.of(this.break?[e,null,t]:[e,t]):(this.left=gs(this.left,e),this.right=gs(this.right,t),this.setHeight(e.height+t.height),this.outdated=e.outdated||t.outdated,this.size=e.size+t.size,this.length=e.length+this.break+t.length,this)}updateHeight(e,t=0,n=!1,r){let{left:s,right:o}=this,a=t+s.length+this.break,l=null;return r&&r.from<=t+s.length&&r.more?l=s=s.updateHeight(e,t,n,r):s.updateHeight(e,t,n),r&&r.from<=a+o.length&&r.more?l=o=o.updateHeight(e,a,n,r):o.updateHeight(e,a,n),l?this.balanced(s,o):(this.height=this.left.height+this.right.height,this.outdated=!1,this)}toString(){return this.left+(this.break?" ":"-")+this.right}};function Vf(i,e){let t,n;i[e]==null&&(t=i[e-1])instanceof li&&(n=i[e+1])instanceof li&&i.splice(e-1,3,new li(t.length+1+n.length))}var CQ=5,za=class i{constructor(e,t){this.pos=e,this.oracle=t,this.nodes=[],this.lineStart=-1,this.lineEnd=-1,this.covering=null,this.writtenTo=e}get isCovered(){return this.covering&&this.nodes[this.nodes.length-1]==this.covering}span(e,t){if(this.lineStart>-1){let n=Math.min(t,this.lineEnd),r=this.nodes[this.nodes.length-1];r instanceof ct?r.length+=n-this.pos:(n>this.pos||!this.isCovered)&&this.nodes.push(new ct(n-this.pos,-1,0)),this.writtenTo=n,t>n&&(this.nodes.push(null),this.writtenTo++,this.lineStart=-1)}this.pos=t}point(e,t,n){if(e=CQ)&&this.addLineDeco(r,s,o)}else t>e&&this.span(e,t);this.lineEnd>-1&&this.lineEnd-1)return;let{from:e,to:t}=this.oracle.doc.lineAt(this.pos);this.lineStart=e,this.lineEnd=t,this.writtenToe&&this.nodes.push(new ct(this.pos-e,-1,0)),this.writtenTo=this.pos}blankContent(e,t){let n=new li(t-e);return this.oracle.doc.lineAt(e).to==t&&(n.flags|=4),n}ensureLine(){this.enterLine();let e=this.nodes.length?this.nodes[this.nodes.length-1]:null;if(e instanceof ct)return e;let t=new ct(0,-1,0);return this.nodes.push(t),t}addBlock(e){this.enterLine();let t=e.deco;t&&t.startSide>0&&!this.isCovered&&this.ensureLine(),this.nodes.push(e),this.writtenTo=this.pos=this.pos+e.length,t&&t.endSide>0&&(this.covering=e)}addLineDeco(e,t,n){let r=this.ensureLine();r.length+=n,r.collapsed+=n,r.widgetHeight=Math.max(r.widgetHeight,e),r.breaks+=t,this.writtenTo=this.pos=this.pos+n}finish(e){let t=this.nodes.length==0?null:this.nodes[this.nodes.length-1];this.lineStart>-1&&!(t instanceof ct)&&!this.isCovered?this.nodes.push(new ct(0,-1,0)):(this.writtenToh.clientHeight||h.scrollWidth>h.clientWidth)&&f.overflow!="visible"){let u=h.getBoundingClientRect();s=Math.max(s,u.left),o=Math.min(o,u.right),a=Math.max(a,u.top),l=Math.min(c==i.parentNode?r.innerHeight:l,u.bottom)}c=f.position=="absolute"||f.position=="fixed"?h.offsetParent:h.parentNode}else if(c.nodeType==11)c=c.host;else break;return{left:s-t.left,right:Math.max(s,o)-t.left,top:a-(t.top+e),bottom:Math.max(a,l)-(t.top+e)}}function RQ(i){let e=i.getBoundingClientRect(),t=i.ownerDocument.defaultView||window;return e.left0&&e.top0}function AQ(i,e){let t=i.getBoundingClientRect();return{left:0,right:t.right-t.left,top:e,bottom:t.bottom-(t.top+e)}}var tr=class{constructor(e,t,n,r){this.from=e,this.to=t,this.size=n,this.displaySize=r}static same(e,t){if(e.length!=t.length)return!1;for(let n=0;ntypeof r!="function"&&r.class=="cm-lineWrapping");this.heightOracle=new Za(n),this.stateDeco=Yf(t),this.heightMap=Je.empty().applyChanges(this.stateDeco,J.empty,this.heightOracle.setDoc(t.doc),[new yt(0,0,0,t.doc.length)]);for(let r=0;r<2&&(this.viewport=this.getViewport(0,null),!!this.updateForViewport());r++);this.updateViewportLines(),this.lineGaps=this.ensureLineGaps([]),this.lineGapDeco=R.set(this.lineGaps.map(r=>r.draw(this,!1))),this.scrollParent=e.scrollDOM,this.computeVisibleRanges()}updateForViewport(){let e=[this.viewport],{main:t}=this.state.selection;for(let n=0;n<=1;n++){let r=n?t.head:t.anchor;if(!e.some(({from:s,to:o})=>r>=s&&r<=o)){let{from:s,to:o}=this.lineBlockAt(r);e.push(new fn(s,o))}}return this.viewports=e.sort((n,r)=>n.from-r.from),this.updateScaler()}updateScaler(){let e=this.scaler;return this.scaler=this.heightMap.height<=7e6?Df:new Wa(this.heightOracle,this.heightMap,this.viewports),e.eq(this.scaler)?0:2}updateViewportLines(){this.viewportLines=[],this.heightMap.forEachLine(this.viewport.from,this.viewport.to,this.heightOracle.setDoc(this.state.doc),0,0,e=>{this.viewportLines.push(Un(e,this.scaler))})}update(e,t=null){this.state=e.state;let n=this.stateDeco;this.stateDeco=Yf(this.state);let r=e.changedRanges,s=yt.extendWithRanges(r,XQ(n,this.stateDeco,e?e.changes:Le.empty(this.state.doc.length))),o=this.heightMap.height,a=this.scrolledToBottom?null:this.scrollAnchorAt(this.scrollOffset);jf(),this.heightMap=this.heightMap.applyChanges(this.stateDeco,e.startState.doc,this.heightOracle.setDoc(this.state.doc),s),(this.heightMap.height!=o||Qn)&&(e.flags|=2),a?(this.scrollAnchorPos=e.changes.mapPos(a.from,-1),this.scrollAnchorHeight=a.top):(this.scrollAnchorPos=-1,this.scrollAnchorHeight=o);let l=s.length?this.mapViewport(this.viewport,e.changes):this.viewport;(t&&(t.range.headl.to)||!this.viewportIsAppropriate(l))&&(l=this.getViewport(0,t));let c=l.from!=this.viewport.from||l.to!=this.viewport.to;this.viewport=l,e.flags|=this.updateForViewport(),(c||!e.changes.empty||e.flags&2)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(this.mapLineGaps(this.lineGaps,e.changes))),e.flags|=this.computeVisibleRanges(e.changes),t&&(this.scrollTarget=t),!this.mustEnforceCursorAssoc&&(e.selectionSet||e.focusChanged)&&e.view.lineWrapping&&e.state.selection.main.empty&&e.state.selection.main.assoc&&!e.state.facet(W0)&&(this.mustEnforceCursorAssoc=!0)}measure(){let{view:e}=this,t=e.contentDOM,n=window.getComputedStyle(t),r=this.heightOracle,s=n.whiteSpace;this.defaultTextDirection=n.direction=="rtl"?Oe.RTL:Oe.LTR;let o=this.heightOracle.mustRefreshForWrapping(s)||this.mustMeasureContent==="refresh",a=t.getBoundingClientRect(),l=o||this.mustMeasureContent||this.contentDOMHeight!=a.height;this.contentDOMHeight=a.height,this.mustMeasureContent=!1;let c=0,h=0;if(a.width&&a.height){let{scaleX:P,scaleY:$}=Kf(t,a);(P>.005&&Math.abs(this.scaleX-P)>.005||$>.005&&Math.abs(this.scaleY-$)>.005)&&(this.scaleX=P,this.scaleY=$,c|=16,o=l=!0)}let f=(parseInt(n.paddingTop)||0)*this.scaleY,u=(parseInt(n.paddingBottom)||0)*this.scaleY;(this.paddingTop!=f||this.paddingBottom!=u)&&(this.paddingTop=f,this.paddingBottom=u,c|=18),this.editorWidth!=e.scrollDOM.clientWidth&&(r.lineWrapping&&(l=!0),this.editorWidth=e.scrollDOM.clientWidth,c|=16);let O=Jf(this.view.contentDOM,!1).y;O!=this.scrollParent&&(this.scrollParent=O,this.scrollAnchorHeight=-1,this.scrollOffset=0);let m=this.getScrollOffset();this.scrollOffset!=m&&(this.scrollAnchorHeight=-1,this.scrollOffset=m),this.scrolledToBottom=tu(this.scrollParent||e.win);let p=(this.printing?AQ:_Q)(t,this.paddingTop),b=p.top-this.pixelViewport.top,g=p.bottom-this.pixelViewport.bottom;this.pixelViewport=p;let Q=this.pixelViewport.bottom>this.pixelViewport.top&&this.pixelViewport.right>this.pixelViewport.left;if(Q!=this.inView&&(this.inView=Q,Q&&(l=!0)),!this.inView&&!this.scrollTarget&&!RQ(e.dom))return 0;let S=a.width;if((this.contentDOMWidth!=S||this.editorHeight!=e.scrollDOM.clientHeight)&&(this.contentDOMWidth=a.width,this.editorHeight=e.scrollDOM.clientHeight,c|=16),l){let P=e.docView.measureVisibleLineHeights(this.viewport);if(r.mustRefreshForHeights(P)&&(o=!0),o||r.lineWrapping&&Math.abs(S-this.contentDOMWidth)>r.charWidth){let{lineHeight:$,charWidth:Z,textHeight:_}=e.docView.measureTextSize();o=$>0&&r.refresh(s,$,Z,_,Math.max(5,S/Z),P),o&&(e.docView.minWidth=0,c|=16)}b>0&&g>0?h=Math.max(b,g):b<0&&g<0&&(h=Math.min(b,g)),jf();for(let $ of this.viewports){let Z=$.from==this.viewport.from?P:e.docView.measureVisibleLineHeights($);this.heightMap=(o?Je.empty().applyChanges(this.stateDeco,J.empty,this.heightOracle,[new yt(0,0,0,e.state.doc.length)]):this.heightMap).updateHeight(r,0,o,new Ea($.from,Z))}Qn&&(c|=2)}let x=!this.viewportIsAppropriate(this.viewport,h)||this.scrollTarget&&(this.scrollTarget.range.headthis.viewport.to);return x&&(c&2&&(c|=this.updateScaler()),this.viewport=this.getViewport(h,this.scrollTarget),c|=this.updateForViewport()),(c&2||x)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(o?[]:this.lineGaps,e)),c|=this.computeVisibleRanges(),this.mustEnforceCursorAssoc&&(this.mustEnforceCursorAssoc=!1,e.docView.enforceCursorAssoc()),c}get visibleTop(){return this.scaler.fromDOM(this.pixelViewport.top)}get visibleBottom(){return this.scaler.fromDOM(this.pixelViewport.bottom)}getViewport(e,t){let n=.5-Math.max(-.5,Math.min(.5,e/1e3/2)),r=this.heightMap,s=this.heightOracle,{visibleTop:o,visibleBottom:a}=this,l=new fn(r.lineAt(o-n*1e3,ce.ByHeight,s,0,0).from,r.lineAt(a+(1-n)*1e3,ce.ByHeight,s,0,0).to);if(t){let{head:c}=t.range;if(cl.to){let h=Math.min(this.editorHeight,this.pixelViewport.bottom-this.pixelViewport.top),f=r.lineAt(c,ce.ByPos,s,0,0),u;t.y=="center"?u=(f.top+f.bottom)/2-h/2:t.y=="start"||t.y=="nearest"&&c=a+Math.max(10,Math.min(n,250)))&&r>o-2*1e3&&s>1,o=r<<1;if(this.defaultTextDirection!=Oe.LTR&&!n)return[];let a=[],l=(h,f,u,O)=>{if(f-hh&&gg.from>=u.from&&g.to<=u.to&&Math.abs(g.from-h)g.fromQ));if(!b){if(fS.from<=f&&S.to>=f)){let S=t.moveToLineBoundary(v.cursor(f),!1,!0).head;S>h&&(f=S)}let g=this.gapSize(u,h,f,O),Q=n||g<2e6?g:2e6;b=new tr(h,f,g,Q)}a.push(b)},c=h=>{if(h.length2e6)for(let $ of e)$.from>=h.from&&$.fromh.from&&l(h.from,O,h,f),mt.draw(this,this.heightOracle.lineWrapping))))}computeVisibleRanges(e){let t=this.stateDeco;this.lineGaps.length&&(t=t.concat(this.lineGapDeco));let n=[];le.spans(t,this.viewport.from,this.viewport.to,{span(s,o){n.push({from:s,to:o})},point(){}},20);let r=0;if(n.length!=this.visibleRanges.length)r=12;else for(let s=0;s=this.viewport.from&&e<=this.viewport.to&&this.viewportLines.find(t=>t.from<=e&&t.to>=e)||Un(this.heightMap.lineAt(e,ce.ByPos,this.heightOracle,0,0),this.scaler)}lineBlockAtHeight(e){return e>=this.viewportLines[0].top&&e<=this.viewportLines[this.viewportLines.length-1].bottom&&this.viewportLines.find(t=>t.top<=e&&t.bottom>=e)||Un(this.heightMap.lineAt(this.scaler.fromDOM(e),ce.ByHeight,this.heightOracle,0,0),this.scaler)}getScrollOffset(){return(this.scrollParent==this.view.scrollDOM?this.scrollParent.scrollTop:(this.scrollParent?this.scrollParent.getBoundingClientRect().top:0)-this.view.contentDOM.getBoundingClientRect().top)*this.scaleY}scrollAnchorAt(e){let t=this.lineBlockAtHeight(e+8);return t.from>=this.viewport.from||this.viewportLines[0].top-e>200?t:this.viewportLines[0]}elementAtHeight(e){return Un(this.heightMap.blockAt(this.scaler.fromDOM(e),this.heightOracle,0,0),this.scaler)}get docHeight(){return this.scaler.toDOM(this.heightMap.height)}get contentHeight(){return this.docHeight+this.paddingTop+this.paddingBottom}},fn=class{constructor(e,t){this.from=e,this.to=t}};function ZQ(i,e,t){let n=[],r=i,s=0;return le.spans(t,i,e,{span(){},point(o,a){o>r&&(n.push({from:r,to:o}),s+=o-r),r=a}},20),r=1)return e[e.length-1].to;let n=Math.floor(i*t);for(let r=0;;r++){let{from:s,to:o}=e[r],a=o-s;if(n<=a)return s+n;n-=a}}function rs(i,e){let t=0;for(let{from:n,to:r}of i.ranges){if(e<=r){t+=e-n;break}t+=r-n}return t/i.total}function EQ(i,e){for(let t of i)if(e(t))return t}var Df={toDOM(i){return i},fromDOM(i){return i},scale:1,eq(i){return i==this}};function Yf(i){let e=i.facet(ks).filter(n=>typeof n!="function"),t=i.facet(Ja).filter(n=>typeof n!="function");return t.length&&e.push(le.join(t)),e}var Wa=class i{constructor(e,t,n){let r=0,s=0,o=0;this.viewports=n.map(({from:a,to:l})=>{let c=t.lineAt(a,ce.ByPos,e,0,0).top,h=t.lineAt(l,ce.ByPos,e,0,0).bottom;return r+=h-c,{from:a,to:l,top:c,bottom:h,domTop:0,domBottom:0}}),this.scale=(7e6-r)/(t.height-r);for(let a of this.viewports)a.domTop=o+(a.top-s)*this.scale,o=a.domBottom=a.domTop+(a.bottom-a.top),s=a.bottom}toDOM(e){for(let t=0,n=0,r=0;;t++){let s=tt.from==e.viewports[n].from&&t.to==e.viewports[n].to):!1}};function Un(i,e){if(e.scale==1)return i;let t=e.toDOM(i.top),n=e.toDOM(i.bottom);return new St(i.from,i.length,t,n-t,Array.isArray(i._content)?i._content.map(r=>Un(r,e)):i._content)}var ss=Y.define({combine:i=>i.join(" ")}),ja=Y.define({combine:i=>i.indexOf(!0)>-1}),Va=lt.newName(),zu=lt.newName(),Lu=lt.newName(),Mu={"&light":"."+zu,"&dark":"."+Lu};function Da(i,e,t){return new lt(e,{finish(n){return/&/.test(n)?n.replace(/&\w*/,r=>{if(r=="&")return i;if(!t||!t[r])throw new RangeError(`Unsupported selector: ${r}`);return t[r]}):i+" "+n}})}var qQ=Da("."+Va,{"&":{position:"relative !important",boxSizing:"border-box","&.cm-focused":{outline:"1px dotted #212121"},display:"flex !important",flexDirection:"column"},".cm-scroller":{display:"flex !important",alignItems:"flex-start !important",fontFamily:"monospace",lineHeight:1.4,height:"100%",overflowX:"auto",position:"relative",zIndex:0,overflowAnchor:"none"},".cm-content":{margin:0,flexGrow:2,flexShrink:0,display:"block",whiteSpace:"pre",wordWrap:"normal",boxSizing:"border-box",minHeight:"100%",padding:"4px 0",outline:"none","&[contenteditable=true]":{WebkitUserModify:"read-write-plaintext-only"}},".cm-lineWrapping":{whiteSpace_fallback:"pre-wrap",whiteSpace:"break-spaces",wordBreak:"break-word",overflowWrap:"anywhere",flexShrink:1},"&light .cm-content":{caretColor:"black"},"&dark .cm-content":{caretColor:"white"},".cm-line":{display:"block",padding:"0 2px 0 6px"},".cm-layer":{userSelect:"none",position:"absolute",left:0,top:0,contain:"size style","& > *":{position:"absolute"}},"&light .cm-selectionBackground":{background:"#d9d9d9"},"&dark .cm-selectionBackground":{background:"#222"},"&light.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#d7d4f0"},"&dark.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#233"},".cm-cursorLayer":{pointerEvents:"none"},"&.cm-focused > .cm-scroller > .cm-cursorLayer":{animation:"steps(1) cm-blink 1.2s infinite"},"@keyframes cm-blink":{"0%":{},"50%":{opacity:0},"100%":{}},"@keyframes cm-blink2":{"0%":{},"50%":{opacity:0},"100%":{}},".cm-cursor, .cm-dropCursor":{borderLeft:"1.2px solid black",marginLeft:"-0.6px",pointerEvents:"none"},".cm-cursor":{display:"none"},"&dark .cm-cursor":{borderLeftColor:"#ddd"},".cm-selectionHandle":{backgroundColor:"currentColor",width:"1.5px"},".cm-selectionHandle-start::before, .cm-selectionHandle-end::before":{content:'""',backgroundColor:"inherit",borderRadius:"50%",width:"8px",height:"8px",position:"absolute",left:"-3.25px"},".cm-selectionHandle-start::before":{top:"-8px"},".cm-selectionHandle-end::before":{bottom:"-8px"},".cm-dropCursor":{position:"absolute"},"&.cm-focused > .cm-scroller > .cm-cursorLayer .cm-cursor":{display:"block"},".cm-iso":{unicodeBidi:"isolate"},".cm-announced":{position:"fixed",top:"-10000px"},"@media print":{".cm-announced":{display:"none"}},"&light .cm-activeLine":{backgroundColor:"#cceeff44"},"&dark .cm-activeLine":{backgroundColor:"#99eeff33"},"&light .cm-specialChar":{color:"red"},"&dark .cm-specialChar":{color:"#f78"},".cm-gutters":{flexShrink:0,display:"flex",height:"100%",boxSizing:"border-box",zIndex:200},".cm-gutters-before":{insetInlineStart:0},".cm-gutters-after":{insetInlineEnd:0},"&light .cm-gutters":{backgroundColor:"#f5f5f5",color:"#6c6c6c",border:"0px solid #ddd","&.cm-gutters-before":{borderRightWidth:"1px"},"&.cm-gutters-after":{borderLeftWidth:"1px"}},"&dark .cm-gutters":{backgroundColor:"#333338",color:"#ccc"},".cm-gutter":{display:"flex !important",flexDirection:"column",flexShrink:0,boxSizing:"border-box",minHeight:"100%",overflow:"hidden"},".cm-gutterElement":{boxSizing:"border-box"},".cm-lineNumbers .cm-gutterElement":{padding:"0 3px 0 5px",minWidth:"20px",textAlign:"right",whiteSpace:"nowrap"},"&light .cm-activeLineGutter":{backgroundColor:"#e2f2ff"},"&dark .cm-activeLineGutter":{backgroundColor:"#222227"},".cm-panels":{boxSizing:"border-box",position:"sticky",left:0,right:0,zIndex:300},"&light .cm-panels":{backgroundColor:"#f5f5f5",color:"black"},"&light .cm-panels-top":{borderBottom:"1px solid #ddd"},"&light .cm-panels-bottom":{borderTop:"1px solid #ddd"},"&dark .cm-panels":{backgroundColor:"#333338",color:"white"},".cm-dialog":{padding:"2px 19px 4px 6px",position:"relative","& label":{fontSize:"80%"}},".cm-dialog-close":{position:"absolute",top:"3px",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",fontSize:"14px",padding:"0"},".cm-tab":{display:"inline-block",overflow:"hidden",verticalAlign:"bottom"},".cm-widgetBuffer":{verticalAlign:"text-top",height:"1em",width:0,display:"inline"},".cm-placeholder":{color:"#888",display:"inline-block",verticalAlign:"top",userSelect:"none"},".cm-highlightSpace":{backgroundImage:"radial-gradient(circle at 50% 55%, #aaa 20%, transparent 5%)",backgroundPosition:"center"},".cm-highlightTab":{backgroundImage:`url('data:image/svg+xml,')`,backgroundSize:"auto 100%",backgroundPosition:"right 90%",backgroundRepeat:"no-repeat"},".cm-trailingSpace":{backgroundColor:"#ff332255"},".cm-button":{verticalAlign:"middle",color:"inherit",fontSize:"70%",padding:".2em 1em",borderRadius:"1px"},"&light .cm-button":{backgroundImage:"linear-gradient(#eff1f5, #d9d9df)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#b4b4b4, #d0d3d6)"}},"&dark .cm-button":{backgroundImage:"linear-gradient(#393939, #111)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#111, #333)"}},".cm-textfield":{verticalAlign:"middle",color:"inherit",fontSize:"70%",border:"1px solid silver",padding:".2em .5em"},"&light .cm-textfield":{backgroundColor:"white"},"&dark .cm-textfield":{border:"1px solid #555",backgroundColor:"inherit"}},Mu),zQ={childList:!0,characterData:!0,subtree:!0,attributes:!0,characterDataOldValue:!0},la=L.ie&&L.ie_version<=11,Ya=class{constructor(e){this.view=e,this.active=!1,this.editContext=null,this.selectionRange=new da,this.selectionChanged=!1,this.delayedFlush=-1,this.resizeTimeout=-1,this.queue=[],this.delayedAndroidKey=null,this.flushingAndroidKey=-1,this.lastChange=0,this.scrollTargets=[],this.intersection=null,this.resizeScroll=null,this.intersecting=!1,this.gapIntersection=null,this.gaps=[],this.printQuery=null,this.parentCheck=-1,this.dom=e.contentDOM,this.observer=new MutationObserver(t=>{for(let n of t)this.queue.push(n);(L.ie&&L.ie_version<=11||L.ios&&e.composing)&&t.some(n=>n.type=="childList"&&n.removedNodes.length||n.type=="characterData"&&n.oldValue.length>n.target.nodeValue.length)?this.flushSoon():this.flush()}),window.EditContext&&L.android&&e.constructor.EDIT_CONTEXT!==!1&&!(L.chrome&&L.chrome_version<126)&&(this.editContext=new Ia(e),e.state.facet(jt)&&(e.contentDOM.editContext=this.editContext.editContext)),la&&(this.onCharData=t=>{this.queue.push({target:t.target,type:"characterData",oldValue:t.prevValue}),this.flushSoon()}),this.onSelectionChange=this.onSelectionChange.bind(this),this.onResize=this.onResize.bind(this),this.onPrint=this.onPrint.bind(this),this.onScroll=this.onScroll.bind(this),window.matchMedia&&(this.printQuery=window.matchMedia("print")),typeof ResizeObserver=="function"&&(this.resizeScroll=new ResizeObserver(()=>{var t;((t=this.view.docView)===null||t===void 0?void 0:t.lastUpdate){this.parentCheck<0&&(this.parentCheck=setTimeout(this.listenForScroll.bind(this),1e3)),t.length>0&&t[t.length-1].intersectionRatio>0!=this.intersecting&&(this.intersecting=!this.intersecting,this.intersecting!=this.view.inView&&this.onScrollChanged(document.createEvent("Event")))},{threshold:[0,.001]}),this.intersection.observe(this.dom),this.gapIntersection=new IntersectionObserver(t=>{t.length>0&&t[t.length-1].intersectionRatio>0&&this.onScrollChanged(document.createEvent("Event"))},{})),this.listenForScroll(),this.readSelectionRange()}onScrollChanged(e){this.view.inputState.runHandlers("scroll",e),this.intersecting&&this.view.measure()}onScroll(e){this.intersecting&&this.flush(!1),this.editContext&&this.view.requestMeasure(this.editContext.measureReq),this.onScrollChanged(e)}onResize(){this.resizeTimeout<0&&(this.resizeTimeout=setTimeout(()=>{this.resizeTimeout=-1,this.view.requestMeasure()},50))}onPrint(e){(e.type=="change"||!e.type)&&!e.matches||(this.view.viewState.printing=!0,this.view.measure(),setTimeout(()=>{this.view.viewState.printing=!1,this.view.requestMeasure()},500))}updateGaps(e){if(this.gapIntersection&&(e.length!=this.gaps.length||this.gaps.some((t,n)=>t!=e[n]))){this.gapIntersection.disconnect();for(let t of e)this.gapIntersection.observe(t);this.gaps=e}}onSelectionChange(e){let t=this.selectionChanged;if(!this.readSelectionRange()||this.delayedAndroidKey)return;let{view:n}=this,r=this.selectionRange;if(n.state.facet(jt)?n.root.activeElement!=this.dom:!Nn(this.dom,r))return;let s=r.anchorNode&&n.docView.tile.nearest(r.anchorNode);if(s&&s.isWidget()&&s.widget.ignoreEvent(e)){t||(this.selectionChanged=!1);return}(L.ie&&L.ie_version<=11||L.android&&L.chrome)&&!n.state.selection.main.empty&&r.focusNode&&Fn(r.focusNode,r.focusOffset,r.anchorNode,r.anchorOffset)?this.flushSoon():this.flush(!1)}readSelectionRange(){let{view:e}=this,t=rr(e.root);if(!t)return!1;let n=L.safari&&e.root.nodeType==11&&e.root.activeElement==this.dom&&LQ(this.view,t)||t;if(!n||this.selectionRange.eq(n))return!1;let r=Nn(this.dom,n);return r&&!this.selectionChanged&&e.inputState.lastFocusTime>Date.now()-200&&e.inputState.lastTouchTime{let s=this.delayedAndroidKey;s&&(this.clearDelayedAndroidKey(),this.view.inputState.lastKeyCode=s.keyCode,this.view.inputState.lastKeyTime=Date.now(),!this.flush()&&s.force&&On(this.dom,s.key,s.keyCode))};this.flushingAndroidKey=this.view.win.requestAnimationFrame(r)}(!this.delayedAndroidKey||e=="Enter")&&(this.delayedAndroidKey={key:e,keyCode:t,force:this.lastChange{this.delayedFlush=-1,this.flush()}))}forceFlush(){this.delayedFlush>=0&&(this.view.win.cancelAnimationFrame(this.delayedFlush),this.delayedFlush=-1),this.flush()}pendingRecords(){for(let e of this.observer.takeRecords())this.queue.push(e);return this.queue}processRecords(){let e=this.pendingRecords();e.length&&(this.queue=[]);let t=-1,n=-1,r=!1;for(let s of e){let o=this.readMutation(s);o&&(o.typeOver&&(r=!0),t==-1?{from:t,to:n}=o:(t=Math.min(o.from,t),n=Math.max(o.to,n)))}return{from:t,to:n,typeOver:r}}readChange(){let{from:e,to:t,typeOver:n}=this.processRecords(),r=this.selectionChanged&&Nn(this.dom,this.selectionRange);if(e<0&&!r)return null;e>-1&&(this.lastChange=Date.now()),this.view.inputState.lastFocusTime=0,this.selectionChanged=!1;let s=new Xa(this.view,e,t,n);return this.view.docView.domChanged={newSel:s.newSel?s.newSel.main:null},s}flush(e=!0){if(this.delayedFlush>=0||this.delayedAndroidKey)return!1;e&&this.readSelectionRange();let t=this.readChange();if(!t)return this.view.requestMeasure(),!1;let n=this.view.state,r=$u(this.view,t);return this.view.state==n&&(t.domChanged||t.newSel&&!ms(this.view.state.selection,t.newSel.main))&&this.view.update([]),r}readMutation(e){let t=this.view.docView.tile.nearest(e.target);if(!t||t.isWidget())return null;if(t.markDirty(e.type=="attributes"),e.type=="childList"){let n=If(t,e.previousSibling||e.target.previousSibling,-1),r=If(t,e.nextSibling||e.target.nextSibling,1);return{from:n?t.posAfter(n):t.posAtStart,to:r?t.posBefore(r):t.posAtEnd,typeOver:!1}}else return e.type=="characterData"?{from:t.posAtStart,to:t.posAtEnd,typeOver:e.target.nodeValue==e.oldValue}:null}setWindow(e){e!=this.win&&(this.removeWindowListeners(this.win),this.win=e,this.addWindowListeners(this.win))}addWindowListeners(e){e.addEventListener("resize",this.onResize),this.printQuery?this.printQuery.addEventListener?this.printQuery.addEventListener("change",this.onPrint):this.printQuery.addListener(this.onPrint):e.addEventListener("beforeprint",this.onPrint),e.addEventListener("scroll",this.onScroll),e.document.addEventListener("selectionchange",this.onSelectionChange)}removeWindowListeners(e){e.removeEventListener("scroll",this.onScroll),e.removeEventListener("resize",this.onResize),this.printQuery?this.printQuery.removeEventListener?this.printQuery.removeEventListener("change",this.onPrint):this.printQuery.removeListener(this.onPrint):e.removeEventListener("beforeprint",this.onPrint),e.document.removeEventListener("selectionchange",this.onSelectionChange)}update(e){this.editContext&&(this.editContext.update(e),e.startState.facet(jt)!=e.state.facet(jt)&&(e.view.contentDOM.editContext=e.state.facet(jt)?this.editContext.editContext:null))}destroy(){var e,t,n;this.stop(),(e=this.intersection)===null||e===void 0||e.disconnect(),(t=this.gapIntersection)===null||t===void 0||t.disconnect(),(n=this.resizeScroll)===null||n===void 0||n.disconnect();for(let r of this.scrollTargets)r.removeEventListener("scroll",this.onScroll);this.removeWindowListeners(this.win),clearTimeout(this.parentCheck),clearTimeout(this.resizeTimeout),this.win.cancelAnimationFrame(this.delayedFlush),this.win.cancelAnimationFrame(this.flushingAndroidKey),this.editContext&&(this.view.contentDOM.editContext=null,this.editContext.destroy())}};function If(i,e,t){for(;e;){let n=ue.get(e);if(n&&n.parent==i)return n;let r=e.parentNode;e=r!=i.dom?r:t>0?e.nextSibling:e.previousSibling}return null}function Bf(i,e){let t=e.startContainer,n=e.startOffset,r=e.endContainer,s=e.endOffset,o=i.docView.domAtPos(i.state.selection.main.anchor,1);return Fn(o.node,o.offset,r,s)&&([t,n,r,s]=[r,s,t,n]),{anchorNode:t,anchorOffset:n,focusNode:r,focusOffset:s}}function LQ(i,e){if(e.getComposedRanges){let r=e.getComposedRanges(i.root)[0];if(r)return Bf(i,r)}let t=null;function n(r){r.preventDefault(),r.stopImmediatePropagation(),t=r.getTargetRanges()[0]}return i.contentDOM.addEventListener("beforeinput",n,!0),i.dom.ownerDocument.execCommand("indent"),i.contentDOM.removeEventListener("beforeinput",n,!0),t?Bf(i,t):null}var Ia=class{constructor(e){this.from=0,this.to=0,this.pendingContextChange=null,this.handlers=Object.create(null),this.composing=null,this.resetRange(e.state);let t=this.editContext=new window.EditContext({text:e.state.doc.sliceString(this.from,this.to),selectionStart:this.toContextPos(Math.max(this.from,Math.min(this.to,e.state.selection.main.anchor))),selectionEnd:this.toContextPos(e.state.selection.main.head)});this.handlers.textupdate=n=>{let r=e.state.selection.main,{anchor:s,head:o}=r,a=this.toEditorPos(n.updateRangeStart),l=this.toEditorPos(n.updateRangeEnd);e.inputState.composing>=0&&!this.composing&&(this.composing={contextBase:n.updateRangeStart,editorBase:a,drifted:!1});let c=l-a>n.text.length;a==this.from&&sthis.to&&(l=s);let h=Tu(e.state.sliceDoc(a,l),n.text,(c?r.from:r.to)-a,c?"end":null);if(!h){let u=v.single(this.toEditorPos(n.selectionStart),this.toEditorPos(n.selectionEnd));ms(u,r)||e.dispatch({selection:u,userEvent:"select"});return}let f={from:h.from+a,to:h.toA+a,insert:J.of(n.text.slice(h.from,h.toB).split(` +`))};if((L.mac||L.android)&&f.from==o-1&&/^\. ?$/.test(n.text)&&e.contentDOM.getAttribute("autocorrect")=="off"&&(f={from:a,to:l,insert:J.of([n.text.replace("."," ")])}),this.pendingContextChange=f,!e.state.readOnly){let u=this.to-this.from+(f.to-f.from+f.insert.length);el(e,f,v.single(this.toEditorPos(n.selectionStart,u),this.toEditorPos(n.selectionEnd,u)))}this.pendingContextChange&&(this.revertPending(e.state),this.setSelection(e.state)),f.from=0&&!/[\\p{Alphabetic}\\p{Number}_]/.test(t.text.slice(Math.max(0,n.updateRangeStart-1),Math.min(t.text.length,n.updateRangeStart+1)))&&this.handlers.compositionend(n)},this.handlers.characterboundsupdate=n=>{let r=[],s=null;for(let o=this.toEditorPos(n.rangeStart),a=this.toEditorPos(n.rangeEnd);o{let r=[];for(let s of n.getTextFormats()){let o=s.underlineStyle,a=s.underlineThickness;if(!/none/i.test(o)&&!/none/i.test(a)){let l=this.toEditorPos(s.rangeStart),c=this.toEditorPos(s.rangeEnd);if(l{e.inputState.composing<0&&(e.inputState.composing=0,e.inputState.compositionFirstChange=!0)},this.handlers.compositionend=()=>{if(e.inputState.composing=-1,e.inputState.compositionFirstChange=null,this.composing){let{drifted:n}=this.composing;this.composing=null,n&&this.reset(e.state)}};for(let n in this.handlers)t.addEventListener(n,this.handlers[n]);this.measureReq={read:n=>{let r=rr(n.root);r&&r.rangeCount&&this.editContext.updateSelectionBounds(r.getRangeAt(0).getBoundingClientRect())}}}applyEdits(e){let t=0,n=!1,r=this.pendingContextChange;return e.changes.iterChanges((s,o,a,l,c)=>{if(n)return;let h=c.length-(o-s);if(r&&o>=r.to)if(r.from==s&&r.to==o&&r.insert.eq(c)){r=this.pendingContextChange=null,t+=h,this.to+=h;return}else r=null,this.revertPending(e.state);if(s+=t,o+=t,o<=this.from)this.from+=h,this.to+=h;else if(sthis.to||this.to-this.from+c.length>3e4){n=!0;return}this.editContext.updateText(this.toContextPos(s),this.toContextPos(o),c.toString()),this.to+=h}t+=h}),r&&!n&&this.revertPending(e.state),!n}update(e){let t=this.pendingContextChange,n=e.startState.selection.main;this.composing&&(this.composing.drifted||!e.changes.touchesRange(n.from,n.to)&&e.transactions.some(r=>!r.isUserEvent("input.type")&&r.changes.touchesRange(this.from,this.to)))?(this.composing.drifted=!0,this.composing.editorBase=e.changes.mapPos(this.composing.editorBase)):!this.applyEdits(e)||!this.rangeIsValid(e.state)?(this.pendingContextChange=null,this.reset(e.state)):(e.docChanged||e.selectionSet||t)&&this.setSelection(e.state),(e.geometryChanged||e.docChanged||e.selectionSet)&&e.view.requestMeasure(this.measureReq)}resetRange(e){let{head:t}=e.selection.main;this.from=Math.max(0,t-1e4),this.to=Math.min(e.doc.length,t+1e4)}reset(e){this.resetRange(e),this.editContext.updateText(0,this.editContext.text.length,e.doc.sliceString(this.from,this.to)),this.setSelection(e)}revertPending(e){let t=this.pendingContextChange;this.pendingContextChange=null,this.editContext.updateText(this.toContextPos(t.from),this.toContextPos(t.from+t.insert.length),e.doc.sliceString(t.from,t.to))}setSelection(e){let{main:t}=e.selection,n=this.toContextPos(Math.max(this.from,Math.min(this.to,t.anchor))),r=this.toContextPos(t.head);(this.editContext.selectionStart!=n||this.editContext.selectionEnd!=r)&&this.editContext.updateSelection(n,r)}rangeIsValid(e){let{head:t}=e.selection.main;return!(this.from>0&&t-this.from<500||this.to1e4*3)}toEditorPos(e,t=this.to-this.from){e=Math.min(e,t);let n=this.composing;return n&&n.drifted?n.editorBase+(e-n.contextBase):e+this.from}toContextPos(e){let t=this.composing;return t&&t.drifted?t.contextBase+(e-t.editorBase):e-this.from}destroy(){for(let e in this.handlers)this.editContext.removeEventListener(e,this.handlers[e])}},q=class i{get state(){return this.viewState.state}get viewport(){return this.viewState.viewport}get visibleRanges(){return this.viewState.visibleRanges}get inView(){return this.viewState.inView}get composing(){return!!this.inputState&&this.inputState.composing>0}get compositionStarted(){return!!this.inputState&&this.inputState.composing>=0}get root(){return this._root}get win(){return this.dom.ownerDocument.defaultView||window}constructor(e={}){var t;this.plugins=[],this.pluginMap=new Map,this.editorAttrs={},this.contentAttrs={},this.bidiCache=[],this.destroyed=!1,this.updateState=2,this.measureScheduled=-1,this.measureRequests=[],this.contentDOM=document.createElement("div"),this.scrollDOM=document.createElement("div"),this.scrollDOM.tabIndex=-1,this.scrollDOM.className="cm-scroller",this.scrollDOM.appendChild(this.contentDOM),this.announceDOM=document.createElement("div"),this.announceDOM.className="cm-announced",this.announceDOM.setAttribute("aria-live","polite"),this.dom=document.createElement("div"),this.dom.appendChild(this.announceDOM),this.dom.appendChild(this.scrollDOM),e.parent&&e.parent.appendChild(this.dom);let{dispatch:n}=e;this.dispatchTransactions=e.dispatchTransactions||n&&(r=>r.forEach(s=>n(s,this)))||(r=>this.update(r)),this.dispatch=this.dispatch.bind(this),this._root=e.root||C0(e.parent)||document,this.viewState=new bs(this,e.state||se.create(e)),e.scrollTo&&e.scrollTo.is(es)&&(this.viewState.scrollTarget=e.scrollTo.value.clip(this.viewState.state)),this.plugins=this.state.facet(hn).map(r=>new Kn(r));for(let r of this.plugins)r.update(this);this.observer=new Ya(this),this.inputState=new _a(this),this.inputState.ensureHandlers(this.plugins),this.docView=new ds(this),this.mountStyles(),this.updateAttrs(),this.updateState=0,this.requestMeasure(),!((t=document.fonts)===null||t===void 0)&&t.ready&&document.fonts.ready.then(()=>{this.viewState.mustMeasureContent="refresh",this.requestMeasure()})}dispatch(...e){let t=e.length==1&&e[0]instanceof pe?e:e.length==1&&Array.isArray(e[0])?e[0]:[this.state.update(...e)];this.dispatchTransactions(t,this)}update(e){if(this.updateState!=0)throw new Error("Calls to EditorView.update are not allowed while an update is in progress");let t=!1,n=!1,r,s=this.state;for(let u of e){if(u.startState!=s)throw new RangeError("Trying to update state with a transaction that doesn't start from the previous state.");s=u.state}if(this.destroyed){this.viewState.state=s;return}let o=this.hasFocus,a=0,l=null;e.some(u=>u.annotation(Zu))?(this.inputState.notifiedFocused=o,a=1):o!=this.inputState.notifiedFocused&&(this.inputState.notifiedFocused=o,l=Eu(s,o),l||(a=1));let c=this.observer.delayedAndroidKey,h=null;if(c?(this.observer.clearDelayedAndroidKey(),h=this.observer.readChange(),(h&&!this.state.doc.eq(s.doc)||!this.state.selection.eq(s.selection))&&(h=null)):this.observer.clear(),s.facet(se.phrases)!=this.state.facet(se.phrases))return this.setState(s);r=us.create(this,s,e),r.flags|=a;let f=this.viewState.scrollTarget;try{this.updateState=2;for(let u of e){if(f&&(f=f.map(u.changes)),u.scrollIntoView){let{main:O}=u.state.selection,{x:m,y:p}=this.state.facet(i.cursorScrollMargin);f=new Hn(O.empty?O:v.cursor(O.head,O.head>O.anchor?-1:1),"nearest","nearest",p,m)}for(let O of u.effects)O.is(es)&&(f=O.value.clip(this.state))}this.viewState.update(r,f),this.bidiCache=Ss.update(this.bidiCache,r.changes),r.empty||(this.updatePlugins(r),this.inputState.update(r)),t=this.docView.update(r),this.state.facet(Bn)!=this.styleModules&&this.mountStyles(),n=this.updateAttrs(),this.showAnnouncements(e),this.docView.updateSelection(t,e.some(u=>u.isUserEvent("select.pointer")))}finally{this.updateState=0}if(r.startState.facet(ss)!=r.state.facet(ss)&&(this.viewState.mustMeasureContent=!0),(t||n||f||this.viewState.mustEnforceCursorAssoc||this.viewState.mustMeasureContent)&&this.requestMeasure(),t&&this.docViewUpdate(),!r.empty)for(let u of this.state.facet(Qa))try{u(r)}catch(O){ut(this.state,O,"update listener")}(l||h)&&Promise.resolve().then(()=>{l&&this.state==l.startState&&this.dispatch(l),h&&!$u(this,h)&&c.force&&On(this.contentDOM,c.key,c.keyCode)})}setState(e){if(this.updateState!=0)throw new Error("Calls to EditorView.setState are not allowed while an update is in progress");if(this.destroyed){this.viewState.state=e;return}this.updateState=2;let t=this.hasFocus;try{for(let n of this.plugins)n.destroy(this);this.viewState=new bs(this,e),this.plugins=e.facet(hn).map(n=>new Kn(n)),this.pluginMap.clear();for(let n of this.plugins)n.update(this);this.docView.destroy(),this.docView=new ds(this),this.inputState.ensureHandlers(this.plugins),this.mountStyles(),this.updateAttrs(),this.bidiCache=[]}finally{this.updateState=0}t&&this.focus(),this.requestMeasure()}updatePlugins(e){let t=e.startState.facet(hn),n=e.state.facet(hn);if(t!=n){let r=[];for(let s of n){let o=t.indexOf(s);if(o<0)r.push(new Kn(s));else{let a=this.plugins[o];a.mustUpdate=e,r.push(a)}}for(let s of this.plugins)s.mustUpdate!=e&&s.destroy(this);this.plugins=r,this.pluginMap.clear()}else for(let r of this.plugins)r.mustUpdate=e;for(let r=0;r-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.observer.delayedAndroidKey){this.measureScheduled=-1,this.requestMeasure();return}this.measureScheduled=0,e&&this.observer.forceFlush();let t=null,n=this.viewState.scrollParent,r=this.viewState.getScrollOffset(),{scrollAnchorPos:s,scrollAnchorHeight:o}=this.viewState;Math.abs(r-this.viewState.scrollOffset)>1&&(o=-1),this.viewState.scrollAnchorHeight=-1;try{for(let a=0;;a++){if(o<0)if(tu(n||this.win))s=-1,o=this.viewState.heightMap.height;else{let O=this.viewState.scrollAnchorAt(r);s=O.from,o=O.top}this.updateState=1;let l=this.viewState.measure();if(!l&&!this.measureRequests.length&&this.viewState.scrollTarget==null)break;if(a>5){console.warn(this.measureRequests.length?"Measure loop restarted more than 5 times":"Viewport failed to stabilize");break}let c=[];l&4||([this.measureRequests,c]=[c,this.measureRequests]);let h=c.map(O=>{try{return O.read(this)}catch(m){return ut(this.state,m),Uf}}),f=us.create(this,this.state,[]),u=!1;f.flags|=l,t?t.flags|=l:t=f,this.updateState=2,f.empty||(this.updatePlugins(f),this.inputState.update(f),this.updateAttrs(),u=this.docView.update(f),u&&this.docViewUpdate());for(let O=0;O1||m<-1)&&!(L.ios&&this.inputState.lastIOSMomentumScroll>Date.now()-100)&&(n==this.scrollDOM||this.hasFocus||Math.max(this.inputState.lastWheelEvent,this.inputState.lastTouchTime)>Date.now()-100)){r=r+m,n?n.scrollTop+=m:this.win.scrollBy(0,m),o=-1;continue}}break}}}finally{this.updateState=0,this.measureScheduled=-1}if(t&&!t.empty)for(let a of this.state.facet(Qa))a(t)}get themeClasses(){return Va+" "+(this.state.facet(ja)?Lu:zu)+" "+this.state.facet(ss)}updateAttrs(){let e=Gf(this,Qu,{class:"cm-editor"+(this.hasFocus?" cm-focused ":" ")+this.themeClasses}),t={spellcheck:"false",autocorrect:"off",autocapitalize:"off",writingsuggestions:"false",translate:"no",contenteditable:this.state.facet(jt)?"true":"false",class:"cm-content",style:`${L.tabSize}: ${this.state.tabSize}`,role:"textbox","aria-multiline":"true"};this.state.readOnly&&(t["aria-readonly"]="true"),Gf(this,Ka,t);let n=this.observer.ignore(()=>{let r=vf(this.contentDOM,this.contentAttrs,t),s=vf(this.dom,this.editorAttrs,e);return r||s});return this.editorAttrs=e,this.contentAttrs=t,n}showAnnouncements(e){let t=!0;for(let n of e)for(let r of n.effects)if(r.is(i.announce)){t&&(this.announceDOM.textContent=""),t=!1;let s=this.announceDOM.appendChild(document.createElement("div"));s.textContent=r.value}}mountStyles(){this.styleModules=this.state.facet(Bn);let e=this.state.facet(i.cspNonce);lt.mount(this.root,this.styleModules.concat(qQ).reverse(),e?{nonce:e}:void 0)}readMeasured(){if(this.updateState==2)throw new Error("Reading the editor layout isn't allowed during an update");this.updateState==0&&this.measureScheduled>-1&&this.measure(!1)}requestMeasure(e){if(this.measureScheduled<0&&(this.measureScheduled=this.win.requestAnimationFrame(()=>this.measure())),e){if(this.measureRequests.indexOf(e)>-1)return;if(e.key!=null){for(let t=0;tn.plugin==e)||null),t&&t.update(this).value}get documentTop(){return this.contentDOM.getBoundingClientRect().top+this.viewState.paddingTop}get documentPadding(){return{top:this.viewState.paddingTop,bottom:this.viewState.paddingBottom}}get scaleX(){return this.viewState.scaleX}get scaleY(){return this.viewState.scaleY}elementAtHeight(e){return this.readMeasured(),this.viewState.elementAtHeight(e)}lineBlockAtHeight(e){return this.readMeasured(),this.viewState.lineBlockAtHeight(e)}get viewportLineBlocks(){return this.viewState.viewportLines}lineBlockAt(e){return this.viewState.lineBlockAt(e)}get contentHeight(){return this.viewState.contentHeight}moveByChar(e,t,n){return aa(this,e,Rf(this,e,t,n))}moveByGroup(e,t){return aa(this,e,Rf(this,e,t,n=>oQ(this,e.head,n)))}visualLineSide(e,t){let n=this.bidiSpans(e),r=this.textDirectionAt(e.from),s=n[t?n.length-1:0];return v.cursor(s.side(t,r)+e.from,s.forward(!t,r)?1:-1)}moveToLineBoundary(e,t,n=!0){return sQ(this,e,t,n)}moveVertically(e,t,n){return aa(this,e,aQ(this,e,t,n))}domAtPos(e,t=1){return this.docView.domAtPos(e,t)}posAtDOM(e,t=0){return this.docView.posFromDOM(e,t)}posAtCoords(e,t=!0){this.readMeasured();let n=$a(this,e,t);return n&&n.pos}posAndSideAtCoords(e,t=!0){return this.readMeasured(),$a(this,e,t)}coordsAtPos(e,t=1){this.readMeasured();let n=this.state.doc.lineAt(e),r=this.bidiSpans(n),s=r[ft.find(r,e-n.from,-1,t)];return this.docView.coordsAt(e,t,s.dir==Oe.RTL)}coordsForChar(e){return this.readMeasured(),this.docView.coordsForChar(e)}get defaultCharacterWidth(){return this.viewState.heightOracle.charWidth}get defaultLineHeight(){return this.viewState.heightOracle.lineHeight}get textDirection(){return this.viewState.defaultTextDirection}textDirectionAt(e){return!this.state.facet(pu)||ethis.viewport.to?this.textDirection:(this.readMeasured(),this.docView.textDirectionAt(e))}get lineWrapping(){return this.viewState.heightOracle.lineWrapping}bidiSpans(e){if(e.length>MQ)return au(e.length);let t=this.textDirectionAt(e.from),n;for(let s of this.bidiCache)if(s.from==e.from&&s.dir==t&&(s.fresh||ou(s.isolates,n=Cf(this,e))))return s.order;n||(n=Cf(this,e));let r=z0(e.text,t,n);return this.bidiCache.push(new Ss(e.from,e.to,t,n,!0,r)),r}get hasFocus(){var e;return(this.dom.ownerDocument.hasFocus()||L.safari&&((e=this.inputState)===null||e===void 0?void 0:e.lastContextMenu)>Date.now()-3e4)&&this.root.activeElement==this.contentDOM}focus(){this.observer.ignore(()=>{eu(this.contentDOM),this.docView.updateSelection()})}setRoot(e){this._root!=e&&(this._root=e,this.observer.setWindow((e.nodeType==9?e:e.ownerDocument).defaultView||window),this.mountStyles())}destroy(){this.root.activeElement==this.contentDOM&&this.contentDOM.blur();for(let e of this.plugins)e.destroy(this);this.plugins=[],this.inputState.destroy(),this.docView.destroy(),this.dom.remove(),this.observer.destroy(),this.measureScheduled>-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.destroyed=!0}static scrollIntoView(e,t={}){var n,r,s,o;return es.of(new Hn(typeof e=="number"?v.cursor(e):e,(n=t.y)!==null&&n!==void 0?n:"nearest",(r=t.x)!==null&&r!==void 0?r:"nearest",(s=t.yMargin)!==null&&s!==void 0?s:5,(o=t.xMargin)!==null&&o!==void 0?o:5))}scrollSnapshot(){let{scrollTop:e,scrollLeft:t}=this.scrollDOM,n=this.viewState.scrollAnchorAt(e);return es.of(new Hn(v.cursor(n.from),"start","start",n.top-e,t,!0))}setTabFocusMode(e){e==null?this.inputState.tabFocusMode=this.inputState.tabFocusMode<0?0:-1:typeof e=="boolean"?this.inputState.tabFocusMode=e?0:-1:this.inputState.tabFocusMode!=0&&(this.inputState.tabFocusMode=Date.now()+e)}static domEventHandlers(e){return Ye.define(()=>({}),{eventHandlers:e})}static domEventObservers(e){return Ye.define(()=>({}),{eventObservers:e})}static theme(e,t){let n=lt.newName(),r=[ss.of(n),Bn.of(Da(`.${n}`,e))];return t&&t.dark&&r.push(ja.of(!0)),r}static baseTheme(e){return at.lowest(Bn.of(Da("."+Va,e,Mu)))}static findFromDOM(e){var t;let n=e.querySelector(".cm-content"),r=n&&ue.get(n)||ue.get(e);return((t=r?.root)===null||t===void 0?void 0:t.view)||null}};q.styleModule=Bn;q.inputHandler=Ou;q.clipboardInputFilter=Fa;q.clipboardOutputFilter=Ha;q.scrollHandler=mu;q.focusChangeEffect=du;q.perLineTextDirection=pu;q.exceptionSink=uu;q.updateListener=Qa;q.editable=jt;q.mouseSelectionStyle=fu;q.dragMovesSelection=hu;q.clickAddsSelectionRange=cu;q.decorations=ks;q.blockWrappers=bu;q.outerDecorations=Ja;q.atomicRanges=or;q.bidiIsolatedRanges=Su;q.cursorScrollMargin=Y.define({combine:i=>{let e=5,t=5;for(let n of i)typeof n=="number"?e=t=n:{x:e,y:t}=n;return{x:e,y:t}}});q.scrollMargins=yu;q.darkTheme=ja;q.cspNonce=Y.define({combine:i=>i.length?i[0]:""});q.contentAttributes=Ka;q.editorAttributes=Qu;q.lineWrapping=q.contentAttributes.of({class:"cm-lineWrapping"});q.announce=ie.define();var MQ=4096,Uf={},Ss=class i{constructor(e,t,n,r,s,o){this.from=e,this.to=t,this.dir=n,this.isolates=r,this.fresh=s,this.order=o}static update(e,t){if(t.empty&&!e.some(s=>s.fresh))return e;let n=[],r=e.length?e[e.length-1].dir:Oe.LTR;for(let s=Math.max(0,e.length-10);s=0;r--){let s=n[r],o=typeof s=="function"?s(i):s;o&&Ua(o,t)}return t}var WQ=L.mac?"mac":L.windows?"win":L.linux?"linux":"key";function jQ(i,e){let t=i.split(/-(?!$)/),n=t[t.length-1];n=="Space"&&(n=" ");let r,s,o,a;for(let l=0;ln.concat(r),[]))),t}var ai=null,YQ=4e3;function IQ(i,e=WQ){let t=Object.create(null),n=Object.create(null),r=(o,a)=>{let l=n[o];if(l==null)n[o]=a;else if(l!=a)throw new Error("Key binding "+o+" is used both as a regular binding and as a multi-stroke prefix")},s=(o,a,l,c,h)=>{var f,u;let O=t[o]||(t[o]=Object.create(null)),m=a.split(/ (?!$)/).map(g=>jQ(g,e));for(let g=1;g{let x=ai={view:S,prefix:Q,scope:o};return setTimeout(()=>{ai==x&&(ai=null)},YQ),!0}]})}let p=m.join(" ");r(p,!1);let b=O[p]||(O[p]={preventDefault:!1,stopPropagation:!1,run:((u=(f=O._any)===null||f===void 0?void 0:f.run)===null||u===void 0?void 0:u.slice())||[]});l&&b.run.push(l),c&&(b.preventDefault=!0),h&&(b.stopPropagation=!0)};for(let o of i){let a=o.scope?o.scope.split(" "):["editor"];if(o.any)for(let c of a){let h=t[c]||(t[c]=Object.create(null));h._any||(h._any={preventDefault:!1,stopPropagation:!1,run:[]});let{any:f}=o;for(let u in h)h[u].run.push(O=>f(O,Ba))}let l=o[e]||o.key;if(l)for(let c of a)s(c,l,o.run,o.preventDefault,o.stopPropagation),o.shift&&s(c,"Shift-"+l,o.shift,o.preventDefault,o.stopPropagation)}return t}var Ba=null;function BQ(i,e,t,n){Ba=e;let r=kf(e),s=oi(r,0),o=an(s)==r.length&&r!=" ",a="",l=!1,c=!1,h=!1;ai&&ai.view==t&&ai.scope==n&&(a=ai.prefix+" ",Xu.indexOf(e.keyCode)<0&&(c=!0,ai=null));let f=new Set,u=b=>{if(b){for(let g of b.run)if(!f.has(g)&&(f.add(g),g(t)))return b.stopPropagation&&(h=!0),!0;b.preventDefault&&(b.stopPropagation&&(h=!0),c=!0)}return!1},O=i[n],m,p;return O&&(u(O[a+os(r,e,!o)])?l=!0:o&&(e.altKey||e.metaKey||e.ctrlKey)&&!(L.windows&&e.ctrlKey&&e.altKey)&&!(L.mac&&e.altKey&&!(e.ctrlKey||e.metaKey))&&(m=Wt[e.keyCode])&&m!=r?(u(O[a+os(m,e,!0)])||e.shiftKey&&(p=ln[e.keyCode])!=r&&p!=m&&u(O[a+os(p,e,!1)]))&&(l=!0):o&&e.shiftKey&&u(O[a+os(r,e,!0)])&&(l=!0),!l&&u(O._any)&&(l=!0)),c&&(l=!0),l&&h&&e.stopPropagation(),Ba=null,l}var Wu=ie.define({map(i,e){return i==null?null:e.mapPos(i)}}),Gn=fe.define({create(){return null},update(i,e){return i!=null&&(i=e.changes.mapPos(i)),e.effects.reduce((t,n)=>n.is(Wu)?n.value:t,i)}}),UQ=Ye.fromClass(class{constructor(i){this.view=i,this.cursor=null,this.measureReq={read:this.readPos.bind(this),write:this.drawCursor.bind(this)}}update(i){var e;let t=i.state.field(Gn);t==null?this.cursor!=null&&((e=this.cursor)===null||e===void 0||e.remove(),this.cursor=null):(this.cursor||(this.cursor=this.view.scrollDOM.appendChild(document.createElement("div")),this.cursor.className="cm-dropCursor"),(i.startState.field(Gn)!=t||i.docChanged||i.geometryChanged)&&this.view.requestMeasure(this.measureReq))}readPos(){let{view:i}=this,e=i.state.field(Gn),t=e!=null&&i.coordsAtPos(e);if(!t)return null;let n=i.scrollDOM.getBoundingClientRect();return{left:t.left-n.left+i.scrollDOM.scrollLeft*i.scaleX,top:t.top-n.top+i.scrollDOM.scrollTop*i.scaleY,height:t.bottom-t.top}}drawCursor(i){if(this.cursor){let{scaleX:e,scaleY:t}=this.view;i?(this.cursor.style.left=i.left/e+"px",this.cursor.style.top=i.top/t+"px",this.cursor.style.height=i.height/t+"px"):this.cursor.style.left="-100000px"}}destroy(){this.cursor&&this.cursor.remove()}setDropPos(i){this.view.state.field(Gn)!=i&&this.view.dispatch({effects:Wu.of(i)})}},{eventObservers:{dragover(i){this.setDropPos(this.view.posAtCoords({x:i.clientX,y:i.clientY}))},dragleave(i){(i.target==this.view.contentDOM||!this.view.contentDOM.contains(i.relatedTarget))&&this.setDropPos(null)},dragend(){this.setDropPos(null)},drop(){this.setDropPos(null)}}});function ju(){return[Gn,UQ]}var h$=/x/.unicode!=null?"gu":"g";var Yt=class extends ot{compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}eq(e){return!1}destroy(e){}};Yt.prototype.elementClass="";Yt.prototype.toDOM=void 0;Yt.prototype.mapMode=ge.TrackBefore;Yt.prototype.startSide=Yt.prototype.endSide=-1;Yt.prototype.point=!0;var GQ=0,Ie=class{constructor(e,t){this.from=e,this.to=t}},I=class{constructor(e={}){this.id=GQ++,this.perNode=!!e.perNode,this.deserialize=e.deserialize||(()=>{throw new Error("This node type doesn't define a deserialize function")}),this.combine=e.combine||null}add(e){if(this.perNode)throw new RangeError("Can't add per-node props to node types");return typeof e!="function"&&(e=de.match(e)),t=>{let n=e(t);return n===void 0?null:[this,n]}}};I.closedBy=new I({deserialize:i=>i.split(" ")});I.openedBy=new I({deserialize:i=>i.split(" ")});I.group=new I({deserialize:i=>i.split(" ")});I.isolate=new I({deserialize:i=>{if(i&&i!="rtl"&&i!="ltr"&&i!="auto")throw new RangeError("Invalid value for isolate: "+i);return i||"auto"}});I.contextHash=new I({perNode:!0});I.lookAhead=new I({perNode:!0});I.mounted=new I({perNode:!0});var Oi=class{constructor(e,t,n,r=!1){this.tree=e,this.overlay=t,this.parser=n,this.bracketed=r}static get(e){return e&&e.props&&e.props[I.mounted.id]}},NQ=Object.create(null),de=class i{constructor(e,t,n,r=0){this.name=e,this.props=t,this.id=n,this.flags=r}static define(e){let t=e.props&&e.props.length?Object.create(null):NQ,n=(e.top?1:0)|(e.skipped?2:0)|(e.error?4:0)|(e.name==null?8:0),r=new i(e.name||"",t,e.id,n);if(e.props){for(let s of e.props)if(Array.isArray(s)||(s=s(r)),s){if(s[0].perNode)throw new RangeError("Can't store a per-node prop on a node type");t[s[0].id]=s[1]}}return r}prop(e){return this.props[e.id]}get isTop(){return(this.flags&1)>0}get isSkipped(){return(this.flags&2)>0}get isError(){return(this.flags&4)>0}get isAnonymous(){return(this.flags&8)>0}is(e){if(typeof e=="string"){if(this.name==e)return!0;let t=this.prop(I.group);return t?t.indexOf(e)>-1:!1}return this.id==e}static match(e){let t=Object.create(null);for(let n in e)for(let r of n.split(" "))t[r]=e[n];return n=>{for(let r=n.prop(I.group),s=-1;s<(r?r.length:0);s++){let o=t[s<0?n.name:r[s]];if(o)return o}}}};de.none=new de("",Object.create(null),0,8);var It=class i{constructor(e){this.types=e;for(let t=0;t0;for(let l=this.cursor(o|te.IncludeAnonymous);;){let c=!1;if(l.from<=s&&l.to>=r&&(!a&&l.type.isAnonymous||t(l)!==!1)){if(l.firstChild())continue;c=!0}for(;c&&n&&(a||!l.type.isAnonymous)&&n(l),!l.nextSibling();){if(!l.parent())return;c=!0}}}prop(e){return e.perNode?this.props?this.props[e.id]:void 0:this.type.prop(e)}get propValues(){let e=[];if(this.props)for(let t in this.props)e.push([+t,this.props[t]]);return e}balance(e={}){return this.children.length<=8?this:fl(de.none,this.children,this.positions,0,this.children.length,0,this.length,(t,n,r)=>new i(this.type,t,n,r,this.propValues),e.makeTree||((t,n,r)=>new i(de.none,t,n,r)))}static build(e){return HQ(e)}};K.empty=new K(de.none,[],[],0);var tl=class i{constructor(e,t){this.buffer=e,this.index=t}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}get pos(){return this.index}next(){this.index-=4}fork(){return new i(this.buffer,this.index)}},di=class i{constructor(e,t,n){this.buffer=e,this.length=t,this.set=n}get type(){return de.none}toString(){let e=[];for(let t=0;t0));l=o[l+3]);return a}slice(e,t,n){let r=this.buffer,s=new Uint16Array(t-e),o=0;for(let a=e,l=0;a=e&&te;case 1:return t<=e&&n>e;case 2:return n>e;case 4:return!0}}function ar(i,e,t,n){for(var r;i.from==i.to||(t<1?i.from>=e:i.from>e)||(t>-1?i.to<=e:i.to0?a.length:-1;e!=c;e+=t){let h=a[e],f=l[e]+o.from,u;if(!(!(s&te.EnterBracketed&&h instanceof K&&(u=Oi.get(h))&&!u.overlay&&u.bracketed&&n>=f&&n<=f+h.length)&&!Nu(r,n,f,f+h.length))){if(h instanceof di){if(s&te.ExcludeBuffers)continue;let O=h.findChild(0,h.buffer.length,t,n-f,r);if(O>-1)return new Li(new nl(o,h,e,f),null,O)}else if(s&te.IncludeAnonymous||!h.type.isAnonymous||hl(h)){let O;if(!(s&te.IgnoreMounts)&&(O=Oi.get(h))&&!O.overlay)return new i(O.tree,f,e,o);let m=new i(h,f,e,o);return s&te.IncludeAnonymous||!m.type.isAnonymous?m:m.nextChild(t<0?h.children.length-1:0,t,n,r,s)}}}if(s&te.IncludeAnonymous||!o.type.isAnonymous||(o.index>=0?e=o.index+t:e=t<0?-1:o._parent._tree.children.length,o=o._parent,!o))return null}}get firstChild(){return this.nextChild(0,1,0,4)}get lastChild(){return this.nextChild(this._tree.children.length-1,-1,0,4)}childAfter(e){return this.nextChild(0,1,e,2)}childBefore(e){return this.nextChild(this._tree.children.length-1,-1,e,-2)}prop(e){return this._tree.prop(e)}enter(e,t,n=0){let r;if(!(n&te.IgnoreOverlays)&&(r=Oi.get(this._tree))&&r.overlay){let s=e-this.from,o=n&te.EnterBracketed&&r.bracketed;for(let{from:a,to:l}of r.overlay)if((t>0||o?a<=s:a=s:l>s))return new i(r.tree,r.overlay[0].from+this.from,-1,this)}return this.nextChild(0,1,e,t,n)}nextSignificantParent(){let e=this;for(;e.type.isAnonymous&&e._parent;)e=e._parent;return e}get parent(){return this._parent?this._parent.nextSignificantParent():null}get nextSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index+1,1,0,4):null}get prevSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index-1,-1,0,4):null}get tree(){return this._tree}toTree(){return this._tree}toString(){return this._tree.toString()}};function Du(i,e,t,n){let r=i.cursor(),s=[];if(!r.firstChild())return s;if(t!=null){for(let o=!1;!o;)if(o=r.type.is(t),!r.nextSibling())return s}for(;;){if(n!=null&&r.type.is(n))return s;if(r.type.is(e)&&s.push(r.node),!r.nextSibling())return n==null?s:[]}}function il(i,e,t=e.length-1){for(let n=i;t>=0;n=n.parent){if(!n)return!1;if(!n.type.isAnonymous){if(e[t]&&e[t]!=n.name)return!1;t--}}return!0}var nl=class{constructor(e,t,n,r){this.parent=e,this.buffer=t,this.index=n,this.start=r}},Li=class i extends vs{get name(){return this.type.name}get from(){return this.context.start+this.context.buffer.buffer[this.index+1]}get to(){return this.context.start+this.context.buffer.buffer[this.index+2]}constructor(e,t,n){super(),this.context=e,this._parent=t,this.index=n,this.type=e.buffer.set.types[e.buffer.buffer[n]]}child(e,t,n){let{buffer:r}=this.context,s=r.findChild(this.index+4,r.buffer[this.index+3],e,t-this.context.start,n);return s<0?null:new i(this.context,this,s)}get firstChild(){return this.child(1,0,4)}get lastChild(){return this.child(-1,0,4)}childAfter(e){return this.child(1,e,2)}childBefore(e){return this.child(-1,e,-2)}prop(e){return this.type.prop(e)}enter(e,t,n=0){if(n&te.ExcludeBuffers)return null;let{buffer:r}=this.context,s=r.findChild(this.index+4,r.buffer[this.index+3],t>0?1:-1,e-this.context.start,t);return s<0?null:new i(this.context,this,s)}get parent(){return this._parent||this.context.parent.nextSignificantParent()}externalSibling(e){return this._parent?null:this.context.parent.nextChild(this.context.index+e,e,0,4)}get nextSibling(){let{buffer:e}=this.context,t=e.buffer[this.index+3];return t<(this._parent?e.buffer[this._parent.index+3]:e.buffer.length)?new i(this.context,this._parent,t):this.externalSibling(1)}get prevSibling(){let{buffer:e}=this.context,t=this._parent?this._parent.index+4:0;return this.index==t?this.externalSibling(-1):new i(this.context,this._parent,e.findChild(t,this.index,-1,0,4))}get tree(){return null}toTree(){let e=[],t=[],{buffer:n}=this.context,r=this.index+4,s=n.buffer[this.index+3];if(s>r){let o=n.buffer[this.index+1];e.push(n.slice(r,s,o)),t.push(0)}return new K(this.type,e,t,this.to-this.from)}toString(){return this.context.buffer.childString(this.index)}};function Fu(i){if(!i.length)return null;let e=0,t=i[0];for(let s=1;st.from||o.to=e){let a=new Be(o.tree,o.overlay[0].from+s.from,-1,s);(r||(r=[n])).push(ar(a,e,t,!1))}}return r?Fu(r):n}var bn=class{get name(){return this.type.name}constructor(e,t=0){if(this.buffer=null,this.stack=[],this.index=0,this.bufferNode=null,this.mode=t&~te.EnterBracketed,e instanceof Be)this.yieldNode(e);else{this._tree=e.context.parent,this.buffer=e.context;for(let n=e._parent;n;n=n._parent)this.stack.unshift(n.index);this.bufferNode=e,this.yieldBuf(e.index)}}yieldNode(e){return e?(this._tree=e,this.type=e.type,this.from=e.from,this.to=e.to,!0):!1}yieldBuf(e,t){this.index=e;let{start:n,buffer:r}=this.buffer;return this.type=t||r.set.types[r.buffer[e]],this.from=n+r.buffer[e+1],this.to=n+r.buffer[e+2],!0}yield(e){return e?e instanceof Be?(this.buffer=null,this.yieldNode(e)):(this.buffer=e.context,this.yieldBuf(e.index,e.type)):!1}toString(){return this.buffer?this.buffer.buffer.childString(this.index):this._tree.toString()}enterChild(e,t,n){if(!this.buffer)return this.yield(this._tree.nextChild(e<0?this._tree._tree.children.length-1:0,e,t,n,this.mode));let{buffer:r}=this.buffer,s=r.findChild(this.index+4,r.buffer[this.index+3],e,t-this.buffer.start,n);return s<0?!1:(this.stack.push(this.index),this.yieldBuf(s))}firstChild(){return this.enterChild(1,0,4)}lastChild(){return this.enterChild(-1,0,4)}childAfter(e){return this.enterChild(1,e,2)}childBefore(e){return this.enterChild(-1,e,-2)}enter(e,t,n=this.mode){return this.buffer?n&te.ExcludeBuffers?!1:this.enterChild(1,e,t):this.yield(this._tree.enter(e,t,n))}parent(){if(!this.buffer)return this.yieldNode(this.mode&te.IncludeAnonymous?this._tree._parent:this._tree.parent);if(this.stack.length)return this.yieldBuf(this.stack.pop());let e=this.mode&te.IncludeAnonymous?this.buffer.parent:this.buffer.parent.nextSignificantParent();return this.buffer=null,this.yieldNode(e)}sibling(e){if(!this.buffer)return this._tree._parent?this.yield(this._tree.index<0?null:this._tree._parent.nextChild(this._tree.index+e,e,0,4,this.mode)):!1;let{buffer:t}=this.buffer,n=this.stack.length-1;if(e<0){let r=n<0?0:this.stack[n]+4;if(this.index!=r)return this.yieldBuf(t.findChild(r,this.index,-1,0,4))}else{let r=t.buffer[this.index+3];if(r<(n<0?t.buffer.length:t.buffer[this.stack[n]+3]))return this.yieldBuf(r)}return n<0?this.yield(this.buffer.parent.nextChild(this.buffer.index+e,e,0,4,this.mode)):!1}nextSibling(){return this.sibling(1)}prevSibling(){return this.sibling(-1)}atLastNode(e){let t,n,{buffer:r}=this;if(r){if(e>0){if(this.index-1)for(let s=t+e,o=e<0?-1:n._tree.children.length;s!=o;s+=e){let a=n._tree.children[s];if(this.mode&te.IncludeAnonymous||a instanceof di||!a.type.isAnonymous||hl(a))return!1}return!0}move(e,t){if(t&&this.enterChild(e,0,4))return!0;for(;;){if(this.sibling(e))return!0;if(this.atLastNode(e)||!this.parent())return!1}}next(e=!0){return this.move(1,e)}prev(e=!0){return this.move(-1,e)}moveTo(e,t=0){for(;(this.from==this.to||(t<1?this.from>=e:this.from>e)||(t>-1?this.to<=e:this.to=0;){for(let o=e;o;o=o._parent)if(o.index==r){if(r==this.index)return o;t=o,n=s+1;break e}r=this.stack[--s]}for(let r=n;r=0;s--){if(s<0)return il(this._tree,e,r);let o=n[t.buffer[this.stack[s]]];if(!o.isAnonymous){if(e[r]&&e[r]!=o.name)return!1;r--}}return!0}};function hl(i){return i.children.some(e=>e instanceof di||!e.type.isAnonymous||hl(e))}function HQ(i){var e;let{buffer:t,nodeSet:n,maxBufferLength:r=1024,reused:s=[],minRepeatType:o=n.types.length}=i,a=Array.isArray(t)?new tl(t,t.length):t,l=n.types,c=0,h=0;function f(P,$,Z,_,W,T){let{id:C,start:k,end:w,size:z}=a,F=h,y=c;if(z<0)if(a.next(),z==-1){let B=s[C];Z.push(B),_.push(k-P);return}else if(z==-3){c=C;return}else if(z==-4){h=C;return}else throw new RangeError(`Unrecognized record size: ${z}`);let j=l[C],ye,rt,X=k-P;if(w-k<=r&&(rt=b(a.pos-$,W))){let B=new Uint16Array(rt.size-rt.skip),N=a.pos-rt.size,U=B.length;for(;a.pos>N;)U=g(rt.start,B,U);ye=new di(B,w-rt.start,n),X=rt.start-P}else{let B=a.pos-z;a.next();let N=[],U=[],ae=C>=o?C:-1,re=0,$e=w;for(;a.pos>B;)ae>=0&&a.id==ae&&a.size>=0?(a.end<=$e-r&&(m(N,U,k,re,a.end,$e,ae,F,y),re=N.length,$e=a.end),a.next()):T>2500?u(k,B,N,U):f(k,B,N,U,ae,T+1);if(ae>=0&&re>0&&re-1&&re>0){let Ae=O(j,y);ye=fl(j,N,U,0,N.length,0,w-k,Ae,Ae)}else ye=p(j,N,U,w-k,F-w,y)}Z.push(ye),_.push(X)}function u(P,$,Z,_){let W=[],T=0,C=-1;for(;a.pos>$;){let{id:k,start:w,end:z,size:F}=a;if(F>4)a.next();else{if(C>-1&&w=0;z-=3)k[F++]=W[z],k[F++]=W[z+1]-w,k[F++]=W[z+2]-w,k[F++]=F;Z.push(new di(k,W[2]-w,n)),_.push(w-P)}}function O(P,$){return(Z,_,W)=>{let T=0,C=Z.length-1,k,w;if(C>=0&&(k=Z[C])instanceof K){if(!C&&k.type==P&&k.length==W)return k;(w=k.prop(I.lookAhead))&&(T=_[C]+k.length+w)}return p(P,Z,_,W,T,$)}}function m(P,$,Z,_,W,T,C,k,w){let z=[],F=[];for(;P.length>_;)z.push(P.pop()),F.push($.pop()+Z-W);P.push(p(n.types[C],z,F,T-W,k-T,w)),$.push(W-Z)}function p(P,$,Z,_,W,T,C){if(T){let k=[I.contextHash,T];C=C?[k].concat(C):[k]}if(W>25){let k=[I.lookAhead,W];C=C?[k].concat(C):[k]}return new K(P,$,Z,_,C)}function b(P,$){let Z=a.fork(),_=0,W=0,T=0,C=Z.end-r,k={size:0,start:0,skip:0};e:for(let w=Z.pos-P;Z.pos>w;){let z=Z.size;if(Z.id==$&&z>=0){k.size=_,k.start=W,k.skip=T,T+=4,_+=4,Z.next();continue}let F=Z.pos-z;if(z<0||F=o?4:0,j=Z.start;for(Z.next();Z.pos>F;){if(Z.size<0)if(Z.size==-3||Z.size==-4)y+=4;else break e;else Z.id>=o&&(y+=4);Z.next()}W=j,_+=z,T+=y}return($<0||_==P)&&(k.size=_,k.start=W,k.skip=T),k.size>4?k:void 0}function g(P,$,Z){let{id:_,start:W,end:T,size:C}=a;if(a.next(),C>=0&&_4){let w=a.pos-(C-4);for(;a.pos>w;)Z=g(P,$,Z)}$[--Z]=k,$[--Z]=T-P,$[--Z]=W-P,$[--Z]=_}else C==-3?c=_:C==-4&&(h=_);return Z}let Q=[],S=[];for(;a.pos>0;)f(i.start||0,i.bufferStart||0,Q,S,-1,0);let x=(e=i.length)!==null&&e!==void 0?e:Q.length?S[0]+Q[0].length:0;return new K(l[i.topID],Q.reverse(),S.reverse(),x)}var Yu=new WeakMap;function Ps(i,e){if(!i.isAnonymous||e instanceof di||e.type!=i)return 1;let t=Yu.get(e);if(t==null){t=1;for(let n of e.children){if(n.type!=i||!(n instanceof K)){t=1;break}t+=Ps(i,n)}Yu.set(e,t)}return t}function fl(i,e,t,n,r,s,o,a,l){let c=0;for(let m=n;m=h)break;$+=Z}if(S==x+1){if($>h){let Z=m[x];O(Z.children,Z.positions,0,Z.children.length,p[x]+Q);continue}f.push(m[x])}else{let Z=p[S-1]+m[S-1].length-P;f.push(fl(i,m,p,x,S,P,Z,null,l))}u.push(P+Q-s)}}return O(e,t,n,r,0),(a||l)(f,u,o)}var pi=class{constructor(){this.map=new WeakMap}setBuffer(e,t,n){let r=this.map.get(e);r||this.map.set(e,r=new Map),r.set(t,n)}getBuffer(e,t){let n=this.map.get(e);return n&&n.get(t)}set(e,t){e instanceof Li?this.setBuffer(e.context.buffer,e.index,t):e instanceof Be&&this.map.set(e.tree,t)}get(e){return e instanceof Li?this.getBuffer(e.context.buffer,e.index):e instanceof Be?this.map.get(e.tree):void 0}cursorSet(e,t){e.buffer?this.setBuffer(e.buffer.buffer,e.index,t):this.map.set(e.tree,t)}cursorGet(e){return e.buffer?this.getBuffer(e.buffer.buffer,e.index):this.map.get(e.tree)}},Bt=class i{constructor(e,t,n,r,s=!1,o=!1){this.from=e,this.to=t,this.tree=n,this.offset=r,this.open=(s?1:0)|(o?2:0)}get openStart(){return(this.open&1)>0}get openEnd(){return(this.open&2)>0}static addTree(e,t=[],n=!1){let r=[new i(0,e.length,e,0,!1,n)];for(let s of t)s.to>e.length&&r.push(s);return r}static applyChanges(e,t,n=128){if(!t.length)return e;let r=[],s=1,o=e.length?e[0]:null;for(let a=0,l=0,c=0;;a++){let h=a=n)for(;o&&o.from=u.from||f<=u.to||c){let O=Math.max(u.from,l)-c,m=Math.min(u.to,f)-c;u=O>=m?null:new i(O,m,u.tree,u.offset+c,a>0,!!h)}if(u&&r.push(u),o.to>f)break;o=snew Ie(r.from,r.to)):[new Ie(0,0)]:[new Ie(0,e.length)],this.createParse(e,t||[],n)}parse(e,t,n){let r=this.startParse(e,t,n);for(;;){let s=r.advance();if(s)return s}}},sl=class{constructor(e){this.string=e}get length(){return this.string.length}chunk(e){return this.string.slice(e)}get lineChunks(){return!1}read(e,t){return this.string.slice(e,t)}};function Sn(i){return(e,t,n,r)=>new ll(e,i,t,n,r)}var $s=class{constructor(e,t,n,r,s,o){this.parser=e,this.parse=t,this.overlay=n,this.bracketed=r,this.target=s,this.from=o}};function Iu(i){if(!i.length||i.some(e=>e.from>=e.to))throw new RangeError("Invalid inner parse ranges given: "+JSON.stringify(i))}var ol=class{constructor(e,t,n,r,s,o,a,l){this.parser=e,this.predicate=t,this.mounts=n,this.index=r,this.start=s,this.bracketed=o,this.target=a,this.prev=l,this.depth=0,this.ranges=[]}},al=new I({perNode:!0}),ll=class{constructor(e,t,n,r,s){this.nest=t,this.input=n,this.fragments=r,this.ranges=s,this.inner=[],this.innerDone=0,this.baseTree=null,this.stoppedAt=null,this.baseParse=e}advance(){if(this.baseParse){let n=this.baseParse.advance();if(!n)return null;if(this.baseParse=null,this.baseTree=n,this.startInner(),this.stoppedAt!=null)for(let r of this.inner)r.parse.stopAt(this.stoppedAt)}if(this.innerDone==this.inner.length){let n=this.baseTree;return this.stoppedAt!=null&&(n=new K(n.type,n.children,n.positions,n.length,n.propValues.concat([[al,this.stoppedAt]]))),n}let e=this.inner[this.innerDone],t=e.parse.advance();if(t){this.innerDone++;let n=Object.assign(Object.create(null),e.target.props);n[I.mounted.id]=new Oi(t,e.overlay,e.parser,e.bracketed),e.target.props=n}return null}get parsedPos(){if(this.baseParse)return 0;let e=this.input.length;for(let t=this.innerDone;t=this.stoppedAt)a=!1;else if(e.hasNode(r)){if(t){let c=t.mounts.find(h=>h.frag.from<=r.from&&h.frag.to>=r.to&&h.mount.overlay);if(c)for(let h of c.mount.overlay){let f=h.from+c.pos,u=h.to+c.pos;f>=r.from&&u<=r.to&&!t.ranges.some(O=>O.fromf)&&t.ranges.push({from:f,to:u})}}a=!1}else if(n&&(o=KQ(n.ranges,r.from,r.to)))a=o!=2;else if(!r.type.isAnonymous&&(s=this.nest(r,this.input))&&(r.fromnew Ie(f.from-r.from,f.to-r.from)):null,!!s.bracketed,r.tree,h.length?h[0].from:r.from)),s.overlay?h.length&&(n={ranges:h,depth:0,prev:n}):a=!1}}else if(t&&(l=t.predicate(r))&&(l===!0&&(l=new Ie(r.from,r.to)),l.from=0&&t.ranges[c].to==l.from?t.ranges[c]={from:t.ranges[c].from,to:l.to}:t.ranges.push(l)}if(a&&r.firstChild())t&&t.depth++,n&&n.depth++;else for(;!r.nextSibling();){if(!r.parent())break e;if(t&&!--t.depth){let c=Uu(this.ranges,t.ranges);c.length&&(Iu(c),this.inner.splice(t.index,0,new $s(t.parser,t.parser.startParse(this.input,Gu(t.mounts,c),c),t.ranges.map(h=>new Ie(h.from-t.start,h.to-t.start)),t.bracketed,t.target,c[0].from))),t=t.prev}n&&!--n.depth&&(n=n.prev)}}}};function KQ(i,e,t){for(let n of i){if(n.from>=t)break;if(n.to>e)return n.from<=e&&n.to>=t?2:1}return 0}function Bu(i,e,t,n,r,s){if(e=e&&t.enter(n,1,te.IgnoreOverlays|te.ExcludeBuffers)))if(t.to<=e)t.next(!1)||(this.done=!0);else break}hasNode(e){if(this.moveTo(e.from),!this.done&&this.cursor.from+this.offset==e.from&&this.cursor.tree)for(let t=this.cursor.tree;;){if(t==e.tree)return!0;if(t.children.length&&t.positions[0]==0&&t.children[0]instanceof K)t=t.children[0];else break}return!1}},cl=class{constructor(e){var t;if(this.fragments=e,this.curTo=0,this.fragI=0,e.length){let n=this.curFrag=e[0];this.curTo=(t=n.tree.prop(al))!==null&&t!==void 0?t:n.to,this.inner=new Ts(n.tree,-n.offset)}else this.curFrag=this.inner=null}hasNode(e){for(;this.curFrag&&e.from>=this.curTo;)this.nextFrag();return this.curFrag&&this.curFrag.from<=e.from&&this.curTo>=e.to&&this.inner.hasNode(e)}nextFrag(){var e;if(this.fragI++,this.fragI==this.fragments.length)this.curFrag=this.inner=null;else{let t=this.curFrag=this.fragments[this.fragI];this.curTo=(e=t.tree.prop(al))!==null&&e!==void 0?e:t.to,this.inner=new Ts(t.tree,-t.offset)}}findMounts(e,t){var n;let r=[];if(this.inner){this.inner.cursor.moveTo(e,1);for(let s=this.inner.cursor.node;s;s=s.parent){let o=(n=s.tree)===null||n===void 0?void 0:n.prop(I.mounted);if(o&&o.parser==t)for(let a=this.fragI;a=s.to)break;l.tree==this.curFrag.tree&&r.push({frag:l,pos:s.from-l.offset,mount:o})}}}return r}};function Uu(i,e){let t=null,n=e;for(let r=1,s=0;r=a)break;l.to<=o||(t||(n=t=e.slice()),l.froma&&t.splice(s+1,0,new Ie(a,l.to))):l.to>a?t[s--]=new Ie(a,l.to):t.splice(s--,1))}}return n}function eb(i,e,t,n){let r=0,s=0,o=!1,a=!1,l=-1e9,c=[];for(;;){let h=r==i.length?1e9:o?i[r].to:i[r].from,f=s==e.length?1e9:a?e[s].to:e[s].from;if(o!=a){let u=Math.max(l,t),O=Math.min(h,f,n);unew Ie(u.from+n,u.to+n)),f=eb(e,h,l,c);for(let u=0,O=l;;u++){let m=u==f.length,p=m?c:f[u].from;if(p>O&&t.push(new Bt(O,p,r.tree,-o,s.from>=O||s.openStart,s.to<=p||s.openEnd)),m)break;O=f[u].to}}else t.push(new Bt(l,c,r.tree,-o,s.from>=o||s.openStart,s.to<=a||s.openEnd))}return t}var tb=0,et=class i{constructor(e,t,n,r){this.name=e,this.set=t,this.base=n,this.modified=r,this.id=tb++}toString(){let{name:e}=this;for(let t of this.modified)t.name&&(e=`${t.name}(${e})`);return e}static define(e,t){let n=typeof e=="string"?e:"?";if(e instanceof i&&(t=e),t?.base)throw new Error("Can not derive from a modified tag");let r=new i(n,[],null,[]);if(r.set.push(r),t)for(let s of t.set)r.set.push(s);return r}static defineModifier(e){let t=new Rs(e);return n=>n.modified.indexOf(t)>-1?n:Rs.get(n.base||n,n.modified.concat(t).sort((r,s)=>r.id-s.id))}},ib=0,Rs=class i{constructor(e){this.name=e,this.instances=[],this.id=ib++}static get(e,t){if(!t.length)return e;let n=t[0].instances.find(a=>a.base==e&&nb(t,a.modified));if(n)return n;let r=[],s=new et(e.name,r,e,t);for(let a of t)a.instances.push(s);let o=rb(t);for(let a of e.set)if(!a.modified.length)for(let l of o)r.push(i.get(a,l));return s}};function nb(i,e){return i.length==e.length&&i.every((t,n)=>t==e[n])}function rb(i){let e=[[]];for(let t=0;tn.length-t.length)}function Qe(i){let e=Object.create(null);for(let t in i){let n=i[t];Array.isArray(n)||(n=[n]);for(let r of t.split(" "))if(r){let s=[],o=2,a=r;for(let f=0;;){if(a=="..."&&f>0&&f+3==r.length){o=1;break}let u=/^"(?:[^"\\]|\\.)*?"|[^\/!]+/.exec(a);if(!u)throw new RangeError("Invalid path: "+r);if(s.push(u[0]=="*"?"":u[0][0]=='"'?JSON.parse(u[0]):u[0]),f+=u[0].length,f==r.length)break;let O=r[f++];if(f==r.length&&O=="!"){o=0;break}if(O!="/")throw new RangeError("Invalid path: "+r);a=r.slice(f)}let l=s.length-1,c=s[l];if(!c)throw new RangeError("Invalid path: "+r);let h=new Wi(n,o,l>0?s.slice(0,l):null);e[c]=h.sort(e[c])}}return Ju.add(e)}var Ju=new I({combine(i,e){let t,n,r;for(;i||e;){if(!i||e&&i.depth>=e.depth?(r=e,e=e.next):(r=i,i=i.next),t&&t.mode==r.mode&&!r.context&&!t.context)continue;let s=new Wi(r.tags,r.mode,r.context);t?t.next=s:n=s,t=s}return n}}),Wi=class{constructor(e,t,n,r){this.tags=e,this.mode=t,this.context=n,this.next=r}get opaque(){return this.mode==0}get inherit(){return this.mode==1}sort(e){return!e||e.depth{let o=r;for(let a of s)for(let l of a.set){let c=t[l.id];if(c){o=o?o+" "+c:c;break}}return o},scope:n}}function sb(i,e){let t=null;for(let n of i){let r=n.style(e);r&&(t=t?t+" "+r:r)}return t}function As(i,e,t,n=0,r=i.length){let s=new Ol(n,Array.isArray(e)?e:[e],t);s.highlightRange(i.cursor(),n,r,"",s.highlighters),s.flush(r)}var Ol=class{constructor(e,t,n){this.at=e,this.highlighters=t,this.span=n,this.class=""}startSpan(e,t){t!=this.class&&(this.flush(e),e>this.at&&(this.at=e),this.class=t)}flush(e){e>this.at&&this.class&&this.span(this.at,e,this.class)}highlightRange(e,t,n,r,s){let{type:o,from:a,to:l}=e;if(a>=n||l<=t)return;o.isTop&&(s=this.highlighters.filter(O=>!O.scope||O.scope(o)));let c=r,h=ob(e)||Wi.empty,f=sb(s,h.tags);if(f&&(c&&(c+=" "),c+=f,h.mode==1&&(r+=(r?" ":"")+f)),this.startSpan(Math.max(t,a),c),h.opaque)return;let u=e.tree&&e.tree.prop(I.mounted);if(u&&u.overlay){let O=e.node.enter(u.overlay[0].from+a,1),m=this.highlighters.filter(b=>!b.scope||b.scope(u.tree.type)),p=e.firstChild();for(let b=0,g=a;;b++){let Q=b=S||!e.nextSibling())););if(!Q||S>n)break;g=Q.to+a,g>t&&(this.highlightRange(O.cursor(),Math.max(t,Q.from+a),Math.min(n,g),"",m),this.startSpan(Math.min(n,g),c))}p&&e.parent()}else if(e.firstChild()){u&&(r="");do if(!(e.to<=t)){if(e.from>=n)break;this.highlightRange(e,t,n,r,s),this.startSpan(Math.min(n,e.to),c)}while(e.nextSibling());e.parent()}}};function ob(i){let e=i.type.prop(Ju);for(;e&&e.context&&!i.matchContext(e.context);)e=e.next;return e||null}var E=et.define,Cs=E(),mi=E(),Hu=E(mi),Ku=E(mi),gi=E(),Xs=E(gi),ul=E(gi),Et=E(),Mi=E(Et),At=E(),Zt=E(),dl=E(),lr=E(dl),_s=E(),d={comment:Cs,lineComment:E(Cs),blockComment:E(Cs),docComment:E(Cs),name:mi,variableName:E(mi),typeName:Hu,tagName:E(Hu),propertyName:Ku,attributeName:E(Ku),className:E(mi),labelName:E(mi),namespace:E(mi),macroName:E(mi),literal:gi,string:Xs,docString:E(Xs),character:E(Xs),attributeValue:E(Xs),number:ul,integer:E(ul),float:E(ul),bool:E(gi),regexp:E(gi),escape:E(gi),color:E(gi),url:E(gi),keyword:At,self:E(At),null:E(At),atom:E(At),unit:E(At),modifier:E(At),operatorKeyword:E(At),controlKeyword:E(At),definitionKeyword:E(At),moduleKeyword:E(At),operator:Zt,derefOperator:E(Zt),arithmeticOperator:E(Zt),logicOperator:E(Zt),bitwiseOperator:E(Zt),compareOperator:E(Zt),updateOperator:E(Zt),definitionOperator:E(Zt),typeOperator:E(Zt),controlOperator:E(Zt),punctuation:dl,separator:E(dl),bracket:lr,angleBracket:E(lr),squareBracket:E(lr),paren:E(lr),brace:E(lr),content:Et,heading:Mi,heading1:E(Mi),heading2:E(Mi),heading3:E(Mi),heading4:E(Mi),heading5:E(Mi),heading6:E(Mi),contentSeparator:E(Et),list:E(Et),quote:E(Et),emphasis:E(Et),strong:E(Et),link:E(Et),monospace:E(Et),strikethrough:E(Et),inserted:E(),deleted:E(),changed:E(),invalid:E(),meta:_s,documentMeta:E(_s),annotation:E(_s),processingInstruction:E(_s),definition:et.defineModifier("definition"),constant:et.defineModifier("constant"),function:et.defineModifier("function"),standard:et.defineModifier("standard"),local:et.defineModifier("local"),special:et.defineModifier("special")};for(let i in d){let e=d[i];e instanceof et&&(e.name=i)}var m$=pl([{tag:d.link,class:"tok-link"},{tag:d.heading,class:"tok-heading"},{tag:d.emphasis,class:"tok-emphasis"},{tag:d.strong,class:"tok-strong"},{tag:d.keyword,class:"tok-keyword"},{tag:d.atom,class:"tok-atom"},{tag:d.bool,class:"tok-bool"},{tag:d.url,class:"tok-url"},{tag:d.labelName,class:"tok-labelName"},{tag:d.inserted,class:"tok-inserted"},{tag:d.deleted,class:"tok-deleted"},{tag:d.literal,class:"tok-literal"},{tag:d.string,class:"tok-string"},{tag:d.number,class:"tok-number"},{tag:[d.regexp,d.escape,d.special(d.string)],class:"tok-string2"},{tag:d.variableName,class:"tok-variableName"},{tag:d.local(d.variableName),class:"tok-variableName tok-local"},{tag:d.definition(d.variableName),class:"tok-variableName tok-definition"},{tag:d.special(d.variableName),class:"tok-variableName2"},{tag:d.definition(d.propertyName),class:"tok-propertyName tok-definition"},{tag:d.typeName,class:"tok-typeName"},{tag:d.namespace,class:"tok-namespace"},{tag:d.className,class:"tok-className"},{tag:d.macroName,class:"tok-macroName"},{tag:d.propertyName,class:"tok-propertyName"},{tag:d.operator,class:"tok-operator"},{tag:d.comment,class:"tok-comment"},{tag:d.meta,class:"tok-meta"},{tag:d.invalid,class:"tok-invalid"},{tag:d.punctuation,class:"tok-punctuation"}]);var ml,xt=new I;function xn(i){return Y.define({combine:i?e=>e.concat(i):void 0})}var zs=new I,we=class{constructor(e,t,n=[],r=""){this.data=e,this.name=r,se.prototype.hasOwnProperty("tree")||Object.defineProperty(se.prototype,"tree",{get(){return G(this)}}),this.parser=t,this.extension=[yn.of(this),se.languageData.of((s,o,a)=>{let l=eO(s,o,a),c=l.type.prop(xt);if(!c)return[];let h=s.facet(c),f=l.type.prop(zs);if(f){let u=l.resolve(o-l.from,a);for(let O of f)if(O.test(u,s)){let m=s.facet(O.facet);return O.type=="replace"?m:m.concat(h)}}return h})].concat(n)}isActiveAt(e,t,n=-1){return eO(e,t,n).type.prop(xt)==this.data}findRegions(e){let t=e.facet(yn);if(t?.data==this.data)return[{from:0,to:e.doc.length}];if(!t||!t.allowsNesting)return[];let n=[],r=(s,o)=>{if(s.prop(xt)==this.data){n.push({from:o,to:o+s.length});return}let a=s.prop(I.mounted);if(a){if(a.tree.prop(xt)==this.data){if(a.overlay)for(let l of a.overlay)n.push({from:l.from+o,to:l.to+o});else n.push({from:o,to:o+s.length});return}else if(a.overlay){let l=n.length;if(r(a.tree,a.overlay[0].from+o),n.length>l)return}}for(let l=0;ln.isTop?t:void 0)]}),e.name)}configure(e,t){return new i(this.data,this.parser.configure(e),t||this.name)}get allowsNesting(){return this.parser.hasWrappers()}};function G(i){let e=i.field(we.state,!1);return e?e.tree:K.empty}function Ls(i,e,t=50){var n;let r=(n=i.field(we.state,!1))===null||n===void 0?void 0:n.context;if(!r)return null;let s=r.viewport;r.updateViewport({from:0,to:e});let o=r.isDone(e)||r.work(t,e)?r.tree:null;return r.updateViewport(s),o}function oO(i,e=i.doc.length){var t;return((t=i.field(we.state,!1))===null||t===void 0?void 0:t.context.isDone(e))||!1}var Sl=class{constructor(e){this.doc=e,this.cursorPos=0,this.string="",this.cursor=e.iter()}get length(){return this.doc.length}syncTo(e){return this.string=this.cursor.next(e-this.cursorPos).value,this.cursorPos=e+this.string.length,this.cursorPos-this.string.length}chunk(e){return this.syncTo(e),this.string}get lineChunks(){return!0}read(e,t){let n=this.cursorPos-this.string.length;return e=this.cursorPos?this.doc.sliceString(e,t):this.string.slice(e-n,t-n)}},cr=null,ji=class i{constructor(e,t,n=[],r,s,o,a,l){this.parser=e,this.state=t,this.fragments=n,this.tree=r,this.treeLen=s,this.viewport=o,this.skipped=a,this.scheduleOn=l,this.parse=null,this.tempSkipped=[]}static create(e,t,n){return new i(e,t,[],K.empty,0,n,[],null)}startParse(){return this.parser.startParse(new Sl(this.state.doc),this.fragments)}work(e,t){return t!=null&&t>=this.state.doc.length&&(t=void 0),this.tree!=K.empty&&this.isDone(t??this.state.doc.length)?(this.takeTree(),!0):this.withContext(()=>{var n;if(typeof e=="number"){let r=Date.now()+e;e=()=>Date.now()>r}for(this.parse||(this.parse=this.startParse()),t!=null&&(this.parse.stoppedAt==null||this.parse.stoppedAt>t)&&t=this.treeLen&&((this.parse.stoppedAt==null||this.parse.stoppedAt>e)&&this.parse.stopAt(e),this.withContext(()=>{for(;!(t=this.parse.advance()););}),this.treeLen=e,this.tree=t,this.fragments=this.withoutTempSkipped(Bt.addTree(this.tree,this.fragments,!0)),this.parse=null)}withContext(e){let t=cr;cr=this;try{return e()}finally{cr=t}}withoutTempSkipped(e){for(let t;t=this.tempSkipped.pop();)e=tO(e,t.from,t.to);return e}changes(e,t){let{fragments:n,tree:r,treeLen:s,viewport:o,skipped:a}=this;if(this.takeTree(),!e.empty){let l=[];if(e.iterChangedRanges((c,h,f,u)=>l.push({fromA:c,toA:h,fromB:f,toB:u})),n=Bt.applyChanges(n,l),r=K.empty,s=0,o={from:e.mapPos(o.from,-1),to:e.mapPos(o.to,1)},this.skipped.length){a=[];for(let c of this.skipped){let h=e.mapPos(c.from,1),f=e.mapPos(c.to,-1);he.from&&(this.fragments=tO(this.fragments,r,s),this.skipped.splice(n--,1))}return this.skipped.length>=t?!1:(this.reset(),!0)}reset(){this.parse&&(this.takeTree(),this.parse=null)}skipUntilInView(e,t){this.skipped.push({from:e,to:t})}static getSkippingParser(e){return new class extends Ut{createParse(t,n,r){let s=r[0].from,o=r[r.length-1].to;return{parsedPos:s,advance(){let l=cr;if(l){for(let c of r)l.tempSkipped.push(c);e&&(l.scheduleOn=l.scheduleOn?Promise.all([l.scheduleOn,e]):e)}return this.parsedPos=o,new K(de.none,[],[],o-s)},stoppedAt:null,stopAt(){}}}}}isDone(e){e=Math.min(e,this.state.doc.length);let t=this.fragments;return this.treeLen>=e&&t.length&&t[0].from==0&&t[0].to>=e}static get(){return cr}};function tO(i,e,t){return Bt.applyChanges(i,[{fromA:e,toA:t,fromB:e,toB:t}])}var hr=class i{constructor(e){this.context=e,this.tree=e.tree}apply(e){if(!e.docChanged&&this.tree==this.context.tree)return this;let t=this.context.changes(e.changes,e.state),n=this.context.treeLen==e.startState.doc.length?void 0:Math.max(e.changes.mapPos(this.context.treeLen),t.viewport.to);return t.work(20,n)||t.takeTree(),new i(t)}static init(e){let t=Math.min(3e3,e.doc.length),n=ji.create(e.facet(yn).parser,e,{from:0,to:t});return n.work(20,t)||n.takeTree(),new i(n)}};we.state=fe.define({create:hr.init,update(i,e){for(let t of e.effects)if(t.is(we.setState))return t.value;return e.startState.facet(yn)!=e.state.facet(yn)?hr.init(e.state):i.apply(e)}});var aO=i=>{let e=setTimeout(()=>i(),500);return()=>clearTimeout(e)};typeof requestIdleCallback<"u"&&(aO=i=>{let e=-1,t=setTimeout(()=>{e=requestIdleCallback(i,{timeout:400})},100);return()=>e<0?clearTimeout(t):cancelIdleCallback(e)});var gl=typeof navigator<"u"&&(!((ml=navigator.scheduling)===null||ml===void 0)&&ml.isInputPending)?()=>navigator.scheduling.isInputPending():null,ab=Ye.fromClass(class{constructor(e){this.view=e,this.working=null,this.workScheduled=0,this.chunkEnd=-1,this.chunkBudget=-1,this.work=this.work.bind(this),this.scheduleWork()}update(e){let t=this.view.state.field(we.state).context;(t.updateViewport(e.view.viewport)||this.view.viewport.to>t.treeLen)&&this.scheduleWork(),(e.docChanged||e.selectionSet)&&(this.view.hasFocus&&(this.chunkBudget+=50),this.scheduleWork()),this.checkAsyncSchedule(t)}scheduleWork(){if(this.working)return;let{state:e}=this.view,t=e.field(we.state);(t.tree!=t.context.tree||!t.context.isDone(e.doc.length))&&(this.working=aO(this.work))}work(e){this.working=null;let t=Date.now();if(this.chunkEndr+1e3,l=s.context.work(()=>gl&&gl()||Date.now()>o,r+(a?0:1e5));this.chunkBudget-=Date.now()-t,(l||this.chunkBudget<=0)&&(s.context.takeTree(),this.view.dispatch({effects:we.setState.of(new hr(s.context))})),this.chunkBudget>0&&!(l&&!a)&&this.scheduleWork(),this.checkAsyncSchedule(s.context)}checkAsyncSchedule(e){e.scheduleOn&&(this.workScheduled++,e.scheduleOn.then(()=>this.scheduleWork()).catch(t=>ut(this.view.state,t)).then(()=>this.workScheduled--),e.scheduleOn=null)}destroy(){this.working&&this.working()}isWorking(){return!!(this.working||this.workScheduled>0)}},{eventHandlers:{focus(){this.scheduleWork()}}}),yn=Y.define({combine(i){return i.length?i[0]:null},enables:i=>[we.state,ab,q.contentAttributes.compute([i],e=>{let t=e.facet(i);return t&&t.name?{"data-language":t.name}:{}})]}),me=class{constructor(e,t=[]){this.language=e,this.support=t,this.extension=[e,t]}},Ue=class i{constructor(e,t,n,r,s,o=void 0){this.name=e,this.alias=t,this.extensions=n,this.filename=r,this.loadFunc=s,this.support=o,this.loading=null}load(){return this.loading||(this.loading=this.loadFunc().then(e=>this.support=e,e=>{throw this.loading=null,e}))}static of(e){let{load:t,support:n}=e;if(!t){if(!n)throw new RangeError("Must pass either 'load' or 'support' to LanguageDescription.of");t=()=>Promise.resolve(n)}return new i(e.name,(e.alias||[]).concat(e.name).map(r=>r.toLowerCase()),e.extensions||[],e.filename,t,n)}static matchFilename(e,t){for(let r of e)if(r.filename&&r.filename.test(t))return r;let n=/\.([^.]+)$/.exec(t);if(n){for(let r of e)if(r.extensions.indexOf(n[1])>-1)return r}return null}static matchLanguageName(e,t,n=!0){t=t.toLowerCase();for(let r of e)if(r.alias.some(s=>s==t))return r;if(n)for(let r of e)for(let s of r.alias){let o=t.indexOf(s);if(o>-1&&(s.length>2||!/\w/.test(t[o-1])&&!/\w/.test(t[o+s.length])))return r}return null}},lb=Y.define(),qt=Y.define({combine:i=>{if(!i.length)return" ";let e=i[0];if(!e||/\S/.test(e)||Array.from(e).some(t=>t!=e[0]))throw new Error("Invalid indent unit: "+JSON.stringify(i[0]));return e}});function Qi(i){let e=i.facet(qt);return e.charCodeAt(0)==9?i.tabSize*e.length:e.length}function ur(i,e){let t="",n=i.tabSize,r=i.facet(qt)[0];if(r==" "){for(;e>=n;)t+=" ",e-=n;r=" "}for(let s=0;s=e?cb(i,t,e):null}var Vi=class{constructor(e,t={}){this.state=e,this.options=t,this.unit=Qi(e)}lineAt(e,t=1){let n=this.state.doc.lineAt(e),{simulateBreak:r,simulateDoubleBreak:s}=this.options;return r!=null&&r>=n.from&&r<=n.to?s&&r==e?{text:"",from:e}:(t<0?r-1&&(s+=o-this.countColumn(n,n.search(/\S|$/))),s}countColumn(e,t=e.length){return Ke(e,this.state.tabSize,t)}lineIndent(e,t=1){let{text:n,from:r}=this.lineAt(e,t),s=this.options.overrideIndentation;if(s){let o=s(r);if(o>-1)return o}return this.countColumn(n,n.search(/\S|$/))}get simulatedBreak(){return this.options.simulateBreak||null}},Pe=new I;function cb(i,e,t){let n=e.resolveStack(t),r=e.resolveInner(t,-1).resolve(t,0).enterUnfinishedNodesBefore(t);if(r!=n.node){let s=[];for(let o=r;o&&!(o.fromn.node.to||o.from==n.node.from&&o.type==n.node.type);o=o.parent)s.push(o);for(let o=s.length-1;o>=0;o--)n={node:s[o],next:n}}return lO(n,i,t)}function lO(i,e,t){for(let n=i;n;n=n.next){let r=fb(n.node);if(r)return r(yl.create(e,t,n))}return 0}function hb(i){return i.pos==i.options.simulateBreak&&i.options.simulateDoubleBreak}function fb(i){let e=i.type.prop(Pe);if(e)return e;let t=i.firstChild,n;if(t&&(n=t.type.prop(I.closedBy))){let r=i.lastChild,s=r&&n.indexOf(r.name)>-1;return o=>cO(o,!0,1,void 0,s&&!hb(o)?r.from:void 0)}return i.parent==null?ub:null}function ub(){return 0}var yl=class i extends Vi{constructor(e,t,n){super(e.state,e.options),this.base=e,this.pos=t,this.context=n}get node(){return this.context.node}static create(e,t,n){return new i(e,t,n)}get textAfter(){return this.textAfterPos(this.pos)}get baseIndent(){return this.baseIndentFor(this.node)}baseIndentFor(e){let t=this.state.doc.lineAt(e.from);for(;;){let n=e.resolve(t.from);for(;n.parent&&n.parent.from==n.from;)n=n.parent;if(Ob(n,e))break;t=this.state.doc.lineAt(n.from)}return this.lineIndent(t.from)}continue(){return lO(this.context.next,this.base,this.pos)}};function Ob(i,e){for(let t=e;t;t=t.parent)if(i==t)return!0;return!1}function db(i){let e=i.node,t=e.childAfter(e.from),n=e.lastChild;if(!t)return null;let r=i.options.simulateBreak,s=i.state.doc.lineAt(t.from),o=r==null||r<=s.from?s.to:Math.min(s.to,r);for(let a=t.to;;){let l=e.childAfter(a);if(!l||l==n)return null;if(!l.type.isSkipped){if(l.from>=o)return null;let c=/^ */.exec(s.text.slice(t.to-s.from))[0].length;return{from:t.from,to:t.to+c}}a=l.to}}function wt({closing:i,align:e=!0,units:t=1}){return n=>cO(n,e,t,i)}function cO(i,e,t,n,r){let s=i.textAfter,o=s.match(/^\s*/)[0].length,a=n&&s.slice(o,o+n.length)==n||r==i.pos+o,l=e?db(i):null;return l?a?i.column(l.from):i.column(l.to):i.baseIndent+(a?0:i.unit*t)}var hO=i=>i.baseIndent;function Gt({except:i,units:e=1}={}){return t=>{let n=i&&i.test(t.textAfter);return t.baseIndent+(n?0:e*t.unit)}}var fO=Y.define(),_e=new I;function dt(i){let e=i.firstChild,t=i.lastChild;return e&&e.toa.prop(xt)==o.data:o?a=>a==o:void 0,this.style=pl(e.map(a=>({tag:a.tag,class:a.class||r(Object.assign({},a,{tag:null}))})),{all:s}).style,this.module=n?new lt(n):null,this.themeType=t.themeType}static define(e,t){return new i(e,t||{})}},kl=Y.define(),uO=Y.define({combine(i){return i.length?[i[0]]:null}});function Ql(i){let e=i.facet(kl);return e.length?e:i.facet(uO)}function OO(i,e){let t=[pb],n;return i instanceof kn&&(i.module&&t.push(q.styleModule.of(i.module)),n=i.themeType),e?.fallback?t.push(uO.of(i)):n?t.push(kl.computeN([q.darkTheme],r=>r.facet(q.darkTheme)==(n=="dark")?[i]:[])):t.push(kl.of(i)),t}var xl=class{constructor(e){this.markCache=Object.create(null),this.tree=G(e.state),this.decorations=this.buildDeco(e,Ql(e.state)),this.decoratedTo=e.viewport.to}update(e){let t=G(e.state),n=Ql(e.state),r=n!=Ql(e.startState),{viewport:s}=e.view,o=e.changes.mapPos(this.decoratedTo,1);t.length=s.to?(this.decorations=this.decorations.map(e.changes),this.decoratedTo=o):(t!=this.tree||e.viewportChanged||r)&&(this.tree=t,this.decorations=this.buildDeco(e.view,n),this.decoratedTo=s.to)}buildDeco(e,t){if(!t||!this.tree.length)return R.none;let n=new Ri;for(let{from:r,to:s}of e.visibleRanges)As(this.tree,t,(o,a,l)=>{n.add(o,a,this.markCache[l]||(this.markCache[l]=R.mark({class:l})))},r,s);return n.finish()}},pb=at.high(Ye.fromClass(xl,{decorations:i=>i.decorations})),P$=kn.define([{tag:d.meta,color:"#404740"},{tag:d.link,textDecoration:"underline"},{tag:d.heading,textDecoration:"underline",fontWeight:"bold"},{tag:d.emphasis,fontStyle:"italic"},{tag:d.strong,fontWeight:"bold"},{tag:d.strikethrough,textDecoration:"line-through"},{tag:d.keyword,color:"#708"},{tag:[d.atom,d.bool,d.url,d.contentSeparator,d.labelName],color:"#219"},{tag:[d.literal,d.inserted],color:"#164"},{tag:[d.string,d.deleted],color:"#a11"},{tag:[d.regexp,d.escape,d.special(d.string)],color:"#e40"},{tag:d.definition(d.variableName),color:"#00f"},{tag:d.local(d.variableName),color:"#30a"},{tag:[d.typeName,d.namespace],color:"#085"},{tag:d.className,color:"#167"},{tag:[d.special(d.variableName),d.macroName],color:"#256"},{tag:d.definition(d.propertyName),color:"#00c"},{tag:d.comment,color:"#940"},{tag:d.invalid,color:"#f00"}]);var mb=1e4,gb="()[]{}";var Tl=new I;function wl(i,e,t){let n=i.prop(e<0?I.openedBy:I.closedBy);if(n)return n;if(i.name.length==1){let r=t.indexOf(i.name);if(r>-1&&r%2==(e<0?1:0))return[t[r+e]]}return null}function Pl(i){let e=i.type.prop(Tl);return e?e(i.node):i}function Di(i,e,t,n={}){let r=n.maxScanDistance||mb,s=n.brackets||gb,o=G(i),a=o.resolveInner(e,t);for(let l=a;l;l=l.parent){let c=wl(l.type,t,s);if(c&&l.from0?e>=h.from&&eh.from&&e<=h.to))return Qb(i,e,t,l,h,c,s)}}return bb(i,e,t,o,a.type,r,s)}function Qb(i,e,t,n,r,s,o){let a=n.parent,l={from:r.from,to:r.to},c=0,h=a?.cursor();if(h&&(t<0?h.childBefore(n.from):h.childAfter(n.to)))do if(t<0?h.to<=n.from:h.from>=n.to){if(c==0&&s.indexOf(h.type.name)>-1&&h.from0)return null;let c={from:t<0?e-1:e,to:t>0?e+1:e},h=i.doc.iterRange(e,t>0?i.doc.length:0),f=0;for(let u=0;!h.next().done&&u<=s;){let O=h.value;t<0&&(u+=O.length);let m=e+u*t;for(let p=t>0?0:O.length-1,b=t>0?O.length:-1;p!=b;p+=t){let g=o.indexOf(O[p]);if(!(g<0||n.resolveInner(m+p,1).type!=r))if(g%2==0==t>0)f++;else{if(f==1)return{start:c,end:{from:m+p,to:m+p+1},matched:g>>1==l>>1};f--}}t>0&&(u+=O.length)}return h.done?{start:c,matched:!1}:null}function iO(i,e,t,n=0,r=0){e==null&&(e=i.search(/[^\s\u00a0]/),e==-1&&(e=i.length));let s=r;for(let o=n;o=this.string.length}sol(){return this.pos==0}peek(){return this.string.charAt(this.pos)||void 0}next(){if(this.post}eatSpace(){let e=this.pos;for(;/[\s\u00a0]/.test(this.string.charAt(this.pos));)++this.pos;return this.pos>e}skipToEnd(){this.pos=this.string.length}skipTo(e){let t=this.string.indexOf(e,this.pos);if(t>-1)return this.pos=t,!0}backUp(e){this.pos-=e}column(){return this.lastColumnPosn?o.toLowerCase():o,s=this.string.substr(this.pos,e.length);return r(s)==r(e)?(t!==!1&&(this.pos+=e.length),!0):null}else{let r=this.string.slice(this.pos).match(e);return r&&r.index>0?null:(r&&t!==!1&&(this.pos+=r[0].length),r)}}current(){return this.string.slice(this.start,this.pos)}};function Sb(i){return{name:i.name||"",token:i.token,blankLine:i.blankLine||(()=>{}),startState:i.startState||(()=>!0),copyState:i.copyState||yb,indent:i.indent||(()=>null),languageData:i.languageData||{},tokenTable:i.tokenTable||Xl,mergeTokens:i.mergeTokens!==!1}}function yb(i){if(typeof i!="object")return i;let e={};for(let t in i){let n=i[t];e[t]=n instanceof Array?n.slice():n}return e}var nO=new WeakMap,Es=class i extends we{constructor(e){let t=xn(e.languageData),n=Sb(e),r,s=new class extends Ut{createParse(o,a,l){return new vl(r,o,a,l)}};super(t,s,[],e.name),this.topNode=Pb(t,this),r=this,this.streamParser=n,this.stateAfter=new I({perNode:!0}),this.tokenTable=e.tokenTable?new qs(n.tokenTable):wb}static define(e){return new i(e)}getIndent(e){let t,{overrideIndentation:n}=e.options;n&&(t=nO.get(e.state),t!=null&&t1e4)return null;for(;s=n&&t+e.length<=r&&e.prop(i.stateAfter);if(s)return{state:i.streamParser.copyState(s),pos:t+e.length};for(let o=e.children.length-1;o>=0;o--){let a=e.children[o],l=t+e.positions[o],c=a instanceof K&&l=e.length)return e;!r&&t==0&&e.type==i.topNode&&(r=!0);for(let s=e.children.length-1;s>=0;s--){let o=e.positions[s],a=e.children[s],l;if(ot&&Cl(i,s.tree,0-s.offset,t,a),c;if(l&&l.pos<=n&&(c=dO(i,s.tree,t+s.offset,l.pos+s.offset,!1)))return{state:l.state,tree:c}}return{state:i.streamParser.startState(r?Qi(r):4),tree:K.empty}}var vl=class{constructor(e,t,n,r){this.lang=e,this.input=t,this.fragments=n,this.ranges=r,this.stoppedAt=null,this.chunks=[],this.chunkPos=[],this.chunk=[],this.chunkReused=void 0,this.rangeIndex=0,this.to=r[r.length-1].to;let s=ji.get(),o=r[0].from,{state:a,tree:l}=kb(e,n,o,this.to,s?.state);this.state=a,this.parsedPos=this.chunkStart=o+l.length;for(let c=0;cc.from<=s.viewport.from&&c.to>=s.viewport.from)&&(this.state=this.lang.streamParser.startState(Qi(s.state)),s.skipUntilInView(this.parsedPos,s.viewport.from),this.parsedPos=s.viewport.from),this.moveRangeIndex()}advance(){let e=ji.get(),t=this.stoppedAt==null?this.to:Math.min(this.to,this.stoppedAt),n=Math.min(t,this.chunkStart+512);for(e&&(n=Math.min(n,e.viewport.to));this.parsedPos=t?this.finish():e&&this.parsedPos>=e.viewport.to?(e.skipUntilInView(this.parsedPos,t),this.finish()):null}stopAt(e){this.stoppedAt=e}lineAfter(e){let t=this.input.chunk(e);if(this.input.lineChunks)t==` `&&(t="");else{let n=t.indexOf(` -`);n>-1&&(t=t.slice(0,n))}return e+t.length<=this.to?t:t.slice(0,this.to-e)}nextLine(){let e=this.parsedPos,t=this.lineAfter(e),n=e+t.length;for(let r=this.rangeIndex;;){let s=this.ranges[r].to;if(s>=n||(t=t.slice(0,s-(n-t.length)),r++,r==this.ranges.length))break;let o=this.ranges[r].from,a=this.lineAfter(o);t+=a,n=o+a.length}return{line:t,end:n}}skipGapsTo(e,t,n){for(;;){let r=this.ranges[this.rangeIndex].to,s=e+t;if(n>0?r>s:r>=s)break;let o=this.ranges[++this.rangeIndex].from;t+=o-r}return t}moveRangeIndex(){for(;this.ranges[this.rangeIndex].to1){r=this.skipGapsTo(t,r,1),t+=r;let a=this.chunk.length;r=this.skipGapsTo(n,r,-1),n+=r,s+=this.chunk.length-a}let o=this.chunk.length-4;return this.lang.streamParser.mergeTokens&&s==4&&o>=0&&this.chunk[o]==e&&this.chunk[o+2]==t?this.chunk[o+2]=n:this.chunk.push(e,t,n,s),r}parseLine(e){let{line:t,end:n}=this.nextLine(),r=0,{streamParser:s}=this.lang,o=new Zs(t,e?e.state.tabSize:4,e?Qi(e.state):2);if(o.eol())s.blankLine(this.state,o.indentUnit);else for(;!o.eol();){let a=pO(s.token,o,this.state);if(a&&(r=this.emitToken(this.lang.tokenTable.resolve(a),this.parsedPos+o.start,this.parsedPos+o.pos,r)),o.start>1e4)break}this.parsedPos=n,this.moveRangeIndex(),this.parsedPose.start)return r}throw new Error("Stream parser failed to advance stream.")}var Cl=Object.create(null),fr=[de.none],xb=new It(fr),rO=[],sO=Object.create(null),mO=Object.create(null);for(let[i,e]of[["variable","variableName"],["variable-2","variableName.special"],["string-2","string.special"],["def","variableName.definition"],["tag","tagName"],["attribute","attributeName"],["type","typeName"],["builtin","variableName.standard"],["qualifier","modifier"],["error","invalid"],["header","heading"],["property","propertyName"]])mO[i]=gO(Cl,e);var qs=class{constructor(e){this.extra=e,this.table=Object.assign(Object.create(null),mO)}resolve(e){return e?this.table[e]||(this.table[e]=gO(this.extra,e)):0}},wb=new qs(Cl);function Ql(i,e){rO.indexOf(i)>-1||(rO.push(i),console.warn(e))}function gO(i,e){let t=[];for(let a of e.split(" ")){let l=[];for(let c of a.split(".")){let h=i[c]||d[c];h?typeof h=="function"?l.length?l=l.map(h):Ql(c,`Modifier ${c} used at start of tag`):l.length?Ql(c,`Tag ${c} used as modifier`):l=Array.isArray(h)?h:[h]:Ql(c,`Unknown highlighting tag ${c}`)}for(let c of l)t.push(c)}if(!t.length)return 0;let n=e.replace(/ /g,"_"),r=n+" "+t.map(a=>a.id),s=sO[r];if(s)return s.id;let o=sO[r]=de.define({id:fr.length,name:n,props:[Qe({[n]:t})]});return fr.push(o),o.id}function Pb(i,e){let t=de.define({id:fr.length,name:"Document",props:[xt.add(()=>i),Pe.add(()=>n=>e.getIndent(n))],top:!0});return fr.push(t),t}var v$={rtl:R.mark({class:"cm-iso",inclusive:!0,attributes:{dir:"rtl"},bidiIsolate:Oe.RTL}),ltr:R.mark({class:"cm-iso",inclusive:!0,attributes:{dir:"ltr"},bidiIsolate:Oe.LTR}),auto:R.mark({class:"cm-iso",inclusive:!0,attributes:{dir:"auto"},bidiIsolate:null})};var vb=i=>{let{state:e}=i,t=e.doc.lineAt(e.selection.main.from),n=ql(i.state,t.from);return n.line?$b(i):n.block?Cb(i):!1};function El(i,e){return({state:t,dispatch:n})=>{if(t.readOnly)return!1;let r=i(e,t);return r?(n(t.update(r)),!0):!1}}var $b=El(Rb,0);var Tb=El(vO,0);var Cb=El((i,e)=>vO(i,e,_b(e)),0);function ql(i,e){let t=i.languageDataAt("commentTokens",e,1);return t.length?t[0]:{}}var Or=50;function Xb(i,{open:e,close:t},n,r){let s=i.sliceDoc(n-Or,n),o=i.sliceDoc(r,r+Or),a=/\s*$/.exec(s)[0].length,l=/^\s*/.exec(o)[0].length,c=s.length-a;if(s.slice(c-e.length,c)==e&&o.slice(l,l+t.length)==t)return{open:{pos:n-a,margin:a&&1},close:{pos:r+l,margin:l&&1}};let h,f;r-n<=2*Or?h=f=i.sliceDoc(n,r):(h=i.sliceDoc(n,n+Or),f=i.sliceDoc(r-Or,r));let u=/^\s*/.exec(h)[0].length,O=/\s*$/.exec(f)[0].length,m=f.length-O-t.length;return h.slice(u,u+e.length)==e&&f.slice(m,m+t.length)==t?{open:{pos:n+u+e.length,margin:/\s/.test(h.charAt(u+e.length))?1:0},close:{pos:r-O-t.length,margin:/\s/.test(f.charAt(m-1))?1:0}}:null}function _b(i){let e=[];for(let t of i.selection.ranges){let n=i.doc.lineAt(t.from),r=t.to<=n.to?n:i.doc.lineAt(t.to);r.from>n.from&&r.from==t.to&&(r=t.to==n.to+1?n:i.doc.lineAt(t.to-1));let s=e.length-1;s>=0&&e[s].to>n.from?e[s].to=r.to:e.push({from:n.from+/^\s*/.exec(n.text)[0].length,to:r.to})}return e}function vO(i,e,t=e.selection.ranges){let n=t.map(s=>ql(e,s.from).block);if(!n.every(s=>s))return null;let r=t.map((s,o)=>Xb(e,n[o],s.from,s.to));if(i!=2&&!r.every(s=>s))return{changes:e.changes(t.map((s,o)=>r[o]?[]:[{from:s.from,insert:n[o].open+" "},{from:s.to,insert:" "+n[o].close}]))};if(i!=1&&r.some(s=>s)){let s=[];for(let o=0,a;or&&(s==o||o>f.from)){r=f.from;let u=/^\s*/.exec(f.text)[0].length,O=u==f.length,m=f.text.slice(u,u+c.length)==c?u:-1;us.comment<0&&(!s.empty||s.single))){let s=[];for(let{line:a,token:l,indent:c,empty:h,single:f}of n)(f||!h)&&s.push({from:a.from+c,insert:l+" "});let o=e.changes(s);return{changes:o,selection:e.selection.map(o,1)}}else if(i!=1&&n.some(s=>s.comment>=0)){let s=[];for(let{line:o,comment:a,token:l}of n)if(a>=0){let c=o.from+a,h=c+l.length;o.text[h-o.from]==" "&&h++,s.push({from:c,to:h})}return{changes:s}}return null}var _l=Te.define(),Ab=Te.define(),Zb=Y.define(),$O=Y.define({combine(i){return In(i,{minDepth:100,newGroupDelay:500,joinToEvent:(e,t)=>t},{minDepth:Math.max,newGroupDelay:Math.min,joinToEvent:(e,t)=>(n,r)=>e(n,r)||t(n,r)})}}),TO=fe.define({create(){return Yi.empty},update(i,e){let t=e.state.facet($O),n=e.annotation(_l);if(n){let l=Pt.fromTransaction(e,n.selection),c=n.side,h=c==0?i.undone:i.done;return l?h=Ws(h,h.length,t.minDepth,l):h=RO(h,e.startState.selection),new Yi(c==0?n.rest:h,c==0?h:n.rest)}let r=e.annotation(Ab);if((r=="full"||r=="before")&&(i=i.isolate()),e.annotation(pe.addToHistory)===!1)return e.changes.empty?i:i.addMapping(e.changes.desc);let s=Pt.fromTransaction(e),o=e.annotation(pe.time),a=e.annotation(pe.userEvent);return s?i=i.addChanges(s,o,a,t,e):e.selection&&(i=i.addSelection(e.startState.selection,o,a,t.newGroupDelay)),(r=="full"||r=="after")&&(i=i.isolate()),i},toJSON(i){return{done:i.done.map(e=>e.toJSON()),undone:i.undone.map(e=>e.toJSON())}},fromJSON(i){return new Yi(i.done.map(Pt.fromJSON),i.undone.map(Pt.fromJSON))}});function CO(i={}){return[TO,$O.of(i),q.domEventHandlers({beforeinput(e,t){let n=e.inputType=="historyUndo"?XO:e.inputType=="historyRedo"?Rl:null;return n?(e.preventDefault(),n(t)):!1}})]}function js(i,e){return function({state:t,dispatch:n}){if(!e&&t.readOnly)return!1;let r=t.field(TO,!1);if(!r)return!1;let s=r.pop(i,t,e);return s?(n(s),!0):!1}}var XO=js(0,!1),Rl=js(1,!1),Eb=js(0,!0),qb=js(1,!0);var Pt=class i{constructor(e,t,n,r,s){this.changes=e,this.effects=t,this.mapped=n,this.startSelection=r,this.selectionsAfter=s}setSelAfter(e){return new i(this.changes,this.effects,this.mapped,this.startSelection,e)}toJSON(){var e,t,n;return{changes:(e=this.changes)===null||e===void 0?void 0:e.toJSON(),mapped:(t=this.mapped)===null||t===void 0?void 0:t.toJSON(),startSelection:(n=this.startSelection)===null||n===void 0?void 0:n.toJSON(),selectionsAfter:this.selectionsAfter.map(r=>r.toJSON())}}static fromJSON(e){return new i(e.changes&&ze.fromJSON(e.changes),[],e.mapped&&Mt.fromJSON(e.mapped),e.startSelection&&v.fromJSON(e.startSelection),e.selectionsAfter.map(v.fromJSON))}static fromTransaction(e,t){let n=dt;for(let r of e.startState.facet(Zb)){let s=r(e);s.length&&(n=n.concat(s))}return!n.length&&e.changes.empty?null:new i(e.changes.invert(e.startState.doc),n,void 0,t||e.startState.selection,dt)}static selection(e){return new i(void 0,dt,void 0,void 0,e)}};function Ws(i,e,t,n){let r=e+1>t+20?e-t-1:0,s=i.slice(r,e);return s.push(n),s}function zb(i,e){let t=[],n=!1;return i.iterChangedRanges((r,s)=>t.push(r,s)),e.iterChangedRanges((r,s,o,a)=>{for(let l=0;l=c&&o<=h&&(n=!0)}}),n}function Lb(i,e){return i.ranges.length==e.ranges.length&&i.ranges.filter((t,n)=>t.empty!=e.ranges[n].empty).length===0}function _O(i,e){return i.length?e.length?i.concat(e):i:e}var dt=[],Mb=200;function RO(i,e){if(i.length){let t=i[i.length-1],n=t.selectionsAfter.slice(Math.max(0,t.selectionsAfter.length-Mb));return n.length&&n[n.length-1].eq(e)?i:(n.push(e),Ws(i,i.length-1,1e9,t.setSelAfter(n)))}else return[Pt.selection([e])]}function Wb(i){let e=i[i.length-1],t=i.slice();return t[i.length-1]=e.setSelAfter(e.selectionsAfter.slice(0,e.selectionsAfter.length-1)),t}function Xl(i,e){if(!i.length)return i;let t=i.length,n=dt;for(;t;){let r=jb(i[t-1],e,n);if(r.changes&&!r.changes.empty||r.effects.length){let s=i.slice(0,t);return s[t-1]=r,s}else e=r.mapped,t--,n=r.selectionsAfter}return n.length?[Pt.selection(n)]:dt}function jb(i,e,t){let n=_O(i.selectionsAfter.length?i.selectionsAfter.map(a=>a.map(e)):dt,t);if(!i.changes)return Pt.selection(n);let r=i.changes.map(e),s=e.mapDesc(i.changes,!0),o=i.mapped?i.mapped.composeDesc(s):s;return new Pt(r,ie.mapEffects(i.effects,e),o,i.startSelection.map(s),n)}var Vb=/^(input\.type|delete)($|\.)/,Yi=class i{constructor(e,t,n=0,r=void 0){this.done=e,this.undone=t,this.prevTime=n,this.prevUserEvent=r}isolate(){return this.prevTime?new i(this.done,this.undone):this}addChanges(e,t,n,r,s){let o=this.done,a=o[o.length-1];return a&&a.changes&&!a.changes.empty&&e.changes&&(!n||Vb.test(n))&&(!a.selectionsAfter.length&&t-this.prevTime0&&t-this.prevTimet.empty?i.moveByChar(t,e):Vs(t,e))}function Ze(i){return i.textDirectionAt(i.state.selection.main.head)==Oe.LTR}var EO=i=>ZO(i,!Ze(i)),qO=i=>ZO(i,Ze(i));function zO(i,e){return $t(i,t=>t.empty?i.moveByGroup(t,e):Vs(t,e))}var Db=i=>zO(i,!Ze(i)),Yb=i=>zO(i,Ze(i));var Z$=typeof Intl<"u"&&Intl.Segmenter?new Intl.Segmenter(void 0,{granularity:"word"}):null;function Ib(i,e,t){if(e.type.prop(t))return!0;let n=e.to-e.from;return n&&(n>2||/[^\s,.;:]/.test(i.sliceDoc(e.from,e.to)))||e.firstChild}function Ds(i,e,t){let n=U(i).resolveInner(e.head),r=t?I.closedBy:I.openedBy;for(let l=e.head;;){let c=t?n.childAfter(l):n.childBefore(l);if(!c)break;Ib(i,c,r)?n=c:l=t?c.to:c.from}let s=n.type.prop(r),o,a;return s&&(o=t?Di(i,n.from,1):Di(i,n.to,-1))&&o.matched?a=t?o.end.to:o.end.from:a=t?n.to:n.from,v.cursor(a,t?-1:1)}var Bb=i=>$t(i,e=>Ds(i.state,e,!Ze(i))),Ub=i=>$t(i,e=>Ds(i.state,e,Ze(i)));function LO(i,e){return $t(i,t=>{if(!t.empty)return Vs(t,e);let n=i.moveVertically(t,e);return n.head!=t.head?n:i.moveToLineBoundary(t,e)})}var MO=i=>LO(i,!1),WO=i=>LO(i,!0);function jO(i){let e=i.scrollDOM.clientHeighto.empty?i.moveVertically(o,e,t.height):Vs(o,e));if(r.eq(n.selection))return!1;let s;if(t.selfScroll){let o=i.coordsAtPos(n.selection.main.head),a=i.scrollDOM.getBoundingClientRect(),l=a.top+t.marginTop,c=a.bottom-t.marginBottom;o&&o.top>l&&o.bottomVO(i,!1),Al=i=>VO(i,!0);function bi(i,e,t){let n=i.lineBlockAt(e.head),r=i.moveToLineBoundary(e,t);if(r.head==e.head&&r.head!=(t?n.to:n.from)&&(r=i.moveToLineBoundary(e,t,!1)),!t&&r.head==n.from&&n.length){let s=/^\s*/.exec(i.state.sliceDoc(n.from,Math.min(n.from+100,n.to)))[0].length;s&&e.head!=n.from+s&&(r=v.cursor(n.from+s))}return r}var Gb=i=>$t(i,e=>bi(i,e,!0)),Nb=i=>$t(i,e=>bi(i,e,!1)),Fb=i=>$t(i,e=>bi(i,e,!Ze(i))),Hb=i=>$t(i,e=>bi(i,e,Ze(i))),Kb=i=>$t(i,e=>v.cursor(i.lineBlockAt(e.head).from,1)),Jb=i=>$t(i,e=>v.cursor(i.lineBlockAt(e.head).to,-1));function eS(i,e,t){let n=!1,r=wn(i.selection,s=>{let o=Di(i,s.head,-1)||Di(i,s.head,1)||s.head>0&&Di(i,s.head-1,1)||s.headeS(i,e,!1);function pt(i,e,t){let n=wn(i.state.selection,r=>{r.undirectional&&r.head>=r.anchor!=e&&(r=v.range(r.head,r.anchor));let s=t(r);return v.range(r.anchor,s.head,s.goalColumn,s.bidiLevel||void 0,s.assoc)});return n.eq(i.state.selection)?!1:(i.dispatch(vt(i.state,n)),!0)}function DO(i,e){return pt(i,e,t=>i.moveByChar(t,e))}var YO=i=>DO(i,!Ze(i)),IO=i=>DO(i,Ze(i));function BO(i,e){return pt(i,e,t=>i.moveByGroup(t,e))}var iS=i=>BO(i,!Ze(i)),nS=i=>BO(i,Ze(i));var rS=i=>{let e=!Ze(i);return pt(i,e,t=>Ds(i.state,t,e))},sS=i=>{let e=Ze(i);return pt(i,e,t=>Ds(i.state,t,e))};function UO(i,e){return pt(i,e,t=>i.moveVertically(t,e))}var GO=i=>UO(i,!1),NO=i=>UO(i,!0);function FO(i,e){return pt(i,e,t=>i.moveVertically(t,e,jO(i).height))}var bO=i=>FO(i,!1),SO=i=>FO(i,!0),oS=i=>pt(i,!0,e=>bi(i,e,!0)),aS=i=>pt(i,!1,e=>bi(i,e,!1)),lS=i=>{let e=!Ze(i);return pt(i,e,t=>bi(i,t,e))},cS=i=>{let e=Ze(i);return pt(i,e,t=>bi(i,t,e))},hS=i=>pt(i,!1,e=>v.cursor(i.lineBlockAt(e.head).from)),fS=i=>pt(i,!0,e=>v.cursor(i.lineBlockAt(e.head).to)),yO=({state:i,dispatch:e})=>(e(vt(i,{anchor:0})),!0),kO=({state:i,dispatch:e})=>(e(vt(i,{anchor:i.doc.length})),!0),xO=({state:i,dispatch:e})=>(e(vt(i,{anchor:i.selection.main.anchor,head:0})),!0),wO=({state:i,dispatch:e})=>(e(vt(i,{anchor:i.selection.main.anchor,head:i.doc.length})),!0),uS=({state:i,dispatch:e})=>(e(i.update({selection:{anchor:0,head:i.doc.length},userEvent:"select"})),!0),OS=({state:i,dispatch:e})=>{let t=Ys(i).map(({from:n,to:r})=>v.range(n,Math.min(r+1,i.doc.length)));return e(i.update({selection:v.create(t),userEvent:"select"})),!0},dS=({state:i,dispatch:e})=>{let t=wn(i.selection,n=>{let r=U(i),s=r.resolveStack(n.from,1);if(n.empty){let o=r.resolveStack(n.from,-1);o.node.from>=s.node.from&&o.node.to<=s.node.to&&(s=o)}for(let o=s;o;o=o.next){let{node:a}=o;if((a.from=n.to||a.to>n.to&&a.from<=n.from)&&o.next)return v.range(a.to,a.from)}return n});return t.eq(i.selection)?!1:(e(vt(i,t)),!0)};function HO(i,e){let{state:t}=i,n=t.selection,r=t.selection.ranges.slice();for(let s of t.selection.ranges){let o=t.doc.lineAt(s.head);if(e?o.to0)for(let a=s;;){let l=i.moveVertically(a,e);if(l.heado.to){r.some(c=>c.head==l.head)||r.push(l);break}else{if(l.head==a.head)break;a=l}}}return r.length==n.ranges.length?!1:(i.dispatch(vt(t,v.create(r,r.length-1))),!0)}var pS=i=>HO(i,!1),mS=i=>HO(i,!0),gS=({state:i,dispatch:e})=>{let t=i.selection,n=null;return t.ranges.length>1?n=v.create([t.main]):t.main.empty||(n=v.create([v.cursor(t.main.head)])),n?(e(vt(i,n)),!0):!1};function dr(i,e){if(i.state.readOnly)return!1;let t="delete.selection",{state:n}=i,r=n.changeByRange(s=>{let{from:o,to:a}=s;if(o==a){let l=e(s);lo&&(t="delete.forward",l=Ms(i,l,!0)),o=Math.min(o,l),a=Math.max(a,l)}else o=Ms(i,o,!1),a=Ms(i,a,!0);return o==a?{range:s}:{changes:{from:o,to:a},range:v.cursor(o,or(i)))n.between(e,e,(r,s)=>{re&&(e=t?s:r)});return e}var KO=(i,e,t)=>dr(i,n=>{let r=n.from,{state:s}=i,o=s.doc.lineAt(r),a,l;if(t&&!e&&r>o.from&&rKO(i,!1,!0);var JO=i=>KO(i,!0,!1),ed=(i,e)=>dr(i,t=>{let n=t.head,{state:r}=i,s=r.doc.lineAt(n),o=r.charCategorizer(n);for(let a=null;;){if(n==(e?s.to:s.from)){n==t.head&&s.number!=(e?r.doc.lines:1)&&(n+=e?1:-1);break}let l=xe(s.text,n-s.from,e)+s.from,c=s.text.slice(Math.min(n,l)-s.from,Math.max(n,l)-s.from),h=o(c);if(a!=null&&h!=a)break;(c!=" "||n!=t.head)&&(a=h),n=l}return n}),td=i=>ed(i,!1),QS=i=>ed(i,!0);var bS=i=>dr(i,e=>{let t=i.lineBlockAt(e.head).to;return e.headdr(i,e=>{let t=i.moveToLineBoundary(e,!1).head;return e.head>t?t:Math.max(0,e.head-1)}),yS=i=>dr(i,e=>{let t=i.moveToLineBoundary(e,!0).head;return e.head{if(i.readOnly)return!1;let t=i.changeByRange(n=>({changes:{from:n.from,to:n.to,insert:J.of(["",""])},range:v.cursor(n.from)}));return e(i.update(t,{scrollIntoView:!0,userEvent:"input"})),!0},xS=({state:i,dispatch:e})=>{if(i.readOnly)return!1;let t=i.changeByRange(n=>{if(!n.empty||n.from==0||n.from==i.doc.length)return{range:n};let r=n.from,s=i.doc.lineAt(r),o=r==s.from?r-1:xe(s.text,r-s.from,!1)+s.from,a=r==s.to?r+1:xe(s.text,r-s.from,!0)+s.from;return{changes:{from:o,to:a,insert:i.doc.slice(r,a).append(i.doc.slice(o,r))},range:v.cursor(a)}});return t.changes.empty?!1:(e(i.update(t,{scrollIntoView:!0,userEvent:"move.character"})),!0)};function Ys(i){let e=[],t=-1;for(let n of i.selection.ranges){let r=i.doc.lineAt(n.from),s=i.doc.lineAt(n.to);if(!n.empty&&n.to==s.from&&(s=i.doc.lineAt(n.to-1)),t>=r.number){let o=e[e.length-1];o.to=s.to,o.ranges.push(n)}else e.push({from:r.from,to:s.to,ranges:[n]});t=s.number+1}return e}function id(i,e,t){if(i.readOnly)return!1;let n=[],r=[];for(let s of Ys(i)){if(t?s.to==i.doc.length:s.from==0)continue;let o=i.doc.lineAt(t?s.to+1:s.from-1),a=o.length+1;if(t){n.push({from:s.to,to:o.to},{from:s.from,insert:o.text+i.lineBreak});for(let l of s.ranges)r.push(v.range(Math.min(i.doc.length,l.anchor+a),Math.min(i.doc.length,l.head+a)))}else{n.push({from:o.from,to:s.from},{from:s.to,insert:i.lineBreak+o.text});for(let l of s.ranges)r.push(v.range(l.anchor-a,l.head-a))}}return n.length?(e(i.update({changes:n,scrollIntoView:!0,selection:v.create(r,i.selection.mainIndex),userEvent:"move.line"})),!0):!1}var wS=({state:i,dispatch:e})=>id(i,e,!1),PS=({state:i,dispatch:e})=>id(i,e,!0);function nd(i,e,t){if(i.readOnly)return!1;let n=[];for(let s of Ys(i))t?n.push({from:s.from,insert:i.doc.slice(s.from,s.to)+i.lineBreak}):n.push({from:s.to,insert:i.lineBreak+i.doc.slice(s.from,s.to)});let r=i.changes(n);return e(i.update({changes:r,selection:i.selection.map(r,t?1:-1),scrollIntoView:!0,userEvent:"input.copyline"})),!0}var vS=({state:i,dispatch:e})=>nd(i,e,!1),$S=({state:i,dispatch:e})=>nd(i,e,!0),TS=i=>{if(i.state.readOnly)return!1;let{state:e}=i,t=e.changes(Ys(e).map(({from:r,to:s})=>(r>0?r--:s{let s;if(i.lineWrapping){let o=i.lineBlockAt(r.head),a=i.coordsAtPos(r.head,r.assoc||1);a&&(s=o.bottom+i.documentTop-a.bottom+i.defaultLineHeight/2)}return i.moveVertically(r,!0,s)}).map(t);return i.dispatch({changes:t,selection:n,scrollIntoView:!0,userEvent:"delete.line"}),!0};function CS(i,e){if(/\(\)|\[\]|\{\}/.test(i.sliceDoc(e-1,e+1)))return{from:e,to:e};let t=U(i).resolveInner(e),n=t.childBefore(e),r=t.childAfter(e),s;return n&&r&&n.to<=e&&r.from>=e&&(s=n.type.prop(I.closedBy))&&s.indexOf(r.name)>-1&&i.doc.lineAt(n.to).from==i.doc.lineAt(r.from).from&&!/\S/.test(i.sliceDoc(n.to,r.from))?{from:n.to,to:r.from}:null}var PO=rd(!1),XS=rd(!0);function rd(i){return({state:e,dispatch:t})=>{if(e.readOnly)return!1;let n=e.changeByRange(r=>{let{from:s,to:o}=r,a=e.doc.lineAt(s),l=!i&&s==o&&CS(e,s);i&&(s=o=(o<=a.to?a:e.doc.lineAt(o)).to);let c=new Vi(e,{simulateBreak:s,simulateDoubleBreak:!!l}),h=vl(c,s);for(h==null&&(h=He(/^\s*/.exec(e.doc.lineAt(s).text)[0],e.tabSize));oa.from&&s{let r=[];for(let o=n.from;o<=n.to;){let a=i.doc.lineAt(o);a.number>t&&(n.empty||n.to>a.from)&&(e(a,r,n),t=a.number),o=a.to+1}let s=i.changes(r);return{changes:r,range:v.range(s.mapPos(n.anchor,1),s.mapPos(n.head,1))}})}var _S=({state:i,dispatch:e})=>{if(i.readOnly)return!1;let t=Object.create(null),n=new Vi(i,{overrideIndentation:s=>{let o=t[s];return o??-1}}),r=zl(i,(s,o,a)=>{let l=vl(n,s.from);if(l==null)return;/\S/.test(s.text)||(l=0);let c=/^\s*/.exec(s.text)[0],h=ur(i,l);(c!=h||a.fromi.readOnly?!1:(e(i.update(zl(i,(t,n)=>{n.push({from:t.from,insert:i.facet(qt)})}),{userEvent:"input.indent"})),!0),Ll=({state:i,dispatch:e})=>i.readOnly?!1:(e(i.update(zl(i,(t,n)=>{let r=/^\s*/.exec(t.text)[0];if(!r)return;let s=He(r,i.tabSize),o=0,a=ur(i,Math.max(0,s-Qi(i)));for(;o(i.setTabFocusMode(),!0);var Ml=({state:i,dispatch:e})=>i.selection.ranges.some(t=>!t.empty)?sd({state:i,dispatch:e}):(e(i.update(i.replaceSelection(" "),{scrollIntoView:!0,userEvent:"input"})),!0),AS=[{key:"Ctrl-b",run:EO,shift:YO,preventDefault:!0},{key:"Ctrl-f",run:qO,shift:IO},{key:"Ctrl-p",run:MO,shift:GO},{key:"Ctrl-n",run:WO,shift:NO},{key:"Ctrl-a",run:Kb,shift:hS},{key:"Ctrl-e",run:Jb,shift:fS},{key:"Ctrl-d",run:JO},{key:"Ctrl-h",run:Zl},{key:"Ctrl-k",run:bS},{key:"Ctrl-Alt-h",run:td},{key:"Ctrl-o",run:kS},{key:"Ctrl-t",run:xS},{key:"Ctrl-v",run:Al}],ZS=[{key:"ArrowLeft",run:EO,shift:YO,preventDefault:!0},{key:"Mod-ArrowLeft",mac:"Alt-ArrowLeft",run:Db,shift:iS,preventDefault:!0},{mac:"Cmd-ArrowLeft",run:Fb,shift:lS,preventDefault:!0},{key:"ArrowRight",run:qO,shift:IO,preventDefault:!0},{key:"Mod-ArrowRight",mac:"Alt-ArrowRight",run:Yb,shift:nS,preventDefault:!0},{mac:"Cmd-ArrowRight",run:Hb,shift:cS,preventDefault:!0},{key:"ArrowUp",run:MO,shift:GO,preventDefault:!0},{mac:"Cmd-ArrowUp",run:yO,shift:xO},{mac:"Ctrl-ArrowUp",run:QO,shift:bO},{key:"ArrowDown",run:WO,shift:NO,preventDefault:!0},{mac:"Cmd-ArrowDown",run:kO,shift:wO},{mac:"Ctrl-ArrowDown",run:Al,shift:SO},{key:"PageUp",run:QO,shift:bO},{key:"PageDown",run:Al,shift:SO},{key:"Home",run:Nb,shift:aS,preventDefault:!0},{key:"Mod-Home",run:yO,shift:xO},{key:"End",run:Gb,shift:oS,preventDefault:!0},{key:"Mod-End",run:kO,shift:wO},{key:"Enter",run:PO,shift:PO},{key:"Mod-a",run:uS},{key:"Backspace",run:Zl,shift:Zl,preventDefault:!0},{key:"Delete",run:JO,preventDefault:!0},{key:"Mod-Backspace",mac:"Alt-Backspace",run:td,preventDefault:!0},{key:"Mod-Delete",mac:"Alt-Delete",run:QS,preventDefault:!0},{mac:"Mod-Backspace",run:SS,preventDefault:!0},{mac:"Mod-Delete",run:yS,preventDefault:!0}].concat(AS.map(i=>({mac:i.key,run:i.run,shift:i.shift}))),od=[{key:"Alt-ArrowLeft",mac:"Ctrl-ArrowLeft",run:Bb,shift:rS},{key:"Alt-ArrowRight",mac:"Ctrl-ArrowRight",run:Ub,shift:sS},{key:"Alt-ArrowUp",run:wS},{key:"Shift-Alt-ArrowUp",run:vS},{key:"Alt-ArrowDown",run:PS},{key:"Shift-Alt-ArrowDown",run:$S},{key:"Mod-Alt-ArrowUp",run:pS},{key:"Mod-Alt-ArrowDown",run:mS},{key:"Escape",run:gS},{key:"Mod-Enter",run:XS},{key:"Alt-l",mac:"Ctrl-l",run:OS},{key:"Mod-i",run:dS,preventDefault:!0},{key:"Mod-[",run:Ll},{key:"Mod-]",run:sd},{key:"Mod-Alt-\\",run:_S},{key:"Shift-Mod-k",run:TS},{key:"Shift-Mod-\\",run:tS},{key:"Mod-/",run:vb},{key:"Alt-A",run:Tb},{key:"Ctrl-m",mac:"Shift-Alt-m",run:RS}].concat(ZS);var Is=class{constructor(e,t,n,r){this.state=e,this.pos=t,this.explicit=n,this.view=r,this.abortListeners=[],this.abortOnDocChange=!1}tokenBefore(e){let t=U(this.state).resolveInner(this.pos,-1);for(;t&&e.indexOf(t.name)<0;)t=t.parent;return t?{from:t.from,to:this.pos,text:this.state.sliceDoc(t.from,this.pos),type:t.type}:null}matchBefore(e){let t=this.state.doc.lineAt(this.pos),n=Math.max(t.from,this.pos-250),r=t.text.slice(n-t.from,this.pos-t.from),s=r.search(qS(e,!1));return s<0?null:{from:n+s,to:this.pos,text:r.slice(s)}}get aborted(){return this.abortListeners==null}addEventListener(e,t,n){e=="abort"&&this.abortListeners&&(this.abortListeners.push(t),n&&n.onDocChange&&(this.abortOnDocChange=!0))}};function ad(i){let e=Object.keys(i).join(""),t=/\w/.test(e);return t&&(e=e.replace(/\w/g,"")),`[${t?"\\w":""}${e.replace(/[^\w\s]/g,"\\$&")}]`}function ES(i){let e=Object.create(null),t=Object.create(null);for(let{label:r}of i){e[r[0]]=!0;for(let s=1;stypeof r=="string"?{label:r}:r),[t,n]=e.every(r=>/^\w+$/.test(r.label))?[/\w*$/,/\w+$/]:ES(e);return r=>{let s=r.matchBefore(n);return s||r.explicit?{from:s?s.from:r.pos,options:e,validFor:t}:null}}function Us(i,e){return t=>{for(let n=U(t.state).resolveInner(t.pos,-1);n;n=n.parent){if(i.indexOf(n.name)>-1)return null;if(n.type.isTop)break}return e(t)}}function qS(i,e){var t;let{source:n}=i,r=e&&n[0]!="^",s=n[n.length-1]!="$";return!r&&!s?i:new RegExp(`${r?"^":""}(?:${n})${s?"$":""}`,(t=i.flags)!==null&&t!==void 0?t:i.ignoreCase?"i":"")}var zS=Te.define();var j$=typeof navigator=="object"&&/Win/.test(navigator.platform);var LS=q.baseTheme({".cm-tooltip.cm-tooltip-autocomplete":{"& > ul":{fontFamily:"monospace",whiteSpace:"nowrap",overflow:"hidden auto",maxWidth_fallback:"700px",maxWidth:"min(700px, 95vw)",minWidth:"250px",maxHeight:"10em",height:"100%",listStyle:"none",margin:0,padding:0,"& > li, & > completion-section":{padding:"1px 3px",lineHeight:1.2},"& > li":{overflowX:"hidden",textOverflow:"ellipsis",cursor:"pointer"},"& > completion-section":{display:"list-item",borderBottom:"1px solid silver",paddingLeft:"0.5em",opacity:.7}}},"&light .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#17c",color:"white"},"&light .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#777"},"&dark .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#347",color:"white"},"&dark .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#444"},".cm-completionListIncompleteTop:before, .cm-completionListIncompleteBottom:after":{content:'"\xB7\xB7\xB7"',opacity:.5,display:"block",textAlign:"center",cursor:"pointer"},".cm-tooltip.cm-completionInfo":{position:"absolute",padding:"3px 9px",width:"max-content",maxWidth:"400px",boxSizing:"border-box",whiteSpace:"pre-line"},".cm-completionInfo.cm-completionInfo-left":{right:"100%"},".cm-completionInfo.cm-completionInfo-right":{left:"100%"},".cm-completionInfo.cm-completionInfo-left-narrow":{right:"30px"},".cm-completionInfo.cm-completionInfo-right-narrow":{left:"30px"},"&light .cm-snippetField":{backgroundColor:"#00000022"},"&dark .cm-snippetField":{backgroundColor:"#ffffff22"},".cm-snippetFieldPosition":{verticalAlign:"text-top",width:0,height:"1.15em",display:"inline-block",margin:"0 -0.7px -.7em",borderLeft:"1.4px dotted #888"},".cm-completionMatchedText":{textDecoration:"underline"},".cm-completionDetail":{marginLeft:"0.5em",fontStyle:"italic"},".cm-completionIcon":{fontSize:"90%",width:".8em",display:"inline-block",textAlign:"center",paddingRight:".6em",opacity:"0.6",boxSizing:"content-box"},".cm-completionIcon-function, .cm-completionIcon-method":{"&:after":{content:"'\u0192'"}},".cm-completionIcon-class":{"&:after":{content:"'\u25CB'"}},".cm-completionIcon-interface":{"&:after":{content:"'\u25CC'"}},".cm-completionIcon-variable":{"&:after":{content:"'\u{1D465}'"}},".cm-completionIcon-constant":{"&:after":{content:"'\u{1D436}'"}},".cm-completionIcon-type":{"&:after":{content:"'\u{1D461}'"}},".cm-completionIcon-enum":{"&:after":{content:"'\u222A'"}},".cm-completionIcon-property":{"&:after":{content:"'\u25A1'"}},".cm-completionIcon-keyword":{"&:after":{content:"'\u{1F511}\uFE0E'"}},".cm-completionIcon-namespace":{"&:after":{content:"'\u25A2'"}},".cm-completionIcon-text":{"&:after":{content:"'abc'",fontSize:"50%",verticalAlign:"middle"}}}),jl=class{constructor(e,t,n,r){this.field=e,this.line=t,this.from=n,this.to=r}},Vl=class i{constructor(e,t,n){this.field=e,this.from=t,this.to=n}map(e){let t=e.mapPos(this.from,-1,ge.TrackDel),n=e.mapPos(this.to,1,ge.TrackDel);return t==null||n==null?null:new i(this.field,t,n)}},Dl=class i{constructor(e,t){this.lines=e,this.fieldPositions=t}instantiate(e,t){let n=[],r=[t],s=e.doc.lineAt(t),o=/^\s*/.exec(s.text)[0];for(let l of this.lines){if(n.length){let c=o,h=/^\t*/.exec(l)[0].length;for(let f=0;fnew Vl(l.field,r[l.line]+l.from,r[l.line]+l.to));return{text:n,ranges:a}}static parse(e){let t=[],n=[],r=[],s;for(let o of e.split(/\r\n?|\n/)){for(;s=/[#$]\{(?:(\d+)(?::([^{}]*))?|((?:\\[{}]|[^{}])*))\}/.exec(o);){let a=s[1]?+s[1]:null,l=s[2]||s[3]||"",c=-1;a===0&&(a=1e9);let h=l.replace(/\\[{}]/g,f=>f[1]);for(let f=0;f=c&&u.field++}for(let f of r)if(f.line==n.length&&f.from>s.index){let u=s[2]?3+(s[1]||"").length:2;f.from-=u,f.to-=u}r.push(new jl(c,n.length,s.index,s.index+h.length)),o=o.slice(0,s.index)+l+o.slice(s.index+s[0].length)}o=o.replace(/\\([{}])/g,(a,l,c)=>{for(let h of r)h.line==n.length&&h.from>c&&(h.from--,h.to--);return l}),n.push(o)}return new i(n,r)}},MS=R.widget({widget:new class extends Ce{toDOM(){let i=document.createElement("span");return i.className="cm-snippetFieldPosition",i}ignoreEvent(){return!1}}}),WS=R.mark({class:"cm-snippetField"}),Pn=class i{constructor(e,t){this.ranges=e,this.active=t,this.deco=R.set(e.map(n=>(n.from==n.to?MS:WS).range(n.from,n.to)),!0)}map(e){let t=[];for(let n of this.ranges){let r=n.map(e);if(!r)return null;t.push(r)}return new i(t,this.active)}selectionInsideField(e){return e.ranges.every(t=>this.ranges.some(n=>n.field==this.active&&n.from<=t.from&&n.to>=t.to))}},gr=ie.define({map(i,e){return i&&i.map(e)}}),jS=ie.define(),pr=fe.define({create(){return null},update(i,e){for(let t of e.effects){if(t.is(gr))return t.value;if(t.is(jS)&&i)return new Pn(i.ranges,t.value)}return i&&e.docChanged&&(i=i.map(e.changes)),i&&e.selection&&!i.selectionInsideField(e.selection)&&(i=null),i},provide:i=>q.decorations.from(i,e=>e?e.deco:R.none)});function Yl(i,e){return v.create(i.filter(t=>t.field==e).map(t=>v.range(t.from,t.to)))}function VS(i){let e=Dl.parse(i);return(t,n,r,s)=>{let{text:o,ranges:a}=e.instantiate(t.state,r),{main:l}=t.state.selection,c={changes:{from:r,to:s==l.from?l.to:s,insert:J.of(o)},scrollIntoView:!0,annotations:n?[zS.of(n),pe.userEvent.of("input.complete")]:void 0};if(a.length&&(c.selection=Yl(a,0)),a.some(h=>h.field>0)){let h=new Pn(a,0),f=c.effects=[gr.of(h)];t.state.field(pr,!1)===void 0&&f.push(ie.appendConfig.of([pr,US,GS,LS]))}t.dispatch(t.state.update(c))}}function fd(i){return({state:e,dispatch:t})=>{let n=e.field(pr,!1);if(!n||i<0&&n.active==0)return!1;let r=n.active+i,s=i>0&&!n.ranges.some(o=>o.field==r+i);return t(e.update({selection:Yl(n.ranges,r),effects:gr.of(s?null:new Pn(n.ranges,r)),scrollIntoView:!0})),!0}}var DS=({state:i,dispatch:e})=>i.field(pr,!1)?(e(i.update({effects:gr.of(null)})),!0):!1,YS=fd(1),IS=fd(-1);var BS=[{key:"Tab",run:YS,shift:IS},{key:"Escape",run:DS}],ld=Y.define({combine(i){return i.length?i[0]:BS}}),US=ot.highest(ui.compute([ld],i=>i.facet(ld)));function he(i,e){return{...e,apply:VS(i)}}var GS=q.domEventHandlers({mousedown(i,e){let t=e.state.field(pr,!1),n;if(!t||(n=e.posAtCoords({x:i.clientX,y:i.clientY}))==null)return!1;let r=t.ranges.find(s=>s.from<=n&&s.to>=n);return!r||r.field==t.active?!1:(e.dispatch({selection:Yl(t.ranges,r.field),effects:gr.of(t.ranges.some(s=>s.field>r.field)?new Pn(t.ranges,r.field):null),scrollIntoView:!0}),!0)}});var mr={brackets:["(","[","{","'",'"'],before:")]}:;>",stringPrefixes:[]},Ii=ie.define({map(i,e){let t=e.mapPos(i,-1,ge.TrackAfter);return t??void 0}}),Il=new class extends st{};Il.startSide=1;Il.endSide=-1;var ud=fe.define({create(){return le.empty},update(i,e){if(i=i.map(e.changes),e.selection){let t=e.state.doc.lineAt(e.selection.main.head);i=i.update({filter:n=>n>=t.from&&n<=t.to})}for(let t of e.effects)t.is(Ii)&&(i=i.update({add:[Il.range(t.value,t.value+1)]}));return i}});function Od(){return[FS,ud]}var Wl="()[]{}<>\xAB\xBB\xBB\xAB\uFF3B\uFF3D\uFF5B\uFF5D";function dd(i){for(let e=0;e{if((NS?i.composing:i.compositionStarted)||i.state.readOnly)return!1;let r=i.state.selection.main;if(n.length>2||n.length==2&&an(oi(n,0))==1||e!=r.from||t!=r.to)return!1;let s=KS(i.state,n);return s?(i.dispatch(s),!0):!1}),HS=({state:i,dispatch:e})=>{if(i.readOnly)return!1;let n=pd(i,i.selection.main.head).brackets||mr.brackets,r=null,s=i.changeByRange(o=>{if(o.empty){let a=JS(i.doc,o.head);for(let l of n)if(l==a&&Gs(i.doc,o.head)==dd(oi(l,0)))return{changes:{from:o.head-l.length,to:o.head+l.length},range:v.cursor(o.head-l.length)}}return{range:r=o}});return r||e(i.update(s,{scrollIntoView:!0,userEvent:"delete.backward"})),!r},md=[{key:"Backspace",run:HS}];function KS(i,e){let t=pd(i,i.selection.main.head),n=t.brackets||mr.brackets;for(let r of n){let s=dd(oi(r,0));if(e==r)return s==r?iy(i,r,n.indexOf(r+r+r)>-1,t):ey(i,r,s,t.before||mr.before);if(e==s&&gd(i,i.selection.main.from))return ty(i,r,s)}return null}function gd(i,e){let t=!1;return i.field(ud).between(0,i.doc.length,n=>{n==e&&(t=!0)}),t}function Gs(i,e){let t=i.sliceString(e,e+2);return t.slice(0,an(oi(t,0)))}function JS(i,e){let t=i.sliceString(e-2,e);return an(oi(t,0))==t.length?t:t.slice(1)}function ey(i,e,t,n){let r=null,s=i.changeByRange(o=>{if(!o.empty)return{changes:[{insert:e,from:o.from},{insert:t,from:o.to}],effects:Ii.of(o.to+e.length),range:v.range(o.anchor+e.length,o.head+e.length)};let a=Gs(i.doc,o.head);return!a||/\s/.test(a)||n.indexOf(a)>-1?{changes:{insert:e+t,from:o.head},effects:Ii.of(o.head+e.length),range:v.cursor(o.head+e.length)}:{range:r=o}});return r?null:i.update(s,{scrollIntoView:!0,userEvent:"input.type"})}function ty(i,e,t){let n=null,r=i.changeByRange(s=>s.empty&&Gs(i.doc,s.head)==t?{changes:{from:s.head,to:s.head+t.length,insert:t},range:v.cursor(s.head+t.length)}:n={range:s});return n?null:i.update(r,{scrollIntoView:!0,userEvent:"input.type"})}function iy(i,e,t,n){let r=n.stringPrefixes||mr.stringPrefixes,s=null,o=i.changeByRange(a=>{if(!a.empty)return{changes:[{insert:e,from:a.from},{insert:e,from:a.to}],effects:Ii.of(a.to+e.length),range:v.range(a.anchor+e.length,a.head+e.length)};let l=a.head,c=Gs(i.doc,l),h;if(c==e){if(cd(i,l))return{changes:{insert:e+e,from:l},effects:Ii.of(l+e.length),range:v.cursor(l+e.length)};if(gd(i,l)){let u=t&&i.sliceDoc(l,l+e.length*3)==e+e+e?e+e+e:e;return{changes:{from:l,to:l+u.length,insert:u},range:v.cursor(l+u.length)}}}else{if(t&&i.sliceDoc(l-2*e.length,l)==e+e&&(h=hd(i,l-2*e.length,r))>-1&&cd(i,h))return{changes:{insert:e+e+e+e,from:l},effects:Ii.of(l+e.length),range:v.cursor(l+e.length)};if(i.charCategorizer(l)(c)!=qe.Word&&hd(i,l,r)>-1&&!ny(i,l,e,r))return{changes:{insert:e+e,from:l},effects:Ii.of(l+e.length),range:v.cursor(l+e.length)}}return{range:s=a}});return s?null:i.update(o,{scrollIntoView:!0,userEvent:"input.type"})}function cd(i,e){let t=U(i).resolveInner(e+1);return t.parent&&t.from==e}function ny(i,e,t,n){let r=U(i).resolveInner(e,-1),s=n.reduce((o,a)=>Math.max(o,a.length),0);for(let o=0;o<5;o++){let a=i.sliceDoc(r.from,Math.min(r.to,r.from+t.length+s)),l=a.indexOf(t);if(!l||l>-1&&n.indexOf(a.slice(0,l))>-1){let h=r.firstChild;for(;h&&h.from==r.from&&h.to-h.from>t.length+l;){if(i.sliceDoc(h.to-t.length,h.to)==t)return!1;h=h.firstChild}return!0}let c=r.to==e&&r.parent;if(!c)break;r=c}return!1}function hd(i,e,t){let n=i.charCategorizer(e);if(n(i.sliceDoc(e-1,e))!=qe.Word)return e;for(let r of t){let s=e-r.length;if(i.sliceDoc(s,e)==r&&n(i.sliceDoc(s-1,s))!=qe.Word)return s}return-1}var Hs=class i{static create(e,t,n,r,s){let o=r+(r<<8)+e+(t<<4)|0;return new i(e,t,n,o,s,[],[])}constructor(e,t,n,r,s,o,a){this.type=e,this.value=t,this.from=n,this.hash=r,this.end=s,this.children=o,this.positions=a,this.hashProp=[[I.contextHash,r]]}addChild(e,t){e.prop(I.contextHash)!=this.hash&&(e=new K(e.type,e.children,e.positions,e.length,this.hashProp)),this.children.push(e),this.positions.push(t)}toTree(e,t=this.end){let n=this.children.length-1;return n>=0&&(t=Math.max(t,this.positions[n]+this.children[n].length+this.from)),new K(e.types[this.type],this.children,this.positions,t-this.from).balance({makeTree:(r,s,o)=>new K(de.none,r,s,o,this.hashProp)})}},A;(function(i){i[i.Document=1]="Document",i[i.CodeBlock=2]="CodeBlock",i[i.FencedCode=3]="FencedCode",i[i.Blockquote=4]="Blockquote",i[i.HorizontalRule=5]="HorizontalRule",i[i.BulletList=6]="BulletList",i[i.OrderedList=7]="OrderedList",i[i.ListItem=8]="ListItem",i[i.ATXHeading1=9]="ATXHeading1",i[i.ATXHeading2=10]="ATXHeading2",i[i.ATXHeading3=11]="ATXHeading3",i[i.ATXHeading4=12]="ATXHeading4",i[i.ATXHeading5=13]="ATXHeading5",i[i.ATXHeading6=14]="ATXHeading6",i[i.SetextHeading1=15]="SetextHeading1",i[i.SetextHeading2=16]="SetextHeading2",i[i.HTMLBlock=17]="HTMLBlock",i[i.LinkReference=18]="LinkReference",i[i.Paragraph=19]="Paragraph",i[i.CommentBlock=20]="CommentBlock",i[i.ProcessingInstructionBlock=21]="ProcessingInstructionBlock",i[i.Escape=22]="Escape",i[i.Entity=23]="Entity",i[i.HardBreak=24]="HardBreak",i[i.Emphasis=25]="Emphasis",i[i.StrongEmphasis=26]="StrongEmphasis",i[i.Link=27]="Link",i[i.Image=28]="Image",i[i.InlineCode=29]="InlineCode",i[i.HTMLTag=30]="HTMLTag",i[i.Comment=31]="Comment",i[i.ProcessingInstruction=32]="ProcessingInstruction",i[i.Autolink=33]="Autolink",i[i.HeaderMark=34]="HeaderMark",i[i.QuoteMark=35]="QuoteMark",i[i.ListMark=36]="ListMark",i[i.LinkMark=37]="LinkMark",i[i.EmphasisMark=38]="EmphasisMark",i[i.CodeMark=39]="CodeMark",i[i.CodeText=40]="CodeText",i[i.CodeInfo=41]="CodeInfo",i[i.LinkTitle=42]="LinkTitle",i[i.LinkLabel=43]="LinkLabel",i[i.URL=44]="URL"})(A||(A={}));var Gl=class{constructor(e,t){this.start=e,this.content=t,this.marks=[],this.parsers=[]}},Nl=class{constructor(){this.text="",this.baseIndent=0,this.basePos=0,this.depth=0,this.markers=[],this.pos=0,this.indent=0,this.next=-1}forward(){this.basePos>this.pos&&this.forwardInner()}forwardInner(){let e=this.skipSpace(this.basePos);this.indent=this.countIndent(e,this.pos,this.indent),this.pos=e,this.next=e==this.text.length?-1:this.text.charCodeAt(e)}skipSpace(e){return br(this.text,e)}reset(e){for(this.text=e,this.baseIndent=this.basePos=this.pos=this.indent=0,this.forwardInner(),this.depth=1;this.markers.length;)this.markers.pop()}moveBase(e){this.basePos=e,this.baseIndent=this.countIndent(e,this.pos,this.indent)}moveBaseColumn(e){this.baseIndent=e,this.basePos=this.findColumn(e)}addMarker(e){this.markers.push(e)}countIndent(e,t=0,n=0){for(let r=t;r=e.stack[t.depth+1].value+t.baseIndent)return!0;if(t.indent>=t.baseIndent+4)return!1;let n=(i.type==A.OrderedList?ac:oc)(t,e,!1);return n>0&&(i.type!=A.BulletList||sc(t,e,!1)<0)&&t.text.charCodeAt(t.pos+n-1)==i.value}var Cd={[A.Blockquote](i,e,t){return t.next!=62?!1:(t.markers.push(ne(A.QuoteMark,e.lineStart+t.pos,e.lineStart+t.pos+1)),t.moveBase(t.pos+(mt(t.text.charCodeAt(t.pos+1))?2:1)),i.end=e.lineStart+t.text.length,!0)},[A.ListItem](i,e,t){return t.indent-1?!1:(t.moveBaseColumn(t.baseIndent+i.value),!0)},[A.OrderedList]:Qd,[A.BulletList]:Qd,[A.Document](){return!0}};function mt(i){return i==32||i==9||i==10||i==13}function br(i,e=0){for(;et&&mt(i.charCodeAt(e-1));)e--;return e}function Xd(i){if(i.next!=96&&i.next!=126)return-1;let e=i.pos+1;for(;e-1&&i.depth==e.stack.length&&e.parser.leafBlockParsers.indexOf(Ld.SetextHeading)>-1||n<3?-1:1}function Rd(i,e){for(let t=i.stack.length-1;t>=0;t--)if(i.stack[t].type==e)return!0;return!1}function oc(i,e,t){return(i.next==45||i.next==43||i.next==42)&&(i.pos==i.text.length-1||mt(i.text.charCodeAt(i.pos+1)))&&(!t||Rd(e,A.BulletList)||i.skipSpace(i.pos+2)=48&&r<=57;){n++;if(n==i.text.length)return-1;r=i.text.charCodeAt(n)}return n==i.pos||n>i.pos+9||r!=46&&r!=41||ni.pos+1||i.next!=49)?-1:n+1-i.pos}function Ad(i){if(i.next!=35)return-1;let e=i.pos+1;for(;e6?-1:t}function Zd(i){if(i.next!=45&&i.next!=61||i.indent>=i.baseIndent+4)return-1;let e=i.pos+1;for(;e/,qd=/\?>/,Hl=[[/^<(?:script|pre|style)(?:\s|>|$)/i,/<\/(?:script|pre|style)>/i],[/^\s*/,qd=/\?>/,Kl=[[/^<(?:script|pre|style)(?:\s|>|$)/i,/<\/(?:script|pre|style)>/i],[/^\s*/i.exec(n);if(s)return i.append(ne(A.Comment,t,t+1+s[0].length));let o=/^\?[^]*?\?>/.exec(n);if(o)return i.append(ne(A.ProcessingInstruction,t,t+1+o[0].length));let a=/^(?:![A-Z][^]*?>|!\[CDATA\[[^]*?\]\]>|\/\s*[a-zA-Z][\w-]*\s*>|\s*[a-zA-Z][\w-]*(\s+[a-zA-Z:_][\w-.:]*(?:\s*=\s*(?:[^\s"'=<>`]+|'[^']*'|"[^"]*"))?)*\s*(\/\s*)?>)/.exec(n);return a?i.append(ne(A.HTMLTag,t,t+1+a[0].length)):-1},Emphasis(i,e,t){if(e!=95&&e!=42)return-1;let n=t+1;for(;i.char(n)==e;)n++;let r=i.slice(t-1,t),s=i.slice(n,n+1),o=kr.test(r),a=kr.test(s),l=/\s|^$/.test(r),c=/\s|^$/.test(s),h=!c&&(!a||l||o),f=!l&&(!o||c||a),u=h&&(e==42||!f||o),O=f&&(e==42||!h||a);return i.append(new We(e==95?jd:Vd,t,n,(u?1:0)|(O?2:0)))},HardBreak(i,e,t){if(e==92&&i.char(t+1)==10)return i.append(ne(A.HardBreak,t,t+2));if(e==32){let n=t+1;for(;i.char(n)==32;)n++;if(i.char(n)==10&&n>=t+2)return i.append(ne(A.HardBreak,t,n+1))}return-1},Link(i,e,t){return e==91?i.append(new We(Bi,t,t+1,1)):-1},Image(i,e,t){return e==33&&i.char(t+1)==91?i.append(new We(eo,t,t+2,1)):-1},LinkEnd(i,e,t){if(e!=93)return-1;for(let n=i.parts.length-1;n>=0;n--){let r=i.parts[n];if(r instanceof We&&(r.type==Bi||r.type==eo)){if(!r.side||i.skipSpace(r.to)==t&&!/[(\[]/.test(i.slice(t+1,t+2)))return i.parts[n]=null,-1;let s=i.takeContent(n),o=i.parts[n]=oy(i,s,r.type==Bi?A.Link:A.Image,r.from,t+1);if(r.type==Bi)for(let a=0;ae?ne(A.URL,e+t,s+t):s==i.length?null:!1}}function Yd(i,e,t){let n=i.charCodeAt(e);if(n!=39&&n!=34&&n!=40)return!1;let r=n==40?41:n;for(let s=e+1,o=!1;s=this.end?-1:this.text.charCodeAt(e-this.offset)}get end(){return this.offset+this.text.length}slice(e,t){return this.text.slice(e-this.offset,t-this.offset)}append(e){return this.parts.push(e),e.to}addDelimiter(e,t,n,r,s){return this.append(new We(e,t,n,(r?1:0)|(s?2:0)))}get hasOpenLink(){for(let e=this.parts.length-1;e>=0;e--){let t=this.parts[e];if(t instanceof We&&(t.type==Bi||t.type==eo))return!0}return!1}addElement(e){return this.append(e)}resolveMarkers(e){for(let n=e;n=e;l--){let p=this.parts[l];if(p instanceof We&&p.side&1&&p.type==r.type&&!(s&&(r.side&1||p.side&2)&&(p.to-p.from+o)%3==0&&((p.to-p.from)%3||o%3))){a=p;break}}if(!a)continue;let c=r.type.resolve,h=[],f=a.from,u=r.to;if(s){let p=Math.min(2,a.to-a.from,o);f=a.to-p,u=r.from+p,c=p==1?"Emphasis":"StrongEmphasis"}a.type.mark&&h.push(this.elt(a.type.mark,f,a.to));for(let p=l+1;p=0;t--){let n=this.parts[t];if(n instanceof We&&n.type==e&&n.side&1)return t}return null}takeContent(e){let t=this.resolveMarkers(e);return this.parts.length=e,t}getDelimiterAt(e){let t=this.parts[e];return t instanceof We?t:null}skipSpace(e){return br(this.text,e-this.offset)+this.offset}elt(e,t,n,r){return typeof e=="string"?ne(this.parser.getNodeType(e),t,n,r):new Js(e,t)}};xr.linkStart=Bi;xr.imageStart=eo;function ic(i,e){if(!e.length)return i;if(!i.length)return e;let t=i.slice(),n=0;for(let r of e){for(;n(e?e-1:0))return!1;if(this.fragmentEnd<0){let s=this.fragment.to;for(;s>0&&this.input.read(s-1,s)!=` -`;)s--;this.fragmentEnd=s?s-1:0}let n=this.cursor;n||(n=this.cursor=this.fragment.tree.cursor(),n.firstChild());let r=e+this.fragment.offset;for(;n.to<=r;)if(!n.parent())return!1;for(;;){if(n.from>=r)return this.fragment.from<=t;if(!n.childAfter(r))return!1}}matches(e){let t=this.cursor.tree;return t&&t.prop(I.contextHash)==e}takeNodes(e){let t=this.cursor,n=this.fragment.offset,r=this.fragmentEnd-(this.fragment.openEnd?1:0),s=e.absoluteLineStart,o=s,a=e.block.children.length,l=o,c=a;for(;;){if(t.to-n>r){if(t.type.isAnonymous&&t.firstChild())continue;break}let h=Bd(t.from-n,e.ranges);if(t.to-n<=e.ranges[e.rangeI].to)e.addNode(t.tree,h);else{let f=new K(e.parser.nodeSet.types[A.Paragraph],[],[],0,e.block.hashProp);e.reusePlaceholders.set(f,t.tree),e.addNode(f,h)}if(t.type.is("Block")&&(ay.indexOf(t.type.id)<0?(o=t.to-n,a=e.block.children.length):(o=l,a=c),l=t.to-n,c=e.block.children.length),!t.nextSibling())break}for(;e.block.children.length>a;)e.block.children.pop(),e.block.positions.pop();return o-s}};function Bd(i,e){let t=i;for(let n=1;nNs[i]),Object.keys(Ns).map(i=>Ld[i]),Object.keys(Ns),ry,Cd,Object.keys(Ul).map(i=>Ul[i]),Object.keys(Ul),[]);function cy(i,e,t){let n=[];for(let r=i.firstChild,s=e;;r=r.nextSibling){let o=r?r.from:t;if(o>s&&n.push({from:s,to:o}),!r)break;s=r.to}return n}function Gd(i){let{codeParser:e,htmlParser:t}=i;return{wrap:Sn((r,s)=>{let o=r.type.id;if(e&&(o==A.CodeBlock||o==A.FencedCode)){let a="";if(o==A.FencedCode){let c=r.node.getChild(A.CodeInfo);c&&(a=s.read(c.from,c.to))}let l=e(a);if(l)return{parser:l,overlay:c=>c.type.id==A.CodeText,bracketed:o==A.FencedCode}}else if(t&&(o==A.HTMLBlock||o==A.HTMLTag||o==A.CommentBlock))return{parser:t,overlay:cy(r.node,r.from,r.to)};return null})}}var hy={resolve:"Strikethrough",mark:"StrikethroughMark"},fy={defineNodes:[{name:"Strikethrough",style:{"Strikethrough/...":d.strikethrough}},{name:"StrikethroughMark",style:d.processingInstruction}],parseInline:[{name:"Strikethrough",parse(i,e,t){if(e!=126||i.char(t+1)!=126||i.char(t+2)==126)return-1;let n=i.slice(t-1,t),r=i.slice(t+2,t+3),s=/\s|^$/.test(n),o=/\s|^$/.test(r),a=kr.test(n),l=kr.test(r);return i.addDelimiter(hy,t,t+2,!o&&(!l||s||a),!s&&(!a||o||l))},after:"Emphasis"}]};function Sr(i,e,t=0,n,r=0){let s=0,o=!0,a=-1,l=-1,c=!1,h=()=>{n.push(i.elt("TableCell",r+a,r+l,i.parser.parseInline(e.slice(a,l),r+a)))};for(let f=t;f-1)&&s++,o=!1,n&&(a>-1&&h(),n.push(i.elt("TableDelimiter",f+r,f+r+1))),a=l=-1):(c||u!=32&&u!=9)&&(a<0&&(a=f),l=f+1),c=!c&&u==92}return a>-1&&(s++,n&&h()),s}function kd(i,e){for(let t=e;t\s]*\|?(\s*:?-+:?\s*\|)+(\s*:?-+:?\s*)?$/,to=class{constructor(){this.rows=null}nextLine(e,t,n){if(this.rows==null){this.rows=!1;let r;if((t.next==45||t.next==58||t.next==124)&&Nd.test(r=t.text.slice(t.pos))){let s=[];Sr(e,n.content,0,s,n.start)==Sr(e,r,0)&&(this.rows=[e.elt("TableHeader",n.start,n.start+n.content.length,s),e.elt("TableDelimiter",e.lineStart+t.pos,e.lineStart+t.text.length)])}}else if(this.rows){let r=[];Sr(e,t.text,t.pos,r,e.lineStart),this.rows.push(e.elt("TableRow",e.lineStart+t.pos,e.lineStart+t.text.length,r))}return!1}finish(e,t){return this.rows?(e.addLeafElement(t,e.elt("Table",t.start,t.start+t.content.length,this.rows)),!0):!1}},uy={defineNodes:[{name:"Table",block:!0},{name:"TableHeader",style:{"TableHeader/...":d.heading}},"TableRow",{name:"TableCell",style:d.content},{name:"TableDelimiter",style:d.processingInstruction}],parseBlock:[{name:"Table",leaf(i,e){return kd(e.content,0)?new to:null},endLeaf(i,e,t){if(t.parsers.some(r=>r instanceof to)||!kd(e.text,e.basePos))return!1;let n=i.peekLine();return Nd.test(n)&&Sr(i,e.text,e.basePos)==Sr(i,n,e.basePos)},before:"SetextHeading"}]},rc=class{nextLine(){return!1}finish(e,t){return e.addLeafElement(t,e.elt("Task",t.start,t.start+t.content.length,[e.elt("TaskMarker",t.start,t.start+3),...e.parser.parseInline(t.content.slice(3),t.start+3)])),!0}},Oy={defineNodes:[{name:"Task",block:!0,style:d.list},{name:"TaskMarker",style:d.atom}],parseBlock:[{name:"TaskList",leaf(i,e){return/^\[[ xX]\][ \t]/.test(e.content)&&i.parentType().name=="ListItem"?new rc:null},after:"SetextHeading"}]},xd=/(www\.)|(https?:\/\/)|([\w.+-]{1,100}@)|(mailto:|xmpp:)/gy,wd=/[\w-]+(\.[\w-]+)+(:\d+)?(\/[^\s<]*)?/gy,dy=/[\w-]+\.[\w-]+($|[/:])/,Pd=/[\w.+-]+@[\w-]+(\.[\w.-]+)+/gy,vd=/\/[a-zA-Z\d@.]+/gy;function $d(i,e,t,n){let r=0;for(let s=e;s-1)return-1;let n=e+t[0].length;for(;;){let r=i[n-1],s;if(/[?!.,:*_~]/.test(r)||r==")"&&$d(i,e,n,")")>$d(i,e,n,"("))n--;else if(r==";"&&(s=/&(?:#\d+|#x[a-f\d]+|\w+);$/.exec(i.slice(e,n))))n=e+s.index;else break}return n}function Td(i,e){Pd.lastIndex=e;let t=Pd.exec(i);if(!t)return-1;let n=t[0][t[0].length-1];return n=="_"||n=="-"?-1:e+t[0].length-(n=="."?1:0)}var my={parseInline:[{name:"Autolink",parse(i,e,t){let n=t-i.offset;if(n&&/\w/.test(i.text[n-1]))return-1;xd.lastIndex=n;let r=xd.exec(i.text),s=-1;if(!r)return-1;if(r[1]||r[2]){if(s=py(i.text,n+r[0].length),s>-1&&i.hasOpenLink){let o=/([^\[\]]|\[[^\]]*\])*/.exec(i.text.slice(n,s));s=n+o[0].length}}else r[3]?s=Td(i.text,n):(s=Td(i.text,n+r[0].length),s>-1&&r[0]=="xmpp:"&&(vd.lastIndex=s,r=vd.exec(i.text),r&&(s=r.index+r[0].length)));return s<0?-1:(i.addElement(i.elt("URL",t,s+i.offset)),s+i.offset)}}]},Fd=[uy,Oy,fy,my];function Hd(i,e,t){return(n,r,s)=>{if(r!=i||n.char(s+1)==i)return-1;let o=[n.elt(t,s,s+1)];for(let a=s+1;at%3==0).concat(this.state)}]@${this.pos}${this.score?"!"+this.score:""}`}static start(e,t,n=0){let r=e.parser.context;return new i(e,[],t,n,n,0,[],0,r?new io(r,r.start):null,0,null)}get context(){return this.curContext?this.curContext.context:null}pushState(e,t){this.stack.push(this.state,t,this.bufferBase+this.buffer.length),this.state=e}reduce(e){var t;let n=e>>19,r=e&65535,{parser:s}=this.p,o=this.reducePos=2e3&&!(!((t=this.p.parser.nodeSet.types[r])===null||t===void 0)&&t.isAnonymous)&&(c==this.p.lastBigReductionStart?(this.p.bigReductionCount++,this.p.lastBigReductionSize=h):this.p.lastBigReductionSizel;)this.stack.pop();this.reduceContext(r,c)}storeNode(e,t,n,r=4,s=!1){if(e==0&&(!this.stack.length||this.stack[this.stack.length-1]0&&this.buffer[o-4]==0&&this.buffer[o-1]>-1){if(t==n)return;if(this.buffer[o-2]>=t){this.buffer[o-2]=n;return}}}if(!s||this.pos==n)this.buffer.push(e,t,n,r);else{let o=this.buffer.length;if(o>0&&(this.buffer[o-4]!=0||this.buffer[o-1]<0)){let a=!1;for(let l=o;l>0&&this.buffer[l-2]>n;l-=4)if(this.buffer[l-1]>=0){a=!0;break}if(a)for(;o>0&&this.buffer[o-2]>n;)this.buffer[o]=this.buffer[o-4],this.buffer[o+1]=this.buffer[o-3],this.buffer[o+2]=this.buffer[o-2],this.buffer[o+3]=this.buffer[o-1],o-=4,r>4&&(r-=4)}this.buffer[o]=e,this.buffer[o+1]=t,this.buffer[o+2]=n,this.buffer[o+3]=r}}shift(e,t,n,r){if(e&131072)this.pushState(e&65535,this.pos);else if((e&262144)==0){let s=e,{parser:o}=this.p;this.pos=r;let a=o.stateFlag(s,1);!a&&(r>n||t<=o.maxNode)&&(this.reducePos=r),this.pushState(s,a?n:Math.min(n,this.reducePos)),this.shiftContext(t,n),t<=o.maxNode&&this.buffer.push(t,n,r,4)}else this.pos=r,this.shiftContext(t,n),t<=this.p.parser.maxNode&&this.buffer.push(t,n,r,4)}apply(e,t,n,r){e&65536?this.reduce(e):this.shift(e,t,n,r)}useNode(e,t){let n=this.p.reused.length-1;(n<0||this.p.reused[n]!=e)&&(this.p.reused.push(e),n++);let r=this.pos;this.reducePos=this.pos=r+e.length,this.pushState(t,r),this.buffer.push(n,r,this.reducePos,-1),this.curContext&&this.updateContext(this.curContext.tracker.reuse(this.curContext.context,e,this,this.p.stream.reset(this.pos-e.length)))}split(){let e=this,t=e.buffer.length;for(t&&e.buffer[t-4]==0&&(t-=4);t>0&&e.buffer[t-2]>e.reducePos;)t-=4;let n=e.buffer.slice(t),r=e.bufferBase+t;for(;e&&r==e.bufferBase;)e=e.parent;return new i(this.p,this.stack.slice(),this.state,this.reducePos,this.pos,this.score,n,r,this.curContext,this.lookAhead,e)}recoverByDelete(e,t){let n=e<=this.p.parser.maxNode;n&&this.storeNode(e,this.pos,t,4),this.storeNode(0,this.pos,t,n?8:4),this.pos=this.reducePos=t,this.score-=190}canShift(e){for(let t=new fc(this);;){let n=this.p.parser.stateSlot(t.state,4)||this.p.parser.hasAction(t.state,e);if(n==0)return!1;if((n&65536)==0)return!0;t.reduce(n)}}recoverByInsert(e){if(this.stack.length>=300)return[];let t=this.p.parser.nextStates(this.state);if(t.length>8||this.stack.length>=120){let r=[];for(let s=0,o;sl&1&&a==o)||r.push(t[s],o)}t=r}let n=[];for(let r=0;r>19,r=t&65535,s=this.stack.length-n*3;if(s<0||e.getGoto(this.stack[s],r,!1)<0){let o=this.findForcedReduction();if(o==null)return!1;t=o}this.storeNode(0,this.pos,this.pos,4,!0),this.score-=100}return this.reducePos=this.pos,this.reduce(t),!0}findForcedReduction(){let{parser:e}=this.p,t=[],n=(r,s)=>{if(!t.includes(r))return t.push(r),e.allActions(r,o=>{if(!(o&393216))if(o&65536){let a=(o>>19)-s;if(a>1){let l=o&65535,c=this.stack.length-a*3;if(c>=0&&e.getGoto(this.stack[c],l,!1)>=0)return a<<19|65536|l}}else{let a=n(o,s+1);if(a!=null)return a}})};return n(this.state,0)}forceAll(){for(;!this.p.parser.stateFlag(this.state,2);)if(!this.forceReduce()){this.storeNode(0,this.pos,this.pos,4,!0);break}return this}get deadEnd(){if(this.stack.length!=3)return!1;let{parser:e}=this.p;return e.data[e.stateSlot(this.state,1)]==65535&&!e.stateSlot(this.state,4)}restart(){this.storeNode(0,this.pos,this.pos,4,!0),this.state=this.stack[0],this.stack.length=0}sameState(e){if(this.state!=e.state||this.stack.length!=e.stack.length)return!1;for(let t=0;t0&&this.emitLookAhead()}},io=class{constructor(e,t){this.tracker=e,this.context=t,this.hash=e.strict?e.hash(t):0}},fc=class{constructor(e){this.start=e,this.state=e.state,this.stack=e.stack,this.base=this.stack.length}reduce(e){let t=e&65535,n=e>>19;n==0?(this.stack==this.start.stack&&(this.stack=this.stack.slice()),this.stack.push(this.state,0,0),this.base+=3):this.base-=(n-1)*3;let r=this.start.p.parser.getGoto(this.stack[this.base-3],t,!0);this.state=r}},uc=class i{constructor(e,t,n){this.stack=e,this.pos=t,this.index=n,this.buffer=e.buffer,this.index==0&&this.maybeNext()}static create(e,t=e.bufferBase+e.buffer.length){return new i(e,t,t-e.bufferBase)}maybeNext(){let e=this.stack.parent;e!=null&&(this.index=this.stack.bufferBase-e.bufferBase,this.stack=e,this.buffer=e.buffer)}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}next(){this.index-=4,this.pos-=4,this.index==0&&this.maybeNext()}fork(){return new i(this.stack,this.pos,this.index)}};function wr(i,e=Uint16Array){if(typeof i!="string")return i;let t=null;for(let n=0,r=0;n=92&&o--,o>=34&&o--;let l=o-32;if(l>=46&&(l-=46,a=!0),s+=l,a)break;s*=46}t?t[r++]=s:t=new e(s)}return t}var $n=class{constructor(){this.start=-1,this.value=-1,this.end=-1,this.extended=-1,this.lookAhead=0,this.mask=0,this.context=0}},tp=new $n,Oc=class{constructor(e,t){this.input=e,this.ranges=t,this.chunk="",this.chunkOff=0,this.chunk2="",this.chunk2Pos=0,this.next=-1,this.token=tp,this.rangeIndex=0,this.pos=this.chunkPos=t[0].from,this.range=t[0],this.end=t[t.length-1].to,this.readNext()}resolveOffset(e,t){let n=this.range,r=this.rangeIndex,s=this.pos+e;for(;sn.to:s>=n.to;){if(r==this.ranges.length-1)return null;let o=this.ranges[++r];s+=o.from-n.to,n=o}return s}clipPos(e){if(e>=this.range.from&&ee)return Math.max(e,t.from);return this.end}peek(e){let t=this.chunkOff+e,n,r;if(t>=0&&t=this.chunk2Pos&&na.to&&(this.chunk2=this.chunk2.slice(0,a.to-n)),r=this.chunk2.charCodeAt(0)}}return n>=this.token.lookAhead&&(this.token.lookAhead=n+1),r}acceptToken(e,t=0){let n=t?this.resolveOffset(t,-1):this.pos;if(n==null||n=this.chunk2Pos&&this.posthis.range.to?e.slice(0,this.range.to-this.pos):e,this.chunkPos=this.pos,this.chunkOff=0}}readNext(){return this.chunkOff>=this.chunk.length&&(this.getChunk(),this.chunkOff==this.chunk.length)?this.next=-1:this.next=this.chunk.charCodeAt(this.chunkOff)}advance(e=1){for(this.chunkOff+=e;this.pos+e>=this.range.to;){if(this.rangeIndex==this.ranges.length-1)return this.setDone();e-=this.range.to-this.pos,this.range=this.ranges[++this.rangeIndex],this.pos=this.range.from}return this.pos+=e,this.pos>=this.token.lookAhead&&(this.token.lookAhead=this.pos+1),this.readNext()}setDone(){return this.pos=this.chunkPos=this.end,this.range=this.ranges[this.rangeIndex=this.ranges.length-1],this.chunk="",this.next=-1}reset(e,t){if(t?(this.token=t,t.start=e,t.lookAhead=e+1,t.value=t.extended=-1):this.token=tp,this.pos!=e){if(this.pos=e,e==this.end)return this.setDone(),this;for(;e=this.range.to;)this.range=this.ranges[++this.rangeIndex];e>=this.chunkPos&&e=this.chunkPos&&t<=this.chunkPos+this.chunk.length)return this.chunk.slice(e-this.chunkPos,t-this.chunkPos);if(e>=this.chunk2Pos&&t<=this.chunk2Pos+this.chunk2.length)return this.chunk2.slice(e-this.chunk2Pos,t-this.chunk2Pos);if(e>=this.range.from&&t<=this.range.to)return this.input.read(e,t);let n="";for(let r of this.ranges){if(r.from>=t)break;r.to>e&&(n+=this.input.read(Math.max(r.from,e),Math.min(r.to,t)))}return n}},yi=class{constructor(e,t){this.data=e,this.id=t}token(e,t){let{parser:n}=t.p;op(this.data,e,t,this.id,n.data,n.tokenPrecTable)}};yi.prototype.contextual=yi.prototype.fallback=yi.prototype.extend=!1;var ki=class{constructor(e,t,n){this.precTable=t,this.elseToken=n,this.data=typeof e=="string"?wr(e):e}token(e,t){let n=e.pos,r=0;for(;;){let s=e.next<0,o=e.resolveOffset(1,1);if(op(this.data,e,t,0,this.data,this.precTable),e.token.value>-1)break;if(this.elseToken==null)return;if(s||r++,o==null)break;e.reset(o,e.token)}r&&(e.reset(n,e.token),e.acceptToken(this.elseToken,r))}};ki.prototype.contextual=yi.prototype.fallback=yi.prototype.extend=!1;var ee=class{constructor(e,t={}){this.token=e,this.contextual=!!t.contextual,this.fallback=!!t.fallback,this.extend=!!t.extend}};function op(i,e,t,n,r,s){let o=0,a=1<0){let m=i[O];if(l.allows(m)&&(e.token.value==-1||e.token.value==m||Qy(m,e.token.value,r,s))){e.acceptToken(m);break}}let h=e.next,f=0,u=i[o+2];if(e.next<0&&u>f&&i[c+u*3-3]==65535){o=i[c+u*3-1];continue e}for(;f>1,m=c+O+(O<<1),p=i[m],b=i[m+1]||65536;if(h=b)f=O+1;else{o=i[m+2],e.advance();continue e}}break}}function ip(i,e,t){for(let n=e,r;(r=i[n])!=65535;n++)if(r==t)return n-e;return-1}function Qy(i,e,t,n){let r=ip(t,n,e);return r<0||ip(t,n,i)e)&&!n.type.isError)return t<0?Math.max(0,Math.min(n.to-1,e-25)):Math.min(i.length,Math.max(n.from+1,e+25));if(t<0?n.prevSibling():n.nextSibling())break;if(!n.parent())return t<0?0:i.length}}var dc=class{constructor(e,t){this.fragments=e,this.nodeSet=t,this.i=0,this.fragment=null,this.safeFrom=-1,this.safeTo=-1,this.trees=[],this.start=[],this.index=[],this.nextFragment()}nextFragment(){let e=this.fragment=this.i==this.fragments.length?null:this.fragments[this.i++];if(e){for(this.safeFrom=e.openStart?np(e.tree,e.from+e.offset,1)-e.offset:e.from,this.safeTo=e.openEnd?np(e.tree,e.to+e.offset,-1)-e.offset:e.to;this.trees.length;)this.trees.pop(),this.start.pop(),this.index.pop();this.trees.push(e.tree),this.start.push(-e.offset),this.index.push(0),this.nextStart=this.safeFrom}else this.nextStart=1e9}nodeAt(e){if(ee)return this.nextStart=o,null;if(s instanceof K){if(o==e){if(o=Math.max(this.safeFrom,e)&&(this.trees.push(s),this.start.push(o),this.index.push(0))}else this.index[t]++,this.nextStart=o+s.length}}},pc=class{constructor(e,t){this.stream=t,this.tokens=[],this.mainToken=null,this.actions=[],this.tokens=e.tokenizers.map(n=>new $n)}getActions(e){let t=0,n=null,{parser:r}=e.p,{tokenizers:s}=r,o=r.stateSlot(e.state,3),a=e.curContext?e.curContext.hash:0,l=0;for(let c=0;cf.end+25&&(l=Math.max(f.lookAhead,l)),f.value!=0)){let u=t;if(f.extended>-1&&(t=this.addActions(e,f.extended,f.end,t)),t=this.addActions(e,f.value,f.end,t),!h.extend&&(n=f,t>u))break}}for(;this.actions.length>t;)this.actions.pop();return l&&e.setLookAhead(l),!n&&e.pos==this.stream.end&&(n=new $n,n.value=e.p.parser.eofTerm,n.start=n.end=e.pos,t=this.addActions(e,n.value,n.end,t)),this.mainToken=n,this.actions}getMainToken(e){if(this.mainToken)return this.mainToken;let t=new $n,{pos:n,p:r}=e;return t.start=n,t.end=Math.min(n+1,r.stream.end),t.value=n==r.stream.end?r.parser.eofTerm:0,t}updateCachedToken(e,t,n){let r=this.stream.clipPos(n.pos);if(t.token(this.stream.reset(r,e),n),e.value>-1){let{parser:s}=n.p;for(let o=0;o=0&&n.p.parser.dialect.allows(a>>1)){(a&1)==0?e.value=a>>1:e.extended=a>>1;break}}}else e.value=0,e.end=this.stream.clipPos(r+1)}putAction(e,t,n,r){for(let s=0;se.bufferLength*4?new dc(n,e.nodeSet):null}get parsedPos(){return this.minStackPos}advance(){let e=this.stacks,t=this.minStackPos,n=this.stacks=[],r,s;if(this.bigReductionCount>300&&e.length==1){let[o]=e;for(;o.forceReduce()&&o.stack.length&&o.stack[o.stack.length-2]>=this.lastBigReductionStart;);this.bigReductionCount=this.lastBigReductionSize=0}for(let o=0;ot)n.push(a);else{if(this.advanceStack(a,n,e))continue;{r||(r=[],s=[]),r.push(a);let l=this.tokens.getMainToken(a);s.push(l.value,l.end)}}break}}if(!n.length){let o=r&&by(r);if(o)return et&&console.log("Finish with "+this.stackID(o)),this.stackToTree(o);if(this.parser.strict)throw et&&r&&console.log("Stuck with token "+(this.tokens.mainToken?this.parser.getName(this.tokens.mainToken.value):"none")),new SyntaxError("No parse at "+t);this.recovering||(this.recovering=5)}if(this.recovering&&r){let o=this.stoppedAt!=null&&r[0].pos>this.stoppedAt?r[0]:this.runRecovery(r,s,n);if(o)return et&&console.log("Force-finish "+this.stackID(o)),this.stackToTree(o.forceAll())}if(this.recovering){let o=this.recovering==1?1:this.recovering*3;if(n.length>o)for(n.sort((a,l)=>l.score-a.score);n.length>o;)n.pop();n.some(a=>a.reducePos>t)&&this.recovering--}else if(n.length>1){e:for(let o=0;o500&&c.buffer.length>500)if((a.score-c.score||a.buffer.length-c.buffer.length)>0)n.splice(l--,1);else{n.splice(o--,1);continue e}}}n.length>12&&(n.sort((o,a)=>a.score-o.score),n.splice(12,n.length-12))}this.minStackPos=n[0].pos;for(let o=1;o ":"";if(this.stoppedAt!=null&&r>this.stoppedAt)return e.forceReduce()?e:null;if(this.fragments){let c=e.curContext&&e.curContext.tracker.strict,h=c?e.curContext.hash:0;for(let f=this.fragments.nodeAt(r);f;){let u=this.parser.nodeSet.types[f.type.id]==f.type?s.getGoto(e.state,f.type.id):-1;if(u>-1&&f.length&&(!c||(f.prop(I.contextHash)||0)==h))return e.useNode(f,u),et&&console.log(o+this.stackID(e)+` (via reuse of ${s.getName(f.type.id)})`),!0;if(!(f instanceof K)||f.children.length==0||f.positions[0]>0)break;let O=f.children[0];if(O instanceof K&&f.positions[0]==0)f=O;else break}}let a=s.stateSlot(e.state,4);if(a>0)return e.reduce(a),et&&console.log(o+this.stackID(e)+` (via always-reduce ${s.getName(a&65535)})`),!0;if(e.stack.length>=8400)for(;e.stack.length>6e3&&e.forceReduce(););let l=this.tokens.getActions(e);for(let c=0;cr?t.push(m):n.push(m)}return!1}advanceFully(e,t){let n=e.pos;for(;;){if(!this.advanceStack(e,null,null))return!1;if(e.pos>n)return rp(e,t),!0}}runRecovery(e,t,n){let r=null,s=!1;for(let o=0;o ":"";if(a.deadEnd&&(s||(s=!0,a.restart(),et&&console.log(h+this.stackID(a)+" (restarted)"),this.advanceFully(a,n))))continue;let f=a.split(),u=h;for(let O=0;O<10&&f.forceReduce()&&(et&&console.log(u+this.stackID(f)+" (via force-reduce)"),!this.advanceFully(f,n));O++)et&&(u=this.stackID(f)+" -> ");for(let O of a.recoverByInsert(l))et&&console.log(h+this.stackID(O)+" (via recover-insert)"),this.advanceFully(O,n);this.stream.end>a.pos?(c==a.pos&&(c++,l=0),a.recoverByDelete(l,c),et&&console.log(h+this.stackID(a)+` (via recover-delete ${this.parser.getName(l)})`),rp(a,n)):(!r||r.scorei,gt=class{constructor(e){this.start=e.start,this.shift=e.shift||cc,this.reduce=e.reduce||cc,this.reuse=e.reuse||cc,this.hash=e.hash||(()=>0),this.strict=e.strict!==!1}},ve=class i extends Ut{constructor(e){if(super(),this.wrappers=[],e.version!=14)throw new RangeError(`Parser version (${e.version}) doesn't match runtime version (14)`);let t=e.nodeNames.split(" ");this.minRepeatTerm=t.length;for(let a=0;ae.topRules[a][1]),r=[];for(let a=0;a=0)s(h,l,a[c++]);else{let f=a[c+-h];for(let u=-h;u>0;u--)s(a[c++],l,f);c++}}}this.nodeSet=new It(t.map((a,l)=>de.define({name:l>=this.minRepeatTerm?void 0:a,id:l,props:r[l],top:n.indexOf(l)>-1,error:l==0,skipped:e.skippedNodes&&e.skippedNodes.indexOf(l)>-1}))),e.propSources&&(this.nodeSet=this.nodeSet.extend(...e.propSources)),this.strict=!1,this.bufferLength=1024;let o=wr(e.tokenData);this.context=e.context,this.specializerSpecs=e.specialized||[],this.specialized=new Uint16Array(this.specializerSpecs.length);for(let a=0;atypeof a=="number"?new yi(o,a):a),this.topRules=e.topRules,this.dialects=e.dialects||{},this.dynamicPrecedences=e.dynamicPrecedences||null,this.tokenPrecTable=e.tokenPrec,this.termNames=e.termNames||null,this.maxNode=this.nodeSet.types.length-1,this.dialect=this.parseDialect(),this.top=this.topRules[Object.keys(this.topRules)[0]]}createParse(e,t,n){let r=new mc(this,e,t,n);for(let s of this.wrappers)r=s(r,e,t,n);return r}getGoto(e,t,n=!1){let r=this.goto;if(t>=r[0])return-1;for(let s=r[t+1];;){let o=r[s++],a=o&1,l=r[s++];if(a&&n)return l;for(let c=s+(o>>1);s0}validAction(e,t){return!!this.allActions(e,n=>n==t?!0:null)}allActions(e,t){let n=this.stateSlot(e,4),r=n?t(n):void 0;for(let s=this.stateSlot(e,1);r==null;s+=3){if(this.data[s]==65535)if(this.data[s+1]==1)s=Nt(this.data,s+2);else break;r=t(Nt(this.data,s+1))}return r}nextStates(e){let t=[];for(let n=this.stateSlot(e,1);;n+=3){if(this.data[n]==65535)if(this.data[n+1]==1)n=Nt(this.data,n+2);else break;if((this.data[n+2]&1)==0){let r=this.data[n+1];t.some((s,o)=>o&1&&s==r)||t.push(this.data[n],r)}}return t}configure(e){let t=Object.assign(Object.create(i.prototype),this);if(e.props&&(t.nodeSet=this.nodeSet.extend(...e.props)),e.top){let n=this.topRules[e.top];if(!n)throw new RangeError(`Invalid top rule name ${e.top}`);t.top=n}return e.tokenizers&&(t.tokenizers=this.tokenizers.map(n=>{let r=e.tokenizers.find(s=>s.from==n);return r?r.to:n})),e.specializers&&(t.specializers=this.specializers.slice(),t.specializerSpecs=this.specializerSpecs.map((n,r)=>{let s=e.specializers.find(a=>a.from==n.external);if(!s)return n;let o=Object.assign(Object.assign({},n),{external:s.to});return t.specializers[r]=sp(o),o})),e.contextTracker&&(t.context=e.contextTracker),e.dialect&&(t.dialect=this.parseDialect(e.dialect)),e.strict!=null&&(t.strict=e.strict),e.wrap&&(t.wrappers=t.wrappers.concat(e.wrap)),e.bufferLength!=null&&(t.bufferLength=e.bufferLength),t}hasWrappers(){return this.wrappers.length>0}getName(e){return this.termNames?this.termNames[e]:String(e<=this.maxNode&&this.nodeSet.types[e].name||e)}get eofTerm(){return this.maxNode+1}get topNode(){return this.nodeSet.types[this.top[1]]}dynamicPrecedence(e){let t=this.dynamicPrecedences;return t==null?0:t[e]||0}parseDialect(e){let t=Object.keys(this.dialects),n=t.map(()=>!1);if(e)for(let s of e.split(" ")){let o=t.indexOf(s);o>=0&&(n[o]=!0)}let r=null;for(let s=0;sn)&&t.p.parser.stateFlag(t.state,2)&&(!e||e.scorei.external(t,n)<<1|e}return i.get}var Sy=55,yy=1,ky=56,xy=2,wy=57,Py=3,ap=4,vy=5,kc=6,pp=7,mp=8,gp=9,Qp=10,$y=11,Ty=12,Cy=13,Qc=58,Xy=14,_y=15,lp=59,bp=21,Ry=23,Sp=24,Ay=25,Sc=27,yp=28,Zy=29,Ey=32,qy=35,zy=37,Ly=38,My=0,Wy=1,jy={area:!0,base:!0,br:!0,col:!0,command:!0,embed:!0,frame:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0,menuitem:!0},Vy={dd:!0,li:!0,optgroup:!0,option:!0,p:!0,rp:!0,rt:!0,tbody:!0,td:!0,tfoot:!0,th:!0,tr:!0},cp={dd:{dd:!0,dt:!0},dt:{dd:!0,dt:!0},li:{li:!0},option:{option:!0,optgroup:!0},optgroup:{optgroup:!0},p:{address:!0,article:!0,aside:!0,blockquote:!0,dir:!0,div:!0,dl:!0,fieldset:!0,footer:!0,form:!0,h1:!0,h2:!0,h3:!0,h4:!0,h5:!0,h6:!0,header:!0,hgroup:!0,hr:!0,menu:!0,nav:!0,ol:!0,p:!0,pre:!0,section:!0,table:!0,ul:!0},rp:{rp:!0,rt:!0},rt:{rp:!0,rt:!0},tbody:{tbody:!0,tfoot:!0},td:{td:!0,th:!0},tfoot:{tbody:!0},th:{td:!0,th:!0},thead:{tbody:!0,tfoot:!0},tr:{tr:!0}};function Dy(i){return i==45||i==46||i==58||i>=65&&i<=90||i==95||i>=97&&i<=122||i>=161}var hp=null,fp=null,up=0;function yc(i,e){let t=i.pos+e;if(up==t&&fp==i)return hp;let n=i.peek(e),r="";for(;Dy(n);)r+=String.fromCharCode(n),n=i.peek(++e);return fp=i,up=t,hp=r?r.toLowerCase():n==Yy||n==Iy?void 0:null}var kp=60,no=62,xc=47,Yy=63,Iy=33,By=45;function Op(i,e){this.name=i,this.parent=e}var Uy=[kc,Qp,pp,mp,gp],Gy=new gt({start:null,shift(i,e,t,n){return Uy.indexOf(e)>-1?new Op(yc(n,1)||"",i):i},reduce(i,e){return e==bp&&i?i.parent:i},reuse(i,e,t,n){let r=e.type.id;return r==kc||r==zy?new Op(yc(n,1)||"",i):i},strict:!1}),Ny=new ee((i,e)=>{if(i.next!=kp){i.next<0&&e.context&&i.acceptToken(Qc);return}i.advance();let t=i.next==xc;t&&i.advance();let n=yc(i,0);if(n===void 0)return;if(!n)return i.acceptToken(t?_y:Xy);let r=e.context?e.context.name:null;if(t){if(n==r)return i.acceptToken($y);if(r&&Vy[r])return i.acceptToken(Qc,-2);if(e.dialectEnabled(My))return i.acceptToken(Ty);for(let s=e.context;s;s=s.parent)if(s.name==n)return;i.acceptToken(Cy)}else{if(n=="script")return i.acceptToken(pp);if(n=="style")return i.acceptToken(mp);if(n=="textarea")return i.acceptToken(gp);if(jy.hasOwnProperty(n))return i.acceptToken(Qp);r&&cp[r]&&cp[r][n]?i.acceptToken(Qc,-1):i.acceptToken(kc)}},{contextual:!0}),Fy=new ee(i=>{for(let e=0,t=0;;t++){if(i.next<0){t&&i.acceptToken(lp);break}if(i.next==By)e++;else if(i.next==no&&e>=2){t>=3&&i.acceptToken(lp,-2);break}else e=0;i.advance()}});function Hy(i){for(;i;i=i.parent)if(i.name=="svg"||i.name=="math")return!0;return!1}var Ky=new ee((i,e)=>{if(i.next==xc&&i.peek(1)==no){let t=e.dialectEnabled(Wy)||Hy(e.context);i.acceptToken(t?vy:ap,2)}else i.next==no&&i.acceptToken(ap,1)});function wc(i,e,t){let n=2+i.length;return new ee(r=>{for(let s=0,o=0,a=0;;a++){if(r.next<0){a&&r.acceptToken(e);break}if(s==0&&r.next==kp||s==1&&r.next==xc||s>=2&&so?r.acceptToken(e,-o):r.acceptToken(t,-(o-2));break}else if((r.next==10||r.next==13)&&a){r.acceptToken(e,1);break}else s=o=0;r.advance()}})}var Jy=wc("script",Sy,yy),ek=wc("style",ky,xy),tk=wc("textarea",wy,Py),ik=Qe({"Text RawText IncompleteTag IncompleteCloseTag":d.content,"StartTag StartCloseTag SelfClosingEndTag EndTag":d.angleBracket,TagName:d.tagName,"MismatchedCloseTag/TagName":[d.tagName,d.invalid],AttributeName:d.attributeName,"AttributeValue UnquotedAttributeValue":d.attributeValue,Is:d.definitionOperator,"EntityReference CharacterReference":d.character,Comment:d.blockComment,ProcessingInst:d.processingInstruction,DoctypeDecl:d.documentMeta}),xp=ve.deserialize({version:14,states:",xOVO!rOOO!ZQ#tO'#CrO!`Q#tO'#C{O!eQ#tO'#DOO!jQ#tO'#DRO!oQ#tO'#DTO!tOaO'#CqO#PObO'#CqO#[OdO'#CqO$kO!rO'#CqOOO`'#Cq'#CqO$rO$fO'#DUO$zQ#tO'#DWO%PQ#tO'#DXOOO`'#Dl'#DlOOO`'#DZ'#DZQVO!rOOO%UQ&rO,59^O%aQ&rO,59gO%lQ&rO,59jO%wQ&rO,59mO&SQ&rO,59oOOOa'#D_'#D_O&_OaO'#CyO&jOaO,59]OOOb'#D`'#D`O&rObO'#C|O&}ObO,59]OOOd'#Da'#DaO'VOdO'#DPO'bOdO,59]OOO`'#Db'#DbO'jO!rO,59]O'qQ#tO'#DSOOO`,59],59]OOOp'#Dc'#DcO'vO$fO,59pOOO`,59p,59pO(OQ#|O,59rO(TQ#|O,59sOOO`-E7X-E7XO(YQ&rO'#CtOOQW'#D['#D[O(hQ&rO1G.xOOOa1G.x1G.xOOO`1G/Z1G/ZO(sQ&rO1G/ROOOb1G/R1G/RO)OQ&rO1G/UOOOd1G/U1G/UO)ZQ&rO1G/XOOO`1G/X1G/XO)fQ&rO1G/ZOOOa-E7]-E7]O)qQ#tO'#CzOOO`1G.w1G.wOOOb-E7^-E7^O)vQ#tO'#C}OOOd-E7_-E7_O){Q#tO'#DQOOO`-E7`-E7`O*QQ#|O,59nOOOp-E7a-E7aOOO`1G/[1G/[OOO`1G/^1G/^OOO`1G/_1G/_O*VQ,UO,59`OOQW-E7Y-E7YOOOa7+$d7+$dOOO`7+$u7+$uOOOb7+$m7+$mOOOd7+$p7+$pOOO`7+$s7+$sO*bQ#|O,59fO*gQ#|O,59iO*lQ#|O,59lOOO`1G/Y1G/YO*qO7[O'#CwO+SOMhO'#CwOOQW1G.z1G.zOOO`1G/Q1G/QOOO`1G/T1G/TOOO`1G/W1G/WOOOO'#D]'#D]O+eO7[O,59cOOQW,59c,59cOOOO'#D^'#D^O+vOMhO,59cOOOO-E7Z-E7ZOOQW1G.}1G.}OOOO-E7[-E7[",stateData:",c~O!_OS~OUSOVPOWQOXROYTO[]O][O^^O_^Oa^Ob^Oc^Od^Oy^O|_O!eZO~OgaO~OgbO~OgcO~OgdO~OgeO~O!XfOPmP![mP~O!YiOQpP![pP~O!ZlORsP![sP~OUSOVPOWQOXROYTOZqO[]O][O^^O_^Oa^Ob^Oc^Od^Oy^O!eZO~O![rO~P#gO!]sO!fuO~OgvO~OgwO~OS|OT}OiyO~OS!POT}OiyO~OS!ROT}OiyO~OS!TOT}OiyO~OS}OT}OiyO~O!XfOPmX![mX~OP!WO![!XO~O!YiOQpX![pX~OQ!ZO![!XO~O!ZlORsX![sX~OR!]O![!XO~O![!XO~P#gOg!_O~O!]sO!f!aO~OS!bO~OS!cO~Oj!dOShXThXihX~OS!fOT!gOiyO~OS!hOT!gOiyO~OS!iOT!gOiyO~OS!jOT!gOiyO~OS!gOT!gOiyO~Og!kO~Og!lO~Og!mO~OS!nO~Ol!qO!a!oO!c!pO~OS!rO~OS!sO~OS!tO~Ob!uOc!uOd!uO!a!wO!b!uO~Ob!xOc!xOd!xO!c!wO!d!xO~Ob!uOc!uOd!uO!a!{O!b!uO~Ob!xOc!xOd!xO!c!{O!d!xO~OT~cbd!ey|!e~",goto:"%q!aPPPPPPPPPPPPPPPPPPPPP!b!hP!nPP!zP!}#Q#T#Z#^#a#g#j#m#s#y!bP!b!bP$P$V$m$s$y%P%V%]%cPPPPPPPP%iX^OX`pXUOX`pezabcde{!O!Q!S!UR!q!dRhUR!XhXVOX`pRkVR!XkXWOX`pRnWR!XnXXOX`pQrXR!XpXYOX`pQ`ORx`Q{aQ!ObQ!QcQ!SdQ!UeZ!e{!O!Q!S!UQ!v!oR!z!vQ!y!pR!|!yQgUR!VgQjVR!YjQmWR![mQpXR!^pQtZR!`tS_O`ToXp",nodeNames:"\u26A0 StartCloseTag StartCloseTag StartCloseTag EndTag SelfClosingEndTag StartTag StartTag StartTag StartTag StartTag StartCloseTag StartCloseTag StartCloseTag IncompleteTag IncompleteCloseTag Document Text EntityReference CharacterReference InvalidEntity Element OpenTag TagName Attribute AttributeName Is AttributeValue UnquotedAttributeValue ScriptText CloseTag OpenTag StyleText CloseTag OpenTag TextareaText CloseTag OpenTag CloseTag SelfClosingTag Comment ProcessingInst MismatchedCloseTag CloseTag DoctypeDecl",maxTerm:68,context:Gy,nodeProps:[["closedBy",-10,1,2,3,7,8,9,10,11,12,13,"EndTag",6,"EndTag SelfClosingEndTag",-4,22,31,34,37,"CloseTag"],["openedBy",4,"StartTag StartCloseTag",5,"StartTag",-4,30,33,36,38,"OpenTag"],["group",-10,14,15,18,19,20,21,40,41,42,43,"Entity",17,"Entity TextContent",-3,29,32,35,"TextContent Entity"],["isolate",-11,22,30,31,33,34,36,37,38,39,42,43,"ltr",-3,27,28,40,""]],propSources:[ik],skippedNodes:[0],repeatNodeCount:9,tokenData:"!]tw8twx7Sx!P8t!P!Q5u!Q!]8t!]!^/^!^!a7S!a#S8t#S#T;{#T#s8t#s$f5u$f;'S8t;'S;=`>V<%l?Ah8t?Ah?BY5u?BY?Mn8t?MnO5u!Z5zblWOX5uXZ7SZ[5u[^7S^p5uqr5urs7Sst+Ptw5uwx7Sx!]5u!]!^7w!^!a7S!a#S5u#S#T7S#T;'S5u;'S;=`8n<%lO5u!R7VVOp7Sqs7St!]7S!]!^7l!^;'S7S;'S;=`7q<%lO7S!R7qOb!R!R7tP;=`<%l7S!Z8OYlWb!ROX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+P!Z8qP;=`<%l5u!_8{iiSlWOX5uXZ7SZ[5u[^7S^p5uqr8trs7Sst/^tw8twx7Sx!P8t!P!Q5u!Q!]8t!]!^:j!^!a7S!a#S8t#S#T;{#T#s8t#s$f5u$f;'S8t;'S;=`>V<%l?Ah8t?Ah?BY5u?BY?Mn8t?MnO5u!_:sbiSlWb!ROX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+P!VP<%l?Ah;{?Ah?BY7S?BY?Mn;{?MnO7S!V=dXiSb!Rqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0m!V>SP;=`<%l;{!_>YP;=`<%l8t!_>dhiSlWOX@OXZAYZ[@O[^AY^p@OqrBwrsAYswBwwxAYx!PBw!P!Q@O!Q!]Bw!]!^/^!^!aAY!a#SBw#S#TE{#T#sBw#s$f@O$f;'SBw;'S;=`HS<%l?AhBw?Ah?BY@O?BY?MnBw?MnO@O!Z@TalWOX@OXZAYZ[@O[^AY^p@Oqr@OrsAYsw@OwxAYx!]@O!]!^Az!^!aAY!a#S@O#S#TAY#T;'S@O;'S;=`Bq<%lO@O!RA]UOpAYq!]AY!]!^Ao!^;'SAY;'S;=`At<%lOAY!RAtOc!R!RAwP;=`<%lAY!ZBRYlWc!ROX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+P!ZBtP;=`<%l@O!_COhiSlWOX@OXZAYZ[@O[^AY^p@OqrBwrsAYswBwwxAYx!PBw!P!Q@O!Q!]Bw!]!^Dj!^!aAY!a#SBw#S#TE{#T#sBw#s$f@O$f;'SBw;'S;=`HS<%l?AhBw?Ah?BY@O?BY?MnBw?MnO@O!_DsbiSlWc!ROX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+P!VFQbiSOpAYqrE{rsAYswE{wxAYx!PE{!P!QAY!Q!]E{!]!^GY!^!aAY!a#sE{#s$fAY$f;'SE{;'S;=`G|<%l?AhE{?Ah?BYAY?BY?MnE{?MnOAY!VGaXiSc!Rqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0m!VHPP;=`<%lE{!_HVP;=`<%lBw!ZHcW!cxaP!b`Or(trs'ksv(tw!^(t!^!_)e!_;'S(t;'S;=`*P<%lO(t!aIYliSaPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx}-_}!OKQ!O!P-_!P!Q$q!Q!^-_!^!_*V!_!a&X!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q!aK_kiSaPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx!P-_!P!Q$q!Q!^-_!^!_*V!_!`&X!`!aMS!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q!TM_XaP!b`!dp!fQOr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&X!aNZ!ZiSgQaPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx}-_}!OMz!O!PMz!P!Q$q!Q![Mz![!]Mz!]!^-_!^!_*V!_!a&X!a!c-_!c!}Mz!}#R-_#R#SMz#S#T1k#T#oMz#o#s-_#s$f$q$f$}-_$}%OMz%O%W-_%W%oMz%o%p-_%p&aMz&a&b-_&b1pMz1p4UMz4U4dMz4d4e-_4e$ISMz$IS$I`-_$I`$IbMz$Ib$Je-_$Je$JgMz$Jg$Kh-_$Kh%#tMz%#t&/x-_&/x&EtMz&Et&FV-_&FV;'SMz;'S;:j!#|;:j;=`3X<%l?&r-_?&r?AhMz?Ah?BY$q?BY?MnMz?MnO$q!a!$PP;=`<%lMz!R!$ZY!b`!dpOq*Vqr!$yrs(Vsv*Vwx)ex!a*V!a!b!4t!b;'S*V;'S;=`*s<%lO*V!R!%Q]!b`!dpOr*Vrs(Vsv*Vwx)ex}*V}!O!%y!O!f*V!f!g!']!g#W*V#W#X!0`#X;'S*V;'S;=`*s<%lO*V!R!&QX!b`!dpOr*Vrs(Vsv*Vwx)ex}*V}!O!&m!O;'S*V;'S;=`*s<%lO*V!R!&vV!b`!dp!ePOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!'dX!b`!dpOr*Vrs(Vsv*Vwx)ex!q*V!q!r!(P!r;'S*V;'S;=`*s<%lO*V!R!(WX!b`!dpOr*Vrs(Vsv*Vwx)ex!e*V!e!f!(s!f;'S*V;'S;=`*s<%lO*V!R!(zX!b`!dpOr*Vrs(Vsv*Vwx)ex!v*V!v!w!)g!w;'S*V;'S;=`*s<%lO*V!R!)nX!b`!dpOr*Vrs(Vsv*Vwx)ex!{*V!{!|!*Z!|;'S*V;'S;=`*s<%lO*V!R!*bX!b`!dpOr*Vrs(Vsv*Vwx)ex!r*V!r!s!*}!s;'S*V;'S;=`*s<%lO*V!R!+UX!b`!dpOr*Vrs(Vsv*Vwx)ex!g*V!g!h!+q!h;'S*V;'S;=`*s<%lO*V!R!+xY!b`!dpOr!+qrs!,hsv!+qvw!-Swx!.[x!`!+q!`!a!/j!a;'S!+q;'S;=`!0Y<%lO!+qq!,mV!dpOv!,hvx!-Sx!`!,h!`!a!-q!a;'S!,h;'S;=`!.U<%lO!,hP!-VTO!`!-S!`!a!-f!a;'S!-S;'S;=`!-k<%lO!-SP!-kO|PP!-nP;=`<%l!-Sq!-xS!dp|POv(Vx;'S(V;'S;=`(h<%lO(Vq!.XP;=`<%l!,ha!.aX!b`Or!.[rs!-Ssv!.[vw!-Sw!`!.[!`!a!.|!a;'S!.[;'S;=`!/d<%lO!.[a!/TT!b`|POr)esv)ew;'S)e;'S;=`)y<%lO)ea!/gP;=`<%l!.[!R!/sV!b`!dp|POr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!0]P;=`<%l!+q!R!0gX!b`!dpOr*Vrs(Vsv*Vwx)ex#c*V#c#d!1S#d;'S*V;'S;=`*s<%lO*V!R!1ZX!b`!dpOr*Vrs(Vsv*Vwx)ex#V*V#V#W!1v#W;'S*V;'S;=`*s<%lO*V!R!1}X!b`!dpOr*Vrs(Vsv*Vwx)ex#h*V#h#i!2j#i;'S*V;'S;=`*s<%lO*V!R!2qX!b`!dpOr*Vrs(Vsv*Vwx)ex#m*V#m#n!3^#n;'S*V;'S;=`*s<%lO*V!R!3eX!b`!dpOr*Vrs(Vsv*Vwx)ex#d*V#d#e!4Q#e;'S*V;'S;=`*s<%lO*V!R!4XX!b`!dpOr*Vrs(Vsv*Vwx)ex#X*V#X#Y!+q#Y;'S*V;'S;=`*s<%lO*V!R!4{Y!b`!dpOr!4trs!5ksv!4tvw!6Vwx!8]x!a!4t!a!b!:]!b;'S!4t;'S;=`!;r<%lO!4tq!5pV!dpOv!5kvx!6Vx!a!5k!a!b!7W!b;'S!5k;'S;=`!8V<%lO!5kP!6YTO!a!6V!a!b!6i!b;'S!6V;'S;=`!7Q<%lO!6VP!6lTO!`!6V!`!a!6{!a;'S!6V;'S;=`!7Q<%lO!6VP!7QOyPP!7TP;=`<%l!6Vq!7]V!dpOv!5kvx!6Vx!`!5k!`!a!7r!a;'S!5k;'S;=`!8V<%lO!5kq!7yS!dpyPOv(Vx;'S(V;'S;=`(h<%lO(Vq!8YP;=`<%l!5ka!8bX!b`Or!8]rs!6Vsv!8]vw!6Vw!a!8]!a!b!8}!b;'S!8];'S;=`!:V<%lO!8]a!9SX!b`Or!8]rs!6Vsv!8]vw!6Vw!`!8]!`!a!9o!a;'S!8];'S;=`!:V<%lO!8]a!9vT!b`yPOr)esv)ew;'S)e;'S;=`)y<%lO)ea!:YP;=`<%l!8]!R!:dY!b`!dpOr!4trs!5ksv!4tvw!6Vwx!8]x!`!4t!`!a!;S!a;'S!4t;'S;=`!;r<%lO!4t!R!;]V!b`!dpyPOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!;uP;=`<%l!4t!V!{let c=a.type.id;if(c==Zy)return bc(a,l,t);if(c==Ey)return bc(a,l,n);if(c==qy)return bc(a,l,r);if(c==bp&&s.length){let h=a.node,f=h.firstChild,u=f&&dp(f,l),O;if(u){for(let m of s)if(m.tag==u&&(!m.attrs||m.attrs(O||(O=wp(f,l))))){let p=h.lastChild,b=p.type.id==Ly?p.from:h.to;if(b>f.to)return{parser:m.parser,overlay:[{from:f.to,to:b}]}}}}if(o&&c==Sp){let h=a.node,f;if(f=h.firstChild){let u=o[l.read(f.from,f.to)];if(u)for(let O of u){if(O.tagName&&O.tagName!=dp(h.parent,l))continue;let m=h.lastChild;if(m.type.id==Sc){let p=m.from+1,b=m.lastChild,g=m.to-(b&&b.isError?0:1);if(g>p)return{parser:O.parser,overlay:[{from:p,to:g}],bracketed:!0}}else if(m.type.id==yp)return{parser:O.parser,overlay:[{from:m.from,to:m.to}]}}}}return null})}var nk=145,Pp=1,rk=146,sk=147,$p=2,ok=148,ak=3,lk=4,Tp=[9,10,11,12,13,32,133,160,5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8232,8233,8239,8287,12288],ck=58,hk=40,Cp=95,fk=91,ro=45,uk=46,Ok=35,dk=37,pk=38,mk=92,gk=10,Qk=42;function Pr(i){return i>=65&&i<=90||i>=97&&i<=122||i>=161}function vc(i){return i>=48&&i<=57}function vp(i){return vc(i)||i>=97&&i<=102||i>=65&&i<=70}var Xp=(i,e,t)=>(n,r)=>{for(let s=!1,o=0,a=0;;a++){let{next:l}=n;if(Pr(l)||l==ro||l==Cp||s&&vc(l))!s&&(l!=ro||a>0)&&(s=!0),o===a&&l==ro&&o++,n.advance();else if(l==mk&&n.peek(1)!=gk){if(n.advance(),vp(n.next)){do n.advance();while(vp(n.next));n.next==32&&n.advance()}else n.next>-1&&n.advance();s=!0}else{s&&n.acceptToken(o==2&&r.canShift($p)?e:l==hk?t:i);break}}},bk=new ee(Xp(rk,$p,sk),{contextual:!0}),Sk=new ee(Xp(ok,ak,lk),{contextual:!0}),yk=new ee(i=>{if(Tp.includes(i.peek(-1))){let{next:e}=i;(Pr(e)||e==Cp||e==Ok||e==uk||e==Qk||e==fk||e==ck&&Pr(i.peek(1))||e==ro||e==pk)&&i.acceptToken(nk)}}),kk=new ee(i=>{if(!Tp.includes(i.peek(-1))){let{next:e}=i;if(e==dk&&(i.advance(),i.acceptToken(Pp)),Pr(e)){do i.advance();while(Pr(i.next)||vc(i.next));i.acceptToken(Pp)}}}),xk=Qe({"AtKeyword import charset namespace keyframes media supports font-feature-values":d.definitionKeyword,"from to selector scope MatchFlag":d.keyword,NamespaceName:d.namespace,KeyframeName:d.labelName,KeyframeRangeName:d.operatorKeyword,TagName:d.tagName,ClassName:d.className,PseudoClassName:d.constant(d.className),IdName:d.labelName,"FeatureName PropertyName":d.propertyName,AttributeName:d.attributeName,NumberLiteral:d.number,KeywordQuery:d.keyword,UnaryQueryOp:d.operatorKeyword,"CallTag ValueName FontName":d.atom,VariableName:d.variableName,Callee:d.operatorKeyword,Unit:d.unit,"UniversalSelector NestingSelector":d.definitionOperator,"MatchOp CompareOp":d.compareOperator,"ChildOp SiblingOp, LogicOp":d.logicOperator,BinOp:d.arithmeticOperator,Important:d.modifier,Comment:d.blockComment,ColorLiteral:d.color,"ParenthesizedContent StringLiteral":d.string,":":d.punctuation,"PseudoOp #":d.derefOperator,"; , |":d.separator,"( )":d.paren,"[ ]":d.squareBracket,"{ }":d.brace}),wk={__proto__:null,lang:44,"nth-child":44,"nth-last-child":44,"nth-of-type":44,"nth-last-of-type":44,dir:44,"host-context":44,if:90,url:152,"url-prefix":152,domain:152,regexp:152},Pk={__proto__:null,or:104,and:104,not:112,only:112,layer:206},vk={__proto__:null,selector:118,style:124,layer:202},$k={__proto__:null,"@import":198,"@media":210,"@charset":214,"@namespace":218,"@keyframes":224,"@supports":236,"@scope":240,"@font-feature-values":246},Tk={__proto__:null,to:243},_p=ve.deserialize({version:14,states:"MlQYQdOOO#}QdOOP$UO`OOO%OQaO'#CfOOQP'#Ce'#CeO%VQdO'#CgO%[Q`O'#CgO%aQaO'#FnO&XQdO'#CkO&xQaO'#CcO'SQdO'#CnO'_QdO'#EOO'dQdO'#EQO'oQdO'#EXO'oQdO'#E[OOQP'#Fn'#FnO)RQhO'#E}OOQS'#Fm'#FmOOQS'#FQ'#FQQYQdOOO)YQdO'#EbO*iQhO'#EhO)YQdO'#EjO*pQdO'#ElO*{QdO'#EoO)}QhO'#EuO+TQdO'#EwO+`QdO'#EzO+eQaO'#CfO+lQ`O'#E_O+qQ`O'#F{O+|QdO'#F{QOQ`OOP,WO&jO'#CaPOOO)CA])CA]OOQP'#Ci'#CiOOQP,59R,59RO%VQdO,59ROOQP'#Cm'#CmOOQP,59V,59VO&XQdO,59VO,cQdO,59YO'_QdO,5:jO'dQdO,5:lO'oQdO,5:sO'oQdO,5:uO'oQdO,5:vO'oQdO'#FXO,nQ`O,58}O,vQdO'#E^OOQS,58},58}OOQP'#Cq'#CqOOQO'#D|'#D|OOQP,59Y,59YO,}Q`O,59YO-SQ`O,59YOOQP'#EP'#EPOOQP,5:j,5:jO-XQpO'#ERO-dQdO'#ESO-iQ`O'#ESO-nQpO,5:lO.XQaO,5:sO.oQaO,5:vOOQW'#D^'#D^O/nQhO'#DgO0RQhO,5;iO)}QhO'#DeO0`Q`O'#DnO0eQhO'#DxOOQW'#Ft'#FtOOQS,5;i,5;iO0jQ`O'#DhO0oQ`O'#DkOOQS-E9O-E9OOOQ['#Cv'#CvO0tQdO'#CwO1[QdO'#C}O1rQdO'#DQO2YQ!pO'#DSO4fQ!jO,5:|OOQO'#DX'#DXO-SQ`O'#DWO4vQ!nO'#FqO6|Q`O'#DYO7RQ`O'#DyOOQ['#Fq'#FqO7WQhO'#GOO7fQ`O,5;SO7kQ!bO,5;UOOQS'#En'#EnO7sQ`O,5;WO7xQdO,5;WOOQO'#Eq'#EqO8QQ`O,5;ZO8VQhO,5;aO'oQdO'#DjOOQS,5;c,5;cO0jQ`O,5;cO8_QdO,5;cOOQS'#F`'#F`O8gQdO'#E|O7fQ`O,5;fO8oQdO,5:yO9PQdO'#FZO9^Q`O,5lQhO'#DoOOQW,5:Y,5:YOOQW,5:d,5:dOOQW,5:S,5:SO>vQhO,5:VO?bQ!fO'#FrOOQS'#Fr'#FrOOQS'#FS'#FSO@rQdO,59cOOQ[,59c,59cOAYQdO,59iOOQ[,59i,59iOApQdO,59lOOQ[,59l,59lOOQ[,59n,59nO)YQdO,59pOBWQhO'#EdOOQW'#Ed'#EdOBuQ`O1G0hO4oQhO1G0hOOQ[,59r,59rO)}QhO'#D[OOQ[,59t,59tOBzQ#tO,5:eOCVQhO'#F]OCdQ`O,5vQhO'#DmOI_QhO'#DqOIgQhO'#DsOIlQhO'#FwOOQO'#Fw'#FwOItQ!bO'#DwOOQO'#Fy'#FyOOQO'#Fv'#FvOIyQ`O1G/qOOQS-E9Q-E9QOOQ[1G.}1G.}OOQ[1G/T1G/TOOQ[1G/W1G/WOOQ[1G/[1G/[OJOQdO,5;OOOQS7+&S7+&SOJTQ`O7+&SOJYQhO'#D]OJbQ`O,59vO)}QhO,59vOOQ[1G0P1G0POJjQ`O1G0POJoQhO,5;wOOQO-E9Z-E9ZOOQS7+&^7+&^OJ}QbO'#DSOOQO'#Et'#EtOK]Q`O'#EsOOQO'#Es'#EsOKhQ`O'#F^OKpQdO,5;^OOQS,5;^,5;^OOQ[1G/p1G/pOOQS7+&i7+&iO7fQ`O7+&iOK{Q!fO'#FYO)YQdO'#FYOMSQdO7+&POOQO7+&P7+&POOQO,5:{,5:{OOQO1G1a1G1aOMgQ!bO<vQhO'#DrOOQO,5:],5:]O! hQhO,5:_OGUQhO,5:cOOQW7+%]7+%]OOQO'#Ef'#EfO! pQ`O1G0jOOQS<xAN>xO!#zQ`OAN>xO!$PQaO,5;rOOQO-E9U-E9UO!$ZQdO,5;qOOQO-E9T-E9TOOQW<vQhO'#DuOOQO1G/y1G/yO!%vQ!bO1G/}OJOQdO'#F[O!&OQ`O7+&UOOQW7+&U7+&UO!&WQ!bO1G/cOOQ[7+$|7+$|O!&cQhO7+$|P!&jQ`O'#FTOOQO,5;y,5;yOOQO-E9]-E9]OOQS1G1d1G1dOOQPG24dG24dO!&oQ`OAN>ZO)YQdO1G1[O!&tQ`O7+'jOOQO1G/x1G/xO!&|Q`O,5:aO!$eQhO7+%iOOQO,5;v,5;vOOQO-E9Y-E9YOOQW<Q!]!^>|!^!_?_!_!`@Z!`!a@n!a!b%Z!b!cAo!c!k%Z!k!lC|!l!u%Z!u!vC|!v!}%Z!}#OD_#O#P%Z#P#QDp#Q#R2X#R#]%Z#]#^ER#^#g%Z#g#hC|#h#o%Z#o#pIf#p#qIw#q#rJ`#r#sJq#s#y%Z#y#z&R#z$f%Z$f$g&R$g#BY%Z#BY#BZ&R#BZ$IS%Z$IS$I_&R$I_$I|%Z$I|$JO&R$JO$JT%Z$JT$JU&R$JU$KV%Z$KV$KW&R$KW&FU%Z&FU&FV&R&FV;'S%Z;'S;=`KY<%lO%Z`%^SOy%jz;'S%j;'S;=`%{<%lO%j`%oS!o`Oy%jz;'S%j;'S;=`%{<%lO%j`&OP;=`<%l%j~&Wh$[~OX%jX^'r^p%jpq'rqy%jz#y%j#y#z'r#z$f%j$f$g'r$g#BY%j#BY#BZ'r#BZ$IS%j$IS$I_'r$I_$I|%j$I|$JO'r$JO$JT%j$JT$JU'r$JU$KV%j$KV$KW'r$KW&FU%j&FU&FV'r&FV;'S%j;'S;=`%{<%lO%j~'yh$[~!o`OX%jX^'r^p%jpq'rqy%jz#y%j#y#z'r#z$f%j$f$g'r$g#BY%j#BY#BZ'r#BZ$IS%j$IS$I_'r$I_$I|%j$I|$JO'r$JO$JT%j$JT$JU'r$JU$KV%j$KV$KW'r$KW&FU%j&FU&FV'r&FV;'S%j;'S;=`%{<%lO%jj)jS$qYOy%jz;'S%j;'S;=`%{<%lO%j~)yWOY)vZr)vrs*cs#O)v#O#P*h#P;'S)v;'S;=`+d<%lO)v~*hOw~~*kRO;'S)v;'S;=`*t;=`O)v~*wXOY)vZr)vrs*cs#O)v#O#P*h#P;'S)v;'S;=`+d;=`<%l)v<%lO)v~+gP;=`<%l)vj+oYmYOy%jz!Q%j!Q![,_![!c%j!c!i,_!i#T%j#T#Z,_#Z;'S%j;'S;=`%{<%lO%jj,dY!o`Oy%jz!Q%j!Q![-S![!c%j!c!i-S!i#T%j#T#Z-S#Z;'S%j;'S;=`%{<%lO%jj-XY!o`Oy%jz!Q%j!Q![-w![!c%j!c!i-w!i#T%j#T#Z-w#Z;'S%j;'S;=`%{<%lO%jj.OYuY!o`Oy%jz!Q%j!Q![.n![!c%j!c!i.n!i#T%j#T#Z.n#Z;'S%j;'S;=`%{<%lO%jj.uYuY!o`Oy%jz!Q%j!Q![/e![!c%j!c!i/e!i#T%j#T#Z/e#Z;'S%j;'S;=`%{<%lO%jj/jY!o`Oy%jz!Q%j!Q![0Y![!c%j!c!i0Y!i#T%j#T#Z0Y#Z;'S%j;'S;=`%{<%lO%jj0aYuY!o`Oy%jz!Q%j!Q![1P![!c%j!c!i1P!i#T%j#T#Z1P#Z;'S%j;'S;=`%{<%lO%jj1UY!o`Oy%jz!Q%j!Q![1t![!c%j!c!i1t!i#T%j#T#Z1t#Z;'S%j;'S;=`%{<%lO%jj1{SuY!o`Oy%jz;'S%j;'S;=`%{<%lO%jd2[UOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%jd2uS!yS!o`Oy%jz;'S%j;'S;=`%{<%lO%jb3WS^QOy%jz;'S%j;'S;=`%{<%lO%j~3gWOY3dZw3dwx*cx#O3d#O#P4P#P;'S3d;'S;=`4{<%lO3d~4SRO;'S3d;'S;=`4];=`O3d~4`XOY3dZw3dwx*cx#O3d#O#P4P#P;'S3d;'S;=`4{;=`<%l3d<%lO3d~5OP;=`<%l3dj5WShYOy%jz;'S%j;'S;=`%{<%lO%j~5iOg~n5pUWQyWOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%jj6ZWyW#PQOy%jz!O%j!O!P6s!P!Q%j!Q![9x![;'S%j;'S;=`%{<%lO%jj6xU!o`Oy%jz!Q%j!Q![7[![;'S%j;'S;=`%{<%lO%jj7cY!o`$gYOy%jz!Q%j!Q![7[![!g%j!g!h8R!h#X%j#X#Y8R#Y;'S%j;'S;=`%{<%lO%jj8WY!o`Oy%jz{%j{|8v|}%j}!O8v!O!Q%j!Q![9_![;'S%j;'S;=`%{<%lO%jj8{U!o`Oy%jz!Q%j!Q![9_![;'S%j;'S;=`%{<%lO%jj9fU!o`$gYOy%jz!Q%j!Q![9_![;'S%j;'S;=`%{<%lO%jj:P[!o`$gYOy%jz!O%j!O!P7[!P!Q%j!Q![9x![!g%j!g!h8R!h#X%j#X#Y8R#Y;'S%j;'S;=`%{<%lO%jj:zS!dYOy%jz;'S%j;'S;=`%{<%lO%jj;]WyWOy%jz!O%j!O!P6s!P!Q%j!Q![9x![;'S%j;'S;=`%{<%lO%jj;zU`YOy%jz!Q%j!Q![7[![;'S%j;'S;=`%{<%lO%j~VUcYOy%jz![%j![!]>i!];'S%j;'S;=`%{<%lO%jj>pSdY!o`Oy%jz;'S%j;'S;=`%{<%lO%jj?RSnYOy%jz;'S%j;'S;=`%{<%lO%jh?dU!WWOy%jz!_%j!_!`?v!`;'S%j;'S;=`%{<%lO%jh?}S!WW!o`Oy%jz;'S%j;'S;=`%{<%lO%jl@bS!WW!ySOy%jz;'S%j;'S;=`%{<%lO%jj@uV!|Q!WWOy%jz!_%j!_!`?v!`!aA[!a;'S%j;'S;=`%{<%lO%jbAcS!|Q!o`Oy%jz;'S%j;'S;=`%{<%lO%jjArYOy%jz}%j}!OBb!O!c%j!c!}CP!}#T%j#T#oCP#o;'S%j;'S;=`%{<%lO%jjBgW!o`Oy%jz!c%j!c!}CP!}#T%j#T#oCP#o;'S%j;'S;=`%{<%lO%jjCW[lY!o`Oy%jz}%j}!OCP!O!Q%j!Q![CP![!c%j!c!}CP!}#T%j#T#oCP#o;'S%j;'S;=`%{<%lO%jhDRS!zWOy%jz;'S%j;'S;=`%{<%lO%jjDdSpYOy%jz;'S%j;'S;=`%{<%lO%jnDuSo^Oy%jz;'S%j;'S;=`%{<%lO%jjEWU!zWOy%jz#a%j#a#bEj#b;'S%j;'S;=`%{<%lO%jbEoU!o`Oy%jz#d%j#d#eFR#e;'S%j;'S;=`%{<%lO%jbFWU!o`Oy%jz#c%j#c#dFj#d;'S%j;'S;=`%{<%lO%jbFoU!o`Oy%jz#f%j#f#gGR#g;'S%j;'S;=`%{<%lO%jbGWU!o`Oy%jz#h%j#h#iGj#i;'S%j;'S;=`%{<%lO%jbGoU!o`Oy%jz#T%j#T#UHR#U;'S%j;'S;=`%{<%lO%jbHWU!o`Oy%jz#b%j#b#cHj#c;'S%j;'S;=`%{<%lO%jbHoU!o`Oy%jz#h%j#h#iIR#i;'S%j;'S;=`%{<%lO%jbIYS$pQ!o`Oy%jz;'S%j;'S;=`%{<%lO%jjIkSsYOy%jz;'S%j;'S;=`%{<%lO%jfI|U$cUOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%jjJeSrYOy%jz;'S%j;'S;=`%{<%lO%jfJvU#PQOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%j`K]P;=`<%l%Z",tokenizers:[yk,kk,bk,Sk,1,2,3,4,new ki("m~RRYZ[z{a~~g~aO$_~~dP!P!Qg~lO$`~~",28,152)],topRules:{StyleSheet:[0,6],Styles:[1,126]},dynamicPrecedences:{94:1},specialized:[{term:147,get:i=>wk[i]||-1},{term:148,get:i=>Pk[i]||-1},{term:4,get:i=>vk[i]||-1},{term:28,get:i=>$k[i]||-1},{term:146,get:i=>Tk[i]||-1}],tokenPrec:2405});var $c=null;function Tc(){if(!$c&&typeof document=="object"&&document.body){let{style:i}=document.body,e=[],t=new Set;for(let n in i)n!="cssText"&&n!="cssFloat"&&typeof i[n]=="string"&&(/[A-Z]/.test(n)&&(n=n.replace(/[A-Z]/g,r=>"-"+r.toLowerCase())),t.has(n)||(e.push(n),t.add(n)));$c=e.sort().map(n=>({type:"property",label:n,apply:n+": "}))}return $c||[]}var Rp=["active","after","any-link","autofill","backdrop","before","checked","cue","default","defined","disabled","empty","enabled","file-selector-button","first","first-child","first-letter","first-line","first-of-type","focus","focus-visible","focus-within","fullscreen","has","host","host-context","hover","in-range","indeterminate","invalid","is","lang","last-child","last-of-type","left","link","marker","modal","not","nth-child","nth-last-child","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","part","placeholder","placeholder-shown","read-only","read-write","required","right","root","scope","selection","slotted","target","target-text","valid","visited","where"].map(i=>({type:"class",label:i})),Ap=["above","absolute","activeborder","additive","activecaption","after-white-space","ahead","alias","all","all-scroll","alphabetic","alternate","always","antialiased","appworkspace","asterisks","attr","auto","auto-flow","avoid","avoid-column","avoid-page","avoid-region","axis-pan","background","backwards","baseline","below","bidi-override","blink","block","block-axis","bold","bolder","border","border-box","both","bottom","break","break-all","break-word","bullets","button","button-bevel","buttonface","buttonhighlight","buttonshadow","buttontext","calc","capitalize","caps-lock-indicator","caption","captiontext","caret","cell","center","checkbox","circle","cjk-decimal","clear","clip","close-quote","col-resize","collapse","color","color-burn","color-dodge","column","column-reverse","compact","condensed","contain","content","contents","content-box","context-menu","continuous","copy","counter","counters","cover","crop","cross","crosshair","currentcolor","cursive","cyclic","darken","dashed","decimal","decimal-leading-zero","default","default-button","dense","destination-atop","destination-in","destination-out","destination-over","difference","disc","discard","disclosure-closed","disclosure-open","document","dot-dash","dot-dot-dash","dotted","double","down","e-resize","ease","ease-in","ease-in-out","ease-out","element","ellipse","ellipsis","embed","end","ethiopic-abegede-gez","ethiopic-halehame-aa-er","ethiopic-halehame-gez","ew-resize","exclusion","expanded","extends","extra-condensed","extra-expanded","fantasy","fast","fill","fill-box","fixed","flat","flex","flex-end","flex-start","footnotes","forwards","from","geometricPrecision","graytext","grid","groove","hand","hard-light","help","hidden","hide","higher","highlight","highlighttext","horizontal","hsl","hsla","hue","icon","ignore","inactiveborder","inactivecaption","inactivecaptiontext","infinite","infobackground","infotext","inherit","initial","inline","inline-axis","inline-block","inline-flex","inline-grid","inline-table","inset","inside","intrinsic","invert","italic","justify","keep-all","landscape","large","larger","left","level","lighter","lighten","line-through","linear","linear-gradient","lines","list-item","listbox","listitem","local","logical","loud","lower","lower-hexadecimal","lower-latin","lower-norwegian","lowercase","ltr","luminosity","manipulation","match","matrix","matrix3d","medium","menu","menutext","message-box","middle","min-intrinsic","mix","monospace","move","multiple","multiple_mask_images","multiply","n-resize","narrower","ne-resize","nesw-resize","no-close-quote","no-drop","no-open-quote","no-repeat","none","normal","not-allowed","nowrap","ns-resize","numbers","numeric","nw-resize","nwse-resize","oblique","opacity","open-quote","optimizeLegibility","optimizeSpeed","outset","outside","outside-shape","overlay","overline","padding","padding-box","painted","page","paused","perspective","pinch-zoom","plus-darker","plus-lighter","pointer","polygon","portrait","pre","pre-line","pre-wrap","preserve-3d","progress","push-button","radial-gradient","radio","read-only","read-write","read-write-plaintext-only","rectangle","region","relative","repeat","repeating-linear-gradient","repeating-radial-gradient","repeat-x","repeat-y","reset","reverse","rgb","rgba","ridge","right","rotate","rotate3d","rotateX","rotateY","rotateZ","round","row","row-resize","row-reverse","rtl","run-in","running","s-resize","sans-serif","saturation","scale","scale3d","scaleX","scaleY","scaleZ","screen","scroll","scrollbar","scroll-position","se-resize","self-start","self-end","semi-condensed","semi-expanded","separate","serif","show","single","skew","skewX","skewY","skip-white-space","slide","slider-horizontal","slider-vertical","sliderthumb-horizontal","sliderthumb-vertical","slow","small","small-caps","small-caption","smaller","soft-light","solid","source-atop","source-in","source-out","source-over","space","space-around","space-between","space-evenly","spell-out","square","start","static","status-bar","stretch","stroke","stroke-box","sub","subpixel-antialiased","svg_masks","super","sw-resize","symbolic","symbols","system-ui","table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row","table-row-group","text","text-bottom","text-top","textarea","textfield","thick","thin","threeddarkshadow","threedface","threedhighlight","threedlightshadow","threedshadow","to","top","transform","translate","translate3d","translateX","translateY","translateZ","transparent","ultra-condensed","ultra-expanded","underline","unidirectional-pan","unset","up","upper-latin","uppercase","url","var","vertical","vertical-text","view-box","visible","visibleFill","visiblePainted","visibleStroke","visual","w-resize","wait","wave","wider","window","windowframe","windowtext","words","wrap","wrap-reverse","x-large","x-small","xor","xx-large","xx-small"].map(i=>({type:"keyword",label:i})).concat(["aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","grey","green","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen"].map(i=>({type:"constant",label:i}))),Ck=["a","abbr","address","article","aside","b","bdi","bdo","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","dd","del","details","dfn","dialog","div","dl","dt","em","figcaption","figure","footer","form","header","hgroup","h1","h2","h3","h4","h5","h6","hr","html","i","iframe","img","input","ins","kbd","label","legend","li","main","meter","nav","ol","output","p","pre","ruby","section","select","small","source","span","strong","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","tr","u","ul"].map(i=>({type:"type",label:i})),Xk=["@charset","@color-profile","@container","@counter-style","@font-face","@font-feature-values","@font-palette-values","@import","@keyframes","@layer","@media","@namespace","@page","@position-try","@property","@scope","@starting-style","@supports","@view-transition"].map(i=>({type:"keyword",label:i})),Ft=/^(\w[\w-]*|-\w[\w-]*|)$/,_k=/^-(-[\w-]*)?$/;function Rk(i,e){var t;if((i.name=="("||i.type.isError)&&(i=i.parent||i),i.name!="ArgList")return!1;let n=(t=i.parent)===null||t===void 0?void 0:t.firstChild;return n?.name!="Callee"?!1:e.sliceString(n.from,n.to)=="var"}var Zp=new pi,Ak=["Declaration"];function Zk(i){for(let e=i;;){if(e.type.isTop)return e;if(!(e=e.parent))return i}}function Ep(i,e,t){if(e.to-e.from>4096){let n=Zp.get(e);if(n)return n;let r=[],s=new Set,o=e.cursor(te.IncludeAnonymous);if(o.firstChild())do for(let a of Ep(i,o.node,t))s.has(a.label)||(s.add(a.label),r.push(a));while(o.nextSibling());return Zp.set(e,r),r}else{let n=[],r=new Set;return e.cursor().iterate(s=>{var o;if(t(s)&&s.matchContext(Ak)&&((o=s.node.nextSibling)===null||o===void 0?void 0:o.name)==":"){let a=i.sliceString(s.from,s.to);r.has(a)||(r.add(a),n.push({label:a,type:"variable"}))}}),n}}var Ek=i=>e=>{let{state:t,pos:n}=e,r=U(t).resolveInner(n,-1),s=r.type.isError&&r.from==r.to-1&&t.doc.sliceString(r.from,r.to)=="-";if(r.name=="PropertyName"||(s||r.name=="TagName")&&/^(Block|Styles)$/.test(r.resolve(r.to).name))return{from:r.from,options:Tc(),validFor:Ft};if(r.name=="ValueName")return{from:r.from,options:Ap,validFor:Ft};if(r.name=="PseudoClassName")return{from:r.from,options:Rp,validFor:Ft};if(i(r)||(e.explicit||s)&&Rk(r,t.doc))return{from:i(r)||s?r.from:n,options:Ep(t.doc,Zk(r),i),validFor:_k};if(r.name=="TagName"){for(let{parent:l}=r;l;l=l.parent)if(l.name=="Block")return{from:r.from,options:Tc(),validFor:Ft};return{from:r.from,options:Ck,validFor:Ft}}if(r.name=="AtKeyword")return{from:r.from,options:Xk,validFor:Ft};if(!e.explicit)return null;let o=r.resolve(n),a=o.childBefore(n);return a&&a.name==":"&&o.name=="PseudoClassSelector"?{from:n,options:Rp,validFor:Ft}:a&&a.name==":"&&o.name=="Declaration"||o.name=="ArgList"?{from:n,options:Ap,validFor:Ft}:o.name=="Block"||o.name=="Styles"?{from:n,options:Tc(),validFor:Ft}:null},qk=Ek(i=>i.name=="VariableName"),vr=Xe.define({name:"css",parser:_p.configure({props:[Pe.add({Declaration:Gt()}),_e.add({"Block KeyframeList":Ot})]}),languageData:{commentTokens:{block:{open:"/*",close:"*/"}},indentOnInput:/^\s*\}$/,wordChars:"-"}});function so(){return new me(vr,vr.data.of({autocomplete:qk}))}var zk=316,Lk=317,qp=1,Mk=2,Wk=3,jk=4,Vk=318,Dk=320,Yk=321,Ik=5,Bk=6,Uk=0,Xc=[9,10,11,12,13,32,133,160,5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8232,8233,8239,8287,12288],zp=125,Gk=59,_c=47,Nk=42,Fk=43,Hk=45,Kk=60,Jk=44,e1=63,t1=46,i1=91,n1=new gt({start:!1,shift(i,e){return e==Ik||e==Bk||e==Dk?i:e==Yk},strict:!1}),r1=new ee((i,e)=>{let{next:t}=i;(t==zp||t==-1||e.context)&&i.acceptToken(Vk)},{contextual:!0,fallback:!0}),s1=new ee((i,e)=>{let{next:t}=i,n;Xc.indexOf(t)>-1||t==_c&&((n=i.peek(1))==_c||n==Nk)||t!=zp&&t!=Gk&&t!=-1&&!e.context&&i.acceptToken(zk)},{contextual:!0}),o1=new ee((i,e)=>{i.next==i1&&!e.context&&i.acceptToken(Lk)},{contextual:!0}),a1=new ee((i,e)=>{let{next:t}=i;if(t==Fk||t==Hk){if(i.advance(),t==i.next){i.advance();let n=!e.context&&e.canShift(qp);i.acceptToken(n?qp:Mk)}}else t==e1&&i.peek(1)==t1&&(i.advance(),i.advance(),(i.next<48||i.next>57)&&i.acceptToken(Wk))},{contextual:!0});function Cc(i,e){return i>=65&&i<=90||i>=97&&i<=122||i==95||i>=192||!e&&i>=48&&i<=57}var l1=new ee((i,e)=>{if(i.next!=Kk||!e.dialectEnabled(Uk)||(i.advance(),i.next==_c))return;let t=0;for(;Xc.indexOf(i.next)>-1;)i.advance(),t++;if(Cc(i.next,!0)){for(i.advance(),t++;Cc(i.next,!1);)i.advance(),t++;for(;Xc.indexOf(i.next)>-1;)i.advance(),t++;if(i.next==Jk)return;for(let n=0;;n++){if(n==7){if(!Cc(i.next,!0))return;break}if(i.next!="extends".charCodeAt(n))break;i.advance(),t++}}i.acceptToken(jk,-t)}),c1=Qe({"get set async static":d.modifier,"for while do if else switch try catch finally return throw break continue default case defer":d.controlKeyword,"in of await yield void typeof delete instanceof as satisfies":d.operatorKeyword,"let var const using function class extends":d.definitionKeyword,"import export from":d.moduleKeyword,"with debugger new":d.keyword,TemplateString:d.special(d.string),super:d.atom,BooleanLiteral:d.bool,this:d.self,null:d.null,Star:d.modifier,VariableName:d.variableName,"CallExpression/VariableName TaggedTemplateExpression/VariableName":d.function(d.variableName),VariableDefinition:d.definition(d.variableName),Label:d.labelName,PropertyName:d.propertyName,PrivatePropertyName:d.special(d.propertyName),"CallExpression/MemberExpression/PropertyName":d.function(d.propertyName),"FunctionDeclaration/VariableDefinition":d.function(d.definition(d.variableName)),"ClassDeclaration/VariableDefinition":d.definition(d.className),"NewExpression/VariableName":d.className,PropertyDefinition:d.definition(d.propertyName),PrivatePropertyDefinition:d.definition(d.special(d.propertyName)),UpdateOp:d.updateOperator,"LineComment Hashbang":d.lineComment,BlockComment:d.blockComment,Number:d.number,String:d.string,Escape:d.escape,ArithOp:d.arithmeticOperator,LogicOp:d.logicOperator,BitOp:d.bitwiseOperator,CompareOp:d.compareOperator,RegExp:d.regexp,Equals:d.definitionOperator,Arrow:d.function(d.punctuation),": Spread":d.punctuation,"( )":d.paren,"[ ]":d.squareBracket,"{ }":d.brace,"InterpolationStart InterpolationEnd":d.special(d.brace),".":d.derefOperator,", ;":d.separator,"@":d.meta,TypeName:d.typeName,TypeDefinition:d.definition(d.typeName),"type enum interface implements namespace module declare":d.definitionKeyword,"abstract global Privacy readonly override":d.modifier,"is keyof unique infer asserts":d.operatorKeyword,JSXAttributeValue:d.attributeValue,JSXText:d.content,"JSXStartTag JSXStartCloseTag JSXSelfCloseEndTag JSXEndTag":d.angleBracket,"JSXIdentifier JSXNameSpacedName":d.tagName,"JSXAttribute/JSXIdentifier JSXAttribute/JSXNameSpacedName":d.attributeName,"JSXBuiltin/JSXIdentifier":d.standard(d.tagName)}),h1={__proto__:null,export:20,as:25,from:33,default:36,async:41,function:42,in:52,out:55,const:56,extends:60,this:64,true:72,false:72,null:84,void:88,typeof:92,super:108,new:142,delete:154,yield:163,await:167,class:172,public:235,private:235,protected:235,readonly:237,instanceof:256,satisfies:259,import:292,keyof:349,unique:353,infer:359,asserts:395,is:397,abstract:417,implements:419,type:421,let:424,var:426,using:429,interface:435,enum:439,namespace:445,module:447,declare:451,global:455,defer:471,for:476,of:485,while:488,with:492,do:496,if:500,else:502,switch:506,case:512,try:518,catch:522,finally:526,return:530,throw:534,break:538,continue:542,debugger:546},f1={__proto__:null,async:129,get:131,set:133,declare:195,public:197,private:197,protected:197,static:199,abstract:201,override:203,readonly:209,accessor:211,new:401},u1={__proto__:null,"<":193},Lp=ve.deserialize({version:14,states:"$F|Q%TQlOOO%[QlOOO'_QpOOP(lO`OOO*zQ!0MxO'#CiO+RO#tO'#CjO+aO&jO'#CjO+oO#@ItO'#DaO.QQlO'#DgO.bQlO'#DrO%[QlO'#DzO0fQlO'#ESOOQ!0Lf'#E['#E[O1PQ`O'#EXOOQO'#Ep'#EpOOQO'#Il'#IlO1XQ`O'#GsO1dQ`O'#EoO1iQ`O'#EoO3hQ!0MxO'#JrO6[Q!0MxO'#JsO6uQ`O'#F]O6zQ,UO'#FtOOQ!0Lf'#Ff'#FfO7VO7dO'#FfO9XQMhO'#F|O9`Q`O'#F{OOQ!0Lf'#Js'#JsOOQ!0Lb'#Jr'#JrO9eQ`O'#GwOOQ['#K_'#K_O9pQ`O'#IYO9uQ!0LrO'#IZOOQ['#J`'#J`OOQ['#I_'#I_Q`QlOOQ`QlOOO9}Q!L^O'#DvO:UQlO'#EOO:]QlO'#EQO9kQ`O'#GsO:dQMhO'#CoO:rQ`O'#EnO:}Q`O'#EyO;hQMhO'#FeO;xQ`O'#GsOOQO'#K`'#K`O;}Q`O'#K`O<]Q`O'#G{O<]Q`O'#G|O<]Q`O'#HOO9kQ`O'#HRO=SQ`O'#HUO>kQ`O'#CeO>{Q`O'#HcO?TQ`O'#HiO?TQ`O'#HkO`QlO'#HmO?TQ`O'#HoO?TQ`O'#HrO?YQ`O'#HxO?_Q!0LsO'#IOO%[QlO'#IQO?jQ!0LsO'#ISO?uQ!0LsO'#IUO9uQ!0LrO'#IWO@QQ!0MxO'#CiOASQpO'#DlQOQ`OOO%[QlO'#EQOAjQ`O'#ETO:dQMhO'#EnOAuQ`O'#EnOBQQ!bO'#FeOOQ['#Cg'#CgOOQ!0Lb'#Dq'#DqOOQ!0Lb'#Jv'#JvO%[QlO'#JvOOQO'#Jy'#JyOOQO'#Ih'#IhOCQQpO'#EgOOQ!0Lb'#Ef'#EfOOQ!0Lb'#J}'#J}OC|Q!0MSO'#EgODWQpO'#EWOOQO'#Jx'#JxODlQpO'#JyOEyQpO'#EWODWQpO'#EgPFWO&2DjO'#CbPOOO)CD})CD}OOOO'#I`'#I`OFcO#tO,59UOOQ!0Lh,59U,59UOOOO'#Ia'#IaOFqO&jO,59UOGPQ!L^O'#DcOOOO'#Ic'#IcOGWO#@ItO,59{OOQ!0Lf,59{,59{OGfQlO'#IdOGyQ`O'#JtOIxQ!fO'#JtO+}QlO'#JtOJPQ`O,5:ROJgQ`O'#EpOJtQ`O'#KTOKPQ`O'#KSOKPQ`O'#KSOKXQ`O,5;^OK^Q`O'#KROOQ!0Ln,5:^,5:^OKeQlO,5:^OMcQ!0MxO,5:fONSQ`O,5:nONmQ!0LrO'#KQONtQ`O'#KPO9eQ`O'#KPO! YQ`O'#KPO! bQ`O,5;]O! gQ`O'#KPO!#lQ!fO'#JsOOQ!0Lh'#Ci'#CiO%[QlO'#ESO!$[Q!fO,5:sOOQS'#Jz'#JzOOQO-EtOOQ['#Jh'#JhOOQ[,5>u,5>uOOQ[-E<]-E<]O!TO`QlO,5>VO!LOQ`O,5>XO`QlO,5>ZO!LTQ`O,5>^O!LYQlO,5>dOOQ[,5>j,5>jO%[QlO,5>jO9uQ!0LrO,5>lOOQ[,5>n,5>nO#!dQ`O,5>nOOQ[,5>p,5>pO#!dQ`O,5>pOOQ[,5>r,5>rO##QQpO'#D_O%[QlO'#JvO##sQpO'#JvO##}QpO'#DmO#$`QpO'#DmO#&qQlO'#DmO#&xQ`O'#JuO#'QQ`O,5:WO#'VQ`O'#EtO#'eQ`O'#KUO#'mQ`O,5;_O#'rQpO'#DmO#(PQpO'#EVOOQ!0Lf,5:o,5:oO%[QlO,5:oO#(WQ`O,5:oO?YQ`O,5;YO!CUQpO,5;YO!C^QMhO,5;YO:dQMhO,5;YO#(`Q`O,5@bO#(eQ07dO,5:sOOQO-EPO$6^Q`O,5>POOQ[1G3i1G3iO`QlO1G3iOOQ[1G3o1G3oOOQ[1G3q1G3qO?TQ`O1G3sO$6cQlO1G3uO$:gQlO'#HtOOQ[1G3x1G3xO$:tQ`O'#HzO?YQ`O'#H|OOQ[1G4O1G4OO$:|QlO1G4OO9uQ!0LrO1G4UOOQ[1G4W1G4WOOQ!0Lb'#G_'#G_O9uQ!0LrO1G4YO9uQ!0LrO1G4[O$?TQ`O,5@bO!)[QlO,5;`O9eQ`O,5;`O?YQ`O,5:XO!)[QlO,5:XO!CUQpO,5:XO$?YQ?MtO,5:XOOQO,5;`,5;`O$?dQpO'#IeO$?zQ`O,5@aOOQ!0Lf1G/r1G/rO$@SQpO'#IkO$@^Q`O,5@pOOQ!0Lb1G0y1G0yO#$`QpO,5:XOOQO'#Ig'#IgO$@fQpO,5:qOOQ!0Ln,5:q,5:qO#(ZQ`O1G0ZOOQ!0Lf1G0Z1G0ZO%[QlO1G0ZOOQ!0Lf1G0t1G0tO?YQ`O1G0tO!CUQpO1G0tO!C^QMhO1G0tOOQ!0Lb1G5|1G5|O!ByQ!0LrO1G0^OOQO1G0m1G0mO%[QlO1G0mO$@mQ!0LrO1G0mO$@xQ!0LrO1G0mO!CUQpO1G0^ODWQpO1G0^O$AWQ!0LrO1G0mOOQO1G0^1G0^O$AlQ!0MxO1G0mPOOO-E<[-E<[POOO1G.h1G.hOOOO1G/i1G/iO$AvQ!bO,5QQpO,5@}OOQ!0Lb1G3c1G3cOOQ[7+$V7+$VO@zQ`O7+$VO9uQ!0LrO7+$VO%>]Q`O7+$VO%[QlO1G6lO%[QlO1G6mO%>bQ!0LrO1G6lO%>lQlO1G3kO%>sQ`O1G3kO%>xQlO1G3kOOQ[7+)T7+)TO9uQ!0LrO7+)_O`QlO7+)aOOQ['#Kh'#KhOOQ['#JS'#JSO%?PQlO,5>`OOQ[,5>`,5>`O%[QlO'#HuO%?^Q`O'#HwOOQ[,5>f,5>fO9eQ`O,5>fOOQ[,5>h,5>hOOQ[7+)j7+)jOOQ[7+)p7+)pOOQ[7+)t7+)tOOQ[7+)v7+)vO%?cQpO1G5|O%?}Q?MtO1G0zO%@XQ`O1G0zOOQO1G/s1G/sO%@dQ?MtO1G/sO?YQ`O1G/sO!)[QlO'#DmOOQO,5?P,5?POOQO-ERQ`O7+,WO&>WQ`O7+,XO%[QlO7+,WO%[QlO7+,XOOQ[7+)V7+)VO&>]Q`O7+)VO&>bQlO7+)VO&>iQ`O7+)VOOQ[<nQ`O,5>aOOQ[,5>c,5>cO&>sQ`O1G4QO9eQ`O7+&fO!)[QlO7+&fOOQO7+%_7+%_O&>xQ?MtO1G6ZO?YQ`O7+%_OOQ!0Lf<yQ?MvO,5?aO'@|Q?MvO,5?cO'CPQ?MvO7+'|O'DuQMjOG27TOOQO<VO!l$xO#jROe!iOpkOrPO(T)]O(VTO(YUO(aVO(o[O~O!]$_Oa$qa'z$qa'w$qa!k$qa!Y$qa!_$qa%i$qa!g$qa~Ol)dO~P!&zOh%VOp%WOr%XOs$tOt$tOz%YO|%ZO!O%]O!S${O!_$|O!i%bO!l$xO#j%cO$W%`O$t%^O$v%_O$y%aO(T(vO(VTO(YUO(a$uO(y$}O(z%PO~Og(pP~P!,TO!Q)iO!g)hO!_$^X$Z$^X$]$^X$_$^X$f$^X~O!g)hO!_({X$Z({X$]({X$_({X$f({X~O!Q)iO~P!.^O!Q)iO!_({X$Z({X$]({X$_({X$f({X~O!_)kO$Z)oO$])jO$_)jO$f)pO~O![)sO~P!)[O$]$hO$_$gO$f)wO~On$zX!Q$zX#S$zX'y$zX(y$zX(z$zX~OgmXg$zXnmX!]mX#`mX~P!0SOx)yO(b)zO(c)|O~On*VO!Q*OO'y*PO(y$}O(z%PO~Og)}O~P!1WOg*WO~Oh%VOr%XOs$tOt$tOz%YO|%ZO!OVO!l$xO#jVO!l$xO#jROe!iOpkOrPO(VTO(YUO(aVO(o[O~O(T=QO~P#$qO!]-]O!^(iX~O!^-_O~O!g-VO#`-UO!]#hX!^#hX~O!]-`O!^(xX~O!^-bO~O!c-cO!d-cO(U!lO~P#$`O!^-fO~P'_On-iO!_'`O~O!Y-nO~Os!{a!b!{a!c!{a!d!{a#T!{a#U!{a#V!{a#W!{a#X!{a#[!{a#]!{a(U!{a(V!{a(Y!{a(e!{a(o!{a~P!#vO!p-sO#`-qO~PChO!c-uO!d-uO(U!lO~PDWOa%nO#`-qO'z%nO~Oa%nO!g#vO#`-qO'z%nO~Oa%nO!g#vO!p-sO#`-qO'z%nO(r'pO~O(P'xO(Q'xO(R-zO~Ov-{O~O!Y'Wa!]'Wa~P!:tO![.PO!Y'WX!]'WX~P%[O!](VO!Y(ha~O!Y(ha~PHRO!](^O!Y(va~O!S%hO![.TO!_%iO(T%gO!Y'^X!]'^X~O#`.VO!](ta!k(taa(ta'z(ta~O!g#vO~P#,wO!](jO!k(sa~O!S%hO!_%iO#j.ZO(T%gO~Op.`O!S%hO![.]O!_%iO!|]O#i._O#j.]O(T%gO!]'aX!k'aX~OR.dO!l#xO~Oh%VOn.gO!_'`O%i.fO~Oa#ci!]#ci'z#ci'w#ci!Y#ci!k#civ#ci!_#ci%i#ci!g#ci~P!:tOn>]O!Q*OO'y*PO(y$}O(z%PO~O#k#_aa#_a#`#_a'z#_a!]#_a!k#_a!_#_a!Y#_a~P#/sO#k(`XP(`XR(`X[(`Xa(`Xj(`Xr(`X!S(`X!l(`X!p(`X#R(`X#n(`X#o(`X#p(`X#q(`X#r(`X#s(`X#t(`X#u(`X#v(`X#x(`X#z(`X#{(`X'z(`X(a(`X(r(`X!k(`X!Y(`X'w(`Xv(`X!_(`X%i(`X!g(`X~P!6kO!].tO!k(kX~P!:tO!k.wO~O!Y.yO~OP$[OR#zO!Q#yO!S#{O!l#xO!p$[O(aVO[#mia#mij#mir#mi!]#mi#R#mi#o#mi#p#mi#q#mi#r#mi#s#mi#t#mi#u#mi#v#mi#x#mi#z#mi#{#mi'z#mi(r#mi(y#mi(z#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#n#mi~P#3cO#n$OO~P#3cOP$[OR#zOr$aO!Q#yO!S#{O!l#xO!p$[O#n$OO#o$PO#p$PO#q$PO(aVO[#mia#mij#mi!]#mi#R#mi#s#mi#t#mi#u#mi#v#mi#x#mi#z#mi#{#mi'z#mi(r#mi(y#mi(z#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#r#mi~P#6QO#r$QO~P#6QOP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO(aVOa#mi!]#mi#x#mi#z#mi#{#mi'z#mi(r#mi(y#mi(z#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#v#mi~P#8oOP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO#v$SO(aVO(z#}Oa#mi!]#mi#z#mi#{#mi'z#mi(r#mi(y#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#x$UO~P#;VO#x#mi~P#;VO#v$SO~P#8oOP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO#v$SO#x$UO(aVO(y#|O(z#}Oa#mi!]#mi#{#mi'z#mi(r#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#z#mi~P#={O#z$WO~P#={OP]XR]X[]Xj]Xr]X!Q]X!S]X!l]X!p]X#R]X#S]X#`]X#kfX#n]X#o]X#p]X#q]X#r]X#s]X#t]X#u]X#v]X#x]X#z]X#{]X$Q]X(a]X(r]X(y]X(z]X!]]X!^]X~O$O]X~P#@jOP$[OR#zO[]O!Q*OO'y*PO(y$}O(z%POP#miR#mi!S#mi!l#mi!p#mi#n#mi#o#mi#p#mi#q#mi(a#mi~P#EyO!]/POg(pX~P!1WOg/RO~Oa$Pi!]$Pi'z$Pi'w$Pi!Y$Pi!k$Piv$Pi!_$Pi%i$Pi!g$Pi~P!:tO$]/SO$_/SO~O$]/TO$_/TO~O!g)hO#`/UO!_$cX$Z$cX$]$cX$_$cX$f$cX~O![/VO~O!_)kO$Z/XO$])jO$_)jO$f/YO~O!]VO!l$xO#j^O!Q*OO'y*PO(y$}O(z%POP#miR#mi!S#mi!l#mi!p#mi#n#mi#o#mi#p#mi#q#mi(a#mi~P&,QO#S$dOP(`XR(`X[(`Xj(`Xn(`Xr(`X!Q(`X!S(`X!l(`X!p(`X#R(`X#n(`X#o(`X#p(`X#q(`X#r(`X#s(`X#t(`X#u(`X#v(`X#x(`X#z(`X#{(`X$O(`X'y(`X(a(`X(r(`X(y(`X(z(`X!](`X!^(`X~O$O$Pi!]$Pi!^$Pi~P#BwO$O!ri!^!ri~P$+oOg']a!]']a~P!1WO!^7nO~O!]'da!^'da~P#BwO!Y7oO~P#/sO!g#vO(r'pO!]'ea!k'ea~O!]/pO!k)Oi~O!]/pO!g#vO!k)Oi~Og$|q!]$|q#`$|q$O$|q~P!1WO!Y'ga!]'ga~P#/sO!g7vO~O!]/yO!Y)Pi~P#/sO!]/yO!Y)Pi~O!Y7yO~Oh%VOr8OO!l%eO(r'pO~Oj8QO!g#vO~Or8TO!g#vO(r'pO~O!Q*OO'y*PO(z%POn'ja(y'ja!]'ja#`'ja~Og'ja$O'ja~P&5RO!Q*OO'y*POn'la(y'la(z'la!]'la#`'la~Og'la$O'la~P&5tOg(_q!](_q~P!1WO#`8VOg(_q!](_q~P!1WO!Y8WO~Og%Oq!]%Oq#`%Oq$O%Oq~P!1WOa$oy!]$oy'z$oy'w$oy!Y$oy!k$oyv$oy!_$oy%i$oy!g$oy~P!:tO!g6rO~O!]5[O!_)Qa~O!_'`OP$TaR$Ta[$Taj$Tar$Ta!Q$Ta!S$Ta!]$Ta!l$Ta!p$Ta#R$Ta#n$Ta#o$Ta#p$Ta#q$Ta#r$Ta#s$Ta#t$Ta#u$Ta#v$Ta#x$Ta#z$Ta#{$Ta(a$Ta(r$Ta(y$Ta(z$Ta~O%i7WO~P&8fO%^8[Oa%[i!_%[i'z%[i!]%[i~Oa#cy!]#cy'z#cy'w#cy!Y#cy!k#cyv#cy!_#cy%i#cy!g#cy~P!:tO[8^O~Ob8`O(T+qO(VTO(YUO~O!]1TO!^)Xi~O`8dO~O(e(|O!]'pX!^'pX~O!]5uO!^)Ua~O!^8nO~P%;eO(o!sO~P$&YO#[8oO~O!_1oO~O!_1oO%i8qO~On8tO!_1oO%i8qO~O[8yO!]'sa!^'sa~O!]1zO!^)Vi~O!k8}O~O!k9OO~O!k9RO~O!k9RO~P%[Oa9TO~O!g9UO~O!k9VO~O!](wi!^(wi~P#BwOa%nO#`9_O'z%nO~O!](ty!k(tya(ty'z(ty~P!:tO!](jO!k(sy~O%i9bO~P&8fO!_'`O%i9bO~O#k$|qP$|qR$|q[$|qa$|qj$|qr$|q!S$|q!]$|q!l$|q!p$|q#R$|q#n$|q#o$|q#p$|q#q$|q#r$|q#s$|q#t$|q#u$|q#v$|q#x$|q#z$|q#{$|q'z$|q(a$|q(r$|q!k$|q!Y$|q'w$|q#`$|qv$|q!_$|q%i$|q!g$|q~P#/sO#k'jaP'jaR'ja['jaa'jaj'jar'ja!S'ja!l'ja!p'ja#R'ja#n'ja#o'ja#p'ja#q'ja#r'ja#s'ja#t'ja#u'ja#v'ja#x'ja#z'ja#{'ja'z'ja(a'ja(r'ja!k'ja!Y'ja'w'jav'ja!_'ja%i'ja!g'ja~P&5RO#k'laP'laR'la['laa'laj'lar'la!S'la!l'la!p'la#R'la#n'la#o'la#p'la#q'la#r'la#s'la#t'la#u'la#v'la#x'la#z'la#{'la'z'la(a'la(r'la!k'la!Y'la'w'lav'la!_'la%i'la!g'la~P&5tO#k%OqP%OqR%Oq[%Oqa%Oqj%Oqr%Oq!S%Oq!]%Oq!l%Oq!p%Oq#R%Oq#n%Oq#o%Oq#p%Oq#q%Oq#r%Oq#s%Oq#t%Oq#u%Oq#v%Oq#x%Oq#z%Oq#{%Oq'z%Oq(a%Oq(r%Oq!k%Oq!Y%Oq'w%Oq#`%Oqv%Oq!_%Oq%i%Oq!g%Oq~P#/sO!]'Yi!k'Yi~P!:tO$O#cq!]#cq!^#cq~P#BwO(y$}OP%aaR%aa[%aaj%aar%aa!S%aa!l%aa!p%aa#R%aa#n%aa#o%aa#p%aa#q%aa#r%aa#s%aa#t%aa#u%aa#v%aa#x%aa#z%aa#{%aa$O%aa(a%aa(r%aa!]%aa!^%aa~On%aa!Q%aa'y%aa(z%aa~P&IyO(z%POP%caR%ca[%caj%car%ca!S%ca!l%ca!p%ca#R%ca#n%ca#o%ca#p%ca#q%ca#r%ca#s%ca#t%ca#u%ca#v%ca#x%ca#z%ca#{%ca$O%ca(a%ca(r%ca!]%ca!^%ca~On%ca!Q%ca'y%ca(y%ca~P&LQOn>^O!Q*OO'y*PO(z%PO~P&IyOn>^O!Q*OO'y*PO(y$}O~P&LQOR0kO!Q0kO!S0lO#S$dOP}a[}aj}an}ar}a!l}a!p}a#R}a#n}a#o}a#p}a#q}a#r}a#s}a#t}a#u}a#v}a#x}a#z}a#{}a$O}a'y}a(a}a(r}a(y}a(z}a!]}a!^}a~O!Q*OO'y*POP$saR$sa[$saj$san$sar$sa!S$sa!l$sa!p$sa#R$sa#n$sa#o$sa#p$sa#q$sa#r$sa#s$sa#t$sa#u$sa#v$sa#x$sa#z$sa#{$sa$O$sa(a$sa(r$sa(y$sa(z$sa!]$sa!^$sa~O!Q*OO'y*POP$uaR$ua[$uaj$uan$uar$ua!S$ua!l$ua!p$ua#R$ua#n$ua#o$ua#p$ua#q$ua#r$ua#s$ua#t$ua#u$ua#v$ua#x$ua#z$ua#{$ua$O$ua(a$ua(r$ua(y$ua(z$ua!]$ua!^$ua~On>^O!Q*OO'y*PO(y$}O(z%PO~OP%TaR%Ta[%Taj%Tar%Ta!S%Ta!l%Ta!p%Ta#R%Ta#n%Ta#o%Ta#p%Ta#q%Ta#r%Ta#s%Ta#t%Ta#u%Ta#v%Ta#x%Ta#z%Ta#{%Ta$O%Ta(a%Ta(r%Ta!]%Ta!^%Ta~P''VO$O$mq!]$mq!^$mq~P#BwO$O$oq!]$oq!^$oq~P#BwO!^9oO~O$O9pO~P!1WO!g#vO!]'ei!k'ei~O!g#vO(r'pO!]'ei!k'ei~O!]/pO!k)Oq~O!Y'gi!]'gi~P#/sO!]/yO!Y)Pq~Or9wO!g#vO(r'pO~O[9yO!Y9xO~P#/sO!Y9xO~Oj:PO!g#vO~Og(_y!](_y~P!1WO!]'na!_'na~P#/sOa%[q!_%[q'z%[q!]%[q~P#/sO[:UO~O!]1TO!^)Xq~O`:YO~O#`:ZO!]'pa!^'pa~O!]5uO!^)Ui~P#BwO!S:]O~O!_1oO%i:`O~O(VTO(YUO(e:eO~O!]1zO!^)Vq~O!k:hO~O!k:iO~O!k:jO~O!k:jO~P%[O#`:mO!]#hy!^#hy~O!]#hy!^#hy~P#BwO%i:rO~P&8fO!_'`O%i:rO~O$O#|y!]#|y!^#|y~P#BwOP$|iR$|i[$|ij$|ir$|i!S$|i!l$|i!p$|i#R$|i#n$|i#o$|i#p$|i#q$|i#r$|i#s$|i#t$|i#u$|i#v$|i#x$|i#z$|i#{$|i$O$|i(a$|i(r$|i!]$|i!^$|i~P''VO!Q*OO'y*PO(z%POP'iaR'ia['iaj'ian'iar'ia!S'ia!l'ia!p'ia#R'ia#n'ia#o'ia#p'ia#q'ia#r'ia#s'ia#t'ia#u'ia#v'ia#x'ia#z'ia#{'ia$O'ia(a'ia(r'ia(y'ia!]'ia!^'ia~O!Q*OO'y*POP'kaR'ka['kaj'kan'kar'ka!S'ka!l'ka!p'ka#R'ka#n'ka#o'ka#p'ka#q'ka#r'ka#s'ka#t'ka#u'ka#v'ka#x'ka#z'ka#{'ka$O'ka(a'ka(r'ka(y'ka(z'ka!]'ka!^'ka~O(y$}OP%aiR%ai[%aij%ain%air%ai!Q%ai!S%ai!l%ai!p%ai#R%ai#n%ai#o%ai#p%ai#q%ai#r%ai#s%ai#t%ai#u%ai#v%ai#x%ai#z%ai#{%ai$O%ai'y%ai(a%ai(r%ai(z%ai!]%ai!^%ai~O(z%POP%ciR%ci[%cij%cin%cir%ci!Q%ci!S%ci!l%ci!p%ci#R%ci#n%ci#o%ci#p%ci#q%ci#r%ci#s%ci#t%ci#u%ci#v%ci#x%ci#z%ci#{%ci$O%ci'y%ci(a%ci(r%ci(y%ci!]%ci!^%ci~O$O$oy!]$oy!^$oy~P#BwO$O#cy!]#cy!^#cy~P#BwO!g#vO!]'eq!k'eq~O!]/pO!k)Oy~O!Y'gq!]'gq~P#/sOr:|O!g#vO(r'pO~O[;QO!Y;PO~P#/sO!Y;PO~Og(_!R!](_!R~P!1WOa%[y!_%[y'z%[y!]%[y~P#/sO!]1TO!^)Xy~O!]5uO!^)Uq~O(T;XO~O!_1oO%i;[O~O!k;_O~O%i;dO~P&8fOP$|qR$|q[$|qj$|qr$|q!S$|q!l$|q!p$|q#R$|q#n$|q#o$|q#p$|q#q$|q#r$|q#s$|q#t$|q#u$|q#v$|q#x$|q#z$|q#{$|q$O$|q(a$|q(r$|q!]$|q!^$|q~P''VO!Q*OO'y*PO(z%POP'jaR'ja['jaj'jan'jar'ja!S'ja!l'ja!p'ja#R'ja#n'ja#o'ja#p'ja#q'ja#r'ja#s'ja#t'ja#u'ja#v'ja#x'ja#z'ja#{'ja$O'ja(a'ja(r'ja(y'ja!]'ja!^'ja~O!Q*OO'y*POP'laR'la['laj'lan'lar'la!S'la!l'la!p'la#R'la#n'la#o'la#p'la#q'la#r'la#s'la#t'la#u'la#v'la#x'la#z'la#{'la$O'la(a'la(r'la(y'la(z'la!]'la!^'la~OP%OqR%Oq[%Oqj%Oqr%Oq!S%Oq!l%Oq!p%Oq#R%Oq#n%Oq#o%Oq#p%Oq#q%Oq#r%Oq#s%Oq#t%Oq#u%Oq#v%Oq#x%Oq#z%Oq#{%Oq$O%Oq(a%Oq(r%Oq!]%Oq!^%Oq~P''VOg%e!Z!]%e!Z#`%e!Z$O%e!Z~P!1WO!Y;hO~P#/sOr;iO!g#vO(r'pO~O[;kO!Y;hO~P#/sO!]'pq!^'pq~P#BwO!]#h!Z!^#h!Z~P#BwO#k%e!ZP%e!ZR%e!Z[%e!Za%e!Zj%e!Zr%e!Z!S%e!Z!]%e!Z!l%e!Z!p%e!Z#R%e!Z#n%e!Z#o%e!Z#p%e!Z#q%e!Z#r%e!Z#s%e!Z#t%e!Z#u%e!Z#v%e!Z#x%e!Z#z%e!Z#{%e!Z'z%e!Z(a%e!Z(r%e!Z!k%e!Z!Y%e!Z'w%e!Z#`%e!Zv%e!Z!_%e!Z%i%e!Z!g%e!Z~P#/sOr;tO!g#vO(r'pO~O!Y;uO~P#/sOr;|O!g#vO(r'pO~O!Y;}O~P#/sOP%e!ZR%e!Z[%e!Zj%e!Zr%e!Z!S%e!Z!l%e!Z!p%e!Z#R%e!Z#n%e!Z#o%e!Z#p%e!Z#q%e!Z#r%e!Z#s%e!Z#t%e!Z#u%e!Z#v%e!Z#x%e!Z#z%e!Z#{%e!Z$O%e!Z(a%e!Z(r%e!Z!]%e!Z!^%e!Z~P''VOrROe!iOpkOrPO(T)]O(VTO(YUO(aVO(o[O~O!]WO!l$xO#jgPPP!>oI[PPPPPPPPP!BOP!C]PPI[!DnPI[PI[I[I[I[I[PI[!FQP!I[P!LbP!Lf!Lp!Lt!LtP!IXP!Lx!LxP#!OP#!SI[PI[#!Y#%_CjA^PA^PA^A^P#&lA^A^#)OA^#+vA^#.SA^A^#.r#1W#1W#1]#1f#1W#1qPP#1WPA^#2ZA^#6YA^A^6mPPP#:_PPP#:x#:xP#:xP#;`#:xPP#;fP#;]P#;]#;y#;]#P#>V#>]#>k#>q#>{#?R#?]#?c#?s#?y#@k#@}#AT#AZ#Ai#BO#Cs#DR#DY#Et#FS#Gt#HS#HY#H`#Hf#Hp#Hv#H|#IW#Ij#IpPPPPPPPPPPP#IvPPPPPPP#Jk#Mx$ b$ i$ qPPP$']P$'f$*_$0x$0{$1O$1}$2Q$2X$2aP$2g$2jP$3W$3[$4S$5b$5g$5}PP$6S$6Y$6^$6a$6e$6i$7e$7|$8e$8i$8l$8o$8y$8|$9Q$9UR!|RoqOXst!Z#d%m&r&t&u&w,s,x2[2_Y!vQ'`-e1o5{Q%tvQ%|yQ&T|Q&j!VS'W!e-]Q'f!iS'l!r!yU*k$|*Z*oQ+o%}S+|&V&WQ,d&dQ-c'_Q-m'gQ-u'mQ0[*qQ1b,OQ1y,eR<{SU+P%]S!S!nQ!r!v!y!z$|'W'_'`'l'm'n*k*o*q*r-]-c-e-u0[0_1o5{5}%[$ti#v$b$c$d$x${%O%Q%^%_%c)y*R*T*V*Y*a*g*w*x+f+i,S,V.f/P/d/m/x/y/{0`0b0i0j0o1f1i1q3c4^4_4j4o5Q5[5_6S7W7v8Q8V8[8q9b9p9y:P:`:r;Q;[;d;kP>X>Y>]>^Q&X|Q'U!eS'[%i-`Q+t&PQ,P&WQ,f&gQ0n+SQ1Y+uQ1_+{Q2Q,jQ2R,kQ5f1TQ5o1aQ6[1zQ6_1|Q6`2PQ8`5gQ8c5lQ8|6bQ:X8dQ:f8yQ;V:YR<}*ZrnOXst!V!Z#d%m&i&r&t&u&w,s,x2[2_R,h&k&z^OPXYstuvwz!Z!`!g!j!o#S#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%m%t&R&k&n&o&r&t&u&w&{'T'b'r(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:mR>S[#]WZ#W#Z'X(T!b%jm#h#i#l$x%e%h(^(h(i(j*Y*^*b+Z+[+^,o-V.T.Z.[.]._/m/p2d3[3]4a6r7TQ%wxQ%{yW&Q|&V&W,OQ&_!TQ'c!hQ'e!iQ(q#sS+n%|%}Q+r&PQ,_&bQ,c&dS-l'f'gQ.i(rQ1R+oQ1X+uQ1Z+vQ1^+zQ1t,`S1x,d,eQ2|-mQ5e1TQ5i1WQ5n1`Q6Z1yQ8_5gQ8b5kQ8f5pQ:T8^R;T:U!U$zi$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Y!^%yy!i!u%{%|%}'V'e'f'g'k'u*j+n+o-Y-l-m-t0R0U1R2u2|3T4r4s4v7}9{Q+h%wQ,T&[Q,W&]Q,b&dQ.h(qQ1s,_U1w,c,d,eQ3e.iQ6U1tS6Y1x1yQ8x6Z#f>T#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k]>^o>UPS&[!Q&iQ&]!RQ&^!SU*}%[%d=sR,R&Y%]%Si#v$b$c$d$x${%O%Q%^%_%c)y*R*T*V*Y*a*g*w*x+f+i,S,V.f/P/d/m/x/y/{0`0b0i0j0o1f1i1q3c4^4_4j4o5Q5[5_6S7W7v8Q8V8[8q9b9p9y:P:`:r;Q;[;d;kP>X>Y>]>^T)z$u){V+P%]S$i$^c#Y#e%q%s%u(S(Y(t(y)R)S)T)U)V)W)X)Y)Z)[)^)`)b)g)q+d+x-Z-x-}.S.U.s.v.z.|.}/O/b0p2k2n3O3V3k3p3q3r3s3t3u3v3w3x3y3z3{3|4P4Q4X5X5c6u6{7Q7a7b7k7l8k9X9]9g9m9n:o;W;`SQ'Y!eR2q-]!W!nQ!e!r!v!y!z$|'W'_'`'l'm'n*Z*k*o*q*r-]-c-e-u0[0_1o5{5}R1l,ZnqOXst!Z#d%m&r&t&u&w,s,x2[2_Q&y!^Q'v!xS(s#u<^Q+l%zQ,]&_Q,^&aQ-j'dQ-w'oS.r(x=PS0q+X=ZQ1P+mQ1n,[Q2c,zQ2e,{Q2m-WQ2z-kQ2}-oS5Y0r=eQ5a1QS5d1S=fQ6t2oQ6x2{Q6}3SQ8]5bQ9Y6vQ9Z6yQ9^7OR:l9V$d$]c#Y#e%s%u(S(Y(t(y)R)S)T)U)V)W)X)Y)Z)[)^)`)b)g)q+d+x-Z-x-}.S.U.s.v.z.}/O/b0p2k2n3O3V3k3p3q3r3s3t3u3v3w3x3y3z3{3|4P4Q4X5X5c6u6{7Q7a7b7k7l8k9X9]9g9m9n:o;W;`SS#q]SU$fd)_,mS(p#p'iU*v%R(w4OU0m+O.n7gQ5^0xQ7V3`Q9d7YR:s9em!tQ!r!v!y!z'`'l'm'n-e-u1o5{5}Q't!uS(f#g2US-s'k'wQ/s*]Q0R*jQ3U-vQ4f/tQ4r0TQ4s0UQ4x0^Q7r4`S7}4t4vS8R4y4{Q9r7sQ9v7yQ9{8OQ:Q8TS:{9w9xS;g:|;PS;s;h;iS;{;t;uSSR=o>R%^bOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&o&r&t&u&w&{'T'b'r(T(V(](d(x(z)O)}*i+X+]+g,p,s,x-i-q.P.V.g.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3d3l4z6T6e6f6i6|7[8t9T9_Q%fj!^%xy!i!u%{%|%}'V'e'f'g'k'u*j+n+o-Y-l-m-t0R0U1R2u2|3T4r4s4v7}9{S&Oz!jQ+k%yQ,a&dW1v,b,c,d,eU6X1w1x1yS8w6Y6ZQ:d8x!r=j$Z$n'X)s-U-X/V2p4T5w6s:Z:mSQ=t>QR=u>R%QeOPXYstuvw!Z!`!g!o#S#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&r&t&u&w&{'T'b'r(V(](d(x(z)O)}*i+X+]+g,p,s,x-i-q.P.V.g.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3d3l4z6T6e6f6i6|7[8t9T9_Y#bWZ#W#Z(T!b%jm#h#i#l$x%e%h(^(h(i(j*Y*^*b+Z+[+^,o-V.T.Z.[.]._/m/p2d3[3]4a6r7TQ,n&o!p=k$Z$n)s-U-X/V2p4T5w6s:Z:mSR=n'XU']!e%i*ZR2s-`%SdOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&r&t&u&w&{'T'b'r(T(V(](d(x(z)O)}*i+X+],p,s,x-i-q.P.V.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3l4z6T6e6f6i6|8t9T9_!r)_$Z$n'X)s-U-X/V2p4T5w6s:Z:mSQ,m&oQ0x+gQ3`.gQ7Y3dR9e7[!b$Tc#Y%q(S(Y(t(y)Z)[)`)g+x-x-}.S.U.s.v/b0p3O3V3k3{5X5c6{7Q7a9]:oS)^)q-Z.|2k2n3p4P4X6u7b7k7l8k9X9g9m9n;W;`=vQ>X>ZR>Y>['QkOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%m%t&R&k&n&o&r&t&u&w&{'T'X'b'r(T(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:mSS$oh$pR4U/U'XgOPWXYZhstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n$p%m%t&R&k&n&o&r&t&u&w&{'T'X'b'r(T(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/U/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:mST$kf$qQ$ifS)j$l)nR)v$qT$jf$qT)l$l)n'XhOPWXYZhstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n$p%m%t&R&k&n&o&r&t&u&w&{'T'X'b'r(T(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/U/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:mST$oh$pQ$rhR)u$p%^jOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&o&r&t&u&w&{'T'b'r(T(V(](d(x(z)O)}*i+X+]+g,p,s,x-i-q.P.V.g.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3d3l4z6T6e6f6i6|7[8t9T9_!s>Q$Z$n'X)s-U-X/V2p4T5w6s:Z:mS#glOPXZst!Z!`!o#S#d#o#{$n%m&k&n&o&r&t&u&w&{'T'b)O)s*i+]+g,p,s,x-i.g/V/n0]0l1r2S2T2V2X2[2_2a3d4T4z6T6e6f6i7[8t9T!U%Ri$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Y#f(w#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k]>^Q+T%aQ/c*Oo4OP>X>YQ*c$zU*l$|*Z*oQ+U%bQ0W*m#f=q#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k]>^n=rTQ=x>UQ=y>VR=z>W!U%Ri$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Y#f(w#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k]>^o4OP>X>Y>]>^Q,U&]Q1h,WQ5s1gR8h5tV*n$|*Z*oU*n$|*Z*oT5z1o5{S0P*i/nQ4w0]T8S4z:]Q+j%xQ0V*lQ1O+kQ1u,aQ6W1vQ8v6XQ:c8wR;^:d!U%Oi$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Yx*R$v)e*S*u+V/v0d0e4R4g5R5S5W7p8U:R:x=p=}>OS0`*t0a#f]>^nZ>[`=T3}7c7f7j9h:t:w;yS=_.l3iT=`7e9k!U%Qi$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Y|*T$v)e*U*t+V/g/v0d0e4R4g4|5R5S5W7p8U:R:x=p=}>OS0b*u0c#f]>^nZ>[d=V3}7d7e7j9h9i:t:u:w;yS=a.m3jT=b7f9lrnOXst!V!Z#d%m&i&r&t&u&w,s,x2[2_Q&f!UR,p&ornOXst!V!Z#d%m&i&r&t&u&w,s,x2[2_R&f!UQ,Y&^R1d,RsnOXst!V!Z#d%m&i&r&t&u&w,s,x2[2_Q1p,_S6R1s1tU8p6P6Q6US:_8r8sS;Y:^:aQ;m;ZR;w;nQ&m!VR,i&iR6_1|R:f8yW&Q|&V&W,OR1Z+vQ&r!WR,s&sR,y&xT2],x2_R,}&yQ,|&yR2f,}Q'y!{R-y'ySsOtQ#dXT%ps#dQ#OTR'{#OQ#RUR'}#RQ){$uR/`){Q#UVR(Q#UQ#XWU(W#X(X.QQ(X#YR.Q(YQ-^'YR2r-^Q.u(yS3m.u3nR3n.vQ-e'`R2v-eY!rQ'`-e1o5{R'j!rQ/Q)eR4S/QU#_W%h*YU(_#_(`.RQ(`#`R.R(ZQ-a']R2t-at`OXst!V!Z#d%m&i&k&r&t&u&w,s,x2[2_S#hZ%eU#r`#h.[R.[(jQ(k#jQ.X(gW.a(k.X3X7RQ3X.YR7R3YQ)n$lR/W)nQ$phR)t$pQ$`cU)a$`-|O>Z>[Q/z*eU4k/z4m7xQ4m/|R7x4lS*o$|*ZR0Y*ox*S$v)e*t*u+V/v0d0e4R4g5R5S5W7p8U:R:x=p=}>O!d.j(u)c*[*e.l.m.q/_/k/|0v1e3h4[4h4l5r7]7`7w7z8X8Z9t9|:S:};R;e;j;v>Z>[U/h*S.j7ca7c3}7e7f7j9h:t:w;yQ0a*tQ3i.lU4}0a3i9kR9k7e|*U$v)e*t*u+V/g/v0d0e4R4g4|5R5S5W7p8U:R:x=p=}>O!h.k(u)c*[*e.l.m.q/_/k/|0v1e3f3h4[4h4l5r7]7^7`7w7z8X8Z9t9|:S:};R;e;j;v>Z>[U/j*U.k7de7d3}7e7f7j9h9i:t:u:w;yQ0c*uQ3j.mU5P0c3j9lR9l7fQ*z%UR0g*zQ5]0vR8Y5]Q+_%kR0u+_Q5v1jS8j5v:[R:[8kQ,[&_R1m,[Q5{1oR8m5{Q1{,fS6]1{8zR8z6_Q1U+rW5h1U5j8a:VQ5j1XQ8a5iR:V8bQ+w&QR1[+wQ2_,xR6m2_YrOXst#dQ&v!ZQ+a%mQ,r&rQ,t&tQ,u&uQ,w&wQ2Y,sS2],x2_R6l2[Q%opQ&z!_Q&}!aQ'P!bQ'R!cQ'q!uQ+`%lQ+l%zQ,Q&XQ,h&mQ-P&|W-p'k's't'wQ-w'oQ0X*nQ1P+mQ1c,PS2O,i,lQ2g-OQ2h-RQ2i-SQ2}-oW3P-r-s-v-xQ5a1QQ5m1_Q5q1eQ6V1uQ6a2QQ6k2ZU6z3O3R3UQ6}3SQ8]5bQ8e5oQ8g5rQ8l5zQ8u6WQ8{6`S9[6{7PQ9^7OQ:W8cQ:b8vQ:g8|Q:n9]Q;U:XQ;]:cQ;a:oQ;l;VR;o;^Q%zyQ'd!iQ'o!uU+m%{%|%}Q-W'VU-k'e'f'gS-o'k'uQ0Q*jS1Q+n+oQ2o-YS2{-l-mQ3S-tS4p0R0UQ5b1RQ6v2uQ6y2|Q7O3TU7{4r4s4vQ9z7}R;O9{S$wi>PR*{%VU%Ui%V>PR0f*yQ$viS(u#v+iS)c$b$cQ)e$dQ*[$xS*e${*YQ*t%OQ*u%QQ+Q%^Q+R%_Q+V%cQ.lPQ=}>XQ>O>YQ>Z>]R>[>^Q+O%]Q.nSR#[WR'Z!el!tQ!r!v!y!z'`'l'm'n-e-u1o5{5}S'V!e-]U*j$|*Z*oS-Y'W'_S0U*k*qQ0^*rQ2u-cQ4v0[R4{0_R({#xQ!fQT-d'`-e]!qQ!r'`-e1o5{Q#p]R'i < TypeParamList in out const TypeDefinition extends ThisType this LiteralType ArithOp Number BooleanLiteral TemplateType InterpolationEnd Interpolation InterpolationStart NullType null VoidType void TypeofType typeof MemberExpression . PropertyName [ TemplateString Escape Interpolation super RegExp ] ArrayExpression Spread , } { ObjectExpression Property async get set PropertyDefinition Block : NewTarget new NewExpression ) ( ArgList UnaryExpression delete LogicOp BitOp YieldExpression yield AwaitExpression await ParenthesizedExpression ClassExpression class ClassBody MethodDeclaration Decorator @ MemberExpression PrivatePropertyName CallExpression TypeArgList CompareOp < declare Privacy static abstract override PrivatePropertyDefinition PropertyDeclaration readonly accessor Optional TypeAnnotation Equals StaticBlock FunctionExpression ArrowFunction ParamList ParamList ArrayPattern ObjectPattern PatternProperty Privacy readonly Arrow MemberExpression BinaryExpression ArithOp ArithOp ArithOp ArithOp BitOp CompareOp instanceof satisfies CompareOp BitOp BitOp BitOp LogicOp LogicOp ConditionalExpression LogicOp LogicOp AssignmentExpression UpdateOp PostfixExpression CallExpression InstantiationExpression TaggedTemplateExpression DynamicImport import ImportMeta JSXElement JSXSelfCloseEndTag JSXSelfClosingTag JSXIdentifier JSXBuiltin JSXIdentifier JSXNamespacedName JSXMemberExpression JSXSpreadAttribute JSXAttribute JSXAttributeValue JSXEscape JSXEndTag JSXOpenTag JSXFragmentTag JSXText JSXEscape JSXStartCloseTag JSXCloseTag PrefixCast < ArrowFunction TypeParamList SequenceExpression InstantiationExpression KeyofType keyof UniqueType unique ImportType InferredType infer TypeName ParenthesizedType FunctionSignature ParamList NewSignature IndexedType TupleType Label ArrayType ReadonlyType ObjectType MethodType PropertyType IndexSignature PropertyDefinition CallSignature TypePredicate asserts is NewSignature new UnionType LogicOp IntersectionType LogicOp ConditionalType ParameterizedType ClassDeclaration abstract implements type VariableDeclaration let var using TypeAliasDeclaration InterfaceDeclaration interface EnumDeclaration enum EnumBody NamespaceDeclaration namespace module AmbientDeclaration declare GlobalDeclaration global ClassDeclaration ClassBody AmbientFunctionDeclaration ExportGroup VariableName VariableName ImportDeclaration defer ImportGroup ForStatement for ForSpec ForInSpec ForOfSpec of WhileStatement while WithStatement with DoStatement do IfStatement if else SwitchStatement switch SwitchBody CaseLabel case DefaultLabel TryStatement try CatchClause catch FinallyClause finally ReturnStatement return ThrowStatement throw BreakStatement break ContinueStatement continue DebuggerStatement debugger LabeledStatement ExpressionStatement SingleExpression SingleClassItem",maxTerm:380,context:n1,nodeProps:[["isolate",-8,5,6,14,37,39,51,53,55,""],["group",-26,9,17,19,68,207,211,215,216,218,221,224,234,237,243,245,247,249,252,258,264,266,268,270,272,274,275,"Statement",-34,13,14,32,35,36,42,51,54,55,57,62,70,72,76,80,82,84,85,110,111,120,121,136,139,141,142,143,144,145,147,148,167,169,171,"Expression",-23,31,33,37,41,43,45,173,175,177,178,180,181,182,184,185,186,188,189,190,201,203,205,206,"Type",-3,88,103,109,"ClassItem"],["openedBy",23,"<",38,"InterpolationStart",56,"[",60,"{",73,"(",160,"JSXStartCloseTag"],["closedBy",-2,24,168,">",40,"InterpolationEnd",50,"]",61,"}",74,")",165,"JSXEndTag"]],propSources:[c1],skippedNodes:[0,5,6,278],repeatNodeCount:37,tokenData:"$Fq07[R!bOX%ZXY+gYZ-yZ[+g[]%Z]^.c^p%Zpq+gqr/mrs3cst:_tuEruvJSvwLkwx! Yxy!'iyz!(sz{!)}{|!,q|}!.O}!O!,q!O!P!/Y!P!Q!9j!Q!R#:O!R![#<_![!]#I_!]!^#Jk!^!_#Ku!_!`$![!`!a$$v!a!b$*T!b!c$,r!c!}Er!}#O$-|#O#P$/W#P#Q$4o#Q#R$5y#R#SEr#S#T$7W#T#o$8b#o#p$x#r#s$@U#s$f%Z$f$g+g$g#BYEr#BY#BZ$A`#BZ$ISEr$IS$I_$A`$I_$I|Er$I|$I}$Dk$I}$JO$Dk$JO$JTEr$JT$JU$A`$JU$KVEr$KV$KW$A`$KW&FUEr&FU&FV$A`&FV;'SEr;'S;=`I|<%l?HTEr?HT?HU$A`?HUOEr(n%d_$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z&j&hT$i&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c&j&zP;=`<%l&c'|'U]$i&j(Z!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!b(SU(Z!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}!b(iP;=`<%l'}'|(oP;=`<%l&}'[(y]$i&j(WpOY(rYZ&cZr(rrs&cs!^(r!^!_)r!_#O(r#O#P&c#P#o(r#o#p)r#p;'S(r;'S;=`*a<%lO(rp)wU(WpOY)rZr)rs#O)r#P;'S)r;'S;=`*Z<%lO)rp*^P;=`<%l)r'[*dP;=`<%l(r#S*nX(Wp(Z!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g#S+^P;=`<%l*g(n+dP;=`<%l%Z07[+rq$i&j(Wp(Z!b'|0/lOX%ZXY+gYZ&cZ[+g[p%Zpq+gqr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p$f%Z$f$g+g$g#BY%Z#BY#BZ+g#BZ$IS%Z$IS$I_+g$I_$JT%Z$JT$JU+g$JU$KV%Z$KV$KW+g$KW&FU%Z&FU&FV+g&FV;'S%Z;'S;=`+a<%l?HT%Z?HT?HU+g?HUO%Z07[.ST(X#S$i&j'}0/lO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c07[.n_$i&j(Wp(Z!b'}0/lOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z)3p/x`$i&j!p),Q(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`0z!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW1V`#v(Ch$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`2X!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW2d_#v(Ch$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'At3l_(V':f$i&j(Z!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k(^4r_$i&j(Z!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k&z5vX$i&jOr5qrs6cs!^5q!^!_6y!_#o5q#o#p6y#p;'S5q;'S;=`7h<%lO5q&z6jT$d`$i&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c`6|TOr6yrs7]s;'S6y;'S;=`7b<%lO6y`7bO$d``7eP;=`<%l6y&z7kP;=`<%l5q(^7w]$d`$i&j(Z!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!r8uZ(Z!bOY8pYZ6yZr8prs9hsw8pwx6yx#O8p#O#P6y#P;'S8p;'S;=`:R<%lO8p!r9oU$d`(Z!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}!r:UP;=`<%l8p(^:[P;=`<%l4k%9[:hh$i&j(Wp(Z!bOY%ZYZ&cZq%Zqr`#P#o`x!^=^!^!_?q!_#O=^#O#P>`#P#o=^#o#p?q#p;'S=^;'S;=`@h<%lO=^&n>gXWS$i&jOY>`YZ&cZ!^>`!^!_?S!_#o>`#o#p?S#p;'S>`;'S;=`?k<%lO>`S?XSWSOY?SZ;'S?S;'S;=`?e<%lO?SS?hP;=`<%l?S&n?nP;=`<%l>`!f?xWWS(Z!bOY?qZw?qwx?Sx#O?q#O#P?S#P;'S?q;'S;=`@b<%lO?q!f@eP;=`<%l?q(Q@kP;=`<%l=^'`@w]WS$i&j(WpOY@nYZ&cZr@nrs>`s!^@n!^!_Ap!_#O@n#O#P>`#P#o@n#o#pAp#p;'S@n;'S;=`Bg<%lO@ntAwWWS(WpOYApZrAprs?Ss#OAp#O#P?S#P;'SAp;'S;=`Ba<%lOAptBdP;=`<%lAp'`BjP;=`<%l@n#WBvYWS(Wp(Z!bOYBmZrBmrs?qswBmwxApx#OBm#O#P?S#P;'SBm;'S;=`Cf<%lOBm#WCiP;=`<%lBm(rCoP;=`<%l^!Q^$i&j!X7`OY!=yYZ&cZ!P!=y!P!Q!>|!Q!^!=y!^!_!@c!_!}!=y!}#O!CW#O#P!Dy#P#o!=y#o#p!@c#p;'S!=y;'S;=`!Ek<%lO!=y|#X#Z&c#Z#[!>|#[#]&c#]#^!>|#^#a&c#a#b!>|#b#g&c#g#h!>|#h#i&c#i#j!>|#j#k!>|#k#m&c#m#n!>|#n#o&c#p;'S&c;'S;=`&w<%lO&c7`!@hX!X7`OY!@cZ!P!@c!P!Q!AT!Q!}!@c!}#O!Ar#O#P!Bq#P;'S!@c;'S;=`!CQ<%lO!@c7`!AYW!X7`#W#X!AT#Z#[!AT#]#^!AT#a#b!AT#g#h!AT#i#j!AT#j#k!AT#m#n!AT7`!AuVOY!ArZ#O!Ar#O#P!B[#P#Q!@c#Q;'S!Ar;'S;=`!Bk<%lO!Ar7`!B_SOY!ArZ;'S!Ar;'S;=`!Bk<%lO!Ar7`!BnP;=`<%l!Ar7`!BtSOY!@cZ;'S!@c;'S;=`!CQ<%lO!@c7`!CTP;=`<%l!@c^!Ezl$i&j(Z!b!X7`OY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#W&}#W#X!Eq#X#Z&}#Z#[!Eq#[#]&}#]#^!Eq#^#a&}#a#b!Eq#b#g&}#g#h!Eq#h#i&}#i#j!Eq#j#k!Eq#k#m&}#m#n!Eq#n#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}8r!GyZ(Z!b!X7`OY!GrZw!Grwx!@cx!P!Gr!P!Q!Hl!Q!}!Gr!}#O!JU#O#P!Bq#P;'S!Gr;'S;=`!J|<%lO!Gr8r!Hse(Z!b!X7`OY'}Zw'}x#O'}#P#W'}#W#X!Hl#X#Z'}#Z#[!Hl#[#]'}#]#^!Hl#^#a'}#a#b!Hl#b#g'}#g#h!Hl#h#i'}#i#j!Hl#j#k!Hl#k#m'}#m#n!Hl#n;'S'};'S;=`(f<%lO'}8r!JZX(Z!bOY!JUZw!JUwx!Arx#O!JU#O#P!B[#P#Q!Gr#Q;'S!JU;'S;=`!Jv<%lO!JU8r!JyP;=`<%l!JU8r!KPP;=`<%l!Gr>^!KZ^$i&j(Z!bOY!KSYZ&cZw!KSwx!CWx!^!KS!^!_!JU!_#O!KS#O#P!DR#P#Q!^!LYP;=`<%l!KS>^!L`P;=`<%l!_#c#d#Bq#d#l%Z#l#m#Es#m#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#>j_$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#?rd$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!R#AQ!R!S#AQ!S!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#AQ#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#A]f$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!R#AQ!R!S#AQ!S!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#AQ#S#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#Bzc$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!Y#DV!Y!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#DV#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#Dbe$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!Y#DV!Y!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#DV#S#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#E|g$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![#Ge![!^%Z!^!_*g!_!c%Z!c!i#Ge!i#O%Z#O#P&c#P#R%Z#R#S#Ge#S#T%Z#T#Z#Ge#Z#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#Gpi$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![#Ge![!^%Z!^!_*g!_!c%Z!c!i#Ge!i#O%Z#O#P&c#P#R%Z#R#S#Ge#S#T%Z#T#Z#Ge#Z#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z*)x#Il_!g$b$i&j$O)Lv(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z)[#Jv_al$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z04f#LS^h#)`#R-v$?V_!^(CdvBr$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z?O$@a_!q7`$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z07[$Aq|$i&j(Wp(Z!b'|0/l$]#t(T,2j(e$I[OX%ZXY+gYZ&cZ[+g[p%Zpq+gqr%Zrs&}st%ZtuEruw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Er![!^%Z!^!_*g!_!c%Z!c!}Er!}#O%Z#O#P&c#P#R%Z#R#SEr#S#T%Z#T#oEr#o#p*g#p$f%Z$f$g+g$g#BYEr#BY#BZ$A`#BZ$ISEr$IS$I_$A`$I_$JTEr$JT$JU$A`$JU$KVEr$KV$KW$A`$KW&FUEr&FU&FV$A`&FV;'SEr;'S;=`I|<%l?HTEr?HT?HU$A`?HUOEr07[$D|k$i&j(Wp(Z!b'}0/l$]#t(T,2j(e$I[OY%ZYZ&cZr%Zrs&}st%ZtuEruw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Er![!^%Z!^!_*g!_!c%Z!c!}Er!}#O%Z#O#P&c#P#R%Z#R#SEr#S#T%Z#T#oEr#o#p*g#p$g%Z$g;'SEr;'S;=`I|<%lOEr",tokenizers:[s1,o1,a1,l1,2,3,4,5,6,7,8,9,10,11,12,13,14,r1,new ki("$S~RRtu[#O#Pg#S#T#|~_P#o#pb~gOx~~jVO#i!P#i#j!U#j#l!P#l#m!q#m;'S!P;'S;=`#v<%lO!P~!UO!U~~!XS!Q![!e!c!i!e#T#Z!e#o#p#Z~!hR!Q![!q!c!i!q#T#Z!q~!tR!Q![!}!c!i!}#T#Z!}~#QR!Q![!P!c!i!P#T#Z!P~#^R!Q![#g!c!i#g#T#Z#g~#jS!Q![#g!c!i#g#T#Z#g#q#r!P~#yP;=`<%l!P~$RO(c~~",141,340),new ki("j~RQYZXz{^~^O(Q~~aP!P!Qd~iO(R~~",25,323)],topRules:{Script:[0,7],SingleExpression:[1,276],SingleClassItem:[2,277]},dialects:{jsx:0,ts:15175},dynamicPrecedences:{80:1,82:1,94:1,169:1,199:1},specialized:[{term:327,get:i=>h1[i]||-1},{term:343,get:i=>f1[i]||-1},{term:95,get:i=>u1[i]||-1}],tokenPrec:15201});var Vp=[he("function ${name}(${params}) {\n ${}\n}",{label:"function",detail:"definition",type:"keyword"}),he("for (let ${index} = 0; ${index} < ${bound}; ${index}++) {\n ${}\n}",{label:"for",detail:"loop",type:"keyword"}),he("for (let ${name} of ${collection}) {\n ${}\n}",{label:"for",detail:"of loop",type:"keyword"}),he("do {\n ${}\n} while (${})",{label:"do",detail:"loop",type:"keyword"}),he("while (${}) {\n ${}\n}",{label:"while",detail:"loop",type:"keyword"}),he(`try { +`);n=r<0?t:t.slice(0,r)}return e+n.length>this.to?n.slice(0,this.to-e):n}prevLineEnd(){return this.atEnd?this.lineStart:this.lineStart-1}startContext(e,t,n=0){this.block=Hs.create(e,n,this.lineStart+t,this.block.hash,this.lineStart+this.line.text.length),this.stack.push(this.block)}startComposite(e,t,n=0){this.startContext(this.parser.getNodeType(e),t,n)}addNode(e,t,n){typeof e=="number"&&(e=new K(this.parser.nodeSet.types[e],vn,vn,(n??this.prevLineEnd())-t)),this.block.addChild(e,t-this.block.from)}addElement(e){this.block.addChild(e.toTree(this.parser.nodeSet),e.from-this.block.from)}addLeafElement(e,t){this.addNode(this.buffer.writeElements(nc(t.children,e.marks),-t.from).finish(t.type,t.to-t.from),t.from)}finishContext(){let e=this.stack.pop(),t=this.stack[this.stack.length-1];t.addChild(e.toTree(this.parser.nodeSet),e.from-t.from),this.block=t}finish(){for(;this.stack.length>1;)this.finishContext();return this.addGaps(this.block.toTree(this.parser.nodeSet,this.lineStart))}addGaps(e){return this.ranges.length>1?Md(this.ranges,0,e.topNode,this.ranges[0].from,this.reusePlaceholders):e}finishLeaf(e){for(let n of e.parsers)if(n.finish(this,e))return;let t=nc(this.parser.parseInline(e.content,e.start),e.marks);this.addNode(this.buffer.writeElements(t,-e.start).finish(A.Paragraph,e.content.length),e.start)}elt(e,t,n,r){return typeof e=="string"?ne(this.parser.getNodeType(e),t,n,r):new Js(e,t)}get buffer(){return new Ks(this.parser.nodeSet)}};function Md(i,e,t,n,r){let s=i[e].to,o=[],a=[],l=t.from+n;function c(h,f){for(;f?h>=s:h>s;){let u=i[e+1].from-s;n+=u,h+=u,e++,s=i[e].to}}for(let h=t.firstChild;h;h=h.nextSibling){c(h.from+n,!0);let f=h.from+n,u,O=r.get(h.tree);O?u=O:h.to+n>s?(u=Md(i,e,h,n,r),c(h.to+n,!1)):u=h.toTree(),o.push(u),a.push(f-l)}return c(t.to+n,!1),new K(t.type,o,a,t.to+n-l,t.tree?t.tree.propValues:void 0)}var yr=class i extends Ut{constructor(e,t,n,r,s,o,a,l,c){super(),this.nodeSet=e,this.blockParsers=t,this.leafBlockParsers=n,this.blockNames=r,this.endLeafBlock=s,this.skipContextMarkup=o,this.inlineParsers=a,this.inlineNames=l,this.wrappers=c,this.nodeTypes=Object.create(null);for(let h of e.types)this.nodeTypes[h.name]=h.id}createParse(e,t,n){let r=new tc(this,e,t,n);for(let s of this.wrappers)r=s(r,e,t,n);return r}configure(e){let t=ic(e);if(!t)return this;let{nodeSet:n,skipContextMarkup:r}=this,s=this.blockParsers.slice(),o=this.leafBlockParsers.slice(),a=this.blockNames.slice(),l=this.inlineParsers.slice(),c=this.inlineNames.slice(),h=this.endLeafBlock.slice(),f=this.wrappers;if(Qr(t.defineNodes)){r=Object.assign({},r);let u=n.types.slice(),O;for(let m of t.defineNodes){let{name:p,block:b,composite:g,style:Q}=typeof m=="string"?{name:m}:m;if(u.some(P=>P.name==p))continue;g&&(r[u.length]=(P,$,Z)=>g($,Z,P.value));let S=u.length,x=g?["Block","BlockContext"]:b?S>=A.ATXHeading1&&S<=A.SetextHeading2?["Block","LeafBlock","Heading"]:["Block","LeafBlock"]:void 0;u.push(de.define({id:S,name:p,props:x&&[[I.group,x]]})),Q&&(O||(O={}),Array.isArray(Q)||Q instanceof et?O[p]=Q:Object.assign(O,Q))}n=new It(u),O&&(n=n.extend(Qe(O)))}if(Qr(t.props)&&(n=n.extend(...t.props)),Qr(t.remove))for(let u of t.remove){let O=this.blockNames.indexOf(u),m=this.inlineNames.indexOf(u);O>-1&&(s[O]=o[O]=void 0),m>-1&&(l[m]=void 0)}if(Qr(t.parseBlock))for(let u of t.parseBlock){let O=a.indexOf(u.name);if(O>-1)s[O]=u.parse,o[O]=u.leaf;else{let m=u.before?Fs(a,u.before):u.after?Fs(a,u.after)+1:a.length-1;s.splice(m,0,u.parse),o.splice(m,0,u.leaf),a.splice(m,0,u.name)}u.endLeaf&&h.push(u.endLeaf)}if(Qr(t.parseInline))for(let u of t.parseInline){let O=c.indexOf(u.name);if(O>-1)l[O]=u.parse;else{let m=u.before?Fs(c,u.before):u.after?Fs(c,u.after)+1:c.length-1;l.splice(m,0,u.parse),c.splice(m,0,u.name)}}return t.wrap&&(f=f.concat(t.wrap)),new i(n,s,o,a,h,r,l,c,f)}getNodeType(e){let t=this.nodeTypes[e];if(t==null)throw new RangeError(`Unknown node type '${e}'`);return t}parseInline(e,t){let n=new xr(this,e,t);e:for(let r=t;r=0){r=a;continue e}}r++}return n.resolveMarkers(0)}};function Qr(i){return i!=null&&i.length>0}function ic(i){if(!Array.isArray(i))return i;if(i.length==0)return null;let e=ic(i[0]);if(i.length==1)return e;let t=ic(i.slice(1));if(!t||!e)return e||t;let n=(o,a)=>(o||vn).concat(a||vn),r=e.wrap,s=t.wrap;return{props:n(e.props,t.props),defineNodes:n(e.defineNodes,t.defineNodes),parseBlock:n(e.parseBlock,t.parseBlock),parseInline:n(e.parseInline,t.parseInline),remove:n(e.remove,t.remove),wrap:r?s?(o,a,l,c)=>r(s(o,a,l,c),a,l,c):r:s}}function Fs(i,e){let t=i.indexOf(e);if(t<0)throw new RangeError(`Position specified relative to unknown parser ${e}`);return t}var Wd=[de.none];for(let i=1,e;e=A[i];i++)Wd[i]=de.define({id:i,name:e,props:i>=A.Escape?[]:[[I.group,i in Cd?["Block","BlockContext"]:["Block","LeafBlock"]]],top:e=="Document"});var vn=[],Ks=class{constructor(e){this.nodeSet=e,this.content=[],this.nodes=[]}write(e,t,n,r=0){return this.content.push(e,t,n,4+r*4),this}writeElements(e,t=0){for(let n of e)n.writeTo(this,t);return this}finish(e,t){return K.build({buffer:this.content,nodeSet:this.nodeSet,reused:this.nodes,topID:e,length:t})}},Ui=class{constructor(e,t,n,r=vn){this.type=e,this.from=t,this.to=n,this.children=r}writeTo(e,t){let n=e.content.length;e.writeElements(this.children,t),e.content.push(this.type,this.from+t,this.to+t,e.content.length+4-n)}toTree(e){return new Ks(e).writeElements(this.children,-this.from).finish(this.type,this.to-this.from)}},Js=class{constructor(e,t){this.tree=e,this.from=t}get to(){return this.from+this.tree.length}get type(){return this.tree.type.id}get children(){return vn}writeTo(e,t){e.nodes.push(this.tree),e.content.push(e.nodes.length-1,this.from+t,this.to+t,-1)}toTree(){return this.tree}};function ne(i,e,t,n){return new Ui(i,e,t,n)}var jd={resolve:"Emphasis",mark:"EmphasisMark"},Vd={resolve:"Emphasis",mark:"EmphasisMark"},Bi={},eo={},je=class{constructor(e,t,n,r){this.type=e,this.from=t,this.to=n,this.side=r}},yd="!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~",kr=/[!"#$%&'()*+,\-.\/:;<=>?@\[\\\]^_`{|}~\xA1\u2010-\u2027]/;try{kr=new RegExp("[\\p{S}|\\p{P}]","u")}catch{}var Gl={Escape(i,e,t){if(e!=92||t==i.end-1)return-1;let n=i.char(t+1);for(let r=0;r]+|[a-z\d.!#$%&'*+/=?^_`{|}~-]+@[a-z\d](?:[a-z\d-]{0,61}[a-z\d])?(?:\.[a-z\d](?:[a-z\d-]{0,61}[a-z\d])?)*)>/i.exec(n);if(r)return i.append(ne(A.Autolink,t,t+1+r[0].length,[ne(A.LinkMark,t,t+1),ne(A.URL,t+1,t+r[0].length),ne(A.LinkMark,t+r[0].length,t+1+r[0].length)]));let s=/^!--[^>](?:-[^-]|[^-])*?-->/i.exec(n);if(s)return i.append(ne(A.Comment,t,t+1+s[0].length));let o=/^\?[^]*?\?>/.exec(n);if(o)return i.append(ne(A.ProcessingInstruction,t,t+1+o[0].length));let a=/^(?:![A-Z][^]*?>|!\[CDATA\[[^]*?\]\]>|\/\s*[a-zA-Z][\w-]*\s*>|\s*[a-zA-Z][\w-]*(\s+[a-zA-Z:_][\w-.:]*(?:\s*=\s*(?:[^\s"'=<>`]+|'[^']*'|"[^"]*"))?)*\s*(\/\s*)?>)/.exec(n);return a?i.append(ne(A.HTMLTag,t,t+1+a[0].length)):-1},Emphasis(i,e,t){if(e!=95&&e!=42)return-1;let n=t+1;for(;i.char(n)==e;)n++;let r=i.slice(t-1,t),s=i.slice(n,n+1),o=kr.test(r),a=kr.test(s),l=/\s|^$/.test(r),c=/\s|^$/.test(s),h=!c&&(!a||l||o),f=!l&&(!o||c||a),u=h&&(e==42||!f||o),O=f&&(e==42||!h||a);return i.append(new je(e==95?jd:Vd,t,n,(u?1:0)|(O?2:0)))},HardBreak(i,e,t){if(e==92&&i.char(t+1)==10)return i.append(ne(A.HardBreak,t,t+2));if(e==32){let n=t+1;for(;i.char(n)==32;)n++;if(i.char(n)==10&&n>=t+2)return i.append(ne(A.HardBreak,t,n+1))}return-1},Link(i,e,t){return e==91?i.append(new je(Bi,t,t+1,1)):-1},Image(i,e,t){return e==33&&i.char(t+1)==91?i.append(new je(eo,t,t+2,1)):-1},LinkEnd(i,e,t){if(e!=93)return-1;for(let n=i.parts.length-1;n>=0;n--){let r=i.parts[n];if(r instanceof je&&(r.type==Bi||r.type==eo)){if(!r.side||i.skipSpace(r.to)==t&&!/[(\[]/.test(i.slice(t+1,t+2)))return i.parts[n]=null,-1;let s=i.takeContent(n),o=i.parts[n]=oy(i,s,r.type==Bi?A.Link:A.Image,r.from,t+1);if(r.type==Bi)for(let a=0;ae?ne(A.URL,e+t,s+t):s==i.length?null:!1}}function Yd(i,e,t){let n=i.charCodeAt(e);if(n!=39&&n!=34&&n!=40)return!1;let r=n==40?41:n;for(let s=e+1,o=!1;s=this.end?-1:this.text.charCodeAt(e-this.offset)}get end(){return this.offset+this.text.length}slice(e,t){return this.text.slice(e-this.offset,t-this.offset)}append(e){return this.parts.push(e),e.to}addDelimiter(e,t,n,r,s){return this.append(new je(e,t,n,(r?1:0)|(s?2:0)))}get hasOpenLink(){for(let e=this.parts.length-1;e>=0;e--){let t=this.parts[e];if(t instanceof je&&(t.type==Bi||t.type==eo))return!0}return!1}addElement(e){return this.append(e)}resolveMarkers(e){for(let n=e;n=e;l--){let p=this.parts[l];if(p instanceof je&&p.side&1&&p.type==r.type&&!(s&&(r.side&1||p.side&2)&&(p.to-p.from+o)%3==0&&((p.to-p.from)%3||o%3))){a=p;break}}if(!a)continue;let c=r.type.resolve,h=[],f=a.from,u=r.to;if(s){let p=Math.min(2,a.to-a.from,o);f=a.to-p,u=r.from+p,c=p==1?"Emphasis":"StrongEmphasis"}a.type.mark&&h.push(this.elt(a.type.mark,f,a.to));for(let p=l+1;p=0;t--){let n=this.parts[t];if(n instanceof je&&n.type==e&&n.side&1)return t}return null}takeContent(e){let t=this.resolveMarkers(e);return this.parts.length=e,t}getDelimiterAt(e){let t=this.parts[e];return t instanceof je?t:null}skipSpace(e){return br(this.text,e-this.offset)+this.offset}elt(e,t,n,r){return typeof e=="string"?ne(this.parser.getNodeType(e),t,n,r):new Js(e,t)}};xr.linkStart=Bi;xr.imageStart=eo;function nc(i,e){if(!e.length)return i;if(!i.length)return e;let t=i.slice(),n=0;for(let r of e){for(;n(e?e-1:0))return!1;if(this.fragmentEnd<0){let s=this.fragment.to;for(;s>0&&this.input.read(s-1,s)!=` +`;)s--;this.fragmentEnd=s?s-1:0}let n=this.cursor;n||(n=this.cursor=this.fragment.tree.cursor(),n.firstChild());let r=e+this.fragment.offset;for(;n.to<=r;)if(!n.parent())return!1;for(;;){if(n.from>=r)return this.fragment.from<=t;if(!n.childAfter(r))return!1}}matches(e){let t=this.cursor.tree;return t&&t.prop(I.contextHash)==e}takeNodes(e){let t=this.cursor,n=this.fragment.offset,r=this.fragmentEnd-(this.fragment.openEnd?1:0),s=e.absoluteLineStart,o=s,a=e.block.children.length,l=o,c=a;for(;;){if(t.to-n>r){if(t.type.isAnonymous&&t.firstChild())continue;break}let h=Bd(t.from-n,e.ranges);if(t.to-n<=e.ranges[e.rangeI].to)e.addNode(t.tree,h);else{let f=new K(e.parser.nodeSet.types[A.Paragraph],[],[],0,e.block.hashProp);e.reusePlaceholders.set(f,t.tree),e.addNode(f,h)}if(t.type.is("Block")&&(ay.indexOf(t.type.id)<0?(o=t.to-n,a=e.block.children.length):(o=l,a=c),l=t.to-n,c=e.block.children.length),!t.nextSibling())break}for(;e.block.children.length>a;)e.block.children.pop(),e.block.positions.pop();return o-s}};function Bd(i,e){let t=i;for(let n=1;nNs[i]),Object.keys(Ns).map(i=>Ld[i]),Object.keys(Ns),ry,Cd,Object.keys(Gl).map(i=>Gl[i]),Object.keys(Gl),[]);function cy(i,e,t){let n=[];for(let r=i.firstChild,s=e;;r=r.nextSibling){let o=r?r.from:t;if(o>s&&n.push({from:s,to:o}),!r)break;s=r.to}return n}function Gd(i){let{codeParser:e,htmlParser:t}=i;return{wrap:Sn((r,s)=>{let o=r.type.id;if(e&&(o==A.CodeBlock||o==A.FencedCode)){let a="";if(o==A.FencedCode){let c=r.node.getChild(A.CodeInfo);c&&(a=s.read(c.from,c.to))}let l=e(a);if(l)return{parser:l,overlay:c=>c.type.id==A.CodeText,bracketed:o==A.FencedCode}}else if(t&&(o==A.HTMLBlock||o==A.HTMLTag||o==A.CommentBlock))return{parser:t,overlay:cy(r.node,r.from,r.to)};return null})}}var hy={resolve:"Strikethrough",mark:"StrikethroughMark"},fy={defineNodes:[{name:"Strikethrough",style:{"Strikethrough/...":d.strikethrough}},{name:"StrikethroughMark",style:d.processingInstruction}],parseInline:[{name:"Strikethrough",parse(i,e,t){if(e!=126||i.char(t+1)!=126||i.char(t+2)==126)return-1;let n=i.slice(t-1,t),r=i.slice(t+2,t+3),s=/\s|^$/.test(n),o=/\s|^$/.test(r),a=kr.test(n),l=kr.test(r);return i.addDelimiter(hy,t,t+2,!o&&(!l||s||a),!s&&(!a||o||l))},after:"Emphasis"}]};function Sr(i,e,t=0,n,r=0){let s=0,o=!0,a=-1,l=-1,c=!1,h=()=>{n.push(i.elt("TableCell",r+a,r+l,i.parser.parseInline(e.slice(a,l),r+a)))};for(let f=t;f-1)&&s++,o=!1,n&&(a>-1&&h(),n.push(i.elt("TableDelimiter",f+r,f+r+1))),a=l=-1):(c||u!=32&&u!=9)&&(a<0&&(a=f),l=f+1),c=!c&&u==92}return a>-1&&(s++,n&&h()),s}function kd(i,e){for(let t=e;t\s]*\|?(\s*:?-+:?\s*\|)+(\s*:?-+:?\s*)?$/,to=class{constructor(){this.rows=null}nextLine(e,t,n){if(this.rows==null){this.rows=!1;let r;if((t.next==45||t.next==58||t.next==124)&&Nd.test(r=t.text.slice(t.pos))){let s=[];Sr(e,n.content,0,s,n.start)==Sr(e,r,0)&&(this.rows=[e.elt("TableHeader",n.start,n.start+n.content.length,s),e.elt("TableDelimiter",e.lineStart+t.pos,e.lineStart+t.text.length)])}}else if(this.rows){let r=[];Sr(e,t.text,t.pos,r,e.lineStart),this.rows.push(e.elt("TableRow",e.lineStart+t.pos,e.lineStart+t.text.length,r))}return!1}finish(e,t){return this.rows?(e.addLeafElement(t,e.elt("Table",t.start,t.start+t.content.length,this.rows)),!0):!1}},uy={defineNodes:[{name:"Table",block:!0},{name:"TableHeader",style:{"TableHeader/...":d.heading}},"TableRow",{name:"TableCell",style:d.content},{name:"TableDelimiter",style:d.processingInstruction}],parseBlock:[{name:"Table",leaf(i,e){return kd(e.content,0)?new to:null},endLeaf(i,e,t){if(t.parsers.some(r=>r instanceof to)||!kd(e.text,e.basePos))return!1;let n=i.peekLine();return Nd.test(n)&&Sr(i,e.text,e.basePos)==Sr(i,n,e.basePos)},before:"SetextHeading"}]},sc=class{nextLine(){return!1}finish(e,t){return e.addLeafElement(t,e.elt("Task",t.start,t.start+t.content.length,[e.elt("TaskMarker",t.start,t.start+3),...e.parser.parseInline(t.content.slice(3),t.start+3)])),!0}},Oy={defineNodes:[{name:"Task",block:!0,style:d.list},{name:"TaskMarker",style:d.atom}],parseBlock:[{name:"TaskList",leaf(i,e){return/^\[[ xX]\][ \t]/.test(e.content)&&i.parentType().name=="ListItem"?new sc:null},after:"SetextHeading"}]},xd=/(www\.)|(https?:\/\/)|([\w.+-]{1,100}@)|(mailto:|xmpp:)/gy,wd=/[\w-]+(\.[\w-]+)+(:\d+)?(\/[^\s<]*)?/gy,dy=/[\w-]+\.[\w-]+($|[/:])/,Pd=/[\w.+-]+@[\w-]+(\.[\w.-]+)+/gy,vd=/\/[a-zA-Z\d@.]+/gy;function $d(i,e,t,n){let r=0;for(let s=e;s-1)return-1;let n=e+t[0].length;for(;;){let r=i[n-1],s;if(/[?!.,:*_~]/.test(r)||r==")"&&$d(i,e,n,")")>$d(i,e,n,"("))n--;else if(r==";"&&(s=/&(?:#\d+|#x[a-f\d]+|\w+);$/.exec(i.slice(e,n))))n=e+s.index;else break}return n}function Td(i,e){Pd.lastIndex=e;let t=Pd.exec(i);if(!t)return-1;let n=t[0][t[0].length-1];return n=="_"||n=="-"?-1:e+t[0].length-(n=="."?1:0)}var my={parseInline:[{name:"Autolink",parse(i,e,t){let n=t-i.offset;if(n&&/\w/.test(i.text[n-1]))return-1;xd.lastIndex=n;let r=xd.exec(i.text),s=-1;if(!r)return-1;if(r[1]||r[2]){if(s=py(i.text,n+r[0].length),s>-1&&i.hasOpenLink){let o=/([^\[\]]|\[[^\]]*\])*/.exec(i.text.slice(n,s));s=n+o[0].length}}else r[3]?s=Td(i.text,n):(s=Td(i.text,n+r[0].length),s>-1&&r[0]=="xmpp:"&&(vd.lastIndex=s,r=vd.exec(i.text),r&&(s=r.index+r[0].length)));return s<0?-1:(i.addElement(i.elt("URL",t,s+i.offset)),s+i.offset)}}]},Fd=[uy,Oy,fy,my];function Hd(i,e,t){return(n,r,s)=>{if(r!=i||n.char(s+1)==i)return-1;let o=[n.elt(t,s,s+1)];for(let a=s+1;at%3==0).concat(this.state)}]@${this.pos}${this.score?"!"+this.score:""}`}static start(e,t,n=0){let r=e.parser.context;return new i(e,[],t,n,n,0,[],0,r?new io(r,r.start):null,0,null)}get context(){return this.curContext?this.curContext.context:null}pushState(e,t){this.stack.push(this.state,t,this.bufferBase+this.buffer.length),this.state=e}reduce(e){var t;let n=e>>19,r=e&65535,{parser:s}=this.p,o=this.reducePos=2e3&&!(!((t=this.p.parser.nodeSet.types[r])===null||t===void 0)&&t.isAnonymous)&&(c==this.p.lastBigReductionStart?(this.p.bigReductionCount++,this.p.lastBigReductionSize=h):this.p.lastBigReductionSizel;)this.stack.pop();this.reduceContext(r,c)}storeNode(e,t,n,r=4,s=!1){if(e==0&&(!this.stack.length||this.stack[this.stack.length-1]0&&this.buffer[o-4]==0&&this.buffer[o-1]>-1){if(t==n)return;if(this.buffer[o-2]>=t){this.buffer[o-2]=n;return}}}if(!s||this.pos==n)this.buffer.push(e,t,n,r);else{let o=this.buffer.length;if(o>0&&(this.buffer[o-4]!=0||this.buffer[o-1]<0)){let a=!1;for(let l=o;l>0&&this.buffer[l-2]>n;l-=4)if(this.buffer[l-1]>=0){a=!0;break}if(a)for(;o>0&&this.buffer[o-2]>n;)this.buffer[o]=this.buffer[o-4],this.buffer[o+1]=this.buffer[o-3],this.buffer[o+2]=this.buffer[o-2],this.buffer[o+3]=this.buffer[o-1],o-=4,r>4&&(r-=4)}this.buffer[o]=e,this.buffer[o+1]=t,this.buffer[o+2]=n,this.buffer[o+3]=r}}shift(e,t,n,r){if(e&131072)this.pushState(e&65535,this.pos);else if((e&262144)==0){let s=e,{parser:o}=this.p;this.pos=r;let a=o.stateFlag(s,1);!a&&(r>n||t<=o.maxNode)&&(this.reducePos=r),this.pushState(s,a?n:Math.min(n,this.reducePos)),this.shiftContext(t,n),t<=o.maxNode&&this.buffer.push(t,n,r,4)}else this.pos=r,this.shiftContext(t,n),t<=this.p.parser.maxNode&&this.buffer.push(t,n,r,4)}apply(e,t,n,r){e&65536?this.reduce(e):this.shift(e,t,n,r)}useNode(e,t){let n=this.p.reused.length-1;(n<0||this.p.reused[n]!=e)&&(this.p.reused.push(e),n++);let r=this.pos;this.reducePos=this.pos=r+e.length,this.pushState(t,r),this.buffer.push(n,r,this.reducePos,-1),this.curContext&&this.updateContext(this.curContext.tracker.reuse(this.curContext.context,e,this,this.p.stream.reset(this.pos-e.length)))}split(){let e=this,t=e.buffer.length;for(t&&e.buffer[t-4]==0&&(t-=4);t>0&&e.buffer[t-2]>e.reducePos;)t-=4;let n=e.buffer.slice(t),r=e.bufferBase+t;for(;e&&r==e.bufferBase;)e=e.parent;return new i(this.p,this.stack.slice(),this.state,this.reducePos,this.pos,this.score,n,r,this.curContext,this.lookAhead,e)}recoverByDelete(e,t){let n=e<=this.p.parser.maxNode;n&&this.storeNode(e,this.pos,t,4),this.storeNode(0,this.pos,t,n?8:4),this.pos=this.reducePos=t,this.score-=190}canShift(e){for(let t=new uc(this);;){let n=this.p.parser.stateSlot(t.state,4)||this.p.parser.hasAction(t.state,e);if(n==0)return!1;if((n&65536)==0)return!0;t.reduce(n)}}recoverByInsert(e){if(this.stack.length>=300)return[];let t=this.p.parser.nextStates(this.state);if(t.length>8||this.stack.length>=120){let r=[];for(let s=0,o;sl&1&&a==o)||r.push(t[s],o)}t=r}let n=[];for(let r=0;r>19,r=t&65535,s=this.stack.length-n*3;if(s<0||e.getGoto(this.stack[s],r,!1)<0){let o=this.findForcedReduction();if(o==null)return!1;t=o}this.storeNode(0,this.pos,this.pos,4,!0),this.score-=100}return this.reducePos=this.pos,this.reduce(t),!0}findForcedReduction(){let{parser:e}=this.p,t=[],n=(r,s)=>{if(!t.includes(r))return t.push(r),e.allActions(r,o=>{if(!(o&393216))if(o&65536){let a=(o>>19)-s;if(a>1){let l=o&65535,c=this.stack.length-a*3;if(c>=0&&e.getGoto(this.stack[c],l,!1)>=0)return a<<19|65536|l}}else{let a=n(o,s+1);if(a!=null)return a}})};return n(this.state,0)}forceAll(){for(;!this.p.parser.stateFlag(this.state,2);)if(!this.forceReduce()){this.storeNode(0,this.pos,this.pos,4,!0);break}return this}get deadEnd(){if(this.stack.length!=3)return!1;let{parser:e}=this.p;return e.data[e.stateSlot(this.state,1)]==65535&&!e.stateSlot(this.state,4)}restart(){this.storeNode(0,this.pos,this.pos,4,!0),this.state=this.stack[0],this.stack.length=0}sameState(e){if(this.state!=e.state||this.stack.length!=e.stack.length)return!1;for(let t=0;t0&&this.emitLookAhead()}},io=class{constructor(e,t){this.tracker=e,this.context=t,this.hash=e.strict?e.hash(t):0}},uc=class{constructor(e){this.start=e,this.state=e.state,this.stack=e.stack,this.base=this.stack.length}reduce(e){let t=e&65535,n=e>>19;n==0?(this.stack==this.start.stack&&(this.stack=this.stack.slice()),this.stack.push(this.state,0,0),this.base+=3):this.base-=(n-1)*3;let r=this.start.p.parser.getGoto(this.stack[this.base-3],t,!0);this.state=r}},Oc=class i{constructor(e,t,n){this.stack=e,this.pos=t,this.index=n,this.buffer=e.buffer,this.index==0&&this.maybeNext()}static create(e,t=e.bufferBase+e.buffer.length){return new i(e,t,t-e.bufferBase)}maybeNext(){let e=this.stack.parent;e!=null&&(this.index=this.stack.bufferBase-e.bufferBase,this.stack=e,this.buffer=e.buffer)}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}next(){this.index-=4,this.pos-=4,this.index==0&&this.maybeNext()}fork(){return new i(this.stack,this.pos,this.index)}};function wr(i,e=Uint16Array){if(typeof i!="string")return i;let t=null;for(let n=0,r=0;n=92&&o--,o>=34&&o--;let l=o-32;if(l>=46&&(l-=46,a=!0),s+=l,a)break;s*=46}t?t[r++]=s:t=new e(s)}return t}var $n=class{constructor(){this.start=-1,this.value=-1,this.end=-1,this.extended=-1,this.lookAhead=0,this.mask=0,this.context=0}},tp=new $n,dc=class{constructor(e,t){this.input=e,this.ranges=t,this.chunk="",this.chunkOff=0,this.chunk2="",this.chunk2Pos=0,this.next=-1,this.token=tp,this.rangeIndex=0,this.pos=this.chunkPos=t[0].from,this.range=t[0],this.end=t[t.length-1].to,this.readNext()}resolveOffset(e,t){let n=this.range,r=this.rangeIndex,s=this.pos+e;for(;sn.to:s>=n.to;){if(r==this.ranges.length-1)return null;let o=this.ranges[++r];s+=o.from-n.to,n=o}return s}clipPos(e){if(e>=this.range.from&&ee)return Math.max(e,t.from);return this.end}peek(e){let t=this.chunkOff+e,n,r;if(t>=0&&t=this.chunk2Pos&&na.to&&(this.chunk2=this.chunk2.slice(0,a.to-n)),r=this.chunk2.charCodeAt(0)}}return n>=this.token.lookAhead&&(this.token.lookAhead=n+1),r}acceptToken(e,t=0){let n=t?this.resolveOffset(t,-1):this.pos;if(n==null||n=this.chunk2Pos&&this.posthis.range.to?e.slice(0,this.range.to-this.pos):e,this.chunkPos=this.pos,this.chunkOff=0}}readNext(){return this.chunkOff>=this.chunk.length&&(this.getChunk(),this.chunkOff==this.chunk.length)?this.next=-1:this.next=this.chunk.charCodeAt(this.chunkOff)}advance(e=1){for(this.chunkOff+=e;this.pos+e>=this.range.to;){if(this.rangeIndex==this.ranges.length-1)return this.setDone();e-=this.range.to-this.pos,this.range=this.ranges[++this.rangeIndex],this.pos=this.range.from}return this.pos+=e,this.pos>=this.token.lookAhead&&(this.token.lookAhead=this.pos+1),this.readNext()}setDone(){return this.pos=this.chunkPos=this.end,this.range=this.ranges[this.rangeIndex=this.ranges.length-1],this.chunk="",this.next=-1}reset(e,t){if(t?(this.token=t,t.start=e,t.lookAhead=e+1,t.value=t.extended=-1):this.token=tp,this.pos!=e){if(this.pos=e,e==this.end)return this.setDone(),this;for(;e=this.range.to;)this.range=this.ranges[++this.rangeIndex];e>=this.chunkPos&&e=this.chunkPos&&t<=this.chunkPos+this.chunk.length)return this.chunk.slice(e-this.chunkPos,t-this.chunkPos);if(e>=this.chunk2Pos&&t<=this.chunk2Pos+this.chunk2.length)return this.chunk2.slice(e-this.chunk2Pos,t-this.chunk2Pos);if(e>=this.range.from&&t<=this.range.to)return this.input.read(e,t);let n="";for(let r of this.ranges){if(r.from>=t)break;r.to>e&&(n+=this.input.read(Math.max(r.from,e),Math.min(r.to,t)))}return n}},yi=class{constructor(e,t){this.data=e,this.id=t}token(e,t){let{parser:n}=t.p;op(this.data,e,t,this.id,n.data,n.tokenPrecTable)}};yi.prototype.contextual=yi.prototype.fallback=yi.prototype.extend=!1;var ki=class{constructor(e,t,n){this.precTable=t,this.elseToken=n,this.data=typeof e=="string"?wr(e):e}token(e,t){let n=e.pos,r=0;for(;;){let s=e.next<0,o=e.resolveOffset(1,1);if(op(this.data,e,t,0,this.data,this.precTable),e.token.value>-1)break;if(this.elseToken==null)return;if(s||r++,o==null)break;e.reset(o,e.token)}r&&(e.reset(n,e.token),e.acceptToken(this.elseToken,r))}};ki.prototype.contextual=yi.prototype.fallback=yi.prototype.extend=!1;var ee=class{constructor(e,t={}){this.token=e,this.contextual=!!t.contextual,this.fallback=!!t.fallback,this.extend=!!t.extend}};function op(i,e,t,n,r,s){let o=0,a=1<0){let m=i[O];if(l.allows(m)&&(e.token.value==-1||e.token.value==m||Qy(m,e.token.value,r,s))){e.acceptToken(m);break}}let h=e.next,f=0,u=i[o+2];if(e.next<0&&u>f&&i[c+u*3-3]==65535){o=i[c+u*3-1];continue e}for(;f>1,m=c+O+(O<<1),p=i[m],b=i[m+1]||65536;if(h=b)f=O+1;else{o=i[m+2],e.advance();continue e}}break}}function ip(i,e,t){for(let n=e,r;(r=i[n])!=65535;n++)if(r==t)return n-e;return-1}function Qy(i,e,t,n){let r=ip(t,n,e);return r<0||ip(t,n,i)e)&&!n.type.isError)return t<0?Math.max(0,Math.min(n.to-1,e-25)):Math.min(i.length,Math.max(n.from+1,e+25));if(t<0?n.prevSibling():n.nextSibling())break;if(!n.parent())return t<0?0:i.length}}var pc=class{constructor(e,t){this.fragments=e,this.nodeSet=t,this.i=0,this.fragment=null,this.safeFrom=-1,this.safeTo=-1,this.trees=[],this.start=[],this.index=[],this.nextFragment()}nextFragment(){let e=this.fragment=this.i==this.fragments.length?null:this.fragments[this.i++];if(e){for(this.safeFrom=e.openStart?np(e.tree,e.from+e.offset,1)-e.offset:e.from,this.safeTo=e.openEnd?np(e.tree,e.to+e.offset,-1)-e.offset:e.to;this.trees.length;)this.trees.pop(),this.start.pop(),this.index.pop();this.trees.push(e.tree),this.start.push(-e.offset),this.index.push(0),this.nextStart=this.safeFrom}else this.nextStart=1e9}nodeAt(e){if(ee)return this.nextStart=o,null;if(s instanceof K){if(o==e){if(o=Math.max(this.safeFrom,e)&&(this.trees.push(s),this.start.push(o),this.index.push(0))}else this.index[t]++,this.nextStart=o+s.length}}},mc=class{constructor(e,t){this.stream=t,this.tokens=[],this.mainToken=null,this.actions=[],this.tokens=e.tokenizers.map(n=>new $n)}getActions(e){let t=0,n=null,{parser:r}=e.p,{tokenizers:s}=r,o=r.stateSlot(e.state,3),a=e.curContext?e.curContext.hash:0,l=0;for(let c=0;cf.end+25&&(l=Math.max(f.lookAhead,l)),f.value!=0)){let u=t;if(f.extended>-1&&(t=this.addActions(e,f.extended,f.end,t)),t=this.addActions(e,f.value,f.end,t),!h.extend&&(n=f,t>u))break}}for(;this.actions.length>t;)this.actions.pop();return l&&e.setLookAhead(l),!n&&e.pos==this.stream.end&&(n=new $n,n.value=e.p.parser.eofTerm,n.start=n.end=e.pos,t=this.addActions(e,n.value,n.end,t)),this.mainToken=n,this.actions}getMainToken(e){if(this.mainToken)return this.mainToken;let t=new $n,{pos:n,p:r}=e;return t.start=n,t.end=Math.min(n+1,r.stream.end),t.value=n==r.stream.end?r.parser.eofTerm:0,t}updateCachedToken(e,t,n){let r=this.stream.clipPos(n.pos);if(t.token(this.stream.reset(r,e),n),e.value>-1){let{parser:s}=n.p;for(let o=0;o=0&&n.p.parser.dialect.allows(a>>1)){(a&1)==0?e.value=a>>1:e.extended=a>>1;break}}}else e.value=0,e.end=this.stream.clipPos(r+1)}putAction(e,t,n,r){for(let s=0;se.bufferLength*4?new pc(n,e.nodeSet):null}get parsedPos(){return this.minStackPos}advance(){let e=this.stacks,t=this.minStackPos,n=this.stacks=[],r,s;if(this.bigReductionCount>300&&e.length==1){let[o]=e;for(;o.forceReduce()&&o.stack.length&&o.stack[o.stack.length-2]>=this.lastBigReductionStart;);this.bigReductionCount=this.lastBigReductionSize=0}for(let o=0;ot)n.push(a);else{if(this.advanceStack(a,n,e))continue;{r||(r=[],s=[]),r.push(a);let l=this.tokens.getMainToken(a);s.push(l.value,l.end)}}break}}if(!n.length){let o=r&&by(r);if(o)return tt&&console.log("Finish with "+this.stackID(o)),this.stackToTree(o);if(this.parser.strict)throw tt&&r&&console.log("Stuck with token "+(this.tokens.mainToken?this.parser.getName(this.tokens.mainToken.value):"none")),new SyntaxError("No parse at "+t);this.recovering||(this.recovering=5)}if(this.recovering&&r){let o=this.stoppedAt!=null&&r[0].pos>this.stoppedAt?r[0]:this.runRecovery(r,s,n);if(o)return tt&&console.log("Force-finish "+this.stackID(o)),this.stackToTree(o.forceAll())}if(this.recovering){let o=this.recovering==1?1:this.recovering*3;if(n.length>o)for(n.sort((a,l)=>l.score-a.score);n.length>o;)n.pop();n.some(a=>a.reducePos>t)&&this.recovering--}else if(n.length>1){e:for(let o=0;o500&&c.buffer.length>500)if((a.score-c.score||a.buffer.length-c.buffer.length)>0)n.splice(l--,1);else{n.splice(o--,1);continue e}}}n.length>12&&(n.sort((o,a)=>a.score-o.score),n.splice(12,n.length-12))}this.minStackPos=n[0].pos;for(let o=1;o ":"";if(this.stoppedAt!=null&&r>this.stoppedAt)return e.forceReduce()?e:null;if(this.fragments){let c=e.curContext&&e.curContext.tracker.strict,h=c?e.curContext.hash:0;for(let f=this.fragments.nodeAt(r);f;){let u=this.parser.nodeSet.types[f.type.id]==f.type?s.getGoto(e.state,f.type.id):-1;if(u>-1&&f.length&&(!c||(f.prop(I.contextHash)||0)==h))return e.useNode(f,u),tt&&console.log(o+this.stackID(e)+` (via reuse of ${s.getName(f.type.id)})`),!0;if(!(f instanceof K)||f.children.length==0||f.positions[0]>0)break;let O=f.children[0];if(O instanceof K&&f.positions[0]==0)f=O;else break}}let a=s.stateSlot(e.state,4);if(a>0)return e.reduce(a),tt&&console.log(o+this.stackID(e)+` (via always-reduce ${s.getName(a&65535)})`),!0;if(e.stack.length>=8400)for(;e.stack.length>6e3&&e.forceReduce(););let l=this.tokens.getActions(e);for(let c=0;cr?t.push(m):n.push(m)}return!1}advanceFully(e,t){let n=e.pos;for(;;){if(!this.advanceStack(e,null,null))return!1;if(e.pos>n)return rp(e,t),!0}}runRecovery(e,t,n){let r=null,s=!1;for(let o=0;o ":"";if(a.deadEnd&&(s||(s=!0,a.restart(),tt&&console.log(h+this.stackID(a)+" (restarted)"),this.advanceFully(a,n))))continue;let f=a.split(),u=h;for(let O=0;O<10&&f.forceReduce()&&(tt&&console.log(u+this.stackID(f)+" (via force-reduce)"),!this.advanceFully(f,n));O++)tt&&(u=this.stackID(f)+" -> ");for(let O of a.recoverByInsert(l))tt&&console.log(h+this.stackID(O)+" (via recover-insert)"),this.advanceFully(O,n);this.stream.end>a.pos?(c==a.pos&&(c++,l=0),a.recoverByDelete(l,c),tt&&console.log(h+this.stackID(a)+` (via recover-delete ${this.parser.getName(l)})`),rp(a,n)):(!r||r.scorei,Qt=class{constructor(e){this.start=e.start,this.shift=e.shift||hc,this.reduce=e.reduce||hc,this.reuse=e.reuse||hc,this.hash=e.hash||(()=>0),this.strict=e.strict!==!1}},ve=class i extends Ut{constructor(e){if(super(),this.wrappers=[],e.version!=14)throw new RangeError(`Parser version (${e.version}) doesn't match runtime version (14)`);let t=e.nodeNames.split(" ");this.minRepeatTerm=t.length;for(let a=0;ae.topRules[a][1]),r=[];for(let a=0;a=0)s(h,l,a[c++]);else{let f=a[c+-h];for(let u=-h;u>0;u--)s(a[c++],l,f);c++}}}this.nodeSet=new It(t.map((a,l)=>de.define({name:l>=this.minRepeatTerm?void 0:a,id:l,props:r[l],top:n.indexOf(l)>-1,error:l==0,skipped:e.skippedNodes&&e.skippedNodes.indexOf(l)>-1}))),e.propSources&&(this.nodeSet=this.nodeSet.extend(...e.propSources)),this.strict=!1,this.bufferLength=1024;let o=wr(e.tokenData);this.context=e.context,this.specializerSpecs=e.specialized||[],this.specialized=new Uint16Array(this.specializerSpecs.length);for(let a=0;atypeof a=="number"?new yi(o,a):a),this.topRules=e.topRules,this.dialects=e.dialects||{},this.dynamicPrecedences=e.dynamicPrecedences||null,this.tokenPrecTable=e.tokenPrec,this.termNames=e.termNames||null,this.maxNode=this.nodeSet.types.length-1,this.dialect=this.parseDialect(),this.top=this.topRules[Object.keys(this.topRules)[0]]}createParse(e,t,n){let r=new gc(this,e,t,n);for(let s of this.wrappers)r=s(r,e,t,n);return r}getGoto(e,t,n=!1){let r=this.goto;if(t>=r[0])return-1;for(let s=r[t+1];;){let o=r[s++],a=o&1,l=r[s++];if(a&&n)return l;for(let c=s+(o>>1);s0}validAction(e,t){return!!this.allActions(e,n=>n==t?!0:null)}allActions(e,t){let n=this.stateSlot(e,4),r=n?t(n):void 0;for(let s=this.stateSlot(e,1);r==null;s+=3){if(this.data[s]==65535)if(this.data[s+1]==1)s=Nt(this.data,s+2);else break;r=t(Nt(this.data,s+1))}return r}nextStates(e){let t=[];for(let n=this.stateSlot(e,1);;n+=3){if(this.data[n]==65535)if(this.data[n+1]==1)n=Nt(this.data,n+2);else break;if((this.data[n+2]&1)==0){let r=this.data[n+1];t.some((s,o)=>o&1&&s==r)||t.push(this.data[n],r)}}return t}configure(e){let t=Object.assign(Object.create(i.prototype),this);if(e.props&&(t.nodeSet=this.nodeSet.extend(...e.props)),e.top){let n=this.topRules[e.top];if(!n)throw new RangeError(`Invalid top rule name ${e.top}`);t.top=n}return e.tokenizers&&(t.tokenizers=this.tokenizers.map(n=>{let r=e.tokenizers.find(s=>s.from==n);return r?r.to:n})),e.specializers&&(t.specializers=this.specializers.slice(),t.specializerSpecs=this.specializerSpecs.map((n,r)=>{let s=e.specializers.find(a=>a.from==n.external);if(!s)return n;let o=Object.assign(Object.assign({},n),{external:s.to});return t.specializers[r]=sp(o),o})),e.contextTracker&&(t.context=e.contextTracker),e.dialect&&(t.dialect=this.parseDialect(e.dialect)),e.strict!=null&&(t.strict=e.strict),e.wrap&&(t.wrappers=t.wrappers.concat(e.wrap)),e.bufferLength!=null&&(t.bufferLength=e.bufferLength),t}hasWrappers(){return this.wrappers.length>0}getName(e){return this.termNames?this.termNames[e]:String(e<=this.maxNode&&this.nodeSet.types[e].name||e)}get eofTerm(){return this.maxNode+1}get topNode(){return this.nodeSet.types[this.top[1]]}dynamicPrecedence(e){let t=this.dynamicPrecedences;return t==null?0:t[e]||0}parseDialect(e){let t=Object.keys(this.dialects),n=t.map(()=>!1);if(e)for(let s of e.split(" ")){let o=t.indexOf(s);o>=0&&(n[o]=!0)}let r=null;for(let s=0;sn)&&t.p.parser.stateFlag(t.state,2)&&(!e||e.scorei.external(t,n)<<1|e}return i.get}var Sy=55,yy=1,ky=56,xy=2,wy=57,Py=3,ap=4,vy=5,xc=6,pp=7,mp=8,gp=9,Qp=10,$y=11,Ty=12,Cy=13,bc=58,Xy=14,_y=15,lp=59,bp=21,Ry=23,Sp=24,Ay=25,yc=27,yp=28,Zy=29,Ey=32,qy=35,zy=37,Ly=38,My=0,Wy=1,jy={area:!0,base:!0,br:!0,col:!0,command:!0,embed:!0,frame:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0,menuitem:!0},Vy={dd:!0,li:!0,optgroup:!0,option:!0,p:!0,rp:!0,rt:!0,tbody:!0,td:!0,tfoot:!0,th:!0,tr:!0},cp={dd:{dd:!0,dt:!0},dt:{dd:!0,dt:!0},li:{li:!0},option:{option:!0,optgroup:!0},optgroup:{optgroup:!0},p:{address:!0,article:!0,aside:!0,blockquote:!0,dir:!0,div:!0,dl:!0,fieldset:!0,footer:!0,form:!0,h1:!0,h2:!0,h3:!0,h4:!0,h5:!0,h6:!0,header:!0,hgroup:!0,hr:!0,menu:!0,nav:!0,ol:!0,p:!0,pre:!0,section:!0,table:!0,ul:!0},rp:{rp:!0,rt:!0},rt:{rp:!0,rt:!0},tbody:{tbody:!0,tfoot:!0},td:{td:!0,th:!0},tfoot:{tbody:!0},th:{td:!0,th:!0},thead:{tbody:!0,tfoot:!0},tr:{tr:!0}};function Dy(i){return i==45||i==46||i==58||i>=65&&i<=90||i==95||i>=97&&i<=122||i>=161}var hp=null,fp=null,up=0;function kc(i,e){let t=i.pos+e;if(up==t&&fp==i)return hp;let n=i.peek(e),r="";for(;Dy(n);)r+=String.fromCharCode(n),n=i.peek(++e);return fp=i,up=t,hp=r?r.toLowerCase():n==Yy||n==Iy?void 0:null}var kp=60,no=62,wc=47,Yy=63,Iy=33,By=45;function Op(i,e){this.name=i,this.parent=e}var Uy=[xc,Qp,pp,mp,gp],Gy=new Qt({start:null,shift(i,e,t,n){return Uy.indexOf(e)>-1?new Op(kc(n,1)||"",i):i},reduce(i,e){return e==bp&&i?i.parent:i},reuse(i,e,t,n){let r=e.type.id;return r==xc||r==zy?new Op(kc(n,1)||"",i):i},strict:!1}),Ny=new ee((i,e)=>{if(i.next!=kp){i.next<0&&e.context&&i.acceptToken(bc);return}i.advance();let t=i.next==wc;t&&i.advance();let n=kc(i,0);if(n===void 0)return;if(!n)return i.acceptToken(t?_y:Xy);let r=e.context?e.context.name:null;if(t){if(n==r)return i.acceptToken($y);if(r&&Vy[r])return i.acceptToken(bc,-2);if(e.dialectEnabled(My))return i.acceptToken(Ty);for(let s=e.context;s;s=s.parent)if(s.name==n)return;i.acceptToken(Cy)}else{if(n=="script")return i.acceptToken(pp);if(n=="style")return i.acceptToken(mp);if(n=="textarea")return i.acceptToken(gp);if(jy.hasOwnProperty(n))return i.acceptToken(Qp);r&&cp[r]&&cp[r][n]?i.acceptToken(bc,-1):i.acceptToken(xc)}},{contextual:!0}),Fy=new ee(i=>{for(let e=0,t=0;;t++){if(i.next<0){t&&i.acceptToken(lp);break}if(i.next==By)e++;else if(i.next==no&&e>=2){t>=3&&i.acceptToken(lp,-2);break}else e=0;i.advance()}});function Hy(i){for(;i;i=i.parent)if(i.name=="svg"||i.name=="math")return!0;return!1}var Ky=new ee((i,e)=>{if(i.next==wc&&i.peek(1)==no){let t=e.dialectEnabled(Wy)||Hy(e.context);i.acceptToken(t?vy:ap,2)}else i.next==no&&i.acceptToken(ap,1)});function Pc(i,e,t){let n=2+i.length;return new ee(r=>{for(let s=0,o=0,a=0;;a++){if(r.next<0){a&&r.acceptToken(e);break}if(s==0&&r.next==kp||s==1&&r.next==wc||s>=2&&so?r.acceptToken(e,-o):r.acceptToken(t,-(o-2));break}else if((r.next==10||r.next==13)&&a){r.acceptToken(e,1);break}else s=o=0;r.advance()}})}var Jy=Pc("script",Sy,yy),ek=Pc("style",ky,xy),tk=Pc("textarea",wy,Py),ik=Qe({"Text RawText IncompleteTag IncompleteCloseTag":d.content,"StartTag StartCloseTag SelfClosingEndTag EndTag":d.angleBracket,TagName:d.tagName,"MismatchedCloseTag/TagName":[d.tagName,d.invalid],AttributeName:d.attributeName,"AttributeValue UnquotedAttributeValue":d.attributeValue,Is:d.definitionOperator,"EntityReference CharacterReference":d.character,Comment:d.blockComment,ProcessingInst:d.processingInstruction,DoctypeDecl:d.documentMeta}),xp=ve.deserialize({version:14,states:",xOVO!rOOO!ZQ#tO'#CrO!`Q#tO'#C{O!eQ#tO'#DOO!jQ#tO'#DRO!oQ#tO'#DTO!tOaO'#CqO#PObO'#CqO#[OdO'#CqO$kO!rO'#CqOOO`'#Cq'#CqO$rO$fO'#DUO$zQ#tO'#DWO%PQ#tO'#DXOOO`'#Dl'#DlOOO`'#DZ'#DZQVO!rOOO%UQ&rO,59^O%aQ&rO,59gO%lQ&rO,59jO%wQ&rO,59mO&SQ&rO,59oOOOa'#D_'#D_O&_OaO'#CyO&jOaO,59]OOOb'#D`'#D`O&rObO'#C|O&}ObO,59]OOOd'#Da'#DaO'VOdO'#DPO'bOdO,59]OOO`'#Db'#DbO'jO!rO,59]O'qQ#tO'#DSOOO`,59],59]OOOp'#Dc'#DcO'vO$fO,59pOOO`,59p,59pO(OQ#|O,59rO(TQ#|O,59sOOO`-E7X-E7XO(YQ&rO'#CtOOQW'#D['#D[O(hQ&rO1G.xOOOa1G.x1G.xOOO`1G/Z1G/ZO(sQ&rO1G/ROOOb1G/R1G/RO)OQ&rO1G/UOOOd1G/U1G/UO)ZQ&rO1G/XOOO`1G/X1G/XO)fQ&rO1G/ZOOOa-E7]-E7]O)qQ#tO'#CzOOO`1G.w1G.wOOOb-E7^-E7^O)vQ#tO'#C}OOOd-E7_-E7_O){Q#tO'#DQOOO`-E7`-E7`O*QQ#|O,59nOOOp-E7a-E7aOOO`1G/[1G/[OOO`1G/^1G/^OOO`1G/_1G/_O*VQ,UO,59`OOQW-E7Y-E7YOOOa7+$d7+$dOOO`7+$u7+$uOOOb7+$m7+$mOOOd7+$p7+$pOOO`7+$s7+$sO*bQ#|O,59fO*gQ#|O,59iO*lQ#|O,59lOOO`1G/Y1G/YO*qO7[O'#CwO+SOMhO'#CwOOQW1G.z1G.zOOO`1G/Q1G/QOOO`1G/T1G/TOOO`1G/W1G/WOOOO'#D]'#D]O+eO7[O,59cOOQW,59c,59cOOOO'#D^'#D^O+vOMhO,59cOOOO-E7Z-E7ZOOQW1G.}1G.}OOOO-E7[-E7[",stateData:",c~O!_OS~OUSOVPOWQOXROYTO[]O][O^^O_^Oa^Ob^Oc^Od^Oy^O|_O!eZO~OgaO~OgbO~OgcO~OgdO~OgeO~O!XfOPmP![mP~O!YiOQpP![pP~O!ZlORsP![sP~OUSOVPOWQOXROYTOZqO[]O][O^^O_^Oa^Ob^Oc^Od^Oy^O!eZO~O![rO~P#gO!]sO!fuO~OgvO~OgwO~OS|OT}OiyO~OS!POT}OiyO~OS!ROT}OiyO~OS!TOT}OiyO~OS}OT}OiyO~O!XfOPmX![mX~OP!WO![!XO~O!YiOQpX![pX~OQ!ZO![!XO~O!ZlORsX![sX~OR!]O![!XO~O![!XO~P#gOg!_O~O!]sO!f!aO~OS!bO~OS!cO~Oj!dOShXThXihX~OS!fOT!gOiyO~OS!hOT!gOiyO~OS!iOT!gOiyO~OS!jOT!gOiyO~OS!gOT!gOiyO~Og!kO~Og!lO~Og!mO~OS!nO~Ol!qO!a!oO!c!pO~OS!rO~OS!sO~OS!tO~Ob!uOc!uOd!uO!a!wO!b!uO~Ob!xOc!xOd!xO!c!wO!d!xO~Ob!uOc!uOd!uO!a!{O!b!uO~Ob!xOc!xOd!xO!c!{O!d!xO~OT~cbd!ey|!e~",goto:"%q!aPPPPPPPPPPPPPPPPPPPPP!b!hP!nPP!zP!}#Q#T#Z#^#a#g#j#m#s#y!bP!b!bP$P$V$m$s$y%P%V%]%cPPPPPPPP%iX^OX`pXUOX`pezabcde{!O!Q!S!UR!q!dRhUR!XhXVOX`pRkVR!XkXWOX`pRnWR!XnXXOX`pQrXR!XpXYOX`pQ`ORx`Q{aQ!ObQ!QcQ!SdQ!UeZ!e{!O!Q!S!UQ!v!oR!z!vQ!y!pR!|!yQgUR!VgQjVR!YjQmWR![mQpXR!^pQtZR!`tS_O`ToXp",nodeNames:"\u26A0 StartCloseTag StartCloseTag StartCloseTag EndTag SelfClosingEndTag StartTag StartTag StartTag StartTag StartTag StartCloseTag StartCloseTag StartCloseTag IncompleteTag IncompleteCloseTag Document Text EntityReference CharacterReference InvalidEntity Element OpenTag TagName Attribute AttributeName Is AttributeValue UnquotedAttributeValue ScriptText CloseTag OpenTag StyleText CloseTag OpenTag TextareaText CloseTag OpenTag CloseTag SelfClosingTag Comment ProcessingInst MismatchedCloseTag CloseTag DoctypeDecl",maxTerm:68,context:Gy,nodeProps:[["closedBy",-10,1,2,3,7,8,9,10,11,12,13,"EndTag",6,"EndTag SelfClosingEndTag",-4,22,31,34,37,"CloseTag"],["openedBy",4,"StartTag StartCloseTag",5,"StartTag",-4,30,33,36,38,"OpenTag"],["group",-10,14,15,18,19,20,21,40,41,42,43,"Entity",17,"Entity TextContent",-3,29,32,35,"TextContent Entity"],["isolate",-11,22,30,31,33,34,36,37,38,39,42,43,"ltr",-3,27,28,40,""]],propSources:[ik],skippedNodes:[0],repeatNodeCount:9,tokenData:"!]tw8twx7Sx!P8t!P!Q5u!Q!]8t!]!^/^!^!a7S!a#S8t#S#T;{#T#s8t#s$f5u$f;'S8t;'S;=`>V<%l?Ah8t?Ah?BY5u?BY?Mn8t?MnO5u!Z5zblWOX5uXZ7SZ[5u[^7S^p5uqr5urs7Sst+Ptw5uwx7Sx!]5u!]!^7w!^!a7S!a#S5u#S#T7S#T;'S5u;'S;=`8n<%lO5u!R7VVOp7Sqs7St!]7S!]!^7l!^;'S7S;'S;=`7q<%lO7S!R7qOb!R!R7tP;=`<%l7S!Z8OYlWb!ROX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+P!Z8qP;=`<%l5u!_8{iiSlWOX5uXZ7SZ[5u[^7S^p5uqr8trs7Sst/^tw8twx7Sx!P8t!P!Q5u!Q!]8t!]!^:j!^!a7S!a#S8t#S#T;{#T#s8t#s$f5u$f;'S8t;'S;=`>V<%l?Ah8t?Ah?BY5u?BY?Mn8t?MnO5u!_:sbiSlWb!ROX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+P!VP<%l?Ah;{?Ah?BY7S?BY?Mn;{?MnO7S!V=dXiSb!Rqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0m!V>SP;=`<%l;{!_>YP;=`<%l8t!_>dhiSlWOX@OXZAYZ[@O[^AY^p@OqrBwrsAYswBwwxAYx!PBw!P!Q@O!Q!]Bw!]!^/^!^!aAY!a#SBw#S#TE{#T#sBw#s$f@O$f;'SBw;'S;=`HS<%l?AhBw?Ah?BY@O?BY?MnBw?MnO@O!Z@TalWOX@OXZAYZ[@O[^AY^p@Oqr@OrsAYsw@OwxAYx!]@O!]!^Az!^!aAY!a#S@O#S#TAY#T;'S@O;'S;=`Bq<%lO@O!RA]UOpAYq!]AY!]!^Ao!^;'SAY;'S;=`At<%lOAY!RAtOc!R!RAwP;=`<%lAY!ZBRYlWc!ROX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+P!ZBtP;=`<%l@O!_COhiSlWOX@OXZAYZ[@O[^AY^p@OqrBwrsAYswBwwxAYx!PBw!P!Q@O!Q!]Bw!]!^Dj!^!aAY!a#SBw#S#TE{#T#sBw#s$f@O$f;'SBw;'S;=`HS<%l?AhBw?Ah?BY@O?BY?MnBw?MnO@O!_DsbiSlWc!ROX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+P!VFQbiSOpAYqrE{rsAYswE{wxAYx!PE{!P!QAY!Q!]E{!]!^GY!^!aAY!a#sE{#s$fAY$f;'SE{;'S;=`G|<%l?AhE{?Ah?BYAY?BY?MnE{?MnOAY!VGaXiSc!Rqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0m!VHPP;=`<%lE{!_HVP;=`<%lBw!ZHcW!cxaP!b`Or(trs'ksv(tw!^(t!^!_)e!_;'S(t;'S;=`*P<%lO(t!aIYliSaPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx}-_}!OKQ!O!P-_!P!Q$q!Q!^-_!^!_*V!_!a&X!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q!aK_kiSaPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx!P-_!P!Q$q!Q!^-_!^!_*V!_!`&X!`!aMS!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q!TM_XaP!b`!dp!fQOr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&X!aNZ!ZiSgQaPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx}-_}!OMz!O!PMz!P!Q$q!Q![Mz![!]Mz!]!^-_!^!_*V!_!a&X!a!c-_!c!}Mz!}#R-_#R#SMz#S#T1k#T#oMz#o#s-_#s$f$q$f$}-_$}%OMz%O%W-_%W%oMz%o%p-_%p&aMz&a&b-_&b1pMz1p4UMz4U4dMz4d4e-_4e$ISMz$IS$I`-_$I`$IbMz$Ib$Je-_$Je$JgMz$Jg$Kh-_$Kh%#tMz%#t&/x-_&/x&EtMz&Et&FV-_&FV;'SMz;'S;:j!#|;:j;=`3X<%l?&r-_?&r?AhMz?Ah?BY$q?BY?MnMz?MnO$q!a!$PP;=`<%lMz!R!$ZY!b`!dpOq*Vqr!$yrs(Vsv*Vwx)ex!a*V!a!b!4t!b;'S*V;'S;=`*s<%lO*V!R!%Q]!b`!dpOr*Vrs(Vsv*Vwx)ex}*V}!O!%y!O!f*V!f!g!']!g#W*V#W#X!0`#X;'S*V;'S;=`*s<%lO*V!R!&QX!b`!dpOr*Vrs(Vsv*Vwx)ex}*V}!O!&m!O;'S*V;'S;=`*s<%lO*V!R!&vV!b`!dp!ePOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!'dX!b`!dpOr*Vrs(Vsv*Vwx)ex!q*V!q!r!(P!r;'S*V;'S;=`*s<%lO*V!R!(WX!b`!dpOr*Vrs(Vsv*Vwx)ex!e*V!e!f!(s!f;'S*V;'S;=`*s<%lO*V!R!(zX!b`!dpOr*Vrs(Vsv*Vwx)ex!v*V!v!w!)g!w;'S*V;'S;=`*s<%lO*V!R!)nX!b`!dpOr*Vrs(Vsv*Vwx)ex!{*V!{!|!*Z!|;'S*V;'S;=`*s<%lO*V!R!*bX!b`!dpOr*Vrs(Vsv*Vwx)ex!r*V!r!s!*}!s;'S*V;'S;=`*s<%lO*V!R!+UX!b`!dpOr*Vrs(Vsv*Vwx)ex!g*V!g!h!+q!h;'S*V;'S;=`*s<%lO*V!R!+xY!b`!dpOr!+qrs!,hsv!+qvw!-Swx!.[x!`!+q!`!a!/j!a;'S!+q;'S;=`!0Y<%lO!+qq!,mV!dpOv!,hvx!-Sx!`!,h!`!a!-q!a;'S!,h;'S;=`!.U<%lO!,hP!-VTO!`!-S!`!a!-f!a;'S!-S;'S;=`!-k<%lO!-SP!-kO|PP!-nP;=`<%l!-Sq!-xS!dp|POv(Vx;'S(V;'S;=`(h<%lO(Vq!.XP;=`<%l!,ha!.aX!b`Or!.[rs!-Ssv!.[vw!-Sw!`!.[!`!a!.|!a;'S!.[;'S;=`!/d<%lO!.[a!/TT!b`|POr)esv)ew;'S)e;'S;=`)y<%lO)ea!/gP;=`<%l!.[!R!/sV!b`!dp|POr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!0]P;=`<%l!+q!R!0gX!b`!dpOr*Vrs(Vsv*Vwx)ex#c*V#c#d!1S#d;'S*V;'S;=`*s<%lO*V!R!1ZX!b`!dpOr*Vrs(Vsv*Vwx)ex#V*V#V#W!1v#W;'S*V;'S;=`*s<%lO*V!R!1}X!b`!dpOr*Vrs(Vsv*Vwx)ex#h*V#h#i!2j#i;'S*V;'S;=`*s<%lO*V!R!2qX!b`!dpOr*Vrs(Vsv*Vwx)ex#m*V#m#n!3^#n;'S*V;'S;=`*s<%lO*V!R!3eX!b`!dpOr*Vrs(Vsv*Vwx)ex#d*V#d#e!4Q#e;'S*V;'S;=`*s<%lO*V!R!4XX!b`!dpOr*Vrs(Vsv*Vwx)ex#X*V#X#Y!+q#Y;'S*V;'S;=`*s<%lO*V!R!4{Y!b`!dpOr!4trs!5ksv!4tvw!6Vwx!8]x!a!4t!a!b!:]!b;'S!4t;'S;=`!;r<%lO!4tq!5pV!dpOv!5kvx!6Vx!a!5k!a!b!7W!b;'S!5k;'S;=`!8V<%lO!5kP!6YTO!a!6V!a!b!6i!b;'S!6V;'S;=`!7Q<%lO!6VP!6lTO!`!6V!`!a!6{!a;'S!6V;'S;=`!7Q<%lO!6VP!7QOyPP!7TP;=`<%l!6Vq!7]V!dpOv!5kvx!6Vx!`!5k!`!a!7r!a;'S!5k;'S;=`!8V<%lO!5kq!7yS!dpyPOv(Vx;'S(V;'S;=`(h<%lO(Vq!8YP;=`<%l!5ka!8bX!b`Or!8]rs!6Vsv!8]vw!6Vw!a!8]!a!b!8}!b;'S!8];'S;=`!:V<%lO!8]a!9SX!b`Or!8]rs!6Vsv!8]vw!6Vw!`!8]!`!a!9o!a;'S!8];'S;=`!:V<%lO!8]a!9vT!b`yPOr)esv)ew;'S)e;'S;=`)y<%lO)ea!:YP;=`<%l!8]!R!:dY!b`!dpOr!4trs!5ksv!4tvw!6Vwx!8]x!`!4t!`!a!;S!a;'S!4t;'S;=`!;r<%lO!4t!R!;]V!b`!dpyPOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!;uP;=`<%l!4t!V!{let c=a.type.id;if(c==Zy)return Sc(a,l,t);if(c==Ey)return Sc(a,l,n);if(c==qy)return Sc(a,l,r);if(c==bp&&s.length){let h=a.node,f=h.firstChild,u=f&&dp(f,l),O;if(u){for(let m of s)if(m.tag==u&&(!m.attrs||m.attrs(O||(O=wp(f,l))))){let p=h.lastChild,b=p.type.id==Ly?p.from:h.to;if(b>f.to)return{parser:m.parser,overlay:[{from:f.to,to:b}]}}}}if(o&&c==Sp){let h=a.node,f;if(f=h.firstChild){let u=o[l.read(f.from,f.to)];if(u)for(let O of u){if(O.tagName&&O.tagName!=dp(h.parent,l))continue;let m=h.lastChild;if(m.type.id==yc){let p=m.from+1,b=m.lastChild,g=m.to-(b&&b.isError?0:1);if(g>p)return{parser:O.parser,overlay:[{from:p,to:g}],bracketed:!0}}else if(m.type.id==yp)return{parser:O.parser,overlay:[{from:m.from,to:m.to}]}}}}return null})}var nk=145,Pp=1,rk=146,sk=147,$p=2,ok=148,ak=3,lk=4,Tp=[9,10,11,12,13,32,133,160,5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8232,8233,8239,8287,12288],ck=58,hk=40,Cp=95,fk=91,ro=45,uk=46,Ok=35,dk=37,pk=38,mk=92,gk=10,Qk=42;function Pr(i){return i>=65&&i<=90||i>=97&&i<=122||i>=161}function $c(i){return i>=48&&i<=57}function vp(i){return $c(i)||i>=97&&i<=102||i>=65&&i<=70}var Xp=(i,e,t)=>(n,r)=>{for(let s=!1,o=0,a=0;;a++){let{next:l}=n;if(Pr(l)||l==ro||l==Cp||s&&$c(l))!s&&(l!=ro||a>0)&&(s=!0),o===a&&l==ro&&o++,n.advance();else if(l==mk&&n.peek(1)!=gk){if(n.advance(),vp(n.next)){do n.advance();while(vp(n.next));n.next==32&&n.advance()}else n.next>-1&&n.advance();s=!0}else{s&&n.acceptToken(o==2&&r.canShift($p)?e:l==hk?t:i);break}}},bk=new ee(Xp(rk,$p,sk),{contextual:!0}),Sk=new ee(Xp(ok,ak,lk),{contextual:!0}),yk=new ee(i=>{if(Tp.includes(i.peek(-1))){let{next:e}=i;(Pr(e)||e==Cp||e==Ok||e==uk||e==Qk||e==fk||e==ck&&Pr(i.peek(1))||e==ro||e==pk)&&i.acceptToken(nk)}}),kk=new ee(i=>{if(!Tp.includes(i.peek(-1))){let{next:e}=i;if(e==dk&&(i.advance(),i.acceptToken(Pp)),Pr(e)){do i.advance();while(Pr(i.next)||$c(i.next));i.acceptToken(Pp)}}}),xk=Qe({"AtKeyword import charset namespace keyframes media supports font-feature-values":d.definitionKeyword,"from to selector scope MatchFlag":d.keyword,NamespaceName:d.namespace,KeyframeName:d.labelName,KeyframeRangeName:d.operatorKeyword,TagName:d.tagName,ClassName:d.className,PseudoClassName:d.constant(d.className),IdName:d.labelName,"FeatureName PropertyName":d.propertyName,AttributeName:d.attributeName,NumberLiteral:d.number,KeywordQuery:d.keyword,UnaryQueryOp:d.operatorKeyword,"CallTag ValueName FontName":d.atom,VariableName:d.variableName,Callee:d.operatorKeyword,Unit:d.unit,"UniversalSelector NestingSelector":d.definitionOperator,"MatchOp CompareOp":d.compareOperator,"ChildOp SiblingOp, LogicOp":d.logicOperator,BinOp:d.arithmeticOperator,Important:d.modifier,Comment:d.blockComment,ColorLiteral:d.color,"ParenthesizedContent StringLiteral":d.string,":":d.punctuation,"PseudoOp #":d.derefOperator,"; , |":d.separator,"( )":d.paren,"[ ]":d.squareBracket,"{ }":d.brace}),wk={__proto__:null,lang:44,"nth-child":44,"nth-last-child":44,"nth-of-type":44,"nth-last-of-type":44,dir:44,"host-context":44,if:90,url:152,"url-prefix":152,domain:152,regexp:152},Pk={__proto__:null,or:104,and:104,not:112,only:112,layer:206},vk={__proto__:null,selector:118,style:124,layer:202},$k={__proto__:null,"@import":198,"@media":210,"@charset":214,"@namespace":218,"@keyframes":224,"@supports":236,"@scope":240,"@font-feature-values":246},Tk={__proto__:null,to:243},_p=ve.deserialize({version:14,states:"MlQYQdOOO#}QdOOP$UO`OOO%OQaO'#CfOOQP'#Ce'#CeO%VQdO'#CgO%[Q`O'#CgO%aQaO'#FnO&XQdO'#CkO&xQaO'#CcO'SQdO'#CnO'_QdO'#EOO'dQdO'#EQO'oQdO'#EXO'oQdO'#E[OOQP'#Fn'#FnO)RQhO'#E}OOQS'#Fm'#FmOOQS'#FQ'#FQQYQdOOO)YQdO'#EbO*iQhO'#EhO)YQdO'#EjO*pQdO'#ElO*{QdO'#EoO)}QhO'#EuO+TQdO'#EwO+`QdO'#EzO+eQaO'#CfO+lQ`O'#E_O+qQ`O'#F{O+|QdO'#F{QOQ`OOP,WO&jO'#CaPOOO)CA])CA]OOQP'#Ci'#CiOOQP,59R,59RO%VQdO,59ROOQP'#Cm'#CmOOQP,59V,59VO&XQdO,59VO,cQdO,59YO'_QdO,5:jO'dQdO,5:lO'oQdO,5:sO'oQdO,5:uO'oQdO,5:vO'oQdO'#FXO,nQ`O,58}O,vQdO'#E^OOQS,58},58}OOQP'#Cq'#CqOOQO'#D|'#D|OOQP,59Y,59YO,}Q`O,59YO-SQ`O,59YOOQP'#EP'#EPOOQP,5:j,5:jO-XQpO'#ERO-dQdO'#ESO-iQ`O'#ESO-nQpO,5:lO.XQaO,5:sO.oQaO,5:vOOQW'#D^'#D^O/nQhO'#DgO0RQhO,5;iO)}QhO'#DeO0`Q`O'#DnO0eQhO'#DxOOQW'#Ft'#FtOOQS,5;i,5;iO0jQ`O'#DhO0oQ`O'#DkOOQS-E9O-E9OOOQ['#Cv'#CvO0tQdO'#CwO1[QdO'#C}O1rQdO'#DQO2YQ!pO'#DSO4fQ!jO,5:|OOQO'#DX'#DXO-SQ`O'#DWO4vQ!nO'#FqO6|Q`O'#DYO7RQ`O'#DyOOQ['#Fq'#FqO7WQhO'#GOO7fQ`O,5;SO7kQ!bO,5;UOOQS'#En'#EnO7sQ`O,5;WO7xQdO,5;WOOQO'#Eq'#EqO8QQ`O,5;ZO8VQhO,5;aO'oQdO'#DjOOQS,5;c,5;cO0jQ`O,5;cO8_QdO,5;cOOQS'#F`'#F`O8gQdO'#E|O7fQ`O,5;fO8oQdO,5:yO9PQdO'#FZO9^Q`O,5lQhO'#DoOOQW,5:Y,5:YOOQW,5:d,5:dOOQW,5:S,5:SO>vQhO,5:VO?bQ!fO'#FrOOQS'#Fr'#FrOOQS'#FS'#FSO@rQdO,59cOOQ[,59c,59cOAYQdO,59iOOQ[,59i,59iOApQdO,59lOOQ[,59l,59lOOQ[,59n,59nO)YQdO,59pOBWQhO'#EdOOQW'#Ed'#EdOBuQ`O1G0hO4oQhO1G0hOOQ[,59r,59rO)}QhO'#D[OOQ[,59t,59tOBzQ#tO,5:eOCVQhO'#F]OCdQ`O,5vQhO'#DmOI_QhO'#DqOIgQhO'#DsOIlQhO'#FwOOQO'#Fw'#FwOItQ!bO'#DwOOQO'#Fy'#FyOOQO'#Fv'#FvOIyQ`O1G/qOOQS-E9Q-E9QOOQ[1G.}1G.}OOQ[1G/T1G/TOOQ[1G/W1G/WOOQ[1G/[1G/[OJOQdO,5;OOOQS7+&S7+&SOJTQ`O7+&SOJYQhO'#D]OJbQ`O,59vO)}QhO,59vOOQ[1G0P1G0POJjQ`O1G0POJoQhO,5;wOOQO-E9Z-E9ZOOQS7+&^7+&^OJ}QbO'#DSOOQO'#Et'#EtOK]Q`O'#EsOOQO'#Es'#EsOKhQ`O'#F^OKpQdO,5;^OOQS,5;^,5;^OOQ[1G/p1G/pOOQS7+&i7+&iO7fQ`O7+&iOK{Q!fO'#FYO)YQdO'#FYOMSQdO7+&POOQO7+&P7+&POOQO,5:{,5:{OOQO1G1a1G1aOMgQ!bO<vQhO'#DrOOQO,5:],5:]O! hQhO,5:_OGUQhO,5:cOOQW7+%]7+%]OOQO'#Ef'#EfO! pQ`O1G0jOOQS<xAN>xO!#zQ`OAN>xO!$PQaO,5;rOOQO-E9U-E9UO!$ZQdO,5;qOOQO-E9T-E9TOOQW<vQhO'#DuOOQO1G/y1G/yO!%vQ!bO1G/}OJOQdO'#F[O!&OQ`O7+&UOOQW7+&U7+&UO!&WQ!bO1G/cOOQ[7+$|7+$|O!&cQhO7+$|P!&jQ`O'#FTOOQO,5;y,5;yOOQO-E9]-E9]OOQS1G1d1G1dOOQPG24dG24dO!&oQ`OAN>ZO)YQdO1G1[O!&tQ`O7+'jOOQO1G/x1G/xO!&|Q`O,5:aO!$eQhO7+%iOOQO,5;v,5;vOOQO-E9Y-E9YOOQW<Q!]!^>|!^!_?_!_!`@Z!`!a@n!a!b%Z!b!cAo!c!k%Z!k!lC|!l!u%Z!u!vC|!v!}%Z!}#OD_#O#P%Z#P#QDp#Q#R2X#R#]%Z#]#^ER#^#g%Z#g#hC|#h#o%Z#o#pIf#p#qIw#q#rJ`#r#sJq#s#y%Z#y#z&R#z$f%Z$f$g&R$g#BY%Z#BY#BZ&R#BZ$IS%Z$IS$I_&R$I_$I|%Z$I|$JO&R$JO$JT%Z$JT$JU&R$JU$KV%Z$KV$KW&R$KW&FU%Z&FU&FV&R&FV;'S%Z;'S;=`KY<%lO%Z`%^SOy%jz;'S%j;'S;=`%{<%lO%j`%oS!o`Oy%jz;'S%j;'S;=`%{<%lO%j`&OP;=`<%l%j~&Wh$[~OX%jX^'r^p%jpq'rqy%jz#y%j#y#z'r#z$f%j$f$g'r$g#BY%j#BY#BZ'r#BZ$IS%j$IS$I_'r$I_$I|%j$I|$JO'r$JO$JT%j$JT$JU'r$JU$KV%j$KV$KW'r$KW&FU%j&FU&FV'r&FV;'S%j;'S;=`%{<%lO%j~'yh$[~!o`OX%jX^'r^p%jpq'rqy%jz#y%j#y#z'r#z$f%j$f$g'r$g#BY%j#BY#BZ'r#BZ$IS%j$IS$I_'r$I_$I|%j$I|$JO'r$JO$JT%j$JT$JU'r$JU$KV%j$KV$KW'r$KW&FU%j&FU&FV'r&FV;'S%j;'S;=`%{<%lO%jj)jS$qYOy%jz;'S%j;'S;=`%{<%lO%j~)yWOY)vZr)vrs*cs#O)v#O#P*h#P;'S)v;'S;=`+d<%lO)v~*hOw~~*kRO;'S)v;'S;=`*t;=`O)v~*wXOY)vZr)vrs*cs#O)v#O#P*h#P;'S)v;'S;=`+d;=`<%l)v<%lO)v~+gP;=`<%l)vj+oYmYOy%jz!Q%j!Q![,_![!c%j!c!i,_!i#T%j#T#Z,_#Z;'S%j;'S;=`%{<%lO%jj,dY!o`Oy%jz!Q%j!Q![-S![!c%j!c!i-S!i#T%j#T#Z-S#Z;'S%j;'S;=`%{<%lO%jj-XY!o`Oy%jz!Q%j!Q![-w![!c%j!c!i-w!i#T%j#T#Z-w#Z;'S%j;'S;=`%{<%lO%jj.OYuY!o`Oy%jz!Q%j!Q![.n![!c%j!c!i.n!i#T%j#T#Z.n#Z;'S%j;'S;=`%{<%lO%jj.uYuY!o`Oy%jz!Q%j!Q![/e![!c%j!c!i/e!i#T%j#T#Z/e#Z;'S%j;'S;=`%{<%lO%jj/jY!o`Oy%jz!Q%j!Q![0Y![!c%j!c!i0Y!i#T%j#T#Z0Y#Z;'S%j;'S;=`%{<%lO%jj0aYuY!o`Oy%jz!Q%j!Q![1P![!c%j!c!i1P!i#T%j#T#Z1P#Z;'S%j;'S;=`%{<%lO%jj1UY!o`Oy%jz!Q%j!Q![1t![!c%j!c!i1t!i#T%j#T#Z1t#Z;'S%j;'S;=`%{<%lO%jj1{SuY!o`Oy%jz;'S%j;'S;=`%{<%lO%jd2[UOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%jd2uS!yS!o`Oy%jz;'S%j;'S;=`%{<%lO%jb3WS^QOy%jz;'S%j;'S;=`%{<%lO%j~3gWOY3dZw3dwx*cx#O3d#O#P4P#P;'S3d;'S;=`4{<%lO3d~4SRO;'S3d;'S;=`4];=`O3d~4`XOY3dZw3dwx*cx#O3d#O#P4P#P;'S3d;'S;=`4{;=`<%l3d<%lO3d~5OP;=`<%l3dj5WShYOy%jz;'S%j;'S;=`%{<%lO%j~5iOg~n5pUWQyWOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%jj6ZWyW#PQOy%jz!O%j!O!P6s!P!Q%j!Q![9x![;'S%j;'S;=`%{<%lO%jj6xU!o`Oy%jz!Q%j!Q![7[![;'S%j;'S;=`%{<%lO%jj7cY!o`$gYOy%jz!Q%j!Q![7[![!g%j!g!h8R!h#X%j#X#Y8R#Y;'S%j;'S;=`%{<%lO%jj8WY!o`Oy%jz{%j{|8v|}%j}!O8v!O!Q%j!Q![9_![;'S%j;'S;=`%{<%lO%jj8{U!o`Oy%jz!Q%j!Q![9_![;'S%j;'S;=`%{<%lO%jj9fU!o`$gYOy%jz!Q%j!Q![9_![;'S%j;'S;=`%{<%lO%jj:P[!o`$gYOy%jz!O%j!O!P7[!P!Q%j!Q![9x![!g%j!g!h8R!h#X%j#X#Y8R#Y;'S%j;'S;=`%{<%lO%jj:zS!dYOy%jz;'S%j;'S;=`%{<%lO%jj;]WyWOy%jz!O%j!O!P6s!P!Q%j!Q![9x![;'S%j;'S;=`%{<%lO%jj;zU`YOy%jz!Q%j!Q![7[![;'S%j;'S;=`%{<%lO%j~VUcYOy%jz![%j![!]>i!];'S%j;'S;=`%{<%lO%jj>pSdY!o`Oy%jz;'S%j;'S;=`%{<%lO%jj?RSnYOy%jz;'S%j;'S;=`%{<%lO%jh?dU!WWOy%jz!_%j!_!`?v!`;'S%j;'S;=`%{<%lO%jh?}S!WW!o`Oy%jz;'S%j;'S;=`%{<%lO%jl@bS!WW!ySOy%jz;'S%j;'S;=`%{<%lO%jj@uV!|Q!WWOy%jz!_%j!_!`?v!`!aA[!a;'S%j;'S;=`%{<%lO%jbAcS!|Q!o`Oy%jz;'S%j;'S;=`%{<%lO%jjArYOy%jz}%j}!OBb!O!c%j!c!}CP!}#T%j#T#oCP#o;'S%j;'S;=`%{<%lO%jjBgW!o`Oy%jz!c%j!c!}CP!}#T%j#T#oCP#o;'S%j;'S;=`%{<%lO%jjCW[lY!o`Oy%jz}%j}!OCP!O!Q%j!Q![CP![!c%j!c!}CP!}#T%j#T#oCP#o;'S%j;'S;=`%{<%lO%jhDRS!zWOy%jz;'S%j;'S;=`%{<%lO%jjDdSpYOy%jz;'S%j;'S;=`%{<%lO%jnDuSo^Oy%jz;'S%j;'S;=`%{<%lO%jjEWU!zWOy%jz#a%j#a#bEj#b;'S%j;'S;=`%{<%lO%jbEoU!o`Oy%jz#d%j#d#eFR#e;'S%j;'S;=`%{<%lO%jbFWU!o`Oy%jz#c%j#c#dFj#d;'S%j;'S;=`%{<%lO%jbFoU!o`Oy%jz#f%j#f#gGR#g;'S%j;'S;=`%{<%lO%jbGWU!o`Oy%jz#h%j#h#iGj#i;'S%j;'S;=`%{<%lO%jbGoU!o`Oy%jz#T%j#T#UHR#U;'S%j;'S;=`%{<%lO%jbHWU!o`Oy%jz#b%j#b#cHj#c;'S%j;'S;=`%{<%lO%jbHoU!o`Oy%jz#h%j#h#iIR#i;'S%j;'S;=`%{<%lO%jbIYS$pQ!o`Oy%jz;'S%j;'S;=`%{<%lO%jjIkSsYOy%jz;'S%j;'S;=`%{<%lO%jfI|U$cUOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%jjJeSrYOy%jz;'S%j;'S;=`%{<%lO%jfJvU#PQOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%j`K]P;=`<%l%Z",tokenizers:[yk,kk,bk,Sk,1,2,3,4,new ki("m~RRYZ[z{a~~g~aO$_~~dP!P!Qg~lO$`~~",28,152)],topRules:{StyleSheet:[0,6],Styles:[1,126]},dynamicPrecedences:{94:1},specialized:[{term:147,get:i=>wk[i]||-1},{term:148,get:i=>Pk[i]||-1},{term:4,get:i=>vk[i]||-1},{term:28,get:i=>$k[i]||-1},{term:146,get:i=>Tk[i]||-1}],tokenPrec:2405});var Tc=null;function Cc(){if(!Tc&&typeof document=="object"&&document.body){let{style:i}=document.body,e=[],t=new Set;for(let n in i)n!="cssText"&&n!="cssFloat"&&typeof i[n]=="string"&&(/[A-Z]/.test(n)&&(n=n.replace(/[A-Z]/g,r=>"-"+r.toLowerCase())),t.has(n)||(e.push(n),t.add(n)));Tc=e.sort().map(n=>({type:"property",label:n,apply:n+": "}))}return Tc||[]}var Rp=["active","after","any-link","autofill","backdrop","before","checked","cue","default","defined","disabled","empty","enabled","file-selector-button","first","first-child","first-letter","first-line","first-of-type","focus","focus-visible","focus-within","fullscreen","has","host","host-context","hover","in-range","indeterminate","invalid","is","lang","last-child","last-of-type","left","link","marker","modal","not","nth-child","nth-last-child","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","part","placeholder","placeholder-shown","read-only","read-write","required","right","root","scope","selection","slotted","target","target-text","valid","visited","where"].map(i=>({type:"class",label:i})),Ap=["above","absolute","activeborder","additive","activecaption","after-white-space","ahead","alias","all","all-scroll","alphabetic","alternate","always","antialiased","appworkspace","asterisks","attr","auto","auto-flow","avoid","avoid-column","avoid-page","avoid-region","axis-pan","background","backwards","baseline","below","bidi-override","blink","block","block-axis","bold","bolder","border","border-box","both","bottom","break","break-all","break-word","bullets","button","button-bevel","buttonface","buttonhighlight","buttonshadow","buttontext","calc","capitalize","caps-lock-indicator","caption","captiontext","caret","cell","center","checkbox","circle","cjk-decimal","clear","clip","close-quote","col-resize","collapse","color","color-burn","color-dodge","column","column-reverse","compact","condensed","contain","content","contents","content-box","context-menu","continuous","copy","counter","counters","cover","crop","cross","crosshair","currentcolor","cursive","cyclic","darken","dashed","decimal","decimal-leading-zero","default","default-button","dense","destination-atop","destination-in","destination-out","destination-over","difference","disc","discard","disclosure-closed","disclosure-open","document","dot-dash","dot-dot-dash","dotted","double","down","e-resize","ease","ease-in","ease-in-out","ease-out","element","ellipse","ellipsis","embed","end","ethiopic-abegede-gez","ethiopic-halehame-aa-er","ethiopic-halehame-gez","ew-resize","exclusion","expanded","extends","extra-condensed","extra-expanded","fantasy","fast","fill","fill-box","fixed","flat","flex","flex-end","flex-start","footnotes","forwards","from","geometricPrecision","graytext","grid","groove","hand","hard-light","help","hidden","hide","higher","highlight","highlighttext","horizontal","hsl","hsla","hue","icon","ignore","inactiveborder","inactivecaption","inactivecaptiontext","infinite","infobackground","infotext","inherit","initial","inline","inline-axis","inline-block","inline-flex","inline-grid","inline-table","inset","inside","intrinsic","invert","italic","justify","keep-all","landscape","large","larger","left","level","lighter","lighten","line-through","linear","linear-gradient","lines","list-item","listbox","listitem","local","logical","loud","lower","lower-hexadecimal","lower-latin","lower-norwegian","lowercase","ltr","luminosity","manipulation","match","matrix","matrix3d","medium","menu","menutext","message-box","middle","min-intrinsic","mix","monospace","move","multiple","multiple_mask_images","multiply","n-resize","narrower","ne-resize","nesw-resize","no-close-quote","no-drop","no-open-quote","no-repeat","none","normal","not-allowed","nowrap","ns-resize","numbers","numeric","nw-resize","nwse-resize","oblique","opacity","open-quote","optimizeLegibility","optimizeSpeed","outset","outside","outside-shape","overlay","overline","padding","padding-box","painted","page","paused","perspective","pinch-zoom","plus-darker","plus-lighter","pointer","polygon","portrait","pre","pre-line","pre-wrap","preserve-3d","progress","push-button","radial-gradient","radio","read-only","read-write","read-write-plaintext-only","rectangle","region","relative","repeat","repeating-linear-gradient","repeating-radial-gradient","repeat-x","repeat-y","reset","reverse","rgb","rgba","ridge","right","rotate","rotate3d","rotateX","rotateY","rotateZ","round","row","row-resize","row-reverse","rtl","run-in","running","s-resize","sans-serif","saturation","scale","scale3d","scaleX","scaleY","scaleZ","screen","scroll","scrollbar","scroll-position","se-resize","self-start","self-end","semi-condensed","semi-expanded","separate","serif","show","single","skew","skewX","skewY","skip-white-space","slide","slider-horizontal","slider-vertical","sliderthumb-horizontal","sliderthumb-vertical","slow","small","small-caps","small-caption","smaller","soft-light","solid","source-atop","source-in","source-out","source-over","space","space-around","space-between","space-evenly","spell-out","square","start","static","status-bar","stretch","stroke","stroke-box","sub","subpixel-antialiased","svg_masks","super","sw-resize","symbolic","symbols","system-ui","table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row","table-row-group","text","text-bottom","text-top","textarea","textfield","thick","thin","threeddarkshadow","threedface","threedhighlight","threedlightshadow","threedshadow","to","top","transform","translate","translate3d","translateX","translateY","translateZ","transparent","ultra-condensed","ultra-expanded","underline","unidirectional-pan","unset","up","upper-latin","uppercase","url","var","vertical","vertical-text","view-box","visible","visibleFill","visiblePainted","visibleStroke","visual","w-resize","wait","wave","wider","window","windowframe","windowtext","words","wrap","wrap-reverse","x-large","x-small","xor","xx-large","xx-small"].map(i=>({type:"keyword",label:i})).concat(["aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","grey","green","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen"].map(i=>({type:"constant",label:i}))),Ck=["a","abbr","address","article","aside","b","bdi","bdo","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","dd","del","details","dfn","dialog","div","dl","dt","em","figcaption","figure","footer","form","header","hgroup","h1","h2","h3","h4","h5","h6","hr","html","i","iframe","img","input","ins","kbd","label","legend","li","main","meter","nav","ol","output","p","pre","ruby","section","select","small","source","span","strong","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","tr","u","ul"].map(i=>({type:"type",label:i})),Xk=["@charset","@color-profile","@container","@counter-style","@font-face","@font-feature-values","@font-palette-values","@import","@keyframes","@layer","@media","@namespace","@page","@position-try","@property","@scope","@starting-style","@supports","@view-transition"].map(i=>({type:"keyword",label:i})),Ft=/^(\w[\w-]*|-\w[\w-]*|)$/,_k=/^-(-[\w-]*)?$/;function Rk(i,e){var t;if((i.name=="("||i.type.isError)&&(i=i.parent||i),i.name!="ArgList")return!1;let n=(t=i.parent)===null||t===void 0?void 0:t.firstChild;return n?.name!="Callee"?!1:e.sliceString(n.from,n.to)=="var"}var Zp=new pi,Ak=["Declaration"];function Zk(i){for(let e=i;;){if(e.type.isTop)return e;if(!(e=e.parent))return i}}function Ep(i,e,t){if(e.to-e.from>4096){let n=Zp.get(e);if(n)return n;let r=[],s=new Set,o=e.cursor(te.IncludeAnonymous);if(o.firstChild())do for(let a of Ep(i,o.node,t))s.has(a.label)||(s.add(a.label),r.push(a));while(o.nextSibling());return Zp.set(e,r),r}else{let n=[],r=new Set;return e.cursor().iterate(s=>{var o;if(t(s)&&s.matchContext(Ak)&&((o=s.node.nextSibling)===null||o===void 0?void 0:o.name)==":"){let a=i.sliceString(s.from,s.to);r.has(a)||(r.add(a),n.push({label:a,type:"variable"}))}}),n}}var Ek=i=>e=>{let{state:t,pos:n}=e,r=G(t).resolveInner(n,-1),s=r.type.isError&&r.from==r.to-1&&t.doc.sliceString(r.from,r.to)=="-";if(r.name=="PropertyName"||(s||r.name=="TagName")&&/^(Block|Styles)$/.test(r.resolve(r.to).name))return{from:r.from,options:Cc(),validFor:Ft};if(r.name=="ValueName")return{from:r.from,options:Ap,validFor:Ft};if(r.name=="PseudoClassName")return{from:r.from,options:Rp,validFor:Ft};if(i(r)||(e.explicit||s)&&Rk(r,t.doc))return{from:i(r)||s?r.from:n,options:Ep(t.doc,Zk(r),i),validFor:_k};if(r.name=="TagName"){for(let{parent:l}=r;l;l=l.parent)if(l.name=="Block")return{from:r.from,options:Cc(),validFor:Ft};return{from:r.from,options:Ck,validFor:Ft}}if(r.name=="AtKeyword")return{from:r.from,options:Xk,validFor:Ft};if(!e.explicit)return null;let o=r.resolve(n),a=o.childBefore(n);return a&&a.name==":"&&o.name=="PseudoClassSelector"?{from:n,options:Rp,validFor:Ft}:a&&a.name==":"&&o.name=="Declaration"||o.name=="ArgList"?{from:n,options:Ap,validFor:Ft}:o.name=="Block"||o.name=="Styles"?{from:n,options:Cc(),validFor:Ft}:null},qk=Ek(i=>i.name=="VariableName"),vr=Xe.define({name:"css",parser:_p.configure({props:[Pe.add({Declaration:Gt()}),_e.add({"Block KeyframeList":dt})]}),languageData:{commentTokens:{block:{open:"/*",close:"*/"}},indentOnInput:/^\s*\}$/,wordChars:"-"}});function so(){return new me(vr,vr.data.of({autocomplete:qk}))}var zk=316,Lk=317,qp=1,Mk=2,Wk=3,jk=4,Vk=318,Dk=320,Yk=321,Ik=5,Bk=6,Uk=0,_c=[9,10,11,12,13,32,133,160,5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8232,8233,8239,8287,12288],zp=125,Gk=59,Rc=47,Nk=42,Fk=43,Hk=45,Kk=60,Jk=44,e1=63,t1=46,i1=91,n1=new Qt({start:!1,shift(i,e){return e==Ik||e==Bk||e==Dk?i:e==Yk},strict:!1}),r1=new ee((i,e)=>{let{next:t}=i;(t==zp||t==-1||e.context)&&i.acceptToken(Vk)},{contextual:!0,fallback:!0}),s1=new ee((i,e)=>{let{next:t}=i,n;_c.indexOf(t)>-1||t==Rc&&((n=i.peek(1))==Rc||n==Nk)||t!=zp&&t!=Gk&&t!=-1&&!e.context&&i.acceptToken(zk)},{contextual:!0}),o1=new ee((i,e)=>{i.next==i1&&!e.context&&i.acceptToken(Lk)},{contextual:!0}),a1=new ee((i,e)=>{let{next:t}=i;if(t==Fk||t==Hk){if(i.advance(),t==i.next){i.advance();let n=!e.context&&e.canShift(qp);i.acceptToken(n?qp:Mk)}}else t==e1&&i.peek(1)==t1&&(i.advance(),i.advance(),(i.next<48||i.next>57)&&i.acceptToken(Wk))},{contextual:!0});function Xc(i,e){return i>=65&&i<=90||i>=97&&i<=122||i==95||i>=192||!e&&i>=48&&i<=57}var l1=new ee((i,e)=>{if(i.next!=Kk||!e.dialectEnabled(Uk)||(i.advance(),i.next==Rc))return;let t=0;for(;_c.indexOf(i.next)>-1;)i.advance(),t++;if(Xc(i.next,!0)){for(i.advance(),t++;Xc(i.next,!1);)i.advance(),t++;for(;_c.indexOf(i.next)>-1;)i.advance(),t++;if(i.next==Jk)return;for(let n=0;;n++){if(n==7){if(!Xc(i.next,!0))return;break}if(i.next!="extends".charCodeAt(n))break;i.advance(),t++}}i.acceptToken(jk,-t)}),c1=Qe({"get set async static":d.modifier,"for while do if else switch try catch finally return throw break continue default case defer":d.controlKeyword,"in of await yield void typeof delete instanceof as satisfies":d.operatorKeyword,"let var const using function class extends":d.definitionKeyword,"import export from":d.moduleKeyword,"with debugger new":d.keyword,TemplateString:d.special(d.string),super:d.atom,BooleanLiteral:d.bool,this:d.self,null:d.null,Star:d.modifier,VariableName:d.variableName,"CallExpression/VariableName TaggedTemplateExpression/VariableName":d.function(d.variableName),VariableDefinition:d.definition(d.variableName),Label:d.labelName,PropertyName:d.propertyName,PrivatePropertyName:d.special(d.propertyName),"CallExpression/MemberExpression/PropertyName":d.function(d.propertyName),"FunctionDeclaration/VariableDefinition":d.function(d.definition(d.variableName)),"ClassDeclaration/VariableDefinition":d.definition(d.className),"NewExpression/VariableName":d.className,PropertyDefinition:d.definition(d.propertyName),PrivatePropertyDefinition:d.definition(d.special(d.propertyName)),UpdateOp:d.updateOperator,"LineComment Hashbang":d.lineComment,BlockComment:d.blockComment,Number:d.number,String:d.string,Escape:d.escape,ArithOp:d.arithmeticOperator,LogicOp:d.logicOperator,BitOp:d.bitwiseOperator,CompareOp:d.compareOperator,RegExp:d.regexp,Equals:d.definitionOperator,Arrow:d.function(d.punctuation),": Spread":d.punctuation,"( )":d.paren,"[ ]":d.squareBracket,"{ }":d.brace,"InterpolationStart InterpolationEnd":d.special(d.brace),".":d.derefOperator,", ;":d.separator,"@":d.meta,TypeName:d.typeName,TypeDefinition:d.definition(d.typeName),"type enum interface implements namespace module declare":d.definitionKeyword,"abstract global Privacy readonly override":d.modifier,"is keyof unique infer asserts":d.operatorKeyword,JSXAttributeValue:d.attributeValue,JSXText:d.content,"JSXStartTag JSXStartCloseTag JSXSelfCloseEndTag JSXEndTag":d.angleBracket,"JSXIdentifier JSXNameSpacedName":d.tagName,"JSXAttribute/JSXIdentifier JSXAttribute/JSXNameSpacedName":d.attributeName,"JSXBuiltin/JSXIdentifier":d.standard(d.tagName)}),h1={__proto__:null,export:20,as:25,from:33,default:36,async:41,function:42,in:52,out:55,const:56,extends:60,this:64,true:72,false:72,null:84,void:88,typeof:92,super:108,new:142,delete:154,yield:163,await:167,class:172,public:235,private:235,protected:235,readonly:237,instanceof:256,satisfies:259,import:292,keyof:349,unique:353,infer:359,asserts:395,is:397,abstract:417,implements:419,type:421,let:424,var:426,using:429,interface:435,enum:439,namespace:445,module:447,declare:451,global:455,defer:471,for:476,of:485,while:488,with:492,do:496,if:500,else:502,switch:506,case:512,try:518,catch:522,finally:526,return:530,throw:534,break:538,continue:542,debugger:546},f1={__proto__:null,async:129,get:131,set:133,declare:195,public:197,private:197,protected:197,static:199,abstract:201,override:203,readonly:209,accessor:211,new:401},u1={__proto__:null,"<":193},Lp=ve.deserialize({version:14,states:"$F|Q%TQlOOO%[QlOOO'_QpOOP(lO`OOO*zQ!0MxO'#CiO+RO#tO'#CjO+aO&jO'#CjO+oO#@ItO'#DaO.QQlO'#DgO.bQlO'#DrO%[QlO'#DzO0fQlO'#ESOOQ!0Lf'#E['#E[O1PQ`O'#EXOOQO'#Ep'#EpOOQO'#Il'#IlO1XQ`O'#GsO1dQ`O'#EoO1iQ`O'#EoO3hQ!0MxO'#JrO6[Q!0MxO'#JsO6uQ`O'#F]O6zQ,UO'#FtOOQ!0Lf'#Ff'#FfO7VO7dO'#FfO9XQMhO'#F|O9`Q`O'#F{OOQ!0Lf'#Js'#JsOOQ!0Lb'#Jr'#JrO9eQ`O'#GwOOQ['#K_'#K_O9pQ`O'#IYO9uQ!0LrO'#IZOOQ['#J`'#J`OOQ['#I_'#I_Q`QlOOQ`QlOOO9}Q!L^O'#DvO:UQlO'#EOO:]QlO'#EQO9kQ`O'#GsO:dQMhO'#CoO:rQ`O'#EnO:}Q`O'#EyO;hQMhO'#FeO;xQ`O'#GsOOQO'#K`'#K`O;}Q`O'#K`O<]Q`O'#G{O<]Q`O'#G|O<]Q`O'#HOO9kQ`O'#HRO=SQ`O'#HUO>kQ`O'#CeO>{Q`O'#HcO?TQ`O'#HiO?TQ`O'#HkO`QlO'#HmO?TQ`O'#HoO?TQ`O'#HrO?YQ`O'#HxO?_Q!0LsO'#IOO%[QlO'#IQO?jQ!0LsO'#ISO?uQ!0LsO'#IUO9uQ!0LrO'#IWO@QQ!0MxO'#CiOASQpO'#DlQOQ`OOO%[QlO'#EQOAjQ`O'#ETO:dQMhO'#EnOAuQ`O'#EnOBQQ!bO'#FeOOQ['#Cg'#CgOOQ!0Lb'#Dq'#DqOOQ!0Lb'#Jv'#JvO%[QlO'#JvOOQO'#Jy'#JyOOQO'#Ih'#IhOCQQpO'#EgOOQ!0Lb'#Ef'#EfOOQ!0Lb'#J}'#J}OC|Q!0MSO'#EgODWQpO'#EWOOQO'#Jx'#JxODlQpO'#JyOEyQpO'#EWODWQpO'#EgPFWO&2DjO'#CbPOOO)CD})CD}OOOO'#I`'#I`OFcO#tO,59UOOQ!0Lh,59U,59UOOOO'#Ia'#IaOFqO&jO,59UOGPQ!L^O'#DcOOOO'#Ic'#IcOGWO#@ItO,59{OOQ!0Lf,59{,59{OGfQlO'#IdOGyQ`O'#JtOIxQ!fO'#JtO+}QlO'#JtOJPQ`O,5:ROJgQ`O'#EpOJtQ`O'#KTOKPQ`O'#KSOKPQ`O'#KSOKXQ`O,5;^OK^Q`O'#KROOQ!0Ln,5:^,5:^OKeQlO,5:^OMcQ!0MxO,5:fONSQ`O,5:nONmQ!0LrO'#KQONtQ`O'#KPO9eQ`O'#KPO! YQ`O'#KPO! bQ`O,5;]O! gQ`O'#KPO!#lQ!fO'#JsOOQ!0Lh'#Ci'#CiO%[QlO'#ESO!$[Q!fO,5:sOOQS'#Jz'#JzOOQO-EtOOQ['#Jh'#JhOOQ[,5>u,5>uOOQ[-E<]-E<]O!TO`QlO,5>VO!LOQ`O,5>XO`QlO,5>ZO!LTQ`O,5>^O!LYQlO,5>dOOQ[,5>j,5>jO%[QlO,5>jO9uQ!0LrO,5>lOOQ[,5>n,5>nO#!dQ`O,5>nOOQ[,5>p,5>pO#!dQ`O,5>pOOQ[,5>r,5>rO##QQpO'#D_O%[QlO'#JvO##sQpO'#JvO##}QpO'#DmO#$`QpO'#DmO#&qQlO'#DmO#&xQ`O'#JuO#'QQ`O,5:WO#'VQ`O'#EtO#'eQ`O'#KUO#'mQ`O,5;_O#'rQpO'#DmO#(PQpO'#EVOOQ!0Lf,5:o,5:oO%[QlO,5:oO#(WQ`O,5:oO?YQ`O,5;YO!CUQpO,5;YO!C^QMhO,5;YO:dQMhO,5;YO#(`Q`O,5@bO#(eQ07dO,5:sOOQO-EPO$6^Q`O,5>POOQ[1G3i1G3iO`QlO1G3iOOQ[1G3o1G3oOOQ[1G3q1G3qO?TQ`O1G3sO$6cQlO1G3uO$:gQlO'#HtOOQ[1G3x1G3xO$:tQ`O'#HzO?YQ`O'#H|OOQ[1G4O1G4OO$:|QlO1G4OO9uQ!0LrO1G4UOOQ[1G4W1G4WOOQ!0Lb'#G_'#G_O9uQ!0LrO1G4YO9uQ!0LrO1G4[O$?TQ`O,5@bO!)[QlO,5;`O9eQ`O,5;`O?YQ`O,5:XO!)[QlO,5:XO!CUQpO,5:XO$?YQ?MtO,5:XOOQO,5;`,5;`O$?dQpO'#IeO$?zQ`O,5@aOOQ!0Lf1G/r1G/rO$@SQpO'#IkO$@^Q`O,5@pOOQ!0Lb1G0y1G0yO#$`QpO,5:XOOQO'#Ig'#IgO$@fQpO,5:qOOQ!0Ln,5:q,5:qO#(ZQ`O1G0ZOOQ!0Lf1G0Z1G0ZO%[QlO1G0ZOOQ!0Lf1G0t1G0tO?YQ`O1G0tO!CUQpO1G0tO!C^QMhO1G0tOOQ!0Lb1G5|1G5|O!ByQ!0LrO1G0^OOQO1G0m1G0mO%[QlO1G0mO$@mQ!0LrO1G0mO$@xQ!0LrO1G0mO!CUQpO1G0^ODWQpO1G0^O$AWQ!0LrO1G0mOOQO1G0^1G0^O$AlQ!0MxO1G0mPOOO-E<[-E<[POOO1G.h1G.hOOOO1G/i1G/iO$AvQ!bO,5QQpO,5@}OOQ!0Lb1G3c1G3cOOQ[7+$V7+$VO@zQ`O7+$VO9uQ!0LrO7+$VO%>]Q`O7+$VO%[QlO1G6lO%[QlO1G6mO%>bQ!0LrO1G6lO%>lQlO1G3kO%>sQ`O1G3kO%>xQlO1G3kOOQ[7+)T7+)TO9uQ!0LrO7+)_O`QlO7+)aOOQ['#Kh'#KhOOQ['#JS'#JSO%?PQlO,5>`OOQ[,5>`,5>`O%[QlO'#HuO%?^Q`O'#HwOOQ[,5>f,5>fO9eQ`O,5>fOOQ[,5>h,5>hOOQ[7+)j7+)jOOQ[7+)p7+)pOOQ[7+)t7+)tOOQ[7+)v7+)vO%?cQpO1G5|O%?}Q?MtO1G0zO%@XQ`O1G0zOOQO1G/s1G/sO%@dQ?MtO1G/sO?YQ`O1G/sO!)[QlO'#DmOOQO,5?P,5?POOQO-ERQ`O7+,WO&>WQ`O7+,XO%[QlO7+,WO%[QlO7+,XOOQ[7+)V7+)VO&>]Q`O7+)VO&>bQlO7+)VO&>iQ`O7+)VOOQ[<nQ`O,5>aOOQ[,5>c,5>cO&>sQ`O1G4QO9eQ`O7+&fO!)[QlO7+&fOOQO7+%_7+%_O&>xQ?MtO1G6ZO?YQ`O7+%_OOQ!0Lf<yQ?MvO,5?aO'@|Q?MvO,5?cO'CPQ?MvO7+'|O'DuQMjOG27TOOQO<VO!l$xO#jROe!iOpkOrPO(T)]O(VTO(YUO(aVO(o[O~O!]$_Oa$qa'z$qa'w$qa!k$qa!Y$qa!_$qa%i$qa!g$qa~Ol)dO~P!&zOh%VOp%WOr%XOs$tOt$tOz%YO|%ZO!O%]O!S${O!_$|O!i%bO!l$xO#j%cO$W%`O$t%^O$v%_O$y%aO(T(vO(VTO(YUO(a$uO(y$}O(z%PO~Og(pP~P!,TO!Q)iO!g)hO!_$^X$Z$^X$]$^X$_$^X$f$^X~O!g)hO!_({X$Z({X$]({X$_({X$f({X~O!Q)iO~P!.^O!Q)iO!_({X$Z({X$]({X$_({X$f({X~O!_)kO$Z)oO$])jO$_)jO$f)pO~O![)sO~P!)[O$]$hO$_$gO$f)wO~On$zX!Q$zX#S$zX'y$zX(y$zX(z$zX~OgmXg$zXnmX!]mX#`mX~P!0SOx)yO(b)zO(c)|O~On*VO!Q*OO'y*PO(y$}O(z%PO~Og)}O~P!1WOg*WO~Oh%VOr%XOs$tOt$tOz%YO|%ZO!OVO!l$xO#jVO!l$xO#jROe!iOpkOrPO(VTO(YUO(aVO(o[O~O(T=QO~P#$qO!]-]O!^(iX~O!^-_O~O!g-VO#`-UO!]#hX!^#hX~O!]-`O!^(xX~O!^-bO~O!c-cO!d-cO(U!lO~P#$`O!^-fO~P'_On-iO!_'`O~O!Y-nO~Os!{a!b!{a!c!{a!d!{a#T!{a#U!{a#V!{a#W!{a#X!{a#[!{a#]!{a(U!{a(V!{a(Y!{a(e!{a(o!{a~P!#vO!p-sO#`-qO~PChO!c-uO!d-uO(U!lO~PDWOa%nO#`-qO'z%nO~Oa%nO!g#vO#`-qO'z%nO~Oa%nO!g#vO!p-sO#`-qO'z%nO(r'pO~O(P'xO(Q'xO(R-zO~Ov-{O~O!Y'Wa!]'Wa~P!:tO![.PO!Y'WX!]'WX~P%[O!](VO!Y(ha~O!Y(ha~PHRO!](^O!Y(va~O!S%hO![.TO!_%iO(T%gO!Y'^X!]'^X~O#`.VO!](ta!k(taa(ta'z(ta~O!g#vO~P#,wO!](jO!k(sa~O!S%hO!_%iO#j.ZO(T%gO~Op.`O!S%hO![.]O!_%iO!|]O#i._O#j.]O(T%gO!]'aX!k'aX~OR.dO!l#xO~Oh%VOn.gO!_'`O%i.fO~Oa#ci!]#ci'z#ci'w#ci!Y#ci!k#civ#ci!_#ci%i#ci!g#ci~P!:tOn>]O!Q*OO'y*PO(y$}O(z%PO~O#k#_aa#_a#`#_a'z#_a!]#_a!k#_a!_#_a!Y#_a~P#/sO#k(`XP(`XR(`X[(`Xa(`Xj(`Xr(`X!S(`X!l(`X!p(`X#R(`X#n(`X#o(`X#p(`X#q(`X#r(`X#s(`X#t(`X#u(`X#v(`X#x(`X#z(`X#{(`X'z(`X(a(`X(r(`X!k(`X!Y(`X'w(`Xv(`X!_(`X%i(`X!g(`X~P!6kO!].tO!k(kX~P!:tO!k.wO~O!Y.yO~OP$[OR#zO!Q#yO!S#{O!l#xO!p$[O(aVO[#mia#mij#mir#mi!]#mi#R#mi#o#mi#p#mi#q#mi#r#mi#s#mi#t#mi#u#mi#v#mi#x#mi#z#mi#{#mi'z#mi(r#mi(y#mi(z#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#n#mi~P#3cO#n$OO~P#3cOP$[OR#zOr$aO!Q#yO!S#{O!l#xO!p$[O#n$OO#o$PO#p$PO#q$PO(aVO[#mia#mij#mi!]#mi#R#mi#s#mi#t#mi#u#mi#v#mi#x#mi#z#mi#{#mi'z#mi(r#mi(y#mi(z#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#r#mi~P#6QO#r$QO~P#6QOP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO(aVOa#mi!]#mi#x#mi#z#mi#{#mi'z#mi(r#mi(y#mi(z#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#v#mi~P#8oOP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO#v$SO(aVO(z#}Oa#mi!]#mi#z#mi#{#mi'z#mi(r#mi(y#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#x$UO~P#;VO#x#mi~P#;VO#v$SO~P#8oOP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO#v$SO#x$UO(aVO(y#|O(z#}Oa#mi!]#mi#{#mi'z#mi(r#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#z#mi~P#={O#z$WO~P#={OP]XR]X[]Xj]Xr]X!Q]X!S]X!l]X!p]X#R]X#S]X#`]X#kfX#n]X#o]X#p]X#q]X#r]X#s]X#t]X#u]X#v]X#x]X#z]X#{]X$Q]X(a]X(r]X(y]X(z]X!]]X!^]X~O$O]X~P#@jOP$[OR#zO[]O!Q*OO'y*PO(y$}O(z%POP#miR#mi!S#mi!l#mi!p#mi#n#mi#o#mi#p#mi#q#mi(a#mi~P#EyO!]/POg(pX~P!1WOg/RO~Oa$Pi!]$Pi'z$Pi'w$Pi!Y$Pi!k$Piv$Pi!_$Pi%i$Pi!g$Pi~P!:tO$]/SO$_/SO~O$]/TO$_/TO~O!g)hO#`/UO!_$cX$Z$cX$]$cX$_$cX$f$cX~O![/VO~O!_)kO$Z/XO$])jO$_)jO$f/YO~O!]VO!l$xO#j^O!Q*OO'y*PO(y$}O(z%POP#miR#mi!S#mi!l#mi!p#mi#n#mi#o#mi#p#mi#q#mi(a#mi~P&,QO#S$dOP(`XR(`X[(`Xj(`Xn(`Xr(`X!Q(`X!S(`X!l(`X!p(`X#R(`X#n(`X#o(`X#p(`X#q(`X#r(`X#s(`X#t(`X#u(`X#v(`X#x(`X#z(`X#{(`X$O(`X'y(`X(a(`X(r(`X(y(`X(z(`X!](`X!^(`X~O$O$Pi!]$Pi!^$Pi~P#BwO$O!ri!^!ri~P$+oOg']a!]']a~P!1WO!^7nO~O!]'da!^'da~P#BwO!Y7oO~P#/sO!g#vO(r'pO!]'ea!k'ea~O!]/pO!k)Oi~O!]/pO!g#vO!k)Oi~Og$|q!]$|q#`$|q$O$|q~P!1WO!Y'ga!]'ga~P#/sO!g7vO~O!]/yO!Y)Pi~P#/sO!]/yO!Y)Pi~O!Y7yO~Oh%VOr8OO!l%eO(r'pO~Oj8QO!g#vO~Or8TO!g#vO(r'pO~O!Q*OO'y*PO(z%POn'ja(y'ja!]'ja#`'ja~Og'ja$O'ja~P&5RO!Q*OO'y*POn'la(y'la(z'la!]'la#`'la~Og'la$O'la~P&5tOg(_q!](_q~P!1WO#`8VOg(_q!](_q~P!1WO!Y8WO~Og%Oq!]%Oq#`%Oq$O%Oq~P!1WOa$oy!]$oy'z$oy'w$oy!Y$oy!k$oyv$oy!_$oy%i$oy!g$oy~P!:tO!g6rO~O!]5[O!_)Qa~O!_'`OP$TaR$Ta[$Taj$Tar$Ta!Q$Ta!S$Ta!]$Ta!l$Ta!p$Ta#R$Ta#n$Ta#o$Ta#p$Ta#q$Ta#r$Ta#s$Ta#t$Ta#u$Ta#v$Ta#x$Ta#z$Ta#{$Ta(a$Ta(r$Ta(y$Ta(z$Ta~O%i7WO~P&8fO%^8[Oa%[i!_%[i'z%[i!]%[i~Oa#cy!]#cy'z#cy'w#cy!Y#cy!k#cyv#cy!_#cy%i#cy!g#cy~P!:tO[8^O~Ob8`O(T+qO(VTO(YUO~O!]1TO!^)Xi~O`8dO~O(e(|O!]'pX!^'pX~O!]5uO!^)Ua~O!^8nO~P%;eO(o!sO~P$&YO#[8oO~O!_1oO~O!_1oO%i8qO~On8tO!_1oO%i8qO~O[8yO!]'sa!^'sa~O!]1zO!^)Vi~O!k8}O~O!k9OO~O!k9RO~O!k9RO~P%[Oa9TO~O!g9UO~O!k9VO~O!](wi!^(wi~P#BwOa%nO#`9_O'z%nO~O!](ty!k(tya(ty'z(ty~P!:tO!](jO!k(sy~O%i9bO~P&8fO!_'`O%i9bO~O#k$|qP$|qR$|q[$|qa$|qj$|qr$|q!S$|q!]$|q!l$|q!p$|q#R$|q#n$|q#o$|q#p$|q#q$|q#r$|q#s$|q#t$|q#u$|q#v$|q#x$|q#z$|q#{$|q'z$|q(a$|q(r$|q!k$|q!Y$|q'w$|q#`$|qv$|q!_$|q%i$|q!g$|q~P#/sO#k'jaP'jaR'ja['jaa'jaj'jar'ja!S'ja!l'ja!p'ja#R'ja#n'ja#o'ja#p'ja#q'ja#r'ja#s'ja#t'ja#u'ja#v'ja#x'ja#z'ja#{'ja'z'ja(a'ja(r'ja!k'ja!Y'ja'w'jav'ja!_'ja%i'ja!g'ja~P&5RO#k'laP'laR'la['laa'laj'lar'la!S'la!l'la!p'la#R'la#n'la#o'la#p'la#q'la#r'la#s'la#t'la#u'la#v'la#x'la#z'la#{'la'z'la(a'la(r'la!k'la!Y'la'w'lav'la!_'la%i'la!g'la~P&5tO#k%OqP%OqR%Oq[%Oqa%Oqj%Oqr%Oq!S%Oq!]%Oq!l%Oq!p%Oq#R%Oq#n%Oq#o%Oq#p%Oq#q%Oq#r%Oq#s%Oq#t%Oq#u%Oq#v%Oq#x%Oq#z%Oq#{%Oq'z%Oq(a%Oq(r%Oq!k%Oq!Y%Oq'w%Oq#`%Oqv%Oq!_%Oq%i%Oq!g%Oq~P#/sO!]'Yi!k'Yi~P!:tO$O#cq!]#cq!^#cq~P#BwO(y$}OP%aaR%aa[%aaj%aar%aa!S%aa!l%aa!p%aa#R%aa#n%aa#o%aa#p%aa#q%aa#r%aa#s%aa#t%aa#u%aa#v%aa#x%aa#z%aa#{%aa$O%aa(a%aa(r%aa!]%aa!^%aa~On%aa!Q%aa'y%aa(z%aa~P&IyO(z%POP%caR%ca[%caj%car%ca!S%ca!l%ca!p%ca#R%ca#n%ca#o%ca#p%ca#q%ca#r%ca#s%ca#t%ca#u%ca#v%ca#x%ca#z%ca#{%ca$O%ca(a%ca(r%ca!]%ca!^%ca~On%ca!Q%ca'y%ca(y%ca~P&LQOn>^O!Q*OO'y*PO(z%PO~P&IyOn>^O!Q*OO'y*PO(y$}O~P&LQOR0kO!Q0kO!S0lO#S$dOP}a[}aj}an}ar}a!l}a!p}a#R}a#n}a#o}a#p}a#q}a#r}a#s}a#t}a#u}a#v}a#x}a#z}a#{}a$O}a'y}a(a}a(r}a(y}a(z}a!]}a!^}a~O!Q*OO'y*POP$saR$sa[$saj$san$sar$sa!S$sa!l$sa!p$sa#R$sa#n$sa#o$sa#p$sa#q$sa#r$sa#s$sa#t$sa#u$sa#v$sa#x$sa#z$sa#{$sa$O$sa(a$sa(r$sa(y$sa(z$sa!]$sa!^$sa~O!Q*OO'y*POP$uaR$ua[$uaj$uan$uar$ua!S$ua!l$ua!p$ua#R$ua#n$ua#o$ua#p$ua#q$ua#r$ua#s$ua#t$ua#u$ua#v$ua#x$ua#z$ua#{$ua$O$ua(a$ua(r$ua(y$ua(z$ua!]$ua!^$ua~On>^O!Q*OO'y*PO(y$}O(z%PO~OP%TaR%Ta[%Taj%Tar%Ta!S%Ta!l%Ta!p%Ta#R%Ta#n%Ta#o%Ta#p%Ta#q%Ta#r%Ta#s%Ta#t%Ta#u%Ta#v%Ta#x%Ta#z%Ta#{%Ta$O%Ta(a%Ta(r%Ta!]%Ta!^%Ta~P''VO$O$mq!]$mq!^$mq~P#BwO$O$oq!]$oq!^$oq~P#BwO!^9oO~O$O9pO~P!1WO!g#vO!]'ei!k'ei~O!g#vO(r'pO!]'ei!k'ei~O!]/pO!k)Oq~O!Y'gi!]'gi~P#/sO!]/yO!Y)Pq~Or9wO!g#vO(r'pO~O[9yO!Y9xO~P#/sO!Y9xO~Oj:PO!g#vO~Og(_y!](_y~P!1WO!]'na!_'na~P#/sOa%[q!_%[q'z%[q!]%[q~P#/sO[:UO~O!]1TO!^)Xq~O`:YO~O#`:ZO!]'pa!^'pa~O!]5uO!^)Ui~P#BwO!S:]O~O!_1oO%i:`O~O(VTO(YUO(e:eO~O!]1zO!^)Vq~O!k:hO~O!k:iO~O!k:jO~O!k:jO~P%[O#`:mO!]#hy!^#hy~O!]#hy!^#hy~P#BwO%i:rO~P&8fO!_'`O%i:rO~O$O#|y!]#|y!^#|y~P#BwOP$|iR$|i[$|ij$|ir$|i!S$|i!l$|i!p$|i#R$|i#n$|i#o$|i#p$|i#q$|i#r$|i#s$|i#t$|i#u$|i#v$|i#x$|i#z$|i#{$|i$O$|i(a$|i(r$|i!]$|i!^$|i~P''VO!Q*OO'y*PO(z%POP'iaR'ia['iaj'ian'iar'ia!S'ia!l'ia!p'ia#R'ia#n'ia#o'ia#p'ia#q'ia#r'ia#s'ia#t'ia#u'ia#v'ia#x'ia#z'ia#{'ia$O'ia(a'ia(r'ia(y'ia!]'ia!^'ia~O!Q*OO'y*POP'kaR'ka['kaj'kan'kar'ka!S'ka!l'ka!p'ka#R'ka#n'ka#o'ka#p'ka#q'ka#r'ka#s'ka#t'ka#u'ka#v'ka#x'ka#z'ka#{'ka$O'ka(a'ka(r'ka(y'ka(z'ka!]'ka!^'ka~O(y$}OP%aiR%ai[%aij%ain%air%ai!Q%ai!S%ai!l%ai!p%ai#R%ai#n%ai#o%ai#p%ai#q%ai#r%ai#s%ai#t%ai#u%ai#v%ai#x%ai#z%ai#{%ai$O%ai'y%ai(a%ai(r%ai(z%ai!]%ai!^%ai~O(z%POP%ciR%ci[%cij%cin%cir%ci!Q%ci!S%ci!l%ci!p%ci#R%ci#n%ci#o%ci#p%ci#q%ci#r%ci#s%ci#t%ci#u%ci#v%ci#x%ci#z%ci#{%ci$O%ci'y%ci(a%ci(r%ci(y%ci!]%ci!^%ci~O$O$oy!]$oy!^$oy~P#BwO$O#cy!]#cy!^#cy~P#BwO!g#vO!]'eq!k'eq~O!]/pO!k)Oy~O!Y'gq!]'gq~P#/sOr:|O!g#vO(r'pO~O[;QO!Y;PO~P#/sO!Y;PO~Og(_!R!](_!R~P!1WOa%[y!_%[y'z%[y!]%[y~P#/sO!]1TO!^)Xy~O!]5uO!^)Uq~O(T;XO~O!_1oO%i;[O~O!k;_O~O%i;dO~P&8fOP$|qR$|q[$|qj$|qr$|q!S$|q!l$|q!p$|q#R$|q#n$|q#o$|q#p$|q#q$|q#r$|q#s$|q#t$|q#u$|q#v$|q#x$|q#z$|q#{$|q$O$|q(a$|q(r$|q!]$|q!^$|q~P''VO!Q*OO'y*PO(z%POP'jaR'ja['jaj'jan'jar'ja!S'ja!l'ja!p'ja#R'ja#n'ja#o'ja#p'ja#q'ja#r'ja#s'ja#t'ja#u'ja#v'ja#x'ja#z'ja#{'ja$O'ja(a'ja(r'ja(y'ja!]'ja!^'ja~O!Q*OO'y*POP'laR'la['laj'lan'lar'la!S'la!l'la!p'la#R'la#n'la#o'la#p'la#q'la#r'la#s'la#t'la#u'la#v'la#x'la#z'la#{'la$O'la(a'la(r'la(y'la(z'la!]'la!^'la~OP%OqR%Oq[%Oqj%Oqr%Oq!S%Oq!l%Oq!p%Oq#R%Oq#n%Oq#o%Oq#p%Oq#q%Oq#r%Oq#s%Oq#t%Oq#u%Oq#v%Oq#x%Oq#z%Oq#{%Oq$O%Oq(a%Oq(r%Oq!]%Oq!^%Oq~P''VOg%e!Z!]%e!Z#`%e!Z$O%e!Z~P!1WO!Y;hO~P#/sOr;iO!g#vO(r'pO~O[;kO!Y;hO~P#/sO!]'pq!^'pq~P#BwO!]#h!Z!^#h!Z~P#BwO#k%e!ZP%e!ZR%e!Z[%e!Za%e!Zj%e!Zr%e!Z!S%e!Z!]%e!Z!l%e!Z!p%e!Z#R%e!Z#n%e!Z#o%e!Z#p%e!Z#q%e!Z#r%e!Z#s%e!Z#t%e!Z#u%e!Z#v%e!Z#x%e!Z#z%e!Z#{%e!Z'z%e!Z(a%e!Z(r%e!Z!k%e!Z!Y%e!Z'w%e!Z#`%e!Zv%e!Z!_%e!Z%i%e!Z!g%e!Z~P#/sOr;tO!g#vO(r'pO~O!Y;uO~P#/sOr;|O!g#vO(r'pO~O!Y;}O~P#/sOP%e!ZR%e!Z[%e!Zj%e!Zr%e!Z!S%e!Z!l%e!Z!p%e!Z#R%e!Z#n%e!Z#o%e!Z#p%e!Z#q%e!Z#r%e!Z#s%e!Z#t%e!Z#u%e!Z#v%e!Z#x%e!Z#z%e!Z#{%e!Z$O%e!Z(a%e!Z(r%e!Z!]%e!Z!^%e!Z~P''VOrROe!iOpkOrPO(T)]O(VTO(YUO(aVO(o[O~O!]WO!l$xO#jgPPP!>oI[PPPPPPPPP!BOP!C]PPI[!DnPI[PI[I[I[I[I[PI[!FQP!I[P!LbP!Lf!Lp!Lt!LtP!IXP!Lx!LxP#!OP#!SI[PI[#!Y#%_CjA^PA^PA^A^P#&lA^A^#)OA^#+vA^#.SA^A^#.r#1W#1W#1]#1f#1W#1qPP#1WPA^#2ZA^#6YA^A^6mPPP#:_PPP#:x#:xP#:xP#;`#:xPP#;fP#;]P#;]#;y#;]#P#>V#>]#>k#>q#>{#?R#?]#?c#?s#?y#@k#@}#AT#AZ#Ai#BO#Cs#DR#DY#Et#FS#Gt#HS#HY#H`#Hf#Hp#Hv#H|#IW#Ij#IpPPPPPPPPPPP#IvPPPPPPP#Jk#Mx$ b$ i$ qPPP$']P$'f$*_$0x$0{$1O$1}$2Q$2X$2aP$2g$2jP$3W$3[$4S$5b$5g$5}PP$6S$6Y$6^$6a$6e$6i$7e$7|$8e$8i$8l$8o$8y$8|$9Q$9UR!|RoqOXst!Z#d%m&r&t&u&w,s,x2[2_Y!vQ'`-e1o5{Q%tvQ%|yQ&T|Q&j!VS'W!e-]Q'f!iS'l!r!yU*k$|*Z*oQ+o%}S+|&V&WQ,d&dQ-c'_Q-m'gQ-u'mQ0[*qQ1b,OQ1y,eR<{SU+P%]S!S!nQ!r!v!y!z$|'W'_'`'l'm'n*k*o*q*r-]-c-e-u0[0_1o5{5}%[$ti#v$b$c$d$x${%O%Q%^%_%c)y*R*T*V*Y*a*g*w*x+f+i,S,V.f/P/d/m/x/y/{0`0b0i0j0o1f1i1q3c4^4_4j4o5Q5[5_6S7W7v8Q8V8[8q9b9p9y:P:`:r;Q;[;d;kP>X>Y>]>^Q&X|Q'U!eS'[%i-`Q+t&PQ,P&WQ,f&gQ0n+SQ1Y+uQ1_+{Q2Q,jQ2R,kQ5f1TQ5o1aQ6[1zQ6_1|Q6`2PQ8`5gQ8c5lQ8|6bQ:X8dQ:f8yQ;V:YR<}*ZrnOXst!V!Z#d%m&i&r&t&u&w,s,x2[2_R,h&k&z^OPXYstuvwz!Z!`!g!j!o#S#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%m%t&R&k&n&o&r&t&u&w&{'T'b'r(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:mR>S[#]WZ#W#Z'X(T!b%jm#h#i#l$x%e%h(^(h(i(j*Y*^*b+Z+[+^,o-V.T.Z.[.]._/m/p2d3[3]4a6r7TQ%wxQ%{yW&Q|&V&W,OQ&_!TQ'c!hQ'e!iQ(q#sS+n%|%}Q+r&PQ,_&bQ,c&dS-l'f'gQ.i(rQ1R+oQ1X+uQ1Z+vQ1^+zQ1t,`S1x,d,eQ2|-mQ5e1TQ5i1WQ5n1`Q6Z1yQ8_5gQ8b5kQ8f5pQ:T8^R;T:U!U$zi$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Y!^%yy!i!u%{%|%}'V'e'f'g'k'u*j+n+o-Y-l-m-t0R0U1R2u2|3T4r4s4v7}9{Q+h%wQ,T&[Q,W&]Q,b&dQ.h(qQ1s,_U1w,c,d,eQ3e.iQ6U1tS6Y1x1yQ8x6Z#f>T#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k]>^o>UPS&[!Q&iQ&]!RQ&^!SU*}%[%d=sR,R&Y%]%Si#v$b$c$d$x${%O%Q%^%_%c)y*R*T*V*Y*a*g*w*x+f+i,S,V.f/P/d/m/x/y/{0`0b0i0j0o1f1i1q3c4^4_4j4o5Q5[5_6S7W7v8Q8V8[8q9b9p9y:P:`:r;Q;[;d;kP>X>Y>]>^T)z$u){V+P%]S$i$^c#Y#e%q%s%u(S(Y(t(y)R)S)T)U)V)W)X)Y)Z)[)^)`)b)g)q+d+x-Z-x-}.S.U.s.v.z.|.}/O/b0p2k2n3O3V3k3p3q3r3s3t3u3v3w3x3y3z3{3|4P4Q4X5X5c6u6{7Q7a7b7k7l8k9X9]9g9m9n:o;W;`SQ'Y!eR2q-]!W!nQ!e!r!v!y!z$|'W'_'`'l'm'n*Z*k*o*q*r-]-c-e-u0[0_1o5{5}R1l,ZnqOXst!Z#d%m&r&t&u&w,s,x2[2_Q&y!^Q'v!xS(s#u<^Q+l%zQ,]&_Q,^&aQ-j'dQ-w'oS.r(x=PS0q+X=ZQ1P+mQ1n,[Q2c,zQ2e,{Q2m-WQ2z-kQ2}-oS5Y0r=eQ5a1QS5d1S=fQ6t2oQ6x2{Q6}3SQ8]5bQ9Y6vQ9Z6yQ9^7OR:l9V$d$]c#Y#e%s%u(S(Y(t(y)R)S)T)U)V)W)X)Y)Z)[)^)`)b)g)q+d+x-Z-x-}.S.U.s.v.z.}/O/b0p2k2n3O3V3k3p3q3r3s3t3u3v3w3x3y3z3{3|4P4Q4X5X5c6u6{7Q7a7b7k7l8k9X9]9g9m9n:o;W;`SS#q]SU$fd)_,mS(p#p'iU*v%R(w4OU0m+O.n7gQ5^0xQ7V3`Q9d7YR:s9em!tQ!r!v!y!z'`'l'm'n-e-u1o5{5}Q't!uS(f#g2US-s'k'wQ/s*]Q0R*jQ3U-vQ4f/tQ4r0TQ4s0UQ4x0^Q7r4`S7}4t4vS8R4y4{Q9r7sQ9v7yQ9{8OQ:Q8TS:{9w9xS;g:|;PS;s;h;iS;{;t;uSSR=o>R%^bOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&o&r&t&u&w&{'T'b'r(T(V(](d(x(z)O)}*i+X+]+g,p,s,x-i-q.P.V.g.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3d3l4z6T6e6f6i6|7[8t9T9_Q%fj!^%xy!i!u%{%|%}'V'e'f'g'k'u*j+n+o-Y-l-m-t0R0U1R2u2|3T4r4s4v7}9{S&Oz!jQ+k%yQ,a&dW1v,b,c,d,eU6X1w1x1yS8w6Y6ZQ:d8x!r=j$Z$n'X)s-U-X/V2p4T5w6s:Z:mSQ=t>QR=u>R%QeOPXYstuvw!Z!`!g!o#S#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&r&t&u&w&{'T'b'r(V(](d(x(z)O)}*i+X+]+g,p,s,x-i-q.P.V.g.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3d3l4z6T6e6f6i6|7[8t9T9_Y#bWZ#W#Z(T!b%jm#h#i#l$x%e%h(^(h(i(j*Y*^*b+Z+[+^,o-V.T.Z.[.]._/m/p2d3[3]4a6r7TQ,n&o!p=k$Z$n)s-U-X/V2p4T5w6s:Z:mSR=n'XU']!e%i*ZR2s-`%SdOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&r&t&u&w&{'T'b'r(T(V(](d(x(z)O)}*i+X+],p,s,x-i-q.P.V.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3l4z6T6e6f6i6|8t9T9_!r)_$Z$n'X)s-U-X/V2p4T5w6s:Z:mSQ,m&oQ0x+gQ3`.gQ7Y3dR9e7[!b$Tc#Y%q(S(Y(t(y)Z)[)`)g+x-x-}.S.U.s.v/b0p3O3V3k3{5X5c6{7Q7a9]:oS)^)q-Z.|2k2n3p4P4X6u7b7k7l8k9X9g9m9n;W;`=vQ>X>ZR>Y>['QkOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%m%t&R&k&n&o&r&t&u&w&{'T'X'b'r(T(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:mSS$oh$pR4U/U'XgOPWXYZhstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n$p%m%t&R&k&n&o&r&t&u&w&{'T'X'b'r(T(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/U/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:mST$kf$qQ$ifS)j$l)nR)v$qT$jf$qT)l$l)n'XhOPWXYZhstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n$p%m%t&R&k&n&o&r&t&u&w&{'T'X'b'r(T(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/U/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:mST$oh$pQ$rhR)u$p%^jOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&o&r&t&u&w&{'T'b'r(T(V(](d(x(z)O)}*i+X+]+g,p,s,x-i-q.P.V.g.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3d3l4z6T6e6f6i6|7[8t9T9_!s>Q$Z$n'X)s-U-X/V2p4T5w6s:Z:mS#glOPXZst!Z!`!o#S#d#o#{$n%m&k&n&o&r&t&u&w&{'T'b)O)s*i+]+g,p,s,x-i.g/V/n0]0l1r2S2T2V2X2[2_2a3d4T4z6T6e6f6i7[8t9T!U%Ri$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Y#f(w#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k]>^Q+T%aQ/c*Oo4OP>X>YQ*c$zU*l$|*Z*oQ+U%bQ0W*m#f=q#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k]>^n=rTQ=x>UQ=y>VR=z>W!U%Ri$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Y#f(w#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k]>^o4OP>X>Y>]>^Q,U&]Q1h,WQ5s1gR8h5tV*n$|*Z*oU*n$|*Z*oT5z1o5{S0P*i/nQ4w0]T8S4z:]Q+j%xQ0V*lQ1O+kQ1u,aQ6W1vQ8v6XQ:c8wR;^:d!U%Oi$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Yx*R$v)e*S*u+V/v0d0e4R4g5R5S5W7p8U:R:x=p=}>OS0`*t0a#f]>^nZ>[`=T3}7c7f7j9h:t:w;yS=_.l3iT=`7e9k!U%Qi$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Y|*T$v)e*U*t+V/g/v0d0e4R4g4|5R5S5W7p8U:R:x=p=}>OS0b*u0c#f]>^nZ>[d=V3}7d7e7j9h9i:t:u:w;yS=a.m3jT=b7f9lrnOXst!V!Z#d%m&i&r&t&u&w,s,x2[2_Q&f!UR,p&ornOXst!V!Z#d%m&i&r&t&u&w,s,x2[2_R&f!UQ,Y&^R1d,RsnOXst!V!Z#d%m&i&r&t&u&w,s,x2[2_Q1p,_S6R1s1tU8p6P6Q6US:_8r8sS;Y:^:aQ;m;ZR;w;nQ&m!VR,i&iR6_1|R:f8yW&Q|&V&W,OR1Z+vQ&r!WR,s&sR,y&xT2],x2_R,}&yQ,|&yR2f,}Q'y!{R-y'ySsOtQ#dXT%ps#dQ#OTR'{#OQ#RUR'}#RQ){$uR/`){Q#UVR(Q#UQ#XWU(W#X(X.QQ(X#YR.Q(YQ-^'YR2r-^Q.u(yS3m.u3nR3n.vQ-e'`R2v-eY!rQ'`-e1o5{R'j!rQ/Q)eR4S/QU#_W%h*YU(_#_(`.RQ(`#`R.R(ZQ-a']R2t-at`OXst!V!Z#d%m&i&k&r&t&u&w,s,x2[2_S#hZ%eU#r`#h.[R.[(jQ(k#jQ.X(gW.a(k.X3X7RQ3X.YR7R3YQ)n$lR/W)nQ$phR)t$pQ$`cU)a$`-|O>Z>[Q/z*eU4k/z4m7xQ4m/|R7x4lS*o$|*ZR0Y*ox*S$v)e*t*u+V/v0d0e4R4g5R5S5W7p8U:R:x=p=}>O!d.j(u)c*[*e.l.m.q/_/k/|0v1e3h4[4h4l5r7]7`7w7z8X8Z9t9|:S:};R;e;j;v>Z>[U/h*S.j7ca7c3}7e7f7j9h:t:w;yQ0a*tQ3i.lU4}0a3i9kR9k7e|*U$v)e*t*u+V/g/v0d0e4R4g4|5R5S5W7p8U:R:x=p=}>O!h.k(u)c*[*e.l.m.q/_/k/|0v1e3f3h4[4h4l5r7]7^7`7w7z8X8Z9t9|:S:};R;e;j;v>Z>[U/j*U.k7de7d3}7e7f7j9h9i:t:u:w;yQ0c*uQ3j.mU5P0c3j9lR9l7fQ*z%UR0g*zQ5]0vR8Y5]Q+_%kR0u+_Q5v1jS8j5v:[R:[8kQ,[&_R1m,[Q5{1oR8m5{Q1{,fS6]1{8zR8z6_Q1U+rW5h1U5j8a:VQ5j1XQ8a5iR:V8bQ+w&QR1[+wQ2_,xR6m2_YrOXst#dQ&v!ZQ+a%mQ,r&rQ,t&tQ,u&uQ,w&wQ2Y,sS2],x2_R6l2[Q%opQ&z!_Q&}!aQ'P!bQ'R!cQ'q!uQ+`%lQ+l%zQ,Q&XQ,h&mQ-P&|W-p'k's't'wQ-w'oQ0X*nQ1P+mQ1c,PS2O,i,lQ2g-OQ2h-RQ2i-SQ2}-oW3P-r-s-v-xQ5a1QQ5m1_Q5q1eQ6V1uQ6a2QQ6k2ZU6z3O3R3UQ6}3SQ8]5bQ8e5oQ8g5rQ8l5zQ8u6WQ8{6`S9[6{7PQ9^7OQ:W8cQ:b8vQ:g8|Q:n9]Q;U:XQ;]:cQ;a:oQ;l;VR;o;^Q%zyQ'd!iQ'o!uU+m%{%|%}Q-W'VU-k'e'f'gS-o'k'uQ0Q*jS1Q+n+oQ2o-YS2{-l-mQ3S-tS4p0R0UQ5b1RQ6v2uQ6y2|Q7O3TU7{4r4s4vQ9z7}R;O9{S$wi>PR*{%VU%Ui%V>PR0f*yQ$viS(u#v+iS)c$b$cQ)e$dQ*[$xS*e${*YQ*t%OQ*u%QQ+Q%^Q+R%_Q+V%cQ.lPQ=}>XQ>O>YQ>Z>]R>[>^Q+O%]Q.nSR#[WR'Z!el!tQ!r!v!y!z'`'l'm'n-e-u1o5{5}S'V!e-]U*j$|*Z*oS-Y'W'_S0U*k*qQ0^*rQ2u-cQ4v0[R4{0_R({#xQ!fQT-d'`-e]!qQ!r'`-e1o5{Q#p]R'i < TypeParamList in out const TypeDefinition extends ThisType this LiteralType ArithOp Number BooleanLiteral TemplateType InterpolationEnd Interpolation InterpolationStart NullType null VoidType void TypeofType typeof MemberExpression . PropertyName [ TemplateString Escape Interpolation super RegExp ] ArrayExpression Spread , } { ObjectExpression Property async get set PropertyDefinition Block : NewTarget new NewExpression ) ( ArgList UnaryExpression delete LogicOp BitOp YieldExpression yield AwaitExpression await ParenthesizedExpression ClassExpression class ClassBody MethodDeclaration Decorator @ MemberExpression PrivatePropertyName CallExpression TypeArgList CompareOp < declare Privacy static abstract override PrivatePropertyDefinition PropertyDeclaration readonly accessor Optional TypeAnnotation Equals StaticBlock FunctionExpression ArrowFunction ParamList ParamList ArrayPattern ObjectPattern PatternProperty Privacy readonly Arrow MemberExpression BinaryExpression ArithOp ArithOp ArithOp ArithOp BitOp CompareOp instanceof satisfies CompareOp BitOp BitOp BitOp LogicOp LogicOp ConditionalExpression LogicOp LogicOp AssignmentExpression UpdateOp PostfixExpression CallExpression InstantiationExpression TaggedTemplateExpression DynamicImport import ImportMeta JSXElement JSXSelfCloseEndTag JSXSelfClosingTag JSXIdentifier JSXBuiltin JSXIdentifier JSXNamespacedName JSXMemberExpression JSXSpreadAttribute JSXAttribute JSXAttributeValue JSXEscape JSXEndTag JSXOpenTag JSXFragmentTag JSXText JSXEscape JSXStartCloseTag JSXCloseTag PrefixCast < ArrowFunction TypeParamList SequenceExpression InstantiationExpression KeyofType keyof UniqueType unique ImportType InferredType infer TypeName ParenthesizedType FunctionSignature ParamList NewSignature IndexedType TupleType Label ArrayType ReadonlyType ObjectType MethodType PropertyType IndexSignature PropertyDefinition CallSignature TypePredicate asserts is NewSignature new UnionType LogicOp IntersectionType LogicOp ConditionalType ParameterizedType ClassDeclaration abstract implements type VariableDeclaration let var using TypeAliasDeclaration InterfaceDeclaration interface EnumDeclaration enum EnumBody NamespaceDeclaration namespace module AmbientDeclaration declare GlobalDeclaration global ClassDeclaration ClassBody AmbientFunctionDeclaration ExportGroup VariableName VariableName ImportDeclaration defer ImportGroup ForStatement for ForSpec ForInSpec ForOfSpec of WhileStatement while WithStatement with DoStatement do IfStatement if else SwitchStatement switch SwitchBody CaseLabel case DefaultLabel TryStatement try CatchClause catch FinallyClause finally ReturnStatement return ThrowStatement throw BreakStatement break ContinueStatement continue DebuggerStatement debugger LabeledStatement ExpressionStatement SingleExpression SingleClassItem",maxTerm:380,context:n1,nodeProps:[["isolate",-8,5,6,14,37,39,51,53,55,""],["group",-26,9,17,19,68,207,211,215,216,218,221,224,234,237,243,245,247,249,252,258,264,266,268,270,272,274,275,"Statement",-34,13,14,32,35,36,42,51,54,55,57,62,70,72,76,80,82,84,85,110,111,120,121,136,139,141,142,143,144,145,147,148,167,169,171,"Expression",-23,31,33,37,41,43,45,173,175,177,178,180,181,182,184,185,186,188,189,190,201,203,205,206,"Type",-3,88,103,109,"ClassItem"],["openedBy",23,"<",38,"InterpolationStart",56,"[",60,"{",73,"(",160,"JSXStartCloseTag"],["closedBy",-2,24,168,">",40,"InterpolationEnd",50,"]",61,"}",74,")",165,"JSXEndTag"]],propSources:[c1],skippedNodes:[0,5,6,278],repeatNodeCount:37,tokenData:"$Fq07[R!bOX%ZXY+gYZ-yZ[+g[]%Z]^.c^p%Zpq+gqr/mrs3cst:_tuEruvJSvwLkwx! Yxy!'iyz!(sz{!)}{|!,q|}!.O}!O!,q!O!P!/Y!P!Q!9j!Q!R#:O!R![#<_![!]#I_!]!^#Jk!^!_#Ku!_!`$![!`!a$$v!a!b$*T!b!c$,r!c!}Er!}#O$-|#O#P$/W#P#Q$4o#Q#R$5y#R#SEr#S#T$7W#T#o$8b#o#p$x#r#s$@U#s$f%Z$f$g+g$g#BYEr#BY#BZ$A`#BZ$ISEr$IS$I_$A`$I_$I|Er$I|$I}$Dk$I}$JO$Dk$JO$JTEr$JT$JU$A`$JU$KVEr$KV$KW$A`$KW&FUEr&FU&FV$A`&FV;'SEr;'S;=`I|<%l?HTEr?HT?HU$A`?HUOEr(n%d_$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z&j&hT$i&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c&j&zP;=`<%l&c'|'U]$i&j(Z!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!b(SU(Z!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}!b(iP;=`<%l'}'|(oP;=`<%l&}'[(y]$i&j(WpOY(rYZ&cZr(rrs&cs!^(r!^!_)r!_#O(r#O#P&c#P#o(r#o#p)r#p;'S(r;'S;=`*a<%lO(rp)wU(WpOY)rZr)rs#O)r#P;'S)r;'S;=`*Z<%lO)rp*^P;=`<%l)r'[*dP;=`<%l(r#S*nX(Wp(Z!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g#S+^P;=`<%l*g(n+dP;=`<%l%Z07[+rq$i&j(Wp(Z!b'|0/lOX%ZXY+gYZ&cZ[+g[p%Zpq+gqr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p$f%Z$f$g+g$g#BY%Z#BY#BZ+g#BZ$IS%Z$IS$I_+g$I_$JT%Z$JT$JU+g$JU$KV%Z$KV$KW+g$KW&FU%Z&FU&FV+g&FV;'S%Z;'S;=`+a<%l?HT%Z?HT?HU+g?HUO%Z07[.ST(X#S$i&j'}0/lO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c07[.n_$i&j(Wp(Z!b'}0/lOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z)3p/x`$i&j!p),Q(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`0z!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW1V`#v(Ch$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`2X!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW2d_#v(Ch$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'At3l_(V':f$i&j(Z!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k(^4r_$i&j(Z!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k&z5vX$i&jOr5qrs6cs!^5q!^!_6y!_#o5q#o#p6y#p;'S5q;'S;=`7h<%lO5q&z6jT$d`$i&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c`6|TOr6yrs7]s;'S6y;'S;=`7b<%lO6y`7bO$d``7eP;=`<%l6y&z7kP;=`<%l5q(^7w]$d`$i&j(Z!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!r8uZ(Z!bOY8pYZ6yZr8prs9hsw8pwx6yx#O8p#O#P6y#P;'S8p;'S;=`:R<%lO8p!r9oU$d`(Z!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}!r:UP;=`<%l8p(^:[P;=`<%l4k%9[:hh$i&j(Wp(Z!bOY%ZYZ&cZq%Zqr`#P#o`x!^=^!^!_?q!_#O=^#O#P>`#P#o=^#o#p?q#p;'S=^;'S;=`@h<%lO=^&n>gXWS$i&jOY>`YZ&cZ!^>`!^!_?S!_#o>`#o#p?S#p;'S>`;'S;=`?k<%lO>`S?XSWSOY?SZ;'S?S;'S;=`?e<%lO?SS?hP;=`<%l?S&n?nP;=`<%l>`!f?xWWS(Z!bOY?qZw?qwx?Sx#O?q#O#P?S#P;'S?q;'S;=`@b<%lO?q!f@eP;=`<%l?q(Q@kP;=`<%l=^'`@w]WS$i&j(WpOY@nYZ&cZr@nrs>`s!^@n!^!_Ap!_#O@n#O#P>`#P#o@n#o#pAp#p;'S@n;'S;=`Bg<%lO@ntAwWWS(WpOYApZrAprs?Ss#OAp#O#P?S#P;'SAp;'S;=`Ba<%lOAptBdP;=`<%lAp'`BjP;=`<%l@n#WBvYWS(Wp(Z!bOYBmZrBmrs?qswBmwxApx#OBm#O#P?S#P;'SBm;'S;=`Cf<%lOBm#WCiP;=`<%lBm(rCoP;=`<%l^!Q^$i&j!X7`OY!=yYZ&cZ!P!=y!P!Q!>|!Q!^!=y!^!_!@c!_!}!=y!}#O!CW#O#P!Dy#P#o!=y#o#p!@c#p;'S!=y;'S;=`!Ek<%lO!=y|#X#Z&c#Z#[!>|#[#]&c#]#^!>|#^#a&c#a#b!>|#b#g&c#g#h!>|#h#i&c#i#j!>|#j#k!>|#k#m&c#m#n!>|#n#o&c#p;'S&c;'S;=`&w<%lO&c7`!@hX!X7`OY!@cZ!P!@c!P!Q!AT!Q!}!@c!}#O!Ar#O#P!Bq#P;'S!@c;'S;=`!CQ<%lO!@c7`!AYW!X7`#W#X!AT#Z#[!AT#]#^!AT#a#b!AT#g#h!AT#i#j!AT#j#k!AT#m#n!AT7`!AuVOY!ArZ#O!Ar#O#P!B[#P#Q!@c#Q;'S!Ar;'S;=`!Bk<%lO!Ar7`!B_SOY!ArZ;'S!Ar;'S;=`!Bk<%lO!Ar7`!BnP;=`<%l!Ar7`!BtSOY!@cZ;'S!@c;'S;=`!CQ<%lO!@c7`!CTP;=`<%l!@c^!Ezl$i&j(Z!b!X7`OY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#W&}#W#X!Eq#X#Z&}#Z#[!Eq#[#]&}#]#^!Eq#^#a&}#a#b!Eq#b#g&}#g#h!Eq#h#i&}#i#j!Eq#j#k!Eq#k#m&}#m#n!Eq#n#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}8r!GyZ(Z!b!X7`OY!GrZw!Grwx!@cx!P!Gr!P!Q!Hl!Q!}!Gr!}#O!JU#O#P!Bq#P;'S!Gr;'S;=`!J|<%lO!Gr8r!Hse(Z!b!X7`OY'}Zw'}x#O'}#P#W'}#W#X!Hl#X#Z'}#Z#[!Hl#[#]'}#]#^!Hl#^#a'}#a#b!Hl#b#g'}#g#h!Hl#h#i'}#i#j!Hl#j#k!Hl#k#m'}#m#n!Hl#n;'S'};'S;=`(f<%lO'}8r!JZX(Z!bOY!JUZw!JUwx!Arx#O!JU#O#P!B[#P#Q!Gr#Q;'S!JU;'S;=`!Jv<%lO!JU8r!JyP;=`<%l!JU8r!KPP;=`<%l!Gr>^!KZ^$i&j(Z!bOY!KSYZ&cZw!KSwx!CWx!^!KS!^!_!JU!_#O!KS#O#P!DR#P#Q!^!LYP;=`<%l!KS>^!L`P;=`<%l!_#c#d#Bq#d#l%Z#l#m#Es#m#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#>j_$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#?rd$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!R#AQ!R!S#AQ!S!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#AQ#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#A]f$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!R#AQ!R!S#AQ!S!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#AQ#S#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#Bzc$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!Y#DV!Y!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#DV#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#Dbe$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!Y#DV!Y!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#DV#S#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#E|g$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![#Ge![!^%Z!^!_*g!_!c%Z!c!i#Ge!i#O%Z#O#P&c#P#R%Z#R#S#Ge#S#T%Z#T#Z#Ge#Z#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#Gpi$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![#Ge![!^%Z!^!_*g!_!c%Z!c!i#Ge!i#O%Z#O#P&c#P#R%Z#R#S#Ge#S#T%Z#T#Z#Ge#Z#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z*)x#Il_!g$b$i&j$O)Lv(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z)[#Jv_al$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z04f#LS^h#)`#R-v$?V_!^(CdvBr$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z?O$@a_!q7`$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z07[$Aq|$i&j(Wp(Z!b'|0/l$]#t(T,2j(e$I[OX%ZXY+gYZ&cZ[+g[p%Zpq+gqr%Zrs&}st%ZtuEruw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Er![!^%Z!^!_*g!_!c%Z!c!}Er!}#O%Z#O#P&c#P#R%Z#R#SEr#S#T%Z#T#oEr#o#p*g#p$f%Z$f$g+g$g#BYEr#BY#BZ$A`#BZ$ISEr$IS$I_$A`$I_$JTEr$JT$JU$A`$JU$KVEr$KV$KW$A`$KW&FUEr&FU&FV$A`&FV;'SEr;'S;=`I|<%l?HTEr?HT?HU$A`?HUOEr07[$D|k$i&j(Wp(Z!b'}0/l$]#t(T,2j(e$I[OY%ZYZ&cZr%Zrs&}st%ZtuEruw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Er![!^%Z!^!_*g!_!c%Z!c!}Er!}#O%Z#O#P&c#P#R%Z#R#SEr#S#T%Z#T#oEr#o#p*g#p$g%Z$g;'SEr;'S;=`I|<%lOEr",tokenizers:[s1,o1,a1,l1,2,3,4,5,6,7,8,9,10,11,12,13,14,r1,new ki("$S~RRtu[#O#Pg#S#T#|~_P#o#pb~gOx~~jVO#i!P#i#j!U#j#l!P#l#m!q#m;'S!P;'S;=`#v<%lO!P~!UO!U~~!XS!Q![!e!c!i!e#T#Z!e#o#p#Z~!hR!Q![!q!c!i!q#T#Z!q~!tR!Q![!}!c!i!}#T#Z!}~#QR!Q![!P!c!i!P#T#Z!P~#^R!Q![#g!c!i#g#T#Z#g~#jS!Q![#g!c!i#g#T#Z#g#q#r!P~#yP;=`<%l!P~$RO(c~~",141,340),new ki("j~RQYZXz{^~^O(Q~~aP!P!Qd~iO(R~~",25,323)],topRules:{Script:[0,7],SingleExpression:[1,276],SingleClassItem:[2,277]},dialects:{jsx:0,ts:15175},dynamicPrecedences:{80:1,82:1,94:1,169:1,199:1},specialized:[{term:327,get:i=>h1[i]||-1},{term:343,get:i=>f1[i]||-1},{term:95,get:i=>u1[i]||-1}],tokenPrec:15201});var Vp=[he("function ${name}(${params}) {\n ${}\n}",{label:"function",detail:"definition",type:"keyword"}),he("for (let ${index} = 0; ${index} < ${bound}; ${index}++) {\n ${}\n}",{label:"for",detail:"loop",type:"keyword"}),he("for (let ${name} of ${collection}) {\n ${}\n}",{label:"for",detail:"of loop",type:"keyword"}),he("do {\n ${}\n} while (${})",{label:"do",detail:"loop",type:"keyword"}),he("while (${}) {\n ${}\n}",{label:"while",detail:"loop",type:"keyword"}),he(`try { \${} } catch (\${error}) { \${} @@ -26,16 +26,16 @@ constructor(\${params}) { \${} } -}`,{label:"class",detail:"definition",type:"keyword"}),he('import {${names}} from "${module}"\n${}',{label:"import",detail:"named",type:"keyword"}),he('import ${name} from "${module}"\n${}',{label:"import",detail:"default",type:"keyword"})],O1=Vp.concat([he("interface ${name} {\n ${}\n}",{label:"interface",detail:"definition",type:"keyword"}),he("type ${name} = ${type}",{label:"type",detail:"definition",type:"keyword"}),he("enum ${name} {\n ${}\n}",{label:"enum",detail:"definition",type:"keyword"})]),Mp=new pi,Dp=new Set(["Script","Block","FunctionExpression","FunctionDeclaration","ArrowFunction","MethodDeclaration","ForStatement"]);function $r(i){return(e,t)=>{let n=e.node.getChild("VariableDefinition");return n&&t(n,i),!0}}var d1=["FunctionDeclaration"],p1={FunctionDeclaration:$r("function"),ClassDeclaration:$r("class"),ClassExpression:()=>!0,EnumDeclaration:$r("constant"),TypeAliasDeclaration:$r("type"),NamespaceDeclaration:$r("namespace"),VariableDefinition(i,e){i.matchContext(d1)||e(i,"variable")},TypeDefinition(i,e){e(i,"type")},__proto__:null};function Yp(i,e){let t=Mp.get(e);if(t)return t;let n=[],r=!0;function s(o,a){let l=i.sliceString(o.from,o.to);n.push({label:l,type:a})}return e.cursor(te.IncludeAnonymous).iterate(o=>{if(r)r=!1;else if(o.name){let a=p1[o.name];if(a&&a(o,s)||Dp.has(o.name))return!1}else if(o.to-o.from>8192){for(let a of Yp(i,o.node))n.push(a);return!1}}),Mp.set(e,n),n}var Wp=/^[\w$\xa1-\uffff][\w$\d\xa1-\uffff]*$/,Ip=["TemplateString","String","RegExp","LineComment","BlockComment","VariableDefinition","TypeDefinition","Label","PropertyDefinition","PropertyName","PrivatePropertyDefinition","PrivatePropertyName","JSXText","JSXAttributeValue","JSXOpenTag","JSXCloseTag","JSXSelfClosingTag",".","?."];function m1(i){let e=U(i.state).resolveInner(i.pos,-1);if(Ip.indexOf(e.name)>-1)return null;let t=e.name=="VariableName"||e.to-e.from<20&&Wp.test(i.state.sliceDoc(e.from,e.to));if(!t&&!i.explicit)return null;let n=[];for(let r=e;r;r=r.parent)Dp.has(r.name)&&(n=n.concat(Yp(i.state.doc,r)));return{options:n,from:t?e.from:i.pos,validFor:Wp}}var Tt=Xe.define({name:"javascript",parser:Lp.configure({props:[Pe.add({IfStatement:Gt({except:/^\s*({|else\b)/}),TryStatement:Gt({except:/^\s*({|catch\b|finally\b)/}),LabeledStatement:hO,SwitchBody:i=>{let e=i.textAfter,t=/^\s*\}/.test(e),n=/^\s*(case|default)\b/.test(e);return i.baseIndent+(t?0:n?1:2)*i.unit},Block:wt({closing:"}"}),ArrowFunction:i=>i.baseIndent+i.unit,"TemplateString BlockComment":()=>null,"Statement Property":Gt({except:/^\s*{/}),JSXElement(i){let e=/^\s*<\//.test(i.textAfter);return i.lineIndent(i.node.from)+(e?0:i.unit)},JSXEscape(i){let e=/\s*\}/.test(i.textAfter);return i.lineIndent(i.node.from)+(e?0:i.unit)},"JSXOpenTag JSXSelfClosingTag"(i){return i.column(i.node.from)+i.unit}}),_e.add({"Block ClassBody SwitchBody EnumBody ObjectExpression ArrayExpression ObjectType":Ot,BlockComment(i){return{from:i.from+2,to:i.to-2}},JSXElement(i){let e=i.firstChild;if(!e||e.name=="JSXSelfClosingTag")return null;let t=i.lastChild;return{from:e.to,to:t.type.isError?i.to:t.from}},"JSXSelfClosingTag JSXOpenTag"(i){var e;let t=(e=i.firstChild)===null||e===void 0?void 0:e.nextSibling,n=i.lastChild;return!t||t.type.isError?null:{from:t.to,to:n.type.isError?i.to:n.from}}})]}),languageData:{closeBrackets:{brackets:["(","[","{","'",'"',"`"]},commentTokens:{line:"//",block:{open:"/*",close:"*/"}},indentOnInput:/^\s*(?:case |default:|\{|\}|<\/)$/,wordChars:"$"}}),Bp={test:i=>/^JSX/.test(i.name),facet:xn({commentTokens:{block:{open:"{/*",close:"*/}"}}})},Rc=Tt.configure({dialect:"ts"},"typescript"),Ac=Tt.configure({dialect:"jsx",props:[zs.add(i=>i.isTop?[Bp]:void 0)]}),Zc=Tt.configure({dialect:"jsx ts",props:[zs.add(i=>i.isTop?[Bp]:void 0)]},"typescript"),Up=i=>({label:i,type:"keyword"}),Gp="break case const continue default delete export extends false finally in instanceof let new return static super switch this throw true typeof var yield".split(" ").map(Up),g1=Gp.concat(["declare","implements","private","protected","public"].map(Up));function oo(i={}){let e=i.jsx?i.typescript?Zc:Ac:i.typescript?Rc:Tt,t=i.typescript?O1.concat(g1):Vp.concat(Gp);return new me(e,[Tt.data.of({autocomplete:Us(Ip,Bs(t))}),Tt.data.of({autocomplete:m1}),i.jsx?S1:[]])}function Q1(i){for(;;){if(i.name=="JSXOpenTag"||i.name=="JSXSelfClosingTag"||i.name=="JSXFragmentTag")return i;if(i.name=="JSXEscape"||!i.parent)return null;i=i.parent}}function jp(i,e,t=i.length){for(let n=e?.firstChild;n;n=n.nextSibling)if(n.name=="JSXIdentifier"||n.name=="JSXBuiltin"||n.name=="JSXNamespacedName"||n.name=="JSXMemberExpression")return i.sliceString(n.from,Math.min(n.to,t));return""}var b1=typeof navigator=="object"&&/Android\b/.test(navigator.userAgent),S1=q.inputHandler.of((i,e,t,n,r)=>{if((b1?i.composing:i.compositionStarted)||i.state.readOnly||e!=t||n!=">"&&n!="/"||!Tt.isActiveAt(i.state,e,-1))return!1;let s=r(),{state:o}=s,a=o.changeByRange(l=>{var c;let{head:h}=l,f=U(o).resolveInner(h-1,-1),u;if(f.name=="JSXStartTag"&&(f=f.parent),!(o.doc.sliceString(h-1,h)!=n||f.name=="JSXAttributeValue"&&f.to>h)){if(n==">"&&f.name=="JSXFragmentTag")return{range:l,changes:{from:h,insert:""}};if(n=="/"&&f.name=="JSXStartCloseTag"){let O=f.parent,m=O.parent;if(m&&O.from==h-2&&((u=jp(o.doc,m.firstChild,h))||((c=m.firstChild)===null||c===void 0?void 0:c.name)=="JSXFragmentTag")){let p=`${u}>`;return{range:v.cursor(h+p.length,-1),changes:{from:h,insert:p}}}}else if(n==">"){let O=Q1(f);if(O&&O.name=="JSXOpenTag"&&!/^\/?>|^<\//.test(o.doc.sliceString(h,h+2))&&(u=jp(o.doc,O,h)))return{range:l,changes:{from:h,insert:``}}}}return{range:l}});return a.changes.empty?!1:(i.dispatch([s,o.update(a,{userEvent:"input.complete",scrollIntoView:!0})]),!0)});var Tr=["_blank","_self","_top","_parent"],Ec=["ascii","utf-8","utf-16","latin1","latin1"],qc=["get","post","put","delete"],zc=["application/x-www-form-urlencoded","multipart/form-data","text/plain"],tt=["true","false"],D={},y1={a:{attrs:{href:null,ping:null,type:null,media:null,target:Tr,hreflang:null}},abbr:D,address:D,area:{attrs:{alt:null,coords:null,href:null,target:null,ping:null,media:null,hreflang:null,type:null,shape:["default","rect","circle","poly"]}},article:D,aside:D,audio:{attrs:{src:null,mediagroup:null,crossorigin:["anonymous","use-credentials"],preload:["none","metadata","auto"],autoplay:["autoplay"],loop:["loop"],controls:["controls"]}},b:D,base:{attrs:{href:null,target:Tr}},bdi:D,bdo:D,blockquote:{attrs:{cite:null}},body:D,br:D,button:{attrs:{form:null,formaction:null,name:null,value:null,autofocus:["autofocus"],disabled:["autofocus"],formenctype:zc,formmethod:qc,formnovalidate:["novalidate"],formtarget:Tr,type:["submit","reset","button"]}},canvas:{attrs:{width:null,height:null}},caption:D,center:D,cite:D,code:D,col:{attrs:{span:null}},colgroup:{attrs:{span:null}},command:{attrs:{type:["command","checkbox","radio"],label:null,icon:null,radiogroup:null,command:null,title:null,disabled:["disabled"],checked:["checked"]}},data:{attrs:{value:null}},datagrid:{attrs:{disabled:["disabled"],multiple:["multiple"]}},datalist:{attrs:{data:null}},dd:D,del:{attrs:{cite:null,datetime:null}},details:{attrs:{open:["open"]}},dfn:D,div:D,dl:D,dt:D,em:D,embed:{attrs:{src:null,type:null,width:null,height:null}},eventsource:{attrs:{src:null}},fieldset:{attrs:{disabled:["disabled"],form:null,name:null}},figcaption:D,figure:D,footer:D,form:{attrs:{action:null,name:null,"accept-charset":Ec,autocomplete:["on","off"],enctype:zc,method:qc,novalidate:["novalidate"],target:Tr}},h1:D,h2:D,h3:D,h4:D,h5:D,h6:D,head:{children:["title","base","link","style","meta","script","noscript","command"]},header:D,hgroup:D,hr:D,html:{attrs:{manifest:null}},i:D,iframe:{attrs:{src:null,srcdoc:null,name:null,width:null,height:null,sandbox:["allow-top-navigation","allow-same-origin","allow-forms","allow-scripts"],seamless:["seamless"]}},img:{attrs:{alt:null,src:null,ismap:null,usemap:null,width:null,height:null,crossorigin:["anonymous","use-credentials"]}},input:{attrs:{alt:null,dirname:null,form:null,formaction:null,height:null,list:null,max:null,maxlength:null,min:null,name:null,pattern:null,placeholder:null,size:null,src:null,step:null,value:null,width:null,accept:["audio/*","video/*","image/*"],autocomplete:["on","off"],autofocus:["autofocus"],checked:["checked"],disabled:["disabled"],formenctype:zc,formmethod:qc,formnovalidate:["novalidate"],formtarget:Tr,multiple:["multiple"],readonly:["readonly"],required:["required"],type:["hidden","text","search","tel","url","email","password","datetime","date","month","week","time","datetime-local","number","range","color","checkbox","radio","file","submit","image","reset","button"]}},ins:{attrs:{cite:null,datetime:null}},kbd:D,keygen:{attrs:{challenge:null,form:null,name:null,autofocus:["autofocus"],disabled:["disabled"],keytype:["RSA"]}},label:{attrs:{for:null,form:null}},legend:D,li:{attrs:{value:null}},link:{attrs:{href:null,type:null,hreflang:null,media:null,sizes:["all","16x16","16x16 32x32","16x16 32x32 64x64"]}},map:{attrs:{name:null}},mark:D,menu:{attrs:{label:null,type:["list","context","toolbar"]}},meta:{attrs:{content:null,charset:Ec,name:["viewport","application-name","author","description","generator","keywords"],"http-equiv":["content-language","content-type","default-style","refresh"]}},meter:{attrs:{value:null,min:null,low:null,high:null,max:null,optimum:null}},nav:D,noscript:D,object:{attrs:{data:null,type:null,name:null,usemap:null,form:null,width:null,height:null,typemustmatch:["typemustmatch"]}},ol:{attrs:{reversed:["reversed"],start:null,type:["1","a","A","i","I"]},children:["li","script","template","ul","ol"]},optgroup:{attrs:{disabled:["disabled"],label:null}},option:{attrs:{disabled:["disabled"],label:null,selected:["selected"],value:null}},output:{attrs:{for:null,form:null,name:null}},p:D,param:{attrs:{name:null,value:null}},pre:D,progress:{attrs:{value:null,max:null}},q:{attrs:{cite:null}},rp:D,rt:D,ruby:D,samp:D,script:{attrs:{type:["text/javascript"],src:null,async:["async"],defer:["defer"],charset:Ec}},section:D,select:{attrs:{form:null,name:null,size:null,autofocus:["autofocus"],disabled:["disabled"],multiple:["multiple"]}},slot:{attrs:{name:null}},small:D,source:{attrs:{src:null,type:null,media:null}},span:D,strong:D,style:{attrs:{type:["text/css"],media:null,scoped:null}},sub:D,summary:D,sup:D,table:D,tbody:D,td:{attrs:{colspan:null,rowspan:null,headers:null}},template:D,textarea:{attrs:{dirname:null,form:null,maxlength:null,name:null,placeholder:null,rows:null,cols:null,autofocus:["autofocus"],disabled:["disabled"],readonly:["readonly"],required:["required"],wrap:["soft","hard"]}},tfoot:D,th:{attrs:{colspan:null,rowspan:null,headers:null,scope:["row","col","rowgroup","colgroup"]}},thead:D,time:{attrs:{datetime:null}},title:D,tr:D,track:{attrs:{src:null,label:null,default:null,kind:["subtitles","captions","descriptions","chapters","metadata"],srclang:null}},ul:{children:["li","script","template","ul","ol"]},var:D,video:{attrs:{src:null,poster:null,width:null,height:null,crossorigin:["anonymous","use-credentials"],preload:["auto","metadata","none"],autoplay:["autoplay"],mediagroup:["movie"],muted:["muted"],controls:["controls"]}},wbr:D},Kp={accesskey:null,class:null,contenteditable:tt,contextmenu:null,dir:["ltr","rtl","auto"],draggable:["true","false","auto"],dropzone:["copy","move","link","string:","file:"],hidden:["hidden"],id:null,inert:["inert"],itemid:null,itemprop:null,itemref:null,itemscope:["itemscope"],itemtype:null,lang:["ar","bn","de","en-GB","en-US","es","fr","hi","id","ja","pa","pt","ru","tr","zh"],spellcheck:tt,autocorrect:tt,autocapitalize:tt,style:null,tabindex:null,title:null,translate:["yes","no"],rel:["stylesheet","alternate","author","bookmark","help","license","next","nofollow","noreferrer","prefetch","prev","search","tag"],role:"alert application article banner button cell checkbox complementary contentinfo dialog document feed figure form grid gridcell heading img list listbox listitem main navigation region row rowgroup search switch tab table tabpanel textbox timer".split(" "),"aria-activedescendant":null,"aria-atomic":tt,"aria-autocomplete":["inline","list","both","none"],"aria-busy":tt,"aria-checked":["true","false","mixed","undefined"],"aria-controls":null,"aria-describedby":null,"aria-disabled":tt,"aria-dropeffect":null,"aria-expanded":["true","false","undefined"],"aria-flowto":null,"aria-grabbed":["true","false","undefined"],"aria-haspopup":tt,"aria-hidden":tt,"aria-invalid":["true","false","grammar","spelling"],"aria-label":null,"aria-labelledby":null,"aria-level":null,"aria-live":["off","polite","assertive"],"aria-multiline":tt,"aria-multiselectable":tt,"aria-owns":null,"aria-posinset":null,"aria-pressed":["true","false","mixed","undefined"],"aria-readonly":tt,"aria-relevant":null,"aria-required":tt,"aria-selected":["true","false","undefined"],"aria-setsize":null,"aria-sort":["ascending","descending","none","other"],"aria-valuemax":null,"aria-valuemin":null,"aria-valuenow":null,"aria-valuetext":null},Jp="beforeunload copy cut dragstart dragover dragleave dragenter dragend drag paste focus blur change click load mousedown mouseenter mouseleave mouseup keydown keyup resize scroll unload".split(" ").map(i=>"on"+i);for(let i of Jp)Kp[i]=null;var Gi=class{constructor(e,t){this.tags={...y1,...e},this.globalAttrs={...Kp,...t},this.allTags=Object.keys(this.tags),this.globalAttrNames=Object.keys(this.globalAttrs)}};Gi.default=new Gi;function Tn(i,e,t=i.length){if(!e)return"";let n=e.firstChild,r=n&&n.getChild("TagName");return r?i.sliceString(r.from,Math.min(r.to,t)):""}function Cn(i,e=!1){for(;i;i=i.parent)if(i.name=="Element")if(e)e=!1;else return i;return null}function em(i,e,t){let n=t.tags[Tn(i,Cn(e))];return n?.children||t.allTags}function Lc(i,e){let t=[];for(let n=Cn(e);n&&!n.type.isTop;n=Cn(n.parent)){let r=Tn(i,n);if(r&&n.lastChild.name=="CloseTag")break;r&&t.indexOf(r)<0&&(e.name=="EndTag"||e.from>=n.firstChild.to)&&t.push(r)}return t}var tm=/^[:\-\.\w\u00b7-\uffff]*$/;function Np(i,e,t,n,r){let s=/\s*>/.test(i.sliceDoc(r,r+5))?"":">",o=Cn(t,t.name=="StartTag"||t.name=="TagName");return{from:n,to:r,options:em(i.doc,o,e).map(a=>({label:a,type:"type"})).concat(Lc(i.doc,t).map((a,l)=>({label:"/"+a,apply:"/"+a+s,type:"type",boost:99-l}))),validFor:/^\/?[:\-\.\w\u00b7-\uffff]*$/}}function Fp(i,e,t,n){let r=/\s*>/.test(i.sliceDoc(n,n+5))?"":">";return{from:t,to:n,options:Lc(i.doc,e).map((s,o)=>({label:s,apply:s+r,type:"type",boost:99-o})),validFor:tm}}function k1(i,e,t,n){let r=[],s=0;for(let o of em(i.doc,t,e))r.push({label:"<"+o,type:"type"});for(let o of Lc(i.doc,t))r.push({label:"",type:"type",boost:99-s++});return{from:n,to:n,options:r,validFor:/^<\/?[:\-\.\w\u00b7-\uffff]*$/}}function x1(i,e,t,n,r){let s=Cn(t),o=s?e.tags[Tn(i.doc,s)]:null,a=o&&o.attrs?Object.keys(o.attrs):[],l=o&&o.globalAttrs===!1?a:a.length?a.concat(e.globalAttrNames):e.globalAttrNames;return{from:n,to:r,options:l.map(c=>({label:c,type:"property"})),validFor:tm}}function w1(i,e,t,n,r){var s;let o=(s=t.parent)===null||s===void 0?void 0:s.getChild("AttributeName"),a=[],l;if(o){let c=i.sliceDoc(o.from,o.to),h=e.globalAttrs[c];if(!h){let f=Cn(t),u=f?e.tags[Tn(i.doc,f)]:null;h=u?.attrs&&u.attrs[c]}if(h){let f=i.sliceDoc(n,r).toLowerCase(),u='"',O='"';/^['"]/.test(f)?(l=f[0]=='"'?/^[^"]*$/:/^[^']*$/,u="",O=i.sliceDoc(r,r+1)==f[0]?"":f[0],f=f.slice(1),n++):l=/^[^\s<>='"]*$/;for(let m of h)a.push({label:m,apply:u+m+O,type:"constant"})}}return{from:n,to:r,options:a,validFor:l}}function im(i,e){let{state:t,pos:n}=e,r=U(t).resolveInner(n,-1),s=r.resolve(n);for(let o=n,a;s==r&&(a=r.childBefore(o));){let l=a.lastChild;if(!l||!l.type.isError||l.fromim(n,r)}var v1=Tt.parser.configure({top:"SingleExpression"}),rm=[{tag:"script",attrs:i=>i.type=="text/typescript"||i.lang=="ts",parser:Rc.parser},{tag:"script",attrs:i=>i.type=="text/babel"||i.type=="text/jsx",parser:Ac.parser},{tag:"script",attrs:i=>i.type=="text/typescript-jsx",parser:Zc.parser},{tag:"script",attrs(i){return/^(importmap|speculationrules|application\/(.+\+)?json)$/i.test(i.type)},parser:v1},{tag:"script",attrs(i){return!i.type||/^(?:text|application)\/(?:x-)?(?:java|ecma)script$|^module$|^$/i.test(i.type)},parser:Tt.parser},{tag:"style",attrs(i){return(!i.lang||i.lang=="css")&&(!i.type||/^(text\/)?(x-)?(stylesheet|css)$/i.test(i.type))},parser:vr.parser}],sm=[{name:"style",parser:vr.parser.configure({top:"Styles"})}].concat(Jp.map(i=>({name:i,parser:Tt.parser}))),om=Xe.define({name:"html",parser:xp.configure({props:[Pe.add({Element(i){let e=/^(\s*)(<\/)?/.exec(i.textAfter);return i.node.to<=i.pos+e[0].length?i.continue():i.lineIndent(i.node.from)+(e[2]?0:i.unit)},"OpenTag CloseTag SelfClosingTag"(i){return i.column(i.node.from)+i.unit},Document(i){if(i.pos+/\s*/.exec(i.textAfter)[0].lengthi.getChild("TagName")})]}),languageData:{commentTokens:{block:{open:""}},indentOnInput:/^\s*<\/\w+\W$/,wordChars:"-_"}}),ao=om.configure({wrap:Pc(rm,sm)});function lo(i={}){let e="",t;i.matchClosingTags===!1&&(e="noMatch"),i.selfClosingTags===!0&&(e=(e?e+" ":"")+"selfClosing"),(i.nestedLanguages&&i.nestedLanguages.length||i.nestedAttributes&&i.nestedAttributes.length)&&(t=Pc((i.nestedLanguages||[]).concat(rm),(i.nestedAttributes||[]).concat(sm)));let n=t?om.configure({wrap:t,dialect:e}):e?ao.configure({dialect:e}):ao;return new me(n,[ao.data.of({autocomplete:P1(i)}),i.autoCloseTags!==!1?$1:[],oo().support,so().support])}var Hp=new Set("area base br col command embed frame hr img input keygen link meta param source track wbr menuitem".split(" ")),$1=q.inputHandler.of((i,e,t,n,r)=>{if(i.composing||i.state.readOnly||e!=t||n!=">"&&n!="/"||!ao.isActiveAt(i.state,e,-1))return!1;let s=r(),{state:o}=s,a=o.changeByRange(l=>{var c,h,f;let u=o.doc.sliceString(l.from-1,l.to)==n,{head:O}=l,m=U(o).resolveInner(O,-1),p;if(u&&n==">"&&m.name=="EndTag"){let b=m.parent;if(((h=(c=b.parent)===null||c===void 0?void 0:c.lastChild)===null||h===void 0?void 0:h.name)!="CloseTag"&&(p=Tn(o.doc,b.parent,O))&&!Hp.has(p)){let g=O+(o.doc.sliceString(O,O+1)===">"?1:0),Q=``;return{range:l,changes:{from:O,to:g,insert:Q}}}}else if(u&&n=="/"&&m.name=="IncompleteCloseTag"){let b=m.parent;if(m.from==O-2&&((f=b.lastChild)===null||f===void 0?void 0:f.name)!="CloseTag"&&(p=Tn(o.doc,b,O))&&!Hp.has(p)){let g=O+(o.doc.sliceString(O,O+1)===">"?1:0),Q=`${p}>`;return{range:v.cursor(O+Q.length,-1),changes:{from:O,to:g,insert:Q}}}}return{range:l}});return a.changes.empty?!1:(i.dispatch([s,o.update(a,{userEvent:"input.complete",scrollIntoView:!0})]),!0)});var cm=xn({commentTokens:{block:{open:""}}}),hm=new I,fm=Ud.configure({props:[_e.add(i=>!i.is("Block")||i.is("Document")||jc(i)!=null||T1(i)?void 0:(e,t)=>({from:t.doc.lineAt(e.from).to,to:e.to})),hm.add(jc),Pe.add({Document:()=>null}),xt.add({Document:cm})]});function jc(i){let e=/^(?:ATX|Setext)Heading(\d)$/.exec(i.name);return e?+e[1]:void 0}function T1(i){return i.name=="OrderedList"||i.name=="BulletList"}function C1(i,e){let t=i;for(;;){let n=t.nextSibling,r;if(!n||(r=jc(n.type))!=null&&r<=e)break;t=n}return t.to}var X1=fO.of((i,e,t)=>{for(let n=U(i).resolveInner(t,-1);n&&!(n.fromt)return{from:t,to:s}}return null});function Vc(i){return new we(cm,i,[],"markdown")}var _1=Vc(fm),R1=fm.configure([Fd,Jd,Kd,ep,{props:[_e.add({Table:(i,e)=>({from:e.doc.lineAt(i.from).to,to:i.to})})]}]),xi=Vc(R1);function A1(i,e){return t=>{if(t&&i){let n=null;if(t=/\S*/.exec(t)[0],typeof i=="function"?n=i(t):n=Be.matchLanguageName(i,t,!0),n instanceof Be)return n.support?n.support.language.parser:ji.getSkippingParser(n.load());if(n)return n.parser}return e?e.parser:null}}var Cr=class{constructor(e,t,n,r,s,o,a){this.node=e,this.from=t,this.to=n,this.spaceBefore=r,this.spaceAfter=s,this.type=o,this.item=a}blank(e,t=!0){let n=this.spaceBefore+(this.node.name=="Blockquote"?">":"");if(e!=null){for(;n.length0;r--)n+=" ";return n+(t?this.spaceAfter:"")}}marker(e,t){let n=this.node.name=="OrderedList"?String(+Om(this.item,e)[2]+t):"";return this.spaceBefore+n+this.type+this.spaceAfter}};function um(i,e){let t=[],n=[];for(let r=i;r;r=r.parent){if(r.name=="FencedCode")return n;(r.name=="ListItem"||r.name=="Blockquote")&&t.push(r)}for(let r=t.length-1;r>=0;r--){let s=t[r],o,a=e.lineAt(s.from),l=s.from-a.from;if(s.name=="Blockquote"&&(o=/^ *>( ?)/.exec(a.text.slice(l))))n.push(new Cr(s,l,l+o[0].length,"",o[1],">",null));else if(s.name=="ListItem"&&s.parent.name=="OrderedList"&&(o=/^( *)\d+([.)])( *)/.exec(a.text.slice(l)))){let c=o[3],h=o[0].length;c.length>=4&&(c=c.slice(0,c.length-4),h-=4),n.push(new Cr(s.parent,l,l+h,o[1],c,o[2],s))}else if(s.name=="ListItem"&&s.parent.name=="BulletList"&&(o=/^( *)([-+*])( {1,4}\[[ xX]\])?( +)/.exec(a.text.slice(l)))){let c=o[4],h=o[0].length;c.length>4&&(c=c.slice(0,c.length-4),h-=4);let f=o[2];o[3]&&(f+=o[3].replace(/[xX]/," ")),n.push(new Cr(s.parent,l,l+h,o[1],c,f,s))}}return n}function Om(i,e){return/^(\s*)(\d+)(?=[.)])/.exec(e.sliceString(i.from,i.from+10))}function Mc(i,e,t,n=0){for(let r=-1,s=i;;){if(s.name=="ListItem"){let a=Om(s,e),l=+a[2];if(r>=0){if(l!=r+1)return;t.push({from:s.from+a[1].length,to:s.from+a[0].length,insert:String(r+2+n)})}r=l}let o=s.nextSibling;if(!o)break;s=o}}function Dc(i,e){let t=/^[ \t]*/.exec(i)[0].length;if(!t||e.facet(qt)!=" ")return i;let n=He(i,4,t),r="";for(let s=n;s>0;)s>=4?(r+=" ",s-=4):(r+=" ",s--);return r+i.slice(t)}var Yc=(i={})=>({state:e,dispatch:t})=>{let n=U(e),{doc:r}=e,s=null,o=e.changeByRange(a=>{if(!a.empty||!xi.isActiveAt(e,a.from,-1)&&!xi.isActiveAt(e,a.from,1))return s={range:a};let l=a.from,c=r.lineAt(l),h=um(n.resolveInner(l,-1),r);for(;h.length&&h[h.length-1].from>l-c.from;)h.pop();if(!h.length)return s={range:a};let f=h[h.length-1];if(f.to-f.spaceAfter.length>l-c.from)return s={range:a};let u=l>=f.to-f.spaceAfter.length&&!/\S/.test(c.text.slice(f.to));if(f.item&&u){let g=f.node.firstChild,Q=f.node.getChild("ListItem","ListItem");if(g.to>=l||Q&&Q.to0&&!/[^\s>]/.test(r.lineAt(c.from-1).text)||i.nonTightLists===!1){let S=h.length>1?h[h.length-2]:null,x,P="";S&&S.item?(x=c.from+S.from,P=S.marker(r,1)):x=c.from+(S?S.to:0);let $=[{from:x,to:l,insert:P}];return f.node.name=="OrderedList"&&Mc(f.item,r,$,-2),S&&S.node.name=="OrderedList"&&Mc(S.item,r,$),{range:v.cursor(x+P.length),changes:$}}else{let S=lm(h,e,c);return{range:v.cursor(l+S.length+1),changes:{from:c.from,insert:S+e.lineBreak}}}}if(f.node.name=="Blockquote"&&u&&c.from){let g=r.lineAt(c.from-1),Q=/>\s*$/.exec(g.text);if(Q&&Q.index==f.from){let S=e.changes([{from:g.from+Q.index,to:g.to},{from:c.from+f.from,to:c.to}]);return{range:a.map(S),changes:S}}}let O=[];f.node.name=="OrderedList"&&Mc(f.item,r,O);let m=f.item&&f.item.from]*/.exec(c.text)[0].length>=f.to)for(let g=0,Q=h.length-1;g<=Q;g++)p+=g==Q&&!m?h[g].marker(r,1):h[g].blank(gc.from&&/\s/.test(c.text.charAt(b-c.from-1));)b--;return p=Dc(p,e),E1(f.node,e.doc)&&(p=lm(h,e,c)+e.lineBreak+p),O.push({from:b,to:l,insert:e.lineBreak+p}),{range:v.cursor(b+p.length+1),changes:O}});return s?!1:(t(e.update(o,{scrollIntoView:!0,userEvent:"input"})),!0)},Z1=Yc();function am(i){return i.name=="QuoteMark"||i.name=="ListMark"}function E1(i,e){if(i.name!="OrderedList"&&i.name!="BulletList")return!1;let t=i.firstChild,n=i.getChild("ListItem","ListItem");if(!n)return!1;let r=e.lineAt(t.to),s=e.lineAt(n.from),o=/^[\s>]*$/.test(r.text);return r.number+(o?0:1){let t=U(i),n=null,r=i.changeByRange(s=>{let o=s.from,{doc:a}=i;if(s.empty&&xi.isActiveAt(i,s.from)){let l=a.lineAt(o),c=um(q1(t,o),a);if(c.length){let h=c[c.length-1],f=h.to-h.spaceAfter.length+(h.spaceAfter?1:0);if(o-l.from>f&&!/\S/.test(l.text.slice(f,o-l.from)))return{range:v.cursor(l.from+f),changes:{from:l.from+f,to:o}};if(o-l.from==f&&(!h.item||l.from<=h.item.from||!/\S/.test(l.text.slice(0,h.to)))){let u=l.from+h.from;if(h.item&&h.node.from{var t;let{main:n}=e.state.selection;if(n.empty)return!1;let r=(t=i.clipboardData)===null||t===void 0?void 0:t.getData("text/plain");if(!r||!/^(https?:\/\/|mailto:|xmpp:|www\.)/.test(r)||(/^www\./.test(r)&&(r="https://"+r),!xi.isActiveAt(e.state,n.from,1)))return!1;let s=U(e.state),o=!1;return s.iterate({from:n.from,to:n.to,enter:a=>{(a.from>n.from||W1.test(a.name))&&(o=!0)},leave:a=>{a.to{if(i.next==-1&&e.canShift(pm))return i.acceptToken(pm);let t=i.peek(-1);if((Kt(t)||t<0)&&e.context.type!=_r){if(_n(i,45))if(e.canShift(Xn))i.acceptToken(Xn);else return i.acceptToken(V1,3);if(_n(i,46))if(e.canShift(Xn))i.acceptToken(Xn);else return i.acceptToken(D1,3);let n=0;for(;i.next==32;)n++,i.advance();(n{if(e.context.type==_r){i.next==63&&(i.advance(),Ni(i.next)&&i.acceptToken(B1));return}if(i.next==45)i.advance(),Ni(i.next)&&i.acceptToken(e.context.type==Kc&&e.context.depth==Xr(i,i.pos-1)?Y1:Qm);else if(i.next==63)i.advance(),Ni(i.next)&&i.acceptToken(e.context.type==Gc&&e.context.depth==Xr(i,i.pos-1)?I1:bm);else{let t=i.pos;for(;;)if(Fc(i.next)){if(i.pos==t)return;i.advance()}else if(i.next==33)xm(i);else if(i.next==38)Hc(i);else if(i.next==42){Hc(i);break}else if(i.next==39||i.next==34){if(Jc(i,!0))break;return}else if(i.next==91||i.next==123){if(!hx(i))return;break}else{wm(i,!0,!1,0);break}for(;Fc(i.next);)i.advance();if(i.next==58){if(i.pos==t&&e.canShift(tx))return;let n=i.peek(1);Ni(n)&&i.acceptTokenTo(e.context.type==Gc&&e.context.depth==Xr(i,t)?U1:Sm,t)}}},{contextual:!0});function cx(i){return i>32&&i<127&&i!=34&&i!=37&&i!=44&&i!=60&&i!=62&&i!=92&&i!=94&&i!=96&&i!=123&&i!=124&&i!=125}function mm(i){return i>=48&&i<=57||i>=97&&i<=102||i>=65&&i<=70}function gm(i,e){return i.next==37?(i.advance(),mm(i.next)&&i.advance(),mm(i.next)&&i.advance(),!0):cx(i.next)||e&&i.next==44?(i.advance(),!0):!1}function xm(i){if(i.advance(),i.next==60){for(i.advance();;)if(!gm(i,!0)){i.next==62&&i.advance();break}}else for(;gm(i,!1););}function Hc(i){for(i.advance();!Ni(i.next)&&co(i.next)!="f";)i.advance()}function Jc(i,e){let t=i.next,n=!1,r=i.pos;for(i.advance();;){let s=i.next;if(s<0)break;if(i.advance(),s==t)if(s==39)if(i.next==39)i.advance();else break;else break;else if(s==92&&t==34)i.next>=0&&i.advance();else if(Kt(s)){if(e)return!1;n=!0}else if(e&&i.pos>=r+1024)return!1}return!n}function hx(i){for(let e=[],t=i.pos+1024;;)if(i.next==91||i.next==123)e.push(i.next),i.advance();else if(i.next==39||i.next==34){if(!Jc(i,!0))return!1}else if(i.next==93||i.next==125){if(e[e.length-1]!=i.next-2)return!1;if(e.pop(),i.advance(),!e.length)return!0}else{if(i.next<0||i.pos>t||Kt(i.next))return!1;i.advance()}}var fx="iiisiiissisfissssssssssssisssiiissssssssssssssssssssssssssfsfssissssssssssssssssssssssssssfif";function co(i){return i<33?"u":i>125?"s":fx[i-33]}function Uc(i,e){let t=co(i);return t!="u"&&!(e&&t=="f")}function wm(i,e,t,n){if(co(i.next)=="s"||(i.next==63||i.next==58||i.next==45)&&Uc(i.peek(1),t))i.advance();else return!1;let r=i.pos;for(;;){let s=i.next,o=0,a=n+1;for(;km(s);){if(Kt(s)){if(e)return!1;a=0}else a++;s=i.peek(++o)}if(!(s>=0&&(s==58?Uc(i.peek(o+1),t):s==35?i.peek(o-1)!=32:Uc(s,t)))||!t&&a<=n||a==0&&!t&&(_n(i,45,o)||_n(i,46,o)))break;if(e&&co(s)=="f")return!1;for(let c=o;c>=0;c--)i.advance();if(e&&i.pos>r+1024)return!1}return!0}var ux=new ee((i,e)=>{if(i.next==33)xm(i),i.acceptToken(K1);else if(i.next==38||i.next==42){let t=i.next==38?F1:H1;Hc(i),i.acceptToken(t)}else i.next==39||i.next==34?(Jc(i,!1),i.acceptToken(N1)):wm(i,!1,e.context.type==_r,e.context.depth)&&i.acceptToken(G1)}),Ox=new ee((i,e)=>{let t=e.context.type==Nc?e.context.depth:-1,n=i.pos;e:for(;;){let r=0,s=i.next;for(;s==32;)s=i.peek(++r);if(!r&&(_n(i,45,r)||_n(i,46,r))||!Kt(s)&&(t<0&&(t=Math.max(e.context.depth+1,r)),rYAN>Y",stateData:";S~O!fOS!gOS^OS~OP_OQbORSOTUOWROXROYYOZZO[XOcPOqQO!PVO!V[O!cTO~O`cO~P]OVkOWROXROYeOZfO[dOcPOmhOqQO~OboO~P!bOVtOWROXROYeOZfO[dOcPOmrOqQO~OpwO~P#WORSOTUOWROXROYYOZZO[XOcPOqQO!PVO!cTO~OSvP!avP!bvP~P#|OWROXROYeOZfO[dOcPOqQO~OmzO~P%OOm!OOUzP!azP!bzP!dzP~P#|O^!SO!b!QO!f!TO!g!RO~ORSOTUOWROXROcPOqQO!PVO!cTO~OY!UOP!QXQ!QX!V!QX!`!QXS!QX!a!QX!b!QXU!QXm!QX!d!QX~P&aO[!WOP!SXQ!SX!V!SX!`!SXS!SX!a!SX!b!SXU!SXm!SX!d!SX~P&aO^!ZO!W![O!b!YO!f!]O!g!YO~OP!_O!V[OQaX!`aX~OPaXQaX!VaX!`aX~P#|OP!bOQ!cO!V[O~OP_O!V[O~P#|OWROXROY!fOcPOqQObfXmfXofXpfX~OWROXRO[!hOcPOqQObhXmhXohXphX~ObeXmlXoeX~ObkXokX~P%OOm!kO~Om!lObnPonP~P%OOb!pOo!oO~Ob!pO~P!bOm!sOosXpsX~OosXpsX~P%OOm!uOotPptP~P%OOo!xOp!yO~Op!yO~P#WOS!|O!a#OO!b#OO~OUyX!ayX!byX!dyX~P#|Om#QO~OU#SO!a#UO!b#UO!d#RO~Om#WOUzX!azX!bzX!dzX~O]#XO~O!b#XO!g#YO~O^#ZO!b#XO!g#YO~OP!RXQ!RX!V!RX!`!RXS!RX!a!RX!b!RXU!RXm!RX!d!RX~P&aOP!TXQ!TX!V!TX!`!TXS!TX!a!TX!b!TXU!TXm!TX!d!TX~P&aO!b#^O!g#^O~O^#_O!b#^O!f#`O!g#^O~O^#_O!W#aO!b#^O!g#^O~OPaaQaa!Vaa!`aa~P#|OP#cO!V[OQ!XX!`!XX~OP!XXQ!XX!V!XX!`!XX~P#|OP_O!V[OQ!_X!`!_X~P#|OWROXROcPOqQObgXmgXogXpgX~OWROXROcPOqQObiXmiXoiXpiX~Obkaoka~P%OObnXonX~P%OOm#kO~Ob#lOo!oO~Oosapsa~P%OOotXptX~P%OOm#pO~Oo!xOp#qO~OSwP!awP!bwP~P#|OS!|O!a#vO!b#vO~OUya!aya!bya!dya~P#|Om#xO~P%OOm#{OU}P!a}P!b}P!d}P~P#|OU#SO!a$OO!b$OO!d#RO~O]$QO~O!b$QO!g$RO~O!b$SO!g$SO~O^$TO!b$SO!g$SO~O^$TO!b$SO!f$UO!g$SO~OP!XaQ!Xa!V!Xa!`!Xa~P#|Obnaona~P%OOotapta~P%OOo!xO~OU|X!a|X!b|X!d|X~P#|Om$ZO~Om$]OU}X!a}X!b}X!d}X~O]$^O~O!b$_O!g$_O~O^$`O!b$_O!g$_O~OU|a!a|a!b|a!d|a~P#|O!b$cO!g$cO~O",goto:",]!mPPPPPPPPPPPPPPPPP!nPP!v#v#|$`#|$c$f$j$nP%VPPP!v%Y%^%a%{&O%a&R&U&X&_&b%aP&e&{&e'O'RPP']'a'g'm's'y(XPPPPPPPP(_)e*X+c,VUaObcR#e!c!{ROPQSTUXY_bcdehknrtvz!O!U!W!_!b!c!f!h!k!l!s!u!|#Q#R#S#W#c#k#p#x#{$Z$]QmPR!qnqfPQThknrtv!k!l!s!u#R#k#pR!gdR!ieTlPnTjPnSiPnSqQvQ{TQ!mkQ!trQ!vtR#y#RR!nkTsQvR!wt!RWOSUXY_bcz!O!U!W!_!b!c!|#Q#S#W#c#x#{$Z$]RySR#t!|R|TR|UQ!PUR#|#SR#z#RR#z#SyZOSU_bcz!O!_!b!c!|#Q#S#W#c#x#{$Z$]R!VXR!XYa]O^abc!a!c!eT!da!eQnPR!rnQvQR!{vQ!}yR#u!}Q#T|R#}#TW^Obc!cS!^^!aT!aa!eQ!eaR#f!eW`Obc!cQxSS}U#SQ!`_Q#PzQ#V!OQ#b!_Q#d!bQ#s!|Q#w#QQ$P#WQ$V#cQ$Y#xQ$[#{Q$a$ZR$b$]xZOSU_bcz!O!_!b!c!|#Q#S#W#c#x#{$Z$]Q!VXQ!XYQ#[!UR#]!W!QWOSUXY_bcz!O!U!W!_!b!c!|#Q#S#W#c#x#{$Z$]pfPQThknrtv!k!l!s!u#R#k#pQ!gdQ!ieQ#g!fR#h!hSgPn^pQTkrtv#RQ!jhQ#i!kQ#j!lQ#n!sQ#o!uQ$W#kR$X#pQuQR!zv",nodeNames:"\u26A0 DirectiveEnd DocEnd - - ? ? ? Literal QuotedLiteral Anchor Alias Tag BlockLiteralContent Comment Stream BOM Document ] [ FlowSequence Item Tagged Anchored Anchored Tagged FlowMapping Pair Key : Pair , } { FlowMapping Pair Pair BlockSequence Item Item BlockMapping Pair Pair Key Pair Pair BlockLiteral BlockLiteralHeader Tagged Anchored Anchored Tagged Directive DirectiveName DirectiveContent Document",maxTerm:74,context:ox,nodeProps:[["isolate",-3,8,9,14,""],["openedBy",18,"[",32,"{"],["closedBy",19,"]",33,"}"]],propSources:[dx],skippedNodes:[0],repeatNodeCount:6,tokenData:"-Y~RnOX#PXY$QYZ$]Z]#P]^$]^p#Ppq$Qqs#Pst$btu#Puv$yv|#P|}&e}![#P![!]'O!]!`#P!`!a'i!a!}#P!}#O*g#O#P#P#P#Q+Q#Q#o#P#o#p+k#p#q'i#q#r,U#r;'S#P;'S;=`#z<%l?HT#P?HT?HU,o?HUO#PQ#UU!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PQ#kTOY#PZs#Pt;'S#P;'S;=`#z<%lO#PQ#}P;=`<%l#P~$VQ!f~XY$Qpq$Q~$bO!g~~$gS^~OY$bZ;'S$b;'S;=`$s<%lO$b~$vP;=`<%l$bR%OX!WQOX%kXY#PZ]%k]^#P^p%kpq#hq;'S%k;'S;=`&_<%lO%kR%rX!WQ!VPOX%kXY#PZ]%k]^#P^p%kpq#hq;'S%k;'S;=`&_<%lO%kR&bP;=`<%l%kR&lUoP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR'VUmP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR'p[!PP!WQOY#PZp#Ppq#hq{#P{|(f|}#P}!O(f!O!R#P!R![)p![;'S#P;'S;=`#z<%lO#PR(mW!PP!WQOY#PZp#Ppq#hq!R#P!R![)V![;'S#P;'S;=`#z<%lO#PR)^U!PP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR)wY!PP!WQOY#PZp#Ppq#hq{#P{|)V|}#P}!O)V!O;'S#P;'S;=`#z<%lO#PR*nUcP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR+XUbP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR+rUqP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR,]UpP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR,vU`P!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#P",tokenizers:[ax,lx,ux,Ox,0,1],topRules:{Stream:[0,15]},tokenPrec:0});var px=ve.deserialize({version:14,states:"!vOQOPOOO]OPO'#C_OhOPO'#C^OOOO'#Cc'#CcOpOPO'#CaQOOOOOO{OPOOOOOO'#Cb'#CbO!WOPO'#C`O!`OPO,58xOOOO-E6a-E6aOOOO-E6`-E6`OOOO'#C_'#C_OOOO1G.d1G.d",stateData:"!h~OXPOYROWTP~OWVXXRXYRX~OYVOXSP~OXROYROWTX~OXROYROWTP~OYVOXSX~OX[O~OXY~",goto:"vWPPX[beioRUOQQOR]XRXQTTOUQWQRZWSSOURYS",nodeNames:"\u26A0 Document Frontmatter DashLine FrontmatterContent Body",maxTerm:10,skippedNodes:[0],repeatNodeCount:2,tokenData:"$z~RXOYnYZ!^Z]n]^!^^}n}!O!i!O;'Sn;'S;=`!c<%lOn~qXOYnYZ!^Z]n]^!^^;'Sn;'S;=`!c<%l~n~On~~!^~!cOY~~!fP;=`<%ln~!lZOYnYZ!^Z]n]^!^^}n}!O#_!O;'Sn;'S;=`!c<%l~n~On~~!^~#bZOYnYZ!^Z]n]^!^^}n}!O$T!O;'Sn;'S;=`!c<%l~n~On~~!^~$WXOYnYZ$sZ]n]^$s^;'Sn;'S;=`!c<%l~n~On~~$s~$zOX~Y~",tokenizers:[0],topRules:{Document:[0,1]},tokenPrec:67}),mx=Xe.define({name:"yaml",parser:Pm.configure({props:[Pe.add({Stream:i=>{for(let e=i.node.resolve(i.pos,-1);e&&e.to>=i.pos;e=e.parent){if(e.name=="BlockLiteralContent"&&e.fromi.pos)return null}}return null},FlowMapping:wt({closing:"}"}),FlowSequence:wt({closing:"]"})}),_e.add({"FlowMapping FlowSequence":Ot,"Item Pair BlockLiteral":(i,e)=>({from:e.doc.lineAt(i.from).to,to:i.to})})]}),languageData:{commentTokens:{line:"#"},indentOnInput:/^\s*[\]\}]$/}});var gx=Xe.define({name:"yaml-frontmatter",parser:px.configure({props:[Qe({DashLine:d.meta})]})});function vm(i){let{language:e,support:t}=i.content instanceof me?i.content:{language:i.content,support:[]};return new me(gx.configure({wrap:Sn(n=>n.name=="FrontmatterContent"?{parser:mx.parser}:n.name=="Body"?{parser:e.parser}:null)}),t)}var Qx=1,Rm=194,Am=195,bx=196,$m=197,Sx=198,yx=199,kx=200,xx=2,Zm=3,Tm=201,wx=24,Px=25,vx=49,$x=50,Tx=55,Cx=56,Xx=57,_x=59,Rx=60,Ax=61,Zx=62,Ex=63,qx=65,zx=238,Lx=71,Mx=241,Wx=242,jx=243,Vx=244,Dx=245,Yx=246,Ix=247,Bx=248,Em=72,Ux=249,Gx=250,Nx=251,Fx=252,Hx=253,Kx=254,Jx=255,ew=256,tw=73,iw=77,nw=263,rw=112,sw=130,ow=151,aw=152,lw=155,Fi=10,Rr=13,nh=32,uo=9,rh=35,cw=40,hw=46,ih=123,Cm=125,qm=39,zm=34,Xm=92,fw=111,uw=120,Ow=78,dw=117,pw=85,mw=new Set([Px,vx,$x,nw,qx,sw,Cx,Xx,zx,Zx,Ex,Em,tw,iw,Rx,Ax,ow,aw,lw,rw]);function eh(i){return i==Fi||i==Rr}function th(i){return i>=48&&i<=57||i>=65&&i<=70||i>=97&&i<=102}var gw=new ee((i,e)=>{let t;if(i.next<0)i.acceptToken(yx);else if(e.context.flags&ho)eh(i.next)&&i.acceptToken(Sx,1);else if(((t=i.peek(-1))<0||eh(t))&&e.canShift($m)){let n=0;for(;i.next==nh||i.next==uo;)i.advance(),n++;(i.next==Fi||i.next==Rr||i.next==rh)&&i.acceptToken($m,-n)}else eh(i.next)&&i.acceptToken(bx,1)},{contextual:!0}),Qw=new ee((i,e)=>{let t=e.context;if(t.flags)return;let n=i.peek(-1);if(n==Fi||n==Rr){let r=0,s=0;for(;;){if(i.next==nh)r++;else if(i.next==uo)r+=8-r%8;else break;i.advance(),s++}r!=t.indent&&i.next!=Fi&&i.next!=Rr&&i.next!=rh&&(r[i,e|Lm])),yw=new gt({start:bw,reduce(i,e,t,n){return i.flags&ho&&mw.has(e)||(e==Lx||e==Em)&&i.flags&Lm?i.parent:i},shift(i,e,t,n){return e==Rm?new fo(i,Sw(n.read(n.pos,t.pos)),0):e==Am?i.parent:e==wx||e==Tx||e==_x||e==Zm?new fo(i,0,ho):_m.has(e)?new fo(i,0,_m.get(e)|i.flags&ho):i},hash(i){return i.hash}}),kw=new ee(i=>{for(let e=0;e<5;e++){if(i.next!="print".charCodeAt(e))return;i.advance()}if(!/\w/.test(String.fromCharCode(i.next)))for(let e=0;;e++){let t=i.peek(e);if(!(t==nh||t==uo)){t!=cw&&t!=hw&&t!=Fi&&t!=Rr&&t!=rh&&i.acceptToken(Qx);return}}}),xw=new ee((i,e)=>{let{flags:t}=e.context,n=t&Jt?zm:qm,r=(t&ei)>0,s=!(t&ti),o=(t&ii)>0,a=i.pos;for(;!(i.next<0);)if(o&&i.next==ih)if(i.peek(1)==ih)i.advance(2);else{if(i.pos==a){i.acceptToken(Zm,1);return}break}else if(s&&i.next==Xm){if(i.pos==a){i.advance();let l=i.next;l>=0&&(i.advance(),ww(i,l)),i.acceptToken(xx);return}break}else if(i.next==Xm&&!s&&i.peek(1)>-1)i.advance(2);else if(i.next==n&&(!r||i.peek(1)==n&&i.peek(2)==n)){if(i.pos==a){i.acceptToken(Tm,r?3:1);return}break}else if(i.next==Fi){if(r)i.advance();else if(i.pos==a){i.acceptToken(Tm);return}break}else i.advance();i.pos>a&&i.acceptToken(kx)});function ww(i,e){if(e==fw)for(let t=0;t<2&&i.next>=48&&i.next<=55;t++)i.advance();else if(e==uw)for(let t=0;t<2&&th(i.next);t++)i.advance();else if(e==dw)for(let t=0;t<4&&th(i.next);t++)i.advance();else if(e==pw)for(let t=0;t<8&&th(i.next);t++)i.advance();else if(e==Ow&&i.next==ih){for(i.advance();i.next>=0&&i.next!=Cm&&i.next!=qm&&i.next!=zm&&i.next!=Fi;)i.advance();i.next==Cm&&i.advance()}}var Pw=Qe({'async "*" "**" FormatConversion FormatSpec':d.modifier,"for while if elif else try except finally return raise break continue with pass assert await yield match case":d.controlKeyword,"in not and or is del":d.operatorKeyword,"from def class global nonlocal lambda":d.definitionKeyword,import:d.moduleKeyword,"with as print":d.keyword,Boolean:d.bool,None:d.null,VariableName:d.variableName,"CallExpression/VariableName":d.function(d.variableName),"FunctionDefinition/VariableName":d.function(d.definition(d.variableName)),"ClassDefinition/VariableName":d.definition(d.className),PropertyName:d.propertyName,"CallExpression/MemberExpression/PropertyName":d.function(d.propertyName),Comment:d.lineComment,Number:d.number,String:d.string,FormatString:d.special(d.string),Escape:d.escape,UpdateOp:d.updateOperator,"ArithOp!":d.arithmeticOperator,BitOp:d.bitwiseOperator,CompareOp:d.compareOperator,AssignOp:d.definitionOperator,Ellipsis:d.punctuation,At:d.meta,"( )":d.paren,"[ ]":d.squareBracket,"{ }":d.brace,".":d.derefOperator,", ;":d.separator}),vw={__proto__:null,await:44,or:54,and:56,in:60,not:62,is:64,if:70,else:72,lambda:76,yield:94,from:96,async:102,for:104,None:162,True:164,False:164,del:178,pass:182,break:186,continue:190,return:194,raise:202,import:206,as:208,global:212,nonlocal:214,assert:218,type:223,elif:236,while:240,try:246,except:248,finally:250,with:254,def:258,class:268,match:279,case:285},Mm=ve.deserialize({version:14,states:"##jQ`QeOOP$}OSOOO&WQtO'#HUOOQS'#Co'#CoOOQS'#Cp'#CpO'vQdO'#CnO*UQtO'#HTOOQS'#HU'#HUOOQS'#DU'#DUOOQS'#HT'#HTO*rQdO'#D_O+VQdO'#DfO+gQdO'#DjO+zOWO'#DuO,VOWO'#DvO.[QtO'#GuOOQS'#Gu'#GuO'vQdO'#GtO0ZQtO'#GtOOQS'#Eb'#EbO0rQdO'#EcOOQS'#Gs'#GsO0|QdO'#GrOOQV'#Gr'#GrO1XQdO'#FYOOQS'#G^'#G^O1^QdO'#FXOOQV'#IS'#ISOOQV'#Gq'#GqOOQV'#Fq'#FqQ`QeOOO'vQdO'#CqO1lQdO'#C}O1sQdO'#DRO2RQdO'#HYO2cQtO'#EVO'vQdO'#EWOOQS'#EY'#EYOOQS'#E['#E[OOQS'#E^'#E^O2wQdO'#E`O3_QdO'#EdO3rQdO'#EfO3zQtO'#EfO1XQdO'#EiO0rQdO'#ElO1XQdO'#EnO0rQdO'#EtO0rQdO'#EwO4VQdO'#EyO4^QdO'#FOO4iQdO'#EzO0rQdO'#FOO1XQdO'#FQO1XQdO'#FVO4nQdO'#F[P4uOdO'#GpPOOO)CBd)CBdOOQS'#Ce'#CeOOQS'#Cf'#CfOOQS'#Cg'#CgOOQS'#Ch'#ChOOQS'#Ci'#CiOOQS'#Cj'#CjOOQS'#Cl'#ClO'vQdO,59OO'vQdO,59OO'vQdO,59OO'vQdO,59OO'vQdO,59OO'vQdO,59OO5TQdO'#DoOOQS,5:Y,5:YO5hQdO'#HdOOQS,5:],5:]O5uQ!fO,5:]O5zQtO,59YO1lQdO,59bO1lQdO,59bO1lQdO,59bO8jQdO,59bO8oQdO,59bO8vQdO,59jO8}QdO'#HTO:TQdO'#HSOOQS'#HS'#HSOOQS'#D['#D[O:lQdO,59aO'vQdO,59aO:zQdO,59aOOQS,59y,59yO;PQdO,5:RO'vQdO,5:ROOQS,5:Q,5:QO;_QdO,5:QO;dQdO,5:XO'vQdO,5:XO'vQdO,5:VOOQS,5:U,5:UO;uQdO,5:UO;zQdO,5:WOOOW'#Fy'#FyOOOOQS'#Ds'#DsOOQS1G/w1G/wOOQS1G.|1G.|O!/[QtO1G.|O!/cQtO1G.|O1lQdO1G.|O!0OQdO1G/UOOQS'#DZ'#DZO0rQdO,59tOOQS1G.{1G.{O!0VQdO1G/eO!0gQdO1G/eO!0oQdO1G/fO'vQdO'#H[O!0tQdO'#H[O!0yQtO1G.{O!1ZQdO,59iO!2aQdO,5=zO!2qQdO,5=zO!2yQdO1G/mO!3OQtO1G/mOOQS1G/l1G/lO!3`QdO,5=uO!4VQdO,5=uO0rQdO1G/qO!4tQdO1G/sO!4yQtO1G/sO!5ZQtO1G/qOOQS1G/p1G/pOOQS1G/r1G/rOOOW-E9w-E9wOOQS1G/{1G/{O!5kQdO'#HxO0rQdO'#HxO!5|QdO,5>cOOOW-E9x-E9xOOQS1G/|1G/|OOQS-E9{-E9{O!6[Q#xO1G2zO!6{QtO1G2zO'vQdO,5kOOQS1G1`1G1`O!8RQdO1G1`OOQS'#DV'#DVO0rQdO,5=qOOQS,5=q,5=qO!8WQdO'#FrO!8cQdO,59oO!8kQdO1G/XO!8uQtO,5=uOOQS1G3`1G3`OOQS,5:m,5:mO!9fQdO'#GtOOQS,5jO!;ZQdO,5>jO1XQdO,5>jO!;lQdO,5>iOOQS-E:R-E:RO!;qQdO1G0lO!;|QdO1G0lO!lO!lO!hO!=VQdO,5>hO!=hQdO'#EpO0rQdO1G0tO!=sQdO1G0tO!=xQgO1G0zO!AvQgO1G0}O!EqQdO,5>oO!E{QdO,5>oO!FTQtO,5>oO0rQdO1G1PO!F_QdO1G1PO4iQdO1G1UO!!vQdO1G1WOOQV,5;a,5;aO!FdQfO,5;aO!FiQgO1G1QO!JjQdO'#GZO4iQdO1G1QO4iQdO1G1QO!JzQdO,5>pO!KXQdO,5>pO1XQdO,5>pOOQV1G1U1G1UO!KaQdO'#FSO!KrQ!fO1G1WO!KzQdO1G1WOOQV1G1]1G1]O4iQdO1G1]O!LPQdO1G1]O!LXQdO'#F^OOQV1G1b1G1bO!#ZQtO1G1bPOOO1G2v1G2vP!L^OSO1G2vOOQS,5=},5=}OOQS'#Dp'#DpO0rQdO,5=}O!LfQdO,5=|O!LyQdO,5=|OOQS1G/u1G/uO!MRQdO,5>PO!McQdO,5>PO!MkQdO,5>PO!NOQdO,5>PO!N`QdO,5>POOQS1G3j1G3jOOQS7+$h7+$hO!8kQdO7+$pO#!RQdO1G.|O#!YQdO1G.|OOQS1G/`1G/`OOQS,5<`,5<`O'vQdO,5<`OOQS7+%P7+%PO#!aQdO7+%POOQS-E9r-E9rOOQS7+%Q7+%QO#!qQdO,5=vO'vQdO,5=vOOQS7+$g7+$gO#!vQdO7+%PO##OQdO7+%QO##TQdO1G3fOOQS7+%X7+%XO##eQdO1G3fO##mQdO7+%XOOQS,5<_,5<_O'vQdO,5<_O##rQdO1G3aOOQS-E9q-E9qO#$iQdO7+%]OOQS7+%_7+%_O#$wQdO1G3aO#%fQdO7+%_O#%kQdO1G3gO#%{QdO1G3gO#&TQdO7+%]O#&YQdO,5>dO#&sQdO,5>dO#&sQdO,5>dOOQS'#Dx'#DxO#'UO&jO'#DzO#'aO`O'#HyOOOW1G3}1G3}O#'fQdO1G3}O#'nQdO1G3}O#'yQ#xO7+(fO#(jQtO1G2UP#)TQdO'#GOOOQS,5nQdO,5sQdO1G4OOOQS-E9y-E9yO#?^QdO1G4OO<[QdO'#H{OOOO'#D{'#D{OOOO'#F|'#F|O#?oO&jO,5:fOOOW,5>e,5>eOOOW7+)i7+)iO#?zQdO7+)iO#@SQdO1G2zO#@mQdO1G2zP'vQdO'#FuO0rQdO<mO#BQQdO,5>mOOQS1G0v1G0vOOQS<rO#KgQdO,5>rO#KrQdO,5>rO#K}QdO,5>qO#L`QdO,5>qOOQS1G1Y1G1YOOQS,5;p,5;pOOQV<VAN>VO$ oQdO<cAN>cO0rQdO1G1|O$!PQtO1G1|P$!ZQdO'#FvOOQS1G2R1G2RP$!hQdO'#F{O$!uQdO7+)jO$#`QdO,5>gOOOO-E9z-E9zOOOW<tO$4{QdO,5>tO1XQdO,5vO$)nQdO,5>vOOQS1G1p1G1pOOQS,5<[,5<[OOQU7+'P7+'PO$+zQdO1G/iO$)nQdO,5wO$8zQdO,5>wOOQS1G1s1G1sOOQS7+'S7+'SP$)nQdO'#GdO$9SQdO1G4bO$9^QdO1G4bO$9fQdO1G4bOOQS7+%T7+%TO$9tQdO1G1tO$:SQtO'#FaO$:ZQdO,5<}OOQS,5<},5<}O$:iQdO1G4cOOQS-E:a-E:aO$)nQdO,5<|O$:pQdO,5<|O$:uQdO7+)|OOQS-E:`-E:`O$;PQdO7+)|O$)nQdO,5S~O%cOS%^OSSOS%]PQ~OPdOVaOfoOhYOopOs!POvqO!PrO!Q{O!T!SO!U!RO!XZO!][O!h`O!r`O!s`O!t`O!{tO!}uO#PvO#RwO#TxO#XyO#ZzO#^|O#_|O#a}O#c!OO#l!QO#o!TO#s!UO#u!VO#z!WO#}hO$P!XO%oRO%pRO%tSO%uWO&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O&c^O&d^O&e^O&f^O&g^O&h^O&i^O&j^O~O%]!YO~OV!aO_!aOa!bOh!iO!X!kO!f!mO%j![O%k!]O%l!^O%m!_O%n!_O%o!`O%p!`O%q!aO%r!aO%s!aO~Ok%xXl%xXm%xXn%xXo%xXp%xXs%xXz%xX{%xX!x%xX#g%xX%[%xX%_%xX%z%xXg%xX!T%xX!U%xX%{%xX!W%xX![%xX!Q%xX#[%xXt%xX!m%xX~P%SOfoOhYO!XZO!][O!h`O!r`O!s`O!t`O%oRO%pRO%tSO%uWO&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O&c^O&d^O&e^O&f^O&g^O&h^O&i^O&j^O~Oz%wX{%wX#g%wX%[%wX%_%wX%z%wX~Ok!pOl!qOm!oOn!oOo!rOp!sOs!tO!x%wX~P)pOV!zOg!|Oo0cOv0qO!PrO~P'vOV#OOo0cOv0qO!W#PO~P'vOV#SOa#TOo0cOv0qO![#UO~P'vOQ#XO%`#XO%a#ZO~OQ#^OR#[O%`#^O%a#`O~OV%iX_%iXa%iXh%iXk%iXl%iXm%iXn%iXo%iXp%iXs%iXz%iX!X%iX!f%iX%j%iX%k%iX%l%iX%m%iX%n%iX%o%iX%p%iX%q%iX%r%iX%s%iXg%iX!T%iX!U%iX~O&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O&c^O&d^O&e^O&f^O&g^O&h^O&i^O&j^O{%iX!x%iX#g%iX%[%iX%_%iX%z%iX%{%iX!W%iX![%iX!Q%iX#[%iXt%iX!m%iX~P,eOz#dO{%hX!x%hX#g%hX%[%hX%_%hX%z%hX~Oo0cOv0qO~P'vO#g#gO%[#iO%_#iO~O%uWO~O!T#nO#u!VO#z!WO#}hO~OopO~P'vOV#sOa#tO%uWO{wP~OV#xOo0cOv0qO!Q#yO~P'vO{#{O!x$QO%z#|O#g!yX%[!yX%_!yX~OV#xOo0cOv0qO#g#SX%[#SX%_#SX~P'vOo0cOv0qO#g#WX%[#WX%_#WX~P'vOh$WO%uWO~O!f$YO!r$YO%uWO~OV$eO~P'vO!U$gO#s$hO#u$iO~O{$jO~OV$qO~P'vOS$sO%[$rO%_$rO%c$tO~OV$}Oa$}Og%POo0cOv0qO~P'vOo0cOv0qO{%SO~P'vO&Y%UO~Oa!bOh!iO!X!kO!f!mOVba_bakbalbambanbaobapbasbazba{ba!xba#gba%[ba%_ba%jba%kba%lba%mba%nba%oba%pba%qba%rba%sba%zbagba!Tba!Uba%{ba!Wba![ba!Qba#[batba!mba~On%ZO~Oo%ZO~P'vOo0cO~P'vOk0eOl0fOm0dOn0dOo0mOp0nOs0rOg%wX!T%wX!U%wX%{%wX!W%wX![%wX!Q%wX#[%wX!m%wX~P)pO%{%]Og%vXz%vX!T%vX!U%vX!W%vX{%vX~Og%_Oz%`O!T%dO!U%cO~Og%_O~Oz%gO!T%dO!U%cO!W&SX~O!W%kO~Oz%lO{%nO!T%dO!U%cO![%}X~O![%rO~O![%sO~OQ#XO%`#XO%a%uO~OV%wOo0cOv0qO!PrO~P'vOQ#^OR#[O%`#^O%a%zO~OV!qa_!qaa!qah!qak!qal!qam!qan!qao!qap!qas!qaz!qa{!qa!X!qa!f!qa!x!qa#g!qa%[!qa%_!qa%j!qa%k!qa%l!qa%m!qa%n!qa%o!qa%p!qa%q!qa%r!qa%s!qa%z!qag!qa!T!qa!U!qa%{!qa!W!qa![!qa!Q!qa#[!qat!qa!m!qa~P#yOz%|O{%ha!x%ha#g%ha%[%ha%_%ha%z%ha~P%SOV&OOopOvqO{%ha!x%ha#g%ha%[%ha%_%ha%z%ha~P'vOz%|O{%ha!x%ha#g%ha%[%ha%_%ha%z%ha~OPdOVaOopOvqO!PrO!Q{O!{tO!}uO#PvO#RwO#TxO#XyO#ZzO#^|O#_|O#a}O#c!OO#g$zX%[$zX%_$zX~P'vO#g#gO%[&TO%_&TO~O!f&UOh&sX%[&sXz&sX#[&sX#g&sX%_&sX#Z&sXg&sX~Oh!iO%[&WO~Okealeameaneaoeapeaseazea{ea!xea#gea%[ea%_ea%zeagea!Tea!Uea%{ea!Wea![ea!Qea#[eatea!mea~P%SOsqazqa{qa#gqa%[qa%_qa%zqa~Ok!pOl!qOm!oOn!oOo!rOp!sO!xqa~PEcO%z&YOz%yX{%yX~O%uWOz%yX{%yX~Oz&]O{wX~O{&_O~Oz%lO#g%}X%[%}X%_%}Xg%}X{%}X![%}X!m%}X%z%}X~OV0lOo0cOv0qO!PrO~P'vO%z#|O#gUa%[Ua%_Ua~Oz&hO#g&PX%[&PX%_&PXn&PX~P%SOz&kO!Q&jO#g#Wa%[#Wa%_#Wa~Oz&lO#[&nO#g&rX%[&rX%_&rXg&rX~O!f$YO!r$YO#Z&qO%uWO~O#Z&qO~Oz&sO#g&tX%[&tX%_&tX~Oz&uO#g&pX%[&pX%_&pX{&pX~O!X&wO%z&xO~Oz&|On&wX~P%SOn'PO~OPdOVaOopOvqO!PrO!Q{O!{tO!}uO#PvO#RwO#TxO#XyO#ZzO#^|O#_|O#a}O#c!OO%['UO~P'vOt'YO#p'WO#q'XOP#naV#naf#nah#nao#nas#nav#na!P#na!Q#na!T#na!U#na!X#na!]#na!h#na!r#na!s#na!t#na!{#na!}#na#P#na#R#na#T#na#X#na#Z#na#^#na#_#na#a#na#c#na#l#na#o#na#s#na#u#na#z#na#}#na$P#na%X#na%o#na%p#na%t#na%u#na&Z#na&[#na&]#na&^#na&_#na&`#na&a#na&b#na&c#na&d#na&e#na&f#na&g#na&h#na&i#na&j#na%Z#na%_#na~Oz'ZO#[']O{&xX~Oh'_O!X&wO~Oh!iO{$jO!X&wO~O{'eO~P%SO%['hO%_'hO~OS'iO%['hO%_'hO~OV!aO_!aOa!bOh!iO!X!kO!f!mO%l!^O%m!_O%n!_O%o!`O%p!`O%q!aO%r!aO%s!aOkWilWimWinWioWipWisWizWi{Wi!xWi#gWi%[Wi%_Wi%jWi%zWigWi!TWi!UWi%{Wi!WWi![Wi!QWi#[WitWi!mWi~O%k!]O~P!#uO%kWi~P!#uOV!aO_!aOa!bOh!iO!X!kO!f!mO%o!`O%p!`O%q!aO%r!aO%s!aOkWilWimWinWioWipWisWizWi{Wi!xWi#gWi%[Wi%_Wi%jWi%kWi%lWi%zWigWi!TWi!UWi%{Wi!WWi![Wi!QWi#[WitWi!mWi~O%m!_O%n!_O~P!&pO%mWi%nWi~P!&pOa!bOh!iO!X!kO!f!mOkWilWimWinWioWipWisWizWi{Wi!xWi#gWi%[Wi%_Wi%jWi%kWi%lWi%mWi%nWi%oWi%pWi%zWigWi!TWi!UWi%{Wi!WWi![Wi!QWi#[WitWi!mWi~OV!aO_!aO%q!aO%r!aO%s!aO~P!)nOVWi_Wi%qWi%rWi%sWi~P!)nO!T%dO!U%cOg&VXz&VX~O%z'kO%{'kO~P,eOz'mOg&UX~Og'oO~Oz'pO{'rO!W&XX~Oo0cOv0qOz'pO{'sO!W&XX~P'vO!W'uO~Om!oOn!oOo!rOp!sOkjisjizji{ji!xji#gji%[ji%_ji%zji~Ol!qO~P!.aOlji~P!.aOk0eOl0fOm0dOn0dOo0mOp0nO~Ot'wO~P!/jOV'|Og'}Oo0cOv0qO~P'vOg'}Oz(OO~Og(QO~O!U(SO~Og(TOz(OO!T%dO!U%cO~P%SOk0eOl0fOm0dOn0dOo0mOp0nOgqa!Tqa!Uqa%{qa!Wqa![qa!Qqa#[qatqa!mqa~PEcOV'|Oo0cOv0qO!W&Sa~P'vOz(WO!W&Sa~O!W(XO~Oz(WO!T%dO!U%cO!W&Sa~P%SOV(]Oo0cOv0qO![%}a#g%}a%[%}a%_%}ag%}a{%}a!m%}a%z%}a~P'vOz(^O![%}a#g%}a%[%}a%_%}ag%}a{%}a!m%}a%z%}a~O![(aO~Oz(^O!T%dO!U%cO![%}a~P%SOz(dO!T%dO!U%cO![&Ta~P%SOz(gO{&lX![&lX!m&lX%z&lX~O{(kO![(mO!m(nO%z(jO~OV&OOopOvqO{%hi!x%hi#g%hi%[%hi%_%hi%z%hi~P'vOz(pO{%hi!x%hi#g%hi%[%hi%_%hi%z%hi~O!f&UOh&sa%[&saz&sa#[&sa#g&sa%_&sa#Z&sag&sa~O%[(uO~OV#sOa#tO%uWO~Oz&]O{wa~OopOvqO~P'vOz(^O#g%}a%[%}a%_%}ag%}a{%}a![%}a!m%}a%z%}a~P%SOz(zO#g%hX%[%hX%_%hX%z%hX~O%z#|O#gUi%[Ui%_Ui~O#g&Pa%[&Pa%_&Pan&Pa~P'vOz(}O#g&Pa%[&Pa%_&Pan&Pa~O%uWO#g&ra%[&ra%_&rag&ra~Oz)SO#g&ra%[&ra%_&rag&ra~Og)VO~OV)WOh$WO%uWO~O#Z)XO~O%uWO#g&ta%[&ta%_&ta~Oz)ZO#g&ta%[&ta%_&ta~Oo0cOv0qO#g&pa%[&pa%_&pa{&pa~P'vOz)^O#g&pa%[&pa%_&pa{&pa~OV)`Oa)`O%uWO~O%z)eO~Ot)hO#j)gOP#hiV#hif#hih#hio#his#hiv#hi!P#hi!Q#hi!T#hi!U#hi!X#hi!]#hi!h#hi!r#hi!s#hi!t#hi!{#hi!}#hi#P#hi#R#hi#T#hi#X#hi#Z#hi#^#hi#_#hi#a#hi#c#hi#l#hi#o#hi#s#hi#u#hi#z#hi#}#hi$P#hi%X#hi%o#hi%p#hi%t#hi%u#hi&Z#hi&[#hi&]#hi&^#hi&_#hi&`#hi&a#hi&b#hi&c#hi&d#hi&e#hi&f#hi&g#hi&h#hi&i#hi&j#hi%Z#hi%_#hi~Ot)iOP#kiV#kif#kih#kio#kis#kiv#ki!P#ki!Q#ki!T#ki!U#ki!X#ki!]#ki!h#ki!r#ki!s#ki!t#ki!{#ki!}#ki#P#ki#R#ki#T#ki#X#ki#Z#ki#^#ki#_#ki#a#ki#c#ki#l#ki#o#ki#s#ki#u#ki#z#ki#}#ki$P#ki%X#ki%o#ki%p#ki%t#ki%u#ki&Z#ki&[#ki&]#ki&^#ki&_#ki&`#ki&a#ki&b#ki&c#ki&d#ki&e#ki&f#ki&g#ki&h#ki&i#ki&j#ki%Z#ki%_#ki~OV)kOn&wa~P'vOz)lOn&wa~Oz)lOn&wa~P%SOn)pO~O%Y)tO~Ot)wO#p'WO#q)vOP#niV#nif#nih#nio#nis#niv#ni!P#ni!Q#ni!T#ni!U#ni!X#ni!]#ni!h#ni!r#ni!s#ni!t#ni!{#ni!}#ni#P#ni#R#ni#T#ni#X#ni#Z#ni#^#ni#_#ni#a#ni#c#ni#l#ni#o#ni#s#ni#u#ni#z#ni#}#ni$P#ni%X#ni%o#ni%p#ni%t#ni%u#ni&Z#ni&[#ni&]#ni&^#ni&_#ni&`#ni&a#ni&b#ni&c#ni&d#ni&e#ni&f#ni&g#ni&h#ni&i#ni&j#ni%Z#ni%_#ni~OV)zOo0cOv0qO{$jO~P'vOo0cOv0qO{&xa~P'vOz*OO{&xa~OV*SOa*TOg*WO%q*UO%uWO~O{$jO&{*YO~Oh'_O~Oh!iO{$jO~O%[*_O~O%[*aO%_*aO~OV$}Oa$}Oo0cOv0qOg&Ua~P'vOz*dOg&Ua~Oo0cOv0qO{*gO!W&Xa~P'vOz*hO!W&Xa~Oo0cOv0qOz*hO{*kO!W&Xa~P'vOo0cOv0qOz*hO!W&Xa~P'vOz*hO{*kO!W&Xa~Om0dOn0dOo0mOp0nOgjikjisjizji!Tji!Uji%{ji!Wji{ji![ji#gji%[ji%_ji!Qji#[jitji!mji%zji~Ol0fO~P!NkOlji~P!NkOV'|Og*pOo0cOv0qO~P'vOn*rO~Og*pOz*tO~Og*uO~OV'|Oo0cOv0qO!W&Si~P'vOz*vO!W&Si~O!W*wO~OV(]Oo0cOv0qO![%}i#g%}i%[%}i%_%}ig%}i{%}i!m%}i%z%}i~P'vOz*zO!T%dO!U%cO![&Ti~Oz*}O![%}i#g%}i%[%}i%_%}ig%}i{%}i!m%}i%z%}i~O![+OO~Oa+QOo0cOv0qO![&Ti~P'vOz*zO![&Ti~O![+SO~OV+UOo0cOv0qO{&la![&la!m&la%z&la~P'vOz+VO{&la![&la!m&la%z&la~O!]+YO&n+[O![!nX~O![+^O~O{(kO![+_O~O{(kO![+_O!m+`O~OV&OOopOvqO{%hq!x%hq#g%hq%[%hq%_%hq%z%hq~P'vOz$ri{$ri!x$ri#g$ri%[$ri%_$ri%z$ri~P%SOV&OOopOvqO~P'vOV&OOo0cOv0qO#g%ha%[%ha%_%ha%z%ha~P'vOz+aO#g%ha%[%ha%_%ha%z%ha~Oz$ia#g$ia%[$ia%_$ian$ia~P%SO#g&Pi%[&Pi%_&Pin&Pi~P'vOz+dO#g#Wq%[#Wq%_#Wq~O#[+eOz$va#g$va%[$va%_$vag$va~O%uWO#g&ri%[&ri%_&rig&ri~Oz+gO#g&ri%[&ri%_&rig&ri~OV+iOh$WO%uWO~O%uWO#g&ti%[&ti%_&ti~Oo0cOv0qO#g&pi%[&pi%_&pi{&pi~P'vO{#{Oz#eX!W#eX~Oz+mO!W&uX~O!W+oO~Ot+rO#j)gOP#hqV#hqf#hqh#hqo#hqs#hqv#hq!P#hq!Q#hq!T#hq!U#hq!X#hq!]#hq!h#hq!r#hq!s#hq!t#hq!{#hq!}#hq#P#hq#R#hq#T#hq#X#hq#Z#hq#^#hq#_#hq#a#hq#c#hq#l#hq#o#hq#s#hq#u#hq#z#hq#}#hq$P#hq%X#hq%o#hq%p#hq%t#hq%u#hq&Z#hq&[#hq&]#hq&^#hq&_#hq&`#hq&a#hq&b#hq&c#hq&d#hq&e#hq&f#hq&g#hq&h#hq&i#hq&j#hq%Z#hq%_#hq~On$|az$|a~P%SOV)kOn&wi~P'vOz+yOn&wi~Oz,TO{$jO#[,TO~O#q,VOP#nqV#nqf#nqh#nqo#nqs#nqv#nq!P#nq!Q#nq!T#nq!U#nq!X#nq!]#nq!h#nq!r#nq!s#nq!t#nq!{#nq!}#nq#P#nq#R#nq#T#nq#X#nq#Z#nq#^#nq#_#nq#a#nq#c#nq#l#nq#o#nq#s#nq#u#nq#z#nq#}#nq$P#nq%X#nq%o#nq%p#nq%t#nq%u#nq&Z#nq&[#nq&]#nq&^#nq&_#nq&`#nq&a#nq&b#nq&c#nq&d#nq&e#nq&f#nq&g#nq&h#nq&i#nq&j#nq%Z#nq%_#nq~O#[,WOz%Oa{%Oa~Oo0cOv0qO{&xi~P'vOz,YO{&xi~O{#{O%z,[Og&zXz&zX~O%uWOg&zXz&zX~Oz,`Og&yX~Og,bO~O%Y,eO~O!T%dO!U%cOg&Viz&Vi~OV$}Oa$}Oo0cOv0qOg&Ui~P'vO{,hOz$la!W$la~Oo0cOv0qO{,iOz$la!W$la~P'vOo0cOv0qO{*gO!W&Xi~P'vOz,lO!W&Xi~Oo0cOv0qOz,lO!W&Xi~P'vOz,lO{,oO!W&Xi~Og$hiz$hi!W$hi~P%SOV'|Oo0cOv0qO~P'vOn,qO~OV'|Og,rOo0cOv0qO~P'vOV'|Oo0cOv0qO!W&Sq~P'vOz$gi![$gi#g$gi%[$gi%_$gig$gi{$gi!m$gi%z$gi~P%SOV(]Oo0cOv0qO~P'vOa+QOo0cOv0qO![&Tq~P'vOz,sO![&Tq~O![,tO~OV(]Oo0cOv0qO![%}q#g%}q%[%}q%_%}qg%}q{%}q!m%}q%z%}q~P'vO{,uO~OV+UOo0cOv0qO{&li![&li!m&li%z&li~P'vOz,zO{&li![&li!m&li%z&li~O!]+YO&n+[O![!na~O{(kO![,}O~OV&OOo0cOv0qO#g%hi%[%hi%_%hi%z%hi~P'vOz-OO#g%hi%[%hi%_%hi%z%hi~O%uWO#g&rq%[&rq%_&rqg&rq~Oz-RO#g&rq%[&rq%_&rqg&rq~OV)`Oa)`O%uWO!W&ua~Oz-TO!W&ua~On$|iz$|i~P%SOV)kO~P'vOV)kOn&wq~P'vOt-XOP#myV#myf#myh#myo#mys#myv#my!P#my!Q#my!T#my!U#my!X#my!]#my!h#my!r#my!s#my!t#my!{#my!}#my#P#my#R#my#T#my#X#my#Z#my#^#my#_#my#a#my#c#my#l#my#o#my#s#my#u#my#z#my#}#my$P#my%X#my%o#my%p#my%t#my%u#my&Z#my&[#my&]#my&^#my&_#my&`#my&a#my&b#my&c#my&d#my&e#my&f#my&g#my&h#my&i#my&j#my%Z#my%_#my~O%Z-]O%_-]O~P`O#q-^OP#nyV#nyf#nyh#nyo#nys#nyv#ny!P#ny!Q#ny!T#ny!U#ny!X#ny!]#ny!h#ny!r#ny!s#ny!t#ny!{#ny!}#ny#P#ny#R#ny#T#ny#X#ny#Z#ny#^#ny#_#ny#a#ny#c#ny#l#ny#o#ny#s#ny#u#ny#z#ny#}#ny$P#ny%X#ny%o#ny%p#ny%t#ny%u#ny&Z#ny&[#ny&]#ny&^#ny&_#ny&`#ny&a#ny&b#ny&c#ny&d#ny&e#ny&f#ny&g#ny&h#ny&i#ny&j#ny%Z#ny%_#ny~Oz-aO{$jO#[-aO~Oo0cOv0qO{&xq~P'vOz-dO{&xq~O%z,[Og&zaz&za~O{#{Og&zaz&za~OV*SOa*TO%q*UO%uWOg&ya~Oz-hOg&ya~O$S-lO~OV$}Oa$}Oo0cOv0qO~P'vOo0cOv0qO{-mOz$li!W$li~P'vOo0cOv0qOz$li!W$li~P'vO{-mOz$li!W$li~Oo0cOv0qO{*gO~P'vOo0cOv0qO{*gO!W&Xq~P'vOz-pO!W&Xq~Oo0cOv0qOz-pO!W&Xq~P'vOs-sO!T%dO!U%cOg&Oq!W&Oq![&Oqz&Oq~P!/jOa+QOo0cOv0qO![&Ty~P'vOz$ji![$ji~P%SOa+QOo0cOv0qO~P'vOV+UOo0cOv0qO~P'vOV+UOo0cOv0qO{&lq![&lq!m&lq%z&lq~P'vO{(kO![-xO!m-yO%z-wO~OV&OOo0cOv0qO#g%hq%[%hq%_%hq%z%hq~P'vO%uWO#g&ry%[&ry%_&ryg&ry~OV)`Oa)`O%uWO!W&ui~Ot-}OP#m!RV#m!Rf#m!Rh#m!Ro#m!Rs#m!Rv#m!R!P#m!R!Q#m!R!T#m!R!U#m!R!X#m!R!]#m!R!h#m!R!r#m!R!s#m!R!t#m!R!{#m!R!}#m!R#P#m!R#R#m!R#T#m!R#X#m!R#Z#m!R#^#m!R#_#m!R#a#m!R#c#m!R#l#m!R#o#m!R#s#m!R#u#m!R#z#m!R#}#m!R$P#m!R%X#m!R%o#m!R%p#m!R%t#m!R%u#m!R&Z#m!R&[#m!R&]#m!R&^#m!R&_#m!R&`#m!R&a#m!R&b#m!R&c#m!R&d#m!R&e#m!R&f#m!R&g#m!R&h#m!R&i#m!R&j#m!R%Z#m!R%_#m!R~Oo0cOv0qO{&xy~P'vOV*SOa*TO%q*UO%uWOg&yi~O$S-lO%Z.VO%_.VO~OV.aOh._O!X.^O!].`O!h.YO!s.[O!t.[O%p.XO%uWO&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O~Oo0cOv0qOz$lq!W$lq~P'vO{.fOz$lq!W$lq~Oo0cOv0qO{*gO!W&Xy~P'vOz.gO!W&Xy~Oo0cOv.kO~P'vOs-sO!T%dO!U%cOg&Oy!W&Oy![&Oyz&Oy~P!/jO{(kO![.nO~O{(kO![.nO!m.oO~OV*SOa*TO%q*UO%uWO~Oh.tO!f.rOz$TX#[$TX%j$TXg$TX~Os$TX{$TX!W$TX![$TX~P$-bO%o.vO%p.vOs$UXz$UX{$UX#[$UX%j$UX!W$UXg$UX![$UX~O!h.xO~Oz.|O#[/OO%j.yOs&|X{&|X!W&|Xg&|X~Oa/RO~P$)zOh.tOs&}Xz&}X{&}X#[&}X%j&}X!W&}Xg&}X![&}X~Os/VO{$jO~Oo0cOv0qOz$ly!W$ly~P'vOo0cOv0qO{*gO!W&X!R~P'vOz/ZO!W&X!R~Og&RXs&RX!T&RX!U&RX!W&RX![&RXz&RX~P!/jOs-sO!T%dO!U%cOg&Qa!W&Qa![&Qaz&Qa~O{(kO![/^O~O!f.rOh$[as$[az$[a{$[a#[$[a%j$[a!W$[ag$[a![$[a~O!h/eO~O%o.vO%p.vOs$Uaz$Ua{$Ua#[$Ua%j$Ua!W$Uag$Ua![$Ua~O%j.yOs$Yaz$Ya{$Ya#[$Ya!W$Yag$Ya![$Ya~Os&|a{&|a!W&|ag&|a~P$)nOz/jOs&|a{&|a!W&|ag&|a~O!W/mO~Og/mO~O{/oO~O![/pO~Oo0cOv0qO{*gO!W&X!Z~P'vO{/sO~O%z/tO~P$-bOz/uO#[/OO%j.yOg'PX~Oz/uOg'PX~Og/wO~O!h/xO~O#[/OOs%Saz%Sa{%Sa%j%Sa!W%Sag%Sa![%Sa~O#[/OO%j.yOs%Waz%Wa{%Wa!W%Wag%Wa~Os&|i{&|i!W&|ig&|i~P$)nOz/zO#[/OO%j.yO!['Oa~Og'Pa~P$)nOz0SOg'Pa~Oa0UO!['Oi~P$)zOz0WO!['Oi~Oz0WO#[/OO%j.yO!['Oi~O#[/OO%j.yOg$biz$bi~O%z0ZO~P$-bO#[/OO%j.yOg%Vaz%Va~Og'Pi~P$)nO{0^O~Oa0UO!['Oq~P$)zOz0`O!['Oq~O#[/OO%j.yOz%Ui![%Ui~Oa0UO~P$)zOa0UO!['Oy~P$)zO#[/OO%j.yOg$ciz$ci~O#[/OO%j.yOz%Uq![%Uq~Oz+aO#g%ha%[%ha%_%ha%z%ha~P%SOV&OOo0cOv0qO~P'vOn0hO~Oo0hO~P'vO{0iO~Ot0jO~P!/jO&]&Z&j&h&i&g&f&d&e&c&b&`&a&_&^&[%u~",goto:"!=j'QPPPPPP'RP'Z*s+[+t,_,y-fP.SP'Z.r.r'ZPPP'Z2[PPPPPP2[5PPP5PP7b7k=sPP=v>h>kPP'Z'ZPP>zPP'Z'ZPP'Z'Z'Z'Z'Z?O?w'ZP?zP@QDXGuGyPG|HWH['ZPPPH_Hk'RP'R'RP'RP'RP'RP'RP'R'R'RP'RPP'RPP'RP'RPHqH}IVPI^IdPI^PI^I^PPPI^PKrPK{LVL]KrPI^LfPI^PLmLsPLwM]MzNeLwLwNkNxLwLwLwLw! ^! d! g! l! o! y!!P!!]!!o!!u!#P!#V!#s!#y!$P!$Z!$a!$g!$y!%T!%Z!%a!%k!%q!%w!%}!&T!&Z!&e!&k!&u!&{!'U!'[!'k!'s!'}!(UPPPPPPPPPPP!([!(_!(e!(n!(x!)TPPPPPPPPPPPP!-u!/Z!3^!6oPP!6w!7W!7a!8Y!8P!8c!8i!8l!8o!8r!8z!9jPPPPPPPPPPPPPPPPP!9m!9q!9wP!:]!:a!:m!:v!;S!;j!;m!;p!;v!;|!_![!]Do!]!^Es!^!_FZ!_!`Gk!`!aHX!a!b%T!b!cIf!c!dJU!d!eK^!e!hJU!h!i!#f!i!tJU!t!u!,|!u!wJU!w!x!.t!x!}JU!}#O!0S#O#P&o#P#Q!0j#Q#R!1Q#R#SJU#S#T%T#T#UJU#U#VK^#V#YJU#Y#Z!#f#Z#fJU#f#g!,|#g#iJU#i#j!.t#j#oJU#o#p!1n#p#q!1s#q#r!2a#r#s!2f#s$g%T$g;'SJU;'S;=`KW<%lOJU`%YT&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T`%lP;=`<%l%To%v]&n`%c_OX%TXY%oY[%T[]%o]p%Tpq%oq#O%T#O#P&o#P#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To&tX&n`OY%TYZ%oZ]%T]^%o^#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc'f[&n`O!_%T!_!`([!`#T%T#T#U(r#U#f%T#f#g(r#g#h(r#h#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc(cTmR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc(yT!mR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk)aV&n`&[ZOr%Trs)vs#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk){V&n`Or%Trs*bs#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk*iT&n`&^ZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To+PZS_&n`OY*xYZ%TZ]*x]^%T^#o*x#o#p+r#p#q*x#q#r+r#r;'S*x;'S;=`,^<%lO*x_+wTS_OY+rZ]+r^;'S+r;'S;=`,W<%lO+r_,ZP;=`<%l+ro,aP;=`<%l*xj,kV%rQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj-XT!xY&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj-oV%lQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk.]V&n`&ZZOw%Twx.rx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk.wV&n`Ow%Twx/^x#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk/eT&n`&]ZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk/{ThZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc0cTgR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk0yXVZ&n`Oz%Tz{1f{!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk1mVaR&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk2ZV%oZ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc2wTzR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To3_W%pZ&n`O!_%T!_!`-Q!`!a3w!a#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Td4OT&{S&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk4fX!fQ&n`O!O%T!O!P5R!P!Q%T!Q![6T![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk5WV&n`O!O%T!O!P5m!P#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk5tT!rZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti6[a!hX&n`O!Q%T!Q![6T![!g%T!g!h7a!h!l%T!l!m9s!m#R%T#R#S6T#S#X%T#X#Y7a#Y#^%T#^#_9s#_#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti7fZ&n`O{%T{|8X|}%T}!O8X!O!Q%T!Q![8s![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti8^V&n`O!Q%T!Q![8s![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti8z]!hX&n`O!Q%T!Q![8s![!l%T!l!m9s!m#R%T#R#S8s#S#^%T#^#_9s#_#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti9zT!hX&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk:bX%qR&n`O!P%T!P!Q:}!Q!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj;UV%sQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti;ro!hX&n`O!O%T!O!P=s!P!Q%T!Q![>_![!d%T!d!e?q!e!g%T!g!h7a!h!l%T!l!m9s!m!q%T!q!rA]!r!z%T!z!{Bq!{#R%T#R#S>_#S#U%T#U#V?q#V#X%T#X#Y7a#Y#^%T#^#_9s#_#c%T#c#dA]#d#l%T#l#mBq#m#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti=xV&n`O!Q%T!Q![6T![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti>fc!hX&n`O!O%T!O!P=s!P!Q%T!Q![>_![!g%T!g!h7a!h!l%T!l!m9s!m#R%T#R#S>_#S#X%T#X#Y7a#Y#^%T#^#_9s#_#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti?vY&n`O!Q%T!Q!R@f!R!S@f!S#R%T#R#S@f#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti@mY!hX&n`O!Q%T!Q!R@f!R!S@f!S#R%T#R#S@f#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiAbX&n`O!Q%T!Q!YA}!Y#R%T#R#SA}#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiBUX!hX&n`O!Q%T!Q!YA}!Y#R%T#R#SA}#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiBv]&n`O!Q%T!Q![Co![!c%T!c!iCo!i#R%T#R#SCo#S#T%T#T#ZCo#Z#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiCv]!hX&n`O!Q%T!Q![Co![!c%T!c!iCo!i#R%T#R#SCo#S#T%T#T#ZCo#Z#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%ToDvV{_&n`O!_%T!_!`E]!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TcEdT%{R&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkEzT#gZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkFbXmR&n`O!^%T!^!_F}!_!`([!`!a([!a#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TjGUV%mQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkGrV%zZ&n`O!_%T!_!`([!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkH`WmR&n`O!_%T!_!`([!`!aHx!a#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TjIPV%nQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkIoV_Q#}P&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%ToJ_]&n`&YS%uZO!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUoKZP;=`<%lJUoKge&n`&YS%uZOr%Trs)Ysw%Twx.Ux!Q%T!Q![JU![!c%T!c!tJU!t!uLx!u!}JU!}#R%T#R#SJU#S#T%T#T#fJU#f#gLx#g#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUoMRa&n`&YS%uZOr%TrsNWsw%Twx! vx!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUkN_V&n`&`ZOr%TrsNts#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkNyV&n`Or%Trs! `s#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk! gT&n`&bZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk! }V&n`&_ZOw%Twx!!dx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!!iV&n`Ow%Twx!#Ox#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!#VT&n`&aZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To!#oe&n`&YS%uZOr%Trs!%Qsw%Twx!&px!Q%T!Q![JU![!c%T!c!tJU!t!u!(`!u!}JU!}#R%T#R#SJU#S#T%T#T#fJU#f#g!(`#g#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUk!%XV&n`&dZOr%Trs!%ns#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!%sV&n`Or%Trs!&Ys#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!&aT&n`&fZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!&wV&n`&cZOw%Twx!'^x#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!'cV&n`Ow%Twx!'xx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!(PT&n`&eZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To!(ia&n`&YS%uZOr%Trs!)nsw%Twx!+^x!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUk!)uV&n`&hZOr%Trs!*[s#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!*aV&n`Or%Trs!*vs#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!*}T&n`&jZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!+eV&n`&gZOw%Twx!+zx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!,PV&n`Ow%Twx!,fx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!,mT&n`&iZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To!-Vi&n`&YS%uZOr%TrsNWsw%Twx! vx!Q%T!Q![JU![!c%T!c!dJU!d!eLx!e!hJU!h!i!(`!i!}JU!}#R%T#R#SJU#S#T%T#T#UJU#U#VLx#V#YJU#Y#Z!(`#Z#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUo!.}a&n`&YS%uZOr%Trs)Ysw%Twx.Ux!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUk!0ZT!XZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc!0qT!WR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj!1XV%kQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T~!1sO!]~k!1zV%jR&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T~!2fO![~i!2mT%tX&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T",tokenizers:[kw,Qw,gw,xw,0,1,2,3,4],topRules:{Script:[0,5]},specialized:[{term:221,get:i=>vw[i]||-1}],tokenPrec:7668});var Wm=new pi,Vm=new Set(["Script","Body","FunctionDefinition","ClassDefinition","LambdaExpression","ForStatement","MatchClause"]);function Oo(i){return(e,t,n)=>{if(n)return!1;let r=e.node.getChild("VariableName");return r&&t(r,i),!0}}var $w={FunctionDefinition:Oo("function"),ClassDefinition:Oo("class"),ForStatement(i,e,t){if(t){for(let n=i.node.firstChild;n;n=n.nextSibling)if(n.name=="VariableName")e(n,"variable");else if(n.name=="in")break}},ImportStatement(i,e){var t,n;let{node:r}=i,s=((t=r.firstChild)===null||t===void 0?void 0:t.name)=="from";for(let o=r.getChild("import");o;o=o.nextSibling)o.name=="VariableName"&&((n=o.nextSibling)===null||n===void 0?void 0:n.name)!="as"&&e(o,s?"variable":"namespace")},AssignStatement(i,e){for(let t=i.node.firstChild;t;t=t.nextSibling)if(t.name=="VariableName")e(t,"variable");else if(t.name==":"||t.name=="AssignOp")break},ParamList(i,e){for(let t=null,n=i.node.firstChild;n;n=n.nextSibling)n.name=="VariableName"&&(!t||!/\*|AssignOp/.test(t.name))&&e(n,"variable"),t=n},CapturePattern:Oo("variable"),AsPattern:Oo("variable"),__proto__:null};function Dm(i,e){let t=Wm.get(e);if(t)return t;let n=[],r=!0;function s(o,a){let l=i.sliceString(o.from,o.to);n.push({label:l,type:a})}return e.cursor(te.IncludeAnonymous).iterate(o=>{if(o.name){let a=$w[o.name];if(a&&a(o,s,r)||!r&&Vm.has(o.name))return!1;r=!1}else if(o.to-o.from>8192){for(let a of Dm(i,o.node))n.push(a);return!1}}),Wm.set(e,n),n}var jm=/^[\w\xa1-\uffff][\w\d\xa1-\uffff]*$/,Ym=["String","FormatString","Comment","PropertyName"];function Tw(i){let e=U(i.state).resolveInner(i.pos,-1);if(Ym.indexOf(e.name)>-1)return null;let t=e.name=="VariableName"||e.to-e.from<20&&jm.test(i.state.sliceDoc(e.from,e.to));if(!t&&!i.explicit)return null;let n=[];for(let r=e;r;r=r.parent)Vm.has(r.name)&&(n=n.concat(Dm(i.state.doc,r)));return{options:n,from:t?e.from:i.pos,validFor:jm}}var Cw=["__annotations__","__builtins__","__debug__","__doc__","__import__","__name__","__loader__","__package__","__spec__","False","None","True"].map(i=>({label:i,type:"constant"})).concat(["ArithmeticError","AssertionError","AttributeError","BaseException","BlockingIOError","BrokenPipeError","BufferError","BytesWarning","ChildProcessError","ConnectionAbortedError","ConnectionError","ConnectionRefusedError","ConnectionResetError","DeprecationWarning","EOFError","Ellipsis","EncodingWarning","EnvironmentError","Exception","FileExistsError","FileNotFoundError","FloatingPointError","FutureWarning","GeneratorExit","IOError","ImportError","ImportWarning","IndentationError","IndexError","InterruptedError","IsADirectoryError","KeyError","KeyboardInterrupt","LookupError","MemoryError","ModuleNotFoundError","NameError","NotADirectoryError","NotImplemented","NotImplementedError","OSError","OverflowError","PendingDeprecationWarning","PermissionError","ProcessLookupError","RecursionError","ReferenceError","ResourceWarning","RuntimeError","RuntimeWarning","StopAsyncIteration","StopIteration","SyntaxError","SyntaxWarning","SystemError","SystemExit","TabError","TimeoutError","TypeError","UnboundLocalError","UnicodeDecodeError","UnicodeEncodeError","UnicodeError","UnicodeTranslateError","UnicodeWarning","UserWarning","ValueError","Warning","ZeroDivisionError"].map(i=>({label:i,type:"type"}))).concat(["bool","bytearray","bytes","classmethod","complex","float","frozenset","int","list","map","memoryview","object","range","set","staticmethod","str","super","tuple","type"].map(i=>({label:i,type:"class"}))).concat(["abs","aiter","all","anext","any","ascii","bin","breakpoint","callable","chr","compile","delattr","dict","dir","divmod","enumerate","eval","exec","exit","filter","format","getattr","globals","hasattr","hash","help","hex","id","input","isinstance","issubclass","iter","len","license","locals","max","min","next","oct","open","ord","pow","print","property","quit","repr","reversed","round","setattr","slice","sorted","sum","vars","zip"].map(i=>({label:i,type:"function"}))),Xw=[he("def ${name}(${params}):\n ${}",{label:"def",detail:"function",type:"keyword"}),he("for ${name} in ${collection}:\n ${}",{label:"for",detail:"loop",type:"keyword"}),he("while ${}:\n ${}",{label:"while",detail:"loop",type:"keyword"}),he("try:\n ${}\nexcept ${error}:\n ${}",{label:"try",detail:"/ except block",type:"keyword"}),he(`if \${}: +}`,{label:"class",detail:"definition",type:"keyword"}),he('import {${names}} from "${module}"\n${}',{label:"import",detail:"named",type:"keyword"}),he('import ${name} from "${module}"\n${}',{label:"import",detail:"default",type:"keyword"})],O1=Vp.concat([he("interface ${name} {\n ${}\n}",{label:"interface",detail:"definition",type:"keyword"}),he("type ${name} = ${type}",{label:"type",detail:"definition",type:"keyword"}),he("enum ${name} {\n ${}\n}",{label:"enum",detail:"definition",type:"keyword"})]),Mp=new pi,Dp=new Set(["Script","Block","FunctionExpression","FunctionDeclaration","ArrowFunction","MethodDeclaration","ForStatement"]);function $r(i){return(e,t)=>{let n=e.node.getChild("VariableDefinition");return n&&t(n,i),!0}}var d1=["FunctionDeclaration"],p1={FunctionDeclaration:$r("function"),ClassDeclaration:$r("class"),ClassExpression:()=>!0,EnumDeclaration:$r("constant"),TypeAliasDeclaration:$r("type"),NamespaceDeclaration:$r("namespace"),VariableDefinition(i,e){i.matchContext(d1)||e(i,"variable")},TypeDefinition(i,e){e(i,"type")},__proto__:null};function Yp(i,e){let t=Mp.get(e);if(t)return t;let n=[],r=!0;function s(o,a){let l=i.sliceString(o.from,o.to);n.push({label:l,type:a})}return e.cursor(te.IncludeAnonymous).iterate(o=>{if(r)r=!1;else if(o.name){let a=p1[o.name];if(a&&a(o,s)||Dp.has(o.name))return!1}else if(o.to-o.from>8192){for(let a of Yp(i,o.node))n.push(a);return!1}}),Mp.set(e,n),n}var Wp=/^[\w$\xa1-\uffff][\w$\d\xa1-\uffff]*$/,Ip=["TemplateString","String","RegExp","LineComment","BlockComment","VariableDefinition","TypeDefinition","Label","PropertyDefinition","PropertyName","PrivatePropertyDefinition","PrivatePropertyName","JSXText","JSXAttributeValue","JSXOpenTag","JSXCloseTag","JSXSelfClosingTag",".","?."];function m1(i){let e=G(i.state).resolveInner(i.pos,-1);if(Ip.indexOf(e.name)>-1)return null;let t=e.name=="VariableName"||e.to-e.from<20&&Wp.test(i.state.sliceDoc(e.from,e.to));if(!t&&!i.explicit)return null;let n=[];for(let r=e;r;r=r.parent)Dp.has(r.name)&&(n=n.concat(Yp(i.state.doc,r)));return{options:n,from:t?e.from:i.pos,validFor:Wp}}var Tt=Xe.define({name:"javascript",parser:Lp.configure({props:[Pe.add({IfStatement:Gt({except:/^\s*({|else\b)/}),TryStatement:Gt({except:/^\s*({|catch\b|finally\b)/}),LabeledStatement:hO,SwitchBody:i=>{let e=i.textAfter,t=/^\s*\}/.test(e),n=/^\s*(case|default)\b/.test(e);return i.baseIndent+(t?0:n?1:2)*i.unit},Block:wt({closing:"}"}),ArrowFunction:i=>i.baseIndent+i.unit,"TemplateString BlockComment":()=>null,"Statement Property":Gt({except:/^\s*{/}),JSXElement(i){let e=/^\s*<\//.test(i.textAfter);return i.lineIndent(i.node.from)+(e?0:i.unit)},JSXEscape(i){let e=/\s*\}/.test(i.textAfter);return i.lineIndent(i.node.from)+(e?0:i.unit)},"JSXOpenTag JSXSelfClosingTag"(i){return i.column(i.node.from)+i.unit}}),_e.add({"Block ClassBody SwitchBody EnumBody ObjectExpression ArrayExpression ObjectType":dt,BlockComment(i){return{from:i.from+2,to:i.to-2}},JSXElement(i){let e=i.firstChild;if(!e||e.name=="JSXSelfClosingTag")return null;let t=i.lastChild;return{from:e.to,to:t.type.isError?i.to:t.from}},"JSXSelfClosingTag JSXOpenTag"(i){var e;let t=(e=i.firstChild)===null||e===void 0?void 0:e.nextSibling,n=i.lastChild;return!t||t.type.isError?null:{from:t.to,to:n.type.isError?i.to:n.from}}})]}),languageData:{closeBrackets:{brackets:["(","[","{","'",'"',"`"]},commentTokens:{line:"//",block:{open:"/*",close:"*/"}},indentOnInput:/^\s*(?:case |default:|\{|\}|<\/)$/,wordChars:"$"}}),Bp={test:i=>/^JSX/.test(i.name),facet:xn({commentTokens:{block:{open:"{/*",close:"*/}"}}})},Ac=Tt.configure({dialect:"ts"},"typescript"),Zc=Tt.configure({dialect:"jsx",props:[zs.add(i=>i.isTop?[Bp]:void 0)]}),Ec=Tt.configure({dialect:"jsx ts",props:[zs.add(i=>i.isTop?[Bp]:void 0)]},"typescript"),Up=i=>({label:i,type:"keyword"}),Gp="break case const continue default delete export extends false finally in instanceof let new return static super switch this throw true typeof var yield".split(" ").map(Up),g1=Gp.concat(["declare","implements","private","protected","public"].map(Up));function oo(i={}){let e=i.jsx?i.typescript?Ec:Zc:i.typescript?Ac:Tt,t=i.typescript?O1.concat(g1):Vp.concat(Gp);return new me(e,[Tt.data.of({autocomplete:Us(Ip,Bs(t))}),Tt.data.of({autocomplete:m1}),i.jsx?S1:[]])}function Q1(i){for(;;){if(i.name=="JSXOpenTag"||i.name=="JSXSelfClosingTag"||i.name=="JSXFragmentTag")return i;if(i.name=="JSXEscape"||!i.parent)return null;i=i.parent}}function jp(i,e,t=i.length){for(let n=e?.firstChild;n;n=n.nextSibling)if(n.name=="JSXIdentifier"||n.name=="JSXBuiltin"||n.name=="JSXNamespacedName"||n.name=="JSXMemberExpression")return i.sliceString(n.from,Math.min(n.to,t));return""}var b1=typeof navigator=="object"&&/Android\b/.test(navigator.userAgent),S1=q.inputHandler.of((i,e,t,n,r)=>{if((b1?i.composing:i.compositionStarted)||i.state.readOnly||e!=t||n!=">"&&n!="/"||!Tt.isActiveAt(i.state,e,-1))return!1;let s=r(),{state:o}=s,a=o.changeByRange(l=>{var c;let{head:h}=l,f=G(o).resolveInner(h-1,-1),u;if(f.name=="JSXStartTag"&&(f=f.parent),!(o.doc.sliceString(h-1,h)!=n||f.name=="JSXAttributeValue"&&f.to>h)){if(n==">"&&f.name=="JSXFragmentTag")return{range:l,changes:{from:h,insert:""}};if(n=="/"&&f.name=="JSXStartCloseTag"){let O=f.parent,m=O.parent;if(m&&O.from==h-2&&((u=jp(o.doc,m.firstChild,h))||((c=m.firstChild)===null||c===void 0?void 0:c.name)=="JSXFragmentTag")){let p=`${u}>`;return{range:v.cursor(h+p.length,-1),changes:{from:h,insert:p}}}}else if(n==">"){let O=Q1(f);if(O&&O.name=="JSXOpenTag"&&!/^\/?>|^<\//.test(o.doc.sliceString(h,h+2))&&(u=jp(o.doc,O,h)))return{range:l,changes:{from:h,insert:``}}}}return{range:l}});return a.changes.empty?!1:(i.dispatch([s,o.update(a,{userEvent:"input.complete",scrollIntoView:!0})]),!0)});var Tr=["_blank","_self","_top","_parent"],qc=["ascii","utf-8","utf-16","latin1","latin1"],zc=["get","post","put","delete"],Lc=["application/x-www-form-urlencoded","multipart/form-data","text/plain"],it=["true","false"],D={},y1={a:{attrs:{href:null,ping:null,type:null,media:null,target:Tr,hreflang:null}},abbr:D,address:D,area:{attrs:{alt:null,coords:null,href:null,target:null,ping:null,media:null,hreflang:null,type:null,shape:["default","rect","circle","poly"]}},article:D,aside:D,audio:{attrs:{src:null,mediagroup:null,crossorigin:["anonymous","use-credentials"],preload:["none","metadata","auto"],autoplay:["autoplay"],loop:["loop"],controls:["controls"]}},b:D,base:{attrs:{href:null,target:Tr}},bdi:D,bdo:D,blockquote:{attrs:{cite:null}},body:D,br:D,button:{attrs:{form:null,formaction:null,name:null,value:null,autofocus:["autofocus"],disabled:["autofocus"],formenctype:Lc,formmethod:zc,formnovalidate:["novalidate"],formtarget:Tr,type:["submit","reset","button"]}},canvas:{attrs:{width:null,height:null}},caption:D,center:D,cite:D,code:D,col:{attrs:{span:null}},colgroup:{attrs:{span:null}},command:{attrs:{type:["command","checkbox","radio"],label:null,icon:null,radiogroup:null,command:null,title:null,disabled:["disabled"],checked:["checked"]}},data:{attrs:{value:null}},datagrid:{attrs:{disabled:["disabled"],multiple:["multiple"]}},datalist:{attrs:{data:null}},dd:D,del:{attrs:{cite:null,datetime:null}},details:{attrs:{open:["open"]}},dfn:D,div:D,dl:D,dt:D,em:D,embed:{attrs:{src:null,type:null,width:null,height:null}},eventsource:{attrs:{src:null}},fieldset:{attrs:{disabled:["disabled"],form:null,name:null}},figcaption:D,figure:D,footer:D,form:{attrs:{action:null,name:null,"accept-charset":qc,autocomplete:["on","off"],enctype:Lc,method:zc,novalidate:["novalidate"],target:Tr}},h1:D,h2:D,h3:D,h4:D,h5:D,h6:D,head:{children:["title","base","link","style","meta","script","noscript","command"]},header:D,hgroup:D,hr:D,html:{attrs:{manifest:null}},i:D,iframe:{attrs:{src:null,srcdoc:null,name:null,width:null,height:null,sandbox:["allow-top-navigation","allow-same-origin","allow-forms","allow-scripts"],seamless:["seamless"]}},img:{attrs:{alt:null,src:null,ismap:null,usemap:null,width:null,height:null,crossorigin:["anonymous","use-credentials"]}},input:{attrs:{alt:null,dirname:null,form:null,formaction:null,height:null,list:null,max:null,maxlength:null,min:null,name:null,pattern:null,placeholder:null,size:null,src:null,step:null,value:null,width:null,accept:["audio/*","video/*","image/*"],autocomplete:["on","off"],autofocus:["autofocus"],checked:["checked"],disabled:["disabled"],formenctype:Lc,formmethod:zc,formnovalidate:["novalidate"],formtarget:Tr,multiple:["multiple"],readonly:["readonly"],required:["required"],type:["hidden","text","search","tel","url","email","password","datetime","date","month","week","time","datetime-local","number","range","color","checkbox","radio","file","submit","image","reset","button"]}},ins:{attrs:{cite:null,datetime:null}},kbd:D,keygen:{attrs:{challenge:null,form:null,name:null,autofocus:["autofocus"],disabled:["disabled"],keytype:["RSA"]}},label:{attrs:{for:null,form:null}},legend:D,li:{attrs:{value:null}},link:{attrs:{href:null,type:null,hreflang:null,media:null,sizes:["all","16x16","16x16 32x32","16x16 32x32 64x64"]}},map:{attrs:{name:null}},mark:D,menu:{attrs:{label:null,type:["list","context","toolbar"]}},meta:{attrs:{content:null,charset:qc,name:["viewport","application-name","author","description","generator","keywords"],"http-equiv":["content-language","content-type","default-style","refresh"]}},meter:{attrs:{value:null,min:null,low:null,high:null,max:null,optimum:null}},nav:D,noscript:D,object:{attrs:{data:null,type:null,name:null,usemap:null,form:null,width:null,height:null,typemustmatch:["typemustmatch"]}},ol:{attrs:{reversed:["reversed"],start:null,type:["1","a","A","i","I"]},children:["li","script","template","ul","ol"]},optgroup:{attrs:{disabled:["disabled"],label:null}},option:{attrs:{disabled:["disabled"],label:null,selected:["selected"],value:null}},output:{attrs:{for:null,form:null,name:null}},p:D,param:{attrs:{name:null,value:null}},pre:D,progress:{attrs:{value:null,max:null}},q:{attrs:{cite:null}},rp:D,rt:D,ruby:D,samp:D,script:{attrs:{type:["text/javascript"],src:null,async:["async"],defer:["defer"],charset:qc}},section:D,select:{attrs:{form:null,name:null,size:null,autofocus:["autofocus"],disabled:["disabled"],multiple:["multiple"]}},slot:{attrs:{name:null}},small:D,source:{attrs:{src:null,type:null,media:null}},span:D,strong:D,style:{attrs:{type:["text/css"],media:null,scoped:null}},sub:D,summary:D,sup:D,table:D,tbody:D,td:{attrs:{colspan:null,rowspan:null,headers:null}},template:D,textarea:{attrs:{dirname:null,form:null,maxlength:null,name:null,placeholder:null,rows:null,cols:null,autofocus:["autofocus"],disabled:["disabled"],readonly:["readonly"],required:["required"],wrap:["soft","hard"]}},tfoot:D,th:{attrs:{colspan:null,rowspan:null,headers:null,scope:["row","col","rowgroup","colgroup"]}},thead:D,time:{attrs:{datetime:null}},title:D,tr:D,track:{attrs:{src:null,label:null,default:null,kind:["subtitles","captions","descriptions","chapters","metadata"],srclang:null}},ul:{children:["li","script","template","ul","ol"]},var:D,video:{attrs:{src:null,poster:null,width:null,height:null,crossorigin:["anonymous","use-credentials"],preload:["auto","metadata","none"],autoplay:["autoplay"],mediagroup:["movie"],muted:["muted"],controls:["controls"]}},wbr:D},Kp={accesskey:null,class:null,contenteditable:it,contextmenu:null,dir:["ltr","rtl","auto"],draggable:["true","false","auto"],dropzone:["copy","move","link","string:","file:"],hidden:["hidden"],id:null,inert:["inert"],itemid:null,itemprop:null,itemref:null,itemscope:["itemscope"],itemtype:null,lang:["ar","bn","de","en-GB","en-US","es","fr","hi","id","ja","pa","pt","ru","tr","zh"],spellcheck:it,autocorrect:it,autocapitalize:it,style:null,tabindex:null,title:null,translate:["yes","no"],rel:["stylesheet","alternate","author","bookmark","help","license","next","nofollow","noreferrer","prefetch","prev","search","tag"],role:"alert application article banner button cell checkbox complementary contentinfo dialog document feed figure form grid gridcell heading img list listbox listitem main navigation region row rowgroup search switch tab table tabpanel textbox timer".split(" "),"aria-activedescendant":null,"aria-atomic":it,"aria-autocomplete":["inline","list","both","none"],"aria-busy":it,"aria-checked":["true","false","mixed","undefined"],"aria-controls":null,"aria-describedby":null,"aria-disabled":it,"aria-dropeffect":null,"aria-expanded":["true","false","undefined"],"aria-flowto":null,"aria-grabbed":["true","false","undefined"],"aria-haspopup":it,"aria-hidden":it,"aria-invalid":["true","false","grammar","spelling"],"aria-label":null,"aria-labelledby":null,"aria-level":null,"aria-live":["off","polite","assertive"],"aria-multiline":it,"aria-multiselectable":it,"aria-owns":null,"aria-posinset":null,"aria-pressed":["true","false","mixed","undefined"],"aria-readonly":it,"aria-relevant":null,"aria-required":it,"aria-selected":["true","false","undefined"],"aria-setsize":null,"aria-sort":["ascending","descending","none","other"],"aria-valuemax":null,"aria-valuemin":null,"aria-valuenow":null,"aria-valuetext":null},Jp="beforeunload copy cut dragstart dragover dragleave dragenter dragend drag paste focus blur change click load mousedown mouseenter mouseleave mouseup keydown keyup resize scroll unload".split(" ").map(i=>"on"+i);for(let i of Jp)Kp[i]=null;var Gi=class{constructor(e,t){this.tags={...y1,...e},this.globalAttrs={...Kp,...t},this.allTags=Object.keys(this.tags),this.globalAttrNames=Object.keys(this.globalAttrs)}};Gi.default=new Gi;function Tn(i,e,t=i.length){if(!e)return"";let n=e.firstChild,r=n&&n.getChild("TagName");return r?i.sliceString(r.from,Math.min(r.to,t)):""}function Cn(i,e=!1){for(;i;i=i.parent)if(i.name=="Element")if(e)e=!1;else return i;return null}function em(i,e,t){let n=t.tags[Tn(i,Cn(e))];return n?.children||t.allTags}function Mc(i,e){let t=[];for(let n=Cn(e);n&&!n.type.isTop;n=Cn(n.parent)){let r=Tn(i,n);if(r&&n.lastChild.name=="CloseTag")break;r&&t.indexOf(r)<0&&(e.name=="EndTag"||e.from>=n.firstChild.to)&&t.push(r)}return t}var tm=/^[:\-\.\w\u00b7-\uffff]*$/;function Np(i,e,t,n,r){let s=/\s*>/.test(i.sliceDoc(r,r+5))?"":">",o=Cn(t,t.name=="StartTag"||t.name=="TagName");return{from:n,to:r,options:em(i.doc,o,e).map(a=>({label:a,type:"type"})).concat(Mc(i.doc,t).map((a,l)=>({label:"/"+a,apply:"/"+a+s,type:"type",boost:99-l}))),validFor:/^\/?[:\-\.\w\u00b7-\uffff]*$/}}function Fp(i,e,t,n){let r=/\s*>/.test(i.sliceDoc(n,n+5))?"":">";return{from:t,to:n,options:Mc(i.doc,e).map((s,o)=>({label:s,apply:s+r,type:"type",boost:99-o})),validFor:tm}}function k1(i,e,t,n){let r=[],s=0;for(let o of em(i.doc,t,e))r.push({label:"<"+o,type:"type"});for(let o of Mc(i.doc,t))r.push({label:"",type:"type",boost:99-s++});return{from:n,to:n,options:r,validFor:/^<\/?[:\-\.\w\u00b7-\uffff]*$/}}function x1(i,e,t,n,r){let s=Cn(t),o=s?e.tags[Tn(i.doc,s)]:null,a=o&&o.attrs?Object.keys(o.attrs):[],l=o&&o.globalAttrs===!1?a:a.length?a.concat(e.globalAttrNames):e.globalAttrNames;return{from:n,to:r,options:l.map(c=>({label:c,type:"property"})),validFor:tm}}function w1(i,e,t,n,r){var s;let o=(s=t.parent)===null||s===void 0?void 0:s.getChild("AttributeName"),a=[],l;if(o){let c=i.sliceDoc(o.from,o.to),h=e.globalAttrs[c];if(!h){let f=Cn(t),u=f?e.tags[Tn(i.doc,f)]:null;h=u?.attrs&&u.attrs[c]}if(h){let f=i.sliceDoc(n,r).toLowerCase(),u='"',O='"';/^['"]/.test(f)?(l=f[0]=='"'?/^[^"]*$/:/^[^']*$/,u="",O=i.sliceDoc(r,r+1)==f[0]?"":f[0],f=f.slice(1),n++):l=/^[^\s<>='"]*$/;for(let m of h)a.push({label:m,apply:u+m+O,type:"constant"})}}return{from:n,to:r,options:a,validFor:l}}function im(i,e){let{state:t,pos:n}=e,r=G(t).resolveInner(n,-1),s=r.resolve(n);for(let o=n,a;s==r&&(a=r.childBefore(o));){let l=a.lastChild;if(!l||!l.type.isError||l.fromim(n,r)}var v1=Tt.parser.configure({top:"SingleExpression"}),rm=[{tag:"script",attrs:i=>i.type=="text/typescript"||i.lang=="ts",parser:Ac.parser},{tag:"script",attrs:i=>i.type=="text/babel"||i.type=="text/jsx",parser:Zc.parser},{tag:"script",attrs:i=>i.type=="text/typescript-jsx",parser:Ec.parser},{tag:"script",attrs(i){return/^(importmap|speculationrules|application\/(.+\+)?json)$/i.test(i.type)},parser:v1},{tag:"script",attrs(i){return!i.type||/^(?:text|application)\/(?:x-)?(?:java|ecma)script$|^module$|^$/i.test(i.type)},parser:Tt.parser},{tag:"style",attrs(i){return(!i.lang||i.lang=="css")&&(!i.type||/^(text\/)?(x-)?(stylesheet|css)$/i.test(i.type))},parser:vr.parser}],sm=[{name:"style",parser:vr.parser.configure({top:"Styles"})}].concat(Jp.map(i=>({name:i,parser:Tt.parser}))),om=Xe.define({name:"html",parser:xp.configure({props:[Pe.add({Element(i){let e=/^(\s*)(<\/)?/.exec(i.textAfter);return i.node.to<=i.pos+e[0].length?i.continue():i.lineIndent(i.node.from)+(e[2]?0:i.unit)},"OpenTag CloseTag SelfClosingTag"(i){return i.column(i.node.from)+i.unit},Document(i){if(i.pos+/\s*/.exec(i.textAfter)[0].lengthi.getChild("TagName")})]}),languageData:{commentTokens:{block:{open:""}},indentOnInput:/^\s*<\/\w+\W$/,wordChars:"-_"}}),ao=om.configure({wrap:vc(rm,sm)});function lo(i={}){let e="",t;i.matchClosingTags===!1&&(e="noMatch"),i.selfClosingTags===!0&&(e=(e?e+" ":"")+"selfClosing"),(i.nestedLanguages&&i.nestedLanguages.length||i.nestedAttributes&&i.nestedAttributes.length)&&(t=vc((i.nestedLanguages||[]).concat(rm),(i.nestedAttributes||[]).concat(sm)));let n=t?om.configure({wrap:t,dialect:e}):e?ao.configure({dialect:e}):ao;return new me(n,[ao.data.of({autocomplete:P1(i)}),i.autoCloseTags!==!1?$1:[],oo().support,so().support])}var Hp=new Set("area base br col command embed frame hr img input keygen link meta param source track wbr menuitem".split(" ")),$1=q.inputHandler.of((i,e,t,n,r)=>{if(i.composing||i.state.readOnly||e!=t||n!=">"&&n!="/"||!ao.isActiveAt(i.state,e,-1))return!1;let s=r(),{state:o}=s,a=o.changeByRange(l=>{var c,h,f;let u=o.doc.sliceString(l.from-1,l.to)==n,{head:O}=l,m=G(o).resolveInner(O,-1),p;if(u&&n==">"&&m.name=="EndTag"){let b=m.parent;if(((h=(c=b.parent)===null||c===void 0?void 0:c.lastChild)===null||h===void 0?void 0:h.name)!="CloseTag"&&(p=Tn(o.doc,b.parent,O))&&!Hp.has(p)){let g=O+(o.doc.sliceString(O,O+1)===">"?1:0),Q=``;return{range:l,changes:{from:O,to:g,insert:Q}}}}else if(u&&n=="/"&&m.name=="IncompleteCloseTag"){let b=m.parent;if(m.from==O-2&&((f=b.lastChild)===null||f===void 0?void 0:f.name)!="CloseTag"&&(p=Tn(o.doc,b,O))&&!Hp.has(p)){let g=O+(o.doc.sliceString(O,O+1)===">"?1:0),Q=`${p}>`;return{range:v.cursor(O+Q.length,-1),changes:{from:O,to:g,insert:Q}}}}return{range:l}});return a.changes.empty?!1:(i.dispatch([s,o.update(a,{userEvent:"input.complete",scrollIntoView:!0})]),!0)});var cm=xn({commentTokens:{block:{open:""}}}),hm=new I,fm=Ud.configure({props:[_e.add(i=>!i.is("Block")||i.is("Document")||Vc(i)!=null||T1(i)?void 0:(e,t)=>({from:t.doc.lineAt(e.from).to,to:e.to})),hm.add(Vc),Pe.add({Document:()=>null}),xt.add({Document:cm})]});function Vc(i){let e=/^(?:ATX|Setext)Heading(\d)$/.exec(i.name);return e?+e[1]:void 0}function T1(i){return i.name=="OrderedList"||i.name=="BulletList"}function C1(i,e){let t=i;for(;;){let n=t.nextSibling,r;if(!n||(r=Vc(n.type))!=null&&r<=e)break;t=n}return t.to}var X1=fO.of((i,e,t)=>{for(let n=G(i).resolveInner(t,-1);n&&!(n.fromt)return{from:t,to:s}}return null});function Dc(i){return new we(cm,i,[],"markdown")}var _1=Dc(fm),R1=fm.configure([Fd,Jd,Kd,ep,{props:[_e.add({Table:(i,e)=>({from:e.doc.lineAt(i.from).to,to:i.to})})]}]),xi=Dc(R1);function A1(i,e){return t=>{if(t&&i){let n=null;if(t=/\S*/.exec(t)[0],typeof i=="function"?n=i(t):n=Ue.matchLanguageName(i,t,!0),n instanceof Ue)return n.support?n.support.language.parser:ji.getSkippingParser(n.load());if(n)return n.parser}return e?e.parser:null}}var Cr=class{constructor(e,t,n,r,s,o,a){this.node=e,this.from=t,this.to=n,this.spaceBefore=r,this.spaceAfter=s,this.type=o,this.item=a}blank(e,t=!0){let n=this.spaceBefore+(this.node.name=="Blockquote"?">":"");if(e!=null){for(;n.length0;r--)n+=" ";return n+(t?this.spaceAfter:"")}}marker(e,t){let n=this.node.name=="OrderedList"?String(+Om(this.item,e)[2]+t):"";return this.spaceBefore+n+this.type+this.spaceAfter}};function um(i,e){let t=[],n=[];for(let r=i;r;r=r.parent){if(r.name=="FencedCode")return n;(r.name=="ListItem"||r.name=="Blockquote")&&t.push(r)}for(let r=t.length-1;r>=0;r--){let s=t[r],o,a=e.lineAt(s.from),l=s.from-a.from;if(s.name=="Blockquote"&&(o=/^ *>( ?)/.exec(a.text.slice(l))))n.push(new Cr(s,l,l+o[0].length,"",o[1],">",null));else if(s.name=="ListItem"&&s.parent.name=="OrderedList"&&(o=/^( *)\d+([.)])( *)/.exec(a.text.slice(l)))){let c=o[3],h=o[0].length;c.length>=4&&(c=c.slice(0,c.length-4),h-=4),n.push(new Cr(s.parent,l,l+h,o[1],c,o[2],s))}else if(s.name=="ListItem"&&s.parent.name=="BulletList"&&(o=/^( *)([-+*])( {1,4}\[[ xX]\])?( +)/.exec(a.text.slice(l)))){let c=o[4],h=o[0].length;c.length>4&&(c=c.slice(0,c.length-4),h-=4);let f=o[2];o[3]&&(f+=o[3].replace(/[xX]/," ")),n.push(new Cr(s.parent,l,l+h,o[1],c,f,s))}}return n}function Om(i,e){return/^(\s*)(\d+)(?=[.)])/.exec(e.sliceString(i.from,i.from+10))}function Wc(i,e,t,n=0){for(let r=-1,s=i;;){if(s.name=="ListItem"){let a=Om(s,e),l=+a[2];if(r>=0){if(l!=r+1)return;t.push({from:s.from+a[1].length,to:s.from+a[0].length,insert:String(r+2+n)})}r=l}let o=s.nextSibling;if(!o)break;s=o}}function Yc(i,e){let t=/^[ \t]*/.exec(i)[0].length;if(!t||e.facet(qt)!=" ")return i;let n=Ke(i,4,t),r="";for(let s=n;s>0;)s>=4?(r+=" ",s-=4):(r+=" ",s--);return r+i.slice(t)}var Ic=(i={})=>({state:e,dispatch:t})=>{let n=G(e),{doc:r}=e,s=null,o=e.changeByRange(a=>{if(!a.empty||!xi.isActiveAt(e,a.from,-1)&&!xi.isActiveAt(e,a.from,1))return s={range:a};let l=a.from,c=r.lineAt(l),h=um(n.resolveInner(l,-1),r);for(;h.length&&h[h.length-1].from>l-c.from;)h.pop();if(!h.length)return s={range:a};let f=h[h.length-1];if(f.to-f.spaceAfter.length>l-c.from)return s={range:a};let u=l>=f.to-f.spaceAfter.length&&!/\S/.test(c.text.slice(f.to));if(f.item&&u){let g=f.node.firstChild,Q=f.node.getChild("ListItem","ListItem");if(g.to>=l||Q&&Q.to0&&!/[^\s>]/.test(r.lineAt(c.from-1).text)||i.nonTightLists===!1){let S=h.length>1?h[h.length-2]:null,x,P="";S&&S.item?(x=c.from+S.from,P=S.marker(r,1)):x=c.from+(S?S.to:0);let $=[{from:x,to:l,insert:P}];return f.node.name=="OrderedList"&&Wc(f.item,r,$,-2),S&&S.node.name=="OrderedList"&&Wc(S.item,r,$),{range:v.cursor(x+P.length),changes:$}}else{let S=lm(h,e,c);return{range:v.cursor(l+S.length+1),changes:{from:c.from,insert:S+e.lineBreak}}}}if(f.node.name=="Blockquote"&&u&&c.from){let g=r.lineAt(c.from-1),Q=/>\s*$/.exec(g.text);if(Q&&Q.index==f.from){let S=e.changes([{from:g.from+Q.index,to:g.to},{from:c.from+f.from,to:c.to}]);return{range:a.map(S),changes:S}}}let O=[];f.node.name=="OrderedList"&&Wc(f.item,r,O);let m=f.item&&f.item.from]*/.exec(c.text)[0].length>=f.to)for(let g=0,Q=h.length-1;g<=Q;g++)p+=g==Q&&!m?h[g].marker(r,1):h[g].blank(gc.from&&/\s/.test(c.text.charAt(b-c.from-1));)b--;return p=Yc(p,e),E1(f.node,e.doc)&&(p=lm(h,e,c)+e.lineBreak+p),O.push({from:b,to:l,insert:e.lineBreak+p}),{range:v.cursor(b+p.length+1),changes:O}});return s?!1:(t(e.update(o,{scrollIntoView:!0,userEvent:"input"})),!0)},Z1=Ic();function am(i){return i.name=="QuoteMark"||i.name=="ListMark"}function E1(i,e){if(i.name!="OrderedList"&&i.name!="BulletList")return!1;let t=i.firstChild,n=i.getChild("ListItem","ListItem");if(!n)return!1;let r=e.lineAt(t.to),s=e.lineAt(n.from),o=/^[\s>]*$/.test(r.text);return r.number+(o?0:1){let t=G(i),n=null,r=i.changeByRange(s=>{let o=s.from,{doc:a}=i;if(s.empty&&xi.isActiveAt(i,s.from)){let l=a.lineAt(o),c=um(q1(t,o),a);if(c.length){let h=c[c.length-1],f=h.to-h.spaceAfter.length+(h.spaceAfter?1:0);if(o-l.from>f&&!/\S/.test(l.text.slice(f,o-l.from)))return{range:v.cursor(l.from+f),changes:{from:l.from+f,to:o}};if(o-l.from==f&&(!h.item||l.from<=h.item.from||!/\S/.test(l.text.slice(0,h.to)))){let u=l.from+h.from;if(h.item&&h.node.from{var t;let{main:n}=e.state.selection;if(n.empty)return!1;let r=(t=i.clipboardData)===null||t===void 0?void 0:t.getData("text/plain");if(!r||!/^(https?:\/\/|mailto:|xmpp:|www\.)/.test(r)||(/^www\./.test(r)&&(r="https://"+r),!xi.isActiveAt(e.state,n.from,1)))return!1;let s=G(e.state),o=!1;return s.iterate({from:n.from,to:n.to,enter:a=>{(a.from>n.from||W1.test(a.name))&&(o=!0)},leave:a=>{a.to{if(i.next==-1&&e.canShift(pm))return i.acceptToken(pm);let t=i.peek(-1);if((Kt(t)||t<0)&&e.context.type!=_r){if(_n(i,45))if(e.canShift(Xn))i.acceptToken(Xn);else return i.acceptToken(V1,3);if(_n(i,46))if(e.canShift(Xn))i.acceptToken(Xn);else return i.acceptToken(D1,3);let n=0;for(;i.next==32;)n++,i.advance();(n{if(e.context.type==_r){i.next==63&&(i.advance(),Ni(i.next)&&i.acceptToken(B1));return}if(i.next==45)i.advance(),Ni(i.next)&&i.acceptToken(e.context.type==Jc&&e.context.depth==Xr(i,i.pos-1)?Y1:Qm);else if(i.next==63)i.advance(),Ni(i.next)&&i.acceptToken(e.context.type==Nc&&e.context.depth==Xr(i,i.pos-1)?I1:bm);else{let t=i.pos;for(;;)if(Hc(i.next)){if(i.pos==t)return;i.advance()}else if(i.next==33)xm(i);else if(i.next==38)Kc(i);else if(i.next==42){Kc(i);break}else if(i.next==39||i.next==34){if(eh(i,!0))break;return}else if(i.next==91||i.next==123){if(!hx(i))return;break}else{wm(i,!0,!1,0);break}for(;Hc(i.next);)i.advance();if(i.next==58){if(i.pos==t&&e.canShift(tx))return;let n=i.peek(1);Ni(n)&&i.acceptTokenTo(e.context.type==Nc&&e.context.depth==Xr(i,t)?U1:Sm,t)}}},{contextual:!0});function cx(i){return i>32&&i<127&&i!=34&&i!=37&&i!=44&&i!=60&&i!=62&&i!=92&&i!=94&&i!=96&&i!=123&&i!=124&&i!=125}function mm(i){return i>=48&&i<=57||i>=97&&i<=102||i>=65&&i<=70}function gm(i,e){return i.next==37?(i.advance(),mm(i.next)&&i.advance(),mm(i.next)&&i.advance(),!0):cx(i.next)||e&&i.next==44?(i.advance(),!0):!1}function xm(i){if(i.advance(),i.next==60){for(i.advance();;)if(!gm(i,!0)){i.next==62&&i.advance();break}}else for(;gm(i,!1););}function Kc(i){for(i.advance();!Ni(i.next)&&co(i.next)!="f";)i.advance()}function eh(i,e){let t=i.next,n=!1,r=i.pos;for(i.advance();;){let s=i.next;if(s<0)break;if(i.advance(),s==t)if(s==39)if(i.next==39)i.advance();else break;else break;else if(s==92&&t==34)i.next>=0&&i.advance();else if(Kt(s)){if(e)return!1;n=!0}else if(e&&i.pos>=r+1024)return!1}return!n}function hx(i){for(let e=[],t=i.pos+1024;;)if(i.next==91||i.next==123)e.push(i.next),i.advance();else if(i.next==39||i.next==34){if(!eh(i,!0))return!1}else if(i.next==93||i.next==125){if(e[e.length-1]!=i.next-2)return!1;if(e.pop(),i.advance(),!e.length)return!0}else{if(i.next<0||i.pos>t||Kt(i.next))return!1;i.advance()}}var fx="iiisiiissisfissssssssssssisssiiissssssssssssssssssssssssssfsfssissssssssssssssssssssssssssfif";function co(i){return i<33?"u":i>125?"s":fx[i-33]}function Gc(i,e){let t=co(i);return t!="u"&&!(e&&t=="f")}function wm(i,e,t,n){if(co(i.next)=="s"||(i.next==63||i.next==58||i.next==45)&&Gc(i.peek(1),t))i.advance();else return!1;let r=i.pos;for(;;){let s=i.next,o=0,a=n+1;for(;km(s);){if(Kt(s)){if(e)return!1;a=0}else a++;s=i.peek(++o)}if(!(s>=0&&(s==58?Gc(i.peek(o+1),t):s==35?i.peek(o-1)!=32:Gc(s,t)))||!t&&a<=n||a==0&&!t&&(_n(i,45,o)||_n(i,46,o)))break;if(e&&co(s)=="f")return!1;for(let c=o;c>=0;c--)i.advance();if(e&&i.pos>r+1024)return!1}return!0}var ux=new ee((i,e)=>{if(i.next==33)xm(i),i.acceptToken(K1);else if(i.next==38||i.next==42){let t=i.next==38?F1:H1;Kc(i),i.acceptToken(t)}else i.next==39||i.next==34?(eh(i,!1),i.acceptToken(N1)):wm(i,!1,e.context.type==_r,e.context.depth)&&i.acceptToken(G1)}),Ox=new ee((i,e)=>{let t=e.context.type==Fc?e.context.depth:-1,n=i.pos;e:for(;;){let r=0,s=i.next;for(;s==32;)s=i.peek(++r);if(!r&&(_n(i,45,r)||_n(i,46,r))||!Kt(s)&&(t<0&&(t=Math.max(e.context.depth+1,r)),rYAN>Y",stateData:";S~O!fOS!gOS^OS~OP_OQbORSOTUOWROXROYYOZZO[XOcPOqQO!PVO!V[O!cTO~O`cO~P]OVkOWROXROYeOZfO[dOcPOmhOqQO~OboO~P!bOVtOWROXROYeOZfO[dOcPOmrOqQO~OpwO~P#WORSOTUOWROXROYYOZZO[XOcPOqQO!PVO!cTO~OSvP!avP!bvP~P#|OWROXROYeOZfO[dOcPOqQO~OmzO~P%OOm!OOUzP!azP!bzP!dzP~P#|O^!SO!b!QO!f!TO!g!RO~ORSOTUOWROXROcPOqQO!PVO!cTO~OY!UOP!QXQ!QX!V!QX!`!QXS!QX!a!QX!b!QXU!QXm!QX!d!QX~P&aO[!WOP!SXQ!SX!V!SX!`!SXS!SX!a!SX!b!SXU!SXm!SX!d!SX~P&aO^!ZO!W![O!b!YO!f!]O!g!YO~OP!_O!V[OQaX!`aX~OPaXQaX!VaX!`aX~P#|OP!bOQ!cO!V[O~OP_O!V[O~P#|OWROXROY!fOcPOqQObfXmfXofXpfX~OWROXRO[!hOcPOqQObhXmhXohXphX~ObeXmlXoeX~ObkXokX~P%OOm!kO~Om!lObnPonP~P%OOb!pOo!oO~Ob!pO~P!bOm!sOosXpsX~OosXpsX~P%OOm!uOotPptP~P%OOo!xOp!yO~Op!yO~P#WOS!|O!a#OO!b#OO~OUyX!ayX!byX!dyX~P#|Om#QO~OU#SO!a#UO!b#UO!d#RO~Om#WOUzX!azX!bzX!dzX~O]#XO~O!b#XO!g#YO~O^#ZO!b#XO!g#YO~OP!RXQ!RX!V!RX!`!RXS!RX!a!RX!b!RXU!RXm!RX!d!RX~P&aOP!TXQ!TX!V!TX!`!TXS!TX!a!TX!b!TXU!TXm!TX!d!TX~P&aO!b#^O!g#^O~O^#_O!b#^O!f#`O!g#^O~O^#_O!W#aO!b#^O!g#^O~OPaaQaa!Vaa!`aa~P#|OP#cO!V[OQ!XX!`!XX~OP!XXQ!XX!V!XX!`!XX~P#|OP_O!V[OQ!_X!`!_X~P#|OWROXROcPOqQObgXmgXogXpgX~OWROXROcPOqQObiXmiXoiXpiX~Obkaoka~P%OObnXonX~P%OOm#kO~Ob#lOo!oO~Oosapsa~P%OOotXptX~P%OOm#pO~Oo!xOp#qO~OSwP!awP!bwP~P#|OS!|O!a#vO!b#vO~OUya!aya!bya!dya~P#|Om#xO~P%OOm#{OU}P!a}P!b}P!d}P~P#|OU#SO!a$OO!b$OO!d#RO~O]$QO~O!b$QO!g$RO~O!b$SO!g$SO~O^$TO!b$SO!g$SO~O^$TO!b$SO!f$UO!g$SO~OP!XaQ!Xa!V!Xa!`!Xa~P#|Obnaona~P%OOotapta~P%OOo!xO~OU|X!a|X!b|X!d|X~P#|Om$ZO~Om$]OU}X!a}X!b}X!d}X~O]$^O~O!b$_O!g$_O~O^$`O!b$_O!g$_O~OU|a!a|a!b|a!d|a~P#|O!b$cO!g$cO~O",goto:",]!mPPPPPPPPPPPPPPPPP!nPP!v#v#|$`#|$c$f$j$nP%VPPP!v%Y%^%a%{&O%a&R&U&X&_&b%aP&e&{&e'O'RPP']'a'g'm's'y(XPPPPPPPP(_)e*X+c,VUaObcR#e!c!{ROPQSTUXY_bcdehknrtvz!O!U!W!_!b!c!f!h!k!l!s!u!|#Q#R#S#W#c#k#p#x#{$Z$]QmPR!qnqfPQThknrtv!k!l!s!u#R#k#pR!gdR!ieTlPnTjPnSiPnSqQvQ{TQ!mkQ!trQ!vtR#y#RR!nkTsQvR!wt!RWOSUXY_bcz!O!U!W!_!b!c!|#Q#S#W#c#x#{$Z$]RySR#t!|R|TR|UQ!PUR#|#SR#z#RR#z#SyZOSU_bcz!O!_!b!c!|#Q#S#W#c#x#{$Z$]R!VXR!XYa]O^abc!a!c!eT!da!eQnPR!rnQvQR!{vQ!}yR#u!}Q#T|R#}#TW^Obc!cS!^^!aT!aa!eQ!eaR#f!eW`Obc!cQxSS}U#SQ!`_Q#PzQ#V!OQ#b!_Q#d!bQ#s!|Q#w#QQ$P#WQ$V#cQ$Y#xQ$[#{Q$a$ZR$b$]xZOSU_bcz!O!_!b!c!|#Q#S#W#c#x#{$Z$]Q!VXQ!XYQ#[!UR#]!W!QWOSUXY_bcz!O!U!W!_!b!c!|#Q#S#W#c#x#{$Z$]pfPQThknrtv!k!l!s!u#R#k#pQ!gdQ!ieQ#g!fR#h!hSgPn^pQTkrtv#RQ!jhQ#i!kQ#j!lQ#n!sQ#o!uQ$W#kR$X#pQuQR!zv",nodeNames:"\u26A0 DirectiveEnd DocEnd - - ? ? ? Literal QuotedLiteral Anchor Alias Tag BlockLiteralContent Comment Stream BOM Document ] [ FlowSequence Item Tagged Anchored Anchored Tagged FlowMapping Pair Key : Pair , } { FlowMapping Pair Pair BlockSequence Item Item BlockMapping Pair Pair Key Pair Pair BlockLiteral BlockLiteralHeader Tagged Anchored Anchored Tagged Directive DirectiveName DirectiveContent Document",maxTerm:74,context:ox,nodeProps:[["isolate",-3,8,9,14,""],["openedBy",18,"[",32,"{"],["closedBy",19,"]",33,"}"]],propSources:[dx],skippedNodes:[0],repeatNodeCount:6,tokenData:"-Y~RnOX#PXY$QYZ$]Z]#P]^$]^p#Ppq$Qqs#Pst$btu#Puv$yv|#P|}&e}![#P![!]'O!]!`#P!`!a'i!a!}#P!}#O*g#O#P#P#P#Q+Q#Q#o#P#o#p+k#p#q'i#q#r,U#r;'S#P;'S;=`#z<%l?HT#P?HT?HU,o?HUO#PQ#UU!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PQ#kTOY#PZs#Pt;'S#P;'S;=`#z<%lO#PQ#}P;=`<%l#P~$VQ!f~XY$Qpq$Q~$bO!g~~$gS^~OY$bZ;'S$b;'S;=`$s<%lO$b~$vP;=`<%l$bR%OX!WQOX%kXY#PZ]%k]^#P^p%kpq#hq;'S%k;'S;=`&_<%lO%kR%rX!WQ!VPOX%kXY#PZ]%k]^#P^p%kpq#hq;'S%k;'S;=`&_<%lO%kR&bP;=`<%l%kR&lUoP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR'VUmP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR'p[!PP!WQOY#PZp#Ppq#hq{#P{|(f|}#P}!O(f!O!R#P!R![)p![;'S#P;'S;=`#z<%lO#PR(mW!PP!WQOY#PZp#Ppq#hq!R#P!R![)V![;'S#P;'S;=`#z<%lO#PR)^U!PP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR)wY!PP!WQOY#PZp#Ppq#hq{#P{|)V|}#P}!O)V!O;'S#P;'S;=`#z<%lO#PR*nUcP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR+XUbP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR+rUqP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR,]UpP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR,vU`P!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#P",tokenizers:[ax,lx,ux,Ox,0,1],topRules:{Stream:[0,15]},tokenPrec:0});var px=ve.deserialize({version:14,states:"!vOQOPOOO]OPO'#C_OhOPO'#C^OOOO'#Cc'#CcOpOPO'#CaQOOOOOO{OPOOOOOO'#Cb'#CbO!WOPO'#C`O!`OPO,58xOOOO-E6a-E6aOOOO-E6`-E6`OOOO'#C_'#C_OOOO1G.d1G.d",stateData:"!h~OXPOYROWTP~OWVXXRXYRX~OYVOXSP~OXROYROWTX~OXROYROWTP~OYVOXSX~OX[O~OXY~",goto:"vWPPX[beioRUOQQOR]XRXQTTOUQWQRZWSSOURYS",nodeNames:"\u26A0 Document Frontmatter DashLine FrontmatterContent Body",maxTerm:10,skippedNodes:[0],repeatNodeCount:2,tokenData:"$z~RXOYnYZ!^Z]n]^!^^}n}!O!i!O;'Sn;'S;=`!c<%lOn~qXOYnYZ!^Z]n]^!^^;'Sn;'S;=`!c<%l~n~On~~!^~!cOY~~!fP;=`<%ln~!lZOYnYZ!^Z]n]^!^^}n}!O#_!O;'Sn;'S;=`!c<%l~n~On~~!^~#bZOYnYZ!^Z]n]^!^^}n}!O$T!O;'Sn;'S;=`!c<%l~n~On~~!^~$WXOYnYZ$sZ]n]^$s^;'Sn;'S;=`!c<%l~n~On~~$s~$zOX~Y~",tokenizers:[0],topRules:{Document:[0,1]},tokenPrec:67}),mx=Xe.define({name:"yaml",parser:Pm.configure({props:[Pe.add({Stream:i=>{for(let e=i.node.resolve(i.pos,-1);e&&e.to>=i.pos;e=e.parent){if(e.name=="BlockLiteralContent"&&e.fromi.pos)return null}}return null},FlowMapping:wt({closing:"}"}),FlowSequence:wt({closing:"]"})}),_e.add({"FlowMapping FlowSequence":dt,"Item Pair BlockLiteral":(i,e)=>({from:e.doc.lineAt(i.from).to,to:i.to})})]}),languageData:{commentTokens:{line:"#"},indentOnInput:/^\s*[\]\}]$/}});var gx=Xe.define({name:"yaml-frontmatter",parser:px.configure({props:[Qe({DashLine:d.meta})]})});function vm(i){let{language:e,support:t}=i.content instanceof me?i.content:{language:i.content,support:[]};return new me(gx.configure({wrap:Sn(n=>n.name=="FrontmatterContent"?{parser:mx.parser}:n.name=="Body"?{parser:e.parser}:null)}),t)}var Qx=1,Rm=194,Am=195,bx=196,$m=197,Sx=198,yx=199,kx=200,xx=2,Zm=3,Tm=201,wx=24,Px=25,vx=49,$x=50,Tx=55,Cx=56,Xx=57,_x=59,Rx=60,Ax=61,Zx=62,Ex=63,qx=65,zx=238,Lx=71,Mx=241,Wx=242,jx=243,Vx=244,Dx=245,Yx=246,Ix=247,Bx=248,Em=72,Ux=249,Gx=250,Nx=251,Fx=252,Hx=253,Kx=254,Jx=255,ew=256,tw=73,iw=77,nw=263,rw=112,sw=130,ow=151,aw=152,lw=155,Fi=10,Rr=13,rh=32,uo=9,sh=35,cw=40,hw=46,nh=123,Cm=125,qm=39,zm=34,Xm=92,fw=111,uw=120,Ow=78,dw=117,pw=85,mw=new Set([Px,vx,$x,nw,qx,sw,Cx,Xx,zx,Zx,Ex,Em,tw,iw,Rx,Ax,ow,aw,lw,rw]);function th(i){return i==Fi||i==Rr}function ih(i){return i>=48&&i<=57||i>=65&&i<=70||i>=97&&i<=102}var gw=new ee((i,e)=>{let t;if(i.next<0)i.acceptToken(yx);else if(e.context.flags&ho)th(i.next)&&i.acceptToken(Sx,1);else if(((t=i.peek(-1))<0||th(t))&&e.canShift($m)){let n=0;for(;i.next==rh||i.next==uo;)i.advance(),n++;(i.next==Fi||i.next==Rr||i.next==sh)&&i.acceptToken($m,-n)}else th(i.next)&&i.acceptToken(bx,1)},{contextual:!0}),Qw=new ee((i,e)=>{let t=e.context;if(t.flags)return;let n=i.peek(-1);if(n==Fi||n==Rr){let r=0,s=0;for(;;){if(i.next==rh)r++;else if(i.next==uo)r+=8-r%8;else break;i.advance(),s++}r!=t.indent&&i.next!=Fi&&i.next!=Rr&&i.next!=sh&&(r[i,e|Lm])),yw=new Qt({start:bw,reduce(i,e,t,n){return i.flags&ho&&mw.has(e)||(e==Lx||e==Em)&&i.flags&Lm?i.parent:i},shift(i,e,t,n){return e==Rm?new fo(i,Sw(n.read(n.pos,t.pos)),0):e==Am?i.parent:e==wx||e==Tx||e==_x||e==Zm?new fo(i,0,ho):_m.has(e)?new fo(i,0,_m.get(e)|i.flags&ho):i},hash(i){return i.hash}}),kw=new ee(i=>{for(let e=0;e<5;e++){if(i.next!="print".charCodeAt(e))return;i.advance()}if(!/\w/.test(String.fromCharCode(i.next)))for(let e=0;;e++){let t=i.peek(e);if(!(t==rh||t==uo)){t!=cw&&t!=hw&&t!=Fi&&t!=Rr&&t!=sh&&i.acceptToken(Qx);return}}}),xw=new ee((i,e)=>{let{flags:t}=e.context,n=t&Jt?zm:qm,r=(t&ei)>0,s=!(t&ti),o=(t&ii)>0,a=i.pos;for(;!(i.next<0);)if(o&&i.next==nh)if(i.peek(1)==nh)i.advance(2);else{if(i.pos==a){i.acceptToken(Zm,1);return}break}else if(s&&i.next==Xm){if(i.pos==a){i.advance();let l=i.next;l>=0&&(i.advance(),ww(i,l)),i.acceptToken(xx);return}break}else if(i.next==Xm&&!s&&i.peek(1)>-1)i.advance(2);else if(i.next==n&&(!r||i.peek(1)==n&&i.peek(2)==n)){if(i.pos==a){i.acceptToken(Tm,r?3:1);return}break}else if(i.next==Fi){if(r)i.advance();else if(i.pos==a){i.acceptToken(Tm);return}break}else i.advance();i.pos>a&&i.acceptToken(kx)});function ww(i,e){if(e==fw)for(let t=0;t<2&&i.next>=48&&i.next<=55;t++)i.advance();else if(e==uw)for(let t=0;t<2&&ih(i.next);t++)i.advance();else if(e==dw)for(let t=0;t<4&&ih(i.next);t++)i.advance();else if(e==pw)for(let t=0;t<8&&ih(i.next);t++)i.advance();else if(e==Ow&&i.next==nh){for(i.advance();i.next>=0&&i.next!=Cm&&i.next!=qm&&i.next!=zm&&i.next!=Fi;)i.advance();i.next==Cm&&i.advance()}}var Pw=Qe({'async "*" "**" FormatConversion FormatSpec':d.modifier,"for while if elif else try except finally return raise break continue with pass assert await yield match case":d.controlKeyword,"in not and or is del":d.operatorKeyword,"from def class global nonlocal lambda":d.definitionKeyword,import:d.moduleKeyword,"with as print":d.keyword,Boolean:d.bool,None:d.null,VariableName:d.variableName,"CallExpression/VariableName":d.function(d.variableName),"FunctionDefinition/VariableName":d.function(d.definition(d.variableName)),"ClassDefinition/VariableName":d.definition(d.className),PropertyName:d.propertyName,"CallExpression/MemberExpression/PropertyName":d.function(d.propertyName),Comment:d.lineComment,Number:d.number,String:d.string,FormatString:d.special(d.string),Escape:d.escape,UpdateOp:d.updateOperator,"ArithOp!":d.arithmeticOperator,BitOp:d.bitwiseOperator,CompareOp:d.compareOperator,AssignOp:d.definitionOperator,Ellipsis:d.punctuation,At:d.meta,"( )":d.paren,"[ ]":d.squareBracket,"{ }":d.brace,".":d.derefOperator,", ;":d.separator}),vw={__proto__:null,await:44,or:54,and:56,in:60,not:62,is:64,if:70,else:72,lambda:76,yield:94,from:96,async:102,for:104,None:162,True:164,False:164,del:178,pass:182,break:186,continue:190,return:194,raise:202,import:206,as:208,global:212,nonlocal:214,assert:218,type:223,elif:236,while:240,try:246,except:248,finally:250,with:254,def:258,class:268,match:279,case:285},Mm=ve.deserialize({version:14,states:"##jQ`QeOOP$}OSOOO&WQtO'#HUOOQS'#Co'#CoOOQS'#Cp'#CpO'vQdO'#CnO*UQtO'#HTOOQS'#HU'#HUOOQS'#DU'#DUOOQS'#HT'#HTO*rQdO'#D_O+VQdO'#DfO+gQdO'#DjO+zOWO'#DuO,VOWO'#DvO.[QtO'#GuOOQS'#Gu'#GuO'vQdO'#GtO0ZQtO'#GtOOQS'#Eb'#EbO0rQdO'#EcOOQS'#Gs'#GsO0|QdO'#GrOOQV'#Gr'#GrO1XQdO'#FYOOQS'#G^'#G^O1^QdO'#FXOOQV'#IS'#ISOOQV'#Gq'#GqOOQV'#Fq'#FqQ`QeOOO'vQdO'#CqO1lQdO'#C}O1sQdO'#DRO2RQdO'#HYO2cQtO'#EVO'vQdO'#EWOOQS'#EY'#EYOOQS'#E['#E[OOQS'#E^'#E^O2wQdO'#E`O3_QdO'#EdO3rQdO'#EfO3zQtO'#EfO1XQdO'#EiO0rQdO'#ElO1XQdO'#EnO0rQdO'#EtO0rQdO'#EwO4VQdO'#EyO4^QdO'#FOO4iQdO'#EzO0rQdO'#FOO1XQdO'#FQO1XQdO'#FVO4nQdO'#F[P4uOdO'#GpPOOO)CBd)CBdOOQS'#Ce'#CeOOQS'#Cf'#CfOOQS'#Cg'#CgOOQS'#Ch'#ChOOQS'#Ci'#CiOOQS'#Cj'#CjOOQS'#Cl'#ClO'vQdO,59OO'vQdO,59OO'vQdO,59OO'vQdO,59OO'vQdO,59OO'vQdO,59OO5TQdO'#DoOOQS,5:Y,5:YO5hQdO'#HdOOQS,5:],5:]O5uQ!fO,5:]O5zQtO,59YO1lQdO,59bO1lQdO,59bO1lQdO,59bO8jQdO,59bO8oQdO,59bO8vQdO,59jO8}QdO'#HTO:TQdO'#HSOOQS'#HS'#HSOOQS'#D['#D[O:lQdO,59aO'vQdO,59aO:zQdO,59aOOQS,59y,59yO;PQdO,5:RO'vQdO,5:ROOQS,5:Q,5:QO;_QdO,5:QO;dQdO,5:XO'vQdO,5:XO'vQdO,5:VOOQS,5:U,5:UO;uQdO,5:UO;zQdO,5:WOOOW'#Fy'#FyOOOOQS'#Ds'#DsOOQS1G/w1G/wOOQS1G.|1G.|O!/[QtO1G.|O!/cQtO1G.|O1lQdO1G.|O!0OQdO1G/UOOQS'#DZ'#DZO0rQdO,59tOOQS1G.{1G.{O!0VQdO1G/eO!0gQdO1G/eO!0oQdO1G/fO'vQdO'#H[O!0tQdO'#H[O!0yQtO1G.{O!1ZQdO,59iO!2aQdO,5=zO!2qQdO,5=zO!2yQdO1G/mO!3OQtO1G/mOOQS1G/l1G/lO!3`QdO,5=uO!4VQdO,5=uO0rQdO1G/qO!4tQdO1G/sO!4yQtO1G/sO!5ZQtO1G/qOOQS1G/p1G/pOOQS1G/r1G/rOOOW-E9w-E9wOOQS1G/{1G/{O!5kQdO'#HxO0rQdO'#HxO!5|QdO,5>cOOOW-E9x-E9xOOQS1G/|1G/|OOQS-E9{-E9{O!6[Q#xO1G2zO!6{QtO1G2zO'vQdO,5kOOQS1G1`1G1`O!8RQdO1G1`OOQS'#DV'#DVO0rQdO,5=qOOQS,5=q,5=qO!8WQdO'#FrO!8cQdO,59oO!8kQdO1G/XO!8uQtO,5=uOOQS1G3`1G3`OOQS,5:m,5:mO!9fQdO'#GtOOQS,5jO!;ZQdO,5>jO1XQdO,5>jO!;lQdO,5>iOOQS-E:R-E:RO!;qQdO1G0lO!;|QdO1G0lO!lO!lO!hO!=VQdO,5>hO!=hQdO'#EpO0rQdO1G0tO!=sQdO1G0tO!=xQgO1G0zO!AvQgO1G0}O!EqQdO,5>oO!E{QdO,5>oO!FTQtO,5>oO0rQdO1G1PO!F_QdO1G1PO4iQdO1G1UO!!vQdO1G1WOOQV,5;a,5;aO!FdQfO,5;aO!FiQgO1G1QO!JjQdO'#GZO4iQdO1G1QO4iQdO1G1QO!JzQdO,5>pO!KXQdO,5>pO1XQdO,5>pOOQV1G1U1G1UO!KaQdO'#FSO!KrQ!fO1G1WO!KzQdO1G1WOOQV1G1]1G1]O4iQdO1G1]O!LPQdO1G1]O!LXQdO'#F^OOQV1G1b1G1bO!#ZQtO1G1bPOOO1G2v1G2vP!L^OSO1G2vOOQS,5=},5=}OOQS'#Dp'#DpO0rQdO,5=}O!LfQdO,5=|O!LyQdO,5=|OOQS1G/u1G/uO!MRQdO,5>PO!McQdO,5>PO!MkQdO,5>PO!NOQdO,5>PO!N`QdO,5>POOQS1G3j1G3jOOQS7+$h7+$hO!8kQdO7+$pO#!RQdO1G.|O#!YQdO1G.|OOQS1G/`1G/`OOQS,5<`,5<`O'vQdO,5<`OOQS7+%P7+%PO#!aQdO7+%POOQS-E9r-E9rOOQS7+%Q7+%QO#!qQdO,5=vO'vQdO,5=vOOQS7+$g7+$gO#!vQdO7+%PO##OQdO7+%QO##TQdO1G3fOOQS7+%X7+%XO##eQdO1G3fO##mQdO7+%XOOQS,5<_,5<_O'vQdO,5<_O##rQdO1G3aOOQS-E9q-E9qO#$iQdO7+%]OOQS7+%_7+%_O#$wQdO1G3aO#%fQdO7+%_O#%kQdO1G3gO#%{QdO1G3gO#&TQdO7+%]O#&YQdO,5>dO#&sQdO,5>dO#&sQdO,5>dOOQS'#Dx'#DxO#'UO&jO'#DzO#'aO`O'#HyOOOW1G3}1G3}O#'fQdO1G3}O#'nQdO1G3}O#'yQ#xO7+(fO#(jQtO1G2UP#)TQdO'#GOOOQS,5nQdO,5sQdO1G4OOOQS-E9y-E9yO#?^QdO1G4OO<[QdO'#H{OOOO'#D{'#D{OOOO'#F|'#F|O#?oO&jO,5:fOOOW,5>e,5>eOOOW7+)i7+)iO#?zQdO7+)iO#@SQdO1G2zO#@mQdO1G2zP'vQdO'#FuO0rQdO<mO#BQQdO,5>mOOQS1G0v1G0vOOQS<rO#KgQdO,5>rO#KrQdO,5>rO#K}QdO,5>qO#L`QdO,5>qOOQS1G1Y1G1YOOQS,5;p,5;pOOQV<VAN>VO$ oQdO<cAN>cO0rQdO1G1|O$!PQtO1G1|P$!ZQdO'#FvOOQS1G2R1G2RP$!hQdO'#F{O$!uQdO7+)jO$#`QdO,5>gOOOO-E9z-E9zOOOW<tO$4{QdO,5>tO1XQdO,5vO$)nQdO,5>vOOQS1G1p1G1pOOQS,5<[,5<[OOQU7+'P7+'PO$+zQdO1G/iO$)nQdO,5wO$8zQdO,5>wOOQS1G1s1G1sOOQS7+'S7+'SP$)nQdO'#GdO$9SQdO1G4bO$9^QdO1G4bO$9fQdO1G4bOOQS7+%T7+%TO$9tQdO1G1tO$:SQtO'#FaO$:ZQdO,5<}OOQS,5<},5<}O$:iQdO1G4cOOQS-E:a-E:aO$)nQdO,5<|O$:pQdO,5<|O$:uQdO7+)|OOQS-E:`-E:`O$;PQdO7+)|O$)nQdO,5S~O%cOS%^OSSOS%]PQ~OPdOVaOfoOhYOopOs!POvqO!PrO!Q{O!T!SO!U!RO!XZO!][O!h`O!r`O!s`O!t`O!{tO!}uO#PvO#RwO#TxO#XyO#ZzO#^|O#_|O#a}O#c!OO#l!QO#o!TO#s!UO#u!VO#z!WO#}hO$P!XO%oRO%pRO%tSO%uWO&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O&c^O&d^O&e^O&f^O&g^O&h^O&i^O&j^O~O%]!YO~OV!aO_!aOa!bOh!iO!X!kO!f!mO%j![O%k!]O%l!^O%m!_O%n!_O%o!`O%p!`O%q!aO%r!aO%s!aO~Ok%xXl%xXm%xXn%xXo%xXp%xXs%xXz%xX{%xX!x%xX#g%xX%[%xX%_%xX%z%xXg%xX!T%xX!U%xX%{%xX!W%xX![%xX!Q%xX#[%xXt%xX!m%xX~P%SOfoOhYO!XZO!][O!h`O!r`O!s`O!t`O%oRO%pRO%tSO%uWO&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O&c^O&d^O&e^O&f^O&g^O&h^O&i^O&j^O~Oz%wX{%wX#g%wX%[%wX%_%wX%z%wX~Ok!pOl!qOm!oOn!oOo!rOp!sOs!tO!x%wX~P)pOV!zOg!|Oo0cOv0qO!PrO~P'vOV#OOo0cOv0qO!W#PO~P'vOV#SOa#TOo0cOv0qO![#UO~P'vOQ#XO%`#XO%a#ZO~OQ#^OR#[O%`#^O%a#`O~OV%iX_%iXa%iXh%iXk%iXl%iXm%iXn%iXo%iXp%iXs%iXz%iX!X%iX!f%iX%j%iX%k%iX%l%iX%m%iX%n%iX%o%iX%p%iX%q%iX%r%iX%s%iXg%iX!T%iX!U%iX~O&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O&c^O&d^O&e^O&f^O&g^O&h^O&i^O&j^O{%iX!x%iX#g%iX%[%iX%_%iX%z%iX%{%iX!W%iX![%iX!Q%iX#[%iXt%iX!m%iX~P,eOz#dO{%hX!x%hX#g%hX%[%hX%_%hX%z%hX~Oo0cOv0qO~P'vO#g#gO%[#iO%_#iO~O%uWO~O!T#nO#u!VO#z!WO#}hO~OopO~P'vOV#sOa#tO%uWO{wP~OV#xOo0cOv0qO!Q#yO~P'vO{#{O!x$QO%z#|O#g!yX%[!yX%_!yX~OV#xOo0cOv0qO#g#SX%[#SX%_#SX~P'vOo0cOv0qO#g#WX%[#WX%_#WX~P'vOh$WO%uWO~O!f$YO!r$YO%uWO~OV$eO~P'vO!U$gO#s$hO#u$iO~O{$jO~OV$qO~P'vOS$sO%[$rO%_$rO%c$tO~OV$}Oa$}Og%POo0cOv0qO~P'vOo0cOv0qO{%SO~P'vO&Y%UO~Oa!bOh!iO!X!kO!f!mOVba_bakbalbambanbaobapbasbazba{ba!xba#gba%[ba%_ba%jba%kba%lba%mba%nba%oba%pba%qba%rba%sba%zbagba!Tba!Uba%{ba!Wba![ba!Qba#[batba!mba~On%ZO~Oo%ZO~P'vOo0cO~P'vOk0eOl0fOm0dOn0dOo0mOp0nOs0rOg%wX!T%wX!U%wX%{%wX!W%wX![%wX!Q%wX#[%wX!m%wX~P)pO%{%]Og%vXz%vX!T%vX!U%vX!W%vX{%vX~Og%_Oz%`O!T%dO!U%cO~Og%_O~Oz%gO!T%dO!U%cO!W&SX~O!W%kO~Oz%lO{%nO!T%dO!U%cO![%}X~O![%rO~O![%sO~OQ#XO%`#XO%a%uO~OV%wOo0cOv0qO!PrO~P'vOQ#^OR#[O%`#^O%a%zO~OV!qa_!qaa!qah!qak!qal!qam!qan!qao!qap!qas!qaz!qa{!qa!X!qa!f!qa!x!qa#g!qa%[!qa%_!qa%j!qa%k!qa%l!qa%m!qa%n!qa%o!qa%p!qa%q!qa%r!qa%s!qa%z!qag!qa!T!qa!U!qa%{!qa!W!qa![!qa!Q!qa#[!qat!qa!m!qa~P#yOz%|O{%ha!x%ha#g%ha%[%ha%_%ha%z%ha~P%SOV&OOopOvqO{%ha!x%ha#g%ha%[%ha%_%ha%z%ha~P'vOz%|O{%ha!x%ha#g%ha%[%ha%_%ha%z%ha~OPdOVaOopOvqO!PrO!Q{O!{tO!}uO#PvO#RwO#TxO#XyO#ZzO#^|O#_|O#a}O#c!OO#g$zX%[$zX%_$zX~P'vO#g#gO%[&TO%_&TO~O!f&UOh&sX%[&sXz&sX#[&sX#g&sX%_&sX#Z&sXg&sX~Oh!iO%[&WO~Okealeameaneaoeapeaseazea{ea!xea#gea%[ea%_ea%zeagea!Tea!Uea%{ea!Wea![ea!Qea#[eatea!mea~P%SOsqazqa{qa#gqa%[qa%_qa%zqa~Ok!pOl!qOm!oOn!oOo!rOp!sO!xqa~PEcO%z&YOz%yX{%yX~O%uWOz%yX{%yX~Oz&]O{wX~O{&_O~Oz%lO#g%}X%[%}X%_%}Xg%}X{%}X![%}X!m%}X%z%}X~OV0lOo0cOv0qO!PrO~P'vO%z#|O#gUa%[Ua%_Ua~Oz&hO#g&PX%[&PX%_&PXn&PX~P%SOz&kO!Q&jO#g#Wa%[#Wa%_#Wa~Oz&lO#[&nO#g&rX%[&rX%_&rXg&rX~O!f$YO!r$YO#Z&qO%uWO~O#Z&qO~Oz&sO#g&tX%[&tX%_&tX~Oz&uO#g&pX%[&pX%_&pX{&pX~O!X&wO%z&xO~Oz&|On&wX~P%SOn'PO~OPdOVaOopOvqO!PrO!Q{O!{tO!}uO#PvO#RwO#TxO#XyO#ZzO#^|O#_|O#a}O#c!OO%['UO~P'vOt'YO#p'WO#q'XOP#naV#naf#nah#nao#nas#nav#na!P#na!Q#na!T#na!U#na!X#na!]#na!h#na!r#na!s#na!t#na!{#na!}#na#P#na#R#na#T#na#X#na#Z#na#^#na#_#na#a#na#c#na#l#na#o#na#s#na#u#na#z#na#}#na$P#na%X#na%o#na%p#na%t#na%u#na&Z#na&[#na&]#na&^#na&_#na&`#na&a#na&b#na&c#na&d#na&e#na&f#na&g#na&h#na&i#na&j#na%Z#na%_#na~Oz'ZO#[']O{&xX~Oh'_O!X&wO~Oh!iO{$jO!X&wO~O{'eO~P%SO%['hO%_'hO~OS'iO%['hO%_'hO~OV!aO_!aOa!bOh!iO!X!kO!f!mO%l!^O%m!_O%n!_O%o!`O%p!`O%q!aO%r!aO%s!aOkWilWimWinWioWipWisWizWi{Wi!xWi#gWi%[Wi%_Wi%jWi%zWigWi!TWi!UWi%{Wi!WWi![Wi!QWi#[WitWi!mWi~O%k!]O~P!#uO%kWi~P!#uOV!aO_!aOa!bOh!iO!X!kO!f!mO%o!`O%p!`O%q!aO%r!aO%s!aOkWilWimWinWioWipWisWizWi{Wi!xWi#gWi%[Wi%_Wi%jWi%kWi%lWi%zWigWi!TWi!UWi%{Wi!WWi![Wi!QWi#[WitWi!mWi~O%m!_O%n!_O~P!&pO%mWi%nWi~P!&pOa!bOh!iO!X!kO!f!mOkWilWimWinWioWipWisWizWi{Wi!xWi#gWi%[Wi%_Wi%jWi%kWi%lWi%mWi%nWi%oWi%pWi%zWigWi!TWi!UWi%{Wi!WWi![Wi!QWi#[WitWi!mWi~OV!aO_!aO%q!aO%r!aO%s!aO~P!)nOVWi_Wi%qWi%rWi%sWi~P!)nO!T%dO!U%cOg&VXz&VX~O%z'kO%{'kO~P,eOz'mOg&UX~Og'oO~Oz'pO{'rO!W&XX~Oo0cOv0qOz'pO{'sO!W&XX~P'vO!W'uO~Om!oOn!oOo!rOp!sOkjisjizji{ji!xji#gji%[ji%_ji%zji~Ol!qO~P!.aOlji~P!.aOk0eOl0fOm0dOn0dOo0mOp0nO~Ot'wO~P!/jOV'|Og'}Oo0cOv0qO~P'vOg'}Oz(OO~Og(QO~O!U(SO~Og(TOz(OO!T%dO!U%cO~P%SOk0eOl0fOm0dOn0dOo0mOp0nOgqa!Tqa!Uqa%{qa!Wqa![qa!Qqa#[qatqa!mqa~PEcOV'|Oo0cOv0qO!W&Sa~P'vOz(WO!W&Sa~O!W(XO~Oz(WO!T%dO!U%cO!W&Sa~P%SOV(]Oo0cOv0qO![%}a#g%}a%[%}a%_%}ag%}a{%}a!m%}a%z%}a~P'vOz(^O![%}a#g%}a%[%}a%_%}ag%}a{%}a!m%}a%z%}a~O![(aO~Oz(^O!T%dO!U%cO![%}a~P%SOz(dO!T%dO!U%cO![&Ta~P%SOz(gO{&lX![&lX!m&lX%z&lX~O{(kO![(mO!m(nO%z(jO~OV&OOopOvqO{%hi!x%hi#g%hi%[%hi%_%hi%z%hi~P'vOz(pO{%hi!x%hi#g%hi%[%hi%_%hi%z%hi~O!f&UOh&sa%[&saz&sa#[&sa#g&sa%_&sa#Z&sag&sa~O%[(uO~OV#sOa#tO%uWO~Oz&]O{wa~OopOvqO~P'vOz(^O#g%}a%[%}a%_%}ag%}a{%}a![%}a!m%}a%z%}a~P%SOz(zO#g%hX%[%hX%_%hX%z%hX~O%z#|O#gUi%[Ui%_Ui~O#g&Pa%[&Pa%_&Pan&Pa~P'vOz(}O#g&Pa%[&Pa%_&Pan&Pa~O%uWO#g&ra%[&ra%_&rag&ra~Oz)SO#g&ra%[&ra%_&rag&ra~Og)VO~OV)WOh$WO%uWO~O#Z)XO~O%uWO#g&ta%[&ta%_&ta~Oz)ZO#g&ta%[&ta%_&ta~Oo0cOv0qO#g&pa%[&pa%_&pa{&pa~P'vOz)^O#g&pa%[&pa%_&pa{&pa~OV)`Oa)`O%uWO~O%z)eO~Ot)hO#j)gOP#hiV#hif#hih#hio#his#hiv#hi!P#hi!Q#hi!T#hi!U#hi!X#hi!]#hi!h#hi!r#hi!s#hi!t#hi!{#hi!}#hi#P#hi#R#hi#T#hi#X#hi#Z#hi#^#hi#_#hi#a#hi#c#hi#l#hi#o#hi#s#hi#u#hi#z#hi#}#hi$P#hi%X#hi%o#hi%p#hi%t#hi%u#hi&Z#hi&[#hi&]#hi&^#hi&_#hi&`#hi&a#hi&b#hi&c#hi&d#hi&e#hi&f#hi&g#hi&h#hi&i#hi&j#hi%Z#hi%_#hi~Ot)iOP#kiV#kif#kih#kio#kis#kiv#ki!P#ki!Q#ki!T#ki!U#ki!X#ki!]#ki!h#ki!r#ki!s#ki!t#ki!{#ki!}#ki#P#ki#R#ki#T#ki#X#ki#Z#ki#^#ki#_#ki#a#ki#c#ki#l#ki#o#ki#s#ki#u#ki#z#ki#}#ki$P#ki%X#ki%o#ki%p#ki%t#ki%u#ki&Z#ki&[#ki&]#ki&^#ki&_#ki&`#ki&a#ki&b#ki&c#ki&d#ki&e#ki&f#ki&g#ki&h#ki&i#ki&j#ki%Z#ki%_#ki~OV)kOn&wa~P'vOz)lOn&wa~Oz)lOn&wa~P%SOn)pO~O%Y)tO~Ot)wO#p'WO#q)vOP#niV#nif#nih#nio#nis#niv#ni!P#ni!Q#ni!T#ni!U#ni!X#ni!]#ni!h#ni!r#ni!s#ni!t#ni!{#ni!}#ni#P#ni#R#ni#T#ni#X#ni#Z#ni#^#ni#_#ni#a#ni#c#ni#l#ni#o#ni#s#ni#u#ni#z#ni#}#ni$P#ni%X#ni%o#ni%p#ni%t#ni%u#ni&Z#ni&[#ni&]#ni&^#ni&_#ni&`#ni&a#ni&b#ni&c#ni&d#ni&e#ni&f#ni&g#ni&h#ni&i#ni&j#ni%Z#ni%_#ni~OV)zOo0cOv0qO{$jO~P'vOo0cOv0qO{&xa~P'vOz*OO{&xa~OV*SOa*TOg*WO%q*UO%uWO~O{$jO&{*YO~Oh'_O~Oh!iO{$jO~O%[*_O~O%[*aO%_*aO~OV$}Oa$}Oo0cOv0qOg&Ua~P'vOz*dOg&Ua~Oo0cOv0qO{*gO!W&Xa~P'vOz*hO!W&Xa~Oo0cOv0qOz*hO{*kO!W&Xa~P'vOo0cOv0qOz*hO!W&Xa~P'vOz*hO{*kO!W&Xa~Om0dOn0dOo0mOp0nOgjikjisjizji!Tji!Uji%{ji!Wji{ji![ji#gji%[ji%_ji!Qji#[jitji!mji%zji~Ol0fO~P!NkOlji~P!NkOV'|Og*pOo0cOv0qO~P'vOn*rO~Og*pOz*tO~Og*uO~OV'|Oo0cOv0qO!W&Si~P'vOz*vO!W&Si~O!W*wO~OV(]Oo0cOv0qO![%}i#g%}i%[%}i%_%}ig%}i{%}i!m%}i%z%}i~P'vOz*zO!T%dO!U%cO![&Ti~Oz*}O![%}i#g%}i%[%}i%_%}ig%}i{%}i!m%}i%z%}i~O![+OO~Oa+QOo0cOv0qO![&Ti~P'vOz*zO![&Ti~O![+SO~OV+UOo0cOv0qO{&la![&la!m&la%z&la~P'vOz+VO{&la![&la!m&la%z&la~O!]+YO&n+[O![!nX~O![+^O~O{(kO![+_O~O{(kO![+_O!m+`O~OV&OOopOvqO{%hq!x%hq#g%hq%[%hq%_%hq%z%hq~P'vOz$ri{$ri!x$ri#g$ri%[$ri%_$ri%z$ri~P%SOV&OOopOvqO~P'vOV&OOo0cOv0qO#g%ha%[%ha%_%ha%z%ha~P'vOz+aO#g%ha%[%ha%_%ha%z%ha~Oz$ia#g$ia%[$ia%_$ian$ia~P%SO#g&Pi%[&Pi%_&Pin&Pi~P'vOz+dO#g#Wq%[#Wq%_#Wq~O#[+eOz$va#g$va%[$va%_$vag$va~O%uWO#g&ri%[&ri%_&rig&ri~Oz+gO#g&ri%[&ri%_&rig&ri~OV+iOh$WO%uWO~O%uWO#g&ti%[&ti%_&ti~Oo0cOv0qO#g&pi%[&pi%_&pi{&pi~P'vO{#{Oz#eX!W#eX~Oz+mO!W&uX~O!W+oO~Ot+rO#j)gOP#hqV#hqf#hqh#hqo#hqs#hqv#hq!P#hq!Q#hq!T#hq!U#hq!X#hq!]#hq!h#hq!r#hq!s#hq!t#hq!{#hq!}#hq#P#hq#R#hq#T#hq#X#hq#Z#hq#^#hq#_#hq#a#hq#c#hq#l#hq#o#hq#s#hq#u#hq#z#hq#}#hq$P#hq%X#hq%o#hq%p#hq%t#hq%u#hq&Z#hq&[#hq&]#hq&^#hq&_#hq&`#hq&a#hq&b#hq&c#hq&d#hq&e#hq&f#hq&g#hq&h#hq&i#hq&j#hq%Z#hq%_#hq~On$|az$|a~P%SOV)kOn&wi~P'vOz+yOn&wi~Oz,TO{$jO#[,TO~O#q,VOP#nqV#nqf#nqh#nqo#nqs#nqv#nq!P#nq!Q#nq!T#nq!U#nq!X#nq!]#nq!h#nq!r#nq!s#nq!t#nq!{#nq!}#nq#P#nq#R#nq#T#nq#X#nq#Z#nq#^#nq#_#nq#a#nq#c#nq#l#nq#o#nq#s#nq#u#nq#z#nq#}#nq$P#nq%X#nq%o#nq%p#nq%t#nq%u#nq&Z#nq&[#nq&]#nq&^#nq&_#nq&`#nq&a#nq&b#nq&c#nq&d#nq&e#nq&f#nq&g#nq&h#nq&i#nq&j#nq%Z#nq%_#nq~O#[,WOz%Oa{%Oa~Oo0cOv0qO{&xi~P'vOz,YO{&xi~O{#{O%z,[Og&zXz&zX~O%uWOg&zXz&zX~Oz,`Og&yX~Og,bO~O%Y,eO~O!T%dO!U%cOg&Viz&Vi~OV$}Oa$}Oo0cOv0qOg&Ui~P'vO{,hOz$la!W$la~Oo0cOv0qO{,iOz$la!W$la~P'vOo0cOv0qO{*gO!W&Xi~P'vOz,lO!W&Xi~Oo0cOv0qOz,lO!W&Xi~P'vOz,lO{,oO!W&Xi~Og$hiz$hi!W$hi~P%SOV'|Oo0cOv0qO~P'vOn,qO~OV'|Og,rOo0cOv0qO~P'vOV'|Oo0cOv0qO!W&Sq~P'vOz$gi![$gi#g$gi%[$gi%_$gig$gi{$gi!m$gi%z$gi~P%SOV(]Oo0cOv0qO~P'vOa+QOo0cOv0qO![&Tq~P'vOz,sO![&Tq~O![,tO~OV(]Oo0cOv0qO![%}q#g%}q%[%}q%_%}qg%}q{%}q!m%}q%z%}q~P'vO{,uO~OV+UOo0cOv0qO{&li![&li!m&li%z&li~P'vOz,zO{&li![&li!m&li%z&li~O!]+YO&n+[O![!na~O{(kO![,}O~OV&OOo0cOv0qO#g%hi%[%hi%_%hi%z%hi~P'vOz-OO#g%hi%[%hi%_%hi%z%hi~O%uWO#g&rq%[&rq%_&rqg&rq~Oz-RO#g&rq%[&rq%_&rqg&rq~OV)`Oa)`O%uWO!W&ua~Oz-TO!W&ua~On$|iz$|i~P%SOV)kO~P'vOV)kOn&wq~P'vOt-XOP#myV#myf#myh#myo#mys#myv#my!P#my!Q#my!T#my!U#my!X#my!]#my!h#my!r#my!s#my!t#my!{#my!}#my#P#my#R#my#T#my#X#my#Z#my#^#my#_#my#a#my#c#my#l#my#o#my#s#my#u#my#z#my#}#my$P#my%X#my%o#my%p#my%t#my%u#my&Z#my&[#my&]#my&^#my&_#my&`#my&a#my&b#my&c#my&d#my&e#my&f#my&g#my&h#my&i#my&j#my%Z#my%_#my~O%Z-]O%_-]O~P`O#q-^OP#nyV#nyf#nyh#nyo#nys#nyv#ny!P#ny!Q#ny!T#ny!U#ny!X#ny!]#ny!h#ny!r#ny!s#ny!t#ny!{#ny!}#ny#P#ny#R#ny#T#ny#X#ny#Z#ny#^#ny#_#ny#a#ny#c#ny#l#ny#o#ny#s#ny#u#ny#z#ny#}#ny$P#ny%X#ny%o#ny%p#ny%t#ny%u#ny&Z#ny&[#ny&]#ny&^#ny&_#ny&`#ny&a#ny&b#ny&c#ny&d#ny&e#ny&f#ny&g#ny&h#ny&i#ny&j#ny%Z#ny%_#ny~Oz-aO{$jO#[-aO~Oo0cOv0qO{&xq~P'vOz-dO{&xq~O%z,[Og&zaz&za~O{#{Og&zaz&za~OV*SOa*TO%q*UO%uWOg&ya~Oz-hOg&ya~O$S-lO~OV$}Oa$}Oo0cOv0qO~P'vOo0cOv0qO{-mOz$li!W$li~P'vOo0cOv0qOz$li!W$li~P'vO{-mOz$li!W$li~Oo0cOv0qO{*gO~P'vOo0cOv0qO{*gO!W&Xq~P'vOz-pO!W&Xq~Oo0cOv0qOz-pO!W&Xq~P'vOs-sO!T%dO!U%cOg&Oq!W&Oq![&Oqz&Oq~P!/jOa+QOo0cOv0qO![&Ty~P'vOz$ji![$ji~P%SOa+QOo0cOv0qO~P'vOV+UOo0cOv0qO~P'vOV+UOo0cOv0qO{&lq![&lq!m&lq%z&lq~P'vO{(kO![-xO!m-yO%z-wO~OV&OOo0cOv0qO#g%hq%[%hq%_%hq%z%hq~P'vO%uWO#g&ry%[&ry%_&ryg&ry~OV)`Oa)`O%uWO!W&ui~Ot-}OP#m!RV#m!Rf#m!Rh#m!Ro#m!Rs#m!Rv#m!R!P#m!R!Q#m!R!T#m!R!U#m!R!X#m!R!]#m!R!h#m!R!r#m!R!s#m!R!t#m!R!{#m!R!}#m!R#P#m!R#R#m!R#T#m!R#X#m!R#Z#m!R#^#m!R#_#m!R#a#m!R#c#m!R#l#m!R#o#m!R#s#m!R#u#m!R#z#m!R#}#m!R$P#m!R%X#m!R%o#m!R%p#m!R%t#m!R%u#m!R&Z#m!R&[#m!R&]#m!R&^#m!R&_#m!R&`#m!R&a#m!R&b#m!R&c#m!R&d#m!R&e#m!R&f#m!R&g#m!R&h#m!R&i#m!R&j#m!R%Z#m!R%_#m!R~Oo0cOv0qO{&xy~P'vOV*SOa*TO%q*UO%uWOg&yi~O$S-lO%Z.VO%_.VO~OV.aOh._O!X.^O!].`O!h.YO!s.[O!t.[O%p.XO%uWO&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O~Oo0cOv0qOz$lq!W$lq~P'vO{.fOz$lq!W$lq~Oo0cOv0qO{*gO!W&Xy~P'vOz.gO!W&Xy~Oo0cOv.kO~P'vOs-sO!T%dO!U%cOg&Oy!W&Oy![&Oyz&Oy~P!/jO{(kO![.nO~O{(kO![.nO!m.oO~OV*SOa*TO%q*UO%uWO~Oh.tO!f.rOz$TX#[$TX%j$TXg$TX~Os$TX{$TX!W$TX![$TX~P$-bO%o.vO%p.vOs$UXz$UX{$UX#[$UX%j$UX!W$UXg$UX![$UX~O!h.xO~Oz.|O#[/OO%j.yOs&|X{&|X!W&|Xg&|X~Oa/RO~P$)zOh.tOs&}Xz&}X{&}X#[&}X%j&}X!W&}Xg&}X![&}X~Os/VO{$jO~Oo0cOv0qOz$ly!W$ly~P'vOo0cOv0qO{*gO!W&X!R~P'vOz/ZO!W&X!R~Og&RXs&RX!T&RX!U&RX!W&RX![&RXz&RX~P!/jOs-sO!T%dO!U%cOg&Qa!W&Qa![&Qaz&Qa~O{(kO![/^O~O!f.rOh$[as$[az$[a{$[a#[$[a%j$[a!W$[ag$[a![$[a~O!h/eO~O%o.vO%p.vOs$Uaz$Ua{$Ua#[$Ua%j$Ua!W$Uag$Ua![$Ua~O%j.yOs$Yaz$Ya{$Ya#[$Ya!W$Yag$Ya![$Ya~Os&|a{&|a!W&|ag&|a~P$)nOz/jOs&|a{&|a!W&|ag&|a~O!W/mO~Og/mO~O{/oO~O![/pO~Oo0cOv0qO{*gO!W&X!Z~P'vO{/sO~O%z/tO~P$-bOz/uO#[/OO%j.yOg'PX~Oz/uOg'PX~Og/wO~O!h/xO~O#[/OOs%Saz%Sa{%Sa%j%Sa!W%Sag%Sa![%Sa~O#[/OO%j.yOs%Waz%Wa{%Wa!W%Wag%Wa~Os&|i{&|i!W&|ig&|i~P$)nOz/zO#[/OO%j.yO!['Oa~Og'Pa~P$)nOz0SOg'Pa~Oa0UO!['Oi~P$)zOz0WO!['Oi~Oz0WO#[/OO%j.yO!['Oi~O#[/OO%j.yOg$biz$bi~O%z0ZO~P$-bO#[/OO%j.yOg%Vaz%Va~Og'Pi~P$)nO{0^O~Oa0UO!['Oq~P$)zOz0`O!['Oq~O#[/OO%j.yOz%Ui![%Ui~Oa0UO~P$)zOa0UO!['Oy~P$)zO#[/OO%j.yOg$ciz$ci~O#[/OO%j.yOz%Uq![%Uq~Oz+aO#g%ha%[%ha%_%ha%z%ha~P%SOV&OOo0cOv0qO~P'vOn0hO~Oo0hO~P'vO{0iO~Ot0jO~P!/jO&]&Z&j&h&i&g&f&d&e&c&b&`&a&_&^&[%u~",goto:"!=j'QPPPPPP'RP'Z*s+[+t,_,y-fP.SP'Z.r.r'ZPPP'Z2[PPPPPP2[5PPP5PP7b7k=sPP=v>h>kPP'Z'ZPP>zPP'Z'ZPP'Z'Z'Z'Z'Z?O?w'ZP?zP@QDXGuGyPG|HWH['ZPPPH_Hk'RP'R'RP'RP'RP'RP'RP'R'R'RP'RPP'RPP'RP'RPHqH}IVPI^IdPI^PI^I^PPPI^PKrPK{LVL]KrPI^LfPI^PLmLsPLwM]MzNeLwLwNkNxLwLwLwLw! ^! d! g! l! o! y!!P!!]!!o!!u!#P!#V!#s!#y!$P!$Z!$a!$g!$y!%T!%Z!%a!%k!%q!%w!%}!&T!&Z!&e!&k!&u!&{!'U!'[!'k!'s!'}!(UPPPPPPPPPPP!([!(_!(e!(n!(x!)TPPPPPPPPPPPP!-u!/Z!3^!6oPP!6w!7W!7a!8Y!8P!8c!8i!8l!8o!8r!8z!9jPPPPPPPPPPPPPPPPP!9m!9q!9wP!:]!:a!:m!:v!;S!;j!;m!;p!;v!;|!_![!]Do!]!^Es!^!_FZ!_!`Gk!`!aHX!a!b%T!b!cIf!c!dJU!d!eK^!e!hJU!h!i!#f!i!tJU!t!u!,|!u!wJU!w!x!.t!x!}JU!}#O!0S#O#P&o#P#Q!0j#Q#R!1Q#R#SJU#S#T%T#T#UJU#U#VK^#V#YJU#Y#Z!#f#Z#fJU#f#g!,|#g#iJU#i#j!.t#j#oJU#o#p!1n#p#q!1s#q#r!2a#r#s!2f#s$g%T$g;'SJU;'S;=`KW<%lOJU`%YT&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T`%lP;=`<%l%To%v]&n`%c_OX%TXY%oY[%T[]%o]p%Tpq%oq#O%T#O#P&o#P#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To&tX&n`OY%TYZ%oZ]%T]^%o^#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc'f[&n`O!_%T!_!`([!`#T%T#T#U(r#U#f%T#f#g(r#g#h(r#h#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc(cTmR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc(yT!mR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk)aV&n`&[ZOr%Trs)vs#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk){V&n`Or%Trs*bs#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk*iT&n`&^ZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To+PZS_&n`OY*xYZ%TZ]*x]^%T^#o*x#o#p+r#p#q*x#q#r+r#r;'S*x;'S;=`,^<%lO*x_+wTS_OY+rZ]+r^;'S+r;'S;=`,W<%lO+r_,ZP;=`<%l+ro,aP;=`<%l*xj,kV%rQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj-XT!xY&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj-oV%lQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk.]V&n`&ZZOw%Twx.rx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk.wV&n`Ow%Twx/^x#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk/eT&n`&]ZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk/{ThZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc0cTgR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk0yXVZ&n`Oz%Tz{1f{!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk1mVaR&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk2ZV%oZ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc2wTzR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To3_W%pZ&n`O!_%T!_!`-Q!`!a3w!a#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Td4OT&{S&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk4fX!fQ&n`O!O%T!O!P5R!P!Q%T!Q![6T![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk5WV&n`O!O%T!O!P5m!P#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk5tT!rZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti6[a!hX&n`O!Q%T!Q![6T![!g%T!g!h7a!h!l%T!l!m9s!m#R%T#R#S6T#S#X%T#X#Y7a#Y#^%T#^#_9s#_#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti7fZ&n`O{%T{|8X|}%T}!O8X!O!Q%T!Q![8s![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti8^V&n`O!Q%T!Q![8s![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti8z]!hX&n`O!Q%T!Q![8s![!l%T!l!m9s!m#R%T#R#S8s#S#^%T#^#_9s#_#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti9zT!hX&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk:bX%qR&n`O!P%T!P!Q:}!Q!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj;UV%sQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti;ro!hX&n`O!O%T!O!P=s!P!Q%T!Q![>_![!d%T!d!e?q!e!g%T!g!h7a!h!l%T!l!m9s!m!q%T!q!rA]!r!z%T!z!{Bq!{#R%T#R#S>_#S#U%T#U#V?q#V#X%T#X#Y7a#Y#^%T#^#_9s#_#c%T#c#dA]#d#l%T#l#mBq#m#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti=xV&n`O!Q%T!Q![6T![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti>fc!hX&n`O!O%T!O!P=s!P!Q%T!Q![>_![!g%T!g!h7a!h!l%T!l!m9s!m#R%T#R#S>_#S#X%T#X#Y7a#Y#^%T#^#_9s#_#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti?vY&n`O!Q%T!Q!R@f!R!S@f!S#R%T#R#S@f#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti@mY!hX&n`O!Q%T!Q!R@f!R!S@f!S#R%T#R#S@f#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiAbX&n`O!Q%T!Q!YA}!Y#R%T#R#SA}#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiBUX!hX&n`O!Q%T!Q!YA}!Y#R%T#R#SA}#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiBv]&n`O!Q%T!Q![Co![!c%T!c!iCo!i#R%T#R#SCo#S#T%T#T#ZCo#Z#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiCv]!hX&n`O!Q%T!Q![Co![!c%T!c!iCo!i#R%T#R#SCo#S#T%T#T#ZCo#Z#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%ToDvV{_&n`O!_%T!_!`E]!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TcEdT%{R&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkEzT#gZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkFbXmR&n`O!^%T!^!_F}!_!`([!`!a([!a#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TjGUV%mQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkGrV%zZ&n`O!_%T!_!`([!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkH`WmR&n`O!_%T!_!`([!`!aHx!a#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TjIPV%nQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkIoV_Q#}P&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%ToJ_]&n`&YS%uZO!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUoKZP;=`<%lJUoKge&n`&YS%uZOr%Trs)Ysw%Twx.Ux!Q%T!Q![JU![!c%T!c!tJU!t!uLx!u!}JU!}#R%T#R#SJU#S#T%T#T#fJU#f#gLx#g#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUoMRa&n`&YS%uZOr%TrsNWsw%Twx! vx!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUkN_V&n`&`ZOr%TrsNts#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkNyV&n`Or%Trs! `s#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk! gT&n`&bZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk! }V&n`&_ZOw%Twx!!dx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!!iV&n`Ow%Twx!#Ox#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!#VT&n`&aZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To!#oe&n`&YS%uZOr%Trs!%Qsw%Twx!&px!Q%T!Q![JU![!c%T!c!tJU!t!u!(`!u!}JU!}#R%T#R#SJU#S#T%T#T#fJU#f#g!(`#g#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUk!%XV&n`&dZOr%Trs!%ns#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!%sV&n`Or%Trs!&Ys#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!&aT&n`&fZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!&wV&n`&cZOw%Twx!'^x#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!'cV&n`Ow%Twx!'xx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!(PT&n`&eZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To!(ia&n`&YS%uZOr%Trs!)nsw%Twx!+^x!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUk!)uV&n`&hZOr%Trs!*[s#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!*aV&n`Or%Trs!*vs#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!*}T&n`&jZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!+eV&n`&gZOw%Twx!+zx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!,PV&n`Ow%Twx!,fx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!,mT&n`&iZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To!-Vi&n`&YS%uZOr%TrsNWsw%Twx! vx!Q%T!Q![JU![!c%T!c!dJU!d!eLx!e!hJU!h!i!(`!i!}JU!}#R%T#R#SJU#S#T%T#T#UJU#U#VLx#V#YJU#Y#Z!(`#Z#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUo!.}a&n`&YS%uZOr%Trs)Ysw%Twx.Ux!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUk!0ZT!XZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc!0qT!WR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj!1XV%kQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T~!1sO!]~k!1zV%jR&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T~!2fO![~i!2mT%tX&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T",tokenizers:[kw,Qw,gw,xw,0,1,2,3,4],topRules:{Script:[0,5]},specialized:[{term:221,get:i=>vw[i]||-1}],tokenPrec:7668});var Wm=new pi,Vm=new Set(["Script","Body","FunctionDefinition","ClassDefinition","LambdaExpression","ForStatement","MatchClause"]);function Oo(i){return(e,t,n)=>{if(n)return!1;let r=e.node.getChild("VariableName");return r&&t(r,i),!0}}var $w={FunctionDefinition:Oo("function"),ClassDefinition:Oo("class"),ForStatement(i,e,t){if(t){for(let n=i.node.firstChild;n;n=n.nextSibling)if(n.name=="VariableName")e(n,"variable");else if(n.name=="in")break}},ImportStatement(i,e){var t,n;let{node:r}=i,s=((t=r.firstChild)===null||t===void 0?void 0:t.name)=="from";for(let o=r.getChild("import");o;o=o.nextSibling)o.name=="VariableName"&&((n=o.nextSibling)===null||n===void 0?void 0:n.name)!="as"&&e(o,s?"variable":"namespace")},AssignStatement(i,e){for(let t=i.node.firstChild;t;t=t.nextSibling)if(t.name=="VariableName")e(t,"variable");else if(t.name==":"||t.name=="AssignOp")break},ParamList(i,e){for(let t=null,n=i.node.firstChild;n;n=n.nextSibling)n.name=="VariableName"&&(!t||!/\*|AssignOp/.test(t.name))&&e(n,"variable"),t=n},CapturePattern:Oo("variable"),AsPattern:Oo("variable"),__proto__:null};function Dm(i,e){let t=Wm.get(e);if(t)return t;let n=[],r=!0;function s(o,a){let l=i.sliceString(o.from,o.to);n.push({label:l,type:a})}return e.cursor(te.IncludeAnonymous).iterate(o=>{if(o.name){let a=$w[o.name];if(a&&a(o,s,r)||!r&&Vm.has(o.name))return!1;r=!1}else if(o.to-o.from>8192){for(let a of Dm(i,o.node))n.push(a);return!1}}),Wm.set(e,n),n}var jm=/^[\w\xa1-\uffff][\w\d\xa1-\uffff]*$/,Ym=["String","FormatString","Comment","PropertyName"];function Tw(i){let e=G(i.state).resolveInner(i.pos,-1);if(Ym.indexOf(e.name)>-1)return null;let t=e.name=="VariableName"||e.to-e.from<20&&jm.test(i.state.sliceDoc(e.from,e.to));if(!t&&!i.explicit)return null;let n=[];for(let r=e;r;r=r.parent)Vm.has(r.name)&&(n=n.concat(Dm(i.state.doc,r)));return{options:n,from:t?e.from:i.pos,validFor:jm}}var Cw=["__annotations__","__builtins__","__debug__","__doc__","__import__","__name__","__loader__","__package__","__spec__","False","None","True"].map(i=>({label:i,type:"constant"})).concat(["ArithmeticError","AssertionError","AttributeError","BaseException","BlockingIOError","BrokenPipeError","BufferError","BytesWarning","ChildProcessError","ConnectionAbortedError","ConnectionError","ConnectionRefusedError","ConnectionResetError","DeprecationWarning","EOFError","Ellipsis","EncodingWarning","EnvironmentError","Exception","FileExistsError","FileNotFoundError","FloatingPointError","FutureWarning","GeneratorExit","IOError","ImportError","ImportWarning","IndentationError","IndexError","InterruptedError","IsADirectoryError","KeyError","KeyboardInterrupt","LookupError","MemoryError","ModuleNotFoundError","NameError","NotADirectoryError","NotImplemented","NotImplementedError","OSError","OverflowError","PendingDeprecationWarning","PermissionError","ProcessLookupError","RecursionError","ReferenceError","ResourceWarning","RuntimeError","RuntimeWarning","StopAsyncIteration","StopIteration","SyntaxError","SyntaxWarning","SystemError","SystemExit","TabError","TimeoutError","TypeError","UnboundLocalError","UnicodeDecodeError","UnicodeEncodeError","UnicodeError","UnicodeTranslateError","UnicodeWarning","UserWarning","ValueError","Warning","ZeroDivisionError"].map(i=>({label:i,type:"type"}))).concat(["bool","bytearray","bytes","classmethod","complex","float","frozenset","int","list","map","memoryview","object","range","set","staticmethod","str","super","tuple","type"].map(i=>({label:i,type:"class"}))).concat(["abs","aiter","all","anext","any","ascii","bin","breakpoint","callable","chr","compile","delattr","dict","dir","divmod","enumerate","eval","exec","exit","filter","format","getattr","globals","hasattr","hash","help","hex","id","input","isinstance","issubclass","iter","len","license","locals","max","min","next","oct","open","ord","pow","print","property","quit","repr","reversed","round","setattr","slice","sorted","sum","vars","zip"].map(i=>({label:i,type:"function"}))),Xw=[he("def ${name}(${params}):\n ${}",{label:"def",detail:"function",type:"keyword"}),he("for ${name} in ${collection}:\n ${}",{label:"for",detail:"loop",type:"keyword"}),he("while ${}:\n ${}",{label:"while",detail:"loop",type:"keyword"}),he("try:\n ${}\nexcept ${error}:\n ${}",{label:"try",detail:"/ except block",type:"keyword"}),he(`if \${}: -`,{label:"if",detail:"block",type:"keyword"}),he("if ${}:\n ${}\nelse:\n ${}",{label:"if",detail:"/ else block",type:"keyword"}),he("class ${name}:\n def __init__(self, ${params}):\n ${}",{label:"class",detail:"definition",type:"keyword"}),he("import ${module}",{label:"import",detail:"statement",type:"keyword"}),he("from ${module} import ${names}",{label:"from",detail:"import",type:"keyword"})],_w=Us(Ym,Bs(Cw.concat(Xw)));function sh(i){let{node:e,pos:t}=i,n=i.lineIndent(t,-1),r=null;for(;;){let s=e.childBefore(t);if(s)if(s.name=="Comment")t=s.from;else if(s.name=="Body"||s.name=="MatchBody")i.baseIndentFor(s)+i.unit<=n&&(r=s),e=s;else if(s.name=="MatchClause")e=s;else if(s.type.is("Statement"))e=s;else break;else break}return r}function oh(i,e){let t=i.baseIndentFor(e),n=i.lineAt(i.pos,-1),r=n.from+n.text.length;return/^\s*($|#)/.test(n.text)&&i.node.tot?null:t+i.unit}var ah=Xe.define({name:"python",parser:Mm.configure({props:[Pe.add({Body:i=>{var e;let t=/^\s*(#|$)/.test(i.textAfter)&&sh(i)||i.node;return(e=oh(i,t))!==null&&e!==void 0?e:i.continue()},MatchBody:i=>{var e;let t=sh(i);return(e=oh(i,t||i.node))!==null&&e!==void 0?e:i.continue()},IfStatement:i=>/^\s*(else:|elif )/.test(i.textAfter)?i.baseIndent:i.continue(),"ForStatement WhileStatement":i=>/^\s*else:/.test(i.textAfter)?i.baseIndent:i.continue(),TryStatement:i=>/^\s*(except[ :]|finally:|else:)/.test(i.textAfter)?i.baseIndent:i.continue(),MatchStatement:i=>/^\s*case /.test(i.textAfter)?i.baseIndent+i.unit:i.continue(),"TupleExpression ComprehensionExpression ParamList ArgList ParenthesizedExpression":wt({closing:")"}),"DictionaryExpression DictionaryComprehensionExpression SetExpression SetComprehensionExpression":wt({closing:"}"}),"ArrayExpression ArrayComprehensionExpression":wt({closing:"]"}),MemberExpression:i=>i.baseIndent+i.unit,"String FormatString":()=>null,Script:i=>{var e;let t=sh(i);return(e=t&&oh(i,t))!==null&&e!==void 0?e:i.continue()}}),_e.add({"ArrayExpression DictionaryExpression SetExpression TupleExpression":Ot,Body:(i,e)=>({from:i.from+1,to:i.to-(i.to==e.doc.length?0:1)}),"String FormatString":(i,e)=>({from:e.doc.lineAt(i.from).to,to:i.to})})]}),languageData:{closeBrackets:{brackets:["(","[","{","'",'"',"'''",'"""'],stringPrefixes:["f","fr","rf","r","u","b","br","rb","F","FR","RF","R","U","B","BR","RB"]},commentTokens:{line:"#"},indentOnInput:/^\s*([\}\]\)]|else:|elif |except |finally:|case\s+[^:]*:?)$/}});function Im(){return new me(ah,[ah.data.of({autocomplete:Tw}),ah.data.of({autocomplete:_w})])}var Rw=Qe({String:d.string,Number:d.number,"True False":d.bool,PropertyName:d.propertyName,Null:d.null,", :":d.separator,"[ ]":d.squareBracket,"{ }":d.brace}),Bm=ve.deserialize({version:14,states:"$bOVQPOOOOQO'#Cb'#CbOnQPO'#CeOvQPO'#ClOOQO'#Cr'#CrQOQPOOOOQO'#Cg'#CgO}QPO'#CfO!SQPO'#CtOOQO,59P,59PO![QPO,59PO!aQPO'#CuOOQO,59W,59WO!iQPO,59WOVQPO,59QOqQPO'#CmO!nQPO,59`OOQO1G.k1G.kOVQPO'#CnO!vQPO,59aOOQO1G.r1G.rOOQO1G.l1G.lOOQO,59X,59XOOQO-E6k-E6kOOQO,59Y,59YOOQO-E6l-E6l",stateData:"#O~OeOS~OQSORSOSSOTSOWQO_ROgPO~OVXOgUO~O^[O~PVO[^O~O]_OVhX~OVaO~O]bO^iX~O^dO~O]_OVha~O]bO^ia~O",goto:"!kjPPPPPPkPPkqwPPPPk{!RPPP!XP!e!hXSOR^bQWQRf_TVQ_Q`WRg`QcZRicQTOQZRQe^RhbRYQR]R",nodeNames:"\u26A0 JsonText True False Null Number String } { Object Property PropertyName : , ] [ Array",maxTerm:25,nodeProps:[["isolate",-2,6,11,""],["openedBy",7,"{",14,"["],["closedBy",8,"}",15,"]"]],propSources:[Rw],skippedNodes:[0],repeatNodeCount:2,tokenData:"(|~RaXY!WYZ!W]^!Wpq!Wrs!]|}$u}!O$z!Q!R%T!R![&c![!]&t!}#O&y#P#Q'O#Y#Z'T#b#c'r#h#i(Z#o#p(r#q#r(w~!]Oe~~!`Wpq!]qr!]rs!xs#O!]#O#P!}#P;'S!];'S;=`$o<%lO!]~!}Og~~#QXrs!]!P!Q!]#O#P!]#U#V!]#Y#Z!]#b#c!]#f#g!]#h#i!]#i#j#m~#pR!Q![#y!c!i#y#T#Z#y~#|R!Q![$V!c!i$V#T#Z$V~$YR!Q![$c!c!i$c#T#Z$c~$fR!Q![!]!c!i!]#T#Z!]~$rP;=`<%l!]~$zO]~~$}Q!Q!R%T!R![&c~%YRT~!O!P%c!g!h%w#X#Y%w~%fP!Q![%i~%nRT~!Q![%i!g!h%w#X#Y%w~%zR{|&T}!O&T!Q![&Z~&WP!Q![&Z~&`PT~!Q![&Z~&hST~!O!P%c!Q![&c!g!h%w#X#Y%w~&yO[~~'OO_~~'TO^~~'WP#T#U'Z~'^P#`#a'a~'dP#g#h'g~'jP#X#Y'm~'rOR~~'uP#i#j'x~'{P#`#a(O~(RP#`#a(U~(ZOS~~(^P#f#g(a~(dP#i#j(g~(jP#X#Y(m~(rOQ~~(wOW~~(|OV~",tokenizers:[0],topRules:{JsonText:[0,1]},tokenPrec:0});var Aw=Xe.define({name:"json",parser:Bm.configure({props:[Pe.add({Object:Gt({except:/^\s*\}/}),Array:Gt({except:/^\s*\]/})}),_e.add({"Object Array":Ot})]}),languageData:{closeBrackets:{brackets:["[","{",'"']},indentOnInput:/^\s*[\}\]]$/}});function Um(){return new me(Aw)}function po(i){for(var e={},t=0;t~^?!",Mw=":;,.(){}[]",Ww=/^\-?0b[01][01_]*/,jw=/^\-?0o[0-7][0-7_]*/,Vw=/^\-?0x[\dA-Fa-f][\dA-Fa-f_]*(?:(?:\.[\dA-Fa-f][\dA-Fa-f_]*)?[Pp]\-?\d[\d_]*)?/,Dw=/^\-?\d[\d_]*(?:\.\d[\d_]*)?(?:[Ee]\-?\d[\d_]*)?/,Yw=/^\$\d+|(`?)[_A-Za-z][_A-Za-z$0-9]*\1/,Iw=/^\.(?:\$\d+|(`?)[_A-Za-z][_A-Za-z$0-9]*\1)/,Bw=/^\#[A-Za-z]+/,Uw=/^@(?:\$\d+|(`?)[_A-Za-z][_A-Za-z$0-9]*\1)/;function Gm(i,e,t){if(i.sol()&&(e.indented=i.indentation()),i.eatSpace())return null;var n=i.peek();if(n=="/"){if(i.match("//"))return i.skipToEnd(),"comment";if(i.match("/*"))return e.tokenize.push(lh),lh(i,e)}if(i.match(Bw))return"builtin";if(i.match(Uw))return"attribute";if(i.match(Ww)||i.match(jw)||i.match(Vw)||i.match(Dw))return"number";if(i.match(Iw))return"property";if(Lw.indexOf(n)>-1)return i.next(),"operator";if(Mw.indexOf(n)>-1)return i.next(),i.match(".."),"punctuation";var r;if(r=i.match(/("""|"|')/)){var s=Nw.bind(null,r[0]);return e.tokenize.push(s),s(i,e)}if(i.match(Yw)){var o=i.current();return zw.hasOwnProperty(o)?"type":qw.hasOwnProperty(o)?"atom":Zw.hasOwnProperty(o)?(Ew.hasOwnProperty(o)&&(e.prev="define"),"keyword"):t=="define"?"def":"variable"}return i.next(),null}function Gw(){var i=0;return function(e,t,n){var r=Gm(e,t,n);if(r=="punctuation"){if(e.current()=="(")++i;else if(e.current()==")"){if(i==0)return e.backUp(1),t.tokenize.pop(),t.tokenize[t.tokenize.length-1](e,t);--i}}return r}}function Nw(i,e,t){for(var n=i.length==1,r,s=!1;r=e.peek();)if(s){if(e.next(),r=="(")return t.tokenize.push(Gw()),"string";s=!1}else{if(e.match(i))return t.tokenize.pop(),"string";e.next(),s=r=="\\"}return n&&t.tokenize.pop(),"string"}function lh(i,e){for(var t;t=i.next();)if(t==="/"&&i.eat("*"))e.tokenize.push(lh);else if(t==="*"&&i.eat("/")){e.tokenize.pop();break}return"comment"}function Fw(i,e,t){this.prev=i,this.align=e,this.indented=t}function Hw(i,e){var t=e.match(/^\s*($|\/[\/\*]|[)}\]])/,!1)?null:e.column()+1;i.context=new Fw(i.context,t,i.indented)}function Kw(i){i.context&&(i.indented=i.context.indented,i.context=i.context.prev)}var Nm={name:"swift",startState:function(){return{prev:null,context:null,indented:0,tokenize:[]}},token:function(i,e){var t=e.prev;e.prev=null;var n=e.tokenize[e.tokenize.length-1]||Gm,r=n(i,e,t);if(!r||r=="comment"?e.prev=t:e.prev||(e.prev=r),r=="punctuation"){var s=/[\(\[\{]|([\]\)\}])/.exec(i.current());s&&(s[1]?Kw:Hw)(e,i)}return r},indent:function(i,e,t){var n=i.context;if(!n)return 0;var r=/^[\]\}\)]/.test(e);return n.align!=null?n.align-(r?1:0):n.indented+(r?0:t.unit)},languageData:{indentOnInput:/^\s*[\)\}\]]$/,commentTokens:{line:"//",block:{open:"/*",close:"*/"}},closeBrackets:{brackets:["(","[","{","'",'"',"`"]}}};var ch={};function hh(i,e){for(var t=0;t1&&i.eat("$");var t=i.next();return/['"({]/.test(t)?(e.tokens[0]=mo(t,t=="("?"quote":t=="{"?"def":"string"),Rn(i,e)):(/\d/.test(t)||i.eatWhile(/\w/),e.tokens.shift(),"def")};function tP(i){return function(e,t){return e.sol()&&e.string==i&&t.tokens.shift(),e.skipToEnd(),"string.special"}}function Rn(i,e){return(e.tokens[0]||Jw)(i,e)}var eg={name:"shell",startState:function(){return{tokens:[]}},token:function(i,e){return Rn(i,e)},languageData:{autocomplete:Fm.concat(Hm,Km),closeBrackets:{brackets:["(","[","{","'",'"',"`"]},commentTokens:{line:"#"}}};var iP=["true","false","on","off","yes","no"],nP=new RegExp("\\b(("+iP.join(")|(")+"))$","i"),tg={name:"yaml",token:function(i,e){var t=i.peek(),n=e.escaped;if(e.escaped=!1,t=="#"&&(i.pos==0||/\s/.test(i.string.charAt(i.pos-1))))return i.skipToEnd(),"comment";if(i.match(/^('([^']|\\.)*'?|"([^"]|\\.)*"?)/))return"string";if(e.literal&&i.indentation()>e.keyCol)return i.skipToEnd(),"string";if(e.literal&&(e.literal=!1),i.sol()){if(e.keyCol=0,e.pair=!1,e.pairStart=!1,i.match("---")||i.match("..."))return"def";if(i.match(/^\s*-\s+/))return"meta"}if(i.match(/^(\{|\}|\[|\])/))return t=="{"?e.inlinePairs++:t=="}"?e.inlinePairs--:t=="["?e.inlineList++:e.inlineList--,"meta";if(e.inlineList>0&&!n&&t==",")return i.next(),"meta";if(e.inlinePairs>0&&!n&&t==",")return e.keyCol=0,e.pair=!1,e.pairStart=!1,i.next(),"meta";if(e.pairStart){if(i.match(/^\s*(\||\>)\s*/))return e.literal=!0,"meta";if(i.match(/^\s*(\&|\*)[a-z0-9\._-]+\b/i))return"variable";if(e.inlinePairs==0&&i.match(/^\s*-?[0-9\.\,]+\s?$/)||e.inlinePairs>0&&i.match(/^\s*-?[0-9\.\,]+\s?(?=(,|}))/))return"number";if(i.match(nP))return"keyword"}return!e.pair&&i.match(/^\s*(?:[,\[\]{}&*!|>'"%@`][^\s'":]|[^,\[\]{}#&*!|>'"%@`])[^#]*?(?=\s*:($|\s))/)?(e.pair=!0,e.keyCol=i.indentation(),"atom"):e.pair&&i.match(/^:\s*/)?(e.pairStart=!0,"meta"):(e.pairStart=!1,e.escaped=t=="\\",i.next(),null)},startState:function(){return{pair:!1,pairStart:!1,keyCol:0,inlinePairs:0,inlineList:0,literal:!1,escaped:!1}},languageData:{commentTokens:{line:"#"}}};var rP={break:!0,case:!0,chan:!0,const:!0,continue:!0,default:!0,defer:!0,else:!0,fallthrough:!0,for:!0,func:!0,go:!0,goto:!0,if:!0,import:!0,interface:!0,map:!0,package:!0,range:!0,return:!0,select:!0,struct:!0,switch:!0,type:!0,var:!0,bool:!0,byte:!0,complex64:!0,complex128:!0,float32:!0,float64:!0,int8:!0,int16:!0,int32:!0,int64:!0,string:!0,uint8:!0,uint16:!0,uint32:!0,uint64:!0,int:!0,uint:!0,uintptr:!0,error:!0,rune:!0,any:!0,comparable:!0},sP={true:!0,false:!0,iota:!0,nil:!0,append:!0,cap:!0,close:!0,complex:!0,copy:!0,delete:!0,imag:!0,len:!0,make:!0,new:!0,panic:!0,print:!0,println:!0,real:!0,recover:!0},ig=/[+\-*&^%:=<>!|\/]/,ni;function go(i,e){var t=i.next();if(t=='"'||t=="'"||t=="`")return e.tokenize=oP(t),e.tokenize(i,e);if(/[\d\.]/.test(t))return t=="."?i.match(/^[0-9]+([eE][\-+]?[0-9]+)?/):t=="0"?i.match(/^[xX][0-9a-fA-F]+/)||i.match(/^0[0-7]+/):i.match(/^[0-9]*\.?[0-9]*([eE][\-+]?[0-9]+)?/),"number";if(/[\[\]{}\(\),;\:\.]/.test(t))return ni=t,null;if(t=="/"){if(i.eat("*"))return e.tokenize=ng,ng(i,e);if(i.eat("/"))return i.skipToEnd(),"comment"}if(ig.test(t))return i.eatWhile(ig),"operator";i.eatWhile(/[\w\$_\xa1-\uffff]/);var n=i.current();return rP.propertyIsEnumerable(n)?((n=="case"||n=="default")&&(ni="case"),"keyword"):sP.propertyIsEnumerable(n)?"atom":"variable"}function oP(i){return function(e,t){for(var n=!1,r,s=!1;(r=e.next())!=null;){if(r==i&&!n){s=!0;break}n=!n&&i!="`"&&r=="\\"}return(s||!(n||i=="`"))&&(t.tokenize=go),"string"}}function ng(i,e){for(var t=!1,n;n=i.next();){if(n=="/"&&t){e.tokenize=go;break}t=n=="*"}return"comment"}function sg(i,e,t,n,r){this.indented=i,this.column=e,this.type=t,this.align=n,this.prev=r}function fh(i,e,t){return i.context=new sg(i.indented,e,t,null,i.context)}function rg(i){if(i.context.prev){var e=i.context.type;return(e==")"||e=="]"||e=="}")&&(i.indented=i.context.indented),i.context=i.context.prev}}var og={name:"go",startState:function(i){return{tokenize:null,context:new sg(-i,0,"top",!1),indented:0,startOfLine:!0}},token:function(i,e){var t=e.context;if(i.sol()&&(t.align==null&&(t.align=!1),e.indented=i.indentation(),e.startOfLine=!0,t.type=="case"&&(t.type="}")),i.eatSpace())return null;ni=null;var n=(e.tokenize||go)(i,e);return n=="comment"||(t.align==null&&(t.align=!0),ni=="{"?fh(e,i.column(),"}"):ni=="["?fh(e,i.column(),"]"):ni=="("?fh(e,i.column(),")"):ni=="case"?t.type="case":(ni=="}"&&t.type=="}"||ni==t.type)&&rg(e),e.startOfLine=!1),n},indent:function(i,e,t){if(i.tokenize!=go&&i.tokenize!=null)return null;var n=i.context,r=e&&e.charAt(0);if(n.type=="case"&&/^(?:case|default)\b/.test(e))return n.indented;var s=r==n.type;return n.align?n.column+(s?0:1):n.indented+(s?0:t.unit)},languageData:{indentOnInput:/^\s([{}]|case |default\s*:)$/,commentTokens:{line:"//",block:{open:"/*",close:"*/"}}}};function Oh(i){for(var e={},t=0,n=i.length;t]/)?(i.eat(/[\<\>]/),"atom"):i.eat(/[\+\-\*\/\&\|\:\!]/)?"atom":i.eat(/[a-zA-Z$@_\xa1-\uffff]/)?(i.eatWhile(/[\w$\xa1-\uffff]/),i.eat(/[\?\!\=]/),"atom"):"operator";if(t=="@"&&i.match(/^@?[a-zA-Z_\xa1-\uffff]/))return i.eat("@"),i.eatWhile(/[\w\xa1-\uffff]/),"propertyName";if(t=="$")return i.eat(/[a-zA-Z_]/)?i.eatWhile(/[\w]/):i.eat(/\d/)?i.eat(/\d/):i.next(),"variableName.special";if(/[a-zA-Z_\xa1-\uffff]/.test(t))return i.eatWhile(/[\w\xa1-\uffff]/),i.eat(/[\?\!]/),i.eat(":")?"atom":"variable";if(t=="|"&&(e.varList||e.lastTok=="{"||e.lastTok=="do"))return Ct="|",null;if(/[\(\)\[\]{}\\;]/.test(t))return Ct=t,null;if(t=="-"&&i.eat(">"))return"operator";if(/[=+\-\/*:\.^%<>~|]/.test(t)){var a=i.eatWhile(/[=+\-\/*:\.^%<>~|]/);return t=="."&&!a&&(Ct="."),"operator"}else return null}}}function fP(i){for(var e=i.pos,t=0,n,r=!1,s=!1;(n=i.next())!=null;)if(s)s=!1;else{if("[{(".indexOf(n)>-1)t++;else if("]})".indexOf(n)>-1){if(t--,t<0)break}else if(n=="/"&&t==0){r=!0;break}s=n=="\\"}return i.backUp(i.pos-e),r}function uh(i){return i||(i=1),function(e,t){if(e.peek()=="}"){if(i==1)return t.tokenize.pop(),t.tokenize[t.tokenize.length-1](e,t);t.tokenize[t.tokenize.length-1]=uh(i-1)}else e.peek()=="{"&&(t.tokenize[t.tokenize.length-1]=uh(i+1));return Qo(e,t)}}function uP(){var i=!1;return function(e,t){return i?(t.tokenize.pop(),t.tokenize[t.tokenize.length-1](e,t)):(i=!0,Qo(e,t))}}function Ar(i,e,t,n){return function(r,s){var o=!1,a;for(s.context.type==="read-quoted-paused"&&(s.context=s.context.prev,r.eat("}"));(a=r.next())!=null;){if(a==i&&(n||!o)){s.tokenize.pop();break}if(t&&a=="#"&&!o){if(r.eat("{")){i=="}"&&(s.context={prev:s.context,type:"read-quoted-paused"}),s.tokenize.push(uh());break}else if(/[@\$]/.test(r.peek())){s.tokenize.push(uP());break}}o=!o&&a=="\\"}return e}}function OP(i,e){return function(t,n){return e&&t.eatSpace(),t.match(i)?n.tokenize.pop():t.skipToEnd(),"string"}}function dP(i,e){return i.sol()&&i.match("=end")&&i.eol()&&e.tokenize.pop(),i.skipToEnd(),"comment"}var cg={name:"ruby",startState:function(i){return{tokenize:[Qo],indented:0,context:{type:"top",indented:-i},continuedLine:!1,lastTok:null,varList:!1}},token:function(i,e){Ct=null,i.sol()&&(e.indented=i.indentation());var t=e.tokenize[e.tokenize.length-1](i,e),n,r=Ct;if(t=="variable"){var s=i.current();t=e.lastTok=="."?"property":aP.propertyIsEnumerable(i.current())?"keyword":/^[A-Z]/.test(s)?"tag":e.lastTok=="def"||e.lastTok=="class"||e.varList?"def":"variable",t=="keyword"&&(r=s,lP.propertyIsEnumerable(s)?n="indent":cP.propertyIsEnumerable(s)?n="dedent":((s=="if"||s=="unless")&&i.column()==i.indentation()||s=="do"&&e.context.indented2&&o.token&&typeof o.token!="string"){t.pending=[];for(var c=2;c-1)return null;var r=t.indent.length-1,s=i[t.state];e:for(;;){for(var o=0;o!]+/,token:"operator"},{regex:/[a-zA-Z_]\w*!/,token:"macroName"},{regex:/[a-zA-Z_]\w*/,token:"variable"},{regex:/[\{\[\(]/,indent:!0},{regex:/[\}\]\)]/,dedent:!0}],string:[{regex:/"/,token:"string",next:"start"},{regex:/(?:[^\\"]|\\(?:.|$))*/,token:"string"}],string_raw:[{regex:/"/,token:"string",next:"start"},{regex:/[^"]*/,token:"string"}],string_raw_hash:[{regex:/"#+/,token:"string",next:"start"},{regex:/(?:[^"]|"(?!#))*/,token:"string"}],comment:[{regex:/.*?\*\//,token:"comment",next:"start"},{regex:/.*/,token:"comment"}],languageData:{name:"rust",dontIndentStates:["comment"],indentOnInput:/^\s*\}$/,commentTokens:{line:"//",block:{open:"/*",close:"*/"}}}});function mh(i,e,t,n,r,s){this.indented=i,this.column=e,this.type=t,this.info=n,this.align=r,this.prev=s}function bo(i,e,t,n){var r=i.indented;return i.context&&i.context.type=="statement"&&t!="statement"&&(r=i.context.indented),i.context=new mh(r,e,t,n,null,i.context)}function Zr(i){var e=i.context.type;return(e==")"||e=="]"||e=="}")&&(i.indented=i.context.indented),i.context=i.context.prev}function Og(i,e,t){if(e.prevToken=="variable"||e.prevToken=="type"||/\S(?:[^- ]>|[*\]])\s*$|\*$/.test(i.string.slice(0,t))||e.typeAtEndOfLine&&i.column()==i.indentation())return!0}function dh(i){for(;;){if(!i||i.type=="top")return!0;if(i.type=="}"&&i.prev.info!="namespace")return!1;i=i.prev}}function it(i){var e=i.statementIndentUnit,t=i.dontAlignCalls,n=i.keywords||{},r=i.types||{},s=i.builtin||{},o=i.blockKeywords||{},a=i.defKeywords||{},l=i.atoms||{},c=i.hooks||{},h=i.multiLineStrings,f=i.indentStatements!==!1,u=i.indentSwitch!==!1,O=i.namespaceSeparator,m=i.isPunctuationChar||/[\[\]{}\(\),;\:\.]/,p=i.numberStart||/[\d\.]/,b=i.number||/^(?:0x[a-f\d]+|0b[01]+|(?:\d+\.?\d*|\.\d+)(?:e[-+]?\d+)?)(u|ll?|l|f)?/i,g=i.isOperatorChar||/[+\-*&%=<>!?|\/]/,Q=i.isIdentifierChar||/[\w\$_\xa1-\uffff]/,S=i.isReservedIdentifier||!1,x,P;function $(T,C){var k=T.next();if(c[k]){var w=c[k](T,C);if(w!==!1)return w}if(k=='"'||k=="'")return C.tokenize=Z(k),C.tokenize(T,C);if(p.test(k)){if(T.backUp(1),T.match(b))return"number";T.next()}if(m.test(k))return x=k,null;if(k=="/"){if(T.eat("*"))return C.tokenize=X,X(T,C);if(T.eat("/"))return T.skipToEnd(),"comment"}if(g.test(k)){for(;!T.match(/^\/[\/*]/,!1)&&T.eat(g););return"operator"}if(T.eatWhile(Q),O)for(;T.match(O);)T.eatWhile(Q);var z=T.current();return ri(n,z)?(ri(o,z)&&(x="newstatement"),ri(a,z)&&(P=!0),"keyword"):ri(r,z)?"type":ri(s,z)||S&&S(z)?(ri(o,z)&&(x="newstatement"),"builtin"):ri(l,z)?"atom":"variable"}function Z(T){return function(C,k){for(var w=!1,z,N=!1;(z=C.next())!=null;){if(z==T&&!w){N=!0;break}w=!w&&z=="\\"}return(N||!(w||h))&&(k.tokenize=null),"string"}}function X(T,C){for(var k=!1,w;w=T.next();){if(w=="/"&&k){C.tokenize=null;break}k=w=="*"}return"comment"}function W(T,C){i.typeFirstDefinitions&&T.eol()&&dh(C.context)&&(C.typeAtEndOfLine=Og(T,C,T.pos))}return{name:i.name,startState:function(T){return{tokenize:null,context:new mh(-T,0,"top",null,!1),indented:0,startOfLine:!0,prevToken:null}},token:function(T,C){var k=C.context;if(T.sol()&&(k.align==null&&(k.align=!1),C.indented=T.indentation(),C.startOfLine=!0),T.eatSpace())return W(T,C),null;x=P=null;var w=(C.tokenize||$)(T,C);if(w=="comment"||w=="meta")return w;if(k.align==null&&(k.align=!0),x==";"||x==":"||x==","&&T.match(/^\s*(?:\/\/.*)?$/,!1))for(;C.context.type=="statement";)Zr(C);else if(x=="{")bo(C,T.column(),"}");else if(x=="[")bo(C,T.column(),"]");else if(x=="(")bo(C,T.column(),")");else if(x=="}"){for(;k.type=="statement";)k=Zr(C);for(k.type=="}"&&(k=Zr(C));k.type=="statement";)k=Zr(C)}else x==k.type?Zr(C):f&&((k.type=="}"||k.type=="top")&&x!=";"||k.type=="statement"&&x=="newstatement")&&bo(C,T.column(),"statement",T.current());if(w=="variable"&&(C.prevToken=="def"||i.typeFirstDefinitions&&Og(T,C,T.start)&&dh(C.context)&&T.match(/^\s*\(/,!1))&&(w="def"),c.token){var z=c.token(T,C,w);z!==void 0&&(w=z)}return w=="def"&&i.styleDefs===!1&&(w="variable"),C.startOfLine=!1,C.prevToken=P?"def":w||x,W(T,C),w},indent:function(T,C,k){if(T.tokenize!=$&&T.tokenize!=null||T.typeAtEndOfLine&&dh(T.context))return null;var w=T.context,z=C&&C.charAt(0),N=z==w.type;if(w.type=="statement"&&z=="}"&&(w=w.prev),i.dontIndentStatements)for(;w.type=="statement"&&i.dontIndentStatements.test(w.info);)w=w.prev;if(c.indent){var y=c.indent(T,w,C,k.unit);if(typeof y=="number")return y}var j=w.prev&&w.prev.info=="switch";if(i.allmanIndentation&&/[{(]/.test(z)){for(;w.type!="top"&&w.type!="}";)w=w.prev;return w.indented}return w.type=="statement"?w.indented+(z=="{"?0:e||k.unit):w.align&&(!t||w.type!=")")?w.column+(N?0:1):w.type==")"&&!N?w.indented+(e||k.unit):w.indented+(N?0:k.unit)+(!N&&j&&!/^(?:case|default)\b/.test(C)?k.unit:0)},languageData:{indentOnInput:u?/^\s*(?:case .*?:|default:|\{\}?|\})$/:/^\s*[{}]$/,commentTokens:{line:"//",block:{open:"/*",close:"*/"}},autocomplete:Object.keys(n).concat(Object.keys(r)).concat(Object.keys(s)).concat(Object.keys(l)),...i.languageData}}}function V(i){for(var e={},t=i.split(" "),n=0;n!?|\/#:@]/,hooks:{"@":function(i){return i.eatWhile(/[\w\$_]/),"meta"},'"':function(i,e){return i.match('""')?(e.tokenize=Pg,e.tokenize(i,e)):!1},"'":function(i){return i.match(/^(\\[^'\s]+|[^\\'])'/)?"character":(i.eatWhile(/[\w\$_\xa1-\uffff]/),"atom")},"=":function(i,e){var t=e.context;return t.type=="}"&&t.align&&i.eat(">")?(e.context=new mh(t.indented,t.column,t.type,t.info,null,t.prev),"operator"):!1},"/":function(i,e){return i.eat("*")?(e.tokenize=Er(1),e.tokenize(i,e)):!1}},languageData:{closeBrackets:{brackets:["(","[","{","'",'"','"""']}}});function kP(i){return function(e,t){for(var n=!1,r,s=!1;!e.eol();){if(!i&&!n&&e.match('"')){s=!0;break}if(i&&e.match('"""')){s=!0;break}r=e.next(),!n&&r=="$"&&e.match("{")&&e.skipTo("}"),n=!n&&r=="\\"&&!i}return(s||!i)&&(t.tokenize=null),"string"}}var vg=it({name:"kotlin",keywords:V("package as typealias class interface this super val operator var fun for is in This throw return annotation break continue object if else while do try when !in !is as? file import where by get set abstract enum open inner override private public internal protected catch finally out final vararg reified dynamic companion constructor init sealed field property receiver param sparam lateinit data inline noinline tailrec external annotation crossinline const operator infix suspend actual expect setparam"),types:V("Boolean Byte Character CharSequence Class ClassLoader Cloneable Comparable Compiler Double Exception Float Integer Long Math Number Object Package Pair Process Runtime Runnable SecurityManager Short StackTraceElement StrictMath String StringBuffer System Thread ThreadGroup ThreadLocal Throwable Triple Void Annotation Any BooleanArray ByteArray Char CharArray DeprecationLevel DoubleArray Enum FloatArray Function Int IntArray Lazy LazyThreadSafetyMode LongArray Nothing ShortArray Unit"),intendSwitch:!1,indentStatements:!1,multiLineStrings:!0,number:/^(?:0x[a-f\d_]+|0b[01_]+|(?:[\d_]+(\.\d+)?|\.\d+)(?:e[-+]?[\d_]+)?)(ul?|l|f)?/i,blockKeywords:V("catch class do else finally for if where try while enum"),defKeywords:V("class val var object interface fun"),atoms:V("true false null this"),hooks:{"@":function(i){return i.eatWhile(/[\w\$_]/),"meta"},"*":function(i,e){return e.prevToken=="."?"variable":"operator"},'"':function(i,e){return e.tokenize=kP(i.match('""')),e.tokenize(i,e)},"/":function(i,e){return i.eat("*")?(e.tokenize=Er(1),e.tokenize(i,e)):!1},indent:function(i,e,t,n){var r=t&&t.charAt(0);if((i.prevToken=="}"||i.prevToken==")")&&t=="")return i.indented;if(i.prevToken=="operator"&&t!="}"&&i.context.type!="}"||i.prevToken=="variable"&&r=="."||(i.prevToken=="}"||i.prevToken==")")&&r==".")return n*2+e.indented;if(e.align&&e.type=="}")return e.indented+(i.context.type==(t||"").charAt(0)?0:n)}},languageData:{closeBrackets:{brackets:["(","[","{","'",'"','"""']}}}),hC=it({name:"shader",keywords:V("sampler1D sampler2D sampler3D samplerCube sampler1DShadow sampler2DShadow const attribute uniform varying break continue discard return for while do if else struct in out inout"),types:V("float int bool void vec2 vec3 vec4 ivec2 ivec3 ivec4 bvec2 bvec3 bvec4 mat2 mat3 mat4"),blockKeywords:V("for while do if else struct"),builtin:V("radians degrees sin cos tan asin acos atan pow exp log exp2 sqrt inversesqrt abs sign floor ceil fract mod min max clamp mix step smoothstep length distance dot cross normalize ftransform faceforward reflect refract matrixCompMult lessThan lessThanEqual greaterThan greaterThanEqual equal notEqual any all not texture1D texture1DProj texture1DLod texture1DProjLod texture2D texture2DProj texture2DLod texture2DProjLod texture3D texture3DProj texture3DLod texture3DProjLod textureCube textureCubeLod shadow1D shadow2D shadow1DProj shadow2DProj shadow1DLod shadow2DLod shadow1DProjLod shadow2DProjLod dFdx dFdy fwidth noise1 noise2 noise3 noise4"),atoms:V("true false gl_FragColor gl_SecondaryColor gl_Normal gl_Vertex gl_MultiTexCoord0 gl_MultiTexCoord1 gl_MultiTexCoord2 gl_MultiTexCoord3 gl_MultiTexCoord4 gl_MultiTexCoord5 gl_MultiTexCoord6 gl_MultiTexCoord7 gl_FogCoord gl_PointCoord gl_Position gl_PointSize gl_ClipVertex gl_FrontColor gl_BackColor gl_FrontSecondaryColor gl_BackSecondaryColor gl_TexCoord gl_FogFragCoord gl_FragCoord gl_FrontFacing gl_FragData gl_FragDepth gl_ModelViewMatrix gl_ProjectionMatrix gl_ModelViewProjectionMatrix gl_TextureMatrix gl_NormalMatrix gl_ModelViewMatrixInverse gl_ProjectionMatrixInverse gl_ModelViewProjectionMatrixInverse gl_TextureMatrixTranspose gl_ModelViewMatrixInverseTranspose gl_ProjectionMatrixInverseTranspose gl_ModelViewProjectionMatrixInverseTranspose gl_TextureMatrixInverseTranspose gl_NormalScale gl_DepthRange gl_ClipPlane gl_Point gl_FrontMaterial gl_BackMaterial gl_LightSource gl_LightModel gl_FrontLightModelProduct gl_BackLightModelProduct gl_TextureColor gl_EyePlaneS gl_EyePlaneT gl_EyePlaneR gl_EyePlaneQ gl_FogParameters gl_MaxLights gl_MaxClipPlanes gl_MaxTextureUnits gl_MaxTextureCoords gl_MaxVertexAttribs gl_MaxVertexUniformComponents gl_MaxVaryingFloats gl_MaxVertexTextureImageUnits gl_MaxTextureImageUnits gl_MaxFragmentUniformComponents gl_MaxCombineTextureImageUnits gl_MaxDrawBuffers"),indentSwitch:!1,hooks:{"#":Pi}}),fC=it({name:"nesc",keywords:V(qr+" as atomic async call command component components configuration event generic implementation includes interface module new norace nx_struct nx_union post provides signal task uses abstract extends"),types:zr,blockKeywords:V(Lr),atoms:V("null true false"),hooks:{"#":Pi}}),$g=it({name:"objectivec",keywords:V(qr+" "+gg),types:bg,builtin:V(Qg),blockKeywords:V(Lr+" @synthesize @try @catch @finally @autoreleasepool @synchronized"),defKeywords:V(yo+" @interface @implementation @protocol @class"),dontIndentStatements:/^@.*$/,typeFirstDefinitions:!0,atoms:V("YES NO NULL Nil nil true false nullptr"),isReservedIdentifier:xo,hooks:{"#":Pi,"*":ko}}),uC=it({name:"objectivecpp",keywords:V(qr+" "+gg+" "+mg),types:bg,builtin:V(Qg),blockKeywords:V(Lr+" @synthesize @try @catch @finally @autoreleasepool @synchronized class try catch"),defKeywords:V(yo+" @interface @implementation @protocol @class class namespace"),dontIndentStatements:/^@.*$|^template$/,typeFirstDefinitions:!0,atoms:V("YES NO NULL Nil nil true false nullptr"),isReservedIdentifier:xo,hooks:{"#":Pi,"*":ko,u:wi,U:wi,L:wi,R:wi,0:Se,1:Se,2:Se,3:Se,4:Se,5:Se,6:Se,7:Se,8:Se,9:Se,token:function(i,e,t){if(t=="variable"&&i.peek()=="("&&(e.prevToken==";"||e.prevToken==null||e.prevToken=="}")&&Sg(i.current()))return"def"}},namespaceSeparator:"::"}),OC=it({name:"squirrel",keywords:V("base break clone continue const default delete enum extends function in class foreach local resume return this throw typeof yield constructor instanceof static"),types:zr,blockKeywords:V("case catch class else for foreach if switch try while"),defKeywords:V("function local class"),typeFirstDefinitions:!0,atoms:V("true false null"),hooks:{"#":Pi}}),So=null;function Tg(i){return function(e,t){for(var n=!1,r,s=!1;!e.eol();){if(!n&&e.match('"')&&(i=="single"||e.match('""'))){s=!0;break}if(!n&&e.match("``")){So=Tg(i),s=!0;break}r=e.next(),n=i=="single"&&!n&&r=="\\"}return s&&(t.tokenize=null),"string"}}var dC=it({name:"ceylon",keywords:V("abstracts alias assembly assert assign break case catch class continue dynamic else exists extends finally for function given if import in interface is let module new nonempty object of out outer package return satisfies super switch then this throw try value void while"),types:function(i){var e=i.charAt(0);return e===e.toUpperCase()&&e!==e.toLowerCase()},blockKeywords:V("case catch class dynamic else finally for function if interface module new object switch try while"),defKeywords:V("class dynamic function interface module object package value"),builtin:V("abstract actual aliased annotation by default deprecated doc final formal late license native optional sealed see serializable shared suppressWarnings tagged throws variable"),isPunctuationChar:/[\[\]{}\(\),;\:\.`]/,isOperatorChar:/[+\-*&%=<>!?|^~:\/]/,numberStart:/[\d#$]/,number:/^(?:#[\da-fA-F_]+|\$[01_]+|[\d_]+[kMGTPmunpf]?|[\d_]+\.[\d_]+(?:[eE][-+]?\d+|[kMGTPmunpf]|)|)/i,multiLineStrings:!0,typeFirstDefinitions:!0,atoms:V("true false null larger smaller equal empty finished"),indentSwitch:!1,styleDefs:!1,hooks:{"@":function(i){return i.eatWhile(/[\w\$_]/),"meta"},'"':function(i,e){return e.tokenize=Tg(i.match('""')?"triple":"single"),e.tokenize(i,e)},"`":function(i,e){return!So||!i.match("`")?!1:(e.tokenize=So,So=null,e.tokenize(i,e))},"'":function(i){return i.match(/^(\\[^'\s]+|[^\\'])'/)?"string.special":(i.eatWhile(/[\w\$_\xa1-\uffff]/),"atom")},token:function(i,e,t){if((t=="variable"||t=="type")&&e.prevToken==".")return"variableName.special"}},languageData:{closeBrackets:{brackets:["(","[","{","'",'"','"""']}}});function xP(i){(i.interpolationStack||(i.interpolationStack=[])).push(i.tokenize)}function Cg(i){return(i.interpolationStack||(i.interpolationStack=[])).pop()}function wP(i){return i.interpolationStack?i.interpolationStack.length:0}function ph(i,e,t,n){var r=!1;if(e.eat(i))if(e.eat(i))r=!0;else return"string";function s(o,a){for(var l=!1;!o.eol();){if(!n&&!l&&o.peek()=="$")return xP(a),a.tokenize=PP,"string";var c=o.next();if(c==i&&!l&&(!r||o.match(i+i))){a.tokenize=null;break}l=!n&&!l&&c=="\\"}return"string"}return t.tokenize=s,s(e,t)}function PP(i,e){return i.eat("$"),i.eat("{")?e.tokenize=null:e.tokenize=vP,null}function vP(i,e){return i.eatWhile(/[\w_]/),e.tokenize=Cg(e),"variable"}var pC=it({name:"dart",keywords:V("this super static final const abstract class extends external factory implements mixin get native set typedef with enum throw rethrow assert break case continue default in return new deferred async await covariant try catch finally do else for if switch while import library export part of show hide is as extension on yield late required sealed base interface when inline"),blockKeywords:V("try catch finally do else for if switch while"),builtin:V("void bool num int double dynamic var String Null Never"),atoms:V("true false null"),number:/^(?:0x[a-f\d_]+|(?:[\d_]+\.?[\d_]*|\.[\d_]+)(?:e[-+]?[\d_]+)?)/i,hooks:{"@":function(i){return i.eatWhile(/[\w\$_\.]/),"meta"},"'":function(i,e){return ph("'",i,e,!1)},'"':function(i,e){return ph('"',i,e,!1)},r:function(i,e){var t=i.peek();return t=="'"||t=='"'?ph(i.next(),i,e,!0):!1},"}":function(i,e){return wP(e)>0?(e.tokenize=Cg(e),null):!1},"/":function(i,e){return i.eat("*")?(e.tokenize=Er(1),e.tokenize(i,e)):!1},token:function(i,e,t){if(t=="variable"){var n=RegExp("^[_$]*[A-Z][a-zA-Z0-9_$]*$","g");if(n.test(i.current()))return"type"}}}});function je(i){var e=i.client||{},t=i.atoms||{false:!0,true:!0,null:!0},n=i.builtin||M(_g),r=i.keywords||M(Ki),s=i.operatorChars||/^[*+\-%<>!=&|~^\/]/,o=i.support||{},a=i.hooks||{},l=i.dateSQL||{date:!0,time:!0,timestamp:!0},c=i.backslashStringEscapes!==!1,h=i.brackets||/^[\{}\(\)\[\]]/,f=i.punctuation||/^[;.,:]/;function u(g,Q){var S=g.next();if(a[S]){var x=a[S](g,Q);if(x!==!1)return x}if(o.hexNumber&&(S=="0"&&g.match(/^[xX][0-9a-fA-F]+/)||(S=="x"||S=="X")&&g.match(/^'[0-9a-fA-F]*'/)))return"number";if(o.binaryNumber&&((S=="b"||S=="B")&&g.match(/^'[01]+'/)||S=="0"&&g.match(/^b[01]*/)))return"number";if(S.charCodeAt(0)>47&&S.charCodeAt(0)<58)return g.match(/^[0-9]*(\.[0-9]+)?([eE][-+]?[0-9]+)?/),o.decimallessFloat&&g.match(/^\.(?!\.)/),"number";if(S=="?"&&(g.eatSpace()||g.eol()||g.eat(";")))return"macroName";if(S=="'"||S=='"'&&o.doubleQuote)return Q.tokenize=O(S),Q.tokenize(g,Q);if((o.nCharCast&&(S=="n"||S=="N")||o.charsetCast&&S=="_"&&g.match(/[a-z][a-z0-9]*/i))&&(g.peek()=="'"||g.peek()=='"'))return"keyword";if(o.escapeConstant&&(S=="e"||S=="E")&&(g.peek()=="'"||g.peek()=='"'&&o.doubleQuote))return Q.tokenize=function($,Z){return(Z.tokenize=O($.next(),!0))($,Z)},"keyword";if(o.commentSlashSlash&&S=="/"&&g.eat("/"))return g.skipToEnd(),"comment";if(o.commentHash&&S=="#"||S=="-"&&g.eat("-")&&(!o.commentSpaceRequired||g.eat(" ")))return g.skipToEnd(),"comment";if(S=="/"&&g.eat("*"))return Q.tokenize=m(1),Q.tokenize(g,Q);if(S=="."){if(o.zerolessFloat&&g.match(/^(?:\d+(?:e[+-]?\d+)?)/i))return"number";if(g.match(/^\.+/))return null;if(o.ODBCdotTable&&g.match(/^[\w\d_$#]+/))return"type"}else{if(s.test(S))return g.eatWhile(s),"operator";if(h.test(S))return"bracket";if(f.test(S))return g.eatWhile(f),"punctuation";if(S=="{"&&(g.match(/^( )*(d|D|t|T|ts|TS)( )*'[^']*'( )*}/)||g.match(/^( )*(d|D|t|T|ts|TS)( )*"[^"]*"( )*}/)))return"number";g.eatWhile(/^[_\w\d]/);var P=g.current().toLowerCase();return l.hasOwnProperty(P)&&(g.match(/^( )+'[^']*'/)||g.match(/^( )+"[^"]*"/))?"number":t.hasOwnProperty(P)?"atom":n.hasOwnProperty(P)?"type":r.hasOwnProperty(P)?"keyword":e.hasOwnProperty(P)?"builtin":null}}function O(g,Q){return function(S,x){for(var P=!1,$;($=S.next())!=null;){if($==g&&!P){x.tokenize=u;break}P=(c||Q)&&!P&&$=="\\"}return"string"}}function m(g){return function(Q,S){var x=Q.match(/^.*?(\/\*|\*\/)/);return x?x[1]=="/*"?S.tokenize=m(g+1):g>1?S.tokenize=m(g-1):S.tokenize=u:Q.skipToEnd(),"comment"}}function p(g,Q,S){Q.context={prev:Q.context,indent:g.indentation(),col:g.column(),type:S}}function b(g){g.indent=g.context.indent,g.context=g.context.prev}return{name:"sql",startState:function(){return{tokenize:u,context:null}},token:function(g,Q){if(g.sol()&&Q.context&&Q.context.align==null&&(Q.context.align=!1),Q.tokenize==u&&g.eatSpace())return null;var S=Q.tokenize(g,Q);if(S=="comment")return S;Q.context&&Q.context.align==null&&(Q.context.align=!0);var x=g.current();return x=="("?p(g,Q,")"):x=="["?p(g,Q,"]"):Q.context&&Q.context.type==x&&b(Q),S},indent:function(g,Q,S){var x=g.context;if(!x)return null;var P=Q.charAt(0)==x.type;return x.align?x.col+(P?0:1):x.indent+(P?0:S.unit)},languageData:{commentTokens:{line:o.commentSlashSlash?"//":o.commentHash?"#":"--",block:{open:"/*",close:"*/"}},closeBrackets:{brackets:["(","[","{","'",'"',"`"]}}}}function gh(i){for(var e;(e=i.next())!=null;)if(e=="`"&&!i.eat("`"))return"string.special";return i.backUp(i.current().length-1),i.eatWhile(/\w/)?"string.special":null}function $P(i){for(var e;(e=i.next())!=null;)if(e=='"'&&!i.eat('"'))return"string.special";return i.backUp(i.current().length-1),i.eatWhile(/\w/)?"string.special":null}function Hi(i){return i.eat("@")&&(i.match("session."),i.match("local."),i.match("global.")),i.eat("'")?(i.match(/^.*'/),"string.special"):i.eat('"')?(i.match(/^.*"/),"string.special"):i.eat("`")?(i.match(/^.*`/),"string.special"):i.match(/^[0-9a-zA-Z$\.\_]+/)?"string.special":null}function Xg(i){return i.eat("N")?"atom":i.match(/^[a-zA-Z.#!?]/)?"string.special":null}var Ki="alter and as asc between by count create delete desc distinct drop from group having in insert into is join like not on or order select set table union update values where limit ";function M(i){for(var e={},t=i.split(" "),n=0;n!=^\&|\/]/,brackets:/^[\{}\(\)]/,punctuation:/^[;.,:/]/,backslashStringEscapes:!1,dateSQL:M("date datetimeoffset datetime2 smalldatetime datetime time"),hooks:{"@":Hi}}),bC=je({client:M("charset clear connect edit ego exit go help nopager notee nowarning pager print prompt quit rehash source status system tee"),keywords:M(Ki+"accessible action add after algorithm all analyze asensitive at authors auto_increment autocommit avg avg_row_length before binary binlog both btree cache call cascade cascaded case catalog_name chain change changed character check checkpoint checksum class_origin client_statistics close coalesce code collate collation collations column columns comment commit committed completion concurrent condition connection consistent constraint contains continue contributors convert cross current current_date current_time current_timestamp current_user cursor data database databases day_hour day_microsecond day_minute day_second deallocate dec declare default delay_key_write delayed delimiter des_key_file describe deterministic dev_pop dev_samp deviance diagnostics directory disable discard distinctrow div dual dumpfile each elseif enable enclosed end ends engine engines enum errors escape escaped even event events every execute exists exit explain extended fast fetch field fields first flush for force foreign found_rows full fulltext function general get global grant grants group group_concat handler hash help high_priority hosts hour_microsecond hour_minute hour_second if ignore ignore_server_ids import index index_statistics infile inner innodb inout insensitive insert_method install interval invoker isolation iterate key keys kill language last leading leave left level limit linear lines list load local localtime localtimestamp lock logs low_priority master master_heartbeat_period master_ssl_verify_server_cert masters match max max_rows maxvalue message_text middleint migrate min min_rows minute_microsecond minute_second mod mode modifies modify mutex mysql_errno natural next no no_write_to_binlog offline offset one online open optimize option optionally out outer outfile pack_keys parser partition partitions password phase plugin plugins prepare preserve prev primary privileges procedure processlist profile profiles purge query quick range read read_write reads real rebuild recover references regexp relaylog release remove rename reorganize repair repeatable replace require resignal restrict resume return returns revoke right rlike rollback rollup row row_format rtree savepoint schedule schema schema_name schemas second_microsecond security sensitive separator serializable server session share show signal slave slow smallint snapshot soname spatial specific sql sql_big_result sql_buffer_result sql_cache sql_calc_found_rows sql_no_cache sql_small_result sqlexception sqlstate sqlwarning ssl start starting starts status std stddev stddev_pop stddev_samp storage straight_join subclass_origin sum suspend table_name table_statistics tables tablespace temporary terminated to trailing transaction trigger triggers truncate uncommitted undo uninstall unique unlock upgrade usage use use_frm user user_resources user_statistics using utc_date utc_time utc_timestamp value variables varying view views warnings when while with work write xa xor year_month zerofill begin do then else loop repeat"),builtin:M("bool boolean bit blob decimal double float long longblob longtext medium mediumblob mediumint mediumtext time timestamp tinyblob tinyint tinytext text bigint int int1 int2 int3 int4 int8 integer float float4 float8 double char varbinary varchar varcharacter precision date datetime year unsigned signed numeric"),atoms:M("false true null unknown"),operatorChars:/^[*+\-%<>!=&|^]/,dateSQL:M("date time timestamp"),support:M("ODBCdotTable decimallessFloat zerolessFloat binaryNumber hexNumber doubleQuote nCharCast charsetCast commentHash commentSpaceRequired"),hooks:{"@":Hi,"`":gh,"\\":Xg}}),SC=je({client:M("charset clear connect edit ego exit go help nopager notee nowarning pager print prompt quit rehash source status system tee"),keywords:M(Ki+"accessible action add after algorithm all always analyze asensitive at authors auto_increment autocommit avg avg_row_length before binary binlog both btree cache call cascade cascaded case catalog_name chain change changed character check checkpoint checksum class_origin client_statistics close coalesce code collate collation collations column columns comment commit committed completion concurrent condition connection consistent constraint contains continue contributors convert cross current current_date current_time current_timestamp current_user cursor data database databases day_hour day_microsecond day_minute day_second deallocate dec declare default delay_key_write delayed delimiter des_key_file describe deterministic dev_pop dev_samp deviance diagnostics directory disable discard distinctrow div dual dumpfile each elseif enable enclosed end ends engine engines enum errors escape escaped even event events every execute exists exit explain extended fast fetch field fields first flush for force foreign found_rows full fulltext function general generated get global grant grants group group_concat handler hard hash help high_priority hosts hour_microsecond hour_minute hour_second if ignore ignore_server_ids import index index_statistics infile inner innodb inout insensitive insert_method install interval invoker isolation iterate key keys kill language last leading leave left level limit linear lines list load local localtime localtimestamp lock logs low_priority master master_heartbeat_period master_ssl_verify_server_cert masters match max max_rows maxvalue message_text middleint migrate min min_rows minute_microsecond minute_second mod mode modifies modify mutex mysql_errno natural next no no_write_to_binlog offline offset one online open optimize option optionally out outer outfile pack_keys parser partition partitions password persistent phase plugin plugins prepare preserve prev primary privileges procedure processlist profile profiles purge query quick range read read_write reads real rebuild recover references regexp relaylog release remove rename reorganize repair repeatable replace require resignal restrict resume return returns revoke right rlike rollback rollup row row_format rtree savepoint schedule schema schema_name schemas second_microsecond security sensitive separator serializable server session share show shutdown signal slave slow smallint snapshot soft soname spatial specific sql sql_big_result sql_buffer_result sql_cache sql_calc_found_rows sql_no_cache sql_small_result sqlexception sqlstate sqlwarning ssl start starting starts status std stddev stddev_pop stddev_samp storage straight_join subclass_origin sum suspend table_name table_statistics tables tablespace temporary terminated to trailing transaction trigger triggers truncate uncommitted undo uninstall unique unlock upgrade usage use use_frm user user_resources user_statistics using utc_date utc_time utc_timestamp value variables varying view views virtual warnings when while with work write xa xor year_month zerofill begin do then else loop repeat"),builtin:M("bool boolean bit blob decimal double float long longblob longtext medium mediumblob mediumint mediumtext time timestamp tinyblob tinyint tinytext text bigint int int1 int2 int3 int4 int8 integer float float4 float8 double char varbinary varchar varcharacter precision date datetime year unsigned signed numeric"),atoms:M("false true null unknown"),operatorChars:/^[*+\-%<>!=&|^]/,dateSQL:M("date time timestamp"),support:M("ODBCdotTable decimallessFloat zerolessFloat binaryNumber hexNumber doubleQuote nCharCast charsetCast commentHash commentSpaceRequired"),hooks:{"@":Hi,"`":gh,"\\":Xg}}),yC=je({client:M("auth backup bail binary changes check clone databases dbinfo dump echo eqp exit explain fullschema headers help import imposter indexes iotrace limit lint load log mode nullvalue once open output print prompt quit read restore save scanstats schema separator session shell show stats system tables testcase timeout timer trace vfsinfo vfslist vfsname width"),keywords:M(Ki+"abort action add after all analyze attach autoincrement before begin cascade case cast check collate column commit conflict constraint cross current_date current_time current_timestamp database default deferrable deferred detach each else end escape except exclusive exists explain fail for foreign full glob if ignore immediate index indexed initially inner instead intersect isnull key left limit match natural no notnull null of offset outer plan pragma primary query raise recursive references regexp reindex release rename replace restrict right rollback row savepoint temp temporary then to transaction trigger unique using vacuum view virtual when with without"),builtin:M("bool boolean bit blob decimal double float long longblob longtext medium mediumblob mediumint mediumtext time timestamp tinyblob tinyint tinytext text clob bigint int int2 int8 integer float double char varchar date datetime year unsigned signed numeric real"),atoms:M("null current_date current_time current_timestamp"),operatorChars:/^[*+\-%<>!=&|/~]/,dateSQL:M("date time timestamp datetime"),support:M("decimallessFloat zerolessFloat"),identifierQuote:'"',hooks:{"@":Hi,":":Hi,"?":Hi,$:Hi,'"':$P,"`":gh}}),kC=je({client:{},keywords:M("add all allow alter and any apply as asc authorize batch begin by clustering columnfamily compact consistency count create custom delete desc distinct drop each_quorum exists filtering from grant if in index insert into key keyspace keyspaces level limit local_one local_quorum modify nan norecursive nosuperuser not of on one order password permission permissions primary quorum rename revoke schema select set storage superuser table three to token truncate ttl two type unlogged update use user users using values where with writetime"),builtin:M("ascii bigint blob boolean counter decimal double float frozen inet int list map static text timestamp timeuuid tuple uuid varchar varint"),atoms:M("false true infinity NaN"),operatorChars:/^[<>=]/,dateSQL:{},support:M("commentSlashSlash decimallessFloat"),hooks:{}}),xC=je({client:M("appinfo arraysize autocommit autoprint autorecovery autotrace blockterminator break btitle cmdsep colsep compatibility compute concat copycommit copytypecheck define describe echo editfile embedded escape exec execute feedback flagger flush heading headsep instance linesize lno loboffset logsource long longchunksize markup native newpage numformat numwidth pagesize pause pno recsep recsepchar release repfooter repheader serveroutput shiftinout show showmode size spool sqlblanklines sqlcase sqlcode sqlcontinue sqlnumber sqlpluscompatibility sqlprefix sqlprompt sqlterminator suffix tab term termout time timing trimout trimspool ttitle underline verify version wrap"),keywords:M("abort accept access add all alter and any array arraylen as asc assert assign at attributes audit authorization avg base_table begin between binary_integer body boolean by case cast char char_base check close cluster clusters colauth column comment commit compress connect connected constant constraint crash create current currval cursor data_base database date dba deallocate debugoff debugon decimal declare default definition delay delete desc digits dispose distinct do drop else elseif elsif enable end entry escape exception exception_init exchange exclusive exists exit external fast fetch file for force form from function generic goto grant group having identified if immediate in increment index indexes indicator initial initrans insert interface intersect into is key level library like limited local lock log logging long loop master maxextents maxtrans member minextents minus mislabel mode modify multiset new next no noaudit nocompress nologging noparallel not nowait number_base object of off offline on online only open option or order out package parallel partition pctfree pctincrease pctused pls_integer positive positiven pragma primary prior private privileges procedure public raise range raw read rebuild record ref references refresh release rename replace resource restrict return returning returns reverse revoke rollback row rowid rowlabel rownum rows run savepoint schema segment select separate session set share snapshot some space split sql start statement storage subtype successful synonym tabauth table tables tablespace task terminate then to trigger truncate type union unique unlimited unrecoverable unusable update use using validate value values variable view views when whenever where while with work"),builtin:M("abs acos add_months ascii asin atan atan2 average bfile bfilename bigserial bit blob ceil character chartorowid chr clob concat convert cos cosh count dec decode deref dual dump dup_val_on_index empty error exp false float floor found glb greatest hextoraw initcap instr instrb int integer isopen last_day least length lengthb ln lower lpad ltrim lub make_ref max min mlslabel mod months_between natural naturaln nchar nclob new_time next_day nextval nls_charset_decl_len nls_charset_id nls_charset_name nls_initcap nls_lower nls_sort nls_upper nlssort no_data_found notfound null number numeric nvarchar2 nvl others power rawtohex real reftohex round rowcount rowidtochar rowtype rpad rtrim serial sign signtype sin sinh smallint soundex sqlcode sqlerrm sqrt stddev string substr substrb sum sysdate tan tanh to_char text to_date to_label to_multi_byte to_number to_single_byte translate true trunc uid unlogged upper user userenv varchar varchar2 variance varying vsize xml"),operatorChars:/^[*\/+\-%<>!=~]/,dateSQL:M("date time timestamp"),support:M("doubleQuote nCharCast zerolessFloat binaryNumber hexNumber")}),wC=je({keywords:M("select alter $elem$ $key$ $value$ add after all analyze and archive as asc before between binary both bucket buckets by cascade case cast change cluster clustered clusterstatus collection column columns comment compute concatenate continue create cross cursor data database databases dbproperties deferred delete delimited desc describe directory disable distinct distribute drop else enable end escaped exclusive exists explain export extended external fetch fields fileformat first format formatted from full function functions grant group having hold_ddltime idxproperties if import in index indexes inpath inputdriver inputformat insert intersect into is items join keys lateral left like limit lines load local location lock locks mapjoin materialized minus msck no_drop nocompress not of offline on option or order out outer outputdriver outputformat overwrite partition partitioned partitions percent plus preserve procedure purge range rcfile read readonly reads rebuild recordreader recordwriter recover reduce regexp rename repair replace restrict revoke right rlike row schema schemas semi sequencefile serde serdeproperties set shared show show_database sort sorted ssl statistics stored streamtable table tables tablesample tblproperties temporary terminated textfile then tmp to touch transform trigger unarchive undo union uniquejoin unlock update use using utc utc_tmestamp view when where while with admin authorization char compact compactions conf cube current current_date current_timestamp day decimal defined dependency directories elem_type exchange file following for grouping hour ignore inner interval jar less logical macro minute month more none noscan over owner partialscan preceding pretty principals protection reload rewrite role roles rollup rows second server sets skewed transactions truncate unbounded unset uri user values window year"),builtin:M("bool boolean long timestamp tinyint smallint bigint int float double date datetime unsigned string array struct map uniontype key_type utctimestamp value_type varchar"),atoms:M("false true null unknown"),operatorChars:/^[*+\-%<>!=]/,dateSQL:M("date timestamp"),support:M("ODBCdotTable doubleQuote binaryNumber hexNumber")}),PC=je({client:M("source"),keywords:M(Ki+"a abort abs absent absolute access according action ada add admin after aggregate alias all allocate also alter always analyse analyze and any are array array_agg array_max_cardinality as asc asensitive assert assertion assignment asymmetric at atomic attach attribute attributes authorization avg backward base64 before begin begin_frame begin_partition bernoulli between bigint binary bit bit_length blob blocked bom boolean both breadth by c cache call called cardinality cascade cascaded case cast catalog catalog_name ceil ceiling chain char char_length character character_length character_set_catalog character_set_name character_set_schema characteristics characters check checkpoint class class_origin clob close cluster coalesce cobol collate collation collation_catalog collation_name collation_schema collect column column_name columns command_function command_function_code comment comments commit committed concurrently condition condition_number configuration conflict connect connection connection_name constant constraint constraint_catalog constraint_name constraint_schema constraints constructor contains content continue control conversion convert copy corr corresponding cost count covar_pop covar_samp create cross csv cube cume_dist current current_catalog current_date current_default_transform_group current_path current_role current_row current_schema current_time current_timestamp current_transform_group_for_type current_user cursor cursor_name cycle data database datalink datatype date datetime_interval_code datetime_interval_precision day db deallocate debug dec decimal declare default defaults deferrable deferred defined definer degree delete delimiter delimiters dense_rank depends depth deref derived desc describe descriptor detach detail deterministic diagnostics dictionary disable discard disconnect dispatch distinct dlnewcopy dlpreviouscopy dlurlcomplete dlurlcompleteonly dlurlcompletewrite dlurlpath dlurlpathonly dlurlpathwrite dlurlscheme dlurlserver dlvalue do document domain double drop dump dynamic dynamic_function dynamic_function_code each element else elseif elsif empty enable encoding encrypted end end_frame end_partition endexec enforced enum equals errcode error escape event every except exception exclude excluding exclusive exec execute exists exit exp explain expression extension external extract false family fetch file filter final first first_value flag float floor following for force foreach foreign fortran forward found frame_row free freeze from fs full function functions fusion g general generated get global go goto grant granted greatest group grouping groups handler having header hex hierarchy hint hold hour id identity if ignore ilike immediate immediately immutable implementation implicit import in include including increment indent index indexes indicator info inherit inherits initially inline inner inout input insensitive insert instance instantiable instead int integer integrity intersect intersection interval into invoker is isnull isolation join k key key_member key_type label lag language large last last_value lateral lead leading leakproof least left length level library like like_regex limit link listen ln load local localtime localtimestamp location locator lock locked log logged loop lower m map mapping match matched materialized max max_cardinality maxvalue member merge message message_length message_octet_length message_text method min minute minvalue mod mode modifies module month more move multiset mumps name names namespace national natural nchar nclob nesting new next nfc nfd nfkc nfkd nil no none normalize normalized not nothing notice notify notnull nowait nth_value ntile null nullable nullif nulls number numeric object occurrences_regex octet_length octets of off offset oids old on only open operator option options or order ordering ordinality others out outer output over overlaps overlay overriding owned owner p pad parallel parameter parameter_mode parameter_name parameter_ordinal_position parameter_specific_catalog parameter_specific_name parameter_specific_schema parser partial partition pascal passing passthrough password path percent percent_rank percentile_cont percentile_disc perform period permission pg_context pg_datatype_name pg_exception_context pg_exception_detail pg_exception_hint placing plans pli policy portion position position_regex power precedes preceding precision prepare prepared preserve primary print_strict_params prior privileges procedural procedure procedures program public publication query quote raise range rank read reads real reassign recheck recovery recursive ref references referencing refresh regr_avgx regr_avgy regr_count regr_intercept regr_r2 regr_slope regr_sxx regr_sxy regr_syy reindex relative release rename repeatable replace replica requiring reset respect restart restore restrict result result_oid return returned_cardinality returned_length returned_octet_length returned_sqlstate returning returns reverse revoke right role rollback rollup routine routine_catalog routine_name routine_schema routines row row_count row_number rows rowtype rule savepoint scale schema schema_name schemas scope scope_catalog scope_name scope_schema scroll search second section security select selective self sensitive sequence sequences serializable server server_name session session_user set setof sets share show similar simple size skip slice smallint snapshot some source space specific specific_name specifictype sql sqlcode sqlerror sqlexception sqlstate sqlwarning sqrt stable stacked standalone start state statement static statistics stddev_pop stddev_samp stdin stdout storage strict strip structure style subclass_origin submultiset subscription substring substring_regex succeeds sum symmetric sysid system system_time system_user t table table_name tables tablesample tablespace temp template temporary text then ties time timestamp timezone_hour timezone_minute to token top_level_count trailing transaction transaction_active transactions_committed transactions_rolled_back transform transforms translate translate_regex translation treat trigger trigger_catalog trigger_name trigger_schema trim trim_array true truncate trusted type types uescape unbounded uncommitted under unencrypted union unique unknown unlink unlisten unlogged unnamed unnest until untyped update upper uri usage use_column use_variable user user_defined_type_catalog user_defined_type_code user_defined_type_name user_defined_type_schema using vacuum valid validate validator value value_of values var_pop var_samp varbinary varchar variable_conflict variadic varying verbose version versioning view views volatile warning when whenever where while whitespace width_bucket window with within without work wrapper write xml xmlagg xmlattributes xmlbinary xmlcast xmlcomment xmlconcat xmldeclaration xmldocument xmlelement xmlexists xmlforest xmliterate xmlnamespaces xmlparse xmlpi xmlquery xmlroot xmlschema xmlserialize xmltable xmltext xmlvalidate year yes zone"),builtin:M("bigint int8 bigserial serial8 bit varying varbit boolean bool box bytea character char varchar cidr circle date double precision float8 inet integer int int4 interval json jsonb line lseg macaddr macaddr8 money numeric decimal path pg_lsn point polygon real float4 smallint int2 smallserial serial2 serial serial4 text time without zone with timetz timestamp timestamptz tsquery tsvector txid_snapshot uuid xml"),atoms:M("false true null unknown"),operatorChars:/^[*\/+\-%<>!=&|^\/#@?~]/,backslashStringEscapes:!1,dateSQL:M("date time timestamp"),support:M("ODBCdotTable decimallessFloat zerolessFloat binaryNumber hexNumber nCharCast charsetCast escapeConstant")}),vC=je({keywords:M("ancestor and asc by contains desc descendant distinct from group has in is limit offset on order select superset where"),atoms:M("false true"),builtin:M("blob datetime first key __key__ string integer double boolean null"),operatorChars:/^[*+\-%<>!=]/}),$C=je({client:M("source"),keywords:M("abort absolute access action active add admin after aggregate all also alter always analyse analyze and any array as asc assertion assignment asymmetric at authorization backward before begin between bigint binary bit boolean both by cache called cascade cascaded case cast chain char character characteristics check checkpoint class close cluster coalesce codegen collate column comment commit committed concurrency concurrently configuration connection constraint constraints contains content continue conversion copy cost cpu_rate_limit create createdb createexttable createrole createuser cross csv cube current current_catalog current_date current_role current_schema current_time current_timestamp current_user cursor cycle data database day deallocate dec decimal declare decode default defaults deferrable deferred definer delete delimiter delimiters deny desc dictionary disable discard distinct distributed do document domain double drop dxl each else enable encoding encrypted end enum errors escape every except exchange exclude excluding exclusive execute exists explain extension external extract false family fetch fields filespace fill filter first float following for force foreign format forward freeze from full function global grant granted greatest group group_id grouping handler hash having header hold host hour identity if ignore ilike immediate immutable implicit in including inclusive increment index indexes inherit inherits initially inline inner inout input insensitive insert instead int integer intersect interval into invoker is isnull isolation join key language large last leading least left level like limit list listen load local localtime localtimestamp location lock log login mapping master match maxvalue median merge minute minvalue missing mode modifies modify month move name names national natural nchar new newline next no nocreatedb nocreateexttable nocreaterole nocreateuser noinherit nologin none noovercommit nosuperuser not nothing notify notnull nowait null nullif nulls numeric object of off offset oids old on only operator option options or order ordered others out outer over overcommit overlaps overlay owned owner parser partial partition partitions passing password percent percentile_cont percentile_disc placing plans position preceding precision prepare prepared preserve primary prior privileges procedural procedure protocol queue quote randomly range read readable reads real reassign recheck recursive ref references reindex reject relative release rename repeatable replace replica reset resource restart restrict returning returns revoke right role rollback rollup rootpartition row rows rule savepoint scatter schema scroll search second security segment select sequence serializable session session_user set setof sets share show similar simple smallint some split sql stable standalone start statement statistics stdin stdout storage strict strip subpartition subpartitions substring superuser symmetric sysid system table tablespace temp template temporary text then threshold ties time timestamp to trailing transaction treat trigger trim true truncate trusted type unbounded uncommitted unencrypted union unique unknown unlisten until update user using vacuum valid validation validator value values varchar variadic varying verbose version view volatile web when where whitespace window with within without work writable write xml xmlattributes xmlconcat xmlelement xmlexists xmlforest xmlparse xmlpi xmlroot xmlserialize year yes zone"),builtin:M("bigint int8 bigserial serial8 bit varying varbit boolean bool box bytea character char varchar cidr circle date double precision float float8 inet integer int int4 interval json jsonb line lseg macaddr macaddr8 money numeric decimal path pg_lsn point polygon real float4 smallint int2 smallserial serial2 serial serial4 text time without zone with timetz timestamp timestamptz tsquery tsvector txid_snapshot uuid xml"),atoms:M("false true null unknown"),operatorChars:/^[*+\-%<>!=&|^\/#@?~]/,dateSQL:M("date time timestamp"),support:M("ODBCdotTable decimallessFloat zerolessFloat binaryNumber hexNumber nCharCast charsetCast")}),TC=je({keywords:M("add after all alter analyze and anti archive array as asc at between bucket buckets by cache cascade case cast change clear cluster clustered codegen collection column columns comment commit compact compactions compute concatenate cost create cross cube current current_date current_timestamp database databases data dbproperties defined delete delimited deny desc describe dfs directories distinct distribute drop else end escaped except exchange exists explain export extended external false fields fileformat first following for format formatted from full function functions global grant group grouping having if ignore import in index indexes inner inpath inputformat insert intersect interval into is items join keys last lateral lazy left like limit lines list load local location lock locks logical macro map minus msck natural no not null nulls of on optimize option options or order out outer outputformat over overwrite partition partitioned partitions percent preceding principals purge range recordreader recordwriter recover reduce refresh regexp rename repair replace reset restrict revoke right rlike role roles rollback rollup row rows schema schemas select semi separated serde serdeproperties set sets show skewed sort sorted start statistics stored stratify struct table tables tablesample tblproperties temp temporary terminated then to touch transaction transactions transform true truncate unarchive unbounded uncache union unlock unset use using values view when where window with"),builtin:M("tinyint smallint int bigint boolean float double string binary timestamp decimal array map struct uniontype delimited serde sequencefile textfile rcfile inputformat outputformat"),atoms:M("false true null"),operatorChars:/^[*\/+\-%<>!=~&|^]/,dateSQL:M("date time timestamp"),support:M("ODBCdotTable doubleQuote zerolessFloat")}),CC=je({client:M("source"),keywords:M("alter and as asc between by count create delete desc distinct drop from group having in insert into is join like not on or order select set table union update values where limit after all and as at asc avedev avg between by case cast coalesce count create current_timestamp day days delete define desc distinct else end escape events every exists false first from full group having hour hours in inner insert instanceof into irstream is istream join last lastweekday left limit like max match_recognize matches median measures metadatasql min minute minutes msec millisecond milliseconds not null offset on or order outer output partition pattern prev prior regexp retain-union retain-intersection right rstream sec second seconds select set some snapshot sql stddev sum then true unidirectional until update variable weekday when where window"),builtin:{},atoms:M("false true null"),operatorChars:/^[*+\-%<>!=&|^\/#@?~]/,dateSQL:M("time"),support:M("decimallessFloat zerolessFloat binaryNumber hexNumber")});var Rg={name:"toml",startState:function(){return{inString:!1,stringType:"",lhs:!0,inArray:0}},token:function(i,e){let t;if(!e.inString&&(t=i.match(/^('''|"""|'|")/))&&(e.stringType=t[0],e.inString=!0),i.sol()&&!e.inString&&e.inArray===0&&(e.lhs=!0),e.inString){for(;e.inString;)if(i.match(e.stringType))e.inString=!1;else if(i.peek()==="\\")i.next(),i.next();else{if(i.eol())break;i.match(/^.[^\\\"\']*/)}return e.lhs?"property":"string"}else{if(e.inArray&&i.peek()==="]")return i.next(),e.inArray--,"bracket";if(e.lhs&&i.peek()==="["&&i.skipTo("]"))return i.next(),i.peek()==="]"&&i.next(),"atom";if(i.peek()==="#")return i.skipToEnd(),"comment";if(i.eatSpace())return null;if(e.lhs&&i.eatWhile(function(n){return n!="="&&n!=" "}))return"property";if(e.lhs&&i.peek()==="=")return i.next(),e.lhs=!1,null;if(!e.lhs&&i.match(/^\d\d\d\d[\d\-\:\.T]*Z/))return"atom";if(!e.lhs&&(i.match("true")||i.match("false")))return"atom";if(!e.lhs&&i.peek()==="[")return e.inArray++,i.next(),"bracket";if(!e.lhs&&i.match(/^\-?\d+(?:\.\d+)?/))return"number";i.eatSpace()||i.next()}return null},languageData:{commentTokens:{line:"#"}}};var TP=Qe({"for in if else endfor endif":d.controlKeyword,"Attribute/Identifier":d.definition(d.propertyName),"ForIntro/Identifier":d.definition(d.propertyName),"Block/Identifier":d.definitionKeyword,"FunctionCall/Identifier":d.function(d.variableName),"Attribute/Expression":d.attributeValue,"VariableExpr/Identifier":d.variableName,"GetAttr/Identifier":d.variableName,Identifier:d.name,"LiteralValue/...":d.literal,"StringLit/... TemplateLiteral":d.string,NumericLit:d.number,BoolLit:d.bool,NullLit:d.null,Comment:d.comment,LineComment:d.lineComment,BlockComment:d.blockComment,"( )":d.paren,"{ }":d.bracket,"[ ]":d.squareBracket,ArithOp:d.arithmeticOperator,LogicOp:d.logicOperator,CompareOp:d.compareOperator,ControlOp:d.controlOperator,HeredocIdentifier:d.special(d.controlKeyword),HeredocStart:d.special(d.brace),"TemplateInterpolationStart TemplateInterpolationEnd":d.special(d.brace),"TemplateDirectiveStart TemplateDirectiveEnd":d.special(d.brace),StripMarker:d.special(d.brace),Ellipsis:d.punctuation,": =>":d.punctuation,",":d.separator}),Qh=1,bh=2,Sh=3,yh=4,kh=5,xh=6,Zn=7,Ee=93,Re={QUOTED_TEMPLATE:1,TEMPLATE_INTERPOLATION:2,TEMPLATE_DIRECTIVE:4,HEREDOC_TEMPLATE:8},CP=function(i){var e=0,t,n;if(i.length===0)return e;for(t=0;t{if(e.canShift(Qh)&&!(e.context&&e.context.type===Re.QUOTED_TEMPLATE)&&String.fromCharCode(i.next)==='"')return i.advance(),i.acceptToken(Qh)},{contextual:!0,fallback:!0}),AP=new ee((i,e)=>{if(e.canShift(bh)&&e.context&&e.context.type===Re.QUOTED_TEMPLATE&&String.fromCharCode(i.next)==='"')return i.advance(),i.acceptToken(bh)},{contextual:!0,fallback:!0}),ZP=new ee((i,e)=>{if(e.canShift(Ee)&&e.context&&e.context.type===Re.QUOTED_TEMPLATE)switch(String.fromCharCode(i.next)){case"\\":switch(i.advance(),String.fromCharCode(i.next)){case'"':case"n":case"r":case"t":case"\\":return i.advance(),i.acceptToken(Ee);case"u":for(let t=0;t<4;t++)if(i.advance(),!/[0-9a-fA-F]/.test(String.fromCharCode(i.next)))return;return i.advance(),i.acceptToken(Ee);case"U":for(let t=0;t<8;t++)if(i.advance(),!/[0-9a-fA-F]/.test(String.fromCharCode(i.next)))return;return i.advance(),i.acceptToken(Ee);default:return}}if(e.canShift(Ee)&&e.context&&(e.context.type===Re.QUOTED_TEMPLATE||e.context.type===Re.HEREDOC_TEMPLATE)&&i.next!==-1)return i.advance(),i.acceptToken(Ee)},{contextual:!0,fallback:!0}),EP=new ee((i,e)=>{if(e.canShift(Sh)&&e.canShift(Ee)&&!(e.context&&e.context.type===Re.TEMPLATE_INTERPOLATION)&&String.fromCharCode(i.next)==="$")return i.advance(),String.fromCharCode(i.next)==="{"?(i.advance(),i.acceptToken(Sh)):(String.fromCharCode(i.next)==="$"&&(i.advance(),String.fromCharCode(i.next)==="{")&&i.advance(),i.acceptToken(Ee))},{contextual:!0,fallback:!0}),qP=new ee((i,e)=>{if(e.canShift(yh)&&e.context&&e.context.type===Re.TEMPLATE_INTERPOLATION&&String.fromCharCode(i.next)==="}")return i.advance(),i.acceptToken(yh)},{contextual:!0,fallback:!0}),zP=new ee((i,e)=>{if(e.canShift(kh)&&e.canShift(Ee)&&!(e.context&&e.context.type===Re.TEMPLATE_DIRECTIVE)&&String.fromCharCode(i.next)==="%")return i.advance(),String.fromCharCode(i.next)==="{"?(i.advance(),i.acceptToken(kh)):(String.fromCharCode(i.next)==="%"&&(i.advance(),String.fromCharCode(i.next)==="{")&&i.advance(),i.acceptToken(Ee))},{contextual:!0,fallback:!0}),LP=new ee((i,e)=>{if(e.canShift(xh)&&e.context&&e.context.type===Re.TEMPLATE_DIRECTIVE&&String.fromCharCode(i.next)==="}")return i.advance(),i.acceptToken(xh)},{contextual:!0,fallback:!0}),MP=new ee((i,e)=>{if(e.canShift(Zn)&&!(e.context&&e.context.type===Re.HEREDOC_TEMPLATE)&&i.next!==-1){let t=String.fromCharCode(i.next);for(;/[0-9a-zA-Z]/.test(t)||t==="_"||t==="-";)i.advance(),t=String.fromCharCode(i.next);return i.acceptToken(Zn)}if(e.canShift(Zn)&&e.canShift(Ee)&&e.context&&e.context.type===Re.HEREDOC_TEMPLATE&&i.next!=-1){let t=e.context.heredoc_identifier,n=!1,r=!1,s=String.fromCharCode(i.next);for(;/\s/.test(s);)r=!0,s===` -`&&(n=!0),i.advance(),s=String.fromCharCode(i.next);if(r&&i.acceptToken(Ee),!n)return;let o=0;for(let l=0;lbQ&jO,5:fOOQy,5:h,5:hPOQy'#EY'#EYPOQy,5:j,5:jPOQy,5:k,5:kOOQy1G0g1G0gOOQO7+%u7+%uO>jQ&jO7+%uOOQ%n,5:|,5:|OOQ%n1G.}1G.}O>oQ&rO1G.}O>tQ&rO1G.}OOQ%n1G/Q1G/QO?PQ&jO,59jO?[Q'[O,59jOOQ%n1G/W1G/WO1tQ)tO1G/WO?dQ&jO'#DVO1tQ)tO1G/WO?rQ&jO,59oO@QQ'[O,59oO@YQ'[O,59qO@bQ&jO1G/RO@jQ&jO1G/RO$yQ&kO1G/XO@oQ'[O1G/XOOQy7+$y7+$yO@zQ&jO,5:rOA]Q&kO1G0lOOQO-E8U-E8UOOQy7+%[7+%[OAdQ&jO7+%[O$yQ&kO'#DlO$yQ&kO1G/qOAiQ&jO1G/qOOQP'#ES'#ESO$yQ&kO7+%rP$yQ&kO'#EXO$yQ&kO7+%_OAnQ&kO,5:ROAuQ&jO,5:ROOQO,5:R,5:ROOQy7+%V7+%VOOQy1G0Q1G0QPOQy-E8W-E8WOOQO<eAN>eOKmQ&jOAN>eOKrQ&jOAN>eOOQ%n<cOOQyG24PG24POLiQ&jOG24POOQ$YG23_G23_OLnQ'[OG23_OLyQ'[OG23_O$yQ&kOG23_OOQPG23}G23}OOQyLD)kLD)kOOQ$YLD(yLD(yOMOQ'[OLD(yOMTQ'[OLD(yOOQ$Y!$'Le!$'LeOM`Q'[O!$'LeOOQ$Y!)9BP!)9BPO-wQ&kO'#DoO/TQ&kO'#DoOMeQ&kO'#CkO-wQ&kO,5:^O/TQ&kO,5:^O-wQ&kO,5:^O/TQ&kO,5:^O-wQ&kO,5:^O/TQ&kO,5:^O-wQ&kO,5:^O/TQ&kO,5:^O-wQ&kO,5:^O/TQ&kO,5:^O-wQ&kO,5:^O/TQ&kO,5:^ON[Q&kO1G/xO! XQ&kO1G/xO!!UQ&kO1G/xO!%UQ&kO1G/xO!%]Q&kO1G/xO-wQ&kO7+%rO/TQ&kO7+%rO4uQ&jO1G0WO4uQ&jO1G0WO$yQ&kO,5:lO$yQ&kO,5:l",stateData:"!%l~O#ROSXPQYPQ~O^RO!SQO~OXVOYVO~OPZO^gOa[OcXOdXOfYO!P`O!RdO!ScO!YoO#W]O#X]O#^iO#_jO~OPqO^sO!SuO#SrO~O^RO#O[X!R[X~OQ!PORyOT!QO#PwO~OV!RO~OPZO^gOa[OcXOdXOfYOp!WO!P`O!ScO!YoO#W]O#X]O#^iO#_jO~O!O!TO~P#iO#S!XO#[!XO#o!YO~OPZO^gOa[OcXOdXOfYO!P`O!ScO!YoO#W]O#X]O#^iO#_jO~O#V!]O!R#ZX~P$yOp!WO~PmO!R!`O~O!Y!aO!P!VX!o!VX#^!VX#`!VX#a!VX#b!VX#c!VX#d!VX#e!VX#f!VX#g!VX#h!VX#i!VX#j!VX#k!VX#l!VX#m!VX#n!VX#o!VX~O#S!VX#[!VX!O!VX#V!VX!W!VX^!VX#O!VXS!VXl!VXv!VX![!VXU!VX!R!VX~P&[O!o!pO#^!dO#`!cO#a!cO#b!cO#c!dO#d!eO#e!eO#f!eO#g!eO#h!fO#i!fO#j!gO#k!hO#l!qO#m!rO#n!sO#o_X#V_X^_X!R_X~O!P!oO#S_X#[_X!O_X!W_X#O_XS_Xl_Xv_X![_XU_X~P(iOPqO^sO!S!zO~O^RO!R!{O~O#P!}OQ#UPR#UPT#UPV#UP~OQ#POR!yXT!yX#P!yX~OS#QOl#RO~P$yORyOT#VO#PwO~ORyOT#ZO#PwO~OQ#]ORyOT!QO#PwO~Ol#_Op#^Ov#`O~ORyOT!QOV#bO#PwO~O#V#cO#o!YO!O#YX~O!O#eO~O^#gO~OPZO^#iOa[OcXOdXOfYO!P`O!ScO!YoO#W]O#X]O#^iO#_jO~O!R#Za~P$yO#V#lO!R#Za~P$yOPZO^#nOa[OcXOdXOfYO!P`O!ScO!YoO#W]O#X]O#^iO#_jO~O!W#rO~P$yO^#{O~O!W$PO#o!YO~OQ#PO~O#o!YO^]i#O]i!R]i~O^RO!R$QO~OS$TOl$UO~P$yOS$TOl$UO#o!YO~Ol$XOp#^Os$YOv#`O~ORyOT$]O#PwO~Ol$_Op#^Ov#`Ox$`Oz$aO~O^$bO~Op$cOv$dO~ORyOT!QOV$fO#PwO~O!O#Ya~P$yO#V$hO!O#Ya~Ov$lO!O$jO#o!YO~Oq$mO#V$nO~O#o!YOP!Ui^!Uia!Uic!Uid!Uif!Ui!P!Ui!R!Ui!S!Ui!Y!Ui#V!Ui#W!Ui#X!Ui#^!Ui#_!Ui~O#[$oO#o!YO~O!R#Zi~P$yO#]!VX~P&[O#]$rO#o!YO~O!o!pO#^!dO#`!cO#a!cO#b!cO#c!dO#d!eO#e!eO#f!eO#g!eO#h!fO#i!fO#j!gO#k!hO#l!qO#m!rO#n!sO#o_X~O!P!oO#]_X~P5eO![$uO#V$sO#o!YO!W!ZX~O!W$vO~O#`!cO#a!cO#b!cO!P!fi!o!fi#S!fi#[!fi#d!fi#e!fi#f!fi#g!fi#h!fi#i!fi#j!fi#k!fi#l!fi#m!fi#n!fi#o!fi!O!fi#V!fi!W!fi^!fi#O!fiS!fil!fiv!fi![!fiU!fi!R!fi~O#^!fi#c!fi~P7^O#^!dO#c!dO~P7^O#^!dO#`!cO#a!cO#b!cO#c!dO#d!eO#e!eO#f!eO#g!eO!P!fi!o!fi#S!fi#[!fi#j!fi#k!fi#l!fi#m!fi#n!fi#o!fi!O!fi#V!fi!W!fi^!fi#O!fiS!fil!fiv!fi![!fiU!fi!R!fi~O#h!fi#i!fi~P9rO#h!fO#i!fO~P9rO#^!dO#`!cO#a!cO#b!cO#c!dO#d!eO#e!eO#f!eO#g!eO#h!fO#i!fO#j!gO!P!fi!o!fi#k!fi#l!fi#m!fi#n!fi#o!fi#V!fi^!fi!R!fi~O#S!fi#[!fi!O!fi!W!fi#O!fiS!fil!fiv!fi![!fiU!fi~PWP[i]||-1}],tokenPrec:2320}),VP=Xe.define({parser:jP.configure({props:[Pe.add({Block:wt({closing:"}",align:!1})}),_e.add({"Object Tuple TemplateFor TemplateIf":Ot,BlockComment:i=>({from:i.from+2,to:i.to-2}),HeredocTemplate(i){let e=i.getChild("HeredocIdentifier");return e?{from:e.to,to:i.to}:null},FunctionCall(i){let e=i.getChild("("),t=i.getChild(")");return!e||!t?null:{from:e.from+1,to:t.to-1}},Block(i){let e=i.getChild("{"),t=i.getChild("}");return!e||!t?null:{from:e.from+1,to:t.to-1}}}),TP]}),languageData:{commentTokens:{line:"#",block:{open:"/*",close:"*/"}}}});function Ag(){return new me(VP)}function DP(i){let e=i.trim();if(!e)return"";if(/^#!.*\b(?:ba)?sh\b|^\s*\$\s+/.test(e))return"bash";if(e.startsWith("{")&&e.endsWith("}")||e.startsWith("[")&&e.endsWith("]"))try{return JSON.parse(e),"json"}catch{}return/^\s*(?:|(?:using\s+namespace\s+std|std::\w+|(?:cout|cin)\s*(?:<<|>>))\b)/m.test(e)?"cpp":/^\s*(?:#\s*include\s*[<"](?:assert|ctype|errno|float|inttypes|limits|math|setjmp|signal|stdarg|stdbool|stddef|stdint|stdio|stdlib|string|time)\.h[>"]|(?:int|void)\s+main\s*\([^)]*\)\s*\{)/m.test(e)?"c":/^\s*(?:async\s+)?def\s+\w+\s*\(|^\s*from\s+\w+[\w.]*\s+import\b|^\s*class\s+\w+\s*[:(]/m.test(e)?"python":/\b(?:SELECT|INSERT|UPDATE|DELETE|CREATE\s+(?:TABLE|VIEW|INDEX)|WITH)\b[\s\S]*\b(?:FROM|INTO|WHERE|AS)\b/i.test(e)?"sql":/(?:^|\n)\s*(?:[#.]?[A-Za-z][\w-]*)\s*\{[\s\S]*:[\s\S]*\}/.test(e)||/@(?:media|keyframes|supports)\b/.test(e)?"css":/^\s*(?:const|let|var)\s+[A-Za-z_$][\w$]*\s*(?::[^=\n]+)?\s*=/m.test(e)||/\b(?:function\s+\w+\s*\(|console\.(?:log|error|warn)|=>)/.test(e)?"javascript":/^\s*(?:[-A-Za-z_][\w-]*):\s*(?:[^:#\n]|$)/m.test(e)&&!/[{};]/.test(e)?"yaml":/^\s*(?:echo|printf|export|source|cd|mkdir|rm|cp|mv)\s+/m.test(e)?"bash":""}var Ue=(i,e,t)=>Be.of({name:i,alias:e,support:new me(Es.define(t))}),Jg=[Be.of({name:"javascript",alias:["js","jsx","ts","tsx","typescript","node"],support:oo({jsx:!0,typescript:!0})}),Be.of({name:"python",alias:["py"],support:Im()}),Be.of({name:"json",alias:["jsonc"],support:Um()}),Be.of({name:"css",alias:["scss"],support:so()}),Be.of({name:"html",alias:["htm","xml"],support:lo()}),Be.of({name:"hcl",alias:["terraform","tf"],support:Ag()}),Ue("swift",[],Nm),Ue("shell",["sh","bash","zsh","console"],eg),Ue("yaml",["yml"],tg),Ue("go",["golang"],og),Ue("ruby",["rb"],cg),Ue("rust",["rs"],ug),Ue("c",["h"],yg),Ue("cpp",["c++","cc","hpp"],kg),Ue("java",[],xg),Ue("kotlin",["kt"],vg),Ue("objective-c",["objc","objectivec"],$g),Ue("csharp",["cs","c#"],wg),Ue("sql",[],je({})),Ue("toml",[],Rg)],YP={resolve:"Highlight",mark:"HighlightMark"},IP=/[\p{S}\p{P}]/u;function Zg(i){return!i||/\s/.test(i)}function Eg(i){return!!i&&IP.test(i)}var Wh={defineNodes:["Highlight","HighlightMark"],parseInline:[{name:"Highlight",parse(i,e,t){if(e!==61||i.char(t+1)!==61)return-1;let n=t;for(;n>i.offset&&i.char(n-1)===61;)n--;let r=t+2;for(;i.char(r)===61;)r++;let s=n+(r-n)%2;if(t=i.offset&&i.char(p)===92;p--)o++;if(o%2!==0)return-1;let a=i.slice(n-1,n),l=i.slice(r,r+1),c=Zg(a),h=Zg(l),f=Eg(a),u=Eg(l),O=!h&&(!u||c||f),m=!c&&(!f||h||u);return i.addDelimiter(YP,t,t+2,O,m)},after:"Emphasis"}]},Wr=class extends Ce{constructor(e,t){super(),this.text=e,this.className=t}eq(e){return e.text===this.text&&e.className===this.className}toDOM(){let e=document.createElement("span");return e.textContent=this.text,e.className=this.className,e}ignoreEvent(){return!1}},_h=class extends Ce{constructor(e,t,n,r,s){super(),this.source=e,this.alt=t,this.raw=n,this.from=r,this.to=s}eq(e){return e.source===this.source&&e.alt===this.alt&&e.raw===this.raw&&e.from===this.from&&e.to===this.to}toDOM(e){let t=document.createElement("span");t.className="cm-md-image-preview",t.setAttribute("role","figure");let n=document.createElement("img");n.src=this.source,n.alt=this.alt,n.draggable=!1,n.addEventListener("error",()=>t.classList.add("cm-md-image-error"),{once:!0});let r=document.createElement("code");r.className="cm-md-image-source",r.textContent=this.raw,r.title="Click to edit image source";let s=o=>{o.preventDefault(),o.stopPropagation(),e.focus(),e.dispatch({selection:{anchor:Math.min(this.from+2,this.to)},userEvent:"select.pointer"})};return r.addEventListener("mousedown",s),r.addEventListener("click",s),n.addEventListener("mousedown",o=>{o.preventDefault(),o.stopPropagation()}),n.addEventListener("click",o=>{o.preventDefault(),o.stopPropagation();let a=n.currentSrc||n.src;a.startsWith("md-asset:")?window.__mdRequestImageRename?.(a):s(o)}),t.append(n,r),t}ignoreEvent(){return!0}},Rh=class extends Ce{eq(){return!0}toDOM(){let e=document.createElement("span");return e.className="cm-md-hr",e}ignoreEvent(){return!1}},BP=0,Ah=class extends Ce{constructor(e){super(),this.source=e}eq(e){return e.source===this.source}toDOM(e){let t=document.createElement("figure");t.className="cm-md-mermaid-preview",t.setAttribute("role","img"),t.setAttribute("aria-label","Mermaid diagram. Click to edit source.");let n=document.createElement("div");n.className="cm-md-mermaid-stage",n.textContent="Rendering diagram\u2026",t.appendChild(n),t.addEventListener("mousedown",o=>{o.preventDefault(),e.focus();let a=e.posAtDOM(t);e.dispatch({selection:{anchor:a+1},userEvent:"select.pointer"})});let r=window.mermaid;if(!r||typeof r.render!="function")return n.textContent="Mermaid preview unavailable. Click to edit source.",t;let s=`md-editor-mermaid-${++BP}`;return Promise.resolve(r.render(s,this.source)).then(({svg:o})=>{n.innerHTML=o;let a=n.querySelector("svg"),l=a?.viewBox?.baseVal;a&&l?.width>0&&l?.height>0&&(t.style.setProperty("--mm-aspect",`${l.width} / ${l.height}`),a.removeAttribute("width"),a.removeAttribute("height"),a.setAttribute("preserveAspectRatio","xMidYMid meet"),a.style.width="100%",a.style.height="100%"),e.requestMeasure()}).catch(()=>{n.textContent="Unable to render Mermaid diagram. Click to edit source.",t.classList.add("cm-md-mermaid-error"),e.requestMeasure()}),t}ignoreEvent(){return!0}},e0=new WeakMap,Zh=ie.define({map:(i,e)=>e.mapPos(i,1,ge.TrackAfter)??void 0}),qn=fe.define({create:()=>new Set,update(i,e){if(!e.docChanged&&!e.effects.some(n=>n.is(Zh)))return i;let t=new Set([...i].map(n=>e.changes.mapPos(n,1,ge.TrackAfter)).filter(n=>n!=null));for(let n of e.effects)n.is(Zh)&&(t.has(n.value)?t.delete(n.value):t.add(n.value));return t}}),wh=i=>'",Xo=class extends Ce{constructor(e){super(),Object.assign(this,e)}eq(e){return e.fenceFrom===this.fenceFrom&&e.infoFrom===this.infoFrom&&e.infoTo===this.infoTo&&e.rawInfo===this.rawInfo&&e.detectedLanguage===this.detectedLanguage&&e.wrapped===this.wrapped&&e.plain===this.plain}toDOM(e){let t=document.createElement("span");t.className="cm-md-code-language",t.contentEditable="false";let n=document.createElement("input");n.type="text",n.className="cm-md-code-language-input",n.autocomplete="off",n.spellcheck=!1,n.value=this.language,n.readOnly=!!this.plain,n.placeholder="language",n.setAttribute("aria-label","Code block language"),n.dataset.fenceFrom=String(this.fenceFrom);let r=this.rawInfo.match(/^\S+([\s\S]*)$/)?.[1]||"",s=n.value,o=!0,a=!1,l=()=>{if(this.plain)return;let f=n.value.trim().split(/\s+/,1)[0].toLowerCase(),u=f?f+r:"";u!==this.rawInfo&&n.value!==s&&(a=!0,e.dispatch({changes:{from:this.infoFrom,to:this.infoTo,insert:u},userEvent:"input"}))};n.addEventListener("change",l),n.addEventListener("keydown",f=>{f.stopPropagation(),f.key==="Enter"?(f.preventDefault(),l(),n.blur(),e.focus()):f.key==="Escape"&&(f.preventDefault(),o=!1,n.value=this.language,n.blur(),e.focus())}),n.addEventListener("mousedown",f=>f.stopPropagation()),n.addEventListener("click",f=>f.stopPropagation()),n.addEventListener("blur",()=>{o&&!a&&l(),a=!1,o=!0}),t.appendChild(n);let c=(f,u,O,m)=>{let p=document.createElement("button");return p.type="button",p.className=`cm-md-code-action ${O}`,p.title=f,p.setAttribute("aria-label",f),p.innerHTML=wh(u),p.addEventListener("mousedown",b=>{b.preventDefault(),b.stopPropagation()}),p.addEventListener("click",b=>{b.preventDefault(),b.stopPropagation(),m(p)}),t.appendChild(p),p};return c(this.wrapped?"Unwrap code":"Wrap code",this.wrapped?"unwrap":"wrap","cm-md-code-toggle-wrap",()=>e.dispatch({effects:Zh.of(e.state.doc.lineAt(this.fenceFrom).from)})).setAttribute("aria-pressed",String(this.wrapped)),c("Copy code","copy","cm-md-code-copy",async f=>{let u=e.state.doc.lineAt(this.fenceFrom),O=U(e.state).resolve(this.plain?u.to:this.fenceFrom+1,-1);for(;O&&O.name!==(this.plain?"CodeBlock":"FencedCode");)O=O.parent;if(!O)return;let m=this.plain?O.getChildren("CodeText").map(p=>e.state.sliceDoc(p.from,p.to)).join(""):Ao(e.state,O).source;try{let p=e0.get(e);p?p(m):await navigator.clipboard.writeText(m),f.innerHTML=wh("check"),f.title="Code copied",f.setAttribute("aria-label",f.title),clearTimeout(f.copyTimer),f.copyTimer=setTimeout(()=>{f.innerHTML=wh("copy"),f.title="Copy code",f.setAttribute("aria-label",f.title)},1100)}catch{}}),t}ignoreEvent(){return!0}};function vo(i,e=!1){let t=[],n="",r=0,s=()=>t.push({text:n.trim(),from:r+n.length-n.trimStart().length,to:r+n.trimEnd().length}),o=0,a=0;for(let c=0;cc.text)}function UP(i){let e=i.trim(),t=e.startsWith(":"),n=e.endsWith(":"),r=e.replace(/^:/,"").replace(/:$/,"");return/^-{3,}$/.test(r)?t&&n?"center":t?"left":n?"right":"none":null}function jh(i){let e=i.endsWith(` +`,{label:"if",detail:"block",type:"keyword"}),he("if ${}:\n ${}\nelse:\n ${}",{label:"if",detail:"/ else block",type:"keyword"}),he("class ${name}:\n def __init__(self, ${params}):\n ${}",{label:"class",detail:"definition",type:"keyword"}),he("import ${module}",{label:"import",detail:"statement",type:"keyword"}),he("from ${module} import ${names}",{label:"from",detail:"import",type:"keyword"})],_w=Us(Ym,Bs(Cw.concat(Xw)));function oh(i){let{node:e,pos:t}=i,n=i.lineIndent(t,-1),r=null;for(;;){let s=e.childBefore(t);if(s)if(s.name=="Comment")t=s.from;else if(s.name=="Body"||s.name=="MatchBody")i.baseIndentFor(s)+i.unit<=n&&(r=s),e=s;else if(s.name=="MatchClause")e=s;else if(s.type.is("Statement"))e=s;else break;else break}return r}function ah(i,e){let t=i.baseIndentFor(e),n=i.lineAt(i.pos,-1),r=n.from+n.text.length;return/^\s*($|#)/.test(n.text)&&i.node.tot?null:t+i.unit}var lh=Xe.define({name:"python",parser:Mm.configure({props:[Pe.add({Body:i=>{var e;let t=/^\s*(#|$)/.test(i.textAfter)&&oh(i)||i.node;return(e=ah(i,t))!==null&&e!==void 0?e:i.continue()},MatchBody:i=>{var e;let t=oh(i);return(e=ah(i,t||i.node))!==null&&e!==void 0?e:i.continue()},IfStatement:i=>/^\s*(else:|elif )/.test(i.textAfter)?i.baseIndent:i.continue(),"ForStatement WhileStatement":i=>/^\s*else:/.test(i.textAfter)?i.baseIndent:i.continue(),TryStatement:i=>/^\s*(except[ :]|finally:|else:)/.test(i.textAfter)?i.baseIndent:i.continue(),MatchStatement:i=>/^\s*case /.test(i.textAfter)?i.baseIndent+i.unit:i.continue(),"TupleExpression ComprehensionExpression ParamList ArgList ParenthesizedExpression":wt({closing:")"}),"DictionaryExpression DictionaryComprehensionExpression SetExpression SetComprehensionExpression":wt({closing:"}"}),"ArrayExpression ArrayComprehensionExpression":wt({closing:"]"}),MemberExpression:i=>i.baseIndent+i.unit,"String FormatString":()=>null,Script:i=>{var e;let t=oh(i);return(e=t&&ah(i,t))!==null&&e!==void 0?e:i.continue()}}),_e.add({"ArrayExpression DictionaryExpression SetExpression TupleExpression":dt,Body:(i,e)=>({from:i.from+1,to:i.to-(i.to==e.doc.length?0:1)}),"String FormatString":(i,e)=>({from:e.doc.lineAt(i.from).to,to:i.to})})]}),languageData:{closeBrackets:{brackets:["(","[","{","'",'"',"'''",'"""'],stringPrefixes:["f","fr","rf","r","u","b","br","rb","F","FR","RF","R","U","B","BR","RB"]},commentTokens:{line:"#"},indentOnInput:/^\s*([\}\]\)]|else:|elif |except |finally:|case\s+[^:]*:?)$/}});function Im(){return new me(lh,[lh.data.of({autocomplete:Tw}),lh.data.of({autocomplete:_w})])}var Rw=Qe({String:d.string,Number:d.number,"True False":d.bool,PropertyName:d.propertyName,Null:d.null,", :":d.separator,"[ ]":d.squareBracket,"{ }":d.brace}),Bm=ve.deserialize({version:14,states:"$bOVQPOOOOQO'#Cb'#CbOnQPO'#CeOvQPO'#ClOOQO'#Cr'#CrQOQPOOOOQO'#Cg'#CgO}QPO'#CfO!SQPO'#CtOOQO,59P,59PO![QPO,59PO!aQPO'#CuOOQO,59W,59WO!iQPO,59WOVQPO,59QOqQPO'#CmO!nQPO,59`OOQO1G.k1G.kOVQPO'#CnO!vQPO,59aOOQO1G.r1G.rOOQO1G.l1G.lOOQO,59X,59XOOQO-E6k-E6kOOQO,59Y,59YOOQO-E6l-E6l",stateData:"#O~OeOS~OQSORSOSSOTSOWQO_ROgPO~OVXOgUO~O^[O~PVO[^O~O]_OVhX~OVaO~O]bO^iX~O^dO~O]_OVha~O]bO^ia~O",goto:"!kjPPPPPPkPPkqwPPPPk{!RPPP!XP!e!hXSOR^bQWQRf_TVQ_Q`WRg`QcZRicQTOQZRQe^RhbRYQR]R",nodeNames:"\u26A0 JsonText True False Null Number String } { Object Property PropertyName : , ] [ Array",maxTerm:25,nodeProps:[["isolate",-2,6,11,""],["openedBy",7,"{",14,"["],["closedBy",8,"}",15,"]"]],propSources:[Rw],skippedNodes:[0],repeatNodeCount:2,tokenData:"(|~RaXY!WYZ!W]^!Wpq!Wrs!]|}$u}!O$z!Q!R%T!R![&c![!]&t!}#O&y#P#Q'O#Y#Z'T#b#c'r#h#i(Z#o#p(r#q#r(w~!]Oe~~!`Wpq!]qr!]rs!xs#O!]#O#P!}#P;'S!];'S;=`$o<%lO!]~!}Og~~#QXrs!]!P!Q!]#O#P!]#U#V!]#Y#Z!]#b#c!]#f#g!]#h#i!]#i#j#m~#pR!Q![#y!c!i#y#T#Z#y~#|R!Q![$V!c!i$V#T#Z$V~$YR!Q![$c!c!i$c#T#Z$c~$fR!Q![!]!c!i!]#T#Z!]~$rP;=`<%l!]~$zO]~~$}Q!Q!R%T!R![&c~%YRT~!O!P%c!g!h%w#X#Y%w~%fP!Q![%i~%nRT~!Q![%i!g!h%w#X#Y%w~%zR{|&T}!O&T!Q![&Z~&WP!Q![&Z~&`PT~!Q![&Z~&hST~!O!P%c!Q![&c!g!h%w#X#Y%w~&yO[~~'OO_~~'TO^~~'WP#T#U'Z~'^P#`#a'a~'dP#g#h'g~'jP#X#Y'm~'rOR~~'uP#i#j'x~'{P#`#a(O~(RP#`#a(U~(ZOS~~(^P#f#g(a~(dP#i#j(g~(jP#X#Y(m~(rOQ~~(wOW~~(|OV~",tokenizers:[0],topRules:{JsonText:[0,1]},tokenPrec:0});var Aw=Xe.define({name:"json",parser:Bm.configure({props:[Pe.add({Object:Gt({except:/^\s*\}/}),Array:Gt({except:/^\s*\]/})}),_e.add({"Object Array":dt})]}),languageData:{closeBrackets:{brackets:["[","{",'"']},indentOnInput:/^\s*[\}\]]$/}});function Um(){return new me(Aw)}function po(i){for(var e={},t=0;t~^?!",Mw=":;,.(){}[]",Ww=/^\-?0b[01][01_]*/,jw=/^\-?0o[0-7][0-7_]*/,Vw=/^\-?0x[\dA-Fa-f][\dA-Fa-f_]*(?:(?:\.[\dA-Fa-f][\dA-Fa-f_]*)?[Pp]\-?\d[\d_]*)?/,Dw=/^\-?\d[\d_]*(?:\.\d[\d_]*)?(?:[Ee]\-?\d[\d_]*)?/,Yw=/^\$\d+|(`?)[_A-Za-z][_A-Za-z$0-9]*\1/,Iw=/^\.(?:\$\d+|(`?)[_A-Za-z][_A-Za-z$0-9]*\1)/,Bw=/^\#[A-Za-z]+/,Uw=/^@(?:\$\d+|(`?)[_A-Za-z][_A-Za-z$0-9]*\1)/;function Gm(i,e,t){if(i.sol()&&(e.indented=i.indentation()),i.eatSpace())return null;var n=i.peek();if(n=="/"){if(i.match("//"))return i.skipToEnd(),"comment";if(i.match("/*"))return e.tokenize.push(ch),ch(i,e)}if(i.match(Bw))return"builtin";if(i.match(Uw))return"attribute";if(i.match(Ww)||i.match(jw)||i.match(Vw)||i.match(Dw))return"number";if(i.match(Iw))return"property";if(Lw.indexOf(n)>-1)return i.next(),"operator";if(Mw.indexOf(n)>-1)return i.next(),i.match(".."),"punctuation";var r;if(r=i.match(/("""|"|')/)){var s=Nw.bind(null,r[0]);return e.tokenize.push(s),s(i,e)}if(i.match(Yw)){var o=i.current();return zw.hasOwnProperty(o)?"type":qw.hasOwnProperty(o)?"atom":Zw.hasOwnProperty(o)?(Ew.hasOwnProperty(o)&&(e.prev="define"),"keyword"):t=="define"?"def":"variable"}return i.next(),null}function Gw(){var i=0;return function(e,t,n){var r=Gm(e,t,n);if(r=="punctuation"){if(e.current()=="(")++i;else if(e.current()==")"){if(i==0)return e.backUp(1),t.tokenize.pop(),t.tokenize[t.tokenize.length-1](e,t);--i}}return r}}function Nw(i,e,t){for(var n=i.length==1,r,s=!1;r=e.peek();)if(s){if(e.next(),r=="(")return t.tokenize.push(Gw()),"string";s=!1}else{if(e.match(i))return t.tokenize.pop(),"string";e.next(),s=r=="\\"}return n&&t.tokenize.pop(),"string"}function ch(i,e){for(var t;t=i.next();)if(t==="/"&&i.eat("*"))e.tokenize.push(ch);else if(t==="*"&&i.eat("/")){e.tokenize.pop();break}return"comment"}function Fw(i,e,t){this.prev=i,this.align=e,this.indented=t}function Hw(i,e){var t=e.match(/^\s*($|\/[\/\*]|[)}\]])/,!1)?null:e.column()+1;i.context=new Fw(i.context,t,i.indented)}function Kw(i){i.context&&(i.indented=i.context.indented,i.context=i.context.prev)}var Nm={name:"swift",startState:function(){return{prev:null,context:null,indented:0,tokenize:[]}},token:function(i,e){var t=e.prev;e.prev=null;var n=e.tokenize[e.tokenize.length-1]||Gm,r=n(i,e,t);if(!r||r=="comment"?e.prev=t:e.prev||(e.prev=r),r=="punctuation"){var s=/[\(\[\{]|([\]\)\}])/.exec(i.current());s&&(s[1]?Kw:Hw)(e,i)}return r},indent:function(i,e,t){var n=i.context;if(!n)return 0;var r=/^[\]\}\)]/.test(e);return n.align!=null?n.align-(r?1:0):n.indented+(r?0:t.unit)},languageData:{indentOnInput:/^\s*[\)\}\]]$/,commentTokens:{line:"//",block:{open:"/*",close:"*/"}},closeBrackets:{brackets:["(","[","{","'",'"',"`"]}}};var hh={};function fh(i,e){for(var t=0;t1&&i.eat("$");var t=i.next();return/['"({]/.test(t)?(e.tokens[0]=mo(t,t=="("?"quote":t=="{"?"def":"string"),Rn(i,e)):(/\d/.test(t)||i.eatWhile(/\w/),e.tokens.shift(),"def")};function tP(i){return function(e,t){return e.sol()&&e.string==i&&t.tokens.shift(),e.skipToEnd(),"string.special"}}function Rn(i,e){return(e.tokens[0]||Jw)(i,e)}var eg={name:"shell",startState:function(){return{tokens:[]}},token:function(i,e){return Rn(i,e)},languageData:{autocomplete:Fm.concat(Hm,Km),closeBrackets:{brackets:["(","[","{","'",'"',"`"]},commentTokens:{line:"#"}}};var iP=["true","false","on","off","yes","no"],nP=new RegExp("\\b(("+iP.join(")|(")+"))$","i"),tg={name:"yaml",token:function(i,e){var t=i.peek(),n=e.escaped;if(e.escaped=!1,t=="#"&&(i.pos==0||/\s/.test(i.string.charAt(i.pos-1))))return i.skipToEnd(),"comment";if(i.match(/^('([^']|\\.)*'?|"([^"]|\\.)*"?)/))return"string";if(e.literal&&i.indentation()>e.keyCol)return i.skipToEnd(),"string";if(e.literal&&(e.literal=!1),i.sol()){if(e.keyCol=0,e.pair=!1,e.pairStart=!1,i.match("---")||i.match("..."))return"def";if(i.match(/^\s*-\s+/))return"meta"}if(i.match(/^(\{|\}|\[|\])/))return t=="{"?e.inlinePairs++:t=="}"?e.inlinePairs--:t=="["?e.inlineList++:e.inlineList--,"meta";if(e.inlineList>0&&!n&&t==",")return i.next(),"meta";if(e.inlinePairs>0&&!n&&t==",")return e.keyCol=0,e.pair=!1,e.pairStart=!1,i.next(),"meta";if(e.pairStart){if(i.match(/^\s*(\||\>)\s*/))return e.literal=!0,"meta";if(i.match(/^\s*(\&|\*)[a-z0-9\._-]+\b/i))return"variable";if(e.inlinePairs==0&&i.match(/^\s*-?[0-9\.\,]+\s?$/)||e.inlinePairs>0&&i.match(/^\s*-?[0-9\.\,]+\s?(?=(,|}))/))return"number";if(i.match(nP))return"keyword"}return!e.pair&&i.match(/^\s*(?:[,\[\]{}&*!|>'"%@`][^\s'":]|[^,\[\]{}#&*!|>'"%@`])[^#]*?(?=\s*:($|\s))/)?(e.pair=!0,e.keyCol=i.indentation(),"atom"):e.pair&&i.match(/^:\s*/)?(e.pairStart=!0,"meta"):(e.pairStart=!1,e.escaped=t=="\\",i.next(),null)},startState:function(){return{pair:!1,pairStart:!1,keyCol:0,inlinePairs:0,inlineList:0,literal:!1,escaped:!1}},languageData:{commentTokens:{line:"#"}}};var rP={break:!0,case:!0,chan:!0,const:!0,continue:!0,default:!0,defer:!0,else:!0,fallthrough:!0,for:!0,func:!0,go:!0,goto:!0,if:!0,import:!0,interface:!0,map:!0,package:!0,range:!0,return:!0,select:!0,struct:!0,switch:!0,type:!0,var:!0,bool:!0,byte:!0,complex64:!0,complex128:!0,float32:!0,float64:!0,int8:!0,int16:!0,int32:!0,int64:!0,string:!0,uint8:!0,uint16:!0,uint32:!0,uint64:!0,int:!0,uint:!0,uintptr:!0,error:!0,rune:!0,any:!0,comparable:!0},sP={true:!0,false:!0,iota:!0,nil:!0,append:!0,cap:!0,close:!0,complex:!0,copy:!0,delete:!0,imag:!0,len:!0,make:!0,new:!0,panic:!0,print:!0,println:!0,real:!0,recover:!0},ig=/[+\-*&^%:=<>!|\/]/,ni;function go(i,e){var t=i.next();if(t=='"'||t=="'"||t=="`")return e.tokenize=oP(t),e.tokenize(i,e);if(/[\d\.]/.test(t))return t=="."?i.match(/^[0-9]+([eE][\-+]?[0-9]+)?/):t=="0"?i.match(/^[xX][0-9a-fA-F]+/)||i.match(/^0[0-7]+/):i.match(/^[0-9]*\.?[0-9]*([eE][\-+]?[0-9]+)?/),"number";if(/[\[\]{}\(\),;\:\.]/.test(t))return ni=t,null;if(t=="/"){if(i.eat("*"))return e.tokenize=ng,ng(i,e);if(i.eat("/"))return i.skipToEnd(),"comment"}if(ig.test(t))return i.eatWhile(ig),"operator";i.eatWhile(/[\w\$_\xa1-\uffff]/);var n=i.current();return rP.propertyIsEnumerable(n)?((n=="case"||n=="default")&&(ni="case"),"keyword"):sP.propertyIsEnumerable(n)?"atom":"variable"}function oP(i){return function(e,t){for(var n=!1,r,s=!1;(r=e.next())!=null;){if(r==i&&!n){s=!0;break}n=!n&&i!="`"&&r=="\\"}return(s||!(n||i=="`"))&&(t.tokenize=go),"string"}}function ng(i,e){for(var t=!1,n;n=i.next();){if(n=="/"&&t){e.tokenize=go;break}t=n=="*"}return"comment"}function sg(i,e,t,n,r){this.indented=i,this.column=e,this.type=t,this.align=n,this.prev=r}function uh(i,e,t){return i.context=new sg(i.indented,e,t,null,i.context)}function rg(i){if(i.context.prev){var e=i.context.type;return(e==")"||e=="]"||e=="}")&&(i.indented=i.context.indented),i.context=i.context.prev}}var og={name:"go",startState:function(i){return{tokenize:null,context:new sg(-i,0,"top",!1),indented:0,startOfLine:!0}},token:function(i,e){var t=e.context;if(i.sol()&&(t.align==null&&(t.align=!1),e.indented=i.indentation(),e.startOfLine=!0,t.type=="case"&&(t.type="}")),i.eatSpace())return null;ni=null;var n=(e.tokenize||go)(i,e);return n=="comment"||(t.align==null&&(t.align=!0),ni=="{"?uh(e,i.column(),"}"):ni=="["?uh(e,i.column(),"]"):ni=="("?uh(e,i.column(),")"):ni=="case"?t.type="case":(ni=="}"&&t.type=="}"||ni==t.type)&&rg(e),e.startOfLine=!1),n},indent:function(i,e,t){if(i.tokenize!=go&&i.tokenize!=null)return null;var n=i.context,r=e&&e.charAt(0);if(n.type=="case"&&/^(?:case|default)\b/.test(e))return n.indented;var s=r==n.type;return n.align?n.column+(s?0:1):n.indented+(s?0:t.unit)},languageData:{indentOnInput:/^\s([{}]|case |default\s*:)$/,commentTokens:{line:"//",block:{open:"/*",close:"*/"}}}};function dh(i){for(var e={},t=0,n=i.length;t]/)?(i.eat(/[\<\>]/),"atom"):i.eat(/[\+\-\*\/\&\|\:\!]/)?"atom":i.eat(/[a-zA-Z$@_\xa1-\uffff]/)?(i.eatWhile(/[\w$\xa1-\uffff]/),i.eat(/[\?\!\=]/),"atom"):"operator";if(t=="@"&&i.match(/^@?[a-zA-Z_\xa1-\uffff]/))return i.eat("@"),i.eatWhile(/[\w\xa1-\uffff]/),"propertyName";if(t=="$")return i.eat(/[a-zA-Z_]/)?i.eatWhile(/[\w]/):i.eat(/\d/)?i.eat(/\d/):i.next(),"variableName.special";if(/[a-zA-Z_\xa1-\uffff]/.test(t))return i.eatWhile(/[\w\xa1-\uffff]/),i.eat(/[\?\!]/),i.eat(":")?"atom":"variable";if(t=="|"&&(e.varList||e.lastTok=="{"||e.lastTok=="do"))return Ct="|",null;if(/[\(\)\[\]{}\\;]/.test(t))return Ct=t,null;if(t=="-"&&i.eat(">"))return"operator";if(/[=+\-\/*:\.^%<>~|]/.test(t)){var a=i.eatWhile(/[=+\-\/*:\.^%<>~|]/);return t=="."&&!a&&(Ct="."),"operator"}else return null}}}function fP(i){for(var e=i.pos,t=0,n,r=!1,s=!1;(n=i.next())!=null;)if(s)s=!1;else{if("[{(".indexOf(n)>-1)t++;else if("]})".indexOf(n)>-1){if(t--,t<0)break}else if(n=="/"&&t==0){r=!0;break}s=n=="\\"}return i.backUp(i.pos-e),r}function Oh(i){return i||(i=1),function(e,t){if(e.peek()=="}"){if(i==1)return t.tokenize.pop(),t.tokenize[t.tokenize.length-1](e,t);t.tokenize[t.tokenize.length-1]=Oh(i-1)}else e.peek()=="{"&&(t.tokenize[t.tokenize.length-1]=Oh(i+1));return Qo(e,t)}}function uP(){var i=!1;return function(e,t){return i?(t.tokenize.pop(),t.tokenize[t.tokenize.length-1](e,t)):(i=!0,Qo(e,t))}}function Ar(i,e,t,n){return function(r,s){var o=!1,a;for(s.context.type==="read-quoted-paused"&&(s.context=s.context.prev,r.eat("}"));(a=r.next())!=null;){if(a==i&&(n||!o)){s.tokenize.pop();break}if(t&&a=="#"&&!o){if(r.eat("{")){i=="}"&&(s.context={prev:s.context,type:"read-quoted-paused"}),s.tokenize.push(Oh());break}else if(/[@\$]/.test(r.peek())){s.tokenize.push(uP());break}}o=!o&&a=="\\"}return e}}function OP(i,e){return function(t,n){return e&&t.eatSpace(),t.match(i)?n.tokenize.pop():t.skipToEnd(),"string"}}function dP(i,e){return i.sol()&&i.match("=end")&&i.eol()&&e.tokenize.pop(),i.skipToEnd(),"comment"}var cg={name:"ruby",startState:function(i){return{tokenize:[Qo],indented:0,context:{type:"top",indented:-i},continuedLine:!1,lastTok:null,varList:!1}},token:function(i,e){Ct=null,i.sol()&&(e.indented=i.indentation());var t=e.tokenize[e.tokenize.length-1](i,e),n,r=Ct;if(t=="variable"){var s=i.current();t=e.lastTok=="."?"property":aP.propertyIsEnumerable(i.current())?"keyword":/^[A-Z]/.test(s)?"tag":e.lastTok=="def"||e.lastTok=="class"||e.varList?"def":"variable",t=="keyword"&&(r=s,lP.propertyIsEnumerable(s)?n="indent":cP.propertyIsEnumerable(s)?n="dedent":((s=="if"||s=="unless")&&i.column()==i.indentation()||s=="do"&&e.context.indented2&&o.token&&typeof o.token!="string"){t.pending=[];for(var c=2;c-1)return null;var r=t.indent.length-1,s=i[t.state];e:for(;;){for(var o=0;o!]+/,token:"operator"},{regex:/[a-zA-Z_]\w*!/,token:"macroName"},{regex:/[a-zA-Z_]\w*/,token:"variable"},{regex:/[\{\[\(]/,indent:!0},{regex:/[\}\]\)]/,dedent:!0}],string:[{regex:/"/,token:"string",next:"start"},{regex:/(?:[^\\"]|\\(?:.|$))*/,token:"string"}],string_raw:[{regex:/"/,token:"string",next:"start"},{regex:/[^"]*/,token:"string"}],string_raw_hash:[{regex:/"#+/,token:"string",next:"start"},{regex:/(?:[^"]|"(?!#))*/,token:"string"}],comment:[{regex:/.*?\*\//,token:"comment",next:"start"},{regex:/.*/,token:"comment"}],languageData:{name:"rust",dontIndentStates:["comment"],indentOnInput:/^\s*\}$/,commentTokens:{line:"//",block:{open:"/*",close:"*/"}}}});function gh(i,e,t,n,r,s){this.indented=i,this.column=e,this.type=t,this.info=n,this.align=r,this.prev=s}function bo(i,e,t,n){var r=i.indented;return i.context&&i.context.type=="statement"&&t!="statement"&&(r=i.context.indented),i.context=new gh(r,e,t,n,null,i.context)}function Zr(i){var e=i.context.type;return(e==")"||e=="]"||e=="}")&&(i.indented=i.context.indented),i.context=i.context.prev}function Og(i,e,t){if(e.prevToken=="variable"||e.prevToken=="type"||/\S(?:[^- ]>|[*\]])\s*$|\*$/.test(i.string.slice(0,t))||e.typeAtEndOfLine&&i.column()==i.indentation())return!0}function ph(i){for(;;){if(!i||i.type=="top")return!0;if(i.type=="}"&&i.prev.info!="namespace")return!1;i=i.prev}}function nt(i){var e=i.statementIndentUnit,t=i.dontAlignCalls,n=i.keywords||{},r=i.types||{},s=i.builtin||{},o=i.blockKeywords||{},a=i.defKeywords||{},l=i.atoms||{},c=i.hooks||{},h=i.multiLineStrings,f=i.indentStatements!==!1,u=i.indentSwitch!==!1,O=i.namespaceSeparator,m=i.isPunctuationChar||/[\[\]{}\(\),;\:\.]/,p=i.numberStart||/[\d\.]/,b=i.number||/^(?:0x[a-f\d]+|0b[01]+|(?:\d+\.?\d*|\.\d+)(?:e[-+]?\d+)?)(u|ll?|l|f)?/i,g=i.isOperatorChar||/[+\-*&%=<>!?|\/]/,Q=i.isIdentifierChar||/[\w\$_\xa1-\uffff]/,S=i.isReservedIdentifier||!1,x,P;function $(T,C){var k=T.next();if(c[k]){var w=c[k](T,C);if(w!==!1)return w}if(k=='"'||k=="'")return C.tokenize=Z(k),C.tokenize(T,C);if(p.test(k)){if(T.backUp(1),T.match(b))return"number";T.next()}if(m.test(k))return x=k,null;if(k=="/"){if(T.eat("*"))return C.tokenize=_,_(T,C);if(T.eat("/"))return T.skipToEnd(),"comment"}if(g.test(k)){for(;!T.match(/^\/[\/*]/,!1)&&T.eat(g););return"operator"}if(T.eatWhile(Q),O)for(;T.match(O);)T.eatWhile(Q);var z=T.current();return ri(n,z)?(ri(o,z)&&(x="newstatement"),ri(a,z)&&(P=!0),"keyword"):ri(r,z)?"type":ri(s,z)||S&&S(z)?(ri(o,z)&&(x="newstatement"),"builtin"):ri(l,z)?"atom":"variable"}function Z(T){return function(C,k){for(var w=!1,z,F=!1;(z=C.next())!=null;){if(z==T&&!w){F=!0;break}w=!w&&z=="\\"}return(F||!(w||h))&&(k.tokenize=null),"string"}}function _(T,C){for(var k=!1,w;w=T.next();){if(w=="/"&&k){C.tokenize=null;break}k=w=="*"}return"comment"}function W(T,C){i.typeFirstDefinitions&&T.eol()&&ph(C.context)&&(C.typeAtEndOfLine=Og(T,C,T.pos))}return{name:i.name,startState:function(T){return{tokenize:null,context:new gh(-T,0,"top",null,!1),indented:0,startOfLine:!0,prevToken:null}},token:function(T,C){var k=C.context;if(T.sol()&&(k.align==null&&(k.align=!1),C.indented=T.indentation(),C.startOfLine=!0),T.eatSpace())return W(T,C),null;x=P=null;var w=(C.tokenize||$)(T,C);if(w=="comment"||w=="meta")return w;if(k.align==null&&(k.align=!0),x==";"||x==":"||x==","&&T.match(/^\s*(?:\/\/.*)?$/,!1))for(;C.context.type=="statement";)Zr(C);else if(x=="{")bo(C,T.column(),"}");else if(x=="[")bo(C,T.column(),"]");else if(x=="(")bo(C,T.column(),")");else if(x=="}"){for(;k.type=="statement";)k=Zr(C);for(k.type=="}"&&(k=Zr(C));k.type=="statement";)k=Zr(C)}else x==k.type?Zr(C):f&&((k.type=="}"||k.type=="top")&&x!=";"||k.type=="statement"&&x=="newstatement")&&bo(C,T.column(),"statement",T.current());if(w=="variable"&&(C.prevToken=="def"||i.typeFirstDefinitions&&Og(T,C,T.start)&&ph(C.context)&&T.match(/^\s*\(/,!1))&&(w="def"),c.token){var z=c.token(T,C,w);z!==void 0&&(w=z)}return w=="def"&&i.styleDefs===!1&&(w="variable"),C.startOfLine=!1,C.prevToken=P?"def":w||x,W(T,C),w},indent:function(T,C,k){if(T.tokenize!=$&&T.tokenize!=null||T.typeAtEndOfLine&&ph(T.context))return null;var w=T.context,z=C&&C.charAt(0),F=z==w.type;if(w.type=="statement"&&z=="}"&&(w=w.prev),i.dontIndentStatements)for(;w.type=="statement"&&i.dontIndentStatements.test(w.info);)w=w.prev;if(c.indent){var y=c.indent(T,w,C,k.unit);if(typeof y=="number")return y}var j=w.prev&&w.prev.info=="switch";if(i.allmanIndentation&&/[{(]/.test(z)){for(;w.type!="top"&&w.type!="}";)w=w.prev;return w.indented}return w.type=="statement"?w.indented+(z=="{"?0:e||k.unit):w.align&&(!t||w.type!=")")?w.column+(F?0:1):w.type==")"&&!F?w.indented+(e||k.unit):w.indented+(F?0:k.unit)+(!F&&j&&!/^(?:case|default)\b/.test(C)?k.unit:0)},languageData:{indentOnInput:u?/^\s*(?:case .*?:|default:|\{\}?|\})$/:/^\s*[{}]$/,commentTokens:{line:"//",block:{open:"/*",close:"*/"}},autocomplete:Object.keys(n).concat(Object.keys(r)).concat(Object.keys(s)).concat(Object.keys(l)),...i.languageData}}}function V(i){for(var e={},t=i.split(" "),n=0;n!?|\/#:@]/,hooks:{"@":function(i){return i.eatWhile(/[\w\$_]/),"meta"},'"':function(i,e){return i.match('""')?(e.tokenize=Pg,e.tokenize(i,e)):!1},"'":function(i){return i.match(/^(\\[^'\s]+|[^\\'])'/)?"character":(i.eatWhile(/[\w\$_\xa1-\uffff]/),"atom")},"=":function(i,e){var t=e.context;return t.type=="}"&&t.align&&i.eat(">")?(e.context=new gh(t.indented,t.column,t.type,t.info,null,t.prev),"operator"):!1},"/":function(i,e){return i.eat("*")?(e.tokenize=Er(1),e.tokenize(i,e)):!1}},languageData:{closeBrackets:{brackets:["(","[","{","'",'"','"""']}}});function kP(i){return function(e,t){for(var n=!1,r,s=!1;!e.eol();){if(!i&&!n&&e.match('"')){s=!0;break}if(i&&e.match('"""')){s=!0;break}r=e.next(),!n&&r=="$"&&e.match("{")&&e.skipTo("}"),n=!n&&r=="\\"&&!i}return(s||!i)&&(t.tokenize=null),"string"}}var vg=nt({name:"kotlin",keywords:V("package as typealias class interface this super val operator var fun for is in This throw return annotation break continue object if else while do try when !in !is as? file import where by get set abstract enum open inner override private public internal protected catch finally out final vararg reified dynamic companion constructor init sealed field property receiver param sparam lateinit data inline noinline tailrec external annotation crossinline const operator infix suspend actual expect setparam"),types:V("Boolean Byte Character CharSequence Class ClassLoader Cloneable Comparable Compiler Double Exception Float Integer Long Math Number Object Package Pair Process Runtime Runnable SecurityManager Short StackTraceElement StrictMath String StringBuffer System Thread ThreadGroup ThreadLocal Throwable Triple Void Annotation Any BooleanArray ByteArray Char CharArray DeprecationLevel DoubleArray Enum FloatArray Function Int IntArray Lazy LazyThreadSafetyMode LongArray Nothing ShortArray Unit"),intendSwitch:!1,indentStatements:!1,multiLineStrings:!0,number:/^(?:0x[a-f\d_]+|0b[01_]+|(?:[\d_]+(\.\d+)?|\.\d+)(?:e[-+]?[\d_]+)?)(ul?|l|f)?/i,blockKeywords:V("catch class do else finally for if where try while enum"),defKeywords:V("class val var object interface fun"),atoms:V("true false null this"),hooks:{"@":function(i){return i.eatWhile(/[\w\$_]/),"meta"},"*":function(i,e){return e.prevToken=="."?"variable":"operator"},'"':function(i,e){return e.tokenize=kP(i.match('""')),e.tokenize(i,e)},"/":function(i,e){return i.eat("*")?(e.tokenize=Er(1),e.tokenize(i,e)):!1},indent:function(i,e,t,n){var r=t&&t.charAt(0);if((i.prevToken=="}"||i.prevToken==")")&&t=="")return i.indented;if(i.prevToken=="operator"&&t!="}"&&i.context.type!="}"||i.prevToken=="variable"&&r=="."||(i.prevToken=="}"||i.prevToken==")")&&r==".")return n*2+e.indented;if(e.align&&e.type=="}")return e.indented+(i.context.type==(t||"").charAt(0)?0:n)}},languageData:{closeBrackets:{brackets:["(","[","{","'",'"','"""']}}}),hC=nt({name:"shader",keywords:V("sampler1D sampler2D sampler3D samplerCube sampler1DShadow sampler2DShadow const attribute uniform varying break continue discard return for while do if else struct in out inout"),types:V("float int bool void vec2 vec3 vec4 ivec2 ivec3 ivec4 bvec2 bvec3 bvec4 mat2 mat3 mat4"),blockKeywords:V("for while do if else struct"),builtin:V("radians degrees sin cos tan asin acos atan pow exp log exp2 sqrt inversesqrt abs sign floor ceil fract mod min max clamp mix step smoothstep length distance dot cross normalize ftransform faceforward reflect refract matrixCompMult lessThan lessThanEqual greaterThan greaterThanEqual equal notEqual any all not texture1D texture1DProj texture1DLod texture1DProjLod texture2D texture2DProj texture2DLod texture2DProjLod texture3D texture3DProj texture3DLod texture3DProjLod textureCube textureCubeLod shadow1D shadow2D shadow1DProj shadow2DProj shadow1DLod shadow2DLod shadow1DProjLod shadow2DProjLod dFdx dFdy fwidth noise1 noise2 noise3 noise4"),atoms:V("true false gl_FragColor gl_SecondaryColor gl_Normal gl_Vertex gl_MultiTexCoord0 gl_MultiTexCoord1 gl_MultiTexCoord2 gl_MultiTexCoord3 gl_MultiTexCoord4 gl_MultiTexCoord5 gl_MultiTexCoord6 gl_MultiTexCoord7 gl_FogCoord gl_PointCoord gl_Position gl_PointSize gl_ClipVertex gl_FrontColor gl_BackColor gl_FrontSecondaryColor gl_BackSecondaryColor gl_TexCoord gl_FogFragCoord gl_FragCoord gl_FrontFacing gl_FragData gl_FragDepth gl_ModelViewMatrix gl_ProjectionMatrix gl_ModelViewProjectionMatrix gl_TextureMatrix gl_NormalMatrix gl_ModelViewMatrixInverse gl_ProjectionMatrixInverse gl_ModelViewProjectionMatrixInverse gl_TextureMatrixTranspose gl_ModelViewMatrixInverseTranspose gl_ProjectionMatrixInverseTranspose gl_ModelViewProjectionMatrixInverseTranspose gl_TextureMatrixInverseTranspose gl_NormalScale gl_DepthRange gl_ClipPlane gl_Point gl_FrontMaterial gl_BackMaterial gl_LightSource gl_LightModel gl_FrontLightModelProduct gl_BackLightModelProduct gl_TextureColor gl_EyePlaneS gl_EyePlaneT gl_EyePlaneR gl_EyePlaneQ gl_FogParameters gl_MaxLights gl_MaxClipPlanes gl_MaxTextureUnits gl_MaxTextureCoords gl_MaxVertexAttribs gl_MaxVertexUniformComponents gl_MaxVaryingFloats gl_MaxVertexTextureImageUnits gl_MaxTextureImageUnits gl_MaxFragmentUniformComponents gl_MaxCombineTextureImageUnits gl_MaxDrawBuffers"),indentSwitch:!1,hooks:{"#":Pi}}),fC=nt({name:"nesc",keywords:V(qr+" as atomic async call command component components configuration event generic implementation includes interface module new norace nx_struct nx_union post provides signal task uses abstract extends"),types:zr,blockKeywords:V(Lr),atoms:V("null true false"),hooks:{"#":Pi}}),$g=nt({name:"objectivec",keywords:V(qr+" "+gg),types:bg,builtin:V(Qg),blockKeywords:V(Lr+" @synthesize @try @catch @finally @autoreleasepool @synchronized"),defKeywords:V(yo+" @interface @implementation @protocol @class"),dontIndentStatements:/^@.*$/,typeFirstDefinitions:!0,atoms:V("YES NO NULL Nil nil true false nullptr"),isReservedIdentifier:xo,hooks:{"#":Pi,"*":ko}}),uC=nt({name:"objectivecpp",keywords:V(qr+" "+gg+" "+mg),types:bg,builtin:V(Qg),blockKeywords:V(Lr+" @synthesize @try @catch @finally @autoreleasepool @synchronized class try catch"),defKeywords:V(yo+" @interface @implementation @protocol @class class namespace"),dontIndentStatements:/^@.*$|^template$/,typeFirstDefinitions:!0,atoms:V("YES NO NULL Nil nil true false nullptr"),isReservedIdentifier:xo,hooks:{"#":Pi,"*":ko,u:wi,U:wi,L:wi,R:wi,0:Se,1:Se,2:Se,3:Se,4:Se,5:Se,6:Se,7:Se,8:Se,9:Se,token:function(i,e,t){if(t=="variable"&&i.peek()=="("&&(e.prevToken==";"||e.prevToken==null||e.prevToken=="}")&&Sg(i.current()))return"def"}},namespaceSeparator:"::"}),OC=nt({name:"squirrel",keywords:V("base break clone continue const default delete enum extends function in class foreach local resume return this throw typeof yield constructor instanceof static"),types:zr,blockKeywords:V("case catch class else for foreach if switch try while"),defKeywords:V("function local class"),typeFirstDefinitions:!0,atoms:V("true false null"),hooks:{"#":Pi}}),So=null;function Tg(i){return function(e,t){for(var n=!1,r,s=!1;!e.eol();){if(!n&&e.match('"')&&(i=="single"||e.match('""'))){s=!0;break}if(!n&&e.match("``")){So=Tg(i),s=!0;break}r=e.next(),n=i=="single"&&!n&&r=="\\"}return s&&(t.tokenize=null),"string"}}var dC=nt({name:"ceylon",keywords:V("abstracts alias assembly assert assign break case catch class continue dynamic else exists extends finally for function given if import in interface is let module new nonempty object of out outer package return satisfies super switch then this throw try value void while"),types:function(i){var e=i.charAt(0);return e===e.toUpperCase()&&e!==e.toLowerCase()},blockKeywords:V("case catch class dynamic else finally for function if interface module new object switch try while"),defKeywords:V("class dynamic function interface module object package value"),builtin:V("abstract actual aliased annotation by default deprecated doc final formal late license native optional sealed see serializable shared suppressWarnings tagged throws variable"),isPunctuationChar:/[\[\]{}\(\),;\:\.`]/,isOperatorChar:/[+\-*&%=<>!?|^~:\/]/,numberStart:/[\d#$]/,number:/^(?:#[\da-fA-F_]+|\$[01_]+|[\d_]+[kMGTPmunpf]?|[\d_]+\.[\d_]+(?:[eE][-+]?\d+|[kMGTPmunpf]|)|)/i,multiLineStrings:!0,typeFirstDefinitions:!0,atoms:V("true false null larger smaller equal empty finished"),indentSwitch:!1,styleDefs:!1,hooks:{"@":function(i){return i.eatWhile(/[\w\$_]/),"meta"},'"':function(i,e){return e.tokenize=Tg(i.match('""')?"triple":"single"),e.tokenize(i,e)},"`":function(i,e){return!So||!i.match("`")?!1:(e.tokenize=So,So=null,e.tokenize(i,e))},"'":function(i){return i.match(/^(\\[^'\s]+|[^\\'])'/)?"string.special":(i.eatWhile(/[\w\$_\xa1-\uffff]/),"atom")},token:function(i,e,t){if((t=="variable"||t=="type")&&e.prevToken==".")return"variableName.special"}},languageData:{closeBrackets:{brackets:["(","[","{","'",'"','"""']}}});function xP(i){(i.interpolationStack||(i.interpolationStack=[])).push(i.tokenize)}function Cg(i){return(i.interpolationStack||(i.interpolationStack=[])).pop()}function wP(i){return i.interpolationStack?i.interpolationStack.length:0}function mh(i,e,t,n){var r=!1;if(e.eat(i))if(e.eat(i))r=!0;else return"string";function s(o,a){for(var l=!1;!o.eol();){if(!n&&!l&&o.peek()=="$")return xP(a),a.tokenize=PP,"string";var c=o.next();if(c==i&&!l&&(!r||o.match(i+i))){a.tokenize=null;break}l=!n&&!l&&c=="\\"}return"string"}return t.tokenize=s,s(e,t)}function PP(i,e){return i.eat("$"),i.eat("{")?e.tokenize=null:e.tokenize=vP,null}function vP(i,e){return i.eatWhile(/[\w_]/),e.tokenize=Cg(e),"variable"}var pC=nt({name:"dart",keywords:V("this super static final const abstract class extends external factory implements mixin get native set typedef with enum throw rethrow assert break case continue default in return new deferred async await covariant try catch finally do else for if switch while import library export part of show hide is as extension on yield late required sealed base interface when inline"),blockKeywords:V("try catch finally do else for if switch while"),builtin:V("void bool num int double dynamic var String Null Never"),atoms:V("true false null"),number:/^(?:0x[a-f\d_]+|(?:[\d_]+\.?[\d_]*|\.[\d_]+)(?:e[-+]?[\d_]+)?)/i,hooks:{"@":function(i){return i.eatWhile(/[\w\$_\.]/),"meta"},"'":function(i,e){return mh("'",i,e,!1)},'"':function(i,e){return mh('"',i,e,!1)},r:function(i,e){var t=i.peek();return t=="'"||t=='"'?mh(i.next(),i,e,!0):!1},"}":function(i,e){return wP(e)>0?(e.tokenize=Cg(e),null):!1},"/":function(i,e){return i.eat("*")?(e.tokenize=Er(1),e.tokenize(i,e)):!1},token:function(i,e,t){if(t=="variable"){var n=RegExp("^[_$]*[A-Z][a-zA-Z0-9_$]*$","g");if(n.test(i.current()))return"type"}}}});function Ve(i){var e=i.client||{},t=i.atoms||{false:!0,true:!0,null:!0},n=i.builtin||M(_g),r=i.keywords||M(Ki),s=i.operatorChars||/^[*+\-%<>!=&|~^\/]/,o=i.support||{},a=i.hooks||{},l=i.dateSQL||{date:!0,time:!0,timestamp:!0},c=i.backslashStringEscapes!==!1,h=i.brackets||/^[\{}\(\)\[\]]/,f=i.punctuation||/^[;.,:]/;function u(g,Q){var S=g.next();if(a[S]){var x=a[S](g,Q);if(x!==!1)return x}if(o.hexNumber&&(S=="0"&&g.match(/^[xX][0-9a-fA-F]+/)||(S=="x"||S=="X")&&g.match(/^'[0-9a-fA-F]*'/)))return"number";if(o.binaryNumber&&((S=="b"||S=="B")&&g.match(/^'[01]+'/)||S=="0"&&g.match(/^b[01]*/)))return"number";if(S.charCodeAt(0)>47&&S.charCodeAt(0)<58)return g.match(/^[0-9]*(\.[0-9]+)?([eE][-+]?[0-9]+)?/),o.decimallessFloat&&g.match(/^\.(?!\.)/),"number";if(S=="?"&&(g.eatSpace()||g.eol()||g.eat(";")))return"macroName";if(S=="'"||S=='"'&&o.doubleQuote)return Q.tokenize=O(S),Q.tokenize(g,Q);if((o.nCharCast&&(S=="n"||S=="N")||o.charsetCast&&S=="_"&&g.match(/[a-z][a-z0-9]*/i))&&(g.peek()=="'"||g.peek()=='"'))return"keyword";if(o.escapeConstant&&(S=="e"||S=="E")&&(g.peek()=="'"||g.peek()=='"'&&o.doubleQuote))return Q.tokenize=function($,Z){return(Z.tokenize=O($.next(),!0))($,Z)},"keyword";if(o.commentSlashSlash&&S=="/"&&g.eat("/"))return g.skipToEnd(),"comment";if(o.commentHash&&S=="#"||S=="-"&&g.eat("-")&&(!o.commentSpaceRequired||g.eat(" ")))return g.skipToEnd(),"comment";if(S=="/"&&g.eat("*"))return Q.tokenize=m(1),Q.tokenize(g,Q);if(S=="."){if(o.zerolessFloat&&g.match(/^(?:\d+(?:e[+-]?\d+)?)/i))return"number";if(g.match(/^\.+/))return null;if(o.ODBCdotTable&&g.match(/^[\w\d_$#]+/))return"type"}else{if(s.test(S))return g.eatWhile(s),"operator";if(h.test(S))return"bracket";if(f.test(S))return g.eatWhile(f),"punctuation";if(S=="{"&&(g.match(/^( )*(d|D|t|T|ts|TS)( )*'[^']*'( )*}/)||g.match(/^( )*(d|D|t|T|ts|TS)( )*"[^"]*"( )*}/)))return"number";g.eatWhile(/^[_\w\d]/);var P=g.current().toLowerCase();return l.hasOwnProperty(P)&&(g.match(/^( )+'[^']*'/)||g.match(/^( )+"[^"]*"/))?"number":t.hasOwnProperty(P)?"atom":n.hasOwnProperty(P)?"type":r.hasOwnProperty(P)?"keyword":e.hasOwnProperty(P)?"builtin":null}}function O(g,Q){return function(S,x){for(var P=!1,$;($=S.next())!=null;){if($==g&&!P){x.tokenize=u;break}P=(c||Q)&&!P&&$=="\\"}return"string"}}function m(g){return function(Q,S){var x=Q.match(/^.*?(\/\*|\*\/)/);return x?x[1]=="/*"?S.tokenize=m(g+1):g>1?S.tokenize=m(g-1):S.tokenize=u:Q.skipToEnd(),"comment"}}function p(g,Q,S){Q.context={prev:Q.context,indent:g.indentation(),col:g.column(),type:S}}function b(g){g.indent=g.context.indent,g.context=g.context.prev}return{name:"sql",startState:function(){return{tokenize:u,context:null}},token:function(g,Q){if(g.sol()&&Q.context&&Q.context.align==null&&(Q.context.align=!1),Q.tokenize==u&&g.eatSpace())return null;var S=Q.tokenize(g,Q);if(S=="comment")return S;Q.context&&Q.context.align==null&&(Q.context.align=!0);var x=g.current();return x=="("?p(g,Q,")"):x=="["?p(g,Q,"]"):Q.context&&Q.context.type==x&&b(Q),S},indent:function(g,Q,S){var x=g.context;if(!x)return null;var P=Q.charAt(0)==x.type;return x.align?x.col+(P?0:1):x.indent+(P?0:S.unit)},languageData:{commentTokens:{line:o.commentSlashSlash?"//":o.commentHash?"#":"--",block:{open:"/*",close:"*/"}},closeBrackets:{brackets:["(","[","{","'",'"',"`"]}}}}function Qh(i){for(var e;(e=i.next())!=null;)if(e=="`"&&!i.eat("`"))return"string.special";return i.backUp(i.current().length-1),i.eatWhile(/\w/)?"string.special":null}function $P(i){for(var e;(e=i.next())!=null;)if(e=='"'&&!i.eat('"'))return"string.special";return i.backUp(i.current().length-1),i.eatWhile(/\w/)?"string.special":null}function Hi(i){return i.eat("@")&&(i.match("session."),i.match("local."),i.match("global.")),i.eat("'")?(i.match(/^.*'/),"string.special"):i.eat('"')?(i.match(/^.*"/),"string.special"):i.eat("`")?(i.match(/^.*`/),"string.special"):i.match(/^[0-9a-zA-Z$\.\_]+/)?"string.special":null}function Xg(i){return i.eat("N")?"atom":i.match(/^[a-zA-Z.#!?]/)?"string.special":null}var Ki="alter and as asc between by count create delete desc distinct drop from group having in insert into is join like not on or order select set table union update values where limit ";function M(i){for(var e={},t=i.split(" "),n=0;n!=^\&|\/]/,brackets:/^[\{}\(\)]/,punctuation:/^[;.,:/]/,backslashStringEscapes:!1,dateSQL:M("date datetimeoffset datetime2 smalldatetime datetime time"),hooks:{"@":Hi}}),bC=Ve({client:M("charset clear connect edit ego exit go help nopager notee nowarning pager print prompt quit rehash source status system tee"),keywords:M(Ki+"accessible action add after algorithm all analyze asensitive at authors auto_increment autocommit avg avg_row_length before binary binlog both btree cache call cascade cascaded case catalog_name chain change changed character check checkpoint checksum class_origin client_statistics close coalesce code collate collation collations column columns comment commit committed completion concurrent condition connection consistent constraint contains continue contributors convert cross current current_date current_time current_timestamp current_user cursor data database databases day_hour day_microsecond day_minute day_second deallocate dec declare default delay_key_write delayed delimiter des_key_file describe deterministic dev_pop dev_samp deviance diagnostics directory disable discard distinctrow div dual dumpfile each elseif enable enclosed end ends engine engines enum errors escape escaped even event events every execute exists exit explain extended fast fetch field fields first flush for force foreign found_rows full fulltext function general get global grant grants group group_concat handler hash help high_priority hosts hour_microsecond hour_minute hour_second if ignore ignore_server_ids import index index_statistics infile inner innodb inout insensitive insert_method install interval invoker isolation iterate key keys kill language last leading leave left level limit linear lines list load local localtime localtimestamp lock logs low_priority master master_heartbeat_period master_ssl_verify_server_cert masters match max max_rows maxvalue message_text middleint migrate min min_rows minute_microsecond minute_second mod mode modifies modify mutex mysql_errno natural next no no_write_to_binlog offline offset one online open optimize option optionally out outer outfile pack_keys parser partition partitions password phase plugin plugins prepare preserve prev primary privileges procedure processlist profile profiles purge query quick range read read_write reads real rebuild recover references regexp relaylog release remove rename reorganize repair repeatable replace require resignal restrict resume return returns revoke right rlike rollback rollup row row_format rtree savepoint schedule schema schema_name schemas second_microsecond security sensitive separator serializable server session share show signal slave slow smallint snapshot soname spatial specific sql sql_big_result sql_buffer_result sql_cache sql_calc_found_rows sql_no_cache sql_small_result sqlexception sqlstate sqlwarning ssl start starting starts status std stddev stddev_pop stddev_samp storage straight_join subclass_origin sum suspend table_name table_statistics tables tablespace temporary terminated to trailing transaction trigger triggers truncate uncommitted undo uninstall unique unlock upgrade usage use use_frm user user_resources user_statistics using utc_date utc_time utc_timestamp value variables varying view views warnings when while with work write xa xor year_month zerofill begin do then else loop repeat"),builtin:M("bool boolean bit blob decimal double float long longblob longtext medium mediumblob mediumint mediumtext time timestamp tinyblob tinyint tinytext text bigint int int1 int2 int3 int4 int8 integer float float4 float8 double char varbinary varchar varcharacter precision date datetime year unsigned signed numeric"),atoms:M("false true null unknown"),operatorChars:/^[*+\-%<>!=&|^]/,dateSQL:M("date time timestamp"),support:M("ODBCdotTable decimallessFloat zerolessFloat binaryNumber hexNumber doubleQuote nCharCast charsetCast commentHash commentSpaceRequired"),hooks:{"@":Hi,"`":Qh,"\\":Xg}}),SC=Ve({client:M("charset clear connect edit ego exit go help nopager notee nowarning pager print prompt quit rehash source status system tee"),keywords:M(Ki+"accessible action add after algorithm all always analyze asensitive at authors auto_increment autocommit avg avg_row_length before binary binlog both btree cache call cascade cascaded case catalog_name chain change changed character check checkpoint checksum class_origin client_statistics close coalesce code collate collation collations column columns comment commit committed completion concurrent condition connection consistent constraint contains continue contributors convert cross current current_date current_time current_timestamp current_user cursor data database databases day_hour day_microsecond day_minute day_second deallocate dec declare default delay_key_write delayed delimiter des_key_file describe deterministic dev_pop dev_samp deviance diagnostics directory disable discard distinctrow div dual dumpfile each elseif enable enclosed end ends engine engines enum errors escape escaped even event events every execute exists exit explain extended fast fetch field fields first flush for force foreign found_rows full fulltext function general generated get global grant grants group group_concat handler hard hash help high_priority hosts hour_microsecond hour_minute hour_second if ignore ignore_server_ids import index index_statistics infile inner innodb inout insensitive insert_method install interval invoker isolation iterate key keys kill language last leading leave left level limit linear lines list load local localtime localtimestamp lock logs low_priority master master_heartbeat_period master_ssl_verify_server_cert masters match max max_rows maxvalue message_text middleint migrate min min_rows minute_microsecond minute_second mod mode modifies modify mutex mysql_errno natural next no no_write_to_binlog offline offset one online open optimize option optionally out outer outfile pack_keys parser partition partitions password persistent phase plugin plugins prepare preserve prev primary privileges procedure processlist profile profiles purge query quick range read read_write reads real rebuild recover references regexp relaylog release remove rename reorganize repair repeatable replace require resignal restrict resume return returns revoke right rlike rollback rollup row row_format rtree savepoint schedule schema schema_name schemas second_microsecond security sensitive separator serializable server session share show shutdown signal slave slow smallint snapshot soft soname spatial specific sql sql_big_result sql_buffer_result sql_cache sql_calc_found_rows sql_no_cache sql_small_result sqlexception sqlstate sqlwarning ssl start starting starts status std stddev stddev_pop stddev_samp storage straight_join subclass_origin sum suspend table_name table_statistics tables tablespace temporary terminated to trailing transaction trigger triggers truncate uncommitted undo uninstall unique unlock upgrade usage use use_frm user user_resources user_statistics using utc_date utc_time utc_timestamp value variables varying view views virtual warnings when while with work write xa xor year_month zerofill begin do then else loop repeat"),builtin:M("bool boolean bit blob decimal double float long longblob longtext medium mediumblob mediumint mediumtext time timestamp tinyblob tinyint tinytext text bigint int int1 int2 int3 int4 int8 integer float float4 float8 double char varbinary varchar varcharacter precision date datetime year unsigned signed numeric"),atoms:M("false true null unknown"),operatorChars:/^[*+\-%<>!=&|^]/,dateSQL:M("date time timestamp"),support:M("ODBCdotTable decimallessFloat zerolessFloat binaryNumber hexNumber doubleQuote nCharCast charsetCast commentHash commentSpaceRequired"),hooks:{"@":Hi,"`":Qh,"\\":Xg}}),yC=Ve({client:M("auth backup bail binary changes check clone databases dbinfo dump echo eqp exit explain fullschema headers help import imposter indexes iotrace limit lint load log mode nullvalue once open output print prompt quit read restore save scanstats schema separator session shell show stats system tables testcase timeout timer trace vfsinfo vfslist vfsname width"),keywords:M(Ki+"abort action add after all analyze attach autoincrement before begin cascade case cast check collate column commit conflict constraint cross current_date current_time current_timestamp database default deferrable deferred detach each else end escape except exclusive exists explain fail for foreign full glob if ignore immediate index indexed initially inner instead intersect isnull key left limit match natural no notnull null of offset outer plan pragma primary query raise recursive references regexp reindex release rename replace restrict right rollback row savepoint temp temporary then to transaction trigger unique using vacuum view virtual when with without"),builtin:M("bool boolean bit blob decimal double float long longblob longtext medium mediumblob mediumint mediumtext time timestamp tinyblob tinyint tinytext text clob bigint int int2 int8 integer float double char varchar date datetime year unsigned signed numeric real"),atoms:M("null current_date current_time current_timestamp"),operatorChars:/^[*+\-%<>!=&|/~]/,dateSQL:M("date time timestamp datetime"),support:M("decimallessFloat zerolessFloat"),identifierQuote:'"',hooks:{"@":Hi,":":Hi,"?":Hi,$:Hi,'"':$P,"`":Qh}}),kC=Ve({client:{},keywords:M("add all allow alter and any apply as asc authorize batch begin by clustering columnfamily compact consistency count create custom delete desc distinct drop each_quorum exists filtering from grant if in index insert into key keyspace keyspaces level limit local_one local_quorum modify nan norecursive nosuperuser not of on one order password permission permissions primary quorum rename revoke schema select set storage superuser table three to token truncate ttl two type unlogged update use user users using values where with writetime"),builtin:M("ascii bigint blob boolean counter decimal double float frozen inet int list map static text timestamp timeuuid tuple uuid varchar varint"),atoms:M("false true infinity NaN"),operatorChars:/^[<>=]/,dateSQL:{},support:M("commentSlashSlash decimallessFloat"),hooks:{}}),xC=Ve({client:M("appinfo arraysize autocommit autoprint autorecovery autotrace blockterminator break btitle cmdsep colsep compatibility compute concat copycommit copytypecheck define describe echo editfile embedded escape exec execute feedback flagger flush heading headsep instance linesize lno loboffset logsource long longchunksize markup native newpage numformat numwidth pagesize pause pno recsep recsepchar release repfooter repheader serveroutput shiftinout show showmode size spool sqlblanklines sqlcase sqlcode sqlcontinue sqlnumber sqlpluscompatibility sqlprefix sqlprompt sqlterminator suffix tab term termout time timing trimout trimspool ttitle underline verify version wrap"),keywords:M("abort accept access add all alter and any array arraylen as asc assert assign at attributes audit authorization avg base_table begin between binary_integer body boolean by case cast char char_base check close cluster clusters colauth column comment commit compress connect connected constant constraint crash create current currval cursor data_base database date dba deallocate debugoff debugon decimal declare default definition delay delete desc digits dispose distinct do drop else elseif elsif enable end entry escape exception exception_init exchange exclusive exists exit external fast fetch file for force form from function generic goto grant group having identified if immediate in increment index indexes indicator initial initrans insert interface intersect into is key level library like limited local lock log logging long loop master maxextents maxtrans member minextents minus mislabel mode modify multiset new next no noaudit nocompress nologging noparallel not nowait number_base object of off offline on online only open option or order out package parallel partition pctfree pctincrease pctused pls_integer positive positiven pragma primary prior private privileges procedure public raise range raw read rebuild record ref references refresh release rename replace resource restrict return returning returns reverse revoke rollback row rowid rowlabel rownum rows run savepoint schema segment select separate session set share snapshot some space split sql start statement storage subtype successful synonym tabauth table tables tablespace task terminate then to trigger truncate type union unique unlimited unrecoverable unusable update use using validate value values variable view views when whenever where while with work"),builtin:M("abs acos add_months ascii asin atan atan2 average bfile bfilename bigserial bit blob ceil character chartorowid chr clob concat convert cos cosh count dec decode deref dual dump dup_val_on_index empty error exp false float floor found glb greatest hextoraw initcap instr instrb int integer isopen last_day least length lengthb ln lower lpad ltrim lub make_ref max min mlslabel mod months_between natural naturaln nchar nclob new_time next_day nextval nls_charset_decl_len nls_charset_id nls_charset_name nls_initcap nls_lower nls_sort nls_upper nlssort no_data_found notfound null number numeric nvarchar2 nvl others power rawtohex real reftohex round rowcount rowidtochar rowtype rpad rtrim serial sign signtype sin sinh smallint soundex sqlcode sqlerrm sqrt stddev string substr substrb sum sysdate tan tanh to_char text to_date to_label to_multi_byte to_number to_single_byte translate true trunc uid unlogged upper user userenv varchar varchar2 variance varying vsize xml"),operatorChars:/^[*\/+\-%<>!=~]/,dateSQL:M("date time timestamp"),support:M("doubleQuote nCharCast zerolessFloat binaryNumber hexNumber")}),wC=Ve({keywords:M("select alter $elem$ $key$ $value$ add after all analyze and archive as asc before between binary both bucket buckets by cascade case cast change cluster clustered clusterstatus collection column columns comment compute concatenate continue create cross cursor data database databases dbproperties deferred delete delimited desc describe directory disable distinct distribute drop else enable end escaped exclusive exists explain export extended external fetch fields fileformat first format formatted from full function functions grant group having hold_ddltime idxproperties if import in index indexes inpath inputdriver inputformat insert intersect into is items join keys lateral left like limit lines load local location lock locks mapjoin materialized minus msck no_drop nocompress not of offline on option or order out outer outputdriver outputformat overwrite partition partitioned partitions percent plus preserve procedure purge range rcfile read readonly reads rebuild recordreader recordwriter recover reduce regexp rename repair replace restrict revoke right rlike row schema schemas semi sequencefile serde serdeproperties set shared show show_database sort sorted ssl statistics stored streamtable table tables tablesample tblproperties temporary terminated textfile then tmp to touch transform trigger unarchive undo union uniquejoin unlock update use using utc utc_tmestamp view when where while with admin authorization char compact compactions conf cube current current_date current_timestamp day decimal defined dependency directories elem_type exchange file following for grouping hour ignore inner interval jar less logical macro minute month more none noscan over owner partialscan preceding pretty principals protection reload rewrite role roles rollup rows second server sets skewed transactions truncate unbounded unset uri user values window year"),builtin:M("bool boolean long timestamp tinyint smallint bigint int float double date datetime unsigned string array struct map uniontype key_type utctimestamp value_type varchar"),atoms:M("false true null unknown"),operatorChars:/^[*+\-%<>!=]/,dateSQL:M("date timestamp"),support:M("ODBCdotTable doubleQuote binaryNumber hexNumber")}),PC=Ve({client:M("source"),keywords:M(Ki+"a abort abs absent absolute access according action ada add admin after aggregate alias all allocate also alter always analyse analyze and any are array array_agg array_max_cardinality as asc asensitive assert assertion assignment asymmetric at atomic attach attribute attributes authorization avg backward base64 before begin begin_frame begin_partition bernoulli between bigint binary bit bit_length blob blocked bom boolean both breadth by c cache call called cardinality cascade cascaded case cast catalog catalog_name ceil ceiling chain char char_length character character_length character_set_catalog character_set_name character_set_schema characteristics characters check checkpoint class class_origin clob close cluster coalesce cobol collate collation collation_catalog collation_name collation_schema collect column column_name columns command_function command_function_code comment comments commit committed concurrently condition condition_number configuration conflict connect connection connection_name constant constraint constraint_catalog constraint_name constraint_schema constraints constructor contains content continue control conversion convert copy corr corresponding cost count covar_pop covar_samp create cross csv cube cume_dist current current_catalog current_date current_default_transform_group current_path current_role current_row current_schema current_time current_timestamp current_transform_group_for_type current_user cursor cursor_name cycle data database datalink datatype date datetime_interval_code datetime_interval_precision day db deallocate debug dec decimal declare default defaults deferrable deferred defined definer degree delete delimiter delimiters dense_rank depends depth deref derived desc describe descriptor detach detail deterministic diagnostics dictionary disable discard disconnect dispatch distinct dlnewcopy dlpreviouscopy dlurlcomplete dlurlcompleteonly dlurlcompletewrite dlurlpath dlurlpathonly dlurlpathwrite dlurlscheme dlurlserver dlvalue do document domain double drop dump dynamic dynamic_function dynamic_function_code each element else elseif elsif empty enable encoding encrypted end end_frame end_partition endexec enforced enum equals errcode error escape event every except exception exclude excluding exclusive exec execute exists exit exp explain expression extension external extract false family fetch file filter final first first_value flag float floor following for force foreach foreign fortran forward found frame_row free freeze from fs full function functions fusion g general generated get global go goto grant granted greatest group grouping groups handler having header hex hierarchy hint hold hour id identity if ignore ilike immediate immediately immutable implementation implicit import in include including increment indent index indexes indicator info inherit inherits initially inline inner inout input insensitive insert instance instantiable instead int integer integrity intersect intersection interval into invoker is isnull isolation join k key key_member key_type label lag language large last last_value lateral lead leading leakproof least left length level library like like_regex limit link listen ln load local localtime localtimestamp location locator lock locked log logged loop lower m map mapping match matched materialized max max_cardinality maxvalue member merge message message_length message_octet_length message_text method min minute minvalue mod mode modifies module month more move multiset mumps name names namespace national natural nchar nclob nesting new next nfc nfd nfkc nfkd nil no none normalize normalized not nothing notice notify notnull nowait nth_value ntile null nullable nullif nulls number numeric object occurrences_regex octet_length octets of off offset oids old on only open operator option options or order ordering ordinality others out outer output over overlaps overlay overriding owned owner p pad parallel parameter parameter_mode parameter_name parameter_ordinal_position parameter_specific_catalog parameter_specific_name parameter_specific_schema parser partial partition pascal passing passthrough password path percent percent_rank percentile_cont percentile_disc perform period permission pg_context pg_datatype_name pg_exception_context pg_exception_detail pg_exception_hint placing plans pli policy portion position position_regex power precedes preceding precision prepare prepared preserve primary print_strict_params prior privileges procedural procedure procedures program public publication query quote raise range rank read reads real reassign recheck recovery recursive ref references referencing refresh regr_avgx regr_avgy regr_count regr_intercept regr_r2 regr_slope regr_sxx regr_sxy regr_syy reindex relative release rename repeatable replace replica requiring reset respect restart restore restrict result result_oid return returned_cardinality returned_length returned_octet_length returned_sqlstate returning returns reverse revoke right role rollback rollup routine routine_catalog routine_name routine_schema routines row row_count row_number rows rowtype rule savepoint scale schema schema_name schemas scope scope_catalog scope_name scope_schema scroll search second section security select selective self sensitive sequence sequences serializable server server_name session session_user set setof sets share show similar simple size skip slice smallint snapshot some source space specific specific_name specifictype sql sqlcode sqlerror sqlexception sqlstate sqlwarning sqrt stable stacked standalone start state statement static statistics stddev_pop stddev_samp stdin stdout storage strict strip structure style subclass_origin submultiset subscription substring substring_regex succeeds sum symmetric sysid system system_time system_user t table table_name tables tablesample tablespace temp template temporary text then ties time timestamp timezone_hour timezone_minute to token top_level_count trailing transaction transaction_active transactions_committed transactions_rolled_back transform transforms translate translate_regex translation treat trigger trigger_catalog trigger_name trigger_schema trim trim_array true truncate trusted type types uescape unbounded uncommitted under unencrypted union unique unknown unlink unlisten unlogged unnamed unnest until untyped update upper uri usage use_column use_variable user user_defined_type_catalog user_defined_type_code user_defined_type_name user_defined_type_schema using vacuum valid validate validator value value_of values var_pop var_samp varbinary varchar variable_conflict variadic varying verbose version versioning view views volatile warning when whenever where while whitespace width_bucket window with within without work wrapper write xml xmlagg xmlattributes xmlbinary xmlcast xmlcomment xmlconcat xmldeclaration xmldocument xmlelement xmlexists xmlforest xmliterate xmlnamespaces xmlparse xmlpi xmlquery xmlroot xmlschema xmlserialize xmltable xmltext xmlvalidate year yes zone"),builtin:M("bigint int8 bigserial serial8 bit varying varbit boolean bool box bytea character char varchar cidr circle date double precision float8 inet integer int int4 interval json jsonb line lseg macaddr macaddr8 money numeric decimal path pg_lsn point polygon real float4 smallint int2 smallserial serial2 serial serial4 text time without zone with timetz timestamp timestamptz tsquery tsvector txid_snapshot uuid xml"),atoms:M("false true null unknown"),operatorChars:/^[*\/+\-%<>!=&|^\/#@?~]/,backslashStringEscapes:!1,dateSQL:M("date time timestamp"),support:M("ODBCdotTable decimallessFloat zerolessFloat binaryNumber hexNumber nCharCast charsetCast escapeConstant")}),vC=Ve({keywords:M("ancestor and asc by contains desc descendant distinct from group has in is limit offset on order select superset where"),atoms:M("false true"),builtin:M("blob datetime first key __key__ string integer double boolean null"),operatorChars:/^[*+\-%<>!=]/}),$C=Ve({client:M("source"),keywords:M("abort absolute access action active add admin after aggregate all also alter always analyse analyze and any array as asc assertion assignment asymmetric at authorization backward before begin between bigint binary bit boolean both by cache called cascade cascaded case cast chain char character characteristics check checkpoint class close cluster coalesce codegen collate column comment commit committed concurrency concurrently configuration connection constraint constraints contains content continue conversion copy cost cpu_rate_limit create createdb createexttable createrole createuser cross csv cube current current_catalog current_date current_role current_schema current_time current_timestamp current_user cursor cycle data database day deallocate dec decimal declare decode default defaults deferrable deferred definer delete delimiter delimiters deny desc dictionary disable discard distinct distributed do document domain double drop dxl each else enable encoding encrypted end enum errors escape every except exchange exclude excluding exclusive execute exists explain extension external extract false family fetch fields filespace fill filter first float following for force foreign format forward freeze from full function global grant granted greatest group group_id grouping handler hash having header hold host hour identity if ignore ilike immediate immutable implicit in including inclusive increment index indexes inherit inherits initially inline inner inout input insensitive insert instead int integer intersect interval into invoker is isnull isolation join key language large last leading least left level like limit list listen load local localtime localtimestamp location lock log login mapping master match maxvalue median merge minute minvalue missing mode modifies modify month move name names national natural nchar new newline next no nocreatedb nocreateexttable nocreaterole nocreateuser noinherit nologin none noovercommit nosuperuser not nothing notify notnull nowait null nullif nulls numeric object of off offset oids old on only operator option options or order ordered others out outer over overcommit overlaps overlay owned owner parser partial partition partitions passing password percent percentile_cont percentile_disc placing plans position preceding precision prepare prepared preserve primary prior privileges procedural procedure protocol queue quote randomly range read readable reads real reassign recheck recursive ref references reindex reject relative release rename repeatable replace replica reset resource restart restrict returning returns revoke right role rollback rollup rootpartition row rows rule savepoint scatter schema scroll search second security segment select sequence serializable session session_user set setof sets share show similar simple smallint some split sql stable standalone start statement statistics stdin stdout storage strict strip subpartition subpartitions substring superuser symmetric sysid system table tablespace temp template temporary text then threshold ties time timestamp to trailing transaction treat trigger trim true truncate trusted type unbounded uncommitted unencrypted union unique unknown unlisten until update user using vacuum valid validation validator value values varchar variadic varying verbose version view volatile web when where whitespace window with within without work writable write xml xmlattributes xmlconcat xmlelement xmlexists xmlforest xmlparse xmlpi xmlroot xmlserialize year yes zone"),builtin:M("bigint int8 bigserial serial8 bit varying varbit boolean bool box bytea character char varchar cidr circle date double precision float float8 inet integer int int4 interval json jsonb line lseg macaddr macaddr8 money numeric decimal path pg_lsn point polygon real float4 smallint int2 smallserial serial2 serial serial4 text time without zone with timetz timestamp timestamptz tsquery tsvector txid_snapshot uuid xml"),atoms:M("false true null unknown"),operatorChars:/^[*+\-%<>!=&|^\/#@?~]/,dateSQL:M("date time timestamp"),support:M("ODBCdotTable decimallessFloat zerolessFloat binaryNumber hexNumber nCharCast charsetCast")}),TC=Ve({keywords:M("add after all alter analyze and anti archive array as asc at between bucket buckets by cache cascade case cast change clear cluster clustered codegen collection column columns comment commit compact compactions compute concatenate cost create cross cube current current_date current_timestamp database databases data dbproperties defined delete delimited deny desc describe dfs directories distinct distribute drop else end escaped except exchange exists explain export extended external false fields fileformat first following for format formatted from full function functions global grant group grouping having if ignore import in index indexes inner inpath inputformat insert intersect interval into is items join keys last lateral lazy left like limit lines list load local location lock locks logical macro map minus msck natural no not null nulls of on optimize option options or order out outer outputformat over overwrite partition partitioned partitions percent preceding principals purge range recordreader recordwriter recover reduce refresh regexp rename repair replace reset restrict revoke right rlike role roles rollback rollup row rows schema schemas select semi separated serde serdeproperties set sets show skewed sort sorted start statistics stored stratify struct table tables tablesample tblproperties temp temporary terminated then to touch transaction transactions transform true truncate unarchive unbounded uncache union unlock unset use using values view when where window with"),builtin:M("tinyint smallint int bigint boolean float double string binary timestamp decimal array map struct uniontype delimited serde sequencefile textfile rcfile inputformat outputformat"),atoms:M("false true null"),operatorChars:/^[*\/+\-%<>!=~&|^]/,dateSQL:M("date time timestamp"),support:M("ODBCdotTable doubleQuote zerolessFloat")}),CC=Ve({client:M("source"),keywords:M("alter and as asc between by count create delete desc distinct drop from group having in insert into is join like not on or order select set table union update values where limit after all and as at asc avedev avg between by case cast coalesce count create current_timestamp day days delete define desc distinct else end escape events every exists false first from full group having hour hours in inner insert instanceof into irstream is istream join last lastweekday left limit like max match_recognize matches median measures metadatasql min minute minutes msec millisecond milliseconds not null offset on or order outer output partition pattern prev prior regexp retain-union retain-intersection right rstream sec second seconds select set some snapshot sql stddev sum then true unidirectional until update variable weekday when where window"),builtin:{},atoms:M("false true null"),operatorChars:/^[*+\-%<>!=&|^\/#@?~]/,dateSQL:M("time"),support:M("decimallessFloat zerolessFloat binaryNumber hexNumber")});var Rg={name:"toml",startState:function(){return{inString:!1,stringType:"",lhs:!0,inArray:0}},token:function(i,e){let t;if(!e.inString&&(t=i.match(/^('''|"""|'|")/))&&(e.stringType=t[0],e.inString=!0),i.sol()&&!e.inString&&e.inArray===0&&(e.lhs=!0),e.inString){for(;e.inString;)if(i.match(e.stringType))e.inString=!1;else if(i.peek()==="\\")i.next(),i.next();else{if(i.eol())break;i.match(/^.[^\\\"\']*/)}return e.lhs?"property":"string"}else{if(e.inArray&&i.peek()==="]")return i.next(),e.inArray--,"bracket";if(e.lhs&&i.peek()==="["&&i.skipTo("]"))return i.next(),i.peek()==="]"&&i.next(),"atom";if(i.peek()==="#")return i.skipToEnd(),"comment";if(i.eatSpace())return null;if(e.lhs&&i.eatWhile(function(n){return n!="="&&n!=" "}))return"property";if(e.lhs&&i.peek()==="=")return i.next(),e.lhs=!1,null;if(!e.lhs&&i.match(/^\d\d\d\d[\d\-\:\.T]*Z/))return"atom";if(!e.lhs&&(i.match("true")||i.match("false")))return"atom";if(!e.lhs&&i.peek()==="[")return e.inArray++,i.next(),"bracket";if(!e.lhs&&i.match(/^\-?\d+(?:\.\d+)?/))return"number";i.eatSpace()||i.next()}return null},languageData:{commentTokens:{line:"#"}}};var TP=Qe({"for in if else endfor endif":d.controlKeyword,"Attribute/Identifier":d.definition(d.propertyName),"ForIntro/Identifier":d.definition(d.propertyName),"Block/Identifier":d.definitionKeyword,"FunctionCall/Identifier":d.function(d.variableName),"Attribute/Expression":d.attributeValue,"VariableExpr/Identifier":d.variableName,"GetAttr/Identifier":d.variableName,Identifier:d.name,"LiteralValue/...":d.literal,"StringLit/... TemplateLiteral":d.string,NumericLit:d.number,BoolLit:d.bool,NullLit:d.null,Comment:d.comment,LineComment:d.lineComment,BlockComment:d.blockComment,"( )":d.paren,"{ }":d.bracket,"[ ]":d.squareBracket,ArithOp:d.arithmeticOperator,LogicOp:d.logicOperator,CompareOp:d.compareOperator,ControlOp:d.controlOperator,HeredocIdentifier:d.special(d.controlKeyword),HeredocStart:d.special(d.brace),"TemplateInterpolationStart TemplateInterpolationEnd":d.special(d.brace),"TemplateDirectiveStart TemplateDirectiveEnd":d.special(d.brace),StripMarker:d.special(d.brace),Ellipsis:d.punctuation,": =>":d.punctuation,",":d.separator}),bh=1,Sh=2,yh=3,kh=4,xh=5,wh=6,Zn=7,qe=93,Re={QUOTED_TEMPLATE:1,TEMPLATE_INTERPOLATION:2,TEMPLATE_DIRECTIVE:4,HEREDOC_TEMPLATE:8},CP=function(i){var e=0,t,n;if(i.length===0)return e;for(t=0;t{if(e.canShift(bh)&&!(e.context&&e.context.type===Re.QUOTED_TEMPLATE)&&String.fromCharCode(i.next)==='"')return i.advance(),i.acceptToken(bh)},{contextual:!0,fallback:!0}),AP=new ee((i,e)=>{if(e.canShift(Sh)&&e.context&&e.context.type===Re.QUOTED_TEMPLATE&&String.fromCharCode(i.next)==='"')return i.advance(),i.acceptToken(Sh)},{contextual:!0,fallback:!0}),ZP=new ee((i,e)=>{if(e.canShift(qe)&&e.context&&e.context.type===Re.QUOTED_TEMPLATE)switch(String.fromCharCode(i.next)){case"\\":switch(i.advance(),String.fromCharCode(i.next)){case'"':case"n":case"r":case"t":case"\\":return i.advance(),i.acceptToken(qe);case"u":for(let t=0;t<4;t++)if(i.advance(),!/[0-9a-fA-F]/.test(String.fromCharCode(i.next)))return;return i.advance(),i.acceptToken(qe);case"U":for(let t=0;t<8;t++)if(i.advance(),!/[0-9a-fA-F]/.test(String.fromCharCode(i.next)))return;return i.advance(),i.acceptToken(qe);default:return}}if(e.canShift(qe)&&e.context&&(e.context.type===Re.QUOTED_TEMPLATE||e.context.type===Re.HEREDOC_TEMPLATE)&&i.next!==-1)return i.advance(),i.acceptToken(qe)},{contextual:!0,fallback:!0}),EP=new ee((i,e)=>{if(e.canShift(yh)&&e.canShift(qe)&&!(e.context&&e.context.type===Re.TEMPLATE_INTERPOLATION)&&String.fromCharCode(i.next)==="$")return i.advance(),String.fromCharCode(i.next)==="{"?(i.advance(),i.acceptToken(yh)):(String.fromCharCode(i.next)==="$"&&(i.advance(),String.fromCharCode(i.next)==="{")&&i.advance(),i.acceptToken(qe))},{contextual:!0,fallback:!0}),qP=new ee((i,e)=>{if(e.canShift(kh)&&e.context&&e.context.type===Re.TEMPLATE_INTERPOLATION&&String.fromCharCode(i.next)==="}")return i.advance(),i.acceptToken(kh)},{contextual:!0,fallback:!0}),zP=new ee((i,e)=>{if(e.canShift(xh)&&e.canShift(qe)&&!(e.context&&e.context.type===Re.TEMPLATE_DIRECTIVE)&&String.fromCharCode(i.next)==="%")return i.advance(),String.fromCharCode(i.next)==="{"?(i.advance(),i.acceptToken(xh)):(String.fromCharCode(i.next)==="%"&&(i.advance(),String.fromCharCode(i.next)==="{")&&i.advance(),i.acceptToken(qe))},{contextual:!0,fallback:!0}),LP=new ee((i,e)=>{if(e.canShift(wh)&&e.context&&e.context.type===Re.TEMPLATE_DIRECTIVE&&String.fromCharCode(i.next)==="}")return i.advance(),i.acceptToken(wh)},{contextual:!0,fallback:!0}),MP=new ee((i,e)=>{if(e.canShift(Zn)&&!(e.context&&e.context.type===Re.HEREDOC_TEMPLATE)&&i.next!==-1){let t=String.fromCharCode(i.next);for(;/[0-9a-zA-Z]/.test(t)||t==="_"||t==="-";)i.advance(),t=String.fromCharCode(i.next);return i.acceptToken(Zn)}if(e.canShift(Zn)&&e.canShift(qe)&&e.context&&e.context.type===Re.HEREDOC_TEMPLATE&&i.next!=-1){let t=e.context.heredoc_identifier,n=!1,r=!1,s=String.fromCharCode(i.next);for(;/\s/.test(s);)r=!0,s===` +`&&(n=!0),i.advance(),s=String.fromCharCode(i.next);if(r&&i.acceptToken(qe),!n)return;let o=0;for(let l=0;lbQ&jO,5:fOOQy,5:h,5:hPOQy'#EY'#EYPOQy,5:j,5:jPOQy,5:k,5:kOOQy1G0g1G0gOOQO7+%u7+%uO>jQ&jO7+%uOOQ%n,5:|,5:|OOQ%n1G.}1G.}O>oQ&rO1G.}O>tQ&rO1G.}OOQ%n1G/Q1G/QO?PQ&jO,59jO?[Q'[O,59jOOQ%n1G/W1G/WO1tQ)tO1G/WO?dQ&jO'#DVO1tQ)tO1G/WO?rQ&jO,59oO@QQ'[O,59oO@YQ'[O,59qO@bQ&jO1G/RO@jQ&jO1G/RO$yQ&kO1G/XO@oQ'[O1G/XOOQy7+$y7+$yO@zQ&jO,5:rOA]Q&kO1G0lOOQO-E8U-E8UOOQy7+%[7+%[OAdQ&jO7+%[O$yQ&kO'#DlO$yQ&kO1G/qOAiQ&jO1G/qOOQP'#ES'#ESO$yQ&kO7+%rP$yQ&kO'#EXO$yQ&kO7+%_OAnQ&kO,5:ROAuQ&jO,5:ROOQO,5:R,5:ROOQy7+%V7+%VOOQy1G0Q1G0QPOQy-E8W-E8WOOQO<eAN>eOKmQ&jOAN>eOKrQ&jOAN>eOOQ%n<cOOQyG24PG24POLiQ&jOG24POOQ$YG23_G23_OLnQ'[OG23_OLyQ'[OG23_O$yQ&kOG23_OOQPG23}G23}OOQyLD)kLD)kOOQ$YLD(yLD(yOMOQ'[OLD(yOMTQ'[OLD(yOOQ$Y!$'Le!$'LeOM`Q'[O!$'LeOOQ$Y!)9BP!)9BPO-wQ&kO'#DoO/TQ&kO'#DoOMeQ&kO'#CkO-wQ&kO,5:^O/TQ&kO,5:^O-wQ&kO,5:^O/TQ&kO,5:^O-wQ&kO,5:^O/TQ&kO,5:^O-wQ&kO,5:^O/TQ&kO,5:^O-wQ&kO,5:^O/TQ&kO,5:^O-wQ&kO,5:^O/TQ&kO,5:^ON[Q&kO1G/xO! XQ&kO1G/xO!!UQ&kO1G/xO!%UQ&kO1G/xO!%]Q&kO1G/xO-wQ&kO7+%rO/TQ&kO7+%rO4uQ&jO1G0WO4uQ&jO1G0WO$yQ&kO,5:lO$yQ&kO,5:l",stateData:"!%l~O#ROSXPQYPQ~O^RO!SQO~OXVOYVO~OPZO^gOa[OcXOdXOfYO!P`O!RdO!ScO!YoO#W]O#X]O#^iO#_jO~OPqO^sO!SuO#SrO~O^RO#O[X!R[X~OQ!PORyOT!QO#PwO~OV!RO~OPZO^gOa[OcXOdXOfYOp!WO!P`O!ScO!YoO#W]O#X]O#^iO#_jO~O!O!TO~P#iO#S!XO#[!XO#o!YO~OPZO^gOa[OcXOdXOfYO!P`O!ScO!YoO#W]O#X]O#^iO#_jO~O#V!]O!R#ZX~P$yOp!WO~PmO!R!`O~O!Y!aO!P!VX!o!VX#^!VX#`!VX#a!VX#b!VX#c!VX#d!VX#e!VX#f!VX#g!VX#h!VX#i!VX#j!VX#k!VX#l!VX#m!VX#n!VX#o!VX~O#S!VX#[!VX!O!VX#V!VX!W!VX^!VX#O!VXS!VXl!VXv!VX![!VXU!VX!R!VX~P&[O!o!pO#^!dO#`!cO#a!cO#b!cO#c!dO#d!eO#e!eO#f!eO#g!eO#h!fO#i!fO#j!gO#k!hO#l!qO#m!rO#n!sO#o_X#V_X^_X!R_X~O!P!oO#S_X#[_X!O_X!W_X#O_XS_Xl_Xv_X![_XU_X~P(iOPqO^sO!S!zO~O^RO!R!{O~O#P!}OQ#UPR#UPT#UPV#UP~OQ#POR!yXT!yX#P!yX~OS#QOl#RO~P$yORyOT#VO#PwO~ORyOT#ZO#PwO~OQ#]ORyOT!QO#PwO~Ol#_Op#^Ov#`O~ORyOT!QOV#bO#PwO~O#V#cO#o!YO!O#YX~O!O#eO~O^#gO~OPZO^#iOa[OcXOdXOfYO!P`O!ScO!YoO#W]O#X]O#^iO#_jO~O!R#Za~P$yO#V#lO!R#Za~P$yOPZO^#nOa[OcXOdXOfYO!P`O!ScO!YoO#W]O#X]O#^iO#_jO~O!W#rO~P$yO^#{O~O!W$PO#o!YO~OQ#PO~O#o!YO^]i#O]i!R]i~O^RO!R$QO~OS$TOl$UO~P$yOS$TOl$UO#o!YO~Ol$XOp#^Os$YOv#`O~ORyOT$]O#PwO~Ol$_Op#^Ov#`Ox$`Oz$aO~O^$bO~Op$cOv$dO~ORyOT!QOV$fO#PwO~O!O#Ya~P$yO#V$hO!O#Ya~Ov$lO!O$jO#o!YO~Oq$mO#V$nO~O#o!YOP!Ui^!Uia!Uic!Uid!Uif!Ui!P!Ui!R!Ui!S!Ui!Y!Ui#V!Ui#W!Ui#X!Ui#^!Ui#_!Ui~O#[$oO#o!YO~O!R#Zi~P$yO#]!VX~P&[O#]$rO#o!YO~O!o!pO#^!dO#`!cO#a!cO#b!cO#c!dO#d!eO#e!eO#f!eO#g!eO#h!fO#i!fO#j!gO#k!hO#l!qO#m!rO#n!sO#o_X~O!P!oO#]_X~P5eO![$uO#V$sO#o!YO!W!ZX~O!W$vO~O#`!cO#a!cO#b!cO!P!fi!o!fi#S!fi#[!fi#d!fi#e!fi#f!fi#g!fi#h!fi#i!fi#j!fi#k!fi#l!fi#m!fi#n!fi#o!fi!O!fi#V!fi!W!fi^!fi#O!fiS!fil!fiv!fi![!fiU!fi!R!fi~O#^!fi#c!fi~P7^O#^!dO#c!dO~P7^O#^!dO#`!cO#a!cO#b!cO#c!dO#d!eO#e!eO#f!eO#g!eO!P!fi!o!fi#S!fi#[!fi#j!fi#k!fi#l!fi#m!fi#n!fi#o!fi!O!fi#V!fi!W!fi^!fi#O!fiS!fil!fiv!fi![!fiU!fi!R!fi~O#h!fi#i!fi~P9rO#h!fO#i!fO~P9rO#^!dO#`!cO#a!cO#b!cO#c!dO#d!eO#e!eO#f!eO#g!eO#h!fO#i!fO#j!gO!P!fi!o!fi#k!fi#l!fi#m!fi#n!fi#o!fi#V!fi^!fi!R!fi~O#S!fi#[!fi!O!fi!W!fi#O!fiS!fil!fiv!fi![!fiU!fi~PWP[i]||-1}],tokenPrec:2320}),VP=Xe.define({parser:jP.configure({props:[Pe.add({Block:wt({closing:"}",align:!1})}),_e.add({"Object Tuple TemplateFor TemplateIf":dt,BlockComment:i=>({from:i.from+2,to:i.to-2}),HeredocTemplate(i){let e=i.getChild("HeredocIdentifier");return e?{from:e.to,to:i.to}:null},FunctionCall(i){let e=i.getChild("("),t=i.getChild(")");return!e||!t?null:{from:e.from+1,to:t.to-1}},Block(i){let e=i.getChild("{"),t=i.getChild("}");return!e||!t?null:{from:e.from+1,to:t.to-1}}}),TP]}),languageData:{commentTokens:{line:"#",block:{open:"/*",close:"*/"}}}});function Ag(){return new me(VP)}function DP(i){let e=i.trim();if(!e)return"";if(/^#!.*\b(?:ba)?sh\b|^\s*\$\s+/.test(e))return"bash";if(e.startsWith("{")&&e.endsWith("}")||e.startsWith("[")&&e.endsWith("]"))try{return JSON.parse(e),"json"}catch{}return/^\s*(?:|(?:using\s+namespace\s+std|std::\w+|(?:cout|cin)\s*(?:<<|>>))\b)/m.test(e)?"cpp":/^\s*(?:#\s*include\s*[<"](?:assert|ctype|errno|float|inttypes|limits|math|setjmp|signal|stdarg|stdbool|stddef|stdint|stdio|stdlib|string|time)\.h[>"]|(?:int|void)\s+main\s*\([^)]*\)\s*\{)/m.test(e)?"c":/^\s*(?:async\s+)?def\s+\w+\s*\(|^\s*from\s+\w+[\w.]*\s+import\b|^\s*class\s+\w+\s*[:(]/m.test(e)?"python":/\b(?:SELECT|INSERT|UPDATE|DELETE|CREATE\s+(?:TABLE|VIEW|INDEX)|WITH)\b[\s\S]*\b(?:FROM|INTO|WHERE|AS)\b/i.test(e)?"sql":/(?:^|\n)\s*(?:[#.]?[A-Za-z][\w-]*)\s*\{[\s\S]*:[\s\S]*\}/.test(e)||/@(?:media|keyframes|supports)\b/.test(e)?"css":/^\s*(?:const|let|var)\s+[A-Za-z_$][\w$]*\s*(?::[^=\n]+)?\s*=/m.test(e)||/\b(?:function\s+\w+\s*\(|console\.(?:log|error|warn)|=>)/.test(e)?"javascript":/^\s*(?:[-A-Za-z_][\w-]*):\s*(?:[^:#\n]|$)/m.test(e)&&!/[{};]/.test(e)?"yaml":/^\s*(?:echo|printf|export|source|cd|mkdir|rm|cp|mv)\s+/m.test(e)?"bash":""}var Ge=(i,e,t)=>Ue.of({name:i,alias:e,support:new me(Es.define(t))}),Jg=[Ue.of({name:"javascript",alias:["js","jsx","ts","tsx","typescript","node"],support:oo({jsx:!0,typescript:!0})}),Ue.of({name:"python",alias:["py"],support:Im()}),Ue.of({name:"json",alias:["jsonc"],support:Um()}),Ue.of({name:"css",alias:["scss"],support:so()}),Ue.of({name:"html",alias:["htm","xml"],support:lo()}),Ue.of({name:"hcl",alias:["terraform","tf"],support:Ag()}),Ge("swift",[],Nm),Ge("shell",["sh","bash","zsh","console"],eg),Ge("yaml",["yml"],tg),Ge("go",["golang"],og),Ge("ruby",["rb"],cg),Ge("rust",["rs"],ug),Ge("c",["h"],yg),Ge("cpp",["c++","cc","hpp"],kg),Ge("java",[],xg),Ge("kotlin",["kt"],vg),Ge("objective-c",["objc","objectivec"],$g),Ge("csharp",["cs","c#"],wg),Ge("sql",[],Ve({})),Ge("toml",[],Rg)],YP={resolve:"Highlight",mark:"HighlightMark"},IP=/[\p{S}\p{P}]/u;function Zg(i){return!i||/\s/.test(i)}function Eg(i){return!!i&&IP.test(i)}var Wh={defineNodes:["Highlight","HighlightMark"],parseInline:[{name:"Highlight",parse(i,e,t){if(e!==61||i.char(t+1)!==61)return-1;let n=t;for(;n>i.offset&&i.char(n-1)===61;)n--;let r=t+2;for(;i.char(r)===61;)r++;let s=n+(r-n)%2;if(t=i.offset&&i.char(p)===92;p--)o++;if(o%2!==0)return-1;let a=i.slice(n-1,n),l=i.slice(r,r+1),c=Zg(a),h=Zg(l),f=Eg(a),u=Eg(l),O=!h&&(!u||c||f),m=!c&&(!f||h||u);return i.addDelimiter(YP,t,t+2,O,m)},after:"Emphasis"}]},Wr=class extends Ce{constructor(e,t){super(),this.text=e,this.className=t}eq(e){return e.text===this.text&&e.className===this.className}toDOM(){let e=document.createElement("span");return e.textContent=this.text,e.className=this.className,e}ignoreEvent(){return!1}},_h=class extends Ce{constructor(e,t,n,r,s){super(),this.source=e,this.alt=t,this.raw=n,this.from=r,this.to=s}eq(e){return e.source===this.source&&e.alt===this.alt&&e.raw===this.raw&&e.from===this.from&&e.to===this.to}toDOM(e){let t=document.createElement("span");t.className="cm-md-image-preview",t.setAttribute("role","figure");let n=document.createElement("img");n.src=this.source,n.alt=this.alt,n.draggable=!1,n.addEventListener("error",()=>t.classList.add("cm-md-image-error"),{once:!0});let r=document.createElement("code");r.className="cm-md-image-source",r.textContent=this.raw,r.title="Click to edit image source";let s=o=>{o.preventDefault(),o.stopPropagation(),e.focus(),e.dispatch({selection:{anchor:Math.min(this.from+2,this.to)},userEvent:"select.pointer"})};return r.addEventListener("mousedown",s),r.addEventListener("click",s),n.addEventListener("mousedown",o=>{o.preventDefault(),o.stopPropagation()}),n.addEventListener("click",o=>{o.preventDefault(),o.stopPropagation();let a=n.currentSrc||n.src;a.startsWith("md-asset:")?window.__mdRequestImageRename?.(a):s(o)}),t.append(n,r),t}ignoreEvent(){return!0}},Rh=class extends Ce{eq(){return!0}toDOM(){let e=document.createElement("span");return e.className="cm-md-hr",e}ignoreEvent(){return!1}},BP=0,Ah=class extends Ce{constructor(e){super(),this.source=e}eq(e){return e.source===this.source}toDOM(e){let t=document.createElement("figure");t.className="cm-md-mermaid-preview",t.setAttribute("role","img"),t.setAttribute("aria-label","Mermaid diagram. Click to edit source.");let n=document.createElement("div");n.className="cm-md-mermaid-stage",n.textContent="Rendering diagram\u2026",t.appendChild(n),t.addEventListener("mousedown",o=>{o.preventDefault(),e.focus();let a=e.posAtDOM(t);e.dispatch({selection:{anchor:a+1},userEvent:"select.pointer"})});let r=window.mermaid;if(!r||typeof r.render!="function")return n.textContent="Mermaid preview unavailable. Click to edit source.",t;let s=`md-editor-mermaid-${++BP}`;return Promise.resolve(r.render(s,this.source)).then(({svg:o})=>{n.innerHTML=o;let a=n.querySelector("svg"),l=a?.viewBox?.baseVal;a&&l?.width>0&&l?.height>0&&(t.style.setProperty("--mm-aspect",`${l.width} / ${l.height}`),a.removeAttribute("width"),a.removeAttribute("height"),a.setAttribute("preserveAspectRatio","xMidYMid meet"),a.style.width="100%",a.style.height="100%"),e.requestMeasure()}).catch(()=>{n.textContent="Unable to render Mermaid diagram. Click to edit source.",t.classList.add("cm-md-mermaid-error"),e.requestMeasure()}),t}ignoreEvent(){return!0}},e0=new WeakMap,Zh=ie.define({map:(i,e)=>e.mapPos(i,1,ge.TrackAfter)??void 0}),qn=fe.define({create:()=>new Set,update(i,e){if(!e.docChanged&&!e.effects.some(n=>n.is(Zh)))return i;let t=new Set([...i].map(n=>e.changes.mapPos(n,1,ge.TrackAfter)).filter(n=>n!=null));for(let n of e.effects)n.is(Zh)&&(t.has(n.value)?t.delete(n.value):t.add(n.value));return t}}),Ph=i=>'",_o=class extends Ce{constructor(e){super(),Object.assign(this,e)}eq(e){return e.fenceFrom===this.fenceFrom&&e.infoFrom===this.infoFrom&&e.infoTo===this.infoTo&&e.rawInfo===this.rawInfo&&e.detectedLanguage===this.detectedLanguage&&e.wrapped===this.wrapped&&e.plain===this.plain}toDOM(e){let t=document.createElement("span");t.className="cm-md-code-language",t.contentEditable="false";let n=document.createElement("input");n.type="text",n.className="cm-md-code-language-input",n.autocomplete="off",n.spellcheck=!1,n.value=this.language,n.readOnly=!!this.plain,n.placeholder="language",n.setAttribute("aria-label","Code block language"),n.dataset.fenceFrom=String(this.fenceFrom);let r=this.rawInfo.match(/^\S+([\s\S]*)$/)?.[1]||"",s=n.value,o=!0,a=!1,l=()=>{if(this.plain)return;let f=n.value.trim().split(/\s+/,1)[0].toLowerCase(),u=f?f+r:"";u!==this.rawInfo&&n.value!==s&&(a=!0,e.dispatch({changes:{from:this.infoFrom,to:this.infoTo,insert:u},userEvent:"input"}))};n.addEventListener("change",l),n.addEventListener("keydown",f=>{f.stopPropagation(),f.key==="Enter"?(f.preventDefault(),l(),n.blur(),e.focus()):f.key==="Escape"&&(f.preventDefault(),o=!1,n.value=this.language,n.blur(),e.focus())}),n.addEventListener("mousedown",f=>f.stopPropagation()),n.addEventListener("click",f=>f.stopPropagation()),n.addEventListener("blur",()=>{o&&!a&&l(),a=!1,o=!0}),t.appendChild(n);let c=(f,u,O,m)=>{let p=document.createElement("button");return p.type="button",p.className=`cm-md-code-action ${O}`,p.title=f,p.setAttribute("aria-label",f),p.innerHTML=Ph(u),p.addEventListener("mousedown",b=>{b.preventDefault(),b.stopPropagation()}),p.addEventListener("click",b=>{b.preventDefault(),b.stopPropagation(),m(p)}),t.appendChild(p),p};return c(this.wrapped?"Unwrap code":"Wrap code",this.wrapped?"unwrap":"wrap","cm-md-code-toggle-wrap",()=>e.dispatch({effects:Zh.of(e.state.doc.lineAt(this.fenceFrom).from)})).setAttribute("aria-pressed",String(this.wrapped)),c("Copy code","copy","cm-md-code-copy",async f=>{let u=e.state.doc.lineAt(this.fenceFrom),O=G(e.state).resolve(this.plain?u.to:this.fenceFrom+1,-1);for(;O&&O.name!==(this.plain?"CodeBlock":"FencedCode");)O=O.parent;if(!O)return;let m=this.plain?O.getChildren("CodeText").map(p=>e.state.sliceDoc(p.from,p.to)).join(""):Zo(e.state,O).source;try{let p=e0.get(e);p?p(m):await navigator.clipboard.writeText(m),f.innerHTML=Ph("check"),f.title="Code copied",f.setAttribute("aria-label",f.title),clearTimeout(f.copyTimer),f.copyTimer=setTimeout(()=>{f.innerHTML=Ph("copy"),f.title="Copy code",f.setAttribute("aria-label",f.title)},1100)}catch{}}),t}ignoreEvent(){return!0}};function $o(i,e=!1){let t=[],n="",r=0,s=()=>t.push({text:n.trim(),from:r+n.length-n.trimStart().length,to:r+n.trimEnd().length}),o=0,a=0;for(let c=0;cc.text)}function UP(i){let e=i.trim(),t=e.startsWith(":"),n=e.endsWith(":"),r=e.replace(/^:/,"").replace(/:$/,"");return/^-{3,}$/.test(r)?t&&n?"center":t?"left":n?"right":"none":null}function jh(i){let e=i.endsWith(` `),t=i.replace(/\n$/,"").split(` -`);if(t.length<2)return null;let n=vo(t[0]),r=vo(t[1]).map(UP);if(!n.length||!r.length||r.some(a=>a==null))return null;let s=[n,...t.slice(2).map(a=>vo(a))],o=Math.max(r.length,...s.map(a=>a.length));for(;r.length{let f=i.slice(0,c).replace(/\n+/g," ").length-l;e[h]=r[Math.max(0,Math.min(f,n.length))]})}return s}function GP(i){let e=i.alignments.map((s,o)=>Math.max(3,...i.rows.map(a=>Array.from(a[o]||"").length))),t=s=>"| "+s.map((o,a)=>{let l=Vh(o);return l+" ".repeat(Math.max(0,e[a]-Array.from(l).length))}).join(" | ")+" |",n="| "+i.alignments.map((s,o)=>{let a=e[o];return s==="left"?":"+"-".repeat(Math.max(3,a-1)):s==="right"?"-".repeat(Math.max(3,a-1))+":":s==="center"?":"+"-".repeat(Math.max(3,a-2))+":":"-".repeat(a)}).join(" | ")+" |";return[t(i.rows[0]),n,...i.rows.slice(1).map(t)].join(` +`);if(t.length<2)return null;let n=$o(t[0]),r=$o(t[1]).map(UP);if(!n.length||!r.length||r.some(a=>a==null))return null;let s=[n,...t.slice(2).map(a=>$o(a))],o=Math.max(r.length,...s.map(a=>a.length));for(;r.length{let f=i.slice(0,c).replace(/\n+/g," ").length-l;e[h]=r[Math.max(0,Math.min(f,n.length))]})}return s}function GP(i){let e=i.alignments.map((s,o)=>Math.max(3,...i.rows.map(a=>Array.from(a[o]||"").length))),t=s=>"| "+s.map((o,a)=>{let l=Vh(o);return l+" ".repeat(Math.max(0,e[a]-Array.from(l).length))}).join(" | ")+" |",n="| "+i.alignments.map((s,o)=>{let a=e[o];return s==="left"?":"+"-".repeat(Math.max(3,a-1)):s==="right"?"-".repeat(Math.max(3,a-1))+":":s==="center"?":"+"-".repeat(Math.max(3,a-2))+":":"-".repeat(a)}).join(" | ")+" |";return[t(i.rows[0]),n,...i.rows.slice(1).map(t)].join(` `)+(i.trailingNewline?` -`:"")}var NP=1,Mr=null,FP=xi.parser.configure(Wh),t0=new WeakMap;function Ph(i,e){let t={StrongEmphasis:"cm-md-strong",Emphasis:"cm-md-emphasis",Strikethrough:"cm-md-strikethrough",Highlight:"cm-md-highlight"},n=(o,a,l)=>{if(!a)return;let c=document.createTextNode(a);t0.set(c,l),o.append(c)},r=(o,a,l,c)=>{let h=l;for(let f=a.firstChild;f;f=f.nextSibling)f.fromc||(n(o,e.slice(h,f.from),h),s(o,f),h=f.to);n(o,e.slice(h,c),h)},s=(o,a)=>{if(a.name==="InlineCode"){let l=document.createElement("code");l.className="cm-md-inline-code";let c=e.slice(a.firstChild.to,a.lastChild.from).replace(/\n/g," "),h=c.startsWith(" ")&&c.endsWith(" ")&&/[^ ]/.test(c);h&&(c=c.slice(1,-1)),n(l,c,a.firstChild.to+(h?1:0)),o.append(l)}else if(t[a.name]){let l=document.createElement("span");l.className=t[a.name],r(l,a,a.firstChild.to,a.lastChild.from),o.append(l)}else if(a.name==="Link"&&a.getChild("URL")){let l=a.getChildren("LinkMark"),c=document.createElement("span");c.className="cm-md-link",r(c,a,l[0].to,l[1].from),o.append(c)}else a.name==="Escape"?n(o,e.slice(a.from+1,a.to),a.from+1):a.name==="Image"?n(o,e.slice(a.from,a.to),a.from):r(o,a,a.from,a.to)};i.replaceChildren(),s(i,FP.parse(e).topNode)}var ke=new WeakMap,i0=Te.define(),Dh=new WeakMap,HP=new Set(["bold","italic","strikethrough","highlight","code","link"]);function Zo(i,e){if(e.invalid||e.tableFrom<0||e.tableFrom>=i.state.doc.length)return null;let n=i.state.doc.lineAt(e.tableFrom).number+(e.row===0?0:e.row+1);if(n>i.state.doc.lines)return null;let r=i.state.doc.line(n),s=vo(r.text,!0)[e.column];return s?{from:r.from+s.from,to:r.from+Math.max(s.from,s.to)}:null}function Ln(i){let e=ke.get(i);if(!e||e.invalid||e.element.dataset.tableEditing!=="true")return;let t=window.getSelection();if(!t?.anchorNode||!t.focusNode||!e.element.contains(t.anchorNode)||!e.element.contains(t.focusNode))return;let n=(a,l)=>{let c=document.createRange();return c.selectNodeContents(e.element),c.setEnd(a,l),c.toString().length};e.anchor=n(t.anchorNode,t.anchorOffset),e.head=n(t.focusNode,t.focusOffset);let r=e.element.innerText||"",s=[e.anchor,e.head];Vh(r,s),e.sourceAnchor=s[0],e.sourceHead=s[1];let o=se.create({doc:r,selection:v.single(e.anchor,e.head),extensions:[Bc({extensions:Wh})]});Dh.get(i)?.(Lh(o))}function $o(i){let e=ke.get(i);if(!e||e.invalid)return null;Ln(i),e.element.dataset.tableEditing==="true"&&e.element.blur();let t=Zo(i,e);if(!t)return null;let n=t.to-t.from;return i.dispatch({selection:v.single(t.from+Math.max(0,Math.min(e.sourceAnchor??e.anchor,n)),t.from+Math.max(0,Math.min(e.sourceHead??e.head,n)))}),e}function To(i,e){let t=Zo(i,e);if(!t)return;let n=i.state.selection.main,r=Math.max(0,Math.min(n.anchor-t.from,t.to-t.from)),s=Math.max(0,Math.min(n.head-t.from,t.to-t.from)),o=i.dom.querySelector(`.cm-md-table-widget[data-table-from="${e.tableFrom}"] [data-table-row="${e.row}"][data-table-column="${e.column}"]`);if(!o)return;o.focus({preventScroll:!0});let a=o.firstChild||o.appendChild(document.createTextNode(""));window.getSelection()?.setBaseAndExtent(a,r,a,s),Ln(i)}var KP=De.fromClass(class{constructor(i){this.view=i,this.capture=()=>Ln(i),this.clear=e=>{e.target.closest?.(".cm-md-table-cell")||ke.delete(i)},document.addEventListener("selectionchange",this.capture),i.dom.addEventListener("mousedown",this.clear,!0)}update(i){let e=ke.get(this.view);e&&i.docChanged&&i.transactions.some(t=>t.docChanged&&!t.annotation(i0))&&ke.set(this.view,{...e,invalid:!0})}destroy(){document.removeEventListener("selectionchange",this.capture),this.view.dom.removeEventListener("mousedown",this.clear,!0),ke.delete(this.view),Dh.delete(this.view)}}),Eh=class extends Ce{constructor(e,t){super(),this.source=e,this.from=t}eq(e){return e.source===this.source&&e.from===this.from}toDOM(e){let t=jh(this.source),n=document.createElement("div");if(n.className="cm-md-table-widget",n.dataset.tableFrom=String(this.from),!t)return n.textContent=this.source,n;let r=null,s=null,o=null,a=!1,l=document.createElement("div");l.className="cm-md-table-scroll",n.appendChild(l);let c=document.createElement("table");c.className="cm-md-table-grid",l.appendChild(c);let h=(Q,S)=>{requestAnimationFrame(()=>requestAnimationFrame(()=>{let x=e.dom.querySelector(`.cm-md-table-widget[data-table-from="${this.from}"]`);(x&&x.querySelector(`[data-table-row="${Q}"][data-table-column="${S}"]`))?.focus()}))},f=(Q=null,S=!1)=>{let x=GP(t);if(x===this.source){Q&&n.querySelector(`[data-table-row="${Q.row}"][data-table-column="${Q.column}"]`)?.focus();return}r=null,e.dispatch({changes:{from:this.from,to:this.from+this.source.length,insert:x},annotations:S?i0.of(!0):[],userEvent:"input"}),Q&&h(Q.row,Q.column)},u=()=>{!r||r.element.dataset.tableEditing!=="true"||(t.rows[r.row][r.column]=r.element.innerText||"")},O=()=>{n.querySelectorAll(".is-table-part-selected").forEach(Q=>{Q.classList.remove("is-table-part-selected")}),n.classList.remove("is-table-row-selected","is-table-column-selected","is-table-range-selected"),n.removeAttribute("aria-label"),s=null},m=(Q,S,x)=>{if(u(),O(),Array.from(n.querySelectorAll(".cm-md-table-cell")).filter($=>{let Z=Number($.dataset.tableRow),X=Number($.dataset.tableColumn);return Z>=S.top&&Z<=S.bottom&&X>=S.left&&X<=S.right}).forEach($=>{$.classList.add("is-table-part-selected")}),n.classList.add(Q==="row"?"is-table-row-selected":Q==="column"?"is-table-column-selected":"is-table-range-selected"),window.getSelection()?.removeAllRanges(),s={kind:Q,row:x.row,column:x.column,bounds:S},ke.delete(e),n.tabIndex=0,Q==="range"){let $=S.bottom-S.top+1,Z=S.right-S.left+1;n.setAttribute("aria-label",`Selected ${$} rows by ${Z} columns.`)}else{let $=Q==="row"?x.row:x.column+1;n.setAttribute("aria-label",`Selected ${Q} ${$}. Press Delete to remove it.`)}n.focus()},p=(Q,S,x)=>{let P=Q==="row"?{top:S,right:t.alignments.length-1,bottom:S,left:0}:{top:0,right:x,bottom:t.rows.length-1,left:x};m(Q,P,{row:S,column:x})},b=(Q,S,x,P)=>{m("range",{top:Math.min(Q,x),right:Math.max(S,P),bottom:Math.max(Q,x),left:Math.min(S,P)},{row:Q,column:S})},g=(Q,S,x)=>{if(u(),Q==="selectRow"&&S>0)p("row",S,x);else if(Q==="selectColumn"&&t.alignments.length>1)p("column",S,x);else if(Q==="insertRowBefore"&&S>0)t.rows.splice(S,0,Array(t.alignments.length).fill("")),f({row:S,column:x});else if(Q==="insertRowAfter")t.rows.splice(S+1,0,Array(t.alignments.length).fill("")),f({row:S+1,column:x});else if(Q==="duplicateRow"&&S>0)t.rows.splice(S+1,0,[...t.rows[S]]),f({row:S+1,column:x});else if(Q==="deleteRow"&&S>0)t.rows.splice(S,1),f({row:Math.min(S,t.rows.length-1),column:x});else if(Q==="insertColumnBefore"){for(let P of t.rows)P.splice(x,0,"");t.alignments.splice(x,0,"none"),f({row:S,column:x})}else if(Q==="insertColumnAfter"){for(let P of t.rows)P.splice(x+1,0,"");t.alignments.splice(x+1,0,"none"),f({row:S,column:x+1})}else if(Q==="deleteColumn"&&t.alignments.length>1){for(let P of t.rows)P.splice(x,1);t.alignments.splice(x,1),f({row:S,column:Math.min(x,t.alignments.length-1)})}};return t.rows.forEach((Q,S)=>{let x=document.createElement("tr");c.appendChild(x),Q.forEach((P,$)=>{let Z=document.createElement(S===0?"th":"td"),X=document.createElement("div");if(X.className="cm-md-table-cell",X.contentEditable="plaintext-only",X.spellcheck=!0,Ph(X,P),X.dataset.tableRow=String(S),X.dataset.tableColumn=String($),S===0){let W=`Column ${$+1}`;X.dataset.placeholder=W;let T=()=>{(X.innerText||"").trim()?X.removeAttribute("aria-label"):X.setAttribute("aria-label",W)};T(),X.addEventListener("input",T)}t.alignments[$]!=="none"&&(X.style.textAlign=t.alignments[$]),X.addEventListener("focus",()=>{O(),(X.textContent!==t.rows[S][$]||X.childElementCount)&&(X.textContent=t.rows[S][$]),X.dataset.tableEditing="true",ke.set(e,{tableFrom:this.from,row:S,column:$,element:X,anchor:0,head:0}),r={row:S,column:$,element:X}}),X.addEventListener("contextmenu",W=>{W.preventDefault(),X.focus(),r={row:S,column:$,element:X};let T=String(NP++);Mr={token:T,perform:C=>g(C,S,$)},window.__mdRequestTableContextMenu?.({token:T,canInsertRowAbove:S>0,canDuplicateRow:S>0,canDeleteRow:S>0,canDeleteColumn:t.alignments.length>1,showsDuplicateRow:!0})}),X.addEventListener("blur",()=>{if(Ln(e),!r||r.element!==X)return;let W=X.innerText||"",T=W!==t.rows[S][$]||!Zo(e,{tableFrom:this.from,row:S,column:$});t.rows[S][$]=W,r=null,delete X.dataset.tableEditing,Ph(X,t.rows[S][$]),T&&f(null,!0)}),X.addEventListener("keydown",W=>{if((W.metaKey||W.ctrlKey)&&["b","i"].includes(W.key.toLowerCase())){W.preventDefault();let w=$o(e);if(!w)return;zt(W.key.toLowerCase()==="b"?"**":"*")(e),w&&To(e,w);return}if(W.key==="Escape"){W.preventDefault(),r=null,X.blur(),delete X.dataset.tableEditing,Ph(X,t.rows[S][$]),ke.delete(e),e.focus();return}if(W.key!=="Tab"&&W.key!=="Enter")return;W.preventDefault(),t.rows[S][$]=X.innerText||"";let T=W.key==="Tab"&&W.shiftKey,C=S,k=$+(T?-1:1);k<0?(C--,k=t.alignments.length-1):k>=t.alignments.length&&(C++,k=0),C<0?(C=0,k=0):C>=t.rows.length&&t.rows.push(Array(t.alignments.length).fill("")),f({row:C,column:k})}),Z.appendChild(X),x.appendChild(Z)})}),n.addEventListener("mousedown",Q=>{if(Q.button!==0)return;let S=Q.target.closest?.(".cm-md-table-cell");if(!S)return;let x=Number(S.dataset.tableRow),P=Number(S.dataset.tableColumn);if(!Number.isInteger(x)||x<0||!Number.isInteger(P))return;Q.stopPropagation();let $=null;if(S.dataset.tableEditing!=="true"&&Q.detail===1&&!Q.shiftKey&&!Q.metaKey&&!Q.ctrlKey&&!Q.altKey&&S.textContent!==t.rows[x][P]){let T=document.caretRangeFromPoint?.(Q.clientX,Q.clientY),C=T&&t0.get(T.startContainer);C!=null&&S.contains(T.startContainer)&&($=C+T.startOffset,Q.preventDefault())}S.focus({preventScroll:!0});let Z=T=>{let C=S.firstChild;C&&window.getSelection()?.setBaseAndExtent(C,$,C,T)};$!=null&&Z($),o={cell:S,row:x,column:P,head:S,active:!1,dragged:!1};let X=T=>{document.removeEventListener("mousemove",W,!0),document.removeEventListener("mouseup",X,!0),o?.active?(T.preventDefault(),window.getSelection()?.removeAllRanges(),a=!0):Ln(e),o=null},W=T=>{if(!o)return;let k=document.elementFromPoint?.(T.clientX,T.clientY)?.closest?.(".cm-md-table-cell")||T.target.closest?.(".cm-md-table-cell");if(!(!k||!n.contains(k))){if(k===o.cell&&!o.active){if($!=null&&(T.preventDefault(),o.dragged||=Math.hypot(T.clientX-Q.clientX,T.clientY-Q.clientY)>3,o.dragged)){let w=document.caretRangeFromPoint?.(T.clientX,T.clientY);w?.startContainer===S.firstChild&&Z(w.startOffset)}return}k!==o.head&&(T.preventDefault(),o.active=!0,o.head=k,b(o.row,o.column,Number(k.dataset.tableRow),Number(k.dataset.tableColumn)))}};document.addEventListener("mousemove",W,!0),document.addEventListener("mouseup",X,!0)},!0),n.addEventListener("click",Q=>{a&&(a=!1,Q.preventDefault(),Q.stopPropagation())},!0),n.addEventListener("keydown",Q=>{if(!s)return;if(Q.key==="Escape"){Q.preventDefault(),O(),e.focus();return}if(Q.key!=="Backspace"&&Q.key!=="Delete")return;if(s.kind==="range"){Q.preventDefault();return}Q.preventDefault();let S=s;O(),g(S.kind==="row"?"deleteRow":"deleteColumn",S.row,S.column)}),n}ignoreEvent(){return!0}},Eo=ie.define();function vh(i,e,t,n=0){let r=[];if(e){let o=new RegExp(e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),"giu"),a=i.toString();for(let l of a.matchAll(o)){let c=l.index;(!t||c===0||!/[A-Za-z0-9_]/.test(a[c-1]))&&r.push({from:c,to:c+l[0].length})}}n=r.length?Math.min(Math.max(n,0),r.length-1):-1;let s=R.set(r.map((o,a)=>R.mark({class:a===n?"cm-find-match cm-find-current":"cm-find-match"}).range(o.from,o.to)));return{query:e,beginsWith:t,matches:r,index:n,decorations:s}}var vi=fe.define({create:i=>vh(i.doc,"",!1),update(i,e){for(let t of e.effects)if(t.is(Eo)){let{query:n,beginsWith:r,index:s}=t.value;return vh(e.state.doc,n,r,s)}return e.docChanged?vh(e.state.doc,i.query,i.beginsWith,i.index):i},provide:i=>q.decorations.from(i,e=>e.decorations)});function _o(i,e,t){let n=i.field(vi),r=n.matches[n.index];return!!r&&r.frome}var JP=q.baseTheme({".cm-find-match":{backgroundColor:"#ffe58a",color:"#201800",borderRadius:"2px"},".cm-find-current":{backgroundColor:"#ffad33",outline:"1px solid #9b5700"}});function qg(i){let e=[];return(Ls(i,i.doc.length,80)||U(i)).iterate({enter(n){if(n.name!=="Table")return;if(_o(i,n.from,n.to))return!1;let r=i.doc.sliceString(n.from,n.to);if(jh(r))return e.push(R.replace({block:!0,widget:new Eh(r,n.from)}).range(n.from,n.to)),!1}}),R.set(e,!0)}var ev=fe.define({create:qg,update:(i,e)=>e.docChanged||e.effects.some(t=>t.is(Eo))?qg(e.state):i,provide:i=>q.decorations.from(i)}),Ro=class extends Ce{constructor(e,t){super(),this.from=e,this.checked=t}eq(e){return this.from===e.from&&this.checked===e.checked}toDOM(e){let t=document.createElement("span");t.className="cm-md-task-marker",t.dataset.sourceFrom=String(this.from);let n=document.createElement("input");return n.type="checkbox",n.checked=this.checked,n.setAttribute("aria-label",this.checked?"Mark task incomplete":"Mark task complete"),n.addEventListener("mousedown",r=>{r.preventDefault(),r.stopPropagation()}),n.addEventListener("change",()=>{let r=document.activeElement===n;e.dispatch({changes:{from:this.from,to:this.from+1,insert:n.checked?"x":" "},userEvent:"input"}),r||e.focus()}),t.append(n,document.createTextNode(" ")),t}updateDOM(e){if(Number(e.dataset.sourceFrom)!==this.from)return!1;let t=e.querySelector("input");return t.checked=this.checked,t.setAttribute("aria-label",this.checked?"Mark task incomplete":"Mark task complete"),!0}ignoreEvent(){return!0}},tv=Yc({nonTightLists:!1});function iv(i){return i.state.selection.ranges.every(e=>e.empty&&/^[ \t]*(?:>[ \t]*)*[-+*][ \t]+\[[ xX]\](?:[ \t]|$)/.test(i.state.doc.lineAt(e.head).text))?tv({state:i.state,dispatch:e=>{let t=e.state,n=t.changeByRange(r=>{let s=t.doc.lineAt(r.head);return r.empty&&s.text===""&&s.number>1&&t.doc.line(s.number-1).text.trim()!==""?{changes:{from:r.head,insert:t.lineBreak},range:v.cursor(r.head+t.lineBreak.length)}:{range:r}});i.dispatch([e,t.update(n,{userEvent:"input",scrollIntoView:!0})])}}):!1}var Ge=R.replace({}),zg=R.replace({widget:new Wr("\u2022","cm-md-bullet")}),Lg=R.mark({class:"cm-md-bullet-source"}),Mg=new Map,nv=i=>{let e=Mg.get(i);return e||(e=R.replace({widget:new Wr(i,"cm-md-ordered")}),Mg.set(i,e)),e},rv=R.mark({class:"cm-md-ordered-source"}),sv=R.replace({widget:new Rh}),ov=R.line({class:"cm-md-rule-line"}),En=/^([ \t]*)([-+*]|\d+[.)])([ \t]+|$)/,av=R.replace({widget:new Wr(" ","cm-md-join")}),qh={},lv=i=>R.line({class:"cm-md-h"+i});for(let i=1;i<=6;i++)qh[i]=lv(i);var cv=R.line({class:"cm-md-heading-inactive"}),Wg=R.line({class:"cm-md-heading-after-blank"}),hv=R.line({class:"cm-md-image-line"}),jg=R.line({class:"cm-md-line-collapsed"}),Qt={line:22.8,blankGap:4,paragraph:12,quote:18,alert:24,table:24,hr:12},fv=new Set(["Paragraph","FencedCode","CodeBlock","Blockquote","BulletList","OrderedList","Table","HorizontalRule","HTMLBlock"]),Vg=new Map,$h=i=>{let e=Vg.get(i);return e||(e=R.line({class:"cm-md-block-separator",attributes:{style:`height:${i}px;min-height:0;line-height:${i}px;overflow:hidden;`}}),Vg.set(i,e)),e},Dg=new Map,uv=i=>{let e=Dg.get(i);return e||(e=R.line({class:"cm-md-block-gap",attributes:{style:`padding-bottom:${i}px;--cm-md-block-gap:${i}px;`}}),Dg.set(i,e)),e},Yg=new Map,Ov=(i,e,t,n)=>{let r=`${i}:${e}:${t}:${n}`,s=Yg.get(r);if(!s){let o=[],a=[];for(let l=0;lci.create({tagName:"div",attributes:{class:`cm-md-code-card${s?" cm-md-code-card-wrapped":""}`}}).range(n,r)),!0)}var bv=R.line({class:"cm-md-table"}),Ug=R.line({class:"cm-md-list-item-gap"}),wo=R.line({class:"cm-md-list-item"}),Gg=new Map,Ch=i=>{let e=Gg.get(i);return e||(e=R.line({class:`cm-md-list-depth-${i}`,attributes:{style:`padding-inline-start:${i*2.1}em;text-indent:-2.1em;`}}),Gg.set(i,e)),e},Sv=R.mark({class:"cm-md-fence-info"}),yv=R.mark({class:"cm-md-code-fence-source-hidden"}),kv=R.mark({class:"cm-md-heading-source-hidden"}),xv=R.mark({class:"cm-md-heading-prefix"}),wv=R.mark({class:"cm-md-heading-marker"}),Pv=R.line({class:"cm-md-setext-marker-line"}),vv=R.mark({class:"cm-md-setext-source"}),$v=R.mark({class:"cm-md-link"}),Tv=R.mark({class:"cm-md-url"}),Cv=R.mark({class:"cm-md-strong"}),Xv=R.mark({class:"cm-md-emphasis"}),_v=R.mark({class:"cm-md-strikethrough"}),Rv=R.mark({class:"cm-md-highlight"}),Av=R.line({class:"cm-md-frontmatter"}),Zv=R.line({class:"cm-md-frontmatter-first"}),Ev=R.line({class:"cm-md-frontmatter-last"}),qv=R.mark({class:"cm-md-frontmatter-delim"}),zv=R.line({attributes:{dir:"auto"}});function Ng(i){let e=[];for(let t=1;t<=i.doc.lines;t++)e.push(zv.range(i.doc.line(t).from));return R.set(e)}var Lv=fe.define({create:Ng,update(i,e){return e.docChanged?Ng(e.state):i},provide:i=>q.decorations.from(i)});function Ao(i,e){let t="",n=null,r=[];for(let g=e.node.firstChild;g;g=g.nextSibling)g.name==="CodeInfo"&&(n=g,t=i.doc.sliceString(g.from,g.to)),g.name==="CodeMark"&&r.push(g);let s=t.trim().split(/\s+/,1)[0].toLowerCase(),o=i.doc.lineAt(e.from),a=r[0],l=o.to1&&(c=i.doc.lineAt(r[r.length-1].from).from);let h=i.sliceDoc(o.from,e.from),f=/^ {0,3}$/.test(h)?h.length:0,u=e.node.getChildren("CodeText"),O=u.map((g,Q)=>{let S=Q?i.doc.lineAt(g.from).number-i.doc.lineAt(u[Q-1].to).number:0;return` -`.repeat(S)+i.sliceDoc(g.from,g.to)}).join("").replace(new RegExp("^ {0,"+f+"}","gm"),""),m=s?"":DP(O),p=n?.from??a?.to??o.to,b=n?.to??p;return{explicitLanguage:s,language:s||m,detectedLanguage:m,metadata:t.trim().split(/\s+/).slice(1).join(" "),rawInfo:t,infoFrom:p,infoTo:b,sourceFrom:l,source:O}}function Co(i,e){let t=U(i).resolve(e,-1);for(;t;){if(t.name==="FencedCode")return{from:t.from,to:t.to,closed:t.node.lastChild?.name==="CodeMark"};t=t.parent}return null}var zh=ie.define(),Xt=fe.define({create:()=>null,update(i,e){if(e.docChanged)return null;for(let t of e.effects)if(t.is(zh))return t.value;return i?.activateOnSelection&&e.isUserEvent("select.pointer")?{selection:e.state.selection.main,focused:!0,fence:e.state.field(tn),activateOnSelection:!1}:i}}),Mv=De.fromClass(class{constructor(i){this.view=i,this.releaseTimer=null,this.down=e=>{e.button!==0||e.target.closest("input, textarea, button, select, .cm-md-table-cell")||(clearTimeout(this.releaseTimer),!i.state.field(Xt)&&i.dispatch({effects:zh.of({selection:i.state.selection.main,focused:i.hasFocus,fence:i.state.field(tn),activateOnSelection:e.detail===1&&!e.shiftKey&&!e.metaKey&&!e.ctrlKey&&!e.altKey})}))},this.finish=()=>{i.state.field(Xt)&&(clearTimeout(this.releaseTimer),this.releaseTimer=setTimeout(()=>this.release(),0))},this.release=()=>{clearTimeout(this.releaseTimer),i.state.field(Xt)&&i.dispatch({effects:zh.of(null)})},this.move=e=>{e.buttons===0&&this.finish()},i.contentDOM.addEventListener("mousedown",this.down,!0),i.contentDOM.addEventListener("keydown",this.release,!0),i.dom.ownerDocument.addEventListener("mouseup",this.finish),i.dom.ownerDocument.addEventListener("mousemove",this.move),i.dom.ownerDocument.addEventListener("dragend",this.finish),i.win.addEventListener("blur",this.finish)}destroy(){clearTimeout(this.releaseTimer);let i=this.view;i.contentDOM.removeEventListener("mousedown",this.down,!0),i.contentDOM.removeEventListener("keydown",this.release,!0),i.dom.ownerDocument.removeEventListener("mouseup",this.finish),i.dom.ownerDocument.removeEventListener("mousemove",this.move),i.dom.ownerDocument.removeEventListener("dragend",this.finish),i.win.removeEventListener("blur",this.finish)}}),Wv=q.mouseSelectionStyle.of((i,e)=>{if(e.button!==0||e.detail!==1||e.shiftKey||e.metaKey||e.ctrlKey||e.altKey)return null;let t=i.posAtCoords({x:e.clientX,y:e.clientY});if(t==null)return null;let n=!1;return{update(r){t=r.changes.mapPos(t)},get(r){n||=Math.hypot(r.clientX-e.clientX,r.clientY-e.clientY)>3;let s=n?i.posAtCoords({x:r.clientX,y:r.clientY},!1)??t:t;return v.single(t,s)}}}),tn=fe.define({create:()=>null,update(i,e){i&&e.docChanged&&(i={from:e.changes.mapPos(i.from,1),to:e.changes.mapPos(i.to,-1)});let t=e.state.selection.main;if(!t.empty)return null;let n=t.head;return e.isUserEvent("select.pointer")||!i&&e.docChanged&&e.isUserEvent("input")?Co(e.state,n):!i||ni.to?null:e.docChanged&&Co(e.state,n)||i}});function Po(i){let e=[],t=i.field(tn);return(Ls(i,i.doc.length,80)||U(i)).iterate({enter(r){if(r.name!=="FencedCode")return;let s=Ao(i,r),o=t!=null&&r.from<=t.from&&r.to>=t.to;if(s.language==="mermaid"&&!o&&!_o(i,r.from,r.to))return e.push(R.replace({block:!0,widget:new Ah(s.source)}).range(r.from,r.to)),!1}}),R.set(e,!0)}var jv=fe.define({create:i=>Po(i),update:(i,e)=>{if(e.state.field(Xt))return e.startState.field(Xt)?.activateOnSelection&&!e.state.field(Xt).activateOnSelection?Po(e.state):i;if(e.startState.field(Xt))return Po(e.state);let t=e.startState.field(tn),n=e.state.field(tn),r=t?.from!==n?.from||t?.to!==n?.to,s=!1;return e.docChanged&&e.changes.iterChanges((o,a,l,c,h)=>{if(s)return;let u=e.startState.doc.sliceString(o,a)+h.toString();s=/[`~]|mermaid/i.test(u)}),r||s||e.effects.some(o=>o.is(Eo))||e.docChanged&&e.state.field(vi).query?Po(e.state):e.docChanged?i.map(e.changes):i},provide:i=>q.decorations.from(i)});function Vv(i,e){let t=e.get(i.sourceFrom);if(t?.language===i.detectedLanguage&&t.source===i.source)return t.tokens;let n=[],r=Be.matchLanguageName(Jg,i.detectedLanguage,!1)?.support?.language;return r&&As(r.parser.parse(i.source),n0,(s,o,a)=>{n.push({from:s,to:o,mark:R.mark({class:a})})}),e.set(i.sourceFrom,{language:i.detectedLanguage,source:i.source,tokens:n}),n}function Fg(i,e){let t=[],{state:n}=i,r=n.field(Xt),s=r?.selection??n.selection.main,o=r?r.fence:n.field(tn),l=(r?r.focused:i.hasFocus)&&(s.empty||i.compositionStarted)?s.head:null,c=(k,w)=>_o(n,k,w)||l!=null&&l>=k&&l<=w,h=k=>{let w=n.doc.lineAt(k);return c(w.from,w.to)},f=k=>_o(n,k.from,k.to)||o!=null&&k.from<=o.from&&k.to>=o.to,u=k=>l!=null&&l>k&&l{let z=n.doc.lineAt(k),N=w.spec.class+"@"+z.from;O.has(N)||(O.add(N),t.push(w.range(z.from)))},b=(k,w,z)=>{let N=k;for(;N<=w;){let y=n.doc.lineAt(N);if(p(y.from,z),y.to>=w)break;N=y.to+1}},g=k=>{let w=0;for(let z of k)w=z===" "?w+(4-w%4):w+1;return w},Q=(k,w)=>{let z=w[1],N=w[2],y=w[3],j=k.from+z.length,ye=j+N.length,nt=Math.floor(g(z)/4)+1;if(p(k.from,wo),p(k.from,Ch(nt)),m.add(k.from),k.number>1&&En.test(n.doc.line(k.number-1).text)&&p(k.from,Ug),z.length>0&&t.push(Ge.range(k.from,j)),/^[-+*]$/.test(N)&&/^\s*\[[ xX]\](\s|$)/.test(k.text.slice(ye-k.from))){let B=k.text.slice(ye-k.from).match(/^[ \t]*\[([ xX])\][ \t]?/),F=ye+B[0].indexOf("[");if(u(F))return;p(k.from,Ig),B[1]!==" "&&p(k.from,Th),t.push(R.replace({widget:new Ro(F+1,B[1]!==" ")}).range(j,ye+B[0].length))}else/^[-+*]$/.test(N)&&(h(j)?(t.push(Lg.range(j,ye)),y.length>0&&t.push(Ge.range(ye,ye+y.length))):t.push(zg.range(j,ye+y.length)))},S=k=>{let w=n.doc.lineAt(k),z=w.number,N=Math.max(z-64,1);for(;z>N&&n.doc.line(z-1).text.length===0;)z--;return{line:w,first:z,count:w.number-z}},x=k=>{switch(k.name){case"Blockquote":{let w=n.doc.lineAt(k.from);return/^ {0,3}> ?\[!(note|tip|important|warning|caution)\]/i.test(w.text)?Qt.alert:Qt.quote}case"Table":return Qt.table;case"HorizontalRule":return Qt.hr;case"FencedCode":return Ao(n,k).language==="mermaid"?Qt.table:Qt.paragraph;default:return Qt.paragraph}},P=-1,$=k=>{let w=n.doc.lineAt(k.from);w.number===1||w.from<=P||S(k.from).count===0&&p(n.doc.line(w.number-1).from,uv(x(k)))},Z=k=>{let w=S(k.from);if(w.count===0)return;let z=n.doc.line(w.line.number-1);if(w.first===1){p(z.from,$h(Qt.blankGap+x(k)));return}let N=x(k),y=Qt.blankGap+N;p(z.from,$h(y))},X=0,W=[],T=[],C=new Map;for(let{from:k,to:w}of i.visibleRanges){let z=null;U(n).iterate({from:k,to:w,enter:y=>{X++;let j=y.name;if(X===2&&j==="Document"&&(z=X),z!=null&&X===z+1&&fv.has(j)&&(Z(y),$(y)),j==="Frontmatter"){let _=y.to>y.from&&n.doc.lineAt(y.to).from===y.to?y.to-1:y.to;P=_,b(y.from,_,Av),p(y.from,Zv),p(n.doc.lineAt(_).from,Ev);return}if(j==="DashLine"){t.push(qv.range(y.from,y.to));return}let ye=j.match(/^ATXHeading(\d)$/);if(ye){p(y.from,qh[+ye[1]]),S(y.from).count>0&&p(y.from,Wg),h(y.from)||p(y.from,cv);return}let nt=j.match(/^SetextHeading(\d)$/);if(nt){p(y.from,qh[+nt[1]]),S(y.from).count>0&&p(y.from,Wg);return}if(j==="HeaderMark"){let _=y.node.parent;if(_&&/^ATXHeading/.test(_.name)){t.push(wv.range(y.from,y.to));let B=n.doc.sliceString(y.to,y.to+1),F=y.to+(B===" "?1:0),G=y.from===_.from,ae=n.doc.lineAt(y.from),re=G&&/^ {0,3}$/.test(n.doc.sliceString(ae.from,y.from))?ae.from:y.from;G&&t.push(xv.range(re,F)),h(y.from)||t.push(kv.range(re,F))}else _&&/^SetextHeading/.test(_.name)&&(p(y.from,Pv),t.push(vv.range(y.from,y.to)));return}if(j==="Blockquote"){T.push(y.from);let _=n.doc.lineAt(y.from),B=y.node.parent?.name==="Blockquote",F=y.node.prevSibling;for(;F?.name==="QuoteMark";)F=F.prevSibling;let G=B&&F?Qt.quote:0,ae=y.from;for(;ae<=y.to;){let re=n.doc.lineAt(ae),$e=C.get(re.from)||{depth:0,starts:0,ends:0,gap:0};if($e.depth=Math.max($e.depth,T.length),re.from===_.from&&($e.starts++,$e.gap+=G),re.to>=y.to&&$e.ends++,C.set(re.from,$e),re.to>=y.to)break;ae=re.to+1}return}if(j==="QuoteMark"){if(!h(y.from)){let _=n.doc.sliceString(y.to,y.to+1);t.push(Ge.range(y.from,y.to+(_===" "?1:0)))}return}if(j==="Paragraph"&&/^(Blockquote|ListItem)$/.test(y.node.parent?.name||"")){let _=n.doc.lineAt(y.from);if(_.number>n.doc.lineAt(y.node.parent.from).number){let B=n.doc.line(_.number-1);/^(?:[ >]*)$/.test(B.text)&&p(B.from,$h(Qt.paragraph))}}if(j==="Escape"&&!c(y.from,y.to)){t.push(Ge.range(y.from,y.from+1));return}if(j==="StrongEmphasis"){t.push(Cv.range(y.from,y.to));return}if(j==="Emphasis"){t.push(Xv.range(y.from,y.to));return}if(j==="Strikethrough"){t.push(_v.range(y.from,y.to));return}if(j==="Highlight"){let _=[];for(let G=y.node.firstChild;G;G=G.nextSibling)G.name==="HighlightMark"&&_.push(G);let B=_.length?_[0].to:y.from,F=_.length>1?_[_.length-1].from:y.to;B1?_[_.length-1].from:y.to;B")?B.slice(1,-1):B;if(!F||F.startsWith("//"))return!1;let G=y.from+2;for(let re=y.node.firstChild;re;re=re.nextSibling)if(re.name==="LinkMark"&&n.doc.sliceString(re.from,re.to)==="]"){G=re.from;break}let ae=n.doc.sliceString(y.from+2,G);if(!c(y.from,y.to)){let re=n.doc.lineAt(y.from);re.text.trim()===n.doc.sliceString(y.from,y.to)&&p(re.from,hv),t.push(R.replace({widget:new _h(F,ae,n.doc.sliceString(y.from,y.to),y.from,y.to)}).range(y.from,y.to))}return!1}if(j==="Link"){y.node.getChild("URL")&&t.push($v.range(y.from,y.to));return}if(j==="LinkMark"){let _=y.node.parent;_&&_.name==="Link"&&_.getChild("URL")&&!c(_.from,_.to)&&t.push(Ge.range(y.from,y.to));return}if(j==="URL"){let _=y.node.parent;_&&_.name==="Link"&&(c(_.from,_.to)?t.push(Tv.range(y.from,y.to)):t.push(Ge.range(y.from,y.to)));return}if(j==="BulletList"||j==="OrderedList"){W.push(y.from);return}if(j==="ListItem"){let _=y.from===W[W.length-1],B=W.length>1,F=n.doc.lineAt(y.from),G=F.number>1&&n.doc.line(F.number-1).text.trim()==="";if((!_||B)&&!G&&p(y.from,Ug),b(y.from,y.to,wo),/^[ \t]*[-+*][ \t]+\[[xX]\](?:[ \t]|$)/.test(n.doc.sliceString(y.from,F.to))){let bt=y.from;for(let Ne=y.node.firstChild;Ne;Ne=Ne.nextSibling)Ne.name!=="BulletList"&&Ne.name!=="OrderedList"||(b(bt,n.doc.lineAt(Ne.from).from-1,Th),bt=n.doc.lineAt(Ne.to).to+1);b(bt,y.to,Th)}p(y.from,Ch(W.length)),m.add(n.doc.lineAt(y.from).from);{let Ne=n.doc.lineAt(y.from).to+1;for(;Ne<=y.to;){let rt=n.doc.lineAt(Ne),H=rt.text;if(H.length>0&&!En.test(H)){p(rt.from,dv),p(rt.from,Ch(W.length));let Lt=H.match(/^[ \t]+/);Lt&&t.push(Ge.range(rt.from,rt.from+Lt[0].length))}if(rt.to>=y.to)break;Ne=rt.to+1}}let ae=n.doc.lineAt(y.from),$e=ae.text.match(En)?.[1]??"";$e.length>0&&t.push(Ge.range(ae.from,ae.from+$e.length));return}if(j==="ListMark"){let _=n.doc.sliceString(y.from,y.to),B=n.doc.lineAt(y.from),F=/^\s*\[[ xX]\](\s|$)/.test(B.text.slice(y.to-B.from));if(F&&/^[-+*]$/.test(_)){let G=B.text.slice(y.to-B.from).match(/^[ \t]*\[([ xX])\][ \t]?/),ae=y.to+G[0].indexOf("[");if(u(ae))return;p(B.from,Ig),t.push(R.replace({widget:new Ro(ae+1,G[1]!==" ")}).range(y.from,y.to+G[0].length))}else if((_==="-"||_==="*"||_==="+")&&!F){let G=n.doc.sliceString(y.to,y.to+1);h(y.from)?(t.push(Lg.range(y.from,y.to)),G===" "&&t.push(Ge.range(y.to,y.to+1))):t.push(zg.range(y.from,y.to+(G===" "?1:0)))}else if(/^\d+[.)]$/.test(_)&&!F){let G=n.doc.sliceString(y.to,y.to+1);h(y.from)?(t.push(rv.range(y.from,y.to)),G===" "&&t.push(Ge.range(y.to,y.to+1))):t.push(nv(_).range(y.from,y.to+(G===" "?1:0)))}return}if(j==="FencedCode"||j==="CodeBlock"){let _=n.doc.lineAt(y.from),B=n.doc.lineAt(y.to),F=j==="FencedCode"&&y.node.lastChild?.name==="CodeMark",G=B.number-_.number>=(F?2:1),ae=j==="FencedCode"&&!h(_.from),re=F&&!h(B.from),$e=ae&&G?n.doc.line(_.number+1):_,bt=G?$e:_,Ne=!G&&j==="FencedCode"?_:re?n.doc.line(B.number-1):B;if(j==="FencedCode"){let H=Ao(n,y);if(H.detectedLanguage)for(let Lt of Vv(H,e))t.push(Lt.mark.range(H.sourceFrom+Lt.from,H.sourceFrom+Lt.to));t.push(R.widget({widget:new Xo({wrapped:n.field(qn).has(_.from),fenceFrom:y.from,language:H.language,detectedLanguage:H.detectedLanguage,rawInfo:H.rawInfo,infoFrom:H.infoFrom,infoTo:H.infoTo}),side:-1}).range(bt.from))}else t.push(R.widget({widget:new Xo({fenceFrom:_.from,language:"text",rawInfo:"",plain:!0,wrapped:n.field(qn).has(_.from)}),side:-1}).range(bt.from));let rt=y.from;for(;rt<=y.to;){let H=n.doc.lineAt(rt),Lt=j==="CodeBlock"&&O.has(`${wo.spec.class}@${H.from}`)?H.text.match(En):null;if(Lt){if(Q(H,Lt),H.to>=y.to)break;rt=H.to+1;continue}let Ih=j==="FencedCode"&&H.from===bt.from;if((ae&&H.from===_.from||re&&H.from===B.from)&&!Ih)p(H.from,jg);else if(j==="FencedCode"&&!G&&H.from!==_.from&&!Ih)p(H.from,jg);else{let Mn=H.from===$e.from,Bh=H.from===Ne.from;Mn&&p(H.from,mv),Bh&&p(H.from,gv),!Mn&&!Bh&&p(H.from,pv),t.push(R.line({attributes:{"data-code-scroll-group":String(_.from),class:n.field(qn).has(_.from)?"cm-md-code-wrapped":""}}).range(H.from)),H.length&&t.push(Qv.range(H.from,H.to))}if(j==="CodeBlock"&&!h(H.from)){let Mn=H.text.match(/^(?: {4}|\t)/)?.[0];Mn&&t.push(Ge.range(H.from,H.from+Mn.length))}if(H.to>=y.to)break;rt=H.to+1}return}if(j==="CodeInfo"){let _=y.node.parent;if(!_)return;h(_.from)&&t.push(Sv.range(y.from,y.to));return}if(j==="Table"){b(y.from,y.to,bv);return}if(j==="HorizontalRule"){h(y.from)||(p(y.from,ov),t.push(sv.range(y.from,y.to)));return}},leave:y=>{X--;let j=y.name;(j==="BulletList"||j==="OrderedList")&&W.pop(),j==="Blockquote"&&T.pop()}});for(let[y,j]of C)p(y,Ov(j.depth,j.starts,j.ends,j.gap));C.clear();let N=k;for(;N<=w;){let y=n.doc.lineAt(N);if(O.has(`${wo.spec.class}@${y.from}`)&&!m.has(y.from)){let ye=y.text.match(En);ye&&Q(y,ye)}if(y.to>=w)break;N=y.to+1}}return R.set(t,!0)}function Lh(i){let e=i.selection.main,t=new Set,n=0;for(let r=U(i).resolveInner(e.from,1);r;r=r.parent){if(r.toi.decorations,provide:i=>q.blockWrappers.of(e=>e.plugin(i)?.codeWrappers??ci.set([]))}),Yv=De.fromClass(class{constructor(i){this.schedule(i)}update(i){(i.docChanged||i.selectionSet||i.viewportChanged||i.geometryChanged||i.focusChanged)&&this.schedule(i.view)}docViewUpdate(i){this.schedule(i)}schedule(i){i.requestMeasure({key:this,read(e){return Array.from(e.dom.querySelectorAll(".cm-md-heading-prefix")).map(t=>{let n=t.closest(".cm-line");return n?{line:n,width:t.getBoundingClientRect().width}:null}).filter(Boolean)},write(e){for(let{line:t,width:n}of e){let r=`${n}px`;t.style.getPropertyValue("--cm-md-heading-prefix-width")!==r&&t.style.setProperty("--cm-md-heading-prefix-width",r)}}})}});function Hg(i){let e=[],t=i.selection.main,n=(s,o)=>t.from<=o&&t.to>=s;return(Ls(i,i.doc.length,80)||U(i)).iterate({enter:s=>{let o=s.name;if(o==="FencedCode"||o==="CodeBlock"||o==="HTMLBlock")return!1;if(o!=="Paragraph")return;if(n(s.from,s.to))return!1;let a=i.doc.lineAt(s.from);for(;a.toHg(i),update:(i,e)=>e.docChanged||e.selection?Hg(e.state):i,provide:i=>q.decorations.from(i)}),n0=kn.define([{tag:[d.keyword,d.modifier,d.operatorKeyword,d.controlKeyword,d.definitionKeyword,d.moduleKeyword],class:"hl-keyword"},{tag:[d.string,d.special(d.string),d.regexp],class:"hl-string"},{tag:[d.comment,d.blockComment,d.lineComment],class:"hl-comment"},{tag:[d.number,d.integer,d.float,d.character],class:"hl-number"},{tag:[d.bool,d.atom,d.null],class:"hl-keyword"},{tag:[d.typeName,d.namespace],class:"hl-type"},{tag:[d.className,d.definition(d.typeName)],class:"hl-declaration"},{tag:[d.function(d.variableName),d.function(d.propertyName),d.macroName],class:"hl-function"},{tag:[d.propertyName,d.labelName],class:"hl-property"},{tag:d.attributeName,class:"hl-attribute"},{tag:[d.standard(d.variableName),d.standard(d.typeName)],class:"hl-builtin"},{tag:[d.meta,d.processingInstruction],class:"hl-meta"},{tag:[d.punctuation,d.operator],class:"hl-plain"}]);function zt(i){return e=>{let t=e.state.changeByRange(n=>{let{from:r,to:s}=n;for(;rr&&/\s/.test(e.state.sliceDoc(s-1,s));)s--;let o=i.length,a=e.state.sliceDoc(Math.max(0,r-o),r),l=e.state.sliceDoc(s,s+o);if(a===i&&l===i)return{changes:[{from:r-o,to:r,insert:""},{from:s,to:s+o,insert:""}],range:v.range(r-o,s-o)};let c=e.state.sliceDoc(r,s);return c.startsWith(i)&&c.endsWith(i)&&c.length>=o*2?{changes:{from:r,to:s,insert:c.slice(o,c.length-o)},range:v.range(r,s-o*2)}:{changes:{from:r,to:s,insert:i+c+i},range:v.range(r+o,s+o)}});return e.dispatch(t,{scrollIntoView:!0,userEvent:"input"}),!0}}function Yh(i,e){let t=i.selection.main,n=i.doc.lineAt(t.from).number,r=i.doc.lineAt(t.to).number,s=[];for(let o=n;o<=r;o++)s.push(i.doc.line(o));return e(s)}function Xh(i,e){return t=>{let n=Yh(t.state,r=>{let s=r.every(o=>e.test(o.text));return r.map(o=>{if(s){let a=o.text.match(e);return{from:o.from,to:o.from+a[0].length,insert:""}}return e.test(o.text)?null:{from:o.from,insert:i}}).filter(Boolean)});return n.length&&jr(t,n),!0}}function jr(i,e){let t=i.state.changes(e),n=i.state.selection.main;i.dispatch({changes:e,selection:v.range(t.mapPos(n.anchor,1),t.mapPos(n.head,1)),userEvent:"input"})}function Iv(i){let e=/^\d+\.\s/,t=Yh(i.state,n=>{let r=n.every(o=>e.test(o.text)),s=1;return n.map(o=>{if(r){let a=o.text.match(e);return{from:o.from,to:o.from+a[0].length,insert:""}}return e.test(o.text)?null:{from:o.from,insert:`${s++}. `}}).filter(Boolean)});return t.length&&jr(i,t),!0}function Mh(i){let e=i.selection.main,t=i.doc.lineAt(e.from).number,n=i.doc.lineAt(e.empty?e.to:e.to-1).number;return Array.from({length:n-t+1},(r,s)=>i.doc.line(t+s))}function r0(i){let e=/^([ \t]*(?:>[ \t]*)*)(?:([-+*]|\d+[.)])([ \t]+)(\[[ xX]\][ \t]+)?)?/.exec(i);return{prefix:e[0],indent:e[1],style:e[2]?e[4]?"task":/^\d/.test(e[2])?"ordered":"bullet":"none"}}function zn(i,e,t){for(let n=U(i).resolve(e,1);n;n=n.parent)if(t.includes(n.name))return n;return null}function s0(i){return Mh(i).filter(e=>!/^[ \t>]*$/.test(e.text)&&!zn(i,e.from+e.text.search(/\S/),["FencedCode","CodeBlock"]))}function Bv(i,e){if(!["none","bullet","ordered","task"].includes(e))return!1;let t=s0(i.state).map((n,r)=>{let s=r0(n.text);if(s.style===e)return null;let o=e==="none"?"":e==="bullet"?"- ":e==="task"?"- [ ] ":`${r+1}. `;return{from:n.from,to:n.from+s.prefix.length,insert:s.indent+o}}).filter(Boolean);return t.length&&jr(i,t),i.focus(),!0}function en(i){return e=>{let t=Yh(e.state,n=>n.map(r=>{let s=r.text.match(/^(#{1,6})\s+/),a=(s?s[1].length:0)===i||i===0?"":"#".repeat(i)+" ";return{from:r.from,to:r.from+(s?s[0].length:0),insert:a}}));return e.dispatch({changes:t,userEvent:"input"}),!0}}function o0(i){let e={InlineCode:"code",FencedCode:"fenced",CodeBlock:"plain",Blockquote:"quote",Table:"table"};for(let t=U(i).resolve(i.selection.main.head,i.selection.main.empty?1:-1);t;t=t.parent)if(e[t.name])return{style:e[t.name],node:t};return{style:"none",node:null}}function Uv(i,e,t=""){if(!["none","quote","code","plain","fenced","table"].includes(e))return!1;let n=i.state,r=n.selection.main,s=o0(n),o=s.node&&r.from>=s.node.from&&r.to<=s.node.to;if(e==="code"&&(!o||s.style==="code"))return s.style!=="code"&&zt("`")(i),i.focus(),!0;if(e==="table"){let m=zn(n,r.to,["FencedCode"]),p=m?m.to:n.doc.lineAt(r.to).to,g=(m&&m.lastChild?.name!=="CodeMark"?` +`:"")}var NP=1,Mr=null,FP=xi.parser.configure(Wh),t0=new WeakMap;function vh(i,e){let t={StrongEmphasis:"cm-md-strong",Emphasis:"cm-md-emphasis",Strikethrough:"cm-md-strikethrough",Highlight:"cm-md-highlight"},n=(o,a,l)=>{if(!a)return;let c=document.createTextNode(a);t0.set(c,l),o.append(c)},r=(o,a,l,c)=>{let h=l;for(let f=a.firstChild;f;f=f.nextSibling)f.fromc||(n(o,e.slice(h,f.from),h),s(o,f),h=f.to);n(o,e.slice(h,c),h)},s=(o,a)=>{if(a.name==="InlineCode"){let l=document.createElement("code");l.className="cm-md-inline-code";let c=e.slice(a.firstChild.to,a.lastChild.from).replace(/\n/g," "),h=c.startsWith(" ")&&c.endsWith(" ")&&/[^ ]/.test(c);h&&(c=c.slice(1,-1)),n(l,c,a.firstChild.to+(h?1:0)),o.append(l)}else if(t[a.name]){let l=document.createElement("span");l.className=t[a.name],r(l,a,a.firstChild.to,a.lastChild.from),o.append(l)}else if(a.name==="Link"&&a.getChild("URL")){let l=a.getChildren("LinkMark"),c=document.createElement("span");c.className="cm-md-link",r(c,a,l[0].to,l[1].from),o.append(c)}else a.name==="Escape"?n(o,e.slice(a.from+1,a.to),a.from+1):a.name==="Image"?n(o,e.slice(a.from,a.to),a.from):r(o,a,a.from,a.to)};i.replaceChildren(),s(i,FP.parse(e).topNode)}var ke=new WeakMap,i0=Te.define(),Dh=new WeakMap,HP=new Set(["bold","italic","strikethrough","highlight","code","link"]);function Eo(i,e){if(e.invalid||e.tableFrom<0||e.tableFrom>=i.state.doc.length)return null;let n=i.state.doc.lineAt(e.tableFrom).number+(e.row===0?0:e.row+1);if(n>i.state.doc.lines)return null;let r=i.state.doc.line(n),s=$o(r.text,!0)[e.column];return s?{from:r.from+s.from,to:r.from+Math.max(s.from,s.to)}:null}function Ln(i){let e=ke.get(i);if(!e||e.invalid||e.element.dataset.tableEditing!=="true")return;let t=window.getSelection();if(!t?.anchorNode||!t.focusNode||!e.element.contains(t.anchorNode)||!e.element.contains(t.focusNode))return;let n=(a,l)=>{let c=document.createRange();return c.selectNodeContents(e.element),c.setEnd(a,l),c.toString().length};e.anchor=n(t.anchorNode,t.anchorOffset),e.head=n(t.focusNode,t.focusOffset);let r=e.element.innerText||"",s=[e.anchor,e.head];Vh(r,s),e.sourceAnchor=s[0],e.sourceHead=s[1];let o=se.create({doc:r,selection:v.single(e.anchor,e.head),extensions:[Uc({extensions:Wh})]});Dh.get(i)?.(Lh(o))}function To(i){let e=ke.get(i);if(!e||e.invalid)return null;Ln(i),e.element.dataset.tableEditing==="true"&&e.element.blur();let t=Eo(i,e);if(!t)return null;let n=t.to-t.from;return i.dispatch({selection:v.single(t.from+Math.max(0,Math.min(e.sourceAnchor??e.anchor,n)),t.from+Math.max(0,Math.min(e.sourceHead??e.head,n)))}),e}function Co(i,e){let t=Eo(i,e);if(!t)return;let n=i.state.selection.main,r=Math.max(0,Math.min(n.anchor-t.from,t.to-t.from)),s=Math.max(0,Math.min(n.head-t.from,t.to-t.from)),o=i.dom.querySelector(`.cm-md-table-widget[data-table-from="${e.tableFrom}"] [data-table-row="${e.row}"][data-table-column="${e.column}"]`);if(!o)return;o.focus({preventScroll:!0});let a=o.firstChild||o.appendChild(document.createTextNode(""));window.getSelection()?.setBaseAndExtent(a,r,a,s),Ln(i)}var KP=Ye.fromClass(class{constructor(i){this.view=i,this.capture=()=>Ln(i),this.clear=e=>{e.target.closest?.(".cm-md-table-cell")||ke.delete(i)},document.addEventListener("selectionchange",this.capture),i.dom.addEventListener("mousedown",this.clear,!0)}update(i){let e=ke.get(this.view);e&&i.docChanged&&i.transactions.some(t=>t.docChanged&&!t.annotation(i0))&&ke.set(this.view,{...e,invalid:!0})}destroy(){document.removeEventListener("selectionchange",this.capture),this.view.dom.removeEventListener("mousedown",this.clear,!0),ke.delete(this.view),Dh.delete(this.view)}}),Eh=class extends Ce{constructor(e,t){super(),this.source=e,this.from=t}eq(e){return e.source===this.source&&e.from===this.from}toDOM(e){let t=jh(this.source),n=document.createElement("div");if(n.className="cm-md-table-widget",n.dataset.tableFrom=String(this.from),!t)return n.textContent=this.source,n;let r=null,s=null,o=null,a=!1,l=document.createElement("div");l.className="cm-md-table-scroll",n.appendChild(l);let c=document.createElement("table");c.className="cm-md-table-grid",l.appendChild(c);let h=(Q,S)=>{requestAnimationFrame(()=>requestAnimationFrame(()=>{let x=e.dom.querySelector(`.cm-md-table-widget[data-table-from="${this.from}"]`);(x&&x.querySelector(`[data-table-row="${Q}"][data-table-column="${S}"]`))?.focus()}))},f=(Q=null,S=!1)=>{let x=GP(t);if(x===this.source){Q&&n.querySelector(`[data-table-row="${Q.row}"][data-table-column="${Q.column}"]`)?.focus();return}r=null,e.dispatch({changes:{from:this.from,to:this.from+this.source.length,insert:x},annotations:S?i0.of(!0):[],userEvent:"input"}),Q&&h(Q.row,Q.column)},u=()=>{!r||r.element.dataset.tableEditing!=="true"||(t.rows[r.row][r.column]=r.element.innerText||"")},O=()=>{n.querySelectorAll(".is-table-part-selected").forEach(Q=>{Q.classList.remove("is-table-part-selected")}),n.classList.remove("is-table-row-selected","is-table-column-selected","is-table-range-selected"),n.removeAttribute("aria-label"),s=null},m=(Q,S,x)=>{if(u(),O(),Array.from(n.querySelectorAll(".cm-md-table-cell")).filter($=>{let Z=Number($.dataset.tableRow),_=Number($.dataset.tableColumn);return Z>=S.top&&Z<=S.bottom&&_>=S.left&&_<=S.right}).forEach($=>{$.classList.add("is-table-part-selected")}),n.classList.add(Q==="row"?"is-table-row-selected":Q==="column"?"is-table-column-selected":"is-table-range-selected"),window.getSelection()?.removeAllRanges(),s={kind:Q,row:x.row,column:x.column,bounds:S},ke.delete(e),n.tabIndex=0,Q==="range"){let $=S.bottom-S.top+1,Z=S.right-S.left+1;n.setAttribute("aria-label",`Selected ${$} rows by ${Z} columns.`)}else{let $=Q==="row"?x.row:x.column+1;n.setAttribute("aria-label",`Selected ${Q} ${$}. Press Delete to remove it.`)}n.focus()},p=(Q,S,x)=>{let P=Q==="row"?{top:S,right:t.alignments.length-1,bottom:S,left:0}:{top:0,right:x,bottom:t.rows.length-1,left:x};m(Q,P,{row:S,column:x})},b=(Q,S,x,P)=>{m("range",{top:Math.min(Q,x),right:Math.max(S,P),bottom:Math.max(Q,x),left:Math.min(S,P)},{row:Q,column:S})},g=(Q,S,x)=>{if(u(),Q==="selectRow"&&S>0)p("row",S,x);else if(Q==="selectColumn"&&t.alignments.length>1)p("column",S,x);else if(Q==="insertRowBefore"&&S>0)t.rows.splice(S,0,Array(t.alignments.length).fill("")),f({row:S,column:x});else if(Q==="insertRowAfter")t.rows.splice(S+1,0,Array(t.alignments.length).fill("")),f({row:S+1,column:x});else if(Q==="duplicateRow"&&S>0)t.rows.splice(S+1,0,[...t.rows[S]]),f({row:S+1,column:x});else if(Q==="deleteRow"&&S>0)t.rows.splice(S,1),f({row:Math.min(S,t.rows.length-1),column:x});else if(Q==="insertColumnBefore"){for(let P of t.rows)P.splice(x,0,"");t.alignments.splice(x,0,"none"),f({row:S,column:x})}else if(Q==="insertColumnAfter"){for(let P of t.rows)P.splice(x+1,0,"");t.alignments.splice(x+1,0,"none"),f({row:S,column:x+1})}else if(Q==="deleteColumn"&&t.alignments.length>1){for(let P of t.rows)P.splice(x,1);t.alignments.splice(x,1),f({row:S,column:Math.min(x,t.alignments.length-1)})}};return t.rows.forEach((Q,S)=>{let x=document.createElement("tr");c.appendChild(x),Q.forEach((P,$)=>{let Z=document.createElement(S===0?"th":"td"),_=document.createElement("div");if(_.className="cm-md-table-cell",_.contentEditable="plaintext-only",_.spellcheck=!0,vh(_,P),_.dataset.tableRow=String(S),_.dataset.tableColumn=String($),S===0){let W=`Column ${$+1}`;_.dataset.placeholder=W;let T=()=>{(_.innerText||"").trim()?_.removeAttribute("aria-label"):_.setAttribute("aria-label",W)};T(),_.addEventListener("input",T)}t.alignments[$]!=="none"&&(_.style.textAlign=t.alignments[$]),_.addEventListener("focus",()=>{O(),(_.textContent!==t.rows[S][$]||_.childElementCount)&&(_.textContent=t.rows[S][$]),_.dataset.tableEditing="true",ke.set(e,{tableFrom:this.from,row:S,column:$,element:_,anchor:0,head:0}),r={row:S,column:$,element:_}}),_.addEventListener("contextmenu",W=>{W.preventDefault(),_.focus(),r={row:S,column:$,element:_};let T=String(NP++);Mr={token:T,perform:C=>g(C,S,$)},window.__mdRequestTableContextMenu?.({token:T,canInsertRowAbove:S>0,canDuplicateRow:S>0,canDeleteRow:S>0,canDeleteColumn:t.alignments.length>1,showsDuplicateRow:!0})}),_.addEventListener("blur",()=>{if(Ln(e),!r||r.element!==_)return;let W=_.innerText||"",T=W!==t.rows[S][$]||!Eo(e,{tableFrom:this.from,row:S,column:$});t.rows[S][$]=W,r=null,delete _.dataset.tableEditing,vh(_,t.rows[S][$]),T&&f(null,!0)}),_.addEventListener("keydown",W=>{if((W.metaKey||W.ctrlKey)&&["b","i"].includes(W.key.toLowerCase())){W.preventDefault();let w=To(e);if(!w)return;zt(W.key.toLowerCase()==="b"?"**":"*")(e),w&&Co(e,w);return}if(W.key==="Escape"){W.preventDefault(),r=null,_.blur(),delete _.dataset.tableEditing,vh(_,t.rows[S][$]),ke.delete(e),e.focus();return}if(W.key!=="Tab"&&W.key!=="Enter")return;W.preventDefault(),t.rows[S][$]=_.innerText||"";let T=W.key==="Tab"&&W.shiftKey,C=S,k=$+(T?-1:1);k<0?(C--,k=t.alignments.length-1):k>=t.alignments.length&&(C++,k=0),C<0?(C=0,k=0):C>=t.rows.length&&t.rows.push(Array(t.alignments.length).fill("")),f({row:C,column:k})}),Z.appendChild(_),x.appendChild(Z)})}),n.addEventListener("mousedown",Q=>{if(Q.button!==0)return;let S=Q.target.closest?.(".cm-md-table-cell");if(!S)return;let x=Number(S.dataset.tableRow),P=Number(S.dataset.tableColumn);if(!Number.isInteger(x)||x<0||!Number.isInteger(P))return;Q.stopPropagation();let $=null;if(S.dataset.tableEditing!=="true"&&Q.detail===1&&!Q.shiftKey&&!Q.metaKey&&!Q.ctrlKey&&!Q.altKey&&S.textContent!==t.rows[x][P]){let T=document.caretRangeFromPoint?.(Q.clientX,Q.clientY),C=T&&t0.get(T.startContainer);C!=null&&S.contains(T.startContainer)&&($=C+T.startOffset,Q.preventDefault())}S.focus({preventScroll:!0});let Z=T=>{let C=S.firstChild;C&&window.getSelection()?.setBaseAndExtent(C,$,C,T)};$!=null&&Z($),o={cell:S,row:x,column:P,head:S,active:!1,dragged:!1};let _=T=>{document.removeEventListener("mousemove",W,!0),document.removeEventListener("mouseup",_,!0),o?.active?(T.preventDefault(),window.getSelection()?.removeAllRanges(),a=!0):Ln(e),o=null},W=T=>{if(!o)return;let k=document.elementFromPoint?.(T.clientX,T.clientY)?.closest?.(".cm-md-table-cell")||T.target.closest?.(".cm-md-table-cell");if(!(!k||!n.contains(k))){if(k===o.cell&&!o.active){if($!=null&&(T.preventDefault(),o.dragged||=Math.hypot(T.clientX-Q.clientX,T.clientY-Q.clientY)>3,o.dragged)){let w=document.caretRangeFromPoint?.(T.clientX,T.clientY);w?.startContainer===S.firstChild&&Z(w.startOffset)}return}k!==o.head&&(T.preventDefault(),o.active=!0,o.head=k,b(o.row,o.column,Number(k.dataset.tableRow),Number(k.dataset.tableColumn)))}};document.addEventListener("mousemove",W,!0),document.addEventListener("mouseup",_,!0)},!0),n.addEventListener("click",Q=>{a&&(a=!1,Q.preventDefault(),Q.stopPropagation())},!0),n.addEventListener("keydown",Q=>{if(!s)return;if(Q.key==="Escape"){Q.preventDefault(),O(),e.focus();return}if(Q.key!=="Backspace"&&Q.key!=="Delete")return;if(s.kind==="range"){Q.preventDefault();return}Q.preventDefault();let S=s;O(),g(S.kind==="row"?"deleteRow":"deleteColumn",S.row,S.column)}),n}ignoreEvent(){return!0}},qo=ie.define();function $h(i,e,t,n=0){let r=[];if(e){let o=new RegExp(e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),"giu"),a=i.toString();for(let l of a.matchAll(o)){let c=l.index;(!t||c===0||!/[A-Za-z0-9_]/.test(a[c-1]))&&r.push({from:c,to:c+l[0].length})}}n=r.length?Math.min(Math.max(n,0),r.length-1):-1;let s=R.set(r.map((o,a)=>R.mark({class:a===n?"cm-find-match cm-find-current":"cm-find-match"}).range(o.from,o.to)));return{query:e,beginsWith:t,matches:r,index:n,decorations:s}}var vi=fe.define({create:i=>$h(i.doc,"",!1),update(i,e){for(let t of e.effects)if(t.is(qo)){let{query:n,beginsWith:r,index:s}=t.value;return $h(e.state.doc,n,r,s)}return e.docChanged?$h(e.state.doc,i.query,i.beginsWith,i.index):i},provide:i=>q.decorations.from(i,e=>e.decorations)});function Ro(i,e,t){let n=i.field(vi),r=n.matches[n.index];return!!r&&r.frome}var JP=q.baseTheme({".cm-find-match":{backgroundColor:"#ffe58a",color:"#201800",borderRadius:"2px"},".cm-find-current":{backgroundColor:"#ffad33",outline:"1px solid #9b5700"}});function qg(i){let e=[];return(Ls(i,i.doc.length,80)||G(i)).iterate({enter(n){if(n.name!=="Table")return;if(Ro(i,n.from,n.to))return!1;let r=i.doc.sliceString(n.from,n.to);if(jh(r))return e.push(R.replace({block:!0,widget:new Eh(r,n.from)}).range(n.from,n.to)),!1}}),R.set(e,!0)}var ev=fe.define({create:qg,update:(i,e)=>e.docChanged||e.effects.some(t=>t.is(qo))?qg(e.state):i,provide:i=>q.decorations.from(i)}),Ao=class extends Ce{constructor(e,t){super(),this.from=e,this.checked=t}eq(e){return this.from===e.from&&this.checked===e.checked}toDOM(e){let t=document.createElement("span");t.className="cm-md-task-marker",t.dataset.sourceFrom=String(this.from);let n=document.createElement("input");return n.type="checkbox",n.checked=this.checked,n.setAttribute("aria-label",this.checked?"Mark task incomplete":"Mark task complete"),n.addEventListener("mousedown",r=>{r.preventDefault(),r.stopPropagation()}),n.addEventListener("change",()=>{let r=document.activeElement===n;e.dispatch({changes:{from:this.from,to:this.from+1,insert:n.checked?"x":" "},userEvent:"input"}),r||e.focus()}),t.append(n,document.createTextNode(" ")),t}updateDOM(e){if(Number(e.dataset.sourceFrom)!==this.from)return!1;let t=e.querySelector("input");return t.checked=this.checked,t.setAttribute("aria-label",this.checked?"Mark task incomplete":"Mark task complete"),!0}ignoreEvent(){return!0}},tv=Ic({nonTightLists:!1});function iv(i){return i.state.selection.ranges.every(e=>e.empty&&/^[ \t]*(?:>[ \t]*)*[-+*][ \t]+\[[ xX]\](?:[ \t]|$)/.test(i.state.doc.lineAt(e.head).text))?tv({state:i.state,dispatch:e=>{let t=e.state,n=t.changeByRange(r=>{let s=t.doc.lineAt(r.head);return r.empty&&s.text===""&&s.number>1&&t.doc.line(s.number-1).text.trim()!==""?{changes:{from:r.head,insert:t.lineBreak},range:v.cursor(r.head+t.lineBreak.length)}:{range:r}});i.dispatch([e,t.update(n,{userEvent:"input",scrollIntoView:!0})])}}):!1}var Ne=R.replace({}),zg=R.replace({widget:new Wr("\u2022","cm-md-bullet")}),Lg=R.mark({class:"cm-md-bullet-source"}),Mg=new Map,nv=i=>{let e=Mg.get(i);return e||(e=R.replace({widget:new Wr(i,"cm-md-ordered")}),Mg.set(i,e)),e},rv=R.mark({class:"cm-md-ordered-source"}),sv=R.replace({widget:new Rh}),ov=R.line({class:"cm-md-rule-line"}),En=/^([ \t]*)([-+*]|\d+[.)])([ \t]+|$)/,av=R.replace({widget:new Wr(" ","cm-md-join")}),qh={},lv=i=>R.line({class:"cm-md-h"+i});for(let i=1;i<=6;i++)qh[i]=lv(i);var cv=R.line({class:"cm-md-heading-inactive"}),Wg=R.line({class:"cm-md-heading-after-blank"}),hv=R.line({class:"cm-md-image-line"}),jg=R.line({class:"cm-md-line-collapsed"}),bt={line:22.8,blankGap:4,paragraph:12,quote:18,alert:24,table:24,hr:12},fv=new Set(["Paragraph","FencedCode","CodeBlock","Blockquote","BulletList","OrderedList","Table","HorizontalRule","HTMLBlock"]),Vg=new Map,wo=i=>{let e=Vg.get(i);return e||(e=R.line({class:"cm-md-block-separator",attributes:{style:`height:${i}px;min-height:0;line-height:${i}px;overflow:hidden;`}}),Vg.set(i,e)),e},Dg=new Map,uv=i=>{let e=Dg.get(i);return e||(e=R.line({class:"cm-md-block-gap",attributes:{style:`padding-bottom:${i}px;--cm-md-block-gap:${i}px;`}}),Dg.set(i,e)),e},Yg=new Map,Ov=(i,e,t,n)=>{let r=`${i}:${e}:${t}:${n}`,s=Yg.get(r);if(!s){let o=[],a=[];for(let l=0;lci.create({tagName:"div",attributes:{class:`cm-md-code-card${s?" cm-md-code-card-wrapped":""}`}}).range(n,r)),!0)}var bv=R.line({class:"cm-md-table"}),Ug=R.line({class:"cm-md-list-item-gap"}),Po=R.line({class:"cm-md-list-item"}),Gg=new Map,Ch=i=>{let e=Gg.get(i);return e||(e=R.line({class:`cm-md-list-depth-${i}`,attributes:{style:`padding-inline-start:${i*2.1}em;text-indent:-2.1em;`}}),Gg.set(i,e)),e},Sv=R.mark({class:"cm-md-fence-info"}),yv=R.mark({class:"cm-md-code-fence-source-hidden"}),kv=R.mark({class:"cm-md-heading-source-hidden"}),xv=R.mark({class:"cm-md-heading-prefix"}),wv=R.mark({class:"cm-md-heading-marker"}),Pv=R.line({class:"cm-md-setext-marker-line"}),vv=R.mark({class:"cm-md-setext-source"}),$v=R.mark({class:"cm-md-link"}),Tv=R.mark({class:"cm-md-url"}),Cv=R.mark({class:"cm-md-strong"}),Xv=R.mark({class:"cm-md-emphasis"}),_v=R.mark({class:"cm-md-strikethrough"}),Rv=R.mark({class:"cm-md-highlight"}),Av=R.line({class:"cm-md-frontmatter"}),Zv=R.line({class:"cm-md-frontmatter-first"}),Ev=R.line({class:"cm-md-frontmatter-last"}),qv=R.mark({class:"cm-md-frontmatter-delim"}),zv=R.line({attributes:{dir:"auto"}});function Ng(i){let e=[];for(let t=1;t<=i.doc.lines;t++)e.push(zv.range(i.doc.line(t).from));return R.set(e)}var Lv=fe.define({create:Ng,update(i,e){return e.docChanged?Ng(e.state):i},provide:i=>q.decorations.from(i)});function Zo(i,e){let t="",n=null,r=[];for(let g=e.node.firstChild;g;g=g.nextSibling)g.name==="CodeInfo"&&(n=g,t=i.doc.sliceString(g.from,g.to)),g.name==="CodeMark"&&r.push(g);let s=t.trim().split(/\s+/,1)[0].toLowerCase(),o=i.doc.lineAt(e.from),a=r[0],l=o.to1&&(c=i.doc.lineAt(r[r.length-1].from).from);let h=i.sliceDoc(o.from,e.from),f=/^ {0,3}$/.test(h)?h.length:0,u=e.node.getChildren("CodeText"),O=u.map((g,Q)=>{let S=Q?i.doc.lineAt(g.from).number-i.doc.lineAt(u[Q-1].to).number:0;return` +`.repeat(S)+i.sliceDoc(g.from,g.to)}).join("").replace(new RegExp("^ {0,"+f+"}","gm"),""),m=s?"":DP(O),p=n?.from??a?.to??o.to,b=n?.to??p;return{explicitLanguage:s,language:s||m,detectedLanguage:m,metadata:t.trim().split(/\s+/).slice(1).join(" "),rawInfo:t,infoFrom:p,infoTo:b,sourceFrom:l,source:O}}function Xo(i,e){let t=G(i).resolve(e,-1);for(;t;){if(t.name==="FencedCode")return{from:t.from,to:t.to,closed:t.node.lastChild?.name==="CodeMark"};t=t.parent}return null}var zh=ie.define(),Xt=fe.define({create:()=>null,update(i,e){if(e.docChanged)return null;for(let t of e.effects)if(t.is(zh))return t.value;return i?.activateOnSelection&&e.isUserEvent("select.pointer")?{selection:e.state.selection.main,focused:!0,fence:e.state.field(tn),activateOnSelection:!1}:i}}),Mv=Ye.fromClass(class{constructor(i){this.view=i,this.releaseTimer=null,this.down=e=>{e.button!==0||e.target.closest("input, textarea, button, select, .cm-md-table-cell")||(clearTimeout(this.releaseTimer),!i.state.field(Xt)&&i.dispatch({effects:zh.of({selection:i.state.selection.main,focused:i.hasFocus,fence:i.state.field(tn),activateOnSelection:e.detail===1&&!e.shiftKey&&!e.metaKey&&!e.ctrlKey&&!e.altKey})}))},this.finish=()=>{i.state.field(Xt)&&(clearTimeout(this.releaseTimer),this.releaseTimer=setTimeout(()=>this.release(),0))},this.release=()=>{clearTimeout(this.releaseTimer),i.state.field(Xt)&&i.dispatch({effects:zh.of(null)})},this.move=e=>{e.buttons===0&&this.finish()},i.contentDOM.addEventListener("mousedown",this.down,!0),i.contentDOM.addEventListener("keydown",this.release,!0),i.dom.ownerDocument.addEventListener("mouseup",this.finish),i.dom.ownerDocument.addEventListener("mousemove",this.move),i.dom.ownerDocument.addEventListener("dragend",this.finish),i.win.addEventListener("blur",this.finish)}destroy(){clearTimeout(this.releaseTimer);let i=this.view;i.contentDOM.removeEventListener("mousedown",this.down,!0),i.contentDOM.removeEventListener("keydown",this.release,!0),i.dom.ownerDocument.removeEventListener("mouseup",this.finish),i.dom.ownerDocument.removeEventListener("mousemove",this.move),i.dom.ownerDocument.removeEventListener("dragend",this.finish),i.win.removeEventListener("blur",this.finish)}}),Wv=q.mouseSelectionStyle.of((i,e)=>{if(e.button!==0||e.detail!==1||e.shiftKey||e.metaKey||e.ctrlKey||e.altKey)return null;let t=i.posAtCoords({x:e.clientX,y:e.clientY});if(t==null)return null;let n=!1;return{update(r){t=r.changes.mapPos(t)},get(r){n||=Math.hypot(r.clientX-e.clientX,r.clientY-e.clientY)>3;let s=n?i.posAtCoords({x:r.clientX,y:r.clientY},!1)??t:t;return v.single(t,s)}}}),tn=fe.define({create:()=>null,update(i,e){i&&e.docChanged&&(i={from:e.changes.mapPos(i.from,1),to:e.changes.mapPos(i.to,-1)});let t=e.state.selection.main;if(!t.empty)return null;let n=t.head;return e.isUserEvent("select.pointer")||!i&&e.docChanged&&e.isUserEvent("input")?Xo(e.state,n):!i||ni.to?null:e.docChanged&&Xo(e.state,n)||i}});function vo(i){let e=[],t=i.field(tn);return(Ls(i,i.doc.length,80)||G(i)).iterate({enter(r){if(r.name!=="FencedCode")return;let s=Zo(i,r),o=t!=null&&r.from<=t.from&&r.to>=t.to;if(s.language==="mermaid"&&!o&&!Ro(i,r.from,r.to))return e.push(R.replace({block:!0,widget:new Ah(s.source)}).range(r.from,r.to)),!1}}),R.set(e,!0)}var jv=fe.define({create:i=>vo(i),update:(i,e)=>{if(e.state.field(Xt))return e.startState.field(Xt)?.activateOnSelection&&!e.state.field(Xt).activateOnSelection?vo(e.state):i;if(e.startState.field(Xt))return vo(e.state);let t=e.startState.field(tn),n=e.state.field(tn),r=t?.from!==n?.from||t?.to!==n?.to,s=!1;return e.docChanged&&e.changes.iterChanges((o,a,l,c,h)=>{if(s)return;let u=e.startState.doc.sliceString(o,a)+h.toString();s=/[`~]|mermaid/i.test(u)}),r||s||e.effects.some(o=>o.is(qo))||e.docChanged&&e.state.field(vi).query?vo(e.state):e.docChanged?i.map(e.changes):i},provide:i=>q.decorations.from(i)});function Vv(i,e){let t=e.get(i.sourceFrom);if(t?.language===i.detectedLanguage&&t.source===i.source)return t.tokens;let n=[],r=Ue.matchLanguageName(Jg,i.detectedLanguage,!1)?.support?.language;return r&&As(r.parser.parse(i.source),n0,(s,o,a)=>{n.push({from:s,to:o,mark:R.mark({class:a})})}),e.set(i.sourceFrom,{language:i.detectedLanguage,source:i.source,tokens:n}),n}function Fg(i,e){let t=[],{state:n}=i,r=n.field(Xt),s=r?.selection??n.selection.main,o=r?r.fence:n.field(tn),l=(r?r.focused:i.hasFocus)&&(s.empty||i.compositionStarted)?s.head:null,c=(k,w)=>Ro(n,k,w)||l!=null&&l>=k&&l<=w,h=k=>{let w=n.doc.lineAt(k);return c(w.from,w.to)},f=k=>Ro(n,k.from,k.to)||o!=null&&k.from<=o.from&&k.to>=o.to,u=k=>l!=null&&l>k&&l{let z=n.doc.lineAt(k),F=w.spec.class+"@"+z.from;O.has(F)||(O.add(F),t.push(w.range(z.from)))},b=(k,w,z)=>{let F=k;for(;F<=w;){let y=n.doc.lineAt(F);if(p(y.from,z),y.to>=w)break;F=y.to+1}},g=k=>{let w=0;for(let z of k)w=z===" "?w+(4-w%4):w+1;return w},Q=(k,w)=>{let z=w[1],F=w[2],y=w[3],j=k.from+z.length,ye=j+F.length,rt=Math.floor(g(z)/4)+1;if(p(k.from,Po),p(k.from,Ch(rt)),m.add(k.from),k.number>1&&En.test(n.doc.line(k.number-1).text)&&p(k.from,Ug),z.length>0&&t.push(Ne.range(k.from,j)),/^[-+*]$/.test(F)&&/^\s*\[[ xX]\](\s|$)/.test(k.text.slice(ye-k.from))){let B=k.text.slice(ye-k.from).match(/^[ \t]*\[([ xX])\][ \t]?/),N=ye+B[0].indexOf("[");if(u(N))return;p(k.from,Ig),B[1]!==" "&&p(k.from,Th),t.push(R.replace({widget:new Ao(N+1,B[1]!==" ")}).range(j,ye+B[0].length))}else/^[-+*]$/.test(F)&&(h(j)?(t.push(Lg.range(j,ye)),y.length>0&&t.push(Ne.range(ye,ye+y.length))):t.push(zg.range(j,ye+y.length)))},S=k=>{let w=n.doc.lineAt(k),z=w.number,F=Math.max(z-64,1);for(;z>F&&n.doc.line(z-1).text.length===0;)z--;return{line:w,first:z,count:w.number-z}},x=k=>{switch(k.name){case"Blockquote":{let w=n.doc.lineAt(k.from);return/^ {0,3}> ?\[!(note|tip|important|warning|caution)\]/i.test(w.text)?bt.alert:bt.quote}case"Table":return bt.table;case"HorizontalRule":return bt.hr;case"FencedCode":return Zo(n,k).language==="mermaid"?bt.table:bt.paragraph;default:return bt.paragraph}},P=-1,$=k=>{let w=n.doc.lineAt(k.from);w.number===1||w.from<=P||S(k.from).count===0&&p(n.doc.line(w.number-1).from,uv(x(k)))},Z=k=>{let w=S(k.from);if(w.count===0)return;let z=n.doc.line(w.line.number-1);if(w.first===1){p(z.from,wo(bt.blankGap+x(k)));return}let F=x(k),y=bt.blankGap+F;p(z.from,wo(y))},_=0,W=[],T=[],C=new Map;for(let{from:k,to:w}of i.visibleRanges){let z=null;G(n).iterate({from:k,to:w,enter:y=>{_++;let j=y.name;if(_===2&&j==="Document"&&(z=_),z!=null&&_===z+1&&fv.has(j)&&(Z(y),$(y)),j==="Frontmatter"){let X=y.to>y.from&&n.doc.lineAt(y.to).from===y.to?y.to-1:y.to;P=X,b(y.from,X,Av),p(y.from,Zv),p(n.doc.lineAt(X).from,Ev);return}if(j==="DashLine"){t.push(qv.range(y.from,y.to));return}let ye=j.match(/^ATXHeading(\d)$/);if(ye){p(y.from,qh[+ye[1]]),S(y.from).count>0&&p(y.from,Wg),h(y.from)||p(y.from,cv);return}let rt=j.match(/^SetextHeading(\d)$/);if(rt){p(y.from,qh[+rt[1]]),S(y.from).count>0&&p(y.from,Wg);return}if(j==="HeaderMark"){let X=y.node.parent;if(X&&/^ATXHeading/.test(X.name)){t.push(wv.range(y.from,y.to));let B=n.doc.sliceString(y.to,y.to+1),N=y.to+(B===" "?1:0),U=y.from===X.from,ae=n.doc.lineAt(y.from),re=U&&/^ {0,3}$/.test(n.doc.sliceString(ae.from,y.from))?ae.from:y.from;U&&t.push(xv.range(re,N)),h(y.from)||t.push(kv.range(re,N))}else X&&/^SetextHeading/.test(X.name)&&(p(y.from,Pv),t.push(vv.range(y.from,y.to)));return}if(j==="Blockquote"){T.push(y.from);let X=n.doc.lineAt(y.from),B=y.node.parent?.name==="Blockquote",N=y.node.prevSibling;for(;N?.name==="QuoteMark";)N=N.prevSibling;let U=B&&N?bt.quote:0,ae=y.from;for(;ae<=y.to;){let re=n.doc.lineAt(ae),$e=C.get(re.from)||{depth:0,starts:0,ends:0,gap:0};if($e.depth=Math.max($e.depth,T.length),re.from===X.from&&($e.starts++,$e.gap+=U),re.to>=y.to&&$e.ends++,C.set(re.from,$e),re.to>=y.to)break;ae=re.to+1}return}if(j==="QuoteMark"){if(!h(y.from)){let X=n.doc.sliceString(y.to,y.to+1);t.push(Ne.range(y.from,y.to+(X===" "?1:0)))}return}if(j==="Paragraph"&&/^(Blockquote|ListItem)$/.test(y.node.parent?.name||"")){let X=n.doc.lineAt(y.from);if(X.number>n.doc.lineAt(y.node.parent.from).number){let B=n.doc.line(X.number-1);/^(?:[ >]*)$/.test(B.text)&&p(B.from,wo(bt.paragraph))}}if(j==="Escape"&&!c(y.from,y.to)){t.push(Ne.range(y.from,y.from+1));return}if(j==="StrongEmphasis"){t.push(Cv.range(y.from,y.to));return}if(j==="Emphasis"){t.push(Xv.range(y.from,y.to));return}if(j==="Strikethrough"){t.push(_v.range(y.from,y.to));return}if(j==="Highlight"){let X=[];for(let U=y.node.firstChild;U;U=U.nextSibling)U.name==="HighlightMark"&&X.push(U);let B=X.length?X[0].to:y.from,N=X.length>1?X[X.length-1].from:y.to;B1?X[X.length-1].from:y.to;B")?B.slice(1,-1):B;if(!N||N.startsWith("//"))return!1;let U=y.from+2;for(let re=y.node.firstChild;re;re=re.nextSibling)if(re.name==="LinkMark"&&n.doc.sliceString(re.from,re.to)==="]"){U=re.from;break}let ae=n.doc.sliceString(y.from+2,U);if(!c(y.from,y.to)){let re=n.doc.lineAt(y.from);re.text.trim()===n.doc.sliceString(y.from,y.to)&&p(re.from,hv),t.push(R.replace({widget:new _h(N,ae,n.doc.sliceString(y.from,y.to),y.from,y.to)}).range(y.from,y.to))}return!1}if(j==="Link"){y.node.getChild("URL")&&t.push($v.range(y.from,y.to));return}if(j==="LinkMark"){let X=y.node.parent;X&&X.name==="Link"&&X.getChild("URL")&&!c(X.from,X.to)&&t.push(Ne.range(y.from,y.to));return}if(j==="URL"){let X=y.node.parent;X&&X.name==="Link"&&(c(X.from,X.to)?t.push(Tv.range(y.from,y.to)):t.push(Ne.range(y.from,y.to)));return}if(j==="BulletList"||j==="OrderedList"){W.push(y.from);return}if(j==="ListItem"){let X=y.from===W[W.length-1],B=W.length>1,N=n.doc.lineAt(y.from),U=h(y.from)&&N.number>1&&n.doc.line(N.number-1).text.trim()==="";if(!X&&!U){let Ae=N.number-1;for(;Ae>0&&n.doc.line(Ae).text.trim()==="";)p(n.doc.line(Ae).from,wo(0)),Ae--}if((!X||B)&&!U&&p(y.from,Ug),b(y.from,y.to,Po),/^[ \t]*[-+*][ \t]+\[[xX]\](?:[ \t]|$)/.test(n.doc.sliceString(y.from,N.to))){let Ae=y.from;for(let Fe=y.node.firstChild;Fe;Fe=Fe.nextSibling)Fe.name!=="BulletList"&&Fe.name!=="OrderedList"||(b(Ae,n.doc.lineAt(Fe.from).from-1,Th),Ae=n.doc.lineAt(Fe.to).to+1);b(Ae,y.to,Th)}p(y.from,Ch(W.length)),m.add(n.doc.lineAt(y.from).from);{let Fe=n.doc.lineAt(y.from).to+1;for(;Fe<=y.to;){let st=n.doc.lineAt(Fe),H=st.text;if(H.length>0&&!En.test(H)){p(st.from,dv),p(st.from,Ch(W.length));let Lt=H.match(/^[ \t]+/);Lt&&t.push(Ne.range(st.from,st.from+Lt[0].length))}if(st.to>=y.to)break;Fe=st.to+1}}let ae=n.doc.lineAt(y.from),$e=ae.text.match(En)?.[1]??"";$e.length>0&&t.push(Ne.range(ae.from,ae.from+$e.length));return}if(j==="ListMark"){let X=n.doc.sliceString(y.from,y.to),B=n.doc.lineAt(y.from),N=/^\s*\[[ xX]\](\s|$)/.test(B.text.slice(y.to-B.from));if(N&&/^[-+*]$/.test(X)){let U=B.text.slice(y.to-B.from).match(/^[ \t]*\[([ xX])\][ \t]?/),ae=y.to+U[0].indexOf("[");if(u(ae))return;p(B.from,Ig),t.push(R.replace({widget:new Ao(ae+1,U[1]!==" ")}).range(y.from,y.to+U[0].length))}else if((X==="-"||X==="*"||X==="+")&&!N){let U=n.doc.sliceString(y.to,y.to+1);h(y.from)?(t.push(Lg.range(y.from,y.to)),U===" "&&t.push(Ne.range(y.to,y.to+1))):t.push(zg.range(y.from,y.to+(U===" "?1:0)))}else if(/^\d+[.)]$/.test(X)&&!N){let U=n.doc.sliceString(y.to,y.to+1);h(y.from)?(t.push(rv.range(y.from,y.to)),U===" "&&t.push(Ne.range(y.to,y.to+1))):t.push(nv(X).range(y.from,y.to+(U===" "?1:0)))}return}if(j==="FencedCode"||j==="CodeBlock"){let X=n.doc.lineAt(y.from),B=n.doc.lineAt(y.to),N=j==="FencedCode"&&y.node.lastChild?.name==="CodeMark",U=B.number-X.number>=(N?2:1),ae=j==="FencedCode"&&!h(X.from),re=N&&!h(B.from),$e=ae&&U?n.doc.line(X.number+1):X,Ae=U?$e:X,Fe=!U&&j==="FencedCode"?X:re?n.doc.line(B.number-1):B;if(j==="FencedCode"){let H=Zo(n,y);if(H.detectedLanguage)for(let Lt of Vv(H,e))t.push(Lt.mark.range(H.sourceFrom+Lt.from,H.sourceFrom+Lt.to));t.push(R.widget({widget:new _o({wrapped:n.field(qn).has(X.from),fenceFrom:y.from,language:H.language,detectedLanguage:H.detectedLanguage,rawInfo:H.rawInfo,infoFrom:H.infoFrom,infoTo:H.infoTo}),side:-1}).range(Ae.from))}else t.push(R.widget({widget:new _o({fenceFrom:X.from,language:"text",rawInfo:"",plain:!0,wrapped:n.field(qn).has(X.from)}),side:-1}).range(Ae.from));let st=y.from;for(;st<=y.to;){let H=n.doc.lineAt(st),Lt=j==="CodeBlock"&&O.has(`${Po.spec.class}@${H.from}`)?H.text.match(En):null;if(Lt){if(Q(H,Lt),H.to>=y.to)break;st=H.to+1;continue}let Ih=j==="FencedCode"&&H.from===Ae.from;if((ae&&H.from===X.from||re&&H.from===B.from)&&!Ih)p(H.from,jg);else if(j==="FencedCode"&&!U&&H.from!==X.from&&!Ih)p(H.from,jg);else{let Mn=H.from===$e.from,Bh=H.from===Fe.from;Mn&&p(H.from,mv),Bh&&p(H.from,gv),!Mn&&!Bh&&p(H.from,pv),t.push(R.line({attributes:{"data-code-scroll-group":String(X.from),class:n.field(qn).has(X.from)?"cm-md-code-wrapped":""}}).range(H.from)),H.length&&t.push(Qv.range(H.from,H.to))}if(j==="CodeBlock"&&!h(H.from)){let Mn=H.text.match(/^(?: {4}|\t)/)?.[0];Mn&&t.push(Ne.range(H.from,H.from+Mn.length))}if(H.to>=y.to)break;st=H.to+1}return}if(j==="CodeInfo"){let X=y.node.parent;if(!X)return;h(X.from)&&t.push(Sv.range(y.from,y.to));return}if(j==="Table"){b(y.from,y.to,bv);return}if(j==="HorizontalRule"){h(y.from)||(p(y.from,ov),t.push(sv.range(y.from,y.to)));return}},leave:y=>{_--;let j=y.name;(j==="BulletList"||j==="OrderedList")&&W.pop(),j==="Blockquote"&&T.pop()}});for(let[y,j]of C)p(y,Ov(j.depth,j.starts,j.ends,j.gap));C.clear();let F=k;for(;F<=w;){let y=n.doc.lineAt(F);if(O.has(`${Po.spec.class}@${y.from}`)&&!m.has(y.from)){let ye=y.text.match(En);ye&&Q(y,ye)}if(y.to>=w)break;F=y.to+1}}return R.set(t,!0)}function Lh(i){let e=i.selection.main,t=new Set,n=0;for(let r=G(i).resolveInner(e.from,1);r;r=r.parent){if(r.toi.decorations,provide:i=>q.blockWrappers.of(e=>e.plugin(i)?.codeWrappers??ci.set([]))}),Yv=Ye.fromClass(class{constructor(i){this.schedule(i)}update(i){(i.docChanged||i.selectionSet||i.viewportChanged||i.geometryChanged||i.focusChanged)&&this.schedule(i.view)}docViewUpdate(i){this.schedule(i)}schedule(i){i.requestMeasure({key:this,read(e){return Array.from(e.dom.querySelectorAll(".cm-md-heading-prefix")).map(t=>{let n=t.closest(".cm-line");return n?{line:n,width:t.getBoundingClientRect().width}:null}).filter(Boolean)},write(e){for(let{line:t,width:n}of e){let r=`${n}px`;t.style.getPropertyValue("--cm-md-heading-prefix-width")!==r&&t.style.setProperty("--cm-md-heading-prefix-width",r)}}})}});function Hg(i){let e=[],t=i.selection.main,n=(s,o)=>t.from<=o&&t.to>=s;return(Ls(i,i.doc.length,80)||G(i)).iterate({enter:s=>{let o=s.name;if(o==="FencedCode"||o==="CodeBlock"||o==="HTMLBlock")return!1;if(o!=="Paragraph")return;if(n(s.from,s.to))return!1;let a=i.doc.lineAt(s.from);for(;a.toHg(i),update:(i,e)=>e.docChanged||e.selection?Hg(e.state):i,provide:i=>q.decorations.from(i)}),n0=kn.define([{tag:[d.keyword,d.modifier,d.operatorKeyword,d.controlKeyword,d.definitionKeyword,d.moduleKeyword],class:"hl-keyword"},{tag:[d.string,d.special(d.string),d.regexp],class:"hl-string"},{tag:[d.comment,d.blockComment,d.lineComment],class:"hl-comment"},{tag:[d.number,d.integer,d.float,d.character],class:"hl-number"},{tag:[d.bool,d.atom,d.null],class:"hl-keyword"},{tag:[d.typeName,d.namespace],class:"hl-type"},{tag:[d.className,d.definition(d.typeName)],class:"hl-declaration"},{tag:[d.function(d.variableName),d.function(d.propertyName),d.macroName],class:"hl-function"},{tag:[d.propertyName,d.labelName],class:"hl-property"},{tag:d.attributeName,class:"hl-attribute"},{tag:[d.standard(d.variableName),d.standard(d.typeName)],class:"hl-builtin"},{tag:[d.meta,d.processingInstruction],class:"hl-meta"},{tag:[d.punctuation,d.operator],class:"hl-plain"}]);function zt(i){return e=>{let t=e.state.changeByRange(n=>{let{from:r,to:s}=n;for(;rr&&/\s/.test(e.state.sliceDoc(s-1,s));)s--;let o=i.length,a=e.state.sliceDoc(Math.max(0,r-o),r),l=e.state.sliceDoc(s,s+o);if(a===i&&l===i)return{changes:[{from:r-o,to:r,insert:""},{from:s,to:s+o,insert:""}],range:v.range(r-o,s-o)};let c=e.state.sliceDoc(r,s);return c.startsWith(i)&&c.endsWith(i)&&c.length>=o*2?{changes:{from:r,to:s,insert:c.slice(o,c.length-o)},range:v.range(r,s-o*2)}:{changes:{from:r,to:s,insert:i+c+i},range:v.range(r+o,s+o)}});return e.dispatch(t,{scrollIntoView:!0,userEvent:"input"}),!0}}function Yh(i,e){let t=i.selection.main,n=i.doc.lineAt(t.from).number,r=i.doc.lineAt(t.to).number,s=[];for(let o=n;o<=r;o++)s.push(i.doc.line(o));return e(s)}function Xh(i,e){return t=>{let n=Yh(t.state,r=>{let s=r.every(o=>e.test(o.text));return r.map(o=>{if(s){let a=o.text.match(e);return{from:o.from,to:o.from+a[0].length,insert:""}}return e.test(o.text)?null:{from:o.from,insert:i}}).filter(Boolean)});return n.length&&jr(t,n),!0}}function jr(i,e){let t=i.state.changes(e),n=i.state.selection.main;i.dispatch({changes:e,selection:v.range(t.mapPos(n.anchor,1),t.mapPos(n.head,1)),userEvent:"input"})}function Iv(i){let e=/^\d+\.\s/,t=Yh(i.state,n=>{let r=n.every(o=>e.test(o.text)),s=1;return n.map(o=>{if(r){let a=o.text.match(e);return{from:o.from,to:o.from+a[0].length,insert:""}}return e.test(o.text)?null:{from:o.from,insert:`${s++}. `}}).filter(Boolean)});return t.length&&jr(i,t),!0}function Mh(i){let e=i.selection.main,t=i.doc.lineAt(e.from).number,n=i.doc.lineAt(e.empty?e.to:e.to-1).number;return Array.from({length:n-t+1},(r,s)=>i.doc.line(t+s))}function r0(i){let e=/^([ \t]*(?:>[ \t]*)*)(?:([-+*]|\d+[.)])([ \t]+)(\[[ xX]\][ \t]+)?)?/.exec(i);return{prefix:e[0],indent:e[1],style:e[2]?e[4]?"task":/^\d/.test(e[2])?"ordered":"bullet":"none"}}function zn(i,e,t){for(let n=G(i).resolve(e,1);n;n=n.parent)if(t.includes(n.name))return n;return null}function s0(i){return Mh(i).filter(e=>!/^[ \t>]*$/.test(e.text)&&!zn(i,e.from+e.text.search(/\S/),["FencedCode","CodeBlock"]))}function Bv(i,e){if(!["none","bullet","ordered","task"].includes(e))return!1;let t=s0(i.state).map((n,r)=>{let s=r0(n.text);if(s.style===e)return null;let o=e==="none"?"":e==="bullet"?"- ":e==="task"?"- [ ] ":`${r+1}. `;return{from:n.from,to:n.from+s.prefix.length,insert:s.indent+o}}).filter(Boolean);return t.length&&jr(i,t),i.focus(),!0}function en(i){return e=>{let t=Yh(e.state,n=>n.map(r=>{let s=r.text.match(/^(#{1,6})\s+/),a=(s?s[1].length:0)===i||i===0?"":"#".repeat(i)+" ";return{from:r.from,to:r.from+(s?s[0].length:0),insert:a}}));return e.dispatch({changes:t,userEvent:"input"}),!0}}function o0(i){let e={InlineCode:"code",FencedCode:"fenced",CodeBlock:"plain",Blockquote:"quote",Table:"table"};for(let t=G(i).resolve(i.selection.main.head,i.selection.main.empty?1:-1);t;t=t.parent)if(e[t.name])return{style:e[t.name],node:t};return{style:"none",node:null}}function Uv(i,e,t=""){if(!["none","quote","code","plain","fenced","table"].includes(e))return!1;let n=i.state,r=n.selection.main,s=o0(n),o=s.node&&r.from>=s.node.from&&r.to<=s.node.to;if(e==="code"&&(!o||s.style==="code"))return s.style!=="code"&&zt("`")(i),i.focus(),!0;if(e==="table"){let m=zn(n,r.to,["FencedCode"]),p=m?m.to:n.doc.lineAt(r.to).to,g=(m&&m.lastChild?.name!=="CodeMark"?` `+n.sliceDoc(m.firstChild.from,m.firstChild.to):"")+` | Column 1 | Column 2 | @@ -49,4 +49,4 @@ `),O=4),e==="fenced"){let m=h.match(/`+/g)||[],p="`".repeat(Math.max(3,...m.map(Q=>Q.length+1))),b=String(t).replace(/[^\w+-]/g,""),g=p+b+` `;u=g+h+` `+p,O=g.length}return e==="plain"&&l>0&&n.doc.lineAt(l-1).text.trim()&&(u=` -`+u,O++),i.dispatch({changes:{from:l,to:c,insert:u},selection:{anchor:l+O},userEvent:"input"}),i.focus(),!0}function Gv(i){let e=i.state.selection.main,t=i.state.sliceDoc(e.from,e.to)||"text",n=`[${t}](url)`,r=e.from+t.length+3;return i.dispatch({changes:{from:e.from,to:e.to,insert:n},selection:v.range(r,r+3),userEvent:"input",scrollIntoView:!0}),!0}var Kg=Te.define();function Nv(i,e){let t=U(i).resolve(e,-1);for(;t;){if(t.name==="FencedCode")return t.from;t=t.parent}return null}var Fv=se.transactionFilter.of(i=>{if(!i.docChanged||!i.isUserEvent("input")||i.annotation(Kg))return i;let e=i.newSelection.main;if(!e.empty)return i;let t=i.newDoc.lineAt(e.head),n=e.head-t.from;if(t.text.slice(0,n)!=="```"||t.text.slice(n)!=="")return i;let r=!1,s=null;if(i.changes.iterChanges((l,c,h,f,u)=>{if(r||h>e.head||f=t.from+3,r&&(s=l)}),!r)return i;let o=i.startState.doc.lineAt(s),a=Nv(i.startState,s);return a!=null&&at.number&&(n=i.state.doc.line(n.number-1)),e.empty){let o=Co(i.state,e.head);if(o){let a=i.state.doc.lineAt(o.from),l=i.state.doc.lineAt(o.to);if(t.number>a.number&&(!o.closed||t.numbera)return Ml(i)}return!0}let s=[];for(let o=t.number;o<=n.number;o++)s.push({from:i.state.doc.line(o).from,insert:" "});return jr(i,s),!0}window.MDEditor={create(i,e,t){let n=t&&t.onDirty,r=t&&t.onPasteImage;Object.assign(Qt,t&&t.spacing||{});let s=new q({parent:i,state:se.create({doc:e,extensions:[CO(),vi,JP,ju(),q.lineWrapping,q.perLineTextDirection.of(!0),qt.of(" "),Lv,vm({content:Bc({base:xi,codeLanguages:Jg,extensions:Wh})}),tn,qn,Xt,Mv,Wv,jv,ev,KP,OO({style:n0.style,scope:p=>p.prop(xt)!==xi.data}),ot.lowest(Dv),Yv,Fv,Od(),ot.highest(ui.of([{key:"Enter",run:iv}])),ui.of([{key:"Mod-b",run:zt("**")},{key:"Mod-i",run:zt("*")},{key:"Tab",run:Hv,shift:Ll},...md,...Ic,...od,...AO]),q.updateListener.of(p=>{if(t?.onFormattingChange&&(p.selectionSet||p.docChanged||p.focusChanged||U(p.startState)!==U(p.state))&&(ke.has(s)?Ln(s):t.onFormattingChange(Lh(p.state))),p.docChanged&&t?.onSearchChange){let b=p.state.field(vi);t.onSearchChange({index:b.index+1,total:b.matches.length})}p.docChanged&&n&&!p.transactions.some(b=>b.isUserEvent("rename"))&&n()}),q.domEventHandlers({paste(p,b){if(p.target instanceof Element&&p.target.closest(".cm-md-table-cell")||!Array.from(p.clipboardData?.items||[]).some(S=>String(S.type||"").toLowerCase().startsWith("image/"))||typeof r!="function")return!1;p.preventDefault();let Q=b.state.selection.main;return r(Q.from,Q.to),!0}})]})}),o=!!(t&&t.pageScrolling),a=o?document.scrollingElement:s.scrollDOM,l=o?window:a,c=null,h=0,f=null,u=()=>s.documentTop+a.scrollTop-(o?0:a.getBoundingClientRect().top),O=p=>{let b=s.lineBlockAt(p),g=0,Q=0;try{let S=s.domAtPos(p).node,x=S.nodeType===Node.ELEMENT_NODE?S:S.parentElement,P=x&&x.closest(".cm-line");if(P){let $=getComputedStyle(P);g=parseFloat($.paddingTop)||0,Q=parseFloat($.paddingBottom)||0}}catch{}return{top:b.top+g,height:Math.max(b.height-g-Q,1),sourceStart:s.state.doc.lineAt(b.from).number,sourceEnd:s.state.doc.lineAt(b.to).number+1}},m={bold:zt("**"),italic:zt("*"),strikethrough:zt("~~"),highlight:zt("=="),code:zt("`"),h0:en(0),h1:en(1),h2:en(2),h3:en(3),h4:en(4),h5:en(5),h6:en(6),quote:Xh("> ",/^>\s?/),bulletList:Xh("- ",/^\s*[-*+]\s/),orderedList:Iv,taskList:Xh("- [ ] ",/^\s*[-*+]\s+\[[ xX]\]\s/),link:Gv};return t?.onCopyCode&&e0.set(s,t.onCopyCode),t?.onFormattingChange&&Dh.set(s,t.onFormattingChange),t?.onFormattingChange?.(Lh(s.state)),{getMarkdown:()=>s.state.doc.toString(),getBlockStyle:()=>ke.has(s)?"table":o0(s.state).style,setBlockStyle:(p,b)=>{if(ke.has(s)){if(p!=="code")return!1;let g=$o(s);return g?(zt("`")(s),To(s,g),!0):!1}return Uv(s,p,b)},getListStyle:()=>{if(ke.has(s))return"none";let p=s0(s.state).map(b=>r0(b.text).style);return p.length?p.every(b=>b===p[0])?p[0]:"mixed":"none"},setListStyle:p=>!ke.has(s)&&Bv(s,p),getLinkSelection:(p=!1)=>{if(ke.has(s)&&!$o(s))return null;let{from:b,to:g}=s.state.selection.main,Q=zn(s.state,b,["Link"]);if(p&&Q&&g<=Q.to){let S=Q.getChildren("LinkMark");return{from:Q.from,to:Q.to,text:s.state.sliceDoc(S[0].to,S[1].from)}}return{from:b,to:g,text:s.state.sliceDoc(b,g)}},insertLinkFromPopover:(p,b,g,Q)=>{let S=String(b).trim();if(!S||/[\r\n]/.test(S)||g<0||Qs.state.doc.length)return!1;let x=zn(s.state,g,["Link"]);if(x&&(g>x.from||Qg?zn(s.state,Q-1,["Link"]):null;if(P&&(g>P.from||Q\\()]/g,C=>/[()]/.test(C)?"%"+C.charCodeAt(0).toString(16).toUpperCase():encodeURIComponent(C)),X=ke.get(s);if(X){let C=Zo(s,X);if(!C||gC.to)return!1}let W=`[${$}](${Z})`,T=X?Vh(W):W;return s.dispatch({changes:{from:g,to:Q,insert:T},selection:{anchor:g+T.length},userEvent:"input"}),X?To(s,X):s.focus(),!0},getHeadingLevel:()=>{if(ke.has(s))return 0;for(let p=U(s.state).resolveInner(s.state.selection.main.head,1);p;p=p.parent){let b=/^(?:ATX|Setext)Heading([1-6])$/.exec(p.name);if(b)return Number(b[1])}return 0},find:(p,b=!1,g=!1)=>{let Q=s.state.field(vi),S=Q.query===p&&Q.beginsWith===g,x=0;S&&Q.matches.length?x=(Q.index+(b?-1:1)+Q.matches.length)%Q.matches.length:b&&(x=Number.MAX_SAFE_INTEGER),s.dispatch({effects:Eo.of({query:p,beginsWith:g,index:x})});let P=s.state.field(vi),$=P.matches[P.index];return $&&(c=null,didUserScroll=!0,s.dispatch({effects:q.scrollIntoView($.from,{y:"center"})})),{index:P.index+1,total:P.matches.length}},isSyntaxReady:()=>oO(s.state,s.state.doc.length),replaceMarkdown:p=>{let b=String(p||""),g=b.length,Q=s.state.selection.main,S=Math.min(Q.anchor,g),x=Math.min(Q.head,g),P=a.scrollTop;s.dispatch({changes:{from:0,to:s.state.doc.length,insert:b},selection:{anchor:S,head:x},userEvent:"rename",annotations:pe.addToHistory.of(!1)}),requestAnimationFrame(()=>{a.scrollTop=P,s.requestMeasure()})},insertTextAt:(p,b,g)=>{let Q=s.state.doc.length,S=Math.max(0,Math.min(Number(b)||0,Q)),x=Math.max(S,Math.min(Number(g)||S,Q));s.dispatch({changes:{from:S,to:x,insert:String(p||"")},selection:{anchor:S+String(p||"").length},userEvent:"input",scrollIntoView:!0}),s.focus()},focus:()=>s.focus(),getScrollAnchor:()=>{if(Number.isFinite(c)&&Math.abs(a.scrollTop-f)<=.5)return{position:c,gap:h||0};let p=a.scrollTop-u(),b=s.lineBlockAtHeight(p),g=s.state.doc.lineAt(b.from),Q=O(g.from),S=Q.height>0?Math.min(Math.max((p-Q.top)/Q.height,0),1):0,x=Math.max(Q.top-p,0);return{position:Q.sourceStart+S*(Q.sourceEnd-Q.sourceStart),gap:x}},setScrollPosition:(p,b,g)=>new Promise(Q=>{let x=Math.max(a.scrollHeight-a.clientHeight,0)*Math.min(Math.max(Number(p)||0,0),1),P=null,$=Number.isFinite(g)?Math.max(g,0):0;if(Number.isFinite(b)&&b>=1){let Z=Math.min(Math.floor(b),s.state.doc.lines);if(P=s.state.doc.line(Z).from,P!=null){let X=O(P),W=(b-X.sourceStart)/(X.sourceEnd-X.sourceStart);x=u()+X.top+X.height*W-$,s.dispatch({effects:q.scrollIntoView(P,{y:"start"})})}}requestAnimationFrame(()=>{let Z=Math.max(a.scrollHeight-a.clientHeight,0);if(P!=null){let X=O(P),W=(b-X.sourceStart)/(X.sourceEnd-X.sourceStart);x=u()+X.top+X.height*W-$}else x=Z*Math.min(Math.max(Number(p)||0,0),1);a.scrollTop=Math.min(Math.max(x,0),Z),l.dispatchEvent(new Event("scroll")),s.requestMeasure(),requestAnimationFrame(()=>{c=Number.isFinite(b)?b:null,h=Number.isFinite(b)?$:0,f=a.scrollTop,Q(!0)})})}),select:(p,b=p)=>{ke.delete(s),s.dispatch({selection:{anchor:p,head:b},userEvent:"select.pointer"})},insert:p=>{let b=s.state.selection.main;s.state.facet(q.inputHandler).some(Q=>Q(s,b.from,b.to,p))||s.dispatch({changes:{from:b.from,to:b.to,insert:p},selection:{anchor:b.from+p.length},userEvent:"input"})},exec:p=>{let b=m[p];if(!b)return!1;if(ke.has(s)){if(!HP.has(p))return!1;let g=$o(s);return g?(b(s),To(s,g),!0):!1}return b(s),s.focus(),!0},performTableContextAction:(p,b)=>{if(!Mr||Mr.token!==p)return!1;let g=Mr;return Mr=null,g.perform(b),!0},destroy:()=>{s.destroy()}}}};})(); +`+u,O++),i.dispatch({changes:{from:l,to:c,insert:u},selection:{anchor:l+O},userEvent:"input"}),i.focus(),!0}function Gv(i){let e=i.state.selection.main,t=i.state.sliceDoc(e.from,e.to)||"text",n=`[${t}](url)`,r=e.from+t.length+3;return i.dispatch({changes:{from:e.from,to:e.to,insert:n},selection:v.range(r,r+3),userEvent:"input",scrollIntoView:!0}),!0}var Kg=Te.define();function Nv(i,e){let t=G(i).resolve(e,-1);for(;t;){if(t.name==="FencedCode")return t.from;t=t.parent}return null}var Fv=se.transactionFilter.of(i=>{if(!i.docChanged||!i.isUserEvent("input")||i.annotation(Kg))return i;let e=i.newSelection.main;if(!e.empty)return i;let t=i.newDoc.lineAt(e.head),n=e.head-t.from;if(t.text.slice(0,n)!=="```"||t.text.slice(n)!=="")return i;let r=!1,s=null;if(i.changes.iterChanges((l,c,h,f,u)=>{if(r||h>e.head||f=t.from+3,r&&(s=l)}),!r)return i;let o=i.startState.doc.lineAt(s),a=Nv(i.startState,s);return a!=null&&at.number&&(n=i.state.doc.line(n.number-1)),e.empty){let o=Xo(i.state,e.head);if(o){let a=i.state.doc.lineAt(o.from),l=i.state.doc.lineAt(o.to);if(t.number>a.number&&(!o.closed||t.numbera)return Wl(i)}return!0}let s=[];for(let o=t.number;o<=n.number;o++)s.push({from:i.state.doc.line(o).from,insert:" "});return jr(i,s),!0}window.MDEditor={create(i,e,t){let n=t&&t.onDirty,r=t&&t.onPasteImage;Object.assign(bt,t&&t.spacing||{});let s=new q({parent:i,state:se.create({doc:e,extensions:[CO(),vi,JP,ju(),q.lineWrapping,q.perLineTextDirection.of(!0),qt.of(" "),Lv,vm({content:Uc({base:xi,codeLanguages:Jg,extensions:Wh})}),tn,qn,Xt,Mv,Wv,jv,ev,KP,OO({style:n0.style,scope:p=>p.prop(xt)!==xi.data}),at.lowest(Dv),Yv,Fv,Od(),at.highest(ui.of([{key:"Enter",run:iv}])),ui.of([{key:"Mod-b",run:zt("**")},{key:"Mod-i",run:zt("*")},{key:"Tab",run:Hv,shift:Ml},...md,...Bc,...od,...AO]),q.updateListener.of(p=>{if(t?.onFormattingChange&&(p.selectionSet||p.docChanged||p.focusChanged||G(p.startState)!==G(p.state))&&(ke.has(s)?Ln(s):t.onFormattingChange(Lh(p.state))),p.docChanged&&t?.onSearchChange){let b=p.state.field(vi);t.onSearchChange({index:b.index+1,total:b.matches.length})}p.docChanged&&n&&!p.transactions.some(b=>b.isUserEvent("rename"))&&n()}),q.domEventHandlers({paste(p,b){if(p.target instanceof Element&&p.target.closest(".cm-md-table-cell")||!Array.from(p.clipboardData?.items||[]).some(S=>String(S.type||"").toLowerCase().startsWith("image/"))||typeof r!="function")return!1;p.preventDefault();let Q=b.state.selection.main;return r(Q.from,Q.to),!0}})]})}),o=!!(t&&t.pageScrolling),a=o?document.scrollingElement:s.scrollDOM,l=o?window:a,c=null,h=0,f=null,u=()=>s.documentTop+a.scrollTop-(o?0:a.getBoundingClientRect().top),O=p=>{let b=s.lineBlockAt(p),g=0,Q=0;try{let S=s.domAtPos(p).node,x=S.nodeType===Node.ELEMENT_NODE?S:S.parentElement,P=x&&x.closest(".cm-line");if(P){let $=getComputedStyle(P);g=parseFloat($.paddingTop)||0,Q=parseFloat($.paddingBottom)||0}}catch{}return{top:b.top+g,height:Math.max(b.height-g-Q,1),sourceStart:s.state.doc.lineAt(b.from).number,sourceEnd:s.state.doc.lineAt(b.to).number+1}},m={bold:zt("**"),italic:zt("*"),strikethrough:zt("~~"),highlight:zt("=="),code:zt("`"),h0:en(0),h1:en(1),h2:en(2),h3:en(3),h4:en(4),h5:en(5),h6:en(6),quote:Xh("> ",/^>\s?/),bulletList:Xh("- ",/^\s*[-*+]\s/),orderedList:Iv,taskList:Xh("- [ ] ",/^\s*[-*+]\s+\[[ xX]\]\s/),link:Gv};return t?.onCopyCode&&e0.set(s,t.onCopyCode),t?.onFormattingChange&&Dh.set(s,t.onFormattingChange),t?.onFormattingChange?.(Lh(s.state)),{getMarkdown:()=>s.state.doc.toString(),getBlockStyle:()=>ke.has(s)?"table":o0(s.state).style,setBlockStyle:(p,b)=>{if(ke.has(s)){if(p!=="code")return!1;let g=To(s);return g?(zt("`")(s),Co(s,g),!0):!1}return Uv(s,p,b)},getListStyle:()=>{if(ke.has(s))return"none";let p=s0(s.state).map(b=>r0(b.text).style);return p.length?p.every(b=>b===p[0])?p[0]:"mixed":"none"},setListStyle:p=>!ke.has(s)&&Bv(s,p),getLinkSelection:(p=!1)=>{if(ke.has(s)&&!To(s))return null;let{from:b,to:g}=s.state.selection.main,Q=zn(s.state,b,["Link"]);if(p&&Q&&g<=Q.to){let S=Q.getChildren("LinkMark");return{from:Q.from,to:Q.to,text:s.state.sliceDoc(S[0].to,S[1].from)}}return{from:b,to:g,text:s.state.sliceDoc(b,g)}},insertLinkFromPopover:(p,b,g,Q)=>{let S=String(b).trim();if(!S||/[\r\n]/.test(S)||g<0||Qs.state.doc.length)return!1;let x=zn(s.state,g,["Link"]);if(x&&(g>x.from||Qg?zn(s.state,Q-1,["Link"]):null;if(P&&(g>P.from||Q\\()]/g,C=>/[()]/.test(C)?"%"+C.charCodeAt(0).toString(16).toUpperCase():encodeURIComponent(C)),_=ke.get(s);if(_){let C=Eo(s,_);if(!C||gC.to)return!1}let W=`[${$}](${Z})`,T=_?Vh(W):W;return s.dispatch({changes:{from:g,to:Q,insert:T},selection:{anchor:g+T.length},userEvent:"input"}),_?Co(s,_):s.focus(),!0},getHeadingLevel:()=>{if(ke.has(s))return 0;for(let p=G(s.state).resolveInner(s.state.selection.main.head,1);p;p=p.parent){let b=/^(?:ATX|Setext)Heading([1-6])$/.exec(p.name);if(b)return Number(b[1])}return 0},find:(p,b=!1,g=!1)=>{let Q=s.state.field(vi),S=Q.query===p&&Q.beginsWith===g,x=0;S&&Q.matches.length?x=(Q.index+(b?-1:1)+Q.matches.length)%Q.matches.length:b&&(x=Number.MAX_SAFE_INTEGER),s.dispatch({effects:qo.of({query:p,beginsWith:g,index:x})});let P=s.state.field(vi),$=P.matches[P.index];return $&&(c=null,didUserScroll=!0,s.dispatch({effects:q.scrollIntoView($.from,{y:"center"})})),{index:P.index+1,total:P.matches.length}},isSyntaxReady:()=>oO(s.state,s.state.doc.length),replaceMarkdown:p=>{let b=String(p||""),g=b.length,Q=s.state.selection.main,S=Math.min(Q.anchor,g),x=Math.min(Q.head,g),P=a.scrollTop;s.dispatch({changes:{from:0,to:s.state.doc.length,insert:b},selection:{anchor:S,head:x},userEvent:"rename",annotations:pe.addToHistory.of(!1)}),requestAnimationFrame(()=>{a.scrollTop=P,s.requestMeasure()})},insertTextAt:(p,b,g)=>{let Q=s.state.doc.length,S=Math.max(0,Math.min(Number(b)||0,Q)),x=Math.max(S,Math.min(Number(g)||S,Q));s.dispatch({changes:{from:S,to:x,insert:String(p||"")},selection:{anchor:S+String(p||"").length},userEvent:"input",scrollIntoView:!0}),s.focus()},focus:()=>s.focus(),getScrollAnchor:()=>{if(Number.isFinite(c)&&Math.abs(a.scrollTop-f)<=.5)return{position:c,gap:h||0};let p=a.scrollTop-u(),b=s.lineBlockAtHeight(p),g=s.state.doc.lineAt(b.from),Q=O(g.from),S=Q.height>0?Math.min(Math.max((p-Q.top)/Q.height,0),1):0,x=Math.max(Q.top-p,0);return{position:Q.sourceStart+S*(Q.sourceEnd-Q.sourceStart),gap:x}},setScrollPosition:(p,b,g)=>new Promise(Q=>{let x=Math.max(a.scrollHeight-a.clientHeight,0)*Math.min(Math.max(Number(p)||0,0),1),P=null,$=Number.isFinite(g)?Math.max(g,0):0;if(Number.isFinite(b)&&b>=1){let Z=Math.min(Math.floor(b),s.state.doc.lines);if(P=s.state.doc.line(Z).from,P!=null){let _=O(P),W=(b-_.sourceStart)/(_.sourceEnd-_.sourceStart);x=u()+_.top+_.height*W-$,s.dispatch({effects:q.scrollIntoView(P,{y:"start"})})}}requestAnimationFrame(()=>{let Z=Math.max(a.scrollHeight-a.clientHeight,0);if(P!=null){let _=O(P),W=(b-_.sourceStart)/(_.sourceEnd-_.sourceStart);x=u()+_.top+_.height*W-$}else x=Z*Math.min(Math.max(Number(p)||0,0),1);a.scrollTop=Math.min(Math.max(x,0),Z),l.dispatchEvent(new Event("scroll")),s.requestMeasure(),requestAnimationFrame(()=>{c=Number.isFinite(b)?b:null,h=Number.isFinite(b)?$:0,f=a.scrollTop,Q(!0)})})}),select:(p,b=p)=>{ke.delete(s),s.dispatch({selection:{anchor:p,head:b},userEvent:"select.pointer"})},insert:p=>{let b=s.state.selection.main;s.state.facet(q.inputHandler).some(Q=>Q(s,b.from,b.to,p))||s.dispatch({changes:{from:b.from,to:b.to,insert:p},selection:{anchor:b.from+p.length},userEvent:"input"})},exec:p=>{let b=m[p];if(!b)return!1;if(ke.has(s)){if(!HP.has(p))return!1;let g=To(s);return g?(b(s),Co(s,g),!0):!1}return b(s),s.focus(),!0},performTableContextAction:(p,b)=>{if(!Mr||Mr.token!==p)return!1;let g=Mr;return Mr=null,g.perform(b),!0},destroy:()=>{s.destroy()}}}};})(); diff --git a/scripts/editor-bundle/entry-cm.js b/scripts/editor-bundle/entry-cm.js index 436b52a9..ec2c816f 100644 --- a/scripts/editor-bundle/entry-cm.js +++ b/scripts/editor-bundle/entry-cm.js @@ -2200,13 +2200,20 @@ function buildDecorations(view, detectedCodeCache) { // list starts at its first item, so "first" is a position check. const isFirstItem = node.from === listStack[listStack.length - 1] const isNested = listStack.length > 1 - // Authored blank lines must keep their editing height. Markdown - // can parse a new marker after a blank as another item in the same - // list; collapsing that separator pulls the caret upward mid-typing. + // Keep the separator while authoring a new item so typing its + // marker cannot pull the caret upward. Inactive loose lists use + // the same compact item spacing as Read Mode. const itemLine = state.doc.lineAt(node.from) - const hasBlankBefore = itemLine.number > 1 + const preserveBlankBefore = touchesLineOf(node.from) && itemLine.number > 1 && state.doc.line(itemLine.number - 1).text.trim() === "" - if ((!isFirstItem || isNested) && !hasBlankBefore) lineOnce(node.from, listItemGapLine) + if (!isFirstItem && !preserveBlankBefore) { + let number = itemLine.number - 1 + while (number > 0 && state.doc.line(number).text.trim() === "") { + lineOnce(state.doc.line(number).from, blockSeparatorLine(0)) + number-- + } + } + if ((!isFirstItem || isNested) && !preserveBlankBefore) lineOnce(node.from, listItemGapLine) eachLine(node.from, node.to, listItemLine) if (/^[ \t]*[-+*][ \t]+\[[xX]\](?:[ \t]|$)/.test(state.doc.sliceString(node.from, itemLine.to))) { // Nested lists own their completion state. Keep the parent's From f8e34574c25d2effd46ce9c4e57e003481b2c8d8 Mon Sep 17 00:00:00 2001 From: Fauzaan Date: Mon, 28 Sep 2026 13:32:19 +0000 Subject: [PATCH 16/16] Preserve list separator while editing continuation lines --- md-preview/Vendor/CodeMirror/mdedit.min.js | 2 +- scripts/editor-bundle/entry-cm.js | 6 ++--- .../EditorFormattingTests.swift | 26 +++++++++++++++++++ 3 files changed, 30 insertions(+), 4 deletions(-) diff --git a/md-preview/Vendor/CodeMirror/mdedit.min.js b/md-preview/Vendor/CodeMirror/mdedit.min.js index 5add0f36..d05ac536 100644 --- a/md-preview/Vendor/CodeMirror/mdedit.min.js +++ b/md-preview/Vendor/CodeMirror/mdedit.min.js @@ -35,7 +35,7 @@ `);if(t.length<2)return null;let n=$o(t[0]),r=$o(t[1]).map(UP);if(!n.length||!r.length||r.some(a=>a==null))return null;let s=[n,...t.slice(2).map(a=>$o(a))],o=Math.max(r.length,...s.map(a=>a.length));for(;r.length{let f=i.slice(0,c).replace(/\n+/g," ").length-l;e[h]=r[Math.max(0,Math.min(f,n.length))]})}return s}function GP(i){let e=i.alignments.map((s,o)=>Math.max(3,...i.rows.map(a=>Array.from(a[o]||"").length))),t=s=>"| "+s.map((o,a)=>{let l=Vh(o);return l+" ".repeat(Math.max(0,e[a]-Array.from(l).length))}).join(" | ")+" |",n="| "+i.alignments.map((s,o)=>{let a=e[o];return s==="left"?":"+"-".repeat(Math.max(3,a-1)):s==="right"?"-".repeat(Math.max(3,a-1))+":":s==="center"?":"+"-".repeat(Math.max(3,a-2))+":":"-".repeat(a)}).join(" | ")+" |";return[t(i.rows[0]),n,...i.rows.slice(1).map(t)].join(` `)+(i.trailingNewline?` `:"")}var NP=1,Mr=null,FP=xi.parser.configure(Wh),t0=new WeakMap;function vh(i,e){let t={StrongEmphasis:"cm-md-strong",Emphasis:"cm-md-emphasis",Strikethrough:"cm-md-strikethrough",Highlight:"cm-md-highlight"},n=(o,a,l)=>{if(!a)return;let c=document.createTextNode(a);t0.set(c,l),o.append(c)},r=(o,a,l,c)=>{let h=l;for(let f=a.firstChild;f;f=f.nextSibling)f.fromc||(n(o,e.slice(h,f.from),h),s(o,f),h=f.to);n(o,e.slice(h,c),h)},s=(o,a)=>{if(a.name==="InlineCode"){let l=document.createElement("code");l.className="cm-md-inline-code";let c=e.slice(a.firstChild.to,a.lastChild.from).replace(/\n/g," "),h=c.startsWith(" ")&&c.endsWith(" ")&&/[^ ]/.test(c);h&&(c=c.slice(1,-1)),n(l,c,a.firstChild.to+(h?1:0)),o.append(l)}else if(t[a.name]){let l=document.createElement("span");l.className=t[a.name],r(l,a,a.firstChild.to,a.lastChild.from),o.append(l)}else if(a.name==="Link"&&a.getChild("URL")){let l=a.getChildren("LinkMark"),c=document.createElement("span");c.className="cm-md-link",r(c,a,l[0].to,l[1].from),o.append(c)}else a.name==="Escape"?n(o,e.slice(a.from+1,a.to),a.from+1):a.name==="Image"?n(o,e.slice(a.from,a.to),a.from):r(o,a,a.from,a.to)};i.replaceChildren(),s(i,FP.parse(e).topNode)}var ke=new WeakMap,i0=Te.define(),Dh=new WeakMap,HP=new Set(["bold","italic","strikethrough","highlight","code","link"]);function Eo(i,e){if(e.invalid||e.tableFrom<0||e.tableFrom>=i.state.doc.length)return null;let n=i.state.doc.lineAt(e.tableFrom).number+(e.row===0?0:e.row+1);if(n>i.state.doc.lines)return null;let r=i.state.doc.line(n),s=$o(r.text,!0)[e.column];return s?{from:r.from+s.from,to:r.from+Math.max(s.from,s.to)}:null}function Ln(i){let e=ke.get(i);if(!e||e.invalid||e.element.dataset.tableEditing!=="true")return;let t=window.getSelection();if(!t?.anchorNode||!t.focusNode||!e.element.contains(t.anchorNode)||!e.element.contains(t.focusNode))return;let n=(a,l)=>{let c=document.createRange();return c.selectNodeContents(e.element),c.setEnd(a,l),c.toString().length};e.anchor=n(t.anchorNode,t.anchorOffset),e.head=n(t.focusNode,t.focusOffset);let r=e.element.innerText||"",s=[e.anchor,e.head];Vh(r,s),e.sourceAnchor=s[0],e.sourceHead=s[1];let o=se.create({doc:r,selection:v.single(e.anchor,e.head),extensions:[Uc({extensions:Wh})]});Dh.get(i)?.(Lh(o))}function To(i){let e=ke.get(i);if(!e||e.invalid)return null;Ln(i),e.element.dataset.tableEditing==="true"&&e.element.blur();let t=Eo(i,e);if(!t)return null;let n=t.to-t.from;return i.dispatch({selection:v.single(t.from+Math.max(0,Math.min(e.sourceAnchor??e.anchor,n)),t.from+Math.max(0,Math.min(e.sourceHead??e.head,n)))}),e}function Co(i,e){let t=Eo(i,e);if(!t)return;let n=i.state.selection.main,r=Math.max(0,Math.min(n.anchor-t.from,t.to-t.from)),s=Math.max(0,Math.min(n.head-t.from,t.to-t.from)),o=i.dom.querySelector(`.cm-md-table-widget[data-table-from="${e.tableFrom}"] [data-table-row="${e.row}"][data-table-column="${e.column}"]`);if(!o)return;o.focus({preventScroll:!0});let a=o.firstChild||o.appendChild(document.createTextNode(""));window.getSelection()?.setBaseAndExtent(a,r,a,s),Ln(i)}var KP=Ye.fromClass(class{constructor(i){this.view=i,this.capture=()=>Ln(i),this.clear=e=>{e.target.closest?.(".cm-md-table-cell")||ke.delete(i)},document.addEventListener("selectionchange",this.capture),i.dom.addEventListener("mousedown",this.clear,!0)}update(i){let e=ke.get(this.view);e&&i.docChanged&&i.transactions.some(t=>t.docChanged&&!t.annotation(i0))&&ke.set(this.view,{...e,invalid:!0})}destroy(){document.removeEventListener("selectionchange",this.capture),this.view.dom.removeEventListener("mousedown",this.clear,!0),ke.delete(this.view),Dh.delete(this.view)}}),Eh=class extends Ce{constructor(e,t){super(),this.source=e,this.from=t}eq(e){return e.source===this.source&&e.from===this.from}toDOM(e){let t=jh(this.source),n=document.createElement("div");if(n.className="cm-md-table-widget",n.dataset.tableFrom=String(this.from),!t)return n.textContent=this.source,n;let r=null,s=null,o=null,a=!1,l=document.createElement("div");l.className="cm-md-table-scroll",n.appendChild(l);let c=document.createElement("table");c.className="cm-md-table-grid",l.appendChild(c);let h=(Q,S)=>{requestAnimationFrame(()=>requestAnimationFrame(()=>{let x=e.dom.querySelector(`.cm-md-table-widget[data-table-from="${this.from}"]`);(x&&x.querySelector(`[data-table-row="${Q}"][data-table-column="${S}"]`))?.focus()}))},f=(Q=null,S=!1)=>{let x=GP(t);if(x===this.source){Q&&n.querySelector(`[data-table-row="${Q.row}"][data-table-column="${Q.column}"]`)?.focus();return}r=null,e.dispatch({changes:{from:this.from,to:this.from+this.source.length,insert:x},annotations:S?i0.of(!0):[],userEvent:"input"}),Q&&h(Q.row,Q.column)},u=()=>{!r||r.element.dataset.tableEditing!=="true"||(t.rows[r.row][r.column]=r.element.innerText||"")},O=()=>{n.querySelectorAll(".is-table-part-selected").forEach(Q=>{Q.classList.remove("is-table-part-selected")}),n.classList.remove("is-table-row-selected","is-table-column-selected","is-table-range-selected"),n.removeAttribute("aria-label"),s=null},m=(Q,S,x)=>{if(u(),O(),Array.from(n.querySelectorAll(".cm-md-table-cell")).filter($=>{let Z=Number($.dataset.tableRow),_=Number($.dataset.tableColumn);return Z>=S.top&&Z<=S.bottom&&_>=S.left&&_<=S.right}).forEach($=>{$.classList.add("is-table-part-selected")}),n.classList.add(Q==="row"?"is-table-row-selected":Q==="column"?"is-table-column-selected":"is-table-range-selected"),window.getSelection()?.removeAllRanges(),s={kind:Q,row:x.row,column:x.column,bounds:S},ke.delete(e),n.tabIndex=0,Q==="range"){let $=S.bottom-S.top+1,Z=S.right-S.left+1;n.setAttribute("aria-label",`Selected ${$} rows by ${Z} columns.`)}else{let $=Q==="row"?x.row:x.column+1;n.setAttribute("aria-label",`Selected ${Q} ${$}. Press Delete to remove it.`)}n.focus()},p=(Q,S,x)=>{let P=Q==="row"?{top:S,right:t.alignments.length-1,bottom:S,left:0}:{top:0,right:x,bottom:t.rows.length-1,left:x};m(Q,P,{row:S,column:x})},b=(Q,S,x,P)=>{m("range",{top:Math.min(Q,x),right:Math.max(S,P),bottom:Math.max(Q,x),left:Math.min(S,P)},{row:Q,column:S})},g=(Q,S,x)=>{if(u(),Q==="selectRow"&&S>0)p("row",S,x);else if(Q==="selectColumn"&&t.alignments.length>1)p("column",S,x);else if(Q==="insertRowBefore"&&S>0)t.rows.splice(S,0,Array(t.alignments.length).fill("")),f({row:S,column:x});else if(Q==="insertRowAfter")t.rows.splice(S+1,0,Array(t.alignments.length).fill("")),f({row:S+1,column:x});else if(Q==="duplicateRow"&&S>0)t.rows.splice(S+1,0,[...t.rows[S]]),f({row:S+1,column:x});else if(Q==="deleteRow"&&S>0)t.rows.splice(S,1),f({row:Math.min(S,t.rows.length-1),column:x});else if(Q==="insertColumnBefore"){for(let P of t.rows)P.splice(x,0,"");t.alignments.splice(x,0,"none"),f({row:S,column:x})}else if(Q==="insertColumnAfter"){for(let P of t.rows)P.splice(x+1,0,"");t.alignments.splice(x+1,0,"none"),f({row:S,column:x+1})}else if(Q==="deleteColumn"&&t.alignments.length>1){for(let P of t.rows)P.splice(x,1);t.alignments.splice(x,1),f({row:S,column:Math.min(x,t.alignments.length-1)})}};return t.rows.forEach((Q,S)=>{let x=document.createElement("tr");c.appendChild(x),Q.forEach((P,$)=>{let Z=document.createElement(S===0?"th":"td"),_=document.createElement("div");if(_.className="cm-md-table-cell",_.contentEditable="plaintext-only",_.spellcheck=!0,vh(_,P),_.dataset.tableRow=String(S),_.dataset.tableColumn=String($),S===0){let W=`Column ${$+1}`;_.dataset.placeholder=W;let T=()=>{(_.innerText||"").trim()?_.removeAttribute("aria-label"):_.setAttribute("aria-label",W)};T(),_.addEventListener("input",T)}t.alignments[$]!=="none"&&(_.style.textAlign=t.alignments[$]),_.addEventListener("focus",()=>{O(),(_.textContent!==t.rows[S][$]||_.childElementCount)&&(_.textContent=t.rows[S][$]),_.dataset.tableEditing="true",ke.set(e,{tableFrom:this.from,row:S,column:$,element:_,anchor:0,head:0}),r={row:S,column:$,element:_}}),_.addEventListener("contextmenu",W=>{W.preventDefault(),_.focus(),r={row:S,column:$,element:_};let T=String(NP++);Mr={token:T,perform:C=>g(C,S,$)},window.__mdRequestTableContextMenu?.({token:T,canInsertRowAbove:S>0,canDuplicateRow:S>0,canDeleteRow:S>0,canDeleteColumn:t.alignments.length>1,showsDuplicateRow:!0})}),_.addEventListener("blur",()=>{if(Ln(e),!r||r.element!==_)return;let W=_.innerText||"",T=W!==t.rows[S][$]||!Eo(e,{tableFrom:this.from,row:S,column:$});t.rows[S][$]=W,r=null,delete _.dataset.tableEditing,vh(_,t.rows[S][$]),T&&f(null,!0)}),_.addEventListener("keydown",W=>{if((W.metaKey||W.ctrlKey)&&["b","i"].includes(W.key.toLowerCase())){W.preventDefault();let w=To(e);if(!w)return;zt(W.key.toLowerCase()==="b"?"**":"*")(e),w&&Co(e,w);return}if(W.key==="Escape"){W.preventDefault(),r=null,_.blur(),delete _.dataset.tableEditing,vh(_,t.rows[S][$]),ke.delete(e),e.focus();return}if(W.key!=="Tab"&&W.key!=="Enter")return;W.preventDefault(),t.rows[S][$]=_.innerText||"";let T=W.key==="Tab"&&W.shiftKey,C=S,k=$+(T?-1:1);k<0?(C--,k=t.alignments.length-1):k>=t.alignments.length&&(C++,k=0),C<0?(C=0,k=0):C>=t.rows.length&&t.rows.push(Array(t.alignments.length).fill("")),f({row:C,column:k})}),Z.appendChild(_),x.appendChild(Z)})}),n.addEventListener("mousedown",Q=>{if(Q.button!==0)return;let S=Q.target.closest?.(".cm-md-table-cell");if(!S)return;let x=Number(S.dataset.tableRow),P=Number(S.dataset.tableColumn);if(!Number.isInteger(x)||x<0||!Number.isInteger(P))return;Q.stopPropagation();let $=null;if(S.dataset.tableEditing!=="true"&&Q.detail===1&&!Q.shiftKey&&!Q.metaKey&&!Q.ctrlKey&&!Q.altKey&&S.textContent!==t.rows[x][P]){let T=document.caretRangeFromPoint?.(Q.clientX,Q.clientY),C=T&&t0.get(T.startContainer);C!=null&&S.contains(T.startContainer)&&($=C+T.startOffset,Q.preventDefault())}S.focus({preventScroll:!0});let Z=T=>{let C=S.firstChild;C&&window.getSelection()?.setBaseAndExtent(C,$,C,T)};$!=null&&Z($),o={cell:S,row:x,column:P,head:S,active:!1,dragged:!1};let _=T=>{document.removeEventListener("mousemove",W,!0),document.removeEventListener("mouseup",_,!0),o?.active?(T.preventDefault(),window.getSelection()?.removeAllRanges(),a=!0):Ln(e),o=null},W=T=>{if(!o)return;let k=document.elementFromPoint?.(T.clientX,T.clientY)?.closest?.(".cm-md-table-cell")||T.target.closest?.(".cm-md-table-cell");if(!(!k||!n.contains(k))){if(k===o.cell&&!o.active){if($!=null&&(T.preventDefault(),o.dragged||=Math.hypot(T.clientX-Q.clientX,T.clientY-Q.clientY)>3,o.dragged)){let w=document.caretRangeFromPoint?.(T.clientX,T.clientY);w?.startContainer===S.firstChild&&Z(w.startOffset)}return}k!==o.head&&(T.preventDefault(),o.active=!0,o.head=k,b(o.row,o.column,Number(k.dataset.tableRow),Number(k.dataset.tableColumn)))}};document.addEventListener("mousemove",W,!0),document.addEventListener("mouseup",_,!0)},!0),n.addEventListener("click",Q=>{a&&(a=!1,Q.preventDefault(),Q.stopPropagation())},!0),n.addEventListener("keydown",Q=>{if(!s)return;if(Q.key==="Escape"){Q.preventDefault(),O(),e.focus();return}if(Q.key!=="Backspace"&&Q.key!=="Delete")return;if(s.kind==="range"){Q.preventDefault();return}Q.preventDefault();let S=s;O(),g(S.kind==="row"?"deleteRow":"deleteColumn",S.row,S.column)}),n}ignoreEvent(){return!0}},qo=ie.define();function $h(i,e,t,n=0){let r=[];if(e){let o=new RegExp(e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),"giu"),a=i.toString();for(let l of a.matchAll(o)){let c=l.index;(!t||c===0||!/[A-Za-z0-9_]/.test(a[c-1]))&&r.push({from:c,to:c+l[0].length})}}n=r.length?Math.min(Math.max(n,0),r.length-1):-1;let s=R.set(r.map((o,a)=>R.mark({class:a===n?"cm-find-match cm-find-current":"cm-find-match"}).range(o.from,o.to)));return{query:e,beginsWith:t,matches:r,index:n,decorations:s}}var vi=fe.define({create:i=>$h(i.doc,"",!1),update(i,e){for(let t of e.effects)if(t.is(qo)){let{query:n,beginsWith:r,index:s}=t.value;return $h(e.state.doc,n,r,s)}return e.docChanged?$h(e.state.doc,i.query,i.beginsWith,i.index):i},provide:i=>q.decorations.from(i,e=>e.decorations)});function Ro(i,e,t){let n=i.field(vi),r=n.matches[n.index];return!!r&&r.frome}var JP=q.baseTheme({".cm-find-match":{backgroundColor:"#ffe58a",color:"#201800",borderRadius:"2px"},".cm-find-current":{backgroundColor:"#ffad33",outline:"1px solid #9b5700"}});function qg(i){let e=[];return(Ls(i,i.doc.length,80)||G(i)).iterate({enter(n){if(n.name!=="Table")return;if(Ro(i,n.from,n.to))return!1;let r=i.doc.sliceString(n.from,n.to);if(jh(r))return e.push(R.replace({block:!0,widget:new Eh(r,n.from)}).range(n.from,n.to)),!1}}),R.set(e,!0)}var ev=fe.define({create:qg,update:(i,e)=>e.docChanged||e.effects.some(t=>t.is(qo))?qg(e.state):i,provide:i=>q.decorations.from(i)}),Ao=class extends Ce{constructor(e,t){super(),this.from=e,this.checked=t}eq(e){return this.from===e.from&&this.checked===e.checked}toDOM(e){let t=document.createElement("span");t.className="cm-md-task-marker",t.dataset.sourceFrom=String(this.from);let n=document.createElement("input");return n.type="checkbox",n.checked=this.checked,n.setAttribute("aria-label",this.checked?"Mark task incomplete":"Mark task complete"),n.addEventListener("mousedown",r=>{r.preventDefault(),r.stopPropagation()}),n.addEventListener("change",()=>{let r=document.activeElement===n;e.dispatch({changes:{from:this.from,to:this.from+1,insert:n.checked?"x":" "},userEvent:"input"}),r||e.focus()}),t.append(n,document.createTextNode(" ")),t}updateDOM(e){if(Number(e.dataset.sourceFrom)!==this.from)return!1;let t=e.querySelector("input");return t.checked=this.checked,t.setAttribute("aria-label",this.checked?"Mark task incomplete":"Mark task complete"),!0}ignoreEvent(){return!0}},tv=Ic({nonTightLists:!1});function iv(i){return i.state.selection.ranges.every(e=>e.empty&&/^[ \t]*(?:>[ \t]*)*[-+*][ \t]+\[[ xX]\](?:[ \t]|$)/.test(i.state.doc.lineAt(e.head).text))?tv({state:i.state,dispatch:e=>{let t=e.state,n=t.changeByRange(r=>{let s=t.doc.lineAt(r.head);return r.empty&&s.text===""&&s.number>1&&t.doc.line(s.number-1).text.trim()!==""?{changes:{from:r.head,insert:t.lineBreak},range:v.cursor(r.head+t.lineBreak.length)}:{range:r}});i.dispatch([e,t.update(n,{userEvent:"input",scrollIntoView:!0})])}}):!1}var Ne=R.replace({}),zg=R.replace({widget:new Wr("\u2022","cm-md-bullet")}),Lg=R.mark({class:"cm-md-bullet-source"}),Mg=new Map,nv=i=>{let e=Mg.get(i);return e||(e=R.replace({widget:new Wr(i,"cm-md-ordered")}),Mg.set(i,e)),e},rv=R.mark({class:"cm-md-ordered-source"}),sv=R.replace({widget:new Rh}),ov=R.line({class:"cm-md-rule-line"}),En=/^([ \t]*)([-+*]|\d+[.)])([ \t]+|$)/,av=R.replace({widget:new Wr(" ","cm-md-join")}),qh={},lv=i=>R.line({class:"cm-md-h"+i});for(let i=1;i<=6;i++)qh[i]=lv(i);var cv=R.line({class:"cm-md-heading-inactive"}),Wg=R.line({class:"cm-md-heading-after-blank"}),hv=R.line({class:"cm-md-image-line"}),jg=R.line({class:"cm-md-line-collapsed"}),bt={line:22.8,blankGap:4,paragraph:12,quote:18,alert:24,table:24,hr:12},fv=new Set(["Paragraph","FencedCode","CodeBlock","Blockquote","BulletList","OrderedList","Table","HorizontalRule","HTMLBlock"]),Vg=new Map,wo=i=>{let e=Vg.get(i);return e||(e=R.line({class:"cm-md-block-separator",attributes:{style:`height:${i}px;min-height:0;line-height:${i}px;overflow:hidden;`}}),Vg.set(i,e)),e},Dg=new Map,uv=i=>{let e=Dg.get(i);return e||(e=R.line({class:"cm-md-block-gap",attributes:{style:`padding-bottom:${i}px;--cm-md-block-gap:${i}px;`}}),Dg.set(i,e)),e},Yg=new Map,Ov=(i,e,t,n)=>{let r=`${i}:${e}:${t}:${n}`,s=Yg.get(r);if(!s){let o=[],a=[];for(let l=0;lci.create({tagName:"div",attributes:{class:`cm-md-code-card${s?" cm-md-code-card-wrapped":""}`}}).range(n,r)),!0)}var bv=R.line({class:"cm-md-table"}),Ug=R.line({class:"cm-md-list-item-gap"}),Po=R.line({class:"cm-md-list-item"}),Gg=new Map,Ch=i=>{let e=Gg.get(i);return e||(e=R.line({class:`cm-md-list-depth-${i}`,attributes:{style:`padding-inline-start:${i*2.1}em;text-indent:-2.1em;`}}),Gg.set(i,e)),e},Sv=R.mark({class:"cm-md-fence-info"}),yv=R.mark({class:"cm-md-code-fence-source-hidden"}),kv=R.mark({class:"cm-md-heading-source-hidden"}),xv=R.mark({class:"cm-md-heading-prefix"}),wv=R.mark({class:"cm-md-heading-marker"}),Pv=R.line({class:"cm-md-setext-marker-line"}),vv=R.mark({class:"cm-md-setext-source"}),$v=R.mark({class:"cm-md-link"}),Tv=R.mark({class:"cm-md-url"}),Cv=R.mark({class:"cm-md-strong"}),Xv=R.mark({class:"cm-md-emphasis"}),_v=R.mark({class:"cm-md-strikethrough"}),Rv=R.mark({class:"cm-md-highlight"}),Av=R.line({class:"cm-md-frontmatter"}),Zv=R.line({class:"cm-md-frontmatter-first"}),Ev=R.line({class:"cm-md-frontmatter-last"}),qv=R.mark({class:"cm-md-frontmatter-delim"}),zv=R.line({attributes:{dir:"auto"}});function Ng(i){let e=[];for(let t=1;t<=i.doc.lines;t++)e.push(zv.range(i.doc.line(t).from));return R.set(e)}var Lv=fe.define({create:Ng,update(i,e){return e.docChanged?Ng(e.state):i},provide:i=>q.decorations.from(i)});function Zo(i,e){let t="",n=null,r=[];for(let g=e.node.firstChild;g;g=g.nextSibling)g.name==="CodeInfo"&&(n=g,t=i.doc.sliceString(g.from,g.to)),g.name==="CodeMark"&&r.push(g);let s=t.trim().split(/\s+/,1)[0].toLowerCase(),o=i.doc.lineAt(e.from),a=r[0],l=o.to1&&(c=i.doc.lineAt(r[r.length-1].from).from);let h=i.sliceDoc(o.from,e.from),f=/^ {0,3}$/.test(h)?h.length:0,u=e.node.getChildren("CodeText"),O=u.map((g,Q)=>{let S=Q?i.doc.lineAt(g.from).number-i.doc.lineAt(u[Q-1].to).number:0;return` -`.repeat(S)+i.sliceDoc(g.from,g.to)}).join("").replace(new RegExp("^ {0,"+f+"}","gm"),""),m=s?"":DP(O),p=n?.from??a?.to??o.to,b=n?.to??p;return{explicitLanguage:s,language:s||m,detectedLanguage:m,metadata:t.trim().split(/\s+/).slice(1).join(" "),rawInfo:t,infoFrom:p,infoTo:b,sourceFrom:l,source:O}}function Xo(i,e){let t=G(i).resolve(e,-1);for(;t;){if(t.name==="FencedCode")return{from:t.from,to:t.to,closed:t.node.lastChild?.name==="CodeMark"};t=t.parent}return null}var zh=ie.define(),Xt=fe.define({create:()=>null,update(i,e){if(e.docChanged)return null;for(let t of e.effects)if(t.is(zh))return t.value;return i?.activateOnSelection&&e.isUserEvent("select.pointer")?{selection:e.state.selection.main,focused:!0,fence:e.state.field(tn),activateOnSelection:!1}:i}}),Mv=Ye.fromClass(class{constructor(i){this.view=i,this.releaseTimer=null,this.down=e=>{e.button!==0||e.target.closest("input, textarea, button, select, .cm-md-table-cell")||(clearTimeout(this.releaseTimer),!i.state.field(Xt)&&i.dispatch({effects:zh.of({selection:i.state.selection.main,focused:i.hasFocus,fence:i.state.field(tn),activateOnSelection:e.detail===1&&!e.shiftKey&&!e.metaKey&&!e.ctrlKey&&!e.altKey})}))},this.finish=()=>{i.state.field(Xt)&&(clearTimeout(this.releaseTimer),this.releaseTimer=setTimeout(()=>this.release(),0))},this.release=()=>{clearTimeout(this.releaseTimer),i.state.field(Xt)&&i.dispatch({effects:zh.of(null)})},this.move=e=>{e.buttons===0&&this.finish()},i.contentDOM.addEventListener("mousedown",this.down,!0),i.contentDOM.addEventListener("keydown",this.release,!0),i.dom.ownerDocument.addEventListener("mouseup",this.finish),i.dom.ownerDocument.addEventListener("mousemove",this.move),i.dom.ownerDocument.addEventListener("dragend",this.finish),i.win.addEventListener("blur",this.finish)}destroy(){clearTimeout(this.releaseTimer);let i=this.view;i.contentDOM.removeEventListener("mousedown",this.down,!0),i.contentDOM.removeEventListener("keydown",this.release,!0),i.dom.ownerDocument.removeEventListener("mouseup",this.finish),i.dom.ownerDocument.removeEventListener("mousemove",this.move),i.dom.ownerDocument.removeEventListener("dragend",this.finish),i.win.removeEventListener("blur",this.finish)}}),Wv=q.mouseSelectionStyle.of((i,e)=>{if(e.button!==0||e.detail!==1||e.shiftKey||e.metaKey||e.ctrlKey||e.altKey)return null;let t=i.posAtCoords({x:e.clientX,y:e.clientY});if(t==null)return null;let n=!1;return{update(r){t=r.changes.mapPos(t)},get(r){n||=Math.hypot(r.clientX-e.clientX,r.clientY-e.clientY)>3;let s=n?i.posAtCoords({x:r.clientX,y:r.clientY},!1)??t:t;return v.single(t,s)}}}),tn=fe.define({create:()=>null,update(i,e){i&&e.docChanged&&(i={from:e.changes.mapPos(i.from,1),to:e.changes.mapPos(i.to,-1)});let t=e.state.selection.main;if(!t.empty)return null;let n=t.head;return e.isUserEvent("select.pointer")||!i&&e.docChanged&&e.isUserEvent("input")?Xo(e.state,n):!i||ni.to?null:e.docChanged&&Xo(e.state,n)||i}});function vo(i){let e=[],t=i.field(tn);return(Ls(i,i.doc.length,80)||G(i)).iterate({enter(r){if(r.name!=="FencedCode")return;let s=Zo(i,r),o=t!=null&&r.from<=t.from&&r.to>=t.to;if(s.language==="mermaid"&&!o&&!Ro(i,r.from,r.to))return e.push(R.replace({block:!0,widget:new Ah(s.source)}).range(r.from,r.to)),!1}}),R.set(e,!0)}var jv=fe.define({create:i=>vo(i),update:(i,e)=>{if(e.state.field(Xt))return e.startState.field(Xt)?.activateOnSelection&&!e.state.field(Xt).activateOnSelection?vo(e.state):i;if(e.startState.field(Xt))return vo(e.state);let t=e.startState.field(tn),n=e.state.field(tn),r=t?.from!==n?.from||t?.to!==n?.to,s=!1;return e.docChanged&&e.changes.iterChanges((o,a,l,c,h)=>{if(s)return;let u=e.startState.doc.sliceString(o,a)+h.toString();s=/[`~]|mermaid/i.test(u)}),r||s||e.effects.some(o=>o.is(qo))||e.docChanged&&e.state.field(vi).query?vo(e.state):e.docChanged?i.map(e.changes):i},provide:i=>q.decorations.from(i)});function Vv(i,e){let t=e.get(i.sourceFrom);if(t?.language===i.detectedLanguage&&t.source===i.source)return t.tokens;let n=[],r=Ue.matchLanguageName(Jg,i.detectedLanguage,!1)?.support?.language;return r&&As(r.parser.parse(i.source),n0,(s,o,a)=>{n.push({from:s,to:o,mark:R.mark({class:a})})}),e.set(i.sourceFrom,{language:i.detectedLanguage,source:i.source,tokens:n}),n}function Fg(i,e){let t=[],{state:n}=i,r=n.field(Xt),s=r?.selection??n.selection.main,o=r?r.fence:n.field(tn),l=(r?r.focused:i.hasFocus)&&(s.empty||i.compositionStarted)?s.head:null,c=(k,w)=>Ro(n,k,w)||l!=null&&l>=k&&l<=w,h=k=>{let w=n.doc.lineAt(k);return c(w.from,w.to)},f=k=>Ro(n,k.from,k.to)||o!=null&&k.from<=o.from&&k.to>=o.to,u=k=>l!=null&&l>k&&l{let z=n.doc.lineAt(k),F=w.spec.class+"@"+z.from;O.has(F)||(O.add(F),t.push(w.range(z.from)))},b=(k,w,z)=>{let F=k;for(;F<=w;){let y=n.doc.lineAt(F);if(p(y.from,z),y.to>=w)break;F=y.to+1}},g=k=>{let w=0;for(let z of k)w=z===" "?w+(4-w%4):w+1;return w},Q=(k,w)=>{let z=w[1],F=w[2],y=w[3],j=k.from+z.length,ye=j+F.length,rt=Math.floor(g(z)/4)+1;if(p(k.from,Po),p(k.from,Ch(rt)),m.add(k.from),k.number>1&&En.test(n.doc.line(k.number-1).text)&&p(k.from,Ug),z.length>0&&t.push(Ne.range(k.from,j)),/^[-+*]$/.test(F)&&/^\s*\[[ xX]\](\s|$)/.test(k.text.slice(ye-k.from))){let B=k.text.slice(ye-k.from).match(/^[ \t]*\[([ xX])\][ \t]?/),N=ye+B[0].indexOf("[");if(u(N))return;p(k.from,Ig),B[1]!==" "&&p(k.from,Th),t.push(R.replace({widget:new Ao(N+1,B[1]!==" ")}).range(j,ye+B[0].length))}else/^[-+*]$/.test(F)&&(h(j)?(t.push(Lg.range(j,ye)),y.length>0&&t.push(Ne.range(ye,ye+y.length))):t.push(zg.range(j,ye+y.length)))},S=k=>{let w=n.doc.lineAt(k),z=w.number,F=Math.max(z-64,1);for(;z>F&&n.doc.line(z-1).text.length===0;)z--;return{line:w,first:z,count:w.number-z}},x=k=>{switch(k.name){case"Blockquote":{let w=n.doc.lineAt(k.from);return/^ {0,3}> ?\[!(note|tip|important|warning|caution)\]/i.test(w.text)?bt.alert:bt.quote}case"Table":return bt.table;case"HorizontalRule":return bt.hr;case"FencedCode":return Zo(n,k).language==="mermaid"?bt.table:bt.paragraph;default:return bt.paragraph}},P=-1,$=k=>{let w=n.doc.lineAt(k.from);w.number===1||w.from<=P||S(k.from).count===0&&p(n.doc.line(w.number-1).from,uv(x(k)))},Z=k=>{let w=S(k.from);if(w.count===0)return;let z=n.doc.line(w.line.number-1);if(w.first===1){p(z.from,wo(bt.blankGap+x(k)));return}let F=x(k),y=bt.blankGap+F;p(z.from,wo(y))},_=0,W=[],T=[],C=new Map;for(let{from:k,to:w}of i.visibleRanges){let z=null;G(n).iterate({from:k,to:w,enter:y=>{_++;let j=y.name;if(_===2&&j==="Document"&&(z=_),z!=null&&_===z+1&&fv.has(j)&&(Z(y),$(y)),j==="Frontmatter"){let X=y.to>y.from&&n.doc.lineAt(y.to).from===y.to?y.to-1:y.to;P=X,b(y.from,X,Av),p(y.from,Zv),p(n.doc.lineAt(X).from,Ev);return}if(j==="DashLine"){t.push(qv.range(y.from,y.to));return}let ye=j.match(/^ATXHeading(\d)$/);if(ye){p(y.from,qh[+ye[1]]),S(y.from).count>0&&p(y.from,Wg),h(y.from)||p(y.from,cv);return}let rt=j.match(/^SetextHeading(\d)$/);if(rt){p(y.from,qh[+rt[1]]),S(y.from).count>0&&p(y.from,Wg);return}if(j==="HeaderMark"){let X=y.node.parent;if(X&&/^ATXHeading/.test(X.name)){t.push(wv.range(y.from,y.to));let B=n.doc.sliceString(y.to,y.to+1),N=y.to+(B===" "?1:0),U=y.from===X.from,ae=n.doc.lineAt(y.from),re=U&&/^ {0,3}$/.test(n.doc.sliceString(ae.from,y.from))?ae.from:y.from;U&&t.push(xv.range(re,N)),h(y.from)||t.push(kv.range(re,N))}else X&&/^SetextHeading/.test(X.name)&&(p(y.from,Pv),t.push(vv.range(y.from,y.to)));return}if(j==="Blockquote"){T.push(y.from);let X=n.doc.lineAt(y.from),B=y.node.parent?.name==="Blockquote",N=y.node.prevSibling;for(;N?.name==="QuoteMark";)N=N.prevSibling;let U=B&&N?bt.quote:0,ae=y.from;for(;ae<=y.to;){let re=n.doc.lineAt(ae),$e=C.get(re.from)||{depth:0,starts:0,ends:0,gap:0};if($e.depth=Math.max($e.depth,T.length),re.from===X.from&&($e.starts++,$e.gap+=U),re.to>=y.to&&$e.ends++,C.set(re.from,$e),re.to>=y.to)break;ae=re.to+1}return}if(j==="QuoteMark"){if(!h(y.from)){let X=n.doc.sliceString(y.to,y.to+1);t.push(Ne.range(y.from,y.to+(X===" "?1:0)))}return}if(j==="Paragraph"&&/^(Blockquote|ListItem)$/.test(y.node.parent?.name||"")){let X=n.doc.lineAt(y.from);if(X.number>n.doc.lineAt(y.node.parent.from).number){let B=n.doc.line(X.number-1);/^(?:[ >]*)$/.test(B.text)&&p(B.from,wo(bt.paragraph))}}if(j==="Escape"&&!c(y.from,y.to)){t.push(Ne.range(y.from,y.from+1));return}if(j==="StrongEmphasis"){t.push(Cv.range(y.from,y.to));return}if(j==="Emphasis"){t.push(Xv.range(y.from,y.to));return}if(j==="Strikethrough"){t.push(_v.range(y.from,y.to));return}if(j==="Highlight"){let X=[];for(let U=y.node.firstChild;U;U=U.nextSibling)U.name==="HighlightMark"&&X.push(U);let B=X.length?X[0].to:y.from,N=X.length>1?X[X.length-1].from:y.to;B1?X[X.length-1].from:y.to;B")?B.slice(1,-1):B;if(!N||N.startsWith("//"))return!1;let U=y.from+2;for(let re=y.node.firstChild;re;re=re.nextSibling)if(re.name==="LinkMark"&&n.doc.sliceString(re.from,re.to)==="]"){U=re.from;break}let ae=n.doc.sliceString(y.from+2,U);if(!c(y.from,y.to)){let re=n.doc.lineAt(y.from);re.text.trim()===n.doc.sliceString(y.from,y.to)&&p(re.from,hv),t.push(R.replace({widget:new _h(N,ae,n.doc.sliceString(y.from,y.to),y.from,y.to)}).range(y.from,y.to))}return!1}if(j==="Link"){y.node.getChild("URL")&&t.push($v.range(y.from,y.to));return}if(j==="LinkMark"){let X=y.node.parent;X&&X.name==="Link"&&X.getChild("URL")&&!c(X.from,X.to)&&t.push(Ne.range(y.from,y.to));return}if(j==="URL"){let X=y.node.parent;X&&X.name==="Link"&&(c(X.from,X.to)?t.push(Tv.range(y.from,y.to)):t.push(Ne.range(y.from,y.to)));return}if(j==="BulletList"||j==="OrderedList"){W.push(y.from);return}if(j==="ListItem"){let X=y.from===W[W.length-1],B=W.length>1,N=n.doc.lineAt(y.from),U=h(y.from)&&N.number>1&&n.doc.line(N.number-1).text.trim()==="";if(!X&&!U){let Ae=N.number-1;for(;Ae>0&&n.doc.line(Ae).text.trim()==="";)p(n.doc.line(Ae).from,wo(0)),Ae--}if((!X||B)&&!U&&p(y.from,Ug),b(y.from,y.to,Po),/^[ \t]*[-+*][ \t]+\[[xX]\](?:[ \t]|$)/.test(n.doc.sliceString(y.from,N.to))){let Ae=y.from;for(let Fe=y.node.firstChild;Fe;Fe=Fe.nextSibling)Fe.name!=="BulletList"&&Fe.name!=="OrderedList"||(b(Ae,n.doc.lineAt(Fe.from).from-1,Th),Ae=n.doc.lineAt(Fe.to).to+1);b(Ae,y.to,Th)}p(y.from,Ch(W.length)),m.add(n.doc.lineAt(y.from).from);{let Fe=n.doc.lineAt(y.from).to+1;for(;Fe<=y.to;){let st=n.doc.lineAt(Fe),H=st.text;if(H.length>0&&!En.test(H)){p(st.from,dv),p(st.from,Ch(W.length));let Lt=H.match(/^[ \t]+/);Lt&&t.push(Ne.range(st.from,st.from+Lt[0].length))}if(st.to>=y.to)break;Fe=st.to+1}}let ae=n.doc.lineAt(y.from),$e=ae.text.match(En)?.[1]??"";$e.length>0&&t.push(Ne.range(ae.from,ae.from+$e.length));return}if(j==="ListMark"){let X=n.doc.sliceString(y.from,y.to),B=n.doc.lineAt(y.from),N=/^\s*\[[ xX]\](\s|$)/.test(B.text.slice(y.to-B.from));if(N&&/^[-+*]$/.test(X)){let U=B.text.slice(y.to-B.from).match(/^[ \t]*\[([ xX])\][ \t]?/),ae=y.to+U[0].indexOf("[");if(u(ae))return;p(B.from,Ig),t.push(R.replace({widget:new Ao(ae+1,U[1]!==" ")}).range(y.from,y.to+U[0].length))}else if((X==="-"||X==="*"||X==="+")&&!N){let U=n.doc.sliceString(y.to,y.to+1);h(y.from)?(t.push(Lg.range(y.from,y.to)),U===" "&&t.push(Ne.range(y.to,y.to+1))):t.push(zg.range(y.from,y.to+(U===" "?1:0)))}else if(/^\d+[.)]$/.test(X)&&!N){let U=n.doc.sliceString(y.to,y.to+1);h(y.from)?(t.push(rv.range(y.from,y.to)),U===" "&&t.push(Ne.range(y.to,y.to+1))):t.push(nv(X).range(y.from,y.to+(U===" "?1:0)))}return}if(j==="FencedCode"||j==="CodeBlock"){let X=n.doc.lineAt(y.from),B=n.doc.lineAt(y.to),N=j==="FencedCode"&&y.node.lastChild?.name==="CodeMark",U=B.number-X.number>=(N?2:1),ae=j==="FencedCode"&&!h(X.from),re=N&&!h(B.from),$e=ae&&U?n.doc.line(X.number+1):X,Ae=U?$e:X,Fe=!U&&j==="FencedCode"?X:re?n.doc.line(B.number-1):B;if(j==="FencedCode"){let H=Zo(n,y);if(H.detectedLanguage)for(let Lt of Vv(H,e))t.push(Lt.mark.range(H.sourceFrom+Lt.from,H.sourceFrom+Lt.to));t.push(R.widget({widget:new _o({wrapped:n.field(qn).has(X.from),fenceFrom:y.from,language:H.language,detectedLanguage:H.detectedLanguage,rawInfo:H.rawInfo,infoFrom:H.infoFrom,infoTo:H.infoTo}),side:-1}).range(Ae.from))}else t.push(R.widget({widget:new _o({fenceFrom:X.from,language:"text",rawInfo:"",plain:!0,wrapped:n.field(qn).has(X.from)}),side:-1}).range(Ae.from));let st=y.from;for(;st<=y.to;){let H=n.doc.lineAt(st),Lt=j==="CodeBlock"&&O.has(`${Po.spec.class}@${H.from}`)?H.text.match(En):null;if(Lt){if(Q(H,Lt),H.to>=y.to)break;st=H.to+1;continue}let Ih=j==="FencedCode"&&H.from===Ae.from;if((ae&&H.from===X.from||re&&H.from===B.from)&&!Ih)p(H.from,jg);else if(j==="FencedCode"&&!U&&H.from!==X.from&&!Ih)p(H.from,jg);else{let Mn=H.from===$e.from,Bh=H.from===Fe.from;Mn&&p(H.from,mv),Bh&&p(H.from,gv),!Mn&&!Bh&&p(H.from,pv),t.push(R.line({attributes:{"data-code-scroll-group":String(X.from),class:n.field(qn).has(X.from)?"cm-md-code-wrapped":""}}).range(H.from)),H.length&&t.push(Qv.range(H.from,H.to))}if(j==="CodeBlock"&&!h(H.from)){let Mn=H.text.match(/^(?: {4}|\t)/)?.[0];Mn&&t.push(Ne.range(H.from,H.from+Mn.length))}if(H.to>=y.to)break;st=H.to+1}return}if(j==="CodeInfo"){let X=y.node.parent;if(!X)return;h(X.from)&&t.push(Sv.range(y.from,y.to));return}if(j==="Table"){b(y.from,y.to,bv);return}if(j==="HorizontalRule"){h(y.from)||(p(y.from,ov),t.push(sv.range(y.from,y.to)));return}},leave:y=>{_--;let j=y.name;(j==="BulletList"||j==="OrderedList")&&W.pop(),j==="Blockquote"&&T.pop()}});for(let[y,j]of C)p(y,Ov(j.depth,j.starts,j.ends,j.gap));C.clear();let F=k;for(;F<=w;){let y=n.doc.lineAt(F);if(O.has(`${Po.spec.class}@${y.from}`)&&!m.has(y.from)){let ye=y.text.match(En);ye&&Q(y,ye)}if(y.to>=w)break;F=y.to+1}}return R.set(t,!0)}function Lh(i){let e=i.selection.main,t=new Set,n=0;for(let r=G(i).resolveInner(e.from,1);r;r=r.parent){if(r.toi.decorations,provide:i=>q.blockWrappers.of(e=>e.plugin(i)?.codeWrappers??ci.set([]))}),Yv=Ye.fromClass(class{constructor(i){this.schedule(i)}update(i){(i.docChanged||i.selectionSet||i.viewportChanged||i.geometryChanged||i.focusChanged)&&this.schedule(i.view)}docViewUpdate(i){this.schedule(i)}schedule(i){i.requestMeasure({key:this,read(e){return Array.from(e.dom.querySelectorAll(".cm-md-heading-prefix")).map(t=>{let n=t.closest(".cm-line");return n?{line:n,width:t.getBoundingClientRect().width}:null}).filter(Boolean)},write(e){for(let{line:t,width:n}of e){let r=`${n}px`;t.style.getPropertyValue("--cm-md-heading-prefix-width")!==r&&t.style.setProperty("--cm-md-heading-prefix-width",r)}}})}});function Hg(i){let e=[],t=i.selection.main,n=(s,o)=>t.from<=o&&t.to>=s;return(Ls(i,i.doc.length,80)||G(i)).iterate({enter:s=>{let o=s.name;if(o==="FencedCode"||o==="CodeBlock"||o==="HTMLBlock")return!1;if(o!=="Paragraph")return;if(n(s.from,s.to))return!1;let a=i.doc.lineAt(s.from);for(;a.toHg(i),update:(i,e)=>e.docChanged||e.selection?Hg(e.state):i,provide:i=>q.decorations.from(i)}),n0=kn.define([{tag:[d.keyword,d.modifier,d.operatorKeyword,d.controlKeyword,d.definitionKeyword,d.moduleKeyword],class:"hl-keyword"},{tag:[d.string,d.special(d.string),d.regexp],class:"hl-string"},{tag:[d.comment,d.blockComment,d.lineComment],class:"hl-comment"},{tag:[d.number,d.integer,d.float,d.character],class:"hl-number"},{tag:[d.bool,d.atom,d.null],class:"hl-keyword"},{tag:[d.typeName,d.namespace],class:"hl-type"},{tag:[d.className,d.definition(d.typeName)],class:"hl-declaration"},{tag:[d.function(d.variableName),d.function(d.propertyName),d.macroName],class:"hl-function"},{tag:[d.propertyName,d.labelName],class:"hl-property"},{tag:d.attributeName,class:"hl-attribute"},{tag:[d.standard(d.variableName),d.standard(d.typeName)],class:"hl-builtin"},{tag:[d.meta,d.processingInstruction],class:"hl-meta"},{tag:[d.punctuation,d.operator],class:"hl-plain"}]);function zt(i){return e=>{let t=e.state.changeByRange(n=>{let{from:r,to:s}=n;for(;rr&&/\s/.test(e.state.sliceDoc(s-1,s));)s--;let o=i.length,a=e.state.sliceDoc(Math.max(0,r-o),r),l=e.state.sliceDoc(s,s+o);if(a===i&&l===i)return{changes:[{from:r-o,to:r,insert:""},{from:s,to:s+o,insert:""}],range:v.range(r-o,s-o)};let c=e.state.sliceDoc(r,s);return c.startsWith(i)&&c.endsWith(i)&&c.length>=o*2?{changes:{from:r,to:s,insert:c.slice(o,c.length-o)},range:v.range(r,s-o*2)}:{changes:{from:r,to:s,insert:i+c+i},range:v.range(r+o,s+o)}});return e.dispatch(t,{scrollIntoView:!0,userEvent:"input"}),!0}}function Yh(i,e){let t=i.selection.main,n=i.doc.lineAt(t.from).number,r=i.doc.lineAt(t.to).number,s=[];for(let o=n;o<=r;o++)s.push(i.doc.line(o));return e(s)}function Xh(i,e){return t=>{let n=Yh(t.state,r=>{let s=r.every(o=>e.test(o.text));return r.map(o=>{if(s){let a=o.text.match(e);return{from:o.from,to:o.from+a[0].length,insert:""}}return e.test(o.text)?null:{from:o.from,insert:i}}).filter(Boolean)});return n.length&&jr(t,n),!0}}function jr(i,e){let t=i.state.changes(e),n=i.state.selection.main;i.dispatch({changes:e,selection:v.range(t.mapPos(n.anchor,1),t.mapPos(n.head,1)),userEvent:"input"})}function Iv(i){let e=/^\d+\.\s/,t=Yh(i.state,n=>{let r=n.every(o=>e.test(o.text)),s=1;return n.map(o=>{if(r){let a=o.text.match(e);return{from:o.from,to:o.from+a[0].length,insert:""}}return e.test(o.text)?null:{from:o.from,insert:`${s++}. `}}).filter(Boolean)});return t.length&&jr(i,t),!0}function Mh(i){let e=i.selection.main,t=i.doc.lineAt(e.from).number,n=i.doc.lineAt(e.empty?e.to:e.to-1).number;return Array.from({length:n-t+1},(r,s)=>i.doc.line(t+s))}function r0(i){let e=/^([ \t]*(?:>[ \t]*)*)(?:([-+*]|\d+[.)])([ \t]+)(\[[ xX]\][ \t]+)?)?/.exec(i);return{prefix:e[0],indent:e[1],style:e[2]?e[4]?"task":/^\d/.test(e[2])?"ordered":"bullet":"none"}}function zn(i,e,t){for(let n=G(i).resolve(e,1);n;n=n.parent)if(t.includes(n.name))return n;return null}function s0(i){return Mh(i).filter(e=>!/^[ \t>]*$/.test(e.text)&&!zn(i,e.from+e.text.search(/\S/),["FencedCode","CodeBlock"]))}function Bv(i,e){if(!["none","bullet","ordered","task"].includes(e))return!1;let t=s0(i.state).map((n,r)=>{let s=r0(n.text);if(s.style===e)return null;let o=e==="none"?"":e==="bullet"?"- ":e==="task"?"- [ ] ":`${r+1}. `;return{from:n.from,to:n.from+s.prefix.length,insert:s.indent+o}}).filter(Boolean);return t.length&&jr(i,t),i.focus(),!0}function en(i){return e=>{let t=Yh(e.state,n=>n.map(r=>{let s=r.text.match(/^(#{1,6})\s+/),a=(s?s[1].length:0)===i||i===0?"":"#".repeat(i)+" ";return{from:r.from,to:r.from+(s?s[0].length:0),insert:a}}));return e.dispatch({changes:t,userEvent:"input"}),!0}}function o0(i){let e={InlineCode:"code",FencedCode:"fenced",CodeBlock:"plain",Blockquote:"quote",Table:"table"};for(let t=G(i).resolve(i.selection.main.head,i.selection.main.empty?1:-1);t;t=t.parent)if(e[t.name])return{style:e[t.name],node:t};return{style:"none",node:null}}function Uv(i,e,t=""){if(!["none","quote","code","plain","fenced","table"].includes(e))return!1;let n=i.state,r=n.selection.main,s=o0(n),o=s.node&&r.from>=s.node.from&&r.to<=s.node.to;if(e==="code"&&(!o||s.style==="code"))return s.style!=="code"&&zt("`")(i),i.focus(),!0;if(e==="table"){let m=zn(n,r.to,["FencedCode"]),p=m?m.to:n.doc.lineAt(r.to).to,g=(m&&m.lastChild?.name!=="CodeMark"?` +`.repeat(S)+i.sliceDoc(g.from,g.to)}).join("").replace(new RegExp("^ {0,"+f+"}","gm"),""),m=s?"":DP(O),p=n?.from??a?.to??o.to,b=n?.to??p;return{explicitLanguage:s,language:s||m,detectedLanguage:m,metadata:t.trim().split(/\s+/).slice(1).join(" "),rawInfo:t,infoFrom:p,infoTo:b,sourceFrom:l,source:O}}function Xo(i,e){let t=G(i).resolve(e,-1);for(;t;){if(t.name==="FencedCode")return{from:t.from,to:t.to,closed:t.node.lastChild?.name==="CodeMark"};t=t.parent}return null}var zh=ie.define(),Xt=fe.define({create:()=>null,update(i,e){if(e.docChanged)return null;for(let t of e.effects)if(t.is(zh))return t.value;return i?.activateOnSelection&&e.isUserEvent("select.pointer")?{selection:e.state.selection.main,focused:!0,fence:e.state.field(tn),activateOnSelection:!1}:i}}),Mv=Ye.fromClass(class{constructor(i){this.view=i,this.releaseTimer=null,this.down=e=>{e.button!==0||e.target.closest("input, textarea, button, select, .cm-md-table-cell")||(clearTimeout(this.releaseTimer),!i.state.field(Xt)&&i.dispatch({effects:zh.of({selection:i.state.selection.main,focused:i.hasFocus,fence:i.state.field(tn),activateOnSelection:e.detail===1&&!e.shiftKey&&!e.metaKey&&!e.ctrlKey&&!e.altKey})}))},this.finish=()=>{i.state.field(Xt)&&(clearTimeout(this.releaseTimer),this.releaseTimer=setTimeout(()=>this.release(),0))},this.release=()=>{clearTimeout(this.releaseTimer),i.state.field(Xt)&&i.dispatch({effects:zh.of(null)})},this.move=e=>{e.buttons===0&&this.finish()},i.contentDOM.addEventListener("mousedown",this.down,!0),i.contentDOM.addEventListener("keydown",this.release,!0),i.dom.ownerDocument.addEventListener("mouseup",this.finish),i.dom.ownerDocument.addEventListener("mousemove",this.move),i.dom.ownerDocument.addEventListener("dragend",this.finish),i.win.addEventListener("blur",this.finish)}destroy(){clearTimeout(this.releaseTimer);let i=this.view;i.contentDOM.removeEventListener("mousedown",this.down,!0),i.contentDOM.removeEventListener("keydown",this.release,!0),i.dom.ownerDocument.removeEventListener("mouseup",this.finish),i.dom.ownerDocument.removeEventListener("mousemove",this.move),i.dom.ownerDocument.removeEventListener("dragend",this.finish),i.win.removeEventListener("blur",this.finish)}}),Wv=q.mouseSelectionStyle.of((i,e)=>{if(e.button!==0||e.detail!==1||e.shiftKey||e.metaKey||e.ctrlKey||e.altKey)return null;let t=i.posAtCoords({x:e.clientX,y:e.clientY});if(t==null)return null;let n=!1;return{update(r){t=r.changes.mapPos(t)},get(r){n||=Math.hypot(r.clientX-e.clientX,r.clientY-e.clientY)>3;let s=n?i.posAtCoords({x:r.clientX,y:r.clientY},!1)??t:t;return v.single(t,s)}}}),tn=fe.define({create:()=>null,update(i,e){i&&e.docChanged&&(i={from:e.changes.mapPos(i.from,1),to:e.changes.mapPos(i.to,-1)});let t=e.state.selection.main;if(!t.empty)return null;let n=t.head;return e.isUserEvent("select.pointer")||!i&&e.docChanged&&e.isUserEvent("input")?Xo(e.state,n):!i||ni.to?null:e.docChanged&&Xo(e.state,n)||i}});function vo(i){let e=[],t=i.field(tn);return(Ls(i,i.doc.length,80)||G(i)).iterate({enter(r){if(r.name!=="FencedCode")return;let s=Zo(i,r),o=t!=null&&r.from<=t.from&&r.to>=t.to;if(s.language==="mermaid"&&!o&&!Ro(i,r.from,r.to))return e.push(R.replace({block:!0,widget:new Ah(s.source)}).range(r.from,r.to)),!1}}),R.set(e,!0)}var jv=fe.define({create:i=>vo(i),update:(i,e)=>{if(e.state.field(Xt))return e.startState.field(Xt)?.activateOnSelection&&!e.state.field(Xt).activateOnSelection?vo(e.state):i;if(e.startState.field(Xt))return vo(e.state);let t=e.startState.field(tn),n=e.state.field(tn),r=t?.from!==n?.from||t?.to!==n?.to,s=!1;return e.docChanged&&e.changes.iterChanges((o,a,l,c,h)=>{if(s)return;let u=e.startState.doc.sliceString(o,a)+h.toString();s=/[`~]|mermaid/i.test(u)}),r||s||e.effects.some(o=>o.is(qo))||e.docChanged&&e.state.field(vi).query?vo(e.state):e.docChanged?i.map(e.changes):i},provide:i=>q.decorations.from(i)});function Vv(i,e){let t=e.get(i.sourceFrom);if(t?.language===i.detectedLanguage&&t.source===i.source)return t.tokens;let n=[],r=Ue.matchLanguageName(Jg,i.detectedLanguage,!1)?.support?.language;return r&&As(r.parser.parse(i.source),n0,(s,o,a)=>{n.push({from:s,to:o,mark:R.mark({class:a})})}),e.set(i.sourceFrom,{language:i.detectedLanguage,source:i.source,tokens:n}),n}function Fg(i,e){let t=[],{state:n}=i,r=n.field(Xt),s=r?.selection??n.selection.main,o=r?r.fence:n.field(tn),l=(r?r.focused:i.hasFocus)&&(s.empty||i.compositionStarted)?s.head:null,c=(k,w)=>Ro(n,k,w)||l!=null&&l>=k&&l<=w,h=k=>{let w=n.doc.lineAt(k);return c(w.from,w.to)},f=k=>Ro(n,k.from,k.to)||o!=null&&k.from<=o.from&&k.to>=o.to,u=k=>l!=null&&l>k&&l{let z=n.doc.lineAt(k),F=w.spec.class+"@"+z.from;O.has(F)||(O.add(F),t.push(w.range(z.from)))},b=(k,w,z)=>{let F=k;for(;F<=w;){let y=n.doc.lineAt(F);if(p(y.from,z),y.to>=w)break;F=y.to+1}},g=k=>{let w=0;for(let z of k)w=z===" "?w+(4-w%4):w+1;return w},Q=(k,w)=>{let z=w[1],F=w[2],y=w[3],j=k.from+z.length,ye=j+F.length,rt=Math.floor(g(z)/4)+1;if(p(k.from,Po),p(k.from,Ch(rt)),m.add(k.from),k.number>1&&En.test(n.doc.line(k.number-1).text)&&p(k.from,Ug),z.length>0&&t.push(Ne.range(k.from,j)),/^[-+*]$/.test(F)&&/^\s*\[[ xX]\](\s|$)/.test(k.text.slice(ye-k.from))){let B=k.text.slice(ye-k.from).match(/^[ \t]*\[([ xX])\][ \t]?/),N=ye+B[0].indexOf("[");if(u(N))return;p(k.from,Ig),B[1]!==" "&&p(k.from,Th),t.push(R.replace({widget:new Ao(N+1,B[1]!==" ")}).range(j,ye+B[0].length))}else/^[-+*]$/.test(F)&&(h(j)?(t.push(Lg.range(j,ye)),y.length>0&&t.push(Ne.range(ye,ye+y.length))):t.push(zg.range(j,ye+y.length)))},S=k=>{let w=n.doc.lineAt(k),z=w.number,F=Math.max(z-64,1);for(;z>F&&n.doc.line(z-1).text.length===0;)z--;return{line:w,first:z,count:w.number-z}},x=k=>{switch(k.name){case"Blockquote":{let w=n.doc.lineAt(k.from);return/^ {0,3}> ?\[!(note|tip|important|warning|caution)\]/i.test(w.text)?bt.alert:bt.quote}case"Table":return bt.table;case"HorizontalRule":return bt.hr;case"FencedCode":return Zo(n,k).language==="mermaid"?bt.table:bt.paragraph;default:return bt.paragraph}},P=-1,$=k=>{let w=n.doc.lineAt(k.from);w.number===1||w.from<=P||S(k.from).count===0&&p(n.doc.line(w.number-1).from,uv(x(k)))},Z=k=>{let w=S(k.from);if(w.count===0)return;let z=n.doc.line(w.line.number-1);if(w.first===1){p(z.from,wo(bt.blankGap+x(k)));return}let F=x(k),y=bt.blankGap+F;p(z.from,wo(y))},_=0,W=[],T=[],C=new Map;for(let{from:k,to:w}of i.visibleRanges){let z=null;G(n).iterate({from:k,to:w,enter:y=>{_++;let j=y.name;if(_===2&&j==="Document"&&(z=_),z!=null&&_===z+1&&fv.has(j)&&(Z(y),$(y)),j==="Frontmatter"){let X=y.to>y.from&&n.doc.lineAt(y.to).from===y.to?y.to-1:y.to;P=X,b(y.from,X,Av),p(y.from,Zv),p(n.doc.lineAt(X).from,Ev);return}if(j==="DashLine"){t.push(qv.range(y.from,y.to));return}let ye=j.match(/^ATXHeading(\d)$/);if(ye){p(y.from,qh[+ye[1]]),S(y.from).count>0&&p(y.from,Wg),h(y.from)||p(y.from,cv);return}let rt=j.match(/^SetextHeading(\d)$/);if(rt){p(y.from,qh[+rt[1]]),S(y.from).count>0&&p(y.from,Wg);return}if(j==="HeaderMark"){let X=y.node.parent;if(X&&/^ATXHeading/.test(X.name)){t.push(wv.range(y.from,y.to));let B=n.doc.sliceString(y.to,y.to+1),N=y.to+(B===" "?1:0),U=y.from===X.from,ae=n.doc.lineAt(y.from),re=U&&/^ {0,3}$/.test(n.doc.sliceString(ae.from,y.from))?ae.from:y.from;U&&t.push(xv.range(re,N)),h(y.from)||t.push(kv.range(re,N))}else X&&/^SetextHeading/.test(X.name)&&(p(y.from,Pv),t.push(vv.range(y.from,y.to)));return}if(j==="Blockquote"){T.push(y.from);let X=n.doc.lineAt(y.from),B=y.node.parent?.name==="Blockquote",N=y.node.prevSibling;for(;N?.name==="QuoteMark";)N=N.prevSibling;let U=B&&N?bt.quote:0,ae=y.from;for(;ae<=y.to;){let re=n.doc.lineAt(ae),$e=C.get(re.from)||{depth:0,starts:0,ends:0,gap:0};if($e.depth=Math.max($e.depth,T.length),re.from===X.from&&($e.starts++,$e.gap+=U),re.to>=y.to&&$e.ends++,C.set(re.from,$e),re.to>=y.to)break;ae=re.to+1}return}if(j==="QuoteMark"){if(!h(y.from)){let X=n.doc.sliceString(y.to,y.to+1);t.push(Ne.range(y.from,y.to+(X===" "?1:0)))}return}if(j==="Paragraph"&&/^(Blockquote|ListItem)$/.test(y.node.parent?.name||"")){let X=n.doc.lineAt(y.from);if(X.number>n.doc.lineAt(y.node.parent.from).number){let B=n.doc.line(X.number-1);/^(?:[ >]*)$/.test(B.text)&&p(B.from,wo(bt.paragraph))}}if(j==="Escape"&&!c(y.from,y.to)){t.push(Ne.range(y.from,y.from+1));return}if(j==="StrongEmphasis"){t.push(Cv.range(y.from,y.to));return}if(j==="Emphasis"){t.push(Xv.range(y.from,y.to));return}if(j==="Strikethrough"){t.push(_v.range(y.from,y.to));return}if(j==="Highlight"){let X=[];for(let U=y.node.firstChild;U;U=U.nextSibling)U.name==="HighlightMark"&&X.push(U);let B=X.length?X[0].to:y.from,N=X.length>1?X[X.length-1].from:y.to;B1?X[X.length-1].from:y.to;B")?B.slice(1,-1):B;if(!N||N.startsWith("//"))return!1;let U=y.from+2;for(let re=y.node.firstChild;re;re=re.nextSibling)if(re.name==="LinkMark"&&n.doc.sliceString(re.from,re.to)==="]"){U=re.from;break}let ae=n.doc.sliceString(y.from+2,U);if(!c(y.from,y.to)){let re=n.doc.lineAt(y.from);re.text.trim()===n.doc.sliceString(y.from,y.to)&&p(re.from,hv),t.push(R.replace({widget:new _h(N,ae,n.doc.sliceString(y.from,y.to),y.from,y.to)}).range(y.from,y.to))}return!1}if(j==="Link"){y.node.getChild("URL")&&t.push($v.range(y.from,y.to));return}if(j==="LinkMark"){let X=y.node.parent;X&&X.name==="Link"&&X.getChild("URL")&&!c(X.from,X.to)&&t.push(Ne.range(y.from,y.to));return}if(j==="URL"){let X=y.node.parent;X&&X.name==="Link"&&(c(X.from,X.to)?t.push(Tv.range(y.from,y.to)):t.push(Ne.range(y.from,y.to)));return}if(j==="BulletList"||j==="OrderedList"){W.push(y.from);return}if(j==="ListItem"){let X=y.from===W[W.length-1],B=W.length>1,N=n.doc.lineAt(y.from),U=c(N.from,y.to)&&N.number>1&&n.doc.line(N.number-1).text.trim()==="";if(!X&&!U){let Ae=N.number-1;for(;Ae>0&&n.doc.line(Ae).text.trim()==="";)p(n.doc.line(Ae).from,wo(0)),Ae--}if((!X||B)&&!U&&p(y.from,Ug),b(y.from,y.to,Po),/^[ \t]*[-+*][ \t]+\[[xX]\](?:[ \t]|$)/.test(n.doc.sliceString(y.from,N.to))){let Ae=y.from;for(let Fe=y.node.firstChild;Fe;Fe=Fe.nextSibling)Fe.name!=="BulletList"&&Fe.name!=="OrderedList"||(b(Ae,n.doc.lineAt(Fe.from).from-1,Th),Ae=n.doc.lineAt(Fe.to).to+1);b(Ae,y.to,Th)}p(y.from,Ch(W.length)),m.add(n.doc.lineAt(y.from).from);{let Fe=n.doc.lineAt(y.from).to+1;for(;Fe<=y.to;){let st=n.doc.lineAt(Fe),H=st.text;if(H.length>0&&!En.test(H)){p(st.from,dv),p(st.from,Ch(W.length));let Lt=H.match(/^[ \t]+/);Lt&&t.push(Ne.range(st.from,st.from+Lt[0].length))}if(st.to>=y.to)break;Fe=st.to+1}}let ae=n.doc.lineAt(y.from),$e=ae.text.match(En)?.[1]??"";$e.length>0&&t.push(Ne.range(ae.from,ae.from+$e.length));return}if(j==="ListMark"){let X=n.doc.sliceString(y.from,y.to),B=n.doc.lineAt(y.from),N=/^\s*\[[ xX]\](\s|$)/.test(B.text.slice(y.to-B.from));if(N&&/^[-+*]$/.test(X)){let U=B.text.slice(y.to-B.from).match(/^[ \t]*\[([ xX])\][ \t]?/),ae=y.to+U[0].indexOf("[");if(u(ae))return;p(B.from,Ig),t.push(R.replace({widget:new Ao(ae+1,U[1]!==" ")}).range(y.from,y.to+U[0].length))}else if((X==="-"||X==="*"||X==="+")&&!N){let U=n.doc.sliceString(y.to,y.to+1);h(y.from)?(t.push(Lg.range(y.from,y.to)),U===" "&&t.push(Ne.range(y.to,y.to+1))):t.push(zg.range(y.from,y.to+(U===" "?1:0)))}else if(/^\d+[.)]$/.test(X)&&!N){let U=n.doc.sliceString(y.to,y.to+1);h(y.from)?(t.push(rv.range(y.from,y.to)),U===" "&&t.push(Ne.range(y.to,y.to+1))):t.push(nv(X).range(y.from,y.to+(U===" "?1:0)))}return}if(j==="FencedCode"||j==="CodeBlock"){let X=n.doc.lineAt(y.from),B=n.doc.lineAt(y.to),N=j==="FencedCode"&&y.node.lastChild?.name==="CodeMark",U=B.number-X.number>=(N?2:1),ae=j==="FencedCode"&&!h(X.from),re=N&&!h(B.from),$e=ae&&U?n.doc.line(X.number+1):X,Ae=U?$e:X,Fe=!U&&j==="FencedCode"?X:re?n.doc.line(B.number-1):B;if(j==="FencedCode"){let H=Zo(n,y);if(H.detectedLanguage)for(let Lt of Vv(H,e))t.push(Lt.mark.range(H.sourceFrom+Lt.from,H.sourceFrom+Lt.to));t.push(R.widget({widget:new _o({wrapped:n.field(qn).has(X.from),fenceFrom:y.from,language:H.language,detectedLanguage:H.detectedLanguage,rawInfo:H.rawInfo,infoFrom:H.infoFrom,infoTo:H.infoTo}),side:-1}).range(Ae.from))}else t.push(R.widget({widget:new _o({fenceFrom:X.from,language:"text",rawInfo:"",plain:!0,wrapped:n.field(qn).has(X.from)}),side:-1}).range(Ae.from));let st=y.from;for(;st<=y.to;){let H=n.doc.lineAt(st),Lt=j==="CodeBlock"&&O.has(`${Po.spec.class}@${H.from}`)?H.text.match(En):null;if(Lt){if(Q(H,Lt),H.to>=y.to)break;st=H.to+1;continue}let Ih=j==="FencedCode"&&H.from===Ae.from;if((ae&&H.from===X.from||re&&H.from===B.from)&&!Ih)p(H.from,jg);else if(j==="FencedCode"&&!U&&H.from!==X.from&&!Ih)p(H.from,jg);else{let Mn=H.from===$e.from,Bh=H.from===Fe.from;Mn&&p(H.from,mv),Bh&&p(H.from,gv),!Mn&&!Bh&&p(H.from,pv),t.push(R.line({attributes:{"data-code-scroll-group":String(X.from),class:n.field(qn).has(X.from)?"cm-md-code-wrapped":""}}).range(H.from)),H.length&&t.push(Qv.range(H.from,H.to))}if(j==="CodeBlock"&&!h(H.from)){let Mn=H.text.match(/^(?: {4}|\t)/)?.[0];Mn&&t.push(Ne.range(H.from,H.from+Mn.length))}if(H.to>=y.to)break;st=H.to+1}return}if(j==="CodeInfo"){let X=y.node.parent;if(!X)return;h(X.from)&&t.push(Sv.range(y.from,y.to));return}if(j==="Table"){b(y.from,y.to,bv);return}if(j==="HorizontalRule"){h(y.from)||(p(y.from,ov),t.push(sv.range(y.from,y.to)));return}},leave:y=>{_--;let j=y.name;(j==="BulletList"||j==="OrderedList")&&W.pop(),j==="Blockquote"&&T.pop()}});for(let[y,j]of C)p(y,Ov(j.depth,j.starts,j.ends,j.gap));C.clear();let F=k;for(;F<=w;){let y=n.doc.lineAt(F);if(O.has(`${Po.spec.class}@${y.from}`)&&!m.has(y.from)){let ye=y.text.match(En);ye&&Q(y,ye)}if(y.to>=w)break;F=y.to+1}}return R.set(t,!0)}function Lh(i){let e=i.selection.main,t=new Set,n=0;for(let r=G(i).resolveInner(e.from,1);r;r=r.parent){if(r.toi.decorations,provide:i=>q.blockWrappers.of(e=>e.plugin(i)?.codeWrappers??ci.set([]))}),Yv=Ye.fromClass(class{constructor(i){this.schedule(i)}update(i){(i.docChanged||i.selectionSet||i.viewportChanged||i.geometryChanged||i.focusChanged)&&this.schedule(i.view)}docViewUpdate(i){this.schedule(i)}schedule(i){i.requestMeasure({key:this,read(e){return Array.from(e.dom.querySelectorAll(".cm-md-heading-prefix")).map(t=>{let n=t.closest(".cm-line");return n?{line:n,width:t.getBoundingClientRect().width}:null}).filter(Boolean)},write(e){for(let{line:t,width:n}of e){let r=`${n}px`;t.style.getPropertyValue("--cm-md-heading-prefix-width")!==r&&t.style.setProperty("--cm-md-heading-prefix-width",r)}}})}});function Hg(i){let e=[],t=i.selection.main,n=(s,o)=>t.from<=o&&t.to>=s;return(Ls(i,i.doc.length,80)||G(i)).iterate({enter:s=>{let o=s.name;if(o==="FencedCode"||o==="CodeBlock"||o==="HTMLBlock")return!1;if(o!=="Paragraph")return;if(n(s.from,s.to))return!1;let a=i.doc.lineAt(s.from);for(;a.toHg(i),update:(i,e)=>e.docChanged||e.selection?Hg(e.state):i,provide:i=>q.decorations.from(i)}),n0=kn.define([{tag:[d.keyword,d.modifier,d.operatorKeyword,d.controlKeyword,d.definitionKeyword,d.moduleKeyword],class:"hl-keyword"},{tag:[d.string,d.special(d.string),d.regexp],class:"hl-string"},{tag:[d.comment,d.blockComment,d.lineComment],class:"hl-comment"},{tag:[d.number,d.integer,d.float,d.character],class:"hl-number"},{tag:[d.bool,d.atom,d.null],class:"hl-keyword"},{tag:[d.typeName,d.namespace],class:"hl-type"},{tag:[d.className,d.definition(d.typeName)],class:"hl-declaration"},{tag:[d.function(d.variableName),d.function(d.propertyName),d.macroName],class:"hl-function"},{tag:[d.propertyName,d.labelName],class:"hl-property"},{tag:d.attributeName,class:"hl-attribute"},{tag:[d.standard(d.variableName),d.standard(d.typeName)],class:"hl-builtin"},{tag:[d.meta,d.processingInstruction],class:"hl-meta"},{tag:[d.punctuation,d.operator],class:"hl-plain"}]);function zt(i){return e=>{let t=e.state.changeByRange(n=>{let{from:r,to:s}=n;for(;rr&&/\s/.test(e.state.sliceDoc(s-1,s));)s--;let o=i.length,a=e.state.sliceDoc(Math.max(0,r-o),r),l=e.state.sliceDoc(s,s+o);if(a===i&&l===i)return{changes:[{from:r-o,to:r,insert:""},{from:s,to:s+o,insert:""}],range:v.range(r-o,s-o)};let c=e.state.sliceDoc(r,s);return c.startsWith(i)&&c.endsWith(i)&&c.length>=o*2?{changes:{from:r,to:s,insert:c.slice(o,c.length-o)},range:v.range(r,s-o*2)}:{changes:{from:r,to:s,insert:i+c+i},range:v.range(r+o,s+o)}});return e.dispatch(t,{scrollIntoView:!0,userEvent:"input"}),!0}}function Yh(i,e){let t=i.selection.main,n=i.doc.lineAt(t.from).number,r=i.doc.lineAt(t.to).number,s=[];for(let o=n;o<=r;o++)s.push(i.doc.line(o));return e(s)}function Xh(i,e){return t=>{let n=Yh(t.state,r=>{let s=r.every(o=>e.test(o.text));return r.map(o=>{if(s){let a=o.text.match(e);return{from:o.from,to:o.from+a[0].length,insert:""}}return e.test(o.text)?null:{from:o.from,insert:i}}).filter(Boolean)});return n.length&&jr(t,n),!0}}function jr(i,e){let t=i.state.changes(e),n=i.state.selection.main;i.dispatch({changes:e,selection:v.range(t.mapPos(n.anchor,1),t.mapPos(n.head,1)),userEvent:"input"})}function Iv(i){let e=/^\d+\.\s/,t=Yh(i.state,n=>{let r=n.every(o=>e.test(o.text)),s=1;return n.map(o=>{if(r){let a=o.text.match(e);return{from:o.from,to:o.from+a[0].length,insert:""}}return e.test(o.text)?null:{from:o.from,insert:`${s++}. `}}).filter(Boolean)});return t.length&&jr(i,t),!0}function Mh(i){let e=i.selection.main,t=i.doc.lineAt(e.from).number,n=i.doc.lineAt(e.empty?e.to:e.to-1).number;return Array.from({length:n-t+1},(r,s)=>i.doc.line(t+s))}function r0(i){let e=/^([ \t]*(?:>[ \t]*)*)(?:([-+*]|\d+[.)])([ \t]+)(\[[ xX]\][ \t]+)?)?/.exec(i);return{prefix:e[0],indent:e[1],style:e[2]?e[4]?"task":/^\d/.test(e[2])?"ordered":"bullet":"none"}}function zn(i,e,t){for(let n=G(i).resolve(e,1);n;n=n.parent)if(t.includes(n.name))return n;return null}function s0(i){return Mh(i).filter(e=>!/^[ \t>]*$/.test(e.text)&&!zn(i,e.from+e.text.search(/\S/),["FencedCode","CodeBlock"]))}function Bv(i,e){if(!["none","bullet","ordered","task"].includes(e))return!1;let t=s0(i.state).map((n,r)=>{let s=r0(n.text);if(s.style===e)return null;let o=e==="none"?"":e==="bullet"?"- ":e==="task"?"- [ ] ":`${r+1}. `;return{from:n.from,to:n.from+s.prefix.length,insert:s.indent+o}}).filter(Boolean);return t.length&&jr(i,t),i.focus(),!0}function en(i){return e=>{let t=Yh(e.state,n=>n.map(r=>{let s=r.text.match(/^(#{1,6})\s+/),a=(s?s[1].length:0)===i||i===0?"":"#".repeat(i)+" ";return{from:r.from,to:r.from+(s?s[0].length:0),insert:a}}));return e.dispatch({changes:t,userEvent:"input"}),!0}}function o0(i){let e={InlineCode:"code",FencedCode:"fenced",CodeBlock:"plain",Blockquote:"quote",Table:"table"};for(let t=G(i).resolve(i.selection.main.head,i.selection.main.empty?1:-1);t;t=t.parent)if(e[t.name])return{style:e[t.name],node:t};return{style:"none",node:null}}function Uv(i,e,t=""){if(!["none","quote","code","plain","fenced","table"].includes(e))return!1;let n=i.state,r=n.selection.main,s=o0(n),o=s.node&&r.from>=s.node.from&&r.to<=s.node.to;if(e==="code"&&(!o||s.style==="code"))return s.style!=="code"&&zt("`")(i),i.focus(),!0;if(e==="table"){let m=zn(n,r.to,["FencedCode"]),p=m?m.to:n.doc.lineAt(r.to).to,g=(m&&m.lastChild?.name!=="CodeMark"?` `+n.sliceDoc(m.firstChild.from,m.firstChild.to):"")+` | Column 1 | Column 2 | diff --git a/scripts/editor-bundle/entry-cm.js b/scripts/editor-bundle/entry-cm.js index ec2c816f..ed657cfa 100644 --- a/scripts/editor-bundle/entry-cm.js +++ b/scripts/editor-bundle/entry-cm.js @@ -2200,11 +2200,11 @@ function buildDecorations(view, detectedCodeCache) { // list starts at its first item, so "first" is a position check. const isFirstItem = node.from === listStack[listStack.length - 1] const isNested = listStack.length > 1 - // Keep the separator while authoring a new item so typing its - // marker cannot pull the caret upward. Inactive loose lists use + // Keep the separator while editing any line of an item so moving + // to a continuation cannot pull the caret upward. Inactive loose lists use // the same compact item spacing as Read Mode. const itemLine = state.doc.lineAt(node.from) - const preserveBlankBefore = touchesLineOf(node.from) && itemLine.number > 1 + const preserveBlankBefore = touches(itemLine.from, node.to) && itemLine.number > 1 && state.doc.line(itemLine.number - 1).text.trim() === "" if (!isFirstItem && !preserveBlankBefore) { let number = itemLine.number - 1 diff --git a/tests/swift-tests/Tests/MarkdownHelpersTests/EditorFormattingTests.swift b/tests/swift-tests/Tests/MarkdownHelpersTests/EditorFormattingTests.swift index 62588fcc..5ec9a983 100644 --- a/tests/swift-tests/Tests/MarkdownHelpersTests/EditorFormattingTests.swift +++ b/tests/swift-tests/Tests/MarkdownHelpersTests/EditorFormattingTests.swift @@ -256,6 +256,32 @@ final class EditorFormattingTests: XCTestCase { } } + func testTaskSeparatorStaysStableOnContinuationLines() async throws { + let script = try TestVendor.script("md-preview/Vendor/CodeMirror/mdedit.min.js") + let source = "- [ ] First\n\n- [ ] Second\n continuation\n\n Later paragraph" + let editor = WebViewLayoutHarness(html: EditorHTML.render(markdown: source, editorJavaScript: script), + width: 650, isEditor: true, height: 500) + defer { editor.close() } + _ = try await editor.layout(texts: [], imageCount: 0) + let result = try await editor.webView.callAsyncJavaScript(""" + document.hasFocus = () => true; + const api = window.__mdEditor; + const positions = []; + api.focus(); + for (const text of ['Second', 'continuation', 'Later paragraph', 'Second']) { + api.select(api.getMarkdown().indexOf(text)); api.focus(); + for (let i = 0; i < 12; i++) { window.__layoutTestFrame(); await Promise.resolve(); } + const line = [...document.querySelectorAll('.cm-line')].find(line => line.textContent.includes('Second')); + positions.push(line.getBoundingClientRect().top); + } + return {positions, source: api.getMarkdown()}; + """, arguments: [:], in: nil, contentWorld: .page) as? [String: Any] + let positions = try XCTUnwrap(result?["positions"] as? [Double]) + XCTAssertEqual(positions.count, 4) + for position in positions { XCTAssertEqual(position, positions[0], accuracy: 0.5) } + XCTAssertEqual(result?["source"] as? String, source) + } + func testNewTaskAfterDoubleEnterKeepsBlankLineAndCaretPosition() async throws { let script = try TestVendor.script("md-preview/Vendor/CodeMirror/mdedit.min.js") let editor = WebViewLayoutHarness(html: EditorHTML.render(markdown: "- [ ] First", editorJavaScript: script),